NNNNNNQp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN$O` /O/#@%`'-/1 3@5`79;=?A C@oGIMOQ S@U`W[_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` O ` ׀ ٠  ` @`!Ao   !A!!#A%a'+-/1!3A5aO` /O/#@%`'-/1 3@5`79;=?A C@oGIMOQ S@U`W[_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` O ` ׀ ٠  ` @`!Ao   !A!!#A%a'+-/1!3A5aST?A37??JABSIDE "DISKSPY -FLEXCOPY 3FORMAT : HDDISK B*MOBZCOPY KJSYSTEM AC S\BARREL DIRMOBZHELLACCkAPROTECT ACC?WRDCOUNTACCY-ZCRAMBLEPRG)M7LEES DIT7}. ".. "BFORMAT PRG#BFORMAT RSC& SIDEB TOS( SIDE_B DOC*`1\N6N N N BN N N ~N >N8*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN Hl?<N\ lfBl`0,RlA֮B lmBg?</<Hl֮?<N ?<HlTA֮ T/N ?<?,Bg?<?,BHl֮?< N PBl`0,RlA֮B lm|֮<|@ְ@֯?<?,Bg?<?,BHl֮?< N ?<?,Bg?<?,BHl֮?< N N^NuNV l9PN^NuNV l0N^Nu)Iά)JΨ"/0<NB"lά$lΨNu NV9n֤0.| A" AA-H=|` nR2.A֤H0Rn nm/,"N.X0,RN^NuNVA֤)H&Aք)H*Ab)H.AR)H2AF)H6A>)H:A&)H"?< NXT9lR 0, N^NuNV?<N0,RN^NuNV?.NT nn0<`?.?<>NX9@g0<`0<N^NuNV?.?<LNXN^NuNV/ Al&H`0+ |g/ N*X Al"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ N"P?/+?+ N&P @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.Aΰ0nf0.AΰBPRn nLmN^NuNV?>.=|0Aΰ"HPgXHf0(>N^Nu)Iά)JΨ)_ΤNN"lά$lΨ/,ΤNu)Iά)JΨ)_ΤNA"lά$lΨ/,ΤNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/N X 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0l o0, `0> Gl0<`0?HnHnHnN.BF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl/N /NBXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNVHn /.NhPN^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<N&X nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@ND 9@Hg0<`0,nBl0.L N^NuCl"2"2 2"2"2"22"2"2"22"2x9|j)l\)l`)ld)lh )ll9| CA"A"A"A$"A*"A"A "Nu[3][There is no B-drive!][ CANCEL ][3][BFORMAT won't run|in low-resolution.| |Change to medium|or high-resolution!][ Yessuh! ]BFORMAT.RSC[3][Can't find BFORMAT.RSC!][ HELP! ][2][Really, really sure you|want to format side %c|of the disk in drive %c?| ][ OK | CANCEL ][3][Error during formatting|of track %d on side %d!| ][ CANCEL ]MOBZ87@$??CON:AUX:PRT:%d $dependent single-sided disks!With SIDEB.TOS the bottom sides ofA: and B: can be assigned a driveletter. This gives a total of four360K-disks on a single system.Written by Markus The forMOBZystems Inc. 1987.disks in a special way: as two in-This program formats double-sidedDrive:Side:FORMATEXIT(c) MOBZystems Inc. 1987*** B-FORMAT ***Wp&$B"e" "    " ! >E    A B  ABK R q `*O*m$- ԭԭ//<4?<&NN\$Bg/?<1NA <*a <aar3" <aa^3$y"f <Ja` <vaza"909"09$#/<?<-?<NMP#&NuaHH@|ag$H@@߰|Dm|Pn??<NAT0@ANu <aaBgNA/?< NA\Nu?<NATNu OA fNh P g Pg, PgP y&N09"hg09$hg`09"hg09$hg `1|`1|`09"h g09$h g`0<`0<H8B>( <(,h0(@@:H?<?< ?HGRG??B/?NNL@JfFg RG`BL@Ns1|`1|`E ********** * SIDE-B * ********** A utility to use BOTH sides of a double sided disk. Written by Markus The. Press UNDO to abort installation: Enter drive to use for the back of disk A: (D-P) Enter drive to use for the back of disk B: (D-P) The drives must be different! Retry! Installation successful. Press any key to exit... Aborted! Press any key to exit...   6F  Het is gedaan met de onzinnige verspilling van diskruimte die men ENKELZIJDIG noemt. Nu is er *************** * SIDE_B * *************** Met dit programma kunnen BEIDE ZIJDEN van enkelzijdig geformatteerde diskettes gebruikt worden: enige vereisten zijn - een dubbelzijdige diskdrive; - SIDEB.TOS; - BFORMAT.PRG (en BFORMAT.RCS); - een beetje voorzichtigheid. SIDEB.TOS verzorgt de installatie. Dubbelklik SIDEB.TOS, geef de namen van de twee drives die de achter- kanten van A: en B: voor gaan stellen (bijvoorbeeld E en F), installeer ze dan op de desktop en voila; klaar voor gebruik. Met BFORMAT kunnen A- en B-kant van de diskette afzonderlijk geformat- teerd worden; dit is uiteraard nodig, voor de diskette gebruikt kan worden. Het beetje voorzichtigheid is geboden, als drive E (bijvoorbeeld) wordt geopend terwijl er een DUBBELZIJDIGE diskette in de drive zit. Dit kan onverwachte en vervelende gevolgen hebben: GEMDOS is niet erg robuust wat dit betreft... Vragen/opmerkingen? Markus The Korte Leidsedwarsstraat 70 1017 RD Amsterdam. . -.. -DISKSPY DOC.DISKSPY PRG0 DISK SPY ======== Franois Guillem, 10 Fvrier 1987 37, avenue de Paris 91210 DRAVEIL - FRANCE - DiskSpy help you to spy your disk. While running, you can activate or desactivate it by pressing Alt-HELP. The current mode is displayed on the screen with the values of track register and sector register. In SPY ON mode, the running program looks very very slow. To be faster enter mode SPY OFF by pressing Alt-Help. Track and sector are displayed en hexa. If you want to help me to develop more good programs, you can give me "a dime to spare", US$ 10 or more ... Perhaps you know superformat, there is a new version (v2.0) which can format in 11 sector-by-track mode (900K on a double side). In 9 sector-by-track mode it is "ultra" fast (16 seconds by side). It is sold with two others programs Expander wich convert single side disk to double side without data lost. The second one is a track editor. You can read track, analyze it and re-write it. This package is available for only US$ 50. If you want to buy it, make an order to : Informatique et Nature route de Cavaillon 13440 CABANNES - FRANCE - Thank you and happy cracking !!! F. GUILLEM `Hz:?< NA\B?< NA\ x4fBgNA14a6A!!hA!A! | |?</<?<1NAH>9T"yVJgSGfYA!#HLNuHARh hf,BhA62< ChgaA2<|Ba"Jyf3CRhfC$!h 8gA!@aLNu/Jx>f31!h _Ns/Jx>f31! h _NsH xC* 1T!hLNs0123456789ABCDEFAlC^0(@H;H@;@H@@0(@H;H@;@H@@pG'qA2<|JHH@a LQNur2RF&zҹN(A kL4+P>+RSGpPQNuEY'< D I S K - S P YY)< Franois GuillemY*< 37, avenue de ParisY+< 91210 DRAVEIL FRANCEY,< Fvrier 1987Y-< If you like it ...Y.< send me 10$. ThanksSPY ON SPY OFF 00 00AFFICHEAFFLOOPCOUNTFINDVBLrFONTPTRHBL0:HBL1HBL2 g 0<`?< ?0<E??<?.B/. ?< N  g 0<`^Bg0<E?/</. ?<N ?<BgBg?<?.B/. ?< N  g 0<` 0<`LN^NuNVHA-HA$-HHl6?< N \HlV?< N t\?<?<N .X=@ nam npnn?.?<?<N \ nAm nPo`nAHl?< N \?<?<N X=@ nam npnn?.?<?<N \ nAm nPo`nA0.nfHl?< N \`zBn0.n @fJ=|Hl?< N h\?<?<N "X>??<?<N \ Gng GNfBnHl?< N &\?<?<N X?.?<N X-@ n=P n=h n=h n=h n=h n0(=@/<0<2HHA>`SG0 nH|g2.0>0H=@0.no=nHl:?< N\?<?<NnX=| nl6Hld?< N\?<?<NBX>??<?<N0\ Gyg GYfBnHl?< NF\Hl?< N8\0.|A??<?<N\Hl?< N\Hl?< N\?<?<NX> Gyg GYfHl?< N\?<?<NX=@ n f=|S?.?<?<Nj\Hl ?< N\0. nA/?.?.N P @g Hl4N^XHlP?< NT\?.?<NX-@ n0nfB n0(nf2 n0(nf" n0(nf n0( ng HlTNX n0(nl HlhNX0.glHl?< N\Hl?< N\0.|A??<?<NX\Hl?< N\?<?<N Gyg GYg BgNZT?.?.?./.?<?<N g /.N"XHl?< N\ ./0.H/NX X=@<.n>.nn`0.Go=G0.gHl?< N\?<?<N|X?.??./.?<?<N` g /.N~X0.gHl?< Nl\?<?<N&X?.??./.?<?<N  g /.N(Xnn Gn8A  @0Hz?<&N\0.R@?Hn?<6NPHl2?< N\ ./0.H/N /0.H/N -@/.NXHlN?< N\ ./0.H/NP /0.H/N@ -@/.NXHlbN^XLN^NuNuNV?.NT nn0<`?.?<>N.X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ AB&H`0+ |g/ N*X AB"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NFP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN| -@?<?.B?<BNb -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NM"l$l/,Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NZTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^NuCB"2"2 2"2"2"22"2"2"22"2x9|@Nu Hit any key Error reading! Error writing!E FLEXCOPY by Moshe Braner Enter letter label of source drive: Enter letter label of destination drive: Must be different from source drive! Both the same physical drive (y/n)? Insert source disk, hit any key: Not enough memory! Insert destination disk, hit any key: Format destination drive (y/n)? WARNING: About to format disk in drive , erasing ALL data in that drive! Proceed (y/n)? Single or double sided (s/d, default:s): [formatting...] Error while formatting! Disks incompatible!Not enough destination space! WARNING: Will overwrite ALL data in drive . Proceed (y/n)? [copying...] Insert source disk, hit any key: Insert destination disk, hit any key: Destination drive has bytes free out of . FLEXCOPY finished, no errors.CON:AUX:PRT: . : .. :TWISTER PRG;!TWISTER RSC@)`LNfN 8NNN>NNNhNNrN,NNNNtNNNfN*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN< lHhN(X/,?,N\?<N?<A?<NAXNuNVH&n>. .`SG0fLN^NuNVH&n>. 0|0H|LN^NuNVpHN nBG`0A0RG G m=|HnpHnrHntHnvN,9@HnxHlHnN ?,N XTHnpHnrHntHnv?<BgNH?.p?.r?.t?.vBB?<N><<`N?Hl&Nt\0A, Pg0A, Pf0RGA 2A2 RF FmLN^NuNVBg?</,NP?< Bg?.?<?,B/,?< N 0,g&?< ?<?.?<?,B/,?< N N^NuNVN/<@?<HN \)@BlllHnHnHnHnHl&NH?.?.?.?.BgBgBgBgBgN 0.T@?0.T@?0.S@?0.S@??< BgHl&N BBgN\BBBgHl&NN=@ nf`0B?<Nb\0,|gBl`9|0,|g9|`BlHz>?<&N|\0,fBgN|T?<NrTBg0,g0<`0<?/<ap<><ad.<9g Sfa~NuNq<0g<aF<DNuQNuANHxM9@9@1>)o9o9o9o9o9oC JlgC ~>,OO l)HJij:##a&Biag~ aHfag 3|LxNu <`B/<>)ah<<a LxBx>Nu>,Nq<aD<<``aHfDBi<BGa,<><a <<a,a|a$f 3l<NuBFaf <fBiNu0).<<af.<aSg9faBFNua|Nu<><a><QaNu1 0,Rl a2<>)aXB,<>,aJ   Nu@|9FNua$3`a3`a>9`a09@?>< Q>FNu )I)J"/0<NB"l$lNu NV?.?<LN@XN^Nu)I)J)_NM"l$l/,Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,Nu)I)JHl)_Hl" <sNB"l$lNuNV9n d9| Bl9| 9nN0, N^NuNV9n d9|Bl9| 9nN0, N^NuNV9n d9|Bl9| 9nN^0, N^NuNV9n d9|Bl9| 9nN20, N^NuNV9n d9|hBl9| 9nN0, N^NuNV)n)n .мZ)@9|dBl9| n 9PN n 0Ad)HA )HA)HAd)HN^NuNV9|eBlBl 9nN|N^NuNV9|BlBl 9nN\N^NuNV)n 9|%BlBl 9nN6A )HN^NuNV9n|0.| AJ" AA-H=|`" nR2.A||0Rn nm/,NX0,*`N^NuNVA|)HA\)HA:)HA*)H A)HA)HA)H?< NNT9l* l\|`N^NuNV?<N&T0<`N^NuNV9n:9n <9n >9n@9nB9nD9nF9nH9nJ9nL9nN9nP9n R9n"T)n$9n(V9n*X?<NT n,0, n00. n400 n802 n<04 n@060,*`N^NuNV)n9n :9n<9n>9n@9nB9nD?<*N2T`N^NuNV)n9n :9n<9n>9n@?<+NT`N^NuNV)n9n :?<,NT n0, n0.0,*`N^NuNV)n9n :9n< n9P>9n@?<.NT n0,0,*`N^NuNV9n:9n <9n >9n@9nB9nD9nF9nH9nJ?<3N:T`N^NuNV9n:)n ?<4NT`N^NuNV)n?<6NT n 0, n0. n00 n020,*`N^NuNV)n9n <9n>9n@?<KNT`N^NuNV?<MNT n0, n 0. n00 n020,*`N^NuNV9n:)n ?<NNNT`N^NuNV9n:9n ,A&H??N X??NZX??N$X??NX??NhXLN^NuNV n"n 0222XS@PSA22N^NuNVH>.<. &n 0Sm40km,0k=@0nn0+k=@0nn0<`0<LN^NuNVN?<?,NX?<?,NXBg?,N.X?<?,NXHn/.N:PHn?, n N\NN^NuNVN?<?,NX?<?,N.X?<?,NXBg?,N@XHn/.NPHn?, n N\NtN^NuCA"A"A"A"A"A "A""A."A4"AN"AT"C"C" C"C"Cv"C&222 222"222 2222222"22 22222222"22 22222222"2222222222"2222222222"22222 22222"2222222222"2222222222"22222 22222"2 22 22 22222"22222 22222"22222 22222" 222222222 2" 2222C""C2C"22222C22222 2A "2222NuNV=nU>%NNSnfN^NuNVH0&n>. <.$n=G`b0 K0(ng<=G>. K>( Gf>. K>`=G>. K>0Fg GfL N^NuNVH>. < n<(0|f0 n0( |g0<`0|g9G0<LN^NuNVH>. < n<(0|g0<`>0|f0<`00,g0,ܰlf9G0,f0lf9l9G0<LN^NuNVHn?. /.N~ ?.?.?.?.Bg?. /.N N^NuNVH&n>. 0 K0( |f0 Kh ?/ N\LN^NuNVH&n>. 0 K0( |g0 Kh ?/ NB\LN^NuNVH0&n>. <.:.$n0Jg|Bl0| g`J nBP9|Hz,?. ?/ NX\<: K:(`0Gg ?/ N\0 K:0Ff?/ N \LN^NuNV0.  n=h0.  n=h 0.|@=@0.|=@0.|=@0.|=@0.f 0.g0.g0.f nBP0<`0.g nf=|`Bn0.gl0.ff0.|g?. /.N\`L0.f2?.0.6<@??. /.N* J@f nBP0<`L`0.  n h 0.f 0.|g0. n n00<`` 0.f nBP0<N^NuNVH&n?<N$TBG .fA8-H .fA-H:<`p0n g& n g>. Bn ?<HnBg?/ NHnHnHnHnHnHnBBBBBBB?<?<?<?<#N<<=@0< ng0|gFHnHn ?.?. ?/ nN:0g"0.g0g?<Hn?.?/ N0|gpA/?.?.N6PJ@f?<?<?<N\`D?.?.?<Bg/ N =@ n fBn `Hn ?.?. / nN :0g0. Gg 0. g0g?<HnBg?/ N0f?<N$T0. LN^NuNVH&n>. 0f0<`6< K< Fg"`>< K<0 K0(Gf0LN^NuNVH0&n>. $nA/A/?/ N00 K5h0 K5hL N^NuFormatExitSingleDoubleABThe TwisterdriveDavid Small and Dan Mooresidesby[3][There was error formatting|the disk.][Abort]xxxx$xFormatExitSingleDoubleABThe TwisterdriveDavid Small and Dan Mooresidesby  $ + 07 >@ B   N T n tx. C*.. CBACKUP PRGD+eBACKUP RSCHE|`\ tNN&6N$rN)N4:N4N4zN&N3N6N5N%N4N&N8N% N$N9@NURN\NZ. .`SG0fLN^NuNVH0&n$n >.`SG0fL N^NuNVH9n^`>,^2< HǏ:,^2< HŋHE E lBF`<<| 0< Enl8< E`8.| 0.|g$?????.B/. ?< N'-@`"?????.B/. ?<N'-@ l .`&0HѮ 0l^0n0.f20<HLN^NuNVH&n>. <.:.Hl:NbX0,^GH0,^G@>,^`<<`N?HlN3\0A Pg0A Pf0RGA: 2A RF Fm ,vAA)H0 ,zAA)H( ,~AA)H, ,AA)H$ ,AA)H ,AA)H ,AA)H ,AA)H ,AA)H ,AA)H BBgN1v\LN^NuNV/ ,&@Bg?</,NLP&7l?<A//,ZNT 7l7l ,2,A'@ ,2,A'@0,A'P"0,A'P&7l*0,A7P,&_N^NuNVH0Bg/,?<BN ,м&@ ,м$@BG`0 JA  @||gz: J*ʼ0A0 GEMf0A0` 0ABP0 J (2A 0 J (2A ` 0ABPRG GmVL N^NuNVH..<. &nHlfNhX`:Bg/ ?</N J@gBg?</ NPHl~/ N0&PRSF0fLN^NuNVH..<. &nHlNX`Bg/ ?</N RSF0fLN^NuNVBBgN/\BNXHnHnHnHn/.N.J?.?.?.?.BBBgN-0.T@?0.T@?0.S@?0.S@??< Bg/.N,BBBg/.Nx=@0. nh ?.?.?.?.BB?<N-B0.N^NuNV .g l !n$HlRHlTHlVHlX/, N-v?,R?,T?,V?,XBBBgN,0,RT@?0,TT@?0,VS@?0,XS@??< Bg/, N+B?<N-\`*0,Xg$?,R?,T?,V?,XBB?<N,BlXN^NuNVBn`p0.A0g 0.AJ0 l(h `0.AJ0 l(h 0.AJ0 l(h Rn nmBl l(h*Bl l(h l(h9| l(h l(hBn l(hj l(h l(hHnHnHnHn/,(N+?.?.?.?.BgBgBgBgBgN+Z0.T@?0.T@?0.S@?0.S@??< Bg/,(N*<?<?< l(/(0,A/N, ?<?< l(/(0,A/N, 0,A0gHl l(/(N,tP`Hl l(/(N,`P0,A R2, SA/0H/N' X9@0,A R2, SA/0H/N'VX  gRl?<?< l(/(0,H/N, ?.?.?.?.?< ?</,(N)BBBg/,(Nx=@ nf,?.?.?.?.BgBgBgBg?<N)0<`2 l(0(|g0<`0<9@ l(0(j|g0<`0<=@ l(0(|g0<`0<9@Bn`.0.AJ0 l(0( |g9n` Rn nm nf?.?.?.?.BgBgBgBg?<N(?<?< l$/(0,H/N* 0<Cl l$ hD0<Al l$ h0.g l$h` l$h?<NJT)@0<N^NuNVH<<0,A)P ,2,AАS)@Bl`-l?<?< l$/(T0,HR/N* /,$NX=@ n f` l$0(|g|9l lf0<`0<9@9| BnHlNXHz?<&Nt\0,g(BNrXHl?<N'\ @W|=@g`0,f0.g`* lfDBg ,м/?<BN z ,2< HЁU)@ ,м&@><`& ,2< HЁS)@ ,м&@>< ,Ȱm ,U)@<<BEN`zBg/ ?/,N =@g?<Hn(BgNpP. ||=@. ||=@.!||H-@."|@H.#|H. ||g&?.?.?./,/.Hl,Hn(N!R` ?.?.?./,HlHn(N!0BNXHn(?<N&J\/ ?/,N: HlNX??,?/,?<N* Jg.Hl,Hn(N PBN~XHn(?<N%\)n``0HѬF&l ,мȰl<<>` ,,Ȝ> ,̰m~Rl0,lmLN^NuNV ,-@?<?,Bg/,BgN nC nApNN^NuNVH/,NX l0(j|gBl`9|0<Al l hT/,NXHlNxX lfCA`pN49|BG`0AB0 l,h 0A0gr0A m`0AB0 l,h 0AB0 l,h ll 0AB0 l,h 9GRG Gm\Bl?<?< l,/(L/,N% ?<?< l,/(4/,N% 0,gHlr l,/(dN%ZP`Hlz l,/(dN%FP?<?< l,/(|0,H/N%V ?< ?< l,/(NdP0<Cl l, h@0<Al l h?<?< l /(0,H/N$ l,h l,hHnHnHnHn/,,N#N?.?.?.?.BgBgBgBgBgN"0.T@?0.T@?0.S@?0.S@??< Bg/,,N!?<?< l,/(\0,A/N$P ?<?< l,/(t0,A/N$* 0,A0gHl l,/(N#P`Hl l,/(N#P?.?.?.?.?< ?< /,,N BBBg/,,Nx< Ff6?.?.?.?.BgBgBgBg?<N! l,h0<` Ffd?.?.?.?.BgBgBgBg?<N!l/,NXX< Ff*Bg ,м/?<BN NHlNX`BG`(0AB0 l,0( |g9G`RG Gm Ffh?.?.?.?.BgBgBgBg?<N BG`(0AB0 l,0( |g9G`RG Gm Gf0<`0<Cl l h,0<LN^NuNVH)|0,A ЬS)@9|Bl9lHl`NX`B`V?<?< l /(T0,HR/N! /, NX=@ n f`Hl`NX ,`g9|v0,vlf9ld ,z2,AА)@ ,~2,AА)@ lf<<`<<><`HlN>X??,?/,BgN Jg8HlHn(NdPBNXHn(?<N\??,?/,Nn Bg/,?/,N =@g?<Hn(BgNP. ||=@. ||=@.!||H-@."|@H.#|H. ||g&?.?.?./,/.HlHn(N` ?.?.?./,HlTHn(NlBNXHn(?<N\/,?/,N 0HѬG ,мȰl><` .,ȞS ,̰l0ftRl0,lmLN^NuNV/,0NX @f0<`, l00(:|gN2J@gN&` NJ@gN&0<N^NuB B.x xNNVNB/<?<HN>\)@/<@?<HN*\)@ g fHl?<Nt\` N|NJJ@f0,g/,NXHz|?<&N\?,4NT ,g/,?<IN\ ,g/,?<IN\?,4NZTNBgN TN^NuNuNVB?< Nz\)@N^NuNV/,?< N`\N^NuNV` l:|| @f0<` .SJf0BPN^NuNV . l"| . l&| . l*|N^NuNV l>0 .g /.NX l.00.H&<砀 l2 /<YNX=@0.f0.H&<". ¼ l2 /<YNX=@0.f . က l2 /<YNXX=@0.fZ . က l2 /<YN(X=@0.f*0.|Hက l2 /<YNX=@0.N^NuNVN?. B?.B/. N=@0.f4 l2 /<YNX=@0.g0.f?<NT=@NNn0.N^NuNVBg/<?.BgN~ N^NuNVBg/<?.BgN` N^NuNV l2 /<YN(XBn`8/<NX @f$ l60|2.Rn n|Sn ``0. f/<YNX0.N^NuNVN?.B?.B/<N=@ nf?./. NV\?<NT=@NNf0.N^Nu)JBl9|9| Nq?<ap<><ad.<9g Sfa~NuNq<0g<aF<DNuQNuANHxM9@9@1>)o9o9o9o9o9oC JlgC ~>,OO l)HJij:##a&Biag~ aHfag 3|LxNu <`B/<>)ah<<a LxBx>Nu>,Nq<aD<<``aHfDBi<BGa,<><a <<a,a|a$f 3l<NuBFaf <fBiNu0).<<af.<aSg9faBFNua|Nu<><a><QaNu1 0,Rl a2<>)aXB,<>,aJ   Nu@|9FNua$3`a3`a>9`a09@?>< Q>FNu )I)J"/0<NB"l$lNu NV?.?<LNXN^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@ʱQ`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,ʱQ fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @A)X)XA BEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`d .6.HЃR$@ nH|0fRZ"H|9o R"` nH|0f$n R&@g`SE .6.HЃ @B n0L N^NuNV/ 0Q"_N^Nu)I)J)_NM"l$l/,Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NZX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp0.gHSn0.A P m0.A0| |A`0.A0|0 SR`LN^NuNVH&n n f=| A)X)XHlHl?<N|]|@0. R@?HnHnHnN|.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF0g" nm0RFA SRSGSn` nm SR0Sn`0. g SR.0. g nl SR0RnSn `0. Sn J@g$ Go0RFAH`0<0 SRSG``` SR0. g SR.><0. Sn J@g0RGA SR` SRE?.Hl /N /N XHѓLN^NuNVBn n PH|0m4 n PH|9n$0. n PHC|0=@ nR`0.N^NuNVH0&n -n @$PXgVgH|%g nR`H|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN"X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NT 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @A)X)X/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f .n nR` .R-@` nB .L N^NuNVHn /.NhPN^Nu)I)JHlX)_Hl" <sNB"l$lNuNV9n 9| XBlZ9|^9ndN0,^N^NuNV9n 9|XBlZ9|^9ndN0,^N^NuNV9n 9|XBlZ9|^9ndN^0,^N^NuNV9n 9|XBlZ9|^9ndN20,^N^NuNV9n 9|hXBlZ9|^9ndN0,^N^NuNV)n)n .мZ)@9|dXBlZ9| ^ n 9PdN n 0dA)HA^)HAF)HA)HN^NuNV9|eXBlZBl^9ndN|N^NuNV9|XBlZBl^9ndN\N^NuNV)n 9|%XBlZBl^9ndN6A^)HN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV9n|0.| AD" AA-H=|`" nR2.A||0Rn nm/,NX0,*`N^NuNVA|)HA\)HA:)HA*)H A)HA)HA)H?< NNT9l* l\|`N^NuNV?<N&T0<`N^NuNV9n:9n <9n >9n@9nB9nD9nF9nH9nJ9nL9nN9nP9n R9n"T)n$9n(V9n*X?<NT n,0, n00. n400 n802 n<04 n@060,*`N^NuNV)n9n :9n<9n>9n@9nB9nD?<*N2T`N^NuNV)n9n :9n<9n>9n@?<+NT`N^NuNV)n9n :?<,NT n0, n0.0,*`N^NuNV)n9n :9n< n9P>9n@?<.NT n0,0,*`N^NuNV9n:9n <9n >9n@9nB9nD9nF9nH9nJ?<3N:T`N^NuNV9n:)n ?<4NT`N^NuNV)n?<6NT n 0, n0. n00 n020,*`N^NuNV)n9n <9n>9n@?<KNT`N^NuNV?<MNT n0, n 0. n00 n020,*`N^NuNV9n:)n ?<NNNT`N^NuNV9n:9n ,4A&H??NX??N2X??NX??NX??N@XLN^NuNV n"n 0222XS@PSA22N^NuNVH>.<. &n 0Sm40km,0k=@0nn0+k=@0nn0<`0<LN^NuNVN?<?,4NxX?<?,4NXBg?,4NX?<?,4N|XHn/.N:PHn?,4 n N\NN^NuNVN?<?,4NX?<?,4NX?<?,4NXBg?,4NXHn/.NPHn?,4 n N\NtN^NuC:A"A"A"A*"A6"A:"A@"Aj"At"Ax"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A0"A:"AB"AJ"AR"AZ"Ab"Av"Ax"Az"A|"A~"A"A"A"A"A"A"A"A"A"A"A"A"A"A "A("A0"A8"A@"AJ"AR"Al"At"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A"A "A"A"A"A "A""A&"A."A:"A<"A@"AR"AT"AV"Ah"A"A"A"A"A""AP"At"A"A"A"A"A"A"A"A"A"C6"C(" C$"C"C"C222 222"222-2222222"22 2 2222222"222 2222222"222 2222222"222 2222222"222 2222222"222 2222222"222 22 22222"22 2(22 22222"222 22 22222"22222 22222" 222 222222 2" 2222222222"222@2222222" 2+222222222" 2+2 22222222"2,22 2222222" 2222222222"2222222222"2+2222 22 222"2.2222 22222"2222222222"22222 22222"222222 2222"2 22 22 2222Q2"222222222Q2"222222222Q2"22222 2222Q2"2 222222222"2222222222"2.2 2222222Q2"222222222Q2"2222222222"2 222222222"2222 222222"2222222222"2222222222"2222222222"2222222222"2222222222" 2 222222222"!2 222222222""2 222222222"#2 22222222'2"$2&222222222"222B2222222"%2222222222"2 22 222222Q2"&222222222Q2"'222222222Q2"(222222222Q2")2 222222222"*22222 22222"+2 22222 2222"2222 2 22222",22222 22222"-22222 22222".2222222222"/2222222222"02 222222222"12 2222 22222"22 222222222"2%222 222222"32222222222"42222222222"52222222222"62222222222"72222222222"82 222222222"92 222222222":2 222222222";2 222222222"<222 2222222"=2 222222222">2$22222222'2"?2-222222 222"22242 222222"@2222222222"A2222222222"B2222222222"C2$22 2222222"D2-222222222"E2222222222"F22222 22222"G2.2222 22222"H2$2 222 22222"I22 222 22222"J222 22 22222"K222 222222 2"L2222222 222"22242 222222"M2222222222"N2222222222"O2222222222"P2$22 2222222"Q2-222222222"R2222222222"S22222 22222"T2.2222 22222"U2$2 222 22222"V22 222 22222"W222 222222 2"X2222222222"2222222222"Y2 2 22222222"Z2222222222"2 222222222"[2222222222"\222222222 2"]2222222 222"22222222222"^22 22222222"_222+2222222"`2 222222222"a222+2222222"b222,2222222"c222,2222222"d222,22 22222"e22 2,222222'2"f2"2 2 2222222"222/2 222222"g2222222222"h222&2222222"i2*222222222"j2+22222222'2"k2222222222"222,2222222"l222 222222'2"m2222222222"222-222222 2"n222(2Cv"" "-"L"Z"g"n"x"~"Cp29|A()HZCJ2 2 22CB2222)|>>)|:)|6)|2)|.)| *)| &)| ")l)l)l)l)l9|CA"AN"AB"AZ"A`"A*"A "C"" "d""'""B@""";C"22222C22222 2A "2222NuNV=nU>%NNSnfN^NuNVH0&n>. <.$n=G`b0 K0(ng<=G>. K>( Gf>. K>`=G>. K>0Fg GfL N^NuNVH>. < n<(0|f0 n0( |g0<`0|g9G0<LN^NuNVH>. < n<(0|g0<`>0|f0<`00,g0,봰lf9G0,f0lf9l9G0<LN^NuNVHn?. /.N~ ?.?.?.?.Bg?. /.NN^NuNVH&n>. 0 K0( |f0 Kh ?/ N\LN^NuNVH&n>. 0 K0( |g0 Kh ?/ NB\LN^NuNVH0&n>. <.:.$n0Jg|Bl0| g`J nBP9|Hz,?. ?/ NX\<: K:(`0Gg ?/ N\0 K:0Ff?/ N \LN^NuNV0.  n=h0.  n=h 0.|@=@0.|=@0.|=@0.|=@0.f 0.g0.g0.f nBP0<`0.g nf=|`Bn0.gl0.ff0.|g?. /.N\`L0.f2?.0.6<@??. /.N< J@f nBP0<`L`0.  n h 0.f 0.|g0. n n00<`` 0.f nBP0<N^NuNVH&n?<N6TBG .fA8-H .fA-H:<`p0n g& n g>. Bn ?<HnBg?/ NHnHnHnHnHnHnBBBBBBB?<?<?<?<#N0<<=@0< ng0|gFHnHn ?.?. ?/ nN:0g"0.g0g?<Hn?.?/ N0|gpA/?.?.NTPJ@f?<?<?<N\`D?.?.?<Bg/ N$ =@ n fBn `Hn ?.?. / nN :0g0. Gg 0. g0g?<HnBg?/ N0f?<N6T0. LN^NuNVH&n>. 0f0<`6< K< Fg"`>< K<0 K0(Gf0LN^NuNVH0&n>. $nA/A/?/ NH0 K5h0 K5hL N^NuHD -> floppyfloppy -> HDMeg a Minute!version 1.0OKQUITCopyright (c) 1987 Antic Publishing Inc.Dan MooreandDavid Smallbynumber of sidesformat floppiesyesnoTo floppy driveABFrom drive partitionCDEFBackup Hard Disk12OKStart :Size :Disks :Drive partition dataGEMDOS :STRINGSTRINGSTRINGSTRINGCANCELTo drive partitionCDEFRestore Hard DiskOKStart :Size :Current partition dataGEMDOS :STRINGSTRINGSTRINGStart :Size :Disks :Backup partition dataGEMDOS :STRINGSTRINGSTRINGSTRINGOrg drv:STRINGRestore partition sectorCANCELBackup Hard DiskPlease insert disk xxxxin drive Aofxxxx.OKCANCELFormat diskPartition:ARestore Hard DiskPlease insert disk xxxxin drive Aofxxxx.OKCANCELPartition:COKFrom floppy driveABRestore Hard DiskRESTORE PARTITION SECTORWARNING! Doing this will erase ANY AND ALLRestore partition sectorDATA that may happen to be on the hard diskDATA that may happen to be on the hard disk.This is your one and only chance to wimp outand not erase your hard disk!!!!!!!You HAVE been warned.WIMP OUTRestore Hard DiskPlease insert the first disk in driveA.OKYou must reboot after a restore.REBOOTSTRING xMEGaMIN dlm&dmsSlow read of floppy.BAD SECTOR ON FLOPPYSlow read of hard disk.BAD SECTOR ON HARD DISKSlow write to hard disk. yes noTwisting the disk.[3][There was an error formatting the disk.|Insert new disk to try again.][Again|Punt][1][Hard disk read error.|Error sector %ld|I/O sector %ld|error class %d code %d flag %d|Switching to slow i/o.][Continue][1][Hard disk read error.|I/O sector %ld|error class %d code %d flag %d|Switching to slow i/o.][Continue]Writing backup to floppy.[1][Floppy write error.|Sector %d|Insert new, good floppy.][Continue] yes no yes noRead backup from floppy.[1][Floppy read error.|Sector %d][Continue][1][Hard disk write error.|Error sector %ld|I/O sector %ld|error class %d code %d flag %d|Switching to slow i/o.][Continue][1][Hard disk write error.|I/O sector %ld|error class %d code %d flag %d|Switching to slow i/o.][Continue][3][Unable to allocate buffers.][Abort]@$??%d    $ T |HD -> floppyfloppy -> HDMeg a Minute!version 1.0OKQUITCopyright (c) 1987 Antic Publishing Inc.Dan MooreandDavid Smallbynumber of sidesformat floppiesyesnoTo floppy driveABFrom drive partitionCDEFBackup Hard Disk12OKStart :Size :Disks :Drive partition dataGEMDOS :STRINGSTRINGSTRINGSTRINGCANCELTo drive partitionCDEFRestore Hard DiskOKStart :Size :Current partition dataGEMDOS :STRINGSTRINGSTRINGStart :Size :Disks :Backup partition dataGEMDOS :STRINGSTRINGSTRINGSTRINGOrg drv:STRINGRestore partition sectorCANCELBackup Hard DiskPlease insert disk xxxxin drive Aofxxxx.OKCANCELFormat diskPartition:ARestore Hard DiskPlease insert disk xxxxin drive Aofxxxx.OKCANCELPartition:COKFrom floppy driveABRestore Hard DiskRESTORE PARTITION SECTORWARNING! Doing this will erase ANY AND ALLRestore partition sectorDATA that may happen to be on the hard diskDATA that may happen to be on the hard disk.This is your one and only chance to wimp outand not erase your hard disk!!!!!!!You HAVE been warned.WIMP OUTRestore Hard DiskPlease insert the first disk in driveA.OKYou must reboot after a restore.REBOOTSTRING x - $ 1 > L X [  ` (      @++ , +  .      QQQ Q . QQ  (1FO V ] d 'k&Br  QQQQ           % # * 1 8 ? H O$'h- 4 o$ - . $         4 $ -   . $      (* - ?A C 2U n+ +, ,9, ] ,'s" / |&*+', '- ( D D , |\L$. LJ.. LMOBZCOPYPRGMK7MOBZCOPYRSCQY `1Bl2vN6N!&NbN!N zN! NNN0z*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN?<A?<NAXNuNVN0N N&N^NuNuNV?<N&zT9@N*?,?,?,?,BgBgBgBg?<NZ?,?,?,?,?<Bg/,NN(B?<N\?</,N\ l0(|g?<NT` BgNT l0(J|g?<NT` ?<NT l0(|gr lfhHl?<N\ lh lh?,?,?,?,Bg?<'/,N?,?,?,?,Bg?<(/,N l0(|gr lfhHl$?<Nj\ lh lh?,?,?,?,Bg?<*/,N?,?,?,?,Bg?<+/,Nr l0(|gBlBg?<N$X`9|?<?<N$X l0(|g6N N p lh?,?,?,?,Bg?</,N l0(R|g2N lhR?,?,?,?,Bg?</,N l0(|g2N lh?,?,?,?,Bg?</,Nv l0(|g2N lh?,?,?,?,Bg?< /,N6 l0(:|g2N lh:?,?,?,?,Bg?</,N l0(*|g lh* l0(|g"HlH?<N^\ @f ?<N T l0(b|g"Hl?<N.\ @f ?<NT?,?,?,?,BgBgBgBg?<N?,?,?,?,?,?,?,?,?<N/,>?<IN"l\N^NuNVN?<N":T fHl?<N\NHlZN$XJ@fHlh?<Nn\NHl?<BgNPHlHlHlHl/,N^?,?,?,?,?,?,?,?,BgN9|9| 9|P lh?<N!T9@ @oBl lf lh` lh)|Hz?<&N!8\9l lf lh` lh)|@Hz?<&N \ lf lhb` lhJ/N^NuNVHlHlTN'P0,|A@TB,BHlHlBHlTNZ ?,?,?,?,?<Bg/,NN^NuNV l0(|g =|`Bn l0(|g Bn`=| l0(|g Bn`=|0.nf 0.|A?HlHlN&$ `&0.|A?0.|A?HlHlN% Hl?<N\ @f`N &=l=l=lN0.ְlf0.ذlf0.԰lgfHl8?<N\`|g`9n9n9n`2`|g`N``|g` `p`Bl`<AARl lSm0,H-@0,H/ ./NN -@ ,Քo =l` ,Ք/ ./N X=@ ./0,H/N X-@)lHlBgBgNXPHnHnHnHn/,N?.?.?.?.?.?.?.?.BgN lhj lh lhHl l (/N$(PHl l (/N$PHl l (,/N$P?,?,?,?,?<Bg/,N<Bn0.nf@ ng60.|A?HlHlN# Hl?<N\ @f`T lhj?,?,?,?,Bg?</,N lh?,?,?,?,Bg?</,N lh?,?,?,?,Bg?</,NjBl-l>=n0.R@?Hl l (/N" ?,?,?,?,?<?< /,N?,Bg?.?<?.B/.?<N(-@ l>?.HlHlN"^ Hl?<Nb\ @fAB`` .ѮRl lf|?,?<?.?<?.B/.?<N-@ l>?.Hl.HlN! Hl?<N\ @fAB``& .ѮRn0,nl0.lm .g`V0.nf60.|A?HlvHlN!X Hl?<N\\ @f`0.g. lhj?,?,?,?,Bg?</,N| lh?,?,?,?,Bg?</,NP lh?,?,?,?,Bg?</,N$Bn-l>0.g~0.R@?Hl l (/N ?,?,?,?,?<?</,NAg.B/Ag0B/ n0@0,8N^NuNV9nH)n ,?<NNTN^NuNV)n,)n 0?<ZNT n0:0,8N^NuNV)n,?<nNTN^NuNV9nH9n J9|Ւ?<pNTBlՒ n $0,8N^NuNV?.N 0T nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN tXN^NuNV/ AR&H`0+ |g/ N*X AR"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N^XBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV/0. -@0.n0. n -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A͖0nf0.A͖BPRn nLmN^NuNV?>.=|0A͖"HPgXHf0(>N^Nu)I͒)J͎)_͊NN"l͒$l͎/,͊Nu)I͒)J͎)_͊NA"l͒$l͎/,͊NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/N^X 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHl\Hl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hld/N /NZXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNVHn /.NhPN^NuNV n "n fN^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KAh-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N, 9@Hg0<`0,nBl0.L N^NuCR"2"2 2"2"2"22"2"2"22"2x9|P)l6)l:)l>)lB)lF9|CA"A"A"A$"A*"A"A "Nu[3][There is no B-drive!][ CANCEL ][3][There is no B-drive!][ CANCEL ][1][You have left verification|set to OFF.|Is that what you want?| ][ OK | set to ON ][1][You have left the disk speed|set to FAST.|Is that what you want?| ][ OK | set to SAFE ][3][MOBZCOPY won't run|in low-resolution.| |Change to medium|or high-resolution!][ Yessuh! ]MOBZCOPY.RSC[3][Can't find MOBZCOPY.RSC!][ HELP! ]#:\*.*[0][Insert the source disk|into drive %c:| | ][ OK | CANCEL ][0][Insert the source disk|into drive %c and|the destination disk|into drive %c:][ OK | CANCEL ][1][The CURRENT FORMAT is not the|same as the DISK FORMAT.| |Use which?| ][ CURRENT | DISK | CANCEL ]______[0][Insert source disk|into drive %c:| ][ OK | CANCEL ]%2d[3][Error during reading at|track %d, side A.| |Continue?][ YES | NO ][3][Error during reading at|track %d, side B.| |Continue?][ YES | NO ][0][Insert destination disk|into drive %c:| ][ OK | CANCEL ]%2d%2d[3][This disk is write-|protected!| ][ RETRY | CANCEL ][3][Error during writing!| |Make sure the disk is|correctly formatted.][ CANCEL ][3][This disk is write-|protected!| ][ RETRY | CANCEL ][3][Error during writing!| |Make sure the disk is|correctly formatted.][ CANCEL ][3][This disk may be damaged!][ CANCEL ]singledouble[0][Drive %c: |%s sided, %ld tracks,|%d sectors/track,|capacity %ldK,|%ld bytes free.][ OK ][2][Really, really sure you|want to format the disk|in drive %c to a capacity|of %dK?| ][ OK | CANCEL ]______%2d[3][Error during formatting|of track %d on side %d!| ][ CANCEL ]MOBZ86@$??CON:AUX:PRT:%d $ J (c) MOBZystems Inc. 198640/80 tracks formatter/copierM O B Z C O P YNumber of sides:21Current disk format:Extra tracks:Sectors per track:Number of tracks:+3+2+1NO9104080MOBZCOPYDSKFormatted disk: ________.___pppppppppppAuto format:Speed:Verification:Options:Destination drive:Source drive:YESNOONOFFSAFEFASTA:B:A:B:View source directoryFormat source diskShow info on source driveRead format of source diskExit to desktopCopy source to destinationMOBZCOPY Formatter/Copier(c) MOBZystems Inc. 1986Formatting track:Reading track:Writing track:______$=  .G/@@70>\;!:! l  <!,    }    !"    "#) "$7%@ &S 423  (y-|-89  +./.  .'(  ,*+  < @13a&e)56  6h4k %9o)t% %/   HZi x  {   ~. T\.. TSYSTEM U]SYSTEM DOCm. V].. V\LIESMICHDOCW^SYSTEM PASZ`SYSTEM RSCd4SYSTEM ACCg ****** SYSTEM - ACCESSORY ****** - eine Kurzinformation - - Copyright: Das Programm ist frei kopierbar, darf jedoch nur als jeweils ganzer Ordner (also SYSTEM bzw. SYSTEM.IBM) weitergegeben werden. Der Quelltext befindet sich ebenfalls in den Ordnern. Hier drfen nur die Default-Werte in der Konstantendeklaration sowie in den Prozeduren INITIALISIERE und ALARM_VOREINSTELLUNG und die Prozedur DO_SCHALTEN zur Anpassung an ein anderes Schaltinterface gendert werden. Entwickelt wurde das Programm mit ST-Pascal-Plus von CCD. - Verbesserungsvorschlge: Ich bin jederzeit gerne bereit, Verbesserungs- vorschlge entgegenzunehmen. - Bedienung: Eine ausfhrliche Bedienungsanleitung befindet sich in dem Ordner SYSTEM.DOC. Hier ein paar Infos auf die Schnelle: Die im Hauptdialog eingestellten Werte fr Datum und Uhrzeit werden bernommen, sobald man entweder mit OK oder mit einem der Symbole im rechten Teil des Dialoges den Dialog beendet. Nach dem Aufruf von ALARM SETZEN werden immer die Parameter fr Alarm-Nr 1 angezeigt. Das Datum wird nach dem ersten Setzen im Hauptdialog oder nach Anklicken von RESET standardmig auf den dem aktuellen Tag folgenden Tag gesetzt. Die im Dialog ALARM SETZEN eingestellten Parameter werden auch bei Bettigung von ABBRUCH bernommen, so gelangt man zurck in den Hauptdialog. Aktiviert wird ein Alarm durch Anklicken des entsprechen- den Glockensymbols im Hauptdialog. In der Druckereinstellung unterscheiden sich die Versionen SYSTEM und SYSTEM.IBM: Ein IBM-kompatibler Drucker fhrt einen eingestellten Zeilenabstand nur dann aus, wenn ihm ESC 2 nachgeliefert wird. Bonn, 23.12.86, Martin Schultz Amalienhhe 6 5300 Bonn 2 {$S0, D-} PROGRAM system ; CONST rsc_filename = 'system.rsc' ; datum_def = '010187' ; { Default-Werte fr Datum und Zeit } zeit_def = '070000' ; alarm1_ein_def = '063000' ; { Default-Werte fr Alarmzeiten } alarm1_aus_def = '071500' ; alarm2_ein_def = '070000' ; alarm2_aus_def = '074500' ; alarm3_ein_def = '073000' ; alarm3_aus_def = '081500' ; alarm4_ein_def = '083000' ; alarm4_aus_def = '120000' ; elite_flag = 1 ; { EPSON- Schriftarten (ESC !) } schmal_flag = 4 ; fett_flag = 8 ; doppel_flag = 16 ; breit_flag = 32 ; gering = 1 ; { Tastaturparameter - Standardwerte } mittel = 2 ; { Umrechnung siehe PROC Parameter_Setzen } hoch = 3 ; max_plaenge = 99 ; { Maximalwerte fr Druckereinstellung } max_perf = 30 ; max_zeilenabst = 36 ; max_links = 70 ; max_rechts = 80 ; std_plaenge = 72 ; { Standardwerte fr Druckereinstellung } std_perf = 8 ; std_zeilenabst = 12 ; std_links = 6 ; std_rechts = 80 ; { RSC-File Konstanten } SYSTEM = 0; (* TREE *) SDATUM = 4; (* OBJECT in TREE #0 *) SZEIT = 7; (* OBJECT in TREE #0 *) ALARM1 = 9; (* OBJECT in TREE #0 *) ALARM2 = 10; (* OBJECT in TREE #0 *) ALARM3 = 11; (* OBJECT in TREE #0 *) ALARM4 = 12; (* OBJECT in TREE #0 *) UHR = 14; (* OBJECT in TREE #0 *) SYSOK = 29; (* OBJECT in TREE #0 *) SYSABBR = 30; (* OBJECT in TREE #0 *) SALSETZ = 23; (* OBJECT in TREE #0 *) SPARSETZ = 24; (* OBJECT in TREE #0 *) SCHALT = 25; (* OBJECT in TREE #0 *) STDTEXT = 26; (* OBJECT in TREE #0 *) STDGRAF = 27; (* OBJECT in TREE #0 *) DRUFEIN = 28; (* OBJECT in TREE #0 *) DRUCKER = 1; (* TREE *) MATRIX = 4; (* OBJECT in TREE #1 *) TYPENRAD = 5; (* OBJECT in TREE #1 *) PARALLEL = 8; (* OBJECT in TREE #1 *) SERIELL = 9; (* OBJECT in TREE #1 *) ENDLOS = 11; (* OBJECT in TREE #1 *) EINZEL = 12; (* OBJECT in TREE #1 *) GR960 = 15; (* OBJECT in TREE #1 *) GR1280 = 16; (* OBJECT in TREE #1 *) PLAENGE = 26; (* OBJECT in TREE #1 *) PERF = 27; (* OBJECT in TREE #1 *) ZEILENA = 28; (* OBJECT in TREE #1 *) LINKS = 29; (* OBJECT in TREE #1 *) RECHTS = 30; (* OBJECT in TREE #1 *) NORM = 36; (* OBJECT in TREE #1 *) POTENZ = 37; (* OBJECT in TREE #1 *) INDEX = 38; (* OBJECT in TREE #1 *) ELITE = 40; (* OBJECT in TREE #1 *) DOPPEL = 41; (* OBJECT in TREE #1 *) SCHMAL = 42; (* OBJECT in TREE #1 *) FETT = 43; (* OBJECT in TREE #1 *) KURSIV = 44; (* OBJECT in TREE #1 *) UNTERSTR = 45; (* OBJECT in TREE #1 *) BREIT = 46; (* OBJECT in TREE #1 *) PROP = 47; (* OBJECT in TREE #1 *) DRUOK = 48; (* OBJECT in TREE #1 *) DRUABBR = 49; (* OBJECT in TREE #1 *) ALARMSET = 2; (* TREE *) ALARMNR1 = 20; (* OBJECT in TREE #2 *) ALARMNR2 = 21; (* OBJECT in TREE #2 *) ALARMNR3 = 22; (* OBJECT in TREE #2 *) ALARMNR4 = 23; (* OBJECT in TREE #2 *) DATUMEIN = 5; (* OBJECT in TREE #2 *) ZEITEIN = 9; (* OBJECT in TREE #2 *) DATUMAUS = 14; (* OBJECT in TREE #2 *) ZEITAUS = 17; (* OBJECT in TREE #2 *) TON = 26; (* OBJECT in TREE #2 *) EXT1 = 27; (* OBJECT in TREE #2 *) EXT2 = 28; (* OBJECT in TREE #2 *) EXT3 = 29; (* OBJECT in TREE #2 *) EXT4 = 30; (* OBJECT in TREE #2 *) ASETOK = 31; (* OBJECT in TREE #2 *) ASETABBR = 32; (* OBJECT in TREE #2 *) ALRESET = 33; (* OBJECT in TREE #2 *) PARAMSET = 3; (* TREE *) REPGER = 3; (* OBJECT in TREE #3 *) REPMIT = 4; (* OBJECT in TREE #3 *) REPHOCH = 5; (* OBJECT in TREE #3 *) VERZGER = 9; (* OBJECT in TREE #3 *) VERZMIT = 10; (* OBJECT in TREE #3 *) VERZHOCH = 11; (* OBJECT in TREE #3 *) TASTOK = 12; (* OBJECT in TREE #3 *) TASTABBR = 13; (* OBJECT in TREE #3 *) {$I gemconst.pas} TYPE dru_tab_type = RECORD art : (art_matrix, art_typenrad) ; schnittstelle : (sch_parallel, sch_seriell) ; papier : (pap_endlos, pap_einzel) ; grafik : (pkte960, pkte1280) ; p_laenge : integer ; perforation : integer ; zeilenabstand : integer ; linker_rand : integer ; rechter_rand : integer ; schrift : (schr_normal, schr_potenz, schr_index) ; schriftart : integer ; proportional : (prop_an, prop_aus) ; kursiv : (kursiv_an, kursiv_aus) ; unterstrichen : (unterstr_an, unterstr_aus) ; END ; param_tab_type = RECORD verz : integer ; { Verzgerung } rep : integer ; { Repeat-Geschwindigkeit } END ; schalter = (an, aus) ; alarm_tab_type = RECORD zustand : schalter ; datum_ein : integer ; datum_aus : integer ; zeit_ein : integer ; zeit_aus : integer ; tonsignal : schalter ; extern1 : schalter ; extern2 : schalter ; extern3 : schalter ; extern4 : schalter ; END ; x32_type = PACKED ARRAY[1..300] OF byte ; { Dreiklang } {$I gemtype.pas} VAR { Programmvariablen } eintrag : str255 ; system_zei, drucker_zei, alarmset_zei, param_zei, schalten_zei : Dialog_Ptr ; auswahl, pushed, config, d_status, d_test, dummy, event, ap_id : integer ; message : Message_Buffer ; No_Dialog : boolean ; screen, akt_screen : long_integer ; { Tastaturparameter-Variablen } param_tab : param_tab_type ; { Drucker-Einstellungs-Variablen } dru_tab : dru_tab_type ; dru_reset, dru_paplaenge, dru_perforation, dru_zeiabstand, dru_links, dru_rechts, dru_potenz, dru_index, dru_normal, dru_prop_an, dru_prop_aus, dru_kursiv_an, dru_kursiv_aus, dru_unterstr_an, dru_unterstr_aus, dru_schriftart, dru_make_zeiabstand : string[20] ; std_text, std_grafik : string ; { Alarm und Zeit-Variablen } datum, zeit, switch, fehler, al_datum, kanal1, kanal2, kanal3, kanal4, schaltok : integer ; alarm_tab : ARRAY [1..4] OF alarm_tab_type ; dummy_str, datum_str, zeit_str, datumein_str, datumaus_str, zeitein_str, zeitaus_str : str255 ; uhr_flag, dummy_flag, alarm1_flag : boolean ; alarm_flag : ARRAY[1..4] OF boolean ; dreiklang : x32_type ; {$I gemsubs.pas} { ======================= allgemeine Systemroutinen ======================= } FUNCTION log_Base : integer ; XBIOS(3) ; PROCEDURE set_date (datum : integer) ; GEMDOS ($2B) ; PROCEDURE set_time (zeit : integer) ; GEMDOS ($2D) ; FUNCTION get_date : integer ; GEMDOS ($2A) ; FUNCTION get_time : integer ; GEMDOS ($2C) ; {----------------- Rckwandel : Wandelt Eingabestring in Integer -------------} FUNCTION Rueckwandel (zahl_str : string) : integer ; BEGIN dummy := 0 ; IF (zahl_str[1] > '0') AND (zahl_str[1] <= '9') THEN dummy := (ORD (zahl_str[1]) - 48) * 10 ; IF (zahl_str[2] > '0') AND (zahl_str[2] <= '9') THEN dummy := dummy + (ORD (zahl_str[2]) - 48) ; Rueckwandel := dummy ; END ; {--------------- Wandel : Wandelt pos. Integer in String (max.99) -----------} PROCEDURE Wandel (zahl : integer; VAR zahl_str : string) ; VAR i : integer ; BEGIN i := TRUNC (zahl / 10) ; IF (i > 0) THEN zahl_str := chr (48 + i) ELSE zahl_str := ' ' ; zahl := zahl - i*10 ; zahl_str := CONCAT (zahl_str, chr (48 + zahl) ) ; END ; { -------------- T_Wandel : Wandelt Zeitzahl in String -------- ------------- } PROCEDURE T_Wandel (zahl : integer; VAR zahl_str : string) ; VAR i : integer ; BEGIN i := TRUNC (zahl / 10) ; IF (i > 0) THEN zahl_str := chr (48 + i) ELSE zahl_str := '0' ; zahl := zahl - i*10 ; zahl_str := CONCAT (zahl_str, chr (48 + zahl) ) ; END ; { ----------------- Wandel_Date : Wandelt Datum in String -------------------} PROCEDURE Wandel_Date (date : integer ; VAR date_str : string) ; VAR neg_flag : boolean ; jahr, mon, tag : integer ; BEGIN neg_flag := false ; IF date < 0 THEN BEGIN neg_flag := true ; date := date & $7FFF ; END ; jahr := TRUNC (date / 512) ; mon := date - 512 * jahr ; tag := mon ; jahr := jahr + 80 ; IF neg_flag THEN jahr := jahr + 64 ; IF jahr > 100 THEN jahr := jahr - 100 ; mon := TRUNC (mon / 32) ; tag := tag - 32 * mon ; T_Wandel (tag, date_str) ; T_Wandel (mon, dummy_str) ; date_str := CONCAT (date_str, dummy_str) ; T_Wandel (jahr, dummy_str) ; date_str := CONCAT (date_str, dummy_str) ; END ; { ----------------- Wandel_Time : Wandelt Zeit in String --------------------} PROCEDURE Wandel_Time (time : integer ; VAR time_str : string) ; VAR neg_flag : boolean ; std, min, sek : integer ; BEGIN neg_flag := false ; { Wenn die Zeit > 16.00 Uhr ist, ist time } { negativ. } IF time < 0 THEN BEGIN neg_flag := true ; time := time & $7FFF ; END ; std := TRUNC (time / 2048) ; min := time - 2048 * std ; sek := min ; IF neg_flag THEN std := std + 16 ; min := TRUNC (min / 32) ; sek := (sek - 32 * min) * 2 ; T_Wandel (std, time_str) ; T_Wandel (min, dummy_str) ; time_str := CONCAT (time_str, dummy_str) ; T_Wandel (sek, dummy_str) ; time_str := CONCAT (time_str, dummy_str) ; END ; { ------------- Rueckwandel_Datum : Wandelt String in Datum -----------------} PROCEDURE Rueckwandel_Datum (eingabe_buf : string ; VAR date : integer ; VAR eingabe_flag : boolean) ; VAR jahr, mon, tag : integer ; BEGIN eingabe_flag := true ; jahr := (ORD (eingabe_buf[5]) - 48)*10 + ORD (eingabe_buf[6]) - 48 ; mon := (ORD (eingabe_buf[3]) - 48)*10 + ORD (eingabe_buf[4]) - 48 ; IF (mon > 12) OR (mon = 0) THEN eingabe_flag := false ; tag := (ORD (eingabe_buf[1]) - 48)*10 + ORD (eingabe_buf[2]) - 48 ; IF (tag > 31) OR (tag = 0) THEN eingabe_flag := false ; IF (mon = 4) OR (mon = 6) OR (mon = 9) OR (mon =11) THEN IF tag > 30 THEN eingabe_flag := false ; IF (mon = 2) THEN IF ((tag > 28) AND (TRUNC(jahr/4) <> jahr/4)) OR (tag > 29) THEN eingabe_flag := false ; date := (jahr - 80) * 512 + mon * 32 + tag ; END ; {------------- Inc_Datum : erzeugt Datum des folgenden Tages ----------------} FUNCTION Inc_Datum (heute : str255) : integer ; VAR jahr, mon, tag : integer ; BEGIN jahr := (ORD (heute[5]) - 48)*10 + ORD (heute[6]) - 48 ; mon := (ORD (heute[3]) - 48)*10 + ORD (heute[4]) - 48 ; tag := (ORD (heute[1]) - 48)*10 + ORD (heute[2]) - 48 ; tag := tag + 1 ; { INKREMENT !! } IF (tag > 31) THEN tag := 1 ; IF (mon = 4) OR (mon = 6) OR (mon = 9) OR (mon =11) THEN IF tag > 30 THEN tag := 1 ; IF (mon = 2) THEN IF ((tag > 28) AND (TRUNC(jahr/4) <> jahr/4)) OR (tag > 29) THEN tag := 1 ; IF tag = 1 THEN BEGIN mon := mon + 1 ; IF mon > 12 THEN BEGIN mon := 1 ; jahr := jahr + 1 ; END ; END ; Inc_Datum := (jahr - 80) * 512 + mon * 32 + tag ; END ; { ------------- Rueckwandel_Zeit : Wandelt String in Zeit -------------------} PROCEDURE Rueckwandel_Zeit (eingabe_buf : string ; VAR time : integer ; VAR eingabe_flag : boolean) ; VAR std, min, sek : integer ; BEGIN eingabe_flag := true ; sek := (ORD (eingabe_buf[5]) - 48)*10 + ORD (eingabe_buf[6]) - 48 ; sek := TRUNC ((sek + 1) / 2) ; IF sek > 29 THEN sek := 29 ; min := (ORD (eingabe_buf[3]) - 48)*10 + ORD (eingabe_buf[4]) - 48 ; IF min > 59 THEN eingabe_flag := false ; std := (ORD (eingabe_buf[1]) - 48)*10 + ORD (eingabe_buf[2]) - 48 ; IF std > 23 THEN eingabe_flag := false ; time := std * 2048 + min * 32 + sek ; END ; {---------------------- Check_Zeit : testet Alarmzeit (oder Datum) -----------} FUNCTION Check_Zeit (time1, time2 : integer) : boolean ; VAR neg_flag1, neg_flag2 : boolean ; BEGIN Check_Zeit := false ; neg_flag1 := false ; neg_flag2 := false ; IF time1 < 0 THEN neg_flag1 := true ; IF time2 < 0 THEN neg_flag2 := true ; IF neg_flag2 AND NOT neg_flag1 THEN Check_Zeit := true ; IF neg_flag1 = neg_flag2 THEN BEGIN time1 := time1 &$7FFF ; time2 := time2 &$7FFF ; IF time1 <= time2 THEN Check_Zeit := true ; END ; END ; {------------------ Do_Switch : Bedient Schaltinterface ----------------------} PROCEDURE Do_Switch (neuer_zustand : integer) ; VAR temp : integer ; BEGIN temp := 0 ; IF neuer_zustand & $0001 <> 0 THEN temp := temp | 8 ; { Korrektur wegen } IF neuer_zustand & $0002 <> 0 THEN temp := temp | 2 ; { Schaltungsfehler } IF neuer_zustand & $0004 <> 0 THEN temp := temp | 1 ; { meines Interfaces} IF neuer_zustand & $0008 <> 0 THEN temp := temp | 4 ; rewrite (output, 'PRN:') ; { Schaltinterface wird am Druckerport betrieben } write (chr(temp)) ; rewrite (output, 'CON:') ; END ; {---------------- Do_Gong : Lt Dreiklang erklingen -------------------------} FUNCTION playing : boolean; FUNCTION gia(data : byte ; reg : integer) : byte ; XBIOS (28); BEGIN playing := (gia(0, 7) & 2)=0 END; PROCEDURE Do_Gong (i : integer) ; VAR j : integer ; PROCEDURE play (VAR music : x32_type) ; XBIOS (32) ; BEGIN play (dreiklang) ; IF (alarm_tab[i].extern1 = aus) AND (alarm_tab[i].extern2 = aus) AND (alarm_tab[i].extern3 = aus) AND (alarm_tab[i].extern4 = aus) THEN BEGIN alarm_tab[i].zustand := aus ; { Falls nur Notensymbol ausgewhlt } alarm_flag[i] := false ; END ; END ; {================ I N I T I A L I S I E R U N G ============================} PROCEDURE initialisiere ; VAR index : integer ; { Index fr Dreiklang } BEGIN datum_str := datum_def ; zeit_str := zeit_def ; Rueckwandel_Datum (datum_str, datum, dummy_flag) ; Set_Date (datum) ; { Datum & Uhrzeit auf Defaultwerte setzen } Rueckwandel_Zeit (zeit_str, zeit, dummy_flag) ; Set_Time (zeit) ; screen := log_Base ; { ermitteln der log. Bildschirmadresse } switch := 0 ; { Voreinstellung Schaltinterface } { (wird nicht ausgefhrt !) } uhr_flag := true ; { stndige Zeitanzeige an } No_Dialog := true ; { erster Dialogaufruf } {--------------------- Initialisierung Drucker (inkl. Steuerzeichen) ---------} {--------- Steuerzeichen (mssen dem Drucker angepasst werden) -----------} { Drucker-Initialisierung } dru_reset := CONCAT ( chr(27), '@') ; { Seitenlnge ber Zeilenzahl setzen } dru_paplaenge := CONCAT ( chr(27), 'C' ) ; { + Anzahl Zeilen } { Zeilen am Seitenende berspringen } dru_perforation := CONCAT ( chr(27), 'N') ; { + Anzahl Zeilen } { Zeilenabstand auf n/72" setzen } dru_zeiabstand := CONCAT ( chr(27), 'A') ; { + /72" } dru_make_zeiabstand := '' ; { CONCAT ( chr(27), '2') fr Star-Drucker } { linken und rechten Rand setzen } dru_links := CONCAT ( chr(27), 'l') ; { + Anzahl Zeichen } dru_rechts := CONCAT ( chr(27), 'Q') ; { + Anzahl Zeichen } { Superscript an, Subscript an, Super- und Subscript aus } dru_potenz := CONCAT ( chr(27), 'S', chr(0) ) ; dru_index := CONCAT ( chr(27), 'S', chr(1) ) ; dru_normal := CONCAT ( chr(27), 'T' ) ; { Proportionalschrift an, aus } dru_prop_an := CONCAT ( chr(27), 'p', chr(1) ) ; dru_prop_aus := CONCAT ( chr(27), 'p', chr(0) ) ; { Kursive Schrift an, aus (alternativer Zeichensatz) } dru_kursiv_an := CONCAT ( chr(27), '4' ) ; dru_kursiv_aus := CONCAT ( chr(27), '5' ) ; { Unterstreichen an, aus } dru_unterstr_an := CONCAT ( chr(27), '-', chr(1) ) ; dru_unterstr_aus := CONCAT ( chr(27), '-', chr(0) ) ; { Schriftart whlen (Master-Modus) } dru_schriftart := CONCAT ( chr(27), '!' ) ; { + Code ; s. Konstanten } {--------------- Standard-Text_Einstellung -------------------------------} std_text := CONCAT (dru_reset, dru_paplaenge, chr(72), dru_perforation, chr(8), dru_zeiabstand, chr(12), dru_make_zeiabstand, dru_links, chr(6), dru_rechts, chr(80), dru_schriftart, chr(elite_flag + doppel_flag) ) ; {--------------- Standard-Grafik_Einstellung -----------------------------} std_grafik := CONCAT (dru_reset, dru_paplaenge, chr(72), dru_perforation, chr(0), dru_zeiabstand, chr(12), dru_make_zeiabstand, dru_links, chr(0), dru_rechts, chr(80) ) ; {--------------- Standardwerte fr Feineinstellung ------------------------} WITH dru_tab DO BEGIN { s.a. Konstantendefinitionen } art := art_matrix ; schnittstelle := sch_parallel ; papier := pap_endlos ; grafik := pkte960 ; p_laenge := std_plaenge ; perforation := std_perf ; zeilenabstand := std_zeilenabst ; linker_rand := std_links ; rechter_rand := std_rechts ; schrift := schr_normal ; schriftart := 0 ; proportional := prop_aus ; kursiv := kursiv_aus ; unterstrichen := unterstr_aus ; END ; {--------------- Tastaturparameter-Voreinstellung -------------------------} param_tab.verz := mittel ; { Verzgerung bis zum ersten Repeat } param_tab.rep := hoch ; { Repeat-Geschwindigkeit } { werden NICHT ausgefhrt ! } {--------------- Dreiklang 'komponieren' -----------------------------------} dreiklang[ 1] := 8 ; dreiklang[ 2] := 16 ; dreiklang[ 3] := 9 ; dreiklang[ 4] := 0 ; dreiklang[ 5] := 10 ; dreiklang[ 6] := 0 ; dreiklang[ 7] := 11 ; dreiklang[ 8] := 1 ; dreiklang[ 9] := 12 ; dreiklang[10] := 0 ; dreiklang[11] := 13 ; dreiklang[12] := 9 ; dreiklang[13] := 7 ; dreiklang[14] := 248 ; dreiklang[15] := 0 ; dreiklang[16] := 219; dreiklang[17] := 1 ; dreiklang[18] := 1 ; dreiklang[19] := 12 ; dreiklang[20] := 48 ; dreiklang[21] := 13 ; dreiklang[22] := 9 ; dreiklang[23] := 2 ; dreiklang[24] := 121; dreiklang[25] := 3 ; dreiklang[26] := 1 ; dreiklang[27] := 9 ; dreiklang[28] := 12 ; dreiklang[29] := 4 ; dreiklang[30] := 237; dreiklang[31] := 5 ; dreiklang[32] := 0 ; dreiklang[33] := 10 ; dreiklang[34] := 12 ; dreiklang[35] := 130 ; dreiklang[36] := 32 ; dreiklang[37] := 0 ; dreiklang[38] := 61 ; dreiklang[39] := 13 ; dreiklang[40] := 9 ; dreiklang[41] := 2 ; dreiklang[42] := 237; dreiklang[43] := 3 ; dreiklang[44] := 0 ; dreiklang[45] := 4 ; dreiklang[46] := 188; dreiklang[47] := 130 ; dreiklang[48] := 32 ; dreiklang[49] := 0 ; dreiklang[50] := 121 ; dreiklang[51] := 12 ; dreiklang[52] := 96 ; dreiklang[53] := 13 ; dreiklang[54] := 9 ; dreiklang[55] := 2 ; dreiklang[56] := 219 ; dreiklang[57] := 3 ; dreiklang[58] := 1 ; dreiklang[59] := 4 ; dreiklang[60] := 237; dreiklang[61] := 130; dreiklang[62] := 64 ; dreiklang[63] := 9 ; dreiklang[64] := 0 ; dreiklang[65] := 10 ; dreiklang[66] := 0 ; dreiklang[67] := 130; dreiklang[68] := 4 ; dreiklang[69] := 7 ; dreiklang[70] := 255; dreiklang[71] := 130 ; dreiklang[72] := 0 ; FOR index := 73 TO 300 DO dreiklang[index] := 0 ; END ; {----------------- Alarm-Voreinstellung ------------------------------------} PROCEDURE Alarm_Voreinstellung ; BEGIN Wandel_Date (Get_Date, datum_str) ; al_datum := Inc_Datum (datum_str) ; { als Default-Datum 'morgen' nehmen } alarm_flag[1] := false ; alarm_flag[2] := false ; alarm_flag[3] := false ; alarm_flag[4] := false ; WITH alarm_tab[1] DO BEGIN zustand := aus ; datum_ein := al_datum ; { jeweils aktuelles Datum + 1 } datum_aus := al_datum ; tonsignal := aus ; extern1 := an ; extern2 := aus ; extern3 := aus ; extern4 := aus ; END ; Rueckwandel_Zeit (alarm1_ein_def, alarm_tab[1].zeit_ein, dummy_flag) ; Rueckwandel_Zeit (alarm1_aus_def, alarm_tab[1].zeit_aus, dummy_flag) ; WITH alarm_tab[2] DO BEGIN zustand := aus ; datum_ein := al_datum ; datum_aus := al_datum ; tonsignal := aus ; extern1 := an ; extern2 := aus ; extern3 := aus ; extern4 := aus ; END ; Rueckwandel_Zeit (alarm2_ein_def, alarm_tab[2].zeit_ein, dummy_flag) ; Rueckwandel_Zeit (alarm2_aus_def, alarm_tab[2].zeit_aus, dummy_flag) ; WITH alarm_tab[3] DO BEGIN zustand := aus ; datum_ein := al_datum ; datum_aus := al_datum ; tonsignal := aus ; extern1 := an ; extern2 := aus ; extern3 := aus ; extern4 := aus ; END ; Rueckwandel_Zeit (alarm3_ein_def, alarm_tab[3].zeit_ein, dummy_flag) ; Rueckwandel_Zeit (alarm3_aus_def, alarm_tab[3].zeit_aus, dummy_flag) ; WITH alarm_tab[4] DO BEGIN zustand := aus ; datum_ein := al_datum ; datum_aus := al_datum ; tonsignal := an ; extern1 := an ; extern2 := aus ; extern3 := aus ; extern4 := aus ; END ; Rueckwandel_Zeit (alarm4_ein_def, alarm_tab[4].zeit_ein, dummy_flag) ; Rueckwandel_Zeit (alarm4_aus_def, alarm_tab[4].zeit_aus, dummy_flag) ; END ; {---------------- Make_Schalten : Dialogerstellung zum Schalten --------------} PROCEDURE Make_Schalten ; BEGIN schalten_zei := New_Dialog (10, 0, 0, 24, 15) ; dummy := Add_DItem (schalten_zei, G_Boxtext, none, 2, 1, 20, 2, 2, 4577) ; Set_DText (schalten_zei, dummy, ' Schalten ', System_Font, TE_Center) ; kanal1 := Add_DItem (schalten_zei, G_Button, Selectable, 4, 4, 16, 1, 2, 4096) ; Set_DText (schalten_zei, kanal1, 'Kanal 1', System_Font, TE_Center) ; kanal2 := Add_DItem (schalten_zei, G_Button, Selectable, 4, 6, 16, 1, 2, 4096) ; Set_DText (schalten_zei, kanal2, 'Kanal 2', System_Font, TE_Center) ; kanal3 := Add_DItem (schalten_zei, G_Button, Selectable, 4, 8, 16, 1, 2, 4096) ; Set_DText (schalten_zei, kanal3, 'Kanal 3', System_Font, TE_Center) ; kanal4 := Add_DItem (schalten_zei, G_Button, Selectable, 4, 10, 16, 1, 2, 4096) ; Set_DText (schalten_zei, kanal4, 'Kanal 4', System_Font, TE_Center) ; schaltok := Add_DItem (schalten_zei, G_Button, Selectable|Default|Exit_Btn, 6, 13, 12, 1, 2, 4096) ; Set_DText (schalten_zei, schaltok, 'OK', System_Font, TE_Center) ; Center_Dialog (schalten_zei) ; END ; {=============== U N T E R P R O G R A M M E =================================} {-----------------------------------------------------------------------------} { } { DRUCKER : Alles zur Druckervoreinstellung } { } {-----------------------------------------------------------------------------} {--------------------- Drucker-Systemfunktionen ------------------------------} FUNCTION drucker_test (dev : integer) : integer ; BIOS (8) ; FUNCTION set_prt (config : integer) : integer ; XBIOS (33) ; {--------------------- Standard_Text : Einstellung fr Textausgabe -----------} PROCEDURE Standard_Text ; BEGIN REPEAT d_test := drucker_test (0) ; IF d_test = -1 THEN BEGIN rewrite (output, 'PRN:') ; write (std_text) ; { Definition s. Initialisierung } rewrite (output, 'CON:') ; d_status := 0 + { Matrix ; 1 fr Typenrad } 2 + { s/w ; 0 fr Farbe } 4 + { 960 Pkte ; 0 fr 1280 Pkte } 0 + { Draft ; 8 fr NLQ } 0 + { Parallel ; 16 fr seriell } 0 { endlos ; 32 fr Einzelblatt } ; config := set_prt (-1) ; { aktuellen Status lesen } config := config & $07FC ; { Flags lschen } config := config | d_status ; dummy := set_prt (config) ; { Druckerflags im Atari setzen } END ELSE auswahl := Do_Alert ('[1][ Drucker ist nicht bereit ! ][ Nochmal | Abbruch ]', 1) ; UNTIL (d_test = -1) OR (auswahl = 2) ; IF d_test = -1 THEN BEGIN End_Dialog (system_zei) ; fehler := 0 ; END ELSE fehler := 128 ; END ; {--------------------- Standard_Grafik : Einstellung fr Grafik --------------} PROCEDURE Standard_Grafik ; BEGIN REPEAT d_test := drucker_test (0) ; IF d_test = -1 THEN BEGIN rewrite (output, 'PRN:') ; write (std_grafik) ; { Definition s. Initialisierung } rewrite (output, 'CON:') ; d_status := 0 + { Matrix ; 1 fr Typenrad } 2 + { s/w ; 0 fr Farbe } 4 + { 960 Pkte ; 0 fr 1280 Pkte } 0 + { Draft ; 8 fr NLQ } 0 + { Parallel ; 16 fr seriell } 0 { endlos ; 32 fr Einzelblatt } ; config := set_prt (-1) ; { aktuellen Status lesen } config := config & $07FC ; { Flags lschen } config := config | d_status ; dummy := set_prt (config) ; { Druckerflags im Atari setzen } END ELSE auswahl := Do_Alert ('[1][ Drucker ist nicht bereit ! ][ Nochmal | Abbruch ]', 1) ; UNTIL (d_test = -1) OR (auswahl = 2) ; IF d_test = -1 THEN BEGIN End_Dialog (system_zei) ; fehler := 0 ; END ELSE fehler := 128 ; END ; {----------------- Drucker_Feineinstellung ---------------------------------} PROCEDURE Drucker_Feineinstellung ; VAR zahl_str, eingabe_str, init_sequenz : str255 ; BEGIN IF dru_tab.art = art_matrix THEN { MATRIX } Obj_SetState (drucker_zei, matrix, selected, false) ELSE Obj_SetState (drucker_zei, matrix, normal, false) ; IF dru_tab.art = art_typenrad THEN { TYPENRAD } Obj_SetState (drucker_zei, typenrad, selected, false) ELSE Obj_SetState (drucker_zei, typenrad, normal, false) ; IF dru_tab.schnittstelle = sch_parallel THEN { PARALLEL } Obj_SetState (drucker_zei, parallel, selected, false) ELSE Obj_SetState (drucker_zei, parallel, normal, false) ; IF dru_tab.schnittstelle = sch_seriell THEN { SERIELL } Obj_SetState (drucker_zei, seriell, selected, false) ELSE Obj_SetState (drucker_zei, seriell, normal, false) ; IF dru_tab.papier = pap_endlos THEN { ENDLOS-PAPIER } Obj_SetState (drucker_zei, endlos, selected, false) ELSE Obj_SetState (drucker_zei, endlos, normal, false) ; IF dru_tab.papier = pap_einzel THEN { EINZELBLATT } Obj_SetState (drucker_zei, einzel, selected, false) ELSE Obj_SetState (drucker_zei, einzel, normal, false) ; IF dru_tab.grafik = pkte960 THEN { 960 Pkte } Obj_SetState (drucker_zei, gr960, selected, false) ELSE Obj_SetState (drucker_zei, gr960, normal, false) ; IF dru_tab.grafik = pkte1280 THEN { 1280 Pkte } Obj_SetState (drucker_zei, gr1280, selected, false) ELSE Obj_SetState (drucker_zei, gr1280, normal, false) ; IF dru_tab.schrift = schr_normal THEN { Gre normal } Obj_SetState (drucker_zei, norm, selected, false) ELSE Obj_SetState (drucker_zei, norm, normal, false) ; IF dru_tab.schrift = schr_potenz THEN { " Potenz } Obj_SetState (drucker_zei, potenz, selected, false) ELSE Obj_SetState (drucker_zei, potenz, normal, false) ; IF dru_tab.schrift = schr_index THEN { " Index } Obj_SetState (drucker_zei, index, selected, false) ELSE Obj_SetState (drucker_zei, index, normal, false) ; IF dru_tab.proportional = prop_an THEN { PROPORTIONAL } Obj_SetState (drucker_zei, prop, selected, false) ELSE Obj_SetState (drucker_zei, prop, normal, false) ; IF dru_tab.kursiv = kursiv_an THEN { KURSIV } Obj_SetState (drucker_zei, kursiv, selected, false) ELSE Obj_SetState (drucker_zei, kursiv, normal, false) ; IF dru_tab.unterstrichen = unterstr_an THEN { UNTERSTRICHEN } Obj_SetState (drucker_zei, unterstr, selected, false) ELSE Obj_SetState (drucker_zei, unterstr, normal, false) ; IF dru_tab.schriftart & elite_flag <> 0 THEN { ELITE } Obj_SetState (drucker_zei, elite, selected, false) ELSE Obj_SetState (drucker_zei, elite, normal, false) ; IF dru_tab.schriftart & schmal_flag <> 0 THEN { SCHMAL } Obj_SetState (drucker_zei, schmal, selected, false) ELSE Obj_SetState (drucker_zei, schmal, normal, false) ; IF dru_tab.schriftart & fett_flag <> 0 THEN { FETT } Obj_SetState (drucker_zei, fett, selected, false) ELSE Obj_SetState (drucker_zei, fett, normal, false) ; IF dru_tab.schriftart & doppel_flag <> 0 THEN { DOPPEL } Obj_SetState (drucker_zei, doppel, selected, false) ELSE Obj_SetState (drucker_zei, doppel, normal, false) ; IF dru_tab.schriftart & breit_flag <> 0 THEN { BREIT } Obj_SetState (drucker_zei, breit, selected, false) ELSE Obj_SetState (drucker_zei, breit, normal, false) ; Wandel (dru_tab.p_laenge, zahl_str) ; Set_DEdit(drucker_zei, plaenge, '__', '99', zahl_str, System_Font, TE_Left) ; Wandel (dru_tab.perforation, zahl_str) ; Set_DEdit(drucker_zei, perf, '__', '99', zahl_str, System_Font, TE_Left) ; Wandel (dru_tab.zeilenabstand, zahl_str) ; Set_DEdit(drucker_zei, zeilena, '__', '99', zahl_str, System_Font, TE_Left) ; Wandel (dru_tab.linker_rand, zahl_str) ; Set_DEdit(drucker_zei, links, '__', '99', zahl_str, System_Font, TE_Left) ; Wandel (dru_tab.rechter_rand, zahl_str) ; Set_DEdit(drucker_zei, rechts, '__', '99', zahl_str, System_Font, TE_Left) ; pushed := Do_Dialog (drucker_zei, 0) ; Obj_SetState (drucker_zei, pushed, normal, true) ; IF pushed = druok THEN BEGIN init_sequenz := dru_reset ; { A U S W E R T U N G } d_status := 2 ; { s/w - Drucker } IF Obj_State (drucker_zei, typenrad) & Selected <> 0 THEN BEGIN d_status := d_status + 1 ; dru_tab.art := art_typenrad ; END ELSE dru_tab.art := art_matrix ; IF Obj_State (drucker_zei, seriell) & Selected <> 0 THEN BEGIN d_status := d_status + 16 ; dru_tab.schnittstelle := sch_seriell ; END ELSE dru_tab.schnittstelle := sch_parallel ; IF Obj_State (drucker_zei, einzel) & Selected <> 0 THEN BEGIN d_status := d_status + 32 ; dru_tab.papier := pap_einzel ; END ELSE dru_tab.papier := pap_endlos ; IF Obj_State (drucker_zei, gr960) & Selected <> 0 THEN BEGIN d_status := d_status + 4 ; dru_tab.grafik := pkte960 ; END ELSE dru_tab.grafik := pkte1280 ; Get_DEdit (drucker_zei, plaenge, eingabe_str) ; dru_tab.p_laenge := Rueckwandel (eingabe_str) ; IF dru_tab.p_laenge > max_plaenge THEN dru_tab.p_laenge := std_plaenge ; init_sequenz := CONCAT (init_sequenz, dru_paplaenge, chr(dru_tab.p_laenge) ) ; Get_DEdit (drucker_zei, perf, eingabe_str) ; dru_tab.perforation := Rueckwandel (eingabe_str) ; IF dru_tab.perforation > max_perf THEN dru_tab.perforation := std_perf ; init_sequenz := CONCAT (init_sequenz, dru_perforation, chr(dru_tab.perforation) ) ; Get_DEdit (drucker_zei, zeilena, eingabe_str) ; dru_tab.zeilenabstand := Rueckwandel (eingabe_str) ; IF dru_tab.zeilenabstand > max_zeilenabst THEN dru_tab.zeilenabstand := std_zeilenabst ; init_sequenz := CONCAT (init_sequenz, dru_zeiabstand, chr(dru_tab.zeilenabstand), dru_make_zeiabstand ) ; Get_DEdit (drucker_zei, links, eingabe_str) ; dru_tab.linker_rand := Rueckwandel (eingabe_str) ; IF dru_tab.linker_rand > max_links THEN dru_tab.linker_rand := std_links ; init_sequenz := CONCAT (init_sequenz, dru_links, chr(dru_tab.linker_rand) ) ; Get_DEdit (drucker_zei, rechts, eingabe_str) ; dru_tab.rechter_rand := Rueckwandel (eingabe_str) ; IF dru_tab.rechter_rand > max_rechts THEN dru_tab.rechter_rand := std_rechts ; init_sequenz := CONCAT (init_sequenz, dru_rechts, chr(dru_tab.rechter_rand) ) ; dru_tab.schriftart := 0 ; IF Obj_State (drucker_zei, elite) & Selected <> 0 THEN dru_tab.schriftart := dru_tab.schriftart + elite_flag ; IF Obj_State (drucker_zei, schmal) & Selected <> 0 THEN dru_tab.schriftart := dru_tab.schriftart + schmal_flag ; IF Obj_State (drucker_zei, fett) & Selected <> 0 THEN dru_tab.schriftart := dru_tab.schriftart + fett_flag ; IF Obj_State (drucker_zei, doppel) & Selected <> 0 THEN dru_tab.schriftart := dru_tab.schriftart + doppel_flag ; IF Obj_State (drucker_zei, breit) & Selected <> 0 THEN dru_tab.schriftart := dru_tab.schriftart + breit_flag ; init_sequenz := CONCAT (init_sequenz, dru_schriftart, chr(dru_tab.schriftart) ) ; IF Obj_State (drucker_zei, norm) & Selected <> 0 THEN BEGIN dru_tab.schrift := schr_normal ; init_sequenz := CONCAT (init_sequenz, dru_normal) ; END ; IF Obj_State (drucker_zei, potenz) & Selected <> 0 THEN BEGIN dru_tab.schrift := schr_potenz ; init_sequenz := CONCAT (init_sequenz, dru_potenz) ; END ; IF Obj_State (drucker_zei, index) & Selected <> 0 THEN BEGIN dru_tab.schrift := schr_index ; init_sequenz := CONCAT (init_sequenz, dru_index) ; END ; IF Obj_State (drucker_zei, prop) & Selected <> 0 THEN BEGIN dru_tab.proportional := prop_an ; init_sequenz := CONCAT (init_sequenz, dru_prop_an) ; END ELSE dru_tab.proportional := prop_aus ; IF Obj_State (drucker_zei, unterstr) & Selected <> 0 THEN BEGIN dru_tab.unterstrichen := unterstr_an ; init_sequenz := CONCAT (init_sequenz, dru_unterstr_an) ; END ELSE dru_tab.unterstrichen := unterstr_aus ; IF Obj_State (drucker_zei, kursiv) & Selected <> 0 THEN BEGIN dru_tab.kursiv := kursiv_an ; init_sequenz := CONCAT (init_sequenz, dru_kursiv_an) ; END ELSE dru_tab.kursiv := kursiv_aus ; REPEAT d_test := drucker_test (0) ; IF d_test = -1 THEN BEGIN rewrite (output, 'PRN:') ; write (init_sequenz) ; { Initialisierung des Druckers } rewrite (output, 'CON:') ; END ELSE auswahl := Do_Alert ('[1][ Drucker ist nicht bereit ! ][ Nochmal | Abbruch ]', 1) ; UNTIL (d_test = -1) OR (auswahl = 2) ; config := set_prt (-1) ; { aktuellen Status lesen } config := config & $07FC ; { Flags lschen } config := config | d_status ; dummy := set_prt (config) ; { Druckerflags im Atari setzen } END ; End_Dialog (drucker_zei) ; END ; {-----------------------------------------------------------------------------} { } { PARAMETER : Tastaturparameter setzen } { } {-----------------------------------------------------------------------------} PROCEDURE Parameter_Setzen ; PROCEDURE kbrate (kb_init, kb_rep : integer) ; XBIOS(35) ; BEGIN CASE param_tab.rep OF gering : Obj_SetState (param_zei, repger, selected, false) ; mittel : Obj_SetSTate (param_zei, repmit, selected, false) ; hoch : Obj_SetSTate (param_zei, rephoch, selected, false) ; END ; CASE param_tab.verz OF gering : Obj_SetState (param_zei, verzger, selected, false) ; mittel : Obj_SetSTate (param_zei, verzmit, selected, false) ; hoch : Obj_SetSTate (param_zei, verzhoch, selected, false) ; END ; pushed := Do_Dialog (param_zei, 0) ; Obj_SetState (param_zei, pushed, normal, true) ; IF pushed = tastok THEN BEGIN IF Obj_State (param_zei, repger) & Selected <> 0 THEN param_tab.rep := gering ; IF Obj_State (param_zei, repmit) & Selected <> 0 THEN param_tab.rep := mittel ; IF Obj_State (param_zei, rephoch) & Selected <> 0 THEN param_tab.rep := hoch ; IF Obj_State (param_zei, verzger) & Selected <> 0 THEN param_tab.verz := gering ; IF Obj_State (param_zei, verzmit) & Selected <> 0 THEN param_tab.verz := mittel ; IF Obj_State (param_zei, verzhoch) & Selected <> 0 THEN param_tab.verz := hoch ; kbrate (10 + param_tab.verz * 10, (5 - param_tab.rep)) ; {Setzen der ein- } {gestellten Werte} END ; Obj_SetState (param_zei, repger, normal, true) ; Obj_SetState (param_zei, repmit, normal, true) ; Obj_SetState (param_zei, rephoch, normal, true) ; Obj_SetState (param_zei, verzger, normal, true) ; Obj_SetState (param_zei, verzmit, normal, true) ; Obj_SetState (param_zei, verzhoch, normal, true) ; End_Dialog (param_zei) ; END ; {-----------------------------------------------------------------------------} { } { ALARM : Alles zur Alarmverwaltung } { } {-----------------------------------------------------------------------------} {---------------- Do_Alarm_Auswerten -----------------------------------------} PROCEDURE Do_Alarm_Auswerten (i : integer ; VAR fehlertyp : integer ) ; VAR korrekt : boolean ; BEGIN fehlertyp := 0 ; IF Obj_State (alarmset_zei, ton) & Selected <> 0 THEN alarm_tab[i].tonsignal := an ELSE alarm_tab[i].tonsignal := aus ; IF Obj_State (alarmset_zei, ext1) & Selected <> 0 THEN alarm_tab[i].extern1 := an ELSE alarm_tab[i].extern1 := aus ; IF Obj_State (alarmset_zei, ext2) & Selected <> 0 THEN alarm_tab[i].extern2 := an ELSE alarm_tab[i].extern2 := aus ; IF Obj_State (alarmset_zei, ext3) & Selected <> 0 THEN alarm_tab[i].extern3 := an ELSE alarm_tab[i].extern3 := aus ; IF Obj_State (alarmset_zei, ext4) & Selected <> 0 THEN alarm_tab[i].extern4 := an ELSE alarm_tab[i].extern4 := aus ; Get_DEdit (alarmset_zei, datumein, datumein_str) ; Rueckwandel_Datum (datumein_str, dummy, korrekt) ; IF NOT korrekt THEN fehlertyp := fehlertyp + 1 ELSE alarm_tab[i].datum_ein := dummy ; Get_DEdit (alarmset_zei, zeitein, zeitein_str) ; Rueckwandel_Zeit (zeitein_str, dummy, korrekt) ; IF NOT korrekt THEN fehlertyp := fehlertyp + 4 ELSE alarm_tab[i].zeit_ein := dummy ; Get_DEdit (alarmset_zei, datumaus, datumaus_str) ; Rueckwandel_Datum (datumaus_str, dummy, korrekt) ; IF NOT korrekt THEN fehlertyp := fehlertyp + 2 ELSE alarm_tab[i].datum_aus := dummy ; Get_DEdit (alarmset_zei, zeitaus, zeitaus_str) ; Rueckwandel_Zeit (zeitaus_str, dummy, korrekt) ; IF NOT korrekt THEN fehlertyp := fehlertyp + 8 ELSE alarm_tab[i].zeit_aus := dummy ; IF NOT check_zeit (alarm_tab[i].datum_ein, alarm_tab[i].datum_aus) THEN alarm_tab[i].datum_aus := alarm_tab[i].datum_ein ; IF (NOT check_zeit (alarm_tab[i].zeit_ein, alarm_tab[i].zeit_aus)) AND (alarm_tab[i].datum_ein = alarm_tab[i].datum_aus) THEN fehlertyp := fehlertyp + 16 ; { Test, ob Einschaltzeit frher als Ausschaltzeit } END ; {----------------- Do_AlarmSet : Alarm verwalten -----------------------------} PROCEDURE Do_AlarmSet ; VAR fertig : boolean ; nr, fehlernr : integer ; PROCEDURE Alarm_Init (i : integer) ; BEGIN Wandel_Date (alarm_tab[i].datum_ein, datumein_str) ; Wandel_Time (alarm_tab[i].zeit_ein, zeitein_str) ; Wandel_Date (alarm_tab[i].datum_aus , datumaus_str) ; Wandel_Time (alarm_tab[i].zeit_aus, zeitaus_str) ; Set_DEdit (alarmset_zei, datumein, '__/__/__', '999999', datumein_str, System_Font, TE_Center) ; Set_DEdit (alarmset_zei, zeitein, '__:__.__', '999999', zeitein_str, System_Font, TE_Center) ; Set_DEdit (alarmset_zei, datumaus, '__/__/__', '999999', datumaus_str, System_Font, TE_Center) ; Set_DEdit (alarmset_zei, zeitaus, '__:__.__', '999999', zeitaus_str, System_Font, TE_Center) ; IF alarm_tab[i].tonsignal = an THEN Obj_SetState (alarmset_zei, ton, selected, true) ELSE Obj_SetState (alarmset_zei, ton, normal, true) ; IF alarm_tab[i].extern1 = an THEN Obj_SetState (alarmset_zei, ext1, selected, true) ELSE Obj_SetState (alarmset_zei, ext1, normal, true) ; IF alarm_tab[i].extern2 = an THEN Obj_SetState (alarmset_zei, ext2, selected, true) ELSE Obj_SetState (alarmset_zei, ext2, normal, true) ; IF alarm_tab[i].extern3 = an THEN Obj_SetState (alarmset_zei, ext3, selected, true) ELSE Obj_SetState (alarmset_zei, ext3, normal, true) ; IF alarm_tab[i].extern4 = an THEN Obj_SetState (alarmset_zei, ext4, selected, true) ELSE Obj_SetState (alarmset_zei, ext4, normal, true) ; END ; { ------------- Hauptprozedur Alarmset -----------------------------------} BEGIN nr := 1 ; fertig := false ; fehlernr := 0 ; Alarm_Init (nr) ; pushed := Do_Dialog (alarmset_zei, 0) ; WHILE NOT fertig DO BEGIN Obj_SetState (alarmset_zei, pushed, normal, true) ; CASE pushed OF alarmnr1 : BEGIN nr := 1 ; Alarm_Init (nr) ; END ; alarmnr2 : BEGIN nr := 2 ; Alarm_Init (nr) ; END ; alarmnr3 : BEGIN nr := 3 ; Alarm_Init (nr) ; END ; alarmnr4 : BEGIN nr := 4 ; Alarm_Init (nr) ; END ; alreset : Alarm_Voreinstellung ; asetok : Do_Alarm_Auswerten (nr, fehlernr) ; END ; { CASE } IF pushed = asetabbr THEN BEGIN Do_Alarm_Auswerten (nr, fehlernr) ; IF fehlernr = 0 THEN fertig := true ; END ; IF fehlernr <> 0 THEN BEGIN IF fehlernr & 1 <> 0 THEN auswahl := Do_Alert ('[2][Falsches Einschaltdatum ! ][ Nochmal ]', 1) ; IF fehlernr & 2 <> 0 THEN auswahl := Do_Alert ('[2][Falsches Ausschaltdatum ! ][ Nochmal ]', 1) ; IF fehlernr & 4 <> 0 THEN auswahl := Do_Alert ('[2][Falsche Einschaltuhrzeit ! ][ Nochmal ]', 1) ; IF fehlernr & 8 <> 0 THEN auswahl := Do_Alert ('[2][Falsche Ausschaltuhrzeit ! ][ Nochmal ]', 1) ; IF fehlernr & 16 <> 0 THEN auswahl := Do_Alert ('[2][Einschaltzeit > Ausschaltzeit ! ][ Nochmal ]', 1) ; END ; IF NOT fertig THEN BEGIN Alarm_Init (nr) ; pushed := Do_Dialog (alarmset_zei, datumein) ; END ; END ; { WHILE NOT fertig } End_Dialog (alarmset_zei) ; fehler := 4 ; { damit anschlieend Hauptdialog wiedererscheint } END ; {-----------------------------------------------------------------------------} { } { SCHALTEN : Bedienung des Schaltinterfaces } { } {-----------------------------------------------------------------------------} PROCEDURE Do_Schalten ; BEGIN IF (switch & $0001) <> 0 THEN Obj_SetState (schalten_zei, kanal1, selected, false) ELSE Obj_SetState (schalten_zei, kanal1, normal, false) ; IF (switch & $0002) <> 0 THEN Obj_SetState (schalten_zei, kanal2, selected, false) ELSE Obj_SetState (schalten_zei, kanal2, normal, false) ; IF (switch & $0004) <> 0 THEN Obj_SetState (schalten_zei, kanal3, selected, false) ELSE Obj_SetState (schalten_zei, kanal3, normal, false) ; IF (switch & $0008) <> 0 THEN Obj_SetState (schalten_zei, kanal4, selected, false) ELSE Obj_SetState (schalten_zei, kanal4, normal, false) ; pushed := Do_Dialog (schalten_zei, 0) ; Obj_SetState (schalten_zei, pushed, normal, true) ; switch := 0 ; IF Obj_State (schalten_zei, kanal1) & Selected <> 0 THEN switch := 1 ; IF Obj_State (schalten_zei, kanal2) & Selected <> 0 THEN switch := switch|2 ; IF Obj_State (schalten_zei, kanal3) & Selected <> 0 THEN switch := switch|4 ; IF Obj_State (schalten_zei, kanal4) & Selected <> 0 THEN switch := switch|8 ; Do_Switch (switch) ; End_Dialog (schalten_zei) ; fehler := 0 ; { Damit Hauptdialog beendet wird } END ; {-----------------------------------------------------------------------------} { } { SYSTEM : Alles zur Verwaltung des Hauptdialoges } { } {-----------------------------------------------------------------------------} {------------------------ Do_Auswerten : Wertet Datum und Uhrzeit... aus -----} PROCEDURE Do_Auswerten ; VAR korrekt : boolean ; index : integer ; BEGIN fehler := 0 ; Get_DEdit (system_zei, sdatum, datum_str) ; Get_DEdit (system_zei, szeit, zeit_str) ; Rueckwandel_Datum (datum_str, datum, korrekt) ; IF NOT korrekt THEN BEGIN fehler := fehler + 1 ; Wandel_Date (get_date, datum_str) ; { Bei Fehleingabe wird das } END ; { aktuelle Datum eingesetzt } IF fehler & 1 = 0 THEN Set_Date (datum) ; Rueckwandel_Zeit (zeit_str, zeit, korrekt) ; IF NOT korrekt THEN BEGIN fehler := fehler + 2 ; Wandel_Time (get_time, zeit_str) ; { Fehleingabe, Einsetzen der } END ; { aktuellen Uhrzeit } IF fehler & 2 = 0 THEN Set_Time (zeit) ; IF Obj_State (system_zei, uhr) & Selected <> 0 THEN uhr_flag := true ELSE BEGIN IF uhr_flag THEN BEGIN zeit_str := ' ' ; FOR index := 1 TO 5 DO { Zeitanzeige lschen } Put_Char (zeit_str[index], 588 + index * 8, 2, 2, 0, 0) ; END ; uhr_flag := false ; END ; IF Obj_State (system_zei, alarm1) & Selected <> 0 THEN alarm_flag[1] := true ELSE alarm_flag[1] := false ; IF Obj_State (system_zei, alarm2) & Selected <> 0 THEN alarm_flag[2] := true ELSE alarm_flag[2] := false ; IF Obj_State (system_zei, alarm3) & Selected <> 0 THEN alarm_flag[3] := true ELSE alarm_flag[3] := false ; IF Obj_State (system_zei, alarm4) & Selected <> 0 THEN alarm_flag[4] := true ELSE alarm_flag[4] := false ; END ; {------------------------ Do_System : Verwaltet Hauptdialog ------------------} PROCEDURE Do_System ; BEGIN fehler := 0 ; REPEAT IF uhr_flag THEN Obj_SetState (system_zei, uhr, selected, false) ELSE Obj_SetState (system_zei, uhr, normal, false) ; IF alarm_flag[1] THEN Obj_SetState (system_zei, alarm1, selected, false) ELSE Obj_SetState (system_zei, alarm1, normal, false) ; IF alarm_flag[2] THEN Obj_SetState (system_zei, alarm2, selected, false) ELSE Obj_SetState (system_zei, alarm2, normal, false) ; IF alarm_flag[3] THEN Obj_SetState (system_zei, alarm3, selected, false) ELSE Obj_SetState (system_zei, alarm3, normal, false) ; IF alarm_flag[4] THEN Obj_SetState (system_zei, alarm4, selected, false) ELSE Obj_SetState (system_zei, alarm4, normal, false) ; Wandel_Date (get_date, datum_str) ; Wandel_Time (get_time, zeit_str) ; Set_DEdit (system_zei, sdatum, '__/__/__', '999999', datum_str, System_Font, TE_Left) ; Set_DEdit (system_zei, szeit, '__:__.__', '999999', zeit_str, System_Font, TE_Left) ; pushed := Do_Dialog (system_zei, 0) ; Obj_SetState (system_zei, pushed, normal, true) ; IF (pushed <> sysok) AND (pushed <> stdtext) AND (pushed <> stdgraf) THEN BEGIN End_Dialog (system_zei) ; fehler := 0 ; END ; IF (pushed <> sysabbr) THEN Do_Auswerten ; { Datum & Uhrzeit bernehmen } IF No_Dialog THEN BEGIN Alarm_Voreinstellung ; No_Dialog := false ; END ; IF fehler = 0 THEN CASE pushed OF stdtext : Standard_Text ; { Drucker auf Standard-Texteinstellung } stdgraf : Standard_Grafik ; { " " Standard-Grafikeinstellung } drufein : Drucker_Feineinstellung ; salsetz : Do_AlarmSet ; { Alarm verwalten } sparsetz : Parameter_Setzen ; { Tastatur-Repeat steuern } schalt : Do_Schalten ; { Schaltinterface bedienen } END ; IF fehler & 1 <> 0 THEN auswahl := Do_Alert ('[2][ Falsche Datumseingabe ! ][ Nochmal ]', 1) ; IF fehler & 2 <> 0 THEN auswahl := Do_Alert ('[2][ Falsche Uhrzeiteingabe ! ][ Nochmal ]', 1) ; UNTIL (fehler = 0) OR (pushed = sysabbr) ; IF pushed = sysok THEN End_Dialog (system_zei) ; END ; {-----------------------------------------------------------------------------} { } { EVENTS : Alles zur Ereignisbearbeitung } { } {-----------------------------------------------------------------------------} {------------------------ Event_Loop : Ereignisverwaltung --------------------} PROCEDURE Event_Loop ; VAR h_switch, i : integer ; BEGIN WHILE true DO BEGIN event := Get_Event (E_Timer|E_Message, 0, 0, 0, 1000, false, 0, 0, 0, 0, false, 0, 0, 0, 0, message, dummy, dummy, dummy, dummy, dummy, dummy) ; IF event & E_Message <> 0 THEN BEGIN IF message[0] = AC_Open THEN Do_System ; END ; IF (event & E_Timer <> 0) AND (event & E_Message = 0) THEN BEGIN zeit := Get_Time ; datum := Get_Date ; IF (uhr_flag) AND (log_base = screen) THEN BEGIN Wandel_Time (zeit, zeit_str) ; Put_Char (zeit_str[1], 596, 2, 2, 0, 0) ; Put_Char (zeit_str[2], 604, 2, 2, 0, 0) ; Put_Char (':', 612, 2, 2, 0, 0) ; Put_Char (zeit_str[3], 620, 2, 2, 0, 0) ; Put_Char (zeit_str[4], 628, 2, 2, 0, 0) ; END ; { Alarm testen und gegebenenfalls ausfhren } FOR i := 1 TO 4 DO BEGIN IF (alarm_flag[i]) OR (alarm_tab[i].zustand = an) THEN BEGIN IF alarm_tab[i].zustand = an THEN { AUSSCHALTEN } IF alarm_tab[i].datum_aus = datum THEN BEGIN IF check_zeit (alarm_tab[i].zeit_aus, zeit) THEN BEGIN h_switch := 0 ; IF alarm_tab[i].extern1 = an THEN h_switch := h_switch + 1 ; IF alarm_tab[i].extern2 = an THEN h_switch := h_switch + 2 ; IF alarm_tab[i].extern3 = an THEN h_switch := h_switch + 4 ; IF alarm_tab[i].extern4 = an THEN h_switch := h_switch + 8 ; switch := switch & (~h_switch) ; IF h_switch <> 0 THEN Do_Switch (switch) ; alarm_flag[i] := false ; alarm_tab[i].zustand := aus ; END ; END ; IF alarm_tab[i].zustand = aus THEN { EINSCHALTEN } IF alarm_tab[i].datum_ein = datum THEN BEGIN IF (alarm_tab[i].datum_aus <> datum) OR NOT check_zeit (alarm_tab[i].zeit_aus, zeit) THEN IF check_zeit (alarm_tab[i].zeit_ein, zeit) THEN BEGIN h_switch := 0 ; IF alarm_tab[i].extern1 = an THEN h_switch := h_switch + 1 ; IF alarm_tab[i].extern2 = an THEN h_switch := h_switch + 2 ; IF alarm_tab[i].extern3 = an THEN h_switch := h_switch + 4 ; IF alarm_tab[i].extern4 = an THEN h_switch := h_switch + 8 ; switch := switch | h_switch ; IF h_switch <> 0 THEN Do_Switch (switch) ; alarm_tab[i].zustand := an ; IF (alarm_tab[i].tonsignal = an) AND NOT playing THEN Do_Gong (1) ; END ; END ; END ; { alarm_flag[i] = true } END ; { FOR i := 1 TO 4 } END ; { TIMER-Event } END ; END ; { ========================== HAUPTPROGRAMM ================================ } BEGIN ap_id := Init_Gem ; IF ap_id > 0 THEN BEGIN IF NOT Load_Resource (rsc_filename) THEN BEGIN auswahl := Do_Alert ('[3][RSC-File nicht gefunden !][ Abbruch]',1) ; Exit_Gem ; Halt ; END ; eintrag := ' System' ; { Eintrag in Menzeile festlegen } dummy := Menu_Register (ap_id, eintrag) ; Init_Mouse ; Find_Dialog (system, system_zei) ; Center_Dialog (system_zei) ; Find_Dialog (drucker, drucker_zei) ; Center_Dialog (drucker_zei) ; Find_Dialog (alarmset, alarmset_zei) ; Center_Dialog (alarmset_zei) ; Find_Dialog (paramset, param_zei) ; Center_Dialog (param_zei) ; Make_Schalten ; /`|? td``ra8aknstruieren } Initialisiere ; { Standardwerte setzen } Do_Gong(1) ; Event_Loop ; END ; END. (""!$484Datum :051286__/__/__999999Uhrzeit :220000__:__.__999999System - Dialog(c)1986Martin SchultzAmalienhhe 65300 Bonn 2OKAbbruch Drucker - Einstellung MatrixTypenradHardware :parallelseriellEndlosEinzel9601280Grafik :Punkte pro ZeilePapier :Papierlnge :Perforation berspringen :Zeilenabstand :linker Rand :rechter Rand :72__99 8__99 8__99 6__9980__99/72" Zeilen ZeilennormalPotenzIndexSchrift :EliteDoppelSchmalFettKursivUnterstr.BreitProp.OKAbbruch Alarm setzen Datum :061286__/__/__999999Einschalten :Uhrzeit :070000__:__.__999999Ausschalten :Datum :061286__/__/__999999Uhrzeit :070000__:__.__999999Alarm-Nr :1234Aktion :OKAbbruchReset Tastaturparameter geringmittelgroRep.-Geschw. :Verzgerung :geringmittelgroOKAbbruch !@ @@@@@@@@@ @@ @ @ @ @ @ @ @ @@@@@ D !@ @@@@@@@@@ @@ @3 @ @ @ @ @ @? @@@@@ D !@ @@@@@@@@@ @@ @ @ @ @ @ @ @ @@@@@ D !@ @@@@@@@@@ @@ @ @ @2 @6 @? @ @ @@@@@ D?<( P P  (   @ 0@P@````0 00     ?  80 0q0`` ``@P0@@   (PP( <?~@  $$ee~< @~~( H@ ~@ `@@D@<@`pD@B@DaHRpN BB |C@"#  " B A 8"Ȟssπ"-"(*ʜ*66"zhr"o c6 6 p8  l  8p>`` 0px00x0 0|0x|  $I UUU$RUUTR@*gfaf`f`aaf<88pp><80 ``af`fc၇`ffa`c`@@@@@@?x`l`f|f OV_ v~      "#$)* '()/0;ABCJKLSTUZ[\cdeop qwxy    *1: LNOPRSTVWXZ[ehijrstz{|A=  $ "  E "   ! ! !!  ! "  f"  # #$  #@  "  "(  "6  "D "R  "` #\ %#x 1M# =     # #      # $    $   $<    $X $t + 4"!- ENi $$$$% !0#/ -'$&  %% &%8 #%T(1 )%p *%  +% ,% -% .%  /& "&4 1&PD %&lD !> & 3     &      &          &     & / A '  '0  'L  'h$  /\"n "|  " " "&  '3 !'3 %'3   , ' " '((,      (H (d( ( %(! (+0l3`{b,O*A}*"HN o"h#.#2#6BbBy:NHNV?<NNN^NuNV?.?<+NAN^ _ONNV?.?<-NAN^ _ONNV?<*NAN^NuNV?<,NAN^Nu/,HNVA-HByp. r0A^p. r9A_CBdp. @ 3p.r0A^p.r9A_CBd09r.AA3=y0.N^,_ _ORN/,HNVA-H0.?<}/ByNuHn?By NuHn?By NuHn? Ausschaltzeit ! ][ Nochmal ][2][Falsche Ausschaltuhrzeit ! ][ Nochmal ][2][Falsche Einschaltuhrzeit ! ][ Nochmal ][2][Falsches Ausschaltdatum ! ][ Nochmal ][2][Falsches Einschaltdatum ! ][ Nochmal ]/,HNVA-H096rAJ@g/9?90?<BgNYl`/9?90BgBgNYl096rAJ@g/9?9.?<BgNYl`/9?9.BgBgNYl096rAJ@g/9?9,?<BgNYl`/9?9,BgBgNYl096rAJ@g/9?9*?<BgNYl`/9?9*BgBgNYl/9BgNP3/9?9Bg?<NYlBy6/9?90NXrAJ@g p36/9?9.NXrAJ@g096rA36/9?9,NXrAJ@g096rA36/9?9*NXrAJ@g096rA36?96Nʹ/9NQpBy4N^,_Nu/,HNVAL-HBy4/9?<HyNT/9?<HyNTC IO$O4p$QHy:HnNN0.@e 094R@34N"?HyND094rAJ@f ?9:NC IO$O4p$QHy8HnN20.@e 094T@34N?HyN^094rAJ@f ?98N|/9?<NXrAJ@gp3`p09@d^CEpQp=@ nn80.rA0?0.@@L??<?<BgBgNyRn`By/9?< NXrAJ@gp3`By/9?< NXrAJ@gp3`By/9?< NXrAJ@gp3`By/9?< NXrAJ@gp3`ByN^,_Nu /,HNVA-HBy409@d/9?<?<BgNYl`/9?<BgBgNYl09@d/9?< ?<BgNYl`/9?< BgBgNYl09@d/9?< ?<BgNYl`/9?< BgBgNYl09@d/9?< ?<BgNYl`/9?< BgBgNYl09@d/9?< ?<BgNYl`/9?< BgBgNYlN?HyN*N?HyNÜ/9?<CO$OpQCO$OpQAO"Op?"Q?<BgNN/9?<CDO$OpQC6O$OpQAO"Op?"Q?<BgNN/9BgNP3/9?9Bg?<NYl09rAV09rAVC09rAVCBd/9NQpBy409rAgN09@d NBy094J@f^09`2Nٺ`LN$`DN܎`0.@ABp0.rA(10.A(20p@fv0.A*20y:fZ0.A,20y:V/0.A0?0?98N $F@@Bd0.A.?0?98N@dBn0.A420JAf 0.R@=@0.A620JAf 0.T@=@0.A820JAf 0.X@=@0.A:20JAf 0.P@=@096n360.J@g ?96N0.A(Bp0.A220JAW/NÆ$F@@Bd ?<NúRn``lN^,_NuAR#3N\@BgHyNJp/9NQ?<HyNJp/9NQ?<HyNJp/9NQ?<HyNJp/9NQNπN?<NXNHyNfBgNA System[3][RSC-File nicht gefunden !][ Abbruch]system.rscNu/,HNVnNx&AL-Hp. R@rA Hn Nc-@r?<nHnHnzHnrHnnNbD0.zJ@V=B0.N^,_ _ON/,HNVnNx&AD-H=n=n ?<pHnHnzHnrHnnNbD0.zJ@g -nn`B .N^,_ _XN/,HNVNx&A-H"n / Bg?.Nz"_"N^,_ _\N/,HNVNx&A-H"n / Bg?.NF"_"N^,_ _\N/,HNVtNx&A -H?<oHnHnHnxHntNbDN^,_NuNu/,HNVtNx&A8-H=n0. rA=@-nx?<HnHnHnxHntNbDN^,_ _PN/,HNVtNx&A2-H=n p=@-nx?< HnHnHnxHntNbDN^,_ _\N/,HNVtNx&A0-H=n Bn-nx?< HnHnHnxHntNbDN^,_ _\N/,HNVNx&A*-H/.?. A O"Op?"QBgBgNSN^,_ _ON/,HNVnNx&AL-H"n $n p*R@r=n"n / Nc-@r?<#HnHnzHnrHnnNbD0.N^,_ _\NNu/,HNVNx&Aj-H0.T@=@?.NU-@/.?=n<-n$?<HnHnHnHnNbD=n"n2"n2"n2"n 2"n 2"n20.N^,_ _O g8 fp@`*S@rG   e gRAQJ96g`tJ)f8a J96g| _0< HyfTNa|#|3|Nu )bJ) g )g )g ) f J96fgHBNu|/ BgHi ?<ANA>3|NAXNu _4` _t6 Bo r aSB`2aNH?i _r ar a/L?iNu _r aN _4` _t"x0HgJJjDxvCiRzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCiRp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Chut`ChptJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH i"oA/ NiRL iNuBy}((_ _/ C( g  f4t4(H / /?(?<@NA LJkn gffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHyjE` Hyj0< LNaREWRITE required prior to WRITE or PUTDisk or directory fullBy}((_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHyk0<` Hyk0< LNaReset required prior to Read or GetAttempt to read past end-of-fileHDp`:HDp`.HDp`"HDp`HDp` HDp _/fJ/ gLJ/kJ`L/ fJkB`</jJk2`,gbJk&` Jk`"eb// ebr`r`rAV ?/LDNuHDv` HDv _ `HDv` HDv _0HJ[fBBg`,j Dj4<` 4<ЀkSB`Jf].B/BJg 2/.?o /@?A /LDNuHDv` HDv _ [2Jkp`&4<cH@j JgR@kJ@kJgD@?/LDNuHDv` HDv _ [2Jkp`$4<cd JgRkJk~JgD//LDNuJ/ goNuNuHD _?///` HD _0/2// Jv/ 8://N~/DD?DBoJgJgC|k?>BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LDNuBBo `HD _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LDNuoHD _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\/LDNuHD _0 @&b(Cr~C/)?/LDNuHys`HyshLDNa Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvP *** Floating point overflow *** *** Floating point division by zero *** .Nu#u _ g2e.d 9uNHyu`HyuNat`t _"_0gR@| e.Gu$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9uvg0$A#uv`""9uzg$A#uz`"9u~g $A#u~"`"E.&R"$b HyuNaJgr"QHd2S@k"QN _"_0" g2e.d gR@ @mz @ e@Eu"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"u~#u~` |f"uz#uz` "uv#uvNHeap overruns stackPointer NILPointer not in heapHv _0"_e /LvNuHywNa/B9/|NuHv _0 @f0"|ttp` "_J@jpEr4@ BbBS@kQ/LvNuHv _4SBkt82$_rAdd0 @f0"|ttp` "_J@jp6ADb6CG0IS@k$eQ/LvNuHv _4k2SAk0"_p6B@bE0)CS@kQ/LvNuHv _2$_r0 @f0"|ttp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LvNuHv _4kF2SAk>0 @f0"|ttp` "_J@jp6B@bESBkQ/LvNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"y.e HyxNaN## .f -|xp`-|xp nNнf yNStack overruns heap y f##Bh6Nu&_a"h $h43_2NH&_a"h 3_2?/ LNu&_a1_$1_"1_1_1_1_1_,1_*1_(1_&1| N&_aj1_2!_.1_$1_1_1_1_1_*1_(1_&Bh4N&_a41_2!_.1_$1_1_1_1_1_,1_*1_(1_&Bh4N&_a1_2!_.1_$1_1_1_1_1_("h3_$_0)gk"h (JS@"Q"Bh4N&_a1_h1_Z01_N1_L2 @b"y@$qBh$1|jBhr!jLT1jPXj$"jHA1qHBhJTA01hH1@P1jRRBhf1|B1|D1j>\1j@^1j:`([g1j6d1j8b`BhbBhd1|F1|@Bh6!|l1|@pNa"hBQ$hB5| Nua Nu&_a$h\BZ4"_p$Q"_p$Q N&_a$_ N&_a$_ _20/ ,_N&_aj1_>1_<1_:1_81_6h6N09}(Nu _3}&NBy}(Nu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc.  p4&8P<P\n.  \J0  <@ "(                            8  N   8   N   L Z$$&$&$&$&$. ~    $  d    $  ^                           FFFFF                                                 $   ~   $   $        "      2 2 2 2$ F    6666     N \....                      ($         "            66   \**     """    """ >$&    N$*.444":42,00.4\.0DX<"$>,$8(l*lrh\,&D0T>0,8&&,&$$6   $LD"2 T &( 0&  >         HB@6 2J X D2 N z  f H F  J  <   , FR ( *@ B @ B  & . n.. n\ALARMSETPICp%DRUCKER PICs *PARAMSETPICwSYSTEM PICzH'SYSTEM DOC%PIC; __`Ȉވ`"""``Ȉވ`"""`?Y`ȈYˆ5UUW`""""?Y"""`5UUW`ȈYˆ5UUUUW`""""?IH"""`5UU UUW`ȈI Hˆ5UU?  UUW`""""?I3 >6??H"""`5UU3 ?????UUW`ȈI3 303 33Hˆ5UU? 0k83 33UUW`""""?I? ?0k? ?3H"""`5UU3 30k0 03UUW`ȈI3 30c0 03Hˆ5UU3?0c????3UUW`""""?I30c>?3H"""`5UUUUW`ȈIHˆ5UUW`""""?Y"""`5UUW`ȈYˆ?Y`""""?Y"""``Ȉވ`"""``Ȉވ`"""``ȈXňX`"b"""```Ȉhň``"b"""```Ȉhň8f``"<8fb"""`~f``Ȉf<|lv|BB?BBhňf>~~v~@ @``"ff~~f@ @b"""`~>`~`@ @``Ȉ~~`n`@ @hňff`n`@ @``"ff`f`@ @b"""`f<~`f`@ @``Ȉf<>`f`@ @hň@ @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ 0@b"""`@ 0@``Ȉ@ `@hň@ `@``"@ 0@b"""`@ 0@``Ȉ@  @hň@  @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ @b"""`@ @``Ȉ@ @hň@ @``"@ @b"""`BB?BB``Ȉhň``"b"""```Ȉhň``"b"""`X`ȈXň`"""``Ȉވ`"""``ȈKKȈňKK`" b# """` ` `Ȉ h Ȉň ` `" b# """` ` `Ȉ h Ȉň ` `" b# """`~`8``8`Ȉ~`8h<`8Ȉň```~``"`8<><|<~<<b#ff>><|<~<<"""`|8~~|~>~~~`ff~~|~>~~~`Ȉ|f``fffhff```fffȈň`fp`f>ff`~fpp`f>ff`"`f<`f~~fb#~f<<`f~~f"""``f`ff`f`ff`ff`f`Ȉ`f`ff`fhff`ff`fȈň~f><>fb#f>||>f><>f"""` ` `Ȉ h Ȉň ` `" b# """` ` `Ȉ h Ȉň ` `" b# """` ` `Ȉ h Ȉň ` `"?Ib#I"""` `@ `Ȉ h@ Ȉň `@ `" b#@ """` `@ `Ȉ h@ Ȉň `@ `" b#@ """`  `@< `Ȉ ach@> ǃ Ȉň ag`@7  ǀǀ `" gc`fgb#@3?36 """` fÆ`f`@3?3  `Ȉ fh@3 3  Ȉň `@3 3k σ `" g၁gb#@3? 3k """` fcf``@33 3k  `Ȉ fcf`h@73 3c  Ȉň fff``@>??c  `" b#@<c  """` `@ `Ȉ h@ Ȉň `@ `" b#@ """` `@ `Ȉ h@ Ȉň `@ `" b#@ """`?I`I`Ȉ h D ` D`" b# "` `  `Ȉ h  `  `"?Ib#I"` `@  `Ȉ h@  `@  `" b#@ "` `@ Ǐ `Ȉ h@  `@  `" b#@  "` `@30  Ǐ `Ȉ h@30   `@30   `" `af`f`b#@3>>?? "` Ÿ`af`f``@3????? χ `Ȉ `f`f`h@3333  `@330 3  `" ag`g`b#@330 ?  "`  af`f``@3300  `Ȉ  cfaf`h@3300   cfaf``@?30??   `" b#@30?  D"` `@ D`Ȉ h@ Ȉň `@ `" b#@ """` `@ `Ȉ h@ Ȉň `@ `" b#@ """`?I`I`Ȉ h Ȉň ` `" b# """` ` `Ȉ h Ȉň ` `" b# """` ` `Ȉ h Ȉň ` `" b# """`KK`ȈKKȈň`"""``Ȉވ`"""``ȈXDXD`"b`"````Ȉh10```"y00b`"`00```Ȉ͘pxx0h<͸p0``~`"000b`f"`00``f`Ȉ00hfͰ000``f`"͘000b`f"`͜h@ @ x <```"@ @ p 8b`"`@@ ` 0 ```Ȉ@@ @  hgc@@  ``gg`"@@  b`fff`"`@@  ``fff``Ȉ@@  ?hfff`@?@ 8 3``ffff``"@?@ 8 3b`ffff`"`@?@  ``g``Ȉ@@  hg`@@   ```"@@   b`"`@@  ```Ȉ@@  h@@ ~ ?```"@@ ~ ?bD"`@@  `D`Ȉ@@  hňC?CCCC``"b"""```ȈhňX`"X"""``Ȉވ`"""``Ȉވ`__PICpO'fff&Ȉ刈&""""&Ȉ刈&""""'^"""^Ȉˆ^ÈUUU""""'^"""UUUȈˆ^ÈUUU""""'I I"""UUU UUUȈˆIx~88IÈUUU|~88UUU""""'In`I"""UUUf|f<<|`8<>~<f<>UUUȈˆIf~f|~~|8~~f~~IÈUUUfff`ff~|f`ffffUUU""""'If`f``fpffffI"""UUUf`~``f<~fffUUUȈˆIf````f`fffIÈUUUn`f````f`ff~UUU""""'I|`~~~`~I"""UUUx`>>>`~<<>fUUUȈˆI ~IÈUUU |UUU""""'^"""UUUȈˆ^ÈUUU""""'^"""UUUȈˆ^È^""""&Ȉ刈&""""&Ȉ刈IVIV""" 0 8Ĉ 0 2""" 0 8Ĉ 0 02"""x}xx000||081Ĉ ͬ 001|ͬ|203030"""003080Ĉ00300230"""|}||00 8Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8ĈDD02"""0ǀ8Ĉ02Á"""0ぇ8af`ĈǏχ  χ0af`  ω2၇`"""  ̉0`  ̉8`Ĉ  0`  ̈2`"""  ̄08Ĉχ02"""08Ĉ0DD2""" 0 8 Ĉ 0 2""" 0  8ŸŸ ÁĈ 0ぇ 2af`""" 0 af` 8 ၇`Ĉ 0 ` 2 `"""DD0`8`Ĉ0 2"""0`8Ĉ`0``2"""``0``8Ĉa``0a``2"""a``0309a``830Ĉa``0 03302 `330"""0 ``c08 `c0Ĉ0 2 """0 DD8 Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8Ĉ 0 2""" 00> 80?ĈDD003233"""03 8? Ĉ0>?? 26"""?? 03 0 0 83 Ĉ0 0? 01 >?? ??>??? 21""">33 30> 33 0033 380 3 8Ĉ033 30 3 ? 0033 30 30 2"""033 30 30 0?3????3??8Ĉ?3>?3?02"""08>Ĉ0?DD23""" 03  83 Ĉ 0? 2>""" 06  83 Ĉ 03  21 """ 01 8 Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8Ĉ 0 2""" 0 8ĈIVIV"""&Ȉ刈&""""&Ȉ刈IVIV""" 0 8Ĉ 0 2""" 0DD?C 8  Ĉ 0   2  """8c0  xc8`8  Ĉ``0`x`  `0`2```  """p`0a`< p c`8`("q@00""" 00 7 @00 ???80 ? 3>> @xĈ303330> ?? 3?? @303332> 3 333 oa@00"""0 300 3 333 mc@00p 780 ? 3333? mg@00Ĉ3 3;00 0 33330 fmfa@00C330 3320 0 73330 flfa@00C330 330?? >??lg@<<` s30 338? <>>lc@| ??0 00@` ??2 00@`0 @` 8 @ 0 @` 2 @`DD0 @`m 8D?DDDm 0`o 2`o 0`m 8m 0D`l 2D?DD`l 0 @`` 8 @` 0 @` 2 @` 0 @` 8 @ 0 @` 2 @`00` #0|@C08` #0~@ D00 #0f@ χ3230 #1f|<8~@ """030 #3~~~8~@ 8330 #30330|ff@ D 030 #303f`f@ C 230 #30f`~@ `0c3p #30pf``@ ` 8c30 #300f``@  03 #0~`~<@ ` 21 !0qs|`><@ `0 @ ` 8 @ 0 @g 2 @o  0 @lϏǏ 8 @Ϗ 0 @Dl̂ 2D?DDo  0o 8 0l 2l 0lϏ 8 0` 2` 0` 8 0` IVCIVCȈ刈&""""&Ȉ刈&""""&Ȉ刈&fPICpVVV`DDD````DDD````DDD_PDD`P`P`Ъ`DDD_PDD`Ъ`CC`êê`DDD_CCDD`êê`CC`ê3aê`DDD_C3CDD`ê30330307030ê`C3103C`ê33ê`DDD_C0p03336CDD`ê00Æ33363ê`C3C`êqq1qê`DDD_CCDD`êê`P`Ъ`DDD_PDD`Ъ`P`P`DDD````DDD````DDD`II`II`  `F DX D`  `  `  `F DX D`  `  `  `F|DXD``0``xx|x0``F0DX`D`ͬ01Ù``ͬa`xa`F00DX`D`0 0``0͌0a``|0x||0```FDXD``  `  `F DX D`  `  `  `F DX D`  `  `  `F DX D`  `  `  `F DX D` G`G``FDXD````FDXD````FDXD````FDXD````FDXD````FDXD``G`G `F DX D`  `  `  `F DX D`GG```FDXD````FDXD````F?DX?D`??`55`55`F5DX5D`11`11`11`FDXD````FDXD``GG`  `F DX D`  `  `  `FGDXGD````FDXD````FDXD````FDXD````FDXD````FDXD````FDXD`GG`  `  `F DX D`  `  `  `F DX D`  `  `  `F DX D`  `  `II`GID_ID````DDD````DDD_DDD` DD`D` `DDD\D` `` 3 000`DDD\000D` ?000`!0 UV@ UUUU0 7  U@@ 03?63 UV@ UUUU83????3 ?? U@@ 30 3?3  33UV@UUUU38 3k3  33 U@@0<~<<3 ?k3 ? 33UV@00~~~~<UUUU3 0k3 33 U@@x0f`8ffp? 0c7 3 3?UV@|0f` 8f f`UUUU???c>?? U@@ 00f|  <`>>c<UV@|0ͬn~ <|UUUU00?? U@@0ͬvf~@>>UV@0ͬ0f00ffUUUU U@@0͌0f000ff UV@<0ff`0`ffUUUUb U@@|}0~~`~~`~~$ UV@<<`~~`<<UUUU$ U@@ , UV@ UUUU, U@@ a UV@ UUUU U@@  UV@ UUUU" U@@  UV@ UUUU U@I@ UV UUUU  U@ 00 UV UUUU/ U@   UV UUUU  U@   UV UUUU  U@I00 UV@ UUUU/ U@@  > UV@ UUUU  U@@  `Gp<0@UV@ UUUU  b0Ȣ8ǀ@ U@@ 0(P 0GPID@9Q@UV@ UUUU/P  0@D@QA U@@  `Gp@xO8#UVC3UUUU H U@C3<0 UVC3??????UUUU B U@C333 3333"pN @ UVC333 3333UUUUCR! U@C330c0 3333Ha UVC330 7777UUUUDa! U@C33 ;;;;B@0@UVC33 3333UUUUB@ÞX U@C33 33 33BDGd_UVC3 33 33UUUUC(0_DEP U@A3p?? ?? ??O8ENUV@??  UUUU` U@@ 8 UV@ UUUU U@@ UV@ UUUU U@@ Qy}Ny UV@ UUUUQE@DQE U@@ QySxE_y8UVIUUUUQQ@FQSLNy U@ OM@DQMTEUV UUUUYdQE U@ 8EUV UUUU U@ UV UUUU U@ UV UUUU U@ UV UUUU U@KNUWKUUUUNU@ުUUU@ުUUU@ުUUU@ުUWDUUUUDUUUU@DꪪDѪUVuUUUUpUUUU@jѪUVuUUUUpUUUU@jѪUVuUUUUpUUUU@j?ѪUVBuUUUUp>UUUU@jѪUVuUUUUp@UUUU@j ѪUVuUUUUppUUUU@jpѪUV@uUUUUp0 UUUU@@j@0ѪUV uUUUUp@0UUUU@j 0ѪUV uUUUUp 0UUUU@j 0ѪUVuUUUUp` PUUUU@ j`0ѪUV uUUUUp0`UUUU@ !j0`ѪUV #uUUUUp`` UUUU@ !j`` ѪUV !uUUUUp`` UUUU@ !j0ѪUV !uUUUUp@UUUU@ #jѪUV@uUUUUqUUUU@@jѪUV uUUUUqUUUU@jѪUVuUUUUqUUUU@jOUVuUUUUsUUUUOU@jUVuUUUUsUUUUU@jUVuUUUUq8UUUUU@BjUVuUUUUqUUUUU@jUVuUUUUqUUUUU@jpUVuUUUUp@UUUUU@j0DDDUVBuUUUUp`` UUUUU@j` UVuUUUUp` UUUUU@j0UVuUUUUp0UUUUU@j0?UV@uUUUUp PUUUU1`I$IU@@j `0UV uUUUUp UUUU`0U@j ?UV uUUUUp@UUUU$PU@j@?UVuUUUUp UUUU#UUU*PU@ jp!?UV uUUUUppUUUU8*P8U@ &dj 0`?8UV duUUUUp@UUUUppUUHPpU@ dj`0pUV uUUUUp>UUUUl!PU@ !j?`0UV #uUUUUpUUUUppU@ 'j0`UV@uUUUUpUUUU8U@@j!UV uUUUUpUUUU#U@jDUVuUUUUDUUUUU@jȪ UVuUUUU U@jȪUVuUUUUU@jȪUVuUUUUU@BjȪ?UVuUUUU0` <`8U@jȪ037 ??3>f`UVuUUUU 0  33`<|<~<|U@jȪ030   30<`fffUVuUUUU10 3 3 30`f>~fU@jȪ >0f`ff`fUVBuUUUU<<<~~<|UVuUUUU`f ffU@jȪ<~~fUV@uUUUU`0`fU@@jȪ|<~>3>>U@@j73 63 3UV uUUUUpUUUU30 <? 3U@j303 60 3UVuUUUUpUUUU033U@jUVuUUUUp31UUUUU@j33UVuUUUUp3330UUUUU@j3330DDDUVuUUUUp3330UUUUU@Bj33330UVuUUUUp33330UUUUU@j30UVuUUUUp30UUUUU@jUVuUUUUpUUUUU@jUVuUUUUpUUUUU@jDOUWDUUUUDUUUUOU@DتUUU@ުUUU@ުUUU@ުUUU@ުUUU@ުUUU@ުUUU@07202030303801 1 2- # - 800050257\SYSTEM.DOC\DRUCKER.PIC 800050215\SYSTEM.DOC\PARAMSET.PIC 800050155\SYSTEM.DOC\ALARMSET.PIC 800050035\SYSTEM.DOC\SYSTEM.PIC 9[........................................................]0  SYSTEM-ACCESSORY ------------------  Benutzerfhrung Bild1:DerHauptdialog Vorbemerkungen  WICHTIG!!DieFilesSYSTEM.ACCundSYSTEM.RSCmssenvordemStart desComputers(bzw.voreinemReset)aufderDiskettesein,die sichimLaufwerkAbefindet.SiedrfensichnichtineinemOrdner befinden! NachdemSystemstartkannmandasAccessorydannausallenGEM- ProgrammenberdieMenzeilestarten.Eserscheintzunchstder Hauptdialog(Bild1). DasProgrammistfreikopierbar,jedochdarfjeweilsnurder gesamteOrdner(SYSTEMbzw.SYSTEM.IBM)weitergegebenwerden.Der Pascal-Quelltext(ST-Pascal-Plus)istinbeidenOrdnernenthalten. IndemQuelltextdrfennurdieDefault-WerteimKonstantendekla rationsteilsowieindenProzedurenInitialisiereund AlarmvoreinstellungunddieProzedurDo_SchaltenzurAnpassungan einanderesSchaltinterfacegendertwerden.Allesbrige unterliegtdemUrheberrecht.Wennjemandjedoch Verbesserungsvorschlgehat,binichjederzeitdankbarbereit, dieseentgegenzunehmen. MartinSchultz Amalienhhe6 5300Bonn2 EntwickeltwurdedasProgrammmitST-Pascal-PlusvonCCD. nderungensindvorbehalten. DieBenutzung NachdemAufrufausderMenzeileerscheintderHauptdialog (Bild 1). DerHauptdialoggliedertsichinzweiBereiche: ImlinkenTeilbefindensicheinigeButtonszur"Zeitverwaltung". DiehiereingestelltenParametersindwirksam,wennsiemitOK bernommenwerdenoderwenneinesderSymboleimrechtenTeil angeklicktwird.ImrechtenTeilsindverschiedeneParameterein stellungenuntergebracht.Imeinzelnen: Datum:HierkanneinbeliebigesgltigesDatumeingegebenwerden, dasdannalsSystemdatumbernommenwird(GEMDOS-Funktion).Alle mglichenFehleingabensindausgeschlossen.DerDialogkannnicht mitOK(odereinemderrechtenSymbole)verlassenwerden,bisein gltigesDatumeingegebenwird. Uhrzeit:WiedasDatumwirdauchdieUhrzeitindasSystem bernommen.DieUhrluftim24-Stunden-Format.Auchhiersind Fehleingabenausgeschlossen. Uhr-Symbol:DurchAnklickendiesesSymbolswirdeinestndige ZeitanzeigeinderMenzeilevonGEM-Programmeneingeblendet (Format:Stunden:Minuten).DabeiwirddieSystemzeitbenutzt,die mitUhrzeitgestelltwird.DieUhristsoprogrammiert,dasie nuraufdemBildschirmangezeigtwird,derbeimSystemstartdes Rechnersaktiviertist.AufdieseWeisewirdverhindert,dasie beiGrafik-Anwendungen,dieeinenweiterenBildschirmbenutzen, mitabgespeichertwird. NochmaligesAnklickenschaltetdieUhrwiederaus. Glocken-Symbole:DievierGlocken-SymboledienenzurAktivierung derviervoreinstellbarenWeckzeiten(sieheAlarmsetzen).Wenn eineAlarmzeitabgelaufenist,wirddasentsprechendeGlocken- Symbolzurckgesetzt. StandardmigwirdfralleAlarmzeitenalsDatumderTag genommen,derdembeimerstenAufrufdesDialogeseingegebenen folgt.AufdieseWeisevereinfachtsichdasgewhnlicheWecken erheblich.AlsZeitensindvoreingestellt: Kanal Einschaltzeit Ausschaltzeit 1 06:30 07:15 2 07:00 07:45 3 07:30 08:15 4 08:30 12:00(frLangschlfer). DieseZeiten(undwiederdas'morgige'Datum)knnendurchReset beiAlarmsetzenwiedergesetztwerden.  OK:AlleobenbeschriebenenEinstellungenwerdendurchAnklicken desOK-Buttonsbernommen.AnschlieendverschwindetderDialog vomBildschirm. Abbruch:VondenobenbeschriebenenEinstellungenwirdkeine bernommen.RuftmandenDialogerneutauf,erscheinendiealten Wertewieder. NunzudensechsSymbolenaufderrechtenSeite: Alarmsetzen:MitdieserOptionknnendievierAlarmzeiten eingestelltwerden(Standard-EinstellungsieheGlocken-Symbole). HierzuerscheintfolgenderDialog:   Bild2:Dialog'Alarmsetzen'  DieUhrzeitenzumEin-undAusschaltensindnachAufrufdes DialogesimmerdievonAlarm-Nr. 1.DurchAnklickender entsprechendenNummerknnendieanderenZeitenausgewhltund gesetztwerden.FrDatumundUhrzeitgiltdasobengesagte: Fehleingabensindausgeschlossen.Auerdemwirdesals Fehleingabeerkannt,wenndieAusschalt-Uhrzeitunddas Ausschalt-DatumfrhersindalsdieEinschaltzeit.Wennnurdas Datumfalschist,wirdfrdasAusschalt-DatumdasEinschalt- Datumeingesetzt. MitdemNotensymbolaktiviertmanalsWeckereinenDreiklang,der berdenMonitorlautsprecherausgegebenwird.Dieseristvor allenDingenntzlich,wennmannuranetwaserinnertwerden will.DievierBlitzesteuerndasSchaltinterface(Kanal1..4). EsknnenauchmehrereAktionengleichzeitigausgefhrtwerden. FallsnurderDreiklangausgewhltwird,wirddieAusschalt-Zeit ignoriert. MitOKwerdendieindiesemDialogeingestelltenParameterfr eineAlarm-Nr.bernommen,undmankannanschlieendberdie Nummer-ButtonseineweitereAlarmzeitsetzen. AbbruchbernimmtdiezuletzteingestelltenWerteebenfalls, danachwirdjedochzumHauptdialogzurckgekehrt,wodiegerade gesetztenAlarmzeitenaktiviertwerdenknnen(siehe Glocken-Symbole). MitResetwerdenwiederdieStandardzeitenaufallenvierAlarm- nummerngesetzt;alsDatumwirdderdemaktuellenDatumfolgende Tageingesetzt. Tastatur:MitdieserOptionkanndieRepeat-Geschwindigkeitund dieVerzgerungbiszumEinsetzendesRepeatsbeeinflutwerden. MitOKwerdendieWertebernommenundausgefhrt,Abbruch ignoriertdieneu-gewhltenWerte.(sieheBild3). Bild3:'Tastatur'-Dialog Schalten:EinAnklickendiesesButtonsermglichteinedirekte SteuerungdesSchaltinterfaces.IndemhiererscheinendenDialog wirddieaktuelleEinstellungangezeigt.Mankannnuneinfachdie gewnschtenKanleauswhlen(selektiert=anschalten)undmitOK aktivieren. Drucker:DiedreiFeldermitdemDrucker-Symbolerlaubeneine komfortableDrucker-Voreinstellung,mitdersmtliche SchriftartenundsehrvieleSonderfunktioneneinesEPSON- kompatiblenDruckerseingestelltwerdenknnen.MitDruckerText wirdderDruckeraufeineStandard-Text-Einstellunggesetzt(72 ZeilenproSeitebei1/6"Zeilenabstand,SchriftartEliteDoppel, linkerRandanPosition6,...).DruckerGrafikerlaubteine Standard-Grafik-Einstellung(frHardcopies...)undDruckerfein fhrtzudemDialogaufderfolgendenSeite(Bild4). FrIBM-kompatibleDrucker(z.B.Star-NL10)mudieVersion SYS_IBMbenutztwerden,sonstkannderZeilenabstandnicht verndertwerden. Bild4:Drucker-Feineinstellung DieeinzelnenPunktediesesDialogessindeigentlichselbsterkl rend,nurnocheinpaarAnmerkungen:DieEinstellungenaufder linkenSeiteentsprechendenenderDruckeranpassungimKontroll feld(CONTROL.ACC),dasmitdiesemProgrammberflssigwird.Im FeldSchriftlassensichzwarimDialogallebeliebigenSchrift artenmiteinanderkoppeln,jedochakzeptiertderDruckerei@`p2#da .M1H|_RJY&`&έ̮̃%É ,C.n-C-L-Ì.oNMM,LŃÎ쭌m cÊLn.Ì-̣È-nC,̮NAACM.cÌ.Ãp(-.MÎlLp-Ň.c-m,mlÌCÊo-M팣Ì.ÌCCLml.̌c .,-cŇnlL̍,έ̃̌-.ÏNCCP,mmlC-̌.c.Ṋ̌ML-A. .. BARREL DOCBARREL INFBARREL TOS BARREL: The Versatile RAM Buffer and Printer Spooler. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ by Moshe Braner Consider the following situations: You want to print long files without holding your computer up in the meanwhile... You would like to save the screen as a disk file when you press Alt-Help, instead of printing a hardcopy... You're trying to do some fancy printout, but your word processor doesn't print what you think you told it to. You would like to be able to see exactly what control characters were sent to the printer... You want to print on a remote printer, send a document e-mail, or input it to another program, but your word processor (or whatever) will only save documents in its own wierd format, not as a formatted ASCII file... You have a printer-driver to print graphics from program X on printer A. But you would like to use printer B. You have the documentation for both printers. You could easily write a "post-processor" program that will replace one set of control chars with another. But first you need a method of capturing the output for printer A in a file... It is all possible with the program "BARREL". When you run BARREL for the first time in a session (from the desktop or from the auto folder) it installs a RAM buffer plus some resident code. You enter the desired size of the buffer in units of 12K: a number between 1 and 9. (You need to press '3' (i.e. a 36K buffer) or more if you want to capture DEGAS format screen dumps.) Then, and every time you run the (same) program later in the session, you get to choose items from a menu: Capture printouts in barrel Immediate hardcopy printouts Empty barrel - make room for new stuff Write barrel to a disk file - file the RAM buffer Read a file into barrel - for background printing Hardcopy screen dumps SCODE format screen dumps DEGAS format screen dumps Background printing - after Capture or Reading Foreground printing only - but can resume later Quit - but leave settings intact BARREL intercepts all BIOS calls, and when they concern the printer it redirects them to a RAM buffer. BARREL achieves background printing by installing a routine in the 200 Hz system timer interrupt (that's plenty fast enough for text but rather slow when printing graphics). You can also ask BARREL to read a file into the RAM buffer. That is a faster way of setting a file up for background printing. The barrel is automatically emptied whenever background printing catches up with the saved stuff. It is NOT emptied upon writing to a file, so if you want to do both you should write the file first. BARREL also redirects the screen dump vector, enabling capture of the screen dump in RAM, in either SCODE or DEGAS format. A "screen dump" is caused by either pressing Alt-Help, or by a program (e.g. N-Vision) calling the XBIOS screen- dump function. If the screen dump is successful (i.e. there was enough space available in the barrel) the screen will 'blink' as a confirmation. The captured data may then be saved to disk by re-running BARREL and pressing 'W'. SCODE is a format that is both compressed and coded as text, so it is ideal for sending pictures via electronic mail (no uuencoding necessary). You must use the SDECODE program to view the picture, print it, or save it in a standard bit-map form. Note that when using DEGAS format dumps in BARREL, repeated Alt-Helps overwrite each other, only the last saved screen is still there. When using SCODE format dumps, they accumulate in the barrel as long as there is enough space. Individual dumps are separated by a blank line. After you write the barrel to disk you must use a text editor to separate the dumps (and remove any other text preceding coded dumps). Also note that the format of the saved graphics is NOT printable, while the normal screen dump does not go through any BIOS calls. Therefore, you cannot print an Alt-Help screen dump in the background without some extra software. You CAN spool the output of a program that prints graphics from a file (e.g. a GEM metafile) as long as the program calls the BIOS Bconout() function to print each byte. Asking for "immediate hardcopy printouts" just turns off interception of printer output. If you want to actually remove BARREL and reclaim the memory it holds, you have to reboot. Here is the promised BARREL program. It buffers Centronics output in RAM, and allows saving it to disk or background printing. It also redirects Alt-Help screen dumps to RAM, in either SCODE or DEGAS format. BARREL replaces BUCKET, and also effectively replaces SCODE.TOS, which was a 'dirty' kludge... Following are BARREL.DOC, BARREL.TOS and an updated SDECODE.TOS, in a uuencoded ARC file. Source code (in AL and C) available upon request. (Both BARREL and SDECODE use my modified Megamax init.c.) `BN N*O*m - @Э"@м.@ -So Q m -SoBQ(m)M*mN l <Ш ШШ"҈gR)AЬ"҈¼)A//Bg?<JNAO Jg?2QA C8A NuM,"z9`-@=@<0afa(@~=| |@4<B0ѮafQA|0.@<0=F:p6|SFBEBDa4@`0 MlN<.8 aJfJEfWv|m JEgBEaVfP`affDRCQRK`JEg 0 a.f(0.a> .a6afa AѐB@Nu20H@a@K0HHC`2HHa(0Ha 0aNuB4@MH4@MѮNu|?| |+n @A`&|:m|@n @5`|[m@a*fRn n@lBNuBnp a p aNuepNuRBNuccPAz NuA: NuA NuA NuNVHl?< N \N^NuNV/.?< N \?<?<N X`N^NuNVHl ?< N \|PHl?< N \=@ABA `N^NuNVH&nHl4NX> Gyg GYg`'k 'kLN^NuNVH0&n +gHlLN8X`NV$@H|f`Hn?<N (\Bg/ ?<NN P gHldNX`A, F, oHlxNX`x oBg/ ?<=N P=@ @lHlNX`F/+/?.?<?N gHlNpX`'k +І'@HlNRXL N^NuNVH0&n$k,+" nHlNX` +o4Hl?< N \HlNX> Gyg GYg`~,+N-@ nH|f`^Bg/.?< G0m G9n??<?<N0\|0 Gf BgN2T0H2HЁ-@/ Gam Gzn|??<?<Nd\Hl(?< Nr\ GCf=| GIfBn GDf }"m=|BnBn GSf=|=|Bn GHfBn GBf =|Bn GFfBn GEf / N6X GRf0.g / N^X GWf / N^X GQg`|67n7n7n0.gBgNT` NJ",ѮBg/.?<1NhPLN^NuNuNV?.NT nn0<`?.?<>N4X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NhP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.Ad0nf0.AdBPRn nLmN^NuNV?>.=|0Ad"HPgXHf0(>N^Nu)I`)J\)_XNM"l`$l\/,XNu)I`)J\)_XNA"l`$l\/,XNuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NRX0. Sn J@fN^NuNVH0&n $KA>-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NvTJ@f`H| f |o@ H-@/./.?.?<@N| 9@Hg0<`0,n/./<?.?<@NF 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^Nu)|C"2"2 2"2"2"22"2"2"22"2x9|NuE BARREL by Moshe Braner Enter filename: Are you sure (y/n)? Empty barrel first! File not found! File too big for barrel! Error opening file! Error reading file! [file read, no errors.] Nothing to write! Not all the stuff still there! Save barrel as-is (y/n)? Error creating file! Error writing file! [file written, no errors.] Installing BARREL - choose size in units of 12K (1-9, 0 to cancel): Not enough memory for such a barrel! Barrel installed. (Reboot to remove.) Hit any key [capturing printouts in barrel] [SCODE screendumps to barrel] [DEGAS screendumps to barrel] [stuff in barrel] [printing in background] Immediate hardcopy printouts Capture printouts in barrel Foreground printing only Background printing Hardcopy screen dumps DEGAS format screen dumps SCODE format screen dumps Empty barrel Write barrel to a file Read a file into barrel Quit (accept current settings) Choose by first letter: CON:AUX:PRT: `<H'N6N(N'N)xN(2N(N'N'tN:K mNf]` m"m -So Q m -SBQ(m)MO*mN0N\?<N%*H?<A?<NAX <B@SfLNuNVrBnt`0.tA0Rnt n tmBn=|HlHlHlHlN#9@ HnvHl HnN5 n0v n 0x/./././.?<BgN#HlHlBgBg?, N5r?<?, N5 XBg?, N5*XBg?, N4XN^NuNV?, N5TN^NuNV?.?.?. ?. ?.N" =@0.gBgBg/.?<?.N#B 0.`N^NuNV=n=n 0.n S@=@0. nS@=@Hn?<?, N5jPN^NuNVHl?,?,?,?,?</NP9@N^NuNVHlHlHlHl?<?,N"b?,N"&T?,N"4TBlN^NuNVHlHlHlHlHlHlN0,H9@0,H9@0,H9@0,H9@?<N+T=@0.A09PH0.A*9PJ0,HH9@LBlN0.A$9PP0<9@V9@T9@RBn`AX Rn nOmB,Bn`"HlX0.PAA/N1PRn nmN^NuNV?, N44T?,?,?,?,NP=l0,l=@0,l=@0,lS@=@=l=l0,l=@0,lܐlS@=@HlDHlDHn?<?, N4*HlX0,2,SA=@0,nW@??,?, N3 HlX0,2,AW@??,?, N3x ?<?, N3 XBn`00.PAA/0.PAA/N0VPRn0.2,SAAm0,S@=@`"HlX0.PAA/N0PRn nmN^NuNV?HlX0,PALA/N%"PHlX?,?<NP9|``|g`b=l=l9|=l`"0.PAA/NXN&Rn0.2,SAAm9n9n`L`|g` lo~0,PAKЈ @A/0,PAJЈ @A/N$JP0,PA 0,PAB0,PALA/?,?<NPSl``|g`0,PALЈ @A/0,PAKЈ @A/N#P0,PA 0,PAB0,PALA/?,?<NvP`&` no ?.NT` ``N^NuNVNHl4?,߶N\9@ NBl"`HlHnHlHlHlHlBgBgHl BgBgBgBgBgBgBgBgBgBg?<?<?<?<N<=@0.|gn l( f>0,l f20,"f*N0,g9|"NR`HlB?<NJ\ l) f0,l f0,"g BlBl"0,"gN0<f&N^NuNuNVHlN XNHlNXNHlNXN~Hl&NXNpHlfNXNbN^HlNXNPHlNXNBN>HlNXN0Hl2NXN"NHlBNXNN^NuNVHlZ/.N!PP @f/./. N!|P`BHl\/.N!(P @f/./. N!TP`0<=@=@Hl`/. N!6P` nH`|.g`=| Rn``|*g` nl =|`=| =n` n ?Rn0.nm0.R@=@`Rn nH|.g nf`2`0.Rn n2.Rn n ` `` ng n mN^NuNV nH| g n n R  nRfN^NuNV n(H|:f nH|ߐ|A n 0T`?<N*T n 0/.N XS@=@` nH|\f`Sn nl .6.HЃR/HlNfPA(B nm?./.Hl(NX N^NuNV`R nH| g` nR n R  nH| g nf n B .`N^NuNV0,8ng4?.Hl:HlnHllN\HllNXN 0<`` 0<`N^NuNV?<NT9@6BgHl?<GNPN^NuNV?,6?<NX,H|fHlHlN8PHl?<;N\N^NuNV=|-nBl8`D0,8PA:A//.NP-@0,8PA:H|f`Rl8 l8mSl8,:gHl:NX @f,;H|:f?<NT-@,:H|ߐ|A=@Hg^?<NT/?<N\"0<6.`Hg&?.?<NXHl?<;N\N~`HlNXNx`Hl:NXXS@=@`A:Sn nlBn`.0.AxA/Hl:NxP @f`Rn nm nf(Hl:HlHllN, HllNbXN`^0.`|g`$?<N|TJ@g HlNX`,`|g`< l8fHlNX`?<N6TJ@g HlNX``|g`BgN TJ@gN2``|g`(?<NTJ@gHlHlNP``|g`D?<NTJ@g,Hl?<;N\JgHlNLXN`N`@`|g`|g`$?<NVTJ@g HlNX``N^NuNVBnHn/.NP,H|fHlNXNF`2HlHnNPHl(HnNPHn/. NP0.ng"HlHllN>PHllNvXN`,H|fHlHlNhPHnHlNPHl(HnDNLPN.H|fHlHnN,P.DH|fHlHnDNPHn?<;Nl\ l(HnHlHllN HllNXN>`&Hl?<N.\BgHn?<NNP @fHnHlNPBn`FAH|?fAA`AARn n mHnHnN PHnHnDHlHnNHnHlHlHllNHllNXNdHnHlBg?<VNR Rn?<ONBT @g&?.Hl4HllNf HllNXNNFN^NuNVBgHl(?<GNPHl(?<NT|A?HlHHllNHllNNXNN^NuNVBnBNHn/.NDP,H|fHl`HlN"P,(H|f0,6nfHlHl(NP?.?<NVXHl(?<;NH\ l(Hl(HldHllNj HllNXN`HHlHl(0.|A?HlxHllN6HllNlXNHl?<N\?<Hl?<NNP @f`,H|g@,H|.g2HnHlNPHnHlHllN HllNXNr?<ONjT @gBgHl?<NNRP @fTHnHlN2P/,HnHlHllNdHllNXNRn ,Ѯ?<ONT @g/.?.HlHllN HllNVXNNN^NuNVBnNHn/.NLP?.?<NX,(H|fHlHl(NPHl(?<;Nx\Jg(Hl(HlHllN HllNXNN`Hl?<N>\BgHl?<NN.P @fHHlHlHllNR HllNXNHl?<AN\Rn?<ONT @g?.HlHllN HllNBXNNN^NuNVxBg/.?<=NP=@ nl(/.HlHllN HllNXNp`Hn|/<?.?<?NV -@x .xgBn`nA|H`| g`|g` `>`| g`*N`&`A|H?N T` ``Rn0.Hxm xgNN?.?<>N XN^Nu)IB)J>"/0<NB"lB$l>Nu NV9n:0.| A" AA-H=|` nR2.A:H0Rn nm/,߸N.X0,N^NuNVA:)H߼A)HA)HA)HA)HA)HA߼)H߸?< NXT9l߶0,߶N^NuNV9n9n 9n 9n9n9n9n9n9n9n 9n 9n9n 9n")n$9n(9n*?<NT n,0 n00 n40 n80 n<0 n@00,N^NuNV9n)n ?<#NTN^NuNV9n)n ?<4NfTN^NuNV?<MNTT n0 n 0 n0 n00,N^NuNV9n9n 9n 9n9n?<dNTN^NuNV9n9n 9n 9n9n?<eNTN^NuNV9n?<fNTN^NuNV9n?<gNTN^NuNV9n9n ?<hNT n 0 n0 n0 n00,N^NuNV9n9n 9n 9n9n9n?<iN(TN^NuNV9n?<kNTN^NuNV?.NT nn0<`?.?<>N X9@vg0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ N"P?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@ٞNuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@ٜQ`NVH"n Blٜ n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,ٜQ fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.Ax PNPLN^/W DٞNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)Pٔ)h٘-lٔ-l٘BEG>O|g|JGn|m` REHlٮ/ NRPO`SEHlٮ/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN| -@?<?.B?<BNb -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@vg <` `Blv . N^NuNV/.?<IN\N^NuNVBn`&0.AF0nf0.AFBPRn nLmN^NuNV?>.=|0AF"HPgXHf0(>N^Nu)IB)J>)_:NM"lB$l>/,:Nu)IB)J>)_:NN"lB$l>/,:Nu)IB)J>)_:NA"lB$l>/,:NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )nٔ)n٘Hl8Hlٔ?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0l٠o0,٠`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl@/N /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)Pٔ)h٘/,٘/,ٔHn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNVHn /.NhPN^NuNVH0&n$n `RRgHHAgHHC`L N^NuNV n "n fN^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV .9@ .9@N^NuNV .9@ .9@N^Nu)IB)J>Hl)_&Hl&" <sNB"lB$l>NuNV9n 9| Bl9|9nN0,N^NuNV9n 9| Bl9|9nN0,N^NuNV9n 9|Bl9|9nN^0,N^NuNV9n 9|jBl9|9nN20,N^NuNV9n 9n 9|'Bl9|9nN n0 n0N^NuNV)n*)n2 .мZ)@69|dBl9| n 9PN n 0A)H*A)H2A)H6A)H.N^NuNV9|eBlBl9nNjN^NuNV)n .9n 9|9|9|9nN:A)H.N^NuNV9n 9|zBl9|9nN N^NuNV9|{BlBl9nNN^NuNV9n 9n Bn nR2.RnA|0f9|9|Sn0.9@9nNN^NuNV9n /.N4X/.NLX)n .9|m9|9|9nNJA)H.N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<N~X0. Sn J@fN^NuNV` nRH??<NPX0. Sn J@fN^NuNVH0&n $KAD-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NXTJ@f`H| f |o@ H-@/./.?.?<@Nz 9@vHg0<`0,vn/./<?.?<@ND 9@v @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@vHg0<`0,vnBlv0.L N^NuCxTYPEDIRPATHRENCDDELERAC02@22C*222C$2229|C MOBZystems Shell (c) 1987 V0.0C"2"2 2"2"2"22"2"2"22"2x9|)lٮ)lٲ)l٪)l٢)l"٦9|٠CxA"A"A"A$"A*"A"A "Nu_[1][The Zhell-window is|already open!][ OK, OK ] MOBZ Shell[3][Sorry, there is no more|room for another window!| |Pity, isn't it?][ Yeah... ]HELP for the MOBZystems Zhell:Editing: arrow keys move the cursor aroundctrl-E: erase line Home: home cursor shift-Home: clear screenDEL: delete char Insert: inser char BS: delete characterctrl-D: delete line ctrl-RETURN jump to next lineRETURN executes the current line. Use the RUN-command toexecute an external program.Scrolling can be stopped by pressing CONTROL. Releasing CONTROLresumes output.Written by Markus The.... . %s: %d argument(s) required\\Invalid drive specification%s: unknown command*.*Path not foundFilename requiredCan't rename across drive*.*%s: path not found%s\%sRenaming file %s to %s%d file(s) renamed.Current path is: %c:%s*.*%s: path not foundDirectory of %c:%s\%s*.*%12s %12s %6ld%d file(s), %ld bytes used.%s: path not foundDeleting file %s%d file(s) deleted.%s: can't open file@$??CON:AUX:PRT:%d `xNfNNN N NN N XN TN N N,A(&H??NX??NfX??N0X??NX??NtXLN^NuNV n"n 0222XS@PSA22N^NuNVH>.<. &n 0Sm40km,0k=@0nn0+k=@0nn0<`0<LN^NuNVN?<?,NX?<?,NXBg?,N:X?<?,NXHn/.N:PHn?, n N\NN^NuNVN?<?,NX?<?,N:X?<?,NXBg?,NLXHn/.NPHn?, n N\NtN^NuCA"A"A"A,"A."A0"A2"A4"A8"A:"A<"AN"C"C" C"C"Cx"C@222 222"22202 222222"222 2222222"2222222222"2 222222222 "2222222222 "2222222222 "2 222222222 "2'2222 22222"22 222 22222 "2 2222 22222 " 22222 22222 " 22 2222222 2" 2 222C<"C62C222222)|v)|C2 2 2222C"22222C22222 2A "2222NuNV=nU>%NNSnfN^NuNVH0&n>. <.$n=G`b0 K0(ng<=G>. K>( Gf>. K>`=G>. K>0Fg GfL N^NuNVH>. < n<(0|f0 n0( |g0<`0|g9G0<LN^NuNVH>. < n<(0|g0<`>0|f0<`00,g0,lf9G0,f0lf9l9G0<LN^NuNVHn?. /.N~ ?.?.?.?.Bg?. /.N N^NuNVH&n>. 0 K0( |f0 Kh ?/ N\LN^NuNVH&n>. 0 K0( |g0 Kh ?/ NB\LN^NuNVH0&n>. <.:.$n0Jg|Bl0| g`J nBP9|Hz,?. ?/ NX\<: K:(`0Gg ?/ N\0 K:0Ff?/ N \LN^NuNV0.  n=h0.  n=h 0.|@=@0.|=@0.|=@0.|=@0.f 0.g0.g0.f nBP0<`0.g nf=|`Bn0.gl0.ff0.|g?. /.N\`L0.f2?.0.6<@??. /.N* J@f nBP0<`L`0.  n h 0.f 0.|g0. n n00<`` 0.f nBP0<N^NuNVH&n?<N$TBG .fA8-H .fA-H:<`p0n g& n g>. Bn ?<HnBg?/ NHnHnHnHnHnHnBBBBBBB?<?<?<?<#N<<=@0< ng0|gFHnHn ?.?. ?/ nN:0g"0.g0g?<Hn?.?/ N0|gpA/?.?.N6PJ@f?<?<?<N\`D?.?.?<Bg/ N =@ n fBn `Hn ?.?. / nN :0g0. Gg 0. g0g?<HnBg?/ N0f?<N$T0. LN^NuNVH&n>. 0f0<`6< K< Fg"`>< K<0 K0(Gf0LN^NuNVH0&n>. $nA/A/?/ N00 K5h0 K5hL N^NuThe PROTECTORbyDrives to write protect:CDEFOKBAwrite with verifyDan Moore and Dave Small The PROTECTOR`*,*O?A+"HN o"h#?#?#@BbBy@N /,HNVN)|A,-H V0(R@ V1@ V"h V0(A2. N^,_ _TN/,HNVN)|A-HBn0.J@j?<- NN0.D@=@=|'p=@0.rAo^0.2.H=@0.J@V0.F@@Bd0.r0A? NN6Bn0.2.HH@=@0.r H=@`0.J@f ?<0 NN"n 0.@N^,_ _\N/,HNVN)|At-Hp=@"np)=@0.nn0"n 0.2|CO$n2.CPt2Rn`"n $np*R@2|COrN^,_ _PNNV?./. ?<=NAN^ _ONNV?.?<>NAN^ _ONNV/./. ?.?<?NAN^ _O NNV?./. ?<GNAN^ _ON/,HNVN)|Av-HHnBgNp=@0.2|COrA0JAg6"n 0.AP2.4|EOtA00.R@=@`"n 0.S@@N^,_ _XNNV?<NAN^Nu/,HNVN)|A-HNN3RHyAjN4N'f09R@A??0.vJ@f Bn`p=@HnN>HnN6"nE2p"Q"n E2p"Qp.=@Bn0.@eR0.J@W0.rA0p\@WÄC0.rA0p:@WÄCBd p=@` 0.S@=@`p=@p.=@f0.nfn,0.R@=@"n 0.2.tA0Rn`"n 0.@0.N^,_ _PNNu/,HNVtN)A8-H=n0. rA=@-nx?<HnHnHnxHntN#>N^,_ _PN/,HNVtN)A2-H=n p=@-nx?< HnHnHnxHntN#>N^,_ _\N/,HNVtN)A0-H=n Bn-nx?< HnHnHnxHntN#>N^,_ _\N/,HNVN)A*-H/.?. A O"Op?"QBgBgNTN^,_ _ON/,HNVnN)AL-H"n $n p*R@r=n"n / N$-@r?<#HnHnzHnrHnnN#>0.N^,_ _\NNu/,HNVN)Aj-H0.T@=@?.NX-@/.?N^,_ _ON/,HNVnN)A@-H0. J@jBn =n -nr?<2HnHnzHnrHnnN#>=nz0.N^,_ _\N/,HNVN)Ap-H/.BgHnHnHnHnNBgBgBgBgBg?.?.?.?.N/.Bg?<?.?.?.?.N/.?. N(=@0.N^,_ _\N/,HNVN)AB-H/. BgHnHnHnHnN?<BgBgBgBg?.?.?.?.NRN^,_ _XN/,HNVtN)A&-H-n x?<6HnHnHnxHntN#>N^,_ _XN/,HNVN)AR-HBn"n0.r1JAg*"n 0.R@$n2.t20.R@=@`"n 0.@N^,_ _PN/,HNVN)Az-H"n Jfp. R@?"n / N"p=@p. =@0.nn&"n $Q0.S@2.tA 0Rn`"n $Qp. rN^,_ _ON/,HNVN)Av-H"n0.-I"n0)rAW"n0)r AWÄC"n0)rAWÄCBd("n / AO"Op?"QN`"n0)rAW"n0)rAWÄC"n0)rAWÄC"n0)rAWÄCBd"n$i -J"n0)rAW"n0)rAWÄCp."ni\CBd"n0)S@@"n Jf"np.R@3@"n/ AO"Op?"QN"n0)rAW"n0)rAWÄCBd"n3n "n3n N^,_ _O N/,HNVN)AT-H"n0.-I"n0)rAW"n0)rAWÄCBd"n$i /"n / N`N^,_ _O NNu/,HNVN)0. R@?HnN"Bn0. S@=@0.nn"n0.BiRn`"n0. p3@-n .N^,_ _TN/,HNVN)Bn0.rdA]"n 0.0)rAVCBd0.R@=@`0.rdAl0.R@?/. N(N^,_ _XNNu/,HNVN)A-H"n 0.-I"n3n"n3n"n3n"n3n"n3n"np2"np3@"np3@0.rAW0.rAWÄCBd0.rA=@"n0.r A3@"nBi 0.rAW0.rAWÄCBd"n3n "n3n ` "nB 0.rAg/. ?.?.N4N^,_ _ON/,HNVN)A-HBn"n0)J@g^"n0.0)r AJ@f0.R@=@`"n0.$n0.0*r FAA3@0.R@=@/.?.?.?.?.?.?.?.?.?.?. N2=n0.N^,_ _ONNu/,HNVxN)=n=n -n|?<(HnHnHn|HnxN#>N^,_ _PN/,HNVxN)=n -n|?<rHnHnHn|HnxN#>N^,_ _\N/,HNVxN)-n|=n=n=n=n=n=n ?<*HnHnHn|HnxN#>N^,_ _ON/,HNVN)"n0. =i 0.N^,_ _\N/,HNVxN)-n|=nBn=n=n=n=n=n0. rA=@?</HnHnHn|HnxN#>N^,_ _ON/,HNVN)/.?.HnHnHnHnN/.?.?.?.?.?.?.?. NDN^,_ _O N/,HNVN)"n0. =i0.N^,_ _\N/,HNVN)"n0.3n N^,_ _PN/,HNVrN)-nv=n=n=n=n ?<+HnHn~HnvHnrN#>=n~0.N^,_ _O NNu/,HNVtN)/.?."n/ "n/ Nr"n0.-It"n$nt2"n $nt2"nt0) rAJ@g:"n$n0W@2"n$n0W@2"n$n0\@2"n $n 0\@2N^,_ _ONNu/,HNVxN)=n-n|?<,HnHnHn|HnxN#>"n2"n 2N^,_ _ONNu/,HNVN)=n-n ?<NHnHnHnHnN#>N^,_ _\N/,HNVN)?</. NN^,_ _XN/,HNVN)0. ?BNN^,_ _TN/,HNVN)?<BNdN^,_Nu/,HNVN)?<BNFN^,_Nu/,HNVN)p?BN(Bn?<zBg?<BgHnHnHnHnHnBgN#N^,_Nu/,HNVN)p=@?<kHnHnHnHnN#>N^,_Nu/,HNVN)p=@?<kHnHnHnHnN#>N^,_NuNu/,HNVN)A-H=nF=n@=nD=nB0.:rA=@=n8=n6=n4=n20.0rA=@=n. =n, =n*=n(=n>=n<-n$?<HnHnHnHnN#>=n"n2"n2"n2"n 2"n 2"n20.N^,_ _O"n2"n2"n2"n 2=n~0.N^,_ _ON/,HNV0N)0. rAg p=@2` Hn0Hn0Hn0Hn0Nl=@pd=@2=n p=@ n n0.@rA1Rn`p=@?.2Bg?< BgHnHnHndHnLHn4BgN#=n0.N^,_ _TN/,HNVN$=@?.N$v=n ?<fBg?<BgHnHn"n/ Hn"n/ BgN#?.N$vN^,_ _O N/,HNV8N$=@:?. N$v?. HnlHn=n~p0.prAg?<N=@n?.nN$?.nN$v?N^,_Nu/,HNVN)p. R@rA Hn N$/N"N^,_ _ON _(N _0/Ho |"3+Jy+fXNX/"_/$|*0a."|*da&Hy*,?<N"Jy@g _9N"BgNAg`NuNu/,HNV-n=n ?<4HnHnHnHnN#>=n0.N^,_ _\N _#T#T#T#T#ThT#TT0/3Th| H |*"|TjH2H2H209Th @pf2<`2<3Tp"<T0<NBNu _<#T#T#T#T"_#T:3E3_3_ 2/3yT Jg( yT8DSEk0 yT00 yT0Q?"<T0<sNBJ_`.:9TlH yTSEk0 yT00 yT0QNu _3TN09TNu _3TN09TNu _3T3TN _"_$_2T4TN _3T3TN _"_$_2T4TN _3TN09TNu _ RN _"_/) g g f0)k @e??<>3|NAXNu ?Nu#' _ g?e?d 9'NHy'`Hy'(N"t`t _"_0gR@| e.G'$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9&g0$A#&`""9&g$A#&`"9&g $A#&"`"E?&R"$b Hy'N"Jgr"QHd2S@k"QN _"_0" g?e?d gR@ @mz @ e@E'"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"&#&` |f"&#&` "&#&NHeap overruns stackPointer NILPointer not in heapHT _0"_e /LTNuHy)lN"/B9U/|UNuHT _0 @f0"|TTp` "_J@jpEUr4@ BbBS@kQ/LTNuHT _4SBkt82$_rAdd0 @f0"|TTp` "_J@jp6ADb6CG0IS@k$eQ/LTNuHT _4k2SAk0"_p6B@bE0)CS@kQ/LTNuHT _2$_r0 @f0"|TTp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LTNuHT _4kF2SAk>0 @f0"|TTp` "_J@jp6B@bEUSBkQ/LTNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"y?e Hy)N"N#V #V .f -|)`-|) nNнVf yV NStack overruns heap09+Nu _3+NBy+Nu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc.  F    "4J$*   ,:((82:  0  T  d&:42,00.4\.0DX<"$>,$8(l*lrh\,&D0T>0,8&&,&$$6  LD"2 T &( 0&  >        R  <   , FR ( *@ B @ B  `6R` Efv*oMR m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN::FXXXJrBjNuHz?<&NN\CAp$L Qp NBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu &8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe" F dF8BCHC` F0b(v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@Nx?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N^6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N^<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNu~c0NHQNu?Hl?<6NAP0,NuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuBNN]NvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNu9Cp rtNAv` Av `Avl 2l 4)lVHNaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu0<}N& ?<NNC`&?<NNT"@ C <}N`N>(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZNA BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNu@9@JpNNr|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg: k&@0+R`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNN$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNu Ihd*N$E$RR@H`2QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N$E$R`QˈN ENup`(* 0(iN$E 4R`Q$D 4R`QˈN DN ENu2p <0N`QNur ,* N& ( EN C"Sj|AcRGFc8>`4A g6 g0 g` gTlfelhgFf2pRGRFa`a,` `?~ap ap a 0NuCpE`bf`FgRGJGgRSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0Nu?<?<NMXNur9A(HNLNu0,^2,`NzEfpaRppaNAEg0PaľEfa4RE`p a2a*Efp a(NldeS@f lbfSl`9Ab9FdNupapqr`p`"p`tdbDA0Hg<<R@f|0HN*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuN<(`|HP?N<pg2JFg W"X2@e2<A`QNCpR@ 1 fA 0! "_N.p`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NX  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C\fApNNNjHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Error # ][Abort]\f.B &lX)K\)ld` lp ,BQjNup(NV"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`"X0gBPHR@@"D#Nu/&#k gH`X-KNu)H,Bl0NuE+000 l,N0l0oNNuaNHP l,"X42,0Rl0Bd1 _g !g &g, \g2N`Rl01` _NJ@fp N0N _Nb NpR@RABd 1\f9A0 _/N"@c֒@H/N Np?N _Nbp?NLNVH l,"X42,0Rl0Bd1 _g,vxz| +g. -g( *g $g" #g N`Rl01`` `RCRABd1 _fRA` #g $g *g ,g ^gB +gZ -gT .fRxRDRABdH1 #g ^g +g. -g( _f&RA`RERABd1 ^g +g -f2ALH@ք/N"NC " Lx2DE A,b -fEt1BQt1$0000QE[JEft Q0JgE\J"f0J"ff JFj-Sg$E[JEgRE\JEg vJ*g RCJ*f~ g~*Jf`9I0p%NLNVNuE[JEg*ÒEA. gSAR`Ô l,HQ?HjSl0 l,"X0Rl0gL _g0 ,g .g +g( -g $_HRN`$W "0d`Rl0`p Jojp-`Sl0Nu)|4