G(p  `! O%-/1 3@5`7;=?A E`GIKMOQ OU`W[]_a c@ogikmoq s@u`wy{}/@` @ ` ` @ ` /A o ǀ ɠ @ ` ׀ ٠ /@/Oo!O   !Aa#%a')+1!3A5a79=/CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoqsowy{}/a!Aa!Aa!Aa!AaǁOaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&o'q"'sB'ub'w'y''}'("(B(b((((()")B)b)))))"*B*b*****+"+B+b+++ `! O%-/1 3@5`7;=?A E`GIKMOQ OU`W[]_a c@ogikmoq s@u`wy{}/@` @ ` ` @ ` /A o ǀ ɠ @ ` ׀ ٠ /@/Oo!O   !Aa#%a')+1!3A5a79=/CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoqsowy{}/a!Aa!Aa!Aa!AaǁOaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&o'q"'sB'ub'w'y''}'("(B(b((((()")B)b)))))"*B*b*****+"+B+b+++DIVERSE  XvPROGRAMIER XvUTILITY XvLEES DIT U3A630 TFPU_EMU 4vB& . Qfy.. QfyBJ_IBM48  XvNONSENSE  XvPSE Xv. Qfy.. QfyDRUCKER  XvMODULE  Xv. Rfy.. RfyIBM_24_1PRI €D&#IBM_24_2PRI ŀD'#IBM_24_3PRI ǀD(#IBM_24_4PRI u))IBM_48_1PRI D*. Rfy.. RfyBJ_IBM48MOD [D4BJ_IBM48S .D!BJ_IBM48SRC ,D(BJ_IBM48TXT D#V . Rfy.. RfyBAR DAT us+1DRINKS CRD }A9}'PROTOKOLTXT mED:README_1TXT qE8WITZ TXT j$C. Rfy.. RfyPSE ACC #CPSE PRG #etmPSE TXT Dl Y-README TXT ԫ#S. Rfy.. RfyDATUM Xv LOATEMUTOS nF# 6GNUSHELL Xv GFA_PTCHTOS QnF#B<PRUFZIFF XvRPMT Xv. Sfy .. SfyDATEST TOS p~MADATUM H }MDATUM TXT eaEDATUM_DRO `E6DATUM_PCO `EB MAIN C e~M. 5vB& .. FPCPEMU PDB Qj"# AUPRTKL881TXT DuPRTKL881S pD0*FPCPEMU TXT k"#;COOK_JARO i"#>COOK_JARC @q?JFPCP_LF S A1 FPCP_LF O i"#tFPCPEMU S }u*FPCPEMU PRJ yMFPCPEMU PRG i"#/FPCPEMU O i"# PBAS0)tM0) & ":8 ( h"Xv z  &Tb#b"##p#F"!#""v #^"#4#* :BP6"$$$J((@'|((j'nR(. Sfy .. SfyGNUSHELLINF MdGNUSHELLPRG MdGNUSHELLRSC MdREADME TXT Nd| 8 ( `"  ` f'X J X0D Nf$ $ 'D#($%h& F  v"Z Lh%Z&Vv V&")J'(((!'x'$ P$^N & #~ $z d  n #$ V R " '(L8!2'%>. Tfy.. TfyPR_ZIFF H  PZIFF TXT #`E> RLPZIFDRO [`E"RLPZIFPCO 5`E". Tfy.. TfyARTIKEL TXT &6AINHALT TXT Ԧ"MLEISTE IMG RPMT_DEFH % RPMT_DEMC 㦦$"RPMT_DEMPRG N#RPMT_DEMPRJ 5RPMT_EVNC  RPMT_GEMH Ɣf RPMT_INCH הjRPMT_KERC NRPMT_MAIC E RPMT_PROH ܔ RPMT_RSCH !RPMT_RSCHRD  RPMT_RSCRSC |WICHTIG TXT Z_E-. Tfy.. TfyBULLDOZE XvTAKETHIS  Xv. Tfy.. TfyBULLDOZEAPP Š"aDESKTOP CFG"Q}l. Ufy.. UfyTAKETHISGTP \f8m4TAKETHISTXT uA{m-TEST2 HRD ۀA3TEST2 RSC ڀAcTEST240 RSC ##d`&N0A NuByBByPNu3 <0Nu OH>$h~>( MB?< NA\#P#P"JyPg yP09PByP`A0<0Vm0t0@3PS@2SAQSVQJyPg#P`n0 AJfQ`JCa0@a0@a6SCGz(K|xp g QajQQRKQCaHJVn<|/9P?< NA\ L|NuByB?< NA\#Pp a/9P?< NA\Nupga`NuA"<`SkJ(f( f@|AA@AAFNu.yP"|`R .6^CBCJ0   ,, t "2fdxckQk-= 4/ KlOH!nJ@P &_} w=V%en}ISRA cgOInv#NS Y]ڔG?4);&w7Sfs c\cpȲi?vq{6/}:iJ )>ueqˉ 4 'һOf)_`"Mk  ?uKBO:[H?_?%aTf0LdCʽ$`nZwq7jOExK6[&QeaN3^JPӧۄZ5적-Ӣv U{yLvθĭUl]|q;֏ +:#9F@m,7IJR%LGa%-Ȝ^ .!r }J&M_*D[(;" tNW3 ; Externes Modul fr PAPYRUS ; druckt in vollen 360*360 dpi !!! ; entwickelt von Volker Hemsen, 03.10.1993 ; Compiler: TurboAss 1.7.6 ; Hilfsmittel: ST-Computer 2/93 (SPOOL- Direkte Druckausgabe) ; TOFFICE-Modul aus Papyrus ; Desert Drain 1.55 ; ATARI Profibuch ST-STE-TT OPT X+,F+ ;Fast-Load-Bit gesetzt OUTPUT 'D:\PAPYRUS\MODULE\BJ_IBM48.MOD' TEXT lea tabelle,A0 ;Tabelle an Papyrus melden move.l A0,D0 rts init1: clr.w bufferw clr.l buffer clr.w bufflength rts init2: move.w #1,bufferw move.l #48,D0 rts output: movea.l SP,A0 movem.l D3-D7/A2-A6,-(SP) ;Register retten movea.l 4(A0),A2 ;Buffer moveq #0,D7 move.w 12(A0),D7 ;d7=Bytes pro Zeile lea 8(A0),A6 ;(a6).w=Anzahl der Zeilen clr.l -(SP) ;Super(0) move.w #$20,-(SP) trap #1 addq.l #6,SP move.l D0,oldstack move.l SP,startstack ;SP retten (fr Druckabbruch) ;Zeilen kopieren zeile: tst.w bufflength ;noch alte Zeilen vorhanden? beq.s cpyzlnorm movea.l buffadr,A0 ;alte Adresse holen move.w bufflength,D0 ;wieviele Zeilen brauchen wir noch? clr.w bufflength ;fr's nchste mal bra.s cpyzl3 ;und weitere Zeilen lesen cpyzlnorm: lea buffer,A0 ;volle 48 Zeilen holen move.w #48,D0 ;d0=Zeilenzhler cmp.w (A6),D0 ;ist die Zeile vollstndig da? blt.s cpyzlkl ;ja! move.w (A6),D0 ;nein, nur den Rest kopieren cpyzlkl: moveq #48,D2 ;Restzeilen merken sub.w D0,D2 move.w D2,bufflength cpyzl3: subq.w #1,D0 cpylpzl: move.w D7,D1 ;d1=Bytezhler subq.w #1,D1 cpylpbyte: move.b (A2)+,(A0)+ ;Zeilen kopieren dbra D1,cpylpbyte subq.w #1,(A6) dbra D0,cpylpzl tst.w bufflength ;alle 48 Zeilen komplett? beq.s zeileok ;ja! move.l A0,buffadr ;nein, Bufferadresse merken bra.s zeileendeok ;Hallo!,Die nchste bitte! zeileok: move.w D7,D0 ;Zeile voller Nullen? mulu #48/4,D0 ;->nur LF lea buffer,A0 zeilefullloop: tst.l (A0)+ bne.s zeilefull dbra D0,zeilefullloop bra.s linefeed zeilefull: lea data_grafik,A1 ;Grafikheader senden bsr PRNwrite move.w D7,D0 ;n1+(n2*256)=Anzahl der hor.Pixel asl.w #3,D0 ;*8 bsr PRNbyte ;n1 move.w D7,D0 asr.w #5,D0 ;*8 /256 bsr PRNbyte ;n2 move.w D7,D3 ;Zeile umwandeln und senden!!! subq.w #1,D3 lea buffer,A3 ;a3,d3: waagerechter Bytezhler hor_loop1: moveq #7,D5 ;d5: waagerechter Bitzhler hor_loop2: movea.l A3,A4 moveq #5,D6 ;d6: senkrechter Bytezhler byte_loop: moveq #7,D4 ;d4: senkrechter Bitzhler moveq #0,D0 vert_loop: btst D5,(A4) beq.s PRN_zeile_nopoint bset D4,D0 PRN_zeile_nopoint: adda.w D7,A4 dbra D4,vert_loop ;for d3=7 downto 0 bsr.s PRNbyte dbra D6,byte_loop ;for d6=2/5 downto 0 dbra D5,hor_loop2 ;for d5=7 downto 0 addq.w #1,A3 dbra D3,hor_loop1 ;for d3=breite-1 downto 0 linefeed: lea data_linefeed,A1 ;LF, oder hnlich bsr.s PRNwrite tst.w (A6) bgt zeile zeileendeok: moveq #0,D6 ;alles OK, bitte weitere Daten zeileende: move.l oldstack,-(SP) ;Super(oldstack) move.w #$20,-(SP) trap #1 addq.l #6,SP move.l D6,D0 ;Returnwert movem.l (SP)+,D3-D7/A2-A6 rts ende1: clr.w bufferw clr.l -(SP) ;Super(0) move.w #$20,-(SP) trap #1 addq.l #6,SP move.l D0,oldstack moveq #12,D0 ;FF senden bsr.s PRNbyte move.l oldstack,-(SP) ;Super(oldstack) move.w #$20,-(SP) trap #1 addq.l #6,SP ende2: rts ; nullterminierte Bytekette auf Drucker ausgeben, Zeiger in A1 PRNwrite: moveq #0,D0 PRNwriteloop: move.b (A1)+,D0 beq.s PRNwriterts ;Null->Ende bsr.s PRNbyte bra.s PRNwriteloop PRNwriterts: rts ; ein Byte an Drucker ausgeben, Datum in d0 PRNbyte: lea $FFFFFA00.w,A0 ;mfp move.l #1500000,D1 ;Ausfallschleife PRNbytebusy: subq.l #1,D1 bmi.s PRNoffline ;Druckvorgang abbrechen btst #0,1(A0) bne.s PRNbytebusy btst #0,$0D(A0) bne.s PRNbytebusy move SR,D2 ;SR retten ori #$0700,SR ;IR's ausmaskieren lea $FFFF8800.w,A0 ;gi move.b #7,(A0) ;Reg 7 des Soundchips whlen move.b (A0),D1 ;Reg 7 nach d1 bset #7,D1 ;Port B auf Ausgabe move.b D1,2(A0) move.b #15,(A0) ;Reg 15 auswhlen move.b D0,2(A0) ;d0 zum Drucker senden move.b #14,(A0) ;Reg 14 auswhlen move.b (A0),D1 ;Bit 5 des Port A bclr #5,D1 ;(Strobe) move.b D1,2(A0) ;auf low setzen bset #5,D1 ;Strobe auf high move.b D1,2(A0) ;setzen move D2,SR ;SR wieder herstellen rts PRNoffline: movea.l startstack,SP ;SP korrigieren moveq #$FF,D6 ;Fehlermeldung bra zeileende ;und raus DATA tabelle: DC.L init1 ;Tabelle fr Papyrus DC.L init2 DC.L output DC.L ende1 DC.L ende2 DC.L buffer data_grafik: DC.B $1C,$43,$42,4,4,0 ;360*360 dpi data_linefeed: DC.B $1C,$43,$4A,4,48,13,0 ;LF & CR oder hnlich BSS bufferw: DS.W 1 ;Empfnger OK buffer: DS.B 20000 ;interner Buffer fr eine Druckzeile bufflength: DS.W 1 ;soviele Zeilen werden noch gebraucht buffadr: DS.L 1 ; hier reinschreiben oldstack: DS.L 1 ;Platz fr USP startstack: DS.L 1 ;SP beim Programmstart (fr Druckabbruch) END sԀ{oWOu kX&;;EO8Z{LK.EQk:ij=#_0:ΪYرÿv* Xx⑚|"~=Au߮qOTy ˜Y=uGTlrcBl\k*"UecjWɍJFщ:&[8| v"^rDHEWUi"xGPO K͸kdJ;SꂜH=`z'#f5坟Mɘ;?D-b2WL7ۙi!nvEe?Z9,xER`uĵ,wNZM^wG$_|a+51aVL#6Pd6BG E Hf>r-2fUCI-20'O9]n-2z&ɳ]'-2%zй]n-$,BA&""y""$xw """""$"" XX"|V"^"Q^ "L""  " utsrqqp"Q "\ "v " p"}@ p,pPiPP  "i njRTSm{ @oN z&@U&WMk*An NuByoBzByUNu3o <0Nu OH>$h~>( MB?< NA\#M#kJyUg yW09UByU`Az0<0Vm0t0@3US@2SAQVSVQ|JyUg#W`0AzJfQL`Cma0@ap0@ap6SCGzz(K|xp g QraQsQtRKQuC{aJVn|/9M?< NA\ L|NuByoB?< NA\#Mp a/9M?< NA\Nupga`NuA"<`Sk(f( f@|AA@AAFNu.yk|`\CBCJ0 y!0!0! zeilefullloopoldstack.PRNbytebusyzeileendeok w}vbufflengthcpylpbytebuffadrcpyzlkl/zeileende-zeileok/7'gPRNoffline xstartstack,data_grafiktabellebufferwPRNbytePRN_zeile_nopoint vert_loopbyte_loophor_loop2hor_loop1ende1outputinit2init1bufferdata_linefeedcpylpzlende2yPRNwriteloopzeilePRNwritecpyzl3cpyzlnormD:\PAPYRUS\MODULE\BJ_IBM48.MODzeilefulllinefeedz 0PRNwriterts  0; Externes Modul fr PAPYRUS; druckt in vollen 360*360 dpi !!!; entwickelt von Volker Hemsen, 03.10.1993; Compiler: TurboAss 1.7.6; Hilfsmittel: ST-Computer 2/93 (SPOOL- Direkte Druckausgabe); TOFFICE-Modul aus Papyrus; Desert Drain 1.55; ATARI Profibuch ST-STE-TT;Fast-Load-Bit gesetzt;Tabelle an Papyrus melden;Register retten;Buffer;d7=Bytes pro Zeile;(a6).w=Anzahl der Zeilen;Super(0);SP retten (fr Druckabbruch);Zeilen kopieren;noch alte Zeilen vorhanden?;alte Adresse holen;wieviele Zeilen brauchen wir noch?;fr's nchste mal;und weitere Zeilen lesen;volle 48 Zeilen holen;d0=Zeilenzhler;ist die Zeile vollstndig da?;ja!;nein, nur den Rest kopieren;Restzeilen merken;d1=Bytezhler;Zeilen kopieren;alle 48 Zeilen komplett?;ja!;nein, Bufferadresse merken;Hallo!,Die nchste bitte!;Zeile voller Nullen?;->nur LF;Grafikheader senden;n1+(n2*256)=Anzahl der hor.Pixel;*8;n1;*8 /256;n2;Zeile umwandeln und senden!!!;a3,d3: waagerechter Bytezhler;d5: waagerechter Bitzhler;d6: senkrechter Bytezhler;d4: senkrechter Bitzhler;for d3=7 downto 0;for d6=2/5 downto 0;for d5=7 downto 0;for d3=breite-1 downto 0;LF, oder hnlich;alles OK, bitte weitere Daten;Super(oldstack);Returnwert;Super(0);FF senden;Super(oldstack); nullterminierte Bytekette auf Drucker ausgeben, Zeiger in A1;Null->Ende; ein Byte an Drucker ausgeben, Datum in d0;mfp;Ausfallschleife;Druckvorgang abbrechen;SR retten;IR's ausmaskieren;gi;Reg 7 des Soundchips whlen;Reg 7 nach d1;Port B auf Ausgabe;Reg 15 auswhlen;d0 zum Drucker senden;Reg 14 auswhlen;Bit 5 des Port A;(Strobe);auf low setzen;Strobe auf high;setzen;SR wieder herstellen;SP korrigieren;Fehlermeldung;und raus;Tabelle fr Papyrus;360*360 dpi;LF & CR oder hnlich;Empfnger OK;interner Buffer fr eine Druckzeile;soviele Zeilen werden noch gebraucht; hier reinschreiben;Platz fr USP;SP beim Programmstart (fr Druckabbruch)UAtZnV6 Q:hB#(Ҕ' Y$:~J1[."lZ_8+'W]yMm h`tzV5븚 '}|l|v^+ 8(a, > AbBgwО+i-%h'W/&>}m76dOAQ<CMɅSZ:r蒞maY.ZCa4@/+FŀE&$yFE'[Cߵ" 'Y0*c:O KCĀJ'E* Z īcq*a%>ɠ<퓂BIFmc޳BJ_IBM48.MOD - papyrus-Modul papyrus ist eine DTP-Textverarbeitung der Firma R.O.M. Dieses Modul wurde programmiert von Volker Hemsen, Oktober 1993. rechtlicher Status des Programmes: Public Domain Die Quelltexte liegen bei. Es wird hiermit ausdrcklich erlaubt, die Quelltexte fr eigene Anpassungen zu verndern. Mit diesem externen Modul ist es mglich auf einem Canon BJ 300 mit vollen 360 dpi (horizontal 360 dpi * vertikal 48 Dsen) zu drucken. Dieses ist mit den papyrus-internen Druckroutinen nicht mglich, weil diese keinen 48 Dsen-/Nadeldruck untersttzen. Eine Anfrage bei den Programmierern ergab, da sich das Erweitern wegen der geringen Ver- breitung der Bubble Jet Drucker nicht lohne. Das ist zwar sicherlich richtig, aber trotzdem nicht nett! Das Ausweichen auf 360*24 ist zwar mglich, die Fhigkeiten dieses Druckers werden aber nur sehr gering ausgenutzt, und warum die Hlfte, wenn man alles haben kann? Glcklicherweise besitzt papyrus die Mglichkeit die Grafikdaten ber einen externen Treiber auszugeben. Dieses wird benutzt, um aus papyrus heraus zu faxen, weiteres lesen Sie bitte im Handbuch nach. Dieses Modul wird also installiert wie ein Faxtreiber! Technische Daten: - BJ-Drucker mu im Emulationsmodus 1 sein (IBM kompatibel) - Druck immer im 360*48 Grafikmodus - Der interne Zeilenspeicher reicht fr maximal eine Zeile auf einem Blatt im Format DIN A4 hochkant. (3000 Pixel * 48 / 8 20 kB) - direkte Ausgabe auf die parallele Schnittstelle des ST/STE Dies ist zwar unsauber, aber enorm schnell! - getestet mit ATARI MEGA STE und Canon BJ 300 Interne Vorgnge fr Insider (oder alle die sich dafr halten): Die Module haben das normale GEMDOS-Programmdateiformat. Sie werden geladen und als Unterprogramm angesprungen. Die erste Routine (Ende mit rts) liefert den Zeiger auf eine Tabelle mit den Adressen fnf weiterer Routinen zurck. Zur Ausgabe werden nun die ersten beiden Unterprogramme zur Initialisierung aufgrufen, die dritte Routine ist zur Ausgabe der Grafikdaten da und wird beliebig oft aufgerufen. Die Parameterbergabe lautet: 4(SP).L=Zeiger auf Grafikdaten, 8(SP).W=Anzahl der Zeilen, 12(SP).W=Anzahl der Bytes pro Zeile. Der Rckgabewert in D0 enthlt evtl. einen Fehlercode (0=alles OK, $FF=Halt). Die letzten beiden Routinen dienen zur Abmeldung. Alles weitere ist unwichtig. Diese Angaben sind sicherlich unvollstndig. Ich habe sie durch Disassemblieren der beiliegenden Treiber und sinnvolles Raten heraus- gefunden. Falls noch Fragen offen sind. Schreiben Sie bitte an: Volker Hemsen Gremskampstrae 3 23714 Malente ~{$PGʞлeg,ˎ~V2orđ%qK/)WT#vis=s.`qI7l{xjm˯? Ί {[Bvlzێ+Eˏw O?9i0Muѱk[*N84JkܰNmꢋo.O]+7zss; >ۆKW\$5/+?rNgꢳ"_R6+$ٯ߽ߛ3M1]sꌯ>\w d-'k촌BĺG:byӭݿ_'= gbw]ml~?9誢o,)aWϗJ~n<h|o,څ[T52PPRI*hh hx F 360x360 dpiCANON BJ - IBM,Canon BJ mit IBM-Emulation (Dip 1=ON & 2=ON) IBM_24_1.PRICAN CRFFFS C J &4 (n) CRESC d (n1) (n2)FS C B &0 &4 (n1) (n2)CRESC r 0ESC r 1ESC r 2ESC r 3ESC r 4ESC r 5ESC r 6ESC r 7CAN CRFFbVMo HQ4v؉XDfiXFhS``Iv+lGksco/̓A]^Qx~hOcF gc$p{3Wb`͗s\i$gRW zjdPqs0nhd\eJaBث6iK=ZipE+"mֻY\#>hERVB.t( sģV칻 ( Lrc5.Cc4EoGCtNvfJ"ŗ*謊r%hH8Dm0xRqEh%:~=XT4i<>QODm&eTqn;V8-;|laS !\Ǽ+!&YYj=9Y죤/r9Id[>^<c>f/sDo#R"V4Ag0.3F߉SZgn'F>ms̄dJ{Cfכg!sr-a!SE:EEwC2uP;_ aLj ]ZDUԁE7C:qn`襚9eF|b07p2zﺳc+Bz%5% D܅PRob5%2_ 8[K푖LF&^irHFle꡻ɔn鵪4~xʴwKtbΑ=_Uk d"CPPRI*h hx ,F 360x180 dpiCANON BJ - IBM,Canon BJ mit IBM-Emulation (Dip 1=ON & 2=ON) IBM_24_2.PRICAN CRFFFS C J &4 (n) CRESC d (n1) (n2)FS C B &0 &4 (n1) (n2)CRESC r 0ESC r 1ESC r 2ESC r 3ESC r 4ESC r 5ESC r 6ESC r 7CAN CRFF E4ЧVMP/H* Y9xs_?F0ɇxX\J6Êiy >4GWdԕ槚̈́Zv'Va~ĞU;ӌpB$(W팺k09Q8! VD>:t<{QER8\yk ;(SfLw% qu_EyB],lυmӝO%gW\??01JU^$Iю neѬ'#3 ZpďDf$61qڄOWhAY[ WD{rPPRI* x ,F 180x180 dpiCANON BJ - IBM,Canon BJ mit IBM-Emulation (Dip 1=ON & 2=ON) IBM_24_3.PRICAN CRFFFS C J &0 (n) CRESC d (n1) (n2)FS C B &0 &0 (n1) (n2)CRESC r 0ESC r 1ESC r 2ESC r 3ESC r 4ESC r 5ESC r 6ESC r 7CAN CRFF9$Lm0.LsSJs<é' 9mIpaܜmruẹƀUgaNL4B;1g1sӔ>/] &$:0a pe7 =$M r.tOFٝxHC0Յ{qu\W0)' [ x#|p -lAk4sWjacpe;_I޶~k KLg+eSZk1= LB,Po(aI>ixaz#JMMQMem&b/LcnRVǼZWBGH17#mkv)Wғ &u%,bNЯxJ#s@?ĔX܉swF! fM ,Z*t溘 * xIBleFLIug~0hJě3N(`ԍ_ 6(L]( #lFI DWl"?B-!KW 6c~/6#VƆEi)B_%gWLlzZ]Pm,0jw.cNcSDaYB GkÃ" b8-;s 86koW0hގ@-AF.c}-eYQBꉙ$ƮoNf엶؁у7evXui$g=Lb>=,9UYd qer}*ܜ n4%]}cַ~hǡvqn %' Rlk0?V4ad lW|ʭSX'7 ܞ΍ 7ɘYp7pꮽ&+- {khyx}w &BWo oATh~EΩf9R[(|q\z}O[qDzf))>zag\q]{FS=h):U26ƕ?pQH]Ha#7@h0 7H`~Ri=R0&dv}0c 1w'h1*͙Xb2gL0O8SuPj&)ENq=)_эLAX pCYn & 7*k N!|0 Dm6Ml4'#pٿraLW7'P"a,KWˡGYvcso$0ŕs fPPRI*hh hh M360 dpi - externCANON BJ - IBMmit externem Treiber IBM_48_1.PRI BJ_IBM48.MODYl֥[aɦдlL(7KUřWMF3CmF3f.6u %>5١RQ0^H/\WƗ~XaŷN8fAj]P+Xl$W:wQ}XOzA< 5`LnB Nm B؍Q%XY 5@,coz36u@_q<"f$Inp `|sax]>)KR7=U*~RRwDYfIc:$rɱЁb>~X׸RLOi4)w!*ppR%ǬMLqiaN$ +=+7D 䰒=Vh\r >čHWo`,d )Ćѵ5ʾ8Se2Nǡ%5Wtˎt #(FC2XJC%Wc9̘?Cv~aղ>樑7g9Iy! fG_'nI) l^5"1 Bloody Mary" "4 cl Wodka" "1 cl Zitronensaft" "10 cl Tomatensaft" "Tabasco" "Worcestersauce" "Pfeffer" "" "" "Alle Zutaten im Shaker krftig schtteln." "In ein Longdrinkglas abseihen." "" "Plutige Sache... (Igitt..)" 9 0 "1 Fancy Campari" "4 cl Campari" "2 cl Wodka" "2 dashes Angostura" "Eis" "" "" "" "" "Alles in den Shaker und schtteln." "In ein Cocktailglas abseihen." "" "Prchtig.... (Aperitif)" 4 6 "1 French 76 " "3 cl Wodka" "1 cl Zitronensaft" "1 TL Grenandine" "Champagner" "" "" "" "" "Wodka, Saft und Grenandine im Shaker" "gut schtteln. In ein Champagnerglas" "abseihen und mit Champus fllen." "Prrffrgg.... (naja..)" 0 6 "1 Rainy Morn" "1 cl Pernod" "2 cl Sherry" "3 cl Gin" "" "" "" "" "" "Alles mit Eis verrhren und dann trinken" "" "" "Schmeckt grauenhaft." 2 7 "1 Red Kiss" "2 cl Cherry Brandy" "2 cl Brauner Rum" "2 cl Ananassaft" "Sekt" "" "" "" "" "Zutaten ohne Sekt mit Eis shaken." "In eine Sektschale abseihen und mit Sekt" "fllen." "Kawumm" 3 7 "2 American Beauty " "2 cl Cognac" "1 cl Vermouth dry" "1 cl Vermouth Rosso" "0,5 cl Creme de menthe" "2 cl Orangensaft" "etwas Portwein" "" "" "Alles ausser Portwein im Shaker mit" "Eis schtteln. In einen Tumbler abseihen" "Langsam Portwein dazugeben." "Prost... (Aperitif)" 6 7 "2 Bete Noire" "2 cl Portwein" "2 cl Ananassaft" "2 cl Malibu" "Sekt" "" "" "" "- LL 1990 -" "Die Zutaten im Shaker vermischen." "In ein Glas abseihen und mit ein wenig" "Sekt auffllen." "" 6 6 "2 Brighton Punch" "2 cl Benedictine" "2 cl Bourbon Whisky" "2 cl Cognac" "6 cl Orange Juice" "2 cl Zitronensaft" "Sodawasser" "" "" "Zutaten ohne Sodawasser mit Eis shaken" "und in Longdrinkglas auf Eis abseien." "Zitronen-und Orangenscheibe zugeben." "Uffff... " 6 6 "2 Campari Flip" "4 cl Campari" "1 cl Gin" "4 cl Orangensaft" "1 Eigelb" "" "" "" "" "Alles mit ein paar Eiswrfeln im Shaker" "kurz und krftig schtteln, danach in" "die Cocktailschale abseihen." "Prsterli...... (Camparig)" 4 2 "2 Canadian Sour" "5 cl Canadian Whisky" "3 cl Zitronensaft" "1-2 cl Zuckersirup" "" "" "" "" "" "Zutaten mit Eis shaken und in ein Stielglas" "abseien. Mit Orangenscheiben und " "Cocktailkirschen garnieren." "Tja...?!" 1 7 "2 Kiwi Queen" "4 cl Kiwi-Wonder" "2 cl Wodka" "Orangensaft" "" "" "" "" "" "Kiwi und Wodka auf Eis ins Glas geben." "Mit Orangensaft auffllen." "" "Wei Keiner" 6 0 "2 Nicola" "1 dash Grenadine" "2 cl Sahne" "2 cl Creme de Cacao br." "2 cl Amaretto" "" "" "" "" "In die Schale die Grenadine geben." "Den Rest im Shaker zubereiten und " "vorsichtig auf die Grenadine gieen." "Prima... (Sehr herb )" 4 7 "2 Night in blue" "4 cl Batida de Coco" "2 cl Curacao Blue" "8 cl Ananassaft" "Eis" "" "" "" "" "Alles mit Eis im Shaker gut schtteln." "" "" "Pr... " 9 1 "2 Paradise" "4 cl Gin" "2 cl Apricot Brandy" "4 cl Orangensaft" "" "" "" "" "" "Alles im Shaker mit Eis shaken. In eine" "Schale abseihen." "" "Hlt nicht, was der Name verspricht." 4 7 "2 Red Lion" "3 cl Grand Marnier" "3 cl Gin" "2 cl Zitronensaft" "2 cl Orange Juice" "" "" "" "" "Zutaten mit Eis shaken und in ein Stielglas" "abseien. " "" "NaJa!" 1 7 "2 Rolls-Royce" "2 cl Gin" "2 cl Vermouth dry" "2 cl Vermouth Rosso" "" "" "" "" "" "Alle Zutaten verhren und in die Schale" "geben." "" "Pista... (Aperitif..)" 4 1 "2 Rusty Nail" "2 cl Drambuie" "3 cl Scotch Whisky" "" "" "" "" "" "" "Zutaten im Tumbler mit Eis verrhren." "" "" "zh (tz...)" 2 3 "2 Scotch Cherry" "4 cl Scotch" "2 cl Cherry Brandy" "2 cl Zitronensaft" "2 cl Orange Juice" "" "" "" "" "Alles mit Eis shaken und abseihen." "" "" "Besttigung fr Antialkoholiker." 1 3 "2 Sloppy Joe" "3 cl roter Port" "3 cl Cognac" "3 cl Ananassaft" "1 cl Grenadine" "1 cl Cointreau" "" "" "" "Alles mit Eis shaken und in Schale ab-" "seihen." "" "versehentlich Rheinwasser getrunken ??" 4 3 "2 Whisky Sour" "4 cl Bourbon" "3 cl Zitronensaft" "3 cl Zucker" "" "" "" "" "" "Alles in einem Shaker mit Eis shaken." "In einen Tumbler abseihen." "" "Nicht sehr begeisterungswrdig" 2 6 "2 Yellow Star" "2 cl Pernod" "2 cl Creme de Bananes" "2 cl Gin" "1 cl Mracujasirup" "8 cl Orangensaft" "Eis" "" "" "Die Zutaten im Shaker gut schtteln." "Danachin ein Longdrinkglas abseihen." "" "Probe hl... " 6 4 "3 Andalusia Cooler" "5 cl Cherry" "2 cl Cherry Brandy" "5 cl Orange-Juice" "1 cl Zitronensaft" "Bitter-Lemon" "" "" "" "Zutaten ohne Bitter Lemon in Shaker mit " "Eis schtteln. Abseien und mit Bitter" "Lemon auffllen." "wssrig (Blubber...)" 9 2 "3 Black Russian" "3 cl Wodka" "2 cl Kahlua" "Eis" "" "" "" "" "" "Zutaten im Tumbler mit Eis verrhren." "Das ist ein Blitzkiller. VORSICHT !!!" "" "Preisfrage..... ( hem...)" 6 3 "3 Blue Eyes" "3 cl Gin" "2 cl Martini bianco" "1 cl Curacao Blue" "Ginger Ale" "Orangenscheibe" "Kirsche" "Eis" "" "Gin, Martini und Curacao ber Eis in" "das Glas geben und mit Ginger Ale" "auffllen. Mit Frchten garnieren." "Prima..... (schn sffig)" 9 1 "3 Bronx" "4 cl Gin" "2 cl Vermouth Rosso" "2 cl Vermouth Dry" "3 cl Orange Juice" "" "" "" "" "Zutaten in Shaker mit Eis durcheinander-" "bringen, in eine Cocktailschale abseien." "" "Warum nicht!" 4 5 "3 Burn & Schwapp " "4 cl Sambuca" "4-5 Kaffeebohnen" "Feuer" "" "" "" "" "- LL 1990 -" "Sambuca ins Glas, dazu die Bohnen." "Pyrotechnisch entfachen, gaffen, warten, " "lschen, warten, trinken." "Notruf 110 ( liebliches Gift ) " 8 3 "3 Cherry Blossom" "2 cl Cognac" "2 cl Cherry Brandy" "1 cl Cointreau" "1 cl Grenadine" "3 cl Zitronensaft" "Eis" "" "" "Alle Zutaten mit Eis krftig schtteln." "In ein Glas abseihen." "" "Prima... (Sffig..)" 6 1 "3 Claridge" "2 cl Gin" "2 cl Martini dry" "1 cl Cointreau" "1 cl Apricot Brandy" "" "" "" "" "Zutaten gut mit Eis mischen. In ein khles" "Cocktailglas abseihen." "" "" 3 0 "3 Coconut Grove " "5 cl Malibu" "2 cl Curacao Triple Sec" "2 cl Zitronensaft" "Soda" "" "" "" "" "Malibu, Curacao und Zitronensaft shaken." "In das Glas abseihen und mit Soda auf-" "fllen." "Nix fr groovende Grufties" 6 1 "3 Golden Fizz" "6 cl Gin" "3 cl Zitronensaft" "2 cl Zuckersirup" "1 Eigelb" "Soda" "Eis" "" "" "Gin, Saft, Sirup und Ei mit Eis krftig" "shaken und in ein Longdrinkglas " "abseihen. Nachher mit Soda fllen." "Prost und Piquet... (erfrischend)" 9 8 "3 Kir Royal" "1,5 cl Creme de Cassis" "Champagner" "" "" "" "" "" "" "Creme de Cassis in eine Sektflte geben" "und mit Champagner auffllen." "" "Prosit... (Aperitif)" 0 4 "3 Mer du Sud" "4 cl Cointreau" "1 cl Curacao Blue" "4 cl Ananassaft" "Ginger Ale" "" "" "" "" "Zutaten im Shaker mit Eis Shaken. In ein" "Longdrinkglas abseihen. Mit Ginger-Ale" "auffllen. Garnieren." "Ist besser als sein Ruf." 6 5 "3 Pina Colada A" "1 cl Cocosala" "4 cl Ananassaft" "Eis " "Ananasscheibe" "Kirsche" "1/2 Cocosnuss" "" "" "Alles in der Cocosnuss verrhren." "Garnieren, servieren und trinken." "" "Problematisch... (sffig)" 9 5 "3 Porto Flip" "4 cl roter Portwein" "1 cl Cognac" "1 cl Zuckersirup" "2 cl Sahne" "1 Eigelb" "" "" "" "Zutaten mit Eis im Shaker krftig schtteln." "In das Glas abseihen und mit Muskatnus" "bestreuen." "Prr...." 1 4 "3 Sarabande" "4 cl Gin" "4 cl Creme de Cacao" "8 cl Orangensaft" "4 cl Sahne" "1 Eiwei" "" "" "" "Mit Eis krftig shaken und in ein Long-" "drinkglas abseihen. Mit Schokostreuseln" "bestreuen." "Pr..." 6 5 "3 Saxonia" "4 cl Gin" "2 cl Apricot Brandy" "1 cl Grenadine" "2 cl Zitronensaft" "6 cl Orangensaft" "Eis" "" "" "Alles im Shaker mit Eis gut schtteln." "Danachin das Glas geben." "" "Prchtig... (Herblich)" 9 1 "3 Scotch Apple" "4 cl Scotch" "2 cl Calvados" "2 cl Zitronensaft" "1 cl Zuckersirup" "" "" "" "" "Gut mit Eis im Shaker shaken und auf" "Eis in einen Tumbler abseihen" "" "Ahjeah, heavymig bizarr" 2 6 "3 Silver Wodka Fizz" "6 cl Wodka" "3 cl Zitronensaft" "2 cl Zuckersirup" "1 Eiwei" "Soda" "" "" "" "Wodka, Saft, Sirup und Ei gut shaken." "Ins Longdrinkglas geben und mit Soda" "fllen." "Mei oh Mei..." 9 0 "3 White Russian" "3 cl Wodka" "2 cl Kaluha" "Sahne" "" "" "" "" "" "Wodka und Kaluha ins Glas und mit" "Sahnehaube bedecken." "DANGER ! Killt wie Black Russian." "Prrrrrrrr.... (Suizit geeignet..)" 6 3 "4 Frozen Daiquiri " "5 cl Rum (wei)" "3 cl Zitronensaft" "2 cl Zuckersirup" "4 Eiswrfel" "" "" "" "" "Alles in einem Mixer mixen und alles in" "eine Schale geben." "" "erfrischend khl und khl erfrischend" 4 1 "4 Golden Copacabana " "4 cl Batida de Coco" "2 cl Wodka" "8 cl Maracujasaft" "roter Zucker " "Eis" "" "" "" "Alles im Shaker vermengen und in ein" "Longdrinkglas abseihen. Mit dem roten " "Zucker fabriziert man einen Rand um's " "Glas. Holli sagt megablastig !!!" 6 5 "4 Grass Skirt" "4 cl Malibu" "2 cl Rum weiss" "4 cl Ananassaft" "2 cl Zitronensaft" "" "" "" "" "Zutaten mit Eis im Shaker krftig " "schtteln und in eine Cocktailschale" "abseihen." "Glubberdiglibsch" 4 1 "4 Holiday Egg Nogg" "4 cl Bourbon" "2 cl Rum weiss" "1 cl Zuckersirup" "4 cl Milch" "1 Ei" "Muskatnus" "" "" "Alles mit Eis krftig shaken. Dann ins" "Glas seihen und Muskatnus hinzugeben." "" "Prrrrr... (ich wollte nur ***)" 9 3 "4 James Bond" "4 cl Wodka" "1 dash Angostura" "Champagner" "" "" "" "" "" "Wodka und Angostura in einer Sekt-" "schale verrhren und mit Champus " "auffllen." "Prrrrr....... (herb...)" 4 7 "4 Lady-Killer" "1 cl Apricot Brandy" "1 cl Curacao Triple sec" "3 cl Gin" "6 cl Maracujasaft" "6 cl Ananassaft" "Eis" "" "" "Alles im Shaker gut Schtteln und dann" "in das Glas geben." "" "Prims... (sehr sffig )" 9 1 "4 Looking at You" "3 cl Sambuca" "2 cl weier Rum" "1 cl brauner Rum" "10 cl Orangensaft" "Eis" "" "" "" "Zutaten gut shaken und auf jede Menge" "Crash-Eis geben, dann heben." "" "Ist ganz kstlich" 6 1 "4 Manetti" "2 cl Calvados" "2 cl Gin" "2 cl Curacao Triple Sec" "1 cl Grenadine" "1 cl Zitronensaft" "4 cl Sahne" "" "" "Alles mit Eis shaken unnd abseihen." "Nix isses mit Dekoration." "" "Ah....Ja" 4 4 "4 Mango Cooler" "4 cl Wodka" "2 cl Cointreau" "4 cl Orange Juice" "2 cl Zitronensaft" "8 cl Mangosaft" "oder 4cl Mango-Sirup" "" "" "Alles mit Eis shaken und auf Eis abseihen." "Drink unter Frchten verstecken." "" "Nett." 9 1 "4 Old Fashioned" "1 dash Angostura" "5 cl Bourbon Whiskey" "Soda" "Eis" "" "" "" "" "Alles nacheinander in den Tumbler " "geben." "" "Prrr... (LL)" 2 2 "4 Silver Fizz" "6 cl Gin" "3 cl Zitronensaft" "2 cl Zuckersirup" "1 Eiwei" "Soda" "Eis" "" "" "Gin, Saft, Ei und Sirup im Shaker mit" "Eis krftig schtteln. Danachin ein Glas " "mit Eis geben und mit Soda fllen." "Prosit..... (kstlich)" 9 5 "4 Tom Collins" "5 cl Gin" "3 cl Zitronensaft" "2 cl Zuckersirup" "Sodawasser" "" "" "" "" "Zutaten -auer Sodawasser- im Shaker " "mit Eis gut schtteln. In ein Longdrinkglas " "auf Eis abseihen, mit Sodawasser fllen." "munter (roaaarrrrrr...)" 9 1 "4 Wodka-Lemon" "12 cl Wodka" "Bitter Lemon" "" "" "" "" "" "- LL 1990 -" "Eis ins Glas purzeln lassen. Wodka dazu" "und mit Lemon die Luft aus dem Glas" "lassen." "einfach delikat (akdowmig lemonig)" 9 5 "5 Ferrari Cocktail" "2 cl Amaretto" "4 cl Vermouth dry" "1 Zitronenschale" "Eis" "" "" "" "" "Zutaten in ein Glas geben und die" "abgeriebene Schale von 1/2 Zitrone" "mit Eis verrhren und in Schale abseihen." "Prima... (einfach kstlich...)" 4 1 "5 Gin Cooler" "5 cl Gin" "1 cl Zuckersirup " "4 cl Zitronensaft" "Ginger-Ale" "mind. 5 Eiswrfel " "1 Orangenschale" "" "" "Eis crashen und in Shaker geben. Zutaten" "hinzugeben und shaken. Auf Crash-Eis" "in Tumbler abseihen; mit Ginger fllen." "Bitte meeeeeeeeeeeeeeeeehr davon." 2 1 "5 Gin Tonic" "12 cl Gin" "Tonic Water" "" "" "" "" "" "- LL 1990 -" "Eis ins Glas, Gin dazu und mit Tonic" "auffllen. KEINEN PLATZ MIT KIRSCHEN" "VERGEUDEN !!!!" "Megablastig sffig. ( echt bitmig )" 9 1 mc0pqȩ( $SևftQ#Wtl6>9x+be La'yl^-5IC&{!oc*Psq7P-Die beiliegende Bar-Datei enthlt einige Drinks, die samt und sonders von uns getestet worden sind. Damit der geneigte Leser in etwa die Umstnde einer Testsiztung erfassen kann wurde die Datei 'README.TXT' beigelegt. In dieser Datei sind die Testsitzungen protokolliert worden. -Daher auch die etwas merkwrdige Rechtschreibung- Ich habe die Datei 'naturbelassen' ( selber trinken, dann lesen und sofort wird alles klar.) PS : Anbei auch eine Datei in MS-DOS-Format fr den dortigen Einsatz im WINDOWS-Programm 'Karteikasten'. Fr alle diejenigen, die neidisch auf das BAR-Programm von Roland Fricke schauen mssen und selbst nur ein paar lcherliche Farbspielchen haben. Ralph Lanfermann Nordstr. 48 52146 Wrselen uڨd#I_ndp\hσmv?&k梚ḸNU%p Fw`G]}/l՜}9oxwyG,$;p*|_=׻{ I [,sQbޚZL!Yxd_y\gהk=" Y^|?aq hA6fV\VOiiMGC: 1* Bloody Mary< 1* Fancy Campari 1* French 76u 1* Rainy Morn 1* Red Kissn2* American BeautyN2* Bete Noir -LL-2* Brighton PunchU2* Campari Flip2* Canadian SourS2* Kiwi Queenur2* Nicolaeenur}2* Night in Blue2* ParadiseBlue@2* Red LionBlue2* Rolls-Roycee2* Rusty NaileR2* Scotch Cherry2* Sloppy Joery/2* Walk'n'water2* Whisky Soury2* Yellow Starye3* Andalusia Cooler3* Black RussianerA3* Blue Eyesianer3* Bronxyesianer]3* Burn und Schwapp -LL-3* Cherry Blossomp -LL-N3* Claridgeossomp -LL-3* Coconut Groovep -LL-.3* Golden Fizzvep -LL-3* Kir Royalzvep -LL-3* Looking at you3* Mer du Sudvep -LL-3* Pina Colada Ap -LL-t3* Porto Flip Ap -LL-3* Sarabande Ap -LL-3* Saxoniae Ap -LL- 3* Scotch Applep -LL-m3* Silver Wodka Fizz-LL-3* White Russianizz-LL-P4* Frozen Daiquiriz-LL-4* Golden Copacabana-LL-p 4* Grass Skirtabana-LL- 4* Holiday Egg Nogg-LL-Z!4* James Bond Nogg-LL-!4* Lady-KillerNogg-LL-O"4* ManettilerNogg-LL-"4* Mango Coolerogg-LL-7#4* Old Fashionedgg-LL-#4* Silver Fizzdgg-LL- $4* Tom Collinsdgg-LL-~$4* Wodka-A -LL-LL--LL-$4* Wodka-Lemon -LL--LL-+%5* Ferrari Cocktail-LL-%5* Gin Coolerktail-LL-F&5* Gin-Tonic-Panic -LL-&5* Mai Taik4 cl Wodka 1 cl Zitronensaft 10 cl Tomatensaft Tabasco Worcestersouce Pfeffer Longdrinkglas4 cl Campari 2 cl Wodka 2 dashes Angostura Eis Alles im Shaker schtteln und in eine Cocktailschale abseihen. Prchtig Cocktailschale3 cl Wodka 1 cl Zitronensaft 1 TL Grenadine Champagner Wodka, Saft u. Grenadine shaken, in Champagnerglas abseihen und mit Champus auffllen. Champagnerglasg1 cl Pernod 2 cl Sherry 3 cl Gin Alles mit Eis verrhren und dann trinken Whisky-Becher2 cl Cherry Brandy 2 cl Brauner Rum 2 cl Ananassaft Sekt Zutaten ohne Sekt shaken, in Sektschale geben und mit Sekt auffllen. Sektschale2 cl Cognac 1 cl Vermouth dry 1 cl Vermouth Rosso 0,5 cl Creme de menthe 2 cl Orangensaft etwas Portwein Alles auer Portwein shaken, abseihen und Portwein hinzufgen. Tumblerk2 cl Portwein 2 cl Ananassaft 2 cl Malibu Sekt Zutaten shaken und mit Sekt auffllen Tumbler2 cl Benedictine 2 cl Bourbon Whisky 2 cl Cognac 6 cl Orangensaft 2 cl Zitronensaft Sodawasser Shaken uns Soda hinzugeben Longdrinkglasb4 cl Campari 1 cl Gin 4 cl Orangensaft 1 Eigelb Alles krftig shaken Cocktailschale5 cl Canadian Whiskey 3 cl Zitronensaft 1-2 cl Zuckersirup Alles shaken. Mit Orangenscheiben und Cocktailkirschen garnieren Stielglasx4 cl Kiwi-Wonder 2 cl Wodka Orangensaft Kiwi und Wodka ins Glas geben, mit O-Saft auffllen Longdrinkglas2 cl Amaretto 2 cl Creme de Cacao br. 2 cl Sahne 1 dash Grenadine Grenadine in eine Schale geben. Den Rest nach shaken vorsichtig hinzugeben. Cocktailschalec4 cl Batida de Coco 2 cl Curacao Blue 8 cl Ananassaft Eis Alles shaken LongdrinkglasX4 cl Gin 2 cl Apricot Brandy 4 cl O-Saft Alles gut shaken Cocktailschale_3 cl Grand Marnier 3 cl Gin 2 cl Zitronensaft 2 cl O-Saft Alles shaken Stielglas]2 cl Gin 2 cl Vermouth dry 2 cl Vermouth rosso Alles verrhren CocktailschaleJ2 cl Drambuie 2 cl Scotch Whisky Alles verrhren. Tumblerc4 cl Scotch 2 cl Cherry Brandy 2 cl Zitronensaft 2 cl O-Saft Alles shaken. Stielglasr3 cl roter Portwein 3 cl Cognac 3 cl Ananassaft 1 cl Grenadine 1 cl Cointreau Alles shaken Stielglas i4 cl Wodka 2 cl Martini rosso 1 cl Grapefruit juice mit Apfelsaft auffllen LongdrinkglasO4 cl Bourbon 3 cl Zitronensaft 3 cl Zucker Alles shaken Tumblerr2 cl Pernod 2 cl Creme de Bananas 2 cl Gin 1 cl Maracujasirup 8 cl O-Saft Alles shaken Longdrinkglas5 cl Cherry 2 cl Cherry Brandy 5 cl O-Saft 1 cl Zitronensaft Bitter-Lemon Alles shaken und mit Bitter-Lemon auffllen. LongdrinkglasC3 cl Wodka 2 cl Cahlua Eis Alles verrhren. Tumbler3 cl Gin 2 cl Martini bianco 1 cl Curacao Blue Ginger Ale Im Glas verrhren und mit Ginger-Ale auffllen. Mit Orangenscheibe und Kirsche garnieren. Longdrinkglasf4 cl Gin 2 cl Vermouth rosso 2 cl Vermouth dry 3 cl O-Saft Alles shaken. Cocktailschaleo4 cl Sambuca 4-5 Kaffebohnen Feuer Alles ins Glas, anznden, lschen... Feuerfestes Schnapsglasz2 cl Cognac 2 cl Cherry Brandy 1 cl Cointreau 1 cl Grenadine 3 cl Zitronensaft Eis Alles shaken Longdrinkglasb2 cl Gin 2 cl Martini dry 1 cl Cointreau 1 cl Apricot Brandy Alles shaken Stielglasv5 cl Malibu 2 cl Curacao Triple Sec 2 cl Zitronensaft Soda Alles shaken, Soda hinzugeben. Longdrinkglasv6 cl Gin 3 cl Zitronensaft 2 cl Zuckersirup 1 Eigelb Soda Alles shaken, mit Soda auffllen LongdrinkglasM1,5 cl Creme de Cassis Champagner (wahlweise Sekt) Sektflte3 cl Sambuca 2 cl weier Rum 1 cl brauner Rum 10cl O-Saft Alles shaken und auf crash-Eis fllen 3* Mohatzi Longdrinkglas4 cl Cointreau 1 cl Curacao blue 4 cl Ananassaft Ginger Ale Alles shaken, mit Ginger Ale auffllen. Longdrinkglasi1 cl Cocosala 4 cl Ananassaft Eis 1/2 Cocosnuss Alles in der Cocosnuss verrhren Cocosnuss4 cl Portwein rot 1 cl Cognac 1 cl Zuckersirup 2 cl Sahne 1 Eigelb Muskatnuss Alles shaken, mit Muskatnuss bestreuen. Stielglas4 cl Gin 4 cl Creme de Cacao 8 cl O-Saft 4 cl Sahne 1 Eiwei Alles shaken, mit Schokostreuseln berieseln lassen. Longdrinkglasr4 cl Gin 2 cl Apricot Brandy 1 cl Grenadine 2 cl Zitronensaft 6 cl O-Saft Alles shaken Longdrinkglas`4 cl Scotch 2 cl Calvados 2 cl Zitronensaft 1 cl Zuckersirup Alles shaken Tumblery6 cl Wodka 3 cl Zitronenssaft 2 cl Zuckersirup 1 Eiwei Soda Alles shaken, mit Soda auffllen Longdrinkglasb3 cl Wodka 2 cl Calhua Sahne ber Wodka und Calhua kommt ein Sahnehubchen. Tumbler5 cl Rum (weiss) 3 cl Zitronensaft 2 cl Zuckersirup 5 Eiswrfel Alles im E-Mixer zerkleinern und mixen. Cocktailschale 4 cl Batida de Coco 2 cl Wodka 8 cl Maracujasaft roter Zucker Alles shaken, mit Zucker einen Rand ums Glaserl zaubern. Longdrinkglasi4 cl Malibu 2 cl Rum (weiss) 4 cl Ananassaft 2 cl Zitronensaft Alles shaken Cocktailschaley4 cl Bourbon 2 cl Rum (weiss) 1 cl Zuckersirup 4 cl Milch 1 Ei Muskatnuss Alles krftig shaken Longdrinkglasn4 cl Wodka 1 dash Angostura Champagner Hier wird gerhrt und mit Champus aufgefllt. Sektschale1 cl Apricot Brandy 1 cl Curacao Triple Sec 3 cl Gin 6 cl Maracujasaft 6 cl Ananassaft Alles shaken Longdrinkglas2 cl Calvados 2 cl Gin 2 cl Curacao Triple Sec 1 cl Genadine 1 cl Zitronensaft 4 cl Sahne Alles shaken Cocktailschale^4 cl Wodka 2 cl Cointreau 4 cl O-Saft 8 cl Mangosaft Alles shaken LongdrinkglasU5 cl Bourbon 1 dash Angostura Soda Alles in den Tumbler geben Tumblerw6 cl Gin 3 cl Zitronensaft 2 cl Zuckersirup 1 Eiwei Soda Alles shaken, mit Soda auffllen. Longdrinkglaso5 cl Gin 3 cl Zitronensaft 2 cl Zuckersirup Soda Alles shaken, mit Soda auffllen. LongdrinkglasB12 cl Wodka Apfelsaft Neue Variante Longdrinkglasc12 cl Wodka Bitter Lemon. Banal, aber getestet, daher steht das hier. Longdrinkglase4 cl Vermouth dry 2 cl Amaretto 1 Zitronenschale Alles sanft anrhren. Cocktailschale5 cl Gin 1 cl Zuckersirup 4 cl Zitronensaft Ginger-Ale Crash-Eis ( 5 Wrfel ) Alles shaken, in ein Glas mit Crash-Eis geben und mit Ginger-Ale auffllen. TumblerV12 cl Gin Tonic KEINEN PLATZ MIT KIRSCHEN VERGEUDEN !!! Longdrinkglas4 cl Jamaica Rum 2 cl Amaretto 2 cl Apricot Brandy 2 cl Mandelsirup 2 cl Zitronensaft 4 cl O-Saft 1 dash Creme de Menthe 4 cl Limettensaft ins Glas Glas halb mit crunched ice fllen Rest shaken und abseihen2;uQHŃdcP6,\ڢa.q3~h`! c1{K--yyy w[0gUi2oۼc~>Veh$6q1Z?>F9q[?=ÌAWie bitte ? Sie fragen schon wieder wegen Urlaub ?? Haben Sie den keine Ehre im Leib Wissen sie berhaupt wieviel sie arbeiten ? Ich will es ihnen einmal vorrechnen. Das jahr hat bekanntlich 365 Tage, davon schlafen sie tglich 8 Stunden, das sind 122 Tage. Macht einen Rest von 243 Tagen. Tglich haben Sie 8 Stunden frei, macht 122 Tage Es verbleiben noch 121 Tage 52 Sonntage ohne Arbeit. Damit sind es nur noch 69 Tage Rechnen Sie weiter mit. Samstag nachmittag wird auch nicht gearbeitet, also nochmal 26 Tage frei, Womit nur noch ein Rest von 43 Tagen verbleibt. Weiterhin sind tglich 2 Stunden Pause, also wieder 30 Tage frei. Rest 13 Tage Im Jahr gibt es 12 Feiertage, so da nur noch 1 Tag fr die Arbeit brig bleibt. Dann gibt es noch den 1.Mai, an dem wird auch nicht gearbeitet. Und dann wollen Sie auch noch Urlaub ?!?! tE>9DLn'ou!5DqnaO#B!ۯsAe}ky녍L?І}Mr|8o!QPAd-70-00 Hinweise und Bemerkungen zum Barprogramm. ------------------------------------------------- Vorbemerkung : Um alle Drinks nach den Magaben der Stiftung Bahren-Fest ausgiebig zu untersuchen, wurde von den Testern Leib und Leber ( Attest anbei ) auf's Spiel gesetzt; Auch wurden weder Kosten, noch Brhen (= Kaffee)gescheut um den mehr oder weniger geneigten Gaumen des mehr oder weniger interessiertern ( insbesondere Letzteren ) Users, bzw. Lesers, bzw. Quartalssufers zu kitzeln genauer gesagt zu narkotisieren. Bei allen getesten Drinks findet man hinter dem Namen die Bewertung in der bewhrten Sterne-Form. Hierbei bedeuten 5 Sterne sehr gut, entsprechend weniger Sterne eben entsprechend weniger gute Qualitt. Sollte ein Drink so gut sein, da 5 Sterne nicht ausreichen wrden, so wird die Zahl der Sterne als Faktor vor einen Stern gesetzt. Wie bereits der Vorbemerkung entnommen werden konnte, umfasst die beiliegende Datei ein Konglomerat aus ausschlielich bereits getesteten Drinks bzw. Cocktails, etc. pp. usw. ... In Folge einer Blutprobe bei den Testern seitens der Polizei erfolgte ein sofortiger Einzug der Geherlaubnis Klasse 9 fr Fugnger. Vermittels dieses Einzuges entwickelte sich der Fortgang der Testserie umgekehrt proportional zu der verlustig gegangenen Geherlaubnis. ( Die Lebensversicherung lehnte jedwede Leistungspflicht ab.). Hinweise zu den Testrichtlinen ( Nach DIN SLL 008 ) der Stiftung Bahren-Fest. : I. Als Referenz-Standart fr Getrnke wurde von den Testern Bier und Whisky ( Scotch : Highlands *) festgelegt. II. Der Referenz-Standart fr Mixgetrnke und Cocktails ist in dem Mixgetrnk : FERRARI COCKTAIL bzw OLD FASHIONED der Vorrang eingarumt worden. III. Alle weiteren Richtlinien wurden weitestgehend ignoriert. Aufgrund des progressiv steigenden Aloholjenusss'ss war eine objcktive Teschtung ein shr diwwwisieles unn schwirigs Unnerfangen. Aus dem Jrunde sinn alle Teschtwerdde usserst frachlich. Na denn, judder Tescht noch !!! D Tschtr: Ralpf Lannwerman unn Rahlf Laser, wie Lser. Weiter Unten sind nur noch die Funoten zu finden. Und Schleichwerbung. * Als da wren 'Chivas Regal' und 'Glenfiddich' insbesondere jedoch 'Chivas Royal Salute'. PS_1 : Die holden Tester sehen sich derweil mit einem neuen Problem konfrontiert. Sie knnen sich nicht entscheiden, welcher Drink denn nun zu testen sei. Infolgedessen wurde beschlossen, die Auswahl der Drinks dem Computer zu berlassen, obwohl sich einige Disketten wegen einer Virusinfektion gezwungen sahen, ihre physische Existenz aufzugeben. Dies geschah brigens genau zu der Zeit, als eine kleine Fliege beschlo, da sie nur noch eine Halbtagesfliege sein wollte und sich daher tollkhn in ein Spinnennetz strzte. Der Computer whlt nun - vollkommen unparteiisch, da er kein Alkoholiker ist - einen Drink aus einem schier unerschpflichen Vorrat von 'n' Rezepten, wobei 'n' gegen 555 strebt. Dieser Drink wird nun in Sofrte und aller Pltzlichkeit geshaked, falls alle Zutaten vorhanden sind. Sollte dies einmal wider Erwarten nicht der Fall sein, so werden die Zutaten umgehend kluflich erworben. Dies hatte nun die unvermeidliche Konsequenz, da mittlerweile der Bestand an Flaschen dazu geeignet ist, manchen Altglashndler zu Ausrufen des Entzckens zu verleiten. Achja, fast htte ich es vergessen. Dieses entzckende kleine LL 1990 am Ende der Mengenangaben bedeutet folgendes : Dieser Drink bekam bei der beschlufhigen Mehrheit der Neuronenversammlung die Berechtigung verliehen, fortan als Eigenkreation durchs Leben zu gehen, bzw zu flieen. Einige Drinks erhielten diese Auszeichnung wegen anderer Umstnde, die in PS 2 glasklar dargelegt werden. RL 07041990 Wenn es so richtig spannend wird : ------------------------ WERBUNG --------------------------------- Gehen Sie zu einem Empfang, oder wollen Sie so richtig zubeien ?? Dann kommen Sie zu uns: RENT-A-DENT PS 2 : Aufgrund allgemein in der Branche kursierender Ansicht enthlt ein Gin Tonic 4 cl Gin, ebenso wie ein Wodka Lemon aus 4 cl Wodka zu bestehen hat. Die Tester konnten sich dieser Kleinmeierei jedoch nicht anschlieen, und beschlossen prompt Gin ( hh Ngel ) mit Kpfen zu machen - das bedeutet ab heute fr jeden bundesdeutschen Arbeitnehmer 12 cl Gehaltserhhung. LR 07041990 ------------------------ WERBUNG --------------------------------- Heute schon geschlichen ?? Nein, dann kommen Sie zu Hinz & Kunz, Schleichmittelversand. PS_3 : Zur Getrnkeauswahl konnte einige Wochen lang leider der Computer keineVerwendung finden, da er zwangsweise auf eine Entziehungskur mute (keinAlkoholiker, h). Niemand soll jedoch glauben, da die Tester geneigt wren es ihm nachzutun. Vieleicht haben Sie in einem SF-Roman schon einmal den Begriff Cyborg gelesen, dies ist ein Mensch mit einer eisernen Leber, also ein Tester. Dies nur als Erklrung, falls Ihnen die Getrnkeauswahl stellenweise etwas chaotisch anmuten sollte. LR 21041990 ----------------------- WERBUNG ----------------------------- American Exzess, die Karte Ihres Vertrauens. Erhltlich als Pik-7, Herz-As oder Karo-9 PS_4 : Was, schon wieder ein ominses PS_X ? Wenn das so weitergehen sollte, so wird man in naher Zukunft bei PS_5251215 anlangen. ( Der arme leid - geplagte Leser ! ). Nun, viel Wasser fliet einen Flu hinab. Und just dieses Wasser ist vergleichbar mit der Erfahrung, die den Testern zukommt.Aus diesem - und auch aus anderen Grnden - ist es unumgnglich, diesegewonnenen Erfahrnugen schriftlich zu fixieren. "Verdammt, Laser siehstdu auch die Sterne durch das Zimmer rauschen ? " - "Nein !" - "Seltsam,weshalb sehe ich sie dann....". "Weil ich auf die kleinen grnen Mnnchenin der Drambuie-Flasche achte. " - "Ahjeah ! ". Solche mehr oder weniger,meitens jedoch halt weniger sinvollen, wenn auch nicht ganz uninteressantenDialoge kann man bisweilen im Testraum vernehmen. Ob dies eine Folge desTestumfanges ist ? Man wei es nicht, und da man es nicht wei, wei man es eben nicht. Kurzum, bevor ich der Gefahr des sinnlosen Geplappers anheimfalle, werde ich schleunigst diesen PS-Artikel beenden, um mich umso intensiver einem neuen Drink zu widmen. Als dann, keep shaking. RL 220490 ---------------------- WERBUNG ------------------------------------- Die RL-Tools, vollkommen nutzlos, teuer und dennoch kaum zu gebrauchen. (H !? ) PS_5 : ( Gastkommentar, daher ohne Gewhr; wieder nicht bewaffnet .)Da der Gast sinnigerweise keinen Drang dazu versprte, sein Glas freine Widmung aus der Hand zu geben, entfllt dieser angekndigte Gastkommentar kommentarlos. PS_6: Auf einen Gastkommentator haben die Tester diesmal verzichtet, da dieser mehr zum abfllen denn zum kommentieren neigt. Der Testcomputer ist nunmehr endgltig Antialkoholiger geworden (allerdings erst, nachdem mein Mittester eine Diskette mit Sambuca geschmiert hat; er nennt es ertrnkt). Zur Zeit bereiten wir den Test eines Cocktails mit Sahne und Grenadine vor (ich hasse Grenadine). Zuviel Alkohol soll ja nach landlufiger Meinung schdlich sein. Besonders wenn man "durcheinander" trinkt; dies aber kommt bei uns nicht in Frage, wir trinken ausschlielich COCKTAILS. Wie schon die alten Alchemisten wuten, ist das Mischen von Cocktails eine hohe Kunst. Betrunken einfach nicht durchzufhren. Sollte jemand es dennoch versuchen, so ist er leicht an den Spuren auf dem Teppich zu entlarven. Besonders wichtig ist es, da der Cocktail KALT sein mu. Also: Erst das Shaken beenden, wenn der Shaker beginnt erste Hautfetzen von den Fingern zu schlen. Natrlich darf dem Eis im Shaker auch keine Gelegenheit gegeben werden, zu schmelzen. ansonsten knnte man auch gleich Selters trinken. Die Gefhrlichkeit eines Drinks richtet sich nicht nur nach seinem Alkoholgehalt, sondern mehr noch nach seinen Zutaten. So ist zum Beispiel Kaffeelikr, wie er im Black Russian verwendet wird, besonder gefhrlich, da er die Aufnahme des Alkohols im Blut beschleunigt. Anzuraten sind jedoch die Einnahme von Orangensaft bzw. Sangrita vor Beginn eines Testlaufes, da diese den gegenteiligen Effekt bewirken. Es soll sich jedoch niemand beschweren, wenn er dennoch angeschlagen aus einem Selbstversuch hervorgeht: Prozente sind Prozente - nicht nur bei Bundestagswahlen. LR 160690 ------------------- WERBUNG ---------------------------------- Passend zu allen Cocktailparties. Frisches Grnlandeis. Quadratisch, praktisch, gut. Nur noch einfrieren und servieren. Jetzt auch mit Sdpolgeschmack !! PS_7: Nun bin ich aber mal wieder an der Tastatur zugegen. Ich werde diese Gelegenheit dann auch schamlos ausnutzen und mir das PS numero 7 aus dem Kopf drcken. Derweil ist mein Kollege bemht, einen besonders scheulichen Drink zu finden. Nun denn, harren wir der Dinge, die da noch kommen werden. Mittlerweile sind schon einige Wochen vergangen, ohne da ich einen neuen Drink bekommen habe. Ich glaube langsam, da mein Kollege heimlich und hinterrcks die Drinks fr sich alleine testet. ( "Nein, ich teste die Zutaten pur, um festzustellen, welche wozu passen knnten." : Anmerkung des Kollegen. ). Was mu ich da lesen, ich htte die Disketten mit Sambuca geschmiert ? Das ist eine bsartige Verleumdung, die in keinster Weise den tatsachen entspricht. Ich mchte das hier einmal klarstellen. Der Sachverhalt war in der Tat ganz entschieden Anders. : Eines schnen Tages kam eine kleine No-Name-Diskette (Keine Schleichwerbung an dieser Stelle, die kommt spter. ) auf mich zu und sagte zu mir, da sie schwimmen lernen wolle. Da ich ein hilfsbereiter Mensch bin, habe ich Ihr Ansinnen natrlich Ernst genommen; war jedoch gezwungen, auf den akuten Wassermangel hinzuweisen. Da ich zu dieser Zeit einen 'Burn and Schwapp' in der Hand hielt, bot ich der Disk diesen als bungsrevier an, was diese auch sofort dankbar annahm. Sie lernte Ihre ersten Schwimmbewegungen so in einem Glas Sambuca. Hey, ich hab keine Lust mehr, wie wild auf die Tasten zu hmmern, nur um hier ein paar Buchstaben mehr zu fabrizieren. Also dann, Tschau ! Halt, nun kommt endlich der scheuliche Drink. Nun die Testweise : Zigarette lssig in den Mundwinkel stopfen; vom Kollegen Feuer geben lassen, natrlich uerst lssig; ein bis zwei ultracoole Zge ttigen; Zigarette in den Aschenbecher wrgen; Absolut lssig das Glas fassen und anheben; Glas wieder abstellen, um die nchsten Zeilen zu schreiben; Glas wiederum anheben und kurz daran nippen; Absetzen,.................. Drink wirken lassen, ..................... ........und sinken lassen,.............. nochmal daran probieren. Das Glas von allen Seiten betrachten; "Was ist das ? " fragen; "hhh !?!?!? " als Antwort vernehmen; Drei Punkte vorschlagen; Ok, auf vier Punkte aufrunden. Test erledigt. So, das war's dann. RL 160690 ----------------------- WERBUNG ------------------------------------- Rufen Sie an!!! Nennen Sie uns Ihren Lieblingscocktail. Unter allen richtigen Anrufern verlosen wir einen Betonlutscher und ein rosa Fleikrtchen. Der 1000. Anrufer erhlt zudem noch einen Original-Test-Eiswrfel aus dem Hause Lannwermann und Lhser. PS_8: Grumpfz.Ich soll unbedingt was schreiben,will aber nicht. Den Rauhreif knnt Ihr Euch demnchst in die Haare schmieren. Falls es mir noch einmal zuteil werden wird mit Euch den Suferarm zu heben,bestehe ich jedoch auf Drinks mit ausschlielich Malibu, Batida de Coco und Amaretto.Wird meiner Bitte nicht Folge geleistet, knnt Ihr gerne alleine weitersaufen.Bis bald,Eure Addi. ---------------------- WERBUNG ------------------------------------ Groe Versteigerung des Hauses Sotzelbies. Versteigert werden Reliquien aus dem vorherigen mittleren Sptsommer 1990 bis 1991. Ihr Gebot machen Sie bitte unter Angabe Ihrer Anschrift und der entsprechenden Auktionsnummer: ( Bitte einen an Sich selbst adressierten und frankierten Umschlag beilegen.) 1: Garantiert echte Eiswrfel, gefroren im Eisfach der Tester. Mit Zertifikat. (1.50 DM) 2: Original Zitronenscheiben aus gemixten Ferrari-Cocktails. (2.00 DM) 3: Replik eines verwendeten Strohhalms aus hochwertigem schwarzen Kunststoff mit ergonomisch geformter Biegekante. (3,00 DM) 4: Burn & Schwapp Kaffebohnen ( 5 Stck ) (2,00 DM ) 5: Sambuca-getrnkte Designer-Diskette (Nachbau derjenigen Diskette, die Schwimmen lernen wollte.) Blaues Gehuse mit Schieber in edler Metall-Optik. Verziert mit verschiedenfarbig gestalteten Etiketten. Zum weiteren Gebrauch garantiert nicht geeignet. (6,00 DM) 6: Wie Nummer 5, jedoch ohne Sambuca, daher brauchbar. (4,00 DM) Die Mindestgebote (in Klammern jeweils am Ende des Angebots) verstehen sich inklusive Porto und Verpackung. Das Geld dient einzig und allein der Bereicherung der Tester. Spenden sind daher vollkommen eigenntzig und gemein. ps_9: hmn, gut. Nach langen vergeblichen Versuchen, irgend etwas sinnvolles zu schreiben, gab ich dieses ziemlich ergebnislose Unterfangen zugunsten wesentlich lohnenderer Ttigkeit auf. Jeder Barfreund wei, was ich meine: Hemmungsloses Saufen, Qualmen, Megablasten und jede Menge Unsinn erzhlen, um dann arg beschwippst, aber glcklich nach hause zu torkeln. Eben diese mischung ist es, die mich zu diesem warnenden Gastkommentar treibt. Wo sind meine Rauchschwaden in denen ich so zufrieden bin. Traurig stehen die einst so stolz berquillenden Ascher in lcher- lichem Fllungsgrad nutzlos rum. Das wohlveraute vernebeld schimmernde Bild des Compies ist einem langweilig glasklarem Durchblick gewichen. man glaubt es kaum, aber einer ist erst gar an. Die blichen Stolperfallen aus leeren Flaschen an denen ich meine Hindernisausweichtakik so perfektionieren konnte, sind weg. Where the good guys are gone? Megablast? Wo ist es? Ich vermute, die Disketten liegen irgendwo heulend in einem vllig unwrdigen Platz. Verraten und verkauft. Ist das fair? =eu/mM̕m{龴T/3Mm 3c.\}Xab QOPo{5iQ^s!mmjz8?ig=A/܃٫5墇3vEUysz ̨rv&`4s{I<D'P4 ;NӺ~.XPne wqd8pLg~g~9),y׷2_s)L6ٗ6H#Ѷzk}V {V{t PSE-Periodensystem der Elemente Public Domain programmiert von Volker Hemsen - August 1993 entwickelt mit ST-Pascal plus von CCD und der Entwicklungsumgebung Pasture des oben genannten Autors PSE gibt Auskunft ber die Elemente des Periodensystems. Es werden folgende Daten angezeigt: Beim Mausklick auf ein Element in der Infozeile des Fensters: Elementname Ordnungszahl relative Atommasse Gruppenzugehrigkeit (neue und alte Einteilung) Elektronenkonfiguration Beim Doppelklick auf ein Element im Info-Fenster: Elementsymbol Ordnungszahl mit Elementnamen Elektronenkonfiguration Stoffart und Zustand bei Normbedingungen relative Atommasse [1u=1.6605655E-27 kg] Dichte [kg/m=g/dm=0.1 g/l] Schmelz- und Siedetemperatur [K,C] bei Supraleitern die bergangstemperatur [K,C] bei ferromagnetischen Metallen die Curietemperatur [K,C] Struktur des Kristallgitters spezifische Wrmekapazitt [J/kgK] elektrische Leitfhigkeit [1/m=MS/m] Ionisierungsenergie [kJ/mol] Elektronenaffinitt [kJ/mol] Elektonegativitt Oxydationszahl Reaktionsmglichkeiten mit Wasser und Luft Atomradius [1nm=10] kovalenter Radius [1nm=10] Ionenradius [1nm=10] Einige Werte gelten fr Normbedingungen (1013.25 hPa, 0C). Nicht bekannte Werte werden nicht aufgelistet. Fr die Richtigkeit der Angaben wird natrlich keine Gewhr bernommen. PSE ist Public Domain! D.h. es darf/soll von jedermann kopiert und benutzt werden. Es wird hiermit ausdrcklich erlaubt die Datei PSE.TXT in anderen Programmen weiterzuverwenden! Solltet Ihr Verbesserungsvorschlge haben, wendet Euch bitte an: Volker Hemsen, Gremskampstrae 3, 23714 Malente. Bei Gefallen und fterer Benutzung bitte ich um die Zusendung eines kleinen Anerkennungsbetrages von 10 bis 15 DM. Die Daten befinden sich in der Textdatei PSE.TXT, die sich unbedingt im aktuellen Verzeichnis befinden sollte. Sie hat folgenden Aufbau: 1. Zeile: beliebige Zeile mit Kennung 2. Zeile: Anzahl der Elemente Anzahl der Gruppen (horizontale Breite) Anzahl der Schalen (vertikale Lnge) fr jedes Element: 1. Zeile: Leerzeile! 2. Zeile: Ordnungszahl horizontale Position (0..17) vertikale Position (0..9) Elementsymbol 3. Zeile: Dichte Stoffart und -zustand bei Normbedingungen 0 : Metall 1 : supraleitendes Metall 2 : supraleitendes Metall, p>25bar 3 : ferromagnetisches Metall 10 : Halbleiter 11 : suparleitender Halbleiter, p>25bar 20 : Halbmetall 30 : Gas +40 : flssig +80 : knstlich Schmelztemperatur Siedetemperatur relative Atommasse in u Elementname 4. Zeile: bei Supraleitern berganstemperatur in K bei ferromagnetischen Metallen Curietemperatur [K] sonst NICHT vorhanden 5. Zeile: Elektronenkonfiguration 6. Zeile: Kristallstruktur: 1 : tetragonal 2 : rhombisch 3 : monoklin 4 : Diamantgitter 5 : hexagonal 6 : trigonal 10 : kubisch 11 : kubisch, flchenzentriert 12 : kubisch, raumzentriert spezifische Wrmekapazitt in J/kgK Atomradius in kovalenter Radius in Ionenradius in elektrische Leitfhigkeit in MS/m 7. Zeile: Ionisierungsenergie in kJ/mol Elektronenaffinitt in kJ/mol Elektronegativitt nach ALLRED Reaktion mit Wasser: 0 : keine Reaktion 1 : Bildung einer oberflchlichen Hydroxidschicht 2 : Reaktion mit Wasser Reaktion mit Luft: 0 : keine Reaktion 1 : Bildung einer oberflchlichen Oxidschicht 2 : Reaktion mit Luft Oxydationszahl/-en Erweiterung in der Version August/September 1993: Berechnung von Molmassen (Dichte, spez. Wrmekapazitt) Es gelten folgende Tastaturkommandos, die Ausgabe erscheint in der Infozeile des Fensters mit dem Periodensystem! ^Q : Verlassen des Programmes Help : Anzeige einiger Tastaturkommandos Esc : ffnen der Eingabe, nun werden alle Tastatur- und Maus- aktivitten als Formeleingabe interpretiert: A-Z,a-z : Elementsymbole 1-9 : Fuzahlen (z.B. H2O, CO2, H2SO4 usw.) ( ) : zum Klammern Backspace : lschen des rechts stehenden Zeichens Mausklick auf Element: Eingabe eines Elementsymbols Return : Beenden der Eingabe. Es wird nun versucht aus der Eingabe die Molmasse zu berechnen. Wenn ein Fehler auftritt (z.B. bei Eingabe eines nicht bekannten Symbols) erscheint ein 'FEHLER!' am Ende der Ausgabe. Mit Bettigen der UNDO- Taste kann die Eingabe verbessert werden. Bei erfolgreicher Erkennung wird die berechnete Molmasse, Dichte und spez. Wrmekapazitt ausgegeben. Letztere beiden sind mit Vor- sicht zu genieen und gelten nur fr Gase (s.u.)! Der Eingabemodus wird verlassen! UNDO : hnlich wie Esc, nur das Eingabefeld nicht gelscht wird! Berechnung der Dichte eine Gasgemisches (z.B. N78O22 fr Luft) (m=Masse, V=Volumen, M=rel.Atommasse, n=Stoffmenge, D=Dichte) m m M*n Dichte = ---- = ----- = -------- V m/D M*n/D Berechnung der spez. Wrmekapazitt c eines Gasgemisches m*c M*n*c c = ------ = -------- m M*n uۼzS^64mhwhOeV2-ϒN3_0O3c7p SQ#_-D~VllR|ddO@TPSE-Daten, letzte nderung: VH 09.08.1993 109 18 9 1 0 0H .08988 30 13.95 20.38 1.0079Wasserstoff 1s1 5 14306 .79 .37 2.08 0 1310 -77 2.2 0 0 1 2 17 0He .1785 30 0 4.22 4.0026Helium 1s2 5 5193 .49 0 0 0 2374 21 0 0 0 3 0 1Li 534 0 453 1603 6.941Lithium [He] 2s1 12 3600 2.05 1.22 .70 1.8 520 -57 .98 2 2 1 4 1 1Be 1870 1 1566 2753 9.01218Beryllium 0.026 [He] 2s2 5 1050 14 .89 .34 25 900 18.1 1.47 1 0 2 5 12 1B 2340 10 2303 4173 10.81Bor [He] 2s2 2p1 6 1020 1.17 .88 02 1E-10 800.6 -31.8 2.04 0 0 3 6 13 1C 2240 10 3923 4623 12.011Kohlenstoff [He] 2s2 2p2 5 710 .91 .77 .2 .07 1086 -108 2.55 0 0 4,2 7 14 1N 1.2505 30 63.15 77.35 14.0067Stickstoff [He] 2s2 2p3 5 1040 .75 .74 .15 0 1402 -4.6 3.04 0 0 5,4,3,2 8 15 1O 1.42895 30 54.36 90.18 15.9994Sauerstoff [He] 2s2 2p4 10 920 .65 .74 1.35 0 1313 -141.9 3.44 0 0 -2,-1 9 16 1F 1.696 30 53.55 85.05 18.998403Flour [He] 2s2 2p5 10 820 .57 .72 1.33 0 1681 -333 3.98 2 0 -1 10 17 1Ne .9002 30 24.54 27.07 20.179Neon [He] 2s2 2p6 11 904 .51 0 0 0 2081 54.8 0 0 0 11 0 2Na 970 0 370.95 1163.2 22.98977Natrium [Ne] 3s1 12 1230 2.23 1.57 .98 21.8 496 -33 .93 2 2 1 12 1 2Mg 1739 0 923 1393 24.305Magnesium [Ne] 3s2 5 1050 1.72 1.37 .75 22.4 738 21 1.31 1 1 2 13 12 2Al 2702 1 933.3 2723 26.98154Aluminium 1.18 [Ne] 3s2 3p1 11 900 1.82 1.25 .55 38.2 578 -48 1.61 1 1 3 14 13 2Si 2420 11 1693 2628 28.0855Silizium 0 [Ne] 3s2 3p2 4 710 1.46 1.17 .4 0 786 -178.2 1.9 0 0 4 15 14 2P 1820 11 317.2 553.2 30.97376Phosphor 0 [Ne] 3s2 3p3 2 770 1.46 1.1 .35 1E-15 1012 -71 2.19 0 2 3,5,4 16 15 2S 1960 10 392.2 717.75 32.06Schwefel [Ne] 3s2 3p4 2 710 1.09 1.04 1.82 1E-21 1000 200 2.58 0 0 2,4,6 17 16 2Cl 3.214 30 172.2 239.1 35.453Chlor [Ne] 3s2 3p5 1 480 .97 .99 1.81 0 1251 -348 3.16 2 0 1,3,5,7 18 17 2Ar 1.784 30 83.77 87.29 39.948Argon [Ne] 3s2 3p6 11 520 .68 0 0 0 1520 0 0 0 0 19 0 3K 860 0 336.7 1027 39.0983Kalium [Ar] 4s1 12 750 2.77 2.02 1.33 14.3 419 -48 .82 2 2 1 20 1 3Ca 1550 0 1123 1760 40.08Calcium [Ar] 4s2 11 620 2.23 1.74 1.05 21.8 590 186 1 2 0 2 21 2 3Sc 2990 0 1811 3003 44.9559Scandium [Ar] 3d1 4s2 5 540 2.09 1.44 .83 1.5 633 0 1.36 0 0 3 22 3 3Ti 4520 1 1943 3503 47.9Titan 0.39 [Ar] 3d2 4s2 5 530 2 1.32 .64 2.4 658 0 1.54 0 0 4,3 23 4 3V 5960 1 2003 3673 50.9414Vanadium 5.3 [Ar] 3d3 4s2 12 500 1.92 1.22 .59 4 650 0 1.63 0 0 5,4,3,2 24 5 3Cr 6930 0 2173 2913 51.996Chrom [Ar] 3d5 4s1 12 460 1.85 1.17 .36 7.8 653 0 1.66 0 0 6,3,2 25 6 3Mn 7200 0 1517 3363 54.9380Mangan [Ar] 3d5 4s2 2 480 1.79 1.17 .91 5.4 717 0 1.55 0 0 7,6,4,3,2 26 7 3Fe 7860 3 1808 3008 55.847E00Eisen 1043 [Ar] 3d6 4s2 12 460 1.72 1.16 .67 10 762 0 1.8 0 2 2,3 27 8 3Co 8900 3 1765 3153 58.9332Cobalt 1404 [Ar] 3d7 4s2 5 410 1.67 1.16 .82 16 758 0 1.88 0 0 2,3 28 9 3Ni 8900 3 1726 3073 58.7Nickel 631 [Ar] 3d8 4s2 11 440 1.62 1.15 .78 14.5 737 0 1.91 0 0 2,3 29 10 3Cu 8920 0 1356 2863 63.546Kupfer [Ar] 3d10 4s1 11 380 1.57 1.17 .72 59.3 745 0 1.9 0 1 2,1 30 11 3Zn 7140 1 692.66 1180.2 65.38Zink .85 [Ar] 3d10 4s2 5 390 1.53 1.25 .83 16.7 904 0 1.65 1 1 2 31 12 3Ga 5910 1 302.93 2503 69.72Gallium 1.09 [Ar] 3d10 4s2p1 2 370 1.81 1.25 .62 5.8 579 -38 1.81 0 0 3 32 13 3Ge 5350 11 1232 3103 72.59Germanium 5.4 [Ar] 3d10 4s2p2 4 320 1.52 1.22 .55 2.2E-6 783 0 2.01 0 0 4 33 14 3As 5720 20 0 889 74.9216Arsen .5 [Ar] 3d10 4s2p3 6 330 1.33 1.21 .47 2.9 967 0 2.18 0 0 3,5 34 15 3Se 4820 11 490.6 998 78.96Selen 6.9 [Ar] 3d10 4s2p4 5 320 1.22 1.17 1.93 8 942 -194.9 2.55 0 0 -2,4,6 35 16 3Br 3120 50 265.95 331.93 79.904Brom [Ar] 3d10 4s2p5 2 473 1.12 1.14 1.96 1E-16 1143 -324 2.96 0 0 1,5 36 17 3Kr 3.744 30 115.98 119.75 83.8Krypton [Ar] 3d10 4s2p6 11 249 1.03 0 0 0 1352 0 0 0 0 37 0 4Rb 1532 0 311.85 973 85.4678Rubidium [Kr] 5s1 12 363 2.98 2.16 1.49 8 402 -60 .82 2 2 1 38 1 4Sr 2600 0 1043 1643 87.62Strontium [Kr] 5s2 11 740 2.45 1.91 1.18 4.3 548 146 .95 2 0 2 39 2 4Y 4500 2 1773 2903 88.9059Yttrium 2 [Kr] 4d1 5s2 5 300 2.27 1.62 .95 1.9 636 0 1.22 0 1 3 40 3 4Zr 6500 1 2128 3900 91.22Zirconium .55 [Kr] 4d2 5s2 5 280 2.16 1.45 .8 2.4 670 0 1.33 0 0 4 41 4 4Nb 8550 1 2773 5173 92.9064Niob 9.46 [Kr] 4d3 5s2 12 270 2.08 1.34 .7 8 653 0 1.6 0 0 5,3 42 5 4Mo 10210 1 2893 5073 95.94Molybdaen .92 [Kr] 4d5 5s1 12 250 2.01 1.29 .65 19 695 0 1.6 0 0 5,3 43 6 4Tc 11500 81 2520 4900 96.906Technetium 7.81 [Kr] 4d5 5s2 0 0 1.95 1.27 .56 0 699 0 1.9 0 0 7 44 7 4Ru 12600 1 2773 4373 101.07Ruthenium .49 [Kr] 4d6 5s2 5 240 1.89 1.24 .65 10 724 0 2.28 0 0 2,3,4,6,8 45 8 4Rh 12400 0 2233 4233 102.9055Rhodium [Kr] 4d7 5s2 11 250 1.83 1.25 .75 22 745 0 2.2 0 0 2,3,4 46 9 4Pd 11400 0 1825 3473 106.4Palladium [Kr] 4d8 5s2 11 240 1.79 1.28 .65 9.3 804 0 2.2 0 0 2,4 47 10 4Ag 10500 0 1234 2473 107.868Silber [Kr] 4d10 5s1 11 235 1.75 1.34 1.13 61.6 733 0 1.93 0 0 1 48 11 4Cd 8650 1 594.18 1038 112.41Cadmium .54 [Kr] 4d10 5s2 5 230 1.71 1.41 .99 14.6 867 0 1.69 0 0 2 49 12 4In 7362 1 429.76 2323 114.82Indium 3.4 [Kr] 4d10 5s2p1 1 230 2 1.5 .92 11.1 557 0 1.78 0 0 3 50 13 4Sn 5750 1 505.06 2963 118.69Zinn 3.72 [Kr] 4d10 5s2p2 1 227 1.72 1.41 1.02 8.8 708 0 1.96 0 0 4,2 51 14 4Sb 6690 20 903.7 1910 121.75Antimon 3.6 [Kr] 4d10 5s2p3 6 210 1.53 1.41 .62 2.6 833 0 2.05 0 0 3,5 52 15 4Te 6250 11 723 1263 127.6Tellur 4.5 [Kr] 4d10 5s2p4 5 200 1.42 1.37 2.12 1E-4 871 -190 2.1 0 0 -2,4,6 53 16 4I 4930 10 386.8 456 126.9045Iod [Kr] 4d10 5s2p5 2 214 1.33 1.32 2.2 1E-13 1009 -297 2.66 0 0 1,5,7 54 17 4Xe 5.897 30 161.4 165.03 131.3Xenon [Kr] 4d10 5s2p6 11 158 1.24 0 0 0 1172 0 0 0 0 55 0 5Cs 1873 2 301.79 958 132.9054Caesium 1.5 [Xe] 6s1 12 240 3.34 2.35 1.7 5.3 377 -38 .79 2 2 1 56 1 5Ba 3500 2 983 1910 137.33Barium 5.1 [Xe] 6s2 12 280 2.78 1.98 1.38 1.6 502 47 .89 2 0 2 57 2 5La 6780 1 1193 3743 138.9055Lanthan 5.0 [Xe] 5d1 6s2 5 190 2.74 1.69 1.15 1.7 540 0 1.1 0 0 3 58 3 6Ce 6700 2 1070 3743 140.12Cer 1.7 [Xe] 4f2 5d0 6s2 11 190 2.7 1.65 1.18 1.3 532 0 1.12 0 0 3,4 59 4 6Pr 6700 0 1208 3290 140.9077Praseodym [Xe] 4f3 5d0 6s2 5 190 2.67 1.65 1.16 1.5 523 0 1.13 0 0 3,4 60 5 6Nd 6900 0 1297 3483 144.24Neodym [Xe] 4f4 5d0 6s2 5 190 2.64 1.64 1.15 1.3 530 0 1.14 0 0 3 61 6 6Pm 0 80 1308 3473 144.913Promethium [Xe] 4f5 5d0 6s2 5 0 2.62 1.63 1.09 0 535 0 1.13 0 0 3 62 7 6Sm 7500 0 1345 1943 150.4Samarium [Xe] 4f6 5d0 6s2 6 200 2.59 1.65 1.13 1.7 543 0 1.17 0 0 3,2 63 8 6Eu 5245 0 1099 1703 151.96E00Europium [Xe] 4f7 5d0 6s2 12 180 2.56 1.85 1.13 1.2 546.5 0 1.2 0 0 3,2 64 9 6Gd 7960 3 1585 3070 157.25Gadolinium 289 [Xe] 4f7 5d1 6s2 5 230 2.54 1.61 1.11 .7 594 0 1.2 0 0 3 65 10 6Tb 8250 3 1629 2750 158.9254Terbium 219 [Xe] 4f9 5d0 6s2 5 180 2.51 1.59 1.09 .9 564 0 1.2 0 0 3,4 66 11 6Dy 8450 3 1680 2600 162.50Dysprosium 85 [Xe] 4f10 5d0 6s2 5 170 2.49 1.59 1.07 1.1 572 0 1.22 0 0 3 67 12 6Ho 8760 3 1734 2760 164.9304Holmium 20 [Xe] 4f11 5d0 6s2 5 160 2.47 1.58 1.05 1.1 581 0 1.23 0 0 3 68 13 6Er 9050 3 1770 2690 167.26E00Erbium 20 [Xe] 4f12 5d0 6s2 5 170 2.45 1.57 1.04 1.2 589 0 1.24 0 0 3,2 69 14 6Tm 9290 0 1818 1990 168.9342Thulium [Xe] 4f13 5d0 6s2 5 160 2.42 1.56 1.04 1.1 596.4 0 1.25 0 0 3,2 70 15 6Yb 7000 0 1097 1590 173.04Ytterium [Xe] 4f14 5d0 6s2 11 150 2.4 1.7 1 1.1 603 0 1.1 0 0 3,2 71 16 6Lu 9820 2 1925 3270 174.97Lutetium 0.7 [Xe] 4f14 5d1 6s2 5 150 2.25 1.56 .99 1.5 524 0 1.27 0 0 3 72 3 5Hf 13360 1 2495 5420 178.49Hafnium .13 [Xe] 4f14 5d2 6s2 5 150 2.16 1.44 .86 3.1 720 0 1.3 0 0 4 73 4 5Ta 16600 1 3270 5670 180.9479Tantal 4.48 [Xe] 4f14 5d3 6s2 12 150 2.09 1.34 .73 8.1 761 0 1.5 0 0 5 74 5 5W 19300 1 3650 5770 183.85Wolfram .011 [Xe] 4f14 5d4 6s2 12 130 2.02 1.3 .65 18.1 770 0 2.36 0 0 6,5,4,3,2 75 6 5Re 20530 1 3453 5870 186.207Rhenium 1.7 [Xe] 4f14 5d5 6s2 5 140 1.97 1.28 .52 5.1 760 0 1.9 0 0 7,6,4,2 76 7 5Os 22480 1 2970 4670 190.2Osmium .65 [Xe] 4f14 5d6 6s2 5 130 1.92 1.25 .69 11 820 0 2.2 0 0 2,3,4,6,8 77 8 5Ir 22420 1 2716 4620 192.22Iridium .14 [Xe] 4f14 5d7 6s2 11 130 1.87 1.26 .65 18.9 880 0 2.2 0 0 2,3,4,6 78 9 5Pt 21450 0 2042.5 4570 195.09Platin [Xe] 4f14 5d8 6s2 11 130 1.83 1.29 .92 9.5 860 0 2.28 0 0 2,4 79 10 5Au 19290 0 1336.2 2970 196.9665Gold [Xe] 4f14 5d10 6s1 11 126 1.79 1.34 1.37 42 890 0 2.54 0 0 3,1 80 11 5Hg 13546 41 234.28 629.73 200.59Quecksilber 4.15 [Xe] 4f14 5d10 6s2 6 139 1.76 1.44 1.12 1.1 1007 0 2 0 0 2,1 81 12 5Tl 11850 1 576.7 1731 204.37Thallium 2.39 [Xe] 4f14 5d10 6s2p1 5 130 2.08 1.55 1.05 5.5 589 0 2.04 0 0 3,1 82 13 5Pb 11340 1 600.5 2023 207.2Blei 7.19 [Xe] 4f14 5d10 6s2p2 11 130 1.81 1.54 1.32 4.6 716 0 2.33 0 1 4,2 83 14 5Bi 9800 20 544.4 1833 208.9804Bismut 8 [Xe] 4f14 5d10 6s2p3 6 120 1.63 1.52 .74 .9 703 0 2.02 0 0 3,5 84 15 5Po 0 0 527 1235 208.982Polonium [Xe] 4f14 5d10 6s2p4 3 0 0 1.53 0 0 813 0 2.0 0 0 4,2 85 16 5At 0 0 570 650 209.987Astat [Xe] 4f14 5d10 6s2p5 0 0 0 0 0 0 890 0 2.2 0 0 1,3,5,7 86 17 5Rn 0 30 202 211 222.018Radon [Xe] 4f14 5d10 6s2p6 90 0 0 0 0 0 1037 0 0 0 0 87 0 7Fr 0 0 298 593 223.0198Francium [Rn] 7s1 12 0 0 0 0 0 384 0 .7 2 2 1 88 1 7Ra 5000 0 973 1800 226.0254Radium [Rn] 7s2 12 0 0 0 1.44 0 509.3 0 .9 0 0 2 89 2 7Ac 0 0 1470 3600 227.028Actinium [Rn] 6d1 7s2 11 0 0 0 1.11 0 490 0 1.1 0 0 3 90 3 8Th 11724 1 2020 4470 232.0389Thorium 1.37 [Rn] 5f0 6d2 7s2 11 120 0 0 0 5.5 590 0 1.3 0 0 4 91 4 8Pa 15370 1 1840 4470 231.0359Protactinium 1.3 [Rn] 5f2 6d1 7s2 0 0 0 0 0 0 570 0 1.5 0 0 5,4 92 5 8U 18970 1 1405 4091 238.029Uran .68 [Rn] 5f3 6d1 7s2 2 120 0 0 0 3.4 597 0 1.38 0 0 6,5,4,3 93 6 8Np 20450 81 912 4175 237.0482Neptunium .075 [Rn] 5f4 6d1 7s2 0 120 0 0 0 0 600 0 1.36 0 0 6,5,4,3 94 7 8Pu 19737 80 912.6 3503 244.064Plutonium [Rn] 5f6 6d0 7s2 0 130 0 0 0 0 585 0 1.28 0 0 6,5,4,3 95 8 8Am 13671 80 1267 2880 243.061Americium [Rn] 5f7 6d0 7s2 0 110 0 0 0 0 578 0 1.3 0 0 6,5,4,3 96 9 8Cm 13510 80 1610 0 247.070Curium [Rn] 5f7 6d1 7s2 0 0 0 0 0 0 588 0 1.3 0 0 3 97 10 8Bk 0 80 0 0 247.070Berkelium [Rn] 5f9 6d0 7s2 0 0 0 0 0 0 608 0 1.3 0 0 4,3 98 11 8Cf 0 80 900 0 251.080Californium [Rn] 5f10 6d0 7s2 0 0 0 0 0 0 620 0 1.3 0 0 3 99 12 8Es 0 80 0 0 254.088E00Einsteinium [Rn] 5f11 6d0 7s2 0 0 0 0 0 0 630 0 1.3 0 0 100 13 8Fm 0 80 0 0 257.095Fermium [Rn] 5f12 6d0 7s2 0 80 0 0 0 0 640 0 1.3 0 0 101 14 8Md 0 80 0 0 258Mendelvium [Rn] 5f13 6d0 7s2 0 0 0 0 0 0 650 0 1.3 0 0 102 15 8No 0 80 0 0 259Nobelium [Rn] 5f14 6d0 7s2 0 0 0 0 0 0 660 0 1.3 0 0 103 16 8Lr 0 80 0 0 260Lawrecium [Rn] 5f14 6d1 7s2 0 0 0 0 0 0 0 0 0 0 0 104 3 7Ku 0 80 0 0 261Kurchatovium [Rn] 5f14 6d2 7s2 0 0 0 0 0 0 0 0 0 0 0 105 4 7Ha 0 80 0 0 262Hahnium [Rn] 5f14 6d3 7s2 0 0 0 0 0 0 0 0 0 0 0 106 5 7Unh 0 80 0 0 263Unnilhexium [Rn] 5f14 6d4 7s2 0 0 0 0 0 0 0 0 0 0 0 107 6 7Uns 0 80 0 0 0Unnilseptium [Rn] 5f14 6d5 7s2 0 0 0 0 0 0 0 0 0 0 0 108 7 7Uno 0 80 0 0 0Unniloktium [Rn] 5f14 6d6 7s2 0 0 0 0 0 0 0 0 0 0 0 109 8 7Une 0 80 0 0 0Unnilennium [Rn] 5f14 6d7 7s2 0 0 0 0 0 0 0 0 0 0 0 ZNNOyImDYC!!fMàݐxN7 pM}׬3vsX^]GQ#7UxY< NJ2 `>xQ9'iZhjG|.qY&h좘Ujq@ç2D S?> Tۢ7=[¹j[]gMZ0KwxvKw.=bz8^`Z MJa+!aߴs)w|y#} aZT=Q=-@r`[mWKP^,ՠeEq 9ʘ`CjS+soz؋}Ў_olv5ŴVT=Q^ZveU{7^~"5g2@`k7۔>8Cx&jj,$kn<, v~\o?`It}(STmUShǙmK?"AO+2KڂwH+bHߊvMZ&BJF{|ߢªx mJҝ@(V"TrEtԽR\|W |C9k8,]l0ԣtgeۖtWOQZrܜuDG(:Uf[t*}v}.>U$ &!e/]C,ښL'r"sM,&5-ף?3L2 nC@`&S@ @b@0;NL\pN^,_ _\NVIIIVIIVIIVIIIII/,HNVAN-HNeHzF?<NeHyoP?N^,_NuMol? /,HNVA-HHyoPHnHnHnN4^|r|Af8?<AB/A]"O2"//?/?<?<NQ(\HnN\?<AB/A]"O2"//?/?<?<NQ(\HnN$?<AB/A]"O2"//?/?< ?<NQ(\HnNNeHyoP?N^,_Nu Fehler!Mol? J/kgKkg/m c=u Dichte=: M=/,HNVAJ-H0.29pA49pH=@6.89pD:9pHÇ=C|=F0.29pAn yop(ptB^ yo0.0(l8.DWE yo0.0(n:.EWFCd09qvCfTNeHyoP?0. rAW69pxD^ńEBdAp-H4.1BİAfR:(DnHypN`4HypN?<BgBgBgBg n?( ?(?(?(NC`8:(D^:9qBVCFdHyp?( ?(?(?(N+0.3q0.R@=@`N^,_ _\N Z=.Gr .Nbngr.HptgrActinoideLanthanoide Ar=/,HNVPA-HN=@Ao-HPr1A0td1B vP1C8<v1D:<1E|1FHyoN@ nPC6^pQACT>p=Q nPCT 0p Q nPprAtBvCxD1@09o1@:9o1E,9o#p29o3p4. |v|CfHyoNAp-HPp1@r0t1B v21C8<r1D:<1E|1FHypN@ nPC^pQ nPprAtBvC1@ 9o#q89o3qBgN>prAtB=@=A=Bv=Cx=Dz=E0.|r|Af HnN=@rAtBg0.`ATCp 2p"QHyoN`HyoN`HypN``p=@=B`B0.2.Ap40BW4.60 tB^DAd 2.=ARn no0.rAm4.`AoHp?.?.?.?.N+`?.N=`HypN`0.rAfHyoN`0. F@=@`AoHpN-`?.?.?.?.?.N=0.AoHpN0.rAf$?<BgBgBgBg?.?.?.?.NC`*B BbB4; N .`|p3qACoPN`^3qp9oPzEo N`?9pHnTN>`,p3qN\`p9oPBoHyoP? @g @Sg @ag @bgh @rg` `HyoN`HypN`NN^,_ _TN^Q:Quit Esc:Eingabe Return:Auswertung Undo:Weitereingabe Elementinformationen Public Domain, programmiert von Volker Hemsen, Aug/Sept 1993 Periodensystem der Elemente /,HNVA-Hp#oA~CorQHyoHyoHyoHyoHyoN5 9org0?. N09oH//<Ng //9oNdN^,_ _TNpse.txt _&_/Hk."O/ / "K / / HysHy"0<NBO0Nu/,HNVA-HHnHnHnHnNC3qHyqN;609qrAo??9q?<HnN:^?N9p=@r=A0.r A_6.x D]EBd?9q?.HnHnHnHnN9B=@2.AfP4. CqA -H/?9q?."HX/ "HT/ "HP/ "H\/ N9B _00.R@=@0.R@=@`\09qrA_=B0.N^,_Nu/,HNVA-H n 0(2( Cq41?<}/ n ?( /N>Bg n ?(?( ?(?(?( / n P/ n \/ n X/NC n ?(?( ?(?(?(NC=@NApN^,_ _XN/,HNVA4-H n ?( / n P/ n \/ n X/N=N^,_ _XN/,HNVAB-H n 0(rAo./N n ?(NC n ?(NC n p1@N^,_ _XN/,HNVAB-H n p(rAg,"n0) 4)6B=@4)6)8(C=B6(xD\6(|(F]AEd?9q?<N8`?9q?<N8 n 0(`>p=@`p=@`p=@`p=@`p=@`p =@` @b@0;N @ g @ g @g @g@( @b@0;N| @ g @ g @gb@( @b@0;NJTrh @ gP @ gf @g,0(rPAm?9q?<N9`00(t(Bm?9q?<N9`?9qBgN9?9q?.N8?9q?.?.0. n2(A?0.2(A?N8~0. n2(IA=@2.4(6( Cq810DJB=A?9q??$n X/ N8N^,_ _PN/,HNVA-H n /N n 0(2(?N\?N\N_N]01@0(2(?N\?N\N_N]01@?9q n 0( Cq?1HnHnHnHnN9B=@?9q?<?<N:2?9q?<N;p=@ n 2(=A`& n /"h0.l/ NRn0.noN^,_ _XN/,HNVA-HA ]"O2"p?N\N[2AdJ n?<B/A ]"O2"//?/?< ?<NQ(\ n/NA ]"O2"N]0A ]"O2"?N\N[0@d,A ]"O2"0<?N\N_A 0 `&A ]"O2"?<3/<33N_A 0 ?< AB/A ]"O2"//?/?< ?<NQ(\HnN nNe/??<Ne/?`:S@ @b0@0;Nl<:Z~$ hp.rA^v.ҶA^ĄDBd~?9q??<N:2?9q?.?.HnN8?9q?<?<N:2?9q?.?.HnN80.2.A=@ACACRn noN^,_ _XNIonenradiuskovalenter RadiusAtomradiusReaktion mit Luftoberflchliche OxidschichtReaktion mit Wasseroberflchliche HydroxidschichtOxydationszahlElektronegativittElektonenaffinittkJ/molIonisierungsenergie/melektr.Leitfhigkeit x J/kgKspez.Wrmekapazitt ckub.raumzentriertkub.flchenzentriertkubischtrigonalhexagonalDiamantgittermonoklinrhombischtetragonalunbekanntKristallCurietemperaturbergangstemperaturSiedetemperatur TbSchmelztemperatur Ts kg/mDichte urelative Atommasse Ar,MElektr.konfig.,knstlich,flssigGasHalbmetallsupral.Halbl.,p>25barHalbleiterferromagn.Metallsupral.M., p>25barsupral.MetallMetall. /,HNVA-HBgHnHnHnHnN=?.?.?.?. HnHnHnHnN@~|r|AfFNAPN> n?(HnHnHnHnN=0.rAV6.AVDBd?.?.?.?.HnHnHnHnN@~|r|Af?9q?<?.?.0.2.AS@?0.4.BS@?N;?9qBgN8?9q?.?.0.2.AS@?0.4.BS@?N8t n0rAf /N`/N?9qN<. n?(HnHnHnHnN=`N?NApN^,_ _O N/,HNVA-H n /NT n 0(rAfp1@4(J1B`1A0(H1@Bg?(?( ?(?(?( / n P/ n \/ n X/NC n ?(?( ?(?(?(N= n /N n 0(rAf/?( ?(?(?(N~N^,_ _XN/,HNVA-Hp=@r=A0.R@=@ yopC2" n pr.AfLptBfp(v.CW=D`(p(v.CWp(z.EWF=D0.|t|BW0.49oB\ĆDCdX6.|x|Df =@`v=C0.N^,_ _XN/,HNVA-Hp=@ACr=ABgN\A0 BgN\A0 BgN\A0 nBgN\0 nBgN\0 n BgN\0 t=B n0R@0"n0p=@r)AWv(CWĄDxAD\|ZF_AEBdr.tB^C]$O4$?N\N[6CEdv1=Cp=@:SE0`v)Cf z=E`~z(Ef8 n/"n/ HnHnHnN|r|Afp=@`@xAD\rZA_BFd,NeHn?NF|//HnDNF|//HnJNF|//HnPNF|NVXPtHnz//HnVNF|//Hn\NF|//HnbNF|HnhNW"HnjNW"?< HnlNWNVX n"P0.xElp$"Q`HnzNNRHnzNNRN^,_ _ONtrvN=4t vN=4t vN=4t v N=4t N=btN=tN=tN=thN=Ei _"_ 4/&jH@& jp"BQ R  B0N0N<"j 0Nu <iNu/ "<ipsNB$_NuAi r r s s4 sNupNBU@VHNupNBNuEi _"j20/ R0B BX0a j 0NuEi _"jPp3Q0/ R00BBX00`` _Ci#_02/ Q00BB0a>`J"O?222222NC _?< BB/NC"O./Y/Y/Y /Y3NCpN=pN=0< N=0< N=pH@N>"O YY./Y?i/Y B/HNC?@?@oN>`\0Nu0<H@0/ N>0<H@0/ N>NC"O./3NCVH@/@NC0<N>n0<N>n"OJigJi f/HiHi Hi HiNCNu _"_// ?<NCNu _2/B?NCNuNBR@? @fB?<NCNBNuNB @o S@? @fB?<NCNBNuBBgNCNB @g N?S@`Nu?<`?<NCNu/,HNV8A~-H=nP=nR0.nS@=@T0.n S@=@V0.J@V0. J@VCBd p=@`Bn?<Bg?<?<HnHnHnhHnPHn8BgNAN^,_ _PN/,HNVA"-H0.n n =n`=n 0.N^,_ _XN/,HNVA"-H0.n m =n`=n 0.N^,_ _XN/,HNVA-H0."n?"n0"nQ? NN`=@0. n?"n0"n Q? NN>=@"n/ ?."$n? NN^"_2"n/ ?. $n? NND"_2"n0.$nR2"n 0.$nR2"n0J@^"n 0J@^C=B0.N^,_ _ON/,HNVA-H?<NCN^,_Nu/,HNVA-HBgNCN^,_Nu09sNu _<#s#s#s#s"_#s:3E3_3_ 2/3ys Jg4El: ys8DSEk0 ys00 ys0Q?"<s0<sNBJ_g6 ys:( ys8DSEk0 ys00 ys0QNu _3sN09sNu _3sN09sNu _3s3sN _"_$_2s4sN _3s3sN _"_$_2s4sN _3sN09sNu09sNu _3sN _3iN _3i3iN _3iN _3iN _3iN _"_$_&_6i4i2iN _"_$_&_6i4i2iN _ "@B) AmSAB1N`aaaaaaaaaaaaaaaaa~a|azaxavatarapanalajahafadaba`a^a\aZaXaVaTaRaPaNaLaJaHaFaDaBa@a>ac"(&`"0<NB29sg o "oB0UAm&a6QN^$_ yE>.HN  ' 46EM $$)+B"|s H2 H|2|2BQ ypsf2NuRNEFFHmys̱F3| NAXNu/")x itg$H@//?) ?<@NA LJof _Nu _4` _t6 Bo r aSB`2aN _4` _t"x0HgJJjDxvCtzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCtp0 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`N*opodRNu/,HNVA.-H"V ip2)AlpR@p0. N^,_ _TN/,HNVA@-H0. r A^vC_ĄDBd?<0 VN`t"VA0? INvN^,_ _TN/,HNVA<-HA]"O2"p?N\N[2=AAdA]"O2"N]A0 2.@nt=B=@ `4. @nvCl=C=@ p=@A]"O2"A0 A]"O2"r?NaN[4BdA]"O2"p?NaN[2Adr2.RA=At&Bo:A]"O2"?NaN_A?NaN_A0 `$A]"O2"?NaN_A0 `n`A]"O2"?N\N[4Bd0.S@=@rڰAl>A]"O2"t&?NaN]D@@?NaN]A0 `&A]"O2"D@?NaN]A0 A]"O2"p?NaN[4Bdl0. rAg4.BR@=@`4.QBTB=B0.t Bo8A]"O2"?</< ?NaN_N_A0 `:Am4A]"O2"?</< ?NaN_N_A0 A]"O2"v?NaN[8Dd.8.RD=DA]"O2"?NaN_A0 =C n nfA]"O2"N]0=@2.@0AC]$O4$0.?N\N_t?NaN]C2"Rn`0. rAf4.Bd?<- NN` ?< NNp.? NN?<. NNp=@2.QARA=A0.nnR@? NNRn`?<E NNx0.rAm?<+ NNb`?<- NNT0.D@=@0.r H@0? NN40.r HH@@0? NN`4.RB=B6.Am =B`x=D8.@RD=D:.EdRD=DRD=D:.=E0.nn?< NNRn`0.@d ?<- NN0.rAn?<0 NN`&t=B=@0.nn? NNRn`?<. NNTp=@2. =A0.nn2.A? NNnRn`N^,_ _N _$_"Wp i e)H/ NXL4NH/ NXLp)` _"WJ9tf*J)f i e)H/ NXL i d)J)fJg i dB9tJ)fBiQtNz`z _$_"WptvH/ Hyta<29tXL- -fJfVp`4  fJg*`F0e@  b:Ԃih(؄ib؄i^ԄiZԁRC  g i e) 0e 9cJg:JgD i d J)gPtJf 6Höf4N$NHyXt0<`Hzh0<Ni _$_0"Wt&JRJ)f:H/ Hyta`29tXL i d J)Ptf RBBe`Be`N Bad digit in number encounteredOverflow during READ of number(_ _/ C (g ( fJ(g J(fv`z$($IJtfpH / /?( ?<?NA LJo*fJg  f"J` g  Wf NuJg Jh gJ(f !|Nu!|NuH$hx&h|gpR@@gf!JxL`H &ht!KxJh f0abLEJ@g *f` J9tg R@Bh` / /<?( ?<?NA LJlp!K|JfnL` rH@Hsp/Bg?<?NA LRA3J9tg^ fSA` fL AgUH@Hz+p 3 dp` SAH@Hz$p/?<?<@NA LJ9tg`z fSA` fSAH@Hzp` f>H@Hzp `H@Hzp 3 dp/?<?<@NA LQ` d4 gb[g9@[gHHzxp/?<?<@NA LJ9tg& AfH@HzFp/?<?<@NA L NuHzR0<`Hz$0< LNi  p Exit q C^AReset required prior to Read or GetAttempt to read past end-of-fileHt p`:Ht p`.Ht p`"Ht p`Ht p` Ht p _/fJ/ gLJ/kJ`L/ fJkB`</jJk2`,gbJk&` Jk`"eb// ebr`r`rAV ?/Lt NuHt v` Ht v _ `Ht v` Ht v _0HJ[fBBg`,j Dj4<` 4<ЀkSB`Jf].B/BJg 2/.?o /@?A /Lt NuHt v` Ht v _ [2Jkp`&4<cH@j JgR@kJ@kJgD@?/Lt NuHt v` Ht v _ [2Jkp`$4<cd JgRkJk~JgD//Lt NuJ/ goNuNuHt _?///` Ht _0/2// Jv/ 8://N~/DD?DBoJgJgC|k?>BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/Lt NuBBo `Ht _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/Lt NuoHt _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/Lt NuHt _0 @&b(Cb<C/)?/Lt NuHyc>`Hyc&Lt Ni& Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvPFloating point overflowFloating point division by zero iNuHen _ gieid/LenNuHye`HyeNi&t`t _"_ gR e6Gej$S" geb"*f&"`&A%S"`&J`а|gb<|fP"9eZgH$A#eZ`:"9e^g6$A#e^`("9efg$$A#ef` @ g"9ebg $A#eb"`"Ei&R"$b HyerNi&Jgr"Qd2`"SjN _"_ " gieidgR m @ e@Eej"fB#@B$`p&A"+ef "'I`Z"#@B$`L$K`ư| f"ef#ef`4|f"eb#eb` |f"e^#e^` "eZ#eZNHeap overruns stackPointer NILPointer not in heapHtR _0"_e /LtRNuHygNi&/B9tz/|tzNuHtR _0 @f0"|tPtPp` "_J@jpEtzr4@ BbBS@kQ/LtRNuHtR _4SBkt82$_rAbd0 @f0"|tPtPp` "_J@jp6ADb6CG0IS@k$eQ/LtRNuHtR _4k2SAk0"_p6B@bE0)CS@kQ/LtRNuHtR _2$_r0 @f0"|tPtPp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LtRNuHtR _4kF2SAk>0 @f0"|tPtPp` "_J@jpJBg@b6B@oCEtzSBkQ/LtRNuString overflowH?uz _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?uzNu0NvDNHuz|` Huz| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LuzNu _(N _0/Ho |h3iJyifXNX/#u"|ia "_a"|iaJyig yu9BgNA/ ?< NA\Nu09iNu09iByiNu _3iByiNByiNurrss4s *** *** Copyright 1986, CCD and OSS, Inc.& J`D ">88  L $ & ,&\ ," & ` 4f 66F" $T   .lJ   :D `  2@."":&0 @ H>   **8   t6 (6 dN*  L   x *f44 x (J (J  &@.*$ flh ( .&& 2($$$j    (   Z  2  8$$$H,&&$:02 40 (& ,0@" $ &   l             N$6"  2>"<(L  PPb:Xf:,:b BBb4DJj.  $0"Z0&(.  (  blX$Fd z  f H F  2  "D    * "FV ( *@ B @ (V    a)4+u'z"ݰDb#FM|(IXWl A"9Т8x|`7xXg F^m%zNqKtEA.d]Yuԡ:g H9,c1d|^N$#oez| Vs)+K~_sY0rs 3`~rAmV~~A`CbtQ~?9`HybNO.3^~rAm~?<Np~N]P~~HyNhBgNA PSETR ?Hz~/,HNVA-HP~ np(r AWpvC^DBd~/? _XNCITOROM ?Hz~/,HNVA-HP0.`~~ npI`~ ~ nC`~!~! nC`~"~" nC`~#~# npV`v~$~$ nC`^~%~% nCf`D~&~& nCH`(~'S@ @b@0;N,@Xr~(N^,_X> _\NVIIIVIIVIIVIIIIISETINPINFO?Hz~,/,HNVAV-HPNHzN?<NHy?NuMol? SETMOLINFO?Hz~4/,HNVA-HPHyHnHnHnN>|r|AfJ~5?<AB/A]"O2"//?/?<?<Nj\~6HnN~7?<AB/A]"O2"//?/?<?<Nj\~8HnN|~9?<AB/A]"O2"//?/?< ?<Nj\~:HnN@~;NHy?~>NHzd?<NHy??<N _Cn2p"Q~??9dHynNKz~@N^,_X>Nu Fehler!Mol? J/kgKkg/m c=u Dichte=: M=MAUS_EREIG?Hz~I/,HNVA-HP0.29lA49$H=@~J6.89jD:9"HÇ=C~K|=F~L~L0.29 An~M yXp(ptB^~N yX0.0(l8.DWE yX0.0(n:.EWFCd ~O09vCfZ~PNHy?~:(D^:9BVCFd"><Hy*?( ?(?(?(NA><0.3><><><><0.R@=@><`^><N^,_X> _\N Z=.Gr .Nbngr.HptgrActinoideLanthanoide Ar=MAINLOOP ?Hz></,HNVPAN-HPN"=@><Ab-HP><><r1A><0><td1B vP1C8<v1D:<1E><|1F><HybN#>< nPCr^pQ><ACT>p=Q>< nPCT 0p Q>< nPprAtBvCxD1@><09^1@><:9\1E><><,9X#><29`3 ><4.|v|Cf><HybN$><A*-HP><><p1@><r0><t1B v21C8<r1D:<1E><|1F><Hy*N#>< nPC^pQ>< nPprAtBvC1@><>< 9X#><89`3><BgNK><><prAtB=@><=A=Bv=C><x=Dz=E><><0.|r|Af><><HnNB=@><rAtBg><><0.`x><><><ATCn2p"Q><HybN$><`T><><><HybN&>><Hy*N&>><`$><><><p=@><=B`N><><0.2.Ad40BW4.60 tB^DAd><2.=ARn no><0.rAm><4.`N><><><AbHp?.?.?.?.NA`B><><><?.NJ`(><><><Hy*N&>><0.rAf$><HybN&>><0.F@=@><><`><><><AbHpND(`><><><><?.?.?.?.?.NJj><0.AbHpN%><0.rAf(><?<BgBgBgBg?.?.?.?.N]><`.><B BbB4; N Bff><`>< @(g @)g`><><0.rAtBV0.ذB^><D/?.?.N]&29dAWBCd><?.?.?.N"><0.rAtBg><><0.6<C8.D` ><><><><ACn;p:Q><?9dHynNKz><` ><><><p3><APC><N><`><><><><3><p9zEo><><N`><><?9dHnTNKz><`><><><><p3><NR><`h><><><p9Bo&><Hy?<N><`&><><><0.F@=@` ><><><0.:<E=@><|0F\t9B_Cv9xD^Ez(EWƂF|)FW‚B>< tAB\xZD_ECvaC\|zF_BEAdF>< NHy?< N8>< >< `J>< @g$ @g @g @gB @Sg @ag @bg @rg"`><><`0><><HybN&>><Hy*N&>><N$B><N^,_X> _TN^Q:Quit Esc:Eingabe Return:Auswertung Undo:Weitereingabe Elementinformationen Public Domain, programmiert von Volker Hemsen, Aug/Sept 1993 Periodensystem der Elemente MAIN ?Hz></,HNVA-HPp#X><ACrQ><HyHyXHy`Hy^Hy\N>< 9Xrg@><><?.NP>< 09`H//<N //9XN~\><!><"N^,_X> _TNpse.txt _&_/Hk."O/ / "K / / Hy.Hyx"0<NBO0NuU ?Hz~ /,HNVA-HPp=@~ r=A~~~0.R@=@~ yXpC2"~ npr.AfV~ptBf~p(v.CW~=D`,~~p(v.CWp(z.EWF=D~0.|t|BW0.49`B\ĆDCdF~~6.|x|Df~~=@` ~~v=C~0.N^,_X> _XNMLEHU?Hz~%/,HNVAL-HPp=@~&~'AJC~(r=A~)BgNvZA0 BgNvZA0 BgNvZA0 ~* nBgNvZ0 nBgNvZ0 nBgNvZ0 ~+t=B~,~-~- n0R@0~."n"0p=@~/~0r)AWv(CWĄDxAD\|ZF_AEBd~1r.tB^C]$O4$?NvZNur6CEd~2v1=Cp=@:SE0~3`~3v)Cf~4~5z=E`~5z(Ef@~6 n"/"n/ HnHnHnN|r|Af ~7p=@~8~9`D~9xAD\rZA_BFd.~:NHn? n0"n"rA\0.r0A]x9D^ņECBd~?t1=Bp=@~@0.A\°D_CBd~A~B~C4.vCfl~D~D0.r0A\v9C_D n8"n"zE_FBd.~E4. A@=B~F0R@0~G0p=@~H`~I n0S@0~J~K~LC]$O4$p?NvZNu2Ad~M"n]$O&I4$E]&O6&2.?NvZNwNy2"~N"n]$O&I4$E]&O6&?NvZNwNy2"~O"n]$O&I4$E]&O6&?NvZNwNy2"~P?NvZC2"~Q`$~Qr.в@g~RHnN=@~SrAm~T yXC] O0 0.?NvZNwA0 ~U n]"O$H2"C]$O4$Ny0 ~V n]"O$H2"C]$O4$"yX4.Ev]"O2"NxNy0 ~W n]"O$H2"C]$O4$"yX4.4)?NvZNwNy0 ~X` ~Y~Yt=B~Z~[AvC~\p=@~]~^0.|r|AW0.|r|AWÄC n0"n"rA\ÄCBdZ~_0.=@~`0.N^,_X> _ONORCNN?Hz~e/,HNVA-HPp=@~f n/Hn"n/ $n/ &n/ NB|r|Af\~g n"n]$O4$]"O$H2"Nx0 ~h n]"O$H2""n]$O4$Nx0 ~ip=@~j` ~k~kp=@~l0.N^,_X> _ONREADDATEI ?Hz~u/,HNVA-HPAz0B B n rg&~v"n0H//<N //N~\~wHnz n"/?<><PjHnzNp~X><PjHnzHnxNpHnNpHnNp?<HnNqNp~X><PjHnz//HnN`@HnNp//HnN`@//HnN`@//HnN`@?<HnNqNp~X><A]"O2"p?NvZNu2Ad><><2.`6><><><PjHnz//HnN`@Np~X`T>< Ag Ag Ag A g Ag A)g A*g A+g A3g AQg ARg ASg A[g><PjHnz?<Hn$NqNp~X><PjHnzHn:NpHnN`@><//HnDN`@//HnJN`@//HnPN`@Np~X><PjHnz//HnVN`@//Hn\N`@//HnbN`@><HnhNpHnjNp?< HnlNqNp~X><><>< n"P0.xElp$"Q><`F><><HnzNh><><><><><HnzNhN^,_X> _ON_L ?Hz~/,HNVAJ-HPHnHnHnHnN]3~HyNH~09rAo~~??9?<HnNG@?NFr~p=@~r=A~~0.r A_6.x D]EBd~~?9?.HnHnHnHnNF$=@~2.AfZ~~4. CA -H~/?9?."HX/ "HT/ "HP/ "H\/ NF$ _0~0.R@=@~~ 0.R@=@~!`F~"~#09rA_=B~$0.N^,_X>NuW_INITGR ?Hz~(/,HNVA-HP n0(2( C41?<}/ _XNW_REINSTAL?Hz~./,HNVA-HP?9NHp~/N^,_X>NuW_OPEN ?Hz~4/,HNVA0-HP n0(rAo~5?(~6NJ`~6~7??<HnHnHnHnN]~8 n/?(?.?.?.?.N] _1@~90(rAo~:~;NN2~< n?(^/NKp~= n?( /NKz~>Bg n?(?( ?(?(?( / nP/ n\/ nX/N]~? n?(?( ?(?(?(N]=@~@NNR~A~B~CN^,_X> _XNW_GETPARS ?Hz~G/,HNVA:-HP n?( / nP/ n\/ nX/NJ~HN^,_X> _XNW_CLOSE ?Hz~L/,HNVAT-HP n0(rAo:~M~N/Nh~O n?(N]~P n?(N]~Q np1@~R~SN^,_X> _XNFELDAUFBAU?Hz~X/,HNVA-HP np(rAgv~Y~Z"n0) 4)6B=@~[4)6)8(C=B~\6(xD\6(|(F]AEd~]?9?<~^NE`~_~_?9?<NE~` n0(`X~a~ap=@`~b~bp=@`~c~cp=@`~d~dp=@`~e~ep=@`~f~fp =@`~g @b@0;N @ g @ g @g @g@( @b@0;Ndr @ gr @ g @gH@( @b@0;N0>hZ @ g> @ g` @g~h0(rPAm~i?9?<~jNF`:~j0(t(Bm~k?9?<~lNF`~m~m?9BgNF~n?9?.NE~o?9?.?.0. n2(A?0.2(A?NE`~p0. n2(IA=@~q2.4(6( C810DJB=A~r?9??$nX/ NE~s~tN^,_X> _PNW0_SEITE ?Hz~y/,HNVA"-HP n/N>~z n0(2(?NvZ?NvNNxNv01@~{0(2(?NvZ?NvNNxNv01@~|?9 n0( C?1HnHnHnHnNF$=@~}?9?<?<NG~~?9?<NH~p=@ n2(=A`.><>< n/"h0.l/ N$Rn0.no><N^,_X> _XNSET_TEMP ?Hz></,HNVA-HPA]"O2"p?NvZNu2Adz><>< n?<B/A]"O2"//?/?< ?<Nj\>< n/N><A]"O2"Nv0A]"O2"?NvNNu0@d4><A]"O2"><0<?NvZNyA0 `.><><A]"O2"?<3/<33NyA0 ><?< AB/A]"O2"//?/?< ?<Nj\><HnN>< nN/?<`><>< nC" rQ><N^,_X> _O NunbekanntC)K(SET_RADIUS?Hz></,HNVA -HPA]"O2"p?NvZNu2Ad">< n><C rQ`><>< n?<B/A]"O2"//?/?<?<Nj\><?<AB/A]"O2"?</< Nw//?/?<?<Nj\>< nNHn?<><N^,_X> _O NЏ)nm(unbekanntETUBK?Hz></,HNVAh-HPA]"O2"p?NvZNu2Ad,>< nCD rQ><r=A><`><><=@><0.N^,_X> _O NunbekanntW1_SEITE ?Hz></,HNVA-HP n/N>< n0( 2(AY@=@><2( XA=A><"h4(lEt$$Q><?9BgNF><?9Bg?<NG><?9 n0( C21A?HnHnHnHnNF$=@>< n2(=A><?9?.?Hn"NE><?9 n0( C?1HnHnHnHnNF$=@><?9?<?<NG><?<AB/ n?(Ni\><NHn?<?9?.?.HnNE><0.2.A=@><4..`><><A CtQ`><><AC t Q`f><><ACtQ`F><><ACtQ`&><><AfC t Q`><><A0CtQ`><><AC t Q`><><AC`>< BbB4; N 0P B gb B gz Bg BgB( BbB4; N  B g( B g@ BgXB( BbB4; N  B g B g Bg"><4..v(C\zPE]FDd6><NHn?<ʴEm6><NHn?<?9?.?HnNE><0.2.A=@><t=B` 2><><><0.` ><><><ACp Q><A^C2p"Q><` ><><><A CpQ><HnA<]"O2"Nx|r|Af><><?<AB/A<]"O2"//?/?<?<Nj\><HnN><NHn?<><` L><><><A CpQ><HnA(]"O2"N|r|Af><><?<AB/A(]"O2"//?/?< ?<Nj\><HnN><NHn?<><` ~><><><A CpQ><HnA6]"O2"Nz><` >><><><A CpQ><HnA0]"O2"N:><`><><0..`><><><><A PCpQ><HnAX]"O2"N><`><><><><A CpQ><HnAX]"O2"N><`><><><A C`>< @gV @gN @g @ g@ @g8 @)g0 @*g( @+gd @3g @<><><A CpQ><0.t`F><><A C pQ`R><><A C p Q`2><><A C pQ`><><A hCpQ`><><A :C p Q`><><A C pQ`><><ACpQ`><><ACpQ`r><><ACpQ`R>< >< AZCpQ`2>< @ b&@0;N.Nn>< `$>< >< >< ACpQ><Hn?.vNvZN|r|AfZ><><?<AB/?.vNi\><NHn?<><`~><><><A&CpQ><HnA]"O2"N|r|Af><><A]"O2"?<?<AB/A]"O2"//?/?<BgNj\><`L><><?<AB/A]"O2"//?/?<?<Nj\><HnN><><NHn?<>< `F><!><!><"ACpQ><#HnA]"O2"N|r|Af><$><%?<AB/A]"O2"//?/?<?<Nj\><&HnN><'NHn?<(><)`x><*><*A]"O2"p?NvZNu2Ad><+><,ACrQ><-?<AB/A]"O2"//?/?<?<Nj\><.HnN></NHn?<0`><1><1A]"O2"p?NvZNu2Add><2><3ACrQ><4?<AB/A]"O2"//?/?<?<Nj\><5HnN><6` ><7><7><8AC"""><9HnN><:p.rAo><;AFCt Q><<`><=><=0.`F><>><>ACpQ`2><?><?ACpQ`><@ @g @g`b><A><A0.`F><B><BAbCpQ`2><C><CA0CpQ`><D @g @g`><E><E><FAC p Q><GHnAx]"O2"N><H`><I><I><JACpQ><KHnA~]"O2"N><L`~><M><M><NAPC p Q><OHnA]"O2"N~><P`>><QS@ @b0@0;N,bx d,l><Rp.rA^v.ҶA^ĄDBd><S?9??<NG><T?9?.?.HnNE><U?9?<?<NG><V?9?.?.HnNE><W0.2.A=@><XAC><YAC><Z><[Rn no><\N^,_X> _XNIonenradiuskovalenter RadiusAtomradiusReaktion mit Luftoberflchliche OxidschichtReaktion mit Wasseroberflchliche HydroxidschichtOxydationszahlElektronegativittElektonenaffinittkJ/molIonisierungsenergie/melektr.Leitfhigkeit x J/kgKspez.Wrmekapazitt ckub.raumzentriertkub.flchenzentriertkubischtrigonalhexagonalDiamantgittermonoklinrhombischtetragonalunbekanntKristallCurietemperaturbergangstemperaturSiedetemperatur TbSchmelztemperatur Ts kg/mDichte urelative Atommasse Ar,MElektr.konfig.,knstlich,flssigGasHalbmetallsupral.Halbl.,p>25barHalbleiterferromagn.Metallsupral.M., p>25barsupral.MetallMetall. W_REDRAW ?Hz><a/,HNVA-HPBgHnHnHnHnNJ><b?.?.?.?.HnHnHnHnNM`|r|Af><c><dNN2><eNK><f n?(HnHnHnHnNJ><g><g0.rAV6.AVDBd2><h><i?.?.?.?.HnHnHnHnNM`|r|Af><j><k?9?<?.?.0.2.AS@?0.4.BS@?NH><l?9BgNE><m?9?.?.0.2.AS@?0.4.BS@?NEV><n n0rAf><o/><pN`><q><q/N><r?9NI><s><t n?(HnHnHnHnNJ><u`><vNK><wNNR><x><yN^,_X> _O NW_FULLED ?Hz><}/,HNVA -HP n/N><~ n0(rAf&><><p1@><4(J1B><` ><><1A><0(H1@><><Bg?(?( ?(?(?( / nP/ n\/ nX/N]>< n?(?( ?(?(?(NJj>< n/N>< n0(rAf></?( ?(?(?(N><N^,_X> _XNtrvNJt vNJt vNJt v NJt NJDtNItNItNIthNIE _"_ 4/&jH@& jp"BQ R  B0NIE jBX0 R pH@ B0NI"jP _r$_4QXNE j0 R0kp BX0NI _"j 0"jPr$_4QXNt NItNItNItjNIE _"j H@"2&_p$TBQ"j H@"2BQ0/ R  r 0NIE _&_(_"j H@"0/ R0'B BX0NI j (&NuE _"j H@"0/ R0'B0B0NIE _&_"j20/ R0B !BX0NI j 0"KRr4WUI2 NuE _&j%_"_0/ jr4SABW R0tr 0B0NI%KNut`td`E _"_%I pZ%I&_%_/(R8p(( -B\8NI6NIE _&_/ jp 0Q0$R4dp$$ -BZ4NI6NutwNItxNIt`t` t`te` _0/ y0BBBX0NIE _"_%I pZ%I"j20/ R0fr -H NINIt NIE _"jPp3Q"j20/ R r B0NI _0/E jBP R0B0B0NIE _"j H@"0/ R0B0r= 0NIE _"j20/ R0B 0>0NI"j 0Nu <Nu/ "<psNB$_NuA h    NupNBU@VHNupNBNuE _"j20/ R0B BX0a j 0NuE _"jPp3Q0/ R00BBX00`` _C#_02/ Q00BB0a>`J"O?222222N] _?< BB/N]"O./Y/Y/Y /Y3N]pNJpNJ0< NJ0< NJpH@NK"O YY./Y?i/Y B/HN]?@?@oNKp`\0Nu0<H@0/ NK0<H@0/ NKN]"O./3N]H@/@N]0<NKP0<NKP"OJigJi f/HiHi Hi HiN]Nu _"_// ?<N]Nu _2/B?N]NuN\R@? @fB?<N]N\NuN\ @o S@? @fB?<N]N\NuBBgN]N\ @g NKS@`Nu?<`?<N]Nu/,HNV8A~-H=nP=nR0.nS@=@T0.n S@=@V0.J@V0. J@VCBd p=@`Bn?<Bg?<?<HnHnHnhHnPHn8BgN[ZN^,_ _PN/,HNVA"-H0.n n =n`=n 0.N^,_ _XN/,HNVA"-H0.n m =n`=n 0.N^,_ _XN/,HNVA-H0."n?"n0"nQ? NN`=@0. n?"n0"n Q? NN>=@"n/ ?."$n? NN^"_2"n/ ?. $n? NND"_2"n0.$nR2"n 0.$nR2"n0J@^"n 0J@^C=B0.N^,_ _ON/,HNVA-H?<N]N^,_Nu/,HNVA-HBgN]N^,_Nu/,HNVA-H/.?.0. rA?N]bN^,_ _PN/,HNVA-H/.?. ?<N]dN^,_ _\N/,HNVA-H/.?. BgN]dN^,_ _\N/,HNVA -H/.Hn N]/?. N]hN^,_ _ON/,HNVA"-H n /N]/?.N]j=@0.N^,_ _\N~,GxvGQI/??<NM(PRDQ/<O?<?<NM# PNu |R)a<aHy(?<N]NU$xvI/??<NMPRDQ/9 ?<?<NMPNu |Q` |R` |RaJah o`< |Q` |Qa. |Qa8 oaa: o `/ |R3a _/ |R4a _"f/ |R`a _`V"nH .g |R}`Jk |RJ` |RUaL/ .f^Xt AH aLQa/ |Rmat&<'HǏf CgJfr `t20/ax$HG faf |RvaP _a`|/2<$aR _tv"0 :e^H a2LYCQNu3&/ |R$a _?ga `2Nu<|H瀀09&Ry& |(LNuP&P.PTPP PBus errorAddress error accessing Attempt to divide by zeroValue out of rangeInteger overflow[3][][ Abort ]Error in Called by PROCEDURE FUNCTION MAIN PROGRAMat line at PC *unknown*/,HNV,A-HN0. rAg =A.`&Hn,Hn,Hn,Hn,N]?N\pd=@.0. =@r=A`0.@rA1Rn n op=@?..Bg?< BgHnHnHn`HnHHn0BgN[Z0.=@0.N^,_ _TN/,HNVAX-HN\$=@?.N\0. =@?<fBg?<BgHnHn n/Hn"n/ BgN[Z?.N\N^,_ _O N/,HNV4A-HN\$=@6?. N\?. HnhHn8?<N\0.hrAg te=B4`t=B4????HnHnHnhHnPHn8?N[Z0. 2.6Ag?N\` BgN\N^,_ _TN/,HNV8A2-HN?<BgBgBgHnHnHnhHnPHn8BgN[ZN^,_Nu/,HNVAt-HNp=@N]>=@rAg?<N=@?.N\?.N\?BgBgN\b0.=@?<NU0.N^,_Nu/,HNVA(-HN\=@rAg?NlN]P=@N^,_Nu/,HNVA-HHn N]/N[N^,_ _ON/,HNV8A4-H=n ?.Bg?<BgHnHnHnhHnPHn8BgN[ZN^,_ _XN/,HNVA-H?< ?. NN^,_ _TN/,HNV8AF-H=n=n=n=n ?<Bg?<BgHnHnHnhHnPHn8BgN[ZN^,_ _PN/,HNVA-H?. N\?<?. NN^,_ _TN/,HNVA-H?<?. NN^,_ _TN/,HNV8A8-H=n PBnR?<BgBg?<HnHnHnhHnPHn8BgN[ZN^,_ _TN/,HNV8AH-H?.?. N\=n=n ?<lBg?<BgHnHnHnhHnPHn8BgN[ZN^,_ _XN/,HNVA-H?. N\?<?. NN^,_ _TN/,HNVA(-H0. rA?N\?<h0. rA?NN^,_ _TN/,HNVAt-H?. N\=n 0. rAo0p=@0. S@=@ 0. rAop=@0. @=@ ?<?.Nj0.rAo?<?. NRN^,_ _TN/,HNV6A:-H=n =n?<'Bg?<BgHnHnHnhHnPHn8BgN[ZN^,_ _XN/,HNVA-H?<j?. NN^,_ _TN/,HNV8A8-HBnP=n R?< BgBg?<HnHnHnhHnPHn8BgN[ZN^,_ _TN/,HNVA-H?<?. NlN^,_ _TN/,HNV2A-HHn2Hn4Hn6N\BgBgN=nP=nR0.nS@=@T=nV0.nS@=@X0.n S@=@Z=n\0.n S@=@^=n`=nb?<BgBg?<HnHnHnhHnPHn8?<N[Z?.4?.6NN^,_ _PN/,HNV8AZ-H=nP=nR0.nS@=@T0.n S@=@V?< ?< Bg?<HnHnHnhHnPHn8?<N[ZN^,_ _PN/,HNVAl-HHnHnHnN\BgN8?<NHnHnHnN\?.N?.?.?.?. N6?.N?.N?.N~N^,_ _PN _(N _0/Ho |Z3FJyDfXNX/"_/$|a."|a&Hy?<N]JyTg _9NU$BgNAg`Nu09.Nu _<####"_#:3E3_3_ 2/3y Jg4El: y8DSEk0 y00 y 0Q?"<0<sNBJ_g6 y:( y8DSEk0 y00 y0QNu _3N09Nu _3N09Nu _33 N _"_$_24 N _33N _"_$_24N _3 N09 Nu09Nu _3N _38N _3<3:N _3>N _3@N _3BN _"_$_&_684:24@2BN _ "@B) AmSAB1N`aaaaaaaaaaaaaaaaa~a|azaxavatarapanalajahafadaba`a^a\aZaXaVaTaRaPaNaLaJaHaFaDaBa@a>a3| NAXNu/")x itg$H@//?) ?<@NA LJof _Nu _4` _t6 Bo r aSB`2aN _4` _t"x0HgJJjDxvCfzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCfp0 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`N*opodRNu/,HNVA.-H"V ip2)AlpR@p0. N^,_ _TN/,HNVA@-H0. r A^vC_ĄDBd?<0 VN`t"VA0? INvN^,_ _TN/,HNVA<-HA]"O2"p?NvZNu~2=AAdA]"O2"NwA0 2.@nt=B=@ `4. @nvCl=C=@ p=@A]"O2"A0 A]"O2"r?N{Nu4BdA]"O2"p?N{Nu2Adr2.RA=At&Bo:A]"O2"?N{NxA?N{NxA0 `$A]"O2"?N{NxA0 `n`A]"O2"?NvZNu4Bd0.S@=@rڰAl>A]"O2"t&?N{NwD@@?N{NwA0 `&A]"O2"D@?N{NwA0 A]"O2"p?N{Nu4Bdl0. rAg4.BR@=@`4.QBTB=B0.t Bo8A]"O2"?</< ?N{NxNyA0 `:Am4A]"O2"?</< ?N{NxNyA0 A]"O2"v?N{Nu8Dd.8.RD=DA]"O2"?N{NxA0 =C n nfA]"O2"Nv0=@2.@0AC]$O4$0.?NvZNyt?N{NwC2"Rn`0. rAf4.Bd?<- NN` ?< NNp.? NN?<. NNp=@2.QARA=A0.nnR@? NNRn`?<E NNx0.rAm?<+ NNb`?<- NNT0.D@=@0.r H@0? NN40.r HH@@0? NN`4.RB=B6.Am =B`x=D8.@RD=D:.EdRD=DRD=D:.=E0.nn?< NNRn`0.@d ?<- NN0.rAn?<0 NN`&t=B=@0.nn? NNRn`?<. NNTp=@2. =A0.nn2.A? NNnRn`N^,_ _N _$_"Wp i e)H/ NrXL4NH/ NrXLp)` _"WJ9hf*J)f i e)H/ NrXL i d)J)fJg i dB9hJ)fBiQjNz`z _$_"WptvH/ Hyfa<29fXL- -fJfVp`4  fJg*`F0e@  b:Ԃih(؄ib؄i^ԄiZԁRC  g i e) 0e 9cJg:JgD i d J)gPhJf 6Höf4N$NHyr80<`Hzh0<NZ _$_0"Wt&JRJ)f:H/ Hyfa`29fXL i d J)Phf RBBe`Be`N Bad digit in number encounteredOverflow during READ of number(_ _/ C (g ( fJ(g J(fv`z$($IJtfpH / /?( ?<?NA LJo*fJg  f"J` g  Wf NuJg Jh gJ(f !|Nu!|NuH$hx&h|gpR@@gf!JxL`H &ht!KxJh f0abLEJ@g *f` J9jg R@Bh` / /<?( ?<?NA LJlp!K|JfnL` rH@Hsp/Bg?<?NA LRA3J9jg^ fSA` fL AgUH@Hz+p 3 dp` SAH@Hz$p/?<?<@NA LJ9jg`z fSA` fSAH@Hzp` f>H@Hzp `H@Hzp 3 dp/?<?<@NA LQ` d4 gbu+9@u+HHzxp/?<?<@NA LJ9jg& AfH@HzFp/?<?<@NA L NuHzR0<`Hz$0< LNZ  p Exit q C^AReset required prior to Read or GetAttempt to read past end-of-fileHlp`:Hlp`.Hlp`"Hlp`Hlp` Hlp _/fJ/ gLJ/kJ`L/ fJkB`</jJk2`,gbJk&` Jk`"eb// ebr`r`rAV ?/LlNuHlv` Hlv _ `Hlv` Hlv _0HJ[fBBg`,j Dj4<` 4<ЀkSB`Jf].B/BJg 2/.?o /@?A /LlNuHlv` Hlv _ [2Jkp`&4<cH@j JgR@kJ@kJgD@?/LlNuHlv` Hlv _ [2Jkp`$4<cd JgRkJk~JgD//LlNuJ/ goNuNuHl _?///` Hl _0/2// Jv/ 8://N~/DD?DBoJgJgC|k?>BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LlNuBBo `Hl _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LlNuoHl _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LlNuHl _0 @&b(C|C/)?/LlNuHy}`Hy|LlN[ Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvPFloating point overflowFloating point division by zero HNuH2 _ gLeHd/L2NuHyJ`HyVN[t`t _"_ gR e6G.$S" geb"*f&"`&A%S"`&J`а|gb<|fP"9gH$A#`:"9"g6$A#"`("9*g$$A#*` @ g"9&g $A#&"`"EH&R"$b Hy6N[Jgr"Qd2`"SjN _"_ " gLeHdgR m @ e@E."fB#@B$`p&A"+ef "'I`Z"#@B$`L$K`ư| f"*#*`4|f"&#&` |f""#"` "#NHeap overruns stackPointer NILPointer not in heapH _0"_e /LNuHyN[/B9/|NuH _0 @f0"|p` "_J@jpEr4@ BbBS@kQ/LNuH _4SBkt82$_rAbd0 @f0"|p` "_J@jp6ADb6CG0IS@k$eQ/LNuH _4k2SAk0"_p6B@bE0)CS@kQ/LNuH _2$_r0 @f0"|p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LNuH _4kF2SAk>0 @f0"|p` "_J@jpJBg@b6B@oCESBkQ/LNuString overflow _pJ.g 0( hNVg4 ( hg( hH`0( hNVg ( hg hHfXgr"ODd2Sk "Sj` _"yHe HytN[N## .f -|d`-|d nNнf yNStack overruns heapH? _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?Nu0NvDNH|` H| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LNu09DNu09FByFNu _3DByFNByFNuh[3][][ Abort ]Copyright 1986, CCD and OSS, Inc.  jj >@<<  h& , ,.l" 2*(Lz " NF  f: @l0 . 6j* & $^L    " >fx 0 0((<*&&&    <    *b    JL:"".VBP$"B h`     *.X  >(0: ^. p   "  2 8@ 8V 4V0&   * "P.  *<& "X 8$$$H,&&$:02 40 (& ,0@" $ &   l.,*( (      8@F *b,4 "T & "  $J$~(4$66rRz, X               N$6"  2>"<(L  PPb:Xf:,:b BBb4DJj.  $0"Z0&(.  (  blX$Fd z  f H F  2  "D    * "FV ( *@ B @ ( V   LRGDp򜂔!L,P4]cuZ#@OP~8ªؿp?b›ӻ#ɵn)|JOXC󶿜/>MqH-.dž`Y]`2& }__~Ks8#ddjoK7nz$}}vcT@V>px_`g߃A,]tXG"KN[  sgQRåB8& >-E G)KJS`0Qk3H&Fi,`Wd„( IpM2l9cB1\8]΄6(tLzB˂Ytۊ7cPKf^d–֫ zjͰVOPvµœ_LfoU^*l=jrm|KYō_Κ~FN: 욀#BA٪\$ e\F\e1[%PCB Mdehm\] A0M>$*N^xU0NJ)VR͍i1W} xͥǜ:M"Eq:&JWn,"A#>J-ț@^$*RfԼ<1NSЧ+z?CgiC M]k~I5Oj!}7 =$6Jk*nO ҃ҁ#oJ?ozY3< NۋmKߺlhD =H4Ю*\Z%ytmU} Ni$ӫR ^wfvAQ?G nIϣĵ./A+!:x\9,y8)kd Rg `MGwL{ ~km_u7/******************************************************************* * Modul : PR_ZIFF.H * Projekt : PRFZIFFERN * Aufgabe : Prfziffernrechnung nach Art der Banken * *------------------------------------------------------------------ * (C)1993 by LANTEC ComPro * Autor : Ralph Lanfermann * Datum : 11.06.1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ /* Berechnet aus einer laufenden Nummer und dem Vorsatz eine Kundennummer mit Prfziffer. Parameter : -> : base 4 Stellige Nummer des Kunden. (z.B. : 540 ) pre 2 Stelliger Vorsatz. ( z.B. : Filiale 23 ) <- : eine 7 Stellige Kundennummer ( im Beispiel : 2305406 ) */ GLOBAL LONG _clc_pnum( CONST LONG lfd_nr ,CONST LONG vorsatz ); /* Berechnet aus der 7 Stelligen Nummer die Laufende Nummer. -> kdnr : 7 Stellige Nummer ( z.B. 2305406 ) <- lfd : Die Laufende Nummer ( also 540 ) */ GLOBAL LONG _getlfd( CONST LONG numm ); /* Berechnet von 'start' an 'anzahl' neue Nummern. -> start : 1.Nummer anzahl: Wieviele Nummern sollen es werden. pres : Vorsatz func : Zeiger auf eine Funktion, die wie folgt deklariert ist. VOID func ( LONG a , LONG b ) Wobei a die Werte 1,2,...,anzahl hat und in b die jeweiligen Kundennummern enthalten sind. Die Funktion kann die Nummern ausgeben oder sichern oder vergessen oder.... <- nix */ GLOBAL VOID _clc_some( LONG start , LONG anzahl , LONG pres, VOID(*func)(LONG,LONG) ); /* Die Funktion berechnet die nchste Laufende Nummer. -> : numm : Startnummer, z.B. 2305398 pre : Vorsatz 23 mode : Richtung, entweder -1 oder +1 bei +1 kme dann 2305406 heraus. Es sind auch grere Distanzen mglich. (+5 -9 ... ); <- : Entweder die folgende Nummer oder eine 0L, wenn die laufende Nummer negativ oder zu 5-Stellig wird. */ GLOBAL LONG _clc_next(CONST LONG numm ,CONST LONG pre , WORD mode ); /* Die Funktion prft die Nummer und gibt ein FALSE (0) fr 'falsche Prfziffer' oder ein TRUE (1) fr ok zurck. -> : numm : Die zu prfende Nummer. pre : Der Vorsatz. <- : TRUE : Nummer korrekt FALSE: Nummer falsch, zu kurz, zu lang.... */ GLOBAL BOOLEAN _tst_numm( CONST LONG numm, CONST LONG pre ); M""'l[\a[ȑu8w̟=+ΧCWjya[ļiׁz[]s}r6FZJچ&Gɴ6/$*T~̑Ci$iFxOrԑcm @ʥMT!VP!Iт@幂]'^. JʪpD(. K=_F{[acڤOت2[4,reE0tKo.a/ ҝ)?*.R~!w3m%'{  wp=Λ e[1uݻk$nsu;d-9ɬ[la9b[aq"egjTS~v+s42{tBG> ٱ%I(s-I6mIp=6Y}u xjmN %,i8/Iɒ'6wݟ0+YRL Prfziffern Version 1.00 (C)1993 by LANTEC ComPro Ralph Lanfermann Nordstr. 48 52146 Wrselen Dieses kleine Projekt ist das Erste in einer Reihe von Zusatzfunktionen, die einem Programmierer das Leben erleichtern sollen. Fast jeder hat ja mittlerweile ein Giro- oder Sparkonto, die allesamt eine Kontonummer besitzen. Zudem ist der Eine oder Andere noch Kunde bei einer Firma und hat daher eine Kundennummer. Diese Nummern sind grtenteils wesentlich lnger, als eigentlich notwendig. Der Grund dafr ist, da vielfach in dieser Nummer eine Prfziffer enthalten ist, die helfen soll, Fehleingaben zu vermeiden. Dazu ein Beispiel : Ein Konto hat die Nummer 5347119, wobei die 4711 die eigentliche fortlaufende Nummer des Kontos ist. Der Vorsatz 53 kennzeichnet dabei eventuell die Filiale der Bank, oder den Ort bei der Kundennummer. Die '9' ist die Prfziffer, die sic aus dem Rumpf '534711' berechnet. Diese kleine Libary bietet alle Routinen, die fr eine solche Kontonummernverwaltung bentigt. Diese sind im Einzelnen : ( Am Beispiel 5347119 erklrt ) Zur Berechnung einer solchen Nummer. 5347119 = _clc_pnum( 4711 , 53 ) Um daraus wieder die 4711 zu erhalten : 4711 = _getlfd( 5347119 ) Um noch 20 weiter Nummern zu berechnen : _clc_some( 4711, 20,(*func)(LONG,LONG) ) wobei func so aussehen kann : void func( long a, long b ) { printf(" %ld. Nummer ist %ld\n", a , b ) } Was auf dem Bildschirm dann etwa : 1. Nummer ist 5347128 2. Nummer ist 5347136 usw. ergibt. Die nchte Nummer erhlt man mit : 5347128 = _clc_next( 5347119 ,53 ,1 ) oder die 7. nchste 5347181 = _clc_next( 5347119, 53 ,7 ) oder die vorletzte mit 5347100 = _clc_next( 5347119, 53 ,-1 ) oder im Fehlerfall : 0 = _clc_next( 5347119, 53, -9865 ); Testen , ob eine eingegebene Nummer korrekt ist, das kann man mit _tst_numm TRUE = _tst_numm( 5347119 ,53 ) oder FALSE = _tst_numm( 5347117 ,53 ); Zugegeben, besonders innovativ ist die Sache nicht, aber wenn Jemand ein Fakturierungsprogramm schreiben mchte, so kann er sich die eigene Programmierung sparen. Warum das Rad zweimal erfinden ? Damit zum Copyright. Verwenden kann die Libary (rlpzifpc.o = PureC oder rlpzifdr = Digital Res. Format ) jeder, der dazu Lust hat. Wer Interesse am Quelltext oder der Berechnungsmethode hat, der kann mir einen ausreichend frankierten Rckumschlag, eine Diskette und satte 5,00 DM (oder mehr) zukommen lassen. Ich werde dann alles auf die Disk kopieren und zuschicken. So, das war's Ralph Lanfermann Nordstr. 48 52146 Wrselen PS.: Demnchst erscheint in dieser Serie eine Libary fr die Datumsverwaltung. ( Wie Bitte ?? ) So schaut es aus : - Dauerkalender - Bereitstellung des Datums als 11.02.1993 11021993 11.Feb.1993 11.Februar.1993 Do. 11.02.1993 Donnerstag, 11.02.1993 usw. jqJҩQ+R~BPݷحGүhN T]jNi!X ? Rmfv5kMalE(4wC-kp>Qϻg_BRShC%qeNɄnɯ6Ը=mېiß^4gQ:ӫ+.3uUnGş(qjXYkUj_+9Pㅐۮx_eɩ;8x(7`QmَDh$c x d&Q®$glZ1ENdW5$gYP!wBYxxBDzG@ A8XWʠ`^ x%FfzXH@p@An;5Dpᑚ`n:B??.{GB{lkL4Mpx|*Y-DxUge'G"cOS{ ,[yW_7ᘁ6By$=ga0 X CƂc (f [>KCUMiމڭ½sU}]W&{o+Srg >fϮP>fWލ%Dau8wx筗J[6Esݱ1jSڹNī1{H7p+atj/fxII$:L$"qϹXIX=I1ɻk6cG,Gnߟ! ϟl2Cm HgԉM": k q4ElŸ@ge*0@)AY=38*|3˃Кӎ=C~r*uo:;Im׹T}a|J;AN,)o8/aW3 >!+JٚF\jk4 Iifв4 Hf&2-0jVD܃N6p\H0O&(E/C JNXOG /C KNXOx"J KN`ؼ n/HRHSC A NO ANOL NuHOpH|>(H|?BH|?A)H|?B)H|?A)H|?B BA`>4B47 B| o,6HÇ 8D?@6:Hŋ 8LEDD8Dw@TA|oBB`2A67HЃRB|oO L8Nu/&r N&/ "<'N""Ҁ牒Ҁ  &NuH *,($Hv`" Ѓa" N RlLxNuH&*8a&2HցJk'n "a`pL8NuH&*a("agB@`pL8Nu//ANPONu%04ld%02ld%s%s%ld%ld --> %ld                   " _clc_next_getlfdprintf _tst_numm _clc_pnumoutt_quersum _clc_someatolsprintf_ldiv+, BYZl>6Pu-5* 2X2+>*X!2h?%jݩ }+uU&ۉ ႎ3G(||oQsakK}剙+gݰf6:U˭&.>경)[:}?^Ի*4Is%`SmM8'I3(RNpi4z$U{ΉsiGst,Xv.*th =`"H0O&(E/C JNXOG /C KNXOx"J KN~`ؼ n/HRHSC A NO ANOL NuHOpH|>(H|?BH|?A)H|?B)H|?A)H|?B BA`>4B47 B| o,6HÇ 8D?@6:Hŋ 8LEDD8Dw@TA|oBB`2A67HЃRB|oO L8Nu/&r N&/ "<'N""Ҁ牒Ҁ  &NuH *,($Hv`" Ѓan" N RlLxNuH&*8a&2HցJk'n "a0`pL8NuH&*aZ("agB@`pL8Nu//ANPONu%04ld%02ld%s%s%ld%ld --> %ld _clc_nex_getlfd@printf_tst_num_clc_pnuoutt_quersum~_clc_somzatolsprintf_ldivLLLDTT^LvX%QUx]SUSK58e% |+4/DZʱBKbm8UW7򸸥e8J%U-)(_\P%ɪZǮzNr +c4X"81DTcJ+!dXQ/R4lhCR*z)F[ aW`\<[ 3AH)űk㺗_0]LY*QƊǶ4q-Hڛt޹ֽtgfAbŒmp^fbҊ ' kDnu/%>u 7v% Oz {.Ɵw)1g- .W8wW cw[ gǫ^LoOӡ=C_?V3w\LFȎ߿~g~^M;z{dyN1ޢ.:D3CL5?d^zmЗ^YQ{bEc}e`-Mwe䞦s}G4//7}G/I]ն5fMԛ!#3>oK 1NQpZ]̋6X_ữyf8a!Fפ &CZ'6~"'%%#TP~"<^)<&B$#8l@T 2!x' %v>N< j f"t ")f&H&TH>|l 'J < .nFd& H !@!\!N!$!j<Jd))<!2.0RN \VrH~R(|,:,4`6b( 6q@"&&n#>"E&RiY}}c^LIKYSB)3C=xEMUZ]#e"mu}Pxw We@:vb^+ -3  =DNX\biSwxvRtsocw & ok']5ZC%MWeoy=5F >i4Drgq'[t^#-:WDJPUVL\bfQpvx~zvP\ nK-'" jOy $-]7vAJU=`grf}gF6L20z<r:#.9DOY@cnCyE'QAJW;*I< xq#p.S98F.S\i;rZG:Ff^J #.15;XFBQ Zgt}.j`utp^H  2    $ ) 31 8 A J S ` m z A 5      } , $ t_ ,   [  ~ u s 8 &7 2G = O F  O V ] r7 d0 k r0 y  nJ  x  2 ' _ c   H E  C i &f / E <D F  OX \ d\ n[ v ~&V LY & i   q p V 9        $ - 7G A K T ^ d i o x+        4  n H  lx j i  T < #6 , 4 >B H R? \% d i u   *  @ -  d / = 6; z5  W VU BA4F$>0*6)? HPCXT`ah(pX;x]vL  n38(h` %h17 ,CjL8TZPfblru~Pb   D RU>1b \I/  ",16 ETl[Bmh@t}r*ld 0,4M o"W/#< tENW`FEiBr {,<Xb (U/ $   ,7BK$T ]/fBkt}R  ep>H |k& ptlgc ? :n&b\/p[8ZAYJ7S&bxqxrC-,+( n'4 6!d*p1 k<DMT]iIpOyz!tahGh^ %- ZN8?6G?Z\bitHB  @ ("TJ SY'705>*LAV|bmhkth{g.fe>Wz9:j!dT  !P )0;lCOV\ht`tsr[-,$49&-4;2B*I#P 9TL[_ucpks{  :  D"$^8!vq s%LX W%V."U7T@SI?R [ydm_vh8~jTF |i6>=l^oD{!}&r|&z"x(52g7&AI MrQtX4_#hfm!x}hd% # Da Zw $Y;`Rv @LXA *08!)=")D.B:\COOK_JAR.CC:\PC\INCLUDE\PRELUDE.HC:\PC\INCLUDE\TOS_GEM.HC:\PC\INCLUDE\TOS.HC:\PC\INCLUDE\NP_AES.HC:\PC\INCLUDE\VDI.HW_TITLEWF_NAMEvst_arbptv_bez_qualv_bez_fillv_soundv_clear_disp_listv_curtextv_eeolv_curleftvsf_udpatvst_alignmentvst_pointv_justifiedSettimeRandomref_floatobjc_editmenu_textLogbaseK_STATEG_TITLEG_IMAGEGettimeFdatimeFrenameFdeleteFcreateEgetPaletteEsetPaletteDdeleteDcreateDOSTIMECT_MOVEBUSYBEEappl_exitappl_initxbiosWF_BEVENTWF_KINDWM_UNTOPPEDvm_coordsvqp_filmsvq_curaddressvs_curaddressVRECTTOUCHEXITsstackR_IPBTEXTR_TEPTEXTREDORECTNORMALmenu_settingsMN_SELECTEDK_ALTK_CTRLKeytblGRECTG_BOXTEXTFMD_STARTEVENTEgetshiftEsetshiftDMAreadDosoundCHECKEDCROSSEDCOMMAND_VDIParBlk_GemParBlkWIND_CALC_CW_WORKWF_NEWDESKvst_setsize32vqt_advance32vst_errorvqp_errorvsf_perimetervsf_colorvst_colorvsm_colorvsl_colorv_barv_pmarkerucharstackcorrSupexecRwabsref_ucharPrtblkNVMaccessmenu_registerMxallocLBLACKHOURGLASSFMD_SHRINKBITBLKWC_BORDERWF_DCOLORWIND_ATTRvq_cellarrayTEXT_CRSRSIZERSuperRSHDRMOVERMU_M2MPBG_BOXCHARfix31Fattribevnt_multiEsetSmearEsetColorBPBAES_COLORR_IMAGEDATAMOUSE_TYMAGENTAMESAG_TYMU_M1graf_growboxgraf_moveboxgraf_dragboxFgetdtaFsetdtaEVENT_TYEsetGrayDTAwind_newWIND_COMPWM_NEWTOPvst_skewvsm_stringvrq_stringstringFMD_FINISHevnt_mesagCT_NEWTOPwind_openvqt_trackkernv_set_app_buffvt_originvt_resolutionv_curdownvex_curvvex_motvvex_butvvex_timvR_TEDINFOFMD_GROWBASPAGwind_closeWF_SCREENvsc_exposevs_palettevsm_choicevrq_choicevrt_cpyfmvro_cpyfmv_piesliceshel_writescrp_writeSetscreensingleRsconfref_doublenew_cookieMU_BUTTONLCYANget_cookiegraf_mouseGREENFopenevnt_mouseCICONappl_writewind_setwind_getW_NAMEWF_BOTTOMWF_VSLSIZEWF_HSLSIZEvqt_f_extentvt_alignmentv_offsetv_alpha_textvst_fontv_contourfillVSLIDEuintshel_putshel_getSELECTABLESetpaletteR_TREEPtermMFORMMENULWHITEKbrateHSLIDEfsel_exinputform_keybdform_dialFforceFwriteFcloseEND_UPDATEevnt_keybdCOOKIEcomplBEG_UPDATEWM_ARROWEDvq_vgdosvq_tabstatusv_curaddressvq_key_svsl_endsvst_unload_fontsTE_RIGHTSHUT_COMPLETEDR_TEPVALIDR_OBJECTRECTPOINT_HANDOffgibitMDK_LSHIFTK_RSHIFTJenabintINDIRECTFloprdEND_MCTRLED_ENDED_STARTEXITBEG_MCTRLbiosBconstatv_dspcurvq_colorvsm_valuatorvrq_valuatorvsf_interiorvs_colorVDIPARBLKSsbrkSetexcR_IBPMASKR_ICONBLKPtermresOBSPECmenu_barMOBLKMallocGEMPARBLKGiaccessFlockFseekBLACKBioskeysW_FULLERW_CLOSERWF_OWNERWF_COLORv_cellarrayv_fillareaSetcolorMU_TIMERMAPTABLASTOBKEYTABGetbpbGetmpbW_DATAv_escape2000vqt_widthvsl_widthv_rfboxgraf_rubboxEDOB_TYEvntMulticomplex_appWM_ONTOPv_getbitmap_infov_output_windowvqt_fontinfoulongref_ulongFdupappl_getinfovst_kernvqt_pairkernv_bez_offv_bez_onvst_rotationUPARROWRSH_THINGRTARROWLFARROWLYELLOWINFODNARROWDISKINFOAP_RESCHGW_HELEVW_VELEVvqt_get_tablevqt_cachesizev_killoutlinevsp_filmvsp_statevqp_statev_curhomevqin_modevsc_formvsin_modevr_trnfmvsf_stylevswr_modev_ellipseSversionrsrc_freePBDEFM_ONM_OFFG_BUTTONG_USERDEFfalseDgetdrvDsetdrvCYANwind_findWA_RTLINEWA_LFLINEWA_RTPAGEWA_LFPAGEWA_DNLINEWA_UPLINEWA_DNPAGEWA_UPPAGEWIND_CODEWF_VSLIDEWF_HSLIDEWHITEv_ftextvr_recflv_gtextshel_findshel_readscrp_readrsrc_loadref_intrealobjc_offsetobjc_findmenu_istartmenu_tnormalMfreeMOUSELBLUEInitmouseFALSEDfreeCT_UPDATEboolappl_findappl_read_crystalwind_calcWM_FULLEDWM_CLOSEDWM_TOPPEDvq_gdosvt_axisvst_effectsv_arcv_clsvwkv_opnvwkTE_JUSTTE_LEFTref_unsProtobtOngibitMaddaltKbshiftJdisintG_FTEXTFLAT_HANDFlopfmtFsfirstFreadED_INITDEFAULTCH_EXITCprnoutCauxoutCconoutBconoutBcostatAP_TFAILvst_arbpt32v_rmcurv_enter_curvsm_locatorvrq_locatorVsyncTHICK_CROSSR_BITBLKPuntaesPexecOUTLN_CROSSIorecIORECform_centerEsetBankCICONBLKXbtimerW_SIZERv_hardcopyVDIPBTE_CNTRR_FRSTRGetrezFlopverED_CHARappl_tplayAESPBvst_charmapv_curupv_rboxvs_cliprsrc_rcfixrsrc_obfixR_BIPDATAR_IBPDATAgraf_shrinkboxgraf_rubberboxFMD_TYWF_FIRSTXYWHvqt_devinforef_longG_IBOXform_doDgetpathDsetpathBconmapBCONMAPAP_DRAGDROPYELLOWWIND_ARROWWF_INFOvq_scanv_form_advTEDINFOR_STRINGMU_MESAGG_STRINGform_buttonevnt_buttonv_flushcachev_getoutlinevsp_savevqt_namevq_mousevsm_typevsl_typev_ellpiev_circleUSER_DEFtrueRBUTTONmenu_ienablegraf_mkstateG_CICONCursconfCrawcinAC_OPEN_PgmSizeW_HSLIDEW_VSLIDEv_ftext_offsetv_fontinitv_currightvqt_extentvq_extndv_get_pixelvst_heightvsm_heightTsettimeTgettimeTsetdateTgetdateTRUEPhysbaseobjc_addOBJECT_STATENAMENONELINEKbdvbaseKBDVBASEHIDETREEfsel_inputform_alertFloprateEDITABLEextendedDMAwriteBLUEBlitmodeAP_TERMAC_CLOSEappl_trecordWIND_UPD_FLWF_RESVDWM_MOVEDWM_SIZEDWM_VSLIDWM_HSLIDvq_tdimensionsv_meta_extentsv_eeosvq_chcellsvqt_attributesvqf_attributesvqm_attributesvql_attributesv_hide_cv_show_cv_ellarcvst_load_fontsv_updwkv_clrwkv_clswkv_opnwkvq_aesTickcalSHADOWEDSELECTEDSetprtR_TEPTMPLTRESCHG_COMPLETEDOBJECTOUTLINEDmenu_icheckMN_SETMU_KEYBDMfpintLREDG_FBOXTEXTG_TEXTgemdosFsnextevnt_dclickDISABLEDbfobspecWC_WORKWM_BACKvqt_fontheaderv_bezv_exit_curUSERBLKTHIN_CROSSrsrc_saddrrsrc_gaddrR_OBSPECPARMBLKobjc_orderMidiwsMshrinkinstall_cookie_jarICONBLKIkbdwsform_errorevnt_timerCauxosCauxisCprnosCconosCconisCconrsCconwsW_HBARW_VBARv_write_metavsl_udstyvdiSYSHDRMFDBFULLERFlopwrCLOSERvst_scratchOBJECT_TYmenu_attachmenu_popupLMAGENTAgraf_slideboxgraf_watchboxgraf_mboxappl_searchW_BOXWF_NEXTXYWHWF_TOPWF_FULLXYWHWF_PREVXYWHWF_CURRXYWHWF_WORKXYWHustringScrdmpPterm0objc_drawMediachG_BOXDrvmap_BasPagW_RTARROWW_LFARROWW_DNARROWW_UPARROWW_INFOWM_REDRAWv_rvoffv_rvonshel_envrnR_FRIMGOBJECT_FLAGCrawioARROWwind_updatewind_deletewind_createWM_UNKNOWNvst_setsizev_savecachev_loadcachevqt_advancevm_pagesizevm_filenamevsp_messagevs_mutev_bit_imagev_plineobjc_changeobjc_deleteLGREENgraf_handleG_ICONCnecinCauxinCconinBconinmcdeclmodglobalendandS_XOR_DS_AND_DFO_READARROWED__TOSFA_SUBDIRothw__VDI____AES__beginnelegeFA_HIDDENSQUAREodMD_REPLACEFA_ARCHIVEFA_SYSTEMSFRAMEXTS_OR_DS_AND_NOTDSMALLROOTNOTS_AND_DIP_6PATTIP_5PATTIP_4PATTIP_3PATTIP_2PATTIP_1PATTGDOS_FNTDASH2DOTD_INVERT__COLORSMD_TRANSKALL_BLACKFIS_USERFA_READONLYTOS_GEM_HPRELUDE_HMAX_DEPTHFIS_HATCHnotnullGDOS_FSMGDOS_NONEFA_VOLUMEALL_WHITESOLIDS_OR_NOTDROUNDNOT_SANDDNOTS_OR_DNOT_DNOT_SXORDNULLFIS_SOLIDDASHDOTDOTJARS_ONLYD_ONLYLONGDASHDASHFIS_HOLLOWelifMAX_LENmodeFIS_PATTERNUSERLINEROMnilMD_ERASEIBMFO_WRITENOT_SORDNILIP_SOLIDesacorMD_XOReqIP_HOLLOWFO_RWrshdrmfstrobspecptr__parmblkcicon_blkcicon_dataorect_syshdr__mdbaspag_booleanee at a glance how much mail is in your POP3 mailbox, delete any unwanted emails, view part of the email without downloading the whole thing, or download selected emails onto your Atari for use in your current mail client. Currently Oasis2, NEWSie, and NOS formats are supported. NOS format is used by Okami 1.29 and above, and Oasis1. POPwatch also has a Kill File facility for the automatic deleting of emails that meet a specified criteria. Thus it is now possible check your email *before* downloading it, and without having to make a connection via NOS or ICE. You can now download your email whilst browsing the web, for instance. It is not meant to be a full mail client, PRTKL881.PRG - Softwareprotokoll fr 68881 in ATARI ST/STE Programmiert von Volker Hemsen Public Domain Quellcode darf fr private Zwecke verndert werden. Fehler bitte an den Autor weiterleiten. Der Coprozessor (FPU) im ST/STE arbeitet im I/O-Betrieb. D.h., das alle Daten, die der Coprozessor zum Rechnen bentigt, in Hardware- register geschrieben werden mssen. Die CPU's MC68020/030 beherschen das FPU-Protokoll von sich aus, d.h. man kann die FPU-Befehle (beginnen alle mif F???) einfach an die CPU schicken. Diese leitet dann alle weiteren Daten von sich aus an die FPU weiter. Wie bereits erwhnt ist dies bei der FPU im ST/STE (68000er) nicht so. Mein kleines Programm ist in der Lage, das bentigte Protokoll (so nennt man den Datenaustausch) durchzufhren, so da man die FPU ganz normal ansprechen kann. Hierzu braucht es lediglich gestartet zu werden. Es hlt sich dann resistent im Speicher und verarbeitet alle ankommenden LINE-F-Traps. Im AUTO-Ordner fhlt es sich natrlich besonder#include #include "datum.h" WORD main( VOID ); WORD main( VOID ) { BYTE text[100]; _MLDATE mm; WORD mode; mode = 0 ; /* Ohne Modus */ mode = 0; _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Kurze Jahre Als Schalter verwendbar */ mode = M_KURZJ; _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Fr Editfeld 1 */ mode = M_EDIT1; _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Fr Editfeld 2 */ mode = M_EDIT2; _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Mit formatieren (Schalter) */ mode = M_2FORM; _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Mit Tagesanzeige (lang) */ mode = (M_2FORM|M_TAGE); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Mit Tagesanzeige (kurz) */ mode = (M_2FORM|M_TAGE|M_KURZTAG); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Mit Monatsanzeige */ mode = (M_2FORM|M_TAGE|M_KURZTAG|M_MONATE); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Mit Monatsanzeige kurz */ mode = (M_2FORM|M_TAGE|M_KURZTAG|M_MONATE|M_KURZMON); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Wie oben, aber Kures Jahr */ mode = (M_2FORM|M_TAGE|M_KURZTAG|M_MONATE|M_KURZMON|M_KURZJ); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); /* Wie oben, aber in Englisch */ mode = (M_2FORM|M_TAGE|M_MONATE|M_KURZMON|M_KURZJ|M_ENGLISH); _get_date( &mm ,mode, text ); printf("Mode %4x : %s\n",mode,text); Crawcin(); return 0; }{+ w6ss}мyǗܟGkPv}Pmc_[Wϰ|wB|CWKlWĝv7\YmMg)oL{pqsC]}8e=9?w"wGv@4#9}1|[t_ YmQ>' ^^-ag[ Ą!A)Y&UvV}Nlv~w ,pRa_Zq2w^5b*7󰼍~ayL$J ϬdUp"O ?NQaCD &sD?zk{FzZʖڝ@jP;i>y_-xR >a3zWuM) *#*`aUF9Ѽ"2t ;b:g^ƣjuv2 UH;j+x`387xgB&Z=k]oIvWmِꤧbvb/du,`?c t]F]C̳<ȳգn{*,i@BzPX>۷X?(e.e^$dCo.#UN z˜0Ou/~-u݁eh)lɄY M9. |C[/z:&S2k{$e.U=*hF+9 mn[~%dӶ;ZhYiihfѾ|*R3>>0: e+閩d_fpQCBkLXsԮvPYOqԧY>8o~Y7+{84u"U_0eL O O];I~vv~sҹ Z~h(c뇶~Y:kIU^,ͬ~qzJޓ>~UgKEKg+άrSjfD(gOIJ/7G89~ڻwKźNߗi7_8 R23w)׶e_`-XR4``1*>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#131 k #1& Ј<.@#1"Jy1 g<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ON#40 J"LN? 9-Zg @N 9-^g @NN+?<LNAH(OBCE"J0AN^I.HR?AN#\O6<"J0AN^HR?AN#\O6<"J0AN^HR?AN#\O6<"J0AN^HR?AN#\O6<"J0AN^HR?AN#\O6<"J0AN^HR?AN#\O6<("J0AN^HR?AN#\O6<8"J0AN^HR?AN#\O6<x"J0AN^HR?AN#\O6<x"J0AN^HR?AN#\O6<\"J0AN^HR?AN#\ON-JB@OhLNu?/ $H6J@fN-<6pCR|HR0H|R|HR0r h||j|Hj$_6Nu0(H||m|` |l`||n|nV@`|2I|SAt42IC."q1(H|02I|A`_@|n|fpr@P|IIPNu0(H||meD2(I||b44J|SBe(0H|| b2I|SAe4J||cB@NupNuH:O$H6&IaJ@fB@ JapCg JB@a JaBD|f86<|f86<0|g$:*M|2*I|t4ddB` :*M|IM0|gf2|g?C0 LN#TO`?C0 LN#TO0H|?C0AN#TO0H|?C0 NN#TO`H?C0 LN#TO0H|?C0AN#TO0H|?C0 NN#TOJDg HTHoHVC0! KN#O 6`BpCgBrCgHTHVHoC0( KN#O `HTHoHVC0( KN#O `p@Cg /|-`/|-bp Cg /|-`/|-pCgrCgtCgJHTHV8L|SDz: o/0X0r h|t4"o/1(C01 KN#O`jHTHVHo0r h|t4 o/0(C01 KN#O`4pCg2HTHV2I|SAt4 o/0(C05 KN#O `HTHVHoC05 KN#O `pCgrCgJHT4J|SBx8 o/0HHV:p m|r2"o/1C01 KN#O`HTHoHV0r h|t4 o/0(C01 KN#O`PpCg0HT2I|SAt4 o/0(HVC05 KN#O `HTHoHVC05 KN#O pOL\8NuH8]O$H&I(o&BCx%p JR@g|fJ@g@HNBEgvBA< <b;k`|<*f<`&<0< b ACp a! $Wb<gt<.f6<*f4`$<0< b ACp a $Wb4g<߲<Lf g`<hggr@d|?@0;N>nBXr [0`|A`0A2"La@`\ [2"La@`JJEj `p0?4 LaTO@`*JEj `0H?4 LaTO@` JEj `p0?4 La^TO@`JEj `p0?4 La~TO@`A 2"La@`A 2"La@`A 2"La&@`|@HN0\OLxNup` Warning: use TCFLTLIB to get float support for printf. H0O$H&I>68jx`p@c8?|0|g* J0R@CDHoBaXO0?| JoBg|-?| `&g|+?| `g | ?| ?| ?D62XAXAt0gJf$B RoDJDf f2SA`.C"SDQ` X JDf fSA`C"SDmQto An ?B?B`ff ?C?B`?C?BC8?|@gE`e0/DS@jD@-`+/ r AJa"_AFpJWF@rg SAkt0QS@k AFQ`*H0O$H&I?|@>>68jx0|g JpCDHoBa(XO?| JoBg|-?| `&g|+?| `g | ?| :/DlDE|0 ?| |JDffSFDged?DD?|6`8JEfp?@?@6`& JpCDHoBaXO 5d?EE?|6`SE?EE|1"p?@6@`E|b J0CDHoBa>XO0@E:/DDEE?D6DC"SDmQ?EE`?|0D|b JCDHoBaXO0D0:/D<RFDJDffSF?D6t0JfB ?| RoDC"SDk6Q`.C ?E SEj0?| RF`QC"SDkQto Fn ?B?B`&ff ?C?B`?B?C`|? ?| x?D ?D?D6|`H0O$H&I?|@>>68k |kx`x0|gZ JCNabANJf JfJPgANCXaLAXVH?a_ JCDHoB|k:@k6DR@|kpaXOJfS 0gR1B8oDjDBD`>0a\XO 0VSD`BDBoBBoD`6x0/gf@ Ka0/ g@AN0/g@ Kaf0/ g@A NJof Jo6fgp@A .N0/g@ Ka*0/6g@A"N0/@g@A8N0/gg@ Ka0ObL Nu0<HS@rJrfMHGGCA 0jD@aAC a >`aAC a ` P?b Ca SG`A6"$RGJDoGn| Fo| o00CC?SFpԂӁ@Q` pԂӁ@*(6ԂӁ@ԂӁ@ԅӄC<0QBJjR! :fg0`1RPOpAL@Nu o?jD@ @c0<?>@2AA@AC,0 ]HOgCbC Oda8JGf>J_k BNu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R log?֛w9?H?bf?޴@DLd>@8<HDBD/DBAavIaaZKxA !%!%1%xavKMaNMQC a^Ca6OL`NuA"o4CG?/p<6>܇׀HAHBHDHE>܇׀?<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀>և(".Jkއ90SgJg j c a0JfJg90Sg90SfJkt`Jk`h/"HA.HGpށ@H@HG0BGHBHE2tށـׂ݂p"Jk އل݆׃SANu b c0a b f$JfgJk؄݆׃SAR׀fRA` Jk؄݆׃SA Ae "$Hzan` ҁQ !1LNudivCA/ / ? AaA0 ]HNu4CG?bfb RGd6|/|$F,HF.h.BGHG҇~`"BAHA,HFpHAHB024 6<?~Gj SWԅӄGd, Q,HF.h.BGHG҇~HA`"BAHB02BB6|FjSG҄FdHG>HG90Sf,⎜bHFRFkHz``, c90Sg~90SfJkb`lJkf`X//&HC0BCHCH@B@4rЂׁ"$dSGԅӄNu90Sf╚kfg` JfJg`,HFRdR`,HF  @c"$HzaB` ЀP !1L Nu5|$Ap" EP jW5|H j W$$$ jW5B j W$$$ jW5|h j Wf !R!R$ANu5|$Ap" EP jW5B j W$$$ jW5|h j Wf"#R#R$ANu$(0r@Ag8"(jNufJf @DNuH@aJ@jR@fЀPDNu"(fJfJ@kDNuDNuDNu2""]INur2` r`r2""]INuap` ap`apHQ//aP.Nu6C`6*)<<HFFg6()kfJfU`SCڅلj0"$HFFgJjNuf4Jf0]Nu()fJfY`JfJf  Nu\HNuJkS@ԂӁjNu0<rtv`H@Frtv`<<6(FgF Cpn @b:H@@90Sg 90Sg 690R[Ck S@rt`rtv` @n0H@@rtv90Sgv90Sgl890R\Dj`t`PvxR@fЀP90Sfg,` 90Sg 90SgJ@k`J@j JgRdR !1.Nuv]H//?HW//0aPO0 ]H.Nu/ / o\H// ? o \H\I//!?!// ? //*?A0S2DAZA g&C0>H 1g"@?BPANA0R0J@f0 @c 3"-X`3!-X` o4C0 O$ _"_NuafpNu@|@k <`D@ @cpNu JPjDNuA(p"@ "By0RA1B30R30TO"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART/YOM,C HzaC8jxA afA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 -Xp`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a`"_"JkNgPAp SjH@" 0a<߶<Xfg.G*3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"-Xp` 3!-Xp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!-X`0123456789abcdefghijklmnopqrstuvwxyz/ &y1 g/ &S?<INA\O`&y1 g/ &S?<INA\O`&_Nu@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#HR?<*NATO$_NuHR?<NATO$_Nu.. .... .%.*.1.;.C.L.U.Y.].a..e.i.m.q.u.y.}................JanuarFebruarMrzAprilMaiJuniJuliAugustSeptemberOktoberNovemberDezemberJanFebMrzAprJunJulAugSepOktNovDezMontagDienstagMittwochDonnerstagFreitagSamstagSonntagMoDiMiDoFrSaSoMode %4x : %s /^/k/x////^//////k/x////^/k//////x//0400351362402511462403513622503514624034025036146255136140250366240251361512503514624033614625035144025036146360351362402145136140250623614625035401462403513256240251361%02d%04d%d%s%s%s%s/%s/%s%s, %s.%s.%s0l0l0l0StartEmpStr`Start0bACCpAPPrStart1getLenvallidLeStart2Start3&Start40Start5FStart6LStart7XStart8`Exit1_PgmSize1&_fpu1op_get_dat^_DigCnvT,<_ChrCla1+<_retNaN b_MemCluL1_MemBlkL1_BasPag1write( _ret012 Lultoa*lsquarezstrtoul)sprintf#printf#Tgetdate-mainpow10Llseek(>log*log2log21itoa)log1log10dfcvtfabs\fwrite&ecvtexitrftoaerrno-Xcnv_stri1B_gd2my_xlcnv"_xwcnv"_xxdivberechnev__exit__text_fabsd_days.__bss1_xxoverf!L_txoverf v_xcpq#x_app1 _xyentry _xxmul_is_ok_xxinexa"__xxsub_xxentry _xcpi#d_xxflow!4_xcph#n_txmover p__logB__xxmul_log2_xxdivze!$_xxunder!__xxinv_xxinval!_txinval |_xce#F_xxadd_AtExitV-Z_xxinc_xxdecz_xxsub~__data-X__xxinc__xxdiv __square__xxdec__xxadd_fpuxxop_INFP#_NAN#_fpuvect0>_INFM#_FreeAll+_PrintF_fpumode0R_OutStr%_fpuinit#4Crawcin-J_StkSize_xmather":_fpuctrl0T_square_StdOutF0_StdPrnF0_OutIntD$,_OutFixF_OutFix ~_StkLim1"_OutFlt _FlshBuf'T_norm012!_normA0_OutCarD$~_OutCarH$_OutCarO$_OutChr%z_xcln2#Z_xclg2#P__log2_mtag2-_mmon2-_log2_xc2#_log21__log1_mtag1-_mmon1-b_log1_xc1#_StdErrF0_log10l_pow10P_xc10#_StdAuxF0_StdInF0V__log21__log10|_mdauer._FilSysV-^_RedirTa1*_XltErr(r  @    $  R.0P.. 0T *<0&8 4B @ (& .* J 4 & t `*& ~.DQDB1hp`7TM~eM{='           \tv ( \ ^:$  J62J40 e~j----b  soy e 0v @.^P."0)`0`**q zz"Ov[ lp     dp( p 0~0  p p  ( p phj0o@sPy`D:\PUREC\INCLUDE\XGEM.HD:\PUREC\RALPH\RLSAMMEL\DATUM\MAIN.CD:\PUREC\RALPH\RLSAMMEL\DATUM\DATELIB.Cmodetexttagmonatjahrmmmain_mtag2_mmon2_mtag1_mmon1_MLDATEg_xg_yg_wg_hGRECTva_listdate_mtwertjwertmsavcalcwoh2woh1ergberechne_text_is_ok_days_get_date_mdauer_gd2mysize_tfpos_taDkՁcꀔϥT4\R5?IlȘf}T́No;f͵w2/B3#}rFM֨!{8!I/߁vfTnيBE S0W&8v&~3ϝ|vFy |v_K3x1W`E0x mԶald:CB ,sN `Jƙ 5{/W7R߀cnfWxX{|XgLYf[K,R |֖Sqs!ޒO8XkuH%[7)@?g؜Nu#RT`IQqd.$v #,Ğ YW 4͉XE_3J. JP],Gu 2d0A {aH)H '('4MK#%JIuIU{}"҅bX+XP_ZrCC >A|_ E'u/C;FoW*f/1zt_'̃*IpRM%z3CCk`!",@PsYHX1FRL Datum Version 1.00 (C)1993 by LANTEC ComPro Ralph Lanfermann Nordstr. 48 52146 Wrselen Dieses kleine Projekt ist das Erste in einer Reihe von Zusatzfunktionen, die einem Programmierer das Leben erleichtern sollen. Die Libary vereinigt einige Umrechnungsroutinen fr das Datum, sowie einen Dauerkalender. Dies ist schon alles. Zugegeben, besonders innovativ ist die Sache nicht, aber wenn Jemand ein Programm schreiben mchte, so kann er sich die eigene Programmierung sparen. Warum das Rad zweimal erfinden ? Damit zum Copyright. Verwenden kann die Libary (datum_pc.o = PureC oder datum_dr = Digital Res. Format ) jeder, der dazu Lust hat. Wer Interesse am Quelltext oder der Berechnungsmethode hat, der kann mir einen ausreichend frankierten Rckumschlag, eine Diskette und satte 5,00 DM (oder mehr) zukommen lassen. Ich werde dann alles auf die Disk kopieren und zuschicken. So, das war's Ralph Lanfermann Nordstr. 48 52146 Wrselen gKI)4ceqbK]p%N"ưS1~9:D,$_Κ)Pp5v&Ë4В簈oY ׌o> .EB}DIpo9qVC\8~!2N+nҖ²\܃һ%\K`In++Id2lH/kEiZa$ZLTШjfLb?*l?t,mi1򺥣68l̀8K0xA,  9[%:q}` YY*U’| a;Q0 pTxf%4#ҎgbXZa6Q6IP#OhM'@FL'ZrD#Lܬ,m_heC*M*k0=kFNսY`*:]Skƻ [A7lT'O]9)?L)7Hm:7}LrS(J4vʧGEX /$c1H@&QXC_kY q XD8,e :bTL" rbX V:FVoNj $u[1-LQs}rZ<$y+<"<-܏gj YnĊz,Iӥh. L{L5:Q:I9TSH15XT'6נ9(҇v}qy.xrq&/>S2aSojɋUۃ2c |?YњX"7׺+3aw {dQw[Mӆf{E@T#-n"ǹJ1t祄qf9o_,[)Cᎎ+meJoww;cmzr>e9"8{xTm^wvgoL/B_7" Y+/{9cN|H(O(H g$IBC`HNJ@g0RCRJf/H|H|2IBAA/H|/H|4JDBB|o@/H|/H|6KDCC/H|dC/H|D`"/H|/H|6KDCC|l6T|KT0T|HT0l|Hl` B@ LNO LNu?/ $H6J@fN6pCR|HR0H|R|HR0r h||j|Hj$_6Nu2(I||dB@Nu0H||2I|I|A2(I||Dt i|ANu0(H||m|` |l`||n|nV@`|2I|SAt42IC"q1(H|02I|A`_@|n|fpr@P|IIPNuH8a6rDgN:pDg"N,̼0rht4܂ NpDgEgB@`pLxNu0(H||meD2(I||b44J|SBe(0H|| b2I|SAe4J||cB@NupNuH:O$H6&IaJ@fB@ JapCg JB@a JaBD|f86<|f86<0|g$:*M|2*I|t4ddB` :*M|IM0|gf2|g?C LNTO`?C LNTO0H|?CANTO0H|?C NNTO`H?C LNTO0H|?CANTO0H|?C NNTOJDg HTHoHVC KNO 6`BpCgBrCgHTHVHoC KNO `HTHoHVC KNO `p@Cg /|`/|p Cg /|`/|pCgrCgtCgJHTHV8L|SDz: o/0X0r h|t4"o/1(C KNO`jHTHVHo0r h|t4 o/0(C KNO`4pCg2HTHV2I|SAt4 o/0(C KNO `HTHVHoC KNO `pCgrCgJHT4J|SBx8 o/0HHV:p m|r2"o/1C KNO`HTHoHV0r h|t4 o/0(C KNO`PpCg0HT2I|SAt4 o/0(HVC KNO `HTHoHVC KNO pOL\8Nu '4AN[h4u [A h4A[h400351362402511462403513622503514624034025036146255136140250366240251361512503514624033614625035144025036146360351362402145136140250623614625035401462403513256240251361%02d%04d%d%s%s%s%s/%s/%s%s, %s.%s.%s   NJ H D   \    n                $        R  .  0    P  .  .                                 SettimeGettime berechne_text_is_ok_days_my2gd_ex2dstr _get_dateisdigit_mdauer_gd2myset_dateTsetdateTgetdate_mtag2_mmon2_mtag1_mmon1sprintfr p$y)ܾ R_OSݵBO~0+XH+^B+Zfi2mQ\2<:l?88trߑaN ?oEq} j @ qQlLWt3$qrC/ÈeQ ^yG̐3|0wg#&* >t_R᦯VG?t({iew_&3~3G_u3x -**d} sM4i L{`ic9|'H|ZE}ytDQ89F*:3T. {&!*됅]CRnCÊ#n] Ա)2gunwɊ۽ qg.Ҙ X*|c=@hgxF}hdugBz`9 pn1tדbTُ9Rm "ȞeէVZ]D7_,L&L$~ڰ) ZzIе-_s 7sf<~o)liÅtwW>X?jqgI5^)t麛Tno6/uWm^`9;ǢhL_~~3l>yuwg8<-2$ ۏ,Ĵ,9(e/;uk֥O9/******************************************************************* * Modul : RPMT_EVN.C * Projekt : RPMT * Aufgabe : Event-Modul. * Zur einfacheren Handhabe *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28. 4. 1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ #include typedef struct { int mox; /* Maus-X-Position */ int moy; /* Maus-Y-Position */ int mobutton; /* Mausknopf */ int kstate; /* Shift-Tastatur-Status */ int kreturn; /* Keycode von Event-Keyboard */ int breturn; /* Anzahl der Klicks */ int ascii_code; /* ASCII-Code der Taste */ int scan_code; /* Scan-Code der Taste */ int shift; /* Shift-Taste bettigt ? */ int ctrl; /* Control-Taste bettigt ? */ int alt; /* Alternate-Taste bettigt ? */ } RLKINFO; int multievent( int *msg , RLKINFO *mk , long time ) { int event; if ( time == 0L ) time = 100L; event = evnt_multi( (MU_BUTTON|MU_KEYBD|MU_MESAG|MU_TIMER), 0x02, /* Zeitrahmen der Events */ 0x01, /* Maske der Events */ 0x01, /* gewnscht. Mauszustand */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, msg, /* Nachrichtenpuffer */ (int)(time&0xFFF), (int)(time>>16), /* Timerereignisse */ &(mk->mox), &(mk->moy), &(mk->mobutton), &(mk->kstate), &(mk->kreturn), &(mk->breturn)); graf_mkstate (&(mk->mox), &(mk->moy), (&mk->mobutton), &(mk->kstate)); /* Werte nach Ereignis */ mk->shift = (mk->kstate & (K_RSHIFT | K_LSHIFT)) != 0; mk->ctrl = (mk->kstate & K_CTRL) != 0; mk->alt = (mk->kstate & K_ALT) != 0; return event; } JS[2]>|f|7#5{U\`[Fuy,WzOkVP3Gv=1Z{{c+R7 [IU/| 7\`ϝm͟ξ{RH4 Z zy'#qLO,À6m^JP a<璬g?/10CB*k*AZCv/7Qxlj_2G{\N(sWJְ,qly37W 'M7zf<7I9~x]jaN^ [zML,7A+-{O>mSd(t헩A I9Y %m9usާBw[1}(J߉~M$ϲ3)B0d%9ۙH[rIsYB]v̲g"'u38C&~,N IA޿$ttP:LHs0x<s000<g2#00<g2#xxp<g2|p<2S 000<S|000<Os000<g>s000<g>s000<s>s<x<<s>s||xx< ;H: ; @; 0 fg,<00@ fg+ 00f`,0xxpxxxx@f`, 0|pg`,0̀ 00̀@ f`, 0̀|00̀ f`,0̀00@ f`, 0̀00 f`,0̀00@ ff`+ 0<x gf,0x|xx|@ gf, ; @; ; @; ; @; ; @; TTTTTU<@< ; @; ; @; ; @; ; @; ; @; 0 ;0 @; p ;p @; 0 ;0 @; 0 ;0 @; 0 ;0 @;  ; @; ; @; ; @; x ; @;  ;P:LD`@``@G`@g<g<gg`a<gg`a<f`a<fg`a<Fg`a<x<8<DD:: :`: ``:`: ǟÀ(ߘǀ( `a  ٝπ(X`a  ٝ̀( Y`àٟ(Y`a```ߚ̀( `a```  π(x```  π( 8```  ٘̀(  ٘̀( ̀̀(̀̀( :: :: :: QQQQR:: :: :: :: :: ,` Ϗ, ``   ,`  ,  π, π, ``  ,``   , ``   ,``   , `` πϏ,x π, 8 :: :: :UUUUU:P87 7 ? 7 ?? 7 π? 7 ̀> 7 ̀ <   7 ̀?<̀ 7 ̀?<̀ 7 ̀?<̀ 7   7  7 7 78(77(00800 f cό+(000 f g*1010 fl̀((03 fl̀(330330030 fl,(33033010 f fo,33033030 f fo((333030330 fm(333300330 fl̀((0030 fl*00010 ggl`+(  g#l`+ 7(77(77(77)QQQQQV88(77(77(77(7ُ'(Ǐُ߀' '(7  '7 '(6` '0fc1Û ((0fc3ۀ (03À3030 ـ((3À30À30 ـ(pÀ31À30À π'(0p0À31c30À Ϙπ'000À33c308(13081q108(77/8UU UU:* :P 2qNpmsz)Kh @}{b$,ah0\NE eF!UvDiۃ}+T٧L9w~;+*XQZ/مXezV\zݬԙ ﷂ|Hm'jyfUŔIi[h&"۱oA&"}&~ZlmN8~zOUA5]9"f}鋞ޭ=f0Cڮ'm [Җ0}Z?QH- Z; Projektdatei zu (R)alph's (P)seudo (M)ulti(T)asking RPMT_DEM.PRG ;.C [ -Y -P -C ] ;.L [ -Y ] ;.S [ -Y ] = PCSTART.O ; Startupcode RPMT_MAI.C (rpmt_rsc.h) ; Main_modul RPMT_KER.C (rpmt_rsc.h) ; Kern des RPMT RPMT_DEM.C (rpmt_rsc.h) ; Demo-Funktionen RPMT_EVN.C ; Event-Manager PCSTDLIB.LIB ; Libarys PCEXTLIB.LIB PCTOSLIB.LIB PCGEMLIB.LIB @J(N(LBh T ĴP0yY2CHuX"ϔВ8DdIyRQ`I1YRVT,@]Ax2y1JÕJ9T%(Ce)יP+ъU5'0kKHW$">EXl?߂ 'M__6%2>: uoӮY{K?*i 18EKD C#>_suє)@gi0w8#;P{(ǎLM ;bR ӵa_?wF?iu\|Hw_˝{5l"q*GpIFصY,LyXpu#*lՃ<2pg'umm@|{d{ Q4uR\,_Y QI0LM?1͜#Mҁ j{j^id'%_.3xdW5|h@#tC򱌾 ^d|h7m:ƙ\p|e>-=mӘ rp哕ZsoO] Mʶ63ڠ(hhhhh||$|(PP h n u P     +=R g RPMT Datei Optionen Informationen ---------------- 1 2 3 4 5 6 Formatieren... ----------------- Quit Copy von X nach Y -------------------- Alles Stop/Run %5M^`+3MTdcJlPxC1]r婝*\OGpYa;{DƈpV~(;ٛm%#!|.9Ȣ-|Kx'o4~z}͝yƽw5v+ /******************************************************************* * Modul : RPMT_INC.H * Projekt : RPMT * Aufgabe : Include-Files * RPMT *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28. 8. 1992 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ /* Headerdateien einladen */ #include #include #include #include #include #include #include /* Definitionsdatein laden */ #include "rpmt_rsc.h" #include "rpmt_def.h" #include "rpmt_pro.h" /* Zugriff auf Array gestatten */ extern TASK task[]; /* Standart-Definitionen, falls nicht schon vorhanden. */ #if !defined TRUE #define TRUE 1 #endif #if !defined FALSE #define FALSE 0 #endif #if !defined FAIL #define FAIL (-1) #endif #if !defined NULL #define NULL (void*)0L #endif XcӰ2/Fb`(Ruޤn,UR1~SגOFTܻqHqL׵Qd9|ړP*?3ރ5ڐdމKa.,Q%z__Q|pd6-uB}SwիƬ:$9W='nUtWxE }|7݄L;sU5+:+c%~1f]!miw8gA3XL=ۚ/@?7]1;ܻOҢxkio0E|@68PQ"jXIdX.CMB@D1 0pPy~l͎'#8' Bb A?@8PgD Azq{ 4xPF LDH7U9Bg0'TRV @ʘtrW$t4e]d1Q  +$ 3>EC R#5ɉk2eEblPP8)}6Dl%I4@n B,a8/CQsdUxQm \`/;ӤRN9JIWJ>nOEMAi/9R"LBe(B9*Ced >)L 磠v@ v*h<)D!1J p%44>I"L4jф(%D*) !P4WMQg_.G/FOqe(Z̘f $ &L9j!݈ȅnC6XلҮ2e5wk(;[FMn->c`MǠS@Oi~l!uU= z:sNéU X_u҅NE%}!áQyzh{7e<6򰝅#rbtc|bIJb04,EF''}}ޢo\:߰|u}11u~;QL5cԔes<)9.q~ ;͂E௞NJK;rwΆ5X"Of#XIV$49n^ ktt^O;'Ll%B;qJJzzd^LOY+ƍ-j[^/z!fk4&FtT! = ךj["=Z QD͡ = O,^5{UV*@=]tԔ je! ^5'\S$jKQ&ceĘk XEy{CX>db#00ĭ.g>cUISكް5QӧC#eNPi0*ÍlbaݩXTI1hURqCl(5DÊ,H܀blӐ!l(J@-$RƊ&嶂b-6Z;l8|x)_sM /******************************************************************* * Modul : RPMT_MAI.C * Projekt : RPMT * Aufgabe : Demo des (R)alph's (P)seudo (M)ulti(T)asking * RPMT *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28. 4. 1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ #include "rpmt_gem.h" #include #include #include #include #include #include #include #include "rpmt_rsc.h" #include "rpmt_def.h" #include "rpmt_pro.h" /* Menleiste */ OBJECT *my_addr; /* Message-Buffer */ int msg[16]; /* Struktur fr 11 Task definieren */ TASK task[12]; int main( void ) { /* Applikation anmelden */ init_gem(FALSE); /* RSC-Datei laden */ rsrc_load("RPMT_RSC.RSC"); /* Adresse Menleiste besorgen */ rsrc_gaddr(R_TREE,MLEISTE,&my_addr); /* Menleiste darstellen */ menu_bar(my_addr,1); /* Programm initialisieren */ inits(); /* Hauptschleife anspringen */ haupt(); /* Programm beenden, Menleiste entfernen */ menu_bar(my_addr,0); /* RSC- Freigeben */ rsrc_free(); /* Applikation abmelden */ exit_gem(); /* Alles OK */ return 0; } /* Main Ende */ /* Hauptschleife des Programms */ void haupt(void) { int event; RLKINFO mk; int verlassen = FALSE; do { event = multievent( msg , &mk , 100L ); wind_update(BEG_UPDATE); /* friere Bildschirm ein. */ if ( (event&MU_MESAG)&&(msg[0]==MN_SELECTED)) verlassen = hdl_menu( msg[3],msg[4] ); if (event & MU_TIMER ) task_manager(); wind_update(END_UPDATE); }while( verlassen == FALSE); } /* erforderliche Initialisierungen vornehmen */ void inits( void ) { /* Speicher reservieren, Windowlibary anmelden u.s.w. */ /* Taskmanager anmelden */ task_init(); /* Einen Systemjob starten*/ do_system(); }/* inits */ /* Auf Menauswahl reagieren */ int hdl_menu( int titel, int item ) { int flag=FALSE; /* welcher Eintrag wurde auserkoren ? */ switch ( item ) { case ML_INFO : do_info(); break; case ML_FORMAT: do_format(); break; case ML_WORK: do_work(); break; case ML_TASKER: do_tasker(); break; case ML_ENDE: flag = TRUE; break; }/* switch */ /* Menu normal darstellen */ menu_tnormal ( my_addr, titel, 1 ); /* Abbruchflag zurckgeben */ return (flag); }/* hdl_menu */ /* Infobox anzeigen */ void hdl_info( void ) { }/* hdl_info */ r ΋=e4efxStZGg6ԊR6՚vaE xPm!z-H +gXJؑq_ w"I f)dQ90M X5>>3Vpr`ʴP$)Yf*:LJ\rȒ u oOx3/******************************************************************* * Modul : RPMT_GEM.H * Projekt : ----- * Aufgabe : GEM-Schnittstelle. Workstation anmelden * Applikation anmelden GDOS-Test *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28.08.1992 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ #include #include #if !defined TRUE #define TRUE 0 #endif #if !defined FALSE #define FALSE 1 #endif int work_in[128]; /* zum Oeffnen von VDI */ int work_out[128]; int contrl[12]; /* fuer VDI-Aufrufe */ int intin[128]; int ptsin[128]; int intout[128]; int ptsout[128]; int addrin [128]; int addrout[128]; int global[15]; int gl_apid; /* Handle von AES */ int handle, /* Handle von VDI */ phys_handle; /* Handle von AES-VDI */ int aesfonts, /* Verfgbare Fonts fr AES */ vdifonts; /* Verfgbare Fonts akt. Treiber */ int gdosok; /* TRUE fr GDOS da FALSE fr kein GDOS */ /* Zeichenzellenmae */ int gl_hchar, gl_wchar, gl_hbox, gl_wbox; GRECT gl_desk; int init_gem(int flag); void exit_gem(void); int init_gem(int flag) { int i; /* Applikation anmelden */ if( (gl_apid = appl_init()) != -1) { /* Eingabearray initialisieren */ for ( i=0; i<10; i++) work_in[i]=1; work_in[10]=2; /* AES - Handle erfragen */ phys_handle = graf_handle( &gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox ); work_in[0] = handle = phys_handle; /* virtuelle Workstation ffnen */ v_opnvwk( work_in, &handle, work_out); /* Desktopmae bestimmen */ wind_get( 0, 4, &gl_desk.g_x, &gl_desk.g_y, &gl_desk.g_w, &gl_desk.g_h); /* Maus ausschalten */ graf_mouse(0,0L); gdosok = FALSE; /* GDOS-INFO ? */ if ( flag == TRUE ) { /* Ist GDOS geladen ? */ if ( vq_gdos() == 0 ) gdosok = FALSE; else { /* Ja, Fonts laden */ gdosok = TRUE; vdifonts = vst_load_fonts( handle , 0 ); aesfonts = vst_load_fonts( phys_handle, 0 ); } } return(1); } else return (0); } void exit_gem() { if ( gdosok == TRUE ) { /* geladene Fonts freigeben */ vst_unload_fonts( handle , 0 ); vst_unload_fonts( phys_handle , 0 ); } v_clsvwk( handle ); appl_exit(); } Bg.)#ab7$XqլBFf|s$!%1xT/'đЬWOqclu~(q'Q5cFƙOaUEm|Kvq.^刀}솴ۉ`CB98$)} \< +2x" V@ 8)c%$,f +h(c*SBqsqX%2_C$3 pQyDc! !}GMn%yMJ7s \BBm.I@ i? Ɠ+ dm_hf) nMP gl-%2z`#y9Žh?~Ώ&PF^mAH/******************************************************************* * Modul : RPMT_KER.C * Projekt : RPMT * Aufgabe : Multitasking-Routinen * *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28. 4. 1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ #include "rpmt_inc.h" #define T_ANZ 10 int taskstop; /*************************** * task_manager * Verwaltung der Tasks * in -> : * out -> : ***************************/ void task_manager( void ) { int i; /* Genereller Aufgabenstopp ? */ if ( taskstop == FALSE ) { /* Alle Tasks behandeln */ for( i = 0 ; i < T_ANZ ; i++ ) { /* Ist die Task belegt ? */ if ( task[i].t_id != 0 ) { /* Gibt es eine Funktion ? */ if ( task[i].t_funktion != NULL ) { /* Darf die Task laufen ? */ if ( task[i].t_status == T_RUN ) /* Ausfhren ! */ (*task[i].t_funktion)(i); else { /* vom User gewollte Pause ? */ if ( task[i].t_status != T_WAIT ) { /* Nein, Peripherie frei ? */ if ( used_device ( i )== TRUE ) { /* Soll gestartet werden ? */ if( task_start( i ) == TRUE ) { /* Status auf T_RUN setzten */ task[i].t_status = T_RUN; /* FUnktion ausfhren */ (*task[i].t_funktion)(i); } else /* Soll nicht gestartet werden, Task lschen. */ task_delete( i ); } /* Device frei */ } /* != T_WAIT */ } /* else T_RUN */ } /* Funktion != NULL */ } /* task id != 0 */ } /* for */ } /* Taskstop ? */ } /******************************* * task_exist * Test, ob Task existiert * in -> : Task-ID * out -> : Index Task-Array/ -1 *******************************/ int task_exist( int id ) { int i; /* Alle durchsuchen */ for( i = 0 ; i < T_ANZ ; i++ ) /* Gibt es die gewnschte ID */ if ( task[i].t_id == id ) /* Ja, Index zurck */ return i; /* Nein, Fehler */ return (-1); } /******************************* * used_device * Test, ob Peripherie frei * in -> : Index Task-Array * out -> : TRUE / FALSE *******************************/ int used_device( int tas ) { int device,drive; int i; device = task[tas].t_device; drive = task[tas].t_drive; /* Bildschirm ist immer Frei */ if ( device & T_SCREEN ) return TRUE; /* Wieder alle Tasks untersuchen */ for( i = 0 ; i < T_ANZ ; i++ ) { /* Luft die Task ? */ if ( task[i].t_status == T_RUN ) /* Verwendet Sie gesuchte Peripherie */ if( (task[i].t_drive & drive )|| (task[i].t_device & device ) ) return FALSE; /* ist belegt */ } return TRUE; /* ist frei */ } /******************************* * task_delete * eine Task entfernen * in -> : Index Task-Array * out -> : *******************************/ void task_delete( int i ) { /* Hier wrde bei allen Tasks, die die ID kleiner als 99 haben das dazugehrige Fenster geschlossen if ( task[i].t_id < 99 ) if ( task[i].t_fen != NULL ) delete_fenster( task[i].t_fen ); */ /* Urzustand herstellen */ task[i].t_id = 0; task[i].t_min1 = 0; task[i].t_max1 = 0; task[i].t_akt1 = 0; task[i].t_min2 = 0; task[i].t_max2 = 0; task[i].t_akt2 = 0; task[i].t_drive = 0; task[i].t_device = 0; task[i].t_status = 0; /* Kommentiert, da keine Window-libary installiert ist. task[i].t_fen = NULL; */ task[i].t_funktion = NULL; strcpy( task[i].t_name, "LEER" ); } /******************************* * task_init * Task-Manager initialisieren * in -> : * out -> : *******************************/ void task_init( void ) { int i; /* Genereller Stop */ taskstop = FALSE; /* Alle Tasks bearbeiten */ for( i=0 ; i < T_ANZ ; i++ ) { task[i].t_id = 0; task[i].t_min1 = 0; task[i].t_max1 = 0; task[i].t_akt1 = 0; task[i].t_min2 = 0; task[i].t_max2 = 0; task[i].t_akt2 = 0; task[i].t_drive = 0; task[i].t_device = 0; task[i].t_status = 0; /* Kommentiert, da keine Window-libary installiert ist. task[i].t_fen = NULL; */ task[i].t_funktion = NULL; strcpy( task[i].t_name, "LEER" ); } /* for */ }/* task_init */ /******************************* * task_free * freie Task suchen * in -> : * out -> : Task-Index / -1 *******************************/ int task_free( void ) { int i; /* Alle Tasks durchsuchen */ for( i = 0; i < T_ANZ ; i++ ) /* ID unbenutzt ? */ if ( task[i].t_id == 0 ) /* Index zurckgeben */ return i; /* Fehler, keine Task frei */ return (-1); } /******************************* * task_start * eine Task starten * in -> : Task-Index * out -> : TRUE / FALSE *******************************/ int task_start( int i ) { char tex[100]; /* Text fr Form_alert */ int ret; /* Da Ohne Windows, kommentiert OBJECT *addi; Dialogbox im Fenster FENSTER *a; Zeiger auf Fenster */ /* Systemtask mit ID 99 wird sofort gestartet. */ if ( task[i].t_id == 99 ) return TRUE; /* Einen Text zusammen- schustern. */ sprintf(tex, "[2][FRAGE:|Task: %s|ID : %d starten ?][ JA | Nein ]", task[i].t_name,task[i].t_id); /* Noch nicht gestartet */ if ( (task[i].t_akt1 == 0) && (task[i].t_akt2 == 0) ) ret = form_alert(1,tex); else ret = 1; /* Es wurde 'OK' gewhlt. */ if ( ret == 1 ) { if ( task[i].t_id < 99 ) { /* Falls die ID zwischen 1 und 98 liegt, soll ein Fenster geffnet werden. Aber nur, wenn noch kein Fenster fr diese Task geffnet wurde. Der Zeiger auf das Fenster ist also noch NULL Auch hier nur der die kommentierte Fassung. Noch kein Fenster vorhanden ? if ( task[i].t_fen == NULL ) { Adresse der Dialogbox besorgen rsrc_gaddr(R_TREE,NEUWORK,&addi); Fenster reservieren a = ropen_w( (NAME|MOVER),4, task[i].t_name, 0L , 0L, 0L, NULL, addi , nwork , 0L ); konnte Fenster reserviert werden ? if ( a != NULL ) { Ja, Tasknummer in Fensterstruktur eintragen. a->besonders = (long)i; fenster ffnen fenster_auf(a); fensterzeiger merken task[i].t_fen = a; } else task[i].t_fen = NULL; } */ } /* Task Starten */ return TRUE; } else /* Task nicht starten */ return FALSE; } /******************************* * get_device * verwendete Devices anzeigen * in -> : Task-Index / String * out -> : *******************************/ void get_device( int i , char *s ) { char z[16]; int tst,t = task[i].t_device; tst = 0x1; strcpy( z, "SPMDZIIIIIIIIIII" ); strcpy( s, " " ); for( i=0; i<=15 ; i++ ) { if ( tst & t ) s[i] = z[i]; tst<<=1; } } /******************************* * get_drive * verwendete Drives anzeigen * in -> : Task-Index / String * out -> : *******************************/ void get_drive( int map , char *str) { int i,tst; char zw[18]; tst = 0x1; strcpy( str, " " ); strcpy( zw , "ABCDEFGHIJKLMNOP"); for( i=0; i<=15 ; i++ ) { if ( tst & map ) str[i] = zw[i]; tst<<=1; } } Q40 6`XafYN@F(8w3MF `vcT-qWF]C[aDJ2 DZ[A=c$ІP>>F[>)qm`ƀ"D-ULWiYR,7< IQ\*kI)/******************************************************************* * Modul : RPMT_DEF.H * Projekt : RPMT * Aufgabe : Definition der Task-Struktur * Definition der Drives und Devices *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28.04.1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ typedef struct { int t_id; /* Task- Identifikation */ int t_min1; /* Start-x */ int t_max1; /* End-x */ int t_akt1; /* x-Aktuell */ int t_min2; /* Start-Y */ int t_max2; /* End-Y */ int t_akt2; /* Y-Aktuell */ int t_drive; /* Drive-Vektor */ int t_device; /* Device-Vektor */ int t_status; /* Status */ /* Zeiger auf Fenster der Task */ /* FENSTER *fen; */ void (*t_funktion)(int ind); /* Funktion */ char t_name[31]; /* Task- Name */ }TASK; /* Task-Manager Definitionen Laufwerke. */ #define T_DA 0x1 #define T_DB 0x2 #define T_DC 0x4 #define T_DD 0x8 #define T_DE 0x10 #define T_DF 0x20 #define T_DG 0x40 #define T_DH 0x80 #define T_DI 0x100 #define T_DJ 0x200 #define T_DK 0x400 #define T_DL 0x800 #define T_DM 0x1000 #define T_DN 0x2000 #define T_DO 0x4000 #define T_DP 0x8000 /* Taskmanager devices type peripherie */ #define T_SCREEN 0x1 #define T_PRINT 0x2 #define T_MODEM 0x4 /* 0x8 - 0x800 eigene Typen */ #define T_DTAUS 0x8 #define T_ZBUFF 0x10 /* Task-Manager Status-Definitionen */ #define T_HOLD 1 #define T_RUN 2 #define T_WAIT 3 /* Struktur fr Events */ typedef struct { int mox; /* Maus-X-Position */ int moy; /* Maus-Y-Position */ int mobutton; /* Mausknopf */ int kstate; /* Shift-Tastatur-Status */ int kreturn; /* Keycode von Event-Keyboard */ int breturn; /* Anzahl der Klicks */ int ascii_code; /* ASCII-Code der Taste */ int scan_code; /* Scan-Code der Taste */ int shift; /* Shift-Taste bettigt ? */ int ctrl; /* Control-Taste bettigt ? */ int alt; /* Alternate-Taste bettigt ? */ } RLKINFO; /* Eventfunktion */ int multievent( int *msg , RLKINFO *mk , long time ); '#. ~SB~aOփswL'D˶*ev\Y>gYZ70eeȎkgԮwo_t3(%;ZSĚO%خ #JVQ;raX"YTjɂjqqYR-%.=AS0慎r70%%&']S+l_ʐB|O ` -70- Flietext mit Tempus Editor Des Rechners Pein, des Anwenders Lust. oder wie man den Rechner mit RPMT an die Grenzen der Belastbarkeit fhrt. Multitasking ist eine nette Idee fr die Leute, die MultiGEM, Mint oder sonstige Erweiterung Ihr Eigen nennen. Da kann im Hintergrund gedruckt werden, whrend der Rechner noch mit umfangreichen Berechnungen beschftigt ist. Allen den Usern, die keine solche Erweiterung kennen, ist dieser Artikel gewidmet. Sie knnen mmlich bei lngeren Ausdrucken gemtlich die eine oder andere Tasse Kaffee genieen, ehe der Rechner mit der Ausgabe beendet ist. Damit dies in Zukunft nicht mehr sein mu, stelle ich an dieser Stelle das RPMT (= (R)alph's (P)seudo (M)ulti(T)asking ) vor. Was tut RPMT ? Es bedient Sich der Funktionen des AES, die ein quasi-Multitasking ermglichen. Jeder, der schon einmal ein Accessory gesehen oder selbst programmiert hat wei, da ein Accessory permanent im Speicher verweilt und nur darauf wartet, da es aufgerufen wird. Dazu springt das Accessory nach dem Start eine evnt_mesag Schleife an, in der es auf die Mitteilung AC_OPEN wartet. Dies ist fr das Accessory der Startschu. Diese Mglichkeit ist jedoch fr RPMT ungeeignet, da die einzelnen Tasks ( = Aufgaben ) ja aus einem Programm heraus gestartet werden sollen. Zudem wren dann ja auch nur maximal 6 Tasks mglich, da es unter GEM derzeit nur 6 Accessories geben darf. Die zentrale Routine in einem Programm, welches RPMT verwendet, ist daher die event_multi Schleife. Dort wird auf eine Timerereignis gewartet und, wenn dieses aufgetreten ist, wird der Task-Manager angesprungen, der den eigentlichen Kern des RPMT bildet. Normalerweise ist in jeder GEM-Applikation eine event_multi Schleife vorhanden, in der das Programm auf alle wichtigen Ereignisse wartet. Solche Ereignisse wren z.B. : MU_SELECTED : Es wurde ein Menu ausgewhlt. MU_KEYBD : Eine Taste wurde gedrckt MU_TIMER : Eine gewisse Zeitspanne ist abgelaufen. Eine Solche Funktion knnte dahe so aussehen. : int waiter( void ) { FOREVER { evnt = evnt_multi( MU_MESAG|MU_BUTTON|MU_KEYBD|MU_TIMER,...,,); /* Reagiere auf weitere Ereignisse.... */ if ( evnt & MU_TIMER ) manage_tasks( ); } } An dieser Stelle hakt sich RPMT in das Geschehen ein. Bei einem Zeitereignis wird die Funktion manage_tasks angesprungen, die die Hauptarbeit des Multitasking erledigt. Zu Beginn des Programms mssen Sie nur die Funktion init_tasks() aufrufen, die die einzelnen Tasks initialisiert und so mit definierten Startwerten versorgt. Weitere nderungen sind im Hauptteil des Programms fast nicht ntig. Wie der Taskmanager im Einzelenen jetzt genau funktioniert, da zeigt hoffentlich die folgende Beschreibung der Funktionen im Zusammenhang mit den abgedruckten Listings. Damit RPMT durch die Fortschrittsanzeigen nicht den Bildschirminhalt zerstrt, sollten solche Ausgaben generell unterbleiben, oder in einem Fenster dargestellt werden. Ich habe allerdings aus Platzgrnden auf die Einbindung einer Windowlibary verzichtet. In den Listings sind jedoch an den markanten Stellen Kommentare eingefgt, so da ersichtlich sein wird, wo und wann eine Window-Ausgabe zu erfolgen hat. Im Demo-Programm druckt jede Task die Ausgabe an einer bestimmten Bildschirmposition. Was oder was ist eine Task ? Eine Task oder ein Job ist eine Aufgabe, die der Rechner zu bewltigen hat, whrend er noch etwas Anderes zu tun hat. Ein klassisches Beispiel ist die Darstellung des Mauszeigers in GEM-Applikationen. Auch wenn gerade ein Diskettenzugriff erfolgt, wird der Mauszeiger aktualisiert. Jeder Job, der unter RPMT gestartet wurde, bekommt eine Struktur zugewiesen, in der alle wichtigen Informationen ber den Job enthalten sind. Auf diese Weise ist es dem Taskmanager mglich, die einzelnen Jobs effizient zu verwalten. Zudem verwendet er noch eine globale Variable 'taskstop' mit deren Hife das RPMT gesteuert wird. Ist dieser Wert = TRUE, so wird kein Job ausgefhrt. Die Jobs werden quasi eingefroren. Erst wenn der Wert wieder FALSE ist, werden die Jobs wieder bearbeitet. Die einzelnen Komponenten dieser Strukur sind im Listing 5 genau aufgefhrt. Die Bedeutung der einzelnen Felder wird im Folgenden erlutert.: int t_id; Eine Integerzahl, die die Kennung eines Prozesses enthlt. Anhand dieser Identifikationsnummer kann der Taskmanager erkennen, ob eine Task schon belegt ist oder nicht. Die Kennung kann vom Programmierer frei gewhlt werden. Es ist dabei nur etwas zu beachten. Hat ein Job als ID den Wert '99' , so wird dieser Job ohne Rckfrage gestartet, da Ihn der Taskmanager als Systemjob einordnet. Ebenso kann ein 99'er-Job nicht vor dessen Ende gelscht werden. Alle anderen Jobs knnen whrend des Laufs abgebrochen werden. Bei allen Werten zwischen 1 und 98 wird in der Funktion 'task_delete' versucht, das Fenster zu schlieen, auf das der Eintrag 'fen' zeigt. Diesen Eintrag versucht die Routine 'task_start' mit einem Zeiger auf ein neu kreiertes Fenster zu belegen. Sind keine Fenster mehr frei, so wird hier eine NULL ( -> (void*)0L ) eingetragen. Mgliche Werte : 0 : Diese Task ist frei und kann somit neu belegt werden. 1 - 98 : Diese Task hat ein Fenster zur Fortschrittsanzeige. 99 : Diese Task ist intern und kann daher nicht gelscht werden. 100 - n: Diese Task hat keine Fortschrittsanzeige oder Sie hat eine spezielle Userdefinierte Updateroutine. int t_min1,t_max1,t_akt1; Diese Werte halten fest, wieviele Zyklen eine Task absolvieren mu. z.B. beim Formatiern einer Diskette mit 80 Tracks mu die Schleife insgesamt 80 mal durchlaufen werden. aus : for ( i = 0 ; i < 80 ; i++ ) wird daher : t_min1 = 0; t_max1 = 79; t_akt1 = 0; wobei t_akt1 die Rolle des Parameters 'i' bernimmt. int t_min2,t_max2,t_akt2; Diese Werte enthalten die Grenzen fr eine weitere Schleife. z.B.: Formatieren der Disk Seite 1 und 2: t_min2 = 0; t_max2 = 1; t_akt2 = 0; In t_akt1 oder t_akt2 hlt der Taskmanager fest, wie oft die Schleife schon durchlaufen worden ist. int t_drive; Hier ist Bitweise verschlsselt, auf welches Laufwerk die Task zugreifen mu. Da manche Aufgaben exklusiv auf ein Laufwerk beschrnkt sind mu, hier das entsprechende Bit fr das Laufwerk gesetzt werden, um es so fr weitere Jobs sperren zu knnen. Dabei heit Bit 0 gesetzt -> Laufwerk A Bit 1 -> Laufwerk B usw. Der Sinn liegt darin, da sich verschiedene Jobs spinnefeind sein knnen. Dies wre dann der Fall, wenn z.B. gerade Laufwerk A formatiert wird, und eine weitere Task ebenfalls auf Laufwerk A zugreifen mchte, um die Quelldaten des Jahrhundertprogramms zu sichern. Das Chaos wre dann faszinierend. Ebenso knnten sich so wichtige Daten sang und klanglos in das Datennirwana verabschieden. Die Belegung des Bitvektors ist wie folgt. : Bit 0 = 1 --> Laufwerk A wird bentigt Bit 1 = 1 --> " B " " u.s.w. int t_device Dies ist ein Bitvektor fr weitere Gerte des Rechners. Einige sind in RPMT_DEF.H vordefiniert. Diese Gerte wren z.B. Drucker, Modem, Bildschirm, ein Pufferbereich innerhalb des Programms, eine bestimmte Datei oder eine andere Task, die erst fertig sein mu. Es knnen halt nicht zwei verschiedene Listen gleichzeitig gedruckt werden. int t_status; Dieser Wert bestimmt, was der Task-Manager mit diesem Job zu tun hat. Es sind im Programm drei Zustnde denkbar. 1 : T_RUN , die Task wird momentan ausgefhrt. 2 : T_HOLD , die Task wartet noch sehnschtig auf Peripherie. 3 : T_WAIT , die Task ist vom User in den Wartezustand verbannt worden und bleibt solange im HOLD-Modus, bis der User diese Task wieder aktiviert. FENSTER *fen; Hier wird ein Zeiger auf eine Fensterstruktur oder ein Fenster eingetragen, in das die Task seine Ausgaben ttigen soll. Im Demoprogramm ist dieser Eintrag nicht benutzt, da keine Windowlibary eingebunden ist. void (t_funktion)(int index) Die ist ein Zeiger auf eine Funktion, die vom Taskmanager aufgerufen wird. In dieser Funktion wird die eigentliche Aufgabe der Task programmiert. Im Wert 'index' wird der Funktion der Index des Array bergeben, in dem die Informationen zu diesem Job zu finden sind. -> Im Listing 1 finden Sie dazu einige Beispiele. Last not least. char t_name[31]. Hier hat man 30 Stellen Platz, um der Task einen Namen zu geben. Damit kann man dem User mitteilen, wer gerade was wo erledigt. Soweit zu den Definitionen der Jobs, nun aber geht es an das Eingemachte, die Routinen des RPMT. Die Funktion task_init() In dieser Funktion werden alle 'T_ANZAHL' Elemente des Task-Arrays initialisiert und mit definierten Werten versehen. Diese Funktion wird nur einmal zu Beginn des Programms aufgerufen. Tip. : Als Modifikation kann man der Funktion die Anzahl der maximal mglichen Jobs bergeben. Dann braucht man nur noch in der Funktion task_init einen entsprechenden Speicherbereich zu reservieren. Der Bequemlichkeit halber habe ich nmlich die Anzahl der Jobs global festgelegt, sorry. Die Hauptfunktion 'task_manager' Prozessor versteck' dich, ich neck' dich. Kurz nach dem Aufruf stellt die Funktion fest, ob generell alle Tasks gesperrt sind. Dies ist dann der Fall, wenn die globale Variable 'taskstop' den Wert TRUE hat. Die Verarbeitung wird dann sofort - sehr zur Freude des Prozessors- abgebrochen. Ist das nicht der Fall, so werden alle Tasks daraufhin untersucht, ob die Identifikationsnummer ungleich 0 ist, dann ist nmlich dieser Job vorhanden und soll bearbeitet werden. Im nchsten Schritt wird untersucht, ob der Status der Task gleich T_RUN ist. Wenn ja, so wird die entsprechende Funktion aufgerufen. Ist der Status jedoch T_HOLD, so wird in der Routine used_device berprft, ob die geforderte Peripherie endlich frei ist. Erhlt der Manager darauf die sehnlichst erwartete Zustimmung, so wird die Task gestartet und Ihr Status wird auf T_RUN gesetzt. Die Routine task_start fragt noch einmal nach, ob diese Task denn berhaupt gestartet werden soll. Falls nicht, so wird die Task sofort in der Funktion task_delete wieder entfernt. Nachdem so alle Task sukzessive abgearbeitet worden sind, kehrt die Funktion wieder in die event_multi Schleife zurck. Es ist einleuchtend, das so relativ viel Rechenzeit verbraucht wird, aber leider geht es mit diesem Betriebssystem nicht anders, wenn man keine gemeinen Kniffe anwenden mchte. Es kann schon mal vorkommen, da bei einigen gleichzeitigen Jobs die Mausbewegungen etwas ruckartig werden. Dies kommt daher, da der task_manager alle 100 Millisekunden ( -> time der Funktion multievent ) aufgerufen wird. Man kann allerdings die Jobbearbeitung etwas drosseln, indem man den Wert auf 200 oder 300 einstellt. Dann laufen zwar die einzelnen Jobabschnitte etwas verzgert ab, aber dafr bleibt der Rechner bei den anderen Aufgaben etwas schneller. Hier ist dann auch schon der groe Unterschied zu einem 'richtigen' Multitasking erkennbar. Im 'richtigen' Multitasking bekommt jeder Prozess eine bestimmte Zeitspanne zugeteilt. Nach Ablauf dieser Zeit wird die Task erbarmungslos unterbrochen und einer anderen Task wird die Zeit zugeteilt. Da GEM und/oder AES nicht zu einem solchen Time-Sharing fhig sind, wird hier einem Prozess solange Zeit gegeben, bis dieser mit seiner Berechnung fertig ist. Daher handelt es sich auch nur um ein 'pseudo' Multitasking. Die Funktion used_device Sie gibt entweder ein TRUE ( = Peripherie ist frei ) oder ein FALSE ( = Peripherie ist belegt ) zurck. Es werden alle Jobs durchsucht und auf die verwendete Peripherie getestet. Dazu wird nach solchen Jobs Ausschau gehalten, die den Status T_RUN haben. Wird einer gefunden, so wird durch einfache Bitverknpfung festgestellt, ob die verlangte Peripherie frei ist. Die Funktion task_delete Diese Funktion bekommt den Index der Task bergeben, die gelscht werden soll. Falls die ID dann kleiner als 99 ist und ein Zeiger auf ein Fenster enthalten ist, so wird das Fenster geschlossen. Anschlieend werden wieder alle Werte auf die Standarteinstellung gebracht. Ist die Task-ID aber 99 , so wird der Wunsch nach einer Lschung des Jobs geflissentlich berhrt, da es sich bei dieser Task um eine Systemroutine handelt. Im Demoprogramm ist das die Routine, die laufend alle aktiven Jobs anzeigt. Die Funktion task_free sucht nach einer freien Task in dem Taskarray und gibt entweder den Index des freien Eintrags zurck, oder eine -1 fr 'Kein Eintrag mehr frei'. Die Funktion task_start. In dieser Funktion wird zu jeder Task eine Meldung generiert, in der der User gefragt wird, ob diese Task tatschlich gestartet werden soll. Bei den internen Tasks, die die ID 99 haben, entfllt diese Meldung, sie werden sofort gestartet. Die Funktion taskexist prft nach, ob eine Task doppelt vorhanden ist. Dazu ein Beispiel. Sie haben in einem Speicherbereich Daten Bearbeitet, die Mittels 4 Jobs (Jo1,Jo2...) bearbeitet werden sollen. Nach Beendigung aller Arbeiten soll der Speicherbereich wieder freigegeben werden. Sie starten dann Jo1,Jo2, Jo3 und Jo4 und schicken sofort die Task 'Speicher freigeben' los, die kontrolliert, ob noch die Jobs Jo1,Jo2.. aktiv sind. Erst wenn Sie mit taskexist feststellen, das alle vier Jobs fertig sind, kann der Speicher freigegeben werden. Soweit zu dem Hauptteil des Programms. Die restlichen Listings enthalten eine kleine GEM-Umgebung fr den Test. Sie mssen nur noch eine kleine RSC-Datei anlegen, so wie Sie in der Abbildung 1 dargestellt ist. Ich habe die Quelltexte ausreichend kommentiert, so da eigentlich keine Fragen mehr offen sein sollten. Dies war die Erklrung zu RPMT. Getestet habe ich das abgedruckte Programm unter folgenden Bedingungen : Atari 520 ST+ TOS 1.4 und TOS 2.06 und unter MultiGEM. (Das Demoprogramm ist fr den SM124 640*400 Pixel erstellt worden, es luft natrlich auf allen Auflsungen, sieht da aber etwas merkwrdig aus, da die Ausgaben mittels printf auf die Koordinaten meines Bildschirms berechnet sind.) Fehler beim Test ? Nein !? Erfreulicherweise traten bei keinem System Probleme auf, wenn man die improvisierte Bildschirmausgabe mittels printf einmal auer Acht lsst. Lenkt man die Ausgaben korrekterweise in ein Fenster, so traten wirklich kaum Probleme auf. Doch, wohl Fehler !! Unter MultiGEM gab es herbe Abstrze, fr die allerdings keines der Programme die Schuld zu tragen scheint. Woher soll MultiGEM auch wissen, das PureC gerade auf Laufwerk A sichert, whrend mein Testprg1 das gleiche Laufwerk formatieren will, und es mein Testprg2 ebenfalls formatiern mchte. Und woher sollen PureC, Testprg1 und Testprg2 dies voneinander wissen. Ein Lsungsansatz zur Bewltigung dieses Problems wre die Einrichtung eines Cookies, ber den man den Zugriff auf einen Laufwerksvektor und einen Devicevektor erhlt. Die Belegung der Peripherie wre dann von jedem Programm zu erfragen und entspechend seiner Belange auszuwerten und zu bearbeiten. Erst dann wre meiner Meinung nach ein gefahrloses Multitasking mglich. Einen solchen Cookie wollte ich noch nicht installieren, da ja nur meine Programme etwas sinnvolles damit anfangen knnten. Allen anderen Programmen wrde dieser Cookie nichts sagen. Aber wer wei, vielleicht wird so etwas ja bei dem neuen MultiTOS notwendig. Zum Schlu sei mir noch ein Hinweis in eigener Sache gestattet. Da ich ein entsetzlich neugieriger Mensch bin, wrde es mich interessieren, ob jemand diese Routinen in Seinen eigenen Programmen verwenden mchte. Dies kann er gerne tun, ich wrde mich jedoch ber eine kleine Nachricht oder ein Demoprogramm sehr freuen. Diese Bitte ist wirklich ganz uneigenntzig und frei von jedweder Raffgier. Aber nur aus den Erfahrungen und Hinweisen Anderer heraus kann ich diese Routinen weiter optimieren. Also, bitte schreibt an : Ralph Lanfermann Nordstr. 48 5102 Wrselen - Stichwort RPMT - ****** ENDE ************ (C) by R.Lanfermann 27.04.1993 /ϫu|Ⅶ7f"w F;g8ཌྷ6E3)mN[`MdP^(u'vO̼7⒉BH [* qSBQ8: .rˊe!DLrcBBZ`\NK<eIq1ʥY0z@lG)y=9|rnRsr`%7<.i(w@[O''W^nKŖൂ3D).5irLXO-$!UCs=UE,ōt10D&2LV/a2$M)LsMJلR=XS[yVUXb .|7~{+ug9r% =}o;n{"/v.gY_ ัޟg%GyIKOPG():02+i$tZ`PP&z?Bhknj|dϻ yOb3ixf<AOdUf~鋩,Mge#VH+KΥ՞|)"fo-'Ft*u"?GFqJі)OL%$k%'?$[Rͻ&ğ#tC FJ18z:*u3XfY)pM185هvS&ƣ`pb$``">>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#"3" k #" Ј<.@#"Jy"g<"@(I$k,"Jf"JfB// ?<?<JNAO A<~kRrRAfA6<HCBB`6 !jBJ)gHiRC` "fSI "WSAkHiRCBSQJ)gHiRCHy`$ONN0 J"LN? 9rg @N 9vg @NN^?<LNAH06E"N:5@6R@gB@` 2A5R@| m5|HjFHjHCBADNPO5@:5@84HjC8 JNXOGJHkHkHkHSrB@NOB@N5|@JCf6NdJ@f5|@`$Bj@BA0*8NV5@>BA0*:NV5@BA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp ah$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA anA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka~$"J@k,f4(SSfRf& L\Nu3 pp`"`&x,A'J'JE8'J & KaJ@kfRf"`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a`"_"JkNgPAp SjH@" 0a<߶<Xfg.G*3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"pp` 3!pp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!p`0123456789abcdefghijklmnopqrstuvwxyz/ &y" g/ &S?<INA\O`&y" g/ &S?<INA\O`&_Nu@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#r2#"Nu 9""ЁЁЀЁЁЁЁ爐ЁЀЁЁЁR#"H@|NuHR??<NAXO$_NuHRHP?< NA\O$_NuC0HRt""2"<"0<NBA1J0$_Nu"<`"< `HQC0B#H 222"" """"2 "<a" "_2E"Z2"Z2"Z2"Z2"Z2$ANuHQHP" %5d INFOANZEIGEJOBLIST*** JLIST * : %4d Jobs running Laufwerke RUN HOLDWAITID : %4d %s %s %s%s%s%s %c %s%s%s%s%s%s**** RPMT **** (R)alphs (P)seudo (M)ulti(T)asking *****1992 by LANTEC ComPro Alsdorf Das ist ein Demo-Programm zu RPMT. viel Spa beim Testen..... >>> %s <<< !!!".00$0B1J2b2235 46B2345 6Br  <    D 4 4b> @ 8" $0. 0l  f $   B  @ $   "* $ 8 . dR@&  ~.$6. "D  .t a٧8$ȍq|`]>(ڄ)&4~MLEISTEVEREVADATEIOPTIONSML_INFOML_FORMATML_ENDEML_WORKML_TASKERu#NcŌ=^{O/3*>]9aQML_sEOQ)4;:nXow^*tòy{X; %OROkrs!%kGG(2$ LI\"A:DlJ [] n!#"{ϜUǗXI礢eӻw}{\0c[`o`W:Ũ4[+VW@HvOsM'$|)"R lVT L#ķ/!SWx:iڲᮒg|;C6,,3 8JkӸ~#R Q^ qX[ B ϘAlBMcGWw=pT CXgp[ISg:dZm VM"&E4Z^, :2&(_$6yu@RG5 m]WOTP/dNiDC xz,OZ@"HGˬCVy+H9HK?Ţ `I>mȼ{`65ЗZ9[jq J s֚ gIz dA$60A[0~:TG!uHkOPa zxSiEM3lS NN)'I0";5{*n).ug6#P]b0rM~0yErU`pw{4omt0@)SMiqWK.:We!\VaQNp'_ -.D3o6ޚĸӏflzΥO>!vߌO: fW[ހ\f焑LZD*')Мz{Zyan=/* Resource Datei Indizes fr RPMT_RSC */ #define MLEISTE 0 /* Menuebaum */ #define VEREVA 3 /* TITLE in Baum MLEISTE */ #define DATEI 4 /* TITLE in Baum MLEISTE */ #define OPTIONS 5 /* TITLE in Baum MLEISTE */ #define ML_INFO 8 /* STRING in Baum MLEISTE */ #define ML_FORMAT 17 /* STRING in Baum MLEISTE */ #define ML_ENDE 19 /* STRING in Baum MLEISTE */ #define ML_WORK 21 /* STRING in Baum MLEISTE */ #define ML_TASKER 23 /* STRING in Baum MLEISTE */ X\0nOEɚ$;gs`J>|tc +H鈝llWn)v8x6; ilǒ.e=6k] qP.(m-P xm@-" 5\Y|4PdKl `}| 5UA!J@Iz.d1'?.FY}bS*f6f~?l8p..֩M}v.T1γ1eT?-Iq8-.\mFhA^ee<+]מ\9;-X4 ʗ4UCsB?t?tk(&=fQi.TȰ ^"it`+ߤ9^lmﺾuMB*كWh ,0_Ck*CM^v7!uRu RWq?#N^96Y]*7ǽ(vm9}ݳk$TYAS/~(Il_tEY#Information zu RPMT. Das Projekt wurde mit PureC erstellt und getestet. Smtliche Rechte sind alleine beim Autor und bleiben bis zu einer abweichenden Vereinbarung auch beim Autor. Ich behalte mir vor, die Quelltexte auch anderen Zeitschriften zur Verffentlichung anzubieten. Eine exklusive Verffentlichung in einer Fachzeitschrift kann nur mit schriftlicher Zustimmung des Autors erfolgen. Zu dem Project gehren folgende Dateien und Listings. Der Text neben Dem Dateinamen bezeichnet dabei die Bild/Kastenunterschrift unter dem jeweiligen Listing. RPMT_DEM.C Listing 1: Einzelne Beispiel-Jobs RPMT_ENV.C Listing 2: Event-Routine RPMT_KER.C Listing 3: Die RPMT-Routinen RPMT_MAI.C Listing 4: Das GEM Gerst RPMT_DEF.H Listing 5: Definition der Tasks RPMT_GEM.H Listing 6: Die GEM Schnittstelle RPMT_INC.H Listing 7: Include-Dateien RPMT_PRO.H Listing 8: Prototypen-Deklarationen RPMT_DEM.PRJ Listing 9: Das PureC Project-File RPMT_RSC.H Listing 10: Die RSC-Definitionen RPMT_RSC.RSC RSC-Datei ( Ohne Abdruck ) RPMT_RSC.HRD RSC-Header ( Ohne Abdruck ) RPMT_DEM.PRG Ein Lauffhiges Programm ARTIKEL.TXT Der Begleittext WICHTIG.TXT Shareware-Regeln _JQ (3ˑ-g ֙}\(m{⍵\qv2n7Aےu'4Q+Hm BjYcR> ^2mr, `8lnOwݧcDwmPM]q8$LC2̥W:-ԺsdQ8;4CƟ@5q_dŽc(4ZԆ:2&M#YƎ7GfW׷C˂.QѷQM ƊE4TBrR=FVY;N8d'VKau]7_:dƒ8˼9FvgOGuZb-U-zkOsW0=9o[5^-m+"@ߩ-_}#)d9V7)Z"A<4[/~ /~s#W#Go;k' :۸/-/q|R9%쯩SN)eJ;tƗ}q9芔ۇFЃW~^J}Ms{}ҏZt7|c/******************************************************************* * Modul : RPMT_DEM.C * Projekt : RPMT * Aufgabe : Kleine Demo-Routinen zu RPMT * *------------------------------------------------------------------ * Autor : Ralph Lanfermann * Datum : 28. 4. 1993 *------------------------------------------------------------------ * Computer : Atari ST * Compiler : Pure C Version Aug 29 1991 * Optionen : ----- * Version : 1.00 *******************************************************************/ #include "rpmt_inc.h" #define GOTO_POS "\33Y" #define Goto_pos(x,y) (Cconws(GOTO_POS), Cconout(' ' + x), Cconout(' ' + y)) static void formatter( int in ); static void joblist( int in ); static void copierer( int in ); static void infostring( int in ); void ausgeben( int bis ); /* Hilfvariablen zur DEMO */ static int disknr; static char zeile[500]; extern int taskstop; int do_work( void ) { /* Dieser Job Kopiert von A nach B */ int j,ret; /* freie Task suchen */ j = task_free(); /* Gefunden */ if ( j >= 0 ) { task[j].t_id = disknr; task[j].t_min1 = 0; task[j].t_max1 = 100; /* Damit man was erkennt */ task[j].t_akt1 = 0; task[j].t_min2 = 0; task[j].t_max2 = 0; task[j].t_akt2 = 0; /* Ein wenig Zufall */ ret = random( 17 ); /* und ein Paar Quelldrives */ switch( ret ) { case 2 : task[j].t_drive = T_DC; break; case 3 : task[j].t_drive = T_DD; break; case 4 : task[j].t_drive = T_DE; break; case 5 : task[j].t_drive = T_DF; break; case 6 : task[j].t_drive = T_DG; break; case 7 : task[j].t_drive = T_DH; break; case 8 : task[j].t_drive = T_DI; break; case 9 : task[j].t_drive = T_DJ; break; case 10 : task[j].t_drive = T_DK; break; case 11 : task[j].t_drive = T_DL; break; case 12 : task[j].t_drive = T_DM; break; case 13 : task[j].t_drive = T_DN; break; case 14 : task[j].t_drive = T_DO; break; case 15 : task[j].t_drive = T_DP; break; default : task[j].t_drive = T_DC; break; } ret = random( 17 ); /* und ein Paar Ziellaufwerke */ switch( ret ) { case 2 : task[j].t_drive |= T_DC; break; case 3 : task[j].t_drive |= T_DD; break; case 4 : task[j].t_drive |= T_DE; break; case 5 : task[j].t_drive |= T_DF; break; case 6 : task[j].t_drive |= T_DG; break; case 7 : task[j].t_drive |= T_DH; break; case 8 : task[j].t_drive |= T_DI; break; case 9 : task[j].t_drive |= T_DJ; break; case 10 : task[j].t_drive |= T_DK; break; case 11 : task[j].t_drive |= T_DL; break; case 12 : task[j].t_drive |= T_DM; break; case 13 : task[j].t_drive |= T_DN; break; case 14 : task[j].t_drive |= T_DO; break; case 15 : task[j].t_drive |= T_DP; break; default : task[j].t_drive |= T_DE; break; } task[j].t_device = 0; /* Immer erst ins Hold */ task[j].t_status = T_HOLD; task[j].t_funktion = copierer; /* Das Kind braucht einen Namen */ sprintf( task[j].t_name , "COPY DISK "); /* Disknummer eins erhhen */ disknr++; } if ( disknr == 22 ) disknr = 1; return TRUE; } int do_format( void ) { int j,ret; /* freie Task suchen */ j = task_free(); /* Gefunden */ if ( j >= 0 ) { ret = form_alert(1,"[2][Disk A oder B|formatieren ?][ A | B ]"); task[j].t_id = disknr; task[j].t_min1 = 0; task[j].t_max1 = 100; /* Damit man was erkennt */ task[j].t_akt1 = 0; task[j].t_min2 = 0; task[j].t_max2 = 0; task[j].t_akt2 = 0; /* Laufwerk A oder B */ if ( ret == 1 ) task[j].t_drive = T_DA; else task[j].t_drive = T_DB; task[j].t_device = 0; /* Immer erst ins Hold */ task[j].t_status = T_HOLD; task[j].t_funktion = formatter; /* Das Kind braucht einen Namen */ sprintf( task[j].t_name , "FORMAT VON DISK #%d",disknr); /* Disknummer eins erhhen */ disknr++; } if ( disknr == 22 ) disknr = 1; return TRUE; } void formatter( int in ) { int is_error = TRUE; /* Mu noch etwas geschehen ? */ if ( task[in].t_akt1 < task[in].t_max1 ) { /* Ja, dann formatieren Falls ein Fehler auftritt, wird is_error auf FALSE gesetzt, damit die Task beendet werden kann. Im Demo bleibt is_error immer TRUE. Nach der Aktion wird t_akt1 um eins erhht. Hier ist auch die Stelle, an der ein Redraw fr das Fortschrittsfenster erfolgen kann. Dazu wird die Funktion updaten aufgerufen, die ber die Funktion appl_write eine Redraw-Message an das Betreffende Fenster versendet. Dies darf natrlich nur geschehen, wenn berhaupt ein Fenster vorhanden ist. void updaten( int in ) { if ( task[in].t_fens != NULL ) { WM_REDRAW versenden } } Im Demo wird an der Stelle X=1,Y=n ein Hinweistext ausgegeben. */ Goto_pos( (task[in].t_id)+1 , 1 ); printf("*** Task : %-20s -> %5d\r", task[in].t_name,task[in].t_akt1); task[in].t_akt1 += 1; } else /* Nein, dann Task entfernen */ task_delete( in ); /* Es trat ein Fehler auf */ if ( is_error == FALSE ) task_delete( in ); } void copierer( int in ) { int is_error = TRUE; /* Mu noch etwas geschehen ? */ if ( task[in].t_akt1 < task[in].t_max1 ) { Goto_pos( task[in].t_id+1 , 1 ); printf("*** Task : %-20s -> %5d\r", task[in].t_name,task[in].t_akt1); task[in].t_akt1 += 1; } else /* Nein, dann Task entfernen */ task_delete( in ); /* Es trat ein Fehler auf */ if ( is_error == FALSE ) task_delete( in ); } int do_tasker( void ) { if ( taskstop == TRUE ) taskstop = FALSE; else taskstop = TRUE; return TRUE; } int do_info( void ) { int j; /* gibt einen Infostring aus */ /* freie Task suchen */ j = task_free(); /* Gefunden */ if ( j >= 0 ) { task[j].t_id = 101; task[j].t_min1 = 0; task[j].t_max1 = 250; task[j].t_akt1 = 0; task[j].t_min2 = 0; task[j].t_max2 = 0; task[j].t_akt2 = 0; task[j].t_drive = 0; task[j].t_device = T_PRINT; /* Immer erst ins Hold */ task[j].t_status = T_HOLD; task[j].t_funktion = infostring; /* Das Kind braucht einen Namen */ sprintf( task[j].t_name , "INFOANZEIGE"); } return TRUE; } int do_system( void ) { int j; /* Diese Routine listet stndig alle Tasks auf, die dezeit laufen. */ /* freie Task suchen */ j = task_free(); /* Gefunden */ if ( j >= 0 ) { task[j].t_id = 99; /* Ein Systemjob */ task[j].t_min1 = 0; task[j].t_max1 = 0; task[j].t_akt1 = 0; task[j].t_min2 = 0; task[j].t_max2 = 0; task[j].t_akt2 = 0; task[j].t_drive = 0; task[j].t_device = T_SCREEN; /* Immer erst ins Hold */ task[j].t_status = T_HOLD; task[j].t_funktion = joblist; /* Das Kind braucht einen Namen */ sprintf( task[j].t_name , "JOBLIST"); } return TRUE; } void joblist( int ii ) { int x,y,i; char text[38]; char status[6]; x = 42; y = 0; for( i=0; i<10; i++ ) if ( task[i].t_id != 0 ) y++; Goto_pos( 2 , x ); printf("*** JLIST * : %4d Jobs running\r",y); Goto_pos( 4 , x ); printf(" Laufwerke "); /* Alle Tasks durchsuchen */ for( i = 0 ; i < 10 ; i++ ) { get_drive( task[i].t_drive , text ); switch( task[i].t_status ) { case T_RUN : strcpy( status , "RUN "); break; case T_HOLD: strcpy( status , "HOLD"); break; case T_WAIT: strcpy( status , "WAIT"); break; default : strcpy( status , " "); } Goto_pos( 5+i , x ); if ( task[i].t_id != 0 ) printf("ID : %4d %s %s\r",task[i].t_id,status,text); else printf(" "); } } void infostring( int in ) { /* Erster Aufruf ? */ if ( task[in].t_akt1 == 0 ) { /* Infostring generieren */ sprintf( zeile , "%s%s%s%s %c %s%s%s%s%s%s", " ", "**** RPMT ****", " (R)alphs (P)seudo (M)ulti(T)asking ", "*****", 0xbd, "1992 by LANTEC ComPro Alsdorf ", "*****", " Das ist ein Demo-Programm zu RPMT. ", "*****", " viel Spa beim Testen..... ", " "); task[in].t_max1 = (int)strlen( zeile ); } if ( task[in].t_akt1 < task[in].t_max1 ) { ausgeben( task[in].t_akt1 ); task[in].t_akt1 += 1; } else task_delete( in ); } void ausgeben( int bis ) { /* Diese Funktion gibt nur einen kleinen Infotext aus. */ char zwi[500]; strncpy( zwi, &zeile[bis] , 20 ); Goto_pos( 22 , 1 ); printf(">>> %s <<<\r",zwi); } JS4# }r(h.A+QT\ȓ|]2 : rJȠ79sۗS't ɈS|,FjBhK}T!8&FF^I4c+I\ːN&^5aƤ QOqZ/0FσzKt1o; oPP5T&^čɪ'D{#͠9\9 Dd ʀ2z2Pr$tXHHvcb0D'E~~F?=CYŬ ݶq|d^T=ϗ}N $[qwVVNoch ein Wort in eigener und spezieller Sache. Die Routinensammlung zu RPMT stelle ich der MAUS Aachen zur Verfgung, als Dankeschn fr's 'saugen'. Ab sofort auch auf PD-Disk der ST-Computer erhltlich. (sonst htten Sie es nicht in der Floppy) Darf ich, oder nicht ? Die Routinensammlung ist SHAREWARE. Sie darf ( Nur komplett lt. INHALT.TXT ) weitergegeben, gedownloaded, kopiert und verschenkt werden, so man kann und will. Jedwede kommerzielle Weitergabe ist nicht gestattet. Was tun bei Gefallen ? Wer die Routinen in seinenen Programmen verwenden mchte, der kann das unter folgenden Voraussetzungen gerne machen. 1.) Im Programm und der Dokumentation mu ein Hinweis auf die Routinen erscheinen. (Klein oder Groschrift ist dabei egal.) ( z.b. RPMT V1.00 1993(C)by R.Lanfermann ) 2.) Es ist ein einmaliger SHAREWARE-Beitrag pro Programm in Hhe von 5,00 DM zu zahlen, unter Angabe des Programm-Typs und des Namens. (Ist doch nicht zu teuer, oder ?) z.B. TOLL.PRG PD-Programm 5,00 DM SUPER.PRG Shareware 5,00 DM Gesamt 10,00 DM Falls das Programm nicht weitergegeben wird, kann man die Routinen auch ohne Beitrag verwenden. Ralph Lanfermann Nordstr. 48 52146 Wrselen Konto 4050 bei Raiffeisen-Bank Eschweiler eG BLZ 393 622 54 oder Konto 9537556 bei Sparkasse Aachen BLZ 391 501 00 _:o74瞰|Ôe=+@rLp̔Ye$'(ݫۂhj$\ԔLrU.Z(/fd)9JʥIUA|)*]`7$a#z7I(N#K0p *a13;B{ YQdI_gvvՅz~2xcT#NTsl |y"e%n7~ƑR a0lqSi>9uTT&`legOl94-pfxﮌ =oV@{ s9fI Ǹ7L.?;Bb$_-KHdFAB$4O)HؾR^B"  d(OL!K!ꁖCx` f!a(jk%g|)dCW~\G1놌u(ҨtiF=O+Qs(Z`2QsuߌiovT=o+F%_BrhV(sdn2`]tẃӄQDt&A:EK]cr[HG줐Ps wohl! Doch das Ganze hat natrlich auch Nachteile: Das Softwareprotokoll ist langsamer, und das Programm untersttzt zur Zeit nicht alle mglichen Befehle (siehe auch Bemerkungen im Quellcode). Weitere Informationen finden Sie auch im ATARI Profibuch ST-STE-TT. Bei Problemen wenden Sie sich bitte an den Autor: Volker Hemsen Gremskampstrae 3 23714 Malente rmat. Select which one applies to your existing email client. Path ---- This is the path that the email should be retrieved into. eg. Oasis2 \OASIS2\INCOMING\ NEWSie \NEWSIE\MAIL\ NOS \NOS\SPOOL\MAIL\ or OASIS\SPOOL\MAIL\ Leave Mail on Server -------------------- If set to YES, POPwatch will leave the email on the POP3 server after it has retrieved it. If set to NO, POPwatch will DELETE the email from the POP3 server after it has retrieved it. Until you are familiar with the operation of POPwatch, I suggest that you leave this set to YES, and manually delete the emails. Just in case. Send Format -; PRTKL881 - Protokoll fr M68881 - Version 1.0 ; programmiert von Volker Hemsen, August 1993, Public Domain ; Dieses Programm ist Public Domain! Es ist unverkuflich und darf von jeder- ; man benutzt und kopiert werden. Es ist unverkuflich! ; Hiermit wird ausdrcklich erlaubt, den Quellcode zu verndern und zu ; erweitern! ; Folgende Befehle werden nicht bearbeitet: ; fscc, fdbcc, ftrapcc, fbcc.l, fsave, frestore, fmovem ; verwendete Literatur: Atari Profibuch ST-STE-TT, Sybex Verlag fpstat EQU $FFFFFA40 ; status register.w (R) fpctl EQU $FFFFFA42 ; control register.w (W) fpsave EQU $FFFFFA44 ; save register.w (R) fprestor EQU $FFFFFA46 ; restore register.w (R/W) ;fpopw EQU $FFFFFA48 ; operation word register (?).w fpcmd EQU $FFFFFA4A ; command register.w (W) ;fpres EQU $FFFFFA4C ; reserved.w fpccr EQU $FFFFFA4E ; condition code register.w (W) fpop EQU $FFFFFA50 ; operand register.l (R/W) fpselct EQU $FFFFFA54 ; register select.w (R) fpiadr EQU $FFFFFA58 ; instruction address.l (W) TEXT movea.l 4(SP),A0 ;Adresse der Basepage move.l #$0100,D0 ;Lnge der Basepage add.l $0C(A0),D0 ;Lnge des Textsegmentes add.l $14(A0),D0 ;Lnge des Datasegmentes add.l $1C(A0),D0 ;Lnge der BSS clr.w -(SP) ;Returnparameter move.l D0,-(SP) ;Lnge bergeben move.w #$31,-(SP) ;Ptermres() pea hallo(PC) move.w #9,-(SP) trap #1 addq.l #6,SP pea linef_patch(PC) move.w #$26,-(SP) trap #14 addq.l #6,SP trap #1 linef_patch: move.l $2C.w,old_linef move.l #my_linef,$2C.w rts DC.L 'XBRA' DC.L 'P881' old_linef: DC.L 0 my_linef: movem.l D0-A6,register movea.l SP,A0 ;SP korrigieren subq.l #6,A0 move.l A0,adressreg_sp movea.l 2(SP),A6 ;a6=Returnadresse move.l A6,op_pc move.w (A6)+,D7 ;d7=opcode move.w D7,fpctl.w move.w D7,D0 andi.w #$01C0,D0 tst.w D0 beq.s gruppe000 cmpi.w #$40,D0 beq.s gruppe001 cmpi.w #$80,D0 beq.s gruppe010 bra.s gruppe_ende gruppe001: swap D7 move.w (A6)+,D7 move.w D7,fpccr.w bra.s gruppe_ende gruppe010: move.w D7,D0 andi.w #$3F,D0 move.w D0,fpccr.w bra.s gruppe_ende gruppe000: swap D7 move.w (A6)+,D7 move.w D7,fpcmd.w ;LowWord gruppe_ende: bsr.s response move.l A6,2(SP) movem.l register(PC),D0-A6 rte response: move.w fpstat.w,D6 ;status move.w D6,D0 and.w #$36FC,D0 ;eigentlich $3EFC tst.w D0 beq.s resp_null move.w D6,D0 and.w #$1800,D0 cmp.w #$1000,D0 beq.s resp_transdata move.w D6,D0 and.w #$1FF0,D0 cmp.w #$0C00,D0 beq.s resp_transcpureg move.w D6,D0 and.w #$1F00,D0 cmp.w #$0100,D0 beq resp_transfpureg resp_ende: btst #15,D6 ;Come again-Bit auf 0 prfen bne.s response btst #1,D6 ;Process-Finished-Bit auf 1 testen beq.s response rts resp_null: btst #0,D6 ;True/False-Bit bne.s resp_null_sprung bra.s resp_ende resp_null_sprung: adda.w (A6),A6 ;nur .w-Sprnge bra.s resp_ende resp_transdata: moveq #0,D5 ;d5=Lnge move.b D6,D5 bsr.s getea btst #13,D6 ;Datenrichtung beq.s resp_tdwrite cmp.b #1,D5 beq.s resp_tdreadb cmp.b #2,D5 beq.s resp_tdreadw resp_tdreadl: move.l fpop.w,(A0)+ subq.b #4,D5 bgt.s resp_tdreadl bra.s resp_ende resp_tdreadb: move.b fpop.w,(A0) bra.s resp_ende resp_tdreadw: move.w fpop.w,(A0) bra.s resp_ende resp_tdwrite: cmp.b #1,D5 beq.s resp_tdwriteb cmp.b #2,D5 beq.s resp_tdwritew resp_tdwritel: move.l (A0)+,fpop.w subq.b #4,D5 bgt.s resp_tdwritel bra.s resp_ende resp_tdwriteb: move.b (A0),fpop.w bra.s resp_ende resp_tdwritew: move.w (A0),fpop.w bra.s resp_ende resp_transcpureg: lea register(PC),A0 move.w D6,D0 lsl.w #2,D0 ext.l D0 adda.l D0,A0 btst #13,D6 ;Datenrichtung beq.s resp_tcrwrite move.l fpop.w,(A0) bra resp_ende resp_tcrwrite: move.l (A0),fpop.w bra resp_ende resp_transfpureg: bra resp_ende getea: move.l D7,D0 ;opcode move.w D7,D2 lsr.w #8,D2 lsr.w #2,D2 and.w #%111,D2 ;d2 = g : Lngencodierung swap D0 move.w D0,D1 and.w #%111,D1 ;d1 = R : Register lsr.w #3,D0 and.w #%111,D0 ;d0 = M : Modus lsl.w #2,D0 lea getea_adr(PC),A0 ;weitere Routine nach movea.l 0(A0,D0.w),A0 ;Modus auswhlen jmp (A0) getea_d: lea datenreg(PC),A0 ;Datenregister direkt lsl.w #2,D1 cmpi.w #%110,D2 ;byte? bne.s getea_dnob addq.l #3,A0 getea_dnob: cmpi.w #%100,D2 bne.s getea_dnow addq.l #2,A0 getea_dnow: ;ext.l D1 adda.w D1,A0 rts getea_a: bset #3,D1 ;Adressregister direkt bra.s getea_d getea_ai: lea adressreg(PC),A1 ;Adressregister indirekt lsl.w #2,D1 movea.l 0(A1,D1.w),A0 rts getea_aip: bsr.s getea_ai ;Adressregister indirekt (a)+ add.l D5,0(A1,D1.w) rts getea_aim: bsr.s getea_ai ;Adressregister indirekt -(a) sub.l D5,0(A1,D1.w) suba.l D5,A0 rts getea_aid: bsr.s getea_ai ;Adressregister indirekt d(a) adda.w (A6)+,A0 rts getea_aidr: bsr.s getea_ai ;Adressregister indirekt d(a,r.?) ;folgendes gilt auch fr d(pc,r.?) getea_eidr: move.w (A6)+,D1 ;Zusatzwort holen move.w D1,D0 ;offset addieren ext.w D0 adda.w D0,A0 move.w D1,D0 rol.w #6,D0 ;Registernummer extrahieren und *4 and.w #%111100,D0 lea register(PC),A1 adda.w D0,A1 btst #11,D1 bne.s getea_aidrl adda.w 2(A1),A0 rts getea_aidrl: adda.l (A1),A0 rts getea_erweitert: lea getea_adrerw(PC),A0 lsl.w #2,D1 movea.l 0(A0,D1.w),A0 ;weitere Routine nach jmp (A0) ;Register auswhlen getea_wadr: suba.l A0,A0 ;Speicher direkt, kurz movea.w (A6)+,A0 rts getea_ladr: movea.l (A6)+,A0 ;Speicher direkt, lang rts getea_pcd: movea.l A6,A0 ;a6 ist neuer PC! adda.w (A6)+,A0 rts getea_pcdr: movea.l A6,A0 bra.s getea_eidr getea_konst: movea.l A6,A0 ;Adresse holen adda.l D5,A6 ;A6 weiterschalten cmpi.w #1,D5 ;auf Bytelnge testen bne.s getea_konstrts addq.l #1,A0 addq.l #1,A6 getea_konstrts: rts DATA getea_adr: DC.L getea_d ;0 DC.L getea_a ;1 DC.L getea_ai ;2 DC.L getea_aip ;3 DC.L getea_aim ;4 DC.L getea_aid ;5 DC.L getea_aidr ;6 DC.L getea_erweitert ;7 getea_adrerw: DC.L getea_wadr ;7,0 DC.L getea_ladr ;7,1 DC.L getea_pcd ;7,2 DC.L getea_pcdr ;7,3 DC.L getea_konst ;7,4 hallo: DC.B ' p PRTKL881 - Softwareprotokoll fr M68881 - Version 1.0' DC.B 'q entwickelt von Volker Hemsen, August 1993, Public Domain' DC.B ' ',0 BSS register: datenreg: DS.L 8 ;Platz fr 8 Datenregister adressreg: DS.L 7 ;Platz fr 7 Adreregister adressreg_sp: DS.L 1 ;Platz fr korrigierten Stackpointer op_pc: DS.L 1 ;Programmcounter bei Exeption END email. SENDING EMAIL ------------- If on start up POPwatch finds that you have outgoing email queued and waiting to be sent then it will ask you if you wish to send it. If you choose to send it later you can do so by selecting the send button or menu option. If whilst sending an email POPwatch receives an error from the SMTP server (such as unknown rePRTKL881.PRG - Softwareprotokoll fr 68881 in ATARI ST/STE Programmiert von Volker Hemsen Public Domain Quellcode darf fr private Zwecke verndert werden. Fehler bitte an den Autor weiterleiten. Der Coprozessor (FPU) im ST/STE arbeitet im I/O-Betrieb. D.h., das alle Daten, die der Coprozessor zum Rechnen bentigt, in Hardware- register geschrieben werden mssen. Die CPU's MC68020/030 beherschen das FPU-Protokoll von sich aus, d.h. man kann die FPU-Befehle (beginnen alle mif F???) einfach an die CPU schicken. Diese leitet dann alle weiteren Daten von sich aus an die FPU weiter. Wie bereits erwhnt ist dies bei der FPU im ST/STE (68000er) nicht so. Mein kleines Programm ist in der Lage, das bentigte Protokoll (so nennt man den Datenaustausch) durchzufhren, so da man die FPU ganz normal ansprechen kann. Hierzu braucht es lediglich gestartet zu werden. Es hlt sich dann resistent im Speicher und verarbeitet alle ankommenden LINE-F-Traps. Im AUTO-Ordner fhlt es sich natrlich besonders wohl! Doch das Ganze hat natrlich auch Nachteile: Das Softwareprotokoll ist langsamer, und das Programm untersttzt zur Zeit nicht alle mglichen Befehle (siehe auch Bemerkungen im Quellcode). Weitere Informationen finden Sie auch im ATARI Profibuch ST-STE-TT. Bei Problemen wenden Sie sich bitte an den Autor: Volker Hemsen Gremskampstrae 3 23714 Malente FPCPEMU.PRG Full implementation by H. Robbers december 1995 Please see for modifications the source files. If there is a cookie '_FPU0100', a memory mapped 68881 is present. If not, the line F is engaged by a very old TOS, or by a true coprocessor connected to a 68020 or 68030 or built in in a 68040. The emulator is not started. The emulator installs a cookie 'FPCP0001'. The lineF vector uses the XBRA protocol with id 'XBRAFPCP'. If anyone has a memory mapped 68881, and finds this s/w usefull, please send me a postcard. Pure C programs compiled with options -2 OFF & -8 ON will run. I found out that the Pure C library 'pc881lib.lib' does not use any 68020 addressing modes, which is a very wise decision of ASH. H.Robbers Borneolaan 448 1019 KN Amsterdam tlf 0204182901. ---- POPwatch looks for the ALIAS file in the same folder as POPWATCH.PRG and if not found there then it will look in the old (pre 2.70 version) location of retrieval path directory -2 eg. If you've set POPwatch's retrieval path to: E:\OASIS\SPOOL\INCOMING\ Then POPwatch will look for the ALIAS file in E:\OASIS\ If you don't have enough directories ie. E:\SPOOL\ or E:\SPOOL\INCOMING then it will look in E:\ KILL FILE PROCESSING -------------------- The Kill File allows POPwatch to automatically delete any emails that match specified criteria. eg. any with a subject containing '$' etc. The emails will be flagged in the POPwatch window, with a 'K' as opposed to the normal deleted flag of 'X'. POPwatch will sound the system bell each time it kills an email as an audible warning. Killed emails will also be shown in rNR`J// &N$H f`&N#! yNB%C J$_&NuH0(*BCN#&x28gt`tH# ke$x yN kep&J fpa$HBC` PJRC gf gB@`J *2Hn*pЪa$H`B KPK"JPJ"" frҫ%A *$%EPJB%@pL 8NuH0&&HN#$x @N f`f g&p`PJ fB@L Nu           0 <   ( sstack stackcorrSuper new_cookie get_cookieMallocinstall_cookie_jare same folder as POPWATCH.PRG. This is a standard ASCII file (each line must end with a CRLF). The file can either be maintained manually using a text editor, or via the 'Add to Kill File' menu option. This menu option will present the 'Add to Kill File' window. If no messages were selected when this option was taken, the fields will be blank. If multiple messages were selected at the time, then a window will be presented containing the details from each selected mess#include #include typedef struct { long id,val; } COOKIE; long stackcorr, /* make _longframe globally available */ *sstack; #define JAR (long *)0x5a0L #define ROM (long *)0x4f2L #define SFRAMEXT (int *)0x59eL COOKIE * install_cookie_jar(long n) { COOKIE *cookie=Malloc(sizeof(COOKIE) * n); if (!cookie) return 0L; (long)sstack=Super(0L); *JAR=(long)cookie; Super(sstack); cookie->id=0L; cookie->val=n; return cookie; } bool new_cookie(long cook_id,long cook_val) { COOKIE *cookie,*cookieo; int ncookie=0; long jarsize; SYSHDR *eerste_rom,*rom_start; (long)sstack=Super(0L); { eerste_rom=(SYSHDR *)*ROM; stackcorr=*SFRAMEXT ? 8 : 6; if (eerste_rom->os_version >= 0x0200) cookie=(COOKIE *)*JAR; } Super(sstack); if (eerste_rom->os_version >= 0x0200) /* context voor cookie_jar */ { cookieo=cookie; if (!cookie) { cookie=install_cookie_jar(16); ncookie=0; othw for ( ; cookie->id and cookie->id ne cook_id; cookie++,ncookie++ ); } if ( cookie->id ) /* reeds geinstalleerd */ return FALSE; if (cookie->val <= ncookie) { cookie=install_cookie_jar(cookie->val+8); for ( ; cookie->id; *cookie++=*cookieo++ ) cookie->id=0; cookie->val=cookieo->val+8; } jarsize=cookie->val; cookie->id=cook_id; cookie->val=cook_val; cookie++; cookie->id=0L; cookie->val=jarsize; } return TRUE; } bool get_cookie(long cookie, long *value) { COOKIE *jar; (long)sstack = Super(0L); jar = *(COOKIE **)0x5a0L; /* JAR (long *)0x5a0L */ Super(sstack); if (!jar) return FALSE; while(jar->id) { if (jar->id eq cookie) { if (value) *value = jar->val; return TRUE; } jar++; } return FALSE; } ge, you will be automatically removed from their lists. Many people suggest that this is not in fact the case, and that by replying to the email, you have shown that a) you rea; PRTKL881 - Protokoll fr M68881 - Version 2.0 ; programmiert von Volker Hemsen, August 1993, Public Domain ; Dieses Programm ist Public Domain! Es ist unverkuflich und darf von jeder- ; man benutzt und kopiert werden. Es ist unverkuflich! ; Hiermit wird ausdrcklich erlaubt, den Quellcode zu verndern und zu ; erweitern! ; verwendete Literatur: Atari Profibuch ST-STE-TT, Sybex Verlag ; 1995 H.Robbers; Verwendete Literatur: ; MOTOROLA ; MC68881/MC68882 Floating point Coprocessor User's Manual ; Prentice Hall ISBN 0-13-566936-7 globl FPEM_lineF,FPEM_oldF,linef_on,linef_off LINE_F equ 0x2c data cookval: dc.l 1 already: dc.b 'But already installed',0xd,0xa,0 niet: dc.b 'But no suitable environment',0xd,0xa,0 hallo: dc.b 0xd,0xa,0x1b,'pFPEM - line F interface for peripheral type ' dc.b 'MC68881',0xd,0xa,0x1b,'q' dc.b 'by Volker Hemsen & Henk Robbers 1993/1995 PD',0xd,0xa,0 bss retain: ds.l 1 text movea.l 4(sp),a0 ; Adresse der Basepag`:*|:N v@ZIP!TNV// C" P-A"n Qf|`bHxHyN YN " ae zb_ YfHxHy0N |``BHy4N B."_"N^NuNVH xGItCzJ1 f |``Cz 1\ ftCzE$$$$$$$$$$$$$$$$$$$$4B3 C/ N UHxPHS?<N J_f,fUHxPHSN J_lB.`RBCzJ1 ft|LN^NuE*Gzz EfaHx;Hy8N "m0")"m0ҩ+A "m0+i" x"c+|x"Y(m0","ҭ //-"/ Encrypted file not supported Error writing Error while extracting (disk full ?) CRC error Unsupported compression method Press Return. _/HO>N _///O.NHp _" "_x$HBJgSf)f&)f)f f( SSf.LpN _0g Hp$_"_S@QLpNPNN XNVH``?<NA-@LN^NuNVH``/.?< NALN^ _PNNVH``/.?<NALN^ _XNNVH``/.?<9NA=@LN^ _PNNVH``?./. ?<NA=@ LN^ _TNNVH``/./. ?.?<@NA-@LN^ _O NNVH``/.?<ANA=@LN^ _PNNVH``/.?<HNA-@ LN^ _XNNVH``?./. ?<NNA=@LN^ _O NNVH``?.?. /. ?<WNALN^ _PNNUNV2J@gA??<LNA o"h ($I!Sf+H0 ( ШШ"h$) Ђ"҈.A//??<JNAO +@,#aBNAN H~E#*yBG<9F(yQ0J90f.ra0raJ@g. @gh @gp`a B@FL~ _>NJGgRBGt-JTv-KTFCCgp`SBNqSFfaQ`tAp2<Qp 2<oQp2<Qp2<QAp2<Q3 2H aL0EG,y"y`Hra@<raR@:ra8VDpABQAClra2QHIG,KBGBCBD|BE4Pf"<2tQPQ<<żGg pFvk>CRE EfRF FfEI2t042v@xlSDzm((EQfL M2IEA0<BQApBQA432Ea*HaL L@E`G,y"y`C Nq-0@64 GcGR beNu fraT@(Q`" f ra|T@` rap@ BQeNuIG@,KBGBCBD|BE4Pf"<2tQPQ<<żGg pFvk>CREy2eRF Ff$y(yԷg.t2&4&0&v@xlSDzm(>G5xEQfI2G@,KBCBD|BE4Pf"<2tQPQ<<żGg pFvk>CRE E eRF Ff$y(yȷfNut2&4&0&v@xlSDzm((EQfNuNq-H@-06Ѐ01 Gb GcGR`GT @l SFfa` @g @b4B`4@4-0BC3 Cr0 GcGRB43 <@-HA-2 y0 y0A Gb GcGR`GT-H@-0BC3Cr0 Gc GT` GcGRA23v@Fea< LBSBQ`-H@-0AAr GcGRNuH&y, gZ K0S@*9M4rAA"6Q#/ /?9?<@NAg LO?pX` 0< L(yQ<9FLO?Nu  #+3;CScs !1Aa  0@`?     NrA4pBr4Bf `f J Bf R@ @fNPK}QBi GFA_PTCH.097/LIBPATCH/CHANGES.TXMQn@W? R %&4U6-Bhu Z Ɵ3kڃ̼޻*ɜޭYqp|t|2TG#ڈK f"D|f ރnM}@M!tLjZ8o-\o\ `Ҧ aF5].}OIbGn W9Ŗ@kCCt,<"c* Y6 !?:eTvo(R*# "ܲ3},7!LT4]|*ow{rH)rN'9XI:@jdm[Y=!%ڢʫ<LRxsɵ/1rRÓFQHvffFA"n+!O$i4m~YߊVI)i;Soξmj70N54XU1PKJ aPGFA_PTCH.097/LIBPATCH/ERR.LSTUnHwH ]OVFI"VkH:n7kF:Uhٙo~| Gۻ~"B&1 CxȠ3q~ y3a*ImVЉDLw,NqeKh^C~j`ي έObZuӐ@i|61kxJæ7z~ HL:_Qw<9plƒ$% fEM V)ܳxĜe񜉺Qq&kHql N 8A K+NcXPVw5k 9XbAdq:.0x6lXbLv9)+q]ͭ,3{~F Mٞ,ܳT\[o%ヂ+:Ck Nu]_^^axm[KR4q?`W,^<-3mZ"E8"1tW LaQ >C.pH5ۃ:,hG/Y$jIF,9G$L)  q/dVB=ԞnP[Cȵj@V~: A}4[,qj#})duQ2~Q) =tʦ)ͼ\ݑ<z` Җex%NsotP\ ]?.W UREf~$(dfx'" $S30GdH{Լ}s<N-5}fa9-$9[x $jՉ5Ws N.[H[KZ RАAWXdYh4"W?)KSW[6_ËM-RW0?NT*Kp8o+cqGSsH\ڪK5mYF 7 GFA_PTCH.097/LIBPATCH/INIT2DMP.Pz}tWR\!d8#!*}Q,$ !d, lc16$gp &lNf8$t&pl`ra8дۓaYq[{_UIvzo˧^߻w߭q}~.8 n,;;n_%KPo(~[) }ϙ.竀zMCUSmiƚ>Ķ^IrQ(y/ Q(6EaNP.S-RJR)nK\ L-+/ B*6,$J4"5 ayrq'DEF"G?̇`70il,a%J`X$\r=9KEa0Jy9WPh-@4/ 'g`SeaŮDI~,"䑵~|%OЪIߦ+ioh9ןVJH`3$Ȣք3mu$z%2"aQ~-H;$gǟW/ZM۴#`[I-ؚ#5? qcE>UQAO uC3 ZV JYal:_c_|iړڣI_-L(I0:hg-"o)79PC:VхEiڍ+h}p(-(6G4e:ҦbuL99-6b;NYkbmF%SQl)-tIOjJ=,_D;Xԓ|+ bQuiVu٨@T.J[B(g﷟v |6*~g6|bv\t;Eg3iRZj.WRxUKA6HRθ{2gIYN v/$< %R%or*M9,#99sle& גl)p^n7K`g$=^ ˙Đuiw{הkD߃p,j`RKgU7V5dWZ\d/O9x~8sEgZ/ĶWkɵݢ p\vkI?/{QfȌUJurǤFBd_݉]D7EȺLw3ZdCyR>߫sblcA:J>|WeJzgaߏcIp!2NIksU%:,)ihraMa@n'+]W 3ɬL{ojmPR77%352IZO3ή?7ڞ⿷x1ñT3 аѬل8$VqiXx1¤z~/=9OtHC=}-) "=x;=DrN׊iAa`JԷO73'Ƌo58m,]`8Ow񤃝tI癩unj׺ñ(qz_|1\%[{HTI븿S-(6j5bGq /[>[0. UJNQ;&4L/au i):Nq6ӳ v1,p*. 0TX=GOF(O9Ǒ0jBAߊ Rqg6RŠ@'l<ul6;(Dֱ1-VX*6DL1-A Z{$ڵl@\\s=1)Qtp][8M WC >v(0<+m|6Qژ-CQ3 \ ȽK+$P7|#B?c/|rҮ;O'PdWh5ڀ_M% 52k6\sQ3W_5{paů]9LIDN瓔oռN d \/0LOJPxe$SvO~gW2 isON2$04u+W:& t>\F|7oik_nv*6ဟN,-n8@`$uȩe@~suef5a5R^kԕBȓ&Iv=1"-ܱ|V.G9g>2ih$TCJ( It(j!'(as9Q=Up> PGNPVzo-ᛥK3;]!xNa*dy_u9AbT*UUwC y=?zG-zW F`%e0CڂAo:%rF{CRJv>qB|U|d{ѓ;0 =>a7(ȣçXp1Ych6\XYVl.'=t zkɷֹ+˗:eLQ+* RɰXd6ehd9}eN4 @RFj1m ytHS1jkBL!3?bx$B6J+ ?b܎̷Â'] Z Qדܨf^3 f:M\N*Ӹ&K\MCUsl2>/q]mյpf7`u٦Oum+1B=O[whUNnBA5FFUʆ">R#v_bGNa i] tcZ  <3._=;0O<"9CX'^$g(>MzDN/dfUqj 1UT1[Ѽ09fOn6O][K##q `i$Ĺ軋^g>Y[Ϯ A3oDDdSQ SV5cƁL%Ti$BUH΂?=O#-q`ϱt`©bO>/]*X | xzKtDLf64 NyJ\C2`V}w0\'f(4Xf\j%Vb+(qfѹM`7"cho&4z/nX9Ѣͬ7sIQy_Xa dLb('V?+AGnҔl 2DʎD4m\'ky%{й.c+Nț({$g)7cd|Jt~F~tu,.1WEtԅ>1R)|+R|HA qv0jKt͔΂#wix4OG9\f('fK]&nWt( .Y1b)"}5C:/StGISWig3Ό/lϏe zć]"9a)a`1*{<^>R˟nO`CwOfzuus{ mTvS~G:_ Z|!II+6*#K: ]Oz;[?U*bwv#+>!tF~ߣvfΕ5蘱h$&j 3{@ҕ6M|o._~B$lkuۍ[:D3$6[Mыk>F*[Ǫ j,;rۆ+Yd?y@zuq U+[H)S* yDFkie7l痎W<<$~qMK|̧|m-*+tϦp y.ʕ4Z5bϚ.5-uï AO+'S 1tw,ו?$em?ޟCW‰cVv8(~y&'Vf6>LH ˕rT8lՎJãxᅫ+׸!@_og1ﭺhSגs vo^:&?P]䴔b:ӡ#DʺCdɵ 2?֮zHU"+ZRF#^|tDDx8T Z:^޽ds׬|Ӭ[0eO$'{(H*/ݭ'{yeﵴP͠\ͤ\"Q<'ם9ViPWܮӓ;3)~/i6c^WE9!RFqp_BAt\S=Vo]1Eh?%įLr#K xFrcV#7 Ԭv+.9ai }]O8#h@(X|mbpvoc([3M6Lc,bTpuF00e jX(㥘6b /wjOxc uc?Y~Ub0uހw9343Gp6}czV;!@hZaW/kfn:񶺀$Xl.\E?;yc&u<ƫs%(+95%,F#=N%nO c44xWgd7 xS1ah2q/0HLGbLYɀi%0m޸rNMZf5¨mӭ|_p+!+Ȋ*sđ]<^$boBI6gvֻJ(Ơ|[(߶^Ŭ8Q22x^g?mVhK(i,Z"Y(^],G>㙧CTt۶ۓ<ng=̘f^ hkJbLig?> ? 8<>s^ {rKqc1#ucTu·}zod qmjffPO&-2Lfox~7qC%pJq̗+^ܷC/ΩesbC߷!z| 2VH޽1o?M"E]iKߥI XahOV%@&XS_ b[b))u/vk{;[F[76[}>9mݼ 3KYeSEM<ޮJZټe4=[w::bBmQ|!c[TF"g#B^ߒ7׎~R06f+yj ^&}5oc]Ȥ((%H.FwĔ v姠H} +W3US۾uSqS ǾFOZ(H]a~mu̧k&95(92*SdPUF"9Ďc aI'/rh{*Q *ETmPѻm:jnw~͹o1ѮN"rb]ԏB:ETzw+R(2i2zBlzod'W(XXњ37jѾmsmmߑCN͡9-"bݺIZdQ|;:R9S=jW&0BH}XE-!{x:B)h'̂ǣ}krۈK8+!(O{(fu-.AoaDf"ʷ0[AyڻBHA*K/P?J9TђJm@s(ǹ[FKTFT+8(#狈r(roHL*:*#u3+.5tUT#;PjXN^'L_(A!4T$KՅ)'#=nrn9dG.$(OkAzKqAS֐9GlvA2xUlu؂PF}T8]89K_ETFE )$58"saH!)BR'r  )@AqɼU]e2)$p&y0diڡ!lau]m !( ;=mHvt6 7L"WǮV Z'PPp{KB Mb%]P^ik6ǍhIT6D6YJ#qSU#R@eZxGCd9ɪhʍޝA"):_  j { UΗWEr}ܪ_:pINsjr`n9'!Rћw W){܉HHpk <[ڡ^cfUO=N9ṭy%H,֚CFAcjcDז bv8P9-Zegt*JRT9=TOZWj'V{׻)KQHP[s׉?cHȝGD/̈jlD+[Q*Y*<ʆXTobN˲%VY?>RYR HrJQWc:"fX2%lRDPKݞ`%6GFA_PTCH.097/LIBPATCH/INIT35.OKb``b Ll pd 9~20h4PvOLzIwV- 6 <'1z0hd0\} 2W02(p]u`㰄ؓ&noGhF.c0aeLKd`a A`[&Q??GL U_ПL T.?lF}6~.I5`?;m`PTxԑx%7 8N fH% .1MT8=@-ALכA t 0?/aph/W-^ B~ [ .٥੐PBHw@xũ&0kP\dk0sq q q +N,K9 Ɂ|]}=\rNAx@ <40g3F<Xge8%;XZ_V8I/YrsrQM`g4㾩SL-Y|GW; O#nGUfk`pPP =8[\[X;F=' o5@qs ػzZl#!d ޓ'klDӝ/@QX* FS , 9%㙑Lm`W$sK;Bl` ?b `1,MX_@B@z%LM%S\I'%tyf 5vcLtOv''S7nX;ᓧM@F,M|RPWDAT9Ef\LdL5YYZy{u0y dBQgE9N$Kc24fTH AWs@U؛!NJfz%6ѣb -DcRi3-o?-.?ި^s8Ԏ-=lq0^D,谮Qz>uoO AM:}Z=EIΒm@e1 %Cuü^_vMaIL}Z9m̀*Mͱ% YeIl}>"MoōS f<!Cc{KWeܑ S B poaKKyH!v vɉמu"G$.ҴJܪ6)ijXjCj=[8!Jw}3h8%;J;])u: Hj&A#L؊-%jCE]0"1hN ͐H1̽3iHswu['3</Wx8C3r} z}y!X~{HAO5J:m pCY_F^ٚ, 6$/U޻V}7!ꂭHkdŦ/G>xHcnxha/]& |P#U[2ĩ%R[%K E0xYԫMIT) @,"ƖWqGy]™]`d#c>Ͳmb#|m^Ya!"DSEk-}>;c wG2fZ7t~1yZ̤Qd5dL}lTf C%,._4MaF#;2 ;0˭,zB\Hje6>gB!Ȅ+rR!ɺnKyy7y`ެ9Fu6IT%sV%x)k/=9)}{5ļB*"gY&>P8?g, Z<\s6#Cؕf&SVMesn,;j'"Ƭ *ZSRfX[~bU!D!6I:rKM<:JV,EtCj!4jl߅rɤIFhZ]$ͳ9)ҋT;zlVU+_kެoqP˰8qBXVHqf\Py6%Ww, ~mnxgd[3~:=l[;j@'.A>d݊߱䩪U7)QVH/Ӽh͎ȜţzÖ'Ahy2 F7S4WsՊfg2h>yjt~:5:Rr,^YY</wdL=I+zɒtqݯ<).([S릝N1yU7Q\a~f(parc;ANSb]@=$+%~/JHw >|eRJn榨)KosL|ȹ5H{̅(2SAzRO+ :"/HHRy.:YPzt׬֛+T #/$:2/l'diGt>3|tʌ@j~<#|cFM< g\dG>#Sz]6>q8 ˵8d^/ n̾8y{}gxտ"w rv6]h9$@J2X*e8ZAo,G%UҲM @6GZ:'[27}q10`ȐhG89vqT_m裆?x+\6$+ u8|R2f1lh?v1:^OtNp+$BcixD>ʶj{%+U:ޤ":Pk2$H}Α;msz=t+M?&,P1 Xyi^gLx:EQ$8t.z(tOeV8X݉,8r,8k/Pqafu~Fa A}TEI'ש&0s4E_މ:rO:I U@ޙ,VȟX˴F!i̞PKf;~`KGFA_PTCH.097/GFA_PTCH.PRGͽ\W7zb1ҐR)?4eBĔAR Bb1Ae]'(:RZuz{u\vq\ Xuu~s [9yο<99燜Xc&#><:䆂$+~Eoah\L 7}:yW(¾Rpa!Qn~-`kmk؝3kI5:-`j? 7(JDDHL)+(1|HyX 5QLƠt)1 P+Wgmۇۇ6K L }c}λw9$aymR%`BmՊ9UgΩͩ:؜j~p޼x+~޼y=7{XefV5$Z; _/~}f)OI>1VG\A]j M񎗒16aNf1ay#6f̠{k`d!BB,C#8Ͳ`/2J芣+s[&CUX$]Ggw0RgZ4<~ES14gV4c_wetIUO<~RVÚ KG)y JX#x2N9S@}+H A^ZvDH؆;%HyxEX㡹Ndpʏ;F4ZG5;1eGO>;G.zH*Ϟ(,}hΉ)aJi=4!)X[Д>, *88BqdZ5|Efd|>*(!oPjg8Pt=4=?ڐim%Іh+ncUn)g3vSzz<5fr Qǯn5 x{ec3rg)|+b+fFRNi!sݶJ#h K}vЖQ̡YBZA8X `7Tk)T01.b*{#!YzzB?][Dƛ{"keIH}ɭC~TMTj:}#cQvhKMo"|se6ʣHC׼Ӯh:H{ QZpZҠѶќN.}\k;2~ _q,`Xiali+S ^^U-W`R/ߑcҗ %5~p{b)f1W<6dNW\X 6ĪԢhMXE VT? ?+kl] 0|+g-Mr&_1 ȹ s=(KhbQzހ/BbO<\)R6ũAՃՏ_%dV{Yº~5|O HkǴ_Ԝ>fP |ؔj.ՒՒ!׎P)(ltI(cHN˷]ȻUN}T9ZӞc8Ns" /-RqdᲳlYѸ-ѸG99_azm)2[EVRW ޯ8-Om}pPcpmaʈd.7'nՓ}2VdyN7FOg^&rdcurq6%MY83u0ҺŶ:/|TLPO==)_!k4vTƵjCkd6r)S@<按L|;Zٷ3 {ĥo‡\^KڥyJ_Tv3nӥAo.yc0\bFy˛o8asg &G5Q Sɬ%2ҙ W&K*r{k=iYe˶D4I\He:ɦ Tn2&p*?&8Q:|ؾLʜ+e c.@Y>"B^}qÜMBin[d~"%%WT6Sw۹k&wz&upw6}bg;7f);Ws\N\m^n;yy -X_k8{8 3Vꈷ/ŮrEX*SR+R)J?AXB "5T.oF_dQ#gנǴBv~HM %qˤA1Q H)𻟯868ll?NntY75@ݿCr .g&yG=y* nPP@3x7؝Lao?V+iA+|g~u'+./DV*SyƕVH+ e 1'E>@w8v>c3674<5dLvL˃e  J`NˌbBn 2N`טPȮ!% W"oeT7^.R닌ѱYr"GԱk5*q}_J޾t1/HoZp3*ݷF­r2y7)?E0ˇ\pqSX;:W\}kS )}G˽@"JʟqaZJ\|-}=gE)L(FzϽnUڋ#f}Sb< ]@l%72%w\1V=< 0 0+#+#3Uc#vQ (_7?ƏSУtsY@{W*+eGS҂<{[>{n{% RXkRL|-h %y"<"&|@fƌ9^ccZ!VUib=:,U/>&K?`1,=L.}Lrb t\̇-҈Uy>hF$1_$ nˇ&Zϫ +Mp -}\Kd875Ѩ禓~a 9S9:q'Ǻcז馘35D+q+E6Ao]rj [x"yM3v7-z׬kw>3 MG^n|Ds;5$o)/堐]"<%+nwdiʻd'/<?fM_cW{{ x)lщ4{* ݕYhzݑU(_e:*Mh^~kZm2J:g3P8mh>egy,[^&,Wwn|kЄ]t8K8GUx\o&9/暑mo]^!OA(3^ dtar1* ώ?poy4o#vb{h6OæJTv5W,jqU,D4LaEgc+q+T_7__nBk% 1*[V>;6*fLljxr3(4΅E'ߊ9xn#w7Xzpvljs)+vDiqx<൘SRk,z,ijB~*^W&#M17}³ߔRj-tbtϫH}5y3,brn2Gto [͜s wu?a4'`sX:/(%FsD`gC/M7f5nd>XݼE"]04633W͌؛fC1+WC0zcufG:Z/S3#:ëa;Aݳ(5yG0nA̚Ybt'rk<'٥.9,zܬR1 ؉⸚Dfe|ǥ t‡ ȰY}޷ůggd^it (ŭgg|Cy%eQ&nb>W{Fx;nsMa3}w{.w)iGSviƩq;b=x$̵BB&dƉB.vۮĠFvU&S d깫㮆*UwN'_;-+' K! ]83GŔ %^מv~|n[fU1=RgZn,-Qm]浘".Zlvݭ% }qY 0(f:-f:!V-Og6>-ۘ"xG_3kYjsorKD=Z`6GR[ q^d~R-ӽ|}6Պ1,d #p 2xS[D_=}X/JM_&?^jTv}mJk”qpw\g*X@M/ߌ ؅/+84o|XUL}\LFn,C1i Xa( G&Lf̘*μV'e\sx9r"V!hf7GG\eoɣ2{|x,bo=5 l݄ҟIOfߎ,3/f!Y$p5;ȕ!LGSWE h~<?߼ =_ t3 OKpzb8]<l9~s2}͏ Ogk7"cz8H8Gr[:^Y8ނSx;_;cԟa)R8W.hUkWZ5ܿ:ZӵjojV[qI魣g <,s,2{ !\H,FO/ p6N֔L/ {&I._"gI+R:B_ }U/ G5T"sl¨zӦgKm2bJx}(=S~[ZIV<$(dHd-Ǘ ܑ׉d@q20(oCïS3 ?+^jYLyӇEM[΋7AҨi!I^ mǏd6pSnfO/qoio_C';̣+ 6~[~G=л*zcDrVVfgPq@sC^qQQ̤鑐4#wu9%? Y,2zLQMM!2$%c1]UNgkZ_?>YѺtO,Lhe.&9ʢ[=?Q*uW [ JCKoP:s‡Ο|}M}i-к~એCUMH#kjf͗jQeeEE, l"M`Ҧ3.[Z8]H5ꐚ!-!3X٫wG#ZNZNQLl,QkjZQ+v٨n 7E]QBЗߘΑΡRg\. 76o*F|߆q1.EQ}Cܠ鯆Z{4XC {OoֵS.CXI4~GFO||sc/Աa16BNef*{ xj]sѨ@ Vɗpl6ߗX1 @ZAswy4F5`bM1ȟQ0C6rpX'|åś`oNXCLuuo8{4;+\ťN:l!",xzON]YTV~s-ڳ]?{C__,7Cp/ﴋ;z;X.|lKEЬZ.}Y T7U; N%5\$ BJ|mT7Q]};#/}xBg)(TaT |jwY^H?ދ/K#p4Ьa+m͎"Y8!5x'YWK>T\)V/I[k,mPAWyߋDb7^ -g,~uא^Ul HΙesy5^!U`i2߂TTʿJ0KfRV.Lmˌ(%,؍A7oL30%O$XB^Fl"蹦Œ~SV:VT Ky);q*֧{=cޛ&iZ]'~'nfdzomZ)r)rUOIא7Be}QoGP2 1)R`Y]VCZl|nF8YB` gi!qKk=M=]yk6v[zS KoG>03-r`O=]4d8䟕Ksc>OahxKAW75ECꕹaEBߣW Sr K:\ ˜xZf-46)/=0}\^N+ >8KPuo'%KN ]^݅wK%7?J~R-`>wRSթSu3ѐlek,0MiqìΠSUa$קZj0`Pk4Xi%V2=Kb*XBHRszer"!)0'BLOPI k4))Iﰧ<ꘒ(5Y7N]0|˃㻬TYdnfJ r. Я+B5Ȼw|*Z6eN\VlE2URA︟4O/fSL# Gp"F| * A}*:TNGl[f);<# l/!XCw{,e٧lB|n~!NFUP:JӐvwM&|+ 5hB=o~rCe1'ECW?{U?Zԥ%T+{㌣U ^<*>[UhYbʷ 0^S3J,tpN0|;km/3l'lq-I3wrD] |*ÍPHgAe}i:[] )Dl+s::5ľpbߧTv&#בD:JSd1\ZnoTC#iLBOi襘|6zWbS>UkΰtYU*PŦ?F *4;ΠRQ"O.(7=5ccU% >5o njr3y)}&MKeȖh-̮6$b/ 76]W~yYՉ]6lj*-i4T4b0$?N9rJqmj2\5v>eK ffxG^Su}Yi,$a˲2W4eW}/1U#?+i{ \T+aD.t;ӯ?й'-Uza! ;F:7a$*W7 C!Aߜ%l]i"Y|y})r׀={jvujYIķ!<!S/FhL=g|ޠ*Zex7g0WhWbC?-Dr`jmݫIB}"OffMOWYj'\}1^MKSV.T9W{=x-y-ۭcJ+=6w5Š=e}ڊӓV%#98PCZRʯӟS  5=3:4:M>St'~3}p~cG f7`_lM6|Pe{[]UEU>G>C]AQX[kJ{ylM:Cj?1soI`hO:H^I穪hvڛG9Gy:ivR5%㻟Sui9S,ߢ$IkMg40f.$^UJ{hԪ +̴"7/Y=ǎӴ"tm=z BCfmQJsL8[ lF(·Q`eN KWGAصqj^+T>jw3{4<*6lJ3B|ta ,Nz\!EinN$+~ɓ I&$91cOw6B<_dMF>2G6s ؀XXm+ftn90 1'$n:ha6[ΤMeZGL Fc C^6&ߨZbPw&^Z$O6-it6t6;ɷUe^MYs3 Es\CCs53i*,0M΅نPG_kXOP|ips#S ךgF!灣PS} Ss(^So/49xM׎'M ڤU1X }Kq' rh  ;SxjXkMk]NOo%f$er`<6`k,QN54_6Tۆu۔S/kXڗ%Q[qkPOE_aR["9UeƻJ8Vw?i0:|@oW gLǫ#L(L$]'Հ1+}.B&ljv&Xq˅4QN뤱L|i+9'\sҧ:SFf/f# \X}k:KkV}ޠZ)},lDOT,=tikө\rNǍo50rӳ$56J}5{mgب늱ǺDn=VȦcA`|Uc%H2‰v E%,:?!'?^ї]KLpxj(%6 ٨:ذg4G \b6iRKc\hK&q6 dC^n' 4REɮ^zm0iZJʀBZnEX=-(ZL{V|,S1In3U{Ռ~Qh[Ȣ:S743ꊘg~9q-G+^neyΠ'BԓOu3U.4$WǤYd[S%A!4{8Yj7DrV$7YY>8 sPV{.g0\iJ)IUhuʀ$tӛdہ-kqi@@cKf#ngid ~UVYEVєˤ ʹšt \S AOS&`#$ZV0K:@ZHoۮ#6c%#7mt\:!Q8p+"AqҼo!n~ ]⛑ i5{>Qۺcu_)+{lGPS{zl4Sy]ͲW}_*1.Bn,V=n?߻A:Q7-A Zq5(@Qَ==Dr3 k{;k- j/6y褷5 Ot{6ceg$9P25`{2f5>?_L݉["rnk 0C Z= *I-5ÅRv(3!diLGx:Z֧:AqKVU'nr?h3]0/~F"iSgohϑٍ5{s5;vo$m ;d4a=ޛ>{oi{ w2:5̐#,EA矗vee}J']ҹ};e',x6Y}W路ˎIC4.;_dI ]5%GRbdAyC"!JGdZ,u[HDžF7Xnѩ4v kd_dv^coe]4DR VrG5+˶zR\aR Y*NY/1;!`;mӺs'/VoJ7?z?PBB4xQyE(HvU-$7-DGo֝iQ|>$6m+ ֊wAe5p$%v:'SxUhTo_ :*MK93m03k^|&a_Ru"Ft`QFi1T`n@=;`qvbwjA'+.i4 )^q:}ϼzN9mc8OS4t_ו/{5Zȿl,Tkn~oN\}#?z TTLVJYQa5~PqiPޮk`9E7$rU)JOCh>\ nhdqgqVakd}sͮ7NDh`*zO~ԠtV:YY9q{Ag^? MX%~c(t](ibر\;iFڱ(s{.+=.C)ì+g hrJzNI{tG %i^ bKXJSO@D583Vk\o0qK&n9%H~U ??J] ݃Fk!~Z6 %>3gQwov^oNM:,߁!߲M햯ۇtvi๺(\}6 )ox<%gw%Fw仰1nQɷZ|E++-RK|6N/t}g^Xh_@3w*y(o4V |9,_ L*ĶiYVYۓ?ō '3\$ t3#Vz5|OsSe̤(QWQ&drɚ2(kR3vi+z(s'6i/Jy~$3u =TI.ԉ,2IOۖګˊ VJ{&d\oL*GIcJZ`\+Křo1MzBnc5P.$jz&n+duY .Wb8]S1dGk^3 p树Fdz#a}UVTϚ?0 8/qmw0H>L\瓲 D+Ցtd(M&^ G.d|w66 "/1?%l$ 7-ɹ$9oSj,@(pƒR% Nm~r>: _> Wo)=2kk &NP,Uby/Q-XXBiã/Q"-pY)Vvx6m8{J+-L[ r~(^}-߆`eV _s!N?`l eZQ q#4ܟ) U3MX5~ːʖVVsU_w/V 5rؚ_0V3%\N! ws>w3]piI;׆bYOqQC>7.VJK4a{c=%Ql07ϟM).B>>M4AgV:2KHI\H+fp!UHR͌96p6 "S{W̌,RYXp ~TsIrnoD[quجvéOh\9 cFb,T60D ߂RLLm78U6񛑸$cKU1QM{aBIPJ7.c9P@8@+JqO!jG)U^/W˷/ݻ>Pb*;xǎ% F4O*Vւ{\Sк 4T3pOTk^Eh' YG)j';*8\1~qw!gٲ-{b.k\˹Q'q0\?eU~Ut + *R3mWZ5J ޯςio}]^%)%%QLҥ$ 0t;9K>_[y3wNɽIO#M7?+R']WKT=_V]UjEY%{޷og[eϛ-K~67j;91<rs\1A͟ges-F9Sœ%%eGj7X\^RS`ۉdE5[Tb_[Q]vW9 j#Q 8U+܋r(Z"E͢efiqsKCh+}u"BdI%K͞&i@[f_Cs=2m!s;#Ke/<$lɯNZ\zn^xs1bgKE k˝5D6 KM UsWJ% 6JeztVZΞ44իuu֯"cPK=^E^K񅆗 ݸׄ~GrZ$fTo!m(muoT x6nLIUjnF߂>uj݆:d]F旾/^jCR^ (MiXoJm- H[#|2{7J&"Л6#DZ8OITMoR7u =hISֿhԋzy6{} -h OZ$H3P%Z[ה%Ԇ4KM\.+Hܝ%~ٜIM7My6%/U:=%-==UJNASM)%iiVM:Z!աIٖ גH1&r$c: =ڤS'ϪV(J̩ ũWmTť5s ֌O>P\ޭPw*>Vh·_ҳ*v)ZVg]W%^=dfڬ ŠK&5Ef?PKgU GFA_PTCH.097/GFA_PTCH.RSCoEǟII0RHmpP jĶZ$rHJr78 KyxH:o2w߾y@2t>t`4& ރ5G1`F]`̕,Mj01z!i4CG $1#qO!@<9No>O0@/xxx9 agR^ڗh_}}{e-Dk~D;a`3/g;_gړ3=f+R! -]qf x~-,@K*QD\pl? GªIiEd^MuGZYy?EveGo5#@Dq!*Nԯ?lc+6?3+W26V&Md)mj"vw;poJeg+ѿH77z³Veԍ-'VIHS1-Ns%>*]N6sB,Zd? &dM2\Fe2 G>>f2V+1XW,jq&XA$~*+}-+iª m̉4H*Bɥ+kLD˼P}nPJ})k(*MԌ@$*aC͍Dbh5byt-j4Q[0)0ą?fVW9ԁ"*T/}O9A%9JQR4w* K`Û3[aG|y7J_E>jZBʀ{[MiX IyTk]ʸP T~sÃJ;R_<ƣO\DRNA jLm>׊SfĖߕ+Ҏ\S %qZ+P5 xHPӀ%,18#hQԓ \x{aG\^_!G:V-.: sJw~3&4ep sΞ:!fs #@;!ZXbkf\DZ-ډLuD*b_06f/Cnn,jgU .טWKF@t^TќG jAd[>.B0h;xA]'6 ؉P)ap6gӪ[{G! _EJNԙ]=pPD&Qm1B[QСx&?B cW”\ns}?N5s4V4\hĐr<:x{;9ȕBFu=ۚ$[hax m+NVծf\ n_[+Q @AsVi\Q*rZ^DϬA&ՓrYPbepj*;-USW[mn]KQW<aԶD2D05 'S4V-'4$H;.wms4= ݝׯwƳ8:ɍco갿rcpw'Yw{޾cgyqcLܽeeА?9ߍujTBecQ#ny.gR ВR?3"sihNt&:+IS1YQ7v벧j~Y i#h[~e8$1Da [4&S' N6Kcj֡4Gh@#^uY繆σ 63I fF@'ʉ^WDmЮxʓO:r # 9Z55^EES&nl2J>IV8 =G|2fǖ!ؕ0(=`s ;߬?Q,T8 \z#Άף+눛XSk3ӰpZ2(ǜZ\ -CpŊ q,>.pOL ,Q a,$TMGZI @WpxAiUhBk.TAY|PκWWi=A2wm% gdҜcEA@+,pɤĹu*1ҳYSWEYq.ofې9O6/g2E6- 4l|&AGʸ~uy;X6殧w_$RY.mu۞MYT,7Y!766[`Rm[X@6{fH`J)Pz"kƢ9ܴ˜xmsѲqo!Í 4TJŽ,N//$r-{ֈ M`"#cUB-~bBbZ8Nf8i}|Qɕ?4P3dO,4G:JSj]10wu7AoGe(Dיq!]u6w౮Tnq< Y FLؕ{p %mJgOؓ0%ї3"l\F؋V44ڴ,lzT=1&]MY}V>x獏z0uu`M7͋ZIrM^߼G[Y^^"_h.vxtZlT!{|xxVGp5~QQۣհh]pϲ9|V^#zHlfּ d6#zl$ 1ێ|5mYF 7 GFA_PTCH.097/LIBPATCH/INIT2DMP.PPKݞ`%6 n'GFA_PTCH.097/LIBPATCH/INIT35.OPK* 6 *GFA_PTCH.097/LIBPATCH/INIT36.OPKeNR:= ).GFA_PTCH.097/LIBPATCH/LIBPATCH.TPKf;~`K EGGFA_PTCH.097/GFA_PTCH.PRGPKgU  ܒGFA_PTCH.097/GFA_PTCH.RSCPKg;TJ H GFA_PTCH.097/GFA_PTCH.TXTPKf;i;Ci ΢GFA_PTCH.097/GFA_PTCH.UPLPK 4HSFXrSfxInfoAskOverwLookForDZipAssem SwapWordSwapLongScanLong Move hDOS XCconin Cconws Fsetdta Dcreate Fcreate Fopen BFclose lFwrite Fdelete Malloc Fsfirst Fdatime 0M2RTL vHalt ^SfxInflAsmInfl ZipCrcTablenumlitt~BLCodBLLen~lastb|BLenLenhDistLenHLittLen(EndInBuf$LittTreL LittTreCDistTreCDistTreLOutSizeOutBuffeInStart FileNormCompSizeCrcMainGPVaHas020 basePageStkLimIsMMFPUHaveMathsaveCreatModScancommFcommentFileNameZFileNormXiVbufRcNMegaDir8File AdrRecorNfileStartZip$(DT     ( & 4 $" .    :  *F ~  .R60 N2 $@8L  4 BAP2r22a"<_0<NBLJNup"AJӘQNuA> NuHz(` N_Hz ?<&NN\Nu9gNuWNuf  Zf 4\e move.l #$0100,d0 ; Lnge der Basepage add.l $0C(a0),d0 ; Lnge des Textsegmentes add.l $14(a0),d0 ; Lnge des Datasegmentes add.l $1C(a0),d0 ; Lnge der BSS move.l d0,retain pea hallo move #9,-(sp) trap #1 addq.l #6,sp move.l #'_FPU',d0 lea cookval,a0 jsr get_cookie tst d0 beq NEE ; If there is NO _FPU cookie AT all, ; there may be a peripheral type FPU, but there is surely NO TOS 2.0x or higher ; in the machine. So line F is engaged by the TOS andi.l #0x10000,cookval cmpi.l #0x10000,cookval ; Is it a SFP 004 or compatible bne NEE move.l #1,d1 ; cookie anlegen (Pure C call) value 2 is for the software emulater; Later move.l #'FPCP',d0 jsr new_cookie tst d0 bne JA pea already bra NEEE NEE: pea niet NEEE: move #9,-(sp) ; Cconws trap #1 addq.l #6,sp move.l #0x20002,-(sp) ; Bconin(2) trap #13 addq.l #4,sp move #1,-(sp) ; Pterm move #0x4c,-(sp) trap #1 JA: ; move.l #0x20002,-(sp) ; Bconin(2) ; trap #13 ; addq.l #4,sp bsr linef_on clr -(sp) ; Returnparameter move.l retain,-(sp) ; Lnge bergeben move #$31,-(sp) ; Ptermres() trap #1 linef_patch: move.l LINE_F,FPEM_oldF move.l #FPEM_lineF,LINE_F rts linef_unpatch: move.l FPEM_oldF,LINE_F rts linef_on: pea linef_patch(pc) move #$26,-(sp) ; XBIOS 38 Supexec trap #14 addq.l #6,sp rts linef_off: pea linef_unpatch(pc) move #$26,-(sp) ; XBIOS 38 Supexec trap #14 addq.l #6,sp rts = disconnect /r = retrieve all messages /s = send queued email /q = terminate POPwatch /u = load new user profile eg. fred.prf /c /r /d /q will load user profile fred.prf, connect, retrieve email, disconnect, and quit POPwatch. /s will use the default user profile, and send all queued email TOS Mode -------- This tells POPwatch to run without using GEM and thus producing no visible output. This could be used to runN~ o <Ш ШШ#Hy?< NA\ <_FPUANJ@g0 fr abort current actions in progress, NO other meaning ; first evaluate bits 8,7 & 6 of the f word btst #8,d0 ; fsave, frestore not implemented. bne r_x ; no command word l0: and #0xC0,d0 beq g_000 cmp #0x80,d0 ; ') bit 7 = 1, bit 6 = 0 beq fbcc_w cmp #0xC0,d0 ; ') bit 7 = 1, bit 6 = 1 beq fbcc_l lfscc: move (a0)+,d0 ; conditional predicate in command word and #0x3f,d0 move d0,LINE_F + FP_ccr wait d_rp moveq #1,d_ct ; size = byte put_regs bsr getea cmp #1,eam ; fscc mode 1 = fdbcc beq lfdbcc btst #0,d_rp ; True/False-Bit sne (a_ea) ; true = 255, false = 0 get_regs bra r_x lfdbcc: btst #0,d_rp ; True/False-Bit bne r_j ; TRUE: no operation move opc,d0 and #7,d0 ; get datareg lsl #2,d0 put_regs lea register,a_wk subq #1,0(a_wk,d0) move 0(a_wk,d0),d0 get_regs cmp #-1,d0 beq r_nx ; count = -1: next instruction bra r_j ; jump fbcc_w: move opc,d0 and #0x3F,d0 ; conditional predicate in f word move d0,LINE_F + FP_ccr wait d0 btst #0,d0 ; True/False-Bit beq r_nx r_j: adda (a0),a0 ; .w-Sprnge bra r_x r_nx: addq #2,a0 ; ') correction fbcc bra r_x fbcc_l: ; ') move opc,d0 and #0x3F,d0 ; conditional predicate in f word move d0,LINE_F + FP_ccr wait d0 btst #0,d0 ; True/False-Bit beq r_nxl adda.l (a0),a0 ; .l-Sprnge bra r_x r_nxl: addq #4,a0 ; ') correction fbcc bra r_x g_000: move (a0)+,LINE_F + FP_cmd ; 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ; CA PC DR IA PF TF ; ; No exception processing, so PC is ignored response: wait d0 move d0,d_rp blt CA ; This is for speed 7.4.2.7 (see summary table 7-7) ; cmp #0x0802,d0 ; beq r_x ; idle (most often after fp reg tp fp reg operation) and #0x1F00,d0 ; %0001 1111 0000 0000 7.4.2.5 & cmp #0x0E00,d0 ; %0001 1100 0000 0000 excep 7.4.2.6 bge r_x cmp #0x1000,d0 ; bit 12 =1 bit 11 = 0 blt r_x ; 10,9,8 xxx ; response evaluate effective address and transfer data CA = 0 7.4.2.2 tr_data: moveq #0,d_ct ; d_ct=Lnge move.b d_rp,d_ct ; HR: size now also used by getea put_regs bsr getea bsr trans get_regs bra r_x CA: and #0x1F00,d0 ; %0001 1111 0000 0000 cmp #0x1000,d0 ; bit 12 =1 bit 11 = 0 blt l1 ; 10,9,8 xxx ; response evaluate effective address and transfer data CA = 1 7.4.2.2 tr_dat_ca: moveq #0,d_ct ; d_ct=Lnge move.b d_rp,d_ct ; HR: size now also used by getea put_regs bsr getea bsr trans get_regs bra response l1: cmp #0x0C00,d0 ; %0000 1100 0000 0000 bne l3 ; response transfer single main processor register 7.4.2.3 ; only used for fmovem Dn, -- ,Dn for the ; coprocessor to obtain the register list in Dn tr_single: put_regs ; only when needed lea datenreg,a_ea move d_rp,d0 and #0xf,d0 ; HR: mask out bit 11 & 10 lsl #2,d0 move.l 0(a_ea,d0),LINE_F + FP_opnd get_regs bra response ; we know CA = 1 l3: cmp #0x0100,d0 ; bit 8 bne r_x ; response transfer multiple coprocessor registers 7.4.2.4 ; fmovem tr_mult: move LINE_F + FP_xsel,d0 put_regs ; only when needed moveq #0,d_ct ; determine number of bytes involved moveq #7,d_wk ; count number of bits in mask l4: tst d0 bge l5 add #XL,d_ct ; for (An)+ & -(An) the An update l5: lsl #1,d0 dbf d_wk,l4 bsr getea get_regs cmp #AIM,eam beq l7 btst #13,d_rp ; direction beq l6a ; reg to mem l6: tst d_ct ble response move.l LINE_F + FP_opnd,(a_ea)+ move.l LINE_F + FP_opnd,(a_ea)+ move.l LINE_F + FP_opnd,(a_ea)+ sub #XL,d_ct bra l6 ; mem to reg l6a: tst d_ct ble response move.l (a_ea)+,LINE_F + FP_opnd move.l (a_ea)+,LINE_F + FP_opnd move.l (a_ea)+,LINE_F + FP_opnd sub #XL,d_ct bra l6a l7: add d_ct,a_ea ; a_ea back to start l8: tst d_ct ble response sub #XL,a_ea ; predecrement; reg to mem only move.l LINE_F + FP_opnd, (a_ea) move.l LINE_F + FP_opnd,4(a_ea) move.l LINE_F + FP_opnd,8(a_ea) sub #XL,d_ct bra l8 ; response take pre-instruction exception 7.4.2.5 ; response take mid-instruction exception 7.4.2.6 ; No exception processing yet r_x: move.l a0,2(sp) movem.l datenreg,d0-d2 movem.l adressreg,a0-a1 rte trans: ; DONT change d0, d1, d_ct btst #13,d_rp ; Datenrichtung (bit 13) beq tdwrite ; only 1,2 & 4,8 or XL are defined cmp #1,d_ct beq tdreadb cmp #2,d_ct beq tdreadw move.l LINE_F + FP_opnd,(a_ea) cmp #4,d_ct ble tdr1 move.l LINE_F + FP_opnd,4(a_ea) ; HR: dont want to change a_ea cmp #8,d_ct ble tdr1 move.l LINE_F + FP_opnd,8(a_ea) tdr1: rts tdreadb: move.b LINE_F + FP_opnd,(a_ea) rts tdreadw: move LINE_F + FP_opnd,(a_ea) rts tdwrite: cmp #1,d_ct beq tdwriteb cmp #2,d_ct beq tdwritew move.l (a_ea),LINE_F + FP_opnd cmp #4,d_ct ble tdw1 move.l 4(a_ea),LINE_F + FP_opnd cmp #8,d_ct ble tdw1 move.l 8(a_ea),LINE_F + FP_opnd tdw1: rts tdwriteb: move.b (a_ea),LINE_F + FP_opnd rts tdwritew: move (a_ea),LINE_F + FP_opnd rts getea: ; parameter in d_ct = length move opc,d0 ; opcode move d0,d_wk and #7,d_wk ; d_wk = R : Register lsr #3,d0 and #7,d0 ; d0 = M : Modus move d0,eam lsl #2,d0 lea ea_adr,a_ea ; weitere Routine nach movea.l 0(a_ea,d0),a_ea ; Modus auswhlen jmp (a_ea) ea_a: bset #3,d_wk ; Adressregister direkt ea_d: lea datenreg,a_ea ; Datenregister direkt lsl #2,d_wk cmp #1,d_ct ; byte? bne ea_xb addq.l #3,a_ea ea_xb: cmp #2,d_ct ; word ? bne ea_xw addq.l #2,a_ea ea_xw: adda d_wk,a_ea rts ea_ai: lea adressreg,a_wk ; Adressregister indirekt lsl #2,d_wk movea.l 0(a_wk,d_wk),a_ea rts ea_aip: ; Adressregister indirekt (a)+ lea adressreg,a_wk lsl #2,d_wk movea.l 0(a_wk,d_wk),a_ea add.l d_ct,0(a_wk,d_wk) rts ea_aim: ; Adressregister indirekt -(a) lea adressreg,a_wk lsl #2,d_wk movea.l 0(a_wk,d_wk),a_ea sub.l d_ct,0(a_wk,d_wk) sub d_ct,a_ea rts ea_aid: ; Adressregister indirekt d(a) lea adressreg,a_wk lsl #2,d_wk movea.l 0(a_wk,d_wk),a_ea adda (a0)+,a_ea rts ea_aidr: ; Adressregister indirekt d(a,r.?) lea adressreg,a_wk lsl #2,d_wk movea.l 0(a_wk,d_wk),a_ea ; folgendes gilt auch fr d(pc,r.?) ea_eidr: move (a0)+,d_wk ; Zusatzwort holen move d_wk,d0 ; offset addieren ext d0 adda d0,a_ea move d_wk,d0 rol #6,d0 ; Registernummer extrahieren und *4 and #%111100,d0 lea register,a_wk adda d0,a_wk btst #11,d_wk bne ea_aidrl adda 2(a_wk),a_ea rts ea_aidrl: adda.l (a_wk),a_ea rts ea_erweitert: lea ea_adrerw,a_ea lsl #2,d_wk movea.l 0(a_ea,d_wk),a_ea ; weitere Routine nach jmp (a_ea) ; Register auswhlen ea_wadr: suba.l a_ea,a_ea ; Speicher direkt, kurz movea (a0)+,a_ea rts ea_ladr: movea.l (a0)+,a_ea ; Speicher direkt, lang rts ea_pcd: movea.l a0,a_ea ; a0 ist neuer pc! adda (a0)+,a_ea rts ea_pcdr: movea.l a0,a_ea bra ea_eidr ea_konst: movea.l a0,a_ea ; Adresse holen adda.l d_ct,a0 ; a0 weiterschalten cmp #1,d_ct ; auf Bytelnge testen bne ea_konstrts addq.l #1,a_ea addq.l #1,a0 ea_konstrts: rts end )))[))))[) ~    ~ ?  ? ~      ~ ? ? ~      ~ ? fpcpemu.prg .L [-S=256] = fpcp_lf.s fpcpemu.s cook_jar.c pctoslib.lib Ni  1p Nl Ny N 1  1 1 $A=1 1-2 S2pCXCJCJTcsCX8f. %fp&Bp&B  S2` CXCJCJ@cs S2pCY`CJCJTcsCYr l%4p&Bp&B S2`CJCJAcs(XXXXXXX$X(!   h H@@w@_'@_XpX[h[[[ [{{S+    `V o <Ш ШШ#Hy?< NA\ <_FPUANlJ@g0 fr     (  R  < ; -     J >     ( S 2 8 0  .  7 ! D % O K M  ' & N  IFP_xselea_aidea_adrea_aimea_aipea_pcdfbcc_lfbcc_wCAXLl0l1l3l4l5l6l7l8ea_aidrea_eidr stackpointerea_ladrea_pcdrlfdbccea_wadr adressregAIM ea_konstrts FPEM_lineF FP_restorel6aLINE_Fg_000eamea_aidrlr_jr_xopcFP_ccrFP_cmdea_konst____0000____0001____0002____0003ea_aia_regea_xbd_regea_xwregistergetealfscc FPEM_oldFr_nxlop_pcdatenreg tr_dat_catransea_aea_dresponse ea_adrerwtdr1tdw1r_nxtdreadbtdreadwxseltr_datatdwritebtdwritewtdwriteFP_iadr ea_erweitertFP_cntltr_multFP_saveFP_opndFP_resp tr_singleh to retrieve email into Oasis2. Select this only if you wish to retrieve email into NEWSie. Select this if you wish to retrieve email into NOS/Oasis1.3x, or AntMail via it's Import NOS maildrop function. This is actually the Berkeley Unix Mailbox format, which can be imported into any Email client that supports it. This points to the path that your selected email client expects to find email. This will leave any email retrieved on your POP3 server. It will not be deleted. This will delete any email retrieved from your POP3 server upon successful retrieval. Select this only if you wish to send email from Oasis2.` 4(6+glJ$ff#Jӊf$&9V/?<HNA\O#ӊЃ.@`.yӊ`By:HyHyHxNk@ NuNq op.@/NXONuNqFatal error: insufficient memory H<8&o 3:#Jӆf #ӆ/ N>XO"@ k C& zƅ(+  Jo JgI8#ӊ#zoI8#ӊ#Jfzn3 9RzeFЀ0;N (,0#I8#ӊ` # `` ` 䀘#z˹(ع&" ҃ +m:.KBE// ??<JNA N/9/9/9Nk@ I/ ?< NA\Oz??<LNAXOL )Rf6 )Gf. )Vf& )=fBXBJf#$XJXJf`$XJf )=f @o Zn ):f )\fAJgJfBRI`vBXAH2H"J&Io pԀEPJ#$Lv ԃJoH  g  f8RHSJn`.  g  f`  g  fSRHJnB`gSJnBBv#Jg$RXJfJfB XL NuNS`NuNqH0 6/??<LNAXOL Nu[1][Fatal: out of memory][ Good bye ]NV/.NhXOJfHyHxNGXO.NmN^NuGCC_EXEC_PREFIXc:\tools\gnu\bin\gcc-GNUINCc:\tools\gnu\includeGXXINCc:\tools\gnu\inc++GNULIBc:\tools\gnu\libTMPDIRc:\scratchUNIXMODE.,/d=NVH/9 HyNaJgr # N^Nu ,=()[]NV/ /tJ fNEa/9 Hy RNPOJgN`r g/9 Hy WNPOJf^EN#(RNr gT/9 Hy WNaPOJfHy B/NdpPO#$g4Hx\/Nb`Jg"@RIA*f`"BA*fp`p$.N^NuNV/9$Ne`N^NuNV"n IJg< bRHJf N^NuNVH<0vBD*.?/?<=NAPOJm2G6??/ ?<WNA ??<>NAXO2.HABAB0.&ր L NAXON:~?/ ?<NNAPO?</NATO @Jg / N-\` / ?<ANA\O L N^Nu\NVpH8&n(n /N .N@XONR"@ArfCArJgRHJff/NXO"@ArJgRHJffHy Er/ N XO.N XONJ/N hXOJgrg"`>$lg4/NXO$jf`$l g/NXO$jf$kg/NXO$jf/NXOHnr/N LdN^Nu.o-l-o[1][%s already up to date][ OK ]NVH88(n(. </N XO"lAfHnN XONJ$lg/NXO$jfHnN XO$$lgG/N@.NXO"@Af/N hXOrm(Jm$Hy,/ N XO.NXOrgN/ `>C/A fCA JgRHJffHn NXOrgHnN XOcB$j fTJfBC2A fCA JgRHJffHn NXOHn/N `$/,Hy5E/ NgPO.HxNGLlN^Nu[2][Abort?][No|Yes]NVH<8(n(. vzgh&lg^/ N XOJgnzgV`0&.*. ?<NATO6@/NZXO8??<NAXO/NXO(/?<;NA\O/N6XO$@g6"jAf|f / NXO// NXO.N0XO? ?<NAXOHyN&/?<;NA\OL |N^NuNV/$././. /NfPO. /Na @gB$.N^Nur[1][Can not open file][ OK ]NV/ /Hyp/.NdpPO$g/HxHyE4NPO.HxHyONPO.HxHyNPO.HxHyiNPO.HxHyNPO.HxHyNPO.Hx3Hy(NPO.Hx3HyuN / NXO$@g/HxP/ N.N4 `/Ne``J gHyrHxNG$.$nN^Nuw%s NV/ /Hy/.NdpPO$gHyHy/EghNPO.OHy/NPO.Hy/NPO.iHy/NPO.Hy/NPO.Hy/NPO.(Hy/NPO.uHy/N / NXO$@g/ N.Hy/Ngh `/Ne``HyrHxNG$.$nN^Nu\NVl/ / &n/ NXO"@AfCAJgRHJff"n AJgRHJffHnN .NXO"@ArfEr/ N XOHnn/ E/ NH0 JngHHx\/ Nb` @B"J KfC KJgRHJffCr KJgRHJff .n$nd&nhN^NuVersion 1.3 Nov 4 1993Compiled with GNU CNV/ HnHxBNI n$hJ g/3 NXO @RJfDgBHxNPOA& pNBBN` JlL<N^Nu[1][Function not implemented][ OK ]NVH8 .G&Jm2IH KʰfBHxNPO sNBBN`JlHy)lHxNGLN^Nu????????.???NVH0Hy*Hy1E/ Ng.HxNGp$nN^Nu,=()[]NVH 0&ntH0@/Hy1EaNPOJfHx./ NJVHH$D L N^NuNV n -WH0@ DN^Nu[]OptionNVH 0&ntHy2HyNNa,POJfN ^ANJf OgHy2HyNNa,POJgHyNN1XOJgrJfHxNXO&`"$SJg $jJfHxNXO%@$@AN <OJfHhNXO$BCN RfN ^`Hy2N1PXO$Jg8Jf.Hy2HyNNa,POJfN ^`Hy2N1P$ L N^Nu.c.C.s.S.l.LNVH00&ntEa,BHy3FHyNNPOJgHy3IHyNNPOJf<N ^Hk`nHy3LHyNNPOJgHy3OHyNNPOJf<N ^Hk `6Hy3RHyNNPOJgHy3UHyNNPOJf<N ^HkN2XO$JfJfF L N^Nu()FilenameNVH 0&ntHy44HyNNa,POJfN ^$kANJf OgHy46HyNNa,POJgHyNN1XOJgrfHxNXO'@`HxNXO%@$@HxB/ Nb AN <OJfHhNXO$CN @fN ^`Hy48N1PXO$Jg8Jf.Hy46HyNNa,POJfN ^`Hy46N1P$ L N^NuNV/ / &nHyNN1XOJg$kfHxNXO'@`$j J fHxNXO%@ $@HxB/ Nb ANJfOHhNXO$CN @fN ^HjN2XOJf/ N4B` Hy48N1P$n&nN^NuNV/$.rANJf Og/N5|XO"g $.N^Nu=Output filenameNVH00&.t/N DXOJfN ^ANJf OgHyNN1XOJgHxNXO$@HxB/ Nb C RJfHhNXO$"C @fANJfOHhNXO%@CN @fG ^N/ N3XXO$fpN^Nu...NV@Hx<&n/ N:XOHnHn/N:X HnHnHnHnHx/NJHn/9BNMPOt"k$RI/ NXO$@&+ BHxNHXO.NKXOdxdrIQ/. k$RH//NPOЫ,Ы// Nb .B2/ R/./NPOЮ/"n/ /9BNN$Rde/ NiXOER/.NXO$Jl NXO.HyϦNXO.HyNXO. NNtXOB29#B29#$_Nu/<NNtXONuNqH?> /H"/L$/P&/T(/X*/\,/`./d oh"ol(ox,o|*o3F3333333 3"3$3&3r(3v*3,3.30E,#>/<NNtXO&6yӸ*6yӺ$o$6yӼ$o$6yӾ$o$6y$o$6y$o$g t"Nx<؏"$AA0H"TRxl L|Nu /3 #>/<2NNtXONuNqH? / "/$$/(&/,(/0*/4,/8./<33333333 3"/<3 NNtXOLNu /3#>/<4NNtXONuNq3/<5NNtXONuNqH<$o&o(o *o$#>/<6NNtXO0yӸ$0yӺ&0yӼ(0yӾ*L<Nu/ / $o#>#B///<NNtXONuNq /"/ #>33//<*NNtXOL/ 0Rtl3///<NNPO$Nu/"o rA> 0Rtl///< NNPO$Nu/ $o //Hx&NNPOAӶpЊ2X$ɰbAϦrЁ2X$ɰb$_Nu / oC3 >3@g BA2f// /NNPONuNqH 0"/AӚp"<<0<NB6yӶ L NuH0 /$/2<6A3Ӛ@3Ӡ6C3Ӝv 3Ӥ3Ӧ"<TpsNBL Nu/ /"<TpsNB$$_Nu /AH<L0 H@$4H@"HABIAJ@g`R@JAg`RABCDA@gRnEADAJBjB AlR6<څS@SAWBCB AmV6KBDHDA`⌄QJBjD@ڄe JBjD@F(HBNR4 B"CBgB$/ g\jDFW"/jDFWe4Jo f6BAHAg0H@20BAHA`vҁрeRAQAJojDJ_jD& $Nu`////NOP NuAH<L0 H@4H@"HABIAJ@g`R@JgRJAg`RAJgBA@w@"2<vg؄e ׃Q`׃؅QU@F(BANR4BL8(/H*/L"DA fvE Jg`tJ9g .f` 9fRJ9g. y0(gH8@/ NXO` 0(gRRJJf"JJ9gZJ9fZE Jg(" 9f |m |m>&JRJJfڶgA |m |m.J9g"D Ef`d.`"EE pJg( .g R|lJg .gRRJJg .f .fpJg R|lB J RJfDրJVH0@ DL|$Nu...\NVH?< .&n (n..xzr mJfg "@ Lfp` \gJ9gJ /fDg "@ LfJ9g&J9g9H:@/ NXO`B,RK`V +:f@J9gH:@/ NXO`|:B,TK \gJ9g /f`g "@ LfJgtԎ,<a,K-MA`J9g /g Jg \fBJgRKxHyZ/*FNPOJgHyZ/NPOJfHx\/ Nb`PO @g\B`Vv/ NXO-@g*@$m`/Hj*FNPOJfxJf*"LAf"jAfB0*#v/.NXO*g@CZ LJgRHJff/./*NYlPO"n LJgRHJff`F*GHm/ /*/ NZ`,J9Ӳg//**FNPOJf *gz$Rf$JfR/.NXOCZ LJgRHJff/.HnNYlPO("n LJgRHJffJg(Jf<&n(n ( <\J9g</Jg +:fH:@/ N XO \gJg/ /N`PO`$ RKJgzڎA`Jg \fBHnHnN`PO*BB/NXO,g2*F$m`**g //*Na,POJfC Ef`$Rf/NXOAJgJfJg*B\$ JgRKJf`BpL<|N^Nu /"/#f #]#f #_(NuNq//// yNPONuNq//// yNPONuNq/"o"/ `Jfp`H0B0Hf S$Nu"o of VHHNufpNuJggfpNuJfpNuJgH0A0HH NupNuNq/$/ B RJfHhNhXO"g "B Af $Nu/"o o f VHH`@g8"/Sk Jggfp`Jfp`JgH0@0HH `p$Nu/$/ B"o fCb"/Sk B`SkfSk BQBASd $Nu/"o$/ p`H0A0Hf SfJf S$NuH00&o K RJf$$of// / Na JgJfp` L Nu o/ "/ g` o"/gB/4gSH4HB4B@g8H6 &(*,.$B&B*B,BH6H6H6H6H6H0SfLl?Hg2DAAS@HAN!!!!Q0g1g$ /NuH< o$o r$9Jgj(<&< rg(n ag.n +g.`z bg0`r tg. wg`dz`$z`z`ząB` z`ząJf g,zgzfz`zHx/// N &lp`"/NXOJgB`B%C%B L,o(*o,BϾN\#ϾBBB(<j/?<&NN\OHykE N.NV.kNXO$g*Hyk/Ea,NPOJgHyk$/NPOJfx`x# VJf&HxNXOJg69WCx???<FNA\O(9D#.(9D#H(9D#bG"I.'J/ NXOJgx`.G\=G*nUJf .`~%g /./.`BDBnBnBnzBR*nB~xeЀ0;N (>>>>>h$Jf< `D`XL=llDnD`<+`R*n *f$`Pt*nBJm> y0g0r ЂЀ*nR*@K$ *nBJm0fS ~op:`JD `Btr y ЂЀ*nR*@K$ *nBJm0f=BS`D`D`D`GXL4|B`Dfg XL:l$ `$JlD<-v `$& f$G" Cn Af&A K RJf` E o"*n gg GfgE=Ez'` EfzBB//NTJl|-//N4PO$&`B. fDJf@GJ.f" Cn Af`" Cn Af&A K RJf4H`B.//.*nB/Hn:D/ :E/ //Nv> 4@J.g<- .J.fR&@`dfg \0`, \ `"Dfg XLB4,`$v`$v`&\fGnJEm&:E/ B/ N0 Jg 4@˺Jl*4E`$ K RJf4H`Dfg XLB4,`$v `0-|nfg XLB4,`$vgJgD@B=EmD&NJfJng`*<d4C/ /NlPO$*n5e H@0@B@H@$0H..0xJf-|ng Cf 0g<04n:J=MJgRngTn:.nl:.0f2Jng,4H0no &/.Hx NtPO~gRnJg/.~/Ά/NtPO~gfg:/.Hx0$<t*BNPO~gD/.*nH:@/ *BNPO~g&0@0 @ f,4H0no &/.Hx0NtPO~gRn:n$ 0no &/.Hx0NtPO~gRn4 HSk&/.H:@/ NtPO~WgBBSjSnk/.Hx0NtPO~gtSndg*4H0no&/.Hx NtPO~gDRn2E0no I.߮`"/.*nH:@/ NtPO~g RR`L<\N^NuNVH?< .". $.*. ,.$BBHn//N8 &(R$E&FSK(|@$BB/./.NTJgxHn/ / /./.N//N8 -@-A/HFHGQHBLBG b @ oHDHEHFHG8:<BG@`"&gNxBBLNu /Lg@NuAH?L0 $jB" n m&fJg&f @ oHDHE8MBA@`B,<J@o&Ɔg R@╄`,<&Ɔf S@gۅل`Jl$Dh2AgBRفJ@fR@`&f&g* @m$ @l0HBBH@B@ "LNup?#BBLNuLBHBBBLNu B"CB$/gB"/e4Jof6BAHAg0H@20BAHA`vҁрeRAQA& $Nu`////NlP Nu //"HA4IA A~m2 An0AngDA` fJBj` JkJBjD$NuB` <`A"o H?04H@ @l BBL` @3m"#hprLNuL0|~ @#n><:BDHGHFHEHD@` @3l R@`/ HyH?BANx"_H(*BA0<NxJg p#NuBNuNqH00$//NXO @gJg/ h`F&B0K$VvOeA"ҁ҂ҁ0g&vm0/ NXO`v/ yNXO`h0 fJg /0NiXOA ЀЂЀ00000B? ?<>NAXOJl D#pL Nu/ 0/ @go @g.`0 @m*V@H`,BENXOJgp`HxNXOJgp`0y $_NuH8 &/xm ??<NMXO`xg ?<NATO`?<NATOLNuH8 /xm6`69??<NMXOHLNu///NXO4 BnD`"9 ЁЁ @0(Pg2RA AOoBA1AH 0` 2B/ N6XO$NuH8//NXO4 BnD`"9 ЁЁ @v8(Pf2B/ NnXOJgv LNuH80&/ Jg /NXOo'Gx/ /??<@NA L PONuH00BC2o/ NXO4 BnD`"9 ЁЁ$@6B/ NnXOJfJCg/ N6XO$9f fv` fBC`9f 4Hx`9f4HxNXO`JCf0R2RA AOoBAjg|0H%4`lL NuPRN:lpAUX:tty1CON:console o!yn#nNuNq"/ yngp0(g hf NuNq/ /$/ $yng//Na,POJg $jf $$_Nu/ /$/ $yng/*/Na,POJg $jf $$_Nu/ /Jg ?< NATO` 9$$_Nu/ /Jg ?< NATO` y ($$$_NuH?8&o(0K(VJDlp`/ NXO @gJ f hfp`|Om*A ЀЄЀ0 g WH0@ D`6 ~|??/?<BNA (@zBG??/?<BNA Jgn|g~%#v`&BF?? / ?<BNA ~Om:JgA ЀЄЀ00`A ЀЄЀ00 LNuH< (/:/6/"??/?<BNA Jl (D#LNAXO~?/ ?<=NAPO&`:G$6/C?/ ?<=NAPO&m"/gHxB/N `vJlD#p`0C$V/gA ЀЂЀ0@/gA ЀЂЀ0/gA ЀЂЀ0 E$/ NaXO"ҁ҂ҁ A!@f2$9/NXOJf/g / NTXO#v LNu//Hx// N NuNq 9t#tNuNq : unknown signal/ /$/ $oHxHyDHxN g8Jg4 J RJf// HxENPO.HyGHxN Sre*Ax  p RJf/Ax /0` HxHyJHxNPO.HyDHxN $$_NuH?<&/,(/0 /4&Dl|@#p`\*/NXO @gJg// / hN `./NXOJf$//??<?NA Jl D#p`##/NXOAgLg*H:@/ /N\PO  fB` cRRLo/NXOJgRK`g  f 9f&9gH:@/ /NPO&DHx`.9f,9gH:@/ /NPO&DHxNXO.<*Ggv9f /NXO*GgB  f*g$Hx /E\NXO. /NPOB`H:@/ /NPORL/NXOJg`9fP*GgHx^/E\NXO./NPO/NXO*Gg@H:@/ /NPO`*9f@*GgH:@/ /NPO$`Hx/N\PO SJn`  g 9fP*Gg@  f(Hx /E\NPOg$Hx /NPOB`H:@/ /NPO R`Agf&glSKSL*Gg^/ /NpPO`N9f0SLm"9g / /NpPOSKSfޙ`9fhSKgZ  g  fNAXO o`"fTI)m"< ЭjЁz )@9| `)|z)E9| /$g. /:%f&B y0g H@`H@`?<NATO9@BlN9@ N9@)| L<<Nu////NPOJ]HHNuNq/dev/NVH?<&.(n /NXO*@gN m RJfD^~$OC Of"m JJgRHJff/ / NPO`0C&V~OeA ЀЃЀJg09FH4G4JB9F/ /0NPO? FTO`hG8BF??/ ?<WNA Jl*8!Bl(BNXO @UH)H )H$)HB`6n/ 6n/ NPO)@$)@ )@8Bl(~??/ ?<BNA *l8)|`n~??/ ?<BNA )@??/ ?<BNA Jtg.G~/ /??<?NA f n`g n#!fTIBG??/?<BNA ?<NATO9@BlN9@ N9@)|"< ЬjЁ~ )@Rp)yp9| p` ~%#pLRJJf`  g,RJJf'J BkJg AfkRJJf&( ``B`B'J``R??<>NAXO)D LNAXO `(lg:~ACJf&G/ /??<@NA K/ /??<@NA 6E l RJf&(,//? ?<@NA &l Jg@K/ /??<@NA ?E* K RJf&8/**l / /??<@NA 6F(<//? ?<@NA &o(Tf2??<>NAXOpL<Nu/ / o $/f`( `&$hg/HjNa,POJg$Rfp$$_NuANV`H 8$. J9Ӳg`"nAfHx\E/ Nb`PO @gBHn`/N`PO`Hn`/ N`POB.HnNXO(@fp` B RJf"HA` RJfHqNhXO&@f r'#p`h"BAfEJgRJJfRJ'JC` JfJgRJJfRJCj Jf'J 7|&)K/ HnNPOpLPN^Nu/ / &o $kg $R/NiXOf/+EiN.NXO$_&_Nu/ yFg$/NXO BfBF$Nu//$/ "/AJ Ѐv> v?#Nv vă#RƁ#V vS#Zv vP҃#^v#j#f#b/NXOvjWH0A&D#$&NuH <(o?<,NATO6@?<*NATO:@/ / NPOg(L<NuH><&/((o, /0l|@`L*/NXO @gJg// / hN `/NXO(fj6C0K"V|Od|%#p`A ЀЁЀJ0l|?? /?<BNA Jm/ /??<@NA JlD#p`$$LoIG\  f*g$fHx /NXO. /NPOB`F  fB`& cR`  f| FRH#H:@/ /N\PORJSJn L<|Nu/ oB/ /grf `RHSfp$NuHxN,XOϾNuNqH< &/$oz(* Jlr * @%@ (g`0@PfXf r fv z jRR"l  g2r f,$B%j//*/*N g j@p`Jg r fv `BL8$o$&o(z|&gJfp`BC˶Jg.B y0 grJg y0 fBr -fzRJB y0gHv$ԁԂ 9n H0@0H`H8@/ NXO(@A"҈RJ y08f 瀐Ё( :fhrRJB y0gHv$ԁԂ 9n H0@0H`H8@/ NXO(@A"҈RJ y08f 逐؀CB y0 g6|&Jg.B y0 grJg y0 fBA˶Jg#` # AJg#` #˶//NQPOL|Nu orf,rVmpШ DrmpNu ( rNur fpШ Dr]H0@ DNu hYHrTH0@ DNuNq//NH/NTnPONuNqH08"/(of/NhXO`Jf/ NiXOp`GpЁtĀd(E(&,%C$ Hj NiXO)B`cE y`$H jgb Ыg$b "kb'I%hBB`2/NhXO$@gv֫// / N*PO.NiXO(J L NuH<0&oz/?< NA\O&(/?< NA\O L EZa t{  -lg++.olb\\A:\A:\A:\C:\TOOLS\CED.PRGC:\TOOLS\GNU\BIN\GCC.TTPӚӶ>ϦӚ>ӶϦ$PatchLevel: atariST/TT GnuC gemlib: 25 $V]_( BBBBBBBBBB DDDDDD HHHHHH  $PatchLevel: atariST/TT-TOS Gnulib: 85 $x}*L%9RYcv !6CVo !(07?GOV^fnv~ ;Zx0Nm???c:\toolsgcc2_com__start0r__acc_maN_acc_arg__start1_parsear>_setup_h_argv_argcgnuallocgcc2_comgnuenv.ogcc2_com_EnvVar_SetEnv_pEnv gnuerr.ogcc2_comgnufile. gcc2_com _pPath.1 _pPath.1Šgnulex.ogcc2_com_NextCha_pFile$_CurrCha gnumake. gcc2_com _GetDate _FileTyp h_MustCom _Compile_LinkObjV_Compilegnumenu.4gcc2_com4_Quitt_pLinkOpu_ReadLin4_ReadInf_pCompil(_WriteIn_HandleF_HandleA_HandleE_HandleE_HandleE_HandleE_HandleE_HandleE_HandleE2_HandleDh_HandleE_ParseOp_Compile_Link_HandleC_HandleC_HandleC_HandleCF_HandleL Z_HandleM!n_HandleS!_HandleM!_HandleL!_HandleR!_HandleE"_HandleE$,_HandleC$N_HandleL$h_HandleL$_HandleS$_HandleS$_HandleS%_HandleQ&_Menu&_HandleK(_HandleM)_UpdateM*gnumsg.o-gcc2_com-_pRoot\_RemoveW._CloseWi/ gnupath./gcc2_com/gnuparse/gcc2_com/_FreeCha/_FreeOpt/_FreeSou04_Syntax1P_IsFileN1_ParseOp2_ParseGl3X_ParseCh4B_ParseSo5|_ParseTr6Jgnushell7gcc2_com7gnushow.8gcc2_com8_hl_wh_yd_x`gnutext.:Tgcc2_com:T_WKind:T_GetColR:X_HandleA@l_HandleSAB_HandleMBH_RcInterB_RedrawWCappl_iniE,gcc2_comE,appl_exiEgcc2_comEevnt_mulEgcc2_comEform_do.G gcc2_comG form_diaG0gcc2_comG0form_aleGgcc2_comGform_errGgcc2_comGform_cenGgcc2_comGfsel_inpH0gcc2_comH0graf_hanHdgcc2_comHdgraf_mouHgcc2_comHmenu_barHgcc2_comHmenu_tnoHgcc2_comHobjc_draI$gcc2_comI$rsrc_loaIgcc2_comIrsrc_freIgcc2_comIrsrc_gadIgcc2_comIwind_creIgcc2_comIwind_opeJ8gcc2_comJ8wind_cloJgcc2_comJwind_delJgcc2_comJwind_getJgcc2_comJwind_setKgcc2_comKwind_updKgcc2_comKwind_calKgcc2_comKvswr_modL,gcc2_comL,vsf_inteLTgcc2_comLTvsf_fillL|gcc2_comL|vsf_coloLgcc2_comLvsf_periLgcc2_comLv_opnvwkLgcc2_comLv_clsvwkM`gcc2_comM`vs_clip.Mtgcc2_comMtv_bar.oMgcc2_comMvqt_attrMgcc2_comMv_gtext.N$gcc2_comN$common.oNtgcc2_comNtident.oO gcc2_comO _addsubsO _divmodsO_divsf3.P`BIAS4@~retzPdivzPclearQ_mulsf3.QBIAS4@~retzQ_mulsi3.Q_normsf.R$EDOM@>ERANGE@?retzRoflowRofl_cleaR_fltsisfRBIAS4@~_fxussfsSgcc2_comSstksiz.oS`gcc2_comS`signal.oS`gcc2_comS`_sig_arrp__do_sigTunlink.oTgcc2_comT_D_do_deleTunx2dos.Vgcc2_comV__adjustYl__canonZ__old_un_ux2dos_dos2uxstrchr.oagcc2_comastrcmp.oa,gcc2_coma,strdup.oagcc2_comastrncmp.agcc2_comastrncpy.bgcc2_combstrrchr.b`gcc2_comb`strstr.obgcc2_combbzero.obexitcdo_setbevencless256cLset256c,less4cpset16cdless2cznonecexit_d2cctype.ocgcc2_comc__myctypfopen.ocgcc2_comc__fopencfclose.oe`gcc2_come`fflush.oegcc2_come__fflushf(fgetc.ofgcc2_comffgets.ofgcc2_comffprintf.ghgcc2_comghsprintf.ggcc2_comgmalloc.ohgcc2_comh_MINHUNK_MAXHUNK__ZeroMamain.ojgcc2_comj_getMiNTj_num_at___at_exidoprnt.ongcc2_comn_cvtv>__round|D_exponen}Bfilbuf.o}gcc2_com}getbuf.o~gcc2_com~toxxx.ogcc2_comident.o@gcc2_com@strlwr.o@gcc2_com@_addsubdp_cmpdf2.Tltgteq_cmpsf2.ltgteq_divdf3.BIAS8@retzddivznclear_fixdfsiBIAS8@zerotoobig_fltsi.oBIAS8@_muldf3.(BIAS8@retz&_negdf2.4_normdf.LEDOM@>ERANGE@?oflowLretz:_udivmodl_fixsfsiBIAS4@~zero*toobig.modf.o8BIAS8@binmode.gcc2_comdefmode.gcc2_comclose.ogcc2_comconsole.gcc2_com_LOOKUP_raw_in6_raw_insndevice.oxgcc2_comx_prn_dev_aux_dev*_con_devLgetpid.oHgcc2_comHisatty.ogcc2_comlseek.ogcc2_com__real_lopen.ogcc2_compsignal.Dgcc2_comDread.o(gcc2_com(_thebuf_start_c__echoch__delchap_str_lensbrk.o@gcc2_com@_HeapAll@siglist.gcc2_comstat.ogcc2_com_dtmp.8_dtabuf.__statsymdir.ogcc2_com_buf.8B_pos.9B_siz.10|_Fgetc__cache__in_cachF__cache_J__del_ditchars.ogcc2_comtime.ogcc2_com_this_tmJwrite.ogcc2_commemchr.o0gcc2_com0clock.o\gcc2_com\fputc.otgcc2_comtgetenv.o gcc2_com localtimgcc2_com_days_pe_mth_sta_dst_indst_gtime.6n_ltim.9˒_tzoffse_stdname˶_dstname_unknwn. raise.ogcc2_comrealloc.,gcc2_com,sysvar.o,gcc2_com,getuid.ogcc2_com___uid___gidbcopy.o common2exittop_downslow_copboth_eveZless256copy256fless4copy16less2noneexit_d2scopyslow_copboth_eve,less256_copy256_8less4_dcopy16_dless2_dscopy_d_open"__aespar$<___fixdf"___opend$x_isatty"___gtsf2"__subsf3"O _getpgrp"_lstat":___eqsf2"___mint!_getpid"Hnorm_sf"R4___inode$p___adddf"v___exit"_getuid"___nesf2"__floats"___Ident!__base!_CloseMe"/__mchunk$__dos2un"`_bcopy"*__unixti"_CloseFi" ___divdf"norm_df"x_getppid"l_vsf_col"L___lesf2"_GnuMenu"+D__tROOT!_vsprint"h(_RemoveF"_getenv" ___gedf2"T__main"k@_getgid"___muldf"(_in_buf!_vs_clip"Mt__ptsout!Ϧ___ltdf2"T___divsi"O__timezo$_v_clsvw"M`___aes__"Nt___divsf"P`__start_!Ͼ_strstr"b_getegid"_vsf_fil"L|__bcopy"*___mulsf"Q___gesf2"_tolower" ___link_!_strupr" _GetDefa"R_signal_$__tDEV!__exit"m_NextEnv"___mulsi"Q___subdf"p_graf_ha"Hd__sbrk"_realloc",_RunName$_strcmp"a,_Default$___ltsf2"_strlwr"@_strchr"a_HandleM"/T__lDIR$__cmpdf2"T__unique"X__free_s"__initia!_geteuid"__read"(__lib_un"]__tDOTS!_strdup"a__addsf3"O_ErrorNo"_setreui"_freopen"d___float"R_sprintf"g__global!__cmpsf2"__malloc"j__unixmo$___subsf"O __tCASE!_unx2dos"`___float"__intin!_printf"g__getbuf"~___fixun"S_tzname$_gl_ap_v!__adddf3"v__umodsi"_setregi"__filbuf"}__bzero"b__ctype$_work_ou!__tSLASH!__infini"R_gl_apid!_ShowAct"8_strrchr"b`_DoCompi" _gl_hbox!___Ident$h___ttymo$__divdf3"___link_!_HandleM"-\__infini"b_strncpy"b__x_Bit_$t__reallo",_wind_cr"I_MakePro"z__muldf3"(__lib_do"_(_FreePro"0__read_s"_NextTok" ^__write_"__gmtime"z___DEFAU!ӆ__divsi3"O_rsrc_ga"I__doprnt"n__heapba!ӊ___Ident$_signal"Sv__divsf3"P`_gl_wbox!ӎ_strncmp"a___Ident!Ӓ_vqt_att"M_dos2unx"`__full_d"___mulsf3"Q_setuid"(__lHIDE!Ӗ_Compile$__dev_fd"_rindex"b`__contrl!Ӛ__mulsi3"Q_HandleT"Dh__lAUTO!Ӳ__intout!Ӷ_gl_hcha!_CloseTx"@._SetExte" _set_sys"V_Alloc"_memmove" _open_vw"7_ErrorGe"_UpdateT";__modsi3"PJ_appl_ex"E__udivsi"l_appl_in"E,__sys_ru!_localti"_setgid"`_SetDefa"B_console"_gl_wcha!_form_ce"G_remove"T_wind_ca"K__start"_v_gtext"N$_objc_dr"I$_CreateT"?__fixdfs"_vswr_mo"L,_wind_op"J8_InfoNam$5__dst!_fnmapfu"`__iob!"_CurrFil!*__app!:__del_sy"_wind_de"J_tzset"_vprintf"g_psignal"Z_evnt_mu"E__binmod"__negdf2"4_fprintf"gh__write"_vsf_per"L___tchar$__ptsin!>_form_di"G0_EditNam$__malloc"h_write"_unlink"T_menu_ba"H_GetDriv"Z_fsel_in"H0_close_v"8>_CurrLin!>_get_sys",__dev_do"_vdi_han!B__lOK!F_malloc"h_OpenFil" D___Ident!J_ClearAr"J_memset"b_menu_tn"H___devic$n_graf_mo"H_CurrTok!N__consol!__child_!_vsf_sty"L|_memcpy" _form_er"G_EditorN$i___modsi"PJ_pipeclo$_console"\_phys_ha!_mktime"___defau$_SourceN$O__set_un"V_memchr"0_GetPath"_wind_cl"J_work_in$_GetEnvV"___umods"_setpgrp"_umask"0__init_s"S`_Makefil$_wind_up"K_vsf_int"LT_raise"_stat"__defaul!__tUNLIM!___negdf"4_etext"_environ!__dev_un"_atexit"n^__vdipar$T_AddArgv"_bzero"b_rsrc_fr"I_AddLine";__make_a"l_index"a_DeleteA"___umask$t_form_do"G _ShowEnd":_time"_wind_ge"J___col_p$_read"(_rsrc_lo"I__stksiz$___vdi__"N_v_bar"M___open_!_sys_sig$x_ParsePr"6_setegid"_ClearTx":__malloc"j___norms"R$_sbrk"_tell"_vdi"N_errno!_form_al"G___check$_fputc"t_wind_se"K_creat"__symdir"&___fixsf"_modf"8_toupper"___normd"L___link_$_vfprint"g___udivs"l_IsOptio"1_fstat"_flush_k"_exit"m_GetName"_main"8t_OpenTxt"@ _gmtime"__unx2do"`_free"i_lseek"_seteuid"_close"___cmpdf"T__subdf3"p_fflush"e_kill"Tn___link_!_GetEnv"4___nedf2"T_fopen"dp_edata$_clock"\___Ident!J__instal"_fgetc"f_end!N___addsf"O_fclose"e`___eqdf2"T_console"_v_opnvw"L___gtdf2"T_fgets"f__split_$__do_sta"___cmpsf"___ledf2"T   : :   " 2 <@x\ P F 6 , (T 2 $H&$, "(        "8 D0n&$&2  P ,, H  $*0,& T  (, 0@          "6| ,,&H$"0$".4    4X&    :    (   ",$&0",$&0 4(,$$H ( ,&H        * Z 2 . 4  "   8   b0(&  * & $ $ $ T  .b " 4   <        :      (  "@   8R(   <0 $0 $ $(H$H(0 (*P . 8,( ( 4 6< P $ R (   L  F 2   $  (   ,   " $   (    8         "  |@ @ 00,   B   8   DJ F  ($6  . 4 4.  D"L ". 8$$F,** v" T*LJXFR*"  Z6L$    D        x T     Z^V*FzPX2r$T.*(08P*"$ z$,$"N*X. x" t`H ( .$ $@4"V," 8  ^.&$,*d(L0.$6\  2 (  *,$  $   $  ( "  6  >V     *. N$ f," *R  2 &,*( 2,fX * .   0*0 "&0DBd* 6B&, ,2, B. JFJ :Z "B   02."2*2     8J p  *XXXXXX&8T hfJ<,4xf0 @,%-WC !}Bj‰轺P;kA/݅Eվ Ȓ3BvP7X*` BlE!I 0쯏3FS)D,XJrIPQNBsP$Xp"aB& xX`'߯s#/K9Be$͊)т)VP- 8Å}&&sbX D`g(XHNyP^HA0R'tpPŚ<)-iV"=CEc2yYG0U Cn W`rn,GOWj2N@+>f A ). FqӑMP#|(8cLdb!D ;18껭lR& @nKHC]X" r `{ 0KC3"r"nHtV0d"@Y/ӾɢoxY0=` E`A$ADZpQNoG`"r@ a`'VHrq|P 3 4w n:30鞊t"剂N `:?"UT[CR!Bcb32%Q!r8W(Di $ k GNUShell File Compile Project Setup Utility About GNUShell---------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Edit ????????.??? ^O Edit .C Edit .H Edit .S Edit .PRJ Edit .*------------------------ Delete... ^D Execute... ^X------------------------ Quit ^Q Compile ????????.??? ^C Compile... Compile & Link...--------------------------- Compile Options... Link Options... Select ... Make ????????.??? ^M Make all ????????.??? ^A---------------------------- Link ????????.??? ^L Run ????????.??? ^R Environment... Editor... Compiler...------------------------ Load ????????.??? Save ????????.??? ^S------------------------ Load... Save... Show free memory GNUShell Version x.xx xxx xx xxxxCompiled by unknownR. SchubleDattikonstr. 2CH-8730 Uznach OK Compile Options @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Options: ________________________________________________________X Cancel OK Link Options @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Options: ________________________________________________________X Cancel OK Environment GCC_EXEC_PREFIX:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________XGNUINC:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________XGXXINC:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________XGNULIB:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________XTMPDIR:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________XUNIXMODE:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_______________________________________________________X Cancel OK Free memory 0000000 bytes OK Make Project:Target:Action:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Deleting... ------------------------------------------------------------Deleting File:   =9B9B+9:L88688@x88*884l88 880>?SZ[ , : ; P P2 $  .  4  =  F" M)  7P  V g~   '1=G`w  & %!"#$%*-',(<)I*d+,&7.6$ /01234*5A6Z- d 88+7%n6         ' E   A'(I  2 NA'&)#M j" ; 7 78 7     7 ,    7    7"'+-4  . @ 'NI  J\emu < <  <M f  << y  j*G~Mc"r6z1n5u ߪoA_5M?fĝnolmɹ9nuX}k;~5Ȼߟ-1,rPKQFAٚ we6ZʭSB_l\>ᳱ|ML'ߚ]]@)\˝ 8 9ZDL}Dp ^HI!rh^@,)6WT?[_$j¶xy q5N% ݅ cL_RcַHB`NHMӨ}k P (@IPX#AWBu',w+\,n-`x!]`P(7 }aD5P}4`aPv,`PR`Nu2ӁM"z< 7$T[D$1,aRra/&} Sӥ n;C$X/SEbM*8byJ/09aa]׵\?* 0NQop&,l)"k@Bemerkungen zu GNUShell ======================= Projektfiles ------------ Die GNUShell Projektfiles sind in ihrer Syntax an die Projektfiles von Pure/Turbo C angelehnt: Projektfile ::= Target + Optionen + '=' + { Source } Target ::= 'Targetfilename' Optionen ::= (CompilerOption) + (AssemblerOption) + (LinkerOption) CompilerOption ::= '[.C' + { GnuOption } + ']' AssemblerOption ::= '[.S' + { GnuOption } + ']' LinkerOption ::= '[.L' + { GnuOption } + ']' GNUOption :== '-' + TEXT Source ::= SourceFilename + (Abhngigkeit) + SourceOption SourceFilename ::= 'Filename' Abhngigkeit ::= '(' + 'Filename' + { ',' Filename } + ')' SourceOption ::= '[' + { GNUOption } + ']' Beispiel: Projektfile: Mit dem folgenden Projektfile wurde die GNUShell bersetzt: # ========================= # Projektfile fuer GNUShell # ========================= GNUSHELL.PRG .C [-c -O2 -D__TCC_COMPAT__ -ansi] = GNUALLOC.C GNUENV.C GNUERR.C GNUFILE.C GNULEX.C GNUMAKE.C GNUMENU.C GNUMSG.C GNUPATH.C GNUPARSE.C GNUSHELL.C GNUSHOW.C GNUTEXT.C GEM.OLB GNU.OLB Weitere Bemerkungen ------------------- Die Option ".C [-c]" sollte immer vorhanden sein. Eine laufende Compilation kann durch (wiederholten) Tastendruck abgebrochen werden. Dabei sollte nicht die Return-Taste verwendet werden, da eine Sicherheitsabfrage mit Defaultwert 'weiter' erfolgt. Registrierung ------------- Gegen Einsendung von 20.- (DM oder SFr) an untenstehende Adresse kann man sich registrieren lassen. Man erhlt dann die jeweils aktuelle Version der GNUShell mit allen Sourcefiles und dem dazugehrenden Projektfile (GNUShell kann sowohl mit Pure C als auch mit GNU C und sich selbst bersetzt werden). Ausserdem werden registrierte Anwender ber Erweiterungen und Verbesserungen laufend informiert. Eine Anleitung zu GNUShell (TeX) ist in Vorbereitung. Anregungen ---------- Anregungen, Problemmeldungen und Verbesserungs- und nderungswnsche bitte an folgende Adresse: Roland Schuble Dattikonstr. 2 CH-8730 Uznach History ------- Version 1.1 2-Okt-1993 Erste gltige Ausgabe. Version 1.2 10-Okt-1993 Ueberpruefung, ob Inputfiles aus Abhaengigkeitsliste vorhanden. Ueberpruefung, ob Sourcefile vorhanden. Korrektur Fehler, wenn GNUShell nicht auf gleichem Drive, wie Source. Neuer Menu-Eintrag "Edit .*". Fehlermeldung, wenn Projektfile nicht gefunden. Korrektur im Zusammenhang mit GDOS. Verbesserungen des Handling der Text-Windows. Version 1.3 4-Nov-1993 Uebergabe der Filenamen in Kleinschrift bei Option Compile... Damit wird "file.cxx" als C++-Source erkannt und nicht als Library.}༜׺P+^gy[\]QziJ5P1B0NdRnd+ {3Ik(D h4vEJhO*6XtޱDoıMh6|L|IQ[?GѼD0Z($(zyʹBb t]lDq=NG@)6/VbZQzNVam5gVe2WCm2_؋ipc,}?䎿h:P~1Hhp>8xp!{ɣn`!;3)?vo򻾢{@Mj@:*YtǷ;7y?i<55y02<뤎{vc6vt2ft,9^\{,zQ9G_ĚyD@5aE8Kcbeٌ |:OS͹li1Ǟ Ʋf#˰c9-Τˠ5݃?ߌÊ)S/nT76p^B8v6M%)\}7,$؅XT[;:}*T Lv8͹DLzF,ռ٬v&n.n}D_WNd'~ejfY]91t+;MTFb;Mz8EGpjܙCsІ#A{ iǾ8.NdF7eB;Ha:ˌ(D:i'I䭢, s@P AMKeK`?&dS,W%-KvsEYUOq<onv7C6QED>y;1m=YݳߋHɴi7};I`p&)``PR>>>> PURE-C <<<< for ATARI-ST Version 1.0 (C)88-90 Borland International &H f&op`B@#PD3PH k  Ј<.@#PJBG<"@(I$k,"Jf"JfBJyPHgP// ?<?<JNAO A6<<~kRrRAfAHBDCBB`l >fBSIKSAk\ >fB`H =NAJk:?|?EB>BNA0`Bo>FNAg$?|/N>=NAJk?@?|>FNA ND0 J"LNM? 9p(g @N 9p,g @NNW?<LNAPJbNDAPj01|1|BhBh1| 1| 1|1|1| 1|M1| 1|1|Bh1|2Nu?/ PJbNDEP"yaJC JNSCL JNRB@ JNab6R@nNH` Ar 0N`$r gN.0N`t$_6Nu/ PJbNDCpi$y=PN#P=N^B@$_NuH8PJbNDEQBRBCGLIaJ`&C 0H T h pNSrJ@fpC4RC0H T"h"1f4gpC5@tC5BC6H h p8NSrJ@fBj`NC0H T h pNSrJ@f5|`(C0H T h pNSrJ@fF5|RjC0H T h pNSrJ@f jg5|RR`Bj0jop`B@LNuH0$H&IPJbNDNT &W "J KNTvB38L NuPJbNDBBBBh BhBNuPJbND (fpNuB@NuPJbND!PNuPJbND!hNuPJbND"h!i0NuPJbND"h!i,NuPJbND"hfpNuB@NuPJbND"hfpNuB@NuPJbND hNuH<*H$IPJbND INJ@fT&j JN(v JN(H"L MNSrJ@f"yQ AlNDXp` JNpJ@gBC` JNJCf%KB@L<NuH8&H$IPJbNDNlJ@gp` JNJ@f <4NY"R#H,!R0$` <4NY$B0%R%R <,"K RNX RB, 9f KNT rgIQp+g82* g T hA0<N"K0< T hANRj `>0*g T hA@0<N"K0< T hA@NRj +ѪB@LNuH8&H$IPJbNDNNJ@gp` JNrJ@f <4NY"j#H0!j,%H` <4NY$B,%R%R <,"K jNX jB0 KNT rgIQp+g82* g T hA0<N"K0< T hANRj `>0*g T hA@0<N"K0< T hA@NRj +ѪB@LNu/ / $HPJbND"j&i0 INX%K&_$_Nu/ $HPJbNDNV JN JN.J@g$_NuH.O(HPJbNDMQC nNDjN`V$H6.`0H yaJ"h"qANSANT (Spb* 7\@fB7@ApN`6\@`&pAN`6`pe"nANDX`p,"JANX ngd"LANSpbDr/g"B7@Ap\NSV*HRM\@ rg`p\ANSV*HRM"MANR"NANhR@f` "NANAN:R@g BNR@f rpNa jN jNh`0* gNR@f jNAN`F0*J@gS@g`0g.`0*g&`0*g j"j"i NR@fANp`N"B@O$_NuPJbNDANʆ#NuH4O$HPJbNDp\NSV&HRK"KANSCANRp. KNSB*H gRM` B@ KNSB*H/ "JANUXO gB@`$pNmVC yQ NDjB@NmVpOL,NuH S"h i\"P VgJC PNS` S"h i\"P Lg*C PNSpNmVrp S"S"ifNB@NmVp*gC S h ht PNS`P/*C S h ht PNFRXOB@ S"h(it TNSB(H` RL S"h it"PC cBp*g S"h(i T  gdCNS`: W0r h||?4J|?pP?C(S l(h TNFR\OpNmVrp S"S"ifNB@NmVp*g S"h(i T (sgHCNS` S"h(i T (lg(CNSpNmVrp S"S"ifNB@NmVp*g S"h(i T (sgHCNS` S"h(i T (lg(CNSpNmVrp S"S"ifNB@NmVp*g S"h(i T (sgHCNS` S"h(i T (lg(CNSpNmVrp S"S"ifNB@NmVp*g S"h(i T (sgHCNS` S"h(i T (lg(CNSpNmVrp S"S"ifNB@NmVp*g S"h(i T (sgHCNS` S"h(i T (lg(CNSpNmVrp S"S"ifNB@NmVp *g" S"h$i(R ,sgLC LNS` S"h$i(R ,lg*C LNSpNmVrp S"S"ifNB@NmVXOL<Nu/ / $HPJbNDp\NSV&H+gA`Bp\ JNSVRH\&_$_Nu/ PJbNDE R"h id"P KfCH PNS`CT R h hd PNSpNmVrp R"R"ifNB@NmV$_NuH8O6(HPJbNDNrEL0|gS@g S@g`G`G)` G=`GT/ CiANFRXO"KANN"6S@fNpNmV"yQ ANDX`pNmVC yQ NDjB@NmV0OLNu/ / O$H&IPJbNDNab6J@mB@`" JNf/C+ANFRXOA0NO&_$_Nu/ / O$H&IPJbNDNaP6J@mB@`" JN/C9ANFRXOA0NO&_$_NuH0O8&&H$IPJbNDN`$(fB@`GLpm& JN/CANFRXOA0N@`N ЀЄЄ"N^/C ANFRXO JNX"HANN"8S@fNpNmV"yQ ANDX`pNmVC yQ NDjB@NmV0OL NuH0O8&&H$IPJbNDN`(fB@`GLpm& JN/CANFRXOA0NT`N ЀЄЄ"N^/CANFRXO JNl"HANN"8S@fNpNmV"yQ ANDX`pNmVC yQ NDjB@NmV0OL Nu?/ O6$HPJbNDN`t6J@mB@`" JN/CrANFRXOA0NzO$_6Nu?/ O&HPJbNDB@Na 6J@mB@`" KN/CANFRXOA0N$O&_6Nu?/ O$HPJbNDN`6J@mB@`" JN8/CANFRXOA0NO$_6Nu?/ O$HPJbNDN`6J@mB@`" JN/C9ANFRXOA0N|O$_6Nu?/ O$HPJbNDNa6J@mB@`" JN/CANFRXOA0N(O$_6NuH8O6$H&IPJbNDr*f:B@N8J@f BA0 oN`JCg J0N8J@g0`v o/HBGL0J@g S@gS@g*`:pCYANTvI`&p CbANTvI `pCnANTvIB@*|Y@g Y@gQ@g*`:p Cv LNTvI `6pC LNTvI`"pC LNTv^L`pC LNTv\L JNT ("J LNTv RLp#*g(RLp*g*C LpNTvIp"*gC LpNTvTLp*g*C Lp NTvI p *gC LpNTvTLp *gC LpNTvIpC LNTvTLp*fdr oPA?4J|??0r h|?4(p j||?2(I|?th?C LNFRO B@ LNSB(H|g0pC LNTvZLANT (C LNTv RL RLBNI"oTI JNPpNmVC yQ NDjIrp T"T"ifNrp T"T"ifNB@NmVB@OLNuH<]O&H(IPJbNDEKLHW"J KB@NXOS@g8S@gp+gAN:S@gS@g`"K L"+0NDS@gS@g K0NS@gS@g09PvgfApN`6J@fVCANN"S@gS@g`>pNmV"yQ ANDX`pNmVC yQ NDjB@NmV`P"JB@+ANPS@g`S@g8r0AN`C L"+0NnS@gS@gC JNS@g,S@g`p`$pNmV"yQ ANDXB@NmVB@\O$_NuHO*HPJbNDGQ kfAN& KNbv KN(HNT rb0+gt,fANR@g0+J@g S@gS@gV``"M LNR@g`Pp,g"M LNR@gC LN`0,f LNR@g`"M LNR@g LN&R@g| KN2J@gBC` KNJCfD kfHANxJ@f>ANvAN(HNR@fAN`.ANJ@gBC`ANJCfANC kNDjOL8NuH8QOPJbNDIQ lNE"jNNl f&rpNa lNh"lANDX`@B@NmV0,Tg R"R"i NR@g$AND lg ,gNY&H f LN&` KN LN lg ,g KNX0,\g yaJ hN`pNmV RNB@NmVAND( rANʆ$ g"h N$_NuPJbND 9>g @Nh`:"y\N 9>f(rpNa yQ Nh"yQ ANDXNu?6PJbND y>ND|fB>6NuPJbND y>"y>"irNNu/ PJbNDEBANʆ$ g"h N$_NuPJbND 9Bg @NhNu"yN 9Bf(rpNa yQ Nh"yQ ANDXNu?6PJbND yBND|fBB6NuPJbND yB"yB"irNNu x (( hl0(A`,H|fA<  @#Q<#Q@ PD#Q4/|3 yQ8N yQ@ Q< yQ4N!QD|NuH"yQD yQ@ Q?E?C?CAr"R0)NhPOL 8NuH0QO8:6EaJ RhodGQH0@|g Sg062< R0(NeP` SUUg6UU2Ar"R0)NhPOL 8NuH6YO yaJ"h@&iBCKEQJ`>|lD0HЀ yaJ"hT81HW"M K0NiXO yaJ"h@0)4U2)6W0H$ԂԀ s(g s!(f2H ЀЁ43|g s ,P`2H ЀЁ,s 0n2I54n50nnS@54nnSB5 0n54n50nn S@5 5`H0H5520H$ԂԀs(SA4J5 24H ЀЂsSA0H5BrRC yaJhFmXOLlNuH(O?@?AEaJr R0(Nfr R0(NejBBBA R0(Ner R0(Ne6 R>?h 0(h S@?@2( hSA?AA"R0)rNf0<Nl,IQJBC9C`8|l:0H tf:/t/t8/t2/t ?A Rh l~h Rh lxh 42/ 0a^420aT42/0/ aF4/ 2/0a842/ 0a420a4/ 20a4/2/ 0a`Z:/0Ht/t8/t Rh l~h 420a420a420a8420a.RC RhFm‘0<Nl,ABA"R0)NfBlOLNu yaJBhHNuAaJ"P0)HiFmpNu"P0)HRiHHЀ"P"iT01NuH0UO$H6GaJ S@g N: S!J@p4H"ҁ҂ jp fN"S0)DiFoBr0H$ԂԀ犂p( "jf J0N S0(FRhFHЀ S"hT3>Cp J&jNTOL NuHCp J*jN` SCTLJCn\TOL<NuH0EaJ R&h@0(FoPBC`40HЀ R"hT81RC4H ЀЂ k20 |"kf K0N RhFmBhFp K$kNL NuH8$H6:8(IH$ԂԀ&jk0kS@lmplnhk0kS@QmXlnR2<kfHtk f@0+| g0a`.<+JFo&"L420 Jaz2H ЀЁ j<0FfLxNuH8O86Nm:N $H gGaJp Shffa S h?l0lS@?@2,lSA?AC4*62*4 JB@az S h<>/H$ԂԀA(hm02(hAl$hm4(hBl0<hfrh gp`N8(JDkD0o@hhz?4ro0 JaTOJ@k:2H ЀЁ82DfJEk0`0TOLNuH YO$H6<:8/ J@f ?B@a4TO`40 JN>HWC JNiXO0W?4o2 J0aTOXOLNuH?|?h0(h S@?@?h 2( h SA?A 2|?I ?I?I?I?I?I?I?IC$k KpNa8B&0/VHH@?@ 2/THHA?A?oV:K8:T yaJ>(fpGg|G0@?w 4/H"ҁ҂ҁ yaJ hPO>/2pGg|G0@2/w g(?w 4/H"ҁ҂ҁ yaJ h?j ?j ?jN>*H0| |(b8@0;NR,,,,,,,,,dr~::::,,,,,,$,,,,,,,,2*0*Nd`C K(kjN` K"knN`gpkTg K"krN`p K(kN` K"kvN`0* K"kzN`z0* K"k~N`j0* K"kN`\C K(kN`PC K(kN`Dp K(kN`6aP yaJ1|~`$ g MNh` MaB` J"yaJ"iNNPOL<NuH>YOEaJK0-fr R"h&HHWHoHoHor B@Nl^O0/N (H f2+ j "k KN`"RC RAf,R,nN0f R hf h ff:`0f" g R2(0(f LNeJ@g0< R"hPO02/@|fJFnJEgJEgJFn R2(d0(bN=POL$HGaJB@ S1@d S1@bIB@8 S1@: SHhHhHhfHhHhd"(2t??(4BgBgBgBgBgp???(d?(b??("HCbA.*S4-p7rNi8O.6r@g W)f JaLa`pNmVpCgAaJ`pCg S2(0(apCg S hfga SHhfHh"HCdAbNl>PO S0(frCgaaNNZN0 S!JX S hNB@NmVN` S0(6g2f S0(~g S1|:a^Nl^OL<Nu/ OC#=EpQ"yaJ$i<0*|g` y#NgVE$0r `|w4B|w 0@|wrPwB*"JA*NN"3#NO$_NuNC yaJ0(6f2(~gNC NupNNuA!NUNuNuB@Nu/ / EaJ&R7@&R'H&R'INgJ@fNJBNjB@`Njp&_$_Nu/ EaJ$cNC#P RANS R!|2 R1|6 RBh8 RBh: R!|< RBh~ R!|t R1|D R!|aNT RBh RB RB R!|L R!|L| R!|LP R!|K R!|L R!|L R!|L R1| R!|L R!|L R!|L R!|Lp R1@ R1@ R$_NuH06&H$Ia"J K0aL NuNuPmhm4hBl 0(h@mB@NupNuH8O&H(IE` %f +sfTK`fBp"L JNT6"K JNRApNjOLNu/ O&HC#dANS"KANRC#iANRApNjO&_NuH4QO*H68"yaJ$i\H$ԂԀG(A"J0Nv +!f 0 MN`R|gk f ?/?/?/4/r0 JNi\O`&p???/ ?/ ?/ 4/ r J0Nj,O POL,Nu/ $I?*?*?*4rB@ yaJ h\Ni\O$_NuH>O$H(IGaJ S!J\K 0nr JB@N~:`:BT0nBUvM `@0g2@g8BUt"NBA JNj HWHo SHhfHoHhdBgBgBgBgBgBgBgBgBgBgBgBgp?"HCb4rpNi8O.8r@g2BD2/ S0(f JN~hJ@k:"Mr JNj6`p Shfg2/A|f"J hXNVJ@fHo"M4/20 JNjXO6r 0H$ԂԀr(g0Uo:p4H"ҁ҂rg0/J@g|K4g|gF`ft"NBA0 JNj 2H ЀЁ r /P"oBt"NBA0 JNj o`4t"NBA0 JNj t"NBA0 JNj `t"N2/0 JNj pDg~ S?(d4(br JB@NiTO:R@fNBU WfBC`R:* p S"hPOo:o80/:2*AA:4/88*DD;B`pj:rj;Apj;@rj;ApNmV"SPI MNWrpU5@rm5A MNw/H"S?)?) ?) 4)rB@ JNi\OBDC Ja8H"ҁҀ42| fxI0,|gh$gdr 4H ЀЂrfP S!J\ S1D` SBhh TNp4H"ҁ҂rgpr g22 | S hX0a S0(hgl2H ЀЁr "M oNxJDf 0* |@fR2H ЀЁ42| g< S?(?( ?( ?(?*C M4*2*0*NkO YUYm` SBhhpNmV S"hX#oj S"hX#of S"hX3CVpC S hXA4NXA a0OO,H$I*oHNC ANm6 Jp\NSV&Hg" f8N`H<A|:B@ANa>C#o JNRp\ JNSV&HIC LNS *fBC#qANS"M KNR yaJ"h0|g| g|g`Ho&"L JNmnXO8`/Ho*"L JNmPO8JDgv0/&gngj *:fb LNT r f ,.f "M LNRp. LNSB fC#r LNR"M LNRp\ JNSV&H"LANS,J`A0Nm@NI NO(L|Nu0Ql00(il1i0h2iAoh00(h2)iAoh1ANu0h2iAl`0i2(h4)iBl`2)i4Qo`404(io`4)1B2@1I0h1@2(oJ@n B@1@1@Nu/ O&H"yaJ0)6gCANS`*ANmbJ@g*ANT 7\gC#oANR"KANR` "KANSC#tANRAO&_NuH8$H gư%PgG$ f"dfe KNNvlANNv`oA"NNv`r(Jp" g A8NNv`Z l ng AMNNv`: *#z yaJ2(6f4(8g JNWt`N4L JNWtN4dLNu// & yaJ2(6f4(8g NV$H`N4L NV$HN4d fA*SpNj`( *ѹ#zf"dfe A$oNNv J$_&NuH8$H gа%PgI$ f"dfe AvNNvlANNv`oANNv`z&Jp" g ANNv`b l ng ANNv`BG$ Sp n <a(H f Ja`(B& S (R S!LNu/ / E$` R ( pa R (SJn RB R&P ga$`&_$_NuH8(H$I6H"ҁҀAt hf6rh f.G0+|g $gAaJ"P#LX"P#J\"P3C` SNLNuH $H:0*H$ԂԀ42(H"ҁ҂620*H"ҁҀ82` 2H ЀЁ622H ЀЁ82Ef0L8NuH0QO&H$I68^f2ANv2H ЀЁJDgj `j C K$kjNPOL NuH6O&H$I6 Ia88r"J K0aHWHo CANl>POp2/@|?@MKzBo 2H ЀЁ?r?r"J M0Nv0j4H"ҁ҂牑rBU0-j4H"ҁ҂牑rBm>m yaJhh JGo2H ЀЁ爟rU>-m yaJh hJGo2H ЀЁ爟rm MNw/H?-?-?-4r0 JNi\OpNmVHWHoHoHo HoBgBgBgBgBgBgBgp???/.?/2??/2C842pNi8O.>pNmV?/4/ r0 JN=bTO<@f|Fgؑ0<Nl,0/ g>4H"ҁ҂r p?42 |??.?.?. J0BA4Nj,O JFkpp4H"ҁ҂r f\"J N0Nvp?r0H$ԂԀ犂r( ??.?.?. J0BA4Nj,O 2H ЀЁr ?| `Bo 0<Nl,:JFj?/4/ r0* JN=bTO<J@kHWHo CANl>POp2/@|?@Fg`4H"ҁ҂ 2 fL"M oNx2H ЀЁ55"J K0BAa60 Ja.8r"J K0a`FgpGg"M oNx2H ЀЁ55N~JFo6jg0jg*2*H ЀЁ爼rgNl^0"J KaTNlBA0"J KaO"LlNuH>O,H:IKHWHo"L MNl>POp2/@|?@?|Bo 4H"ҁ҂<6JFkn`2H ЀЁ<6Fgp4H"ҁ҂v gغFg@2H ЀЁ462H ЀЁ爕v0H$ԂԀ26(0H$ԂԀ犓v(G0"N KNv0j4H"ҁ҂牑vBS0+j4H"ҁ҂牑vBk0k yaJhh ?@J@o4H"ҁ҂牑vS0+k yaJh h?@J@o4H"ҁ҂牑vk KNw/H ?+?+?+4r0 NNi\OEpNmVHWHoHoHo HTBgBgBgBgBgBgBgp??????/0"M42pNi8O.?@ pNmV?4r0 NN=bTO<og 2/ gh0/H$ԂԀv( 0<Nl,p?4/H"ҁ҂06 |??*?*?* N0/BA4Nj,O 0<Nl,JFkFgp4H"ҁ҂v ft"N J0Nv0<Nl,p?r0H$ԂԀ犂v( ??*?*?* N0BA4Nj,O 0<Nl,2H ЀЁv ?| `Bo ?F0/ g4H"ҁ҂ 6 fz66C>6JGkjvfd?4C N0rN=bTO@fL2H ЀЁv=Bv N0a84H"ҁ҂vJ@kvEg NN@fdJFjT2H ЀЁ>6`60 NN6?4r NN=bTO8J@k@f2H ЀЁ>6JGjJGoJDj po g8"K o Nx0O$L|NuH0O&H$I?@?AANR@ JNt0/j82/j2HoHoC"A$Nl>PO yaJ0(@o2(Ao5o5oB@ Jap6N~JCoNl^0"J KaNlJCfvANR0OL NuH068N>$H&j^Nl^|f yaJ hN` 0"K Ja2Nlr0 KNk(L NuH0QO$H:6&j^$ gf>?k0+j8l`0*8?@?k20ANMJ@g22+H ЀЁ83?4 K0rN=bTO:@l"K JaPOL 8NuH0YO$H6?A&j^$ g KN~h>J@kt4+H"ҁ҂:32H ЀЁ<30+H$ԂԀ>3(680 KN6J@k,kf`(2H ЀЁ<32H ЀЁ>3Ffp`^GfNl^0* f$BA K0Nk(0"K Jar0 KNk(`"r0"K Ja~0"K JaBA0"K JahNlB@XOL NuH $H6*"yaJ2H ЀЁ5 622H ЀЁ820H$ԂԀ r( NT *JEgRE0 yaJ:4H"ҁ҂牚rr4H ЀЂr<*0H"ҁҀ<22H ЀЁ82Dg22H ЀЁ<22H ЀЁr0H$ԂԀr(`LxNuH8OEaJNi R0J@k3$G RHhHh"K KNkPPO R1@ R1@ RHhHh Hh HhrB@Nl^O R"R3hIHT"RCA$NhLXO R1l R1l Lr"R0)NcR R1l R hf1|` R hf1|r L"R0)Nb R1l  R1l R1l R1l R1yPH6 R"h igp`B@ R1@8 R2(6g"HCANmJ@g R(HB("RC RANSp/ RANSV(H gC RANSB"RC RANSp\ RANSV(H fH"R ):fC RA NS RB(`8"RC RA NSC$ RANS`RL"L RA NSBp. RANSV(H g\B`X R hHWHS"K KNl>PO0g0pNmV R"h"R#HXN6NlB@NmV0OvLNu/ O09$gpNmVNŨNkEaJ R hNB@NmVp R"h j0Nl,$_NuSyf(f09f&f y%09%Nl,Nu09f&Ryf&J@f 0<Nl,NuSyf&f0<Nl, y%09%Nl,Nu?/ 69f(Byf(0%!y% yaJ$h j0Nl,$_NuH>UO(Hv$Hּp JEhg NY&H g"L NXBW$K*J0*|f2* | f*H|| bB4; N V,zzhzh j Ns*H%H `^ j NtL(H*L%M ,g C,@ JpN Wf6`8 j Ns*H%H `" j Nq*H%H ` j Nt*H%H f`p JEhg, KTOL|NuH<$H g&J0+|f2+ | f+H|| bpB4; N P&fDfD\D\ k Nt`@(k ,g K*@pN LNtx`" k Nt` k Ns` k Ns$p KGhgZ JNZ L<NuH4O&H$I"yaJp yaJ(higZ6+HBB?B?B?B>BD`0?D?D :HBF`0@HЅ"ҁ o4*S?F ?F <t2@gBG4@gRG"ҁ4@gTG"ҁ4@gXG"ҁ4@gPG"ҁ4@g|"ҁ4@g| "ҁ4@g|@"ҁ4@g| yaJ hl||l0@A%R>0` ~ yaJh3f*3f,Hyf*/ C%tAr*yaJ0-NcPORFjmRDjm`"J K*yaJ0-NdPOL,NuH"KpNX SNt$ kNt%H kNt%H g "*g$f` J&_$_Nu/ $H g$ jNt jNt RNt JNZ $_Nu/ / &HpNY$H f`p"K JNX J&_$_NuNZ NuH0$Hg,NT &R NY&H f` "J KNX K`A%PL NuNZ NuH8$H0* |fj 0*|f2*|gxQAgUAg ` JNuB@ JNk0*|g j &P`&j 6+k0+k@l6jo5C6+k0+k @l6joR5C`LB@ JNk0*|g j (P`(j 6,Kjo5C0*ll5l` B@ JNkp JEhgLNu/ 0(|g$h "R`"h $yaJ jo$j R0o )"g1|!$_NuH8&H$I6H"ҁҀAB@4(|| bB4; N &&N4&& ( rHD@`"h 0)D@`rprhgp2(|@gZp`V"h (Q"fF )r||o|")t|JAo 4(|@gRAth[BfRA4@0`pJ@jB@rh g|lp2(|@g|lpBAt h gJ@o2A`2DAA4(@64(@7B4BhA7B4BhA7B82H ЀЁ62|g"0H$ԂԀ犸r(f82(S82(k`LNuH4O$H0jjBP0*jjBjGaJ0j Sh J@oj0*j Sh hJ@oj0?j2j|?A4*jSB?B2*0/WR@N*H gPBoBo 2/W?A tj?B0<Nl,/ "SCjAr$S0*NcXO0<Nl, MOL,Nu/ / O$H&I f2?+?+?+??+?+4+2pNjXO NI`0O*H&I?@ 6E 2H ЀЁI4<lfpl fJCgl@ `l plgvHoHo HoHor B@Nl^O0- o fNrmVg4-Rg>N"Jp M,mN;R;|0-"KAarC MNrB@ MNB0,| gDJCgrlgN:0"K Ma`pl g M0N9`0 MN9>`pDlfrlg|tl f K0N6H"ҁҀ83`>p4H"ҁ҂sgps g23 | M"mf0N2H ЀЁ83Dfrl 0 M"mfN`plgr4, A M"mf0NOL|NuH+k0"KANv7G0k2/koj8l oj:mJEgC JNNI2H ЀЁ s *P4*j MNT 5@BjV#%>+?k0*4k0*6k4C20 KNj |f7G7oO L,NuH>O$H68&j$ g^2H ЀЁI|f8, l!f9D 0 JN`*?j4 ?j6 ?j8?j::* JEkM4<, >+>0k0.k0<Nl,KHmHmHmHUr 0Nl^O`C MNW0-gb0-nJ@jmm0-oHDf??-?-4r K0Ni\O`(9F p???-?-?-4r K0Nj,O HmHmHmHUr 0Nl^O0-nj0<Nl, j1G j1W9D OL|NuH0QO$H6rjVg"yaJ"i\ANv`0"jANv0*4W2*6oC J&jjNPOL NuH3(4H"ҁ҂ sf67H>+4H"ҁ҂23H ЀЁ2H$Ԃԁ7(?/?/?/4/r0+ KNi\Ooo0/o??/?/4/r LB@Ni\OHoHoHo Ho r 0Nl^O0/n 0<Nl, j1D j1EO L`2 <2*@HN_BT@>` <2*BHN_BT@>?WKI 6+8+0/ |b@0;N 0@P`pJDg0*:k`nDg0*:k`^JDg0/k`NDg0/k`>JCg0*8k`.Cg0*8k`JCg0/k`Cg0/k0+oBkko7E0+oBkko7F0+D@2/DAAD@7@4+DB0/D@@DB7BSof JN?W20 JNvHTHU"L LNl>POpUf0/Wg JNOL8+:*8<*:2jkp2)jkpil5i8pil5i:p2ij8JAokp2)ij:JAokpJ@g(j^ g4,H"ҁ҂64`BCHj*Hj(0*:C??*82*6C?C&A$4*42*"B@NmO0+D@2*H|AD@7@2+DA4*HBBDA7A JN0+Wfkf j8fj:g\jV?**?*(?*&?*$r0* NlPO yaJ"h Qo Ql JNNIpjVg C$ J&jjNTOLxNuH0&H$Irp IN~62<@ JN~8J@j2<@ JpN~8JDoRCgNJCk2H ЀЁr2H ЀЁr K0a 4H ЀЂ22 K"kf0Np`B@L NuHO$H6* JCk8"ji:iG0<jTfxj8lp2*8DAAofj:l`4*:DBBoVHkHkHkHS0r Nl^O0+gj2+gbHoHoHo Ho 0r Nl^O0/f2/gC4 J(jjN`(IaJ"TPI KNWC4 KNW0+g2+gK0;@:2+;A ;A0kS@;@ ;@2+kSA;A;AJDg(JDoUm pm 67D`mm0D@7@JEg,JEommpm7@7E`mm 0D@7@0mnP2-mnF M"T0)BANf0<Nl, THhj"HCj Mr,T0.NcXO0<Nl,"K J(jjNO L|8Nu09%Ry%J@fBNa#f.NpAz4"P3f63f23f43f83f:NuH6:x@D0 yaJHЀ2HN^мNY g0C 1C1E1DBh "yaJ1i BA1A1A1AL8NuNXNuNu/ / $HG%0+fa NlNa#f<#f@!|*p"| RNaAz40*@ "P3@"yz03@"P3j"P3jpj"P3@7@rj"P3A7A K"yaJ0)rNf&_$_Nu/ / Ef6Az40"yz03@"P3@"P3j"P3jG%0*"P3@7@2*"P3A7Ap"| jNa j!j  Kr"yaJ0)NfNl&_$_NuH|lgn`|dgn4|gn|gW@gv|gt`z|ag\S@gXS@gT`h|e|b^@0;N>>>>>>>|m| b<@0;N `` `RH`HNuH>O><$H?BI%0<ogZx",f"Hx"| |NaXO)P)h ,g2/| @0"l1`B<amJ<znD`/BD<am <znz`(<Am<Znxz `Jo< l x<`<@H JNSB&HH JNSB g"gd&HKaJ ggB+BA U0(NeC J,U0.NbJ:/WTBg8 J42"U0)Ng2 U0(NeC J,U0.NbJ6/W`2 U0(NeBC|fSC L42C"U0)NgBA U0(Ne+g * g @Nt%H * fdA%Nt%H `R K%P0(H%@`@ j Nt`4 j Nt KNt%H `&j gr0* K"kfN`B@`p&_$_NuH8Gj `:*?j>* 8* ofԺ|fpjgrªgG `G `pgG p`G!,B@?@ ?@ ?|?| ?j pD?@rj ?AtD?B#%Hy% THhjC%A*T0-rNcPO#%Hy% THhjC%Ar&T0+NcPO`BvEC|lv|oF|l|0@@2/AA4/g zjfr T0(NfBA T0(Ndr T0(Ndr T0(Ndn??42 T0(NgXOpg^r T0(Ne6r T0(Nejr T0(NdBBBA T0(Ne?<BgpF?rC?4 T0(2Ng^POpjgHr T0(Nfr T0(NdBA T0(NdpF?rC?4 T0(2NgXOABA"T0)NfpjO&L>O$onG:IaJ0*f2*g867j0*jS@7@2*jSA7A K"T0)rNf` KBA"T0)Nf T0(@j 62(Aj 7A4jSBh7B0+jS@h7@.6*4*CJCfn0(rNf0/H|fBA T0(Nd`Br T0(Nd0/H|_@fr T0(Nd`2/I| T0(Ndro T0(NdnBA T0(Nd0H@W@f,RSRkSkSk K"T0)Ng SSSkRkRk` K"T0)Ng r T0(Ne6r T0(Nej2/p i| T0(NdBBBA T0(NeM&0H@S@g2IAUAg 4JBWBfv0H@W@fBA T0(Nd`2/p i| T0(Nd0=@=@ <2+=A=A=A0+=@=@2+=A=A N"T0)rNh2/p i| T0(Nd0H@U@g 2IAWAfLpS=@=@ N<*oFj `^<* jo Th`J<* Th`"<*oFj `<* jo Th0* j Th@`<* Thj 4 o20apCf rjgz0H@S@gS@gS@g`TSTkUkUk`RSRkSkSkr T0(Nfr T0(Ndr T0(NdnBA T0(Nd K"T0)Ng KBA"T0)NfpjOBL||NuH?>O$oxG)|JGg ootD ohfr`BA?AJAgU@To2* @64* @7B2* j@SA7A4* j@SB7B0*2*@?@J@f.$/Dļf T0(rNf0/ g vpFCzF`6/FK|zoFJGgBCJCfBA T0(Nd`2|fr T0(Nd`r T0(Nd2 T0(Nd2 T0(NdnBA T0(Nd K"T0)Ng JDot:/FM|0/ gJEf:<FEJEf0|g WaJEgr T0(Nf`r T0(NfK /D@g0 T2(0(NeHo Ho"M M,T2.0.NfPO`. T2(0(NeHo Ho"M M,T2.0.NfPO"M MtBA,T0.NeBA T0(NfBA T0(Ne2/FI| T0(NeC W*T0-NbJ0/o?@:*o Ej "/Dt|JAgSAg`6`6+oRC`6koCRC4/ W20a*JGgv:`:/Fp m|6/DK||0/gt2/gEgh>/JGjDGr T0(Nfr T0(NejBBBA T0(Nepjg02/ g4|g| g<0|gJCg02 T0(Nd`N0/ g:2|g| g 0|g$JEf r T0(Ndr T0(Ne6x`2 T0(Ndr T0(Ne6BDK(0;@:;k0+;@ ;@;k`0/g|lBA T0(NdSURmSmSmRmSm JDgL2/JGjDGpjg02/ g4|g| g<0|gJEg02 T0(Nd`N0/ g:2|g| g 0|g$JCf r T0(Ndr T0(Ne6x`2 T0(Ndr T0(Ne6BD:0+;@;@;k 0+;@;@`0/g|lBA T0(NdSURmRmRmRmSm JDgL2O$oFIaJ0*f2*grjSAgSAg`:*WEj `:* jWRE`:* 4 M2* D0ar T0(Nfr T0(Ne6r T0(Nejr T0(NdBBBA T0(Ne?j 0* jS@?@ 2* j?A ?AA"T0)rNhABA"T0)Nf0*OL|PVl|k` zjDkzjDk`ZzjDk`8zjDkk`:k` 0*Bk0*Ck`0*Bkk`0*BkkJDgr T0(Nej`r T0(Nej2IA| T0(Ne64JB|B2IA|0A T0(Nero T0(Nd Kr"T0)Nh KBA"T0)NfpjO L2* ?A?A?A0* jS@?@?@2* jSA?A?A A"T0)rNh KBA"T0)NfpjOLNuH?>O$o^2*H ЀЁ*R*m &m KNT &0* jS@?@2*f,4*f& yaJ?h&?h (?h *0( h?@,`?j&?j(?j*?j,po&o*po(o,0/,oo?o,0/,o(m@A&r"yaJ0)Nf:* /j r yaJ0(Nf"/ p| yaJ0(NeBA yaJ0(Nf./ |?2 yaJ0(Ne0/ |?@J@f yaJ?hIHoHo"L L2/*yaJ0-NfPO"/ p| yaJ0(NeMHVHTHo$"L L*yaJ0-NbO 0oo?j ?jrGg4*ooRERoUoToTo0/nn>"/ t|?AJAgSAgSAgDSAgl`0.o`^pjnorGgUo"L Ltr*yaJ0-Ne`D0*nn@o"L Ltr*yaJ0-Ne`"L LtBA*yaJ0-Ne0/n?|0H?@|o?| om*IfD>/Gl>p| KNSB,HKp gdn8g< gSMSD  g -gJDnJDo.  gf<`|D0H"K LNTvB4`pD@`<0H"K LNTvB4pǖG<`",JFo0H"K LNTvB4`pF@gF of&Bgr??/ L4"yaJ0)2/ Nh\O` L42/"yaJ0)NgoJCoomA&BA"yaJ0)NfpjO.L|NuH0$H6&I j 2|,|bA2;N4Tt0H"¼t$(ļ!A`0H"¼$(ļ!A`0Hr€t$(ļ!A`~0Hr?€$(ļ!A`` (?@!@`J (?!@`4 (?!@`$ (?!@`"K0 JN`pL NuH8>O$o8GIaJ0*f2*g867j0*jS@7@2*jSA7A K"T0)rNf` KBA"T0)Nf0*2*@f0*H$ԂԀ R h *hrj 6tj 7B0* j7@2* j7A T0(rNfBA T0(Ndr T0(Ndnpm g& T2(ARAkRSRkSk0(BANd`r T0(Nd K"T0)Ng 6* ThCj r0(NeBA T0(NfHoHoCA,T2.0.NfPOr T0(NeCAtBA,T0.NeBA T0(Nepm f T2(ASAktk60(rNd K"T0)Ng r T0(Nfr T0(Ndr T0(Nejr T0(Ne6BBBA T0(Ne8* j Thph@@A&42"T0)Ngp jg>6 2* jRA7A7A4* jRB7B7B7j Kr"T0)Nh grr T0(Nf8*H TUDJDjBD0H/ UNT "d& U.B U4rj "T0)Ng W` U4rj "T0)Ng KBA"T0)NfpjOL|NuH8$H&I PNX(KBC`RLRCHA'NSB gpCHNY(HJCo 0H"KNTvB40$j LNug<]fRH |f |fRHNuRH`Nu/ / $H ja&Hf&j` Ka&H [g%K"K JaN&_$_Nu/ $HB%|&aBj $_NuH8$H(I PNT &&jBD [g$0H"K RNTXJ@f30g<|f8`RDp| KNSB&H f8`RK`LNu// $HvQ%|&` Ja20SCJ@n$_&NuH8YO(I$h &j2|gn|b:A2;N.,| g|gSAgSAg`pNY&H gBrB@NZ * g @Nt'H`A&Nt'H +g%K Ka`8` jNZ `"L Ka` L'P'h7h`(`zBk . glrk gk r0+ W"W"ifNBk `H"L Ka`>"L KaN`4 kNZ LNt'H fZA&Nt'H`FB@`pXOLNu/ / &o $H2` |fRQ ]f *|gRQRJf$HpQ6` [fRSRJf&_$_NuH>QO/H$I?@,o48>2H$Ԃԁ(HpW8tW9B9|9|9| )| 9I9I9oBERR<`>2H ЀЁ*oRR V [f4;B;B;| vR`p;@;@;|BC V?j0*jS@?@2*jSA?A`( U>?h 0(h S@?@2( h SA?A0j l> 0/j l?j 6* jSCol?C6* jSCol?C0onX2/onLA"U0)rNf8+:+pg~BA?A>tD?BrE?A<* `N>* `:?G?F 0DS@?@ 2ESA?A UHhj"KA(U0,rNcXOD0* j@mE0* j@m`B@?@>6*DJCorD?A0@j ?@`pj?@?j 0/o?@ 6*EJCorE?A0@j ?@ `pj?@?j 0/ o?@ UHhj"KAr(U0,NcXOABA"U0)NfpjOLO$H&j 2+0+N(H gz0,HЀ2,HN^&8+ : yaJhJEk47h 0H"N^A&"L yaJ0( KNdP7D `2+0+N,H f LN"p`|fp=| A&"N yaJ0( KNdPB@?@ ?@?@>rn?A ?Apn?@?@Hy'/ "NAr*yaJ0-NcPO`^=| 0H"N^C VNX0D@H"N^"/0H"N^ VB@"NZ"L N*yaJ0-NdP NN"%Lpf 'L'|B@OL|8NuH8YO(I$h 2|gnSAg"SAgvWAg`| gv|gP`p NY&H g*%@B. "gtĪf"A )f JaR@ff8`` WR%h`R Ja%L`F jNX Jal`4&L j !k1k`&j(S gr0+ L"lfN`B@`pXOLNuH8I' 0,RlJ@fEaJAmJ"R"i<0 "R0) "i$HBgBgBBBA0*"NlXO6|lJ@j^G' 8IgJpS|6H*t2g8$ g4pmTf, MNϞp M,mNBgBgBBBA0*"NlXO6`SfJCk |n0`A+ pNjpL|Nu/ B@CiJA'@2io BPJ@g`R@2I$qRP" g J$_NuH<8(HEiJ6*`0H&r" g "L K*k0NSCJCjL<NuH8EiJ6*`R0H&r" gDt kVg<kV4+ k$kV K"kNpkVgC$ K(kN`kVNZSCJCjLNuH&H <NY$H <"KNX *g @Nm%H gfNt *^g0 @Nm%H^ f jNn`> j^Nt j^Nf *Zg0 @Nq%HZ f jNn j^Nn JNZ ` *Jg @Nt%HJ *Ng @Nt%HN5|V5|X5|BCGiJI' KaJ`t0H"3fhko7C0H'"gtjTg"J A,A,npdN0*$ U5@$2*& U5A&0*( U5@(2** U5A* J`RC|mA+spNjL|Nu?/ 6( JCkZEr0?A?ANp yaJ"hr0?A?A?**?*(?*&?*$?/4/2/ 0/ NkO 0NmJ0NlNI yaJ h89h9h9h0+jDf 2+jFgjV7jD7jF`$01l1l1lpjTg2 yaJ8 yaJ9h  yaJ9h  yaJ9h`0*H|2*HA4FBkk0F@kkHlHl?+?+BgC"A"2*"B@4NmO0l yaJ2(h Ao8.^ g @4(H"ҁ҂20l0,l yaJ2( hAo9h 5kD5kF0+f2+gjVBkBk jVpjTg JN JN?,?,?,?r0* NlPO yaJ"h Qo Ql Ja4pjVgPr@ yaJ"h?|?PBo?j ?T ?l?l?lA&yaJ0rNi NIpjVgjVC$ J&jjNNOLNu/ / O$H0* ojVG$67i7i7i0*gjVpjTg JN JN?+?+?+?r0* NlPO yaJ"h Qo Ql JapjVgLr@ yaJ"h?PBo?j ?S?k ?k ?kA&yaJ0rNi NIpjVgjVC$ J&jjNNO&_$_Nu/ $H0* o@jV5Q$5i&5i(5i*N?**?*(?*&?*$r0* NlPO$_NuH>O$H?j &j(j^0*H|?@2*HA>F@k4/kFAk0kBF$ g0,H"ҁҀ<4>*$8*&6*(:**Ho Ho0+F??+BgCABB2*"B@NmOo l0`0/ 6o l2`2/ :KaJ Uh l0` U0( 6 Uhl2` U2(: Uhl0(`06 Uhl2(`2:MmJ0.o?@2nCAl4`4nC>0.nE@l2` 2.nE8Vl0`0>nl2.`28 U0(h hS@Gl> U0( hhFDl8Ho Ho???CA42*"pNmOo 0/o2/oWSAWoF?Ao 4o & g0:,H(؄؅H 2/ Uh9A8/FSD9D5o45o65o 85o :0+o o?@2+D@@l7@:+o W0+2DAAl7AHj*Hj(0/F??/2/F?C&A$4/2*"B@NmO0*"|gr jTfBC4/o 8+H 눐ЄD2HN_B&jg5C>0/oBgBgBg?r NlPO2/ H 눐Ё2+HN_B&jBg5CB0/oBgBgBg?rNlPOOL|NuH8QO$H0*(ygDo`09gD?@GaJ0*"|g S2(o0*H|o?o(j:,BFJEo4H"ҁ҂>4804?@>`0<4H"ҁ҂tf\6toolg0D@80oWBF2H ЀЁ爼tl<42H ЀЁ99oo?C8G2H ЀЁ:4JEnzW9ovj*pj"g Shpj"g Sh0*"| g Sh *^g @4(H"ҁ҂牖p0*H|C@d`09@jVPOLNu/ $H2UAg` Jap`B@$_Nu/ / &HE'B g0 yaJ2(6f4(8g RNa`N4L RNaN4d$&_$_NuH8(HEaJ R0(6f 2(8fN4LB LpNaXO(@GJk ACS3g LNa R0(6f 2(8fN4dp`D", ҬҬҼ LB@N` R0(6f 2(8fN4d(k'R'|'F NB@LNuH?>O$oJ2*H ЀЁ R/H*h (m pl&f2(lFf 0(lHg oNpl&fv`BCpfx`BDK;j;jMaJ0-f2-g,:;jpUmpmm Mr"V0)Nfr V0(Ner V0(NeBA V0(NfCAtBA&V0+NeHWHoCA&V2+0+NfPOBA V0(Ndr V0(Ndr V0(NdnG JDg0 V:(E<*hFj RF0* 7@7@rjk`( V:(<*hFj 0* 67@rjkJCf pl&gJDg0* 67@k`0* 7@7@kr V0(Nf K"V0)Ng r V0(Nf ,fr V0(Ne`BA V0(NeJDg A)4"V2)ASRA0)Ng`A)4+2"V0)NgJCf pl&gJDg0* jS@67@S`0* jS@7@7@kr V0(Nf K"V0)Ng r V0(Nf ,Ьfr V0(Ne`BA V0(NeJDg A)4"V2)ASRA0)Ng`A)4+2"V0)Ngr V0(Nfr V0(Ndr V0(Nd0,(gJCf rl&gzJDg>* E67G0,(k`>* E7G7G0,(kl.JCf2JDgmn6Uo:`mn(mo;G Mr"V0)Nf K"V0)Ng 0,,gJCf r l&gJDg>* jESG67G0,,S`>* jESG7G7G0,,kl0JCf4JDgUm:ml;G`mm(ml;G Mr"V0)Nf K"V0)Ng JDg0* El(67@rl*k`0* El(7@7@rl*kBA V0(Nd K"V0)Ng ,gr V0(NfBA V0(NeJDg:ANT V2(HN^~>,*@GAtF2G"V0)Ng`BANT V2(HN^~>*@GA4,*"ViBk2G0)NgJCgp oh grj 6tj 7B 6* j7C7C8* j7D7D"V0)rNfr V0(NdBBBA V0(Ner V0(Nejr V0(Ne6 Kr"V0)Nh MBA"V0)NfpjOL|NuH0$H j &h CaJpg Q6(8*2(AA:` Q6(8*0(H@: +2HN^"N_B7@*@o :@CSE7C* +2HN^"Ё"N_B7@(2k*@7A,JAk +Ыf 0+,k(Bk,7jF7jHk&L 8NuH8YO.(I$h &j 2| gPn,| bA2;Np&0|fgn.|gn|gSAg`X|dgSAg`F|ggSAgSAgUAg`(pJNY&H gC(pJNX%K `8` KNZ `p "LANTv0+B3`I` L'P<'h@7hD`k@&$k< g"+jB&l'C Wa +4fr`BA? +ft`BB0@gk& +48fr`BA?fp`B@2Agk&0+.k(lk&0+0k,lk &0+2k*gk&0+&|gr@k&fk&r0+D J"jfN7k(.7k,0'k47k*2'C8k&`'T'l"`(`&`'T`7T`'T `'T` + ѫ`v + `j +ѫ`` +`VB`P '@`D +g>"+jB&l'C + k""kN"HAp NTv`"B@`pXOLNu// &EmR/C) JNFRXO J$_&NuH0:"h $i GaJpg"S6)8(2)AA`"S6)8(0)H@ *2HN^"N_B@o2CAJEjBEEl: 2HN^2AHЁ2HN_BL 8NuH>O yaJ2(`H ЀЁ&h\/hX/K?h`C Kp a4/k o (h pl&g KaDKM HU"N yaJ0(` h\NiXOp o gv`BCJCg yaJ0("hX8)6U2(dD<` yaJ0(@"hX8)4V2(bDHoHR"M NNl>POJCgPOpRfOL|Nup ohNuH8YO(I. W&h 2|gn.| bA2;Nz^hr||fg*n |g`UAg&|SgSAg`T|ggUAgSAghSAg`: +g6 + k"kN`$pNY&H gC) pNX W!K `8` KNZ ` L'P`6(Jo0H"N^"<N_B'@` +jB l'@$k:* p Wg(Jo"+ 눐Ё"N_B&`BCj>g5C>JEoBgBgBg?r 0NlPO"+ 눐Ё"N_B&jBg5CBJEoBgBgBg?r0NlPO`"+ 눐Ё"N_B&j@g5C@JEoBgBgBg?r0NlPO(Jo"+ 눐Ё"N_B&`BCj + ѫ`4 + `* +ѫ` +`B` '@`B@`pXOL8NuH0&H86|m6<Em^2Hp JNZB20 K"J f$`.< f2$ H…HBBtAB`g2SCJAf JL NuHBB6(f `&  f8:HŋHEEDBm`RBRCgBn0L8Nu//BB&f`$  f68HĉHDDC`RBg8SAJDf0(&NuH?>O oh2(H ЀЁ(P,l &n grkg LN?| pkg rkgBo oh0( ?@?@0( ?@rkJotkHB2(?A?A4(?B?B2ol?o2/ol?or ohhotho2oo?ool?@0/on 2/oo oh0(`I(89o9o9oKaJ Lr"U0)Nf6+>+r U0(Ndp@kf\r U0(NfBA U0(Nf2+ U0(NeE HRHR"J J2+,U0.NfPO2 U0(NeBA U0(Ne"J JtBA,U0.NeBA U0(Ndn/k ,+?k  k,.2/k?Ato?B2o9I 9I`0/ooj2/ fff\0/9@ 9@2/kSA9A9A(n$ /o4+|f W$P" g*BD`  f02HHAA@`RDDof:G`zJEkgJEo2HAq^p NZMq^`,< f 82GHHAAD` 2SDJAf`REgomBAq^4/2/"U0)Ng̺ol&0o8ln`8 L"U0)Nd,p Whg8rhf 4+|f$0+pfR0g8fF0+|g0f" +@2H2+HN^o9@8` 0/9@88f\`6 kpf0+|g +@2H2+HN^o9@8 +D2H2+HN^oS@9@ 9@0ln UHhj"HCj Lr $U0*NcXO0/9@ 9@`<0/9@8 UHhj"HCj Lr $U0*NcXO`8 L"U0)Nd,0+oPRS0/omr0<kg."+0$+ԫ lm8/ f *+ff0+|f"+0 k,.2+B P0a~?@2 W P0a?@r U0(Nfr U0(Ndn0/G ohh ?@ 2+2kh ?A"4/ kSB?B$6/"kSC?C&4+SBg SBgJSBg`:po&?@"`8r U0(NdBA U0(NdA "U0)Ng `po ?@$A "U0)Nd, LBA"U0)Nfp ohhO8L|Nu// (0"(Ҩ S(o"(($ R!BJjB$(&JnJo>Joxl`tl $( ₐ`tԨ "(( Rl Jjp!@&(@"(Ҩ o"( on. (R"( l&Jjvg h!C(&Nu o ( l"(䁓"(j4B`."(Ҩm" (Ѩ ( Jjpl!@NuH0$H&" g&J` [NX SJf JNXL NuH0&H&(RJo NY$H f` J "k,`$XJPI SJfL NuH0$H(&JoN$*(ԁ$m N,J@gp` &j,zڪ(Jo "K"ANXת(`ZJjV &j,Dzڪ((Jo "C KNX"B@$*( j,A(NZ *(jB(B@L 8NuH>O&H/I& ЩS/@$R/@ Jo N,J@f/o /(o /k('@( /R/@"/ K a/H g + kaPBB o*h UNT ?@> o2($"k, q(0a?@.` ,k,$V" fE)2/0 Ja<:2 J0al8/@ UNT <.HІ,0H܀pІNY(H g0H"JNTvJDg2Hp APNZ"UAPNSCPAPNR,=FBnXMRoP'o'okk'Cz'o o ('@~'@'o0/HШ'@'C0'k42+60$"k, q(aH'@@`L,`: ,k, VNX  o,"g ANT R@=@`BnRl oNXOL|NuH>O&H$I"* a/H g + kajBB *R/@8+2*$ k, p(0a?@2*$* k, p(0a>2/@o0?W>.` *k,,U"gl N02/a>62 N0a2<:CHJoH2-H*Jo.pЁNY(H g~0H"NNTvC`A0NS`*;EBmRo|'Rz *'@~'@'@4"*'A'A'j 0/H'@@'o'okk`L*`: *k, UNX  o* g @NT R@;@`BmRn oNXO L|NuH>O$H&Ij Bo jpfp0*|gBB"*8 *0Np f "+ f k"Pg: J"Ka`vpf k"Pf J"Ka`X?|'S'k (*+R"+  Jal/H g( * ja(BBp"+"j,ANXpЄ/@rҫ҄/A JabJ@g oNX`j%Sz%k~%k%k /k pf̰f2/f J N@`j *j, o PNT &֫. 0/HހJoVpЇNY(H g&2-o +"UNTv o "P +ANS0/o"+ "W$+A(NR`%D0%C420* LaH%@@*;GBm`Vj *j, o PNT .ޫJo4pЇNY(H g +"UNTv o "P +ANS`*;GBm + o ,p NNT &>/Hރ Jo6pЇNY(H g "NNS0/o"+ "W LNR`|`20* LaH%@@"+$*j,K*;GBm|`@ "*j,$ o ,p( NNT . NNt(H g>*;GBmRpЫm%C4 ЫS%@0%j0%j4%o%E`j~`B "*j, UNXo$  o*"g ANT R@;@`BmRn"/D / Ja oNXjOL|NuH<$H *gN"* *za&H g:&*" *z JaDJ@f 0*|gBB"*8 *0 JNp *z(j,&**j`"( g @NT 9@`Bl9|XMPL SJf jNX%K *zR%@%j8%j%j8%j<%j%j<%jz0%j~42*60*$*0 j, p(aH%@@2*>0*$*8 j, p(atH%@D jpg "*08f *4pjg2*nABjn`.JDf*JEf& *fjfjr0 K"kfN`JDfJEg 20 JN j%jL%jPL 8NuHHoHoHo Ho 0r Nl^O:*\(jX2H ЀЁ爙KHm"M0 LNiXO o0(4U2(6m>-;jJ;jHC MNW"yaJPI MNWBFJDo&pjg0*hjG2-mAl<*0/f22/f,ml&4DBml>Fml0D@mlJDgJCgr0 o"o"ifN`, o0(4l0(6l0<Nl,0+kn& yaJHhj"HCj Kr$yaJ0*NcXO?-?-?-4BA0 LNi\O0<Nl,9F9GO,LPOpWfF\OL<NuH8]O&H?@E0 Ka&(k,rlgJ K al +rgC) kv(@NIHTHo"J LNl>POpWg K0aXg0 Ka\OLNuH0YO$H&*(ت S(o(*(BW*`L  j,0J@g S@gS@g `0phg(h`phfhnm >hRl0g@&jT" g ?j5|0*\ K"kfrN5o*`  j,pRlXOL 8NuH<]O$H?@6GJCfx`BDpAg$"*0Ҫ8/ J0aNo**0`(**8`"4"*8 *0 Ja0 Ja&*%@8%@0|I0 Ja.g캀nT8l4"*8pЇ Ja`28l4" *8 Ja`4r҅ *0 Ja4"  Jav%E0%G8`T0o4r҇ *0 JaV`40o4"*0  Ja@`4"*8pЅ Ja.4r҅  Ja %G0%E8m *Ъ m  Ja Jap JN$J *rgC) jv*@N,HTHo"K LNl>POpWf\OLPOpWfNOLPOpWf"*0 j,*p2*B0* MafH%@4"*8 j,*p2*F0* MaDH%@%T%k<`@ kpf* +D@%@"+@/2+F0+ Ta %H`%T0,H%@LNu/ $H jpfBB"*(pa~`BB"*8 *0 Jal0*|gj0<jg Ja$_Nu/ / $H&I0*|g6"*0f$*4f *8f "*< g|BB"*8 *0 Ja%S0%k42*60*$*0 j, p(aH%@@%k8%k <2*>0*$*8 j, p(aذH%@Djt"*8 *0 Ja&_$_NuH>O&H$Ig2+|ft`BB?B0+|fr`BA>JAf"<am <zn<`<Am <Zn< JNT .&+0/k4M)I 0+|g`  k,/H2(o$/kx؂` o8(HĘ o*P`dgfX0g"M J NTXJ@g "M JNVJJ@f40/fJg-H NNSB g5xH NNSB fSMSJj/|SJjR`/k(R`  k,/H2(o$/*P(`|gfn0g"M J NTXJ@g "M JNVJJ@fJ0/f(Jg$-H NNSB g.5xH NNSB g()C)D Ї)@ "L Ka^`(RMRfBRoPrpNa kO L|Nu/ $h, ((r` tjH҂PJ$SJj"$_NuH8O$H& j,8(&P:<I)`SFJFo3`H LNSB g`REEo3PH LNSB gFo /C.0H/@2H/A C Ja` rpNaOLxNuH>O$H(I/j "o&i 2|bA2;N8N`\V~pv|"z ,D0DNXbltnD8,f@`j~tLV&0Z7T`"+4 +0 Ka.`"L Ka`k`0+| fVBT`"L Ka`k`k`k`k`k`k` kpf8` Ja5kJ5kH`j + kaBBB`R Ka.`H"L Ka6`<8`47T2+60+$+0 k, p(a҈H'@@2+>0+$+8 k, p(ahH'@D`"L Ka`pЫ((` +0 k,20H(` +0*k,(@` +0*k,2+B0+ Ua6H(` Ka^`|0+|g. kpf "L Ka`^(0)k4)k8)k< `D(`:"L Ka^`.'Tr'lv` +rg"+0*k, kpg kpfpmg."f.)C) kv,krN`7|p`7|p`7|p`7|p`Bkp`7|p`/L'TT'lX7l\` Ka6`xk k`hk_`^p kgT2<kgH Ka|`p kg62<kf*k KaX` '@4'@<2+60+$+0 k, p(ahH'@@'@D`(0` JN#J@g8` Kan KNX` +0*k, UNXBBm"L +0 Ka +0 Ka` +0*k,2-o(`l()`b2 yaJ0(Ne7@`7THkHkCA2+*yaJ0-NfPO`6`'T  o'| Ja`"L Jaj`'T +$o'@` Kax KN#`k Ka` Ka`R0`@S0` + ѫ0`0 + 0 +0jB0`z'k(0`p'T0 +0jB0 +0(oV`'T&+ l'C +j6B`.'T +jB&+( RJkl'C` Ja`pkg Ja/L l'Hb/H /|%&CT/I/h p *o*m"LNCpg o *o*mN`jpkg Ja/L l'H^/H /|$CT/I/h p $o$j"LNCpg o $o$jNC pd o $o$jNC)p o $o$jNB@ KN$J`p KN$J`B@`pOL|NuH>O&H*,H|(g|g|g| g `x]` x)`x}`x>./FR (k,~`b(o rpNa`d0,oD*TH MNSB,HH MNSB$H f"g,RRG` gd, RSG`|RPLJGn/E/F C Ka\OL|NuH>O/H*,BH|)g|g|g| g `x[` x(`x{`x(k C K*lpdNCp K*lNCpe K*lNJCg p K$lNXOL<Nu/ YO.$hC J0<a0< JaA)XO$_Nu/ YO.$hC J0<a0< JatA)XO$_NuH<*I$Hp JNSB&Hp JNSB(H f" f "J Ma`@ gdB"J Ma6 MaE`B"J Ma6 E|fpL<NuH8(H$I&j azR@fp`"0< J(kN Ja٠p J(kNp LNuH<$H(I&j Km^//"L MNFXO6"J Map J(kN0L<NuPmhm4hBl 0(h@mB@NupNu/ Hy?Cs`A.yNUXO$H gNۨJ@gA*pNj$_NuH,YOIHWHoHoHTr B@Nl^O0N *HN>gV gRrmTgtm"f f$M`g6N`pmTf yaJ"h<")4g M"mrN` p M$mNXOL4Nu/ / &HEaJ R0(6g2(8g4(:f hN` KNϞ&_$_Nu yaJ hNNu yaJ hXN'NuH8&H"yaJ0)Fgb$i@g(j Jp N`L yaJBhH`62H ЀЁ(kI lf K0N9$l p J(jNN96jLNu/ / yaJ2(`H ЀЁ h\A$h &j JpN&_$_Nu yaJ hXN(pNuA:NUNuH>&HK: yaJ0(FfA(NU` yaJ$h@gp(j JN`f yaJBhH`P2H ЀЁ(kI J0N90,S@g S@gS@g` (l p L,lN`a`` MNUN96jL|NuHl\ y0>lRIaJ T6( 8(0(6g2(8gp`B@J@g8 T h89> W(PpDH09@2HP9A ll9| l l9| 0,8D@L2, 6KAK9AtAH ЂЂЀЂЀNY*H fp` W!M <C= MNX mf&m +g M$@pNBmBm;C;DANuA`Nu;|2G;|2,AH ЀЁE`xp0C> KNXp&"y= JNX'J KNu0,@T@@m;D46k WN5B@`TD6G0E&`XOL<Nu?/ $H6J@k8H"ҁҀ jhh@h h B" J0N$_6NuH>YO.6J@kH"ҁҀ&hI*l ,mZ)N$g"N k p&NX0<n 9@ ` p&"y= k NX k !mJBl 0+| f $k $B" KNu0 WNXOL|Nu/ yaJ$hX"R ig3| JN50* k JB@N$_NuH0E;jjRjjjjjjGaJ S"h<6)pCgjpCgjRpCgjpCgjpCgjp@Cgjj0<Cgj0|gj JNU| fBCpjg|pjRg|pjg|pjg|pjg|pjjg|@pjg|pjg| S"h<0)@|g43C S?(?( ?( ?(?(?( 4( 2(pNjXO ` S"h<3CL NuH0A? NX JNʆ&H g$p NY& gCp NX Ka~J@g` KL NuHO yaJ&hX@f(k6(F0HЀЀNY*H g2HҁM?|P?|0BC"yaJ3CH` 2H ЀЁ4HԂ;(=(RCN98j yaJ2(Llk4HPHAhPXA?A 4(Nlk6H…0HBhR?B BC1CH`0HЀ25o ?A>6o |z`,2H ЀЁ>?tA0/2aJ@g:`TFp 4H"ҁ҂t gJEon SBh2H ЀЁ<4>H$Ԃԇ9(>49( kp( K0N2H ЀЁ kp99 K0NRCN98j" MNZ yaJBhJOLxNu/ yaJ"hX Q$P gN$_Nu/ N$H f N$H g0* nrjTf JNh$_NuH8$H6J@kH"ҁҀ&jIk?k k $,g "B k p&NX0< lh 9@ `$p&"y= k NX l "k #hJBl p l hTgk KNu2+ 0 J"jfNLNu yaJ hXN1NuH<$HIaJ T0(Fn !JXa`` T&h@gp *k KN`H TBhH`62H ЀЁ(jI lf J0N9&l K"k NJ@f N96jL<Nu/ yaJ2(`H ЀЁ h\A$h JNh$_NuH8$H(I&j g6+2JCo4+H"ҁ҂77C4H"ҁ҂ sf2|7I47I2`2H ЀЁ7s22H ЀЁBssA1| 2!|(!L !lZ9CX J0a`9|XLNuH8&H$I6JCk(k2H ЀЁt0N8,`2H ЀЁ842H ЀЁ父tf0H$ԂԀ0H"ҁҀ9(24(f9D0,2j9C49C22H ЀЁ9`2H ЀЁ929C2 SBh4LNuH<$H&I yaJ@fh0Y@gU@g`@ yaJBhHBk`$2H ЀЁ(jI lf7|`ZN96j`N2H ЀЁ(jI*l `& yaJ*h@0Y@gU@g `Cp M$mN`Cp M$mNL<NuH8&H$II=2|fgn6| gnUAg_AgFSAg`ޒ|gƒ|UgxSAg~`ƒ|g|bA2;Nv8@H"J Ka` J9h)h 9h9h`|)J`t)J`l)J`d KN7`Z"J Ka`P"J Ka`F0 Ka`<0 Kaz`20 Ka"`("R KN5` Ka.` Ka` Ka `B@`pLNu/ $H P f jh` jh j2(p"jf JN$_NuH0$h&P6+ 8+ kfrC0HAHX@5@ppC4J@JXB5BtD2ABI5A5ArBE<>*`@0HEHX@4H"ҁ҂50@FH5REEfBERF2H ЀЁ>2JGf>*2`@0HEHX@4H"ҁ҂50@FH5REEfBERF2H ЀЁ>2|n` kfrC0HAHX@5@5@pvD4BCJ5BrrD0@AH5@BE<>*`@0HEHX@4H"ҁ҂56CFK5RFFfBFRE2H ЀЁ>2JGf>*2`@0HEHX@4H"ҁ҂56CFK5RFFfBFRE2H ЀЁ>2|nL NuH<$H"yaJ0)6g2):g&j$ g kf(k ,g *@ KpNIs` lNs$ lNs$ lNs$ KNZ B RNZ JNA? NXO(H6HysCC6 l PNKXO2H 爐ЁЀ*ys3 sE&j Cs J,k0<,NCs0<- J,kNG 0< KNBC`@0HЀ85"JDo0?CC9ANFRTOC0< KN0< KNRC| mCC=0< KNC0< KNE pЯ%@$r%A %A"J0< KN3sOL|NuH>YO$H.&H(k,"yaJ*iXBC`J2H 爐ЁЀ"ys WNSrJ@f$0 Jarp M"mfNpA ,lN` RCysmXOL|NuH>]O(H:EaJ R2(H 爐ЁЀNY#s g.&@3svKM` K2"R0)Nb7@ 2 R0(NeHUHU"M M2</ "R0)"_NfhPO8|nS@mJEf>HU"M NrO/ "R0)"_NcXOHU"MAri/ "R0)"_NcXO0Wfx|o0< LN"K0< LN<<~ `>HUHU"M MrF/ "R0)"_NfhPO8Ff 2HҁBs"` 0HЀ7"<SGJGjRysG:RC Rho\OL|NuH>O/H&/I"6Is o&9P"o"8A@Nm*H g NtG0 KaN ,f MNnp`x?CC9 m PNFRTO0< KNvl`SCJCo2H 爐ЁЀ l4,p f0 Ma@M0H-@,r-A -A"N0< KN"N0< KN yaJ.X/K?| Cp KNA/H?|C0< KNE $;%M"J0< KNG /K?| Cp KNAP/H?|C0< KN$9%M"J0< KN MNU|f 0f yaJ8 o"0"o&2BC`v MNn lNX0O*L|NuH8$HG$I,pjVg$67l7l7l"LNCjV`*89k9k9k"yaJPI JNCjV?+?+?+?r0* NlPONILNuHPOpWf|g"JEg L$o$jpN` p L$kNPOL<8NuH8UO>$hE0&j C J(kpjNp J(kNpi J(kNTOLNuH>O$H#MM ALNʆ&H f`|k`T(kMaJ g*J`KN. V: V;h7m $7m&2 V0(NeHoHoCA2-$V0*NfPO0/9@2/9A V0( 4(BB>2,@o9@ V0(4(2ABA>0,Wo9W"M0< LNC0< LN0- H/@C L0<NC0< LNE $%LBj"Jp LN0< LN kA0%H5|"J0< LN kAH%H5|"J0< LNp LN KOL|NuNNu/ / $H&I2UAg| g$YAgF|g:`L yaJ0(:ff@ Ja`80< jNp jN`&`AL NU`B@`p&_$_Nu/ / YO&H(IHWHoBgBgBgCABB2+"pNmOpT|o8"L KNzXO(_&_NuH$hEH&j C J(kpjNp J(kNpi J(kNTOLNu/ $I"jN%$_Nu/ / (HE / lN& XO(_$_NuA(p"@ "ByNRA1B3NR3NTO"Nu/ Hz?<&NN\O$_Nu.yPJHyNV?< NA\0<N0/ O&HANL o o?|P BWBoBo?|BoAN29NlgNh" g&O&_NuH",H?<,NA>?<*NATH@0|A<|?=A|=A|=AH|SA=AH||P=A LDNuH $Hpj 2*`S@| JAm`R@| | lJ@lp`nt@B6mB8H؄AO8pHjSCt@|f|mRC2H ЀЁ4*HЂ&"鉒8*H҄&$銔0HԀ LNu/YOM, IC HzaPXO VBXO,_Nu"VS@eQ,Nu/YOM, I"o HzaXO VBXO,_Nu"VS@eQ,NuH8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a $Wb<gt<.f6<*f4`$<0< b ACp a j$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA a pA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 /YOM, IC Hz"HzaPOXO,_Nu VB@g,Nup`SNuH<&$H&I(oNKrBCBGx%BEg|gd5PgB5PfSJN:khRG5PgNRG5Pf oRNSG` oRNSG`:NJ@k2RGg oRNSG`BEg<*f g|<0< b ACp a*$Wb<gڰ<hg<lg<Lf ggr@d|?@0;Ndd6Jk [0`NRGJ@kgt oRNSG` LJk"[02aJfAJkHRC`B L"oRpJk /02aXOJfAJkRC`A"Hpr QB/$g<^fP$` rAazgl<]gT<-fgZ<]f<-rAaN`2BA*RAa8g*<]g<-frAa`J/$grFQ< BA FA02 L"oRHo/aPOJfARC`> L"oR0aJ@kfAJk [RCJEk0` ` L"oR0aJ@kfxAJk [RCJEk0` ` L"oR0aJ@kXfJAJk [RCJEk0` ` L"oR0aJ@k*fAJk [RCJEk0` `0&LRG4`kI 4`b,ֆSDgNRG4`b`NSGB@$2LNup`NSGp`H8vBG8ghzB$H&II NJ@kbRG4`k<0fSDgBNRG<߰<Xf SDg.NRGI 4`b,ֆSDgNRG4`b`NSGB@$2LNuP`NSGp`H8vBE8gjB$H&II >NJ@kdRE4`k<-Wg<+fNREI 4`< b<ֆSDg NRE4`< b փ"փփց`NSE$JgD2B@LNup`NSEp`H<8z$H&II NJ@knREJ4k| gNSEJj$JDgJNREJ@kB| gJ4jNSE`0SDf`**o JDg NREJ@k| gJ4jNSE`SDfB2QL<8NuP`H06g(8$H&IJCjvJj NJ@kSCf` NJ@kSCfQC2L NuP`H<6g^8BE$H&I(o$Jj$NJ@j P`FNJ@k> F4Pg>SCf`**o NJ@j P`NJ@k F4PgSCfBQC2L<8NuBN` JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNug fC`Jg INuSHNugHf8g@f0g8f(g0f g(fg fgfgg!epNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNu"Jg JgJgJfSHSefB ANuSeg gb pNuJfpNupNu"SefBJgSf ANu/ pg$IgfR`$_Nu/ / g($Ig"f&Hggg"J K`A&_$_Nu`H0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G(3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"p&p` 3!p&p& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!p&`0123456789abcdefghijklmnopqrstuvwxyz/ E0BABBSe2g2 ge p` Jfp`p$_NuH &/?<HNA\OJf 9sg @ NJ@fp @LNuH0&gPR<e a g!CCP( "A`rGP,&S f. < a gj&@Ap !| 'H&P,#P,A"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 p&`/ oLQ d nf@axJg*`6CP( g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &yP( g/ &S?<INA\O`&yP, g/ &S?<INA\O`&_NuH8$< CGP, g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNuH>?NAO $_Nu/ ?/?<NNAPO$_Nu/ ?<NATO$_Nu/ ?</NATO @$_Nu/ ?<ONATO$_Nu/ ??<>NAXO$_Nu/ /?<9NA\O$_Nu/ /?<HNA\O @$_Nu/ /?<ANA\O$_Nu/ ??/?<WNAO $_Nu/ //??<JNAO $_NuH>@NAO $_Nu/ ??/?<CNAO $_NuH>VNAO $_Nu/ /?<:NA\O$_Nu/ ?/?<6NAPO$_Nu/ ?/?<GNAPO$_Nu/ ?/?<KNAO$_Nu/ ???<NM\O$_Nu/ ?<NNTO @$_Nu/ ?<"NNTO @$_Nu/ /// /?<NNO @$_Nu/ ?/ /?<NNO $_Nu/AtBhBh2<&a"_222222Av2222Nu/ /AtBh"_Artg0RB`At1BrtanAv"_22222222Nu/ /AtBhBh2<a:"_2"_2At"o222"2&2*"o2"o 22 2$Nu/AtBh1|1A2<a"_r4QNu/ /AtBh1|1A2<uaAv"_2"_2"o2Nu/AtBh1|1A2<faz"_2r+2QAvr 2QNu/ pNBT@$_Nu/At1|1|!I!o1A"_A000000000Atrm`/At1|1|!I!o1A"o 1Y1Q"_A000000000Atry`Cy02222At1|Bhrr`/AtBhBh!_!Irn`|AtBh1|1Ar`bAt1ABh1|r`HAtBh1|1Arh`.AtBh1|1Ar`CtBiI3ASAC2QAtrp`AtBh1|1Ar`AtBh1|1A1Brl`AtBh1|1Ar`AtBh1|1Arq`At1|Bh1A0Bh2rab09vNu/ /AtBh1|1A1Br'a8Au"_2"_2NuAtBh1|1Ar`AtBh1|1Arj`AtBh1|1Ar`/ /At1|BhBh01A2r aAv"_2"_2"o2"o2NuAtBh1|1Arw`/ /AtBh1|Bh01Arka`Av"_2"_2"o2"o2NuAtBh1|1Ar `*AtBh1|1Arx`AtBh1|1Ar `Ct3|3|3AC0""At2<`Cy02222At1|Bh1| r `AtBhBhre`At1|1|1| 1A01B21o41o61o1o r `NAt1|Bh1| 1A01B21o41o6r `Ct3A03B23|CrtRB2fAt1Br`Ct3|3| 3A03B23o43o3oCrtRB2fAt1Br `3t / Ct2dBi3| Cp 2Q"<hps/ NB$_ _0t Au"op,2QAvp 2QNutty0uvCt3ABi#P8 Ira#y0P8Nu/ 1@ 0"<P0psNBAu0$_Nup `#wAt00p `p`At00p`#w/ At00000 0 0000000000 paV"_2"o2"o"2"o&2"o*2"o.2Nu#wAt000000p*`#wAt0000p+`/ #w3tp,a"_2"o2Nu/ #wAt0000p.a"_2Nu#wAt0000000 0 p/`#wAt0000000 0 0p3`T/ #wp6aF"_2"o2"o2"o 2Nu#w3tp4`/ Ct222#wp7a"_2"o2Nu/ Ct22#wp8a"_2Nu#w3tpr`#w3tp`#wAt00p!`3t#wp#`/ /pMa"_2"_2"o2"o2Nu/ /At0000 pFaR"_2"_2Nu/ /At0000 0000pGa"_2"_2NuAt0000000 0 pI`At0000000 0 pJ`#wAt000pK`#w3tpN`/ /pOa"_2"_2"o2"o2Nu/ ?At00phaj2CSA|;$Y4Q$_NuAt00000pd`"At00000pe`3tpg`At000000 pi`3t3tpj`/ /At0000 00pla"_2"_2"o 2"o2Nu3tpf`3tpk`z#wpP`n#w#wpZa\"o2Nu#w#w#w p[a:"o2Nu#w#wpx` #w#wAt000py`/ 3t@@A"CtB@22220<"<nNBAu0$_Nutttuwy / #z0#z4#z8#z<$_Nu-------------------- Aktionen ffnen ^O Schlieen ^UAktuelle Datei Lschen ^D Beenden ^Q Fenster Nchstes ^W Optionen aus Liste ^L HILFE Status:Nach Drive: STATUS VerschiebenDateien:READONLY-Attr.:Zu diesem Zweck analysiert Bulldozer sofort beim Programmstart die bergebenen Parameter. Bei der Sicherheitsabfrage knnen so neben Quell- und Ziellaufwerk auch die tatschliche Anzahl der Dateien und Ordner sowie deren Gesamtgre in Bytes angezeigt werden.Das Verschieben von Dateien wird prinzipiell genauso eingeleitet wie das Kopieren, nur mu hier beim Loslassen des Mausknopfes die Control-Taste gedrckt werden.Dateien und Ordner knnen mit Bulldozer -- im Gegensatz zur herkmmlichen Desktop-Kopierroutine -- auch von einem Laufwerk auf ein anderes verschoben werden.Lschen von Dateien einleitenDas Lschen von Dateien hnelt einer Kopieraktion: Man selektiert die betreffenden Dateien genau wie beim Kopieren. Dann schiebt man sie auf das Papierkorb-Icon des Desktops. Stattdessen kann man nach dem Selektieren auch "Datei/lschen..." im Desktop-Men anwhlen.Dateien beim Kopieren oder Verschieben umbenennenMchte man Dateien beim Kopieren oder Verschieben umbenennen, mu man beim Loslassen des Mausknopfes die Alternate-Taste gedrckt halten.Ausfhrung der eingeleiteten Aktion durch BulldozerDanach zieht man einfach irgendeines der selektierten (invertierten) Icons wie oben beschrieben auf das Ziel-Icon bzw. ins Zielfenster.Sobald man den Mausknopf nach der Ziehoperation loslt bzw. "Datei/lschen..." anwhlt, wird Bulldozer -- sofern es installiert ist -- automatisch aufgerufen.TOS-Aktion:Bevor nun jedoch die eigentliche Arbeit von Bulldozer beginnt, wird zunchst eine Sicherheitsabfrage durchgefhrt, damit Dateien nicht versehentlich gelscht werden oder im Verzeichnisbaum "verloren geraten".Drcken Sie bei dieser Sicherheitsabfrage den Abbruch-Knopf, wird der gesamte Vorgang abgebrochen und Ihre Dateien werden nicht verndert. Mit OK besttigen Sie den Auftrag und Bulldozer beginnt mit der Arbeit.Whrend Bulldozer den von Ihnen im Desktop spezifizierten Auftrag ausfhrt, knnen Sie die ganze Zeit ber mit anderen Programmen arbeiten. Wenn Bulldozer eine Abfrage durchfhren oder eine Fehlermeldung ausgeben mu, wird automatisch das entsprechende Fenster getoppt.Wenn Sie beim Einleiten eines Kopier- oder Verschiebevorgangs die Alternate-Taste gedrckt gehalten haben, wird beim Kopieren bzw. Verschieben jeder Datei die Dateiauswahlbox aufgerufen. Durch das Drcken des Abbruch-Buttons knnen Sie hierbei den Vorgang abbrechen.Leider wird die Anzeige des MultiTOS-Desktops nicht automatisch aktualisiert. Sie mssen deshalb, um die nderungen im Desktop sehen zu knnen, das/die betroffene(n) Fenster toppen (nach oben bringen) und die Escape-Taste drcken. Die Anzeige wird dann erneuert.Falls sich beim Kopieren einer Datei ein Namenskonflikt ergeben sollte (gleichnamige Datei existiert bereits im Zielpfad), wird automatisch eine Alertbox aufgerufen, in der Sie festlegen knnen, ob die gleichnamige Datei im Zielpfad berschrieben werden soll oder nicht.Nach Beendigung des gesamten Vorgangs wird auch Bulldozer -- sofern die entsprechende Option unter "Optionen/Verhalten" nicht abgeschaltet ist -- automatisch beendet. Alle noch offenen Fenster des Programms werden zuvor geschlossen.Fr Experten: Falls Sie wissen, wie man den Desktop ohne Memory Violation zum erneuten Einlesen der FATs zwingen kann (Media Change-Nachricht senden o..), mchte ich Sie bitten, mir einen Tip zu geben. Ich werde das Programm dann unverzglich aktualisieren.Mchte man mehrere Dateien oder Ordner kopieren, mu man dazu natrlich nicht alle Datei-Icons einzeln auf das Ziel-Icon bzw. ins Ziel-Fenster ziehen, sondern es gibt zwei Wege, um mehrere Dateien/Ordner auf einmal zu kopieren: Rechtliches... ^ROrdner:Der Desktop von Bulldozer liegt unter MultiTOS in einem eigenen Fenster. Er selbst dient der Verwaltung der von Bulldozer erzeugten Fenster. Fenster, die einmal erzeugt worden sind, werden durch ein Icon auf dem Desktop reprsentiert.Ein Doppelklick auf das Icon ffnet das zugehrige Fenster.Reprsentiert ein Icon ein offenes Fenster, gengt ein kurzer Mausklick auf das Icon, um das zugehrige Fenster zu toppen. Ist das zugehrige Fenster aber geschlossen, kann man verschiedene andere Iconoperationen durchfhren:Whlt man das Icon an, wird es selektiert. Um weitere Icons zu selektieren, whlt man diese mit gedrckter Shift-Taste an. Man kann auch wie im MultiTOS-Desktop einen Rahmen mit der Maus aufziehen, um alle innerhalb des Rechtecks liegenden Icons zu selektieren.4.Icons sind frei beweglich. Man kann sie einfach mit der Maus an eine neue Position auf dem Desktop ziehen.Zieht man das Icon auf den Papierkorb, werden das zugehrige Fenster und das Icon selbst gelscht. Der frei gewordene Speicher steht wieder anderen Anwendungen zur Verfgung. Feedback... ^E Installieren... ^FDurch Anwhlen von "Aktionen/ffnen" werden die Fenster der augenblicklich selektierten Icons geffnet.Letzte nderung:Menpunkt "Schlieen"Durch Anwhlen von "Aktionen/Schlieen" wird das oberste Fenster geschlossen.Menpunkt "Lschen"Menpunkt "Info"Menpunkt "Beenden"Durch Anwhlen von "Aktionen/Info" wird eine kurze Programminformation angezeigt.Beim Anwhlen von "Optionen/Verhalten" erscheint eine Dialogbox, die es erlaubt, das Systemverhalten von Bulldozer zu konfigurieren und so an eigene Vorstellungen und Anforderungen anzupassen: Men Fenster... ^C Men Optionen... ^GBESTTIGUNGMenpunkt "Nchstes"Menpunkt "Aus Liste"Durch Anwhlen von "Fenster/Nchstes" wird das nchste offene Bulldozer-Fenster getoppt.Durch Anwhlen von "Fenster/Aus Liste" wird das nchste Bulldozer-Fenster nach oben gebracht. Falls das nchste Fenster geschlossen ist, wird es nicht, wie bei "Fenster/Nchstes", bersprungen, sondern geffnet und angezeigt.Menpunkt "Oberflche..."Durch Anwhlen von "Aktionen/Beenden" wird das Programm verlassen. Zunchst werden alle noch offenen Fenster geschlossen, dann Bulldozer selbst terminiert. Die unter "Optionen/Oberflche..." konfigurierbare Einstellung sowie der Suchpfad fr ACS-Module werden abgespeichert.Beim Anwhlen von "Optionen/Oberflche..." erscheint eine Dialogbox, die die wichtigsten Optionen zur Konfiguration der grafischen Benutzeroberflche zusammenfat:Mit der Clickbox "Grows/Shrinks" knnen die Grow- und Shrinkboxen (grafische Effekte, die das ffnen bzw. Schlieen von Fenstern begleiten) ein- und ausgeschaltet werden.Mit der Clickbox "Smart Redraw" kann das Zusammenfassen von Bildausschnitten beim Neuzeichnen, das z.B. von KAOS untersttzt wird, ein- und ausgeschaltet werden. Ein eingeschaltetes Smart Redraw beschleunigt normalerweise das Neuzeichnen von Fensterteilen.Mit der Clickbox "3-D-Effekt" kann die 3-D-Darstellung der Bulldozer-Dialogboxen an- und ausgeschaltet werden.Von Drive:Mit der Clickbox "Lade alle Fonts" kann festgelegt werden, ob beim Start von Bulldozer gleich alle installierten GDOS-Fonts geladen werden sollen. Der Zustand dieser Clickbox spielt nur dann eine Rolle, wenn Sie NVDI, Speedo oder ein anderes GDOS installiert haben.Menpunkt "Horizontal"Durch Anwhlen von "Optionen/Horizontal" werden die Icons auf dem Bulldozer-Desktop vorrangig horizontal angeordnet.Menpunkt "Vertikal"Durch Anwhlen von "Optionen/Vertikal" werden die Icons auf dem Bulldozer-Desktop vorrangig vertikal angeordnet.Menpunkt "Verhalten"0 Mit den Clickboxen "Kopieren besttigen", "Verschieben besttigen" und "Lschen besttigen" kann festgelegt werden, ob eine im Desktop durch eine Iconoperation spezifizierte Kopier-, Verschiebe- bzw. Lschaktion vor der Durchfhrung noch einmal besttigt werden mu.Mit der Clickbox "Statusanzeige" kann festgelegt werden, ob whrend des Vorgangs stndig nhere Informationen zur momentan bearbeiteten Datei angezeigt werden sollen. Die Statusanzeige kann whrend des laufenden Vorgangs immer noch durch die Closebox geschlossen werden.Mit der Clickbox "Protokollanzeige" kann die Anzeige eines Ausgabefensters, das alle TOS-Aktionen whrend eines Vorgangs protokolliert, ein- und ausgeschaltet werden. Das Protokoll kann whrend des Vorgangs immer noch durch die Closebox geschlossen werden. Mit der Clickbox "Vor berschreiben warnen" kann festgelegt werden, ob im Fall eines Namenskonflikts whrend eines Kopiervorgangs (gleichnamige Datei existiert bereits im Zielpfad) vorsichtshalber eine Sicherheitsabfrage durchgefhrt werden soll.Durch Anwhlen von "Optionen/Modul laden..." kann ein mit dem "ACS pro 2.05" von Maxon Computer erstelltes Modul geladen werden. Einige ntzliche Module liegen dem ACS bereits bei (kein Public Domain!), es knnen aber auch eigene Module mit dem ACS entwickelt werden.Menpunkt "Font whlen..."Beim Anwhlen von "Optionen/Font whlen..." erscheint eine Dialogbox, in der man den Zeichensatz fr das Protokoll-Fenster sowie dessen Gre in Punkt oder Pixel auswhlen kann. Der in dieser Box gewhlte Font wird jedoch erst beim nchsten Programmaufruf aktiv.Menpunkt "Abspeichern"Durch Anwhlen von "Optionen/Abspeichern" kann man die unter "Optionen/Verhalten..." und "Optionen/Font whlen..." eingestellte Konfiguration abspeichern, so da sie beim nchsten Programmaufruf (direkt oder durch den MultiTOS-Desktop) aktiv wird.Menpunkt "Modul laden..."Mit der Clickbox "Automatisch beenden" kann das selbstndige Terminieren von Bulldozer nach einer durchgefhrten Kopier-, Verschiebe- oder Lschaktion ein- und ausgeschaltet werden. Bulldozer kann immer noch durch Anwhlen von "Aktionen/Beenden" beendet werden.Mit der Clickbox "Pulldown-Mens" kann festgelegt werden, ob die Mens von Bulldozer schon beim Berhren mit dem Mauszeiger herunterfallen (Clickbox nicht selektiert) oder erst angeklickt werden mssen (Clickbox selektiert).Bytes:C: ORDNERDATEIENAbbruchOKTOS-Dateiname:Gre in Bytes:HIDDEN-Attr.:SYSTEM-Attr.:VOLUME-Attr.:SUBDIR-Attr.:ARCHIVE-Attr.:Kein Fehler ber mich... Info... ^I Vertikal ^T Oberflche... ^B Horizontal ^Z Modul laden... ^MOptionenBULLDOZER 1.0Copyright 1993fr MultiTOSElmar Meyer zu BextenPROGRAMMINFOIntegriertes KopierprogrammACS pro 2.05entwickelt mit demvon Stefan Bachert OBERFLCHE Grows/Shrinks3-D-EffektLade alle FontsPulldown-MensSmart Redraw Hilfe MELDUNGWhlen Sie jetzt "Hilfe/Installieren..." an (den Eintrag "Installieren..." im Men "Hilfe"). Es erscheint eine Dateiauswahlbox. Hier whlen Sie die MultiTOS-Konfigurationsdatei GEM.CNF aus (fr gewhnlich gengt ein Klick auf den OK-Button).Installation beendet VERHALTEN Die MultiTOS-Konfigurationsdatei GEM.CNF wurde modifiziert.||Bulldozer wird von jetzt an bei jeder Kopier-, Schiebe- und Lschaktion vom MultiTOS-Desktop automatisch aufgerufen. Verhalten... ^VKopieren besttigen Font whlen... ^NVerschieben besttigenLschen besttigenStatusanzeigeProtokollanzeigeAutomatisch beendenMit der Clickbox "Disk-Kapazitt prfen" kann festgelegt werden, ob vor einem Kopiervorgang oder Verschiebevorgang von einem Laufwerk auf ein anderes berprft wird, ob das Ziellaufwerk auch wirklich alle Daten aufnehmen kann.Disk-Kapazitt prfenDurch Anwhlen von "Aktionen/Lschen" werden die Fenster der augenblicklich selektierten Icons (sowie die Icons selbst) gelscht. Es passiert also das gleiche wie beim Ziehen des/der selektierten Icons auf das Papierkorb-Icon.Vor berschreiben warnen Abspeichern ^HRechtliches zu Bulldozer 1.0Die Programmdatei BULLDOZE.APP ist Public Domain. Sie darf frei kopiert und weitergegeben werden.||Die Benutzung in militrischen Einrichtungen ist untersagt. Aufruf... HELPFeedback Desktop... ^PKonzeptSenden Sie Anregungen und Kritik bitte an folgende Adresse:||Elmar Meyer zu Bexten|Am Sdwestfriedhof 21|44137 DortmundDas bedeutet fr Sie als Anwender, da Sie das Programm nicht erst starten mssen und dann entscheiden, was Sie wohin kopieren/verschieben bzw. was Sie lschen mchten, sondern Sie knnen die gewnschte Aktion wie gewohnt im Desktop durch Ziehoperationen festlegen. Men Aktionen... ^ABulldozer unterscheidet sich von den meisten anderen dateiorientierten Kopierprogrammen vor allem dadurch, da es in den MultiTOS-Desktop integriert ist.Wenn Sie Bulldozer installiert haben, tritt dieser nun einfach an die Stelle der herkmmlichen Desktop-Kopierroutine und fhrt Ihren Auftrag automatisch aus.Im Grunde leistet Bulldozer also nichts anderes als die herkmmliche Desktop-Kopierroutine -- mit einem Unterschied: Whrend Bulldozer arbeitet, knnen Sie gleichzeitig mit anderen Anwendungen arbeiten und so die Zeit, die Sie sonst abwarten mten, sinnvoll nutzen.DesktopInstallation2.Kopieren Sie die Programmdatei BULLDOZE.APP in das Verzeichnis, in dem Sie sie auf Dauer haben mchten. Eine Disketteninstallation ist nicht empfehlenswert, da in diesem Fall bei der spteren Benutzung des Programms immer die Bulldozer-Diskette eingelegt sein mu.Nachdem die Installation durch eine Dialogbox besttigt wurde, brauchen Sie nur noch den Rechner neu zu booten. MultiTOS bzw. der Desktop bekommt nun in der genderten GEM.CNF-Datei mitgeteilt, da von jetzt an Bulldozer fr alle Dateiaktionen zustndig ist.1. Konzept... ^K3.Die Installation von Bulldozer ist nicht besonders schwierig:Kopieren und Verschieben von Dateien einleiten Installation... ^SDas Kopieren von Dateien drfte den allermeisten unter Ihnen bereits vertraut sein. Fr alle GEM-Einsteiger hier jedoch noch einmal eine kurze Zusammenfassung:Menpunkt "ffnen"Um eine Datei zu kopieren, whlt man diese mit dem Mauszeiger an, hlt den Knopf aber zunchst gedrckt. Jetzt zieht man das Datei-Icon in das Fenster des Zielpfades und lt den Knopf wieder los.Man kann das Datei-Icon auch auf ein Laufwerks- oder Ordnersymbol ziehen (auch im gleichen Fenster). Das Ziel-Icon mu beim Loslassen des Mausknopfes invertiert sein. Die gezogene Datei wird dann in den Ordner bzw. das Wurzelverzeichnis des Laufwerks kopiert.Man kann ein Rechteck beschreiben, innerhalb dessen alle Dateien/Ordner zum Kopieren selektiert werden. Dazu plaziert man den Mauspfeil an einer Ecke des Rechtecks, bewegt den Zeiger bei gedrcktem Mausknopf entlang der Diagonalen und lt den Knopf dann los.Alternativ kann man, um eine diskontinuierliche Auswahl zu treffen, die zu kopierenden Icons bei gedrckter Shift-Taste nacheinander einzeln auswhlen.' $ wUUUUUUU_""UUUP*UUUUUD@UUUWUUUXuUUUUQUUW UUUXꪪUUUUTD@UUWꪪU@wZUUUUUW_"UUU@ުUUUDUUWUUnUUUxvUQUWUU{ UU_XꪫUUTD@UWUU~ꪪUUXꪫvUUUWUU{""UUXꪫުUUUD@UUWUUnUUUXvUQUUWUUz UUUXުUUTD@UUWUU~ꪪUUUXvUUUUWUU{""UUUXުUUUDUUWUUnUUUXvUQUUWUU{ UUUXUUTD@UUWUU~ꪪUUUXvUUUUWUU{""UUUXުUUUD@UUWUUnUUUXvUQUUWUUz UUUXުUUTD@UUWUU~ꪪUUUXvUUUUWUU{""UUUXުUUUDUUWUUnUUUXvUQUUW UUUXUUUUTD@UUWꪪUUUXwUUUUUUUU""UWUXUUUUUD@UUUU]UXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUW?_UUUUU_UUUUUT=b@^uUWUQz?`?P_UU_U[Tꯀ0?W߫zUTCUk꨿UXdW~UU^ W$UQ\X,UUUU5_H}Up&T$֪UU@ժWX$UUUxU_աUuWXۮ$v:UUQժQX,UUUZ=W/[UU}V\T$֪ UT@V@p$UUUV__W'UuWT۬@`$UUQVu ,UUUV VU}TT T$֪UU@Z5puX$UUUUVUuqU[$vUUQZW,UUUU UZU}\UZT$֪UT@jZ P$UUUUꪨZ5UuWU[@c$UWjj u#,UUUU"uzU}VU[03T$֪W@jj P$UUUUjUuW[$vUUj꪿ꪫ 0 ,UUUU UU}UUZ  T$֪UT@jꪫ` $UUUUիUUuUU[0` $UUQꪫ5@ ,UUUW իUM}UU[` T$<֪UU@ڿ꯫ՀK$4UUUV֯UMuUTۯ$$kvUUQʿꮫS,$UUU^-_#WUM}UT>&03Vd$k֪UT@ʿꬫ\t#ddUUUZW^UMuU\ۮ@cLDkjUUQʿꨫUUUUU-_U}UXꯀՁk֪UU@긫w\WðUUWUU^UuUp۬~0kuUQJUX~E_UUU{^ }UppuQ`UDꪪUTB u_W;UP_UUWU~ uQꪨWQ:TKU$UUUUUUUUU$jڪ<UUUUUUUUUUUUUMUUTUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUUUUUUUUUUUUUUUUUUUXUXUX*U`5UXU@]XU@U@U@U@hU@XhU@XhU@XU@]Xpnppqqppq pp ppp pp LppqCppq >ppqppqppq ppqppq ppq/sjppqtppq2uOppq4ppqppqLppqppqppqppq6ppqKppqppqppq)ppqppqppqppq+ppqpp 4pp ")xN")x" !x"!")xV")"!x"!&/ Ofyp vLp v_p vp vp vLp v+p vp vp vp vp vp vTp vx[p vp vp vp vp vq&p vr*p vsp vrp vtp vup vv p vvp vwp v}sp vyip vztp v{{p v|p vyp v~vp vdp vp vp vp vp vp vbp v;p vp vp vap vp vp vmp vp vp vp vp v>p vp vp vp vp vp vp vp v3p vp vFp vLRlT^T^RZZ* p pE  p  p  <# 6P     p0  p p p p p  ppP1zp_&p}'8$ 8p'% #"pɜ#8p0 6&4 (, *8n+8-&/(1:+3.&t 48%+f8K% %<: Z,< ,> - @ =.B r/zbD 0XF 516H  %<I K 26 2  6X!( @(%0/ H& `x 0@ * +D (LrHߔHH'H'F(F@F  F  XC  pCEE#E,H߰H.HHF4HH6HHF:HH(<H2'H2F 0F! F"HF#E$xF%F&#F'(F`.F@"o 0  LH\H HHFhF FF@" .H $ $    @ , LHHHHF F   C   8 C  hCPC@" 0 X ( @ ("    &@ ( @8@ -j    ( k Zx   @ % ( @  &R   LHxH H HFC  PC  C @" /& L%H HHHFH<H  H H F  H XHH H`FHtHHHFHHHHF@"" 1  LHHHHFHH  H H F@" 2 /LiHHHHFHH  H H F  H HH H(FF@ FX FpFF*H8H ,H!H!FF FFF0FF"!!OH TH%##QH"$$H#F'&&WH%pH*((YH'))H(xF,++_H*H/--aH,..H-HF@"f 3|  &` (qq -             |  p ? F p @ !@ @  p @ !@  @  @  " $, !D( Yv h; q x        ޘ ޘ ޘ ޘ ޘ ޘ ޘ ޘ ޘ (p޴  ޘ *)@)rFx2Sp'R$Ϟ@dz//HzFx2pp'R$Ϟ@dz.-zFx2pp'R$Ϟ@dz,^+zFx2pp'R$Ϟ@dz00&zFx2pp'R$Ϟ@dz(&zF0x2p'($Ϟ@dz-<,zFx2pp'R$Ϟ@dz&t& zFx2Dp'R$Ϟ@dz..jzFPx2pp'R$Ϟ@dz11zFx2pp'R$Ϟ@dz2p1zF@x2pp'R$Ϟ@dz3N2zFxx2pp'R$Ϟ@dz$$^zFpx2p'R$Ϟ@dzD "F x2*p'R$Ϟ@dzD@zF @x2pp'R$Ϟ@dzACS2.05 Bulldozer =LBULLDOZE.CFGARGV=-c-cm-d-R Fehler: bergebene Verzeichnisstrukturen berschneiden sich.Analysiere Verzeichnisstruktur... Fehler: Unvollstndige Aufrufparameter.*.*\ Fehler: Pfad %s nicht gefunden. Fertig.%lu[1][Dateien berschreiten|die Laufwerkskapazitt|um mind. %s Bytes.|Trotzdem beginnen?][Abbruch|OK]KopierenLschen%dAusgabenWillkommen zu Bulldozer 1.0! umbenennen Vorgang abgebrochenKopieren Verschieben Lschen %02u. %02u. %uGesetzt Gelscht TOS-Fehler Kein FehlerDatei nicht gefundenPfad nicht gefundenZu viele Dateien offenKein Zugriff mglich[1][GEMDOS-Fehler beim %s:|%%s.|Datei berspringen oder|gesamten Vorgang abbrechen?][Weiter|Abbruch]...bersprungen.ffnen|von %sAnlegen|von %sLesen|von %s[1][Fehler beim Lesen:|Konnte nur %lu%% der Datei|%%s lesen.|Datei berspringen oder|gesamten Vorgang abbrechen?][Weiter|Abbruch]Schreiben|von %s[1][Fehler beim Schreiben:|Konnte nur %lu%% der Datei|%%s schreiben.|Datei berspringen oder|gesamten Vorgang abbrechen?][Weiter|Abbruch]Schlieen|von %sVerschieben|von %sLschen|von %sKopiere Verschiebe Lsche Systemdatei Diskettennamen Ordner Datei schreibgeschtzt; verstecktArchiv-Bit gesetzt) vom %u. %u. %u, %02u:%02u:%02u nach [1][Eine Datei mit dem Namen|%s|existiert bereits.|Datei berspringen oder|gesamten Vorgang abbrechen?][Weiter|Abbruch|OK]...Fertig. Vorgang abgeschlossenFehler: Konnte Status-Fenster nicht erzeugen. nach %ld'%ld".Fehler: Konnte Info-Fenster nicht erzeugen. C:\MULTITOS\GEM.CNFWo ist GEM.CNF? Modifiziere MultiTOS-Konfigurationsdatei %s... setenv DESKCOPY=Fehler: Konnte Optionen-Fenster nicht erzeugen. Fehler: Konnte Hilfe-Fenster nicht erzeugen. OK (C) 1991, 1992, 1993ACS pro 2.05Stefan BachertAutor;  q ")")x!" !" !x????80 3gggg30 8 0????80 0 ````0 0 8 8 T 0???? 0'''' 0   0???? 0     0 ! 0!!7 Hl7d @ @?xxp㇇ 8p<`ßp0 Ϗ<!RA  z $!W H  @^  ACS 2.00 (c) 1991, 1992, 1993 Stefan Bachert0123456789ABCDEF [3][][OK]\*..CFG#~Ax_ifree: WatchAx_ifree < 0x1000Ax_ifree > 0x10000000Ax_ifree: memory oddAx_ifree: not allocatedAx_malloc: WatchAx_free: Watchmem Ax_free < 0x1000Ax_free > 0x10000000Ax_free: memory oddAx_free: not allocated\   %r UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD33333333333333333333333333333333%%%%&&>&^%%%%%%%%%%%%%%%%%%%%%%%%%|]  >ɜhFʆzϞdzDvR$@X<C IC kl^lllmntvwx|~fd",;=99>9:ttqs$sstLtxstYZ X`MzUN"WxR9JUp "v.U32%ldd  =+-*/()!&|[]{}<>,.;:$%?`'^#~@\"[2][ | Soll das ACCESSORY | >>%s << | gestartet werden?][JA| NEIN ][3][ | Kein Speicher| mehr vorhanden! ][ OK ][2][ Unbekannte GEM-Nachricht | erhalten.| ID = '%s'| Weiterhin berichten?][JA| NEIN ][1][| Modul konnte| nicht geladen | werden][ OK ][3][ Keine freie GEM-Fenster-ID | mehr vorhanden!| Abhilfe: ein offenes| GEM-Fenster schlieen.][ OK ][3][ Kein freier ACS-Fenster-| Einschub mehr vorhanden! | Abhilfe: ein ACS-Fenster| lschen][ OK ]PAPIERKORBOK-------------------- Aktionen ffnen ^O Schlieen ^UPulldown Mens Lschen ^D Beenden ^Q Fenster Nchstes ^W Optionen aus Liste ^LDas Ziehen des Neu-Symboles auf ein anderes Objekt erzeugt ein neues Objekt. Ein Doppelklick darauf erzeugt ein weiteres Fenster der Applikation.NEUInformationMen zuerstVerhaltenObjekte werden durch Ziehen auf den Papierkorb gelschtVerstecke ZeigerGrows/ShrinksFehler akustischZentriere DialogSmart RedrawGenerischer DESKTOP des ACS pro 2.05 von Stefan BachertAbbruch Info... ^I Vertikal ^T Modul laden.. ^M Horizontal ^Z ber mich... Verhalten... ^Bkein 3DModul nachladen-++q -1++q ")")x-"!")x+")!x+" !")x-s-----%,#.qpv-;pv,pv-R`pppppp1p1p1p1p1p1p1p1p1p1pppppppp01D- 0 Hc@DDDDDDDDDDDDDDDL 2$2+   H?UU" W*EU'U>JWU'w''}*UPUT'@'w'UAVwU_gVWUA?3B3+ 0 HZZ# + +  ,P  ,i $P   .I  +  +  + + + + +,1z,&,2'0r.(P 0r,A'$"!,Zɜ"0r,t0 %,'.6, ).8n*0r,.^,X$.#&t A . . @..0Z/  A" /R" /: @..0B /   A . . @..0* /"  A* .*  .&///j// / /0  .&  @.&@/  @.  4r-zF++'4R$'J@dz314"x =.1=H((b'1=H(0~0~4H(RAMDESKTOPFONT (ID)OKPIXELAbbruchPOINTSFontauswahlThe quick brown fox jumps over the lazy dog123___NNN??? ? ???.???5??q ?m?q?u" !x")x")x?"!x")x?&p v?AT^0@0@N, @?,?z ?&  @N  @@@@~! @N&@@~8 @@?& @  @@& ?@@6 @@f  %d%3dPIXELAuf diesem Fenster knnen Ausgaben analog printf erfolgen! Ein ACS 2.00 FeatureOKPROTOCOL PROTOCOL PROTOKOLLInformation@@xXX_YYYYYYYYYYYٟـ=;y6-;@@xXX_YYYYYYYYYYYٟـ=;y6-;@@xXX_YYYYYYYYYYY?ـ>ـ=;y6-;@@xhhoooooooooooo?#π'/><@@xxx=;7/?@@xxx=;7/?@@xHHOIIIIIIIIIII?ɀ>ɀ=; 6 , 8   @@xhhoooooooooooo?#π'/><CCDCDq "!")xC")pvCECEFNHN@@PPPPPPPPPPPPPPPPP?!#(&(,(8(((I`IC HIJ| 9q$9q T=u T'Ϟ| Ty T7= T<| T7 TJK@C 0 HA I H @HHI2I  BAzFccCCD'J`R$Ϟ>?T@DCC4M( M M ( Stack overflowOPOTOXO\O`OdOhOlOsOzOOOO OOOOOOOOOOOOOOOOOOOOPP PP ;Zx0NSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecembertty0uvr&(ƒ  d    L$&(< ( 6$ $""$ $" (  D     .^6  "$">>&((((  "4 P  &( D: & & & & & (" 8   & *( "(  $ $ $ $ ("(* .^ $ n &8 L6$    2                   t      ^                                                8   $&8 X :bl(D8.6:r4  :L^ z  h*L :*VH 0 20"$D2f(P(L    &    *&( 4D"(^,0"H8<&F<\ "R8:   ($            L|hD<,( F@(2.6Z*:<0,>28, 2fN$@("0   J&8H@*<* "8(6&   $80     L       ,^*   "  2@ 8.:,&$  0   F bB4$j.@ T  "4d  8<$,  * B$n@.02 ,dP<(6 ~*2 & . $ 6<0B8t.&    <  . ("$ J" @BD* :Xj"FD<z<   P"&B^&:D`V26  &BT:F 60D*J0@*.&("F8:Z6$BF$&Bn$&B R>"t        "  4T",  & B`, ,F"& z &z *z(:2 l@&  2   jZP 82 " 2,   *H(64V , ,>  *H(8P0  @ X,P  B$J 4$ 2 X>N&>  \&:  6*R@" "<" "   \28 J J *T$D" @"^h Fv ( X&&"$*B,ZJ 26rX"N4<BfB&xB,D"H$b `,h$&j .ZR&..0 $ ( r6V< t \r$ d lB\2p > $ \XL r"b$@ . P & *4$  ",2  $2 0"t6 . "^H , 0v    N $"&, ( L , X"T4&B>@:    *  &    , $    (  0.$,0  Z  >" >( d (":B: V< ~tD.R,<*$:.(6B   >0$<  j&,$    0$0&&0> 4                                                                                   lH0 $ $ $ $ < $ < $ $ $ $ $ $ 0$ $ $ $ $ $ $ $ $ $ $00000000 $ $0000 $0 $0 $0 $00000 $0 $ $ $0 $00000 $00 $0000000 $ $ $ $ $ $ $ $ $6666666666666664$ HVVV20p L"              rH0 $ $ $ $ < $ < $ $ $ <0H0H0H0(:$P   $   4 $ $ $ $00  zB0(: 0L"U(Į}Ww` EAPmh=c5z1CSQ9 وv?F1xv|K<ܾA{c#s+6ЩsQQv  U\BC@;QQ)இP Vн2z2 ׊ZJQPw(h2tv  (81 .7?CDP0OP=(L|?P(\B+ 5D|{9B1buQ(|p Tpk93 >.}/o~mrx ϼՍqu#$jEPK6] ?t6&ST_12_93/SOFTWARE/MORPHER/JO/JOE11.TIFtgt -t!tR%RIQI1TQ+j40T5*I,XV.vң.QŲ.)*u],s|O~-_RbJJvSXվPqt֐Mzڵ•Y+X/-Ek(s5z!fd*Nq%"f%Ј?4/1ݬf_|⋴!OGļЕ94'ѐdǠTS$&E(n&:[B.K)}XR nX2oTeRƇRDZ=Xx> ɰE6Ic3,1>ǃ;HGwWߟD?yy X~9~MO}1$bߌG\q~;yS_ 26Yo|B}+{k}ftW[3 ['x6D5~n{?z%Z&XwqIy$l`Ia?qleU'ƿS98pOF93 ?2[}"E-W߭ĮvJNƻM#~}!4U6edئ>e˦%H!3he;4gMfeS`+;.E!scoum{h-j 5|gko'5O^> u a˝'8b8V[d컄Gs%cdK}x{d}Y;{|S[ro[e8 d2 e,`0e$ eeee e dB9k/?< NA\O#hk#nk#k#k#k#k#ka#i.HyN0<`0<r;kB/o `:0<`40<`.0<`(0<`"HP o P@e P@b _/9kNu _0<Nh"yiBb0<Na#i2BgHz?<Ns`?9i(?<LNAJ9kg~p ykav#kp ykad#kp ykaR#kp yka@#kp yka.#kp yka#kp yka #kNuH瀠>NMPO @$_NuHR!|1|װr!A!A 1A!|E!JA4pxd2E `QB$_NuJyi:fB hװg HRHP$HHQ"*a b/??<?NAO _$_Jk z"(aByi:NupNuJyi:fB hװg HRHP$HHQ"(a /??<@NAO _$_Jk ,"(adByi:NupNu2<װ0(Ag AAf rHPa" _Jyi:f ( g"@N3i:Nup42<d0`QNur4d`QNupQNureQNutcBNuA@RBAd2SQNu?J@fpSAt@e6@AdS`"HQ6Nu0(|װg HS&H|ײg0Jyi:f"rpaZByi:Jo KrpaFByi:p&_Nup`Jyi:f"0(|װg B|ײf (g "@N3i:Nu?d~V@|| dp yk"HPcR42 hPb2f@? <aR g`00$ Ck$i!I!J#H%H$B#k1|2@| d($ "h$h#J%I#k$B@pXNu0#k1Ap@0Nu2 j||?dg0(Pf@|m$f`l$ Ck$i!J!I#H%H$BC0k?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HP hװgdpa _NupJ@k hײe^H&H(I6xc`p aQ`aQJyi:f (g "@N3i: KLNuC` Jf" SA4TH!QNuJyi:fn"( b2(f* (gHP"@N _3i:fFJ f`2"("hg1` 1R!A<g̰< g(NuJyi:g#i23i:i(`Byi:Nu$jD BJjD$HBJBf.$HBJBfH@B@H@$jDNuB@H@HB2@0H@0 H@`?BCdQCJkSCҁ[DCHAt4B@H@HBBHBHA60dSCp06`$jD BJjD$HBJBf$HBJBf $jDNuHBЂ$`HBЂ`p`QBNuJyi:f0"h"(R!A (Se (gHP"@N3i: _NuJyi:fHR??/?<BNAO $_JlapNuByi:NuRHHPJ@l JAg-D@C&Ye2)t AUA 2f"_ Nu'd 09876543210iBcNu?@ f TO0<`0Nua3i:NuJlD@| |l@0; `p`pNuHRHS&Hp'@'@'@ 0+|ױg$<d'B|ײf2<<`'|"'|6p`7|ײ2<=J+4gl$+4NULgVAUXgPRNgCONgDļLPTgvCOMgX'| ?Hk4?NAPOJl a 7|װ`6p&_$_Nu kױgp$<'B'B`p'|B`+7<1SbJ+8fp`+7<1UbJ+8fp`HSHR&H??<>NAXOJ@f7|װp$_&_Nua~`a< gpNuHRHP/(/(??<?NAO _$_JkF!@ BpNuHRHP/(/(??<@NAO _$_JkBB pNuHPa _J@f$"( g"h R AjtaPpNuHRHP"h (B`J!f QHQ?< NA\O _$_JkBB pNu3fi:Nu3gi:Nu3hi:Nu3ii:NuBykBykAp,"@ "A3@@k"`"p"@ "p1B3k"ONu/ Hz?<&NN\O$_NuEA`/ HP?< NA\O$_NuJkfAkByi(Bi*Bi2Byi:Bi<i@BPC!IC!I#kBkB9iANzJykgiAAiFC*NrAiFNAjtCNZAjtNNuNVH NpEvdQACNA < N `N `J@fvAN|N `vLN^NuH Np&$H0A Hr02 @ @cA@LNuH Np(&$H0A Hr DcA5 LNuNVNp nHh nHh nHh n h"nCN&O n?( n?( n?( n?( n?( n?( n2( n4(pN&O N^NuNVH/0NFXO0<N'> RpN&v6/0NXO R0N(2| R0NP0LN^NuNVH Np(EAprN' Rp CzN% Rp CnN% Rp CbN%v0 RrNC0Y@ RN% Rp CN%[CSCGRCKAkC RpN%LN^NuNVH0NpE6<$Q$H < N&HAC0< QB ` J$j gACN nf f!K `AC0< Q K < NkL N^NuNVPH0Np$HGRACLNA < N N `A"JN N $j fAN|N L N^NuC:\TAKETHIS.INFNVH0NpE6<$QEkGAprN' RpCN% RpCN% RpCN% RpCN% Rp CN% Rp C:N% Rp C.N% RpC N% RpCN%L N^NuNVH0NpE6<QEGAprN'CApr0NCAN Sp CN%CAp1r0NCAN Sp CN%Apar0CNCAN Sp CN%L N^NuNVH NpE6<Q($HAvRC0rN:C0ANLN^NuNVH0NpEGvAprN'C Sp N%C Sp N%C Sp N%CANCANCANCAN`x 2!@f0R@A2 FfACN$^CANHnACN'XXOAJgJngHnHnCAN%POCANCANCA0S@ANCANCANp.@SDI`&Tf C SpN%A0S@ACN4ReANpL N^Nu*.*NppNxNukNuNV/ NpEkJ9kg ykNAprN'C Rp N%C Rp N%C Rp N%CANCANCANCANNAjtCtN N N AjtCN N N AuCN$DAjtCN N N AiFN N $_N^NuATake this! Version 1.3 (pre-released) Weitergabe nicht gestattet!LWritten & (C)1993 by Capricorn Innovative Software-Systeme / Daniel TauschkeProgramm beendet!NV/ Np$H |uCN(AuCNHnHnCAuN%POCANCAp NCAp N$_N^NuNVHCARN N < N$HAC0< QB 'J &k ARNnN Jg` pA N&L N^NuC:\TAKETHIS.INF[3][Eine Dateiliste konnte nicht|gefunden werden! Kopieren Sie |TAKETHIS.INF auf c:\, oder|erstellen Sie eine neue Datei!][ OK ]NVtH0Np-Y-Y-YY&n$Hv`"ACN nfAC0< Qv$j Jf fJfHCNANCApNCAvNC2Avp^NAvpN&L N^Nu[3][Die Datei D ist|noch nicht in der Liste!|Geben Sie bitte alle Daten ein!][ OK ]NpJwfHNN(N%N$3kBkB9k |kNH |uNB9kHyk ykCuNXON#Jg yxm yxlAvCp Q`AvCp QpN'>N'AvN'AkNN`rpN"2]A|bbA2;NJJJJXXXX&,XXXX>XX28N`,N\`&Nd` Nh` |kN`3kAN.J9kgNu TEST240.RSC TEST2.RSCN&63xJyxmxHyxHyx |x"|xN'PO3w3wx |xp0Q3xHyx"|wAxN(TXOJywn N&Bp`pNupNuJxf NN(NuJl|#`p3xNup/N%XOJk3xNuH>O&H(O,Ivp:@+g N%<A` v+N  3\0g"H<@?Hl?<GNAPO"LJf|\`CA0`QB*L&NRN`,<.f .fSN .\fTM` \fRMN f SOL|NuH0$I&Hx06E0` "\gS@fB`@INRJ o"HRI0` <.gSCfC oSJ`QL NuJxfNN%ByxNuHR?<NATO$_NuHRO//HQCHQ?N?<KNAO$_NuJxfNNuI"q "QNI"q "QN Cx2"<}0<H0NBL Ay0Nup "<`p"<`Cx222"2C#H|p*"<`Cx3@#H|p2"<`Cx222""" Cp3"< `\O"O?N0Cx3@#O|p4"<a2ONuHQCx#H|p6"<a"_2"o2"o2"o 2NuHQHPpM"<a"_2"_2"o2"o2NuCx3@#H|pN"<`H0$H&IOCANCANCx#O|A#HpZ"<a|6"o2CAN CAN 0OL NuO"ONCx#O|pn"<a0ONupo"<`HPCx3@3App"<a"_"zNuOHP ICx#HA#H|px"<a _"O?N 0ONu/ HQEx5Q C0" #H o #H AZ#H FSEL_INP'XRSRC_LOA'RSRC_FRE'RSRC_GAD'SHEL_REA(V_OPNVWK(T_initFla}GEM(z LB" N       :B B*$ 6(N@44* rd0<N< 4f6(P 0 (\$jZ8N :   60.L6  :.* &"   $ 4* &2          " * d * (&0 d    d   $tH>* "(0"T* * **$: M7..o$2!aЅkI"2/Qg# b^ӝ-(͵ER~lOy[U\ V OR] >VwT _uD͹.iR+~Jq~pC-ޡ(|$Bnn"r-OttV;ȸ(e@feV.F:l+_x@9K8L#X'>y\ #Ri:>X5 #d~wl| @Pk8tq3ȬWB ^iu}6a(ȜZ1-A;%f:bʪ LD5b~}Ю,pY(v j`,NT9BeO-0.3WgqB-TC@)[\F1up\ +Ezlu#3>X}양sDpӑg0ڛ*!506(45:"M)NܼQy@Mj;ۦluE '(o^`A޸ Pas8%]Uq} 1c^>~*v! }ݍbq gZ~^*C/X!oE(ZlغLח tIV!V;C'@>?W o?neNպRo'*Y%̨,"hq8g|6JAz(C_ v0<6d,ºǝ|/?ENk8#[ے[{Myl>*,wAHxZ OxNwߜNzAnleitung ========= Capricorn Innovative Software-Systeme prsentiert eine Daniel Tauschke Produktion TakeThis V1.3 (C)1993 by Daniel Tauschke/Capricorn ISS Haftung ======= Fr Schden jeder Art, die da Programm verursacht bernehme ich keine Haftung. Die Benutzung ist somit auf eigene Gefahr. (Anmerkung: Das Programm kann eigentlich keine Schden anrichten (egal wo!). Eine Haftungserklrung halte ich dennoch fr wichtig, schlielich kann man sich berhaupt nicht genug Schtzen!) Was ist TakeThis? ================= TakeThis (ab jetzt nur noch TT!) hilft ihnen! Schauen wir uns folgendes Beispiel an: Eine Datei mu entpackt werden. Dazu starte ich "LHARC113.TTP" und gebe in die Kommandozeile x A:\DATEN\GRAFIK.LZH D:\PICTURES\ ein. Die Daten werden entpacked und auf die Partition D: meiner Festplatte geschrieben. Mu ich nochmal eine Datei entpacken, gebe ich fast die gleiche Kommandozeile ein! Kurze Zeit spter: Eine neue Version meines Pac-Man-Spiel ist fertig. Ich starte den Pure Pascal Compiler (TTP-Version!). Ich greife von der Maus zur Tastatur und gebe -NF:DATEI\ +x -i F:\PPASCAL\PROGRAMM.E\PACMAN.PAS ein. Am nchsten Tag ist die nchste Version dann fertig. Also gebe ich die gleiche Zeile nochmals ein. Ist Ihnen etwas aufgefallen? Genau, man kann sich eine Menge Arbeit ersparen, wenn man ein Programm htte, da einem den grten Teil der Arbeit abnimmt. Einige hre ich schon sagen: Dafr habe ich doch diese Entpacker-Shell und mein EDISON-Editor hat auch eine eigene Shell fr den Compiler. Mag ja alles sein, aber wre es nicht praktischer fr alle TTP-Programme ein Programm benutzen zu knnen. Pfade und Dateinamen mte man mit der Maus aus einer Fileselektorbox auswhlen knnen. Das Programm sollte auch die hufigsten Kommandozeilen speichern. Diese mten ebenfalls auf Mausklick abrufbar sein! All das kann TT! Und noch ein wenig mehr... Was brauche ich fr TakeThis - Systemvoraussetzungen! ==================================================== TT! luft auf allen ATARI Rechnern! Auch auf dem FALCON - das sollte es auch, schlielich ist es darauf entwickelt worden! Sie bentigen eine Festplatte (sonst macht TT! auch nicht besonders viel Sinn). Das Programm sollte auch mit jeder Auflsung zurechtkommen. Getestet habe ich alle FALCON-Auflsungen (auch die Kompatibilittsmodi!). Fr geringere Auflsungen als 640*400 mute eine eigene RSC.Datei angelegt werden. Diese ist nicht so bersichtlich und ist auch nur als Notlsung gedacht. Aber wer arbeitet schon ernsthaft in solch einer Auflsung. Die 3D-Buttons von TOS 4.X werden untersttzt. NICHT untersttzt wird zur Zeit MultiTOS. Bei gengender Nachfrage, werde ich das Programm anpassen. Wie geht's? Wie Klappt's? - Die Installation! ============================================ Kopieren sie alle Dateien aus dem Ordner TAKETHIS auf die C:\-Partition Ihrer Festplatte (TAKETHIS.GTP, TEST2.RSC, TEST240.RSC). Man sollten beachten, da TT! eine TAKETHIS.INF-Datei auf C:\ anlegt! Klicken Sie nun einmal auf das TAKETHIS.GTP-Icon - so, da es invertiert dargestellt wird. Whlen Sie nun mit der Maus im EXTRA-Men des Desktop ANWENDUNG ANMELDEN an. Bei Dateityp geben Sie nun >TTP< ein. Fr alle Betriebssysteme bis TOS 1.06 reicht das, TT! ist installiert. Sie sollten nur noch ARBEIT SICHERN (im EXTRAS-Men) anwhlen. All Jene, die ein TOS ab 2.05 haben, haben noch ein wenig Arbeit. Als DATEI-TYP geben diese GEM, MIT PARAMETERN an. Unter STARTPARAMETER geben Sie auerdem VOLLER PFADNAME ein. Ein Klick auf INSTALLIEREN in der Dialogbox und TT! ist auch auf Ihre Festplatte gebannt. Vergessen Sie trotzdem nicht ARBEIT SICHERN anzuwhlen! Falls Sie zu der Sorte ATARI-Freaks gehren, die mit mehreren DESKTOP.INF bzw. NEWDESK.INF Dateien arbeiten, sollten Sie beachten, da sie TT! fr jede DESKTOP.INF (NEWDESK.INF) Datei installieren mssen! BIS TOS 1.06 ERKENNT DAS BETRIEBSSYSTEM GTP-DATEIEN NICHT ALS AUSFHRBARE DATEIEN. NDERN SIE DEN NAMEN VON TAKETHIS.GTP IN TAKETHIS.PRG! MINDESTENS TOS 1.0 STELLT NACH DER INSTALLATION DIE TTP-PROGRAMM NUR NOCH ALS NICHT AUSFHRBAR DAR. DAS SCHRNKT DAS PROGRAMM ABER IN KEINSTER WEISE EIN. DIE DATEIEN KNNEN WIE GEWOHNT MIT EINEM DOPPELKLICK GESTARTET WEDREN. BENUTZEN SIE DEN DATEI-VIEWER "GUCK", KANN ES ZU KOMPLIKATIONEN KOMMEN. BENENNEN SIE DANN EINFACH "GUCK.TTP" IN "GUCK.TOS" UM! DAS SOLLTE IN DEN MEISTEN FLLEN AUSREICHEN. SOLLTE ES NOCH MEHR PROGRAMME GEBEN, DIE PROBLEME MIT TT! HABEN, MELDEN SIE SICH BITTE BEI MIR. FR DIE ERSTE HILFE REICHT MANCHMAL AUCH EIN ANRUF AUS (TELEFONNUMMER WEITER UNTEN)! Die ersten Gehversuche - Bedienung! ================================== In die Bedienung des Programms will ich Sie durch ein kleines Beispiel einfhren. Nach der Installation knnen Sie ein beliebiges TTP-Programm starten, automatisch wird dann TT! gestartet. In meinem Beispiel benutze ich LHARC, den bekannten Packer! Also, ein Doppelklick auf LHARC.TTP startet TT!. Eine Alertbox erscheint, in der Sie darauf hingewiesen werden, da noch keine TAKETHIS.INF Datei angelegt wurde. Drcken Sie nun RETURN, oder whlen Sie OK. Eine weitere Alertbox erscheint. Diese sagt Ihnen, da das Programm LHARC.TTP noch nicht in der Liste gespeichert ist - TT! kann also noch nichts mit dem Programm anfangen. Besttigen Sie mit OK. Die Dialogbox von TT! erscheint. In die erste Zeile von PARAMETER BERGABE geben Sie nun "x !F !F" ein. In die zweite Zeile bitte "i !F". Nun whlen Sie bitte HINZUFGEN an. Es erscheint eine Fileselektorbox, in der Sie nun die eigegebenen Daten dem Programm, nmlich LHARC.TTP, zuweisen mssen. Dazu whlen Sie einfach LHARC.TTP an. Danach erscheint eine weitere Dialogbox, in der Sie eine Informationszeile eingeben knne. Das erleichtert es Ihnen die bersicht zu behalten. Fragen wie: "Was bedeutet diese Kommandozeile eigentlich nochmal?", gehren hoffentlich damit der Vergangenheit an. Sie geben also "Datei entpacken" (x !F !F) ein. RETURN drcken und es erscheint eine weitere Dialogbox, in der Sie wieder eine Informationszeile eingeben sollen. Hier geben Sie "Archivinhalt anzeigen" (i !F) ein. Danach erscheint wieder der Hauptdialog von TT!. Ein Klick auf OK sichert die Daten und startet LHARC.TTP. Lharc wird mit einer Fehlermeldung abbrechen, da es unsere Kommandozeile (noch) nicht versteht. Deshalb starten Sie LHARC.TTP wiedermals. Die Dialogbox von TT! erscheint wieder (ohne die Alertboxen zuvor!). Die Kommandozeilen die wir unter PARAMETER BERGABE eingegeben hatten, sind schon eingeladen. Auch unter KOMMANDOZEILE steht jetzt "x !F !F". Die erste eigegebene Zeile (x !F !F) ist also immer direkt eingestellt, deshalb sollte man in die erste Zeile immer die am hufigsten verwendete Kommandozeile eingeben. Das Programm zeigt brigens auch direkt an, was diese Kommandozeile bewirkt. Im weien Feld unter PARAMTER BERGABE erscheint unsere vorhin eingegebene Informationszeile. Was bedeutet jetzt aber "x !F !F". Nun, Lharc erwartet als Kommandozeile zum Beispiel "x D:\BILDER\GAFIKEN.LZH F:\GRAFIKEN". Fr Lharc bedeutet das, es soll die Datei GRAFIKEN.LZH (im Ordner D:\BILDER\) entpacken und auf F:\GRAFIKEN\ schreiben. Da die Dateinamen immer Variabel sind, hat TT! dafr einen Platzhalter, nmlich "!F". Um die Platzhalter zu ersetzen, mssen Sie nun FILESELEKTOR anwhlen. Es erscheint, wie sollte es auch anders sein, eine solche Box. Hier whlen Sie die Datei aus, die Sie entpacken wollen (im Beispiel D:\BILDER\GRAFIKEN.LZH). Danach erscheint eine weitere Fileselektorbox, in der Sie den Zielpfad einstellen mssen (im Beispiel F:\GRAFIKEN\). Wichtig: Immer wenn Sie einen Pfad (keinen Dateinamen) angeben sollen, lschen sie in der Fileselektorbox den evtl. eingestellten Dateinamen mit einem Druck auf Escape. Ein weitere Platzhalter ist ist "!T". Unter DATEI kann in der TT!-Dialogbox ein 25 Zeichen langer Text angegeben werden. Mit einem Klick auf FILESELEKTOR wird der Platzhalter (!T) durch den angegebenen Text ersetzt. Sinnvoll lt sich diese Funktion fr Ordner verwenden, die ber eine Zeitlang benutzt werden und dann durch einen anderen ersetzt werden. Beispiel: Sie entwickeln ein Pac-Man-Spiel. Alle zum compilieren wichtigen Dateien befinden sich in dem Ordner D:\PPASCAL\PACMAN\ - diesen bentigen sie also nur solange, bis das Programm fertig ist. Danach stehen die Dateien Ihres nchsten Programms im Ordner TEXTGRAF. Sie brauchen dann nur den unter DATEI angegebenen Text zu ndern, mit HINZUFGEN die Programmdatei zuweisen und mit OK absichern. Unter KOMMANDOZEILE kann natrlich weiterhin jede beliebige Kommandozeile eingegeben werden. Man kann sagen, da was unter KOMMANDOZEILE zu lesen ist, wird dem Programm beim Starten mit OK bergeben! Wat Nu? Die Kostenfrage! Und der ganze Rest! ============================================ TT! ist Shareware und kostet 15,-DM. Wenn Sie die Sharewaregebhr gezahlt haben (und dazu sind Sie verpflichtet, wenn Sie das Programm nutzen wollen), werden Sie immer ber neue Shareware-Programme von mir informiert (zur Zeit arbeite ich an einem Harddiskrecorder fr den Falken...). Diese knnen Sie dann einfach bei mir bestellen. Zudem erhalten Sie bei Problemen mit TT! sofort Hilfe, bzw. eine neue Programmversion. Evtl. kann auch eine spezielle Version erstellt werden, die optimal auf Ihre Wnsche zugeschnitten ist. ber alles lt sich reden - wenn Sie registriert sind. Wenn Sie sich registrieren lassen wollen, berweisen oder schicken Sie mir bitte 15.- DM (Schicken mit der POST auf eigene Gefahr!). Einen Brief brauche ich auch, darin geben Sie an, fr welches Programm sie sich registrieren lasssen wollen, wo Sie wohnen, Telefonnummer (freiwillig), welchen Computer Sie bezitzen (Wieviel MB, Festplatte, Emulatoren?), Kritik zu dem Programm und evtl. auch einen Programmwunsch. Haben Sie also eine Idee, was fr ein Programm dringenst auf dem Sharewaremarkt gebrau cht wird, wenden Sie sich doch mal an mich. Vielleicht gefllt mir Ihre Idee so gut, da ich ein solches Programm schreibe. Das Programm darf weitergegeben werden. Bei einer regelmigen Nutzung ist die Sharewaregebhr von 15,- DM zu zahlen. Die Weitergabe ist durch jeden, in jeder Form erlaubt. Nur eine Bedingung gibt es: Das Programm wird nur im ganzen Ordner TAKETHIS weitergegeben. Entwickelt wurde das Programm mit Pure Pascal und Interface. Dank an dieser Stelle an: Meinen Freud Sebastian Lovens "Ja, ja, ich mach das noch, aber nicht vor Donnerstag nchster Wochen." Meine Schwester Sandra Tauschke "Das interessiert mich nicht..." Meinen Freund Jens Burandt "Hey, das ist gut. Aber wre es nicht besser wenn..." Meinen Kater Toulouse "Wrdest du bitte von der Tastatur gehen!? fsdt369059t6 'tz'r" Meine Adresse Daniel Tauschke Gellertstr. 11 47057 Duisburg Tel: 0203 / 370 369 Bankverbindung: Daniel Tauschke Stadtsparkasse Duisburg Bankleitzahl: 350 500 000 Kontonummer: 33 80 17080 Mit freundlichen Gren Daniel Tauschke / Capricorn Innovative Software-Systeme z].b8O^Zr3U7/L'a͙!3S:o# }4-3/K%? oۡ 7#_]ҝ Yr _0Rޔ6M7(#UxC"dǐm^= =a <)/D2Ow k޺ eK#ݧCLa]&dݍ191cgݦX[Ygᤰ yO)6YDE޴LRع?xEin>{ 7>ab6I8kB]+llj+yr='v^\?=|4t:pLuBW0MV\VܛZuFK=j8W㶆XMJBHT,Y2ǍW8xEiBJPL\uMuz3z(nwV攷}fxR (jy[=!Ow<or{x{?zƍiђ1H -D } *h0")h S@n{#A8>O'>8>O8>~8>>8>O'?>O'>8>O'>8>O'~8??`4`  ,!`v:b31Ӱp6;c0f8c0fc0fc0f c0gv0c1lxǼ``  @ @@^^ ] =z aa!  D&!AA@ I @ P  H! @AA@ I @ P H! @AA@ I?PI O!?AA@ I PIH! AA@ I @P)H! @AA!"D$!AAIzC!` , - ( p (  (  ( "( 6--'",LD @D@ @Dap&4}XxDDHDPD"DH$HrDDH$HDDH $DddHD$ypg;|s0$0$ ( ( 9ls(I$&D I$i($M~(I| >I$I'|HS@ U$H$ ?DH%T@ U$H($ DM"%$D""&I($I9"ݹ9";3 ` sX9i$i$QD~$II$B|~$II$D@?$I$I$H@?$I$I4QD@s9ZUUUUUUUUUUUUUUUUUJmZUUUUUTUUUJmZUTjUUUJ@=1EpmZ}UT UUUJQ}$`mZA}UTU~UUJm~ZUUUUUTU?UUJF@a@8m?ZUUUUUTF@UZmڠ4UP* 5UUUUUUUUU2322?13#05UUUUUUUUuQ04*5UUUUUUUUuZUJUUUUUUUUUUUUUuUUJUUUUUUUUUUUUUuUUJUUUUUUUUUUUUUu_U__u_]l-`_uWX@[ouW\[*l-`uU][*@uUPo wf[? "bU~\$[*4͎(548b9U\X@H&"h$0"iIIQ"D[*ΥoO$>H("IAI"|UPPH$ H$"IGI"@[UH$ H""III"@UP]H$"H$!"IIMQ"D[ U8ݜÎs8w9UPYo[ UUPJ@ [UUUUUUUUUUUUUU` UUUJ@ [UUUUUUUUUUUUUUhaq'4 UUUJ4)J& ($M [ꪵUUUUUUUUUUUUUU$>K /' U$b J $ ZUUUUUUUUUUUUUUUU$B J $ U*$r'"J$H4I ZvȜ1G8㝠UPUUUUUUUUUUUZUQUUUUUUUUUUUZ?1U35Z;2UUUUUUUUUUUUZUUUUUUUUUUUUUUUUUZUUZ-UUZ-@0UU@DZ-@D @UU]Dp@汬1>sZH$H"DHHH UOP>DAHHZH` D!H8HUH$P DHHHZH$HD HHh UUp]=>sZ-UUZ-UZ UUUUUUUUUUUUUUUUUU@ $ Z @ T$ UUUUUUUUUUUU@@ Z6 ihalcUc@@@2@@4$$ Z80P@@"@@$$ Ug00P@@R"@@$b$a ZKqP+C@R"@@$B$AU@""`@$r$&q Z6`'qvUUUUUUUUUUUUUUUUUZUUUUUUUUUUUUUUUUU[WUUUUUUUUUUUUUUUU__UUUUUUUUUUUUUUUU `3_ꪪ@ 0@ $UWU@ $*Lias[sL0k# s@I8v8t@UT Uc<Œ2F$H@1$"I DJ&I@ D&$*k3"3?< D !$>ID KI@ >D$@UT+P2!Uc2?8!Ē  8!#  I ā I@ b@$*+hc"Z:"D H!" I D I@ @ @pUWU"D$ H@!#"MD $M@"D$$qs sO"@  DID@q H"@ ĀĈID??@ H"@ H$DIDHD"H"@ I$DID$~G8y;w`9pnLE?@D sLN8? "@DDD >D|? dDD@ DD@"@DDD8?` >`? @ )  ? @  &#q]isf#$R"H2DbD!#$H$"'>P DBD!"$O '$ `!ĈBD!"$H#@$ P"DBD!"$H$$R"H"DBd!2&H$ssqp8s~" C h$0< $#  $ $  pp   ?< ?~ ?< ?~ ?< ?~ ??~ ??~ ?~ ?~?~?~?~?~ ?? ?? ??~ ?<?~ ?<?~ ?<?~ ?<?~  @?@@ @ @@ D @ @@@p;@xAJ8^ GxPN^Dx@l$0@AR!a Hl(Q!aD P@((@"b@@ P() PP@AI@! P@((@"B@@ P() PH@AI0)!?@((@"B@@ P() PF@AQ)! @((@B@@ P() PA@AiE! P@(( EB@!@ P() PA@AI!@h$0B!"a h(!ADp!@#xB^?(xGNADx@!@ @@@ @@@ zJ%x//GG=HNqR!!)0HdH@HHCQQ"@b@@ H$ (HBb$  B@@ H$ (DDBለ$  B@@ H$P(DCH'B@@ E$P(DBE$B@@ E$ P(EBE$  B!!! d@HHBCAE"@zB! B=@!5S^uOaO7Lm۷,=d_B&ok*ΕݪY+/t.e=]w֥ߺ) 9h7>O'8zםktb۽5_S|w?f߶g֟1gﳶ\ε]I ! 3,Y17-9՜Co?p{K30  $*d0x(  ' $<$X$t$   ' $ $ $0     8         T&   7 NL0E<  H6 3Qh+ p2k r%%4Rw%%'X1111  M ~11 p   ! 4 D E F s -3   ' $L U0P Fileselektor Hinzufgen AbbruchOKTake this!Written and (C)1993 byCapricorn ISSOKHilfe...Zusatzinformationen...OKZeile:_____________________________Para.: _____________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_____________________________Para.: _____________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_____________________________Para.: _____________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_____________________________Para.: _____________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHELP Parameter bergabe Kommandozeile _________________________Datei: _________________________XXXXXXXXXXXXXXXXXXXXXXXXXDaniel Tauschke____________________________________________Info: ____________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDanielTauschkeDanielTauschkeLD @D@ @Dap&4}XxDDHDPD"DH$HrDDH$HDDH $DddHD$ypg;|s0$0$ ( ( 9ls(I$&D I$i($M~(I| >I$I'|HS@ U$H$ ?DH%T@ U$H($ DM"%$D""&I($I9"ݹ9";3 ` sX9i$i$QD~$II$B|~$II$D@?$I$I$H@?$I$I4QD@s9ZUUUUUUUUUUUUUUUUUJmZUUUUUTUUUJmZUTjUUUJ@=1EpmZ}UT UUUJQ}$`mZA}UTU~UUJm~ZUUUUUTU?UUJF@a@8m?ZUUUUUTF@UZmڠ4UP* 5UUUUUUUUU2322?13#05UUUUUUUUuQ04*5UUUUUUUUuZUJUUUUUUUUUUUUUuUUJUUUUUUUUUUUUUuUUJUUUUUUUUUUUUUu_U__u_]l-`_uWX@[ouW\[*l-`uU][*@uUPo wf[? "bU~\$[*4͎(548b9U\X@H&"h$0"iIIQ"D[*ΥoO$>H("IAI"|UPPH$ H$"IGI"@[UH$ H""III"@UP]H$"H$!"IIMQ"D[ U8ݜÎs8w9UPYo[ UUPJ@ [UUUUUUUUUUUUUU` UUUJ@ [UUUUUUUUUUUUUUhaq'4 UUUJ4)J& ($M [ꪵUUUUUUUUUUUUUU$>K /' U$b J $ ZUUUUUUUUUUUUUUUU$B J $ U*$r'"J$H4I ZvȜ1G8㝠UPUUUUUUUUUUUZUQUUUUUUUUUUUZ?1U35Z;2UUUUUUUUUUUUZUUUUUUUUUUUUUUUUUZUUZ-UUZ-@0UU@DZ-@D @UU]Dp@汬1>sZH$H"DHHH UOP>DAHHZH` D!H8HUH$P DHHHZH$HD HHh UUp]=>sZ-UUZ-UZ UUUUUUUUUUUUUUUUUU@ $ Z @ T$ UUUUUUUUUUUU@@ Z6 ihalcUc@@@2@@4$$ Z80P@@"@@$$ Ug00P@@R"@@$b$a ZKqP+C@R"@@$B$AU@""`@$r$&q Z6`'qvUUUUUUUUUUUUUUUUUZUUUUUUUUUUUUUUUUU[WUUUUUUUUUUUUUUUU__UUUUUUUUUUUUUUUU `3_ꪪ@ 0@ $UWU@ $*Lias[sL0k# s@I8v8t@UT Uc<Œ2F$H@1$"I DJ&I@ D&$*k3"3?< D !$>ID KI@ >D$@UT+P2!Uc2?8!Ē  8!#  I ā I@ b@$*+hc"Z:"D H!" I D I@ @ @pUWU"D$ H@!#"MD $M@"D$$qs sO"@  DID@q H"@ ĀĈID??@ H"@ H$DIDHD"H"@ I$DID$~G8y;w`9pnLE?@D sLN8? "@DDD >D|? dDD@ DD@"@DDD8?` >`? @ )  ? @  &#q]isf#$R"H2DbD!#$H$"'>P DBD!"$O '$ `!ĈBD!"$H#@$ P"DBD!"$H$$R"H"DBd!2&H$ssqp8s~" C h$0< $#  $ $  pp   ?< ?~ ?< ?~ ?< ?~ ??~ ??~ ?~ ?~?~?~?~?~ ?? ?? ??~ ?<?~ ?<?~ ?<?~ ?<?~  @?@@ @ @@ D @ @@@p;@xAJ8^ GxPN^Dx@l$0@AR!a Hl(Q!aD P@((@"b@@ P() PP@AI@! P@((@"B@@ P() PH@AI0)!?@((@"B@@ P() PF@AQ)! @((@B@@ P() PA@AiE! P@(( EB@!@ P() PA@AI!@h$0B!"a h(!ADp!@#xB^?(xGNADx@!@ @@@ @@@ zJ%x//GG=HNqR!!)0HdH@HHCQQ"@b@@ H$ (HBb$  B@@ H$ (DDBለ$  B@@ H$P(DCH'B@@ E$P(DBE$B@@ E$ P(EBE$  B!!! d@HHBCAE"@zB! B=@!1&@{Ls]ey(B| fyWP۸A%fEAd>*dD[Ɂ\ZB<[$N Fo Kx.]8B%t3Ir10[`G| x%_+n6`ZIxc vJ~T/Z~q $БIa/ FշҵS~,\b؟S()c8(\"%rd'O3ˢ(7хh88,v N¯gqAtv~ jw)ZtWaE]p6$*:K?ᲸS[^M?o n͌-ljz߮&Ϸ57MIsY 3N| s%rj|89~6U^+_˷/_21o͏tG>qoL ]2gh Zg>05.exc"VFԋɛ${kQCUt꺁 q~ڗL w;Ki8T>THKz_촻iap]4¿Y+DFORM1FORM2FORM3{G EkFwܖ0l5B"f $AJg3Cm; ;I6C)89Y^|#iw{b4s.&=H?)Eے_ X[n|$>hKqjYHG<nr/[;:z+ kf- 8BO|XZE۰S5!;C-XHqT;҇/ϴsl,u>hG}*4t/_g҃tV[7uH%|2}61`MX y>JՐw] h +BOs?/5e(e=?(uoy}8x05vбtJ>/-{z/Ni&߅]p8}{,tUC(V뚖h)-۬"%/kM Gm{h/R3]( H:+E0uk!}UĤA頁Da;0Y#.V%xT{Ͷ%??o4ׅ*'_kLo׿궥K)58⣄alɦV.Z