2IMGVi][@@8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RLnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!) >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@LCPM.HD#' ZPATCH.1#*2ZPATCH.2#*3'PATCHER$E#) (PCPIBOOT=# 7FBOOT1A# ) #LIBC.#(ZIMAGE.1\0#)DRIVERS.2u$#(ZIMAGE.20#TEMP#+GEOS.KERNALi +GEOS.SYSTEM  &PRODOS$#Bb # SYSTEM GEODOCS SYSTEM- s .Mouse s - s -ImageWriter I s -s -ImageWriter I s -s --Mouse s - s --o-v8JjC)i,,VȱfHDȱE "Bh 8ЮX,(`8`  8Jj-v !Kk8JjC)i,,VȱfHDȱE "Bh 8ЮX,(`8`   L3 FL M  LELN)00 ;L )/ȩlȩiȩb 1  `  Lerror loading pascal library /ram/bin/lib e c Lf c A J A J J A J  3 Lf c A J A J J A J  3 Lf c A J 䐩a z ɐ ̐ G !"#$%&'()*+,-./0123456789:; A J A J  0Lf c A E ? J G A A E <U6 W H A A E N 3 A JLf c AP 3 A J A J8O Duu i, G A A J  3 A J i) G SL, L  A A J 3 A J Lf c A 3 A J A J 2B G A A J 3 A J A J8O Duu A J 0 } A 3 } 3  } A 3 } 3  Lo  A J  A JP 2 M G A J A J8O Duu 0 } A 3 } 3  LB Lf c P IIL  - - A J A J8O Duu 0  ϐ  ;L. Lf c AP 3 A J A J8O Duu i A J n MI G A A J  3L  A 3 A J A J8O Duu nz G A J A J 2z G A J A J8O Duu A J A J8O Duu 0 A A J  3L A 3 A JP 2n G A J A J8O Duu A J A J8O Duu 0 A A J  3 A A J  3LLf c ɈʆQPJB;$0 % "{JU(I(TLl6 i i  Lf cȱȱȱ%{ Lf c Ɉ  1 Lf c  {Lf c  {Lf c  {Lf c[  A J8 D  - A Jii[ J 3 A Jii[ J 3 Lf c[  A J8 D  - } A Jii J 3 } A Jii J 3 u[  A Jii J 3[  A Jii J 3 Lf c  {Lf c  {[ 3[ 3Lf cȱ0)Lf c } A J 3  A J n GLf c }U A J 3 }W A J 3 u A } A 38 r P x[ W A J 3[ U A J } A 38 r  3[ JO j G[ [ JO  3[ [ J  3YLf c }ʥHȱhLi.ȥi J 3 }ʥHȱhLiȥi J 3 u QʥHȱhLiȥi J }ʥHȱhL?i3ȥi 38 r P x  }ʥHȱhLi.ȥi JʥHȱhLi0ȥi J   3 }ʥHȱhLiȥi J 3 uLf cʥHȱhLci0ȥi 3ʥHȱhLi0ȥi JP 2 GʥHȱhLi3ȥiʥHȱhLi0ȥi J8O DuuʥHȱhLsi ȥi ̐ 6Ѡ GʥHȱhLiȥi JʥHȱhLi0ȥi J8O DuuʥHȱhLAi3ȥiʥHȱhLpi0ȥi J8O Duu 0LjʥHȱhLiȥi JʥHȱhL i0ȥi J8O Duu 0 }ʥHȱhL{i0ȥi 3 } 3  LLf c A i G }ʥHȱhLi0ȥi 3 } 3  ʥHȱhLEi0ȥi JʥHȱhLwi,ȥi J  G SLʥHȱhLi3ȥiʥHȱhLi0ȥi J8O DuuʥHȱhLOi ȥi ̐ GL }ʥHȱhLi0ȥi 3 } 3 U ʥHȱhLi3ȥiʥHȱhL i0ȥi J8O DuuʥHȱhLoi ȥi ̐ʥHȱhLi0ȥi J i P GLf3 c A 䐩! Ɛ# ƐA ƐH ƐX Ɛ Ð A 0[ 0, A }3 A 38 r 3. A A J 3 } A J 38 r i̠ G L0 A 3 } 0  q }2 A 3  A 02 A iR G[  0 SL &2 A 䐩 ~ ɐ ̐! G A3 A0 A J8O Duu 3 A J! i G }2 A 3 Lk! A J# i^ G2 A 䐩0 9 ɐ ̐ 6[ G A 0Lk! A JA iĠ G2 A 䐩0 9 ɐ- Ɛ ̐ G A 0Lk! A JH iH! G }2 A 3 2 A 䐩0 9 ɐA F ɐ ̐ 6E! G A 0Lk! A JX if! GLk! D A! G WL! A J0 A J8O Duu2 A 0 } 0 L%2 A 䐩 Ɛ Ɛ Ɛ Ɛ Ɛ Ɛ ̐ 6U" G W SL A2 A 3 A J i A J i P# G0 A J # G } 0 3 A0 A J8O Duu A ̐s# G A J0 A J8O Duu 0L# } 0 L% A J i$ G3 A0 A J8O Duu 䐩# ƐH Ɛ ̐ A J0 A J8O Duu i M 60 A J, A J  M$ G } 0 L% A J iN% G0 A J K% G } 0 3 A0 A J8O Duu A ̐ 6K% G } 0 L% A J i% G L0 A 3 } 0 L% A J ià% G A 0L% D0 A J, A J % G A 0 A G } A J 3 } A J 3 } A J ` V[ A J 3[ A J, A J   3[ JO & G[ [ JO  3[ [ J  3Lf c A } A E H8 3 A A J 3 A 0 A A J  A J    0 A i' G A 0L' A 0i'i' ' [ A 3Lf cȱLf c A 0ȱ ALf c A 0 AP 0iȱii(i( ʊ  Lf c A 0 A A 3 A } A 38 r 0ir)is) YLf c A A J  A J    0 A 0 AP 0i*i* ȱH/h)ȩ Lf c A   30)JJJJȩ A JLf c A   30) * ȩ A JLf c A 0+  ALfV c }8 3*  3 }8 *  3 } A 3 }) A } A 38 r  8O Duu/ 0 } A 3 }V A J 3 } A 3  A } A 38 r 0-A,LA- lnn ^ 0Z Z `Z  8O Duu A 0 } A J 3 } A J 3 }Z 3 }Z ` [ Ǡ/ G A A 0 SL0Z  8O Duu A Z  8O Duu A 2 Mߠ. G AZ  8O Duu 0 A Lf c } 3 u  }[ 3 } 3  [  3 -?1 Lw1Please place a disk with system image in a free 5" drive 8 8 x }[ 3 } 3  [  3 -Ҡ1 L2and input the location (CR's for default of S6,D2). 3 3 x }[ 3 } 3  [  3 - Qc2 Lh2Slot?   x 2 L2   x U- } 3  }[ 3 } 3  - Q2 L2Drive?   x  3 L"3   x U- } 3  } 3 uZ }1 0 }7 0 }6 08 -0   3[ 3 G SLz4 } 3 uZ }1 0 }2 0 }2 08 -0   3[  6Q3 GLf c }[ 3 } 3  [ 3 - } 3 4 L5 0) Image capture only, to suffix ".0" 3 3 x o  oJ5 Lq5 1) Patched to suffix ".1" ' ' x o  o5 L5 2) Patched to suffix ".2" ' ' x o  o5 L#6 3) Patched to suffix ".3" ' ' x o  o  o  oo6 L6 Choose the system to be created: / / x U-Z }0 0 }3 0 } 08 - 0[ $7 G SL8Z 57 LE7ZPATCH. ` }Z 3 }EZ 3 } 3 Q Z 7 L7ZIMAGE. ` }Z 3 }Y 3 } 3 Q EZ }EZ 38 r  8O Duu詪Z  0Y }Y 38 r  8O Duu詪Z  0Lf c } 3 u[ 3 - 9 LI9 The option you have chosen will create a file called B B x on9 L|9   xY }Y 38 r P x͠9 L9, over-writing any existing file of that name. . . x o  o-: La: Make sure this is what you want to do! 4 4 x o[  3[ 3 -: L:Strike any key to continue (ESC to re-start) , , x }Z 3 Z  i4; G[  0Lf c }[ 3 } 3  [  3 -; L;Read floppy system tracks   x  IIL< - - } 0 } A J ? H }Z J  3 }Z J  3 }`  A J D 3 &.  {  ϐ  ;L; Lf c A J -]  A Jii J  A[ E A Jii J ? T H  A Jii JIIL%> - -]  } } A E H8 3 }]  0 ( A A E ? T H  ϐ  ;L=Lf c A J - A }[ E A Jii J ? T H8 3 A }[ E A Jii J ? T H8 3 A J A J J A Jii J  3 Lf c }[ 3 } 3  [  3 -t? L?Read patch file   x]  EZ P ] ,? GZ  0L?Z 0^  - A 3 A J ] , 6 MA G A Jii A J Duu]  0]  } A 3 } 3  A J l i@ G.  {L@ }[ 3 } 3  [  3 - A 3Z  6 A Jii A J? D ii J i 6 MC GƠA LAModify system image   x A A Jii A J? D ii J 3 A J iB G } A Jii A J? D 3 L C D } A 3 } 3  .  { A Jii A J? D ii J i A J i PA GLCȠC LCNo modifications made!   x Lf c }[ 3 } 3  [  3 -MD L^DSave system file   x[  Y P  IILEE - -[ `  A J D `[  .  {  ϐ  ;LD Lf6 c X } 3  }L[ 3 ( }L[ 38 r i6F G }8 3*  3 }8 *  3 }L[ 3 }) }L[ ` )[ ` ? H [ 3[  3 - QF LFSystem Patch Utility for CardZ180 - v0.6 - 6/25/88 2 2 x  U- }[ 3 } 3  [  3 -G L+G(c) 1988 by Steven Hirsch   x U- }[ 3 } 3  [  3 - } 3 G LGRun-time LIB is (c)1986 by Kyan Software, Inc. . . x }[ 3 } 3  [ 3 -&H LlH This program reads the operating system image from a bootable F F x oH LH Appli-Card(tm) diskette, patching it for use with the CardZ180. H H x oH LFI The modified image is then written out as a ProDOS binary file. H H x okI LI Please refer to the documentation for a full exlanation of the G G x oנI LI various options.   x o  o  o/J LtJ The escape key will back up from any point in the proram, to E E x oJ LJ the previous level.   x o[  3[ 3 -J L'KStrike any key to continue (ESC to Quit) ( ( x }Z 3 Z  i{K G SLL 0[ K G SLL 4[  6K G 8[  6ҠL G } 3 u  ;;Z 0 i 6L G $? C[  3[ 3 -FL LuLStrike ESC to restart, or any other key to quit / / x }Z 3 Z  iҠL G[  0[  6{K G  (8 *zM G[ M L)MBASIC.SYSTEM ` }[ 3 }L[ 3 } 3 Q }L[ 3 .+6LfL Y&X&% X)# \$Must have 80-column capabilityH h # \$Must be ProDOS-8 v1.4 or higher)0 \$Can't run in 48k+8" \$Unable to ID this machineX&0 8 Y& .&F& 5$ 2$%G 2$ ɛL$)0:H h.&F& :0& & \$ at 00%)i%/% & \$ at 01ύXXo)00L@"& 'L@"12)ɳL@"&&% & \$ at 02%# \$There are active files in /RAM%12 32<>?@1&' &(# \$Unexpected status at VCB clear]&\&p]&F $ \&-60 ,X&0,(N\&8 \$Unable to locate Z80 card ˽ZĎ[&, LZ# 7&  \$Unable to open DRIVERS file<&H&P& G& \$ @ DRIVERS read O& \$@ DRIVERS close[& $ $N&i'M&' $' $ $ $ &% \$Unable to open system IMAGE file%&0&P& /& \$ reading system file O& \$ closing system file $ැ, % 2$,0[&. X`^LH)HJJJh0JL"$XXh`Z&Z& Z&`P& O&`H% 2$h Ahhi 2$%s 2$ M$% 2$ eQ&JJJJ `8`H $h0`00` AppliCard/StarCard System Loader v1.0 - 01/21/93 Copr. 1988-93 by Steven N. Hirsch Enter system suffix [0-9], or ESC to quit: Any key to 'QUIT' ProDOS err $ 1Place valid CP/M disk in drive A: and strike a key...%%&&ZIMAGE.n/=& DRIVERS.n(`!K>` L ,01! 0!L )i / 4!L 7!L :><2? ,2>Â͡:>ġ:>̡!>(=‚4=2?<2>Â5:>_2  =!ZIMAGE.1/D STRIKE ANY KEY... >:><2? ,2>ÂLL+LL=LLLJLLsLjLLL~LLƔLٔLLLpLطL\LKLSL0LELSLLvL}LLLLdLLL˒LLLLLfLmLL[Lg` LL LL LL LL LL LL``` %Lɕʠ ͭ` Lq `ʵ LfLfTRUEFALSEʵLʵL \)  }L ` ; ɾ ͭLLʠ ` 0` ; ɾ ͭLL ɾLʠ ` ɾ `  ͭL ͭ`e ̧) 8eePLɕ) 8dLɕ c ` ̧) 8i`` ɞ` \ )  }`h`  !"#$%&'()0123456789@ABCDEFGHIPQRSTUVWXY`abcdefghipqrstuvwxy)JJJe)e`Lɕ8 8 % ) - . E +)- JJJJ 0 ) 0 i`ɚLɕLɕ8 % ̧) ݨ . Lͨ ݨ0 .  00 L0 Lͨi`eȵ)  Lꨵ) - `) 0 666666`HHʠ ȱ hh dʠ ȱ  ʭ`HHʵ ȱ hh dʠ ȱ  ` ȱ ʠ ȱ  ` &  ɾ ) X` `7   ȱ  ` ȱ ٠ ȱ HH άh h Lͩ ; ɾ ɕ` ; ɾ ɕ`34  ɾ` ɾ`7 Hȱ h  Lɕ ȱ `g g` ; ɾ  `   ȱ ˩L` ȱ  ȱ  ȩL ` ȱ FL  ȱ Í  L` ٫ ʥ 34 ʭ` ٫ * 몠  `/01234 ʩ  ʩ;   ȥ 3 ȭ4 3 4  ȩ ; ȭ< 7 ȭ8 7 8 d`7   ȱ   ȱ ؠ ȱ  ά` " ϩL ЩL ̩L i i G i iA Gʩ  G` 8&eeeة&& 8` Y ɾSH o h) `` Lɕ   ȱ ʩLL `    `hihiHHȱʠȱ`hihiHHȱȵ`hhiiHHȱʱ`hhiiHHȱ`)` ̧ `) `LU ) 뽭)ߍ ߮ ߮ 3 ӽ ߮ӽ )I ߮ 3 ý ߮ ߮ý ˽ ߮ý ߮ӽ ߮ ߮˽ } ߮ӽ ߮ ۽ ߮۽ ߮۽  ߮ ߮ ߮ } ߮ ߮ڰ } ߮ ߮Ұ } ߮ ߮ʰ } ߮ ߮° } ߮ ߮ } ߮ ߮۽ ߮۽ }M뽕`08Y&SX1ffffff33332v1A&#"uW1d!)2PQG`GF2877bwPq )ߍ ߮ ߮O } ߮ K ӽ) ߮ӽ ߮W ӽLW2g ۽۽) 뽭۽)ߍ۽ ߮۽ ߮ c ߮ ߮۽ ۽ ߮۽ ߮² c= ߮ʲ ߮۽ ߮W ߮W ߮۽ } ߮Ҳ ߮۽ } ۽ ߮۽ ߮۽  ߮ ߮ ߮ } ߮ ߮ڲ } ߮ ߮ ߮ } ߮ ߮ } ߮ ߮ } ߮۽ ߮۽ }I  ߮  ߮ ߮ ߮" }M뽕`gC2Vs Pui$'C&rb$'DI6y79@("`yvVB xdP#YuYW2gqU) Lɕ ۽ ߮۽  i콭i۽ ۽ ߮۽ ߮u c۽)۽8콭 ߮۽ ߮W ߮W ߮۽ ߮ʹ }  ߮ ߮  ߮ ߮ ߮ } ߮ ߮ } ߮ ߮ } ߮ ߮Ŵ } ߮ ߮ } ߮ ߮ } ߮ ߮ } ߮ ߮} } ߮ K } ߮ `"wfhhXce0% )Qg1r8!67AP%e'738!S"ur2&Ih'@y%%`C!2GP  ߮) ߮W cLɕ ߮) ߮_ p ߮` ߮ ߮g K ӽ ߮ K ý ߮ ߮ý ˽ ߮ý ߮ӽ ߮o ߮˽ } ߮ӽ ߮w  ߮ ߮  ߮ ߮ ߮ } ߮ ߮ } ߮  ߮ ߮ } ߮ ߮ }  ߮ ߮ ߮ ߮W }  ߮ ߮ }  ߮) ߮0 LF s `hXceTd(FHPX@)V(26FQd)w @ f"wfh`) Lɕ ۽ ߮۽  i콭i۽ ۽ ߮z ߮۽ ߮ } &. ߮۽ ߮& ߮& } ߮W &.٭)#i콭i ߮& ߮ &8nn ߮& `Bp#`p"wfhhihiHHȱHȱhL8ȱȱ`  %Lɕ ` ͭ %``iipȱkeeȑȑe e   Lɕ ȥȥȥiiȑ`ii@6eeȱȥ8ȱL ȱLȱL>8ȱ Lɕ Lɕ ȱLȱȥqȥq?7ȱȱ  qȱq`qȥqȱȱ  qȱq``舱ʕ` HH ; ʠ ȱ hh   ΩL ` I5 ` ʕ` Ui LL JJJ )\ei"%LLʱ` $Lp 5 `  ` I5 i LLJJJ)\e` I5i LL)JJJ)\eL` ! ` @ʩ9A 9 ȭ: 1 2L1m/2m0812X 812ii@%129:ȑ`Lɕ  9:ȩtȩeȩmȩpȥ JJJJiaȥ )iaȥJJJJiaȥ)ia`+JJJJ 4`&'x=A \歉) +)V +е+^L  \X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<ۯ2[]^_`abcdefghijklmnopqrs ܇!2:2a{_:ʖ:>Ľʖ:=2–!B!6#5ʖ:Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ "ݷ"͌#>?͌͘ =_.:;<> O݅o$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USERx!yO#< Ty#O 3ޯ21y_͸2y2ͽ:۷˜1͘A͌>>͌92^ :¥.!_~#fow]!v"!çREAD ERRORçNO FILE^: ! ~ 3#0 Wx x ݀ ݂ G ~ # 3x~#B!Y~ɯ2:=!ý:=!:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ w4!Y~ʆ͌†t=ʆf ^ T 2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Ypsp2mÆÆf ͧÆFILE EXISTS _: É: :ʉ=2)ͽÉ T!@k!}|q=qf^!~2>`~22\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: ! Â$$$ SUBx"C{2!"E9"1A22!ty)K!G_^#V*C~E ,&-AGMS!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6 O͐  :E B 2>: b# : y! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: !  Hù H H $O͐: 2 *CN# x: 2 p&x~+é72 H! >w_: ! 5ͤNkͱ¦ͱxʊ#Nx: ! 2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD#2E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \S*C :qn& ^#V>O^"*}:*)=":O:o"*C *C!ͮ~2~2ͦ:2ͮ:O:w:w |g}o*# ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw**{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#:A#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #  w ~>2!E5T*C!"C"C!w# F! w͌x2͢*C ~<wʃG:!ʎì 4~ʶ¬:<ʶ$ʶïZͻx>2>2ͻ:!Z2:Eẅ́͊Ͳ>2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:E͊:==»y==»*Ww#*"͸*:G#š"͸:!w4!iw:Z!E~=262*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!Bw!>2*C~=2u:B2~2wE:A*Cw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>23)09CHVÍÛ %*B"ämEk 6F1`22222=2!_o!%ͻ>G^*N( !͜!V͜E:M((*P(!\]$6 w#w2\2lZRçï÷ÿ&1`*:G:G:J2222ZXUͿ!ͷw# y !: ͷ)0>2ͷ>22*["*]"!%:OF#xN#N#F#x^#V#!~6# \2|\<\(bp_÷bYbK{ṕQOͿJÿzOͿ÷:!a_~:!e::!i::2y2o&)))"! ~(F:L(N{8J:_:OͿ**)"^#fkͷ(!:O:26*)Cy2C4>222>242y2 ~2:2*":2:(E=2:! 8!̈́ 0:! '4~ݾ8 6*#"!F6!:<ݾ p22~(>22Fx:(2!~6(+:! !̈́ :!(.:( *:2*":2:Đ2:ݦg>o[[: >2: : 2":O:(22y!#!: ]0:OͿ*^Vͷ2!90: Rd!: f0:OͿ*^Vͷ2!90: Wr^V:OͿ[[:o&))):ƃ_! ~[~*>y:*:_WGOR0:! Ncoi`@>=@>=@0 @8yͷ_ͷWKͿJͿz(@8  {( G@8 z( @0  {( G @0 >`*[KH`:K7͜!͜:O!͜:AO !͜K!͜:O!͜02͙:_RA 27!~"O *# Bios Err= D=: T= S= R(etry E(xit A(bort y2x:2:0:8O Mk'6ETckr$  $!DRIVERS AUTOST COM CP/M Ver 2.2 (C) Digital Research, Inc. PCPI Ver 2.0 (C) Personal Computer Products, Inc. Rights licensed to MicroPro International Corporation LOAD DRIVERS LL"LLLLLLLL=Llݲbe Zp0BFJҶ `  / ;L|]lMV_|  D.00Z[ ȱLL 0)L)L Llui)?uvwlk?8=v@>wABC膅\] u;vȭ<vݢQIʈp z } /G.H  F8ILl.  . 21 34 /0 . 65 $%I` /lllx( ei ,i к /Hl&,h)_R M #l* #l(. F. <; L )L/llE ` 泅 泅L 泅 泅L 泍hgL 泍zy ` 泅l.00`.` L.`H hL.0`! 泍  L?!. 泍mm.L. . 泌m .L. . ! J J  vȱwmmem ȱl . . n qLc`789:L .L LK Hvw. hL vw. LK .L .L 泍  泍   泩  wv ` .L .L,0JJ) l L .LHH hhlhh`HJJ)  ޘ )hlѶ`$(LX)`HѶ$(h $a{8 $(Ѷ) @(` ,8``^ڷ1-) շ_ շշ` `Է۷۷ݷ޷ȱⷭԷ)巭跭鷭ط׷ `ڷ۷`ٷ     >J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠ8JjC)i,,VȱfHDȱE "Bh 8ЮX,(`8`  f5(  H Z(G FG HZXj 0x D$xxH` ( Zh ZL.xxH hh@(LH9LHH/Hh/ H-З( ܸ(& ¸$8 H` *HVDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  L&i @SEND DRIVER\:!\="!"9̀!"9!~̀!5o*9^VSͯ^VSͯͺʴ^Vͯͺ *9[͚*<<<":O:̚[~ݶĚ."9 7~N,!?!~, w,(T~- E!7_7WS</W7[<{zѺ($  |w->~2!?RAM DISK>2>!7>>G:>=2> >2>!7 xtvwxyz{|}~7O >G:>=2> x=>2>!xG:>=2> >2;!O> 2>7(>2;#:>=2> :;! >#z A8w~Oy{N#Úͺ_ͺWKJ@Һ @yNO DRIVER FILE $NO ROOM FOR THE CODE IN THE 6502 $NO ROOM FOR THE PAGE 0 $READ ERROR $ DONE! $>2;!O> 2>RAMDISK ID :;! >#z A8w~Oy{Nl.FAST IIe 80 CLM Pȱȱ)J )=(<.,*+1 1 `L- ,,-8 (8(L*Lc-. / L.fʊ /0 "Lcl/ : ,')1)-+ *J x U-(T  `  =TY)(jk^q;+*:ER   #*` ` `* ++(*`+)+` `*+`  1`.`,`*+L]L11`)8++ `)8++ `)8+5+6* ]566 ]5`7  (87J8i97J;i::8x UT(;9` <=`+ *J x U&I(T`**(!*++))++) ``22 3m24(g 3<8؍{=|>8؍x?yx ,UعT(ع332Й4 ]``224m2 3(g 3<8؍=:8؍;x ,UعT(ع332Й4 ]`! L`L ` `P`  ΐ``LL $BI$ I$I H$UUUUUU"D H"$IBB"B"!H$!@ IH@$DH$HBA H@ HKKN ProDOS MLI Drvr(C)1988 & 1989 by Steven N. Hirsch``"  ε` w   H h`  `/ w ε  ; `3      ʝH  h`3      ˝H  h` w `e' cδ c X e`ɀ%      `Ɂ%      ` w Ʋ` DzH h`8  ŮH εh`P  w ļH ε    h`4 w ε  ; ü`! w S Tε ”`    ə``͖>2 ?>2?2?Â>2?>:eB/o:>(}2eB2 ?>2>>2>ͯ2>>2>͔+2>zœ:? {=ʜҜ<2>gk͔+zœ:>{( S 2?͖:?w#"?:>RHHJ  hJhHjJJJJ  h)  `H  h  `8 i  ` KH K h*H K h` KH Kh`)JJJm)m``l  ε`ʎ)?  ε``h` KH Kh`)JJJm)m``l  $HA DH "A@@$@A DBD $  A !I$I"$I  @@  "I# ProDOS Hard DskUDR/SL:Copr. 1988,1989,1990 by Steven N. Hirsch \Ν)9 g ,0LL':,\00; /LL; /LL,0L: :; /LL; /LL,0L9LBDEFG l`),;08L]iFȱ,;0LniGBDE l`١8` 5ȱ6>7=<< ȹ?>>>??   `<=е`轨 ΜL iHȱi4h)N4j3(34<m<ȭ4* *38`` ʨݖ  `8` B $ lL 87 ` ` `"= << <=`` < <<``87`FȱGF&GFm5FGm6GDȱE`(8`h)H:C hXx`lȱ` `HH hh`0l``)@Wn@=2 ?*&?~#"&?@(œk'œ͖@k)œ͂:>@>?!5AG~°@m//œ͖@$#~°~@?>2?!"?Í@:?ÿ͖CP/M.id No PRO_PARTITION found HD read error on driver init Bad HD driver configuration No HD controller in specified slot 0x«N found HD read error on driver init Bad HD driver confi BB IH$!@BH$!@B @$$$$ I  @H@  $ @D  @ D oeid ProDOS 5.25      (C)1988-93 by Steven N. Hirsch#`P@h "TSU,,ɩS0T ֩ة ,` Q: QQS` )8Lbi `+R QR`Q QR` V),V08 GG`!,T,, ֩ةЍ ,``B,S`8UiC)iQ,,,T0 L ,(U`,U0LР,V0'`VӠWWӠDȱEQW 8ЭX`f 4f& 4*&?+#~> T], z  #*&?z̜}O|G:? ͖OĜ7$ͩ/#~@w ~İwy,( @OY@;*&?+~# ( ( (#"&?(œk'œOk-xk)ĜÂ>2?A2?;2 ?5͖- (BW-~@wx :(`+L!'L!i08` $6JJJJ6 N$`)p##**LSׅکP$ # :LdөЭ iԩѥѮ# ##L cLL L"%%L# j# ѥ#H# #h` \I꽌ɪVɭսɖ0սɖ!ɖ 꽌ɪ\8`꽌ɪɖ۽*ݽ%ݙEۈзЮ꽌ɪФ`76$\8$9867I$i$88 8 K :9 W :8н :$)* 77` ݌HhHh    V ꩖݌$ ݌     `Hh݌`80^݌Hh  ݌ - - -   EEHJНh , - - -`HJН݌h Hh݌`8`0($ p,&"!֠LsԮ# L# .ҥҭ"%&8  Hh# j<ԥ/8`# j# ع&0 &`%8`" %# j%8`  $Lh  /    `%8`" %# j $H H$ $@@@ @$@$@  $ $I I"I !!H BB !! $  H@ @ @B+JJJJ 4`&'x=A \歉) +)V +е+^L  \X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<ۯ2͇ ܇!2:2a{_:ʖ:>Ľʖ:=2–!B!6#5ʖ:Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ "ݷ"͌#>?͌͘ =_.:;<> O݅o$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USERx!yO#< Ty#O 3ޯ21y_͸2y2ͽ:۷˜1͘A͌>>͌92^ :¥.!_~#fow]!v"!çREAD ERRORçNO FILE^: ! ~ 3#0 Wx x ݀ ݂ G ~ # 3x~#B!Y~ɯ2:=!ý:=!:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ w4!Y~ʆ͌†t=ʆf ^ T 2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Ypsp2mÆÆf ͧÆFILE EXISTS _: É: :ʉ=2)ͽÉ T!@k!}|q=qf^!~2>`~22\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: ! Â$$$ SUBx"C{2!"E9"1A22!ty)K!G_^#V*C~E ,&-AGMS!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6 O͐  :E B 2>: b# : y! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: !  Hù H H $O͐: 2 *CN# x: 2 p&x~+é72 H! >w_: ! 5ͤNkͱ¦ͱxʊ#Nx: ! 2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD#2E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \S*C :qn& ^#V>O^"*}:*)=":O:o"*C *C!ͮ~2~2ͦ:2ͮ:O:w:w |g}o*# ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw**{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#:A#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #  w ~>2!E5T*C!"C"C!w# F! w͌x2͢*C ~<wʃG:!ʎì 4~ʶ¬:<ʶ$ʶïZͻx>2>2ͻ:!Z2:Eẅ́͊Ͳ>2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:E͊:==»y==»*Ww#*"͸*:G#š"͸:!w4!iw:Z!E~=262*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!Bw!>2*C~=2u:B2~2wE:A*Cw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>23)09CHVÍÛ %*B"ämEk 6F1`22222=2!_o!%ͻ>G^!V͜E:M((*P(!\]$6 w#w2\2lZRçï÷ÿ&1`*:G:G:J2222ZXUͿ!ͷw# y !: ͷ)0>2ͷ>22*["*]"!%:OF#xN#N#F#x^#V#!~6# \2|\<\(bp_÷bYbK{ṕQOͿJÿzOͿ÷:!a_~:!e::!i::2y2o&)))"! ~(F:L(N{8J:_:OͿ**)"^#fkͷ(!:O:26*)Cy2C4>222>242y2 ~2:2*":2:(E=2:! 8!̈́ 0:! '4~ݾ8 6*#"!F6!:<ݾ p22~(>22Fx:(2!~6(+:! !̈́ :!(.:( *:2*":2:Đ2:ݦg>o[[: >2: : 2":O:(22y!#!: ]0:OͿ*^Vͷ2!90: Rd!: f0:OͿ*^Vͷ2!90: Wr^V:OͿ[[:o&))):ƃ_! ~[~*>y:*:_WGOR0:! Ncoi`@>=@>=@0 @8yͷ_ͷWKͿJͿz(@8  {( G@8 z( @0  {( G @0 >`*[KH`:K7͜!͜:O!͜:AO !͜K!͜:O!͜02͙:_RA 27!~"O *# Bios Err= D=: T= S= R(etry E(xit A(bort y2x:2:0:8O Mk'6ETckr$  $!DRIVERS AUTOST COM CP/M Ver 2.2 (C) Digital Research, Inc. PCPI Ver 2.0 (C) Personal Computer Products, Inc. Rights licensed to MicroPro International Corporation LOAD DRIVERS LL"LLLLLLLL=Llݲbe Zp0BFJҶ `  / ;L|]lMV_|  D.00Z[ ȱLL 0)L)L Llui)?uvwlk?8=v@>wABC膅\] u;vȭ<vݢQIʈp z }. 21 34 /0 . 65 $%I` /lllx( ei ,i к /Hl&,h)_R M #l* #l(. F. <; L )L/llE ` 泅 泅L 泅 泅L 泍hgL 泍zy ` 泅l.00`.` L.`H hL.0`! 泍  L?!. 泍mm.L. . 泌m .L. . ! J J  vȱwmmem ȱl . . n qLc`789:L .L LK Hvw. hL vw. LK .L .L 泍  泍   泩  wv ` .L .L,0JJ) l L .LHH hhlhh`HJJ)  ޘ )hlѶ`$(LX)`HѶ$(h $a{8 $(Ѷ) @(` ,8``^ڷ1-) շ_ շշ` `Է۷۷ݷ޷ȱⷭԷ)巭跭鷭ط׷ `ڷ۷`ٷ     >J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠ8JjC)i,,VȱfHDȱE "Bh 8ЮX,(`8`  f5(  H Z(G FG HZXj 0x D$xxH` ( Zh ZL.xxH hh@(LH9LHH/Hh/ H-З( ܸ(& ¸$8 H` *HVDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LTEMPu#' #'  'UNKNOWN#PT  10 r x@ @ H H @h h ` @ 10ڥ10 r U *VL V)/  `2536 JJJJ4 ) 4 QU ZA7` H H'Yg,+  l k,j+'gYh h ` ZULZA IVix P ix B $BHTi P h0 0(`(` IV ZULAiiXh Ah HH cUhh h`xB $BHTi P h0(`GF ED C` HU ZA`effjjxg -ELBhh" U gg ZU jAQ IV!Y YPej (`XHkX ACk HH Chh khX`)H Ug -Em ɾR FH  g8)@ k)h  gЎh)`g -E cUg` G i` D !ViɁLKɂɊLR A OA4YY% &) (' ` IV2HY khP Y V -Tml -`qp Son Qiel Y {Anfof U HU A)qp nU A  !`ggg` U QU ZA 765` U QU A7` U '( UQ7$( V`  E  آ` U HH '$(8I U%7$(hh V`-  U HHHH  )FJfJfJf3Jm2Ȣ g65)7ɀ U A,56 ZA7) %hhhh V`@  UH U QU452635 U7ɀ U65 A VO ZAI765*rr r М h V` iz )0n $ȱ %! # "ml ;XXWYY` K$%`dXXW L!  OA<# "  T ȭ  ȭ ȭ A !`iP8! D %`K E D 7$% J8 ZV`  ` i ` D% `k e D% LGHHHH Jhhhh(8 ZV RL``2m43i U V Ogg;F $ " -gg V` RK` !V<i&>=i? wU8 íxuyvxwg)0 Jйx w *Хvu JЕL! cU%gg% H Jh`h`f OA`XyXz|{ggY Y   % *$ggѭ| { *z y ` iu 10T  ]D'e  U *5\ [ ZY OA \ [ A `{hqhrs / UHH U W1~0} Lhh VN U JHH hh V /  M{LPsrHqH`~}   S U WsrHqH`ZYY ` U cU &k` U OA&]LA H $ K V U - V<\[ A, VZY A U$  V OAh `HH H HHH i      U OA" [ \ \[P MLMN' eY0'eƠȄ Ёehhh h hh` U OA ` U  V[\ OA U` o u+  &Y 8 T T A U`  V`&Y#<>=Ȅ?C{B8 í|{ VgYY >OP VOLOi YYml`E{i F{0 YYYZmlyx` k jon10~w` H H10l Tf% 0ȱ 1 rS R R Vhh/ g U *Vh h Lg/h h ` lV10 rY R Rg/gȭ)g ggg ,`01 *V  H r Rh` V -7   { V Q U ZU A !`u U8 T{'| } Vg^ ]Qm` i' Uȱ cU V   `K` !V lV OV U OA. ~ $ *[\ [  OA`L! H HHHH U hh Vhg OAT])]g /g]H Th&)Ʃ8gh h `gʈ h h ` 01`<i>=i? wU8L G &) DLLY iu V #S Ag  3V OAT V U #S AC L H He  g   h h ) `i<i=i >i? =V OV nU ZA lV OV`L 3V nU ZAGH) kh)٦``8`)@) ΢Ρ)6 Tʭ)8 T)  T) T) %U AКLx# ȑ !  ȭ* ` OA  T` OA  T% 3V` U U`  U U 8  U` 8 ` @U @U i  @U` i ` g` g` Y` gLZA Y`CgB` `65`32`10`  `10`10`  `'e  ` ] ``g`hhHHHH`hhhhPY`` ȱ `CB8Lí)``8  `i<i=i>i?L=V<i>=i? wU8LéYY`2m43i`bclb~@`?px0|L-`L-`L-`L-`L-`L-`L0`L-`L-`LC`LC`LC`LC`LC`LC`4`P^P`0`~@~~?`xx``?LgL!gL$gL'gL*gL-gL0gL3g0`0`3`3`3`3`3`3`3`3`LUALALUALALELCLDL=BLKDLCLEEL_ELFLFLqELEL ILGLHLHLbHLeGLqHLkHL#ILGLHILILIL5JL?JLKL{LLLL[LDLNLLLlMLLLNLgQL~ :v޾~ +g>~ +gТF-\v %Lc׿/`†<#WbջxŌ)cȡS/`•;x(R]˘A .mɣHD.mбdٴjֽ'_3hӷpջx1s>:v޾~ :v '_-\vزfέ\ɣW QhӨaӨRlװqęC?3w QYj̚6nɔ90bջ?;w8p„!C 4iҥK/_~ŋ.\s̙2dɒ%K-[o߿~͛6lرcƍ4hСB -ZhСC:uԨQGlih`tcbctoemuih&&&&&&&&&&&&&& @#Gond0kj Y hh X `G FFF FHc  F LE LE ҩHc ОLE ,+  G  i`LCONFIGUREGEOS.KERNAL +G ,RG X=o?C8 é =<7?>@CB8 é8=<8?>CB8 é9 wS==<=?>CB8 é7=<7?>`CB8 é7=?<>gCB8 L@`  8` ?ZA8Ji{C`H Z { p)?<?<<<8<~p` | ~< || || |?||?|?|||~|?|?|x|}|~|?8~ ||~||>?| S|?|||~|?|?|x|}|~LL4LLLL0`<x, N(`    c^;QD7) `      x<(``` ̅L\ 6xhh8hH( `  `./0123456789:;@AHI !"#$%&' () *+ ,-`./0123456789:;@AHI !"#$%&'() *+ ,- `Q  MOUSE CARD NEEDED TO RUN GEOSEXTENDED 80 COLUMN CARD NEEDEDIIe, IIc, OR IIGS NEEDED h H HH H Lt h h H @System error near $xxxx.``~``҅ х `10` jj j j` L  L L~ɭ` [ɜ`~`1,0+`i'`i`i)`~` i` [L[ `` ! `Q  &.16;CJNTW_fkqw~ $,3;BHOV^hpw~ %,4?GNU[^dlxl~x<ϟ|63Ϗ~͍cf`lm0ĺ`=ٳ0196la3w66ll͍cf  ` `f5p0g mg3{6 ac6ll͍6f}}l||{66f`l800c7f c[ }66ll͍<1͛6l͛m3f͛c66fl 0a0g06cgc{6 ac6v7o͍6a͛o͛o3f͛c66f8c 0l͘0mc` 6c006 a3666 mca͛l͛m3f͛c3ffĺ`?l à y fa`s63|qc1m}l3f|9}`  ` m0 ||   `   ` `q >cc|ycfcf͘cfcfcf͘>|y`g 0͛`̓` 0g`cÃf훆cf͛cf͛f͛f͛c>À~  ` l l l l l p`Z`<3fc33>c3?fc0fc3fc3>9&A>S0QHii  e h eз`  ͧ`` 8i  _ $  EP  e `>=JUT 6iJUT ` I1JUT1 I1JUT1 J iJUT ` Y`&Y)HY hYI&Y `h` Y Mg օ 0g ޅ ( ggg օ `uLgwLgg-t ggt gg G,+ 7g Ʌ i)kj   fg`tϢt gLle's gg`g  g   4f f 5gPu gg`  g sf( H H  gs gh h Ѡ` Y !] Y ^ ``  g ]x AcxP? i lOfor eg gO ix8(`  `  g +  1H0H U fh0h1` U) & & & &0 8  f S  GA SB4)0 ȩ e   `1H0H U ih0h1` V P H)h( g i i   ¢ Y'`  jA`  A`$% nU`#8ZYZYYY` -%8XYXYYY`YY`YY`ts V -kHHHH Qhfhfh h H HU A>ts . U Rmmfmf`H *h` U  V`gygxHOGGIKx| <Ӎ|(`)`R R,|`p+Cm+Am)HBm*h ` <Ӎ|CхBѮA s ; ӥ JUT S=Б   eп`x|0%R H ҍ,@0 բ h|(` _ P8`8 `хѮ s( ӥ JUTS `HH hh &iÅiх e P`  бНм а`  0 Ș)8  бН Ш М ? `՝] p`VXYZ\]^Q(-R JR`Q RQ խ/-/խI /-Rٍ0 /` ҭ0(-0 JS٭T٭R٭/  /Ր ( [@|`ێ/ՠ(-0ե-R 0 ֐ /Ս/Ո`LU4V,e$TS-Rٍ0ե-M0`8` ֥6 ׍  _   _ `ԅԅ ԅՅe٪ }ٽ_ ~٦?)٤% م٥)٭% ٹU٪V sP8ݍٰ٩8م`ԅ Յ }م ~م مfeمU٪V s JUT  ۥ _ æ`stuvpe i  ئ$H< p0xqy  y8y`rspJnqnrnsntnunv꨹xqyrzs{t|u}v~`$0r آq آp)qJJJJp`;JUT 9x ަe`)ԅ ԅ ? `)ԅ ԅ ? `|Q@`0'(H ݐ hLߤ88  Lܥ 88  ݐ%HH hh P ( 5ݥ 1$eePeeeP(` 88 " ݐ HhP ݰ( 5ݥ3$eePߥeeeeP(` ) K spp 3((0 I1 `HI1 h1  ` ) K sHh 3(1 8` ` ) K 3 ` ) K 3 `,PH ީ@ h` ) f spq  svw srsu8ptr 3 r 3t0  fs1t5q8%8w ޥt`vetp 3tw0u91  ` u=9t 0%pJʵ tʤp 3򵯑 v 3w01  `0&tjp)pJuutiu`Iiyeu t8tut* y` `8e `LLLL1LLzL5LpLLLL La L?LLL LLLL@fآ4 Ѕt$ ) Шt$ LEТ І )* { Х Х ХP zѥH 0h ` H +h8`tFtjFtjJ)`)t &t &t &t` Ѕt$  Шt$  )Hw{ *  І zѥH 0hh`?pr K szz 301 t sq ѽ`H$ +Ҥh`.pturtzz 3u `zz 3t t`u)x8x8u!pturtzz 3u ex8 pttexz 30%tt81 t `%'w)vw` X҅vJJJJHv)vhw`{)${ {`{`$   ҅{ܐ܅ 8Pɀ ҅P$    ` ) s0  s9LKHH HHH h 'Lrժ ɀ*) UJ Tj8J 1 I=$0 T %ґ ȍU 1 I= `HH HH ҥ8' H 3Q I #h Ș 3 I #ԸP  3P 3IQ Lr 0 ȱ I `H  h`HH HH 7ԥ HH HH 7ԥ8$ H 3 h Ș 3 ԸP  3P 3 ԑ LrՅ1 I1 ` 0 ȱ ` )H s( 3 KJ)(% I1 h`-q,pHH HH ҥ)p 'Ӧ  KPhh hh`ө ԩoNԍՎե Nԥ` ӥ ӥHH HH  hh LxեLԤȄ~ H ^)})ȱ^he JJJօօFjFjFje`ea}A| )I)  3܅ 8 H0#"J)Jezi{h8eze{0-! # ֢) ʆ`h8e8`8` Kz{%8zʩ{ s88P s{! !  sH!  s8h0I ! sH sH#"h sH8 Ih8e 8}ieièiS`HIJKLMNRUX[^ad joty~E@;61,'"~~I)?Jz{ʆzʆ ֍z0#{"z! 8``prLLي srqpE%u srt%uu 31 u vhq svvptEurt 3u ̰2 3t I%tE %t % t t$qvptE%t 3 1 t ` srqp%E I% 3 1  `) ڦ`  ( X ڍ8 X  ٸPee`Ȣ=( (I9` fڠȢ=(;( P ( P (г`Ffffffff`8 H հv )+%,p eOM)  X$ ٸP (  f Kнh`*܍۹,܍۹.܍ۭܭ!܍,R IۥJ۩UT ی۩ۍ۩ȍۥi}%|۹۩{%ܠ)Lۍۥ|۹۩%ܠ))L*******LJfJfJfJfJfJfJfU )p)p TȽ禯%p 1 p _ iiL{LL܍8 ܍H)@h) ȭi``,Rl,PHȶhJjHh` RRZe^^e__e``eaa`8 `,R_ ȱ^8^`8,R` xݾLH 0܈e#"" ! hLwڤȄhɳLL$T '3^n.Nv6Vf&Fz:Zj*J r2Rb"B|<\l,L t4Td$Dx8Xh(Hp0P` @~~~~>>>>^^^^nnnn....NNNNvvvv6666VVVVffff&&&&FFFFzzzz::::ZZZZjjjj****JJJJ rrrr2222RRRRbbbb""""BBBB||||<<<<\\\\llll,,,,LLLL tttt4444TTTTdddd$$$$DDDDxxxx8888XXXXhhhh((((HHHHpppp0000PPPP```` @@@@||||||||<<<<<<<<\\\\\\\\llllllll,,,,,,,,LLLLLLLL tttttttt44444444TTTTTTTTdddddddd$$$$$$$$DDDDDDDDxxxxxxxx88888888XXXXXXXXhhhhhhhh((((((((HHHHHHHHpppppppp00000000PPPPPPPP```````` @@@@@@@@xxxxxxxxxxxxxxxx8888888888888888XXXXXXXXXXXXXXXXhhhhhhhhhhhhhhhh((((((((((((((((HHHHHHHHHHHHHHHHpppppppppppppppp0000000000000000PPPPPPPPPPPPPPPP```````````````` @@@@@@@@@@@@@@@@pppppppppppppppppppppppppppppppp00000000000000000000000000000000PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP```````````````````````````````` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@```````````````````````````````````````````````````````````````` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                                                                        ?/7';+ 3#=- 5%9) 1!>.6&:* 2"<, 4$8(0 ?/7';+ 3#=- 5%9) 1!>.6&:* 2"<, 4$8(0 ?/7';+ 3#=- 5%9) 1!>.6&:* 2"<, 4$8(0 ?/7';+ 3#=- 5%9) 1!>.6&:* 2"<, 4$8(0 ?_o/Ow7Wg'G{;[k+K s3Sc#C}=]m-M u5Ue%Ey9Yi)I q1Qa!A~>^n.Nv6Vf&Fz:Zj*J r2Rb"B|<\l,L t4Td$Dx8Xh(Hp0P` @?_o/Ow7Wg'G{;[k+K s3Sc#C}=]m-M u5Ue%Ey9Yi)I q1Qa!A~>^n.Nv6Vf&Fz:Zj*J r2Rb"B|<\l,L t4Td$Dx8Xh(Hp0P` @ 03>>>>>>???????@@@@@@@AAAAAAABBBBBBBCCCCCCCDDDDDDDEEEEEEEFFFFFFFGGGGGGGHHHHHHHIIIIIIIJJJJJJJKKKKKKKLLLLLLLMMMMMMMNNNNNNNOOOOOOOPPPPPPPQQQQQQQRRRRRRRSSSSSSSTTTTTTTUUUUUUUVVVVVVVWWWWWWWXXXXXXXYYYYYYYZZZZZZZ[[[[[[[\\\\\\\J U`T`,&,p_ `_ 8逅 `,P_8逅 ` `((((((((((((((((((((((((((((((((PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP $(,048< $(,048"&*.26:>#'+/37;?#'+/37;? $(,048< $(,048"&*.26:>#'+/37;?#'+/37;? $(,048< $(,048"&*.26:>#'+/37;?#'+/37;? ) V`8e V`~__T {U'`-H,H -q,pph,h-` -q,pp` i׍,i-`UUUUB$$B""""wwww݈""wwUUUUUUUU @@ ߿""A@ @ D9DH0 t"G"qA>U@@U  T Pww*U*0  @ 01336777<=??>???89;;>???<=??>???`accfggglmoonoooxy{{~|}~pqssvwww|}~xy{{~|}~06L`0`II``hdhe f 4L `bclb`dȱdȱdȱdȱdȱd`)H%@h** J  ` ߍ888HH_ hh`RNN]S`NRNS]` )_TO UN `'vvʈ`qp r eeppqr`Jȅw w*pȱ)wȱv) **wpv) wv) ***wpv) wvJJJJwpv) wvJJJwpv)JjjjwvJJwpv)JjjwJwp` )_8逍N O `JJJJJJJLhJfJfJfJfJfJfJfLhJffJffJffJffJffJffJffLh Lh*******Lh&*&*&*&*&*&*&*Lh܅8} fڈLhܥ}8&&&&&&*Lh`%|%l%|ȱ%l%|ȱȱ%l%|P%lUUxhh8h,0H ( x,0 (` ; s `i hHrHHwHHLh @x؍hH)hhhHHlHH HT,,hT U    hh@jjj,8jj`xȸP=xɸP-x̸PxϸP xҍeh h8hHH ( xhh H (``LLeLL      ``  P,P`           LLLLLLLLL L LL L L LL  LKL L  L   LLLLL     L           L      LLL        L0L4L LV L    L   LyL|LvLLBLd L         LLLLLs L LLLLL    LLLL LLL  ` ,`xBA(C ЍZЍ Ǎ 'L]L%]]L;Щ]] `xBAC(F0I])C])@42,3%5476Lӥ]) LխL`$])P'("'),10 -',1p `((  8,HHH ӭ-H,H 6 9h,h- ?hh M Ӎh(,1pU(,10*&ȹe&eFf2m3jPyj4m65m7Ff8$] ]]@]]L Lx( P(` ( L"H( h ei`( 1W2542,1p ;` 5 8 ? * ?  ?,18m548 ?ӥi1) 8L*ӥHH ѱȱ!H H#H"HHH! 86"7#Ӎ!He ihhhh"h#h h!hh`\[`,10&`,1P ,1i`i`  ((` ӭ  6L9l1)8\,10&2i38& *`547 6 U '`1` h ե( $0Ap5$ h խ$ h  hԮ(H hl Zԥ`(LѮ(H hl1)10@&ȹ& &23ʆ`ȹ547 6 ` ȱȱȱ`H Eh`VU o ;])])]] ]UȱUȱU8LYZWX\/[` i` gբU TU` ְ L],&$0p g խ$  g ՠXXȱUU ` gձUU@ȭJKjNKjJU)K8K ȪU ֍KK8UU UЪ`8`UqU8UU)ȱU e    ` J`T,0 $] `YZB0 BA ''AB[\BA ''ABD D0 XP WC ''DWCXC @ ''C$]P9C2)3"B5A4B7A6  ''`ڍ )nmkj H J ة h j0j% H Ȅ"ؾ7  h Pխ  mn hthuvLGa}!T6ۭHH 5  ٩ DYhh`j) 68 9 6 8" # 9 ة ?`j) 8  LvөkHjHjمkajjejejihjhk,:9Jn9Jn9N98` a _^`~px S (YvuHtH`HH  8hh`ۍ` `x (`e څڅڅ`SA ,5N   ڍ ژ i i߅ jڥ L jڱj ȱj ȘH h`:9j)ej ȱjeȄ`" gժ `E 0 0`$    YL,F0YLjȱjȄ`jȱjȘH `h`jmȱjnȄ` ۱jȱjȘH ih` ۱jȪH ih` ۱jȪjȩۍ H rh` YLjeiȱje`joȱjpȄP pfojwȱjxȘH z y ߥjjJJi H8 HHHH ?8 'hhh g op hhܩ@8$m ܅ ک܍č m h`mHh8H ߍho8n` xF0A i; 2 ݭC8`  enmmʊo (` ݩ &inBA m8nnnooioo mݭx (,F`#H"H Rޭe#d" 6n ߩ@ R 9i  ieЮ ݩh"h#`o8n RLE ߭webicbiȍdmce xe`iKa`_` 8` 8& Lo8n0  RLE`  m`i bici8de `p@@@|~UڧSکګWڭ&S ߫ߪ LLLLLLbLsLL7LBLKLZLLLRLLhLML LLGL LLL LLcLRL Ҋ` 0ӽ8X Ԋ5 Ӎ[ѤB  ZэY ׭^ɀ ҤBL ѸP )ҬVѹH 0ӭXѝ8h8`+Vѹ0 Ѣ`VЈP(RXэY Պ$X"(_ =ӊ L XȌY_` 1Պ [[E 1E`DJ>J>љVU)?`V0^*^*D` ҭ]0^`Lҩ \]8`B-G F`GZѥF .Zш  JJJJ[`CJJJJ)*`VѠJJY꽌ɪ꽌ɖO*J%JKEOVѽɪ```VѠ k꽌ɪ꽌ɭVQYӤQQYӤQيVѹ ɪ``  !"#$%&'()*+,-./0123456789:;<=>?C)pVѪ^ѭW)pJV]Ѣ\ѦJ  ҭ]0K]ѩ\ѮV CW( 轊V(CWѩ^Ѡ ҈V (`` 0Hh݌`aѩ`ѥBJ =ҩ@_ =ӊ_a0e حZэY ݥMZ%XѢ`0FZэY ש@_ =ӊ_0ޥL[_0 =ӊBJ ӊ gҢ `0_ѩ[ѩbѠH x֊0 ֊*R[ѭ[ w w wHh =ӊ_`L>RUR =ӊ _`LեL ӊb" =ӊ_` ӊLH⊙Hb٭X RR`Vѽ0rHh ׈$ HJ h ׭X ׭[ שMXM[HJ h $ Vѹ`+ժުVцJ\ѽL׭хQHhHh ׈ ש ש טVYЪҦJQYЪҮ\ѝꪽҦJ ש ש ש ש ׽`+`$Hh`HJ ݌h LנeѮXY,Y Ye( uظP ظP`( p&0$,"VѭXXJ2 ҽ ҽ ҽ ҭe ҽ` ҽ ҽ ҽ ҭe ҽ`VѭXXJ2 ҽ ҽ ҽ ҭe ҽ` ҽ ҽ ҽ ҭe ҽ`0XѩY ׮Vѽ` z ylkj&jwȱjxȱjfȱjgȱj0 m9 :qj߅ h ߤȱj `80]a^[jm9  .[ .[iZ[ȱjm:i\Ȍ_߅ P ߥjjJJYi h8 i ?8 '߅ X 9mff :mgg ߭ih߅ ` ߩln g kjl9 f@8l & & & ig i g   H H f 8 6 9 hh@8mlm ߍǍ aޭ_` 5ۥHH[Z\Am : e(. . . hh iLۭ^]ȹ cېei(`0/ 88`0`\i8 _ ^ 6L9X P߭X.F P߭X!F010 P  `%   / `xF0N i; D ߭C8`  enmmʥoHo ahoXX(`(Xgif & &i/i E{ Em`olYLz y iY L کh & &inBA 0n FݸPm8n n P,F``i bici d8a \ 6 9 Aߥn ޠ H@ln ߩ E`i t ino h``i a8bici d \ 6 9en Aߢ H@nil ߢ E`i8 t inio h`o rޠ ` ޭzy`H hige`#H"He#d" 6n ީ@nemYl  ߥ 9i Aߢ  E ieО ߩh"h#``HcHh)HL|`8de`bici`L LfLL/L LaLrL LLLL GEOS BOOT!T,|@| x D  P x X  XP `Berkeley Softworks, )/ .0 P )  ,P-   ) - , l  '   '`,b0)  M`xH h (`xE  H-h(` `,Ll`,0 p  XcHbHeHdH ;  ,P C8(0 AXX ߍ  1 *  ,P, Ahdhehbhc ,P ` Xkȱlȱȱ`(ʽY)@Y)YH kl h`lͳ5Y)0&5 H686h856 Y Y`Y)YH 56h`Y Y`Y @Y)PY Y)߸Pޮʽ޵` ʽH s jh`lxPδ(`hxhhH(`]H / @) xآ ` ( 0 n   n  -. lm 0 lm`,1+0,+ Ѕ  ϊм2 xآ 2 G (   D XL ' &= "EDESK TOP ZH h` #/"` [LߍU }TU )I@`x ([Z}~`hdhe L `,ȱȘeP`bclb`edde(ldW^ P`{&) ('`{&)< HH   hh('`dȱdȱdȱdȱd``06L`0VvL$`Fujf`Vv yyJff f  `6&&8`Y   ( ( `II``LML.MmLLM`ML8LM`BD誠 `hdhe ȱd kL AHHH+ȸPhhh`eeԈP誠 `C'!BAB A``,0!h8h q q颀L L= HJJJJ h) ` i0i7 `  `ȩ&%E I!IF` , /`xH 1h(LHH а  а  kP Y hh`+P` )ȱ hȱȱ h `?x,0h(`,P `    2` L @ 9L @ HL @ NL @ȱd ?L h h hdhedȱdȱdȱdȱdȱd H H`hhi l z 뾢 P` khfg`gfh  8L3 (L9` zL6 z z zLi (L?,effegg ,ehhȘe` kh HhHhhhgfg f  gffg` z z z``hdhedȱdȱdȱdȱdȱd TL hdhedȱdȱdȱdȱdȱdȱdȱd  L hhi il  `T `TI-` @TS?0<He ih8S;/. >= Ѝ,?  xL{;`%%%)? ,%PLL` /.0;E` ZPLH <BSȩSH) HeS hh;/.P Lx -%%(S>= ;lA;H) HeS >;Sh;h/.`8`% @@%)) <%`HHHHȄHH Ȅ 5 /  J   J   hhhhhh` P  ``Swap FileSYSTEM````0`0`x H hiH) hݩ (`ɡ`LL(L)LF `$]M,!{0G 𪹝    G`uiojklm,.  UIOJKLM<>[]78945612314t""4teIFht\RUY}}}}}}}}} "C8C` 4CiC` mAAB` 8AABB` \CC` hC` UAB` IABA`  `81H񪹭hABC`(((]]] F  `a)`hlyAAyBB)`?[$Jd}``````````>fPfAtDtSfYfGtMtefkfAt 2UddS-k i+7c/PHQ / $ ?[$Jd}``````````>fPfAtDtSfYfGtMtefkfAt 2Q   ' +JJJJ ?\> | m|{|0.nmn=|{'{+l>BOOT !{{ /+lz   ? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RDESK TOPB  GEOS.BOOTB' GEOS.BOOTGEOS.BOOT35RAM4NN` OOxhh8h,0H ( x,0 (` `i hHrHHwHHLh @x؍hH)hhhHHlHH HT P hT U    hh@jjj,8jj`xȸP=xɸP-x̸PxϸP xҍeh h8h HH ( xhh H (``LLeLL                      `      `  P,P`LLLLNLLLLLLL '  ' ' ' ' '  'L 'L1 ' 'L 'L% 7L  LLr  7L 7L\L LLL   7  7LLLLL 'L%L:LFL@LL LLL"LLLL$L/LPLULLLLLLL6L8LLL7LkLTLLLLL>L LLLL GLLL   7   L 7LLzLLL+LbLLrL G G G G L 'LS 7 7  7 7LLLLv ' G  7L|LL L ,`) x ` `&| SYSTEMu' \'8GEOWRITEj  && 4Cory< è 8Dwinelle ÷ 3NLQ ÿ 4Roma  :University#  -TG:AppleWorks  .TG:MultiScribe~  .TG:WordPerfect0  -TG:Generic WP   "L& XC Ś)0)i0/0 ƞA ȍ 2 ez b  2Lb00 GEOS.KERNALC)pJJJJ  FG E DB wA Ѕ hΥCHBH>=8 hBhCL@`F @DE  b` `lBOOTING GEOS...I/O ERROR ENCOUNTERED WHILE LOADING GEOSGEOS.KERNAL FILE NOT FOUNDChoose drive to install GEOS on:Installation ca}!͘c1a0ipyy=@?kgeoWrite V2.2Requist,Bowdidge,WedgwoodgeogeoWrite is a full-featured What-You-See-Is-What-You-Get word processor.LN B'/8>DMV_dfj !"#$%&]-LkL ` q0H yp0q0Pxx@pq0@pH1x !xHxHx ) W[cF`o͜oʍoMoYo)ʹMoo A 6@ SA A c!/ gu     & co) @co) JJiA@@@@@i@@i@ < `!go&o%o7AKA5A W @7Ai 7A` $*0MoNo)@ E)KoOoLoPoǢLo H AhLUA` ho fut Ai L `i_ic ) fe,+B n****) LBBB Butƥťǥ{z @hLSut` Bǒ M 0f M Qf pfǒǒ b  mgPǒǒ hH Yh 1hǒLb ~f Mo g?=  QC0  CP f f f kC0 CP f` ʙ `$0L)LoʙLo` 8 [ei hH Zh 1h g 8Ɓ g 8Ƌ`ݩtuލo 'g th ` M tB ! K\8 0f D QfL[ DL[= хЅ` pfƮƭqp DN pg g)(󥰅qp)υ) JcoL=d(co<ѥИЅ L` ih [g PE h oh Rg PELh DLth D g D` g h  h g88 >FLFLF E dg" h K\ Uhh E E E`qp` f 9g8` hL4F` g R ygP{z 9g$k8` FhkLݠk݋k:ݟk݊k(2l0̠ Ġ [Q k`@8/` F /e E F geLE g g8e8LE F &eLE `geoWrite infogeosapplsfileeditfontstyleoptionscloseupdatepreviewrecoverrenameprintquitcutXcopyCpastetextTpictureWsearchSfind nextNchange, then findYprevious page -next page =goto page Gpage break Lset first page plain text[P bold[B italic[I outline[O underline[U superscript[> subscript[< xx point xx point xx point xx point xx point xx point xx point xx pointnone F@aF@"aF@>aF@Za G@aH@aG@vaG@anFKqKqKqKqKqKqKqKqK$CcScccscccccrJGJG@M!GK)GK1GK8GK>G6L:dCGrLNG\LZG@b,`GmLlG{GLGMGLjaLjLjLjj?Lr8GLGLGLG GMkLkRM>o@ao@ao@ao@ao@ao@a p@ap@a?H]H]H]H]H]H]H]H]rs Hi^H[^/HL^AHQ^THV^iHm^~Hw^ J JL L  D gML3 KL3 Ko- ?LB K r $  LWL`׍ `H؍ d  dh` D [ gM@ QKPPPP;.; K; h ; rr  h`HH k chh;LoK =K  &KL = 0f K  !M S QfLD = 0f K LKL*MP L*M =K $0L6MxHHX =K  8K 9 * !M C` =K LL J =KL =O gM =K  !ML&LPP P L*MPL M$ GK $0 g 6M` g$0p GK LL GK LLPP;HL IK hLIKPPP'PP! (MLC-P3P0P$M IK  6M L! PPH4M IKh H IK(h` 8K 0f  Qf 6MLD 8K 6LL PLL 8KL ,`H kyk Th`ʒȒLߙ M% 0f Ȓ M 7ĒƒŒʎȒ QfȒ` ` 7N MLхЅ` *T( qH Yh` V V 7ĒLS N U,ɒ`ɒ , g8``oȒLߙ h P ,R O)  mS ,R XP 1h` ,R P GQ fn$0 GQBqp…Å dgP L,查 f LN fLN O 1h$ O 1h g( OąLHN O 1h8H f8媅嫅 P Qqp =d) )coh()Ɍ,< d h L 1h d8 ` `qpL=d f hH PhMo P)Hsmh) @co) coco %Phh P P P P MRLf PMo` f8P)8NoMoNoMoboaoboao` f P P P MRii ` dgpq…Åco)` eÐå e¥  f gQP  hee` h)  g qR PP 1h`椥) Jee`    `8`co)@Ro)Qo`H fhRo)Qo Ro0Qo`Qo8Ro)qHpHH hHHH ,R fhhh KQ!. he8ĩee 1hhhphqL=d MR` f Pp Pq P =dP g`,< d h [M 1h dPߩ` ,R [Q f f` f` ,R` g MRiğŞ 8` ,R f o /H heh eiƾ,0eeH fh8`HH gQhh8`MoNo)aobo`{z$ǍƅqŅp Fh =d` S M A SH Œ *Th TŒ g S Ȓ $H V 8Th` Rg V T [g T 78ǒ`kk`$k}k` V $ ҽk}kLE g g 'i$i8tu hi g fV`H )hLH )hL T3l) ` VklHl]lrlk oVkk` T$P O mS)Ffee`H h`H )h U H WhP Uҽke(` R/wv UHH Vhh yg $N`vw|HHHHHH f)J f0e ) vwhhhhhh` 6 gL9H3l lkpkq =dh`kk`k`qpHHHH @g dhhhhHH f f#"LkW! nbTH$P)') J8 8 ee P) eJee rWhhh` ,p-  8 L LH X0(& e hH YhH,: WP Xh` KHH HHYY   g A A A hh hh XXBXL]HH HH H H g  AP A  h h hh hh``  & & &e8 & & & e8 6L9 -Yo'8 8 8e0٥8F e8 `Mo NoJf Jf Jf f   8  Je e`  8 8`$p 88e8`8` h ٖ [g ȒȒÒ 1h b Z Z pg 7Z ( ZP(ҩk`kk`}o2l) )`@SeȄ hȄ(0@teue$ f (`ҥkki ` ``` [8 8Х ѩ8 8L \HHЅх Ѕ e Хх e ѥɎɪhh 0f d `M d QfPhh  3` ,R䵰0' B K 6H !h 9 fݥr r rsd>rd/$H hB BL6L`JiFyL[cFLF-LFƪ(DD|8|||<$<  ** x  n>ɀ񩎅  ` HcۅϢc eh8`   "EHJJJJ d4k) d5kk + Lc i0i7`hdheHPhdheheHdH`q pqp H 0g dh 5`=EpEqC dH @gH dhh p=qEM d eP d5`e6e7M` hHH _hh 1h`44` _ge^feHHgefe8 khh76_ ȹ888`$P,5 `8 768)@8)888`$P)Ȋ) eJ``$P e) eJ`)Ș`{;U}mmnnHHH bb ̅ 򩁅  hhhLhh fMoHqHpHHlhh fhhphqhMoliscosR`oPf8`oPLfOoPo` f f f```u`o=`` /` Y` `sm` ``qp`qp```` g```ei`ŋŊ`Łŀ`sm`sm``ŋŊ`şŞ`şŞ`Łŀ` ``0`hdheHHeHdH`hdhehhPMoMo`ŕŔ P P P `;r rP` hFiDiHi k8`r rrr rr`rr !i;r hFiDiHiJ k`ʽrr0rr`A BoQLdCA/Bo&o%oLdC *j 0f M [ D hjoBAP' *j 0f M [ D @jPΛoBPA A Fhҍ̜ N̜/ D Qf [ h$  PE zh g hLdC hLdChh fH l߅ P j 6 <$O`P/  j 6 <$/`$bjjL\hide picturesopen headerHopen footerFselect pageVmake full page wide title page NLQ spacingswapping writeError I: Disk fullPage too bigreading pagewriting pageNo previous pageHEADERFOOTER lԥ֥ lo = l f f ? XqXq BsR H B H B`) H)T`P kU k; IK l gdI5lILgeoWrite V2.2 ׭/إ)FHة +eإh m c.-LYh`rr r`Both geoWrite and data file?must be on the same diskOin a one drive system.H lh s]1 m m) d]  s] d] Z s]`z` G\L/f G\L'f' ee`} |()*+,-. H0HlJON FREDERICKSON G K.- )@L J wc K  = , Qx>_y>x>_y>x>_y>x>1Q_VQPPSQMSQPPSQPPR_QPRA,PҮQ^nQyqVQQQE,,mQQ*O)QQPVQA.PQAPQQSYcsYQSQYsqqQqQyqUQUQRQE@@EQQ4QyQQRUQUQaQSpQPQA0QQS_{rQSQ^oqqQqQyqUQUQ^E@ EQQ"PPUQUQ@QQQPQAPQQSYwsXSQSQXyqqQqQyqUQUQRPE@@EQQQ[YQQPUQUQAQPPQPQN,PQPrҮQYsqnQОVQQQ@l@BQQ,Y)QQPVQA.RQQI%4)%2#0!q8"q34(>?5qc`Q#4058?6q%4)%2#0!QԞQ X!ԟqSPa!QqSD>WQ􆔉VV^J>\]_V^QDQEq7RVi^sԙ^b"\]_V^QDQE}RzSq2RqDI8PqD9YqDYi^ԙPBPqu 9qYD9I8PXaS_UUSqSI8AzQԜԚԝMSQԛXԘܯqqQ`aP\Q]iPs\}PzQqRq8RBCqRqB6qQR9[[[[Qq5DqDA9Q9PqR1슩q!xn]썩p!Hq!B]!!91Q UP TTFUU![YQ!!1!RCS!TOUVW^SUAqUUiSASRQRiUCUTQTW1QWVi^T<[[[[8]Q8>\"RS>PQUUaFQSqzIA4QQSPS]qIA4]]S\WWI4VEIA4SSSRTWI41I>q!#8?%4#q5#8'4#q8"q"4=42%45GQn"4qv"4=42%q!#8?%4#vq>?q%94GQ54":>!q%>q29>>"4q0q!#8?%4#QI>q!#8?%4#q20#5q5#8'4#q8"q"4=42%45GQn"4qv"4=42%q20#5vq>?q%94GQ54":>!q%>q29>>"4q0q!#8?%4#q20#5QI98"q78=4q<$"%q34q>!4?45q3(GQn64>#8%4q347>#4q8%q20?GQ34q!#8?%45Q4)%qq2#0!QZB[CqR]䩘cS`1ZqRIRSQTqUq@A\CAjIPQARBSQSqP1q!IQIIZ["qIQSR1q!I'"qIQSRqI@AqQR#RS#SqB6qQRہsSRAXQYqRRہ[HqIzVHUIqIq2TSPQQQR~SQ1IPSQS1QPSQSRPQqK[ZIQPF]MA[PsQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQI0??>%q8?"%0==q64>#8%4q>?q0qGQn%4q!#>%42%45q58":QI##>#q8?"%0==8?6q64>#8%4QI64>#8%4qccq8?"%0==45QY_u-AF+Gq2\YYu-AUG1xѡFPQQQl>Q|]PQQQl>|>Qq[>\l]q8Rہ}Sw>.t>qFqQHSw>~t>cUa\nFq2hɁqQXQu^SU_x>Ty>q7qnRہVQԂԏ1h_Y.JJJqKJɡUQ] PQX_SQSqI8^9I8S܌31􆔉Y.J^LJ\J].J^QDQEq7Rہ}.Ji^J.JO_\Q].J^QDQEq JہRqK1QW.Ji^T$J[[[[ԪԭSԯ~ԬLSQFSGSqFqBArOQqbRmԡLS3FS&GSkPIY1qUqRF\]}RzSq=RہZ[qF@^Ɂ99Bq2i9[9ZɁ~@[S[RqB6qQRۡ[@Eq2@ v#w#ԧ1Qw#v#ԧ1QQQ#MS M !M)MTSUS 9qR)QTSUS9 1!MR M!MI MB)QTSUSq#M9d1MM1LMLLLLRph!I0#5q0?5q!#8?%4#q5#8'4#"q8?2>q!#8?%4#q20#5q7>$?5QI>q20#5q5#8'4#q"4=42%45QI>q!#8?%4#q5#8'4#q"4=42%45QI#8?%4#q?>%q#4"!>?58?6Q =癙ٙٙټ̀.creating fileNot enough free space onEdisk for desk accessor01234567L"LLJL[L'L[LLLLLLLG < BLL=$0P` n 7N s \L $0p fLةݩn 7Nr SLJrs g D h\ P$0P`! g &Mɀ 7Nr r Pۥn rs +H<< M 'g th tu= M M Rg g 'g thhs м h͛o9o*BAABBA BAr rr) LDr)  tBLDr) SLDr)%sҦsҽk V oV Ys K\ SLDr) sҩvw r)JsҦs K\ LDܭE0,   n uߦP`$0  \ 8 #Y`}L׭ռ ߽r\m['i[LQVwmwm=LLLLLL^^^^^^^^^LLLMLLL Z| 8s ǒʎȒ t h  1h vw Z%| ,R  Z [r r gr rLth l g g qR f MR fܥ` 1h`s0= V h R g qR g 1h g h mM 1hr r 8s ~frP r`HH [hhvewe h & l 7 1h f q4qňpŇʼn f f h [Q  f )[  r Zr rLth fLf ȭ`ȥpȥq` Rg$| P | f f g` [g Z s )[ \ Rg Zݥs )[ rLf9}CLɿ6 M 0f (iiut K\ T DN Qf` [ g9$P} V 8  ǒҊH K\{z$ K\ Vk oV Yh03l0k 8TP K\ N$0pe$0 pe  Qf [ A`{szR 0f [ŋŊ g9$} V M{yzx ǒ  ! 6mkvw S Zpkqk l3l    8TL qHHH Dhhh`9%I%}8``9I%}H D h`H DhLh{zqƥpŭ @hetteuu`3l}o8$   k8kk`  ȑ  kkek}k kP3lkk}k;4H qh$p$p $䎐LTLTe  `k ` pf }o utƥťǥ{zL@h$ke 8H 3hiH Th`$8夐$i$ ` \ g Rgs N 8 N PE#$0Fpy oHH S 1hP h th MLD \J Rg qR@ MRв f  L2kȌC ML2 \BAȌC`hh` k L2k Vҽk H 7ZhVqp$" Ҧ qp( MP(`(Hk O YhҩLS(H khԽkk}kk TL8ThŨ#) %) wv vw   ULNҽkvkwvwk}k g fV`H0 kůkŰ lűhH kk l V oV Z DNhHҽkŤLLSLRN&o%o ۥoo L $ NLRoHH f hhZڽMoNo)o۩!No A $  PIHHPoOo hhRڥHHH foohhhN r$0 o` HH foohh ۩oLH fh &o%o &o%oMo oNo NLHDpMoiPNoiaoiPboi*0H fh8P)` fNoMoboNoaoMo boaoQoRo)9-+3/8&  OoQoPoRo0`Ro)To)SoQoRoToRoToQoSoQoSo 0$0`WX  ! Ro  ҅L8AB 8C  L  WX`AiBi)`&o%o &o%oMoNo)NoboMoao8``(DD|8|||<$< E  )oIo 1`@EJcPPڭoo [\ Loo [\ L}$0U٢ }~}~WXZhY\[ ۩ `}~XWYZ\/[ Nۭ8  ,ut 0f tB QfLD ` K WLC 0 ` ho&o%o/BAp o m`` 0f \ [ #  Փ Qf 0f pg/ g f g f ![co)co P  M tB QfLDLo` Rg g ,R  f f`r8<L \ [g qR"  h ,R 1h ![` \Le d-geoWrite designed by:;Tony RequistNApple version adapted by:s\Robert Bowdidge,Tony Requist,John WedgwoodkVersion 2.2yCopyright (c) 1988 Berkeley Softworks 6 b0/  l\Verification CompleteXL^ d] 1[O o s]ii?HH6 i ]@Lo `  +R M d M g ؖ ^ #gI pp Ka [  r7 |\ \ 'f,̅ j \ /f x L^Ld^  0 0 D"D  +R ) $ L} ˭ EFGHIJKLLLLLLLLL [  c$/ sQ e L LLL9L   G , G5 Ay GJ'o`'o  _ c lgeoWriteCopyright (c) 1988 Berkeley Softworks-Single computer license for: #Li ` "do = i K cP ;ކӎ)o(o&o/%o ,o 5d :L cL ` s K =oo =  e إ c PL K=oLo = iLy+ox*o ) H H eh h j&o%o bN(( 7 cPI&o/%o20 0 ,/  f ?  Ӆީ :L( cL `Write Image 6"J d / .-YL `   E"EYL>Ãf훆cf͛cf͛f͛f͛c>À~8````؊ LDžׅ` $ -o=oLLc  #o = io - f   :`X cP s K  f   c Pǭ=o``o = =oo - Lep 6 c N] J")o(oo=) >o = i0 b)y+ox*o f ?H 0h8 KLB`AWrite Image V2.0geoWrite V2.1 J -o=oo = i b1 , &o%o J   :`II#I"&o%o/#a"rII WIF A`p1ʎˢ eYL2p,0  +o*o Y @ f ?7 B/ ) <= B > B  3`r c 3` QE"EsRX,0sYQ H*,0 .p0 ]8RssR N`YsSsRsTshsSsgsisjsksls`ѥ ~f g'% f f fP  fP`ȱ/0(e` K o = =o e=o``  v   0 "E HG %`Ex ~%XYLGHLFFFFFFFF``bl K ,+ =oo =  e o = LN  + ; J =o-o _ o- 8Fee #," o- i #/"`H eh` c , `h LcH = D J cc  򩁅 hH ip iq K h1H0H.- ,+  H   h ~ cP  c wc hh  J 0f S Qf : [`$0&r 'r r!&  ]`  K B)H.- hL.- LYAH,+ h% iC i iY ~ cLY` @ w &o%o/  鎩  `@@@@@@,o? BC@l H &,o<>m&om%o %om&o>m` K  r ,+ lT H H bDhh cP8h h / ȱ  g  Š cPZ'rY&r`&r'r` m&r"!m'r#"i"# K 1H0H,+ r Wrم hh  &r'r``@``` P5PـS!\Ynffl8Text Scrap V2.0    21`Not enough free space on?disk for desk accessory.Please Select Option:new documentexisting documentto deskTopInsert new disk into disk drive.File exists, choose another.Data file is beyond V2.1Converting earlier file to V2.1converting file.On disk:WARNING!This file is write protected.Cannot recover from file.Please enter new filename:opening filecreating filerunning desk accessoryCannot run desk accessory?while in header or footerFile name already existsText ScrapError loading applicationSelectApplicationtextScrap is beyond V2.1reading textScrapNOPQRSTUL<LfLLL#LLLLL4LLLL"LULL[LFLlL{ Q kk cL4 = D LJhh` QӅӥ= B ~ cȄL4 QӢ # &8᪥=H BhL4 B cL4   "E K$06 B  P멀 Ѡ`  ߤ߹  ii L / &ޅ HH HH hh hh/ '   8eХe`i B 6H !h< B 9 KL\ӥ B  =Yq eYI  J 4ii th \  8sitiu`   E"E  Ds h  J 1h h 4 1h g88RsP MŁŀ 8񅀥Lth=B,o%H hHHH hhh` 4 \H$u D  $1(ӥ= K < B L 6H !h B 9P(!ӥ= BхЅ P LӥӅh  K K K+o*o g  +o*o gL msiiАmsmІ 8`8ilХisѠ  fѩ qsK)sR8ХѠco))P     ` 8`msqospnsps fLfMoSsis)?isRs`  K B8Qs  NH !h ө^k c8k c 3 L L  J<  )@  K BAg X H-8Хѥ< јЩ`)@ Ck cQk cL LL9LsR` "Rs &oUsʭ%oUsissѩm  msqL\ =< B`8`H  _ ci~ =Beeidk m #" o#/"h`&o%o܅=Q,om>m뽇ll6ee8 L=oI A tD&<&.&(eeei ȸP$08``80 `8`No next pageCannot go to pageEnter page to go to:Enter page numberfor first page:Bad valueDelete last characterof the prev page?opencloseString not foundSearch / ReplaceSearch ForReplace WithWhole Word4Partial WordAll Pages4This Page Onlyr Т     r`ڠLco = =oLe    0 "E !  `Ex ~%XYL !L =I \ P *$0 k*$p k`  I@ U,oI$p(o)o( H  h` H h BL4=P>H  [h,ogH h  w BL4$ T c/H _H}k=k ih` eHeH hhe檥e Ӡ= j> j``= > ` 4 ~f }o g DN g pg(󥳦ܐܢ` t B7ZV ~}  o}o$}0 cyx th<` g t( oL^ t ~ <`L$ rLD  4m sѩRХ0=   8 0> ` B` KхЅ8HH Hhh8 8ХѠЅ ȩѥ= ?` g ,R _   qRP`u#ȸP BȸPe8``z#ȸP BȸPe8``#ȸP BȸPe8``sRJ05ȥ= WQȥȥȩeЅА` `x!`  W s8 8   : 2  2A P 2M 28X`eӅi 8`>J 2P 2`` , 2 L2iliL8ȸP}0 0 2ĩ` d'=oI A 8D&<&.&(eeei ȸP$08``80 `8`U 8  Pe e e Хe ѥ8 `HXx̎Xh xHhX`ΜΛx h5``.Ld~Card and printer drivers incompatible.Incompatible printer driver.No printer card found.No card driver selected.No printer driver selected.Printer not responding.Printer is inaccessable. Printing...Previewing...Print...High DrafttNLQFrom PageTo PageSingle Sheet<Tractor FeedPlease insert the next sheetof paper to continue printingDATETIMEPAGEJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberNO DATENO TIME [ `YL g. qR  Pީ )ͤ   ` ` h dg qR KQ;$0 GQ dg i)PiP 1h gP` dg 1h` ` d P`  d`$| cP $|s`No printer driver is selected.?Use 'select printer' on theOdeskTop to choose a printer.No printer card driver is selected.?Use 'select card' on theOdeskTop to choose a printer card.`abcB A DNqHpHHqp =d U A V@hhphq =d tA`YLmmH @h  RbH hPߥ 2)8&&&ii @P e洬 LP   P`Eȱȱe 8 @8 `  @`Hco)($  h`D `Aڍ`& CB} W&E); ^B B B*)B`!p υ  Cl)=H BhiP8}`HH 6 <HTݮVJ{USk5 @a° ghiw  pqrvww 웍`ȱSLLɘLL웦 P  _T'U'ٍT`   hjP _ TUȘHT(hU(T`~|xp`@ ^)})ȱ^ e JJJ$'FjFjFje`ea}A| )I$qP r8p_ ze {i{) PP0) PP8i }}*Z!JlU`T`UTꍯ`TUȍ`UT䛩`TU䛩`󚚚'&%$#"! JGDA>;85퇂}xsnid ꦮ1 `U1 禯ȍT1 `U1 禯utȦt1 Tu `H vewe _ h``JJJJJJJ$qP`JfJfJfJfJfJfJf$qPJj`JffJffJffJffJffJffJff$qPJjJj` L'*******LJ&*&*&*&*&*&*&*L%|%l%|ȱ%l%|ȱȱ%lʫ L WT L 1 $ 렌* ` \L  \%  Ɏ 0 o ` Lph d+$ rJ Vd , d r KV~z>  HJJJJi0Bh)i0DVLM N ?klmnopqrstuvɜ`i i8  `hhqHpHHPhhhhphqHH`HH Rg thh ߙ`sm` `)?0 qp` hHH f Chh 1h8` ` UH 7h3l`h` Rg ʒ Ζ mMʒ ΖLdg ʎʒ`ǒ Ζ bt8u h Ζ xM Ζ fMo 1h솩 Uco`P) ))` @`ȒȒȒ & `Ȓ q pg( Ԕ(P  pg P8Ȓ) &gȒ`Ȓ Ζ ~ 얮ȒHP PH 7kh! I 7 k M hƒ`ɒ`smǒ )ǒ)` h 5 xM f g g#! Rg ʒȒȒ 0ƒ 1h8` 1h` xM )@ 8`)@`) ƒ Ē U(  E`H ( #( h 1hh(`ȒϜɝpq$ǒ}ž`HϜɝ$ǒ}h "8`8 bΜȝ`  EΜȝ` hȒeȒ 1hȒǒ 8ǒ ;`ǒΜkȝk kk ll3lHl]lrl Ϝkɝkkk l`H$ǒ }Pkhkž`kykٴk'% Hk$Ȉ0ykh0k`h`ȒHȒ Ζ͂́ }Ȓ }ȒhȒ`ȒHH hȒȒ hȒ ` gPNHqHpH h DN ݘ H pghH h(hphqhH =dh(`Μȝ8`HH1ePhh(`hh(8`HHHg)-H i ~ Ehhhh(`H "pq =dh`ŤK KݞDŨ=  3ť,Ŧ%ŧݫpݷqݱ`@ƒ`ɝşϜŞ`ȝΜ` ȒHHȒ I  0f t QfhhȒ`o͜o Ȓ`ǒ8ǒH VhŹ8``͜< Ȓ/Ȓ ƒ Ē Œ 0fÒ)ĜȜ  QfÒ`Lܚ͜`)ȒȒȒÒ` ͜`Ȓ  Ζ }Ȓ` ƒĒŒÒȒ`H VҤҥmǒ 8Th`̜Ȓ0ŒȒ 7ཱུkݴkLXkk}k8  aLk gLfVȒ0Ē Œ" M&Ȓ 7ҌɒȒ " Ȓ Ȓ`wHvH HqHpH oV zUhphqhhvhw =d(ɒ `mǒ`mǒ)LU  wv`Ϝɝ`mǒȒÒ`ΜeΜȝeȝ 7 Μkȝk`  Μɒ@ƒĒŒ PpqRΜsȝ`sR`Ē`ʒ 7 sʒ Iʒ`p ~L ]`r , L  M +R8I \؅ MxIs \ y dL [HHpH hp ]4p Y\ ' r" ] p pp o 2_ _LoLd^wH ~ g {hw`I /` /`  +R M Ʌ \ Mʭĭ H ~hQ  x LLSLRN&o%o ۥoo L $ NLRoHH f hhZڽMoNo)o۩!No A $  PIHHPoOo hhRڥHHH foohhhN r$0 o` HH foohh ۩oLH fh &o%o &o%oMo oNo NLHDpMoiPNoiaoiPboi*0H fh8P)` fNoMoboNoaoMo boaoQoRo)9-+3/8&  OoQoPoRo0`Ro)To)SoQoRoToRoToQoSoQoSo 0$0`WX  ! Ro  ҅L8AB 8C  L  WX`AiBi)`&o%o &o%oMoNo)NoboMoao8``(DD|8|||<$< E  )oIo 1`@EJcPPڭoo [\ Loo [\ L}$0U٢ }~}~WXZhY\[ ۩ `}~XWYZ\/[ Nۭ8  ,ut 0f tB QfLD ` K WLC 0 ` ho&o%o/BAp o m`` 0f \ [ #  Փ Qf 0f pg/ g f g f ![co)co P  M tB QfLDLo` Rg g ,R  f f`r8<L \ [g qR"  h ,R 1h ![` \Le d-geoWrite designed by:;Tony RequistNApple version adapted by:s\Robert Bowdidge,Tony Requist,John WedgwoodkVersion 2.2yCopyright (c) 1988 Berkeley Softworks 6 b0/  l\Verification CompleteXL^ d] 1[O o s]ii?HH6 i ]@Lo `  +R M d M g ؖ ^ #gI pp Ka [  r7 |\ \ 'f,̅ j \ /f x L^Ld^  0 0 D"D  +R ) $ L} ˭  sb M`   O ,Pˍ (  _ pp N_ `a ^ z  WLDWLUWLcWLWLqWLWLWLWLNSL_SLSLSLSLSLSLSLSLSLSLSLSLSLSLSLSLSLTLTLTL+TL8TL>TLTTL\TLeTLTLW L   `ppppHH@ 򩩅 H H h h hhL Bu 3` B^ ?uLB HP HA~rA Ah`   "E HA Ah`   "EAAA?c o``H X B A jXh`{HH 3@BBh ArA Ah` B < ` B S ` B o `+ B `B `DISK ERROR: Disk full.DISK ERROR: Directory full.DISK ERROR: File not found.DISK ERROR: Disk is write protected.DISK ERROR I: Error encountered reading source file.qp `^ p`^ p`^ p` B zE_ 5 C CP^^ {` B zE_ F C CP^^ {` C zE_ y C CP^^ {`{ƅ ` y xAepC Xy x ӢC A jX Gy x ` C  0C"EInsert diskinto drive A _^ D^ xD8F7ee#" ^ i #/"`H eh` c 52511` c1`   10` cp` cqpzSource Document:zWord Processor:`_ i_l i`pDžׅ{{`H( <@h 3@H <@h <@) <@`)JJJJE)E`0123456789ABCDEF 3@+F,FHF A_h` $+F  OF 0lFEE"E Unrecognized Character/CommandWould you like to continuethe conversion?,t1t G*t ^^ B  cG`HHH hɠG AhhtP F L~F F L~F F L~F F L~F F L~F F L~Ft^ ^P` NGGG k8`^^^^^^`^^ Gt^ NGGG@ k`ʽ^^0^^`zk[Kp0swapping Text GrabberBoth Text Grabber and data file?must be on the same diskOin a one drive system.F0` c/` ~F F F @ E D OLpH@ ` C^LQH_ƅ _}ƅ|aƅ~gƅwƅyƅeƅgƅRQQSTdT~Q{__ ~I C_  ifi^o_n_p____ [<______ qI jX :C{_ ?` XP A8`__l HQcQ`I_{I2 I! IP XQ ZA X OP @ E DLpH`ll 6@`_ __` 9@ !@ <@` `8` 9@2 <@ @ 6@` "J` TvJz{ 9@v U 6@`J 6@ 6@J)J 6@ !@ <@P& 9@ -@_JP Rv 9@v ASJǭJ <@ @J J{ 6@` 9@J 6@`_w_v 6@vwvwv 6@` 9@kK͎_! <@~Q`~QeQyQdQxQ K@PI R kK ASP9kK T{zkK UP kK !@ <@STI ~@STP -@ 6@` 9@` 9@` 6@` 9@kK͎_ <@P: R kK ASP*kK T{zkK UPkK !@ <@P -@ 6@` 9@`{5{ L 9@ L`{ L L``H8Łŀ 6@Ph` L__^- 6@ 6@ 6@ 6@ 6@ R- L{_ _`_w_v 6@vwvwv 6@`LLLLLR`HQQ? <@_ Xh ELjXh` MQAQAQ,Q A`QנP QA O`l X <@ <@LX{ M{ M{ M X :C >M B@ E@`_  i"QQyxQ  `8`HH{{ {hH H@P {{ K@h ?@h X`{{P&H{Ɛƍƌh捩{`HyƐƋƊh择{`HwƐ B@{hH H@h懩{`H ONhqȩq  { B@`8`{gNjNmNpN `wy{H{{ { ?@cQ ?@h @`g_ :C_ ?O{ BE8ƅg (Ogƅ O({ 3gƅ{gƅ `נP A8` :C_ W`m{{m{{{{{{` :C_ ?hw&= BS8ƅw (Owƅ O6y&> B!8ƅy (Oyƅ O 3`LO N +`8`慩 ] O A`Ńł!{ C @P \{{` @P{`ce ƅgƅ`c ƅeƅ`___Łŀ @P{ƅƄ 9@`ȱ`Error initializing Text Grabber.Error encountered saving destination file.Conversion cancelled.Conversion complete Unknown character(s)/@////////////////AWrite Image V2.0geoWrite V1.0TG:Generic WPTG:AppleWorksTG:WordPerfectTG:MultiScribe qR R` <_` hR `R A8`Loading word processor data file_<   ` R S RP`` $@R v '@vюȱ`ȸPȌR8`Hhl RR lS @`-RR lS @`H{SSh`{{{ "N XR <@ X`L{@@L{@L{@L{@L{@L{@L~@L~@L~@L~@L~@L~@ {@`R)L@L@R)@L@L@R)L@L@R)L@L@R)L@L@R)L@L@{`P <@A <@G <@E <@`STL@STL@R)R) dT @PdT @dT`R)R) dT @PdT @dT`` *@``T T TP`` $@T v '@vєȱ`ȸPȌT8`Hhl{ { ?@ "NcQ ?@`{`eQwdQv{eQzdQdQ.eQdQ.eQdQ.eQeQeQdQ U V N@`wyQvxQ eQyQdQxQ`/v8xQxQwyQyQdQ8xQxQeQyQyQyQxQ`xQ8vxQyQwyQdQmxQxQeQmyQyQ`Qh! PeQdQgQ fQ 4VP` ȥ `eQwdQvLV{F8zzgQwfQv{gQzfQfQ.gQfQ.gQfQ.gQ V V N@`Q0gQfQ0, gQ/fQP1QgQfQɀ gQfQ`gQwfQvwv/w0vFwfvFwfvFwfv`Qh- PwvgQfQ߭gQ fQ 4VP`vv vvzQ)vzQLN@zQ) zQ N@`zQ) zQ N@` X <@ X`J&&&dQ8xQeQyQyQxQ N@`&&&dQexQeQeyQ N@`J <@J` <@J <@` <@` zhQ{hQ`z&{z&{z&{` 6 <o` 6 < p Boh_ lGPerforming conversion` "Xh_, YiX%fXeXaXrdX`X_XcXbXeXhXdXgXXX`{`{`X{h_ !@O KX`XXɬXX 6 [`m a [hXgX\X G\X r[PHX` iX$ [ ZH r[#h8hXgXP ZP [ ZHhZ`Z Y [mYYZaX`XhXgX >[.HHHHH ZY [h [hhhhiXZ` `A ` 6 [e L9Z0 Y8`ZZYɅPY`srHA er hsr`- '  eȥ `)~ p  \`YJJJJ_\_ƅ kjc ƅeƅ f8_`}ƅ|bƅ~P?kj \-bƅ~P kja ƅ)  \`8`~~~ 8__Pީ_ ƅ) `||}| \P  ]`_8____`____`H}`|Ɛb~ư _}ƅ| \h`HHH ] .^^ ]م f^ ? B.-  X^X^t F .^ hhhLATextGrabberV1.0 q/p)3p eppߠG ZALY`^^^` e^ 3` ]  e^ ?`HLKL A Q \ LDL _ ^ ^ ^` G} g f `` 9e 3_L-o c(( ` cP ` V c *_ cL f` 6 <'sﵥ  ﵩ$X o: hY _ JfX o( _eA hYJf;X o( _eN hYL`. 5L $ 8LLLLLRLLj^ ^k p^p V  moIn uL ^1^0^^_i _y  C ^^p t  mon u ^ L ^1^0^^_ _5  B E KE^p 9 P ^1^0^^_ _F  B D C  D  :C_ W`!_iL fC_ i L_R ` zE{ƅLˢ A h_`8`~p   "EEEWould you like to have the convertedtext previewed on the screen?`H 0h8` 1^ i Q ZAP  )` A8`  B  zE^mon^  A p* &HHҠ ZA hhLu` R`8` & A`p 6 GcVJS" p G / .-YL `p8`` B^S^ i> ) H H Ah h $ D pLZA^ )`  A`   EE``  ^ ʅ ^  C`  B  zE^ @ pҠ ZA P^``@ 򩩅 ^ ^ ʅ ~Lp 6 c ] J"   LTHL   BLY B 3 PX x K m\B R Y  o  Z e1 !x&ҩѩԩhh  ` 4e ` \>L L:L:L:E8 0L963L:::` `P hH ~P ~iihH N ~h`H~~ ~⌋~h~LPwr~LPwwrie ȑȑȩwȩr`H P~ Ƚ~ 8 Ƚ h`!.!.////VVVV&2 ,8H N I @h` Z @h`G `HHh)uh`8Hh)uh`#" P#/"` 6 rom disk to continue.vailable in 10, 12, 14 and 18 point.L©P '&   M4PP6*(6* 7*8*>|E  &)-15;>BEIORX^djpv| $+29AJU\dknruy $P $$LG>BA"$H/2`!(@!@9Q"$ 8pO" $$DHHBA"$D@ @ T BQE ( $P $HHB"BA89ƹ)]rƩ( P BD O (GE4P JHOB"ASD*RR)I(I>8I(BÂD2@!ǀ d$DIHHB"B|,RR(%PUBD " G $$DIHHB$@*RR(I%Q TBDHB( 5 $$$HHBA$SD)RR)I" "" 8B$8pGA"$b'HLj<A8)RRrơ "#$@ @ $0~@ d` 0@ ` Ĵ d ꥴ d `  dLKdd`HH 7e ( .ȑȑZL   (+/37=AFINUY`gov} &/9AKS[dlu!'18>CHJOT^!0E >P@( T2 9$HDBD $F !H$ !!DAH"!(@ L?U(HDO(R$ P( !@P(!A !D / @ PC"(@!B$B*(B (@D R ?D$0""! (t A@ _AAE@!BB,(B (8UD~L D#@1 d ( !R@ P@!AE@A2BB,(B (U(!(R  @  A P( R@!P(!@@ BB$B*(B ("(@(T D$H4 "! $A  A FdI2D&)(B"hD""9 q (p8p` r" P#A 9X0ф(Bb8F""@  @$   @ T  `z΅ ͅ  h[ [zzz` [ [Ciɀ Ɏ Y\LW \x l(" \ Y\L~ ,f ] \ `V` L2%)#! "J KH I ED,` L> j !0=@EJPY\bektz)3=ISV^ks &+2<AIS\fov '*18I<0<x`p`??``6 `8c`0 2|~`~6*ǁg<?`pc??a`6 `xc`00Zf`fcϿ~?18f``xg00v a0c ـ```001Lffcϰac1C06``hf0f06 a8 ````001~<acf ac`6``8lnn7 sg `>occ6c3{n1f4`0aAfao `p306``af006 x48`0c` ccf616 `1$H`1A ~~ f;`c<38f``;a007 0x0```cqf;acf61g`1<x1@ <6` `C`001 0`0`;o`cc61{`x 01c 01c ?016@?p !!!"ȥJi d] g s] \ /f-"! $f\[ ,f N[K Z \ 'hI pL@ ji  ji |(! Z \ _h j j N[ V$ ]` ^ Z $flh'# p@ k漢 [ɾ8 [Xƭ[\ \ d]  s] ]PL^xB j(0 j`FGEYD CTLxB j( jk P\ Zk ,fT =癙ٙٙټ̀Cory V1.1LXAvailable in 12 and 24 point. H w Gh`)L­)L<T  )26;@HPT\`iqu} #'/7>IQY`hpx &-4;BHOT[blszH<9730 X~P_p p `:H0;C44d32`&& XXaGb0PP)p @ `2eE1 8C40t32&& XaCb0P@)G߿~d߾\,\2`DHGp33;WÓqC~8ϟ LXbf,Rd,X\,\2`HqGp0t0:8::W\\ÓqCp8G LX#bf,Rd,X\,\2`qGww:8:;W\\ÓqCp8G \'~w.[~.\\BHqGwpr:8:88\]ÓqCp8dG n\'pw.[r.\MX2`HqGwpr:8:8;`\]ÓqCp8dGP n\rw.[r.\M;X2`ws;;0 ]qp8|G ߿~w[r߸=_2`  2`  :Ʃ ch`$qpLf,$q0Lf ix LWPrs  GRL` `sH h)gLEɀɋA f; =gP: f0  .g+ E dxHH Ihh` Z fj Z ix)D) F W)Ldps ֜s 'ȱ ě L  s `&i i    +:K]dmv%4CRY`n{&5DQfu +2CJScjw(5@MVdq` `???` ??016g00~0`?? ǁx{6o߰xxx0`?{=`dž< p x ǁx8{6`1<x{6l0xxx`{=`dž< p x ǁx{6`1<x{6l0xx<x`onx<<dž< p x ǁx{6`1<x{6`0?<1??g00f<x`anx<~dž< p x ǁx{6`1<x{6`0<1oxxo~njx`a{?~<~>| ?x ||π|{6`>|y001o`{Ǐx<1x7xaoxxo~njx`a{?~<<|> | ~~~{6`?~y001o`{Ǐx<1x7xaoxxo~njx߃??~< ߁| ~ o~{6` ?~{0~?1o`{Ǐx<1x7xoxxo~njx?0?~< ߁| ~ o~{6` ?~{0~1o`{Ǐx<1x7xoxxo~njx?~0?~|> ߁| ~ o~{6` ?~{0~o`σ|?|7o|~g~ >~0?~>| ߁| ~ o~{6` ?~{0~?oa~~߆7?g~~g| >~0?~߁| ~ o~{6` ? ~{0~<=oa~ ~߆7c~~oxx~0?~| ~ o~{6a ? ~{0~<=oa~ ~߆7c~~oxx~0?~ <| ~ o~{6a ? ~{0~<=oa~ ~߆7ac~~oxnjx߃?~0?~ ~| ~ o~{6a ? ~{0~<=oa~ ~߆7ac~~oxnjx?~?~~߁ o~{7 ?0~?~ ~njx<<>??x g<13ǀ?x ?0<?<Þ <??ǃ?x`0x`0x`0x`000irectoryThis directory is not emptyDelete all files in it?filesPlease enter new filename:Please enter folder name: =癙ٙٙټ̀Dwinelle V1.1 ry V1.1Available in 18 point.disk to continue. H   $/>NRZbjuy %7ESap#2CRbs!+4:@KQ`lt~@  @  ,!P a!/@  D0@p8?C8 Cǀ?8s9o r|?fc1g0r342a189;'џ?c<4hiߏ|>>0|g9=C|#@ 1  ! D  S@xx ??B ~0~> =癙ٙٙټ̀ NLQ V1.1߅Hڥޅ݅ FAvailable in 10 point. All text in geoWrite must be in this font to properly use NLQ printing.a  (08@HPX`hpx (08@HPX`hpx (08@HPX`hpxffb< 0<<<~<~<<p<<|ff ffff`ffffff``f|<|>|>~ffcff~ f<80 ~~ v f|<>` n~|`fxxn~ p`k~f|f|<ffk<0 ~|`>f>f|8lfffff`ffkf`f~ffxffff`<fff f|fff0f`fffffbfffl``ffll`cff`flkff|>`f<><>00 fF? 0`<~~<<<<<p|<><f<f6f ~00|<`x L'F`y L'FiAzFA OF  `  0 zDHHY>N7 H H H HHHN Nhhh h h h hh H ,h`FFF ȩ `ڙC G *` - G *`* G G `hjlnprtvxz|~ =癙ٙٙټ̀Roma V1.1rb om disk to contiAvailable in 9, 12, 18, and 24 point. $/>NRZbjuyA  %(,05;=ACGLPUZ_dinsxz| %-8@HNQUY\adhnrw{((cy<Ͼ}Ǟwv @  " )U"D@,JR B8KdĈHə,%R"$DDDP@@@@E}ECD $R(J$P (I0B#fL((",q6H3m@(@ $#$)|D(r'` NB!B8""J%IDPRJRHD(@|QU $ )"N$|J$P JB!B(B"J%DpRJRDDT" )QT$@)"D|@DKdĈHH $C`DB J%HRJRBDl(Ē@('DP!ϸy]8BqĒM{33H(lG@@D!@ @@( > sd#`II/////////////////////H dhH$q c Qh10/  L  Qxp v ` 'c E{LE 7e ?eH ^ehepwwrN  ),04:@CHJNTZ`flrx~ %.6?HOW`jw &,6=DJPRX]j !0" pG0<_;pxqu㻝tq  ` rxH$J f")H$&bD `#1$AaCD @  PHDG *( HHD"H `"  "H"D@ >7*"G<(1 $DHP QJ$ ` "p B@19㙒%a9g=>fo`@""qA!̀c"I'sp QI$ 8  0B@JIBH"HIH$BId8ٜ >" @"g"P$DH"X JI$  PX0BBOBH"HIHf >( "" B!c"HHD"L JH `H`ABHH"HIHB% #b"IB# $bF"DHc1  AAJLH"HIHAAq @>pGA$"lq߇;~aƸpx!AN1|wmَ9 hCa @@0@ @ @ pp p)  ' *Iޥee 8Ʃ ch`$qpLf,$q0Lf ix LWPrs  GRL` `sH h)gLEɀɋA f; =gP: f0  .g+ E dxHH Ihh` Z fj Z ix)D) F W)Ldps ֜s 'ȱ ě L  s `&i i   b l"0=@EJR[_dgmv~ ,6@MY^eq|*/5:AJMU^fow~&.68@GZ`~<~xxx?xwǾy烼<8@f;pd6661888f7 31s0c 0aq330#0Ãñ08hnc065"c533c:9`fc 10f030c0310! 0 010@6410"c&by fa @10f00c00300!1 0  3`6Af`0ta}`106`0c`0 f600 1h`0#pyf#39;7<>f`y 07`{0c0͉ɀg00 [00Ac0f9f61L!C0y`0;n?x0306`30c`0Ɉfp00 l[x80a0f1f61  كab?`` 0`c006`30c00وif800 xp0ac g1f61`݁lb?` 0x? 800f030c0q800 8`0!cf1f61@ulf0a ?ǀ00f030c0$q808`81cf1f61w`l%| 00`f3 1Ì13c0d!a001ɜfc1c1N" pcH58xA x`{LJ#xϰ>0p 7pق @~;<88`a0`00Á< `0 c0x0 301ق ~F 00ǂG00p `#0`000 `0 B00@ 0ق Ӹ000 01``&A0`0`0 a`  00 0`ق!`a p1``0`A0`00 a`  00 0ٟ0`a ` ``0` 0`101c`  ha |7v 3<183n<{Ǟ 0300 `a `x``;0 `L0`301c`  p1 991`s3|wÜs01 ` 0A0a` `a|`x`ls10 `L0`>0`1c`  03  0 0301ǎ8 a1!10@@c` `a@0 `c 1 0`?0#01c`08 0l` 03 10f`1 90`@xNcq` 0 `a09<x1 0 `L0`30#01c8<`0\8 0l 03@10f`1 0 ?&2` 0 `a a0 `L0`10#1c`  p v0l` 0310f`1 @Ő `0?l` `a`c` 0`00C 1c ``Ѱ ` 0l``3`10f`1@e80 l` 0pb `0`0`0C a `@Ѡ 0l`3p10f`18@i00` ` 00p`0`0p0Ca `@ ,0np3810f`1h3p0@` 0 a`0c080 0` ,0 8F 310c a18!a 00 `{ x8 `぀0c000Á8`` l9?310csq08` 00 `xxx ~~~`??/{7{Ǐxnps@@ 0 @<x`8  0`0 00  `80 0`0 0   0`0 0@>8``01xile can't be openedfrom the deskTopfrom the off-page areaPlease insert a disk withinThi =癙ٙٙټ̀University V1.1J*b FJLNRXAvailable in 6, 10, 12, 14, 18, and 24 point. %(,05;=ACGLPUZ_#2 !$'-148:?CFJNRVZ^bfhknruy~ "%)-/268>BFJNQUX\`fjnrvx| LE\7;)J"87J*A"Q b m$qDTХ)D!)R6ԥ)BJ* lLiUUU%"Y( -.Db*)"J*RYUUU2UT>e"qID-D%)R".IJ"YUUUUTɜ"PEX .7:*K b0):lLѪUUI12)M @ @@ `eJ@  !)+/39?BGINTW]cjpv| "(28>DGLOSZ\afkpuz E >3{E s<E P`T2 HH$Ȃ@@  B<B!BD(PBEQ@ L *PBP @ BBB  BH(P@)8z+2BBB"@"B !BP T(P(BDQAȊ$X(( R@BDB B !BH 4(PD(BDQA$T((B @$H"BB@@AB!BD 4(B DDD$QEH$R((1DQ@*q@P_HJS]er| "$,4<DLT\dgmux H|>P$ !>?PP  k HH !@@  !!PD0"APPP   8HB@$ @@@x@H P0$  DPH"  TA@$ @@ @@@ HQ($  D B  /@H "@@d  (RQ((@$ A˃ã4"qb !@H!B|@dG"yC (T!$(@$@ ,D$dDlDB   "@@@ @@@DB /X"(@$>AQ((($($ "" @ P $'? P! " ( T"(@$AQ (($($ !B0D @ P!@@" ( R!(@'"Q@ ((/($ Q@ "P( @ PA@@ ( Q A$ "@@@(((($ QAA@BP @@PA w@ H P @@B(((($ QB BP( @@P@H PD d D @Bh(($($B  HD@  , !!$ bAA"D$dDh$"  0@ A@|$x > !>A"+ã$ @ AT k8 @i  ̅LE)44)  (7GIOUdnr} %1AQ^kx"/=JXlx'+=HS^is~D@ 7?>$8(/  8D@H"A@a@ 0D01( I  @D D$A@B" @@P @D $@@ P @D"A@$  @@ @@$ @@D@@ @ @"B  @ @@"$@@B @<<8tSyO P D '@!   @BP@@A !@ B! !BTD%! P P H@(@@A(?! @"P !@@ X(@`P@0@$@(@BP A@@ P@@!"`(@B?@   D@" P 0 @ A@ D@PP @! "0D@@  ` D@PPP @ @5DPP @!(0@@@Da? D@ PP1@@PP @ $H@ @H  @ D@ P_ @@PP @@  "@ @O   B2@ PP  @@PP @@ " @@@ @ @ !@ P$  @ PP @@PP! " @ @ @ @  R @ @@P@@PP!@@"@  @ @ @P D1@D @@ @ P@@PP@@"@HB@@ 0@ 0 @@ 01$010@5B! !P! @DB @$@0<@<@< @?<8x@?<Py@8< @@   oft BASIC prog. Applesoft variables EDASM relocatable code ProDOS system file< No Date >A maximum of eight files maybe placed on the borderThis file can't be printedThis file can't be openedfrom the deskTopfrom the off-page areaPlease insert a disk withinThi! A-TGrab Data1.0ATextGrabberV1.0 AppleWorks 2.0 formatting data used by Text Grabber. ;5 i/yx Kizӈ.,JJM J #Y@@@@@@@@@QTcZ]fioUUUU}UUUUiUU)4?UUUUUUUUW@@@@@@@@UUUUWUUUU@UUUUUUUUUU S` <@`J{`J{`zQX f@J WXzQ N@` 6@J[>P]v< <@< <@J 6@v <@P> <@> <@`{ {J R` 'R3 WR3 R 3 LAppleWorks 2.0 formatting data! ~A-TGrab Data1.0ATextGrabberV1.0 MultiScribe (Apple IIe/IIc version 3.0) formatting data used by Text Grabber./yx ~KYbkqv~ .-$LKMlK o@@ <@` Q@L XL l@LL W@ X{yQzxQ 6@L) ꈍzQL)J zQzQ 6@` 6@z{ 6@` 6@ 6@ 6@MLL 9@LLLL NLKS {P @LL 6@`[kJ@@@@@LILL@L@LILL@L@l 'RP WRP R P LMultiScribe formatting data used by Text Grabber.PR! 0A-TGrab Data1.0ATextGrabberV1.0 Word Perfect (Apple IIe/IIc version) formatting data used by Text Grabber.5 i/yx 0K׈Gi0 .gKaKMJ %o闗靽飫@@@@@@@@S@SSSSSSS@SSSSSSSSS.5쫫} <@` <@`- <@`* <@`^PkKv 6@v` 6@z{` 6@ 6@ Q@ W@ ` 6@ 6@J f@P i@ ` ]@`)LS) Z@` 6@͎_ ) `@ `) ` c@` ` ͊v8*zw+{eQyQdQxQ Q@ ͊vm,zwm-{ W@+*,- ` Vv8zw{ W@ ` 6@ 6@8m**m++ AVvezwe{ Q@` 6@vw` 6@ r@~Q ` 6@/ 6@J/ /{`/{`//{ ` S` 'RA WRA pR A LBWord Perfect formatting data used by Text Grabber.AR! 0A-TGrab Data1.0! A-TGrab Data1.0ATextGrabberV1.0 Generic ProDOS word processor format file used by Text Grabber. This will convert only text. KQV[af .gK@Mk 9@kK͎_ <@P R kK ASPkK !@ <@P 6@` 'R% WR% R % LGeneric WP formatting data used by Text Grabber.%R! A-TGrab Data1.0ATextGrabberV1.0 ą @LLY ;5 i 'WD.data5(5( 8GEOPAINT Q& & ?GRAPHIC GRABBER^A|`$]$ +alarm clock   *calculator 88 (note pad _ -- &puzzle  -photo manager(5&5& ,text manager6& (DESK TOPB  *DISK MAKER1' 0  ,about piracyG F 8GEOSPELLNB*l#.M#. ~@ a >  @~nt@WD DATA FILE V1.0Andrew Wilson@YHK@hYHhL@LAxآ ; MLL@#A["AZLY.- pwxB  n oZozooopp6pOpapps,sNss,sWss,sss,sss,sss,sss,sss,sss,s ts,sts,s'ts,s6ts,sDt s,sds s,sms s,s{t s,sgt s,srt s,st s,sLt s,sZtr,sEsr,ssr,sts,s}ss,sss,sss,sss,sts,sss,sss,str6ssr6ssps,sNss,sss,sss,sss,sss,sss,ss s,sds s,sLt s,sZtr,sEsps,sNss,ss s,sds s,srt,q s,sds s,smsr,sEsaqs,sNss,sWss,s ts,sts,s'ts,s6tr,sEsqs,sNss,sWss,s ts,sts,s'ts,s6ts,s}ss,ssq s,sLt s,sZt r s,s{t s,sgt s,srt s,stNrs,sss,sss,ssrs,sss,ssrs,sss,sts,sss,ssLarge device disk (hard disk, RAM disk, 3.5" disk): everything (569.5K)256K RAM disk: deskTop, geoWrite, + geoPaint (198K)Tutorial Work Disk: geoPaint + geoWrite (107K)Painting: deskTop, geoPaint + Graphic Grabber (106K)Basic Writing: deskTop, geoWrite + Text Grabber (107K)Full Writing: geoWrite, geoSpell, geoMerge, + Text Grabber (124K)Managers: photo manager + text manager (22.5K)Other Desk Accessories: alarm, calculator, notepad + puzzle (17.5K)Standard Fonts: California, Roma, + University (35K)Fun Fonts: Cory + Dwinelle (11.5K)LW Fonts: LW_Barrows, LW_Cal, LW_Greek, + LW_Roma (63K)GEOS BOOTGEOS DriversMore DriversGEOWRITEGEOPAINTGEOSPELLGEODICTIONARYGEOS BOOTGEOS RESOURCESDESK TOPGEOWRITETEXT GRABBERGEOPAINTGRAPHIC GRABBERGEOSPELLGEOMERGEGEOLASERDISK MAKERCONFIGURESYSTEM MERGEUniversityRomaCoryDwinelleNLQCaliforniaLW_RomaLW_BarrowsLW_GreekLW_CalTG:AppleWorksTG:MultiScribeTG:WordPerfectTG:Generic WPWD.dataphoto managertext managercalculatornote padalarm clockpuzzleabout piracyGeoDictionary%IfIyxnj,F0 ]L$qPLt s` ] ~Wq)q`r0 KZ" s u d] d s]Nz du L+R UZauHH ^ #ghh HYP H N_ _ E_hLthhLd^r 6 dr  uLNzLzv u uLwL{Lz dLwȱr %ȱ` ` YɈ *P `` uo ~ y vk Mh9ݚϓ gw87aǑϋ8|=@?@geoPaint V1.5@Andrew WilsongeoPaint is a full-featgeoPaint is a full-featured graphics editor.8eI 3:@GOW !"#$%&'()*+,-./012VFL#L^ -I @΋`(x <@ <@(`0 @8  4e `CABH@h@`CABH)@h)@` C 8C >B ! ( 'AA ` p BE)A8``07Ʉ1(, 6A'E)a{8 CQ,E !A`E) BAx X`H uhBA J x >B )`ULJPECQNFSBXTOMGRIAD[]-=HV ZWK t_wdi: Q#y~[DkKYdutussijstuuBtttttguuVVzzXYXhYYYY (s`IJx \C @X R B,͟͞O  / P5͟͞%) )  `G`)H )hBC LQaabbbbbaަdޥ(#ɀ r `)B`(ɀH rh`] `] ])](( ])]`  * wwLw xB8>  e e  ` ) `8啅 喅IIii8哰Ii%Jj`J `œ8e Ŗŕ8 `ei `8`B AC @e i H6   `   DŗŔ8`` D `8`    `V@vFh@vFz@vF@vF@vF@vF†@vFԆ@vF=F"GF"GF"G$F"G/F"G:F"GEF"GPF"G xx point xx point xx point xx point xx point xx point xx point xx point Xee` u憅熅H FhȘ))J E iEEԅF`)J  eFe yx*0)? 8 Pi00 `H h mu憅熅Lkf  w v`)?0h{z: G]HHfg W  W"hzh{ {wzv`hh{z w v `8`HJJJJ [Fh)?`V eyx G8*E`sry x`{Hq p` iHV` r 6 PH 9`-H,H ) 6 9h,h- H L?0ry!xPrsPxyɗP8`` PHC B A  Ie Ie  *$    `8` 8 P 8 8P8 *eeP *eeFf`srq pLNLsry xLH r - - J J` hJJUT8 f E ` @x  }  `` W 3` W_ ?`` WM ?` VKLZl W S] 5JLJ` W S] KLZl W O KDJ Bȅ H# Õ` &N ^ J[ ^ J[` W O K;J B L ^ Z ^ Z CL N`  ` ^ MÚ L L MP  iMP Mש8鏅` ` Jf Jf Jf `?? ii e 劅 ` ` ` @ N *** e ee8 LM ȑe e8  ` M  N e e8 ` HHHH N M L L N ? Mhhhh` `Å WNP)@ wNP NP`)ePG)? Nee`)? Nee``ߠOOOOOOO~OO J1H0H W ,+ O~O WO~ "H' 7W W hhhH  Kh W hh  KLZl@``` P5PـS!\Ynffl8 V1.1Photo ScrapText Scrapz{`ɀ`ōM@|N| u Y aP H ]Q _ r aP )oPzP ` ry6L`&c{cQQP Q r  HP lP QPemP  ٩P lPy-L` 6H 9 ?h` r~ N r H ^ r H fw` r~ LH UiiQ ix҅LpSText style: H U Q ?LQi mwi `` Q L I i i ee ` ~h q (sRWCXiYAiZBw8weY[Zi\Lsx5C8 i i BAŐ e  C B A (`,F` v H iK枥H Q iCBAŐ ʏ Y K ʏ Y 5J Y s ũ (s` 6 T THHH S, 6 9 ? 6hhi iHHH ihhhhƣЧ`ţ =y8``S95 IP8]yP2 )")]yP)]yP]yP)` T TH 8 1Ihƣ8`Ţȱ S pS`))ȱȱ8P`qi e ȩqiȱȱȘHH ;Xhhe e ` r)i  N LH ?8 1I8 uvō YLP uvɄ'!Y 8 1IL~h)UU `VV U  BAxzxHChi  LPBAjxZxHChixx ` } YLP xxH r `h }`͢ɥ Q8 1I :R`HH H HH8 uv Y u /hh h hh@H@|N| h@H >Bh` H.W",WW6"W Vh`   E"E @tHJJJJ WW) WW.W,WW xW"W Vh`LjُW`W W `+(/' i0`i7`Error I: pq ` M_ nX Y ;Xɝ8Fee #+" Y i q#p"`H  eh` c + ` c *-..*`XX H   Jh XX`ƏɀJ H@=Ɇ7 H .YxCWXP! Ɇx H .YAY[BZ\ƏX` }B|A~C`CWC`CXC`BZAY ABA`B\A[AB`YLW?No area selected_`` ŧ84 O W q %Z$  rZ `H hi 7W 졏 ݢP` ]ZZZ   k8`` Z ]ZZZ  @ k`ʽ0`mzZXVTRHHÅ [eɝChhÅLHHHH ^hhhh`HHÅ [PeɝChhÅLHHHHPe L[hhhh`HiHHeHH hh A\8埅P Fe hh ^Шh`8  ee`J H KhJ ^L\ ^H Б \Qeh`HHHiF8 埅 ZhhhHH  eeFei hh` L\OXHXH (s ] ] ]i桥8 ]hũ (s .^hX` ^ [ ^i [H KhH ]h8P` 8^ ]P` K ]P`L7W@|N| , r U l,Updating file on disk.` K/`H KhCH ^ [hCLK<L{^ `  eɗ` M(` M(`Pe`Å`C`i!e|e} ~L\i!~e|e} L\ r   bɾ` r  eɾ` r|i}iL _ r~e|e}  \ _LH _LN~8ii ` 8r s he~ 8JJi `HJUT JJJJJ `P `hH ` ` ` `h`F` fU (T (` f'U 'T `Fr r )~ h"| f <`i`xBAC JBAC q (`  s _ `(`) 3f%  r 3 r(`  r,b0~ɀ) -I$  r8 3L4a Y(` r 8` ^^ b \ >b q^ `P/ r8` b^ 4b \ Qb q^`PKbLT< ^bLT rH8`枥i ^  Kx s\ K s\` r8`ƞƞ ^ K   s\桩 s\`q p N r Yc KDH ^ c ^ chiZ r /|  KP/` DcV 7W` 6 <( 6 <# 6 B#` c -d c`ÅHH cPhh Bd`HH c chh` cg*`HHɏ|ȏ,ȏɏ|ȏ,ȏɏ 6dhhɏ` 6d 6d 6dPe`HHHH iee( Thhhh` 5J J`HHd Re` ae Re` ae | WP d VJ 5Jhh` r 6L9 r|ȅ  Re` ae`&|ą L) K Re ` ae桥Y ` aeġL`JL^L^HXxeXh xX`x h`@>HHeq(ş( 3fhh LPfHHsrw0vuFt -fhh  F 'Lj 9fL 9fLfJh`? c??>>`HH  ~h thhxy :G x ym WW 08i L f ~h q J iK 5J`  r %F` fʏ Y g5 7WʏLY ~h q K LYx ` 5J` f LY   J q` g J` f L LY Y` VJL$ f  * LY Y` JO L XmXmmLWmLW ^ELxJɆA,bg@|N|( fH ~hh8 uv q J iK b FG` f/ iu r P rWXZeY\([` YLP8 uvLhL~h fU FG@r ]J (s r _ _ ]J 5J r 6 0t@iu@_sPsP t%`t`tgpyuFp~uɃu@|N| J,])] u Y  ]J] ] q Mp p YLC* D&懥 HHH ^E Hhhh r ^E ?` Mp p  `y x ]J p xJ r ďÏ` 8F ? mi8xy08P8i8 mP`  o 8C  xJ cv` L ``报B 5J  P (s ` _ H r` r 6 <@E`%~~}}`}~`0 r8 uv r ;Jou e nwP eƩ rL v js` u YLhL~h  ` Lv vLs` J Y v Y u r YH (s Hhũ) (sP# 6~  9 `Lcv LvLvLvLv Lv v .t`sryx  g` @|N|8 uv P?@r r ]J (s _ _ 5J 1iBACL (s -w qKv8AwJBnArmAAsmBBLCAY[BZ\LWLXuLF02 5J (s -w H >B ` 8`Lv vL+h`LvLv LvɄEA@|N| , )8 uv VJP _ K_ _ n_ _ ``ɀ-) YBHAHCH ;JhChAhB` _ _`Sv@|N|Tv0Tv)@8`8 uv SvTv) YSv -w` `@CCCCC s HƏLY H ( qPA( vP3+'~ww ~(  u Y(` ^E xJɀ 5J Y`,F0!,Ə H -ILDUww `    r a a o r r nw nw fw rwwaw TLC'wLP`xi Hwi r E r Eh` 0@0`p P@P`p    _>%gFۂ0*A!A_Ayyyyyyyy yyyyyy8X8`p`/8W`p/@l0Lh(@Xp 4/// yyy y y yPF*ww ppplain textbolditalicsunderlineoutlinereverse@ !` ~` !?ŏ ezɆ ŏ  `ŏƦ ezɆ ŏ  ` r, z 6 B_p C`֏ՏN|8 iօio||-| Յ T`??????????????????? 0` 0``0 `0 @@*@         1Q}{wq1!z{{{{zz{{{{{{{{{{{{{z{{{{{{{{|{| (g @(eHwp  |ePrinter is inaccessible.Printing....0}i(}}pixelsconstrainedinchesMeasure units:X:Y:Distance:Measure units:X:Y:Xdistance:Q~noneԏɀˏ `ˏ r}{ `  I)@ ~PbHHHHӏҏ͏P ohhяЏ͏P ohhϏΏ͏P o r  H`HHHHӏҏ͏ hhϏΏ͏ hhяЏ͏LH ?hH oh 0}}LiFfFf F` H Uii}/DK} i  pSϏ͍ΏяЏӏVҏ͏` r  GT x }ƊX` ԏɀԏ }{L`ԏ`I    pS`}`HHH A M  Y AA MhhhƏ~ԏ @ Y ezL_s d WLY Y  ة /  Y PHHHHHHI5րIhhhhhh` p/q)7/qp, ii .- WLY`` W  fLY ?ZZ 3 W .-LgeoPaint V1.5 9с!} #GaA! ခɀy!aрaYYY   ŶUUUy YU]  ?>|    ||f͙f͙f͙f| } @@Both geoPaint and data file?must be on the same diskOin a one drive system.while swapping geoPaintNot enough free space on?disk to run desk accessories.Desk accessories can not be run?on write-protected disks.while running desk accessory.while updating file on disk.while recovering file from disk.while reading file from disk.Click OK to continue, Cancel to enter desktopInsufficient spaceFile not foundWrite protect errorNo device connectedI/O ErrorMissing or unformatted disk errorwhile saving scrap to disk.SelectApplicationU) .- ,b0 ,a0ʎ I,+ 9 3 8- P$ j   ҇ 3PH 3h~ L W6  ? H 0h8` B@FVLN B LN BLN BLN B++LN BLN B,88LNGEOPAINT456789 LLLLT L L L L@ L LLI "H@"A _ z`x AB C(`yx ) (`@|N| J u Y  }L cv`@|N| J s u Y  zL cv`e ( HGi ABCH A hH r i xJh i xJ r ezLC_8 & & &i e 8i`-|N|eL|o|` r   zxCBAX h8lqPlqmr #,[SH Fhi6 JUT = I1   ӊe Ц`pTLH Fhi/ JUTI1  ڊe Э`PH Fhi3 JUT I1 1  ֊e Щ` f))}} P8`8 ` N|y-|#o||֏N| iօi-|  `  z Ș)z ֏ ֏  Ц К  z Ș)z ֏ ֏  Ц К֏ ?֏ `)I 8 ` ɀ* ` 45678Vvvv"5y56y67y78yJ8n7n6n5n<n;n:n94ж9:;<`yyyy`8``666`8vvvv`IiIiIiIi` `#  HhHh` > >` J q  r Y ` `B D8 HHH ^E Hhhh ` r 0 1   ` $CA 23 $P010    P  010 0 P23    ,1`  HHHH hehehehe       ` i80J1n00e,1e-108J fe.e/23 '    '    ' '      `H 1032-,/.$ I( I P {h`cyy8`%$( !%$* !'&( !'&* !`'&% $*) ''&% $() '` H Uii i pS` r GT`"%(+.147:=@"%(+.147:=@ Drawing mode:yPattern:bb b normalblack onlywhite onlyinvertedq~L&&3ꀀ'ძꀀ~;<=>?y L L L_L LKL L$ L Lt0 Y` *`iii LN wv _` K0 p xJ`8ii ` rď ÏL  `)Lqx҅ GT x҅ pS`0LY } 9  ;ɑSȑSP O`` J1H0H W ,+ O i H ghP(20 X  gPÅ  W hh  KÅ` t   8L SHȱShLTS > `  * 8x ~)%(zy| {`zy |{    H 8h x > L4F0 > MxBA(CP yzL  > 8e1 ( Pӥ'U) O e0/ȥ'8 8 SȥSSȥS/. S0 {L8E0  L&L`LMA HS)@h LchH   SȥS h 8@LciSS iSShHH h Vh  LZL` ) 8`  m.m/ S S׭H S/.0 KS); >-/.8 O)  AP (P O h`/.`/.%HH ~ hh0 La {L8 ~ L8  `S}ȱS~` P8`   9 SS SSȱ VLZL8S S`SSȥS >    xLH S O0 ~ )S   ) 16 Z  x eS) h8` SȱSP, x > h`,S)LH-H,H 6 9h,h-`-H,H 6 9h,h-` SȱSH  1h` > 8eHH hh`S)> >0$ HH)  AP (hh`~} O0`)  P `) K`HHA 8eh!# " hL 8ei`A `SȱS)- '  eȥ ` 5SȱS :GS SȱS SSȱSSȱS `) P` S`C#xAB( 8``>OUUUUUUUUUUUUUUUUUUUUUUwpUUUUUUUUUUUUUUUUUUUUABCDEF LL L L L; L LMLLN88 DdL HHH r  3hhh r8 3` J q `  sP N r Y` _ r 8 3)B` _ r ^E  ?P 6 9)B`@ J 7 s u YBAC H` cv ` ~C}B |ALC~B}A| 6JBHAHCHAC q@ mCC mAAB hC hAhBLBAAiBi Ci H H r 9L@ J^ u Y8 s r @i  `   $`BACi` cv `x~C}B|AeC~B}A| ) DX PAB ACiX H  r8 3(`x ) r @IeiIe H hJUT) f f f f (` D   `  8 r !` J r 6 uB A C  @e  i~  `  /syrxy{xzs    { Y  ``x r $  L2L2 7 HH HH  r ' rI 'hh hh ȱȱeЇ c rX` AL rH _ K_h r`L r   eɾ`,b0a ͓͒  ͑͐ HH khh)` c`  I@$ 0} 3 }I1 " ͓͒`F $ 0`JJJ  I6$ 0}I 'J }1 J ` $ 0ȭ` & & &`JfJfF)y`  t;  t ͎K  $04$008P%͏K ;  $04$p08@P%0LN`$  %% % %8`` D 0~`L 0f HHH ^E HP  hhh r ^E  xJP ?P 6 `Lg r 6 ^E 9Pݩ 9 ,` H ,` A) X) m) ) `H  h`H  h` HH  hh `HH hh`  H h ` ^E `  ^E`HHH ^Ehhh`         ` /YLoryApplicationApplication DataFontPrinter DriverInput DriverAuxiliary DriverCard DriverClock DriverDataa System Boot File.TemporaryAuto-ExecuteDirectoryBADTXTBINADBAWPASPPASCMDBASVARRELSYSA maximum of 8 files maybe placed on the border.Not set as default.Error:driver is in border area.This file can't be printed fHIJKLMN LX LmLLL#L7LLLLLL- L LdL=(H ^E H ^E xJh` g ^E r EL b` e`vÅ g `xw hzy h8i`uC g `CHÕHÕHCH uÅ n hChÕhÕhC` O vC n `xw hzI-ÕÕz-C ÕÕzy hz=ÕÕzI=CÕÕ`xw hzI-CCz-Õ CCzy hz=CCzI=ÕCC`Cu g  O  Åu n `zy h8xw h8`0(jÕ)JÕi`Ii e8ÕÕ*Õ  ` BIJÕ` r ` g u uvuvP ` g uuv Y Lg ^E GAxw zyuv8{ |8}{|}` r 6 ^E 9 gLY  g ^E}ee m{m| ɗ  yx y xxwuvxwyxCɗ& r $ r !uzyL   rLg J g8m{m|ΘΗ8m}Δ g`8uiW8}mX8wxmrYmsZx8{[y|\[\e[[e\\ZZY` Y q` `J ^E 1I | v uPխ1x g 5J g BAC (` `] ]`])]`   H ` ^E  g` g ^E uvxwzy \  g`9 H ^Euxw  E t `uH ^Exw zy8yzP xwiw ix hu`uH ^Euv8vPuiu hu`t  6 `( D HHH ghhh g`-CBABAC 7`VH? GThPAhP4 J ^E xJ 5J ^E r xJ Y-& h? pS` Uii4 i?LpS . NH Q/  :G gh` m ƅ8ƅ隅 Å`Å =iȭ}ȩe`uvu uP `ÅHH hhew)    `e`{)1`` )L` *P`xw |{ `Å%=  Ԡ WP 7W g ;JP  r Q/ g  :G`  `Ú |{|{8 }}ĚĚ`ƅuxw`s J1H0H W  J VJ P,+ O ߅ i11 X g g ;JP g g ;JP d W hh  K`LYwhile pasting photoScrap.Scrap too big to fit.8 [ ȑeP! } ȑ e e8 С`   ȸPʊ`HH [e [hh `8 0ȱeP!)ePe8 0П`X#m Edit mode:^c ho v movecopyinvertrotatemirror xmirror yclearL 0  MMs`(~ ϙpk LV LOT{ putL> ɀ L L LM LR@|N| A nX  V LJ L L W rLZl W@M; M i ޠ WP A   Q`H /gh 7WL  e`  WM M  V q(PQRSTUV LLJJON FREDERICKSON M Icr`r I F  k ;H   ` ( ( Ԣ LY`  LY F  M M   Y "YY    LY+Pf LY` ce ((Z !  #Z$॥хɅх˅ą)΋ׅ…ых󔋐+եe審"$ে˅ׅÅѳ)ʟօɅօʟօ܅ÅхօʟÅЅххą܅ó)щʅʋ(,(S(P Z ( R(((-ׅ\[%*(e8ZouRW8ZouR8ZouR(e8ZouRW8ZouR8ZouR (8/h,u[SSZ̰ų`< : ( 7 [ [д-/u\[,,%eZ Z (),((,(9(4,(" [[ ! [[M[ا(&,ۧ(!, (ۧ m [ ( M([&9;%ׅ[<-ׅ S-U`Ʌe򅳶 (-3,%U-k{-%6%S P Zm<,u] D 4-RŅ-[(e(e(e 44-T(e(e(e 44-TME=5aŅ% [(e(e4-\ 5C(e(e4-\ 5CME=5a(eŅ% [(e(e4-\ 5C(e4-\ 5CME=5b(e (4(:( , 0 Z  Z/h3݅ m [ ( %(((+  ԥ ե [ ,U<,muP<,i<#-R >>>>>>S-5ZDõ2sࡅ֤Z-)%%5%'Y&%&e&+&Z+&Zk!x!jZ#ť[$$š.%ťY$$š$-%ťY.cZ"%TE.FeťY$i&eƕ/%ť!$Ŧi&eƕ.%ť!Cŧi-jeƕ-%ť%'Ŧi"ƕ'%!e!i"ƕ-%ť].&cib%E.eťZ$!Z'$'Z#$!Z!&$Z&d[&Y&]e&V%'YXYZ[\L L LM LR@|N| A nX  V LJ L L W rLZl W@M; M i ޠ WP A   Q`H /gh 7WL  e`  WM M  V q(K W   7WPP A M `L p/ .-YL` WMi M iM ) H H Vh h :11 X LWM ?  Q`H /ghm 7W` P 0K W  RH 5Jh`YL`` 8+ W M i" _ M  W` 7W`N WP M M VM``  WM  qK W   7WP驀PM`` M _ L  L L   WLY W 3` P  H`M *M ? W,H 0h K`H (s K hͩH (sh`  Π`C `Å˅ ` A]` rxL`  `Ex ~%XYLL W ,+ M M  V  M Ljv``bl}`}HH r co lQgeoPaint Copyright (c) 1988 Berkeley SoftworksQSingle computer license for: #H"H#" ih"h#hh`This filename already exists.?Please choose another.while renaming file.Please Select Option:new documentexisting documentto deskTopFile exists, choose another.Data file is beyond V1.1WARNING!This file is write protected.Filename:Insert new disk into disk drive.while opening file.while creating file.while switching disks.T ,0 p WA`, p0 6 H$>HNH^HnH~HHHHH:JIOIOIH,cID^I_,IaI8`I]B PB@`B PBA0`B PBAd`B PBAz`B PBA`B PBA` L   `phppp{$rJ,cHHB s 򩧅 H H h h hhL dC 3` dCT ?LB HCC Bh`   "EHJJJJ BCXC) BCYCC O LC i0i7`Error I: swp ` D C8Fee #,"  i #/"`H eh` c +.//+/`   10`Dc B`  EEDD DD"D`TDD BTD`  "E"EH w fdWLD E" E E.DD E EE B ک.-LYh` L"E"E 7 E2yx $ L f8` \C fdL E'+ + E B` [LE"E  $ Eut  , i8` V   L V   L V  Lɀ ȹ8` (FLk Fii`| IF|`| F VF|` Șe i ` F Ge e8` 0 FP`?_o/Ow7Wg'G{;[k+K s3Sc#C}=]m-M u5Ue%Ey9Yi)I q1Qa!A~>^n.Nv6Vf&Fz:Zj*J r2Rb"B|<\l,L t4Td$Dx8Xh(Hp0P` @Jȅ *ȱ)ȱ) **) ) ***) JJJJ) JJJ)JjjjJJ)JjjJ`   Ŕ, D de& `C `HHH hCI ChhPH ]H hL_HH ]HhL H ]HhL ]HL ]HL H ]HhL RHL RHL Insert a new disk into drive A.Select disk to save the Photo ScrapA: swapping Graphic GrabberSave failed. Chosen album is fullgeosapplsfilecopyalbumgraphicGraphic Grabber infonew formatshow namesquitto scrapto albumopencreaterenameOne of the graphics is unreadable. Photo ScrapA:There is not enough space on?disk to save this graphic.GraphicGrabber is unable to?save the graphic on this disk.photo albumNo album open.Photo album is beyond V2.1Convert old photo album file to V2.1.This V1.0 album has more than?60 items and cannot beOconverted.Insufficient disk space to convert albumFilename:opening fileWARNING!This file is write protected.disk not readableFile exists, choose another.Not ProDos diskPlease enter new name.Insert the disk containing ?Graphic Grabber Ointo drive A.Re-insert the disk: ?which contains the album: Ointo drive A.GRAPHICGRAB V1.0Graphic Grabber is unable to?save this album to disk.F0` M D jC@ׅ M*  /W` c/`(MOO1^P4_KOnMePM PTN PN 4P4O IPl8㵓YYồYY鱓8{K{{K{{K{UUpժUUq ǾժUUqժUUpժUpղWտ\6cի3U |fժ fU\x<ժ>?UUժUUժUW?ժqUpٌpռ8pW}p3լ6c_իUղU_ժUUqժp{UUqժ9UUqyժUUժ㟁A AA8!(;LH @] gP @]LP [] D^L[] v] _Lv] ] \ ]LOLPL] ] X\ ]LOLPL] ] \ ]LOLPL] ] ] ]LOLPL] ] ]L]{` H LzLP  RH S PLrP P`LH P P` H 0` 0 R8` P` Pȥ`` Peeeȥ` P` Pȱ` Pe` P P R :Q  ZX' :Q8 P怤 P` P  ZX' :Q8 P P`HHlh/@ khh`HHlh/ khh`HH@ khh`ɀ,HH khh8` R  ȸP` R` (ee` S 0S S T nU V`  6 T  9`  +Q 8 阍  !Q:8:` S S`i ! +QmiPii`WLT !Q...ɶ?8FeeP mmmPD: mmm` T  ? #W T ? cU` ` `  ` 6 7UL9ɀ UP U` !Q +Q :QPFFF T` :QPFFF 8Pof)HHHH !QhhhhP#88 P : Z` R C e88 eeiiJ iH Rh iJLi 6 U 9`` W, #H"H!H H#"Pm""#!  Xh h!h"h# CP8F e!eLi 6eii8 Pe L9"8 #!& eʥʩ.` X  XZȑeP& Y X; ȑ e e8 З`LX LXHeih`   ȸPʊ`HH [e Xhh `&O\R\ȱS\T\ȱU\V\ȱW\O\80O\8O\8Q\ YO\  Wk ZT\U\ ` 6 <.j}C B-x|Di| D 'Q\O\S\R\ uZ ZȘ8Q\`#H"H#C"H @H  ihHi͖ \hhh"h#`8Q\G\`x,F0d [(LN[ ZVC8G\mQ\O\O\H \hH \hXXT\U\(L̖V\W\(L(`[ `.h}EO\4G[ $ E${G[ E8`kvQ\BAO\8Q\!Q\ [P Q\ [x X,F`.\ }C: \ 6 <.9}CQ\ uZS\R\LZ:h }C. \ 6 <^h}CQ\i uZS\R\LZ8Q\!G\8i } C E`5AMYeq}zN89z8|8z P/+NzP! PƁ PPzLR`iŀ"zNi|z PNzPzLR`zNz P  Nz`zN|8z PNzP PƁ P` @,LE @K`LE @ezLE ]LE ]LE ] LE ]LE @1FLE 8`  R  2^ B R #WLV` K  "E@  ^7 .,+  P P ^ _` `C d jP/   ,+  Sj iL^ dL^8`Jx_w_z_y_1_0_}_1_0_ W_0 `@``` P5PـS!\Ynffl8 V1.1J - J j LD  J BP} OEt, ?V=U8 B 9C'c P P8 N b'c B 6 _P]I B 3`  x`3. iK ͅ DP `̩ /W E` \C d iP   h+ iL{` dL{`1u0t sP`, Xa,WaaW 3, ?% 0 N 3 WL D, W`X%TE妢%d%%0% %`%photo album V2.1  \C d iP  J i dLa iLa` gbLa,  /W1u0t s E`J i5 ) H Hb Bh h  kc ?`K C` K  KEE (c Mc R b`8 B8i Pc8鼅 N`H8 B Hh B`i`y=x< c$0 J ƅ PJ oD c` D8` c21` c21 `=< Y ` ?m<K DHG 3 ?8 B 0 bHPK B8 B 6 3hH ch``` iA`pp rq}z`  10`ss ut` 8e Y  =e[ 8` Y +])Y Z `` e e; ee  8e e ` ee`ŞĜ ĝ8` e    f`&&&ee`$f 4fL#f4f`   Y =e f Y =e f gP }f 0g` f  Y#LY`!Y`YY` f   g 8`fiY i ` .Qt fe  ` Y e  `Y Y8`YY` e P, H H Y  =e gh h =e! g   =e墑` Y ȹY8` ɠȩ0 )P`ȱ` hȱ` hȱ` hJJJJ` hȱ` hehe `+Ry<c he`e e h'  ee P8`YY8` h ȥ` h ȱ` F e`B y 򩧅   T iLp 6 czK N] J@6Ei"MiUi]iYL YL `}rqzLi10Li fdIHLB fd*JJ*KL:j Тi B` 6J"Mi6Eijj#j j B8`  J6Ei"Mi'j~L i 5 CLY loading application from disk.SelectApplicationGraphic Grabberby Steve Scholl and Shawna GuinnVersion 1.0, Copyright (c) 1988Berkeley SoftworksNot enough free space on?disk for desk accessory.Please Select Option:new documentexisting documentto deskTopData file is beyond V1.0On disk:running desk accessorycreating fileNewsroomPrintMasterPrint ShopDazzle DrawPM Art GalleryPM Drawing PadPlease select graphics format.grabberTP$$P '`ȱ H~ <; F{5 ~r ~ |% ] | ~ _ sr ]`10 H~ \[p { d]%~ȱ~ } s]8 ([ _h/` ]' {! ~ _$s0pŴ o s o ]`ȱ H~ "!%~ȱ~|}~XL XZYB]LD 3.-  .-  Y  & Y MLp  l < ZdFiEiLrPZYD` cppGraphic GrabberCopyright (c) 1988, Berkeley Softworks`ȥȥe` de de`TV>U }W~ 8A{7A 6A i1A`wpTPV U T f,T8WT D T  `T8uW mU mV DVUW0 -eP e  mWTeШmW`,+Lc ΅ wp f8| D ,+ c iH Ah i@`8p| i΅ i D΅|0 ,eP e  m|eЫm|`nonePlease reboot your system?using the same GEOS diskOthat was first used to run_Graphic Grabber.Cannot install Graphic Grabber on?this disk. Please refer toOinstallation directions in_the manual.Cannot install Graphic Grabber on a?write protected disk.Error installing Graphic GrabberGraphic Grabber installed.q2X|`LpL ̅)zL8qXŏ q|`ņŅŎōLXq qH h)q`!4JNR)VZ^bfjnrvChristmas TreeGiftSnowmanWreathMenorahDredilDinner TurkeyTurkeyCakeBellsWeddingBabyEasterBouquetRoseGraduateMortarboardKissPartyDancersHeartCupidPumpkinFrankensteinSkullKnife & ForkHamburgerTea PotCupIce CreamHot RodBiplaneBalloonTrainAirlinerSailboatUFODolphinHorsePuppyPenguinUnicornCatTeddy BearFrogDoveSnailDinosaurBirdMayan EagleGodzillaPianoGuitarInstrumentsNotesMasksClownBookPaint PaletteHammerScrewdriverToolsNut & BoltRobotPush PinDisketteComputerPrinterScroll & PenTelephoneOvertimeMittTennis ShoesBallet ShoesRunning ShoesBasketballSkierFootballCowboy BootGolf ClubFootball HelmetBand AidPointing HandPaw PrintDollarRibbonAmerican EagleFlagStop Sign?!LeavesTreeMoonSunIslandBeachMountainEarthHouseCity ScapeTVNewspaperTop HatLight BulbHourglassChess KnightDiceBombStarNo SmokingGray DotsVertical LinesZig ZagWavy LinesBinkiesPolka DotsSandy StripesSwampDiamondWorm PileCube Corners theOnlBirthday CakeHeartBellsGift BoxStork & BabyGraduatePumpkinMenorahXmas TreeWreathRoseCupidAppleIce Cream ConeCup & SaucerChampagneCandlestickLight BulbSunshineSpacescapePianoDrumTrumpetNotesTop HatSkull & BonesSailboatAntique CarTrainRocket ShipHouseMoney BagComputerFloppy DiskScalesRobotAlarm ClockQuestion MarkYin-YangPen & PaperDogCatTeddy BearTurtlePigBunnyPenguinPeace DoveButterflyTurkey[>HTݮVJ{USk5 @a° L2LȮ Ӆ=Sa`Ӆdm`HHHH 2 G hhhh`Ӆ=Sޑa`Ӆdޑm`HHHH hhhh` 3@z W@  J z o 0 K 9@` \  HH @ hhL I " I `Ȉ P`eL `0 k 0 ` '@ 0 P< *@        !@0 e撥P` dK ^_ ɿ( " -饎`e m 8` 8 hi JJJi 8i   e` 8厅ce8`8l -l X8鹍 霍 `LHa0 b0`8`^ȱ_ȱ`ȱ ȱ8`aȱbȱc`    `Hh``   ʸP`8` JJJ )8`0 P`  @  e`     + ` I  e` 3@$ @|  0@|ɀ) 9@ P ` @&|zȌ~ @z`$@"  H H H hPh h e  e|8` 1    |1 P`  `| ȹ |` )ȸP` @ }P}`}rs` @} r͕ s͖8`   @ Y" 8`   `}0 P`i0i0 @ o L@ } @Pz  } P  @L @L8` @&L@No GraphicsChoose a Newsroom graphicgDRIVE: A Couldn't read all graphic names.One of the graphics is unreadable.Re-insert the Newsroom Clip Art disk:?Volume 0 Side A Ointo drive A \ aM \  ɀ"Ɏ Ӝ{,## Z \ /f (s`. ~` d ]4~ii \~) cM [Π. ,f oLa. ~'~L Ld  > "}  0 P ZP` @ k P  @` } @Pz  q }  P P  @Ld  @Ld 8` @L@ @%[ R @O <@8` @ [8` @ }P }P @}P}`8 ?@ B@) E@ H@`} ` @} 8 P P8` $ Y  8` @ @ N@  @8`z c@ @ <@G  K@5  4< !@  9@` 3@ @|  0@|ɀ 9@ P ` @|zȌ~ @z`$@| Y @ N@ Y @ A Q@|8` H  MP`| W@ T@|` @z RO <@  K@ -  9@` 3@ 42| @zȌ~ @zP ` `@   2 Z@ 0@P Q ]@LY 2`   > z8`I  {i1O` {e e `uT<we e      (   P` < jeee ` z 3@     c@ 4< !@  ` { e`2$@No GraphicsChoose a Print Shop graphic DRIVE: A Couldn't read all graphic names.That graphics file is unreadable.One of the graphics is unreadable.swapping Graphic GrabberRe-insert the?Print Shop LibraryOdisk you last used into drive A. Re-insert the disk:?The Print Shop Ointo drive A. B q sb M L^ ^˹̹L0 $iAiAOF M̍ f ϩ/  n  _uty=_tsy<_s00ڊIi i/ȄȪ).ȑI)$<Ш0.ȩ+28-ȑE/8 i:Hȩh`ȩ`nk'>nk(  r pj`rp`rpIp`_  :]`pr`pr`qx`__ _ ]_ _` ERROR  a2:`ii:\a;`i`]aaa Wa `_<`ȸP`ta@``` P5PـS!\Ynffl8:`Text Scrap V1.1Text Scrap O a` P I_ O O LAbbbbaHHH Pυ / 6 9h O }]H OhH8aah EbHPaPCalculator V2.0@David DurranUse the Calculator for Use this four-function calculator for quick problem solving.LLYLAA A A,+  QA ` PQx ] T$`#`G`o$`S . wT`$`o `` P _ P,#`0 PP T P` __`_ PLi 6 W(n !RgW,n &RW$ bRY, RX$d [PX(d TX,d TW0d lRW0n +R X0x DR4X0 XR]X0 vR7LR8LR9LR$`LT4LR5LR6LRLR1LR2LR3LR$`LT.LR0LR$`LT$`LTELR_ʽ_E$`LT$` $`LT$`-LR__LR`_`_05H P Ph_ʽ_-ʽ_E___ 0_LP_ʩ-_ݩ3_070_LSE10 :H ShLR0H ShLR+ SLTQq SL[P- SLRcC SLT*  SLT SLTeE  SELR. H ShLR=  SLT/  SLTL``80 8;Ti _uty=_tsy<_s00ڊIi i/ȄȪ).ȑI)$<Ш0.ȩ+28-ȑE/8 i:Hȩh`ȩ`nk'>nk(  r pj`rp`rpIp`_  :]`pr`pr`qx`__ _ ]_ _` ERROR  a2:`ii:\a;`i`]aaa Wa `_<`ȸP`ta@``` P5PـS!\Ynffl8:`Text Scrap V1.1Text Scrap O a` P I_ O O LAbbbbaHHH Pυ / 6 9h O }]H OhH8aah EbHP_]Pnote pad V1.1Tony RequistRequist & HawleyJot notes here to jog your memory later.@Lk~FXAX_ LxQ,+  'R_8 NU[  LPF0NCɏGɛABAQ3BAi#8C鏅8AQBL5QLP`T ?"&TTTT  ϩTLPLxQR V QTT B 0LuQgU QUg H gULQLuQ V QTTT BεTT BRLQLlQ V Q 3U[N  L`gU PUg NLuQ` 6 <0T R <  6T oPMUE nV  S SS ` cP P (`QiiQii Q ,( Note Pad T ` jR  p4 Q ' *IެR8 i `e 8 Ъ`Eɱɺ 8鱮X#LsS FSLjSX^SRS X`ъll55SSSQSSSQPQPQ S SLH V QhH B hT BPhT QX` S 6TLPLQ` S Q` V 3 T/eUiiekTiUlT#T"T WT"  S`T ?LlQT B`UgȸP`T@``` P5PـS!\Ynffl8eUText Scrap V1.1Text ScrapV0T-! lQ`NotesNotes V1.0note pad V1.0gUT0TZ# ](΅ \ ) cM Y\ fT _PJr r 'ȱ ~ _h, ]$ sr x$s0L _ ] ` _` UТLMi i  LaM  ʳ T 0ճ"D +R.VLM   0%"D  F f 0SD"D  zD"D)TS '] 0[ \mV Z 8LV SHȱShL \ ] 8 ~-%%hVgVjV iV`hVgV jViVWX  \ u\H 8h x ']  DW`F0 '] 6]BACP gVhVL \ '] u\8e1 ( Pӥ'U) O e0/ȥ'8 8 SȥSSȥS/. S0 { 8`E0  L4XLZ` HS)@h LVhH \ Y YSȥS h 8@LViSS iSShHH h bZmVh  XLcYLY` ) 8`  m.m/ S S׭H S/.0 A\hS): ']*/. /.  ;[P /. Y`/.%HH ~ Yhh0 ZLV {L8mV ~ YLY  `SkVȱSlV` P8` \ Y 9 SS SSȱ bZmVLcYL8S S`SSȥS '] 0[ \ u\ xLYH S/.0 x[ [)S  \ [) '\6 T[ \ _\ u\eS) h8` SȱSP,mV _\ '] [h`,S)LH-H,H 6 9h,h-` SȱSH [ '\h` '] u\8eHH [hh`S)3 ']# HH ;[hh`lVkV/.0`)  [P `) A\`HHA 8eh h [` u\8ei`A `SȱS)- '  eȥ ` 5SȱS P S SȱS SSȱSSȱS `) P` S`C AB 8``1PhhHHPhhhhPhhhhP`%~ȱ~``H Y\hLv` ^^] ύ`E#x Ɏ 0L ~%XYL^^L񚪱UYPVPpuzzle V1.0Brian Chin Try to arrange the puzzle pieces in order.LYLXX X X;5 i/yxP* T+P 6 TLSF'E)MmQq` SL5T``0`p`0`0`0`0`0`0a````a```aaaa````a```?``a``````3`c`aa``````aaaaa``a`````aaaaaaa````a```` ````````aaa`aaa`````aaa```a````cgfcfcfcfcfcfcfo```acaaaaaag```cgfcfcfcccco```cgfcfcfccfcfcfo```cgfcfc fcfccfcfof```cgccccfcfcfo``juUVjuUVjuUVjuUVjuUVjuUV cDa Ai S DU` c:aE ;`E 6 S 9 6R X>@ 9 S ?M ];C`# L)L) JJ e V TP`VLbSF0- ^T E{ EL` U V T dT wT` SL ݥV``F _ E E V E E V`ɀi +UnP8 +UQPɠ#i +U4iiP8 +U88P`HVV DUhVLDUVtVV  i  iFLT _F OBA8 C8F  e`0 ʽVOP 轥V7P0ʽVP轥VP``RGx  Y E_ E_ E_gEfE iE hEhh hh`HH HH H HgEfE YiE hE E  iE hEgEfEh h hh hh`LA_` c!$w $w` F F FLgG LF ~F F__ P __FfFfFJd_JJJe_d_.__ __ȸP`____.__.__.________R_`____`` 6 <}"`__ 6}X_Y_!Z_\_[_]__m\_\_]__mY_Y_Z_.[_\_.]_X_Y_[_Z_]_ \_ 9 6__  9` wG G G G H`@_ `_)_JJJ_`__ _H_eʸP`_ G_ m_ee G`_ȸP_H`@ _iW__  ! B}  @ `,F03 _,B'AZ_\_CX_Y_ HI`,^_0=}__~`_}~X_WY_X[_ZZ_Y]_\\_[ ^_`__}`_~WXZY\/[ ^_B AC  A8Z_d_ FfFfFf _N _C8X_d_  _ _N _n _ rD`B AC  ` Iԅ V ( _ oZՅ i o) ` 6 <` I JLWJ c !$$  $$` c!% $!!$ 0 {{ yy ww`T &SȅL  gL JJ` 6%g"  9gv@ 9` Bf _  օ4 " 'r *Iެ _8, i`,e 8Ъ`_f K e܅8Ff"e  z_{_ {_|__z i`H eh` D \O LL___ N8` \ # P\ Y S WD` $ _J``__ VOb  8c_d_m___m__`  L` K Ui88 _ R K`\ Y SLWD  M H -Oh ZMLRb   RQ )L -O= ZMLR B T8 ____ N VOd   M WDLK ZM U _LR`@[ ,\ t  \ X\ \ Y S`MMbc, Y Mde Y Mê` 3] ,+ l >OX Y `] NNNNNNN 31H0H ZCNN W )L)N  Md   MhhH  -Oh`@``` P5PـS!\Ynffl8 V1.1_f ? _LB   11` _LB1O1O`O V  P ZMP` O`8`%p ]  G .], G5>] Az_O_ z O Vz_`photo album%p J jP7z_2 )_ z i\ Y P] ^ SP P`%p  c}] N] JsRPIb _ z z_ V` P_z "Q_ f i! R_f ? ~U _ B`8`fL_xQzwQQw _z ? 0 3`  3_LzCf_ȸPf_ f_P` _0 B`8`8__m___m__`X%TE妢%d%%0% %`%photo album V2.1y_x_ Uz__ z V V Uz_ FU R`%p [ * "EsRHHJ hh` $ Z څ S^_f ?P<[ S3 3 LR_f ?8 B 0f FUH 3h` Wo VZ _ R`%p Z[AWW #X W`{_z_ 6 JVbnz of Not enough space on disk toEconvert the album.This V1.0 album has more thanE60 items and will not beUconverted.Photo album is beyond V2.1Converting an earlierEphoto album file to V2.1.Graphic name:searchrenamegraphicdeleteEnter the new picture name:A photo album cannot holdEmore than 60 items.Insufficient disk space to createEa photo scrap.Error accessing the disk.Insufficient disk space toEpaste the photo scrap.This photo album cannot readElater versions of the photoUscrap.No photo scrap found.Photo ScrapPlease Select Option:new photo albumexisting photo albumto deskTopFile exists, choose another.Filename:fileeditcutcopypasteclosequitEmpty photo album.photo manager`E#x Ɏ 0L ~%XYL^^LH ^h`H ^h` d]HH /@|hh s]`H ,h`~ɂɁL] 5d ` \  =d s\rddf T!^^ ! T U T!^ S Q`%p 2Z * "EPHHH hh` $ Y A Q^^ ?P<Y t Q3 3 ~P^ ?8 B 0dӅ SH 3h` Uօ U4Y ^ Q`%p Z ZAUU V U`"^!^ 6 JVbnz of Not enough space on disk toEconvert the album.This V1.0 album has more thanE60 items and will not beUconverted.Text album is beyond V2.1Converting an earlierEtext album file to V2.1.Text name:searchrenametextdeleteEnter the new text name:A text album cannot holdEmore than 60 items.Insufficient disk space to createEa text scrap.Error accessing the disk.Insufficient disk space toEpaste the text scrap.This text album cannot readElater versions of the textUscrap.No text scrap found.Text ScrapPlease Select Option:new text albumexisting text albumto deskTopFile exists, choose another.Filename:fileeditcutcopypasteclosequitEmpty text album.text managerre than 60 items.Insufficient disk space to createEa photo scrap.Error accessing the disk.Insufficient disk space toEpaste the photo scrap.This photo album cannot readElater versions of the photoUscrap.No photo scrap found.Photo ScrapPlease Select Option:new photo albumexisting photo albumto deskTopFile exists, choose another.Filename:fileeditcutcopypasteclosequitEmpty photo album.photo manager2Lԙ ~%XYL]^LH ^h`H ^h` a]HH /@|hh p]`H ,h`~ɂɁL] 9N+3 ^ t tP d,R R 0 O O ^ 9N HaL^ ^ ] f-N( _" ^p _ t $t _`H  d hi`hO`IL^M A (R ^ LWM _ /_ K_ B_` ~ g Hg `` e _Lo c(( ` cP ` V d _ dL ` 6 <'s  $X o: Z ` JfX o( `eC ZJf;X o( `eP ZL.a. 5L $  8 `  \  ɀɎ Z 'fD De [Ǣ` 6 <:! dLY d OLa ?S` (R a  d d O a` d@ O a` P K_ O O LAbbbbaHHH Pυ / 6 9h O ]H OhH8aah GbH Qha)@H Qm ȩ  hbF Qa )P`H  <2@   ТȊh`<=bа=3 b<=Vb<=yb $qPi u` O̩s MXc EY M/ 9N NL@ ^ tP K_ _P  cLB_ ^  _ t Hg `L^ O O  O )P L^ ]r . ˥r 4f Bd%r8 ) 8 M 8- c" ^ x t [E,HP  sh s` PL r`sR M =d \ M\ c>5d ` \  =d p\rddf 9M ] Z``̢ d ͠ ``prp ,  @T dd` 0@ ` Ĵ d ꥴ d `  dLKdd`HH 7e ( .ȑȑȘe ȩhh`Lȹ ceei(`0/ 88`80` | e[ [  ` Z c` [,+ `0-1. /` a] M\ \  p]! & %) l[`` \ ` \ ` [f  `z΅ ͅ  e[ [zzz` [ [Ciɀ Ɏ V\LW \x l(" \ V\L~ ,f ] \ ]V` L2%)#! "J KH I ED,` L AB`P`` ^ M a] Z \ 'f  p]` dq) L#g ~p & & &z 'h. p'ȥ [z΢`10z ] 'f&zȥǑȄzȑ ԤzȘJ g`    w` a] h8+ h% h ' )i p]` V\ h8 h h ' i`   `  [`Ji  ` / a] Z ]  p] ] 'f ȥǭ ` Z ] /f` j j hj j -C!!!"ȥJi a] g p] \ /f-"! $f\[ ,f K[K Z \ 'hI pL@ ji  ji |(! Z \ _h j j K[ }V$ ]` ^ Z $flh'# p@ k漢 [ɾ8 [Xƭ[\ \ a]  p] ]Pݠ]]U]AAAA@@deskTop V2.1Brian Chin V2.1Brian ChinUse the deskTop to manage and manipulate your disks & files.op to manage and manipulate your fi  !"#$%&'()*+,-./R t ^U pt&- .- PA AA.  @  )O/ -. M @/LKaLd^L] c/` HŴ9 f- r( d V 1[ O@ aP Vaɀhi а 5D ^L^`{ `tmAA@Lk~FXAXC8 8AB L $ $\i i `(E)ɹɱLB:1 1wwLSŰL`BB`8L"HB0BL ̯ŋܛ_Olge<O@ն+c VBTBBBR8`i O  O ,P L ]׊8鱅 ] )DLs ]LW ]LWH +RhL[SLRCC EYL9 1 = 5 x] ]F)F (`xmAAmBB CX`xmCCmDD CX`B ܍`x`C])]DCCBA(`])]LB0 BAAB/BAABD0 DCCDDCCD` ` !NfNx >] e LE s )E0c)E Y! H H8E=E, )ȩ i i  .E3E h h !YrD --- LkDrDb-a0rDL^D ]L ̬ ^ MK EF`yK :[ƅŅ l- MK HHx Un(hhĸP *GH dK PAh`> ɀɎN M  $fR@ ? . )0 L$fLF Y 'f(zYY Fz` $f YY \ 'f`օׅ؅ cL lF kL F`xՅڥׅօ Mפ,  (`xم؅څXH۩Xեم؅ MX٥  Dڥ5 \ 'f0(٥إڸPؐhX(`hX(8`XH۩X J H8 H/ SL) $ $ i h U G!wHpHtp ~ g {pthphw] VP IJ LA H9 SL3- E 0 LL8G J V G` ]hX`ąÅL$Մ݄߈ܢe ɀɎ,U )3g f  M_ՙXu t  M>g f U )0+ M# [YՈ k`U )0 ,KA IA=߭U )0+,`ߤYY%Ťܩՙ`x+d M\ [! H,@޹!!% M!!,©(`դ, չ III ޠ` GIIJJIIU )0 Y /fhh` MN M ` M@ ? ` M? @ `hY H Mfܤ,`ܹYY2 Mo܈YY,΢ YYG ,f6U )0 @ ? P ݹYYY9YYY` .L_h& U . ԅӅ. . . ). čT ÍS `YY%`Kq`` 6 9 ? lKcopying in progress...`Q Q 0` L L K iAû d]4L MP s] ] `\0Q ^ `\La [ LcM d] L s]` P\ \L & %)z o[(z` Ż  ! 0D"DͤΥϤХ̆ LKˢȠ̢  ` iAL M`  0"D΅ͅˍ L L3 Ĵ K t , ^P L M `\0` Ż  ! 0D"DHH$ɍ H h hh MMH ,hL] ^ $-L^$0&L^qMsMMȩ`ՙ M )` - M )`)h  `S `,S S `+  ` H i  aMhPN H  N fNN M thLMONN N `  & 6 F "D N iANF NGH NNh NN`JJJJ) 0:i`I:23 Drive A block $0206 (hex)%3__+u(KN/_'_0ON̩T 2 ` OU OY Q U x iO :L[>HTݮV vOi`H 7R Q9 Y QhH PQeii ,\ Y !#/"h` i`8`H  h`H =Ph IPH PQ 9hH lPh` O Q ȑ ʊLA^vLXrH PQ Eh P E` Y Y `HSP 6h`  IPH PhH P 9h`  `H 7R PQeh Q Y Q ,\ ZJ8!  !  Q# " # "e !#/"L"8 #!!& eʥʩ.!"#$` Q  &ȱ ȱ  H & 8 Qȱ eh`ee ` `H iY ih` Y `HH s O Q    ThH vOhH s ,PhhкʊLA^$q"P tLsRR kR!R"R#`TTaxHSSwG/a///////s /SXX 7SFX 7SF00 /SP<H BShH +Rh C[' [ e Ld^  ]p 2_ E_` PQLEx X` PQ E{LE +R SH Shepwwpp Hg `Ld^Lo8 ]3p.H +R Z QhLsS ?ZA8Ji{C`H Z { p)  ' *Iޥee 8Ʃ Qh`$qP,$q= ^ #g2 t rVS M ] ͅT HYLd^ rL^~ r ,P s` ^s ] ԀL Lr  g) UV M`ɀɎc U `V]ȱ $fҭ~  U пs4 UV= MHHx l(hhИ  А U Z# ](΅ \ ) cM Y\ fT _PJr r 'ȱ ~ _h, ]$ sr x$s0L _ ] ` _` UТLMi i  LaM  ʳ T 0ճ"D +R.VLM   0%"D  F f 0SD"D  zD"D) VP  VP V !` V *` V \ 'fz!! VڤzLV V $f/Y Y  H *hLVȱ`$qP$q rL$V r t s ] rs [ɃWNLM ] ssnLM e@L}q  0"DWv B{W QW QW QLQJ{US-|Wk5 @a° R BSCɄ>ͅ@h UXPżŻ X 7SF`8 Xky Xi'HiH'e8 r hhkuLX X)3 X8'HH8'ƌƋi 0 hh)3`i  ̅LE)44)iA ̅L\ 6 ̅L97 ipLopYqY r櫪0 ʊH ] r G^ d]r s]hL^  ,hPhL^ ! Y !!`) ~*! ` ZP ZF f 8 !  ! Li z ze ` ` 6` _Za` _Z(`hdhedȱdȱdȱdȱdȱd L 6 <)`Li+,`N M ` ȱ `/.`10``ȅDž` j j`1ĭ0`  ` ``~``҅ х `10` jj j j` L  L L~ɭ` [ɜ`~`1,0+`i'`i`i)`~` i` [L[ `` ! `` ``` `!` ! `` ``ȅ`-.` I ```!`Y`` ` I `Y`` ܅ ` ` ` ̅ ` ` !` Y` `~ii`hh H HPhhh h Phh1H0HHH`hhh0h1PhhHHPhhhhPhhhhP`%~ȱ~``H Y\hLv` ^^] ύ`E#x Ɏ 0L ~%XYL^^LH ^h`H ^h` d]HH /@|hh s]`H ,h`~ɂɁL] 5d ` \  =d s\rddf \P mJ m` m7 [ѠɀɎ_ d] `V s]a d] m<H lh s]1 m m) d]  s] d] Z s]`z` G\L/f G\L'f' ee`} | V5%-ȱ&  d]H} h s] [ [}}г` Z d] o#pHtp hpԅӅt t s] >\ ĥ ` m` d] KL s]& m! [ߠ o n` d]HHHHtH :o *Ghthhhh s]`<- d]HHHHtH :o Unhthhhh s]` Po zo   t` \i i ) cM хӥ ҅` KL %ȱ ` SL ąÅ ` ]W o ] a o`Ld^ o ] a`LoLd^ ~i8 Q8LY 6 <)y` {L] dT  d |'  %0 ȱ18 [ [ ` d |} }  } P [}}Lp$q> r ] P rsnLM dp Y p p d`Ld^H&Y \hLLqɀ Ɏ eɁLٓɂɊLnqɃ L{qL @q`prLM t ] Ld^phh 2_LE_HXHLa Mii  aMq d ȱ $f ]10 ~ g pHp vhp S] s g` >]ąÅ e.~ii aM [ aM ig1i ~h g ȖP] x M ]G W Y T p  s  [ f1 xT &ҩѩԩhh  ` e ` S]T `    ' 0KD"D ~ g | ~`΅xy~ ] i /]_^x i ~F [ [ H Mh   ] Ң Е`  l " - 9 "D] |}} y`} ` [ `   &z d  ɀɎ Z $f}  D } ~`@ $$P '`ȱ H~ <; F{5 ~r ~ |% ] | ~ _ sr ]`10 H~ \[p { d]%~ȱ~ } s]8 ([ _h/` ]' {! ~ _$s0pŴ o s o ]`ȱ H~ "!%~ȱ~ F{ { s ]`ȱ ~ >]pH10p r,wH ghw { d] } s] ([ _h` ]hp S] r`r  ~ >]10 rwH ghw ~ | ] S] r | ~`p . . .i \ [ 'h)! pp *i [` h \ \ 'hBY p \ *i-ڥH~H~ d] } s]h~hL|`'ȱL_h'ȥL_h &}D= C}-+͓͒! \ _h |` h \ \ 'h!` h8  \͕͔# \ 'h >]01 p S]`%0~ȭ1~~;~ȱ~ $f# d] } s] `   ` Hg ````~ii 5\ LaMs d] >] ee 1~ x IE s\  Y p s ~  \ fs x ]H h s]` S] s]`͢~ M `  \ 0"DH  Q ȑ8ɀɎhH 4P hH eP xiihH O h`H^] ^]h]LQspLQsie ȑȑȩȩs`H Q Ƚ 8 Ƚ h`!.!.////VVVV&2 ,8H P  h` , h``HHh)uh`8Hh)uh`#" Q#/"` 6 Q@W@b\@tc@޴@h@ )dp6zw - }$=M]m} aJiϕݙd%י 7d޸` o2_nPA}o } \Ϲbݹ9=ҩ aKKʸLʫ L WT L 1 $ 렌* ` \L  \%  Ɏ 0 o ` Lph d$ rJ Vd , d r KV~z>  HJJJJi0Bh)i0DVLM N ? D( 884 DR 5T 2B1DLM D ? 804 I] e> % s\ \ aM \  ] eA ( s\ \ aM \ Z  ] e< # s\ \ aM \ Z # ] e6 % s\ \ aM \  ] eF ꍈC ( s\ \ aM \ Z ˑ ]%~0ȱ~1 Z S]м ]r O /] җШr ]P Q L] M `  ;  0ȵ }0 "D ] [ HH Mhh [ ]#  d[( y [ `  LaM   0 "D]~ii ȱ $f7]^ Q 5Z)) /f('ȱ ~L_h `` $q t ^q)  #gSHHqH sh)qhhpt Mע HY M( t ]stpps 2_ $s o rLd^ ] ԀL ?gt Zje ] ΅Щͅϩҩѩԩӭ ˅ [ >] ]pt ^E ] e ] o 2_ ` _ o`  t$q M d HY ɀ"Ɏ Ӝ{,## Z \ /f (s`. ~` d ]4~ii \~) cM [Π. ,f oLa. ~'~ȱ~ ~ ([L_h .  ~` rs "z \ Ӝ Z 'f#$ / Y ,\0 YՅ>H Yhi  .ɀ"Ɏ8逨#@ > Z@ > Ă > >ɀɎ)JJJJ8Hh Z >ɀ Ɏn Z > x >r , ,\ aM i T ?L ) T Eۅ Z f{ Ӝ > ɀɎ` Ӝ 1LZ{L1ą`8 ۅ```}EL,F0 Ԁ T ܭL ) )}L LE࿿ )5ͅ~L ]`r , L  M +R8I \؅ MxIs \ y dL [HHpH hp ]4p Y\ ' r" ] p pp o 2_ _LoLd^wH ~ g {hw`I /` /`  +R M Ʌ \ Mʭĭ H ~hQ  x ] s\ M10 ns MP ]LS ] eLd^ V |ȱ   [ [=̩`   0 "D]  0ڻ"DnH hCHvv9 nnȅ Hg ` +Rn ZhvLohv`Ld^ 0 +R e >] e2} ] e`hh \ [ \Lnq S]Ld^ 0 +R e >] e2 ] e`hh \ [ ٓP S]Ld^ L /  O O ^L^ d P\ $f ^])z z` LEa ; +R ^ dg #gb gB ؖPq d \  ' MRM O O ^  Ld^ I e r _ a 1aL^ P\ $f"^ Q 5Z])]`  ʷ 0 "D]  +R M ˅̭% B q sb M L^ ^˹̹L0 $iAiAOF M̍ f ϩ/  n  b0/  l\Verification CompleteXL^ d] 1[O o s]ii?HH6 i ]@Lo `  +R M d M g ؖ ^ #gI pp Ka [  r7 |\ \ 'f,̅ j \ /f x L^Ld^  0 0 D"D  +R ) $ L} ˭  sb M`   O ,Pˍ (  _ pp N_ `a ^ z  BADTXTBINADBAWPASPPASCMDBASVARRELSYSA maximum of 8 files maybe placed on the border.Not set as default.Error:driver is in border area.This file can't be printed from theOnly 1 file may be selectedfor this operation.This will copy all files on sourcedisk to a folder on destination diskThis file can't be opened from thedeskTop.Please insert a disk withThe fileis write protected and can't be deleted.Duplicate:Rename:There is a in the current folder already.Select source and destination drives for copy:source destSelect drive for format:non-ProDOS diskPlease insert DESTINATION diskPlease insert SOURCE diskPut disk to format in drive AWarning! This operation will erasea large-capacity disk device.in drive Aand enter a name for it:Replace the contents ofwith the contents ofFile:The operation requested may not beperformed ona GEOS Boot disk.a Master disk.this file.a file from another disk.a file from another folder.a border file.The folderis not empty. Delete all files in it?Delete all selected files?filesPlease enter new filename:Create Folder:Go To Folder:Please enter folder name:Please enter pathname to go to:There is a file in the destination folder already.OK to overwrite?File/folder with same name exists.Delete it first.Make sure disk to boot is inCannot boot from Drive 2.Please enter new disk name:SelectNo Printer No InterfaceInputDeviceClockAuxiliaryFolderSelect destination for copy:geosapplsfilefolderviewoptionsGEOS infodeskTop infoQselect printerselect interfaceselect clockselect aux drvselect input6IcreateUgoto/browse\deleteXduplicateHprintPby iconGby nameNby dateYby sizeSby typeTapplsdesk accsdeskaccessoryopenZopenOcloseJrenameMrenameKcopyLverifyVeraseEformatFRESET6RBOOTCannot format this kind of drive.ProDOS is not available.GEOLOAD.SYSTEM must be the firstProDOS .SYSTEM file on this disk in orderto launch this application.The current path is too long forProDOS to recognize.Warning! This will deleteall files on volume /Verify volume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug FultsJim Defrisco Tony RequistApple Version . created by:Robert Bowdidge Andrew Wilson Brian Chin Dan KaufmanCopyright (c) 1988 Berkeley SoftworksGEOS deskTop designed by:DESK TOPGEOLOAD.SYSTEMSlot 1LļŻ [0YhHHi'i  'e  hh a'e Я`)Hȑ)hȑȱ!)߅  !) ` ` &!L e  0`8` S  S L~`ȱJ J @JjJJJJ ȱJjJJJJ #  #  ! `ɀɎ``&`PRODOSDRIVE ADRIVE BDRIVE CDRIVE DWrite Protectdisk:type:class:structure:size:modified:author:SEQUENTIALVLIR}AA@g@WD UTILITY V1.0Andrew WilsonUse this to create common work disks and to install GEOS on large-capacity disk devices. Lٓɂ23456789:;<=>?@ABCDE'L$ALmJ@iYK@iY'YA[ZHXHHHLG@F@'mJ@J@K@K@J@H@I@ {PuG@F@ Y ]\I@[H@J@iK@iɊ('mJ@J@K@K@J@ҩK@J@J@YHK@hYHhL@LAxآ ; MLL@#A["AZLY.- pwxB J) LB^^\օ  s0LYĭéDE`p ,+ mm _8  m LY C CLZA B MDLWF 6L9p B! p] `yx Y ǩ\Y ЮkjRn T RDL B` 1Z  i#,+  Z  i` J J) LZA C CJۍ^ [#AZ"A!A A L@LY  C諒) \ `) ^ -`]3  ^ P C MD`p  IZ vL TLRD)` Y C$ D^) ^  MD8`ЍDD )  Z` ` , ,YLbl`HR G D\  MDh`hLBHR G D] h`٨D`D D `+(/',RRRGQQQRRRRRRw x wx D #E FE`HH  ^r^ hh`HH 3Ehh`j LQF E j   j)q (q`HhLi E QF)` - E KF)`)h  ` Y QF` Y KF` jD``,bQ$0MH c lCancelling after this file...h` EL ELusnv Fs  ȱ OGssvL c lChoose desired work disk configuration: F]υ Go`tHGtu 6 9 9G ? )Gti i tv` `  `)2 ȱ s(_=LiLBF0,HG 9Gt i i ttv`tuLF J aH MDL[F .L!gx L(T RDPߤx^`  MDL[F Iж J K 2O P^$0ezz{zzک] 6 <( J L[FLBwy\k yw MDxy\ yx` H IH`F0+xIt iitt`tyLHtIty 6 9 9G ? )Gtiit`[c .I`iAY) i1Y)JJJJi0YBEYDGFC) P0 P H T h FfIY i oY i`bqx rJ  T5 RD`g `Y i<T5 RDPY TU RDP , +,+`j   jDD j `ɀ#x j   j ` J^̅ L[F 6 </` K8z{ ȱ @  e  P8Jj\\ L[F-: K K KPɂ K K KP`u iinzȱ{ezz{`zzzžezz{P8``zȱz. iɄ ZD ii ɧ-xeezz{`] mgU ; U h x0U ]  g^K  MD0g+x ]r  MDg``L[FxB L(L0 L`FGEYD CLTLxB L(% M )Oi[i\ c? N8YZi[i\ \[  M N ` N^ ] O{'| }`JJJJ YY )O ]Y N   F jF jF j ) 8j )O ; )O *i YȊ8PjY )O ` NNYA `QT X&ӠˠӠϠԠYY`wx u*v` Y`z|Ƀ #Px  10   iKTu vD 5K Ь,b0?w  P_Hh O `]  MD``} | ^w) ~ `H #H"H#" cW i ih"h#h` c`Disk Makerwork disksGEOS on a large-capacitydevice such as a hard diskto deskTopOnto which drive would you like to writethe work disk files? This drive will becalled the DESTINATION drive.From which drive would you like to readthe work disk files? This drive will becalled the SOURCE drive.Insufficient space errorFiletype mismatch errorFile not found errorDisk write protect errorNo device connected errorI/O ErrorMissing or unformatted disk errorClick OK to continue, Next to skip this fileClick OK to try again, Next to skip this fileor Cancel to cancel creationClick OK to continue, Cancel to cancel creationClick Next to skip or Cancel to cancel creationWork disk creation cancelled.Work disk creation complete.Would you like to create another?Unable to install on any connecteddisk device.while formatting disk.while reading WD.data file.while opening DESTINATION disk.while creating a SYSTEM folder.while copying a file.while installing GEOS.SYSTEM.Please insert a disk with WD.data(Such as Disk 3,Side 1 or the 3.5'' boot disk)into any drive.Would you like to format theDESTINATION disk?Put disk to format in the DESTINATION driveand enter a name for it:Enter a name for the DESTINATION disk:Warning! This will erase alldata on volumePlease insert the DESTINATION diskin the drive.Please insert a GEOS boot disk.Please insert the disk /containing the fileinto the SOURCE drive.Would you like to create a ProDOS-executableversion of the GEOS kernal on a large-capacitydevice such as a hard disk? This allows youto boot GEOS from this device.A file named:already exists on the DESTINATION disk.Please insert the DESTINATION diskPlease insert the SOURCE diskNow copying: A work disk is a collection of GEOS applications, desk accessories, fonts,and data files needed for a given task. This disk maker will automaticallycopy typical files from source disks (such as the GEOS master disks) to adestination work disk. You can also create work disks manually by copyingthe desired files using the GEOS deskTop.Installing GEOS on a large-capacity device(such as a hard disk, 3.5 inch disk, or RAMdisk) creates a ProDOS SYSTEM file namedGEOS.SYSTEM that can be run from ProDOSto boot GEOS.Select drives to read from:SourceDestDrive A: K - Slot 7, Drive 1SYSTEMWD.dataBOOTThis configuration contains the following files: FontCongratulations!  You have finished installing GEOS and are readyto begin exploring this new environment.You will now enter the GEOS deskTop, the center point of the GEOSsystem. The GEOS deskTop allows you to organize and view yourfiles, folders, and disks, as well as run other GEOS applications bypointing and clicking.If you are unfamiliar with the GEOS deskTop and the programsincluded in this package, we strongly suggest you read the materialin the Getting Started section of your manual.SelectApplicationWD DATA FILE V1.0pH _Q  Q 0Qy"y  S 0S"E D\ ZOK7pH P  Q 0AQy"yA P XP X0P X:P XKP A  &j]   E"E @S   EEb]"E 3R =R~h uV V 0V @VE#EEZ]e:Dmf7Df=D  U 0U 0E"E T T 0TE"E  S 0SE"E W q  -W @:SEb]"EGeJe(Jf8lG  U 0)UE"E  rS 0SE"Ep ,V   GV 0]V CuR MRUb]U"U  0 "E @Te  U 0UE"E  VW 0 "E  {W 0 "E  V"E  VE"Ep X  *Y 0VY @Y PY"U"U  W W 0@X @X PX6Y9 JZ  Z 0Z @Z P8[ `}[ p[ [ \-)6CP]jw߁  +F\ ;M\ Jg"gw E,+ 5 i#  i  ł` e$0mH c--3Hold down the Option () key while copying to cancel creation.¢hXHX c a6 a- D' ! $Fi EihX` `( u !Q bK DB a: D4. bd Ɔ0 DLG` c ! `` lEhX`LiBiɀɎ(2i)1DiCi wEbi[RiQi wECDiCi2i)00 wE( Y k`2i)0 AdĒA bA=2i)0+,`拹YY%ŤĒܩi`x0e wE] l a,<搹lmĒ! wElmĒ,Ʃ(`, i bibb ޠ`Nbbccbb2i)0 Y KFhh` Eyixi` Ekiji` Ekiji`hY a Ea,`摹YYĒ- EjYY,ӢĒ YYG E62i)0 kijiP 挹YYY9YꥣYY` EYi' E`& 2iYiYiYiYi)Yii~i`拹YY%Ē`iiɀɎyixi ESkijiYi)0 LELd Y QF(qYY dqĒ` E&rYYj  QFrĒ`   D  g" /` eee k`Ex ~%XYLeeL p    ǀp07ٶ`ٶ`߶`6`ٶ`7>31|x1f1f1f33f>fx9`9`=f=f`7<`7`3<`3f`1f8Æ ÆnjÆ͙ǼÆÆÆ͙Æ o???8?(gzB\LzBAboutPiracy V1.0Chris HawleyA word on piracy.aboutA word about copy protection and software piracy. LYLAA A A;5 i/yHIJKL IɅ NLR  CIɅ LRN  L`DIލIIIC- `5C"E@C II'z y CII`E  PY `CC !D`]  D UDG ޥ H UD,h8 A 8mCCCP`C0 C8`CCCɅPC`CH @ PHA e hh` - '  eȥ ` For your benefit, this new Apple productivity product is not copy protected.We have removed copy protection to let you fully enjoy this easy, graphically-based environment. Not only will you be up and running GEOS in a very short time, but making archival backups is easier than ever.All related GEOS productivity applications, existing and new, are integrated and let you enjoy unrestricted movement within the environment without the burden of copy protection.However, we recognize that software piracy becomes an even greater problem now that it's easier to duplicate a program. We at Berkeley Softworks ask your help in eliminating software piracy.Any attempt to illegally copy and distribute this software hurts us all. Financially, it limits our ability to continue developing and suppporting innovative software which, ultimately, robs you of exciting new products.Show GEOS to your friends, and share the freedom GEOS brings to Apple II computers. But, please, make sure they purchase their own copy for full enjoyment and learning. GEOS and our other Apple products are priced to be affordable, and we strive to keep it that way for all our users.Thank you for your help in limiting illegal software duplication. Enjoy the world of GEOS!LKˢ̢   ݐ {;\H<ٜ9~Aݡш@?@GEOSPELL V1.1Steve Scholl Use geoSpell to correct your spelling in geoWrite documents.n Sn;5 i/yx Oemqx*lPQRSTUVWXYZ[\]^_`abcd)LhLjgeosfiledictapplsgeoSpell infodesk accessory0desk accessory1desk accessory2desk accessory3desk accessory4desk accessory5desk accessory6desk accessory7application 0application 1application 2application 3application 4application 5application 6application 7closequitswitch Options Dictionary GeoDictionaryswapping geoSpell @@J@@:J @@YJ@@xJi@wM)@M9@MI@MY@Mi@My@M@M@M$@M@M@M@M@M@M AMAM+K})AN/A&Nd4AsB[G7D}G 7DGJ{DG]PBG oBGpB]LD N AB B h MP I N` MLAB  Nw N B ww N {DLRLMw児wL6DpLD N B B 9N N KW B`oPLD N B pC GPA JC xN KW B N N N lN R TILS` MLN X XICICIC D XP`wnCmCwoCmCL DnCmCoC IjnCmCwqoC Ge݅ XA=P D)ݩwqwq ewqoC I``W XWRwwR XW LW T  T [D`8` Ď`8`JLD N lD BkY lY KY NLlD MPi ;ee LELLwwww@ww5DFDxDVDߍDLFEwwww5wvw@DFDeDNDDLFEP8LY NEE8 F 9E̅ҥ˅ѩH DhLEƚ̅ҥ˅ѥ 9Ew| F D D̥҅х˥ͩ| F D D Dw} N$ (wwD \w| N FLRE` F`F0` F8`EE -FEE`EE -FEE` 3FLE7i ww e `$E`||ʽhh`||hhh` F` @WȄ}e}iehi8 8}hŘ8}`h|he`8`οΏw`8Džȅ憭w8内0Pee8_x M8`ʅɅee8 eԅԥeՅեeewmwwmwwwȅDžw w` HSIRILHHSIRILH````He f   f   ee eeeehee QILH`L BB LnI lSFind lfAdd ldxDoLI 6 8t   21`E[xZx "P O~ȑ~[xZxHȱH恥 cPhhi`~`…}|e||} 0Y X`8……敥 VŅń`Hȩ~~iih ` S@ P QL!S 6 < 6 B B ԅ USA;F iLP l'Accept WordYx gQ l7Accept AllYx gQ lGReplace WordYx gQ lWReplace AllYx gQ B^j` 6|Yx}|} e}e} Ņ 9e}e} DžL? 6 <( 6 B( B) R4 $ *LTRׅ ' US LFfw8  i Lօ'A IPMPWe8 ReƔСօi ƖLhR`8 ii * e L' 6 <( 6 B( 'LUS ' 'ƚ 'L' 6 </`LfN `N MN wwww {Dw T rNLB {D ~N` T 0`` P`Ņ ```|ȱ}~ȱ`8}} }i}|8|~|| }e`}`H Th B>x_ h LMwLMեԩwTxSx eh h`8`Sx eh hwLM` U` T``AZ`8`az`8`#xU ULUw UU'#*w|wwwΐwUPϥơƠPULU \Vww`U#xP#x`Uȥ UUP⮚U|wUU`8`| TLDV|'LJVeL>VeL>VeL>V LPVLVV L>V L>VU`U`U`U`U`wʽw'ΐwP wʽwsSPʽw'ΐwΐw`A Z8Aia`ȱee` V敥Ňņ `8`ѐ%#8eхѐҥѐ` 2Wi 3Z VҥѠ`8`P`ȸP`Yx gQօYx gQ`|E)E| T8E`E`WWwRW GeݍW|}~~~LOX~8|}Ff|e}e X X XwRW SH0}|~/}Ł|ŀ#LiX}|~LyX}|檩`}|` X͊W0ɩ`8~LWe|e}LW`ȱ```` ee`}|ƁƀƁƀe惥z `8慥z㥂`8|}Ff`L,N gLMſ̅ҥ˅ N̥҅х` \ \ Z Y YPkY 3Z 3Z Q[昸P񥈍]x^x `\^x]x [ [ ą̥Å˩`ą̥Å˩`υ̥΅˸PŹ ź`8``©ͅ` ©` uŚ`8` Z` Y Y`H 4hh B ¥Pͅ¥ hw M Z8P Z Y` Vii Leu 2[ S0 Ŗ昸Pۥ8`ƙ`8 uuuee` /T FT e扥ee Vʼnň`8`ȱĥeÅåeąĩ``Å`ee8P F\EąÅ敠[ [ńŞPŞʥ SP`[\x 8`8eÅÐĥ` \ t\`ϥ`HH [ąϥÅhh` V `ϥ8``axax`॑x Geݍ\xx` ] dLb]H ]h ]Lb] ] ^Lb] ] -cLb] ] bLb] ] bLb]wwwÅ wwwwwwwwww`wwwÅ  ww`HwwL]^ _^hwHwww |a L awewewwthH www8w86h <`wwwwwmwww _wwww `Ph _ `P $ah cww/w. {`h`mwiiiw8w w`wL_wHmwi8w8w www _Lk_w> _97wewwiwwh O`w8ww _ww `P\h b`w:w8wwwww `Pw8wwwwwww `P `Ph dww $aw/w. {`w w8w8``w w8www` <`ww *`wwmwwww0` <`wmwwwww *`wwmwwww0` ww` <`` ,`w8www` ,`wmwww` O`w!w 6`w0wP魿wmwww` O`wmwwww8w!w 6`w0wP㭿wmwww`wwwwL` aw w8 wLawwwwwwweweL\awwwwww \aw w8 wLawmwi |a a i a`wȱw`wȭw`ww&HH awmwwi 9hh` 68i`HHHHHH a 9hhhhhh`wLbwwww8wwwZXw b`w%w8wwwwwwmwwwwwHwHwww _hwhw `Pw dw/w. {`wwpw8wMw8www0.w _wHwHwww `hwhw `Pw cww/w. {`w`wHwHwHwwwwwmwwwmwww cw8AwB wȸP߭wJw8wwwȌw chwhwhwPhhhw/w.L{ww w8w `w`w8w`8`,c c,c` ,`wmwww`w Lwewwewwwww dwwwwwww `w/w.w0800 xL{w8wwwwwww e`wwwww8wwwww`,c d,c` ,`w8www` ޱ d`ޱ`8`'8 `'i ` dޥȩ` dј U dјޥ`8` ]e e`HH' T 曠' TݸPhh` V書P` d ޸P`x f   e (`   iff؆fPS:8)0 ) f`'PPia8`0 e`88   LȀ  $(,048w>w`  TnLMl  Tn 3nLY 7n``X Lk I h h (h gw, T Bx_8_x N KwLMSx ehLSWrite ImageInsert new disk into drive.File exists, choose another.Data file is beyond V2.1On disk:WARNING!File is write protected.opening filecreating fileChoose file to spell check:H Sx eh  n`  k 7nh i i@  mv,+  H x  h Рp XKPq }K`X  k`  k g P TIAr  KW LwwwLS upLK p  p 0pGeoSpell by Steve SchollVersion 1.1, Copyright 1988Berkeley SoftworksNot enough free space on?disk for desk accessory.running desk accessoryH h8H Tn 3n mv,+ h i i@ _q }K Y` loading application.x U. qȍwǍwōwLq q r Br &r k#x0 k(` k(`w兘rw Geݍrwr` q r`re擥ɢm8``X`8`r re` [rr sr s s`Ũŧ@ see8壅夅&& `}|~~~ŧŨLs~8|}Ff|e}e s t t srr SC0|}~*Ł"Ls}|~Lse|e}`}|`r0˩`8~L se|e}L s *&mee`H sh` sȑ`H sh` s` s` sȱ`<*kYx_ t s\x t tHH rYhh椥Ũŧ3Phh t% u u\x u au Du X kPkY`tdit T d L` u 4u`t XK8`Suspect buffer overflow㥴⥎eɁ'8```8` e`8_~x7e~~e~ȑ``` *&&'ee` mv@ ) ,+ c8iH Ah iA mv@ ,+ c8vh@  H Ah iA`nonep Pq `v`vvv`bvlv mv,+ 4xx 4 w K  7nx 4 L-n  +7w ;+w JError Loading ApplicationSelect* ` h8  \͕͔# \ 'h >]01 p S]`%0~ȭ1~~;~ȱ~ $f# d] } s] `   nop;LUjJON FREDERICKSONOoQoPoJNHHHl hhh j7j 3 c/&Ar Lj j ekLfN cffgeoSpellCopyright (c) 1988 Berkeley SoftworkskSingle-computer license for: j7 i`dk 0ldkk l lLY t1v0udk9 p /" qw0rx1sy.-P/qw-rx.sy`Please Insert GeoDictionary Disk.`jik1hIialim%iiFFdIjI yFFQigq FQ ;e(dIj I1}EhBiIjI1kq Q cb%a"euychk,kK,ib˖IjhiIiiIi~dqRI6hijpkikIh ibc>Iikj% I6Iikj%I~Ii j!k`0aIijK0k0j`}aIjjcWI%BnJ9mI%I hiiilkjFki hkik ihkikjhiI%sI{%0cbih%~euychK,iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiq*II : IIIiV I  I Giq,II : iq : IXGXI GihvihbuybuIbuYbu)pbu9chK ɀ"yz{|}~ L"kAdd WordNew WordMust CapitalizePlease select the variations you wish added to the dictionary Add Root Add Words Added dW1Hi iSh \`i iSL\'i iSL ]i iSL]`])]]i\i_i^i3`iaicibim֍ j Ri n o oMiLiSiLoQimɍ p kNivPigOiMiLiSiLo#H"H Ili ih"h#Qi0  مP  aQiQiQi`QiQiPQi#H"H Ilh"h#Qi0  مP La~T#"Qi~Qi*em""#8~i~Pͩ  ie`> D _u (r k>LDRiSiKii i,L>  D nNiRiRi l> LD>؅ D nNi oMiLiSi o>؅LDd DLm>h D (rcibi  I P TI KW Lwww] @]LSF0 nLo mi iS ]`*7 LwLiwhL oPiOiMimLiSi8 ]eݭMiiimLiiL eLiSin XKL3mWord is too long to add.NiA q8i8Aee  E`UyT څL n Go "o n )nLoNivPigOigvMiNi| qP`|~B~A|i|Ae~~Pݩa~~C ~i ~|P`i iSL\ oi iSMi ]ƖP`hi L pjw iuDž Luj i 6 <8yUUT څ 'zT څ '|Uz~ ~ *Ae~~|tӅ t 6 <~T B~T B~T~U م USj iL:q S 6 <zT BzT B{TU م US B*7`Nivg gqMieNiNi`MiHH q ihh`~TNi~NiAe8~i~P۩  i^e`NiNiNivPigOiPOiPiMimOiOiPiOiPiPiOiMi`RiLr ht` !sLri,jKi Ge Fs̅˅Kiei8 KijΖjΖjݍjj̅˅Ki t sKieKie漩PKie澩 Kt rLliW,WKiW W XWW WP`i,Ki lY\x\x rYP` Os bs` V`8` si},|Ki~ 2W g Buw8w N K`j}|…~~~~|ŀ0P ȱ~|ŀ`8`^x]x V扥ŇņmKiȱiP`^x]x8…`8~…~Ɉ BY`8…8咅哅($ $  t XK8``Disk too full to add.G>lG>3mG$>mG->xm lGAdd lGRoot l.GUndo lvGDone`> D _u> D` l (r> DLmSii Si 6D M8``Q D _u# (ri h SiLiLkQLDG>#uGQuGdjm lGOnly lG-- Add ONLY root word lZVars lZ-- Add ROOT and VARIATIONS lmDone lm-- Return to main screen`ableallyationdederesestibleiciesingitylymentnessstion I ^Lj ũݢLM   0("DD   R 0 "D]  +R  L} iA M` )pJJ iH ILx0- nm Pލ T_Q ଂ! r  / XXZ,`  0D"D  / ߫-.L@`&U  } P\  LUjLnLrLArLrLrLjsLs 4h j jj6~ OTj Jk Zk uk zm Lm Mn n` -j,ji`-j͍,ji` j~Lk V8内~凅~ e~~eLj~ ~~P~~`~8……敥1j0j VŁŀ`6j2j6j3j` V80j4j1j5jN5jn4j` k k l 2W B 0`-j,j5j4j&e曠ȥȭ2jȭ3j` sl8  Il5j 4j   ` Il  ` ȱ 8  ȥ `-j,jȱ e ȱ 1j0jȱ V8内凅 e e8 `-j,je e8-j/j,j.jm.j.j m/j/jm.j.jm/j/j.j/j.jL/j.jP/j.j` m5j4j&8ȱ n8` V1j0j8L…e (n1j0j`8ȱ` 2Wiu nPj}6|Tj~ guu| ~|~ Ae~~~iuwiw`8 2[~懥}|Lg Buw8w N K`w児w lY %o Ro o o V Dp`wW升WwW W XWW WP`̅˅e8 Lo8P `^x]x VŇņ (nP`^x]x V8…P ȱȱ ȑ`j6~ O~j}6| 2W g n` f p ee,q -q.q/qkp&.kp&     `H hP0h)8iPh'``8ai`" "` @0$(x "pl# @"h """""""""""""""""@"""""""""""""""rr͍rrrLerr rrrrLer sr r rr ree rr lprr8rrr B NwLM K`eȱe ` gLTI hLTISx eh hwLM Ghww`r r r Ks8eP` PP` hYishsŬū: X X\x X X rY Xhsishs s檸P g`ishs o L lYour document contained ܅ۅ ot i lThanks for using geoSpell. l(press mouse to continue)tt tF0tt`x X` words. printerselect interfaceselect clockselect aux drvselect input6IcreateUgoto/browse\deleteXduplicateHprintPby iconGby nameNby dateYby sizeSby typeTapplsdesk accsdeskaccessoryopenZopenOcloseJrenameMrenameKcopyLverifyVerase9 L?jLTkLlLmLdmLmLmLmLoLvnL}nLonLnLs g`  x_ k_x`xPHi iee x_ kx_ j kP` %k@ ,kmCnC @WoCoC8e(j X CjP` %k ,k JCP``W擥WWWeLWxa8ٍRklڍSk8Rk(RkSkSk k l gx_څم8_x_x`xeم٥eڅکȑ@ k`Ŭū7 X X$8_xSkRk nP 6l檸P` Yl I  @W8e` X X X ee`Ŭū7 X X$8_xSkRk nP Yl檸P` Xni1l lPage # has become too big. Please see manual.L7n` Xni14m lPage # is too big to read in. Please see manual.L7n`qmw }KL7non geoWrite File.w mw }KL7nm XKL7non Regular Dictionary.GeoDictionary Not Found.mw }KL7non Personal Dictionary. Xnwi0n l?Disk Error # on geoSpell Application.L7n`HHwLSww 6 <'`nLXKnLXKnLXKnLXKNo personal dictionary.Can't search for that word.Can't add that word to the dict.The Replace All buffer is full.!o K LoLow` p  G p, G5qABo GJ&qJoo?39aaa311 YL :p(w i 7q XKP q`Vq }KLo2p p2p K |qws{w ,p K w1y0xw`Lo 6Jp pp K |qw zp w1y0xw``J 򩩅 w i e pLp 6 cdq U] Jw``Please Select Option:new personal dictexisting personal dictno personal dictFile exists, choose another.creating filedict name:On disk:wDžׅuiui` q qL;raa qͫ}х`u@vAȥ eȩ` K r`wЩw/s.ss. Lrw ?Lr 0 0 Buc NLr~ h 3 K` $  r XKw8``No room on disk for personal dict.Personal Dictionary for GeoSpellwpLC SCSCSCSCK C@KCKCLpPersDict V2.1XxWxv `sލ`&Uxs ;tsVx Wtsst`s!ds ߅  uls>H BhiP8s`H t tWxmUxXxiG oWxmVxXxiG~ o` Wv=` Wv/=`sQ u tsu  iWxmUxXxi uiA r`x E uX`l u Wts`s0Q u tsu iWxmVxXxi uiA~ r` uL#u ?v8WxXx uUxVxVx` ?v8WxXx uVxUxUx`͸ss`85v:vȸP}5v0 0` d'iI A vD&<&.&(eeei ȸP$08``80 `8` N v (vv!v"Esvtv,uCheck Page RangeFrom Page)To Page LwKww )`Ex ~%XYLKwLwL 9 X`hpxU FLLLLLLLLLLLLLLLLLLLLxBA ABA(`xBA/AB(`xC͋C(`xCC(`xB8GEOMERGE"<  8GEOLASER!7)) :LW_Barrows!+  6LW_Cal'  8LW_Greek)  7LW_Roma3& 2 =GeoDictionaryRac Q )CONFIGUREM,RL ,SYSTEM MERGEy 9x9 5Mouse >ImageWriter II  A٩|…u5A 4A m@10` BD;A>A٩|҅u5A$4A m@1 0 `-A #B-A MBvy !A -C Pץ  v 5C EMLm@`> D @ A) D sb {[ ^ MM D  ^ @L@ D @L@CLB DLYp @  u,BATBJA mAY / .-L ` Ś ś׬ 8``|… VD AL@|҅ BDY AMDyx D vL5C $ ?`ˠv C```ץ P׊LEMDžׅ||` D ,+ || C -C | LA`B`CCC `bClC  +,| ;3| JL HC] ICh`QC -C`   "E CLCC ] LC C]C -C`   E"Eυ΅|& V{ | ` C -C`  E"EHJJJJ D{) D{{ ICh` i0i7` D DLgD؍ D DLgD׍ D DLgD DD HHHHHH DD hhhhhh ` 6L9 c/`   2` .D r $  `hdheHPhdheheHdH` QEPEE .`Ex ~%XYLPEQELwHH 'G H F) ww J H Fhh` H QG HE}D}s$0 HDyxrv LV R/pq L LE LLE Fhh* Fhh L( FwLVE Fhh8HD}8xxE}yy G G Jw) w)X}h(` ww`tsuLJ LH I LhB} I L)HɄh) @X}w) X}wX} I L I L ILL L I Lz I Lr I L Ixipiqw )w` LsturvzX})w` )Jeō) eJ䌐  L +H P  e`HHzw)  L I PzPhh`vrvrw) rrJerrvev`    `8`X})9G})F}`G})E}F}D} G}0F}`F}8G})HHHHHHHH H Lhhh H!. 8ĩeehhhhhLJ I` L I L I L I L JP֠` H L M`e` L 8` H L l /H h eiƈ,0eeE}D}E}D}8`HH +Hhh8`w) W}V}`C}B}`H Őŏ  LJ L Kt}l} wP Lv ~ ~nH|~}~ "K K\}d}t}l}hHHHH ~ ~./ ) )hhhh w 8h` L}}}}ĕ`+!k}}{}s}}}eeɘ ~KPѩjPk}}{}s}}}t}l}|}}`}ٔ}}ٌ}P昪LK]ʽ}}}u}m}t}l}H kh]}\}e}d}}}}}}}|}}l}m}}}}t}u}Pƕ`\}őd}ŒP8``8m i i z0 +eP e  eeЭe`}ő}Œp8``qp`qp`` A`|`|` Y``ũ`qp`ۅڅ`e`ee` ` NH !h` i` ` ` kU j5 D# O( P Q M`  $QL5CL^ ` ONL4N`. M` .2 M` P M`  $QL5C ONH M`  VDh71űź%P春ű B OLM` 8QHP' NHP JPOs H Jh` ^ ^> D8 B L8郅 6M ^ ^P NH Nh`ؠvLCuL5C L W`N` J&`WoXZY\[BAhC VOOg LX}w`WnoHw7  wN O -C`?p w  7w"*.PP  ȠO 5C`No printer card driver is selected.?Use 'select card' on theOdeskTop to choose a printer card.No printer driver is selected.?Use 'select printer' on theOdeskTop to choose a printer.reading printer driver.Can't find printer driver named:` F2 0P8JP & & &` D` &&&`PQ`|||OPvOl. V0= Q S &U Q`? S8墅壅 S0 S> Q` R  8%z ȩ日w= oR`L _w BLnR VDX8HH ]hh8`ŗŖ H R R R IPܠ=u"ȸP tS}ȸPe8``Bu"ȸP tS}ȸPe8``Gu"ȸP tS.}ȸPe8``ɄG05ȥw= z Hȥȥȩe` `^ 8  Pe e e e 8 `Ʉ` VO nT~}X} RE Mre橥8墅壅!(~}X} JP(ŗŖ T`ȱȱ M W`8X8 [#8ȥȥȭ8}B `>X8ee ȩ`x}?|}G|}` :V V V8 } 8   V: ]V V ]VA P ]VM ]V8X`eie}. V82`iVuV ]VP ]V``LT]cimrw~uuuuuuuuuuuu V, ]V L]ViliLV8VVȸP}V0 0 ]Vĩ` d'ŗŖLW Xii=ȱȱ M W WŭŬ 'X MLW PY M ` ƶe步|{~}w JŧŦYL` ) wX}`|{~}w RE8娅婅8xeri`@x Xw XLX#" $M F8岅峅 HI $Mee(HH YhhLSX`erH ZehH 7[ Zh`@ cx/P`$wP F Jyxw)Ffee`Hzyx h` xHH thhFeHH thh e`HHH )"w) rJ8 r8eP )Jeve hhh` VDHH HHxYY   L L L L y xhh hh ZZvZՅL]HH HH H H Ly x  AP L  y xh h hh hh`X`zB} C}Jf Jf Jf D} E} iJf Jf Jf 8  Je e`  8 8z`$p 8r8e8r`8`υ΅ [% :@ ^ A ^ [ [ ȅƢH bh`Щw C`ɩt C`©<Ʃ`˩ʩͩL$\ȅϩ˩ʩͩ \ȥ(˩ʩͩ \ҩdѩԩӢPDȐ!̐L\ ] ]$ȢPL\ ޠw ^C` yL^C*x ^C \`ȠyPyL^C ] P`˅ʅ8ʅ˅ ˅ťʅxeąĐ`ſ ] 2] `򥿅 }]Hh#*5 }]  `` (` ]`eP e` ]H¥ ^h` ]H ^h` ^X L H` đȥőʥ }] 1 )'! ` x ^CU PĪ.*HqxEy ^Ch$ ŸPŊL ^` BD|҅ ^LB .D LL^ VD|… ?` 3`ɥ c7 \1+ c# ^ `j J c [ ]Pˢ`Lb_ bG H<:5 g/ e/֩ȅ aȸP Dh h IP` bL!` H<L`ȱ<L` g eL!`ϥۥڠ h\a_ h qx hCh`>ȱ> ȸP "`H Q`hAH `h7 h>ȱ> Dh hP Mma_ aLb_ ILb_`ƅȄ0 L b P(`ԅťӅĥƅƥ< y hCPL әԙ  `ȸPȘeąөeŅԥ Ƞy 5C``H0: )A0[8h`h` )aH҅ťхĥ љҙ?ȸPȘeąѩeŅҥ y 5C``? L btŅĠ "t:tt ? t~a -C u?`  * <"EE L bŅą a ;b SȸPe8``<A< h/8 ! h>P Dh`eeŗŖ` ĪȱņĸPuũ#`Ȅũ b ^b8  ` P`bЍbbύb c  document:b|…Lvjb`bbabbeb c`(a 'emerge file:|҅Lj c cDocuments printed:υ΅TLo c coutput file: LLj c|{` ^ .D) c| AMcc e VD`| L PccLVcc|٩d #Bd .D d dT  v 5C EMLc|P4 c| AM Nu 5CLc1 0 `| | dLDžׅ||`p 6 cu z] JE"BA eG| ) IM& Wc L ^H 0h8 K ^= Ze`LNH ^hw B)/ R& ^ ^ Lw B 6M ^ ^wiɀ` VD  2MHe .Dh`ۥک? i LIg ri LIg gLg h h ` LIgLIg h  hLIgH "`h!LIgH Q`hLBg `hLBg h  hLIg h"LIg hȐLIg"e g5 eP$> e( g ePLIgȸP h >LIg hݥ iLIgũ b?Ġ  iP j M8` M` g.& h!ݥ i݅܅8` M`<Lg h hh LgȸP`8`!(` ! tSP(` Hchdhz } Ch h` h h tS* L chdh.ȸP*Lh Hhh wCh h`zzzzz{+{E{{[z{Y{t{{zzzzz{*{D{{z{X{s{{" b> L LP8`` b   `=`ee`IF ENDIFELSEޅ߅㥗HH b4 H g/ ri M iP! IPhh`hh M`h aߥ h8`` b H i IP`h a h8``%߅ޅ8 S8  M LS߅ޅ8  S M8܅ ݅ LS  OLM#ύ"Lj#'"Lj#{" i#/"` n -C`j`& 1k n Wn$= n Wn.= Mk *l 4l֭թk `!p   ll=H BhiP8`LkHH 6 <>Gh 6 <>G!.h 6 <>GLk 6 <>Gq~`LkLk쨢ХLk=H  / Lk=Hp   k`H 6 <`ih 6 <`i `ڭB |l leiVޅ oeiVv o` n WnL` n Wn.L`F l |ll ei L V LPޅ r n`x E lX`l Om 4l`0F l lm Iei L V LPv r n` omLl m8坅垅 mű` m8坅垅 mŰ`ź`|I A mD&<&.&(eeei ȸP$08``80 `8`'p u -,v /Iv (@]vOn Wn %_n %gn8on8wnI Ikjn Mkn knlnln ln *l  )` QEPEn `Ex ~%XYLHPEQE h YL`ŗŖ Ko n M`YL L. I   Pީ  )ͤ  M ` `HH L I H>$0 H L i)PiPhh LP` Lhh` o` D @o`  E`ŗŖ= q REHHHuts J X iq ;phhh J \q M`YL20 PeH ph o HI`H oh 沥P 2)8&&&ii pP e橤  L@o o  P`<ȱȱ M W8 p8 `r LpHX})(z$yx  h`D q VD xr D r&LrLA /ׅح0 1- . ` @L@ cgeoMergeCopyright (c) 1988 Berkeley Softworks` ee` P} D/.-  f)8> z ,+ c "LP8H ]rhH shiŎLJH >!> >1=0<,+  iY  L h ~s s,>=< >)>`})? }}H Y ~Y ~h`|~}~./  ~ ~`Error installing geoMergeCannot install geoMerge on?this disk. Please refer toLinstallation directions inYthe manual.geoMerge installed.Cannot install geoMerge on a?write protected disk.Enter data to substitute for

6+PyZ^oKعAx!VjܶI=#{r/hnRBBkA˄L@\!;2й"Itn0Z#}u(NF@R]kPu+XLfMq u&) ,eD9xQ0pDH !(UiB $Sda$j )ZמsAIff`vKOL JhCv&emPex5s!rED1*\V*s=mAyY1V•”CS’cU:^@0k_gфΐ1R#"7ڃwC(P-v䝄_]:"PeW34JTI~K HiC}h م(VR!n/*Xibleydfiedicqvy $|pH']Y^$," B}dfh!&tP=#s2zz Ha0_L`#74ajcϫ0A"LP@0 X4 py{`+R4OLD_0MD ^k+šPmt0!C}Ry U s$q4F@cao_a[aۤ E`!FDiv` j K8t9 v@'0X@@gE{Cʆ}0QAP(I0Xw&@(:(WtG)W@'0z)kl TX<@ І.D> }f{rHL0UE 3c RqY^$I1T2q*o=6ܘIѪ&P%0V+ZɆ>sBV*nV<7 Z^o$Z3\M=#L=@QD T[%'(J0rx}/ &0j2i)F@9 (CT$3M׈_FXa0I+\BҬ0j*j$Pc;X_T0CH(eLVI9ᵐZa@Xl-] 9Dlyc3ǭyhy e;ܭ#܋KZ>ꇳ r \rd k*R8}[[7RUbj`p(#L4A"`5EXo JUVTFGbm UeVuD@0U@ \6$CT%rGhN UTLDca@+sU, Us7ۚ9DEC-sE4IGehyX@k 8LjFO>pYP%a i`%JN)_PnBV Qsingyingoliteic nderable srtancet ly tionedings unatee itysedsingtionsibleturetencetundeding mentsverish ed racticable lecise gnability lete d s ingsarioseds iblengon able ist sveintedingssoned ingobablemptuperly rietyved ment ss identng sation aleds ingudentudentgnlsesivenityreitytationedsing abilitiesy ccessible uraciesyte lytiin(9C ܙ, TxӣPcU|C&^n4Iy%AZ3͹Q0k_i XAPtx @@]M֡9 N}mm$Qx@U8UShDV*& BJp`s m_ZU +ER'b Ua͈xUijaM]&jx26Dyt(`QiѨ6}\{J1/0XfStfpRnBHHLj0HݘR2%)Zkr4Rv$f=mj*JV<(HC UD[apڹᰁPCDPgag[-0U T_o 1pبMCY= Uui|w mʄgkaY &* 3=P7@va \@nQj1b5}c*Ta0铈$!/"[7&J.۝vt+ :aL59*JGp`sI_@E5r}ɒo lVXɝ u s@ D+,AcDhh#8"`5!ϬdN Tkq 6K_abFD)zNj"7m/ '0CџW&@ܽ#sbnY""ڡIZnNPNAf ky J @ `::+Pm)1фW=Cs,35x}dT;&GF(a = YϤhØH%:{rrBQ pD0Ѩ6}\{/V<,6KےTaZ0k0\caȋxonB>yHk;#_PLwP@[`֌3mW}Չ Ux+Wj6n暑PimHg 0LEW9ϫBsХy ؂Z}Y6*]w -ф quia05Cz{L{rh z exL"8T$j jHj >cP U@*++20BB5ϫ1vMsF#LbTfR }Ɉ_FXdB'BQeR{sTV ѤΎ, } RaϨj[Q m_gJ¾edxlamed ingk)cϦW$ ͈{/}/w%1I,-YuCj<2^`Օ5f}lfDT3EcxӣPD=zx @a%V=ag*P4a&  PXv=AhC`+* @  TX50ڄR ’ \Y'bD-'2q209Qj/r]m#}^)JVC{A{,i_Z7-{LL@ U@`EGXa0y]iHCȋLՙR=JtqOSL-CalʺaHcR= %08NZЖj eуUs۴g{;ro5  Z&\ ycZ 9IL.Hja*&&sH@T0'e TIy% ϦdjDL'DkE;Ial4o-/$RuJPϨ!v>{M$Wݯ$ĦnnE`%'>TƵpx0hK%'P$ű\ &_EuP{M$dt`֌$NaqR?n ƘK_PY.$8-Rא v \rdw9 K\`Z308L5r}ɒo/ Vبl.;s IT2psy#`ڧ ,3Q@`ڍNAS[jbZ^o8yM;iӟQ{i8C&PA}D[QϨj+@&j7џ_#֠BΌ9$@W&B'l Uh(9mGB/Zm=Ѧ3P۩LʀϤc$0hHGDPJR04Iy% WՕ$Ɉbܙ{I4 o`&IʅdT@) W&Q`$@wZ3F@[ hϢa)*Dj{e*B#cZd}T H9 69^B! 6R2##Y_|݂ۀc(?OO])AdE90k_y—*Ba*%tab T lq7j(Mkb oWV*)L TSr PVGlXQ*t*4M蘶D!h@nem9Pɉ ol TC QiѨ6}GnͽJV $2FV!F:|$'H 10!M{=֣l 6aM>„iKDractabledepartmentalmural nsigent tive officestate venousepid ZisZEacH} Q 9st#@)m$`>>Mj6VB"J/',.e#"~a=L .Mj XkPG Aԟs3L0LjNc!/ )]!K(ۇ}q=L\nB$ 8閔̂ aHf2LMcZE&8l@"R&A=qcy/blkQ0=@ јP15(-D5̾nHm m.#>AJt4/;E !z6. Z4=HN$\6ܚ9dqA9uJd8-OM!ʬ'c"L}@Kۓ<\5:bn^SP6VS=m1[BI8֠Co$0ԝEqkP耈E3sH}0/"f7 s  %(\؇fFQ0=@.D954 4![KH+hD[@D kPG*D`Z>X䫐!]tn0Z"yS 5$AIk"FZfkr!;_P).C+:h\i.kPu$& ƤdݕS+iQz`2@C\kM/BGL.+F&Ij!}EO4+yD@ ܟv!GLidYFD1YCح hϣ6vC>`#Z5X{0>`ֆ܀ i68z6` s ńMWm"B%v3ޛnD6 Ta$Pt{I.ƵSD&>HnBMWq"䤹 i8SBma!;)%O}Yc Is}P£r9hBW W3 TXQ 4vqkPQD+_aҒ ed[RD[B-)Q+u"}H>DHLM İ4Ɣ9dZ×0QT!C)Ciڐ6T@;] BZ"X7nD$SR(^ѭAԐ. F:h^B-!(]e08V5߇:o `b%6})Tq(L$;RnEͻK|@M ;ƟyRex{MР^A Nbv70(VЈaD!LiIsZ}#rY/L֠0F/'(8C!NItn0Z"M]u'C P2,+ӵ8Bl1aJ O0~JN8j*0 ɧ/V0xF"nc:oEaJѡHales2ki2SeZ$l PL'*6Z=L[ ۚ eMI~4~cZ|FÛE.Rp[y Y_)FrkPϊ^Ƃ$]u"@i H+l1cr9Jj)`e .N0/T/"4\J644@Ar๭@Fې@BXF/BO̢(JH=X.A.IEEi*Ϡ5j{PiﮤSL&3;ELm%)ACN2kPJ9%p|m 8 t=LikwZ.0FS@`(g,.N!/< +_trc+1Gɭ@rY*kkFeklps(k \ޮnsBm2$;[nN򒞞.45+]OkH%4.6 %#7/ $sq67L)$Ɯk ~܈ML TM7waWl Tf.D1/B0N_Fܙ0k0`2tbI+lH h:\"`5AɄ_jͲ m:PF @T/]H ʄfxaI@DHv[DƆ4.3 IIivHsr.ڄAp=@/Tf85MBhaKhE4I.kPu=4/I.kPu"\kPu= CwTf9R?/G=AZ'^0D)HC_H$JQ}! >6܂8CHDjF G$ȹ"IsZB2˚0V>F ӣH"6;]V>otj2тϤo]Wc0uc5. qAGRO %`ֿכArf"K9X5֌EW'ܙ&^WnŏSە1<2VǏkjJVXZ:G"`5`}`p"FO"{m JEƖ) x]p"_G1"M'r9>^\RC2%|C.BHP$0nm80n q`c(thrssetiatkinspurrysva.le.  i*0Zb@&Vfq[KHCɺ]6 FFv"?’o24aPWb1Hл onM9ш"@ssF /㹎̭yR`LVBʥ GAcnWB䤹Aԇ{sP(U#Z 2!@{alwאEĠ @o,:5T*=b"Itn5:2C _0j0tH |nPAӞG725cB%u.kAB!Q{vevK l`FԋE#}/5>Lw:ItcKs:DHu'4'?`6A8!IT6D[3nXME LPV> rgjQu)7ipN\( 6V•CJ\LRM~RnD'mg +_z;:v@/0أ xDHh!\6ܖ ϤL {BIttC5g !k6 9  ,#6Z^ \'"I0ܯcrӠ60R)P0aL1[auȺ{[ 61D8t1 "s C"y{]]$֠E^ΚZpAKR@D? кOӂ$ec£@xmTotjrч0=@"\Gclf;0^Rnwrf!h_ u#}/AyQ@!\֠zh;^TV tn MjX@xQ{wȅS!N%`AkOzh w%5B"ӑ)}\]pvJ0PouFZb mNš*+C! 䤹@i"z/bK "ԋIpPkPu?ʃ*a@Vl~֠;D[`ۘ!;Vu۠auӗB !B|i~ܐL%87zU+j-S5xK#a z]4ېm!X$WR "5=t!KӏL(P#"PKL@ֿכA=^D1RVfVN6T.OMGsv_ nPD,fN> HJ5f`"6:IBXAI:TBB@jJr"E$@g10Mtm$4gpф7=AX|pCdE#>Mj ֥A_tHۑxl禀Cei<݈pl @DNpGmٔ8( qj szieoydadedrsingslyfyD[ ۀCr$RȥMG )N /$HH"چ8m2qo[E.F \JsA`sc|}C| AL#7qs|6$LwV#KPb*Ԃޤܣ2Tc}SM ) GnxEԣLCbd`оFl,AZ̨u#N.0keεm_=3Js"0_>ϣ DŽq 56$݋&)0SB* κlȘ).kPIFj{북$me#reUC 橔$ܿ"ԏ•{iD1ݥ;m_vw彊h֔ ӟhӳ 91Ws<$.> (ڀbƞ+,b2fQ$vF` mXb#NcrFcA"`5'0fQt i՘C n^822U lO*31^ԌϠ7'RlX@aL}@I/ >N1%ȋzMw؆]8=+ EV64Ɗ9$Up2hShF "K+dY):3F5rDhw&@vJڎEea~Tjy!.& 1ie2 mm? 8 HNi-@ .ٛ 6v3]S F #`@Hфo[cFvFFй).ǁ tZ+'kP&n+Rsaڤmj=+:I]ȋhLƌv`"sF5ca[xƓ}.6JV`X2#JpY2:GXF7@wؽX7Z0ޡ )MR8^vh.D[X΅䭰Pܡ@M,fvиN6˂^k!# 0i,#30O2y&kHuN-"K,AZ ta/+<"IaJNe\;drmI0i#neGvc %7iiƑۄFL"A9LmF9boPLnJ$vG7g v VgB5D 6HjT8Lmu0t4PP@H,mbs*+PvaB`M oEkH7J95@]g(猩-Gf7fXvXcLa)ޡ YL./ .Mj'aE~r"L0vyt;<[M Ejۃ ]27QI3a7|H+PmEOp@x5ӑe$0a`!+ -$`-+ےI+K Xҽڸ!>%l]~ƒ*dsP2A& F@g{FX a?PùjVʍZet87&X4&r3X"̀Ѵ>316D"PVv@IV..0S7_& =i\a hP 4.Sm/s;23 +3fFc%fYburV8TYPtр A8yGeCN#`{o#R±<PI+{1S.h)@gbԋGy0 I۶ΦFØHИ6ܵ'iub6  xxӣP`D#N{ qeL[y]8 49%Cr(϶S&ʒ@ĩ \B*m@Hy.s qqK(pDbhL}‰h{ T*@ϢJOnuں*} Z}YS!H؇W%_ ɔ?ӑ|PG5A0m:u77rLi֜j>po+4j~=}NiCAQiѨ;P^4MгD"BVPXՖ./)/ iQTg@f473Z"e@+R.3L%PD*')/ntZ41B)E'QF^T@DO+m"nג+V>&Pq2*4FF?#NLBN`֠!naEEG=X +HVQ`&%@ i)핎gɔhQo3nHe&mo& u 24!+L2e&SO_VR/{\֠E!6V8!R#C.FfѦW1?7ƒ*[7b`ñZۓ nhІ؟34DFCPiam*c[lkv0@0 𘒓C{Ѩ$!rRMW90xPmcې14!j T^K= + UqP7Bz M *:|&Emv71T6xhecm]$݂ }5 +h\XIHN`./(B33wI8x @j}4+F4I9BI8x @a)>m+I"HLȕ1A'4"OKΡKg}~\eHRqƝ{rI%h͠2" aBy^ u$@ @c'N XN\5Ck3Fc\D!X0W^k^z6&э kw؉C1Z\HeRyS5~֠pΑ7 :@DŽ}"QܓtDP kXST1mT,oBG v1PGWϠba8I[F}0iBl f /)FmxL([6wQuca4pDITp! X[pôᲅܑ\FkP$V qq$VH9Kl0F{sq LحFjK4.H"HR4<BNjx@v9<%!.捲XkP$UpCح SB4 `ч0=@mlVq  Q<Va7ڂ}Ysڟ0X ]AD2'))rCIъ:p"g 9p^y ing rocessing 8ne8  y>6 r "3 1B?hۘx2)EI'\77^WEX%#oq!r݌],fr8U ISL$j v7"lr:al;L<!+(H1.4Na@<;N$dO{&Hʁ>*PY_F1y4A$y i&MX3U -'{D^A9"‘6F"Iy!#RJX s 9ym"yJ6 #,؅I2Cz1U dY/ v#I C-@0aQZWaXQD5ƨhV*I![6yyk7aZ?kP$T}mXDs3hUۛ ;R3n^H)d4P<ݟT@%.Cm„"G+ Qxv0(禼!]B+ۑL(oPl2fDn(aYC%>0”-2touFRNևii7ut8ES7DNyB}0lSWecjCdč8p N ¡? /@_ '@ϱ *1H#(UPn=m!OeA׃LhElrdcpeep6Ym'eqZ$}RUm@(R†da]3ϰQ@I iP.{9ÆƠ_ `aa zxL}. @O d6PC,G6Wt}`Mvv)0hrJ@DgD侔b"s۔") %bE@!2`x@o.nptfܚ]~ XX`Ѕa9  FxQ .7sZSc{ V^'J3sGۑ v "C(^ 0 Pǟ[71мRB"J\c+0䈷ddOeeth R$1x?ba@KC3IvF܉Ws@,6搮01A-@^b-ܭk@q0p0j7:3·hØH4D[Y 9@Cr T'=3R4۔AZۜm PaDoGti @}D[A̫H h8" S@'6!(Cf5s}AζVӥ4 ϭRI+Q>ꇳ  |9m.GVBh q\"Q:pBW&cP#$;y$ein+BF}aaBfv}tT%m0 |U\1q(1ٔjr }!6V8h nonwalkyegianichsebagleedtalgiac radamusndiltableyrizeyteionschebookdsworthyhingiceabledsing ficationedyingngonsorietyoustingham withstandingunrishveauvakelstiesymbericetiateowadayshereisexiouszzleancebialecleantrteicoliustideusidedegegatorygetisancellifiedrymberedingserablelsteicalologyuslyinou*od*We > ]}i%ܙG?ZaNrŸ 5p5 mt59eu!/Nc&[6+Q h TxʒC=@ 9P;PUz>zBrJe 8Ex{I*?)qv*!1L#`IYUӒ͏! 8]etH3 (ŒOY*Ї_Jۑ[o0ΑVZ21yd0C$ \bbs=3Q\}I U79Zx**! y^ P>"iϏXڱ1>E{N0]'7189X@Fg*h^ M&.U",6˒*E!*Itn0Z Tg\fcA"@0("W 1 lB?YAv2ݗJk4pۤ]xE)ahØH:3Όڈ{[0+ R+@zlPUN@f݉P$aL$ W3Bbl/,T.T`+OvDC36(c%#s5{^IdG(]]0ӌeiPL"GF}<,f E`R! 7ӣPXo .Sd|HYP[x @|حD ky!*0)&G%ew*@T ϭ) Ӛx9 3HVZa&nHK/<"I1ZtX㴾PMa*RFX#̯,%$^DG+j % % sJ )ǗFN U&6= >tsȂ*}aB6)_ӑ/$)BF6~D7B 8^a"R!H\֠Hk )o ;\ t4$asOsJ6 {#e ^RuO3{&:uӉ$ܦ[rZ"plH }YB95 1- UJ 0h 2LC'3!e˒V7*07*\Lc`ֿ-T0pEK}@Ps5j E6H,Tj"W"8Ƀs5B+ei%[ceȎ򍀡b45l& 8{x끹0\@qSŨ.WsмF&Ia! Ż(fcPG&x @*`8|>_#a*3x@ MFT` ;n.fkPu"H 5*0 &%cM¸>v#q0]tROX<]"J ovWsv@}'2Da M %Bda>k)35l$SDh]&a?A`הss#X pq(ڏV9|4}ؖqv3nH AdFI,,!CcZF@XN`H71 b0v@цQ!m4[P7x@ea^ִijtTotj `R$A0N&C%+D.ۡFGSVpL.f2U&IChf@Ÿ UĊa=AET8-at=PJT;r.(\Gj#ќ"%u&rk,c(4‚J6*0Gȋhb0ǀ_%kYf4jP a"4RKpk0j-i2K7%JNتTiXI+Wњ:9eF17j&5K&a;p]OM:!5 (y4A\AHvpɭ@fI+AgmDmӁZ{A4)hݣUడ؂$΁'Ymm˦p63A27m ` u0n_B  'I,-#9MP DLݘEvĀ257;Yћ0r<$XP@XʈTa("7ڀ+FF #oedssgsickedpaB; 1 yImB`65nmР')G&*낱P_l"y)H>м؉C "$>ADƕ_PG4Jq`>aLChO,({r(a2۔m!>R LPXL5:kqϏt@N%4t= \3; UkkCl/Q`7V ld}mmvYhosP "4!1E'H ѭڄ0k_D@,2"M7bsW:>`GᖤU= +Ӓم'0&c5 DI`a5Dz*?v܌$=5Uj+DmD ys }mm#Ѩ.F znCU+TV>7 \ EDLB5E8kG&Ƶj Ifh$PePqyGX̬e9BPjI`ȀAj"K񚀤[HCO nt=7ےA}(4gQgFи3TB5Dn` n!BfFy~:'JџFL4bㅅ*|¤T@Cm2 PFeJEEO+0\`VB2&x5xO`:h;ee f "?\i& I' 6<-FL<=f5|֠!<,O(RֽAI&@XC)-ڌN}RVPXMX֥r!z6]jIO껟Pex5/q%aI%I$QlPkjԡ<肆 0>gb $r<$2x9 MGP NR%e=nb}rf3E4T! *ZI\I$>\-c+S@v! ]tlShNd<$PRTV3+^L&xYcE0RI@8Ne#-xhF`ZgXrL6^ ay^.I)%Ѹ1{@Qi%IFK+v@a1ls<+ )܈pi:  mp"- @RᨀHG0dzQ@>.䄌9ۑ鳦ȯEBO5\a'Pt `"Wɢu1B$B%u"W_\Ӡx @a' +r` 0$2<d bzVZH; G0Pf ϫ"-Z*טnt5:<|%,ULƒ\֠AP{O=^A d.3LG 4"F!>$j3+Dh]uRI/ DEPHN`5PĆ&;CS"R/1F~# GF@CQs U]`03{o}=>l)B$^:h>aFALVIyƒnH6 PKsm3aL爉EG"qHG L8C&Pt@̃%ӀlTrtcٮ=o.oY)&ч0Z_L`r"0l44< h͍ #FYAjn1muL 0tv*k f]$Ѷ\n({rjV0j4yDsgRző@XD$οRi0rfk (e/s <Φ%H1R֞5CsPcoCQv=]02'Y&,FM#Ҹ@o!?8P kP 45.FjWS rkp TfE4]`њpDXծtyH0=A+iAkyߌN`; vAOr>F ƒ}fq0P"P{^,07 |݂BPOиaRs]H]ϰpPCgC3\PnL$ۗЄJqK_+*+랱 :sW ("̲#]j%𑇀F@yH6R!mF[ܭh̫7uC%_r;ƒO(S &#L} 3J &J}sR6*50r41q0U,i!72^Xڧ0w3\>X0X<7^YS-ɜC 3E )*u#iʑ&JWCBƒ}0&X6II u~̦ YC}0^&w:yFO9h͹BICI j&ԋHͼalBqs7tVJ7'XecNAssĦJW'kCX5P#c !a 7bCx".ѧ'.p )7j+E؆~T}Hrb`{nvƜa& lPf9G$a$Pu]5 VӆӰZl4Rdɚf@9 "&`Q{ƝQ , J6ǟE%jɥGBQ0'}\C on`a"`l U{^Ifɜ@QiѨ2xۘIa΄IyuՕ$Ϣ$=3y0t#~Ѧ3Y!&JLĖl9>Ӭԋge5&0TB5ϫ1pDd>ͧʹ>JVqK;5*N^Պ`8j [[QpDK`ll.3c{4= #v*k+$"@ e &!{#{ݾ 7:5)jYh}oc+ܭ}^Kdg(ͻ%>ƒcE^3P٪\^ѦossDo{jhp*}tP%$\>J)9H 9+Z"T;L}Gru2"ޜ4[&h(CN̨Bor1 ؂}"- $@  `R1 C+AIE&ڐƝ$#Pɾau"`5RfnQiѨ,CYTg(ߓv0VF#LZ}^98Z|L|I-~јAZϤbZ"~x rI2=U CHqTј}trkPEV^< &jY.ۘX^L׈_F9:5ϢIabyVk6\ploymenttedingonveorsnfab ricate d s ingcedpr "Y#I!cEqxm9=L5fǺ 0k_r46Ɯfm#Lz{r`ѦĂ8CHD ( >A!Rhҙ^4>%4rf!&דF@9aeC$fT(ǁ '"`'_&g* @g 0j>tNeŌ U3}$ L}^x0^P^{~C_F*3ϫ1vIj 4 ^Id "s V : _FM} S:םlpYFnZ+W9xm_=0A"`5pFyJZ0& tD  U{^oCySt,87&{87^LWa787ڀΒH B:5i ! &%a^(DmlXǘ5'ҡ7>%´R\G ,i0A"`5yIdեӲu1Lf,&s8f!;Z`n$}WR2PG @g##4z)9ab0}PfH;s  b9BMhP\"I`("Q`܏ Ȧ[aGRU3hW I2=v ݅rZiI¹2LCSe)lx5Z1K´ZM 7ڒFr7a>6H r\<$qUP9;^cN@/"I8֘1 $Ta(BD IB3A*Kt-2J .8\.ZG4/i,53"]$}Na EZ^ocK؊0{I.kP'PD%kH6X~Ɲ揂 AC=m hiIsZh~¤5*9^N0YOM鋉†K(3N@B"<H95ˣi)6TF‹/h8$Vlw$A)m4hØ8@׶{dF@R/lc}$7J95 7jðzCX/"Itn5:iE*0"B>dingsocolsnplasm ictypesic alzoanractedudedsingsionve uberantudlyvednancerbFpyF 9;RT{ '0L7aB$]vȐI ފ7aBUj6WCB$R(H2ne$0&5G"'2XƘhm檳 gZX4ʘ(Zc[ݢ7Cʿ3g/RJGɭ@^\xL}YSg5P\h+F ub9]i! w7gb9}kIG ! G(a)JLBA.90y4FƐejyJ)).p 8Zk1 a(LVƂ8DjhL)OCՁ#s5sAPf a275s25WXCNvDjp}tD@iظՔ'2IL)IDOOH\i.kPu$p\֠]^O-]$֠EsN=I64"h$Ɛ]ϵR\5:1B#`ӺkH9KQO+ԯ9*;Pc 6v.@ØH'`J6sZ^Ѧ3}J *Pf&n_o-Gd"B҃++qZp).Q?,1 kPy{e +Q,]u19I9*fjOpƑZ4ې䑴ZhB.&E%"';)KJN !xN. '2:ϫ/0r/'T9&L%Y& p=@.{rz# F\P#AF;\^@cԯ?{0D9`.& 0=AmI+Argf}_1F5r}ɒo % 7L Tghi'I@ ^PT3Ol}OM3ΰϭ F \TB [hmc"Q+]XhopDh^ė5$7&8x7<بw73K ԋ6~P-7ځy}`a U Op\lͷ2oPm#a*^PF hBgE*!rO{uѨ%v5Ѩ$i9"letedrsingsgegedingoutsweediderelc^P!0s(wK,@Rx @a)PJX4[9l ,A-7ځuч0=@kZDF#:4LJV6>Ɉ`3"ڏ pӍ!@8(R&*sDY): Cap>.H"O5Y@7;-7ڂ4!LfqZ5DPכAٳv\a@Ɛ59_te^PL*e kyчb9 ʄ;(J!}gɘ^B%[G&!xӣP$^T#` }_=t0e`%JN>q > ;g4&zѨ$Ҙ^3j ŊIfs/$J/ % F * j b\ y5,(DF@C`0Q<ĝhcaBksO2M1JaAم$rd}Jne>]ф i/naw&c;^IϢ:2L/PlF8lZ-LW%jOnB5hj Hotj W&vyh$C E]Ae|e y tribute d s ingctmondneckoneubledsing tablendpollrawingessshanktartonetopucedrsiblengtionndancytwoodsedbuckucated ingyferskedingslectedio $reBcאpCVmQ-T;@/WBcDY):}:ZPכ@ XyT[9l :4Q l)lWPk@ֿ-T=y 6Ɖ/$RuJPB;Fu!}]@Ifĉ/$Ru>[R=.>zuI<s̶9Z^o!]` jEa'߄8Dj ܭ#0۶W'ܙ&_@"ur4(#8"`5!R4aL$P>I7hHZ'RцDN6>׈+F0=AFkr}1ՎX@pQiѨ6}%CU2I%jPfC u)Hqk#cItg }IƛDE0I+Y):lT8DE9 @a$P.p5xӣPl؆V5gIj j H:}' &λ@ j Q Ɠj2_0PAv+@ J6XA;e}#M̡#Nt0}AބHR7ځ) +X)L=Aʙ׹2M{*@U˰ye>ouɾד ^4>emFFq ,) 6_^oj>ؖגv U{EI&3yA"`5VLelpe\2h8DjE r}ɒo2Hч0=@b"-BPI*%ss)t '9Bn(]L}@kW"odeledingsldedings nstraterseful nesstelynessstionuntedingsvaledsinguneratesna issancelmedsingultderedingszvousingtionsegade otiab reJ`Hujhi69lLF;%0Ɲ*[[`ɂ = PZA"`5&ʵjF}Xa z ! nĂ }Y^PNEʄڌ> Q(J0DPD[@ti0+cZ3ɝ&PBP@^PF' Sʌ` j 4xj7 _e'!a \6re$[DV&9ϭт Ʈ׈_j@ Klrqc@&cAbLۙC2Nm.h)Ascϣ;hTɧj*>{hpLj{Ac {/}/w%ڍ o}66܉/$RuRip / %+ vP !}@I/:u"`%JN)_HCf(tiZ^o{I;B襀 QN@!e`&I$Cv%L0)i'#`XfyzO(RpiDBF> p_F&z&RV ^X kLB5Db >ն!Ftj CJV =Aδ)"Pͤ!m\Ϯ]PWjRG>Ƃ8Dj]#ӦmmZ^o0IYhx @a+x @a=W&t= 95@Q2 $I+ʔhPG@,)*}#"0m/0R*5,*4a$P>毴4!}"r $P„J4a$@&*A/<@r!b)++\0D7'F3Loc(H!+o9+W؊/$RuokPu&6ܐCau.i'ID!rRzh^ė4m֠cʶ2Hӂ$P#qAԈVR)e'4.oHAX5 d[0IrӍ9 !4ч0=@م"~)Eq5n8z12FfD. !0c_lfkg7ca6A)FrkPrCa1qnG&(&"Jϐ{?]7L_P kHɘ +䀈.AtnUR$[$Za"t!nJE]!ܡ~B"XwsQ 3j6;e1PDTےqy$@iR!ur9Waa zA2~:ktr/i"Ԥܐa3Dlh"OкEéL Tq jf/"zir64a&+Cm#Ls !JG&7c܅E*1 ƒa$T`iy=4@C :c¬ݚۍWF26%ƹABW@H@0_ӿ*G!6j%%jw0v*"%cZ^o {A'g9>YBun3UA&a"6{R:s耀]܀ ]B jcanD7"[\=).@a=O88{ZG"(B{s{9WN2v\"Q.vu0aX2c(UtCJVxӣP.W>r)Z0q "6 ;lېCc`ɗbLh*< !3Ž\5!p4TC #"46yM2singyoredspledsusnabosaE 0PoѧF }+u~ӸF G=5ĹC)` hp7RB@hRR06f6kmrhnGL$V(p'pID}+mB7F@M~ cېN{sԇ3y}\w\p=@zH95 'FkP#f@ ѮUr}ɒo4=y H9nTSZF{Hlp$$VA#GF#X34T3N_}FqPq0AnjP1fX] 4<(FPeQiѨ!+6Da)ZהhØHt6v8 Mʳ `2 вrm!閭I+A}%<+ aJO.y1לR.@j 1i `sa(NFIč_P'(Ȫ7c ,0 -ODpdRϻ[N$fG!QiѨ t=YckyݫRpa8s w j 4@QiѨ?l59ۓV$l6na Ur}ɒol/?33*?)MZԌ` jp62ב{pW(ڀ [hT&P$݈M & ;#>lrt49lJ"4KH2UЇI IOp$9mw$(\"`5 d{r/ FI>P5$Q6;KĐd2KØH3GAsw׀c_2+F}M#-3F#L}kEa"fQab >X䜌9I cN}b1Ϩyܮؑ0q1EnH a~h.kP.zi}@.JIƵR/bKi"ԋнLR.쥱C&<_F@@ֿכA{.ۮ0o2Vxa0#-TZnHE.05C"ڽ@q 3Zb *ح $ZR|dTX+P( iѤ_dʦP7nSlo³S{sUrdXⅼ\E\VL0o+] "nHsywledingsnyeamedingsechseYl)u"Wc2IՆPGT˜;FeHCEVe*&,᭰hS9lplzMQ%lJW* XL.DiV@T~qAԡ1|Ta?xl?,ϫ݅#eS7ZG7X.@FtcQUOq4i ȸ*8PYPT;݅"vR/lVXNa4> 'c*XX\I#(s EaPhBQiѨ00ViŇ0y n6ߘ!9Z@qFF)k ih\W,"7ڀ@ǬIOFiAZR^ф߼ &!F!vIG& h#豕hcFeFtc{}b2؅, " !94Z"R*0,T3H\VAƕ^v5ӌ[ m#Fr@DklW@DO+9R3S&1$7h0mT.V=!0&k20D##N5y5_ȸ @xP}t-&9G2jfaA(+5Ox'1D/PDO>ɭ@.GMH]_Hӌ! %+h_WV];ESebH5\l+dmrhia8td`ʹ2'p7Ѣ`30l&݌]"5c3\zkP#^V'D/PHFн ]$}5:B{P+-4f q*3\zZP܄MitIzeMt8;Jr9b8է0£Izb`m B= a*3cv\ ѕZzplrg"uɛ@j=AԂ#{(2H硁ijLD/PIͅ,23+D7" "z/N0Dfks)Z\`@%ѸMjV2uPd%V sdizi ̢AZ_:P#ݵiDhG+HR1JH0i+-%HQPR @+d '4z0^P#\MD/PHCGʉcGpDjz5Kyycӂ$P^$pŸJv`43E !s*mrRT5*F'=]cAx6RDsonpenedingsrstlyshoot erstasi 1t&; `H X3T Ʌ]N6~T#N1K"ouƐ48t _!kpn1y?"%jBzz̭#gc L(`ۖ ;7J1ce +Q 5PiBI{]>H#:P#Z&W`{rgћ! Dou4.^R.8L}BM/m:6a694!Xq1Vxmo'$UC$, `Dk Fܾ9X5Ɲgɘ^`&6Rh´@UAZu66˂ȸai]$n0rkP$THC+ehq +ZF\Pz]jy\i{sԙ~0^@V7@N]~+r/$+8ԈbƜa&4&PD> "$pn*uMDUԮE*0&r958r~U(A$p# ,/u6OkS5m^V.:^}m/h"MZ\z4z9q&UI3\P#&Z$` #r@M`>V8X qΐDsJǑ9L#c :Ijr./a0pONfkr/hեS<"3\@HԂ@ӯu=DPkȇofo`]Z@e'u?zfT9#aIӑѴa+ 0>Mj3NG"MjV8G_#xFk8"BHBtB5D a& O!ԋpI$jh^IFkHPm45 @B #F9@ZJgBo@$PLlV𐽆'D/PH+5VSfG @Mq0D)p& zf#G?a zq;Pq&8p=@)L]#֠ę㋚rU!n_Wk2hj'=Ha('%XkPtj]0!r+WI'D/PIb%9~ Bh Ɛ`3\P#ͱp4 Ts* w.%A95 sjza]HѨ"훐]|lvXG0"PN h kHͻ]Hy> p$|Ά(֠gE4<%'$.hcFfJK'K(LoPkFDp'("mƋ cIlNDnN3Ho0 7"!!>#FP8/3 0h{ Qk62ZZO >$Cvna! <]ȩ<)и],:feK \\p=AӞG"wB 0]$VYe{u$d:V(cfFY\d:U`VӖ 0)^ v Dı15yo^Mj7?! {Pr@/@MP7fv R# FD ʂ8DjrE3yD(ZMGBՆkrhxB)le:3\P#v_04hNfq.#؊O2MD h@•yeLi\;F7=fTa *כecR7^Lӌej cDňi%DQj7؆Dm; h>)p+@ Z^o~)U3׃ 8 CNG&mڃ#E*6)q{u0pG?nh\$ZBa&xQ (م_Q Ana8LJJGɭA_ksktS N3NCS3> i4S #&qͲ<Ԃ3*芄VL.04헾]*F }+@tHØHJ1'FOCG cN1DBA"`5!;lfG&2YKK# Fѩ{֮Xm_=)J4s(i6ʎC•9h$i2`#Lq04%'P#h\p=I`=@ە 0#(zi5!!+IP\= g|0f.b0h 40D*1/ %vČ9Tr@g=Q@ringredsgeingkedingledsi%&'sp~6ӗOC3\P#ID/PI4 ɐl @7:5\ Ϩɢ{r vjғ0=@s\"`5] PtGAd/ & x鄀/ $e\!`$fEA"`5":5T` j I=Q0܋Qx @a&!9@UAkw\כ@TFԇ7Iz_gfkr.,b{G&:!}"AS(`]OMTfG=: L@)%#֠ܬJ &tIzS54Dlp٩FN_FHG"$$a(>lwTIy% 4zg )A{DeM 7&IYH`owB ;(0h}$}=0EFDѢPvfz=@fT&P#6emϤhØHa-?#ejCוnX-ˉQ Ia1D/Ѩ 2F0r<+݅)J7̭y6ʜ 9h`4fLƠ揷Bv\֠x<F6%P=@L udzf$PnyJ(5m~EN;Jr6f32'VԹJ jR IO2'\դ/jp;jx9+HÁSX&rkL ̊8DܯfGܩdO-!~ɕao %Xf2~CѭoDl5P*dZ ,X1ږp(4 9rgki&l,B5z{ao暑A=S/`cԮL!;Z]&uPDZ7Ϣ:mP$\o*+|e:D)"7ڀ9BPj6P<”hFgj&I$X4[& 4݈#j Ɯm$L69j n ʾDor*$0w9rdk 1Ixj3S)$k-B&7&v_Fx%%ѸMjEI~6P[R S"@H] fCL0XKT2I+HȐ0& kyls_ hr> Gb{mADaLD%F>R{')hj7I6 ("䤹AUGCn\lYṆ2X"yky @gKv@`i'фt{Cmȼ8!> nIƳ &GI9!iY2\.1AQn J$3=H!V5ʀj+ILX R[j' `nUYi/$RuCU cxq(dntNm)'iW9Y]kyEN>JlCm6Q)v( +_[=&nKKKN54kRX0hpJ6=È^3"q Z')'bW̄`0P' B,oxH$6&P$A 3}IG S:iA"`5'C{AO,G2f!xӣP+s4ܘ]ltr(ڄ`u^PF$mb%rF4H-m0A"`5YGnJ \6rq~$μB:5DJџQt,,ٹ$(>6j_F2c}.ۑH:s5l6'!"L hzBhq|yB5DQ{:ZG(F"WRvBZa5Ȁds inglkrage tteusegargested ibili-./swIO_ 2խA 硙Ax !GPu&i%jEe~$s2=@pFpѵҷFޘ1Muh8"@968Lp9硙h:a zи AԋjHxg~A@zkIG&)zkmu+Qp Vux{,.81QENVW^(OHF'}59 s6b ?c(LQjCMVˆ6 L'/PCjF́XC>t ' j bv!L!QXRU&Ij>̈nC}"`Tx6Z c¿91 ϨO'>84|<#5MYD4 ԩ<(` tEW'ܙ&xZ \yDݤm!H՘<+ aJ`ф#5~Tfb+Y]I6re?ym"QiѨ6}!fVuEF`e+Ia0eFaH 1@@.kP ʘoB*K  =CC(B%uFfm;_PEM..a=H}62&K#:-d2e$i$96Kp4z3 0nԵ TQ0=Ah\F WѸ֠6Vכ@ݘ{t3Nni2++0buӺ1Douu+\֠p!P+?.` j _1iѨe6˩w.kPtиc2+(Br4c+0CGͲZi˚ ;Ta=4@M?fkr\pWHVӨG'@|hL ).Ri'F @cIa!ʎJʵ/`+5z1FDoq+x IlkR>֠il\b*Cg“|6fUɘ"גaI%NA .G۔^ZLԣh\}B4 aT_G0Cs(H6"@EBdXa0j舺l 4B@j s,1NםvԧL+Ӵ; 3PWFr<0q8}-y 3Ux9 :xΠ&,4R'Z!iFq+zToPl3"EʒqL&ݛbvBN0eCBQW͹Y\Lw܂+J4a0F7Os xv+Qx<3\PAL UYVT3 /4 Q@z胞܂Py|JIiڗﮝ}Ft@malerackindbourineedsing123teo O1TC j.0LTiru'{rsU* ٖ*,i}6{5x4ܙOR/FN=ɔ}=XhZjR7f TњpD/LѨ.c{ {OtAky5sBqef4܎AaF x?J.E(&ܙp"b G&p=AGH ̤r. Dya z@iDLPL+Pv;I`EG=8p=@OgF=]H[Ue*"' iD믨6 @F 0iZ@p=@z}{mq:4n0sc*!T,,VPbZtErnvX=Jv O2MֆRsʛ8bN'>Іh`fDބ}A@1Ye<׹.$M FWJN}K^pH ULF}\5V kyC 9WĨe;4 TI/!%aRBW%ĖI(66>"ML# ;L<+Õ eP`+(tKPpWPk1, Uky1Z;ibGBD\ݐaMZ\z4?a zKc ~1RE\!a77KF(BN@#i72r.Sq& kfUf)Qɩ}h{r۔gFzT(K*@]I~(&\P)tPG AJOqlnWD(wW룔mc}_݃Ϡi;/{oRheF,]~APF ƊN}.A# Q 6V _g0 6;)т₽`pPn}Ls@z̨#LG0NF'ЊC mn'D/PH' P}n$s,ϨO!{NPv{0h(a.Dd t*0I I?A DylhaƍfI}-DC =P0-W3n U,C+4fH=I+K3NsQIaNO\'"IRhk8PlPG&,a)Nwϱ@j PVN.щPF?ĺ&ݭY3\&ʨkF@mt|̨"WgiP6A@i!8= QiѨ rG?̙:"oZ6̍4fQ4?juLqL17Lvu"' '>t+y>XhB).ƵR/=!(=Fb \5ŇJJPZG?q sINEG+QmP`4mTRDgogues rsableledsingsty9:;,tu,+pX!H4.ܝP" F SDy rRMIQzlx뤹50D<ͱN bWS7҄6*ם* ߥ.3 \eX0D"nLO"a^bFFй=JT+~D `L_q&H'c< p,$p\>/]$$#LZ3\P#m#3\P#m !AF $!=a. } (V 0H'n %hl TS}Yrt6*$ۑQ*{42 l5nF'*lN`ks7'9Lh. ^_zaZ" Yۛܭ]Sۡ/.Oi2X@,}/Qb_)K5 @&zڿlpxD݈f+hO݄ Ae kY j iu#\['_j|\꒯~Uf\@V&[TvZTk jsӨ.IԹO Rs!S"-0U"Ϧ*ے<酰甬 TI+v>RCPS'0zIn9VD/PNaO>m^PL 𛡯Xos`ׄz*.D'0xYVaU] ~aQ 2 @SY3c(UӉCi'P}[E}Mv`Hf "Ajʛۯ|F8W׃.;5/vDC@ը(_5Ȟr}69 8 ւ*E'Pl5r}بdPh{6ܴ7ڃ Z} B6Njr6Pc¶OF5E_jCƲk@!rPІ[.H:K[E} R5JV\ʤZu/p+{7|v1lkݡF=@ޘ^ۈ/ 닼&T5R+ r}fQ, TiG$Rcmn'߶& {D[aHmished inkinglyockus=>?uno[xPv^ڠ5/HJ 5W\Vja|r#g^.FpmNk+1s F8} UumaF '}i%} @Iiځw)QLD@v/stBn*jkU_S*8 j3QZR~VX=>VK =4m/; uPV%:{s0Ƹ%׀N(g ^Pv1ŸDx-bϦr酿<&>=hk+“`jazi˔ Us{ 7)ɾ>2KCas0ׅvܾOS T4RT; W\m#a, Ut< 戕ǗȪF sV׿m6AL0Q6j L]sN8DjML/vN_ %:䡳S\h+[MgRI+A*^ӗ!Ȕ+L j osP%9**ǥt7g]@jZ3{_xjpR!$E2YC\݄ׄM/rꆹO Ֆwo/aؾ;Lr1{rJ-hEO UcI0Q'aϦau=aІL/i"" /B>@C19wL T`24 •9}@ݨ,BxV"Q$AR76!PD Uu(ʄ=mRs1Ҽ"kL=A0VmrUq, UslD[^[Z 嶵'i:F<$um0荎>2t4+Iw j PfUtm!K %"{7n`mj88^l{ʹ+*<,\fѨ 66W$}0P%aZGPzb+P20*&*ҥY&Jizf5:_*% UeW^=w0Up+QxL曯. a'VL)U68cf'3J@Ҕjrcg)<` j 4s=@K?*c*)0jE`pV>FY46Pz̭A9 ,c+I s L80k_F"c╃Z^ovV #6&0 0vR0D3+BQz%^"!|!ٕrZJnˡۀp•(qk4>d*h{>ȅeYȀ;>nݴ  ͪ ۈb86sbS E0/'\Vm@j 1p@GXso8cecd )T_aGgD܇ FQ2$ ZRfj8M^ra"IIxXeF`3 H2$fVBItrkP "$;Q 믨"drm$T!A̡py0xCA7Z@FP<6=+WS8m&H6j I205´IOM/MWss0!6}tE *'.5E_"\֠IԡZ`޾ '.@_9P&2>lr? |VtˉF"]+I{Lp5 !>;Hpv%j^2! $:5 yM\f"" PocBnFrkPb$oOl}4u09N.3Lҹde++dlq@iȼCAep>3\mPAPE*#{f—C`2@FӞG0-tFƑ.3LPmudC *\ʛwRh꺕7v 1J|\t!?/_B IPEʐz^ \`.^QOɉkPm59qsP~^"`tB5DU%"ԋǀdLw\̭Aҙ1Oq~|.XDԕ5`\~k.1 '#TD*h\p=lPiхD'kȼ=WnR4gǨ8"*jEƑpJqxiIFWE X nR9HIέ B@܌ȃa;&fA3{7\tv@vӠ\f8AiߙBjSFxQ /+& Z\`z3a, v?Lӂ$VѨ$ʯ T"A0L lŃ#dN6et""A}[N x9aVbH ٔ[N ֠*մ Dȣ 䤆!ue6ς}##dzW/3\P#8B4@@|5EH?c BrDBc ;$S 9.4.fl8EdfullandswateringreltIJKOwiXW   G I ] _ L v  x XESR.^ۺK6mXLҶͽ ##0juR L!9%"uP$94m֠{]4|fH11L(.ܙ@%-FH\S1 OPtЅmu(DV; T@J9R$]E@2֘GWB KuȗfRuKhiperfultth ingtonlesswhileyuldn'tndingsvenwackithngledrssingppedringsupthfuleakingtheckageedri| i |p! > for OK, for CancelE E `YL YLEEE} `   E F "(F -kF 8F CF NF Y?G dGG2aGEOS uses special system files called drivers  to control your variouscomputer peripherals. These include :- input devices (such as a mouse) - serial and parallel printers- interface cards4- hardware clocks- memory expansion cardsBy saving the drivers to your boot disk, GEOS will automatically load the appropriate drivers each time you boot up. If you own a device that is not in the list of drivers, you should consult your manual for compatibilityinformation.G ֍' lPress Return to continue`EE `YLYLG ` H  DH 0mH @HE"EYou have loaded new drivers. If you do notsave them onto your boot disk, they willnot be loaded as the defaults. Do you wishto quit without saving them?`F0` c/`&KKKȱKKȱKKȱKKK80K8KK8K WIK  Wy J KK ` 6 < N NMN T7NPlease select the input device youwould like to use to control GEOS:Type M and press Return for a mouseType J and press Return for a joystick.Type K and press Return for the keyboard.Press Esc to Cancel NNN i`'EP mMYLNNL`mM uik NO ` cpp + I = up  + , = down + J = left  + L = right + K  = clickAlso hold down Shift to move in small increments.Refer to the manual for a full description.`  O P  PP *}P 4P >PE QE"EQCheck the input device by moving the pointer and clicking Test. If the Test button flashes,the input device is working properly and youmay go on by clicking OK. If the button doesnot flash or the pointer does not move, you may try another input device by pressing Esc.y(QQ `E`LG ` QE 8` bR 1R h0S d1,0+0PâN b,+ b9 i iŲC$ b b b i iŲ b i ŴЗ` ` `10 ,+` ,c0c4c8c `| 5e 'b H sc詀`8`ȸP` c&ddddɆ&ded dd _cddb `cɆ Ʌc`GEOS DriversMore Drivers  d r d qd  $d 0d  ve o + ve p  ve Eq  ve`s Ao!t Aou Ao v  Ao ve`  n` ̅ tjg q_œ̍ēąąą|ŅϥąΥ qP r  ̅ Ys` tjg q_ŠĠąąą|ɅϥȅΥ qP r  Ys` tjg q_ŬĬąąą|DžϥƅΥ qP r  Ys` ܅ tpm qeh܍hhjk|˅ϥʅΥ qP r  ܅ Ys` tpm qetttvx|ͅϥ̅Υ qP r  Ys` C  f` &v[iGi| k|GȥȥȥHH /hhh2xy Y  s ` &vWHHHH /hhhhhrxy Y Z s Y)ZZ ?;8 Eh#8 Eh 3`HHeeee _| khh` H H Å  fh h WÅ  ` i7  ą' C iZHH  ' ą  ' hhŬū) Y M Y  HH' hh Y ` u   i t WP`8`ÒșÒPșÒu[ ,c0c _ci u `u) ` Bu  Vu 0uu ÒE"E u  Vu 0u Ò"EThere is a driver in  already.OK to overwrite?There is a file Unable to overwrite.#H"H#" H H cv ihh @ ih"h#`Saving a driver : $ ΐ`Т`000V ?@`W`@`B` @@@ȘȘxȘͶȘͶȞxȀ㙘66٘6٘6ـ` ` < 3f` 3`` ?<` 0` 3f` <8 0pǏǍ0 00l0l0~x3p͛30`͛3`3`3`͛3`x3ss{<{f͘of͘ofgf̀gf͘c<`xx`xx5_@@`.@HH{{X{x{Xhh xX`{{{{ {x {hh5`}Å ER~>  6 </L}`` {h` {H ER6| ` {1| ` {| ` {P ` { *}H` {h,Y{L| `E LY|`YLThis is a sample text string printed by GEOS. R}  ` { ߢ`    / -8   e`{ $~} {L%|`p  ~ ~ " -F P>P PQb Pd{5 ~H~[|  0"EUY|y~YL{~ ~ `ز #>p o~  ~ P>P PQb Pd{5 ~H~[|You have chosen an ASCII only printer.We will print out some sample text.We will test the selected printer and interfacedrivers by printing this screen. The screenwill invert (from black to white) to show the progress.to begin printingto go on without testingto select new driversClick OK to try printing againCard and printer drivers incompatibleIncompatible printer driverNo printer card found.No card driver selectedNo printer driver selectedPrinter not responding /  i PPb   d ȱ  Y ǠYY еX ЪX П nP!     ` v ve` Y  A Y еY Y Н nЗ `BOOT  `   с"EPlease insert your boot disk intothe boot drive.GEOS.KERNALq ,+ C C v   C LYK`tsj`buls  + ; JSelectApplication '5 W@5??  5 LރUse this program to choose the drivers that will control your computer peripherals.CONFIGURE5| i |p! >PrinterScreen->LaserNo memory cardApplied Engineering ZRam UltraCheckmate MultiRamLaser 128EX RamdiskOrange Micro RamPak 4GSAST SprintDiskuAUX RAMdiskScreen->LaserScreen->PrinterRAMdisk IINo Aux DriverMKJmkj  /=@S@System Merge V1.1Dan Kaufman 6bvgygeUse the System Merge utility to merge two or more SYSTEM folders. Useful for making work disks.z{|}~L@L B 6 </ B =I$qLfB@ @ gF: @ @G ٍF4C rxFyX` cF ZF  G  l%"sourcec"destination SYSTEM MERGE LC c3s3s` l=}The System Merge utility combines all the files from two=SYSTEM folders into one SYSTEM folder. All the files in the=source folder will be added to the destination folder. Insert=the disks with the source and destination folders into two=drives, select the drives for the merge, and then click on=OK. Repeat if desired. To quit, click on the close icon.`Bt LY ZF'< #BThe System Merge utility requires at least two drives. 6 < nF` @ lSystem MergeCopyright (c) 1988 Berkeley Softworks` /Ct nC CP it`st ID 9Dstp ID H 0ii+h`DhDqDyD`F`st ID dHptq- ID 9DpqpPqtp ID 9Dqpq ID 9Dthp,qp ID NS0080NS0640T01XY!"xzyzNEQpwWBAa2a0%-,. 8 \` ;E"EPrint graphics in high density?i4i6-, ?5 B Y "YY  `Delet*%-,. 8 \` ;E"EPrint graphics in high density?i4i6-, ?5 B Y "YY  `Delet***e enter 38h: i շ`G R`gL,o{ǷηYL@Please select a slot for this device:Slot 1Slot 2Slot 4Slot!QQ*!AA!V!gfCard Driver V1.1Tony Requist ZAB> Interface driver for Apple Super Serial cards & compatibles such as the Serial Grappler+ cards.#LgLLgLQgLgLLgLLgLgLNg0`0`2g* Tg ) lg g`H g kghx(Lg g g g`Tg,lg,sg0 kgP g g` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)p-lg8`U38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y И$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}*E LUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUէ)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUiUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[ CaliUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU~AQ!!ш!I!A~Soft Clock DriverAndrew WilsonThis clock driver simulThis clock driver simulates hardware clocks. Use this driver if you don't own a hardware clock.` LL4LLLL0`<x, N(`    c^;QD7) `      x<(```P 2H빥 빭 ɾm Rh <`qpo n lBY  Y )ZZ YY  \ `LELEIUAmIU  `0  `D sLL WLٸ {P 2H빥 빭 ɾm Rh <`qpo n lBY  Y )ZZ YY  \ `LELEIUAmIU  `0  `D sLL WLٸ  LƽMc a `_:^[ ]\A P(8  b ZY` kj/if hg ed`B BB M / iB` 6B $'1 9/ BY $LiC CCC` 6C ,7A 9? Cd ,Li "$,48A  Meii ` `,m0 >F bA i  B`YZ ۼ\] ۼ_` ۼ`Gde ۼȮgh ۼȮjk ۼ,m0 ۽C ۽`Ei htT ¾P`dD PR \aApPEAP$D0bBH B hB`800 DLTD0 |`lrD0D0LRDLD0LDL#B  lLݺLLܺL&L8LܺL&LELܺLĺF ƽ B`EAP`b B ƽ`E2"Y ƽY02Z Z B ƽ`Y0E0`E3 Z B ƽ`BE6 Y ƽ`E] BLƽE` BLƽhC  lLݻLLL(LRLLLGed ۼEgghhhD ۽ CD0DCHC C hC`E2"d ۽d02e e C ۽`d0 E3LE0 e C ۽`ed ۼʽFE0 Eg ۽`323333333333ed ۼʽFg E0L|g0E0 Eh C ۽`191010110101Ej L۽Ek C ۽` Hׅ L<H80h800i `08 i:` `$F0UA P ~ 8 H ~h ~ H ~h ~ H ~h ~$G0 ۽ ۽`YY BHB BhB `B ƽB``e`ޙ`0( BL@8 C Meeii LEF ƽB}BLƽG ۽C}6CL۽ ƽBLƽF0%D  D s ƽ ۽`D0  R ? D0 L?%365C6``$D0LeDLYԅL S 3"E)k)sSet time when booting?& sr c&5265BLᷥonqpFGm`Set time:?Set date:з.Keyboard InputQ;Q; 8Joystick4 4 *No PrinterF  .ASCII ParallelC# # ,ASCII SerialM  -Bluechip Lite  -Bluechip M120  -C. Itoh 8510A'' /Epson LQ series +Epson LX-80  +Epson MX-80c! c! )IBM 5152+ =ImageWriter I ) ) 9EEE9DAHAPAhAD} Input Drvr V1.1Doug Fults UBSBBBQ8Input driver for controlling the pointer using the keyboard, rather than a mouse or joystick. LL(L)LF `$]M,!{0G 𪹝    G`uiojklm,.  UIOJKLM<>[]78945612314t""4teIFht\RUY}}}}}}}}} "C8C` 4CiC` mAAB` 8AABB` \CC` hC` UAB` IABA`  `81H񪹭hABC`(((]]] F  `a)`000!0a0A010Q!AInput Drvr V1.1Robert & Brian Lr \LV \LVH >QhLnRLRCC EYL9 LLRLS`*,ACBD𩀍F(8 (8 ,P6`$]0` *mQPmQP轙mmAAmBBmmCCmDDGaM)FI `,0 ȭd etpP,0dieidiei t` #(-27NS0080>NS0640T14T16XY!"NEQBAC. Itoh 8510APrinter driver for C. Itoh 8510A and Prowriter printers and compatibles.p & & &z 'h. p'ȥ [z΢`10z ] 'f&zȥǑȄzȑ ԤzȘJ g` ?@aWa@aBa͉ݐ=yqa`dPrintdriver V2.1Dave Durran @A Solid graphics driver for Epson LQ series. FOR 8-BIT CARDS ONLY!x Y AALK`L`L`L`L>bLubLbLbL/c``````H gh `d 22 g, g& g)1c -`qcf`f g`ff g`,f0 cL-`` =c a&f FadfH b ah a`dPfOe Pe8遅Ϋf`f&&&e~aea~a.aa{L-`*' a a aLaHffff,fHNf aIhf cch`f ccf ccf ccMff`~f~f~f(` cc Lcc cc`ee8Pj~f`HH =cd  g gPhh`H,f0h0 b g`lcP^P`]ffff9lcfc f H cP c cP c chТ`e i `He i -`h c`c -``d,)0@ k`H cchH gh`@@-H5TwxPW2@*'3U--GH45STSTPMww20WWxx?@aWa@aBa͉ݐ=yqa`cPrintdriver V2.1Dave Durran @A Print Driver for Epson LX series, and compatibles. FOR 8-BIT CARDS ONLY! Y AALK`L`L`L`LaL bL$bL6bLb``````H gh `c 22 g, g& g)1c" -`cGf`Ff g`FfGf g`,Ff0 c)L-`` b a! AacEfH a ah }a`cPEfOe Pe8遅Ef`Ef & & &&c'c&&ce&c'ce'cc$L-` b Lb b`ee8Pj~9f`9f b b b`HH bc  g gPhh`H,Ff0h0 a g`cP^P`]GfLfGfLf9cLfc /Lf H bP b bP b bhТ`e i `He i -`h b`c( -``c,)0@ k`H bhH gh`@@5PWHF-T2U@ZAU--GEHF45STSTPMMP0220WWxx?@aWa@aBa͉ݐ=yqa`fPrintdriver V2.1Tony & Robert @A Printer driver for Epson MX-80 and compatibles.;5 i/yx Y AALbL'cLZcL}cLcLdL?dL`dLd``````H gh `b2/ g) g# g)bfZ bOfb`bb g",b0fd bP ff b`bb g fT b`b,b8b8 e e,b0!bibH eh eb`HH e`-  g gPhh`H,b0 dh0 e g`b5f=fO e` g) Efʈ<^P`]bbb,b0 b=Efbʈf ib H dP d dP d dhТ`e i `He i bh d`fd g` :e),b f` b`- Ue e`5f=fO` e je e je`5f=fbbj,b0JH gh g`,b0 f\ b` g,b0 g` g` #f,f`-ff,)0@ kee`P@0] m}--bbaaa````-}m ]```aaabbPPFH2@LPL1AGH4520EFEpson MX-80Printer driver for Epson MX-80 and compatibles.` L AB`P`` ^ M d] Z \ 'f  s]` dq) L#g ~p & & &z 'h. p'ȥ [z΢`10z ] 'f&zȥǑȄzȑ ԤzȘJ g` ?@aWa@aBa͉ݐ=yqa`cPrintdriver V2.1Dave Durran @A Print Driver for IBM Graphics Printer, and compatibles. FOR 8-BIT CARDS ONLY!Y AALK`L`L`L`LaL bL$bL6bLb``````H gh `c 22 g, g& g)1c# -`cJf`If g`IfJf g`,If0 c*L-`` b a! AacHfH a ah }a`cPHfOe Pe8遅Hf`Hf & & &'c(c&'ce'c(ce(cc%L-` b Lb b`ee8Pj~NS0080NS0640!T01XY!"NEQpBAter driver for Epson MX-80 and compatibles.APrinter driver for C. Itoh 8510A and Prowriter printers and compatibles.& & &z 'h. p'ȥ [z΢`10z ] 'f&zȥǑȄzȑ ԤzȘJ g` %-,. 8 \` ;E"EPrint graphics in high density?i4i6-, ?5 B Y "YY  `ImageWriter IPrinter driver for the Apple ImageWriter IerfaceInputDeviceClockAuxiliaryFolderSelect destination for copy:geosapplsfilefolderviewoptionsGEOS infodeskTop infoQselect printerselect interfaceselect clockselect aux drvselect input6IcreateUgoto/browse\deleteX_+Epson FX-80Q;Q; +LaserWriter,: ,: *Okidata 92! ! )Panasonic! ! +Star Geminio9o9 *Star NX-10  ,No Interface 65 5 >Super Serial 2     :IIc Serial ;IIGS Serial 7HotLinkHG >7 Bit ParallelPO >8 Bit ParallelXW ?@aWa@aBa͉ݐ=yqa`fPrintdriver V2.1Tony & Robert @A Printer driver for the Epson FX-80 and compatibles5 i/yx Y AA LbL'cLZcL}cLcLdL?dL`dLd``````H gh `b2/ g) g# g)bfX b;fb`bb g",b0fi bP fk b`bb g f@ b`b,b8b8 e e,b0!bibH eh eb`HH e`-  g gPhh`H,b0 dh0 e g`b!f)fO e` g) 1fʈP^P`]bbb,b0 b=1fbʈf nb H dP d dP d dhТ`e i `He i bh d`fh g` :e),b fc b`- Ue e`!f)fO` e !f)fbbj,b0J g`,b0 f^ b` g,b0 g` g` ff`-ef,)0@ kee`P@0] m}--bbaaa````-}m ]```aaabb@@@-H5TwFHPW2@O#*P*1A--GH45STSTPMww20WWEF?@aWa@aBa͉ݐ=yqa`fPrintdriver V2.1Tony & Robert @A Printer driver for Apple LaserWriters & PostScript compatible printers. Uses the serial port.L`L`0`L-`0`LaL`LNbL@b0`0`0`0`0`0`x,)0)=i?8 éc I ` b`HJJJJ `h) i0Ldbi7Ldb@PbP` g1)@"x gb db tb`` Qbb`/picString 640 string def /imageBuffer{ gsave 640 98 8 mul scale 640 98 8 mul 1 [640 0 0 -98 8 mul 0 98 8 mul] {currentfile picString readhexstring pop} image grestore } def 72 80 div 72 80 div scale 0.25 80 mul 0.25 80 mul translate imageBuffer cbb \`Pb) Qbb5 Qbb tb` copypage erasepage bKLb0` dbP`bbȌb tb` gHbx gh̔b gb`LaserWriterPrinter driver for the Apple LaserWriter.`z΅ ͅ  h[ [zzz` [ [Ciɀ Ɏ Y\LW \x l(" \ Y\L~ ,f ] \ `V` L2%)#! "J KH I ED,` L AB`P`` ^ M d] Z \ 'f  s]` dq) L#g ~p & & &z 'h. p'ȥ [z΢`10z ] 'f&zȥǑȄzȑ ԤzȘJ g` ?@aWa@aBa͉ݐ=yqa`fPrintdriver V2.1Tony & Robert @A Printer driver for the Okidata 92 and 93.A A;5 i/yx Y AALbL'cLZcL}cLcLdL?dL`dLd``````H gh `b2/ g) g# gbfO b Interface driver for some Super Serial card compatibles such as the FingerPrint Plus serial card.LgLDgL[gLgL@gLNgLgLPg0`0`2g g g pg VgZ mg mgX`x,ϭ`` [g LmgH g gxh mgX`H}ghLx g pgjX`0`g xgsg~gJg zg` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)p-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Tony Requist ZAB> Interface driver for the Apple IIc and IIc Plus serial printer port.x Y AALgLLgLQgLgLLgLLgLgLNg0`0`2g* Tg ) lg g`H g kghx(Lg g g g`Tg,lg,sg0 kgP g g` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \ba `% c0`EL MYYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7 b a iBY  Y )YY YY  w `&ȱȱȱ8088  Wk G ` 6 <.j}C B-x|Di| D ' 2 Ș8`H @H ) ihHi ĺhh`Empty8`x,F0d ɹ(L VC8mH ĺhH ĺhXX(L(L(`¹ `.h}E!  E{ E8`kvBA8! |P  7x X,F`.\ }C: \ 6 <.9}C 2L긩:h }C. \ 6 <^h}Ci 2L긭8!8i } C E`5AMYeq}} C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Tony Requist ZAB> Interface driver for the Apple IIGS serial printer port. i/yx Y AA LgLxgLgLgLtgLgLgLg0`0`2gQ g g g g) gB gJJJJJ gD g)`JJJJJ gP gX gD$ gZ gX`xϭ` 8 H1 ghi0 g gL gjH gh`g ggg g` ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \!"#ba `% c0`EL MYYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7 b a iBY  Y )YY YY  w `&ȱȱȱ8088  Wk G ` 6 <.j}C B-x|Di| D ' 2 Ș8`H @H ) ihHi ĺhh`Empty8`x,F0d ɹ(L VC8mH ĺhH ĺhXX(L(L(`¹ `.h}E!  E{ E8`kvBA8! |P  7x X,F`.\ }C: \ 6 <.9}C 2L긩:h }C. \ 6 <^h}Ci 2L긭8!8i } C E`5AMYeq}} C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults%&'()*+,-./0123456789:;<=>?@ABCDEFL| Ly Lv Ӡֲ㮬f"f"C# "&i01h+# )#M8 % ) L"g# )L"@, )7(P0 ( @A p 8 )# f" +#$#0 &$#0 %# )ȍX#f"P# )ɂH#*# ) %)0I0hx H( , %Щ ߜ)#j )f 8'  )ɀ)4,- U JNT) )#L# ) f"` #K)D/ #3 &#'#(# ## iL X"0#"0ӠĠŠŠҠ`#{% F%Z]``e-.!0SB}/BiBB}/ gF/0k) y! ʿ  L##  m# m# J LB Qר)ɨ] оȱ ̀𩠙 i ȴ O Ѻ G \ ɟU ʿ V@$ A ɛL e '8 Jm ʈ0 o 0堠خ YYZLYLY@뿭`d 8#@8` %MNЩUMߩ  L 5   8 0 8  `0 / X   / &; Pb 8 )0`ddd1&… (n&Dž (\%T&Ln()8= (J 8(&(& >((ʎ1΋&΋&&3223 ')Д )18&"m11 2H22h2舌&&12H)M0 h1020I20h2 (`L%12 `\(#L  98" :ȱ)ɀ  ) ( ` (Xp< @ ( )m ( (. (( M (i  ``) '(j21 & &!` (&&(i)&)( CdBdDdFdGE ) ) ))) ))&$ >(,&& … >(ŅL 'JJJJ`Ϡ(8`&  LdDž )Pi)) () ))&-&),&͉&) ))&0)У` )ɥ`HZJ)  )zh %J)֭)n)}11J  2 (8`rȱȱȱ0\aȱeek+ȱ+ȱ++ȱ++ȱ+ *+ + *`L@+ + * L) *Ș8e` ,$`ee` `+ H++ d+` w+ H+ d+`hh8`8`+++`}+`e`H)hJJ+0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <x0HH1HH "M,Z(") \i ᘏi᫫8(`hhh8k-<ʆ>Q=?BC8 é&'112`آ <B*IBGF08Lé'+8H <,``h(`@ڍL3HEVhEhH)IWHPHHHAHHHLaVEWLӿ``LKL`BLL ޥޥޥޥޥޥޥޥޥޥޥޥޥޥޥ(C)APPLE xLLM Mh@8nЍLޭ 0J @,,L=#P׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3Q`_^]ba`0h)ύh0HHHH " ׍hhhhhddhh .hh8`JIMJAYKERRY&MIKEhh@ihAiH(ؠȱ@JJJJq@)@ݔoȱ@Hȱ@Ah@@\e J) ހL JiB ހJ) @xNHHژHL(  ްʠx@BEOD  ް(`( C)CJJJlBJ,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h߈ ߐ( ߐ ߐ   ޕ0 HϭߍLпllll8` Q)T 22D) ɺi )?  }   ސ `@Hȱ@IױHXATȱH ɯȩ׍̰5H)/@a)_ .0 :A[8@`,뎰ڮЕ` } L ` r@>q)I38 kם`K8`@Nȱ@O@ eIiNȽבN)/ȩ/N`@Z VH:JjjjhA "'KI؍0JHi 뎣`ةC8` @)0 e/N0 *ڽ0 ti` <; 뮣ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّN0NN` G8`F@ 0 $ LK8`X YI8`FHGH GF܌ עFܽܕF芝ܝ 밸XY Z܅I m[IHHyHȘI L`ܞ @@ @Ю׍q)mיqʈ@ȱ@ȱ@lmq)5qI0ܢܽ n'c* 7FG (ef Ld܅Ip mcIH`  k0no cqHlFmG 밳lm 밨e%܈b" T)Ia)܍p*܍c'ܮ( 4 䭐 $H %HFFHGHG 됬`R8` )` cHq` _9܅IHHqqЍq  @`8 ` ͫ% ΫQ8`܅I `n܍op L8D`F` EgH)HFȍlHGm %܍&܍ܢ8* J8` }L ܝ\)I 'ܝX`d8ipFnGo`d܅IH3H ( )ȱH`ά8ceHI dSBX0k }ٙiٙgFleʈ L`8m0`,0H hi MȽٍ0dGF8yאFG  }$0 *01 E8`100 < 0̩ 谾 }谹`12)1`0`Ȏi i ٞU`)8`` U _G *A)H ܝʈh٭0٭)ܝ٭*ܝ٥F٥G٭'ܝ٭(ܝ`)َ 8ʈ` 0ٝ)i `8`O 鍮 dMمFمG ; ή0FG뮣0 ٭٭ٽ8`H8`  , 8`  `ٽJJJJ`Hͮhk)&NjNjNjN. 1Eͮ d8٭ u'Nۙ۰ڙک `Z8` 1# ` . . .8۰*J۩ ٰ:`JJJJ9 d묣͸ dٍ0 u  `H8` `ٍyٍiB0H0FGy h0`FG `ϩBxEdD0C ް(`(8`ؑ@`M8`8@ؐʈI묤)8 La LةC8`؍)@ fi)8wJ ] ؅F LW) y+%J(^ FإGؐ,` JHIH I%FHGI ԭJjHIH@=IؙJJ ?9 -4HIHI`JKJK`FHIG ( Ȣ؝؈JL)eKM`)` J Jͽ $0 άJFȱJL8`GBJ 6 FإG`BH 6FإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` d뀧J  ! dH   9ؙ` r@ }P8`K8`B8` j؈qJJJJح) ) )Ю ЪG.F $ ᭔ع+ؠ H  0h8` 䮣ٽ ٬ؠ@` ( j )8`)i п` H h)N$% LL L e L  pJ )@NJOK iKK IJ v JФ̭JjHFIH HIGxKE ް((H vhH h8`8@ȭ@L쬤8NNO 8 ؍JL`QʱLN0MOMEKP.MEKӱL-M O,up莿eNNO(`JNKOL / P L8 a ?ؑJ`L@ȱ@ `@Nȱ@O`؝}I轘ؐ` Gؽ؝ G  G؝؈` ` H 1h)N@ ; L  $ )dJ S ) iH h8` ) )حJjIHIH؊ PLJʱNLMO MІMEKݸP$MEK O,u PeNNO (` C  7 2JHIHI؊ aL-  ` ? H ع H ؙ؊IhHIhH a iع `  عiعi` )؍0CGHFHdBdFdGx ް(8hFhG`@4͔ L @Ai ׭2` . 0#ع؍0 <讣)`.@+ i 8` L )0 )p )@ f ) yʩ ؝j0lm 밫 }nolmFG w嬤؍؍؝ ؝ q) q )حk͸ d`H@h`h``N8`  ) ⬤Ȣ؝@ݼ@ʈL KIJHȢݼ ^魼)Jn 8  ؍ ؍ 2H8 ع)JJJJ Ȣ؝I؈ h(8H  h(8Hh(`ؑ@`@ȱ@ ` r@@8Wq ^鮣ٍٍٍHٍ8hqJJJJq2)q@` r%I -) 20@q)N8` @LL =@ ȹP8` i` ם0 B )( ȹ`8m8m@8` G8`F } r }P⭏)@N8`q)@J טyרםqq)׍q 밑 LȹL@ȅH@IL,0` rD }ﭩ: SH-)N 0 $q)@kP8` 2  dHqefe h`yٙ٭yٙ٩`H 1BFG 3%&N    ܮ `J HH hh` 0@ tL)lL S_Xܝ ݝ0ȩFG  0` ܅F݅G ` \ Sͬ 밽܅F݅G ` \) S$ L`LHH hFhG܍ݍ 8 `FHGH  hGhF`ݹܙ݊`@Bɼ>K@J5 V9X(K VXXK تKo`V8`no` "on VI9XX`)&HJJJh`OeNeO࿰ V9XГO`@ȭ@` ON <NJKO`?>х=d<<>=?ILBJ DքEdFCJJJJ֍nH}IC J֭֬։/)DI@+8`@Ae C!$|1OIIJK,-NOPQRSu' @   !"#$ Ԡͭ HB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?<>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDL ֽ ְ& .Vӈ  JJJJH 8h Ei 8EX`'8`jӍWӥC)p> pӥCYӍY 轊( ( ӈBV ( ӭp0 \BkJ ՠ@iӦ> Ӑi'j:ZH i@ioZZH h ѐȭnWǥBJ Ӱ8XӦ>` Ր+>*L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| 0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌18V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``  / XʩXύX X %   % ɍRH hɛɘɉɈ $ Ld :Ldې)ɮ۰ɺ' Ld  : X ( % ɛ$ɘɉ ɈL :Lɍ)ې)ɮ۰ɺH h 'L  ġLL ̹L)'L ȳL O'F ʻ ̹(((L $ʩ $$ $L `ީ % K@D EFby LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ  ح o âXoύX`1e0e21ʆe dk)i/ k Lkdha+ # nrdcddpqt$q0c)crorcc0enib ` r )pqn  Эht X l)lhЏL2  9 X [ J  dgdshUj" !# wgjdg. wg'g%s wghg%s w h ɍ1Ɋɋɉɛ kʽ/`L2LY g Xȱl蝀igt 9 X   (L $ `dm &m &m &m &mlemmli`{g8s [t0{2H* Lh2  Xȱl i L `κºú` \GQ H ?h8 S / ?8 V []bj \ ^e_f a  i  \ 2EL 0 8`0)H ""H"h8 ek)E/8`HZ; [:HZ"h+h`8h`/Ȁ򈘍` L   `H0H"hHHH HHH "hpHH"VHH; [*i)    +hhHH"""8h/ ʎ S` ?8 r 0 88`  Can't run next application.ProDOS Error = $ Please insert the disk: Accept: M Cancel: Esc!QQ*!AA!V!gfCard Driver V1.1Tony Requist ZAB> Interface driver for serial to parallel converter interfaces, such as the HotLink.AAIKJLgL>gLCgLSgL>gL>gLdgL@g0`0`2g Fg `H wgh`Fg)`Fg wgjH)8h`)08``Tg,lg,sg0 kgP g g` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \LMN$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Robert Bowdidge ZAB> Generic interface driver for parallel printer interfaces that can handle only 7 bit data.AQSRpdisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \TUV$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Robert Bowdidge ZAB> Generic interface driver for parallel printer interfaces that can handle 8 bit data.AAY[ZpLgL=gL@gLQgLTgLWgL\gLmg0`0`g `gHg DgP2``P`0``Т`,``5``5X`` 8 H1 ghi0 g gL gjH gh`g ggg g` ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \\]^$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults;Dumpling-GXa` =Grappler+ (P)ih =Image Perfectqp  Interface driver for the Microtek Dumpling-GX parallel card./yx Y AAbdcLgLAgLDgL\gL_gLbgLggLg0`0`g lgPgVgiSgP2``x ggx X`0``Т`x,ϭ) P5X`` 8 H1 ghi0 g gL gjH gh`g ggg g` ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \efg$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Tony & Robert ZAB> Interface driver for the Grappler+ (parallel) and ProGrappler cards and compatibles.AAjlk{LgL8gL;gLJgLMgLPgLUgLwg0`0`g VgEgP2`` Ug`0``Т`zg)zg) P5``5X`` 8 H1 ghi0 g gL gjH gh`g ggg g` ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \mno$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Tony & Robert ZAB> Interface driver for the SMT Image Perfect card and compatibles.x Y AArtsLgL1gL4gL[gL^gLagLfgL}g0`0`g gP2``g))P5`0``Т`g)P5``` 8 H1 ghi0 g gL gjH gh`g ggg g` ,lg gjH,sg8h`)0-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \uvw$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Robert Bowdidge ZAB> Interface driver for the Applied Engineering Parallel Pro card.yx Y AAz|{xLgL3gL6gLUgLXgL[gL`gLug0`0`g xgP2``xg))P5`0``Т`xg)P`` g g`Tg,lg,sg0 kgP g g` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)p-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \}~$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Tony & Robert ZAB> Interface driver for the PKASO/U card. A A;5 i/yx Y AAfLgL3gL6gLHgLKgLNgLSgLcg0`0`g [g ]g`` SgxȍȍX`0``Т`xϭ*X`` h. p'ȥ [z΢`10z \ f&zȥǑȄzȑ ԤzȘJ g`    w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Chris Hawley ZAB> Interface driver for the ALS PrinterMate parallel card.5 i/yx Y AAfLgL;gL>gLSgLVgLYgL^gLcg0`0`g DgGg IgP2``xϭ ɩX`0``Т```)P`` g g`Tg,lg,sg0 kgP g g` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)p-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults!QQ*!AA!V!gfCard Driver V1.1Robert Bowdidge ZAB> Interface driver for the Videx Uniprint card and PSIO parallel port.x Y AAoLgL3gL6gLLgLOgLRgLWgLlg0`0`g ogP2``og0P5`0``Т`og)P``}ghLx g pgjX`0`g xgsg~gJg zg` g,sgwg) wgsg`Tg g,sg ,lg gjH,sg8h`)p-lg8`  w` Z] xh8+ h% h ' )i i]` O\ xh8 h h ' i`   `  [`Ji  ` / Z] Z \  i] \$38h: i շ`G R`gL,o{ǷηYLPlease select a slot for this device:Slot 1Slot 2Slot 4Slot 5Slot 6Slot 7+ iBY  Y )YY YY  +w `&ȱ ȱ!"ȱ#8088   Wk i ! ` 6 <.j}C B-x|Di| D ' T Ș8`H @H K ihHi hh`Empty8`x,F0d 빐(L ֹVC8mH hH hXX !(L"#(L(`乕 `.h}E!  E{ E8`kvBA8! P  Yx X,F`.\ }C: \ 6 <.9}C TL :h }C. \ 6 <^h}Ci TL 8!8i } C E`5AMYeq}olume /track number: ofBad blocks:blocknonePlease insert a diskwith deskTop V2.0into any driveIn drive: APlease insert disk:Pathname not found or not a folderOperation canceled due todisk error:Disk too fullPathname/file not foundNo device connectedUnable to access diskWrite protect tab on diskNot a ProDOS or GEOS diskNot implementedTwo disks with same nameGEOS Kernal designed by:Brian Dougherty Doug Fults~AQ!!ш!I!A~IIGS Clock DriverAndrew WilsonThis clock driver is inThis clock driver is intended for use with the Apple IIGS internal clock.@LLLtL}LLL0`<xU;H0 "8hhhhd8dhihihh, N(``x08H8HHHHH0"8(`el`` ]d`L^H&Y p\hL"qɀ Ɏ eɁLɂɊLDqɃ LQqL۫ q`prLL s J] L^phh ^L^HXHLja Mii  Mq Td ȱ e M L{^Lq΅ !M rέ! M ` q }e q M L^ja0 4= ` } ;m R `,P`8`  L 0a"EClock driver error:This machine is not a IIGS.xH0 "8hhhhd8dhihihh(`x08H8HHHHH0"8(`D Lw WLٸ  LʽMc a `_:^[ ]\A P(8  b ZY` kj/if hg ed`B BB M / iB` 6B $'1 9/ BY $LiC CCC` 6C ,7A 9? Cd ,Li "$,48A  Meii ` `,m0 BF bA i  BLYZ ߼\] ߼_` ߼`Gde ߼Ȯgh ߼Ȯjk ߼,m0 ߽C ߽LEi htT ƾP`dD PR \aApPEAP$D0bBH B hB`800 DLXD0 `lnD0D0LRDLD0L DL'B  lLL LL*L   z zh, N(`) e }8``x      (`/8 i:H h L kr```LDqɃ LQqL۫ q`prLL s J] L^phh ^L^HXHLja Mii  Mq Td ȱ e M L{^Lq΅ !M rέ! M ` q }e q M L^jaPX ƿDžٿ8 … ` G m j\qpo n lBY  Y )ZZ YY  \ `x(  ѷ 0"EClock driver error:ThunderClock not found.x D 2 D D 2 2 2 2 D`/8 i:H Bh L xHlF D   h`) e }8`D L2 L ø ?LMc a `_:^[ ]\A P(8  b ZY` kj/if hg ed`B jBB Mҹ c/ iB` 6B ߹'1 9/ cBYҹ ߹LiC CCC` 6C 繩7A 9? cCdҹ Li "$,48A xԹ x eii ` `,m0 F HbA i  BLYZ \] _` `Gde Ȯgh Ȯjk ,m0 C LEi htT P`dD zPR \aApPEAP$D0bBH B vhB`800 DLD0 ;`lrD0D0L DLjD0LǾDL⾩OB  llLLŻLLLLLLLLF jB`EAP`b vB `E2"Y v Y02Z Z vB `Y0E0`E3 Z vB `BE6 Y v `E] vBLE` vBL'C  llLLżLoLLLoLUL`Ged gghHhhD CD0DCHC C hC`E2"d F d02e e FC `d0 E3LۼE0 e FC `ed ʽE0 Eg F `323333333333ed ʽg IE0L;g0E0 Eh FC `191010110101Ej FLEk FC `  Lý<H80h800i `08 i:` `$F0UA P = 8 H =h = H =h = H =h =$G0 `YY YBHB jBhB Y`B B`҅`e`ޙ`0( zBԹL@8 zC eeii LEF B}ھBLG C}CL BLF0%D d  o D 2 `D0 j o d ? oD0 dL?%365C6W`]`$D0L$DLL "E sr p c&5265BLonqpFGm`Set time:?Set date:~AQ!!ш!I!A~Timemaster DriverAndrew WilsonThis clock driver is inThis clock driver is intended for use with the Timemaster H.O. card.@LLYL  LLLLLL0`<xZ;HQ>   y yh, N(`) e }8``x         (`/8 i:H h L jq````LDqɃ LQqL۫ q`prLL s J] L^phh ^L^HXHLja Mii  Mq Td ȱ e M L{^Lq΅ !M rέ! M ` q }e q M L^ja : k `  Km й -`Džȱxɲ ȱ`8`  z 0"EClock driver error:TimeMaster card not found.x    𷩰     𷩍 (``/8 i:H h L xH 淍   T T T T T Th(`) e }8`D } wL ոLW LHMc a p`_:^[ p]\A P(8  b pZY` pkj/if phg ped`B -BB M &/ iB` 6B '1 9/ &BY LiC kCCC` 6C 7A 9? &Cd Li "$,48A ; ; ˹eii ` `,m0 F bA i  BLYZ ]\] ]_` ]`Gde ]Ȯgh ]Ȯjk ],m0 ]C ]LEi htT DP`dD =PR \aApPEAP$D0bBH B 9hB`800 DLֻD0 `lnD0D0LйDL-D0LDLB  /lL_LL^LLL^LLǻL^LFF H -B`EAP`b 9B H`E2"Y 9 HY02Z Z 9B H`Y0E0`E3 Z 9B H`BE6 Y 9 H`E] 9BLHE` 9BLHC  /lL_LL2LLԼL2LL#Ged ]Ǽggh hhD ] kCD0DCHC kC khC`E2"d ]d02e e C ]`d0 E3LE0 e C ]`ed ]ʽȼE0 Eg ]`323333333333ed ]ʽȼg E0Lg0E0 Eh C ]`191010110101Ej L]Ek C ]` iʍY L<H80h800i `08 i:` `$F0UA P  8 pH h  pH h  pH h $G0 ] w ]`YY BHB -BhB `B HB``e`ޙ`0( =BLo@8 =C ˹eeii LEF HB}BLHG ]C}CL] HBLHF0%D '  2 D H ]`D0 - 2 й ' ? 2D0 'L?%365C6` `$D0L羥DL۾VLc "E on 3 c&5265BLjFGm`Set time:?Set date: c&5265BLonqpFGm`Set time:?Set date:~AQ!!ш!I!A~Z-RAM Clock DriverAndrew WilsonThis clock driver is inThis clock driver is intended for use with the Z-RAM Ultra 2 and 3.@LLYL . LLiLrLLL0`<4;  PȦ , N``) a)i e ``   mmm`zxvtrp8 i 𿊙``mmmm)mmm`BI`````LDqɃ LQqL۫ q`prLL s J] L^phh ^L^HXHLja Mii  Mq Td ȱ e M L{^Lq΅ !M rέ! M ` q }e q M L^ja9   ־m [ `x uz Wx Wv Wt Wr Wp W з(`8 i 𿊙``mmmm)mmm` u ܷ ܷ ܷ ܷ ܷ ܷmmm`a)i  `)e `D  L `L  LӽMc a `_:^[ ]\A P(8  b ZY` kj/if hg ed`B BB M / iB` 6B -'1 9/ BY -LiC CCC` 6C 57A 9? Cd 5Li "$,48A ƽ" ƽ Veii ` `,m0 KF bA i  BLYZ 輅\] 輅_` 輅`Gde 輍Ȯgh 輍Ȯjk 輍,m0 轩C LEi htT ϾP`dD ȾPR \aApPEAP$D0bBH B ĺhB`800 DLaD0 `lnD0D0L[DLD0LDL0B  lLLLL3LELL3LRLLѺF ӽ B`EAP`b ĺB ӽ`E2"Y ĺ ӽY02Z Z ĺB ӽ`Y0E0`E3 Z ĺB ӽ`BE6 Y ĺ ӽ`E] ĺBLӽE` ĺBLӽuC  lLLLL5L_LLLGed 輪RgghhhD CD0DCHC C hC`E2"d 轭d02e e C `d0 E3L)E0 e C `ed 輪ʽSE0 Eg `323333333333ed 輪ʽSg E0Lg0E0 Eh C `191010110101Ej L轥Ek C ` U L<H80h800i `08 i:` `$F0UA P  8 H h  H h  H h $G0  `YY BHB BhB `B ӽB` `e`ޙ`0( ȽB"L@8 ȽC Veeii LEF ӽB}(BLӽG 轥C}CCL ӽBLӽF0%D  D ӽ `D0  [ ? D0 L?%365C6``$D0LrDLfL !"E on c&5265BLFGm`Set time:?Set date:`$D0L羥DL۾VLc "E on 3 c&5265BLjFGm`Set time:?Set date: c&5265BLonqpFGm`Set time:?Set date:_ ;AUX RAMdisk! :RAMdisk II   =No Aux Driver`!! =Screen->Laser!  ?Screen->Printer   7GEOCALC|Lt t :GEOPUBLISHH*H, =SMALL PUBLISH&NH3H5 ;GEOPUBLASER_ 6L`. ^ .  ,Install.data  9 9 8GEOCHART t t 7GEOFILE' qf& f +Photo Scrap  ???W f6fxcf0fxc<AUX Drvr V1.0Doug Fults H &RhLVSLRRAM disk driver for RamWorks II, RamWorks III, and MultiRam auxiliary slot cards & compatibles.!!LjL6إB2EB 0  B'.L`00  ` `HEHDH  zB02E"@  P_  xt@ k @e  @eDDE % k( hDhE hh`TU`%@F G*`H hi hȢ Ȣ  x (` DE` `U а `@@@@x () 2 F  ޹  `O`xg@ kƅY (` H 麘 : 8h `AUX Ramdisk W ͺ``x HHsIsI 蘝0shh(Jf`x s!(`x s!(` Y 6])'Y Z  |'} ,`xB R(Q0 }`FGEYD CQTLxB R(* Yi[i\ e? 8YZi[i\ \[  ^ 7 ` ^ ] {'| }`JJJJ%YY Y bY    F jF jF j ) 8j Y E Y /i YȊ8PjY Y ` VYA `QT X&ӠˠӠϠԠYY`wx u*v````P 0`0`PP1BHH hh`s ks`UuUuUUUUUUUAUX Drvr V1.0Chris Hawley LRRAM disk aux driver to enable the RamFactor, Laser 128, AST Sprintdisk, & some other RAM disks.x ()" " `" "#d``FHTxB#CEYDGF (FB# (FhF`x`f@ k` (`###0 $P`05 G F%L G FL G#8`])Y Z P8`U`%@F G*`H hi hȢ Ȣ  x (` DE` `U а `@@@@x () 2 F  ޹  `O`xg@ kƅY (` H 麘 : 8h `AUX Ramdisk W ͺ``x HHsIsI 蘝0shh(Jf`x s!(`x s!(` Y ```L0`0`L L``L`` ``fEDɼBɿ6P R&fedDPE `fPdDeE ` LLBP0LLB  ꘢`0`ɹ` `HHHH8B ͢   qsr٢  ghhhhqrs,0,0 HhLH`hL,0L`) 8j Y E Y /i YȊ8PjY Y ` VYA `QT X&ӠˠӠϠԠYY`wx u*v````P 0`0`PP1BHH hh`s ks`UuUuUUUUUUUAUX Drvr V1.0Chris Hawley Select this Aux Driver if you have no RAM disk or own an Apple Memory Expansion card.``x ()  `x` (``FHTxB#CEYDGF (FB# (FhF`x`f@ k` (`###0 $P`05 G F%L G FL G#8`])Y Z P8`U`%@F G*`H hi hȢ Ȣ  x (` DE` `U а `@@@@x () 2 F  ޹  `O`xg@ kƅY (` H 麘 : 8h `AUX Ramdisk W ͺ``x HHsIsI 蘝0shh(Jf`x s!(`x s!(` Y ````0`0`L L``L`` ``fEDɼBɿ6P R&fedDPE `fPdDeE ` LLBP0LLB  ꘢`0`ɹ` `HHHH8B ͢   qsr٢  ghhhhqrs,0,0 HhLH`hL,0L`) 8j Y E Y~ ̈́~!UQ~!BBAUX Drvr V1.0Tony Requist H QhL?RLAux driver for sending screen dumps to the LaserWriter. To use, press

`?>`i B8 N`8` B8鯅 N`8` r w` r t= r t0.r"ʎr w`r r w` rͼͻ teP` xrr`Lx xLx xFfLx΃UH HtHȱ…Åȱą i ws! phh`٠} ~th` s sP`8`8``e81ei`΃I̓k Dx6 w1 x, 9x'XWXW j`}L~tHH hx whh hx x`8`΃ l`LwLfv ,A 3 q@ ft8` Lu  mt˅wtt `tuuuuu!nR6h Lnu` tch Lnu tH fh hLnu tih  e`a z8aiAޥe``8hwHHH HHee v fvhh hhhwH(`       ww hw8`wee `vvȱ eP`` `  $hL v v v v` v  v v`  `  ǬvvvvvvvvvͽH Dx xh Cw 9x`h8` B" H `8` }w N`8` B` }w H`8`΃J͚͙͛͜* Dx x mw 9x` =8``# B8鯅 N`8`P΅HH 3hh ?`8`>ݾ8>Pߥ`J&Pee`  yɀ Cw y xP`8`>`>`8鯅JFfP` y xeeP`H uU…ąÅt fv h`y fv@!  `wm`υ΅ U| z 6_ { Uz 3 q@ 6 < Z B Z lC o/ {?L{Lo,?LdzLtz 6 d HL` z`Ͳ{ ʊ BLzH fzh)  )% #{{β{ 3Lq@? fz 3 q@` 3Lq@ ?`HH _@ zhh{Lz{β{`  )A ))A ))A ) &|& }3{{ `3`HH HH H H{{ { { )A )  { {{{h h hh hh`{{ { {`{{{ { `E8 }|`ʅ|| ʅ` ||||8 8PL|i iPL|8L|iH chL|h g d H H ` g UzLzF` g a 9a΅υ ` dLH U R˅`dd /ɊEEEELLLWWWW||WWjjjjPPjjSSSSyySSH++++++!OOOOzzOOOOOOOUUOOOLoading index.Adding index.Removing index.Mapping index.Initializing index. BSWClick OK to continue, Cancel to enter desktopFont too large.Can't cut, copy, or clear a picture.Can't paste into a picture.No text scrapclosing file.saving subset recordgeosapplsfileeditmodeabout geoFile... display... preview rename...R updateS print... close quit undoZ cutX copyC pasteV clearDel form design data entrynoneNewDefCan't remove from empty database.Bad record request.No space for data.Record not in vlir.reading data.writing data.opening data file.No space for field in record.loading geoFile from disk.in swappingReading layoutWriting layout (none)(none)No more records in the subset.In subset definition : WARNING! Disk near full.EPlease move/delete files from disk to continueHHH \I / C RChhhL GEOFILE V2.0 A  p fLIC ?YYZZ 3 A .-L [/Z)7/Z[, ii .-1 @LIC`Both geoFile and data file?must be on the same diskOin a one drive system.LLELfNLxN L ȱJfhh uH( `hh$eKL" ?LiHH"JH)HjJJJJ o/ h o/ h ohhiiHiH$H 8 , H o: h 0 oh P,Ahhi( MLТLoɀɎ,) Li Մ fㄅݠ }` LiiC deLMNOPQ LJON FREDERICKSON   `  k  ? b  `  B B  LY`  ޢ : LY `   Y "YY    2 LY+~PG 2 LY c/` ` L  `JON FREDERICKSON 6L9Assign single-computer license of geoFile?to:This GEOS kernal is licensed to:This copy of geoFile is licensed to:If you have not yet purchased a copy ofgeoFile, please do so.Cannot install geoFile on a ?write protected disk.Error installing geoFilegeoFile 2.0 installed.  "Ep   b 0 @ P"U  ? b E"E)@ / e. k # tuwvy/xz|/{~}! #"%$'/&)(+/*-̅ͅpqrs˅ʅɅcdf3΃ֆYUA WV YX҅ԅ ӅՅ < x&NEI / 3)@ U / 6  c\ } B g cdL LE} } /C>`} P    i    )      ` ) LDLD A -ރ.߃L` J` </` 0``     `?A@ ?MBN ee e ie +d@`[Z?PA @ ? f,?8B? ? ! `?8uB m@ mA A@B0 -eP e  mB?eШmB`,+ c` A   [ZP f8O ,+ c iH dh id +d@`8pO i i O0 ,eP e  mOeЫmO`}   A P[Z.- '  c8LP),+ c @L CLH hH hiLL L i  !` +do@ +d@ +dC@`8sP8 i' i 'P ,eP e  mPeЫmP`.-HP ,+ lTY F Y 8h )? H YCYDh`h`ȑȩ ȑ88` ee` ā \ `STUVWXYZ[\C L L* L L+L LLL Lp L LLLL *{eABU rC a 2}, cd p ^_ D`V`a}Q`}IxIII cL9a p LV8`8 `8`  bL b &[LE` I& a!   8` $  8` e Q 8`` diiii LA d88  c H` ca dL   AP  gI / sa H a I H V b~}LRF0  "`` U 6 < Z U c g I H  `ii c8ȱ8  Za la EL9a M la xL9a`9;:<`=?>@` c@f W_ U` N c H d ca   H S 9: ` Lf_fF0<f H_  c ^_ 9a Za  i c eLQ H V la Ta ` Y `2')pq% _ gZ _')@ _ 5Z _`  `AB8rAsBet8pC`F0< a7f W_ Ta ca S Oa   cYXԩ֩ ` LZ`fF0af U  K$ Za e Za M  x ca ^_f  Za la  H_ 9a `e HLE c L^_ ` L9`fXFB Za  :ȱ , / Za H d  Za   8`` h8` fL O_ ( L@_ Za d88  ceeee 0 <Ȑ 8 L 8        8ii   8  i i8ii   8   i iL H d      L     Lc8p q 0F ) (68r s 0%  / H   LL g 8`( Za lae  e `8`A` CU 7U8` I%f W_ c c   la N `fF0! c f 9a ^_ H_  Z `L_88 88 `` cŐŏŎōLe>=:9L     7H   _h    Za L_`:9>=`@? b  < ; L b H`Lb` U{ d saiiii { G` `  ;` ` a88   {  G` ` 8`L`TUTU` `L H[}EZ}Lbe m8 `c P b D`e J` Iec e`H 8b wgi}i~ AO Wb h` d H ` H[}aZ}Lb vb b E`ŋŊ` Q Dc a  aHH gȱ G Ammhh` g S`   8`` L@eeɕ#  U8``/ ,ALD d HL` ` g` `  a a Dc eLQ Dc a`   e Q `ɉE  Dc a  a`F0 > [  ` [ `f5E8 ٳLaI])@ʅ ʅ`EL-LJ Ld LrɈLɕLɋLɊL fL`΍D,/_#qx\HHH\L5L8L;L>LAL5L8L;L>LAxBA ABA(`xBA/AB(`xCtC(`xCC(`xBA 8A ABBPBA(`xBA& mAABP B/A(`xti C 8C CPtC(`xCɵ mCCDPC(`HH ` HA  'Ʌ B xE 'Ʌ hh`DCP BAŀFłŁ88pq e!eɿ8``H BAP$H DCi iii HH I1ŏHHH  hhh hhh`ii) #>`ii)(~$(`EEELEEEwwwEREeRfEREGrub  ZLV  u8``A BAPB DCDC cY[Z\ U` W_ af .  C8pDqet, / -Lf_')pq  gZ `')@  5Z `fF0F U`8,CDpmCCqmDD  H c #af   H_ ^_`C, C, `A B `, /L-BAP DCii / H H e` cB A P cD C  i i ii H8``A@DBCA#A CADBABLABLBDAC#B ACBDABLABLA DBCA`DDCC`There is not enough memory to make this change to the layout. Buffer overflowˍ ]  ȩ xt Un( PA M ^ ^` Ld^  9 0]"DD  +R d  秢LM ` 3  0`"DD  E  n `E C^_`abcdef LLL LLL$ L* LELL'L `L- H [} Z}Lbe ŋŊ:3 H `c P b D`e J`3 Ie`H 8b wge e wgHH hhL J Wb h` T ~}  AO` d3 H H3 CU d : ` H [}>Z}Lb vb b `H e  7U ~/}Lz ~} h`  H` ~ } 7n`H // Hh`i}i~)}ȱ~m}}m~~}~}` a` ` H ca e g T. f"!*)~}P8e ~}L fe}i~ ~ } 7n g T~} g d I R挩2 U8``F0  `` 9ae U0 6 < Z"1!*) f ~ } o g d I b U Za la( H ` CU 7U` Lf  ^ sXW22XW 0l kՅԥՅԅP, 6h 8(XW @8`XW`W-X55` `l66`  - k }m LP4XW6 !C f` kՅԭXW XխW`    `   1`24 V `l +d( `l !C a >`24 V `l !C a >`XWLf{LboLb PU 7U PU8``   s+ @` ^L'XW k k( 6hXW WXW }m L !CLf6 !CL h @LE {* a  U kWX2ԅL 6hWXXW XWWXW2 }m4 f cd @_ 9a Uce3܆4V  ^_ 9a a}.`}IIII` ELE`1~@rd~@d~@d~@d~@d@)@5 @DH NkLdN N _LdT N SĢLdk`Y`~-'sqF9bFQGGpRmGKGJdsGGGFl GGL ΃ E ft 3 L D`HH hh 4 >` a`HH hh E >` a a Dc PU`ɉE  Dc a  a PU` ʅb05 4L'L kLY0 BL6XW6   }m !C f`ʅb09XW3WXWH )fh eF0 LXW` ʅL  kLY0 +L*6%) 6hXW6   }m !CLf4WX f aL>` 6hʅb0BXW>WXH )fh eF0 LXW`ʅLN1',NѪ_UUUUWѪ UUUUF0 [ 8`E8 LaI])@ʅ#0 ʅ`׽߫qNivCFGFL@XHWH hhXW !CLk DϩL D©L  D H  !CLf { @`XHWH # y )f Phh8`[ @hWhXXW j` u8``XW j[ȱ<eHH Hhh PP`8`*XWKY0 7MA=`WXW` 6h XWY0 L `WX`8`΃ \ v  `K `l `# `L9 ۢ '@ ΅ W ft`  '@ ̓܆8` ft`cL{t m`8`}L{t m CU`8`L{t m͸`8`͚͙͛͜`8`The index file :is not usable.needs updating.It is out of date.The type of a sort field has changed.A sort field no longer exists.A sort field is now a comment field.Do you want to remove this index?Do you want to update this index?  ΃  , 0DJ"J  ΃  , 0DJ"J11qqqqq1 No field matched this string:There is no search-string.There is no data. no indexThere are no fields in which to enter data!Returning to form design...recordsubsetindexgo to record...Gnew recordNdelete record...Dexport...Eimport...Idefault recordWset default data...find...F use subset... edit subset... create subset... rename subset... delete subset... no subset create index... use index...Do you really want to delete this record?No data fields in layoutCan't create a new recordCan't seem to add this record.hijklm5 LL L `L H [}Z}Lbe ŋŊ:3 H `c | P b D`e J`3 Ie`H 8b wge e wgHH hhL ; Wb h` T ~}  AO` d3 H H3 CU d + ` H [}/Z}Lb vb b `H e  7U ~/}Lk ~} h`  H` ~ } 7n`H // Hh`i}i~)}ȱ~m}}m~~}~}`ع qp` `XW j `8`98 㩗 j 89`XHWH88W9X LWi8Xi9hWhX098 89`;Hd985 b0  .  Q  ((` P Da e` )LBA Lׅօ  nڅم 9a  \L )E-'߅ 9,ee    LQ`8`` P  {8`` P  {8`` cd D`8C`eمeڅ 9 L\` H A A '@h` 3LIC L@ٽLI  `012345  ``98``! 85 '`H H h`qppm(qm) q)p Ei(i8pqte 8  Pe`H G# ` P {8 h` #` L ` P` P`85 RL9`HHPe hh`F ɛ5`x76u(`x76(`  8LmP` Q`((((PPPP  'U 'T `LZ-)(LmU Tȱ P`ɪ Z` ` x LWiXiL98 YLmHH xhh8FKȸP}Fx 0x` d'HXx{Xh xHhX`x h5`Error encountered when initializing printerPrint error: couldn't load in current record.Printing the buffer(blank record) Printing... Press mouse button or ESC to CANCEL Current record: ------------------Feature not implementedIncompatible driverBad printer slotNo card driverNo printer driverNo response from printerYPE>BADTXTBINADBAWPASPPASCMDBASVARRELSYSA maximum of 8 files maybe placed on the border.Not set as default.Error:driver is in border area.This file can't be printed from theOnly 1 file may be selectedfor this operation.This will copy all files on sourcedisk to a folder on destination diskThis file can't be opened from thedeskTop.Please insert a disk withThe fileis write protected and can't be deleted.opqrst L  1  9 /A >I Y 4Q M"Ma  a  a  a  5a  ^a  Mֹ{}L  T Թ  `H Lh pS`` h b 1`XHWHXW LP L 0 hWhXH )f }m(h` 6h( jHH f hh PH }m )f(h`  b 1` >NHHȱ  7nhh  1     `` >)  1  ii ``Ȱ"  HH 1hhP` 1 1 1 1` CU U 7U`  +dYY Y   *P W q` '@ ULt `p , 'p i 'ԩ֭8)*8)98)J8)S*R7 i9RF iJRU iSRd ia= ixZ i  LoE I ͠ȸP`L TMBCSAM^5YLYL8) Lo`8) Lz`8) L`8) L` UL` UL`17L@FLOUL^dHH9 F8 3hhF 98 3`7=LTZHH 8 3hh 8 3`1N7O F@NFO FONUO F^NdO 6 <9F`7t=u lTtZu 6 <`B G Text Scrap@``` P5PـS!\Ynffl8Text Scrap V1.1Export DataBlank recordCurrent recordSubsetAll recordsExport to text scrapExport to merge fileopening the data folder (or top directory)while saving the text scrap * w ""   օLq `L ^#暥 ԅP`8`` ,AL ޅׅȱ ߅؅ ȱ `  Lq    |  (_Lq ԅ؅ׅ .ۤۍׅ؅  `ii ߅ޅ) )7 2i ȥi ȩi i ȥi Y `  ZY `݅܅ Y  ㍣⍢ ` L +d +d Yڅم) )``HHHHHH HH H H 8[Z + A #P,߃+ރ,+ h h hh hhhhhh`HH [Z  A ,߃+ރ ߃ރ  hh(` L L !L ?L 3L WL L iL L -L `8`vwxyz{|}~ L L kLY   H `  h(  ,A c ftLE̓LE  ]  p   ,A c ft̓XHWHXW shWhXL~E ]" B@ N < p`܆ 6h`` N L; P`  Q`_ w 'U 'T `L tL HHHH-) hhhh`t(L U Tȱ P܍T`ɪ Z_ `ݢPP âPHHHH hhhh`HHHH blj hhhh` HHHHii D hhhh`Hi cdefgh8ȸP} 0cʢh`HF ɛh(`xH\[h(`xH\[h(` 3 Dž ?` 3 ׅ ?` B H` B N K` ]$  p`8`LEeŅeƅdDždȅ_ >N@ kυQ@ k` 6 </_ >N kυQ k> 6 </@A>[  ! AŅeƅeDždȅdALZLY/ ]} x pz (ԅՍ0d 6  B>P )0 ( ! ~ Džׅ I`H ph I8` BTM  H; # ^ d u F Pթ``8`81eie` եɿɺ )0Յ `H HH 8d8  ;hhe梢 h`ȱe&  PP`8`e`o ;@!  ֎` m` ]L#800| ^  BnZHHHH Nhhhh(ee8P p`8``H  Wh `h8` ]/i B#080 N p`8`HH ]A   6  ^  d ? f  p hh`hh8` ީݩ` >0 `i B'" G   P`8` H  he0e ` 8` `L B- ! 8  Nߩ ީ `H h8`H hH dh `8`,Kj   `,Kj   ` G, K Ej `H  ene h`H $   AhH h `h8` J   *`H  LhH iY Y *8  hiYY`h` ee` H  h $݈e݅ݐޥ/ɻL`H  I< / $ $   Ph`HH Յܥԅ dۭn^0 ܅إۅץ؅ׅ&e0e ^  gLhh`hh8` ץ*إ؅ׅ&e0eڅ م& e0e ؅ڥׅLڅ٥ ץ*إ9 W  .L ץ*إiאإ W` ץ*إiאإ؅ׅ&e0eڅ م& e0e ؅ڥׅLڍٍ ץ*إi٥iڥ Wڭ(`8ڭ(`Յإԅץ48٥Ff WڅإمL`؅ׅ&e0eڅ م& e0e L8hHHH HHee ߢ ;hh hhhH(`        h8` ee `cdȱ eP`` `  $hL | | | |` |  | |`  `  zwzw˷w    +" `4Xwۨ6h L` Ich L IH fh hL Iih  e` a z8aiAޥe``HXX 4Fh8`h`H0x Xh`h`((((PPPP d' Sorting... Reading... Writing... Merging... Press mouse button or ESC to CANCEL Current record: of ------------------sorting database file.A )  L LLtLSLwL5LyL?LnLO ܩ n '@ L^ LLo A r B \dLwLIC`ԩ i i M @P D A D j i8 y  n ?LaEɠ ,APL"  .1߃0ރ P    J  3` ,AL   ?H 0h`TU?@ WXÁ>AV Md ftA B>NLc ML~~0$%&'( I $` B pLc +d@B BLcAi B&A HRQ`B B J +d@`) H)`Y#Y`iD B_) H) I`] ,A Md` B+> H΃ k̓`A BB B`i BEREQBADC8A鉅ALc`݅ g A8܅  '@ ZJ @  ` ,APL AqpɃL  D nLaE ,AL" A  n ?_w)Ϣ '@G CB,b,a0Á .Á Z# v   w1߃0ރ`8`; @8` y 9A ML MLLUT@AAA Zi bAPTU`UT`TȱU` [/ .-YL`photo album Lf .G iL@ c A AAP ` A *  '@`` } f B> cdXWL L }LIC C q@ ZÁ Z Pj 3  C`^]`_UU:ʎUid B H  S aP jm` jm8`8鸅韅8 7 WkP`ٿ``U\`Uā`ޅTLiLTHOGGIKN g A *  Z @ ` ,AP魞``   sL'@Z[8``ZDžׅ```p 6 c N] JInsert new disk into disk drive. حש ˍ`Ex ~%XYLצLx@@)*: A GEOFILE IM V1.1GEOFILE V1.1{L'@ Xo D$ +0 E :S A ,+   '@  DEDBLD`Aʆ AeOe` BOA HAS`H +dAOϣ@h`H +dϣAOh`@ B` L w + P? 4U j4 ԙ/ L  ܙ 4U# eH U @UDLR U gLy`` UM+ U υ΅LV υ΅``A K{ ʎ`8` d H ILNS U0 @8`` 莢 '@`8`  堭L@ U 6 < Z` ee P,`ʆ ee`A` CU 7U8` z   `,Hͅ hHeh`D UvL f .UVWL曢 ȱ *`x @$ʎȱ 3`8`HH{ β{ ZhhHHg bL9hhLZȱʊ 8``L ͮg $ HH '@ hh `hh`L ` .$B HH Bhh B D` BFU0 qH )h(Ph( ΝH )h(Ph( ۝H )h(Ph( 蝩H )h(Ph(LPP 6  ~@rd~@d~@d~@d~@dU@֣\@b@g@0 N3Ld6 NNLd< NLAB NnLd, ͅ ̅N 0N uݢLdF0#)0&BYTR,/ƬDެ&*tX@L@~]@I'@I9@IK@I]@Io@I@I@I~^%0TuB5V8f;x>A L HH LhȘ))J  iH`H ͅ ̅N 0NhL ԥ ԥ BVfx*BP)@V)x)f݅`Qas` L *L@LI P`8` LڠL@L +do e 8*` H`HJJJJ h)?`,@,,,] Lʅ˅,b uLLL}H hL mL HL H ~; @ P }`)J  ee *0)? 8 Pi00 ` ee`  la`HH  hhꥋHHL}Aw PUr K{ h k( ǨZhhHHȱ b{2hhHH hhȱHH MhhLΨhhLhh`HH hh U`LM S`(L'@@L'@HH{ β{ ZhhHH bLԨhhLZȱ  M8``-fp  d %"%-fp  %"% d O`H ` d c '  HH ca_ bhhh`H geeQ8R h mQQmRR` g !g "c :g8 5cQ8QRR`ȱ "c J 5c8`e` )2P`P$ȍP፥P '@ 8`iLiLiLiL '@ ի`̫īÅ LAOgYL^LKg߲g0g g  !!#+  m!!#;gOnly computed fields have a result type.Only numeric, date, time and booleantypes can be formatted plain textP boldB italicI outlineO underlineU type...4T attributes...4A delete field...4D format...4F result type...4^T new layout...N delete layout... rename layout... recover layout...layoutfieldfontstyleField:(Picture)You can't rename the Main LayoutYou can't delete the Main LayoutNo more layouts are available.This field's type, cannot be changed in a sub-layout.In sub-layouts, you can only change from one non-data type to another.This is going to change the type of this fieldin every layout. Shall I continue?Boolean (YN/TF)Comment Date Numeric Picture as dataPicture-commentText Time Computed field Error in loading layout namesSet attributes Draw field name Don't draw field nameSet field typeDuplicate which layout?New Layout Name:Are you sure you want to delete layoutRecover this layout? field data field nameThis action will remove this field from alllayouts in the database. Continue?Remove all data associated with this field? xx point xx point xx point xx point xx point xx point xx point xx pointBooleanDate NumericText Time Choose result type : Choose format : unformattedTRUE/FALSE True/False true/false T/F t/f YES/NO Yes/No yes/no Y/N y/n unformatted hh:mm:ss AM/PM hh:mm:ss (12 hr clock)hh:mm AM/PM hh:mm (12 hr clock) hh:mm:ss (24 hr clock)hh:mm (24 hr clock) unformatted mm-dd-yy yy-mm-dd dd-Mon-yy Mon dd, year Month day, yearunformatted 0 0.0 0.00 0.000 0.0000 #,##0 #,##0.00 $#,##0; ($#,##0) $#,##0.00; ($#,##0.00)0% 0.00% 0.00E+00 0.000000000000000E+00  g L LWiXi 6h '@ c  U`&,γβXWXW``&  B Ŏō L,  L,  L, +  L,   ixi  `; o G` 8 9`ō U  Dž f_ZxY\w[AWAX 8``BͻAͺBA  `H8x  P,HH hh iiŎō hLB A   BALLLF0 U` c` l  U YL|}~ 1| 5  r  l`F`K H>Ŏō& LL U L} `E L YLXYLXŎō@Lh1#!γβLh U LL} `E  09`L U YL-fp  "%%#n /"   8rwȸP}r| 0|` d'   '@ U 8``F04T_6 } P `  ` D` BT_6} G`  ,AL ` LbHH %Ln iiȱ  v HhL)  @hh8`hh`AZCAaz9709/-HHh _ȩeh8`` 3Z  ߅ޅ    R ,A8LG ?H 0h8 B   r  Թ  % q@(`` b ` XHWHXW LP L 0 RhWhX )f }m(`  6h8HH jhhHH f RhhHHhh }m )f(` b `HH %LaeHhȱ  HHH 3!hhL, 3 hhLphh`hhh8`υiեi֥օՅ@Lk* 3 3`HH %Lȱ  0 7n0H0hȰ  H 3L 3 hh`hhh8` CU U 7U` ग़إ暥Bɳm` {iiم k  E B (} ,A8` (e؅ٍׅץ8ׅ؅iiօՅՅץօإee k`إ {׍ E (`υ8υ飅) c) f ,A8`` _@Z  ߅ޅ  `  q@`܍ ` !  ߅ޅ  ?LB  L3PR_/Filename:opening disk.Illegal character(s) in this field:creating merge filecreating merge filewriting out merge pagepointing to next merge file recordFile exists. Please choose another file name.N  A  % Z @   ,AP魞``   ΢L'@ Z t / .-YL `Z[8``ZDžׅ```p 6 c N] FJInsert new disk into disk drive. ۭک &`Ex ~%XYLڦL ,0 [ WA`, [0 6  xLG a}7`}IIII 2 cdL3 G` ܆8:  * 6 NυLi < B B  Li c:: ą  iZ#8" i#/"`   ܆ۆ ۆA Z܆25L2*2B B c +d@L~E L,A ~ ^ '@  I yL~E MdL~E  I y P驀 +d LG*  @`YiD B c~ ,A` +d_@`F0 [ A`Т b` PU8``  ֠ @ U2 !C`E8 )LaI])@ +-LSI`Y  R @LMdg  '@NRI8YAY qiD B_) H)  ,ALMd I yLL`Y Yi`  R @ MdL~E N '@AR<8Y qiD B) H)L ,A MdL~Eυ`   @L L[#ƍ  '@:# #  LY q2LL~E ML@ > '@b<R8 ȱ# HH '@hh!##  LR8Y q` oL@ . '@ѭR #% @LRY)Y  YLH Mdh <ȱe8镅8 RʊiD B 6T B 0 LLK=L,AR <ȱ#$ fȩ?ȩ` #C B# H  ,A8` `:eȱ8<Ff`C B# NL,ALKHH <ȱZ ihh``p  !!# [\ b D`<L-fp ("% ( խԩ $`Ex ~%XYLԦL&QRTȱUVȱWXȱYZQR80Q8RQ8S Q  Wk VW  [` 6 <.j}C B-x|Di| D 'SQUT r .Ș8S`H @H  ihHiRZ hh`8SI`x,F0i (LP [C8ImSQQHZ hRRH hXXVW(LRXY(L(` `.h}EQ4I $ E${I E8`kvSBAQ8S!S P S x X,F`.\ }C: \ 6 <.9}CS rUTL.:h }C. \ 6 <^h}CSi rUTL.R8S!I8i } C E`5AMYeq} sr t`E   rsL,YLLL Z RSS RL Z RQ8SS RZ VWLSR iR`R80Q8RQ8SL,SH?H@H '@FhhhA>?@ 0 ZA ` =؅`h@h?h>8`L,A  A` Biwg Biwx @ ? ? ՍLE I ȸP`  L PF x YLYL??L0 ?L? 6 <{y`y{ 8 3{ y8 3`@@L @L 6 <{`{ 8 3{ 8 3`@? >`8`p  3 =O FZ bd br!!#'K/K7[[ Z ? u  F0  eLu` L>>P>`  F0  eL` L>>P>`> 6 ؅BL`Aʆ AeOe` BOA HAS`H +dAOϣ@h`H +dϣAOh`&ȱȱȱ8088   Wk @  ` 6 <.j}C B-x|Di| D ' + Ș8`H @H ee ihHi hh`8`x,F0i (L  [C8mH hH hXX(L(L(` `.h}E4 $ E${ E8`kvBA8! P  Hx X,F`.\ }C: \ 6 <.9}C +L:h }C. \ 6 <^h}Ci +L8!8i } C E`5AMYeq}  `E   L,YLLGLj   HL  8  L i`8088LAOYLLError in loading layout namesChoose layout to display:Background patternHide picturesHide fontsWhat is this doing here?d 'LHKh`0,%! `8`$,,,,, , ,,,!,@LhLh 8p q    \ H eppqte ut h xu8u uwvy x    `` q pq p  _ Hp8 pqt8u te  h xutte w LL& Y 8088   Wc  `ȱȱȱ` 6 <&b}C B%p|Da| D '  Ș8`H @צ h`H  ihH K h` i#i`H \ hH K h`i `#H"H#C" z h"h#`HH č  P _ Phh` `HH ihh8ȱ o`8`x,F0i (L [C8mH hH hXX(L(L(` `&`}E4 $ E${ E8`cnBA8! bP  x X,F`&T }C2 \ 6 <&1}C L 2` }C& \ 6  ,A8`  R݅ ?DH 0h B c 3`r` cd C8`٩کLCԢ b` PU Uii `CC`)_ 0N . `8` 9 : `,YL  ٥CLnYL  .  z iC8DC Y L 6 <#q` ة3שC    L y d 38   C`i 3ȑ`ۑڑ`H ii h``8`LLLL 6 6 31|x1f1f1f33f>fx~p U"%]"E b b[[  ~p u v  * 0 "EppvpJ,J  RE p    ǀx@@x(D|t((DD  ݆  , 0DnJ"J  ݆  , 0DJ"J݆?t  ơGEOFILE INDX GEOFILE V1.1reading index.The index file :is not usable.needs updating.It is out of date.The type of a sort field has changed.A sort field no longer exists.A sort field is now a comment field.Do you want to remove this index?Do you want to update this index?Not found!Can't find an index file for this database.Select Indexfield #Sort Order1234New index name : creating index file.File of that name already exists.Current disk : descending orderignore case?Select sort field 1Select sort field 2Select sort field 3Select sort field 4 LE L LL/LLLLG LL! L g,7 p  cd D   x {Lti%t%m !qեp%eppqq~p} ~q}p8z%z8(%())`8t%t8 % !!Յqԅpzi%z%m(()`  / ' G` <4/ B4/ W* l[ Done`F` [P x (L a0 U+ PU&7ȱ LF`,b0e98eȱ (q  8`HH fH  fehehh 8``HH f~} fei [hh ]\HH f~} fei hh L z~y}m}}~~} ZLJs0r`HH rhh8ȸP}r 0rr` d' zyy}z~ yL3@L`P  E  I /P  E } 7IYiD B c ~ ,A MdP ~ '@ +d@L/HLQH J` <P`7h a  c:: f  iZ#8" i#/"L 2}, 9aa}p`}L^_7 L-``E8 7aLaI])@ tLSI`΍ D,/_#qx\HHHL5L8L;L>LAL5L8L;L>LAVPZP^Pb L`~}LTS   Z L SHȱShL Z  ~-%% ` Ѝ ɍ Z   `F0  BACP L Z  8e1 ( Pӥ'U) O e0/ȥ'8 8 SȥSSȥS/. S0 {`bL/IE0  LL` HS)@h LShH Z X S ȥSh@LSiSS iSShHH h h  pLLJ` ) 8`  m.m/ S S׭H S/.0 hS): */. /.  P /. F`/.#HH ~ hh0 LQ {` ~ L>  `SȱS` P8` Z X 9 SS SSȱ L`S S`H S/.0  u)S   u) 6    eS) h8` SȱSP,   h`,S)LH-H,H 6 9h,h-` SȱSH u h`  8eHH hh`S)3 # HH hh`/.0`)  uP `) `HHA 8eh h 9` 8ei`A `SȱS)- '  eȥ ` S SȱS SSȱSSȱS `) P` S`C AB 8`` `L H[}dZ}Lbe 8 `c 6P b D`e J` Iec .e`H 8b wgi}i~ AO Wb h` d H ` H[}Z}Lb vb b d`ŋŊ`~@rd~@d~@d~@$ NLdTd7$^D\P\]]k6]E IYYLNYL` ލ`HH yhh:; b#" /[ ! m my `::)`;;y`8` m b\ m b "Lm`>=:9 b]<9[ m]Lm`< `ȩ 2>=]<9:[ m b m :<`f mA (>=]<;e8`r mP>=`9eiLbŋŊVHH UE CU@ 7U;e +8eȱhh8`hh`ȱ)``HH yhh:; b5" A)fHH hhhH( m my `>=:9 b )<989:fLm`<98:L#rstuvw9eer r H *89:>= b m<:`Щ[ m2 f;e8`ȱ mP] m>=:`LbŋŊeHH UT CUO 7UJeȱ(8ehh8`hh`0 9``Load the subset now? + - * / Subset: f3. -fp ?%"%  `хЅ`ȦɸP ЦѸP`~}` L 2   #^ }V KP }H B }: 4 }, &# }#mW W X  K L ?N  .  ԥA A Zԍ D }>Q,2  . H cdh ,Aqp A jVZ ߃ރ LaE꩕# Vȹ  giiȱH H H 8  H H eh h h h h:  @m eL[  T*U A  6[ԍ `g `   Q  iQ  Q  Rٜ RRʊ 8 `88  ` ?A i&i' }'&ȱ }!~ x }!s x }!h x }!] 'W }O  I }A ; }3 x }R( " HA  A  6[ԍ `EREQ 0  i  i ee giiȱ:  Ё` 5 AB B* Xi c +d@ԍ ` ? ' AHH 0lhhԍ ` o }cN )e( }8   MnУ-`8` t)x t  `= 08@ 8A ` AA  BLc VI `KTU UT ii ` /ԍ V օՅ l@ةשمڅ߭nۭoܭpݭY)jk  =03 jk  jk   *` 0N(0"ڹ 2  "ٹ   ` 02ɜ * ةעؤ` Dc a  aHH gȱ )mmhh`   8``H geeQ8R h mQQmRR`80a{8 ~ʈ`8` ``08 i:`ii 8e`HHH cp~p~hipihhLicLo 6, o JL9 `hdhedȱdȱd  L hdhed L  B Lconverting fileConverting Main Database Layout...Converting Record of Converting Sub-Layout of TIMEDATEwhile opening file.Main Layout L  '@ UL ` b i 4 .,),ǭXHWH e [ ,AhWhX`8L@L@ A 3߃ރ  L { բ< i# ȱ  B  O, ,AHH q@hh` A ,+ lKR ɀ@ ȱ  B 1 BB A AP  @`CL,A` i ]  '@` .`. bQH    ڢ '@ h(`hBP bBȱ (L ` h2  `[ ,A8`8`   `   AH Ah` A` H Ah`P AD O8* A + OL  A* ,   ``-ii  vb8``  (  LeH  Pjh`)H A 0l fh`H B   ҅ Mnh` h    ܩ `` @1BB%! B  BB `LAՍ ` cp,,pii=Import from text scrapZImport from merge file LRE I ȸP`"L TM&.6DYLYL R` R` 7=TZHH 8 3hh 8L37= TZ 6 <`Import Dataopening the data folder (or top directory)Text ScrapNo Text Scrap found on this diskopening the Merge fileopening the import filereading the import fileSkipping non-existent field name:Skipping non-existent duplicate field name:Click OK to continue, Cancel to cancel importing.(Empty Field Name)No fields in the import file matched.No field data found in import file.Write ImageChoose Merge file to import:  4M"M D 6-fp  s  !%"%-fp    !%"%p > R i* #LqLrLtLtLtLtL uLTuLxuLuLhLhLKiLjLjLnLoLk m\ nIykk e J & & & & }** }**  8ة  )8@E))e n1 l l)`LnLi l >kH i!0;1 m) l m& nlLj) ) l l mLjh)8AIiLj*```I`kHhλk`ᢷ۩kλk`袤⢷ܢ " (2 8  l 8 ) lƬ Nm)ɀLnLn`L9l)8@e080H 6lhHJP m mh8PhJ)ʊ0 0` n` u`mm 8` n kl )Ln`mmmmJ*)P *`  nJJJJJ)`H@ khEG 9l o 9o noE.G 9oFE no  nP0 nG nLnEi@eɀ nLn nLn) `,, ,,` Po e o 9o \o \o eee Poн 8`F \o FP` ` Po0 :80`8` \o"0 mLo nG` Po+ - ``HH ohhHȄ kh`)H l lh k )  9l0)1Q )  ) )~ )߅ LGp欩 ) 8 0 NmP  2m )8@  ) /赤) (i888 L$pP  )@( q$ qP - q  qP Oq  . q q  Oq ) q ) % q )@ ) q l l` q n q )8@0e80 80, q`i0,0`E q+)8A  -8 q kʊ q 8kLq Ą䃐IĆ䅐 IĆIĄ䃰 IĀIĂ䁐 IĂIĀ IJ񦈽쉅` t8≥ ㉥8䉥剩艍鉠 Ŏō ㉥Lr8≍艥㉍鉭Őŏ 剥䉩뉍ꉥŀ58ꉥ뉭䉐Lt8ꉍ䉭뉍剩牍扥ńŃ58扥牭≐Lt8才≭牍 tLt t8 ቭ≰.8ቅm艍艥m鉍鉭ቍ㉭≥8 剥䉥))e)m艍艭牅扅 牥扭鉅艅 鉥艭䉅Őŏ  ꉭ㉅≅扅艅뉅ꉅ`8`` xu q`et8pq舵8rsʈ`epeq8t舵eresʈ`HHHH hhhh`qppezqisrri/si`  #   ``HH qppezqi  Yvhh`HH qppezqi  Yvhh`)}iP~i v P v 8Pqp L`hdhedd kL @LkHH_ vhh_ v_ x+ ;x x x\ xP6?9*& x*?& w w wк  Ю w8` w8Ћ w`\ x`  xP8``hhHHHHHH`hhhhhhHH`hh0hhhhPHH` (x` (x`;x az8 `*HHHHHH@ k* hhhhhh k`HH Pnhh) o`8` y x` t| |` z ${`HH$ y): z 7y): z Gy) z uy zhh`   )  8 $pLTy )LTy)ty z0 ty z zty zLz  a zLyp zmLzHH z sz[ zR  sz z;A  sz z;0 z  Pp  i hh`hh  8` ^z sz ^z sz 80} ^z Bz ^zHh` -/: .,`8``0123456789 iz`8`Aa Pp`8`` z` 8 Pi0Hi0h`HH { z> :ʎ sz1 z *ʎ  sz! z   sz  z hh`hh   8`)%) Lz$ {$P) - 0 z &|) )- z Q|`)  Q| {$P - 0 z &|`$P 0 &|$- z {) - z Q|`)  Q| {$- z)JJJ-1LLo|LTy5 zA zMLzYe zP` ) Ty) NJ z z`) 0, z z  o| LTy | |8`,`1tT yY`8`0fF nN`8`m$Pi z)) iઊ zPLzHH*@ k* w}hh k`IJ 7K } X~ }`ɘɇɟɇ) G,)ʽ `)   퀸P [LÂLɂ -~ `%=  >朊I`0@ ~;I K KKLɂѡ 7 dK`I80~~ `:~KLɂ SK  LLÂL 퀈 '    e枥ɞɇ8`KLɂ S 'K-\" 퀠P" Pө  Ƃ`KLɂ 7 7`KLɂ ɟɇL̂ G` G g8`^&<>mM=!%~-+/*()f" |` Pn  Pn `)`0:8`J - J`梠K`H h`e栠ȥ`ɠɇ8`ȱ8` j j ς` L` L `ɿ8*``,,``Bad field referenceBad constantExpression errorUnbalanced parensBad argumentExpression overflow G Ղ!H  hՃLh ɂ`hLhLjLjHH hhLς Shh  Lς o ` S wLL  0 L`ȱȄe`   `0 L S 0,1 `"#0 001,0 `,,,,8` GH  h-  S  %5hH h烪Ճ ` h ` `8eePڥHH ShhƞƝ` S Lς ck ́`00 PH h`EnK╎ 1CPL@ k 080L0 L04H mmhLP`d 'LHKh`0,%! `8`$,,,,, , ,,,!,@LhLh 8p q    \ H eppqte ut h xu8u uwvy x    `` q pq p  _ Hp8 pqt8u te  h xutte wvy x    ``   h `P ᆰoHHυ )H) hh)H h&hhυw h`hh h  `8```-)HH hh)HH hh) HH  hh )HH  hh` ٳ`χ( k  `+(/'-  =M^Mm?No disk spaceFile not foundDisk write protectedI/O ErrorMissing or unformatted diskBad disk blockBad file formatScrap too bigRecord not in vlir*_2_` Lj 0P* %` _`ȱ%4 퀠 퀸P۩f  T$ ̀~  % 8` L̀ɼ`"  ̀P 퀩" & `%0$`$8ȸP}$ 0$$` d' w}`1`  xxxx (2  V  b b b   : : ,+ hiF iM iQ 57 R[ "[       4  O  j        y  Z  ^  U  ԩ 6h $ N    L8`--DDD ō  P u P [  LEE I ȸP` L BCSAFTHNQD !4O)7jgrYLYL =` `17L c:H:HXfXf`p , 'ح8)8)8)8)BDAC  ΅R7 i݅RF iRU iRd iׅ|Li g e` `  e` `cI}@C i G` ; 9 [ `8` F0  e`Vb8 ji֥iLO  i֥iץ `8` rF0  e`Xb' j8,*ׅL8ׅ `8`@a( iLׅօ os&& i G` YL9 j  օׅ```` [     L  G`L9 AN `8)  LE`8)  L`8)   L`8)   L`BDAC` PL   [L@FLOUL^dLv| ΅L9 FHHHH HH8 3hhhh hh8 3`1I7J C@IFJ COIUJ C^IdJ G` <9F` G` A L HH LhȘ))J @``` P5PـS!\Ynffl8ÚkPhoto Scrap V1.1Photo ScrapText Scrapz{`ɀ`ōM@|| u Y aP H ]Q _ r aP )oPzP ` ry6L`&c{cQQ -p"?!`8?`8gx`>80@>8@@ @ @|@@@|$@@@D @0>@@ 0 0 @  O @|  p>8   L  B`  B   A@ @ @ @ @@ @@@ @@ @    @  @ @       ?@@  `AA@`! 8  @ 0   @ @    @@! b`@`"" "@"@" "` 0"@"@@?# @#0@$C$$=|@#ǀ@#x# "@"@p"?!%.%%' '@'''',,,,,,, `4JUNK  5Notes  UYUYUYUYPaint Image V1.1geoPaint V1.4Paint Image  +C ;J JZY F Y 8h )? H YfYgh  | I???s\ \ aM \  ] eF ꍈC ( s\ \ aM \ Z ˑ ??7 \ Z ! \ \) )`  :#a" Y Q ,\0 YLp 6 <a` 6 <a`` c +R \ >] eF ꍈC ( s\ \ aM \ Z ˑ ] eF ꍈC ( s\ \ aM \ Z ˑ  B1   \) )`  :#a" Y Q ,\0 YLp 6 <a` 6 <a`` c +R \ >] eF ꍈC ( s\ \ aM \ Z ˑ ] eF ꍈC ( s\ \ aM \ Z ˑ ] eF ꍈC ( s\ \ aM \ Z ˑ  p  @@   \) )`  :#a" Y Q ,\0 YLp 6 <a` 6 <a`` c +R \ >] eF ꍈC ( s\ \ aM \ Z ˑ ] eF ꍈC ( s\ \ aM \ Z ˑ ] eF ꍈC ( s\ \ aM \ Z ˑ *iyO |t*+,-.o WVr,:/QvV>*iyO |t;/ @B  @ B 0@0B@D0D FD A A A ?A ?A ?A4dFcCBB3PPUCBBgcBHCBB19D'iEBHhPEB(03EB  @B  @ B 0@0B@D0D FDAAAA ?A ?A ?A x?A)VaDDBBXg D"DBBdq&rDBB"fFi8gCBB95SEB$EBYrEBY39dEB`The rate is 9.9% with nothing down over a term of five years.`For each 10% down, there is a discount of 0.3%`Also, for each year off the term, there is a discount of 0.3%  Nh3Uo|  8 _ /J ! ]=F m zP / cM"vr w_K &p 0v down_paymentfinance_ratemonthly_paymentpercent_downpurchase_priceterm_yearsWr7:Yw/s = Z182_ DSCNT*(0APA0@          0A     0A     0A     0A     0A     0A     0A     PA0A     PA4 T ov_Fi1FiiTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT//>#ooP$$ eUQ!AgeoCalc Img V1.0geoCalc V1.0geoCalc Img  +: ;A J$p`=) I  Y  VUU [  iF7;> 89: R>*fzV|lFBX.0f     LLLLL L           LL                  Press < save current sector into memory buffer > restore saved sector ( toggle map display of erased files ? help (displays this guide) A[ff,tt] ASCII dump B[nn] Boot track number of sectors per track [More] CHANGE: CHaddress,byte,byte... (hex) CAaddress,data... (ASCIIx Allowed for imbedded hex CHfrom-through,byte, e.g. CH0-7F,E5 CAfrom-through,byte D[ff,tt] Dump (hex+ASCII) Fn.t Find file Gnn CP/M Allocation Group nn H[ff,tt] hex dump K[du:]filename[.ext] Dump sequential memory to disk L Log in drive LX Log in drive X M[nn] Map [from group nn] [More] N New disk P Printer toggle switch Q Quiet mode (no msgs) R Read current sector Snn Sector nn Tnn Track nn Unn User nn for Find command (CP/M-2 only) V[nn] View [nn] ASCII sectors W Write current sector X Exit program Y Yank current sector into sequential memory Z[nn] Sleep [nn tenths] /[nn] Repeat [nn (decimal) times] [More] Cancel a function with C or Ctl-C Suspend output with S or Ctl-S Separate commands with ";" Example: G0 +;D;Z#20;/ would step in, dump, sleep 2 seconds and repeat until CTL-C is typed All "nn" usage except "/", "T", and "S" are hex (use #nn for decimal) (See DU.DOC for complete examples) fyo#x}/o|/g#ɷ|g}o&҈,%ƒ}o|gBKx¤!ñ T]xʱ ç:`} *}"W*.:^#"}"W^#"~#2~#2^#"^#"^"!?~:w*6 "U"Sw.:́:́&"Z would step in, dump, sleep 2 seconds and repeat until CTL-C is typed All "nn" usage except "/", "T", and "SZ3ENV ˀ PPB:SH VAR NZCOM Z3TNBGZRDS19LBROCLEDINSTCOM'PCLEDSAVECOMQCONFIG LBR*RSTCOPY COM5UCPSET COMVCRUNCH COM,WEDITNDR COM3XFCP LBRRYZFF COM[HELP COM%\ NSWP - A disk maintenance utility. Dave Rand 10232 - 160 Street Edmonton, Alberta Canada T5P 3E9 - 1 - NSWP 2 - A disk maintenance utility I N D E X Page Introduction ........................ 3 Overview of NSWP ............... 4 Invoking NSWP .................. 5 Single file commands ................ 6 Help ........................... 7 Forward and Backward ........... 7 Exiting ........................ 8 Finding a file ................. 8 Viewing and Printing ........... 8 Deleting a file ................ 8 Copying ........................ 9 Renaming ....................... 9 The Space command .............. 11 The Log command ................ 11 Introduction to Multifile Commands .. 12 The Tag command ................ 12 Wildcard tagging ............... 13 The Untag command .............. 13 The Mass copy command .......... 13 After the mass (Again) ......... 14 Erasing files .................. 14 Squeezing and Unsqueezing files. 14 Setting file status ............ 15 Epilogue ............................ 16 Credits ............................. 16 Contributions ....................... 16 - 2 - NSWP 2 - A disk maintenance utility Introduction NSWP is a new disk utility than can replace many of the more common utilities that are used, such as DISK7, PIP, PRINT, PROT, SQ, STAT, SWEEP, TYPE, USQ and others. In only 12K of disk space it replaces over 100K of utilities! NSWP is written entirely in assembly language, and will run on any CP/M 2.x, 3.x or MP/M based system with no changes. Since it is coded in 8080 assembler, any 8080, 8085 or Z80 compatible processor will work. Note that this program WILL NOT run on CP/M 1.4. When NSWP was conceived, the dominant file utility was SWEEP, and thus NSWP is syntax compatible with SWEEP, but with many extensions. This allows you to directly rename NSWP to SWEEP, if you so desire, with no retraining period. I hope that you enjoy this program, and use it well. Any problems, or suggestions may be directed to myself at the address on the first page, or on one of the following RCP/Ms: Edmonton RCP/M - (403) 454-6093 (300 or 1200 baud) Stadium RCP/M - (403) 479-3450 (300 baud only) or voice at: (403) 484-4114 Disclaimer and warning While this program has been tested on many systems, I will have no liability or responsibilty to the user or any other person or entity with respect to any liability, loss or damage caused, or alledged to be caused directly or indirectly by this program, including, but not limited to, any interruption of service, loss of business, anticipatory profits or consequential damages resulting from the use of this program. Furthermore, although this program has been placed into the public domain, I retain all copyrights to this program, both in the U.S.A and in Canada, and pursuant to this, this program MAY NOT BE SOLD BY ANY PARTY unless specifically authorized by the author, Dave Rand, in writing, previous to the first copy being sold. As well, this program MAY NOT BE INCLUDED IN ANY OTHER PACKAGE FOR SALE, even if this program is indicated as being 'in the public domain'. All of the above applies to both the original as well as derived, or modified copies of the original. Any modified copies of this program MUST NOT have the copyright notice violated, changed or altered. Please report any copyright violations to the author, at one of the above telephone numbers. Thank you. - 3 - NSWP 2 - A disk maintenance utility NSWP Overview NSWP is a directory and file manipulation program. With it, you can copy, delete, rename, unsqueeze and squeeze files. The documentation following is split into two major sections: A tutorial for the inexperienced, and a reference section. The reference normally will be used in conjunction with the program to answer specific questions regarding NSWP. The tutorial is a broad coverage of all of the functions, and should be read through at least once. The most important thing to remember when using NSWP is that it provides a list of your files in ALPHABETICAL order. Moving around in this list is quite easy, and will soon become second nature. In this documentation, all user input is underlined. As well, when the"current" file is referenced in this documentation, it means the file just to the left of your input. This"current" file is often referred to as the file you are "on". - 4 - NSWP 2 - A disk maintenance utility Invoking NSWP To make effective use of NSWP, you must know the various options available to you when you invoke NSWP. Here are some of the options: A>NSWP This format simply loads NSWP, and scans the default drive and user for filenames. Once inside NSWP, you may change to a different drive and/or user, but when you exit you will be returned to the drive/user that you called NSWP from. A>NSWP *.COM This format loads NSWP and scans the current drive and user for all filenames with the extension '.COM'. Note that NSWP can find system files as well, so no additional information need be given. A>NSWP B:*.COM * The presence of the second asterisk indicates to NSWP that you wish to scan all user areas of the indicated disk drive. In this case, all '.COM files on all user areas on drive B. Combinations of the above are acceptable, and you may even log to all user areas, and find all files with the specification '*.* *'. Once inside NSWP you are presented with a menu, then a report of which drive and user you are logged to, how much space is taken by the files you have specified, how many files have been found with the specifications given, and how much space is left on the disk. A sample follows: Drive A0: 596K in 36 files. 735K free. A special format of this line shows that you are logged to all user areas: Drive B*: 950K in 234 files. 2956K free. From this point, you may execute any of the menu options. A special display occurs if no files are found with the specification you have given, or if there are no files in the given drive/user area(s): No files. This display may also occur if you delete all the files out of a given specification. When this occurs, your menu choices are limited to ONLY 'S', 'L' or 'X'. This allows you to see the free Space on a drive, to Log to another drive/user, or to eXit. No other choices are valid, nor will they be accepted. - 5 - NSWP 2 - A disk maintenance utility Command Structure There are two primary types of commands in NSWP: those that act on one file and those that act on many files. We will go through them both. Before doing that though, let's try moving around in NSWP first. To move in NSWP, you must first understand that the files on your selected drive/user will be presented to you in a sorted manner. The files are sorted in this order: Filename, File extension, user area: 1. B0: -WORK .001 0K : 2. B0: ARCADD .COM 4K : 3. B0: ARCCOPY .COM 2K : As you can see, the files are numbered for your convenience. You may not directly use these numbers. As you can see, the file size is also shown (rounded to the nearest block size). Note that if you have enabled the reverse video sequence (see Epilog), you may see some of the letters in the filename printed in reverse video. The chart below shows how to decode this information. FFFFFFFF RSA 12345678 /YR |||||||| OSC 4. B0: ARCDEL .COM 2K : As you can see, this looks confusing. Really, though, it is not. The tags F1-F8 normally are not used, but NSWP allows you set F1-F4 for your own use. The R/O tag means that the file may be read, but not written to. The SYS tag means that the file does not appear in normal DIR listings, and in CP/M 3, MPM and CP/M 86 also means that this file is avaiable to all user areas. The ARC tag means that, if set, the file has been backed up since it was last accessed. Now that you understand how files are presented, we can go through a sample session. Remember, user input is underlined. - 6 - NSWP 2 - A disk maintenance utility A>NSWP B: NSWEEP - Version 2.04 04/04/1984 (c) Dave Rand, 1983, 1984 Edmonton, Alberta Drive B0: 850K in 64 files. 118K free. 1. B0: -WORK .001 0K : 2. B0: ARCADD .COM 4K : 3. B0: ARCCOPY .COM 2K : 4. B0: ARCDEL .COM 2K : 5. B0: ARCDIR .COM 2K : B 4. B0: ARCDEL .COM 2K : B 3. B0: ARCCOPY .COM 2K : B 2. B0: ARCADD .COM 4K : B 1. B0: -WORK .001 0K : X A> Help At any point, you may request the main help menu by pressing '?'. 1. B0: -WORK .001 0K : ? NSWEEP - Version 2.04 04/04/1984 (c) Dave Rand, 1983, 1984 Edmonton, Alberta A - Retag files : Q - Squeeze/Unsqeeze tagged files B - Back one file : R - Rename file(s) C - Copy file : S - Check remaining space D - Delete file : T - Tag file for transfer E - Erase T/U files : U - Untag file F - Find file : V - View file L - Log new disk/user : W - Wildcard tag of files M - Mass file copy : Y - Set file status. P - Print file : ? - Display this help X - Exit to CP/M : cr, sp - Forward one file Moving forward and backward As you can see, the two most common commands will be moving forward and backwards through the directory. Either the SPACE bar (), or the RETURN key () may be used to move forward. To move backwards simply use the 'B' key. Note that all commands in NSWP can be either in upper or lowercase. Internally, lowercase will be converted to uppercase. If you reach the end of the directory with either command, you will be "wrapped around" to the other end automatically. - 7 - NSWP 2 - A disk maintenance utility Exiting To exit, just use the 'X' command as shown above. This will return you to the same drive and user area that you invoked NSWP from, regardless of anything you may have done in NSWP. Finding a file Since you may have many hundreds of files selected, you may wish to move rapidly to a particular file. You may do this through the 'F', or FIND command. 1. B0: -WORK .001 0K : F Which file? BASCOM 8. B0: BASCOM .COM 32K : The Find command always starts looking from entry number one. You may use the standard CP/M syntax for wildcarding (eg: to find the first .HEX file, you may use *.HEX), and also note that the Find command will fill all blank spaces with question marks. This makes the search strings 'B*.*', 'B', and 'B??????.' all find the first file beginning with 'B'. As you experiment, you will find other interesting uses for this command. At this point, you now know how to move through your directory, both rapidly and one step at a time. Let's move on to some more useful commands. Viewing and Printing a file The View command, invoked with a 'V', will type the current file onto the screen unsqueezing the file if required. Note that this command will NOT prevent you from listing ANY type of file, so you must use your own judgement on what can and cannot be listed. At the end of each page on the screen, view will stop, and allow you to abort the viewing with a ^C or a ^X. To get one more line from the file, hit the space bar. To get another page, hit the or RETURN key. The Print command, invoked with a 'P', will send the current file, with no modifications or paging, to the current LST: device. You may abort the print with a ^C or ^X. All other features of the View command apply. Deleting a file You can delete the current file just by hitting the 'D' key. Before deletion occurs, you will be prompted. 12. B0: CDP1 . 40K : D Delete file? Y 12. B0: DEAD .DAT 100K : - 8 - NSWP 2 - A disk maintenance utility If any reply other than 'y' or 'Y' is given, the file is not deleted. If the file is deleted, it is removed from the list and the next file is given the current file's number. If the file is a Read Only file, you will be prompted again: 12. B0: CDP1 . 40K : D Delete file? Y R/O. Delete? Y 12. B0: DEAD .DAT 100K : Copying a file While on any file, you may copy that file to: A) Another name, on the same drive/user B) Another name, on a different drive/user C) The same name, on a different drive/user NSWP will prevent you from copying a file to the same drive/user that the source file resides on. Other than that, there are no restrictions on where you wish the file to be. If a file exists on the same drive/user that you wish to place the destination file, the existing file is deleted automatically, even if it is Read Only. When NSWP copies a file, all the attributes of the original file are passed on to the destination file. Thus, if a file is a SYS, R/O file, NSWP will cause the destination file to be SYS, R/O after the file copy has taken place. 12. B0: CDP1 . 40K : C Copy to (filespec)? C9:BACK.CDP If you wish to preserve the name of the file, you may just enter the destination drive/user part of the filespec (eg. C9: in the preceding example would have copied the file to drive C user 9, retaining the name CDP1). Just entering the drive part of the filespec causes NSWP to retain the user number of the source file. If the filename is followed by a space, then a 'V', the file will be verify read after it is written. NSWP maintains a CRC of the file as it is writing the file, and verifies this CRC. Renaming files The Rename command ('R') may be used to: A) Change the name of one file B) Change the names of many files C) Change the user number of one file D) Change the user number of many files To just change the name of one file, the syntax is simple: 12. B0: CDP1 . 40K : R New name, or *? CDP2 12. B0: CDP2 . 40K : - 9 - NSWP 2 - A disk maintenance utility You may also change the user number of the file, as follows: 12. B0: CDP1 . 40K : R New name, or *? B1:CDP2 12. B1: CDP1 . 40K : Note that if all user areas are not specified in the logon of NSWP, the file may not be shown on your list when renaming to another user area. To change a group of files from one name to another, you may enter the following command at any file: 9. B0: BASIC .COM 24K : R New name, or *? * Old name? *.HEX New name? *.BAK At this point all files with the extension .HEX will be renamed to the same filename but with the extension .BAK. You will see a running display on the screen as each file is renamed. Any valid wildcard may be used to select the source files, and the destination files will take one character from the source for each '?' in the name. An asterisk qualifies as filling the remainder of the field with '?'. If the destination file exists, the rename is not made. - 10 - NSWP 2 - A disk maintenance utility You may also choose to rename a group of files to another user area, optionally changing their names as well: 9. B0: BASIC .COM 24K : R New name, or *? * Old name? *.HEX New name? B1:*.BAK This command will rename all .HEX files on drive B user 0 to the same filename, but with the extension .BAK, and place the resultant file in user 1. You may want to try this command a few times to get the hang of it, but it is extremely powerful. The Space command The Space command ('S') simply asks you for a drive code, then tells you the remaining space on the drive you specify. Before doing the space check, a drive reset is performed, so feel free to change disks. The Log Command The Log command ('L') allows you to change your directory to another drive or user. Additionally, it allows you to re-specify the wildcard mask just like entering the NSWP program from CP/M. As well, the drive system is reset, so again you should be able to change to a different diskette at this point or to another part of the same diskette. When the Log command is used, the instructions are reprinted for review. 16. B0: DD .COM 4K : L New drive/user/mask? A14:*.HEX NSWEEP - Version 2.04 04/04/1984 (c) Dave Rand, 1983, 1984 Edmonton, Alberta Drive A14: 44K in 2 files. 1118K free. 1. A14:NSWP .HEX 22K: - 11 - NSWP 2 - A disk maintenance utility Introduction to Multifile commands Now that all the commands that affect single files have been described, it is time to introduce the concept of Multifile com- mands. These commands are ones that affect as few as one or as many as all of the files on a single disk. To affect these files, though, we must have some way of describing which files need to be affected. CP/M has a way to do this, using "wildcards". This program, on the other hand, uses the concept of a file"tag". The Tag command Tagging a file, in its simplest form, can be accomplished just by depressing the 'T' key when the file to be tagged appears. What exactly is a tag? A tagged file is a file in the list of filenames that has an asterisk next to the colon after the name of the file, as shown below. 9. B0: BASIC .COM 24K :* A tagged file is different from an untagged file in that you may now request an operation that deals with several unrelated files (eg., Files that will not match using only one wildcard). A sample"tag" session is shown: 9. B0: BASIC .COM 24K : T Tagged files = 24K ( 23K). 10. B0: BRUN .COM 16K : T Tagged files = 40K ( 39K). Note that the 'T' command automatically performs a "move forward" operation. To the right of the 'Tagged files' message two numbers are displayed. The numbers are the total size in K, of the files you have tagged so far. This is useful if, for example, you are moving files from one size of diskette to another, smaller, size diskette. If the source disk holds 500K, and the destination holds 256K, you can stop the tagging operation when your size is just less than 256K. The tag function in itself does not perform any operation, other than to mark the file for a future"mass" operation. By now the astute reader will notice that I have cleverly skipped over the function of the second number display, the one in parenthesis. This number is the combined size of the tagged files, IN 1K BLOCKS. If you are using a computer system that supports many different disk sizes/formats, or a system with a hard disk attached, you may already know that CP/M can allocate storage only in "BLOCKS", and that these "BLOCKS" may be up to 16k in length. This means that NSWP would show a file containing say, 512 bytes in information, as being up to 16k long, depending on your computer. The second number in the tag display shows how much storage the cumulative files would take if they were stored on a single-sided, single-density, 8" diskette. - 12 - NSWP 2 - A disk maintenance utility Wildcard tagging Another way to tag files is the wildcard tag function. This function accepts a CP/M type wildcard and proceeds to tag all the files that match the wildcard. To invoke this, just hit 'W' and you will be prompted with the message 'Which files? ' Enter any CP/M wildcard, right down to a unique filename, and if that file exists it will be tagged and displayed. Untagging files If you can tag a file, you must be able to Untag a file as well. 9. B0: BASIC .COM 24K :*U Tagged files = 16K ( 16K). 10. B0: BRUN .COM 16K :* As you can see, the untag function subtracts the current file's size from the total then displays the total of the remain- ing files. The mass copy command Now that we have a number of files "tagged", what do we do with them? Well the Mass copy function is one of those that acts on many files. Its purpose is to copy the tagged file(s) from one drive/user area to another drive/user area. 12. B0: CDP1 . 40K : M Copy to drive/user? A14: V Copying --> B0: BRUN .COM to A14: with verify Verifying --> file ok. The 'V' is optional, and it indicates that you wish t have the file verified after it is written. As you can see, the files have been sent to drive A, user 14. If you wish the tagged files to reside in the same user area as the source files after the copy, do not specify a user area in the Mass command. This will cause NSWP to put the file in the same user area as the source file. NSWP will not allow you to copy a file to the same drive and user area as the source. The copy is simply not made. - 13 - NSWP 2 - A disk maintenance utility After the mass After any mass file operation, the tags are "reset" as each file is copied. Visually, they change from a '*' to a '#'. The files are logically untagged, and will respond as such. But, since NSWP remembers them, you can automatically retag these files. This is useful if, for example, you need to copy the same files to a number of different diskettes or user areas on a drive. To invoke this, use the 'A' command. 12. B0: CDP1 . 40K : A Retagging--> B0: BRUN .COM Tagged files = 16K ( 16K) Erasing files You may want to copy a group of files, then delete them from the source disk after the copy has been made. To do this, you can use either the 'C' command to copy, followed by the 'D' command, which is tedious, or a combination of the 'T', 'M', 'A', and the 'E' commands. The 'E' command Erases tagged or untagged files at your option, on a global scale. 12. B0: CDP1 . 40K : E Erase Tagged or Untagged files (T/U)? T Do you wish to be prompted (Y/N/A)? N Deleting --> B0: BRUN .COM If you specify Untagged files, the untagged files will be erased. You may wish to be prompted before each file is to be deleted, and you can do this via the second question. Squeezing and Unsqueezing files The 'Q' command allows you to Squeeze and Unsqueeze tagged files. This file squeeze program is compatible with the original squeeze/unsqueeze programs written in the 'C' language by Richard Greenlaw. After hitting Q, you will see the prompt: Squeeze, Unsqueeze or Reverse (S/U/R)? After answering this skill-testing question, you will be asked which drive/user you wish to place the destination files. The syntax here is the same as for the Move command, except it is permissible to 'Q' the files back to the same drive/user that they originated. - 14 - NSWP 2 - A disk maintenance utility When 'Q' is invoked, you are asked if you wish to Squeeze, Unsqueeze or Reverse. A carriage return here will return you to the command line of NSWP. If you select 'S' for Squeeze, all tagged files will be examined to see if it is "worth" squeezing them. Files that exibit ANY space reduction, even if it is only one sector, will be squeezed. If the files is not "worth" squeezing the file will simply be copied to the destination drive/user. If you select 'U' for Unsqueeze, all tagged files will be examined to see if they are squeezed. If they are, they will be unsqueezed, and moved to the destination drive/user. If they are not squeezed, then they are simply copied. If you select 'R' for Reverse, all files that are squeezed will be unsqueezed, and all files that are unsqueezed will be squeezed (if it is worth it), and moved to the destination drive/user. The most attractive feature of the 'Q' command in general is the ability to Squeeze files ONLY if it is "worth" it. This means that by using NSWP, you can archive data into the absolute minimum amount of space possible. The SQ algorithm used in NSWP is better than the one in the original 'C' squeezer, and produces the smallest output file possible with current technology. The file squeezer section was done by Jim Lopushinsky, and is copyrighted separately by him. He also has a public domain standalone squeezer. Setting the tagged files status You may set the attributes of a group of tagged files just like STAT, or PROT. To do this, tag the files and select the 'Y' command. 12. B0: CDP1 . 40K : Y Which flags (1-4,R,S,A)? R,S Setting ---> B0: BRUN .COM to R/O SYS The flags you may set are the F1-F4 flags, as well as the Read Only, System, and Archive (MP/M, CP/M 3 only) flags. Any flags you do not specify will be reset. To reset all the flags (i.e., Change to R/W, DIR and no "Sysop tag") just enter a single comma or space at the "Which flags" prompt. Note that the flags in the "Which flags" question do not have to be entered with a comma between them, as anything (or nothing at all!) will do. As far as the program is concerned 'RSA', 'R S A', and 'R,S A' are all valid. - 15 - NSWP 2 - A disk maintenance utility Epilogue All the functions of NSWP have now been described. The best way to get more familiar with the program is to actually USE it. I think it will be one of your most frequently used programs. There are several things in this version that you will want to alter: 103H This byte controls the screen length used in the 'V'iew command. It is currently set to 23D (17H). 104H-10AH - Turn reverse video on The first byte in this sequence of seven shows the length of the reverse video on sequence, which follows at location 105H. All seven bytes are currently set to zero. 10BH-111H - Turn reverse video off The first byte in this seqence of seven shows the length of the reverse video off sequence, which follows at location 10DH. All seven bytes are currently set to zero. Credits My thanks to all who made this program possible and particu- larly to Dave Mccrady for his help in composing the documentation and .HLP files for NSWP. Thanks also goes to Jim Lopushinsky, also of Edmonton, since without him the SQ section of NSWP might never have been completed! Thanks to the use of his SQ section, NSWP can produce the smallest possible SQ'ed files. Contributions If you like, use and enjoy this program, feel free to send a contribution (suggest $20). This will help me expand this program, and add even more features. I am currently working on a CP/M 86 version, and once that is running, I intend to port it to MSDOS. Suggestions for enhancement are also appreciated, and you may send them to: Dave Rand 10232 - 160 Street Edmonton, Alberta CANADA T5P 3E9 - 16 -  10232 - 160 Street Edmonton, Alberta CANADA T5P 3E9 o send a contribution (suggest $20). This will help me expand this program, and add even more features. I am currently working on a CP/M 86 version, and once that is running, I intend to port it to MSDOS. Suggestions for enhancement are also appreciated, and you may send them to: Dave Rand 10232 - 160 Street Edmonton, Alberta CANADA T5P 3E9 Z3ENVCLED Lead-in KeBackspacChar LefChar RighWord LefWord RighLine End/ StarLine StarLine EnDelete ChaDelete LefDelete Word RDelete Word LDelete to SODelete LinDelete to EOToggle InserEnter ControRecall PreRecall NexExecute LinESC Menu * =s *q0" " 1* o:]/C (e ͛4 * [ t ͨ 1y2~Ih * " >26 ~#ͨ [MI># > :< DE ES C TA :G!(~#VZ3ENVABSARCARKBADCRLC?ME?EIRLI?TLBRO??P?DTX#RBMR?LS?RSYS!"9"a+1a+:<:?p2c+>> 2X:͘ ˜*} 6i ͈®L9|* ‡!:Š>vŠ>==Š*g *g  r? ͋! 6 #pѷ}[g.Hq*bq*q}[[> q>[q]Xn įg2+: !2 įg:+}|ʵ͋1a+ Aâ:2: 2!+ w# !\)22!m~ Y )!LB">R2<*q+:c+E 6!c+!+!+!++|5 < )üV ͈! )2^#V#^#V#""22<3>!3>2!b+":<2*+"}*#"~>ɯ2!b+">go 6 ͋ ͈ f Ĉ9 ͈ *a+:Y*6#:Ø *w#":<22:<2 :͘ ʹc+>:͘ ͝ʲ:>*þ p:+:™>:a  5:+<2+G:5 :G:=aa2_ ͋q[x=2 ͋ͦ͝q_S͝qͦ2ɯ2+ 2 + : +=Š2+>  _CKXj 6_  :+= :+<2+{q :+:{ (  : !#8~R~?8#E! ͋~q#c :+‘͝˜͝ط>=r=2+:+2+:+O:+¶3O>=2+yO!+##^#Vzʤy2+z>7{?/ +| s#r# s#r#+~# ~ #J ?.J#$*)"*#"*}7+"*)"j> q> _ €:<2>jʘqÌ( ͋q_qY:͘ ><Ě222>><:͘  6>:>!d+og )>O~#)~ q#5>.q~ q#I>2͖ 2!~ +r~_U–+~$–+~ –6:/2\O _ G:ʲ:Y x22͡ Y O l2_ x22=2.#"  * >? #"  # >  ~~ =,_.:;<>[] п#~ O  6>: ڑ ґ O~ @#͖ G ʌ Ͷ ʌ Ͷ x#͖ >_> ɷ**)=® ?~0 ?#xGG+# N 7y:͘ :_>a{_ :* ~Member Not found LT31 [d[u]:]lbr/filename [d[u]:][component] [$u] by C.B. Falconer ^S pause, ^C abort, ^X next file, ^Z stops paging Type/uncrunch/unsqueeze/unLZH files or LBR members Drive/user after lbr/filename causes file output. $U at end disables unsq/uncr/unlzh of compressed files (wildcards permitted) Examples: B>LT A3:HELLO SOURCE.AZM [console] (defaults to HELLO.LBR) A>LT LZHENCOD.DYC [console] (handles LZH encoding) A>LT SQUEEZE.DQC [console] A>LT HELLO *.* [console, all typable] B>LT B:HELLO A4:SOURCE.AQM [file] B>LT B:HELLO A4:SOURCE.AQM $U [file with no unsqueeze] A>LT B:CRUNCH.AZM A: [file] ++ ABORTED ++ Early EOF, aborted exists, purge (y/n)? =>> LBR file corruptMember: [more] Corrupt or unknown format file  ...Can't type a '' file No space, abortingToo long, transfer with KMD Access denied 8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. |>{>{>{>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xŠ!;s#r# x!;s#r# x²!;: N#F#~#~# x!:s#r# x!' :vs#r#s#r# x!"% #"*# >)>*)~#fo"!;N4#"_FH4#y#xڻ#y#xQ++~p+~q" * 2Nwy#2Fwx!' yxs#rҡ#s#r!' yxq#pһ#q#p!' ~#fo5!u!;^#> > {! w#w~#fo#|g}!; w#r#+|!:v!;^#V#~#fo!; +z+7H{7PY}O|Gʄ!; T]+~+ xd! T]+~+ xz!; s#r! s#r+|" ! ^#V!' q#p>>#q#px¦>7 >2"^y͓2/<tvo<to< t t<<!j >70>22<<27̀!6 # xI!|s}FM!qzWV|}ʿ|tDM#{ozg!~wF#|g#|g x™VfMN  6 n&)))))>)>?o*oDMyx!6) N#F ! |g}o">D<t727>go6WPo&!9"}!q*#{zҏ*}+}|ڋ}|ڐѷ7"!x N#F#^#V#! s#rÙ;; ' % # .;:p' ' ' ;;;%;4;\r;' Gfo!/5 Copyright (c) 1986 by Steven Greenberg and C.B Falconer 201-670-8724 203-281-1438. May be reproduced for non-profit use only.$UvU[>>>>7*/ɯb!9"/!."0>0g"0>(g/g$"0|g.*|:/*0Xgz?U[kUUUU! ͉҃ͬ!"0ͦ> 2/2/!<Ÿ͑>2/> 2/͛!¾2/go"0"/g v!/~6 :/g v"/VMv!/~6 :/2<2/"/VMv*/:/2{ go"/2/ͬ> 2/>2/>2/:/ʉ:0g~ w*09:0gk~·>2/> 2/ 2/~V|g^zW͉|g~|g~2/O*/$%o%_$"/&"/=g}_%>_*/:/G:/xdg:0gOD~F|0g~BG|gn`(`]|gq*0+"0|=2/r|gsͰ*/:0g:/w|gs|gw*/#"/#:/2/:/< ʠ2/>2/*06#͹@s# x¹}eo$:0:0g:0G}/<OT]*0:0GzGK|0g]~# x7ɅoWgG}oO5#z|> )))).))F =>))))lgz={V:/G:/Oy̋O{_zWry2/z7U7*0͹ ͷ*06#(ùG9L~ô*/r|gs:0gyg*/:0W|G>2/x9L~:/V|gn:0g~ "/*/|*0#"0*/:/G]|gp]))))o{g:0g#*0"/*0u{ozg"0!/ ~# xƒ  0 0|gn:0g~ "/*/|*0#"0*/:/G]|gp]))))o{g:0g#*0"/*0u{ozg"0!/ ~# xƒ  0 0Z3ENVTYPE>VAR? Te !!m>L#`*3~( ˿w#6 #6 #+> #6(-ͿFile exists. Erase? (Y/n)͝_NʙͿ -*3>ͿSavedÙ>*3>` *3˾~( (%ͿBuffer OVFL ͿLoadedÙ+###*  ^#V#~p>op"1*1$^#V#N#FBG͐( # 0=# (_~#ͮ\T\T<\Z3ENVSH VAR Dumb Terminal =%+ %+ $$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[%{$z7$#(Aʉ#ړ#($8lʋ$s#o$ (t # #w$͐#͚$*&| Ã$͓#͚$y*%|*%[%"%"%#_#o#g"&%͖#s#&#( o#- {=w$[%( [%=([%[%"%[%"%[%"%*%-( "%Og$g.y{$z!&~('6[%*%K%>Wʍ$S%"% "%2&*%w#"%:&+[%R}/>2%=>>> >>>[%!%{&!$& (#~# ~{$ !% ~#fo"%_ID__CCP__BDOS__BIOS__ENV__SSTK__MSG__FCB__MCL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( argument is treated as if '*' and '?' wildcard characters had been included. You don't have to include wildcards in the (partial) filename. When NO is selected, FF will only find files that EXACTly match the argument you provided. The 'E' command line option temporarily reverses the default mode. Here's how auto-wildcards work: You specify: FF searches for: AL AL*.* AL. AL*.* ZCPR33.C ZCPR33??.C?? .COM *.COM 0) Use BDOS login vector - Toggles between YES and NO. If YES, then the default list of drives for FF to search is restricted to those which are currently logged in AND within the Z3ENV MAX drive limit AND listed in the Extended Environment drive vector. If NO, then the BDOS login vector is not used. The result vector is ANDed with the Configured drive vector to produce a word whose set bits identify the drives to search. (Drives specified in the command tail replace the configured drive vector with one that reflects those drives.) Control word: example: PONMLKJI HGFEDCBA Configured drive vector 00010000 00001111 Max Drive from Env. 00011111 11111111 Vector from Extended Env. 00010000 11111111 Login vector from BDOS 00000000 00000011 (this option) In this example, FF will search drives A and B because those bits are set in all four control words. Drive C or D will be included in the search after they have been logged in by ZCPR or a program. If an extended environment vector is not available, it is ignored. 1) Use headers in the list of found files. This option toggles between YES and NO. When YES is selected, a single line showing the Disk number is inserted on the screen just above the list of files found on that drive. Some like this 'dressing up'. Others find that it just needlessly clutters the screen. In either case, the DU: and DIR:(if defined) for each file found are displayed in the list of files found. Try it both ways - it's easy to change to your liking! 2) Use NDR to control search - When toggled to YES, only named directories with NO PASSWORD are searched. When toggled to NO, all user areas up to MAXUSR from the Z3 Environment are searched. In either case, the drives to be searched are limited to those allowed by the logic of the previous screen. This option is WHEEL sensitive; it is only used when the wheel is reset (non-privileged user). When the WHEEL is SET (privileged user, like a BBS sysop) this option is ignored, and ALL user areas of the selected drives are searched. For a BBS, this option provides precise control of what the caller can find: only those files in the Named Directories shown in his current NDR. For private use, you can avoid accessing floppy drives (whose doors may be open) if none of the FD's have named directories. 3) WHEEL CONTROL - This option is only relevant if Named Directory Register (item 2) is YES. When WHEEL CONTROL is toggled to NO, then FF limits the search to named directories for both wheel and non-wheel users. When toggled to YES, then the named directory limitation applies only to the privilege group (wheel or non-wheel) selected by the next option. 4) NDR for wheel user - When toggled to YES, FF limits the search to Named Directories (non-passworded) for wheel users; non-wheels get MAXUSR from the environment as their limitation. When set to NO, NON-wheels are limited to a search of non-passworded named directories and wheel users are not limited by MAXUSR or named directories. YES NOYESY K N NT%DA W)FP(@F HELPC CONFIGURATION N) Default file name T) File extension D) Alternate directory A) Alternate DU W) Allow wildcard help filenames P) Do printer-ready test YES NO Option N defines the default file name that HELPC will search for if none is given on the command line when the program is invoked. Option T specifies the file type used for all help files. Usually this will be set to "H?P". The "?" indicates a wildcard character, allowing for both "HLP" and "HZP" Options D and A define the alternate named directory and alternate DU to be searched. Helpc first searches the directory specified on the command line, (the current directory if none specified), for the requested help file. If the file cannot be found, HELPC attempts to search for it in the directory specified at option D. If the system does not contain a directory with this name, then the DU defined by option A is searched. Option W specifies whether HELPC will accept wildcard help filenames. Option P specifies whether a printer-ready test will be made before printing. If your system has trouble with the bios listst call, set this to OFF. #  OgU  LBREXT CONFIGURATION O) Overwrite existing files U) Uncompress member files YESNO YES The O option determines whether LBREXT will overwrite existing files without asking permission first. Set this option to "NO" if you want LBREXT to pause and prompt if a file with the same name as the one being extracted already exists in the destination directory. Set it to "YES" to automatically overwrite existing files. The U option determines how compressed files are to be treated. Set this option to "YES" if you want LBREXT to expand, (uncompress), squeezed, Z3ENVˀ PPB:SH VAR LDIR COMXARUNZ COM1YALIAS CMDZLX COM[IF COM#\ZEX COMV]^STARTZCMCOMgZFILER CMD_SHOW COMV`aDIR COMbB2 $$$VLU COMcdpZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS WORDSTAR DBASE TMAKER SUPRCALC DEV NZCOM "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2 JNZBIO ZRL]NZBIO+ ZRL9NZCOM NDR :NZCPR ZRL  r@rNZDOS ZRL"%>NZFCP ZRLGhfNZIOP ZRLOϼNZRCP ZRLQJNZCOM NDRi BIO15_ENV__CBIO_ÁÁÁÁÁÁÁÁÄÄÄÄ!Ä$Ä'Ä*ÁÄ0ZNZ-COMNZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS WORK "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2Z3ENV  PPB:SH VAR MKZCM, NZCOM, NZ-COM, (New) Z-Com are Copyright 1987, 1988 by Joe Wright and Alpha Systems Corp. 001-11255s1!*.">2.Z #>2* ":2*.:n"&0"+")" "$"":n"S: (*!&\n"S:(!\n"S:(n"S :(n" S:2(n":n."E:Dn"B:An"?!]~/(? 6 U͸ 1. Command Processor CPR *?:A"͸2. Disk Operating System DOS *B:D"͸3. NZ-COM Bios BIO *E#"͸ 4. In/Output Processor IOP *:"͸5. Resident Command Proc RCP * :"͸6. Flow Control Processor FCP *:"͸7. Named Directory Reg NDR *:?͸ Names 8. Shell Stack SHS *: ?͸ x :!͸ Bytes 9.* Environment Descriptor ENV *:"͸ U. User's Memory Area UMA *$*.R|2 !"͸ Customer's CBIOS TOP *.͜͸ Effective TPA size*B%<<|ͯ>.o}}!=TO͸k * Item 9 is not changeable in this version. ^ʕQʕXʕH/?S 1 2 3j 4 5Z 6ʓ 7 8ʦ U6 >o:͸Selection: (or ave, uit or elp) *F* F*F*F*F*|R|2͸ MKZCM Version 1.0 System Generator for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !;͸ U͸ Syntax: MKZCM [name] MKZCM will display the current system configuration and addresses and prompt you to change something, save this configuration, or quit. You may select changes to the size of certain of the system segments. As changes are made, the system is re-calculated and re-displayed to reflect your last change and prompt you for more changes or to save this configuration in name.ZCM and name.ENV or quit. This version allows you to change the sizes of CPR, DOS and BIO segments as well as the configuration of the Shell Stack. You may specify the output file name when you invoke MKZCM. If you do not, the Save function will prompt you for the file name. Press any key to return to MKZCM or ^C to Quit now. ^ʕ,͸ CPR size? (Now :A͸) ͯ2AO͸ DOS size? (Now :D͸) ͯ2DO͸ User's area size? (Now :͸) ͯ2O͸ Bios size? (Now :͸) ͯ>0{<22O͸ Entries? (Now : ͸) ͯ(H2 ͸ Shell Size? (Now :!͸) ͯ(2!* &\Q2 O!" O͸ How many IOP records? (Now :͸) ͯ22O͸ How many RCP records? (Now :͸) ͯ!sO͸ How many FCP records? (Now :͸) ͯ!sO͸ How many names? (Now :͸) ͯ!s>o><82O> 2]:] W ͸ Output Filename? (^C to Quit) ͯ(\]/ /(?((!͸ Making ] ͦ !"!#͆ >Ĺ ~ ~ ~ ~ ~ ~ ~ ~ ́ ͆ ͆ ͆ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ~ ~ ͆ >7Ĺ ́ Ͱ e!͸, Making \ 5|<}!͚}͊<}!]~# ( >. !eÞ ͆ ͷ ͕ ~# ~# \%}A}z { >  0:83}*͕ "! 5 6  > > > ^#V#^#(> o> o?͸ Record=>so͸ ͜͸ ïo$/<_<s>o|!=:(*."~#fo6 ###>w{ ENVZCMNZ-COMCBIOSENVTYPEXPATHEXPATHSRCPRCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKSSHSIZEZ3MSGEXTFCBEXTSTKQUIETZ3WHLSPEEDMAXDRVMAXUSRDUOKCRTPRTCOLSROWSLINSDRVECSPAR1PCOLPROWPLINFORMSPAR2SPAR3SPAR4SPAR5CCPCCPSDOSDOSSBIOPUBDRVPUBUSR>22$կ~#:,`!`~AA<2#~:a?62#~:aG~#:T0 OxG8x 2a~:h#~,s!ҋ >?x:G:O>ͥ~.Ÿ#ͥ~~*·>?ù#¥#ý> ~!=_.:;,<>ɾ~00 bk)))_zW#{!H !G!Hj!ï!H!>ø>ø>ø>ø>ø>ø>*2!(*2####*2!(*2####~¶"2####$;5J¢ͽ§*26#6#!&s#rø~¶"2####$;5b1ì~ʘ"2##^#Vzʧ24r+s+5§6#!&s#rͽʧ*2##6#6:424~ʘ"2##^#V:4r+s+5§6#!&s#rʧÝ~ʸ"2~ʸ"2#~>+~+*26####ʱø*2ïw ͋̓]>^̓]̓]Wͥ̓̓ʗ̓̓~2} !~#o|g6:}ʯ!~ʯw#â!:;~#  1   y yG>GO> od. .0o8 0_yEE{y0o{'xxdx x}0o}o|gڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{ 7o0o#>.o# o# oooo o o>^o@o*. kO*. ~H͔W͵HͪW͵r# xµH  H|}~# x ~+ xa{_ڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{ }|8 a{_1o*o*.:g~O#*djJXJJ JOG _ J>S>>>S>S>S>S rr# ~#  (  ( ( ( y/  ѷO> > /v>)>)/>.&d;& ;.,0g} |> (0G|O>)~(w#HZ3ENVCPSET13 !~6w;;R( Not Z33+$s 1 * 3:2 2 : * ~/C(2PFLF!  *** Bad Device Specified *** y-: G: " Current console data: width.............͛" lines on screen...͛" lines of text.....͛c y-: G: " Current printer data: width...........͛" lines on page...͛" lines of text...͛" formfeed used...( "YESÀZ3ENVF* |Z3 ALIAS!\~ʒ$$~#S.*DUF(1N(@T(H0( G!/(~!8 #ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_SALIAS --    , ;:./=$%*"jnryy4 , < E 0G W< B g uvm b & . > I L X s1͓1(s * [(L~2~O8.#~8(22G !G"K 2F d*")CRT < 79xTCAP:]?( /:^ (/SALIAS, Version 1.5 - Screen Oriented Alias Editor Syntax: SALIAS [dir:][filename] { Ü͔ ͚  :x̋ !!!xx 8څd!!) >(O N#FC`6>>>2x( >͍>= 4 y(}~ (+~#Ͷ ! x, Ͷ >>=Ͷ x, G~Ͷ( Ͷ yOͶ ~ (x , ' 6x=(ɯ }x ~Ͷ(x xG6#A>>͡= :/2ͤ x(: x8wͶ xxx(ͽwͶ  O T]+#x(*I #XNH{0Y *I #gzN _+ Å!! #zFind:!O!%  Global Replac>22 Change to:*M KO [Q Y >F2= X ͔ : 2+  *M := R(#! ~( qݾ(8#ͥ # : !x͔ *S "I :U 2H ^Not Found"; : O (##~qݾ *; "M *I F[; R-MCO [Q {8N(8SQ ^:= R(: (=!& :% ((~ͦ#=ʹ=>R2= X  ͔ ̈́:X X : ÄgN ~E#>{= ~E# y + Z>N8_{'WN_J*I # g :H gyo,*I F#N *I p #Ę + ͥ  :(y 9 KG y(2H ͘ "I [I :H *I 6 l  ͤ W, F ͹  g*)=x2> Oz :> +w#!z O KG [I ͥ ( "I CG l  :H 7 ͤ 4 :> Ȁ8>:> z G x ͚   ͚ ~ ͥ  "M *I p"S CO SQ :H 2U :U 2H KO [Q *S "I *M X Fq :2 ! :͵L(ONOFF - FILE MODE -- EDITING -- INSERTKG x͘ #͘ rx qB q(:͝2 q(*  X _͔ q X O X !t (CleaX q  ͬ*)"I 2H KG y=(CG *I "I :H (=2H *I R"I *I N #>=(G6#{Gͥ ͚ !y!*)[)!C 6~;((&~04O +~S (>6~#w6ͥ 6!q xALIAS CHOPPEDy!͚ ~(G#~(#>;ͥ  KF !y!>( #;(*):G G!~(##~  #((#S? *F gR"D 8ɯ!][D !R͈ CHARS!f![? R0 CAN'T! xͯ CL OVFL - SAVE ANYWAKK *)"I 6# x :X ͡*S "I :U 2H ^ :Gr  Strike Any Key --x !)2ͣ:<:~#-]!(0(#(#~@͕͕[ o͎͜V_@!_@_d([o(Iz( M̅(V͜DEESTAC :G!(~#:gKo: 0GCMeta-key #Meta-key #Meta-key #BackspacCursor LCursor RCursor UCursor DWord RWord LEnd/Start of LinLine StarLine EnUp ScreeDown ScreeDelete ChaDelete Char LDelete Word RDelete LinDelete to EOCarriage ReturInsert LinIndent LinIndent ScripInsert/OverwritControl ChaFinReplacRepeat Find/ReClear (ZapSave & ResumSave & CleaSave & QuiQuiFILE ModRenamRead FilToggle ModUndo ChangePrint ScripHelAxq!! > O ^#VACEFILMPNSUXHIYk"!Add Clear Edit Form Help Ind Load Mode Name Print Save Undo eXit*.NOÜ!\V $ *? }(?s ʓ"͚ ~(ͥ (4* !V \$ov(:W lNo roomxßs͝F}ß s ͚ ß2 (V>8Q!!͌ ~(5!͌ 6~(g=   ~ #!z͌(!~͌(ͥ !4IF :IF FIZIFF#~qݾ #((ÜAlias Name: ß! ~/wÜ͚ ~!$x_QDʗ!G͉!<!\͚͛ rr͓rͥ ʏAlias: Print to List/Disk/Quit? (L/d/q)Is printer ON no_Ü!}qÜ ͧ ̜s F:] ( }ÊFͬßs͚ ! FÜ! QuiSALIAS 1.5F}&.͚ #͘ ͥ r͵Mode:! ~ NormalRecurs͵Free:  ( *D ͈[D !RÈ͵-!{͡Ü>DV Line or Text? (L/t)x_2͚ #~(#~(:T>; > > ͥ :T(>!\y# !y#">!#H@TXTSC! w#BB<B<\2SB>  2A :i2B :B _ :B 2i͗<\!\6 #6 !i~+#62i!6# y !y!!e6C#6O#6M!]>? ͹oyï oͩ!]~ (v͆(!%PH(lͮ is not an aliasx͕͝*%&%!g~ݾ ##ɯZ3 ALIASy!~!% ~F#~2 !{ͩv͆(͑͊! "!R%DUSaving  ... Replac(!!#~:A 2B v!% *#~ ( +\$!%~2\ ~2io File?x>`>`͕2l͗:] (&ͺ=G:B O(~ V#ͱͺ\8:B \<@V 8  0>0V0V V͑ DISK FULLx~#( ( V<~#E 0 @2Rx_> Vg (>2[>KF#~ ܮV ̻ ̻@ >:O:g.l? (Y/n)x_N(>YVrN>-V͵H#Ax (((($_wE##6ywx0+>Vy(G>VxA[@ 0@a{_~(qw#d͜ ͜}0V/ R0y10xy VͻV#^#:)*)[)[)x[)[)x*):)W~(*)[)( ́:)'4&O[)\\\\:)g:)g gɠgq[)(̓%-%( \ k͆D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|ke||d 0/0Gz0 A(kx~( #\ ~#kzO*)|( +~(GM S ")|(")|(D~!8? ~2)#~2)#~2)):)O  !)6#s#r#6#s#r# 6#s#r#~#\ #  ~(# ~ # 2)vͣ,v2)2)Iy2)~: #ͧ~2): 3#:)((( :) :)ͩѯ2)ͧ~2):) . #ͧ :):)͋#* +>??͋#!)4(s#G~A8@0b2)#~ ̈́~ ( ̈́8#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,'-'4*)0~_*)|(~*)|(^#V#~ѷ")` `OGѷO>͑~(͆w#a{_͙o*o)#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,'!0q*%"1́D ́́3 ́ (a[1(́ 0Q́ :0 (Á(* ~^#:-< 0́ ^(~ 0 (́ 2) W> ɯ2́́ *%  ~<w(G:R!(́ú Á ##4~(́6 ́  :<(́:́  ́Á 2$[%@!!~~#~O~G#~0GV. S! w! y ##x(2́.: <((! q##ṕi: < . (́:.:<(Á́ 6}2́ +wN! ~G##~?oG}W*% ~=_0 ~2ẃy:,w>2!*~6̄   :*̄́F :*̈́ (2*̈́ ʁ,́x  ́  ́  ́R ̈́ :Ą!+y4 5~y 5 6$ (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!FCPT_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_|{Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): ERror NUll Use root:IF.COM Z3FCPIF AND OR ELSEYFI PIFQ gXIF EZIF CERNU4́!6́+(>́ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8w  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́COMMANDS WORDSTAR SPELBNDR DBASE TMAKER SUPRCALC DEV BASIC FORTRAN COBOL TPASCAL PLI NZCOM 4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGnter output ++ ABORTED ++ Bad ENV TypeDrive/User[more] $ $ Error ->>> No detectable file(s) on : Drive /k Files: Free: k There are member files in library(s) and/or archive(s) Archive directory for Library directory for k ++ Not a library file ++ ++ Not an archive file ++ LBRAR F - file output (DISK.DIR) R - reset disk system O - show only SYS files S - include SYS files P - priZ3ENV\* s 1 jă>2[̓ ={ *#[Os#rͤ::̤::‡:l!~2#Ox2=( ͘ :(=ɯ!="t"v"x!"|"~r!|ͺ> 6:s( (F(#q(K}:|!s2͒(2=22!~G~ > #*t#~ +~/(>8!s2|=~/(>2s>2|>*t~A87>CQy2_(++"M2=ɯ>P>,*x *v *z( >8C}=ɯ>2?/QRX5SlZ"a5AR[ {>*wT]K =2:(+*MT] (Z3ENV>s 1 * }(+:]/():i_ )^#VS ~(~2 :] ^: 2 : ==2 !BR"f>L2e!m  h! w#\<6:f(* ~6T!]G! ~ ()G>)(!~.#T#~#foT" " ;*1*1  !͕M!͕M!͕M!͕M* +}(&" (###* #" " : T* }! : =2 G;^#V#S ^#V#{2 i>r:i" `o2 2 22: @!>v ~2 <(! w<(  w<(;*844> 2*8*4+: [ :þ: <(: < .!~#([(͕~#(](  * +" |* y! 5N! 5!]G2 .* }i9* ~(9B* iE* iO* iW* ))+ib/(NK\ f> 4* "}2!\~>i* | G* |("~#fo(p: { )!: < ## ~#8>)> > >  > > > _A[  : : 2   ( (( ( s>2 S>.~#(  >_ͧ}ͧ}ͧ}ͧ}: (00 !>j 8B= 0:8|(l>xmR(8'2x2 _WR(8yT ^>tC } 8 .8*82 : <7! <#(0:o~<(=2#F#~<(=2 x<(= 8Go&0$?" R~(< * #" =* #" [ S   (# ?( # ͹>-;;; >=Jan$Feb$Mar$Apr$May$Jun$Jul$Aug$Sep$Oct$Nov$Dec$Library: $ ERR!$Library file not found.$ +++Library file is corrupt+++$-- --- -- $[more] $Created $Modified $.00k $ .12k $ .25k $ .37k $ .50k $ .62k $ .75k $ .87k $ Stored $Squeezed$Crunched$ Cr-lzh $(-> $ members: $ matched$, $ active, $ free, $ deleted, $ total$LDIR-B, Version 2.20 SGG Syntax: LDIR {d$ir:}lbrname {afn.typ}$ Name Length Method Created Modified Comments $ can find it) when an error occurs in a command in the invoking command line. In the interactive mode no errors are reported to the operating system. COMMAND OPTIONS (preceded by "/") / Display Help. If error, show error diagnostic H Toggle display of help after error diagnostic B Toggle audible notice of command error E Toggle visual notice of command error S Change command separator to character O Display this screen of option selections C Display the list of error codes Option commands start with '/' and end with a carriage return or command separator. Multiple options from the list above may be included in any order. For example, /hbeo is perfectly acceptable. Note that if you assign a new separator, the assignment takes place immediately, and your next separator must be the one you assigned! EDITND version 1.1b EDIT resident Named Directory SYNTAX: EDITND [ [ \ ]...] = [name] [,] [password] Typical Commands ( [xxx] means xxx is optional) (DU/DIR)[:] delete Named Directory entry (DU/DIR)[:] NAME add/change a directory name only (DU/DIR)[:] NAME,[PW] add/change name & password (DU/DIR)[:] ,[PW] Change password only (DU/DIR)[:] [NAME], Password is deleted. ? or / or // Display Help & Explain last error. empty cmd shows current NDR. Q or q Quit & return to Z (no changes) R or r Restart with original NDR S or s Sort the NDR entries X or x eXit to Z with .NDR updated Z or z Zap (erase) ALL NDR entries /oo... Other options. Type /O to see them. ~.#~+.##= 2o:]͆iiki͆Y>4}#o> }ͳͶx2y2G~Aڷ2#4͍4͍#º4O Y2:G:O=$$# ( OG=~͇!W=_.:,<>ȷ;ɯ~4ʆ#͍ڊWyڊڊڊڊڊO]y70 җ?7w*#.~*#$~#fo|*#,~*#"~#fo*#-~*#^#V#~ѷ*#)~#fo~"#"pr "z*t}o|gi*z}o|gi"r*p!r *r>*zr *t"~DMx¬y:|*r*zx s#r#*vú*~"*|g}o3""*#"*~}|*"**}o|g"|*";**:|*t"*z"*r"*DM**cʅ yX SORT Pointer Error*~#~*vDM**~#foNq# x *v*"*##"*+"|L:| *vDMNwy# x"**vDM!z *r*zDM+) +) Nq#Nq:|H`*zDM+) +) N#F^#V`i*xHo# xrʃ?2" *#~#o|g6:ʻ~ʺ͇w#í+~#~#  u   y yG>GO> ͢/dB B0͢L D_y^^> ͢{y0͢{> ͢> ͢ Ңʢʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~# x ~+ xկ2!"hM*}o|g"L>2v1*:e7|g}oeb}o|geba{_bkF#"##ʯ###ž*ð#~#foOF##s#r# yx ~#w    *)}'$.+ʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~ XFCP DZC FCP-4 ZRL'FCP-4T ZRLFCP-5 ZRL%<FCP-5T ZRL-hfFCP-6 ZRL5 tFCP-6T ZRL> FCP-7T ZRLG R vFCP.DOC!X""# $iHl7'C egq n:@c5LS4 F"yo1NB@b< '#h@W4(Lḩc)@p9E3yǐZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1iZ3ENVSIZE TABFLAGMSGFLAGSREGPATHROOTSCANCURDUALIAS CMD!~6w;;sR( Bad load address$* ͺs1 :( 0G!-G !2O !:W 2>2ͩ2(:#2$*:ā"ʽO|ʽi&"!#""2"EͅR0ͥInsufficient TPAà ́ a *i ( ( (i ʇ$ ^*~(/:<( (#~*RDM!s#r*ͥ ***> MCL Overflow <*** à 8!Ri ̲ʇri ʇWrG08 0 :G~ ȸ#xc$^!*-DqHTSZ"<'0I7MRA+@i ʲ2;!:WcYMDHCNSA:>A8>P>M:):$:::$ x8 '::Gx0!6L;E6FNTZQDUCPSòi ʲW2i ʲ1ڲ!Ҳ<͜::E!:G;~xL(~xE ~ #>2͗i ̲WA(+(ò22:(~͜i ʲWc B CDEFIL!M%N)P-R1S5X9dFU""   $*  ~#fo7r* :r* =r*+++*  ~ N#fi͗{ ҲG*i ʲW2AHFDTOò͗O:A yGH(+F(!yexD("~0²#xT(~0²# ykyͲ~#H!i ʲw#6}ր²ɯ2i ʲ"(^ i ʲ $ i ʲ!6}ʹ:̓>2!~Ҳ$>^͔/ :(: ͆-@>:͔I!e~ >.2i ʲW2:C(F(U(0N(5T(:Z(CQ(;P(`S(UD²͔:\=7:A͔:i͔!]͔!eQZ͔!f~p+(~ ##pp͔:͔!~ȸ#: i ʲO ʲ w#:(!0!6\] 4 İ !F#Ni ʲWcDUB::A088 دi ʲWn|N(T(Z("Q(F²>. QZ eci 1ڲҲ% ~#>2ͥwarning -- script line format error à ~ (# 08 0Gy0(xɯ22*!:~#W͑ T (\WG(X ( :x(zV#͘ (. z͘ :(x=(_((i ( !8=(T =( :(=i ͘ Է :Gʭ xͼ 9pý*+#~  .?*!  .?*: ( :-(5:2(W(*~(&++##~ +~2>+~=2=GO::*8 :=G:>O!p#q?#8 i , 2>2?[ , 2*!~(/ #~(/ #~( :$ĩ ͩ ͥ Syntax: ARUNZ NAME [PARAMETERS] Runs alias script NAME from text file ALIAS.CMD ý(66:$ʠ ͥAlias "ͅ ͥ" Not Found à :$ʠ ͥALIAS.CMD File Not Found à :$ͥRunning Alias "ͅ ͥ" *!~ ܟ #>^@ͥ ARUNZ, Version 0.9U :!͍ ?[( ( =* : w# !p#q S | ͙ ͙###~ ##~0̈́ ̈́ ˞9###ͥ(Type 3ͥ at ͧͥH)  2C :> &#:(U ĵ ͵ U xy2  ~. #& ::ɯ2 (#* +>?? !4 ( #> (QKi!8BWA8G!8!!8 8*O}o%  M*B( 18 H8KP(#K($(G$(O #( 0 ?~_.,>:0 Яɿɯ q#w#q#w#CCW( < ~(͖o##(CKK$}2W:(͖##x y K~$(=G#~+$O9###~9e>9n90Xe9###w*^#V*~#fo~#fo~.^GR*,^"*~#fo-^t t*|(~*w*|(^#V#~ѷ͙[z0.+*~( 7^#V*"3(S(D !>S((>D2:S(#3(("i2!cb= | 1} 8&08@8!""0|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm R8(>!^ R8(#<`G}iOdR0}w#p#q#AI*||D " |D(" 0 Ox2* O3 ZA]* O%(E##^#V+z(s#r#^#V2r+s Z *~2#"*+"A:2##^#V+z(s#r#^#V:͢ *:w#"*+" *}(+"*6#"͢[ .X<"~2#~2#^#VS#^#VS#^#VS#" *#:w[#s#r[#s#r:*:GE[ ; >2*":g.<"!E| D*):G*x(E[ @(*"2:g.<"!EC K Y X OG3>5>5>>>> rr# F#"##( ###*#~#fo #~#_6+~#ͫ~#  (  ( ( ( y/  ѷO> > >^@ 0  8 ɿ&dI& I].,0g} |> (0G|n&d́& ͕́.,0g} |> (0G||Ͳ}Ͳ|}txtxO>bB~W08!0 88O)8)8 )8 )8 #?{~(Ww#~#(<(+~#(< (( (80a{_jo*oƐ'@'*j $II@ $D H@!@$HH$I$I$D"$I$B!B@$HH@II$I$H @AI "@H"H IDBB$I$HA@H @"$I$B "@!$" !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H H @@ !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H HWH4́!6́)+(>́) G?(~ẃ́j́)G ́qNon~F(Tý8 ́q ́)((́+>́ʁG1!~(&!0#~#(!8= !]m  T#B]2~ ́ ́0 ́q́$!m >?:vZ(Q ( ́( ÁM(́(ÁḾl<(2:́ l<́q (Y/N)?!6(6_Y ́N ́>́ :m :!ځBÁ6*)~Á4A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́)(!~#!7~#  #~#fo###́)+(8w:/ > w2͊ʷ((;#(+:O "+#͏ ")*Ͳ(:8(Jͺ(2: (.> *Ͳ(()!FCP_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): AMbig COmpr x=y ERror NUll REgs  Use root:IF.COM Z3FCPIF AND OR ELSEaFI XIFQ oXIF MZIF KAMCOER@NUF4́!6́+(>́ G?(~ẃ́́G ́Non~F(Tý8 ́ ́((́+>!́ʁ;:1!~(&!0#~#(!8= !]m  R#@]2e~ ́i ́ Á́M$!m >?:vZ(Q ( ́d( Á(́d(Á:/:m !m~#0 OxG>~08 0 !0 o|g=~ɯ́(!~#!7~#  #~#fo###́+(8w SAMPLE ALIAS.CMD FILE FOR USE WITH NZCOM ---------------------------------------- ; This alias provides a response to the DIR command when there is no ; resident DIR or transient DIR.COM. DIR sdz $* ; This alias provides a directory-display command in which the file ; specification is automatically wildcarded. It saves the trouble of ; having to type asterisks manually. D=SD/ sdz $td1$tu1:$tn1*.$tt1* $-1 ; This alias is used with the syntax NAME DU:DIR PW or NAME DIR PW to assign ; the named directory DIR to the designated (or current) drive/user. The ; second token is optional; if present, it will assign a password as well. NAME=SETNAME editndr $td1$tu1:$tn1 $2 \x ; This alias will save the currently defined named directories in the file ; A0:NZCOM.NDR. If a command tail beginning with 'L' (for library) is ; included, the file will be put into NZCOM.LBR so that it will automatically ; be loaded at Z-System cold boot and the individual NDR file will be erased. PUTNDR savendr a0:nzcom;if eq $1 l*;lput a0:nzcom a0:nzcom.ndr;era a0:nzcom.ndr;fi ; This alias will allow you to examine a file. It loads the file into the ; TPA and then uses the RCP peek command to examine it. It will load a file ; from the current directory even if that directory is not on the path. LOOK get 100 $td1$tu1:$tf1;p 100 ; This alias removes NZCOM and restores the operation of CP/M. OFF=CPM=EXIT a15:nzcpm ; This alias provides a shorthand for the CRUNCH command. CR,UNC crunch $* ; The following pair of aliases automates a recursive invocation of some ; other command line. It is invoked as RECURSE COMMANDLINE. REC,URSE if nu $1;echo;echo %< s%>yntax: %<$0 cmdname [parameters];echo;else; recurse2 $*;fi RECURSE2 fi;$*;if in r%>un %<"$1" %>again? ; $0 $* ; The following pair of aliases automates the repeated invocation of a ; command that takes a single argument. It is invoked as ; REPEAT COMMAND ARG1 ARG2 ... ARGN. The command COMMAND is executed ; in sequence, first with ARG1, then with ARG2, and so on. REP,EAT if nu $2;echo;echo %< s%>yntax: %<$0 cmdname arg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p $ap $+p000f PRCP=RCP p $ar PSHL=PSHELL=SHL=SHELL p $as $+s007f PXFCB=XFCB=PFCB=FCB p $ax $+x0023 rg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p6Z3ENVFF24>* J |(UF  s2cͭͪ:E4 (v NO Files Found: 0G*B|> }@ {2  Requires ZCPR3$ Requires Z80$(R"4!67(6 0>8 -2^ͤ"6N #~=2J>2E:2L>2K4 (2\(:2A:>?(> 2M*f,Z~0 +"T: SRP "Pd[Td"Nv Find File (FF) v. 2.4 (compatible with Z3PLUS & DosDisk) [ZSIG] !Q~( /#~/#45v Find all files matching a list of file specs on all drivǗ Z3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1GZ3ENV LX22 ROOT:COMMAND.LBR ROOT:USERCMD.LBR LBRCOMs 1 * ͪ x " > 2 ! " !:0 !-" ͡ ! 6 : G(* ~/2 ~H9WĈ ' LX, Version 2.2 !:' Syntax: LX [/] [-[dir:]library] command_line (Use "/" option when chaining from ARUNZ default alias){  ! " * ~ - "ʡ[ #~ ((#p[ ! p#p##^#V! 6 #~(#x2 !\!l~#fo >  : 8>G  og^ 0! F(^ !7…͞ʅͫ ! ! BK* >Ǿ 6: (/< B| * [ T] : ڿ : ڿ!o!o:{ [ K * : * <( { :« ^#V###RDM+>;# #: (GW -͡ : Lx  * ~- * ~# 6# > w#q#w#ogy\(l^ 00 !^ 6 q!^ *  0 !C _  <ͫ n 0( :' Library File  ͕ ' Not Found͵  R  !_ !" !2 R" !  ͮ !V#~V[!"  ͮ N#Fx * Bڿ!S* >͉" " * [ *  6#[ s#r\#[ s#r# ^#VS bk * R8 2 ( 3:' File _ ͕ ' Not Found in Library  ͕ ɯK 8AOC h ' ͡U͡: WÈ  wx!8 !r ,=;<>_͸  > ͉͗  ͉ ###~ ##~0˞ ###-(Type ͷ - at -H) P2 C d:> &#: (͙ęxy2 Vd ~. #j: : ɯ2 8(#* +>?? ! 48( #> (QK i!8Bm A8G!8!!818*O}o%  M* B( 8  8K  (#K ($(G$(O #( 0 ?~_.,>:0 ЯɿɯV q#w# q#w# C C ! ( s < ͞ K ͵ K ~#K $(=G~#$(O* B(C õ  ###~ ###w* ^#V#~.A $ ,A "* ~#fo-A N  N (A * )^#V* |(~* |(^#V#~ѷ (G! N͵ ͉ [z0* ~( 7^#V*" !N#Fy( p+q+F+Nq#p (" ! !N#F! ( ( # x "  * # !~ #[  x   ! !6#! > ' > !~ #>  #~##>  C K ͵ Y s Xs s  s OG>!!!s#r#6| >| <>| >| >|  rr# - ~#  ( * ( ( ( / y/ * _>| ѷO> *> *ͫ >.*ͫ  *&d & .,0g} |> (0G*|| } ͊ *͎ *~(m w#OF##R (#s#r#(` (y(x ` R (~#w ( ( a{_~?(O#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @*Z3ENVHELPC14HELP HELP H?P* p 1 T *"b2`:]/l HELPC, Version 1.4 Syntax: l [dir:][help_:)>aĭ l fn] Default Filename :  l Alternate DIR : !T] (  * |Aͭ } l :  ]!\ :) !>? l AFN Not Allowed e!%1 \͸ ! K  ͸ l Help File  l Not Found Ɓo&g ]fX A :pZa*bMD!"dfN I x˾#GB < !N 1*d2a~: #r ͧpZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1ǚZ3ENVT F AM#ARBGCO3DSEMEREXIN:LI@NUPA6RE=ROSHTSYTATCVAWHZEEQNE GE1GT LT,LE<> >< >=1> < ,<=s(1(͎2!͞T]~(M<(>(~(+#~!8 = !]/(+~ bͭ(͓ Bad IF Condition͓ Z33IF 1.5 (C) (Type :0a ͓ loaded at !C ͓ H) SYNTAX: (1) IF ARG1=ARG2 (2) IF REGISTER# [VALUE] (3) IF CONDITION ARGUMENTS CONDITIONS: T, F, AMBIG, ARCHIVE, BG, COMPR, DS, EMPTY, ERROR, EXIST, INPUT, LIST NULL, PAUSE, REG, RO, SHELL, SYS, TAG, TCAP, VALUE, WHEEL, ZEX EQ NE GT GE LT LE <> >< > >= < <= Only first 2 letters of condition are significant. A leading '~' negates all forms except (1). (T ~( 7~#fo[*X ##BGiiD " |D  þ(8(8,>0͓ Bad register numberW G͞ʹ͞,z{=( >( 8 ((8þx 5͞ʹ͞x 5͹Y~O#=>(<('͓ Bad operator>< ~=(<>=O#~=(>(>> ~!8-~(?( # (þ!m >?(#:vZ(Q(~#!8, ~!0 ~(\] ʾl] !e6?#!]ͧ 8(#,x( 8͓ Bad tagS!"**~ʾ   !5"!,"ʾU \] F\!c~¾ƀ__ ~#,~!!~ʾ>2z> a > a ? :z(x 55#~( ͓ IF True? >( (  z - D T(#Y( ( ("(,4  : d  : l ͓  IF Overflow͔{(͓  --- Setting FALSE if State!w# ͬ͞͞~x 8Cz͓ Bad number:\ <=_:i_ bkE Xx ~!{ 0z CW ,ʾ͓ Bad register number! ~F#  > #~#fo= !m] #l] !]m ?(O~?(#:/2ɯ=2T_^ _' e k% _<(> 2TOA8[0 W>y za ~#*5*7z*/:,W~(ͣ*A*9*;ͣ~( #\ ~#a zO*k|( +~(G  "k|("*|(&~!8!, L L F !,6# s#r#6#s#r#s#r#~#\ #2f͎ r v2i2h| y2j~: # ~2g: 3#:f( (h ( :f  :i ѯ2h ~2g:g . #  :j:hͤ * >? #? ͤ #!h4 (s# G~A8@0b2i#~ ~ ( 8#~  O 052j-p ( #( #(  2j2i~!8=_.:,<>ȷ;ɯ~ͤ (# 8Wy888 8 8Oy70 ?ɯ  >  | y >G2   5 >K > 0X5 t t #~((# G+~wGO> a  a .  *. /:g ( a >^a @a  0 Oy|N }N a a . g O:gw 2o~08 80>2o#~O+~G:o(VyH(X(O(+Q('xB(4~D 5#2(~#H(&X("{7X~#O(Q(t~#B {~080 0bk)))_#{~08!G0:8A80 8))))O #{~080 )))O #{~080 )O #{~(w#~#(Ϳ(+~#(Ϳ |}O !y  a{_Ɛ'@'  $B@$$$ $IHD@ @ @B$B$$@@!$D@B$D@$"BH  @H"@ A@@H@AA !@@A@  @ @ @@@   H@ @$@$H@@@@"  $B@$$$ $IHD@ @ @ *Q QHELP HZPqq IF HZP qq@@IFCOM HZPqq@@MENU HLP8ч@DPRCP HZP;5qq``SALIAS HZPp vHELP.HLP W ' W( A@@@H" <X@4i=Dse" V2fy Ny^L0 3s9c1s5<2I2!sZ3ENVZEX2 DEBUG>NOISE>SHORT>LONG>ZEXMSG>CCPCMD>SILENCE>QUIETEXIT>FLOW>BELL>PATH>SCANCUR>DU>s1͆  q ͽ  )͊ /  ʹ  B͈ QǗ Requires Z80!$*K " 0>8=2!  1."q.~2s:*| o* RSX image missing!6*KBo"ɯ2[*s#r*s#r*|#~#fo":':-:5:=:F:Q:W: 2!:(*q.h~2t ~2u ~2v ~2w*-!q.: '*###~ ##~48v n >>>: : XK! [s#r! [s#r*ѷR( ! ! ! !([! s#r6*q.f.[.  s#rr+>w*q.w#r*#^#V*.s#r*DM."!! [ Nwy#::s*q.h>!w w w w~>*~#w*ɯ2!"*[:{ ;}>{ 4:}( ^ ^6"[R:OAO:- y( i͉ }(> 5;ʰO} >2y<2, > >Iy Iy|H͏: _:8 I:i͆:8 I:i Q 2- i O2- yi :- ( 2- >i>2- >i ):. (2. 2- >q>i>2. 2- >q>i > q> i.!^(#$  Oy ͂ } > q :$(::, :1Q:Q1!O F 5 ;(>;vO:- y#~͉(+ ͂:^: ͂5}> IQ08$:0 02! 0>((qq!:e=> _^#V{[RگOq+I*#"!6SI !4a{ ! !I" I(c| (!w !(S8= > I> q(>|Q^  qt$ q* R+}wѷ<!!O|7y(0̀#( ( +~ #(+~( (~# #~< <77#~! !8O| > 2| y77! !8)O |(|(xG0Gx2y77SAYEND SAY"'WAIT RINGRING WAITWAITABORTQUIET ONQUIET YESQUIET OFFQUIET NOEND QUIETQUIETSILENCE ONSILENCE YESSILENCE OFFSILENCE NOEND SILENCESILENCEAGAINCCPCMD ONCCPCMD YESCCPCMD OFFCCPCMD NOEND CCPCMDCCPCMDZEXMSG ONZEXMSG YESZEXMSG OFFZEXMSG NOEND ZEXMSGZEXMSGFALSECMD ONFALSECMD YESFALSECMD NOFALSECMD OFFEND FALSECMDFALSECMDIF TRUEEND IFIF FALSEELSEJOINRINGBELLCR LFCR LF TABSPACENULDELESCUNTIL WATCH FOR PAUSE RING PAUSE :*~ 80 g+> g+T+> g++(ͼ*! u** Hit any key...*6o&6 ! x2S (́ (s#r#:́ ( ͉ ֯O ;*~#~ o* ZEX Already Present 4͒)~; #~# +[CS͒)6: o* ZEX cannot be rerun using GO. 4!͖ (1ͼ)2ͦ)(&"|)(|("x##n&""͵) o* Aborting: inadequate ZCPR3 facilities. A|([ R )K ! ~!? ^#VS##^#VS##^#VS*+++Ri=[ !"~#fo"| "~##"##"!("z!6+""":]>g+*|2l !">2ͼ**#" +>:g+> g+ G*6~+6 #6 #""!e~ (C #~C #~P  ! ! ) o* No ZEX or SUB script file found.  6e~+)!K*\ :p( Kq):c  *=G:iO ( :l) % )Z*) **6K* "6KB0@*(~)O) o* TPA overflow 6*[R8+""[z=2!KDMN#0:w#z(*z~2 *z~o* ZEX Version 5.0 :]/:^/o*** ZEX v.5.0 Syntax: ZEX [ [dir:]subfile[.typ][ parameters] ] ** $N N-th command-line param. '{' (col. 1) thru '}' Comment lines $$, $| ... Becomes '$','|'... ;; Remainder of line is a comment '<' (1st char) Input line to program ^X Control-char 'X' (any char.) |ABORT| Quit script |AGAIN| Repeat script |WAIT| Wait until a is typed |RING WAIT| Ring bell, wait for |PAUSE nn| or |RING PAUSE nn| Wait nn secs. for keypress |RING| or |BELL| Ring console bell |UNTIL X| Use console input until 'X' (any char.) is typed |WATCHFOR string| Use console input until "string" is output, then script |JOIN| Omit and continue on next line |CR|, |LF|, |CR LF|, |NUL|, |SPACE|, |TAB|, |DEL|, |ESC| The character(s) |CCPCMD| / |CCPCMD OFF| Show/ Don't show: CCP command output |ZEXMSG| / |ZEXMSG OFF| Show/ Don't show: ZEX command prompt |FALSECMD| / |FALSECMD OFF| Show/ Don't show: commands in false flow state |SILENCE| / |SILENCE OFF| Suppress/ resume: console output |SAY| / |END SAY| Begin/ end: direct message to console output |"| = toggle |SAY| |'| = toggle |IF TRUE||SAY| |IF TRUE| or |IF FALSE| / |END IF| Do script if true(false) flow state |IF TRUE| .. |ELSE| .. |END IF| Do script per command flow state synonyms: |... ON| or |... YES| / |... NO| or |... OFF| or |END ...|A:5:=O:F"ɷbk(~|(+w#! ~|"w#~|("w#! ~|+w#A[ a{ *|q###>w{*R"Fo* DirectivecFo* Parameter number out of range;Fo* Expression or ParameterFo* Script too long. o* Error Line # * +ͼ**~(# 6u*ͼ*K> (g+o*^6 o* Too many parameters: *> 6~ ȷ > g+#o* Text Buffer Empty4o* Incompatible RSX has altered (0001h).4ZEXSUBÌÁuå KZEX v. 5.0 ͹7?71*"r<(͹ *"K:K*#~#fo R>2*:#6͹*"*! Nwy#*K%K!4!41?!^^'_Y*8#[Us#r*:#6͆*4###KD#~( y [@*BR6;#j#~# *6:Fw2W2R2]2^/2Q2Q2\r+~͵<>$$. NF G"O((($:_G(y(:` :Y!X5=2Yx:'(N'F("( !~68s16(Q( ""O"y0 2b!:t :Z("":a >2a:a(z-(ˆ( :Z(>2`:` >2`(O(KO88̈́(:^ :] y<1̈́(:^ :] :Wy(?*'O:Z < 6>(2a2`6y(2t {*I l&"X:*. * 6 (((#:Z :Z( !_ˆͷ:b(38>O!k T]+#qbO +G +>2`2b*:~G(!" y 2R/2Q2\:Q(*6~  y 2*G?:T($(' '?:Z!_F*:#F+*:Fɷ_!K^#Vagms  39<CFLOUX^|6( >2a>2`6(>>6>(!bwG#w>' (# ($ ͸'  * **&̈́*<~#fo~2Z{͆!KP?å>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2G͸>$ '>:GG2  '![2[̈́<(:\/:R:W/r+{~2Z#~2Z{>2a2`͆'r#~2Z{:S38P!:H( = *6~(3!!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done (HBA  @ I$H B@B@D@I "@@$@ B@ I I! @DHI@H@$ H$@H  BDHBII!  D! !"!DBI $ $" ZEX 5.0 Òuî81_< :8͕*-.~>2͊>2; *! Nwy#:/(*-.h0w w w w*u88͕!!!!1,!KK'_Y*8#[Us#r*:#6s*4###KD#~( y [@*BR6;#W#~# *6:Fw2W2R2]2^/2Q2Q2\_+~͢)>$$NF GO((($:_G(y(:` :Y!X5=2Yx:'ͮ(N'F(( !~6%s1#(Q Oy 2b!:t :Z(:a ͺ>2a:a(z-ˆ( :Z(>2`:` ͺ>2`(O(KO88q(:^ :] y)q(:^ :] :Wy(,*'O:Z ) #>(2a2`#y(2t {*I l&"X:* *# ((#:Z :Z( !_ˆͤ:b(38>O!k T]+#qbO +G +>2`2b*:~G(! y 2R/2Q2\:Q(*6~  y 2*G,:T($(' ',:Z!_F*:#F+*:Fɷ_!8^#VNTZ`t &)039<BEKiory}#( >2a>2`#(>>#>(!bwG#w>' (# ($ ͥ'  * **q*<~#fo~2Zhs!KP,Ò>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2Gͥ>$ '>:GG2  '![2[q<(:\/:R:W/_+h~2Z#~2Zh>2a2`s'_#~2Zh:S %=!:H( = *6~( !!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done H  H I D B@$BH@ A D$D @@H!H@AHD$ "BHB@$@@ IA "A@UUUUUUUR $@BBHH @!$ $ A" $$HI!!@@ *C+C+͵)( ʹ*< ~(l)E)##(C+)K+)K+$}2+͵):+(l)##x y K+~$(=G#~+$O*+^#V*+~#fo~#fo~"*+~#fo )+)*+|(~*+^#V#~ѷ"+ *C+K+)Y ʹ*Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0 Oy'4+4+d4+ 4+}8+=+0g+= ˀ7ͻ+g+Ϳ+g+. m+O:g}+͓+H ͜+ H͜+|8 }8 Ɛ'@'!+}($.Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0UY[BYC|޻8ō``h@kYH7Y A`9oW+#"-:Kn/ h C)yt [2נRcSy6ݏgb%JGaA8 Ox X?_A9O̓>xBbntQYDZɫ 1:mgÞ z)%@d:HAMjSj0Kk4UW)$SB+雥99UF+`?f ےJЛ%Zi)"S {M3ɺ&\jgw_QjNfh ] D`QD[D @D,^؛:w*Vvŵ_;߯n&EPo!"gAiQV&zF$< zY6U8E-ЧpE) &SGU fZK#%:AHC0@b@F.cؕQfvFu:B7kzηbT /If lS;S*FdȌL<"G.0is)$ `5*(<!&.CI7$NBEp *J1<&rF^Ydcg$'D_ƭ::Tz[E4GT5n-^G4hJMVft-Q wև n̽$ͽ[y3>xvwe~}Ϣ<&)NLp2ҾͲ-wiG U(b oP&RΤdJs ZhT@2jY8f0nb1%. r3hN Zƶb+>;^ @uot Du춤i3˜He7USd|S~Bb}lBbHu@@ Pf'v ŒP|TqUiњn(P|e(ۮ1`). d ;p" b7M`+(,? 2H3$~bX`HZI@U_<^Ħp+Yq}Far]MwLYȅuXI196s|2hBuq 48g=dzطK,IΪ"AN`D`zՏ)oݥ􌶴@\YnΜ֐2 Gh `t%ڝʄq8n91d=©Ӄ@ˌ%ץz@ {{ ̯9>Ǒͤ ʩpqY٭ݑ_&=N$"D̻?K`2L(WC)* Lj7@Mi Tף0p+b&t)OB$5^ø6FKHC€3opdL@VQiC ;HHh;m'cZetN1]* ")~OI {%Eقb Qog'}lߢ/2HOe-<*ҤҢH 2ri (Uo@Mq%mh 4HcS([JE>&" *bK3.*366DJ9>8KO=(;*HCa=s:>ڕg#~R@3A|A1A²T:T F rGb%Hc褖$NbjI^ħ#_1"lU@ߢ7WA QAf9QGvrMc֠^RzEH*gpȐ_K"фdrF8 cSI}چ)1h`}_(E) 9 (@|A vALIAS.HLP  V # APQ@8A&H-1\5B -! )i:b@X 1Ԉ$!ͦ BYs$" &Ӂsh)g@o3HaZi059p.+Ae*ɸa<W<[2NCA7Sۙn1 &u9opO)DhҜg#I 2y :eGMiפh(PeF^ P8{d2{7Q)팦 1kT-/RPF9`gѼryAleo{`mʗlt;ݱtvƗ XQ vBFaeWFcF!uiakFBU~XvzWQOq`bH(Vݹ`Fa+vZ9Q@zQRFtn9e= 8&91HP:?`ڍF7R 1DZXsVsPG7lME3R+摔mtFMLYCބ2@@c5r* i|wUB9sn&ߤ!bp!ؕW c' ݅)5f6S` 1TBGlvZE Qdvt9,"qꧦrmT(.8(P`z9W˃IQsgGJ] ŷ,H 3j5e֗h]!f.n 3Jmf56H*9eZҼ2[U)P$12 Zs~WmoXncUDt'*5c3 _w"Ag\!Y/vd ]@5֗š V[ t1.@ Y'A $A_DDR5aU{GtIФ̓(($ A.^2@B a嶆S23;!EMB5gòf7$M*t^^1&Wnz T:q|hЕYӽ & Fg! %Oo,<J@. iT\Rz„acC,s6H4x h cLDFt=X%@CWBj(T$&FL:|.蒩ZI/kT9 $xwXgs0;Tv(piMEC3;v6e 2*%nMʗf R HAm2VMР DAUk((ߒҫq! `o\ E Y@ !dB8(8 +d \B=htlTV ޕ Gד?P}hFMA| Ex'a`b0E 31> e]s.La2 `*0%u8T`WI,i%Ab[@eKdq)}3m bbi`ڍ8dTb=QQRh *R(h2]ڥ#@2dM 즅iSdFr Z| &a ,3t v42`%v^QX:tH:A[O%>U))%l)^TtF "ffXe&~ew`bQUz~I@B0FU$4ru:mͨwc4!;P}6$ nUDBUM¥Pbĩ*8ފ#: ~$ԪĊ9Ctw+{=賬:Bu~{i#:"\' k-;vڟT겑INTEN) =ƺ 򄥒lAlFlH=Dsi}nG5FnI44Ho eoAiodIVqA%Lp PqFqjGj7j7h7o+Jh/1qn"KrQrxr+r.i7072h4h779w<?P:Q}@œ}Rh 312:.'sm&NS_>Sr$ Z System Distribution ZFILER.CMD, 11 Oct 89 by Carson Wilson 0 ! $"Enter ZFILER macro script: " E ! echo f%>ull file spec:%< $p;echo f%>ile directory:%< $d$u:;echo f%>ile name.....:%< $n;echo f%>ile type.....:%< $t K ! $d$u:;$!crunch $f $"Destination directory: ";$h: L ! $!if eq $t lbr;ldir $p;else;echo f%>ile %<$f%> is not a library;fi T ! $!lt $p U ! $d$u:;uncr $f;$h: X ! if ~eq $t com;echo n%>ot a % file;else;$d$u:;:$n $" Command Tail: ";$h:;fi Z ! $d$u:;$" Command to perform on file: " $f $" Tail: ";$h: # SAMPLE ZFILER COMMAND MACROS FOR USE WITH NZCOM AND Z3PLUS macros: 0. on-line macro E. Echo data about file name K. Krunch the file L. display directory of Library T. Type the file U. Uncrunch the file X. eXecute the file Z. perform command on file ZFILER parameters for use with macro '0' $! ZEX 'GO' $P DU:FN.FT $D DRIVE $".." PROMPT $F FN.FT $U USER $'..' PROMPT $N FN $H HOME DU $T FT Z3ENVQUIETIDPATHROOTSCANCURDU JetLDR for Z-Systems (ZCPR3), Version 1.00 Copyright (c) 1988 Bridger Mitchell st$1t$/K (Rd $}2%$>25$26$ }29$*%$3͇" S":!$(* "~#fo:2w###6:&${t$9c 2!$go"&$2$I":=o܆ !v$w$62#$* !!|2#$![o!/"$!4"%!"!~!?"#('*%/*'"*."-"'""*>2)>2,*o,F!)"/*$w#w!'[#*!~6!/[%!3g!5k:(":(2͓!(~(++##~ +~2(Z3ENV'* `'"+~8͵) Extended ENV required.V%(i% ͵) TCAP inadequate.!m~ ( / #~Ed!]~/#~Ed͵) SHOW, Version 1.4 Syntax: SHOW <-- Invoke Normally with Main Menu SHOW C <-- Invoke with Menu Choice C SHOW /E <-- Install "SHOW" as Error Handler SHOW C /E <-- Install "SHOW C" as Error Handler ' =͵) Cannot install SHOW as error handler using GO or JUMPͣ(' x@y*>:Ϳ(#~ (!] ( /(6 #w#6͵) Error handling command line set to: ͣ(ͻ)͋(͹'Ͳ%:] (%-->  SHOW Main Menu  <--!"+$ PACKAGE DATA$ F --  Flow Command Package $ R --  Resident Command Pkg $ C --  CPR Commands $ I --  Input/Output Package Ͷ$$ ENVIRONMENT$ E --  Error Handler $ M --  Memory Utility $ N --  Named Directory $ P --  Path Expression $ S --  Shell Stack !("+$ ZCPR3 SYSTEM DATA$ 1 --  Module Data $ 2 --  Message Buffers $ 3 --  Environment Data $ 4 --  System File Names Ͷ$$ CPR OPTIONS$ 5 --  CPR Facilities $ 6 --  Special Options $ 7 --  Access Options Ͷ$$ X --  Exit (% SHOW Command:  *u5%V%(%>>>> SHOW Version 1.4 <<<<1 2 3 4c 567!C$F4RE@IMNP{SX $ $$!5O~ȹ(####~#fo7(õ%(%  Memory Display :+O(% x> +y +> + 5%| y0:8+ 5% *+*+5% --$ (% Command ( <=down, >=up, A=addr, P=poke, CR=menu)?  i%*P(!A(v>(.(+<(,(-͵)oke addr (hex)? 0=T]K+B8-| )%4i%͵) Value (hex)? 0 | }">+ ͵)ddress (Hex)? 0"+Ñ>w)d+~4+7*+$"+*+%"+(% ZCPR3 Message Buffer Data !"+$ Shell Control Data$ Enable Shell Comment:   Z G$$ Enable Shell Echo:  N$$ Enable Shell Wait:  ~$Ͷ$$ Command Error Code:  Z +  !-"+$ Command Status Flag$ Shell Status:  Z G$$ Error Status:  N$$ Extended Cmd Status:  V$$ External Cmd Status:  ^$Ͷ$$ ZEX Running:  Z $' '$ SUBMIT Running:  -Z $Ͷ$$ Current IF Level:  Z N8xͥ*!"+$ User Registers (decimal) Ͷ$0Z  5% >:+5%=~#~*$ System Reserved Bytes (hex) Ͷ$5% ~# +$ User-Defined Bytes (hex) Ͷ$5% ~# +$ Program Error Code:  Z +$ Error Handler Defined:  Z $$ Error Command Line:  û)(~(% System File Names !"+$ Shell Variable File:  >G͍ Ͷ$Ͷ$1! $ System File Name y+5%:   ^*!~ ^*͵)-undefined-(% Data from Environment (% I/O DEVICE: LST CON (% width (% total lines (%  text lines (%  formfeed !&>7͌ !4>1n (%  DU OK:  >.͍~$5%  Max DU:  >,͍~@+#~ͥ*5%  Speed:  >+͍~ͥ*5% MHz5%  Quiet:  >(͍~$(% Drive Map:  >4͍^#VA-{0z+"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*Ͷ$#~$(% System Component (%- Address (%> Size !"+$Multiple Command Line Buffer (MCL)$Command Search Path (PATH)$Shell Stack (SHL)$Named Directory Register (NDR)$Flow Command Package (FCP)$Resident Command Package (RCP)$Input/Output Package (IOP)$Environment Descriptor (ENV)Ͷ$$Message Buffer (MSG)$External File Control Block (XFCB)$System Stack (STK)$Wheel Security Byte (WHL)Ͷ$$Basic I/O System (BIOS)$Disk Operating System (DOS)$Console Command Processor (CCP)!0"+Ͷ$>hͶ$> hͶ$>hͶ$>hͶ$>hͶ$> hͶ$>hͶ$>hͶ$Ͷ$>"hͶ$>$hͶ$>&hͶ$>)hͶ$Ͷ$>EhͶ$>BhͶ$>?h!;"+>̈́ characters> ̈́ elements> ̈́ >!͍~ͥ*5%-byte entries>̈́ names>̈́ records>̈́ records>̈́ records>̈́ records!;"+>D̈́ records>Ä́ records͍^#V|+5%----͍~Ã*Ͷ$}5%*+o|g(% Input/Output Package (| ,(%Input/Output Packages Not Availablei /(%Input/Output Redirection Not Availableyͧ(% Strike Any Key For Next Screen - *(% Input/Output Package ;͐5%  Console>C5%  Printer>,5%  Reader >5%  Punch >G5%  Assignment is i+## NP5% Devices --  Gi++##Ny( ͵) > P5% - ͻ)v~# (+> +((% Path Expressions (~ (%!Path is Empty(% Symbolic Form (%# DU Form (%2 DIR Form !"+(~(!Ͷ$Ͷ$~$(@+#~$ +ͥ*#!&"+@)(~(Ͷ$Ͷ$~$ x@+#~$ yͥ*#!4"+(~Ͷ$Ͷ$@)~$(G#~$(Oy#i(( ~+#5%noname(% Named Directory Data ( -(%Named Directory Buffer Not AvailableS+Ͷ$~( W{Ķ$Ͷ$~@+#~̓*5%: #~+# 5% {̶$(% Flow Command Package ( -(%Flow Command Package not implemented(% Flow (FCP) Commands: ! "+(#(% Resident IF Options: ! "+#~3#(% FCP Configuration Options !#"+$COMIF processing: F$F(M$Use root of path: N$$Specific DU: #~A+~+V(ͥ*(% Resident Command Package ( 0(%Resident Command Package not implemented5(% Resident (RCP) Commands: ! "+((% CPR Resident Commands '(;(%Command Processor is not ZCPR33 or is not in memory8(% Command Processor Commands ! "+H((%&(wheel-restricted cmds in lowercase)^#~~ ##*+%> oD8$. "+>2+C:+~ A8[0 +#(% Error Processing Data !-"+ !"+ Ͷ$$ Command Error Status: Z O 5% NO ERROR'( 5% ERROR! "+$Error Source: Z _(5%EXTERNAL 5%CPR/ECP$Command Error Code: Z ͥ*$Description: !W) h> a ~  5%Illegal attempt to change directory5%Invalid directory specification5%Incorrect password5%Bad command form (file type / wild card)5%Command not found by CCP or ECP5%Requested load file not found5%Ambiguous or missing file name5%Bad numerical expression5%Requested operand file not found5%Disk full5%TPA full (program too big)5%Unknown error type(% Defective Command:  ͯ(~(;+#(% Shell Stack Data ) 1(%Shell Stack NOT Available on this System!"+)XG1$ Element y+5%  ~ 5%NOT USED5%Command line: ͻ)$ $ Ͷ$ ͚$^$(% Facilities & Addresses (% Command Processor (% Executable Object Files (%  Extended Command Processor (% SUBMIT/ZEX Facility !$"+$version number:Ͷ$$file type:$check attributes:$accept DIR files:$accept SYS files:Ͷ$$file name:$rootonly:Ͷ$$SUBMIT available:$command filename:$LONGSUB option:$echo commands:$use DOS clue:$ZEX prompt:!:"+$3.:+02++Ͷ$Ͷ$͠'͠#:+gQ$:+oQ$:+wQ$Ͷ$Ͷ$͠#:+wQ$ }2+Ͷ$:+GQ$Ͷ$ W$Ͷ$W$Ͷ$W$Ͷ$W$`͏'~@@ >$+:+0>08>$+>:+#͠#>.+͠#0:+40Ͷ$W$:+Q$Ͷ$:+G͗:+OQ$Ͷ$:+48:+08W$ :+G͗P(5%QUIET FLAGX$͚$^$(% Environment & Special Options (% Information from Environment (%  Special Processing Features ! "+$Maximum DU values:$Accept DU form:$Show DU in prompt:$Get RCP address:$Get FCP address:$Get NDR address:! "+$Invoke ECP for bad DU/DIR change:$Invoke ECP for bad command form:$User areas 16..31 loggable:$Direct access to ECP:$Prefix for direct ECP access:$Prefix for current directory:$Skip path for explicit DU/DIR prefix:$Allow IF processing in shell aliases:!7"+:+G0$:+O0$:+W0$:+_0$:+g0$:+o0$Ͷ$Ͷ$:+Q$:+Q$:+Q$:+OQ$Ͷ$(>>"+:+G(#+x 5%" or space5%" only5%space onlyͶ$>"+:+(+5%" or ":" 5%:" only:+GQ$:+Q$͚$^$(% Directories, Paths, and Security (% Directory References (%  Command Prompt (%  Path Search (% Security Features !"+$accept DU:Ͷ$5%accept DIR:Ͷ$5%DU before DIR:Ͷ$$include DU:$include DIR:Ͷ$$allow DU/DIR prefixes:$include current directory:Ͷ$$password checking:$password echoing:$allow directory change:!:"+:+Gͪ#:+OQ$:+WQ$Ͷ$:+_ͪ#:+gQ$Ͷ$:+w#:+o#Ͷ$Ͷ$:+w#:+/oQ$Ͷ$:+/g$~ +#Ͷ$$:+/W$5%follow ENV DUOK flagͶ$$:+/W$5%ONLY IF WHEEL ON$:+/_$5%ONLY IF WHEEL OFF$5%ONLY IF WHEEL ONͶ$( 5%FROM ENV5%HARD CODEDͶ$$5%--(%Command Processor is not ZCPR33 or is not in memory'H( +~  *+%$"+Ͷ$5% ͵)NO͵)YES"+x> +~ +#> +͵)| *+~ 0>.+#SHOW V#^#%V#^#%~#(( ( +̀%̓%t'ڮ%V###á%t'ڮ%V#U'U'á%7t'8!8U'U'U'U'~( '=77?t'88U'U'~( 't'8#~2+##U'~(&:+!'=ɯ%-2+2+%(\(++͛+D(y2(p3(T.(H+(0>(R(I(+>2+>2+&O0&G&+:+2+&+&d& &0+&&d& :+&(:+:+(O:+&(ia(08z0 y(z+~( #\ ~#+z!'Ot'8y(+~ >GG' M' ~#\ #"+|("+*+|7~!Ϳ( N#F'͠' =H(^#R ##>'(,)' H( FɯH(###~ ##~0!~#Z~3 !~#~( ͵)Program Requires Z System=?(˞(###*+~( 7^#V*( ~(# ~ #= >͗(()(~ѷ(~#fo$())"*+~#fo) ) ))XG*+^#V#~#Fѷ*+w*+^#V#~ѷ"+Y )X)) )OGF#"+##( ###*+#~#fo2,!"+2,+ !+N# 6:,(!+~(͛+w#!+:+ͻ)~#(3 ( 0* ( ( (  y( yG>GO> +> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7| +} +ͦ++ͪ++. "+O:g/+~͛+08!G0:8A80 8))))O #{~#(+(+~#(+ O !+y  a{_Ɛ'@'> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7Z3ENVLBREXT33sX!1!* P" 2 L* " p͟$$" ." G|2 ![ *  >>: c/LbrExtract, Version 3.3 Syntax: ͣ (#~ : /LBREXT/ dir:library dir:afn1,dir:afn2,... o Options: U - : V/Uncompress squeezed/crunched/LZH-encoded files O - : V/Overwrite existing files /Don't 8C* ~(.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(U:#.(> K xA:y>::!: <(6(1/ File exists, overwrite (y/n)?͒Y ͅͅ" C !! N#F!ͪ# x !~# -~ ($*  ̀ [ : (S ! 4ȯɷ/Abort requestedpOF##B(#s#r#(P(y(x PB(~#w ( ( =: ( ʅ  <==|r }r yr xr }r LBR:!S(D ! 8x g< 4 3(S(D !!) >S(Y (>D2!:!S(#3(K ("!i2!!!y b= p| 1} 8&08@8!""!0p|S(D(>R *!>2>1>3>g"!^#V#z(X!R8Qm R8(>! ^ R8(#<r `G}ir OdR0}r w#p#q#AI2!"!>B (.͑ h  :!_*!>͑ (h  <2!  < :!(!'  ˾ ' :!( ! !˾  < :!(' !! s#r!! ! ! :! w" !! <ɯ' !!# '  8x z  < Ͱ2i"þ:i"Oy:GGy!!!TIME&DAT*T ||D " |D("T  0 Oxͨ !8 !  ,=;<>_  >  + +###~ ##~0 ˞Ͳ ###E}  2j"͙Cl"q :> &#:j"(ͦ & & Ħ xy2l"̓ q  ~. #w :l":k"ɯ2k"e (#* +>?? !k"4e ( #> ͛ (qKl"i!8bUA8G!8!!8^ 8JO}o%  9M*l"B(,ͪ 8* 8$*n"|(~(,~#fo>=) 0Kl" (#Kl"($(G$(O #( 0 ?~_.,>:0 Яɿɯ̓  q#w#͙q#w#. $ö , "*n"|(~#fo- 0x *n"|(~*n"|(^#V#~͙(G! N̈́+[z0*n"~( 7^#V*"n"|>Z ͆(*>O>G>Z͆ |!~#~3ENV##++>/:~$N_R8 (x y +| . x 8 }"p"!!N#F! e(# x "r" ##t"*r"# !~ #[p" ̀   !N#Fy( p+q+F+Nq#p(!!6#!> '> !~ #>  #~##> !6#"~"!yg)0>g>!or$s%# !"|"[|"O*~" ~W$^S|"*|"͙C"K"̈́Y pXpp pOG _ p>!!!s#r#6y>y<>y>>>y>y>y>y rr# 5~#  ( : ( ( ( 7y/ : ѷO> :> :͘:ͨUͱ/è>`>`/ >.:y  :> : &d& .,0g} |> (0G:|͒:͖:O>`~(Uw#a{_ho*o*.:g~?(O#Ɛ'@'*jɨ"8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. :>9>9>9>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xH!;s#r# x[!;s#r# xp!;: N#F#~#~# x…!:s#r# x¤!' :vs#r#s#r# x»!"% #"*# >>̇*m)~#fo"m!;N4#"F4#y#xy#y#x++~p+~q"S *m 2`Nwy#2aFwx!' yxs#r_#s#r!' yxq#py#q#p!' ~#fo!u!;^#>ڧ>{! w#w~#fo#|g}!; w#r#+|•!:v!;^#V#~#fo!; +z+{PY}O|GB!; T]+~+ x"! T]+~+ x8!; s#r! s#r+| ! ^#V!' q#p>ڇƒ>ڇ#q#pxd>7Ø >2"f7Q2"2v-2- 22!( >7>222>!6 # x!|1}M!qzW:}}|2DḾ#{ozg!~w#|g#|g xW$ >N ڔ Ô> n&)))))ڹ>ü)>?o*oDMyx) N#F! |g}o"m>272>goWo&!9";!q*#{zM*;+}|I}|Nѷ7"!rx N#F#^#V#! s#rW;@Sh;} ' % # ;.' I' c' z;;;;;0;DLg' n$Yaoͩ!"5Copyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only.""s"1m!["*"qv q( >7{"ɧ q(8%8>>qOqGҟ*"  x BqOq!!!!G:"G6,q,p,(y/,w,,DqG7*"BI33ç88 (Oͅɷ( =Gyͅ>ͩͅCopyright (c) Steven Greenberg 8/31/86 201-670-8724. May be reproduced for non-profit use only.."">0g"">(gR""|gs"!u["R""ͭ ͗ v ͗ (> >>>7{"ɯ͗ ͗ ͗ ͗ ͗ mS";Vͪ!">8 *":":"(;Vͪ*"9B:"gk~ >2"*":"~FV|g^z ͪ|g~s|g~2"g:"gOD~(|0g~( G|gn``͟r|gs|gqK" C"x>2"!"8͗ W͗ 2"::::_ ͗ _:"Wz?!""̓!< *"T]>w6@>*"w}eo0 $:" :"g:"G}/< OT]>(*":"GzGK>J+|0gr|gsBO ,L}Z8 90)))))l NͬS"An͞!">8 *":":"( <2"S"An͞*":"1 {('J!""2"ͬ> 2">2">2"%V:"g*"9B:"gk~ >2"*"> 2":"2"~FV|g^z ˪ͨ|g~s|g~2"*":"g:"w|gs|gw*"#""#:"'2":"< (2">2":"G:"O!ly2"z={((͗ 7OK"88( OC"͡ C"ɷ(=G2"y2"y͡ >C"͡ > 2"!< !2"*"T]66 *"T](6*"6G{ L~( ["r|gs:"gyg""[":"W|0G>2"x{ L~( :" V|gn:"gn "" *"|[":"Gr|gs|gp]))))o{g:"g#["""ͩ! "  U4Z3ENVLBRHLP19HELP MENU HLPFILESH?PLBR* 1=T *"2:]/k͞Lbrhlp, Version 1.9 Syntax: V͞ [-[dir:]library] [helpfn] Everything in brackets [] is optional The (-) MUST be included if Lbr specified Default LBR name : % ͞ Default Filename :  ͞ Alternate DIR : !T]m(  * |A}0͞:  (!r~- 2]#!%>!0l ;!m K ,l '͞ Library File  ͞ Not Found!]~ (- !m~ (? !,tZ3ENVCFORCIM copyright 1987, 1988, Esoteric Software  i67)3[R8sG;KOx KKm5B3!m~!8>͏4ͮ͸ ͮ * "E!  /6! " !"& !LB">R2>2 24 2$ !"> +;6 ͼ &͸ ͮF͐ :G(7͐ 7 !˞>: :W >m4~!jͮ:2!'T1 0!0Bͭ7  \v"* \vG:G(x7͢7w7ͭ7?~/~+=-"C(FGJLO&QT#VA W~XY7#T@9G[4Rxͭ7RA!DE"K_"M2RU"j!T1 ͸ KMB3[3>m4>([   ͜{G:jl !T1 !T1 Ml File operations  O - Open LBR  E - Extract  D - Delete  F - File size  C - Close LBR  U - Uncompress  R - Rename  A - Add to LBR  K - Crunch  V - View Other functionsT 7^E  / - Help  T - Tag  W - Wildcard tag ^A < ^S < > ^D > ^F  X - Exit  Y - Untag  G - Group execution ^X  J - Jump  # - Retag  Q - Screen refresh  ESC switches dir  L - Login  M - Options Group operations  T - Tag (*.*)  E - Extract  B - Build new LBR  V - View  U - Uncompress  A - Add to LBR  D - Delete  K - Crunch T Command? [/ files, eXit] - 0͢7ͭ7?3/3XM j!0r R??????????????u3&#͋3"2~!8N~2#~2#~2#~2#~2 ##~2 #" " " " " " l Insufficient TCAPzR͒͢pRͰ cRͺͰ̈R͒ ͒RzpܢRc0ͰR͈cܺRz0>(::W* T1l ->* T1l * [ /5[ [ R0* " " * "  ͐ L* [ R0' ͐ L>(! & ! !  !&  F * " * $" * F R" * %"  * [ R" * }o" * [ " * }o" * F [ R7* F R[ R* [ [ R* [ RF R* " " * " * F !/5R" " * " * /5^#V#T1 r !͜ r ~# ( (w7~#/ ~#w7ͮ >.w7ͮ ~#w7!͍ >ͨ2!͍ >ͨ2!͍ !͍ !͍ !͍ ɯ͏++~##/(!5!#ˆ*E" " 55(u [ [ S :2-6Ɓ_:(! ~ ##~++##> !˖>7 7*& " " * " " K x 0( 8 * 6#"E!" " * [ ~ p (* * #" : (K ! 6 C [  p ~ y [ K y [ 6O~#: GO~q#* " T1* " >2 >2 ~(7 [ " ~((: =2 * $" T1: =2 (>2 : G l [ ~# ͜ ~w7 * $" T1>6*6  * #" * #" >(?~W#~_W{_#~_bk͉ : G(#: G##~#foT]#>(:O(˄_46a/͚525,M("4͒(!_ :2+46^/͚52͋7L(4͒(! :2"M([z T7_!5:u5_ͦ5 ̀5>ïM* !M6̀5 M>¯M Y } "l ( *"w( *"*[ER0*[ R>گ"E!RR j <}o>ʯ"[ES "*_K:->گl .L *u }("͆!M *"2&!2l3*LL Dl |eI()>گ:ͷ)>گ:: w+>+:(~*:w c\46!'T1 l [DU][DIR]:!2 dT1 (C!͋7\2l3 2: :]!8 !] :\g:io"|(2}(2:u5ͦ5̀5ĂI( 7)4=:u555͎,f6̀5>ʯ*M(*|ʶi* *K:-*L:u5ͦ5>(!5*"I6>̀5ʯ:?2)3[R8:G°_R*L D( *->گ!"9%""!*9.*M4|}*O "*T« )O6ʾ!y*L4O*j.>ïD ZF#~(> 8+q#q#q!&6!>[ +&)!> -~< w#7yw#!6#33l Directory !1 dR6:#6ͪ(B3>m4 ͜!ˆxGm5ö2͚E()>͚E(:(͇͌{8͌ :_:!ͣ%<=<<=)!͋7\2l3 /=G:iOɯGOR^!~( v((f u>:(:(ej> w7͂0X!˦A:(FdGroup Delete? (Y/N/V) 0͢7Y("N( V !˦:?2> w7 R!>(!͋7557)l done!ˆ*:(=g"I* [ ~>ď4öR_a^a ename to !>dR!>͏4j>(ͦ5Ă0jR55!_ͺ51)ĂR7)!_?)![  * T1 RRͅ>#*> (#Rͅ>#> *> +"> uèR,ͅ~' >#u*> #"> 0GRl ildcard tag !4dR,͐ * 8ͅ>#( u*> #"> 0>m4 Rl ump to !/dN* L* >Ï4R* ~Rj͜  = #7>Kw7#7l recordsR[ * R:v::v:(~#`#ɇ_^#V*T(:w j!> w7 6J[o3cannot close filechecksum errorfile not found: Rdir/hdr format error Rinadequate tpa Run-written data: cannot type Rinvalid format: Rdisk/directory fullRdisk error: already compressed: Rmember exists; cannot add Rmay not crunch R!T1 l ͍ {> w7l VLU 1.08 4#7l K free33Ͷ 4 > w7##ͮ y > w7x̓5Aw7y͔6>:w7* %.?T1 !*  l [more files](Rl [empty dir:]T 7open: :G:OͶ!ͮ M!T1l VLU Options Menu: ͥ a. system file suppression  b. prompt to crunch sys segm  c. prompt before load to lbr  d. if c is off, auto-crunch  e. prompt delete on extract  f. prompt delete on lbr add  g. prompt each on group del  h. transfer datestamps  i. exit with warm boot  j. discard not-smaller files  k. allow un/crunch to alt du: l. multiple filestamps/crunchl letter to toggle, [CR] quits 0͢7ͭ7 A=BBCGDLEQFVG[H`IeJjKoLt }!5!0!+!&!!!!!! !!!~/w8M:ʶ ( l  on l  off l r ^#V#͊~ #33CM!"O"I\/ V ^z( +SISK#~!>8 ͏4*M"K@4~Z /+zSOSK###Q ͋7͟3=8ͼ3_46!Q!T1 l T1 d7!͋72l37:!l Delete !:O(!͜ l ? !~(l (R/O file) w7!͋7 ?( ͢7O~ #* 0* [ [ R8~ 7Ͱ͒ c :(:@ V(͐ * " * " " * ([ " ~! ~!06?#*  ͋7ͅw* T1* * [ HOq#~?(O #}oRE͜l  [strike any key] 0> w7 !T1 l Command? [Open, View, / help, eXit]  6>6=>RdNew library [DIR:][NAME] !d(ͪʾ!\# >?ʾ #~!ھCIx<2y2u5!LB>R"2ͦ5(͂چ͋7>͏4dHow many entries? (or CR) !d(!~+ #k68*> + R0#)""))+"< l initializing 6#l entries46!4 2l3/c6>ʯ͵5̀5!>B×̀5þ:!2dclosing library:u5>m4!LB>R"255ͺ5̀5ö*< #DM*E$ x w##Ͷ*/##*/L)6 #6 #6#ɯ#*E$^6#V64i*E$~4# x 4/*< # /5}OD!~!:2͋72` _)76## !NF* ":(G>wG>44/̀*/͒*/͉*/͛*/L)R>* ͏4l roup [4 &l (View,Tag) - 0͢7w7T% >VWl (V,T,D,K,U>( l ,B,A)l ,E)l - 0͢7w7ͭ7RVT% UKBADAE2@ !,͐ ͺR!~ ˎ:@ V( * T1* 6((1ͅ~# "6'*> +"> :@ V(j33Bʌú0,>m4>͏4:/2:@ Bʌ!? ͜,æ$$$.LBRR!͢ 8!'&͉!8!͸ V$} >ܝS$>گl 2&2&<<2&:*9w288ͫ ( 0!G60ʾ!x 00F8B m! 2&>  :&=(2&> (G:&O:&<2&x 0!>2&w7:&/2&:&=2&:&<2&G:& +:& 33ʾ!. :&=>2&:&> w7:&<2&* S * ?(O~ #7R>R*  p R!FRjc&͉!8V͉!8N*  ~ # #~89:(-m&͉!0%8&Rl crunch * ͜ l ? w 4: .!͢ dAdding !͜ l %}öR!"͢ c&͉!> 8 > u }(Lʯͮ$ͻ#=#*>Di>>ܝz#X%:O}öR>R!͢ ja Extracting to :G:OͶ%;R!"͢ } u M > ïS$*28 S$*9>ܝ͇#öj* ͜ &!:O W K:=GͶ!͜ l !&r *}@|@[z:O w _W* 04R>ĝ>v@>@!:O !` C$>.@!:O !hC$:& *-} !&(C$@!:-0"-:-0"-:-0"-!-<@~# =@~@#j* ͜ *} uF#l *l Erase stamp? (y/n) w !&6l Use old stamp? w: :(g:&(7dCurrent stamp is !&r l Accept this? (y/n) wdEnter stamp: &!d :Ot$!&6!~:(2+~](#6]#6!&(>[( :*2%":*%RdNot smaller; :(l save anyway? wl not saved33:O1"5öj#*"_:%.2-:%.2/͋-0>ï:dcrunch system segment? w7l ==> ABSC?MCRLE?EI?TIRLLOGO?JOV?P?DP?LRBMR?LS?RSYSTX#FCPIOPRCPLBRARCARKBADENVFCPRCPIOPZ3TNDRpage &0ĝR ͐ R>7*  :G K>m4)((9*I|'"I*K|'"K*O|(E"O33DMm5)(m5!7337Ͳ'7ͭ !*:=g"I!>͏4`! (7:u5K![E>6M6> (#*R>8 x ̀5̀5͝7!*E" 6l'*))+"< 8x(B>ĝ!" * " " *E" " ! $DM~(0!#K +6 #* #" !˖! w!""!5465((6Ͱ5>(/:!#> "*"/͚52>#6*"55*  ~6͋7>  !͜(L>7>m4 ͜!ˆ!56!LB>R"2* !   6" ! " %T1 $!7T1 ))6 )# *))+"< DM* ! " *E$ 8 " Ͷ*/##*/8!K5I6# x 5" *K*l'*))DM[E(<($# ͡(!  x ܯ=7=" *C*:-(l  cre *-:-f*:-(l  acc *-:-f*:-(l  mod *-:-f*> w7 |z*>/w7z*>/w7}Ͱ+Ô6!-*!-@+!-*!-@+!-*!-@+,!-*,! -@+#~+(bͰ+d0XNG!m_/5x( x #Ͱ+ 03=(G.+x_0o0$Ͱ+ 0o0$!~#()8&Ͱ+0W~#Ͱ+?<0 _W{_|(6|0,ͪ/_|W}<0ͪ/W}0 ͪ/_}{ɯG͝7OOx!>66*6"-|!ˎ!-6#),(2-"-,(2-"-+,("-+,"-^#V#5/^#V#r+5:-! =,(8:r6[6,2-"-,2-"-!-,2-"-!- !-w#:,*-̀*/͒*/!-ͤ*/!-:s6,:q6[z(,2 -"-! -7*-|~7~u5ͺ.y怰(Q##N#F# /*E *|(+"(+#### /5Ͱ5(!~ƀw#~w###.~wÀ5~u5##N#F# /~#(2*L(*#"+~րw#~w#.###5͎,ͫ57 À5w#6#q#p#/T]w~ͬ.͋-~u5#### /͎,͵5̀57Fw####~#Nr+sQ_x͗. -0##N#F###.#^#V.r+s####~͗.̋-##N#F###/###^#V.r+s##qͺ.Wx(>s.~ ## /##{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_W5~#<54#4s#r#^#V#͓5<N#F~#4 x |"/Nͥ/G/W/|W/"/=/xͪ/2/ͥ/>h/>2/*//O"/  w7:P1<2P1<1 ͒0>(#+~( (#E10 ʒ0 ͭ7 0 R00c0w0|00000> w#:P1<2P1 1(81(1(81 11(81 1(81('11,1:R1O:P1Gy2P1E1 XR6#*P1T]1(81 1"P1E1~(w7##6 "P1 0:R1G:P1+!P156<1~#!P14>w76> w7>w7~ :S1G:P1*P1T1*2~!ڄ1~22##2~ʄ1͉1:2ͨ2=%-2222%ʮ1\ʦ1w7Ò1w7Ò1d>228232.2+2>1r1i1w7Ò1>22Ò1>22Ò1O2O1m2Ò1GO2w7:222Ò1O2w7 2O2d͆2 ͆20w7 2O2)2O2d͆2 -2:2e2`2:2:2[2`2O:2~2|2iaz2|20ڑ2É2z0ž2yʢ2zw7O2* +~¿2>G2 222 2~#\2#2" "2"2S346 > !3)3 [3*ͭ3. N#Fͭ3. q#pc3c3˞ͭ3###!~* /F##x_* ~!ڝ3=ɯ* ,~* "~#fo* -~"-4/43~3333F#N+##*-4~͢7O4#3/43~3&4#~+&44* ^#V#~ѷH4XG* ^#V#~#Fѷ* )~#fo~=ҍ4<* R =ʉ4Á4ɯ=ҿ4<* R =ʬ4ä4 w#±4ɯ!"4*4j0 O}!o|gy"4g44|*4* 8W+}(z i`: ()= կ2l52j52k5=<0*j5"j502l5)*j5:l5g57x͊5yÜ5͚525:5͜5_>6>6=>_> 6=>6>6>6>6!# >6>6>>6=G=x>6*6"6>6OS6"6<OG =x6 6#>">!u!t"6#65>6~0ڑ60 ґ6bk)))_zW#o6{dͬ6 ͬ60w7ڶ6 î6_y66{y0w7{'66d6 6}0w7}o|g7 6}o|gy7y0w7)7'L7L7dL7 L7}0w7}o|g[7 N7}o|gyo7o7> w7y0w7O*. 7~ʚ7͢7w#Í7a{_F#"7##7###·7*77#~#foCopyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only."7s7128!{8[7*769v 69( >7{7ɧ 69(888>>69O69Gd8*7 Ͱ8Ͱ8 x B69O698!!!!G:7G6,q,p,(y/,w,, 969G7*79933l888 (OJ9ɷ( =GyJ9>J95ͻ9ڛ9=v–9=9>ç9>ç9>ç9>7*k9ɯè9ͻ9ڛ9:!9"k9!."t9>0g"v9>(g/g$"|9|g.*|:l9*t99gz?=9 >====!ҥ9 $:*:y:M:ç:!"z9G<> 2g92m9!Ͳ;<@:2=>2m9> 2q9<:!Ͳ;_:2q9go"z9"a9=ڭ9;!c9~6̬;:`9y:=ڭ9;Ù:"a9<:;!c9~6̬;:`9ʧ::<2`9ç:"a9<:;*a9:n9͆=:{ʭ9–9go"d92`9M:> 2g9>2h9>2c9ç::m9*;:u9g~ w*|99қ9:u9gk~X;>2c9> 2q9ͬ;2q9~ʠ9V|g^zr;W*;|g~z;|g~2n9O*i9$%’;ʍ;o%>$"i9&"i9ʧ;=g}>%Ÿ;>>*a9:n9G:m9x<ͽ2`9*t96#Z<@s# xZ<}eo{<$:u9{<:u9g:u9G}/<‰<OT]Ͱ<ң<*t9:u9GzGKͰ<ږ9|0g;~# x°<7ɅoWgG}oO<#z|> )))).))< =<))))l=z={<:g9G:f9Oy,=O{_zW=y2f9z7=7*t9Z< X<*v96#(Z2p9x=L~ʻ=:p9µ=V|gn:u9g~ ´="o9u=Ð=*o9|*z9#"z9*a9:n9G;|gp]))))o{g:w9g#*x9"r95*v9u{ozg"x9!/>`9 ~# x$> %2f>!9"d>A>!:>$A>%xA> xA:f>0xA>xA͑A>͑A>o:f>>|v>}>>>2<>> 2;>|!k@">>>*d>>>>7>> 2:>!@2E>go"B>"F>>2D>A?>2X>!Z?%?@?>Z@?@!@:<>>xAͻA!Z?AL~@v?ߺº?|g{º?|gxº?:E>ʨ?:Z>¨?:Y>¨?:[>ʺ?|gV|g^a~ wxa:E>?~ ?:a>?"`>*@>|!_>?h?*B>#"B>:D>2D>::>< @2:>>2E>:E>>@*`>|W@*F>#"F>"Z>x2Y>r|gs|gp7xr|gs|gp?|gr|gs7x:=>W*>>j@">>͑Aڀ@@}@!@z!@z͑Aڀ@@!k@}@>!@Z͑Aڀ@ʶ@@ʡ@!@z͑Aڀ@@!k@z>!@͑Aڀ@·@!@z7!\>6!:\>]AA7F106 CBIOS 0080 ENVTYP EFF4 EXPATH 0005 EXPATHS E100 RCP 0012 RCPS 0000 IOP 0000 IOPS EA00 FCP 0005 FCPS EC80 Z3NDIR 0015 Z3NDIRS F000 Z3CL 00CB Z3CLS EE80 Z3ENV 0002 Z3ENVS EE00 SHSTK 0004 SHSTKS 0020 SHSIZE EF80 Z3MSG EFD0 EXTFCB F0D0 EXTSTK 0000 QUIET EFFF Z3WHL 0004 SPEED 0010 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FFFF DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 CA00 CCP 0010 CCPS D200 DOS 001C DOSS E000 BIO 0000 PUBDRV 0000 PUBUSR IRS F000 Z3CL 00CB Z3CLS EE80 Z3ENV 0002 Z3ENVS EE00 SHSTK 0004 SHSTKS 0020 SHSIZE EF80 Z3MSG EFD0 EXTFCB F0D0 EXTSTK 0000 QUIET EFFF Z3WHL 0004 SPEED 0010 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FFFF DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 C400 CCP 0010 CCPS CC00 DOS 001C DOSS _!/ 8 ,0g}'|0(3 9~#sv#1 "y#R8*d"y#R0Sy#:"2;2l#:! ! "7*d"{###:G0>( :` ͻ  A :#2#2#!!: 8q2#6!-7 !: !h>6O N#F> >>>2:vz o p j -* SC di lS ,  f\ wC Kj(z Ϳo ~o ͺ(ͿͿ~ (y(z~ (+ͺ#  ~!dx(!l"HXy9 8 xKbW !l"O Q,  zx0 , 6x=z0կO_:b<(G~(( ( #3>͵y Kb͆ J ; !k"F#OW!k"p[ # t D , V ç V ' "{#(͗ V A ͦ ͦ xðy Ͷ A V K{# *{# V A *{# DM V  D } A O *{# R--:k"80K{#YP =}H V "{# "{#*{# b V 1 A 6AV äV ' (' D :"=D *{# "{#A V 1 ( *{#͆ *{# D V 1 :"=(! "{# ͆ *{# x2<"{#D "{#͵D *d"{# *{#~(K;y=((C; ("{#C;*{#:<(=2< *{#l"~ ( (x2k"2}#!k"N #>=(G6#*{#Kk":}#( 8+!l"[{#( ~ :k"1 *`6*{#6 #6 #" BR8 <~# ~[dR(++R8~ #G *d>Kf+" *dR( +~ ( (# U ѯ6#"~#S#C#ɯ*~#[#K# a V K;yG*{#͜    ("{#:<G  ͜ D D 2<:<.gyo,:< õ> > 0@a{_ 0@>  !^#r~#(08 0 OzWWz:#G>dV *y#"{# :"=ʧ=ʧ*{# "{#͆ (G (D ê' V ͬ D "{#A *{# 1 *{#+~#( =ɯ+~ !l"~( *{# 1 ˾ !l"˾# ͣ -a yx2k"[{#5 m :k"G B !l":#G[#[ ~ O } o:/2 3[Back!  ! 3[Fwrd"7@a ͥA:/2} !͸+3[Line Seq ~/w(3N]3FF͵L i n } 3Text Lines: G:c8x(O2"GC;0A !(͵>!:!O:".gO :&G:i_(Oõ >-͵:<G:cG͵ !lͩ~q#18":00G!l"l(6!lɯ xO;ѷ+#~ (~#   !p} #3[Q Clear]͓!"ka 2x#V Cr [k*k"&##B0#"k!m*{#~( ( :x#73 [Q Full]7?V ͟D A *k|K{# Kk[{#!m7#, :>G>OÕ͵~ ȷ!=!"6>2;:=V :$ 1 !<:%_:;8 >.~ #m ͕a A[ :#_:aʔ>2q#m ͪ"o#(: y=( 2q#+ ͪ . # "o#:#(O!0 !q# ˎ!4͗!\$(áH:q#!\Ɓog"m#=+ ~ ( :(=(, #  * ^#V#~St#*t#~#$(=G~#"t#$(O:q#(*r#B(Cr#͗͌(:l":(.( *.**.COM~(:(*y#" "{#êk |\`fC %"G7dl Ck  $ej+ >~# ͺ ~ (~ (+ͺ# +yQxQͺ(~;(ݷ(Sxx(  f!k"p[ t l _l l*dlͬ ͗ yl GlWl\b l1 J ͵\fl "{#J -fJ `'͵y= x(ؑG> >:l *{#ʂ "{#=:H l "{#rN:=r:$ 5forͥ>f!͸ rz:/2r>:09:G:+>># 2x#lC*{#l͟l#C*{# "{# SØ D}00 |D!Y!#i#~#F=:Ŀ!#:>(~ >$8'<'w͈:> ͔:#>oĜo0*X ^#VO> ȯ>BGii#~#)3!#( !#=(!#J~P))3> V#^#F#N#y(}<8o G.*#*#:#*#*#5!#ͩ(*#~(!#ͩ(!# ͡(y~# ^#V#:#*#[#[#R*#:#W~(*#[#( [:#&O[#6666:#g:#g gɠgK[#(]%-%( \  D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|e||d 0/0Gz0 A(x~( #\ ~#zO*#|( +~(G' - "#|("#|(D~!8? ~2##~2##~2##;:#O ; !#6#s#r#6#s#r# 6#s#r#~#\ # N#F!~. N#F-1 ~(# ~ # ̀62#ͬC#͔:> &#:#())xy2#͔͆ ~. #͚:#:#ɯ2#h(#* +>?? !#4h( #> (QK#i!8B A8G!8!!8a8*O}o%  M*#B( 8 8K#(#K#($(G$(O #( 0 ?~_.,>:0 Яɿɯ͆ q#w#ͬq#w#O>(~>(X6 ( w#>(J~#( ><~(>.x=(K+x( w+ w# ###~###w*#|("~#fo( ~7ͳ(FG~(#9~;( (>;( ~#(6ͳs#r~# >*#^#V#~ͳ~#fo~*#1.*$,*"*#~#fo-*7XG*#^#V#~#Fѷ*#|(~*#|(^#V#~ѷͬ(G! N͗r[z0*#~( 7^#V*"#Y X OG>ѷO> > O> ~( w#o*o# $D@B A @ BA"""DDAHD@@H$ $$@A H" B!@$"HD@"BI$DAUUUUUUUUUUUUUT$HB D!!$$ " @@ IHI HI$I$ D$@"$H $!"I$I!$II$$ !$ @$A$ BAD @@$"@ I $BB"D!$D D$ !$  $I I"A "DI"AB! $  B$"@BA$ $AHI "H"$A$$BBI  @H@@  H BIUUUUUUUUUUUUUTI @I HD$I$I$!$$$@@$$!$"$$ IHD $I$II$!$ $@  @!DD B@ IA@@ @@  @@ D "@@A@@@  @@ @@ev  E&#(0&#)Έ  !(S(9(Sm(F0(I! (9 T8(98I4(96vLSH.WS $"U$#&$## & Xr9M\e7 'Hl=  LS@2# LS!@<4*p&)LNb{H@Z! C1pΎY)ҜցbҙTM 3yȴZD  2 K@g#)o9cgC+@c7MvDi79DS!>nsߎf)~; &7@ ;xhםP`ĥAbS-f]91y 0Xo&cI3 u8A 9ɁtlGAu'O&yB8d]foѼv}~G`ޱAȔ<"F/dXafuBЁ_lGhX.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!a{_  )~#?0_z_25<!~ȯw~9>_ ####~#~ (~;ɯͦ > ͸ȯ:!z[{{K:(xA)y!/ 8 ,0g})|0)(:>:)#~ ()*|~# ~ =: t:(P~@9X(;!H~=2Y3 .5+wb(&!:0O: ! jÊ*|(~!8KG<2: Ⱦ !~#6Ʌo$!]!] 0 8?#A!_P~!  =.:;,>? >> 8!"Ê:f2=!lJ!8>2`"@[!:=ŷ( :w#:w#6p#q#w()K$(G$(O !~(#~# !p#q2!:W > (~ ( !~>!- *j!W#^S#GQ(0 l2!̓* 28.*(&>2`!60 Fw*0>DM!͉0":`<(:8x=> _C0 _!"[H:=ŷ: :n6Xv6]sq2e!S_[t>b#[@E%(8t #S3~2TGrLrSQV$ft _dhȩ@3]68@u1se a-2@%.WЅKr8RPUrmf)pQw0PKp,e6Q !v5_]Ixa_nJGx eDPЉ5,(F/I o',2rwvSyPK )uPua(33 l  +4i8z2LC.Q<1&P%C)5oPE0I;&7bml@ `3#e8@oH!Zh^c܂#xsم29|ZaPfwȘ ~@gS=QSc]ю&WprAwPi X r5a2&  AˁKҨ4@w68K)I.XT[u\'|'P(e1+1&UQ­ B  o'sRx#raNN+i%V%c$$ZapEIGZI2_Mjz[EZ1kCEN%Gt[}: s#bi;;0obu!fSʗ{w\HY@.bb"ՎPrv/` j{crDNC"zPKajj- -cj%6%FUm'4+!W*ѱڗq t @- \<b`g 3\1D4 *4Idv$Lz33Ӌph.PxMEbVr0Yο,7<Á)r!EQJ ;$PO{, oC:cu@/e#.`6p dE/'MFLPǩ0p:'2eX fQ?DL o̰~ka聃a]W>w l'm:h2ƕzN`ktCFmG\JnrqkQ/֕jX+ wCu)+Y]QeOyv-ز9R$yHѽSnVƞ[(+]g`."W+ y S"[`P#Q+0F~[8O hvN)%%'b!р );MUnM؀kd[aM$SR;ad\OT rc7JΜrG=J2K'@i=w&uO<d7Hg?E oVuE4RN.rS/pU/C'x$/w۱64|*+kO`B"=ʼnW;sgrUSUK5Ys|x(T(z}}̫ɰoIb۲J6>bwqLJ܇%Lqv)F[ /&0bN(z"Tҡ~7݄cr-ս5J[V짘9C_!sq!ݰy:: E & 8z.)d%DRyؽctTߢMc[H֐abxSHKm7ɯ=& a~I\yEᧅԜ'3pf6&͍=wƮo!Ӑg8Dӑ䜈%Lb/[xf;H[7Ñ's{$JϨqvk΁.%K1W!Wr[XCr^ReHKA>Mlx X$B?%6`emEz5\"%Ҫ,ځ-aH(xO‘v&Inψ's_`NoiXӴI2~""=Zɴb ooX1$!$#假$I2.[VHq IA;bi!PD$N%wxxLqs#qtV{L16Mxa;^.5I5%rь"P(H^ 1BDݤ$Ѳ#so#k.@Q1)ӦlX$9P.Y5mX Wn5znw;_Fg, G2H#$ ]ю5!kyƳUEf*N%ō!ɼ 2é&A4~{?y$L& ױeJE^0l+p qlC_ 2N⡻579j"T㝿A|p0) OClavV:f kyE)BMVsr) \ WQ/ed SlTg .gc%V5u#vڗ7>/H~ r=uOA6 hZ(E0H^sc'RIT.@P UEv6_qRAٳ=E0G7;{8]O>d' b BOLuiAe"s;9#&KEDc}VQM۟Dj,rY0D>0EldݩXټA7(ᱵrt=ܗa~K6CKfX RC e+#!~ O:nnZ=R< xѧud2Dݺ$LcZm$XL7bA;#5}٢oR!((XO±׃AGZi!sgCak"e,w<".Wsd,G}G.&N\R3]k[o7 A[r+atqX] ;mǓLQ%C@obAޒ`E>[":$""DDrFq g_ZDaZiC)Pqlm & tr#1Jg|TѲB"b$xF!ɬ!Z ݜJKfFgYP-?svl"Fo^1&b!r0ч_Pl"<EeIH|l&*TW;k0QR ^U3W';=dT]x}S\raxI?ޒ`|2 ܑ@RlC7lmW\h/3"YZ! 1ֱ֓سNFEs#$N5־1rĖ./b4Piy`ETR08x0ta\RV!$zE49'>шDBQ#25++,u2 FqiF~lrJ*x@Ş[bkIsL \I8ZrqqzTXpKue-_rm]xyM-^-D˒i 19!u IMt,ao1YJw{%IRJu"yrgrY[?!N"9h"jxA/L3rer(}Vr;3O>7ْM'wّqk3Aㄳc\rrCrQ‡Zk?ׂ2G>Mݒ |23E*?j -')W/ju1QPwaz61[`(H'7#HdôO<ϒ5{k.K l偡aIR~`J: b# : y! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: !  Hù H H $O͐: 2 *CN# x: 2 p&x~+é72 H! >w_: ! 5ͤNkͱ¦ͱxʊ#Nx: ! 2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD#2E>j+1Ft!! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \S*C :qn& ^#V>O^"*}:*)=":O:o"*C *C!ͮ~2~2ͦ:2ͮ:O:w:w |g}o*# ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw**{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#:A#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #  w ~>2!E5T*C!"C"C!w# F! w͌x2͢*C ~<wʃG:!ʎì 4~ʶ¬:<ʶ$ʶïZͻx>2>2ͻ:!Z2:Eẅ́͊Ͳ>2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:E͊:==»y==»*Ww#*"͸*:G#š"͸:!w4!iw:Z!E~=262*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!Bw!>2*C~=2u:B2~2wE:A*Cw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>2,@?6!`wE:A*Cw>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>2,@?6!`Z3ENVLS :]/ksn *h <*  " <[  #~v"j ~-"l ͦ >>> LSH 1.1 CONTROL LIST <<< 7Ҿ2ͱp:<Ü:ͬ͑~#-**l (?( ((~ ~~~@bb[ <i[͉_@!_@_1([<(IG( MR(͉iͦDEͦESͦTAͦCͦͦͦͦ :G!(~#ͬ:gKo : 0GC%.& *j ͦRecordinPl#ͦInserPl####ͦStrinZ3ENV0_U#]ZDE 1.6, Copr. 1990 C.WilsonAZ80NWS WCMDNLIBNHAD8 $*Televideo 910+ P TG4G0S= ERTeletype 6     1C>!;;C6 2-00!0|S(D 2-d"ˋe--2;<2\ 2;2;:2<;4:2;*X";:n2,:/ 22!:͸&:; #&͹1` :] (.[&͋%:; !> "/( `i6 ###6lͤm4:;!@2;2;1C>ʹ75*$<""<:'<2&<:; *<"$<:<2'   m KzC!'K!-:;Ĥ!;F/ 3"#3R%#G>  ?" =%& >|%%G"#&);# !; Y08:/ r[ M#!=~+;b!;F / '+y'+'  ( Q(La',2<('2@3(D !;F / !TN"u 6`!'!! J5ͧ4`4y4M5%:a J5y4ͼ4ͼ4ʹ7 3%:;%:;ñ:;( !;͒4ͳ ´72;;4"/( !@ <!Z4:;_;,:;_ - S(D e- ̈́-9:;Ď2;:; 9:^5ͧ423[[:;o&:^#V33 ]]] ͼ4 :;( ( ڴ79% >">>>>>> >> > 2;*c&))))#} + :;_:; /2;[79} !O<5#~T]#͞ (!O<4^w{8>2 :O<2 ɯ} :P<%YY(N  !(!!  ( (#OGyH%Aʩ==ʅ=7 >B23 !^#VS<ٯ2<}ր0L:< i% (:(6(U (y(zy(%(?w# 0@ͬ4444͎ ͎ >+4 44*<|/ ~ٷ #"< 2<6}ր%Ff > BKxbk~08 :0 #x0Ex(<($8*(8 ,!'R 8$!R 8!dR 8! R 8 !R 8x70= DMO  د 7! FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd !; <2;2;2;/2;2[ >2;2;:2;:2;!:͒4 !; Y B(dD(ZP(SL(22;, ͦ,!F#*,<"0<*(<͹:; :;!;2;!;n(q"O R+ Ͱ*,<[.<";S;8!;~(2;<2;:;G̯8o*; 9>h ($:;_( Ϳ8x(( x:<(80>2;> [;{z08:! ~(˾F#!;5K !F#, *0<+ͧ7ô7:;> >:;g(ͧ7!;ͦ,!;4N:;_:;=:;O:;!;8˶>2:;(Gͼ!;N(E:;G:;0>F<= *;:;G<:;!;o&t !ͼͼͼ2ͯ:;G7nnnnn (.(:;ȯ2;>2;:;W :;(>2; !,:;W >^>@> > !;v ` 0O!,(R!o( 4>_!`F#->_! ~ F#˾_!<̯:;G<8:<>x~>#x^#!B:_ !]>"(<*.%".<2<<2<2<2<2'G:;x= :bG x K*<*,<++BDM*( 7>  ###7?(#+Ͱ0S> *,<3 7?z 7*.<+> ##>4:5:<=(,Q)!<8#$:<=:<=!d<:  ͢8&T]~  > 8 > # x S*<Ͱ*.0~ S, 7( !n(!;6**<#w"*<7!;6*,<+w", **< *<"<*0<+ͳ> *,< *!=>_!z(N #= ~(^6#DM!BDM̀{(I: : s#K!T]BBDMN#!=:;N(Q +~#8#+̀ô7 !!>ݾ8^R8#"|6#+| !"!!!;F͎%00 :0 ̈́2;!;F0G!(^#~#, O~˾(#~˾~>1+!:͒4 =(cO!:͒4%YQ 4~%y( !=6ʹ7*( 08 0Gx2<ʄ!="<>2;!R~2 <~'>2=ô7:;0 2;%!;6[(+](.>(5<(<_!=~#0 (0 { #">2:;0 %_R,ʒ%>2;:;> h  *<^!M"<)*<~#"<($_~< :; !<~<(5(!="<̈́{ɯ2;͎> !56!5w9: Y >N29;!/;3ͼ4 9{z~# (8:;3!Z4!Z4 ͹19*(<͹Iͅ!"<9**<"0<*.<~ͻͅ9"/, PY!~N >>w44!>N#Fxv!~@, Ͱ8 *,<>a"͢8 *(<>\", >2<͹ͅ9ͰJ)R,J)ͅ:<=G:<ͩ-9: #+"*2<:=!d!<9͡R,ʅe,( ( ͅ8e,t,[, 7o,y, 77o,y,7R,K!͘( o,y,k͘ K!͘K!͘( o,y,k͘K!j,t,9:<=_!Z8<_+uu[* (I(F&:;$ *$  ++~#( ( | } & K;q:==G=(!my++*,<~( (~6 ]Mͅͻ!;F9!=( O#> 9!P=%9O#> 9%9y+͹*,<~( (~6 ]Mͻͥ9!:͒4 ==2;2;2;>2!~/ -#~#/($YC( B( G(7>22;>2;~#(x2=Y**<"0<:=( GK!, !P=~(G#~J :;%7ͥ(>2;!:͒4 Q=ʹ7P=O!>2;~, :=ʴ7:;(:;(u`:;.,͸8h ( 2;͸0:; ͣ9>2;͸:;(;:;7:;[78( :;:=):;?:;7̈́J5ͧ4!;`4ͼ49> J5:a̧4y4ͼ4 7* ͙2;7_YN !;' 3:;!; !;;2J)!e8#~=!9:R~((J):;(H!l +y0+~:d/<(!:͒4 :<(!~@(>#([h (18,h_:l7!e~( 0# +s{!kl , e͋h (*O<e8e͋h 8 ʹ7 3!:͒4:<` 8(!e(#6(T]#H!;F(  !n (V K  (0(%9_?8 )94{J: J%9͑ : J: g> g[, !I9!9:R)9**<~)9!n)9*,<> > %9:;K!2;:;:;Ͱ8:R(!ͩ͢ )ͅx :<(<(R, ( A2E-PCPI Apple 2*=%+ %+ T)(del right 9. Line duplication command - replace first token with GO? A. Line sequencing goes to next line (vs. same line)? X Done R Re-Start*n+"Z+\+ O >gf P'q%%0123&4.566>7F8N9VA^X. R[Z+!\+ v&}&}&}&}& }& }& }& }& }& }& }.͹'!\+Y~>N(>Y%.͹'!\+͏ͨ%~/wn'rv'͞'% ----- TIME OPTIONS ---------------------------------------P'% 1. Civil 12-hour time (vs. military 24-hour) 2. Use standout video mode for time display 3. Show time in line mode prompt 4. Time string separator character X Doner r'r.~%P' q%%1234Xv.v vͨ%͏ '.h* (wn'~%v'&.͹'*n+&&&͞'% ----- NUMERIC OPTIONS ------------------------------------P'% 1. Kbytes to read from log file 2. Screen mode text lines 3. Message time delay (1/10's) 4. Command line length to discard 5. Automatic shell pause line limit 6. Screen divider length X Done ͠%~???w#6!-%͹'͓*$P'q%%1 2 3u 4)56X .  ͠%~wv Ͱ%H &Q ,*n+~FR %KBYTES TO READ: The more of the history file is read, the more is available to use - but the slower the program load. The default compromise is to read the last 5k of the file. The history may grow in size (to disk capacity) without further slowing LSH. The type 4 version may report "LOG OVFL" if the buffer size is too large. There should be room for 5-15k. " %KBYTES TO READ: Fixed Log version always reads and writes to a file of fixed size. Reserve outer tracks on your disk for fastest access. File size should depend upon disk's block size: 1,2, or 4k. %Kbytes to read from log:̈́%#r` :D'u ͂ ~#foѯR"p+:D'u [p+͂ s#r*g+~#fo)*n+ "Ͱ%͘ &Q %TEXT LINES: The initial number of lines in the screen mode text window may be set from a minimum of 1 up to the number of lines on your CRT (less 3). Text Lines (1 to CRT): Ä%ͳ%\  .-%͹'d'n'*g+~͓*v'#Ͱ%̓ &Q %TIME DELAY: When some of LSH's functions are toggled, a display of the new state is flashed. The default setting is 4/10 second. Message Delay (TENTHS): Ä%$Ͱ%7&Q %MINIMUM SAVE: Sets the line length LSH will discard rather than recording to the log. Default 0 saves everything. A 1 would discard single character command lines. Line length to discard: Ä%%Ͱ%& Q %SHELL PAUSE LIMIT: The number of lines on display in the text window that automatically cause a CLS and shell pause on command execution. To force a pause every time, set the limit to 0. To disable this function, use 99. Shell pause limit (LINES): Ä%&Ͱ%%& Q %DIVIDER LENGTH: In full screen mode, the log text appears between two divider lines. You can change the length of the divider. Divider length (chars): Ä%͞'% ----- CHARACTER OPTIONS ----------------------------------P'% 1. Log file type 2. Default command line 3. DU:DIR separator 4. Line mode prompt (SAVE ON) X DoneP'#'͠%P'#x͠%P'#*͠%P'#+͠%~P' q%%12g34 Xv.v v& &&&.#%͹'d'n'*g+v'~%#'Ͱ%.ͳ%% Log file default TYP: >z&~ͨ%[g+~)+ #xͰ%xͳ%%DEFAULT COMMAND: LSH will run a pre-installed command line on request. The default is HELPLSH, the help screen display program. It should be installed with a DIR reference so ZCPR33 can find it. The command line may also be set to run an alias or a useful program like ZFILER. Default command line (16 char max): >z&͡&ͨ%V*Ͱ%ͳ%% DU:DIR divider: >z&͡&ͨ%V+Ͱ%2"g+ͳ%!. !0%>>% Line mode prompt Save ON *g+~% Save OFF ~(==<% Reverse? (y/N)b*Y~ ͨ%(== X Main Menu͠P'% A small user's routine can be installed in the 32 byte patch area. Code here is run when the User Patch key is pressed. HEX code can be entered directly, but it would be safer to assemble the patch and use BCOMP to overlay it directly onto LSH. The patch code location is at ENTRY + 98h. See LSH documentation for more information.P' q%%1X. P'P'd'P'%Hex Bytes:>a͠% ͨ͠%Æ͠%d'*g+~+%#z&*g+͡&&='s#6͞'% ===== EDITOR INSTALLATION ================================= 1. Editing keys 2. Word separator characters 3. Token separator characters I Information X Main MenuP' q%%123IX. ͞'% COMMAND KEY INSTALLATION The control key bindings are listed in a table. Letters represent CONTROL KEYS entered while editing. Those preceeded by a control character are shifted keys scanned only after one of four lead-in keys has been pressed. To change a key binding, move the cursor to the function you want to change. To make it a shifted command, first enter a number 1-4 corresponding to the lead-in key you want to assign. Enter a character "A" through "^" for the base control key. If you don't want a function implemented, enter a "-" for it. For example, if lead-in key #3 is ^Q and you want to assign the control sequence ^QZ to a function, first enter "3" then enter "Z". The display then shows the current key assignment. DEL is converted to ^_ by LSH, so that control key is not available. %Any key... h*dͰ% ͙ͳ%%Install characters recognized as word separators. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->> %% Change to ->z&͡&ͨ%~pͰ%ͭͳ%%Install characters recognized as token separators for the token replication command. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->>o͞'% Each command must have a unique key. Letters represent control keys. Enter a number 1-4 BEFORE entering the key to bind it to one of the lead-in keys. To disable a function use "-". ESC CR DEL are entered directly. TAB is "I". % Quit - ^C or "." Skip - ^E Up, ^D Rt, ^X Dn, ^S Lt (& Arrow Keys)ͩ *n+-"U+*U+  72W+ :W+< :W+ ~#-ʁ*U+(3(#(#(#~@͵͵[ ͒ͮ%_@_@%_[IM%ͼ%DE%ES%TA%C%%%%:W+G!!(~#%:Y+gKX+o͹'ɯ:W+ 0GCX+ h*%  . t  X f t  X f !  ͮ   ͮ 0 ͮ 0 ͮ 0 :Y+ ͮ  [W+*U+KX+G:Y+2W+7ɯ2X+2Y+2W+!Y+!X+4{6!Y+!X+~(57?s7ͨ%ͣ ^618'50#0G*U++#= ~-=' >` wh*)+-(w% :W+ {̩*U+ 2W+i!  ͣ ~-:W+` _7*U+~ >72W+ % ?#2W+Lead-in Key #Lead-in Key #Lead-in Key #Lead-in Key #Execute LinBackspacChar LefChar RighLine ULine DowWord RighWord LefLine End/ StarLine EnLine StarUp ScreeDown ScreeFirst ScreeLast ScreeDelete ChaDelete LefDelete Word RDelete Word LDelete LinDelete to EODelete CommanNew LinInsert/OverwritUnkill DeletioUndo L copyright(c) 1977, digital research $Error On Line $SUBNo 'SUB' File Present$Disk Write Error$Command Buffer Overflow$Command Too Long$Parameter Error$Invalid Control Character$Directory Full$Cannot Close, Read/Only?$!9"!͇͊!p+q* ͊!p+q*͍2!p+q*͍2:!4]!p+q*͍!p+q*͍<-!s+p+q+p+q:=2ʦ** w*#"*#"!p+q(+*DM*p*& 6:ep\:=ͧ!t6>!t%\= >!t6:t<2t=O! ~2u b:<2O>9b!60+~9b!60+4:uat:u_2u:uMʉSͧ!v6!"v!|6:|Ҁ!x6 2}:} Hk:} h:}$6 2}$*}M3:}02}O> ͧ3!z6ͭ:}"!}5́ͭ́3*yM"h:}^a A2}O>Vͧ^:}>*z& ~ !z4í!{q*v#"v͙dͧ*vv :{w:x<2xO>}|ͧ6:2]:ͧz2~e:~2O! 6*~& 6$>!~_z*~& w!~5Bx:yͧ*v+"vv ~_{ozg001 $$$$ SUB6ͭ:}"!}5́ͭ́3*yM"h:}^a A2}O>Vͧ^:}>*z& ~ !z4í!{q*v#"v͙dͧ*vv :{w:x<2xO>}|ͧ6"+|("r+|(D~!8? ~2t+#~2u+#~2v+w+͋):t+O ͋) )!w+6#s#r#6#s#r# 6#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > (0G+F++J++O>4+a{_<+o*oƐ'@'ɮ+#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > ( Z3ENV!~6w;;R( Not Z33+$* ́Ͳ5(.(i!} B = _]/[bk>?k~+Fͅp N(##~#~ +m !> ! >!%>/!><IJâ!Illegal wildcard charactersNo room for any new namesNDR buffer not implementedInvalid ZCPR3 drive/user, directory change failed.͜NAME, Version 1.2 :!Y͜ Syntax: ͛͜ [du: or dir:][newname] [password] Changes the directory name of the specified or default directory. Executioͅ=͐!*,<+",<~ !9)9͐!x(*,<++> ##", *,<",<0 *.<#",2;!;2  :\G:;O(@G!~Yw#: +6. %0, :8 @, Gh 0:; , OY !n w+w+w+T]+y6.O3 !<5( > ͉3: ͉3ͼ45:;_ 9 :;( !;͒4ͳ ´7ñ[&!:͸&:; ʹ1-:\ -ͻ,<, y&ô7[&!z:͸&:; +ͦ,͐8**<#/  0  [*<"*<#͹y&ͧ7!9:] ͜&:;:; !;͒4ͳ ʹ7ͦ,*,<"0<*(<͹Ͱ0*, 2<, G!~Yw#!~/ #+ x9-, 2;#~W( A(N, 2;!";:;N(2;=2;:T2;:;= *X";>;!";2;2;=2;>:2, 3R,_A8[0 nˮ !ͅ)9!:͒4:` , 2;͹1ô79!;~/w!U'!;:;N(:U !;>2!R':R!;~(: Z(:;!; !;A2:W !V':<=:;N( :V!; !;G2g(O:;8>2;y2;g(!;0*2;=' 3ô7:;N(:<=Ĉ(!:͒4:<` (, ͚(!;<͠(1 3!;;~(6w>:G x!dGx( ͥ0x:;=!<4ͯ(75[, 4 - :U(R, (HR, ͅ4((8@ ):<)=ͅ=4 :;=ͰU+R,͙:; }+8 )ͭ+4))ͩ  h I+J)!<>?2<ͰU+R,* ~=!dg:<]0"0 442<ͯͅ(0[, R,(\7[, O+R,- :U(ͅJ)ͯ(07He, ͅJ)(O+O+@ R,( K!K!H)C[, ?7[, G!-(GͅK!+>4)R, G!77~, ͅH%*ͅ+C ͣ9ͣ4 ͣ8 :U(̈́[7͙0(G!yͰ07ͅR, ͩ7 (ͅR, ͅ7[, + (7R, ͅR,7K!K! {2N,:;R,(He, K!4 7e, K!J)(!<:;=G:;4 N,()H6Å*,<~ **<~> !,!,!,!,!, !,R,[,~ #,;:-.?!  J5ͧ4!;`4ͼ4\-2,*#^#VS,,r+s[,*#s#r*#s#r>2\1C>4- ï>0ɷ(%!\˶#˶<(!()% :A2;m4T]-O>: z+6.6:(#x2\y2;_ e+~08+:0'0_+~08:00W_+ 0}{2; }(~ (A8e_>8_+}(~ U#{<2\>:> +#(]2 ͋m47ɯ(H. (#>.w#ٯ#(6 (/  #͊.(w#~ #~/ #~( ͸. 2;!eB͟.F͟.J͟.N͟.:] (!. .,;:?*=?( #͸.2;ANW> +#(T] (#8/(0PY() 45 #( +N+F* |( N#Fxɯ2h2i2|2;/2;ͻ,< 7;,ͻ,/0!:;W K~ >-w(o :;(e/2;~ ~ (0˾> #wz ˾~ +~(8 2;"!n( ~ 8~ > #wz#`/L/2; -:\ -!] ˾#ʹ1?<fͻ,2N<:;(4!\ !\!;;,< §1;,_-8NS(JD(F-;,2;2h2|ͻ,-;,(H| 'c2}2~2ͻ,§1ͻ,'ͻ,< §12;2h2|ͻ,:N<= gͻ,<ʥ1xʝ1!!,(lw:;W <~ ~!8(" ( ( 2;~ >2;:; ~#ͻ,(͝1B!:w > (|0}00(6#ͻ,(͝1ͻ,<72i:a5!;͈4J2!;:;N :; !;2ͨ'I͉''':<=!;#(G2:a5ͧ4`4ü4:S(5!a'( ;4p9;4]͹19ͧ4 5y45:\@4:;O30 2y01y x40y04/(+`iF($:\# N:;(>/4#~ 4>:4!]~˿ (4#>.4!e~4#4>/4:;4ü4!S'w3;4]9:S!<:< :<2<:<_~# ~#GͿ3͉333:<, !;'(/;4:< 9I>2;f7:a 55J22;9;49:  52ͧ43*2ͧ4:<_8ͼ4:`!:Z4>2 <:`!:Z42 <: _4_:<_:S! 8HG(( 8_4{= (2@ͬ444>y (:;( <4{8:> >> :;02;:cGÅ>22{9@9>22!{98!:<=!{98@996:a!!; 2Z4: 37:<=:<=R,( :2;>2;!;!;65R,:;[, (Ͱ8<440:<:G:P:P:J:J:Y:e:OuoMemoryInvaliKeyI/ErrorNoFoundSyntaErrorCannoReformatNameReadWriteEraseLoadFindChangtoDirOptionsLengthColumnPageLineMacroRepeacoun([Q],0-9/*)Kenumbe([N/Q],0-9)Abandochanges(Y/N)Unchangedsave(Y/N) ChangedQFilsizeNNNNNMemorusedNNNNNFreeNNNNN [MenudisabledseManual] 'LCl ^Q ^O ^P ^KESCChg?WaitRdy^QTOP Pg INSvt hy AI DS MR PS BAK:_ !j;̓4 ô7:<, !>̓45%F (!? ((!A(!@ ̓4 9^csup^worrt^linup^delete^UNdelete^PPtcode ^down^worlf^lindnDEdeleft^reform^Pplacmark ^left^pagup^insert^deword^castoggle ^right^pagdn^insrCR^deline^L(^\rpfind (PRES^K/ESC^O^FOSUBMENUS) ^KBegiblock^KblocWrite^KLoanew^KNameEscMacrdef ^Kenblock^Kdeletblock^KSave ^KInfoEscstorkey ^KUnmarblk^KReafile^Ksave+load^KPrintEsc0..usky ^KCopblock^KFillist^Ksave+eXitEsc-TAtaback ^KmoVblock^KErasfile^KQuit Esc-Arrowshifscreen ^QgotBlock^QN2)22"2 _XʹCMç!7!7*]?%"iH*j:B"l:##"kH*iH͐7!7c|7<2H2)c_?+e?uc:CʷE>2)c_?:)2)Y„!7:<ͯ>!72:G:HB:Rʒ c:)Y!7e?u:G:HBc! 7!*"êE>2)c_?ͩ-e?uc*]?"l:!7!72:G:H=B:L Rʒ :)Y>2)c_?:LJ>Y2):!6͟=:rG>B!r72 e?u!| 7!u!ʪh+!*"7!" 8Ý:ʊ:<2)!;71He?h+>R ʹRʖlx>ʳ>2i:!2}T!͹1*"* "!78>2mT:)YT!|}>2}!}0m}!ʎt@|ʝ#Ã:)Y:)YT6]#6: =2!:>[272!"! 7Y!i 7T!V 7!B!^7$^:c<!<*+">2: =G>BF#J>x>!J>!}!<]/~ʏ/=G+~ʏ/!1s/+<=ʌ/+~>.!1!1?* 2":=2ʆA>{>_AO}oc22'R>2!7*}8):=2s c|!6ʹ5>2c:ʗOc:!_4¤*~_A&o)*+^#Vr+s^#V+r+s ~G< ^#V~G >|E + ^#V#~- r+s ^#V##r+sN#Fq#p+<#? !  >" !> )=Q : k 2 |Ü | ʊ ʕ  >&Ü >2 >Ü >'Ü AO *  ^#V oQ ! 7Ì> N#F #^#Vr+s+p+q +_5 GxABCDEFGHIJKLMNOPQRSTUVWXYZ!"| ! "~ š !h6 >: !h6 >u:2 N : ʁ q  [  y2 ͛ q !| < : 21*<>2<91͑-3 .;.'3"3͇.3G- .33" - Start spelling check  X  - Exit to Operations Menu DICTIONARY MAINTENANCE CONTROLS  F  - Change word file to use =  D  - Change dictionary to update =  U  - Change name of new or updated dictionary =  W  - Change work drive for sort = DICTIONARY MAINTENANCE OPTIONS  N  - Create a new dictionary =  A  - Add words =  T  - Delete words =  C  - Combine add/delete =  S  - Use "S" words from ".ADD" file =  L  - List dictionary words =  - Start dictionary maintenance  X  - Exit to Operations Menu Control to change? Control or option to change?  D - Dictionary: !This is the current dictionary.!Enter the drive, filename, and/or extent of!the main dictionary to use. S - Supplement: !This is the current supplemental dict.!Enter the drive, filename, and/or extent of!the supplement to use. F - File: !This is the current file.!Enter the drive, filename, and/or extent of!the file to use. D - Dictionary:!Dictionary to update (add/delete words).!Enter the drive, filename, and/or extent of!different dictionary. U - New dict:!This is the new or updated dictionary.!Enter the drive, filename, and/or extent of!different dictionary. W - Work Drive: !This is drive to receive temporary sorting!files created by SpellStar. Enter letter!of drive to be used. N - New option: !Create a new dictionary using words in!word file. Enter es or o. A - Add words:!Add all words in word file to dictionary.!Enter es or o. T - Delete: !Delete all words in word file from!dictionary. Enter es or o. C - Combine: !Add all new words in word file to dict,!and delete from dict all words in word file!already in dictionary. Enter es or o. S - Use "S":!This option uses words from .ADD file!selected during spelling check to "add !to supplement". Enter es or o. L - List: !List words from word file. Also list!words in the new or updated dictionary.!Enter es or o.CURRENT VALUE YES NO 'U#Qx$R,c<j3[E101: File not found on disk: X:FFFFFFFF.EEEE102: Error during sort.E103: Invalid word format in "add" file.E104: Disk full while writing file X:FFFFFFFF.EEE.E105: New file name already exists.W110: Invalid character in dictionary. Word Dropped: W180: Memory exceeded. Partial words flagged.W181: Word exceeds max length. Words bypassed.E190: Insufficient memory for file areas.E191: Invalid record format in intermediate file.E192: Insufficient memory for table area.E193: Invalid character format in dictionary. Enter any key to restart. E02A: Workspace error during sort. SpellStar is now checking your document for misspelled words. Number of words in document.......: Number of different words.........: Number of words in main dictionary: Number of words in supplement.....: Number of dictionary words checked: Number of misspelled words........: Total number of misspellings......:.. . . . . .SpellStar has completed proofreading your document. Enter "L" to list the misspelled words. Enter to flag errors in your text. Enter "R" to abandon the check and restart. SpellStar is now creating/updating your dictionary Number of words in word file................: Number of different words in word file......: Number of words in dictionary being updated.: Number of words added to dictionary.........: Number of words deleted from dictionary.....: Number of words in new or updated dictionary:"Space" = continue, "C" = continuous listing, "^L" = stop/start list.Enter to flag errors, "R" to restart. Enter to proceed, "R" to restart. [List of update words][List of words in new/updated dictionary]This word is in the dictionary. Should it be deleted? (Y/N)  or TED . where specifies a standard CP/M file to be edited or created. An omitted file name is considered to be a filename of all blanks. TED is "self-helping" and may be used productively without further reference to this documentation! TED is line-oriented, meaning that lines of text within the file may be referenced by absolute or relative line numbers. Additionally, pattern search may be used to locate a line and for global substition within a specified range of lines. The size of the file to be edited is not limited to internal buffer size. TED creates temporary disk files to extend the available buffer space. Version 1.1 limits files to 2048 lines of up to 128 characters per line (slightly larger than the capacity of a standard 8-inch diskette). Although TED is a general purpose editor, it has a companion program called PRO. PRO is a powerful test processor for formatting textual information. This document was developed using both TED and PRO. PRO commands may be referenced via the self-helping feature of TED. 2 TED USER'S MANUAL All the edit commands, including the information request, will be briefly explained in the following paragraphs. Arguments depicted by n1 and n2 are signed integer numbers. n1 or n2 meaning 25 line number 25 -10 line number ten prior to the current line. +5 line number five relative to the current line. 3 TED USER'S MANUAL INFORMATION REQUEST Format: ?[char] Operand: char...........Char is one of TED's command characters. Description: The information request command provides instructions on the use of TED commands. The information command '?' followed by a carriage return, prints an introduction to TED, and instructions for obtaining more detailed information. The following is a list of information command options. ? general information ?a append info ?d delete lines info ?i insert info ?k copy line info ?l locate line info ?m move line info ?p print lines info ?q quit info ?s substitute substring info ?t text processor commands list info ?w write file info A question mark '?' should appear in the first column of the line. Blank characters or tab characters separating the question mark and the command character are ignored. Only the first displayable character of a command is checked. 4 TED USER'S MANUAL APPEND Format: a . Description: The APPEND command is used to change the edit mode to the input mode. This command consists of an ASCII character 'a' followed immediately by a carriage return. TED will give a response: 'APPEND:' and a carriage return. Then TED is ready to accept input text. New lines are appended after the current line. When a line containing only a period is typed the user is returned to the EDIT mode. TED will give a prompt with 'EDIT:' followed by a carriage return, and edit level indicator '====>'. Example: ====>a APPEND: This text is appended to the current line. The input mode will be ended by a line that contains a period only, like the line below . EDIT: ====> 5 TED USER'S MANUAL DELETE LINES Format: [n1][,n2]d Operands: n1............Beginning line number to be deleted. If not specified, the current line is assumed. If preceded by a plus or minus sign, n1 is added to, or subtracted from, the current line. n2............Ending line number to be deleted. If not specified, only one line is deleted. Description:  w!$ $ $ A+gB,9gC-gD.gE/ gF0SgG1gH6gI2&gJ3lgK4g A3BygC)oD*gE5LgFgGoHsIfgJoKs A8r gB9 gC7 gDD gE oF  sGL gH gI gJ YES NO RUN-TIME OPTIONS ("O" COMMAND) A) Single file replace query ............................. B) Multiple file replace query ........................... C) Archive replacement query ............................. D) Verify query .......................................... E) Verify default if no query or answer .................. F) Suppress display of SYS files ......................... G) Sort files by name (YES) or type (NO) ................. H) Filter VIEW and PRINT output .......................... I) Set attributes in copied files ........................ J) Use attributes of destination file (if one exists) .... K) Set archive attribute in destination file ............. MACRO RELATED CONFIGURATION A) Macro leadin character (HEX) .......................... B) Allow immediate execution of macros 0-9 ............... C) User Register for tagged # storage .................... D) Erase ZEX file after use .............................. E) Use path to search for CMD file ....................... F) Use root if no path search for CMD file ............... G) Fixed user area for CMD file .......................... H) Fixed drive for CMD file (A=0) ........................ I) Use root of path for ZEX batch file ................... J) Fixed user area for ZEX file .......................... K) Fixed drive for ZEX file (A=0) ........................ FILE TAGGING CONFIGURATION A) Start wild tag from file pointer ...................... B) Start group tag from file pointer ..................... C) Remember file tags between shell runs ................. D) Use root of path for tag file ......................... E) Fixed user area for tag file .......................... F) Fixed drive for tag file (A=0) ........................ GENERAL CONFIGURATION G) Log in current directory with "Z" command ............. H) Upper case for display of file names .................. I) Clear screen on exit .................................. J) Time delay on screen refresh after error .............. ......... F) Fixed drive for tag file (A=0) ........................ GENERAL CONFIG&ju9*&vH ,d=qlYzPH"qN""?,n&jEŬu*bq.w\z5nw1#*paUfIh´`'u*wB2K8maHQEzAl'pVTnvMHFW_]xFip7( 2I"jKO fsQnZ?:y{'h0r-O(7''`떃WZ?Wu\q\q{ش" 7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'Ƽ-!pӞ>QBP5;ps@ @*M%š]\AŪ~̞Zi rxP(B@(r!Ū&|Ⱦ+W`& Lg%-uY,l2,neoŜ[c&6uuɼ3ؐE+lary6uyI"6ư+l*y4AZPb*2Á,0ra%r>-ܠ `BR{g2v.|J*1j?'aVރӊOB9n\qi L)9%ܵU{&F=JuD(AZ7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'Ƽ \jNZCPR DZC NZCPR ZRL  r@rNZCPRL ZRL$irrNZCPRQ ZRL<ttNZCPRQL ZRLTttNZCPRQU ZRLl`s`sNZCPRU ZRLssLONGSUB COM ;LONGSUB ZZ0w@r`\ vNZCPR.DOC#### * '1b9NGn:M&9v2  7N؂6r9bPsy@t4bin2#ys9Bh*O7Mb3}@QBy)AA)AO:AyxAA7>A2<>::>2;>:;>O/G)1A:<>@MA:\>MA>YA2\>y >2\>fA@)A)iA@@!L>4̬A@!T>48B!H>4̲A!P>4̲A2=>ͲA#4#4#4*^>AOs# xA]))))o{!_>g#*b>"@>!."^>uyoxg"b>:f>@B>dW!9:e>>dg: :e>*d>:_>ͲA:f>cBhBG O::>?x O:G>?hB:E>*Q>*U>d͙BBz‰B:X>ҔBA7{2X>{ͷB|ͷBW_ҭB}gҵBbjȇB )BB{zBB_B_7CzS )CB# CB3348B!H>4̲A!P>4̲A2=>ͲA#4#4#4*^>AOs# xA]))))o{!_>g#*b>"@>!."^>uyoxg"b>:f>@B>dW!9:e>>dg: :e>*d>:_>ͲA:f>cBhBG O::>?x O:G>?hB:E>*Q>*U>d͙BBz‰B:X>ҔBA7{2X>{ͷB|ͷBW_ҭB}gҵBbjȇB )BB{zBB_B_7CzS )CB# Cfile attributes J. archive destination K. search path for CMD file L. filter VIEW & PRINT output M. remember tagged files N. wild tag from pointer O. group tag from pointerOption to Toggle (or RET): is Size of Status of Disk (Letter): Invalid DriveRead Help FileChaining to Help File ...-- Filer Commands --G - Group: Archive Copy Delete Fsize Move Print Reverse Tag Untag View-- Misc ---- Cursor --WS diamond-- Macros --# : Display MenuESC : Lead-in Char0-9 : Direct MacrosPrintPrinting File NOT foundEmpty File  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  [^x:next ^c:abort]  Copy Fileto Dir: Src Dir = Dest DirCopying Moving Archiving to Read ErrorDestination Dir Entry InvalidDestination Dir Access Denied Exists. EraseDest Dir FullDisk FullClose Error VfyVerify Read Error -- CRC ErrorPublic File Conflict is R/O. EraseMove FileDeleting Delete is R/O. Rename anywayRename File to: File ExistsAFN NOT AllowedGroup: (A,C,D,F,M,P,R,T,U,V) Tagged Files is Group Delete (Yes/No/Verify) ? Group ArchiveAll Tagged Files ARE Archived.Group CopyGroup MoveGroup PrintGroup View Macro: NOT FoundNo User Function: File Name : Enter Macro Choice or RETURN - File: Page HELP List EmptyNo File FoundNo Room for file listVerify Strike Any Key -- Password: NonameK Bytes free on Disk Command ? (/=Files,Help, X=Quit): Current File:[More Files]Working ... (date)Time: Invalid Cmd: Not Wheel! A - Alpha Sort C - Copy D - Delete J - Jump T - Tag  F - File Size M - Move P - Print R - Rename U - Untag  W - Wild Tag V - View Y - Retag  ^R - Top of Screen X - eXit ZFILER  ^C - End of Screen L - Login DU:/DIR:  ^T - First File S - disk Status  ^B - Last File Z - ZCPR3 command  +/^F - Next Screen H - Help ZFILER  -/^A - Prev Screen E - refresh scrEen  SP/CR - Next File O - Option toggles  BS - Prev File * 4`392~*?~6#~64 ͸8>>2)?20?s3?0|2,?6Cg4($4? 3x<(@y~<>:ͫ+!?͇6(1Shell Stk Full͡:CU?\͟8͡:CW?*2:g,,1 ͫ+-3 7 ͑7(B6;**6-:*!*:]/ N2I!i2, ::,2:f(͉/(+.*.͝0͗((:)?(,> ͫ+2>+.͍.-0͐-*2.?2-?͍0^4,ˆ2?GR0͍0:(&>#(&:( x08:8R0!́0H!%A$[$:)G>6*K?͕&*K?KW?͎:7:=$/=*[6?2:(N2 !i2!2,+* ~!*?~#~4{3?: {3?͗(!,(! !~ȸ#(#98 !́0=~#fo8 1No Shell Stk>81Sh Stk too small~7 1No Cmd BufN21Bad TCAP͢!^#V!1O!F!fY( ((72>*?"?02>2)?!u0>+,!>? ~ q#*?"?*?"??0*?Ϳ':>(*?+(5*?+('!>ͅ U/*?+ :)?(+.2)?-0::> *?"?:)?>=?0*?"?ͪ/-0:?0ͳ/-0*?"?:?0*?*?"?U/*?++.-0:?0*?*?"?U/*?++.-0:?0`-0:?0̀-0:?08 ̀I8+"?*c?$"c?*?*?+*?A[?+̀8?08&`-0:*c?}>8*?"?ͪ/8"?*c?%"c?*? *?+ ͪ/*?"?Ϳ'/[?*?+ /*?"?0*?"?# *? pý*? >#6':20?>20?:??0*? ~#+2#-~=12!u0 ,T#(U= !u0r?+,*?"?:8(*?"?y :9 *?"?[?*?+(*! "?!r?ͅ *?+y(~# ( #(p*?"?# ~?( #*?"?*c?"?*?"?Ϳ'*?+(*? ~' 6#*?"?*?"c?4:( *W?3 }8*U?R0]-1>E,=CU?z!0{2:+7=}(!Á0)7 ! Á0*-1T2 ?!"u0A,=:(&.("͌,(78=CW?7+>2 ?*Q?###~:( #\.=~ ( : ?7+g,!$́0!&́0!(́0=:02?:12?N2!*͢ 2!,͢A80 +o&~/w-!0:?!1:?(/+!'i2+$>N(>Y=:1/21-(qk*?#-!.͢>2-=ͷ<>K==!0Á0**#?*?"?!"?:A?o*?+/o!2u0 , (\2(.A8[!?0U2͉>KW?G͎:.8$.*:"?S+v+.KW?͎:S+=͍0=!4́0=!6{0,ͬ(=!8́0!17=:?/2?͗( 2!@͢ 2!͢ 2!B͢ 2 !D͢ 2 -!F͢ 2 !͢ 2 =!H͢1 A^E1A^X1=^S <-+-> ^D1 B^1Bv 2!J͢ 2!L͢ 2!N͢ 27!Pâ2-?2.?N2>2?>H2-?2.?R0=:-? !R{0 ,ͬ(=2-?!"9?!T́0*?#-2?>2?>2-=2?**9?8(# ͈͂:.?/!VÁ0!XÁ02?2[?^8 (ͭ;H:-=2?{ 2[?:-=(>:?:?<2?د2?!Z͢, = >2? A>=2?:5?G:?<2?:?G:6?G>2?:7? ;;> =:?( , !1͊!?͟:-= !1͊*9?#"9?ͷ.ͭ_{  {:=2?KW?͎:!"?*G?"E?*E??(=(:,!ĺ0#:?( *E?~=(#*E?"E?*?#"?*?+ >2?*G?"E?@:?*A,( ͌,( 8CY?R0=!ń0=!ṕ0=KY?͎:r?<$M#r?s?:?Ī:.?(:?A :-(@:,(8:+(0͍0*Y?|A=}\<>:=!s?-!r͢ ,#ͬ(#!r?_(r?r?2?,KW?Î:*!~́0#!r?~!́0 ~($R0#-!͢ ,R0#ͬ( ~# ˾#!˴"?*? w#!́02.?2-?5:? R0=2.?**=X:e?=*?[?+ "?ë[?+ 0[?+ "?0*c?"?ͳ/> =*?"c?"?R042e?**:.?(:?M( :?V !u0-!?_?< ͂#>2e?:.?*? *?+( ͼ+S?*?+"?R0!u0-!͢ ,͍0#ì*? >0͍0*?#-!͢ ,ͬ(=R0!u0r?+,!s? ~#?(rr?<( M !́0!r?? ͼ+*?r? ͫ+ ~([?!? #怶w ~(?4!́0 2/?2>$!u0:G,2? G:x(08:8$=G !C!=""@"Y"!"!!"![$ A$::VLU106 Copyright 1987, 1988 Esoteric Software Michal Carson This program is distributed through ZSIG. VLU is a ZCPR3-specific library utility with crunch, uncrunch, and unsqueeze capabilities. It will allow the user to view, uncompress, or extract library members or to view, uncompress (uncrunch or unsqueeze, VLU will decide), or crunch disk files. VLU will build libraries from disk files, crunching the files as they are added. Date and time stamping is supported. The utility will display a list of disk files on the screen along with a cursor and other information. Placing the cursor next to the name of a file with the extension .LBR and pressing 'O' for Open will display the contents of the library and shift the cursor into that directory. What is a Library? The Library file format was developed to overcome two persistent limitations of CP/M disk storage capacity: limited directory entries and large blocking. Although CP/M writes files in units of 128 bytes (sectors), most manufacturers have used larger blocks for storage on disk. On a Kaypro with double-sided disks, for instance, all files are stored in 2K blocks; even a file one sector in length will occupy 2K on the disk. Because the Kaypro disk format allows only 64 directory entries (files) on one disk, 64 of these 1-sector files (8K) will fill a 390K disk. In a library, a one sector file occupies one sector (plus 32 bytes for internal directory information). The library itself occupies only one directory entry on the disk. If 64 one-sector files are placed into a library, the library will occupy 10K. This is obviously an extreme example but illustrates the usefulness of libraries. Other reasons exist; for instance, libraries keep related files together. VLU will make files within libraries more accessible. What is an ARC? Which is better? An ARC is another popular format for storing files in reduced space. ARCs store files sequentially each preceded by its own header of information which may be 18 to 29 bytes. LBRs use a 32 byte directory entry at the beginning of the LBR; the directory indicates where the matching file may be found. The information stored in an ARC file header is similar to the information stored in an LBR directory. Both formats store the file name, exact file length, the last modification date and time, and a CRC-16 for integrity. LBRs also store the file's creation date and time. There are many arguments in favor of each format. To the casual user, these arguments are not important and either format will serve for any purpose--long-term or short, organizational, archival, or for transfer. Neither format is an effective storage format for sequential access devices such as tape. Anyone who insists on the absolute superiority of one format over the other is behaving parochially. VLU is the best effort to date in supporting the complete Novosielski LBR definition. A like effort expended on behalf of the ARC format might make it similarly useful. In this Library Two executable versions are distributed: VLUxxx-R.COM is for machines using reverse video as highlighting. VLUxxx-D.COM is for machines using dim video as highlighting. VLU.FOR is a short description of the utility; VLU.HLP is full documentation compatible with the ZCPR3 HELP text display utility. VLU.UPD contains a trail of the changes in VLU since its initial release. The Help display Pressing "/" or "?" will evoke a display summarizing the commands available to the user. These commands change according to Wheel status and directory choice (e.g., Delete is not available in the library and is never available to non-wheels). Pressing either of these keys a second time will clear the display. Invoking VLU Use VLU as an extension to a ZCPR3 shell, such as ZFiler, invoked through a macro. To install it, one need only open the ZFILER.CMD file with a word processor and enter a line of the form "1 vlu". Thereafter, positioning ZFiler's cursor beside a library file and pressing "1" (possibly preceded by [esc]) will bring up VLU with the library already open. A better thought is to assign this macro to the "O" key--"O $d1$u1:;vlu" in ZFILER.CMD--so that [esc] "O" will open the indicated library. Some aspects of VLU were designed to make it an extension of tools like ZFiler. Most of these tools use the ZCPR system files to store the name of the current file (the file the cursor was pointing to on exit). VLU checks these filenames and interprets the current file (sys file 2) as a library. On starting up, VLU will try to open a library file of this name in the current directory. This allows the user to invoke VLU from the "Z" prompt of ZFiler or through a macro, pass no parameters, yet open the current file if it is a library (or shares the same name as a library though it may have a different extension). If a different library is opened before returning to ZFiler, VLU will modify the filename in system file 2 (and thus cause ZFiler to believe it was pointing to this library when it exited). As a command file, VLU can, of course, be invoked from the system command prompt. If a library name is entered on the command line, that name will take priority over any name currently in system file 2 and the library will be opened if it exists. Even from ZFiler's "Z" prompt, with the pointer on ABC.LBR, entering the command "VLU DEF" will open DEF.LBR and place that name into system file 2. If the invocation is followed by a DU: specification or by the name of a ZCPR named directory (DIR:), VLU will display the filenames in that directory instead of the default directory. That is, "VLU TOOLS:" will display the contents of the TOOLS: directory. VLU can be re-entered with the GO command. Changing libraries When a library is opened, when VLU is invoked with a library name in the command line, or when a new directory is logged in with a library open, the VLU cursor will point into the library directory. Pressing the [esc] key will shift the cursor back into the disk directory. Opening a different library is as simple as positioning the cursor in front of the name and pressing "O". Cursor motion Moving the cursor (pointer) in VLU is effected using the WordStar cursor motion controls. Ctrl-E moves the cursor up one line, ctrl- X moves it down. Ctrl-S moves the cursor left one file, ctrl-D moves it right. Ctrl-F brings a new directory onscreen if there are more files in the directory (as if the display were moving right by a directory), ctrl-A moves back toward the beginning of the file list. Ctrl-F will wrap around from the final directory to the original. The arrow keys will also function if they are properly defined in the users Environment descriptor. The symbols "+" and "-" (and "=", the usual non-shifted counterpart of "+") have the same effect on the directories as ctrl-F and ctrl-A, respectively. The [esc] key shifts directories: from the library to the disk, from the disk to library. In most instances the cursor will "remember" where it was when it last pointed into that directory. Extracting and Uncompressing library members Positioning the cursor beside the name of a member file within a library and pressing "E" for Extract will cause the file to be copied from the library to the disk with no change in form. If it is crunched or squeezed within the library, it will be crunched or squeezed on the disk. Pressing "U" for Uncompress will cause a crunched file to be uncrunched onto the disk, a squeezed file to be unsqueezed onto the disk, or an uncompressed file to be extracted sic. Changing directories Library members may be extracted to a disk and/or user area other than the one which contains the library. Open the library first, then use the Login command to move to the destination directory and perform the extraction or decompression. The move is accomplished by pressing "L" (cursor position makes Z3ENVZF11 $$|<MACROCMD:ZEX LEADIN:|"||crlf||lf|------> ZFILER Group Macro <------|crlf||lf||"| MACROFCB:ZFILER ZEXTAGFILE:ZFILER TAGZ3TXTZFILER11ENG YNXbu <<<<Q#-<Gy 0?JW\o~%6Vd '5KRhsz  +.>-,>21?28?s;?0|24?6Co4($ 4? 3x<(@y͆<>:ͫ+!?͏6(1Shell Stk Fullͩ:C]?\ͧ8ͩ:C_?*2:g,,1 ͫ+-3 7 ͙7(B7;**6-:*!*:]/ V2I!q2, ::,2:f(͋/(-.*.ͥ0͗((:1?(,> ͫ+2>-.͏./0͓-*26?25?͕0f4,ˆ2?GZ0͕0:(&>#(&:( x08:8Z0!͉0H!%A$[$:)G>6*S?͕&*S?K_?͖:7:=$/=*c6G2:(V2 !q2)2,+* ~!2?~#~ 4{;?: {;?͗(!,(! !~ȸ#(#A8 !͉0=~#fo8 1No Shell Stk>81Sh Stk too small͆7 1No Cmd BufV21Bad TCAP͢!^#V!1O!F!fY( ((72>*?"?02>21?!}0>+,!>? ~ q#*?"?*?"?E0*?Ϳ':>(*?+(5*?+('!>ͅ W/*?+ :1?(-.21?/0::> *?"?:1?>=E0*?"?ͬ//0:E0͵//0*?"?:E0*?*?"?W/*?+-./0:E0*?*?"?W/*?+-./0:E0`/0:E0̀/0:E08 ̀I8+"?*k?$"k?*?*?+*?4[?+̀8E08&`/0:*k?};8*?"?ͬ/8"?*k?%"k?*? *?+ ͬ/*?"?Ϳ'/[?*?+ /*?"?0*?"?# *? pý*? >#6':28?>28?:?E0*? ~#32#-~=92!}0 ,T#(U= !}0z?+,*?"?:8(*?"?y :9 *?"?[?*?+(*! "?!z?ͅ *?+y(~# ( #(p*?"?# ~?( #*?"?*k?"?*?"?Ϳ'*?+(*? ~' 6#*?"?*?"k?4:( *_?3 }8*]?Z0]-1>E,=C]?z!0{2:+7=}(!É017 ! É0*-#1T2?!"}0A,=:(&.("͌,(78=C_?7+>2?*Y?###~:( #\6=~ ( :?7+g,!$͉0!&͉0!(͉0=:02?:12?V2!*͢2!,͢ A80 +o&~/w-!0:?!1:?(/+!'q2+$>N(>Y=:1/21-(qk*?#-!.͢>25=Ϳ<>K==!0É0**#?*?"?!"?:I?o*?+/o!2}0 , (\2*.A8[!?0U2͑>K_?G͖:.8$.*:"?S+v+.K_?͖:S+=͕0=!4͉0=!6̓0,ͬ(=!8͉0!17=:?/2?͗(2!@͢2!͢2!B͢2 !D͢2 -!F͢2 !͢2 =!H͢1 A^E1A^X1=^S <-+-> ^D1 B^1Bv2!J͢2!L͢2!N͢27!Pâ25?26?V2>2?>H25?26?Z0=:5? !R̓0 ,ͬ(=25?!"A?!T͉0*?#-2?>2?>25=2?**9?8(# ͈͂:6?/!VÉ0!XÉ02?2c?^8 (ͭ;H:5=2?{ 2c?:5=(>:?:?<2?د2?!Z͢,<)2> = >2? A>=2?:=?G:?<2?:?G:>?G>2?:?? ;;> =:?( , !1͊!?͟:5= !1͊*A?#"A?Ϳ.ͭ_{  {=!c?4~ !c?4:6( 0 ( (=!q21 EOF !q2!\͢, :6?ľ25?26?!^͉05Z0=!2?ͼ+2?!"g?** !?{?ͫ+?:=2?K_?͖:!"?*O?"M?*M??(=(:,!l͉0#: ?( *M?~=(#*M?"M?*?#"?*?+ >2?*O?"M?@: ?*A,( ͌,( 8Ca?Z0=!n͉0=!p͉0=Ka?͖:z?<$M#z?{?:?Ī:6?(:?A :-(@:,(8:+(0͕0*a?|A=}d<>:=!{?-!r͢ ,#ͬ(#!z?_(z?z?2?,K_?Ö:*!~͉0#!z?~!͉0 ~($Z0#-!͢ ,Z0#ͬ( ~# ˾#!˴"?*? w#!͉026?25?5:? Z0=26?**=X:m?=*?[?+ "?ë[?+ 0[?+ "?0*k?"?͵/> =*?"k?"?Z042m?**:6?(:?M( :?V !}0-!?_?< ͂#>2m?:6?*? *?+( ͼ+S?*?+"?Z0!}0-!͢ ,͕0#ì*? >0͕0*?#-!͢ ,ͬ(=Z0!}0z?+,!{? ~#?(rz?<( M !͉0!z?? ͼ+*?z? ͫ+ ~([?!? #怶w ~(?4!͉0 27?2>$!}0:G,2? G:x(08:8$=G !C!=""@"Y"!"!!"![$ A$:=$-.*S?"U?2[?"[Q?*U?͕&w=25?:>$#6 #6 #6"U?![?4#:5?=:>$(>,2?"V2*S?Z!8!c~#(9[S?!"(45((#G:!9x99V2ͩ:H>Ay͆<>:!!D:)G:[?6'+/K:R8͖::# z?!1 ͼ+0͏0!"9?*?"?*?"?ͫ'(# q*9?"9?*?"?k!͢*9?[!}0 ,ͬ(V=2?"*?"?*k?"?27?*?"?ͫ'(# *? > >27?#6'*?"?*?"k?:7?͏.(!͉0'!͉0=!͉0!͉0!͉0!͉0*?"?*k?"?E0!"k?*?"?25?=26?;/ͫ'[?*?+#1$#*? ~# [?*?+8*?+8W/-./0͓-:G:?,#!08:!C(:P(bV(dM("A(0D(/X:m?#*? #6.#5:? #5#5:?#*? >w?>w###:6?,,K_?͖::6?=*?"?E0*?"k?/0:G:?,ȸGx=Z02=$x!1? ʹ+*;:5(>5 %K:R8͖:: Z0!1-!͢#͖:9?8O2%8 Dy>( 8 7 >#(Y8 % (! >2:, 8 2>$ͬ%K_?͖:!͉0!%:=$=+/y 0>^=y@=>2=$V28 8(2 (! 32 92= ( > = y !͢K_?͖:*?#-K_?͖:!͢,y>!/=g$*O? ("($( w#8 w8'(1"(-#6#"Q?[O?($(w#p&(6#"S?*Q?~͕08 G^ 8 <_@8/$ 8 +* 2=$V2!q2'("( ( (=>E,G~(#x'ʽ%"ʽ%%y>&́;'D'U'H'R'C'=:6?G:>$2>$K?C?$w$(#K?$C?w&y>́;'P 'F0'N'TT'$'!&*':6?:5?6G#6O#!;6$#w#w#(:>$(%'ͫ'# :>$w#''6:#(:>$(L'ͫ'# :>$w#͝'6.#(:>$(p'ͫ'# :>$w#*?  ((:>$(͝'ͫ'# :>$w#*?# (Ϳ'[?+ ~*? "?K]?K_?ͥ4 !1 (:`?Aw#:_?͆<:^?':]?*?|~ #*e?!yg)0>g>!or$s%# [g?O*e? ~W$^Sg?^*?"?S+*?"?"?"O?!"?>g,2h2|\< <2\?*?|=ƀo&A8(:0(  ~> 8#:\w[? ͼ+> w#"?:C?ږ)*?#"?\< ͗((*?"?"O?*?+|(s!)+0+"?W*??;"?*?[?}o|g"?!"?*?+0/*?"?|<(*?ͥ)8)[?z/W{/_*?8*?#*?8(*+*O?{ozg8 +| <<2\?"?2\?)):1( )" ) #) * D;[? Nwy#*#~G:\? !É0= !É0!É0*?? ͼ+?*;̈́>"e?"Y?"?$."K?ͭ7~2D?~2E?8#~2>?#~2=?#~2??*R@~#2?*K?"?!"k?72?: 2C?K_?*2?|(%x0 y( 0Q7 (P7*(=ɯ*e?+K_?+K]?[_?s#r#q#p+N#F#^#VS]?C_?Ö:8 7. K]?͖:q#py2.0  :4?K_?͖:<2\##~2J?#~2I?##^#V"G?*G?#8W+}(z i`:J?()= "?~#ͫ+~#z{|g}o98G*&}=>!̓0 ,=ͬ:/8 =2 ?!͢ ,= O>w#A,( 6=~ ȷZ0=*Y?p#6 ^#6V">~8] ̀,ʹ+~ (/!1>4 7?͹7( 7=8703ͥ4(3~ (%:>w(_ A8 !}0A,( , 7 ~ y>#7 :1? ,*?# ͫ+>21?+8s+r8^+V!+0=w#> =32|A=}DMd<>:=ͥ4(~ (=#!͢92͗(!>q2*?#32Ͳ->.=~892=32#!?-ɯ> O->.=~-=#G:8?xA[  0Z0*?>25=Ϳq2*?H+0!â1 P-:28?0/>28?"?*?*?+1  "?;/*?[?+8͗/!"k?*?[?+ /!"k?*?"?"?[?+0"?!"k?q2/*k?q2/0/*? *?+/*k?};0o"k?|!g"k?!D*k?$|8}!o"k?*k?+(}(o"k?{9o%"k?:?*k?q21--> :?*k?q21 !:E?!:D?Gq292)2q2c0âc0ÜZ0â!É0!q2:D?G)2:7ͩ:C/?͉18 *?"?0(09\:K/?͖:!!? 8y>w#*?"?*?"?Ϳ'*?+*?+(! ?ͅ ! 6'Ϳ':7ȯ2.?*?"?*?"?M1*?"?:.?9ͫ'# [1(:.? ͉182.? *?#~9#> 9> 9K:R8͖:,!] \*;File: --> Page HELP ZFILERZFILER CMD???????????noname 21~#( ( =32922V#^#q2: @*@]2*@*@]2*@*@#3* @:@W~(#3*@[ @( ͑2: @43%-%( \ =y>D(K2(B3(:.(-+('>(R(I(N ү$,}lg0g=e.||d 3 3008z0 A=~( #\ ~#=zO*R@|( +~(GZ3 `3 "R@|("@|(&~!8!@ 333!@6# s#r#6#s#r#s#r#~#\ #7 N#F7-Ç8 4 8~ɯ8###~ ##~0!~Z #~3 !~ #~( ͡;Program Requires Z System7###!4~7(#o4( ~ (=#7 ~(# ~ # 2B@C@4:B@( 5 a5a5  5(͑5( y>#> ͹7(ͩ:CK@7G~A802L@#͑5(+58͑5( 58#͑5 7O Ͳ5802K@KK@7(( #( N+F4~!8=_.:,<>ȷ;ɯ~͑5(#58Wy888 8 8Oy70 ?ͩ:CN@CP@8( ;< ~(P6)6##(CP@͖:KN@͖:KP@$}2M@8:M@(P6##x y KN@~$(=G#~+$O&8O>(~>(X6 ( w#8>(J~#( ><8~(>.8x=(K+x( w+ 8w# 7###~70XÐ87###w*R@|("~#fo( ~7͆7(FG~(#9͙7~;( (>;( ~#(6͆7s#r~# >*R@^#V*R@~#fo~#fo~*R@1.À8$7GR*R@,À8"*R@~#fo-À8Ö8 Ö8*R@0~_&8XG*R@^#V#~#Fѷ+À8*R@)^#V*R@ ^#Vͩ:|(~(ͩ:$(G#~#$(O*R@|(~*R@w*R@^#V#~ѷ"R@ͩ:(G! N͖:*R@~( 7^#V*)9=9/2;9/29|9/2<9/)9à9299)9 :2;929+:2<9!T@:;9w!@:<9w~> 4"A####$*;:> `:> *A6#6#!&s#r\:~> "A####$*;:(>~>(s"A##^#Vz>(e2Ar+s+5 6#!&s#r`:( *A##6#6:A*A2A~>('"A##^#V:Ar+s+5 6#!&s#rw:(>~(6"A~(+"A#~(>9~(9*A6####:> *A(;[A;*A(;[A;!;Y ;X;; ;OG;(;;< ;< ;< ;;w w#<կ2A!"A<0*A"A0>2A)*A:A(7F#"A##( ###*A#~#foͧ;~#(3 ( 4< ( ( (  y( yG>GO> => => =< ^=@= 0 Oy&dz<& z<<ͧ<00=|&d͜<& ͜<͡<ͧ<00|.,0g} @(> 7'<<d< <}<<0== ˀ7!5=~=F=. $=.$=O:g4=CA$կ=~#:( ,(U!8Q~y>A8A8<2A#~:(4? 2A#~:('G~#:(08 0OxGx 02A~: #~,(!0 >?=KA=~. #===(* >?#=#> ~y>!8=_.:;,<>ɾ~#(]>(+~#(]> HAz +| O !p>y  a{_!A}($.2A>E(0>>E(:A x8 X>:A!>%:A_<=<<=)` `zE b8ovcQR8(^ Ͼ j𔷋@o*=\lLxB0%[+CG S5s]ϩ,`eDuv+?ߖ%ADMc p;K'ᠨ cߏeb6\ >j,g&kqj\V>di @L${L nE<5ԨW ABJQmbQ< A7SbG#f$U:=X@K"`v3ٰLXƫH\RJ.&ULlE"G&i[F@q+D[lL{;3KaE(l:g}: ' &6{P ְ%'WS_`&C'{BP!P昝j/ĬpcgU1'bF%dq蹼X73lb/$ZKEhW`NP':  ZFILER HISTORY   Version 1.1 Jan 9, 1993 Jay Sage  1. Tex message wer gathere int bloc i orde t suppor languag overlay a explaine i m articl i Th Compute Journal Englis an Germa version ar supplie wit th initia release. 2. The CFG configuration file for use with ZCNFG was extensively overhauled. 3. The source code is now being released. Versio 1.0 Ja 9 199 Ro Friefel Ja Sage 1. Adde optio t filte VIE an PRIN output I ON th filte remove th hig bit the print onl alphanumerics CR an LF I assembl optio EXPTA i false TAB ar als output Th filte settin ma b toggle fro th Option command. 2. ZFILEҠ ca remembe al th fil tag whe i return afte comman o macr run Th fil lis i writte t temporar dis fil (ZFILER.TAG i configurabl directory) an automaticall rea back Thi featur ca b turne off i desired fro th Option command. 3. Grou Tag/Unta an Wil Tag/Unta ma b separatel se t wor o th entir ring o jus fro th fil pointer Grou Revers alway work o th entir ring Toggle ar o Option list Lis macro no sof ta file jus lik regula grou macros. 4. Th Option lis i no 1 item long Thes flag wer previousl save wit th fil mask s onl 1 item coul b reliabl saved The ar no bit-encode i th las tw byte o th shel stac entry (Th NOԠ USESTˠ assembl optio ha no bee recode t reflec thi change It limit wer lon ag exceeded.) 5. Z33OP ar fla byte copie fro ZCP t loca buffer use fo controllin passwor checking Previou versio wa checkin th wron bits Sinc th loca buffe i loade a runtime i wa move t DSEG.  Version 1.0p May 16, 1991 Rob Friefeld  --- BUGS FIXED: 1. Cop t existin r/ fil failed Th destinatio attribute wer neve checke i "Se Des Att optio wa false 2.O dis full partiall copie fil i close befor deletio s tha dis spac repor i no correct. 3. I th ZE batc fil i locate i specifi D no o th path ZEؠ won' fin it Althoug th MACROCMD patc poin coul b altere t "ZE DU:ZFILER" Z wil no d thi automaticall afte creatin th .ZE file A result th MACROCM entr MUS us lette comman nam i yo patc i t ru somethin othe tha 'ZEX'. --- ALTERATIONS: 1. DINIT called on exit. 2. Installatio optio availabl t eras finishe ZFILER.ZE o shel run Yo ma wan t se thi fla afte debuggin you macr comman file. 3. Clear screen on exit (EXITCLS) is config option now. 4. Grou Ta an Grou Unta operat fro th fil pointe t th en o th list rathe tha o th entir list (Thi i restoratio o somethin Z use t do. --- NEW: 1. ZF10P.CF configuratio fil fo us wit ZCNFG.COM Handle al th configuratio excep macr strin installation. 2. Grou Macr put tagge fil coun int (configurable use registe # befor running Th macr ca the dow coun an tak som additiona actio afte i ha ru o eac tagge file Th intende us fo thi i t creat librarie o crunche file wit on macr command Fo example th script 1 ! $d$u:;$!crunch $f M1:;reg m5;if reg 5= 0;$"Library DU ":; lput $"Library Name: " M1:*.* +1;era M1:*.?Z?;fi;$h: crunche tagge file t fixe director M1 (o th RA͠ disk) make librar ou o the (leavin roo fo mor file wit inpu fo librar nam an location the erase al젠 th "crunchettes". Fo consistency singl macro pu "1 coun i th use reg Ther i n cod t enforc th 0.. use registe range i cas yo wan t us 18..3 (10-1 ar reserved 16-1 ar use b othe programs). REǠ mus b Type o Type (o RCP fo th ZE G "$! t ru CRUNC repeatedly.  Version 1.0o September 21, 1989 Carson Wilson  --- Implemente lis capabilit fo grou macros I ZFILER.CM scrip begin wit comm (befor o afte th leadin "! shel paus parameter) ZFILEҠ wil alway expan th macr directl t ZCPR' multipl comman line I th cas o grou macro $P $F an $ parameter ar expande t lis o al tagge files separate b th characte followin th leadin comma Fo example th script !ech th tagge file ar $F display "TH TAGGE FILE AR " followe b lis o th tagge file separate b o th consol (assumin ECH i vali ZCP command) ZFILEҠ the prompt fo keypres befor returning Pleas not tha thi macr buffer th entir lis o tagge file t CP/M' comman lin buffer whic i onl 12 byte i length Th abov comman therefor normall cause "Comman to long erro i mor tha abou file ar tagged dependin o th length o th tagge names. --- Mad th escap characte an th character t quot wit i whe writin grou macr comman t ZE o SUBMI file installabl (se ZFCNFN.Z8 fo details) Escap characte i currentl "$" an quote character ar currentl "$" "|" an "<" a require b ZE versio 5. --- I i no possibl t answe ZFILER' "Logi [DIR][:MASKݠ promp wit ". (sam a ":" t lo i al file i th curren directory Previousl thi logge i al file a use zer o th curren drive Th Logi comman no als seem t accep ".afn instea o ":afn". --- Shel bi se whil waitin fo use commands the immediatel rese whe comman ke i received Thi shoul allo Bridge Mitchell' AԠ comman schedule RS t interrup ZFILE a i woul th CC whil ZFILE i promptin fo commands. --- Fixe bu whic prevente an Grou command fro operatin whe th configuratio byt MACFLA wa patche t false. --- Remove cod whic attempte t us th ZCP Environmen t determin ho man line o tex t displa wit th command a thi wa onl partiall implemented resultin i difficult o terminal wit ove 2 rows Tex line no hard-code t 22 s ZFILE shoul wor o an termina wit 2 o mor scree rows. --- Fixe smal bu whic cause "Publi Fil Error messag堠 t disappear. --- Control- i no a alia fo control- (jum t fil again) fo us wit termina definition (TCAPs whic defin control- a a arro key. --- Ide fo futur versions i woul b ver difficul t allo fil rin sortin base o fil date (woul nee t stor dat stamp wit ring requirin majo rewrite) I woul b relativel simpl t allo th Logi an startu command t accep an matc file t datespec though...  Version 1.0n March 20, 1989 Carson Wilson  --- Adde $ scrip paramete t clea th scree during an rebuil i afte scrip prompt Usag i $"$*..text.. Promp tex appear a th to o cleare screen. --- I anticipatio o th ZE 4.0x '$ an '| ar no th onl character whic ar quote whe ZFILE build th ZFILER.ZEؠ file I the appea i ZFILER.CM scrip thes character ar quote wit leadin dolla sig whe ZFILER.ZEؠ i built Al othe character ar passe "a is t th ZE file Thi mean tha yo canno us ZE directive suc a $1 |crlf| etc dynamically bu thi wa neve th intentio o th interfac betwee ZFILE an ZE - th ide wa simpl t provid multipl execution o ZFILE comman script. --- For efficiency ZFILER no longer resets disks under Z3PLUS. Version 1.0m January 24, 1989 Carson Wilson --- Cop an Mov command no wor properl wit Z3PLUS an th curren 12-hou tim show a th to o th scree unde Z3PLUS. --- Pat file conflict ar n longe reporte unde ZSDOS Thi produce problem whe user trie t backu directorie alon th path ZSDO publi conflict ar stil reported. --- Grou Mov an Grou Cop erro message ar no sustaine unti th use strike key rathe tha disappearin immediately. --- Prompt i script ma no contai contro character a "^x wher i an characte fro t z. --- Th dolla sig i no a "escap character fo scrip prompts an ca b use t includ th $ ^ " an character i prompts. Examples: Script Result $"Enter name or $^C: " Enter name or ^C: $"Type $"//$" for help: " Type "//" for help: --- Mov an Grou Mov no us th optio men selection whe movin file instea o alway copyin fil attributes. --- Cleaned up help screen. --- T sav debuggin tim hav change th defaul optio men setting t m preferences.  Version 1.0l September 13, 1988 Carson Wilson  --- Bug i th Grou Copy Grou Move an Grou Delet command whic occurre whe th use aborte certai prompt wit control-à hav bee corrected. --- bu whic resulte i errati behavio i ZFILER.CM wa no foun wa fixed. --- Th unsQueez comman wa remove t reduc progra size Sinc fe ne file ar squeeze an UNCRUNC no support unsqueezin i seem preferabl t expor thi functio b callin UNCRUNC wit ZFILE macro A additiona benefi o thi techniqu i tha singl comman no ma b use fo bot uncrunchin an unsqueezing ZFILE wil stil displa an prin squeeze files --- ZFILEҠ no perform consistentl whe invoke wit ZCPR' G o JUM commands Previou version faile whe mor tha on ڠ o macr comman wa use afte invokin ZFILE wit GO/JUMP. --- (DateStampe version only) I DateStampe (BDOӠ functio 12 real-tim cloc i available th curren 12-hou tim i printe t th lef o th "ZFILER nam a th to o th screen. --- I runnin unde ZSDO o ZDDOS dis reset ar skippe fo al command excep Space Thi considerabl increase performanc o flopp dis systems. --- Th environmen addres i loade fro locatio 10 a ru tim fo compatibilit wit ZCP 3. systems. --- Th performanc o th Delete Copy Move Archive an Renam command ha bee improve b minimizin dis accesses. --- Th Spac comman no reset individua drives Thi i mor efficien an make th comman practica wit virtua drives. --- Th Spac an Filesiz command no wor properl afte printin files. --- ZFILEҠ no check fo an report Publi o Pat conflict whe Copying Renaming Moving an Archivin file unde ZSDOS I addition file create wit Copy/Move/Archiv ar alway se t Privat (hig bi o f2=0 t avoi possibl ZSDO Publi conflicts. --- Single file View no longer affects file tags. --- Single file Copy or Move no longer skip to the next file afterwards. --- (DateStampe version only) I available Copy/Move/Archiv us ZSDOS' mor efficien Ge Stam an Se Stam functio call t preserv fil datestamp acros copies Th olde metho䠠 o datestampin i retaine fo non-ZSDO systems. --- Rename error messages no longer disappear before they can be read.  Version 1.0k May 3, 1988 Jay Sage  --- Fixe som mino bug i th cod (slipu o usin D  wher intende D t allocat spac fo longe string t b patchable)  Version 1.0j May 1, 1988 Jay Sage  --- Improve flexibilit o grou macr operatio b puttin thre item i th configuratio page Th strin MACROCM i null-terminate strin wit th grou macr comman line Th strin MACLEADST i null-terminate strin o character t b writte a th beginnin o th grou macr batc fil (ZE o SUBMIT) Th strin MACROFC mark th fil contro bloc fo th fil wit th grou macr commands. --- Fixe bu i th expansio o fil name i macr parameters Th cod wa no maskin ou fil attributes I happene tha thi di no matte excep fo blank wit attribute set bu no th cod i correct. --- Ther i a additiona configuratio optio (las byt i CONFI sectio jus befor OP string tha allow fil name t b show i lowe case Se th byt t F fo uppe case fo lowe case.  Version 1.0i April 14, 1988 Jay Sage  --- Th sourc cod t 1.0 wa los i dis crash Th feature hav bee recreated Th operatio wit G o JUM ha bee improved. --- Th shel stac entr no include th explici director wher th fil wa foun i Z3 o late i running.  Version 1.0h September 16, 1987 Jay Sage  --- Fixe bu i th cod fo loggin i th displaye director whe th ڠ comman i executed I wa no workin correctl unde standar ZCPR3 o BackGrounder. --- Adde option t contro ho th ZFILER.CM macr fil i located choic o th optio men allow on t tur o o of searchin o th entir pat (includin curren directory) I tha optio i off eithe th roo director o specifie director wil b used dependin o th configuratio o th program. --- ZFILE ca no b reexecute usin th G command borrowe tric fro A Hawley Whe invoke originally ZFILE check th nam use t invok it I th nam i 'GO' the defaul nam store i a interna buffe i used Otherwise i th nam i copie t tha buffe fro th externa FCB believ thi chang wil allo ZFILE t b reconfigure usin th 'O comman an the clone usin SAVE. --- mor extensiv use configuratio fil ha bee provide whic comprise section o ZFHDR.Z8 (th definition file an ZFMAIN.Z8 (th beginnin o th mai code) A before reconfiguratio ca b carrie ou b editin ZFCNFH.Z8 an assemblin i t HEؠ file The "MLOA ZFNEW=ZF0LD.COM,ZFCNFH wil instal th changes.  Version 1.0g August 23, 1987 Carson Wilson  --- Revers video dim o '_ ar no use o th statu lin t displa al curren fil attributes 'r read-onl tag wer interferin wit th taggin command an ar n longe used. --- Corrected bug preventing view/unsqueeze of squeezed system files. --- Correcte bu causin squeeze read-onl file t b unsqueeze a syste file whe copyin attributes. --- Made invalid command display show actual command. --- Remove ZFILEҠ comman promp o exi t avoi confusio betwee syste an ZFILER' 'Z command --- Fixe initia hel scree fro comman line. --- Added space before 'OK' after copy/unsqueeze.  Version 1.0f June 12, 1987 Jay Sage  --- Adde rudimentar grou macr capabilit b havin ZFILEҠ construc an invok ZE script.  Version 1.0c April 27, 1987 Jay Sage  --- Mad change fo compatibilit wit ZCPR33 No o manua invocatio ZFILE return t th comman processo i ZE i runnin s tha ZE ca continu t suppl command eve i ther ar n mor command o th curren comman line.  Version 1.0b January 13, 1987 Jay Sage  --- Adde DateStampe support No o fil copie an moves th tim an dat stam o th sourc fil i carrie t th destination. --- Modifie handlin o directorie wit 'L (o 'N' command Th cod no respect th DUO fla i th environment I i i set the an attemp t lo i director i checke agains th maxdriv an maxuse value i th environment I th reques passe tha test the th director i logge i eve i i ha bee specifie usin DIҠ for an eve i passwor i associate wit it I th requeste director i beyon th maxdrive/maxuse rang o i DUO i no set the th name director registe i checked Password ar checke a neede usin improve cod (shorte an䠠 mor accurate). --- Adde smal bi o cod t th ZFILE initializatio t chang th J opcod a 100 t RE s tha ZFILE canno b reru usin th "GO comman (thi ha ba consequences sinc th shel stac entr the woul hav th comman "GO store i it!).  Version 1.0a January 1, 1987 Jay Sage  --- IMPORTANԠ CHANGE T mak ZFILEҠ consisten wit othe scrip processin programs th defaul paramete designatio characte ha bee change fro '% t '$' Th paramete '$' a alternat fo 'P (complete䠠 Pointed-to-fil堠 spec du:name.typ wa therefor eliminated Thes change wil requir editin o an VFILER.CM fil whe convertin t ZFILER.CM (th macr fil use b ZFILER). --- Modifie th wa th shel stac entr i used I no keep bot th origina director an th requeste director o th stack Thi ha tw majo advantages B keepin th origina director o th stack o exi wit th 'X comman ZFILE ca retur t th director fro whic i wa originall invoke n matte ho man othe directorie hav bee logge i b us o th 'Z comman o macro Keepin th requeste (displayed director o th shel stac avoid th proble wit passworde director o havin t reente th passwor ever tim ZFILE returne fro macr o 'Z operation. --- Adde featur wit 'Z comman t allo avoidanc o th "Strik an Key messag o retur t ZFILER I th comman lin entere wit th 'Z comman begin wit space the shel waitin wil b disabled. --- Fixe bu cause b th G command Onc tha comman wa used a archivin fla wa se an neve cleared late G comman the use th group-archiv promptin option instea o th group-cop options Thi fla i no rese befor al grou operations. --- Adde optio o fil cop an unsqueez function t allo th destinatio fil attribute t b se t thos o fil tha i bein overwritten I ther i n suc fil an th attribut settin optio i engaged the th sourc fil attribute wil b used. --- Change cod fo fil viewin s tha scrollin wil sto a th en o fil (carriag retur an spac wil no caus th nex fil t start) Onl control- o control- wil b effectiv a th en o file Als adde control- optio t g straigh t th en o fil withou paging. --- Change th cod tha allow interruptio o grou operation s tha carriag retur wil no caus a abor (man user answe som prompt tha requir n retur wit retur an foun tha grou operation worke onl o th firs file) An characte othe tha carriag retur wil abor mas operations. --- Mad i possibl t ge th macr hel scree b pressin th leadi characte secon tim i respons t th 'Macro promp (thi i muc easie an mor natura tha enterin th '# command). --- Fixe bu i th macr hel displa tha wa echoin contro character t th screen Thes ar no filtered On ca no ente ES ES t se th macr hel scree an thir ES t retur t th fil display. --- Adde ^ʠ comman t jum t nex fil tha matche th las mas specifie i "J command Thi allow on t jum easil t th secon o thir fil tha matche simpl fil spec. --- Fixe bu i "M an "GM command tha allowe sourc fil t b delete, eve whe cop ha no bee performed. --- Adde "GR grou revers functio t revers fil tags Tagge file becom untagged untagge file becom tagged an soft-tagge file remai soft-tagged. --- Cleane u lo comman ("L o "N") Remove specia handlin o answe "x fo director nam (n longe needed an change erro handlin code. --- Adde configuratio optio t automaticall lo i th displaye director fo th "Z comman i th use numbe i les tha 16 I thi optio i configure in the th dis syste i rese befor th comman lin i ru (thi i th disadvantag o usin thi option). --- Made rename command preserve all file attributes. --- Adde option t cop attribute wit file an t alway se th archiv attribut i th destinatio file I th fil i bein moved th attribute ar alway copie an th archiv bi i lef a i was i th fil i bein unsqueezed th attribute ar no copie an th archiv bi i se accordin t it optio setting. --------------------------------------------------------------------------- See the VFHIST.DOC file in VFILER Version 4.1 for the history of the development of VFILER. F:"G9GOG"GF:O`G*+":yGG9G>2!454k%*+"*+"͈E͍"*7dA|#O zG fGxͬ&>26!7YH**6͠H"6!7YHHHd*6͠6H"6*6͠DH"6*=7*=dH`i)\fH!7#͠+HͶHͩHnH!7͠H++++ÂH!7H ͩHҚH####7͠H++͉s#r+##s#r++H͉#r+s +r+s!7͉m.II>܇I I:6GO I+I IbI͎I>eI1I!64F!6II=O:6=G͎IbI WI*7+:V7!W~zI6!-kwC*7#iI*6*7d*7͠**6͠ҸIͽIͦ*6#"6"7*7JI:@7W~zCJI*6*7͠J*6HH͠J:J*6HH͠7-Jͽ:Jͦ*6+"6J"7:G+~# OJ> XJJ͒H.I?K*6!72KÒJJ`J!7K*7ͫJJڡJ2@7"7 •JbI}77:73~J#J7>J>:!77:7`JI!7K*7}; ------------------------------------- | | | ZFILER, The Point-and-Shoot Shell | | | ------------------------------------- Z >> Introduction to Z-System Shells F >> What is ZFILER for? I >> Invoking ZFILER  C >> ZFILER Commands  D >> The ZFILER Display S >> Single-File Built-In Functions O >> Th Optio Comman G >> Built-In Group Commands J >> Credits P >> Pointe Command H >> History of ZFILER N >> Othe Non-Fil Command M >> ZFILER's Script Macro Facility :Z  Z-System Shells  Z-Syste shel i progra tha take ove th user-inpu functio o th comman processor Th wa thi work i tha th Z-Syste environmen include specia are i memor calle th shel stac wher shel comman line ca b kept Wheneve th ZCPR comman processo i finishe processin al th command tha hav bee passe t i i th comman lin buffe (anothe specia are i memory) i check th shel stack Onl i n comman lin i presen ther doe th comman processo itsel promp th use fo th nex comman line I ther i a entr i th shel stack the tha comman lin i ru instead an th use n longe see th comman processo directly. Som shells lik th EAS o LS histor shell whil makin bi chang i ho th syste i actually running mak relativel littl chang i ho i appears t run comman promp i stil presented an on enter command mor o les a usual Th differenc i tha on ha mor capabl edito a one' disposal an th command ar save t histor fil fro whic the ca b recalled edited an ru again A w shal see th ZFILE shel present th use wit dramaticall differen use interface. :F Wha i ZFILE For  Historically ZFILEҠ i descendan i th lin o fil maintenanc utilitie lik SWEE an NSW (henc th "filer par o th name) Fil maintenanc i generall concerne wit copyin files lookin a thei contents renamin them erasin them an s on ZFILE provide al thes function an more. ZFILER' immediat paren wa VFILER wher th "V stoo fo video Th TCA facilit i Z-Syste make i eas fo program t tak advantag o th full-scree capabilitie o whateve vide displa termina happen t b i us a an time I contras t application unde CP/M Z-Syste program nee no b configure t matc th terminal I was therefore natura t buil fil maintenanc progra i whic th file ar displaye graphicall o th screen Whe decide t explor som ne direction wit VFILER t avoi confusio gav th progra th ne nam ZFILER fo Z-Syste Filer. Th fil maintenanc task describe abov woul no requir shell Makin th progra shell however allow i t g beyon th function include i th program' ow code Becaus shel ca pas comman line t th operatin system ZFILE ca perfor an operatio tha th compute i capabl of Lik men system however i help th use b generatin th command automaticall a th touc o key. Whe ZFILEҠ i running th scree i fille wit a alphabetize displa o th file i specifie directory an ther i pointe tha th use ca manipulat usin curso contro keys I w ha mous t mov th pointer i woul b littl lik havin Macintosh Actually i woul b lo more I woul b lik havin mous wit fift buttons Onc th pointe ha bee positione o file pressin ke (o tw o three cause an o grea numbe o function t b invoke t ac o tha file W wil describ ho thi work i mor detai shortly. :I Invokin ZFILE  Sinc ZFILEҠ perform full-scree operations prope Z-Syste termina descripto (TCAP mus hav bee loaded I yo hav no don that o i yo hav selecte termina tha doe no suppor al th function ZFILE needs the ZFILE wil giv yo a erro message Th TCAP unfortunately doe no includ informatio abou whethe di o revers vide i use b th terminal an sinc thes tw mode fo highlightin region o th scree ar s different ZFILEҠ i mad availabl i separat version fo each. Ther i als a optio t hav eithe fou o fiv column o fil name i th display Personally prefe th four-colum version whic give a uncluttere scree wit plent o restfu whit spac an ver distinct easy-to-spo pointer Other thin i i mor importan t b abl t se th maximu numbe o file o eac scree an prefe th five- colum display. The ther i th issu o suppor fo tim an dat stampin o files ZFILEҠ contain th cod fo preservin th tim stamp whe file ar copied S a no t inflic th overhea o thi cod o thos wh hav no implemente DateStampe (thoug the shoul d that!) ZFILE i als provide i version wit an withou th DateStampe code. I w supporte al combination o th abov choices ther woul b eigh differen version o ZFILER Typically th distributio librar contain fou o fiv o th combinations Fo example five-colum fil displa i no particularl compatibl wit revers vide highlighting becaus th revers vide o tagge file run int th reverse-vide pointer. Whe yo ge ZFILER yo hav t choos whic versio yo prefer extrac i fo th distributio library an giv i workin nam (som o th earl Z-Syste shell ha t hav specifi name bu yo ca giv ZFILE an nam yo like) prefe th nam ZF sinc i i ver quic an eas t type an wil us tha nam i al th example tha follow. Th genera synta fo invokin ZFILE is: Z filespec wher "filespec i standar Z-Syste ambiguou fil specificatio (tha is i ma contai th wildcar character "? an "*") Th filespe select th director are an th file fro tha are t b include i th scree display. Variou part o th filespe ca b omitted I n filespe i give a all the "*.* fo th currentl logge director i assumed Similarly i onl director i specifie (e.g. B o 3 o B3 o WORK:) the al th file ("*.*" i tha director ar displayed I fil name/typ i included the i wil serv a mas o th file t b displayed Thu "Z WORK:*.DOC wil sho onl file o typ DO i th director WORK:. Th director an fil mas ca bot b change fro inside ZFILEҠ a wel usin th "L o LO command brin thi u no becaus ther i confusin differenc i th wa th "L comman works VFILEҠ originall allowe on t chang onl th director an no th fil mas fro insid th program T sav th use th troubl o typin th colo afte directory it inclusio wa mad optional Sinc user becam s accustome t thi shorthand i wa carrie ove int ZFILER Becaus o this i yo wan t chang onl th fil mask yo mus remembe t preced i wit colon Otherwis you mas wil b take a th nam o director (whic generall result i a erro message). I i no possibl t answe ZFILER' "Logi [DIR][:MASK promp wit ". (sam a ":" t lo i al file i th curren directory Previousl thi logge i al file a use zer o th curren drive Th Logi comman no als seem t accep ".afn instea o ":afn". On brie asid fo programme types ZFILE ca b loade fro an directory On o th specia feature o Z-Syste sinc versio 3. o th comman processo allow progra t fin ou bot it ow nam an th director fro whic i wa actuall loaded perhap a th resul o pat search ZFILEҠ build th shel stac entr t invok ZFILEҠ unde it curren nam fro th director i whic i i actuall located Thi sometime make i ru faster an i allow ZFILE t b invoke fro director tha i no o th searc path. :D Th ZFILE Displa  Th mai ZFILE displa contain thre parts A th to o th scree ther i messag line I th versio o ZFILE tha i curren a th tim a writin thi colum (versio 1.0L) thi lin contains fro lef t right th followin information: (1) th director tha ha bee selected i bot D an DIҠ (name directory format; (2) th indicato "[PUBLIC], i tha director i ZRDOӠ publi director (i yo don' kno wha thi is jus ignor it); (3) th curren tim o da i DateStampe o on o th ne DOS (ZSDO o ZDDOS i running; (4) th program' officia nam an version; (5) th tex strin "Curren File:"; and (6) th nam o th fil currentl bein pointe t (thi change a th pointe i moved). A th botto o th scree i comman promp o th form Command (/=Help X=Quit)  Th curso (don' confus thi wit th fil pointer i positione afte thi comman promp t indicat tha ZFILE i waitin fo yo t pres key. Th cente 2 line o th scree sho th selecte files Th characte strin "--> (onl "-> i th five-colum display float betwee th row o fil name an designate th so-calle "pointed-to file Man o th ZFILE command automaticall operat o thi file. Wha w hav describe s fa i th mai ZFILE screen bu i i no th onl one A th comman promp suggests pressin th slas characte (o "? i yo prefer bring u hel scree tha summarize th built-i command o ZFILER Thi hel scree replace th fil displa bu leave th statu lin a th to an th comman lin a th bottom excep tha "/=Help change t "/=Files" A yo might therefore guess pressin slas agai wil tak yo bac t th fil displa screen. ɠ d no kno i anyon make us o thi feature bu al ZFILE comman operation ca b invoke fro th hel screen Althoug yo canno se th fil pointer yo ca manipulat i i th usua way an yo ca tel wha fil yo ar pointin t fro th nam displaye a th uppe righ o th statu line. :C ZFILE Command  Basically th command fal int severa classes On classificatio reflect wher th cod fo th comman resides Ther ar tw categories: A Built-I Commands B Macr Commands Clas include th function fo whic th cod i par o ZFILER Macr command ar lik aliase i tha the generat comman line tha ar passe t th comman processo fo execution Thes command mak ZFILE shell secon classificatio depend o wha th comman act upon Thre categorie describ th objec o th commands: 1 th pointed-t file 2 grou o tagge files 3 neithe o th above Hel fo command i clas A3 residen command tha d no perfor an actio o th files ma b foun b selectin fro th mai menu Help for the others may be found by selecting  N . :P Pointe Command  Clas A include th command tha mov th fil pointer Thes ar show o th hel screen an wil no lis the here On ca mov th pointe t th nex fil o th scree o t th previou on (wit wraparound) up down left o righ (wit wraparound) t th firs o las fil o th curren screen o t th ver firs o ver las fil o thos selecte b th fil mask On ca advanc t th nex scree o file o t th previou screen Obviously som o thes function wil b redundan i som cases suc a whe al th selecte file ca fi o on scree (thin wha happen whe ther i exactl on fil selected). ZFILEҠ learn fro th TCA th contro character sen b an specia curso key o th keyboar (provide the sen singl contro characte an provide th TCA ha bee se u correctly) an i make the generat th up down left an righ functions I th curso key generat contro code normall use fo anothe function the tha functio wil b los (th curso key tak precedence) Tha ca caus problems On solutio i t eliminat th definitio o th curso key i th TCAР an simpl us th defaul WordSta diamon key fo thos堠 functions Alternatively on ca patc ZFILE t us differen key fo it ow functions bu thi i no straightforwar t do an wil no describ i here. Th "J (Jump comman allow yo t jum t fil tha yo name Thi i ver hand whe ther ar man file i th displa o whe th fil yo wan i no o th curren screen Pres th "J key an yo wil b prompte fo fil name Yo d no hav t ente th exac name ZFILE automaticall convert wha yo typ int wildcar filespec an i find th firs fil tha matches Fo example i yo ente onl "Z followe b return thi i equivalen t "Z*.*" an ZFILE wil mov th pointe t th firs fil tha start wit "Z" Similarly i yo ente ".D" ZFILE wil mov t th firs fil wit fil typ tha start wit "D". Th "J functio i ver handy however ther i more Man peopl ar no awar tha yo ma pres control- t repea th sam searc an fin th nex matchin file Th searc wil wra aroun fro th en o th file bac t th beginning Thi functio i no liste o th hel scree becaus coul no fin roo fo it. Control- (TAB i a alia fo control- (jum t fil again) fo us wit termina definition (TCAPs whic defin control- a a arro key. :N Othe Non-Fil Command  Som othe command tha d no ac o file are X L A S E H Z an O "X" a th comman promp remind you i use t exi fro ZFILER Beside terminatin th curren executio o th program i als remove ZFILER' entr i th shel stac (i i di not yo woul jus reente i righ away). W alread spok abou th "L (Log comman earlier Th "A (Alphabetiz o Arrang o Alph sort toggle th wa i whic th file ar sorted namel alphabeticall b th fil nam o b th fil type Th "S (Status comman prompt yo fo dis driv lette an the tell yo th amoun o spac remainin o tha disk. Th "E comman (refres scrEE -- kno that' stretchin things bu "R wa alread used redraw th screen Yo migh thin tha thi woul neve b needed bu ther ar tw circumstance i whic i come i ver handy On i whe ZFILE i bein use o remot system I i tru tha ver fe RAS mak ZFILE available bu d o Z-Nod #3 I yo ge som lin noise th scree ca becom garbled The th "E ke ca b use t dra fres screen. Th othe circumstanc i whic th "E comman save th da i wit Backgrounder-i i yo d no hav scree drive ( don' fo m Concep 10 termina -- neve go aroun t writin one partl becaus al th program us frequentl hav redra ke lik thi one) simpl defin BGi ke macr specifyin "E a th "redraw key sav th ke definition t ZFILER.BG an attac tha definitio t ZF.COM The wheneve swa task bac int ZFILER BGi simulate m pressin th "E key an th scree i redrawn Thi ofte give faste scree refres tha on get wit full-fledge scree driver. Th "H (Help comman generate macr comman t invok th Z-Syste HELР facility T tel th truth hav no use thi an don' eve remembe precisel wha i does woul hav t loo a th sourc code. Th "Z (Z-system comman prompt yo fo command an whateve yo ente i passe o t th Z-Syste multipl comman lin buffe fo execution Whe tha comman lin i complete ZFILEҠ i reinvoke automatically. Whe yo us th "Z command yo wil normall b logge int th director tha i currentl displayed However thi wil no alway b possible ZFILE allow yo t selec directorie wit use number fro t 31 Unles yo ar usin versio o ZCPR3 o ZCPR3 wit th HIGHUSE optio enabled yo canno lo int use area abov 15 I tha cas ZFILEҠ wil pu yo i th director you wer i whe yo invoke ZFILER I an case th comman promp wil indicat th director fro whic you comman lin wil b executed. Sinc command yo ru usin th "Z functio ma pu som informatio o th scree tha yo woul no wan ZFILEҠ t obliterat immediately ther i fla se tha signal ZFILE t promp yo an t wai fo yo t pres ke befor puttin u it display Her i ti fo advance users I yo ente you comman lin wit on o mor leadin spaces thi shell-wai fla wil no b set an ZFILE wil retur withou you havin t pres key Th leadin space ar strippe fro th comman lin befor i i passe t th comman processor Thi mean tha yo canno us leadin spac t forc invocatio o th extende comman processo (ECP) yo hav t us th slas prefi instead spac an slas wil forc invocatio o th EC an wil disabl th shell-wai flag. Th堠 fina comman i clas A i th "O (Options command Informatio regarding it can be found in the  O  menu. :S Single-Fil Built-I Function  No let' discus th command i clas A1 th built-i command tha ac o th pointed-t file Thes ar invoke b pressin on o th followin keys whos meanin i indicate i parentheses à (Copy) (Move) (Delete) (Rename) (View) (Print) (Fil size) (Tag) an (Untag) Som o thes ar self-explanatory an wil no discus them. Th "C comman copie fil t anothe director unde th sam name i doe no allo on t giv ne nam fo th destinatio fil (however yo ca d tha wit macr command) Th "M comman doe no reall mov file i copie th fil an then i th cop wa successful delete th origina file I i reall combinatio o "C an "D" Movin fil thi wa i inefficien i th destinatio director i o th sam driv a th sourc file macr comman tha invoke a ARUN alia ca ge aroun thi limitatio (an almos al othe ZFILE limitations). Th "V (View an "P (Print command no hav switchabl filte whic onl passe printabl characters carriag return an lin feeds. Th ta an unta command ar use t selec grou o file o whic operation ca b performed Tagge file ar indicate i tw ways specia characte ("#" i place afte th fil nam i th display and i th termina support vide highlighting th fil i highlighted. Tw relate command ar (Wil tag an (Yan back?) "W allow yo t ta o unta group o file designate b a ambiguou fil spec Afte tagge file ar operate o b th built-i grou command describe below th ta marke "# i change t "' ( sof tag) Th "Y comman change th sof tag bac int har tag s tha furthe grou operation ca b performe o thos files. ZFILEҠ no remember al th fil tag whe i return fro macr o ڠ comman (i write temporar file ZFILER.TAG t configurabl director whic contain th fil list). :G Built-I Grou Command  Grou command ar initiate b pressin th "G (Group key Th comman promp a th botto o th scree change to Command (/=Help X=Quit Group (A,C,D,F,M,P,R,T,U,V) Fo no w wil conside onl th built-i grou function (clas A2 an wil tak u grou macr command (clas B2 nex time. Excep fo th fou function describe below th letter invok th sam actio a th individua comman correspondin t tha letter bu th functio i performe o al th tagge files W wil no discus thos further Not i particula tha th key "A an "R" however hav grou functio tha i completel differen fro th individua function. Th "U an "T grou function d no ac o th tagge files the chang th tagging Th forme untag al files th latte tag the all. Grou Tag/Unta an Wil Ta ca b independentl se t operat fro th fil pointe t th en o th ring rathe tha o th entir ring Grou Tag/Unta see t b th mos usefu i a th star a th fil pointer Us th Option comman t contro this. Th "R grou functio i anothe on tha doe not strictl speaking ac o th tagge files I reverse th tags taggin th file tha ha bee untagge an untaggin th one tha ha bee tagged Thi ca b ver hand i severa circumstances Fo example yo migh wan t cop al th file excep two I i easie t ta thos tw an the t revers th tags A anothe example yo migh wan t cop som o th displaye file t on diskett an th other t secon diskette ɠ d thi frequently begi b taggin th one t g t th firs diskette The grou cop ("GC" the t th destinatio diskette Next yan bac th tag usin th "Y comman an the revers th tag wit "GR" No ɠ ca grou cop th res t th secon diskette. Th "A (Archive grou comman i ver hand fo automatin backups Whe i i entered th tag ar remove fro an tagge fil whos archiv fla i set A result onl file tha hav bee modifie sinc th fla wa las se wil remai tagged I addition th "A grou comman automaticall initiate grou cop operatio bu wit on specia feature Afte th fil ha bee copie successfully th archiv fla o th sourc fil i se t indicat tha th fil ha bee backe up. Unde late version o VFILER th grou "A comman automaticall tagge al unarchive files unde ZFILE i untag th archive ones Thi differenc i ver important Wit VFILER yo wer force t bac u al th file selecte b th VFILE fil mask Unde ZFILE yo ca selec th file tha wil b candidate fo backin up I yo wan th achiev th sam functio a unde VFILER jus ta al th file firs wit "GT an the archiv the wit "GA" O th othe hand i yo wan t exlud BA file fro th backup yo ca "GT al files unta th "*.BAK file usin th "W command an the us th "GA command. Afte yo ente th comman "GA" yo wil b prompte fo destinatio directory Yo d no hav t suppl one I yo simpl ente carriag return th cop operatio wil b skipped an yo wil b lef wit tag o th file tha nee t b backe up Yo ca the us macr functio t bac the u i specialize way suc a crunchin (compressing the t th backu dis (instea o copyin the a the are o puttin the int librar o th backu diskette Th macr technique require t d thi ar i th FILE Scrip Macr Facility section. :O Th Optio Comman  Whe th optio comman lette "O i pressed specia option scree i displayed Eleve operatin characteristic ca b change fro men wit th followin appearanc (approximately): A singl replac quer Y B grou replac quer Y C archiv replac quer N D verif quer Y E verif defaul Y F suppres SY file Y G sor b fil nam N H se copie fil attribute Y I us des fil attribute Y J archiv destinatio Y K searc pat fo CM fil N W wil explai th meanin o eac o thes option i moment Firs fe word abou th mechanics Whil th option men i displayed pressin th inde lette a th lef wil caus th settin o th correspondin optio t b toggled an th ne stat wil b show i th colum a th right Th listin abov show th initia stat o th option i m persona versio o ZFILER Whe yo ar finishe togglin options jus pres carriag retur t retur t th mai ZFILE menu Thes optio setting ar store i th ZFILE shel stac entr an wil thu continu i effec throug al ZFILE operation unti th comman "X i use t terminat th shell. Th firs thre option concer ho ZFILE respond whe copyin (o moving file an fil o th sam nam alread exist i th destinatio directory Ite applie whe individua file ar copie (command "C an "M") ite applie whe grou cop i performe (command "GC an "GM") an ite applie whe performin a archivin operatio (comman "GA") I th optio i "YES" the ZFILE wil promp on befor existin file ar erase an giv on th chanc t cance th operatio fo tha file leavin th existin fil intact I th optio i toggle t "NO" the existin file wil b overwritte withou eve message. Th nex tw option affec th verificatio o th copie fil i th destinatio directory Ite determine whethe o no th use wil b aske abou verification I thi optio i se t "N" the th stat o optio Š wil determin whethe o no verificatio i performe o fil copies I thi optio i se t "Y" the befor eac copy move grou copy o grou move ZFILE wil pu u th promp "Verif (Y/N)?". Th nex tw option affec th wa file ar displaye o th screen I ite i se t "Y" the file wit th "system o SY attribut wil b suppressed tha is no include amon th selecte file o whic ZFILE acts Thi i reasonabl choic fo thi option sinc th mos commo us o th SYӠ attribut i t mak th file disappea fro consideratio durin fil maintenanc an displa operations Ite o th option men determine whethe file ar sorte firs b nam an the b typ o vic versa Changin thi optio i presentl equivalen t th "A comman fro th mai ZFILE comman menu. Th nex thre option concer ho fil attribute ar treate whe file ar copied On possibilit i t creat ne file wit clea slat o attribute (tha is al attribute reset no read-only no SYS no archived) Thi i wha wil happe whe optio i se t "N (bu not optio J whic ma overrid this) Whe th attribute o th destinatio fil ar t b set the ca b se i tw possibl ways I fil o th sam nam existe i th destinatio directory the it fil attribute coul b use fo th cop tha replace it Thi i wha wil b don i optio ɠ i se t "Y" I optio i se t "N o i ther wa n matchin fil i th destinatio directory the th attribute wil b se t matc thos o th sourc file. Optio ca se specia overrid fo th archiv o ARà attribute I th optio i se t "N" the th AR attribut i treate jus lik th othe attribute accordin t option an I I optio i se t YES the th destinatio fil alway ha it AR attribut set. Ther wa a on tim grea dea o controvers ove th wa th AR attribut i handle unde ZFILER A on tim i wa alway reset s tha th destinatio fil woul b marke a no backe up Anothe schoo o though asserte that o th contrary th fil wa backe up sinc ther wa cop o i o th sourc dis fro whic th fil wa copied Tha latte argumen mad considerabl sens i th cas o copyin file fro maste dis t RA dis befor wor session Her i wa certainl importan t star wit al file marke wit th AR attribut s tha on coul easil tel a th en o th sessio whic file ha bee modifie s tha the coul b copie bac t th permanen storag medium. Al i all neve understoo thi controversy Bot approache clearl hav merit an sinc ZFILE support both sa n reaso fo al th argument I futur versio o ZFILER thin woul lik t ad fla wor tha woul indicat whic drive shoul automaticall se th AR fla whe th optio i se t YES Tha way th optio coul b mad t appl t RA drive only. Th fina ite o th optio menu optio K determine ho th macr comman fil ZFILER.CM (se discussio below wil b located Ther ar tw choices I optio i se t YES the ZFILE wil loo fo i firs i th currentl displaye director an the alon th entir ZCPR searc path Thi optio i usefu i on want t hav differen macr comman file tha appl t specifi director areas Alternatively i optio i se t NO the ZFILEҠ locate th CM fil withou usin th path Dependin o ho ZFILE i configure (thi wil b discusse anothe time) th fil wil b sough eithe i th roo director o th pat (th las director specifie o th searc path o i specifi drive/use are code int ZF.COM Thi alternativ result i faste operation especiall i th specifie director reside o RA disk. Th option controlle b th optio men ca als b permanentl change i th ZFILE progra fil usin patchin utilit lik ZPATCH I th firs pag o th file yo wil se th asci strin "OPT:" Th eleve byte followin thi strin contai th startu value fo th eleve options Patc byt t 0 fo N o F fo YES. On ma als us A Hawley' Zconfig alon wit th .CF fil provide wit you cop o ZFILER i orde t instal ZFILER t you tastes Handle al th configuratio normall needed Yo ma als us fil patche t chang th defaul name o som o ZFILER' temporar file, i yo wish. :M:ZFMACRO :H:ZFHIST :J Credit  Thi documen contain th tex o tw article o ZFILE b Ja Sag whic originall appeare i Th Compute Journa issue #3 an #37 Reprinte wit permissio o th publisher: Th Compute Journal P.O Bo 12 S Plainfield N 07080-0012 Thes .HL file fo ZFILE wer edite b Le M Cavanaug IIɠ fro th documentatio provide wit ZFILER. wish. :M:ZFMACRO :H:ZFHIST :J Credit  Thi documen contain th tex o tw article o ZFILE b Ja Sag ; ---------------------------------- | | | ZFILER's Script Macro Facility | | | ---------------------------------- M >> Introduction to ZFILE's Macros  << Macro Execution >>   << Macro Writing >>  I >> Invokin Macros S >> Macr Scripts G >> Group Macros D >> Definin Macro -- Th CM File R >> Rule fo Scrip Expansion E >> Macr Examples L >> Sample Macro CMD Listing :M  Introduction to ZFILE's Macros  Althoug ZFILE ca accomplis man task usin it built-i functions it rea powe come fro th macr facility whic allow i t b extende t includ an function tha ca b performe usin combination o othe programs Thi i wher ZFILE reall make us o it powe a shell Firs ɠ wil describ ho th macr facilit i used an the ɠ wil describ ho th use define th macr functions A wit th built-i functions macr function ca operat eithe o singl file o o group o files Th single-fil macr facilit i wel develope an wa alread presen i nearl th sam for i VFILER th grou macr facilit i ne wit ZFILE and has been greatly expanded. :I  Invokin Macros  On wa t initiat macr operatio o th pointed-t fil i t pres th macr invocatio key whic i normall th escap key promp o "Macro: wil appea afte th norma ZFILE comman prompt A thi poin yo hav severa choices I yo kno th ke correspondin t th macr yo wan t run the yo ca simpl pres tha key ZFILE wil the construc comman lin an pas i o t th comman processo fo execution I ZFILEҠ i configure fo instan macr operatio (i generall is) the macro associate wit th numbe key "0 throug "9 ca b initiate withou th macr invocatio key tha is th numbe ke entere alon a th mai ZFILE comman promp wil generat th macr function. I yo pres th macr invocatio ke secon time user-create hel scree wil b displayed Thi scree generall list th availabl macr functions Yo ca no pres th ke fo th desire function o yo ca pres carriag retur t cance th macr operatio an retur t th mai ZFILE menu Th hel men scree wil als b displaye i yo pres th "# key Thi i holdove fro VFILE an arise i par becaus o th structur o th fil i whic th macro ar define (mor o thi shortly). :G  Group Macros  Grou macro ar invoke i simila wa fro th grou functio comman line Afte yo hav tagge grou o files pres th "G ke t ente grou mode Th promp wil lis onl th built-i grou functions bu i yo pres th macr invocatio key yo ca procee a describe abov fo single-fil macr operations excep tha th macr functio wil b performe o eac o th tagge files. Th grou macr facilit work littl differentl tha th single- fil macr facility Sinc th comman lin woul generall no b lon enoug t contai th command fo al th tagge files th grou macr facilit work b writin ou batc fil fo processin b ZE o SUBMIT I thi wa ther i virtuall n limi t th numbe o file o whic grou macro ca operate. Ther ar man configurabl option (describe below tha ar associate wit th grou macr operation Thes includ th nam o th ZE o SU batc file th director t whic i i written an th comman lin tha ZFILEҠ generate t initiat th batc operation Th NZ-CO versio o ZFILE use fil calle ZFILER.ZE an th comman lin "ZE ZFILER" Th Z3PLU version unde whic ZE wil no run use fil calle ZFILER.SU an comman lin o "SUBMI ZFILER". Sinc macro (an th mai men "Z function wor b passin command t th comman processor fil tag wer onc los b olde version o ZFILER whe thes olde version resume operation th proces starte afresh ZFILE no remember al th fil tag whe i return fro macr o comman (i write temporar file "ZFILER.TAG" t configurabl director whic contain th fil list).  List Capability for Group Macros  I ZFILER.CM scrip begin wit comm (befor o afte th leadin "! shel paus parameter) ZFILE wil alway expan th macr directl t ZCPR' multipl comman line I th cas o grou macro $P $F an $ parameter ar expande t lis o al tagge files separate b th characte followin th leadin comma For example, the script: 1 , !echo the tagged files are $F display "THŠ TAGGE FILE AR " followe b lis o th tagge file separate b o th consol (assumin ECH i vali ZCPҠ command) ZFILE the prompt fo keypres befor returning Pleas not tha thi macr buffer th entir lis o tagge file t CP/M' comman lin buffer whic i onl 12 byte i length Th abov command therefore normall cause "Comman to long erro i mor tha abou file ar tagged dependin o th length o th tagge names. Lis capabilit allow program whic accep fil list suc a LPU o V t ru o tagge files ZE i NO involved.  Group Macro Tagged File Count  Th numbe o file tagge i pu int Use Registe # (configurable befor runnin ZEX Th macr ca the dow coun an tak som additiona actio afte i ha ru o eac tagge file. For example, if you press "G1", the script: 1 ! $d$u:;$!crunch $f B1:;reg m5;if reg 5= 0;$"Library DU ":; lput $"Library Name: " B1:*.* +1;era B1:*.?Z?;fi;$h: crunche tagge file t fixe empt director B1: make librar ou o the (leavin roo fo mor file wit inpu fo librar nam an location the erase al "th crunchettes" Thi macr require REǠ t decremen Registe 5. Not tha RE mus b Type o Type (o RCP fo th ZE G "$! t ru CRUNC repeatedly Als not tha register onl hol 25 count Fo consistency singl macro pu "1 coun i th Use Register Use registe rang 0.. i no enforced s yo ca us register 10..3 i yo wish However 10-1 ar reserved while 16-1 ar use b other programs. :S Macr Script  ZFILEҠ macr script ar simila t thos i ARUN an i th othe men shell (MENU VMENU FMANAGER i tha paramete expression ca appear Th critica parameter -- th one tha implemen function tha canno b achieve an othe wa -- ar thos tha conve informatio abou th director currentl displaye b ZFILE an abou th pointed-t file Parameter consis o "$ characte followe b on o th character liste below. Use promp parameters: Use inpu prompt Use inpu prompt * Clear screen in user prompt $ Escape character (example: '$"' for double quote) ^ Control character (example: '^x' for control-X) Parameter fo directories: - currentl displaye directory DI form Driv letter Use number - hom director (fro where ZFILE wa invoked) D form Hom DIR Parameter fo pointed-t file: Ful informatio (DU:FN.FT) Fil nam (FN.FT) Fil nam only Fil typ only Specia parameters: G substitutio indicator Th dolla character Th parameter ar liste i specia orde above an w wil explai tha later Firs w wil jus presen th meanin fo eac parameter. Th paramete expression $ an $ ar use t displa promp messag t th use an t rea i respons string Singl an doubl quote ar equivalent Onc th promp paramete ha bee detected al subsequen character u t on o th quot character ar displaye a th use prompt Thus i a no mistaken ther i presentl n wa t pu eithe quot characte int th prompt Th en o th lin o th en o th fil wil als terminat th prompt. I yo wan t mak fanc screens yo ca includ escap sequence an som contro character (obviousl carriag retur won' work) Prompt i script ma contai contro character a "^x" wher i an characte fro t z. Th dolla sig ma b use a "escap character fo scrip prompts an ca be used to include the $, ^, ", and ' characters in prompts. Examples: Script Result $"Enter name or $^C: " Enter name or ^C: $"Type $"//$" for help: " Type "//" for help: Th $ scrip paramete clear th scree during an rebuild i afte scrip prompt Usag i $"$*..text.." Promp tex appear a th to o cleared screen. No fo th director parameters Parameter C D an ՠ retur informatio abou th currentl displaye directory whil an Ҡ retur informatio abou th hom directory th on fro whic ZFILEҠ wa originall invoked PLEASŠ NOTE macro alway operat fro th hom directory Th reaso fo thi i tha ZFILE ca displa directorie wit use number highe tha 1 eve whe i i no possibl t lo int thes areas I yo wan t operat i th displaye directory the you scrip mus includ a explici directory-chang comman o th for "$D$U: a th beginnin (o "$C: i you syste require th us o name directories an comman o th for "$H: (o "$R:" a th end. On specia not abou th parameter tha retur director names I th director ha n name the th strin "Noname i returned Thi wil presumabl no matc an actua nam an wil lead on hopes t benig erro condition Thes parameter ar include onl fo system tha d no allo directorie t b indicate usin th D for ( hop tha fe i an system ar se u thi way). No w com t th fou fil nam parameters The allo u t generat easil th complet fil specificatio o an par o it Not tha "$F i no quit th sam a "$N.$T" Th latte alway contain dot th forme doe no i th fil ha n fil type. Finally w hav tw specia parameters "$$ i include t allo dolla sig characte t b entere int th script "$! i contro paramete tha i use onl whe grou macr i executed I i i place immediatel befor toke (strin o contiguou characters) the tha toke wil b replace b th strin "GO o al bu th firs expansio o th script Thi allow grou macr script t operat faste b avoidin repetitiv loadin o CO file I mus b use wit grea car an consideration however fo reason tha wil no g int here. :D Definin Macro -- Th CM File No let' lear ho t defin th macr function w want A indicate earlier th macro ar define i fil calle "ZFILER.CMD (th ZFILE ComMan file) I th versio o ZFILE distribute wit NZ-CO an Z3PLUS th CMĠ fil i searche fo i th roo director o th ZCPR comman searc path A describe earlier th optio men allow th entir pat t b used Ther ar als som additiona configurabl option tha wil b discusse anothe time Yo mus b sur t pu you ZFILER.CMĠ fil i th appropriat directory I th fil canno b located yo wil stil ge th macr prompt but afte yo hav specifie macr key th erro messag "ZFILER.CM NO Found wil b displayed. Th ZFILER.CM fil i a ordinar tex fil tha yo ca creat wit an edito o wordprocesso tha ca mak plai ASCI file (WordSta i nondocumen mode fo example) Th CM fil ha tw parts Th firs par contain th macr comman definitions th secon contain th hel scree (describe earlier). I th firs par o th CM file eac lin define macro Th characte i th firs colum i th ke associate wit tha definitio (cas doe no matter) Macro ca b associate wit th 1 numbe keys 2 lette keys an al printabl specia character excep fo "# (explaine below) Th spac characte an al contro character ar no allowed Owin t a oversight th rubou (DEL characte ca b associate wit macro! Afte th characte tha name th macr ther ma b an numbe o blank (includin zero) I th firs non-blan characte i "!" the th "strik an key (shell-wait promp wil appea befor ZFILE put u th fil displa afte macr comman i run Thi shoul b use wheneve th macr wil leav informatio o th scree tha yo wil wan t read Afte th "! ther ca agai b an numbe o spaces An remainin tex o th lin i take a th scrip fo th macr command. Th secon par o th CM fil start whe "# characte i foun i th firs colum (henc th exclusio o tha characte a macr name) Onc tha characte appears al remainin text includin tex o th line wil b use a th hel screen Sinc ZFILE wil ad som informatio t th displa (th nam o th pointed-t fil an prompt) yo wil generall wan t kee th hel scree t n mor tha 2 lines includin a extr blan lin a th en fo spacing Wit som experimentatio yo wil ge th han o designin thi screen. Here is a parameter reminder you can include in your ZFILER.CMD file: $! ZEX 'GO' $P DU:FN.FT $D Current Drive $".." PROMPT $F FN.FT $U Current User $'..' PROMPT $N FN $C Current DIR $* CLS on Prompt $T FT $H Home DU $R Home DIR :R Rule fo Scrip Expansio  ZFILEҠ follow specifi sequenc o step whe expandin script on tha give i specia featur that woul guess fe user ar awar of Th firs ste i th expansio i t proces onl th user-inpu promp parameters substitutin fo th promp whateve th use entere i response Thi result i modifie scrip tha i the processe b th secon ste i th expansion Becaus th expansio i handle thi way th use inpu ca includ ZFILE scrip parameters Thus th scrip ca b use t writ script Yo wil se a exampl o thi later. Th secon ste i th expansio i t substitut value fo th director parameters whic ar somewha lik constants The d no chang a functio o th pointed-t file Finally i thir step th remainin parameter ar expanded Fo grou macros thi fina ste i th expansio i repeate fo eac o th tagge files Th fil parameter ar expande differentl fo eac file and startin wit th secon tagge file th "$! paramete cause "GO substitution. :E Macr Example  Th macr CM listin i sectio show a exampl o ZFILER.CM file on designe t illustrat som technique o macr writing Whil writin thi article discovere tha on ca includ blan line a show t mak th CM fil easie t read Th hel scree par o th listin i take fro m persona scrip fil (o which hav t confess hav no reall worke ver hard) Th macr definitio par o th listin include onl fe o th definitions Yo ma wis t us th Prin functio o th HEL utilit t prin ou thi section i orde t follo alon wit thi discussion. Th macr "Q i include t illustrat ver simple bu useful typ o macro I invoke th ver powerfu fil typin progra Q (quic look o th pointed-t file Thi i hand whe yo wan mor powerfu viewin capabilit tha tha offere b th built-i "V command Q̠ ca handl crunche file an libraries an i ca displa tex o he forwar o backward. Macr "U uncompresse file I illustrate mor comple scrip tha involve flo contro an parameter tha extrac individua component o th pointed-t fil name I test th fil typ t se i th middl lette i "Q o "Z" I th forme case i unsqueeze th file i th latter i uncrunche it Th uncompresse fil i pu int th sourc file' directory. Macro S K an illustrat th us o inpu prompting Th firs on allow th use t specif th fil attribute t b set Not tha th promp include helpfu reminde o th synta require b SFA. Macr ˠ crunche file t user-specifie destination I als illustrate ho on log int th currentl displaye directory d thi her s tha nul answe t th promp (i.e. jus carriag return wil resul i th crunche file bein place i th currentl displaye director rathe tha i th hom directory a woul otherwis b th cas (sinc tha i wher th macr run from remember) A result however thi macr wil no operat properl i use area abov 1 unde BGi o version o th comman processo tha d no allo loggin int hig use areas. Macr   perform slightl mor comple function I no onl compresse th pointed-t fil t specifie destinatio directory bu i the mark th sourc fil a havin bee backe up combinatio o th grou archiv built-i comman (t ta file tha nee backin up an grou macr (t perfor th backup give th ZFILE use wa t bac u file i crunche for o th backu disk. Macr i include t sho tha ZFILE macro whe i need t d somethin mor comple tha i i capabl o doin al b itself ca pas th tas t a ARUN alias Th MOV alia firs determine whethe th sourc an destinatio ar o th sam drive I tha case MOVE.CO͠ i use t perfor th move Otherwise th sourc fil i copie t th destinatio an the deleted Wha w have therefore i MOV comman tha free th use o th responsibilit o worryin abou whic drive ar involve -- anothe exampl o ho Z-Syste ca fre yo fro consideration tha nee no concer you tha d no requir huma intelligenc t decide. Th fina thre macr example ar executio macros Macr ؠ cause th pointed-t fil t b executed mor sophisticate versio migh chec t mak sur tha th fil typ i COM opte fo th flexibilit o pointing fo example t PROGRAM.Z8 an havin PROGRAM.CO͠ run I ther i n CO fil wit matchin name th erro handle wil tak car o things Yo wil not th leadin colo befor th "$n parameter I make sur tha th curren director i searche eve i i i no o th path Prompte inpu i use t allo comman tai t b included. Th macr perform user-specifie functio o th pointed-t file Tw separat use prompt allo bot th comman an comman tai t b given Fo example i yo wante t squeez th fil t A0: yo woul ente "SQ i respons t th firs promp an "A0: i respons t th second. Th macr illustrate ho th respons t promp ca b use a ZFILEҠ script Thi macr take car o al thos function w forgo t includ i ZFILER.CMD Th whol macr i jus prompte input an whateve w answe wil b ru a script us thi functio s ofte tha pu i o numbe ke s tha i ca b invoke wit singl ke rathe tha th usua pair Also a yo ma hav noticed includ i th macr hel scree lis o th parameter tha ca b used. Th onl rea limitatio o thi macro-to-write-a-macr approac i tha prompte inpu canno b include i th response A writ this however i occur t m tha thi limitatio coul b overcom b recursivel parsin th promp parameter unti non remain an onl the goin o t th subsequen macr expansio steps. :L SAMPLE MACRO LISTIN  -------------------- q $p i $t=?q?;$!sys:u $ $d$u:;else;$!sys:unc $ $d$u:;fi $!sf $ $ SF Option (/o,o. o=ARC,-ARC,R/O,R/W,SYS,DIR) " $d$u:;$!crunc $ $"Destinatio director (DU: -- ";$h: $d$u:;crunc $ $"Destinatio director (DU: -- ";sf $ /arc;$h: /mov $ $"Destinatio director fo move " $d$u:;:$ $ Comman Tail ";$h: $d$u:;$ Comman t perfor o file $ $ Tail ";$h: $"Ente ZFILE macr script " SAMPL ZFILE MACRO FO TCJ 0 on-lin macr A se Archiv bi N NULU 1 LPU B Backu (cr/sfa O. 2 Z80AS t CO C CR P Protect 3 Z80AS t RE D Dat displa Q QL 4 Compar File E Edi R. 5 F S SFA 6 G T Type 7 H U Uncompress 8 I V VLU 9 J W. K Krunc X eXecute L LDI Y. M Mov Z ru command $ ZEؠ 'GO $ DRIV $Р DU:FN.F $ FN.FT $".. PROMP $ USE $ F $ FT $'.. PROMP $ HOME CO C CR P Protect 3 Z80AS t RE D Dat displa Q QL 4 Compar File E Edi R. 5 F S SFA 6 G T Type 7 H U Uncompress 8 I V VLU 9 J W. K Krunc X eXecute L LDI Y. M Mov Z ru command $ ZEؠ 'GO $ DRIV $Р DU:FN.F $ FN.FT $".. PROMP $ USE $ F Z3ENVSALIAS* ͚$s*0"]/ʭ !e !1ʕ *dL*."[R%l&"* = ~(6 SALIAS 1.5 INSTALLATION Installing q 1 Install Editing Keys 2 Install Word Separator Chars 3 Install Insert/Overwrite Flag I Information S Save Changes X Quit ͅX^ .^ S4 I123<6 COMMAND KEY INSTALLATION The control key bindingno difference with this command) and answering the prompt "Directory ". The user may enter a DU: specification (e.g., A0:, B14:, F:) or the name of a ZCPR3 named directory to be found in the current system (e.g., MODEM:, DUNGEON:). The colon is not necessary in any case and an invalid directory or denied access will relog the current area. No entry at all will also relog the current area to facilitate disk changes. Tagging files The "T" command will tag an untagged file and the "Y" command will remove the tag from a tagged file. The tag appears as a hash (#) immediately following the filename. After a group operation (actually, during the group operation) hard tags represented by the hash are replaced by soft tags which appear as an apostrophe ('). Soft tags may be transformed back into hard tags by the retag command: "#". Wildcard tagging is accomplished by pressing "W" and providing a wildcard file specification in response to the prompt. All files in the directory, starting from the beginning, which match the file spec will be tagged. Group Tag ("GT") is equivalent to a *.* wildcard tag. It may be convenient at times to untag all files. This can be accomplished by relogging the directory with the Login command. Certain file operations which affect the disk directory (anything that adds or deletes files) will also end by relogging the directory and any remaining tags will be erased. Group operations obviously prevent this relogging until all files have been operated upon. Group operations "G" will evoke the Group prompt. From this prompt, several commands are available to wheels. Only the View and Tag commands are available to non-wheels. If the wheel byte is not zero, the prompt will indicate by the first letter of each command that View, Tag, Uncompress, crunch, and either Extract or Delete and Build are available. Any selection is carried out on all tagged files. The Group manager will check for ctrl-C between each file and abort if it is seen. Viewing files and library members Crunched, squeezed, and uncompressed files may be viewed by pressing "V" at the VLU prompt. The screen will clear and the file's name will appear at the top of the screen. Just below the filename, the file's datestamps, if present, will be shown. These will be taken from the disk in the case of ordinary text files, from the library directory if the file is a member, or from the internal datestamp of a compressed file. The display will stop with the prompt "[strike any key]" after, in general, 22 lines. The number of lines (the size of a screen page) is taken from the ZCPR3 Environment descriptor. The number provided there, by convention, is two lines less than the screen height. This should give the viewer two lines of overlap with each page. If this is unsatisfactory, the user's Environment descriptor can be adjusted. At any time during the viewing, pressing ctrl-S will pause the display. Pressing ctrl-C will abort the operation. Under Group control, ctrl-C will abort the entire operation and no more files will be presented; the user will be returned to the file directory display. Unscreened files will remain tagged. Ctrl-X may be used to skip to the next file under Group execution; it has the same effect as ctrl-C if only one file is being viewed; id est, we abort. At the "[strike any key]" prompt, pressing the period will bring one more logical line to the screen. Ctrl-Z will suppress the "[strike any key]" prompt and the file will scroll continuously. The viewer is then left with ctrl-S to stop the display (and any key except ctrl-X and ctrl-C will restart it). Another Ctrl-Z will restore the paging mode and stop the screen immediately. This is handy for long files when the interesting text is near the end. Certain file extensions are proscripted (e.g., COM, LBR, ARK, SYS, RCP, REL, PRL, etc.) and VLU will give the message "may not type" followed by the file name. Crunched files of proscripted types may have a "stamp" of interest to the user. If a proscripted file is crunched, VLU will give the filename as it appears and attempt to extract the original filename and any stamp contained in the first record of the file. Thus, the datestamps of COM and REL files may be inspected using the View command. Crunching disk files The crunching faculty of VLU is incidental. Because of the Group operations, it is quite useful but, ab ovo, crunching files on disk has been secondary to the project of crunching files into libraries. Selecting "K" at the command prompt will cause VLU to crunch the file pointed to by its cursor. VLU will first prompt for a "stamp." By convention, this is a message of up to 40 characters enclosed in square brackets. The message is imbedded in the first record of the crunched file to be displayed when the file is either uncrunched or viewed. Often, the message reports the date of the crunching, the author or origin of the file, or its expanded size. VLU will allow the entry of up to 38 characters. Two characters are reserved so that VLU can insert the square brackets if the user omits one or both. VLU will remove any trailing spaces from the message; if the user wishes the spaces to appear, the user must enter at least the final closing bracket. VLU will also imbed the current datestamp of the file, if present, in the form established by CRUNCH23D. To use the datestamp in place of a text stamp simply type a return at the "Enter stamp" prompt. The crunching operation will be aborted if the file is already compressed (either crunched or squeezed) or is of a proscripted filetype. Proscripted filetypes are ARC, ARK, BAD, and, if the target is a library, FOR and CIM (vide infra). VLU will allow the user to crunch a member out of a library onto the disk. There seems no harm in such an operation (and as little use). File size report The size of a file in kilobytes and sectors (records) is reported when the user presses either "F" or carriage return. If the file is a library member, size is reported to the nearest higher 1K. If the file is on disk, size is reported according to the blocking factor of the disk. Renaming files To rename a library member or a disk file, position the cursor beside the file and press "R". Enter the new name at the prompt. Deleting files To delete a library member or a disk file, position the cursor beside the file and press "D". The user will be prompted to confirm that the file is to be deleted. Under Group Delete, the first prompt applies to all tagged files. Answering Yes to this prompt will delete all files with no further prompts. Answering No will abort the operation entirely (no files deleted). Answering Verify will cause a prompt to appear for each file in the group. Building libraries In order for VLU to build a library, all files to be included must be located in the same directory. The library may, if necessary, be built in a foreign directory. As distributed, VLU will crunch all files as they are added to the library (unless the extension is unacceptable as previously stated). See the configuration section for possible attenuation of this practice. VLU does have limits governing the maximum size library it may build or deal with. Those limits will vary with the size of the current TPA. Most users will never approach VLU's limits, but for curiosity's sake, a TPA of 58K is sufficient to manipulate a library of over 1200 members. To initiate the construction, tag the files which are to be included and then type "GB" for Group and Build. VLU will prompt for the name and directory of the "new library" and the number of entries to allow. A carriage return at the "entries" prompt will build a library with the minimum directory size, only large enough to accommodate the currently tagged files. If you specify the number of members (say, 40), VLU will build a library large enough to hold at least this many members and will report the actual number of possible entries ("initializing 43 entries"). Rather than count the number of members you have tagged and add to that the number of members you expect to add in the future, you may simply enter "+40" to have VLU make the calculation. VLU will build a library large enough to hold the presently tagged files and 40 more. If no files are currently tagged, VLU will build an empty library large enough to hold at least 40 members. VLU will then initialize the library directory area. The directory list (onscreen) will be reset to the first screen; the cursor will move to the first tagged file and a message will display that the file is being crunched or added as appropriate. If any files are to be crunched, the "stamp" prompt will appear and the stamp thus entered will be in effect for all files crunched into the library. Under this operation, as under the Wildcard and other Group operations, the directory list onscreen will shift through all files searching for tags. This will be more noticeable in larger directories (which require more than one display) and during the Building of libraries (because of the pause to close the library). The datestamps for file creation date/time and file modification date/time will be copied into the library directory if they are available on the disk. They may also be imbedded in crunched members (if no stamp is entered). The current time/date will be placed in the library directory to indicate when the library was originally constructed. Adding files to a Library Adding files to an existing library is a simple as constructing the library in the first place and the files will be compressed according to the same rules. Date/time stamps will be preserved. The current date/time will be written into the library directory to indicate the library's last modification. Files may be added individually or tagged and added in a Group operation. The library to which they will be added must be open and must have unused directory entries (deleted entries will not be overwritten). Configuration Several configuration bytes are located in the first sector of the VLU command file where they may be easily patched. For the exact location and function of these bytes, see the accompanying file, VLUxxxC.Z80. Option menu The Option menu, accessed by typing "M" at the command prompt, will toggle many of the configuration bytes. This allows temporary assignment of the options. Security The Login command of VLU will use the Z33 parser when it is available, thus behaving exactly as the operating system would in allowing admittance to directory areas. When Z33 is not available, VLU allows immediate entry to any du: or dir: within the MAXDSK and MAXUSR limits of the environment. Dir: forms outside these limits are also accepted; passwords, if present, are enforced. Commands Delete and Rename and any commands that would create new files are available only while the wheel byte is set. Contributors VLU directly incorporates the work of many "better makers." My thanks to all of them as much and more for the opportunity to read and learn from their code as well as for their library releases. Among them, the following: Richard Conn, Howard Goldstein, Jay Sage, Al Dunsmuir et al. for SYSLIB, Z3LIB, Z33LIB and VLIB--and ZCPR, itself. C.B. Falconer and Steven Greenberg for USQREL, UNCREL, CRN, and BUFFERS. Steven Cohen for M24. Carson Wilson for DATEHL and Z80DOS. Bridger Mitchell for FRESET and CRUNCH23D. Martin Murray for NULU, the standard for these efforts. And Gary Novosielski for the library format. Note from the programmer VLU, its source code, and its documentation are copyright 1987, 1988 by Esoteric Software. VLU is distributed for non-commercial use only; any commercial use or any re-distribution in association with a commercial product or package requires the prior written permission of the author. I may be reached on Z-nodes 2 and 3--Al Hawley's Ladera and Jay Sage's Newton Centre; both are available via PC-Pursuit. I log into these nodes approximately semi-weekly. If it is important to reach me sooner, my home Z-node is #58, operated by Kent Mason in Oklahoma City (405/943-8638). mercial use only; any commercial use or any re-distribution in association with a commercial product or package requires the Z3ENV*  !9"$n SUB Version 3.4? "J6"L:] ͍#pz~ ͘ -6N!e~ z!/̈́~#„ɯ2!2/½#~AʭI>2#~B>2~#  ½~#7  +**~[s#r#"~#  "p7?: Strike ^C to Abort Command File - ͑{ & ... Aborted ... Continuing:ʽ!+|œ¹Ù4 4 !":/ Input Command Lines=B Process1 V1.1, COPYRIGHT (C) 2007, UDO MUNK !q,s#r!q,s#r * *!q#p -^,V*!q> ~A _*Ê~0_*!q~ ’Oe!~Oe!q#p-N,FH͋!N͋---- HIT RETURN TO CONTINUE, Q TO QUIT ----: $U6!wB!~!q.N,Fͧ:* *!6>!T~-O* ~O͋ *!4,6>!ڗ~-O* ~!w /O~ր҇^*Ð.*!4VB!4* ">!ͽq¼>.6!^,V6FILE NOT FOUND$US!^,V6S!6>!!N;yx$`iDM!xxGyO6)(K !wS-4*v\wB!~!q.N,Fͧ:* *!6>!T~-O* ~O͋ *!4,6>!ڗ~-O* ~!w /O~ր҇^*Ð.*!4VB!4* ">!ͽq¼>.6!^,V6FILE NOT FOUND$US!^,V6S!> _*oMDc>?̓ =_,.:;[]<> Po$>!Z24*mP"oʊ_@G:ʑ:3w×x24w&ʺ#*ª6?ìw™&ð#6 º.&#*6?w&#6 #6"m #~?  xɷ<23=_ͬ~:3wl@$!:O _i c.zg$>2Fp# —ɇ_^#V+|} >! w2s<ɷ:5:3 *m6$*oc:Jc̀Ydc Copy this file? (Y/N):$ skipped$ʹx *wʆ>͚ʨ~ʔ# x~[A!ͥq GE>O̬*m~:>#"m y!ZQxyxDSKCONTTYRDRPTPLSTLPTPRNNULEOFINPOUTPUNCRTPTRxxx;aiooo!!!!bÍ!B͓ͤzcx Undefined device referenced.$:G!ͤCC!r ~   ͬͺ:u=" cx   G  Give one source file only, please.$ Must use a:=b:ufn or a:ufn=b:$1mÑ >2:+ c!6x!~s O ͬ>~2K2R<2P>2Qͷh2221!"m_ 2u2w2N2F22O!"7!qͬ32G!b͓*mP [UP "m2x:2 =2 _ #"q*m~ʩ #"mPʩ _Œ 2F!u4: *mPʩ [U"m[:F <6 :u <2u:4¡ :3G:q :u=2t*q"m_ >2O2F:x:.x d cx  $   >2O*m"qP[U:x:N :C :r  :2M2O cÑ:L/ 2u>2O2F.x Destination file cannot be ambiguous.$ Syntax error.$ not found.$ Multiple ambiguous sources not allowed.$ State distinct drives, please.$ Copying:$ Please state destination drive name only.$ *$ The n in Rn must be nonzero.$ Compare requires unambiguous filenames.$:G:x2HqP:HG:G:!qM$ͬMW :HG*<M;KQ ¾  c Verify error.$ Disk reposition error during verify.$r ? | "ͷͶ ͷ :7 **<=)}|G:Gʂ:u=2ux :G͂!u4? 2K*:F͉27¨ *"*:ͮy ͫ**8="@**@|DM*~] ͕ :> ~ #x 27*#"*>+">|  *B)Dx :GÂ*x"qHR:ey2H͑ ͓d* #͑ ~ncx Disk is full.$*B">*<""6#z**=x""Iy2K*8":KO*Iͬ"*!-N#F#~ x"<*6#"<͚ ~x # x~>20:]2^>2\2V2P22>2Q:T2S>2Z2R=>2\2]222Z~w:~ ʺ  ʰ:¦:X:¬!P^#Vʦ#4~ڬҬ<~ɯè2R2<~:ʰ~ ȯ2R2~:~:ʺ#~+ʺM!a> ~ #:*!b~ #:*:OQ6>2!Ibͬ 1!e~ 2\O:]y!^5+F#p![6 !V4#42_dŸͺ:[ĺ:Z£:_ v ̋ :> 2Z:S2Z!T~+w >2[O:XG:Vy!S5 4 ##N++q+6!T~#w+:~#w͚B~͓ʹFx # x*~Rc̀N Stop? (Y/N):$>- k:lO*ʉ!mͬʘ6 #6 :l<<_>*@O*Q+|¡<*":͜*@="@2<27*"*8:͜ͷ!"@2*."D*+"8=|g}o"B"<!=":!O0 O))) / IP]̓DʒG$I PʷQR0STͬU>2P,y-}2Q>Dˆ}2P,}2Q>DÈ,"}2]y->Pˆ,"X>PÈ"Gy2>QÊ"Gy2>SÊ,"}2T2S>TÈ"Gy2:Oc>I2Ê,}21>GÈ,}2L>RÈ!6# A>2P>2Q>222X>2TO>$c*cc̀Yx y Ignore "$" through cr,lf. Ok? (Y/N):$: :t !G!F !#  r *@)D*8":G͂ͷ:7G:MG:/:M!~w !N4r! ͬ ;>X 2>#!jP!iͬq!r ͬ*<*ͬk"*<=*B=">*<"ncc̀Qqq#cÜ>2 Mount new disk then cr (or Q to quit):$:qS254c̀QInstall S O U R C E disk, then press cr (or Q to quit):$:5D>D25c̀QInstall destination disk, then press cr (or Q to quit):$:::2:GalqP!Jzͬq !rͬq!zJ~6$# !6qͺ:Gflqqf#:c͜*mP[U"m[ͺ>2:F>2ʹʻ:_2F<f:Nc8*"i!jP*i">2kc͋c̀x >2 û8c Directory is full.$ Input file not found.$ Output file CLOSE error.$ Install disk containing $ then (cr)$! ͬ>2v2N"=2s!v4F#~ð4>2u:s`!Z#ͬ!r ͬ!6͋1. ʹFx *q"m!×:v2Bcx :Mx fcx No files found matching this afn.$ All matching files archived.$!qÎ!9~@#~ ʨ# ›>.>Z~# ´>$7c:G>@/@2<T:Tx > =*7"9͞͞i*9y:<>2;c_c̀Qx >  Quit or continue (Q/x):$ Records match.$ Records mismatch.$͹*7"7~# »~| >.# |} 07>  >2;qlʣ*mP[U"m2;r ʬ)DH*<ql>µ M*<*8Qͪmͷ:7“r G:;cx ͅÝ͋Ýͅc6c*<*8m6Ý͋Ý Files are identical.$ not found.$ is an empty file.$ is a shorter file, therefore$ Files MISMATCH.$pUZ\85/05/16 13:07 85/05/16 13:07 85/05/16 13:07 ; MBUFF EQU $ pUZ\85/05/16 13:32 85/05/16 13:32 85/05/16 13:32 ; MBUFF EQU $   \\ANSI Z3TK``BB2 Z3TC128-DLCZ3THDS-AVT Z3T eeHP150 Z3TxAINFOTON Z3T WW i iSBRAIN Z3T NF @TRS2-12 Z3T 6VCCTRS80-MMZ3T ϙUU@`TRSMODIVZ3T ms@@WYSE50 Z3TN22@@XEROX Z3T <<  KAYPRO84Z3TYkk x x   $@HlH D$VLU HLP#q~ZFILER COM|rsZFHIST HLP8tuvZFILER HLPwxyzZFMACRO HLP1{|}BVIEW COMCLS COMHP150ii HJ%r&a%2c%2YK&dH&d@General Trm 100A f%r%+ %+ K43SuperBrain Y%+ %+ ~K~H~hTRS80 Model 2/12 Y%+ %+ @ACBVT^?FDLEGTRS80 MONTEZUMA =%+ %+ TRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7Kaypro-10/4 @ =%+ %+ B1B0C0C1REGAC4B4fced`isuatvTRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7 Z3ENV* v * TCSELECT, Version 1.2 2N!]~/?#~/(!182P#~A802O>2N> 2]?͝ TCSELECT - SELECT TERMINAL DESCRIPTION FROM Z3TCAP.TCP SYNTAX: TCSELECT A terminal is selected interactively and its descprition is stored in the Z3 terminal descriptor. SYNTAX (WHEELS ONLY): TCSELECT OUTFILE A terminal is selected interactively and its descprition is placed in the file OUTFILE.Z3T for loading by LDR.COM SYNTAX: TCSELECT /#L The terminal selected by letter L o1>é V1.0, COPYRIGHT (C) 2007, UDO MUNK !q,s#r!q,s#r!q#p -^,V*!q#p.6!,O> !N,Fãz/W{/_!>҈yOxG}o|g=‚|W}_v0 !s !N,Fv!q#p.N. !Ny-5\.6>! N. ~ !N. ~_*!4!q#p$FILE NOT FOUND: $B*~A_*:*!6>!pN* ~!w> i^*!4F.*!6 > !ڨN* ~!w> ҡ^*!4~!6> !N.A !~O*> ~w!4®*>#~ !A#O~  USAGE: CMP FILE1 FILE2$Bß!>^,V6/!>N,F ßAYP6GA ß!bN,FYP*!>^,V6l!6s*#"dYP*AYP6ʑ!6!N >ʜ,^O>ʦ-N >ʴ,^O>ʾFILES ARE EQUAL$Bß-N FILE2 IS LARGER$BßFILE2 IS SMALLER$Bß!6>!GN*b ~!^.dO~ʕcFILES ARE DIFFERENT AT RECORD: $CB!N,FRÂ, AND BYTE: $uB!N Rß!4 G*v\ 0FILE2 IS SMALLER$Bß!6>!GN*b ~!^.dO~ʕcFILES ARE DIFFERENT AT RECORD: $CB!N,FRÂ, AND BYTE: $uB!N Rß!4 G*v=~$ :T<=G#~+$ :UOV = ~#4 Ý *z *z  ^#V#~ѷ*z (~*z )~#fo~"z w   5 >6  5  5 /  <͓   z    ͣ ~# c   è è è yʨ è yG>GO> ͭ  è d   0ͭ   _y* * {y0ͭ {J >.ͭ J ͭ J > ͭ > ͭ ҭ ʭ ʭ ʭ ʭ ʭ >^ͭ @ͭ ͖ í ͜ Ü *.  O*.  2  2 : _: _ Y XH W@ H5 W@ r# x@ ` H i Hi |ډ z }ډ ~# xz ~+ x Ä a{_! s#r#6!* } $. 2f:f@0N2f!]f:`!'8 !*0!-ǒZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǼZ3ENVA͢, Version 1.4 (Type :0͢ at !ͱ͢h) File Erase Utility ͢ Syntax: [dir:]A͢ [I] Where 'I' is the Inspect optionU!]>/ #^: (z^:(n :mI >2 ::k<!  CR"*!"!"t``9tP*#"> xt"x JG!y yw# f P"*!|”}~» ³# ¨»7~O  Í͆ }*s#r*xyw#*s#r#w#w#yw# "A:O>4G> x+x 72!"PX R|P>:*w#":<2*KB!~ʒ}|o|g>o|g}}}""*%T]##ó*++"ê*|}  ~GO  7#~#foN#F+w#wxy+͌*"*++## ~O#^#V"#^#V"#yn2͜~x #eͲ*>#x*|4A>22͜> x:<32Ԍ> x> x: ھ͜<2> x͌ ͺ 'RELCRFPRNP?Command error?File not found?Can't enter file~ # !  !  ! ; "`*+++"*`:2*p :} ; 2222222<22 ů22n r:ʄ oQ a:`2 2¡ :@2!E y=7n 7oQ `  7!?E :!% !: 'o> = % : : :2͆ ' *##:2G` ~? ? w# 5 #5  w#H :!i~ l w#b O :7>’ xn Ox=y³ [A@2`O x ڠ  a ç T T7 Y7Ò L S7 T7>Ò R7 D7R7>Ò > 6 #= y.2O ix% 2 & <2y/y L72 O8  [m 0m Ai :m R O!~6Gʟ #~ ˆ z | x+#ʙ ~Î 2ÿ 2:²  >*  { > :| !} " o>g6 #> w~#  #" _* +~ #p #" +~7ȷ> > y!"w!:P w!"u!:ʁ ~ ͣ < ͣ < !"y{!?~ u  w#¬ w? {:= :< f> x> x>x*wyPy := : >*uwPw |}[ƀ)`iï> x> x> x:= :< W*w|̧#"wxwy!>£ =¯!w>!ï:= : *u|=#"uvw:?< *y|'#"yz {>?=P!=,!>L_! u s x~|Í7ȷ! @@´> !  DISK FULL*wyPy := : >*uwPw |}[ƀ)`iï> x> x> x:= :< W*w|̧#"wxwy!>£ =¯!w>!ï:= : *u|=#"uvZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0Z3ENV͒, Version 1.5 (Type :0͹͒ at !͒͡h) File Rename Utility ͒ Syntax: ͒ [DIR:] No Ambiguous Filespecs Allowed!]>/ #a: (*E<:!]Y!mY:{<E:l q*!69~#fo+s#r!Ͷ.ʵ!89~#fo##s#r^#V^!-{.ʵ!89^#V^#V#!,9s#ri!,9~#fo#s#r!,9^#V~ʲ!,9^#V^è!,9^#V^! !!69s#rï.Z !69^#V!͊.!! !# !H !H!@G%!*9s#rz!w !H!89^#V^#V!9C)!!9_)!9ͻ !9!9!9!!9͆! 9!9s#r!{.ʃ!9! !H!!9!9s#r!9^#V!{.ʿ!9! !H!!9s#r!9~#fo#s#r!9^#V!9~#fo͵.!!9^#V! -!9!9s#r!{.D!9^#V! -!9! !H!9^#V! -!9! !!9^#V))!9**!9^#V]!!9*t-ʨ! !H!9!9^#V)!9^#V-*4-*!9*>+!9**@ͩ-!@! 9s#r!9*@+*͛+*=!9*-! 9s#r!9**! 9^#V!,9^#V!9^#V͹!9s#r! 9~#fo͊.ʊ!9^#V!' !H! 9^#V!,9^#V!9^#Vͮ! 9~#fo͊.!] !H!9^#V͎! !9^#V͎Illegal Option: '%c' delbr v%s 1.1 28-Jul-84 AztecUsage: delbr filename(.LBR assumed) Strip all files from a "Novosielski" archive. Not enough memory. MALLOC returned NULL .lbrTrouble getting directory from %s Cannot open %s. Cannot create %s. Extracting: %-12s Error seeking this entry - aborting. Error reading this entry - aborting. Read %u bytes Error writing this entry - aborting. q*! !49^#V!9s#rz®!!!9^#V͊ !9^#Vͥ!9s#r!9^#Vͥ..!9~#fo))!9s#r!!9^#V͊ !! 9s#r!! 9s#r3! 9~#fo#s#r! 9^#V!9~#fo͵.s ! 9^#V!49~#fo͵.s !9^#Vͥʀ!!9^#V͊ $!!(9s#r!!*9s#rè!*9~#fo#s#r!*9^#V!͛.!9^#VͥS.!,9s#r!,9^#V9*!,9s#r!,9^#V! ͊.!,9^#V!*9~#fo#s#r+!9sÙ!.!*9~#fo#s#r+!9s!!*9s#rT!*9~#fo#s#r!*9^#V!͛.!9^#VͥS.!,9s#r!,9^#V9*!,9s#r!,9^#V! ͊.!,9^#V!*9~#fo#s#r+!9sE!!*9^#V!9s!9ͻ !9!&9s#r!&9~#fo#s#r!&9^#V~Y !&9^#V^!;{.H !&9^#V^!*{.H !&9^#V^! ͵.V !.!(9^#Vs!9! 9^#V! -!89~#foC)!9!9^#Vͥ-*!9!9^#Vͥ..-+*+*!9*+*4-*! 9^#V))!89~#fo!9**!9^#Vͥ!9s#r!9^#Vͥ..!9~#foc.s#r!9^#V! 9^#V)!<9~#fos#r!!9^#V͊ ! 9~#fo#s#r$!9^#V`! 9^#Vrq*! 9~#fo+s#r#Ͷ.ʺ !9^#VͥÐ q* !9~#fo#s#r!9^#V~ !9^#V^#*! 9^#Vs q*! 9! 9^#V! 8q*!9N#F!"N1!9^#V"L1!9~#fo#s#r+^"J1|,*J1%{. !!9s!"P1! "R1!'"T1!9~#fo#s#r+^"J1-{.ʾ !"P1!9~#fo#s#r+^"J1*J10{. !0"R1!9~#fo#s#r+^"J1*J1*{. *L1##"L1++^#V"V1!9~#fo#s#r+^"J1m !"V1A !9~#fo#s#r+^"J1*J10#^!S.m *V1 -*J1"V1) *J1.{. !9~#fo#s#r+^"J1*{. *L1##"L1++^#V"T1!9~#fo#s#r+^"J1 !"T1 !9~#fo#s#r+^"J1*J10#^!S. *T1 -*J1"T1 !"X1*J1l{.F !9~#fo#s#r+^"J1!"X1j *J1h{.j !9~#fo#s#r+^"J1*J1 !"Z1Ñ ! "Z1Ñ !"Z1Ñ !"Z1*X1!9*Z1*L10!9"\1*X1*L1"L1*L1##"L1++^#V"\1͜)"X1'*L1##"L1++^#V"J1*J1!9"\1s.c d op s uy x !9*\1."X1*X1*T1Ͷ.:*T1"X1*P1|xL*N1#"N1*V1+"V1#*X1Ͷ.x*R1`iO*{.u!E!"Z1È*Z1#"Z1*\1~ʿ*Z1*T1͵.ʿ*\1#"\1+^`iO*{.ʼ!Á*Z1*N1"N1*P1|*N1#"N1*V1+"V1#*X1Ͷ.! `iO*{.!)*J1`iO*{."!*N1#"N1; *N1!"(/"*/! 9~2&/G+V+^+6"$/+N+V+^!(/w#Xy/w#|É!+/>^)|ڝg,•s+=Z!~*$/+"$/w!(/‰#¿*$/+6-0123456789abcdefq*QDM|!! 9^#V! 9^#Vq*! 9^#V`!,/DM2`iDMxA!"4!! 9^#V )U*! ^#V! 9^#V"^1{.z!*^1!9^#V!s!!9^#V!s! 9^#Vq*!9N#F! ^#V`i^#V /f! ^!S.!!`inS.s`i~#͚! ^#V! ^#V! ^͹"`1͛.N*`1|7!:!`inc.s!! ^#V`is#r*`1! s#r`i~#fo#s#r+^!S.q*!d/! 9^#V͗q*!9N#F`i {.! 9^#V! {.!! 9^#Vq*! 9N#F! ^#V`i^#V /!9^#V!S.!9^#V`i~#fo#s#r+s!S.q*!Y/DM`i//_`i DM`?q*!9N#F!"b1`i~! ^!S.ʛ!"b1! ^͎*b1c."b1! ^!S.! ^#V&!! s*b1q*!9N#F!4"T0! ^!S.!! ^!S.r! ^#V`i^#V."d1*d1! ^#V! ^ͮ*d1͊.r!`in&c.s!`is#r! s#r!! 9^#V!{.ʫ!`in&S.s!`is#r! s#r!`i~#¼͚! ^#V!{.!! 9! ^ͮ͊.I! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&c.s! 9^#V`i~#fo#s#r+s!S.q*!Y/DM`i~ʀ`i DM/ /}!\!`is#r! s#r! s#r`iq*!9N#F! ^$!! s#r`i! s#r!G%"f1|ʶ!! s#r!`inc.s*f1! s#r!J1`s# y*"4*/"4?/.q*!!1!)!:o&S.1s!#"t1!1DM!"02*02͵. `i^! {.§`i^! {.ʯ`i#DMË`i~ `i^!>{.!"42`i^!<{.ʾ!"42`i#DM^! {.`i^! {.`i"22`i#DM~@`i^! {..`i^! {.=!`i#DM+s@*42͎*42|c!*22"42s!*22"42*42{.ʻ!$!C)*22!_)!F!_)!! ͠'! H `i*02#"02+)t1s#r`i#DM~ `i^! {.`i^! {.!`i#DM+s ~!t1*02!HCan't open file for redirection: $q**T0O*!DM`i ͵.s`i#DM+͎Y!9~#ʖ!͠'S.ʖ!͏$.A:$$$.SUBq*!"4!q*!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:q*! 9^#V!! 9^#Vq*!/"62!":27*62"62*:2#":2*:2 ͵.Z*62^#V!{.d&!"4!!n0DMt`iDM`i~#ʕ!9^#V`i^#V )ʕl! ^#V"82! 9^#V!S.#"<2*<2S.*82^*62s{!"4!*<2S.*82#^*62#s{!"4!! ^#V*62s#r*82##^*62##s*82###^*62###s!*62s#r*62!9^#V!9^#V!9^#V*82^#VO*! 9!͵.ʊ!*62s#r!*:2q*!9^#V!͵.´!9^#V! Ͷ.ʾ!"4!!9^#V)))/DM! ^#V! ^#VO*!9s#r!! s! s! s`is!! s#r!9^#Vq*!>2DM+`i'DM`iv3/E`i%~O#!"4!! 9^#Vʹ'"v3{.s!"4!*v3{.ʅ("v3*v3(! 9^#V!S.ʧ!͠'!͠'{.! 9^#V!S.!͠'{.!"4(!! 9^#V!S.{.!"4(!!!! s#r!# s!$ s*v3!& s`i!9^#V!s#r! 9^#V!S.#!% s!!9^#V!s#r! 9^#V!S.|;"(!q*!9N#Ft#!& ^(!͠'(!!% s!q*!9^#V)))/DM! 9^#V! 9^#V! ^#V`i^)0^#VO*q*!DM!9^#V"x3*x3&^(*x3$~y*x3$^!.DM! 9~#fo/\! 9^#VBK! 9^#V*x3$y(!! 9^#V`i.>."z3|*z3! 9^#V`i*x34$"|3|(*z3*|3...PY*z3..PYDM`i! 9~#fo/! 9^#V`i.! 9^#V`i*x3$(`i(! 9^#Vq*!9N#F́#=!! 9^#V! 9^#V!$ ^!)!$ ^! 9~#foS.!$ s{‘`i!~#fo#s#r!q*:3!}2~3!}23}23!~3! ͠'! !͠':3o&{.!}23!:0o:3o#}23&~3#s!"4:3o&DM! 9~#foͶ.%! 9^#VBK! 9^#V*4~3)`i*4"4`i:3o.}23`iq*! 9N#F!"4u*4#"4*4! 9~#fo͵.ʪ!9^#V͠'`i#DM+s!{.ªn*4q*!9^#V)))/DM! 9^#V! 9^#V! ^#V! ^)0^#VO*q*!DM!9^#V"4*4&^(*4$~p*4$^!.DM! 9~#fo/S! 9^#VBK! 9^#V*4( p(!! 9^#V`i.>."4|*4! 9^#V`i*4<$"4|(*4*4...PYDM|!`i*4..PYDM`i! 9~#fo/ ! 9^#V`i.! 9^#V`i*4(  (`i(! 9^#Vq*!9N#F́#͵.H !! 9^#V!$ ^!!9^#V)!"͠'"4|ʀ !!$ ^! 9~#foS.!$ s{² `i!~#fo#s#r!q*! 9N#F! 9^#V"4*4+"4#| !`i^! {. ! !͠'`i#DM+^!͠' ! 9^#Vq*! 9N#F! 9^#V"4*4+"4#|T!`i#DM+^! 9^#V͠'-!! 9^#Vq*!9^#V)))/~…!!"4*!9^#V)))0^#VBK!9^#V6"!& ^(!`inc.s!͠'!`inS.s;"(! 9!! ^#V-*+*!$ ^-+͆++*͆+*I"!"4*.%"!!("!!# s! 9**͋-ʄ"!!! s#r!$ s!"4*! 9*-S.!$ s! 9**,-!! s#r! 9*q*!9N#F!#͠'`i!~#"!!$ s!`i!~#fo+s#ŕ# #!!"4*4/>#*4+"4^!͊.;#*4#"4>##*4!$ s!{.p#`i!~#fo#s#r!!$ s!q*!"4q*!9N#F!!͠'*4PY͊.¶#!! ^#V*4͊.$!!͠'"4{.#*4{.#!"4!!!͵)!"4!*4|$!`i"4!! ^#V"4!q*!9^#V)))/^͏*!A$͏*"*E1!"E1*C1z$*C1!4l$#4*G1+"G1}B$ʊ$ʊ$o&"4*G1q*!9!29^#Vʹ'DM(!9!͠'DM(`i{.$!"4!!q*!9N#F! ^#V+))"4&! 9^#VG%"4|C%*4PY͊.C%! 9^#V*4//%*47%! 9^#V*4)*4q*!9^#V###>.#"4*4"4|z%!4"4"4"4*4##^#VBKÕ%`i"4! ^#VBK! ^#V`i͊.&! ^#V`i^#V))PY{.&! ^#V*4{.%! ^#V##^#V"4! ^#V^#V`i~#fos#r! ^#V##^#V! s#rÕ%`i^#V*4 /ʡ&`i^#V*4{.D&! ^#V*4##s#rÉ&*4))PY"4*4*4##s#r! ^#V*4##s#r`i^#V*4.*4s#r*4`is#r*4"4!! s#r`i`i*4{.&!͝(DM{.&!!`is#r!! s#r`i&*4DMÇ%q*!9^#V!"4*4##~#'!*4DM '! ^#VBK`i*4/?'! ^#V*4/s'! ^#V`i /p'*4PY/s'! ^#V*4/s''! ^#V*4##s#r*4! s#r`i"4!͏*ͣ'͏**C1DM*E1og!9N#F#^#Vkb6#> 6 #='>6#='yx( ' '' ͑((0_zW'/(( : >=( Ax([.(@:(ax({x(`w# .X(q(@((w#A({o|g q((w#b(&jz!|*ˆ( >?a{ 0:қ(7!9^#V*/(*4}|(*/"/|!=!9}_|#W"4͏* o&͏* 20:C1 _͏* :0_!9)!9F+N+V+^+~+ngx=)=)=)# ()og!9V+^+~+ngw[)#P)|!9s)!9F+N+V+^+~+ng対ʅ)#})xʖ)wʖ)# Å)w|!9~#foʱ)#è)}!9^#V#N#F#nx)s# )! 9F+N+V+^+~+ng *)} *!* *++w x*ɯ*~# x*!9~a4*{4* o&!9~AJ*[J* o&DM!99`iO*|DM!99!i*`i~# x„*!9*C1~#¥*!**|!p1*!h1~#~#~#~h1w#w#w#w!k1*j1*h1"p1"r1*p1*h1"p1"h1*r1*j1"r1"j1!h1>w#4+!h1~…-#C+z-=ɯ<k1!s1~Ow+k1!s1P+T++u+h1!p1#+h1!p1#¥+h1!p1#¹+h1!p1#+h1!p1#+!h1~/w#+:p1?*h1*j1)),,=,"j1"h1",:k1:p1??,W!k1~w+3,,,!Ny1+h1A,p1A,yͭ,.+h1A,yp1A,ͭ,l1!h1w#ƒ,.+ͭ,ͭ,l1!h1w#£,!l1w#³,> !h1~w#,Ol1!p1#,y,!h14=»,=!-!h1~w#,Ol1!p1#-y,,l1!p1#*-!h1l1~6#=-> !h1~w#P-m-h1!p1#d-=I-X+ʅ-!X+z-!)) . =.}{_;.|F.|7g}o!.{_;.)6.}{_;.|g}oF.|g}o|/g}/o|g}o|g}o|ʔ.Å.}….|ʔ.!}”.|ʅ.!}|.}|?>o&zo&|.}|>o&|o&}/o|/g#}}o|gBK^#Vz/#y.###.#x.#~#fo}|>?o&}|>o&rr+ww+a a+ xx+4???????????V0V0\0\0\0\0\0\0b0b0h0X !! 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ 4???????????V0V0\0\0\0\0\0\0b0b0h0X !! 00000 @@@@@@@@@@@@@@@ @@@Z3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǡZ3ENV͵n, Version 1.3 (Type :0ͨn at !Tnh) Disk Space Utility Syntax: ͵n [d:] Where 'd' is Drive Letter A through P!]~ +~ <=_2A2: 08!.*:?##~2$###^#V1I |2~ʀ>2|~w882RÀDMXDisk ͙(O#:#* ͣ(:|(8M= !">2  ͨґ2MaQھ QAA?OK91"~#fo"* ~#foc̀ 1I>2  :2:0 O>2y=z:1:9I7N>j 2͔:Yp2u>2:1!_~#fo D v:K9ͺaë*5**IDM=A:<2O:c2*#"*+"|>2:  "!K"9*|FM:pFJ :po&">2*|WM:pʏ:p+=Z:cGf+|b*|}}o|g">2ͺ*+"|ʿ:<2O:c*#">2Ï2agoG@0  ͨ2 ͨ2:*"!cr̀ :*"!c̀ !rj# G:*p" *"!"< > ͥ*>2u!#"9:O1ͺ*"9:<2O:c–2:O1!#"9 *"9:<2O:c2!n"9ͺ*"9*+"|r:<2O:c!#n:cOU#8 62*#"r:u=2u‚` a& a :K9ͺ͖aÇ>2!K"*~µ#~ʵ+>w* ":=2á Will recover all erased files. Make a backup as soon as possible$:ͺ$a>2!K"*~"c*#"* "*+"|a:=2/  ̀ l! # ~0ڀ#t! ͖:O:22 ~ ڶ¼:>:w2>2+¤>2 ~ :>:w2>2+:!F͔! # x̜~ >:ͥ#*w:3!a͔͔*j#"++++|Dy2x2*"!""*p"ɯ2*h*~ڕ+~ږʖ>2++~>.ͥ:>A22  !~â͔͔ :_͎!|̀ !b̀ ͹¢1IK9ͺ >2!K"*~c:2$ 9:a*#"* "*+"|a:=2:$ ͎*~ _*#|̀ ͉ {<ʩ͛!̀ |2 }2 ! ̀ !_̀ ! ~ͥ# ͔{< Ä5=9A   a:2:*>w!K9E*~"M"O"Q*"S"U"W"Y"["]"_"a~# € ~# ‰ !K>w# › :9  Y *"!"< *p"> ͥ*K9*"K:2M *+"|+ :<2O:c 2*#"> ͥ* < !"*"*p"> ͥ*9ͺ**|u }u :O:x ͬ *+"|a: ͥ*V !N* :ͩ * :ͩ> ͥ> ͥ!H*5*=*IDM=E:eO*h)  ":f<2:cG+|3 % ! " a!"!" "  *|x @p !" " x >$2~ :c2< !"> ͥ*K9 :ʪ : ͥ*Ý :a*5*=A< *p"!""" *":29*> ͥ*1Iͺ !5T :2*#"*#"*+"|ʏ :<2O:c6 2*#"> ͥ*6 :a21I:  :_͎ |2}2!| ̀ {<µ {{*p"!"K9ͺ ʚ ʚ >2!K"*#| ͓ K * "*+"|ʚ :=2 c E:<2:a*>w#&:o))))!̀ :=2 # Ó  a:o&))))!̀ :=2û >A22:<[ 2*>A2:<2*:<2M!=_N#F*| } :=2*!q#p*S*U*W*[*Y*]*_*a E:<2:ao))))!̀ :=2  ͳ ͳ ͳ_ͳM ͳ:{_:͔!*͟!:ͩ!͔͔!K"~ͩ͟# ~ 1>.ͥ# '"xK~Kw͔xZ*#"*d!+|if͟*͟~ͩ͟͟ ~ͩ͟~ͩG0:ںOͥx0:Oͥ|ͩ}ͩ~ͥ~#{O~# ®ê:_{" {5!{@*+"|{Kr M M M M M21I͔>222>*ͥM |!|> w#•!w#¡ MAKE FILE FAILED$ WRITE FILE FAILED$ CLOSE FILE FAILED$ CAN'T FIND THAT FILE $  M CAN'T OPEN WSO.COM$ A File With That (Seed) Name Already Exists You Must Use Another Name, Enter 'CR' when Ready $ M FAILED TO RENAME FILE $ M FAILED TO SET ATTRIBUTES $ M BIOS READ FAILURE$ M DISK WRITE ERROR ON ERASE $!*M!)*O 3a!;*M3!G*Oa:|e BAD???BAD CP/M Disk Utility Functions Ver. 1.04 Enter a Drive To Run Tests On A: to P: $ Program Options 1...Dump Directory on Screen 2...Display All Invalid Directory Entries 3...Rename All Invalid Directory Entries 4...Remove All Invalid Directory Entries 5...Test Entire Disk Surface 6...Remove Bad Blocks On Drive 7...Select Another Drive 8...Read System Tracks 9...Unerase All Erased Files 10..Disk to Disk Copy 11..Dump Disk on Screen Enter to Quit Enter Your Choice... $ Do You Want to ECHO this on the Printer (Y/N) $All Bad Files Will be Renamed in Increasing Sequence From a Seed Name You Enter, With a Default Extension of BAD NOTE: Files With Bad Allocation Parameters Will be Bypassed You Will use Option 4 to Remove Them ( Remove Option) Please Enter Seed Name of 5 Chars. $All data on selected disk will be DESTROYED Enter 'Y' if O.K. to continue, or 'N' if not $ TRACK $ $ TRACK SECTOR TRACK SECTOR $Please Enter Name for this File $ You may not use the SYSTEM DRIVE for this function $Please enter drive to copy from ( A: to P:) $ Please enter drive to copy to ( A: to P:) $ Sorry but those drives have different characteristics $ The destination drive did not copy the data correctly. The copy operation will terminate now $Enter starting track to dump in 4 hex digits (eg: 0000) $SECTOR # TRACK #--------------------------------------- DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter starting track to dump in TRACKS REMAINING====================TR@ #---------JUNKY ------------------ DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter starting track to dump in TRACKS REMAINING====================TR@ #---------JUNKY ------------------ DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter starting track to dump in TRACKS REMAINING====================TR@ #---------JUNKY ------------------ DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter starting track to dump in TRACKS REMAINING====================TR@ #---------JUNKY ------------------ DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter sBAD BLOCKS========TR@ #---------JUNKY ------------------ DIR# USR EX R DIR# USR EX R File Allocation Map Not in Data Aree ata correctly. The AAy operation willerminate now $Enter starting track to dump in TRACKS REMAINING============yZ3ENVCRUNCH28Z UNCR Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |‡ås 1P 1> Ͷ2 2 = * ~  " 5: ̝# " />2  : –K 0,éb > Ͷ!= ͻ2g 0v g (.('([ ͝: –Ñ2' g og g" 2 c  g (Zb.(k :' g 8(5  g 8($ />2 [ g $ g : g (ïg  g 2 g ڲ: ͚/S" b1XW V1.1, COPYRIGHT (C) 2007, UDO MUNK !q,s#r!q,s#r * *!q#p -^,V*!q#p.6!N* ~ʙ!N* ~_*!4o!q#p.6!,O> !N,Fz/W{/_!>yOxG}o|g=|W}_;0 !s !N,F;!q#p.N. !Ny-5ä.6>!QN. ~ J!N. ~_*!4#>!p6%.X^,V6p>!N*Z ~!w-4,~!N Ž,6R!w°.6,N%. 6!~~ ʑ~ -N%. 6!4~-N%. !Ny-4Ñ!6!N%. ~U!N%. ~!c$.4R$.6!N%.c ~O!N%.c ~!^%.O~F!4R!4-4>!X^,V6‚yFILE NOT FOUND$jUÒ*Z~!`w-6!_N*Z ~ !`O~-/ү4Í4,~-USAGE: FIND FILE STRING$UÒ.a6!`~-ON*Z ~!bw^._4.aN.c !_N*Z ~wE~A/O>Z/7-N.c !b~ E-N.c !bNy!_4.a4.a4N.c 6̈́ʒ*\#"\Z!\N,F͚À: $}UeBZ*v\ 0͚, INbY(>Ͷ>YͶͫ~#Ͷ>  2*O :֬80 !" 2@8>@2 ơ2 * }(!~ !$^#V{( #:2 :2 :2 :2 :2 22 2 : 2 2< 2a !]~/ += :i2< :k, :y2a :{, :l2b !N>[+x\ͳ := : 2 G:b : 2 2 2 G:< O:a 2 >?!>  (2 2 : /2  >/82 0|S(D 2 h͝ =  ,2f: _!!" :Gƀo&> ++~/ +~ #( yA6# ~S(Q(I( T(C(E(O(!  ! ! ! (66=S = u<7 = u}'s ~#: =2 ̄ ͫ 9.: ¹  , ,}2 (!97u,u= u >: u= uѷ : (͝!b ͻ: #ub u<('͝<(ͫ7: ( : ͫb uu< <2 b u: I = !͵ : (! !  ! n b !ͼ >f>guOu={' ͗8: : 'G  x:  ̓ ̓ uX,ub u KQ͚: ͫ5M͚<ͫ: =_u%[ u: =_u* " Ñg2ub u{/<(G> B%D ͻ:  :a :< _: ( {2  u u2 u<2 * O "  > R [ ͝!b ͻ b uu 2Yyx/Gy/O>j 8B= !" ͫ u > Ͷ> Ͷ_u͝>͝ ͣ͝"͝͏&͝͏/͝:mh͝:mh͝:u͝͝:{ą͝'͝: ̫* ͝* +}>sĶ͝Ϳ { :>nö>fͶöÝ>IͶ>nö>EͶ>xö* }>uʶ>iͶ>rö!~ !~ Ͷ#+F#~# : @Ͷ x 8  0x0Ͷ0Ͷ>:Ͷ >.Ͷ> Ͷ~# ( Ͷ!" u= u!O= u(O* |ɇƀo&:  ~: G(> ~O#* #" Bu2* #" !3 ͫ u(u ͫ2: : =G:& (* #" !- ͫ>$2. ( ͝> 2. : ( ͝:& A[ * " p> Ͷ͝:% !: * > ͶͶ* !DM)jJ)j)j)jJ)j)j)jK Q<#~ Ͷ* >)Ͷͫ<<<>kͶl}l}l}l}(0Ͷ0Ͷ! (!9 Nq# # 7K C !bkVF xs{ _zWK C x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$." !w[ * 2v 2(7ɧ22 2(88>>2O2Ga*  ͬͬ x B2O2!!!!G: G6,q,p,(y/,w,,2G7*  33c88 (OFɷ( =GyF>Fg LZH coding Copyright (c) 1989 by Roger Warren. May be used or reproduced on a non-profit basis only. >>>>7*  !;;s#r# xˆ!;us#r# x›!;s#r# x¯!;: N#F#~#~# x!:s#r# x!' :;s#r#s#r# x!"% #"*# >%>%!9N#F! N#F!; 4^#@4V##~+Q~###~+Se~S+w+ws#r)^#V!' q#pzڕ™{uҙ#q#p! ~s_#~rWDM!' q#pz{u#q#p! s#r!' N#Fx4!u!;^#>>t{! w#w~#fo#|g}!; w#r#+|!:v!;^#V#~#fo!; +z+K\{KPY}O|Gʘ!; T]+~+ xx! T]+~+ xŽ!; s#r! s#r+|5u ! ^#V!' q#p>>t#q#px¸>2 " 2 : 1g vg w1  g g g g ~2 !" !6 # xU!|}́M!qzWbˆ}DM#{ozg!~ẃ#|g#|g xœb*oDMxyu) )N#F! SN ) n&))))))>?o: @w! 6#w>=2 * )" >o&wo&: O>l)=g* }o|e." eo!9" !q*#zڟ{* +|ھ±}ھ|¾}ѷ7$!x N#F#^#V#* s#r;; ' % # -;5w' ' ' ;;;8;H;p;' Srog ! 5." >PgR" |gs 2 >2 !" v (>> >>>7{ ɯ G>8%S @! >8 * : ͌: (@* 9: gk~ >2 * : ͌~V|g^z @|g~|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 (Oɷ(=Gy>!9!͌< * T]>w6@>* w}eo0 $:  : g: G}/< OT]>(* : GzGK>(+|0gr|gsBO ,L}Z8 90)))))lg UU|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 ØZ3ENV V version 0.6 __UP:,PGUP:< __DN:. PGDN:> LEFT:LRGHT:RBEGN:B_END:EGOTO:GSNXTF:PRVF:EXIT:V commands (in addition to Z-System arrow keys): 1 line down . SP ^N 1 line up , ^P 1 page down > CR ^V 1 page up < ^Z n pages digit n pages digit right R left L beginning B end E next file ^X prev. file ^R goto/search G exit ^C !!!! v~#_Hello||d 008z0 A~#\ ~#* !8O! *͚*͚*͚*͚* ͚*͚* ͚* 1~2#~22X45!z Insufficient terminal suppors#r#~#\ #. O:ga{_r:Y :Y<:Z2WÅ:Z=* |~2Y#~2\#~2V#~2S4( (1:=Wͅ+1~#s:] / :^4A!Hx<2x>vE>(>p<!|^#V#|( >_0!6"2 22>2+ * ":l!_~ :x=#͘>|d(s#r#~( ( (#6#6~# ( (+!~G ~a8{0_w#w!_2 < N#F#5_͘\͘î: !o$ #"z:O !  *z?( # *zG (*"~x DM~ `i": zx!d4YzView files again?:+ 8"(8*͞> 22+ õ8 *͞2> 2=͍:( ͍(͘2 ɯ2͍͍(((͘!~W   i { / , >2 Ç   Checksum erroInvalid Crunched FilCan only uncrunch version Stack OverfloFile shortInsuff. memor* ~#" }+\͑}o ٷ* %w#" %}  2%*}#" :%> s { { !*" %s : R 2%2h2i2j2|=2 !" *."!+" !*" %2h2i2j2! v  ( -.( 8ٷ([ ! 8 ~ @ @ 2 p >2 ͜ =s : >2 & 14S 1 G ͍ ! > :  , <2 S 1 G ͍ * :  , {("= 2 go" ͜ > 2 >2 =2 _ W* : R[ @ 1z|2 > 2 2 ~= V|g^z ˪͖ |g~d |g~2 * : * |2 : G: '[ 2 z={((7 3 788(Ou * O " ɷ(=Gyo >o > 2 ! < ! 2 !2 xX L~( : V|gnz==2:2:O: A]O>=2yO*0##^#Vz(y2z>({/=2%n*: |go"%.|g""9ͣ>0=2 *k.)| >2%swx2\2:2]:=2Z!Y2^=2_se!f~Q> =2m~Z> =2n!m2o2k:92[!"`:m(Ͳ  +2m2o:n(!(n4  2n2oX*.{e![~6^Oͩͬ/2xy18:څͲʇͼ:myDʨʫʷ*b:n(:% &* "`>w+6 #1ʿOx ګ ‹¿Õ:mY:O!\~0N~w#~wxx:^<>:!\w#w}*}|:kx(x(k<:d=2dx+>>Õ:X:k>2k«x ;.ddk}"d>2d3:Xxʮګdd.k d.kx2k"x;:mĠ:^Áx *:^*:_*:_=Gk( 7}&}o:^G}W+O> #  #TC͎A.:m(-*~!#>2k+ɯO_:\Wyұ{( k  :]=Wy01{(  k  (" ( >  8 k  :_y/<_> O_> 0 $:<2> $:m( fwͻ:nx;>>w}}*`0#2i"g!(2l<>ȯ2x< ÿG͎:lG!> #«  y2j:lGk6 !?a~a0 A8_($!:lG͎k(3 :mĻ#2kG=2x:m :j>ÿ̓M!Y^:m(f*g+"`&:io2kGÿ*"*"*+"`&*"*"*"*+"`&*"*"*"*"*`"*"*"*`"*"M!Y Goto ==> ? Can't find it! "`2%"}#| "}"`*<:n *b#ͣ0 2[=2kÜ*}͏*:%G!%6#6#6#s#r#{ƀ_0:% :n((n4 2[2[*[!%F# ~# ~#(##T]~#fo:%G:%(x2%!!%.͒:%([ %ͣ(0[ % [ %ͣ8[ %q:n( !*\!)͑[}s#r!zz Internal cache erro!%F##z+8 ~8^#V+####S %!%F##z+8 ~?8^#V+####S %ɾ# ɾ+ a{_! "!"b\կ2h2< !"z Can't open#*}"b|!"`!Mz Nul filͅM!ͱ:o( !!YFV vers. 0.6 -- type '/' for help. File: -->H( xA.yg>:.!]>..~ .#:Q2[x!|4! !!|Ç - quad-directional file viewer (Plu*Perfect Systems) usage: V filespec1 ... filespecN filespec = [du:|dir:]filename.typ, '?' and '*' ok To search forward: "Gstring", or "G" for next match UPPERcase matches exactly lowercase matches lower or upper '?' matches any character  ~(# ~ # 2͡Ev22Hy2~: #~2: 3#:((;( : :ѯ2~2: . # ::w* >?#?w#!4(s#G~A8@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-* |(~* ^#V#~ѷHCK5Y _X__ _OG&d}& }͉͂00|.,0g} @(> 7~(w#@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-Z3ENV!!!s1*  :]/Y XTCAP is an interactive utility for adding the following extended TCAP functions for ZMATE to a standard TCAP: delete line insert line clear to end of screen Before invoking XTCAP, make sure you have looked up the screen codes for these functions on your terminal.  < The current TCAP is inadequate to run this program. ! ( XTCAP Interactive Extended TCAP Installer for ZMATE* ~ 0[͌The current TCAP appea org 0100h ; do the print call ld hl,msg call vprint ; exit back to the operating system ld c,0 call 5 halt ; Print a null-terminated string to CONOUT ; HL = Start address of string vprint: ld a,(hl) cp 0 ; terminator? ret z ; return if so inc hl ; bump string pointer push hl ; and save it for later ld e,a ; E = character to print ld c,2 ; C = BDOS conout call 5 pop hl jr vprint msg: db 'Hello',0 Start address of string vprint: ld a,(hl) cp 0 ; terminator? ret z ; return if so inc hl ; bump string pointer push hl ; and save it for later ld e,a ; E = ch No room in directory -- aborting *  ͕ \͊ (A* Error writing the file (disk full?) -- aborting ?E * New TCAP file successfully written to disk {"!6OGx(G?w#w ?ͤ  "y( +w˯w*w# "*!~#ͤ ];=G Q DEL  ESC  SPACE  0 _>^ͅ>@ͅ> ͅ* ͆"~# ͺ͙~#( ( ͅͺV#^#:****:W~(ͭ *[(  :; %-%( \ ͬͅD(K2(B3(:.(-+('>(R(I(N ү$,}lg0gͅe.||d͕  ͕ 008z0 Aą~( #\ ~#ͅzO* |( +~(G  " |("|(&~!8! V V P !6# s#r#6#s#r#s#r#~#\ #2ͧ͜ ѯ2 Í ͪ *~n (#p*:2͜>2ͧ \ͧ  :2!Q :2"~n (#"I \ I l222. y2 ͒ ~2: 62#:(ͺ ( ( : ͺ :ͭ ѯ2͒ ~2: . #͒  : :(~!8 n (#= :T * >?ͳ #?̳ T #!4 (s# G~A8@0b2#~ ͠ ~ ( ͠ 8#~  O u 052 - ( #( #(  2 2~# (+COM~!8=_.:,<>ȷ;ɯ~T (#͠ 8Wy888 8 8Oy70 ?ɯͭ  > . y. , -  * |(~* ^#V#~ѷ" . (G! N Y +X++ +OG+(++< +< +< +F#" ##( ###* #~#fo #~#_6Ĝ+~# ~#(3 ( S ( ( (  y( yG>GO> ͅ9Å?ì. E:gRhʅ>^ͅ@ͅ 0 Oy. ËO:g͛~(ͬw#a{_ Z3ENV!9"/ 1/ ! * |)~2, Version 1.9 Z-System Address Locator:]Z  Syntax:BͿ Gives the addresses of the CCP, BDOS, BIOS, and, if active, the lowest RSX and the DateStamper.BͿ Z Adds all key ZCPR3 addresses.2 System Elements Base Addresses >-IG>-Ik?$r*BCCP͖Qҥ͙?$<B$ì*BBDOS͙͙B$<E$*.BBIOS͙ͻ!*.Z!9"m 1m :X>2Z5*^#V* s#r>2Z8*"e[~#E*" *e#m|Z_+" *e͟**eF#zhistory: list toggle in BDOS not found -- ignore requests to flip it >2D x…~…^#V"B ~!E >w#x>Mw# n x4w+ '͟"! "K![+#{zyYuhI#Io [#{#zI+~#~I+~w#~wI|/g}/o#!"*12:&.6>*a*" *^#Vs#rE * *s#r:Z0history: history daemon loadedUhistory: history daemon re-loadedUʇhistory: history daemon not loadedU*^#V"^#Vq#phistory: history daemon unloadedUhistory: can't locate BDOS jump vector in BIOSU~ %#* k#_GU88L*m vHISTORY y d: ʍ: d>2 " !9"m 1m ́ *m * _ʾd Ԯ>^ͮ@ͮd *###~E#~X#~: G?~5 * 2 2 CG: O: x  ! * *D DʞʓʓG: xjC* ~!: : _: 6G: xJC C  Cͬ C Cͬ !C: O: <y<2 * U: =2 *  " : O:  gJm* : G~ʐ zC: 2 C: 2   d: ( ʼ,  d6  dC:D C*B >wC#~+1H0G: <2 * = UF : ?* =  =: G>0ͮ> ͮ F &* 6+6ä: * _: O: G>ͮ~2 >ܮw#x: > ܮ> ͮ~ > ܮ>ͮ~ >ܮ: >ܮ>ͮ~ >ܮ#³>ͮ> ͮ>ͮ~ >ͮ> ͮ>ͮ: =2 : =2 : O* Y: >ͮ: O: VGw+'w~#5#>ͮ~ >ܮ#A[w: <2 : <2 : O* Y~2 w: G~ : ʨ#~#> ͮ>ͮx>ͮ~ >ܮ#·: #~#>ͮ~ >ܮ#: <2 : <2 : G* : O: ʖ >ͮ ~ 0 >ͮ # y2 : * _* : O: Gw#P : G> ͮ_ : G>ͮl * : O: G>ͮ~ >ܮ# Ü J– : O2 : 2 : =* _>ͮ~ >ܮ: =2 : O: * Y~: <2 . .      * #}+ |+ * * +}C |C * > ͮ> ͮe : =2 ~# ! ~z X >ɯ2 ~ >2 ##" !E " >" 2 ʭ *  " 9: O *  " * : GS : <2 O: G x2 * +: w> ͮ history: now saving $all$only CP/M$ commands $G>ͮ~ >ܮ# Ü J– : O2 : 2 : =* _>ͮ~ >ܮ: =2 : O: * Y~: <2 . .      * #}+ |+ * * +}C |C * > ͮ> ͮe : =2 ~# ! ~z X >ɯ2 ~ >2 ##" !E " >" 2 ʭ *  " 9: O *  " * : GS : <2 O: G x2 * +: w> ͮ(None requested)AA Ambassador ADDS Consul 980 ADDS Regent 20 ADDS Viewpoint ADM 2 ADM 3A ADM 20 ADM 31 ADM 42 Apple //e ALS Apple //e MS Apple //e PCPI Apple /// Bantam 550 CDC 456 Commodore C128 Concept 100 Concept 108 CT82 Datapoint 1560 DEC VT52 DEC VT100 Dialogue 80 Direct 800/A Epson GENEVA Epson QX-10 General TerminalHazeltine 1420 Hazeltine 1500 Hazeltine 1510 Hazeltine 1520 -- HIST197.ASM -- A CP/M memory-resident program to recall and edit previous commands. CONTENTS Introduction A note for CP/M 3.0 users Tutorial Warm Boot survival Other changes Save-CP/M-only option List-device toggle Slimming down the daemon Emulating VAX/VMS Details of changes (1). Use the arrow keys (2). Nondestructive backspace (3). Cut down the buffer size (4). Omit some comments (5). Increase number of command lines saved (6). Use one master buffer (7). Insert/overstrike toggle Reload command Other corrections to version 1.9 Size of daemon loaded by HIST197.COM Auto-load of HISTORY on cold boot Difficulties INTRODUCTION HISTORY is a "daemon" (under CP/M 2.2) or an RSX (under CP/M 3.0) which can recall the last 9 command lines for editing and/or replay. The standard editing commands resemble those of WordStar. You can flip forward or backward through the saved commands or you can get a numbered screen display of all of them, for recall of any one. Multiple commands on one line are allowed. The public-domain utility EX.COM (usually called EX14 or EX15) is supported. HISTORY.LBR was written by Stuart Rose, co-sysop of Starling CP/M+ RCPM [(416) 624- 4935, 300/1200/2400]; version 1.9 was released to the public domain in December 1986. HIST197 is a variant of version 1.9 which occupies less space, yet can recall up to 23 commands. It offers close emulation of VAX/VMS 4.x; for example, the arrow keys are enabled for cursor movement (left or right) and for flipping forward or backward (down or up). Additional features provided by HIST197 for CP/M 2.2 users include implementation of CP/M's CTRL-P toggle for printer on/off, and a choice between saving all commands or only those directed to CP/M (CTRL-O toggle). The HIST197.COM file in this library is set up for CP/M 2.2 and Kaypro II arrow keycodes. (Other arrow keycodes can be substituted -- patch locations are given below.) To save space in the daemon, multiple commands on one line and certain editing commands were omitted. These can be restored easily by making minor changes in the source program, HIST197.ASM, reassembling, and loading (ASM.COM and LOAD.COM can do the job). The rest of this document explains the rationale and implementation of the new features. All are optional, selected at assembly time by logical switches grouped near the beginning of the source program. A NOTE FOR CP/M 3.0 USERS HIST197.ASM includes an assembly-time switch for CP/M 3.0, but HIST197.LBR contains no .COM file for CP/M 3.0 because I lack the software to produce one. Interested 3.0 users should follow the directions in HIST30.RMF (included in HISTORY.LBR); you will need other program modules contained in HISTORY.LBR. Be careful: some of the methods adopted in HIST197 that are appropriate for CP/M 2.2 may not work with 3.0 (e.g., the save-only- CP/M option). Other options may not be intrinsically incompatible, but with my ignorance of CP/M 3.0 I don't know how to incorporate them correctly. In particular, I suspect that the setup for the CTRL-P toggle and the one-master-buffer (i.e., the modified code between "gotone:" and "iniend:") will cause problems because this section of the version 1.9 source program is totally omitted when CPM3 equ YES. TUTORIAL This brief set of instructions for HIST197.COM will help CP/M 2.2 users without access to the rather thorough manual included in HISTORY.LBR. It also tells how to use the new features. Load the daemon by typing HIST197 (with the appropriate disk drive prefix). Give a few commands to CP/M for a trial. Now recall your last command with the up arrow (or ^W). You can keep recalling earlier commands this way up to a maximum of 23. Go back down the list with the down arrow (or ^Z). With a single ! command, you can see all of your previous commands, at least as many (23) as will fit on a Kaypro II screen. The commands are "numbered"; if you want to recall number n, type !n. So now you have a previous command line at your disposal. To replay it, just press RETURN. If you want to change some characters before replay, use the left arrow (or ^S) or the right arrow (or ^D) to move the cursor. ^B takes the cursor to the beginning of the line. Then you can overstrike with the correct character(s). You can toggle between overstrike mode and insert mode with ^A (or ^V). To delete the character at the cursor, type ^G. To get rid of the one to the left of the cursor, use the DEL key. You can also overstrike with spaces between whole words of a command -- CP/M won't mind the spaces. The standard CP/M printer on/off toggle, ^P, works just as it does in CP/M. Normally the daemon saves only commands to CP/M. To enable recall of your responses to an applications program as well, type ^O (even in the middle of a response); type ^O again to toggle back to saving CP/M commands only. When you need to recover the memory space that the daemon and the CCP occupy, you can unload the daemon by typing HIST197 u (or any character, even a space, beyond the 7). If you type HIST197 when the daemon is still loaded, it will reload the daemon and wipe out all of your saved commands. (If you do this be sure to give ^C as your first command -- there's a bug lurking here that hasn't been squashed.) WARM BOOT SURVIVAL When I first tried HIST22.COM (the CP/M 2.2 version of HISTORY 1.9) in my Kaypro II '83, the daemon seemed to work perfectly -- that is, until the first Warm Boot, when it disappeared. I soon discovered what was wrong. To protect the daemon from being lost on Warm Boot, HIST22.COM is supposed to change the BDOS vector in the BIOS to point to the entry point of the daemon rather than of the true BDOS. To find this vector, HIST22 does a three-byte search through the BIOS looking for "jmp BDOS". In my computer this fails because the Kaypro II BIOS has instead "lxi H,BDOS". Since this is the only place the BDOS vector appears in the BIOS, it can be found uniquely by a two-byte search on the BDOS vector alone. This fix is incorporated in HIST197.ASM; the daemon now survives Warm Boot. Presumably this will work with the BIOS of other CP/M 2.2 machines; you will find out soon enough. OTHER CHANGES To suit my special needs and to correct a few problems, I have made a number of other changes to HISTORY.ASM which are detailed below. Most of them are included or omitted at assembly time by IF tests on logical switches. A few changes are modifications of certain equates; the original equates remain in the program as comments. All my changes are flagged by **MLH or ++MLH comments in HIST197.ASM. (Those labeled ++ pertain to the one-master-buffer option described below.) Thus, some or all of the features of version 1.9 can be recovered easily. These revisions work with my Kaypro II '83 version of CP/M 2.2. They have not been tried with other versions or with CP/M 3.0. SAVE-CP/M-ONLY OPTION HISTORY remembers not only lines typed in as commands to the CP/M operating system, but also those typed as responses to any applications programs invoking the BDOS 10 service. This may be regarded as a feature or an annoyance. It's a good feature if typical responses are lengthy and similar to earlier ones so that recall and editing will be useful. It's an annoyance if the responses are brief and numerous so that the HISTORY buffers fill up with responses that aren't worth recalling, and thereby replace useful material with junk. HIST197.ASM incorporates optional extra code (if C10$A10 equ TRUE) that prevents the daemon from saving responses within applications programs. The user can toggle between the save-all or save-only-CP/M modes, even in the middle of a command, by typing CTRL- O. The daemon distinguishes CP/M calls to BDOS from applications calls by the return address on the stack -- if it exceeds the start of the CCP, the call came from CP/M. This method will not work with CP/M 3.0 since its CCP starts at the same address as transient programs. HIST197.ASM therefore requires also CPM3 equ NO for this code to be included. LIST-DEVICE TOGGLE Version 1.9 of HISTORY does not respond to the usual CTRL-P command of CP/M to turn the list device (printer) on or off. If assembled with LTOG equ TRUE (and CPM3 equ NO), HIST197 searches the BDOS to find the location of the list toggle and includes code to flip it on CTRL-P. The method is explained in a comment at the front of HIST197.ASM; you may have to change the code to suit your BDOS. Some protection is included against variants in the BDOS code: the candidate for list toggle is tested to see if it is 00 or 01, the only legal possibilities. If the list toggle cannot be found, you get a warning message and the daemon ignores CTRL-P. SLIMMING DOWN THE DAEMON The version 1.9 daemon is terminal-independent and includes a very powerful set of editing commands. This generality comes at some cost in memory space: the daemon loaded by HIST22.COM occupies 3349 bytes below the CCP (which itself takes up at least 2048 bytes); with various corrections mentioned below, the daemon takes up 3383 bytes. Neither the daemon nor the CCP can be overwritten (in CP/M 2.2), so there is a substantial loss of space for applications programs. I felt it would be desirable to slim down the daemon, even at the expense of omitting some features. EMULATING VAX/VMS Another aim was to make HISTORY emulate the particular recall and edit features of VAX/VMS 4.x that I regularly use. For example, I wanted the arrow keys on my Kaypro to function exactly as they do on my VAX terminal. Since the arrow keys on both machines repeat when held down (unlike the CTRL key), I find it easy to do all cursor movement with the arrow keys. Thus I can save space in the daemon by omitting some editing commands. DETAILS OF CHANGES (1). Use the arrow keys The HIST197 daemon recognizes a second set of keycodes for previous command, next command, character left, and character right in addition to the keycodes (^W, ^Z, ^S, ^D) already built into version 1.9. This second set is equated to my Kaypro's keycodes for up, down, left, and right arrow, namely ^K, ^J, ^H, and ^L. (If one set of keycodes is all you need, you can make the daemon 20 bytes shorter by commenting out the second set of tests.) Note that ^K and ^J are normally assigned to DELCEL1 and DELCBW1, which invoke delete operations. I don't use these commands; if you want to include them and still retain the Kaypro arrow keycodes, you must equate DELCEL1 and DELCBW1 to other keycodes. If your arrow keys generate codes different from the Kaypro's, you should equate your keycodes for up, down, left, right to PC$CHR2, NC$CHR2, CL$CHR2, and CR$CHR2, respectively, before you assemble. Alternately, you can patch the HIST197.COM supplied in this library; the locations are, respectively, 058Eh, 0598h, 0570h, 057Ah. (2). Nondestructive backspace HISTORY 1.9 interprets ^H (BS key) as a destructive backspace. I don't want the daemon to make a destructive backspace when the Kaypro's left arrow (^H) is pressed, so in HIST197.ASM the lines "cpi DELCC1" and the following jz instruction are commented out. The DEL key is still available to do destructive backspacing when needed. (3). Cut down the size of the fixed-length buffers In my first attempt to save space (version 1.95), I reduced HISTSIZ from 128 to 32 and saved 970 bytes. For me this was fairly painless -- 31 characters for a command line is usually plenty. (The 32nd byte is occupied by the end-of-string character, EOS.) Commands longer than 31 characters are still executed properly, but only the first 31 characters are saved. This method of saving space in the daemon pertains only to fixed- length buffers (ONEBUF equ FALSE). See item (6) below for a preferable alternative method of reducing the space alloted for saving command lines. (4). Omit some commands If SLIM equ TRUE, the code for move word left/right, delete to beginning of word, move/delete to end of line, and delete line is omitted. This saves 349 bytes. Delete to beginning of line (CTRL-U or CTRL-X) is retained because the code it calls is needed for other purposes. Move to beginning of line (CTRL-B) is useful and occurs in VAX/VMS 4.x; since it costs only 14 bytes, it too has been kept. Setting MULTCOM equ FALSE before assembly saves 195 bytes; this omits code for handling multiple commands on one line. (5). Increase number of command lines saved On the other hand, I was quite willing to give up some of the savings in exchange for an increase in the number of commands saved. VAX/VMS 4.x can recall up to 20, and at times I find that even that isn't enough. With the options BUFF23 equ TRUE _and_ ONEBUF equ FALSE, HIST197 reserves 23 history buffers for recalling up to 23 command lines, the maximum that will fit on my screen. This costs 448 additional bytes if the buffer size is 32. The recall command "!" now gives an odd-looking list of previous commands "numbered" 1 2 3 4 5 6 7 8 9 : ; < = > ? A B C D E F G, but there is no problem in recalling any of them by using the appropriate symbol after the "!". (If you can do without the recall feature and want to shorten the daemon by 121 bytes, set INCLREC equ FALSE.) (6). Use one master buffer If ONEBUF equ TRUE, the assembler implements a more efficient method of saving commands. This option in HIST197.ASM allows the daemon to save up to 23 command lines without truncation, yet the daemon ends up 441 bytes smaller. In this method, successive command lines are concatenated into one master buffer, separated by EOS markers. This master buffer occupies much less space than an array of fixed-length buffers since each of the latter must be large enough to hold the occasional long command line. Stuart wrote the code for handling EOS markers into version 1.9 with this possibility in mind; my efforts benefitted greatly from his foresight. Another advantage over fixed-length buffers is that extra-long commands are saved without truncation. Of course, if you give a lot of extra-long commands, there may not be enough room in the master buffer to save all 23 of them. The default size of the master buffer is 256 bytes, sufficient to hold 23 commands averaging a bit more than 10 characters each (plus EOS). The master buffer size may be changed by modifying the equate for MBUFSIZ before assembly. (7). Insert/overstrike toggle To emulate VAX/VMS in another respect, the insert/overstrike toggle is reset to the default value before each command is processed. This way I never get a surprise when I start editing a command line. My default setting is overstrike, as in VAX/VMS; that is what I need about 70% of the time. I added a second keycode, CTRL-A, to flip this toggle because it is used in VAX/VMS and I found that out of habit I was often giving CTRL-A instead of HISTORY's CTRL-V. If the command for word-left movement is active (also CTRL-A), it will take priority. Should you want both the move-word-left command and the additional insert/overstrike toggle command to be active, you will have to assign them different keycodes. RELOAD COMMAND HISTORY includes commands to load, unload, and reload the daemon. I found that HIST22 (incorporating the fix for survival on Warm Boot) is unable to reload itself because it is mistakenly looking for the _true_ BDOS vector in the BIOS, which was cHELLO COMHELLO Z80HIST COMHIST DOCڍ\ xͤ[#R['R8.#R"' [0Rʃq#p+~# *'>K͔͜σ\6͖<\ڍ͖\2y Ѝ͖O",> 0@a{_!/ 8 ,0g}|0O[(I((.H.ES.TA.DE:>*. %4~#O(_.Command Line Error: - Z34 Error Handler Syntax: ZERR <-- Set error handler ZERR <-- Remove error handle Remove6{n4! f. Fixed Lo., Version 1.6h-KcxƇIllegal attempt to change directorInvalid directorIncorrect passworUnknown erroBad command name (file type or wild card) useCommand not found (even by ECPRequested load file not found on disAmbiguous or missing file namBad numerical expressioSource file not founDisk fulTPA overfloSegment too largBad segment addresCommand line overfloDuplicate file specificatioFile is R/Disk is R/Invalid optioCan't load RSCan't remove RS!tGO# ͡!5>!6 8(o!K/ !:/=O N#F_щ>2{ňֈdnh#: 7+ >O~# ʼnͲ~ (+t# t(ͽͽ~ (Ͳ͊áňt(x(͊~;(x(͊nA6:/2>x(: ywͽx6xx(OG T]#w++w͡ý ͽ Ͳ ~! ,;:.=6x=>> 0@O ̈́@̈́*X ^#VO> (>BGii#:*$*:W~(8*~( #\ ~#zO*|( +~(Go u "|("||(D~!8? ~2~#~2#~2:~O  !6#s#r#6#s#r# 6#s#r#~#\ #͌ N#FԌ. N#FͱͿSͿ͈d `^#R ##Ԍ-͝ ` Fɯ`###~ ##~0Ԍ### ~(# ~ # Ԍ###~Ԍ~ѷԌ~#fo*|("~#fo( w7*|("~#fo( ~7ʹ(FG~(#9ͪ~;( (>;( ~#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOO>o*oɸ#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOXZ3ENVZLT15 XABSARCARKBADBINC?ME?EENVI?TLBRNDRO?JP?DR?LS?RSYSTX#ZIPZIPZIPs 1 * } S !]~ ʓ>/ “ ##~2d!"h"f!"j#"s\: 2c:2e*"m>!ͩ (5>Q͛ (:m/2m>P͛ (:n/2n~/ #~( ͠ (#2e%2l *s} :md:l ͂͞>v|<($<(<t*h͑ t*h+ ͂t͹O :mg! 6 #pDѷ(@[(#. [([[D([ > [>[[D]( :m;244: }|D(g1 :l4!y~=W!x# ~#bxE {8~#o}oA'.ëYALPSID'TCELLOC$LAITINI!%cCOPYRIGHT (C) 1977 DIGITAL RESEARCH {{ { {zb{b{*9 {_zW}l&))o> \> \\ß*"!" ͟#͟Prںºx"x#"̀ں͇"1!6# y͟!h͟$h͟'h*̀`*̀`*1̀I ?! ^#Vr+sz`>>!@^#V#̀{ k͇#"/<͟h2**̀`i~#!~6͟*1Þ6͔h*1^#V#Þ͔{> \*/̀>*\ ERROR - FORM IS X,Y TYPE HISTOGRAM BOUNDS HISTOGRAM: ADDR RELATIVE FREQUENCY, LARGEST VALUE = .INITIAL = .COLLECT = .DISPLAY = ....r l ,þ \<=!Ͱ =ɯ2 \s 2 ! : ;! : .~<< #~<"l ~[ 2 a- {- w!O # @AA I$DBD $I$BHA"DH!""@>*\ ERROR - FORM IS X,Y TYPE HISTOGRAM BOUNDS HISTOGRAM: ADDR RELATIVE FREQUENCY, LARGEST VALUE = .INITIAL = .COLLECT = .DISPLAY = ....r l ,þ \<=!Ͱ =ɯ2 \s 2 ! : ;!) filespecs permitted. Syntax: [du: or dir:]afn.typ [. opts] [du: or dir:]lbrname afn.typ [opts] Options: 0-9 - set speed Q - quiet P - paging on off Early EOF, <> --> LBR file corruptMember: [more] ZCPR3 requiredZLT  Can't type a "" file  Corrupt or unknown format fileToo long, download file "͗ ! ͗ [ƀo`S#54( +~ɷG >8  ( x#~ ( (#~ ( *1$ "*|(~#fo+- *)^#V*|(~l (G! NW "Y ͗ X͗ ͗  ͗ OG rr# ѷO08:8y8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. = >< >< >< >71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;s#r# xK!L;s#r# x^!;s#r# xs!:v N#F#~#~# xˆ!:s#r# x§! :vs#r#s#r# x¾!" #"* >>̊*p)~#fo"p!N4#" F 4#y#x|#y#x++~p+~q"VL *p 2cNwy#2dFwx! yxs#rb#s#r! yxq#p|#q#p! ~#fo!u!L^#>ڪ>{!L w#w~#fo#|g}! w#r#+|˜!:v!^#V#~#fo! +z+ {PY}O|GE! T]+~+ x%!L T]+~+ x;! s#r!L s#r+| !L ^#V! q#p>ڊ†>ڊ#q#pxg>7Û!>2"h: S25 v0 5 0  5 5 !+ >7> 2x22A!6 # x!|9}M!qzWB}ʅ|5 DM͉#{ozg!~w#|g#|g x_' A N ÖA n&)))))ڻ>þ)>?o*4DMyx) LN#F! |g}o"p>5 72>goWo&!9"> !6*#{zO*> +}|K}|Pѷ7"!tx N#F#^#V#! s#rYCLVkv    L1 L f }LLL3GLOLj q ,ai4LD!5 Copyright (c) 86/11/24 by Steven Greenberg 201-670-8724 and C.B. Falconer 203-281-1438. May be reproduced for non-profit use only.$ڿvº >>>>7*ɯڿ'!9"!.">0g">(g/g$"|g.*|:*gz? 0! HNÝq!"k> 22!2> 2`!ƒ2go"",;!~6:ʝ,;ý";!~6:<2";*:ͪ{ºgo"2q> 2>2>2:N:g~ w*9ҿ:gk~|>2> 22~V|g^zWN|g~Þ|g~2O*$%¶ʱo%$$"&"=g}$%>$*:G:x)g:gOD~ |0g~G|gn``͇"|gq*+"|=2r|gsu*:g:w|gs|gw*#"#:2:< e2>2*6#~@s# x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> )))).))  =))))l,z={:G:OyPO{_zW7y2z77*~ |*6#(~GL~ʆ͙y*r|gs:gyg*:W|G>2xL~:V|gn:g~ "͙ô*|*#"*:G"|gp]))))o{g:g#*"D*u{ozg"!S ~# xH  x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> ))))COMMANDS ZTOOLS GAMES INCOMING AZTEC ASSEMBLY ZMAC NZCOM NDR*+"S" " " " go"Q"`2 2!2!2X2Z2]2^2c2_2\2W!*" " " " "=";!" " " " 2 2 !" ?No Start Address?Loading Error?Nothing Loaded?Out of memory?Illegal Polish Exp:!‡!!!2!!!2*S! ~ 4!>2 2Y:c2c ,/MEG@RSUXYE{ O :Ù&O†2WHO2WG:c2c:'>`͇Ax¹'"U _2:f Ğ2U!c~w:f ~w:f 2Yæ2Y*`|##yȷ#jC~@#I" #ͬ*`|#*U~ !:Y:c~ G@x k o Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft ?Command Error~P#~#  `{ +!~G #~ ex+#<~: /͔>*P d> P:e!fo>g6 7ʌʌ  y:+y#P2\2f g !  :\GO: " " " " * * " ";* * BK* * "=2 G<2 z6#z: O4ͅ {Ҏ!y yBKO!; s#r! s#r! s#rͅ ڬ! s#r!; s#ry ! ~#fo! ѵ! }_|W>2 * * <* * : <ͅ P* * W{_* #" " "=:WGO0ڗ xڗ)))ҖʌҖ)o>gdy +%Overlaying areaDataProgramÔ!! ~#fo!ͅ ͅ ͅ &}< = yy7yM7>,>#ͅ !M> _!h >?P~#P!yk!:!ʆ!; Not Found> P> P>2 g 28: _<2 !~g ! w#! wO |!y:!(͔*QDMÙ&[Begin execution]:Z:X* * ͅ ~`~¨@w+++o>GO ~+t>ʊ6 #=ƒ* ! ͮ 2X * ~O_+++y++:XK͔:c2c *Q>[P"N!C \* s#r!I   \! ~# != = = \* ͅ = *ͅ = s#r"N2 * * ͅ ʐ ʅ 2 M\: z x/Gy/O~w#~wM M" z _z! ^#V   $ 2 = ] m `i ^+V! 4* M ! 4Ð ! 5 PY\  s #r lg   # |/g}/o   DM!>= ))K K z zi  BK}o|g҄ : ʫ ͅ ҫ | >]P͔: : $>2*Q"!o&'  d   >0G /}o|g x0   > xPH>G~#' j~@+^+V$MEMRY$$PROG$COMNM*QA!Hw#] j{ ~@{ +^+V"Q! 2A! ?Start symbol - - undefinedg  ~#³ ͞ REL7*`}2X:c` j: j͔ p @p ͔`p p p * } , >wk  :`? !K * !b  Undefined Global(s) Bytes Free 2bP  ~O~>-ʑ > >/P+^+V+~P ™ /PN~ ʼ !ÿ "~ N+^+V>>PN:b?2b̔>wt :bȯ2bÔk [ M  ~++GOŸ& H+D ; & yE >  * [ S } 7~k ~~r <</_* Å |}! 6S#6Y#6M<$>* * ͅ ~O~@ +^+V > h%+~h% > h%= >~ <</O ß ͑&%|}G[h%> h%> h%:WG)0P) 60P3|L}U[P0:͔! ~#foN"N"N>>PÔRQUESTͬæ* : * ͅ ~_~@+++~#* BK" ö+++ö2!2 2 2 : go" " " 2X" <2 : * * * * *=͝QiEZͿE! ~#foBK#: =ʝ: ”* |ʊҔ}Ҕ͝p#: ”* |ʲҔ·}ҔÔ: =: Uw+p+q+p+q#Bi++s" ͇:7>[?@2g ԇx " h 5)> F6 #=>x2f y.̇p xanbʃ!p ~ ƒ6R#6E#6Ly[ҥ0ڥAҡ:ҥÊ[ʡ]ʡ@ʡ\ʡ^ʡ_ʡOb: : 2 BK|A~_q#Vp\AU: =>@w+r+s+@1: 2 r+sA: =* >jV/o/g ڮA~@w:]2^s+++~ s2^q+p:^O!;>2 }|!; s#rͅ y A!>/P͔A~W+++~P+%2nd COMMON Larger /*;" |2 * ͅ A> j~@wA7U: >8: =->G: =7>@w@w+w++1: 2 : : =r+sA!HIF5#wj~+ܾU6+6++r+sA*K:J2 fU: ;: =>@w+6++r+sA:!A>.2!2P* !J͞!g2!+}2_! w#!ڐ ‚! \" " : :Z!ګ!  w#! ¸+w2!͞A!!?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!aǗzʣ̈́"Qb! ^#V! ͪ!;ͪyک: * * ͅ * " * '* * * BK* " ͅ " " ";" " ͅ 7* * * ͅ ]!* * * BK* * * * * " * * BK* * " " " "; ~w#~wPYb>̈́BKj~@: ~@w+~_q+U: =>Cw+p+q+r+sA! ͔A%Mult. Def. Global ~@*`+"`PYb>̈́BKůj~+nN+F@‡: ›:B(b: =›zAA;|A: ›r#sA: ›|A\zA#U: =ʯ>Bw+r+s+r+sA*`#"`!7~#46+wxG ɯ2 7Y!HYH!Hw74#6 _Gw#;!T"7O<2 XP̊wwO!9 N#F 2[: ʚ2[AC( r>-: " *=>2 * ͅ A*=>j+^+V\"?Ab: =#<2 =A: A*= APY7* K" !*="=* !" }2 <2 A:[* * |G}ʼ~O©H©A+++¨+—~ y/O oHOx_Ow#2 +w+w+w+ w+w+" 7ɩ))'):B($: ̈́: r2 * * DM* " *= "=* BK" " " " * " Ͷ'* |‡}ʠ~_|!^#V* " (M\~#+>>><2Z=O! $! ^#V0y=Uy?\ͅ ?\|y! i! us#rx^#V͞! p#”* ! N#F#~#fo! ^#V  ! ~#foͅ H! {_{_~H! ^q#Vp! ~s#_~rW}&: $#qͅ {_! 6)`i{ڠ! #Yš* * 6* " * * " ͞* ͅ ҙ" ! yڬ! ^#V ڻ F#fh! ^#V ^#Vy! ^#V^#V! s#r Gyx! @s#r#1xS|W}_x2 * 2 yoxg* " *="=*?PYͅ ڙ"?: ʹ=¯* !" * * ͅ үï͝*={OzG* * DM7xw#  +x~+ xw+ : 7={O>: 7J?Intersecting wO* ͅ <26: ?Oʣ: Jͅ Jͅ J!M>,P*6&0M^#Vy!HF#~#P>(P>)P: " Start = External Public = %*"!2Z!:Z?!͙!͙! y-!* * ͅ #* " ͅ |!*Sͅ "yb!*Sͅ "ͅ ڵ!*Sͅ ڮ!!!ù!!!!!!!2 YxbelowaboveOrigin loader memory, move anyway(Y or N)?ͅ 0"ͅ D" "!ͅ D"yS": W"*Sʀ"a"Oͅ €"y*S€"! ͅ ҇"!9;;;;;;ͅ "ͅ ڣ"z"&'7"ڿ"""ͅ #ͅ #"z"7* ";* "=* *;)##+#KP*;";!* BK*;* *=l#ʮ#l#O* * " * *=BK* *="=#PY* " * " Ø#* *=#BK* * " * * " " *=" *;" ! 8$~R#~E#~L4$:c)$7$w+)$COMHEX`$  <%2 : $}$* * ͅ $!c~ʌ$ ~$:\ʲ$: µ$*Q\" " &yO: &w&%*Q|$ͅ $%ͅ $ͅ $.%>%7Ԓ%R%: %yO%>%R%: Ă% <%>h%*Q}h%|h%سȯh%zG%%z~#h%\%!: _w{<%2  %%"%yO#"%!%\%.%fh%¹%! ~+ x :_*Q:_*Q\!%?Can't save object file{{ _zW;&> A&{ H&O>:h%y Y~# c&+&>:h%G*Q >>h%!*'͞'!0'͞'!3'͞'!9'͞'##²&##͞'##¿&#͞'!z'͞'!'͞'* "'* "'* "'* "'* "'* "'&'m&'͓','V'G'V'l'|'V'l'|'V'l'|'!' N#F#^#V#~#fo|} +x~+ q'xw# |'xw# Ó'~#fo&'q#p:B(* ͅ ~'M(:J2A(*;" 2 U6+:A(wAMz(2A(7(:B((*;" :A(2B(*;r#s+:A(i(*;͢(" 2A(2B(!* p# P(!HN#*~# ^(Ar#s *){ʅ({ƀ_҅(zʞ()Å(ͣ) *)!.*ʹ)!.*V#^(((!((ʹ)(z(!.*ʹ)(ͣ)z{7.*z w#)0:ww:*!;) )+ )!1)?Segment , file not foundcan't create fileread errorDisk is full)!@))!O))ͣ)!a))ͣ)!l).***‹)*—).**0( ʧ7O-tnAw>OxpGna30.p:9`s, [`xnan=V+6Z!vm( fݰL6m GU0x(lښámѰ9{Tu2C'0+XIDW0 s<$:!vu?0\`U,f<= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1iZ3ENVSIZE TABFLAGMSGFLAGSREGPATHROOTSCANCURDUALIAS CMD!~6w;;sR( Bad load address$* ͺs1 :( 0G!-G !2O !:W 2>2ͩ2(:#2$*:ā"ÞCOPYRIGHT (C) 1980 DIGITAL RESEARCH RELIRLFATAL ERROR$l$l1 ͺ!"!6͓*~=:!ͣ !6:/::!ͣ !6:!!/ͣ < ͧv! s+p+q> ͍"̀ځ*>! q** DM* 1q>> ͍+s#r=>!r+s+q+q+p+q> ͍"!6> !*&*6!4¦:! *w* * * DM -* *s#r*"̀*":*. Tu -". u -2:~ l:\.~ -Ql.~ -dup. du -zT!"u*M: *M: !6>}!: :<2¨#u{u>!͘,T>͍)*DMTT"*%DMu{̀+s#r;'*DMu{̀N*"'ͅ>v":2T2u:ҙu͟!6>!ڙ: :<2:ҦT͟:!/Ҵ:͍ >>l͍ >!͘:/H*!*"'*DMT{T:lͪ : >>l?: &#*DMu{:2:2u͉Tp*>@O>*>@*w*~!s+q*&%*& *&%*2& "*DMT*+"*DM3T"!p+q!\#s>!s:+&:2̀&ͣ :22ͧ!s+q+q*M*͍"̀̀Hm*DM̀%*& "!6|*#:w*##:w* :w!6!6\2!:!H÷:!!6l+6**͍!6\* ^#V""!3"$"!o2ͣ :< J.< -B3!6#6!6*#s#r!6\wl!6!6!6\ʒÇ.  -›!&6:!&:&=O! N,:&<2&©**pH*#N*##* ^N0Jͭ1 Gͤͣ  <_1D**M*0G!'q:w**M0*"!6}!6:'҄Çͭ1Ҙ**͇H* >͘ҿ:'/**M*0} <_1K!6#6#6:  . - 12(:( T}L :2:2!:y :2̀y ͣ :22!""*"!6!6: *")*"*K: *: !6#6l: *)"ï !6l+6!6͔ :  G. - !"!\"!"*^#V" $!^q> !^] :^0O,h :^ AO,!_q:_OD :_OD !ap+q>`Mi !`\Mi !cp+q*bDMG!ep+q!d\+J<!hr+s+q*f&4 N,*gDM͵ DM̈́  ,*3&+) >>l!C9 < ,*3&+) ^#V*3M  ,!iq*# :iw*#"!͛o #*DMu{!"*!*"D*!s*D!s*D!s!6*!*"D*!s*D!s*D!s!6*M: *M: *M: O`iN928 "92;!j6:;!jU :j=O!< Hq!j40 *8M*9 !k6:;!kڇ :k=O!< N,!k4g  ,!lq*' :lw*#"!͛ '*DMT{*!*"!"!ns+q: ͪ :n!O> !>O:n2nO!mT!w& 8 !w:o2% & *M͍ !6!6:n!2oK :m!o>O!mC!pq*pM !rp+q*q}OY *q|OY *8M *9DMg *;M !s6:;!sھ :s=O!< NY !s4ž !t6:;!t :t=O!< N: !t4 : 2u: :* *uMi  ,*3&+) N#F+q#p!C6:? *uMY !vq "w:R:ҕ *vM*w *3&+) N#F+q#p*3&+) >>l2C:Ҵ *vM *wDMg !yq:y/:yH >!y# :y::::y8*;< -*:;2:@:<!C6*y&>) N#FG>!ykb :y/:yH҅V :y ¦:823*3&+) *9s#r:y!"+"-"/"1!36<::y<@ Gb :!:y<b :I:y/ *yM :y#~ >!y/͐ :yI:I 7:[:y[Ϳ o >á2zO>Ҏ*zM@:zá2z*zM͵:z,=>)-,),>,=*#"!|p+q*{~**{ >*{#"{>ʹ*~>~,H !6)!\""!o)ͣ !6!6ʹͼi**& w:<2cͣ ʹ7*~-w!6*~)…!6:ғͣ !6*"*~)*:º!6***̈́:*:!6!6lͼͣ Þ!6*~>ʤ*#"}!6*:3ͣ *~=X!6*#"}:X!"}**Ҁ* *}s#r*>wÑ**}̈́ͼҡͣ ʹ*~]*~D!6*~I!6*~M!6*~P!6ͣ ʹè!q!6!6*"ʹ!""!o8ͣ >͍J!"ͼҍ*~(c͆Ç*~_[],()!q: > :a/>z!/H:_2:!p+q*^#V"*##^#V"!6 !6+6:W: Q!6l<*6+: m+_Ax!!6Aڙ:ڐ!l+}::*~:Hھ!*#~A<*wO>!*&*6 '!6:.+A: !l+: !*&*\:<2O* N2!6> !i*& :b>!4F>:<2O* :w:!4~ʶ 6*#"*{zڶ!"ͧ*!~2xG:2G:p ˆx!4~ 6*#"*{z!"*!~2xG:2G x{_ C#5>ɯ$!p+q!6> !ڌ*&*~ x*&*N,:….,!4Q!r+s+p+q*DMG*DMFEͣ !s+p+q+p+q+p+qWͣ !">͍+s#r!oM*DM`:$*DM͐O>!>͍ ͣ !9*DM͠O>9ͣ *"*#"`!r+s+p+q+p+q***DMͮ*!r+s+p+q+p+q***DMͮ!p+q*DMp!6 > !*&*6!4²*DMͰͣ !p+q * 6 * 6*DM̀*͍!p+q*DM+ͣ !q*& , ,!p+q*  !p+q*!p+q*!p+q*! p+q*! p+q* ! p+q* !p+q`*!p+q*_{ozg_ogDM!>))덑o|g = DM!>))4 =,_{ozg~ D^#V) N~ U^#V|g}o `_{ozgO{ozgi`N#Fogo&og_{_z#WLIB 1.1 $REL $$$IRL $$$INDEX ERROR$NO MODULE: $SYNTAX ERROR$APDCentry symbol $select common block $program name $request $error 4 $define common size $chain external $define entry point $error 8 $external + offset $define data size $set program counter $chain address $define program size $end program $end file$FTiw(5ABORTED$DISK READ ERROR$DISK WRITE ERROR$CANNOT CLOSE$DIRECTORY FULL$NO FILE: $:10028000FE01281FFE032803FEFFC0CDD802C8CD03 :10029000BF02C021030011000113131A1B1B0947E1 :1002A0000E03E9CDD802C8CDBF02C0210900094E16 :1002B000234678B12804606918F501FCFF18D7605F :1002C00069210F000911D502C506031ABE200423B7 :1002D0001310F8C1C9504348110101211700194EEC :1002E000234604EB7E23666FAFED42D0210000A7CA :0102F000C944 :00000001FF 8' 23 6 INC HL 538 01A9' 10LX COMOMKZCM COM/PNAME COM QNZBLITZ COMR!zs# x>2*""> 2*22m~ (!"!6=h!6# p#6#> w#\"!2,l 2 *"*" "2:G :!F#N#~ :!!y~#!~6L#~6I#~6B: : !!!"͊:#!_^#VJB:Į5:($W[[0[AW:[;O8*-l>w#p#}y+>‚͖wxʒ‰y:ұ0ڱOxGÙx+N#^,>. . *4 ^*44,> *xx y6<&*6#w#w#6#w#w# yͷ >&8:7>I@*6#6 #w#8xc2jzn> ڋ6 #=y.8xڢʯã"yɯ**͋ ~OA:,,++:@7~ DM:1^+V:+++++;#x+;y;@"{ J+~+ng~w*+r+s w@f"+1+w+w+p+q+r+s+' 7*}̊*"+1+++:,:Ͳ' >@w ҴxIJ:w+ :;@~*!@"DM+1: p+q+r+s+~ wF#~# x:!>/O ü++++:w+:w7_ > >:!o>g6 !~6Gʞ#~ …wx+#ʖ~Ë2\ͬ>*>O> >2> >:ʬ<2> >~>#G~>+ú~#  ` / +#27U@L CERO3H 2:2BByʀʍB2**͋ ʬ~ġ~/_bͷ~w×ͷ~w+++r+sB:̵~,+<2ͱ!ͬUnsatisfied external request(s)yͧ 'CBɯ3xG3 73x3x!~w#4H\!">2*!"YYy   Y!ͱͱ**͋ G ~@ҫ¦ $ ÕͬìSymbol Value Defined Reference"Y"Y>͸~w+1+r+sYͷ~!i ͱ*>2' !q !~#6@>>:> / ͱ!V *z ͬ!A *z ͱ2*͋ ʒ~{$ b:9 z ͺɯ2*͋ ~@ҮĴ$ Ø:L ͖ ͺɯ2*͋ ~@$ :] üO~++~2+V+^+++V+^ ~,+ ,~/_~>#/ <2ͬ!n ͱ<2ͱ! G <2ͱ! G Common block(s)Entry point(s)External reference(s)27v ʭ 2͖ ͺ' 7v  ͋ ~ ~ͬ¬ ë: ͺͺ  ͺͺú' ,+V+^: Length of Data areaLength of ProgramModule ofڈ ~ 7,+++~+ng~|}!~#4  t6+w͑ xG © ɯ2͑ ͥ 7ͧ ) Gͧ   ͧ )  ͧ !w 4#6 _ ͥ w# ! "O:G<2ͥ Xͥ P:\ )0>) K 0>H |a }Gl x0:w >PX  |} >:> '"!7 ! :O ~>'A> y > CBy :GW> !F# W> _x GxG3 :3 "*͋ ڧ "*$͋ * ^#V+*{ʧ :<2͠ ͠ xj ~# ] * "*  " * ^#V{ʗ r+s*͋ ʗ | *w#w}_|W! >?>ͬ(Out of memor! ê Command erro! ê File read erro! ê File not foun! ê Can't enter fil!" ê Module name/number not found in fil!M ê First module in Until clause after las!{ ê Library write erro>2I< >2< eu ͧ : e2ɯ2: Ie< 2I!"! w#P w: <2_!dw: ʤ: _<2!~*w#"*' * ~#" :# !~# !w#! w#2: .ʹ y%#2 >@͸ɯ2 go":IG:~2͊څxr͊͡͡2GG ͡BI:2x2#" G:<222 :E<2!"*" ##"ʹ VVyʙV?** s#r2 w#wډ~:=222>@͸V#~G#N#~±>@2͸>2+~, *~Ÿ,:,+++~++5#N+>5+~>5:5<2 ,'2 :G~x:͏ !w#Q* "w#w**͋ ~~vw/_:,d|2FORLIB REL,d|2FORLIB REL ACTRIX <+ALSPA AMPRO-LB ANLYTCL-PRD"^AP2-CDZ180 AP2-THND/MT)AP2-TIMASTR"S AP2E+PCP-TM&*AP2E+PCPI +f(AP2E-THUNDR0]AP2E-TMASTR5s{BIG-BD-II :nBP-BIOS CCS-WALLCLK=4ECPUPRO-SSB1CçCOPYRIGHT (C) 1980 DIGITAL RESEARCH ? OVL LINKING $ $ 188!86u:8!8<:!""!""!"8*8^#V"8"9:8 ͥF6**:"9"9997.9@6997"8|!86u0:8Rv!j;q:8Xm*j;M5|:8Y|*j;M5!l;p+q*k;~$ʝ*k;NW*k;#"k;Ã:8Y±!868}!m;q:8͞*m;MW!o;p+q:8͞*n;DM}: *9#":*: ":*: ";*; ":;*+":*"::,*>;*:;":3*9#":*+"/:*"1:**:"3:*+"^:*"`:**3:"b:*+":*":**b:":!96>!9ڤ*9&:) N#F3?1!94:82 :2;:2j:2:2:2:2;2A;!96+6!96!"8!"8}28!8628+w+w!86X!"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9}29!96#6#6*8"929292929!"9o&"9|!"9!":":";"<;"9"-:"\:":*+":*+"/:*+"^:*+":!":"5:"d:":!":"7:"f:"::8*9:8=o&))8  ^#V!q;p+q!r;6>!r;2*r;&;) p;7+*r;&;) ^#V"9-*r;&;) q#p!r;4*8&))8  *9s#r*9͇7"8*8&))8 q#p:8<28O>}<:8=28<:8ڕ*8&))8 ^#V"8  ^#V"9*9DM!86#~͌ . v9\ -:9 .9 -:8v9p4*9~=͌ :8&^'*9~(*9~)H\*9~,L<͌ :8Y^'&:8tͻ'͈(!863!A"9͌ . v9\ -†*9~=͌ í.9 -¥:8ҷ^'*9~*9~(H*9~,<͌ :8^'÷:8>:8͑'ͻ'6:8͈(:8:8H,!"8:828*8"83*9~(ˆ*9~ʈl;*9~)h~V*9~*9~(H҅<G:8ʓ<*Ͳ!6~5*& 6:[],()?$!t;q:t; $> :t;aO>8:t;_2t;:t;!A"u;9u;7{*u;NOͲ*u;~&q Ͳ Ͳ*Ͳ*u;#"u;B@6!w;6> !w;ڪ*w;& :s;£>!w;4‡>*9#"9*9N2s;&íͭ:s; ͭ!s;6 !y;6+6:y; :y; !s;6Ͱ !\6͂ !!y;6͂6 :y;- !Ͱ ͭ :s;:| :\:y;HZ !:]A<2\O>n !*y;&\ 6 ì !y;6:s;.¨ ͭ͂ڨ :y; ڟ !Ͱ ͭÌ ! :y;<2y;O!\ :s;w:s;0O> :s;02s;> :s;AO> :s;A 2s;>>!"z;ͭ͂. % *z;))))*s;& "z;( <ͭ *z;:s;AO>/ͭ2 O :s;A<<ͭ2 d :s;A<:s;Zo >Z<ͭ:s;XO>چ :s;<:s;]:s; HҀ :s;S¸ !96ͭ} :s;P !96 "9} :s;D !96 "9} :s;L "8} :s;M "8} :s;OZ ͭ:s;P! !86T :s;C1 !86T :s;RA !86T :s;SQ !86T <ͭ} :s;Am !6ͭ} :s;Q€ !86ͭ} :s;G !96ͭ!96͂ڿ >!9Ҩ <*9&9 :s;w!94ͭÕ } :s;$F :s;,:s;]HC :s;C s 28= :s;I > 28= :s;L > 28= :s;O) S 28= :s;S: S 28= < } :s;Nz ͭ:s;La !86Zt :s;Rq !86Zt <ͭ} <Ê :s; ʋ ͭ!967¡ <:s; ¬ :s;[· ͊ :s; *q9#"q9!s98 !"q9?*s9DMP94*q9? ~ !N92|; !O92}; :};ր2};!|;4 2~; !96 2;S *9&9 :;w:9<29P <@6& *|;&ͺ7*};& ";!J98/L9;7/HҤ J9;7ͺ7*~;& +"9 !h:|; :|;2h\5 <@6!|6:};2|*~;&+"9*s9"q9 >!9 !96ͣ!:9T Ͱ& *; ~,*; DM͠4*; 6*;N#F*; *; N#F4!;q*;##N#F*; :;w*;##N#F+q#p*; 8ډ *;##>w#6!;p+q*;}OK*;|OK*;N#F*; *; N#F4*;##N#F+q#p*; 8͡*;##>w#6*;##N#F*; ~O`i77!;p+q*;";^#V";K*; ~y*;##>8IK3*; DM4*; DM4*; *;##N#Fq#pÄ*;##q#p*9#^#V*9 ^#V*9 ^#V*9~*9~*9>*9~*9 ^#V*9 ^#V!;p+q*9#*;s#r!;p+q*9 *;s#r!;p+q*9 *;s#r!;q*9>:;Hw!;q*9>:;Hw!;q*9>:;Hw!;q*9>:;Hw!;p+q*9 *;s#r!;p+q*9 *;s#r!;s+p+q!";*;&9) ^#V"9>7>ͅ; 8*9"9*;#";͚"9>7>ͅ; 8!;s+p+q+q+q+q+q+p+q+p+q>; 8:;HR:;a!;6 f!;6:;9 8+s#r!98҃8@6:;Қ*;DM*;ͮҚ*9"96*;DM>; 8*;&9) N#F DM *;DM:;*;DM̀*;M#*;Mk*;M:*; 8&*;&9) *9s#r.*9DM͗!;6>!;ڗ!";*;&9) ^#V"9>9 8}͚";*;DM *9";*;"9T*;&9) *;s#r!;44/!;6>!; *;&9) ^#V"9*;&b;) N#F>9 8OKͅDM͎͊DM͊ͱDM͚͊"9!;4 !"9"9"9"9*9##6*9 6*9^#V!!?!w*9##~*9##>w*9 ~!:<Hwd9w7++";*;^#V!:<Hw!d9w7+s#rè!9 8fH!<]*<*9 DM*<Ͷ)]5!<]>-"9>! !<:<0OͲ#:< AOͲ!<͎7M$::!:!;!@;ҡ::2\. ]u -\6!:6!:6!;6!@;6:::! :!i:!:. ] -½: :2\\6! :6!::6!i:6!:6*8###9 8!9!96Ê*8###9 8!9 !96Ê*8###9 87!96Ê:9r>9 8:9H:9/Hj!96o!96Ê:9!9҅!96Ê!96:9қ*9"9ô:9Ү*8###"9ô*8"9:9*9"9*9*9"9*9*9"9997997#"9!"9!96!<6>!<3*<&9) >8):9<29:<<2<*9"9!<6!<6>!<ڰ*<&9 N!9 *<&9 N!9 7Ҧ*<&9 ~2<*<& *<& w*<& :!9*9&:) N#F3:҈*9&b;) N#F"2<:<ʅ"<"<:<O>y"<29 82<ͅ"<͎"<ͱ"<͚"9Ù:9<29!3*҈:<O>}<<75O!9 8"<È*<*<"<*<͎7>766!<65/5/><͎7 ͺ7 M͙9ADM?   *<#"!<8v66!<6>#w#62<ͻ"9997ʹ/:<ұ!<6><͎7>766!<6*<#"<>̈́7)))Md9w7+s#rË>!<86666!!98*9"998*9"9997997#DM*9ͅͅ66*9DM*9ͅ66*9DM*9ͅ66*9DM*9ͅ669978 8*8|< 8¤ Ͳ(Ͳ*!9Ҁ!e=6:9!e=ڀ:e==O!9 NͲ!e=4`i)298"9i)29:9¥!96!f=6:9!f=i):f==O!9 Hq!f=4ª*h&ͺ7*|& "J9=*9DM\4*J9+"L9!g=q:g=29*9&:) N#F3!h=q:9!91 *9&9) N#F*h=3:9q 997_ *9"9997q *9"9*9&9) N#F+q#p!k=s+p+q:92l=O!9 9l7"m=*m=DM*l=ͮ ͎"m=ͽ2l=*i=DM*k=M#:k= *9Mkã *m=*i=*9*k=*l=:<$!)!"o=>7!*o="m=!l=6%!ã :92s=*l=M *m=DM:4*m=#DM:4O`i77"q=*s=M *q=*9"9997ҝ!*9 ~#Œ!*9 6d9w7+s#rj!!869*9M!ʹ!!969*9M!"9|29!D=@6*999 -!:929*99͚/,"9*9iͦ9*9Mi"!98f"/ͲR/Ͳ Ͳ+=66Ô"9*9*9*9*9i*9*9"99*9M/"9*9i*9DM̈́ 9*9M#ʹ"=R66#*9&9) 9l7DM*9MF?#9*9*9&9) 9l7*9i*9&9) N#F*9*9DM!<6@#!<6*9"9*9M :9œ#*9*9"9û#*9&9) 9l7*9&9) q#p:9#!<6*9&9) N#F̈́ *9"9>!98:9H*$:9 $=@6*$*9&9) 9l7"9:929!96:9>$i);$*$!t=6>!t=ڝ$*t=&9) *t=&9) l7*t=&9) q#p*t=&9) q#p*t=&9) >w#6:t=<2t=C$997ү$*9"9:ҿ$͘*8"9 :9/29:8$d!!w=s+p+q:w=%*9*u="u=:9$!w=6%*w=&9) u=l7+s#r*9&9) N#F*9ͮ?%*u=DM*w=Mkg%*9&9) N#F*u=*w=*9  !x=q:x=ځ%́>!x=ڍ%͐:x=›%ͣ!7&:x=©%!7&:x=·%#7&:97&:x==O!& ^#V!7&7&"7&Q=7&-"7&͕"7&"7&j#7&@#7&x#7&#7&%%%%%%%%%& &&&!y=6i)`&i)2{=:9]&*{=M à&i)2z=‡&i)2y=:y=҄&*y=Mr%à&8"|=:9Ҡ&*|=DM*z=$:y=8&ʯ&ä&!968&&õ&!96!"9"9:u9='*s97"9"9. P9\ -&i)2N9!h':N92h\5'\<͒4i)2|2O9!p96*9"9!"J9"L9 :9/29:u9!9Z' ]'ͤ&:e x'.e, -p'/eͶ)2u9\4& /Һ' iͻ"9997҇(͙v(:82\!~=6>!~='(H!~=(*~=&\ 6 (:~==O! *9*~=&\ w:~=<2~='!u96.e2 -4(\͵4/b(!u96.e5 -T(\4*9"=!96&*="9d9w7+s#r'.9& -(!96!96 ͻ"9997h)ʹ/W)*9DMF $ !"9  *9"=͕"*="9!=6>!==)H!=.):==O! *9N 3)  :=<2=)*9"9:W)͘*8"9d9w7+s#rí(!94~ ڠ)6*9#"9*9{zڔ)!"9*9!=~2=xG:=2=G k)x{_ )#º)>ɯ`iq#z)COMPRLRSPSPROVLSYM!=q*9= :=w*9#"9!98*=*9DM\4!"9!=q:=!=2=:=<2=K*!=6*=M)!=6!=q*=M)*9#"9!=p+q*=}OL**=|OL*:9*:8ʊ*+*8"9:9Ҥ*L**9DM_*!=6:9=!=**=&9 N!9 87/ H**=&9 N+!=4©*:8:8H +p,!=q:=#+*9"=4+*=&9) ^#V"==97F+29@6=97Z+L*F+*=&:) N#F3*=&9) >8ҕ+:=+*9DMͨ+Õ+ͨ+897ҧ+*9"8!=p+q*="=*=&9) =l7+!=8+*=DM:4OL**="=Ҵ+:9=O!9 N!9 !9 l7*87"=L**=DM_*L*:8B,_*L**8DM_*U,*8DM_*L*_*!=6>!=o,L*!=4Z,*8"9:9Ҍ, - - -!=6:9=!=,*=&9 ~2=,*=&9) 97, -î,:,v-,7-!=4‘,*8*=9 8, -,:= - -,!=q*=M**9#"9=971- -- -*=&9) ^#V"9>9 8u-ͅ*=&9) {7"=-͚"9H-*=&b;) N#F*; ~Ҷ-*; DM4*; *;##N#Fq#p-*;##q#p2=:=.*=&9) {7"="8:=O>-"8-2=->9͎7>7".) .=*9DM\4\4:8ZA.. \v9 -I.:e y..*8&ͺ7) DMe -q.:\‡.:82\\͠4:8 ¥.. 8\ -.!"9}2=2=v* .:8Z.. \v9 -..e) -.:\.:82\\͠4!"9}2=ͻ"9997Ҍ/͙/͕H{/DM/ )!=6H!=[/:==O! *9N):=<2=3/:=<2=v/ ) ){/ )d9w7+s#r/ ) ) .!=q> !=ڳ/:=0O)þ/:= AO)!=q:=O͚/:=O͚/!=p+q*=|OͿ/*=}OͿ/*=!͛7"=*=!͛7!=s:h.0:=2h\5.0\5͒4*=!͛7!|s*87"=. \8 -S0:8m0*="=\4/TB\4!=s*=!͛7TB "8*8*8s#r/TB*=&ͺ7DM\4:j2j\4:80*8͇7"8:8Z081>0181>0!=q.*= :=w*= ~!=q*= :=w*= *= ^#VN#F) *= 6*=^#V!͛7"=͝7!=s&1!=ʮ1*= DM4*=M/1*= DM5®15@6*=!͛7M1*=  *= 71*=  *= N#Fq#p *= ~ 2*= DM͠4 *= 6b1*= N#F*= *= N#F4?1!=p+q*= N#F*=͝7ͼ7*=q#p*=*= l7+*=##q#p*=*= N#F^#V͝7*= s#r *= N#F`i"=*= N#F `i"=*="===72*=+*= ^#Vͺ7DM52ͽ1*="=Һ2*= ^#V*=ͺ7DM52*=  *= 73b1*= N#F*= *= N#F4!=s+p+q*==7s3 *= ~e3ͽ1*=DM5233*=##=73 *= ~ґ3ͽ1*=DM52:=3*=  *= N#FPY83͔2333*=  *= 73?133!=p+q*="=!=s+p+q*=DMB3*= ^#V"=*= N#F*=͝7*=:=w *= 6!=p+q*=DMB3*= ^#V"=*= N#F*=͝7*=~   ĉ4{>.̉4s4OͲp45@6646<5@645<>45<5͒45<5@6! w #4>4>25"5"5yo`"5!"555@6*5|v5 "5*5MD*6*5DM:5I565@6b56b5*5|v55*5͒4*5"5*5#"55*6*5ABORTED$NO SPACE$NO FILE: $CANNOT CLOSE$DISK READ ERROR: $DISK WRITE ERROR$YYYP   YP*6YPYPYPYPYPYP Ͳ ò!=6#65"=*=|‚6>8 8"=##*= ~6!=6â6*=|6!=616"=â6!=6:=ҷ6!=6#6#66*=~2=*= ~2=:=6:=2=*= ~2=!=6>!=7*=&= ~/*=&9 w!=4697"9 *9"= *9"9*G9M *H9M *I9M *=M *=M *=M *="9i`N#Fog_og_{ozg_ogDM!>))덑o|gҴ7 =¢7DM!>))7 =7_{ozg^#V) 7^#V|g}o 7_{ozgi`N#Fogo&og_{_z#W LINK 1.3 $?MEMRY$MEMRYX MEMORY OVERFLOW, USE [A] SWITCH$INSUFFICIENT MEMORY$OVERLAPPING SEGMENTS$ XXABS $$$XXPROG $$$XXDATA $$$XXCOMM $$$9-:\::YYABS $$$YYPROG $$$YYDATA $$$YYCOMM $$$::;:;INDEX ERROR$MULTIPLE DEFINITION: $MAIN MODULE ERROR$FIRST COMMON NOT LARGEST$COMMON ERROR$UNRECOGNIZED ITEM $INDEX ERRph(@  &S @h2 I@.fSd9 ) fo#RTW-r\b@H bؑ7esL@^v`,)0ك )". p0#dyDvv$'n7A.F%"} 1-%(0TW₠}A=MQ~(WWR9} 1-%^̦ieiZI@  P@ %My  Ѩb6ABPY2NBI@$ fS@l0 fHPK2@C7NS *Lfqo3L1H_PARM_@͆@D0 "t%W zH$n zEk5LIST v1.1 Copyright (c)1986 James H. Whorton!9"1:] d;>…"~>~6>~ʁ!6#6#6!N6LIST v1.1 >!ʦ_ $.22ʱ *!6!~[ w4!k~0A "p0=0Read Error0:=2>2͑o Execution not allowed in secure mode.0LIST v1.1 (c)1986 James H. Whorton Usage: LIST where may be any legal file specification. Examples: LIST FILE1.ASM <<-- List this file in current directory. LIST ROOT:TEXT <<-- List this file in directory ROOT. * Aborted.0 EPEX environment must be resident!o Can't find file!0^#~~N#~| } &#~ ~ &GxƐ'@'_h~#.#7__eɅo$e2| 2}:|_:}_ COM>gj,|i` $0Z r` Őn0'䘜P;X'l-2<8UL " } 1-%(TW9}A=MQ~(@WWX09} 1-%^MSqi7 a9D  E @1 @J: &pa< fad0P)TW@|^i ! e2@!NfQ o1y @b<  @2NQ DC)@1 hCD HX ,˔Qn\Qn1F|";t|VՃ"|۴ 3 Yd|dLgȅ_ e"N VuA jTÀPrzA*I  x!5E\".P#riCP'!PǀD52qb8/`Fpb4T2q85}AI;H|,BIA I DgN"3/'/ y`@Pj*f9;@IBhR K6x- z*] 6O q@&>$#M}Iω;pB| ˘ k 68! T7_#7Y2c>OKqzҥxWxGq@#xm77 #&?C( =0@0x>5}AI~^:d>^&͡C傸0BPaϋQ dSӔT} 1-%(TW }A=MQ~(WWV9} 1-%^Ls:Mc5@  0@O7L&19lh*@ f#6:e|uH&yf{ZhZh!i.`{&_POST_2@/ @0 xX`#~3y'k텻&^p!2gUP" } 1-%(TW≠}A=MQ~(WWV9} 1-%^NC e@ @  P@O:t:Lf(4   !c9NCI *agTW- r@8V L~#+T+# g8F'88v&^ph·Ywa @npp3JYw  |z@8|ͧY`3iV_ H%>fLTS" } 1-%(TW }A=MQ~(WWS9} 1-%^ &3YsF@ @  @ (Lfa  #y 4L'#a: fy `TW-r TpihK@lZ٤f6LZ+Y X80)o 5L2wq @|@hd>4p2w@; * \\C['qCq  502wd H ;J|@g!8a70O180vN[ey&pTЌN "} 1-%(nTW }A=MQ~(WWY`9} 1-%^C@H2NGCt@  0@S! GO) S b2Nc5ABI'a\1q`o2 #It &w2 9}AI5~^p f0MAda9C)u6yh c t '-ao,@ '稪Ȩ>b@l~k0mib14VmX`ahh0 vnW }:^/0ڰ  3lP6#=aZݐ8yd j@42wp  \,CB'vL/ @0 xX`K~3y'k텻&^p!2gVS`} 1-%(TW }A=MQ~(WWW9} 1-%^DyL@C6frBш`   @X)NgC)'DyL@c6fi;NB1 IoM&㠀Bш` 1ͧr9 $xK@tHk 64D5;Vx>Y3j@* ;ܢ|Z\6eflCXP@8Y O) jHWWv7 C qo8`bqC`c`d  LVT"} 1-%(TW⃀}A=MQ~(WWT9} 1-%^ #y@8 `p2 I$@  P@X2d0Dq@8 HI'3akA$t 0 ! f 'C(i6D3n3H@a2By@r7Nq@r2#qgLC/ &@#@f7ZIB1  I$a2FS@o3 @( HX 7C -0 #) 9ΧCI Ci$)K@(2~R[͚9x4Z0ڰ}H1+c6a<Y!`8*c9}A=MQ~^%*I CC'u@!4PD4,2wd H ;J|@g!8a70O180vN[ey&pВS} 1-%(BTW }A=MQ~(WWQp9} 1-%^dByLZs8Lb$S3  @I7 #1e!O)NbAi7S͆@c7NItQp &#a@v2Ά_PARM_@<c :"I< ! 3Xu6a`X>-DP.@_POST_$ !@& _PRE_\S p~ <,Y P0?~I `Bvݓ/8PpC̀3 ! q,s#r! q,s#r! q^ / /! q#p< ! ^,V! q#p -^,V !# q^!$ q#p-^,V!" w!& q#p-^,V!" w!( q#p-^,V!" w!" w!* q#p-^,V!, q#p-^,V!. q#p-^,V!0 q#p-^,V!" w!2 q#p-^,V!4 64 \! q#p,s! 5~X* ~* w* #" * #" 5! ~e* #" >Oxڄ! N,F! ~! 6#6>! ,Ox ë* " Ì! w.6#6.N,F! KB-ÞN DISK READ ERROR$G! N,F! 6! 6#6Þ-6#6! ~! q> +~A O/2~0O/! q~ :O! ~O! q#p-N,FH3! N3.!q%.~,F$.Ԗ,Ox* {! ,_z$.6>!ڿN* !N%- ~w*#"!4”.4!N,F{DISK WRITE ERROR$Gv!~,FրOx-q#w{-N. !NyY!w0O> "~0~AO>o~A !w!2!w%.Ćw$.~!q,s-~OyOxGcy,OxGyà<! N,FO:/ /LOAD ADDRESS $G! N,FOERROR ADDRESS $G! N,FOBYTES READ:$Gz! ~,F.Ɩ,Ox(,~z! ~,F$.Ԗ,OxG%. ~O3* #"  /<v! 6#6,6#6,6#6!9MD! q#p$.6%.6#6.6#6$.6#6ҧ%.N,Fi`ÞNON-HEXADECIMAL DIGIT ENCOUNTERED ${GwY!w:ʼ~qç%.6E%.wqN* " E!wE_!NV%.w#p.w#p.~,FOx .N,F.q#pE%.w! 5~/EOh* #" .~,F.Ɩ,OxE* +" 2! ʧeCHECK SUM ERROR $TGwç! N,F,q#p!~,F%.Ȗ,OxҪh* #" {FIRST ADDRESS $G! N,FOLAST ADDRESS $G! N,FOBYTES READ $G! N,FORECORDS WRITTEN $G!N3<!9MD!q#p . kb! 6#6!N,F! q#p!-YHEX.6U#6 ! KB-ͫ!" ~.wұÙSOURCE IS READER$GSOURCE IS DISK$G̓!" ~-CANNOT OPEN SOURCE$G<COM! 6#6 * KB-!#~ '$$$! 6#6*#KB-!N,F!N,F!N,F̓!" ~ofNO MORE DIRECTORY SPACE$NGße!N,F͗!" ~ŸÙCANNOT CLOSE FILE$G<!N,Fi`v\wұÙSOURCE IS READER$GSOURCE IS DISK$G̓!" ~-CANNOT OPEN SOURCE$G<COM! 6#6 * KB-!#~ '$$$! 6#6*#KB-!N,F!N,F!N,F̓!" ~ofNO MORE DIRECTORY SPACE$NGße!N,F͗!" ~ŸÙCANNOT CLOSE FILE$G<!N,Fi`v\ ^ AVEPVI VMVR VS VV OVDB01(23G3>z4I5T6_7jF _______________COPY Configuration_______________ A) Archive Bit Control of Select and Copy E) Existence Test of File on Destination I) Inspect Files Before Copy M) Multiple Disk Copy R) Copy ONLY files which exist (Replace) S) System Files E Hit SPACEName Ext Bytes UN At ! File(s), occupying K of K total capacity directory entries and K bytes remain on 1 !9" ! J> # ->! . *ͪe> # < * v K  K  K !B r+s+p+qA ?  p*A *? :]$Ž l]Q !]6 !E 6!C 6 :C *C &l ~2D U¼:E 2 :D S:E 2:D F:E 2:D V:E 2:D P:E 2 :D N2E !C 4Ø:!4:!5(  ! I3= : [= t:\a:\=_: :] t ?]\ : ҃! 6?Î : 2   ]Q  ?\\ : DM, Q ! "= *3 ##)*= "; */ &# "! *3 #"#  !! "% >!1 . 2' \: 2 : ʩ: ƀo&"* ~ʛ*# +"# ** DMY қ** DM  *; q#p* " . ** #DM*; -e**  *; w* #" )*= *; s#r*; "; : 2 !S 6!"V * "n >!S d*S &T ) ^#V"K O!l ^#V"M :S =2S M K  a*K "G *M "I *K  )*= ^#V"O I G  *G )*= N#F*O ? J*G #"G (*I )*= ^#V*O DM? m*I +"I JI G  *G )*= ^#V"Q *I )*= *G )*= N#Fq#p*I )*= *Q s#r*G #"G *I +"I K I  G M   !M G  :S <2S O!T *G s#r*S &l ) *M s#r*I "M ^I K  X:S <2S O!T *K s#r*S &l ) *I s#r*G "K û!" "    #* #" )*= * #" )*= N#Fq#p   * )*= * ) *= ^#VN#F? H * #" )*= ^#V";  *; ^#V" * )*= ^#V"; *;  ͪ  *; q#pÝn* " ! p+q* )*= ^#V"; ! 6> ! i* &*; >OK : <2 E:/ *; ^#V*% DMf KK : *; Nf E*; ~ڻWK þE *; ~SK E = ! 6:! '= :/ = : = !: = : <2 * " !" >! .  * *&͵ "( * *&͵ > j*( #"( *DM*( V"( !" (   K!" }2 : <2 O:* * * "    >! = * DM** +" *( * " Ø* #" *&*( * " 3*1 #" " " *5 " > # R : B * +" ! +s#r( ! 6: " * ~2 * #" * +" > ʶ : 2 Ғ * +" : <2 O>ҳ ! 6* #" * ~2 p K* DMf = * *% DMf = * *% DMf = *( #"( K*# DMf = * *% DMf = : AOK :K . g S -A >>!  ~?l W >#^ : /!:' —  ʑ #‹  W ʢ #™ i`N#FogDM!>))덑o|g =¼ DM!>)) = ^#V) ^#V|g}o _{ozgO{ozgi`N#Fogo&og_{_z#W OK = Y -S {-_ ! s+p+q*  ͼ 2 <2 : ! ڗ  K ! 4Á ! 6: =! ڻ * & NK ! 4œ >3  03} Z; { ) # ÃZ3ENVCOPY BACKUP !!?????????[??????]???????????$?$ s1!6$$";."."$."={COPY Version 1.72 (for ZSDOS) 17 Jul 93* -" )Ϳ:  =2 2= >2 !lx2:(: (!" K C[;!l22~# (+/":OG++~:(>  ##͇ ~( #!͹: :(2:(2G~(8# ^#V}~/w## AEIMNQSVXRO:>Q!  GMAC"'@!+@=~vO#~ Q w#6 #wD̈́K>2<2@2>2-=2<2<2=2<2?2=!= w#—<2(=2.=2/=2=> 2<:@2<:@2*=>;23=<22=!"4=+"@+"6=*'@!!62[?21=2+=29=2?<2)=?!H="F= ~# R*4=#"4=!"6=:2==23=!9=>2@2@͖ CCl CC0Cw#C!H= ʎ ~w# Žw:9==28=͖q:,=ʨNЯ2,=4OMگ!F> 2H=J> J7ò- !"C=20==2?*="=:H=*>$2H=$2E=U :ʋ:E=$:==$U !=~4#>$Nwy#*F=+~# ʿ+U ~#~"RR *F=+"F=:(=k+s -"x-ʯ7D-"F=+ÿ:(=ʹ1 -"C=j # :µ@ U 6 :(= ʒ8 :(=l`k#~! _^#V#N1! ; !H="F=*C=|U :(=lÍ'!==Nwy#3!>">!> q#K6 U l;l:<—:>VʋMʋDʋX2[?~+ACDEMNOPQRUVX!>~ p:>2>%No END statement:=.ʊ$ʒ[YTE3ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN LOBALkvALTvLTF2FB9FDIFFEFF:FIDN3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*RIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RAZUB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL;LFCOND)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALL(('()-((5*5,,))))))))h6f6(5C,~&+*A4**i7+9M+ +[9;7+U+\+!++))*+++,))d+h+m+'-@  F"  (85vCd} *F=~#"F= oA 0 : 7}ɷ[ a { } 6 *F=+"F=*F=#"F= aS 6 != q#a !=6#ͱ  2<a w# yʟ ͱ x җ x Gy2=xͱ җ × $.@?_// // &:? ͱ & 6 ͱ 7 G!r?:=' " 2=~!?  "p?^#V!g? w#: !=~K 6!=N zʾ ^#V#^#V#~=y =G‹ #n #~=¸ #"?=#~+?j?!g?w#Ÿ w#s#rP P +>Ð <*A=~*@####~7#_"@:=$.?_ ;O$ "?=͓ *n?z :m?O s#rw# & =7 >wG#w"?=#w#w#w###w#I "A=####p*@͍ ;*?=|>!x F?Symbol table full |}:<:@:-=*?=~@ڹ >>vL!=F#~vL *p?  G~8#~ +~w#~w#s#r#*=s#r~@w:<# ~a~a#^#V#͍ R*=xD{a#za:> *?=# :0=a*?=~*?=#~wxGõ>LyL@ Z6LZ@LZRLZRLyZOLyym-LZRO*ZRv̝LZR*ZOLyZ@*m-L6 ,ɷÝKN͝Ým-zf<ĝ{Y! ^#N! ^#VZԝBxL{?LZ8ĝBLNܝc:<Ü̓ :>H:<0:<Ü>L:< L>2<:<<=<2<ů2< 6 (-2LKҫ:<ԝ Om-ͷyHLyL:>G¯BxGj*=*=͍ j##T9zC<xxm-ë*ů2< 6 (2L{Nԝ:<ĝc:<=ĝNԝc>LcnAÜNԝcn [:<ĝ>Lĝ;{:<=ĝ>L@ÜNܝ*e R:<fĝ[NܝcH:<(:<ĝ>LcNܝe ĝ>LcNܝ:< ĝ:<ĝ>LZԝO*k7:<(>Lں{:<̝ :<Lcĝ>L[/k:<̝"(:< :<*cy  :<Ü:<Ü>%{ :L/:<L>FL;{N*c:<ʴ ĝ:<ĝ>LyBONĝe ̝c:<ĝ5N*c:<ʴ(:<ĝ â:<Nܝe ̝c:<̝Gxĝ> Ü:<ĝ :<[4:<:<ʙԝ c:<ĝÜ([:>:> c:<̝ ڱ:LyC͜(2>2>:<(>"LÒ:<ĝ>2LÒ:< :< ĝ:< `ƝL͜ĝc:<ĝ>L2*L>LyK͜c:<} :<^:<;͜{:<  s:<񇇇@OÜ :<ĝ>LGÜ:<( c`ƝLp:<͜(@{ĝ>:L[ĝ:< Ü;c>6LKB(@{(YPy:<O:<ĝ>LyWÜ!>?AFwx# 3:<G:<7b*=#"='h'*>'>͍ +*>:@`))0) ‘0Ž:>:>6!6"6'6*#">ßG:>@2>:2>!>~ͯ~@ô~ʹ#~?Gxʚ#~72>>A;hS#^#V"=G̓2>#^#V">>C1#^#V+~z><2>= G>>B#~Š:>@>§>2>>A;''2>{2>!>"?=ͩ:<*=##"=:>G:>@x̓:>G̓*>#">C'B'x&x746!96**>##~#fo6"6'##">̓xP:>@xʈ:C+B+x*=++*>#:=G~w#s#r#*=s#rC'B'b:>2>:>x̓³z ĩ2>*>#~2>*>#>͍ +*>:@)0) 0">DExx0:(:*=G:)=G:(=N:/=S:> ~:> o:@+2+>ÿ>+2+>:> ¿:.=:> :1=:,=>C2*>:[?:/=:> !3=4:2=p:[?:@>vL!> ~#d:+=Z:?=##:?#!9=~#06d(>C:8=H> d!H=~# Z dK> d> dO:[?yvLJ>23=:/=ʍ> vL!1>!*4=#|+:/=ʤ*6=#"6=:/=|ʾ>-vLZ!>ZZ>SvLä~#vLPX |>:d MACRO-80 3.44 09-Dec-81 PAGE :> Q)*<#"<*<#" !>">O!f ~*>w!>"> '"!*=:=*=:=:=x¦*=*=͍ "?="=ĩ:A> y> C+B+y*?=+~xGW> #######FyxG+#W>_xGxGFɯFxGF .7FxFx!>~w#4ZL>2>U C \ \'"(ʬ)ʯ+ʲ-ʵ*ʸ/ʻ;ʨ,ʨ >>>> > > >!G) # ) o2=) # x) eo) n==x*F=+H 2=*F=++"F=H "F=GHg:<o|DHB} |BwDʕHʝOdQ•ͼOqQ þ!H Bq0Ի)z#zͥDnHn!H 0)T]))_è!H 0Ի)))_ÿ!H G0 ))))_Hû:<4!H 00 ܻO:<=ܻ<_Pc$ =ͥ=ͼ6 q6 :=2=ҿ=$ ʿ!  ʿo#g=b#t!S ~Œ2< ;ʹ ʹ° & × °6 þ*F= # #7 -#~G ĵxw+!"F=$ t:<ʮ:<7͓ $ !*@w!7 Gx22>">ĩ:<>C~@x##^#VOQb#^#V"=y y¾þ7͓ "?=~Bڨ~8:<2<##~2  þ:=X # '¿ 'n$¿j OþXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :< :<:2>2=2<2>2>2>2<2<9">*)@͍ 4\!]!~!! f!O2>̓!=y "" "?"y2W?͎! 6 ,8!:>8!2>> ß!:W?O:>O!f! "x̓!G:W?O`!"f!ó _y{y!*=YGó !"_~xž!ůG|2>?"y2W?͎!!F%:W?Of!è!@ 2W?:W?G2>O! x怱!>w*F=+N{*>2>z |= yWx=z6"z6"ʳ 6"6"6" >G̓!Gó "Y?zR" ͪ""=">y2W?͎!"ʡ"2X?ʋ"ʋ"ʋ"ʋ"ʋ"ͪ":X?*Y?!#o>g~#fo:W?O*Y?ʶ"y}!"=y%"*="""*>"{%z%   P#Z#d#n###N$$%##Q%\%h%u%{%%%%#%&&&-&C&c&̈́$zW{_̈́$zW{_̈́$zW{_*>|/W}/_:W?O>%%*>|/W}/_:W?O>%%̈́$zʬ#)â#̈́$#+}zW{_ò#*>:W?y#:W?O2>:W? #*="=*>͔$>%%*>G$:W?%$%$y%$$$:W?%$ ?$=:W?9$y9$2>:W?O>%%{_zW*>i$:W?O> %%i$ DM!>=ʂ$))p$p$:W? *>:W?y*>ͳ$:W?O> %%zzB%|G|$|%$%|/G}/O!>$ $7>{_zW}o|g=$|g}oɯO_yW*>z5%|5%|ͳ$%:W?O> %%>O!G͙%͍ o%͙%͍ ?o%͙%͍ W_ ͙%È%͙%͍ o%͙%{_zo%7o%?o%:W?L&*>*>\W:W?O>%*>]W:W?O>:>@2>!>4~?%o%$w5y%:>2>̈́$}R_̈́$}R_̈́$}@_̈́$}6_̈́$}Ro{R_̈́$}?_*=*=͍ :W?_ :> Ox&> 2>,̓ x 2=xGʱ&:=±&*=*=͍ :=G*="=:<ă"= :=&:<ĩ:\?2':\?ȯ2\?U 2'1>G2=<2\?2=*=õ&2'1>2\?G2=*=õ&2'1>2\?G2=*=õ&:\?,:==`'o& ^#V*=͍ s#r2=*=##K':<ʇ':=ʇ'*= ͩ2=1 6 "ʠ''(G) ) *F=++' ) '³' ʳ'6 ,';'' "F=(y(# G) ) 'L) ȸ'# ( ,ʍ'LÍ'Z:=y,ʍ'̓ x1 "N('ĝO) d( o(GŷLP(xx|(L,A(1(h'y,›(ZCä(:@ʹ(z*=#"=:<'ä(*=:=Gõ&2(:<:>U<2>1h'̓ y,(:<=)G2<:<=)2<:<<2(=?)2<@ ͣ:<ģ:<̣!<;)=@ 4=2(=<2<@ 51):<_2>W!<7~?)<\)w!<4:(=2(=!b*T],l*zr* Y*#*F=z̝}O|G:> U Oĝ7 -#~@w ~ĵwy,ʉ*1>O*>; *F=+~# ****#"F= () 'O*6 ) )ĝ@ >2/=Y+2/=Y+2-=Y+U G+ G+ $ :+~@w,U ,+>2-=>2.=Y+2.=@ >2.=Y+}+>}+:@/o:22<(2 {=ʝҝ<2 +{22=+?pU :=+>!=w#"?=:<ĩ,+:,= *F=+qN1,4O=2,=*F=~#"F=!5, () 'U ') )@ :<:=x,>=!]?G~µw#„,p, /U ,/@ #~µ~$w2'+"=>2=!"=ñ&>2=:=U - -~w#~d -~w,,͝-w͵,~Bدw#w#w#wU ~#~>-,"C=m-:>21=Ux¯x 20=*C="?= x4̓ :>"C=~w|21=m-x¯*C=-#~µ~@ w#s#r#*=s#r4͸K:?w/:<Ĩ/!<4~=Z.!]?~-!1>~-!@#]?~# . .. . -!V?p#"?=ͩ2'!5O"@ A."?=~w#~@k/~.#^#Vͩ.*= ͩ *={ĩn*F=ԃ +!"4="6=}2/=p!/!3=44!r?>͗;Z:3=8p!3=44!/!?>͗;Zʹ/*<|.:@<2[?2[?.!L//!O//*<|/>,vL:@<>,J:@<2[?2[?!_//ʹ//̓ͩ*>|,/F/ͩ+:@C/>vLKLNo Fatal error(s) Warning(s):=Gͩ./!//)ô/REPT/IRP/IRPC/MACROUnterminated /!//)> Z> Z:@<> J> J!/:@0"?%O;.0~<=r0:@<2@:@:@=2@<#~^0:@^0:@^07"?:?=2? &0*F=~ 0 0U 0"F=0>&2?>1&0:?0>&;:2?*@~ 1=1O+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1:: 1 1:"%@ʞ: ʞ:> ;:Þ::@1*@4I2* @~82G+#2~/_2~F2=G+~F23*2+<=C2+;2~>.33?*@O DEU Ă2=ʦ3%2,ʰ3 ʰ3 ʰ3;ʰ3!) 3w+ Ô2"{3q3(:> 63:<.33PX 2|2>:f3)0R3>)30R3=363D>3E>3 >0f3xG3x0:R3 f30O:f3>0f3y*{3w+"{36 *{32Ow+ ʏ3 3~3w+ ~3Ô2ʢ3w+22322{=*F=+~ 6 6 ʵ3õ3!=͍ 3#6 +>1&3:>1!  4>1!4r ?Stack overflow, try more P switches (:> O4"?/c4> \^4U :U H0ʄ4H=;: y4ɯ;:͞:!*#@*?!!44͍ 4:@¾4x4*?͔9͊02@*?r:5H=͈:3 4*@*@*?"?"@"@ bkë4:?2@+5ů2@@ :@ʊ5U :U O^5yf5y n5y@{5:@=2@:@<2@:@:<(:@#~>P)!ɷ/"@i2O:> ʰ5*@͊0y6+,ĝ5) <ĝw+:> G6G5͌2 D6>G65# <2@ 5 =6:@6G6 ;,76<36>76G67676 w+5:@G66+.0xĝ" @&i"?m6\4>Ô5^4*%@>2@3H0ʱ6 ʶ1;ʫ1'ʡ6"ʡ6>1Ç6G͕0 ʶ1ʛ6â6"%@;:͞:!*#@* @*?!!64>2@" @͍ 7:@6x 7* @##~#7+4r:47H=r:1:3 7* @4 bk6 ʝOJ) V7JG7> J> J:> @ ʝ2 @O ʄ7@ u77\4^4!H=: @O~ʥ7 #Ù7!ɷ #"?~(w/"@i2 ,7w+2@2@ 2=xx2=*=T9"=:=2=@ !!@Ns#Frͦ9ͯ9q#p*@^#V+*@##^#V+*!@}9ͯ9"!@9*@ "@*)@͍ I;*?%:?͍ I;*@T9ͦ9*%@{_{:s#r#>w#wͯ9%:s#r*:"#@*#@ͦ9s#r{_*%@{̺9*@w{W:a:"%@{_ͯ9zʺ9*@}‚:}o~r:{ʗ:a:{_ͯ9{ȯw#w*@s#r͔9*#@ͦ9q#p*%@{:*@"%@~{_ͦ9{_{:a:*@*?:?;*)@%T9o zo W{_*@*@T9BK*@"@xE;+w 8;"@O;9*A=*@T9o zo W{_*@T9BK*@*A="@ "@xʕ; w#È;2>2>O!^#V#ͷ; ;:>Zz^#V{;};++V+^{;w#w+++; F#"?=~@#~<~#^#VG5<<_<{…<{@Đ<{ʈ<{_!f~vLz<###~#vL;<>L<5m<:>wZ!3=4:2=p*?=~@w> |<> vL>*>M>C>UvL2<*?=#{G#^#V#^#V"=̓"?=#~ ĩ>IvL!>">*>6!>~G#^#VͩQAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPE.ww#w#w#w*>?@͌>w#͌5> w#@ͧ͵g ͸2q&0OxG͵j/ʆSx\͞.7:77!a{  ʨ ʨ0:?ŷO !y$ 7o&))T])))!y ͸2p_ ͸:pr*o"o*|V#^>_zW #&*26:?FQem~TOBLKÎ^ :PGx/o$ TOBLKÎ^ :[CPMATCHSHFTSHFT)]]M^Z^*g*i!/#s#r# +}#*g"+}*|g}o}o"#"*{ozg"*"ͬ****{ozg^**#{zQ*@-) ) N#F^#V# 2#:M Y :~W # DM͸:###-) ) Nq#Nq"07>NRV_cgjmptwz~,T.V. 910/950O =YTER |-YNNNNNNYN Y;7:PO*R͸ ͸"23§ *#^#V+F+N++++*#~#fo}|i`"!/^ ø! v Requires CP/M 2.2! :Y !!Ljw# >?"|\ > bk"| ~  # s͌t!#a{_ !~_KM #~_AM > c |2+ >-23 D ͸"ˆ |Dʝ *}ˆ D|~"ˆ ^{#VŽ zŽ !Ý x?ҙ ڈ !"1|*1|ʸ " ! ! ů2524!F#~ $ +~# xq 2524#! "6` > _  :5=25@w# O *  }  } ; !,:5>N *###S &o!5~i 5*6~#"6w 24*| &o*  U]Ñ n : :!¯ #zS_z n :! +{ n _: :c {  x 0c :c :c + n 2n n n  n * & n >20 n 20# n  :=2n O} v ~ o #z }3 n -Ð }> c -à  +|» x» !+***  I| !~ O #| 4}  < # \͸<  \͸! !Mv !v *n&!Ͳ}* n&!Ͳ}*#n&!Ͳ}*##n&! Ͳ}*###n&!#Ͳ}*n&!@Ͳ}*n&!_Ͳ}*n&!|Ͳ}*n&!Ͳ}!Ͳ}͕* n&!Ͳ}* n&!Ͳ}* n&!Ͳ}* n&!+Ͳ}!! ͅ *ͷ* ͷ*#ͷ*##ͷ*###ͷ*ͷ*ͷ*ͷ*ͷz3}}2}Y*}N *& **}Y͝!!s͕!  * ͷ* F* F* FV Enter: Y = yes, N = No, . or = no change, ^C = quit Y/N -- option -- %c - auto-verify when copying %c - copy only if not up-to-date %c - always confirm erasures %c - sort by file-type %c - exclude SYSTEM files %c - exclude READONLY files %c - exclude PUBLIC files %c - use real (hr:mi) time %c - use mo/da/yr (not da.mo.yr) %c - suppress hi bit in view %c - clear screen on eXit %02d - tab size %02d - horiz. scroll size %02d - vert. scroll size!9DM!N!!yͼ*|p!  Ì͐!y~s!Ͳ} %02d *n}͝­!Yð!N !9DMz3}}2}Y*}N͐*s͐n& !  *Y|͉'!)v _'/S|'!R"ORetag files!9DM͐![ !9DM͐! [ !&k'/S|>2! [ *G"It|! !O!D͋*K*G*Kt|! !Z!D͋͡*G5...all drives*,&M!s![ !9DM'A ͐v !͕'>2[R}2N}T͝@*N}U͝}2\*N} R>Y2N*\}k*N}Yk'!*\}'*N}T‡*S|ʞ*N}U¦*S*O¦!&A *N}T¸!û!!Ͳ}k'!͕'/S}2[*N& (Yes or / Tagged / Untagged / No)No matching files!UNConfirm each changed %sTAGGED file!9DM*\}*|j*|!"`is#r"**g!)b"*n&|g}o|*n&|g}o|*#"`i^#Vr+s*#"z*N}T*͐"*N}T*S *O*S"-"D6!"*)~#fo"D!)b!9!9DM*V͐~#fo"V͐n&|g}o|ʭ*U͐~#fo"U*W͐ ~#foz"W*S+"S*O+"O͐6!9DM!"!!a"|W! n}T! n}UW! n}T*n&|g}o|W! n}U<*n&|g}o|<W*#"+*gT!*!9DM!! [ `is#r͐#n&M*g![ |¤!&͐M!9Can't delete!9DM͐͐#n&M*g![ !9DM! !g~#fo#͐##͋!g~#fo6*gͿt!9DM*D"-"D!"**g!!a"*͐p!͐##*##!%`|! n}ʯ*#n&!͗&*###n&t|!&*#"@*"DFile exists in user %dPublic file exists!!&z3}" *"**G@*}>2*[||Z!&*"Kt|! !Z!D͋*G5͡...on which driveBad drive!*D"!"W/"D!"**g*D##"D++~#fo"*n&|g}o|*W* ~#foz"W*#"û*"DT!9DM*D"!"**g!!a"!͐#*#!%`|u!&*#"0*"DFile exists!!9DM!!!yͼ*͐!y-u#|!! ~#fon}! ~#fon*G#! ~#fo#n}!\&!"*|D! ~#fo*! ~#fo*##ns*#" ! ~#fo*6͐Can't change drive/user!!9DM͐"͐"͐"!"*|*n}?¼**ns**n*n&|g}o|g}os*#"*#"*#"*#"Ø!9DM!"*|I!g~#fo*! ~#fo*ns*#"! "*|x!g~#fo*6*#"O!! [ "͐#n&M*g![ |³! &! *g#*g#͋*g 6! n}*g n&|g}os*g![ *MRename error*O|$!&!!!yͼ*|U*)~#fo"D!U!Lj!y&_-"D!"**O!!1&"Ň|*Ň~#fo"Ç!*Ç##!Ȉ!%`|*#"t*Ň"D!"!!s...which file!!ͅ !9DM!͐ͅ # *"LJ**Of**M!"!*+"# ͅ ) *"D*LJ!s*"D!)b!9DM*\}ž4$*}C³͐|͝ö!͏$!"ˇ*ˇ*͐*ˇ)~#fo~#fo*ˇ"4$*ˇ#"ˇ!"*D"ɇ!!s*ɇ"D!"!*Oͺ~+"/"D!!s*"DL !'!!sT!9DM͐  *O|!v 'ͦ͐"͇*͇*͐+|*͇**͇ "χ*χ*  !*χ*χ)~#fo~#fo V*͇#"͇ç84$No entries matching spec!"ч*ч*ڠ!*ч ͅ *ч*oA *ч)F~#fo!Ͳ}*ч*–L *ч#"ч?%3d*O|±!)b!"Ӈ*Ӈ**Ӈ)!!1&s#r*Ӈ#"Ӈÿ-"D!"Շ!!1&*! *Շ#"Շ!"Ӈ*Ӈ*h *Շ*OI !"Շ*Ӈ)F*Շ#"Շs#r*Ӈ#"Ӈ' !9DM*O|| **O+ڮ !͏$͐+|£ !æ *"4$͐+| *)~#fo"D!!1&"D!"!*"D!"ׇ*ׇ*!!!1&*ׇ#"ׇ *"!͐s!9DM͐+|I!!!$Q!!}%'!* ͅ A *~v L *O|ƒ!*)~#fo~#fo"ه*هn&|g}o|!*هn&|g}os*U*ه ~#foͯz"U*W*ه ~#foz"W*S#"S! * ͅ A *v L !!$T*O|2"*)~#fo~#fo"ه*هn&|g}o|ʫ"*U*ه ~#foͯz"U*W*ه ~#foz"W*S+"S*هn&|g}os! * ͅ *v !!$T!9DM!"ۇ*ۇ*U#*~#fo"ه*ۇ( COPYRIGHT (C) 1977 DIGITAL RESEARCH 112O02Z0̀%!"K2.>2.*M0"$/̓%!"":g0i!"P0"R0"2:0v: 0$  :[0-ʬ+ʬ* :[0!_0M!f0P p  !   :O0Ĝ!":O0*V0}|<r ͪ*|Ĵ:O0_͑H *V0"Ù*V0"E V» ͪ»**»"Ù*K0"X0!0NA#~' ~p"K0*K0N"X0!0q#*w œ:0!x ͜ *V0*R0:_0̍"V02*M0r; !:r :0F: 0e%;m ">2:0b: 020 W,F:0b: 0e,ʹ:re*X0#![0~ʇww2/ͬ:2T/-"."$/2/>2.v:.ʸ!/6+͕%>20:.ʮ:.0209$<!5*}Ģ*V0":0y: 0:yv! X! ^#fkX _~ 0^ Z   2 5 8  :0‰:0=ʉG! 0ʃF#2sÖ*I0| E2V ,[ ͊m *R0"R0"P0 m E2D2V ,ʾ ͊:/ m :/ "> 2/:Į:0 : 0 -Ͳ !/6+:.;?*$/*."$/?"$/:.l*.^#V{r+s5*.^#V ʓ:. r+s!06#wÚ> 209!e/~6![0~6".~,#!0w9 9*.~6 *: 0,Ĵ2f/*.s#r2[02e/*.#"X0$<5ͬ*$/"M00:T/2:/2[0 v>20*.".2[0v*R0m "R0͍"R0!/w >=G*R0*I0"R0"R0 m :/ }>͞ ¥͢ :O0*V0*ʿ͜">2:O0:0:O0!!4:0: 0,>"4:O0: 2\0:0=: 0 F!Fʹ%*X0"`0>2Z0*X0":0k: 0T!T:\0¦:O0¦:0=ʦ ʦ*"X0 !':[0'Tx»!Z04TT!Z05T:\0!":]0!**V0":O0*X0~ Ĵ*X06 '>#G*I0!" :0 :Z0 !0N*K0:O0Ÿ"b0+"X0yʛ 'É' Ͳ >ͮ 222:0: 0 !ͮ-:0:0!4 :0& : 0::0!xI !4̨ e ::̮>͞ } !~5:Į ͵ !4̨!~5 G!~Ҩ4_!p!~ʮ5^!~> >2\0:0N *K0"+"X0:0 >''!:0N : 0,N :0 >  > !0N#~' ) > ''*K0"V0:\0x ʹ:\0" m }*K0"+"X0''*K0"V0>"4ͬ:2T/:[0 “ 2/-*M0"$/*X0!{#zڿ ~+"X0*M0+"M0wß #"K0*M0".:\0 N]T s#r+*V0*{_zW".:\02.R     % *I0:/ ͪ% ͬ:O0ĭ%  :.ʢ :0¢ *K0+"X0!2<20*#"" : 00Ĩ!??" 09"K0+"X0$< :0¢ : 0,? ʹ  *} :]0 :O0 :0 ͤ%:e0ĭ%:0 : 0  ͬͧ%vʹ   ͺ :0: 0 !;* _!5 ^#fkS \ h n 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D y0P 2!0^4! 0q :0Ė: 0,; Ė*I0m |}$† ͌oy Ԍ͋ 8O͖ Ăy01y 1m X:0 : 0, >C͘%:0 : 0 v;:0 : 0 v-!v !v-ʹ {ozg:.7ͮ2Z0!O0~4l!"*|>"V0*""J͊!/6 !/͒%:^0ʏ>2.͡%ͱ*K0*T0&*M0*T0&\ ͍!/w#õH USE FACTOR !/͒%*"P0Þ%z{*P0"R0*"V0 !":O0Ģ*R0̜*R0ĜG:O0xě%:/ *R0̍:xz*P0#"P0E2D20:b!^4!/wjj*R0!6zz{z4A_A?ɯ2.2*T0"V0!.8w# *V0*K0{zҤ*b0+"X0 =$**X0#Þ!.*V0".#"X0$:d0<:0<! 0~?<#ʐ: 0͡!.".^#V"V0}{##~2.*.^#V#"."V0*V0}d##~<2.G*V0##"X0:.> u!.~w>w> u:.P'!5^!/~ !~620͕%2.|z}z> u!.~w:.W=*u!.4C*V0^#V"V0ý!.5¯:20͕%!^4!/w>R͘%>V͘%>Dý>Pý>Lý>Oý>Bý>Sý>N͘%*6".~ 6-!2~B6~44O!! s#r!1~ _6^4! w!p!2~~!55N!! N#fiooo&)^#fk9BIO[ov ͌z{>ɯo>g͌"!6ů{_zW5>)D*OxG !?DM!xGyO23)#͌)=R|g}o=^͌͌roz{͉͌͌}|͉͌Þ͌Þ͌ë͉͌!!o#Ã͌zg{o͌zg{o͌zg{oolo&3:0: 0 ;!,ɯ2122=2 !"I0&q!1~\5_! ~͔D:2:/ *!"I0:/ :0:0! 0^#=ʙV¨*0!҂ :0:0& !!>O: >2 yU`:10_!~0!1s! ~͔ yU!1~N=w_! ~QZP>2 ypP͘% >U̘%>: 2 3>E͘%óf:.O*.~H:.=!4>͕%0:/#". ͆%2G:0xa{_ ʇ ʇ:0x҇_<20!/w:e/S:e/9ɯ2f/2d/2e/:0:e/ !2f/g/~#»S͉!f/~4!g/_:e/w2e/ɯ<*V0"36*"V0ɯ2!4!f/6".!f/~55!d/^4!g/~f:.:e/JGwf^l͗^{:e/&{!f/4#ww&ʞGʱ2e/xf͗ :e/&ʕ:0  ý͗&{&{ý͗  !e/~&>62/-!.6*M0"$/B".2f/*"V0͗ 2f/2e/2[020> 2͕%>20ɯ202!0~@$6^4#:[0w~$w:[00 6:[0A:[0?e@eAɷP6 o2[0:Z0ʦ:\0 :O0¦:[0':[0 !20:[0 R;/>20:Z0?:\0:O0?́;B*`0*X0++{z~ ++!+"X0:Z02Z0́ͪ'2Z0X:[0*K: ḰͪX? X́ö20Pg>ã6r>ã:[0'ƒ2[0>ã ¡:.ʔ>+2/͕%!/6 >20>20:[02́:0:Z0: 0=!EQ<!LT:[0=!LE>!GT:[0=!GE2[0" 0!04>20![0:0/ʦg¦´/ʦA¦:[0O<QA>HHR>22[0m:B_>fD> j!052!"0!0N#~#A҄0Æ7O!~*0!ʩң)Ú "0 x:[0 '¦́'æ:[0 :[0,;%:[0 !:[0; ,202́/>20:[02́:0G:0::0l:[0'́:[0' 20/:[0'|>20^—́:[0  <¨!~4 >¼!~5 : >20>V>O>I>B͘%!QéÉ $ ? H Y ` e Ò ü ò ~ÏGÇåûfD?<==:e>?; ><>; ;<=R>>>F>;>G==<==>=s;=P=*>=$?P:-?]>*<<==<;=>>y> ;: =;>?>P?<=?>>=<<i;m=>c==>o>v<=<;8?N!Nw#w#W!"V0!.w#w#l2N!.~4^!.~w!.ͼ!.ͼ!.ͼ!/~w!$/ͼ!D/~w!T/~wN#Fp+q!.~^!.!. !. !. !/!$/ !D/!T/5~wN#Fq#p>BØ%!0" * F#%2NG*V0##~w*V0##~<͉:.t!.N!. yq~t +aG=#w#wY*M0!0n& {ozg"V0!K0{#z"M0b*M0!0N#yʢ ~Õb!."O1:N *M0!$/{#z"V0$ _!.*V0~#~1 ~#"M0û1 !͒%Þ%SYMBOL TABLE OVERFLOW G*V0##~w*V0##~=*V0_###1 s#r1 ^#V1 ##"X0P wP ~O!0~z 6~=ͼ !0N#~ͼ „ Ͳ O2Ny *\ ?=)$=)w#Ž&!\60 ڱ&>GO#w ³&>O # &6 &6L#6I#6B#w2|r&\u'>2]0!"%![0~2%wG&!,x&>82%2%!"b0*"M0!1"%"&"@&#"K0"T0' _#~6' D':%A6'>:6'D'>.6'D'>-6'x&!,N'!k-x&!,N':% '> ':%'_!% '6 4ɯ2%2]02e02d02g02%:\ =)!%w#w#w#w#w#w#>2^02_0:m$(!~#$,(~(# 3(%Aʩ(Pʩ(Sʩ(Hʩ(Lʩ(*t(+t(-¶(^0~Sʣ(Mʣ(e0Lʣ(d0Qʣ(g0Rʣ(%1¶(x#3(~AҶ(#3(#6 !)-x&!x&!%͉&!%͉&ͳ'(`&͛'͠':%)!&͉&l&͛'͠'!%60#60#60#>2f0!"&:O0*!"%2%2%2%Z&%u'!-x&z{:]0ʢ)*%F)w)!"%r&\‰)*%#"%+~):.2]0ʢ)r&\!~-N'*%F))Z&!"%*%B&%)¼))*)6# )G&*%*%#"%~!<-x&G:%7*$*x*7*x2*Ϳ'5*9**&*&w#"&!F)`&!"&*&%~ʅ*B&Œ*`*G&`*!S-x&ö,͟**>&*@&w#">&!F)l&!">&*@&&`*_!%~ *2%*b0}!,~ +*#+> *>#**> **b0~>+*#2+> *> *> *}2%!%*O*:/ :O0:%y*:%!O0•+:e0!]0+~,:/ ,!/~ +:f0,:/++:_0,+:/#,:/ ,:_0=+!/~ +!0s!%~!%*4:0!/,G~Y+#x=+> Y+> Y+20!/>x6 #=,G!/~ pͳ'*&}?,>*/,`&%͈':^0*+,!&6S#6Y#6M#w!&w:%2%!"&ͳ'*2%`&%͛'͠'+,:%ʶ,:%.*P0"%.*>&}ʶ,>͕*æ,+,:%,l&&͈'!-x&CP/M MACRO ASSEM 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR INVALID PARAMETER: SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES UNBALANCED MACRO LIB END OF ASSEMBLY G:%x-!%~--.-*P0*%O {-z-.*P0"%!%^4!%w..WƐ'@'Õ*>:͕*!%^Ww*%{-|-}--{?.!%~#-6.-> ͕*> ͕*͞*> ͞*ws},Q!}%QPL * n}Y5Q! JQ!!ͅ !  *x5*zM7!Q&!! !yͼ*#|ʎQ!y #|–Q!Q&!^subdirectory : !9DM*G`is#r!HR&!!!yͼ*#|Q!D!Lj!y&_#|R!dR&*G͐1R͐"K! !Z!O͋7R!"a!^!9...drive/user:filespec A !Rv *$}ʄR!Rv !R͕'*O|ʪR*~#fo"*#n&M!U7/#|R!R&0ͭ^...user/filespec datespec flag!9DMz3}`is#rzS!!a܄͐&S!9R"|͝NS*|͝!9DM!!ͅ (A ͐͐Ͳ}L z3!'! *)~#fo~#fo"**#n&M!Ͳd!!a܄!9DMT!/!ͅ `i6#6R͐|T/ |TT`i^#Vr+sSS!9*}1T/ |1TA !G!ͅ ITL !9DM*}T>2ͣ `is#rzʳT͐n&t|ʉT*6N×T>2*6Y`i^#Vr+sn}2͐n}2ýT{2{2!͑Z>2T*}Tͣ T!͑Z!9!!ͅ !UͲ} *T#**GA!UͲ} *X*V!UͲ} !  *a#|vU*K*GvU*c*a*KA!UͲ}~U!͝  !  *S|ڪU*W*U!UͲ}òU!͝  !!ͅ free: total: %c:%5d%7d %7dK%6dK %c:%5dK%6dK *=%5dK(%5dK)!9DM͐|V!͐ͅ ͐)F~#fo!WͲ}͐n&|g}o|fV*"|ÊV͐n&|g}o|ʄV*"|ÊV*"|*|v ͐#n&*GA!WͲ}͐##X͐b[! n} W͐n}V͐ͼY W͐n} W͐ͼY!c %3d. %c%2d:!9DM͐##"|!'!!ͅ !Xv !!ͅ !Xv !!ͅ !"!"*|҅X*|#"|+n&t|{X*#"*>®W>W>ºW>W>W>X> W>X> W>?X> W>JXUX!Xv bX!Xv bX!Xv bX!Xv *n}F\GF\=\Ù\͐n͐ nѯgW(\!\͐n͐ nѯgWC\!\Ù\͐n͐ nѯgWa\!\͐n͐ nѯgW|\!\Ù\͐n͐ n}ʖ\!\Ù\`i^#Vr+s! ^#Vr+s! ^#Vr+s[! ^#Vr+sn}?\! n}=\! n}B\! n}G\!\!\!9 !K "![ "x"G"K!! [ "z l !\"g!"a"I>2[!]"~!]"!]"!]"!]"{2?{20>2?{2{2{2{2{2--> * #!9DM])͒Jt͐+|]! ~#fo##~#fon}$]!D!Lj! ~#fo##~#fo&_#|^!U!Lj!^&_>=2FM*.*!9DM*G"It|! !O!D͋w#|I^!"O^*T#*k"͐|t^!!ӈ!͋!"ͭ^!^&No room. Login a smaller fileset.!!؈!Lj͋*F}2*)}2*|^*|^!"Y"S"W"U!.͎bb!*O|!_*~#fo"*#n&MT!9DM!k͐-u#|H_!``iw#w͐|҆_! ~#fo͐#͐##kns`i^#Vr+sN_! n}D_*k! s#r!|_! ^#Vr+s[||_!`&͐"G! n}D_! n}U `! ~#fo*l}`!! [ `*l&s!`!9Bad drive!!9DM͐ ͐">2! n}`! ~#fo͐n}2}?͝{`**n}͝`is͐"!"*|a*|­`! n}ʭ``͐n}?`͐n&|g}o͐ n&|g}o"|`>2a*#"! ^#Vr+s! ^#Vr+sÌ`! n}8a`in}&a! úa*}͝}2! "*###n}YYa* n&t|›a*n}Y{a* n&t|›a*n}Y¦a*##n&t|ʦa>2! "*}ʴa!÷a*úa!9!9DM!"**g"b͐)b"*n! nѯgW|g}o! nѯg|g}o|b**#"a!!9DM͐+|`b*D##"D*g!/)]b/"DÃb*D++"D!/҃b*g!/)++"D*D~#fo!9DM/"D!"**gb*D##"D++~#fon! n}/o&ѯgW|g}os*#"ãb/"D!"O!"**g; -- NEW MACRO LIBRARY -- ; ; BY S. J. SINGER ; REVISION - FEB 1981 ; ; ; SAVE MACRO SAVE SPECIFIED REGISTERS ; ; SAVE R1,R2,R3,R4 ; ; R1-R4 MAY BE B,D,H OR PSW SAVED IN ORDER SPECIFIED ; IF REGS ARE OMITTED SAVE B,D AND H ; SAVE MACRO R1,R2,R3,R4 IF NOT NUL R1&R2&R3&R4 IRP R,<,,,> IF NUL R EXITM ENDIF PUSH R ENDM ELSE IRPC REG,BDH PUSH REG ENDM ENDIF ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; RESTORE MACRO RESTORE REGISTERS (INVERSE OF SAVE) ; ; RESTORE R1,R2,R3,R4 ; ; R1-R4 MAY BE B,D,H OR PSW RESTORED IN ORDER SPECIFIED ; IF REGS OMITTED RESTORE H,D AND B ; RESTORE MACRO R1,R2,R3,R4 IF NOT NUL R1&R2&R3&R4 IRP R,<,,,> IF NUL R EXITM ENDIF POP R ENDM ELSE IRPC REG,HDB POP REG ENDM ENDIF ENDM ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; SAV MACRO SAVE REGISTERS B,D AND H ; SAV MACRO PUSH B PUSH D PUSH H ENDM ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; ; RES MACRO RESTORE REGISTERS H,D, AND B (INVERSE OF SAV) ; RES MACRO POP H POP D POP B ENDM ; ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; CHARIN MACRO CONSOLE INPUT TO A ; ; CHARIN ADDR ; CHARIN MACRO ADDR MVI C,1 ;;CONSOLE INPUT CALL 5 ;;CALL BDOS IF NOT NUL ADDR STA ADDR ENDIF ENDM ; ; ; . . . . . . . . . . . . . . ... ... . .. . . . . . . . . ; ; CHAROUT MACRO CONSOLE OUTPUT FROM A ; ; CHAROUT ADDR ; CHAROUT MACRO ADDR IF NOT NUL ADDR LDA ADDR ENDIF MVI C,2 ;;CONOUT MOV E,A ;;CHAR TO E CALL 5 ;;CALL BDOS ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; CHARSTAT MACRO CHECK CONSOLE STATUS ; ; RETURN TRUE (FF) IF CHAR READY FALSE (0) IF NOT ; CHARSTAT MACRO LOCAL EXIT MVI C,11 CALL 5 ORA A JZ EXIT MVI A,0FFH EXIT: ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; INPUT MACRO INPUT CHARACTER STRING FROM CONSOLE ; ; INPUT ADDR,BUFLEN ; ; ADDR START OF TEXT BUFFER ; BUFLEN LENGTH OF BUFFER (DEFAULT IS 127) ; INPUT MACRO ADDR,BUFLEN MVI C,10 IF NOT NUL ADDR LXI D,ADDR ;;SET BUFFER ADDRESS ENDIF IF NOT NUL BUFLEN MVI A,BUFLEN ;;SET BUFFER LENGTH STAX D ELSE MVI A,127 STAX D ;;SET BUFFER DEFAULT MAXIMUM ENDIF CALL 5 ;;BDOS ENTRY ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; PRINT MACRO PRINT A STRING ON CONSOLE ; ; PRINT (CARRIAGE RETURN, LINE FEED) ; PRINT 'LITERAL' ; PRINT <'LITERAL',CR,LF,'SECOND LITERAL'> ; ; PRINT ADDR,$ (ASCII OUTPUT UNTIL $) ; PRINT ADDR,L,H (HEX OUTPUT L CHARACTERS) ; PRINT ADDR,L,A (ASCII OUTPUT L CHARACTERS) ; ; LITERALS MUST BE IN SINGLE QUOTES 'LIT' ; IF LITERAL CONTAINS CONTROL CODES ENTIRE STRING IN <> BRACKETS ; MACRO ALSO ASSEMBLES ; CR = CARRIAGE RETURN ; LF = LINE FEED ; BEL = BELL CODE ; ; MACRO ASSUMES ADDR ALREADY LOADED TO HL IF ARGUMENT OMITTED ; PRINT MACRO ?STRING,LEN,TC LOCAL @OVER,@MESS,PLOOP,PASTCR,@CRLF CR SET 0DH LF SET 0AH BEL SET 07H IF NUL ?STRING&LEN&TC JMP PASTCR @CRLF: DB CR DB LF DB '$' PASTCR: LXI D,@CRLF MVI C,9 CALL 5 ELSE IF NUL LEN&TC JMP @OVER @MESS: DB ?STRING DB '$' @OVER: LXI D,@MESS MVI C,9 CALL 5 ;;BDOS ENTRY ELSE IF NUL TC IF NOT NUL ?STRING LXI D,?STRING ;;POINTER TO STRING ENDIF MVI C,9 CALL 5 ;;BDOS ENTRY ELSE IF NOT NUL ?STRING LXI H,?STRING ;;POINTER TO STRING ENDIF MVI C,LEN ;;LENGTH OF STRING PLOOP: PUSH B PUSH H IF TC=H MOV A,M ;;GET A BYTE HEXOUT ;;CONV TO HEX & OUTPUT ELSE MOV E,M ;;GET A BYTE MVI C,2 ;;OUT FROM E CALL 5 ENDIF POP H POP B INX H DCR C ;;DECR LENGTH JNZ PLOOP ;;CONTINUE TILL LEN 0 ENDIF ENDIF ENDIF ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; HEXOUT MACRO CONVERT BINARY NO AND OUTPUT TO CONSOLE ; ; HEXOUT ADDR ; ; NUMBER ASSUMED IN A IF NO ARGUMENT ; HEXOUT MACRO ADDR LOCAL OUTCHR,HEXEND JMP HEXEND HEXPRN: PUSH PSW RRC RRC RRC RRC ;;SHIFT RIGHT 4 CALL OUTCHR POP PSW OUTCHR: ANI 0FH ;;MASK 4 BITS ADI 90H ;;ADD OFFSET DAA ;;DEC ADJUST ACI 40H ;;ADD OFFSET DAA ;;DEC ADJUST MOV E,A ;;TO E FOR OUTPUT MVI C,2 ;;CONOUT JMP 5 ;;CALL BDOS HEXEND: HEXOUT MACRO ?ADDR IF NOT NUL ?ADDR LDA ?ADDR ENDIF CALL HEXPRN ENDM HEXOUT ADDR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; HEXIN MACRO CONVERT A NUMBER IN MEMORY FROM HEX TO BINARY ; ; IF NO ARGUMENT MACRO ASSUMES ADDR OF HEX STRING IN HL ; ANSWER LEFT IN HL WITH LEAST SIGNIFICANT 8 BITS IN A ; CARRY SET ON NON HEX DIGIT OTHER THAN SPACE OR ZERO. ; CONVERSION STOPS ON SPACE OR ZERO. ; HEXIN MACRO ADDR LOCAL IN1,IN2,OVERSUB JMP OVERSUB @HEXIN LXI H,0 ;;ZERO NUMBER IN1: LDAX D ;;GET A CHAR ORA A RZ ;;RETURN IF ZERO IN FIELD CPI 20H ;;SPACE WORKS TOO RZ SUI '0' ;;CHECK < 0 AND CONVERT TO HEX RC ;;RETURN, CHAR < 0 FOUND ADI '0'-'G' ;;CHECK > F RC ADI 6 JP IN2 ;;NO BETWEEN A AND F ADI 7 RC IN2: ADI 10 ORA A ;;CLEAR CARRY MOV C,A ;;HEX DIGIT TO C MVI B,0 ;;ZERO TO B DAD H DAD H DAD H DAD H ;;SHIFT LEFT 4 DAD B ;;ADD IN NEW DIGIT INX D ;;INCR BUFFER POINTER JMP IN1 ;;RETURN FOR MORE INPUT OVERSUB: HEXIN MACRO ?ADDR IF NOT NUL ?ADDR LXI D,?ADDR ;;LOAD BUFFER ADDR ELSE XCHG ENDIF CALL @HEXIN MOV A,L ;;LEAST SIGNIFICANT 8 BITS TO A ENDM HEXIN ADDR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; DECOUT MACRO CONVERT A POSITIVE INTEGER TO DECIMAL AND OUTPUT ; TO THE CONSOLE. ; ; DECOUT ADDR ; ; IF ADDR OMITTED, NUMBER ASSUMED TO BE IN HL, ELSE LOADED TO HL ; LEADING ZEROS SUPRESSED. MAXIMUM NUMBER 65,767 ; DECOUT MACRO ADDR LOCAL ENDDEC,DX JMP ENDDEC @DECOUT: PUSH B ;PUSH STACK PUSH D PUSH H LXI B,-10 ;;RADIX FOR CONVERSION LXI D,-1 ;;THIS BECOMES NO DIVIDED BY RADIX DX: DAD B ;;SUBTRACT 10 INX D JC DX LXI B,10 DAD B ;;ADD RADIX BACK IN ONCE XCHG MOV A,H ORA L ;;TEST FOR ZERO CNZ @DECOUT ;;RECURSIVE CALL MOV A,E ADI '0' ;;CONVERT FROM BCD TO HEX MOV E,A ;;TO E FOR OUTPUT CHAROUT ;;CONSOLE OUTPUT POP H ;;POP STACK POP D POP B RET ENDDEC: DECOUT MACRO ?ADDR IF NOT NUL ?ADDR LHLD ?ADDR ENDIF CALL @DECOUT ;;CALL THE SUBROUTINE ENDM DECOUT ADDR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; DECOUTLOC CONVERT A POSITIVE INTEGER TO DECIMAL AND OUTPUT ; TO THE CONSOLE. ; ; DECOUTLOC ADDR (THIS MAC CALLS LOCAL "CONOUT" FOR OUTPUT) ; ; IF ADDR OMITTED, NUMBER ASSUMED TO BE IN HL, ELSE LOADED TO HL ; LEADING ZEROS SUPRESSED. MAXIMUM NUMBER 65,767 ; DECOUTLOC MACRO ADDR LOCAL ENDDEC1,DX1 JMP ENDDEC1 @DECOUT1: PUSH B ;PUSH STACK PUSH D PUSH H LXI B,-10 ;;RADIX FOR CONVERSION LXI D,-1 ;;THIS BECOMES NO DIVIDED BY RADIX DX1: DAD B ;;SUBTRACT 10 INX D JC DX1 LXI B,10 DAD B ;;ADD RADIX BACK IN ONCE XCHG MOV A,H ORA L ;;TEST FOR ZERO CNZ @DECOUT1 ;;RECURSIVE CALL MOV A,E ADI '0' ;;CONVERT FROM BCD TO HEX MOV C,A ;;TO E FOR OUTPUT CALL CONOUT POP H ;;POP STACK POP D POP B RET ENDDEC1: DECOUT1 MACRO ?ADDR IF NOT NUL ?ADDR LHLD ?ADDR ENDIF CALL @DECOUT1 ;;CALL THE SUBROUTINE ENDM DECOUT1 ADDR ENDM ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; DECIN MACRO CONVERT A NUMBER IN MEMORY FROM ASCII TO BINARY ; ; DECIN ADDR ; ; ADDR POINTS TO MEMORY LOCATION OF START OF NO, IF ; ARG OMITTED POINTER ASSUMED LOADED TO HL ; MACRO RETURNS WITH CARRY SET IF ALPHABETIC CHAR FOUND ; CONVERSION STOPS WHEN CHAR LESS THAN ZERO IS FOUND. ; BINARY NUMBER IS LEFT IN HL, MAXIMUM 65,767 ; LEAST SIGNIFICANT 8 BITS OF NUMBER IN A. ; DECIN MACRO ADDR LOCAL DLOOP,OVERSUB JMP OVERSUB @DECIN: LXI D,0 ;;ZERO DE XCHG ;;ADDR POINTER TO DE, ZERO TO HL DLOOP: LDAX D ;;GET A ASCII DIGIT SUI '0' ;;CONVERT TO BCD AND TEST ANA A ;;RESET CARRY RM ;;TERMINATE CONVERSION IF < ZERO CPI 10 ;;CHECK LEGITIMATE DIGIT (0-9) CMC ;;COMPLEMENT CARRY RC ;;RET WITH CARRY SET IF ERROR INX D ;;INCR ADDR POINTER DAD H ;;SHIFT LEFT 1 PUSH H ;;SAVE RESULT DAD H DAD H ;;SHIFT LEFT 2 POP B ;;NO * 2 TO B DAD B ;;HL NOW CONTAINS 10*NO MOV C,A ;;ADD PRODUCT TO DIGIT MVI B,0 DAD B JMP DLOOP ;;BACK FOR ANOTHER DIGIT OVERSUB: DECIN MACRO ?ADDR IF NOT NUL ?ADDR LXI H,?ADDR ENDIF CALL @DECIN ;;CALL THE SUBROUTINE MOV A,L ;;LEAST SIGNIFICANT HALF OF NO TO A ENDM DECIN ADDR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; MOVE MACRO MOVE A BLOCK FROM SOURCE TO DEST ; ; MOVE SOURCE,DEST,COUNT ; ; SOURCE TO HL MACRO ASSUMES REGISTERS ALREADY ; DEST TO DE LOADED IF ARG OMITTED ; COUNT TO BC ; MOVE MACRO SOURCE,DEST,COUNT LOCAL OVERSUB JMP OVERSUB @MOVE: MOV A,B ORA C RZ ;;EXIT COUNT ZERO MOV A,M ;;GET A BYTE STAX D ;;STORE IT INX H INX D DCX B JMP @MOVE ;;BACK TO MOVE LOOP OVERSUB: MOVE MACRO SRC,?D,?C IF NOT NUL SRC LXI H,SRC ENDIF IF NOT NUL ?D LXI D,?D ENDIF IF NOT NUL ?C LXI B,?C ENDIF CALL @MOVE ;;CALL THE MOVE SUBROUTINE ENDM MOVE SOURCE,DEST,COUNT ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; FILL MACRO - FILL A BLOCK OF MEMORY WITH A CONSTANT ; ; FILL START,STOP,CONSTANT ; ; CONSTANT OMITTED, FILL WITH 0 ; END OMITTED, FILL ONE BYTE ; FILL MACRO START,STOP,CONST LOCAL @FILL,BLKLEN BLKLEN SET STOP-START+1 LXI H,START ;;LOAD START ADDR IF NOT NUL STOP IF BLKLEN > 255 LXI B,BLKLEN ;;LOAD BLOCK LENGTH ELSE MVI C,BLKLEN ENDIF IF NOT NUL CONST MVI E,CONST ;;LOAD CONST IF NOT NULL ELSE MVI E,0 ENDIF @FILL: MOV M,E ;;STORE A BYTE INX H ;;INCR MEMORY POINTER IF BLKLEN > 255 DCX B ;;DECR COUNT MOV A,C ;;TEST LIMIT ORA B JNZ @FILL ;;CONTINUE ELSE DCR C JNZ @FILL ENDIF ELSE IF NUL CONST MVI M,0 ;;STORE A ZERO ELSE MVI M,CONST ;;STORE SINGLE BYTE ENDIF ENDIF ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; ; MATCH MACRO COMPARE 2 STRINGS OF SAME LENGTH SET CARRY IF EQUAL ; ; MATCH STR1,'LITERAL STRING' ; MATCH STR1,STR2,LENGTH ; MATCH ; ; DE POINTS TO STR1 MACRO WILL LOAD REG IF ARG ; HL POINTS TO STR2 PRESENT ; C CONTAINS LENGTH ; ; SUBTRACT STR2 FROM STR1 AND SET FLAGS, ZERO INDICATES MATCH. ; NORMALLY THE SECOND ARG IS A LITERAL STRING AND THE LENGTH ; IS OMITTED. IF THE LEN ARG IS PRESENT THE SECOND STRING ; ARG IS ASSUMED TO BE A MEMORY ADDR. IF ALL ARGUMENTS OMITTED ; REGISTERS ASSUMED ALREADY LOADED. ; MATCH MACRO STR1,STR2,LEN LOCAL OVERSUB,M1 JMP OVERSUB @MATCH: INR C ;;PRE INCREMENT COUNT (IT MIGHT BE ZERO) M1: DCR C ;;DECR LENGTH COUNT RZ ;;RETURN IF MATCH FOUND LDAX D ;;GET A BYTE FROM ONE STRING SUB M ;;COMPARE WITH OTHER RNZ ;;RETURN INX H INX D ;;INCR STRING POINTERS JMP M1 ;;TRY SOME MORE OVERSUB: MATCH MACRO ?STR1,?STR2,?LEN LOCAL LITSTR,ENDLIT IF NUL ?STR1&?STR2&?LEN CALL @MATCH ELSE IF NOT NUL ?STR1 LXI D,?STR1 ;;LOAD STRING1 POINTER ENDIF IF NUL ?LEN ;;TEST FOR LITERAL MVI C,ENDLIT-LITSTR ;;LENGTH OF LITERAL STRING LXI H,LITSTR ;;POINTER TO LITERAL CALL @MATCH JMP ENDLIT LITSTR: DB ?STR2 ;;LITERAL STRING ENDLIT: ;;END OF STRING ELSE IF NOT NUL ?STR2 LXI H,?STR2 ;;LOAD POINTER TO STRING2 ENDIF MVI C,?LEN ;;LOAD STRING LENGTH CALL @MATCH ;;CALL MATCH SUBROUTINE ENDIF ENDIF ENDM MATCH STR1,STR2,LEN ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; INSTR MACRO SEARCH STRING FOR SUBSTRING AND SET CARRY IF FOUND ; ; INSTR STRING,LENGTH,SUBSTR ; ; HL POINTS TO STRING ; DE POINTS TO SUBSTRING ; B CONTAINS STRING LENGTH ; C CONTAINS SUBSTRING LENGTH ; ; MACRO RETURNS POINTER TO END OF SUBSTRING IN HL ; INSTR MACRO STRING,LENGTH,SUBSTR LOCAL OVERSUB,S1,SSX JMP OVERSUB @INSTR: MOV A,B ;;STRING LENGTH SUB C ;;SUBTRACT SUBSTR LENGTH CMC ;;COMP CARRY RNC ;;ERROR RETURN SUBSTR > STRING MOV B,A ;;NEW STRING LIMIT TO B S1: PUSH B PUSH D PUSH H MATCH POP H POP D POP B JZ SSX ;;MATCH IF ZERO ON RET ANA A ;;RESET CARRY DCR B ;;BYTES LEFT RM ;;FINISHED IF MINUS, NO MATCH INX H ;;INCR STRING POINTER JMP S1 ;;TRY AGAIN SSX: MVI B,0 ;;SET D TO 0 DAD B STC ;;SET CARRY RET OVERSUB: INSTR MACRO ?STR,?LEN,?SUBSTR LOCAL LITSTR,ENDLIT IF NUL ?STR&?LEN&?SUBSTR CALL @INSTR ELSE IF NOT NUL ?STR LXI H,?STR ENDIF MVI B,?LEN MVI C,ENDLIT-LITSTR LXI D,LITSTR CALL @INSTR JMP ENDLIT LITSTR: DB ?SUBSTR ENDLIT: ENDIF ENDM INSTR STRING,LENGTH,SUBSTR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; SCAN MACRO SCAN A STRING UNTIL A CHAR IS FOUND, SKIP BLANKS ; AND CONTROL CHARACTERS ; ; ZERO SET IF NO DATA FOUND IN SPECIFIED FIELD ; ; SCAN MACRO ADDR,LENGTH LOCAL OVERSUB JMP OVERSUB @SCAN: MOV A,M ;;GET A BYTE CPI 21H ;;SPACE OR LESS? RP INX H ;;INCR POINTER DCR C ;;DECR SCAN COUNT RZ ;;RETURN IF COUNT ZERO JMP @SCAN ;;KEEP SEARCHING OVERSUB: SCAN MACRO ?ADDR,?LEN IF NOT NUL ?ADDR LXI H,?ADDR ENDIF IF NOT NUL ?LEN MVI C,?LEN ELSE MVI C,127 ;;DEFAULT SCAN LENGTH 127 BYTES ENDIF CALL @SCAN ;;CALL SUBROUTINE ENDM SCAN ADDR ENDM ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; UPPER MACRO SCAN A STRING CONVERTING ALL LOWER CASE CHAR TO UPPER ; CASE (Only a - z are converted) ; ; ; UPPER MACRO ADDR,LENGTH LOCAL OVERSUB JMP OVERSUB @UPPER: MOV A,M ;;GET A BYTE CPI 03H ;;Control C JZ UU2 ;;Exit with Carry Set CPI 61H ;;LOWER CASE A JM UU1 ;;LESS THAN A CPI 7BH ;;LOWER CASE Z + 1 JP UU1 ;;MORE THAN Z XRI 20H ;;MASK OFF LOWER CASE BIT MOV M,A ;;STORE THE BYTE BACK UU1: INX H ;;INCR POINTER XRA A ;;CLEAR CARRY BIT DCR C ;;DECR SCAN COUNT RZ ;;RETURN IF COUNT ZERO JMP @UPPER ;;KEEP SEARCHING UU2: STC ;;Set Carry RET OVERSUB: UPPER MACRO ?ADDR,?LEN IF NOT NUL ?ADDR LXI H,?ADDR ENDIF IF NOT NUL ?LEN MVI C,?LEN ELSE MVI C,127 ;;DEFAULT SCAN LENGTH 127 BYTES ENDIF CALL @UPPER ;;CALL SUBROUTINE ENDM UPPER ADDR ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; DISKIO MACRO EXECUTE BDOS DISK ACCESS PRIMITIVES ; ; DISKIO FUNCTION,PARAMETER ; ; NO FUNCTION ENTRY PARAM ; ; 12 LIFTHEAD ; 13 INITIAL ; 14 LOGIN DISK NO 0 - 1 ; 15 OPEN FCB ; 16 CLOSE FCB ; 17 SEARCH FCB ; 18 SERNXT FCB ; 19 DELETE FCB ; 20 READ FCB ; 21 WRITE FCB ; 22 MAKE FCB ; 23 RENAME FCB ; 24 ?LOGIN ; 25 ?DRIVE ; 26 SETDMA BUFFER ; 27 ?ALLOC ; SEE CP/M INTERFACE GUIDE FOR DETAILED INFORMATION ON THE ; DISK ACCESS PRIMITIVES ; ; DISKIO READ,FCB (TYPICAL MACRO CALL) ; DISKIO MACRO FUNCTION,PARAMETER LIFTHEAD SET 12 INITIAL SET 13 LOGIN SET 14 OPEN SET 15 CLOSE SET 16 SEARCH SET 17 SERNXT SET 18 DELETE SET 19 READ SET 20 WRITE SET 21 MAKE SET 22 RENAME SET 23 ?LOGIN SET 24 ?DRIVE SET 25 SETDMA SET 26 ?ALLOC SET 27 ; ?C SET FUNCTION IF NOT NUL PARAMETER LXI D,PARAMETER ENDIF MVI C,?C CALL 5 ;;BDOS ENTRY ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; CALLBIOS MACRO CALL BIOS ROUTINES DIRECTLY ; ; CALLBIOS FUNCTION,PARAM ; CALLBIOS MACRO FUNCT,PARAM LOCAL @CALL ; DCOLD SET 00H DWBOOT SET 03H DSTAT SET 06H DCONIN SET 09H DCONOUT SET 0CH ;;CHAR IN C DLIST SET 0FH ;;CHAR IN C DPUNCH SET 12H DREADER SET 15H DHOME SET 18H DSELDSK SET 1BH DSETTRK SET 1EH DSETSEC SET 21H ;;SECTOR NO IN C DSETDMA SET 24H ;;DMA ADDR IN BC DREAD SET 27H DWRITE SET 2AH ; ?F SET FUNCT IF NOT NUL PARAM MVI C,PARAM ENDIF LHLD 1 ;;ADDR OF BIOS MVI L,?F ;;JUMP OFFSET SHLD @CALL+1 ;;MODIFY CALL ADDR @CALL: CALL 0 ENDM ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; DLOAD MACRO DOUBLE PRECISION INDEXED LOAD HL ; ; LOAD (ADDR + INDX) TO HL ; DLOAD MACRO ADDR,INDX IF NUL INDX LHLD ADDR ELSE LHLD INDX LXI D,ADDR .ww#w#w#w*>?@͌>w#͌5> w#@ͧ͵g 2q&0OxG͵j/ʆSx\͞.7:77!a{  ʨ ʨ0:?ŷO !y$ 7o&))T])))!y 2p_ :p______Y_Y__odoexipputqset_drirset_usesexitlineyputchazput{strle|getheputlinescandosetjmprintgetpaigeticompaupdateiclosputupnoechaskupdaseewritreacompadodsetjmsetcuupdateiclosgetidsoptdosdsetjmsetcuprintasgetheupdateiclosgetisddoptsddoptsheadinclear_eputsddoptheadinputputchasetcuprintT.V. 910/950O =YTER |-YNNNNNNYN Yů2524!F#~ $g +~# g xqұ 2524#! "6`– > _ª ʱ :5=25@w#Ž O     !,:5> *### &o!5~ 5*6~#"6 24* &o*  U]+  :› :!I #zS_zk  :!` +{k  _:{ : { ڈ  xĖ ͖ 0 : : +  2     * &  >20  20#   :=2 O  ~ oͳ # }3  -* }> -: ! "qP!+ "sP!8 "uP!E "wP!R "yP!<2"P"P!! <2"P!" P! <2*P!<2ͳ * P!Z !^ d5!y  !  Ͷ}2nP}D S L Y M X  ͯ R  @  *nP&ͳ RÉ RSETDATE.COMDATSTAMP.COMDATSTMP8.COMDATSTMPZ.COMLOG.COM4.2 DSCONFIG - v. %s for %s This program configures the DateStamper user-settable options for: DATSWEEP, SDD, SETDATE; DATSTAMP, DATSTMP8, or DATSTMPZ; and LOG Select one: D - DATSWEEP S - SDD Y - Year in SETDATE (and DATSTAMP, DATSTMP8, or DATSTMPZ) M - Memory map display in DATSTAMP, DATSTMP8, or DATSTMPZ L - LOG X - eXit ==>?!9DM͐! d5! ʹ1& Update %s on disk!9DM>L2mP!PM2+++| u!!*yP!Pg#|@uP"oP*oP###"P*P#n&*Pn&A!~d5!ʹ1|,! Ͷ`is#r!|ڼ͐|Ҽ*P͐s͐ͳ !ͳ Â!  !=!s!N!! Pm/|,! P~5! s#rz͐| !ͳ *P#͐s*P##n}=!B@!C!Gd5!q!rʹ1|y*P##*P##n}s!v!s! *P###n}ʗ*P####Ú!!d5!ʹ1|! !/!(s*P###!!(! Pm/s{*P###n&#*P####! Pg2!4 *P-ͦ! ͳ *Puͦ!nʹ1|A!͐!ʹ1|V!͐!!*yP*P-*P͸2!9 The DAILY.LOG file is currently kept on Drive %c, User %d. Change the drive or user number Enter drive (just if no change) ==> _: Enter user number (just if no change) ==> NOT DAILY.LOG is %s currently a SYStem file ... Change it When you LOG category 0 ("log off"), the following command line is currently executed: A:>%s Change the command line Enter new command (just if none) A:> LOG currently displays this two-line reminder message Change line 1 Change line 2 !9DM͐+|¬*P-ó*Pu! s#r͐+|͝!l!r!yd5!!Fs!!F! Pm/`is#r!"P*P͐7! ^#Vr+s*P Pns*P#"P͐"P*P|c! ^#Vr+s6 *P#"P>!9firstsecond Enter %s line (just for blank): !9DM`iw#w͐|! ^#Vr+sn&ͳ `i^#Vr+sô!9!9DM>M2mP!PM2+++|  ! Ͷ}2nP}D28>ZJQVV*sP`is#rY*uP`is#rY*wP`is#rY !!͐!|Pg#|z P"oP*oPn&|ͯ}2P*P}ʢ!å!!P"oP*oPn}ʽ!!!d5!!ʹ1|*oP*oPn}͝s!!͐*|P-*|P͸2!9 Turn on/off the memory map display when loading (select one): D - DATSTAMP.COM 8 - DATSTMP8.COM Z - DATSTMPZ.COM Q- quit ==> ONOFF Memory map display is currently: %s ... Change it !9DM͐!Ld5Ͷ}2nP&|?*nP&|?*nP&ͳ *nP&"P!<2J!ͳ Get %s from drive ==> ?:!9DM! ͳ ͐͐!͐ͻ2s#rz±͐! d5!!͐͐~#fo#3#|͐ !P͐~#fon3͐ ͐!d5!! Can't find %s Can't read %s!9DM͐ }E!͐͐#3#|͐ !P͐4͐ ʐ͐!d5Ø!  Can't write %s Updated. 86!9DM!4`is#rzB*mP}DSZM(L5B!!P4!!P4!!P4!!P4!!P4͐I!9!p *Pi1*Ṕ15 !9DM`iw#w͐͐ҥ!_ͳ `i^#Vr+sÁ͐  `iw#w͐͐͐ l6!ͳ `i^#Vr+sô!9!9DM͐ !8!s! `i!:ͩ6|(`iw#w͐/!9H%x %d!9DM>Z2mP!PM2+++|`ë!d5 *}2{P*qP`is#r!!͐!|Pg#|P"oP*oP!!d|P"oP*oP*{Ps!!͐*|P-#|*|P͸2! Ͷ}2nP}D 8Z%1*sP`is#r4*uP`is#r4*wP`is#r4ë!!͐!|Pg#|`͐ |cëP"oP*oPn&|ͯ}2P*P}ʋ!Î!!P"oP*oP*{Ps!!*|P#3#|!!P*|P4|Ý*P}!D!>! s#rP"oP!͐*|P#3#|ʚ!!P*|Pn3+|š*oP!>!d|šP"oP*oP*{Ps!͐*|P#3#|ʏ!!P*|P4+|*|P͸2#|’Ý!F ë͐!Sd5!9 Enter current year: 19__SETDATE Set year in (select one): D - DATSTAMP.COM 8 - DATSTMP8.COM Z - DATSTMPZ.COM ^C- quit SETDATE Updated.  Can't write %s!9DM! ^#Vr+szʨ! ^#Vr+sn! ^#Vr+sn}ʥ!l!!9DM!E`is#r>D2mP!PM2+++| !! !!͐*~P-#|*~P͸2<!!͐!~Pg#|,<P"oP*oP"P*!9DATSWEEP.COM!9DM!o`is#r>S2mP!PM2+++|&! n}ʅ]*P|!! *Pw~#fo!wd5!ʹ1|!! s#r|! 6#6*Pw͐s#r!! !!͐*P-#|#*P͸2f!!͐!Pg#|GfP"oP*oP"P! 6K! 6͒&!9SDD.COMSDD currently reserves %4xH bytes for the CCP. Change this Enter number of bytes to reserve ( sets 800H) ==> !͙1! Enter: Y = yes, N = No, nn = value, . or = no change, ^C = quit!9DM*P_~#fo`is#r`i~#fos#r*P͐"oP!`# !"P!"P*P|*oPn}-*oPn}2nP}v*oP#n&"P*nP&ͳ *P#"P*oP#"oPØ!! *P2n&!}#d5*PNn&+A!#d5!# *Pfn}͝= !Y@ !N!#d5*Pgn}͝` !Yc !N!$d5*Phn}͝ƒ !YÆ !N!-$d5*Pin}͝¦ !Yé !N!V$d5*Pln}͝ !Y !N!$d5*Pnn}͝ !Y !N!$d5*Pon}͝!!Y!!N!$d5*Ppn}͝2!!Y5!!N!$d5!#% *Pen}͝]!!Y`!!N!K%d5*Pan}͝€!!YÃ!!N!t%d5*Pbn}͝£!!Yæ!!N!%d5*Pcn}͝!!Y!!N!%d5*Pdn}͝!!Y!!N!%d5!! *"P#|"*P2*Ps! ͳ Ͷ"P|]"*nP&|]"*Pͳ *PN*P#s!& >2lP!A*Pf&!C*Pg&!D*Ph&!F*Pi&!L*Pl&!P*Pn&!R*Po&!S*Pp&!& !N*COM!9" 1I ͇MLOAD ver. 2.5 Copyright (C) 1983, 1984, 1985 by NightOwl Software, Inc. ͏ s͋zdͿͽ : ! * !  &<* !~#ʏG<6#" *O| G6# x¿* +Fʏ#~ FUi~#Ui" ))))_* \ =A: i: i<2 –#![  < ,K6L#" x–2 ] 7ͽ <!e~ ½6H#6E#6X`^ ! ~4! ~d* 1:˜2 W _° g o: ̖ +: : " *  " :9 * " *   w# ØG! ~wx1N1N: R_!~! 4\ͽ 2 <4!͖ * * !:9ͽ \ͽ ѷ£*  " v+" * * " ͽ \ !  <~ !<ͽ ͽ <* * {OzGxr\!ͽ ͽ * #" yրOxGz͇Loaded * ͇ bytes (͇H)͇ to file %: ʚ͇ Over a * ͇ byte binary file͇ Start address: * ͇H Ending address: * ͇H Bias: * ͇H ͇Saved image size: * )͇ bytes (͇H, - ͇ records) * }G|͇ ++ Warning: program origin NOT at 100H ++ \ͽ <(͍~#%ʜ/Í:\©͋ <@/:[} o&>:/!]>./Í~ #/#  |{0/> /> /|}'Ɛ'@'_ͽ ~#=#~ FUX0:fAG?͇ Command line syntax error Ï͉ Ambiguous file name: % not allowed.͉ File % not found.͉ Disk full.͉ Directory full.͉ Premature end-of-file in %͉ Checksum error in %͉ Can't close %͉ Memory full while loading %͉ Format error in file %͉ Writing %, nothing loaded͉ MLOAD syntax: MLOAD [=] [,...] [] (brackets denote optional items) is the optional output filename are input file(s) is a hex load offset within the output file may be an optional non-HEX file to be patched by subsequently named HEX files (specifying The filetype enables this function). Note that ZCPR2-style drive/user notation may be used in all file specifications (e.g., "B3:MYFILE.COM, "A14:MDM7.HEX"). ͍v>2 " " * }o|g"   !]<: ! } w#͋ 2  % x _ } 6# 6 # 6# ͨ # ͨ #( :~U AC @#~#:+xG~0G#~:K #{ ~.#yu  k { ͨ #*ʗ ?‹ U  { à >? ™ ͨ #à ~/., :=ȷ/  " 2 = go : *  y "    go\ ] y!"#$a{ e!z #v i HEX ͽ ͽ I I 6# 6 # 6# ͨ # ͨ #( :~U AC @#~#:+xG~0G#~:K #{ ~.#yu  k { ͨ #*ʗ ?‹ U  { à >? ™ ͨ #à ~/., :=ȷ/  " 2 = go : *  y " *Pn}͝/!Y/!Nͳ !9DMͶ}2nP}YB/*nP}NW/͐*nPsͳ c/͐n&ͳ ! ͳ !9DM͐`is#r͐͐͐ 0! s! n} ­/0! n}/! n}/͐͐/!1 `i^#Vr+s0! n}H]0! n}.00! n&86! s! n&|R0! n&|B0! n&|R0! n&|]0!ͳ 0! n}N¡0! n}.v00! n&|ږ0! n&|ڡ0!ͳ 0! n&|ҿ0!ͳ 00! n&ͳ `i^#Vr+s! ns/͐6͐͐0!9 !9DMͶ! s#r͐|͝51͐|͝`is#r͐|J1!b1M1!f1 ͐Y1!9YESNO!9DM͐!<2!9DM͐! <2!9DM!͐ ͽ !9DM͐͐d5!'2 !486`is`in}Y1`i6Y1`i6N`in}Y͝ 2!52 2!92 `in}Y͝2!9 (y/n) ==> ?YESNO7:PO*R q#p#!9s#r#s#r!7*T|DM*R*Pږ2><2~# xŠ2 ><2~+ x¦2|}#7,2> 2h*P/:q2> 3:h):R3=3=> 3:qw#w#w:ho&552?7:P,>932?!^#V*R:Tb3=S3b3*P5*R!s#r7:P)V>4z>4z2:P,"j!"l*T|*l©35*R*j!ѷ32?33!ä3*lä3*T+"T*R"R*l#"l*j! N#Fp+qx™3##6>2?Þ32?7:P)"XV>4z> 4z2:P,"j!"l*T|s4*j!^#V*X#^#Vk4r+s*l5*R"R*j"*lʛ42?n4#"l*T+"T*j! N#Fp+qxE4##6>2?k42?7*+++:PG_*RDM!4o& N#F#^#V#" 5* 5~#fo  ,#5>2?)~2#"j!!~#fo#^#Vp+q*j~#fo^5s#r5!9DM! ! 7!9DM`iw#w! 6#6͐ n! s{ ʱ5! n} ¿5! ^#Vr+sÕ5! n}-5! 6#6! ^#Vr+s! ^#Vr+sn! s6|6͐ ?! nѯg`is#r5͐͐?/6!9!9DM! n&:|_6! n&f6! n&&!9DM`iw#w! ^#Vr+sn}ʙ6`i^#Vr+sz6͐à6!9!j9DM`í@! `i;6!9!9DM! n&|ͯ6! n&|ͩ!Y9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{:`in}%¬:! ! s#r! 6#6! s! s! s͐n}-7! ^#Vr+s! 4͐n}0 7! 4͐n&6}ʽ7! >7!! s#r! ^#Vr+sn`is{.8! >! s#r! 4! ^#Vr+sn`is`in&86}D98Uu8X~8Oʇ8C8S8w:}:͐~#fo|u8! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 Í8! 6Í8! 6! ~#fo! n&! ^#Vr+s~#fo! %>ѯgs#rv9! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sv9! n}9! 6#6! ^#Vr+s~#fo! s#r͐n}v9͐|v9! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s,9͐6! ! s#r! n}9! ^#Vr+s!|9͐͐! n}9!09! !9!9~#fo#|9!:Ò9͐n}(:͐͐! ^#Vr+sn&!:!9~#fo#|%:!:9! n}t:! ^#Vr+s!|t:͐͐! !b:!9~#fo#|q:!:2:é:!:͐͐`in&!:!9~#fo#|©:!::͐͐`in&!:!9~#fo#|:!:/7!:!9!9DM! n&|ͯ;! n&|ͩ!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{>! n&$?|{;N;! n}%ʹ;! n! W?ʫ;! n&>ö;! ^#Vr+s=! 6#6! 6 `i6! ^#Vr+sn! s{*;`i4! ^#Vr+sn! s! n&86}X+! n&! ^#Vr+sn&͗?! s{<͐ ! nѯg?! nѯg! s#rÒ`in}=! ^#Vr+s~#fo͐ ͐?s#r! 4͐n}>! n&>N;! n&>!9!9DM͐͐ s>͐^#Vr+s͐`>͐0h>͐7s!&þ>͐ ͐͐ ͉͐%>`is͐ ͐͐ )͐%>`in&#&þ>!9!9DM`iw#w͐~#fon&6}?͐ ?͐^#Vr+snѯg`is#r>͐?!9!9DM! n} ͝S?! n} ͝S?! n} ͝!9DM͐~#fon`is$?|ʆ?͐^#Vr+s_?`in&Î?!9!9DM! n&86! s!@|?! n&s?! n&6}?! n&s?!! n! n&+@!@! n&!9DM! n&R@|ͣN@! n&:|ͣ!9DM! n&|ͯ}@! n&|ͩ !j96  #F#xʭ@~#à@7*P:Rwi  1$P\D4WR <S!tA"Q# FILEATTR Configuration Attribute Options (00 = don't change 7F = set to OFF 80 = set to ON): 1. F1 attribute.............XX P. Public attribute.........XX D. No Date attribute........XX 4. F4 attribute.............XX W. Wheel Protect attribu>vne or more options can be made active by default. ATTRIBUTE OPTIONS - As distributed, all of FILEATTR's attribute option defaults are 00, meaning that FILEATTR will not change any file attribute unless explicitly commanded to do so. To configure FILEATTR to turn a file attribute OFF by default, change the corresponding setting to 7F hex. To configure FILEATTR to turn a file attribute ON by default, change the corresponding setting to 80 hex. For example, to make FILEATTR set specified files to Public by default, change the "Public attribute" setting to 80. Now FILEATTR will set specified files to Public unless the /NP option is used, causing FILEATTR to set specified files to Private. However, since there is no command which tells FILEATTR NOT to change an attribute, the program will now insist on turning the Public attribute either on (default) or off (through the /NP option). FILEATTR Configuration Help TOGGLE - Change this setting to YES to make FILEATTR always operate quietly (the /Q option will no longer have any effect). ss the /NP option is used, causing FILEATTR to set specified files to Private. However, since there is no command which tells FILEATTR NOT to change an attribute, the program will now insist on turning the Public attribute either on (default) or off (through the /NP option). FILEATTR Configuration Help TOGGLE - Change this setting to YES $Z3ENV[1PD4>[WRSAQ>s1* < |(-͑ ( ͟ 6>͖ ;  ͩ : Not wheelA͐ E :͕ 4 ͩ : any key to pause, ^C to abort . . . } !D4~ !~6i ʟ 2D*M#"M*E~~ 2!6 N >82  *E]#( ~(E~ x A +2 >2 : !6 N *E~ ͩ Conflicting entry :@[E 0G>0xm>:Mͩ , can't make file public! !D4~ &!~6i (, 2D} 8 0!9"j1  *** System Survey (June 82) *** !P Drive>A_" :\o` }‡*.<~2r##n&"s ù>?2J##~2r###~#fo"s#|g}o¤E:sʹ~ #½' K bytes inJ!ƀ_#J  files with*s'|/g}/o# K bytes remaining $-<  Memory map: 0 8 16 24 32 40 48 56 64 | | | | | | | | | !l6#6#6 !?2p2q~G/wp!l4#42p>:q2q!n4#4#¶:p#%: 5: 5 5:q1 5  ¬  T=TPA C=CPM B=BIOS or unassigned R=ROM or bad BIOS atÔ͆Ɛ'@'_:}:}  iobyte:}  drive:}  BDOS at:}:}  *l  Bytes RAM *n  Bytes ROM *  Bytes in TPA |/g}/o  Bytes Empty   Total Active Bytes *jActive I/O ports!+|€!zG2ʺʺzʭ  z_z}#     Ports active *j  |{0__~W_"#> :r3k&@{o0G)D???????????{0__͆Ɛ'@'_:}:}  iobyte:}  drive:}  BDOS at:}:}  *l  Bytes RAM *n  Bytes ROM *  Bytes in TPA |/g}/o  Bytes Empty   Total Active Bytes *jActive I/O ports!+|€!zG2ʺʺzʭ  z_z}#     Ports active *j  |{0__!!~/(+#~N(- _PyJG#~ {á 1 x2 P x2 D y2 4 x2 W x2 R x2 S x2  A x2  Q >2  ,  ͩ , Bad option: /l 222<2:\( 2 2\ ͐ :i2 __ : ((:. ͨ #. ~ (#ͩ ͩ FILEATTR! #:/G) ͩ : Drive R/O :D_!"E: : V#^# ~#(( (   ** **V~( ɯ[( *~ %-22%( \ _D(d2(Y3(Q.(H+(0>(R(I(>2>2ͳ O0 Gͳ :2ͳ  ͳ  ͳ d  0: 0:0:O: 0i0a08z0 A~( #\ ~#z O*|y(+ O~ >G. 4  "|("|(~!8 s#r#͆   !s#r#~#\ #:kͯ wͯ ###$ó "*~#fo*)^#V" | ##~2#~2#~26 #^#V#"#^#V#"1 *.;^#"#~2#~2#^#"26 2̓ E(0>̓ E(: x8 X~ :!͌ %:_<=<<=)͘ ~#(3 (  ( ( (  y( yG>GO> > >   Oy. *. /:g4>^@ 0 Oyc>.c&d̓& ͈̓͏00|.,0g} @(> 7'd }0= ˀ7. O:g~#(C(+~#(C -4w#Wr# x O !Vy  a{_<=<<=)͘ ~#(3 (  ( ( (  y( yG>GO> > >   Oy. *. /:g4>^@ 0 Oyc>.c&d̓& ͈̓͏00|.,0g} @(> 7'd }0= ˀ7. O:g y A iBWmCqDYEYF YG.aH7duI;J8K9L:S FILEDATE Configuration A. File sort (00 = alphabetical, 2B = old to new, 2D = new to old) : XX B. Date sort/select field (10 = create, 15 = access, 1A = Modify) : XX C. Date signifier (00 for none, 3C for "<", 3D for "=", 3E for ">") : XX D. Display all stamps? XXX E. Show System files? XXX F. Show all u} COPYRIGHT (C) 1978 DIGITAL RESEARCH TEX FINISHED$ERROR DURING $INPUT CONTEXT:$THIS ERROR TERMINATES TEX$FILE READ$READING EOF$DISK WRITE$INSERT NEW PAGE; THEN TYPE RETURN$FITTING A WORD$COMMAND VERIFY$INVALID CRLF SEQUENCE$HM COMMAND$MB COMMAND$MT TOO LARGE$PP COMMAND $PARAMETER SCAN$OPENING SOURCE$TEXPRNPRNOPENING SOURCE$OPENING DESTINATION$TEX VERSION 1.0$TEX VERSION 1.0$1)!`ͩ"!!"* "ͼ͘Lv!" !* ! q* &  ! q* &! p+q*  ! p+q*    ! p+q* 2 ! p+q* 2 ! p+q* 2 ! p+q* ! p+q* ! p+q* ! p+q* 2 ! p+q* ! 6  :  ! q:* M* M! p+q! 6:H  : <2 O* ~2 $E* M$P* DM:dͮE(ͺ! p+q5* DM>! C! : 2 : <2 : ! ҆lÎ* 6åâ*"* " M!": һ! 6#~G**~2 *#": ! 4: <2 O! : w: : ͬ2 ! 6ͬ2 &v*: *" ** k* DMͮ͋^h* " 1!"! q: * M!6: ! 6* &/ ~2 O:ڶ! 4Ú: ¿:!  ÿ* M! q!4:$:* M:* M ! !ͺD**: w*#"!D+:2 : =2 _ rK!6E:ډ:2 : =2 ʉ ru:2 !: ʭ* & Nr! 4Ï r r*#"!:O:2 : =2 :=2O! 6 e:2 r r*#"E! 6: <2 !* & ~2 HC* Mr:!]G>!C :2 ! 6: ! ڇ! 4s:* *" ! 6> * ! g͉ #s>0#~ v : P:!Ϳ* : =2 '  - G>= v e:!S G! 6: <2 !>!HҎ :!ڋ GX !:ʜ . :222:2 :Ҽ : 2 : :! w: :2!::H :2t% !:O> :22:2% :2ͩ !:O2! 6#6#6*& ~ f ! 4:<2!c A :  ! 6*& ~ ʙ ! 4:<2!– r :=O! ~Aڭ *& ~ ! 4:<2! í ! :+26#6:=2!: *& :!o& w!5 *& :!o& w:!w:#w! 6: :!2~2:w!:ʾ :=2O! ~2 :=2O! w: :Hһ ! 6:=2O! 6 !5\ !6:2#~ o l :=2!:2=2:=!N :<2O! ~2 :<2O! w: :HK ! 6:<2O! 6 !5 !6:<2#~! l o > ! :+2: =2 ʚ :=2O! 6 { :Ҩ ô :C:2. :22:2! q: !: !6*& : w <`iw`i+ͩ HX͛ !6#6! 6:2:=2O! ~ !:/HD! 4!:! X:2! q!:!x: x* M ! q: =2 :!ڣG>²v 2 * M ò2 ͿÄ͏ >Gr:/>H+Qt: +ͬ 6+! 6!" : PͬB: \!: +o! 6ͬ: -! 6ͬͳډͳҨ! ͆: 0_" ͬÉ* ͬ2 : 0 ! p+q! 6 7" : * " : * * " :   +s#r* |!" * !!q*!&DMͼ"!|4*!}2!: L:!ͬ2! iͬ2! i[:!P2!.:!H҉2! ʗÉͬ2!.:!HҳÉ͏ P2!.:!H>v E*!Mr2! *!Mr*!Mr*#":!%Gͬ2!.:!HAͬ2 !AVf: !af: ! 2 !>U! !r: !E2 !E2 !: !A2 !O!! ^#V: !D­͏ !6#6ðK: !L͏ 92 !! !6*&* !&͑M ": !P*+DMͼ"!>͵*!"!6": !R͏ "K: !EJ͏ 92 !@! !6* !M̀}: !Pz9_*&͑*:!Ϳw}K: !S“͏ !6ÖKK: !L­͏ ðKK: !E<! !6 2 ! : ! : !2! !6: !<2 !2 ! * !& : !w2 ! .t* !& 6Õ: !M’*M2!:ut:n!6u:=2:…!6Ï!:=+wÕK: !G©mv: !N͏ !6*M2:!O>!6!:#2KKK: !C! 6: !Iͷv: !Ld*M2 !!: !>!6:#w>! !O!6FU: !2:!+2: !S|͏ *M2K: !B¿*M2!:O:ڮt!6:!O:+w/: !T,*M2!:O:t!6:!O:+w:#!:=+w)!6+~"!6):=2/K: !AE͏ !6x: !Eu9_*&͑*:!ͿrxK: !P‹!6ÎK: !A͏ 92 !¬! !6>¼! !5! !6: !! !G! !4: !L*M2>!~H!6B:!O:2: !N@*DMͼ">͵8!"!6: !O~͏ !6*M2:!+2O>{!6#~Ơ#2: !P͏ >›v â*M !692 !!: !: !2t! !6:! ! ! !4K: !I ͏ !6:++w KK: !PE͏ 92 !0! !6*&* !&͑M [: !SX͏ !6[K: !B! 6 ! !6+6>! !7* !&/ q!!q¬* !&/ 6! !6: !!!ҿ:!2 !! !4s : !I͏ !6!6*M2 !: !=2 ! K: !C! 6K%2{^ !!6!6:22ͬ2!ʀ:! ‘!!6ͬ2! …w:!ŽÖ!!6:! :ʩ͏ ͬ2! ·é. !6:!Ö}:! ::2*!MY!6}ͬ ::2*!MY:22!6}:!.:!!:HH`́v!6! 6!6}́:q:2*!MY!6_:!ҫ:2 Y:  Y:2!6:!.:!?H:!!H:!:H: : H: H>>!!6+6:!<2!O! ~2!:!:!CD!6!6:!LY!6!6:!Sn!6!6:!E~!6:!FŽ! 6:!P¨! 6!6!6:! :!$H:!$!!6:] !:e 0e:m :m$H5\:l23Ul: U6!|6!6 \2: v9:ڗk͛: —H:ʩ\û: һl r*"*#6!6+6!"}2o&"!"2 }2!6!6!6F#6#6#6#6N#6B#67#6#6#6#6#6#6#6#6#6! 6#6#6#6#6#6#6!6!6! 6_og_{ozgDM!>))덑o|gҀ =n^#V))) DM!>))Ҡ =˜^#V|g}o ©_{ozgO{ozgi`N#Fogo&og_{_z#W (08@HPX`hpx2:! :2î 2:  rà  This call will read a character (or byte) from the  console into the A register. The parity bit is 6#6#6N#6B#67#6#6#6#6#6#6#6#6#6! 6#6#6#6#6#6#6!6!6! 6_og_{ozgDM!>))덑o|gҀ =n^#V))) DM!>))Ҡ =˜^#V|g}o ©_{ozgO{ozgi`N#Fogo&og_{_z#W<Z3ENV[O0DNSU=+>!!!TIME&DAT[LBDTZ>..:.s1* }(:k( >r 6i f !]>/#[Version 1.7 - file date display Copyright 1988 Carson Wilson Syntax: FILEDATE [d͗ ([ir[:][afn] [/][options][<, =, or >dd.mm.yy time] Options: / - help +,- - sort by date A - use Access C - use Create D - all Dates N - No pause ͗ (͊ ('[ S - System files U - all Users [ Time: hh:mm - real +dddd - relative f[ FILEDATE, !!v " *"g!y~=W!x# ~#bxE {8~#o}oA'.ÇYALPSID'TCELLOC$LAITINI!ÓCOPYRIGHT (C) 1977, DIGITAL RESEARCH g gzd{ *9 Wl> W> W*"!"^l!]kl$]xl']::>2l!6!"!~4*s,r,"!~Ol!F2y* "*xT-V-^yA!~4x]> WO" Q>2y*"  INITIAL = COLLECT = DISPLAY = "-A" IN EFFECT, ADDRESS BACKTRACE READY FOR SYMBOLIC BACKTRACE BACKTRACE:* og$2| .w#w#w#w.~ .w#w~?w; / ! ~#4- w#~$ 5  0 > _=  ! 6 ! ~#Ͱ 6 a   _  ! 6=t  o *.pѯ:r l ,þ \<=!Ͱ =ɯ2 \s 2 ! : ;! @@ I$B$!!D!$"HY = "-A" IN EFFECT, ADDRESS BACKTRACE READY FOR SYMBOLIC BACKTRACE BACKTRACE:* og$2| .w#w#w#w.~ .w#w~?w; / ! ~#4- w#~$ 5  0 > _=  ! 6 ! ~#Ͱ 6 a   _  ! 6=t  o *.pѯ:r l ,þ \<=!Ͱ =ɯ2 \s 2 ! : ;!^ >:ͨ ! - - - "* ͨ #~+   >22:## : 2+:# 2:( ! +:(     +:( $  ###:(  ~(>+V˺#^ !~ >*( 8('p  # #y ~*  k g(G 0(:9:::; $ $ :8*"& >k:7G::[[more] [[  # ͊ ##++N˹#: 8ˮ#ͺ >.ͺ Ğ ( >˿Ĥ ~*(4   ~*(! j  > >*  'O O dO  O }0ɯR8< (> 0???JanFebMarAprMayJunJulAugSepOctNovDecv * *ý **V~( ɯ~( #\ ~#z O*|y(+ O~ >G  "|("|(~!8 s#r#^  X !s#r#~#\ #{ w{ ###"*~#fo*)^#V""8 :&22T*$"="]"$*)8*$8"*8! **$ KC(x y :&([*$x( s#r#* *("***}(ADM"**(B8C,[**,R",8|(**".S8[,*.:& *",*$"2*"4K,[2*4 ( y [ SORT Error*2K *2^#V*4[ *4"4*2##"2*,+",|™ 5K ~w# x ''K !z( *+) +) Nq#Nq +) +) N#F^#V`i*"##~2l#~2m##^#VSn#^#VSp*n8W+}(z i`:l()=  ^###~))))~( = !mo&:m/oY ͠X͠͠ ͠OGw ͣa~#(3 (  ( ( (  y( yG>GO> > > Oy. *./:g>^@ 0 Oy. $O:g1~080 0bk)))_#{~08!G0:8A80 8))))O #{~#((+~#( ͯͶw#Wr# x H  H|8 }8 O !y  a{_ y( yG>GO> > > Oy. *./:g>^@ 0 Oy. $O:g1~080 0bk)))_#{~08!G0:8A80 8))))O #{~#((+~#( ͯͶw#Wr# x H  H|8 }8   Qn INITDIR Configuration Q) Suppress Prompts & Status messages (Quiet) YES NO The only configurable option in INITDIR is a toggle to suppress drive confirmation prompt and program status messages (i.e. operate quietly). Set to NO to request drive confirmation and view status messages. !9"1P *."   USQ Version 1.20 Dave Rand 01/07/19842 2:  Use: USQ afn [afn afn ...] [destination drive:]>2  *!6x :ʗ2_!6~#a{_: : _!l2 <2m]"!"!X =:] P  Output drive = :\2@ :_͋"*"*~ #pwb"*}š No file(s) found.*""* |g}o|g}o%| Out of memory. Use more specific filenames.*" $$.""* "!X  6 !Gxwgʯ#Ò!"=!\D :2D!PQ6D< No directory space. Aborting."K Files has illegal decode size. Aborting.P "|rs#r#s#r#*+N!‰_iu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_|}~# **,~#"*""X* 5"*>O**}q#"͆yi**D¼*ڒ*" Disk full. Aborting.go  Premature EOF on file... aborted.g:!=2:C>C4>==2:2:O:\O>=2yO!P k##^#VzJy2z>ʈ{/:\ʞ_\<º: _=!_#:\ ~#\<ºì: G: < x@>:!~ # >.!%~ 5# *!\*Y@G:a:  ~# xʈ{/:\ʞ_\<º: _=!_#:\ ~#\<ºì: G: < xZ3ENVINITDIR s1S2!F(:#~/o ( (2A8Q8Fc1QSSlYK)P2!yw#SlA8Q8nS2: S:_ X:A_7 !^w w#^<XO͇|c^#VS ^#V!V^S::S: SvB :_ ! <![~(!(} o0$z !! x(*R<!6!#!Y!Y6#6#6: 3S!S[~(+!('yD_~ !~ USQ.COM USQ.COM is an assembler version of the standard Unsqueeze program, written in C. The advantages of this version are MUCH faster execution, same syntax for operation (including multiple files and wildcards), and much smaller size (only 2k!). To use this program on files which have been compressed by SQ, simply type: USQ filename Where filename is the full name and extension of the file you wish to decompress. You may also use the multiple file option, and you may also specify a different drive for the output files. As well, you may just type: USQ This will place you into a command line driven mode, indicated by a '*' on the screen. All normal filename combinations will work now, but the disk drives will be reset before any operations are preformed. This allows you to change disks without returning to CP/M. As mentioned earlier, this program will also accept wildcards. You may wish to decompress, for example, all .AQM and all .DQC files on drive A, and put the destination files on drive C. To do this, you would type: USQ *.AQM *.DQC C: Possible errors: While unsqueezing, you may encounter some errors. The most common will be BDOS errors of the bad sector nature. Everyone knows how to handle these! Less common will be messages like "Illegal decode table size", which usually indicates that the file in question is not a squeezed file, but appears to be. If a file is not a squeezed file, but is included in a wildcard specification (like *.*!), the file will not be altered, and the message "is not squeezed. Ignored" will appear. A very uncommon error will be "Checksum error.". This error indicates that the file does not match the original. It is usually caused by either an undetected BDOS error, or possibly a file transmission error. Try to obtain another copy of the file, and attempt the decompress again. Differences between the C version and this one: None of the "-" switches operate in this version, as I have seen no call for them. Directed I/O will not work, but using the command line mode, and a public domain package like "EX 1.21" will give you the same effect for input. Wildcards can usually solve the problem, though, since files that are not squeezed are ignored. Disclaimer and Warning: While this program has been tested, no liablity will be assumed for its operation, or lack thereof. Feel free to use this for personal use, but if you wish to bundle it with other software, or sell it itself, please contact me for more information. Dave Rand 10232-160 Street Edmonton, Alberta Canada T5P 3E9 olve the problem, though, since files that are not squeezed are ignored. Disclaimer and Warning: While this program has been tested, no liablity will be assumed for its operation, or lack thereof. Feel free to use this for personal use8SsZ1Z>2ͮ ZSDOS Time Stamp Loader, Ver 1.0 Copyright (C) 1988 by H.F.Bower / C.W.Cotrill *>O>G>Z !~ #~ S,z(!~(!CF+N++V+^`i:gK W.B.".S0!~##~#/~/9ͮ Purpose: Load a ZSDOS Time Stamp module and patch in place. Set Stamping method & Clock type with SETUPZST. Usage : Name <-- Load the module contained Name /L <-- List the installed module Name /R <--The delete command is used to delete a line or group of lines in the buffer. The line following the last line deleted becomes the current line. Example: 3d deletes line number three. 3,6d deletes lines number three through six. ,+5d deletes the current line through next five lines. d deletes the current line. 6 TED USER'S MANUAL INSERT Format: i . Description: The INSERT command is used to insert an additional line or lines before the current line. The input text is ended by typing a period alone at the beginning of a line, followed by a carriage return. This command differs from the APPEND command only in the placement of the input text. Example: ====>i INSERT: This text is inserted prior to the current line. . EDIT: ====> 7 TED USER'S MANUAL COPY LINE Format: n1,n2 k Operands: n1............The line number to be copied. If preceded by a plus or minus sign, n1 is added to, or subtracted from, the current line. n2............The destination to where the line must be copied. If preceded by a plus or minus sign, n2 is added to, or subtracted from, the current line. Description: The COPY command is used to copy the line specified, to the line destination. This new line becomes the current line. If the destination line is greater than the last line number, this line will be appended to the last line in the file. Example: ====>3,8k 8 (the copied line is displayed here). ====> 8 TED USER'S MANUAL LOCATE LINE Format: l/pattern/ Operands: /.............A delimiter of the pattern specified. Any displayable character may be used instead of a slash. pattern.......The string pattern to be searched for. Description: The LOCATE command is used to locate the first line, starting with the line following the current line, which has the occurance of the pattern specified. If the last line is reached and no pattern is matched, TED will prompt with a message - 'CANNOT FIND:' followed by the pattern specified. If locate is successful, the line will be displayed, and becomes the current line. Example: ====>l;ofrmat; 23 Each command has its own ofrmat. ====> 9 TED USER'S MANUAL MOVE LINE Format: n1,n2 m Operands: n1............The line to be moved. If preceded by a plus or minus sign, n1 is added to, or subtracted from, the current line. n2............The new location of the moved line. If preceded by a plus or minus sign, n2 is added to, or subtracted from, the current line. Description: The MOVE command is used to move a line from one location to another. The new location of the line becomes the current line. This line is removed from the old location. Example: ====>11,20m 20 (the moved line is displayed here). ====> 10 TED USER'S MANUAL PRINT LINES Format: [n1] [,n2]|+|-|: Operands: n1............The beginning line to be displayed. n2............The last line to be displayed. +.............The line after the current line. -.............The line prior to the current line. :.............Displays 16 lines starting from the current line. Description: The print lines command requests TED to type out a group of one or more lines. A carriage return without any character preceding it, prints the current line. Example: ====>1,5 prints line one through line five. ====>,+9 prints 10 lines starting from the current line. ====>25 prints line number 25. 11 TED USER'S MANUAL QUIT Format: q Description: The quit command is used to exit the edit session without altering the source file. All current editting is lost. As a precaution, TED will prompt with the message "WRITE?????" whenever the first entry of the quit command is requested. A subsequent quit command ends the edit session. Example: ====>q WRITE???? ====>q A> 12 TED USER'S MANUAL SUBSTITUTE Format: [n1] [,n2] s/pattern/repl/[g] Operands: /.............delimiter, any displayable character may be used instead of a slash character. n1............the beginning line 1 V1.3, COPYRIGHT (C) 2007, UDO MUNK !q,s#r!q,s#r * *!q#p -^,V*Ö---- HIT RETURN TO CONTINUE, Q TO QUIT ----: $hU6!wB!~>!6.^,V6>!N* ~!w,4-~!^,V6 FILE NOT FOUND$Uͱ!w~_*!~ 4.6~ Q-4>Neq.6~ §!N Òz/W{/_!>wyOxG}o|g=q|W}_e{_zʪ!4W.4>N!,4-6>,eq.6 *v\ Clock requires +|}ͮH bytes of user space. (ͮ ++ NZ-COM Not Present...Can't loadC(PAͮ +++ ;ͮ - Loaded, Replace it (Y/[N])? : _Y(K! [ ! {(} N#0 V+^ s#r#! [K ! ^#V! !*[8*ͮ ++Clock not working ...aborting !7*|(###!ʹͮ ...loaded at *|}Hͮ Clock is : !ʹ[,K3ENVʹ~#_^#Vʹ  Ɛ'@'_*.$^#V}|(2!%w+w+V+^+r+s*Ϳ *"*#[s#r7..͹K H= 0~!͹##͹~ ~ >G(\x͘N0dlO>G͘g͘o|= 09_!V̒ }=0"&i`B ( !m͒ >w#=!z(~o>g{̒ ##q#p#^#V#| m͒ R8(>!^̒ R8(#<ͦ`G}iͦOdR0}ͦw#p#qAIɷ' x 0 OxCt` O~!zyOO #y(!"4 +4!~^w>++##  HUTH! !!$@   $@$o>g{̒ ##q#p#^#V#| m͒ R8(>!^̒ R8(#<ͦ`G}iͦOdR0* b͸{PF|w{ÖüH!K]jU^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2hZZk:h|/g}/o#|/g}/o#:h<2hqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2hZZ͉M|}ȯ|g}o)|/g}/oi` COPYRIGHT (C) 1978 MICROPRO INTERNATIONAL CORPORATION MicroPro WORDMASTER release 5.55A serial # KF2222KF >>[>2>J>>[}<͸)>;|<͸)>H)P>>[>1>;>1>HOÒ%!"&̀:O*&2&*&͟"&͖:ON#*&% >>[>K<=N#=XP1)>t1)t2L'!9"`'F##*0~#Ÿ~<ʲ+~#¯~dүҲ>2K':!F>wps#r#="9'*9'";'"='"?'"A'& 2[2h2k2}*}&|g+"C':ENOT ENOUGH MEM|<<20'|d!"&'n)"('>2,'z2-'!]~+ —NO FILE NAME~R w& ~ʰR w:\ʼ>2'~&!;  :'&FILE EXISTS ON DESTINATION DSK\>2[!2'# NEW FILE &&( !C MùWMBACKUP$$$h !\~2l:&wh&( *`'Q!'~\!Sm &!em ͗¹ & !lS# ABORT (Y/N)? 0"LY͗c*`'!#h!&~5!l(6"M'h>*$0""M'~:k( ʍG#"xLHFQʳOʂEZA# ???*M'#$ù $#"O'h!6*O'""M'I"O''>';|T,Vʹ!""T'*T'I"R'"O'ʐC,D2KxLTPTʚ*X'!͟BG/>2^'I"O'"R'F5N;RGSAUQʫ_'AIZ<ʉMʉ!W Y:L''8;;h(ˆN~#Da{:\'G:^'x!"E'"G'!"^'-"&"O'D |*Z'A>ʞzz#ÑI"O'"R'P[ XL. T: KG GN *O'*T'*X'͹*3'A"X'"T'"O'# QX?'!94STACK OVFL͠ Ç͠ >"?'A"='͛Í:\'/!2\'"X'͇(T*X'Q"X'>N5!2\'2'"X'~T!͂ *?'һͻ>}$$*='>{ܭ͟$#þ*X'*\'(*&+Q͖"\'"X'͵:\'!?'!;'!́!+|*X'|$+"X'*X':'#͵ J͖ J Jͨ _^# ## 'p7p*O'I"O'ȷp  pa*R'~   :b'C># :X'ͬ # TURKEY *R' *O'c'D; > > & E >5 [ & 2b'"O'y ȷկ m *O'":K'š "O'O'*O' ì #~+:¬  ʬ @# .!   "D"O'^ 4INVALID FILE NAMELIB#    >   ~ #L.:*? пC  !5' !3'͑þ_*3'"5'!3'͕) C !5'h *?'ͅ!5'͂ ͹͍(^ ͍ h ͡ *?'? "?'͛† !3'*1'*C'|q  ͟4QBUF FULLe ;܅ $#!    $"='͛ Ҭ  >$! 0 $ "='$ I :& ͹ } :& C N N :& C k  $*='+ ڕ ~ ˆ #*='þ ¬ > ͬ > $U ͕w# *%F  +"% /> g%/*;'͟*='{*='*='+ ~ 33!='c'O, !='͍͒ h ? 3 ͕w# C s#r+*='*?'͟!='!='x͕zL͞k 4MEM FULLV ͽ ͇Җ :\'K7 ͇Ҩ à ͽ ͮ :\' !?'$ *?'Q !;'$ *='9 y ͮͽ :c' G:\'x *='< "=' *?'J "?' 6 GyOxG*=':c'g}o|g:c'o|gw  v #^ +ͫ#^ Q #͖w  #ʙ ʈ ͫʈ ѷ} *X':\' *?'ҽ #DM!*A'ͽ *='| gDM!*;'ͫ L>͂*X'S ͮ "X'*X'!\'z5~/͕}K zK!;'*='N#͔v z9#2'͵\!"'"X'"V':\'!*')>M>  Êī# „„7>  á+ī ››7>~>"7)"LA?[*;'͟*A'#͟*='#͟ ;'(*?'͟?'4PUTCUR ERR`+6d!&~6W!&~Tw2&t:&*&"&X:&¤*&>{ܭ]Uʙ “$"&>2&:&9*& n]U !$N#ü$:+:&9]U*&͟]U!$*&$:&!&5!&5]U> $ "&!"&!&~#6> $N#*% ʄ G > !J ~G@ @0 0 !"&2&:2&2&% % %| +2_':&!&8>w!%!&5Gu6ʹ2&u!&~6d!&6k6r6@I!&~6ʨ|ڠ ʠ ʠ–>~ ҝ>^â> g%N#:&H :!J ͕Em,?*:T *vE |`FH!&~4*& tuL  V X*tnELL"T+VX "gV |ʬ2&*&!"&*V':&.>2&:&<ð!&!&(%Êi2&*& :&!&W*&ͣ$:&!&ڽl$ $*&"&Y:&!&/2& V HK "]K iu"Žu"òͲ ڛ"u ʦ Ûuڬx2&Ϳ~xu u"?'͛  !"&!&~/w!"&dʹ0 > ʫ %*& !$ͬ W|y yG:&xs z Ã:&!&V"&*&"&*='++=—O:&| $͢ tn > ͬ > ì !&~6!&͚$L:&]+:& $:&!&54!&!&~ |6 (":&ʀ !&6*&2&:&=<څ!"&"&*&"&z2&*&"&*V'*='|$"E'͌*&"&͞"&͙"&:&"&n I͚$Ï  !&4:=Ҟ+~#͚$Þl$I ͚$+ !&4 *='ͅx~# =2&:&<{ܗ$V͚$ :&WxV~# P!&4:=2+~#͚$2|*&l$*&,&"&7͕|33nx•͙ N#ͣ~ #*?'{͕yOxG;+ô:I'N#"#:I':!J':I'%!%"%:I':>P>(2>> 22&>22J'7WM HLP%!2&! &¢>2&&¢4WM.HLP NOT FOUND ON DEFAULT OR A:&!'ͩ &!'͏!'~#$=ºâʹ &f 4FILE NOT FOUND#&!'ͩ ͏O') (&f !?'ͼ͕|*V' ͟+^&!C{(t*V'͇3{&2! *V'#(#:\'M:\'7^^;͑;ԑ:\';'?'*/'`i͟ !_'4F!.'=O:-'=G  *;'s*&* '͟&+5!8/!* '#" '";'!"E'!C'I*A' U~:-'GO ~z o*A'ͪ–:&W< zÛ̓ҥ*"'͟ҽ\ ͕ͪ!͟*(')!C' \!C'x=ͪsy\ͪs!C'*A'vԏk2&"A' _#&7İ [7ĩ ~wʣ#‘7> >:[!&7:\':&:&7^!;'*;'#&Ͱ ";' *('͕͟*&')$$=O4MEM SHORTAGE, TRY CLEARING QBUFI͕ͽ)JzJ3@3T!;'͕y&/! *E'*='|ß*G'*?'͟='͟!;'*&* '͟ҷ" '!?'|*"'͟""'*$'͟"$'*&*~|`i)\͕ͅ͏ ++s#r#s#r##͕ͅ##^#V.r+s+r+s!3'͟܆!D'͟Ԇ!3'#͟+sͼͬb!A'͟++++vPUTHOLE ERR!1' ͬҝ####B'͟!7'͏s#r+ ##s#r++͑#r+s.+r+s!?'͑ͅ!SV͟  %~# !!V͟Aq  J+~ FFBAKx<4COPY ERRo>gO>Gg|DMx++^#V#~#fo++ÕGz¨{x͟ڶ!|7͟ʱڱ|7N#$#$c!#͕ |<^!s#r7>G!"͕}O)|! ʠ!!!~ 6w< !x7ʩ!: ! q#~w\'"#+ʹ!-!>ù!+"Z'"##"+)""~)" "#bk))"0_"!"Z'"X'4NUMBER TOO LARGE0?:!&~w!l(Oy";ܾ>"$ " "!>"m"t""$~"ƒ">$”""ù ¹""G͹ x"ʙ""G"͹ è""$þʳw# y <+~ "> $ 2k(6x$2&~"#" ##~$##*%~@#6#~<7#!%"%N#ʹ#͜#A##ʕ#*%~ƒ#ʹ#Ĝ#O#w#~!$>͛%2&*%~ʹ#͛%²#ʹ#͛%>#2&>#!*J y:&#N###4INTERRUPTEDN#!&~6!%"%"%dw# $ > 0$e$0$$?$ b$:& b$N#:9b$> e$b$N#T$l$$ G:&Ox ƒ$yO/ Ҏ$ʎ$ : x͚$!& ڷ$4:ʯ$$6+4Û$ʤ$ $ $ $4ä$+4N#6~wä$> $> $%>$ %>~l$%# >>*% )%!%[% H%#~<5%+6> g%4:&7%[% [% [%>^g%@"% g%͛%t%!& ʆ% „%64+4:=5+42&Þ%2&O> #ɩ%%%x&> *\ ?=)$=)w#Ž&!\60 ڱ&>GO#w ³&>O # &6 &6L#6I#6B#w2|r&\u'>2]0!"%![0~2%wG&!,x&>82%2%!"b0*"M0!1"%"&"@&#"K0"T0' _#~6' D':%A6'>:6'D'>.6'D'>-6'x&!,N'!k-x&!,N':% '> ':%'_!% '6 4ɯ2%2]02e02d02g02%:\ =)!%w#w#w#w#w#w#>2^02_0:m$(!~#$,(~(# 3(%Aʩ(Pʩ(Sʩ(Hʩ(Lʩ(*t(+t(-¶(^0~Sʣ(Mʣ(e0Lʣ(d0Qʣ(g0Rʣ(%1¶(x#3(~AҶ(#3(#6 !)-x&!x&!%͉&!%͉&ͳ'(`&͛'͠':%)!&͉&l&͛'͠'!%60#60#60#>2f0!"&:O0*!"%2%2%2%Z&%u'!-x&z{:]0ʢ)*%F)w)!"%r&\‰)*%#"%+~):.2]0ʢ)r&\!~-N'*%F))Z&!"%., һ) g})0|0¼))*)6# )G&*%*%#"%~ =)!%w#w#w#w#w#w#>2^02_0:m$(!~#$,(~(# 3(%Aʩ(Pʩ(Sʩ(Hʩ(Lʩ(*t(+t(-¶(^0~Sʣ(Mʣ(e0Lʣ(d0Qʣ(g0Rʣ(%1¶(x#3(~AҶ(#3(#6 !)-x&!x&!%͉&!%͉&ͳ'(`&͛'͠':%)!&͉&l&͛' from group %4d(%4xH)!9DM! n}4-*zP*tP7-*zP! s#r*HP`is#r͐͐ҙ-!P~#fo͉͐n͐)|g}os`i^#Vr+sH-!9!9DM͐͒8!9.͒8!D`is#rz-',͐:`is#r͐|-!J.͒8.͐|.!N.͒8.!lCû-͐|͝&0.!9 (y/n/^C) ==> ?YESNO!9DM! w#w* P n}2#P*#P}‹.! 6#6* P n}2#P`iw#w͐.*#P&|g}o|²..! ^#Vr+s*#P&)}2#P`i^#Vr+sÑ.͐.!9!9DM!P~#fo͉͐n}2#P*#P͐)|g}o&!9DM`iw#w*P"P! w#w͐*0PҶ/͐)|q/*P#"P+n}2#P*#P&|g}o|ž/! n}ʕ/͐ý/`i^#Vr+s*#P&)}2#P! ^#Vr+sE/͐ý/!9*P}/**P*&PA!^1x9*8P*6P*4P!1x9*2P*\P*ZP!1x9*>P*.P!2x9*RP*NP*PP!92x9*HP*LP*JP!w2x9*bP*`P*^P!2x9*hP!2x9*tP*@Pk*tP*rP!3x9!M3x9!",P*P"z*,P|0*z##"z++~#fo!v3x9*,P#",Pì0!|3x9* P ~#fo* P ~#fo* P n&* P n&* P~#fo* P~#fo* Pn&* P###n&* P##n&* P~#fo!3x9!9 Statistics for: Drive %c (user %d) tracks: %4d system %4d data %4d total groups: %4d allocated %4d free %4d total sectors: %4d per track %4d per group directory entries: %4d used %4d free %4d total reserved groups: %4d directory %4d other %4d total user bytes: %4dK used %4dK free %4dK total !!BG.SWP file: %4d entries %4d sectors %4d groups %4dK XLT ---scratch--- DIRB DPB CSV ALV %04x SPT BSH BLM EXM DSM DRM AL0 AL1 CKS OFF %04x %02x %02x %02x %04x %04x %02x %02x %04x %04x !9DM>2 P!! B! s#r!! B!!4D! s#rzM4͐! B!&4! 6#6͐k5:"P|†4͐! B!4x9',͐*P͐gE͐ͣ! s͈͐D͐! B! n}4!&4{2 P&4! 9!!!TIME&.DATCan't allocate!!9DM* P} 5*P|#5þ7!!7D! s#rzD5!þ7͐ F"P*P n&|g}os*P!B|Š5!!q!",P*,P*hPh7*,P kRn}´5^7*,P kR~#fo! s#r*,P kR~#fo! s#r͐|g}o))͐))))! s#r*,P kR#~#fo! s#r*,P kR###~#fo! s#r͐|g}o))͐))))`is#r͐|ʈ6͐+҈6!!q!͉͐͐ (F#|6!!xT͐ gE+|6!!q*P͉͐k͐! s#r!͐ !xT͐C!xT7!͉͐͐ (F#|Q7!!xT͐ C+|^7!!q*,P#",PÐ5͐ ͈D#|„7!!q*P n&|g}os*P!B|¾7!!q!9!!!TIME&.DAT!9DM! s`is#6͐"P͐|!8! n*P#"P+nѯgWs`i^#Vr+s7*P! ns!9!b8]8~P]8#~P]8#~S]8!!ɯ# c8 68}ʐ8M*8|ʐ8++~w!9DM͐n}ʼ8! ^#Vr+sn&lCÚ8!9DM`iw#w! 6#6͐ n! s{ 8! n} 8! ^#Vr+s8! n}-9! 6#6! ^#Vr+s! ^#Vr+sn! s;|_9͐ ?! nѯg`is#r9͐͐?o9!9!9DM!lC! =Uz=Xʃ=Oʌ=C=S>|?Â?͐~#fo|z=! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 Ò=! 6Ò=! 6! ~#fo! n&! ^#Vr+s~#fo! ͙Aѯgs#r{>! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s{>! n}>! 6#6! ^#Vr+s~#fo! s#r͐n}{>͐|{>! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s1>͐6! ! s#r! n}>! ^#Vr+s!|>͐͐! n}>!0>! !>!9~#fo#|>!?×>͐n}-?͐͐! ^#Vr+sn&!?!9~#fo#|*?!?>! n}y?! ^#Vr+s!|y?͐͐! !g?!9~#fo#|v?!?7?î?!?͐͐`in&!?!9~#fo#|®?!??͐͐`in&!?!9~#fo#|?!?4 LOOP: REPEAT .... n TIMES (DEFAULT = 65535) nM....@ (MACRO) SAME AS ABOVE  COMMAND MODE SUMMARY (TYPE ^J FOR NEXT FRAME) +-nFkey$ (FIND) SHORT SEARCH FOR key n TIMES +-nNkey$ (NEXT) LONG SEARCH FOR key n TIMES +-nSkey$text$ SUBSTITUTE AFTER SHORT SEARCH n TIMES +-nRkey$text$ (REPLACE) SUBSTITUTE AFTER LONG SEARCH /F,/N,/S,/R SAME, EXCEPT EXIT <..> OR QX IF NOT FOUND Y[d:]name.typ$ (YANK) READS FILE IN AT CURSOR nW[d:]name.typ$ WRITE n LINES INTO THE FILE NAMED ^N CRLF INSIDE TEXT OR KEY ^Y ESC INSIDE TEXT OR KEY ^A MATCHES ANY IN KEY ^S MATCHES SEPERATOR IN KEY ^OX MATCHES NOT X IN KEY  COMMAMD MODE SUMMARY (TYPE ^J TO RETURN TO EDITING) nQP PUT n LINES INTO Q BUFFER, DELETE FROM FILE, n>0 n/QP APPEND n LINES TO Q BUFFER, DELETE FROM FILE, n>0 nQG (GET) COPY Q BUFFER INTO FILE n TIMES nQT TYPE Q BUFFER n TIMES nQK (KILL) CLEAR Q BUFFER nQX EXECUTE COMMANDS IN Q BUFFER n TIMES nQLtext$ (LOAD) PUT text INTO Q BUFFER n/QLtext$ APPEND text TO Q BUFFER n TIMES V ENTER VIDEO MODE N! PUT CHR CODE N INTO FILE ; ALL FOLLOWING IS COMMENT E END EDIT H END EDIT AND START OVER Q (QUIT) ABANDON EDIT O RETURN TO ORIGINAL FILE ^Q DISPLAY HELP FILE ^V NEXT CHR(S) TO VIDEO ^C INTERRUPT COMMAND DS IN Q BUFFER n TIMES nQLtext$ (LOAD) PUT text INTO Q BUFFER n/QLtext$ APPEND text TO Q BUFFER n TIMES V ENTER VI* b͸{43Xuw{ÖüH!K]jU^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2hZZk:h|/g}/o#|/g}/o#:h<2hqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2hZZ͉M|}ȯ|g}o)|/g}/oi!v"/!Q/+>c!K-6*/K>XG!+>yC!Q/+>c!+Q/>r–!}o|g}ʖ!#"/!/–!/ʖ!/+>c!/ͷ~g"B,U"G-!,,> c!o0ͷX:F-!,,> c!q0ͷ~*G-w#w:F-X!s0͡!F-6*G-*G-^#V#)))"I-*B,*G-^#V))W+"B,*B,>og"@,:F-f!,,> c!y0ͷ~!{0!+Q/>r2K-*I-w#w2P/>2O/2N/!/(,>t!"N-:F-X!D,LG!),>y :#!#6!Q/D,>_:O/!N/:N/2O/2N/!P/4!}0!0*L-#"L-!0A !/*!/>X!/>Xt!D,KLG!.,>y:O/!N/f:N/2O/2N/!/>X!.,!,@!D,KL(,tî!N/4!,/>c!0!0!0n !N-~#!0̓ ã!0ͬ!D,/,>c!0~U!9"0:#Z!#6!#"/r*/>$Gt!##>Gt!#0,>Gt!#6!#6!#"0!0T!F-6!"#!D,6!06:0}͐3>!D,ͧd*0!F-6!#6*##"#*# |.!"0}20!0>!#*0"0!0U!#"0!0+!#*06*0 "0!04í!"#:+.!+6:# :# :#.~!#*#~20:0 20:0Q~:0Þ:K-z"/!0Ur"/*/ 3,>Gt!0#!D,6,> c!0ͷ~Ͳ"0~# ¦*0^#V"0*0^#V"0͕!1"1!216>261251:!12:1::1!51!!1:51og~271:21!216{:71!61281*0:61o:81OLG!1>c:81og>og}281*0:81ogW"0*0:81og####"0*0*0W*00>c*0";1!;1ͷ~>291!1n&}2=1:=1!91*1:91og"1*1~og |*1>ߦw*1~?*16_*1~@*16`!914å*0++*0)"1*11>_*0^#V"31*0^#V#r+s*1*0*0^#V)))s#r*0:61_L*0*0^#V)))>t*0*0^#V)))w#w!31#`*0*31)))^#V1j`*0*0^#V)))"1*1!1>Gt*0*31)))"1*1*1>Gt*31+"31*0*31)))^#V1j!31#T*1"1*0*31)))"1*1*1>Gt*31+"31*11>Gt:71%^}2C1:C1!A1$ *0:A1_LG!>1>t!0>1xy!0>1xy !B14:A1!!1:B1ogw!0>1xy :B12!1!A14ì*00>c*0"D1!D1ͷ~^#V"F1*F1^#V> ͍!H1 *!H1> XÓ1~# s !9"2!1"1!16*1w#w*1ng | *1KLG!1>yº !1**1~ogQ1~og)1^#V*1^#V#r+sH !11>c !1*>22*1~ogQ1~Y !11xyK !24H :2K !1!1> !1* *1*1^#Vͯ1>_ *1~ogQ1~ !1*{ !1*!11xy !1*é !1**1~ogQ1~ !1* *2:1 !16!"1*1n&"1*1"1' *1#"1*1*1W7 *1*1>Ó*1~og |c !1>ߦw !1~?t !16_ !1~@‚ !16`Y2 ~# ˆ *_2^#V"e2*c2^#V"g2!"2*[2^#V"2*2*2W *]2*2ͯ"2!2 :2 *e2*2)))~# *g2^#V#*e2*2)))s#rc *e2*2)))^#V"2*g2*2))~#K *g2*2))^#V"2% *g2^#V#*g2*2))s#r*g2^#V#r+s*a2^#V*g2^#VW !i272>!c!2ͷ~*2+|´ *Y2^#VO"2þ *Y2^#V"2*2*g2++*g2^#V))s#r*g2*g2^#V))w#w*2#"2ô 2~# *26*2LG!X2>yC *2"3*3#~>!3w:3og2~C :2 !26*e2^#V#"3!3"323!3> *3++| !"3Ñ *3>og"3*3:3og)2s#r!34d !" 3*e2^#V" 323*2"3!3"3* 3* 3W_!34:3og)2^#V" 3*e2*3)))^#V"3*2*3j/*3+" 3* 3* 3"3!36\*3*2jY*3#" 3* 3* 3W"3!36\Û :3o* 3"3u* 3"3*e2*3)))^#V"3*2*3jʛ*26*3*2s#r3 ~# ±*3^#V"#3*!3^#V"%3! ÷>2.3*3~ʟ*34*3~og"3!3A !/3*!/3>XG!3>y.!/3>X3t!/3>XG!3>y[!/3>X3t*3!3>}23:3ʐ!/3>S*3:3<_Lt*3"3!3ö*33>_*3"3!3!;3"93!3*3>!t!<3"53!L33>Gt!Q33>Gt!"'32.3*'3*#3^#VW*'3#"'3*#3*'3)))^#V!<3>p!")3*)3 |*53+*)3"73*73~ ]Æ*73~_n*736?|*73~`|*736@*)3#")38*#3*'3)))!M3>Gt*#3*'3)))^#V")32-3!)3~#ʖ:-3 ͟!<33>t!M33>t2-3!-34*%3++*)3))^#V"+3:,31!Q3:-3ogͯ3>Gt*+3O"+3M!Q3:-3ogͯ3>Gt!3A !/3*!/3>S!L3:-3ogͯ>t*%3*)3))^#V")3ø͟!.34*3~!.3!t:-3ogͯ}!;3w!;3~w*93:;3=_L3t*93!3>_!3^#V"<:F4!F46*<KLG!H<>y+!E46ð!E46!4"$Gt!'4I<>Gt!*46!>46z"!4*<@*<"r2<:E4:<>2<>2<*Gt!^<<xy;!<8!<5!<͛#E!<͛!<5:22%^}2<:!4*<@*<"!4*<@*<"2<*t!<͆!<4!<͆^#V^#V  $ "/  Later CP/M or MP/M Version Required$*#=**#={ozgY|g}o!\!l!ÍÝ3>Ý!*3>K* !*   >    !"#$%(^#V^#VF3O3*# 72gl*<"?'w#-!9~sG~#s4! 9~.Y+60e0e6 #M+r>o&9y>o&90w+Š6./G! >0 >-3T]))寕iO>`G>0 <  DM0 > Ew#E~#X~#W #Ý!9Oo>gy~#o>gxGGtwF#"WObk++~+ y~#/~!>)< D=M)6ɯo>g{ozg!dÄlmnpr Conversion2!Ä*%=|^#V"%=###^#V#N#Fxʿ #~ò*%=|^#V#N#F!9yx"%=:L# !9!#{z#  !!9:]#O!^# {#z!]#5#}OD*#=~r##~#fo9!NÄVWXZ\ Free Space Exhausted##^#V#{_zW;{_zW>4z˜{##^#V# ##s#rs#r#s#r+++~sw#r####}*#=}|5*{z5+F+N+V+5^{;{z;}|;{i`~sw#r##q#p i`N#F#^#V~;q4#p+i`##s#rA"]" FREE Request Out-of-Range$ Free Space Overwrite$GKҜMbkÜiFhNhN#Fh^#V"#y2#xүi&ͩ x>!J#{#z*#*# xyxM_!^#VͤG>(Iỳ>)I|*<|6<ͤͶò">,IG> _O! O! O!0:IIWWG|e}e ڐdԒ ͒ڝÔxWN #~Iæ!wͤ*=!9{_z{ G>#I*=>=^#V#q>: >?I!oͤͤ>=I^#V|A}8.))ä#F>A> #\~ >.~ =M^#V# File: Traceback: ERROR FIXED OVERFLOW OVERFLOW UNDERFLOW ZERO DIVIDE END OF FILE UNDEFINED FILE KEYNULCONCONRDRPUNLSTBADG!]#~8  " Condition Stack Overflow$4Ox!< w#s#r#s#r!9!^# s#r!]#N!< +++++q #{Š #zʏ ++~q ++!]#5!~# ž Ú !]#N!< +++++¹ #~# +{ #z ++~ù #^#V=!L#~9!5:L#_!M#^#V"J#~#.~# !*#)))))# )| !*~#|}*#"#:L#*J#~#w# F!*#{ `! d!!#"#Ö!Copyright (c) 1980 Digital Research, v1.3 !"!="="%=2]#2L#*'= !"=q#p##}o"#=*}o|!""+w+w+r+s4w#w#s#r<2)=++*!=s#r"!=*=#"=*=DM!!=x~¨"#~+¨"+F+Nq#p*=+"=ʣ"Ҧ"=Y"!+~O~#~G!>w!/x"yʞ" >O6# x" h"=ɯ ~#fo++"!=~#"*!="²""""  Insufficient Memory$ Invalid I/O List End of Execution$#dd(Copyright (c) 1980 Digital Research V1.3MXList SYMd$PlPRINTER busy XREF 1.3 no SYM file no PRN file CP/M PRNXRFABORTED. V́ + 1@+>  FG1"z*QS cE5T @///,,D,B,G-,Q/D,D,L-,D,D,N-P-L-N-P-G-@,I-P/O/Q/G-I-D,000//D,symbol table overflow ' invalid SYM file format  { *$'symbol table reference overflow 22i2 0# +333lXRF.XRF make error  '.XRF close error .XRF write error <<<_<<bSAVENDR COM SDZ COM/SHOW COMVSUB COMTCAP LBR!=COPYRIGHT (C) 1977, DIGITAL RESEARCH ZSID VERS 1.4$1/ !~=W!xe ~#Xbxʇ {z~#o}o҃i._!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*oÃø *sy͏͟+-'#.@=90Oy) ,    ͌ >^! 6 # q! w‡Ø͌>ʘ# }2 :  A ͪBxø{{: G*w#wx͡ ͟80* {#z+++  ## ' 1>>^ 0 8 a[^ !~-i6+!w yÏaÌ^ ! y͌ >ʠ(͇ ͇ >V a!  y͟͡O*w#"͌ . a  !g  !! 0͟2!b  F>!  ®Wc͡Oi W*##yOx€y Ê y AzÙKByxy͡Ù! {/O! .{/O9OV >G>ͽÙG>ÙV) y*W>ưG*! ž yG VO{xʃfBGͲ G>Ù x Ͳ>Ù   Â! Q V ͵'> >3*  &! E͟(ʹN[W@GVI@zWe '3>ͽOzy Â(Mx?*z:: OzäIjG>ÙzG'vV”zOx yʏ >(ʠOxà: Ox¯>*ä>>{ IO> VyHÂͪ͟A>2Ó'>"Ó>CÏ͟XY x GV6W>6xJ  pÙ! aO y! ‰ uwͻ'‚>!  Q(ʰ_zÕz Ͳ >Oz>ʤ>ä! ͌ >! EV ͽG>Ù_V% {>*W -{ZW >{ ͵@&! VhV c >rw> V >** {zҝ*~#" 2x:U<{͉2 5 !äͤAOHL(HL)CʹA HL{X GƐ'@'OxƐ'@'ON#5 z80O,z8UO! N#Ny ,!}ä(C)3ͱ,USPS* |} !9":!"<<2* ͞ !~5 * ͡S ͉ͤW! !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U ! 3! 3UW͒H! 3ü! 3\, ! 3\! zl z=1  3 !+ ͤ͵ ͵ !. ͤ!  ! O 3͍A,,A3͍! ́Á ! L ! ́z8O! 3~ ~ >v ! 3Uʹ,zʹzHږ 8O!n 3 C( )(͍)! 30> >z ͥ ,,ͥ ͉͉W_͕yO! 3 $% ,% !+ ͤO͉͒y !W {A !\ ͤ: ͒H)(IX+(IY+yO 3zʉ W! W3\,% ! 3! ͤAF,AF'! z> z ʽ ! ><3͈͐! 3 ͵ Z͉W{ ͇ z – z!  ! a # zB) zO!f 3>͈C~ GK ! 3z! E ! 3@ z¾ z! u ! 3w,ͱ́r! 3z ͥ # ͍ z¯ ͉2 ͉W͇ 5 z'!k # µ !3{͒z͒S?*!9"͡"͉*" *'/7?v"*2:DEFMV^goRET EI DI EXX HALTCCF SCF CPL DAA RRA RLA RRCARLCANOP !"#)*+4569FNV^fnpqrstuw~CP OR XOR AND IN OUT JR DJNZADD ADC SUB SBC AND XOR OR CP INC DEC LD RST AF POP PUSHJP CALLRET EX I,A A,I RLD RRD IM 2IM 1RETIIM 0RETNNEG LDI CPI INI OUTILDD CPD IND OUTDLDIRCPIRINIROTIRLDDRCPDRINDROTDRSBC ADC RLC RRC RL RR SLA SRA SRL BIT RES SET LD IM NZZ NCC POPEP M B C D E H L (HL A BC DE HL SP IX IY AF (IX+(IY+(BC (DE (C (SP ??= xKàï÷ZhÐyg Æ}!"Q!*"!"!""!2V!2M!2#!2S!!" "d!"!"!!1!!++"!"O!>28!"9:] !÷1!į>#yh͐ !J!6-B5͐A]]_!Y^#V]8]03]]]]]!]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2]]g=!1g=-1g!WgG"d!=Wg=]b*d!}o"f!*d!"h!#>:y:K!ʞw^#V##:ڲ …òw~#:ڲ}ž"d!:J!*h!w+:K!!L!~/w*d!}|*d!:e]ggg{z|]}$2D!2E!gg"F!g"H!DM\!D!6xf"!=x=xYP!$!~ʲ#^#V:D!ʫ*!{«z«"!!~62 !ò#w6 }1!1!*!*!!V!~4#~#F#x~#s#r#w>ʿg===]g#wᯕo>g#'d w>#y!3^#V#0}o|gg Zx~y0ʅyGÑyyÑ‘G~Sz{ <w>'y{y>'y*!##V+^+N+y#w ~+yxÐ. *  w#  *,?r# ,:J!]m!!Ow #w Eq!\ S:o@w#tG6#.ʏÃ6# ‘S6 w#ä!ex#y#*!}|"!:M!!]qg!=:J!]g!!|]"!!$!~=#~#V;z;:!w :!]!$!~e:!w#s#r R]!$!~ʛ:J!ʈ6Û~w#^#V v!ʷ=]g"!!l!~# :]?ʀ͍]>HXEͱ*!\ͯ€w# &]:Wr_rrO {Bx!<i`"!Àrrw#Er]&Z&Z\GтWx!ڐ:M!̠>ULTͱ!!\~# ¡2|:] >!v͍͆<]&>!_\_*!& & *+&  !]w{]*#^#Vr+s+6]*"s#s#rT!J*!*"!!͆*!#w*!#w*+# SYMBOLS NEXT PC END =]g#w:K!ʹ^#V#ý~wh͐ .:m!>."͜ ʜw#=]g:K! s#r#Ü]}w#:K!ʜ#Ü>#>2S!!"O!#P@g}]=O=]g"O!"T!2E!U # `͐ xG͐ …xÔ']͐ ]x/!*5]ʬ!:E]]͐ ]cwh=]gx|]}]#gA>Ag}|]E~!!!!pLs#r:[F_!~X![4Y\ͯX2[17>?y l!ͯ!n!"j!> _ͯ~y#Æ͜a_!m!~> ʰ5*j!~#"j! Ҽ0y7yͲò> y> y ͯ#:J! w>.y^+~y:J! >:y|}5 y>.y*f!}o|/+- ,) 0 ]^#V#͐*!Ny]*j!*l! Eʠ ʺ+º͐Ë ºHʳ͐#^#V"l!"j!~/o>g++u!.n@n^#V=n^'͜ ]'͜H']S_#B͐H@0 ])DM)) O #^Y*!^#V#͐^KZ))))o͐HB"!s#r#!]!4-ˆî+•*!Ý+«͐ Ø-͐y_xWØ͐!K!6W6͐!]!6# ,>2]!}m ͐}m ͐}m ]]!]!JXN~!:!~# IA_^!!L^#Vx}>ѷ>-y~y/y~y>=Ñ/y>'y¨~!!!!~[#wc#x ڹwù5!*ͱE!:ͱw *!" !6c#~O+"f!*!~~#:cwJ^#Vy6DzS_c~*!~c#^+*!~Gzx&ç@—xv&ʳx80&óx6ʳ4ʧ5¹>=y*!~*!x*!*!:J!& &&x*!~&ó&*!~9&4&&#^xCZMEIABDHSPXY!"T!2S!"!+"!!91!!91!*!~: !2D!!@!~ʨ#^#V#~ ›!V!~6=G#^#V#~xú#"!!N#FO*Q!>7U:#!”!$!~Q#~#V*!QzQ~==2#!6w6:J!6 U<!͆*!U ”|=p U*! U:D!ʔ*H!MD*F!:E!7U!"O!O2#!>*y*!ҷ" *!"d! PASS !S!~*T!+"T!|w=2#!~! ~##Z: !*!!w2 !~C< EB ͍E *!F#!N!s!7^#V__eB B ? ? 2 B B uE ͍E ::^#V#k^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G ~_!< < "< {p? {5? B ? ͍>G ><7*O!|z !N!N*!!b z >#y> y×:S!!K!ʐ ڐ >û ʺ =_~/w/w{ʮ Ү ͍=ʺ YP× "!pCE" *!##F+N+~!/o>g{!z!<33 @ BAI $@$B$@$$@!$D  I $I $$$$ BA"$ BHB$$ !$$B$! B! $$" " A! H BBBHBBHAHD!I I I$$! $@B $!B "I   H "DI!HI $ ! B"!AI$I$I$ I$A$ I$@D! $"$ HDIDBHIBAI@AHHH"H@@D$$I ABI$I$HB@I$@$I$J $$IB@* I$$I"HI$$ @ $!$I!"@! $AI$$! "B $ "H@"! $ HD@DH"$@!$$ H  ! @AA@H@HBD@@BI@$ $HBD!B HI$$$"$ D$"HIHBI$I$DH@"A $@ ! !!HB!DHII @  ! $  B @A $!BI "@$" "$I$I! @ !D$BB$"I$  $!D$$I$I$$"A$$I  @I I$ @"H @ @@BHABIA $ @@ !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3UO =S!9 Enter the number of the terminal you wish to use. To define a new terminal, enter just a . ==> __%d %s bad value Copy a definition For terminal __%d %s bad number ... copying to #%2d Review or edit the terminal definition The terminal information will be displayed in two sections: - cursor addressing data - terminal control strings <<< CURSOR ADDRESSING DATA for terminal: %s >>> Update the terminal database file for entry # %d with this (modified) definition Re-edit the terminal definitionDo another terminal All done.!9DM)*T#!O>!qͬ1|ƒ ͐! I!= :8>}2dP}A S CDU"O2Q8B͑!!, !!9 !!F J͑J!!S J!!` J!!m J͚J!QI!IÔ Install the definition for: %s. into utilities Select one: A - all DateStamper utilities (SDD,DATSWEEP,DSCONFIG,SETUPCLK) S - SDD D - DATSWEEP C - DSCONFIG U - SETUPCLK O - other Q - quit ==>?DSCONFIG.COMDATSWEEP.COMSETUPCLK.COMDSCONFIG.COMDATSWEEP.COMSETUPCLK.COM!9DM!=͐f)!͐0I"vP#|͐!L>!\ͬ1|Ê!!͐*vP͘I#|͐!U*vPI͐͐!i>!! If necessary, change disks before replying. Can't find %s Try again Can't read %s!9DM!U!)!ͬ1|!͐*vP͘I#|͐!U*vP͌J͐͐!>*vP@K ... Ok to update Can't write %s!9DM͐ ###͉`is#r͐ ###)! s#r!͐͐z#|dÑ!͐!U*bPCK!͐͐y!9!9DM!=!9! ;!! !P:! ! !PCK!:=!`i!H!!}ͯ͐! !9Enter name of file to configure: Enter installation address in file ( sets 08B6H for bds-c1.5) ==> ____H!!!Cz#|¬!!U*bP!?CK!!U*bP! ?CKU"`P*T#n&8>|**T##n&8>|**`P6/*`P6!!!KySDD.COMSDD.COM!{=* P!H*P! H͔K *Tn&!v>*Tn&!>*Tn}ʺ!ý!*Tn&*Tn&!>*Tn}!$!(!/>*Tn&!K>*Tn&!j>*Tn}:!=!!>*Tn}t*Tn}g!j!!> Number of ROWS (exlcuding status line): %2d Number of COLUMNS: %2dDOES NOT causeCAUSES Sending character to row %2d, col %2d %s screen to scrollROWCOLUMN Send %s coordinate first Add %2xH to ROW coordinate Add %2xH to COLUMN coordinateDO NOT %sCONVERT coordinates to ASCII digitsDO NOT %sCONVERT to complementary binary values!hͬ1|$!ͬ1|>2P!*T!N!!ͯ!O*T!N!!ͯ*Tn&*Tn&!0>!cͬ1|ʏ*T6Ø*T6!tͬ1|ʱ*T6ú*T6! *T!H!!ͯ! *T!H!!ͯ!(ͬ1|*T6*T6*Tn}B!Mͬ1|B*T6K*T6!t=~!ͬ1|f Do you want to change the terminal name ? Do you want to edit the cursor addressing data Number of ROWS, excluding status line ( sets 24) ==> __ Number of COLUMNS ( sets 79) ==> __ Does sending character to row %2d, col %2d cause screen to scroll Send ROW coordinate first, then COLUMN Add this value to ROW coordinate ( sets SPACE=20H) ==> __H Add this value to COLUMN coordinate ( sets SPACE=20H) ==> __H Convert coordinates to ASCII digits Convert to complemented binary values <<< Summary of (new) values: >>> Any changes required!9DM͐!>! n&͐!P:|J͐++|͐ ͐ s#r! n}H͝!!>G͐ ͐ s#r! n}H͝>!A!>~͐ ! n}H͝c!f!!Pl>|~!I%s%02x%2d%04x%4d%x %d !9DM*T! s#r`iw#w͐|! ^#Vr+s6`i^#Vr+súT! s#r`iw#w͐!?++! ^#Vr+s6`i^#Vr+s!9!9DM*T#!>`iw#w͐*rPұ͐|ͣ*gP&͐)T~#fo͐͐|¥!= :`i^#Vr+sP!&ù!9 <<< TERMINAL CONTROL STRINGS (<= 8 characters) for: %s. >>> ...press any key to continue !9DM! n}8! I͐ ͐!>͐ ͇>(F<T! s#r͐͐)))`is#r! n&!Z͐3! n&!Z͐ð!9%2d %s!9DM`iw#w! n}B8ZVNʓ͐n&|g}o|V`i~#fo! n&͐n&|g}oͻ6s#r! ^#Vr+sn&|g}o|SV͐n}ʐ`i~#fo! n&! ^#Vr+sn&ͻ6s#rV! ^#Vr+sn! s#6͐|`i~#fo! n&! ^#Vr+sn&ͻ6s#r! ^#Vr+sê͐!9!9DM*tP͗K#|'!!T0I"tP!*zP͐?*tP͘I#|e*zP*bP*tPI*zPv͐!x>Ͱ; Can't get record for %2d!9DM*bP"T* P!H!!T0I"tP#|!T!>Ͱ;`iw#w*zP*bP*tPI|0͐k|P*Tns#6*T#͐k|P##>`i^#Vr+s*tP@K͐"xP!>`iw#w͐*xPҼ͐k|P##͐! >͐k|P##͇>F<`i^#Vr+s!|¹! IM!9Can't open: %s <<< Terminals currently defined in the data base >>> %4d %s!9DM͐*xPG *xP#"xP+! s#r! >*T͐s!!T0I"tP#|x !T! >Ͱ;!͐*zP?*tP͘I#|ʶ *zP*bP*tP͌J*zP ͐! >Ͱ;*tP@K using terminal number %2dCan't open: %sCan't update database for #%2d!9DM! 6!!=!!=!D"=!"=*fP}W!!"Z!!"!">!#ͬ1|ʃ!*fP}/o&}2fP! 6*fP}ʑ!!hÔ!!M}2gP! n&â!!9 In ASCII mode you type the character, or control character to be entered. In HEX mode you type two hexadecimal (0-9,A-F) digits for each character. After completing one full section of entries, you can switch to the other mode. Hexadecimal value are displayed inside angle brackets, e.g. <01>HEXASCII Display and edit in: %s moè COPYRIGHT (C) 1980 DIGITAL RESEARCH 15252'5h+U"!""*"5j"2u3>2v3*5"3-ͩ-:5Z!""$"5"5"5"5"5" " 522>2 5:4 b:4$M:(5-C+C*M:(5!,5M[!35PMp%M(ʡͣ#v#ƒ$:5}% }!"&:5ʦ>%*#5}| V AX*|:5(#$*#5"A*#5"&#v#% RØV AR*&*R"A*5"%5!4NA#~ͫ% p"5*5N"%5!4q#͢%w 3:4(x *#5:,5o"#5V%2*5Ô; !:V :4:4{%͉"">2!:4:424*o,kÊo:4:4{,ʊ:k*%5#!(5~́ w23@:2(4y""3"323>2v3 :u3L!P46+(0>24:u3:v3"U24͋$͇%ͩ$!5*}*#5":4:4: =X!^#fk:Vj&AW y ~   8 ; C :4:4=G!4F#I ,*5͘EIr,o͉n2"5~2 r,Yo :K4 ͉:K4 " : 52> 2K4::4M:4 Mg %U!P46+:v3Ϳ$ý*3*3"3Ϳ$"3½:v3*3^#V{ʽr+s*3^#V ʽ-:v3:r+s!46#w4> 24͋$í!94~6!(5~6"3~,_#!4w͋$ÏV *3o6͋$*3~6 Þ*3:4,"3~ š62:4*3s#r2(5294*3#"%5͇%ͩ$@*3"5":(42:32(5Ģ >24*3"32(5 ͉r!Q4wM>=n2*5~2%! 5%~2͉:K4 v }>v S M:5p*#5*gu>%"u> %2 :5O%:4©:5[%! 4:4©:4,ʀ>:5: O%% 2)5:4:4 !*%5"-5>2'5*%5"&:4:4(:)5N:5N:4=N N*&"%52)ͫ%:(5ī%x;c!'54!'55:)5ž!":*5ʍ!5%Ù*5%*#5":5*%5~ *%56 ͫ%<͉:K4 "5~2o M%@>@%>#*55%!"!/5",:4M:'5M*,~#T :5T !4N*5*,s#r+"%5yP  ͫ%> ͫ%%g >v % 222:4¦ :4 – ì !ʬ ¦ À :4:4€ ( :4 :4:€ :4€ (€ € x !4À  :€ :>S %2 !~5€ :%j B !4À € !~5€ úG!~4_!p!~5^!~>À >2)5:4 *5" +"%5:4ڥ >ͫ%ͫ%[%:4 :4, V :4  + !4N#~ͫ% > ͫ%ͫ%*5"#5:)5- :)5%͉}*5" +"%5ͫ%ͫ%*5"#5>@:2(4:(5 H 23y"*5"3*%5! {#zt ~+"%5*5+"5wT #"5*5"3:)5ʑ N]T s#r+*#5* {_zW"3:)52v3 > > >2 5n2"5 %: 5*#5* 5"#5*55%"#5:5KBn2: 5O0!*", ++ *5:K4 0@:5Ĩ/ú>2) :u3ʭ :4­ *5+"%5[%2!<24*$#"$""*:40!??"4͋$"5+"%5͇%ͩ$+:4­ :4,J "*} :*5 :5%:4 +:25Ĩ/:4 :4  @S+ >2):4„ ͣ#v#: :5$:)%k %G I k :)%:)c %k %+:4„ :4, " :4 :4/ :4 :5 $*#5^#V*S"s#r*5*#5s#r+"5 |#v#*#5" 5:4 :4/ !"5:5> %AB,#*#5 :4:4 !;*M_!Q^#fkox Iͻ8ʗy0IͻGͰͻHIͻ(yIͰͻͻy0ͻIH'd ! ^#V#*"0}o|gF 9"":!`x=`y0l2!!4^4!4q/:4:4,; *5͉: 5ª|}$ªo͕Ͱ8Oͻy0H͕H͉: 5në:4:4,>C0:4M:4  ;C:4#:4 ! #! #{ozgBB**}j!]~ } #ymy>2(>2v3͖*5|EB"#5>%0,# ^#VÕJB*50MB*50!".*5} "#5^#V"5*.s#r+".*."5:u32'5!5~4P!"*|"#5>%*5%"".o!P46 !L4*>2(>2v3͖>2(>2v3͖NB:O* 0:+5ʘ0*5*!5S*5*!5S\gr!P4w#þH USE FACTOR !M4** "5A1z{*5~2*"#5v#!":5(%! 5%n25%%%>%n2G:5x:L4 o:x_*5#"5:5ʽ*5|ʉIB0>%%O%O: 5%*55%ý:5ʽ: 5O*5*5ESS͎2O=>O͎2N=#y{#* 5* 5 "#5" 5͎21͎2=HÎ2Î20:G!^4!K4wOOn2!6z_{_4A_A?*!5"#5*#5*5{z*/5+"%5**+"%5% V%=͇%͢%*%5#þ!v3ʲ:(O! ^#V4@B%GFB>%%O0*#5##~<##ò*#5"|3#"%5͇%:15^:4^!4~?^#ʲ:4͆!~3"z3^#V"#5}ʝ##~2v32w322(!~38w# ͖!~3"z3>2y3*z3^#V#"z3"#5*#5}ʩ##~<2x3G*#5###"%5:w37> ͺ!w3~w7>w> ͺ:w3Pd!5^!K4~ B!~624(02w3%!>%|_}_> ͺ!w3~w:x3ʜ=͢%ͺ!w34È*#5^#V"#5!y35:24(0!^4!K4w>R0>V0>D>P>L>O>B>S>N0!u~ڇK6N4!E s#r!U :mw* 5!] s#r!t~ ڹ6K^4!1w!;p!u~K!5N!E ~#fo!U ~2n!] ^#V"pK2oo&) ^#fkN]ivKzV{K>ɯo>g"!6ů{_zW5>)D*OxGғ !?uDM!xGyOڱò)â͝ddJ)=J|g}o=2o2o*p"rOxKxGyKxGy0KG*p*r}|K\\z{W¢Ü}|ڜâWʜllyWœâ!!#Qzg{ozg{ozg{ol&:oO:n2m*p" 52n2ox:4:4 ;!,ɯ2t2u2 52o=20!"5" 52m{!t~Q5_!1~9:uK:K4 *E"5:U2 5*]" 5*v"#5:K4 $:4§:4KK!4^#=ʣV²*4(—ҌV :4:4V !!*/O:0K>20y_j:t:_!;~:!ts!1~y_!t~X=w_!1~[Kdͪ>20$y$zU0!%2m*#5"v:mP>U0%4>%:m!>2m*202m!" 5/:0Kx*#5DM*5" 5}|^#V<>E0:u3ʛ*3~Œ:v3ʁ!\4>A!(0":3]#"3,ž"3Þ-2\  :4x_<24!K4w:94͜:94ɯ2:4284]294:4:94K)2:4;4~#!͜,!:4~*4!;4_:94w]294ɯ<*#5"W͉#4#*W"#5ɯ2[![4Y5!!:46"3!:4~q5!84^4!;4~â:u3:94†G³]âʻ^¨^·:94&·!:44#wó&G294xâG:94&:4G/G&ʷ/&ʷG/G!94~&>623y"!v36*5"3$"32:4*W"#5GJ2:42942(524> 2S(0>24ɯ242T!4~@`65!^4#:(5O:4yD(w~$w:(50 |:(5D(A:(5?ʱ@ʱD(Aɷ͙| ;!Cͻ2(5:'5:)5:5:(5ͫ%:(5 !J24:(5 ʞ;{>24:'5ʋ:)5.:5‹;Ž*-5*%5++{Iz]~ T++]!]+?"%5:'52'5hͫ%2'5ä:(5*—:S —ʤË ¤24͙ʳ>|ʾ>:(5'2(5> :u3>+2P4(0!K46 >24>24:(52SR:4Z:'5:4=!EQM<8!LE:(5=I!NE>I!LTM>!GT:(5=M!GE2(5"4!44>24!(5:4ruͳ u͇:(5D(OʓQ˜>ßH©>2T2(5:SD(B¹>D> !452T!"4!4N#~#A07O!T/!~*4! ) "4 :(5 5!'':(5 :(5,;%:(5 !:(5; ,J242Z$ l ` / ‰ >24#!:(52S:4; ¡ :4/!:Z/!)!:4 :(5'#!R:(5'z 24É :(5' >24#!^ :(5 #! #!;!)!<!!Z~4z #!>!!Z~#!5z #!:Z#!G )!Rz >24>VG!>OG!>IG!>BG!0!P!w#w#["!"#5!U3w#w#p"!u3~#4^!v3~w!3ͷ"!3ͷ"!3ͷ"!3~w!3ͷ"!4~w!(4~wN#Fp+q!u3~#^!v3"!3#!3#!3#!3"!3#!4"!(4"5~wN#Fq#p>B0!4"%*%F# #2P"*#5##~G=#w#6#w]$*5!4n& {ozg"#5!5{#z$"5f$*5!4N#yʦ$ ~Ù$f$!U3"Q"/$:P"%*5!3{#z"#5%_!U3*#5~#~&%~#$"5ÿ$&%!%*A1SYMBOL TABLE OVERFLOW *#5###w*#5###~,#*#5_####&%s#r&%^#V&%##"%5F%wF%~#!4~l%6~=ͫ%ͫ%!4N#~ͫ% y%͢%͢%2P"*ÿ*:?*ÿ*:@*ÿ*~x/~# *> x/\ ?-$-w#+!\64 #+>GO#w %+>O # <+6 2+6L#6I#6B#w2|*\+>2*5!"B*!(5~2A*w͹*!1*>826*27*!"/5*"5!5"h*"*"*#"5"!5\, _#~ͨ+ ¶+:;*Aͨ+>:ͨ+Ͷ+>.ͨ+Ͷ+>-ͨ+*!1+!32*!1+:=* D,> D,:D*6,_!D* W,6 4ɯ2D*2*522521528*:\ -2;*2@*O:\ʋ,=Ì,y!<*w#w#w#w#>2+52,5:m$>-!~#$ª,~>-# ʱ,<*A-P-S-R-L-*,+,-,-+5~S-M-25L-15Q-8*1,-x#ñ,~A,-#ñ,#6 !1*!*!E**e !N*+-!j**%,r-6* ,,:=*ʂ-:>*…-2:?*ʨ-!***ѯ2:*29* ,,!3*60#60#60#>235!"*:5ͨ/-!"f*2Q*2e**E*+!1*z{:*5G.*B*-.!"B**\..*B*#"B*+~¤.:u32*5G.*\!F2+*f*-•.*!"f**h*ʹ*E*€.a.Ò.Ҫ.ʒ.6# ‹.͹**h**f*#"f*~!2*G:=*..xx/.x.1,..****w#"*!-*!"***j*!*-/~5/ʹ*9//͹*!2*1L/****w#"*!-*!"****/_!5*~ ͳ.27**/5}!1~ /ͳ.#/> ͳ.>#ͳ.ͅ/> ͳ.*/5~/ͳ.#/> ͳ.> ͳ.> ó.}26*!7*è/Oͳ.:K4 :5:=*yx/:8*!5I0:25!*5—0~0:K4 0!K4~ —0:350:P4+—0:,50ʗ0:Q4#0:L4 0:,5=ʗ0!K4~ ʇ0!4s!7*~!6*Ԩ/4:4!K4ʺ0G~ 0#x=ë0> 0> 024!K4>x6 #=0G!K4~ p%,**}0>ͳ.0*j*+:+5ʨ/0!s*6S#6Y#6M#w!*w:>*2=*!"*%,ʨ/26**j*կ ,,0:?*1::*Z1ͬ2L1͎2**}1}w1>B/a1}|Gd/0:?*ʓ1**+![2*CP/M RMAC ASSEM 1.1 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR INVALID PARAMETER: SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES UNBALANCED MACRO LIB END OF ASSEMBLY : 5O!5 ~#fo: 5O!5 s#r:?*yʟ2š2ͬ2Ž2G:9*29*!:*4>6:9*L/29*2%#333/3 3333#332E3 3   MXList WAITING FOR PRINTER $PRINTER READY $ Z3ENVs!1!!"!"0 ͕!2 3 M6!L  !~##ʤ¤~#/¤~/¤ SETUPZST V1.2 Create/Modify ZSDOS/ZDDOS Time Stamp module Syntax: SETUPZST - Enter interactive mode SETUPZST fn - Set defaults in file "FN.COM" SETUPZST // - Print this message Note: Creation of Stamp module requires access to STAMPS.DAT and CLOCKS.DAT. 7= +++ ZSDOS is only for Z80 type computers!!!R ~$" T]60 !X  !p SDIR V1.0 Copyright(c) 1981 Digital Research Box 579 Pacific Grove, CA 93950 getnxt: vector = $ getnxt: vector, i, mask $ SDIR EXAMPLES sdir file.one (find a file on current user and default drive) sdir *.com d:*.pli (find matching files on default and d: drive) sdir [rw] (find files that are read/write) sdir [ro dir sys] (same for read/only, directory, system) sdir [xfcb] (find files with XFCB's) sdir [nonxfcb] (find files without XFCB's) sdir [exclude] *.com (find files that don't end in 'com') sdir [nosort] (don't sort the files) sdir [full] (show all file information) sdir [size] (show name and size in kilobytes) sdir [short] (show just the file names) sdir [drive = all] (search all logged in drives) sdir [drive = (a,b,p)] (search specified drives, 'disk' is synonym) sdir [user = all] (find files with any user number) sdir [user = (0,1,15)] (find files with specified user number) sdir [length = n] (print headers every n lines) sdir [ff] (print form feeds between headers) sdir [message user=all] (show user/drive areas with no files) sdir [help] (show this message) sdir [dir sys rw ro sort xfcb nonxfcb full] d:*.* (defaults)$ In User option$Illegal Option or Modifier$File Spec Limit is $Illegal Global/Local Drive Spec Mixing$Only One Set of Options Allowed$Illegal File Spec$ in user loop $File Not Found.$1:|2:}2:.2:::!:6:;9::::½& Ͳ3I::@X>Ͳ3IØ<!="?;:w 2:*:M*:":!"::w 2:!:6>:9t!\6?\8 2:!":::U*:#":H 2:=*:#DM&*:) !9t!:6!:6!":::::ҔPͲ3*::*::89>ͯ9::::/!:H#%!:6!X;6::ͪ(1:w 2:*:"::;/::/H `Ͳ3Iv o&!:q*:& ::\d!:q::0/>9!:/H!:r+s+q+p+q*:>w#6!":}2:::!:!:::O*: Ne>*:!:::O*: ~0_*:j9+9+s#r!:_9+s#r!:4Ÿ>!:s+p+q:: *:>͉9+s#r5 *:*:M!͙9͍9+s#r!:p+q!:6::!:79>ͯ9Hs !:͟9+s#r#4A ::!:p+q::ҙ RͲ3*:N#F'54*:N#F6 2:O>ү >!":>!: *:M!:͕9+s#r*::9s#r:: fͲ3*:N#F'543*:&'543*:'54::Ͳ3I:;9::HH::, *:#~D*:##~IHz >:͈9+s#r# *:#~E” >:͈9+s#r# *:#~F *:##~F± !:6 *:##~U !:6 N# *:#~H  # *:#~M !:6# *:#~N. *: ~X >@:͈9+s#r+ *: ~S( !:6+ N# *:#~PH >:͈9+s#r# *:#~S¬ *:##~Ym >:͈9+s#ré *:##~H€ !:6é *:##~I“ !:6é *:##~O¦ !:6é N# *:#~R*:##~OH >:͈9+s#r# *:#~R*:##~WH >:͈9+s#r# *:#~X > :͈9+s#r# N:E*:#~L| ::: v *:#*:M:}p >:9g N:s Ny NE*:#~U ::ғ Ͳ3::::: HҴ N:::;9H| *:#~A*:##~LH !":s :: ::Hp ::& *:#~02:F *:#~0o&c9*:##~0_!:s::/>!:/Hj *::m Ns N:ô E*:#~D*:##~R~IHHB:::¹ N:::;9H?*:#~A*:##~LH !":7:89+s#r6*:#~A/>P/H3*:#~A_:6N:ù EN& !:6Ͳ3I:!: . *:# *!:&j9": , -~ *!:&j9": ~  ~ H *!:&j9":  6 *!:&j9":  6*:~ *!:&j9":  6*:~= *!:&j9":  Hq!!:45Ͳ3 d543:>:39>ͯ9>:39>ͯ9Hv>:͈9>~9":>:39>ͯ9>:39>ͯ9HҰ>:͈9>~9":> :39>ͯ9>@:39>ͯ9H::!:6>@:͈9> ~9"::!:1 *!:&j9":  6 *!:&j9":  6!!:6>:9¡!:6:!:=!:ڞ *:&j9":  ~} *:&j9":  ::w *:&j9":  ^:!:4B!:6:!:=!: *:&j9":  ~::HͲ3I!:4¦>:9@_:buff = $ state8, char = $ state7, char = $ state6, char = $ state5, nxtchar = $ state4, char = $ state3, char = $ state2, char = $ state1, char = $!:q*:& ͛ ͛ ͛!:s+p+q+p+q!:q>:94*:*:@9!:s*:B9":PY! @9":>ͯ9!:#~H#ͫ1!:6::0O͛!:6ͱ *:& ~[!:4E*:& 6$ *:& 6!:p+q!:6*:&*:~ ~ HҪ!:4Å::!:q::[::]H::(H::)H::=H::,H::H y>!;p+q!;6*;#DMz2;O>Y*;~!;*;&*;6 *;& *;";>!;:;=O*; Nͮ:;!;O*; NͮH*;+";*;~<:;!;=Oo:;!;O*; DM*;, -*;&*;~"!;q!;4^:;=O*; ~ 8:;=O*; 6::B5!;p+q! ;6* ;&*;~ʏ* ;&*;~a/>z/H҈* ;&*;~ w! ;4N!;q:;0/>9!;/H!;q:;A/>Z!;/H:;<2;O* ; ~2;*;& * ;~2;!;q* ; 9 :;<2;O*; :;w!;q!;6*;Mͨ/:;$H2:;*;Mͨ*;M͐H:;_H:;$H:;!;/H~*;M!;42*;Mͨ*;M͐H:;_H:;$HҶ!;4~* ; 6* ; :;w:;!;q*;Mͨ*;M͐H:;*H:;?H:;_H:;$H!;q:;!;w*;M!;:;HҮ:;*¡:;2;*;&";*;Md!;4O!;:;y*;!;s>!;6!;:;+ږ?!;4~*;!;sè*;My!;6> !;*;&*;6 !;4¸:;: :;A/>P!;/H:;A*;Mͨ:;$H:;_H:;*H:;?HX*;~X>d>:;.‹*;Mҋ!;6ڋ>* ; 6 * ; 6@y! ;q*;M͐ڲ>*;M͐* ; : ;/H:;H*;M* ; 4ò:;H:;DH:;BH:* ; ~! ;7*;M* ; 4:>* ; 6 y!!;q:;\W>:;\:;H* ; ~ HҖ*;M* ; 4Z:;\:;HҴÖ:;\ʿ>* ; 6y:;2";ͳy:";=2;!;6  H ͠>y:;,:;)H:;HL* ; 6yc* ; >wy> O>қ* ; >w* ; > Җ* ; 6 y>:;,:;)H:;H* ; 6y* ; >wy>:#;* ;q#py* ; 6* ;##q#py::+ *;M͛:;7:;]}:;,:;(H:;)Hj͍:;vÜ:; :;,HҜ33::Ҷ *;M͛:;:; :;,H:;)>:: , *;M͛:#;** ;q#p * ; 6y2#;8͠>::Q> *;M͛:;(`:#;~* ;;q#p * ; 6y2#;Ҍ>;::ҦS *;M͛:;³3:;!9w!9~,~ H33!9~] :;(:;,H:;)H͍3:;33!9~=/;3>3::Ie *;M͛:#;g* ;3q#p * ; 6y* ; :$;wO>|>f2#;Ҋ͏>::ңw *;M͛:;):;H:;!$;5ã:;[3:; :;,H:;(H:;(!$;4::1 *;M͛:#;O * ; 6* ;q#py:;(a!$;4O* ; :$;wO>v>͞2#;͍҄>:;“:;)ž>:;(±!$;4:;[3͞2#;͍>!&;p+q*%;" ;##^#V" ;* ; ^#V";!;6!;6!#;6 * ; 6* ; 6* ; ~$* ;9:͇2';í* ;9P2';í* ;39f32';í* ;;9|;2';í* ;9’2';í* ;9¨2';í!';6:';ڽ* ; 6* ;##9* ;##:;'9+s#r!);p+q*(;" ;* ;##N#F* ;##N#F* ;##q#pC* ;q#p Out of Memory $ !4;p+q*3;Q ".;*.;##N!͙9j9"0;/ ҆ & 25;I!6;q:6;0/>9!6;/H!:;r+s+p+q*9;0;9s#r*9;;9 *9;;9+s#r*7;N#F+q#pø !I;r+s+p+q+q!J;6:E;=!J;;!*J;&*F;>*J;&*H;>H~?H4!>!J;4 >*;;>2K;!:}!::X!>!"L;*K;L;*:L;89>ͯ9}!>>:9ʳ!:K;!:>:9Hҳ!*K;:!K;6:!:=!K;O" *K;&j9":  ~::HH" *K;&j9":  ~">:39>ͯ9 *;;# *K;&j9": H">:39>ͯ9!K;4¸!>:39>ͯ9!R;6!P;6> !P;ښ"Å":P;2P;k"Ú"*P;&*;;>!R;ww"::!R;wwO!/< "N;O!/< ^#V"=;!Q;6>=;9:Q;/H$#*=;*;;> *=;#*;;# H #!Q;6!#*=; "N;*=; ^#V"=;">=;93#>>a"#.*=;C;9Q#>*A;"A;"=;*,;#",;. *;;#*=;#,|# -x#*;;>*=;w *=; >w#6*=; w#6*=; w#6*=; w*=; w#6*=; w#6*N;*=;s#r*;;>N$*A; C;;9Ͳ9#> C;;9+s#r.*;; *C;,%$ -!$ *;; *C; w*=; *C;s#r %*=; *;;  *;; *.; ~O`i͙9n&5 *=; *;; ~w!S;6*.; >9Ҭ$!S;6!T;6>!T; %$:S;!T;wұ$ %*T;&*;;n&"U;:S;$*T;& *;;~U;͈9+s#r>U;9%*=;  *=; ͟ ý$>*?;"A;!W;6>!W;N%*W;&/<) >w#6!W;4.%*"C;Z !2;6!",;"*;!\6?\8 2W;:W;%:W;o&";;~%**;#"*;*;;~ ³% *;; ~22;%>!%7#% Ͳ3v H 2W;s% Sort Stack Overflow $ Not enough memory for sort $!\;p+q*[;))))*[;)) *[;) *[; *?; !`;r+s+p+q!a;6> !a;ڋ&*a;&*];>2b;*a;&*_;>2c;Hʄ&!c;:b;!a;4K&>!i;r+s+p+q!;6*f;"p;*h;"r;:; ғ(*;&))p; ^#V"f;  ^#V"h;!;5h;f;͹9Ґ(*f;"j;*h;"l;*h;*f;ͣ9)*d;N#F&"Y;l;j;͹9'*j;)*d;N#F&"=;*=;DM*Y;<&S'*j;#"j;*j;)*d;N#F&"=;''*l;)*d;N#F&"=;*Y;DM*=;<&ґ'*l;+"l;*l;)*d;N#F&"=;e'l;j;͹9'*j;)*d;^#V"n;*l;)*d;*j;)*d;N#Fq#p*l;)*d;*n;s#r*j;#"j;>!l;9'*l;+"l; 'f;l;͹9j;h;͹9Ͳ9P(h;j;͹9G(!;4n&))p; *j;s#r*;&))  *h;s#r*l;"h;Í(l;f;͹9҇(!;4n&))p; *f;s#r*;&))  *l;s#r*j;"f;&é&:;ʤ(%Ͳ3é(!X;6*A;"d;>,;9(d;C;͹9ͣ9!,;9(%Ͳ3!";*,;+!;9)*;)*d;*;s#r*;";(*,;+͎&!X;6 Name Bytes Recs Attributes $------------ ------ ------ ------------$ Prot Update $ ------ -------------- --------------$ Access $ Create $Sys$Dir$RO$RW$Read $Write $Delete$None $ $Directory For Drive $ User $: $k$Illegal Format Value$Total Bytes = $ Total Records = $ Files Found = $ Total 1k Blocks = $ Used/Max Dir Entries For Drive $File Not Found. $ $*=; ^#V;5 *=; >9*;5*=; ;H5*=; ^#V";*=; ~2;;t5;;H5*=; >49>ͯ9C+;5*=;#DM33*=; N#F'54k͢33*=; DMͧ43 *=; ~ғ+)Ͳ3Ù+)Ͳ33 *=; ~Ҳ+)Ͳ3ø+)Ͳ33 *=; ~+A͢3+3*=;#~+1͢3+3*=;##~+2͢3+3*=; ~,3͢3,3*=; ~+,4͢3.,3*=; >9,3*=; ^#V"C; >e,)Ͳ3Û,*C; >@},)Ͳ3Û,*C; > ʕ,)Ͳ3Û,)Ͳ33*C; ~*C; ~H,*C; DM8,)Ͳ333*C;~*C;#~H,*C;DM8:: - ͢3-:;-3 *Ͳ3::AO͢3:͢3:: F-!*Ͳ3*:& 543!";!;6!;p+q*;*;&@9>ͯ9¥-*;*:@9>ͯ9-3,3Ò-3*;#";::AO͢3è-3)*Ͳ3*;DM3v *;#";!;s+q+q:;ր::;39>ͯ9H->:;ր::;39>ͯ9H.>>!;p+q*; N- *; N-H!\6?!;6\8 2;Z :;.:;o&";;> *;; *.; ~`i/Hҽ.>!ҽ.*;;#DM.ҽ.*;;#DMU-H 2;^.!;6:X; /:;/,;;͹9/*;)*d;N#F&"=;*;#";*=;::2;/*?;"=;!;6.U/:;/?;=;͹9HU/=;;9+s#r!:2; /::h/!;6m/!;6?;=;͹9/*=; >9> :39>ͯ9H+9>@:39>ͯ9HH*=;#DM.H/**=;#DMU-*=; N#F'54,*Ͳ3.m/!;6?;=;͹91*=;#DM.0*;*;&@9>ͯ90*;*:@9>ͯ903,3#)Ͳ3:X;/*?;=;9H,;;͹9!X;Hҍ03#)Ͳ33K)Ͳ3:X;/*?;=;9H,;;͹9!X;H03K)Ͳ33*;###";03*;#";03D+*;#";*v .0!;6?;=;͹91*=; >9> :39>ͯ9H+9>@:39>ͯ9HH*=;#DM.H1*;#";*;*:@9>ͯ913,3#)Ͳ3s)Ͳ3:2;@ʱ1)Ͳ3÷1)Ͳ33K)Ͳ3)Ͳ3*;##";3D+/,v *;#";*. 1!";";";}2;o&";2;o&";2;*A;"=;o&";.>!:22.*Ͳ3I*:M!2 ^#VH.Ø2V/Ø2:2;> :39>ͯ9>@:39>ͯ9HHҌ2/Ï21Ø2B2H2N2>!;9::Hj3>:9*;:9H!:2 ͢3 ͢3233C*Ͳ3;ͧ4k͢3V*Ͳ3 ;ͧ4i*Ͳ3*;54z*Ͳ3;ͧ4*Ͳ3::AO͢3:͢33**;54/͢3*.; N#F54>;93::҉33,*Ͳ3v á3!;6::ڡ3*Ͳ3!;q*;&!;p+q*; ::3v  ͢3 ͢3 ͢3!;p+q!;6>!; 4*;&*;>O͢3!;43 ͢3!;6> !;44*;&*;>O͢3!;44!;s+p+q+p+q>;9ʦ4*;*;@9!;s*;B9";PY! @9";>ͯ9!;#~Hҕ43ã4!;6:;0O͢3D4!;r+s+p+q*;##~4*;##N*;DM54*;N#F'545!;6;:;953*;&c9!;s4*;N#F'54!;r+s+p+q*;^#V";*;;9s#r!;9G5*;##4!;r+s+p+q*;^#V*;DM5*;##*;##~`iw!;p+q*;##~2;*;##~w*;͟9+s#r*;#:;w;Zx0NSun$Mon$Tue$Wed$Thu$Fri$Sat$!;q:;<2;O*; :;w!;p+q*;~$$6*;:;<2;O*; w*;#";5!;q:;0O5!;q:;O%6:;O%6!;q*;M36:5!;q*;&! @9K%6*;&! @9M%6!;q*;M_6/5!;s+q:;2;:;*;&5) >;9H6:;=:;*;! @9!;s*;B9";:;!;q*;&! @9))))*;&B9 }!!;ҟ7:;=2;ҁ7!<6*;&5) :<'9!;9Ҝ7g7*; ~2<*; ~2<*; ~2<*;#^#V";+!@9!c!;7:;d2;!<6:;>;!;9H8!<6b7*;&5) :<'9;9!;s+4*;~N8: !-<9*-<& < N͢3!-<48i`N#Fog_og_ogDM!>))덑o|gY9 =G9^#V))) DM!>))y9 =q9_{ozg_og^#V) ™9^#V|g}o £9_{ozgi`N#Fogo&og_{_z#Wi`N#Fog3C4DCD9B123A123CFE00C2C21CCDEA32 :101CC0001BC93A13C0D6019FF53A123CD62CBD :101CD000D6019FC148B11FD2E41CCDC016CDF61C61 :101CE000C9C3F31C3A123CFE29C2F31CCDC016CD69 :101CF000151CC93E00C93AF33B1FD20C1D112C121 :0E09CD05012A123C4DCD9B1\2 :101D00D22A1D2A0A3C01F61C7123700109002AEF :101D200003C09360401FFFF79C9CD1A1B32233C56 :101D30001FD2381DCDA01CC93E00C93AF33B1FD2AB :101D4000511D113E120E09CD05012A133C4DCD9BAC :101D500013A123CFE28C2601DCDC16CDF61CC939 :101D60003A233C1FD27E1D2A0A3C013B1D71237081 :101D70000109002A0A3C09360401FFFF79C9CD1A7E :101D8 9C2F31CCDC016CD69 :101CF000151CC93E00C93AF33B1FD20C1D112C121 :0E09CD05012A123C4DCD9B1\2 :101D00D22A1D2A0A@0fn@  m# Y _D L& kK\8L4 0' Lc @A4fـ#8h&fـ#yz .RX!AfY !(}'(4+:BQ uYH vL|p Ǭ !A v( hSx3&eDn1p0`\'FvZ/7Yj 8@VmuZ"ml[JC( ;C#XP"̲@BqƷvq@#Ais饛i n) a64\'qFqfѠ'[%A`2,!8x`Xg >yC,K]]`O?5,*yz !|<x> y[j&p ZF+T e~$ d#3`pByDW  6?"Sh@~SVm\XҀAj#lFrfPP+ !+4"@23Cg1FpplVq}X`0[ j,x5ِXPCxsFAXb.6HUf@#I&K6«4"VCf@Å'etY@ft L7U} `84wUf@y Ygb3nWX,UͿ @``"jY W8Z#+<Q!L0 eVx3kp#6L f݀6,z\.hZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0Z3ENV͒, Version 1.5 (Type :0͹͒ at !͒͡h) File Rename Utility ͒ Syntax: ͒ [DIR:] No Ambiguous Filespecs Allowed!]>/ #a: (*E<:!]Y!mY:{<E:l(=_:y_ l!o~(;<:( Q(: ͒ Source is R/O, Rename?l\(G<:( Q(: $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @  @  ! $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @ 1n2}>#շC¯#pj:}·d!~d@pj #Q:}>&oD ·:%:ܷG:&Y!~ʣ6>6Í):ܷC :ܷȯ2!4*#"+6*##"++*s#r*!| *|+"!*!"!:ܷ :!D}>! !~E?"G=# >#)#}D### !D}:ܷ :ܷ ͏y kü$_k ѷ! ~ºůw=#ѷʺ2ů# :#ʺ }D" :<:ܷý:߷:ܷʽ:ܷý:ܷ½_ *|>! 6C#6O#6M +O:߷y”ͣ#~ˆ##|a{ !p!:=  !ʺ:$#! BAD LOAD:ܷj:ܷ *~2#"_a:߷{\^{${ $:'Mǻ:(Ȼ:߷>2$:߷lǯo:͢#}#+]:߷$!"a{$.$ :022a{!! :02!)9)^#V}~#"_>2_:߷ǯ: ]:߷ :߷a{.  ]a:߷=ȯ2:߷ѯ2 :߷J2ɯ2p*:O!~6*ö=sȯ2>2 a{_!6f6Gʈ:ʈ;ʈh&6~y2" N N'f fʿy ]5 #!"*")Q*"*"Q:O:$2! w# Q!Fq!~qq~!""I:ˆ*}ͯ27:7´}27߷<2͹æ:7ͥ:7><2*~>&ͥ>23*3ͥ>2#![[æ:ܷ>24![æ:ܷ>=22E![͗!4͠>27>2}27ʦ"ͥæ>2*+"͹áͭ+ͥ+~w͹Í:7!":܇O! >(_w#*66#{z:ܷ:![>2::ܷ.ͱ#|:![6:ܷz>2!Y̯2w!Z>ů2lÊ:߷ʊ>2ܯ2Hš*!?*#"*#"pype$P $T :!6#6#6!Q!Q!~6 6:ܷ >2ö_:~ͷ2:)|ͻ|:|>2:ܷb>!F> w6:b:.bͻb>2> :)|ͻ|:|>2> {:ܷYö:ܷYö>2p*! Requires SH.OVR:2*!"!5w# !~ίw2!6!"!"!"*##":߷2=2*ͷ«ί2>02:߷Z͈ä!~6¤ٯ2!͍N:ʙί2yʈ*z|dyd͗د2:߷>2=22![͗>2ί2ݯ2[:ܷ:ܷ{ͣ_ɯ22 !]~# *]#~:6#~6++~A_ 2*]~%EG-J+'##~'+~]Pzr~"r#h#hV!x+‹ϯw>wLŸ :*X©>U´!ÂF¿!ÂG!ÂS* z|PYT!ÂM!ÂD%*_r~0O! *a)y!s"!*]!e~ .+V+^*z|Y*_r)|}} }2$#O*_}ʃyWW:ڃ*_!\ <*c!*_!: ÆÆ*_r!\ :ƒ*aͽ*_))MD!,*_~-/#~+_S/>*a=گ=گ*_rc>4:߷>22>2 USERWRENERASAVEDIRTYP=TYPE3PIPBCOPYBXSUBPSUBMITQFILE EXISTS$NO FILE$?$USER NUMBER$1!"!~*5 !~6*>#2Gӯ#~I:#2ԯ#!~4¥:7W>2â=¥:߷¥ͼ! Q*" !"!aTQ!9b(Q*"!TQ!/Q!>|w~I:<~:G:߷ x==2ͯͯ~^#V}ʄ s#r###=wTa!Q$!|Q>~~:#A{_#/*~\#~"!ɷo&Խ=><"| ; :߷_ :4د21 Y:ܷ>ͣ:*6#=V !6,#f* o,-ƒ'z†~"!9"1*2_:ܷʳ !~5*:w#" >2!"ü~_ #02*z|*Y:!Y: Error # ͔:>4@w#Wo.CW֯ww#w#w#w*>?z͂xw#X͂o> w#z.7:77! ʕ ʕɷ!l~5ʻ*n#"n+n&>Z!p|=!"l!p"nï!~5*#"ö>!|=!"!"*+"s!4*n+"ns!l4~# )+!0:0)) )O :xve~# xZ ~+ xk|}""2ׯ2:׷ʻ* * ! ~»6:*!5*"!4Ê\!Y Disk full:< :_   2$*~+#">2*~-#">2#*~-#">2#*~ i#_ r#_"F}Œ p#*#ty>6~#—믾#¢+w#¨* z|Y!["!6"!"!6ͽ!">2! !9*z{!\ :|!#~%}#~D5:A͆dB:a/ULum:$ Z Q Gyg0͆x0/Nwn}ٷʄ/_ͽ6T >22#F#xʳ~#æٯ}|\ "&"*i`"(!"$*(| *& ** ·*$#"$*(+"(*& "&**\ !+2V}a#~:`#~+`+~2T!U+!\:<2b  ʖ͝ ƒE!Z!a < =¤ ~Һ::b=2bG:ڸ2b:\ <@_: ~_#  +E8 · A:*.*NO FILE2:#2\#}+>!|=_ ̶ |:۷!5:#w · !? DU-V87.DOC ---------- By Ward Christensen (revised 05/14/84) additional notes by Ron Fowler, Irv Hoff, and Jeffrey Nonken This version of DU is compatible with CP/M 1.4, 2.x and 3.x and does not require alteration for various hardware configurations. It adjusts itself automatically to the correct number of sectors, tracks, directory size, etc. INDEX 1.0 INSTALLATION: 2.0 USE: 2.1 COMMANDS, BY FUNCTION 2.2 ALPHABETIC COMMAND SUMMARY 3.0 NOTES 4.0 INTERPRETATING DIRECTORY DATA 4.1 SINGLE DENSITY 4.2 DOUBLE DENSITY 1.0 INSTALLATION: === "DU" should require no changes to the source file because of the use of the automatic adaption feature. The only alteration that needs to be done is to use DDT to set the byte at 103H for your clock speed. Use 0 for 2MHz, 1 for 4MHz, 2 for 6MHz. (This only affects the "Z" SLEEP command.) 2.0 USE: === To invoke "DU", simply enter "DU" at the CP/M prompt. A>DU An initial command string may optionally be placed as an operand of the original "DU" command, i.e.: A>DU M;X for example, if you want to only map the disk, and then exit: Once "DU" is running, it expects single-letter commands much like "SID" OR "DDT". For ease of use, multiple commands may be placed on one line, separated by ";". In addition, a given command or string of commands may be repeated -- either indefinitely (until ^C is pressed) or a given number of times. To avoid an accidental ^C from dropping out of "DU", only the explicit "X" command will exit "DU". 2.1 COMMANDS, BY FUNCTION === HELP: ? displays the help guide POSITIONING: Gnn by allocation group Snn by sector Tnn by track +nn going ahead nn sectors -nn going back nn sectors I/O: < puts current sector "away" into a buffer > recalls previously saved sector K writes "yanked" sectors to a file (see "saving sequential memory" in notes below) R reads sector W writes sector Y "yanks" current sector into sequential memory DISPLAYING: # shows disk parameters A dump sector in ASCII D dump the sector (hex + ASCII) G shows current group, track, sector H dump sector in hex M maps the disk -- where the files are located Mxx map starting at group xx Vnn views (like CP/M type) nn sectors CHANGING: CAnn,VAL change data in ASCII (with escape to hex) CHnn,VAL change data in hex Unn change user to nn SEARCHING: =Abc scan for Abc (IN ASCII) from current sector on (very slow, allow up to 15 minutes to scan an entire disk. Either finds the answer or says: "out of bounds". FNAME find a file in the directory F find next occurrence (extent) of same name MISC: ( toggles the map display to show/not show erased files /nn repeat previous command nn times (repeats indefinitely if nn omitted) Bnn boot nn sectors per track LX log in disk X P printer toggle Q before a command does it "quietly" X exit to CP/M Znn sleep (nn tenths of a second) to allow viewing data before it scrolls off 2.2 ALPHABETIC COMMAND SUMMARY === # Prints the disk parameters + Advance 1 sector (if below track 2, this advances to next numerical, if 2 or more, advances based on CP/M"s normal sector scrambling algorithm, i.e., allows + to the next logical sector of the file. - backs up 1 logical sector NOTE: + and - may take an amount: For example, +15 advances 15 sectors / repeats entire command -- defaults to "forever" /nn nn may be 2 TO 65535 ( toggles the map display to show/not show erased files. When showing erased files "*" indicates that block duplicates a block in another file. It may not be possible to restore this program without errors. If there are no "*" in this complete file, it can be correctly restored. < saves current sector in a "save" buffer =Abc ASCII search, starting at current sector. hex may be imbedded or used alone. To find the ASM instruction: "IN 0FEH" use: = (Ignores bit 7 unless using .) Since ";" is a command delimiter, you have to use <3B> to search for a ";". Also, since "<" is a hex escape character, use << to mean a single "<". NOTE: This is a very slow routine. It can take 15 minutes or longer to search an entire double- density double-sided disk so be patient. It either finds the string or says: "OUT OF BOUNDS". > gets saved buffer. < and > may be used to move a sector to another place. ? displays the help guide A dump sector (ASCII only) Bnn boot nn sectors per track -- not all disks have 26. CHADDR,VAL,VAL,VAL... change hex values in sector CAADDR,CHAR STRING... change ASCII calues in sector NOTE: may be hex imbedded in the ASCII string: CA00,OK<0D><0A><1A> ----> W writes changes to disk note that the "C" command echoes the over- laid data for verification. CHADDR-ADDR,BYTE repeats a change CAADDR-ADDR,BYTE repeats a change D dump sector (hex + ASCII) FNAME print directory for file "NAME", then positions to its directory sector. F find next occurrence of name in directory Gnn position to group nn and read G shows current position H dump sector, hex only Kdu:filename.ext save a file from "yanked" sectors. drive, user are optional. Resets "yank" address. see "saving sequential memory" in notes below. L re-logs in the current disk -- you may pull out a disk, put in a new one, and "L" just to log it in. (see "logging in disk" in notes below) LX logs in disk "X", such as: LB, LC, LA, etc. M dumps a map of the group allocations for files Mn shows which file is allocated to group "N" N resets CP/M via BDOS -- this may make it possible under some implementations of CP/M to change the disk format, i.e., density, sides, etc. P toggles the printer on/off Q quiet -- preceedintg any command, suppresses CRT output R reads into memory the sector currently positioned at. NOTE: "R" (read) is implicit in the G, +, and - commands but NOT in the "S" and "T" commands Snn position to sector nn, and read TNN seek to track nn (no read) Ux logs user "x" for next "F" command V views the current sector -- assumes ASCII data Vnn views nn sectors W writes the current sector to disk NOTE: may NOT be used after an "F" command as CP/M was used to find file in the directory X exit back to CP/M (must press return). ^C was too easy to hit over modem lines -- requires two bytes: (X,CR) to exit. Y "yank" the current sector into sequential memory (starts at 3000H, increments for each yank) Z sleep -- causes the porgram to pause -- such as to look at a dump. Z is 1 second Znn nn tenths of a second Z50 = 5 seconds 3.0 NOTES === * Multiple commands: May be separated by ";" EXAMPLE: The following commands will erase the B: disk directory to all E5"s: LB log in B: drive G0 position to directory CH0-7F,E5 fill with E5 < save the sector >;W;+;/16 restore, write, next, repeat 16 ---- this could be shortened to: LB;G0;CH0-7F,E5;< >;W;+;/16 * DUMP COMMANDS: All dump commands (D, A, H) may be optionally followed by a starting and ending address: D0,7F the same as just "D" D3,5 A20,3F * LOGGING IN DISK: If you have a disk with a "blown directory", try logging in a good disk of the same density, then put in the "blown" disk without logging it in. You are opening yourself to possible problems because of the buffering of physical sectors in the "BIOS". The best technique, (but not guaranteed), would be to seek to the unused inner tracks of the first disk, do the read, then change disks. That way, if it writes anything, you won"t have destroyed anything -- assuming the disk is not completely full. Another technique (assuming the second diskof substitution. If not specified the current line is assumed. n2............the ending line of substitution. n2 should be greater than n1 pattern.......the pattern to be replaced. repl..........the replacement string. The null string is included. g.............global replacement indicator. Description: The substitute command is used to search for an occurance of the specified pattern, and replace it with the replacement string. If the replacement is made, the line is displayed. If no occurance is found, TED gives a message: "CANNOT FIND: 'pattern'." If the global replacement indicator is used, all occurances of the pattern in each line are replaced. Line length is truncated to 128 if the resulting replacement makes the line length overflow. 13 TED USER'S MANUAL Example: ====>16,40s;change;replace;g 14 TED USER'S MANUAL WRITE FILE Format: w Description: The write file command writes the updated disk file and deletes temporary files. No backup file is created. After the file is written, control is returned to the operating system. Example: ====>w A> 15 TED USER'S MANUAL ERROR MESSAGES DESCRIPTION: TED's error messages are self-explanatory, for example: if you attempt to write to a disk which already has 256 records on it TED will respond with the message 'DISK FULL'. If your directory is full TED will respond with the message 'DIRECTORY SPACE FULL'. These types of errors are considered fatal, and in the case of fatal errors TED will print the error message and return to CP/M. If this occurs you may find you have two working files on your disk, NEW.$$$ and REV.$$$. Since these files take up disk space during the edit session you may run out of disk space much sooner then you might have imagined! It is recommended that you have at least 2.5 times as much space on the disk as the size of the file you are intending to edit. If you have made several changes to your file and you get a 'DISK FULL' error you may be able to recover some of the changes you have made by inspecting the first part of your NEW.$$$ file. It may or may not contain the latest changes made. If it does, you may combine it with the original file using the PIP command. The following errors are fatal errors:- FILE EXTENSION ERROR DISK FULL DIRECTORY SPACE FULL DISK ERROR CLOSE NEWFILE ERROR CLOSE REVFILE ERROR CLOSE OLDFILE ERROR 16 TED USER'S MANUAL MEMORY OVERFLOW(CP/M SYSTEM IS TOO SMALL FOR TED) In addition to the fatal errors there are various errors in command format. These are not considered fatal errors and TED will wait for further input after printing an appropriate error message. The non-fatal errors include the following:- MISSING OPERAND NO SUCH LINE(ON DELETE COMMANDS) INVALID COMMAND INVALID NUMBER(ANY NUMBER >2048 OR EQUAL TO 0) INVALID LOCATE INVALID SUBSTITUTE 17 TED USER'S MANUAL ACKNOWLEDGEMENTS TED is a modified version of ED an editor designed and implemented by LTCOL Triyono at the Naval Postgraduate School as part of his thesis research. ED was designed to run on the ISIS-II operating system and was part of a TEXT processing system entered in the Intel Insite library contest which eventually won the grand prize. Many of the data structures used in ED and TED were originally designed by professor Gary Kildall. LCDR Frank Burkhead served as LTCOL Triyono's thesis advisor and contributed his guidance and experience during the development of the original system. Alterations to ED to allow TED to run on CP/M were made by LT Mark Moranville and LCDR Frank Burkhead. Further information on TED may be obtained from:- LT Mark Moranville(code 52mi) Naval Postgraduate School Monterey, Calif 93940 ph 408-646-2253 LCDR Frank Burkhead(code 52bg) Naval Postgraduate School Monterey, Calif 93940 ph 408-646-2449 18 Naval Postgraduate School Monterey, Calif 93940 ph 408-646-2253 GJNQTWZ_behkpux~!3;>AFXejpswz~      $ + 2 5 8 = J Y b e n s |        % * 3 6 < ? I R U X [ ^ a d g j m p s w 3 < E N W ` i r {    S1R -bPY!c"!"{&z͈!B:!@!B}*X͈!X"By2> SÝʀҠY͚͑ bÀ!2_~#~#^#fk:O b:*!b*q#"6ySb*q#"b*͈q#"!͈B 5b!>N4>S Ë<7W:_!~B#~+B##^#fk +*b+">Sb*!b~#"Sb*!ʟÕ!ʟ+~ͥ#• Ÿ~ Ÿ~#S{"b .><|;: *+~ͥ# ~ >+S"b*!bT]#͈B > S5!5b*!bk:2eG͈> S!XBpxO5b# !+~#ͥƒ does not contain a CP/M system, would be to seek to track 1, do the read there, then change disks to the blown one. * SAVING SEQUENTIAL MEMORY: Since CP/M v 3.0 does not have a SAVE function, one has been added. Syntax is: Kdu:filename.ext ^^^ ^ ^ ||| | +-- file extension (0-3 characters) ||| +-------- file name (1-8 characters) ||+--------------- user # (or none) |+---------------- drive designation (A-P or none) +----------------- DU command Drive and user may be omitted. If so, omit the colon as well. Drive must be specified if the user is. If the user # is omitted, the current user is used. If the drive is omitted, the current CP/M default drive is used. This function saves the current contents of sequential memory into a disk file. The contents of sequential memory are determined by the "yank" function, and the pointer of that function is used here. If nothing has been yanked, you get an error. Once the file has been saved, the "yank" pointer is re-initialized to its original value (3000H). Control is re- turned to DU. 4.0 INTERPRETATING DIRECTORY DATA === 4.1 SINGLE DENSITY === The following explains the format of a CP/M directory entry as shown by "DU", using either the "F" (find file) command, or just doing "D" (dump) of the directory sectors, which are located in groups 0 and 1 on a single-density disk. SAMPLE RESULT OF "FSID.COM" COMMAND: 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* 50 33343536 3738393A 00000000 00000000 *3456789:........* FIRST LINE - 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* || ||| | || || | | || ||^---hex file name/type--^ || || ^file name^ || || || || in ASCII || || extent-^^ || || || || || || file size in sectors-^^ || || || ^^-00 = file active other values (E.G 03) = user # || E5 = file erased ^^-displacement of line in directory sector SECOND LINE - 50 33343536 3738393A 00000000 00000000 *3456789:........* | | | | | ^- allocation groups ^-----allocation group numbers-----^ (just happened to be printable) 4.2 DOUBLE DENSITY === The following is a sample of "FSID.COM" running on a double- density system: :FSID.COM 00 00534944 20202020 20434F4D 0000003A *.SID COM...:* 10 38003900 3A003B00 00000000 00000000 *8.9.:.;.........* G=0000:00, T=2, S=1, PS=0 The primary difference is that the groups now occupy 2 bytes, i.e., 38 00" "39 00" ... this follows the Intel and CP/M convention of putting 16-bit values high-byte-first. This it means group 0038, 0039 etc. Note that in double-density, each group stood for 2k not 1K, so there were half as many groups for the same file. Be very careful when patching a directory under double-density. For exmaple: CH10,38,39,3A,3B... This might try to access group 3938 with resultant angry noise from the disk stepper as it attempts to find where it should go for the data. is it means group 0038, 0039 etc. Note that in double-density, each group stood for 2k not 1K, so there were half as many groups for the same file. Be very careful when patching a directory under double-density. For exmaple: CH10,38,39,3A,3B... This might try to access group 3938 with resultant angry noise from the disk stepper as it attempts to find where it shProGrahicsO =YTER )(|- Simpliway V4P =ZYT )(|- SorocQX-10O =*YTER )(|-T.V. 910/950O =YTER |- Televideo 912O =YTER |- Televideo 925O =*YTER |- TRS 80 Model 2O Y  |-Wyse WY-100O =YTER |- Xerox 820O = |- Wyse WY-100O =YTER |- Z3ENVsu1u!"!ͼ"!6!~##~#/~/, TESTCLOK Test a ZSDOS/ZDDOS Clock Syntax: TESTCLOK Note: Clock driver may be stand-alone in MicroSoft REL form or extracted from CLOCKS.DAT 7=@,  +++ ZSDOS is only for Z80 type computers!!!$"T]60 !9 ͮCh Q TESTCLOK V1.0 Copyright (C) 1988 H.F. Bower / C.W. CotrillͥK͛2Q  Extract Clock from Library ([Y]/N) : N d= Q  Name of UsPurpose and Use Display Commands Positioning Commands I/O Commands Change Commands Search Commands Logging Disks Miscellaneous Examples of command use Interpreting DU lines DU-V87 Installation : Disk Utility by Ward Christensen (revised 6/13/84) DU-v87 is a CP/M utility that provides the user capabilities to inspect and modify data on a diskette directly by specifying either track and sector or by specifying allocation unit. The program may be used to recover files, including directory entries and system tracks that have been destroyed. To invoke the program simply enter "DU" at the CP/M prompt: A>DU An initial command string may optionally be placed as an operand to the "DU" command: A>DU M;X This example will print a map of the disk and then exit. :Display Commands # Shows the disk parameters. A Dumps a sector in ASCII. H Dumps a sector in hex. D Dumps a sector in hex and ASCII. These commands may add ff,tt (from,to) to dump a range of sectors. G Shows the current group, track, and sector. M Maps the disk. Mxx Maps the disk starting at group xx. Vnn Views (much like CP/M type) nn sectors. ? Displays the help screen. :Positioning commands Gnn Positions to and reads the first sector of an allocation group. (nn = the allocation group in hex -- lowest value is 00) Tnn Positions to a specific track (nn = the track in decimal -- lowest value is 0) (does not do a read, must execute the S (sector) command first) Snn Positions to and reads a specific sector. (nn = the sector in decimal -- lowest value is 1) (the T (track) command must be executed first) +nn advances nn sectors and reads. -nn backs up nn sector and reads. (nn = the number of sectors in hex -- if omitted, 1 sector is assumed) If "-" is issued at the first logical sector of the disk, the sector number will wrap back to the last sector. If "+" is issued at the last sector, the sector number will wrap forward to the first sector. :I/O Commands R Reads the currently positioned sector into memory. Note: R (Read) is implicit in the "G", "+", and "-" commands, but NOT in the S and T commands. W Writes the currently positioned sector from memory. < Saves the current sector in a save buffer. > Recalls previously saved sector. Y Saves the current sector in the yank buffer. K Dumps memory to a file previously stored using the Y (yank) command. (requires the operand: [du:]filename[.ext]) :Change commands CHaddr,val,val,val... change hex in sector. CAaddr,char string... change ASCII in sector. NOTE that may be hex imbedded in the Ascii: ca0,OK<1a> Use W to write changes to disk. Note that the C command echoes the overlaid data for verification. CHaddr-addr,byte or CAaddr-addr,byte repeats a change. :Search commands Fname Prints the directory entry for file "name", then positions to its directory sector. F Finds the next occurrence of the same name. =aaaa Scan for aaaa (in ASCII) from current sector. (Specify upper or lower case, user for imbedded hex. :Logging a disk L Logs in a disk. Lx Logs in disk "x", such as: LB. Ux Logs user "x" for next F command. N Resets CP/M via the BDOS. This may make it possible under some implementations of CP/M to change the disk format. (e.g., density, sides, etc) :Miscellaneous X Exits back to CP/M (Must press return). P Toggles printer switch on/off. Z Sleep - causes the program to pause, such as to look at a dump. Z is 1 sec. Znn is nn tenths of a second on a 2 MHz 8080. /nn Repeats previous command nn times. Q Before a command does it "quietly". ( Toggles map display of erased files. B Boots track number of sectors per track. :Examples Multiple commands may be separated by ";". Any valid command string may be placed as an operand of the original DU command, i.e.: A>DU G0;D;G2;=OK<1A>;D The following commands will erase the disk directory to all E5's: lb log in b drive g0 position to dir. ch0-7f,e5 fill with e5 < save the sector >;w;+;/16 restore, write, next, repeat 16 This could be shortened to: lb;g0;ch0-7f,e5;< >;w;+;/16 :Interpretation of a directory entry. The following explains the format of a CP/M directory entry as shown by DU, using either the "F" (find file) command, or just doing "D" (dump) of the directory sectors, which are located in groups 0 and 1 on a single density disk. Sample result of "FDU" command: First 40 00445520 20202020 20434F4D 0000003B *.DU COM...:* line || | | || | | | || ||^----hex file name-----^ | | || ^file name^ || || | | || in ASCII || || extent-^ ^ || || || || || || file size in sectors-^^ || || || ^^-0x = file active/user area || E5 = file erased ^^-displacement of line in directory sector Second 50 33343536 3738393A 00000000 00000000 *3456789:........* line | | ^---allocation group numbers-------^ :Installation DU 7.0 and later versions of DU are designed to be installed with a minimum of trouble. In fact, in almost all cases, no changes to the source file should be necessary to get DU up and running. This is because DU uses the disk parameter block of CP/M to determine the characteristics of the disk environment. (see the disclaimer for certain non-standard versions of CP/M 1.4). The only parameter that should need to be changed will be the clock speed flag at 103H. Leave this byte zero if you have a 2 mhz clock. Patch it non-zero for 4 mhz. This is only needed for the "Z" (sleep) command. DU uses the disk parameter block of CP/M to determine the characteristics of the disk environment. (see the disclaimer for certain non-standard versions of CP/M 1.4). The only parameter that should need to be changed will be the clock speed fl TITLE "Clock module name - (REL clock name here)" SUBTTL "Description of Clock Module" ;================================================================ ; Place brief description and machine clock I/O parameters here ; along with any version and date data ;================================================================ VERS EQU 01 .Z80 NAME CCLOK ; Change this to no more than 6-char ; name for the REL driver module MACLIB CLOCK.LIB ; Some useful equates are here ; This first sect&ÐCOPYRIGHT 1982, DIGITAL RESEARCH09158230654321SID Version 3.0$1 !~=W!xʸ ~#ëbx {~#o}oü.ÃO$45 w y͏ , $  ͌ 9!z6 # L!zw͌j# X:z 0 ͘=N#Fy}80*z{¯#z+++ ¥ z#½# · 9!`͠ y9!rͷ y=!z{w# % w!P͠ y͓}*w#"͌ @.@<!Eͷ~P !ͷ’P͌Q!ͷªP}QxQ!ͷ͓G@Q! ͷ y͓Gþ!ͷ ͓Q!ͷ͓Q͌Q!.ͷ6y#G͙Qà!2ͷQ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON# z8O!B N#N ¾SP.* |} !9":q!"28!"9:] ,:e &O:l &:u &^! 1ͲĤͨ>#r ,!6-X5ADD_!o^#VD DD DD D upDDaD,½:,=D;" ,,DD;=;=;!,3; "=3;=D*{2z2*}o:*"ͨͲ,*">:r:vp^#V#ڊ ]Êp~͘#ڊ x":­*p*}›|›*,+!ͼ,=:D:e O:u ^! |Dͭ,ͨ,}2ͨ,2;;";"DM1 !6M ; "#=M ͡ =M YP͡ !|~ʇ #^#V:ʀ *#{€ z€ "~62!Ç #w6 R 1*#*!!~4ʼ #~#F#¼ x¼ ~#s#r#w>,{ ;= =D;ͨpᯕo>g,ͨp>#r!"^#V#0}o|g#  x: y0A rGM yrM M G:  z,{ ,<,p>'r{r>'r,*.##V+^+N+y,ͨp ʤ ~+rØ Ͳ,À :D,aD, ;" = ;"=D > 2,ͨ,!| } , w# ,Dʛ ;!=:0 D;: !: !|D",!|~g #~#Ve ze :,w, G :,D!|~ :,w#s#r, | D!|~ :ʲ 6 ͨ~͘p#^#V   ,:D!\6#>  w# >w# 6,! =D*",!l~#  :]? D!"T>HXE4*,s \ͤ w# W KS*ͼDD D:s W _ O {¦ x!ʠ i`"# w#© KSDs . . GтWx!A :2>ULT4!\~#  2|:] ʥ !3."C w#4/=D;:]s#r# D}w#: # >w>2V!"W#ʤڔ;}D=ʣ=D;"W"Y2* û :D!\!"]*T"_,:D*"]*"_*]PD!"[\(2|:~:}vv>2| , !ʠ# “D Dͨp,,=D;x|D}D͕gA>Ag},|D}!w,ͳs#r,:[,_!~@![4@\ͤ>2[>ͨ>?r,!e>Cw#>Ow#>Mw!u>Sw#>Yw#>Mw., * mʕw#ͻ |mͻË *¡ͻ?r# ¡{zPY!ͼ|}?>22!"".!Ow #w q!\6 ͤ!",D;;;!6W/6!6# q,J>2MQA qQA qQA DD͹ ͻ:›@w#͹àG6#|.̻|6# ±xa_!~> 5*~#"ů2[\ͤͤͤͤͤͤ!ex#y#*0}|A"0*T}|"T:2!A> _ͤ~r# ғ0r7r͉É> r> r ͤ:p>.r^+~r:ͨ>:r|͘}Ø  r>.r*}o|/+- , 0 D^#V#*.NyD** t ʎ+Ž_ Žʇ×#^#V""~/o>g++I!.B@¿B^#V=B^' D''DS_#0 D)DM)) O ^-*^#V#^.))))o"ys#r#!4-\Â+i*yqͧ+ͧ l-ͧy_xWl!XN!~͕ ʰè!_^!%ͳ^#Vxͥ>-r~r~r>=r!~ͨ͘p!#x !pp͡aA*#" !6i+"*#~͘#ipe^#Vi~͘*#~G€xí@xvʹx80ùx6ʹ4ʭ5¿>=r*!~͘*!x**:CZMEIABDHSP!"Y2V"!+"#!91!*#~:!2!~>#^#V#~ 1͓!~6a=G#^#V#~xPʅ#"#!N#Fͨڅ*>7* :{*!|~#~#V*#z~=µ=2{w`:͡* ͨ<͘!Y*#*  ‘Ͳ*`=͡* *#* :**MD*:7* ͓ͨ!"W2{>*r*#aM" *!", PASS !V~*Y+"Y|yw=2{~ !~##ʏ‚Z:!*w2!*#F#|!s!^#V QQNNDQ?TT::^#V#*^#V >VTxX8_T*!T:?*####T>V><7*W|ʉ!N*#!qʉ>#r͘> r-:V!ʟ-ڟ>=_~/w/w{ʽ-ҽ=YPæ"*.##F+N+~/o>g{ z <33:"QH'd 2" SYMBOLS NEXT MSZE PC END 2"02#O> h record(s) written. *& *#& !#s *&&# :#w:# >!#@  -*# :#wͽ2"_og_{ozg_og^#V))) _{ozg^#V) !^#V|g}o @!!BH @@ABH B! "BHI$$BI$BI $ HI D$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$I $I $BBHHA"HI$H!$HB $ $!$"$I"! $@H$$H D   "@DD"@HB D@!$"II$$D$@HI $IH"@H$DH AA@HA"@H$!D$H$$I" HB ! @$I$$"B HA $IH"H "$ I"I$ @$I"DH BH" !I B  B$H$ $BDA B@BI $$@B! B$ D B$ !A@@B!BB HD "BI"!BH""H$ $"H  @H!HH D!HDH BHBDH$$HII$ D@B!HUUURI! @"I@"$H@B$D$@HI $IH"@H$DH AA@HA"@H$!D$H$$I" HB ! @$I$$"B HA $IH"H "$ I"I$ @$I"DH BH" !I B  B$H$ $BDA B@BI $$@B! B$ D B$ !A@@B!BB HD "BI"!BH""H$ $"H  @H!HH D!HDH BHBD*!,RMD kb6!!N# 6!͟*&=͌͠nfR I! ut! ͅnfut}ݶ !Gnf!nf ##N#F utg! nfu! !ì͠!nf!4ì͠*"~og;ì͠nf }2#^!V ìʹnf nf""~%( og6 6666~- #4~0!(+u^!V(:w~* n f ~##u t w#~. 0#~* n f ~##u t w#$:w~ !n&u~l #6~#wʬDʬO("Xʲccd(jo(sʸu( x(_u6~( ~w6~_W!F(6!n&nnn~ʃn f ^#V#~#foÜ66n f N#FC #u t i`} !" * ͒u~(FR 0~wF~R 0 ~ݖw6~ &! ~5 * ~#" og~5 ~! ~5 n f ~##u t w+" 6~n f ^#V !zogu !9un&)n f u t ! F5~R 8~#wNì͠nf nf~#utog;nf~ ì͠!nf!! ;ìN(G~ y ! ;nf}(+utnfq#uti`Ó͠nf N&~ :66!!n&R n&ì!ì!nfn&R(66~nfw#ut 66n(͠6!_~w ì͠nf~ !ì~w~(^ nfp66n& R(n !ì͠nfN(~(^V!Rut} !ìnfnfn&^VR(66nfutn(!ì͠*$}( nf"$ !:ì͠nf*$ut"$ì͠:nf͵ ìâ:~!U_^Vnf \nu~!U_!:5 ~ݶݶݶ ~ _W!f !ѷR^u u^ nbf 0~ w! nfͳF 5 ~ R t ~('!-nfͳ5 ~#ognfͳ~ 5 n&ì fnfn~~Ó srut | YPo ͓YP 1 | o E ͓ _!R!B|MD!BMD!B{>RR8<)jz(RR03333?:= x({J!)y?0)x!8 ,S***} !,"*8  8r8!**"*** r!+x8,x8)!#!9!9^#V#9CPU speed is unlimitedCPU speed is %d MHz (null)$$      AAAAAABBBBBB 0123456789ABCDEF  Z3ENV!: 6#!" s 1 *" |2 ( ! N#FC #~2 !( D ZPATH v1.1 4 Jul 930|2 S {}2 * |(~( !B^#V*" : 8 ~#fo " >2 : .u (ZSDOS : 0 >. : 0 >) Ϳ: (: + $$" $" !" / #+/" \/(:  [ z($M\Q 2 \" C : ʩD: S[ >\=\" ~$(+A8cG: Ox0Z#~$((:(( 08D:0@#~[ * ~$(@#~#$(+8-: !t6%.^,V6t!6!N* ~!w-4,~!^,V6³êFILE NOT FOUND$B,!~,R!w>O~.N. !Ny.4ó.~$,6!N y,N. ~_*!4 * *!6ó*v\ ~_*!4 * *!6ó*v\>: u --> , #~#(+͸( ~  #uNoname: u~#  ~͢8#~#͢0+>  (~(## #F#N>  0:8 A[877? ~(# ~ # =0x* |(^#V#~" |>Z <(*>O>G>Z8< |ZB!~#~3ENVͶ ͶOG{~#  (  ( ( ( }y/  ѷ>  >  &d& .,0g} |> (0G |O> a{_! o*o*8 j ## #F#N>  0:8 A[877? ~(# ~ # =0x* |(^#V#~" |>Z <(*>O>G>Z8< |ZB!~#~3ENVͶ ͶOG{~#  (  ( ( ( }y/  ѷ>  >  &d& .,0g} |> (0G |2Z3ENVNOSTMPNOFILEreaderrUPDTERRREPLALWS!~6w;; Ϳ~#Ϳ !Z͛!͑(|* LZL*#~ (!M[!WV!aF:!pF: !Invoking the Assembler Assembler Pseudo-Ops Assembler In-Line Error Messages Assembler Console Error Messages :Invoking the Assembler The CP/M Assembler is invoked by typing -- ASM filename or ASM filename.parms where 'filename' is the name of the file 'filename.ASM' to be assembled. In the case of the first command, the following files are created -- filename.HEX - "HEX" file containing machine code in Intel hex format filename.PRN - listing file I th cas o th secon command thes file ar create accordin to the parameters specified -- ASM filename.pqr where p : A,B,... - designates the disk name which contains the source q : A,B,... - designates the disk name to receive the hex file Z - skips generation of the hex file r : A,B,... - designates the disk name which will receive the print file X - outputs the listing to the console Z - skips generation of the print file :Assembler Pseudo-Ops ORG Set the program or data origin END End program EQU Numeric equate SET Numeric set IF Begin conditional assembly ENDIF End conditional assembly DB Define data bytes DW Define data words DS Define data storage area :Assembler In-Line Error Messages Ġ Dat error elemen i dat statemen canno b place i th specified data area Š Expressio error expressio i ill-forme an canno b computed at assembly line ̠ Labe error labe canno appea i thi contex (ma b duplicate label) Π No implemented: feature whic wil appea i futur AS versions O Overflow: expression is too complicated to compute; simplify Р Phas error labe doe no hav th sam valu o tw subsequent passes through the program Ҡ Registe error th valu specifie a registe i no compatible with the operation code ֠ Valu error operan encountere i expressio i improperl formed :Assembler Console Error Messages NO SOURCE FILE PRESENT The file specified in the ASM command does not exist on disk NO DIRECTORY SPACE The disk directory is full, erase files which are not needed, and retry SOURCE FILE NAME ERROR Improperly formed ASM file name SOURCE FILE READ ERROR Source file cannot be read properly by the assembler, execute a TYPE to determine the point of error OUTPUT FILE WRITE ERROR Output files cannot be written properly, most likely cause is a full disk, erase and retry CANNO CLOS FIL Outpu fil canno b closedchect see if disk is write protected  determine the point of error OUTPUT FILE WRITE ERROR Output files cannot be written pr2Z3ENVNOSTMPNOFILEreaderrUPDTERRREPLALWS!~6w;;<R( Not Z33+$s 1 ͚* B%5"z:] /!~2g#" !m~ /22 C#~\S(WG(SR( P(2Cf=8͛\g="<:3 ͿZ~( L~(lCf=8!͛:sͤ{ 0K)j!^  #(:!(u* :G͆:(0*+6;#~ (> Ϳ~#Ϳ !Z͛!͑(|* LZL*#~ (!M[!WV!aF:!pF: !Invoking the Assembler Assembler Pseudo-Ops Assembler In-Line Error Messages Assembler Console Error Messages :Invoking the Assembler The CP/M Assembler is invoked by typing -- ASM filename or ASM filename.parms where 'filename' is the name of the file 'filename.ASM' to be assembled. In the case of the first command, the following files are created -- filename.HEX - "HEX" file containing machine code in Intel hex format filename.PRN - listing file I th cas o th secon command thes file ar create accordin to the parameters specified -- ASM filename.pqr where p : A,B,... - designates the disk name which contains the source q : A,B,... - designates the disk name to receive the hex file Z - skips generation of the hex file r : A,B,... - designates the disk name which will receive the print file X - outputs the listing to the console Z - skips generation of the print file :Assembler Pseudo-Ops ORG Set the program or data origin END End program EQU Numeric equate SET Numeric set IF Begin conditional assembly ENDIF End conditional assembly DB Define data bytes DW Define data words DS Define data storage area :Assembler In-Line Error Messages Ġ Dat error elemen i dat statemen canno b place i th specified data area Š Expressio error expressio i ill-forme an canno b computed at assembly line ̠ Labe error labe canno appea i thi contex (ma b duplicate label) Π No implemented: feature whic wil appea i futur AS versions O Overflow: expression is too complicated to compute; simplify Р Phas error labe doe no hav th sam valu o tw subsequent passes through the program Ҡ Registe error th valu specifie a registe i no compatible with the operation code ֠ Valu error operan encountere i expressio i improperl formed :Assembler Console Error Messages NO SOURCE FILE PRESENT The file specified in the ASM command does not exist on disk NO DIRECTORY SPACE The disk directory is full, erase files which are not needed, and retry SOURCE FILE NAME ERROR Improperly formed ASM file name SOURCE FILE READ ERROR Source file cannot be read properly by the assembler, execute a TYPE to determine the point of error OUTPUT FILE WRITE ERROR Output files cannot be written properly, most likely cause is a full disk, erase and retry CANNO CLOS FIL Outpu fil canno b closedchect see if disk is write protected  determine the point of error OUTPUT FILE WRITE ERROR Output files cannot be written pr ZSVSTAMP USAGE NOTES 1.0 INTRODUCTION ZSVSTAMP is a utility program that saves the create date/time stamp of a given file in memory. At a later time, ZSVSTAMP can restore the create stamp to a file. This can be useful when modifying a file with an editor that actually creates a new copy of the file rather than modifying it in place. ZSVSTAMP allows the original creation date of the document to be retained. In order to support all types of date stamping uGeneral Information on CP/M CP/M File References CP/M Line Editing and Output Control CP/M Built-In Commands CP/M Transient Commands Physical Device Assignments for ARIES-1 CP/M STAT Command CP/M PIP Command CP/M ED Command CP/M ASM Command CP/M LOAD Command The UNLOAD Command CP/M DDT Command The ZDT Command CP/M SYSGEN Command CP/M SUBMIT Command CP/M BDOS -- Basic I/O Operations CP/M BDOS -- Basic Disk Operations CP/M File Types CP/M BIOS Jump Vector :General Information on CP/M CP/ i monito contro progra fo microcompute syste developmen whic use IBM-compatibl flexibl disk (flopp disks fo mas storage Usin microcompute mainfram base o Intel' 808 o Zilog' Z8 microprocessor CP/͠ provide genera environmen fo progra construction storage an editing alon wit assembl an progra debu facilities A importan featur o CP/ i tha i ca b easil altere t execut wit an compute configuratio whic use a Inte 808 o Zilo Z8 Microprocesso an ha a leas 16 byte o mai memor wit u t fou IBM-compatabl diskett drives. Th CP/ monito provide acces t program throug comprehensiv fil managemen system Th fil subsyste support name fil structure allowin dynami allocatio o fil spac a wel a sequentia an rando fil access Usin thi fil system u t 6 distinc program ca b store i bot sourc an machine-executabl form. Digita Research th designe o CP/M ha provide se o si manual whic describ th us an operatio o CP/ i detail. These manuals are: 1 A Introductio t CP/ Feature an Facilities 2. ED: A Context Editor for the CP/M Disk System 3. ASM: CP/M Assembler User's Manual 4 DDT CP/ Dynami Debuggin Too User' Manual 5. CP/M Interface Guide 6. CP/M System Alteration Guide A th reade ca see CP/ support contex editor a assemble (Intel-compatable) an debugge system Thes ar availabl i th basi CP/ package Ther i larg variet o othe softwar availabl whic ca ru unde CP/ wit littl o n modification Suc softwar include severa assembler (bot 808 an Z80) symboli debugger severa high-leve language (includin FORTRAΠ I֠ {compiler} BASIC- {translator} CBASI {translator} man interpretiv BASICs ALGOL FOCAL an C) an severa special-purpos application program (suc a tex formattin system an accountin systems). :CP/M File References fil referenc identifie particula fil o grou o file o particula dis attache t CP/M Thes fil reference ca b eithe unambiguou (ufn o ambiguou (afn) A unambiguou fil referenc uniquel identifie singl file whil a ambiguou fil referenc ma b satisfied by a number of different files. A unambiguou fil referenc i a exac nam o th specifie file I consist o u t eigh character i th fil nam an thre character in the file type. An unambiguous file reference is of the form -- pppppppp.sss Th character use i specifyin a unambiguou fil referenc ma not contain any of -- < > . , ; : = ? * [ ] A ambiguou fil referenc i use fo director searc an patter matching Th for o a ambiguou fil referenc i simila t a unambiguou reference excep th symbo '? ma b intersperse throughou th fil reference I variou command throughou CP/M th '? symbo matche an characte o fil nam i th '? position Fo example X?Y.C?͠ wil matc XZY.CO an X3Y.CEM Th '* symbo i use t matc al character o fil nam o fil type Fo example *.CO wil matc XZY.COM and HELP.COM, while HELP.* will match HELP.COM and HELP.HLP. :CP/M Line Editing and Output Control The following are the line editing functions supported by CP/M -- rubout Delete and echo the last character typed at the console. Ctrl-U Delete the entire line typed at the console. Ctrl-X Same as Ctrl-U. Ctrl-R Retype current command line: types a "clean line" following character deletion with rubouts. Ctrl-E Physical end of line: carriage is returned, but line is not sent until the carriage return key is depressed. Ctrl-C CP/M system reboot (warm start). Ctrl-Z End input from the console (used in PIP and ED). Other control functions affect console output -- Ctrl-P Copy all subsequent console output to the currently- assigned list device (LST:). Output is sent to both the list device and the console device until the next Ctrl-P is typed. Ctrl-S Stop the console output temporarily. Program execution and output continue when the next character is typed at the console. Typing Ctrl-C returns control to CP/M. Inpu line ca generall b u t 25 character i length The ar not acted upon until the carriage return key is typed. :CP/M Built-In Commands CP/M supports five built-in commands -- ER af -- Th ER (erase comman remove file fro th currently logged-in disk. DIҠ af -- Th DI (directory comman cause th name o al file whic satisf th ambiguou fil nam af t b liste o th consol device Al file ar liste i n af i given. REΠ ufn1=ufn -- Th RE (rename comman allow th use t chang th name o file o disk Th fil satisfyin ufn is changed to ufn1. SAVŠ uf -- Th SAV comman place page (256-byt blocks onto disk from the TPA and names this file ufn. TYPŠ uf -- Th TYP comman display th content o th ASCI sourc fil uf o th currentl logged-i dis a th console device. :CP/M Transient Commands The CP/M standard transient commands are -- STAԠ Lis th numbe o byte o storag remainin o th currentl logged-i disk provid堠 statistica informatio abou particula files an displa o alter device assignment. PI Loa th Periphera Interchang Progra fo subsequen disk file and peripheral transfer operations. ED Load and execute the CP/M text editor program. SUBMIT Submit a file of commands for batch processing. AS͠ Loa th CP/ assemble an assembl th specifie program from disk. LOAĠ Loa th fil i Inte "hex machin cod forma an produc fil i machin executabl for whic ca b loade int th TP (thi loade progra become ne command under the CCP). DDT Load the CP/M debugger into the TPA and execute it. DUMP Dump the contents of a file in hex. SYSGEN Create a new CP/M system diskette. MOVCP͠ Regenerat th CP/ syste fo particula memor size. :Physical Device Assignments for ARIES-1 Logical Device Physical Device CON: TTY: Model 43 Teletype CRT: Hazeltine 1500 CRT BAT: CRT and Modem UC1: In=CRT, Out=CRT and Modem RDR: TTY: Model 43 Teletype PTR: Modem UR1: CRT and Modem w/CRT Output UR2: CRT and Modem PUN: TTY: Model 43 Teletype PTP: Modem UP1: CRT and Modem UP2: CRT and Modem LST: TTY: Model 43 Teletype CRT: Hazeltine 1500 CRT LPT: Modem UL1: CRT and Modem :CP/M STAT Command The STAT Command takes any of the following forms -- STA Calculat th storag remainin o al activ drive an prin message like x: R/W, SPACE: nnnK -- if disk is Read/Write x: R/O, SPACE: nnnK -- if disk is Read Only STAT x: Calculate the storage remaining on the specified drive and print BYTES REMAINING ON x: nnnK STAT x:afn Sca th specifie file o th specifie driv (x i optional) an lis al file whic satisf th unambiguou referenc i alphabetica orde wit storag requirements tabl lik th following is generated -- RECS BYTS EX D:FILENAME.TYP rrrr nnnK ee d:pppppppp.sss where rrrr -- number of 128-byte records allocated to the file nnnK -- number of bytes (in K, K=1024) allocated to the file nnn = rrrr * 128 / 1024 ee -- number of 16K extensions ee = nnn / 16 d:pppppppp.sss -- drive name (d may be A, B, C, D) and file name STAT x:=R/O Se th specifie driv t Rea Only Thi i cleare b war boot. When a disk is Read Only, the message BDOS ERR ON x: READ ONLY will appear if there is an attempt to write to it. STAT VAL: Displa th possibl logica t physica devic assignments STAT will print the list -- CON: = TTY: CRT: BAT: UC1: RDR: = TTY: PTR: UR1: UR2: PUN: = TTY: PTP: UP1: UP2: LST: = TTY: CRT: LPT: UL1: STAT DEV: Displa th curren logica t physica devic mapping Fo example, the list may appear as -- CON: = CRT: PUN: = PTP: RDR: = UR1: LST: = TTY: STAT ld1=pd1, ld2=pd2, ... Chang th logica t physica devic assignments Logica devic ld i assigne t physica devic pd1 etc Th vali logical device names are -- CON: The system console device RDR: The paper tape reader device PUN: The paper tape punch device LST: The output list device The valid physical device names are -- TTY: Slow speed output device (teletype) CRT: High speed output device (cathode ray tube) BAT Batc processin (CON inpu i RDR: CON outpu is LST:) UC1: User-defined console PTR: Paper tape reader PTP: Paper tape punch UR1: User-defined reader #1 UR2: User-defined reader #2 UP1: User-defined punch #1 UP2: User-defined punch #2 LPT: Line printer UL1: User-defined list device #1 :CP/M PIP Command PIР (Periphera Interchang Program i th CP/͠ transien whic implement th basi medi conversio operation necessar t load print punch copy an combin dis files PI i initiate b on o th following forms -- PIР Engag PIP promp th use wit '*' an rea comman line directl fro th console PI use i thi wa i exite b eithe typin a empt comman lin (jus carriag return o Ctrl- as the first character of the line. PIР cmn Engag PIP execut th specifie command an return to CP/M. The form of each command line in PIP is -- destination = source#1, source#2, source#3, ..., source#n The general forms of PIP command lines are -- x:=y:af Cop al file satisfyin af fro driv t driv x 'y ma b omitted and i so th currently logged-in drive is selected. x:ufn=y Cop th fil give b uf fro t x 'x ma b omitted and i so th currentl logged-i drive is selected. x:afn=y:af Lik th above bu and/o ma b omitted th defaul driv i selecte fo th堠 omitte drive(s). ld=p Cop fro th specifie physica devic t th specifie logica device Vali logica device are -- CON:, RDR:, PUN:, LST: Valid physical devices are -- TTY:, CRT:, UC1:, PTR:, PTP:, UR1:, UR2:, UP1:, UP2:, LPT:, UL1: Additional device names which may be used in PIP commands are -- NUL: Send 40 Nulls (ASCII 0) to the device. EOF: Send a CP/M End of File character (ASCII Ctrl-Z). INP: Special PIP input source to be patched (see manual). OUT Specia PIР outpu destinatio t b patche (se manual). PRN Sam a LST: bu tab ar expande a ever eight characte position line ar numbered an pag eject are inserted every 60 lines with an initial eject. Th use ca als specif on o mor PIР parameter enclose i square brackets separated by zero or more blanks. These parameters are --   Bloc mod transfer Dat i buffere b PI unti a ASCI X- Off character (Ctrl-S) is received from the source device. D Delet character whic exten pas colum i th transfe o data to the destination from the character source. E Echo all transfer operations to the console. F Filter (remove) form feeds from the file. He dat transfer Al dat i checke fo prope Inte he fil format. I Ignore ':00' records in the transfer of Intel hex format file. L Translate upper case to lower case alphabetics. N Add line numbers to each line transferred to the destination. O Object file (non-ASCII) transfer. Ignore End of File. Pn Include page ejects at every n lines. Qs^ڠQui copyin fro th sourc devic o fil whe th strin (terminated by Ctrl-Z) is encountered. Ss^Z Start copying from the source file when the string s is seen. Tn Expand tabs to every nth column. U Translate lower case to upper case alphabetics. V Verify that data has been copied correctly. Z Zero the parity bit on input for each ASCII character. :CP/M ED Command Th EĠ Progra i th CP/͠ syste contex editor whic allow creatio an alteratio o ASCI files Complet detail ar give i th user's manual. The following are the error indicators given by ED -- ? Unrecognized Command > Memory buffer full # Cannot apply command the number of times specified O Cannot open LIB file in R command The following are the control characters recognized by ED -- ^C System reboot ^E Physical (not entered in command) ^I Logical tab ^L Logical in search and substitute strings ^U Line delete ^Z String terminator Rubout Character delete Break Discontinue command The following are the commands recognized by ED -- nA Append lines +/- B Beginning/Bottom of buffer +/- nC Move character positions +/- nD Delete characters E Exit nFs^Z Find string H End edit, close and reopen files Is^Z Insert characters nJ Place strings in juxtaposition +/- nK Kill (delete) lines +/- nL Move down/up lines nM Macro definition O Return to original file +/- nP Move and print pages Q Quit with no file changes R Read library file nSs1^Zs2^Z Substitute s2 for s1 +/- nT Type lines +/- U Translate lower to upper case if U; none if -U +/- V Engage/disengage line numbers (verify) 0V Print memory buffer info (free/total usage) nW Write lines nX Transfer n lines to X$$$$$$$.LIB 0X Empty X$$$$$$$.LIB nZ Sleep +/- n Move and type (+/- nLT) n: Move to absolute line (V engaged) :n Process from current line to specified line (V engaged) :CP/M ASM Command Th AS Comman load an execute th CP/ 808 assembler I i o the form -- ASM filename.xyz where filename ... is the name of the file 'filename.ASM' to assemble x ... designates the disk name which contains the source y ... designates the disk name to contain the hex file (y=Z suppresses generation of the hex file) z ... designates the disk name to contain the print file (y=X lists on CON:, y=Z suppresses listing) Refer to the ASM Manual for further details. :CP/M LOAD Command Th LOA Comman read th fil specified whic i assume t contai Inte he forma machin cod an produce memor imag fil whic ca b subsequently executed (converts .HEX to .COM files). It is of the form -- LOAD filename where filename is the name of the file 'filename.HEX'. :The UNLOAD Command Th UNLOA Comman doe th revers o th LOA Comman -- i convert COM files to HEX files. It is of the form -- UNLOAD filename where filename is the name of the file 'filename.COM'. :CP/M DDT Command Th DDԠ Progra allow dynami interactiv testin an debuggin o programs generated in the CP/M environment. It is invoked by -- DDT DDT filename.HEX DDT filename.COM where 'filename' is the name of the program to be loaded or tested. DDT responds to the normal CP/M input line editing characters. DDT responds to the following commands -- As Perform inline assembly starting at the specified address s. D Display memory from the current address for 16 display lines. Ds Display memory from address s for 16 display lines. Ds,f Display memory from address s to address f. Fs,f,c Fill memory from start address s to final address f with byte c. G Start execution at the current value of the PC. Gs Start execution at the specified address s. Gs,Star executio a th specifie addres an se breakpoin at the address b. Gs,b,c Same as above with breakpoints at b and c. G,b Start execution at the current value of the PC with breakpoint b. G,b,c Same as above with breakpoints at b and c. If Insert a file name f into the default FCB. L List 12 lines of disassembled code from the current address. Ls List 12 lines from the specified address s. Ls,f List lines of disassembled code from s to f. Ms,f,d Move the block from address s to f to destination at address d. R Read file in FCB into memory at 100H. Rb Read file in FCB into memory with offset b from 100H. Ss Set (examine and alter) memory starting at address s. T Trace the next instruction. Tn Trace the next n instructions. U Untrace -- like Trace, but intermediate steps are not displayed. X Examine all registers and flags. Xr Examine specified registers or flag, where r may be -- C Carry flag Z Zero flag M Minus (sign) flag I Interdigit Carry flag A Accumulator B BC Reg pair D DE Reg pair H HL Reg pair S Stack pointer P PC :The ZDT Command ZDT is a Z80 version of DDT. It is invoked by typing -- ZDT Th command recognize b ZD ar inpu i single-characte inpu mode N inpu lin editin i done an eac comman expect a exac input Al byt value ar exactl tw characters an al addresse ar exactly four characters. The commands recognized by ZDT are -- A bbbb Ente ASCI character int memor fro keyboar startin a address bbbb. B Warm Boot -- Return to CP/M. C bbbb eeee nnnn Compar memor fro addres bbb t addres eee t bloc starting at nnnn. D bbbb eeee Dump memory from bbbb to eeee. E bbbb eeee Searc fo ASCI strin fro bbb t eeee Strin i a most 16 characters. String is terminated by . F bbbb eeee Searc fo he strin fro bbb t eeee Strin i terminated by . G Go to next breakpoint. H aaaa nnnn Hex add and subtract. Computes aaaa+nnnn and aaaa-nnnn. I nn Input. Prints value at port nn. J nnnn Jump to and execute at location nnnn. K Keyboard echo. L filename.typ nnnn Loads specified disk file into location nnnn. M bbbb eeee nnnn Move block from bbbb to eeee-1 to nnnn. N aaaa Enter offset aaaa for loading. O nn dd Output byte dd to port nn. P bbbb Inpu he int memor fro keyboar startin a bbbb or backs pointer. Q bbbb eeee Dumps from bbbb to eeee in ASCII. R n ll tt ss bbbb Rea bloc o dat fro dis o lengt l (256-byt pages starting at track tt and sector ss placing the data at bbbb. S bbbb eeee Disassembly (symbolic dump) from bbbb to eeee. T bbbb eeee Destructive memory test from bbbb to eeee-1. U bbbb Set breakpoint at bbbb. V Display all currently-set breakpoints. W n ll tt ss bbbb Writ o dis th dat a bbb fo lengt o l startin at track tt, sector ss. ll is in 256-byte pages. X Display registers. Z bbbb eeee dd Zero or set memory from bbbb to eeee-1 with byte dd. :CP/M SYSGEN Command Th SYSGE transien comman allow generatio o a initialize dis containing the CP/M Operating System. It is invoked by typing SYSGEN Onc invoked th use i prompte throug th session Refe t th CP/M Manual for further details. :CP/M SUBMIT Command Th SUBMIԠ comman allow CP/ command t b batche togethe fo automatic processing. The form of this command is SUBMIT ufn parm1 parm2 ... parmn Th uf give i th SUBMI comman mus b th filenam (no type o fil whic exist o th currentl logged-i dis wit a assume fil type of '.SUB'. Refer to the CP/M Manual for further details. :CP/M BDOS -- Basic I/O Operations Function and Number Input Parameters Output Parameters Read Console 1 None ASCII Char in A Write Console 2 ASCII Char in E None Read Reader 3 None ASCII Char in A Write Punch 4 ASCII Char in E None Write List 5 ASCII Char in E None Get I/O Status 7 None I/O Status in A Put I/O Status 8 I/O Status in E None Print Buffer 9 Address of string None terminated by $ in DE Read Buffer 10 Address of Read Read Buffer is filled Buffer in DE Console Ready 11 None LSB of A is 1 if char ready *All function numbers are passed in Reg C. I/O Status Byte -- Value Bits 6&7 Bits 4&5 Bits 2&3 Bits 0&1 00 CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY: 01 CRT: PTR: PTP: CRT: 10 BAT: UR1: UP1: LPT: 11 UC1: UR2: UP2: UL1: Read Buffer -- Byte Function 1 Maximum Buffer Length 2 Current Buffer Length (returned value) 3-n Data (returned values) :CP/M BIOS -- Basic Disk Operations Function and Number Input Parameters Output Parameters Lift Head 12 None None Init BDOS 13 None None Log-In Disk 14 Value in Reg E None A=0, B=1, C=2, D=3 Open File 15 Address of FCB Byte address of FCB in DE if found or 0FFH if not Close File 16 Address of FCB Byte address of FCB in DE if found or 0FFH if not Search for File 17 Address of FCB Byte address of first FCB in DE if found or 0FFH if not Search for Next 18 Address of FCB Byte address of next FCB in DE if found or 0FFH if not Delete File 19 Address of FCB None in DE Function and Number Input Parameters Output Parameters Read Next Record 20 Address of FCB 0=successful read in DE 1=read past EOF 2=reading random data Write Next Rec 21 Address of FCB 0=successful write in DE 1=error in extending 2=end of disk data 255=no more dir space Make File 22 Address of FCB Byte address of FCB or in DE 255 if no more dir space Rename FCB 23 Address of FCB Byte Address of Dir entry in DE or 255 if no match Read Drive No 25 None Number of logged-in drive (A=0, B=1, C=2, D=3) Set DMA Address 26 Address of 128 None byte buffer in DE *All function numbers are passed in Reg C :CP/M File Types ALG ALGOL 60 Source File ASM Assembler Source File BAK Backup File BAS BASIC Source File (CBASIC) C C Source File COM "Command" File (Binary ORGed to 100H) FOR FORTRAN IV Source File HEX Intel "hex" code file HLP HELP File INT BASIC Intermediate File LST Listing File MAC MACRO-80 Source File PRN Assembler Listing File SRC PASCAL/MT Source File SUB SUBMIT File TC Tiny-C Source File TFS TFS Source File TXT Text File $$$ Temporary File :CP/M BIOS Jump Vector Th followin i tabl representin th entr point int th CP/ BIOS of the major routines accessable to the user -- Routine Relative Offset Comment BOOT 00H Cold Start WBOOT 03H Warm Start CONST 06H Console Status Reg A = 00 if no char ready Reg A = FF if char ready CONIN 09H Console char in (Reg A) CONOUT 0CH Console char out (Reg C) LIST 0FH List out (Reg C) PUNCH 12H Punch out (Reg C) READER 15H Reader in (Reg A) Routine Relative Offset Comment HOME 18H Move to track 00 SELDSK 1BH Select disk given by Reg C (A=0,B=1,...) SETTRˠ 1EȠ Se trac addres give b Re (0...76) SETSEà 21Ƞ Se secto addres give b Re (1...26) SETDMA 24H Set subsequent DMA address (RP B&C) READ 27H Read track/sector (block) WRITE 2AH Write track/sector (block) k given by Reg C (A=0,B=1,...) SETTRˠ 1EȠ Se trac addres give b Re !P=~(G#~J :;%7ͥ(>2;!:͒4 Q=ʹ7P=O!>2;~, :=ʴ7:;(:;(u`:;.,͸8h ( 2;͸0:; ͣ9>2;͸:;(;:;7:;[78( :;:=):;?:;7̈́J5ͧ4!;`4ͼ49> J5:a̧4y4ͼ4 7* ͙2;7_YN !;' 3:;!; !;;2J)!e8#~=!9:R~((J):;(H!l +y0+~:d/<(!:͒4 :<(!~@(>#([h (18,h_:l7!e~( 0# +s{!kl , e͋h (*O<e8e͋h 8 ʹ7 3!:͒4:<` 8(!e(#6(T]#H!;F(  !n (V K  (0(%9_?8 )94{J: J%9͑ : J: g> g[, !I9!9:R)9**<~)9!n)9*,<> > %9:;K!2;:;:;Ͱ8:R(!ͩ͢ )ͅx :<(<(R, ( ͅ=͐!*,<+",<~ !9)9͐!x(*,<++> ##", *,<",<0 *.<#",2;!;2 . , ; : = ? * [ ] A ambiguou fil referenc i use fo director searc an patter matching Th for o a ambiguou fil referenc i simila t a unambiguou reference excep th symbo '? ma b intersperse throughou th fil reference I variou command throughou CP/M th '? symbo matche an characte o fil nam i th '? position Fo example X?Y.C?͠ wil matc XZY.CO an X3Y.CEM Th '* symbo i use t matc al character o fil nam o fil type Fo example *.CO wil matc XZY.COM and HELP.COM, while HELP.* will match HELP.COM and HELP.HLP. :CP/M Line Editing and Output Control The following are the line editing functions supported by CP/M -- rubout Delete and echo the last character typed at the console. Ctrl-Ƞ Delet th las characte typed Backspac on character; CRT-oriented Ctrl-U Delete the entire line typed at the console. Ctrl- Delet th entir lin type a th console Backspac t th beginnin o th curren line; CRT-oriented. Ctrl-R Retype current command line: types a "clean line" following character deletion with rubouts. Ctrl-E Physical end of line: carriage is returned, but line is not sent until the carriage return key is depressed. Ctrl-M Terminates input (carriage return). Ctrl-J Terminates current input (line feed); CRT-oriented Ctrl-C CP/M system reboot (warm start). Ctrl-Z End input from the console (used in PIP and ED). Other control functions affect console output -- Ctrl-P Copy all subsequent console output to the currently- assigned list device (LST:). Output is sent to both the list device and the console device until the next Ctrl-P is typed. Ctrl-S Stop the console output temporarily. Program execution and output continue when the next character is typed at the console. Typing Ctrl-C returns control to CP/M. Inpu line ca generall b u t 25 character i length The ar not acted upon until the carriage return key is typed. :CP/M Built-In Commands ER af -- Th ER (erase comman remove file fro th currently logged-in disk. DIҠ af -- Th DI (directory comman cause th name o al file whic satisf th ambiguou fil nam af t b liste o th consol device Al file ar liste i n af i given. REΠ ufn1=ufn -- Th RE (rename comman allow th use t chang th name o file o disk Th fil satisfyin ufn is changed to ufn1. SAVŠ uf -- Th SAV comman place page (256-byt blocks onto disk from the TPA and names this file ufn. TYPŠ uf -- Th TYP comman display th content o th ASCI sourc fil uf o th currentl logged-i dis a th console device. USE -- Upo col boot th use i automaticall logge i t Use Are 0 whic i compatabl wit CP/ 1. directories Th USE comman allow th use t mov t anothe logica are withi th sam directory area ar numbere 0-15 Th ERA DIR REN SAVE an TYP command appl t th current User Area. :CP/M Transient Commands The CP/M standard transient commands are -- STAԠ Lis th numbe o byte o storag and data o th currentl logged-i disk provid堠 statistica informatio abou particula files an displa o alter device assignment. PI Loa th Periphera Interchang Progra fo subsequen disk file and peripheral transfer operations. ED Load and execute the CP/M text editor program. SUBMIT Submit a file of commands for batch processing. XSU Use i conjunctio wit SUBMIT transfer al buffere console input from CON: to the SUBMIT File. AS͠ Loa th CP/ assemble an assembl th specifie program from disk. LOAĠ Loa th fil i Inte "hex machin cod forma an produc fil i machin executabl for whic ca b loade int th TP (thi loade progra become ne command under the CCP). DDT Load the CP/M debugger into the TPA and execute it. DUMP Dump the contents of a file in hex. SYSGEN Create a new CP/M system diskette. MOVCP͠ Regenerat th CP/ syste fo particula memor size. :Physical Device Assignments for ARIES-1 Logical Device Physical Device CON: TTY: Model 43 Teletype CRT: Hazeltine 1500 CRT BAT: CRT and Modem UC1: In=CRT, Out=CRT and Modem RDR: TTY: Model 43 Teletype PTR: Modem UR1: CRT and Modem w/CRT Output UR2: CRT and Modem PUN: TTY: Model 43 Teletype PTP: Modem UP1: CRT and Modem UP2: CRT and Modem LST: TTY: Model 43 Teletype CRT: Hazeltine 1500 CRT LPT: Modem UL1: CRT and Modem :CP/M STAT Command The STAT Command takes any of the following forms -- STA Calculat th storag remainin o al activ drive an prin message like x: R/W, SPACE: nnnK -- if disk is Read/Write x: R/O, SPACE: nnnK -- if disk is Read Only STAT x: Calculate the storage remaining on the specified drive and print BYTES REMAINING ON x: nnnK STAT x:afn [$S] Sca th specifie file o th specifie driv (x i optional) an lis al file whic satisf th unambiguou referenc i alphabetica orde wit storag requirements tabl lik th following is generated -- Size Recs Bytes Ext Acc sssss rrrr nnnk ee a/b d:pppppppp.sss where sssss -- number of virtual 128-byte records in file This field is display if the optional $S is given rrrr -- number of 128-byte records in each extent of the file nnnK -- number of bytes (in K, K=1024) allocated to the file ee -- number of 16K extensions a/b -- access mode of file; R/O or R/W d:pppppppp.sss -- drive name (d may be A, B, C, D) and file name STAT x:=R/O Se th specifie driv t Rea Only Thi i cleare b war boot. When a disk is Read Only, the message BDOS ERR ON x: READ ONLY will appear if there is an attempt to write to it. STAT VAL: Summarize the status commands. STAT VAL: will print the list -- Temp R/O Disk: d:=R/O Set Indicator: d:filename.typ $R/O $R/W $SYS $DIR Disk Status : DSK: d:DSK: User Status : USR: Iobyte Assign: CON: = TTY: CRT: BAT: UC1: RDR: = TTY: PTR: UR1: UR2: PUN: = TTY: PTP: UP1: UP2: LST: = TTY: CRT: LPT: UL1: STAT DEV: Displa th curren logica t physica devic mapping Fo example, the list may appear as -- CON: = CRT: PUN: = PTP: RDR: = UR1: LST: = TTY: STAT d:afn [$R/O or $R/W or $SYS or $DIR] Se th variou permanen fil indicators R/O=Read/Only R/W=Read/Write, SYS=System, DIR=Non-System STAT ld1=pd1, ld2=pd2, ... Chang th logica t physica devic assignments Logica devic ld i assigne t physica devic pd1 etc Th vali logical device names are -- CON: The system console device RDR: The paper tape reader device PUN: The paper tape punch device LST: The output list device The valid physical device names are -- TTY: Slow speed output device (teletype) CRT: High speed output device (cathode ray tube) BAT Batc processin (CON inpu i RDR: CON outpu is LST:) UC1: User-defined console PTR: Paper tape reader PTP: Paper tape punch UR1: User-defined reader #1 UR2: User-defined reader #2 UP1: User-defined punch #1 UP2: User-defined punch #2 LPT: Line printer UL1: User-defined list device #1 STAT d:DSK: Lis th characteristic o th dis name "d:" i "d: i no specified, list the characteristics of all active disks. A sample listing: d: Drive Characteristics 65536: 128 Byte Record Capacity 8192: Kilobyte Drive Capacity 128: 32 Byte Directory Entries 0: Checked Directory Entries 1024: Records/ Extent 128: Records/ Block 58: Sectors/ Track 2: Reserved Tracks STAT USR: Lis th Use Numbe th use i currentl i an th Use Number whic hav file o th currentl addresse disk sampl listing: Active User : 0 Active Files: 0 1 3 :CP/M PIP Command PIР (Periphera Interchang Program i th CP/͠ transien whic implement th basi medi conversio operation necessar t load print punch copy an combin dis files PI i initiate b on o th following forms -- PIР Engag PIP promp th use wit '*' an rea comman line directl fro th console PI use i thi wa i exite b eithe typin a empt comman lin (jus carriag return o Ctrl- as the first character of the line. PIР cmn Engag PIP execut th specifie command an return to CP/M. The form of each command line in PIP is -- destination = source#1, source#2, source#3, ..., source#n The general forms of PIP command lines are -- x:=y:af Cop al file satisfyin af fro driv t driv x 'y ma b omitted and i so th currently logged-in drive is selected. x:ufn=y Cop th fil give b uf fro t x 'x ma b omitted and i so th currentl logged-i drive is selected. x:afn=y:af Lik th above bu and/o ma b omitted th defaul driv i selecte fo th堠 omitte drive(s). ld=p Cop fro th specifie physica devic t th specifie logica device Vali logica device are -- CON:, RDR:, PUN:, LST: Valid physical devices are -- TTY:, CRT:, UC1:, PTR:, PTP:, UR1:, UR2:, UP1:, UP2:, LPT:, UL1: Additional device names which may be used in PIP commands are -- NUL: Send 40 Nulls (ASCII 0) to the device. EOF: Send a CP/M End of File character (ASCII Ctrl-Z). INP: Special PIP input source to be patched (see manual). OUT Specia PIР outpu destinatio t b patche (se manual). PRN Sam a LST: bu tab ar expande a ever eight characte position line ar numbered an pag eject are inserted every 60 lines with an initial eject. Th use ca als specif on o mor PIР parameter enclose i square brackets separated by zero or more blanks. These parameters are --   Bloc mod transfer Dat i buffere b PI unti a ASCI X- Off character (Ctrl-S) is received from the source device. D Delet character whic exten pas colum i th transfe o data to the destination from the character source. E Echo all transfer operations to the console. F Filter (remove) form feeds from the file. Gn Get File from User Number n (n in the range 0 - 15) He dat transfer Al dat i checke fo prope Inte he fil format. I Ignore ':00' records in the transfer of Intel hex format file. L Translate upper case to lower case alphabetics. N Add line numbers to each line transferred to the destination. O Object file (non-ASCII) transfer. Ignore End of File. Pn Include page ejects at every n lines. Qs^ڠQui copyin fro th sourc devic o fil whe th strin (terminated by Ctrl-Z) is encountered. R Read system files Ss^Z Start copying from the source file when the string s is seen. Tn Expand tabs to every nth column. U Translate lower case to upper case alphabetics. V Verify that data has been copied correctly. W Write over R/O files without console interrogation Z Zero the parity bit on input for each ASCII character. :CP/M ED Command Th EĠ Progra i th CP/͠ syste contex editor whic allow creatio an alteratio o ASCI files Complet detail ar give i th user's manual. The following are the error indicators given by ED -- ? Unrecognized Command > Memory buffer full # Cannot apply command the number of times specified O Cannot open LIB file in R command The following are the control characters recognized by ED -- ^C System reboot ^E Physical (not entered in command) ^H Character delete (backspace) ^I Logical tab ^J New line (line feed) ^L Logical in search and substitute strings ^M New line (carriage return) ^U Line delete ^X Line delete and backspace ^Z String terminator Rubout Character delete Break Discontinue command The following are the commands recognized by ED -- nA Append lines +/- B Beginning/Bottom of buffer +/- nC Move character positions +/- nD Delete characters E Exit nFs^Z Find string H End edit, close and reopen files Is^Z Insert characters nJ Place strings in juxtaposition +/- nK Kill (delete) lines +/- nL Move down/up lines nM Macro definition O Return to original file +/- nP Move and print pages Q Quit with no file changes R Read library file nSs1^Zs2^Z Substitute s2 for s1 +/- nT Type lines +/- U Translate lower to upper case if U; none if -U +/- V Engage/disengage line numbers (verify) 0V Print memory buffer info (free/total usage) nW Write lines nX Transfer n lines to X$$$$$$$.LIB 0X Empty X$$$$$$$.LIB nZ Sleep +/- n Move and type (+/- nLT) n: Move to absolute line (V engaged) :n Process from current line to specified line (V engaged) :CP/M ASM Command Th AS Comman load an execute th CP/ 808 assembler I i o the form -- ASM filename.xyz where filename ... is the name of the file 'filename.ASM' to assemble x ... designates the disk name which contains the source y ... designates the disk name to contain the hex file (y=Z suppresses generation of the hex file) z ... designates the disk name to contain the print file (y=X lists on CON:, y=Z suppresses listing) Refer to the ASM Manual for further details. :CP/M LOAD Command Th LOA Comman read th fil specified whic i assume t contai Inte he forma machin cod an produce memor imag fil whic ca b subsequently executed (converts .HEX to .COM files). It is of the form -- LOAD filename where filename is the name of the file 'filename.HEX'. :The UNLOAD Command Th UNLOA Comman doe th revers o th LOA Comman -- i convert COM files to HEX files. It is of the form -- UNLOAD filename where filename is the name of the file 'filename.COM'. :CP/M DDT Command Th DDԠ Progra allow dynami interactiv testin an debuggin o programs generated in the CP/M environment. It is invoked by -- DDT DDT filename.HEX DDT filename.COM where 'filename' is the name of the program to be loaded or tested. DDT responds to the normal CP/M input line editing characters. DDT responds to the following commands -- As Perform inline assembly starting at the specified address s. D Display memory from the current address for 16 display lines. Ds Display memory from address s for 16 display lines. Ds,f Display memory from address s to address f. Fs,f,c Fill memory from start address s to final address f with byte c. G Start execution at the current value of the PC. Gs Start execution at the specified address s. Gs,Star executio a th specifie addres an se breakpoin at the address b. Gs,b,c Same as above with breakpoints at b and c. G,b Start execution at the current value of the PC with breakpoint b. G,b,c Same as above with breakpoints at b and c. If Insert a file name f into the default FCB. L List 12 lines of disassembled code from the current address. Ls List 12 lines from the specified address s. Ls,f List lines of disassembled code from s to f. Ms,f,d Move the block from address s to f to destination at address d. R Read file in FCB into memory at 100H. Rb Read file in FCB into memory with offset b from 100H. Ss Set (examine and alter) memory starting at address s. T Trace the next instruction. Tn Trace the next n instructions. U Untrace -- like Trace, but intermediate steps are not displayed. X Examine all registers and flags. Xr Examine specified registers or flag, where r may be -- C Carry flag Z Zero flag M Minus (sign) flag I Interdigit Carry flag A Accumulator B BC Reg pair D DE Reg pair H HL Reg pair S Stack pointer P PC :The ZDT Command ZDT is a Z80 version of DDT. It is invoked by typing -- ZDT Th command recognize b ZD ar inpu i single-characte inpu mode N inpu lin editin i done an eac comman expect a exac input Al byt value ar exactl tw characters an al addresse ar exactly four characters. The commands recognized by ZDT are -- A bbbb Ente ASCI character int memor fro keyboar startin a address bbbb. B Warm Boot -- Return to CP/M. C bbbb eeee nnnn Compar memor fro addres bbb t addres eee t bloc starting at nnnn. D bbbb eeee Dump memory from bbbb to eeee. E bbbb eeee Searc fo ASCI strin fro bbb t eeee Strin i a most 16 characters. String is terminated by . F bbbb eeee Searc fo he strin fro bbb t eeee Strin i terminated by . G Go to next breakpoint. H aaaa nnnn Hex add and subtract. Computes aaaa+nnnn and aaaa-nnnn. I nn Input. Prints value at port nn. J nnnn Jump to and execute at location nnnn. K Keyboard echo. L filename.typ nnnn Loads specified disk file into location nnnn. M bbbb eeee nnnn Move block from bbbb to eeee-1 to nnnn. N aaaa Enter offset aaaa for loading. O nn dd Output byte dd to port nn. P bbbb Inpu he int memor fro keyboar startin a bbbb or backs pointer. Q bbbb eeee Dumps from bbbb to eeee in ASCII. R n ll tt ss bbbb Rea bloc o dat fro dis o lengt l (256-byt pages starting at track tt and sector ss placing the data at bbbb. S bbbb eeee Disassembly (symbolic dump) from bbbb to eeee. T bbbb eeee Destructive memory test from bbbb to eeee-1. U bbbb Set breakpoint at bbbb. V Display all currently-set breakpoints. W n ll tt ss bbbb Writ o dis th dat a bbb fo lengt o l startin at track tt, sector ss. ll is in 256-byte pages. X Display registers. Z bbbb eeee dd Zero or set memory from bbbb to eeee-1 with byte dd. :CP/M SYSGEN Command Th SYSGE transien comman allow generatio o a initialize dis containing the CP/M Operating System. It is invoked by typing SYSGEN Onc invoked th use i prompte throug th session Refe t th CP/M Manual for further details. :CP/M SUBMIT and XSUB Commands Th SUBMIԠ comman allow CP/ command t b batche togethe fo automatic processing. The form of this command is SUBMIT ufn parm1 parm2 ... parmn Th uf give i th SUBMI comman mus b th filenam (no type o fil whic exist o th currentl logged-i dis wit a assume fil type of '.SUB'. Refer to the CP/M Manual for further details. Th XSU  comman extend th powe o th SUBMIԠ facility Whe specifie a th firs lin o SUBMI File i self-relocate directl belo th CCP Al subsequen SUBMI comman line ar processe b XSUB s tha program whic rea buffere consol inpu (BDOӠ Functio 10 receiv inpu directl fro th SUBMI File Whil XSU i i memory i print th messag "(xsu active) o eac war boot A exampl o th use of XSUB to display memory from 100H to 1FFH is -- XSUB DDT D100,1FF G0 :CP/M BDOS -- Basic I/O Operations Function and Number Input Parameters Output Parameters System Reset 0 None None Read Console 1 None ASCII Char in A Write Console 2 ASCII Char in E None Read Reader 3 None ASCII Char in A Write Punch 4 ASCII Char in E None Write List 5 ASCII Char in E None Direct Con I/O 6 ASCII Char in E I/O Status in A if E=0FFH Get I/O Status 7 None I/O Status in A Put I/O Status 8 I/O Status in E None Print Buffer 9 Address of string None terminated by $ in DE Read Buffer 10 Address of Read Read Buffer is filled Buffer in DE Console Ready 11 None LSB of A is 1 if char ready *All function numbers are passed in Reg C. I/O Status Byte -- Value Bits 6&7 Bits 4&5 Bits 2&3 Bits 0&1 00 CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY: 01 CRT: PTR: PTP: CRT: 10 BAT: UR1: UP1: LPT: 11 UC1: UR2: UP2: UL1: Read Buffer -- Byte Function 1 Maximum Buffer Length 2 Current Buffer Length (returned value) 3-n Data (returned values) :CP/M BIOS -- Basic Disk Operations Function and Number Input Parameters Output Parameters Return Version # 12 None Version Info in HL H=0 CP/M, H=1 MP/M L=00 CP/M 1.x, 2x 2.x Init BDOS 13 None None Log-In Disk 14 Value in Reg E None A=0, B=1, C=2, D=3 Open File 15 Address of FCB Byte address of FCB in DE if found or 0FFH if not Close File 16 Address of FCB Byte address of FCB in DE if found or 0FFH if not Search for File 17 Address of FCB Byte address of FCB (0-3) in DE if found or 0FFH if not Search for Next 18 Address of FCB Byte address of next FCB in DE if found or 0FFH if not Delete File 19 Address of FCB Byte address of FCB (0-3) in DE if found or 0FFH if not Function and Number Input Parameters Output Parameters Read Next Record 20 Address of FCB 0=successful read in DE 1=read past EOF 2=reading random data Write Next Rec 21 Address of FCB 0=successful write in DE 1=error in extending 2=end of disk data 255=no more dir space Make File 22 Address of FCB Byte address of FCB or in DE 255 if no more dir space Rename FCB 23 Address of FCB Byte Address of Dir entry in DE or 255 if no match Return Log Code 24 None Login vector in HL Read Drive No 25 None Number of logged-in drive (A=0, B=1, C=2, D=3) Set DMA Address 26 Address of 128 None byte buffer in DE Function and Number Input Parameters Output Parameters GeAllo Vec 2 Non Allocatio Vec Add i HL Write Prot Disk 28 None None Get R/O Vect 29 None HL=R/O Vect Val Set File Attrib 30 Ptr to FCB in DE Dir code in A Get Disk Parms 31 None HL=DPB Address Set/Get Usr Code 32 E=0FFH (get)/Code A=Current code (get)/no (set) value (set) Read Random 33 DE=FCB addr A=return code 1=reading unwritten data 2=(not used) 3=can't close curr ext 4=seek to unwritten ext 5=(not used) 6=seek past end of disk Function and Number Input Parameters Output Parameters Write Random 34 DE=FCB addr A=return code 1=reading unwritten data 2=(not used) 3=can't close curr ext 4=seek to unwritten ext 5=dir overflow 6=seek past end of disk Compute File Siz 35 DE=FCB addr Random Rec Field set to file size Set Random Rec 36 DE=FCB addr Random Rec Field set *All function numbers are passed in Reg C :CP/M File Types AIN ALGOL 60 Intermediate ALG ALGOL 60 Source File ASM Assembler Source File BAK Backup File BAS BASIC Source File C C Source File COB COBOL Source File COM "Command" File FOR FORTRAN IV Source File HEX Intel "hex" code file HLP HELP File INT BASIC Intermediate File LST Listing File MAC MACRO-80 Source File PAS PASCAL Source File PRN Assembler Listing File REL Relocatable Module SRC PASCAL/MT Source File SUB SUBMIT File SYM Symbol File TC Tiny-C Source File TFS TFS Source File TXT Text File $$$ Temporary File :CP/M BIOS Jump Vector Th followin i tabl representin th entr point int th CP/ BIOS of the major routines accessable to the user -- Routine Relative Offset Comment BOOT 00H Cold Start WBOOT 03H Warm Start CONST 06H Console Status Reg A = 00 if no char ready Reg A = FF if char ready CONIN 09H Console char in (Reg A) CONOUT 0CH Console char out (Reg C) LIST 0FH List out (Reg C) PUNCH 12H Punch out (Reg C) READER 15H Reader in (Reg A) Routine Relative Offset Comment HOME 18H Move to track 00 SELDSK 1BH Select disk given by Reg C (A=0,B=1,...) SETTRˠ 1EȠ Se trac addres give b Re (0...76) SETSEà 21Ƞ Se secto addres give b Re (1...26) SETDMA 24H Set subsequent DMA address (RP B&C) READ 27H Read track/sector (block) WRITE 2AH Write track/sector (block) LISTST 2DH List Device Status Reg A = 00 if no char ready Reg A = FF if char ready SECTRAΠ 30 Translat secto numbe i Re à usin tabl pointe t b DE physica secto number returned in Reg L sector (block) LISTST 2DH List Device Status Reg A = 00 if no charv :W:_!.z(N #= ~(^6#DM!0BDML{I:. :.s#K!0T]BBDMN#!v Choose o-repeat or uiet if desired: ͨͷ͌N(Q +~#8#+L !!.>ݾ8^R8#".|6#+| !".!.! OҴ@O^ʹô#($#~~+ ~+~#G~#͌v<>vvv FURTHER PATCHING. You will need DDT or a similar utility. Addresses in this version of the program are: User patch area: *,ͳ-ʹ:,_+ͳv Proportional table: *,ͳ-ʹ:,_+ͳv Command tables Basic: *,ͳv ^K: *,ͳv ESC: *,ͳv ^O: *,ͳv ^Q: *,ͳfv [Closing !] ̈́2h2|22!,\ ͬn: $v, ! ̈́:˿K(.P(!"*!#-*p(!f"*!-*!P"*!.*!*ͬnv] {*v *Aborted* ,v *File)v *Readv *Version v *Writev error* , 7 <(ط̈́m_͓ (.!w#͓ ( 8w#6 #!HH ~Y Nʹm_ͨͷ (Y(N Oʹq##~͌_ͨͷ ( ͌w###m_8(28(w#:w###|}m_8(w#͓ 7?؇2͓O:A~OʹOô0:0 ?ͷ?>2ECF"H$2ECF"H(ʹ*H)ʹ*HF#(#m_!$%6KF:Ex(!$w(Y#͓ -80!$wG(4#͓ :E "8w͓hw#[HKFH!$:E #*HKFH :E#(ʹ)ʹ\v... Ϳm_s8(w#͓ 7?2͓ (0_:W2͓ (_:W؇؂؂؃2:~o&!~ ( Oʹ#0 ?!>FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd F#^#V## ^#V##v :v v? 㯆#Oʹ#Oʹͨͷͨ Oʹͱ1ñôa{_COMZDEAZ80NWS WCMDNLIBNA@@@8 Teletype 6     Generic CRT PN ADDS 25 P KkkG4G0SY LMADDS Viewpoint PK0A  G4G0SY ERAmstrad / Heath P KHEHEpqSY LMx5y5ANSI standard P A;A;IBondwell 2 P TINS= ERDEC VT52 P KHJHJSY Commodore 128 P T)(S= EREpson Geneva PX8PT  S= Introduction Executing MAC XMAC Assembly Control Parameters Assembler Pseudo-Ops Inline Error Messages Console Error Messages :Introduction MA i th CP/ Standar Macr Assembler i i upward-compatabl wit ASM th CP/ Standar Assembler Th facilitie o MA includ assembl o栠 Inte젠 808 microcompute mnemonics alon砠 wit蠠 assembly-tim expressions conditiona assembly pag formattin features an macr processo whic i compatabl wit th standar Inte definitio (MA implements the mid-1977 revision of Intel's definition). MA require approximatel 12 o machin cod an tabl space alon with an additional 2.5K of I/O buffer space. :Executing MAC MAC is invoked by the following command -- MAC d:filename $parms Onl 'filename i required an i represent fil name 'filename.ASM' MAà ma the generat u t othe file -- filename.HE (th Inte He Forma File) filename.PR (th Prin o Listin file) an filename.SY (a file containing a sorted list of the symbols used in the program). MACR Librar file ma b reference b th program thes file ar named 'filename.LIB'. $parm represent th optiona assembl contro parameter whic ar discussed in the next section. MAà ma b execute b employin th SUBMIԠ fil MAC.SUB MAC.SU assemble th specifie MA .AS file convert i int .CO fil vi LOAD, and erases the .HEX file. MAC.SUB is invoked by -- SUBMIT MAC filename where 'filename' is the name of the MAC file 'filename.ASM'. :XMAC XMAà i versio o MA whic doe NO recogniz th intrinsi Inte 808 assemble languag mnemonics XMA i intende t b use fo Cross- Assembl usin .LI file whic contai th assemble mnemonic fo th targe machine XMA i invoke i exactl th sam wa MAà i (excep tha n SUBMI fil i available) an i recognize th sam pseudo-op an contro parameters. Th patc fil XMAC.AS contain th patche use t conver MAà int XMAC. Th堠 librar file MAC40.LI  an XMAC40.LI  contai th macro necessar t assembl cod fo th Inte 404 microprocessor fo example MAC40.LI rename th 404 mnemonic fo ADD SUB etc. t ADD4 SUB4 etc. s tha i wil no conflic wit MAC XMAC40.LI doe no renam these, since XMAC does not recognize these in the first place. :Assembly Control Parameters Th contro paramete lis i precede b $ an ma contai an o the following in any order -- A - controls the source disk for the .ASM file H - controls the destination of the .HEX machine code file L - controls the source disk for the .LIB files M - controls MACRO listing in the .PRN file P - controls the destination of the .PRN listing file Q - controls the listing of LOCAL symbols S - controls the generation and destination of the .SYM file 1 - controls pass 1 listing I th cas o th A H L P an parameters the ma b followe b th driv nam fro whic t obtai o t whic t sen data wher -- A,B,C,D -- designates that particular drive P -- designates the LST: device X -- designates the user console (CON:) Z -- designates a null file (no output) For example, $PB AA HB SX send th .PR fil t driv B: get th .AS fil fro driv A: send the .HEX file to drive B:, and sends the .SYM file to CON:. Th parameter L S M Q an ma b precede b eithe o - t enable or disable their respective functions -- +L - list the input lines read from the MACRO library -L - suppress listing of the MACRO library (default) +S - append the .SYM output to the end of the .PRN file (default) -S - suppress the generation of the sorted symbol table +M - list all MACRO lines as they are processed (default) -M - suppress all MACRO lines as they are processed *M - list only HEX code generated by macro expansions in listing +Q - list all LOCAL symbols in the symbol list -Q - suppress all LOCAL symbols in the symbol list (default) +1 - produce a listing file on the first pass (for MACRO debugging) -1 - suppress listing on pass 1 (default) Th programme ca interspers control throughou th assembl languag sourc o librar files Intersperse control ar denote b "$ i th firs colum o th inpu lin followe immediatel b parameter. :Assembler Pseudo-Ops The following Pseudo-Ops are supported -- DB defines data bytes or strings of data DS reserves storage areas DW defines words of storage ELSE alternate to IF END terminates the physical program ENDIF marks the end of conditional assembly ENDM marks the end of a MACRO EQU performs a numeric "equate" EXITM abort expansion of the current MACRO level IF begins conditional assembly IRP INLINE MACRO with string substitution IRPC INLINE MACRO with character substitution LOCAL define LOCAL variables unique to each MACRO repetition MACLIB specify MACRO Library to load MACRO defines beginning of a MACRO ORG sets the program or data origin PAGE defines the listing page size for output REPT defines the beginning of a INLINE MACRO SET performs a numeric "set" or assignment TITLE enables page titles and options :Inline Error Messages   - Balanc error MACR doesn' terminat properl o conditiona assembly is ill-formed à - Comm error expressio wa encountere bu no delimite properly from the next item by a comma - Dat error elemen i dat statemen (DB,DW canno b place in the specified data area E - Expression error: expression is ill-formed and cannot be computed I - Invalid character: a non-graphic character has been found L - Label error: label cannot appear in this context M - MACRO overflow error: internal MACRO expansion table overflow N - Not implemented error: unimplemented feature used Ϡ - Overflo error expressio i to complicate o th numbe o LOCAL labels has exceeded 9999 Р - Phas error label doe no hav sam valu o bot passe (multiple label) - Registe error valu specifie fo registe i no compatabl with op code S - Statement/Syntax error: statement is ill-formed V - Value error: operand is improperly formed or out of range :Console Error Messages NO SOURCE FILE PRESENT - .ASM file not found NO DIRECTORY SPACE - Directory is full SOURCŠ FIL NAM ERRO - Th for o th sourc fil nam i invalid not tha MA i invoke b 'MA filename' an th .AS fil typ i NO specified. SOURCE FILE READ ERROR - Error in reading source file OUTPUT FILE WRITE ERROR - Error in writing output file CANNOT CLOSE FILE - An output file cannot be closed. UNBALANCED MACRO LIBRARY - No ENDM encountered for a MACRO definition INVALIĠ PARAMETE - Invali assembl paramete wa foun i th inpu line. ilename' an th .AS fil typ i NO specified. SOURCE FILE READ ERROR - Error in reading source file OUTPUT FILE WRITE ERROR - Error in writing output file CANNOT CLOSE FILE - An output file cannot be closed. UNBALANCED MACRO LIBRARY - No ENDM encountered for a MACRO definition INVALIĠ PARAMETE - Invali assembl paramete wa foun i th inCOMMANDS WORDSTAR SPELBNDR DBASE TMAKER SUPRCALC DEV BASIC FORTRAN COBOL TPASCAL PLI NZCOM ASM HLPASM2 HLPCPM HLPsCPM2 HLP#MAC HLP=SAVED NDR$$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[% NZCOM NDR COMMANDS WORDSTAR SPELBNDR DBASE TMAKER SUPRCALC DEV BASIC FORTRAN COBOL TPASCAL PLI NZCOM MAC HLP=NZCOM NDRNZCOM LBRL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( : 2@͕͌1͌>*>2   ͌: 8_! 6ͮ(C iͮA bͮT [ͮėͷ͉(!<:8#ͅ~ͅ~#ͬ(ͦ͌ͬ(> !] w#!w#! ͗]ͮ(,.(=('ͮ. eͮ(=(ͮ=( ͗ͮ(+ͮ(͉*AA}2$|2B͢ͷ! #!~( (mw,2j222h\<ͷ>2:< *}("4*"> _<2!~#fo(3H[!"J>2E=2j:2h÷\:2|,:|2:h2\! "=!4~!H:O! : ~w#\ x ͯ2#~+:ͮA#O:=8 y~#`8 ͕!M:'z(*">2:#0*}M*"> 2_!~O<(#F#~2#C:O<2)>2:<2\SJ[!4SJSJ}2El&~2H>2I:2F:2G@:E͝> =͌> > 1͌͌ *}ͽ͉Ý*}ͦ͝_ IABT Softcard //e CP/M Apple DOS to CP/M file transfer program (C) 1983 Microsoft Corporation$Command Error$ Insert Apple DOS disk and hit RETURN $ Insert CP/M disk and hit RETURN $Insert Apple DOS disk in drive Z: Insert CP/M disk in drive Q: Hit RETURN to begin $Transfer complete$Text and Binary files only$Directory full$Disk full$Disk I/O Error$Invalid Drive$Not an Apple DOS disk$File not found$Working...$I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCIßd) * DEE9UVDiDE(!AC=#yD #! DDDD="$v#zLL MPM$$YX4TA[@[SRXSYkXYTTSY^^]] ^^^^(_F__c$d`__2IbIkI(*(6I88'M7899JHFIHH3#IFF)7*c**QQQU[VrVQQQ___Rcn(Llmr  KUTϧNBTSUTTO6EELOSżONԘLEAҒINSNDBV*V+V,O HRAḺOMMOγHAIδOLOELETŦATI͆EFSTҩEFINԪEFSNǫEFDB̬EƖE̦LSŞNāRASŢDIԣRROҤRRX O.QO҂IELĹILEӿRIOTωO TωOSUEԺOMLIGCOLOPLOTASCREXNPUԅƋNSTNMNKEYNVERSILPRINԛLISԜPOEԈINŭOAĽSEISԓO O/EEFTO0ERGžOKI1KS2KD3IDEXԃORMAOTRACŠAMEהOPEθΕCTPTIOεRINԑUԻOKŗOEELOD5OЮETURΎEAćUΊESTORŌE͏ESUMťSEIGHTNENUͨESEANDOMIZŶTOАWAСAVPCTEGQI TRTRINGPACEYSTEͷCRHERACşABA EXSINSAARPTLITAPO4IDTȝAIHILůENİRITŲOyy||PF<2(z{c*)}*7*S,L,|-Q.)%%\''Q)i+^++C~)NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEReset errorGraphics statement not implementedFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filesDisk Read OnlyDrive select errorFile Read Only          pP8Chgw::, in Ok Break!9~#  N#F#`iz(C V *g|<(:  K7D=96543>7@?2C: *x "g   *g" 2 2 |<("  * ÿC{K2X* " * |<(" " * |! ( 5wY2bBB!!{G020!8>&_# * ~? !!!GCNBʶY|<0>-A2bISBB!& :X=!"g!m" : (C* 0>*8> @K0 2 2 * 8C0" :6 (>K8 <=(ͺ~ )I" ҅S͇] S 8ʶ͞$#(7: *K "p * B" t##s#r# w# y ͎!6"x*c" |( :2s2XC*v"x* "c|(:s2r*ibk~####~( 0 8  #s#r((~,(£ £ *iDM~#+##~#foC`i~#fo?? #C(bQK[9C (#^#V* C8 >9GF6#^#VͶBAɯ2> 2= ;~ !@}O|G!"ʢ (:= ~(-#o:(J >2= 2> U ~|((~#o?>h(Eڷ 3 > >hO(#GO TOUB(!AO ^#V#(Oz# >y(((((.(g">zg>o2> oV]+wO( 垊ލ>2> m o>Lm>o!ä~.( ::0::> ~}(.}>oͺ}o|oV~.ͺ:<  * |> }e. 0o! C8! ~o#= Vʠ ï&} )H> > o7>: yý +=2> (o#(E0:000.(V~ 0 ( (> :> <(=Ê+~ ( ( (#>d2z 9CS| :< | ! )"v !95  +V+^##*v C " B*v *gCCʻ һ U)~!("7*)QZ~> 7*)͕(շ >OCG+ £ O% * "g*| 3åE3{B" s ~:()£ #~#b #^#V"g: (>[@0>]@ ց[ұ O! N#F#~: (0l 8a :A (4#2A 000 ~#"? &o"C >2B !~##"? +f͈*? <2B C G)"? ! 0?<=:A 0 8*C ###^#V1,:B 2< ( *C " *E " !C :)E AOG  EAG x3:A £ *? #*gC0 > 2~ ͕$`iý "| 1 " !9" *| ë1 " ½ "g!>:yHG+ ȸ#"(<(֌ 츊W9CS| :< G:< x(| :<  8  .* #^#V*iC0* C0!m C0 >ͶHͧFͶH) ) Cz( PYҶS : {:X_ !~G(C+K x,: 2 2 ò <2X~(z(̓2 2 <* * "g~ #####2 ! ý  ((C,[ (£ | " 2 " r~, (C+(( ʀ *C    >2[á;Q+ NB?TT,([;C( 1F6 * 4[F 4* :[(:]G<($:Z(?0=:^G<(:9 ( ?0=NB$Gá(*c [F~ &:[(:\G<:Z(G:`G:9 (NB0/i !(zj[F :[:] :^o<(&;,C)+((*c [F~ :[ʫ:Z:9 /8 <(NB{= @ è2[go"cC#Q LP9}*K4DF>/?Redo from start #~ʣ " ö:{  !!G* 9Q!5 #( Lx">2b>2 F~, 2 C;$G: ( >?@> @K4Dů2{ 6,+>2z :~+[(( !# ʣ "(([(]()  (,£ ~,%>2 2 @: =2 : =%C̙H+ ~,ʝ+ 06,* 2{ C,9~,(:{ «2 [FQC + WG"( :{ W(:,+FO: y!0 h..+ (,)+ *:{ D #~#ʽ #^#VSx  ?CC(+BR2 " * ~"r 8e_ :< {MH !xVz([Q8dz(^! :< ʻ N#FO#N#FO! N#F#N#FKG*r 8-0)Wڣ "r 7*(6)Sxdd!"C(* cFy2= :< ((0+Wx("z(Dx(Rzʻ 0T! N#F* c*?)" " (c*!:= og~#fox?)2< (" 7*! (W*)" " W*(W*ü' ʸ .E X<ʷ=( "F.&7 :Xͫ * 1, ) C(# !|Q:C)|  *ʱʳI/`ʨ``ʱ`ʎBH:U)C)}* ͻ(9" C:)~a{_& )O(OH J#~)E0 :0Y08UG0O7))))o: ʵ !w$NB: <2 : €ã + 08҈n)))0O  *#~ց (88>O y0C,}** !} 87*>2  N#fi-++<(Z)}/o|/g" :< 07x)z;,{+F {o|P {o|< {o|2 {/o|/}//o|//ɷR1,:Z:9 2z 9:< " "r | B!9B):< * ~)(C,*r C,2# (?2< !9:)!9.,:< G:# Od }!% O͐ ;* *r C)>"r : OBO/2z O9~£ #~#@Jã ã  !2]_ 2\,(!2^_ 2`~, !2_0/< )z ! + {>2[Ͳ͇]!"gN#F#xW[FpBN#F#CV" 0~ (> @͂!!6 y!NB~B#6 2 ͇]#~ 8 _8!_.(g"0: ( < > >2 { 8 r"Ð!<~ #~#  ̭* ~#>(+!QG@ #T]~(#"~ (y_ : >2 [ 2 : >2 (> TG{~#_TGL" 2 Ô!E0:?+ ͈" I6 L6*C 1:A O ( H >&{:B 8!(#~ )~#( :B 8  .(D(E {(*? Ô!Ͳ͞$0T]C !& !G!N* C `i" " " X#~]~ëN#~]C,!X#)C: ͕(7*% PX(*,( BK(C,(C,£ z `iC  !C ^#Vz(~#+ $^#Vz( #s#r V2~ *i+#~##^#V (O:~ y(W    $z ' $ > 8!g$*? +p+q+w:~ $CBCACSCE~0ڣ ң G: (: ¬ * * C¬ x2 <2 ~$#$EA( )!&%!GJ4D#~.~ )"8;8Random number seed (-32768 to 32767)*g" + (( #~#Yʽ #^#VS y~( ( (  (*g* "g9+ j%(C,+%"g: 2 2 ?)!5:)S,!5))(x: (0 /<((")g&|! 1&͢&0^#4o0.&RG~_#~W#~Oܮ&hcGy 'JTeox 2 | y0O )zWyOZ&x\E( ! w0(x! &F#~怩O( 4n0~_#~W#~O! ~/woG}_}W}O8CZQ oz y-O0-yOzW{_xG$cCu͍M r5͕( )'1r3)>2 (!&8((!'8;'(ͤ(%͕(.T(y2'"'PX!B&!~'! ~#(+Wy0O|g}oxG(x Gz CZQO(!-(͕(v0.T(4Q04Q0+~2'+~2'+~2'AOW_2'}o|gxG>?02'7y<="(:'x(> Ä&{_zWyO)xG:'2'y ! 5 U&>.! N#G.x(}! Gxv(ƀwʬ'")w+͕(/U&Q0)xh0G%! 4h0: : /<! Op#6?&(C&,ʻ ! ~w(og *Cʻ (* ||* * )" `i" ! ^#V#N#F# :< Gw#! ~7w?##wy7O! )! ) C xʕ(!(͕(y! yk)#x+y+z+{z|( }à(! ) ʕ(!(͕(O! y# +͓)ž(C* ʻ )?)!5:)S,A*%: 2 : ҵ ̈́*: * *|/g}/o *! : 0̈́*" >2< Q)ajCT*ʻ )y*x")! FÃ&* y*|Ué(Cʻ T*!" " >>Cû GOW_)")g*>&|ܕ&ܮ&z< C͕(*(*û(C0ʻ *! ~: ~̈́*6{y?&! ~ O+~+!  *c*y)")+6+q7+: O! >D--2 ú,! ~5#(!x(>)<)0 <= |G,y|Gz*W*(6,90| *,DM!>)8)0 8= |+xd(W*(W*\'x *W*(|ʦ ,,DM!> 07>{_zW}o|g= |G,| *Ooyg ** ,|y*é(+g{o#*! ~w! ~G+N 7)0/<#Fwx+ F+N9")! G>w2 ! D-x,: 2 -0K4o0k-A>-! 3-G: ! Vwz# x U&! r-,x( ! wU&: -! ~++w! 4#4o0+6 ! >!  2+-# ~/w! Oyw#q8NsY+  W~w+ ! ~w# ͕(: U&J(ͧ.q(G-k-x ú,! K-L} : A0 -! ): -2 !(. ! ).S, ! )>&.1.S,! A.= ..! 5U&! >5= >! N#F#= >! p+q+= : |0: U&G(44o0ͧ.! qA>-?8>-: <=,! t-! r-x ! 5 U&y2 + ~q+?)+~o0wS,4o0U&v*%>2 `h *~&7-(+(+ /.(se(E ! l( L(q(Q( :< (>~%(R#(Z!(Wd(D ͝/  >0 _{_// ̻(C!')*C ܝ/. !'ȷ͝/ 7*c*C~(.=C'- $> $! 000)C8 ! 0)* |*kw"k( Cʵ æ !! !G G *͇1͇1(6+(&16-ͻ(#60:r W:< ژ2ʐ20U͖5! F :r _ ( x* { Aq (E(D( 0(,(. +60{(+6${+p2r ! 6 (* * 2 ,2E~(':008 #~ >DG " `i" #~+(5-(0OxG0##~ `xE y 0>2  |0" `i" (#WT4: F2 S20460 )5+~0(. )(!C>"w#6+26-/</ 0:#p#w#6! #z0jڣ34z4͖5{o(=4A1(p#6! #: ~ (*(+2 -+$0 # 0 ++w((6%ڪ3(5͍)23 1+6%Q)3͕(T4W3_x44544ó2_yĺ/b3/d3{_x3444y4O4GO5 * =4Pü2T*ѯ(͕(7T4yĺ/OzWO/32 ! B)C3%>3%>ђ/3: ց! :)4>2 ͼ/4/< 4/>!-0>!-p#= ! ( %>̈́*(96?4)/{_#zW#yO++0͢&#(p#8>?6>4N#F#* /}o|g0" p#= 4w1_cƤ~@zZrN vH Tʚ;@B''d GX# կ()))) y=(( 0:8 ((!((!5(7*!%>2 ͕(xM760V&y)*Q)72 Q)77ͷ7: <=ʆ0þ'÷72 )57: 8*Q)|" " ܍6('\'8;\': 0"h80(*Ɓ(%!78J\'(: 7U&f0(|Yt&wz^Pc|u~r1̈́*! s#r!&(* |g}o" 7\'! ~#8(T](\'((7(+)\'(~#(=\')%RO !&(I8y*͕(!88!8(!8Ȇw#O )\':8<28!8O %){YOO6+F6!84~֫ w B&!8)w+w+w5Jʙ9v" GSљ e͘w>ROhFhiuh!i9%: w: 82 ("~\'(*%Q)C9%%͕((%(: P92 !q98: 2 "~Ie&X4#]I(8((8ü'͕(6(: 8 QY;'!%!98!i9 J;xn{/|t1}=Z}~L~l+ C,92; NEڣ G2#~.89( :000E8*G#~:000E0.(x'ң 2~&0l:%$!#y_!^ V+z2< :z =;:~(i;3i;2z : 2 (@*  " o :< :;&[ C(E^#~# :< ~(##^^#V# :; ¬ DMʬ'ʜ< ý #: #(+<:< w#_!@0> @!6  ~# G#B()08 0 _zW!V=~=>O>>(E18 !> >#(C_>>0>>(Z>( W>>@NB =~B# !*>7#B_*>~(Bܙ>8#~  y!NB6=~>\B~( B͙> >\@~#B 0 (( (>@wB# 6H=#B($(" >( (.(* (& 8_ >_(B+_> ~7ʬ'#~+w#y8>@ o&DM#BwB#x!L x+~B y!NBz\ͺ@@_Wͺ@W~#!~@#(A&z@Y@+>(+~#.(E_o@\( $(* #x8~$> #W(H~#.(#(, z@W~#>.I?# (%~##(?T]^###xG#z+ x(~-( >W(TCx z 1!G+ 7(2{ ;(,£ ~#_~#foxO?ͺ@@?NB͜Hͺ@~#@>ͺ@(}** Axx9I$G* *@G> *@@z>+@[F€V:[EA :Z82Z9 > @:Z( (8:]<:Z( !]6A(<2ZOɯ2[:Z> A> A2Z:bTG A>  :9 :: (#=2: :^=29 > > @:9 ( 8A 8#:^<(=G:9 <(29 29 :dANBOXB:_G:: <02: [F(=WIS: OP:r(!~2s6XC:s2ë!& !G:b^D/2b^D:9 6!5 > @> @[F(:[(2Zɯ29 #B#B2W`DD ͶB ( #BͻF_H!% " >2< :W2W@ > @XB> CC~ +*K  >ƕo>g89͊*e++" ý "C: cG"C*p C:G!x^#V#*T*i͎D2 2 2~ w#w#" *i+"| : 2 2 ! 6#48!8)!8w#w#w2 og" " *K : "p D* " " : *T*e++" ##!O "M %-Ago" 2 "# " " 2z *| |}~ ##~:ã *i(`iҶ+" < 2 *T" !O "M !*g}<( " * " 2b-ABB!+ 4V> 2[2b>^@@@NB* |ʽ [ Sg>2 9! )* CC,9GC» * C ) ) >2z 9 2z `i D * C `i" ~, ~A[?\C(,( + (C,([e,(~E+ (HC,(B~E+ £ !NC0+͜E8%*  C06+"K "eEN#z B*e*K #{_zW}_|W2 " 9"| 1 © ^#V#* C© ~#~#E(: ! (E%))Q)4####N#F#^#Vi`: *  i+:< ʵ r+s^#V#~))( "gi`ç" *| ~,«2 ͭE*c|͖H~#N#F͝HW^#N#F{zد< #(?à(I6L6 1F͙HH~#9GN#FFo͍H>9G!m w#s#r+"P#~ (( " x, (+~ (#yFm >*M " >2< )p C"M ~ý #F͙H) @ XB* *p /O #C8"p #ʽ ;G*K "p !* !O [M CtGH!! " * " * [ C(~###< H_* ^#Vz* (" ##^#V#" [ C)H~### {ͽFG(*n w#ͩIO>~8x9G#F#fh DMFo͍H͝HFͩI~ͮI ;J:I=O~GCHʫ_#~#foFr+ .pC)C C>(! C,}*C,* C)͖H'͜HG=O>x~#F#fh GN#^#V  ( #ѯx<#C(9}*#^#V* C8*iC0 ͧF)C,! ~;J͖HG!'y~ <8yH #^#fk GN#~#foyw# )(C,!C)CJ͙HcG[ *p Ü>?@> @KAOK6p2W2 LA 2NB!7=:a>\2a (@+( ~@+@ @NB!6 2aO(:a( >\@2ay(W`D7 K (G K<`DK K!LJ >#>K 6NB!6 y!J Jx *c|>(!6 "guyq#@ J29 > @A( JOK: IBw!5 >2 ;2 :9 2yL+~ ( !6 ~@# '+~ ( ( (:yLWz/ dL>G>@> @>@"v K% L33  " *g*v #£ L `" [gS ##^#V#~#fo"g(( A3ë* "gë!9~#  ~#foC ý ~]>2z ~% 9C:)X#" ?` B!9 + "| (NC(* 9* C s#r#~,  C)"| >!=(=( =( !9DM!M* * *| ë2 2 : 2 : 2 ~ 2 #+ ͨR!" + (fC,,(X#" + (MC,(CACLCLʇOC,£ 2 Ͳ͞$`i" 0 T]" C ‡O*g*i+#~#O#^#VSg (:(( + (>2z :(PxG;>2z ~( S~((B:z xGN::< WÈ:z("BK!N N 2z ~( N+ \N(  )( RC C)\NC,wN"g[ * C(@N##~w#< ODO* " * C y_xW `i" [ C(##~w#2 : hS:2sR: 2 : 2 2 2 * DM* " *p #* "p C `i" D[ *i+zʫҶ `ië~###<;Q+ (MC(5 1F* #^#V r+s+5$G+ (";(C,+ >,@>"@$G>"@*c|(~ \}o|g0 > @+| NB#VQѻ({ C,PYSc+ # !_:ځ !xN#F fQ!) ! >>>| ͽF*n B)H>>>͖H <2< #~#fo:)Ch , Z9Q9}*W_Wڇ  " {,>" W_W8G!6 Oz"y(* (Q O{,yğRW8$ ( { (,> ( ( ( (͟RW0"( #W8 (,zR W8 (*c( 46!5 { (BFC ..ɷw#YͨR:2s+ (C,CR£ 22r!6"xBC:s2*v"x"c*g#|< "gWr 2 ͂V[ *iCIS~#͂VV: T=T~, ~# !TůSѯVQʁ { ! ~#fo" !"]| G~,!CACS9}*O*] "]* Cړ q#s#r79}*͖HF~O#^#V(Y*iC0/* C8'Y* *p C8Ly9G͖H#s#r#^#V#~#foy0GOU( ~#U>  xͽFFT C$C(*cSc!~,  VQ{ OQC)} ͽF("ͶB #B(w# "cF* 7DWڇ bQʁ { !' ~( (#~ `i͉W>O #~(PY!' ůwͿW:ͤZʖ =x = ѯu <ʖ !% ^#Vr+seQ(0k PY ,- !?V`i>ÓV!' ~UͿW) bQʁ !& ! ~+níbQʁ ! ~ë*c~ Eʒ\DM'~U4N#V p(zw w+s#r#6#6DM:( !" s#r#6C! {zV(/w< <ʖ !! {w:t ͉W!! ~!) OWUOW*c~\( ~( +~#5O ~+~(͆W 7>*cT]% N#F+q#p##6T]ͿW:ͤZ> >w+w!(WW7?*c' 6#67͖H~ʍ #^#fk_8 N#~:(++@(Uy@8N0J #[X~. JX7# !6#z (8> (>  Í W<~ ! w#CACSW:! <™ ͖H~{ #N#F O( I(R{ C,# !C,{ʁ _eQŠ Wz["| 8{ !~ 6B#6A#6Sz"c# w# wwͿW <ʖ < ~ !%w#w#w#w~( C͆W*| ) p# C*T^*T _W<(~  !6# ͝ZW2!͓Z!͓Z~ O!  ~Z ~#@y ~ (>.@ :9 W:^8> @@NB ~*(# 6?# O!!4 #4 #4y" ʖ ><[*c* OW! 4[*c#!*p * CRS+ (* C ! s#r#w 2]VQ{ ! ^#V~,+ £ zʐ +s#r! w#w! ~#fo!C 8BK>!)0)#))0 0#= }_}la) 0#x "]! "]!) "]!RC8bk:](9C0Q\DM[]*]͆\"]PYP\*]#"]R| Q\DM[]*]͆\"]PY2t[]! ~#foCs#r :t( !\!& ýV~# x DM\(!\! w!( V6 (zwÓ \(\! ~!! ^#V! s#rDM\\C "| $]>SH]C *i* C!9}o|g!q9}o|g     *i* C!q9}o|g!9}o|g   *g|<: ]!_]2: ͬ]]*9 :]]lc_o{A}!~]:AA! =]!^]29 !"9 ]!/d^:_=g."9 !Qy^!Ty^:d(!@ d^2d>2E>2I}2J|2K@2E>2I"J@>"J2I@:E>!0h^!0t>2"!rh^!"9 ͬ]!Vy^h^́` #!^>'!,h^B2Gx=2E^>2d!d^C!{0!0h^d_  WCACT!00(_z!,h^2E{2G^(0_z!-h^2G{2E!('!C,!d_002E{(02Gq_!d^!{0Yz U!ay^og *:: <ͫd_<2E{<2F> 2I@!C,!(C,!W~(!{ 2F!doy^0!d^:Gë C(q_C)!qd^:Eñ_ !0y^ð_!Ew#w#w (,C(E~)(,  !~, C)* Ë_!Ph^!S(0-0}h^~, :`ð_ C( dC)*`*`*`!`!c"by_bbE(Hy^(>ͧ_"`"`"`C! 2`0!`c_^#V ( 0go"`!Qa"OapcÅb!a"OaEQaxayia{2Fy2GG^xʚa,z2Fx2GG^-xʍaz2Fx2GG^yʚa,{2Fy2GG^-¸ayʯayL^xʚa,L^-xaxL^yʚa,yL^-pc:`!b0/! !Th^!h^!Wh^́`> #!a>2d!qh^x ( *`"J> _>_!{z0C,!0O ʹb dRbʹbKa   da~(:`/<2`i`"`*`ͣb9DEF* :_ý P-C*i+6*t ~®RWg!g2 "e!6:ʹC29 " *"Y|2 ^#V"B"tB"##^#V"'B##^#V"A##^#V"&Ahds#r#nds#r#kds#r#qds#r!ed" 2!(!!""!"g2b28 2 2 2X!"Z20:(=(>(>P2d !" !O "M ! "! *"K >2!f"t :f f<2f!~"t fF#~+w##+6"t !  f/(+6""t #/(  f6 (S(7M(F£ C:2(z { 2SK + (C/ C:2S fg( :dG:dO*. #  +*K +"K +:!d"vx2<s#r# C*  DM= #"i" {ozgC|g}o|8!{ozgC"K "e"p " *i CR++^! g!G0!f!G!!G"hNB!\ Çd Owned by Microsoft Bytes free BASIC-80 Rev. 5.27 (Softcard //e CP/M Version) Copyright 1983 (C) by Microsoft Created: 12-Apr-83 Basic-800 + (C/ C:2S fg( :dG:dO*. #  +*K +"K +:!d"vx2<s#r# C*  DM= #"i" {ozgC|g}o|8!{ozgC"K "e"p " *i CR++^! g!G0!f!G!!G"hNB!\ Çd Owned by Microsoft B:a!9^#V!)!9^#V!9!r!L!! 9^#V##^#V"||*! 9^#V##^#V!r!L*DM`iͫʰ`iͫʰ*!(! ! ! "|!*s!!r!9^#V!͜! 9^#V!^#V!xu !!x͑ !!xu ! !x"|M*!x! r!L*DMͫʌ`i ͫʌ`iͫʌ*͸ ͜M*͜ʭ!&r!LÆ*!Lusage: arcv input [destination dir] rcan't open input: %s, err=%d %s wcan't create: %s, err=%d Out of disk space! !x6 s# yB*"*N"oP^a!!n! !:o&tns!K"2!nDM!"*5`i^! ͜`i^! ͜`i#DMû`i~5`i*#"+)2s#r`i#DM~2`i^! ͜ `i^! ͜/!`i#DM+s2î!2*!La!9~#d!h ^A:$$$.SUBa! 9! 9^#V! ͐a!9N#F! 9~#fo#s#r+^"| *%͜! 9~#fo#s#r+^"!!9~#fo##s#r++^#Vr"!!9~#fo##s#r++^#V!"! 9^#V^#V!x!!9~#fo##s#r++^#V!"!-*+"sÛ!!9~#fo##s#r++^#V!"! 9~#fo##s#r++^#V"! 9~#fo##s#r++^#V"cd-sux*~*#"+^`i?*`i?Ýa!9N#F!! 9^#Vs`i 0! 9~#fo+s#rs! PY;DM<! 9^#Va!9N#F!! 9^#Vs`it^! 9~#fo+s#rs!PY_DM! 9^#V0123456789abcdefa!DM`i~#`i'DM*!"!`i##! 9^#V] "͜.!"!*͜@A "*!& s*P ! 9^#V^!r͜ʛ`i##!I ͜ʉ!"i !!`is#r!"*|ʧ!`i##!I `i##!I ͜!"i !!`is#r`i"i !!# s#r!% s`ia!9N#F!"`i*͜8`i^#V!a "!"J`i*͜J!"!& ^P `i##!I ͜s!"i !`is#r*a!9N#F"ͫ!*t"`i~#fo+s#r!Ð *a!9N#F`i*ͫa !"!& ^P !!`i##͛ !"|/ !i *`i#~#fos#r*O"`i"`i^#V**ʟ *5`i#~#fos#r!`is#r`i~#fo#s#r+^!ta!9N#F!PYtDM`i ͜ ! 9^#V!  ͜ !! 9^#V a! 9N#F!9^#V`i~#fo#s#r+s`i^#V!*S !a J !!`is#r!9^#V!ta!9N#F`itʌ !`i#DM+sn *&^P x `i5!*##ͣ i !i !a!9^#V! ͜ ! !I !9^#V!I !9^#V!ta!9^#V"! 9~#fo+s#r!h ! 9^#V̓DMͫh `i*#"+s`i ͜h  !*s`i͜ʒ *!9~#fo͜ʒ !!9^#V!è "*s!"s*q *q!4 #4*u+"u}©   o&"*ua!9!29^#V] DMP !9!I DMi `i͜= !"!!L *qDM*sog!9N#F#^#V t x i kb6#> 6 #= >6#=ˆ  5 ک 0_zWÓ /³ ö  : > A [ @ a { `w# .   # w# {o|g  # w# &jz!|*, >?a{ 0:? 7 o& 2p:q _ :p_!9V+^+~+ngwʍ # |!9å !9F+N+V+^+~+ng対ʷ #ï x w # ÷ w|!9^#V#n~ # !|! 9F+N+V+^+~+ng) })= ++w xɯ3~# x3DM!99`i?|DM!99!Y`i~# xt!9q~#•!|z}}z||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>))- =%}{_\|g|7g}oB{_\)W}{_\|g}og|g}o|/g}/o|g}o|g}o|ʵæ}¦|ʵ!}µ|ʦ!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz##y### #x#~#fo}|>?o&}|>o&???????????!9q~#•!|z}}z||/g}/o#z/W{/_MD!}y/Ox/G>)} %=M~P5-Ȅ򘁇f*`Lu0ۺwCnm t6-Ȅb.fi3AR Gq`p qq t9M@H#yrWqLTiΰ lun[*U rFU, _5bl? Ğ!`Q O31{tܠ:Y$5*Ā8xZ 68YPns(P%zVYPKJ o] S0 @%@ Ch%.[K| o/%`@ۄ o- m fPÕY,(H|fp`;%YYR~C$d`H 8M^ Y!.QU]'@ eT'PcH7XgYL&|RsE1Y0 f!Y!kE [2ۂ =!ͺ@BL60f@ F(iTa%4/;BNVmSpˑ@(z 6GE _@5>/3kŌ@D]T=KObm (-؜<yhD4h?A _@(h klY#:;Yͮ/ ù@c*R>B5$ 42l{LmDz93j ŒC4Ms)HB03)o9 i;DcI +BLO) # 7@h(a6B @F4  <8.1Zۤl۪:` b 6i64YT#MٷTuR|uSKrX& 3o3#PٷT 5\̪'1UBm`4CKµ fV , )^2 vmqSLN?U0uS`ꖀ7N,fWi7EVdUS}"2D(3iBeJ/6, ok6X!J*ڰ ߀mfRxl(ꫀ "3$`FU\{BqLwdh+tkѰ8>o@Pin;V 説7DUtGY($0fVmmU-GY\$0RLdꊀ> ͠AADv`6!ۢ_誝7EW5* U.THʮ2D4x~.On`ݒͥVNDm n-ӈpGUpN  NRT?[V誮9Q@fנW t eq* V誮9Ӹn $UB@tXʖW5#+3CJd1@ |;I6|Za`2!h;VlV Y ͨαU fՀa QPY|P*TpԞ*)Zd+y["ͫ+* ھ D&] Ճ[1UL36`ͣ쪚; PEmRY !HڔP0:` q@R=?KC9jodl,:}2EUP)D Fm#jQ@qURUTsU0^2@ mfmpQ qY\!BCm fU][6lVa1?OvXX>w;,zrY EQ0N +eAmfmd3o3B3ki麖[ẞ(+62QPY* ū #[KX<Y~ :@`WYd(iY" Yg #~:`-nK6F63h;!~[c՛|AduՃt fנ'-Ӹ1p( txY`p]T`nCY|6` UW@Q|f0tfv@3j D * n,ff땢Ճ63kh0ku? V:C6…l2 xPfАmٵ4|a۰Fm WL8 ˘>O07d7Ft nvKt nǖm e m-Wo`fUxʧ7OP n8SoH[6 ۮ ͯ@*üڢ: vC0fQ}FK6*ͻ X$ 3n @;u?0xCu ?1/H[60cۀ b5bXmf@@pIu>&Uf@h'pOK1A/cg puOaXXP ET ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e!' ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e Z3ENVF* |Z3 ALIASzpath a15:a0;ldtim!\~ʒ$$~#S.*DUF(1N(@T(H0( G!/(~!8 #ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!F006 CBIOS 0080 ENVTYP EEF4 EXPATH 0005 EXPATHS E000 RCP 0012 RCPS DA00 IOP 000C IOPS E900 FCP 0005 FCPS EB80 Z3NDIR 0015 Z3NDIRS EF00 Z3CL 00CB Z3CLS ED80 Z3ENV 0002 Z3ENVS ED00 SHSTK 0004 SHSTKS 0020 SHSIZE EE80 Z3MSG EED0 EXTFCB EFD0 EXTSTK 0000 QUIET EEFF Z3WHL 0006 SPEED 0006 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FF3F DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 C300 CCP 0010 CCPS CB00 DOS 001C DOSS D900 BIO 0000 PUBDRV 0000 PUBUSR IRS EF00 Z3CL 00CB Z3CLS ED80 Z3ENV 0002 Z3ENVS ED00 SHSTK 0004 SHSTKS 0020 SHSIZE EE80 Z3MSG EED0 EXTFCB EFD0 EXTSTK 0000 QUIET EEFF Z3WHL 0006 SPEED 0006 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FF3F DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 C300 CCP 0010 CCPS CB00 DOS 001C DOSS ed. PUTNDR savendr a0:nzcom;if eq $1 l*;lput a0:nzcom a0:nzcom.ndr;era a0:nzcom.ndr;fi ; This alias will allow you to examine a file. It loads the file into the ; TPA and then uses the RCP peek command to examine it. It will load a file ; from the current directory even if that directory is not on the path. LOOK get 100 $td1$tu1:$tf1;p 100 ; This alias removes NZCOM and restores the operation of CP/M. OFF=CPM=EXIT a15:nzcpm ; This alias provides a shorthand for the CRUNCH command. CR,UNC crunch $* ; The following pair of aliases automates a recursive invocation of some ; other command line. It is invoked as RECURSE COMMANDLINE. REC,URSE if nu $1;echo;echo %< s%>yntax: %<$0 cmdname [parameters];echo;else; recurse2 $*;fi RECURSE2 fi;$*;if in r%>un %<"$1" %>again? ; $0 $* ; The following pair of aliases automates the repeated invocation of a ; command that takes a single argument. It is invoked as ; REPEAT COMMAND ARG1 ARG2 ... ARGN. The command COMMAND is executed ; in sequence, first with ARG1, then with ARG2, and so on. REP,EAT if nu $2;echo;echo %< s%>yntax: %<$0 cmdname arg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p $ap $+p000f PRCP=RCP p $ar PSHL=PSHELL=SHL=SHELL p $as $+s007f PXFCB=XFCB=PFCB=FCB p $ax $+x0023 CLEAN era $1.com;era $1.sym;era $1.hex;era $1.rel;era $1.lst;era $1.prn use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p 5NZBIO ZRL]NZBIO+ ZRL9NZCOM NDR NZCPR ZRL  r@rNZDOS ZRL"%>NZFCP ZRLGhfNZIOP ZRLOϼNZRCP ZRLQJNZCOM Z3Ti BIO15_ENV__CBIO_ÁÁÁÁÁÁÁÁÄÄÄÄ!Ä$Ä'Ä*ÁÄ0ZNZ-COMNZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS ZTOOLS GAMES INCOMING AZTEC ASSEMBLY ZMAC "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2!0q*%"1́D ́́3 ́ (a[1(́ 0Q́ :0 (Á(* ~^#:-< 0́ ^(~ 0 (́ 2) W> ɯ2́́ *%  ~<w(G:R!(́ú Á ##4~(́6 ́  :<(́:́  ́Á 2$[%@!!~~#~O~G#~0GV. S! w! y ##x(2́.: <((! q##ṕi: < . (́:.:<(Á́ 6}2́ +wN! ~G##~?oG}W*% ~=_0 ~2ẃy:,w>2!*~6̄   :*̄́F :*̈́ (2*̈́ ʁ,́x  ́  ́  ́R ̈́ :Ą!+y4 5~y 5 6$ (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!FCPT_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_|{Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): ERror NUll Use root:IF.COM Z3FCPIF AND OR ELSEYFI PIFQ gXIF EZIF CERNU4́!6́+(>́ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8w  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́A2E-PCPI Apple 2*=%+ %+ T)(s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGPSsZ1Z>2ͮ ZSDOS Time Stamp Loader, Ver 1.1 Copyright (C) 1988 by H.F.Bower / C.W.Cotrill *>O>G>Z !~ #~ S,z(!~(!CF+N++V+^`i:gK W.B.".S0!~##~#/~/9ͮ Purpose: Load a ZSDOS Time Stamp module and patch in place. Set Stamping method & Clock type with SETUPZST. Usage : Name <-- Load the module contained Name /L <-- List the installed module Name /R <-- Remove the installed module ͮ This is: !ʹL Zͮ The Installed module is : ( (; ͮ- Empty -/ͮ- Not removable -R -ͮ Removing : (A;hͮ ++ Bad optionͮ...aborting;0:  :(pͮ ++ Incorrect DOS or Version Numberͮ ++{Z%ͮ ++ Can't remove the current clock!*| *0[}|8[ R"j*#|j[,!~:!N#F! MD##f.R8*K Rfͮ ++ Not enough space in NZCOM User Area Clock requires +|}ͮH bytes of user space. (ͮ ++ NZ-COM Not Present...Can't loadC(PAͮ +++ ;ͮ - Loaded, Replace it (Y/[N])? : _Y(K! [ ! {(} N#0 V+^ s#r#! [K ! ^#V! !*[8*ͮ ++Clock not working ...aborting !7*|(###!ʹͮ ...loaded at *|}Hͮ Clock is : !ʹ[,K3ENVʹ~#_^#Vʹ  Ɛ'@'_*.$^#V}|(2*5%w+w+V+^+r+s͊*  2f"&o~>2f"C:S$G3|g}(l/R8!fwE? YW)0ͽ -WG*$[:: (ͽw* >>/W:;_ 6#J<H= *$#w*5 ͉'1 *5N#F{DcP>2>()<2 ~O#  J`i3r+s$!y(=^w>U@   H   @@@ @!  2f"C:S$G3|g}(l/R8!fwE? YW)0ͽ -WG*$[:: (ͽw* >>/W:;_ 6#J<H= *$#w*5 ͉'1 *5N#F{DcP>2>()<2 ~O#  J`i3r+s$!y(=^w>U@   H Z3ENVSH VAR Dumb Terminal =%+ %+ $$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI tJNZBIO ZRL]NZBIO+ ZRL9NZCOM NDR NZCPR ZRL  r@rNZDOS ZRL"%>NZFCP ZRLGhfNZIOP ZRLOϼNZRCP ZRLQJNZCOM Z3TiNZDOS ZRLj!u BIO15_ENV__CBIO_ÁÁÁÁÁÁÁÁÄÄÄÄ!Ä$Ä'Ä*ÁÄ0ZNZ-COMNZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS ZTOOLS GAMES INCOMING AZTEC ASSEMBLY ZMAC "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2!0q*%"1́D ́́3 ́ (a[1(́ 0Q́ :0 (Á(* ~^#:-< 0́ ^(~ 0 (́ 2) W> ɯ2́́ *%  ~<w(G:R!(́ú Á ##4~(́6 ́  :<(́:́  ́Á 2$[%@!!~~#~O~G#~0GV. S! w! y ##x(2́.: <((! q##ṕi: < . (́:.:<(Á́ 6}2́ +wN! ~G##~?oG}W*% ~=_0 ~2ẃy:,w>2!*~6̄   :*̄́F :*̈́ (2*̈́ ʁ,́x  ́  ́  ́R ̈́ :Ą!+y4 5~y 5 6$ (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!FCPT_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_|{Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): ERror NUll Use root:IF.COM Z3FCPIF AND OR ELSEYFI PIFQ gXIF EZIF CERNU4́!6́+(>́ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8w  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́A2E-PCPI Apple 2*=%+ %+ T)(} %=M~P5-Ȅ򘁇f*`Lu0ۺwCnm t6-Ȅb.fi3AR Gq`p qq t9M@H#yrWqLTiΰ lun[*U rFU, _5bl? Ğ!`Q O31{tܠ:Y$5*Ā8xZ 68YPns(P%zVYPKJ o] S0 @%@ Ch%.[K| o/%`@ۄ o- m fPÕY,(H|fp`;%YYR~C$d`H 8M^ Y!.QU]'@ eT'PcH7XgYL&|RsE1Y0 f!Y!kE [2ۂ =!ͺ@BL60f@ F(iTa%4/;BNVmSpˑ@(z 6GE _@5>/3kŌ@D]T=KObm (-؜<yhD4h?A _@(h klY#:;Yͮ/ ù@c*R>B5$ 42l{LmDz93j ŒC4Ms)HB03)o9 i;DcI +BLO) # 7@h(a6B @F4  <8.1Zۤl۪:` b 6i64YT#MٷTuR|uSKrX& 3o3#PٷT 5\̪'1UBm`4CKµ fV , )^2 vmqSLN?U0uS`ꖀ7N,fWi7EVdUS}"2D(3iBeJ/6, ok6X!J*ڰ ߀mfRxl(ꫀ "3$`FU\{BqLwdh+tkѰ8>o@Pin;V 説7DUtGY($0fVmmU-GY\$0RLdꊀ> ͠AADv`6!ۢ_誝7EW5* U.THʮ2D4x~.On`ݒͥVNDm n-ӈpGUpN  NRT?[V誮9Q@fנW t eq* V誮9Ӹn $UB@tXʖW5#+3CJd1@ |;I6|Za`2!h;VlV Y ͨαU fՀa QPY|P*TpԞ*)Zd+y["ͫ+* ھ D&] Ճ[1UL36`ͣ쪚; PEmRY !HڔP0:` q@R=?KC9jodl,:}2EUP~2!?RAM DISK>2>!7>>G:>=2> >2>!7 x7O >G:>=2> x=>2>!xG:>=2> >2;!O> 2>7(>2;#:>=2> :;! >#z A8w~Oy{N#Úͺ_ͺWKJ@Һ @yNO DRIVER FILE $NO ROOM FOR THE CODE IN THE 6502 $NO ROOM FOR THE PAGE 0 $READ ERROR $ DONE! $>2;!O> 2>RAMDISK ID :;! >#z A8w~Oy{Nl.FAST IIe 80 CLM Pȱȱ)J )=(<.,*+1 1 `L- ,,-8 (8(L*Lc-. / L.fʊ /0 "Lcl/ : ,')1)-+ *J x U-(T  `  =TY)(jk^q;+*:ER   #*` ` `* ++(*`+)+` `*+`  1`.`,`*+L]L11`)8++ `)8++ `)8+5+6* ]566 ]5`7  (87J8i97J;i::8x UT(;9` <=`+ *J x U&I(T`**(!*++))++) ``22 3m24(g 3<8؍{=|>8؍x?yx ,UعT(ع332Й4 ]``224m2 3(g 3<8؍=:8؍;x ,UعT(ع332Й4 ]`! L`L ` `P`  ΐ``LL $BI$ I$I H$UUUUUU"D H"$IBB"B"!H$!@ IH@$DH$HBA H@ HKKN ProDOS MLI Drvr(C)1988 & 1989 by Steven N. Hirsch``"  ε` w   H h`  `/ w ε  ; `3      ʝH  h`3      ˝H  h` w `e' cδ c X e`ɀ%      `Ɂ%      ` w Ʋ` DzH h`8  ŮH εh`P  w ļH ε    h`4 w ε  ; ü`! w S Tε ”`    ə``͖>2 ?>2?2?Â>2?>:eB/o:>(}2eB2 ?>2>>2>ͯ2>>2>͔+2>zœ:? {=ʜҜ<2>gk͔+zœ:>{( S 2?͖:?w#"?:>RHHJ  hJhHjJJJJ  h)  `H  h  `8 i  ` KH K h*H K h` KH Kh`)JJJm)m``l  ε`ʎ)?  ε``h` KH Kh`)JJJm)m``l  $HA DH "A@@$@A DBD $  A !I$I"$I  @@  "I# ProDOS Hard DskDR/SL:Copr. 1988,1989,1990 by Steven N. Hirsch \Ν)9 g ,0LL':,\00; /LL; /LL,0L: :; /LL; /LL,0L9LBDEFG l`),;08L]iFȱ,;0LniGBDE l`١8` 5ȱ6>7=<< ȹ?>>>??   `<=е`轨 ΜL iHȱi4h)N4j3(34<m<ȭ4* *38`` ʨݖ  `8` B $ lL 87 ` ` `"= << <=`` < <<``87`FȱGF&GFm5FGm6GDȱE`(8`h)H:C hXx`lȱ` `HH hh`0l``)@Wn@=2 ?*&?~#"&?@(œk'œ͖@k)œ͂:>@>?!5AG~°@m//œ͖@$#~°~@?>2?!"?Í@:?ÿ͖CP/M.id No PRO_PARTITION found HD read error on driver init Bad HD driver configuration No HD controller in specified slot 0x«N found HD read error on driver init Bad HD driver confi BB IH$!@BH$!@B @$$$$ I  @H@  $ @D  @ D oeid ProDOS 5.25      (C)1988-93 by Steven N. Hirsch#`P@h "TSU,,ɩS0T ֩ة ,` Q: QQS` )8Lbi `+R QR`Q QR` V),V08 GG`!,T,, ֩ةЍ ,``B,S`8UiC)iQ,,,T0 L ,(U`,U0LР,V0'`VӠWWӠDȱEQW 8ЭX`f 4f& 4*&?+#~> T], z  #*&?z̜}O|G:? ͖OĜ7$ͩ/#~@w ~İwy,( @OY@;*&?+~# ( ( (#"&?(œk'œOk-xk)ĜÂ>2?A2?;2 ?5͖- (BW-~@wx :(`+L!'L!i08` $6JJJJ6 N$`)p##**LSׅکP$ # :LdөЭ iԩѥѮ# ##L cLL L"%%L# j# ѥ#H# #h` \I꽌ɪVɭսɖ0սɖ!ɖ 꽌ɪ\8`꽌ɪɖ۽*ݽ%ݙEۈзЮ꽌ɪФ`76$\8$9867I$i$88 8 K :9 W :8н :$)* 77` ݌HhHh    V ꩖݌$ ݌     `Hh݌`80^݌Hh  ݌ - - -   EEHJНhZ3ENVSH VAR Dumb Terminal =%+ %+ $$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[%{$z7$#(Aʉ#ړ#($8lʋ$s#o$ (t # #w$͐#͚$*&| Ã$͓#͚$y*%|*%[%"%"%#_#o#g"&%͖#s#&#( o#- {=w$[%( [%=([%[%"%[%"%[%"%*%-( "%Og$g.y{$z!&~('6[%*%K%>Wʍ$S%"% "%2&*%w#"%:&+[%R}/>2%=>>> >>>[%!%{&!$& (#~# ~{$ !% ~#fo"%_ID__CCP__BDOS__BIOS__ENV__SSTK__MSG__FCB__MCL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( /Z3ENVZCNFG24COMCFGCONFIG LBRs 1  ͖͖ͦͫ ڦ [ͦ :([̓ ͦ̓ ͦ:@*8Y > K> > +6RCym 0Y0! #N#F#BKF#^#O~:y7! Bڰ !! N#F**K:. " :W:((8z2" ͦÁ:"(* " :2 : !  n!P!:=n5:ď{ ! +*|~: #~#8 ( 7:!G:([ ͦ:ğ!6:( (:7> 7*:Ow*|ʰ *:[*̶ï>!2:P ͉@ ͦ:67O:0OG[A怶#*|~ > g*>!2:ʰ ° G*|~ > *ͼڰ [ (> * ͦ :Ħ ͦ>67ͧ*q#p:° *N#F#[:A> yĉ >?ɯ! "" r ͦ ͦ>67ʹ͒:GO*sZ#:O=° *[ ~i~#foS!"" ` ͦ ͦ>67͉͒:G*s#Z*[:(( ° ~̓~#foɯT ͦ>67O(] 7:W !] 5B: +>:(#w#6:Ұ OO!a N#~#fo[ ^ ] \ \ B:W !] 4!^ [:(=(= +~=?Aͭ ͥ*n*:^G/O/W ((yW~w*|ʰ :G=xʰ *@ *OA Ͷ [ͯ*~(>/w*|ʰ :=° *~EDͦO*~怱w) Enter a keystroke:*~j[e!! 2!@2!DEL SP ^ *|( N#F#~#fo|*N#F#~ (? /( A?G:G#~ ? /7͉K*| ͦ^#V#~#fo ͦ:=^}x!T]6C!"*N""" ! z> *!z͏n!#~ͭ*  2|2́͝#~2!* ͩ#:]ͣåͦ:!22i  !2K 2Kڝ Kڝ K :.(KCC*#|(+N""b"".!# [!+iK * N" DMb" ͺ k2= 2/ #7] 7:2!f +̀7(?!w =2!\   !i ! (2"! >*: 2!  [ !P![:G: 2!i1 ! [!̀!~(˿wx W * N] ͬ ^ e!^ [ !"*N#F#"xp+q#y wB(:= K ͺ!  *  (Kͺ!  eH> *>G~#8* ~(7#^#V#"R"2=2[>^ ګ !4!4[*R >2=2[2*>^ *K S>2>2*F#^#S S ~2 #N#F# Ͱ͜  ͦÝ =J 8! ͥ: ͉ ! >. 8   (ͦå" ZCNFG CONFIGURATION UTILITY, V2.4 (12/12/92) Invalid command. Try Again: ) -Enter up to 3 characters: ) Enter a number ) Enter HEX =>from to Check for possible Drive or user error.. ) New DU ('?' for default) (Space or CR to continue, ^C for Menu) BAD CFG FILE - Does not start with RST 0 or RET code. was not found. Target data inappropriate for this overlay - WRONG CONFIGURATION OVERLAY? ) Enter filespec option BAD DATA IN in the case table for menu # , item ZCNFG COMMANDS /  Explain Options  >  Next Menu  Esc  Save Changes & eXit  ?  Explain Commands  <  Previous Menu  ^C  Quit with no changes  Which choice? /?Q >///./<(((,(XnnWnnnd Other keys perform the same functions as those shown at the bottom of the main screen. Use them if that's what your fingers prefer. If X, W, or Q are present as selections in the main menu then they perform the configuration function and NOT the function shown below. Command Alternates Function performed / (none) display CFG help screens ? (none) display this screen > . ^D ^F display next CFG menu < , ^A ^S display previous CFG menu Esc X ^X W ^W save changes and exit ^C Q ^Q exit without saving changes Configures option data in Executable files (TFS), using a configuration data file (FS) which may be in a LBR (/FS or [DIR:]FN.LBR). Syntax: ZCNFG TFS [[/]FS] [[/]FS] Examples: (Configure TGT.COM, default LBR is :config.lbr ) ZCNFG TGT TGT /CFG01 ;uses TGT.CFG in CFG01.LBR ZCNFG TGT /CFG01 TGT ;order of args 2,3 optional with '/' ZCNFG TGT TGT CFG01 ;'/' optional if LBR is 3rd argument ZCNFG TGT CFG01.LBR ;'/' optional with explicit .LBR ZCNFG TGT TGT ;TGT.CFG on Path (includes default LBR) ZCNFG TGT ; or TGT.CFG on Path ZCNFG ZCNFG ;configures itself to assign ALT:, etc. FS, TFS are ZCPR style filespecs. All parts optional except TGT FN. Seeks FS files on a configurable internal path which includes Alt Directory unless superseded by a DIR: form in FS. See ZCNFG.HLP for full syntax and usage. >0i>?`  > ɷRB d0d 0 ~i#::= ~#fo $%° B s#r##[s|(331x > >  ow3_!N (  #4+ ?? qy/l 7~˿ȹ$~ #:_>-(̠:"}>2$2$~~#_Q~  #:Wz/(#@7 B(a8{8 [?!!  7%()*,./;:<>=?@!>l(>l>lF:[ >l02>lʃ02ͦåDIRECTORY FULLCLOSE ERROR READ ERROR = WRITE ERROR = Cbkp+q! q##45C: 7#Kx< Cͯ( z CG!p:C~ . #Ol>Kɯ2<O* >?s :#?s#!<4E(&(" #( +N+F#~A80G#~ 8x>D 0 8?#T&o MD > **~!! !Я~,/:.=;<>_~# (+a{_* }^#Vz|M!0GyȷȯWX+YRxOA6 +# yA> +  G>: >. A> ~# ( +~=?8A+~ ?8͉O*!*!:!æ*!*!!!O(*!~(!!O(!! G(y~# ^#V#aV#^#ͺ[![! ͇[! ͕[! *!:!W~(;*![!( ):!&O[!:!g:!g gɠg[!(+%-%( \ QD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|e||dͤ ͤ0/0Gz0 A(x~( #\ ~#zO* "|( +~(G  " "|("!|(D~!8? ~2!#~2!#~2!!͌:!O ͌ !!6#s#r#6#s#r# 6#s#r#~#\ #* "1$ô"* "|(~#fo" "!N#Fy( p+q+F+Nq#p(" "!!N#F! A( # x "" *"# !~ #[ " n   !!6#!" > '> !~ #>  #~##> Y cXcc cOG_ c>!!!s#r#6l>l>l>l rr# !""2"" !"N# 6!":"ѷO>\/Ì&d͟& ͟ͳ.,0g} |> (0G|'d }R<0 > (0GS"'4S"4d4 4}ER<0 > (0G["S"|i}i|x}x͎͎͒͒B~0?0 0Obk)8)88 )8 8#{B~Q08!0 88O)8)8 )8 )8 #?{~(Qw#H (+?/OQA8[8yO08:8yO 8 ya{_do*o~?(O#~O#Ɛ'@'͒B~0?0 0Obk)8)88 )8 8#{B~Q08!0 88O)8)8 )8 )8 #?{~(Qw#HU w TO Z"M[AL!sC# D.Qc ZCNFG CONFIGURATION T)  Target Program Default Filetype _ _ _ _ .COM O)  Overlay file Default Filetype _ _ _ _ _ .CFG Z)  Z3ENV auto-install for ZCPR3 _ _ _ _ _ NO A)  Alternate D/U for Overlay files _ _ _ _ B8 L)  console Lines per Screen _ _ _ _ _ _ _ 24 C)  Default CFG library name _ _ _ _ _ _ _ CONFIG D)  Default DU for the CFG filespec _ _ _ _ current YESNO CURRENTTARGET P T) and O) - DEFAULT FILE TYPES The default file type extensions used by ZCNFG are shown. You may wish to choose another default filetype extension for configuration overlays (.CFG files) because of conflict with your system standards. Otherwise, leave these as is. An explicit filetype on the command line supercedes the default, allowing you to configure files whose filetype has been changed from .COM to something else. Z) Z3ENV AUTO-INSTALL When set to YES, your current Z3ENV address will be installed in the target program, just as if you had invoked Z3INST.COM. Nothing is done if the current system is not ZCPR3x. Set this to NO if the target program is intended to operate in a CP/M system. It is not needed for target execution under ZCPR33/4. Set it to YES if target programs are likely to be executed by a debugger like DSD or DDT which do not auto-install. : A) ALTERNATE DU (DRIVE/USER) Use this item to select an Alternate Directory. The Alternate Directory is the place ZCNFG expects to find CONFIG.LBR if it exists. This is also the directory which will be searched for a CFG file whose directory has not been specified explicitly on the command line. CONFIG.LBR and ALT: are two of the elements in ZCNFG's search path. The third element of the search path is selected by menu item D. You may assign an explicit DU, or use wildcard notation for an ambiguous directory spec that will be resolved when ZCNFG is invoked. An explicit DU (like B31 or D15) is usually most convenient, especially with a hard disk. Ambiguous specifications are difficult to remember but may be useful for Floppy Disk systems. Examples: ALT assignment ALT: when ZCNFG is invoked -------------- -------------------------- ?? or ??? current Drive and User A? or A?? Drive A, current User ?14 Current Drive, User 14 ?8 Current Drive, User 8 : L) CONSOLE LINES PER SCREEN Set this to the total number of lines your terminal displays. This is a default value which is replaced at execution time by that from the Z3 Environment. ZCNFG uses this number to manage menus and help screens properly. For demonstration purposes, values are limited to a minimum of 12 and maximum of 80. C) CONFIGURATION LIBRARY You may change the NAME of the library, but not the extension, which is always taken to be .LBR. This library is made with NULU, VLU, LPUT, or equivalent. If you put all your CFG files in this library, you will conserve directory entries on your disk. The library must be located in the directory you have assigned in menu item A. When ZCNFG is invoked like: ZCNFG [DIR:]FN[.FT] [CFGFN][.FT] (note no DIR: in the 2nd argument) then the LBR will be searched first for the CFG file. This method is faster than searching several directories for CFG files. : D) DEFAULT DU FOR THE .CFG OVERLAY FILE This item toggles between DEFAULT and TARGET directories. If you choose DEFAULT, then missing parts of the DU portion of the filespec for configuration overlay file are provided from those for the logged directory. This is exactly the way ZCPR3x parses, and is an appropriate choice if you normally invoke ZCNFG with the CFG file present in either the current directory or ALTernate directory. If you choose TARGET, then ZCNFG virtually logs into the TARGET file directory after it has been parsed from the command line. This choice is appropriate if you normally invoke ZCNFG with the CFG file present in the same directory as the target file to be configured or the ALTernate directory. Note that if both the target and CFG files are in the current directory, these choices become equivalent. Also, if your CFG files are normally in ALT:CONFIG.LBR or in the ALT: directory itself, this choice is irrelevant. :0A0A0600C39BE423E723E723E72363 :100A1000E7000000006DEBF12CF12CF12CF1EBF173 :100A2000EBF1EBF10000000000000000000080008E :100A300000000000000000000000000000000000B6 :100A400000000000000000000000000000000000A6 :100A50000000000000000000000000000000000096 :100A60000000005A44444F5320312E3120436F7010 :100A70007972696768742028632920313938372CE6 :100A800038382020432E572E436F7472696C6C20C7 :100A90002620482E462E426F776572AF476F672239 :100AA0004CE4224EE4ED7361E4319BE4DDE5D5DDF9 :100AB000E1DD225DE4DD225FE421BDE7E579324B33 :100AC000E4FE0C380DFE31380DFE62D8FE68D0D63B :100AD000314F2185E8E521E2E409097E23666F4B69 :100AE0007BE9A1E750E53BE615F212F20FF25AE579 :100AF00091E58EE5ACE695E58EE699E8E1E752E909 :100B000042EE8FEB38E85FE86FE846EF87EF8DEE57 :100B10007AE8C0E882E824ECBCE8D8EAB4E891E8D6 :100B2000C4E8D3E83CEF7CEFDFE8E7E8F1E788E8EA :100B3000B8E87CEF88E888E888E888E8CFE888E8C3 :100B4000C8E8B0E8E2F1E5F18CE889E8B8F1B8F17D :100B5000CD75E5D8E5CD3BE6E1C91C28141C280677 :100B60001C2812C30CF23A29E4B73E01CC06F2A7C6 :100B7000C9CD66E5C82129E47E3600B7CC09F2FE6E :100B80000DC8FE0AC8FE09C8FE08C8FE20C9320307 :100B9000003A0300C93A26E43227E413AF1213D512 :100BA000CD75E5D1219FE5E52A5DE44E23FE0D28B4 :100BB00074FE0A2870FE7F2804FE0820367EA7C82F :100BC0001B35D54623EB2126E44E237E2B770418D4 :100BD000051ACD6AE61310F979964771D1D50E083A :100BE000C5CD0CF20E20CD0CF23E08CD3BE6C11077 :100BF000EDD1C9FE152804FE18200AAFB6C8E5CD10 :100C0000C0E5E118F6FE1020072128E47E2F77C901 :100C100012E5CD2AE6E1347EB9280A3D1A13C0FE5A :100C200003C0C3A1E7E13E0D1811FE20300DFE09FF :100C3000280DF53E5ECD4EE6F1C640FE09200F3E82 :100C400020CD4EE63A26E4E60720F43E09C9C5D594 :100C50004FC5CD8EE6C1C5CD0CF2C1C53A28E4B76B :100C6000C40FF2C179D1C12126E434FE7F2815FEDC :100C700020D0FE092811FE08280A34FE0A2805FEA5 :100C80000DC036023535C93E0786E6F877C9CD6610 :100C9000E5C8CD75E5FE13200ACD09F2FE0320EE6E :100CA000C3A1E73229E43E01C91120E71AFE24C896 :100CB00013CD3BE618F6016400CDC4E60E0ACDC4A0 :100CC000E601010116FF149130FC81F57AB0280786 :100CD000477AC630CD54E5F1C94368616E676564F3 :100CE0002442616420536563746F72244E6F204404 :100CF000726976652446696C6520572F50245A44E2 :100D0000444F53206572726F72206F6E20240D0A5B :100D100043616C6C3A2024202046696C653A20249B :100D20000D0A243A5CE44F0F385CC5D5CDA9E61115 :100D3000FEE6CDACE63A2BE4C641CD3BE61114E726 :100D4000CDACE6D1CDACE6110EE7CDACE63A4BE446 :100D5000CDB6E63A4EE4A72829C1C5DDE53A4BE415 :100D6000FE132004CDC6EAE31117E7CDACE6E10699 :100D70000B233E03B83E2ECC54E57EE67FCD54E5F2 :100D800010EFCDA9E6C13E0490200D212CE47E2B6E :100D9000BE2805C5CD59E9C1CB4920183E01903088 :100DA00005AF325CE4C7CD71E5A720FACD75E5FE4D :100DB00003C018ED7867A7C82EFF224CE43A4EE432 :100DC000B7280C3A2DE4DD77003A2CE4CD59E9ED53 :100DD0007B61E4DD2A99E42A4CE4ED5B5FE47D4429 :100DE000C9218000222EE4CD28ECAF322BE411FF84 :100DF000FFCD27E83A15E4CB57200621FCF1CD3092 :100E0000E83A4BE4FE0D21FEF1C430E83A2BE4F55C :100E1000000000F1CD59E93A57E41869237E2BD63A :100E200024C03D3257E4C97B2F5F7A2F5721FAF156 :100E30007BA677237AA677C9CDF7E8DD7E00D63F7B :100E4000280DDD7E0EFE3F2804DD360E003E0FCD60 :100E5000DDEC2A34E4018000ED5B2EE4EDB0C9DD69 :100E60002A58E4DD225DE4CDF7E8CDF4EC18E3CDBB :100E7000F7E8CD57EC3A5AE4180BCDF7E8CDC2EDC0 :100E800018F33A2BE4324CE4C93215E43A15E4186D :100E9000F4CDF7E8CDEDED18DC212200FE44202B47 :100EA0003A25E4A728256311E1F1ED535FE4181B0F :100EB000211144DD2AFCF1DD2AFEF1DD2A3AE4DDD0 :100EC0002AFAF1DD2A36E4DD2A2EE4224CE4C93286 :100ED0005CE4C9212AE43C7E28AB7BE61F77C9CDC0 :100EE00005E9CD16EE188E212000CD07F1DD722127 :100EF000DD7122DD7023C93A5CE4A720082A5DE495 :100F0000010D0009773EFF324EE43A2BE45F2A5D83 :100F1000E47E322DE4FE3F2839DDE5DD2A5DE4E69E :100F20000FE528025E1DCD52E9E1DD7E0DCB7F206D :100F3000073A2AE41802DDE5DD2A5DE4E61FDD77E5 :100F400000F680DD770DDDE1C92A0BE4060411EC23 :100F5000E6E93A2BE4322CE47B2AFAF1E60F47C4A7 :100F600039EAEB212BE4CB432802BEC877D54FCD1D :100F70001BF27CB528D31130E4010200EDB022321F :100F8000E40E06091134E40E08EDB02A36E40E0F23 :100F9000EDB0D1CB43C0CD1FEAEB2AFAF1CD30EA58 :100FA00022FAF13A15E4CB5F282A2A47E47CB54FB0 :100FB0002AFEF17BA56F7AA4B53EFF28013C47B11C :100FC000C8AF676FB0280A79B720092AFEF1CD3083 :100FD000EA22FEF12A41E4CD37EA444D2A3AE4E51B :100FE000545D13AF77EDB0E1ED5B45E47323722AF6 :100FF00032E4772377CDD1EA3EFFCD05EBCDF1EAA0 :10100000CA17E8CDC6EA7EFEE528EDFE2128E9CD27 :101010001CE80E01CD6DECCDF8EAD4E9EA18D9212F :101020000000EB2101003A2BE4B72804293D20FC05 :101030007AB4677BB56FC90603CB3CCB1D10FAC9E8 :101040002A54E40602CD39EA2252E4EB210000EDF5 :101050004B3CE43E11B7ED423F380209B7CB13CB0E :10106000123D2804ED6A18EDE52A49E419444DCDF6 :101070001EF2C1ED5B30E4CD30F2444DC321F2DD10 :101080006E20CB153A40E4DDA60C673A3EE44704F7 :10109000CD39EA507D2A5DE40E10094F093A42E449 :1010A000B75E2805095E23562B7AB3C92100003AA2 :1010B0003EE447EB29CB1310FBEB3A3FE4DDA620DF :1010C000B35FC9CD96EC3A56E42A34E4856FD02458 :1010D000C921FFFF2254E4C92AFCF1CD22EA22FCF7 :1010E000F1ED5B43E42A32E42313722B73C9CDDBA9 :1010F000EC2A54E47CA53CC92A32E4ED5B54E47B41 :1011000096237A9EC94F2A54E4232254E4ED5B438C :10111000E47B957A9C38BA7D0F0F0FE6603256E477 :10112000C0C5CD40EACD00EC2A54E47CB520112A9C :1011300034E4060B234ECBB98110F9D69132F9F184 :10114000C12A47E4ED5B52E4AFED52C8D82A34E43B :10115000CDF2F1862A38E4190C200277C9BEC83ACC :1011600015E4CB67060011D9E6C423E7CD1FEAEBEF :10117000CD27E8CD0CE8CDD1EAAF1889CD27F218FC :1011800003CD2AF2B7C8060111E1E62A09E4E9CD48 :1011900005E9DDCB0E7EC0CDC2ECCDEEEAC8CDC3F5 :1011A000EA01100009EB2A5DE409EB4134351A2805 :1011B00004BEC204EF77132310F211ECFF19DD7E99 :1011C0000CBE380877232323DD7E0F77CDF1EBCDDE :1011D0002EEF280DC5010000CD28EFCDEEEAC12885 :1011E0000DC5CDF1EB2A1CE40E0ACD8CEEC1C3284F :1011F000EFCDC6EA010B0009CBBEDDCB0BBE180854 :10120000CD2EECCD7CEB1820CDC6EA3E0DCDCCEA40 :101210003600CD40EA0EFFCD41EBCD2EEC0E01CDD8 :1012200081EB1804ED532EE4ED4B2EE41804ED4B46 :1012300034E4C324F27BE6073C4FEBCD37EA47EDBD :101240005B3AE4197E0710FD41C9C5CD35ECE6FED9 :10125000D1B30F10FD77C9CDA8EDCDC3EA36E52394 :101260007ED62420033257E423CBBE0E00CDC6EA3F :1012700011100019435E2316003A42E4B728030513 :1012800056237AB3280DE5C52A41E4B7ED52D44A76 :10129000ECC1E110E0C9CDC6EA11080019ED5B13FD :1012A000E41AA72004CB7E201023CB7E200BDDCBBD :1012B000077EC83A15E4E602C02A0FE4060311F5DA :1012C000E6E9CDCFECC0060211FAE62A0DE4E92AE0 :1012D000FCF1CD22EAED52C93E0C213E0F325BE417 :1012E0003EFF325AE4DD2258E4CDD1EA2A47E47CBD :1012F000B5C418F2AF676F2250E4DDCB07BECD0551 :10130000EBCDF1EA280EED5B58E41AFEE52807D58F :10131000CDF8EAD1306CCDC6EA7EFE2128D60E008B :101320003A5BE44778B728601AEE3FE67F283C79BD :10133000B720233A15E41F301D2323CB7E2B2B2807 :10134000151AFEE52810AEE67F281A3EFF3251E45A :10135000DDCB07FE180F79FE0D280AFE0C1A2811A6 :10136000AEE67F208F13230C0518B93D3250E418E8 :10137000F4AECD77ED18ECC5473A40E42FE61FA058 :10138000C1C9CDD1EAC304EF2A50E47CA520D4CD55 :10139000F8EAD4E9EA2A52E4225FE43A54E4E603A4 :1013A000324CE4AF325AE4C9CDC2ECCDD8ECCDF129 :1013B000EAE1C8E5E521BAEDE3E9CD08ECCDF4ECCE :1013C00018ECCDA8EDCD96EC2A5DE411100019EBD8 :1013D000CDC6EA2323CBBE2B2B060B23131AE67FA5 :1013E000FE3F20017E17CB161F7710EFC9CDA8ED69 :1013F000DDE5D1CDC6EA060B23133E04B8200EE589 :101400002A13E47EE1A72005CB7EC2B9EC1ACB16E5 :1014100017CB1E10E3C901000051CDEDE8CDD8EC8B :10142000CDF1EAC8CDC6EAEB210F00CD07F17ADD98 :10143000962179DD9E2278DD9E23D4EDE8CDF4EC73 :1014400018DECDF7E8DD360E00CDEEEAC8DD7E070A :10145000F5DD7E0CF5CDC6EA7EF680DDE5D1012016 :1014600000EDB0DD770DCD02F1DD460CDD4E0FF164 :10147000DD770CB828040E00CB19DD710FF1DDCB40 :10148000071617DDCB071E0E052A18E4E9CDF7E88D :10149000DD360E00CDC2EC2A5DE47EF536E53E0178 :1014A000CDDDECF1DD7700CDF1EAC82A5DE4CD1C9D :1014B000E8110F00190611AF772310FCDDCB07BE32 :1014C000DDCB0BBECDC6EADDE5D1EB012000EDB0F2 :1014D000CD08ECCD02F10E00C32CF1DDCB0E7E2049 :1014E00008CD92EB3A4CE43CC8CD0FEF3813CDEE6B :1014F000EA20163A4FE4B72808CD94EECDF1EA2061 :101500000BCD02F13EFFC385E8CD4DEEAF18F7CD10 :101510002EEFCB7037C00C79E61F4F20070478E61A :101520003F4737C8DD362000DD710CDD700EDD4E23 :101530000CDD460E79CD77EDCBB8B0C9CD05E9AF5E :10154000CD7EF02804C9CD05E9AF324FE4DD7E2021 :10155000FE802809DDBE0F38073E0118A9CD71EFC6 :10156000CD7FEA28F4CDACEACD4FEACD7CEBC36C5D :10157000F0CDDBEE3A4CE4B7C8E118DDCD05E93E2D :10158000FFCD7EF02804C9CD05E93EFF324FE4CD02 :10159000C2ECDDCB097E200ECDAEEC2A13E47EA793 :1015A0002007DDCB087EC2B9ECDDCB207EC471EF15 :1015B000CD7FEAC24BF0E579B728043DCD95EA62CC :1015C0006B7AB3280B1BE5D5CD35EC1F3020D1E16C :1015D000ED4B41E47D917C98300E23D5E5EBCD3584 :1015E000EC1F300AE1D118D97AB320D51807371784 :1015F000CD52ECD1E1E17AB3287FDDCB0EBE733A58 :1016000042E4B7280223720E023A3FE4DDA6202806 :10161000020E003A4BE4D6282033D52A34E4068063 :10162000772310FCCDACEA3A3FE447042FA35F0ECA :1016300002E5D5C5CD4FEACD2EECC1C5CD81EBC1BC :10164000D1E10E001C10EACD28ECD10E00DDCB0E4E :10165000BEC5CDACEACD4FEAC1CD81EBDD7E20DD4C :10166000BE0F38083CDD770FDDCB0EBE3A4BE4FEF3 :1016700014D8FE16D0DD3420C93E02C385E8324FAF :10168000E4DD7E2157CBBA17DD7E2217F5E61F4F2A :10169000F117171717E60F47DD7E231E06FE0430ED :1016A0005C070707078047DD7220DD560ECB7220EE :1016B0000E79DDBE0C200878DDAE0EE63F2837CB74 :1016C0007A200FD5C5CD92EBC1D11E033A4CE43C34 :1016D0002827CD28EFCDDBEC3A4CE43C20153A4FDF :1016E000E41E043C2013CD94EE1E053A4CE43C2845 :1016F000081803CD4DEEC30CEFDD360EC07B324C27 :10170000E4B7DDCB0EFEC9197E210C0019577EE629 :101710001FCB12CE001FCB1A4F23237E0F0F0F0FAC :10172000F5E60347F1E6F0814FD004C93AF9F1B785 :10173000C0DDCB037EC0C5CD2EEFC1C0473A4BE420 :10174000FE662806CDCFECCAEBF1C53A56E41F2A57 :1017500052E4CB3CCB1D3002C640F5E52A45E43AC5 :101760003FE43C5F500610293003E319E310F8E131 :10177000CD4BEACD00ECCDEEF1BE2038F1CDC9EA7B :10178000C13A4BE4FE66C8FE67281609C5CDE1F1F3 :10179000C13C28577379B72012060A772310FC182A :1017A0000AED5B2EE4EB010F00EDB0CDEEF177CD4D :1017B0001AECAFC9E1E11833CDF7E8CDEEEA282BFA :1017C0003A4BE4FE672811DDCB03BECD2CF1200B94 :1017D000010F00CD58E81803CD2CF1CA59EFC3040E :1017E000EFEB0E00210E012A16E4E5F6FFC9AF2A41 :1017F00034E4067F862310FCC900000000000000CE :10322000005581AA0A000000000000000000000014 :10323000000000001209100901001001A8AAAAAAA2 :10324000AAAAAAAAAAAAAAAAAAAA8400204188402D :103250000000800444040000000110000821000068 :103260000208100010008000480010420402000014 :1032700000001108240808080100400000000000B8 :10328000000000002040929044922480402400825C :103290001020400010410090204844224022482045 :1032A0000949400220800004000012084412929054 :1032B0009048480004224044442422001210008216 :1032C00000121140000108080008910822000201C4 :1032D00041200091241004000020494200088290FF :1032E000240042120001000084040400000842424D :1032F00040208480000002102009402491000944ED :103300000011018090040280888044000249244119 :10331000082402120101100000400224901009004C :1033200024841012820812200420001280800008D9 :103330000004010101002008112412801049080234 :103340000902040104002000008000000040100871 :103350009004922444248190900404000080200072 :10336000041000904420009010088000000100002C :10337000008840020422010040002404480821483B :1033800008090200000080400411008084244940A4 :1033900008420224008124400004080001000400C7 :1033A0000208202040024042000290080040002015 :1033B0000100000000000000804090040121200175 :1033C00001000000004000824022024002002481EF :1033D00008800000102002240420202401020200A2 :0000000000 03340000902040104002000008000000040100871 :103350009004922444248190900404000080200072 :10336000041000904420009010088000000100002C :10337000008840020422010040002404480821483B :1033800008090200000080400411008084244940A4 :1033900008420224008124400004080001000400C7 :1033A0000208202040024042000290080040002015 :1033B0000100000000000000804090040121200175 :1033C00001000000004000824} %=M~P5-򘁇f)#`t 6XzoXm Z" 1\1g4@1@ !r4 0.# F#*"ӝaٰ땪pDUt"z"EK!^2`ITTW75LU, %0Rxj(ꫀ "3$`FU\{BqLwdo#tkѰ8>n@Pin;V 説7DUt} 0fpFmWU-}$0RLdꊀͽ!D%S0 v`6!_誝7EW5* U.THʮ2D4x~*n`ݒ͠,GDm n-ӈpGUpN  NRT?[V誮9Q@f W t eq* V誮9Ӹn $UB@tXʖW5#)3CJd1@ |;I6|Za`2!h;VlV Y ͣαU fa QPY|P*TpԞ*)Zd+y["ͦ+* n D&] Ճ[1UL36 ; ̪.͸PEmY!~0:` q@R=?KC9jodl,:}2EUP fӐaRu@i.+wi~8V찛,$=õ* !5ǀ.0f!5@,*: 00:p#6IB[PIxFVl:wX>c~SeK6!M#$B$UYE]*@0Vsdn@H;KuP̒xUP[`88]A{2 +63h@b2s-r>Z `8Tғ!* S0@;ẂebR06mui8#63n20fp ʀ0#x@T$͠X8f md3n0 Ut @| gp 1~ٷK(fҀm`VmQp)c,:P͸X_7Y``ͥ 3n00͹`6ڂͥ 6ҝ.vp`%@$={M: fP3vK6n0#?5ʫkpq!d^af(Xv(!8,ی . )FY@[u?2TT` xNm`A*U f giI>G[?Uh" ۢ *ū+Pnmfa@9[Pjo3D`lf`cB(kG<-Ӹ~?F:tF#eb@T4r 1P?UD(?@E\?10 \FU@0W3kHa#P0Y,ۢ àb|R Խ ª"`eV,ۄͻ d9\tth@C6PͲ.mkX Nc~ 찰|wY%hn00# 9*` @eV 4 a ,ͻ f`gXfpu,!0( ʧ7O-tnAw>OxpGna30.p:9`s, [`xnan=V+6Z!vm( fݰL6m GU0x(lښámѰ9{Tu2C'0+XIDW0 s<$:!vu?0\`U,f2* Ϳ" Q "Y0"!F#/2#~/ͳ ZSCONFIG Ver 1.0 - Examine/Set ZSDOS/ZDDOS parameters Syntax: ZSCONFIG - Interactive ZSCONFIG o[p],[o[p]],.. - Expert Mode Options [parameters]: P [-] Public Files R [-] Read/Only sustain ! [-] Disk Change Alert F [-] Fast Relog ͊ :ͳ W [-] Public/Path Write S [-] Path w/o SYStemͳ W [-] Public Writeͳ C [ - or Hex value ] Clock address * [ -, Z, or Hex value ] Wheel write protect ͊ͳ > [ -, Z, I, or Hex value ] DOS Search Path + [ A, C, M, G, or S ][ - or Hex value ] Time Stamp Access, Create, Modify, Get or Set addresses ;ͳ + [ A, M ][ - ] Access or Modify Time Stamp ͳ [more]..,ʴ> ]ͳ Examples: ZSCONFIG *Z,P,!- (ZCPR3 Wheel, Public ON, Warning OFF) ZSCONFIG CE800 F R (Clock Routine=E800H, Fast Relog ON, R/O Sustain ON) ͊ lͳ ZSCONFIG C50,+GE96C,+SEA47,>I (Clock=0050H, Get Stamp=E96CH, Set Stamp=EA47H, Int Path) _ͳ ZSCONFIG C50,+A-,+M (Clock at 0050H, Last Access stamp off, Modify stamp on) ͳ Note: Delimiters are : TAB, SPACE and Comma ôͳ ZSCONFIG V1.0 Copyright (C) 1988 Harold F. Bower/Cameron W. Cotrill ::S(*DY:ͳ ...Configuring ZDDOS Ver #:ͳ ...Configuring ZSDOS Ver ̀]>.]̈́]: e* | "ͳ No Z3 Environment Found Æͤ(Z3 Environment at : * ͭ͵(ZCPR Path Address :  * ^#V": ͭ͵-Wheel Byte at : )* ^#V": ͭ:g.""^ VS:͔! ͳ 1 - Public Files : *F6͊ ,ͳ 2 - Pub/Path Write Enable : *ͳ 2 - Public Write Enable : *N6ͳ 3 - Read-Only Vector : *V6ͳ 4 - Fast Fixed Disk Log : *^6ͳ 5 - Disk Change Warning : *f6͊ ͳ 6 - Path w/o System Attr : *v6ͳ 7 - DOS Search Path : *n(QͳEnabled* *nfR ͳ - Internal*ͳ Addr = *nfͤͳDisabledͳ 8 - Wheel Byte Protect : *nf|( ͳEnabled Addr = ͤͳDisabled..Assumed ONͳ T - Time Routine (Clock) : *nf̓ͳ A - Stamp Last Access Time : *nf͊(i:̓ͳ C - Stamp Create Time : *nf̓ͳ M - Stamp Modify Time : *nf͊(iq̓ͳ G - Get Date/Time Stamp : *n f ̓ͳ S - Set Date/Time Stamp : *n f ̓! ͤEntry to Change ("X" to EXIT) : ,u 8]Xʔ1ʹ2ʹ3ʹ4ʹ5ʹ͊ @6ʹ7 ͵DOS Path [(D)isable, (S)et, (I)nternal* |(ͳ, (Z)CPR3ͳ] : D(=Z(D͊ I  *=S ͵Enter PATH Address : !*î* |ʮ**tuî8i ͵WHEEL Addr [(D)isable, (S)et* |(ͳ, (Z)CPR3ͳ] : !D(7Z((S ͵Enter WHEEL Address : ! * |ʮ**tuîT ,͵Time (Clock)ͻ*ut>wwîA 4͵Stamp Last Access Time̻͊*utî͊ +C '͵Stamp Create Timeͻ*utîM /͵Stamp Modify Time̻͊*utî͊ PG $͵Get Time Stampͻ*u t îS $͵Set Time Stampͻ*u t îͳ  ͳ Returning to system ... {x*ݮwî!F#*+CR LR/O Sustain = F LFast Relog = ! LChange Warning = P LPublic Files = W 6͊(LPublic Write = LPub/Path Write = ͊ #S LPath w/o SYS = @>A:!*ݦwôLWheel Protect = k(- NZ[(ͧk(Z*rs* | kLZ-System @ LSearch Path = k- N*I  *LInternal Z[(ͧkʻZ*rs* | kLZ-System @ LClock Routine = kF*sr>ww2 +> :A 1LStamp Access = ͊(́F*sr͊ *C &LStamp Create = F*srM 0LStamp Modify = ͊(́F*srW͊ QG %LGet Stamp = F*s r )S $LSet Stamp = F*s r -y NLActive /!w!ywû-[ LDisabled 7ͧZkûL-- Invalid -- -[( *^VLEnabled 0/ + ~(z~u#~(#ɷ , #~u,uu2 0 :]/,0,  8ɯ=))))o( ͳYESͳNO ͦʳ~# ͦ ͭ[R( ͳEnabled[R(ͤͳDisabledͭA>H]äͳ Routine [(D)isable), (S)et] : D(+S ͵Enter Address of Routine : !*7ͳ Routine [(D)isable), (E)nable] : D(E *nfͳ *** ERROR: DOS is not ZSDOS or ZDDOS! ÔG:SxV#^# V#^# ~#(( ( ]*****V~( ɯ[(,*~%-22%( \ ]uD(d2(Y3(Q.(H+(0>(R(I(]>2>2O0G]:2  d 0: 0:0:O: 0i0a08z0 A]~( #\ ~#]zO*|y(+ O~ >GC I "|("|(~!8 s#r#͛ !s#r#~#\ #(î*|(~"|>Z (*>O>G>Z |!~#~3ENV> ]> ]. 2:g=|L}L̀]̈́]. cO:gpa{_Ɛ'@'A]~( #\ ~#]zO*|y(+ O~ >GC I "|("|(~!8 s#r#͛ !s#r#~#\ #(î*|(~"|>Z (*>O>G>Z |:0A0A0600C39BE44CE74CE74CE74CBF :100A1000E7F1F100006DDDF1DDF1DDF1DDF1DDF19A :100A2000DDF1DDF1000000000000000000008000AA :100A300000000000000000000000000000000000B6 :100A400000000000000000000000000000000000A6 :100A50000000000000000000000000000000000096 :100A60000000005A53444F5320312E3120436F7001 :100A70007972696768742028632920313938372CE6 :100A800038382020432E572E436F7472696C6C20C7 :100A90002620482E462E426F776572AF476F672239 :100AA0004CE4224EE4ED7361E4319BE4DDE5D5DDF9 :100AB000E1DD225DE4DD225FE421E6E7E579324B0A :100AC000E4FE0C380DFE31380DFE62D8FE68D0D63B :100AD000314F21BBE8E521E2E409097E23666F4B33 :100AE0007BE9CAE750E564E615F212F20FF25AE527 :100AF00091E58EE5D5E695E5B7E6CFE80AE87AE92F :100B0000B4EEA8EB6EE895E8A5E8BEEFFFEF02EFC4 :100B1000B0E8E8E8B8E833ECE4E803EBDCE8C7E881 :100B2000ECE8FBE8B4EFF4EF07E90FE91AE8BEE8F8 :100B3000E0E8F4EFBEE8BEE8BEE8BEE8F7E8BEE8ED :100B4000F0E8D8E8D7F1D4F1C2E8BFE8A4F1A4F105 :100B5000CD75E5D8E5CD64E6E1C91C28141C28064E :100B60001C2812C30CF23A29E4B73E01CC06F2A7C6 :100B7000C9CD66E5C82129E47E3600B7CC09F2FE6E :100B80000DC8FE0AC8FE09C8FE08C8FE20C9320307 :100B9000003A0300C93A26E43227E413AF1213D512 :100BA000CD75E5D1219FE5E52A5DE44E23FE0D28B4 :100BB00002FE0ACA4EE6FE7F2804FE0820367EA703 :100BC000C81B35D54623EB2126E44E237E2B770424 :100BD00018051ACD93E61310F979964771D1D50E01 :100BE00008C5CD0CF20E20CD0CF23E08CD64E6C156 :100BF00010EDD1C9FE152804FE18200AAFB6C8E5CD :100C0000CDC1E5E118F6FE122024E5CDD2E621267D :100C1000E4360023463E20041803CD64E610FBE1D1 :100C20004623EB0418051ACD53E61310F9C9FE103C :100C300020072128E47E2F77C912E5CD53E6E13461 :100C40007EB9280A3D1A13C0FE03C0C3CAE7E13EBD :100C50000D1811FE20300DFE09280DF53E5ECD77F2 :100C6000E6F1C640FE09200F3E20CD77E63A26E4A5 :100C7000E60720F43E09C9C5D54FC5CDB7E6C1C5C5 :100C8000CD0CF2C1C53A28E4B7C40FF2C179D1C185 :100C90002126E434FE7F2815FE20D0FE092811FE0F :100CA00008280A34FE0A2805FE0DC036023535C96B :100CB0003E0786E6F877C9CD66E5C8CD75E5FE1333 :100CC000200ACD09F2FE0320EEC3CAE73229E43E32 :100CD00001C91149E71AFE24C813CD64E618F601CC :100CE0006400CDEDE60E0ACDEDE601010116FF141C :100CF0009130FC81F57AB02807477AC630CD54E5AB :100D0000F1C94368616E676564244261642053657C :100D100063746F72244E6F2044726976652446694D :100D20006C6520572F50245A53444F5320657272DC :100D30006F72206F6E20240D0A43616C6C3A202480 :100D4000202046696C653A20240D0A243A5CE44F61 :100D50000F385CC5D5CDD2E61127E7CDD5E63A2BC5 :100D6000E4C641CD64E6113DE7CDD5E6D1CDD5E66B :100D70001137E7CDD5E63A4BE4CDDFE63A4EE4A7AE :100D80002829C1C5DDE53A4BE4FE132004CDF1EA84 :100D9000E31140E7CDD5E6E1060B233E03B83E2E36 :100DA000CC54E57EE67FCD54E510EFCDD2E6C13ED2 :100DB0000490200D212CE47E2BBE2805C5CD81E9B1 :100DC000C1CB4920183E01903005AF325CE4C7CD5D :100DD00071E5A720FACD75E5FE03C018ED7867A789 :100DE000C82EFF224CE43A4EE4B7280C3A2DE4DD3D :100DF00077003A2CE4CD81E9ED7B61E4DD2A99E4CA :100E00002A4CE4ED5B5FE47D44C9218000222EE49E :100E1000CD37ECAF322BE411FFFFCD5DE83A15E49E :100E2000CB57200621FCF1CD66E83A4BE4FE0D21BC :100E3000FEF1C466E82AFEF1CD58EAEB21F8F1CDC7 :100E400066E83A2BE4F5000000F1CD81E93A57E479 :100E50001869237E2BD624C03D3257E4C97B2F5F0F :100E60007A2F5721FAF17BA677237AA677C9CD1F6F :100E7000E9DD7E00D63F280DDD7E0EFE3F2804DD35 :100E8000360E003E0FCDF3EC2A34E4018000ED5B1A :100E90002EE4EDB0C9DD2A58E4DD225DE4CD1FE982 :100EA000CD0AED18E3CD1FE9CD6DEC3A5AE4180BED :100EB000CD1FE9CDD7ED18F33A2BE4324CE4C9321B :100EC00015E43A15E418F4CD1FE9CD02EE18DC2143 :100ED0002200ED535FE4181B211153DD2AFCF1DDE4 :100EE0002AFEF1DD2A3AE4DD2AFAF1DD2A36E4DDD4 :100EF0002A2EE4224CE4C9325CE4C9212AE43C7E77 :100F000028B97BE61F77C9CD2DE9CD2BEE189C21A2 :100F10002000CD7FF1DD7221DD7122DD7023C93A21 :100F20005CE4A720082A5DE4010D0009773EFF324A :100F30004EE43A2BE45F2A5DE47E322DE4FE3F2846 :100F400039DDE5DD2A5DE4E60FE528025E1DCD7A98 :100F5000E9E1DD7E0DCB7F20073A2AE41802DDE5CA :100F6000DD2A5DE4E61FDD7700F680DD770DDDE14B :100F7000C92A0BE406041115E7E93A2BE4322CE404 :100F80007B2AFAF1E60F47C461EAEB212BE4CB435D :100F90002802BEC877D54FCD1BF27CB528D31130BF :100FA000E4010200EDB02232E40E06091134E40E31 :100FB00008EDB02A36E40E0FEDB0D1CB43C0CD47DB :100FC000EAEB2AFAF1CD58EA22FAF13A15E4CB5FBE :100FD000282A2A47E47CB54F2AFEF17BA56F7AA424 :100FE000B53EFF28013C47B1C8AF676FB0280A790A :100FF000B720092AFEF1CD58EA22FEF12A41E4CDBC :101000005FEA444D2A3AE4E5545D13AF77EDB0E171 :10101000ED5B45E47323722A32E4772377CDFCEA53 :101020003EFFCD30EBCD1CEBCA4DE8CDF1EA7EFEA4 :10103000E528EDFE2128E9CD52E80E01CD83ECCD67 :1010400023EBD414EB18D9210000EB2101003A2B3B :10105000E4B72804293D20FC7AB4677BB56FC90644 :1010600003CB3CCB1D10FAC92A54E4CB3CCB1DCB9F :101070003CCB1D2252E4EB210000ED4B3CE43E1141 :10108000B7ED423F380209B7CB13CB123D2804ED30 :101090006A18EDE52A49E419444DCD1EF2C1ED5B15 :1010A00030E4CD30F2444DC321F2DD6E20CB153A51 :1010B00040E4DDA60C673A3EE44704CD61EA507D8A :1010C0002A5DE40E10094F093A42E4B75E2805098B :1010D0005E23562B7AB3C92100003A3EE447EB2940 :1010E000CB1310FBEB3A3FE4DDA620B35FC9CDACD8 :1010F000EC3A56E42A34E4856FD024C921FFFF225C :1011000054E4C92AFCF1CD4AEA22FCF1ED5B43E448 :101110002A32E42313722B73C9CDF1EC2A54E47CF8 :10112000A53CC92A32E4ED5B54E47B96237A9EC940 :101130004F2A54E4232254E4ED5B43E47B957A9CEC :1011400038BA7D0F0F0FE6603256E4C0C5CD68EAAD :10115000CD3DECCD95EBCD37ECC12A47E4ED5B52AC :10116000E4AFED52C8D82A34E4CDE0F1862A38E461 :10117000190C200277C9BEC83A15E4CB67060011E6 :1011800002E7C44CE7CD47EAEBCD5DE8CD35E8CDCD :10119000FCEAAF189BCD27F21803CD2AF2B7C80698 :1011A00001110AE72A09E4E9CD2DE9DDCB0E7EC065 :1011B000CDD8ECCD19EBC8CDEEEA01100009EB2A31 :1011C0005DE409EB4134351A2804BEC27AEF771387 :1011D0002310F211ECFF19DD7E0CBE3808772323B3 :1011E00023DD7E0F77CD08ECCDA6EF280DC50100DD :1011F00000CD9EEFCD19EBC1280BC5CD08EC2A1C04 :10120000E4CDB9F1C1C39EEFCDF1EA010B0009CBEA :10121000BEDDCB0BBE1800CDF1EA3E0DCDF7EA36B0 :1012200000CD68EA0EFFCD5AEBCD3DEC0E01CD9A14 :10123000EB1804ED532EE4ED4B2EE41804ED4B3483 :10124000E4C324F27BE6073C4FCB3ACB1BCB3ACB33 :101250001BCB3ACB1B472A3AE4197E0710FD41C944 :10126000C5CD44ECE6FED1B30F10FD77C9CDBDED81 :10127000CDEEEA36E5237ED62420033257E423CB95 :10128000BE0E00CDF1EA11100019435E2316003A9C :1012900042E4B728030556237AB3280DE5C52A4151 :1012A000E4B7ED52D460ECC1E110E0C9CDF1EA1130 :1012B000080019ED5B13E41AA72004CB7E2010234D :1012C000CB7E200BDDCB077EC83A15E4E602C02AB0 :1012D0000FE40603111EE7E9CDE5ECC00602112379 :1012E000E72A0DE4E92AFCF1CD4AEAED52C93E0CA9 :1012F000213E0F325BE43EFF325AE4DD2258E4CD5A :10130000FCEA2A47E47CB5C418F2AF676F2250E4C8 :10131000DDCB07BECD30EBCD1CEB280EED5B58E4EA :101320001AFEE52807D5CD23EBD1306BCDF1EA7E4F :10133000FE2128D60E003A5BE44778B7285F1AEE04 :101340003FE67F283B79B720223A15E41F301C2363 :1013500023CB7E2B2B28141AFEE5280FAEE67F2820 :10136000193EFF3251E4CDAFEE180F79FE0D280A79 :10137000FE0C1A2811AEE67F209013230C0518BA34 :101380003D3250E418F4AECD8CED18ECC5473A4030 :10139000E42FE61FA0C1C9CDFCEAC37AEF2A50E4CE :1013A0007CA520D4CD23EBD414EB2A52E4225FE4B5 :1013B0003A54E4E603324CE4AF325AE4C9CDD8ECF7 :1013C000CDEEECCD1CEBE1C8E5E521CFEDE3E9CDB9 :1013D00017ECCD0AED18ECCDBDEDCDACEC2A5DE4FB :1013E00011100019EBCDF1EA2323CBBE2B2B060BFA :1013F00023131AE67FFE3F20017E17CB161F7710BE :10140000EFC9CDBDEDDDE5D1CDF1EA060B23133EED :1014100004B8200EE52A13E47EE1A72005CB7EC2A6 :10142000CFEC1ACB1617CB1E10E3C901000051CD2B :1014300015E9CDEEECCD1CEBC8CDF1EAEB210F00A8 :10144000CD7FF17ADD962179DD9E2278DD9E23D451 :1014500015E9CD0AED18DECD19EBC03A15E4CB6FD6 :10146000C82A11E47CB5C87E23B7CA97EDE67FFE93 :101470002420043A2CE43C3DE5CD81E9E17E23E6DD :101480007FFE2420033A2AE4E61FE5CD5EE9CD196C :10149000EBE128D3E5CDF1EA110A0019CB7E3A152C :1014A000E41717E1380228BF3A2BE43C322DE4DD83 :1014B000CB07FEC9CD1FE9DD360E00CD57EECD1CA2 :1014C000EBC8DD7E07F5DD7E0CF5CDF1EA7EF6801A :1014D000DDE5D1012000EDB0DD770DCD7AF1DD46FF :1014E0000CDD4E0FF1DD770CB828040E00CB19DDB2 :1014F000710FF1DDCB071617DDCB071E2A18E4C3E9 :10150000B9F1CD1FE9DD360E00CDD8EC2A5DE47EC1 :10151000F536E53E01CDF3ECF1DD7700CD1CEBC8EF :101520002A5DE4CD52E8110F00190611AF772310A0 :10153000FCDDCB07BEDDCB0BBECDF1EADDE5D1EBAB :10154000012000EDB0CD17ECCD7AF12A1AE4C3B931 :10155000F1DDCB0E7E2008CDABEB3A4CE43CC8CDA0 :1015600085EF3813CD19EB20163A4FE4B72808CD94 :1015700009EFCD1CEB200BCD7AF13EFFC3BBE8CDCC :10158000C2EEAF18F7CDA6EFCB7037C00C79E61FCF :101590004F20070478E63F4737C8DD362000DD716D :1015A0000CDD700EA7C9DD4E0CDD460E79CD8CED3D :1015B000CBB8B0C9CD2DE9AFCDF6F02804C9CD2DFB :1015C000E9AF324FE4DD7E20FE802809DDBE0F3812 :1015D000073E0118A7CDE9EFCDAAEA28F4CDD7EA56 :1015E000CD7AEACD95EBC3E4F0CD51EF3A4CE4B7B8 :1015F000C8E118DDCD2DE93EFFCDF6F02804C9CDB8 :101600002DE93EFF324FE4CDD8ECDDCB097E200E34 :10161000CDC4EC2A13E47EA72007DDCB087EC2CF21 :10162000ECDDCB207EC4E9EFCDAAEAC2C3F0E579B8 :10163000B728043DCDC0EA626B7AB3280B1BE5D511 :10164000CD44EC1F3020D1E1ED4B41E47D917C98FD :10165000300E23D5E5EBCD44EC1F300AE1D118D98B :101660007AB320D518073717CD68ECD1E1E17AB30A :10167000287FDDCB0EBE733A42E4B7280223720EF8 :10168000023A3FE4DDA62028020E003A4BE4D628B9 :101690002033D52A34E40680772310FCCDD7EA3AEC :1016A0003FE447042FA35F0E02E5D5C5CD7AEACD0E :1016B0003DECC1C5CD9AEBC1D1E10E001C10EACDC5 :1016C00037ECD10E00DDCB0EBEC5CDD7EACD7AEA20 :1016D000C1CD9AEBDD7E20DDBE0F38083CDD770FF3 :1016E000DDCB0EBE3A4BE4FE14D8FE16D0DD34201E :1016F000C93E02C3BBE8324FE4DD7E2157CBBA17A7 :10170000DD7E2217F5E61F4FF117171717E60F4773 :10171000DD7E231E06FE04305C070707078047DDD9 :101720007220DD560ECB72200E79DDBE0C200878BB :10173000DDAE0EE63F2837CB7A200FD5C5CDABEB1B :10174000C1D11E033A4CE43C2827CD9EEFCDF1ECED :101750003A4CE43C20153A4FE41E043C2013CD09DA :10176000EF1E053A4CE43C28081803CDC2EEC382B4 :10177000EFDD360EC07B324CE4B7DDCB0EFEC9196F :101780007E210C0019577EE61FCB12CE001FCB1A0C :101790004F23237E0F0F0F0FF5E60347F1E6F0818D :1017A0004FD004C9CD1FE9CD19EB28312A1EE43AE8 :1017B0004BE4FE66280A2A20E4E5CDE5ECE1281D8D :1017C000CDA6EF20183A56E4ED5B34E40117ECE5C2 :1017D0002A2EE4C90E01210E002A16E4E5F6FFC9FF :1017E000067F862310FCC9000000000000000000F6 :1017F00000010000000000000000000000000000E8 :10322000005585AA0A000000000000000000000010 :10323000000000001209100901001001A8AAAAAAA2 :10324000AAAAAAAAAAAAAAAAAAAA8400204188402D :10325000000080044404200000022000104200000E :103260000420011000021020002000000190002026 :103270008408040000000022104810101002008092 :103280000000000000000000004080242189244943 :103290000081480004214080002082002041908865 :1032A0004480449040129244129000082000010093 :1032B00080040291842424241212204044442422B5 :1032C000001210008200121140000108080008914D :1032D000082200020141200091241004000020492E :1032E00042000882902400421200010000042020C5 :1032F0000000401012020221040400108000490066 :1033000022890448200288080084241101890004CD :1033100092488210480424020220000080044820C1 :1033200089040042080941040900000108800420C2 :10333000200002004140400000084204890420446B :1033400012824082004100010008000020010000BC :10335000080201924092848824101292800000009A :1033600010048000020092080400122208102008B5 :103370008020810001444020011000200000004016 :1033800012488040240000088024011242081242A2 :10339000820000000080400411008084244940081D :1033A00042022400812440000408000100040002BD :1033B0000820204002404200029008004000200106 :1033C0000000000000000080409004012120010165 :1033D0000000000040420211844804080000000080 :0000000000 033400012824082004100010008000020010000BC :10335000080201924092848824101292800000009A :1033600010048000020092080400122208102008B5 :103370008020810001444020011000200000004016 :1033800012488040240000088024011242081242A2 :10339000820000000080400411008084244940081D :1033A00042022400812440000408000100040002BD :1033B0000820204002404200029008004000200106 :1033C00000000000000000804} %=M~P5-Ȅ򘁇f*`Lu0ۺwCnm t6-Ȅb.fi3AR Gq`p qq t9M@H#yrWqLTiΰ lun[*U rFU, _5bl? Ğ!`Q O31{tܠ:Y$5*Ā8xZ 68YPns(P%zVYPKJ o] S0 @%@ Ch%.[K| o/%`@ۄ o- m fPÕY,(H|fp`;%YYR~C$d`H 8M^ Y!.QU]'@ eT'PcH7XgYL&|RsE1Y0 f!Y!kE [2ۂ =!ͺ@BL60f@ F(iTa%4/;BNVmSpˑ@(z 6GE _@5>/3kŌ@D]T=KObm (-؜<yhD4h?A _@(h klY#:;Yͮ/ ù@c*R>B5$ 42l{LmDz93j ŒC4Ms)HB03)o9 i;DcI +BLO) # 7@h(a6B @F4  <8.1Zۤl۪:` b 6i64YT#MٷTuR|uSKrX& 3o3#PٷT 5\̪'1UBm`4CKµ fV , )^2 vmqSLN?U0uS`ꖀ7N,fWi7EVdUS}"2D(3iBeJ/6, ok6X!J*ڰ ߀mfRxl(ꫀ "3$`FU\{BqLwdh+tkѰ8>o@Pin;V 説7DUtGY($0fVmmU-GY\$0RLdꊀ> ͠AADv`6!ۢ_誝7EW5* U.THʮ2D4x~.On`ݒͥVNDm n-ӈpGUpN  NRT?[V誮9Q@fנW t eq* V誮9Ӹn $UB@tXʖW5#+3CJd1@ |;I6|Za`2!h;VlV Y ͨαU fՀa QPY|P*TpԞ*)Zd+y["ͫ+* ھ D&] Ճ[1UL36`ͣ쪚; PEmRY !HڔP0:` q@R=?KC9jodl,:}2EUP)D Fm#jQ@qURUTsU0^2@ mfmpQ qY\!BCm fU][6lVa1?OvXX>w;,zrY EQ0N +eAmfmd3o3B3ki麖[ẞ(+62QPY* ū #[KX<Y~ :@`WYd(iY" Yg #~:`-nK6F63h;!~[c՛|AduՃt fנ'-Ӹ1p( txY`p]T`nCY|6` UW@Q|f0tfv@3j D * n,ff땢Ճ63kh0ku? V:C6…l2 xPfАmٵ4|a۰Fm WL8 ˘>O07d7Ft nvKt nǖm e m-Wo`fUxʧ7OP n8SoH[6 ۮ ͯ@*üڢ: vC0fQ}FK6*ͻ X$ 3n @;u?0xCu ?1/H[60cۀ b5bXmf@@pIu>&Uf@h'pOK1A/cg puOaXXP ET ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e!' ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2eͅ=͐!*,<+",<~ !9)9͐!x(*,<++> ##", *,<",<0 *.<#",2;!;2  :\G:;O(@G!~Yw#: +6. %0, :8 @, Gh 0:; , OY !n w+w+w+T]+y6.O3 !<5( > ͉3: ͉3ͼ45:;_ 9 :;( !;͒4ͳ ´7ñ[&!:͸&:; ʹ1-:\ -ͻ,<, y&ô7[&!z:͸&:; +ͦ,͐8**<#/  0  [*<"*<#͹y&ͧ7!9:] ͜&:;:; !;͒4ͳ ʹ7ͦ,*,<"0<*(<͹Ͱ0*, 2<, G!~Yw#!~/ #+ x9-, 2;#~W( A(N, 2;!";:;N(2;=2;:T2;:;= *X";>;!";2;2;=2;>:2, 3R,_A8[0 nˮ !ͅ)9!:͒4:` , 2;͹1ô79!;~/w!U'!;:;N(:U !;>2!R':R!;~(: Z(:;!; !;A2:W !V':<=:;N( :V!; !;G2g(O:;8>2;y2;g(!;0*2;=' 3ô7:;N(:<=Ĉ(!:͒4:<` (, ͚(!;<͠(1 3!;;~(6w>:G x!dGx( ͥ0x:;=!<4ͯ(75[, 4 - :U(R, (HR, ͅ4((8@ ):<)=ͅ=4 :;=ͰU+R,͙:; }+8 )ͭ+4))ͩ  h I+J)!<>?2<ͰU+R,* ~=!dg:<]0"0 442<ͯͅ(0[, R,(\7[, O+R,- :U(ͅJ)ͯ(07He, ͅJ)(O+O+@ R,( K!K!H)C[, ?7[, G!-(GͅK!+>4)R, G!77~, ͅH%*ͅ+C ͣ9ͣ4 ͣ8 :U(̈́[7͙0(G!yͰ07ͅR, ͩ7 (ͅR, ͅ7[, + (7R, ͅR,7K!K! {2N,:;R,(He, K!4 7e, K!J)(!<:;=G:;4 N,()H6Å*,<~ **<~> !,!,!,!,!, !,R,[,~ #,;:-.?!  J5ͧ4!;`4ͼ4\-2,*#^#VS,,r+s[,*#s#r*#s#r>2\1C>4- ï>0ɷ(%!\˶#˶<(!()% :A2;m4T]-O>: z+6.6:(#x2\y2;_ e+~08+:0'0_+~08:00W_+ 0}{2; }(~ (A8e_>8_+}(~ U#{<2\>:> +#(]2 ͋m47ɯ(H. (#>.w#ٯ#(6 (/  #͊.(w#~ #~/ #~( ͸. 2;!eB͟.F͟.J͟.N͟.:] (!. .,;:?*=?( #͸.2;ANW> +#(T] (#8/(0PY() 45 #( +N+F* |( N#Fxɯ2h2i2|2;/2;ͻ,< 7;,ͻ,/0!:;W K~ >-w(o :;(e/2;~ ~ (0˾> #wz ˾~ +~(8 2;"!n( ~ 8~ > #wz#`/L/2; -:\ -!] ˾#ʹ1?<fͻ,2N<:;(4!\ !\!;;,< §1;,_-8NS(JD(F-;,2;2h2|ͻ,-;,(H| 'c2}2~2ͻ,§1ͻ,'ͻ,< §12;2h2|ͻ,:N<= gͻ,<ʥ1xʝ1!!,(lw:;W <~ ~!8(" ( ( 2;~ >2;:; ~#ͻ,(͝1B!:w > (|0}00(6#ͻ,(͝1ͻ,<72i:a5!;͈4J2!;:;N :; !;2ͨ'I͉''':<=!;#(G2:a5ͧ4`4ü4:S(5!a'( ;4p9;4]͹19ͧ4 5y45:\@4:;O30 2y01y x40y04/(+`iF($:\# N:;(>/4#~ 4>:4!]~˿ (4#>.4!e~4#4>/4:;4ü4!S'w3;4]9:S!<:< :<2<:<_~# ~#GͿ3͉333:<, !;'(/;4:< 9I>2;f7:a 55J22;9;49:  52ͧ43*2ͧ4:<_8ͼ4:`!:Z4>2 <:`!:Z42 <: _4_:<_:S! 8HG(( 8_4{= (2@ͬ444>y (:;( <4{8:> >> :;02;:cGÅ>22{9@9>22!{98!:<=!{98@996:a!!; 2Z4: 37:<=:<=R,( :2;>2;!;!;65R,:;[, (Ͱ8<440:<:G:P:P:J:J:Y:e:OuoMemoryInvaliKeyI/ErrorNoFoundSyntaErrorCannoReformatNameReadWriteEraseLoadFindChangtoDirOptionsLengthColumnPageLineMacroRepeacoun([Q],0-9/*)Kenumbe([N/Q],0-9)Abandochanges(Y/N)Unchangedsave(Y/N) ChangedQFilsizeNNNNNMemorusedNNNNNFreeNNNNN [MenudisabledseManual] 'LCl ^Q ^O ^P ^KESCChg?WaitRdy^QTOP Pg INSvt hy AI DS MR PS BAK:_ !j;̓4 ô7:<, !>̓45%F (!? ((!A(!@ ̓4 9^csup^worrt^linup^delete^UNdelete^PPtcode ^down^worlf^lindnDEdeleft^reform^Pplacmark ^left^pagup^insert^deword^castoggle ^right^pagdn^insrCR^deline^L(^\rpfind (PRES^K/ESC^O^FOSUBMENUS) ^KBegiblock^KblocWrite^KLoanew^KNameEscMacrdef ^Kenblock^Kdeletblock^KSave ^KInfoEscstorkey ^KUnmarblk^KReafile^Ksave+load^KPrintEsc0..usky ^KCopblock^KFillist^Ksave+eXitEsc-TAtaback ^KmoVblock^KErasfile^KQuit Esc-Arrowshifscreen ^QgotBlock^Q::u` ` Φ``  ) V `  l V 6/6H7H76  1 N 1 h7h6` CΦ`HJJJJ h) ```ȅ8`,ύʨݝ `x(  CΦ`HJJJJ h) ```ȅ8`,ύ    !!@H@6  1 N 1 h7h6` CΦ`HJJJJ h) ```ȅ8`,ύʨݝ `x(  CΦ`HJJJJ h) ```ȅ8`,ύ} %=M~P5-Ȅ򘁇f*`Lu0ۺwCnm t6-Ȅb.fi3AR Gq`p qq t9M@H#yrWqLTiΰ lun[*U rFU, _5bl? Ğ!`Q O31{tܠ:Y$5*Ā8xZ 68YPns(P%zVYPKJ o] S0 @%@ Ch%.[K| o/%`@ۄ o- m fPÕY,(H|fp`;%YYR~C$d`H 8M^ Y!.QU]'@ eT'PcH7XgYL&|RsE1Y0 f!Y!kE [2ۂ =!ͺ@BL60f@ F(iTa%4/;BNVmSpˑ@(z 6GE _@5>/3kŌ@D]T=KObm (-؜<yhD4h?A _@(h klY#:;Yͮ/ ù@c*R>B5$ 42l{LmDz93j ŒC4Ms)HB03)o9 i;DcI +BLO) # 7@h(a6B @F4  <8.1Zۤl۪:` b 6i64YT#MٷTuR|uSKrX& 3o3#PٷT 5\̪'1UBm`4CKµ fV , )^2 vmqSLN?U0uS`ꖀ7N,fWi7EVdUS}"2D(3iBeJ/6, ok6X!J*ڰ ߀mfRxl(ꫀ "3$`FU\{BqLwdh+tkѰ8>o@Pin;V 説7DUtGY($0fVmmU-GY\$0RLdꊀ> ͠AADv`6!ۢ_誝7EW5* U.THʮ2D4x~.On`ݒͥVNDm n-ӈpGUpN  NRT?[V誮9Q@fנW t eq* V誮9Ӹn $UB@tXʖW5#+3CJd1@ |;I6|Za`2!h;VlV Y ͨαU fՀa QPY|P*TpԞ*)Zd+y["ͫ+* ھ D&] Ճ[1UL36`ͣ쪚; PEmRY !HڔP0:` q@R=?KC9jodl,:}2EUP)D Fm#jQ@qURUTsU0^2@ mfmpQ qY\!BCm fU][6lVa1?OvXX>w;,zrY EQ0N +eAmfmd3o3B3ki麖[ẞ(+62QPY* ū #[KX<Y~ :@`WYd(iY" Yg #~:`-nK6F63h;!~[c՛|AduՃt fנ'-Ӹ1p( txY`p]T`nCY|6` UW@Q|f0tfv@3j D * n,ff땢Ճ63kh0ku? V:C6…l2 xPfАmٵ4|a۰Fm WL8 ˘>O07d7Ft nvKt nǖm e m-Wo`fUxʧ7OP n8SoH[6 ۮ ͯ@*üڢ: vC0fQ}FK6*ͻ X$ 3n @;u?0xCu ?1/H[60cۀ b5bXmf@@pIu>&Uf@h'pOK1A/cg puOaXXP ET ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e!' ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e+0$0bU^,maנUP>)D Fm#jQ@qURUTsU0^2@ mfmpQ qY\!BCm fU][6lVa1?OvXX>w;,zrY EQ0N +eAmfmd3o3B3ki麖[ẞ(+62QPY* ū #[KX<Y~ :@`WYd(iY" Yg #~:`-nK6F63h;!~[c՛|AduՃt fנ'-Ӹ1p( txY`p]T`nCY|6` UW@Q|f0tfv@3j D * n,ff땢Ճ63kh0ku? V:C6…l2 xPfАmٵ4|a۰Fm WL8 ˘>O07d7Ft nvKt nǖm e m-Wo`fUxʧ7OP n8SoH[6 ۮ ͯ@*üڢ: vC0fQ}FK6*ͻ X$ 3n @;u?0xCu ?1/H[60cۀ b5bXmf@@pIu>&Uf@h'pOK1A/cg puOaXXP ET ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz\. vF?ӐV2Bq庾ЀbmX;`P'fmT*: @fАuS@`͸AL;L[Y`$2~e,4Ox<s3Oh,> ͣ ⁈X( yB"6-@ rp$,{? cF~2e!' ;mS8^/NV^!f٠v Em7h X9|fpfmz`l;t n@wY`ꥀ?Y#݂ xt!+AvDz(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE) COPYRIGHT (C) 1979, DIGITAL RESEARCH, PIP VERS 1.5$$$ SUB =.:,<> _[]INPIRDPTRUR1UR2RDROUTLPTUL1PRNLSTPTPUP1UP2PUNTTYCRTUC1CONNULEOFDISK READ ERROR$DISK WRITE ERROR$VERIFY ERROR$NOT A CHARACTER SINK$READER STOPPING $NOT A CHARACTER SOURCE$ABORTED$BAD PARAMETER$INVALID USER NUMBER$RECORD TOO LONG$INVALID DIGIT$END OF FILE, CTL-Z?$CHECKSUM ERROR$CORRECT ERROR, TYPE RETURN OR CTL-Z$INVALID FORMAT$HEX$$$$NO DIRECTORY SPACE$NO FILE$COM$START NOT FOUND$QUIT NOT FOUND$CANNOT CLOSE DESTINATION FILE$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$$$$$$$NOT FOUND$COPYING -$REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.$UNRECOGNIZED DESTINATION$CANNOT WRITE$INVALID PIP FORMAT$CANNOT READ$INVALID SEPARATOR$1 :2L> ̈́M9 221@:2!o6+6+6!6#6!6#6:G*o .!N6:^*M^!K6!6!6+6' :$::=2K  :ʤ\:ҷ\x'Ͳ:!\͢  :͈'! Ͳ:$: $͈Ͳ!N6' :!Cwͯ !6:^͢c!6{:/>!/H{ͯ :<2Š ::=HҮͯ !6:Ҿ:2 !6::/H͈;!6:> !/>HHͯ :!^w:<2:0}:@E}:!S!W6: z!]6:cm!c6:_z!_6l ::,: HHҰͯ : 2ó:E:1:2v!q!*8!*6: >ͦ>ͦ!q:_  !p+q.*   !q*&!p+q*2!p+q*2!p+q*22!p+q*!p+q*!p+q*!p+q*2!p+q*!p+q* !q*& *M *M !p+q*!!p+q*"!p+q*$!6  !kp+q*j> >ڪ Þ !qp+q/ *pDM9: :M2r:N!r !:r *r& N!r4 !6:͔: :ͳ.!ws+p+q+p+q:w=2wN *s*u w*s#"s*u#"u' !"*M^7 !x6:!xھ **DM͆ 2yʭ :yʗ ͯ *"*6:2x÷ *"!x4d !"/ !j}=2| !"*KM^'_ !z6:|!z1 * "}*}DM͆ ' ͯ *"!z4 :e !"͆ !z6:|!z '? 2*H#"H!{6:{ր!Ң *{& :{4 2!{4m *":ڹ ͯ !z4I '2!"!q: !4>!S :S! :2*M! ^#V͎ * :w*#" = = = = = ͯ  *M !6q  !6q  !q  *& !6à  !6 à  !60à  *& !6  !6  !6  *& . 1 4 7 : = F P [ f q  :2!q: " *M n :c4 *M n :2!c:Q !c:2: !:cw>!n !5 Y : { !6!q:!lwҙ  â :0O !q:O| :O| !6:]2l:o'2o:n'2n:m'2m*mMͣ *nMͣ *oMͣ :]:   *}2D" * * *&"!q:UY: Y:ҩ: ʩ:_2ʘ:€!6<:<2!ژ!6 >!]Ҥ; !6:Q::H: !6*M : !6!q:a/>z!/H:_2:!q:A/>Z!/H8: 2::=O>m:W!Q} Hmd>9>!6:2*M!E ^#V͎ڗO **~2*#"m2m͖ 2m!6m!6m!6 m2mͯ m!62m!62m!62m!62m'2:2:TҒ:2!6*ME:2::^Ҳ:<22ý: 2:} >ͯ :i:2:d*M:[ *M:>!(:=2%> >>!F!5+N! ~2!4<2T>>!b}*bMͭz!b~26!~6<+wé>!`ҥ*`MͭҞ!`6!6> :é:(!q:!wO! ~2*& :w>!:!4!6>:N<2N!> *N& N2 !p+q!6!6+6 !6: S: M!6g8:N2M*M8p!6!6!6>!ڕ*&P 6!4z!6!6#6#6!6*M8:ھ:*͇g2ê::¿::,͡A<2O>*M8):[ͱ!N5!6ñ:5!6#6>!ڰ!6:<2O>/:!O!T *M͡H~K:¡!6[–ͱ!N5:2:2!4=:[¼ͱ4:!6:.2O8: :* ͇g:[ ͱ!N5!6:%:<2*6 * 6å!q!6> !d*&I :]>!4A>:<2O* :w:?†!6!q!6?!:ҠgÐ!q*&*~!6:22: :]Hں:A2O>: 2ͯ ÷:S:QHI:N<22: H@"2Í202O> c!6Í202O> ڍ*&O*& !sc*&P :w:·>!ұͯ :22:_!6=!6>'!E!4!p+q*0 !r+s+p+q*~$7*>*>H&>*#"*#"> 2:^R͎:!6!6=2:ʙ!6:“H9Ž>!6-e!6ͻ2=2ʺ-é:>>"ͻ2:!!5ͻ2ͬ!\-:>>!p+q:,!6*DM9:<!6:z 2W!6D*&L :w:<2Ov*:>=20O> ڒ:0:AO>Ҥ::A }}Hͬ!wͻO`idͻV[2O>2:!X!6:!:=O!L NE!4 E E:/.*&L 6$L9k9.Xͯ *KM^020 :020:121'ͳ':²ͯ !G6!"!"7 *M^n/ :a/:H!6:ͯ !&62*">!b!ͯ >!`0ͯ !q:E:24J!46*}a!44EJ *KM^'́:‚ͯ !36'n::0:f9OY#9.3'ͳ.:020' 'ͳ'7 6'!j>A+!s!"@͓1!"<**"͓n "Dn"":!Q2҂:X!Wғä:ڤ*MEÓ:ұ@@:O2Mc;!6#6>!)*&P ~"::H:H:H:H"!6!4:_jYO jM*"S*" 3@bl*M1͓!""7 *M^͆ \͔!":͎H*#"ͧÝ/ :>͛9ͯ .*#":_!' !'6!36' :1/!aE*#">z?C9IͲÁ.!6> !ڇ*&' ~2 ʀ: y.*M!4Q>!қ:=2á:2:Ҭ\>!ҿ:=2K:2K!:!:K\: \!p+q͈*DM!  ::=H-\:N2O_og_{ozg^#V))) _{ozg^#V) d^#V|g}o n_{ozgO{ozgi`N#Fogo&og H ©=¨' !'6!36' :1/!aE*#">z?C9IͲÁ.!6> !ڇ*&' ~2 ʀ: y.*M!4Q>!қ:=2á:2:Ҭ\>!ҿ:=2K:2K!:!:K\: \!p+q͈*F006 CBIOS 0080 ENVTYP EBF4 EXPATH 0005 EXPATHS DD00 RCP 0012 RCPS D700 IOP 000C IOPS E600 FCP 0005 FCPS E880 Z3NDIR 0015 Z3NDIRS EC00 Z3CL 00CB Z3CLS EA80 Z3ENV 0002 Z3ENVS EA00 SHSTK 0004 SHSTKS 0020 SHSIZE EB80 Z3MSG EBD0 EXTFCB ECD0 EXTSTK 0000 QUIET EBFF Z3WHL 0006 SPEED 0006 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FF3F DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 C000 CCP 0010 CCPS C800 DOS 001C DOSS D600 BIO 0000 PUBDRV 0000 PUBUSR IRS EC00 Z3CL 00CB Z3CLS EA80 Z3ENV 0002 Z3ENVS EA00 SHSTK 0004 SHSTKS 0020 SHSIZE EB80 Z3MSG EBD0 EXTFCB ECD0 EXTSTK 0000 QUIET EBFF Z3WHL 0006 SPEED 0006 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FF3F DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 C000 CCP 0010 CCPS C800 DOS 001C DOSS Z3ENV ˀ P?PB:SH VAR LDTIM COMPSsZ1Z>2ͮ ZSDOS Time Stamp Loader, Ver 1.1 Copyright (C) 1988 by H.F.Bower / C.W.Cotrill *>O>G>Z !~ #~ S,z(!~(!CF+N++V+^`i:gK W.B.".S0!~##~#/~/9ͮ Purpose: Load a ZSDOS Time Stamp module and patch in place. Set Stamping method & Clock type with SETUPZST. Usage : Name <-- Load the module contained Name /L <-- List the installed module Name /R <-- Remove the installed module ͮ This is: !ʹL Zͮ The Installed module is : ( (; ͮ- Empty -/ͮ- Not removable -R -ͮ Removing : (A;hͮ ++ Bad optionͮ...aborting;0:  :(pͮ ++ Incorrect DOS or Version Numberͮ ++{Z%ͮ ++ Can't remove the current clock!*| *0[}|8[ R"j*#|j[,!~:!N#F! MD##f.R8*K Rfͮ ++ Not enough space in NZCOM User Area Clock requires +|}ͮH bytes of user space. (ͮ ++ NZ-COM Not Present...Can't loadC(PAͮ +++ ;ͮ - Loaded, Replace it (Y/[N])? : _Y(K! [ ! {(} N#0 V+^ s#r#! [K ! ^#V! !*[8*ͮ ++Clock not working ...aborting !7*|(###!ʹͮ ...loaded at *|}Hͮ Clock is : !ʹ[,K3ENVʹ~#_^#Vʹ  Ɛ'@'_*.$^#V}|(2*5%w+w+V+^+r+s͊*  2f"&o~>2f"C:S$G3|g}(l/R8!fwE? YW)0ͽ -WG*$[:: (ͽw* >>/W:;_ 6#J<H= *$#w*5 ͉'1 *5N#F{DcP>2>()<2 ~O#  J`i3r+s$!y(=^w>U@   H   @@@ @!  2f"C:S$G3|g}(l/R8!fwE? YW)0ͽ -WG*$[:: (ͽw* >>/W:;_ 6#J<H= *$#w*5 ͉'1 *5N#F{DcP>2>()<2 ~O#  J`i3r+s$!y(=^w>U@   H t !9~#fo+s#r!d ʶ!9~#fo##s#r^#V^!-) ʶ!9^#V^#V#!9s#rj!9~#fo#s#r+!9^#V~ʳ!9^#V^é!9^#V^! !!9s#rðh Y!9^#V!8 !! ! !3 !ͻ!@ !9s#rz!b !ͻ!9^#V^#V!9q,!!9,!9͞ ! 9!9!9!@!9a! 9!9s#r!) ʄ!9! !ͻ!!9͘!9s#r!9^#V!) !9! !ͻ!!9s#r!9~#fo#s#r+!9^#V!9~#foc !!9^#V! !9x!9s#r!) G!9^#V! !9! !ͻ!9^#V! !9! !!9^#V))!98.^.!9^#V$!9ͩ.¤! !ͻ!9!9^#V)!9^#V͜1#.0K.!98.ͩ.ʶ!98.#.@͐1!@!9s#r!91.@͊.8. /K.9!98.ͽ1!9s#r!91.K.!9^#V!9^#V!9^#V͝!9~#fo8 v! !ͻ!9^#V!9^#V!9^#V͌ !9~#fo8 ʳ!8 !ͻ!9^#V͎!_ !9^#V͎Illegal Option: '%c' delbr v%s 1.1 6-Jun-84 AztecUsage: delbr filename(.LBR assumed) Strip all files from a "Novosielski" archive. Not enough memory. ALLOC returned NULL .lbrTrouble getting directory from %s Cannot open %s. Cannot create %s. Extracting: %-12s Error seeking this entry - aborting. Error reading this entry - aborting. Error writing this entry - aborting. !l !49^#V% !9s#rzˆ!!!9^#Vn !9^#V!9s#r!9^#V- !9~#fo))!9s#r!!9^#Vn !! 9s#r!! 9s#r! 9~#fo#s#r+! 9^#V!9~#foc W ! 9^#V!49~#foc W !9^#V\!!9^#Vn !!(9s#r!!*9s#rÆ!*9~#fo#s#r+!*9^#V!I !9^#V !,9s#r!,9^#V-!,9s#r!,9^#V! 8 !,9^#V!*9~#fo#s#r+!9su!.!*9~#fo#s#r+!9s!!*9s#r4!*9~#fo#s#r+!*9^#V!I ʦ!9^#V !,9s#r!,9^#V-!,9s#r!,9^#V! 8 ʣ!,9^#V!*9~#fo#s#r+!9s#!!*9^#V!9s!9͞ !9!&9s#r!&9~#fo#s#r+!&9^#V~; !&9^#V^!;) * !&9^#V^!*) * !&9^#V^! c 8 !.!(9^#Vs!9! 9^#V! !89~#foq,!9!9^#Vͪ1K.!9!9^#V- ͪ1͊.8.5/K.!91.͊.8.0K.! 9^#V))!89~#fo!98.K.!9^#V!9s#r!9^#V- !9~#fo s#r!9^#V! 9^#V)!<9~#fos#r!!9^#Vn ! 9~#fo#s#r+!9^#Vͅ! 9^#Vr ! 9~#fo+s#r#d ʝ !9^#Vs õ !9~#fo#s#r!9^#V~ !9^#V^ͳ-! 9^#Vsæ |g}o|/g}/o^#V#DM!99`i |z21͎ :1 }ͧ }}3 |B !}B |3 !}|[ }|?>o&zo&|u }|>o&|o&z21͎ :1 || /g}/o#z /W{/_ç DM!>21))Һ #}o|g :1=21² }:1=21² }DM!>)) = }}/o|/g#}|B 3 |g}o{_: | |7g}o {_: )5 }}o|gN#F# N#F#z^ {b ##^#VBK^#Vz #yʂ ###p #x} #~#fo}|>?o&}|>o&{_: |g}o² |g}o~# x !91~# ! |ɧ ! 9! 9^#V! %& !Z3! 9^#V͸ !O3DM`i~S `i DM3͏ P !/ ! 9^#V#^!+) !9s#r! 9^#V^V!9~#ʌ !Ï !! 9^#V͘! s!) ʰ !i!9~# ! ! ! 9^#V͘! s!) !i!9~#!! ! 9^#V͘! s!) *!!1.^.! ^$!9i!"E3!h r| w a L!! s! ^)))3^#V!) ʓ!Ö!! s#r!`is#r! s#r! s#r`i !9N#F!PY DM`i ) ! 9^#V! ) !! 9^#V ! 9N#F! ^#V`i^#V͏ ! ^! :!!`in& s`i~#`v! ^#V! ^#V! ^͝!9s#r!I ʸ!9~#Ÿ!â!`in& s!! ^#V`is#r!9~#fo! s#r`i~#fo#s#r+^! ! 9N#F! ^#V`i^#V͏ #!9^#V! $!9^#V`i~#fo#s#r+s! !! 9^#V$ !O3DM`i3͝ ʄ`i DMͅd ! 9N#F!!9s#r`i~! ^! !$!9s#r! ^͎!9~#fo s#r! ^! *3! ^#Vs#r! ^#V"3!! s!9^#V ! 9N#F! ^! ʙ! ^#V`i^#V= !9s#r!9^#V! ^#V! ^͌ ) ʙ!`in& s!! 9^#V!) !`in& s!`is#r! s#r!`i~#v! ^#V!) !!9! ^͌ ) €! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in& s! 9^#V`i~#fo#s#r+s! ! 9N#F! ^#V!) ʡ`i! s#r*3|*3!9s#r*3^#V"3! ^#V^!9s#rz!! s#rÒ!`in& s!9^#V! s#r !9^#V###ͪ #!9s#r*1!9s#rzT!1!9s#r"1"1!"1!9^#V^#V! 9s#rÉ! 9^#V!9s#r! 9^#V^#V! 9s#r! 9^#V##^#V!9~#fo͏ H! 9^#V##^#V!9~#fo) ! 9^#V^#V! 9^#Vs#r1!9^#V! 9^#V##~#fo= s#r! 9^#V##^#V))! 9~#fos#r!9^#V! 9^#V##s#r!9^#V"1! 9^#V!! 9^#V*1) ʩ!9^#V))^!9s#rzx!!9^#V!9^#V##s#r!9^#V!ͭ*1! 9s#ri ! 9^#V!!9s#r*1!9s#r!9^#V^#V!9s#r!9^#V!9~#fo͞ !9^#V^#V!9^#V͝ `!9^#V^#V!9^#V͏ ]!9^#V!9~#fo͞ `!9^#V^#V!9^#V͝ `!9^#V^#V!9^#V##^#V))!9~#fo) !9^#V^#V##^#V!9^#V##~#fos#r!9^#V^#V^#V!9^#Vs#r!9^#V^#V!9^#Vs#r!9^#V##^#V))!9~#fo!9~#fo) T!9^#V##^#V!9^#V##~#fos#r!9^#V^#V!9^#Vs#rh!9^#V!9^#Vs#r!9^#V"1*ͅ{ ͏ *1DM*1o& ͭo& *1*+++*1DM*1!9N#F#^#Vkb6#> 6 #=>6#= : > AN[@aN{N`w# ./HUw#{o|g HUw#9!!|a{ !9^#V*1!9}|ڀ*1"1|! !d^"1|¢! ͻ!!!9-!:o& !9s!*1s#r!9!9s#r!|ʤ!9~#fo#s#r!9^#V^! ) &!9^#V^! ) )!9^#V~ʤ!9DM!9^#V~ʑ!9^#V^! 8 ʑ!9^#V^! 8 ʑ!9~#fo#s#r+^`i#DM+s<!`is!9*1*1!ͻ Z!9~#!%{A:$$$.SUB !"E3! ! *12H 2!9^#V͖,#^*1)*1s#rz:!ͻ!9^#V*1#"1+)*1^#Vq,con:CON:lst:LST:prn:PRN: ! 9^#V!! 9^#V͘ !3! 9s#r!!9s#r! 9~#fos#r!9~#fo#s#r!9^#V! c ! 9^#V!^#V!) ö!"E3!!84DM`iDM`i~#<!9^#V`i^#V8,<! ^#V!9s#r!9^#V! #!9s#r!9^#V! ʕ!9^#V^! 9^#Vsz•!"E3!!9^#V! !9^#V#^! 9^#V#sz!"E3!! ^#V! 9^#V!s#r!9^#V##^! 9^#V##s!9^#V###^! 9^#V###s!! 9^#V!s#r! 9^#V!9^#V!9^#V!9^#V!9^#V!^#V ! 9!c ʅ!! 9^#V!s#r!!9^#V !9^#V!c ³!9^#V! d ʽ!"E3!!9^#V)))3DM! ^#V! ^#V !9s#r!! s! s! s`is!! s#r!9^#V !1DM)`i&DM`i 3͝ D!% ^zN!!"E3!! 9^#Vi!"E3!! 9^#V! ʃ!͌!͌) ! 9^#V! ʹ!͌) !"E3!! 9^#V! ) !"E3!!!! s#r!# s!$ s`i!9^#V!s#r! 9^#V! #!% s! @!q!9^#V!s#rS!W!9^#V!s#r! !! 9^#V!%s! !9N#F!͌!!% s! ! !9^#V!c !9^#V! d !"E3!!9^#V)))3DM! 9^#V! 9^#V! ^#V`i^) 3^#V !DM!9^#V!9s#r!9^#V!$~ʂ!9^#V!$^!= DM!9~#fo͞ d!9^#VBK!9^#V! 9^#VEʂ!!9^#V`i= ͪ !9s#rz!9^#V!9^#V`i! 9^#V͒%!9s#rz!9^#V!9~#fo= - PY!9^#V!- PYDM`i!9~#fo͝ <!9^#V`i= !9^#V`i! 9^#VE<`i!9^#V !9N#F!!͌!!͌"E3|t!! 9^#V!$ ^!!9^#V-!$ ^! 9~#fo !$ sz`i!~#fo#s#r! !9N#F! 9~#fo+s#r!!9s#r`i#DM!9^#V!9~#foc ʃ ! 9^#V͌`is!9s#r!9^#V!) : !!9~#fo#s#r! 9^#V!) ʀ !9^#V! ) ʀ ! !͌! `isà !9^#V !9^#V!c ± !9^#V! d ʻ !"E3!!9^#V)))3DM! 9^#V! 9^#V! ^#V! ^)3^#V !DM!9^#V!9s#r!9^#V!$~s!!9^#V!$^!= DM!9~#fo͞ U!!9^#VBK!9^#V! 9^#V6"s!!!9^#V`i= ͪ !9s#rz!!9^#V!9^#V`i! 9^#V͚%!9s#rz!!9^#V!9~#fo= - PY!9^#V!- PYDM`i!9~#fo͝ -"!9^#V`i= !9^#V`i! 9^#V6"-"`i!9^#V !9N#F!!͌!!͌"E3) q"*E3) ʌ"!"E3!!! &Ø"*E3|ʘ"!! 9^#V! 9^#V!$ ^!-!"͌"E3|"!!$ ^! 9~#fo !$ sz#`i!~#fo#s#r! !9N#F!!9s#r/#!9~#fo#s#r!9^#V!9~#foc $`i#DM+^!9s#r! 9^#V#!9^#V! ) ʏ#! !͌*3#"3 o# #!9^#V! ) ʵ#! !͌!"3#!9^#V! H #*3#"3#!9^#V! ) #! !9^#V͌#h _##!9^#V!9^#V͌ #!9^#V !9^#V!c [$!9^#V! d [$!9^#V)))3^zi$!"E31.!9^#V)))3^#VBK!9^#V %!͌) ʩ$!"E31.!#͌!!$ s! 9!! ^#V͜1#.m/^.!$ ^ͪ1v..͊.8..K.%!"E31.h $$$$!!# s! 98.#.r1X%!!! s#r!$ s!"E31.! 98.ͽ1 !$ s! 98.#.͛/ͽ1!! s#r! 98. !ß% "*1!"1*1%*1!4%#4*1+"1} %o&"E3*1 !9!.9^#V!9!͌!9^#V#N#F#nx#&s# & !D9N#F!F9~#fo#s#r+^!>9s#rz*!>9^#V!%) *!!9s!!<9s#r! !:9s#r!!89s#r!F9^#V^!>9s#r!-) &!!<9s#r!F9~#fo#s#r+^!>9s#r!>9^#V!0) &!0!:9s#r!!69s#r!F9~#fo#s#r+^!>9s#r!0H L'!>9^#V!9I L'!69^#V! !>9~#fo!69s#r&!>9^#V!.) '!!89s#r!F9~#fo#s#r+^!>9s#r!0H '!>9^#V!9I '!89^#V! !>9~#fo!89s#rg'!>9^#V!d) '!29!J9~#fo##s#r++^#Vͪ1K.k(!>9^#V!l) H(!F9~#fo#s#r+^!>9s#r!29!J9~#fos#r8.K.k(!29!J9~#fo##s#r++^#V͜1K.!>9^#Vö)!9!!698.^.Z+!9!,9s#r)!298.#.r1(!9! !698.͙.^.*!9!,9s#r!-!.9~#fo+s#rs)!9! !698.^.*!9!,9s#r)!9! !698.^.Z+!9!,9s#r)!9!!698.^.Z+!9!,9s#r)!298.ͽ1!,9s#r͖,!09s#r)!298.ͽ1!>9s#r!>9^#V`i !H9~#fo++s#r1&h ov(d(u)x;)sa)c))!9!,9~#fo= !09s#r!09^#V!89~#fod *!89^#V!09s#r!<9~#K*!69~#fo+s#r#!09~#fod K*!:9^#V`i *!!.9s#rh*!.9~#fo#s#r!,9^#V~ʨ*!.9^#V!89~#foc ʨ*!,9~#fo#s#r+^`i Y*!<9~#*!69~#fo+s#r#!09~#fod *! `i ò**!>9^#V`i 1& ! 9N#F`iͪ1^.! 98.v. 0ͽ13^!9~#fo+s#rs!9`iͪ1͊.8./K.ͩ.+!9^#V !9N#F! 98.#.r1,! 98.ͽ1 !9s#r! 9! 98.#.͛/#. /K.`i ͪ1^.!98.v. 0ͽ1)!9~#fo3^!9~#fo+s#rs! 9`i ͪ1͊.8./K.!9^#V!98.^.*!9!9^#V#~#fox\,a,\,# H,!k,!}!}!9^#V#~#foxʓ,~ʓ,# Â,!9~#foʫ,#â,}!9^#V#^#V#N#FH,!9^#V#^#V#N#FÂ,!9^#V#~#foxʓ,~,# ,Â,!9^#v#^#V#N#F,!9^#V#n~0-6-##-!|!9^#V#nR-#I-x0- +~R-6-9~ ʇ- ʇ- ʇ-Ü-!9~Aڜ-[Ҝ-!}!9~aڜ-{ڇ-!!9~0ڜ-:Ҝ-Ç-!9~a-{- o&!9~A-[- o&! 9~G+~O!.+~W+~_+~+ng.{.x!.w# . x!.w+ .!*3<.!*3w#w#w#w*3~#~#~#~"-3*3V+^+V+^*-3"-3*3s#r#s#r*-3*3*3"3"3*3>w#Ÿ.*3~l1#®.a1=ɯ<*3*3###....ڻ.¿.+.*3*3#.*3*3#/*3*3#*/*3*3#?/*3*3#T/*3~/w#d/*3~?G*3^#V#~#fo))҉/#/DM*3s#r#q#p*3~?W*3###~/~w+²/®/7~w+//~#/O!93͜.*393/y273*3A3/:73273S093*3w#0:73.*393/y273*3A3/S0=3*3w#B0:73.!=3w#Y0> 283!93~w#j0O=3!A3#0yš0!934!835d0!8350!93~w#§0O=3!A3#º0yš0Î0=3!A3#0*3A3~#0*3=3~#0!93w#1> 283!93~w#1B193!A3#+1B161!8351*393w#Q1.l1!.a1!<.l1a1.l1l1a1.a1l1.a1a1l1*3s#r#6#6*3s#r#z16#6*3^#V4  ##0123456789abcdef/333Z3_3d3i3n3s3z40 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́A2E-PCPI Apple 2*=%+ %+ T)(} %=M~P5-Ȅ򘁇f*`Lu0ۺwCnm t6-Ȅb.fi3AR Gq`p qq t9M@H#yrWqLTiΰ lun[*U rFU, _5bl? Ğ!`Q O31{tܠ:Y$5*Ā8xZ 68YPns(P%zVYPKJ o] S0 @%@ Ch%.[K| o/%`@ۄ o- m fPÕY,(H|fp`;%YYR~C$d`H 8M^ Y!.QU]'@ eT'PcH7XgYL&|RsE1Y0 f!Y!kE [2ۂ =!ͺ@BL60f@ F(iTa%4/;BNVmSpˑ@(z 6GE _@5>/3kŌ@D]T=KObm (-؜<yhD4h?A _@(h klY#:;Yͮ/ ù@c*R>B5$ 42l{LmDz93j ŒC4Ms)HB03)o9 i;DcI +BLO) # 7@h(a6B @F4  <8.1Zۤl۪:` b 6i64YT#MٷTuR|uSKrX& 3o3#PٷT 5\̪'1UBm`4CKµ fV , )^2 vmqSLN?U0uS`ꖀ7N,fWi7EVdUS}"2D(3iBeJ/6, ok6X!J*ڰ ߀mfRxl(ꫀ "3$`FU\{BqLwdh+tkѰ8>o@Pin;V 説7DUtGY($0fVmmU-GY\$0RLdꊀ> ͠AADv`6!ۢ_誝7EW5* U.THʮ2D4x~.On`ݒͥVNDm n-ӈpGUpN  NRT?[V誮9Q@fנW t eq* V誮9Ӹn $UB@tXʖW5#+3CJd1@ |;I6|Za`2!h;VlV Y ͨαU fՀa QPY|P*TpԞ*)Zd+y["ͫ+* ھ D&] Ճ[1UL36`ͣ쪚; PEmRY !HڔP0:` q@R=?KC9jodl,:}2EUPC3>3:=0ںm!"1!9"1!9"*&###:O *="9*DM) "=r223223 "=}0;-m">_TmG*"!",=-Y -O<  WORK-LBR.$$$ NCF NOF LBR )ibrary lL membersNULU/s oryDiskUnDfile erroreleteress RETURN CRCreadunwritten datalRe runchKBrief entriesAbandonConsole put to be ing enameRWildcard specsqueezeFilesweep Extract drive/user to: ...ReplacedirectAddtoggleClose themodeGetHelpListOpen aPrintStrsearch/AddDrive/User changeViewopenExit inputoutputREADYNextPreviousCloseFindLog newMass operationsOpen newPrintTagUntagViewrExit command modeHelp! FJKMNSUVdktdisk fullcan't make filemedia changeddisk i/odisk r/ofile r/obad drivepassword existsambiguityfile table fullchecksumno memoryuser cancelsyntaxfile not foundincompatible cp/m versionbad decode table@5!9TYPE -H FOR HELP  *Q& < :*="8}:= ҏ>V}Ý͗1!N#>`; 6!R"/7>2Ryʹ:N2.' ùABORTED 2JIX*/7>$"} 2%$>2%ç V5\5 >Q6:=2RI9Clos_5\$r; M>D\>22J26V5}_5 changes?5 M52=/~-#~Gxʈ*6J! M5inreceived from :.>O͖):2-2*n}J: +ħ͎! M5outsent to ͎+3:.29V5>K͖)}ʰ2 $6S5_5P-}*/7\_-}M5Press ^C to stop͎+3:ȗ_-:J+ʏ*,͙/J:. -ʮM5Deleting: :.3.>P1jW-jJ*/7?EX*/7` > }ͣ%}8}M5Undeleting5&Y M5 M&͎&*6&*A&*&I/ͣ%"A&"6&R _5 can't be undeleted--name exists͵&t8~(C#>):s +6>29:2> ͋:2 2 ʞ ͎á !=͎+33!f3S5þ \͆3 !O T] 6.>=2 V5>2 ü _5 | ü r2:\C3:d=V5͟0V5C3×1e;>?!0@:29<2Rɗ2| JI"*=:E8 08:w !=*/7>(}*/7"*"!"J͟0!"S >O2( :J+ʄt8:J+$yu`i#""& 8 =5& s#r#6 #M&:=7s#r# 8 t8!"*S % V5! yu< "S ͡="c 2 ="t V5!u_5.>-6!&.I/"/7! 6> ͳ7>k2 _5 : k5Of7ABCDEFLMOPQRTUVWXYZ? ʗ y!n@:*S #% *S +}% *& á _5?5L *c õ M&M5Deleting: ͎&:M>O}>> }>õ&_5&L @= L _5ind what? ͭ&L O >*w#w#wͣ%L 5&ͷBK*ͭM5, , Print, , or View (DEPQV) Enter one: k52 Of7EQDPVL y M5Destination? &\-}L />::#6@ͷ< >D+  &I/"/7)  : Dʵ L _5 name: &ʡ "/7á EL _5&L @L _5&L @õ *ʝ >*"22 _5 Tagged = u>k  <> ß 7L M5Old: &L =<O`;"/7M5New: Å ͅ á }t8!"/7!"JL >!<6Ê7k5Of7LOXYZ?y?š Û  Menu>ͽ52 2>2v !c> 2 ͘No. 1u͘No open. 1ÄS5_5+ < !"2!#"<͡ =>»#N#F<*S ͡##~" # =*>::*/7"*="/7*&7!"/7s*>"#:56#"P-"›"*/72yl=2"!(\>_-r` ͣ%}>ʻ>+f'_-W-\r3!=3/.:>O͖)2}`i5&M&͈&>ͩ(u};!#"> -6_5--> foundu!"M5Now searching: 9 :͎s*O:( .2y2( f7':;BCFHKLXY>tyf7"JZ.:t.' .q5 }J͎+3:.G3N2Insert disk containxM5 and p}×9 :!>"/7">!{~6.> M5-:O:( Jf7ABCDEFGHKLNOPQRSTUVWXY<>?O!K8>8M,:>:}5_5:>>͛*/7:: +ʁ$'̂͊78 .!R&7"*/72>+:!+"}¦ 5!"!":-2f'Þ>Q6O*/7> w# _-:2.!3/!>/> o7d86 #!=>8>O2( .!͎͂6}":+@+:d2$6ERROR}S5>Ͱ>-6>3'ʂm'2 :closed. 2 $6M5CONOUT file _5JIX!=: -/\-ogr2G3O3<N2>}9$`i""85&C&#r;/8t8ͻ,!: -2|/ !=>83͎+31>ͽ5!/9 will be ked to >W}5>ͽ5V5͏!"2M&""b!3͋2"*,!"A͝"&!=":D,"*&}<_5 -Continue?5!}8+"=,M5 Copying: !#"2͵&#!r;"A$`;.M& s#r###"'5,>2#,>3>#,ʤ}*b"b*"2>MM*,DM!": -3>**,"-͝:x'*-DMx}: -3N'2J*!9_5 abortedreopenold>K2( */7!"/7"/7t8*}W*,DM*: -3>*\:|31: -3ͻ,!>::#>.o7͚2\_5 ked.t8E!"EV5ʹ͎` È!=È*/7\-Å !=:.!=/ Command Menu>ͽ522>-2>2v!c>?22S5@5_5 >ͽ5_5C3}:.323͗1͎+32R>+ʡ>ͻ,*=: -/N2Can't find M5Replace it and p}N2Ď+3h:( f7KOXM5NO LIBRARY OPEN ͎+3! !02J\22?2 _5 open. (Buffer size: *,* -<>ͺU}!=> o7\\5 not found. To make it, enter the number of to allow.!"M5 Pnow to abort making the. Allow how many: ~<͎#!> <6͂6ʏ}>N}<<DM!=M}Too many.Ï!="*/7>=:6#2;"J6 6> ͞576 6M5 S52pS5O>}>-6ÀV5>y,:#:p2pi:2V52"›͝"2;2=>8:*=͝>Q6*/7&7͊7~:P**6' : +ħV5ÝJEX*/7` *=<ʛ>$Å >O>R:M>O}ͻ,2M5 is READ-ONLY. Modify anyway?5T2Q2 <26>S}M5now O:O2O»>Ne5FF:2:( f7'":;BHIJLOUYZ<>>>?2( ͻ,: -*=/> o7-.' >> f7'":;ABCDEFGHJKLNOPQRSTUVWXYZ<>?*/7`I:2[2*/7` "}>2:2[2"͜W(}Æ:2*ʛ=>86P-}"*/7\_-}!->8 w<2yOyO}o|gg}!o þo=W>_8{zW:{z3:,>+*,*,w* -<+͓'̂/",+3Zz c gc :d= Gg>G:px2d> 2=u6&o:2M5ERROR u_5: }!6;!ʴ!NOK8V5unnamed!>{^)w# 6y~ʋ=#O!K8͒*:( f7VPS‚=N,Ã5w = cEE:@%7|  # 8 w G c i     P-}\_-@5\:..!=:>O͖)r3!DMͫ'f'W-_-©U„"K`i#><"<))"'d:>P͖)>2=ͬ<",K1dN'>M ͗12"M5Library: c+M5Name Index Size KiloBytes CRC2%>!ͣ%"=5&^M& y>ͽ5M5DIRECTORY >ͽ5V5͈&>5>5>5:=7>5>2=*&=6>0ͳ7"=*%* &>ͽ5M5Active sectors M5Unused M5Total <2%>ͽ5ç => 2=6> ó72:,2B՗ͣ%ʄ= 8=-Y2 \BKd/Y͎+3M5Extracting...>+:Y5&XbA< t8M5 M&*&.\_5 to '>7ͩ(š}k'2yʮ!=ͨ;͊7>6'ͩ(³b':B+D,*&}<>K}\-BK!=d/}N'\3!=>/>K:͖)c+}*!9:=f'͔&*,>ͺ*k'ͣ%M5Deleting...5&M&M5 ͎&yw =͵& R >͵&R *O&+" >2= *," ! #4A M5Active entries: *%u_5, Deleted: *&u_5, Free: *'u_5, Total: *O&u_5!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[%{$z7$#(Aʉ#ړ#($8lʋ$s#o$ (t # #w$͐#͚$*&| Ã$͓#͚$y*%|*%[%"%"%#_#o#g"&%͖#s#&#( o#- {=w$[%( [%=([%[%"%[%"%[%"%*%-( "%Og$g.y{$z!&~('6[%*%K%>Wʍ$S%"% "%2&*%w#"%:&+[%R}/>2%=>>> >>>[%!%{&!$& (#~# ~{$ !% ~#fo"%_ID__CCP__BDOS__BIOS__ENV__SSTK__MSG__FCB__MCL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}(((  Z3ENV!: 6#!" s 1 *" |2 ( ! N#FC #~2 !( D ZPATH v1.1 4 Jul 930|2 S {}2 * |(~( !B^#V*" : 8 ~#fo " >2 : .u (ZSDOS : 0 >. : 0 >) Ϳ: (: + $$" $" !" / #+/" \/(:  [ z($M\Q 2 \" C : ʩD: S[ >\=\" ~$(+A8cG: Ox0Z#~$((:(( 08D:0@#~[ * ~$(@#~#$(+8-: 2 ! wS u Syntax: ZPATH [/[Q][o=]] expr [/[Q][o=expr]] Options: C - ZCPR3 Path Spec Q - Quiet Mode* |(u D - ZSDOS Path Specu Examples: ZPATH <-- Display Path(s) ZPATH expr -or- ZPATH /C=expr <-- Set ZCPR Path ZPATH /Q expr -or- ZPATH /QC=expr <-- ..do it Quietly(Ru ZPATH /D=expr <-- Set ZSDOS Path ZPATH expr,/D=expr <-- Set Both PathsͿ{ D- No ZCPR3 Path -D- No Wheel -D- No DOS Path -~08 0Gy؇؁؇؀O#>: u --> , #~#(+͸( ~  #uNoname: u~#  ~͢8#~#͢0+>  (~(## #F#N>  0:8 A[877? ~(# ~ # =0x* |(^#V#~" |>Z <(*>O>G>Z8< |ZB!~#~3ENVͶ ͶOG{~#  (  ( ( ( }y/  ѷ>  >  &d& .,0g} |> (0G |O> a{_! o*o*8 j ## #F#N>  0:8 A[877? ~(# ~ # =0x* |(^#V#~" |>Z <(*>O>G>Z8< |ZB!~#~3ENVͶ ͶOG{~#  (  ( ( ( }y/  ѷ>  >  &d& .,0g} |> (0G |.ɗ2=>O͖)!"'"'"'}#"-͒*!~! #~ !2!#=͖):.2 ->͗<k}*, ~& y!:,!>Mf'!!f'>d9f'ͣ%:5&6@5V5M&͈&ͫ'"2"P-2`#<=_-"*,:#=,"$2%͜$>͜$_-#W-=ͨ;=$ƒ"!->.:#$ʃ"<"!"$#V5ͣ%"="$Ͷ$">O#R#͎&_5 already exists--not added.<":"R#$_5 not in library--not replaced<"=r34#$_5: Cannot add an 8 megabyte file!<""8$Ͷ$>ĵ&$5&_#M&"!$*8$~#_5No room for: $<û#*'}>f§#_5No directory space for: w#*$"!$*O&<##Ͷ$>ĵ&<"2`#}<">2%U’$Ͷ$#_5Replacing: $_5Adding: "$͵&!=>8ͨ;$ q#p###"n$$=͋2*,DM!"$>#,2v$:.3#,: -3r$ˆ$D,"<*!$>**$"$ʈ$G$!>͵&q#p$5&M&<ڟ$"$ß$!+}#M&=:..!$7LBR!=ã%ͣ%=-\d/%8M5Renaming...5&ʕ%M5 M&*&!=d/*6&*A&`iI/ͣ%"A&"6&u%._5 can't be renamed--new name exists%<2=._5 to ! `;.%%t8 <2&:.\-2.=!"&"%"%" &DM!#M&$&$&2%*&!\͙/&>&!#"%!"%&!#"&!" &%s#r#%"6&DM"A&y>U!}+"6&!^#V#"A&!2=~!'&<##&^#Vr+sw&+>ͬ<*,!'&<##&4!A < 9~3'd8#$'o=r+*+w*++}ʓ'*,#",ͻ,1f'U„ɗm'>m'>o=<ʃ'<|'͓'ͻ,?2ȗ2,͟,*,t8<*,DMͮ/ͻ,*,-`i",>ͩ()(Gy'_5---> !=6:(>ͽ5M5^C=abort,^X=next file,L=next line,=next page>ͽ5>2d(V5x)(U(ͩ((§(6:(͜5N :ʄ=>=2d(6{(:2d(Ü5k5f7 L{(!(@:((=((>f(>f(>N2()2)=,>:,25)!)"Y0")!";)*="#)*, " )>)ͺ/" )(t)*,<"-*=<>t(! 0")>2)!<~#" ):,2O)>+͒**, " )r+*+"#)>+)„>*,DM̀)w)r*})!c)#",*,<>Rڄ*, ~26*"*`i><>ͬ<"):,+*,:G~)#¸)>F:<+:* :8PY<)>ͺ<>ͬ<)>))>MDM<*BK=*,s#r`i" -!:6*=$r;;*-2 -3:=>͔.͟,%:, -*,8ͻ,!$ͥ::,+>2,* -DM*,!"-͒*Š=Ž*{>Ê=Ê=2*ҥ*"*"-`i"-*-}DM*-* -<>ͺ<>M<=*,ͻ,>*f3!318-n,*-DM*-<"-+"+`i"-BK*-*,ͻ,,+f3!313+ͻ,-|;=,*=*,f3ͻ,!",",31f3ͻ,: -.Æ=N=*,*,"+* -<"+^=3:,2+2 -2 - :Ҷ++3y+ʦ+*,~¦+! ~##~#~?2͋2wwwæ+:,ğ,2,̀,ȷ: -3:O*=ͥ:,8O ,8*,\$1:Ê=*,DM!"-*-ͷ:"-^=*-*,*,,O:,>Bɷ!+ ",!++ ",=",8 ",f3! -~#-r2#-w!D;ʹ1ʎ=#]3f3!D;1ʎ=]3#!"-*-#"-o=t--!-/"x-!--3!N2O+}ʔ-c2Æ-y!`O #-32.<r232.>::~.E8 # 6> 2=͂6.|.}*.2.͙7.@O:ڊ.+q# [.*?F..>. .;S..x. yS.x.F.w#i.x >?e.> Hͥ:ͥ:>?:|.>2=+:#>>d8#P.N2|2\5File exists-delete it?5>P1|2U|2Kʽ.2.͋2U„>M‚=|2!=/-ɗ.> !=/>::#o7-^=O> 2=r2@w#i&6d86:#r;>.r;# X/^;o=~> 2/#~?ʄ/?ƒ/>2/~=n/#PYr;>o= #~?ʩ/ž/`i>8 =<0"j0/ɗ/>t/o=!=0>0=20>K090K000>==20:020O! "A0O>b0ʜ0O>=2R0yO!q0##^#VzQ0y2O0zʋ0{/*A0<>ʜ0>Jo=r2@20@1_5Drive : Total *=T]*=#zW{_0+0:=0)=0u_5k, Used ͺ<<*=#t1W+}ʃ1i1zo1`i:=ʒ1)=14o=͆34o="͆3O4o=!͆3O4o=P.2͋22.2\5 R/O file, delete it?5ȗ2͆3<U4o=͆3<U4o=!f3͆3<U4o=͆3<U4o=ڄͰ3<4*= ^="=#͆3! =:=0r2: -: - -͎+:=0r2=×3!!s#r#6>323:3o= 23ʂ=^=23_ G:=0y!4x4!4|y| 5r;="4="4="4="4|K4}=!<`4DM)O4`ic4ͭ4+}j4#"z4#͵4ʑ4!<ʏ4ڏ4͵4y4!<ʢ4p4*z4ͭ4j4|g}o4:5A44444 :5741:Y_5No>N>ͽ5>2dV5_5V5e5 :q5;>';q52=:5~>5~>5#Ã5> o=O!F#~ʵ5ª5#N#5o=O!|F#~55#N#5 ~67w ~6w26:d> 5:2:2::2O:dҌ=,:/6*Y6++"Y6Q6##"Y6o=O:!>qJ=#6+ ^#r{N==6՗262;62=x6͊7 :=O+~0 ڴ6 66i&x;6O <66!64!=5£6<6>^="7:=O><}6{0:7!w#"76~T:#7+\7"d7>~M7K7#Q747\7y~f7 #Q7\7;d8o=O:y:T]#>8w7~;w#Œ7~ͤ7#Ù7;[҄Aڄo=27=>8=/O>ͥ:t;;27&=>U~;G;#=<)=7" 8!N#F# 2;!8 bk 78`;>8 2;V;2;`;:`;= xb8:#zP8<:ͽ÷:͊9ͻ8*=M9*9*<9>TDM#"9*9 w#s#r͊9="=9s#r692r9"c9͊9*9<>ڄ=#=͊99ʄ9"9=>}9<~9"e9P9!}!#~#¤9~ʯ9<#—9++~<29~>29bk"9<>=29!##"9>=M!" :>>';>N͌;> ^=;=~w#_:ͅ;^=_ Ҁ: q: ̀:::=b: {: †:>Ã:><2:W: ʢ:ڡ:Ғ:â: yͭ:2:;=6#Ͷ;Ͷ;O~:ʌ=#:<#:yN=*=:+}O|G=*#=O~;#;xN#‹=~ʋ=#;o=_@;#6;y"Q;=##!&=f;^=t; ;=+~;=~#͌;<=~=";####++=++=~w#ª;OyO}o|g;g}!o»;a{ շ<_2՗27<>)6<27V##"8=y7= !&=!"D=y @=wɵ"\=!="m=!="}=!=! <>՗27<>)6<27[=][/w:] [d:][=][/BDHMNT] Options: /w : Work drive(default is $current)$:) $ /B : Binary file(ignore EOF) /D : Delete members in archive /H : $High-speed$Normal$ mode /M : $Make memorandums $Don't make memorandums$ /N : No compression /T : Text file(stop at EOF) $Out of memory. $Copying: $SFX/EXE module $ Overwrite? (Y/N) $Base archive = $Archive file = $ (NEW) $ (ADD) $~( @_ͳ:ͳ#~!8_ͳ#.ͳ&~ 6P#6M#6A!~#O 6!\͈!K)͈:2)2')!~# (+\͡(  e~# (g=( /(A.K)͡(  T)~# ('/(.~#/(`8 A8Q0@2)2')~# (+"o):] jy!T)w:L) ʗ͸!K)FK)ͽ<Y(ʸ'͸!ew$͸!\F2\ͽ<4͸\<ʸ&2}2~222!2T]6~¸&\!"h"j\ͽ/:L) ("͸'͸Y(y\=͸'͸1(:L) !"y)"u)"w)%2G%2O!6W%w#͸ͬ ( !6F#&'͸>G%>%!6~%#[6K6%%{_0 zW0yO0x M%:u)( G>G>%'͸!]:0>_>Wr$s%, !͈2%22&2~)>2':2(:2})!T]6? *o)~#Q'!8+"o)͡~#Q'!8.(*(ͧ(*(>?ͧ  ͧ*(>?ͧ"q)"s) ~!8#/( =E.~#/(++"q)#~#`8 DʪB(8O(4T(6M(9H(?N(E!ڣ~#!0+"s) (͸_ͳ'͸ 2' >2&:(2(:})2})>2~)~#/(!0ã+"q)#~#!8.(/( *( > +~#!8/(. ~#!8 *( > +~#/!0+"s) ~!"s)>2%!"u)"w)!"}2$ :ʿ& G*u)")*w)"+Q%$Q%O!6W$Q%w#͉ͬ !(T]6  (!6~#O~#.( (# ((~# (!( ?(#:<2'͸!6~G#&*u)"-:w)2/:)2u)**"v)"}2͑:)2u)**"v)!6F#~p#~m#~s#~-x-~#L(A(P~M#~A~Z#~HS~R#~CK.ҿ&_:(G8 *s)"o)_:<2{_!.K) ͖:2K)> !U)~(˾+~(˾2( !  !K)\  # :K)( @_ͳ: ͳ ͳ!L)&.ͳ!T)&!!L)(~!8 ? ~!8 ##>.~!8 ? ~!8 ##y2(> (ݮOݮOݮ :&2&!)T]w!@T]w!67w, 2?26=27>26=27>26=27>26=27!"y)!)")!+"9K)ͽ!(K)0v:~>(>2?#:!?#?_: ?#W2(zW:?#'''2(:~>(>2?#:?#_:?#W2(zW:?#P0d'2(K)#*l)|&}<<<?}8o:})> } 8>2)':~)('͸:'!'8 '!'(͸z&{&͸2k):~)(!:Z0 S#82#:C'M!IÜ:Z0 S#8>2Z!)͖2)<ʸ&2{)o:)2|)_8g")""g"):G??T]u@!y8w# !:?_~g.[)>w#wÌ2]:Y&o:X=ʌ~G2O y(:X=(,~(y2 ~2:@(z y82 y2]*R"^zq:Y<&o~2!?_~gh))K) F#Nxʌ#V#^*R"+|< *{)+"y: 24!8~`>o:]0U&oBqz< [{)!8< +z< *)+[{)x(~(O]Q:|)oz*{)R&-}Bq!R`!8:|) !8z< [{)~!8 z<~+ *)+[{) 7= : <]=O&o:Y#> #{#!)d>#y#{#>#{#y#y878 8@888z !6*d!'*!!**!-*!0*!3* _!)4.#4.#4z0{@8$8   888*)4o#4o#4[R!8*" Ͷ ~"":Y&o^:?&6ào~z#±#z_!X'^!)4#4#4[R!8*"Ͷ"":Zd :XG:Yd :C'*V|(%2)¸&!`iB(0) [KKM{888(z SKCM:Oʊ*9+RE&')!3)͖')ͽK!G##8 >0 !)K) >22(!W)w#w#w#w2k)go"y)"T.K)ͽ:(/ͳ:E&:D& ͳ[K:MO#####bk#JDMJDM!G!|'g}'o{ݖ_zݞWyݞOxG0{݆_zݎWyݎOxG}( '͸× ͳ| (0_ͳ|0_ͳ.ͳ#bk##JDM&${ݖ_zݞWyݞOxG0|0_ͳ%ͳ×2;~ݶݶu&i))!yY 9&i))~#~#~Y~w+~w+~w+~wxw<2)~w~w~w ###:;y2<:<=2<!~#^#V#N:<&o))!~#~w#~w#~w!! :<=&i))! ~~~  ^VF~~~~ws~wr~wpF~wp"):;GOw#q### :< :)=&o))[)62)<2)2)͈ L2=͸2>[)&oO))4#~œ:=w&oO))4#~®Ä")2;G~xO####yL!)www#*)~#1!)HVz"zw/y/w+###:;C#:)*):;G~faWf_#w#w#w#z2){2)( 8 8 8 8 y2)ɯ2:(('͸>J '͸!"u)"w)!"}22$$)25G*u)")*w)"+Q%$Q%O!6W$Q%w#( j(͸Q':(G:6 k!(6ƒ#'͸ [6>_>W:6O*K:G:(o>g:MRG!u)[6~_#~W#:6Oxä͉[6K6!u)~w#~w#~w#~wSu)y2w)!7{G>G$wQ%#>S-y2/>2$:)2u)**"v)"}22Su)S-y2w)2/"1x23$8G2$Q%$Q%O!6W$Q%w#͉ :$[1:3O!u)~21w#~22w#~23w:-*.":1*2"}S5 ![}:-R(S}*5> ѯ2*}"7:u)*v)"}:1_!Cy xG~g%+ [-*1R:/O:3*7w>! >? #'͸!(:(G&'͸ *K"(:M2(*G"(:I2(:G:(%!(:(GW:AO:B#!F#%!(B~%#:A%:B%!F#~%:(2C!*")!"P!-"9>2[2\c&z:) 8 :)(*%%OWyO%_y %O!P{p$ë8g8+ 85@8?8I8 z !ë!yրZ$@!yͦ$2!yͦ$$!y ̈́$!y@p$!0*)z{@88>{րZ$ë{p$ë>{@p$ë >>888'>z͖$%>zͺ$>zͲ$ >zͦ${B$ë>O@0H88" 8-!<ÿ́$é!0yͦ$é!4yͦ$é!8y͖$é`88"8-!Ly?p$é!@ÿ́$é!Dÿ́$é!Hy?p$*PT "P|J (3(]!*( J!*"):) J :)JJ"Pc& ͺ$Jz:) 8  :)(*!")c& ͺ$z:) 8  :)( !G^#V#{_zW_5~+r+s:[i:\%i2)0c&!0>Ϳ>ͺ$:)̈́$:)ͦ$:)ͦ$_!3^#VS:)G:)O0(<͖$c&!>Ϳͦ$_))~G#~>$ͺ$ /#$$$$$$p$Z$%%!K^#V#{__zW_5~+r+sC:$<(:u)RG>G!7~%#R:-[.S}8S5 *}#"}*5 >¦*}"7:u)*v)"}y :-_!8>G~%# 2-[7Ý:u)(?2R:u)R!2_>G~%#R%:u)( O>G>%'͸:%j:Oy !")"))!"3)"3)')6#T]6  #T]6~AQG#~+:x@##*P#"P| }a"|a"*>!)*>!)*>J!)")a"n"|0" !n"*)N[KKM*)ͯ SKCM!)Q*W~6#!)9*~6#w#w#w#!)xSC`U!Q*xSC*"*J"R!Q*)k!Q*x!!JS":)2):)2)!)!`ͻ*"*J"i!9*!ͻ*"*J"*"*J"f!9*)k!9*!)ͻ*"*J":):)!0!~####>!0N!:)(! :)(! :)_:)G!0!x'>ͳ ~  #~>!N!>ͯ ɷ*[R*[R`&(:`  :a :  :&[)zȯ&z S):)ȯ2)*)+")&: 6 +: %[K[K[K*K"K*MJ"M!'~( ݆nfn&JDM= ########=³ :Q@!!6*0!!*0!*x!)x:) 8 :)( !JDM͟ R ґ!}8 d ͅ !)!`ͻ͟ f Rd ͏ &!)!)ͻ͟ f }8P  ; ͅ  :)2):)2)RP f ; ͏ &}8d { J!!)T]6VZ͙ !>2)V"! "P}8P  ; { J!!)T]6n͙ *)#")n"[P*{)Rқ"*R#:|)~":8?!_~gn))[)V#^s+r:Y&o^<2Y:Z S#8w>2Zs:?(&7o~skVwo%sk~jwo$r%k:?w{2?:@{2@?!_~go))[)V#^s+r##V#^rs[Rs+r###:|).#!8*)SR:C<2C'8 GyO*T[y)R±#z™#.K)ѷʣ#x(bk.R"Tî#>2Z7!!.zWSy)~*A͛&"A!G4##4##4!X4 :'o:&(>2Z>!2[VwzWSV>$2)ѷ2$ø&!ͻ$ͻ$ͻ$ͻ$ͻ$ͻ$ͻ$û$ͻ$ͻ$ͻ$ͻ$ͻ$ͻ$û$ͻ$ͻ$ͻ$ͻ$ͻ$û$ͻ$ͻ$ͻ$ͻ$û$ͻ$ͻ$ͻ$û$ͻ$ͻ$û$ͻ$û$'g:[o:\$ $%2\}2[|:u)[v):x)©&*}R %S}2©&:u)!2o~!2:u)owQ%:u)N%2®&[}S}!u)4e%#4e%#4e%#4!2:u)ow͠%:u)%2®&[}S}!u)~wҵ%#~wҵ%#5!1~w%#~w%#5[y)z%>G8K)%!!8>`&Sy)~*9w#|.@&:O !3)͖')<ʸ&>2OE&!+"9+')ѷ¸&!*9#|.•&:Oʒ&+')!!+~"9L&oF$y`o4( j:OyI(͸*q)[o)RE&Y(͸*s)"o)j(͸ ^#0:'_ͳ0:'_ͳ:'8 '͸[DSDz&{&\  $ $ Reading $ Compressing $ 0000/$$100.0%$ Memo>$Deleting: $ Adding$ Updating$ as $ Done. $Invalid option: $ Bad archive header. $ Overseek error. $ Disk full. $ is not found. $ is empty. $ PMarc Version 2.00 for 46K CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino.$ Time stamp supported for $-pm2- PMATEMP1$$$PMATEMP2$$$ $ $ Reading $ Compressing $ 0000/$$100.0%$ Memo>$Deleting: $ Adding$ Updating$ as $ Done. $Invalid option: $ Bad archive header. $ Overseek error. $ Disk full. $ is not found. $ is empty. $ PMarc Version 2.00 for 46K CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino.$ Time stamp supported for $-pm2- PMcat Ver 2.11 !N #6!\ͅ!ͅ!ͅ!1 6# 6?# !T]6͜!@"!~# (-(+~# `8 R(S($E( D(!U((B()  2: >S2:D>D >d22 ~#  \Ϳ~# ,s=(?.(~# ,s=(). e~# ,s=(~# ,s= :d(D 6 Ϳ~# ,(0.(~# ,(. ~# ,( ~# , :dDͿ~# ,(0.(~# ,(. ~# ,( ~# , 1 ~# )(-(+~!8.(#*( >?> ~!8#. ~!8#*( >?> ~# 8 >:] &: : :\ !] ͜1 7:d(D :1 6 1 : :$!] ͜: (<!~͜<(!ͷ :e !e͜!\ͷ \<'  yY:d :n: n::U!e~ 6P#6M#6A!\ͷ\< :d(  ' * !"}:d>0(>A2*!!͜ ͟ *""G ͟O!W ͟w#( J *>!ͣ  > :!N # (~#.( (~#. >   (~#> "*!*"!*#*Z"#í!\ ͜!] ͜>R2: (<!~͜<(!ͷ Q!e~ 6P#6M#6A!\ͷ\<  +! !\$͜!] ͜>R2\\<: !"*!)͜/G/O!W/w#( J *>!ͣ  > M!N # (~#.( (~#. >   (~#> *:D p("*)*")*+*Z"+A: R:1 21: (<!~͜<(!ͷ !"*!%͜RGO!Ww#( J *>!ͣ8!N # (~#.( (~#. >   (~#> *p >:A(D@} |(5  #+++++͜ !:A 6*"*%*"%*'*Z"'Y: !?~ T]!(:S & : ###: # # +++++͜>gg++++Nwy#g :Aʭ 0/ !@"*^#V#N#F#~2#~2< ": "%`i"'GcOc!w#cD ! ")`i"+/Gc/Oc!/w#c7 :  !/" **DM! w#{_ zW yO xGx(|@ ! ~c#|@  cz { + !@"!"!"#!\$͜!"*%͜~  *p(! @# "!͜O GO!w#Q *"O *" ###! !-###:!(G>G! ͟w#!-!͜ ! ^#V#N#F! w#{_N zWN yON xGx(|@0 ! ~c#|@] -  czn {n !!-͜:!O G>G!~c#!-!͜O *"*~ *!͜ <  "#@   #+++++ !*!͜ *%͜*^#V#N#F*{_#zW#yO#xG*{_#zW#yO#xG#*  ͜""s#r#q#p#6GcOc!w#c\ **DM! w#{_ zW yO xGx(|@­ ! ~c#|@ ê  cz { c:!ʷ \"÷ %͜ ^#V#N#F{_#zW#yO#xG!s#r#q#p*""^#V#N#F*{_#zW#yO#xG!s#r#q#p!~8GY+~8?Y+~87Y+~8/Y*!͜:!G>G! ͟w#t *!͜*! ###!###*###&*~#~#_~W"! ^#V#N#F(>*#"G>! ͟w#x{_ҦzWҦyOҦxG=}! ͟w#x{_zWyOxG|@®*}"* "}\"!#z@"*"}ë*+"} *}#"}\"!z({(t *-͜*!͜*! ###!###*###»*~(IG>! ^#V#N#F! ͟w#x{_#zW#yO#xG=! s#r#q#p!-!͜*~#~#_~W"! ^#V#N#F!?j+< ͵w+x{_ҒzWҒyOҒxG| j*}"*?"}\"!+z Ҧ"*"}!?j*#"}?*}+"}\"!|}*!͜ GcOc!w#ch **DM! w#{_wzWwyOwxGx(|@Y! ~c#|@†V cz—{—:!ʷ G>G!~c#÷ c:!( G>G>c\<:Ro: (L!ͅ! ͜!6P#6M#6B!͜!""""< <!l͜!"h"j"x"z\<1( (( O?( #y(! y ~(@_:#~# (_.~# _!F#^# :!*"{_zW*}|g}("}\!:!!o~!:!ow͟:!œ\"*}#"}!!4³#4³#4³#4!!~w#~w#~w#~w:%*&{_zW*|g}("!:%!o~!%4-#4-#4-#4:)**{_zW*|g}("!:)!o~!)4ƒ#4ƒ#4ƒ#46#T]6  ͜#6͜~#F#~p#~m#~s#~-x-ɯ~# (~+: ~@( 0## t a    1) PMCAT [-S] [=] [ []] Catenate members in matching with to . If is fixed,copy the archive to ,and do as the above. If is absent, all members are catenated. If is absent,it mean refresh . If switch -S is fixed,sort members in alphabetical order before catenating. 2) PMCAT -U [] Update directry by members in matching with . 3) PMCAT -D[D] Delete members in matching with . If fix -DD,rewrite directry. $Invalid option. $Invalid drive number. $Invalid command. $Bad archive header. $Overseek error. $Disk full. $File not found. $Disk I/O error. $File already exists. Overwrite? (Y/N) $Receive-archive = $Base-archive = $Send-archive = $Archive file = $ (NEW) $ (ADD) $ (REWRITE) $Copying: $Catenating: $Deleting: $Appending: $Updating: $Shifting... $SFX/EXE module $COMPMALZHLZSPMACOMLZHLZS PMcat Version 2.11 for CP/M Copyright(C) 1990 by Yoshihiko Mino. $PMCATTMP$$$rectry. $Invalid option. $Invalid drive number. $Invalid command. $Bad archive header. $Overseek error. $Disk full. $File not found. $Disk I/O error. $File already exists. Overwrite? (Y/N) $Receive-archive = $Base-archive = $Send-archivR-pms-G PMexe Version 2.00 for CP/M Copyright(C) 1990 by Yoshihiko Mino. $  xGxO*zWx: ~-O#~pO#~mO#~2O#~-## u^#V^#V" "a! N#" ^6$#V++~MO+~OO+~CO+~.(>2 "/*z}($.|22<2_>Wr$s%, &.w,< .w= > .w=>.w=>.w=>.w= ]: (O ͉h!`V0]8(!8$ ('@8!`(8&@"͏͏ ͕͒W:g:͘W{W:g:o~ ͉ ͘88(/8$(8(~͛Ɓ͕!͘A͏ ͏G!HV8(8#(*8*(/82͒0͘-͘@$͛ƀ͉ ͌͏W͞_*}o|g~͉#͕2i!  r͏2r :i=2`͏=_!^#V"Q :iG:rO͒(=!` :iõ>  >!@r@͏!@~(Y# z {2H>2r!H@>"n"25G:r26=( #q##p 22 B#~:2 w+4#w++~ _*n##~ q{Y *nw# +C><#~(#qY *npC:<2~"n͉({!_`ɉ!#"} 3| (( (!(͉!"͉(hO!q#"*,y&ozV$_",> (o:g~qiVwo%qi~jwo$r%i:wy2> y 2 Y!+" |!|O}(  :  !i ~#!1~# x w#!~#"z>ɯ'! ͳͳͳͳͳͳͳg>2o>0x2(7|OK $CRC error detected. $~PMext Ver 2.22~$$$$$$$$$$$$$$*$$$$$$$$$$$$$$$$$$$$$~<2\.:$( ;3\.\.W3\.:tY.:]!ҋ\.:(-\.;\.:(\.\.: \.\.:#(1\.B\.:Y f\.s\.:(\.Usage: PMEXT [[dev:][=][/A/B/C/I/L/M/N/Pn/Q/W]] Options: /A : Extract with$ attribute $out attribute$ /B : Binary file(ignore EOF) /C : Check CRC of members /I : In$different to$terested in$ unmatching members /L : Display list of members /M : $Nond$D$isplay memorandums /N : Nondisplay hex-counter /P : $Output by the$Change lines per$ page /Q : Work with$out question$ question $ /W : Overwrite with$out question Examples: A>PMEXT B:SAVE ; Display list of members in B:SAVE.PMA A>PMEXT B:SAVE *.COM/L ; Display list of COM-members in B:SAVE.PMA A>PMEXT SAVE B: ; Extract all members in SAVE.PMA to drive B: A>PMEXT SAVE READ.ME=*.DOC ; Extract READ.ME as READ.DOC in SAVE.PMA A>PMEXT SAVE CON:READ.ME ; Display contents of READ.ME in SAVE.PMA A>PMEXT SAVE EXE:TERM ; Execute TERM.COM in SAVE.PMA A>PMEXT SAVE /C ; Check all members in SAVE.PMA $!s<.1U3!]:0>_>Wr$s%,š!\3w#T]6  !l3T]6? !w3w#:2}3!^#r!~#!8~#!0k ~#!8O##~+: nyC ~N d+~#O ]:(:2{3>DL ~T D+~#S =:(:2{3>$P ~N $+~#U >E  +~#X >2x3##1+~+: (y`8 U_VW?XqA8 Q0@G##\3x~#!k .(/*(=&/̄>?~#!k =&/̄. e3~#!k *(=(#/̄>?~#=( /̄!0k l3~!8.(/( #*( > t3~/(!8#. ~/(!8 #*( > ~#!k /̄~/ #~#!k /(`8 M(;B(AO(=Q(YW(`N(8L(;A(>C([P(jI([0\._a.Y3\.:2>2z3>2y3>2|3:2Ï:2Ï:2Ï>2w3Ï:}32}3Ï:O:x3(:O~08 0O#~08 0 GyOO#yʏ2{3Ï+" !\ !~?(#!~ 6P#6M#6A>2!""!\ bk63:(AG<2\m.( 8_!3] bk6:e!8\#!{..a.!{.]/:<( !]3?((I/\.6/\.!# !l3>? #- !l3?(w#/\.!{..a.!{.:x3([/!/8^/!/8T:l(9L(5*| "*"8.48{?|g:8/!/  a.x0\.0\.:w3ʠ /!/:(\.Q(eq(aY(yd \.:x3 0\.͔+{ 8"<(<(<(<(<(#> a.d 00\.:{32 00\. \.2  0\.I.:(r/\.Q(q(Y(yd <(": #/\.Y(yd !6@2 2 :x3(>:y3 8:F0!L08 )D0!B0\.:[(z͉.{͉.\.:2`1hnHnl*Lʑ(,)Ü !w,<¯ 2=2 > 2' 2=2>2=2>2=2>2=2_:' (&o~skVwo%sk~jwo$r%k:' w{2' ͨ !)""%"4""!)""!" !͙(_bk))"*$ (ʴ*$ (ڋ*$ ( ڋ*$ ͭ( ڋ*$ †ͅ(Ëq(X@&*$ ͭ(&ͭ(&͙( &ͅ(@&ͅ(o>&*$ (*$ ( *$ #( .(ͅ(U*$ B͙(Uq(u[ z*{<2 !(z<2 s""|"҇""%ž!("%¬!("% º" "4!("4!("4!("4!("4-#ޫ,ҫҼ½ͱ,޿-Aϡޫ;*$ ͙(2 !T]6*$ (2 : =2%*$ (2 _!^#VS: G: O*$ ͭ((=!%: {:  : bk6*$ (!~(Y# z {2|>2 !|>{ͨ !" !(͜!%B*$ 8(8#()8-(38>ͅ(W>@((ͭ(͙( ͙(@͙(`&W:' ͅ(W>&W:' o~, ")w *$ ͅ(_8A*$ (48((8(q(ƁS͙(!Sͅ(AS(S(SG!|B*$ ڂʋږʡڦʮڶͭ(ûͅ(_ͅ(@_q(ƀ_ü(û(û(W*$ ](_:x3 *R~, ")#w* R@4~, ")#|t !4w)((((((q(* #" }v| ((((vv*$ (Ĝv!" *$ ((͜" S 2 Gw#w#w#: W6( #q##p Ü* ~#~{w{w~?_* ~{qY * w {qC: ²~%q(qY * pCí~" *$ ((j* _L!4T]6 !" #"$ > 2 2 :H!q( !["S[| },)ë}G͋:x3 *R~,)#ë* R 4~,)#|T!4ë!T6+6Tr!\s:s#r# x !h:s#r# x !TtV9~#~### x !t^9s#r# x !d:9s#r#s#r# x !"X!"h!\!T!\TsN#F#!rB0og#<u#t#q#p# x !!t^!TtV9N#F#yO#xG#++nfB8(ut+V+^##s#rqps#r## x!\sN#F#!rB0 !d s#r !d s#r#s#r x *XR̕!h N#F!T ^VsrnfRE###nfR8!T ~sw#~rw!\ ^#V!dq#p!rR8#q#p!\ Ns#Fr!d s#r!rB8#s#r!\q#p!d N#Fx®K`!rB8*$ ((!\ N#F! DM͒*$ ](_!N!!!!!!{O! F#*$ (_{?O`i  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?* |b*$ ](W*$ ](_S *$ ͙( *$ ͙(2%|2i*$ (O *$ (( yx *$ ((O x8>2 !%>{*$ (W*$ ](_ *$ (_*$ ](WSTS!6# x !%B(20 *$ ͭ(&o *$ (G*$ ](O! +| `iRں*$ ͭ( *$ ͭ(2%_2L*$ (O *$ (( yx8>2 !%>{* +" !%Bo&o^#V#S^#V#S^#V*$ )G*$ )O )))))()()()()( )(@)q()]((]((]((]((](!Tw#w#w#w#w#w# x !T66>2 !!: ݾ#³~ |wuó|wu~W^!T~ rs!Ttubk x(rsDM#R6~ rsrs!TpqBK: <2 /T *$ ((0go)!Tgo!4T]6 !"$ >2 2 *$ (( *$ ]()F*$ (W*$ ](_*$ ͭ(G!|g4~)#|<Œ!4F!4T]6  <Ÿ<©=¯> n>2 2 0(2' :' ( ()(_(GWxG!|g4~)#|D!4b1\.>2|32 !""""" !]3~!0 T]6? !0I.:sʒ]3! ?(’# :(+a.!{..a.!{.[K*"*J"!1y [K*"*J"!2y !!2 !2!!!2!!+2:-G(Rq#-O(Sq1\.:z 2:͉.:͉.Y3\.* }'o|'g" :{3(O: <8͘2 :(7[ $(. a. a. a.\.Y3\.:{3(O: <8͘2 !M0\.͔+{<ʍ+<(<(00\.{ 8(<(>ɯ2 \.u:{362\. !b2* | 2\.I.|Z(0_0s|Z(0_0s}Z(0_0s}Z(0_0ss| }  s [K!p2y [K!y2y !!2 a2\.I.> ! ͆!w! ͆!w! ͆!w! ͆!w! ͆!w! ͆!w>0w@B'd ~ݶݶ 61>0www>0#####bk#JDMJDM͆!|(0&0> gw}(0gt}0w#bk##JDM͆!w!}'o|'g{ݖ_zݞWyݞOxG҉!{݆_zݎWyݎOxG}(0>0~0~0#*"*"(_2(W2!(w#:-"2!O#y( :-">2!/2:2!(_w#(Ww#(Ow#(GwSC:s L: 8=G! (w#:G!#O: ͨ">[K*"*J"0\.7!  (w#* "* "222!" "> 2:2!%0:8G!(w#" 6$:G!#O: ͨ"* "|2'2}2'2|?2'2*"|P2'2}2'2}2'2!N# 2'! 6 !$~#.(&\((' !$~#.( \(( ,' (!~#\((' ( ~#\(<(:z(^#V#S: :2:pS':mS'" S'~#2N#F:,G:,!~,#x({ (, (,,(o (g "x(@(,2 % >2@ :m(c (,2 x( (, (,O(,Gy$*R"*R"*|S'[ RS'"(2o(2g(22"!6$" :,:,!~,#!T]6  (,O(,G.& (, 0&,,( o( g"x((, 2 & M'!x((, .('w# x((, . '!xh%(, 'w# $ >2@ :m(c (,2 xh%(, ͨ"*|( [ R"[ K*"*J"&E.$3- .|d(f'0|2'2$} |d(;&S'C'!'<^#V#N#F#f'02'2Q*R"*B"8*"*J"7ɀ($('('(('('( 8  Gy 8 O>> ya8{0 8 882'y:[:t.*}R;(S}3\!t.:!3o~!4Z(#4Z(#4Z(#4 :& k((2& (7 :& ((2& (7 :& ғ((2& (7 :& ҧ((2& (7 :& һ((2& (7 :& ((2& (7 :& ((2& (7 :& ((2& (7}2$ |ɯ>*[ w#:x3(:y3 :" <2" ̴.: z):x3(9 3:w3 -: G4( f.!!4S ":x38$ G)0 G) _!^#V#{_0zW05~+r+s(00\.!), %y"+0\.͔+{<ʍ+<*<*<)+ ::z3 4y '"0\.͔+{<ʍ+<*<*:x32x300\.:x32x3x : ( x2 X:{3Wx e+ (+ :# ?f+ :# ???<:# G: _&o˻-~-({2 ,,^,VS \. 2 2 :{3_: <(2 : <2 _: < 2 &o[s,r,6,62# y[ : 4 4S *RG)00\. 0@`8 Q-RBS].EW^,[A/CMFND\ =XZ_+0ڔ+ Ҕ+_[ o&~_%VS :x32x3:y3 ':0 :x3(: Ĵ./a.: ͉.: ͉.:x3-:w3-* }(K}(G>G!4>w#4ʬ,f.!`iB(Ҍ,!!:(:(!G(#O(!~##X0 1R0:z('K* B(:x3B1 :w3 1([1\. \.:x3 !\6#T]6  #6#6  #6* ~# y2(* !\~# .(+~A8Q0G#~+: x@##~# .(G.(*(>?~# 8:(+. ~# 8'(*(>?~# 8  >lÛ-[!;.!41d0\.: Y3\.ß x0 0\.0\.0\.^#0:ڜ._a.0:ڬ._a.:M08 B0\.[ S z͉.{͉.Archive file = $Output device= $CON: $LST: $PUN: $EXE: $: $ -> $ Overwrite? (Y/N) $ Skip this file. $ Unmatching member.$ Unsupported method.$ Extract? (Y/N) $ Extracting $ Check? (Y/N) $ Checking $ Output? (Y/N) $ Outputting $ Restore? (Y/N) $ Restoring $ Display? (Y/N) $ Displaying $-start of text-$-clear-$-more-$-end of text-$ $ $ 0000/$$ OK $ Aborted. $ End of archive. $Out of memory. $ Unexecutable. $ Quit. $Invalid option: $ Disk full. $File not found. $ Overseek error. $Archive header is broken. $ Warning: CRC error detected. Check extracted file. $ CRC error detected. $ NG $ Filename Original Packed Ratio Date Time Attr Type CRC ============== ======== ======== ======= ======== ======== ==== ===== ==== $ 0000000 0000000 100.0% 80-00-00 00:00:00 -- -pm2- $============== ======== ======== ======= $ 0000 Files 0000000 0000000 100.0% $ No file $**** $PMALZHLZSCOM-pm00-pm11-pm22-pmsspmss-lh00-lh1h-lh4H-lh5H-lzsl-lz40-lz5L PMext Version 2.22 for 34K CP/M(Z80) Copyright(C) 1990,1991 by Yoshihiko Mino.$ Time stamp supported for $ $ked Ratio Date Time Attr Type CRC ============== ======== ======== ======= ======== ======== ==== ===== ==== $ 0000000 0000000 100.0% 80-00-00 00:00:00 -- -pm2- $============== ======== ======== ======= $ 0000 Files 0000000 0000000 100.0% $ No file $**** $PMALZHLZSCOM-pm00-pm11-pm22-pmsspmss-lh00-lh1h-lh4H-lh5H-lzsl-lz40-lz5L PMext Version 2.22 foPMset Ver 1.20 :]!0  \<  !"|"~\! >2}\!( !~(!~(!~(  >$2 > 2 :>$2  2 :O:2 2 !N #6!~# (~#!0+~( ‡#:a :  '$ : 1 : 8:$( .  4 2: 1 : ڷ :  ÷:  !~(<("%^%#^%#^%#"%4 : 1 : #8- : ( @_% :(  *  : 1 : 8: :  '$ : 1 : 8:$( .  4 2: 1 : 8'u !~$( 0^%~@_%#4 : 1 : 1!  6:(4>W:(4>P:(4>A:(4>Q:(4>M:(4>I~83  ( ! ~(/%^% %#4  :_ :_ : 1 : 8 :(0 O ^ i  8 y(0_%0_%~# T~# (O~#/ Cy`8 FsCʘED[I|LW?MOʛPʠQʪAʥ4 H :a:  '1 : #~#0( 1>2>2 }1 : ~#0(1>2>2 }:a: 1 : #~!8#`8 AQ@2>2 }:a: 2 3: ) :a: 1 : ~#0( 1>>2 }:a: 1 : ~#,(=0 O~#,(0 GyOO~!8,#y2>2 ~!}0 O#~!80 GyOO#y2>2 }: 1 : ~#02>2 }:a: 1 : ~(* (&#^ ~( (#@(A`@>^>$2 }:a: 1 : % ~!8#> !% (!(ݮOݮOݮ}r ~~~>2 }:a: 1 : % ~!8#> !% ((ݮOݮOݮ( bk~( #~#~#>2 }:  :\( @_%:%!]~ ( _%#.%!e~ ( _%# Y(y !"|"~\" >2}\" \  #~PMarc Ver ~PMahs Ver ~PMext Ver File not found. $Cannot read file. $Unjust file. $This file is $ Version $Present setting: Time stamp is $not supproted$ for $. $Display of counter is $normal-form. $CR-form. $not done. $Screen clear code is $The default number of lines per page is $ at CON:,$ at LST:. $Text-extension$ is not set. $ is $s are $Default work-drive is $current. $:. $Default option$ is /M. $Invalid command. $Cannot execute because of old version. $Extension area full. $Extension not found. $Rewite $ Sure? (Y/N) $Cannot write file. $ PMset Version 1.20 for CP/M(Z80) Copyright(C) 1990 by Yoshihiko Mino. $Usage: A>PMSET [] Parameters: A/{0|1} : Set attribute option. C/code : Set screen clear code. D/ext : Delete text-extension. E/ext : Add text-extension. F/{0|1|2} : Set display-form of counter. I/{0|1} : Set indifferent option. L/n,n : Set lines per page. M/{0|1} : Set memorandum option. O/{0|1} : Set overwrite option. P/{0|1} : Set page option. Q/{0|1} : Set question option. W/[d] : Set work-drive. $ C/code : Set screen clear code. D/ext : Delete text-extension. E/ext : Add text-extension. F/{0|1|2} : Set display-form of counter. I/{0|1} : Set indifferent option. L/n,n : Set lines per page. M/{0|1} : Set memorandum option. O/{0|1} : Set overwrite option. P/{0|1} : Set page option. Q/{0|1} : Set question option. y-pms-S PMsfx Version 2.00 for CP/M Copyright(C) 1990 by Yoshihiko Mino. $Header is broken. $Out of memory. $ !\!l(*}($|2Z2<2<2 2Ng:0i !m ":Zg.]zW{_0>_>Wr$s%, 1 !]> 2f~! #~+ :e 2f:A<¶.!e:j K><  ;:) ]>( (V(v > 2f >\<( ( \!h\<ʤ4 !""""*"&.w,< .w= > 2-.w=>.w=>.w=>.w=:A20Q>2~Yͮ!@͜0]8(!8$ ('@8!`(8&@"̈́̈́ ͇͊W:g:-͍W{W:g:-o~ ( ͍188(/8$(8(~͐Ɓ͊!͍Ä́ ̈́G!(͜8(8#(*8*(/82͇0͍-͍@$͐ƀ~ ́̈́W͓_*}o|g0 *~#| *(͊2! ̈́2 :=2@̈́=_!^#V":G:O͇(=!@:>  >!  ̈́! ~(Y# z {2(>2!( >"")2{G:226=( #q##p 2x B#~:x w+4#w++~ _*##~ q{Y *w# +C><,#~(#qY *pC:2<22(~"~(!_æ~*"#~/(`8 A(L(C(Q2W2"22yYɯw#GO*W(T7>-#O>p#O>m#OF#>-# x0(2(>2A^#V#"##^#V#"^#V"!~2*##N# ~2J#~2K!] > ]~#.( (~#.( e (~#!"h"j>!m ~#"!#"} 3| (( (!(~Y!"~(YͮO>(#o:g~qiVwo%qi~jwo$r%i:-wy2-O*&ozV$_">G y 2fY*!q#z +: @*`( pF !*""!^#V#{_0zW05~+r+s:f(:W \ j (e: J*|(`¡!! 0| p>( !e>0~w#:*(~w\*|O}A (V \\>ɯ'! ͨͨͨͨͨͨͨg>2o>02(7|^# Extract? (Y/N) $ Overwrite? (Y/N) $ Skip this file. $ Unsupported method.$ Displaying $ Checking $ Extracting $OK $ Disk full. $CRC error detected. $!q#z +: @*`( pF !*""!^#V#{_0zW05~+r+s:f(:W \ j (e: J*|(`¡!! 0| p>( !e>0~w#:*(~w\*|O}A (V \\>ɯ'! ͨͨͨͨͨͨͨg>2o>02(7|^# Extract? (Y/N) $ Overwrite? (Y/N) $ Skip this fi*0!kRMD kb6!,!N# 6!*kg,~ ! !'~og!'s,g,nf~#utog=nf~ s,{,66E^V!srut66IF(* !^Vnf͖)*srut !(nf+ut^V!;)8^Vnf2nf))s#r#q#pnf#ut^V!;)ҟs,g,@nf#ut+^:2bo|))2^#V#~#fo[2*2͖)*S2"2nf +ut #} s,g,! =nffnf f! =!s,g,nf~w#utnf~ s,g,nf nfWnf nf*2͋ut^V Rs,!~.!-ͱs,g,nf nfeut~(nf!,ͱnfs,g,n f nf nf#^ V ;)s,!.!,ͱs,g,nf nfn f #ut zog!6(nf nfWs,!"2}22"2!N2*6;)8!!0*2#!0"6*6#"6+ng,F*2,"2X[2nfRutE:2o&,*2}o|g"2[2*2{(!!2(!}2222!"2^V*2;)_^V*2R"2E:2o&,*2}o|g"2s,g,^V!RE*2,utnfNnfs,g,!/nf+ut}( #uts,nfs,{,!kbnfv"srut!kbnfv" Jsruta!^Vnf)]66a66]!^Vnfnfv"!!nf͍2~`!!(dnf͍!++++(^Vnf^Vnf)^Vnf^Vnf)}nf͍~ !!2nf͍[2!<;)KkbS2"2nf*2*2!!nf͍^Vnfkb[2*2*) /!^Vnfnfv"^Vnfs,!++++(^Vnf^Vnf)kbs,g,!++++nf ͍`nfR('~ݶ(!e-n f ͱ !.!,ͱ!!2nf ͍*2} !s,[2!<;)0 !.!,ͱkbS2"2nf *2*2!!2nf ͍[2*2kb[2*2*)( !.!S-ͱ*2"2*2^ V nfS2"2^VnfS6"6^VnfS2"2[2*2n&"2!2*2f*2( "2!2G,!++nf ͍8!^V!nf v"!++nf ͍~ݶ *2^ V nf!kbnf v"͈)S2"2!s,![2*2*2v"g,*2^!;)0 !-f!-f! = !s,*2F(!E-f!-f*2~ _W!;) *2~ ~ !-*2~(*2~(!-!s,{,*c!kb*2v"sruth!^Vnf*h!)sr[2*2^Vzog) *2nfutWnf*2͍^Vzog!2(nfh![2*2) *2!hut![2*2) s,{,͘ }(!s,6!,}(!G,!2!,,!!(#"2|(!,f!f! = !"6]TS2"2*2~(A(B(>(:(;*2͢#[2*2kb[2*2*) !>-f6 M!0-f!s,͏kbS2"2*c"2kb!2Q"2!|-f!2f!.f*2QS2"2|( !e-!2ͱ![2*2*2v"!2*2!ͅ} !.!,ͱ!.f!.f :2E !.f!,}(f!2f:2E %  ! = ![2*2*2v"!2*2!ͅ} *2͢#g,66 ,nf)N#Ffnf#ut,nf)~# !s,{,66!~_Wut66^Vnf;) nfs,nf#utnf~ (~(2nf)^Vs#r#utnf~(~ #ut+6nf#ut!;) {,*,f*,f!h"c} !.!.ͱk ut| }ʨʫʻ# nf!2G,!2Y,ut!2~ogut.R^V!26# >L22*2ut*2~22E# *2#"2~( !,G,*2!.!2M)} !.!2,, s,g,!"w7& 7*w7)s#r*w7#"w7[w7!;)!"w7][w7nf n&) 7N#Fp+q*w7#"w7^V*w7;)<!"U7!"w7øS7*w7)N#F[w7!RE 7*w7)~#fo, S7*w7#)s#r*w7#"w7[w7!;){*u7}!.!,ͱ^ V !R"7!"w7):7GS7*w7)͝+[w7n f RE!,-7*w7)s#r*w7#"w7[w7n f ;)a[w7!RE!,-7*w7)s#r*w7#"w7[w7!;)<:7GS7n f #)~#fo,"w7}ʿF !,"7ò^ V *w7#"w7+)s#r[7*w7Rœnf"+7^ V !RE!,"Q7!"7&[7nf n&"7}S7)N#FC7-7*7)~#foYP"O7[7n f ;)fS7*7)N#FCw7V^ V *w7)[7s#r*w7#"w7[O7*w7;)=^ V :7G*7,)^ V *7R"w7~¿c*+7)s#r[*+7)s#r*+7#"+7+ut[Q7*7}o|g}[nf)cnf)!7(*w7+"w7*w7}*7utS7*7)[O7s#r*7#"7^V*7;)s,g,nf "{7}³nf "}7!"y7v[y7!k6kb#"y7^V*y7;)f!"y7äW*y7)[}7s#r*y7#"y7*y7;)s,!"y7d *2,"}7R66++͝+*}7#"}7[2~o~g}*}7;)*}7+++!N:}7k*y7#"y7+w[y7n f Rd!"}7Xk*y7#"y7+6*}7+"}7|J[{7*y7;)Âk*y7#"y7+6^V*y7;)t!W!!knfs,g,! "7}! "7!"7[7!Y6kb#"7*7;)!"7 7*7)[7s#r*7#"7*7;)s,!"7W*2,)N#FC7i`;)66[2~o~g}q[*7)N#FC7Àc*7)N#FC7++͝+*7;)L[7!kn&N[7!;)*7 }!"7*7R!###þ! !þY*7#"7+6*7+"7|++}Y*7#"7+w[7*7;)%9Y*7#"7+6*7;)+!7! !Y!s,*W}”!"W!!!8ͪ!!!8*W+"W7*2<<<<)N#FC7i`;)!"7[7*2}o|g}[*7)N#FC7c*7)N#FC7!7͝+*7;)[7!Yn&N*7W*2,)N#FC7i`;)ڒ!"7[7*2}o|g}o[*7)N#FC7~c*7)N#FC7!7͝+*7;)K[7!kn&N*7}+"7:7G!,"7!"W kbS7"7"7[S7!;)0:7[c*7w!!7(h*7#"7;)!"7!h*c[7!"7zog!7(&"7*7R+"7|fh"7[7*7;)f*7;)Ú[c*7#"7+~*7#"7+w*7+"7|ʂ[c*7~*7wh*7#"7;)!"7!h*ch*7#"7;)!"7*7+"7|ʩ[6*6[7*7)*7}*c!"7!"7! "7÷[W!;)q:WG*2,*7}o|g"7[W!RN!"W*7o|g}!ƒ+"7!7(*W+"W*7}[7*7"7!7(*7#"7 *7;)8*7},*W;):WG*2,*7}o|g"7[W!RN!"W[7!RE*7,"7:7G!7([7*WR"W[7*7"7!"7!"7!"7[W!;):WG*2,*7}o|g"7[W!RN!"W*7o|g}!˜+"7!7(*W+"W*7}[7*7"7!7(*7#"7*7;)M*7}A*W;):WG*2,*7}o|g"7[W!RN!"W[7!RE*7,"7:7G!7([7*WR"W[7*7"7 !"7"W]TS7"7"7×8"7}*W;):WG*2,*7}o|g"7[W!RN!"W*7,"7!7(*W"W:7[c*7w!!7(h*7#"7;)!"7!h*c×*7##"7zog!7(#"7*7R+"7|ʅh"7Å*7~*7wh*7#"7;)o!"7!h*ch*7#"7;)!"7*7+"7#!;)>[6*6[7*7)h*7}*cSk*k} !k"k8  8r8!*k"k*k r!+g,͡(nf͖(s,:BBy_xWyoxg$**ɯ ||q*q*|)8z8 {8!|8 }8R?j:t*t*|DM!B}*fnfn,+,+A+͌**srut}*|ͣ*YP+}*A+YP͌**}*|ͣ*+͌**}*A+͌* +!R!B|MD!BMD!B{>RR8<)jz(RR03333?:= ^#V,r+sx({J!+)y?0)x!8 ,͏,#~ +y( ~ s,!x8)x8<KB(~(#i`KB~# i`!#!9!9^#V#9!9nf^V N F --.F. Bad Huffman code Bad comment header Bad header Can't open Read Error/unexpected EOF Write Error. Disk full? CRC error OK is encrypted Header CRC error is not an ARJ archive Archive: Skipped Unknown method. Unknown file type. Unknown version. CPM-UNARJ 1.00 P.R. Hunt Ideas from UNARJ 2.10 (c) 1991 R.K. Jung Usage: CPMUNARJ archive[.arj] (list contents) CPMUNARJ E[du:] archive (extract all files) File name ------------ Extracting: Out of Memory!.ARJCON:RDR:PUN:LST:     AAAAAABBBBBB Z3ENVCRLZH20 Y UNCRLZH Version 2.0 Copyright (c) 1987 by S. Greenberg Portions Copyright (c) 1991 by R. Warren May be used/reproduced for non-profit use only $Ûs#1Ͷ 1> ͬ2h#2##*~#~  "~#+:x#̓# "~#%>2# :#A 0" D#> ͬ!#ͱ2] 0v ] (.('(Q ͓:#2 #] o] g"#2#E# ] (Z.(M#: #b] 8(5 i#] 8($ />2h#[ ] ڄ ] :# ] Y(.] !0Y] 2#] l:x# ͐͏S#ڡ!#>8 *#:#́:"( <2"S#ڡ*#:#{(*x!"""#2"͏> 2">2">2#X] _] W:# *"R(͐͌H Q `T *##"#͐͐Q |9g!n9҆z9gk~ >2#*#> 2#:#́2#~(#V|g^z ˪!|g~|g~2#͐*"|9g:#w|gs|gw*"#""#:"'2":"< (2">2":"G:#'2#z={((7] 871Z͐88 (O,ɷ(=Gy,>, :#!)#>?:w !%~ȷ(~ Z( Y( Q(>w !(~> ͬ~ͬ]#H1xͷ> 2#!́< !́2#!9966!ii(6>2iGAL~(["r|gs[#|i0A~V|gnz9gn([#S#[#:#Gr|gs|gp]))))o{ig#u"#] 2#] >2# : #l:x#̐!1!"4*"+"">02#!9:# : # Vx8 [#xͻùa LZH Uncruncher Version 2.0 $Checksum error. $ [ Not compressed ] $Invalid Crunched File. $Requires newer version. $Stack Overflow. $Unexpected EOF. $Usage: $UNCRLZH {d$:}afn {d$:} {/options} Second parameter is destination. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files$ S $clude System files$%:#?͓!#ͱ+#A D#ʹ 0Q 7>$2#:x#̡] 8 ͌H Q ! #E# ~#͐!"#!%*##"#T]~c *#>.ͬ> ͬ#͈ >.͈ͬ >:ͬ(>*ͬ͒ U !>ͬ> ͬ͒ T >*ͬ>͡B *#+}T A+"#͡+͐͒ BNY(>ͬ>Yͬ͡~#ͬͤ  (*͵ :֤80 {!"#(@8>@2#ƙ2#* }(!~ !$^#V{( #:2x#:2y#:2z#:2{#:2}#22#2#:#2#2#2C#* | Ee ! "D#!#^!!# : # ʼ 8j!D#^!!D#  :E# (Sù!]~/ʼ ʼ+#:i2#:k :y2C#:{ :l2D#!N>[+xĿe :# :#2#G:D# :#2#( 2#G:#O:C#2#>?! # (2#2#:z#/2# >/82#0|S(D 2#͓3#  "(\:{#D!%"~#:Gƀo&> ++~/ +~ #( yA6#͚ ~S(Q(I( T(C(E(O(ù!}# !x#!{#!y#(66|<('~ :#w*,0 ~$ùùùù|(~[ Ϳ7#=S##k<7#k}'i ~#:"=2"z ͡1.:#¯  , ,}2"(!17k,k#k >:#k#kѷͼ:#(͓!D#ͱ:y# #kD#k<('͓2(͡7:x#( :y# ͡D#kk< 2(ͼD#k:#+##!ͫ :h#(!i#!s# !ͼP#D#!Ͳ >f>gkOk={' ͍8:# :#'G ͼx:#yykX,kD#k KG͐:# ͡+F͐2͡:#=_k%[#k:#=_k*~#"~#](kD#k{/<(G> B%D ͱ:# :C#:#_:#( {2# k k2#k<2#*"O "" > H Q ͓!D#ͱͼD#kk (Yyx/Gy/O>j 8B= !"#͡ k > ͬ> ͬ_k͓>͓l͓͙͓͓͓ͅͅ:c^͓:c^͓:k.͓C͓:q{M͓'͓:x#̡*#͓*#+}>sĬ"͓͵{#:>nì>fͬìÓ>Iͬ>nì>Eͬ>xì* }>uʬ>iͬ>rì!~ !x~ ͬ#+F#~# :#@ͬ x 8  0x0ͬ0ͬ>:ͬ >.ͬ> ͬ~# ( ͬ!"#k#k%E#k(E*#|ɇƀo&:}#  ~:{#G(> ~O#*##"#Bk(*"#""!#͡ k(k ͡(:x# :"=G:#(*"#""!#͡>$2# #͓> 2#:x#  #͓:# A["*""#f> ͓ͬ:# !:" *"> ͬͬ*#!DM)jJ)j)j)jJ)j)j)jK#G<#~ ͬ*">)ͬ͡<<<>kͬb}b}b}b}(0ͬ0ͬ!."(!1 Nq# # 7K#C#%bkL< xi{ _zWK# C#x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $Z-80 CPU required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ in out rat ==== ==== ==== $ file$ processed.$   0 / 0$."#>PgR"#|gs#2#>2#!"#͙v ͙(>> >>>7{#ɯ͙ ͙͙G>8͙͙S#͓ڲ!#>8 *#:#S:#(͓ڲ*#9Ҟ:#gk~ >2#*#:#S~ʢV|g^z |g~|g~2#mg:#gOD~(|0g~( G|gn`a`r|gs|gq x2#?0͙W͙2#::::_ ͙_:#Wz?88 (OͶɷ(=GyͶ>Ͷ!!S< *#T]>w6@>*#w}eo0 $:# :#g:#G}/< OT]>(*#:#GzGK>(æ+|0gr|gsBO ,L}Z8 90)))))l] ښ,UU8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. `>_>_>_>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xn!;s#r# x!;s#r# x–!;: N#F#~#~# x«!:s#r# x!' :vs#r#s#r# x!"% #"*# > >̭*)~#fo"!;N4#"CF,4#y#xڟ#y#x5++~p+~q"y * 2Nwy#2Fwx!' yxs#r҅#s#r!' yxq#pҟ#q#p!' ~#fo!u!;^#>>{! w#w~#fo#|g}!; w#r#+|»!:v!;^#V#~#fo!; +z+,{PY}O|Gh!; T]+~+ xH! T]+~+ x^!; s#r! s#r+| ! ^#V!' q#p>ڭ©>ڭ#q#pxŠ>7þ >2"B]w2# XvS XS  XX !N >7>22 2d!6 # x-!|W}* M!qzW:`}ʣ|XDMͧ#{ozg!~w* #|g#|g x}:J1dN ں úd n&)))))>)>?o*oDMyx) N#F! |g}o">( X72>goW4o&!9"a!q*#{zs*a+}|o}|tѷ7"!x N#F#^#V#! s#r};fy; ' % # ;T' o' ' ;;; ;;@V;jr' +Jo] !#5,."#!y [#*#4!v 4!(7ɧ4!4! 4!(8 8>>4!O4!Gc *# ͮ ͮ  x B4!O4! !!!!G:#G6,q,p,(y/,w,,!4!G7*#! !33e 88 (OH!ɷ( =GyH!>H!] ,+6#͵""͖"7"͖"ʄ!u!":"͖"!0M" ҷ!GyOM"+~# w7"͖" L"L" ‰"*ʎ"w#6?#"!"ʦ"45#›"a{Ҳ"_ɯw# "" " p# " " " .,:;[]=<>|!9"1P *."   USQ Version 1.20 Dave Rand 01/07/19842 2:  Use: USQ afn [afn afn ...] [destination drive:]>2  *!6x :ʗ2_!6~#a{_: : _!l2 <2m]"!"!X =:] P  Output drive = :\2@ :_͋"*"*~ #pwb"*}š No file(s) found.*""* |g}o|g}o%| Out of memory. Use more specific filenames.*" $$.""* "!X  6 !Gxwgʯ#Ò!"=!\D :2D!PQ6D< No directory space. Aborting."K Files has illegal decode size. Aborting.P "|rs#r#s#r#*+N!‰_iu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_|}~# **,~#"*""X* 5"*>O**}q#"͆yi**D¼*ڒ*" Disk full. Aborting.go  Premature EOF on file... aborted.g:!=2:C>C4>==2:2:O:\O>=2yO!P k##^#VzJy2z>ʈ{/:\ʞ_\<º: _=!_#:\ ~#\<ºì: G: < x@>:!~ # >.!%~ 5# *!\*Y@G:a:  ~# xʈ{/:\ʞ_\<º: _=!_#:\ ~#\<ºì: G: < x9 Usage: UNZIP ZIPFILE[.EXT] [dr:][afname] UNZIP ZIPPY lists the contents of ZIPPY.ZIP UNZIP ZIPPY.ZXR lists the contents of ZIPPY.ZXR UNZIP ZIPPY B: extracts ZIPPY.ZIP to drive B: UNZIP ZIPPY *.TXT extracts all .TXT files in ZIPPY UNZIP ZIPPY B:*.TXT as above, but to drive B: {fUNZIP V1.2 - DPG 1990 (PM 4) :] !k:m :l2 :e !ZI"e>P2g\< =fCouldn't find ZIP file fBad signature in ZIP file ͉| ͉- %% -- | ]-- | J ͉͉͉͉͉ y y y͉͉ y!y! p *y *y !N. N:2! * ? KZ : 24(?<(Z! kf already existsf -- not extracting 2 <2 ͔: (2 2 ɯ2 :4 (&< fError creating ! k͔! 4: :  Q͔ = A=0ͮ7 ͢ 0fUnknown compression method -- skipping ! 5#5:4(!+~(5!07O#y(fCRC error fCRC OK ": *+"w:!!*5C+= <0}͔6+w.( ( Nw#6 #k~_#|͔+͔͔lg: >: (!*[z ! 4>|+" S! ~ s\ ~4o&~>*,|gw#",| *.#".*[|+" S}  ̔| ! 4:4(2!+~0-5(242 fWrite Error !5662+!+4n&4w*:! = f00000k*0[2O}9:0zW{_|g} o"0S2> 2!"!"!//q>6!q# "}2 !֏":  |= ) | -(-!4~ ! (!)= +"")/~#<* :*!~!R0 !/^#V2[!֏R(  *"!R8,!/Kq#p!:w!R8 !/~#< S*"8*R( !/*R(!/^#V˺!R0!/˾*R(!/~(6+6! R(!/~#<(S!0>#w!ó G( >#w#+_! ~2! ~222: v >#$>#-(v =o<= #o[́ ~2o: } (>2U= #}(2:go&" >62>/= }!w0#4>= :G:?g#K͍ 2:2*&/~::*,[.B0z(x( #|  xzW!~  >#TZ#DMsr###x>#<>##()= ~0#####~ ~ =~ ~ ~ ~#####~ ~  : <#(:( !/4 >#:#!74 K) !34 o&? >#[DM#͍ :l2:m >*2m2u!m+ y ~* ?y#! ?((#y!  :8>! _ !   - !   - fXXXXXXXX.XXX 000000000 12345678 000000000 f Filename Real size Method Archived ============ ========= ======== ========= ^#V#~#f_W_ 7g 0w#0| ٱ(w#z(o |8e.)8,?Stored Shrunk Reduced Reduced Reduced Reduced ImplodedUnknown DM#͍ :l2:m >*2m2u!m+ y ~* ?y#! ?((#y!  :8>! _ !   - !   - fXXXXXXXX.XXX 000000000 12345678 000000000 f Filename Real size Method Archived !!TIME&T CASTLE COM DM COM+ DUNGEON COM~ITEMS 3-4ITEMS 4-5ITEMS 6-7ITEMS C-0L0 L1 L2 L3 L4 L5 L6 L7 LEVEL 0 8LEVEL 1 8 LEVEL 10 8!LEVEL 2 85LEVEL 3 8"LEVEL 4 8#LEVEL 5 8$LEVEL 6 8%LEVEL 7 8&LEVEL 8 'MONSTERS0-1(MONSTERS2-3)MONSTERS4-5*MONSTERS6-7+NEMESIS COMH,-PERSON COMp./QTERM PATA6ROGUE COM2ROGUE DOC9ROGUE NOTTERM DEF0TERMDEF COMJ1234CASTLE 0 8$$TEMP$$$$1@6!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIMEMhz that your Z80 runs at: 4, 6 or whatever. For a 2.5Mhz cpu, use 2. 10. Escape character: 01CF All special functions of QTERM are activated by the use of escape sequences. At 01CF is the byte used for the escape character (the default is ^\). Any byte can be used, but a little used value is best selected, also using a printable character (' ' thru '~') may have undesirable results. Note that to transmit the escape value itself, just type it twice. These previous two are necessary. 11. Signon message: 01D0 - 01EF This must be a string that identifies your system / terminal. It must be present, and is printed when QTERM first starts. As with the previous strings it must be terminated by a zero byte. 12. Clear screen: 01F0 - 01FF This must be a string that clears the terminal screen, and leaves the cursor in the top left hand corner. 13. Moveto: 0200 - 022E QTERM requires the ability to move the cursor around the screen. It calls this subroutine with the required coordinates in hl: where h is the row, and l the column to move to. The top left hand corner of the screen is 0,0; and the bottom right corner is 23,79. This subroutine will have to do terminal output: at 0109H is a routine that prints a character in the c register, and at 010CH is a routine to print a decimal number in hl (mainly for the use of vt100 and vt220 compatibles). Note that the above two subroutines will destroy all registers, and that this subroutine can also destroy all registers. 14. Teminal capability bit map: 022F This byte contains one bit set for each of the following terminal capabilities: bit 0: (01H) bright (end highlight) bit 1: (02H) dim (start highlight) bit 2: (04H) delete line bit 3: (08H) insert line bit 4: (10H) delete character bit 5: (20H) insert character bit 6: (40H) clear to end of line bit 7: (80H) clear to end of screen 15. Terminal capability strings: 0230H - 026FH In this area are eight strings, each of which can be at most eight characters long. They are the strings to be printed to perform the terminal capabilities mentioned above. Each one of them should be terminated by a zero byte. Hence at 0230H is the string for dim (start highlight), at 0238H is the string for bright (end highlight), etc.; with 0268H being the string for clear to end of screen. Programs that use these will check the terminal capability bitmap at 022FH before using them, to determine if they are available. 16. Patch area: 0270H - 02FFH Since the area provided for the above patches is limited, it may be necessary to use more space. The block of memory from 0270H to 02FFH is set aside for custom patches, this can be used if the individual spaces are not big enough. Once all the patches have been made, exit the patch program (usually by typing ^C), and finish up by saving a new copy of QTERM: A>SAVE 45 QTERMNEW.COM In addition, the patch area only can be saved as follows: A>SAVE 2 QTERMPAT.XXX Which will create a 1/2K file containing all the patches needed to make this particular version of QTERM work. By doing this, when a new release of QTERM needs to be patched, all that is necessary is to read in the new unpatched version with DDT or whatever, then overlay the patch area. This is typically done by typing: IQTERMPAT.XXX to DDT, SID, ZSID etc. to set up the command line to read QTERMPAT.XXX, then follow this with a: R to read it. This should overlay the saved patch area on the new version, hence doing all the patches at once. Then exit DDT with ^C, and do the first save shown above to save the new working version. NOTE: this "overlaying" of patches will NOT work with versions 2.8 and earlier, however from 3.0 onwards the patch area is guaranteed not to change. To aid in patching from earlier versions, the main changes are: 1. modification of the baud rate table (expansion from the 4 byte table with 300 1200 2400 & 9600 only) to the 16 byte table that covers up to 38400, with selective rate enable; 2. moving the processor speed and escape values; 3. addition of the terminal capability patch area; 4. addition of the patch area at 0270 to 02FF; work with versions 2.8 and earlier, however from 3.0 onwards the patch area is guaranteed not to change. To aid in patching from earlier versions, the main changes are: 1. modification of the baud rate table (expansion from the 4 byte table with 300 1200 2400 & 9600 only) to the 16 byte table that covers up to 38400, with selective rate enable; 2. moving the processor s -/./> .>.>$!!+ ,(SOROC IQ 120/IQ 140)* = |} O )(REWQTY===PATCH AREA===:222 {!~OG(M#~\ @T]HD#~N > &R > T > B >F > E >w  wPX}8~+(##+!*"lbj9F*l!hˎ!á!>Oͪ!9͡* h!9͡*h!9͡* h}& $> 0o!9͡*h>( *h!9͡*h}8!9͡}!9Ln!9͡* h|( *h d  |0 *h>/ * h[h!9z(1!@R!R!98 !9!hN' g~# ~ #͗:/@ ( => ×!`á!h ^˞Ķ*g͗!:|( >- [9& 8|{0O 8!E͗!:͡ _or3;!:V4!V4!,:V4;͂":uh !G:^#V{(#~#2gOr3:gGGy:008:g   !h=OLyL͙\l . ̀ > O(( }!\##p#6#w#q^V ͂"^#V!9)7( !<͡Ó! 6͑<(!Y͑͑(*l"Y*gq9| ͑p*"l'!͂"ͫ!YY 6+6 !lN N N " 0" 0 " 0 Z͊ !R0!l ~<  ####y0`h$< (< ݾ( ݾ(ݾ(w !9~ ->% &4}G>*  (>:  , >0ò Ex(  G͝>@ 6.Sg!Z>~A 6.## x ..Ea!Z>^!D<ͽ8$(6.## x '!.̀ }ůWn : H : H n  ů n d j d j G w##P0<8&3xO!~l N ~8YVo (YVo N ~8$Q^o Q^o (ͦ ͦ ngͶ 6#g.̀ |(: h0P0n_D_.d̀ R?WN ~=8.anͶ 6|anͶ 6|^~=8akͶ 6.#r#N ~8ifͶ 6-ifͶ 6-͐ ͐ ͐ ͐ ͐ ͐ ͐ ͐ bk{P0 z0Ͷ ɯ~6##<w+Ͷ #lg))))]T))W)Y~!,<o #o x 7 y Y F "yj A{ P_7 _Y B7 xj z YWY W7 KY yj y(i`J bkͶ (#Ÿ6#xj x(i`J ~lo&~< ##^#VPo& ^# = V= ^+ WV+++ _: h2 0=OO.d̀ BbkͶ >+0#+~w = = F##~Oì } 04 #4.̀ } n&.̀ .P̀ cS]ͱ . ~+8 N ~=8^~=8akͶ bkͶ w _R>? #\ͫ R>! #\ͫ w#6#6. ̀ } &4} > *.h|( ^#V+S.h!͕8|<>3 [*h"*h\>^ 6.!5 !`5 !5 !5 8#.̀ } .̀ - >\w~+7#~R>/ 6.#\ *=h $< *?h&4}*;h  *9h|~#foA ͫ !Ah46# "8 wA ͫ 0!Bh46#6:44 (wA @ (F !ChA P !Dh468'  = 0     w#6  w0&4)8 [(h"(hs#r#͝!ˆ!~#foͶ 6.͵ͱ ˞>A 6.###s#r [,h",h\>A #\.̀ x(}!vhL~ ))))Vx( : h8#0s#F#~..w#6 #w͂"c 7:'h2h[gyysysysys>2h'!= N ~8^~8akͱ akͬ~#bkͱ G nċ~ !hV x.~# x|-͗ͱ ~ "x?˦ͱ ~(G( ( N('~!EI>M M G(_˟(. ̀ }!E+ !>^"~!J>L~#fo͆B/+w#G[g !l>1g!O<!g͆Ó~0{8#z8 #~8#~8####*gͬ=$=,=%=%=-=-=<$ͱ f ^(####~ :4h F+~.͗> ͂"cͫ!+!͕,}P o$| '!ͱ N(. F(> GͲ͗Ͷ T]ͱ #(} (y*gͱ #(j^(F(f Kn,f$ͱ F(8@T]Ͷ #(1~#('F(~< ͱ N( R*g|[0}[0ɇ0D*gͶ w#n,f$ͱ ~w<####~PCO!1h~(5#~( B/5!W<Æ#( 5 !j<͆#~(5͂"*h| ye( &4}p!<ͽ8)<^#V!hV˖(CNˎ!>Oê! :'hW( .̀ }(:3h( .̀ )< N#Fj :0h(1. ̀ :h 8 0 !=L~>>0 B/!=O20h*g|(}(U bkU( >/B/'!bkͱ ^„fā+(.( #(%(^a* Y`if^˦> : h8>&4)8>o&))))))3c(*h"hgB!7= : !h4!D= ,±2%h!T͆+6. :sh(!N=O!"a=bk͉$͗,ͪ%͗%ͪ-͗-ͪ$͗$ͪ*a=}0|(  W(*g͗ͱ F(. > bk"gͶ ^:&hg>L >!lw 6:&hg>e > *&h\("!h~d8dw8[h*hR(ShͶ}&(-[h|(!"h@x( !+!c=͆'!x(!+!z=x(!+7!=B8B8ͱ n(ˮ+6^Ͷ +(&# !a=4ͱ *(,(:( %(^(~!b=w"~ !=͆..V>= !=͆..d>ñ!= !=͆<20h= !=͆'g,= !>͆>^ >@ 6.Sg&4}22h!<ͽ8$!hͶ .*:^%,ͫ!Bͫ!>͡'Q+˦B/͐bkñ ͂"'N#Fq#p!N#FQ!l͆y!5h(=!7h(=!9h(=!;h( =!=h(!?h~#fo()####y #x( ~#w*.h".hs#r~#(~+ngr+s'!!,h!*h!(h^#Vz>2!N#FB PYɅo$͜*ihR!E( *khR!E(*mhR!E( *ohR!El L~#fo~ !nM&lB> ++~G D>!hL~!E͓_(!E͓!hLL͓!E͓!E͋= K>!EhL~ !tlL~!;͋!F͓_!F͓_= !E͓!i!E͓!F= d>!QhL~ !hlL~!;͋!5G͓!6G͓= !E͓!|j!E͓!;G͋x(>[###n&B6]#6= T>!]hL~ !\lL~!:͋!G!G͓= !E͓!lk!E͓!GO͋x(yh= xh!UH>͋_!H͓xh!H>͋!H͓KBJ 8|J{0YP >s>[###n&u>+(}Do>-˽B>]*7h|(A!I ͫ-|-A8!7hG^#V|( 5 ^!#IN#F>!/IO͂" 2Fh![I͆*h[hR(. ̀ }LѷR8"h(*h#"h2Eh:'hO c!kI͆.̀ E!h!+'!2Gh!~I͆ 24h!Il͓&4}!IL~#fo͓!I͓͆ !I[!#J͆:h!h ~!hwͶ?!RJ͆>//2Ph!hJ͆*h"h*"h" h!!2Kh 2$h!JT2Lh 23h!JCn4~5{!hh(!Ehi=(!Qh|j=(!]hlk{LN(!JO͂"L~  ͑!l^#r_6`iLL!l'!!Z@~* ## x z !J͆?!h!!K2Hh!@K͆'ͫ!Ͷ * ͗>$ ,}P o$| -*,h|(!^K͆'ͫ͟!͟!͗A | !Nh6[.h+r+s".h*5h|!K ͫ-|-A8!5hG^#V|( 5 ^!KN#F!K͆>2h!K͆'!Y~#.(*(:( nˮ(+6+## x p'!!h!K!!,h^#Vz( !ˆ!L<21h!;Lç2hO>@ 6.Sg2sh*mh| !gLL4˾+++~pP ! h5Ͷ`i*oh|(L*(h|ʤ!L͆'ͫ͟!^#V͗>$ | !h6-2hOc!L(]!M͆N ~'!^~8akͱ ˆakͬ2h!M͆.|'!!~ ~!hL6Q!lO= ~!Eh= ~!Qh= ~!]h2h!AM͆!lM[0A8!vhL4'!a##~#foͱ ˞@&4}!A 6.#^ s#r# ì*=h|͚"͇!!{M ͫ-|-A8!=hG^#V|(*mhR5*!5 )?!ͱ ^sr(R~_###~/G!MN{8! x8*mh|(####~ ##~/<>-!:gm \R>@&4}!/ >.w#f \͵ @$z *mh|(!####~ ( =(=(###~/G7-!͂"͚"~_## F!MĆˆ#))))V DM*h>% 8 A5!!6No!<ͽ8)8<^#V#!h~!>NL*hR"h+)Ҷͫ_NͲ"͡OͲ"*h 8R!T͡OͲ"!͗Ó[h[ hDM! 0S hDMCh*"hR *hB0;! h4. .{*h"h*h"h*"h)""h*h)"h0 "h*"h#""hͶg!O͓* h&BÆ!9!+| *gͶ gn,f$ͱ ~og<o͗( !U~6!$h~( 5!ŎF͂"&4|a!th4~ w*,h|'!^#V+M#͂"c*,h|(##~#fo~(gĬg̬~#fo!~GW:th(G ~++(4+G~x #(4(4##]TN#F*g|7%W}7%_####N ++~= .̀ - .̀ }! ͓o&ı!P͑$!>* h* h===L30$y( ~(G~o.O>><ͱ ^ ͵(( -( |(a2l*9h|%͚"͂%%=((8('!!Rh%t!5P!\h%!SP͆..lͱ!%͚"͇!͂%%_>!Qh%͝(w!aP~#fo!yP!~P!PP͓*g͏"ͱ ͵(([9͵ ͗~ ͏"!9! 9s#r*gR  ͵@$ ͱ *gR 8...g!P͓C30 !P͓ !P͓lͱ!͆ ^(i.G!P (?!]Tͱ ^(ˆf +++~+ng@$*gͱ ^˞ ͵( \@$Ͷ ͵( r'.̀ }(~0wo&))))VF#~..#w#ˆ˦#!h&r'!P##^#V.M.E r''!͘'< ͘'[9ͱ ^(YP##\~  2shͱ ##ˆ˦r'!N#F#n&))))V DM |>-}>||>\>/.#+*:^%,Q>A2l!lh~++~+ !PO##( *(++^#V ~( :1h !PO͠**j*?h|(k*oh|(~(:1h(+Dw!"ohͶ!P ͫ-|-%('A8!?hG~#fo("oh+w!h8*=h|(T*mh|(~(:1h(!"mh!Q ͫ-|-%(A8!=hG~#fo("mh!h'!*;h|*ih|( *kh|!;Q 8!GQ ͫ-|-A8!;hG~#fo(*ihR(*khR !gQO*kh|*ih *( "ihz("kh*!~v*Ͷ_?'!~###  h8= h͏*h=qh(=rh(+++~  h= hͻ*h=qh(=rh(!nQL(R !hˎR!"&h*ih**kh|~G!()[&hj9"&h~/+++_~! h!h~ w!h~ !QO5&4)> !Q8>!Q//>/pͶ'!!Q*gͱ #(. f .|(M/5*[(h+r+s"(h[g##s#rͱ !h>/.|(~_@!Q/>/!g!QY(!>ͪ!Q͡Q ͑#^#r*Y"lQ)7!< ! 6͑͑!Y͑!*YR0 ͑!R͑Ó>/!RY( '!*gͶ % 0! h4ͅ-͙8:%h( *gͶ %(! R0!*R͆'! h5n,ͫ!UR͡*h[h*7h|( ͵/~#fo*5h|( ͵/~#fo*;h|( /~#fo*9h|( 0~#fo*=h|( }/~#fo*?h|( p/~#fo!T͡!>/ͫ*hM!T͡-!T͡ .:%h( !T͡ . .--!9h#('ͫ----͂"'T+*(h|!"(hİ-**h|!"*hİ-*,h|!",h^#V{ [.hr+s".h >s *5h*7h*9h *;h*=h*?ha|x > Q!l͡ .~#fo !Tá.̀ ,!5h # !T͆`h!To!E<ͽ8E(7*5h| !T͆! U!5h ͫ-|-A8G^#V|("*7h| !%U!0U!7h ͫ-|-"*9h| !KU!TU!9h ͫ-|-"*;h| !mU!vU!;h ͫ-|-"*=h| !U!U!=h ͫ-|-*?h| !U!U!?h ͫ-|-o:h0>2h!U4!h*ihR(*khR(*mhR(*ohR~!U ~!UL^###~/!/+(!d{ 0! =()~!ULn&##n&8~! ((!()8 )~!=/!(~! VL^###nb8!( ) () )>D3:'hO!X !hͶ!XÆ>D3:2h 22h!X!^˞..o>D30=!X͆YC3...."Yñ!z2shC38'.̀ %5h]T~#fo(M/( y ..+Y  G^#V+z M/( ~6Q=w!!=Y :lc3( !l5 #!l4l#w+6!d2 O*hB"hͶ!?Y##^#Vbk͗ͱ ˞GͲ!Æ!h##^#fkTͱ .~0+N ~=>*8^~=8akͶ * ~w.̀ -##N#F`iͱ .nfR͉2.E P _!ChD @ _H>8 O!Dh+ _!Ah4V G- 0 :(_!Bh4V..EX ( _\q#p#*oh|~! h~ (455Ͷ!YYÆC3 23h!mY!^&4)˞>D3! h5(R. .*hR"h8A*hR"h*h["h(3"hS"h(3"hS h!!!Y:<!0uYñ!* h=Q3.}(8aeioux9z Z !Y= 8͵7 ͍9(} 6͍9 ( Y ( ͍9ѯ= _G\͍9X_W= *Y"Y*Yq9"Y&4&4!!|(<00# )*Y[Y)j|84SY"Y[Yc9\9c9"Y!"ll"ld4͂"!++!96"l!#9N#F#͓4##'! %( 6}6>5+w+w+w=+w+w %(- 4 0 4͌7ut.  *(:0 08 ͌7ut^#V# (wa(A$6r(RK6zʦ6c(s(0x((p(o(b(d(xu(~Ó4664n~(#~~0NF~_~W0~ z(> 6x(~6# z(> 6z(> 6|(4[9 rKl^V^8{0:8'6| ݶ(>-6z(#~ ݶ( - 6 ~> (>06 (6 |w(Kl+8{6| ^Vw_|(}ֈ|Kl8nf| .>*6+| :6 8~!=( U!=(U!ͱ65 }.6N#F#͓4>5{ z6>86lT(}6=^V6sr݆z#_*l|(|<(s#r"l!%7*l*l7T]pT]6  !8B0>: y=+~@+w%. xy(# ͝9x(=8w #* ^#V# ! :00)T]))_̀9~#o7x9| --b8*YK!$N(wy ~ . 7y#N#Fp+q##N#Fp+qO+~ :###͍9!͍9 !!%p#p#]Ts#r#6i&!$!E! ! !M:Y {  ͍9 ͍9*KYBDM*YB8!"Yx9E!((#!DM!x 80)z bjz bjz|[9|[9!{z8))0??!x(R8 33[9+|/g}/o|g}o|g}o|g}o!!9^#V#~#fosl{aLevel: Gold: Ac: Hp: ) Str: 18/2AKPUZ\^`abcd Exp: Fainting Hungry Weak@-- More --ROGUE - V1.7 DPG 1985: Hit any key to continue #$JV&zV&V4V3 W'LWZW$[W$WDE3 aldeatofbroncurgdretdalbelugertafrapgorlhinaiploiwutjorkkredlanimernnapiocruoledpenaradlstugseritrentalbunirutravoliwustyolazern5;:;?;G;O;T;Z;c;l;v;z;;;;;;;;;;;;;;;;;;;;;;;<<<.iescdqrzpwtWQSPR /?HJKLYUBNhjklyubn'!],w,%-)++e+2&P&)o$)J,+)(+Q+jr(-27#You are still caught in a beartrap gold piecesSome foodYou are being heldYou are getting hungryYou are weak from hungerYou faintOh no! an arrow just hit youA small dart just hit you in the armYou are caught in a beartrapYou fell through a trapdoorA strange cloud envelops you, and you fall asleepV>d>p>{>>>An arrow trapA dart trapA beartrapA trapdoorA sleeping gas trapA teleport trapLegal commands are: h move left l move right j move down k move up y up & left u up & right b down & left n down & right H run left (i.e. keep moving till you find something) L run right etc. etc. etc. > down stairs < up stairs . rest i inventory e eat food s search for traps & secret doors d drop something c call something (i.e. give it a name) q quaff a potion r read a scroll z zap a wand p point a wand in a direction (fire it) w weild a different weapon t throw something W wear different armour Q quit S save game for later P put on a ring R remove a ring ^R retype last message ^L redraw screen / identify things ? list commands (this display)Objects and what they are: A giant ant B bat C centaur D dragon E floating eye F violet fungus G giant H hobgoblin I invisible stalker J jackal K kobold L leprachaun M mimic N nymph O orc P purple worm Q quasit R rust monster S skeleton T troll U umber hulk V vampire W wraith X xorn Y yeti Z zombie - | walls of rooms + doors # passage % stairs ^ traps . empty room ! potion ? scroll / wand = ring ) weapon ] armour : food * gold (on left hand) (on right hand) (weapon in hand) (being worn)scroll called of EFFF%F2FBFOFXFaFsFFmagic mappingenchant armourenchant weaponlightdetect magicconfuse monsterremove curseidentifyteleportaggrevate monstercreate monstergenocide potionFFFFFFFFF GG)Gpoisonextra healingdetect goldrestore strengththirst quenchinghasteconfusionsee invisibledetect monstersextra damageraise level wandSGFZGeGjGoGyGGGGGGwonderlighteningfirecoldpolymorphmagic missileslow monsternothingteleport toteleport awaylife drain ringGGGHHFH)H8HG@HHHprotectionsustain strengthdexterityincrease damagesearchingadornmentslow digestionstealthhiccupsregenerationmHwHHHHHHHHHHHshort bowcrossbowslingtwo handed swordlong swordmacespeardaggerdartarrowcrossbow boltrockset of armourHHHIIIplatesplintchainringstudded leatherQuaff what? (* for list)Nothing appropriate>PYou feel betterYou feel very sickYou feel much betterThis tastes just like IIIIIIIIappleapricotbananacherrygrapepeachpearstrawberry juiceYou feel ill for a moment, then it passesThis is great: it makes you feel warm all overThis tastes very dullYou suddenly feel more skillfulYou feel yourself moving fasterHey - what's going on around here, who? what? huh?That's already identifiedcall it: You feel a strange pull downwardsYour hands start glowing greenYou feel the presence of goldYou feel the presence of monstersRead what? (* for list)As you read it, the scroll vanishes2q>Oh, now this scroll has a map on itYour hands start glowing redYou hear a high-pitched humming noiseYou feel as if someone is watching over youYou feel a strange sense of lossYour weapon glows blue for a momentYour armour glows blue for a momentYou feel the presence of magicThe corridor glows for a momentThe room is litThis scroll is an identify scrollYou have been granted the boon of genocidewhich monster?Throw what? (* for list)Wait a minute - that's a mimic! missed the Defeated hit the Your hands stop glowing greenYour hands stop glowing redThe appears confusedYouDirection?------------------/1\/2\/3\/4\/5\ | 6| | 6| | 6| | 6| | 6||6||6| ------------------------------------------------------------ ( / \ !) | ( (\ \ / ! ) ( //| ) ) / \ * * * |*)* * * |*A*$R. I. P. You were killed by Total worth: Better luck next time!Welcome to level You feel yourself slowing down hitThe you missedZap what? (* for list)Nothing happensYou feel a tingling sensationOuch! That hurt)&&&&' ()((5(?((boltflamesiceThe missed you hit youThe missileNot wearing anyYou can't, it appears to be cursedWear what? (* for list, % for no armour)Weild what? (* for list, % for no weapon)Wearing twoPut on which ring? (* for list)In useLeft or Right ringNo foodMy, that tasted good!Yuk, that was awful!Something thereYou can't call that anythingFilename ROGUE.SAV?? rogue.savNo way downSure?No way upYou feel a wrenching sensation in your gut # # ### # # # # # #### ##### ### ##### # # # # # # # ## ## # # # # # # # # # # # # # # # # ##### # # #### # # # # # # # # # # # # # # # # # # ### ### # # # # #### ##### ### # # You travel home, sell all your belongings at great profit, join the elite ranks of those who have escaped from the dungeons of doom, and retire for life! Your final worth: gold pieces ration of food The amulet of FunidoogNothing suitableWhich class of item?No scrollsWhich scroll? (* for list)No potionsWhich potion? (* for list)No wandsWhich wand? (* for list)No ringsWhich ring? (* for list)No weaponsWhich weapon? (* for list)No armourWhich armour? (* for list)dP<2( 2 2222222222d22222222222222 2dW G00W00W200W 800W f00W <00W(00W 00WD00X00X00Xp11(X4 00.X 2014X 008X*$00DX (00KX220XX 00aX&^00gX44%20rX20zX00Xd00X <00X 00giant antbatcentaurdragonfloating eyeviolet fungusgianthobgoblininvisible stalkerjackalkoboldleprachaunmimicnymphorcpurple wormquasitrust monsterskeletontrollumber hulkvampirewraithxornyetizombieThe sting has no effectYou feel a sting and are now weakerThe floating eye's gaze has transfixed youThe dragon just breathed on youa dragona wraitha nymphShe stole anYour purse feels lighter!Your armour weakensThe umber-hulk's gaze has confused youThe vampire's touch has drained you of a levela vampireHit return to set R.N.G. $lzYlisible stalkerjackalkoboldleprachaunmimicnymphorcpurple wormquasitrust monsterskeletontrollumber hulkvampirewraithxornyetizombieThe sting has no effectYou feel a sting and are now weakerThe floating eye's gaze has transfixed youThe draCommand letters: > go downstairs: must be on stairs '%' < go upstairs: must have amulet of Funidoog ',' and be on stairs . rest a while i inventory: list all items being carried e eat some food s search for traps & secret doors c call an item something d drop an item q quaff a potion r read a scroll z zap a wand p point a wand in a particular direction w weild a weapon t throw a weapon in a particular direction (see weapons below) W wear a suit of armour Q quit the game S save the game for later P put on a ring R remove a ring ^R reprint the last message ^L redraw the screen h move one position left j move down k move up l move right y move up & left u move up & right b move down & left n move down & right H, J, K, L, Y, U, B, N run in the given direction till something is found certain commands can be done repeatedly, e.g. 10l will move 10 spaces right, or 5s will search five times, the maximum repetition count is 255 (guess who's using a byte counter!!) - command letters don't get echoed, as the effect they have usually shows up in some other way. Things on screen: solid rock (empty space) . room interior - | room walls + door # corridor ^ trap % stairs ? scroll ! potion / wand = ring ) weapon ] armour * gold : food , the Amulet of Funidoog A-Z monsters - A giant ant B bat C centaur D dragon E floating eye F violet fungus G giant H hobgoblin I invisible stalker (if you can see them) J jackal K kobold L leprachaun M mimic (when it's not pretending to be something else) N nymph O orc P purple worm Q quasit R rust monster S skeleton T troll U umber hulk V vampire W wraith X xorn Y yeti Z zombie Anything that can be picked up (scrolls et. seq.) gets picked up when moved on top of, to fight a monster, either point a wand at it, throw a weapon at it, or to fight it hand to hand, attempt to move on top of it. Weapons fall into four classes: 1. two handed sword, long sword, mace: these are best weilded when going into hand to hand combat; 2. short bow, crossbow, sling: these are best weilded when class 3 weapons are to be thrown; 3. arrow, crossbow bolt, rock: these are best thrown at monsters some distance away, best results will be obtained if the approprate class 2 weapon is weilded when throwing class 3 weapons; 4. spear, dagger, dart: these are best thrown as class 3, however no special weapon need be weilded to throw these. When throwing a weapon or pointing a wand, the direction should be specified as for moving, so to point a wand to the left type in 'ph', and give the letter from the inventory when asked what to zap, similarly to throw something down, type 'tj', and the inventory letter, etc. etc. etc. The general idea of the game is to find the Amulet of Funidoog, which will be found somewhere below level 20, and escape from the dungeon with it: once it has been picked up, the '<' command to go upstairs works. This game has it's roots in AD&D (The T.S.R. fantasy role playing game), but intimate knowledge of AD&D is not necessary to play Rogue (though it can be a help). Rogue was originally written in C, and released on Berkley UNIX systems - the only major part missing is the wizards password (which is a massive cheat anyway). By and large, damages that monsters do, armour classes of monsters, probabilities of hitting in combat, and other such variables are lifted directly from AD&D, as they were for the Berkley version. A few (hopefully helpful) comments: use the rest command copiously - it allows you to regain hit points lost in combat; traps generally only show up when you stand on them, unless you are searching - on the subject of searching, don't get too depressed if you seem to have explored everywhere and you can't find the stairs: search along the walls of the rooms you have found ('s' command, do it typically 10 times for each '-' or '|' in the wall). Note also that some of the monsters get very vicious: dragons can breath on you, rust monsters weaken metal armour, leprachauns will steal your gold, invisible stalkers are just that (invisible), mimics tend to look like other things: scrolls, armour, stairs - anything that isn't a monster, etc, etc, etc; there are cursed items (rings, armour, weapons) which can be quite hard to get rid of - unless you have a scroll of remove curse... Regarding the various weapons: Two handed swords are the best weapons in class 1 The crossbow is the best in classes 2/3, and the spear is the best in class 4. Regarding armour class: the lower it is, the better for you. Regarding your strength / hit points / experience / gold: the higher the better (There must be some reason why armour class works backwards...). Logically (?) the monsters get harder to kill the deeper you get into the dungeon - Dragons & Purple worms (probably the meanest pair in the game) are often best left alone if you find them asleep, because it isn't worth taking a chance on getting bumped off by one of them: by the time you meet those two monsters you'll be pretty close to the amulet, and once you have it, the best thing to do is to high tail it back up through the dungeon to about level 17. On the other hand DON'T rush down: explore each level to find all the magic and monsters you can: killing monsters is how you get experience, and the more experience you have, the better you'll do in a fight; in addition a good arsenal of magic items can make the difference between winning & losing a fight. On the lower levels rooms become dark: this limits your area of vision as shown by the area of '.'s around you, however there are wands & scrolls which can alleviate this problem (to a point at least). I'll leave it for you to find out what all the scrolls, rings, etc do, to begin with you'll be using all the scrolls of identify as soon as they get found. Note that potion colours (and wand metals and ring gems) change from game to game, so don't assume that just because a potion of healing is orange in this game, it will be orange in the next (that would be too easy!!). Patching for different terminals. As delivered, this runs on Televideo compatible terminals (including Liberty Freedom, ADM31, Wyse 50, Wyse 60, and Commodore 128 in CP/M mode). Two special abilities must be present, clear screen and move cursor; and clear to end of line will be used if it exists, however ROGUE knows how to get by without it. The patch area is right at the start of the program. Since most of the patchable stuff I write is designed to use the same patch overlay there is a lot of patching possible that is not applicable to ROGUE. However, once you have the 1/2 K patch overlay it becomes trivial to patch new programs to work for you. Included is a file QTERM.PAT which goes into detail on how to do the patching. It should be noted that ROGUE.COM is not the same size as QTERM.COM: the value for the SAVE command will be: SAVE 89 ROGUENEW.COM In all other respects, QTERM.PAT explains how to patch ROGUE for your system. you have the 1/2 K patch overlay it becomes trivial to patch new programs to work for you. Included is a file QTERM.PAT which goes into detail on how to do the patching. It should be noted that ROGUE.COM is not the same size as QTERM.COM: the value for the SAVE command will be: SAVE 89 ROGUENEW.COM In all other respects, QTERM.PAT explains how to patch ROGUE for your systROGUE was written Nov 1984 thru Feb 1985 by David Goodenough. E-mail addresses: UUCP: .....!harvard!xait!lakart!pallio!dg Internet: dg%pallio.uucp@cfisun.cfi.com GEnie: D.GOODENOUGH Q-Link: Delta G I'm also reachable on the following bbs's - (617) 825-3135 (617) 288-6477 (617) 329-4237 (617) 329-8528 (617) 965-7259 Where I am always known as DAVID GOODENOUGH ROGUE.DOC explains how to run ROGUE, and QTERM.PAT explains how to patch it for non-Televideo compatible screens. See note at the end of ROGUE.DOC for a list of terminals that ROGUE is known to run on.  Internet: dg%pallio.uucp@cfisun.cfi.com GEnie: D.GOODENOUGH Q-Link: Delta G I'm also reachable on the following bbs's - (617) 825-3135 (617) 288-6477 (617) 329-4237 (617) 329-8528 (617) 965-7259 Where I am always known as DAVID GOODENOUGH ROGUE.DOC explains how to run ROGUE, and QTERM.PAT explains how to patch it for non-Televideo compatible screens. See note"                        +  +  +  +  2  2  7  @  @  @  @  H  H  N  U  U  U  U  `  `  h  !9DM! n&0ͯ7K! n&9ͯ!9DM͐~#fon`issC|jK͐^#Vr+sCK`in&rK!9!9DM! n&R>! s_N|ʳK! n&sK! n& K}K! n&sK!! n! n&+K!L! n&!9DM͐͐ UL͐^#Vr+s͐ BL͐0JL͐7s!&àL͐ ͐͐ ͉͐L`is͐ ͐͐ )͐L`in&#&àL!9!9DM`iw#w͐~#fon& K}L͐ ?͐^#Vr+snѯg`is#r÷L͐L!9!9DM͐|M;5M͐+++|4M!ͦPM! ~#fo##^#Vr+szfM! ~#fo^#Vr+sn&M!! ~#fo! ~#fo~#foO`is#r!ڟM!M! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&M!9!9DM͐|N! n&zQ! ~#fo##~#fo+N!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!!9DM! n&͐N|ͣŒN! n&ͦC|ͣ!9DM! n&AͯڻN! n&Zͯ  6  #F#xN~#N#7,2q*&:q):.O=.O=VeteranWarriorSwordmanOrcPseudo-DragonMediumSeerConjurerAcolyteAdeptPriestApprenticeFootpadRobber*~#¤O"*s*uO#"u*+"ÑO7:)~:,"s!"u*|%P**s*P! ~%P6*u*+"*"*u#"uO7*+++:G_*DM!dPo&7*͑P\!*N !\&!7:O*o`7*|DM**QP>GoyQ$$!   !!'h%%h  fdh@00'1;FQ(hh`G&G******** * * * 6h*B*B h66 h@=(=(=(=(=C CCC(C2C<CFCPCZC\C^C`CbClCnCpCrCtC`CXZZhZ@^^^^`G^Gh:h hXh`d@d@d@d@d@dddddddu SWORDh@y MACE@~ HELMET`$~MAGIC TORCH@$~ AXE $~ $~ BOOTS$~@$~ LEATHER SHIELD WAR HAMMER  MAIL  DAGGER~ POINTED STICK GLOVES PLATE   BRICK~ ~HANKYLEATHER - 2bBEENIED~BUTTER KNIFE  TACK HAMMER  SHIELD - 2~~~~ 4~~~ ~~~~ ~ ~ ~ ~I~       m~ ~ d~ e~ g~ i~ k     ~ ~    $~ ~~ ~ ~ ~         ~ ~ ~ ~ ~M~       ~N~~~~~~~~~~~~~~~~~N~maiinit_algetdeset_biclstrcstrcacentetaputeotouegetchalevel_cedit_maedithlevel_dexilevel_cgetccentetaeoputsscanmakfitest_leload_moload_itload_masave_intouppegetchaload_magettaeoPppppppppp@@@@@@@0@@Pp@p0p@p0p@p000p@p0000p@p00000p0@000000pPPPP000000000p0000000000000000000000000000000000000000ppppppp@@00P0p0@0Pp@@0Pp@p@0p00000p0000000000000:/* macro define */ for(i=0; i<4; ++i) if(((ch=waitkey()) >= '0' )  eR *K͞+cJ'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y!9DM! ~#fo##~#fo!^7|! E0123456789Enter through NEMESIS.!"*!!U !v1|)!] E !z \!! ! ! ! ! !$ !@ !Z !!t!!B"7>A˜>>B¤>>C°>>D¼> >E> >F>! >>2 >G>2 G ̀ J _J J 'J !"!!m !x E !k"J !!G!EM P t)castle.Error can not load castle.0.Welcome to the castle Please select A) Armory: Items bought and sold B) Hospital: Wounds healed C) Inn: Wine, Wenches and Rest D) The Archives E) Entrance to Dungeon F) Display Character G) Exit Nemesis0123456789dungeon ! \!!!t!! !! t!!& !!t!!4 B"7>A > >B >  K Á Welcome to the ArmoryA) Sell items.B) Buy items.What is your choice ? !j9DM!2 ! s#r!!t!!! !ͺ1! ! ! Fn}¦ ò `i! ! 8͐| ò ͐| ͐͐ ï !! :8͐!2 n&! 3! 2|< !!t!!! !Fï ! ! 2! w#w͐ ү ͐%k n}¡ ͐͐!2 n&͌/͐!Ѐ͚2ï ! ^#Vr+sR d !9You have gold pieces. What item would you like to buy ? %dSorry you can not afford that item.!9DM !\!!͜!! t!!! !ͺ1! !! t!!  B"7`is#r! “  ͐`is#rz ͐ ڹ  ͐%k n} ͐!Ѐ3|͕͐,G!TGF! s#r!!t!͐!.͂8B"7Y͐%k 6͐!Ѐ͂3͐!Ҁ3|ʗ*ڀ͐%k~#fo"ڀ͐!Ҁ͂3͐!Y! ͧ8! 3! !=4& !9Welcome to the Pawn ShopYou have gold piecesWhich item do you wish to sell ? I'll give you %u gold pieces for that item%010d!9DM !\!!! t!! !ͺ1! !! t!**`is#r|! B"͐!3͂8!!t!*# ?! s#r!Y͂8!!t!!v ! F8! s#r*͐͐ͩJ͐N͐"͐͐k! s#r͐͵͐!!! ͧ8!! 3!! ! 2|!!t!! ! !!:8!"!F!,9Welcome to the HospitalYou have gold piecesYou are in perfect physical shapeYour wounds will take %u days to healAt a rate of %u gold per dayPlease enter the length of your stay -- %010uAs you are unable to pay your bill we will have to break your legs !! 0000000000!9DM !\!*"*€"!! t!! **?`is#r|V!Fæ!!t!͐!͂8!!t!! B"7Y¦͐͵*"!9Welcome to the InnRestoring magic and cleric units It will take you %u days to heal.Do you wish to stay that long ? !9DM !\!!!t!!!!t!! !ͺ1! !͜!! t!!! `iFn}Ÿ`i!<! ͧ8! 3! ! :8!`i:8! `i 2|!B ! ! 2!! t!!!b B"7!# s#r! 4!# ~#fos#r!͐#%k n}e͐#͕!`iͧ8`i3`i! 2|͐#%k~#fo#|͐#!Ѐ4:!%9Welcome to the Game Master's ArchiveYou have gold piecesHow many gold pieces do you wish to donate ? %010s You don't have that much gold.Which item do you wish more information on? %010u!9DM! w#w͐ %k~#fo! s#r`iw#w! 6#6͐*#͐͐|g}o|! ~#fos#r`i^#Vr+s! ~#fo)s#r͐ %k~#fo! s#r`iw#w! 6#6͐*ҡ͐͐|g}o|ʆ! ~#fos#r`i^#Vr+s! ~#fo)s#rP! ~#fo͐ %k##~#fod?͐ %k~#foz9?͐ %k~#fos#r͐|ͣ͐'!TG*!9!9DM! w#w͐'k~#fo! s#r`iw#w! 6#6͐*͐͐|g}o|ʦ! ~#fos#r`i^#Vr+s! ~#fo)s#rp͐'k~#fo! s#r`iw#w! 6#6͐*?͐͐|g}o|$! ~#fos#r`i^#Vr+s! ~#fo)s#r! ~#fo͐'k##~#foz9d?͐'k~#foz9?͐'k~#fos#r͐ #|¹͐͐!͐ ͧ8͐ 3͐ !9%010u!9DM ! s#r! s#r`is#r! 6#6! 6#6͐*s7͐͐n! s#rP! ~#fo͐͐ s͐͐t!͐!H͂8͐͐t!͐ 'k  ͐͐t!͐ !3!L͂8! ^#Vr+s`i^#Vr+s!`iw#w͐(! s#r!(͐+?͐ ! s#r! ^#Vr+s͐+?!9%d)%6u!9DM͐`is#r͐n}w͐n}0~͐ì͐n}0ž! ~#fo#n}ʞ͐6 ! ^#Vr+sb!9!9DM! ~#fo*̀s#r*ʀ͐m͉"ʀ͐m)"̀ &o ͊!͜!9DM!͐x"`is#rz<!@5"""""͐ ͐͐ H"""""͈͐H!9Unable to save character!!!9DM`iw#w! w#w! w#w͐ ͐%k n}͐(?͐t!͐!Ҁ3|!+! "͐A"! ! n}L͐!Ѐ3|ʂ͐%k~#fo#|ʂ͐%k  å͐%k n&)~#fo ! ^#Vr+s!! ^#Vr+s! w#w`i^#Vr+sú!9) !">20!">21!">22!">23!" >24!" >25! ">26!">27!">28!">29!#">2:!)">2;!0">22=!:">2>!@" >2?!F"">2@!M"$>2A!R"&>2B!V"(>2C!]"*>2D!d",>2E!i".>2FSwordLeatherFlaskShieldMaceBookHelmetHammerScrollMailPlateDaggerBowArrowTorchStaffLocketRingAxeGlovesSphereCapeBoots!"!8"{2&"!9DM!!t!!Y *|g}o>¿>>>>>! ! ! *|g}o>>>>*2!' 2!/ !n ! "!x !!t!**!5 ͂8!ͺ1! "*ڀ*ʀ!O ͂8!ͺ1! "******!e ͂8!9!! t!*! ͂8!! t!*! ͂8!9 the Lawful the Neutral the Chaotic Female Male Level: %u Hits: %u Expr: Age: %u AC: %d Gold: Str: %u Int: %u Wis: %u Cha: %u Con: %u Dex: %u Magic units: %u Cleric units: %u !9DM͐n} ! ^#Vr+sn&" !9DM*ւ}!!Ղ͆#*т&#S!`iw#w͐*ȂѯgF!!͐t!!`i^#Vr+s!!!t!!9!9DM!͐\$!9DM͐ڒ!! 6#6!ۂ͆#͐͐!$!݂͆#͐͐!$!߂͆#*ӂ&#!9DM! "*؂} "!ׂ͆#*҂&#9"0%`is#r͐|1"! "`i^#Vr+s"! "!9!9DM:%`is}Z"J"`in&b"!9B""!9DM!& n&͐$͋H`is#rzʥ"͐"!! :8͐$! ͝9!& n&! ͋H"! 9!#!9DM! n} #! "*|A#*! n&9#|>#ͧ6!"!]#ͮ%!o# R#! n&!H! n&File write error.Use P to replot screen!9DM͐n&! s#r͐#n`is#6͐|#! ^#Vr+sn&"`i^#Vr+sî#!9!9DM*ς}$! ^#Vr+sz$*Ђ&"#*ς}S$! ^#Vr+szS$*/&?`is#r͐|P$`i^#Vr+s;$$!9!9DM͐V`i:8͐V;P!P s#r!͐Xt!!͐P͐Xt!`i !R9!9DM͐*̂&$͐*ʂѯg`is$͐ *˂ѯg`is*΂}%`in*͂ѯgW|g}o"'%`in&%!9*ɂ&!9DM*}^%*`is>2`in&å%!!H|ʟ%!!H7`is{ %`i6 `in}2&å%å%!å%!9!9DM!!t!!͐ !9DM͐ %͐ ͉%͐ )0"&C*!"*k@!)s#r*k@##6*k@###6*#"+k@6*k@!)s#r*k@##6*k@###6*#"+k@6*k@!)s#r*k@##6*k@###6*#"+k@6*k@!)s#r*k@##6*k@###6*#"+k@6*k@!*s#r*k@##6*k@###6*#"+k@6*k@! *s#r*k@##6*k@###6*#"+k@6*k@!*s#r*k@##6 *k@###6*#"+k@6*k@!*s#r*k@##6 *k@###6*#"+k@6*k@! *s#r*k@##6 *k@###6*#"+k@6*k@!(*s#r*k@##6*k@###6*#"+k@6 *k@!2*s#r*k@##6*k@###6*#"+k@6 *k@!:*s#r*k@##6 *k@###6*#"+k@6 LIGHTCUREDAMAGEPROTECTHEALCLEANSERESTOREATTACKDISPELLHOLY WORDSILENCEDISCLOSE!"*k! /s#r*k##6*k###6*#"+k6*k!/s#r*k##6*k###6*#"+k6*k!/s#r*k##6*k###6*#"+k6*k!/s#r*k##6*k###6*#"+k6*k!%/s#r*k##6*k###6*#"+k6*k!./s#r*k##6 *k###6*#"+k6*k!7/s#r*k##6 *k###6*#"+k6*k!A/s#r*k##6*k###6*#"+k6*k!G/s#r*k##6*k###6*#"+k6*k!P/s#r*k##6*k###6*#"+k6 *k!U/s#r*k##6*k###6*#"+k6 *k!_/s#r*k##6*k###6*#"+k6 *k!j/s#r*k##6*k###6*#"+k6 *k!s/s#r*k##6 *k###6*#"+k6 *k!|/s#r*k##6 *k###6*#"+k6LIGHTDAMAGESLEEPSHIELDSTRENGTHFIREBALLLIGHTNINGSPEEDLEVITATEFEARCLOUDKILLPOWER WORDTELEPORTDISCLOSEFIRE PROTECTION!9DM͐'k%~#fo+s#r͐%k ͐'k ns͐%k͐'k~#fos#r͐%k##͐'k##~#fos#r͐%k͐'k~#fos#r͐%k͐'k~#fos#r͐%k͐'k~#fos#r͐%k ͐'k ~#fos#r͐'k ͐%k :8`iw#w͐j1͐%k!͐)͐'k!͐)~#fos#r`i^#Vr+s16!9!9DM͐͐!1`iͧ8͐"͐ `i[5ì1!9%s%d!9DM͐n}01! ^#Vr+s1͐;`is#r|1!0"2͐ !9!9DM! 6 #6`iw#w! ~#fo s#r! ~#fo s#r͐|ʊ2͐! ^#Vr+s! ^#Vr+s6`is#r! ^#Vr+sH2͐Ñ2!9!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}os#r!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}o!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐}/o|/g|g}os#r!9DM͐`is#r͐n} -4! ^#Vr+s604͐44!9!9DM! 6 #6`iw#w! ~#fo s#r! ~#fo s#r͐|ʺ4͐! ^#Vr+s! ^#Vr+sY6`is#r! ^#Vr+sx4͐4!9!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}os#r!9DM͐ !E!9DM!͐x"`is#rzƒ5!5͐ ͐͐H#|5!!t!!5 k"͈͐H!5͈͐H!5!9We have encountered a disk read error !!! !9DM͐n͐n͐s!0R6͐n& s!!!9DM͐n͐n͐s!9Ҡ6͐n&s!!*|6*!9*U;*`i4! ^#Vr+sn! s! n&7}X<>OE>DN>Ut>S?Cʓ??! 6t>! 6t>! ͻC-t>! 6#6! ^#Vr+s! w#w! n&! ͻCC#|£>! n&@! n&! ^#Vr+sn&C! s{>͐ ! nѯg?! nѯg! s#rã>! ^#Vr+s?! ͻC͐ ~#fo! s#r! ^#Vr+sn! s{q?! n͐n}Q?! ^#Vr+sq?`in}n?! ^#Vr+s! ns?`in}?! 4͐6! ^#Vr+sK=`in}?͐n&! ^#Vr+s~#fo2J! 4! ^#Vr+sK=! n&@`in} @! ^#Vr+s~#fo͐ ͐?s#r! 4K=! n&@!9!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{JC`in}%4C! ! s#r! 6#6! s! s͐n}-­@! ^#Vr+s! 4͐n&YC}@! )E@!! s#r! ^#Vr+sn`is{.A! )E! s#r! 4! ^#Vr+sn`is`in&7}DAAU}AXʆAOʏACASBC͐~#fo|}A! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ÕA! 6ÕA! 6! ~#fo! n&! ^#Vr+s~#fo! ͅDѯgs#r~B! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s~B! n}B! 6#6! ^#Vr+s~#fo! s#r͐n}~B͐|~B! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s4B͐6! ! s#r! n}B! ^#Vr+s!B! ^#Vr+s6 ÚB͐! ^#Vr+sns{B! ^#Vr+sB! n}C! ^#Vr+s!C! ^#Vr+s6 B1C! ^#Vr+s`insGC! ^#Vr+s`insQ@͐6!9!9DM! n&0ͯڄC! n&9ͯ!9DM! n} ͝ʷC! n} ͝ʷC! n} ͝!9DM͐~#fon`is͈C|C͐^#Vr+sC`in&C!9!9DM! n&7! s͆E|3D! n&s[D! n&YC}VD! n&s[D!! n! n&+zD!ÃD! n&!9DM͐͐ D͐^#Vr+s͐ D͐0D͐7s!& E͐ ͐͐ ͉͐ͅD`is͐ ͐͐ )͐ͅD`in&#& E!9!9DM`iw#w͐~#fon&YC}vE͐ ?͐^#Vr+snѯg`is#r7E͐}E!9!9DM! n&ͷE|ͣ³E! n&<|ͣ!9DM! n&AͯE! n&Zͯ 7*!9& 6C#6O#6MF*|.F!\&@F!\&*|@F!!l&!~#foxF> +oF#~]F##QFa{ !pF!*w#…F:**ʜF*!ѷ! 6  #F#xF~#F #+|G'z G GG*>H:G:G7*|g}o"zg{o"|g7*|tG*"H*"H*"H|žG* !Z ##ʅG"H"H"H:H2H!H6#«G! H ~W!H~w# GzG!HHw# G½G µG!HH?/w#G+~g:HoŇ7:)~:,"s!"u*|*uʆH*~#]H"*s*u†H#"u*+"JH#7,2q*&:q):H=H=r:qo&7*+++:G_*DM!Ho&7:)~:,"s!"u*|II**sNI! ~II6*u*+"*"*u#"uI7:O*o`7*|DM**IګI>GoyaJ$$!xJ! ͘O{J!!"JH#7,2q*&:q):H=H=r:qo&7*+++:G_*DM!Ho&7:)~*K͞+'V'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y!9DMA.':̓3\.ͣ.!!: 4!x4!! ͐4!4!! ͐4!4!! ͐4! 4!!͐4!# 4!!͐4&5!A 4͊5`is͗@>AS>ʆ>B_>ʌ>Ck>ʒ>Dw>ʘ>ƒ>ʞáQ åj$å å*-åͮQ`i6`in}!!Q9Nemesis Dungeon Master 1.2a) Level Creation Routine.b) Edit dungeon.c) Character Modification Routine.d) Document Level InformationEnter option : !9DM 4! x4!!͐4&5! !͐4! 4!( ͱQn}› w !!͐4&5! !͐4! 4! ͱQn} w `i! ! @!( ! V;! ͐|d | w B| w  |( w *!! ͐;!!͐4&5! !͐4! 4͊5͗@YY !<9LEVEL CREATION ROUTINEWhat is the name of this dungeon ? What level do you wish to create ? %dDo you wish to create another level?!9DM!!͐4&5! !͐4! 4! ͱQn}I !ð ! ! ! @! ! @`is#r͐#| ! !͐4! 4͐Q!!! <ð !9Enter name of maze source file : %sProcessing maze source file. !9DM 4! x4!! ͐4&5! ! ͐4! 4! ͱQn}F Ù !: ! ! @`i!: <| !!G`i <3|ʖ !!G`iͮ/ !b9CHARACTER MODIFICATION ROUTINEEnter characters name : %s!9DM 4!x4!!͐4!4!Y4!4*|g}o>- >H >9 >S >E >^ f !4f !4f !4*|g}o>~ >ʍ >Š >ʘ à !4à !4!n4! ͗5!x4!!͐4**!0A!=! ͗5*΀*̀*ʀ!60A*ڀ*!O0A!=! ͗5******!f0A!9!(!͐4*!0A!(!͐4**!0A!(!͐4*!0A!(!͐4*!0A!(! ͐4*ր!0A!(! ͐4*؀!0A!!͐4**!0A`iw#w! w#w! w#w͐ Һ͐%k n}ʮ͐(?͐͐4͐A͗5!04͐%k 4! ^#Vr+s!Ү! ^#Vr+s! w#w`i^#Vr+s!9CHARACTER MODIFICATION ROUTINEEditing : , the Lawful Neutral Chaotic Female Male Level: %d Hits: %d Expr: Age: %d.%d Age mult: %d Mult: %d AC: %d Gold: Str: %d Int: %d Wis: %d Cha: %d Con: %d Dex: %d Dlevel: %dDx: %d Dy: %dMagic units: %dCleric units: %dMagic spells known: %xCleric spells known: %xValid type 1 items: %x Valid type 2 items: %x) !9DM`iw#w !!͐4&5!74͊5͗@! s!!͐4&5! n} ʿLHGESIW4ALCdDMʚ+͐.!W4"`i6#6+!i4"`i6#6+!z4͊5+!4"`i6#6+!4"`i6#6+!4"`i6#6+!4"ڀ`i6#6+26͗@>Hx>ʟ>O„>ʷ>U>>Sœ>!4"`i6#6!4"`i6#6! 4"`i6#6!#4"؀`i6#6+26͗@>E>:>L>R>X+>j>Y7>ʂ×!=4"`i6#6×!S4"`i6#6×!f4"`i6#6×!u4"`i6#6+26͗@>S®>ʽ>Uº>(!4"ր`i6#6(26͗@>L>>N>%!4"`i6#6%!4"`i6#6(+A!9Modify which character entry : Enter new level: Enter new hits: Not yet operativeEnter new strength: Enter new intelligence: Enter new wisdom: Enter new AC: Enter new charisma: Enter new constitution: Enter new cleric units: Enter new cleric spells: Enter new dexterity: Enter new Dlevel: Enter new Dx: Enter new Dy: Enter new magic spells: Enter new multiplier: Enter new magic units: !9DM`i! ! ͱQ@͐|ͻ!͐!49%d!9DM`i!?! ͱQ@͐6! 9%x!9DM!! ͐4&5! ! ͐4!4! ͱQn}„!! ! ! @! ! @`is#rzJ! !͐4!4! ,͐Q!!9Enter name of item source file : %sProcessing item source file. !9DM!e s#r!i s#r!`iUA͐e'k ͐e'k!##͐e'k!͐e'k͐e'k͐e'k͐e'k##͐e'k͐e'k ͐e'k ͐e'k%!k `i͐q͝A!9!d s!d n}Hc!d n}a!4!!d n} ʋ͐e'k !0AI!g w#w͐e'k ͐gn}͐e'k ͐gn}_͐e'k ͐g6 !g ^#Vr+sÓ͐k>͐id>͐i͐es!k ^#Vr+s!i ^#Vr+s!e ^#Vr+s͐e2c͐idQ!d n}ʅ͐e2…!25ä!d n}ʤ͐id¤!d5͐e2!e ^#Vr+s'k%w#wä͐i+"s!m9%d %d %s %d %d %d %d %d %d %d %d %dIO read error Invalid format for item: %s!9DM! !͐4͐!0A! !͐4!4͊5!!͐4&5!!͐4&5You are only allowed %d item entries,the rest of your entries have been excluded.!9DM͐(|͐( !Ø͐*! UA! ͐(k=! ! A!! Q`is#rzY!ØØ͐Q! !͐4!4!4͊5!!͐4&5!Ø!$9I'm sorry, information for that level is already on hand.!9DM!! ͐4&5! ! ͐4!4! ͱQn}!z! !! @! ! @`is#rz! ! ͐4!4! ͐Q!z!9Enter name of monster source file : %sProcessing monster source file. !W9DM!"!"!`iUA! ! ! ! ! ! ! ! ! ! ! !d ! `i͐͝A!9! s{a! n}c!! 4!! n} !d !0 0A!d ! s#rz!!͐4&5! !͐4!Q 4!!͐4&5! !͐4!n 4! 4͊5!!͐4&5!!͐4&5a! ^#Vr+szO*))))͐s#r*))))##͐s*))))###͐s*))))͐s*))))͐s*))))͐s*))))͐s*))))͐s*)))) ͐s#r*)))) ͐s*)))) ͐s#r*)))) ##͐s#r*#"*dLO*d^a! n}*d!!͐4&5! !͐4!d! 0A! 4!!͐4&5! !͐4! 4͊5!!͐4&5!!͐4&5!9%d %s %d %d %d %d %d %d %d %d %d %d %dIO read error Invalid format for monster: %sMonster name table overflow,the rest of the entries have been excluded.You are only allowed %d monster entries,the rest have been excluded.!9DM`iw#w! ~#fo͐n}8!! ~#fo͐n}_,!! ~#fo͐6 `i^#Vr+s *! s#r`iw#w! ~#fo͐n}ʞ!*@p!!ó!*ω! ~#fo͐ns`i^#Vr+s*#"I!*#"+ω6͐ó!!9!9DM`iw#w͐C"! w#w͐7"͐Nk͐k6͐Nk͐k#w#w! ^#Vr+s!`i^#Vr+s!!9!9DM 4! ͗5! w#w͐Ҋ"!#4! ^#Vr+sg"!.͗5`iw#w͐#!##4! w#w͐ #͐͐80)~#fo4͐͐ͳ0)~#fo4! ^#Vr+sõ"`i^#Vr+sØ"!9.__ !!,9DM! ".1!P$4̓4! ͗5! w#w͐қ#!.͗5͐ 0͗5!_͗5! ^#Vr+s\#!.͗5`iw#w͐;$! ͗5͐ 0͗5! w#w͐/$͐͐80)~#fo4͐͐ͳ0)~#fo4! ^#Vr+s#`i^#Vr+sé#Z+q1!"!9 Map of !9DM 4\.ͣ.! R,|Œ$ä$L"! ͭ$! ,{$!9!9DM! s! s! s! s! s#r`is#r!'j6͐͐ͤ'͙͐͐1͍6͗@! s{Uv% v%v%Dʏ% ʏ%ʏ%Rʨ% ʨ%ʨ%L%%%M%FP&Ib&Qk&Sq&Eʃ&Pʆ&Hʌ&Ø&͐Ҍ%`i^#Vr+s?'͐ҥ%`i^#Vr+s?'͐%! ^#Vr+s?'͐%! ^#Vr+s?'! w#w͐M&͍6! s!03&! n&33&͐! ! n&s?&͐! 6! ^#Vr+s%?'͐͐ )?'ͼ!L"?'Z+?'͐͐)?'Ú'L"?'͐&#?'! n}.&! n&0<'! n&3<'! n}.&! n&!͐͐d2͍6! s! n&09'! n&39'! n&!͐͐d2×'?'! w#w͐җ'͐! n}ʉ'͐! n&͐͐͐d2! ^#Vr+sG'$! 9!9DM͐ Nk͐ k`is#r͐ ͐ !(0A!͐n&͌=! s#rz (͐!(0A!͐n&͌=! s#rz9(͐!(0A! w#wG! s#r͐ Ҫ(͐###~#fo͐#~#fo|g}o|ʋ(͐~#fo!)0A! ^#Vr+s! ^#V!r+sK(!? ͐#~#fo͌=! s#rz(͐!)0A!9(%d,%d) S up #%d,S down #%d,%s,N = %d !9DM͐ Nk͐ k! s#r!)Ͷ66! s{NQ)c)͐ ͐ *)! w#wG`is#r͐ )͐##n! n}¸)͐#~#fo͐###~#fo|g}os#r)! ^#Vr+s`i^#V!r+ss)!9Which Feature? !9DM!*6>U *>*>D*>%*1*! 6#64*! 6#64*Ô*!*6`is#r͐ X*`iw#wh*`i~#fos#r͐͐͐Nk͐ k=!9Stairs up or down(U/D)? Which stairway(1..3, or 0 to clear)? !9DM! !L+78B`is#r͐C+͐?C+͐!? ͐Nk͐k#=! 9Multiplier = !9DM`iw#w͐H,! w#w͐<,͐Nk͐k#~#fo͐Nk͐kn&|g}o|g}o|.,*|,! ͗5͐͐ͤ'.,!Q,j6͐͐ͤ'͙͐͐1! %R! ^#Vr+s}+`i^#Vr+sh+!9!9DM 4!,x4! !͐4!,4͐ͱQn}Ž,!!!͐ <|©,ͼ!!Edit Maze Source FileEdit which source file: !9DM!-6N,!!͐`>Write level back to disk? !9DM 4!-x4!!͐4!-4`iͱQn}b--!! ͐4!.4! ͱQ8B!. s#r͐.`i!).! B*!! <|-!/.j6! %R-! &#!09Level Documentation SectionEnter Dungeon name: Enter Dungeon level: %s.%dNot a valid level!"!8"{2&"!."!."!."!."!."!."!."!.".:#! ..,,__!9DM!y/"G>D2I!~/"N>P2P!/"U>T2W!/"\>S2^!/"c>M2e!/"j>C2l!/"q>I2s!/"x>F2z!/">A2!/">X2`iw#w! 6#6͐ p/͐kG###͐s#r`i^#Vr+s! ~#fo?s#r(/!9darkpittportshafta/ma/cillsn.firemeleespec.!9DM!͐Q7`is#rz/!0M?͹7͹7͹7͹7͹7͐ ͐͐VR͹7͹7͹7͹7͹7͐Q!9Unable to save character!!!9DM͐|O0!ê0!͐Nk͐kn&͌=`is#r͐++|£0!!h?|£0!ê0ê0͐ê0!9!9DM͐|0!%1!͐Nk͐kn&͌=`is#r͐++|1!!h?|1!%1%1͐%1!9*!T1 C#|R1!"!]14HARDCOPYCould not open file*|ʗ1*!zC*͓D*F!9DM͐?`is#r͐͐##͐4͐+͐ͳ0)~#fo4͐͐80)~#fo4͐͐ͳ0)~#fo4͐#͐#͐4͐͐+80)~#fo4͐#͐##͐4!9!9DM͐>|2>ʣ2>ˆ2>ʻ2>”2>2> 2>23͐ ͐+͐3͐ ͐͐+C3͐ ͐͐3͐ ͐͐C3!9DM͐|3͐!͐Nk͐k=!9DM͐|V3͐!͐Nk͐k=!9DM!!3Q`is#rz¯3!34ͮQ!!ǂ͐;R͐Q!7!9term.defCan not open TERM.DEF, run termdef.!9DM*ւ}.4!Ղ7*т&8o4`iw#w͐*Ȃѯgb4!͐͐4&5`i^#Vr+s44!!͐4!9!9DM!͚͐8!9DM͐ڮ4! 6#6!ۂ7͐͐!8!݂7͐͐!8!߂7*ӂ&8!9DM͐n}$5! ^#Vr+sn&͗55!9DM! ͗5*؂}S5!ׂ7*҂&8Á5n9`is#r͐|y5! ͗5`i^#Vr+s\5! ͗5!9͍6͗5!9DM! n} ²5! ͗5*|5*! n&zC#|5q1!"! 6j6!645! n&!4S! n&File write error.Use P to replot screen!9DM͊5`is!͗5! ͗5!͗5`in&a6!9!9DM!!͐4&5͐4!9DMx9`is}¥6Õ6`in&í6!9!9DM!!͐4&5͐4͊5͗@!9DM͐Ͷ66`is!7Ͷ6`in&7!9!9DM͐Ͷ6͐ͱQ`is#r!P7Ͷ6͐G7!9!9DM!& n&͐$Q`is#rz~7͐ð7!! UA͐$! A!& n&! Qð7! 9!8!9DM͐n&! s#r͐#n`is#6͐|8! ^#Vr+sn&͗5`i^#Vr+s7!9!9DM*ς}N8! ^#Vr+szN8*Ђ&͗508*ς}‘8! ^#Vr+szʑ8*/&?`is#r͐|ʎ8`i^#Vr+sy8W8!9!9DM͐V`iUA͐V%FP!P s#r!͐X͐4&5͐P͐X͐4`i4!R9!9DM͐*̂&*9͐*ʂѯg`is:9͐ *˂ѯg`is*΂}[9`in*͂ѯgW|g}o͗5e9`in&9!9*ɂ&!9DM*}ʜ9*`is>2`in&9!!4S|9!!4S͗@`is{ 9`i6 `in}2&99!9!9!9DM͐ :͐ ͉9͐ )0͗5!h:4!:4!:4!:!XS͊5!XS#$T! %RNemesis and Dungeon Master Copyright (c) 1981 Michael Q. Hiller and Michael A. Pagels Please hit a key to continue.!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}os#r!9DM`iw#w͐Ҿ;͐n}ʾ;! ^#Vr+s͐n&bF|ʟ;!$ä;͐ns`i^#Vr+s! ^#Vr+sd;! ^#Vr+s6.͐6!9!9DM͐͐!<`iB͐"͐ `i`>!!͐4!>4͊5!>͐ ͐͐VR#|>!!͐4!!?4͊5͐Q!>͐Q!>!9We have encountered a file create error !! We have encountered a disk write error !!! !9DM͐4!ͮQ!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}o!9DM`iw#w͐c@͐n}c@͐n} @͐n} @͐n}.4@! ~#fo͐6$L@! ~#fo͐͐ns`i^#Vr+s! ^#Vr+s?! ~#fo͐6!@͐A͐É@!9.CHR!9DM! n&͕F|ʾ@! n&@! n&!9DM! ͐F!9DM! ~#fo!͐Qs#rzA!! ~#fo##w#w! ~#fo~#fo!y9DM! `iI`i4!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʍAgA͐ÔA!9!y9DM͐`iM|½A!A! `iFA!9!9DM͐`is#r͐n}B! ^#Vr+sA! ^#Vr+s͐ns! ^#Vr+sn}B͐/B!9!9DM`iw#w! 6#6͐ n! s{ kB! n} yB! ^#Vr+sOB! n}-˜B! 6#6! ^#Vr+s! ^#Vr+sn! sM|B͐ ?! nѯg`is#rØB͐͐?B!9!9DM! ͐I!9DM͍͐T! ~#fo͐͢Ts#rz=C!! ~#fo! ~#fos#r! ~#fo##6#6! ~#fo~#fo!9DM͐+|šC! n&͗5͐++|¸C! n&!T͐+++|C! n&!T! ~#fo##^#Vr+szD! ~#fo^#Vr+s! ns&!! ~#fo! ~#fo~#foVRBD!! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+s! ns&!9DM͐ҮD!E! ~#fo##~#foD!E! ~#fo##~#fo`is#r͐! ~#fo! ~#fo~#foVR͐$E!E͐+?`is#r! ~#fo##~#fo|E!! ~#fo! ~#fo͐T! ~#fo##~#fo͐s#r! ~#fo~#fo͐s#r!!! ~#fo~#fo.UE! ~#fo##6#6! ~#fo! ~#fos#r!E!9!9DM! ~#fo~#foQ!9DM`iw#w! ^#Vr+sn}RF`i^#Vr+s3F͐YF!9!9DM! n} ͝ʑF! n} ͝ʑF! n} ͝!9DM! n&aͯF! n&zͯ!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{ʽI͐n}&G! n&I! n&bF|:GF! n}%xG! n! *NjG! n&IuG! ^#Vr+súI! 6#6! 6 `i6! ^#Vr+sn! s{*¼G`i4! ^#Vr+sn! s! n&͗@}XGOGDGU"HSʮHCAI}I! 6"H! 6"H! *N-"H! 6#6! ^#Vr+s! w#w! n&! *NjN#|QH! n&I! n&! ^#Vr+sn&jN! s{ʠH͐ ! nѯg?! nѯg! s#rQH! ^#Vr+sÇI! *N͐ ~#fo! s#r! ^#Vr+sn! s{I! n͐n}H! ^#Vr+sI`in}I! ^#Vr+s! nsH`in}>I! 4͐6! ^#Vr+sF`in}oI͐n&! ^#Vr+s~#fo͓U! 4! ^#Vr+sF! n&I`in}ºI! ^#Vr+s~#fo͐ ͐?s#r! 4F! n&I!9!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{L`in}%L! ! s#r! 6#6! s! s͐n}-[J! ^#Vr+s! 4͐n&M}xJ! ͘O{J!! s#r! ^#Vr+sn`is{.J! ͘O! s#r! 4! ^#Vr+sn`is`in&͗@}DJU+KX4KO=KCʃKSʴKL͐~#fo|+K! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 CK! 6CK! 6! ~#fo! n&! ^#Vr+s~#fo! Nѯgs#r,L! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s,L! n}K! 6#6! ^#Vr+s~#fo! s#r͐n},L͐|,L! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sK͐6! ! s#r! n}oL! ^#Vr+s!oL! ^#Vr+s6 HL͐! ^#Vr+sns{ʘL! ^#Vr+soL! n}L! ^#Vr+s!L! ^#Vr+s6 âLL! ^#Vr+s`insL! ^#Vr+s`insI͐6!9!9DM`i6#6͐ ! s#r͐ O! s#r!FM͐#|LM!M! ^#Vr+s͐s{ –M͐͐ #ғM͐++n} “M! ^#Vr+s6 M`i^#Vr+szM͐ O! s#rzM͐LM͐M͐ ͐P͐6͐ M!9!9DM! n&0ͯ&N! n&9ͯ!9DM͐~#fon`isbF|YN͐^#Vr+s2N`in&aN!9!9DM! n&͗@! sNQ|ʢN! n&sN! n&M}N! n&sN!! n! n&+N!N! n&!9DM͐͐ DO͐^#Vr+s͐ 1O͐09O͐7s!&ÏO͐ ͐͐ ͉͐N`is͐ ͐͐ )͐N`in&#&ÏO!9!9DM`iw#w͐~#fon&M}O͐ ?͐^#Vr+snѯg`is#ræO͐O!9!9DM͐| P͊5P͐+++|#P!TP! ~#fo##^#Vr+szUP! ~#fo^#Vr+sn&P!! ~#fo! ~#fo~#fo;R`is#r!ڎP!P! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&P!9!9DM͐|P! n&͞U! ~#fo##~#foQ!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!!9DM! n&Q|ͣ{Q! n&͕F|ͣ!9DM! n&AͯڪQ! n&Zͯ  6  #F#xQ~#Q#7,2q*&:q):R=R=r:qo& #+|2R'z5R *R*R7:)~:,"s!"u*|*uʼR*~#“R"*s*u¼R#"u*+"ÀR7:)~:,"s!"u*|S**sS! ~S6*u*+"*"*u#"uR7*+++:G_*DM!SSo&7*|xS*"T*"T*"T|¢S*4!Z ##ʉS"T"T"T:T2T!T6#¯S!T ~W!T~w# SzS!TTw# SS ¹S!TT?/w#S+~g:ToŇ |3T""iT ! ###?T""  Wait a few seconds, and type a CR: $ !\&!7*͍T\!*Q7:O*o`7*|DM**(U U><U~# xU ><U~+ xU|}7:,*ͭU:*PU}|2q ʁUwU:qwrU! {w7*:w:wo2w& , FNxg>GoyU$!9DM͐$͢T! s#rzU͐V!`iUA͐$`iA͐$͢TV! 9$`iA͐$͢TV! 9)0:GQUU type a CR: $ !\&!7*͍T\!*Q7:O*o`7*|DM**(U U><U*K͞+'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y!9DM! ~#fo##~#fo!a|!j:͍k2A*!!G*͋Y|*#|!!Ϳ|!Y!"͞ |c͙K*)-!!G!͞A͖:!! ;!j:!!;͍k*|͙K3 *)-!!G!͞A|!! ! ͐k! ͆b͍k0123456789Enter through NEMESIS.Sorry ... cannot enter dungeonCurrent session suspended0123456789castleERROR in exec routing!9DM! w#w`i6#6͐ҏ *͐|g}o|t ͐`i~#fo)s#r! ^#Vr+sJ !"!9!9DM`iw#w*ͣ-}2k͐| `iw#w! o;*| ! **| **K**ͤ % *?#*##;j|0 9|? `i6#6L/͒;>UQ > > ] > >Di >< > u >< >R >o >  >o >L™ >ʢ >¥ >ʢ >P± > >H½ > >E > > > >M > >C > >+ >. >- >} *6 **+(B |6 *+"9 *i **(B |i *#"l *Ҝ **ͣB |ʜ *#"ß * *+*ͣB | *+" k ͇ ! ͏<͒;Y ! Cz0 !͝! o; !Q! o; !*Nk*kn&Y! s#rzz ͐!|z } !*Nk*kn&Y! s#rz ͐!| B û !9Suspend game? !9DM! n}   , 1 !**3 !!9DMul͐͐*h !! o;!Am*###"! o;**ͤ !ouch!!9DM͐?`is#r͐͐##;͐+͐ͣB)~#foj:͐͐(B)~#foj:͐͐ͣB)~#foj:͐͐#;͐+͐+|h͐͐+|h!.Ͳ<͐#͐#;͐͐+(B)~#foj:͐͐+|͐#͐+|!.Ͳ<͐#͐##;!9!9DM͐|͐!͐|͐#!*͐k͐nѯgW|g}o!9DM͐k͐n*ѯgW|g}os!9DM͐͐|®͐#͐|͐͐ͣB)~#foj:͐͐#|͐#͐#|!.Ͳ< ! Ͳ͐͐#|^͐͐(B)~#foj:f!hj: !"͖:ͻ**ͤ !09DM`i"/CͻrC!"**ͤ !9!9DM! ͲR2>5D͐! s#rJ#The stairway TerminatesPress any key to turn backLEVEL.After 100 more steps, the stairway continues upwardEnter R to return, any other key to continue ascentAfter 100 more steps, the stairway continues downwardEnter R to return, any other key to continue descent!9DM!`ib͐`i{Z|™͐͐[[êê!͐[[ê! 900000250000000025000!9DM**ʀA!*ʀ###! s#r`iw#w͐qrm͐! s#r|H͐)^#Vr+se͐e͐)^#Vr+s`i^#Vr+s*ր|ʔ*rm*"*؀|ʷ*€rm*"€*rm**"!9!9DM! n&![|!Ô! n&!Z\*`is#r! n}HHXh{Î*ڀ͐"ڀÎ*͐"Î*͐"Î*͐"Î!Ô!9!9DM͐++|͝!!;!!;! s#re=!<j:`i->|`in}͐+| !Oo;!3͐+|!!Po;! w#w͐*i`i͐k~#foa|[i! ^#Vr+s)͐*~!3͐kn&!ր[|¨!3*͐k##nѯg!3͐k###n͐|g}o|!3*͐k##nѯg"͐kn&3!9What magic spell: !9DM͐++|͝w!!;Ä!!;! s#re=!j:`i->|ʫ`in}͐+|½!o;!͐+|!o;! w#w͐*`i͐k@~#foa|! ^#Vr+s͐*2!͐k@n&!؀[|\!*͐k@##nѯgҀ!͐k@###n͐|g}o|«!*͐k@##nѯg"͐k@n&ͮ"!9What cleric spell: !9DM*! s#r*! s#r*! s#r! n}ʈR ʮ ʮ !`! ʨ! ! +" Q" W"o"ʟ"ß"!![|ʠ!å"!!\͐ͫ%!!!YLk!å"͐͐%å"&å"!![| !å"!!\*ڀ͐ "ڀ͐ͫ%!!!YL!å"!![|j !å"!!\*͐ "͐ͫ%!!!YL!å"͐`is#r! *!ul͐"! ͐͐p'å"!![|!!å"!!\*͐ "͐ͫ%!!!YL!å"!![|x!!å"!!\͐ͫ%!!!YL!å"! ͐͐͐ p'å"͐2`is#r!"*!ul͐"!͐͐͐ p'å"!͐͐͐ p'å"!å"!͐ ͐11å"!!\͐ͫ%!!!YL!å"!å"! 9!9DM*`is#r*! s#r*! s#r͐ >">ʜ#>">#>">$> #>$>#>z$>!#>ʍ$>-#>ʓ$>9#>$>E#>$> Q#>%> ]#>%%> i#>ʄ%> u#>ʜ%> #>ʜ%>#>ʜ%>™#>ʜ%Ü%!![|ʴ#!â%!!\͐ͫ%!!!YLk!â%͐͐'â%͐͐%â%!![|3$!â%!!\*ڀ͐"ڀ͐ͫ%!!!YL!â%͐͐'â%!â%!ul͐͐͐|½$!â%*"!â%͐͐p'â%͐͐͐p'â%͐͐͐p'â%!![|=%!â%!!\*͐"͐ͫ%!!!YL!â%!͐͐11â%!â%!9!9DM!ul**?͐?d!9DM*! s#r͐~#fo! s#r͐)))) ~#fo͐ S(! s#r͐~#fo͐s#r͐~#fo! s#r͐!&͆b͐ڑ&!&j:͐ͺ(!T)×&!×&!9 You gave it %u hits You killed 1!9DM*`is#r!ul**͐~#fo)))) nѯg?! s#r!|ͻ''!+'͐! s#r͐|F'!a'! !!j'͐c*a'!9slept!9DM!ul͐`is#r͐|ž'!ú'͐!!'͐c*ú'!9killed!9DM!ul͐! s#r͐**(**! s#r͐!>(͆b!Am*͐"! You cured %d hits.!9DM͐͐ ! s#r!ڄ(!ñ(!ul͐`is#r!ڪ(!ñ(͐ñ(!9!9DM͐~#fo)))) n! s#6͐ rm͐  ?!H)`iͫb`i`is#rzR-!-Y͐?͐ .!!͐m͐4n!9Lost him in savedv!9DM͐`is#r͐*-*#|-*)-͐b.͐"͐.!9!9DM!͐+͐7n#|D.!`i͐͜n#|L.!U.Y!9Seek failure!9DM!!>`is#rz‹.!:/Y*Ԁ͐.*Ԁ#?͐ .U*Ԁ! s#r͐͐.!!͐m! ^#Vr+s.͐"Ԁ(/͐?͐ .!!͐͜n͐4n!9lost him in getdv!9DMrm|f/?0rm*s`is#r͐n`is#r'k%~#fo|£/?0!H0͏<͐'k n&)~#foj:!Y0j:͒;! s{Y 0! n}/)?!x0͏<**ͤ ?0!y0͏<1! s#rz20͐͐S2**ͤ !9You have found: Do you wish to keep the item?!!;͒;>—0>0>U£0>0>D¯0>0>Q»0>0>I0>01!=4|01?6#|01@7|01!* 11|11k!!;e={0!9DM͐|E1C!!;e=!1\8`is#rzo1!1͐%k n}Ž1!1!ul͐|ʲ1͐!ЀL]͐|1k1!tG!1!9Which item do you wish to disclose? !9DM`iw#w͐ D2͐%k n}82͐J2`i^#Vr+s 2͵8J2!9!9DM͐'k%~#fo+s#r͐%k ͐'k ns͐%k͐'k~#fos#r͐%k##͐'k##~#fos#r͐%k͐'k~#fos#r͐%k͐'k~#fos#r͐%k͐'k~#fos#r͐%k ͐'k ~#fos#r͐'k ͐%k b`iw#w͐14͐%k!͐)͐'k!͐)~#fos#r`i^#Vr+s3͚C!9!9DM!!;e=!.6j:͒;`is}s4!%64`in} 46`in&! s#rz4͐ ڥ46͐%k n! s#r!46͐!Ҁ[|}5͐!Ѐ[|46͐%k~#fo#|56͐͐ Nt|05!%6!ul͐%k~#fo|o5͐%k6#68!tG6͐9|™5͐9|œ56͐%k~#fo#|»56͐!Ҁ\!ul͐%k~#fo|6͐%k6#6͐:=E!tGE4!%6!9Use which item: !9DM!!;e=!7\8`is#rzq6!7͐%k n}G6͐%k 6͐!Ҁ[|6͐!ҀZ\*G͐%k~#fo"G*͐%k##~#fo"͐!ЀZ\͚C͐7!9Which item do you wish to drop ? !9DM!!;e=!I8j:͒;`is}v7!@8Å7`in} …7!@8`in&! s#rz7͐ ګ7=8͐%k n}7=8͐!Ҁ[|7=8͐!ҀZ\*ڀ͐%k~#fo"ڀ*͐%k##~#fo"28!"=E!tGH7!9Unuse which item: !9DM͐j:͒;`is#r|‚8!ì8͐ ˜8k!ì8`i~#fos#rì8!9!9DMC?6`is#rk͐8!9!9DM`i6#6͐9!͐;e=`i^#Vr+s8!9!9DM͐ 0n! s#r!H9!9`iw#w͐ 9͐%k n}w99͐!Ҁ[|99͐%k n&0n! s#r!½99͐͐9!9`i^#Vr+sN9!9!9!9DM͐![!9DM͐%k~#fo|B:*ڀ͐%k~#fo"ڀ*͐%k##~#fo"h:!"!9DM͐n}ʔ:! ^#Vr+sn&Ͳm>ʓ>Ù>͐6͐ø>!Ͳ!ø>! ^#Vr+s! nsͲ!9!9DM!& n&͐$6o`is#rz>͐ ?!! b͐$! bd!& n&! 6o ?! 9*}2!9DM͐n&! s#r͐#n`is#6͐|ʅ?! ^#Vr+sn&Ͳ<`i^#Vr+s[?!9!9DM*ς}½?! ^#Vr+szʽ?*Ђ&Ͳ<ß?*ς}@! ^#Vr+sz@*/&?`is#r͐|?`i^#Vr+s??!9!9DM͐*̂&5@͐*ʂѯg`isE@͐ *˂ѯg`is*΂}f@`in*͂ѯgW|g}oͲ2`in&@!!o|@!!od`is{ @`i6 `in}2&@@!@!9*ɂ&!9DM͐ A͐ ͉@͐ )0Ͳ<ͼHI͒pJ͗Oͯ}͚C!""""""͠O*@&"!!!p}!YLw!!Xw!YL!9DM!͐>`is#rzA! BY͔͔͔͔͔͐ ͐͐m͔͔͔͔͔͐4n!9Unable to save character!!!9DM͐|?B!ÚB!͐Nk͐kn&Y`is#r͐++|“B!![|“B!ÚBÚB͐ÚB!9!9DM͐|B!C!͐Nk͐kn&Y`is#r͐++|C!![|C!CC͐C!9͖:=E!tG*!UCd#|SC!"!^Cj:HARDCOPYCould not open file*|ʘC*! c*ee*f!9DM*?*#"`iw#w͐  D͐%k n}D*͐%k ~#fo"D!" D`i^#Vr+sýC!9!9DM*`is#r! w#w!(͐##;! 6(#6͐P~D! ͲrE>ʍE>~E>ʘE>ŠE>ʣEëE!Fj:ëE!Fj:ëE!Fj:*|g}o>E>E>E>EE!Fj:E!Fj:!nj:! ͲD2I!I"N>P2P!I"U>T2W!I"\>S2^!I"c>M2e!I"j>C2l!I"q>I2s!I"x>F2z!J">A2!J">X2`iw#w! 6#6͐ I͐kG###͐s#r`i^#Vr+s! ~#fo?s#rÈI!9darkpittportshafta/ma/cillsn.firemeleespec.!K">20!K">21!K">22!"K">23!)K" >24!.K" >25!3K">26!:K">27!AK">28!HK">29!MK">2:!SK">2;!ZK">22=!dK">2>!jK" >2?!pK"">2@!wK"$>2A!|K"&>2B!K"(>2C!K"*>2D!K",>2E!K".>2FSwordLeatherFlaskShieldMaceBookHelmetHammerScrollMailPlateDaggerBowArrowTorchStaffLocketRingAxeGlovesSphereCapeBoots!9DM! w#w͐K͐)܀w#w! ^#Vr+séK*`is#r͐|PL͐##~#fo!?L͐~#fo![|?L͐~#fo)܀͐~#fo*s#r͐~#fo`is#rK!9!9DM!7_! s#r|L!MY͐##͐s#r͐͐s#r͐͐͐+|͝L*L*! s#rs#r͐>L>L>L>L M! s#r M! s#r͐~#fo`is#r|6M͐͐s#r͐w#wM͐~#fo͐mM͐͐s#r͐͐s#rM͐~#fo! s#r|œM͐͐s#r͐w#wM͐~#fo͐M͐͐s#r͐͐s#rM͐`is#rmM! 9Memory allocation failure, sorry!!9DM͐>#N>2N>/N>_NÉN! s#r*! s#r*`is#r|\N!ÎOÉN! s#r*! s#r*`is#r|‰N!ÎO! w#w͐~#fo͐ڇO͐##~#fo! s#r͐~#fo! s#r͐! s#r͐~#fo`is#r|;O͐_͐͐s#r͐ ͐!O!9~#fo|ͣ0O͐|ͣ! s#rÇO͐͐s#r͐_͐ ͐!iO!9~#fo|ͣ|O͐|ͣ! s#rÑN͐ÎO!9PBT!9DM`iw#w͐ P͐)܀~#fo! s#rzO͐!\͐͐!!YL`i^#Vr+sñO!9!"*k@!Ss#r*k@##6*k@###6*#"+k@6*k@!Ss#r*k@##6*k@###6*#"+k@6*k@!Ss#r*k@##6*k@###6*#"+k@6*k@!Ss#r*k@##6*k@###6*#"+k@6*k@!Ts#r*k@##6*k@###6*#"+k@6*k@!Ts#r*k@##6*k@###6*#"+k@6*k@!Ts#r*k@##6 *k@###6*#"+k@6*k@!Ts#r*k@##6 *k@###6*#"+k@6*k@!Ts#r*k@##6 *k@###6*#"+k@6*k@!'Ts#r*k@##6*k@###6*#"+k@6 *k@!1Ts#r*k@##6*k@###6*#"+k@6 *k@!9Ts#r*k@##6 *k@###6*#"+k@6 LIGHTCUREDAMAGEPROTECTHEALCLEANSERESTOREATTACKDISPELLHOLY WORDSILENCEDISCLOSE!"*k! Ys#r*k##6*k###6*#"+k6*k!Ys#r*k##6*k###6*#"+k6*k!Ys#r*k##6*k###6*#"+k6*k!Ys#r*k##6*k###6*#"+k6*k!$Ys#r*k##6*k###6*#"+k6*k!-Ys#r*k##6 *k###6*#"+k6*k!6Ys#r*k##6 *k###6*#"+k6*k!@Ys#r*k##6*k###6*#"+k6*k!FYs#r*k##6*k###6*#"+k6*k!OYs#r*k##6*k###6*#"+k6 *k!TYs#r*k##6*k###6*#"+k6 *k!^Ys#r*k##6*k###6*#"+k6 *k!iYs#r*k##6*k###6*#"+k6 *k!rYs#r*k##6 *k###6*#"+k6 *k!{Ys#r*k##6 *k###6*#"+k6LIGHTDAMAGESLEEPSHIELDSTRENGTHFIREBALLLIGHTNINGSPEEDLEVITATEFEARCLOUDKILLPOWER WORDTELEPORTDISCLOSEFIRE PROTECTION!9DM͐͐!Y`iͫb͐"͐ `i]Y!9%s%d!9DM͐j:!͍k!9DM͐ |g}o`is#r͐ ! s#r͐͐͐|g}o3Z!9!9DM͐`is#r͐n} kZ! ^#Vr+s60NZ͐rZ!9!9DM! 6 #6`iw#w! ~#fo s#r! ~#fo s#r͐|Z͐! ^#Vr+s! ^#Vr+so^`is#r! ^#Vr+söZ͐Z!9!9DM͐n}0)[! ^#Vr+s[͐%d`is#r|I[!0Ͳ`is#rz]!;^͐ ͐͐͜n#|,^!!;!D^j:zo͐4n!;^͐4n!;^!9We have encountered a disk read error !!! !9DM͐n͐n͐s!0ҹ^͐n& s!!!9DM͐n͐n͐s!9_͐n&s!!!9DM͐++"*~#fo|g}os#r!9DM*|¯_!a"!~#fo!~#fo##! s#r!|g}os#r!~#fo##!~#fo! s#r!|g}os#r!~#fo##""͐###! s#r*! s#r͐ ~#fo|g}o|”`͐ ~#fo! s#r~#fo|g}o|`͐ ͐~#fos#r_͐! ~#fo͐)ڔ`! ~#fo͐)"͐*m`*͐ ~#fos#r͐ *! s#r!|g}os#r͐ ##a͐ ! s#r͐ ~#fo|g}o! s#r͐*_͐ *_͐?`is#r͐a! s#rz@a͐ a!a`i~#fos#r`i~#fo|g}os#r`͐ *##ra*͐ ! s#r!|g}os#ra*͐ s#r͐ ! ~#fo͐+)"s#r**! s#r!|g}os#r_!9!9DM!ͯo|g}oͯo͐ͯo!9DM`iw#w! ~#fo͐n! ~#fo͐n}Qb! ~#fo`i^#Vr+sn}Nb!}bb! ~#fo͐n! ~#fo͐nѯgW}b!9!y9DM! `if`ij:!9!9DM! ͐f!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{bb͐c!9!9DM͐+|,c! n&Ͳ<͐++|Jc! n&!o͐+++|ic! n&!o! ~#fo##^#Vr+szʢc! ~#fo^#Vr+s! ns&!! ~#fo! ~#fo~#fomc!! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+s! ns&!9DM`iw#w! ^#Vr+sn}Rd`i^#Vr+s3d͐Yd!9!9DM͐`is#r͐n}ʌd! ^#Vr+std! ^#Vr+s͐ns! ^#Vr+sn}Œd͐ûd!9!9DM! n&.j|d! n&d! n&!9DM͐ͷm! ~#fo͐os#rz(e!! ~#fo! ~#fos#r! ~#fo##6#6! ~#fo~#fo!9DM͐Ҁe!f! ~#fo##~#foe!f! ~#fo##~#fo`is#r͐! ~#fo! ~#fo~#fom͐e!f͐+?`is#r! ~#fo##~#fo|ʞf!! ~#fo! ~#fo͐p! ~#fo##~#fo͐s#r! ~#fo~#fo͐s#r!!! ~#fo~#fo7nf! ~#fo##6#6! ~#fo! ~#fos#r!f!9!9DM! ~#fo~#fo4n!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{j`in}% j! ! s#r! 6#6! s! s͐n}-‚g! ^#Vr+s! 4͐n&k}ʟg! 0kâg!! s#r! ^#Vr+sn`is{.g! 0k! s#r! 4! ^#Vr+sn`is`in&d}DhURhX[hOdhCʪhShi͐~#fo|Rh! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 jh! 6jh! 6! ~#fo! n&! ^#Vr+s~#fo! ]jѯgs#rSi! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sSi! n}h! 6#6! ^#Vr+s~#fo! s#r͐n}Si͐|Si! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s i͐6! ! s#r! n}–i! ^#Vr+s!Җi! ^#Vr+s6 oi͐! ^#Vr+sns{ʿi! ^#Vr+sÖi! n}i! ^#Vr+s!i! ^#Vr+s6 ij! ^#Vr+s`insj! ^#Vr+s`ins&g͐6!9!9DM! n&aͯYj! n&zͯ!9DM͐͐ ҭj͐^#Vr+s͐ Қj͐0âj͐7s!&j͐ ͐͐ ͉͐]j`is͐ ͐͐ )͐]j`in&#&j!9!9DM! n&0ͯ,k! n&9ͯ!9DM`iw#w͐~#fon&k}}k͐ ?͐^#Vr+snѯg`is#r>k͐Äk!9 7*!9& 6C#6O#6M¿k*|k!\&k!\&*|k!!l&!~#fol> +l#~l##ka{ !pKl!*w#,l:**Cl*!ѷ!7*|•l*"5m*"7m*"9m|¿l*j:!Z ##ʦl"5m"7m"9m:5m25m!;m6#l!.m ~W!;m~w# lzm!;m5mw# ll l!5m;m?/w#m+~g:9moŇ #+|Nm'zQm FmFm*>Hʀmm7*|g}o"zg{o"|g7**:Oz²mq#êm !\&!7:)~:,"s!"u*|*u2n*~# n"*s*u2n#"u*+"m#7:,*lp:*Yn}|2q ʊn€n:qw{n! {w7:)~:,"s!"u*|n**sn! ~n6*u*+"*"*u#"uþn7*+++:G_*DM!1oo&7,2q*&:q):ro=ro=r:qo&:woʉo2w&!o ¬o . & *o+*|/g}/o#9oo#"z{7:O*o`7*ͷm\!*6o7*|DM**fpJp><>p~# x>p >Goyp$!p"L!q"S!q"Z!r"a!r"h!r"o!s"v!s"}!s"!s"!![|p!!!Z\k!!9DM!![|%q!q͏<Üq!q͏|®u!Bw`in}¼u!Bw! w#w͐*|v`i͐k@~#foa|nv͐k@n&͐$%k[|)v|v͐k@###n͐"|g}o|Qv|v͐k@n&ͮ"Bw! ^#Vr+su! w#w͐*Fy>z>My>9z>Cz>Yz>U z>yzìz*%|)z*"ìz!|!h~ïz!͝|Izìz!|!h~ïz!Q|izìz!|!h~ïz!tG!=4|yz8*|ʜzìz!|!h~ïzy!9Enter attack command: !9DM! 7_`is#r|z!|Y͐!ul*! s#rs#r͐w#w͐##͐))))n!ul͐))))###n͐))))nѯgWs#r͐͐))))n!ul͐))))n͐))))nѯgWs#r͐͐))))n!ul͐))))n͐))))nѯgWs#r*|C|͐"||*! s#r͐~#fo|n|͐~#fo! s#rN|͐͐s#r!Â|!9Memory allocation failure, sorry.!9DM*! s#r͐~#fo`is#r**ڀ͐~#foS("}K,=E͐~#fo))))##n*(`is#r͐|B}`i6#6!ul͐!!|!YL!9*̀#"̀mҎ}!"̀*ʀ#"ʀ"~*΀!!p}!YL!!9DM** "`iw#w͐ ~͐!Ҁ[| ~*͐%k##~#fo"`i^#Vr+s}!9!9DM*#!V~`iͫb`i€~>ʏ~>Œ~>ʜ~æ~! s#ræ~! s#r͐~#fo`is#r|½~Ë͐##~#fo͐ ͐! s#r͐~#fo`is#r|͐_͐w#wË͐_ý~͐͐s#r͐~#fo! s#r͐|ʋ͐##~#fo͐ n͐͐~#fos#r͐_x͐`is#r͐~#fo! s#r1!9!͎?(1!͎? o 'do_magicleritaeoput aget!mesa"str##~#fo"`i^#Vr+s}!9!9DM*#!V~`iͫb`i€~>ʏ~>Œ~>ʜ~æ~! s#ræ~! s#r͐~#fo`is#r|½~Ë͐##~#fo͐ ͐! s#r͐~#fo`is#r|͐_͐4 1 SWORD_+_2 0 0 5 15 0 0 0 0 0 1 1 SWORD_+_3 0 0 6 10 0 0 0 0 0 2 1 SHIELD_+_1 3 -2 0 15 0 0 0 0 -1 2 1 SHIELD_+_2 3 -3 0 10 0 0 0 0 -1 2 1 LEATHER_+_1 1 -2 0 15 0 0 0 0 0 2 1 LEATHER_+_2 1 -3 0 15 0 0 0 0 0 1 1 LEATHER_+_3 1 -4 0 10 0 0 0 0 0 4 1 TORCH 14 0 0 50 1 0 0 0 0 2 1 MACE_+_1 4 0 4 15 0 0 0 0 0 2 1 MACE_+_2 4 0 5 10 0 0 0 0 0 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 4 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 1 1 PLATE_+_3 10 -6 0 25 0 0 0 0 -3 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 4 1 HELMET 6 -1 0 25 0 0 0 0 -1 2 1 HELMET_+_1 6 -2 0 20 0 0 0 0 -2 1 1 HELMET_+_2 6 -3 0 15 0 0 0 0 -3 10 10 POINTED_STICK 15 0 0 50 0 0 0 0 -1 10 10 LOUD_BOOTS 22 0 0 50 0 0 0 0 -5 4 1 SOFT_BOOTS 22 0 0 50 0 0 0 0 5  2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 4 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 1 1 PLATE_+_3 10 -2 2 ELIXIR_OF_HEALING 2 0 0 0 1 0 0 0 0 6 6 WATER_BOTTLE 2 0 0 0 0 0 0 0 0 5 2 SWORD_+_1 0 0 3 10 0 0 0 0 -1 4 2 SWORD_-_1 0 0 -1 10 0 0 0 0 -1 1 1 MAGIC_SWORD_+_1 0 0 3 5 2 0 0 0 -1 5 5 SWORD 0 0 2 10 0 0 0 0 0 -1 1 1 SWORD_+_2 2 0 4 10 0 0 0 0 -1 5 2 MACE_+_1 4 0 3 10 0 0 0 0 -1 4 2 MACE_-_1 4 1 -1 10 0 0 0 0 -1 1 1 MAGIC_MACE_+_1 4 0 3 5 0 4 0 0 -1 1 1 MACE_+_2 4 0 4 10 0 0 0 0 -1 5 5 SHIELD 3 0 0 -1 0 10 0 0 -1 4 2 SHIELD_+_1 3 -2 0 10 0 0 0 0 -1 2 1 SHIELD_+_2 3 -3 0 10 0 0 0 0 -1 2 1 SHIELS_-_1 3 1 0 10 0 0 0 0 -1 1 1 MAGIC_SHIELD_+_1 3 -2 0 5 0 13 0 0 -1 5 5 MAIL 9 -1 0 10 0 0 0 0 -1 4 3 MAIL_+_1 9 -2 0 10 0 0 0 0 -1 3 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 2 1 MAIL_-_1 9 1 0 10 0 0 0 0 -1 1 1 MAGIC_MAIL 9 0 0 -1 0 5 0 8 -1 4 2 MAIL 9 0 0 -2 0 10 0 0 -2 4 4 DAGGER 11 1 1 10 0 0 0 0 -1 5 10 POINTED_STICK 15 0 1 0 0 0 0 4 2 GLOVES 19 0 0 -1 0 10 0 0 0 0 -1 4 1 PLATE 10 -3 0 15 0 0 0 0 -1 4 5 BRICK 20 0 0 32 0 0 0 0 -1 4 5 HANKY 8 0 0 3 0 0 0 0 0 2 1 MACE_+_2 4 0 5 10 0 0 0 0 0 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 4 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 1 1 PLATE_+_3 10 -6 0 25 0 0 0 0 -3 4 1 HELMET 6 -1 0 25 0 0 0 0 -1 1 1 SCROLL_OF_CURE 8 0 0 5 0 2 0 0 0 1 1 SCROLL_OF_PROTECT 8 -1 0 5 8 0 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 CELLOPHANE 8 0 0 10 0 0 0 0 -1 1 1 SCROLL_OF_3 8 0 0 5 135 0 0 0 0 2 2 INK_WELL 2 0 0 0 0 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 ELVEN_BOOTS 22 0 0 0 10 0 0 0 0 2 1 1 MAGIC_SWORD_+3 0 -1 4 10 2 0 0 0 -4 1 1 RUSTY_BLADE 0 0 -1 10 0 0 0 0 0 1 1 DAGGER+2 11 1 2 10 4 0 0 0 -3 2 2 PUTTY_KNIFE 11 0 0 10 0 0 0 0 0 OLL_OF_PROTECT 8 -1 0 5 8 0 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 CELLOPHANE 8 0 0 10 0 0 0 0 -1 1 1 SCROLL_OF_3 8 0 0 5 135 0 0 0 0 2 2 INK_WELL 2 0 0 0 0 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 ELVEN_BOOTS 22 0 0 0 104 2 SWORD_-_1 0 0 -1 10 0 0 -1 1 1 MAGIC_SWORD_+_1 0 0 3 5 2 0 -1 1 1 MAGIC_SWORD_+3 0 -1 4 10 2 0 0 0 -4 2 2 SWORD_+_4 0 0 6 10 0 0 0 0 -3 1 1 MAGIC_SWORD_+_1 0 0 3 5 2 0 -1 1 1 SWORD_+_2 2 0 4 10 0 0 -1 1 1 SWORD_+_3 0 0 6 10 0 0 0 0 0 1 1 SHIELD_-_2 3 1 0 10 0 0 0 0 -1 1 1 MAGIC_SHIELD_+_1 3 -2 0 5 0 13 -1 2 1 SHIELD_+_2 3 -3 0 10 0 0 0 0 -1 1 1 SHIELD_-_2 3 1 0 10 0 0 0 0 -1 2 1 SHIELD_+_1 3 -2 0 15 0 0 0 0 -1 2 1 MACE_+_2 4 0 5 10 0 0 0 0 0 1 1 MAGIC_MACE_+_1 4 0 3 5 0 4 -1 1 1 MACE_+_4 4 0 6 10 0 0 -1 2 1 MACE_+_1 4 0 4 15 0 0 0 0 0 2 1 MAIL_-_1 9 1 0 10 0 0 -1 1 1 MAGIC_MAIL 9 -1 0 5 0 8 -1 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 1 1 MAGIC_MAIL 9 -1 0 5 0 8 -1 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 1 2 PLATE-3 10 5 0 25 0 0 0 0 -3 2 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 1 1 PLATE_+_3 10 -6 0 25 0 0 0 0 -3 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 2 2 ROD_OF_MIGHT 15 -1 8 10 2 0 0 0 0 1 1 ROD_OF_WEAKNESS 15 -1 -3 10 0 0 0 0 -1 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 3 3 PYROTECHNIC_STAFF 15 0 6 5 68 0 0 0 0 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 1 1 ROD_OF_WEAKNESS 15 -1 -3 10 0 0 0 0 -1 1 1 RING_OF_LEVITATE 17 0 0 5 256 0 0 0 0 1 1 RING_OF_PROTECT 17 -1 0 5 8 0 0 0 0 1 1 RING_OF_MIGHT 17 -1 2 5 0 0 0 0 0 1 1 RING_OF_DAMAGE 17 -1 2 5 2 0 0 0 0 1 1 RING_OF_SLUMBER 17 0 0 5 4 0 0 0 0 1 1 RING_RING 17 0 0 5 0 0 0 0 -3 1 1 RING_OF_2 17 -1 0 5 19 0 0 0 0 1 1 RING_OF_3 17 0 0 5 42 0 0 0 0 4 1 SOFT_BOOTS 22 0 0 50 0 0 0 0 5 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 SCROLL_OF_2 8 0 0 5 266 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 CAPE_OF_DEFENSE 21 -4 0 10 264 0 0 0 3 1 1 TOME_OF_KNOWLEGE 5 0 0 2 0 2048 0 0 -1 1 1 DEXEDRINE 2 0 0 0 128 0 0 0 0 2 2 WAR_HAMMER_+_4 7 0 6 10 0 0 0 0 -2 2 2 CANDLE 15 0 0 0 0 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 CLOUD_KILL_SOLUTION 2 0 0 0 1024 0 0 0 0 2 2 BROOCH_OF_LEVITATE 16 0 0 5 256 0 0 0 0 1 1 LOCKET_OF_FIREBALLS 16 -1 +1 5 32 0 0 0 0 2 2 LOCKET_OF_HEALING 16 0 0 5 0 2 0 0 0 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_CURE 8 0 0 5 0 2 0 0 0 1 1 SCROLL_OF_DAMAGE 8 0 0 5 2 0 0 0 0 1 1 SCROLL_OF_PROTECT 8 -1 0 5 8 0 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 CELLOPHANE 8 0 0 10 0 0 0 0 -1 1 1 SCROLL_OF_2 8 0 0 5 266 0 0 0 0 1 1 SCROLL_OF_3 8 0 0 5 135 0 0 0 0 1 1 SCROLL_OF_4 8 -1 0 5 15 0 0 0 0 2 2 NEWS_PAPERS 8 +1 0 10 0 0 0 0 -2 3 3 BEER_TAB 17 +1 0 10 0 0 0 0 2 2 INK_WELL 2 0 0 0 0 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 ELVEN_BOOTS 22 0 0 0 10 0 0 0 0 2 1 1 RUSTY_BLADE 0 0 -1 10 0 0 0 0 0 1 1 DAGGER+2 11 1 2 10 4 0 0 0 -3 2 2 PUTTY_KNIFE 11 0 0 10 0 0 0 0 0 4 2 HELMET 6 0 0 -1 0 10 0 0 0 0 -1 4 1 MAGIC_TORCH 14 0 0 5 1 0 0 0 -1 4 2 WAR_HAMMER 7 0 2 10 0 0 0 0 -1 4 2 GLOVES 19 0 0 -1 0 10 0 0 0 0 -1 4 5 BRICK 20 0 0 32 0 0 0 0 -1 1 1 TACK_HAMMER 7 1 0 10 0 0 0 0 -1 6 6 WATER_BOTTLE 2 0 0 0 0 0 0 4 1 TORCH 14 0 0 50 1 0 0 0 0 4 1 HELMET 6 -1 0 25 0 0 0 0 -1 2 1 HELMET_+_1 6 -2 0 20 0 0 0 0 -2 1 1 HELMET_+_2 6 -3 0 15 0 0 0 0 -3 1 1 LOUD_BOOTS 22 0 0 50 0 0 0 0 -5 1 1 SOFT_BOOTS 22 0 0 50 0 0 0 0 5 4 3 SWORD 0 0 2 10 0 0 0 0 -1 4 3 MACE 4 0 1 10 0 0 0 0 -1 4 2 HELMET 6 -1 0 10 0 0 0 0 -1 4 1 MAGIC_TORCH 14 0 0 5 1 0 0 0 -1 4 3 AXE 18 0 2 10 0 0 0 0 -1 4 3 BOOTS 22 0 0 0 0 10 0 0 1 4 4 LEATHER 1 -1 0 10 0 0 0 0 -1 4 2 SHIELD 3 -1 0 10 0 0 0 0 -1 4 2 WAR_HAMMER 7 0 2 10 0 0 0 0 -1 4 2 MAIL 9 -2 0 10 0 0 0 0 -1 4 4 DAGGER 11 1 1 10 0 0 0 0 -1 15 10 POINTED_STICK 15 0 1 1 0 0 0 0 0 4 2 GLOVES 19 0 0 -1 0 10 0 0 0 0 -1 4 1 PLATE 10 -3 0 15 0 0 0 0 -1 4 5 BRICK 20 0 0 32 0 0 0 0 -1 4 5 HANKY 8 0 0 3 0 0 0 0 0 1 1 LEATHER_-_2 1 2 0 30 0 0 0 0 -1 4 1 BEENIE 6 2 0 15 0 0 0 0 0 1 1 BUTTER_KNIFE 11 2 0 15 0 0 0 0 0 1 1 TACK_HAMMER 7 1 0 10 0 0 0 0 -1 1 1 SHIELD_-_2 3 1 0 10 0 0 0 0 -1 1 4 2 WAR_HAMMER 7 0 2 10 0 0 0 0 -1 4 2 MAIL 9 -2 0 10 0 0 0 0 -1 4 4 DAGGER 11 1 1 10 0 0 0 0 -1 15 10 POINTED_STICK 15 0 1 1 0 0 0 0 0 4 2 GLOVES 19 0 0 -1 0 10 0 0 0 0 -1 4 1 PLATE 10 -3 0 15 0 0 0 0 -1 4 5 BRICK 20 0 0 32 0 0 0 0 -1 4 5 HANKY Pppppppppp@@@@@@@0@@Pp@p0p@p0p@p000p@p0000p@p00000p0@000000pPPPP000000000p0000000000000000000000000000000000000000ppppppp@@00P0p0@0Pp@@0Pp@p@0p00000p0000000000000:/* macro define */ for(i=0; i<4; ++i) if(((ch=waitkey()) >= '0' ) 0Pp@@0Pp@p@0000000000000000000000P000000000@@@@P00000000P00@00@@000000p0000P00000000000000000000@PPP000000000000010000000000000000P0000000000000080000000000000:/* macro define */ for(i=0; i<4; ++i) if(((ch=waitkey()) >= '0' ) 001PPPPPPPPPPPRPPPPPPPPPPPPPpPPPPPPPPPPP@000@PPPPPPPPPPP P 00000000PS0000000pp0000000p0000000p0000P0000000000000p p@@@P@@@@00P0PP@p00P@00Ppp@Pp@Pp000000pPP 000000000P00p pp0000000000000000000000000000000000:'p2\9>1؜(e";x$hȬDŽȖǷ-#țJ3l?p@Pp000000pPP 000000000000000000000000 @00000000p0000000@0 p00@00000000000@00000@000000000@@000000000000000000@00000 000p0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000z*"z*"z|‚z*I!Z ##iz"z"z"z:z2z!z6#00p0000000000000000000000000000000000000000000000000000000000000000@00 0000000@p000000000000000000@000000@@00000000000000@00p00000000000000000@000000@0 0000000000@0 0000000p000000000000000PPPPPPP@pppPpp@00000000000pp00000000000 000000000000PPPPPPP@pppPpp@0p000000000000000000000000000000 000000000000000000000000p@00p@0@@@000000000000p@0p@00p@00p@0@p@0000pp@0p@000000p@0@p@0@0p@00000p@00@@p@0pp00000000000pp000:'p2\9>1؜(e";x$hȬDŽȖǷ-#țJ3l?@p@0@0p@00000p@00000000000000000000P00000@00000000000000@00000000p000000000p@0000000000p00000000000P0p000000000000000000@@@0000000000000000000000000000000000000z*"z*"z|‚z*I!Z ##iz"z"z"z:z2z!z6#000000000000000000@@@0000000000000000000000000 000008 0000000p@000@0p000  00000000000000000000000000000000000000000000000000000p0p000000000000000000000000004@00000000000000000000040(0000 $(000000000000000 (0000 $"                        +  +  +  +  2  2  7  @  @  @  @  H  H  N  U  U  U  U  `  `  h  seed=0; seed MAX_NAME) |(fd != -1)); strcpy(PERSON.p_name,temp_name); } get_type() { int t1; char temp[50]; Pppppppppp@@@@@@@0@@Pp@p0p@p0p@p000p@p0000p@p00000p0@000000pPPPP000000000p0000000000000000000000000P000P0000P000000ppppppp@@00P0p0@0Pp@@0Pp@p@0p00000p0000000000000:/* macro define */ for(i=0; i<4; ++i) if(((ch=waitkey()) >= '0' )  *gets(); do R tab(2,0); eol(); "                        +  +  +  +  2  2  7  @  @  @  @  H  H  N  U  U  U  U  `  `  h  U^   ^   ^   ^   c  c  c  p 2p 2y ( y ( y (                    22s#räL͐L!9!9DM͐| M(5M͐+++|!M!͓PM! ~#fo##^#Vr+szSM! ~#fo^#Vr+sn&M!! ~#fo! ~#fo~#foͼO`is#r!ڌM!M! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&M!9!9DM͐|M! n&gQ! ~#fo##~#foN!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!!9DM! n&}N|ͣyN! n&͓C|ͣ!9DM! n&AͯڨN! n&Zͯ  6  #F#xN~#N#7,2q*&:q):O=O=r:qo& #+|0VeteranWarriorSwordmanOrcPseudo-DragonMediumSeerConjurerAcolyteAdeptPriestApprenticeFootpadRobberMagicianTheurgistPriestRobberTrollWraithVicarWyvernSuccubi|P**sP! ~P6*u*+"*"*u#"uO7*+++:G_*DM!QPo&7*~P\!*N !\&!7:O*o`7*|DM**PP>GoyQ$$!(toupper(sgetchar()) != 'Y'); } compute_stats() { int t1, t2, t3, tot; tot=0; t3 = PERSON.stat[TYPE]; for(t1=0; t1<6; ++t1) tot+=PERSON.stat[t1] = (t2 = roll() + (2 * xtype.factor[t1])) <= 0 ? 1 : t2; PERSON.stat[SEX] = (rand() % 2) ? M : F; sprintf(PERSON.gold,NSTR,rand()%(200-tot)); zfill(PERSON.gold); } display_stats() { tab(3,0); puts(((PERSON.stat[SEX]&M)==M) ? "Male " : "Female"); tab(4,0); printf("STR : %d \n",PERSON.stat[STR]); printf("INT : %d \n",PERSON.stat[INT]); printf("WIS : %d \n",PERSON.stat[WIS]); printf("CHA : %d \n",PERSON.stat[CHA]); printf("CON : %d \n",PERSON.stat[CON]); printf("DEX : %d \n",PERSON.stat[DEX]); printf("GOLD : %d \n",atoi(PERSON.gold)); } get_name() { char temp_name[50], filename[13], temp[50]; int t1, t2, t3, fd; sleep(20); do { fd = -1; tab(0,0); eol(); puts("What shall this character be called? "); sscanf(gets(tempSWORDF HEALING_nSWORD + 1 tab(2 SWORD + 2use, wouSHIELDORCHte it SHIELD + 1 1'Y') SHIELD + 2 fLEATHER3} } whLEATHER + 10)  LEATHER + 2; 2TORCHCE + 1} MACER temp[50]; MACE + 1TICK;  MACE + 2CK puts(MAIL 2ets(temp) MAIL + 1 || (t1 >  MAIL + 2D + 1xty PLATER - 2T] = x BEENIE1ON.stat[I BUTTER KNIFESON.s  TACK HAMMER PER  SHIELD - 2at[AGEC  MAILBOOTS ty  DAGGER clr();  GLOVES_STICK { PLATE%d",t1); ta  BRICK[t1].xname); HANKY]; } ty MACE + 2 clr(); MAIL + 1t1) {  MAIL + 2,t1); ta PLATE + 1.xname); PLATE + 2 et_name(); _dungeon(); get_type(); get_sta; get_ali(); get_class(); iniar(); save_char(); } init_cha { int t1,t; t = PERSON.stat[C]; if(t==4 || t==5 || t==9 || t== PERSON.p_mspell = 0xffff; elseSON.p_mspell = 0; if(t==0 || t==1t==7 || t==9 || t==10 || t==12) ON.p_cspell = 0xFFFF; else PERSONspell = 0; PERSON.p_ac = 10; RSON.stat[LVL] = 0; PERSON.statL] = PERSON.stat[X] = PERSON.[Y] = PERSON.stat[HIPAGE] = -1; * Eldar elf starts at 89 (why not) PERSON.stat[AGE1] = PERSON.stat[TY== 14 ? 89 : 16; PERSON.stat[O_HI= PERSON.stat[HITS] = 1 + rand() % PERSON.stat[CON] + PERSON.stat[STR]); for(t1=0; t1= '0' )   c4 break; case 'C': cW-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd-Ȗd2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,(2,,((dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ(dȖ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ2dȴ%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A4d脄 P4d脄 P4d脄 P4d脄 P<ܸJĸY 1 MAGIC_MAIL 9 -1 0 5 0 8 -1 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 1 2 PLATE-3 10 5 0 25 0 0 0 0 -3 2 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 BalrogGreen dragonHell demonNinjaOrcusBeholderDemigodAir elementalFire elementalEarth elementalSpectreWizardNinjaBrass dragonBlack dragonGreen dragonHell demon 10 0 0 0 0 -1 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 3 3 PYROTECHNIC_STAFF 15 0 6 5 68 0 0 0 0 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 1 1 ROD_OF_WEAKNESS 15 -1 -3 10 0 0 0 0 -1 1 1 RING_OF_LEVITATE 17 0 0 5 256 0 0 0 0 1 1 RING_OF_PROTECT 17 -1 0 5 8 0 0 0 0 1 1 RING_OF_MIGHT 17 -1 2 5 0 0 0 0 0 1 1 RING_OF_DAMAGE 17 -1 2 5 2 0 0 0 0 1 1 RING_OF_SLUMBER 17 0 0 5 4 0 0 0 0 1 1 RING_RING 17 0 0 5 0 0 0 0 -3 1 1 RING_OF_2 17 -1 0 5 19 0 0 0 0 1 1 RING_OF_3 17 0 0 5 42 0 0 0 0 4 1 SOFT_BOOTS 22 0 0 50 0 0 0 0 5 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 SCROLL_OF_2 8 0 0 5 266 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 CAPE_OF_DEFENSE 21 -4 0 10 264 0 0 0 3 1 1 TOME_OF_KNOWLEGE 5 0 0 2 0 2048 0 0 -1 1 1 DEXEDRINE 2 0 0 0 128 0 0 0 0 2 2 WAR_HAMMER_+_4 7 0 6 10 0 0 0 0 -2 2 2 CANDLE 15 0 0 0 0 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 CLOUD_KILL_SOLUTION 2 0 0 0 1024 0 0 0 0 2 2 BROOCH_OF_LEVITATE 16 0 0 5 256 0 0 0 0 1 1 LOCKET_OF_FIREBALLS 16 -1 +1 5 32 0 0 0 0 2 2 LOCKET_OF_HEALING 16 0 0 5 0 2 0 0 0 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_CURE 8 0 0 5 0 2 0 0 0 1 1 SCROLL_OF_DAMAX@DragonslayerROLLPower Axeoak 1 1 SCloak of Godhood 1  Sword of GodhoodSCRWizards Staff1ROLClerics StaffROLL_Sphere of MightAPEPower StafferTAB 1Ring of DestructionHelmet of DeathION Magic BowvesOTS 22 Illearth StoneDE 0 Vorpal Blade11 1 2 Ring of Hiding 0 0  2nd Ring of Power10 3rd Ring of Power 1 @Locket of Healing0  Book of Magic 0 0 0 Book of Cleric-1  Scroll of Magic 6  Scroll of ClericCH STAFF OF LIFE6 -1 0CRAYONMIGHT -2 0 2 ROD OF WEAKNESS 15 RING OF LEVITATE 0 RING OF PROTECT0 0 RING OF MIGHT 0 0 1RING OF DAMAGE 0 0 RING OF SLUMBER 0 -RING RING0 0 0 -1 RING OF 2 0 0 0 -1 *RING OF 3 -1 1 1 S2SOFT BOOTS1 2 MACE_CRAYONRACLET_-_1 4SCROLL OF LIGHTE_+_SCROLL OF FEAR 4 0  SCROLL OF 2 0 -1 0 @ELIXIR OF RESTORATIO CAPE OF DEFENSE 0 0TOME OF KNOWLEGE 0 DEXEDRINE 0 5 0 13  WAR HAMMER + 4 -1 CANDLE 0 0 -1 1 1 CRAYON -1 1 1 MAILCLOUD KILL SOLUTIONBROOCH OF LEVITATE-LOCKET OF HEALINGSSCROLL OF LIGHT0 0 SCROLL OF CURE 0 0 SCROLL OF DAMAGE 1  20 0 0 32 0 0 0 0 -1 1 5 HANKY 8 0 0 3 0 0 0 0 0 1 1 MACE_+_2 4 0 5 10 0 0 0 0 0 1 1 MAIL_+_1P00(d00000000P0<00P00 0x0000000000000000000000000000000000000000000000000 000 000y000000000000000000000000000000B9E toupper 4C28 zzzend 4C32 zzz0 4C44 zread 4C4C zwrite 4C54 #$%&'())**++,--../015 break; case 'C': c8                   #  #  #  -  -  7   7   7   < < < < A A A G G G G P  P  P  ]]c  c  c  m  m  w  w  }  }  }           22s#räL͐L!9!9DM͐| M(5M͐+++|!M!͓PM! ~#fo##^#Vr+szSM! ~#fo^#Vr+sn&M!! ~#fo! ~#fo~#foͼO`is#r!ڌM!M! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&M!9!9DM͐|M! n&gQ! ~#fo##~#foN!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!!9DM! n&}N|ͣyN! n&͓C|ͣ!9DM! n&AͯڨN! n&Zͯ  6  #F#xN~#N#7,2q*&:q):O=O=r:qo& #+|0WereratWereboarWerecatOrcGnomeHobglobinOgre MageOgreSeerAdeptSkeletonLarge spiderWightLarge antBlink dogGhoulGnollGoblinBasiliskCockatriceVicarWyvernSuccubi|P**sP! ~P6*u*+"*"*u#"uO7*+++:G_*DM!QPo&7*~P\!*N !\&!7:O*o`7*|DM**PP>GoyQ$$!(toupper(sgetchar()) != 'Y'); } compute_stats() { int t1, t2, t3, tot; tot=0; t3 = PERSON.stat[TYPE]; for(t1=0; t1<6; ++t1) tot+=PERSON.stat[t1] = (t2 = roll() + (2 * xtype.factor[t1])) <= 0 ? 1 : t2; PERSON.stat[SEX] = (rand() % 2) ? M : F; sprintf(PERSON.gold,NSTR,rand()%(200-tot)); zfill(PERSON.gold); } display_stats() { tab(3,0); puts(((PERSON.stat[SEX]&M)==M) ? "Male " : "Female"); tab(4,0); printf("STR : %d \n",PERSON.stat[STR]); printf("INT : %d \n",PERSON.stat[INT]); printf("WIS : %d \n",PERSON.stat[WIS]); printf("CHA : %d \n",PERSON.stat[CHA]); printf("CON : %d \n",PERSON.stat[CON]); printf("DEX : %d \n",PERSON.stat[DEX]); printf("GOLD : %d \n",atoi(PERSON.gold)); } get_name() { char temp_name[50], filename[13], temp[50]; int t1, t2, t3, fd; sleep(20); do { fd = -1; tab(0,0); eol(); puts("What shall this character be called? "); sscanf(gets(tempSWORD + 2ALING_n SWORD + 3 tab(2SHIELD + 1se, wou SHIELD + 2te it LEATHER + 11'Y')LEATHER + 2 f LEATHER + 3 } wh2TORCHR + 10) MACE + 1 2;  MACE + 2+ 1} MAIL + 1emp[50];   MAIL + 2TICK;  PLATE + 1K puts( PLATE + 2ts(temp) PLATE + 3|| (t1 >  STAFF OF LIFExtyHELMET - 2T] = x HELMET + 1.stat[I HELMET + 2ESON.s 2POINTED STICK PER  2LOUD BOOTSat[AGEC  2SOFT BOOTS ty  DAGGER clr();  GLOVES_STICK { PLATE%d",t1); ta  BRICK[t1].xname); HANKY]; } ty MACE + 2 clr(); MAIL + 1t1) {  MAIL + 2,t1); ta PLATE + 1.xname); PLATE + 2 et_name(); _dungeon(); get_type(); get_sta; get_ali(); get_class(); iniar(); save_char(); } init_cha { int t1,t; t = PERSON.stat[C]; if(t==4 || t==5 || t==9 || t== PERSON.p_mspell = 0xffff; elseSON.p_mspell = 0; if(t==0 || t==1t==7 || t==9 || t==10 || t==12) ON.p_cspell = 0xFFFF; else PERSONspell = 0; PERSON.p_ac = 10; RSON.stat[LVL] = 0; PERSON.statL] = PERSON.stat[X] = PERSON.[Y] = PERSON.stat[HIPAGE] = -1; * Eldar elf starts at 89 (why not) PERSON.stat[AGE1] = PERSON.stat[TY== 14 ? 89 : 16; PERSON.stat[O_HI= PERSON.stat[HITS] = 1 + rand() % PERSON.stat[CON] + PERSON.stat[STR]); for(t1=0; t11؜(e";x$hȬDŽȖǷ-#țJ3l?  !"#$%&'()*+,- #$%&'())**++,--../01- break; case 'C': c2          2 2 2 2"""")2)2/2/266> > > > F#F#F#OOOYYY` (` (` (h(h(t(t(2  2(- (-#             22%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<%PXX&<+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A+PX&A4d脄 P4d脄 P4d脄 P4d脄 P<ܸJĸY 1 MAGIC_MAIL 9 -1 0 5 0 8 -1 2 1 MAIL_+_1 9 -2 0 15 0 0 0 0 -1 2 1 MAIL_+_2 9 -3 0 10 0 0 0 0 -1 1 2 PLATE-3 10 5 0 25 0 0 0 0 -3 2 1 PLATE_+_1 10 -4 0 25 0 0 0 0 -3 2 1 PLATE_+_2 10 -5 0 25 0 0 0 0 -3 ManticoreMummyMinotaurMagicianWraithVicarWyvernSuccubiFighterMyrmidonEnchanterBishopBurglarHuge spiderGiant waspWill o wispTitanChimeraHill giantWyvernSuccubi0 0 0 0 0 -1 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 3 3 PYROTECHNIC_STAFF 15 0 6 5 68 0 0 0 0 1 1 STAFF_OF_LIFE 15 0 5 10 0 18 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 2 2 ROD_OF_MIGHT 15 -1 +1 10 2 0 0 0 0 1 1 ROD_OF_WEAKNESS 15 -1 -3 10 0 0 0 0 -1 1 1 RING_OF_LEVITATE 17 0 0 5 256 0 0 0 0 1 1 RING_OF_PROTECT 17 -1 0 5 8 0 0 0 0 1 1 RING_OF_MIGHT 17 -1 2 5 0 0 0 0 0 1 1 RING_OF_DAMAGE 17 -1 2 5 2 0 0 0 0 1 1 RING_OF_SLUMBER 17 0 0 5 4 0 0 0 0 1 1 RING_RING 17 0 0 5 0 0 0 0 -3 1 1 RING_OF_2 17 -1 0 5 19 0 0 0 0 1 1 RING_OF_3 17 0 0 5 42 0 0 0 0 4 1 SOFT_BOOTS 22 0 0 50 0 0 0 0 5 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_FEAR 8 0 0 5 512 0 0 0 0 1 1 SCROLL_OF_2 8 0 0 5 266 0 0 0 0 1 1 ELIXIR_OF_RESTORATION 2 0 0 5 0 64 0 0 0 1 1 CAPE_OF_DEFENSE 21 -4 0 10 264 0 0 0 3 1 1 TOME_OF_KNOWLEGE 5 0 0 2 0 2048 0 0 -1 1 1 DEXEDRINE 2 0 0 0 128 0 0 0 0 2 2 WAR_HAMMER_+_4 7 0 6 10 0 0 0 0 -2 2 2 CANDLE 15 0 0 0 0 0 0 0 0 2 2 CRAYON 15 0 0 0 0 0 0 0 0 1 1 CLOUD_KILL_SOLUTION 2 0 0 0 1024 0 0 0 0 2 2 BROOCH_OF_LEVITATE 16 0 0 5 256 0 0 0 0 1 1 LOCKET_OF_FIREBALLS 16 -1 +1 5 32 0 0 0 0 2 2 LOCKET_OF_HEALING 16 0 0 5 0 2 0 0 0 2 2 CHARM_BRACLET 16 +1 0 10 0 0 0 0 -2 1 1 SCROLL_OF_LIGHT 8 0 0 5 1 0 0 0 0 1 1 SCROLL_OF_CURE 8 0 0 5 0 2 0 0 0 1 1 SCROLL_OF_DAMA MAGIC SWORD +3GLL SWORD + 4LE 1 1 S SWORD + 3D_+_1 1  SHIELD - 2dhoodSCR SHIELD + 2D_+_1ROL SHIELD - 2ffROLL_SHIELD + 1ightAPE MACE + 2fferTAB 1MACE + 1E_+_1tionMAIL + 1L+ 1ION MAIL + 1LesOTS 22  MAIL + 2StoneDE 0 PLATE-3 1e11 1 2 PLATE + 1ing 0 0 PLATE + 2 Power10 PLATE + 3LD + 1 1 CRAYONMIGHTling0  ROD OF MIGHT 0 0 0 ROD OF WEAKNESS-1  STAFF OF LIFEc 6 DPYROTECHNIC STAFFCH STAFF OF LIFE6 -1 0CRAYONMIGHT -2 0 2 ROD OF WEAKNESS 15 RING OF LEVITATE 0 RING OF PROTECT0 0 RING OF MIGHT 0 0 1RING OF DAMAGE 0 0 RING OF SLUMBER 0 -RING RING0 0 0 -1 RING OF 2 0 0 0 -1 *RING OF 3 -1 1 1 S2SOFT BOOTS1 2 MACE_CRAYONRACLET_-_1 4SCROLL OF LIGHTE_+_SCROLL OF FEARCT0  SCROLL OF 2AR-1 0 @ELIXIR OF RESTORATIO CAPE OF DEFENSE 0 0TOME OF KNOWLEGE 0 DEXEDRINERESTORATIO WAR HAMMER + 4 -1 CANDLEWORD +3 1 1 CRAYONLADE1 1 MAILCLOUD KILL SOLUTIONBROOCH OF LEVITATE-LOCKET OF HEALINGSSCROLL OF LIGHT0 0 SCROLL OF CURE 0 0 SCROLL OF DAMAGE 1  20 0 0 32 0 0 0 0 -1 1 5 HANKY 8 0 0 3 0 0 0 0 0 1 1 MACE_+_2 4 0 5 10 0 0 0 0 0 1 1 MAIL_+_1000000000000000000P00000@00000000000000@00000000p000000000p@0000000000p00000000000P0p000000000000000000@@@0000000000000000000000000000000000000z*"z*"z|‚z*I!Z ##iz"z"z"z:z2z!z6#  !!"#$%&'())**++,--../01I break; case 'C': c2          2 2 2 2"""")2)2/2/266> > > > F#F#F#OOOYYY` (` (` (h(h(t(t(2  2(- (-#eturn write_buf(fd); return TRUE; default: errno = INVFD; return ERROR; } } fill_buf(fd) char *fd; { int *p1; p1 = *(p1 = &fd[PS]); if((p1[AC] = read(fd,&p1[BU],p1[BS])) <= 0) { errno = EOFERR; return ERROR; } p1[AP] = &p1[BU]; return TRUE; } write_buf(fd) char *fd; { int *p1; p1 = *(p1 = &fd[PS]); if(write(fd,&p1[BU],p1[BS]) != p1[BS]) return ERROR; p1[AP] = &p1[BU]; p1[AC] = 0; return TRUE; } toupper(c) char c; { if(c >= 'a' && c <= 'z') return c-' '; return c; } #asm ! Z8000 IO runtime routines ! Version 1.0 ! Stuff to work on ! openr/openw never return an error code ! All routines return rr4 == 0 on success else r5 == error code zs_diskr equ ^x36 zs_diskw equ ^x37 zs_close equ ^x33 zs_cloManticoreMummyMinotaurMagicianWraithVicarWyvernSuccubiFighterMyrmidonEnchanterBishopBurglarHuge spiderGiant waspWill o wispTitanChimeraHill giant zread(fd,buffer,record,record_count) ! zwrite(fd,buffer,record,record_count) ! zcreat(p_ptr,l_ptr,l_count) ! zopenr/w(file_name,file_type) returns fd or 0 on error ! zadd(fd,where,record_count) ! zclose(fd) ! zcloseall() ! zblock() ! zdelete(filename,file_type) ! zfileinfo(filename,type,where) ! set rr4 == 0 if carry zzzend: ldk r4,#0 ldk r5,#0 ret c ld r5,r0 ret ! set up registers for read/write zzz0: ld r1,sr[#10] ! record_count ldl rr2,sr[#12] ! record ldl rr4,sr[#16] ! buffer ldb rl6,sr[#23] ! fd ret !* zread(fd,buffer,record,record_count) zread: calr zzz0 sc #zs_diskr calr zzzend ret !* zwrite(fd,buffer,record,record_count) zwrite: calr zzz0 sc #zs_diskw calr zzzend ret !* zclose(fd) zclose: ldb rl6,sr[#7] ! fd sc #zs_close calr zzzend ret !* zcloseall() zcloseall: sc #zs_closeall calr zzzend ret !* zblock() zblock: sc #zs_blockdsk calr zzzend ret !* zdele#include "zstdio.h" main() { char buf[1000], p; int fd, t; allocs = 0; puts("calling unlink "); if(unlink("test;rick") == -1) fatal(" unlink error "); else puts(" unlink ok "); puts(" filling buf "); for(fd=0; fd < 1000; ++fd) buf[fd] = 'e'; puts("buf filled, calling creat "); if(-1 == (fd=creat("test;rick",1,"puppy ","puppy ",2,500))) fatal("error in creat"); else puts("File created"); if(close(fd) ==  MAGIC SWORD +3 clo SWORD + 4close");  SWORD + 3D_+_11)  SHIELD - 2read/writ SHIELD + 2D_+_1  SHIELD - 2 fatal("SHIELD + 1uts(" Wri MACE + 2) == -1) MACE + 1E_+_1 elseMAIL + 1Lf(-1 == ( MAIL + 1L) fata  MAIL + 2 puts(" fop PLATE-3; ++t) pu PLATE + 1"); } PLATE + 2s); puts PLATE + 3 exit(); CRAYONMIGHT(i < 0) ROD OF MIGHT }  ROD OF WEAKNESS; { STAFF OF LIFE putDPYROTECHNIC STAFF)  STAFF OF LIFE= 'z')CRAYONMIGHTeturn 1 ROD OF WEAKNESSfromRING OF LEVITATEuntRING OF PROTECTm++;RING OF MIGHTin() RING OF DAMAGE; RING OF SLUMBERnk "RING RING= -1) fRING OF 2e puts(*RING OF 3ing buf ")2SOFT BOOTS buf[fCRAYONRACLETling cSCROLL OF LIGHT;ricSCROLL OF FEAR)  SCROLL OF 2 puts@ELIXIR OF RESTORATIO CAPE OF DEFENSE elTOME OF KNOWLEGE = DEXEDRINE fatal("E WAR HAMMER + 4 elsCANDLE if(write(fCRAYONl(" Error in CLOUD KILL SOLUTIONBROOCH OF LEVITATErLOCKET OF HEALINGSSCROLL OF LIGHTopenSCROLL OF CUREopen SCROLL OF DAMAGE; 0; t < 200; ++t) putchar(getc(fd)); puts("done"); } fatal(s) char *s; { puts(s); pu000000000000000000000000 000008 0000000p@000@0p000  00000000000000000000000000000000000000000000000000000p0p000000000000000000000000004@00000000000000000000040(0000 $(000000000000000   !!"#$%&'())**++,--../01l rr4,rr6[#4] sc #zs_delIe calr zzzend ret 722222222    ((((!(!(!(!(,2  ,2  ,2  82(- 82(- 82(- >(>(>(>(F-#F-#F-#F-#QP2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y!9DM͐һ!͐ͅ! ~#fo~#fon}2>:2>2>2 k ! $ !""! ~#fo##~#fo? |)!ͅ!! ~#fo##~#fo͠]Ϳ *|d!!!ͫv!!!ͫ!i!9NEMESIS Nemesis Version 1.2 Not a valid character name !!0123456789castle0123456789dungeonERROR in exec routing !!! Call SuperSoft.!"!8"{2&"!9DM`i͐|_ !ö !`i ! s#rz !ö !!G͐͐ #|§ ͐!!ö ͐!!ö !9!9DM͗`iw#w͐* ͐)܀~#fo! s#rz ͐!a͐͐!!3 `i^#Vr+s !9!9DM!! s#r|Y ! ͐ͅ##͐s#r͐͐s#r͐͐͐+|͝œ *ß *! s#rs#r͐>½ > > > ! s#r ! s#r͐~#fo`is#r| ͐͐s#r͐w#wú ͐~#fo͐G ͐͐s#r͐͐s#rú ͐~#fo! s#r|v ͐͐s#r͐w#wú ͐~#fo͐ҭ ͐͐s#r͐͐s#rú ͐`is#rG ! 9Memory allocation failure, sorry!!9DM!!> !`is#rz !G M!!!ǂ͐͐ ͐!!n !9term.defCan not open TERM.DEF, run termdef.!9DM*ւ}ʐ !Ղn *т& `iw#w͐*Ȃѯg !͐Dͮ`i^#Vr+sÖ !!D!9!9DM͐n} ! ^#Vr+sn& !9DM!& n&͐$ !`is#rz3 ͐e !! ͎͐$! !& n&! !e ! 9!9DM͐n&! s#r͐#n`is#6͐| ! ^#Vr+sn&`i^#Vr+sÖ !9!9DM*ς} ! ^#Vr+sz *Ђ& *ς};! ^#Vr+sz;*/&?`is#r͐|8`i^#Vr+s#!9!9DM͐b! 6#6!ۂn ͐͐!ͭ!݂n ͐͐!ͭ!߂n *ӂ& !9DM! *؂}!ׂn *҂& `is#r͐|! `i^#Vr+s! !9!9DM! n} -! *|h*! n&8#|eA!"!'! y! n&!P!! n&File write error.Use P to replot screen!9DM͐*̂&͐*ʂѯg`is͐ *˂ѯg`is*΂} `in*͂ѯgW|g}o`in&J!9*ɂ&!9DM!!Dͮ͐ !9DM͐ o͐ ͉J͐ )0!9DM͐ !M!!9DM`iw#w͐)͐n})͐n} ͐n} ͐n}.! ~#fo͐6$! ~#fo͐͐ns`i^#Vr+s! ^#Vr+sî! ~#fo͐6!X͐͐O!9.CHR! ! ! !!t!@"!t!#u"! "Nemesis and Dungeon Master Copyright (c) 1981 Michael Q. Hiller and Michael A. Pagels Please hit a key to continue.!9DM!͐͐͠ `is#rzI!X͐!!X!9!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}os#r!9DM*|O!l"!~#fo!~#fo##! s#r!|g}os#r!~#fo##!~#fo! s#r!|g}os#r!~#fo##""͐###! s#r*! s#r͐ ~#fo|g}o|4͐ ~#fo! s#r~#fo|g}o|¾͐ ͐~#fos#rÆ͐! ~#fo͐)4! ~#fo͐)"͐* *͐ ~#fos#r͐ *! s#r!|g}os#r͐ ##c͐ ! s#r͐ ~#fo|g}o! s#r͐*p͐ *p͐?`is#r͐l! s#rz͐ ҵ!c`i~#fos#r`i~#fo|g}os#rË͐ *##*͐ ! s#r!|g}os#r*͐ s#r͐ ! ~#fo͐+)"s#r**! s#r!|g}os#rp!9!9DM!#|g}o#͐#!9DM! n&!S|»!J! n&!*`is#r! n}1D*ڀ͐"ڀD*͐"D*͐"D*͐"D!J!9!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐|g}o!9DM! ~#fo͐)s#r͐͐?! s#r͐! s#r͐~#fo͐}/o|/g|g}os#r*|g*!8*Q*!y9DM! `i`i !9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{à͐!9!9DM͐`is#r͐n}! ^#Vr+s! ^#Vr+s͐ns! ^#Vr+sn}͐/!9!9DM͐+|X! n&͐++|v! n&!@#͐+++|•! n&!@#! ~#fo##^#Vr+sz! ~#fo^#Vr+s! ns&!! ~#fo! ~#fo~#foS#!! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+s! ns&!9DM͐l!ý! ~#fo##~#fo‰!ý! ~#fo##~#fo`is#r͐! ~#fo! ~#fo~#foS#͐!ý͐+?`is#r! ~#fo##~#fo|ʊ!! ~#fo! ~#fo͐ͻ#! ~#fo##~#fo͐s#r! ~#fo~#fo͐s#r!!! ~#fo~#fo $ý! ~#fo##6#6! ~#fo! ~#fos#r!ý!9!9DM! ~#fo~#fo!!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ `in}%! ! s#r! 6#6! s! s͐n}-n! ^#Vr+s! 4͐n&;}ʋ! Î!! s#r! ^#Vr+sn`is{.! ! s#r! 4! ^#Vr+sn`is`in&J}DU>XGOPCʖS͐~#fo|>! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 V! 6V! 6! ~#fo! n&! ^#Vr+s~#fo! ѯgs#r?! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s?! n}! 6#6! ^#Vr+s~#fo! s#r͐n}?͐|?! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}‚! ^#Vr+s!҂! ^#Vr+s6 [͐! ^#Vr+sns{ʫ! ^#Vr+sÂ! n}! ^#Vr+s!! ^#Vr+s6 õ! ^#Vr+s`ins! ^#Vr+s`ins͐6!9!9DM͐͐ j͐^#Vr+s͐ W͐0_͐7s!&õ͐ ͐͐ ͉͐`is͐ ͐͐ )͐`in&#&õ!9!9DM! n&0ͯ! n&9ͯ!9DM`iw#w͐~#fon&;}:͐ ?͐^#Vr+snѯg`is#r͐A!9!9DM! n&||q! n&v! n&!9DM! n&aͯڧ! n&zͯ7*!9& 6C#6O#6M*|!\& !\&*| !!l&!~#fo: > +1 #~ ## a{ !pf !*w#G :**^ *!ѷ!7:)~:,"s!"u*| **s ! ~ 6*u*+"*"*u#"uò #7,2q*&:q):E!=E!=r:qo& 7*+++:G_*DM!o!o&7*|”!*"4"*"6"*"8"|¾!* !Z ##ʥ!"4""6""8":4"24"!:"6#!!-" ~W!:"~w# !z"!:"4"w# !! !!4":"?/w#"+~g:8"oŇ:woO"2w&!o r" . & |ʄ"""" ! ###ʐ"""  Wait a few seconds, and type a CR: $ #+|"'z" "" *5#+*|/g}/o#99#5##"z{7:O*o`7:)~:,"s!"u*|*uʹ#*~##"*s*u¹##"u*+"}#7*|DM**$#><#~# x# ><#~+ x#|}7:,*q$:*.$}|2q _$U$:qwP$! {w , FNxg>Goy$$$!!͐P͐Xt!`i !R9!9DM͐*̂&$͐*ʂѯg`is$͐ *˂ѯg`is*΂*K͞+88)@'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y!9DM*:w#w`iw#w͐͐)*w#w`i^#Vr+s÷͐ ! ~#fo~#fon*<s*=6:*>6)*<6o%%͂"N *i k S!9!9DM\! s#r͐++++|ʛ͐ʛ͐ ʛ͐ ª*6#6õ*w#w͐|͐+|͐͐ ͐ ͐  *6#6 *w#w*6 #6*w#w* s#r*s#r*s#r*s#r\͝t !Yw !*s#r>5\\*s#r*s#r`iw#w͐  ͐%k*# 6`i^#Vr+sø `iw#w͐ ͐)*w#w`i^#Vr+s !!H *)*;#!9%010d!d **LEVEL.!9DM6 !!o&&! H*`i! ! f5t*͐ |y ͐*s#r\͐Hk* ~#fo?*s#rM͐Hk* 6~#fo? *s#r*~#fo͐Hk* ~#fo|g}os#r*~#fo͐Hk* ~#fo|g}os#r͐Hk***!69Pick a class : %d!9DM! w#w! w#w`iw#w͐M8ڻ ͐ |ʯ ͐?͐ o&͐! ͏*͐?####͐ o&͐Hk*H*! ^#Vr+sz¯ ! ^#Vr+s! w#w`i^#Vr+s !9%d)!9DM`iw#w͐4 ͐)*~#fo͐Hk* ͐)~#fo( ! `i^#Vr+s ͐ P \|P ! \͐Hk* ~#fo|g}o|g}o| ! \͐Hk* ~#fo|g}o|g}o| ! ! !9!9DM\  `i6l!!o&&! H*͓5`is`in&ʹ*>L0>K>N<>R>CH>Y``i6d`i6d`i6d`i6`in} *~#fo`inѯg|g}os#r!!o&&*!:͏*\|g}o>>>>>>!BH* !JH* !SH* !\H* *H*!9Enter alignment(L,N,C) : %s the Lawful Neutral Chaotic Untouchable %**!͏*ͪ;P'ʹ*Y‡%s the %s!9DM! w#w\! s#r`iw#w͐Y! ~#fo͐)*q͐Hk* ͐)~#fo?! s#r!ͯ=!A͐s#rs#r`i^#Vr+s>5|n!q!*s#r>5͐!*)*;#!9%010d!!o&\|g}o!i!pH*!!o&\!w͏*\!͏*\!͏*\!͏*\!͏*\!͏***!͏*Male FemaleSTR : %d INT : %d WIS : %d CHA : %d CON : %d DEX : %d GOLD : %d !9DM%!5!w 6#6!!o&&!H*`i!!? f5t*!2 `iz#|ʈ!!o&!H*!H*͓5ʹ*Yp!2 5x!w w#w!!o&&`i͠+!s s#rz͐s͐w#|`i**!y9What shall this character be called? %sThis name is in use, would you like to delete it ? !9DM~!!o&&!lH*`i!{! f5t*͐|8͐M88͐Hk***͐Hk* ~#fo*s#r͐Hk* ~#fo*s#r͐Hk* ~#fo*s#r͐*s#r͐Hk* 6~#fo*s#r!49Pick a type : %d!9DM`iw#w͐M8!͐o&͐!͏*!͐o&͐Hk*H*`i^#Vr+sÌ!9%d!9DM`i*#!*`i͂$!9!9DM*8w#w`i6#6K! 63#6!d͐͐!!l!!!!! !!!;!9!d͐͐!!l!!!!! !!!;!9`i6#6H! 63#6!d͐͐!!_!!! !!!!!;!9`i6[#6N! 6!d͐͐!!d!!!!!!! !;!9`i6?#6! 63#6!d͐͐!!n!!!!!! !!$;!9`i6?#6! 63#6!d͐͐!!p!! !!! ! ! !);!9`i6#6z! 6"#6!d͐͐!!_!!!!!! !!2;!9`i6_#6! 6w#6!d͐͐!!p!!! !! ! ! !8;!9`i6#6! 63#6!d͐͐!!Z!!!!!!!!@;!9`i6#6! 6w#6!d͐͐!!v!!!!!! ! !H;!9`i6_#6! 6w#6!d͐͐!!p!!! !! ! ! !O;!9`i6#6J! 6c#6!d͐͐!!_!! !!!!!!U;!9`i6>#6! 63#6!d͐͐!!s!! !!!!! ![;!9`i6 #6x! 6k#6!d͐͐!!p!!! !!!!!`;!9`i6_#6! 6w#6!d͐͐!!s!!! !! ! ! !h;!9*8^#Vr+s!9ClericDemondimFeatherorHirebrandMageMinstrelNinjaPaladinPeasantRangerRaverRogueSageSamuraiValkyrie!9DM`i6#6! w#w͐! ~#fo!6#s#r`i^#Vr+sÈ͐!9*8w#w!!!!!!!!!!!!Tͦ !9!!!!!!!!!!!!Zͦ !9!!!!!!!!!!!!^ͦ !9!!!!!!!!!!!!dͦ !9!!!!!!!!!!!!nͦ !9!!!!!!!!!!!!vͦ !9!!!!!!!!!!!!}ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9!!!!!!!!!!!!ͦ !9*8^#Vr+sHumanElfDwarfHalfdwarfHalfelfHobbitOrcUruk-haiOrgePixieGoblinHobgoblinKoboldUr-vileGrey elf!9DM͐M8Hk**M8Hk* ͐s#rM8Hk* ##͐s#rM8Hk* ͐ s#rM8Hk* ͐ s#rM8Hk* ͐s#rM8Hk*  ͐s#rM8Hk* ͐͐|g}os#rM8Hk* ͐s#rM8Hk* ͐s#rM8Hk* 6͐s#r*8^#Vr+sHk* ͐s#r!9DM͐M8Hk**M8Hk* ͐s#rM8Hk* ##͐s#rM8Hk* ͐ s#rM8Hk* ͐ s#rM8Hk* ͐s#rM8Hk*  ͐s#rM8Hk* ͐s#rM8Hk* ͐s#rM8Hk* ͐s#rM8Hk* 6͐s#r*8^#Vr+sHk* ͐s#r!"H*!"H*!"H*!#!6͓5!6#6! 5Nemesis and Dungeon Master Copyright (c) 1981 Michael Q. Hiller and Michael A. Pagels Please hit a key to continue.!9DM͐`is#r͐n} j#! ^#Vr+s60M#͐q#!9!9DM!͐͐#͈'`is#rz­#!ü#͐C7!ü#!9!9DM`iw#w͐N$͐n}N$͐n} $͐n} $͐n}.$! ~#fo͐6$7$! ~#fo͐͐ns`i^#Vr+s! ^#Vr+s#! ~#fo͐6!}$͐+͐t$!9.CHR!9DM͐'`is#rz½$!!o&!%H*͓5!%͐ ͐͐F7#|$!!o&!C%H*͓5͐C7!%͐C7!%!9We have encountered a file create error !! We have encountered a disk write error !!! !9DM!!%ͮ7`is#rz›%!%H*7!*͐7͐C7*L(!9term.defCan not open TERM.DEF, run termdef.!9DMw}$&*L(w &ͭ(f&`iw#w͐wѯgY&!͐o&&`i^#Vr+s*&!!o&!9!9DM͐ڍ&! 6#6*L(͐͐!,)*L(͐͐!,)*L(w &ͭ(!9DM! k8w}'*L(w &ͭ(G'͡)`is#r͐|?'! k8`i^#Vr+s"'! k8!9!9DM͓5`is!k8! k8!k8`in&'!9!9DM!& n&͐$ͮ7`is#rzʵ'͐'*<! *͐$! +!& n&! ͮ7'! 9!9DM͐$͡8! s#rz(͐C(*<`i*͐$`i+͐$͡8C(! 9!9DM͐n&* ! s#r͐#n`is#6͐|ʤ(! ^#Vr+sn&k8`i^#Vr+sz(!9!9DMw}(! ^#Vr+sz(w &k8ÿ(w}#)! ^#Vr+sz#)wh&?`is#r͐| )`i^#Vr+s )(!9!9DM͐w&Z)͐wѯg`isk)͐ wѯg`isw}ʎ)`inwѯgW|g}ok8Ø)`in&ͬ)!9w&!9DM͐ )͐ ͉ͬ)͐ )0k8!9DM! ͐?,!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{8**͐?*!9!9DM͐n}r*! ^#Vr+sn&k8P*!9DM! ͐v/!y9DM! `i?,`iH*!9!9DM! n&͂2|*! n&*! n&!9DM`iw#w! 6#6͐ n! s{ +! n} '+! ^#Vr+s*! n}-F+! 6#6! ^#Vr+s! ^#Vr+sn! sͱ2|ʇ+͐ ?! nѯg`is#rF+͐͐?×+!9!9DM`iw#w! ^#Vr+sn}+`i^#Vr+sî+͐+!9!9DM͐`is#r͐n},! ^#Vr+s+! ^#Vr+s͐ns! ^#Vr+sn},͐6,!9!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{g/`in}%Q/! ! s#r! 6#6! s! s͐n}-,! ^#Vr+s! 4͐n&ͱ2},! ̈́3,!! s#r! ^#Vr+sn`is{.2-! ̈́3! s#r! 4! ^#Vr+sn`is`in&ʹ*}D^-Uʚ-Xʣ-Oʬ-C-S#.;/͐~#fo|-! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ò-! 6ò-! 6! ~#fo! n&! ^#Vr+s~#fo! 2ѯgs#rÛ.! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sÛ.! n}6.! 6#6! ^#Vr+s~#fo! s#r͐n}ʛ.͐|ʛ.! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sQ.͐6! ! s#r! n}.! ^#Vr+s!.! ^#Vr+s6 ÷.͐! ^#Vr+sns{/! ^#Vr+s.! n}8/! ^#Vr+s!8/! ^#Vr+s6 /N/! ^#Vr+s`insd/! ^#Vr+s`insn,͐6!9!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{o2͐n}/! n&y2! n&3|/ë/! n}%*0! n! 40! n&y2'0! ^#Vr+sl2! 6#6! 6 `i6! ^#Vr+sn! s{*n0`i4! ^#Vr+sn! s! n&ʹ*}Xʜ0Oʥ0Dʮ0U0S`1C1/2! 60! 60! 4-0! 6#6! ^#Vr+s! w#w! n&! 4T4#|1! n&y2! n&! ^#Vr+sn&T4! s{R1͐ ! nѯg?! nѯg! s#r1! ^#Vr+s92! 4͐ ~#fo! s#r! ^#Vr+sn! s{1! n͐n}±1! ^#Vr+s1`in}1! ^#Vr+s! nsy1`in}1! 4͐6! ^#Vr+së/`in}!2͐n&! ^#Vr+s~#fo8! 4! ^#Vr+së/! n&y2`in}l2! ^#Vr+s~#fo͐ ͐?s#r! 4ë/! n&y2!9!9DM! n&aͯڭ2! n&zͯ!9DM! n&0ͯ2! n&9ͯ!9DM͐͐ 03͐^#Vr+s͐ 3͐0%3͐7s!&{3͐ ͐͐ ͉͐2`is͐ ͐͐ )͐2`in&#&{3!9!9DM`iw#w͐~#fon&ͱ2}3͐ ?͐^#Vr+snѯg`is#rÒ3͐3!9!9DM! n} ͝4! n} ͝4! n} ͝!9DM͐~#fon`is3|C4͐^#Vr+s4`in&K4!9!9DM! n&ʹ*! s4|ʌ4! n&sô4! n&ͱ2}ʯ4! n&sô4!! n! n&+4!4! n&!9DM! n&5|ͣ 5! n&͂2|ͣ!9DM! n&Aͯ:5! n&Zͯ*>HL5L57*|g}o"zg{o"|g 6  #F#xʎ5~#Á5:woʢ52w&!o 5 . & #+|5'z5 55 !\&!7*|.6*"6*"6*"6|X6*H*!Z ##?6"6"6"6:626!66#e6!6 ~W!6~w# ~6zҟ6!66w# •6w6 o6!66?/w#²6+~g:6oŇ |6""7 ! ###6""  Wait a few seconds, and type a CR: $#7:)~:,"s!"u*|*uʬ7*~#ƒ7"*s*u¬7#"u*+"p77,2q*&:q):7=7=r:qo& 7:)~:,"s!"u*|K8**sP8! ~K86*u*+"*"*u#"u8  …8  É8_ •87*5\!*ͮ77*:wwͮ7,O  *TY=0:: A,@TERMDEF COMJ1234LEVEL 2 85*K͞+pek|'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y you want to quit anyway?  $(.3is the sequence? !9DM:!*: @ Y`is! 6#6`in}RL*C\*l*!*:>2Uz*!*:>2Uz*! w#w!*:*͐|&*!9 Is the Row or Column to be sent first? ow olumn Enter 'R' or 'C' --> !9DM:!w+: @ Y`is! 6#6`in}A+B&+6+!+:>2WzI+!+:>2WzI+! w#w!+:I+͐|**Wz}n+!+:!+;}2Vz!9 Are the row and column codes sent in Ascii or Binary? scii inary Enter 'A'!"1|ͰͶ:!:!#:!b:!:|bIf you are configuring your terminal for the first time, you should select options 1 through 6 in order, then 5 and 6 again until everything works, then 7, and finally 8. Would you like to exit and change disks? !!W|͏X!!a|͏X!"3|!"-|!"/|!"_t%xHhex!9DM:! :! :!V :!~ :! :! :! :! :!+ :!L :!!!!q;`is#r͐>~ > >Š > >– > >¢ > >® > >º > > > > >  ͆  ͂  ͣ  Ͳ  ;   R! n" H<!9Options: 1 -- Read definitions from an existing term.def file 2 -- Define terminal characteristics 3 -- Define I/O port characteristics 4 -- Define clock speed and misc. 5 -- Edit definitions 6 -- Test terminal and port definitions 7 -- Install definitions 8 -- Exit to operating system Enter the number of your selection, followed by a CR --> !9DM:!( :!5|x !9DM"̀#2%%&͜'\())**,I-,..i0!9b1ͫ3!"-|4!"-| H!9DM*/|| :!:!:| ͂ Ù!:|Ù!"-|!:!!!!q;`is#r͐>I>$>U>*>a>0>m>6>y><>…>B>‘>H>>N> ©>T> µ>Z> >`> >f> >l>>r>>x>>~> >ʄ>>ʊ>!>ʐÖ"Ö2%Ö%Ö&Ö͜'Ö\(Ö))ÖI-Ö,.Öi0Ö*Ö*Ö,Ö.Ö̀#Ö5ÖV5Öͧ5Ö5Ö !9No terminal type has been selected. Would you like to select one? -- Any changes? -- Which item? !9DMC!':|#!"-|!8:! !!!q;`is#r͐>^>>j>>v>>‚>>Ž>>š>>¦>>²>> ¾> > >> >b1ͫ3L6ͪ6 7P77K8ͩ8 9Z9!9-- Any changes? -- Which item? !9DM !! w#w!:|kò!"-|!:!!!!q;`is#r͐>¦>ʩï4ïP!9-- Any changes? -- Which item? !9DM*/||:!:öc=M|ö!"1|ͽP:!!'!w>!!!w>*u&++`is#r͐|ʃ!*u&+͐w>!!͐w>`i^#Vr+sE*u&+`is#r͐|!͐!w>`i^#Vr+sÏ*u&+`is#r͐|!͐*u&+w>`i^#Vr+s!'!͙>>! *u&+!w>! !!w>!@!!w>!q!!w>!!͙>!:|ʝ!Q!! ͙>*u}ʈ!:|ʝ!!! w>ö,Q!"1|!:!2:!9No terminal yet selected! This should go awayThis should remain*****The screen should be ringed with '*' characters. Thephrase "This should remain" and this descriptionshould be the only other characters displayed.Does this look right? Did your terminal's bell (or whatever) just ring? Returning to main menu! You need to edit your terminal definition. Returning to main menu! *1||[!*u}ͣq͈|ͣʄ*u}ͣ„|ͣ!9DM!P!&uV!::Q|!:!u!0!Û`iw#w͐.:Q|`i^#Vr+s:Q|OQ!:!u!0!Û!:! s#r! 6#6͐.h͐|]!u!0!Ûe! w#wÄ͐|„!u!0!Û͐|ʝ! :!Û!9 Type a character, any character --> input input Did you really type a character? inputinput Input port OK! !9DM`iw#w͐F`i^#Vr+s-! 6#6͐|ʵ`iw#w͐>|`i^#Vr+s^͐Ÿ!u!0!!*oQ! ^#Vr+sO!:|!:!u!)0!!!9output Did five asterisks appear? Output port OK! output!9DM͐!XX!}:!: Error in your %s port definition. Check the port addresses, ready mask and status polarity and try again. !!i!Pzc>2Pz!@"u!"u>2u>A2u>2u> 2u!,"u{2u{2u>2z>2z:!:*Rz&*Qz&!X!#!͙>!a|!+X!@:!{*mz&!E ?![:!|*oz&!` ?!y:!z*_z&!~ ?!:!z*az&! ?!:!{*cz&! ?!:!{*ez&! ?!:!={*gz&! ?!:!e{*iz&! ?!:*kz}`*{}`!:Ê*kz}ʂ!:!{*kz&_?Ê!!:*Xz}ʤ!0!'! w>*Uz}ʲ!<õ!@!GX*Xz}!#! ͙>*\z&!`X*Wz}!s!y!X*Wz}!*Vz}!!!X*Xz}E!#! ͙>*[z&!X*Tz&*Sz&!X*Xz}!#! ͙>*]z&!X!:*Xz}ʝʺ!:*Yz&ͳ?!:!:!:*Xz}!#!͙>*Zz&!*X!A:Terminal Parameters 1. %d rows, %d columns15. entry radix: %s 2. initialization string 3. de-initialization string 4. home-and-clear 5. clear-to-eol 6. clear-to-eos 7. cursor pos lead-in 8. cursor pos separator 9. cursor pos trailer10. standard bell charbell string: no bell stringPad counts:rowcolumn 11. cursor pos %s first16. cursor pos: %dAsciibinary, 12. %s not %scomplemented17. clear-to-eol: %d 13. biases: row: %d, col: %d18. clear-to-eos: %d 14. padding with characterspadding with delay loopno padding19. home-and-clear: %d :!c:!t:*z}j!y:r!:!:*z}ʍ!:Õ!:*z} !:*z&!X*z&!X*z&! X*z}!. !3 !9 X*z}!!!] X*z}a! :*z&! X*z&! X*z&! X*z}T! W! ! XPort parameters 1. BIOS input Direct port (not BIOS) input 2. BIOS output Direct port (not BIOS) output Input: 3. input data port: %xH 4. input status port: %xH 5. status mask: %xH TRUEFALSE 6. char-available bit active %s 7. receiving %d-bit characters Output: 8. output data port: %xH 9. output status port: %xH 10. status mask: %xH TRUEFALSE 11. clear-to-send bit active %s :!(!:*u&!B!XMiscellaneous parameters 1. %d MHz CPU !9DM:*/||x!!!:! ":!!":!5|x for current)? Creating %s -- Okay? *-||ʑ":!":!":|‘"bThe current definitions have not been installed. Do you want to quit anyway? :!5#:!<!!*Qz&q;}2Qz!Y#:!!@!*Rz&q;}2Rz Number of rows on your terminal? Number of columns on your terminal? !9DM:!t$:!a|!$X?X`is! 6#6`in}D#H#O$ ?$O$!$:!$!W|͏X!$!a|͏Xb$!$:!$!W|͏X!$!a|͏Xb$!$:!%!W|͏X!%!a|͏Xb$!a|! %Xb$!%:! w#wb$͐|ʠ#!9 Do you wish to enter the special terminal command codes in Decimal, Hex, or Octal? (currently %s) ecimal %dDdecimalex %xHhexctal %oOoctal -- %s Enter 'D', 'H', or 'O' --> :!j%:!%:!%:|h%!%:!{!mz^@ Does your terminal require a special initialization string to be sent to it at the beginning of the terminal session? Okay, what is it? :!7&:!p&:!&:|5&!&:!|!oz^@ Does your terminal require a special deinitialization string to be sent to it at the end of the terminal session? Okay, what is it? :! ':!B':!u':|'!':!z!_z^@'>2_z Does your terminal have a command to clear the entire screen, leaving the cursor at "home" (the upper left corner)? Okay, what is it? :!':! (:|'!F(:!z!az^@'>2az Does your terminal have a special command to clear from the current cursor position to the end of the line? Okay, what is it? :!(:!(:!):|ʕ(!):!{!cz^@Ú(>2cz Does your terminal have a special command to clear from the current cursor position to the end of the screen? Okay, what is it? :!i):!):!):|b)!):!{!ez^@g)>2ez Does your terminal require any special characters to initiate a cursor positioning command (Most terminals do.) ? Okay, what is the sequence? !9DM:!*:?X`is! 6#6`in}R=*CM*]*!*:>2Uzp*!*:>2Uzp*! w#w!*:p*͐|*!9 Is the Row or Column to be sent first? ow olumn Enter 'R' or 'C' --> !9DM:!h+:?X`is! 6#6`in}A+B+'+!+:>2Wz:+!+:>2Wz:+! w#w!+::+͐|**Wz}_+!+:!+:}2Vz!9 Are the row and column codes sent in Ascii or Binary? scii inary Enter 'A' or 'B' --> Should the row and column numbers be complemented before sending? :!w,:!,:!,:!-:!!!*Sz&q;}2Sz!,-:!!!*Tz&q;}2Tz Some terminals require that a bias be added to the row and column numbers. Usually this is 32 for both the row and the column. Enter 0 if none. Row bias? (in decimal) Column bias? (in decimal) :!-:!-:!-:|ʂ-!.:!={!gz^@Ç->2gz Does your terminal require any special characters to separate the row code from the column code in a cursor positioning command? Okay, what are they? :!d.:!.:|].!.:!e{!iz^@b.>2iz Does your terminal require any special characters to terminate the cursor positioning command? Okay, what are they? :!c/:!/:|\/!/:!/:!0:|Q/>2Xz!.0:!Z0:!ͳ?!f0:*Yz&JB}2Yz9Y/>2Xz9a/>2Xz Does your terminal require any padding or delays to execute any of the special functions? Padding can be done either by sending extra characters or by a delay loop. Pad with characters? What is the code for the pad character? (Usually ) :!0:!0:|¢0!1:!>1:!{!kz^@ì0>2kz>2{ Does your terminal respond to the standard Ascii bell character, Control-G (07H)? What character string should be sent to ring a bell or otherwise alert the operator? !9DM:!1:!&2:!X2:!2:!2:!Uc`is!Y!Uc!2:!3:!I3:!3:!3:|1>2z1>2z:!9 Input can often be done through the CP/M BIOS. You cannot use the BIOS for input, however, if your system has the common DELETE bug. To find out, type a DELETE (this key is sometimes labeled "RUBOUT" or "DEL") --> If a "Y" appeared at the end of the last line, then you can use your BIOS; otherwise, you will have to dig up your hardware manual to find your input port characteristics. Use BIOS for input? :!3:!4:|3>2z3>2z,: You can probably use your BIOS for output. Use BIOS for output? :![4:!4:!4:! !!*u&q;}2u}2u The clock rate is used in combination with the idle delay constant. A typical clock rates are 2 or 4 MHz. What is the clock rate of your CPU, to the nearest MHz? :>:!55:!!!*\z&q;}2\z a Cursor Positioning command? :>:!5:!!!*[z&q;}2[z a Clear to End of Line command? :>:!5:!!!*]z&q;}2]z a Clear to End of Window command? :>:!(6:!!!*Zz&q;}2Zz a Home and Clear Screen command? !f6:!6:ͱB}2z What is the address of the console input data port (in hex)? !6:!6:ͱB}2z What is the address of the console input status port (in hex)? !7:ͱB}2z What is the console input status mask (in hex)? !g7:!7:}2z Is the status bit TRUE when a character is ready (if you're not sure, answer "yes" for now)? !7:!!8:|7>2z7>2z Does your terminal send 8-bit characters (if you're not sure, answer "no" for now)? !e8:!8:ͱB}2z What is the address of the console output data port (in hex)? !8:!8:ͱB}2z What is the address of the console output status port (in hex)? !#9:!Q9:ͱB}2z What is the console output status mask (in hex)? !y9:!9:!9:}2z Is the status bit TRUE when the port is ready to send a character (if you're not sure, answer "yes" for now)? 5*az}9V5*cz} :ͧ5*_z}:5:L6ͪ6 7P77:K8ͩ8 9Z9*Xz}S:!]::[:!:: How many padding characters should be sent after How many wait loop cycles should be done after *1||:!:::Q !9DM͐C!9DM͐:?X`is`in}Y ;N.;<;!S;:!J;!W;:!J;!Z;:G;;!9es o Enter 'Y' or 'N' --> !9DM͐++|ʗ;͐+|²;͐|ʲ;͐! !9DM`iw#w͐ No<`i^#Vr+sV term.def%c:%sterm.def!9DM!!͐yc!!~u͐c;C!9DM!i!~u!PzTd!!u!zTd!!u!zTd`iw#w!u!z`iC!u!z`iC!u!{`iC!u!{`iC!u!={`iC!u!e{`iC!u!{`iC!u!{`iC!u!|`iC*u}P>*u&S>!}2u*u}g>*u&j>!}2u!9!9DM͙͐͐>͐C!9DM*1||>*U|͐>! =Dé>>͐͐?R*1||>WR*u&ͥd*u*u}|g}o!9DM͐|:?͐!R?X͐͐_?H?͐!W?X!]?:%s: no %s !9DM`iw#w͐͐Ҩ?! ~#fo͐n&ͳ?`i^#Vr+s!?:m?!9 !9DM͐!W|X!9DMc=!!͐yc!!~u͐Ͳd!9DM*1||@!Uc`is$@OQ`is`in} 3@! 6@`in`is`in}M@`in&=D`in&U@!9!9DM͐Zn}ʢ@!A:͐\͐Zn&_?!A:!A:|¢@ìA!a|!AX! E͐Zs`is#6! 6#6͐! n}ʣA! 6#6! !W|͐! ͠Y͐#|A!3B:! w#wãA!\ ~#fo͐Z~4o&͐s͐! n}mA͐! n&ͻY|mA`i^#Vr+s:A͐! n}ʠA͐! n&ͻY|ʠA`i^#Vr+smA@͐|ʢ@!V9 (the current string is ) Do you wish to enter a new string? Enter a list of %s numbers, separated by spaces -> Bad entry, try again.!9DM!a|!BX͐!W|X!B:͐`is#r`i!W|.Y͐ÒB!9(in %s; default = ) !9DM`i6#6`i!B.Y͐#|BB!B:B͐B!9%xEnter a hex number --> !9DM͐n}9C! ^#Vr+sn&=DC!u!zE!u!zE!u!{E!u!{E!u!={E!u!e{E!u!{E!u!{E!u!|E!i!Pz!~uTd!!z!uTd!!z!uTd!9DM͐#n&͐~#fou͐Td͐͐~#fos͐~#fo͐#nѯgs#r!9DM*1||mD! n} ^D!cD! n&RE! n& ڣD! n&~ڣD! n&e*U|#"U|E! n} ʱDD! n&e!"U|E! n&|g}o|D!~=D! n&|g}o=DE!^=D! n&@|g}o=DE!9DM.T!S s͐X!Q s#r?!P s{ E͐Q͐XOڋE!P n}ʋE!S n&͐Q͐X%F!Q s#r!P n}ʞEʞEE͐Q͐XE!S n&͐Q͐X%F!Q s#rE!Q ^#Vr+s!P nsE:E͐Q6!T9!9DM͐#n&͐͐n&uTd!9DM*1||rF͐+n&͸F`is#r`i^#Vr+szrF!e! e!eHF! ^#Vr+s6*1||¨F! n&6T?R͐>TWR5P͐ïF!9!9DM! n& F! n&~F!! n&|g}o|G! n&|g}o͸F!!G:!&!͙>!G:!H:!&!͙>!H:!/H:!&!͙>!AH:!]H:!&!͙>!wH:!H:!H:!H:!H:!I:!I:!2I:!HI:!cI: 2 - Heath H1915 - Scion Microangelo 3 - Televideo 912, 92016 - Teleray 1061 4 - Soroc IQ12017 - Hewlett Packard 2621A 5 - Lear-Siegler ADM-3A18 - Hewlett Packard 2645 6 - Lear-Siegler ADM-31 7 - Perkin-Elmer Bantam 550 8 - Perkin-Elmer Fox 1100 9 - D.E.C. VT-52 and VT-100 10 - HDS Concept 100 11 - BEEHive 150 12 - Hazeltine 1500 13 - Intertec Superbrain 14 - Processor Technology SOL !!9DM͐>£I>fJ>¯I>ʡJ>»I>J>I>K>I>*K>I>UK>I>cK> I>qK> J>wK> J>K> J>K> 'J>&L>3J>IL>?J>tL>KJ>ʣL>WJ>L>cJ>?MÑM!P!N!M9N!M^N̓N!Y͐N!MN!MNÑM!O!N̓N!=͐N!MN!MO!MNÑM!O!N̓N!=͐N!MN!MO!MNÑM!O!N̓N!=͐N!MNÑM!O!N̓N!=͐N!MN!MNÑM5O!MNÑM5O!MOÑMfOÑM!O!N̓N!M9N!a͐N!MN!MO!MN!!!!0͗OÑM!P!N̓N!F͐N!MNÑM!O!N̓N>2Uz>2Vz>2Wz!MO!MN!MNÑM!P!N̓N!Y͐N!MNÑM!@!N̓N!͐N!MO!MNÑM!S!(N!MN>2Uz>2Vz>2Wz!MOÑM!O!N̓N!Y͐N!MN!MO!MN!!!!͗OÑM!O!N̓N!MO!MO!MP>2Uz>2Vz>2Wz!NN!NO! NNÑM!O!N̓N! NO!NO!NP>2Uz>2Vz>2Wz!NN!NO!NNÑMx1wzY8 KY EK+YT*YT*TKJU E~~~  jJK&ayCHJJK&acYHJJK!9DM͐}2Qz͐}2Rz!9DM͐Y}2mz͐!{͏X!9DM͐Y}2oz͐!|͏X>2kz>2{!9DM>2Uz>2Vz>2Wz> 2Sz> 2Tz>2ez>2{! n}2{!9DM͐Y}2_z͐!z͏X!9DM͐Y}2az͐!z͏X!9DM͐Y}2cz͐!{͏X!P!N̓N!`ON!X͐N!cOOIY!P!N̓N!Y͐N!ON!ONEK!9DM>2Xz͐}2Zz͐}2]z͐}2[z͐ }2\z!9DM͐Y}2ez͐!{͏X!9DM͐Y}2gz͐!={͏X!9DM͐Y}2iz͐!e{͏X*Yt*uѯgTP!"Yt!PkX*[t*WtrP*]t*YtrP!ujT!T!ujT!T!ujT*u&3U*Wt"[t*Yt"]tOff Screen!9DM!P!&uV!ujT`iw#w͐*uѯg Q͐ct*us`i^#Vr+sP!"]t"[tQ!9!ujT5P!ujTͮU!&u/W|͝!&u/W|cQͮUPQ!&uUW!9DM*u}ʓQ! n&!UcQ*u&ͥd*uѯg|g}o*u&ʺQÓQ! n&*u&Pe!9DM!"Yt"Wt*u}3R!ujT*u&3U`iw#w͐*uѯg'R͐ct6`i^#Vr+sR!"]t"[t6R4V!9!9DM͐"Wt͐"Yt!9DM*Yt*WtctnѯgwRR5P*u}ʗR!ujT*u&3UR*Yt`is#r͐*WtctnѯgR! oQ*]t#"]tͮU`i^#Vr+sàR*Wtct*Yts!9!9DM! n& VS! n&~VS5P! n&oQ*]t#"]t*Yt#"Yt*Wtctn*YtSS*Wtct*Yts%T! n} iSʣSS*_t*Yt*_t`is#r͐|ʠS! R`i^#Vr+sÃS%T!"Yt*Wt*u&+S*Wt#"WtS!"WtWR%T! n&|g}o|T!~R! n&|g}oR"T!^R! n&@|g}oR%T!9*Yt*Wt!9DM͐n}hT! ^#Vr+sn&RFT!9DM͐n&u! s#r͐#n`is#6͐|ʼT! ^#Vr+sn&oQ`i^#Vr+sÒT!9!9DM͐*u&T*Wt*uѯg`isT*Yt*uѯg`is*u} U`in*uѯgW|g}ooQ*U`in&ͪV!9!9DM*u}bU! ^#Vr+szbU*u&oQDU*u}¥U! ^#Vr+szʥU*u&?`is#r͐|ʢU`i^#Vr+sÍUkU!9*u}U!UcU*u&ͥd*uѯg|g}o*u&͝|2V!&uͩW|/V!&u*u}V!Uc&V*u&ͥd*uѯg|g}oX2V!Q!9DM*u}\V5P!ujT*u&3UáV*Wt`is#r*Yt! s#r*Wt*uѯgғVWR*Wt#"Wt!"YtpV͐"Wt͐"Yt!9!9DM͐ V͐ ͉ͪV͐ )0oQ!9DM͐͐͐##͐͐s#rs#rs#r͐+s#r!9DM͐~#fo͐##~#fo͝!9DM͐~#fo͐~#foږW͐͐~#fos#rn&ãW͐^#Vr+sn&!9DM͐##~#fo#͐~#fo͝ X͐##~#fo͐~#fo͝ X͐~#fo͐~#fo͝!9DM͐##~#fo͐~#foRX͐##͐~#fos#r`X͐##^#Vr+s! ns!9DM!X:͐: Error: !9DM͐`is#r! ^#Vr+s! ^#Vr+sns{XáX͐X!9!y9DM! `i+Z`i:!9!9DM! n&b]|#Y! n&(Y! n&!y9DM`iE! `i͑]MY!9!9DM! n&͝`|ͣƒY! n&b]|ͣ!9DM! ͐+Z!9DM! ͐͑]!9DM! n} ͝Y! n} ͝Y! n} ͝!9DM`iw#w! ^#Vr+sn}Z`i^#Vr+sY͐"Z!9!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{S]`in}%=]! ! s#r! 6#6! s! s͐n}-¶Z! ^#Vr+s! 4͐n&pa}Z! ͟aZ!! s#r! ^#Vr+sn`is{.[! ͟a! s#r! 4! ^#Vr+sn`is`in&X}DJ[Uʆ[Xʏ[Oʘ[C[S\']͐~#fo|[! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 Þ[! 6Þ[! 6! ~#fo! n&! ^#Vr+s~#fo! `ѯgs#rÇ\! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sÇ\! n}"\! 6#6! ^#Vr+s~#fo! s#r͐n}ʇ\͐|ʇ\! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s=\͐6! ! s#r! n}\! ^#Vr+s!\! ^#Vr+s6 ã\͐! ^#Vr+sns{\! ^#Vr+s\! n}$]! ^#Vr+s!$]! ^#Vr+s6 \:]! ^#Vr+s`insP]! ^#Vr+s`insZZ͐6!9!9DM! n&aͯڍ]! n&zͯ!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{ʊ`͐n}]! n&Ô`! n&ͻY|^]! n}%E^! n! a7^! n&Ô`B^! ^#Vr+sÇ`! 6#6! 6 `i6! ^#Vr+sn! s{*‰^`i4! ^#Vr+sn! s! n&X}Xʷ^O^D^U^S{_C`J`! 6^! 6^! a-^! 6#6! ^#Vr+s! w#w! n&! aGoye$$!68*Û96 QLE8+Û5*|4d**s9d! ~4d6*u*+"*"*u#"ud7*|DM**͟dڃd>GoyQ$$!(toupper(sgetchar()) != 'Y'); } compute_stats() { int t1, t2, t3, tot; tot=0; t3 = PERSON.stat[TYPE]; for(t1=0; t1<6; ++t1) tot+=PERSON.stat[t1] = (t2 = roll() + (2 * xtype.factor[t1])) <= 0 ? 1 : t2; PERSON.stat[SEX] = (rand() % 2) ? M : F; sprintf(PERSON.gold,NSTR,rand()%(200-tot)); zfill(PERSON.gold); } display_stats() { tab(3,0); puts(((PERSON.stat[SEX]&M)==M) ? "Male " : "Female"); tab(4,0); printf("STR : %d \n",PERSON.stat[STR]); printf("INT : %d \n",PERSON.stat[INT]); printf("WIS : %d \n",PERSON.stat[WIS]); printf("CHA : %d \n",PERSON.stat[CHA]); printf("CON : %d \n",PERSON.stat[CON]); printf("DEX : %d \n",PERSON.stat[DEX]); printf("GOLD : %d \n",atoi(PERSON.gold)); } get_name() { char temp_name[50], filename[13], temp[50]; int t1, t2, t3, fd; sleep(20); do { fd = -1; tab(0,0); eol(); puts("What shall this character be called? "); sscanf(gets(tempSWORDF HEALING_nSWORD + 1 tab(2 SWORD + 2use, wouSHIELDORCHte it SHIELD + 1 1'Y') SHIELD + 2 fLEATHER3} } whLEATHER + 10)  LEATHER + 2; 2TORCHCE + 1} MACER temp[50]; MACE + 1TICK;  MACE + 2CK puts(MAIL 2ets(temp) MAIL + 1 || (t1 >  MAIL + 2D + 1xty PLATER - 2T] = x BEENIE1ON.stat[I BUTTER KNIFESON.s  TACK HAMMER PER  SHIELD - 2at[AGEC  MAILBOOTS ty  DAGGER clr();  GLOVES_STICK { PLATE%d",t1); ta  BRICK[t1].xname); HANKY]; } ty MACE + 2 clr(); MAIL + 1t1) {  MAIL + 2,t1); ta PLATE + 1.xname); PLATE + 2 et_name(); _dungeon(); get_type(); get_sta; get_ali(); get_class(); iniar(); save_char(); } init_cha { int t1,t; t = PERSON.stat[C]; if(t==4 || t==5 || t==9 || t== PERSON.p_mspell = 0xffff; elseSON.p_mspell = 0; if(t==0 || t==1t==7 || t==9 || t==10 || t==12) ON.p_cspell = 0xFFFF; else PERSONspell = 0; PERSON.p_ac = 10; RSON.stat[LVL] = 0; PERSON.statL] = PERSON.stat[X] = PERSON.[Y] = PERSON.stat[HIPAGE] = -1; * Eldar elf starts at 89 (why not) PERSON.stat[AGE1] = PERSON.stat[TY== 14 ? 89 : 16; PERSON.stat[O_HI= PERSON.stat[HITS] = 1 + rand() % PERSON.stat[CON] + PERSON.stat[STR]); for(t1=0; t11؜(e";x$hȬDŽȖǷ-#țJ3l?  c4 break; case 'C': cPatching QTERM for your system. The first thing to do is to back QTERM up, and then invoke DDT, SID, ZSID, or whatever your local patch utility is, in the following way: A>DDT QTERM.COM DDT (etc.) will read in QTERM, and then prompt. The following is a list of patch areas where QTERM should be changed to reflect your system. Some of these are mandatory (i.e. QTERM won't work without them), whereas others can be changed to null subroutines or empty data without preventing QTERM from working, it just won't have all the features available. 1. Modem input status: 0110 - 011F QTERM calls here to check RDR: status. Return with the zero flag set if no character is available, or with the zero flag clear if a char is available. Generally this can be an input from the usart / sio / dart status port followed by an 'and'. 2. Read modem character: 0120 - 012F This gets a character from the RDR: port once the input status has decided it's there. Return the character in the a register. Generally this can be an input from the usart / sio / dart data port. 3. Modem output status: 0130 - 013F Check if the PUN: port can accept another character. Return with the zero flag set if the PUN: port can't receive a character, or with the zero flag clear if the PUN: port is ready. Generally this can be an input from the usart / sio / dart status port followed by an 'and'. 4. Write modem character: 0140 - 014F Send the character in the a register to the PUN: port. This will only be called after the output status routine has returned a non-zero status. Generally this can be an output to the usart / sio / dart data port. These first four patches are all necessary for QTERM to work. The next few are not necessary, but they will be useful. 5. Start break: 0150 - 015F End break: 0160 - 016F The start break subroutine at 0150 should initiate a break condition on the modem output line, and 0160 should clear the break condition. If these are to be omitted, then just put return (C9) instructions at 0150 and 0160. 6. Drop DTR: 0170 - 017F Restore DTR: 0180 - 018F The drop DTR subroutine causes DTR to be made inactive, and restore DTR returns DTR to an active state. If these are to be omitted, then just put return (C9) instructions at 0170 and 0180. 7. Baud rate setting: 0190 - 019F Baud rate table: 01A0 - 01AF These two patch areas work together to allow QTERM to change the baud rate of the modem port. The baud rate table holds pairs of bytes for setting the baud rate to eight different values: 38400, 19200, 9600, 4800, 2400, 1200, 600 and 300, in that order. In these pairs, the first byte will be passed to the subroutine at 0190, and the second byte is used to enable that baud rate: an 0FFH in the second byte enables the rate, and a zero disables. So if your system only went up to 9600, (using a value of 1 to get 9600) the first six bytes in the table would be: 00 00 no value for 38400: disable by the 00 00 00 no value for 19200: disable by the 00 01 FF 01 is the value for 9600: enable by the FF In all cases of enabled baud rates, the subroutine at 0190 gets the appropriate value in the a register and should use it to set the baud rate. If this is to be omitted, then just put a return (C9) instruction at 0190, and fill the table from 01A0 to 01AF with 00's. 8. Communication mode setting: 01B0 - 01BF Communication mode table: 01C0 - 01CB These two patch areas work together to allow QTERM to change the communications format of the modem port. The mode table holds bytes for setting 12 different formats, selecting number of data bits (7 or 8) parity (odd, even, or none) and number of stop bits (1 or 2). In order the 12 values are for 7n1, 8n1, 7n2, 8n2, 7e1, 8e1, 7e2, 8e2, 7o1, 8o1, 7o2, and 8o2. The subroutine at 01A0 gets one of these values in the a register and should use it to set the communications mode. If this is to be omitted, then just put a return (C9) instruction at 01A0. 9. Processor speed: 01CE This is the speed in Mhz that your Z80 runs at: 4, 6 or whatever. For a 2.5Mhz cpu, use 2. 10. Escape character: 01CF All special functions of QTERM are activated by the use of escape sequences. At 01CF is the byte used for the escape character (the default is ^\). Any byte can be used, but a little used value is best selected, also using a printable character (' ' thru '~') may have undesirable results. Note that to transmit the escape value itself, just type it twice. These previous two are necessary. 11. Signon message: 01D0 - 01EF This must be a string that identifies your system / terminal. It must be present, and is printed when QTERM first starts. As with the previous strings it must be terminated by a zero byte. 12. Clear screen: 01F0 - 01FF This must be a string that clears the terminal screen, and leaves the cursor in the top left hand corner. 13. Moveto: 0200 - 022E QTERM requires the ability to move the cursor around the screen. It calls this subroutine with the required coordinates in hl: where h is the row, and l the column to move to. The top left hand corner of the screen is 0,0; and the bottom right corner is 23,79. This subroutine will have to do terminal output: at 0109H is a routine that prints a character in the c register, and at 010CH is a routine to print a decimal number in hl (mainly for the use of vt100 and vt220 compatibles). Note that the above two subroutines will destroy all registers, and that this subroutine can also destroy all registers. 14. Teminal capability bit map: 022F This byte contains one bit set for each of the following terminal capabilities: bit 0: (01H) bright (end highlight) bit 1: (02H) dim (start highlight) bit 2: (04H) delete line bit 3: (08H) insert line bit 4: (10H) delete character bit 5: (20H) insert character bit 6: (40H) clear to end of line bit 7: (80H) clear to end of screen 15. Terminal capability strings: 0230H - 026FH In this area are eight strings, each of which can be at most eight characters long. They are the strings to be printed to perform the terminal capabilities mentioned above. Each one of them should be terminated by a zero byte. Hence at 0230H is the string for dim (start highlight), at 0238H is the string for bright (end highlight), etc.; with 0268H being the string for clear to end of screen. Programs that use these will check the terminal capability bitmap at 022FH before using them, to determine if they are available. 16. Patch area: 0270H - 02FFH Since the area provided for the above patches is limited, it may be necessary to use more space. The block of memory from 0270H to 02FFH is set aside for custom patches, this can be used if the individual spaces are not big enough. Once all the patches have been made, exit the patch program (usually by typing ^C), and finish up by saving a new copy of QTERM: A>SAVE 45 QTERMNEW.COM In addition, the patch area only can be saved as follows: A>SAVE 2 QTERMPAT.XXX Which will create a 1/2K file containing all the patches needed to make this particular version of QTERM work. By doing this, when a new release of QTERM needs to be patched, all that is necessary is to read in the new unpatched version with DDT or whatever, then overlay the patch area. This is typically done by typing: IQTERMPAT.XXX to DDT, SID, ZSID etc. to set up the command line to read QTERMPAT.XXX, then follow this with a: R to read it. This should overlay the saved patch area on the new version, hence doing all the patches at once. Then exit DDT with ^C, and do the first save shown above to save the new working version. NOTE: this "overlaying" of patches will NOT work with versions 2.8 and earlier, however from 3.0 onwards the patch area is guaranteed not to change. To aid in patching from earlier versions, the main changes are: 1. modification of the baud rate table (expansion from the 4 byte table with 300 1200 2400 & 9600 only) to the 16 byte table that covers up to 38400, with selective rate enable; 2. moving the processor sZDE16 LBRz=YZ[\CHAPTER1DOCCHAPTER2DOCCHAPTER3DOCDIARY DOCHOMONYMSTXT, HYEXCEPTTXT" PRINT TST! READ ME  READ ME gREADME DEFAULT FK RULER DOCSAMPLE1 DOCSAMPLE2 DOCSAMPLE3 DOCTABLE DOCTEXT DOC,ANAGRAM COM DICTSORTCOMFIND COM HYPHEN COM@!LOOKUP COM"MARKFIX COM#INSTALL COM31INSTALL DAT"234INSTALL MSG]56INSTALL OVRn789:INSTALL SPC;MP COM<MP HLP; MOVEPRN COM'$DBASE COM>?@DBASEMSGTXTABCDBASEOVRCOMDDEFGHIINSTALL COMpJKCB-BANK DBFLCB-BOOK MEMMCB-CANCLCMDNCB-CHECKCMD6OCB-CHECKDBFPCB-CLEARCMDQCB-DATE CMDRCB-DEPSTCMDMSTCB-DEPSTDBFUCB-HELP CMDVCB-MAIN CMDWCB-MASK CMD XCB-NBWD CMD'CB-RECONCMD:CB-REPRTCMDYIN-ADD CMDZDE16 FOR]ZDE16 COM^_`ZDE16 DIRaZDE16 NEW*bcdZDENST16COMSefZDEPROP DOC8gZDEPROP Z80 hZDKCOM13COMiZDKCOM13DOCNjkSAMPKEY DOClSAMPKEY ZDKmSAMPKEY ZDTnZDEBAK COMopqALIGN TMK!rAMEND TMKpstARRANGE TMK uASSIST TMK vBAR TMKjwxC 1 yC TMKzCOMBINE TMKU|COMPLETEDEXCOMPLETETMKOCOMPUTE TMKnCORRECT TMK1DEMO 1 xDEMO 2 `DEMO 3 XDEMO 4 (DEMO 5 DEMO 6 @DEMO TMKEDITOR TMKtEPSON UTLGROUP DEXGROUP TMKDHELP 01 HELP 02 HELP 1 HELP 2 hHELP 3 HELP 4 0HELP 5 HHELP 6 HELP 7 8HELP 8 (HELP TMKLOAD TMK%MATCH TMKOKIDATA UTLORDER DEX ORDER TMK0PRICE DEXPRINT TMKZPRINT UTLPRINTER MSGPROOF TMKbSELECT DEXSELECT TMKrSELECT1 DEXSELECT2 DEXSET DEXSET TMKmSETUP SORT TMKSPELL TMKITALLY TMK*TERMINALUTL(TMAKER COM=TMAKER DOC(ARCS-DEPCALtTMAKER2 COMBTMODIFY COM*TMODIFY UTL_TRANSFERTMK%TUTOR A TUTOR B TUTOR C TUTOR D TUTOR E TUTOR F TUTOR G TUTOR H TUTOR J TUTOR K UNLOAD TMKUPDATE DEXUPDATE TMKtTMAKER DICTMAKER DIC.TMAKER UTLBRKEVN CAL BUDGET CAL CHECKS CALDATTIM COMINSTALL COM{INSTALL DATqINSTALL OVLMAINTAINCOMhRULE-78 CALT SAMPLE CAL( SC2 COM_   SC2 HLPoSC2 OVLSDI COMISDI OVL{TEN CAL TENMIN CALMP OVRS!"#$%&MP80 2'MPLOADERCOMT()RFILE *REVIEW COM*%SPELL COM &TW COM'WC COM (WINSTALLCOM )*+WORDFREQCOM,WS COM5-WSCHANGECOM./0{}WSINDEX XCL ~WSSHORT OVRPATCH LSTPATCH LSTWS OVR+,-./WSCHANGEOVR+012WSCHHELPOVRc3456WSHELP OVRJ789:WSMSGS OVRi;<PCPI-WS4PRN =PCPI-WS4HEX>PCPI-WS4ASMICS COM5?ADDIT DEM@WSPRINT OVRVWXYZ[\]WSPRINT OVR^_`abcdeWSPRINT OVR )fghMAINDICTCMPijklmnopMAINDICTCMPqrstuvwxMAINDICTCMP yz{|}ADDIT WPMAALPHA WPMBBATCH WPM CBOILER MASDBOILER TEMEBOILER WPMFCALC WPM2GCLETTER A HCONFIG COMjJKCUESORT WPMLCUSLIST CMAMCUSLIST DBF NCUSLIST DEMODAISY TABPP COM5PRACTICEMSSPS COMhPW COMPW HLP(PW SYM PWBIND COM.READ ME PWCONFIGCOM  SPELLER MSS TEST MSS TEXT1 MSS TEXT2 MSSTEXT3A MSSTEXT3B MSSTEXT4 MSS TEXT5 MSSTEXT6 MSS WRTBIND COM=PW SWPPW SWPFUNCTS DSC FUNCTS TXT !"#ADVINTRO $%&LESSON0 !'LESSON1 v()LESSON2 T*+LESSON3 J,-LESSON4 .LESSON5 :/LESSON6 =0LESSON7 i12RULER $A$RULER $B$INMENU DATl67INMENU1 DATp89INMENU2 DAT!:INSW COMI;<INSW HLPB=>INSW OVL?@AMAINTAINCOMhBCSW COMdDEFGSW1 HLPHSW1 OVLeIJSW2 OVL KLMNOSW3 OVL PSW31 OVLmQRSTSW DIC:UVWXYZ[SW HLP\]^_` ZDE16 FOR7zZDE16 CZMq_ZDE16 DIRy[ZDE16 NZW~WZDENST16CZM4ѿZDEPROP DZC FZDEPROP ZZ0'H0ZDKCOM13CZM- ""ZDKCOM13DZC9)n SAMPKEY DZCb|SAMPKEY ZDKsSAMPKEY ZDTwӸ Z System Display Editor, version 1.6. A small, fast, powerful WordStar-type text editor for all CP/M and compatible systems with the Z80 processor. In some ways superior to its big brother VDE, this version of ZDE adds fully functional Auto-Indent capabilities, Proportional Formatting, Auto-Recall of last response to prompts, Global Find/Replace, Return to Previous Position (^QP) and more to what many felt was already the best editor available for CP/M. vZDE16.COM[ZDE COMMAND FILE]# aV 0@ CU209tQ\6f](Fq\l981\M"9?$@#8  BP@G2#IZR*R1RRp Dpx Say8o zD``34[]$83h@ ^oZ}NrxlSzԻbCY㰋@v!.Հ8 `! =`(?M @P 2Ȱ8e} Aae p< :âH @#; "?b-(Bh `(2CR29PB43ECRH.`pX94 13FX]( nz"Y;?! 4 €0`C`0#$00 )*d/!2wD;v4 5 @"'Bk,Ԝ0*,:4Cc4LЈ=h$ C2|rGH \!A7 0*A@#)d8AK@p .\8 8m,|'@pHAA A(p\Kl!j-J`Ӥ3D`@ͼPp 0#03QH% BP8 @ H| A3%Dp70\ C ɗmbAS:6O] A h= rB ( 7:pJLT+00b9_u4=& 3+ 'KPx iD(|Bp"  @N2q h"`6'8 .tJ=sm@ ` AT'6@0@DF` \ '(=A 4/ QLdP"4SA~,fhBlZ$zSH hdǨFh qf0=8q0ňJ[Bڰ"%VFJiN)@ +XuPyL)!p K@`B $4$ Ø4BUAi8  @vl8r/ 4 hb6 X^aXuє 3uS7h PiI?((t$m,9Fkld(p@=J3<@, @8@ H@$' 13C  t7_Cl1h-Aʰ@ $d#P.0e? k<x 2Θ d'x`^[2P?8YT*H28L?@ 8@&E(>b_8 @p('r(#\B@R *5_e/m d RTdpZhS`l*s 5b׮?(CBl?( ?`@`@%H8 2vF 7 Цm@ F%*ĉPg4]p! [K2{@ʑNub;Ѓ  +%8{ t e(yI`tzt NEd i>b@;00>h*.` p@v`(p0ɯ ( !K ם E5 *`_X! @` `F@#P J Ou pȓV$~J 8^5)^͠X^0 P@! B_G]"lP*.%(k%r-2,"-`",x?"<` khh;f06`#^0zp` RIPdjztwMr S` xp.`񕊄 xe  Y+ w#oPlVP* ]`Kr Х،h;`<6 ~ :jY8hp"F ~  fȖrg o`>  l 07bcޮ:@ 3 &+lf*#0g"֥r :u=S;%Ɔ*`@ (`<:2{5E()D< `8$P<HSn0 `ٳF[Z е:9-N 9w/5mQR9l8Ɍ%pbǀSl J#NA lK@4%'Q"'{5I -n."ںL 0T){P! `kE>p4ₖN0Fj`Lz~FT8h"Ndg\(/&m-0 4 0.(d J-y p KUW/M 0{>$G j-<~b鎚zIlQE ԛbp` (Վ5j+6x z 0(p ?   5MBR`6 x X@0` ..& k@ p ~@ 0*,N,UaR@@8y -0[ `<wB0 P0 "V: `G@ УwX #z(*@O70 A 9ZkX t ЉO{ .-yLXn` X@+0/aP H^ f"GhpdE `~c eŸАQ u70!_`, @t  &- oy w0P CuG"O O ߩ?1   J(1ޔo0P,$׊1ѺGjG= Z8 <վ 8 $8ߖ =WBk 7EO0R "78=. ?" <wb N{!wZB C>T"ZKm!9 !ٲG 0{jGX3d<'&( 023vk@/-W#)$ C-pxs3urW ߀ F%7 v= ::tGO! `!~Ic P#  P߂Z (F! Q,P6p-) 5l h| םF,.-N иܔu$QrP߂m0@(/S^ѻ̣`:Ė D~ LH7 ',zFrg@p)Z`o%'q74GLEE^vF4 ፠ S9E:G ^DgGRF vz .M2`_[%&[в5m'H 3:r4 T@`e\^7S/t p~ @ZI`C!ɹ +P 40  0郋jD-Q>z(|p( _aU 0 sZ`{k1af5u{o? ]I`*WG?U3||: p AG 8 `'0d: ( 2ok QW#y̆5 #`@ Qo^.` 7;? 9 P 4 n յ>yhs./ БY'Wh@ P)1Wf' ;[c\ ?'   O-ż)Ҹ/. ߝ0 ô:8%bp9n{4j 4T z3< g[0 9 üG¹Vʹp! bX; I1"N@ HcbIcCQ )x-k@4خ2 Bb!zTThi i chapte 1. WSHELP OVRJ{}~WSMSGS OVRlWSPRINT OVRDEFAULT FK WSREADMETXTDEMO CSDCSMASK MSK4HELPER CSD * students SPECIAL PRINTING CAPABILITIES INCLUDE: * Boldface Doubl Strike Underline * Strikeout Overprint (co^te) * SUPERScript * SUBScript * and any combination -- WordStar On-screen printer-image text formatting commands include Automatic-Centering whic allow tex t b automaticall centere o lin wit two-strok command Margi setting ca b changed an th堠 reformatte䠠 tex wil젠 b displaye o command Selectiv堠 margination permit "cutting aroun a illustration wid rang o lette qualit an draf printer ar supporte (includin Diablo NEC Qume Epso an Olivetti) WordStar full utilize bidirectiona printin capability Som printer wil suppor WordStar command whic specif variabl lin heigh an variabl an alternat characte pitch. (The examples below will not be demonstrated by all printers.) .CW19 This is an example of variable pitch. (.CW 19) .CW15 This is an example of variable pitch. (.CW 15) .CW12 This is an example of variable pitch. (.CW 12) .CW11 This is an example of variable pitch. (.CW 11) .CW10 This is an example of variable pitch. (.CW 10) .cw12 * WordStar i registere trademar o MicroPr Internationa Corporation. .LH 20 This is an example of variable line height. (.LH 20) .LH 18 This is an example of variable line height. (.LH 18) .LH 16 This is an example of variable line height. (.LH 16) .LH 14 This is an example of variable line height. (.LH 14) .LH 12 This is an example of variable line height. (.LH 12) .LH 10 This is an example of variable line height. (.LH 10) .LH 8 This is an example of variable line height. (.LH 8) .LH 6 This is an example of variable line height. (.LH 6) .LH 8 Dais whee printer ca als b se t "toggle betwee th standard 10-pitch and alternate 12-pitch printing: This sentence is printed with the normal 10-pitch setting, then toggled to 12-pitch, then back to normal. T se th embedde command whic produce thi text follo thi procedure: - I respons t th basi promp fro you system enter w  - Whe th Openin Men appear o you screen typ D (ord t edi document Then i respons t th reques fo fil name type  print.tst  Th firs thin yo wil notic i tha th tex o th scree include som character whic d no appea o th printe copy Fo example: th headin lin i identifie b do command .h o words in boldface are marked by "^B" T continu viewin PRINT.TS o you screen tr eac o th followin command t scrol throug th file: CTR  t vie th NEX ful se o lines CTR  t vie th PRECEDIN ful se o lines NOTE Hol dow th CTR ke whil yo pres th nex key. W thin yo wil fin WordSta a easy-to-use essentia too fo al you tex processin needs P LaserJet, U & V Cartridges HPLJ:Y&HP LaserJet, Y Cartridge, AC TmsRmn HPL:ADHP LaserJet, AD TmsRmn LBP8"Canon LBP-8 A1/A2 Laser Printer LP4080Ricoh LP4080 Laser Printer P351Toshiba P351 P1340Toshiba P1340 P1351Toshiba P1351 GEM10XStar Micronics Gemini 10X NX10Star Micronics NX-10 CITMSPCitizen MSP P1090Panasonic KX-P1090 TI855Texas Instruments 855 or 865 D2100PTandy DMP-2100P MT160LMannesmann Tally MT-160L 9500Anadex/Inteq 9500A & 9500B 9501BAnadex/Inteq 9501B SP8050Dataproducts SPG 8050 & 8070 MPI99MPI PrintMate 99 Z125Zenith Z-125AA qCODE DATA %COMPOS>$PORT $LAND XCHAR +FILNAMa$STARTw$DONE $QUIT $PF $PG UPCASEUCOLATEs$DR???$LQ???$PS???$DR7??$LQ7??$PS7??$DR8??$LQ8??$PS8??$DR9??$LQ9??$PS9??$DR10?$LQ10?$PS10?$DR12?$LQ12?$PS12?$DR14? $LQ14? $PS14?$DR16? $LQ16? $PS16?)$DR18?3$LQ18?3$PS18?>$DR20?H$LQ20?H$PS20?Q$DR24?[$LQ24?[$PS24?d$DR30?n$LQ30?n$PS30?wPS????PS7???PS8???PS9???PS10??PS12??PS14??PS16??)PS18??>PS20??QPS24??dPS30??w$DR???$LQ???$PS???$DR?I?$LQ?I?$PS?I?$PS?I?$DR??I$LQ??I$PS??IPS?I??PS??I?$DR?B?$LQ?B?$PS?B?$PS?B?$DR??B$LQ??B$PS??BPS?B??PS??B?CRLF CRET $FFEED HALFLF&BACKSPONORMWDqALTRWDPHSP PHRUB BINDSPBLDON BLDOFFDBLON DBLOFFUNDON UNDOFFSPRON %SPROFF6SUBON HSUBOFFWSTKON gSTKOFFvITLON ITLOFFEXTON EXTOFFNLQON NLQOFFBLDOVR DBLOVRA Driver code, DO NOT CHANGE All strings and tables Printer composed character table Default output file Printer initialization string End of document string Quit while printing string Phantom space string Phantom rubout string Portrait mode string Landscape mode string Extended char translate table (80H-FFH) Upper case conversion table Collation sequence table Font selection string, 17 pitch 7 point 15 pitch 8 point 12.5 pitch 9 point 12 pitch 10 point 10 pitch 12 point 8.5 pitch 14 point 7 pitch 16 point 6.3 pitch 18 point 6 pitch 20 point 5 pitch 24 point 4 pitch 30 point  Character width table, draft quality proportional italicbold Move to left side and down one line Move to left side of carriage Eject paper to next page Move down 1/2 line for sub/superscript Move print head left one column Select normal character width Select alternate character width Binding space Boldface on Boldface off Doublestrike on Doublestrike off Underline on Underline off Superscript on Superscript off Subscript on Subscript off Strikeout on Strikeout off Italics on Italics off Extended character set on Extended character set off Near letter quality on (.LQ ON) Near letter quality off (.LQ OFF) Number of overstrikes for bold Number of overstrikes for doublestrikeCR LF ESCTRUEFALSEDISPLASTRINGLSTOUTLSOSTALSTINLSISTALSTRNGMPMFLGSHAREFUNDLYFUNTBLHITEWID WRAP!XONOFF"SCROLL#DIRSIZ$DELSTR&SHYSTR,BBLOCK2KBLOCK7SOFTSP<=CRTIDBCLEAD1jCLEAD2oCTRAILtCB4LFGyCUROFFzASCUR|UCRPOS}ONCUROFFCURERASCRBAKSPCERAEOLERAEOSLINDELLININSLINMAXTRMINITRMUNIINISUBUNISUBVIDATTBRITEADELCUSBDELMISCDXOFFDDLONGFDMEDHDSHORTJUPDLYLDDISKNDFASTPUCNSTARUCONIUUCONOXMORPAT[CRTPATPRNID[DEFPRNPRNDLYPPAUSEPFFEEDPNODOCLXOFFLETXLCHRMXULOSTAULSTOULISTAULSTILSTDEVULPORTULUNPTULINIULUNIHFMAXDATSEPDLISTUPRCTLUPRQUPRWUPREUPRRSTKCHR!FORMF"PRNPAT;INITIDLGLDRVLGLUSRMSFILEHPFILEIXFILELDFILEOVFILE&WSFILE2SHFILE>DEFUSRJSPCMDKSPFILEXURUNYINILOG[BAKTYP_BFTYPEbAFTYPEeBLKTYPhNOTYPEkDIRFILININONINIBAKEDCONDLGLCHRMOVCHRAUTOBSINIDOCINIRLRINIRLI6DSTKSZ7INIDIR9DIRSRT:INIHLP;UNONE<UNSIZE=VMSIZE?EDSIZE@BFSIZEATYSIZEDEINIFINIINISTAOSTThi i chapte 2. WSHELP OVRJ{}~WSMSGS OVRlWSPRINT OVRDEFAULT FK WSREADMETXTDEMO CSDCSMASK MSK4HELPER CSDP DEL=+TeleVideo 925/950 = *)(TYRE(!y:AʃyBƒ!Ã)(2Epson FX-80 or FX-100 FX80 d,- ABCDEFGHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRWS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 W* |* ^#V#~#f_|{*, *.DM:" x͑    +w    ~#    ɷG:!. w#% 6 a{ A[ ɷG~3 w#N ɯ)lg>)=c .`E)t o |/g}/o#z/W{/_x/Gy/Oz{xy ´ #¢ õ  "    }0>/ . À U:!/G::̢ :Rʯ R>. O:X > . !c!F*yX:") ͢ ) m  *D͢  z +| >2> m  !6#w>2 *o~f n :Z !~w͠yt: "/<)=x>ڃ/ɯÎ! ¡~wå~w͠<>±/2!s ͠<ɯ>2# :J<)<):"<͙ F:J/!w#w#w#w 6##~+@@G: "@!~#G!~#<$ :2!~^!͠>_~^"͠X"7~w#‰"7~w# @! x®d! x"~#͖!@ x:" œyʼ# «> ¼ ##~*6?x#~ '!-"67~0?:A?[$/#-@&*?#~1: "w:-" #~? 8͙ ʖͤ ʚG##3 xr [Ö~ Œ:Œ^#V # TGz!: #}~ j>. }>  y> n~ ʈ #}2 "_ ʮ=! "Ď~Ͷ #ö!;:"ͤ !KZU DM 6Y> Ͷ > ö ̓ *N)|)̓ Y*J7*H<|IVVYIz\+|f!^~:=2ʈG#~+w#~Gʘ<2!^=ʧNpA#=ŸpGo<2&^pɯ222G:!2xA[a{:x :d:!E2̓ A:!2:A:>2!?/!":\J ͫTJ O:uŒ:QO̓ š*R+|‚ y«ͫYJ Ox uyu!~#~#fo¯TH ͫ YyA!Tw# ìͫY2e!:!ľY~ï^#TH#$ ~Y:YeY:!OF#~R2ͫC!:Gp!QGx2Q"R:G*$"x  $: ·:!ʷ&,:"$:"|xͶ &÷,:7ҷ!c!~#OFw~ͅ#> ͅ> ͅO:g"G/<*>z*z*> z2!!"c!!~n:o&":O> Ͷ [og"!"$jG:p#=~:%Ҟ:$Һ2$:2%!~·*$|<2%"úɯ2e!>ö :C~#O~Ͷ # ~<#~#fo!# w*$̀!# w*$̓ *$͑ u"$|V}NVV> Ͷ > Ͷ u:}dyo:!G:#}:B!j*z:yʎ}lgMͶ!oLͶ!t*$"+*+":|Gi&yö x("͹ >O>0# 0>9Ͷ ~Ͷ #O :! !+|!~_zW#,~_#~*!T]%"2o2!g",a ".y "*!~*_͐*y*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%$1_ Press any key to return to WordStar...$*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%.....:.. . . . . .SpellStar has completed proofreading your document. Enter "L" to list the misspelled words. Enter to flag errors in your text. Enter "R" to abandon the check and restart. SpellStar is now creating/updating your dictionary Number of words in word file................: Number of different words in word file......: Number of words in dictionary being updated.: Number of words added to dictionary.........: Number of words deleted from dictionary.....: Number of words in new or updated dictionary:"Space" = continue, "C" = continuous listing, "^L" = stop/start list.Enter to flag errors, "R" to restart. Enter to proceed, "R" to restart. [List of update words][List of words in new/updated dictionary]This word is in the dictionary. Should it be deleted? (Y/N)  4“&ͭ!y!5ͬ&Q%ͬ'y +~5W͠'ͅ¼&*w!^{'Q%ͬ'Q%~ 4# ͠'Q%ͬ'Q%ͤ*+~# 'yP 'w 4# =&x2y!ͭQ%:i7&n&Q%:z!1'ͬ&$'!G͠'ͤ> 4='ͭQ%'Q%f2!%̾2%͐'Q%x+Q%!nw?,Q%͐'Q%G+Q%x':{!:u!"w!x2y!y2z!*w!:z!O:y!G:/2Q%''ͯ'>Pȹ!:%?5g: g:%?:z!O (ͬ&~^' (ͬ&~^( 4*w!#"w! y2z!Q%3(3(Q%ͬ''~'~M(^Q(^ 4# ͠'3(h(h(Q%ͬ''~}(^ʁ(^n&h(> '> 2!ͅ%> 2!%:%ڨ(:$o(:u!(:"(:!$(2!(28G!~3 O~# (y!%!9"͏/\):R6)f 0)!!0)!!h)O3 4y29>28> 2}!<)-%h)!8~I)x\)#~3 !!r)!!m)!/j-(>It)>Nt)>Y3š):"ʚ)!.‘)!./j-͏/:}!!!>ʪ)/*P)w# ¹)+p:):>)/!2%*#**#** #*<***~w*>2# 5:$G:=:*#F+p#.*q!#:$G:^#!2%*͊**͊** ͊*<*ڄ*4!_#ڄ*>2#:$G:_+=ʣ*+F#p+×*q͏/: "@ 4:"!+o&͙ *,-*:ĥ4+ͥ4>: 4ͤ ++: "#*:"+ *+#~ + 4+*$"!/͏/E+>( 4!~=+ 4#1+>) 4/*! : G~s+yOX+~s+"!t+***!͑ ʤ+: GyOړ+"!å+{2 "@z=2",+,͝ (,*,",<, ,<,/!q,j-(Y/,Ͷ,ͦ ! %,! %,! %,!R /:!͝ 2!!Nz6O,6#s#r!?,*!^#V*!&)^#V"!O,,#~#fo~#foG~# “,f2!@ڧ,W ,~#ʫ,@ڽ,«,y-,{2!*!###~#fo^#V,*!zʀ,,2:N -NÀ,2!À,=O!! :! )-@3 wD6:!2!2!2!2"D6!P-!<"D!"J >k-k-G-·-e.ұ-ͭ.ʵ-O > Q//_-{ ‹-22ʵ--·-e.ұ- †-÷-x--Q.F.-!F.-Q."!O../2c!O../O> 3O.5.Q.5 <O.=o&) s#rO.!.|0@2"1*c!"3:q! ].*$*$:s!g!M:$ͭ./ Ž./> 4=€.r.. 4r.͞0~#ʫ.. 4Ü..//o/gí."F*H͑ .*J͑ /)L*D"q#w*(:?Oͭ*({_zW/*F}o"H"J/*F*J͑ :/bk.:/>M/*H{OzG*( ~"F2t!> 2q!2r!ͤ>2,:%2s!><2t!>2q!:%2r!* 5:%ҋ/wäͪ/*3"c!*1#|ʨ/+"*$"-*c!"/*$,&"-*c!."/*/"c!*-"!"/j-0ͯ0j-/ͯ0e-31L-./d0.ͯ0> Q//A0 J0[0g0p0|0@20310d0@22[0> Q/03100E-/2c!0/O> 30͞0~#ʔ0ʜ0|0@2À0~2c!#À0Շ_*^#V*^#&"!"c!W,* 0*F> Q/#~0#~2c!0O@20y 02210:2!2!f!!,1Oz(1:!1.1>2Lͥ1ʎ1:g1*$> Q/>22`1ͥ1L1"Î1:%> ą!*͒1*͒1* ͒1:$G:G 5q#ž1:$_:G*~*~*~ °1G:$1*$> Q/>2221:$1ͥ11":$ G:e!ľ*c!|O’2:q! ’2x g2’2 * 5:s!ڄ2:,:s!„22,+2t!3y:s!2* 5w>2q!:,~22,*c!!"c!!"3ͭ*$%"3'3:s!'3"c!xͅy3xD3:%2r!3!%> ͅ*3!c!>w#J3:%2r!:q! Z3* 56* 5F:r!wҲ3/ ͅ Ž3ò3!* 56 ø3* 5:t!3w:O!%3G:"3> ͅ33*$a":t!ͅ3!q!~wG@2 4x 4G* 5:%4wOx5O! >a4* 5y;4wxf4l4ʀ4 \4>^ͅx@ͅ!&o4!,N _4#~ͅt4>-\4~ʗ4 ʗ4# 4†4͏/ͥ4/Ϳ G~ 4#®4:5ͪ/6^#V#~#44/*4*`i~#fo#|+4"ͅ45=4/*$&.!5*"75B5<5>?5:&:,>> Q/*U#*s":u"d5d5o> -w55 f5>-f5:l2c!:*#—5:s"ʗ5:u"ʗ5>V5:s":!5:u":!5N:!5!"6>#5!v"6>!5>-5No&#yx}5>2{6:t!+6@26>+2t!6~_#~6 6ɷW,D6!"$#-6,"25ɯA62"2"2":v!ͤ!!w*>ġ8*:!͡8!!!8~8#8~88͗8“6!87*:"£6!!͗88!!8͗888E!!!!8!!8͗88:X#6*8:X#86*8:"8:"7*8:"87*8:/"7*:"8*8:"478:"08*:"V7!":!V7*:"V7* /88:"t7*8:"8ü78*:#¹7:!ʼ7*&|*¹7:¶7*|¶7*|¶7;L|ʶ7ü7* 8!!82!~82!: G**wA8:!<2!#7*6*:=w*:!wͭɷ~ 8# 82! &8:!G:!! =8_<2!*p *!.:$€8:%_|ʃ8ڀ8O:"ڀ8*͎8~ͅ# t8Æ8"͎8ͅ:A@2c!:!!!G: p#=¥8b8x:/:!9>998:n83/86!1j-\9!8v,:!3 9:zN9xQ9 +~͋ x82Q9W98!+N#8 8y:9 '9bk '9K $9:!dQ9:!*&>: :p9> Q/> @2>@2c!~͒:>2c!> @2#N#F#xʭ9##~͒:# x¢9h:~::!:%}_9::#~#fo|}:!n:::%}9}9> @29> @22::k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:?:#^#V#N#F##N#F#^#V# >8/! L-/E-8 ښ:@2>^@2@@2!ͱ:!~:W#!s !h:ɯ2Y#:X:2X#!e:!b!  !~#:;~# ~w::; =;2Y#2X#Ͷͦ !!s !as *&"))!;E><;@.;~3 G4T3 O!;#~;#™;~™;~>:;+~>1;>.;>?PACPOLFFFFHHHHIGUPNRRBLBTCFHHPSUPXXXXXDRRSADCFPRMLMLSOJPPMAWWIGMITPIEE>J<>9P4Ts<DT<0s<:s< T<<<><4TN=D<PD=D= 4T=O=>O=*;"N>_C.=2u"x2s"2t"4T.ʆ=4T4T=OD=-> =!># >3 OP=:!->:!e>N>x2s"Æ=x2u":s"ʆ=>:s"=O:t"4>4T?>D?>N>Ï=N>Æ=v">"><o&px2t":s"=Æ=x2t"=:s"2*#F>!#E";"2v"2"2s"2<"<2;"!#EW>2t"_CDʧ>ͿB!:;"ڟ>ʟ>xyœ>G2s"2t"O4Tz>:t"?>4>4TDÉT:!*&}>+"&ѯ*${_W+~ >"$:!*&|?#"&*"*7*$ #͑ .?w# ?"$5?!"&͛D*u##K?*u#+"u#Ei?:"p?*"y s?*9"#"9"*"""Eʓ?:"š?*"s?*9"+"9"EQ?!"9"͸?*"#""*"+""E~?*$*&*"+""͸?!"9":"G*"1G @uH @*"y s?*9"#"9"͉T+@+@ +@͉TD4T1G??""x2""&"$@ c@_!@@:"/_!y#w{ѷG:"/Z@ʓ@G:s#2s#x~*9#|¥@}~N~~*3#+|¾@}~͜Q~~HTͭ@*3#+4TO:!yĕA4T@͉T*7#ͿBO:!yď"w#O:!yď́ "w#yC!A:A!qA~#lAIAgA~SAgA#~lAGExlAlA##:A            XO@BDA Z@4T·AeBBG9?4TO4AGB:t!+Ah& B~x D_!9D^DW! FDV"*u#"#*w#"#*;""#:y#2#:"2#:#2":#2y#* Tri Diary Septembe 10 Wha wonderfu cit Londo is We'v bee her tw day an hav bee literall runnin fro on tou t another We'r prett exhausted an loo ferwar t explorin fe sight o ou own. Thi mornin w too tou tha bega a Trafalga Square W too th undergroun (thei wor fo subway fro ou hotel We'v foun th Londo undergroun t b grea wa t ge aroun an les costl tha taxis W ha whirlwin tou seein Parliament th Towe o London Towe Bridge an th changin o th guar a th palace Mos impressiv wer th crow jewel i th Towe o London. W hav bei tourin s muc tha thi afternoon w decide t d littl shopping W wen t on o th worl famou departmen stores Th enormit o th plac wa overwhelming W foun w wer mor comfortabl shoppin inth smalle shops bough woo scar an te set. Hyd Par i walkin distanc fro ou hotel S a th en o hecti day w decide strol throug th par wa jus wha w needed W ende u sittin o par benc fo abou a hour Th peopl-watchin wa fun Al th classi Englis character passe befor u me i derb hat an pi stripes nannie pushin bab carriages an bobbie amon them. Ou mornin tou guid sai n visi t Londo i complet withou te a th Rit Hotel S fro Hyd Park w walke shor distanc u Picadill an ha mos memorabl testime I wa reall smal meal wit ho dishe bein offere wit th usua far o scones cookies an cakes. Afte sufficientl stuffin ourselve a teatime w walke bi more Bu th Londo rus hou go t u s w decide t tae i movi rathe tha tr t ge bac t th hotel Somehow I'v gotte enoug energ t writ thi entr i m tri diary I'v ha trul wonderfu da lov thi city. Septembe 12 I'v go t catc u o tw day o diar entries W wen t th theate las night an go bac t th hote to lat t d an writing. Yesterday w too brea fro organize tours an decide t visi severa Londo site o ou own I th mornin w wen t Westminste Abbey W bough guideboo an too leisurel tou o th church I th afternoon w visite th Britis Museum Th plac i s hug tha i i impossibl t eve thin o coverin i al i on afternoon Bu w too quic tou an sa th Magn Carta th Rosett Stone an hug collectio o origina manuscript an musica score Bach Handel Beethoven Keats Shelley Dicken, an man more. Today w lef Londo an too da tou t Stratfor-o-Avon th birthplac o Willia Shakespeare W wen b bu wit larg grou bu th tou guid wa s wel informe tha i wa wel wort it W covere lo i on da an eve too tim fo leisurel lunc a loca hotel. Stratfor-o-Avo i picturesqu littl tow an stil maintain it Elizabetha flavor Mos building ar th original an hav bee ver wel preserved W enjoye seein al th site relate t Shakespeare' life. Tomorro i ou las da i London We'l hav t mak th mos o it! [ ͗ ڏR|RDM*3#:!²R!)T¹R}ROùR`ia *5#}O|Ga *3#*3# "5#6!hQ~#foRR#Ry~++~w#~w:!>SF+N T][ a y #`i#y [ y *+s#r#q+w#w#wɷO:S*7#́ *9#%gS![ ͗ wS|SDM*9#!!d)TʗS |SßS}SOa ́ *9#*7#y DM*7#*7# "7#+6*9#KF!hQ~#foSS#Sy~+~+S~~_#~WBK[ ́ *́ a y M +s#r#q!#/w}~DTHT#~*5#|bT}bT*7#~bT*9#|nT}>7N~7*|!7T}~™T͝T+~*7#+|¹T}¹T*5#+~ʹT*3#+|T}>7͜Q~7*|72#7:!*7#$GDO:_#<UUYO:!U2#EʵU*""#*""#:"2#:`"2#:_"2#:^"2#@ʵU.U ʏUD¥U:#> U*#&y *#"#|> U>!#ww˜U*#+"# ʵU4THU#~ ҥU+4TPU:#ʾU4T#OFs;E!UxTV#U##U^#V!#F4TkVVV VVV!#V!#V!#V!#H<!#NV*#*#́ :#V:#V:#V"#"#TV~6!#F4TʏUDZV> U!#F_C͉TʄVZV ZV4TʏUD„V}U!#F4THʦu/͎u*.͡v!:".v> vv*["#"["*!+"!|::Qw*["}|Qw*["+"Y"**T]x Gw# w7-wFwx# w4w{_zW*Y"}CwTw+"Y"|wvɯx*!"*!DM*!*~!xx:!.ĒxsxHw wO: w> ͒x:%wüw:$O:x> @22Nx6x> Q/üw:%0x> @22Nx31Zx"~!"!`i"!*$"!!Vw]x*!"!-o.!?,*!"*!"-*!"/~ Ēx# sx*$"!*-"!*/"!:A@2c!@2>ìx7êx>2{!͞(-%!w?,1%:!-%>2{!1%6j-31͏r͏/xx)ͥx:x Ēx# sx*:!*.͡v**"!w{zUy ~$Oy~Ay#2yIy> CyvZyy^yͼvviy>2!2]"zyJ"yʘy#Áy2]"*H"|y*!y ͗ y*D"y *B"DM*Q":S"y*D"*T":V"yyѯ2?""="zNz xzz!J"O#z>2A"i "="2?"NzLzB"Nz @zɯ*@"*>"͑ sz"@")"*2!aͭ:="_*2~*=","="z*>"#">"!Yüz!~üz:! {! úz! 2#$x2"$6:"z! j-310Nj-*!";#31!"͏/Nx)ͩxN!N͜){ N !'{! /N! 9{! /N#\ /*$"!>2!!"!"!"!!"!!!:j~:2"!!͡~ʓ{6Y!~=œ{!!:Sj~!~Ü{:j~!! ͜)+}!9"͡~{=1|!:S|! j-͏/{ͭ)1-%¦~ {!T /æ~|{#"!͜)+}/! j-:q~ʦ~2!͜)+}! :/j-q~ʦ~2!͜)+}/! j-͏/Z|ͭ)1-%¦~ {"!͜)+}/!, j-͏/ʺ|ͭ)65534-%¦~ {|†|!"!͜)+}͡~+}/!F j-:q~ʦ~G͜)+}xY>ʷ|/2"/!8 j-͏/+}ͭ)͟x¦~!8~+}G#!~3 >} |#+} |͕~+}>+}#͕~+}xH !+}Ͷͦ *!*!#͑ Ҧ~E!#$w/!~͑ Q}"!:#$>`}:C@*́ 4>}|=p}>6=‚}"6$"8$"($6+66"&$"$$",$".$%"2"=#!:#$}:@oa y *!}O|G}!!my~!i /Ü!i /æ~";#!~8~*!~#fo8~:"<: " Ͷͦ ~A~#66!l ͡~W~!%=W~!uj-*$"!312[#Á6N6Yɷ:!{~:!29>28(I$INDEX$TOC+#~ ʗ~:"$/C~€ɂςzzzzA;zw+{~CON-TROL-LABLE EQ-UABLE IN-SA-TIABLE NE-GO-TIABLE SO-CIABLE TURN-TABLE UN-CON-TROLLABLE UN-SO-CIABLE DE-PEND-ENT IN-DE-PEND-ENT ANY-THING BAL-DING DAR-LING DUMP-LING ERR-ING EVE-NING EVERY-THING FAR-THING FOUND-LING INK-LING MAIN-SPRING NEST-LING OFF-SPRING PLAY-THING SAP-LING SHOE-STRING SIB-LING SOME-THING STAR-LING STER-LING UN-ERR-ING UP-SWING WEAK-LING YEAR-LING CIV-I-LIZE CRYS-TAL-LIZE IM-MO-BI-LIZE ME-TA-BO-LIZE MO-BI-LIZE MO-NOP-O-LIZE STA-BI-LI*ZE TAN-TA-LIZE UN-CIV-I-LIZED PAL-ATE IN-CLEM-ENT BAR-ON-ESS LI-ON-ESS EU-LOGY PED-A-GOGY LUS-CIOUS AT-MOS-PHERE MET-AL NON-METAL PET-AL POST-AL RENT-AL CAT-ION COM-BAT-IVE STAT-URE BECK-ON BES-TIAL COM-A-TOSE COME-BACK CO-ME-DIAN COMP-TROLLER CONE-FLOWER CO-NUN-DRUM EQUIPPED HANDLE-BAR INCH-WORM INK-BLOT INN-KEEPER IN-TE-RIOR MIN-IS-TER MIN-IS-TRY NONE-THE-LESS QUA-DRILLE SOM-ER-SAULT SU-PE-RIOR U-NA-NIM-ITY U-NAN-I-MOUS UNC-TUOUS DEBT-OR AC-KNOW-LEDGE DE-DUCT-I*BLE EX-ACT-I-TUDE IN-EX-ACT-I-TUDE PRE-DICT-*ABLE RE-SPECT-*ABLE UN-PRE-DICT-ABLE VICT-UAL NEEDLE-WORK IDLER BUFF-ER OFF-BEAT OFF-HAND OFF-PRINT OFF-SHOOT OFF-SHORE STIFF-EN LEFT-IST LEFT-OVER LIFT-OFF SOFT-HEARTED EGG-SHELL EGG-PLANT EGG-NOG EGG-HEAD COGNAC FOR-EIGN-ER VIGNETTE HOGS-HEAD CHILD-ISH ELD-EST GOLD-EN HOLD-OUT HOLD-OVER HOLD-UP SELF-ISH BULL-ISH CREST-FALLEN DIS-TILL-*E*RY FALL-OUT LULL-ABY ROLL-AWAY SELL-OUT WALL-EYE PSALM-IST ELSE-WHERE FALSE-HOOD CON-SULT-ANT VOLT-AGE RE-SOLV-ABLE RE-VOLV-ER SOLV-ABLE UN-SOLV-ABLE BEACH-COMBER BOMB-ER CLIMB-ER PLUMB-ER DAMP-EN DAMP-EST CLINCH-ER LAUNCH-ER LUNCH-EON RANCH-ER TRENCH-ANT AN-NOUNCER BOUNCER FENCER HENCE-FORTH MINCE-MEAT SI-LENCER BIND-ERY BOUND-ARY COM-MEND-*A-*T*ORY DE-PEND-ABLE EX-PEND-ABLE FIEND-ISH LAND-OWNER OUT-LAND-ISH ROUND-ABOUT SEND-OFF STAND-OUT UN-DER-STAND-ABLE CHANGE-OVER HANG-OUT HANG-OVER HA-RANGUE ME-RINGUE ORANGE-ADE TONGUE VENGE-ANCE SENSE-LESS AC-COUNT-ANT ANT-ACID ANT-EATER COUNT-ESS PER-CENT-*AGE REP-RE-SENTATIVE ANT-HILL PENT-HOUSE AC-CEPT-ABLE AC-CEPTOR ADAPT-ABLE ADAPT-ER CRYPT-ANALYSIS IN-TER-RU*P*T-*I*BLE AN-TIQ-UI*TY INEQ-UITY INIQ-UITY LIQ-UEFY LIQ-UID LIQ-UI-D*A*T*E LIQ-UI-D*A-*T*ION LIQ-UOR PRE-REQ-UI-SITE REQ-UI-SI-TION SUB-SEQUENCE U-BIQ-UI-TOUS AB-SORB-ENT CARB-ON HERBAL IM-PERT-TURB-ABLE ARCH-ERY ARCH-AN-GEL RE-SEARCH-ER UN-SEARCH-ABLE AC-CORD-ANCE BOARD-ER CHORDAL HARD-EN HARD-EST HAZ-ARD-OUS JEOP-ARD-IZE RE-CORDER STAND-ARD-IZE STEW-ARD-ESS YARD-AGE SURF-ER MORGUE CURL-I-CUE AF-FIRM-*A*T*IVE CON-FORM-*ITY DE-FORM-ITY IN-FORM-A*NT NON-CON-FORM-IST CAV-ERN-OUS DIS-CERN-IBLE MOD-ERN-IZE TURN-ABOUT TURN-OVER UN-GOV-ERN-ABLE WEST-ERN-IZE HARP-IST SHARPEN TORQUE COARS-EN IR-RE-VERS-IBLE NURSE-MAID NURS-ERY RE-HEARS-AL RE-VERS-IBLE WORS-EN ART-IST CON-VERT-IBLE COURT-YARD FORE-SHORT-EN HEART-ACHE HEART-ILY SHORT-EN APART-HEID COURT-HOUSE EARTH-EN-WARE NORTH-EAST NORTH-ERN PORT-HOLE NERV-OUS OB-SERV-A*BLE OB-SERVER PRE-SERV-*A*T*I*VE SERV-ER SERV-ICE-ABLE PRE-SCHOOL CON-DE-SCEND CRE-SCENDO DE-CRE-SCENDO DE-SCEND-ENT DE-SCENT PLEB-I-SCITE RE-SCIND SEA-SCAPE ASKANCE SNAKE-SKIN WHISK-ER COLE-SLAW RATTLE-SNAKE CLASS-IFY CLASS-ROOM CROSS-OVER DIS-MISS-*AL EX-PRESS-*I*BLE IM-PASS-ABLE LESS-EN PASS-ABLE TOSS-UP UN-CLASS-I-FIED AR-MI-STICE ASTIG-MA-TISM ASTIR ASTONISH-MENT BLAST-OFF BY-STAND-ER CANDLE-STICK CAST-AWAY CAST-OFF CON-TEST-ANT CO-STAR DE-TEST-ABLE DI-GEST-IBLE EAST-ERN EX-IST-ENCE FORE-STALL IN-CON-TEST-ABLE IN-DI-GES*T-*I*BLE IN-EX-HAUST-IBLE LIFE-STYLE LIME-STONE LIVE-STOCK MILE-STONE NON-EX-IST-ENT PER-SIST-ENT PHO-TO-STAT RE-START-ED RE-STATE-MENT RE-STORE SHY-STER SIDE-STEP SMOKE-STACK SUG-GEST-*I*BLE THERMO-STAT WASTE-BAS-KET WASTE-LAND MAST-HEAD POST-HU-MOUS PRIEST-HOOD SIDE-SWIPE WATT-METER BE-TWEEN KIB-ITZER BUZZ-ER AL-GO-RITHM BIB-LI-OG-RAPHY BI-NO-MIAL CEN-TER COM-PUT-A*BIL-ITY DEC-LA-RA-TION DE-GREE ES-TAB-LISH GEN-ER-ATOR HAP-HAZARD NEG-LI-GIBLE PE-RI-ODIC POLY-NO-MIAL PRE-VIOUS PROB-ABIL-ITY PROB-ABLE PRO-CE-DURE PUB-LI-CA-TION PUB-LISH RE-PLACE-MENT WHEN-EVER I-ODIC POLY-NO-MIAL PRE-VIOUS PROB-ABIL-ITY PROB-ABLE PRO-CE-DURE PUB-LI-CA-TION PUB-LISH RE-PLACE-MENT WHEN-EVER 24T!Q#z# :T#2}#͉g2#֚2*7#e#OF:: h:y#G!;~#gg!~#gg:y#>g!y#pɷO~D h|@# g*7#͕@7cD7c6hD-h|͕@h͂5A F~*7#͉T7cD7c6hͦKth*7#~Dqh|@ZhJ*7#ͬDMDxʉh| }h͂G*7#Mn~x5AͦKʳhDʰh|@ÞhJ*7#ͬDaJaDhIühͦKa*Lh:v#h[K*7#ͬD͞a[KiD!_#=hͦK[J*7#eB͞a2E!T7c͞*5#+4Tpi:"Qi>2#1Yʑrt>2#ZiTi2#2."L*7#ͥ2s#El÷m!<"~q+F!v"sq:"ly'sq%Y> sʑr> @:;"lq:!DPm!" ʹl:"3m:!O$D9mWs3mws)m͜sq%Yy@qsq> 2!!;"~='sq3mG)Yx mmdm> sʑrèmsʑr> sʑr:"ʮmQ?9?!h#F_CDq_sʑr{@4TÑmxʱmQ?9?q:!D q*7#tm:! m:"mG:"2#ao!<"~,n+ͧ]nnG:/"aox*Wͧ]o&";"͞aoN_~=,n]?oao:"ao:"Gn!t#~6̾ao:/"ao:!Dao:Cao*7#6"OF͜C]o&!";"*7#_CͿB*;"͑ ڐn4T|nKF*6"}_|WھnónͦKʾnDʻn|@z£nþnJ*7#eBr!6"F͏W!6"FeB!<"~n+N_~=o*7#h#OF%YMZʑrͰͺs*6"*7#KF{_zW-o-oJ-oI5zo: $2y#*7#eBLao:!Dao*7#͉TaoDaoDao~w:!O$Doyo> 2!OWpͰ:"/!"ƈ!<"~q+F:*#Oxo!v"sڲo!"soͰqQ!"sozoJͰo2";E:"oy'sq%Y> sʑr> @:;"op͜C:"Sp:!!eSpG*7# ͉TSpDSp|@ADpͥ Hp4TW͉Tr4T6pp%YͿCpͿCͰ:"pspWs>@WspspWsp!y#^y|@Vx|@{rp!s#pwspx$Dʿp:s#¿p¿p͜spsy@%Yp%Yy@psp>sʑr>@sʑr:"p:#qƈqYq2t#͞E)Y:"G:#?q *7#͉T;qD;q?q2":! pq ʃq Wq> Gsʑr9?*7#x ̝? GÒq:kyq:"2" M\Lʑr:" q:#q͜C:#ʻqrʻqUGr>UͿC*7#~GUGq*7#͉TqY9?͝?ͺsMD*7#2Z#Gͷrr r]rrͫrͪjr!k#:#]r_Drr*7#͕@]r!#:"črD2c!y@TY*#"u#*#"w#*#";":#2y#:#2"*D!F:!s#s~_x#N ttN?͉TD4Tɯ2Da~*$|s~pDL:$_* %Y!~LʚtDY*7#+w"7#+6|@L+|Jt#:y#G:#YpDrGTʖtYpÑrDa~E!T!"s~͞>2#1YʑrtEZs~:$ u:s#upDu:s#Gͪxu*7#ouMu:$2^#uM͠66:!s~ ͉TLuD\EuLu !vD/u:Qvyvg."$v+'v:$u6!6-j-:$ʂ.hePRINT.TST Features of Your Printer .f1 WordStar .f2 Print test .f3 Page # .oj on WordSta an You Printer WordStar work wit wid rang o printer an offer yo variet o prin enhancements Whethe you printe ca produc th prin enhancement outline i thi documen depend o it capabilities Pleas not tha no al printer ar capabl o showin al th example below. Specia Printin Capabilities WordSta support th followin specia printin capabilities: Boldface Doubl strike * Italics/Alternat ribbo color * Strik out * Overprin (a i co^te) * Noncontinuou underline an .ul on * Continuou underline .ul off * SuperScript SubScript * an almos an combinatio - WordStar Characte Width Som printer wil suppor WordStar command fo variabl characte widths .cw 24 character pe inch (.C 24) .cw 20 character pe inch (.C 20) .cw 14 8. character pe inch (.C 14) .cw 12 1 character pe inch (.C 12) .cw 10 1 character pe inch (.C 10) .cw 7 17. character pe inch (.C 7) .cw 12 You printe ca als b se t "toggle betwee norma pitc an alternat pitch: Thi sentenc i printe wit th norma 1-pitc setting the toggle t 1 pitch the bac t normal. .cw 7  Yo ca als chang th norma an alternat characte widths: .cw 14 .rm 55 Th "normal characte widt i 1 (8. cpi an th alternat characte widt i (17. cpi). .pa .rm 65 .cw 10  .cw 12 Lin Height Yo ca als us differen lin heights. .lh 16 Thi i a exampl o variabl lin height (.L 1 lpi) .lh 12 Thi i a exampl o variabl lin height (.L 1 lpi) .lh 8 Thi i a exampl o variabl lin height (.L lpi) .lh 6 Thi i a exampl o variabl lin heigh (.L lpi) .lh 8 Proportiona Printing .ps on .uj on WordStar als support proportiona printin fo mos printer tha hav it Yo selec proportiona font b changin characte width a i th followin examples: .cw 22 Thi i characte widt 22. .cw 11 Thi i characte widt 11. .cw 9 Thi i characte widt 9. .cw 7 Thi i characte widt 7. .uj dis .ps off .cw 12 Other Phanto Spac Phanto Rubout WordSta ma allo yo t prin specia character (fo example paragrap sig o cent sign b usin th phanto spac comman (^PF o th phanto rubou comman (^PG i document Fo you printer th phanto spac characte is  an th phanto rubou characte is . Switchin t Draf Mode .lq off Do matri printe driver allo switchin fro NL (nea lette quality mod t draf mod fo faste printing. .lq on Microspac Justification .uj on WordStar allow microspac justification i you printe support it t produc evenl space word i justifie text Microspacin spread th whit spac betwee word (an sometime betwee th letter o eac word a evenl a possible .uj dis .pa Lookin A Thi Fil Onscreen I yo wan t se th embedde command tha produce th tex yo ar no reading follo thes steps: 1 A th Openin Menu pres D t edi document. A th promp fo filename typ print.ts an pres Enter. Notic tha th tex onscree include som character tha don' appea i th printe copy Fo example headin lin i identifie b th do comman .he Word i boldfac ar surrounde b ^ an appea eithe highlighte o i differen colo o you screen. T continu viewin th content o thi file pres ^C Pres ^R t mov i th othe direction. i document. A th promp fo filename typ print.ts an pres Enter. Notic tha th tex onscree include som character tha don' appea i th printe copy Fo example headin lin i identifie b th do comman .he Word i boldfac ar surrounde b ^ an appea eithe highlighte o i differen colo o you screen:"/2"!`ͺ4D6s~:f:vE)͞JZDʵIãͦK:" *7#~ 662Z#͜C]͉TDD.> (F *7#@ L*7#U W,3W,6!S':X#l!([-W,!`ͺ4/W,pDs~:Z#ʜ!)(Y!)/ͺ:ͨ:!?,:"ʜ®A;ى*+6+6+6x:X#ͺ:è*0"ѣͤa[K:#s~*"$ͺ:!" :W#B!_ !Ͷ!ͼ 9S! *"2*5#6#"5#;L|e}n6#gKFE[ x|#DM*3#!Ss :W#&*!ͥ͑ &!3 &!ͦ ͻ **!ͭ:,**+G #~܊ي**!~»!s !s Ͷ/!s Ͷ!s !ͼ :E!_ !Ͷ!Fwpè*$"*5#+~h6"5#:W#„!_ !ͼ Ä*7#eBM2#s~2"*7##OF>2"2W#2Z#2"2!*5#+6"5#!3 ʄ:ʄ*$| ͻ }o|g MD!"$**!ͭ!ԋÄ:D2#!#Á!}p!}p!~p!}p!~pXʁ!ip!3 M!> XXÁѣ!#ʘ:"dףd2Z#*7#͉TGOx怱wd66Ms~͠s~!!! ! !!!!!!#8!Q^#V#zь>/2#!B*7#e#OF!##8#*7#͙B!<"~>+~w!::#an!## !## 6" *7#OF:#!6"*N!6!##:#/2##!~Q͐ͷ!S#~++F"#*7#BK~#foʠ$#Ï*#͑ ҫ6"OFh#*N`i6"OF*7#T͉TDZ@Dč4T.͉TMBxۍ4T؍!8"~ͪs~++Fәs~͠s~~<++F͑ 3͗ DM####8"!"~/wh!"~/wÁXʁͺm!#̕!(0͆̕Xʁ͵m!## !## !#:;"2#!#:;"2#*#"u#̕:":#:$*.* $͑ " $DM**!#F@# xģ#*7#OF2ϔA!~_zW# ~_#~A*$"$!#:"ʆ:"ʆ:;"!o#zJnDtͦK> ͓IUMD*7##OF2#͝!#h# Xʁ6"*7#OF :"ʿՏ!$~Տ+V+^*=#͑ !a*(Yѣ!## F:"2$!#̕!6"pDÁ!#:":"_ͪʬ2Z#:"ʁE@:"[*7#@DdG:;"Oẍ́}ېJI!JI:#:#=:#xͿB*7#͕@ʬ:y#͘2y#!*7#L|L:"*7#@Dې>2#2#:"ƈ*7#h#OF{:#_:#_> ͓!#*=+́ ͪAE:"JI:;"OJID3̈́:#_>W! $~w#~w#~w* $:$*$" $DM**"0* ~# xq#*7#OF2#:!#pD̕!"~p#*7#OF!**"0:":LʗG*7#͉TؑDܑDܑxGx͓D|@L×GYDL,D,͓LͦK:"ƈJ7JʗGؑͦKJ7J*7#͙B:;"2#LʚG:"\ F2$Eo:"ö́\:;"!#ҝ*7#@ʑDʑJIo> ͓Io xD:#ՒxB_W*;"*#͑ ՒͬʔYړ2#x͓ILG Ôƈ*7#*7##OF:#.*;"="#>2#.*#͑ .2#ͬʚYœ̈́xRDHLʣGD\LʣG\͓DlLʣGDx͓ͦKJIHͦKJI\JID„ƈ*7##OF*7#!4+6j-28(I> ͓I*;"*#͑ œƈ*7##OF:;"2#!## 2#ã:":;"!#_*;"*7#@D,> > /͘ͿB*;"}|> > ";"* $|y**"0!~ͻ ͭ**{ozgʎ+" $*0~#"0ʎG;L¦!~LxL*5#p#6"5#`L2Z#|Xʁ!c~p!" $!#:#2#ͪL:;"O:"GJLI:"4x!#:#D(:#7"> |4:#1̈́:;"2#:#=:#E|:#|>|:hh!s * $|>ʲØ* --THE README FILE-- ------------------------ README contains late-breaking news and tips about WordStar, and information about printers. THE DISKS THAT CAME IN YOUR PACKAGE ----------------------------------- The file HOMONYMS.TXT is included on the Speller disk contrary to what is listed in Appendix D. INSTALLATION ------------ WINSTALL and WSCHANGE WordStar has two installation programs: o WINSTALL contains the basic choices to install WordStar. It is recommended for all users. Be sure and install your valid disk drives since WordStar running under CP/M cannot recover from attempts to access non- existent disk drives. o WSCHANGE contains every installation and customization choice. It is designed for advanced users and users who want to customize WordStar after they're familiar with it. Use the menu listing below for a directory of the menus in WSCHANGE. Directory of WSCHANGE Menus The chart below shows the organization of menus in WSCHANGE. Print it out and refer to it as you customize WordStar. Main Installation Menu A Console A Monitor A Monitor selection B Monitor name C Screen sizing B Function keys C Monitor patches A Special characters B Cursor control C Screen control D Keyboard patches A Function keys B Save function keys E Interface patches A Console busy handshaking B Special I/O subroutines B Printer A Printer choices A Printer selection B Printer name C Default printer driver B Printer driver library A Select library file B Create smaller library C Add new printer driver D Change printer driver data C WS printer patches A Custom print controls, printer initialization NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE Controls" option shown. This is not available from this menu. D Printing defaults E Printer interface A Printer port selection B Printer busy handshaking C Printer subroutines C Computer A Disk drives A Valid disk drives B Maximum valid user number C Delay disk access if typing B Operating system A Single-user system B Multi-user MP/M C Multi-user Turbo DOS D ZCPR3 C Memory usage D WordStar files E Directory display F Computer patches D WordStar A Page layout A Page sizing & margins B Headers & footers C Tabs B Editing settings A Edit screen & help level B Typing C Paragraph alignment D Blocks E Erase & unerase F Lines & characters G Find & replace H WordStar 3.3 compatibility I Printing defaults C Other features A Spelling checks B Nondocument mode C Indexing D Shorthand (key macros) E Merge printing F Miscellaneous E Patching A Auto patcher B Save settings C Reset all settings MEMORY USAGE ------------ WordStar requires a minimum TPA size of 50 kbytes to run using the factory defaults. The TPA is the amount of memory available in your computer for use by programs that have a file type of COM. To see how big the TPA is in your computer, press the question mark key (?) at the Opening Menu. The amount of memory required by WordStar can be reduced by approximately 3 kbytes if necessary. Use the WSCHANGE program to select the minimum memory configuration option. The menu will show you what capabilities are being reduced. WordStar uses a general-purpose buffer for a variety of tasks. WordStar allocates memory to this buffer for editing, for merge printing, and at the Opening Menu (see BFSIZE in PATCH.LST). The buffer used for editing is usually the most sensitive to a reduced TPA size. (You may be able to use the Opening Menu and print, but there may be insufficient memory for editing.) The merge print buffer is used only to hold merge print variable names and data. Increase it if you run out of memory while merge printing. The Opening Menu buffer is used primarily to hold the file directory, and for miscellaneous tasks. LOW-MEMORY INDICATOR IN STATUS LINE ----------------------------------- If the Low-Memory indicator appears in the status line, it means that WordStar was unable to complete some function. The most common symptoms are: the line number in the status line is wrong, or a paragraph alignment could not be completed. You may correct the line counter by saving your file, exiting WordStar, and re-loading your file. To correct the paragraph alignment, move your cursor to the point where paragraph alignment stopped, and then press ^B again. The reason this comes up is that WordStar was not able to fit a big enough chunk of text into memory at one time. When you first begin editing, WordStar uses the value from EDSIZE in the user area to determine the minimum amount of memory required for a page of text. The default is set for approximately a 55 line by 66 column page. If your page size is routinely larger than this, you may want to increase EDSIZE. Multiply the number of lines by the number of columns, and divide by 128. If the Low-Memory indicator comes on while printing, it is due to either the same reasons as for editing, or there is insufficient memory to print the text proportionally spaced. The amount of memory required depends on which printer driver you are using. If you aren't using the .PS ON dot command to turn proportional spacing on in your document, low memory won't be a problem. Also, WordStar uses more memory for merge printing than it does for regular printing (around 2.5 kbytes more). The Low-Memory indicator will also appear when a full disk error is encountered during editing. Treat the disk-full error as you would normally. RAM-RESIDENT PROGRAMS --------------------- RAM-resident programs, such as SmartKey, reduce the amount of working memory (TPA) that WordStar can use. The new features in WordStar, such as shorthand, may reduce the need for these RAM-resident programs, thus freeing memory for WordStar. ZCPR3 SUPPORT ------------- In order to enable the ZCPR facilities within WordStar, the user must use the Z3INS utility provided with ZCPR to install the address of the ZCPR "environment" into WordStar. The environment contains information that WordStar uses to support ZCPR-specific functions. Generally, the user should log onto the drive containing the file WS.COM, and issue the command: Z3INS SYS.ENV WS.COM The user should also run either WINSTALL or WSCHANGE to further install WordStar for ZCPR. However, this is not mandatory because the only thing that happens is that the WordStar sign-on says "ZCPR3," and the LGLUSR location in the user area is changed for a maximum user number of 31. (The normal default for LGLUSR is 15.) Once the user has installed WordStar for use with ZCPR, the user will be able to use the following ZCPR features: - A named directory may be used when logging onto a new drive/user. - A named directory may be used instead of a drive/user as part of any file name. - The drive/user always appears above file directories. (For CP/M only the drive letter is shown if the user number is zero.) - The directory name also appears above the directory if one has been defined for the currently logged drive/user. - If WordStar does not find its OVR files on the current drive and user, it will search the drives and user numbers in the ZCPR search path rather than using its standard search pattern. - WordStar installs itself as a ZCPR "shell" process which lets the user enter any legal ZCPR command when running a program. (CP/M can only run programs that are COM files.) OSBORNE USERS ------------- The command to change a hard carriage return to a soft carriage return (document mode) or to turn Auto-indent ON (nondocument mode) does not function on the Osborne because of a limitation in its BIOS. The following patch can be applied to change the command from ^^ to ^- (Ctrl-Hyphen): Using DDT or SID in the file WSMSGS.OVR: At 02DA replace 1E with a 1D At 02EF replace 1E with a 1D At 0359 replace 1E with a 1D At 06B2 replace 1E with a 1D At 06C9 replace 1E with a 1D At the system prompt type SAVE 53 WSMSGS.OVR For more information on how to use SID or DDT, see your CP/M reference guide. As always, be sure and apply the patch to a COPY of the file. INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS ------------------------------------------ Do not remove the Program disk while you are using WordStar. The Printer Driver Library file (WSPRINT.OVR) on the WordStar program disk is much smaller than the Printer Driver Library file contained on the disk labeled PRINTER. Be sure to read the section in "Starting" that discusses the printer library file. RUN A PROGRAM ------------- Once you press R you can type the drive and user number for the program you want to run. You may run only .COM files. CCP commands, such as DIR cannot be used. INDEXING -------- Using StarIndex StarIndex 1.01 works with files created with this release of WordStar. "Can't Use That Printer" Message When WordStar creates an index or table of contents, it uses the printer drivers $INDEX and $TOC. If you created a smaller WSPRINT.OVR file, you may have left these drivers out. To return them to the file, copy the original WSPRINT.OVR file onto your disk. When you create a smaller file again, be sure to save these drivers. See Appendix C in the WordStar manual for a list of other drivers to save. SPELL CHECKING -------------- Dual floppy disk users: Unless you have sufficient room on your working WordStar program disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and MAINDICT.CMP you will not be able to run a spell check from the Opening Menu. You will need to exit WordStar and replace the working WordStar program disk with the dictionary disk you created during installation. This disk should contain the files listed above. Make sure the disk in drive B has the file you want to spell-check. Follow the directions for running a spell check in The WORD Plus manual. UPGRADING FROM A PREVIOUS RELEASE --------------------------------- This release of WordStar contains many new features and commands. See the "What's New" booklet for a complete list. The following changes came in too late to be included in the documentation. Printer Patches Previous versions of WordStar treat most dot matrix printers and other non-daisy wheel printers as a DRAFT printer with a few patchable items. Because of this, many users have used these patches to be able to use certain features of their printers. Sometimes the patches have been quite extensive, and some users have many files that count on them. The printer drivers of WordStar Release 4, on the other hand, are very powerful. Almost every driver recognizes all the print controls and all the dot commands. In fact, if a document is written to be printed on one kind of printer, it is likely that it will also print fine on some other printer. However, if you want to use your existing files with WordStar 4, and those files rely on the user area being patched in a special way, you can probably do so by moving the patches into WordStar 4, and using the CUSTOM or SIMPLE printer driver. On the INSTALL disk is a program called MOVEPRN.COM that copies the printer driver portion of the previous release's user area into files that can be installed into Release 4 with the "auto patcher" feature. Copy the program MOVEPRN.COM onto the disk containing the WS.COM file for the previous version. Type MOVEPRN WS.COM FILE1.PAT FILE2.PAT MOVEPRN extracts the proper portions of the user area and writes them into two files that may then be used with the "auto patcher" feature of WSCHANGE. FILE1.PAT is to be used with the general patching menu (Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto Patcher"). FILE2.PAT should be used to install strings first into the SIMPLE driver, and then into the CUSTOM driver (choose B "Printer" on the WSCHANGE Main Menu, then B "Printer driver library", D "Change printer driver data" and D "Driver auto patcher"). Test print your document first with the SIMPLE driver, and then with the CUSTOM driver to see which one produces the most satisfactory results. Also read Appendix C for more information on using the Auto Patcher. Hanging Indents For WordStar Professional Release 4, MailMerge reformats indented text created with ^OG to the current margins. If you want the text to remain indented, use embedded ruler lines or the .RM, .LM, and .PM commands. See the "Reference Guide" for more information. Pressing ^OG to wrap back to the first tab on the ruler line after having reached the last tab works the same way it did in previous versions of WordStar, contrary to what is stated in the manual. TERMINALS --------- WordStar comes installed for an "idealized" special terminal. WINSTALL and WSCHANGE allow you to install many terminals by name, thus allowing WordStar to take advantage of the special features that the terminal might support, such as underlining or the function keys. Use either WINSTALL or WSCHANGE to pick your specific terminal or computer screen from the Monitor menu. If your terminal isn't on the menu, it probably emulates one of those that is there. Look in your terminal documentation to find out. After you install WordStar for the proper terminal, run WordStar and open the file PRINT.TST to see which attributes (such as bold and underline) work on your screen. WordStar will highlight the following in some way... Bold (^PB) Underline (^PS) Strike-out (^PX) Subscript (^PV) Superscript (^PT) Doublestrike (^PD) Italics (^PY) Blocks (^KB, ^KK) Error messages Most of the time, normal text will be shown in dim intensity, and highlighted text will be shown in bright intensity. You may have to use a brightness and/or contrast knob to adjust your screen the first time you use WordStar this way. If your dim intensity is too dim to see well, and you can't adjust it, you can change the BRITE flag to ON using WSCHANGE. This will invert bright and dim in your text, so that regular text is displayed bright, and highlighted text will be displayed as dim. However, text in the menus is not affected. DISPLAY PROBLEMS WITH TERMINALS ------------------------------- Once you have installed WordStar for the proper terminal, you may still experience display problems. If text from the previous screen remains after WordStar displays a new screenful of text, the most likely cause is cursor wrap. Basically, WordStar must know what happens to the cursor when a character is displayed at the rightmost position of the screen. It can either remain at the right edge, or it can wrap to the beginning of the next line. The WRAP flag in WordStar must be set either on or off to correspond to the way the terminal works. (It is generally set for the terminal's factory default, but the default can usually be changed using the terminal's setup mode.) Another possible cause for display problems is your terminal's incomplete emulation of some other terminal. The most common differences are... Line insert (LININS), line delete (LINDEL), Erase to end of screen (ERAEOS), Erase to end of line (ERAEOL), And, erase screen (ERASCR). Look in the manual for your terminal and use WSCHANGE to see if the control sequences match. PRINTERS -------- WHAT'S IN THIS SECTION This section contains the following information: Choosing a Printer Setting Up Your Printer Printer Drivers Proportional Printing Laser Printers Information on Specific Printers CHOOSING A PRINTER WordStar is ready to work with over 100 printers. The printer you choose during installation becomes your default printer. However, when you print a document, you can choose any other printer. To choose a default printer, follow these steps: 1. Look at the Printer Information brochure that came in your package. The first chart shows the printers listed on the Printer Selection Menus. If your printer is on the menu, simply choose it during installation. 2. If your printer isn't listed on the menu, it may work like a printer that is. Refer to the second chart in the Printer Information brochure for a list of printers that work like printers on the menu. When WordStar asks you to choose a printer, choose the printer that works like yours. 3. If neither chart lists your printer, choose Typewriter Printer (if your printer can backspace) or Draft Printer (if it can't). These choices may not take advantage of all your printer's features, but they will work with almost any printer. Note: If you choose Draft or Typewriter, you can modify custom print controls and printer initialization. If you want to make more modifications to take advantage of your printer's feature, choose the Custom or Simple drivers, then use the WS Printer Patches section of WSCHANGE to tell WordStar the codes for your printer. Refer to your printer manual for these codes. Some printers work better with the Custom driver and some with the Simple driver. Try using both and see which works better with your printer. See the "Reference Guide" for more information. SETTING UP YOUR PRINTER Choosing a Printer Port Each printer is connected to a printer port at the back of the computer. WordStar looks for printers on the LST: port. If your printer is connected to a different port, use WSCHANGE to tell WordStar the correct port. Testing Your Printer Connection At the operating system prompt, type "PIP LST:=READ.ME." This file should be printed by your printer. If it is not, your printer may be connected to a different port. See your computer reference manual, and the section on the STAT command in your CP/M reference manual for more information. PRINTER DRIVERS The WSPRINT.OVR file on the Printers disk contains a printer driver for each printer on the Printer Selection Menu. The printer driver for a printer contains all the codes WordStar needs to work with that printer. Each printer driver has a short name. If you choose a printer when you print a document, you see the names of the printer drivers, not the names of the printers. PROPORTIONAL PRINTING WordStar supports proportional printing on a number of printers. To turn on proportional printing, either install WordStar to default to proportional printing, or place a ".PS on" command in your document. At print time, WordStar selects the appropriate proportional font based on the character width (.CW) currently in effect. The specific printer descriptions later in this section show recommended character widths for proportional typefaces. These widths are for a normal mix of upper- and lowercase letters. If you have many words or phrases all in uppercase or if you want your text less densely printed, choose a larger character width. While WordStar mostly sets character widths based on the proportional-width table in the driver, on the more advanced daisy wheel printers, WordStar uses the printer's proportional- spacing mode. WordStar determines how much white space is needed to right-justify the line based on its own proportional width tables. If the table values don't match the wheel installed, WordStar won't be able to justify the line correctly. WordStar sends standard ASCII characters; if a proportional wheel uses a different spoke mapping, set up the printer to handle this. LASER PRINTERS WordStar supports laser printer features such as font changes and proportional spacing. WordStar supports several laser printers: the Canon LPB-8 A1 & A2; the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; and the Ricoh LP4080. Refer to the "Specific Printer Information" section of this file for information on these printers. General notes about using laser printers are given below. Paper Size and Margins Laser printers come with preset page margins. You need to compensate for these margins by changing page length in your WordStar documents. The chart below shows the recommended settings for 8 1/2 X 11 inch paper for both portrait and landscape orientations. These settings allow 55 lines of text for portrait orientation and 40 lines of text for landscape orientation (at 6 lines per inch). They also allow for a footer of up to 3 lines and a one-line header. If you use multiple-line headers, adjust the top margin accordingly. Dot Default Portrait Landscape Setting Command Value Orientation Orientation ------- ------- ------- ----------- ----------- page length .PL 66 62 47 top margin .MT 3 2 2 bottom margin .MB 8 5 5 header margin .HM 2 1 1 footer margin .FM 2 2 2 If the laser printer is your primary printer, you can use WSCHANGE to make these settings the defaults. Because laser printers leave small margins at the left and right sides of the page, you may want to use a smaller page offset setting (the default is .PO 8). Form Feeds When you print with a laser printer, answer Y for yes to the "Use form feeds (Y/N)?" prompt at print time. (The default is NO.) If the laser printer is your primary printer, you can use WSCHANGE to change the default to yes. WordStar Commands for Font Selection The WordStar dot commands and print control commands listed below determine the fonts used for printing a document. .PR .PR OR=L selects landscape orientation; .PR OR=P (or just .PR OR) selects portrait orientation (the default). If either of these commands appears after the first printing line on a page, the orientation will not change until the following page. .PS .PS ON selects proportionally spaced characters; .PS OFF (the default) selects fixed-spaced characters. .CW The character-width setting (.CW followed by the width in 120ths of an inch) determines the character pitch and font selected for fixed-width printing. For proportional fonts, it determines the point size and proportional-width table selected. .LQ .LQ ON selects near letter quality print (if supported by your printer). LQ OFF selects draft quality print. Default is ON. ^PY The italic print control toggles between normal and italic characters when the appropriate italic font is available. ^PB The boldface print control toggles between normal and bold characters when the appropriate bold font is available. ^PD The double strike print control used with the laser printers toggles overprinting with a horizontal offset of 1/120" between the two character images. This allows a bold effect where no bold font is available. ^PA ^PA turns alternate pitch on. Use .CW to assign different character widths to normal pitch (see ^PN below) and alternate pitch so that each pitch accesses a different font. You can then change fonts by switching between the two pitches. This is the only way to use two fonts on the same line. (See "Character width" and "Pitch" in the "Reference Guide.") ^PN ^PN turns normal pitch on. You can use it with ^PA as described above. ^P@ When working with columns, if you use alternate and normal pitch for two fonts, or if you use proportional spacing, you may need to use ^P@ to make sure the columns line up. Remember that the column position set with ^P@ is determined by the normal pitch character width. (See "Columns" and "Proportional spacing" in the "Reference Guide." INFORMATION ON SPECIFIC PRINTERS This section describes the capabilities of each printer listed on the Printer Selection Menu. The printers are listed in alphabetical order (except for the generic printers such as "Draft," "Typewriter," "Custom," "Simple," and the various print-to-disk options, which are listed first). There is a chart for each printer explaining how features work and listing any special notes about the printer. Each printer is described in the following format: PRINTER NAME ----- Driver: (short name) ^PY Effect of italics/ribbon color print control ^PT/V Subscript/superscript information .CW Information on available character widths and fonts. The chart shows the .CW, .LQ, and .PS settings required to use different fonts. .LQ OFF .LQ ON .PS ON Font Name ------- ------ ------ --------- .cw val .cw val recommended value (range) font 1 .cw val .cw val recommended value (range) font 2 .UL Continuous-underline information (if restrictions) .UJ Microspace-justification information (if restrictions) N/A means a command has no effect on this printer. NOTES Switch settings, special features, anomalies. DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT ^PD Overprints the line twice ^PB Overprints the line three times ^PS Overprints the underscore character in a separate pass ^PT/V Prints super/subscripts with a full line between super/subscript and text .LH Sets line height only in multiples of full lines .CW N/A .PS N/A .LQ N/A .UJ N/A NOTES This driver works with any printer that doesn't automatically perform a line feed when it receives a carriage return command. All overprinting is done by returning the carriage and passing over the line again. TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR ^PD Backspaces and overprints each character twice ^PB Backspaces and overprints each character three times ^PS Backspaces and overprints the underscore character ^PT/V Prints super/subscripts with a full line between super/subscript and text .LH Sets line height only in multiples of full lines .CW N/A .PS N/A .LQ N/A .UJ N/A NOTES This driver works with any printer that doesn't automatically perform a line feed when a it receives a carriage return command, and responds to a backspace character. Overprinting is done by backspacing. AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF ^PD Backspaces and overprints each character twice ^PB Backspaces and overprints each character three times ^PS Backspaces and overprints the underscore character ^PT/V Prints super/subscripts with a full line between super/subscript and text .LH Sets line height only in multiples of full lines .CW N/A .PS N/A .LQ N/A .UJ N/A NOTES This driver works with any printer that automatically performs a line feed when it receives a carriage return character, and responds to a backspace command. Overprinting is done by backspacing. SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ Controlled by user area strings .PS Controlled by user area strings .CW N/A .UJ N/A .LH N/A NOTES This printer driver prints the line in one pass, sending control strings from the user area to select print enhancements. CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ ON/OFF controlled by user area strings .PS ON/OFF controlled by user area strings .LH Sets line height only in multiples of full lines .UJ N/A .CW N/A NOTES This driver prints the line in multiple passes, sending control strings from the user area to select print enhancements. PREVIEW TO DISK ----- Driver: PRVIEW This driver prints documents to the PREVIEW.WS file to allow you to preview the format and appearance of a document before printing. Headers, footers, and pagination are shown correctly and print controls remain in the file to display onscreen attributes. Dot commands are not printed. PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII This driver prints to the ASCII.WS file, stripping headers and footers, high bits, and print controls. PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT This driver prints to the XTRACT.WS disk file, stripping headers and footers, but preserving high bits and print controls. ANADEX 9500A, 9500B ----- Driver: 9500 ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 9 13.3 cpi 10 12 cpi 12 10 cpi 18 6.7 cpi 20 6 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 7 16.7 cpi 8 15 cpi 10 12.5 cpi 12 10 cpi 14 8.3 cpi 16 7.5 cpi 20 6.2 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 ^PY N/A ^PT/V Prints full-size characters with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification C. ITOH F10 STARWRITER ----- Driver: QUME See Diablo 630, 1610, 1620 Daisy Wheel. Note: Proportional printing was tested with a Theme 10 wheel. CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll .PS .PS .CW OFF ON Font Name --- -- --------- 6 - 20 cpi 8 - 15 cpi 9 - 13.3 cpi 10 - 12 cpi (elite) 12 - 10 cpi 20 - 6 cpi 24 - 5 cpi 16 - 7.5 cpi - 7 (0-8) Garland 8 point - 10 (9-11) Garland 12 point - 14 (12-17) Expanded 8 point - 20 (18-30) Expanded 12 point .LQ N/A .PL For 11 inch paper, a value of 62 is recommended .PR OR "=Landscape" or "=Portrait" to select orientation NOTES Answer yes to the "Use form feeds" prompt. This driver is configured to select all the built-in fonts in the LBP8, as well as fixed pitch cartridges and the Garland PS cartridge. Other proportional cartridges require modifying the proportional spacing tables with WSCHANGE. For more information on laser printers, see the "Laser Printers" section above. CITIZEN MSP ----- Driver: CITMSP ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48 resolution. .PS N/A .UJ Microjustification slows printing. Continuous underlining suppresses microjustification. DATAPRODUCTS PAPER TIGER SPG-8050 & SPG-8070 ----- Driver: SP8050 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, prints full-size .LQ .LQ .PS .CW ON OFF ON Font name --- --- --- --------- 7 7 5 (0-6) condensed 10 10 8 (7-8) elite 12 12 10 (9-13) pica 14 14 - expanded condensed 20 20 16 (14-17) expanded elite 24 24 20 (18-30) expanded pica DIABLO 630, 1610, 1620 DAISY WHEEL ----- Driver: DIABLO ^PY Selects red/black ribbon color ^PT/V Prints super/subscripts in separate pass with specified roll .CW Supports any value from 0 to 30. Usual fixed pitch values are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). .BP ON selects bidirectional printing; OFF selects left-to-right printing .LQ N/A .UL Continuous underlining does not suppresses microspace justification. Continuous underlining may be irregular. .PS ON selects proportional spacing; OFF selects fixed pitch spacing. If a proportional print wheel has a non-standard spoke pattern, configure the printer to translate spoke position into the appropriate character. This driver explicitly positions each character when proportional spacing is selected. NOTES The proportional spacing tables are set up for a Diablo metal 96 character BOLD PS wheel. DIABLO 630 DAISY WHEEL WITH WP OPTIONS ----- Driver: 630WP ^PY Selects red/black ribbon color ^PT/V Prints super/subscripts in separate pass with specified roll .CW Supports any value from 0 to 30. Usual fixed pitch values are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). .LQ N/A .UL Continuous underlining does not affect microspace justifi- cation .PS ON selects proportional spacing; OFF selects fixed pitch spacing. If a proportional print wheel has a non-standard spoke pattern, configure the printer to translate spoke position into the appropriate character. This driver sends codes to the printer to turn proportional spacing on and off, and the printer controls character to character spacing. NOTES The proportional spacing tables are set up for a Diablo metal 96 character BOLD PS wheel. DIABLO 630 DAISY WHEEL, EXTENDED CHARACTER SET ----- Driver: 630ECS ^PY N/A ^PT/V Prints super/subscripts in separate pass with specified roll .CW Supports any value from 0 to 30. Usual fixed pitch values are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). .LQ N/A .UL Continuous underlining does not affect microspace justifi- cation .PS ON selects proportional spacing; OFF selects fixed pitch spacing. If a proportional print wheel has a non-standard spoke pattern, configure the printer to translate spoke position into the appropriate character. This driver sends codes to the printer to turn proportional spacing on and off, and the printer controls character to character spacing. NOTES The proportional spacing tables have been set up for a Diablo metal 96 character BOLD PS wheel. DIABLO C150 & C200 COLOR JET PRINTERS ----- Driver: C150 ^PY Selects red/black ink .CW 10 characters per inch only .LH 1/30" resolution .PS N/A .LQ N/A EPSON FX-80 AND FX-100 ----- Driver: FX80 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. EPSON FX-85, FX-185 AND FX-286 ----- Driver: FX85 ^PY Selects draft quality italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 6 - - compressed elite 7 - - compressed 10 - - elite 12 12 11 (10-13) courier 14 - - expanded compressed 20 - - expanded elite 24 24 22 (20-30) expanded courier .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. .UJ must be on for proportional text to be right-justified. EPSON LQ-800 AND LQ-1000 ----- Driver: LQ800 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- - - - compressed script 6 6 - compressed elite 7 7 6 (0-7) compressed 8 - subscript 15 cpi 10 10 - elite 12 12 10 (8-16) pica 14 14 - expanded compressed 16 - expanded script 20 20 - expanded elite 24 24 - expanded courier EPSON LQ-1500, VERSION 2.0 ----- Driver: LQ1500 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed 10 10 - elite - - 8 (1-9) subscript 15 cpi 12 12 11 (10-13) courier 14 - - expanded compressed - - 15 (14-18) expanded script 20 20 - expanded elite 24 24 20 (19-30) expanded courier .UL Continuous underlining suppresses microspace justification. In proportional fonts, continuous underlining may appear broken between words. NOTES If you have an older LQ-1500 (firmware version 1.8), your printer will have horizontal position registration problems. For best results, contact your printer dealer about a ROM upgrade. EPSON LX-80 - Driver: LX80 ^PY Selects draft mode italics ^PT/V Prints half height if .SR 0, else full height with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 - elite 12 12 courier 14 - expanded compressed 20 - expanded elite 24 24 expanded courier .LH Use even values. Driver operates at 2/48" resolution. .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. EPSON MX-80 AND MX-100 WITH GRAFTRAX+ EPSON MX-80 III AND MX-100 III ----- Driver: MX80 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 12 pica 14 expanded compressed 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. NOTES Older MX-80 and MX-100 printers don't have graphics mode (for fine horizontal spacing), variable line height setting, printer controlled underlining, or printer controlled super/subscripts. If you have one of these printers, use the DRAFT driver, or adapt the CUSTOM or SIMPLE driver to your needs. EPSON RX-80 AND RX-100 ----- Driver: RX80 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. HEWLETT-PACKARD LASERJET PRINTERS The following information applies to the LaserJet, the LaserJet+, and the LaserJet 500+. For general information on laser printers, see the "Laser Printers" section above. The LaserJet Fonts The LaserJet has three different types of fonts: - The "internal" fonts that came with the printer - Plug-in cartridges - Soft fonts that must be downloaded through your computer. (Only the LaserJet+ and LaserJet 500+ can use downloaded fonts.) The fonts available in your LaserJet depend on which cartridge you have installed and which fonts you have downloaded. Font Installation Internal Fonts: The fonts that came with your printer are already in memory and ready to use. Different LaserJet models come with different sets of internal fonts. Cartridges: Cartridges containing a variety of character fonts can be inserted into any LaserJet model. See your printer manual for instructions. The font selection guidelines in the sections below contain information about specific cartridges. The letter that identifies your cartridge is on the front label, directly following the number 92286. For example, the Y cartridge is labeled 92286Y. Soft fonts: Soft, or downloadable, fonts are supplied on disk. These fonts are not explicitly supported by WordStar. LaserJet Font Selection Each LaserJet font has several characteristics associated with it. When a printer driver specifies font characteristics to the LaserJet, the LaserJet searches its available fonts for the best match to the characteristics requested. The following table describes these characteristics, in the order in which the LaserJet evaluates them when selecting a font. Characteristic WordStar Control -------------- ----------------- * Orientation (portrait or landscape) .PR OR=P/L * Symbol Set (Roman-8, USASCII, Printer driver Line Draw, etc.) * Proportional or fixed spacing .PS ON/OFF * Print pitch (fixed-width fonts) .CW * Character height (point size) .CW * Character style (upright or italic) ^PY * Stroke weight (light, medium, bold) ^PB Note that symbol set is high in the list of characteristics: make sure that the driver you select is compatible with the symbol set of your cartridge or downloaded fonts. The symbol sets used by each driver are listed in the table in the next section. For example, if your cartridge has the USASCII Symbol Set, you can't use the HPLJ:U driver because it uses only the Roman-8 Symbol Set. LaserJet Printer Drivers WordStar provides two printer drivers for use with different LaserJet font cartridges. Each of these drivers lets you print with several of the available fonts. You can use any of these drivers with the LaserJet, LaserJet+, or LaserJet 500+, depending on the cartridge. Refer to the table below to see which driver works best for you. The table lists the following information for each driver: o The symbol sets used for fixed and proportional spacing These must correspond to the symbol sets on the installed fonts you want to use. The "Default" symbol set refers to the one the LaserJet defaults to. o The proportional-spacing tables used by the driver These tables are part of the LaserJet's method of proportional spacing. The tables determine the width of each character in a proportionally spaced font. The fonts corresponding to these tables are used if available. If the corresponding font is not installed, the table is still used, and the closest available font is used. This may cause the spacing to appear too tight or too loose. In this column, the number is the point size, R stands for regular, B stands for bold, and I stands for italics (the LaserJet has separate tables for each of these). o The font cartridges that work best with the symbol sets and tables used by the driver The cartridges listed are the only ones directly supported for use with WordStar. If your cartridge is not listed, you may still be able to use it. Look at the font information below and try the most compatible driver. You may need to try different dot command settings or another driver. The HPLJET is the most "general purpose" driver, so if you're not sure which driver to use, try it first. Fixed-width Proportional Proportional Downloaded Driver Symbol Set Symbol Set Tables Fonts/Cartridges ------ ----------- ------------ ------------- ---------------- HPLJET Default Default TmsRmn 8R, F, P, most fixed 10R,10B,10I Helv 14B HPLJ:B Default USASCII TmsRmn 8R, B 10R,10B,10I Helv 14B HPLJ:U Roman-8, Roman-8 Helv 6R,8R, U, V Line Draw 10R,12R,14R HPLJ:Y PCSET1 USASCII TmsRmn Y, AC PCSET2 6,8,10,12,14 (all in R,B,I) 18B,24B,30B HPL:AD Roman-8, Roman-8 TmsRmn AD Line Draw 6,8,10,12,14 (all in R,B,I) 18B,24B,30B The printer driver charts below show the actual fonts that print with each printer driver and the recommended font cartridges. The charts show the fonts used for both fixed and proportional spacing and for different character width (.CW) settings. The recommended .CW settings are shown first. The settings in parentheses select the same font, but the spacing of characters within a line may appear tighter or looser. After the name of each font, the charts note whether regular (R), bold (B), and italic (I) fonts are available. If a bold font is not available, you can use the ^PD (double strike) command to get a boldface effect. The last column shows whether you can print in landscape (chosen in WordStar with .PR OR=L) as well as portrait orientation. To use a particular font, choose the settings listed. For example, to use the Times Roman 8 font with the HPLJET printer driver, insert the F cartridge, turn .PS on and set character width to .CW 7. HP LASERJET, LASERJET+ (F cartridge and others) ----- Driver: HPLJET ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll Cartridge/ Soft font .PS .CW Font/Point Size R B I Landscape --------- --- -------- --------------- - - - --------- F on 7 (0-7) Times Roman 8 x 9 (8-11) Times Roman 10 x x x 13 (12-30) Helvetica 14 x off 7 (0-11) Line Printer 8.5 x 12 (12-30) Courier 12 x x P on 9 (0-30) Times Roman 10 x x x x off 7 (0-11) Line Printer 8.5 x 12 (12-30) Courier 12 x x (0-30) The following fixed pitch fonts may be available depending on your cartridge. (Note that these are measure by pitch, not by point size.): .CW Font Name --- --------- 7 16.7 pitch 10 12 pitch 12 10 pitch 15 8.1 pitch 18 6.5 pitch 21 5.8 pitch 27 4.5 pitch .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver has proportional spacing tables for all fonts in the F and P cartridges. It should also work with many fixed width cartridges. .p HP LASERJET, LASERJET+ (B cartridge) ----- Driver: HPLJ:B ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll Cartridge/ Soft font .PS .CW Font/Point Size R B I Landscape --------- --- -------- --------------- - - - --------- B on 7 (0-7) Times Roman 8 x 9 (8-11) Times Roman 10 x x x 13 (12-30) Helvetica 14 x off 7 (0-11) Line Printer 8.5* x x 12 (12-30) Courier 12 x x * Line printer 8.5 is not available in portrait mode unless the LaserJet+ is used. .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver has proportional spacing tables for all fonts in the B cartridge. .p HP LASERJET, LASERJET+ (U and V cartridges) ----- Driver: HPLJ:U ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll Cartridge/ Soft font .PS .CW Font/Point Size R B I Landscape --------- --- -------- --------------- - - - --------- U on 5 (0-5) Helvetica 6 x 7 (6-7) Helvetica 8 x 9 (8-9) Helvetica 10 x 11 (10-11) Helvetica 12 x 13 (12-30) Helvetica 14 x off 7 (0-11) Letter Gothic 9.5 x 12 (12-30) Courier 12 x x (0-30) V on 5 (0-5) Helvetica 6 x landscape only* 7 (6-7) Helvetica 8 x "* 9 (8-9) Helvetica 10 x "* 11 (10-11) Helvetica 12 x "* 13 (12-30) Helvetica 14 x "* off 7 (0-11) Letter Gothic 9.5 x ** 12 (12-30) Courier 12 x * No proportional font is available in portrait orientation. ** With fixed spacing, in portrait orientation, .CW7 (0-11) produces Line Printer 8.5 on the LaserJet+ and Courier 12 on the LaserJet. .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver has proportional spacing tables for all fonts in the U and V cartridges. .p HP LASERJET, LASERJET+ (Y cartridge, AC TmsRmn) ----- Driver: HPLJ:Y ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll Cartridge/ Soft font .PS .CW Font/Point Size R B I Landscape --------- --- -------- --------------- - - - --------- Y on none available off 7 (0-11) Line Printer 8.5 x x 12 (12-30) PC Courier 12 x x x AC* on 5 (0-5) Times Roman 6 x x x x 7 (6-7) Times Roman 8 x x x x 9 (8-9) Times Roman 10 x x x x 11 (10-11) Times Roman 12 x x x x 13 (12-14) Times Roman 14 x x x x 16 (15-18) Times Roman 18 x x 20 (19-24) Times Roman 24 x x 25 (25-30) Times Roman 30 x x off 7 (0-11) Line Printer 8.5 x x (0-30) 12 (12-30) Courier 12 x * Other .CW settings may access additional fonts if a cartridge is also installed. .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver is for use with the Y cartridge, which provides an IBM PC compatible symbol set. In addition, this driver has complete proportional spacing tables for the AC set of downloadable TmsRmn fonts. .p HP LASERJET, LASERJET+ (AD TmsRmn) ----- Driver: HPL:AD ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll Cartridge/ Soft font .PS .CW Font/Point Size R B I Landscape --------- --- -------- --------------- - - - --------- AD* on 5 (0-5) Times Roman 6 x x x x 7 (6-7) Times Roman 8 x x x x 9 (8-9) Times Roman 10 x x x x 11 (10-11) Times Roman 12 x x x x 13 (12-14) Times Roman 14 x x x x 16 (15-18) Times Roman 18 x x 20 (19-24) Times Roman 24 x x 25 (25-30) Times Roman 30 x x off 7 (0-11) Line Printer 8.5 x 12 (12-30) Courier 12 x x (0-30) The following fixed pitch fonts may be available depending on your cartridge. (Note that these are measure by pitch, not by point size.): .CW Font Name --- --------- 7 16.7 pitch 10 12 pitch 12 10 pitch 15 8.1 pitch 18 6.5 pitch 21 5.8 pitch 27 4.5 pitch .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver is for use with the AD TmsRmn downloaded fonts, and for a ROMAN8 or ROMAN8+LINEDRAW fixed width font cartridge. The driver includes complete proportional spacing tables for the AD set of downloadable TmsRmn fonts. HP THINKJET, IBM mode ----- Driver: HPTJI ^PY N/A ^PT/V Prints full-size characters with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is ON. NOTES This printer does not have a true 10 pitch font, so character widths are not exact, and ^P@ does not align exactly with text. Because the printer has an automatic page offset, set the WordStar page offset to zero. IBM COLOR PRINTER 5182 ----- Driver: IBMCLR ^PY Selects red/black ribbon color ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .PS .CW OFF ON ON Font Name --- --- -------- --------- 7 7 5 (0-6) compressed 10 10 8 (7-8) elite 12 12 10 (9-13) pica 14 14 - expanded compressed 20 20 15 (14-16) expanded elite 24 24 20 (17-30) expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ Has same effect as ^PD .UL Underlining may be irregular with microspace justification on .UJ Microspace justification slows printing. Default is OFF. IBM GRAPHICS PRINTER 5152 ----- Driver: IBMGR ^PY N/A ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 12 pica 14 expanded compressed 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. IBM PROPRINTER 4201 ----- Driver: IBMPRO ^PY N/A ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 7 compressed 10 10 elite 12 12 pica 14 14 expanded compressed 20 20 expanded elite 24 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .PS N/A .LQ Has same effect as ^PD .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. NOTES If you have a Proprinter XL, you can use WSCHANGE to patch in the extra features. IBM QUIETWRITER 5201 ----- Driver: IBMQUI ^PY Toggles between A and * font cartridge. Set character width to match cartridge in use. (A cartridge uses current ^PN character width; * cartridge uses ^PA character width.) ^PT/V Prints full-size characters with roll .CW Selects character width. Character width must correspond to the cartridge being used. .LQ N/A .PS ON selects proportional spacing, OFF selects fixed pitch spacing IBM WHEELPRINTER 5216 ----- Driver: IBMWP ^PY N/A ^PT/V Printer determined roll if .SR 0 .CW Selects character spacing. Any value from 0 to 30 is supported. Usual fixed pitch values are 8 (15 characters per inch), 10 (12 cpi) and 12 (10 cpi). .LQ N/A .UL Continuous underlining does not affect microjustification .PS ON selects proportional spacing, OFF selects fixed pitch. This driver sends codes to the printer to turn proportional spacing on and off, and the printer controls character to character spacing. NOTES The proportional spacing tables are set up for an IBM BOLD PS wheel. IBM WHEELPRINTER 5223 E ----- Driver: IBMWPE ^PY N/A ^PT/V Printer determined roll if .SR 0 .CW Selects character spacing. Any value from 0 to 30 is supported. Usual fixed pitch values are 8 (15 characters per inch), 10 (12 cpi) and 12 (10 cpi). .LQ N/A .UL Continuous underlining does not affect microjustification. Continuous underlining will be somewhat irregular. .PS ON selects proportional spacing, OFF selects fixed pitch. This driver will send codes to the printer to turn propor- tional spacing on and off, and the printer will control character to character spacing. NOTES The proportional spacing tables are set up for an IBM BOLD PS wheel. MANNESMANN TALLY MT-160L ----- Driver: MT160L ^PY N/A ^PT/V Prints full-size characters with specified even roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 6 - compressed elite 7 - compressed 10 10 elite 12 12 pica 14 - expanded compressed 20 - expanded elite 24 - expanded pica .LH Use even values. Driver operates at 2/48" resolution. .UJ N/A NOTES This printer is not capable of incremental horizontal positioning. As a result, microspace justification is not possible. In addition, when changing character widths, characters may not align to closer than one full character width. Also, page offsets smaller than a character will not work. MPI PRINTMATE 99 & 350 ----- Driver: MPI99 ^PY N/A ^PT/V Even superscript roll .LQ .LQ .CW OFF ON Font name --- --- --------- 7 - 17.1 cpi 10 - 12 cpi 12 12 10 cpi 14 - 8.5 cpi 20 - 6 cpi 24 24 5 cpi .LH 1/24" resolution, use even values .PS N/A .UJ N/A NEC PINWRITER P2-3, P2-6, P3-3, P6-6 ----- Driver: NECP2I ^PY N/A ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 10 elite 12 12 pica 14 - expanded compressed 20 20 expanded elite 24 24 expanded pica .PS N/A .UL Continuous underline suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. NOTES Page offsets smaller than the character width in effect are not supported. Make sure switch 5 on the printer is off. NEC PINWRITER P5XL, P6, P7 ----- Driver: NECP5 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 6 6 - compressed elite 7 7 6 (0-8) compressed 8 8 - subscript 15 cpi 10 10 - elite 12 12 10 (9-17) pica 14 14 - expanded compressed 16 16 - expanded script 20 20 - expanded elite 24 24 20 (18-26) expanded courier 30 30 30 (27-30) triple elite NEC SPINWRITER 2000R, 3500R NEC SPINWRITER 2010, 3510, 7710 NEC SPINWRITER 2030, 3530, 7730 ----- Driver: SPINWR See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. Proportional spacing is not supported on the 2010 and 2030. NEC SPINWRITER 2015, 3515, 7715 ----- Driver: DIABLO See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. This printer does not respond correctly to the phantom blank and phantom rubout characters, and may lose horizontal alignment if they are included in your document. Proportional spacing is not supported on the 2015. NEC SPINWRITER 2050, 3550, 8850 ----- Driver: SPIN50 See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. Proportional spacing is not supported on the 2050. OKIDATA MICROLINE 84 STEP 2, STANDARD ----- Driver: ML84 ^PY N/A ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 7 compressed 10 10 elite 12 12 pica 14 14 expanded compressed 20 20 expanded elite 24 24 expanded pica .PS N/A .UJ In draft mode (.LQ OFF), this printer is not capable of microspace justification. Different character widths may not line up correctly. NOTES Page offsets smaller than the character width in effect are not supported. OKIDATA MICROLINE 92 AND 93, STANDARD ----- Driver: ML92 ^PY N/A ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 compressed 10 10 elite 12 12 pica 14 expanded compressed 20 20 expanded elite 24 24 expanded pica .PS N/A .UJ In draft mode (.LQ OFF), this printer is not capable of microspace justification. Different character widths may not line up correctly. NOTES Page offsets smaller than the character width in effect are not supported. OKIDATA MICROLINE 84, 92, 93, IBM PLUG & PLAY ----- Driver: ML92I ^PY N/A ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 compressed 12 12 pica 14 expanded compressed 24 24 expanded pica .PS N/A .UJ In draft mode (.LQ OFF), this printer is not capable of microspace justification. Different character widths may not line up correctly. NOTES Page offsets smaller than the character width in effect are not supported. OKIDATA MICROLINE 182, STANDARD ----- Driver: ML182 OKIDATA MICROLINE 182, IBM ML182I ^PY N/A ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 10 elite 12 12 pica 14 - expanded compressed 20 20 expanded elite 24 24 expanded pica NOTES This printer is not capable of incremental horizontal positioning, so microspace justification is not possible. In addition, when changing character widths, characters may not align to closer than one full character width. Also, page offsets smaller than a character do not work. OKIDATA MICROLINE 192, STANDARD ----- Driver: ML192 OKIDATA MICROLINE 192, IBM ML192I ^PY Selects draft mode italics. No half height italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed 10 10 9 (9-10) elite 12 12 11 (11-17) pica 14 - - expanded compressed 20 20 18 (18-20) expanded elite 24 24 22 (21-30) expanded pica NOTES This printer does not have control strings to select proportional and fixed pitch printing. This choice can only be made through the printer's own menu functions. For reasonable results, make sure that your document and printer are both fixed pitch or both proportional. OKIDATA MICROLINE 292, STANDARD ----- Driver: ML292 OKIDATA MICROLINE 292, IBM ML292I ^PY Selects italics. No half height italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 7 7 (6-8) compressed 10 10 9 (9-10) elite 12 12 11 (11-12) pica 14 14 13 (13-17) expanded compressed 20 20 18 (18-20) expanded elite 24 24 22 (21-30) expanded pica NOTES This printer does not have control strings to select proportional and fixed pitch printing. This choice can only be made through the printer's own menu functions. For reasonable results, make sure that your document and printer are both fixed pitch or both proportional. OKIDATA PACEMARK 2410, STANDARD ----- Driver: PM2410 ^PY N/A ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 10 elite 12 12 pica 14 - expanded compressed 20 20 expanded elite 24 24 expanded pica .UJ Compressed and expanded compressed characters will not be microspace justified. Also, they may not align perfectly with other character widths. NOTES If you have the IBM-compatible printer, do not use this installation. Instead, choose the IBM Graphics Printer. PANASONIC KX-P1090 ----- Driver: P1090 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification. QUME SPRINT SERIES ----- Driver: QUME See Diablo 630, 1610, 1620 Daisy Wheel. .PS N/A NOTES Make sure you use the appropriate switch settings for your interface module. Set the switches on the module accordingly: IBM Centronics module: 1, 2, 8, 9 ON. All others OFF. RS-232-C module: 1, 2 ON. All others OFF. QUME SPRINT WITH WP OPTION ----- Driver: QUMEWP See Diablo 630, 1610, 1620 Daisy Wheel. .PS N/A RICOH LP4080R LASER PRINTER ----- Driver: LP4080 ^PY N/A ^PT/V Prints full-size characters with roll .PS .PS .CW OFF ON Font Name --- --- --------- 8 - 15 cpi 10 - 12 cpi elite 12 - 10 cpi courier - 11 (0-30) proportional .LQ N/A .PL For 11 inch paper, a value of 62 is recommended .PR OR "=Landscape" or "=Portrait" to select orientation NOTES Answer yes to the "Use form feeds" prompt. This driver is configured to select all the built in fonts in the LP4080R, in both portrait and landscape mode. For more information on laser printers, see the "Laser Printers" section above. SILVER REED EXP-550/500 DAISY WHEEL ----- Driver: SR550 See Diablo 630, 1610, 1620 Daisy Wheel. NOTES Proportional spacing tables (Model 500 does not support proportional printing) are set up for a Silver Reed PS wheel. You need to change the switch settings for proportional fonts. Set the SW-1 switches accordingly: For proportional fonts: 1, 2 ON, 3-6 OFF For nonproportional fonts: All OFF. STAR MICRONICS GEMINI 10X AND 15X ----- Driver: GEM10X ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. STAR MICRONICS NX-10 ----- Driver: NX10 ^PY Selects draft quality italics ^PT/V Prints half-size if .SR 0; otherwise full-size with roll .LQ .LQ .PS .CW OFF ON ON Font Name --- --- --- --------- 6 - 4 (0-5) compressed elite 7 - 7 (6-7) compressed 10 - 9 (8-9) elite 12 12 11 (10-12) pica 14 - - expanded compressed 20 - - expanded elite 24 24 - expanded pica .UL Continuous underlining suppresses microjustification .UJ Microjustification slows printing STAR MICRONICS SG10 ---- Driver: SG10 STAR MICRONICS SG10I ---- Driver: SG10I ^PY Selects draft mode italics ^PT/V Prints full size characters with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed 10 - 10 (9-12) elite 12 12 - pica 14 - - expanded compressed 20 - 20 (18-24) expanded elite 24 24 - expanded pica .UL Continuous underlining suppresses microjustification .UJ Microjustification slows printing .PS Draft quality proportional NOTE: Because of printer firmware limitations, combinations of print enhancements may cause poor printed output. TANDY DMP-130 MATRIX PRINTER ----- Driver: DMP13 ^PY Selects italics ^PT/V Prints half-size characters (17 cpi, or 8.5 cpi for expanded fonts) .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed - 10 - elite 12 12 11 (11-13) pica 14 - - expanded compressed - 20 - expanded elite 24 24 22 (21-30) expanded pica NOTES Printer must be in Tandy mode. TANDY DMP-2100P MATRIX PRINTER ----- Driver: D2100P ^PY N/A ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed - 10 9 (9-10) elite 12 12 11 (11-13) pica 14 - - expanded compressed - 20 18 (18-20) expanded elite 24 24 22 (21-30) expanded pica NOTES Printer must be in Tandy mode. TANDY DMP-2110 MATRIX PRINTER ----- Driver: D2110 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed - 10 9 (9-10) elite 12 12 11 (11-13) pica 14 - - expanded compressed - 20 18 (18-20) expanded elite 24 24 22 (21-30) expanded pica NOTES Printer must be in Tandy mode. TANDY DWP-230 DAISY WHEEL ----- Driver: DWP230 TANDY DWP-520 DAISY WHEEL ----- Driver: DWP520 ^PY N/A ^PT/V Prints super/subscripts in separate pass with specified roll .CW Supports any value from 0 to 30. Usual fixed pitch values are 10 (12 cpi) and 12 (10 cpi). .BP N/A .LQ N/A .PS ON selects proportional spacing. Spacing tables are set up for a DIABLO BOLD PS wheel, #303029-01. .UL Continuous underlining does not suppress microjustification for DWP230; does suppress it for DWP520. TEXAS INSTRUMENTS 855 AND 865 ----- Driver: TI855 ^PY N/A ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 6 6 6 (0-8) compressed 10 10 10 (9-11) elite 12 12 12 (12-17) pica 14 14 - expanded compressed 20 20 20 (18-22) expanded elite 24 24 24 (23-30) expanded pica TOSHIBA P351, P351C, P341, P321 ----- Driver: P351 ^PY Selects italics ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed - 10 9 (0-9) elite 12 12 11 (10-14) pica 14 - - expanded compressed - 20 18 (15-19) expanded elite 24 24 22 (20-30) expanded pica TOSHIBA P1340 ----- Driver: P1340 ^PY No effect ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 10 10 elite 12 12 pica 14 - expanded compressed 20 - expanded elite 24 24 expanded pica TOSHIBA P1351 ----- Driver: P1351 ^PY N/A ^PT/V Prints full-size characters with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed - 10 9 (0-9) elite 12 12 11 (10-14) pica 14 - - expanded compressed - 20 18 (15-19) expanded elite 24 24 22 (20-30) expanded pica ZENITH Z-125AA ----- Driver: Z125 ^PY N/A ^PT/V No incremental vertical positioning .CW .CW Font name --- --------- 7 16.7 cpi 9 13.3 cpi 10 12 cpi 12 10 cpi 14 8.3 cpi 18 6.7 cpi 20 6 cpi 24 5 cpi .LH Full lines only .UJ N/A .PS N/A .LQ N/A  - 20 18 (15-19) expanded elite 24 24 22 (20-30) expanded pica ZENITH Z-125AA ----- Driver: Z125 ^ P (K (L u (M l G 0H 1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM3 P M#3Mannesmann Tally - OkidataTell s cAft you each lettمwill ask it'sfloppy driveThe first will ̬.Typedrive lett (A-PRETURN when done)Is tfloppy ?Already specifi. Please entوdiffent.Disk Drives Your CThese are valid s. The ̬ (w looks fitss) shown an astisk (*). Hard:  Floppy: What do want i? (normally WS)f pRETURNWhat do want save chs to? (normally WS)f pRETURNWrong vsiؘ fth!Can't find iDisk probably full write protectڄMake room byas somesremove protect ՄThen re-i.NotOut r...must  continueDo want ch t?valueH availableMonitAdds 25(N Morrow MDT 20Adds Viewpoint(O Morrow MDT 60/70ANSI Standard (DEC VT-100)(P Osborne I 24x80 SDEC VT52(Q Osborne ExecutiveHazeltine 1500(R Qume 102IBM 3101(S Soroc IQ 120G Kaypro II/IV(T Televideo 912/920H Kaypro 2X/4X/10(U Televideo 925/950I Lear Siegl ADM-20(V Wyse WY-50J Lear Siegl ADM-3A(W Zenith Z19 Heath H19K Lear Siegl ADM-31(Y MinimumL Libty Freom 100(Z Minimum ANSIM Libty Freom 200(! Osborne NuevoX No chmselectionThe arrow s Kaypro's eith chd by CONFIG programby (If c uses U1 U2 ROMsshouldalways use CONFIG.)Should ch arrow s (Y/N)? Not validCurrently: value (RETURN ch)new (RETURN)new type (RETURN)Add p dYou add replacep d exist pd libraryThe p d will load froma separate hasfile type DRV.p d (DRV)Bad p d ( d in).Add p dReplac p dCreate small library i for: Canfind p d.BAK $$$ allow. ret Too mds.Find s next names ds want keep.s separat by commasorr s usֈdash.Ds sav (RETURN stop)You mayly type s list above.Cancreate new.New p library complete. Old library has BAK type.Canstore newDisk may full.Bad library d found library.On do want libraryfile (RETURN fsame) ? Bad nameuse A through P.Current p d:  ch p d (RETURN)Select P D ChdFeature yet implementڄP continueP d labels: Ch c width leD: Width le: Entry = codecwidthc width (RETURN ch)No c width les fthd.Proportionally spac c width lesD: M D more smselectionMP D Table Str LabelsD: . . . . . (descripti؎add)Entو2-digit c code (RETURN when done)LSTTTYCRTLPTUL1AuThe au reads es stor infileThe format each file is: USERADDR=PATCHESUSERADDR an addequaticontain p d labels hex s.You may add (+)subtract (-)multiply (*)divide (/) withequation.Equations are evaluat left All opations equal precence.If USERADDR missօequals sign This disk contains an updated printer driver file for your WordStar, CP/M Edition, Release 4. This file corrects problems you may have experienced with form feeds, page length, and right- justified proportional spacing. Follow the instructions on page xxii of the WordStar Reference Guide for creating a new WSPRINT.OVR file. Substitute a copy of this WSPRINT disk (make sure it is a boot disk) for the copy of your original PRINT disk in step 2. CUSTOM SIMPLE dsinʒ lat us by au.file hold setts (RETURN quit)Save settsYou save some setts infile lat us by auلYou eith saveall setts atceentٞe Us Area label attimeA will stor encompasses all bytes label thenexte Us Area.Warn: Data lengths may ch frome vsiؘ to anothلCheck against us area.file hold setts (RETURN quit)Save entire us area?Us Area label (RETURN when done)That already existsOvwrite it?Save rorDoneSave p d settsYou save some d setts inʒ thatlat us by auلYou eith save all setts atonce (DATA label)entٞe d label attime.file hold setts (RETURN quit)P d auThe au reads es stor infileThe format each file is: PDRVADDR=PATCHESPDRVADDR an addequaticontain d labels hex s.You may add (+)subtract (-)multiply (*)divide (/) withequation.Equations are evaluat left All opations equal precence.If PDRVADDR missօequals sign column 1PATCHES thatfollow are treat ascontinuatiؘPATCHES previous .PATCHES bee more bytesstrs separat by commasAn equationmay us definebyteStrs may be enclos witheith sle ordouble quotes.Fexample: $START=5,1B,0D,1B,"S0"file (RETURN quit)Ch p d dataYou may strs les us by 's p ds.Each p d may d۞e more labels which represent theaddofle str withd.While : X - Ret P  . - End chsre-d - Leave byte unchd; advance next location ' - Ent next c ASCII0-9A-F - Ent hex digitUs Area add(label hex)D add(label hex)Notvalid address.Notvalid c hex digitNo cs aftوquote column (presswhen done): The stops been clearڄ stopsone attime below.Tab stops canly columns 1 through 255.Tab stops:Decimal stops:Find replace optionsWhen use"find" "find replace" commandtype theRETURN when ask f"Options?" will use findreplace optionsThe optiletts mean: W whole wordsly U ignore case backwards search G whole R rest of N replace without askCurrent options: up 6 optilettsYou typ an optiاlistReset all settsT will ase modifications already made your will restore values as suppliڞ thedistributiذ feach evy item i.Are sure want reset evyth? types suppress d types: When t are suppressڒ types ds evylogg dManyslike programscanitby just clutt ds like thalalways end same type like COMBy putt file typeinlethey will long appear directories.Ch file types?All types been clear leup 8file types suppress belowone attime.Entوfile type (RETURN done)Non b by typeCurrent setts: Vari- Tab AutoType able Char IndentAll entries been clearڄsetts belowone attime.file type (RETURN done)Use variable b?positi each d char (ASCII 09)Tabs mayly binary multiples1248etc.Auto-indent?OthsNow ent s fothْ types.Cs are ly consid part ofword are mark with"*".Entو2-digit c code (R rۅRETURN when done)Part ofword nowCh it?Not part ofwordCh it?Notvalid code00 through 7F.Notvalid ˄0 through 255.Drive/us frunn programsWhen runsprogramit first looks fCOM berun ly loggڬ usلIf it t, then looks at ̬ us.Current ̬/us: Ch it (Y/N)? Entو̬/us (RETURN fe)Notvalid usلDrives A through PUs s0 through 31.FunctiKeysFunctiح burst delay(  FUNDLYModify le( FUNTBLZo entire le( FUNTBLP bursts( FUNTBLX No chmselectionAre sure want reset all definitions? Modify FunctiKeys Burst:  Definition: 1 D first definitions2 D oth definitionsZ Ch add definitionX No chmselectionFunctiحs are ly disablڄenable themdefine-zo delay. (FUNDLY)When push expect tminal togenateunique burst csEach timee csburst receiv by delay reset.When delay fully times out knows burst finish.Tforetminal sends c evy threemillisecondsset delay 3.If are sure delay usestart 10 20Aft your s are gradually ruce delay until theylong reliably. continueNotvalid entry strokes f hexRETURN when done.Hex strokesNot enough room left FUNTBL le burst hexRETURN when done.Hex burstH FunctiKeysWhen push expect tminal togenateunique burst cs translates burstinsome oth strokesThe hex representatiؘeach burst andits translatiؔshown sYou eith ch anexist burst by ent its hex codesentوburst.dth leD: Width le: Entry = codecwidthc width (RETURN ch)No c width les fthd.Proportionally JJ:G::G::W:G2:-OT:W:0G2:bOT:W:0JG2:aOT44oo& _*|ʎ*|&‹:ʎ>_> :ʪ:٥ʪ?: ?ʟ*:٥ʟ!:٥ ޟo*ӥljg*!:*ȥ "ȥ*!*ȥ:٥ $o*ӥ͋g:B*B: *"*|&r&*ʊ**,!ʅ*:٥ ʅe:ӥO2*:ʙ*4*ڥ} :إ@Ġ*&ɠ:ɠ*ܥ>Ӡ *z&^#V+^:٥:٥@*z&*ӥ{:եO,*ӥ{z?{_*צ^#Nyp*|0&S:d͕y2d!x{w*}X{^#V}_:£{á*}á:_:ʻáN#FK{ޡޡ:@:@*@:">2~*z"z4x*z ,"z*z*ޥ"ޥ*˦n*ͦn*z*"*n!*n!"n*z*"*n*n*z*"*n!*n!"n*z*"*n*n:!w*զn*Ӧn*w.*ʥ"ʥ*!*n**ޥ"ޥ*"*"*"*"*"*"*"*"*"!&>2*| &*zģ!*"*& **!"* !"*n*n!"*z*"*Ϧn*Ѧn:W:Xf:إ@f͐!⥾w*Ŧ*ɦ…2ʲ*Ǧò!ॾw*ɦ*Ŧª2ʲ*æn}~#OGyդ!#~+N##+yOMX80̩Oo_UHxħȧ̧x xxxF5T 2F5 2F5 A45LEF  SST--????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<= Th Rule Line Thi documen i se u t teac yo abou rule lines Thi tex wa writte usin th defaul lef an righ margin o an 65 W didn' chang an tab here Next w wante t chang bot margin t inden th tex W use do commands Wit do commands th ne margin ar save whe yo exi an sav th document. .lm10 .rm45 Ne margin chang th rule an text Watc th rule lin a yo mov th curso throug thi text WordSta wil continu t hol thes margin unti yo ente anothe do ommand. .lm1 .rm65 Margi change brin th rule an th tex bac t th defaul setting onc again. n sav th document. .lm10 .rm45 Ne margin chang th rule an text Watc th rule lin a y????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA qCOMPOSMPS10 $PF $PG $START$DONE $QUIT CODE                                              GEM10XAgwHA ˧ϧxקۧѧԧŧȧߧA)))ᦗx x xxxx@  @ @ WBWBWBWBWBWBA45LEF--SSTU0U1> =>K="&*.26:>=77777777>@}`|~[#[]\|$#]}\@~[{\|~[\]{|}@{P !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^ya'i'o'a_o_<<>>agrtoIEn=_>_<_fj~_.v-r#!# #"DATA cVCOMPOSA$PF $PG $STARTg$DONE $QUIT wCODE ~NX101[{k񩯩}ixaeztwnq[^1ߧᦋx x x x x ̨x٨x xx  'x 4 A Nx  @O!  @@ xpWM xpWP xpWM xpWP xpWP xpWM xpWP pWPx pWPx xpWM xpWP xWMp xWPp xpWP xpWM xpWP45--\EFGH<R#RR[R3SSTxxũɩͩѩթ٩ݩRRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA c\COMPOS1PS12 PS12I $PF } $PG $START[$DONE {$QUIT kCODE ~                                            SG10[{kaD٨ݨxѨըߨ˨Ψ ߧᦋx x x x x xx Ǩ xx 99 99 99x 99 99 99x 99 @  @@ BBW0 BBW0 BBW0 BBW1 BBW1 BBW1B45-1-0yEFGH<7#77[73S0S1Tp1p059=AEIMQUY]7777777777 7 @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|=++=--=\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA cCOMPOSPS12 ;PS12I ;$PF $PG $START[$DONE {$QUIT kCODE ~                                            SG10I[{kUHDը٨xͨѨۨިŨɨ  Pߧᦋx x x x x xx xx    x   x  Itinerary Depart Dat Time Arrive Date Time Florence 103 08:30 a Rome 1031 05:3 p Rom 1105 08:00 a Naples 11/05 12:2 p No include i th rate are .lm10 .rm55 Transfe services sightseeing meal excep a specified tip t statio porters wines spirits minera waters laundry theate tickets an othe item o simila persona nature  Rome 1031 05:3 p Rom 1105 08:00 a Naples 11/05 12:2 p No include i th rate are .lm10 .rm55 Transfe services sightseeing meal excep a specified tip t statio porters wines spirits minera waters laundry theate tickets an othe item o simila persona   ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~L-Y-PtS-a'i'o'u'n~N~a_o_?/1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-.'`?#!# #" DATA c7COMPOSPS10 $PF $PG  $START $DONE $QUIT CODE ~                   DWP5200 xC x xx             ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~L-Y-PtS-a'i'o'u'n~N~a_o_?/1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-.'`?#!# #" DATA c7COMPOSPS10 $PF $PG  $START $DONE $QUIT CODE ~                   TI85500vz^j <MxGJQTW[}ee1x4 x8 x<x?xCx1 x4x8Xx?yCXy  PJMR<%d JMR< P JMR< P zyzyIJQRK2M / $%ed????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?#!# #" DATA cCOMPOSPS10 $PF ^ $PG j $START$DONE $QUIT CODE ~$H<<<<<<<????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-:~-.?#!# #" DATA c COMPOSPS10 kPS12 m$PF $PG ʨ $START+$DONE K$QUIT ;CODE ~<<884,88<<$$888488888888888888<<88<88<8(8<8<<<8<<88<<<<<8(4(0<0888880<8,,<,<888844088<<84((00888088<0<((48<<<<<8<<<<8<888<<88808088<0<((48<<<<<8<<<<8<888<<88808HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<DD@@<$4H@DD((8D @ 8@@@@@@@@@@$$????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #"DATA cdCOMPOSC$PF  $PG ! $START$DONE ŧ$QUIT COD Excursions Da Florenc-Rome Leav a 8:3 a b delux motorcoach Arriv a Rom i th afternoon Da Rome Mornin an afternoo cit sightseein b motorcoach Englis speakin guid optional. Far i firs clas hotels $100.00 Bat optiona $25.00 RULER DOCSAMPLE1 DOCSAMPLE2 DOCHELPER CSD"*0["*0*0[!*0!"*1"*2*1!*2!IJ NĨ?=?????????????????????????????????????????????????????????????????????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #" DATA cCOMPOSǩPS10 aPS12 c$PF $PG $START+$DONE K$QUIT ;CODE ~                                 Z1256"6$ x6AAAǧ ͧ xӧ x٧ xߧxxxc [?7h   cc         ~   (/  ??????????????????????????????????????????????????????????????????????????????????????????????^_`abcdefghijklmnopqrstuvwxyz{|}~?????????????????????So????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_1214!<<>>aB,gn-Eru.toIO-n_so|O/En=_>_<_fj-:~-o-v-n2    +!      +)   +     +(    +"      +*DATA cCOMPOS6$PF $PG $START$DONE $QUIT CODE ~g catadddeletΨs. Tip: A alwayh< symbo(hard carriag) mo la . In ndocums^Bcvteciadocum code(gat an 128 ASCII) Ứ ndocumform(lesan 128 ASCII)cur . Tip: ^Bcvtsgl; Ucvtmad ̎. ^L (fd/aga)peatmo c(F) fd/ (A) opaيartcur loca. (se wid)changetva(wid) ndocumtvamu barmultipl(24816). ^P RETURNmove̕ begnnex. Ins̕ al ̘ ̕ ½ begnnex. InsՊl̕ nex. Backac(mu)asȅ ̞ ̕. Pss^H doeexactlsamg. Tip: To as̏ ̕ locaيpDe^G. ^^ (Ctr+ Shif+ 6) cvt hard carriag sofcarriag(mid- ). . (dos)secia ɚThe ̗ bu֛edA do MUST beg piod (.) 1 (̞mo ) followtwo letts. Diffedo flag (mo) . Tip: ques mark (?) ̘mo do doecogniz̳; it. Do. mo ( mo oft) .PAStartnew nex. .CPnStartnew lesann 䢧. .RRInst(embeds) ߚ. ObeyL,R,!,# ed. .PMnStartfir 㖋n". .LMnSet̞ 斋n". .RMnSet̘ 斋n". .IGDilaybudoesn' 䢑. ..Sam.IGUssnoteyourself. Do1 mo (work be ܧ begng) .PNnSeţ ton". .PLnSeţ lg tonsDefaul66. .MTnSettop tonsDefaul3. .MBnSetbottom tonsDefaul8. .LHnSet̑ heighton"/48 chDefaul8. Do: symbomo (applߛly) Note: You capablmovemtsoms. .OPOmit bottom ớۧ. .PGReo 仛ۧ. .PCnPrt 斋n"Defaul 28. .UJTurnmicrojuifiۛꉀ.UJՁturn. .BPTurnbidicaꉀ.BPՁturn. .LQPrtnealett qualitmode.LQՁturn. .POnSetacbetwe 1 О edg atns.  .HMnPrtsnblank betwe head К. .FMnPrtsnblank betwe foot. .SRnRollcarriagen"/48 ch sub/supscriptg. .CWnChange betwe ton"/120 ch. .HEPrt 䢑 head. .H1Same.HE(fir head). .H2Secd head. .H3Third head. .FOPrt 䢑 foot.  .F1Sam.FO(fir foot). .F2Secd foot. .F3Third foot. .LSnSet̑ ton.1=sgle2=double3=tripleetc. .TCn trAddstryߵlcttsn. .IXphrasAddsphrasedocumdex. Domg .PFAligndurΛg.PFՁturn; .PFdis  discarySemanuadetails. .OJRighjuifie.OJՁturn; .OJdisdiscary.  .CSClear̗ whilg. .DMDilay () ̗ whilg. .FIInst̎ calledhe. .DFDefedat called. .RVv1,v2Readvariablesv1andv2dat񎋫. .SVv1,datSetvariablev1valuedata. .AVmsg,v1 Aft gmsg,queus datforv1. .RPnRepeatform lettntimes. .GOtop/boGo top bottom la .FI documt.  .MAv1,ma Stosultemaequa v1. Docdiamg .IFv1Ifv1n-blank n-zo followΚ  ui.EI .EL coued. .IFv1 ? v2 Replac? an opator: =,<,>,>=,<=,<>,#=,#<,#>,#>=,#<=,#<>  cdi true ui.EI .EL occurs.  "v1andv2valuevariables. .ELRevsss(trufalse) la .IF. .EIMark .IF cdi. To ge EdMu abovep ̾ shown ̞ descrip mu top (Rememb at^meanshould us̟ .) Fgaexplana ̗pques mark (?). Fܒ dospdo(.). Fܒ savworkpD. would likߜ̒ levelp^J aga. docum˱selecthbe protectedThwh ProtectMu htop ̗. To ge ProtectMup ̾ shown ̞ descrip mu top . Fܒ gettoppedpQ. would likߜ̒ levelp^J aga.  (On FormMu)affeclook ̗. - Wh editgpȁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳.  (Block & SavMu)savabandwork"cupae ; copymovease sФ ̹ . - Wh editgpƁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavx  BASIC M RUN"M" WEEP py -v c:*.* b:DISKRESET"A" DISKRESET"B" INIT5 SYSTEM F S BASIC S.COMINIT3 WEEP.COMFKEY SETSYS RUNCH.COMSAVESYS RAMDISK ommand line.SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec !2KnSETSYS RUNCH.COMSAVESYS %͐'Q%G+Q%x':{!:u!"w!x2y!y2z!*w!:z!O:y!G:/2Q%''ͯ'>Pȹ!:%?5g: g:%?:z!O (ͬ&~^' (ͬ&~^( 4*w!#"w! y2z!Q%3(3(Q%ͬ''~'~M(^Q(^ 4# ͠'3(h(h(Q%ͬ''~}(^ʁ(^ʎ&#~+w# 4&{5G> 4“&ͭ!y!5ͬ&Q%ͬ'y +~5W͠'ͅ¼&*w!^{'Q%ͬ'Q%~ 4# ͠'Q%ͬ'Q%ͤ*+~# 'yP 'w 4# =&x2y!ͭQ%:i7&n&Q%:z!1'ͬ&$'!G͠'ͤ> 4='ͭQ%'Q%f2!%̾2%͐'Q%x+Q%!nw?,Q~#ʔ0ʜ0|0@2À0~2c!#À0Շ_*^#V*^#&"!"c!W,* 0*F> Q/#~0#~2c!0O@20y 02210:2!2!f!!,1Oz(1:!1.1>2Lͥ1ʎ1:g1*$> Q/>22`1ͥ1L1"Î1:%> ą!*͒1*>-\4~ʗ4 ʗ4# 4†4͏/ͥ4/Ϳ G~ 4#®4:5ͪ/6^#V#~#44/*4*`i~#fo#|+4"ͅ45=4/*$&.!5*"75B5<5>?5:&:,>> Q/*U#*s":u"d5d5o> -w55 f5>-f5:l2c!:*#:"Gxڡ3!:%ʲ3> ͅ Ž3ò3!* 56 ø3* 5:t!3w:O!%3G:"3> ͅ33*$a":t!ͅ3!q!~wG@2 4x 4G* 5:%4wOx5O! >a4* 5y;4wxf4l4ʀ4 \4>^ͅx@ͅ!&o4!,N _4#~ͅt422,+2t!3y:s!2* 5w>2q!:,~22,*c!!"c!!"3ͭ*$%"3'3:s!'3"c!xͅy3xD3:%2r!3!%> ͅ*3!c!>w#J3:%2r!:q! Z3* 56* 5F:r!wҲ3/ Q/>2221:$1ͥ11":$ G:e!ľ*c!|O’2:q! ’2x g2’2 * 5:s!ڄ2:,:s!„—5:s"ʗ5:u"ʗ5>V5:s":!5:u":!5N:!5!"6>#5!v"6>!5>-5No&#yx}5>2{6:t!+6@26>+2t!6~_#~6 6ɷW,D6!"$#-6,"25ɯA62"2"2":v!ͤ!!w*>ġ8*:!͡8!!!8~8#8~8Eʓ?:"š?*"s?*9"+"9"EQ?!"9"͸?*"#""*"+""E~?*$*&*"+""͸?!"9":"G*"1G @uH @*"y s?*9"#"9"͉T+@+@ +@͉TD4T1G??""x2""&"$@ c@_!@@:"/_!y#w{ѷG:>ͿB!:;"ڟ>ʟ>xyœ>G2s"2t"O4Tz>:t"?>4>4TDÉT:!*&}>+"&ѯ*${_W+~ >"$:!*&|?#"&*"*7*$ #͑ .?w# ?"$5?!"&͛D*u##K?*u#+"u#Ei?:"p?*"y s?*9"#"9"*"""=4T4T=OD=-> =!># >3 OP=:!->:!e>N>x2s"Æ=x2u":s"ʆ=>:s"=O:t"4>4T?>D?>N>Ï=N>Æ=v">"><o&px2t":s"=Æ=x2t"=:s"2*#F>!#E";"2v"2"2s"2<"<2;"!#EW>2t"_CD|ʇ<.}Ö<4T<Dʖ<0<1<2<3 D<<<><4TN=D<PD=D= 4T=O=>O=*;"N>_C.=2u"x2s"2t"4T.@.;~3 G4T3 O!;#~;#™;~™;~>:;+~>1;>.;>?PACPOLFFFFHHHHIGUPNRRBLBTCFHHPSUPXXXXXDRRSADCFPRMLMLSOJPPMAWWIGMITPIEE>J<>9P4Ts<DT<0s<:s< T^@2@@2!ͱ:!~:W#!s !h:ɯ2Y#:X:2X#!e:!b!  !~#:;~# ~w::; =;2Y#2X#Ͷͦ !!s !as *&"))!;E><;@2>@2c!~͒:>2c!> @2#N#F#xʭ9##~͒:# x¢9h:~::!:%}_9::#~#fo|}:!n:::%}9}9> @29> @22::k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:?:#^#V#N#F##N#F#^#V# >8"͎8ͅ:A@2c!:!!!G: p#=¥8b8x:/:!9>998:n83/86!1j-\9!8v,:!3 9:zN9xQ9 +~͋ x82Q9W98!+N#8 8y:9 '9bk '9K $9:!dQ9:!*&>: :p9> Q/> 7:!ʼ7*&|*¹7:¶7*|¶7*|¶7;L|ʶ7ü7* 8!!82!~82!: G**wA8:!<2!#7*6*:=w*:!wͭɷ~ 8# 82! &8:!G:!! =8_<2!*p *!.:$€8:%_|ʃ8ڀ8O:"ڀ8*͎8~ͅ# t8Æ88͗8“6!87*:"£6!!͗88!!8͗888E!!!!8!!8͗88:X#6*8:X#86*8:"8:"7*8:"87*8:/"7*:"8*8:"478:"08*:"V7!":!V7*:"V7* /88:"t7*8:"8ü78*:#¹"/Z@ʓ@G:s#2s#x~*9#|¥@}~N~~*3#+|¾@}~͜Q~~HTͭ@*3#+4TO:!yĕA4T@͉T*7#ͿBO:!yď"w#O:!yď́ "w#yC!A:A!qA~#lAIAgA~SAgA#~lAGExlAlA##:A    #"u#*#"w#*#";"!"u#!"w#!";"ͣD:!şo&"w#äD*^#g*u#D|}D:*U#*w#}o|DD}D::#:"/s"~2E# E*#:s"2Ex.E2 #GNE:!;E: #/Gx^E*L<½EE‰E:!‰E*9"Ϳ !:!! "4TZ@+~“C#͉T@DƒC4T*u#"$*w#"$*;"" $:y#2 $:"2 $*$"u#*$"w#* $";": $2y#: $2"G_xx D_!9D^DW! FDV"*u#"#*w#"#*;""#:y#2#:"2#:#2":#2y#*B@4TGuBy•BÖBeCGͣDʼBzʼBxDʼBͿB4TG¥BBOG*;" ";"$DB:;"=BCȯ<*;"|:C*;"$C(C5C+2C#2C:CO͉ ";"G\CZC \C\C~\Cɯ(F {(F :"¯\*7#{¬\9?͝?ï\Q?9?Z\*7#@GM:."YG"`#*5#+R]\ \ yN]:s#2s#x\_*7#@~]N]{ox]{oyox]G]j&~LG]LJL*7#+6:]"7#+6y\i]DR]i]D\]*`#͑ 4TJID:"ʶ[͉Tʵ[D\ʡ[Dʉ[:Cʉ[͙B!;"NG:$\*7#͑ [J|@·[:$[>(FL*7#^:"[.\:*#=*WXZG*7#^M\\MDL*7#^:"2"L*7#^GTYXZZx Z*7#@YwͿBJ|@ Y]ÜC{*Wͧ]o&";"MD*9##͏W:*#_*;"#͑ JZJJZDGZI)ZͦKMD*7#^2Z#]o&";"*5#+NG4TʀZD}ZͿBkZ͉T~2"#~2"ͭV!"9"*"+""!#s" ͪI!"#"&*""$>2c!*7#ͬDM$GUGMDX*3#!^#:_#<*7#$GUE@G͉TY DX4TzYx.>Y/>(Y>!s#wɯ2s#2$E{YpD*7#Z>2s#JlYI*5#+~w!#5XYDLY*7#eBMD2Z#:"W"5#6L !L"#*7#͑ X@XWW:s#2s#W2":!:#-4T DWßW:s#2s#4T ßWW>wDX%XJG*##ÙW%X*#XͦK+|Xy@D=XxOX=X+6 L"7#+p#eMH-D!+#~2`"#n&""#~2^"#~2_"#~2"#~2"# ZV4TʏUD„V}U!#F4TH ͅ*3!c!>w#J3:%2r!:q! Z3* 56* 5F:r!wҲ3/ ͅ Ž3ò3!* 56 ø3* 5:t!3w:O!%3G:"3> ͅ33*$a":t!ͅ3!q!~wG@2 4x 4G* 5:%4wOx5O! >a4* 5y;4wxf4l4ʀ4 \4>^ͅx@ͅ!&o4!,N _4#~ͅt4>-\4~ʗ4 ʗ4# 4†4͏/ͥ4/Ϳ G~ 4#®4:5ͪ/6^#V#~#44/*4*`i~#fo#|+4"ͅ45=4/*$&.!5*"75B5<5>?5:&:,>> Q/*U#*s":u"d5d5o> -w55 f5>-f5:l2c!:*#—5:s"ʗ5:u"ʗ5>V5:s":!5:u":!5N:!5!"6>#5!v"6>!5>-5No&#yx}5>2{6:t!+6@26>+2t!6~_#~6 6ɷW,D6!"$#-6,"25ɯA62"2"2":v!ͤ!!w*>ġ8*:!͡8!!!8~8#8~88͗8“6!87*:"£6!!͗88!!8͗888E!!!!8!!8͗88:X#6*8:X#86*8:"8:"7*8:"87*8:/"7*:"8*8:"478:"08*:"V7!":!V7*:"V7* /88:"t7*8:"8ü78*:#¹7:!ʼ7*&|*¹7:¶7*|¶7*|¶7;L|ʶ7ü7* 8!!82!~82!: G**wA8:!<2!#7*6*:=w*:!wͭɷ~ 8# 82! &8:!G:!! =8_<2!*p *!.:$€8:%_|ʃ8ڀ8O:"ڀ8*͎8~ͅ# t8Æ8"͎8ͅ:A@2c!:!!!G: p#=¥8b8x:/:!9>998:n83/86!1j-\9!8v,:!3 9:zN9xQ9 +~͋ x82Q9W98!+N#8 8y:9 '9bk '9K $9:!dQ9:!*&>: :p9> Q/> @2>@2c!~͒:>2c!> @2#N#F#xʭ9##~͒:# x¢9h:~::!:%}_9::#~#fo|}:!n:::%}9}9> @29> @22::k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:?:#^#V#N#F##N#F#^#V# >8/! L-/E-8 ښ:@2>^@2@@2!ͱ:!~:W#!s !h:ɯ2Y#:X:2X#!e:!b!  !~#:;~# ~w::; =;2Y#2X#Ͷͦ !!s !as *&"))!;E><;@.;~3 G4T3 O!;#~;#™;~™;~>:;+~>1;>.;>?PACPOLFFFFHHHHIGUPNRRBLBTCFHHPSUPXXXXXDRRSADCFPRMLMLSOJPPMAWWIGMITPIEE>J<>9P4Ts<DT<0s<:s< T<<<><4TN=D<PD=D= 4T=O=>O=*;"N>_C.=2u"x2s"2t"4T.ʆ=4T4T=OD=-> =!># >3 OP=:!->:!e>N>x2s"Æ=x2u":s"ʆ=>:s"=O:t"4>4T?>D?>N>Ï=N>Æ=v">"><o&px2t":s"=Æ=x2t"=:s"2*#F>!#E";"2v"2"2s"2<"<2;"!#EW>2t"_CDʧ>ͿB!:;"ڟ>ʟ>xyœ>G2s"2t"O4Tz>:t"?>4>4TDÉT:!*&}>+"&ѯ*${_W+~ >"$:!*&|?#"&*"*7*$ #͑ .?w# ?"$5?!"&͛D*u##K?*u#+"u#Ei?:"p?*"y s?*9"#"9"*"""Eʓ?:"š?*"s?*9"+"9"EQ?!"9"͸?*"#""*"+""E~?*$*&*"+""͸?!"9":"G*"1G @uH @*"y s?*9"#"9"͉T+@+@ +@͉TD4T1G??""x2""&"$@ c@_!@@:"/_!y#w{ѷG:"/Z@ʓ@G:s#2s#x~*9#|¥@}~N~~*3#+|¾@}~͜Q~~HTͭ@*3#+4TO:!yĕA4T@͉T*7#ͿBO:!yď"w#O:!yď́ "w#yC!A:A!qA~#lAIAgA~SAgA#~lAGExlAlA##:A            XO@BDA Z@4T·AeBBG9?4TO4AGB:t!+Ah& B~x D_!9D^DW! FDV"*u#"#*w#"#*;""#:y#2#:"2#:#2":#2y#* Gulliver' Travels Par I Voyag t Lilliput Chap I M fathe ha smal estat i Nottinghamshire wa th thir o fiv sons H sen m t Emanue Colleg i Cambridg a fourtee year old wher reside thre years an applie mysel clos t m studies bu th charg o maintainin m (althoug ha ver scant allowance bein to grea fo narro fortune wa boun apprentic t Mr Jame Bates a eminen surgeo i London wit who continue fou years an m fathe no an the sendin m smal sum o money lai the ou i learnin navigation an othe part o th mathematics usefu t thos wh inten t travel a alway believe i woul b som tim o othe m fortun t do Whe lef Mr Bates wen dow t m father wher b th assistanc o hi an m uncl John an som othe relations go fort pounds an promis o thirt pound yea t maintai m a Leyden ther studie physi tw year an seve months knowin i woul b usefu i lon voyages. Soo afte m retur fro Leyden wa recommended b m goo maste Mr Bates t b surgeo t th "Swallow, Captai Abraha Panne commander wit who continue thre year an half makin voyag o tw int th Levant an som othe parts Whe cam back resolve t settl i Londo t whic Mr Bates m master encourage me an b hi wa recommende t severa patients too par o smal hous i th Ol Jury an bein advise t alte ma condition marrie Mrs Mar Burton secon daughte t Mr Edmun Burton hosie i Newgat- street wit who receive fou hundre pound fo portion. But m goo maste Bate dyin i tw year after an havin fe friends m busines bega t fail fo m conscienc woul no suffe m t imitat th ba practic o to man amon m brethren Havin therefor consulte wit m wife an som o m acquaintance determine t g agai t sea wa surgeo successivel i tw ships an mad severa voyages fo si years t th Eas an Wes-Indies b whic go som additio t m fortune M hour o leisur spen i readin th bes authors ancien an modern bein alway provide wit goo numbe o books an whe wa ashore i observin th manner an disposition o th people a wel a learnin thei language wherei ha grea facilit b th strengt o m memory. Th las o thes voyage no provin ver fortunate gre wear o th sea an intende t sta a hom wit m wif an family remove fro th Ol Jur t Fette-Lane an fro thenc t Wapping hopin t ge busines amon th sailors bu i woul no tur t account Afte thre year expectatio tha thing woul mend accepte a advantageou offe fro Captai Willia Prichard maste o th "Antelope, wh wa makin voyag t th Sout-Sea W se sai fro Bristo Ma 4 1699 an ou voyag wa ver prosperous. I woul no b proper fo som reasons t troubl th reade wit th particular o ou adventure i thos seas le i suffic t infor him tha i ou passag fro thenc t th Eas-Indies w wer drive b violen stor t th nort-wes o Va Diemen' Land B a observation w foun ourselve i th latitud o 3 degree minute south Twelv o ou cre wer dea b immoderat labou an il food th res wer i ver wea condition O th fift o November whic wa th beginnin o summe i thos parts th weathe bein ver hazy th seame spie rock withi hal cable' lengt o th ship bu th win wa s strong tha w wer drive directl upo it an immediatel split Si o th crew o who wa one havin le dow th boa int th sea mad shif t ge clea o th ship an th rock W rowe b m computatio abou thre leagues til w wer abl t wor n longer bein alread spen wit labou whil w wer i th ship W therefor truste ourselve t th merc o th waves an i abou hal a hou th boa wa overse b sudde flurr fro th north Wha becam m companion i th boat a wel a o thos wh escape o th rock o wer lef i th vessel canno tell bu conclud the wer al lost Fo m ow part swa a fortun directe me an wa pushe forwar b win an tide ofte le m leg dro an coul fee n bottom bu whe wa almos gone an abl t struggl n longer foun mysel withi m depth an b thi tim th stor wa muc abated Th declivit wa s small tha walke nea mil befor go t th shore whic conjecture wa abou eigh o'cloc i th evening the advance forwar nea hal mile bu coul no discove an sig o house o inhabitants a leas wa i s wea condition tha di no observ them wa extremel tired an wit that an th hea o th weather an abou hal pin o brand tha dran a lef th ship foun mysel muc incline t sleep. e array to a file What if text, prints 1st column & row entries of cursor position ? print approximate storage space in terms of entries = lock column A and row 1 onto display * Switch between 10 (with menu) and 15 row screen display #!/!!> !!> !!> !!> 2!2!2X#2"2"2"2"2"2"2/"2-G_xx:!!/ͭ.G/Ͷ _> Ͷ _2"" ">2M*:no&a "(y "&*"(́ ! [ :?=h_2N!s" !f! !"2-"!"H#""͙ ʪ`:"œ`ͤ ʪ`$ͤ |ʪ`DMͤ ʪ`~ʅ`CZ~u`f`ê`͉ DM  ʕ`w#ˆ`62"ͤ ^#V~:}`!j!o!tG:|`>`>2"&!a2"`d1a*2!a@! !0+a#a*2~^#V!͑ 8a!~͑ 8a!ad2"Ͷc!d>̶cc: 2b!ma!<2b!d̶cc!"D:naO>!’adͶc*&pͭs a MD*&~aaa_#^#V#~#foy a BKëa6!!͗cc!! ͗cc!":_""": _"!ͧć !dN#F#^#V#zJb s#r1b*y DM*!w+ xYb"!́ 2 pbI26 ʤbO*~ʤb#ʝb#Ïb:626…b2":"b:"b* "}2 "|2"`c![~bO#Dĩ+!"`c!N _c#~ b y_c +~ c c^cy^c~3 X;c2"+ ~ ^c+~# Zc +~ Zc#~2^>2_>2 y`c2"y2qc*F:"<!$yʜ͌^!"/!"-"âͭ.G/c./ xªc#:!!~ cͅ#c"D! .!0/c#c*DdͶc w,$4=EM Uamy8EK1Z&v\y2\:o$ * WARNING * This tool is damaged! Use another copy. $!~O#{dz ðANAGRAM - VER 1.0, Copyright 1981 - Oasis Systems $O! ?A[w# ?A[x2 Incorrect Input Format $!F#%~#:2:=MG!%~#DDN+q#w6y):%*Z?]2u Main dictionary is not on current disk! $MAINDICTCMPj!~j##~j:2!%":Q:]=2:G*~2#"AG!O ~2#~2#>2}N! "]:h:!%:G:Q!6# x%:N! 4=‡%:N! 5=œþ4!5Q=œþ!%~n ~#:=2>2cQ Q> n!%}7O`yOy!%_+~w#}6A\15w#!A\A5w#6n}2*+w">2c> n> n_:@!® Œò>!""2*~#"*G}|!4xN# O`yOy!%_+~w#}6A\15w#!A\A5w#6n}2*+w">2c> n> n_:@!® Œò>!""2*~#"*G}|!4xN#  *Operating expenses:8DP500  Selling expensesD! 2120@$  AdvertisingD( +<:- L9H-3"#͹#*"7B5 t9H-3"#͹#*"7B5 9H-3"#͹#*"7B5 9H-3"#͹#*"7B5 9H-3"#͹#*"7B5 H-3"#͹#*"7B5  Total operating expenses*+. :H-3"#͹#*"7B5 :H-3"#͹#*"7B5 :H-3"#͹#*"7B5  ;H-3"#͹#*"7B5 4;H-3"#͹#*"7B5 H-3"#͹#*"7B5Income before income tax*5~( Income tax-:C*!9"* <H-3"#͹#*"7B5 0<H-3"#͹#*"7B5 X<H-3"#͹#*"7B5 <H-3"#͹#*"7B5 <H-3"#͹#*"7B5 H-3"#͹#*"7B5 NET INCOME*100 = P==780 PROF/UNITITp=D  x==780 PROF/UNITITp=D  ==780 PROF/UNITITp=D  ==780 PROF/UNITITp=D  ==780 PROF/UNITITp=D  =780 PROF/UNITITp=D =780 PROF/UNITITp=D  x==780 PROF/UNITITp=D  ==780 PROF/UNITITp=D  ==780 PROF/UNITITp=DX!'jW~#kk># œj:jO!'j~dk#fo"K!"& 'j́ T]!,j~#fo"M!!,j~#fo"O!*j̈́k*& ## k*j|j|k~6fjK!ʹkʠk# ‡k*K!|eo"K!*M!*O!"M!"O!# ͉ {k++~k{k>Ük6+6#fj2y#2#2!2Z#2"2"2"2#2"2t#2"2"2 #22#2#2#>2#!hQ^#V#{ʴl>ål2#2#2#272@#2^#:2_#:"!"w!^"/:6l !U" !"~62"*r"&""E@m!~&mͭn&mm###~4m2g"{2"#~2":s"2*#>2"!+#:`"w:"#w:^"#w:_"#w:"#w:"#w:"#w:"#w*a"""ͭV*o"}2""""":"2"2"*":j"g""""!s"# E½m2">2":">m/2"!:!!~ m#mm6 #m6 F*;#w#w"3#"5#*=#++w#w"7#"9#́ [ "\#>?6*\#:Y#;n|g}oT]|g}oDM*3#!ͭ:Y#Tns ^nx^n2"5#*3#DM*9#zun{ʅn+wkn2hn"7#~+6*3#"5#6#6#[X*7#:UG:6O#²ny:k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:cop?pqqPp>*&"~!!"!6!1j-*1*3!3j-:$2!͂q͙4"3"1 :!o&"!"c!*~!~o:=!$yo31o> Q/>@2c!~͒:>2c!#N#F###oo> Q/#^#V#N#F#ooh:"!aopxo:%G>G> @2o~͒:# xo> @22*!"!-o.p31͏/!ov,*~!MD*&͗ *pp/ao]Th:͗ *pkb"~!Jo*~!h:p"~!Jo:!ap͋*!"p0p:xp3 Ap[p**w8, 4~9:ʑp#N#F###͂rfq!4j-͏/q-%o!8N#**~#q#p### 9:͂rfq!G3j-͏/q-%o!8N#**#^#V#q#p# >2!**͢qofq!3/o>2:!D9fq!X3j-͏/D9(YD9fq>!]q*&:nO]qs D9!|3/D9͹/*-"*~!͑ q"~!*&~ʒqh:Çq́ ́ *(+**~2**&*(MD믾:*rqh:öq͂q#N#F#~#fo **#N#F#~#fo yx4r]Th:yOxG kboq**#N#F#^#V DMx/r**~8r4roq5r2*͂qxJry{r:*9:*(*& }O|G r!8q#" !"! x!¬r! Ës*,! ‹s! r! Ës<r!HËs/!5 j-͏/ʉux‰u:ʉu!ʦr/! s!R Ës!ͼ Œu!x Ës6![-Osͥ*!?[-Ls͏/OsLs 4> 4:s/!Oj-31͏/ʉu!9"x)-%‰u/:FʉuO!9D‘s!ʋs!r/Éuyˆsͩ+:u!ʉu/Éu!/ x!¼s! Ës!3 s! Ës/!f j-͏/sxs!s Éu:sO/!D'ty't+~#:'t!r#s#! +++s0t!+s2!**";#*,"\#DM! j-! j-2> Q/>.@2kt> @22> Q/*\#DM*;#!ͭz½t*\#}O|G*;#!žt! tz½txVt!s !s > @2Ìu! !s !Ͷ/õt6!j-͏/t: "@ 4/!x͜)2-"! u!+Ës/% *,}u qu<wu ?u!j-(Y‰u/!Ͷʃu! # #~?euUuÌu!ͶeuÌu!dËs!HËs!Ës!Ësɯ! ":! u!":!>ʦu/͎u*.͡v!:".v> vv*["#"["*!+"!|::Qw*["}|Qw*["+"Y"**T]x Gw# w7-wFwx# w4w{_zW*Y"}CwTw+"Y"|wvɯx*!"*!DM*!*~!xx:!.ĒxsxHw wO: w> ͒x:%wüw:$O:x> @22Nx6x> Q/üw:%0x> @22Nx31Zx"~!"!`i"!*$"!!Vw]x*!"!-o.!?,*!"*!"-*!"/~ Ēx# sx*$"!*-"!*/"!:A@2c!@2>ìx7êx>2{!͞(-%!w?,1%:!-%>2{!1%6j-31͏r͏/xx)ͥx:x Ēx# sx*:!*.͡v**"!w{zUy ~$Oy~Ay#2yIy> CyvZyy^yͼvviy>2!2]"zyJ"yʘy#Áy2]"*H"|y*!y ͗ y*D"y *B"DM*Q":S"y*D"*T":V"yyѯ2?""="zNz xzz!J"O#z>2A"i "="2?"NzLzB"Nz @zɯ*@"*>"͑ sz"@")"*2!aͭ:="_*2~*=","="z*>"#">"!Yüz!~üz:! {! úz! 2#$x2"$6:"z! j-310Nj-*!";#31!"͏/Nx)ͩxN!N͜){ N !'{! /N! 9{! /N#\ /*$"!>2!!"!"!"!!"!!!:j~:2"!!͡~ʓ{6Y!~=œ{!!:Sj~!~Ü{:j~!! ͜)+}!9"͡~{=1|!:S|! j-͏/{ͭ)1-%¦~ {!T /æ~|{#"!͜)+}/! j-:q~ʦ~2!͜)+}! :/j-q~ʦ~2!͜)+}/! j-͏/Z|ͭ)1-%¦~ {"!͜)+}/!, j-͏/ʺ|ͭ)65534-%¦~ {|†|!"!͜)+}͡~+}/!F j-:q~ʦ~G͜)+}xY>ʷ|/2"/!8 j-͏/+}ͭ)͟x¦~!8~+}G#!~3 >} |#+} |͕~+}>+}#͕~+}xH !+}Ͷͦ *!*!#͑ Ҧ~E!#$w/!~͑ Q}"!:#$>`}:C@*́ 4>}|=p}>6=‚}"6$"8$"($6+66"&$"$$",$".$%"2"=#!:#$}:@oa y *!}O|G}!!my~!i /Ü!i /æ~";#!~8~*!~#fo8~:"<: " Ͷͦ ~A~#66!l ͡~W~!%=W~!uj-*$"!312[#Á6N6Yɷ:!{~:!29>28(I$INDEX$TOC+#~ ʗ~:"$/C~€ɂςzzzzA;zw+{~1JI$y2$:7J !~O#{, Bd!\!\A!\e!\!\!\“ AA*!"!""*"!Jt A[w#tA[=+~wx2*"*"*}ʊ**z*Š}ڊ|g}o"J~#fo~Gxf[~x~f#>*">2*">2*:G/_"Jw#*}/_|/W*##*#DM! z w+ **s#r**""*}/o|/g#*+ *}ADM!^#V# x&%8Ae!ͳFͳTWOPTIONCMP ~#  c~#  @`@ ¹~ #~ #x!g'#G͙Qà!2ͷ!Fg͓Q!>ͷq egF#ri͉~> a{ :ʷJ!J">22*~#"!5!4>  ~# O  *Hq#"H}DA5 !"Hw# =* WARNING * This tool is damaged! Use another copy. $DICTSORT+ Version 1.1 Copyright 1981 - Oasis Systems $Input file is NOT on disk $ Insufficient memory for input file Program Aborted!$ WRITE ERROR $ $$$ BAK $$$ BAKqyO! ͣͣW_͕qyO! ͣ͒qyogram Aborted!$ WRITE ERROR $ $$$ BAK $$$ BAKqyO! ͣͣW_͕qyO! ͣ͒qy#*"7B5 <H-3"#͹#*"7B5 8<H-3"#͹#*"7B5 H-3"#͹#*"7B5 <C@400 <CH480 =CHP485 0=CU558 X=Ce0653 Cwp777 =C0300 =C6360 $>C6@364 L>CA419 t>CI490 CX0583 >H-3"#͹#*"7B5 ?H-3"#͹#*"7B5 @?H-3"#͹#*"7B5 h?H-3"#͹#*"7B5 ?H-3"#͹#*"7B5 H-3"#͹#*"7B5  @Cp+ + 11 4@C+ + 11 \@C+ + 11 @Cp+ + 11 @DC+ + 11 D`+ + 11 (AH-3"#͹#*"7B5 PAH-3"#͹#*"7B5 xAH-3"#͹#*"7B5 AH-3"#͹#*"7B5 AH-3"#͹#*"7B5 H-3"#͹#*"7B5 DBC0+- 3 lBC6+- 3 BC60+- 3 BCAp+- 3 BCH+- 3 CX+- 3 `CBE15%5 CBT15%5 CBTE15%5 CBbU15%5 DBs 15%5 B15%5 |DH-3"#͹#*"7B5 DH-3"#͹#*"7B5 DH-3"#͹#*"7B5 DH-3"#͹#*"7B5 EH-3"#͹#*"7B5 H-3"#͹#*"7B5 EC%P+-66 EC0`+-66 EC0P+-66 FC5DP+-66 8FCAH+-66 CI8P+-66 F=780 PROF/UNITITp=D F=780 PROF/UNITITp=D G=780 PROF/UNITITp=D ,G=780 PROF/UNITITp=D TG=780 PROF/UNITITp=D =780 PROF/UNITITp=D =780 PROF/UNITIT EC0`+-66 EC0P+-66 FC5DP+-66 8FCAH+-66 CI8P+-66 F=780 PROF/UNITIT+$E‹i!8$Ea!9"7cx)-%7c+~7c /?6Ej$j7ci[Ki5zi$jiiÿi*Lizi$jii[X2[#gs~-jij[Kij*Lizij*"z{*9"z{!e#qj!#qj!#qj!6"qj!!! ! !!!!!!###~++<ʀja!\$͆7c!~p s~ͳjʏjs~Rs~ͳjʤjs~֚;E: #j:"2"G,jf0 jj͞3j!"Eak!!a!;6#w2y25b~ 4/b*7#͕@7c͞3@k!$Eak!!aG 4:#*=+*7#@kʎkzkk4T_kxʶk!*#Iax 402#7cz¶k!$y¡kEaêk/j-͏/(Yʶka*7#6hDY|kk͕@½kk k͕@D|-hkff @!E$Ea!h#hNlfl07c!" """""$"$"&"!$~w+5l#"Ul* $:$'"Ul/l!'"'+[l! "~ylyl# llʈlʏl0 4:! s~>2#2."L*7#ͥ2s#El÷m!<"~q+F!v"sq:"ly'sq%Y> sʑr> @:;"lq:!DPm!" ʹl:"3m:!O$D9mWs3mws)m͜sq%Yy@qsq> 2!!;"~='sq3mG)Yx mmdm> sʑrèmsʑr> sʑr:"ʮmQ?9?!h#F_CDq_sʑr{@4TÑmxʱmQ?9?q:!D q*7#tm:! m:"mG:"2#ao!<"~,n+ͧ]nnG:/"aox*Wͧ]o&";"͞aoN_~=,n]?oao:"ao:"Gn!t#~6̾ao:/"ao:!Dao:Cao*7#6"OF͜C]o&!";"*7#_CͿB*;"͑ ڐn4T|nKF*6"}_|WھnónͦKʾnDʻn|@z£nþnJ*7#eBr!6"F͏W!6"FeB!<"~n+N_~=o*7#h#OF%YMZʑrͰͺs*6"*7#KF{_zW-o-oJ-oI5zo: $2y#*7#eBLao:!Dao*7#͉TaoDaoDao~w:!O$Doyo> 2!OWpͰ:"/!"ƈ!<"~q+F:*#Oxo!v"sڲo!"soͰqQ!"sozoJͰo2";E:"oy'sq%Y> sʑr> @:;"op͜C:"Sp:!!eSpG*7# ͉TSpDSp|@ADpͥ Hp4TW͉Tr4T6pp%YͿCpͿCͰ:"pspWs>@WspspWsp!y#^y|@Vx|@{rp!s#pwspx$Dʿp:s#¿p¿p͜spsy@%Yp%Yy@psp>sʑr>@sʑr:"p:#qƈqYq2t#͞E)Y:"G:#?q *7#͉T;qD;q?q2":! pq ʃq Wq> Gsʑr9?*7#x ̝? GÒq:kyq:"2" M\Lʑr:" q:#q͜C:#ʻqrʻqUGr>UͿC*7#~GUGq*7#͉TqY9?͝?ͺsMD*7#2Z#Gͷrr r]rrͫrͪjr!k#:#]r_Drr*7#͕@]r!#:"črD2c!y@TY*#"u#*#"w#*#";":#2y#:#2"*D!F:!s#s~_x#N ttN?͉TD4Tɯ2Da~*$|s~pDL:$_* %Y!~LʚtDY*7#+w"7#+6|@L+|Jt#:y#G:#YpDrGTʖtYpÑrDa~E!T!"s~͞>2#1YʑrtEZs~:$ u:s#upDu:s#Gͪxu*7#ouMu:$2^#uM͠66:!s~ ͉TLuD\EuLu !vD/u:Qvyvg."$v+'v:$u6!6-j-:$ʂ15&J\y2\:o$ * WARNING * This tool is damaged! Use another copy. $!~O#{dz íFIND - VER 2.0, Copyright 1981 - Oasis Systems $O! *?A[w# *?'A[x2 Incorrect Input Format $!F#%~#':2:2*E?H2«` Main dictionary is not on current disk! $MAINDICTCMPU!~U##~U::AG!O ~2#~2#WN!k "7:':!m%70ژ%!m%:G:O?M*Z–#ʍ ʖ>:O !% :O!m% ?ʀ*ʔ–+ʍ ʖq ʔÖ7ɷ!m%~ʮH ~#Ý:=2>2= > H!m%W7O`y)y!m%_+~w#WA\ 5w#A\5w#6}2*+w">2=> H> H_:ʚk@!ˆ fÌ>!k""2*~ʻ#"*G}º|º!4x'@'ON# A\ 5w#A\5w#6}2*+w">2=> H> H_:ʚk@!ˆ fÌ>!k""2*~ʻ#"*G}º|º!4x'@'ON# i`"`i{=Ļ )D)11ͻi`"{OzGH"D `iG^#V#=MD2^#V#~#fo2i`"q#p#s#rD 2o&)+V+^=w2 ʛo&)9^#Vs#r#=’2ͻi`"KBH"D O>G2᯲1Å 2i`"|}2!N: ~# DS#11 _ 2i`"K ) :o&E6oDi`"CK^#Vx]GjS]bllzW{_b! ~_#~WDi`"y! N#Fڟo`ALbS\¦öʶo{_zWyOxG-¦y/w#x/wD =11{ozg1}o|}/o}/o|/}{ozz^!21i`" Di`" F i`"ͻ D7 }o|g1Y 12Y 1b Y ڄ Y 24Y 24Ê 2>}ͭ 2ä!p+"*"yH ) y ^!`i<) MD!xGyO){_zW #= ɯ A A x& ^!; a z8 8 ^! ^!"| !1Y | N V Y | N f "N !1 ʕ !D ʈ !D ڈ • È ڕ ˆ Õ ڕ È ڈ Õ i`"! ; O' 4 2 {_y| }! z {2N2G Ay" # :ͻi`"KB@ ͻi`")MDG a # J J z"zɯO>G i`"_!} ^#Vz `   é | DP  x   D}o|g }o|g ** ** à 2 **DDí2 ? **D"""Y **"_>W>o>gz Wt / |怺2 z!+~ "~ *D!""!9+x> ¸ wxGyOzW{_# :2#:2#:2#:2+++~w#~w#~w#~w++++5» *}lg*}lgD**P ""**P """ᯕo>g>o>g[ "<{_zWyOxG] !""72xGyOzW{_*)"*)қ #""}o|g"}o|g ** *#"} *#":={ ""*"z OOx*X =  H_>W>O>G|C㴵DW * = *+ [Gxʞ{/w#z/w#`Þ|GOxʏ{w#zw#‚yʞGw#w#–*Dxʞ{w#zw#±ÞO!9Axw#w#*H+~+~Di`"E#)9~"## ѻ2i`"'O)9o`97"D)EO/ɔ>2ʭ{½#z½#œ:ºý$:O*D{/#z/#:~/ѣ#~/#:$O%y7Az9-i`"x! {zyoxgyGM{ozg{2&^#Vʛ×=–x! G{_#zWxʸ³:! yoxgy_z b ~9>o&D}K|K@}@|@KK2K@ ZO>G2*O ^#V7}O|G2i`N#F#^#V#""z}|DDxD}o|gD#)*N#F+}o|gMD2ͩ2ͩ*1ͩ**"*"N#Fq#p2ͩ*MD*#~=! V+^+F+N#KB21*+V+^" "*^#V TO* #~+~+ G*" ""*yvxʀ*~ĉ"2o&)) F+N q#p*$"M*"*" i`"/<_**^#V7}o|g",~H^#V#N#Fo>g9͚  o>g9͚**##H"****!9" "**"*,"+V+^}O|G *c<*"*!òi`"͢>*MD"*!ò =i`"W*|ʚzFҚ'w ‡!&#!+ ~!p=~! p=+ ¿~#  +\'G'w+>GG 3x=s#6sP''w+ as#6|@ @wʅÅ!!2O~22O#!+H!+!~@w/2"n"p"r"t!n~"Y"v"x"z"|%vX****~i`"2>͐[>ͺ[>M[%[D% [D%]T͐[%~**~%_~@2_[1@P>[! ڒ!A &">͘D%*t*r*p*nDD%*t*r*p*nD""v!v~.*[""v"x!v~?*[͡*|2}2ob! p*}D!͡*|b}22}! ́ڄ! \!:G~22͗*}|@g}@Ox~w #r# ͺ!ͳ!͐M~#YP~#YP^#V|LL^#V#^#VLz`Goxgx_xW!͖͖w+zp !))ҢzPڱOzyW#˜BzWx}|{z>2EDMq#p#s#rq#p#s#r>2Jͳ͘ !!͘0!!~>!T]@G#~{i~{HGoxgx_xW))҃))ҍ))ҕ ҝ# O  i`"_!^#Vz['f'q| |f !'''*%)))))l'{'.Ew I!P1bͻ"|>`i"N #_:{2^#Vͭ ڤ6+62z"D*s#r2*!9}o|gDxH"DxD7"D*s#r "!9͚D} "!!d !.!+~j !+}/<O!e !l d ͗!!t !p!e ****Dwrb!$T^#Vͭ ڤ"2Ҝ ß ͪ }o|gDx a {# ´ ´ {+  x a {#  {+  >w#"͆*1%7_y2 _: r' * WARNING * This tool is damaged! Use another copy. $! 0~O#{g} õHYPHEN+ Version 2.2 Copyright 1982 - Oasis Systems $!F#~#$º~#0:0G~0:0Ox>GN25 x25 :] …mm>?x> x!$6#6+ !$N#~)w ):$G!$_>wm! $ ! $~#`>-xxT> x> x_ !\s!\!\!\ !\ !\! s Input file is NOT on disk $77!YYTWOPTIONCMP ~ʵ# ʠ ʬc–~ʵ# ʠ ʬ@`@ _õ~ µ#õ~ µ#x!'Q! ͷ y͓Gþ!ͷ!Q!ͷ͓Q͌QF#V !sS2R#!$;O) AO[Oky0 Reading user file$2:,>2>/<O0:>2z/W{/_YQ!~#>2S0> a{ :Q2P:R2QS2R :ʑQ´! b!"!"2*~ʰ#"*+"G|x°!4>Á  ~# O*6 q#"6 F}M:>:"#>2".  WRITE ERROR $!:"6 w# FERRWORDSTXT $$$ BAK $$$ BAK :_!N^#V- g  g Rů2[ͤ>2N!""͖ Q¾:LAEIOUabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" :  ĥ >2b 2 28 * 9 ~~# x28 :8  ͪo :8 ~ !8 ~<ĥ S~ ~[ĥ ͪ>S!8 \~ ĥ ͑ĥ Ê ͥ. !8 F*  @w#“ 6"e:L*iͯ*e}¸|¸*e; ZQ{z|>2 !8 [ !8 F>ĥ !b 6` >2 : Z : 9 ! ~͚ !b *ĥ >2 :  >2 ! ~!8 » #~S !b 6#w!8 >[ĥ >2 >2 D» #~E» !b 6#6D!8 >[ĥ >2 >2 :  !b >E\ĥ !8 >[ĥ >2 >2 :   8 ! F>ĥ !b 6:  !8 [ĥ !b [ĥ !b ~#~wD y0K GW yW W GD  EHIKLOUVWXYCIPOCS ELBA EPOCS EREHPS ERUT ETAC ETAL EVIT EZI GNI LAC LAIC LAIT LNOIT LAT LUF NOIS NOIT REHPAR SSEL SSEN SUOIC SUOIT TNED TNEIC TNEM YGO YHPAR YL YRAN >2 2 8 !h Ϳ} >! w2Z >2 ~2[  G>ĥ ! F!8 ~G:[ <0 ĥ !0 #N:Z ! F_^#V ??Qgmmmumm>T%!0 ##~N/R/7y!\ 7>2 ö>2 öy! ʶ>2 ö>L_>2 ö>2 öö>2 ö>S¶! \:[ <2[ ö>Eʢ>O¶!0 ##~I¶! >[ĥ :[ =2[ : !8 :[ G>[ĥ ! 6FLSZ BCDFGKPTZ!8 ~>2 t!0 #~2#~2#~2:G:;! ;!;:[ <2[ ! :\t:Lt:!t:! \ĥ :Kk:Ct:\ĥ : 2[ <ͪ !ڂ   _*ͪ ʱ ! 6c>2 : !{>͚ĥ {! *ĥ : >2 >2 : ª! >uĥ ! **" !@ *ͧ**+ͧ  SYMBOLS NEXT PC END CHSWAFGLMAFUTERTRODERBE COM CON DIS EQUI EX HAND HORSE HYER IM IN LEX MACO MATH MAX MIN MULI NON OUT OVER PSEUO QUAD SEMI SOME SUB SUER THERE TRANS TRI UN >2 2 8 !kͿ$2>2 ~2{G>ĥ !8 :G~G:<ĥ !#N:!F_^#V4MUMMy!P>2 >H,>Y,>2 >2 >V!{\ĥ :<2>2 &!>ĥ &!_ʂ!cʂ>2 &!{*ĥ >!{͚ĥ >2y!U>2 y![>2 >I>2 &!>ĥ &!g!{*ĥ >͚ĥ >2: !8 :G>[ĥ $!{6>:8 .!8 ~.G<2 >2 !8 : <2*x<2+x<2,x<2-:,! “Uˆ:+Qʓ: 2 #:+! ʨ:*ʲ: <2 #:+G:,f#:+C:,K: 2 !8 ͚#:+Q :,U : =!~EͧU! BLBRCLCRcLcRDGDRFLFRgTGLGRKNLKLQNcNKNZpRPLPRRKSPSQTcTRtRWHWLWNWR FTLDMPNDNGNSNTRGRMRNRTST AGE AGES ER ERS EST :+2:,2!5: 2 !8 : G~G: ĥ !uͿ![5!8 : ͚: 2 !8 ~2 CGPST!8 ~=G#8 ~2+>2)O#:+2*~2+Hz:*!z:* 2*#~2+:)<2)z:*2+Ä:* 7:+ !8 q>cgpst:)!8 ~F^!8 :)_>2~2!:O:)=2):<2>Hy +:<2:):28 yh! ~=!8 ~=>͚ĥ 8 ! *ĥ b *ĥ F>8 ĥ !8 !8 ~2e2f<ĥ 2gEʙS:e=<ĥ E:f!8 <ĥ :f=2fÙ:fG:e:gS:f!8 uĥ >!8 ~2>20<ĥ :<2:<2:*!8 uĥ :!8 =uĥ 0:``:G::uĥ <ĥ :G::uĥ :2:<2=!8 ~22:<ĥ :=2Û0:G!8 ~:uĥ Û!8 :<ĥ D0:=<ĥ E0:G:$0:!8 <ĥ I$x<ĥ Z0:!8 uĥ >F##NJ#NU+##:>W>G~)o2~2:O:2_**ͫ:=2:<2>:2?@F#2#$>4>:VKVG_~y~yG~_Nwy+n>F¤ʟ#?O~?¤#Ž>æ>FʷG#?O~?#¾>>>O#O~x>#~<GYx~#yFT)TwXGw#JyOjjÞO~<{Gy=2ZÞYXѐG2Z~#”y:Zw!8 ~<ĥ ~<ĥ >>* !8 >2FG#N2a :~w>2xw8 Exception word file is NOT on disk $Reading HYEXCEPT.TXT file$] >2 !"1!>&")"+*"6!%6>2>2#ͤA[O:yO>2:=2+~ w#q#ͤA[->2*:<2x2%!%<ĥ !%ҝ*6:%*-}/_|/W*+##q*+#DM! zq w+ d*6*-s#r*1*)"+"1*+}/o|/g#*6+ڝ  Insufficient memory for input file Program Aborted!$y*)"-*+"/*1}ʡ>22*-*/z¡}ڡ|g}o"3~#fo" ~2#~`C2 G`Q2 }:q:n:}:#6*3"->29*3"/>297Ͳa{ :$!$">22*~#"!5!4>HYEXCEPTTXT*O N#Fr+sq#p0U>G=#w#wY*M0!0n& {ozg"V0!K0{#z"M0b*M0!0N#yʢ ~Õb!."O1:N *M0!$/{#z"V0$ _!.*V0~#~1 ~#"M0û1 !͒%Þ%SYMB1(J\y2\:o$ * WARNING * This tool is damaged! Use another copy. $!w~O#{dz ïLOOKUP - VER 2.0, Copyright 1981 - Oasis Systems $!F#~#$´~L2qO! JA[w# 'A[+~'+"S"+~'#"++x22{!"l!("d"f*"r:~U Incorrect Input (word too short, etc.) $!F#'~#†:2z0*r"t:O!'F#x>?ʵ~#­0 ¥:O<2z!'F#~#x>?0 :O=2z!'F#x~# 0 :O 2z!'F#~#4!'Y^+Vs#r:_!'~w0 ,:2|~ Main dictionary is not on current disk $MAINDICTCMP~s!~~s##~s:q\:|AG!O ~2#~2#N! "5\*d"h*f"j*l}ʶ*h*jzX¶}ڶ|g}o"n'~#fo~G’ʇ~ʤ~’#l*n"h>2}D*n"j>2}D*r:zG/_"r'w#*h}/_|/W*f##*f#DM! z w+ z*r*hs#r*l*d"f"l*f}/o|/g#*r+5 Insufficient memory. Program Aborted!$:{GOgz\\:q‡:|!'g!("v*l"x*x}\++"x*v^#V!'͇ʺ*v##"vÓ!'~x ~#ʿ'*t͇>*x :=2>2m\ \> x!'7O`y!Yy!'_+~w#CA\>5w#.A\N5w#U*5+w"5>22m> x> x_~?ʟG?ʟ¼ʭ~ʸ~¼#Ç>7a{ :2 @! >!"5"322*5~.#"5*3G}-|-!24x ~# 9RET HLT CMC STC CMA DAA RAR RAL RRC RLC NOP CPI ORI XRI ANI SBI IN SUI OUT ACI ADI CALLJMP LDA STA LHLDSHLDMOV ADD ADC SUB SBB AN}{ozz^!21i`" Di`" F i`"ͻ D7 }o|g1Y 12Y 1b Y ڄ Y 24Y 24Ê 2>}ͭ 2ä!p+"*"yH ) y ^!`i<) MD!xGyO){_zW #= ɯ A A x& ^!; a z8 8 ^! ^!"| !1Y | N V Y | N f "N !1 ʕ !D ʈ !D ڈ • È ڕ ˆ Õ ڕ È ڈ Õ i`"! ; O' 4 2 {_y| }! z {2N2G Ay" # :ͻi`"KB@ ͻi`")MDG a # J J z"zɯO>G i`"_!} ^#Vz `   é | DP  x   D}o|g }o|g ** ** à 2 **DDí2 ? **D"""Y **"_>W>o>gz Wt / |怺2 z!+~ "~ *D!""!9+x> ¸ wxGyOzW{_# :2#:2#:2#:2+++~w#~w#~w#~w++++5» *}lg*}lgD**P ""**P """ᯕo>g>o>g[ "<{_zWyOxG] !""72xGyOzW{_*)"*)қ #""}o|g"}o|g ** *#"} *#":={ ""*"z OOx*X =  H_>W>O>G|C㴵DW * = *+ [Gxʞ{/w#z/w#`Þ|GOxʏ{w#zw#‚yʞGw#w#–*Dxʞ{w#zw#±ÞO!9Axw#w#*H+~+~Di`"E#)9~"## ѻ2i`"'O)9o`97"D)EO/ɔ>2ʭ{½#z½#œ:ºý$:O*D{/#z/#:~/ѣ#~/#:$O%y7Az9-i`"x! {zyoxgyGM{ozg{2&^#Vʛ×=–x! G{_#zWxʸ³:! yoxgy_z b ~9>o&D}K|K@}@|@KK2K@ ZO>G2*O ^#V7}O|G2i`N#F#^#V#""z}|DDxD}o|gD#)*N#F+}o|gMD2ͩ2ͩ*1ͩ**"*"N#Fq#p2ͩ*MD*#~=! V+^+F+N#KB21*+V+^" "*^#V TO* #~+~+ G*" ""*yvxʀ*~ĉ"2o&)) F+N q#p*$"M*"*" i`"/<_**^#V7}o|g",~H^#V#N#Fo>g9͚  o>g9͚**##H"****!9" "**"*,"+V+^}O|G *c<*"*!òi`"͢>*MD"*!ò =i`"W*|ʚzFҚ'w ‡!&#!+ ~!p=~! p=+ ¿~#  +\'G'w+>GG 3x=s#6sP''w+ as#6|@ @wʅÅ!!2O~22O#!+H!+!~@w/2"n"p"r"t!n~"Y"v"x"z"|%vX****~i`"2>͐[>ͺ[>M[%[D% [D%]T͐[%~**~%_~@2_[1@P>[! ڒ!A &">͘D%*t*r*p*nDD%*t*r*p*nD""v!v~.*[""v"x!v~?*[͡*|2}2ob! p*}D!͡*|b}22}! ́ڄ! \!:G~22͗*}|@g}@Ox~w #r# ͺ!ͳ!͐M~#YP~#YP^#V|LL^#V#^#VLz`Goxgx_xW!͖͖w+zp !))ҢzPڱOzyW#˜BzWx}|{z>2EDMq#p#s#rq#p#s#r>2Jͳ͘ !!͘0!!~>!T]@G#~{i~{HGoxgx_xW))҃))ҍ))ҕ ҝ# O  i`"_!^#Vz['f'q| |f !'''*%)))))l'{'.Ew I!P1bͻ"|>`i"N #_:{2^#Vͭ ڤ6+62z"D*s#r2*!9}o|gDxH"DxD7"D*s#r "!9͚D} "!!d !.!+~j !+}/<O!e !l d ͗!!t !p!e ****Dwrb!$T^#Vͭ ڤ"2Ҝ ß ͪ }o|gDx a {# ´ ´ {+  x a {#  {+  >w#"͆*1+W'y2 ': :>  ! } ~O#{/v  E!F#s~#$Js~#Lf2q UMss~2o ͬ!m~$ʒ ʒ  +~#Š!\  !\  !\  !\?  !\O  !\_          Q !"| !+"t "v *" ! a !*t ʼA,[,w#t AS[C[C+~w#/t?t> 6#Åw#t t[t+~wx2 *t "x *v "z *| }*x *z zڶ}|g}o"~ *~#fo~G~,~#*~ "x >2 â*~ "z >2 â* : G/_" *w#)*x }/_|/W*v ##s*v #DM! zs>TÁ:q ʁ~# >: }!*: Gʀ~-}ͅuʀ#~+ }#XÀT*:#":!*">2: G*ͼ[ʧͼA[7~O͟~#~O͟~#~A[ O͟~:O: *<#"<!*: _+~2l: V~O'9͟VSCsV+~G'VH͟͟:G!*umN( #]:lO( !*: G~ ʱ ʱ#|!*: _N( *q#"!4:   ͉ ñ!*: _~  N( !*: G~[0w A[0~-'ͅ #~+ '0O( 0*8#"8#T!*: G~ #H>2p :o O( *r #"r ~y#*~ "x >2 *~ "z >2 ( &( %¤:p *:} a    O ? *r | r  *:|   *8|(   *<|;   * WARNING * This tool is damaged! Use another copy. $MARKFIX+ Version 1.4 Copyright 1981 - Oasis Systems $Input file is NOT on disk $Marking file is NOT on current disk $Insufficient memory for ERRWORDS file Program Aborted!$ * WARNING * Word too large, or non text input file!$No words marked!$ words marked $ words corrected $ words were undivided. * reform * $ words changed length. * reform * $ WRITE ERROR $>2` , , :`  ,Q , , >2` , >/<. O0@ :` H Q >2` z/W{/_Y !~#f >2 ͡ ~ > a{ : 2 : 2 ͡ 2 :    ! ° !" !" 2 * ~ #" * +" G|x ! 4>    ~#  O( * q#" }‹  | :p q >2p  <   !" w# „ ERRWORDSTXT $$$ BAK $$$ BAK*}|̈́ ":N!̈́ Q1 !=:L  ! !|"!&~ #~#V z :w " /!k/&"%"$!F"1$_.!O/&! No Machine code file found ! Machine file ill-formed ! Machine file load address too large ! Not linked with PASDDT *m"6,#"6 ! File name error. E@LIB=.3@SN03@M=.́#"!GF"6$!\$F0\!$h0!U$U!$#h0!j~#T]L!6$!́"! ́"!\$g9!9!!9"" ""!$$"}2D:D*!9Q!*DÃ"!/ì&!1!̓**1w":1!1~21w#w0N#F#y™1#ï1:w#:w#q#p#~#~#†1́#"!GF"6$!\$F0\!$h0!U$U!$#h0!j~#T]L!6$!́"! ́"!\$g9!9!????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA c\COMPOS1PS12 PS12I $PF } $PG $START[$DONE {$QUIT kCODE ~                                            SG10[{kaD٨ݨxѨըߨ˨Ψ ߧᦋx x x x x xx Ǩ xx 99 99 99x 99 99 99x 99 @  @@ BBW0 BBW0 BBW0 BBW1 BBW1 BBW1B45-1-0yEFGH<7#77[73S0S1Tp1p059=AEIMQUY]7777777777 7 @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|=++=--=\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA cCOMPOSPS12 ;PS12I ;$PF $PG $START[$DONE {$QUIT kCODE ~                                            SG10I[{kUHDը٨xͨѨۨިŨɨ  Pߧᦋx x x x x xx xx    x   x \ tPYN Output file for user area patches already exists, overwrite (Y/N)? $ Output file for driver patches already exists, overwrite (Y/N)? $ Can't create patch file.$ Can't close patch file.$ Can't write to patch file, is the disk full?$ The patch at the label $ was larger than WordStar 3's maximum. You must patch it into WordStar 4.0 using the label patcher.$Input File is not a WordStar file, or wrong version.$Can't find input file.$ All done. $ This program moves Printer patches from WS.COM versions 2.26, 3.0 or 3.3 to autopatcher files for WordStar version 4.0 The format is MOVEPRN WS.COM FILE1.PAT FILE2.PAT FILE1.PAT will contain patches for the user area in WS.COM version 4.0. FILE2.PAT will contain patches for the CUSTOM or SIMPLE printer drivers. Try using the patches on both drivers to see which works best with your printer. $ is in the $printer driver$user area$ autopatch file, label = $  PSINIT$STARTPSFINI$DONE PSFINI$QUIT PSCRLFCRLF PSCR CRET PSHALFHALFLFPBACKSBACKSPPALT ALTRWDPSTD NORMWDDPHSPCPHSP DPHRUBPHRUB RIBBONITLON RIBOFFITLOFFUSR1 UPRQ USR2 UPRW USR3 UPRE USR4 UPRR SOCHR STKCHR*!Ny #Ϳ)ͿNͿ!~ !"%Q!*_|}*] |} >  >2Q !(-T #!M- ##!($!M$ !($! " :Q !H D! D! p M͖! " :Q !d i!< i!< (͖!(ͻ !Mͻ!ͻ ""ri`"!t"~#foQ"~E*~2#  *   #~ # >=*F:="4xk>,#~k#'>,xk> > EA  [ * "*##"~#F+©> at }0G!*#s+ҵt*r²*rͻ$ !tpx#" ~#   x2 ~ #  ~ _# # > _> _#~Ow 6#?y>~¬#~Oʴ 6#•<ʴ+6>>ö>~#~O<+6>>-#~O 6#<+6>>>~Ļ#<9>!w#w#w#wh>jAhQh>j>~ʊ#!>ʊ>~ʭ#">ʭ>"7~w#¼l!Ͳ x>͏!Ͳ x>!:ʨOy<#~+:<~Yʨ~@# ʨ# ʨͯҨ ~.#v+ ͯҨ# vE ʃ~.#ʃ+ͯҨ#`xʃ> {yʛͯҨ#ʣ Š> ›>ê>³7~0?:A?[$/#-@&*?a{ ɷG~w#%!R #~+_:P2P@@%@ _I!P~6> nO> n*oz{%!R>ʊ>~ʭ#">ʭ>"7~w#¼l!Ͳ x>͏!Ͳ x_+_>_<_fj-:~-.?#!# #" DATA c COMPOSPS10 kPS12 m$PF $PG ʨ $START+$DONE K$QUIT ;CODE ~<<884,88<<$$888488888888888888<<88<88<8(8<8<<<8<<88<<<<<8(4(0<0888880<8,,<,<888844088<<84((00888088<0<((48<<<<<8<<<<8<888<<88808088<0<((48<<<<<8<<<<8<888<<88808HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<DD@@<$4H@DD((8D @ 8@@@@@@@@@@$$????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #"DATA cdCOMPOSC$PF  $PG ! $START$DONE ŧ$QUIT COD1y'^%y2 %: 8 ? O! ~O#{- ? Fm:m p!l͏ !m_ ͑ !uh ͑ :\2 22V2x2 ˜ ? O!"!{'+6#"6-#D A[w#D A[ʿ+~w#D ʨ ʨ+6? *~}{ZUQSQMQDQPNR:LCʶVʦ/  ZO*iaw{w *~ ? #ͨ> 5 5 ~/§ ? #ͨ~5 ~#ʨ*we{ ? Z *6-3HA[!0%6/# ʓʽʽ#[- #-#A-5 w# ʁZ!F #:7y_:Z!:<=[<#0%>/~5 ~#m-Zʽʽ +~w*͋+#~¢}/o|/g#H  w+ {»0%w#*#͋͜*# ? *~-͋͜*+~+~#"!" #~+/ #"*+"*~}-͋͜=*we*#͋͜*#~h#~/w#~x#~#~#ʋ~/ʋ"*#"!P ¿Z ? !4 ͫ w# *) )|2 >2 ͫ }o&&" ͜ G͜ O͜ !4P x2  ' ? y2 >2 ͫ o&&" ?ͫ `FR>- Y> 5 @i?  $!%ͼOͼTWOPTIONCMP ~#  c~#  @`@ ~ #~ #x!%p'qC J R !Opz=naO $qF#{r ? b ? ZP ‰!{'~#M°2C¸2S2U2͋á:%$$$ SUBVVm ʹV x:4!>UF:!>SF2 ͊  ͏ ͊ ͏ ! P ‚! f :O͌V ! f 3!{'"N:ʟ*#'c+͝3ß+͝ß!'͝3ß*:O͏!'͝3V  *͋~7!1!'ͫ 7A3[3w#ͫ AV[GG+~wq#c?G~}怆҆~ƀ!{'~ȹ̝͋Ï#~#+ ʠ2 !{'~MC͋÷#~#+ ~/2 Add word to: Other options: U>pdate Dictionary P>revious word S>pec. Dict. "SPECIALS.CMP" N>ext word M>ark word R>esume review D>iscard word L>ook up word C>orrect word V>iew context $ --> $ End of list. Press "return" if done. $orrected to -> $* WARNING * This tool is damaged! Use another copy. $REVIEW+ Version 1.2, Copyright 1981 - Oasis Systems $ERRWORDS.TXT is not on current disk $ Press Control-C to abort, Space to resume$Context file "ERRWORDS.CON" is not present $User file not present $ WRITE ERROR $Checking Dictionary...$Word too short to look up$Main dictionary is not on current disk$Word too large to look up!$No similar word.$_ͫ a{  !͑ >2  V!͑ VVm !%"  Ñ  ~# ’ ͫ * : & ! º >!&" " 2 * ~ #" * G} | ! 4x>+  OD  D  D  * q#" }… %Vv  ? O!%" w# ~ ɕ%ERRWORDSTXT CMP $$$ERRWORDSCON ERRWORDS$$$ERRWORDS$$$ERRWORDSTXT $$$ CMPUPDICT CMPSPECIALSCMP{'>2 ~~#y22!<#">2Z:2 ?  !"!T""!<#":;  Ý!F#~#C:2*":O!F#x>?r~#j b:O<2!F#~#x¤>?— :O=2!F#x~# ¾:O 2!F#~#!Y^+Vs#r:_!~w !M6# "Ab  ÝMAINDICTCMP2A6!2~6##~6::AG!5O ~2MA#~2a#>2%N! "*"*"*}U**zU}U|g}o"~#fo~GC1&~C~1# *">2*">2*:G/_"w#h*}/_|/W*##ҝ*#DM! zʝ w+ z“**s#r**""*}/o|/g#*+  Ý:GO\Xz::!X!T"*"*}++"*^#V!4*##" *w#:*:_#"!Z4>2S:Zm$ ? E2[!<#"V"X>2T:T2U*V"X:U_!~ô0123456789!#$%&*+/=?<>()> *X:_~' ~#*X*>*> ![5E!U~w!Z=0*V:_#"V!T4!S5~æ*X:_"XÊ:SGI!%7O`yzͲy!_+~w#%A\—5w#ÇA\§5w#MU*+w">2 > > _~?G?~~#>7%a{ :hA!V 4Z>!""2*~ʉ#"*G}ˆ|ˆ!4x ~# ” Ÿ~͵#ê* O<#>-~~>=!~~~#>7%a{ :hA!V 4Z>!""2*~ʉ#"*G}ˆ|ˆ!4x ~# ” Ÿ~͵#ê* O<#>-~~>=!~Zg#gg.i2g0.g0lmЋfa= &'`bЄcaЍacabbcbcbЃ2bPa#ca`dd`cab`b`6aabЌ`1a`bcd badbcbadbb`H`FabЄecЍce1b`d b`b`edbcb`ebbeTeSe deЄ egf3gfghdg gfdg e egg: fa`a-ݰ`    eaed0`eaea`a`W/zP  \ .JnPR Jvjd HF$<NRp|>INITIALIǀǁD8TEMPFILEǀSTOLENʁC%CalcStar (c) 1981 c/o MicroPro Int'l -ȀʁCȁ}Ɓ}ȀƀʁCƀЃȀƀȁ}ƀ> ]MʁCSTOLEN SOFTWARE !!-ID.LCDID.LCD`ƀ¤ 'ʁCȁ}ǁ}ʁC-ǁ}CS2676L85ǁ}-" CSMASK.MSK" RNecessary file # CSMASK.MSK# not on default disk#2ʁzʁvˀǀ TERMCAP.SYSǀ F3Terminal not configured... type "INSTCS" to do this#2pƀ8ʀ#ɀˀʀ ʀʀȁ}ǁ}ʀǁ} ǁ}ʀ ǁ} ǁ}ʀǁ}ʀXʀЃɀ XȀYƀɀɀB.BSUMBAVGBMINBMAXB CNTBSLOPEBDEPDB REGRBPROJB ABSB EXPB SQRTBLNBLOGʁo ǀ.\Writing Data file..#d. fcb h h,h"h`" h i&ha"" ha a `" < /h h ʀcha'c, cbS 5Z`P  # - hit space#  "2RVFILE WRITE ERRORɀ2 1'y2 ': :  Ì! *~O#{/  E!F#~#$J~#Pf2"UB‡2&~A}[Y2 2 #UFª2!~AYQY@22#UC¸2(2!UL2#US2$~A[Y2V #UI2%U UJ  _e  Ug:!G:"%>2#:m 5$52)!\(!l *!\(jh  Ì:)ʎŽ  >2)Î  ÌMAINDICTCMP0  !"!""*".>2'! :$̓ R wA[O: 00:y21*">21*.:0G/_". w#œ*}/_|/W*##*#DM! z><i`MD w+ z*.*s#r**"":(I:=O:G*&:0 _}o<ƀo y<ƀO<.]*.+p+q+s".*}/o|/g#*.+  Ì!ͶIͶTWOPTIONCMP ~#  c~#  @`@ ¼~ #~ #x!j'qC J !Ijz z=naO $F#ul!   *|g}o͞ F  !"*" ͝:*M*}++"*^#V{! ) *##"ùM*6#6#"óͨ*}++"*^#V{*! ) >5*##"ͨ*6#6#"!  7O`yk͝y! _+~w# A\ˆ>'w#xA\˜>'w*&w+"&!  7A[w# A[ʼ+~w:5<25o&)^#V6N! n  ÚUPDICT CMP:)!   Ú*}|DM!^#V#zm*#" x[*}¥?  $$$ SUB:!}   p*DM!^#V#z3: xG&G%:(} !!*p!"2! ~#3 + G*DM!^#V#zY 333 xA GG&G%l :"‹ :#   *!N#F#x    ʦ : =2 >2  > {š   *͞ [   $> > _:# _:"+  Compiling Word List$ Unique words Checking Main Dictionary$ Checking Update Dictionary$ Checking User Dictionary$ Writing File to Disk$ Listing Unmatched Words $* WARNING * This tool is damaged! Use another copy. $SPELL+ Version 1.4 Copyright 1981 - Oasis Systems $Illegal switch ignored -> $ $Input file is NOT on disk $User dictionary is not on disk! $Main dictionary is not on current disk! $ * WARNING * Word too large, or non text input file!$ Insufficient memory for input file Program Aborted!$ No incorrect words found.$ unmatched words.$ Incorrect MAINDICT.CMP file! $ WRITE ERROR $>2   : ʿ ,   >2  >/< O0 :  >2 z/W{/_Y!~# !"&>2*7 #) ?G~C 怆L ~ƀ̓ .] :: m m ̓ ʀ ʀ n U : 2 ͱ \« :&ʪ ͱ ʫ \š É 2 » > a{2' *&, !~ ##~m  Ì>2* ~"&*&+"&> ~# *OG G G*2q#"2}Š{  Ì!"2w# ƒERRWORDSTXTERRWORDSCON CMP GтWx!̈́ P :N̕>ULTw !\~# a 2|:] !6 ͂<ͪ !ڂ   _*ͪ ʱ ͪ څ æ *+ͪ !w{ö *#^#Vr+s+6̈́ *"s#s#r  Room for #E$ entries.#zɀɀ !ɀ 2c*Ww  "$&*v.246@BDFHJ TVXZ~i b ʁZ ^!^&ʁZ!!& ʁZʁZFɀʁZɀɀ(ˀ  Auto aborted # ɀ?ʁZ#  ? too long! # vʀʀ  ? computing..#`` ` ʁZ`$ =#`ʁZ# ʁZ# ʁZGɁu ɀ ɀɀ ɀ ɀ ɀɀ ɀ ^ʁZ/bʁZˀʀʁZɀR=ɀL/ɀC!ɀPʁZ/PAGE# ɀ=ˀɀɀnɀɀ2^+ ʁZn ʁZ#{nʁZHn  !ʁZ! ʁ~ʁZ#  ʁZʁZ! ɀɀ$ʁ~#ʁZ#ɀɀ ɀIɀɀ#>  #ɀ#<  #ɀ^ۡ5ɀ+$  Auto complete # `\ɀ##ˀˀɀɀ    ʁC# rv_#1.0#  [#p#] ʁZ#4ɁuL-R# T-B#ʁ~#ʁZЃʁZ*ɀˀɀˀɀɀ!!gg  g g g v' g#' eg hGg ag a &g ag aʁl ʁl#aa }a` ˀˀɀnoUfɀɀ YɁu ɀ ɀ <ɀɀ /ɀɀ "ɀɀ X0O' hʁZɀooJɀ >ɀ?o.ɀ; #ɀ@ ɀɀ ɀ^ j568n H  D "YCONSOLE:P``CRT:P`PrrT<< <R4:/(AHardware parity error(Unknown device specified(Illegal I/O direction(Undefined hardware error( Device referenced is not on-line(File not found on CLOSE(Illegal file name(No space for file(Bad random access("File not found on volume specified(Duplicate file name(File already open( File not open(xError reading Real or Integer(RPut not at EOF(; End of file(' nG)rN9 IO error: (? .Unknown run-time error(BDivide by zero(Exit from uncalled proc(rArgument out of range(Floating point overflow(Illegal PCODE instruction(Integer overflow(Value range error(Non-existent Proc/Seg called(Stack overflow($String length exceeds declared limit(Can't read Pcode file(Programmed HALT(Program interrupted by User(String Index out of range(Non-existant External called(Case out of range(Set element out of range(fPointer invalid or Nil(HAssertion failure(/(H4gS) ~`D ! ##%V* tu Value= #%r60Enter new value: # iB`tJ@Value= #`t$`uJ , Limit= #`u$cVValue= #t$$Value = #sNil#s 16### T asCurrent dynamic length= #`$, Illegal index value= #at$" as`" v @@  File at 11<$y2$:; ! ~O#},|,!E : S ͽYý͘2<22 ͸}ʊ"͸ʊD͸͘ʤ=ͨfcͽͽuͽ>2!xF#wTWDFAULTCMP:]r5!\ͮ!lͮÝ! ͮ!Z55!eiͽ5 ! ͮ!Zʝ5!ҝͽiCMP :ʒ0i2ycͽ >2z2{>2z 0ڰ2|4ͽ >2}2~>2} >^@02ͽ />*2 @>^@0ʒ!6#\!xF#~zSNͽ!&: ʵsͽ!&:yͽ:zͽ:{:|ͽ:}ͽ:~:ͽ" ͽ: >^@ͽ ʤSͽSNIYN 3ʹ7ȷͽ ʭʹ} aw#axʾͽH >  ŽͽHxa~# ¡a6x7"`i"#~:)+~r@. #*> ͮ@.* 7*+~͖@*w## ~rR p#AZn7.p p,pp7!ʇ# yÌp0ږ:paڢ{Ң An[pɅo$!"#$%&()+-/@\^`{}|~_'* WARNING * This tool is damaged! Use another copy. $ $-The WORD Plus- Version 1.21 Copyright 1981 - Oasis Systems $Can't find tool "$.COM" $SPELL$REVIEW$MARKFIX$ Name of file to check? :$ *ERROR* Invalid file name!$ Special dictionary name? :$ Save context info? Y/N (Ret=N) :$ Ignore UPPER case words? Y/N (Ret=N) :$ Ignore text between? (Type char, Ret=None) :$ Ignore lines starting with? (Type char, Ret=No) :$ Mark words that change length? Y/N (Ret=N) :$ Marking character :$ Save new defaults? Y/N (Ret=N) :$ These are the current settings Press return to proceed, or space to change$ - Summary - Checking file : $ Using dictionary : $ Saving context info$ Ignoring UPPER case only words$ Ignoring lines starting with -> $ Ignoring text between -> $ Marking words that change length$ Marking character -> $~# x: _!\ͮ!lͮ!6$#:y+6C# 6F# :@w# :zH6S# :{w# :|S6I# :}d6B# :~w# y2!q""_!lͮ!":2\ͽD_!\ͮ!lͮ!6#6$#:6L#!46M#:w!":ͨfͽ!&ERRWORDSTXT~5@>:#N~ >.N~ ]# O!"*"k!\͘!l͘ 6#6 _~# ° $ *a{ _SPELL COMREVIEW COMMARKFIX COM Completed file $*Qʅ = =Uͧᯕo>gͧ 'd    :`a`a:``a`a8 `b`a`aaa( ǀINFˀ&File name: (make sure file is saved)# ɀ2 Ȁǀǀ.CSDǀ  Not found_ Password: #    KFNWUONWM  NOT OK# 2`ʀqˀrˀˁuʁo  ȀȀ  READ ERRORƀ Load position : ##ȀȀ7ǀǀ Bad offsetƀЄȀƀЄȀƀʃȀƀɃȀȀƀʃƀɃArray bounds exceededƀʃƀɃpȀ hȀƀ ȀƀьMȀƀ ƀ4ƀ ƀƀ ƀƀʃƀ ƀƀ ƀƀɃƀȀʀƀʃʀƀʃ]ƀƀȀƀ. ˀˀƀƀ !#;r `P  Write error: ## 2RFǀF File name: #ʁo#ǀ ǀǀʁoǀǀɀ2ǀ ǀȀǀǀǀ.CSDǀͬǀ  File exists. #  Destroy old contents (y,n) ?#YN"ˀɀY2`[Verify password to remove: #ǀǀ `ǀǀ KFNWUONWM 2ǀǀʁoǀǀǀǀͬ Password ( = none): #ǀǀIAgain: #ǀǀǀPassword not the sameǀ `ɀ`ɀ`FE`Ɂu`ǀ P(artial or A(ll #PA"AȀƀȡǀǀǀǀ 2ɀȀ``` ƀȡ`ƀ`ƀ  Saving row#ƀ $ƀq ۣqƀƀˊƀɌƀ̊ƀʌL] ```ʀ`ʀ` I/OpƀpȀ CloseSaved#. C `GAnd?#ˀɀ^ jdk# ~ y u qmi#SbN  "$&(*,.02468:<>@KUFHJL[PRnuXZ\^`w   r j ! ;<: = Not impld. N JaJ ,2J;2J ;BBBB BJJ1 END 1Z TRUE 1C FALSE  1, CLEAR 1 DISPLAY 12J 1 OJ0J!2J< 11 111 1111111 ^C )IA\"$&(*,.0246j:<>^BDFHJLNPRTVXZ\^`bdfhjlnprtv15#expected# 41@XJ 4PS 8ddۣ BO 6l iveɀŃ jpgjq dgfhdpi֔vf dff) VCfe hqfeˀhsˀɀơ(hrˀ diɀgfˀɀgQ \deee  da e cʀ` ɀbbɀ"`e cʀbɀ be c P d fЇ lЃ klj kۃ k jc L Gaɀ`ɀˀ`(4 af gg GG `jk j k/  ` jʀ jˀ N)   h cmC C#oh  m m$Q'C%7m"+= ! W;% 9k-& ( afgg  I h   j   y i1 (1  Illegal value.#2/= ! uY q   M`E ЇЃll  2EˀG ɀɀˀ(G`E  E&V8 g֔vfptep eph e p p֔vfpt֔vfpv qffp֔vfpuuІ vv pd$d֔vfp$ Error in index#T& hb`/aˀ ɀCb  aCbab7 B bappɀ-2!`"ɀɣnEˀ< ɀ"E$> C1@$y2$:7f !9~O#{, Bͳ!\[f ʚAf[fA[xOx-x*>#">f *>̀ ![TWOPTIONCMP +# K~K   cD#~K   @D`D@ x![F#S'j# X:z 0 ͘>2ͽͽ:ʡ,ͽͽ>2ͽ>/<ڿO0:>2z/W{/_Y> a{ :W5@Q!@"Y>2X2W*Y~M#"Y!X5M!W4> ~# ]* WARNING * This tool is damaged! Use another copy. $WORD COUNT+ Version 1.1 Copyright 1981 - Oasis Systems $Input file is NOT on disk $There are $ words in the file $ ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON# $ words in the file $ ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON#  Not a record#$5 .,^,/,\ v1abOb Too many fields#1c  ?#1cb111 abx 3 ` D֔vI 1 Z1 tʀɀuɀG,ɀBBC C#ɀˀ%֔vID 1 ; ֔vID v5 /,\  p  ˀ֔vI  D1 Boh = !;  D< Unknown mode# acgosuw ?#X=^f(dy4[ceMdap`:acgdbdbpbddydyda8dyddy`ddydToo many#{ `BOrpa44 <: Xa4Ma4B ?#5BXI ` "dN(*,KE Crˀɀˀɀnv` q֡Րpb bb$: ;Ր b!( ֔ve ededed֔veCtmtn[e ֔vId/q֔veveq , e) K4nCbyˀbɀcsˀdɀcrˀ`ɀɀɀbdvaɀŃ e ev9b$: ;dՐ d֔vdvaɀŃ pcq d֡dՐ x+Ȁap apapBaȀbqaB| Break at ##ƀ$Ua-2Iƀ-2# ƀ$<> xvrMC PASDDT#<!2`1135 /,\,[,^ 15 ; 4j-4jƀƀƀƀ<: Line# #$Breaks: #ƀyȀƀˌ*B# ƀBp$, BȀƀ Trace on.#CA`< ?#/6> %3, "$10 Exit PASDDT.#6tiNV  ~ 0 Df :h6pV:-C``CCpE "D``DDpɀe{eqdld \d i jJ i h8i hh i hgcfbi hgai hf`h dpep:|e % ɀ iiq hh h  o oo onggemffd C ЃK,etc.# &2,  # Ѓ9ERROR: would delete ref(s) at # # Ѓohp ip #,.H&ɀcC`$cqb"b  b ba`$abp`cpJ6 \(`eUc$ag8cbdd  d dcb$ ɀbco`L t)\!3   ʁ~Ѝ\ʁ~ ʁ~ 7    Ѝ\     ++*2 ,  ,"-`*2 . ./++~   +.! cb cc +!+`dd d ۡ`dd5 AZd5  >f  .+5j     .I=/!     0dgd       ii diij l6d d(d(Z "709Ra# 0 0}-+.a.+bE_+-`+09.g 0+09`gg<,g7C 82*2*,&*& 2  ""*29[.ʁvʁz"e 9dʁz"ʁvʁvʁvʁzD :+:12--++!"' !/0\.!+(/0).+"'_3 +3\` ``3\+09.8AZ!  3a.a+AZa.a19!` ` 35AZ+1.B11111.(+.1}1}6dd\.ʁzcb d44?cb2cfbe22 ].ʁz2ʁz4z10d1 b1 D1 &<<, 1 ^.,+1 .).+1-&,',1% $:ʁzdd  ddʁz_.ʁvʁz;ʁzʁv#H|k 95. ,02W^`{WSj'44**T+,4 (%-&l33 `%d 3`/Q`/'<,%<, 22(i2=;;,`+z 11< h+>f+=g+hfgy!     1ghf 00de .;i0:= ;:\+\00:;\.A& *cdd $2d !""  !*  Value range #à WINSTALL 4.00 21 Aug 87 Copyright (C) 1983, 1987 MicroPro International Corp. All rights reserved. 20 ÃÃÃÃÃÃÃ@  BA  KB  CC  VD  YE FF AG  H  DI  QJ F K F B P DEL=+Uninstalled Terminal = )TYRE(! ʃ!Ã()2Draft Printer DRAFT d,- ABCDEFGHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRWS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 WPRVIEWPreview to File SIMPLESimple Printer XTRACT Extract Data/Document to File ASCIIPlain ASCII Document to File DRAFTDraft Printer TYPEWRTypewriter Printer AUTOLFAuto Line Feed Printer CUSTOMCustom Printer DIABLODiablo Daisy Wheel NEC Spinwriter 2015/3515/7715 630WPDiablo 630 with WP Option 630ECSDiablo 630 ECS QUMEQume Sprint Daisy Wheel C. Itoh F10 Starwriter QUMEWPQume Sprint with WP Option SR550Silver Reed EXP-550 SPINWRNEC Spinwriter 2000R/3500R NEC Spinwriter 2010/3510/7710 NEC Spinwriter 2030/3530/7730 SPIN50 NEC Spinwriter 2050/3550/8850 NECP2INEC Pinwriter P2/P3 -3 or -6 NECP5NEC Pinwriter P5XL/P6/P7 MX80'Epson MX-80 or MX-100 with Graftrax+ FX80Epson FX-80 or FX-100 RX80Epson RX-80 LX80Epson LX-80 LQ800Epson LQ-800 or LQ-1000 LQ1500Epson LQ-1500 FX85!Epson FX-85, FX-185, or FX-286 IBMQUIIBM Quietwriter IBMCLRIBM Color Printer 5182 IBMGRIBM Graphics Printer IBMPROIBM Proprinter IBMWPIBM Wheelprinter 5216 IBMWPEIBM Wheelprinter 5223 E ML84Okidata Microline 84 step 2 ML92Okidata Microline 92/93 ML92I"Okidata Microline 84/92/93, IBM ML182Okidata Microline 182/183 ML182I!Okidata Microline 182/183, IBM ML192Okidata Microline 192/193 ML192I!Okidata Microline 192/193, IBM ML292Okidata Microline 292/293 ML292I!Okidata Microline 292/293, IBM PM2410Okidata Pacemark 2410 C1550C. Itoh 1550 or 8510 HPTJIHP ThinkJet 2225C, IBM mode HPLJETHP LaserJet HPLJ:BHP LaserJet, B Cartridge HPLJ:U HP LaserJet, U & V Cartridges HPLJ:Y&HP LaserJet, Y Cartridge, AC TmsRmn HPL:ADHP LaserJet, AD TmsRmn LBP8"Canon LBP-8 A1/A2 Laser Printer LP4080Ricoh LP4080 Laser Printer P351Toshiba P351 P1340Toshiba P1340 P1351Toshiba P1351 GEM10XStar Micronics Gemini 10X NX10Star Micronics NX-10 CITMSPCitizen MSP P1090Panasonic KX-P1090 TI855Texas Instruments 855 or 865 D2100PTandy DMP-2100P MT160LMannesmann Tally MT-160L 9500Anadex/Inteq 9500A & 9500B 9501BAnadex/Inteq 9501B SP8050Dataproducts SPG 8050 & 8070 MPI99MPI PrintMate 99 Z125Zenith Z-125AA n  "'048<AEIMQUZ_ckqz $,4:>GPW[`hqx!',27;AGMTY]bglqx}X Done with this menu? HelpEnter your menu selection....... , = Enter User Area addressA a the Enter your enu B to selectionno if fileC is rinteryou WordStarof in D and E or onbe nonFilefor F (Y/N) Type RETURN not can any rintriver drivekeythat this diskcreennew patchnitialization haracternitializEditbytes) (records)MenuupdatepellingspellilenameirectoryustomizomputerhooseTo WSCHANGEfunctionpromptelpangespecifydocumentnumberdefaultmessagethesemaximumchoiceprintingnstallackspaceheretabingin on eredisplaymenucontrolsequenceautomaticbetweencursorcurrentcustomtextrightaboutlineblockatchurnfrom name ress hyphenfasthissizewhatworkhavesystemmostwith 1!F6# xŒ*Z! ڵ] Kp!P"F"F!\F!Ny #^#V+z-{   #~OLX>2F*F"F>"H͒M! K! K͒MQ2F!G~ L6!G~+ {-{$G !$G!Fù4K>TO!7s!F>N{!8sL!$G>Nʏ!F$G ʹ>2F!F=I!d84Kp!" G*F!F"F͜J bk!FzIJ!F84Kp*Fdy( `L5TTTT>TTT$T P!;"F*Fp_kb!~#foP! Kկ2oG!>O!Nyڛڡ!2! Fxڳڹ!2!#~!#2!$ ~#~!>2:oG!84KH!;"F!3!%G ͒MWv>2oG4K^#V#"F p p"F^#V#"F"F^#V#{ʍN#F# p p N`iON"F^#V#Oyʪ*F"F^#V#OGÜHOoW]"Fog"F!F~ p4O #s#rog"F!F~=pwO #^#V"F^#V#"F4K#^#V#"F~ K!14KÒM#^#V#"F K!F“!Q“!F“!%94KG!"F~#ʊʩʱ"HÓ͹Ó~#Ó!84KG_:GW{> "H{ ##N#fi!![~#foN#Iw~"FI"F!1;!24K=Ow^#V#p!F=I:Fʢ!#GIͥIF*F͜J#G*Fʕ͸Js>O͸J!#GI*F͸J!FzI!#GzI>!d8!y84K:F!#GI> ~ !COM # z{xy{_zWx G= +w x0G~# x=ɯ)lg\ QQNot enough memory to run WINSTALL. WINSTALL cancelled YNON OFF DIS Standard CP/M-80 Version;9A!B"C#D{"E(FX#G H I[*J=(K(L%M$N)O)P*Q+R^"S)T['U]&V&W"Y}'Z'!+X;?GAe. CONSOL STNDRDZIf you have one of the terminals or computers listed in the menu, typethe letter next to it. This installs WordStar to use your screen.If your terminal is not in the menu, look in the documentation that camewith it to see if it emulates one of the terminals that is there. Youmay have to change some switches or use a set up key to change the emulation.On most terminals the function keys and arrow keys will not be enabled.For some of them, you can use the WSCHANGE program to change the keys.(WSCHANGE can also be used to change colors on some terminals.) B ; B !*!$!'!U! ;C( '#'"*@;Y /!3!7!Kaypro II/IV Kaypro 2X/4X/10 B4C0B1C2C3C1*2!Nwy#Uy!:Ay@!̓y!!̓y! !ÃC0C1C3B0B1B3! ;c& B!j!!!!**!** ADDS 25 Y Kk0@! B"0"6"9">" ;ADDS Viewpoint 0A  y:A>ʀyB>€>Àc& "*Bo" ; Qume 102 c& B"*"**"j"""" ;VT52 YHJDKJ4c& B##"#2#&#j""""!*.# ;Zenith Z19 or Heath H19 LMHJwq%!y:AʃyBƒ!Ãpqc& !#B#j#######* ; IBM 3101 YLHDIJ# ;c& !*B#j$o$t$z$|$$*$/$4$9$>$C$I$*ANSI Standard [;H Z10!̓!^#Vy:A{y@{z0>;̀̀y!ăy!ă>mÀ[0;4;7% B$%%$L% ;Liberty Freedom 200 sq|;1|1|1 |1|1|1| 1| 1| 1|1|1| 1|!1| 1|1|1|1|1MKG0|;0|0|0|0|0|0| 0| 0| 0|0|0| 0|!0| 0|0|0|0|0% ;c& "*B%%%%%*Liberty Freedom 100 *gG@G0,!̓y 0Gy:Axʀy@x€ÀGc& j@&oD&tG&zJ&|M&BO& ;aRC Wyse WY-50 c& ; & &!*"*#&B&j&o't'y*z'|*} ' '''''#''')'-' ' '5'B1'C3'R 'U 'X '*PTeleVideo 925/950 = *)TYRE(%!y:AʃyBƒ!Ã()c& Bl'* ;TeleVideo 912 c& '!*B''********* ;OMinimum Terminal # B'((((* ;Minimum ANSI ( ;c&B&(Lear Siegler ADM-31 C( ;c& Bj(****(**Lear Siegler ADM-3A c& B(!*j((((((z(y**(* ;Hazeltine 1500 ~~~~~~%!y:AʃyBƒ!Ã~~c& BE)U)*\)*-'f)* ;Soroc IQ 120 *) Y%!y:AʃyBƒ!Ã()) ;c& B))))Morrow Designs MDT-20 ()%!y:AʃyBƒ!Ã()c& B**#* ;Morrow MDT 60/70 )(7!̓2y:Ay@0yyÀG) Bl*y* ;Lear Siegler ADM-20 * ;c& B+*+**[.+X+!*%!y:AʃyBƒ!Ã()1O: y2 2  xyO*. *|! ͣ!N#FogYP{O2ͣ!ͣ^#V#s#r ™~# £*|! ͣ^#V:O!ãNSCALLUOsborne I with 24X80 Screen )* B+!* ;Osborne Nuevo c& !*B#.}.8.- . ......}... '-R{- ' '. \, ;O T]!4!T}_}W>_zW*7~w"7:929@͂ f͂ !"7 |gs# x r# x 7 d ! i *7}o"7T] yOxG7 d +*7}/ *o! F6§ > ̈́ Gʧ >2 Gx: >Ä é Ê y!yO~Gy#!p @g  Q '_*7:Gw|gp,}-_!^#V*7v  öOsborne Executive *      2l.S2 Ol2 B [}2Y.;2 [2A 0B0C0D0E%0F,0G30H:0Ir0Jy0K]0Lk0MA0NH0O0PO0QV0Rd0X;2.3Q/4/?..e. .PRINT1 .3 [3A0B0C0D0E0F0G0H0I0J1K0L0M0N0O0P0Q0R0S0X;1.3Q/4/?G/A/e. .PRINT1 .4 [4A 1B1C!1D/1E=1FK1GY1Hg1Iu1J1K1L1M(1N61OD1PR1Q`1Rn1S|1X;1.2.4/?//e. Q/PRINT1 Q/5 [5A1B1C1D1E1F1G1H1I1J1K1L1M1X;1.2.3Q/?//e. /PRINT1 / % .6 > .T \ . .v ~ . . . .pv.HP. . .v}. . . .. .#+. .'. .NV. .. .]e. ..h n .. .BJ......Q/KRQ/AHQ/ % Q/krQ/E L Q/Q/ Q/Q/ Q/Q/ Q/Q/ Q/+3Q/ Q/U]Q/Q/ &Q/_f/|/  //H P ////n u / /*0//fl/ O M (K }\ (L .  (M v~ (N P (O +G  (P  H  (Q  I (R  2 P M#2Eps- IBM3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#2Current p:  (K ' (L V (M  (N e (O n (P G  (Q JH (R I (S J 1 P M#1GenalAnadex - Diablo3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#3Current p: (L HR(M r% (N L (O  (P  (Q G  (R 3H  (S ]I  J K &1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM4 P M#4Panasonic - ZenithP m#4Current p: f(I  (J P (K (L u (M l G 0H 1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM3 P M#3Mannesmann Tally - OkidataTell s cAft you each lettمwill ask it'sfloppy driveThe first will ̬.Typedrive lett (A-PRETURN when done)Is tfloppy ?Already specifi. Please entوdiffent.Disk Drives Your CThese are valid s. The ̬ (w looks fitss) shown an astisk (*). Hard:  Floppy: What do want i? (normally WS)f pRETURNWhat do want save chs to? (normally WS)f pRETURNWrong vsiؘWINSTALL fth!Can't find iDisk probably full write protectڄMake room byas somesremove protect ՄThen re-i.NotOut r...must  continueDo want ch t?valueH availableMonitAdds 25(N Morrow MDT 20Adds Viewpoint(O Morrow MDT 60/70ANSI Standard (DEC VT-100)(P Osborne I 24x80 SDEC VT52(Q Osborne ExecutiveHazeltine 1500(R Qume 102IBM 3101(S Soroc IQ 120G Kaypro II/IV(T Televideo 912/920H Kaypro 2X/4X/10(U Televideo 925/950I Lear Siegl ADM-20(V Wyse WY-50J Lear Siegl ADM-3A(W Zenith Z19 Heath H19K Lear Siegl ADM-31(Y MinimumL Libty Freom 100(Z Minimum ANSIM Libty Freom 200(! Osborne NuevoX No chmselectionThe arrow s Kaypro's eith chd by CONFIG programby (If c uses U1 U2 ROMsshouldalways use CONFIG.)Should ch arrow s (Y/N)? %=A;B.CM`A= HGp1!m."FP:G2GGGGHGO "HOBH_!~^#VH"H6H!G NH4ãH aH> "H~SHHH2G:c.{H! KæHc.æH£H:GœH*F|ʛH+ÒH H HG:FxHG:GxHGHHGH2Gy H2G:G> *o#~"J6I 6#H<6I=o&)))))  #~)I>8I>~kI#~"JsI 6#TIuI>~ʙI#~"JʞI<ʞI+6>àI>HI#~"JI 6#½II>~zI#!w#w#w#w w# J;J>=JA;JQ;J>=J>~]J#!>]J>~ʀJ#">ʀJ>"7~w#J?JʵJ!ͅJ xJ>JbJJ!ͅJ x½J>qKKKKL :L?LkLLLLLM#MLLK~#0K*KN#:GK>."HK"HKWMOLKIKaMLKORK2GJmKUKGghyaKaMO:GAK> "HuKAKaMaM@M@M> "HAK##AKaMO:GAK>."HëK"HAKaMoaMg~KAKK K>^"H@"H> "H>""H"H>""H@MKaMoaMg~"L!1L4L!4L!G4L! KAKALaMoaMg^#VzWKBMO>OʞK> "H _LAKaMoaMg>(L^#V+~aMoaMg~>(LGʤL>åL2GAKaMoaMg͟M!oG~L"H# ¾LAK> "H LAKaMoaMg~#"H~#"H~"H> "H"HAKaMGaMoaMg|L!M! KAK>(LaMoaMgN# ~AK"H# 0MAKIM RM0"H~#"F"F*F~#"F́M~#MlM"HpMՇ_!~^#V>"H>áM>!oG¸MʸM@w#6:#M M6.#Mw Mw# M`iO2=N!'N&N!N&N!dN&N! N&N{0"H y0O6ONx0G04N:=Nx2=N"H !oG:nGNOOyuN#~+:uN~,JN~@# N# NNN ~.#ʯN+ NN# ʯN~N ʼN~.#ʼN+NN#ÙNxʼN> ´NyNNN#N N> N>N> ONN7~0?:OA?[$/#-@&*?a{ ɷG~Ow##Oz{{_zWHO!NO#~+"HP[O>P!mG]TOq#6OxP6A#6ìO!~3P#7'P!P74K!~RP#~#foAP~\P ~~P~~zP"H wP>*"HͺP#\P!74K~ʎP ~ʰP~~¬P"H ©P>*"HͺP#ÎPͺPͺP> "H~RP#~#foAP~\P ~~P~~zP"H wP>*"HͺP#\P!g h fd5h dc5h >> $(>hh( h(    `4aۡ aۡa,02Yz2d2  `2 a a &`2 a   a ݰa  :d  e=e. ge  f e     j<dd*<  dd.<  bffff  fb)fef4ۥb+f0ݰf. fef.f*ݜfbf6fff.f*ݚ  e  `p ` `p ` `r  `p ` *(D4`Dp D `` D2B>dbbbae `eabababa>af4b``bfpc`d ` dc`bee>0 =ab`= cba`=!ba`a=#True Pa FalsePb`=0"a ``Ћb`=0$``Ћc`=0%a` l ml2  A- lg A`i iii(Aglg  = kn jnj ki 0`>.egZg#gg.i2g0.g0lmЋfa= &'`bЄcaЍacabbcbcbЃ2bPa#ca`dd`cab`b`6aabЌ`1a`bcd badbcbadbb`H`FabЄecЍce1b`d b`b`edbcb`ebbeTeSe deЄ egf3gfghdg gfdg e egg: fa`a-ݰ`    eaed0`eaea`a`W/zP  \ .JnPR Jvjd HF$<NRp|>INITSTRI/= LSI ADM-3A= Televideo 950= LSI ADM-31= Hazeltine 1500= Microterm ACT-IV= Beehive 150= DEC VT-52= HP 2621 A/P=  Infoton I-100=  Soroc IQ-140=  Soroc IQ-120=  Perkin Elmer 550=  Microterm ACT-V= Televideo 912/920= Visual 200= SWTPC CT-82= Compucolor 8001G= TEC 571= H19/H89= TRS-80 Model II P&T= TRS-80 Model II FMG= TRS-80 Mod. II Lifeboat0a$ʃU` ʃU=` ɃU`4bINSTCS aborted by user#2d8`pa ``paAbdd0Od~ dA 4** Illegal hex argument#???P2 rcP.bP.Ќ.##../../.Wa./.../..b`-** string too long#b???P2b00bP0?Q0Pbb/  `   (dd@@dydYYes#No#dydYdl OK (Y/N): #" `PChars |#--p++,,* ,, ,,  ^ ,@ +-| Hex |#--+ ++-| Q3Z bb` ` abc1$y2$:7% !~O#{,] B!F#~#$G~#Nc2 RAn2 Ï _ R͌!\}  !\  } ¼ !" !" " *" ! ͵ʁA[w#͵A[;e-M͵͜  M͵e    ͜AM[M͵* #" +~wx2 * " * " * }* * zڇ}|g}o"  ~#fo~G~* ^#V+V+^s#r~#Û* " >2 s* " >2 s* : G/_"  w# * }/_|/W* ##<* #DM! z< w+ /* * s#r* * " " * +6+6" * }/o|/g#* + * }ʁ: †* q"?q"A*A"E*A|*E"=*=G"C*=*AG*=S*=*A*CS*A|*="=*=|*=*A`|*=`|*E#"E*?|*E|*Aq"A*A|ŸÆ)^#V)s#r)^#V+V+^ɷ|g}o"A|/g}/o#* DM!^#V#+~©+~©* #" xŽ * ͟ * q͟ * ͟   $ Total words $ Unique words $ Words appearing once $* WARNING * This tool is damaged! Use another copy. $WORDFREQ+ Version 1.2 Copyright 1981 - Oasis Systems $Illegal switch ignored -> $ $Input file is NOT on disk $ Insufficient memory for input file Program Aborted!$ WRITE ERROR $:   ]  * DM!^#V#+V+^8>  Z' xD4 &4 %x !DnTWOPTIONCMP ~7# " .c~7# " .@`@ 7~ 7#7~ 7#x!D͏''/7?v"*2:!n͏ XCHGPCHLXTHLRET HLT CMC STC CF#‘*6+w"6*4#"4>23¿> a{ :3 } +! ! "6!"423*6~'#"6*4+"4G|x'!34>>2|Q/g}/o#-4 yyyy>2y>/<{O0:ʕ4 >2z/W{/_>2:, >2>/<O0: >2z/W{/_Y   ~#  O4  4  4 *{ q#"{ U}w +  h  !+ "{ w# p + FRQ" ="=> 2 Qear highlight:#" <*"Leadin sequence for absolute goto:#( Separator between coordinates: #- Terminator of sequence: #0 2#Column before Line#!Line before Column#&Change order of Column & Line (Y/N) ? #7Is Column before line (Y/N) ? #2 Character offset for Row: #, Character offset for Column: #/ ` !CalcStar Terminal Control Patcher#Terminal name ( for "##")#: Keyboard control::# Prefix key: # Key to delete character:# Key to escape:# Key for next row, 1st column:# Key to move up:# Key to move down:# Key to move left:# Key to move right:# CRT control sequences::#Random cursor addressing::#!Any more terminal patches (Y/N): #fA$CalcStar Terminal Installation Menu #d 3 A First menu (#1-24) B Second Menu (#25-48)#dA``a$ =a0 #=a0 Є#aaB U No change#Please enter selection: #cc cUc ccc c bc0 b00bbb   c0Vb eee   c0 b0cUB/ No previous installation#cUBcU6ʃUa ʃUɃU8=a0 =a0 Current terminal is ## @2( XC+Save this definition in terminal database ?#)Type terminal # (1-48) or 0 not to save: #`:=`0 `=`0 ʃU` ɃU8ʃU TERMCAP.SYSʂ} TERMCAP.SYSɂ}8ʂ} ʂ}B; ǂ}ǃ8KEYDATAǃUǃ8DATAFILE (c) 1981 All Rights Reserved c/o#- MicroPro International Corporation# Version #1.0# Serial #CS2676L8#CalcStar Installation Program#ǃU INSTCS.DATǃU File # INSTCS.DAT# must be on the default drive#-Please get this file and restart this program#2+Are the modifications now complete (Y/N) ? #CalcStar Installation:# Terminal is ##3Printer is accessed through normal CP/M LST: device#channel.# ǂ}ǃUT \ `T.*RDd*CONSOLE:P``CRT:P`PrrT<< <R4:/(AHardware parity error(Unknown device specified(Illegal I/O direction(Undefined hardware error( Device referenced is not on-line(File not found on CLOSE(Illegal file name(No space for file(Bad random access("File not found on volume specified(Duplicate file name(File already open( File not open(xError reading Real or Integer(RPut not at EOF(; End of file(' nG)rN9 IO error: (? .Unknown run-time error(BDivide by zero(Exit from uncalled proc(rArgument out of range(Floating point overflow(Illegal PCODE instruction(Integer overflow(Value range error(Non-existent Proc/Seg called(Stack overflow($String length exceeds declared limit(Can't read Pcode file(Programmed HALT(Program interrupted by User(String Index out of range(Non-existant External called(Case out of range(Set element out of range(fPointer invalid or Nil(HAssertion failure(/(H4gS) ~`D ! ##%V* tu Value= #%r60Enter new value: # iB`tJ@Value= #`t$`uJ , Limit= #`u$cVValue= #t$$Value = #sNil#s 16### T asCurrent dynamic length= #`$, Illegal index value= #at$" as`" v @@  File at 16### = #@   b+. P b :@b P #b B%F Bs 62 .*%, 24,.,&,.V` b`a`Ѝ b`Ѓa`Є (Z3ENV WordStar, CP/M Edition, Release 4.00 #21 Copyright (C) 1979, 1987 MicroPro International Corporation All rights reserved. mCP/M-80 -/ WordStar, CP/M Edition, Release 4 ö Ì>D2W@  BA  KB  CC  VD  YE FF AG  H  DI  QJ F K F B P DEL=+TeleVideo 925/950 = *)(TYRE(!y:AʃyBƒ!Ã)(2Draft Printer DRAFT d,- ZCPR3 EFHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRWS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 W* |* ^#V#~#f_|{*, *.DM:" x͑    +w    ~#    ɷG:!. w#% 6 a{ A[ ɷG~3 w#N ɯ)lg>)=c .`E)t o |/g}/o#z/W{/_x/Gy/Oz{xy ´ #¢ õ  "    }0>/ . À U:!/G::̢ :Rʯ R>. O:X > . !c!F*yX:") ͢ ) m  *D͢  z +| >2> m  !6#w>2 *o~f n :Z !~w͠yt: "/<)=x>ڃ/ɯÎ! ¡~wå~w͠<>±/2!s ͠<ɯ>2# :J<)<):"<͙ F:J/!w#w#w#w 6##~+@@G: "@!~#G!~#<$ :2!~^!͠>_~^"͠X"7~w#‰"7~w# @! x®d! x"~#͖!@ x:" œyʼ# «> ¼ ##~*6?x#~ '!-"67~0?:A?[$/#-@&*?#~1: "w:-" #~? 8͙ ʖͤ ʚG##3 xr [Ö~ Œ:Œ^#V # TGz!: #}~ j>. }>  y> n~ ʈ #}2 "_ ʮ=! "Ď~Ͷ #ö!;:"ͤ !KZU DM 6Y> Ͷ > ö ̓ *N)|)̓ Y*J7*H<|IVVYIz\+|f!^~:=2ʈG#~+w#~Gʘ<2!^=ʧNpA#=ŸpGo<2&^pɯ222G:!2xA[a{:x :d:!E2̓ A:!2:A:>2!?/!":\J ͫTJ O:uŒ:QO̓ š*R+|‚ y«ͫYJ Ox uyu!~#~#fo¯TH ͫ YyA!Tw# ìͫY2e!:!ľY~ï^#TH#$ ~Y:YeY:!OF#~R2ͫC!:Gp!QGx2Q"R:G*$"x  $: ·:!ʷ&,:"$:"|xͶ &÷,:7ҷ!c!~#OFw~ͅ#> ͅ> ͅO:g"G/<*>z*z*> z2!!"c!!~n:o&":O> Ͷ [og"!"$jG:p#=~:%Ҟ:$Һ2$:2%!~·*$|<2%"úɯ2e!>ö :C~#O~Ͷ # ~<#~#fo!# w*$̀!# w*$̓ *$͑ u"$|V}NVV> Ͷ > Ͷ u:}dyo:!G:#}:B!j*z:yʎ}lgMͶ!oLͶ!t*$"+*+":|Gi&yö x("͹ >O>0# 0>9Ͷ ~Ͷ #O :! !+|!~_zW#,~_#~*!T]%"2o2!g",a ".y "*!~*_͐*y*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%$1_ Press any key to return to WordStar...$*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%;;<<G(>@"< G+2>DR=BD`v a>aDBE`֔v=>==l`v a=$`CaaE>@> kv p = jidk֔vj j d'V ;=<G$empty symbol file#+2tȀEGM GE ECBbaȀE֔v=>===ȍGG=ȍToo many symbols.#Last symbol read: #>! in #vb !2Do you want to see the list of symbols available? #ȀƀcF`HJ  0 ihcdSeg##c$----- Procs -----#hceed khvb m% WSCHANGE 4.00 21 Aug 87 Copyright (C) 1983, 1987 MicroPro International Corp. All rights reserved. 20 %%%%%%%@  BA  KB  CC  VD  YE FF AG  H  DI  QJ F K F B P DEL=+Uninstalled Terminal = )TYRE(! ʃ!Ã()2Draft Printer DRAFT d,- ABCDEFGHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRWS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 WPRVIEWPreview to File SIMPLESimple Printer XTRACT Extract Data/Document to File ASCIIPlain ASCII Document to File DRAFTDraft Printer TYPEWRTypewriter Printer AUTOLFAuto Line Feed Printer CUSTOMCustom Printer DIABLODiablo Daisy Wheel NEC Spinwriter 2015/3515/7715 630WPDiablo 630 with WP Option 630ECSDiablo 630 ECS QUMEQume Sprint Daisy Wheel C. Itoh F10 Starwriter QUMEWPQume Sprint with WP Option SR550Silver Reed EXP-550 SPINWRNEC Spinwriter 2000R/3500R NEC Spinwriter 2010/3510/7710 NEC Spinwriter 2030/3530/7730 SPIN50 NEC Spinwriter 2050/3550/8850 NECP2INEC Pinwriter P2/P3 -3 or -6 NECP5NEC Pinwriter P5XL/P6/P7 MX80'Epson MX-80 or MX-100 with Graftrax+ FX80Epson FX-80 or FX-100 RX80Epson RX-80 LX80Epson LX-80 LQ800Epson LQ-800 or LQ-1000 LQ1500Epson LQ-1500 FX85!Epson FX-85, FX-185, or FX-286 IBMQUIIBM Quietwriter IBMCLRIBM Color Printer 5182 IBMGRIBM Graphics Printer IBMPROIBM Proprinter IBMWPIBM Wheelprinter 5216 IBMWPEIBM Wheelprinter 5223 E ML84Okidata Microline 84 step 2 ML92Okidata Microline 92/93 ML92I"Okidata Microline 84/92/93, IBM ML182Okidata Microline 182/183 ML182I!Okidata Microline 182/183, IBM ML192Okidata Microline 192/193 ML192I!Okidata Microline 192/193, IBM ML292Okidata Microline 292/293 ML292I!Okidata Microline 292/293, IBM PM2410Okidata Pacemark 2410 C1550C. Itoh 1550 or 8510 HPTJIHP ThinkJet 2225C, IBM mode HPLJETHP LaserJet HPLJ:BHP LaserJet, B Cartridge HPLJ:U HP LaserJet, U & V Cartridges HPLJ:Y&HP LaserJet, Y Cartridge, AC TmsRmn HPL:ADHP LaserJet, AD TmsRmn LBP8"Canon LBP-8 A1/A2 Laser Printer LP4080Ricoh LP4080 Laser Printer P351Toshiba P351 P1340Toshiba P1340 P1351Toshiba P1351 GEM10XStar Micronics Gemini 10X NX10Star Micronics NX-10 CITMSPCitizen MSP P1090Panasonic KX-P1090 TI855Texas Instruments 855 or 865 D2100PTandy DMP-2100P MT160LMannesmann Tally MT-160L 9500Anadex/Inteq 9500A & 9500B 9501BAnadex/Inteq 9501B SP8050Dataproducts SPG 8050 & 8070 MPI99MPI PrintMate 99 Z125Zenith Z-125AA qCODE DATA %COMPOS>$PORT $LAND XCHAR +FILNAMa$STARTw$DONE $QUIT $PF $PG UPCASEUCOLATEs$DR???$LQ???$PS???$DR7??$LQ7??$PS7??$DR8??$LQ8??$PS8??$DR9??$LQ9??$PS9??$DR10?$LQ10?$PS10?$DR12?$LQ12?$PS12?$DR14? $LQ14? $PS14?$DR16? $LQ16? $PS16?)$DR18?3$LQ18?3$PS18?>$DR20?H$LQ20?H$PS20?Q$DR24?[$LQ24?[$PS24?d$DR30?n$LQ30?n$PS30?wPS????PS7???PS8???PS9???PS10??PS12??PS14??PS16??)PS18??>PS20??QPS24??dPS30??w$DR???$LQ???$PS???$DR?I?$LQ?I?$PS?I?$PS?I?$DR??I$LQ??I$PS??IPS?I??PS??I?$DR?B?$LQ?B?$PS?B?$PS?B?$DR??B$LQ??B$PS??BPS?B??PS??B?CRLF CRET $FFEED HALFLF&BACKSPONORMWDqALTRWDPHSP PHRUB BINDSPBLDON BLDOFFDBLON DBLOFFUNDON UNDOFFSPRON %SPROFF6SUBON HSUBOFFWSTKON gSTKOFFvITLON ITLOFFEXTON EXTOFFNLQON NLQOFFBLDOVR DBLOVRA Driver code, DO NOT CHANGE All strings and tables Printer composed character table Default output file Printer initialization string End of document string Quit while printing string Phantom space string Phantom rubout string Portrait mode string Landscape mode string Extended char translate table (80H-FFH) Upper case conversion table Collation sequence table Font selection string, 17 pitch 7 point 15 pitch 8 point 12.5 pitch 9 point 12 pitch 10 point 10 pitch 12 point 8.5 pitch 14 point 7 pitch 16 point 6.3 pitch 18 point 6 pitch 20 point 5 pitch 24 point 4 pitch 30 point  Character width table, draft quality proportional italicbold Move to left side and down one line Move to left side of carriage Eject paper to next page Move down 1/2 line for sub/superscript Move print head left one column Select normal character width Select alternate character width Binding space Boldface on Boldface off Doublestrike on Doublestrike off Underline on Underline off Superscript on Superscript off Subscript on Subscript off Strikeout on Strikeout off Italics on Italics off Extended character set on Extended character set off Near letter quality on (.LQ ON) Near letter quality off (.LQ OFF) Number of overstrikes for bold Number of overstrikes for doublestrikeCR LF ESCTRUEFALSEDISPLASTRINGLSTOUTLSOSTALSTINLSISTALSTRNGMPMFLGSHAREFUNDLYFUNTBLHITEWID WRAP!XONOFF"SCROLL#DIRSIZ$DELSTR&SHYSTR,BBLOCK2KBLOCK7SOFTSP<=CRTIDBCLEAD1jCLEAD2oCTRAILtCB4LFGyCUROFFzASCUR|UCRPOS}ONCUROFFCURERASCRBAKSPCERAEOLERAEOSLINDELLININSLINMAXTRMINITRMUNIINISUBUNISUBVIDATTBRITEADELCUSBDELMISCDXOFFDDLONGFDMEDHDSHORTJUPDLYLDDISKNDFASTPUCNSTARUCONIUUCONOXMORPAT[CRTPATPRNID[DEFPRNPRNDLYPPAUSEPFFEEDPNODOCLXOFFLETXLCHRMXULOSTAULSTOULISTAULSTILSTDEVULPORTULUNPTULINIULUNIHFMAXDATSEPDLISTUPRCTLUPRQUPRWUPREUPRRSTKCHR!FORMF"PRNPAT;INITIDLGLDRVLGLUSRMSFILEHPFILEIXFILELDFILEOVFILE&WSFILE2SHFILE>DEFUSRJSPCMDKSPFILEXURUNYINILOG[BAKTYP_BFTYPEbAFTYPEeBLKTYPhNOTYPEkDIRFILININONINIBAKEDCONDLGLCHRMOVCHRAUTOBSINIDOCINIRLRINIRLI6DSTKSZ7INIDIR9DIRSRT:INIHLP;UNONE<UNSIZE=VMSIZE?EDSIZE@BFSIZEATYSIZEDEINIFINIINISTAOSTFILLPHYMAXQYNCRRIDXALLSSTRPFLTINIEDTUaCOMCHRdDECCHReCTLNFLfCTLHFLgCASEFLhDELFLGiBLKFLGjLSPFLGkRLRVIDlAHEADmHANMAXnDOLLARoRAM1STEXTRAUDATE """""""### #'#-#2#6#:#E#I#M#S#W#[#b#g#p#t#x#|#########################$$$"$'$.$9$>$E$M$S$[$d$l$t$z$~$$$$$$$$$$$$$$$$$$$%% %%%%%%%.%8%@%G%O%V%[%a%g%l%r%w%{%%%%%%%%%%%%%X Done with this menu? HelpEnter your menu selection....... , = Enter User Area addressA a the Enter your enu B to selectionno if fileC is rinteryou WordStarof in D and E or onbe nonFilefor F (Y/N) Type RETURN not can any rintriver drivekeythat this diskcreennew patchnitialization haracternitializEditbytes) (records)MenuupdatepellingspellilenameirectoryustomizomputerhooseTo WSCHANGEfunctionpromptelpangespecifydocumentnumberdefaultmessagethesemaximumchoiceprintingnstallackspaceheretabingin on eredisplaymenucontrolsequenceautomaticbetweencursorcurrentcustomtextrightaboutlineblockatchurnfrom name ress hyphenfasthissizewhatworkhavesystemmostwith 1!W6# x%*J!͌/%/ \n(!J"V"V"W"V!\W͟/h/!Nyv&#^#V+z-C&{ J& v&2& v&#~͝`Le&XJ&>2WJ&*W"WJ&!V;Z!0-0ʥ&!i^!p^Ÿ&#&ð&! 0-0 \ \n(> Y_! \!0 \_/2V!X~ &6!W~+ '- '"X ͟/!"Xh/!Wh/I'2\>`!5'!W_ 'h/!(6'&!"X_'h/!W"X ~/I'>2V!W;Z['!62\n(!"X*V!W"W͚[ bk(~/!WxZ'!(W~# Ÿ' —'!&(W ~½' #:W~# ½'!V;Z*V'!W"Wc'w#cw#' x'wH(!i62\n(*Vb*w()&*)) *c+))^*)J)3*7++5,Q---<),G..s+- *N*!F"W*Wn(_kb!(~#foN(!;0 \կ2mX!(>ͦ`!(Nyڙ(ڟ(!:0)! (Fxڱ(ڷ(!:0)!#(~(!F0)!$( ~(#~(!a0):mX(!72\Y!F"W!3(!#X ͟/_.t(>2mX2\^#V#"W͌/n( ͌/n(("W^#V#"W"W^#V#{ʋ)N#F#͌/n( ͌/n( L)(`iO͟/L)"W^#V#Oyʨ)*W͟/"W^#V#OGÚ)YO)))oW]"Wog"W!W~ n(4O) #s#rog"W!W~=n(wO* #^#V"W^#V#"W2\#^#V#"W(~ \!02\_#^#V#"W( \)!V+š*! 1+š*!V+š**V+*!A72\X!"W~#ʑ*ʰ*ʸ* YÚ*+Ú*~# +Ú*/"Wd}_!W"Wcʑ*** Y*+*c +*!72\X_:XW{> Y{ +~/0+ ##+N#fi!Q+!WT+![Q+)(~#foN#͟/͘+w~"W͘+"W!0Š+!*02\`w^#V#(͘+!:2\Nf_!:2\>`##"W++`= ,=+x+++++q!62\*W++++"W##Of_>- YOf_*W+ã+!62\*W++++"W+ã+͘+!:2\N#F+f_!:2\>`!"W`=ʮ,=ʌ,og͒/x,ڌ,og͒/ʈ,Ҍ,q#p!62\*W++++N#F#f_>- YN#Ff_ô,!62\*W"W+5,Y2WOA-Gy-Ao& N#F͒/n(i`("Wog"WAO  :WO$-$--og"W͘+"W0GB-*02\`p͘+"W!:2\og(~\!:2\>`ʢ-=~ʙ-ͤ-ڢ-O#~ͤ-ڢ-w¢-<>0ڼ- ں-ڼ-Ҽ-!H2\!72\Y7!"W+~2W-^#V#-͘+!:2\:W . .~. \%.Ny.#~ Y .$.!02\0._!#72\`!772\d.!"W+~2Wa.^#V#d.͘+=`O 6"W:W?ʚ.+ʚ.ʚ.#*W6 #6 #6:W@ʩ.~͝`ê.~# š.͘+"WNy.#~#fo(ú.#~ Y .!W;ZJ/:V#/!!XZͣZP/W*V͚[!X*V/Ͷ[.P/>OͶ[P/!!XZ*VͶ[P/!WxZP/!!XxZP/>!6S/!62\:Vc/!!XZ>H/ ~ !{/͟/COMŠ/# /z{xy{_zWx͌//ھ/ +w x±//~# x¾/ɯ)lg/ //Not enough memory to run WSCHANGE.Can't find Wrong version of WSCHHELP.OVR.WSCHANGE.OVR. WSCHANGE cancelled YNON OFF DIS Standard CP/M-80 VersionW7Af4B4Cl6D65EE;F6GQ3H]3I=J:K:L\8M_7NGR5S;T:U9V8W5Y8:Z:!>XIG?10dC 0CONSOL 0STNDRD1If you have one of the terminals or computers listed in the menu, typethe letter next to it. This installs WordStar to use your screen.If your terminal is not in the menu, look in the documentation that camewith it to see if it emulates one of the terminals that is there. Youmay have to change some switches or use a set up key to change the emulation.On most terminals the function keys and arrow keys will not be enabled.For some of them, you can use the WSCHANGE program to change the keys.(WSCHANGE can also be used to change colors on some terminals.)~3B3 IG~3 B333334 IG: 99"D=\9Y33 333Kaypro II/IV Kaypro 2X/4X/10 B4C0B1C2C3C1*2!Nwy#Uy!:Ay@!̓y!!̓y! !ÃC0C1C3B0B1B3l4 IG9 B4j4444V=X=4^=b= ADDS 25 Y Kk0@l4 B44444 IGADDS Viewpoint 0A  y:A>ʀyB>€>À9 "B=B*5 IG Qume 102 9 Bg5^=5V=X=s5jo5y5}55 IGVT52 YHJDKJ49 B55555jo5y5}55!@=5 IGZenith Z19 or Heath H19 LMHJwq%!y:AʃyBƒ!Ãpq9 !T6BD6jP6V6\6`6d6h6j6^= IG IBM 3101 YLHDIJr6 IG9 !@=B6j6o6t6z6|666666667b=ANSI Standard [;H Z10!̓!^#Vy:A{y@{z0>;̀̀y!ăy!ă>mÀ[0;4;7b8 B|7T8X878 IGLiberty Freedom 200 sq|;1|1|1 |1|1|1| 1| 1| 1|1|1| 1|!1| 1|1|1|1|1MKG0|;0|0|0|0|0|0| 0| 0| 0|0|0| 0|!0| 0|0|0|0|0b8 IG9 "B=B88888b=Liberty Freedom 100 *gG@G0,!̓y 0Gy:Axʀy@x€ÀG9 j8o8t9z9|9B 9 IGaRC Wyse WY-50 9 IG 9 9!>="D=#9B9j9o9t9yJ=z9|N=}9999999999999B9C9R9U9X9b=PTeleVideo 925/950 = *)TYRE(%!y:AʃyBƒ!Ã()9 B':T= IGTeleVideo 912 9 u:!@=Bw::P=R=T=V=X=Z=\=^=b= IGOMinimum Terminal r6 B:::::^= IGMinimum ANSI : IG9B:Lear Siegler ADM-31 : IG9 B%;R=T=V=X=B;\=^=Lear Siegler ADM-3A 9 B;!@=j;;;;;;z;yL=\=;b= IGHazeltine 1500 ~~~~~~%!y:AʃyBƒ!Ã~~9 B<<V=<X=9!<b= IGSoroc IQ 120 *) Y%!y:AʃyBƒ!Ã()M< IG9 Bd<<}<<Morrow Designs MDT-20 ()%!y:AʃyBƒ!Ã()9 B<<< IGMorrow MDT 60/70 )(7!̓2y:Ay@0yyÀGM< B'=yL= IGLear Siegler ADM-20 j= IG9 Bn>T=>==[=Xj>!@=%!y:AʃyBƒ!Ã()1O: y2 2  xyO*. *|! ͣ!N#FogYP{O2ͣ!ͣ^#V#s#r ™~# £*|! ͣ^#V:O!ãOsborne I with 24X80 Screen )j= B>!>= IGOsborne Nuevo 9 !@=B@}@@@@@@@@@@@}@@@9@R6@99@ ? IGO T]!4!T}_}W>_zW*7~w"7:929@͂ f͂ !"7 |gs# x r# x 7 d ! i *7}o"7T] yOxG7 d +*7}/ *o! F6§ > ̈́ Gʧ >2 Gx: >Ä é Ê y!yO~Gy#!p @g  Q '_*7:Gw|gp,}-_!^#V*7v  öOsborne Executive *      tPAGABOACUADlAXG?7AAAFKEYS AdC A A k AQY_AAhA A g ABecause there is such a wide variety of ways to control the video attri-butes on computers and terminals, the number of options you have are verylimited.For most terminals, all you can do is reverse bright and dim. This isuseful if the dim text on your screen is too faint.For some screens, you can change the colors WordStar uses for bolding,underlining, etc. Either pick your screen from the menu, or patch thecolor table using hex codes./A\CXG?LCVCCOLOR CT \ C Cv ~ C C C CpvCHPC C Cv}C C . CC C#+C C'C CNVC CC C]eC CCh n CC CBJCCCCCCPDKRPDAHPD % PDkrPDE L PDPD PDPD PDPD PDPD PD+3PD PDU]PDPD &PD_fD|D  DDH P DDDDn u D D*0DDflD ]d MAGBIC*MDPELXlC? GGMAIN FdC FAIGBACGDHEIXF?9GCGCONSOL GdC G_ B{A0BuGCGXG?eGoGTERMNL IGdC IG B#7YGIGB% IGAGBGCGDGEGFGXIG?GGTERMSZ GdC G G ( G# G% G$ G! G%AHBBHCtH=HXG?HHSCREEN GdC GREND`NX*M?MMDOS MdC MMO O2 pe N pe N pe N pe N  N& pe N> pe N pe N? N@ N N_ e Nb e Ne e Nh e NA pe Un Uo U,.A(VXT?V"VMERGEP VdC V Va.AcVBkVCqVD{VEVFVGVHVXT?SV]VMISC .VdC .V% .VR .VF .VH .VJ .Vm .Vf .V G .V/1V2V3VXVVdCVVVWSCHANGEOVRWSCHHELPOVR WPRVIEWPreview to File SIMPLESimple Printer XTRACT Extract Data/DocumentWo File ASCIIPlain ASCIto File DRAFTDraft Printer TYEWRTypewriterPrinter AUTOLFAuto Line Feednter CUSTOMCustom Printer BLODiablo Daisy Wheel NEC SpPiter 2015/3515/7715 630WPDiablo 630 with WP Option 630ECSDiablo 630 ECS !X~6> YXn(1!lC"WN(:X2XXXXYX͝`  YO@Y_!!^#VY Y4Y!X LY4áY _Y> Y~QYYY2X:bCyY!R0 \äYbCäY¡Y:XšY*W|ʙY+ÐY Y YG:WxYG:XxYXYYXY2Xy Y2X:X> *o#~ [4Z 6#Y<4Z=o&)))))  #~'Z>6Z>~iZ#~ [qZ 6#RZsZ>~ʗZ#~ [ʜZ<ʜZ+6>ÞZ>YZ#~ [Z 6#»ZZ>~xZ#!w#w#w#w w# [9[>;[A9[Q9[>;[>~[[#!>[[>~~[#">~[>"7~w#[=[ʳ[!̓[ x›[>[`[[!̓[ x»[>o\\\\] 8]=]i]]]]]^!^]]\~#.\(\N#:X \>. Y\ Y \U^OJ\G\^J\OP\2X[k\S\Gghy_\^O:X?\> Ys\?\^^>^>^> Y?\##?\^O:X?\>. Yé\ Y?\^o^g(~\?\\ \>^ Y@ Y> Y>" Y Y>" Y>^\^o^g(~ ]!u0/]2]!02]!u0G2]!{0 \?\?]^o^g(^#VzWKBf_O>Oʜ\> Y ]]?\^o^g(>&]^#V+(~^o^g(~>&]Xʢ]>ã]2X?\^o^g('_!mX~] Y# ¼]?\> Y ]?\^o^g(~# Y~# Y~ Y> Y Y?\^G^o^gz]!u0^!{0 \?\>&]^o^gN# ~?\ Y# .^?\G^ P^0 Yi^^^o^gU^"W*W͸`ڂ^*W͸`ڶ^)lg"VV*W:?O͚[*W{_zWʻ^*W}o"W"Wü^*W*W͸`^bki^^>^*W{OzG*W ~"W _~#_^ Y^Շ_!!^#V> Y>)_>!mX@_@_@w#6:#X_ S_6.#X_w a_w# X_`iO2_!'͡_ͮ_!͡_ͮ_!d͡_ͮ_! ͡_ͮ_{0 Y y͸`;`ã_x0G0¼_:_x2_ Y !mX:lXi`Oͦ`y_#~+:_~*[i`~@# i`# i`p`i` ~.#7`+ p`i`# 7`` D`~.#D`+p`i`#!`xD`> <`y\`p`i`#d` K`> \`>k`>`ʁ`t`7~0?:͝`A?[$/#-@&*?a{ ɷG~͝`w#«`z{{_zWY͝`!s0`#~+ YP`>P!kX]THNNNNNNN[aaaaaaamm|uuuuuuuuuuu &&&&&&&&&288888IOOOOOOOOO[m|kqqqqqqqqqqqq]cccccccc:@@@@@@@@@+11111111111111W]lu~Vd  !~#"o&^$V*N#"*N#<F#"O* N#FæO* æ##O*  ^#V^#Væ5!5O*  ^#Væ*æ*^#Væ*^æ͸QAO ^#Væ͸dIO ^æSxTOææ"^#VæaÛaO* s#ræqòqO*  ^#Vs#ræ"æ*s#ræ*sæs#ræsæs#ræ~O* "æ͸͸|g}æ͸)ֆO|æ͸;֐O|g}æ͸R֖O|æ͸æ͸æ͸=æ͸=æC ڮʮæ"W*~#2U~#2V"#:V?o&"[:Uo"Y*WC *[*WC *Y*WY *N #"æ*[*#"J*^#V#"*WC J:U_:V?W*"æ:V@ʺæ͸fֲOv͸t֥O* x/Gy/O ++#~2G+~2**Y *+++r+s*"xw+xw+r+s!w*_^#Vz*"!6!"*6*##^#V"^#V+" !N* ^#V*^#~W#"*"!9{PO*+F+~x C1æ*~2++V+^"~!ʤw*_^#Vz˜!"!1Ä"^#V+" *"*"^#V*"!:++æ͸yO xI yO r+sæ͸4O æ͸CֽO* ^#V"r+sæ+ææ)æY æ æ æ æyI æ)æA æ` æ͏ "ææææz/W{/_æz/W{/_æ{æ͸*"" x/Gy/O "æ*" C ʦ""" æx~# $ xw+ / x s#: |})=I )T #=O }o|g||GMzW!z>y >S))ҁ =y |x怴gD|OzGKzW!>))}o|gҶ =£ | x怴gzy怲WȯzW{_ |g}o|g}o|g}o r  r r r r r r r r r r r r r r r r U$x 8 r > \r r r r r  r  r r r r r r r r ͸y2 yO! ^#V|¨    error -- undefined system call $!: ʶ ++æ) ê xC / $ ú ": _!Ä*s#r#*D|gs#r#6#xwæ~!K w*_^#Vz? !"!Ä"^#V+" "*"*"1yʦæ}   illegal system instruction encountered $x‚ ~ ͪAڂ҂_#~:‚#~‚ ì ‚~ʬ#^ ~#^ @_, _ x ^#,   ,  , ìͳ#s#r~O !o ‚: ‚Ͱ<ʚ*6*æX:MP.OVRͳ#s#r ‚: ‚Ͱ<ʧ ! ~ڠ<ʦ*6*æ҂*6ͼ<ʠì* ‚<ʚì" yO 2\~M #~+: ~ͪAҘ <2\##~M #*. ]͞ ~#@ .˜ ~#*H e͞ ~˜ \ _* :\s @w#6:# 6.# !] ~?ʔ # † k * k +~.ʻ ʻ _° >?ͪ# Ÿ >  ½ !]6?!^ w# ҂! s#rì!"<҂*5!x5}*<#"<~, *<æ҂yOxʬ!w kk,o6o,W* O!ï!ï!ï!ï!ï!ï!ï!æ!  ~û">2y!  "~#fo"7*!^#Vr+s2 #  : #~+:9~ͪAkk<##p.R #p! w!w!!w#w#w~ͪ ʕ!.ʖ*ʚ?“>2 #p>2 >?¡Öa_!"æ =9 _9æQ @æxWxGoʸ^z@ʉ~# xzøzzļz{zļz ʭs#ð#^ xê {a{ _xʦ >$!s  $ L Lw# + S =S6 # L e eV ʔ eq#p#:<2 ʎ ʎ}e2:=Ͱ® _ !s!r!s#s#s=!c> *cC c :A2o *m)""}!""o*u#*oC c=!q>> *q*o#"o) s#r*}"}*"**Y "*y"i*u*mY "{##"*sC   error - load address too low $""*""*i*)*Y """ *e)*Y ""*6++"**g)"*us#r#*{s#r#####*++":{ʖ*u#)"=!qn> *q*s#r#"*}s#r#*q)"}!{5T*}s#r*g*sG*C   intersecting segments- unable to load program $ Y "!1Px" ^#V#^#V*r+s*+F/ #  '+17;@IMTEX[^bepty (.27   **s#r#*s#r**g)s#r#*s#r=!"* "&> *u*wDM*""*)"xo **s#r#"*"B> *u*w*mY }*ʐ6#6#=†*w| *ì**u)^#Vs#r#*y)s#r>2!"**!Ä*N#F#"=x x w#::,!";>=2:*;~#";INSTALL OVRLPK-LK LLN L8LLLN*S,MNLN[6^ QAQBQCQDQEQHQLQMbS error - no load file present $ error - loader file format error $ error - invalid load file $ININIT PRNININIT MAC-. o0cI  %@h $LDFVD $SYST4HCLOSEFhΠFMAXTdUHXLDFILETd$%MOVBD48 OPENFH(.READBLU$TDhSEVAL4SYSHIG΀54xUCOMP1U5T#h-XCALLTd$%MOVBD48 OPENFH(.READBLU$TDhSEVAL4SYSHIG΀54xUCOMP1$ININIT PRNININIT MAC-. ͫmPZ8P!MicroBee Premium 128k kbP Zenith h19 Z9PTRS-80 Model-IIM2PXerox 820 or 820-IIlaPADM - 3aZ1PADM - 5Z2PADM - 21l1P ADM - 31/32l4PADM - 42d1P DEC VT-100 ZFPDEC VT-100 without graphicsdvP DEC VT-52 kAP ANSI terminalm4PMicroterm ACT-IVa1P ADDS regent MSP Soroc IQ-120 Z4P Televideo 910Z5PTelevideo 910+v1PTelevideo 912/920Z7P Televideo 925v5P Televideo 950H5PHazeltine 1500 H6PHazeltine 1510 ZBPHazeltine EspritZDPBeehive B-100/150M6PBeehive DM1/5/10/20/30M5PPerkin-Elmer 550B/1100ZCPGeneral Terminal 100A/101M8P Xerox 860CANCEL UP DIR KEYHOMEEND RIGHT DIR KEY LEFT DIR KEY DOWN DIR KEY BACKSPACEDELETEHELP RETURN TAB CHAR LEFT CHAR RIGHT WORD LEFT WORD RIGHT NEXT WINDOWPAGE UP PAGE DOWN PAGE LEFT PAGE RIGHT NEXT ULCELL REFERENCERECALC UP SCROLL DOWN SCROLL LEFT SCROLL RIGHT SCROLL BACKTABESCAPE( LINE DELETE* LINE FEED+ PLUS SIGN, FORWARD SPACE- MINUS SIGN. DECIMAL POINT1 FUNCTION 12 FUNCTION 23 FUNCTION 34 FUNCTION 45 FUNCTION 56 FUNCTION 67 FUNCTION 78 FUNCTION 89 FUNCTION 9: FUNCTION 10@ NUMERAL 0A NUMERAL 1B NUMERAL 2C NUMERAL 3D NUMERAL 4E NUMERAL 5F NUMERAL 6G NUMERAL 7H NUMERAL 8I NUMERAL 9 vertical barupper right cornerlower right cornerlower left cornerupper left cornertop half of a +bottom half of a +horizontal barr {    ) . 7 @ I V _ p y      " ' , 1 6 ; @ E J O T Y ^ k p u z   ' 0 9 > C H M R W p  5NSX]jox"/4=FO\ev !*;DMRW\afk !&+0Ibglq~',16CHQZcpy (5>OXafkpuz&+05:?D]v{ ";@EJW\enw !*3<IRcluz(1:?DINSXq 6OTY^kpy#05>GP]fw "+<ENSX]bgl "',1Jchmr(-27DIR[dqz  )6?PYbglqv{',16;@E^w| #<AFKX]fox    " W7(9(]4('4(5(((M6)t65)v26667=9P)k))))vAOO *(*C*i166!18PN16^*W7*9*]4*'4*5*y*|*M6*t6*v26667=9*****=*****i166!12 N16*FmHH'IxEE6ID66JFG=XHEi1F/F!1 N1+I}MOH'I3J^JOAI6SM0MN=OOiJi1\LL!1 !N1OW7*9*]4*'4*5***M6*t6*v26667=9*****>*****i166!1P!N16+W7+9 +]4+'4+5+++M6+t6+v26667=9!+#+%+'+)+>,+0+2+4+6+i166!1!N168+W7@+9F+]4N+'4P+5R+:+=+M6T+t6V+v26667=9Z+\+^+`+b+>e+j+o+q+s+i166!1!N16u+W7+9+]4+'4+5+y+|+M6+t6+v26667=9+++++>+++++i166!17"N16+W7+9+]4+'4+5+++M6+t6+v26667=9+++++>+++++i166!1"N16+W7+9,]4,'4,5,++M6!,t6%,v26667=9,,.,0,2,4,=7,<,B,D,F,i166!1"N16H,W7P,9V,]4_,'4a,5c,J,M,M6l,t6p,v26667=9w,y,{,},,=,,,,,i166!1P#N16,W7,9,]4,(4,5,,,M6,t6,v26667=9,,,,,>,,,,,i166!1#N16,W7,9,]4,'4,5,,,M6,t6-v26667=9- ---!-=$-*-0-2-4-i166!1$N166-W7A-9D-]4I-'4K-5M-;->-M6P-t6S-v26667=9V-X-Z-\-^->a-d-g-j-m-i166!1$N16o-W7x-9{-]4-'4-5-r-u-M6-t6-v26667=9----->-----i166!1$N16-W7-9-]4-'4-5---M6-t6-v26667=9----->-----i166!1$N16-W7-9-]4-'4-5---M6-t6-v26667=9.....> .....i166!1$N16!.W7).9,.]44.'46.58.#.&.M6:.t6<.v26667=9@.B.D.I.N.>Q.V.[.`.e.i166!1%N16g.W7o.9r.]4z.'4|.5~.i.l.M6.t6.v26667=9.....>.....i166!1O%N16.W7.9.]4.'4.5...M6.t6.v26667=9.....>.....i166!1%N16.W7.9/]4 /0(4 /5/..M6/t6/v26667=9/"/&/+/0/>3/8/=/B/G/i166!1%N16I/W7S/9W/]4^/'4`/5b/M/P/M6d/t6f/v26667=9j/l/n/p/r/>u/x/{/~//i166!16&N16/W7/9/]4/'4/5///M6/t6/v26667=9/////=/////i166!1=&N16/W7/9/]4/'4/5///M6/t6/v26667=9/////>/////i166!1D&N16/W709 0]40'4050/0M60t60v26667=9000!0#0>&0)0,0/020i166!1&N1640W7<09@0]4H0O(4L05P06090M6R0t6T0v26667=9V0X0Z0\0^0@a0f0k0m0o0i166!1&N16s0W7{090]40'4050u0x0M60t60v26667=900000>00000i166!1&N160W7090]40n(405000M60t60v26667=900000>00000i166!1'N160W7090]40'405000M61t61v26667=911 1 1 1>11111i166!1R'N161CADBVSUTJHWQ@ N LMRPCADBF AK       K       K       K       K       }[O CADBP Q RS[CADB}[O CADBP Q RS[CADBKCADB CADB[CADBH4P LMh [CADBK       K    K       K    K    Z   P CADBH CADBP CADBH CADBA|++++++-`cdefusaxkjmlvwqxkjmlvwqjghefonkdDLH@\P`AGHEFCD@PESP@ XERES= RRX@ XERCE!mKEYLIST!OUTLIST!RGCAPUT!r ?1Z8T!{ ?2ZU! ?3Z8BU! TQU! ?5Z8`U!?6Z8oU! ?7Z8~U ?8Z8U! ?9Z8U! ?10Z8U! ?18U! ?12Z8U!?13Z8U! ?14Z8U]! ?15Z8U! ?16[V! ?17Z8V! #18Z8,V! ?19Z82l[>2h[>5l[>5hP   ][##P Y 0@0P##P*= ][##P= TG0G4G4G0P= T.2.0G0G4G4G0P= TkjjkP+= 1.1T><.2.0G0G4G4G0YP+= $%1.1T><.2.0G0G4G4G0YP~~~][##~ PP ``][##PEF ][##PEF RSd@dPePKX Y ][##P f ][##P= ][##  *##" PARMS inflag  !"inflag8 2G ͩXNG*}N:_~44#####"##~2#N#~~ʙXNWY{kʑ^ʖoͩoNNN_^ xͩʟ½ ¬ &*28AIQYchpszVinflag("')#":9g#"̓****:_:::'2}2M>O2}2}2+"#"*"!"*~ #-8;@KWei{q(intostusub164GSxmu66^rgchScremPARMSicolumnirowrm1xc1mcolrm1xc2rm5rm4r79f40pchBufctrls*intostPARMS*intostPARMS*intostPARMS readyco5 **:_rgchScrepchScreeusub16du66icolumn readyco!A**z6 #**! rgchScrepchScreeupdateCuintostrm1xc1PARMSHy """""*"Sx6* ͞:_*"*"-:_*"*"xw* **"*"͞n!N#F*"***x ^#{:_* &*039BFIMQ`dgkqt~ucomp16!mu66\pchScreemovbargchScregrfongrfoffoutcharicolumn>XmcolzpchBufsetspt y ! ^#V*& intostPARMSsetatr=^"*AC"*:_=ek!V"T"V*w"+^~#9wi(~##ʫ2Z~#"XҜ_:Z=*X}րO![ ^#VͯGxʒ ô*T~ͯ*T^_#"TÒ*T4#4Ò*T~`w#~`wÒͯOͯ^xʒ *TF#Np+qÒͯOͯGy*TNҒywÒ*T~*TwÒͼ0!~P_^# yCXÒ# yʒ~Hͼ0!~Hͼ0!~H*T~GOxwÒͯOͯGy*TNڒywÒ*X~#"X!Z5*T~#"T!dq #q#w :!Fx~# |}}o|g||GMzW!z>'>S))/ ='|x怴gD|OzGKzW!>))}o|gd =Q|tx怴gzy怲W #,259<?DM[]_acegikmoqsu &)-037:AFNU\cgjquxm",1`gRGCHSCNPARMS}setsptchroutPKYicolumn(pchScreepchRealCucomp16rgchScreusub16du66=intostwmu66movbaupdateCuX> y2S*FN"Ty(*X.*ZxB *~_/*X*T2S &)2@CPIpchScree 6updateCuLintost#,Foutchar=PARMSVbinverseSP !q#p*"y2x6{6y,**:_}*""a+"#_:{ "v+" :Ž*^*^**:¢*"*#"*:¿* *"x *~_*#2#" +{*#""*4QTWZ^jmqw{~ rgchScre8pchScree<Nintostsetatr'0outcharusub16?du66HupdateCugrfonouttranspchRealC grfoffPARMSicolumnDdbinverseJ7 y*"D"Fy**J*D*L*D*R*F*R $+17=pchScreeupdateCu!.:intost'4@PARMSHbinverseC *~t*~cy2*F^"y8*>*xR *~_?**2!q#p*"y2x™{™yFC**:_}*""K+"#_:{ "+" :*^W*^W%**:**#"*:"**"x? *~_,*#2#" +^{*#"y*""yž*******#-069BPSY`dnsy  &/=@HM[| pchScreeFk)3y updateCu&\ DX intost3<V#outcharM:setatrrgchScreusub16icolumndu66pchRealCimgrfonbouttransfgrfoffqPARMSbinverse{< *(*#",w{2z*}{+#~g#F##N:z##\ \O ~yO #8:zG#~#N8#^#k$.>FLRehqxvideoinvideooutpchScree!ucomp16grflag1 :<2> 2>curtemp > :curtemp#y*~A ˿w#z videoinvideooutpchScree >videoin >videooutN *|gPD|OzGKzW!>))}o|g5 ="|Ex怴gzy怲W 18>pchScreereadyco#> !w"videoinpchScreevideooutD- """*ͮ"Uxʞ !N#F**ʹP*"*")P*"*"xʞ *"*"!N#F**ʹr*|}xͮ  !,17;>DHKOScgjnu}setsptvideoin$_videooutmu66\ucomp16 ("&PL}!90) setsptpchScree&mu66*}*##" grflagPARMSgrfon !" grflag grfoffɎ< <*;*#}P13.$3."?w{2*}{+#~z#F##N:##o oO ~yO #K:G#~#NK#^#~7AQY_ex{$)/videoinvideooutpchScree4ucomp16grflagD >7tforII6>F/.{z2!O "[^6#V6#zCC~#] /{*}+c:q#*s#r#w#>[* }P*###s#r#w>]{ʽ>O*ҥ0~¯>w#" x•>O*0~> w#" x½MR{2-x&>O*0 ~_:-w#""*#~!"):?HOY\`e{$videoinvideoout* pchScreeRr '!readxcoltbad0ltbad03ltbad1ltbad13tforII.C '"!"#!9"A1?*#*!    TempHL!TempDE#TempSPtrAvideoin$ ""***TempHLTempDE TempSPtrvideoout *}|`o`pchScree *&}opchScreereadxco.M>!< |/+s #"!""""videoinpchScreevideooutltbad0"ltbad03%ltbad1(ltbad13+D% """*ͮ"Uxʞ !N#F**ʹ*"*")}gxo*"*"xʞ *"*"!N#F**ʹr*|}xͮ  !,17;>DHKOScgjnu}setsptvideoin$Vvideooutucomp16! y:)(= tforII"}0gxosetsptpchScree)(U? }?  @!? gjnu}setsptvideoin$Vvideooutucomp16! y:)(= tforII"}0gxosetsptpchScree)(U.) (now 999 lines) W = Change page width (now 999 chars) S = Manual setup codes P = Print report to cancel /O command L(ength), W(idth), S(etup) or P(rint)?Enter codes (CR when done):Enter to STOP printEnter number (0-255), then return.*Y*YMDz25^y/^:5^Wx(^͡"^!CV͑6DM>  ->= > !^ > ^! ~#^>CV_1^_1^]͊1]7ϯ2v):YG:YO_:Yo&"_*Y:YO:^G>2G͚^2G:^G:Y?x2Y:b=…^:a|`:^=:^::^:a|`:^y?:Rʧ^>2`:YW_ͮ(^x^͡^!^:R}F^^^Wý^_Ú^ :`_:`3~#3_`^!X Ox3*a:_~=w_WV_yV_x3*aV_w_W:_z2`x2^c_=2G:R_X__z!XbN:Rwxڒ_Ҡ_Ø_Ҡ_6 bN6xڮ_=ð_bNPͷ66 =bN:Rw#6*_#"__:R2_O:R_xxx|_`_3_VQP!"a:b=$`=K`=q`:`<2`{ D`:=|` D`'3 {Qj`:`<2`{ e`:|` e`P`{K7!Y+*+G:bˆ`x:a<ڦ`ʦ`ͫ`--:b'3>2a~3>Z3:(`d+`{+VQ`a`:aVQQ``:b`:b ` `t[ɷ=a{Q=a=K7More... ('return' to continue or to stop).~O#^ Ia]-a!a> w2a2a͓.:pa0ҽa ʡaaʕapaxpa+6 a!a͉Nzpa{aaVQOxpayw#a[aaVQa!aH+pa %ͷ3Enter Device: P(rinter), S(etup), C(onsole), or D(isk)D(isplay) or C(ontents) report?9bNDisplay,{bContents,vb }bbbQPrinter,bConsole,bDisk,bSetupb b b b Z]ҿZ!+-+*Y:YZV\:RZ!R:YZ5Z\:RZ!R:YZ5m.T#õ!*Y:Y6[: X[X[+\:RX[!R:YX[4X[: X[X[͓\:RX[!R:YX[4m.T#:Yʂ[!F_:YwW#:YwG!^[Ö[!F_:Yw_#:YwO!^͟[m.T#7!"N_yak͛! I]zһ[q!TI]z[q!+~[[x2 Ͷ]"N_x`j͛! I]z?\q!Ty]z?\q#p! ?+~"\\x2 Ͷ]{V\: _V\:U2Uy2F_!O^͟[2UկW!TwW: p\= ͊1_\K! ~ʆ\!4!P_{2F_!w^ß[z>\: W?\*T!"T?x2F_!c^["TկJG!T w#w_: \= ͊1\J! ~]! 4=og}  C^:YG# ~# x ^!V͹O]͊1]H^7*Y"R:F_Y^"_{7__:F_m^"_z?7__:F_7_"__:F_7_"__Cͩ^X_Bͩ^P_A"_:G_O:F_ʥ^^ʣ^ҥ^yڥ^ɸʣ^ڥ^xڥ^V"J_^#~A^[_^{!Vs"H_56"_#"L_*N_͑6*L_^*H_~A^[^#&_!>͒O*L_^=GOx!R O~ w4 m4 mR(ow) or C(olumn)?Inserting..._CRow,_Column,__ _ From? Enter row number.From? Enter column letter.To? Enter row number.To? Enter column letter.Moving..._CRow,c`Column,y`_` B` _)` B` :YG[!Y: =Zw#: =Zw:Y2YxZt-:YZZ7\7!ͦ\7!,\7!-:Y2Y:Y [1[7&?."Y!"Y>[*Y*YzW{_!Sxt[~7UeO`[:Yn[wUeOo[# D[!U>҈[\R!+*+:Y[\!U:Uʡ[!U:R°[#:Rʷ[ͪR2U:U[=[!U\!U$\F'$F'$!U~[6*R"Y ']*Y"RT#>v2S>2US!A͒Oõ!!URÒO\!URÒOi."vz3&+Gn?GYi   0 s 3 N s   1 Z q ' ? m b ZW&C|BS&_r/W=v.[0w ` ! !R!t!!!""":"\"_"t"$_&&&&&' '''B'_''''((2(M([(|(((()%)F)h){)))***8*Z****++?+Z+++++,,E,\,--9----.YN Microsoft Install Version 1.02 (C) Copyright Microsoft Corporation 1981 The Install program modifies a Microsoft product to take full advantage of a terminal's capabilities. Install uses a file that describes many terminals. If your terminal is not in that file, you may define your own terminal by answering a series of questions. A manual describing your terminal will help you answer the questions. Press RETURN after each of your answers. Press control-C, at any time to abort install. Press any key to continue.(Data is available for these terminals: The program will ask you questions about your terminal. A prompt will indicate what type of answer is needed: (I) for Integer (number keys only) (Y/N) for Yes or No (Answer Y or N.) (S) for Sequence of character(s). Special keys can be coded with a prefix character. Type &M at any time to see the menu of the prefixes. Press RETURN to accept the proposed answer to each question. To change the proposed answer, backspace over the answer and type a new answer. 8Enter name of product file. (Change Disks if necessary)Put disk with 4 on it into current drive Press any key when ready.a Enter number corresponding to system. Just press RETURN to see more items. Press D when DONE. Abort Install? (Y/N)Answer too longIllegal use of &, ^, or ','Answer too lowAnswer too high'Attempted to validate with invalid type. Answer must be all numbers%Answer must be all numbers or letters Answer Y for YES or N for NOAnswer out of rangeYou may either proceed through each question sequentially, or you may just change selected items from a menu. Do you want to go sequentially (Y/N)?(more)Install complete(Linking code)(Checking references)(Allocating virtual screen)(Opening Installation files) (Verifying)(Collecting data)(Updating file)(Building map file)(Writing to Product)Code Patch File InvalidA Insert Install disk in current drive, Press any key when readyList of terminals invalidA Insert product disk in current drive, Press any key when readyProduct file not correct typeA Insert Install disk in current drive, Press any key when readyInstall Spec file Invalid#Cannot deallocate unallocated spaceAllocate size clobbered Corrupt mmtypbad rgbszAloc size Bad arena #Cannot allocate byte size Memory space exhausted Linkage Error!Invalid Error NumberUnexpected End of File'Maximum size of installed code exceededUnresolved referencesInvalid external referenceUnresolved Parms referenceUnresolved references:Disk I/O Error* Fixup value exceeds size of code block: Invalid SymbolIllegal TCD data pointerUnexpected End of File,Wrong number of graphics chars or input keysIllegal Input KeyIllegal screen definition Fatal Error The following list summarizes the strings that use your terminal's capabilities. You may continue selecting any one item to modify until the complete list is acceptable. r The following list shows the strings that will be used to generate graphics characters on your terminal. The following list shows strings sent by special keys which will generate the different screen functions on your terminal. w Enter number corresponding to capability (I) Just press RETURN to see more items. Enter D when DONE with this list. Enter number corresponding to graphics character (I). Just press RETURN to see more items. Enter D when DONE with this list.v Enter number corresponding to function (I). Just press RETURN to see more items. Enter D when DONE with this list.U The following questions pertain to graphic characters that may be displayed. You can assign special keys to screen functions. These special keys are optional because there is already a control key defined to provide each function listed. If you wish to accept the default, just press RETURN. For example, the default for LEFT DIR KEY is control-S. If, in addition, you want the left arrow key to move the cursor left, you must type the sequence of characters produced by the left arrow key in response to the question regarding the LEFT DIR KEY. (Just pressing the left arrow will enter this sequence of characters.) To define more than one key to do the same function, separate the definitions by a comma (but no spaces).  Clear Screenclear the screen (S)Position CursorGraphics9What sequence of characters will begin graphics mode (S)7What sequence of characters will end graphics mode (S)Initialize MultiplanSome terminals have properties that must be set before Multiplan can run. If your terminal can set wrap-around mode, then enter the corresponding sequence of characters. If you set more than one property, you may need to generate a pause between each character sequence. Use the &P or &I to generate a pause. (type &M to review their use). What sequence of characters should be used to initialize your terminal? (S)Reset MultiplanOWhat character sequence will reset the terminal after Multiplan completes? (S)Erase to End of Lineerase to the end of a line (S)Clear to End of Display"clear to end of screen display (S) Reverse Video7What sequence of characters will end reverse video (S)Keyboard Click Onturn on the keyboard click (S)Keyboard Click Offturn off the keyboard click (S) Cursor onturn on the cursor (S) Cursor offturn off the cursor (S) Sound Bellsound the bell (S)dDoes your terminal require a special sequence of characters to turn off reverse video (Y/N)Input TranslationThe next question is about your terminal's reverse video capability. If your terminal does not have reverse video, type N. Some terminals will write a blank character to the screen when they start a reverse video field, and write another blank to the screen when they end the reverse video field. If your terminal has reverse video and does this, type N. Does your terminal have non-destructive reverse video (Y/N)5What sequence of characters begins reverse video (S)9What sequence of characters begins a major highlight (S)7What sequence of characters ends a major highlight (S)9What sequence of characters begins a minor highlight (S)7What sequence of characters ends a minor highlight (S)8What sequence of characters turns off reverse video (S)>What sequence of characters will start cursor positioning (S)<What sequence of characters will end cursor positioning (S)+Each row and column on the screen can be addressed for cursor positioning. If the position of the upper left hand corner is row 1, column 1, answer Y. If the position of the upper left hand corner is row 0, column 0, answer N. Is the upper left corner of the screen row 1, column 1 (Y/N)%Is the row position given first (Y/N)How is the row number modified? 1. Send without modification 2. Send as an integer (Field width is variable.) 3. Send as a 2 place decimal 4. Send as a 3 place decimal 5. Add a value before sending 6. If the number is greater than a test value, add a value 7. If the number is less or equal to a test value, add a value Select one of the above functions to be applied to the row number. (I)EWhat sequence of characters separates the row and column numbers (S)What value is added (I)What is the test value (I)How is the column number modified? 1. Send without modification 2. Send as an integer (Field width is variable.) 3. Send as a 2 place decimal 4. Send as a 3 place decimal 5. Add a value before sending 6. If the number is greater than a test value, add a value 7. If the number is less or equal to a test value, add a value Select one of the above functions to be applied to the column number. (I)1Your answers are too long; you must change themYour input keys are ambiguous. No two functions may share the same string and no string may be the same as the prefix to another string.0 What sequence(s) of characters (S) represent What character (S) generates Number of rows2How many rows (lines) does your terminal have (I)Number of columns7How many character columns does your terminal have (I) Terminal name%What is the name of your terminal (S) What character sequence will ?Begin Graphics ModeEnd Graphics Mode There are two prefix characters: ^ is for coding control characters. & is for the following characters: &E - escape &R - return &^ - ^ &N - newline &T - tab && - & &F - formfeed &B - backspace &, - , &X - rubout &Dxxx - 3 digit decimal (less than 256) &Oxxx - 3 digit octal (less than 0400) &Hxx - 2 digit hex &P&Hxx- pause xx (hex) milliseconds &Iy&Dxxx - pad character 'y', xxx times &Y - Used to code a Y after a control-C + You may now select one or more screen tests from the following list. If a message does not appear or part of the test fails, press control-C to exit. During the tests, control-C will not abort the program. Possible terminal tests are: 1. Cursor positioning 2. Clearing the screen 3. Multiplan initialization 4. Function keys 5. Reverse video 6. Cursor and keyclick options 7. Sounding the bell 8. Graphics characters 9. All of the above Which test would you like to run (I)? Enter D when you are DONE testing.Test of cursor positioningThe X should be in the upper left-hand corner.upper right-hand corner.lower left-hand corner.lower right-hand corner.Test of Clear the screen.The screen should be empty.'If there is only one line of E's at the"top of the screen, the sequence of%characters to initialize the terminalmust set wrap-around mode.&Verify the assignment of terminal keysby pressing special keys.Press RETURN to continue to next test Test of turning on Highlight. %The above line will turn to Highlightwhen you press RETURN. Test of turning off Highlight. Highlight will be turned off on%the above line when you press RETURN.Test of turning off the cursor If the cursor can be turned off,it should be off.Test of turning on the cursorThe cursor should now be on.'Test of turning the keyboard click off.$If keyboard click can be turned off,it should be off.Press the space bar to test. Keyboard click should now be on.(The bell will sound for each key struck.Test of graphics characters.(If the terminal has graphics characters,$the border of the box is continuous,&there are two down marks pointing into#the box on the top line, and two upmarks on the bottom line.$Press control-C if this test failed.Can not open map file%Block Load Addr Relocation OffsetRelocation Offsets:*You may wish to change disks at this time. File not found: 0 Insert correct disk, Press any key when ready(Collecting data for ] Following is a list of available user slots that may have different terminals installed. \Enter number corresponding to user Just press RETURN to see more items. Enter D when DONE.If you wish, you may redefine X by answering a series of questions. Would you like to redefine this terminal? (Y/N)?block ) (Packing block M Enter number corresponding to system. Just press RETURN to see more items.Answer must be all numbers or Dle user slots that may have different terminals installed. \Enter number corresponding to user Just press RETURN to see more items. Enter D when DONE.If you wish, you may redefine X by answering a series of questions. Would you like to redefine this terminal? (Y/N)?block ) (Packing block M Enter number corresponding to system. Just press RETURN to see more itemrders are displayed. F(ormula Display) -- In Formula Display mode, the textual contents (rather than current values) are displayed. N(ext) -- This toggle controls whether an "auto-advance" is performed (in the "current direction") after data is entered into a cell. H Scope of Formats. E(ntry)---->Sets display format for a cell or group of cells. R(ow)------>Sets display format for all cells in row without a cell format. C(olumn)--->Sets display format (or width) for column. Affects cells with no entry or row format. G(lobal)--->Sets display format and column width for all cells and rows without local formats. I Quit options. Y(es) exits SuperCalc. This discards all worksheet data not /S(aved) on disk. J Zap operation. Y(es) erases all data from worksheet, including global formats and column widths. Zap is equivalent to exiting SuperCalc and calling it again. K Window (split-screen) options: H(orizontal)-->Split into two windows at current row. V(ertical)---->Split at current column. C(lear)------->Erase split (return to single window). S(ynchronize)->Cause both windows to scroll simultaneously when moving parallel to split. U(nsynch.)---->Cause only current window to scroll, regardless of direction. L FORMAT command. Enter one or more of following options: I(nteger)---->Display numbers rounded to a whole number. $------------>Display numbers with two digits after "." . E(xponent)--->Display numbers in scientific notation. G(eneral)---->Display numbers as they "best fit" in cell. *------------>Display numbers as a string of stars. R(ight)------>Format numbers right-justified. L(eft)-------->Format numbers left-justified. T(ext)L(eft)-->Display text strings left-justified. In this case long text will continue to display in unoccupied adjacent cells. T(ext)R(ight)->Display text strings right-justified. D(efault)---->Reset to G(eneral), R(ight), T(ext)L(eft). In addition, while formatting Global or Column, a column width of 0-127 may be specified. M Load workheet. LOAD worksheet from disk options: A(ll)--->Loads entire worksheet and resets global, column and row formats, column widths, display mode settings, etc. from saved worksheet. P(art)-->Allows loading of any portion of saved worksheet into any portion of current memory worksheet. Global flags and settings are not affected. N OUTPUT report options: D(isplay)--->Generates report formatted in rows and columns, essentially like the interactive display. C(ontents)-->Lists the exact contents (text or formulas) of occupied cells, one per line. O SAVE worksheet on disk options: A(ll)---->Text, Formulas and current values for the entire worksheet are saved on disk. V(alues)->Only text and current values of formulas (for the entire worksheet) are saved. P(art)--->Allows one of the above options on a portion of the worksheet. P Entry/Edit mode. The first character determines whether you are entering a formula or a text string (label). A quote mark (") starts a text string. An apostrophe (') starts a repeating text string. Any other character starts a formula. While entering data, the arrow keys (which normally scroll around the worksheet) become "editing" keys: Left arrow (or CTRL/S) --> Backspace one character Right arrow (or CTRL/D) --> Move right one character Up arrow (or CTRL/E) --> Insert one blank Down arrow (or CTRL/X) --> Delete one character Q Output destinations. P(rinter)--->Allows you to create printed reports from the worksheet, using the setup codes originally configured when SuperCalc was installed. S(etup)----->Print report (as "P"), but allows specifying special printer setup codes, paper width or page length. C(onsole)--->Allows you to preview the report on your terminal display. D(isk)------>Outputs the report to a disk file for later use. R Delete Options: R(ow)----->to delete an entire row from the worksheet. C(olumn)-->to delete an entire column. F(ile)---->to d& @& 7(>Lx INSTALL.MSG"#$% 89:;<!Fatal Error Can't Open Message File: *CCCYCqCCan't open Message FileInvalid Message FileMessage File too largeInvalid Message number  INSTALL.SPCiacpMax, itermMax are: @DPARMSRGCHSCNblock ./0123672 uv}jDND11PD}E}E}2E}KE}dE}}E}E cEdEVEeEfEgEhEaFi/F j2HlKHmNHnQHqYHpUHoHr]HqeHpaHkiHKFLFx@I zFOA&H&E&X&P&IDͻͼsea shells bsea not assigned error in testMP.COxbQ"(5EH  [Dd %QT"6UQs\Ta5Ib RfQ T#TQ=T"2 <3DPb   tbB"CHB CTIz6TTTT8QT#IT#T"6dSU6uSU'\u'R0V65''UTc6a5I\5Ib'W5:I5:I\d5UcIbJQ :I\b^Q 0Tea5I\5Id5ISe| 55Ia5I\5Ib57A7AIT"aS}RR} T#PR.DO!)1     B`W"IT Ƙg| Ƙg TT ASTyDA塈TSyUFA@圖 AC堎@TyBCSBC E@S;<=IbEQ ^bTyTyUP=GAQbT @TyU D-;<=z^Q ^BՀB孉TyBQBCByUy;<=z p\ݺpbTcTS\@TyyTyTyWUTyVRUTyTyyTyWQeTTyU [c[b@%A圊|AQdTyyCy@[B0TeCBd)BbeBC E@c}BP=e0QBdUyBbcQy}UyBP=BCByQ5T0c}0Td:b{Sd} A  P= AA 0 XX  Veg V dR#ײlT&fe^  } r|0,?Ms~ %2GKO`iy19@    CCCCC PTiTgW uSIhUg WfR OM@|-fS zRg| QS zRf g TiQ&Ui} z g}@AfTAR]yTB&@|LATAIeQ&Q^ AVױ UQ&;<=zQ&QEd|Q&;<=zQ&QXd|wRRQ^;<=zQ^Rd|RQ=AXס]yTQ&;<=zQ&QH;<=zQHA֮VP=TU;<=zU~U\IT\Q \Iz UcSbIQ&UTc}0Ud g>eV~|UIQDeT>fQ0Q9UTd}$! h ITd| pXbTd| \ݠYbTd|>eT >fQ0Q9 QAQZUTd}|U I&I'UTdZ|30iIh   i Dž R Td} IZbTd6A>bbTIz}Qa QzQ aUaQ2} Uc>c>Sc|T >>c}  VaUcV c}cVUBdAyyc}0Ade& AAA Ayb~yTbU5z&5z5UWT5IU5J&Ub0aT}Ts%Kt%LuIQY&zIQN'z&' QRCUR\a&T"0TTTT}aSb}R 0TgTgQ0:z|2TjR RaRj:i ] 7 0:za aT:i ] 7 0:za} k gI T}|Th gI:z T}  Q ^IcTbUd^bIQ0b}J LT1U     ClSlS5 Q$ RN됅 VV} VVu {Sm VVe {S] V O zm  zm Tl zm  SlT z mS   z}ggpSh Q RͫF {S?A; {S4A0 {S) {S" {S S SUh| ThA {[|RCQT#ATAT TheSSh|1Tf+iW ʴg y Xc gy Sh| AW}  SecS.VdWV۴yAffyTedT f{SSe} SdbAccTS bATd} `TkjW ʴghl֫Ui: S  g{SSk}  k W PTgTybAfUh:_ \AR@j Tby|HUP=A\ݺPj Rg|2 AlSSg|"ViW kbyi ky Sg} @\|1VeW^޴gfSTf ȭ| S ȭ @cTSzSzTyTzyb}@UgcT@ U<zeSSg{SSgQZfAyKzMzLzTyb} `Q"AyAeTTTT AeUTTT ]TeeyeA ZeWcdTf+gzzzeTǴyAAzc} *15KCCBC@ VcA0Q&AZQ'A6ZdC CCd}A֐AAc|W0yCyyCCyAaA0|-|2AA|%dAACyCCy|Q(A0} TT"'tTaZ=W6Zֻ0T6ZֻT6Z{6Zy5A\ 5AR5Q)5A} TZQ*VcT 5AXנQ+ZZc6ZCd6ZeCCe}yCyCeW05AVTyUAֻ0 Td%Ad|A AAdCa}TAc" |eV0CByCBCy| adT0&5A%Q,%&ר&b&5At'tTaZ T6Zy}&$&oD PUiZVQUh Zf |(^QQTiS ^gZV[Uh Zf  }`TghbT zSml iTi  [ TQ ]Q AVa} Q V[T 5SnUg|( I mS UgnQ ha} dTca}W0SUzKzLzMzAyzv|Po .c~SwAd          D D"D)QT__%TlT_VZ__ TyTyTyVZ_!_"T"yT"yT"yVZ_#_$T$yT$yWQ|_&_'T&yT&yT_%_%A_ _V_kmnRDZT#T_TQTT%B_w_A________  _ m  & #!% &_"$! &%_$ yk l%_%}e!5"Q!5 & _ k!#!T_ _V '_( #'( p P=T<hSU A Q6 TTB i  V j VA ֵyVc} TN jSU [T Dzk z U VZyBd ymSU j y C  c}TyA_nBBn}T lSU _SU[TDz_zU6 / A "_ TA_CC_}y|GmC T|0_VZyBny TyTy|  CyTc}M@bT:VXfe{SUP=ybTVXyBf{SUP=y}  A Ba} pTiSh A iBa}B yC CATVTh  bBaV}`Ag VAAyVP=Bc} pP=dT%iSU AXB h VA ֵy} AAbCaX}BqQ!QTjTk^mQ_p TlW pA_p }pppTlWAm }AAVBC  B_n n AnU _m CgmV}T!WnTcT}WD  Bܪ _o AhoW}p0VZyCbyTyU{dUT[TaQ-7AT#AfBi Aj UY i _UlA_VZyCdyyTyP=_Tk eAn AP _SUUɲmyUVZyCdyyTyAyP= A yV P=¼ il}$TbQA Q4SbA&Ba}TAcTbBaV}   BQ<WQ|yAaTyTyByAy 2D`IQTIzUTTTQ5f5IQ_I^^U_T_0fǪA_eekeqffI^5f5I}^^BeYfz0A_IQ:Q CfǪfY^5f5IBe}^^Q_I^AfAfǪfY^}]$Gtz                    FOlIJOaHUH]HMQHJNHFFPP@IF/FKHIEciT:iTecT>g ?&H,E^BJ$|N3V Ȥeb|i3'V|]3$V|Q3V|EQ&? ?|:3 V|. Q Q^? @?| Q ?|3V Ȥeb}\ z EdAcUb-&^eBCQ~0SCDCDAE1b}  ^Cd3%/$|J2VcXc|\c|^c| J2]c^cc|,3#$X\JQ6c| JQ5cccc Ec9^@dJ2fT3zT3z@ dQ iDIe z@dDIIDz@*dJ2#DIeQ Dz@/dDIIDzT3z|e@dQ iDIe z@dQ iDI zIe@ dQ iDI zIe@%dDIIDzT3z@dQ iDIe z55Ig@ J2Q5:z@J2 QRDz|QCDzQ5:z@JfQ7O5:z5(|F@ 5:z|;@5:z@ 5:zQ5:z| Q5:z@5:z@ 5:zQ5:z@%dDIIeI5 ֬5 Ih5 5  g@J2QCQRDzQ Dz@*JfQ7O5:z5(|F@45:z|;@/5:z@45:zQ5:z| Q5:z@/5:z@45:zQ5:z@9dDIIDzI5 ֬ 5 I5z5 5 5 I cTd cBW}WTeQ 3^BT}Ve^ 8^BT}: :[=) 5         cSVWȲdyV>0TdQ T^Dz}e jg A裺 Vy> z>h I \SX>Y{i>f>\f I \SSAXuVe TdQNAD   z^D_0 10I0IzQ,00Iz100I1I0I1Iz} VeAg jAg}=0V\eSyTyTySyTdQ4^Di>l j  k  i l A U}}fYgQQsUW h V y Ȥ  ȫ yT0de~V>g&%, ^ ?~?z>@?T~&T>g&L,IBK--L)bUN2J!(1XO2^/b12H;n0x5TQ?|Q ?|^?|]?| ?|\?|Q ?|Q?|Q?|Q?|VT>g Qa Q g Q9 Q0ׂ Q7Xf>g Qa Q g Q9 Q0ׂ Q7f?|_WT>Q0Zf>Q0Wf>Q0fRT?|/WT>Q0Qdf>Q0^f>Q0fRT?~z0dIeTfBAICfQtUBf}>V\g \>y y Tyy|V\gS yT yT yS y yTy f}TTbcdCbBc} c!Ap?A\ݾ?:yDp?D\ݾ?Bc}c C bBc} cAdCTz| CAYzBc}cCBc}b CBcVb} @j SVW e VTk \ T ^Dz }f>[|W>i >\i>h >\h g 8> z JUT zTk \ A  ^DI   ^D }}|>>g >\g 1U z> zTk \ A  ^DI   ^D }}}]% ThTiTk \ \Tf[] A AՐA k:yg \ A A}  A Ak :y f|  A:y}\  A:y Vk W Ȳd ycTj U?  AAep?\ݿ?  AAep?\ݿ?  AAe Af AI A T?T?}Tl\*A^D^DI  IT? J? }T?} j}i UV?Tf FAep?\ݿ?Tl\*A^D^DI  IT? J? }T?}T?T?Tz^#PXmwA~                EEFP/FFQQjDFQPPQEQP@IEM2EJKEdE}E}33I3 3 I*x2Tx)w.b>B|]T>d>\dRd>c>\cRc bIb|>e>\eReI澾}} TcTzb % ||3b|3b|3b| 3b|3b3bIaS}/c>b>\SQ Rb >d >aI\aS}/Ycc} Tz3I3IZ*c)e*2:d)*2fcf2dUUX66I55I|UY-K-K9I=*c)e*2:d)*2f99I|66I55IU55I-T#U66I xwce7f77I>,"8CQX[foI?|A?|AQdQ0?A^Q0?_Ae|y>P=A?|mA>>P=|bdba|Z|VQ`bQ`a|JQ?>?|@A^XA^:y|/AAQ:y| A>IP=|Q?>?>?Vc~077I>?}z>bbT&>牀 I|>b| >c>Vb}FP5Dj         NQ:QvQbQQ65  875   69  ^_ _,5  A_KUz_}' _ XDT_!QQAQ5"Q "K  '" MN7 _  yTz _ U_!}!' n@^geQ" HUe}ef Tf|xD_ D HUD_e} X De BH8KQ2D,Q^TQ X D  h y e} yVncTKDb}0TfKg^deeTh K H ee}  UfDyTz0^daHUa}TaaAbbT aBW}gP_fQV_dddTK_eeQDfc} TdTcKHda}QAQSUTdn@^geQ" HUe}ef Tf|xD_ D HUD_e} X De BH8KQ2D,Q^TQ X D  h y e} yVncTKDb}0TfKg^deeTh K H ee}Return; or "," for OptionsTo? , then Return; or "," for OptionsN(o Adjust), A(sk for Adjust), V(alues)Copying...Replicating...AENAVaZ   R(ow), C(olumn) or F(ile)?Enter Row NumberEnter Column LetterEnter File Name (or for directory)Deleting...RRow,_Column,fFile,rh_ i_h_ y_Z 4ZFrom? Enter cell  l^ _+^ x^h_ _[A(ll) or P(art)?Loading... MAllPart,Z h_ L``[b YbZEXIT SuperCalc? Y(es) or N(o)4IY`Nfe@T#To? (Enter Range), then Return; or "," for OptionsTo? , then Return: or "," for Optionsj"|_ _+^ ^Z+^ b_ ZY(es) to clear everything, else N(o) JY<N?YR!~# xIWx.*Y͡|~Ovyv ##S.!Y6#6Û:RG:R:RG:Rm.4 '*Yͮ%!Rr#s|½}!R͉#͒#~#~ҁ!Rz:RW͉GzW!R{:R_ ͒G{_:RW:RG:RG>&_!Rr#sm.5":U:UP:R$2R[:R$2R$:U7 '$4ý:R‘:U=K:#–2e"2J#ë&:#ȯ2#":#ʹG2#xi#:Ui#"!U:U,'12e":U2U>2U24bk:R:R:RG\ Ҟzʝ:R:Rʝ>>2e":Rʝz!Rʝ 'z2R!R͉ҁځ5:Uʹ":U¹"$:Rh5$ù">2U24:Rʬ>ʗw Ҟ>>£>ʝ:R_Ë>2e"{ҝ '{2R!R~ҁ!R4:Uʊ":Uʊ"$:R4$Ê">2U2:R64bk:R:RGw Ҟzʝ:R/:Rʝ>2e"4:Rʝ{!Rʝ '{2R!R͒ҁځ5:Uʊ":Uʊ"$:Rʄ5$Ê">2U24:R>>ʳ>\ Ҟ>>¿>ʝ:RWç>2e"z>ҝ 'z2R:Rҁ!R4:U :U $:R> 4$:R!Rʹ":RW3͗*O!RFڹ":RG~<:RG:ROGy2R:Uʹ"$!R~w$ù"͡h ~ q z7ȁW\ "Y͡ڃ ~ q {7ȁ_w >2-:HXʣ 'ʣ " :DXȯ2Y ͊1!HXF!7!ͫ&!HXX6x2Y #M ~ >P2Y 1!!X7!2!N,-@-@t @@ABCDEGIJKLMNOPQRS      MP .COM INSTALL.DAT MP .COMINSTALL COM31INSTALL DAT"234INSTALL MSG]56INSTALL OVRn789:INSTALL SPCSCKANJI HLPO89SC COM>:;<WSSHORT OVRd$& ##:#<2J#o"2J#:#8#2e"ͫ&:#4#2#2#@#2#ɯ2e",'1!"R"R:#G>2#:#i#xl#'32e"z"͹#:#³#:Uʔ#$͹#$:#³# 'ͫ&:#«#W0Ą02#2#2e",ë#!RV#^ͮ%͊1:#d$:#&:#:R_:RW#z:#:e"7̢)܃'#:U='$!RUU>U$UU.=$!RUU>U$UU.:U怵2U!R>U$:R2Gɷ~w#=U$:R_!X O6:RW:RGʠ$!RF##N%͉OG:Rͣ%:R=ڬ$A:RG?%x=2R!R%:R*RzW:#ͷ3:#!X:RG:RbN6:G%xĪ22XbQ2ķ22XbQͷ2*RzWͷ3ͪ22x3!R4%~=Q%7͊1xx3!R2%Q%W4%z!R!XbN:Rwxr%{%x%{%6 xډ%=Ë%bNPͷ66 =bN:Rw3=!R?!R{ܿ%!Rz%:R!%-+!R%:R2R:R!%-+!RO>2f"Title Cleared2*R:R<&:R:e"%&>2R!RN##Fi&"&j&2R:RĒo:ROo&"&j&:#:&=2R!Rܿ%2:#:R̷3*&#"&&O:RVQ x:R=j&xxx|ͱ&,͊1͉*:&&:R3ͷ34>2' '2'÷2:R3 ':R3=W:R=&Wͷ3ͷ2ͷ3ê2!'64y)64͸).'! *)D':e"2e"̓'2e":RO!RF##V*:RW>x3Oj'\':R|'H͉AOx}'x<2R>2':J#':':U'2J#:R:R':e":R'͉G:RW͢)'_͗**ͷ3*3|Z32'"3:RW:R(:R=2G͉Oz(<(':R<2Gk((W:R4(:#.(͊1:#4(<((k*2J#:e"7̒)b(͸)Z(:J#b(!f()тW' :R2v)͉G:RW͸)T͗*z2Gͮ(*Y*Y$*S**Y~ 23"Y͡t)! ~s):v)=t)͡"Yz3o& DM(z2x)*Y:R(~s)#84yr)*Y~)> bN$)##~'4)teOr)>)*Yz2x)G2w)'`):G_`ieOs) :x)G:YG:w)77͊1͠4>͸)Ҍ)! *)ѷ!RzO͉:Rï)!R{O͒:Rʶ)؁7͒)ڿ)W͢))_͡>$*:32G:R}F:'Ī2*:'*S*~ 23ѷz3bN6) ͗**ͷ3~ 2:R3W:R:RW͗*:Rؒ8*]*z͗*O+:J#:'8*G> Q}*2':R_*:RW×*:RO:R*!RF##zڴ*ʴ*V*!Rz**͉G:RG*Qx3O*!R{*:RO{*++_:R_*|-̈́0-'1*/!"/͓."/×4:1ȯ21 +"8+:+'17*8+:W:_#ͷ32VQ3 Disk FULL = Continue, <> = Stop Memory FULLFormula ERRORRange ERROR Column ERROR Row ERRORProtected Entry File not loadabley~Q# +2,,>2,- ! "p-"-}2r-2-! V#^!-͑66 4!n-͑66 4z3o:-2-}2-&{-O4͡o,,,:,'1"-- -~ʏ,~!-£,à,##~!-'£,!-ã, ,,-VQVQ*- :O+g,!-:R,:U!bN~2l-l--:,*z-u-:-g:---> ~ #->P#+4x>L9-x@>R;-!c-xV-yS->Ty!i-V-?O ~  $IEG* LR> Width: Memory: Last Col/Row:ccrrr ? for HELPR$TL Rtxt=Text=Form= -2-VQ-Z3:==_÷3-2:=_ͷ3VQ:=_ͷ3Z34s#r#s#r!X͑6ý/46#r#6#r!Xͷ6ý/4s#6#s#6>!X͔6ý/͊.ý/!DXyO:2GX>2-!"[.͊.!5Z3!4:_÷32#://ä.͑d2G>x2/:..!/.n/.:/.n/.[..::/.. G:1x /!͋//!Y/͋/ڡ.ɯ2/:/G:N/:UN/N/:P/*|N/x>x>x:B/x  {/>O͊1!2~d2s/:G~ʛ/ʟ/##Í/x7#~2/!/6!DX4#~+#4!HX:DX20bN~/:0t?/~ #!GX:DX/4+4ͱ//6́01:DXt?,0!HXbNwͱ/Q'1(0!DX~51'1!DX>s~#R0+41'1> 0!HX:FXbN~!EX>s~4+O ~!HXbNT]zO6 {.͊.W0:O+'1!DX~#~5+O~2#:1(2P!F292͎7+2O?2 +Q>O>O2 +r%2 User abort!2~`2͌22}2R2!8+~6#6,5*2~#͚2"2ɯ22!"2"2:eO!:Ÿ3:\Q:¥3:^Q:6ʷ2Ó3:?ʪ2Ù3:6Ó3:?Ù3:2ë3:2ñ3:>23͇3:3͍323>2-T3!"3Fx#~J3~ON3~Q#;3!63:3G!~63:<*3G> Qs3÷33VQ !63!63!663!?63!#63!,63!63!63*3eO{z_W"3!T|OZ!Tw!TbN~3:R!TbN#4z!TbN#+4!To|gyw!TzW~GOxG+4#44{Y4}Y4yY4:ROzq4|q4xq4:Rz‰4|‰4x‰4:RGG>Qa{ !Rz#{#~#~!Y{4#z4#~4#~4!4͑6G:DX4!HX_4HkO*RU\!YN#F#^#VX6!5O85w#w#: =w#: =w56n5#s#r#s#r+~:Z5ʇ5À5#56ڀ5#~€5s#r͘55҇5!+*+ѷALL͘5!+*+X6i6x?56#p#6#p~55#i65~5x?5p75!+*+X6͎6#BKx7y36q#6#q#6>+~0636#i626#~26z736s7i6͎6zT6{T6x?T6P7Ag6[g6AO7~V6A#~V6ڊ6#xʆ6=Œ6>4È6>G7ÉNͷ6&#}dڤ6Oò6 گ6Oò60#6z666B66A#Aw#6x6~# 6 6a6{6 6~ 7͗4#6N#-7yGybN7#7# y@7.77lSÒO!hS7wW~*z7bN6*z7^#V*|7Q7ʝ7^#V#~bN"SY !>"7!9"7!@"7z'98.927#8K8'8}8G8%K8D8D8z8z8!> G8!>G8!>}8.8ʔ8*ʲ8>ʊ8+~8gx|88q?[8!>W?_C>4?^?8q?>‘8>> 927"7q?> 9+~)¯8"7>.278d) 9' !8bNFH  ~# 9+"7>-272C2V?!"S"7!Y"7627*7>277;>.ʛ<0C9:ڛ'>. --++ --= ++= -- ++ / ^ ** * + () )* = <> <= >= < > - PI ABS INT EXP LN SIN COS TAN SQRT LOG10 ASIN ACOS ATAN MOD IF AND OR NOT SUM MIN MAX COUNT!AVERAGE"LOOKUP# NPV$ NA% ERROR&>#9>-27> 9+~)v:q?X:eO 9+~% 9 9!:_@*7++++>:R>C*7+>Bw"7*7+++^+V~#~; 9>w<"R;>: 9<"R*R"S:R/;!I;$;!R;" S:S 9:S!@;<;!];" S:SGzm;:RG{m;*S:Rw;:Sw;*S* Sv;7w;"S: ;R;eOʔ;];eO 9<*Sã;e;ڴ;<* S ͛Eҝ;R;* SeO;*S:R"=%,>;*S:R"=-$>> 9<* S_Cb*7~*7>" S"7:C¢A*7~<<:4<I?w>M>i<>; 9:Š<ʅ<> ×<>×<ʕ<>×<> w>+W?#M#9>"7H=+97(=G <>"7!DF;=%ʏA&ʢA~((="7x*7<*7+56> 9#"7ɯ2RQ =*7++~!N"=E>2C>2V?<~:[=<>27>,27W?_C4?>.*7G:7Bx̘=#56 9#"7>B27|t=bW}{=k_"R"S: =ҋ=o: =Ҕ=g"R> 9+~) 9+~ 9# 9!<>bN^#V"S*7+++^+V"S ^+V"S+> 9:R2R!">2R*S,:R>"SH>:R=*>#">=:Ro$:S=*>MN2M*SM#~ 5>#M:R2R>.<*S*SDMC*S͛E_C*S͛E_CQ>Y>h>w>Q>ERRORN/AA*7~#"7Y*7>*7"SeO*7>#9+~27+~+^+V"7DM>>G*72SeO#9p#"7I?1?W?!>,?!>_C:7*7##"7?:7?:V?:C>*7V#^G*7YeO#9p#"7> 9+"7~/ 9!?_@??@@?@@@@@@ AAAAAAAAA?AAAAAE@@@'A-A3A?AKA@@AA??? 9>C?bA>D?>F?: @!> @!>>_C?;'@!>/@7@!>>@ 9:,@!@*7~G= 9!hA!k@o|g~#fos@}@s@@I?͑@hAx͑@>!>@x͑@>2C2V?; 9>27hA>BD?>D?A@!>@!>PY@A@@A@@@A?@A@@@A?!,Multiplan (C) 1981 Microsoft -4>HNNNNNNN[aaaaaaamm|uuuuuuuuuuu &&&&&&&&&288888IOOOOOOOOO[m|kqqqqqqqqqqqq]cccccccc:@@@@@@@@@+11111111111111W]lu~\Vd   !~#"o&^$V*N#"*N#<F#"O* N#FæO* æ##O*  ^#V^#Væ5!5O*  ^#Væ*æ*^#Væ*^æ͸QAO ^#Væ͸dIO ^æSxTOææ"^#VæaÛaO* s#ræqòqO*  ^#Vs#ræ"æ*s#ræ*sæs#ræsæs#ræ~O* "æ͸͸|g}æ͸)ֆO|æ͸;֐O|g}æ͸R֖O|æ͸>æ͸>æ͸>=æ͸>=æC ڮʮæ"W*~#2U~#2V"#:V?o&"[:Uo"Y*WC *[*WC *Y*WY *N #"æ*[*#"J*^#V#"*WC J:U_:V?W*"æ:V@ʺæ͸fֲOv͸t֥O* x/Gy/O ++#~2G+~2**Y *+++r+s*"xw+xw+r+s!w*_^#Vz*"!6!"*6*##^#V"^#V+" !N* ^#V*^#~W#"*"!9{PO*+F+~x C1æ*~2++V+^"~!ʤw*_^#Vz˜!"!1Ä"^#V+" *"*"^#V*"!:++æ͸yO xI yO r+sæ͸4O æ͸CֽO* ^#V"r+sæ+ææ)æY æ æ æ æyI æ)æA æ` æ͏ "ææææz/W{/_æz/W{/_æ{æ͸*"" x/Gy/O "æ*" C ʦ""" æx~# $ xw+ / x s#: |})=I )T #=O }o|g||GMzW!z>y >S))ҁ =y |x怴gD|OzGKzW!>))}o|gҶ =£ | x怴gzy怲WȯzW{_ |g}o|g}o|g}o! !æz æxWxG l ^za @8 ~l # x) l z zs za {l zs z a s#d #^ xD t {a{ _z xʒ Æ æ!y  !!æ æ æ æ æ æx ^#{ 9 k'7DTdx % D 9 g <  ~ ~ + p<t͸y2s yO! ^#V!:s ʀ ++æ)͑ t xC Ҧ / $ Ä ":s _!Ä*s#r#*D|gs#r#6#xwæ~! w*_^#Vz !"!Ä"^#V+" "*"*"1yʦæ xB ~ ~ʝ jABB_#~:B#~B l B~l#^– ~#^ʖ @_  _o xʶ ^# è   l~ 2 s#s#r"# `B:BHP*# C  *~p?*k#>? cj# L>  x!]6?!^ ͒w# ’͑B! s#rl!"͑B*ͬͷ!x}*#"~, *æ͑By xl!w &&,*6*,*͸f`ͷ !o!o!o!o!o!o!o!æ! ~ʇ{">2yҵ! Þ"~#fo"7*!^#Vr+s2#  : #~+:~jA++<##0. #0! w!w!!w#w#w~j U!.V*Z?S>2#0>2>?aVa_!"MP OVR:*@"a:*@*?:?;*)@%T9o zo W{_*@*@T9BK*@"@~~ʦG~2ʦ~#0ʦ~#0OÉͭæ:¼w#w0w#0"0w#0"*Y }wæ~# æw# .æËæKæ[ækt ̈́No&%~æ! Ç!w# Š͗æ:2:2æ:NҦAxO>NO! ~w ʦw ʦ#>A2! $ æ"͖æ! $ ͈x*! $ >2^æ3t jMoyM! !:^Z7>2jw>2jw>2jw:t !~wÑ!~G3ҵ/<Nwy+¨2 2!!::2 _=~4_ ~w=s!~+ ͭ >,HG&y=!Fwx_! ~P#7'w#I~4~?_+6! '#h! ~P‚47>O'#ƒ~w! >'?w#Ÿ! P~w#¶B ´ɷOT] >O+Gw+yWB~w+ !>  :G!OxG~G@=y_x@w6#w*! +w+ZͿ!2gͿ!bږʥÈ gÏ!*6 ‚#~+w!'w# :oG!~OxG~2 ='w#O~?w:)JGgv4yOxG>_! Ͱx !~+¥x2^"<+xGB*|"!""zK!!>^#V#DM<`i >@2 y񇇇ww+z»!" "|2 >Ä>Ä!!~FA?2" " " {y##~##N#Fo&` ) ^#Vz*  ~##T##~#TX*  ~#fo* s#r*  ~!!* ##s#r w#6xx* ##~#foN#F*  ^#V s#r w* ^#V##~’*  ~###w#6* ^#V##~!* " * T] * F##NG^#VOp#6#q#6*  ~6++^#Vk#͗*  ~>(>-* w#" *  ~=B==ʐ=B={T* * C T * ^#V ~ѷ-+~* 6$#" *  6#6*  ^#V*  N#F* ͂* -ʺ(k* {OT] w#+* ~(>)> Y *  s++~!w*  ^#Vz!*  ~##NG8=5yGO8AHc* *  N c*  NN  d>2~t ]ty2 " ! V#n<}y_Y}}{=_{̓! V#nyBM * ,w#6.#w#6E#+y-/2͂" {2 y2 ]t: ! * !_̓*  : G: Ow# y%¾60# y%: 6.#Ow# 60# 60#: YO6.#60#  w# _: :{:/6,#]: w#6: w#/2 ô>221t !9" AM" >+V+^= gxѻyѻ#lÎhD` )" ^#V+zʎO* w!ykk~#fo ###‹ 6#6!Î* * >2" }±|±goN#yy+N#^P* |##*  ^#V r+sá_ ##áy*  ^#V r+s" "  ~E#~=T* ~l#~=l*  ^#V r+syʥʢʙk|Šþ* * [ë* Kë͗* .* !3|$*  6#6#q#6á*   6 >ʡ<ʡ8ʡ6ʡ4ʡʡʡʡN#F! ~2 #~2 ͗! á^#V 6#6###r+s áF#^{?O{* ^##Vg {?_Ç {?_|ҕ z?WÝ z??Wj&k* |/*  ^#V r+s7> J:HF!IF"Fo>g6 #>Ӽùu֗p+ l`<0_RE1kKvr;O+w-?uG pȽ x `o?@gQaN %PXCIv#&: ^@ `7l #u1hTҀ 0!͹zѩ+Ý  20B$=yu b0NWc2`  lǐ:$  ˘ } ۘGq GvN5q@ dR$  Ƹ@ "'2PHr6?7d톍+6?~ cj( f?DP9#B剻{:Y+@G렫A #GMB]:aиS)l΀"gnP vg#RఛjYC +c ԛ1b0!`q  '.< #dM%\ Ռ g> 頋[RJEgw#T4 0;0! L fn!;@/Uӣd%:x .% `@ px 0P:":p O PY@np06< X!X$]F:4q[P ` , 2R,I<pg UKh"PNFePE\Zp&Jh*YY"U X`: PP^0X@ p+p+p+W+f@.Pp3  -@ z0:8P.P ^;/ p5b"NPQ>IfIIĞ,I"`!rl&M B}!:!:̃yl!ld -k]k #00 T ߚ(|znEv҆r &H'0DԚI .ejB2l^|IPl8h./%&j%v ?lD(6#A?WʬRYP АRD,!!ZqyX"P"ƚ8V"){)Q",)t&74y'y'},i ֣ <G)xeU -Pk@WQp)9 "`%2p:B-2*;u#<#>`n<#Pp2r=#: nzA-7  SL. , #N{2#|Wr~w9U&'"lj6s2r(uxF07 '4K0_`JӁS@5Wcˠ'Ic?9P4]&p '&rb:>dP!U`WG!IF(1 p! 0GK#YR-#y!*\L*">3` {T D p  EL0 P1}!# 6frg3*(* b`f+arh>ڂ#{N R 9xH/ ߚ  umyv$.my(t QoG Xp uGQ2-~O&pG ؑGF w P 0 A*PVo>)P E mIdr SRpx (u`q@0 =C* ^:}8K.` 4!1*؅B->20$Inp 5\<% P4 gm; ` `=#m0 Ҹ\. O=6ԖMx^t"p . (+ O=nq"p B0H 1C+bd'Jp!p0(b/X6 ~ŤQ*b CL\& 0 30 1mI`MT.a˰/fBdžB]*ZpobQo0+*Ҥ +(p(V0PÜ,,.c,110q C4!R1< [r#()67!y-M"XC\w:Z0|86y0 8("rlbd `Ae 88w` P#!: ? bs`0(k.(THqG]BX @  v? Ұo``((#` >} z6(p(j']bX`( 9'9y .)i$"a .F;hZN=(զ! p.F .s0:*{ku5@&"ܹA3E&tV (}` ukR)(I`)8[ T?+@4Su: J4 +`E`*g[:V倱P+++l ;'p fx  /qBU FK 5jp>( I`e/% 5(b@0wz 0n C 5XJ8N&#".2@@Rp`8|t (P/P 0Lf2ɉ U i^0,1?Lfx$;X AAX#i *:ļ @ y%Pt][!8Jy F"Db'l 2](R!=DBI`H|p2P+P2 ,{!<P U-B);\knQP|`0 P1j 1FqBUB (̃< 5Rt 8Х N (S0Cۇ?颓j \ ,Ė/M`0:@pCz(͙ ;0  ѡtF|رn(S vݒHxd D&D(q54fBtH;[+D?&;4fk8N:0#Hbc3`9Yjh٦ x4GE9  9d?h~p9t"\t78&n5٧8\:.kh:taX<0GP` y`᩽x'0x4d1xV`4Q@n\rvvƄfÜ|/w` #oA>] /V5A0.FX@p@3OwdaC@eٓ(w 353X?B8<<â@Dpx-<(Q!@ P! p}8YٰK?G0@?Cd )O1 ````׍Y|92@ݡ?Р?)h< L#4  ʞ>L(LVJCʲ2Na` 3.ͬ~s"|G1W38L$9&뤎4 Λʾ0 M$Cv`Z!$Oi2Tծ3M@ ]gZ/̱(2$TBjb` ́#;[=Ks$>0@2LPx [2Wh28WeVWf̮Ã58Ap:#bKb2 }- K8,39MS:/8î 3@}8Lx?JX5OZzt1QGBB4_@<B C' g2'6  2FhpP Ll-`HqDlշ }|"49tĘ2se@0x< +Dp= `=Y%Ј *QIMl>` J! Ф 92hCfh#-q% @t7Jx(vi8&*̲Ԛaq+L|nJH@ <@6x&$ݻAlK8 DjX! 33D C00Ŵ¢\X?Hʚ#=  H|r'0= # x%^c!s 20=ÙWo,C8)\fDj&65TaUzV Fx2%QGFL$@<ܮc$ (0ҏE%F /$, 8m%tDSBԊ*I U<@j2X`x.*x1scG{`S[.:t ڏRM\UxF@!'0IPd /A ¸QLjJIq$B G<ف05#d$q B8jh4@`Q1FFN0i  t5Fy(T ƔdTP?ԹD` $fLei/?H"f:2r1ˀ,_[at`^ [_Qp  5dx:cm s2$xƓpp VC9#| 00A"ׯ87[T^f8ػYX :BbWQGv8D `(Qʤ| 0sw_ Fw $U3A-xd@e^<c kBP12-r Mx] ʣ@0ձ6!J\,xusCxr $C`i,2 xEA˦ǠF 7@n|u޾C !7v0C7L :vC(0O ÐiuxL #„`<(C 3P(D !„Ho „8t p7Cw 3O5ha }C }7@Pˆ]»T |/W! @A8@L4!$M!| @$0ʖ h6$45̈ D(@@|BxʨBCܤC0@7b~$bLAx1AA(x1 ]9c*5x1`TA:7cp<:74a39p6`9A3#|; 3 xhC߁464<4h#p5iJ>CRB#07䞄<#N5CIނAcp3J3fB`c0p*Ah4 ` @d4xA +!N[D<4LAAT 0AC3,5í6:T1A9AE,39ࣨ3_7<,29&4F8lf(4Nce2]A#h(9A&9AGdIÒWg  偒l@1cRq .`sk lcp'&gbw 6qf APC ۃf"kYZngb'1^DÖvZCDAց&q]x<i D0; ʍBi褨aBmC2>AF~~Xh6FpgV) ED; @0`F!@4prAKLipCBl4A2D0;6@;xv9cN&a 0UD4jd HAA_ _8 JGLL2h:J + /<>+T0A^ ^jXkT6+ !L38<L;NI恞C\~J膈޹N|X :]λ<2 A޲>+2]N>~âKT5`AΖSVh<( * $\@ZDE16.DIR: Files in ZDE16.LBR, 01 June 90 by Carson Wilson: Filename Purpose ------------ --------------------------------------- SAMPKEY.DZC Sample key file for use with ZDENSTAL. SAMPKEY.ZDK SAMPKEY.ZDT ZDE16.CZM ZDE itself. ZDE16.DZR This file. ZDE16.FOR Short RCP/M description of ZDE. ZDE16.NZW New in ZDE version 1.6. ZDENST16.CZM Installer for ZDE version 1.6. ZDEPROP.DZC Proportional formatting support files. ZDEPROP.ZZ0 ZDKCOM13.DZC Key compiler for ZDENSTAL. ZDKCOM13.CZM vZDE16.NEW[ZDE 1.6 DOCUMENTATION]#  8wMAiLs:M!p6O")t7pTTe9&p\6!(%|Fsg4@b3Ii6lTjgJYsAu( ,΢ΐEUO7ӐwTNfh2CDc1N 6L&+Mz3fL&1m0Vˑtc=*zG  =()(*(=7 PPHLKJ&::Fx#Nͮ j! f:&E!f:&E!$f:&E!*f!0f:Vi©=§*& :O:_2 2 2% ! ͌ 6zä;:{ »:!W¢:!Xw#ʤ#N#ʸzL7zNLTNxwzNjzz_w#Z0"9zzzzz>_:% ʁ*& *# "& ʹ*! ~#"! O;: =2 72% >;*& "# "& ʹz: =h: k: _2 6zä2 * *& Z7N-:T=o%"& ʹ6zw* *& Z7ʹ6zä: E ø* "& ʹ >2 zAy z>2 : * wO;ä* : U7* " N:( 2) * Z7ByAB* ~qO&:) 2( * " wO;͖ ä: 2 k! n! !͌zî* +* Z7z6ʘz*& -"& :T=o%"& ʹ>2 : O* * yU7+" :( 2) * " * * Z7 6:* * NyA * q* 6 :) 2( * " ͖ z>2 * 6 * *& Z7H6',͖ z: _: _: •: *& * Z7•: •: _: N¸*& * Z7ʸ: ¸* 6: 2 z: z>@_: z>_: _: z: 0_: z: _͐: G: x: 2 ̓7"+ y7" xG:' 2' yO:& =2& ʹZ Ð͛!"& !Ѣ" !Ҥ" 2 2 2 ô*& ,"& :T=$."& * #" * | :( <2( U7~͸ 2* * +" * |/:( =2( U7~2͸ 2* :* ! 9O:* 9ʂ#ʂ!n_AgLxX7y 7y7?_Oy! 97y! 9yE7G*+  N##y7yʽ~µF÷T;͇5* |͸*+  p###q!" *+ N!3!#* |Nͮ #* " ʂ* w#" 9F#FAU!UXjwq~-qE7qnO~7jy!~q_wq~q> wOͮ #* 6#" ͐*& "& ʹͨ"& ʹz~Oͮ #è~#.»~ #: o&)))ѢÃ7: N; * : O.3:  *+  y7z5* | ͸ : G: O* 3* "& ʹ* Nͮ #1 : * ~_YW TW 66ͅ~| *+ |  ͮ :& l ͨ*+ |:Eʖ :bO;z*& * ~7" *+  ~͎*& - :T=o%* ~7*+ ~7* ~7" ͅ:E :cO;! 4ɯ2 " "& 2( ̓7" ̓7"+ y7" *+  ~O2 #~- <2 #̓7yv u v ͇5* |] ͸x2 y2 f : G2 O!" " 3À #" 2 " ʹ* |ʏ ~Ò ͸ 2* : 2 * "! * "# >2% ;: N >9L>X:E;DELETED INSERT TFYNtfyn.+- #9AXL!ѢҤ"!m"!m"Y:K !m"*~#"6 L7&/;DMY$0<JYl5o$4:  w Tu *+":C~ !"K *N9"K #"K *Y~7"Y̓7" F#N#y7xU m xC .3*z5M *9K *x` #y9 K xz ~*wÑ ~*_Tʏ Yʏ 6Ñ 6K OG"x ~@ڸ 2è +~ ʨ + — yû yû >2 y/<2ɯ2X2*6!m"͸6N#~2#^#V#~#F#"x2:X/<͢x2XW ʋ:_:<2X*~XK 7=å̓7̓7"! N#̓7> U7~#y7O9K ̓7"i##̓7NF9x@<<< > w> ##̓7NFxYH͏*9> ##y7~K ̓7"ڶ#F#̓7N~@ڝ >U < #F#̓7~4HG> ͔7# 9> ##̓7~N6T> 6F> I5MI5EI*p#3H K I5MI5E|¸"xҸyʟ=ڢ~O#xU7*q#9 K >{ < *w# K ~wK @}2VK >z < @*2VK @ 2VK @D1VK bbbbbbON#yU7F# 9xwU7#"K ON#F#x<ڟG7ʣ#å>*wK {{{{{{O*wK O*wK ~/wK I͡5VK ,ͭ4VK N#.3VK n&ͭ4VK **,ON#F#x<ڎG7xʤ#é/< < :*(*:65#q#p#657\xW͒Q<\xJ7>1ѷ.OR.͚x͒†<͚x|7>cѷ.AND.K8K8K8¶<x¹>7.NOT.exexɱ~$>#<ex7~= >]#*>]@>]> ^> ]>c#~=[>^> #<ɯ+ڹx~+“#<+ڸxʸͼ>q-ʜ#<+ڸxʸͼ>q7xG|GyMxGɱ~+#<+'x''yO> -##<+'x''yO>7ͥڢx:~*f#<ͥڡxʡyxGOxG>:/o#<ͥڡxʡx=|GڏGyҕMx:7ͨ~+-#<>#<Y-~È~![97l͔.€<PG>z>zC>zCA>z\*ځ1p*ځ1f>z~(€͈Ҁ66$#͈7|P>%zC>&z\eځxʁp͙8<~),{>2eځxʁ<~) peځxʁ~)>#<:O>3z\*ځ1peځxʁ~)|p͙8\<~)\{^>2eځxʁf:O>4z#<>>4zC>zP> z\f>!z͈xNyCL\O+ʁ<fU6+#6#p#|C>"z>z>zC>#z\f>'z\f>(z͈ڄ1Ä͈ڄxÄ~(„#<~)„#<~,„#<77~(¥#<*ڥ~)¥#<7Ϳx.36*#z5!<7~87x#ͺ7O6+## #<7~_TYFN7>6,#w##<͢VUU#F###N>)~7*V7͢{z#N6)#~7*V7͢ڟž6)#~7*V7O+ʼ<"V¼<7>#222~+-#~0:.2: >2:=2>w: O:+Hyx:<ɯ~ J J#=.F..T.CDEFILPRSTV#@$!*INT #VAL5LEN&@BTESTmPEEKRANKSTR$!CHRDATETYPETRIM*EOF FILELOCK#LOCKNDX3(k*!g!c*0~**0*0"0|-*0#"02020r7DM*0> U79 6xJ2t0y2q02r0_!|^x2s0p!"m0#"o0$20!H$$0ʹʥͮÙ:0ͮ#z!÷կ2{0,""%#20!""z*0"0*m0"y0$:0"*w0!:q0O9*w0:q0U76#6*0#6#6>2020t$E$>20*w0>2~0!:q0O8%E%+++̓7z_t$"y0$"t$*0"|0͉$"u0:0O:0ڗ<(%DM:0<ͱ$+:0ͱ$+*9*u0!:q0O9*u0:q0U7*z~7!04:s0E$:0$*|0"0~20<g:{0%|20*y0"H$:0g:{0$|2{020ͱ$:q09:020O:020(%DM:0<ͱ$++*w0++9*o0"zH$:0O:0[20*o0"y0t$͉$*o0#"o0>20*0*0Z7*0#!:r0O9*w0:q0U7*z~7>20*o0H$*o0"m0#"o0$*0*|0r7DM*|0+T]*9#"0*m0*0~76͉$$ͮ$m$A#| Z7 &"!# $"0z!"%!:g07 "0*0*0Z7M &"J "0ͮ$:g0O8%# !$#͉$ $:0O:0ʡ y !05X Û O(%DMͮ$++:0<ͱ$++9!05t$E$!05!05E$:0X ͮ$:q0O9͉$ $ͮ$!:q0O9E$:0O:0ʳ ɷO2~0"u0#*0"0*m0"y0$:0n!>20*0*u08%E!+!%!++̓7zn!t$"y0$ !++̓7z_!t$"y0$ !t$y720*0"0!$*0 *:ڷ!#̓7z>C+++61ʩ!>N6/2f0{2g0#[0~7$0!P z!ͷ!!!:0!#, |,P ͷ>O&" "ͮ$8% "y7!#͉$ڍ"$%ҁ"͉$ڍ"$:0O:0Q":":0<20ͱ$++̓7t$"y0>20t$$*0#̓7zc"Ä"t$ͮ$y7Ö">207ɷ#͉$#$:0=20#͉$#$:0ʲ"=20*0#"ʹ$̓7t$"y0$:0<20t$:0<ͱ$++̓7z"͉$!05t$ #t$ͮ$y7#>207ɷ20ͼ<y.:0*0nͼ<y.>20*0"0#*m0"y0$t$:0w#*0#y7|R#*0###y7>20!*0"0#*m0"y0$:0<20t$:0#<ͱ$++y7|Œ#:0ͱ$y7͉$!05t$!0#ͼ<y.#20O!0~###q:0*0k0 9*0###"w0*y0"0:00ͼ< y.:0*0ͼ<y.*0~20*y0"0:00ͼ< y.*0:0w:0ͼ<y.*y0*0~7:0w#"0*0*0Z7š$7+~20+V+^"y0"0ѷ:0*w0=O:r0W yO$x$G$ $33:0!0:0ͼ<y.*0!k0 9*0:0ͼ<y.:r0U7!04:0!- O:r0_! 2%##:t0i%͔5:~0V%.3Y%͇5 2vz57:"Eu%7A:q0O8:0O:0£%:0ʟ%a/2020:0ͼ<y.20! "0~ % ~#*0~7U7"0#þ%*0}o|g~7ͼ<% y.7ͩ'ͫ(!06ͼ< y.!U0͒7:F&00͔.E&*:!?&'&F&͌&>2U0͌&>2W0e&͌&>2X0:͙8z7*:"0>2Z0Å&>2V0}:Y0'=2Y0"0:U0ʥ&&:W0ʲ&*0&:X0&*0|&*0Z7 'T]' |'!&:V0&:Z0&*0|<9-!"0>3y.>~y.> y./E:0ͼ<y.:020:020:0ͼ<y.0ͼ<L'77c'c'v'~h' P'=:020:0!0U7y7:020w:020!00ͼ< y.:V0':Z0'=!}- !}- =7"0"0||-Ø,!0͒70:ʛ(#~:(+~7ڛ(͠(:͠(:9ʛ( ʛ(.ʛ( ʛ(͠(:ʆ( ʛ( ʆ(,ʆ(.h(͠(3(:ʆ( ʆ(,ʆ(.S(͠(:ʗ( ʗ(,ʗ(͠(m(Û(!0U797aڧ(_0~@>:#~ »(>.#~(O+G)x )(G):&1D)X)D):1D)L)D):0-):1 )P)D):&1G)\)D):&1:)\)D):1G)P)ɯ<## *1N'## *:1N'!c͒7!g͒7!g6 :0> <9"0!*: 6/E'>@R,ڷ)́'.9-*0*:> U7~2>1x*y*6A##̓7z*:>1D*D*+pJ*6#6*6#6 #̓7zJ*D*͏*[*p#+N͒7~7W*##W*͏*\*p#~7qg*6>   ;+O~7D+_# ;+~7ڢ+ #~.Š+ #_Pq+Ë+S{+Ë+M…+Ë+ +Ë+~7ҝ+E7ҝ+:¢+# Ë+yͬ6*0+"0}$+͘,: E+ʸ++&"+': E+++̀#7:)E,.$,͘,,.<&",'.<̀#.7ɯ<}N,##~N,++6#6#65!}- ~2C1570ͼ<e,20y.7"0|-x~,> ͅ6# yx,*0"0>20*0*0DM:0ͼ<ü,*0#"020< , y.>207 <9-7:0ͼ<,, y.7*0:0!090ͼ< %-y.!"0|-$^-20A#': Ez-&"'N-20!': Ez-͘,m-!0͒7*0|-+*0Z7-"0"0*0"0! "0!0-ҿ-0!0-!0-*0|­-0:0ͼ< y.> y.w# -~w# -~w+ .:0ͼ<y. .:0 *0ͼ<y.*0DM*0~^.#y7"0*0ͳ%*0++y7"0̓%́'>y.*0DM*0> ͔7 20:0*0#"0"0 . *06#*0~7:Dw#:Ew#:Ew:0ͼ<y.G92?1:2@1:2A1:2B1?1xͼ< y.*06#"00ͼ< y.!~"0*0:0w#:0w#:0w#:0w#"0*0+~/"0G*0~Z7.0+~<.0"0xͼ< y.ALLH&NEXTR&RECORD]&FOR&WHILEx&KEY C.DBF.CMD.FRM.MEM.TXT.NDX.FMT.$$$.HEX~01X|(qsX|(qsOwy!q~a1!q~2252G.~2ʩ1t1/< چ1~2qP1~ڔ1WXØ1P_i,]5z˜1i~怲w.Fq1.'w- »12.>^5.42.7>'w- 12.ƙw- 1.7~'w- 2.~w4.62!q~wD1!qq25.;5 .]5V2GD1O2.4 @2.~GO.~WIwxw2~w4!q~2q.~!32q.6@.6> 2qD1.~2 2ß2 2.~=wy.C5:q=š22y 2.C5:q=22q.C52> .C5:q=22q2:qG.N@._y怳wq2547:q2q!q ;5 G3 393.6?+X3-^36 30ʙ3ڽ3:3.6G.~4چ3ƾoxwÌ3ƾo~w.~X3.4X3.~ʰ3.4.~X3.4X3.~X3.5X3.3.~36X3.~3.wy3x=G!q~.6036-@>4/<.w>  44.~yʪ4>..F>0-4 4ê4.¯C50 -4ê4<.q/<^4Q4xڡ4O>  h4T4.~4t4.~-r4> .¯C50t4.~ʪ4O>..¯C50 4ê4>*¡47!q ;5'44d4 44>I2q4}o|g4 z!qC5!q~,,,,,-5!q~O,~%5 -5.C5.5.~怱w.w~#25ɯw,<5_~Wwz+F5ɯ_~Wwz,e5!q25q25q25!q~@6 5 / ͅ66yy>ͅ6+ 2:Í62:ͬ6::E;:Eʩ6:ͼ<v::!E/E> ͅ6> ͅ6͸6~ͅ6#66&o6&o6'77d7 77a7Å67777> Å6A[?a{?:,7:G'"[]0:?U7y7o$z{/}o|gd7 z}o|g~#fos#r#^#V#q#p#N#F#>Wxʢ7r# ×7> #ç7žʸ7# ®7 G~77# ¿7y7# 7~77_G77_8# 7x"88x2:$8y2:H$87H8xH838::O~ F8# 88H8xO~aV8_—888O~Ao8_y8#^8xڕ8~0ړ8;ڕ8Aړ8Õ8DM! ©8ß8 08:80Z78zT])))oҩ8$©87 `i);_8ͅ6> ͅ6N Y9ɷ7͸6>?ͅ68H99y'9~# 9x99~+ ,9͠9œ99ʛ9W`i9ʉ9u9G9ʚ9OT]xU79É9/ a;:CM;a;G:/D};xy;t>_Ô;O; ڊ;!C4Ô; ”;!C6O:4DyY ڭ;!C4 !C6!C4:a =ü;:4D;  2C2C:C:C2/D:/D;:4D24D2C6@:C2DC:e!:C4K>s>>>>>>m??@!DD"BD~ =͕Aʓ=%=:.D@%=͕A%=> dC y6=*BD<6@B<2C*BD!\$9*BD=:.Dt=*BD=>dC>*;D+6dC*BD~w*;D+6HCy<2C!"=D"?D2AD*BD6#";DHC?@fAҿ=> dC6@/@=>dC/@KCA>29D*C"5D;?HCA29D*C"5D;?HCA>29D*C"5D;?HCA>29D*C#"5D;?HCAz<>ͫA͔@HC!"?D"=D;@HCA29D!"5D*C!*D"C;?*=D+"=D"CHCA29DͫA͔@*;D+:_ʒ>6HC6HCA*=D}|*?D}|*BD"CKCA*CxN#F#^#V>"?D`i"=DHCixg"=Dz{gxo"?DHC:.DS?!DD"BD2C*BD~??^#VO:.D> dC?6:C<8?2C*BD"BD>!:.D=J?J?)=??%KC6@ _KC*C?@fA?> dCM!\9*C?@6@/@<ʢ?>dC]!\9MdC2-D:-D*5D|YB*5DZ7?DM*?D@*=D*'D*C:9D@nC"C*'Dr7"=D"@nC"C*'Dr7"=D͗B*5Dr7"5D?\!\6# > ͔7͒7: E2\!]w#:s@+~@2\.ʃ@ʑ@w#s@!eʑ@w#Æ@:AD@¡@:_6@*BD:_ʱ@:AD@2AD))*BD! ~7!D"+D~@A:.D@ @#y7Z7@###̓7"'D6*7D "7D~A!D"7D#####~%A5A#~:A dC!DD~:BB!DD~:B'B> dC#";D=D9!"=D"?D2AD>*=D!r7|*?D#"?D!"=D!~A#̓7y7"'DB##6#6 dC;@*'D*BD"7C2C*BD!̓7++~7B:AD@2AD>dC>dC*;D!=D9 dCx~ ʱC ʶCʷC# ÜC#>2-Dx~ # CýC>2-DDBASEOVRCOMDBASEOVRCOMDȖ4X|ė 0Tx!E~LE=5!EU7~}'̓%//E!$E~}'6̓%!D~}'6̓%2 E2%E2E͞'>!Gr<1ޙ:*Z7uHuH!G6INSUFFICIENT MEMORY IN SYSTEM, dBASE REQUIRES AT LEAST 41984 BYTES (0A400 HEX) OF MEMORY IN IN ADDITION TO THE SIZE OF THE OPERATING SYSTEM dBASE WILL OPERATE ON MOST 48K CP/M (tm) SYSTEMS THAT HAVE A STANDARD BIOS d)2c:H!*:U76>'R,H:E!EU7y'w2 E!E4Ϳ/:v <:`:I!HK6@I!VK65::I͙8{2D2FK*::͙8{2E2EK*::sI>wI͙8{2E2GK:`ʒI:EKG:FK2EKx2FK:FKII I:EKhJ:FKII I II:EK hJI:EKhJI:EKhJ:GKJI:FKI:EKhJ͸6͸6! JKJ@PR@brpf@Z@\TTT@@Ȅ@@@@@@@d\~XJE;#KJ!dK6: EhEdE͸6!uJ6IThirty days hath September April, June and November All the rest have thirty one Except February ... ERROR!J!KERRORK~@@ KE;#J##~#fo63(4/.!4% .#ERROR (DD/MM/YY) : (MM/DD/YY) :41 1 February 1984 hath September April, June and November All the rest have thirty one Except February ... ERROR!J!KERRORK~@@RD BIOS *2;MM!M>2qI+2:ʎM!>:-;6>́*/ڎM:PI!QI-;*w2OI!PI4͈29@®N!M͐:9@M!M͐:OVERLAY FILE (DBASEOVR.COM) CANNOT BE OPENED2AI2BI2CI>v @:`M!!P͐:M!/P͐: >=ʮNq<{2AI2P>=q<{2BI2P>="N>&Nq<{2CI2 P:`AN:PG:P2Px2P:PMM M:P1O:P~N~N ~N ~NʉN:P 1OÑN:P1OÑN:P1O: P̨OʮN:P®N:P1O>2cI̓:̓:!NO!IP͓:OTTT@@Ȅ@@@@@@@d\@PR@Z@brpj~0OD?#O̓:̓:!NO!\P͠:>2cI:OIII̓:!>O͐:MThirty days hath September April, June and November All the rest have thirty one Except February ... ERROR!O!OERRORO~@@OD?#ÿO##~#foͪ: #ERROR (DD/MM/YY) : (MM/DD/YY) :43* 30 April 1985AS AN UNPUBLISHED LICENSED PROPRIETARY WORK. ALL RIGHTS RESERVED. Use of this software has been provided under a Software License Agreement (please read in full). In summary, you may produce only three back-up copies and use this software only on a single computer and single terminal. You may not grant sublicenses nor transfer the software or related materials in any form to any person unless Ashton-Tate consents in writing. This software contains valuable trade secrets and proprietary information, and is protected by federal copyright laws, the violation of which can result in civil damages and criminal prosecution. dBASE II is a registered trademark and dBASE and ASHTON-TATE are trademarks of Ashton-Tate.right laws, the violation of which can result in civil damages and criminal prosecution. dBASE II is a registered trademark *NEW > New commands and changes to dBASE II version 2.31 New commands: HELP - user aid command REINDEX - rebuild index file TEXT - display multiple lines of text, terminated by ENDTEXT Supplemented Commands: APPEND, INSERT, EDIT, CREATE - can use a format file for screen control BROWSE - can be given a list of fields to work with DISPLAY STATUS - shows databases/indexes in use and SET settings READ & REPLACE - can be directed to NOT update indexes via NOUPDATE RELEASE - can release subsets of memory variables RESTORE - can restore additively to existing memory variables SAVE - can save subsets of memory variables SET RAW ON - eliminates extra spaces in DISPLAY and ? commands UPDATE - replace clause can have WITH phrases *END *? *?? > ? - displays an expression list ? [,] > ?? - display an expression list without a preceeding line eject *END *@ > @ - displays user formated data on CRT or printer @ [SAY [USING '']] [GET [PICTURE '']] can be numeric expressions or $+ for relative addressing e.g. @ $,$+5 say 'HI' Possible error messages: SYNTAX ERROR IN FORMAT SPECIFICATION VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *ACCEPT > ACCEPT - allows input of character strings into memory variables ACCEPT [""] TO Possible error messages: SYNTAX ERROR IN FORMAT SPECIFICATION "TO" PHRASE NOT FOUND *END *APPEND > APPEND - append dBASE files or files in System Data Format (SDF) or delimited files APPEND [FROM [SDF] [DELIMITED [WITH ]] [FOR ]] or [BLANK] Possible error messages: VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *BROWSE > BROWSE - full screen window viewing and editing BROWSE [] *END *CANCEL > CANCEL - cancels command file execution CANCEL *END *CASE > CASE - one possible execution path in a DO CASE structure CASE e.g. DO CASE CASE X=1 . any statements . CASE X=" . any statements . OTHERWISE . any statements . ENDCASE *END *CHANGE > CHANGE - edit columns of fields CHANGE FIELD [] [FOR ] Possible error messages: "FIELD" PHRASE NOT FOUND VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *CLEAR > Clear out database files in use OR screen variables CLEAR [GETS] *END *CONTINUE > Continue the action of a LOCATE command CONTINUE *END *COPY > COPY - copy existing databases to create copies COPY TO [] [FIELD ] [FOR ] [SDF] [DELIMITED [WITH ]] or [STRUCTURE] NOTE: COPY always destroys the previous contents of the TO file Possible error messages: BAD FILE NAME Syntax error in filename. "TO" PHRASE NOT FOUND VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *COUNT > COUNT - count the number of records that meet some conditional expression COUNT [] [FOR ] [TO ] Possible error messages: OUT OF MEMORY FOR MEMORY VARIABLES Reduce the number or size of memory variables. *END *CREATE > CREATE - create new structured database files CREATE [] Possible error messages: BAD DECIMAL WIDTH FIELD BAD FILE NAME Syntax error in filename. BAD NAME FIELD BAD TYPE FIELD Must be C, N, or L. BAD WIDTH FIELD RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000) SYNTAX ERROR IN FORMAT SPECIFICATION VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *DELETE > DELETE - delete files and mark records for deletion DELETE [] [FOR ] DELETE FILE *END *DISPLAY > DISPLAY - displays records, fields, and expressions DISPLAY [] [FOR ] [] [OFF] DISPLAY STRUCTURE DISPLAY MEMORY DISPLAY FILES [ON ] [LIKE ] DISPLAY STATUS *END *DO > DO - causes command files to be executed and allows structured loops in command files DO DO WHILE DO CASE Possible error messages: COMMAND FILE CANNOT BE FOUND Check spelling. NESTING LIMIT VIOLATION EXCEEDED *END *EDIT > EDIT - alter specific data fields in a database EDIT [] Possible error messages: RECORD OUT OF RANGE Record number greater than number of records in database. The Record doesn't exist. SYNTAX ERROR IN FORMAT SPECIFICATION VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *EJECT > EJECT - ejects a page on the list device EJECT *END *ELSE > ELSE - alternate path of command execution within IF ELSE *END *ENDCASE > ENDCASE - terminate a CASE structure ENDCASE *END *ENDDO > ENDDO - terminator for DO WHILE command ENDDO *END *ENDIF > ENDIF - terminator for IF command ENDIF *END *ERASE > ERASE - clears the CRT ERASE *END *FIND > FIND - positions to record corresponding to a key on indexed files FIND or FIND '' Possible error messages: DATABASE IN USE IS NOT INDEXED FIND is only permitted on indexed databases. NO FIND More a diagnostic type message than an error message. dBASE couldn't find the key. *END *GO *GOTO > GOTO - position to a specific record GO or GOTO [RECORD], or [TOP], or [BOTTOM], Possible error messages: RECORD NOT IN INDEX Index file was not updated after a record was added. Reindex. RECORD OUT OF RANGE Record number greater than number of records in database. The Record doesn't exist. *END *HELP > ? - displays an expression list > ?? - display an expression list without a preceeding line eject > @ - displays user formated data on CRT or printer > ACCEPT - allows input of character strings into memory variables > APPEND - append dBASE files or files in System Data Format (SDF) or delimited files > BROWSE - full screen window viewing and editing > CANCEL - cancels command file execution > CASE - one possible execution path in a DO CASE structure > CHANGE - edit columns of fields > CLEAR - Clear out database files in use OR screen variables > CONTINUE - Continue the action of a LOCATE command > COPY - copy existing databases to create copies > COUNT - count the number of records that meet some > CREATE - create new structured database files > DELETE - delete files and mark records for deletion > DISPLAY - displays records, fields, and expressions > DO - causes command files to be executed and allows structured loops in command files > EDIT - alter specific data fields in a database > EJECT - ejects a page on the list device > ELSE - alternate path of command execution within IF > ENDCASE - terminate a CASE structure > ENDDO - terminator for DO WHILE command > ENDIF - terminator for IF command > ERASE - clears the CRT > FIND - positions to record corresponding to a key on indexed files > GOTO - position to a specific record > IF - allows conditional execution of commands > INDEX - creates an index file > INPUT - allows input of expressions into memory variables > INSERT - insert data into a file > JOIN - outputs the JOIN of two databases > LIST - identical to the DISPLAY command except that the default scope > LOCATE - find a record that fits a condition > LOOP - skips to beginning of DO WHILE > MODIFY - allows editing of command files and database structures > PACK - removes records marked for deletion > QUIT - terminate dBASE and return to the system optionally > READ - displays data and prompting information in full-screen mode > RECALL - erases mark for deletion > REINDEX - realigns an old index file > RELEASE - eliminates unwanted memory variables and returns space to dBASE > RENAME - rename a file > REPLACE - replaces data fields with values > REPORT - format and display a report of data > RESET - Reset system to allow diskette swapping > RESTORE - retrieves sets of stored memory variables > RETURN - ends a command file > SAVE - copy the memory variables to mass storage > SELECT - switches between USE file > SET - sets dBASE control parameters > SKIP - position forwards or backwards > SORT - create a copy of a database which is sorted on one of the data fields > STORE - stores expressions into memory variables > SUM - compute and display the sum of an expression > TEXT - heads a block of information for output only > TOTAL - outputs a database of totalled records > UPDATE - allows batch updates of a database > USE - specifies the database file to be used for all operations until another USE is issued > WAIT - suspends command file processing OTHER TOPICS > NEW (FEATURES) > LIMITATIONS (AND CONSTRAINTS) > ERROR (MESSAGES) *END *IF > IF - allows conditional execution of commands IF . . (any statements) . ELSE ] ELSE is optional . ] . (any statements) ] . ] ENDIF *END *INDEX > INDEX - creates an index file INDEX ON TO Possible error messages: BAD FILE NAME Syntax error in filename. "ON" PHRASE NOT FOUND "TO" PHRASE NOT FOUND *END *INPUT > INPUT - allows input of expressions into memory variables INPUT [""] TO Possible error messages: "TO" PHRASE NOT FOUND *END *INSERT > INSERT - insert data into a file INSERT [BEFORE], or [BLANK] Possible error messages: CANNOT INSERT - THERE ARE NO RECORDS IN DATABASE FILE Use the APPEND command instead. SYNTAX ERROR IN FORMAT SPECIFICATION VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *JOIN > JOIN - outputs the JOIN of two databases JOIN TO FOR [FIELDS ] Possible error messages: JOIN ATTEMPTED TO GENERATE MORE THAN 65,534 RECORDS The FOR clause allows too many joined output records, make it more stringent. NO "FOR" PHRASE *END *LIST > LIST - identical to the DISPLAY command except that the default scope is ALL records LIST *END *LOCATE > LOCATE - find a record that fits a condition LOCATE [] [FOR ] Possible error messages: NO "FOR" PHRASE *END *LOOP > LOOP - skips to beginning of DO WHILE LOOP *END *MODIFY > MODIFY - allows editing of command files and database structures MODIFY STRUCTURE MODIFY COMMAND Possible error messages: BAD FILE NAME Syntax error in filename. RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000) *END *NOTE NOTE or * *END *PACK > PACK - removes records marked for deletion PACK *END *QUIT > QUIT - terminate dBASE and return to the system optionally starts up other programs QUIT [TO ] *END *READ > READ - displays data and prompting information in full-screen mode READ Possible error messages: SYNTAX ERROR IN FORMAT SPECIFICATION VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END *RECALL > RECALL - erases mark for deletion RECALL [] [FOR ] *END *REINDEX > REINDEX realigns an old index file REINDEX *END *RELEASE > RELEASE - eliminates unwanted memory variables and returns space to dBASE RELEASE [], or [ALL] RELEASE ALL LIKE RELEASE ALL EXCEPT *END *REMARK REMARK *END *RENAME > RENAME - rename a file RENAME TO *END *REPLACE > REPLACE - replaces data fields with values REPLACE [] WITH [AND WITH ] Possible error messages: DATA ITEM NOT FOUND SOURCE AND DESTINATION DATA TYPES ARE DIFFERENT *END *REPORT > REPORT - format and display a report of data REPORT [] [FORM

] [TO PRINT] [FOR ] [PLAIN] Possible error messages: SYNTAX ERROR, RE-ENTER *END *RESET > Reset system to allow diskette swapping RESET [] *END *RESTORE > RESTORE - retrieves sets of stored memory variables RESTORE [ADDITIVE] Possible error messages: CANNOT OPEN FILE *END *RETURN > RETURN - ends a command file RETURN *END *SAVE > SAVE - copy the memory variables to mass storage SAVE TO [ALL LIKE ] Possible error messages: BAD FILE NAME Syntax error in filename. "TO" PHRASE NOT FOUND *END *SELECT > SELECT - switches between USE file SELECT [PRIMARY or SECONDARY] *END *SET > SET - sets dBASE control parameters SET [ON], or [OFF] SET ALTERNATE TO SET DEFAULT TO SET DATE TO SET FORMAT TO SET HEADING TO SET INDEX TO SET MARGIN TO *END *SKIP > SKIP - position forwards or backwards SKIP <+/-> [] *END *SORT > SORT - create a copy of a database which is sorted on one of the data fields SORT ON TO [ASCENDING], or [DESCENDING] *END *STORE > STORE - stores expressions into memory variables STORE TO Possible error messages: OUT OF MEMORY FOR MEMORY VARIABLES Reduce the number or size of memory variables. "TO" PHRASE NOT FOUND *END *SUM > SUM - compute and display the sum of an expression over a group of database records SUM [] [TO ] [FOR ] Possible error messages: MORE THAN 5 FIELDS TO SUM NO EXPRESSION TO SUM NON-NUMERIC EXPRESSION *END *TOTAL > TOTAL - outputs a database of totalled records TOTAL TO ON [FIELDS ] *END *UPDATE > UPDATE - allows batch updates of a database UPDATE FROM ON [ADD ] [REPLACE [ ] ] [ WITH ] Possible error messages: NO "FROM" PHRASE "ON" PHRASE NOT FOUND *END *USE > USE - specifies the database file to be used for all operations until another USE is issued USE [INDEX ] Possible error messages: BAD FILE NAME Syntax error in filename. END OF FILE FOUND UNEXPECTEDLY The database in USE is not in the correct format. If all records are correct and present, then PACK and re-INDEX the database. INDEX DOES NOT MATCH DATABASE dBASE cannot match the key with the database. Try another index file. INDEX FILE CANNOT BE OPENED Check spelling or INDEX the database. *END *WAIT > WAIT - suspends command file processing WAIT [TO ] *END *@ @(,) - AT function *END ** * - deleted record function *END *# # - record number function *END *! !() - upper case function *END *$ $(,,) - substring function *END *CHR CHR() - numeric to ASCII *END *DATE DATE() - system date function *END *EOF EOF - end-of-file function *END *FILE FILE() - existance function *END *INT INT() - integer function *END *LEN LEN() - length function *END *STR STR(,[,]) string function *END *VAL VAL() - value function *END *TRIM TRIM() - trims strings *END *TYPE TYPE() - supplies data type *END *LIMITATIONS number of fields per record 32 max number of characters per record 1000 max number of records per database 65535 max number of characters per character string 254 max accuracy of numeric fields 10 digits largest number 1.8 x 10**63 approx smallest number 1.0 x 10**-63 approx number of memory variables 64 max number of characters per command line 254 max number of expressions in SUM command 5 max number of characters in REPORT header 254 max number of characters in index key 100 max number of pending GETS 64 max number of files open at one time 16 max *END *ERROR BAD DECIMAL WIDTH FIELD BAD FILE NAME Syntax error in filename. BAD NAME FIELD BAD TYPE FIELD Must be C, N, or L. BAD WIDTH FIELD CANNOT INSERT - THERE ARE NO RECORDS IN DATABASE FILE Use the APPEND command instead. CANNOT OPEN FILE COMMAND FILE CANNOT BE FOUND Check spelling. DATA ITEM NOT FOUND DATABASE IN USE IS NOT INDEXED FIND is only permitted on indexed databases. DIRECTORY IS FULL The CP/M disk directory cannot hold anymore files. DISK IS FULL END OF FILE FOUND UNEXPECTEDLY The database in USE is not in the correct format. If all records are correct and present, then PACK and re-INDEX the database. "FIELD" PHRASE NOT FOUND FILE ALREADY EXISTS FILE DOES NOT EXIST FILE IS CURRENTLY OPEN Type a USE or CLEAR command to close the file. FORMAT FILE CANNOT BE OPENED FORMAT FILE HAS NOT BEEN SET ILLEGAL DATA TYPE ILLEGAL GOTO VALUE ILLEGAL VARIABLE NAME Only alphanumerics and colons are allowed in variable and field names. INDEX DOES NOT MATCH DATABASE dBASE cannot match the key with the database. Try another index file. INDEX FILE CANNOT BE OPENED Check spelling or INDEX the database. JOIN ATTEMPTED TO GENERATE MORE THAN 65,534 RECORDS The FOR clause allows too many joined output records, make it more stringent. KEYS ARE NOT THE SAME LENGTH MACRO IS NOT A CHARACTER STRING ¯os must be character strings. MORE THAN 5 FIELDS TO SUM NESTING LIMIT VIOLATION EXCEEDED NO EXPRESSION TO SUM NO "FOR" PHRASE NO "FROM" PHRASE NO FIND More a diagnostic type message than an error message. dBASE couldn't find the key. NON-NUMERIC EXPRESSION NONEXISTENT FILE "ON" PHRASE NOT FOUND OUT OF MEMORY FOR MEMORY VARIABLES Reduce the number or size of memory variables. RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000) RECORD NOT IN INDEX Index file was not updated after a record was added. Reindex. RECORD OUT OF RANGE Record number greater than number of records in database. The Record doesn't exist. SOURCE AND DESTINATION DATA TYPES ARE DIFFERENT *** SYNTAX ERROR *** SYNTAX ERROR IN FORMAT SPECIFICATION SYNTAX ERROR, RE-ENTER "TO" PHRASE NOT FOUND TOO MANY CHARACTERS TOO MANY FILES ARE OPEN There is a maximum of 16 files allowed to be open at one time. TOO MANY MEMORY VARIABLES There is a maximum of 64 memory variables. TOO MANY RETURNS ENCOUNTERED Probably an error in the structure of a command file. "WITH" PHRASE NOT FOUND UNASSIGNED FILE NUMBER Internal error, contact dealer for support. *** UNKNOWN COMMAND VARIABLE CANNOT BE FOUND Need to create the variable, or check the spelling. *END NY FILES ARE OPEN There is a maximum of 16 files allowed to be open at one time. TOO MANY MEMORY VARIABLES There is a maximum of 64 memory variables. TOO MANY RETURNS ENCOUNTERED Probably an error in the structure of a command file. "WITH" PHRASE NOT FOUND UNASSIGNED FILE NUMBER Internal error, contact dealer for support. *** UNKNOWN COMMAND VARIABLE CANNOitiates full screen editing of formatted screen by accepting input into variables accessed with @...GET. > RECALL -- removes delete marker from deleted record. > REINDEX -- update open index files. > RELEASE -- eliminates unwanted memory variables and releases memory space. > REMARK -- permits display of any characters on the screen or the printer. > RENAME -- rename a file. > REPLACE -- change information in record(s) or entire database field by field. > REPORT -- format and display a report of information. > RESET -- reset operating system (CP/M only) after placing new disk in drive. > RESTORE -- retrieves memory variables stored in MEM file. > RETURN -- ends a command file. > SAVE -- copies current memory variables to a MEM file. > SELECT -- switches between USE files in PRIMARY and SECONDARY areas. > SET -- sets dBASE control parameters. > SKIP -- position forwards or backwards in database. > SORT -- create a new database sorted on one of the data fields. > STORE -- creates memory variables. > SUM -- compute and display the sum of database field(s). > TEXT -- allows output of block of text from a command file. > TOTAL -- creates summary copy of database combining information from specified fields or records meeting selected criteria. > UPDATE -- allows batch updates of a database. > USE -- specifies database to USE until next USE command is issued. > WAIT -- suspends command file processing until a key is pressed. >>>>> Other key words <<<<< (e.g. HELP RUNTIME) DBASE ERRORS FULL SCREEN FUNCTIONS GLOSSARY INSTALL LIMITS NEW RUNTIME *EXIT *IF *ELSE *ENDIF > IF -- A command file construct that permits permits conditional execution of commands between the IF and the ENDIF. ELSE clause is optional. Must end with ENDIF. Syntax: IF [ELSE ] ENDIF Example: IF STATE = "CA" DO INSTATE ELSE DO OUTSTATE ENDIF *EXIT *INDEX > INDEX -- Creates an index file for the database in use based on the value of the key expression. Syntax: INDEX ON TO *EXIT *INPUT > INPUT -- Prompts user to enter an expression and stores the response in a memory variable. Syntax: INPUT [""] TO Example: . INPUT 'Prompt user for input' TO X Prompt user for input: 12 [user input, 12, stored to X] . ? X 12 *EXIT *INSERT > INSERT -- Allows user to insert record into the database file in use immediately after or before the current record. A full screen will be displayed for entering data unless the BLANK is used. If the database file in use has one or more index files open, INSERT is equivalent to APPEND. Syntax: INSERT [BEFORE] [BLANK] *EXIT *JOIN > JOIN -- Creates a new database by combining the records of files in use in the PRIMARY and SECONDARY work areas. Records are added to the new file when the FOR expression is true. JOIN must be executed from the PRIMARY area. Syntax: JOIN TO FOR [FIELDS ] Example: . SELECT SECONDARY . USE MAILLIST . SELECT PRIMARY . USE NAMES . JOIN TO NAMEJ FOR LAST <> S.LAST *EXIT *LIST > LIST -- Lists a specific set of information to the screen or the printer. The information may be the the fields of the database file in use intermixed with other expressions, the disk directory, the active memory variables, the structure of the database in use, or the status of the files in use and the set parameters, depending on which syntax is used. This command is identical to DISPLAY except when listing fields in a database, the default scope is ALL records, and there is no periodic pause. Syntax: LIST [] [FOR/WHILE ] [] [OFF] [FIELDS ] LIST FILES [ON ] [LIKE ] LIST MEMORY LIST STRUCTURE LIST STATUS Examples: . LIST FILES ON C LIKE *.FRM . LIST NEXT 25 NAME, PHONE FOR CONTRIB > 100 *EXIT *LOCATE *CONTINUE > LOCATE -- Finds the first record in the database file for which the FOR expression is true. Use CONTINUE to find subsequent records that meet the specified condition. The user may manipulate records before resuming search with CONTINUE. Syntax: LOCATE [] FOR Example: . LOCATE ALL FOR ZIP >= '95000' .AND. ZIP < '96000' RECORD: 00123 . DISPLAY . CONTINUE RECORD: 00232 *EXIT *MODIFY > MODIFY STRUCTURE -- Allows user to alter the structure of the database in use. This command will warn the user before erasing all the data in the file. To alter structure without loss of data, use COPY STRUCTU !=Pad q ~!@(?ȷ:77x7:8A?<27Q(:.*(w#x:776?#:7[;7 OS:=2ya8{0 ͭ * !~#"dBASE II COPYRIGHT (C) 1983 BY ASHTON-TATE INC.10150 W. JEFFERSON CULVER CITY, CA 91204 *** dBASE II Ver 2. File is inaccessible, already open elsewhere File does not exist Unassigned file number File is currently open End of file found unexpectedly" Record out of range Too many files are open Disk is full Directory is full File already exists No find Too many memory variables Out of memory for memory variables Illegal variable name Too many characters No database file in use, enter filename:# Not a dBASE II database No room in system lock list System input/output error records added DO cancelled Bad name field Bad type field Bad decimal width field Bad width field Destroy existing file? (y/n)~ *** Unknown command Count = Enter record structure as follows:: Field Name, Type, Width, Decimal places Input data now? Macro is not a character string records copied Bad file name Command file cannot be found7 Nesting limit violation exceeded deletion(s) *** End run dBASE II *** , Too many returns encountered7 Enter record #, field (# or name), new value Illegal data type Called from Correct and retry? File has been deleted Illegal goto value2 Syntax error, re-enter Cannot insert - there are no records in database file End of file encountered End of locate scope Macro not found Pack complete records copied recall(s) Col Width, Contents Double space report? (y/n) replacement(s) Enter report form name: Enter heading: Data item not found WITH phrase not found Enter subtotals field: Subtotals in report? (y/n)& Page heading? (y/n) Enter page heading:  records sorted TO phrase not found ** Subtotal ** No expression to sum: Non-numeric expression> More than 5 fields to sum *** Syntax error *** Are totals required? (y/n) Record is locked... waiting Summary report only? (y/n)9 Index file cannot be opened Variable cannot be found Source and destination data types are different ON phrase not found *** Numeric field overflow Syntax error in format specification FIELD phrase not found Cannot open file Format file cannot be openedQ Coord: Correct and retry? (y/n) Change from: Change to: More corrections (y/n)? Enter filename: ** Total ** Record: No find Page no. Single step y:=step, n:=keyboard cmd, ESC:=cancel Waiting 7 Fld Name Type Width Dec Structure for file: = Enter options, m=left margin, l=lines/page, w=page width Enter subtotal heading: 7 Enter subtotal footing: Eject page after subtotals? (y/n) No FOR phrase Join attempted to generate more than 65,534 records No FROM phraseH Keys are not the same length Primary use databaseY Secondary use database Number of records: Database in use not indexed More than 7 index files selected4 Modify erases all records... proceed? (y/n) Enter today's date or return for none Date of last update: records indexed Record length exceeds maximum size (of 1000) *** Zero divide *** Beyond string *** Overlay cannot be opened Enter record # : Record not in index Index does not match database *** MAXIMUM RECORD LIMIT REACHED ***I Index does not match database Bad width field Destroy existing file? 1ޙ: Ej]29b: EʈG:"G:!E/E:,EhG: EEG<2Cb><;21b;>d <8: EaG:Cb<:1b;/EʈG: E/: Ef:eX9G#~ʖG/w}G͸6>.ͅ675:.::GG*G:%E H9G`K8G!:b4G9Gp`K8G::bG2%EG9GaK8G::bH2%EG=2:bG:\G:ʊH!H#~H!͒7!͒7#O+~.DH 9!k*„H ~C8J##y7N#9.:<9BJ2u H: H.:::E:I9ʴHm`K8»H,SaK8»H!.b4G:.b"I:E I9HaK8H*::.r]:r]G2EG9I,aK8I9I$aK8G2EG93I$aK8G!.b5G9zI:EzI: EdI<2Cb><;21b;ͧ:: EzI:Cb<:1b;.::IG^͔.’I*:~E73J̀)6S:L7SRGaQRNNRQ&R[TU XeXX'KGJJIN[NyNNNNNNN~OU|RRR3SRSSSYTdTlTxTTRU"U*UUU`V}VVVVWXXXXXZ[)\1\\\d\g\o\].RR>!d]>&d]> d]>8d]͢J>:ͅ65:9hJ:!E/E͸6KJͺ7wJ> >O!6+##yU76/#~765)G!- G͸6:87J:~r]#²J*:r7DM t,:`K8FT#,S*̀):``K8J>!Gr<͋,|K'͘,Ki.5/'z!͌,͏,͋,'͘,GͫK:-EʙK<2Cb><;21b;*MbDMxUKdK;/22b:r]b61#Ns#FrxbL2$by2'b>N2#bÀL2'byvLA2$b>C2#bÀL2$b>L2#b!xU76:aK8L,S87r]:xݠͺ7r]#*:!ݠU762ܠ>2/b:`K8"M,SDNO+DN"*bL>Rd],S"M`K8DN,S87r]:xAͺ7r]*:!A",bU762@:2b!- :/b!ݠ:#bNN~KM.KM#=M"Db!~_M._M#QM"Fb*Db+~M$ʨM*ʨM#ʲM9ʲM,gMʕM-ʲM gM+~$ʣM*ʣM> #wgMgM gMʻMwfM6 gM*Fb*Db~=NM#M~=N#M9MwM~=N#M9M#M60#M!ݠ~=NX N7Nw# N9*N#2NE77Nw# N6 # N!ݠ"(b>Vd]: G̀)> !Gr<:nNk*r] y7!G*E> 2EG̀)>!Gr<:ʲN`K8ʬN`K8r]ͼG>!Gr<̀)>!Gr<̀)>!Gr<>!Gr<&:`K8O*:'@'O͞':.EG>2 <G <͞'G̀)>*27b)O:.EG>+ <G&&r]:r]͋,|qO!͘&qO:7bW͵'hOqOhOr5/ͥ+qOPO`i:.E͸66!"3b!"5b`:K8¡Ò)>!Gr<*:`K8CQ`K8KQ`K8VQ̀)29b20b&!"=b:PP&&r]:PP`K8O>20b*:O}`K8P*:*=br]>29b:*E:P62#͍7x5Py0P66P6>Pp4>P6.###6#65"=b-7PPO:*EP:9bP"Db*Db~ P*=b6)#~762# ~#N###FNʥPCʜP6#6#6êPq#p#6ëPp#q#q4#6#65"=b*Db"DbdP*5b͘&G,|G͵'7QG*3b+"3b|P!"3b>e <);G͸6:0bQ,67ͅ6:9b1Q:*E1Q)DM #t,7Q!- ͥ+GPG>! Gr<*:>!Gr<*:>!Gr<:aK8&RaK8ʼQ9>'گQ:r]R,گQ:EҴQ!EU7y'w2 E!E4Ϳ/͞'G>)öQ>* ) <G>2EG:0_:0>R! Gr<>2%E2:bG2EG/28b: EG0G<;<GͳG̀)$'S:87RR:xͺ7O9y '|S: EGG9"R:.EG> <G>sd]*::̀)`:K8HS,SxS`K8WS9-Gf`K8xS$oS͋,'G̀#'G ,r]|ʟS͋,Z7=JT]' |ʤSG>3d]>~d]> !Gr<.r]:r]G>2%E2:bG̀):S>!Gr:ͅ65:9 T:!E/E͸6SNT6/#͍7++~7)KT:.E=T60#~765͸6!- G>Hd]G>4 <͸6S̀)>! Gr<> !Gr!Gr<̀)9ޙ~ʔT#ÉT!ޙ*:&&&r]9r]:Z0r]!͘&TͿ)"'E͵'Tͥ+TҺT:.EG>6 <G:.EG>7 <G:.EG>a <,6G!ޙ*:&&&r]*'E)T>!Gr<>!Gr< ,r]"Db-7r] ,r]}*Dbw#"Db-7G9UG!"=b:U?kU͸6nU:*=br]:*EŸU62#͍7xšUy•U6ÛU6ãUp4ãU6.###6#65"=b-7ʸUr]nU!- G͸6G>!Gr<20b:U`K8r]>20b: G:#E1V}' .͞'ͳ:#Ef:1V:V*V@:ͫK>*MbDM*(b!*bzV>GGy'G,|G5/:0bGͺ!G̀)&> 27b)O:.EG>; <G̀)>!Gr<96G:r]'-:r]`K8r],S'-G̀)20b,|W&!"=b!";b:ʑW`K8V*:>20bV&&r]9ʑW:O+W>d]9(W"Aba9yU7,SK8W*:*=br]N##~PWC+~PWL*Ab ~bW>Sd]*Ab61#~765"=b>29b-7ʑWڂWW\`K8V*:W:9bW!͘&W͵'WWW!- '5/:0bWͺ!%'ͥ+WҤW:.EG`i͸66>> <G>Ad]>Bd]>!Gr<>! Gr<:X`K8*X,S$X>!GrÕ]9k*HX**:-7Gr]*X:_X.G: EG}'̓%͞'/:EʨX=XʛX2E=!EU7~2 E2%EG2 E2E2%EG>- <G>!Gr<:`K8X.G`K8r]>.G:6a͔.X*:kZwGa͔. YHbK8r]G*:kZ;G:`K8YY*::D9Y}''̓%͞'2D:G>'>R,y'2D͞'GkZbY:D2EGkZ<G:`K8€Y*:<!c͒79cͺ72G\Z ,r]"EG:#EʽY}'̓%2#E͞'\ZY`K8Y`K8Y>'>R,Y>Yd]y'2#E͞'G2-EG>2-EG\Zr]~_@2 EG\Z͙8{2D*::͙8{2E*::͙8{2EG\Z ,r]}2aG\Z#9Gʹ\G:`K8r],S:`K8ʂZ`K8•]>̀):[X`K8}[ ,r]|G:C1[$Z,"Fb͚"Z"Fbz¼Z*Fb'̓[ʼZh[A#'h[,r7Z|Z'̓[Zh[9-h[$<[,"Fb&"-["Fbz[*Fb'̓[[h['̀#'%'h[,͋,Z7Y['>20h['̓[h[͘,\[:.EG>a <,6Gͥ+G: E>!Gr<r]"=b:`K8$\*:*=b#N#F:**=b6/#~7"=b"Ab9O+*:-7[r]*Ab*=b6)#~7"=bú[:.E\*Ab*=b60#~7"=b*=b65:.Eĸ6!- G>Hd]>!Gr !Gr<G> !Gr<͞' .̓%́'#:G'\>@R,\́'.9-:G`K8r],Sʹ\G>'\>@R,\y'#-7\\ ¶\>td]##z!\͞'9->d]>(d]>Qd]>d]>e <);]:!E/E:`]`K8r]*::r]k*;]** y76# T]> wͅ6> ͅ6GG <Õ]: Eʕ]>M <͸69.:r7M ]7Æ]>?ͅ6͞'2 E.::yNͧ:: E]:E28b!8b5]>0 <:8b!EU7~&ö]:]/E>[ <8/EG>\ ] ^ <8/E]1ޙ.:ÖGSTORE[?TUELSERENDDORENDIFGDOaQNOTEGLOOPRRELEASE XRETURNeXSELECTX@'KACCEPTGJAPPENDJCALL[NCANCELyNCHANGENCLEARNCOPYNCOUNTNCREATENDELETENDISPLAY~OCONTINUEUEDIT|REJECTRERASERGOTO3SGO3SHELPSIFSFINDRINDEXSINPUTSINSERTYTLISTlTLOADxTLOCATETUNLOCKd\MODIFYUPACK"UPOKE*UQUITUREADURECALL`VREINDEX}VREMARKVRENAMEVREPLACEVREPORTWRESETXXRESTOREXSAVEXSETXSKIPZSORT[SUM)\TEXT1\USEo\WAIT]CASENENDCASEROTHERWISENBROWSEINJOINdTTOTAL\\UPDATEg\ALLANDBLANKBOTTOMDOELSEENDTEXTFIELDSFILEFILESSCREENGETGETSIFINDEXMEMORYNOUPDATEOFFONPICTUREPRIMARYPRINTRECORDSAYSECONDARYSTATUSSTRUCTURETOTOPUSINGWHILEWITHENDDOENDIFCASEENDCASEOTHERWISEBELLECARRYECOLONECONFIRM EDEBUG EDELETED EECHOEEJECT+EESCAPE!EEXACT"EINTENSITY&ELINKAGE)ERAW*ESTEP,ESCREEN TALK.EALTERNATEYCALLYCONSOLEYDATEZDEFAULTZFORMATYHEADINGqYINDEXJZMARGIN:ZPRINThYdrNZqZrNCqrPOrPE.IDBASEMCOLORCONSOLEYDATEZDEFAULTZFORMATYHEADINGqYIN Number of records: Database in use not indexedGJK1OBQ:!E2Ỳ)2WY2SY2TY&:ʀG&&CX:ʀGXK8UG*:"eY'J>2WY%GYK8iG*:>2SY%GXK8CX*:>2SY2TY%G͋,"oY|ʎG'͘,ҎG:WYI!"~Y!d"xYz!:SY5I*eY*:>'>AR,Jy'2D͞'i.:TYʛH!*::D}'%ږJ"zY*zY~ ʯH ~NWH#F#̓79'H H"+HO:wH2H,ʈH,EH:ʯH2HwH:ʯHwH,EHÈH#F#̓7N9d.3*:39,ʈHy,ʈH:ʯH,}H:ʯH*zY"zYG#:D}'%ږJ͵'GږJ͞'5/͌*~Y#"~Y*oY#"oY*xY+"xY|G2XH:YHÐJ:.EG*~Y͸66> <:Y2!E!d"xYG͈S&Iz!͌*oY#"oYI'͋,'͘,J>AR,Jy'2D ,:J!ͳ%!Ң"jY!"zY~ J"GY(I"OY ~NʣI*jY6-#*GY~7*OY~765"jYI*GY ~NI*jY6)#*GY~76#61#*OY~765"jYI*jY6)#*GY~761#*OY~765"jYI*zY"zYiIi.z!*DM:D}',ږJ: J6 !Ң- ͵'JږJ͞'5/͌*~Y#"~Y*oY#"oY*xY+"xY|J2XlJ:YlJÐJ:.EJ*~Y͸66> <:Y2!E!d"xYJ:D}'̓%:.EʴJ*~Y͸66> <:Y2!E͞''͋,'͘,*oY͏,KX> <>2 EKX̓%> <>2 EKX̀)&2UY:~K&&CX:~KXK8K>W <>2 EKX>2UY*:!ݠ"~Y~7:O+EK> <>2 EKX9(\K>R <>2 EKX*~Y~7"~Y~7*::,J:/K:UY’K>W <>2 EKX!͘&͵'KKK͸6>a <,6͸6!ݠ"~Y*~Y̓7"~YzKgRKþK5/ͥ+KҘKKX̓%́'#́':L>_ <5:KXKX'KX>R,O2D:.LXK8CXðM># <>$ <͒7!"~Y!"zY*zY#"zY͸67*zY+))))"|Y:zY!gM675:9gMbk͒76 9O+~,N9N'N*|Y9~,L7ڽL_ #ïLyNN N*:! :_2YYCLNLLN>NM::͙8N{NzN{ *zY+|N!͏,a/'̓%>% <8KX>AR,.'9-i.͈SҞM'a/̓%KX*::')OR,)O.9"hY ͒7!"~Y*hY͘,ڢN~ M#*:9O+ 9 N: N9_C:NN:NL O>N:CY9*:!CY͙8O{NzN{9CY9*:!CY͙8O{*~YU7Z7!O"~Y*hY"hYM̓%*hY6 :D}'!͏, .a/'́'.9-KX>    y 2   <;X> <;X> <;X>y <;X>( <;X̀)!"qY,|KX"`Y"]Y>2XY:O2XY: fO>. <:XYKX: |O>Z <ÁO>} <5:OͼKX9 KX͙8*:͋,Z7:Q:|²O*`Y"`Y'*`Y : ʚP"vY:#EO͹TGfOGO͐PxfOxBP$P*`Y*vYͫW>fOGP͐PxfOxQPxBP$3P͚"fOòO*`Y+"`Y|fOòO$ʀP&"fOòOxnP*vYZ7$P"vYO*?Y~ BP*?Y"vYO͘,fO*`Y#"`YòO5/ͺ!9%Q,fO:,Q:P0Q͙8*:fOzfO{!fO+))))~fO fO"]YQ9O+fO9("]YfO*:9%Q:ͭ7r7M9*]YRfO1Q*]YgRKXfO5/fO> 2QY*:LQXK8CX>2RY*:LQ$G,:QYŒQ#"Y"~Yn,)DM,R*Yn,:RYʹQi.5/Q)Y!9͈SKX)!Y99,*Y#"Yn,5/Q͋,#͏,'9-*~Y'KX>5 <9-KX ~NJR#y=^RN#y7T]> ͔79.3#F#̓7N3> <7"cY V#~2bY#y7"lYzCʣRMS!X65:|SO9*cYRڃRvS!͒72_Y:bYG 9!"lYMS!X6! 6%S:qSS!$Y6! 6!<9ڀS>2_YR!͒7!$Y6! 6%S>2_YR:_Y|S:bYGCSw#4SvS6 #CSvS*cY͸66>:ͅ67*lY:bY_~ͅ6#eS7>ɯ> 2nY2gY"vY:#ES͹T>TҵT5/,#*vYͫW:nYTGO:gY2gYx>Tx"T*vYZ7>T"vY>2nYSx>T*?Y~ >T*?Y"vY>2nYS:gYLT5/7͸6! Y6,#6͸6*sY͸6 t,>:ͅ675:O9ʊS“TxʵTÞT*sYReT*sY"sY~ hT5/7}' .ͳ:#Ef:T:@T:T>*YDM*IY!KYzT͞'ɯ2VY2ZY:-EU: U!"KY!"MY:$)U:,./U ,CX}2Y-7ڞW:$PU: .VU ,CX}2Y22!"IY:YK8 V*:>2ZY:CXX61#Ns#FrxʨU2Xy2X>N2XU2XyʼUA2X>C2XU2X>L2X!xU76:.YK8 V*::87CX:xݠͺ7CX#*:!ݠU762ܠ>2VY:XK8|V*::ʞWO+ʞW"KY>V>R <>2 EKX*::|VYK8žW*::87CX:xAͺ7CX*:!A"MYU762@:ZY!- :VY!ݠ:XN_W~ʥV.ʥV#×V"zY!~ʹV.ʹV#ëV"~Y*zY+~W$W*W# W9 W,VV- W V+~$V*V> #wVV VWwV6 V*~Y*zY~ʗWFW#FW~ʗW#AW9,Ww+W~ʗW#YW9YW#FW60#FW!ݠ~ʗWXzWʑWw#eW9ʄW#ŒWE7ڑWw#eW6 #eW!ݠ"IY>V <>2 EKX"?Yͳ!Y66!"[Y*?Y N! :T_ r7Wy2uY*[YO:U!4Y > ͔7*?Y4Y~X#W4Y*[YDM!?Yz*[Y:uYg"[Y*?Y"?Y~ W>2!E:>2 EKX>2 EKXͼ>!Gr 0.*9͘.Ͱ+1 -;,'PICTURERECORD SAYSDFRECORD # TO USINGº0ͤ6++":9&i".9.> 0.*9͘.Ͱ+1 -;,G2LîM PûPÏQéRSêStT&2W2W2W2W2W2W9!",W:UH&&U:UHgVK8vG"W*:'L>2WFGVK8G>2W*:!6 ".W:O+G>$L9(ʭG>R$L*.W9!6 ".W*,W6-#~7~765",W*::,FG:ÏG]VK8H>2W*::VK8FG>2W*:FGVK8#H>2W*:FGUK8U>2W2W*::{VK8FG*::U2 W:FG:W"L*W*::WmHoH>'>R,y'2D:W´H!6#w#w#+++++9:WVK &/:WK͞'!ͳ%!͘&!".WK!d"*W,|K͵'JKKJK*.W#".W**W+"*W|I:.EI*.W͸66>' ͔7!- +J!"'W!"2W*'W~5 J#̓7##"'W ~NʿI#F#̓7*2Wy}I6,#: W,ʇIw# 9xU7+~ ›II#: W,ʬIw#"2W J+~ ¸I+­I#"2W J#F#̓7*2WyI6,#: W,I 9xU7"2W J~# IJII"2W J60#"2W OI*2W6 #6 #r7DM:D&JK:WFJ*DM:D}'&/͞'JK:WgJ*6 #6 :D*DM&JK!"2W",W*,W~ 3K ~NJ#F#̓7*2WyʙJ6,#: W,ʣJw# 9xU7+~ ·J¬J#: W,Jw#"2W%K+~ J+J#"2W%K#F#̓7*2WyJ6,#: W,K 9xU7"2W%K~# KKKK"2W%K60#"2W*,W",W uJ*2W6 #6 #r7DM:D&ͥ+KHK!VA9 &/""W!".W*"W~ K>  ~K> #‰K#~#~U###~U*"W""W&/*.W#".WwK:.EK*.W͸66>' <:D}'':WK:WL:WL .*.W!6#~7&/̓%2D͞'U>($L>H <͞'>2 EÙ)&!"'W>A2V21W20W2W24W!4W",W:&&U:@MgVK8L:0W<20WҩM*'WU>2W"'W#͍7xʤM!V4*! y7͒7*'W6)#~76#6/#~765"'W*,W60#~765",W9@M,VL:VL*:>21W!4W",W:@Mk*L**,W~ʟM#̓7",Wbk ͒7:O+9~7(M_# M*::,VL:L:WʟM!͘&nM͵'eMnMeM!- ͥ+nMPM:.E~M!4W͸6- >A2V:1WU!4W~5U#̓7*ÍM>J$L>K$L>L$L: E2\2W:vNZVK8M*::U_@2\::¸M:øM)VK8U*::U!V>  ͔7V9nN nN.=N*-Na$N_: N6?#.N:.nN:VnN nN*cNaZN_:EN6?#dN:>2WøM͸6:W›N!.V6!V] 9ͰN͸6U!V] 9ͰN͸6U!hW"fW6 \ON!UV6*fW:WN 9 "fW6 ON!hW"fW͸6*fW~ :W¶O]9"fW2h!]t,7t,72|\O\Oog676>/ͅ66>/ͅ66͸6:_N\N> <͸6:_N\N!jV6͸6Nt,>.ͅ6t,"fWO77N͸6NO\O7(ͅ6 ~ͅ6>)ͅ67~NfP#~2W\P<2!W2WwP#~2W###~2W>2!W! W- :!W*%WU7#"%W~ P͸6>` <7:$W6!U6*%W6!V6U2W2W:P$VK8P*:>'>2W>R,P>XUUK8U*:>2WP:WU:WQd)4W,چQ! ~7QEQ#Ny<2)WMQ#F###N>2)WMQ>2)W!4Wk*[Q**"W:)WOhW,*W ̓7:)WO!hW9Q̓%͞'U2W2W2W:RgVK8Q*:>'ڤR>R,ڤRy'2D""W>2WÙQUK8UQ)VK8QQ".W>2WR*::U VK8UQ",W>2W: RRÙQ:WʟR*"W~R:W?R*.WIUR*"W:WSR*,WIUR&/! F#N#̓7xsRxR zRzR&/*"W""W~ &R'̓%2D͞'U>HU>(U2W9)VK8R>2W9 VK8U*::U",W""W*"W~S*,W:WRIUSRIUS**"W""W~ RU&2W&&U:VSgVK8U*::U*".W>2W:VS HSS͋,|}S!͘&}S͵'tS}Sͥ+}SjS:.EʎS>" <`i6:WU`iͭ4*.W ̓7z5U>g <͞'y'&>r <͋,6>w <+++++6>/ͅ66>/ͅ66.S>p q <>f <~ ZT ͸6y67 t,7 ~ͅ67#~67###F~7xOT67T͸6>` <777)6U:>'>R,T2D:D%TT}2 WTT"WT}*Ww#"W! W5­TÇT̓%2D͞'U>XU!GT_0T O))))  T͞'>2 EU <>2 E>!Gr<&od6U 6U6U/}o|g9U zpU pU*rU?kU7gU_rU#KU~TTT@@Ȅ@@@PR@brpb@@@@@@@d\,ADDITIVEALLDELIMITED VARIABLES USED BYTES USEDEXCEPTEXTENDEDFIELDSFROMLIKEDATABASE FILES # RCDS LAST UPDATENoneONSTRUCTURETOFILE UNAVAILABLEWITHFIELD:NAMEC FIELD:TYPEC FIELD:LENN FIELD:DECN A::::::::ASDF ????????DBF$$$ SUB')#6.+5:TYPEC FIELD:LENN FIELD:DECN A::::::::ASDF ????????DBF$$$ SUB#ŒWE7ڑWw#eW6 #eW!ݠ"IY>V <>2 EKX"?Yͳ!Y66!"[Y*?Y N! :T_ r7Wy2uY*[YO:U!4Y > ͔7*?Y4Y~ GûG H:I2I2I:ʈGIK8^G*::"IIyeBG>)I9~KG+"I#~O#F>2IGIK8I#*::>'ҀG>( <,I>2IG:I>T)I:I>H)I>R,y'#*I*Iy''͞'͹H1I$1I$"I*I~G2I#:.EG͸6!I6:I&#p͹H*I#"IG##z!1Ì)!"I"I͋,!d"I!͏,*In,͘,|H*I#"I%H*In,5/*I*I#"I:.E%H*I+"I|%H͸6*I+6>: 9 <*I+"I͏,:.EʰH*I6>: <$1IûG!'Iz!!"I!d"Iͷ*I#"I*I+"I|I:.EI*I͸66>x x <͞'>2 E1I <>2 E>!Gr2eS2hS>92dS>P2oS<2kS2lS&:ʟG&&O:ʟGDPK8eG*:>'>2`S:GUPK8‹G*::OOPK8O*:>2lS:GIPK8O*:>2\S:G:`S¾G>? <5:9ʹOʹO>'>2[S>R,G>R,2[Sy'2$E2vS:[SG>h E 2vS:[S’H>F ʶHûH:>ûH:>@2cSͺ7ʆH2VO͜O!VyU762#q#:cSw#:hSG:oSw#p#652_S:[SH>= 2_S͜O2S:[S I>N 2S!9P*"iS2sS͜O:SXJ:[SXI>D 2rS͜O:rSXJ:[S€I>C 4 <{I͜O:[SªI>P 2yS͜O2zS:[SI>k 2zS͜O:[SI>i >7J.[9< J>(J-J:>-J:>@2cSͺ7IO2-[͜O!.[yU762#q#:cSw#q#:hSw#65:[SdJ>< 2xS:[SœJ͸6:xS67dO:L͙8{2wS*:~,O:*]SO:O:ySJ62#N#FxJw#:wSw#:hSw#65"]SJ"]S#͍7͜O:[S K>@ <*aS6+#"aSdO K1K*aS> 2cS>^K*aS#9OKTK:>TK:>@2cSͺ7JO͜O*aSqyU7#62#q#:cSw#:wSw#:hSw#65"aSxʸL:SʸL:[SK>N c <*fS#"fS67!c6ͨO:DM6>/ͅ6:E6>/ͅ6:E6͸6ͨO:vSM!V- ͸6ͨO!W- ͨO:rS+NͨO>*ͅ67!,[- !?U- rN:ZS™M;O:dSڙM͵'rNN:yS̨O!\- :hN>2O:_SrNͨOͥ+NNrN͵'rNN:rS+N! U- +N/O:ZS+N;O:dSڙM͸6ͨO>*ͅ67!,[- !?U- +N/O:S O:LT5 OͨO>` <ͨO!LT- !9Pk*N*!9P5~AN6A͸6:kS<ùO:[S%O>4 <ÉJ>V <>O:rS:qU5MOͨO>I <ͨO!qU- !S- :zS`O>2ZS͸6:[SƒO5:9:$E}'̓%͞'ùO:$Ef:9w:ŒO.:9:[S:$Eͭ:͸6:eSOy7 ïO>!Gr<>2 E:$E}'̓%͞'ùOTTT@@Ȅ@@@PR@brpb@@@@@@@d\,A::::::::AFORMPLAINPRINTTOZP=2 7*#7~#['{ (t['t t[ )t :[7"(>[~Œw#[~({ /t[/t ͨ [~$w#[27!"7[27:7[ ©(ͨ ͸[¯(~w[tã(w͌[8~w#w[" 7(x[27* 7"7̈́[":8ä\(x†* 7\Œ~@ \#*7s#r\D:+9*:\!64~=)!\W)!7~W)!$\8~# y)*\y) y)0\!8p"7ͩ6\G"K9z ڵ)<\w#~@*~B\^#VͩÎH\ ͩ *N\c*#7"T\!"7"7Z\!8>ͥ5`\+!8>ͥf\+*6|)*l\9<282r\!*/+!*/x\d*>,D:~\JC:9<\28!*/+\r*̓\*8|ʊ*\*ͩ\ʡ*>D7D\No Fatal\r(s) Warni\:7Gͩ\!28!*/+\r*̓\*8|ʎS>" <`i6:WU`iͭ4*.W ̓7z5U>g <͞'y'&>r <͋,6>w <+++++6>/ͅ66>/ͅ66.S>p q <>f:PK8GnPK84P*:TJ>u <8,P,P̀)!S > ͔7!5S w @G9!"Q!Q"Q!"Q*Q~ ʪG*Q y7 ~ʁG#{G~P###~P*Q"Q*Q"QdG!Q"Qͳ!"Q vP!Qz*Q"Q!"P*PDM*Q"Q!Qz*Q"Q~ H*P$"P:U=G:PG>x2PGjH,PH:P_:P!S8H=3H"P!$Vr7|YHDM ͔7+6ðGx I2PxʥH*Q"QQZ7ښH!Q"Q2PðG:P2PðG*Q"QRZ7һH I:P2PðG:P_:P!SH=H"P!$Vr7|HDM*P!9!$V> ͔7+6ðG!͒7!"P!"Q!Q"Q*Q~ J y7*::I*Q9O+~ ,J9~ iI7bI_ #TIy,J ,J*:! :_CʝINʝIL4J>I::͙8DJ{DJzDJ{*::I͙8    y _ <5:,P>'M>AR,҇J!P6>2PÍJy'2PPO>R,y'2Q:E2P2E:T=2 Q:T@J:U=2Q: Q=2 Q!(Q: Qw#~7!,Q6 #6 #"P"P"P"P#"P2Q*P!cr7DM*P>͔7Oͳ!"Q!"Q*P"P*PMkKO~ :K#~ :K#y"P&o6!: QU76!Qz:Q bK:U==!Kͼ!Q"Q*PM"P:QGP!Qz>GL®K!P68 M KKONjN*P*Pr7DM*P+T]*9#"P*P6 #6 vO K*P##*Pr7DM*P*P##9 "P*P~ K6 #6 #6#"P Kx2MxʒLONjN*P*PZ7kKM"P!Q5:Q LL5~kK2Q*P"P*P*PZ7҉LM"P:Q<2QG:Q ҃Lx2Qx [L*P"P KxLONjN*PM~´L6 #6 #6++##"P~L6 #6 #6#"PvO!Q4:Q L4:U===kK2Q*P"P KjN:Q > M>2Q*PM~%M##~%M"P:Q=2QM*P"P2Q KjN:PHM*P"PO5M*P*Pr7DM:Q}'&/'̓%:PM}'̓%PO@'QO-PO-PO-QO-ùM:PM}'̓%:Q}'̓%@'͞':P2Eͳ,P+~ M++~ M#~ #ͥ' >.ͭ7#"QQ9: QO> !͔76: QN~FN"Q*P+Z7O*Q~IN IN ?N> # N7y!"Q:QG!Qz*P~ ʁNʁN#qN: QO !U7 ʛN+~ʌN ʌNy2Q2QN*P*Pr7" QNy*PU7* QDM*P9:Q_*P"PN*P+U7* QDM*P+*9#"P*P:QO9vO*Q9:P^O*PaZ7-ÒOOT] "P:P}',xZO AO"P>2 Q*P+6 #6 #6#"P>2 Q*PbZ7*P*Pr7Z7O*P:Q}'&/*PT] *Pr7DM9*P"P*P"P*P"P*Q"Q*P> ͭ7#"P!P68ʠM5M>e <);êG&odP PP/}o|gP z>!Gr<>2 E,PCOMMANDNAME TYP LEN DECABORTING MODIFY (Y/N) NEW FILEBUFFER FULL, TYPE Y TO SAVE, OR N TO ABORTSTRUCTURE$$$BAK"7F#>27:7Þ ©(ͨ ͸(#~d¯FIELD 01 CSFIELD 02 C6SFIELD 03 COSFIELD 04 ChSFIELD 05 CSFIELD 06 CSFIELD 07 CSFIELD 08 CSFIELD 09 CSFIELD 10 CSFIELD 11 CTFIELD 12 C0TFIELD 13 CITFIELD 14 CbTFIELD 15 C{TFIELD 16 CTFIELD 17 CTFIELD 18 CTFIELD 19 CTFIELD 20 CTFIELD 21 CUFIELD 22 C*UFIELD 23 CCUFIELD 24 C\UFIELD 25 CuUFIELD 26 CUFIELD 27 CUFIELD 28 CUFIELD 29 CUFIELD 30 CUFIELD 31 C VFIELD 32 C$V >ELD 25 CuUFIELD 26 CUFIELD 27 CUFIELD 28 CUFIELD 29 CUFIELD 30 CUFIELʎS>" <`i6:WU`iͭ4*.W ̓7z5U>g <͞'y'&>r <͋,6>w <+++++6>/ͅ66>/ͅ66.S>p q <>f̀)> 2KL2L> 2LL!"HL2EL:ʙG*LK8GG*::O+ʃK(‹K"HL*:G-LK8UG\G*:G7LK8jG~G*:> 2KL2L>2LLGBLK8“K*:'ڛK>2ELG*HL|ʫK:ELʓK*+r7)|GG xGG>2SL*HL ~L{K2oL2L2LCH:KL2KL2L:LL2LL#~2pL2L2L#̓7~2sL2L2Lr7"XL:pLG:sLO:oLN9HxAO!L*"L"L9-,'y'2ZL>R,y'2Da/!"PL>2cL2TL͋,|¿H'2ZLÍJ2TL:D}'','*PL͏,a/.R,y'2ZL>2cL:SL_*PLr7"PL|ʍJ:cLʍJ2cL:TLH*PL&:SLor7H{2SL2RL2UL)DM!"VL:D}'+-:ZL}','+-:TL,I,ڋI I*PL#"PL2I,sK*XL*VL~7"VL`i!RL4:SLIJ*"L!tL"_L*HL"\L:TL—I:SL_*PLr7|sKRJ"PL"NL×I:RL2SLJRJ:ZL}':TLʺI͘,RJʤI*PL#"PLI͘,sK:LL2aL![L- I:D}'5/*HL y7HK?J:D}'*XL*r7)DM&/*LHK9*!:SL=O9y!U7~7:SLOJ*"L*HL"\L:TL—I*NL+"NL|—I:D}')DM!"VL:SL*VL̓7"VL*XLr7&/=fJ:TL€H,'ÿH:D}'̓%:ZL}'̓%͞'.*L*:.EʳK!J6óKSORT COMPLETE:SLOJ J:KL2aL:SLGyH==CK!tL"_L!dL"\L!蜁U7̓7y7"L"qL![L- /K*L~7*qL~7:K:UL:KCKCK=Jx:cL"L:ULfK!L- fK>2cL!L- >2UL> / <ãK> <ãK>R <ãK>H <ãK>( <ãK>2 EóK>2 EóK>!Gr2I͸6!K6y'&.+G>p <0G>q <͸6$~wG"`K!'K6͸67*`K~wG#"`K}'&7 .nK,! L6͸6GG͞'.y'G>2I͸6!IK6y'&.ʨG>p <íG>q <͸6$~G"`K!'K6͸67*`K~G#"`K}'&7 .nK,! L6͸6G.͸6:IH͸6͸6͸6>e <);lI͸6!I6:D6>/ͅ6:E6>/ͅ6:E6!J6: E@ͅ6>:ͅ6:DeH!I6:D&͸6!(J6:E[I7!5J6:E[I!BJ6:E[I7!OJ6:E[I!iJ6: E[I7!\J6;[I!vJ6: E[I7!J6: E[I!J6:E[I7!J6:+E[I!J6:!E[I7!J6:"E[I!J6:&E[I7!J6:)E[I!J6<[I7!J6:*E[I!J6:,E[I7!K6:.E[IlIeI!IhI!I6͞'>!Gr'>R,2D:H2 E:U2HG:Df:G9*DG#HK8DG>2H͸6G:Df:G9~*kGðGG:Df:G9yHK8G9tHK8DG~*ʽG.:6:H=2HƒG͸6>e <);G͸6:U2HÃG::!E:HG!H6:D}'̓%͞'G>!Gr<ʡ<ʡʡ Ę>GG<"8z½  "7"8y28  28DBASEMSG*END*EXITNO HELP MESSAGES FOUNDHELP Ę>GG<"8z½  "7"8y28  28DBASEMSG*END*EXITǸ).̀).2ZJ2YJ2XJ:ʤG:ZJBGUJK8BG*::'ڠI>2ZJG:YJiGQJK8iG*::I>2YJG:XJIJJK8I*:>2XJ:I"[J:O+I*::,G:ÊG:ZJʨI:YJʰI>R,y'2D͞'.:XJ‡H"]J!"_J!eJ"aJ*]J~ H*_J9*aJ6-#*]J~7*_J~765"aJ*]J "]J*_J "_JG>."]J*]J~ H N'zH*_J*]J9*aJ6-#*]J~7*_J~765"aJ*_J "_JZ7H*]J "]J+H!"_J!eJ"aJ*[J*::O+"cJ9(I"]J*_J9*aJ6-#*]J~7*_J~765"aJ*_J"_J*cJ*::,H:ÙH*_J6 !ͳ%> 2:D}' &/͞'>.9-.9-!"ᜯ.!- aI!eJ- :D}'*DM&/͞'*#"|<ʸI>.ͥ+oI,I9-.ͥ+I,I:D}'' .> &/̓%͞'I>( H l m  2 EI͞'>2 EI>!Gr!Gr2JG:JyGJK8yG>2J*:"J:O+?J*::,G:_G:JsJJK8sJ>2J*::GJ"KO+GJ2K9(GJ"K*:G:JOJ>R,Gy'2D ,G>R,y'2D 9&/͞'!ͳ%!"K65:JxH*J*::O+"J9(WJ! ~NdH*K6)#~7"K9N'WJ*K6)#~76#61#~765"K*J*::,H:H!" K* K~ H ~N½H* K(WJ*K6)#~7* K6)#~76#61#~765"K* K" K~H:JI*K#"K"J*K! ~NH*K6)#~7"K:KO*KN'GJ*K6)#~7p#65"K*K#"K"K!" K* K~ `I(SI*K6)#~761#* K~765"K* K" K*I!͘&*DM!> ͔79-~*ʅI͵'‘Iͥ+IvII*K- !"JI:JʱI*J- ʺI!- I:D}'*DM&/͞'*J#"J*K- ͥ+II͵'IàI*J":D}'*DM&/:D}'' . &/̓%͞':.E~J*J͸66>' <~J>( <_J>R <_J> <_J>H <_J>R <_J:D}'̓%͞'>2 E~J͞'>2 E~J>!Gr̀)2K2K2K2K2K:+H:K>GKK8>G*::'J>2KG:KkGKK8kG*::"KO+J2K*:>2KG:K¦GKK8¦G*::$K"K:O+J*:>2K:,G:ÇG:K HKK8 H*::$K"K:O+J*:>2K:,G:G:KK8G*::O+J*::,G:G:K$KKK8$K*:>2K$KG:KJ:KJ>R,Jy'2D ,!ͳ%:KœH*K(J F#y7"K*K:KON'J N#y7"KxJ2KûH*K:KON'J ~2K#y7"K!"K"K:KBI*K"K*K*::"K(J"K*KO+"K*KN'J*K6)#~76)#*K~76#61#*K~7"K*K*::~,9I:"KH*K65#"K:KI*K"K*K*::"K(J"K*KO+"K*::KK8‹I*::"KO+"K*KN'J!K ~*KNʱI6-#~7úI6)#~761#*K~7"K*K*::~,I:"KOI*K65:KcJ͞'!͘&J:D}'*DM,*K*K:KO7WJJ@J:K*J*K- :K7J*K- ͞'5/:D}'*DM,JJ͞'ͥ+JJ:D}'*DM,͞'*K:K '|ʪJ:KʗJ*K- :KʤJ*K- 5/:D}'*DM,JtJ:D}'̓%͞'5K>( <K> <$K>n <K>T <K>R <$K>o <K>s <K>S <K:D}'̓%͞'>2 E5K:D}'̓%>2 E5K>!Gr2M:O+:G> R 2M*M~ G͡JG!M4*M"MG:UO:MG:M2M#H*M:Mg."M!M4$H&"#H'öG͘,ҶG!"MK"M2M*M~ SHbKSH!M4*M"M3H: MO:MG!y=jHOxg^H"M* MM LL!Lz* M' K"M2M*M~ ʵHKڵH!M4*M"MÕH:M!MH~=2M:MG>2Mx2Mͼ2MK"M2M*M~ I͡JI!M4*M"MH:MILL2 M:MBI5/$BIͺ!2 MBI," M"M 2 M:MUJ:MI!M6#:M/2 M:M2MàG9-," M* M"M2 MÜG!M6#:Mw$J&"HJ" M: MHJ:MG:MO:M2MHJmH$%J&"HJ'+J͘,HJ* M#" M:MG:MO:M2MHJmH* M"M2 MÜG:M0ʞJsJ:M=J2M!M4ÑJK~ ʑJ:M<2M:M=J2M* M"M2 MÜGLL:TO ~ҶJ:MJ:MʿJ7~/2M7BK?~2M*MDML!Lz*M:M-!!M͔7!!MyU767~2MñK?~2MO>-!!M͔7!M~K#øK!!M:MU76*MDM!M!Lz*M:M2 ELL>OLͳ: M2E>!Gr<6 s#r27*7###:6$:7$*7 ͩ273{ "*$'¦$G *#7++J$ FIELDSRECORD # :00000 ͩ273{ "*$'¦$G *#7++J$ FIELDSRECORD -PO-PO-QO-ùM:PM}'̓%:Q}'̓%@'͞':P2Eͳ,P+~ M++~ M#~ #ͥ' >.ͭ7#"QQ9: QO> !GGH̓%#.̓%#>, <:D}''̓%:ʑH9IK8¡H*::87¡H~7:ʡHOG::pG,¡H::DG"I*I~ʥG#ÚG6#">IzG*>I6!ͽGʑH |G02III~G #Gy2I#~GI |DHO 6 .̓%́'#. .̓%́'#.:D}''̓%:#E}'̓%2#Ed)2c2D2E.ìH:d='$Z='͞'>2 EìH>!Gr<  { !![!!" :"E"Q"^"d"m""" """"""{!zW{_{!zW{_{!zW{TO$$$ SUB { !![!!" :"E"Q"^"d"m""" """"""{!zImH* M+" M|I:MG:M2MImH* MZ7I"M>2 M:M2MàG9-," M* M"M2 MÜG!M6#:Mw$J&"HJ" M: MHJ:Mݢ ߿߬ݢ ߫ߜ ѱߺѾߜ ߫׹őߔ ߢԬלԤ߬ߢԹő ߢԬלԤ߸ߢԹő ߫ߜ ߺߢߐ ߰ Һߚ߫ߐ ِ߫ ߰ ߯ߢԐ ߾ߢԆ ߻ߢԻ ߱߼לƢ׻ԤߢԆߤ߾߭߭ բ ߨ߫ ߬߫ߚ ߿ߢԬדԤߢߤݼ׺֛׻֚ת֑Ģ ׼֐ׯ֐Ģ ߸ߚ߯ݢ ߭߱ ߼߸ ߿ߢԬדԤ߬ߜ ߻߼ ߼ߚݢ ҺѢ ߭ ߼ߚݯݢ ׯ֐ ߬ݧ߫ߏ ߻ߨߏݢ ߻ߢߙߤҏ ߺ ߼ߚݻݢ ׻֚ ߻ ߿߬ݻݢ ߼ߚݪݢ ת֑ ߭ ߿߬ݢ ߼ߚݺݢ ׺֛ ߿ߢԬדԤߢߤݯÜҨߋߚݢ ߶Ϣ ߻ߢߙߤҌ ߭ ߺ ߼ߚݼݢ ׼֐ߋߋߑߍѢ ߬߫ߓ ߼ ҼߙߺҰҹѢ ߶ѱߺ ߻ߢߙߤҘ ߼߸ ߺ ҺߚѢ ߸ߓ ߿ߢԬדԤ߬ߜ ߿ߢԬדԤߢߤݺҰҹߚݢ ߬߫ߌ ߿ߢԬדԤߢߤݬߞߔߋߜĢ ߸ߌ ߭߱ ߿ߢԬדԤ߬ߜ ߿ߢԬדԤ߬ߜ ߺ ߺ ߺߢߐ ߰ үߚ߫ߐ ِ߫ ߰ ߯ߢԐ ߾ߢԆ ߻ߢԻ ߱߼לƢ׻ԤߢԆߤ߾߭߭ բ ߬ݯ߾߼ߴߢԚԤݢ ߬߻֢ ߬ݢ ߬ݢ ݱ߫ߌ ؿ߬ݯߋߚߙߤб ߸ߌ߯ݢ ߱ ߌݦݢ ߭ ߬ݢԖԤѰ߈ߝ߆ߝߛߙݢ ߹ݢߖߤѰ֢ ߬߫ߌ ߿߬ݻߋߐߝߙצбĢ ߸ߌ߯ݢ ߭߱ ߶ߌݦݢ ߭ ߺ ߻߹ߢԖԤѰ ߢԖԤѻ߫ߢԖԤѰ ߬ݢ բ ߢߖߤѰ ߫߰ ߺ߰ ߫ߢߖ ߢԖ ҭߖߙѢ ߰ߢԔԤ߫ߢԖ ߺ߰ ߫߰ ߫ߌ ߬ߜ ߬ݬߞߔߋߜĢ ߸ߌ ߱ ߺߢߐ ߰ үߚ߫ߐ ِ߫ ߰ ߯ߢԐ ߾ߢԆ ߻ߢԻ ߱߼לƢ׻ԤߢԆߤ߾߭߭ բ ߫ߏ ߢԬדԤ߬ߜ ߢԬדߤ߬ݼ׻֖׹֖Ģ ׳֐׼֐׬֔Ģ ߸ߏ߯ݢ ߱ ߸ ߢԬדԤ߬ߜ ѱ׏ݻ֢ ߭ ߏݹݢ ׹֖ ߿ߢԬדԤ߬ݢ ߾ݺߢԔԤ߫ߙ ߿ߢԬדԤ߬ߜ ߬߫י߫ߙ ߶ߙݢ ߭ ߺ ߬߫ߓ ߹ٙ ߶֢ ߻ߢߙߤҘ ߼߸ ߺ ұ߹Ѣ ߸ߓ ߿ߢԬדԤ߬ߜ ߿ߢԬדߤ߬ԙߑߖߖݢ ߬߫ߌ ߿ߢԬדߤ߬ݬߞߔߋߜĢ ߸ߌ ߭߱ ߿ߢԬדԤ߬ߜ ߿ߢԬדԤ߬ߜ ߺ ׬֔׼֐׻֖ߐ׳֐ ߬߫ߓ ߻߼ ߼ߏݬݢ ׬֔Ѣ ߬ ߼ߏݼݢ ׼֐Ѣ ߼ ߰ ׻֖ߐ׳֐ ߻ߢߙߤғ ߶ߚݢ ߭ ߺ ߶ߏݻݢ ߶ߌݢ ߭ ߺ ߻ߢߙߤҙ ߺ ߺ ҼߙߺҰҹѢ ߶ѱߺ ߻ߢߙߤҘ ߼߸ ߺ ҺߚѢ ߸ߓ ߿ߢԬדԤ߬ߜ ߿ߢԬדԤ߬ݺҰҹߚݢ ߬߫ߌ ߿ߢԬדߤ߬ݬߞߔߋߜĢ ߸ߌ ߭߱ ߿ߢԬדԤ߬ߜ ߿ߢԬדԤ߬ߜ ߺ ߺߢߐ ҳߚ߫ߐ ِ߫ ߰ ߯ߢԐ ߾ߢԆ ߻ߢԻ ߱߼לƢ׻ԤߢԆߤ߾߭߭ բ ߫ߚӌ ҳߌѢ ߨߚݢ ߿ߢԬדԤ߬غŬݼآ ߿ߢԬדԤ߬ߜ բ ߿ߢԬדԤ߬ݢ ߾ݺ߳ߚ߫ߚ ߿ߢԬדԤ߬ߜ ߬߫ך߫ߚ ߻߼ ߼ߚݢ ҺѢ ߭ ߼֢߫ٚ ҶߺѢ ߿ߢԬדԤ߬ߜ : &,!\~# 1B9&,<+&,4 $1 c INSTALLATION PROGRAM VER 3.5B $? q $n Ý Copyright (C) 1982 RSP Inc. $| ë $ ù $  $  $  ARE FULL SCREEN OPERATIONS WANTED (Y/N)? $ _Y%2Ã!>20 $- > $; L $I Z $W h $e v $s á TERMINAL OPTION $  MENU #1 $  $ A -ADDS VIEWPOINT M -HEATH 89 $ GB -ADM-31 N -HP 125 $ ÀC -ADM-3A O -HP 2621 $R ùD -ACCESS P -INTERCOLOR $ E -APPLE /// Q -KAYPRO II $ +F -APPLE II 40 COL R -NEC PC-8000/1 $ dG -CROMEMCO 3102 S -NS ADVANTAGE $6 ÝH -DIALOG 81 T -OSBORNE I $o I -EAGLE AVL U -PERKIN ELMER 11 $ J -EPSON QX-10 V -SANYO MBC 3000 $ HK -GNAT-SYSTEM 10 W -SOROC $ ÁL -HAZELTINE 1500 $S Ï $ í X - MENU #2 $  Y - MODIFY PREVIOUS INSTALLATION $  Z - USER SUPPLIED TERMINAL COMMANDS $ $ $! FSELECT TERMINAL TYPE: $/ _Yʸ ZʿXr >n $k <#gá TERMINAL OPTION $  MENU #2 $  $  A -SPERRY UTS 40 M -XEROX 820 $ ?B -SUPERBRAIN $ tC -TELEVIDEO $J éD -TOSHIBA T100 $ E -TOSHIBA T250 $ F -TRS-80 (FMG) $ HG -TRS-80 II (P&T) $ }H -TRS-80 III $S òI -VECTOR GRAPHICS $ J -VISUAL-100 $  K -VPD-80 $ Q L -VT-100 $'  _ $\  } X - MENU #1 $j  ð Y - MODIFY PREVIOUS INSTALLATION $   Z - USER SUPPLIED TERMINAL COMMANDS $   $   $  $ SELECT TERMINAL TYPE: $  _Yʸ ZʿX] >L $I  =E %Aڰ+W> ڰ+À Jʮ >2Aڰ+!,_~#fo",â x~# × R͗ Ã!>2À >2, $   MODIFY EXISTING SPECS ROUTINE $  3 FOR THIS METHOD, YOU WILL NEED THE HEX OR $  i DECIMAL CODES THAT CAN BE SENT FROM YOUR $>  ã COMPUTER TO THE VIDEO TERMINAL TO CONTROL IT $t  ñ $   TYPE "Y" IF YOU WISH TO CONTINUE $  _Y°+ $   $  O WILL YOU BE ENTERING COMMANDS AS HEX OR DECIMAL?$  ] $Z  Ø TYPE "D" FOR DECIMAL OR "H" FOR HEXADECIMAL $h  _Dʶ HW >2, $   COMMANDS ARE ENTERED AS A SEQUENCE OF NUMBERS $  ; TYPE A CARRIAGE RETURN TO END A SEQUENCE $  I $F  u 1 - DELETE A CHAR SEQUENCE $T  í 2 - DIRECT CURSOR POSITIONING SEQUENCE $   3 - CLEAR AND HOME SCREEN COMMAND $  4 - BRIGHT/STD VIDEO COMMANDS $  ?5 - DIM/REVERSE VIDEO COMMANDS $ l6 - INITIALIZATION SEQUENCE $J Ï7 - EXIT SEQUENCE $w 8 - RESET TO STANDARD VIDEO MODE $ 9 - ALTER SCREEN SIZE $  $  SELECT ITEM TO CHANGE $ U ANY CHAR OTHER THAN 1 - 9 TERMINATES SESSION $% c $` 1ڃ!:҃!1__!C ͧC SC ͢C ͠C ̀C PC ͊C  C  $ USER SUPPLIED SPECS ROUTINE $ 3FOR THIS METHOD, YOU WILL NEED THE HEX OR $ iDECIMAL CODES THAT CAN BE SENT FROM YOUR $> ãCOMPUTER TO THE VIDEO TERMINAL TO CONTROL IT $t ñ $ THE CODES (OR SEQUENCES) THAT YOU WILL NEED ARE:$  $   $ 2 DELETE A CHAR SEQUENCE $ g DIRECT CURSOR POSITIONING SEQUENCE $= Î CLEAR SCREEN COMMAND $r ô HOME CURSOR COMMAND $  (CLEAR AND HOME CAN BE COMBINED) $  OPTIONAL: BRIGHT/DIM COMMANDS OR $ R VIDEO/REVERSE COMMANDS $* ` $] ÎTYPE "Y" IF YOU WISH TO CONTINUE $k _Y°+è $  $ WILL YOU BE ENTERING COMMANDS AS HEX OR DECIMAL?$   $  GTYPE "D" FOR DECIMAL OR "H" FOR HEXADECIMAL $ _DeH>2,w $h òCOMMANDS ARE ENTERED AS A SEQUENCE OF NUMBERS $ TYPE A CARRIAGE RETURN TO END A SEQUENCE $ ͧ͢͠S̀P͊ Ã! $ NNOW ENTER THE CODES FOR CHARACTER DELETION $! :,l!F#1+*-âTHIS IS THE SEQUENCE "BACKSPACE,SPACE,BACKSPACE" $o ON MOST TERMINALS IF THIS IS TRUE FOR YOUR $ TERMINAL, THEN TYPE "Y" $  $  _Y!s# '? $0 pENTER THE CHARACTER DELETE SEQUENCE $J Ê(3 BYTE MAX) ${ >!M):,2*Vù $ --- DIRECT CURSOR POSITIONING --- $ #THE CURSOR CONTROL SEQUENCE IS USUALLY A 3 $ YTO 4 BYTE SEQUENCE. THE FIRST ONE OR TWO $. ÐBYTES ARE USUALLY FIXED AND THE REMAINING $d BYTES CONTAIN THE LINE AND COLUMN NUMBERS $  $ ARE THE CURSOR ADDRESSES SINGLE BINARY BYTES OR $ TSEVERAL ASCII DIGITS?, TYPE A "Y" IF THEY ARE BINARY $ 2_Yq>2w $t ìNOW, ENTER THE POSITION IN THE SEQUENCE $ THAT HOLDS THE COLUMN NUMBER $ :,CURRENT VALUE = $ :<́+ $  !*=2# $  YNEXT, ENTER THE POSITION IN THE SEQUENCE $. ÁTHAT HOLDS THE LINE NUMBER $d :,äCURRENT VALUE = $ :<́+ù $ !*=2 $  $ MANY TERMINALS ADD A CONSTANT TO THE LINE $ PAND COLUMN NUMBERS. ENTER THE CONSTANT BIAS $" oFOR YOUR TERMINAL $[ :,ʮÒCURRENT VALUE = $ :́+æ $ !*2þ $ NOW ENTER THE SKELETON FOR THE DIRECT CURSOR $ /COMMAND. ENTER A ZERO IN THE PLACES WHERE $ WCOLUMN AND LINE NUMBERS GO $: r(11 BYTE MAX) $b :,ʍ!F#1+*> !M):,2*§ì $ ---- DIM/BRIGHT VIDEO/REVERSE VIDEO ---- $  $ *ENTER THE COMMAND THAT WILL SWITCH TO $ VHIGH INTENSITY OR NORMAL VIDEO $5 p(5 BYTE MAX) $a :,ʋ!F#1+*>!M):,2*¢ê $ ENTER THE COMMAND THAT WILL SWITCH TO $  LOW INTENSITY OR REVERSE VIDEO $ #(5 BYTE MAX) $ :,>!F#1+*>!M):,2* ] $V Î---- CLEAR AND HOME COMMAND(S) ---- $h à $ ENTER THE COMMAND(S) THAT WILL CLEAR THE $  SCREEN AND PLACE THE CURSOR IN THE UPPER $ 5LEFT CORNER OF THE TERMINAL $ P(11 BYTE MAX) $@ :,k!F#1+*> !M):,2*SÊ $ üENTER THE COMMANDS TO BE ISSUED WHEN $ ENTERING THE FULL-SCREEN EDITING MODE $ (IF ANY) $  (11 BYTE MAX) $ :,;!F#1+*> !M):,2*€Z $S ÌENTER THE COMMANDS TO BE ISSUED WHEN $e þLEAVING THE FULL-SCREEN EDITING MODE $  $ SUGGESTION: USE DIRECT CURSOR POSITIONING $ ?TO PUT CURSOR ON THE BOTTOM LINE OF THE SCREEN $ Z(11 BYTE MAX) $J :,u!F#1+*> !M):,2*PÔ $ ENTER THE COMMAND THAT WILL SWITCH TO $ STANDARD INTENSITY OR NORMAL VIDEO $ 5 TO RESET THE SCREEN AFTER FULL SCREEN OPERATIONS $  O (5 BYTE MAX) $@  :,j !F#1+*>!M):,2*ŠÅ $  é ENTER THE SCREEN WIDTH $  :, CURRENT VALUE = $  :́+ $  !*2 $  /!NEXT, ENTER THE NUMBER OF LINES ON THE SCREEN $  :,n!R!CURRENT VALUE = $A! :́+f! $c! !*2z! $w! É! $! ×! $! !CHANGE MACRO, DATE, DELIMITER, ETC. (Y/N)? $! _Y%(>&2>222! $! " $" 5"ENTER A CHARACTER TO BE USED FOR $" d"INDICATING MACROS OR A RETURN FOR $@" Ô"DEFAULT CHARACTER OF AMPERSAND (&) :$o"  ʫ"2ñ" $" ÿ" $" "TYPE A RETURN IF THE ERROR CORRECTION $" ##DIALOGUE IS TO BE USED OR ANY OTHER $" N#KEY IF NO DIALOGUE IS WANTED :$.#  f#2l# $i# z# $w# È# $# ê#ENTER OPERATING SYSTEM$# ø# $# # A - CP/M 2.2 $# # B - TurboDOS SYSTEM $# $ $$ $ $$ >$CHOOSE AN OPERATING SYSTEM : $ $ _Ar$Bm$f#>2r$>22r$>2x$ $u$ Æ$ $$ ó$ENTER A DRIVE NAME FROM (A TO P) $$ $WHERE THE OVERLAY AND HELP $$ %FILE WILL BE ON, OR HIT (RETURN) $$ +%FOR THE DEFAULT DRIVE $% X%WHERE dBASE II IS EXECUTED FROM: $6% _ v%>2Ë%@ڰ+W>ڰ+z2Ñ% $% ß% $% !~ &%DATE FORMAT IS MM/DD/YY, CHANGE TO DD/MM/YY ? (Y/N) : $% _ d&Yd&>2d&F&DATE FORMAT IS DD/MM/YY, CHANGE TO MM/DD/YY ? (Y/N) : $& _ d&Yd&>2j& $g& x& $u& ñ&YOUR CURRENT FULL SCREEN ENTRY DELIMITERS : $& & LEFT DELIMITER "$& :_&"$& & $& ' RIGHT DELIMITER "$' :_+'"$)' 9' $6' G' $D' {'DO YOU WANT TO CHANGE DELIMITERS? (Y/N) $R' _Y%(Õ' $' þ' CHANGE LEFT DELIMITER TO $'  %( %(2' $' ( CHANGE RIGHT DELIMITER TO $'  %( %(2%(1( $(( p(TYPE "Y" TO SAVE, ANY OTHER KEY TO ABORT INSTALL : $<( _Y%)ê( SAVING INSTALLATION PARAMETERS $( :4,24,2F,&,>2F,&,*,R",*,~ )@G#~@O#",x_!yO! w#w(>2F,&,&,B) ABORTING INSTALLATION $() ",2,2,]) $Z) Â)ENTER CONTROL CODE BYTE $h) :,:I,*:J,Y:,ʌ*z*!G]*_0k* O)))) S*J,P*}ڹ*|¹*<}ê*0 ?))) O Ó*!J,͏*}|¹*<}ÿ* $* *ERROR IN INPUT, RE-ENTER $* !*!7* $* +IS THIS CORRECT (Y/N) $+ _Y9+ $6+ Y+CURRENT SEQUENCE : $D+ x~́+r+ $o+ #c+:,ʨ+ä+͖+Ɛ'@'_͍+o&͔)+ ILLEGAL PARAMETER$+ + $+ !', ^# +, FILE IS NOT ON THE DEFAULT DRIVE $+ DBASE COMENT SEQUENCE : $D+ x~́+r+ $o+ #c+:,ʨ+ä+͖+Ɛ'@'_͍+o&͔)+ ILLEGAL PARAMETER$ 2.d.8F6^0R273k-/-.11]/88361-7k-61?75520D40Y1 /Y1K3 ~~~~~~~PPSDEX  =()(*(=7 PPHLKJ  XYKHX7Y PP   YpqqEqY7 PP  ==7 PP   =()((=7 PP   ==7 PP   .P0P   ="!""=7 PP   Y Y7 PPS\D]E^X_  =())=7 (P PP   Y Y7 PPHFKJWO    PP[DCAB  =()((=7 P P &a000y000C&dB&d@&d@ HJH &a23y1CPPDCAB  YEY7 PPDCAB ((?PP   Y0A Y7 PPHLKJ  ==7 PP   =C4 C0 C0 *C0 =7 PP   =*=7 PPHLKJ@  =())*=7 PPHLKJZJBL  =)((*(=7 PPHLKJ  =())*(=7 PPHLKJZJBL  =())*(=7 PPHLKJNIVPZJBL ~~~~~~~~PP  PP   YPBPAPBErY7 PP   ==7 PP   =()(*(=7 PPHLKJ  =AjAka=7 aPP   FEF7 PP  ==7 PP   =)((*=7 PP ҊߜߝѢ ߶ߓߢԌ ߫ߖ ߫ߌ ߬ߓ߫ߓ ߹őߌ ŋݱ ߿ߓ߬߬߹ݢߤԬדӢԬ׹œߤӢԬ׹śԤݢ ߿ߓ߬߬߹ԫדݢ ߬ߓ߫ߓ ߳׌ ׌ӌ ߹őٲ ѱߺ ߿ߓӢԬלٖߤ߬߬׌ٖӢ߬ٲԤӢԬ׹śԤ֢ ߿ߓӢԬלٖԤ߬ߢߤ׌ٖӢԬٲԤ֢ ߬߫ߌٖ ߫ߌ שז߫ߖ ߬ߓ߫ߓ ߬ߢԌԤ߫ߓ ߺ բ үߛߓѢ ߫ߖ זߋ ٲ߫ߌ ٲ߫߈ ߹őŒ ѱߺ ŋݼ ߿ߓӢԬלٖԤ߬ߢߤעԌԤӢԬ׈Ԥ֢ ߿ߓӢԬלٖԤ߬ߢߤ׬עԌԤӢԬ׈ߤӢԬ׹śԤӢԬ׈Ԥ֢ ٛ ٌ߫ ߿ߓӢԬלٖԤ߬ߢߤ׬עԌԤӢԬ׈Ԥ֢ ߿ߓӢԬלٖԤ߬ߢߤעԌԤӢԬ׈Ԥ֢ ٛ שז߫ߖ ߬ߓ߫ߓ Ѿ߳׋ բ ҾߋߞАߌѢ ߫ߖ ߫ߌ ߳׋ ׋ӌ ߬ߋٖԢٲߤ߫ߋٖ ߫ߌ שז߫ߖ Ѿ߳׌ ߫ߖ ߫ߌ ߳׌TDATEC٪AMTN NUMNCLEARL : " @ 15,41 GET mselect PICTURE "#" READ * reading user response STORE VAL(mselect) TO select ENDDO * process user's response DO CASE * test for exit condition CASE select = 0 RELEASE mselect,select * retain variables - 'balance', 'lastchk' and 'lastdep' SAVE TO Cb-book.mem * clear variables and return to calling program or dbase system CLEAR ERASE RETURN * test for new chec բ үߙߋѢ ߫ߖ ߫ߌ ߓ߫ߓ ߓ߬߹߫ݢ ߓ߫ߓ ߳׋ ׋ӌ ٲ߫ߌ ߹őŒ ѱߺ ߓӢԬלٖߤ߬߬׋ٖӢٲӤӢ߬׹śԤ֢ ߓӢԬלٖߤ߬߬׋ٖӢٲӤ֢ ߫ߌ שז߫ߖ ߓ߬ݢ ߹߫߬ ߾ ߫߰ ߽߰ ߺߢԙ ߰ ߫ ٛ ߰ ߰ ߰ ߰ śԤ֢ ߓӢԬלٖߤ߬߬׋ٖӢٲӤ֢ ߫ߌBALANCE gLASTDEP gLASTCHK gFMENU.CMD (.PRG) TO loop2 ENDIF ENDDO loop2 IF !(answer)="Y" * data is correct - add to database APPEND BLANK REPLACE Chkno WITH mchkno REPLACE Date WITH mdate REPLACE Payto WITH mpayto REPLACE Amt WITH mamt REPLACE Memo WITH mmemo REPLACE Can WITH mcan * update balance and lastchk STORE balance - Amt TO baTH 89 $ JB -ADM-31 N -HP 125 $ ÃC -ADM-3A O -HP 2621 $U üD -ACCESS P -INTERCOLOR $ E -APPLE /// Q -KAYPRO II $ .F -APPLE II 40 COL R -NEC PC-8000/1 $ gG -CROMEMCO 3102 S -NS ADVANTAGE $9 àH -DIALOG 81 T -OSBORNE I $r I -EAGLE AVL U -PERKIN ELMER 11 $ J -EPSON QX-10 V -SANYO MBC 3000 $ KK -GNAT-SYSTEM 10 W -SOROC $ ÄL -HAZELTINE 1500 $V Ò $ ð X - MENU #2 $  Y - MODIFY PREVIOUS INSTALLATION $  Z - USER SUPPLIED TERMINAL COMMANDS $ ' $$ ISELECT TERMINAL TYPE: $2 _Yʻ ZXu >q $n <#jä TERMINAL OPTION $  MENU #2 $  $  A -SPERRY UTS 40 M -XEROX 820 $ BB -SUPERBRAIN $ wC -TELEVIDEO $M ìD -TOSHIBA T100 $ E -TOSHIBA T250 $ F -TRS-80 (FMG) $ KG -TRS-80 II (P&T) $! ÀH -TRS-80 III $V õI -VECTOR GRAPHICS $ J -VISUAL-100 $  K -VPD-80 $ T L -VT-100 $*  b $_  À X - MENU #1 $m  ó Y - MODIFY PREVIOUS INSTALLATION $   Z - USER SUPPLIED TERMINAL COMMANDS $   $   $  ' SELECT TERMINAL TYPE: $  _Yʻ ZX` >O $L  =H (A",W> ",à Jʱ >2A",!C-_~#fo"?-å x~# Ú R͚ Î!>2à >2A-2B- $   MODIFY EXISTING SPECS ROUTINE $  9 FOR THIS METHOD, YOU WILL NEED THE HEX OR $  o DECIMAL CODES THAT CAN BE SENT FROM YOUR $D  é COMPUTER TO THE VIDEO TERMINAL TO CONTROL IT $z  ÷ $   TYPE "Y" IF YOU WISH TO CONTINUE $  _Y", $   $  U WILL YOU BE ENTERING COMMANDS AS HEX OR DECIMAL?$$  c $`  Þ TYPE "D" FOR DECIMAL OR "H" FOR HEXADECIMAL $n  _Dʼ H] >2;- $   COMMANDS ARE ENTERED AS A SEQUENCE OF NUMBERS $  A TYPE A CARRIAGE RETURN TO END A SEQUENCE $  O $L  { 1 - DELETE A CHAR SEQUENCE $Z  ó 2 - DIRECT CURSOR POSITIONING SEQUENCE $   3 - CLEAR AND HOME SCREEN COMMAND $  4 - BRIGHT/STD VIDEO COMMANDS $  E5 - DIM/REVERSE VIDEO COMMANDS $  r6 - INITIALIZATION SEQUENCE $P Õ7 - EXIT SEQUENCE $} 8 - RESET TO STANDARD VIDEO MODE $ 9 - ALTER SCREEN SIZE $  $   SELECT ITEM TO CHANGE $ [ ANY CHAR OTHER THAN 1 - 9 TERMINATES SESSION $+ i $f 1ڎ!:Ҏ!1__!I ͲI ^I ͭI ͫI ͋I [I ͕I ͊ I >2B- $ USER SUPPLIED SPECS ROUTINE $ >FOR THIS METHOD, YOU WILL NEED THE HEX OR $ tDECIMAL CODES THAT CAN BE SENT FROM YOUR $I îCOMPUTER TO THE VIDEO TERMINAL TO CONTROL IT $ ü $ THE CODES (OR SEQUENCES) THAT YOU WILL NEED ARE:$  $  $ = DELETE A CHAR SEQUENCE $ r DIRECT CURSOR POSITIONING SEQUENCE $H Ù CLEAR SCREEN COMMAND $} ÿ HOME CURSOR COMMAND $  (CLEAR AND HOME CAN BE COMBINED) $ * OPTIONAL: BRIGHT/DIM COMMANDS OR $ ] VIDEO/REVERSE COMMANDS $5 k $h ÙTYPE "Y" IF YOU WISH TO CONTINUE $v _Y",ó $  $  WILL YOU BE ENTERING COMMANDS AS HEX OR DECIMAL?$  $ RTYPE "D" FOR DECIMAL OR "H" FOR HEXADECIMAL $" _DpH>2;- $s ýCOMMANDS ARE ENTERED AS A SEQUENCE OF NUMBERS $ TYPE A CARRIAGE RETURN TO END A SEQUENCE $ Ͳͭͫ^͋[͕͊ Î!! $ YNOW ENTER THE CODES FOR CHARACTER DELETION $, :A-w!F#ͣ+g+8íTHIS IS THE SEQUENCE "BACKSPACE,SPACE,BACKSPACE" $z ON MOST TERMINALS IF THIS IS TRUE FOR YOUR $  TERMINAL, THEN TYPE "Y" $  $ _Y!s# 2J $; {ENTER THE CHARACTER DELETE SEQUENCE $U Õ(3 BYTE MAX) $ >!Ϳ)::-2g+a $ --- DIRECT CURSOR POSITIONING --- $ .THE CURSOR CONTROL SEQUENCE IS USUALLY A 3 $ dTO 4 BYTE SEQUENCE. THE FIRST ONE OR TWO $9 ÛBYTES ARE USUALLY FIXED AND THE REMAINING $o BYTES CONTAIN THE LINE AND COLUMN NUMBERS $  $ ARE THE CURSOR ADDRESSES SINGLE BINARY BYTES OR $ _SEVERAL ASCII DIGITS?, TYPE A "Y" IF THEY ARE BINARY $( 2_Y|>2 $ ÷NOW, ENTER THE POSITION IN THE SEQUENCE $ THAT HOLDS THE COLUMN NUMBER $ :A-!CURRENT VALUE = $ :<+ $ ͓*=2. $+ dNEXT, ENTER THE POSITION IN THE SEQUENCE $9 ÌTHAT HOLDS THE LINE NUMBER $o :A-ïCURRENT VALUE = $ :<+ $ ͓*=2 $  $ "MANY TERMINALS ADD A CONSTANT TO THE LINE $ [AND COLUMN NUMBERS. ENTER THE CONSTANT BIAS $- zFOR YOUR TERMINAL $f :A-ʹÝCURRENT VALUE = $ :+ñ $ ͓*2 $ NOW ENTER THE SKELETON FOR THE DIRECT CURSOR $ :COMMAND. ENTER A ZERO IN THE PLACES WHERE $ bCOLUMN AND LINE NUMBERS GO $E }(11 BYTE MAX) $m :A-ʘ!F#ͣ+g+> !Ϳ)::-2g+²÷ $ ---- DIM/BRIGHT VIDEO/REVERSE VIDEO ---- $  $ 5ENTER THE COMMAND THAT WILL SWITCH TO $  aHIGH INTENSITY OR NORMAL VIDEO $@ {(5 BYTE MAX) $l :A-ʖ!F#ͣ+g+>!Ϳ)::-2g+­õ $ ENTER THE COMMAND THAT WILL SWITCH TO $ LOW INTENSITY OR REVERSE VIDEO $ .(5 BYTE MAX) $ :A-I!F#ͣ+g+>!Ϳ)::-2g+«h $a Ù---- CLEAR AND HOME COMMAND(S) ---- $s ë $ ENTER THE COMMAND(S) THAT WILL CLEAR THE $ SCREEN AND PLACE THE CURSOR IN THE UPPER $ @LEFT CORNER OF THE TERMINAL $" [(11 BYTE MAX) $K :A-v!F#ͣ+g+> !Ϳ)::-2g+^Õ $ ENTER THE COMMANDS TO BE ISSUED WHEN $ ENTERING THE FULL-SCREEN EDITING MODE $ (IF ANY) $ +(11 BYTE MAX) $ :A-F!F#ͣ+g+> !Ϳ)::-2g+‹e $^ ×ENTER THE COMMANDS TO BE ISSUED WHEN $p LEAVING THE FULL-SCREEN EDITING MODE $  $ SUGGESTION: USE DIRECT CURSOR POSITIONING $ JTO PUT CURSOR ON THE BOTTOM LINE OF THE SCREEN $ e(11 BYTE MAX) $U :A-ʀ!F#ͣ+g+> !Ϳ)::-2g+[ß $ ENTER THE COMMAND THAT WILL SWITCH TO $  STANDARD INTENSITY OR NORMAL VIDEO $ @ TO RESET THE SCREEN AFTER FULL SCREEN OPERATIONS $  Z (5 BYTE MAX) $K  :A-u !F#ͣ+g+>!Ϳ)::-2g+•Ð $  ô ENTER THE SCREEN WIDTH $  :A- CURRENT VALUE = $  :+ $  ͓*2 $* Program.: CB-CANCL.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Enter cancelled checks * Called from CB-MENU.CMD (.PRG) * enter cancelled check data * USE Cb-check * draw check mask DO Cb-mask @ 1,26 SAY "CHECK CANCELLATION ROUTINE" STORE T TO more DO WHILE more * more is designed for repeated check cancellations STORE 0 TO mcan * input check number to be cancelled @ 20, 0 @ 18,11 SAY "Enter Check Number to be cancelled (or 0 to exit)"; GET mcan PICTURE "####" READ * testing for exit condition IF mcan = 0 STORE F TO more LOOP ENDIF * search for cancelled check number LOCATE FOR Chkno = mcan IF .NOT. Can .AND. .NOT. EOF * if not already cancelled and not at end of file, display check data @ 4,71 SAY Chkno @ 6,68 SAY Date @ 8,25 SAY Payto @ 8,66 SAY Amt PICTURE "#######.##" @ 14,10 SAY Memo @ 18, 0 STORE " " TO answer @ 18,23 SAY "Is this the right check? [Y/N] " GET answer PICTURE "!" READ IF answer = "Y" REPLACE Can WITH T ENDIF ELSE * if not located, clear entry from previous check on screen @ 4,71 SAY " " @ 6,68 SAY " " @ 8,25 SAY " " @ 8,66 SAY " " @ 14,10 SAY " " IF EOF * check is not in file @ 20,21 SAY "Check "+STR(mcan,4)+" cannot be found." ELSE * check is already cancelled @ 20,19 SAY "Check "+STR(mcan,4)+" is already cancelled." ENDIF STORE " " TO wait @ 21,20 SAY "Press any key to continue " GET wait READ @ 20, 0 @ 21, 0 ENDIF CLEAR GETS ENDDO more ERASE * display to the screen a list of remaining uncleared checks ? " LIST OF REMAINING UNCLEARED CHECKS" ? ? "CHKNO PAID TO "+; "AMOUNT DATE MEMO" ? "----- ------------------------------- ---------- -------- --------------" DISPLAY OFF ALL FOR .NOT. Can Chkno, Payto, Amt, Date, TRIM(Memo) ? ? STORE " " TO answer @ 22,13 SAY "Press any key to return to the main menu " GET answer READ * close out open files and variables USE RELEASE mcan,answer,more,wait RETURN * EOF: CB-CANCL.CMD (.PRG) +0 ?))) O +!,+}|++<}1+ $.+ W+ERROR IN INPUT, RE-ENTER $<+ Ó*!7o+ $j+ Ñ+IS THIS CORRECT (Y/N) $z+ _Yë+ $+ +CURRENT SEQUENCE : $+ x~++ $+ #+:;-,,,Ɛ'@'_+o&*9, ILLEGAL PARAMETER$%, J, $G, !, ^# W,Í, FILE IS NOT ON THE DEFAULT DRIVE $i, DBASE COMENT SEQUENCE : $+ x~++ $+ #+:;-,,,Ɛ'@'_+o&*9, ILLEGAL PARAMETER$ k3*/.86028d4-#0-.r2r2/84_721.X8- 7w17f6f63v04$11}/13 ~~~~~~~PPSDEX  =()(*(=7 PPHLKJ  XYKHX7Y PP   YpqqEqY7 PP  ==7 PP   =()((=7 PP   ==7 PP   .P0P   ="!""=7 PP   Y Y7 PPS\D]E^X_  =())=7 (P PP   Y Y7 PPHFKJWO    PP[DCAB  =()((=7 P P &a000y000C&dB&d@&d@ HJH &a23y1CPPDCAB  YEY7 PPDCAB ((?PP   Y0A Y7 PPHLKJ  ==7 PP   =C4 C0 C0 *C0 =7 PP   =*=7 PPHLKJ@  =())*=7 PPHLKJZJBL  =)((*(=7 PPHLKJ  =())*(=7 PPHLKJZJBL  =())*(=7 PPHLKJNIVPZJBL ~~~~~~~~PP  PP   YPBPAPBErY7 PP   ==7 PP   =()(*(=7 PPHLKJ  =AjAka=7 aPP   FEF7 PP  ==7 PP   =)((*=7 PP =7 PP   =()(*(=7 PPHLKJ  =AjAka=7 aPP   FEF7 PP  ==7 PP * Program.: CB-CHECK.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Enter checks * Called from CB-MAIN.CMD (.PRG) * enter new check data USE Cb-check * draw the check mask on the screen DO Cb-mask STORE T TO loop1 DO WHILE loop1 * loop1 is designed to continue entering checks into the database @ 1,60 SAY "LAST CHECK #"+STR(lastchk,4,0) * initialize memory variables STORE lastchk+1 TO mchkno STORE " " TO mdate STORE " " TO mpayto STORE 0 TO mamt STORE " " TO mmemo STORE F TO mcan STORE T TO loop2 DO WHILE loop2 * loop2 is designed to enter and reenter correct data STORE T TO loop3 DO WHILE loop3 * loop3 is designed to check for duplicate check numbers @ 4,42 SAY "(Enter 0 to exit)" @ 4,70 GET mchkno PICTURE "####" READ @ 4,42 SAY " " @ 18, 0 IF mchkno = 0 USE RELEASE loop1,loop2,loop3,answer,is:valid,valid,ans,taxchar,; mchkno,mdate,mpayto,mamt,mmemo,mcan,mtax,word1,word2 RELEASE amt:full,length,amt:word,is:error,count,true,string RETURN ENDIF * test for negative check number IF mchkno < 0 STORE lastchk+1 TO mchkno LOOP ENDIF * check for duplicate check number LOCATE FOR Chkno=mchkno IF .NOT. EOF @ 18,15 SAY "Check number already exists. Please reenter" ELSE STORE F TO loop3 @ 18,0 ENDIF ENDDO loop3 STORE F TO is:valid DO WHILE .NOT. is:valid @ 6,67 GET mdate PICTURE "##/##/##" READ * check for valid date DO Cb-date IF .NOT. is:valid @ 18,25 SAY "Invalid date - please reenter" ELSE @ 18, 0 ENDIF ENDDO STORE F TO valid DO WHILE .NOT. valid * test for name on check - no blank checks allowed @ 8,24 GET mpayto READ IF mpayto = " " @ 18,15 SAY "No blank checks allowed - please reenter" ELSE @ 18, 0 STORE T TO valid ENDIF ENDDO STORE F TO valid DO WHILE .NOT. valid * test for amount less than or equal to 0 @ 8,65 GET mamt PICTURE "#######.##" READ IF mamt = 0.00 @ 18,15 SAY "Check must have an amount - please reenter " ELSE IF mamt < 0.00 @ 18,15 SAY "Check must be a positive amount - "+; "please reenter" ELSE @ 18, 0 * put numbers into words!! STORE mamt TO amt:full DO Cb-nbwd IF is:error @ 20,20 SAY "Number is too large - please reenter" ELSE STORE T TO valid ENDIF ENDIF ENDIF ENDDO IF balance < mamt @ 18,10 SAY "There are not sufficient amount of funds "+; "to cover this check." * erase current check display @ 6,67 SAY " " @ 8,24 SAY " " @ 8,65 SAY " " STORE lastchk+1 TO mchkno STORE " " TO mdate STORE " " TO mpayto STORE 0.00 TO mamt LOOP ENDIF * display words on check STORE " "; TO string STORE LEN(amt:word) TO length IF length > 75 STORE 74 TO count STORE T TO true DO WHILE true IF $(amt:word,count,1)=" " .OR. $(amt:word,count,1)="-" STORE F TO true ELSE STORE count-1 TO count ENDIF ENDDO STORE $(amt:word,1,count)+$(string,1,75-count) TO word1 STORE $(amt:word,count+1,length-count) TO word2 @ 11,4 SAY word1 @ 12,10 SAY word2 ELSE STORE amt:word + $(string,1,75-length) TO word1 @ 11,4 SAY word1 @ 12,10 SAY " " ENDIF * enter memo data @ 14, 9 GET mmemo READ @ 18,0 STORE " " TO answer @ 18,10 SAY "IS THE ABOVE CHECK CORRECT? "+; "[ (Y)es / (N)o / (A)bort ] " GET answer PICTURE "!" READ CLEAR GETS @ 18,0 IF answer$"YA " STORE F TO loop2 ENDIF ENDDO loop2 IF answer $ "Y " APPEND BLANK REPLACE Chkno WITH mchkno,Date WITH mdate,Payto WITH mpayto,; Amt WITH mamt,Memo WITH mmemo,Can WITH mcan STORE balance - Amt TO balance STORE Chkno TO lastchk STORE " " TO answer @ 18,5 SAY "Do you need a record of this check for income"+; " tax purposes? [Y/N] " GET answer PICTURE "!" READ IF answer $ "Y " @ 18, 0 @ 18, 1 SAY "(1) Business expenses (4) Alimony" @ 18,55 SAY "(7) Contributions" @ 19, 1 SAY "(2) Medical or Dental (5) Child Care" @ 19,55 SAY "(8) Miscellaneous" @ 20, 1 SAY "(3) Medicine or Drugs (6) Automotive" STORE 9 TO mtax DO WHILE mtax < 0 .OR. mtax > 8 * enter respective tax deduction STORE " " TO taxchar @ 22, 5 SAY "Enter number which corresponds to tax "+; "deduction (or 0 for none) " GET taxchar READ STORE VAL(taxchar) TO mtax ENDDO ELSE STORE 0 TO mtax ENDIF REPLACE Tax WITH mtax @ 18,0 @ 19,0 @ 20,0 @ 22,0 ENDIF STORE " " TO answer @ 18,10 SAY "Would you like to enter another check? [Y/N] "; GET answer PICTURE "!" READ @ 18,0 IF answer = "N" STORE F TO loop1 ELSE @ 6,67 SAY " " @ 8,24 SAY " " @ 8,65 SAY " " @ 14, 9 SAY " " @ 11, 4 SAY "__________________________________________________" @ 11,54 SAY "_______________Dollars" @ 12,10 SAY " " ENDIF ENDDO loop1 USE RELEASE loop1,loop2,loop3,answer,is:valid,valid,ans,taxchar,mchkno,mdate,; mpayto,mamt,mmemo,mcan,mtax RELEASE amt:full,length,amt:word,is:error,count,true,word1,word2,string RETURN * EOF: CB-CHECK.CMD (.PRG)  SAY " " @ 14, 9 SAY " " @ 11, 4 SAY "__________________________________________________" @ 11,54 SAY "_______________Dollars" @ 12,10 SAY " " ENDIF ENDDO lo=$A=$B=$D=$H=$ F'=$ A'=$B'=$D'=$H'=$X=$Y=$I=$ S=$P=$  h QLYٶ -1⹶ < Hh`F A B D H F' A' B'D'H'X Y I S P ``HHHȑȑ hhh`)i LkЊ8 Lk8`)8 Lɰ i Li`ȑL8ȩ ` 8` `    `HHH hhh(` O  ` O ` O 8`` O ` O 8``:>2̀;;2!9 "">2!. "!6 " >2*s#r#q#p#s#r#s#r* s#r#q#p#s#r#s#r*s#r#s#r*Ww_#w* !9s#r:(* * >2"*w* ^#V: **^#V>2*~O+~G*^#V#^#V*V+^+V+^+F+N+V+^*^#V#N#F#^#V#^#V((`B:TRANSFER.RELDTRANSFERRELUGhE|:RUS@QI:p[VFr\*!eTCHKNON٪PAYTOCݪAMTN CANLDATECMEMOCTAXN' : " @ 15,41 GET mselect PICTURE "#" READ * reading user response STORE VAL(mselect) TO select ENDDO * process user's response DO CASE * test for exit condition CASE select = 0 RELEASE mselect,select * retain variables - 'balance', 'lastchk' and 'lastdep' SAVE TO Cb-book.mem * clear variables and return to calling program or dbase system CLEAR ERASE RETURN * test for new chec RETURN ?"You didn't enter &CHECK.. Please try again." LOOP "If you would like to try to correct the statement, enter Y when" ?"prompted. Otherwise, enter N, and then re-enter the entire command." DO TEACHC ENDIF IF COMMAND # CHECK ?"I'm afraid that's still not right. Please enter:" ?" &CHECK" LOOP ELSE STORE 1 TO OK SET TALK ON &COMMAND SET TALK OFF ENDIF ENDDO STORE ' ' TO PROMPT * Program.: CB-CLEAR.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Clear deposits * Called from CB-MENU.CMD (.PRG) USE Cb-bank ERASE @ 1,20 SAY "Clear Deposits with Bank Statement" @ 2,20 SAY "----------------------------------" @ 3, 5 SAY " Date Amount " @ 4, 5 SAY "-------- ----------" IF lastdep>10 @ 3,45 SAY " Date Amount " @ 4,45 SAY "-------- ----------" ENDIF IF lastdep > 20 STORE 20 TO stop ELSE STORE lastdep TO stop ENDIF STORE 1 TO col,count STORE 5 TO row DO WHILE count <= stop LOCATE FOR Num=count @ row,col SAY Num @ row,col+4 SAY Date @ row,col+15 SAY Amt IF count = 10 STORE 41 TO col ENDIF STORE count+1 TO count IF count > 10 STORE count-6 TO row ELSE STORE count+4 TO row ENDIF ENDDO STORE T TO loop1 DO WHILE loop1 STORE -1 TO number DO WHILE number < 0 .OR. number > stop STORE " " TO mnumber @ 16,15 SAY "Enter number of corresponding deposit listed on" @ 17,21 SAY "bank statement (or 0 to exit) " GET mnumber READ STORE VAL(mnumber) TO number ENDDO @ 19,0 IF number = 0 STORE F TO loop1 LOOP ENDIF IF number > 10 STORE 39 TO col STORE number-6 TO row ELSE STORE 0 TO col STORE number+4 TO row ENDIF LOCATE FOR Num=number IF EOF @ 19,22 SAY "Already cleared - please reenter" ELSE STORE " " TO answer @ 19,25 SAY "Is this correct? [Y/N] " GET answer PICTURE "!" READ @ 19,0 IF answer $ "Y " REPLACE Clear WITH T,Num WITH 0 @ row,col SAY " " ELSE @ row,col SAY " " ENDIF ENDIF CLEAR GETS ENDDO STORE 0 TO count LOCATE FOR .NOT. Clear IF EOF @ 22,22 SAY "There are no deposits in transit" STORE 0 TO lastdep ELSE STORE T TO loop2 DO WHILE loop2 STORE count+1 TO count REPLACE Num WITH count CONTINUE IF EOF STORE count TO lastdep STORE F TO loop2 ENDIF ENDDO @ 22,22 SAY "There are "+STR(lastdep,2,0)+" deposits in transit" ENDIF USE * release memory variables RELEASE stop,col,row,count,loop1,number,mnumber,answer,loop2 * EOF: CB-CLEAR.CMD (.PRG) ar IF EOF @ 22,22 SAY "There are no deposits in transit" STORE 0 TO lastdep ELSE STORE T TO loop2 DO WHILE loo*| *"* +"*"z *#*Q *#*J "!"] **ډ 6 G=*DM >:: >,6 T=* 6 , S=* 6 , PS=* Ϳ~#Z #- Z #BK ,H. A~ ; ~   "#y * ~ ;#~ ;,- "͙ { yZ *. ~ ;:y 26 ++Can't read - not positioned Position by: Track then Sector, or Group >< >>: x y   0   | {0> >*F~N Q #~7 #͙ zo {o ƀ_ɯ26 ++BAD DISPLACEMENT (NOT 0-7F) ~# ~ ;,->#0: AG0))))oâ #~ ;,-#0:0bk)))o|g 6 :!WOʲ Ubbʚ| w#K+>*w> !Wɯʲ+yv~͇͇}  $6 Ϳ!W~ #ä>^>U > > `_O > :4   :y >2, ,:<2:8*ڤ"BK*"*`iҀ:š+Ú* :g:š&i"DMɯ26 ++not within tracks 0-* 6 ++ >226 ++READ failed, sector may be invalid++ :O26 ++CANNOT WRITE UNLESS READ ISSUED s26 ++WRITE failed++ 6 Operands in brackets [...] are optional Numeric values: 'n' are decimal, 'x' hex +[n] step in [n] sectors; -[n] step out [n] sectors # print disk parameters for curr drive. =xxx search for ASCII xxx from curr sector. Caution: upper/lower case matters. Use for hex: To find "IN 0" use: =<0> or "(tab)H,0(CR)(LF)" use: =<9>H,0 < save current sector into mem. buff. > restore saved sector ? give help A[ff,tt] ASCII dump (Type any char. to continue) C Change: CHaddr,byte,byte... (hex) or CAaddr,data... (Ascii) Allowed for imbedded hex. or CHfrom-thru,byte e.g. ch0-7f,e5 or CAfrom-thru,byte D[ff,tt] Dump (hex+ASCII) Fn.t Find file Gnn CP/M Allocation Group nn H[ff,tt] hex dump L Log in drive Lx Log in drive x M[nn] Map [from group nn] (Type any char. to continue) N New disk P Toggle printer switch Q Quiet mode (no msgs) R Read current sector Snn Sector nn Tnn Track nn Unn Set User nn for Find command (CP/M-2 only) V[nn] View [nn] ASCII sectors W Write current sector X Exit program Z[nn] Sleep [nn tenths] /[nn] Repeat [nn (decimal) times] (Type any char. to continue) Cancel a function with C or Ctl-C. Suspend output with S or Ctl-S. Separate commands with ";". Example: g0 +;d;z#20;/ would step in, dump, sleep 2 sec, and repeat until control-c typed. All "nn" usage except "/", "T", and "S" are HEX. Use #nn for decimal. See DU.DOC for complete examples. y#x}/o|/g#ɷ|g}o  }o|gBKx-!: T]x: 0:OÅ*.:^#"^#"~#2~#2^#"^#"^"!~:w* ""wmple: g0 +;d;z#20;/ would step in, dump, sleep 2 sec, and repeat until control-c typed. All "nn" usage except "/", "T", and "S" are HEX. Use #nn for decimal. See DU.DOC for complete examples. y#x}/o|/g* Program.: CB-DATE.CMD (.PRG) * Author..: Luis A. Castro * Date....: 8/2/83, 11/20/83. * Notice..: Copyright 1983, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes...: Subroutine to verify a date. * PARAMETERS------------------------------------------------+ * name typ len picture description * ========== === === ========== ======================= * mdate C 8 MM/DD/YY Calendar date * (or) mdate C 10 MM/DD/YYYY Calendar date * is:valid L 1 Validation flag. * ----------------------------------------------------------+ STORE F TO is:valid IF 0 = TEST(MDATE) .OR.; ( LEN(mdate) <> 8 .AND. LEN(mdate) <> 10 ) .OR.; @(" ",mdate) > 0 .OR. @("-",mdate) > 0 .OR.; @(".",mdate) > 0 .OR. @("+",mdate) > 0 * ---The memory variable "mdate" must exist and * ---must not contain special characters. RETURN ENDIF * STORE VAL( $(mdate,1,2) ) TO t:month STORE VAL( $(mdate,4,2) ) TO t:day IF LEN(mdate) = 8 STORE VAL( $(mdate,7,2) ) TO t:year ELSE STORE VAL( $(mdate,7,4) ) TO t:year ENDIF * DO CASE CASE t:month < 1 .OR. t:month > 12 .OR. t:day < 1 .OR.; t:day > VAL( $("312931303130313130313031",; ( t:month - 13*INT(t:month/13))*2 - 1, 2 ) ) * CASE LEN(mdate)= 8 .AND. t:month=2 .AND.; t:day > 28 .AND. t:year/4 > int(t:year/4) * CASE LEN(mdate)=10 .AND. t:month=2 .AND.; t:day > 28 .AND. ( (t:year/4 > INT(t:year/4) .AND.; t:year/100 = INT(t:year/100)) .OR.; t:year/400 > INT(t:year/400) ) * OTHERWISE STORE T TO is:valid ENDCASE * RELEASE t:month,t:day,t:year RETURN * EOF: CB-DATE.PRG (.CMD)  ( t:month - 13*INT(t:month/13))*2 - 1, 2 ) ) * CASE LEN(mdate)= 8 .AND. t:month=2 .AND.; t:day > 28 .AND. t:year/4 > int(t:year/4) * CASE LEN(mdate)=10 .AND. t:month=2 .AND.; t:day > 28 .AND. ( (t:year/4 > INT(t:year/4 DESTROY EXISTING FILE? (Y/N) *** UNKNOWN COMMAND COUNT = ENTER RECORD STRUCTURE AS FOLLOWS:: FIELD NAME,TYPE,WIDTH,DECIMAL PLACES INPUT DATA NOW? & MACRO IS NOT A CHARACTER STRING RECORDS COPIED BAD FILE NAME COMMAND FILE CANNOT BE FOUND7 NESTING LIMIT VIOLATION EXCEEDED DELETION(S)t *** END RUN dBASE II *** TOO MANY RETURNS ENCOUNTERED7 ENTER RECORD #,FIELD (# OR NAME),NEW VALUE+ ILLEGAL DATA TYPE CALLED FROM CORRECT AND RETRY? FILE HAS BEEN DELETED ILLEGAL GOTO VALUE2 SYNTAX ERROR, RE-ENTER CANNOT INSERT - THERE ARE NO RECORDS IN DATABASE FILE END OF FILE ENCOUNTERED END OF LOCATE SCOPE MACRO NOT FOUND PACK COMPLETE, RECORDS COPIED RECALL(S)~ COL WIDTH,CONTENTS DOUBLE SPACE REPORT? (Y/N) REPLACEMENT(S) ENTER REPORT FORM NAME: ENTER HEADING: DATA ITEM NOT FOUND "WITH" PHRASE NOT FOUND ENTER SUBTOTALS FIELD: SUBTOTALS IN REPORT? (Y/N) PAGE HEADING? (Y/N) > ENTER PAGE HEADING:  RECORDS SORTED "TO" PHRASE NOT FOUND** SUBTOTAL ** NO EXPRESSION TO SUM: NON-NUMERIC EXPRESSION> MORE THAN 5 FIELDS TO SUM *** SYNTAX ERROR *** ARE TOTALS REQUIRED? (Y/N) RECORD IS LOCKED...WAITING SUMMARY REPORT ONLY? (Y/N) INDEX FILE CANNOT BE OPENED VARIABLE CANNOT BE FOUND SOURCE AND DESTINATION DATA TYPES ARE DIFFERENT "ON" PHRASE NOT FOUND *** NUMERIC FIELD OVERFLOW SYNTAX ERROR IN FORMAT SPECIFICATION "FIELD" PHRASE NOT FOUND3 CANNOT OPEN FILE FORMAT FILE CANNOT BE OPENEDQ COORD: CORRECT AND RETRY (Y/N)? CHANGE FROM : CHANGE TO : MORE CORRECTIONS (Y/N)? O ENTER FILENAME: ** TOTAL ** RECORD: NO FINDPAGE NO. SINGLE STEP Y:=STEP, N:=KEYBOARD CMD, ESC:=CANCEL WAITING 7 FLD NAME TYPE WIDTH DECE STRUCTURE FOR FILE: ENTER OPTIONS, M=LEFT MARGIN, L=LINES/PAGE, W=PAGE WIDTH ENTER SUBTOTAL HEADING: 0 ENTER SUBTOTAL FOOTING: EJECT PAGE AFTER SUBTOTALS? (Y/N) NO "FOR" PHRASE JOIN ATTEMPTED TO GENERATE MORE THAN 65,534 RECORDS NO "FROM" PHRASEG KEYS ARE NOT THE SAME LENGTH PRIMARY USE DATABASEY SECONDARY USE DATABASE NUMBER OF RECORDS: DATABASE IN USE IS NOT INDEXEDH MORE THAN 7 INDEX FILES SELECTED% MODIFY ERASES ALL DATA RECORDS ... PROCEED? (Y/N) ENTER TODAYS DATE OR RETURN FOR NONE  DATE OF LAST UPDATE: RECORDS INDEXED RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000) *** ZERO DIVIDE *** BEYOND STRING *** OVERLAY CANNOT BE OPENED ENTER RECORD # : RECORD NOT IN INDEX INDEX DOES NOT MATCH DATABASE* Program.: CB-DEPST.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Enter deposits * Called from CB-MAIN.CMD * enter new deposit data USE Cb-depst GO BOTTOM STORE #+1 TO firstdep * initialize logical memory variables STORE F TO special,again STORE T TO continue DO WHILE continue * continue loop is for continuing entering a deposit slip ERASE @ 3, 0 SAY "+--------------------------------------------+" @ 4, 0 SAY "|" @ 5, 0 SAY "|" @ 6, 0 SAY "|" @ 7, 0 SAY "|" @ 8, 0 SAY "|" @ 9, 0 SAY "|" @ 10, 0 SAY "|" @ 11, 0 SAY "|" @ 12, 0 SAY "|" @ 13, 0 SAY "|" @ 14, 0 SAY "|" @ 15, 0 SAY "|" @ 16, 0 SAY "|" @ 17, 0 SAY "|" @ 18, 0 SAY "|" @ 19, 0 SAY "|" @ 20, 0 SAY "+--------------------------------------------+" @ 19,45 SAY "|" @ 18,45 SAY "|" @ 17,45 SAY "|" @ 16,45 SAY "|" @ 15,45 SAY "|" @ 14,45 SAY "|" @ 13,45 SAY "|" @ 12,45 SAY "|" @ 11,45 SAY "|" @ 10,45 SAY "|" @ 9,45 SAY "|" @ 8,45 SAY "|" @ 7,45 SAY "|" @ 6,45 SAY "|" @ 5,45 SAY "|" @ 4,45 SAY "|" @ 6, 3 SAY "========================================" @ 7,30 SAY "|" @ 8,30 SAY "|" @ 9,30 SAY "|" @ 10,30 SAY "|" @ 11,30 SAY "|" @ 12,30 SAY "|" @ 13,30 SAY "|" @ 14,30 SAY "|" @ 2,18 SAY "DEPOSIT SLIP" @ 5, 9 SAY "RECEIVED FROM" @ 5,34 SAY "AMOUNT" @ 16,15 SAY "SUBTOTAL" * initialize memory variables STORE 0.00 TO subtotal,total,cash @ 16,32 SAY subtotal * enter date if first time through loop IF .NOT. again STORE F TO is:valid,c DO WHILE .NOT. is:valid STORE " " TO mdate @ 4,5 SAY "ENTER DATE OF DEPOSIT " GET mdate PICTURE "##/##/##" READ @ 4,48 IF mdate=" / / " @ 4,55 SAY "NO DATE ENTERED" STORE " " TO ans @ 5,48 SAY "Do you wish to abort? [Y/N] " GET ans PICTURE "!" READ IF ans = "Y" USE RELEASE firstdep,special,again,continue,subtotal,total,; cash,is:valid,mdate,ans RETURN ENDIF @ 4,48 @ 5,48 ELSE DO Cb-date IF .NOT. is:valid @ 4,48 SAY "Invalid Date - please reenter" ELSE STORE " " TO answer @ 4,48 SAY "Is this correct? [Y/N] " GET answer PICTURE "!" READ @ 4,48 IF answer = "N" STORE F TO is:valid ENDIF ENDIF ENDIF ENDDO is:valid ENDIF @ 4,4 SAY " Date of Deposit: " @ 4,25 SAY mdate STORE 7 TO line STORE F TO restart STORE T TO loop2 DO WHILE loop2 * loop2 is for updating incorrect deposit slip STORE T TO more DO WHILE more * more is for entering and updating individual deposit entries IF line > 14 @ 16,15 SAY " " @ 20, 0 @ 23, 0 @ 0, 0 @ 19, 0 SAY "|" @ 19,45 SAY "|" @ 20, 0 SAY "+--------------------------------------------+" @ 14,30 SAY "|" @ 16,15 SAY "SUBTOTAL" @ 16,32 SAY subtotal STORE 14 TO line ENDIF * if second time through loop IF again IF .NOT. special STORE Paidfrom TO mpayfrom STORE Amt TO mamt ENDIF * display deposit information @ line,4 SAY mpayfrom @ line,32 SAY mamt IF .NOT. special STORE " " TO ans @ line,48 SAY "Is this correct? [Y/N] " GET ans PICTURE "!" READ ENDIF @ line,48 CLEAR GETS IF ans = "N" .OR. special STORE " " TO an @ line,52 SAY "Do you wish to delete" @ line+1,50 SAY "this transaction? [Y/N] " GET an PICTURE "!" READ @ line,48 @ line+1,48 IF an = "Y" * erase current deposit from screen... @ line,3 SAY " " @ line,31 SAY " " DELETE SKIP IF EOF STORE F TO more ENDIF LOOP ELSE IF special REPLACE Paidfrom WITH mpayfrom,Amt WITH mamt ENDIF ENDIF ELSE STORE subtotal + mamt TO subtotal @ 16,32 SAY subtotal SKIP IF EOF STORE F TO more ENDIF STORE line+1 TO line LOOP ENDIF ELSE STORE " " TO mpayfrom STORE 0.00 TO mamt STORE F TO loopamt ENDIF STORE F TO special * this routine is to enter deposit data @ line,3 GET mpayfrom READ IF mpayfrom=" " @ line,3 SAY " " @ line,29 SAY " " @ line,31 SAY " " IF again STORE T TO special LOOP ENDIF STORE F TO more LOOP ENDIF STORE T TO loopamt DO WHILE loopamt * make sure a positive amount is inputted @ line,31 GET mamt READ IF mamt <= 0 STORE 0.00 TO mamt ELSE STORE F TO loopamt ENDIF ENDDO * display subtotal to screen STORE subtotal + mamt to test @ 16,32 SAY test STORE " " TO ans @ line,48 SAY "Is this correct? [Y/N] " GET ans PICTURE "!" READ @ line,48 CLEAR GETS IF ans = "N" @ 16,32 SAY subtotal @ line,31 SAY " " LOOP ENDIF * delete colons from the screen surrounding each input @ line,3 SAY " " @ line,29 SAY " " @ line,31 SAY " " @ line,42 SAY " " STORE subtotal + mamt TO subtotal * now add a record (if first time through)... IF .NOT. again APPEND BLANK ENDIF REPLACE Paidfrom WITH mpayfrom,Date WITH mdate,Amt WITH mamt IF again SKIP IF EOF STORE F TO more ENDIF ENDIF STORE line+1 TO line ENDDO more IF subtotal = 0 @ line,52 SAY "NO DEPOSITS ENTERED" STORE " " TO ans @ line+1,48 SAY "Do you wish to abort? [Y/N] " GET ans PICTURE "!" READ @ line,52 @ line+1,48 IF ans = "Y" PACK USE RELEASE firstdep,special,again,continue,subtotal,total,cash,c,; is:valid,mdate,line,restart,loop2,more,mpayfrom,mamt RELEASE loopamt,test,ans,answer,an RETURN ELSE IF again PACK STORE T TO restart STORE F TO loop2 ELSE LOOP ENDIF ENDIF ELSE STORE F TO loop2 ENDIF ENDDO loop2 IF restart STORE F TO again,special RELEASE line,restart,loop2,more,mpayfrom,mamt,loopamt,test,answer,an LOOP ENDIF @ 18,30 SAY "-------------" @ 17,15 SAY "LESS CHANGE" STORE 0.00 TO total DO WHILE total <= 0.00 @ 17,31 GET cash READ @ 22,0 STORE subtotal-cash TO total IF total <= 0.00 @ 22,10 SAY "Cash withdrawal exceeds deposit - please reenter" ENDIF ENDDO IF cash <> 0 @ 17,31 SAY "<" @ 17,42 SAY " >" ELSE @ 17,31 SAY " " @ 17,42 SAY " " ENDIF @ 19,15 SAY "TOTAL DEPOSIT" @ 19,32 SAY total STORE " " TO answer @ 22, 6 SAY "Is the above deposit slip correct? "+; "[ (Y)es / (N)o / (A)bort ] " GET answer PICTURE "!" READ IF answer = "N" GOTO firstdep STORE T TO again LOOP ENDIF IF answer = "A" @ 22,0 @ 22,12 SAY "ABORTING ABOVE DEPOSIT" GOTO firstdep DO WHILE .NOT. EOF DELETE SKIP ENDDO PACK ENDIF IF answer$"Y " STORE balance + total TO balance IF cash > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH -cash,Paidfrom WITH "Cash Withdrawal" ENDIF IF again PACK STORE F TO again ENDIF STORE lastdep+1 TO lastdep USE Cb-bank APPEND BLANK REPLACE Date WITH mdate,Amt WITH total,Num WITH lastdep,Clear WITH F USE Cb-depst ENDIF STORE " " TO answer @ 22,0 @ 22, 3 SAY "Would you like to enter another deposit? [Y/N] "; GET answer PICTURE "!" READ IF answer = "N" STORE F TO continue ELSE GO BOTTOM STORE #+1 TO firstdep RELEASE line,restart,loop2,more,mpayfrom,mamt,loopamt,test,answer,an ENDIF CLEAR GETS ENDDO continue USE RELEASE firstdep,again,continue,subtotal,total,cash,c,is:valid,mdate,; line,more,mpayfrom,mamt,loopamt,test,ans,an,answer RELEASE special,loop2,restart RETURN * EOF: CB-DEPST.CMD (.PRG) GET answer PICTURE "!" READ IF answer = "N" STORE F TO continue ELSE GO BOTTOM STORE #+1 TO firstdep RELEASE line,restart,loop2,more,mpayfrom,mamt,loopamt,test,answer,an ENDIF CLEAR GETS ENDDO continue USE RELEASE firstdep,again,continue,subtotal,total,cash,c,is:valid,mdate,; line,more,mpayfrom,mamt,loopamt,test,ans,an,,>:5q6͌9OV9Q$RxIR/R*VͬOQ*V"V~ Qͫ.IR7F'̀-ͬ:eDͽ9ځRf9@VR\9ͅR>* WDM*V!VrVRg'ɯ2V2V:oD›R: ›R!"V!"Vf9$½R\9,.R+U}2 Wͅ62Uf9$R\9 .R+U}2 W2ƛ2Ǜ!Ǜ"Vf9Vͤ7Ś9>2Vf9~UEV61#Ns#FrxN2PVZS2TVyPSA2QV>C2PVZS2QV>L2PV!Ǜxͮ66f9Vͤ7Ś9f9͑6U\9x7U#́9!ͮ662>2Vf9Vͤ7T́9f92U*2U"VS>Rc;>2bDÚ9f9TVͤ72Ú9f9͑6U\9x7Ú9!"Vͮ662:V!~ :V!:PVNT~9T.9T#+T"W!Ǜ~MT.MT#?T" W*W+~ʮT$ʖT*ʖT#ʠT9ʠT,UTʃT-ʠT UT+~$ʑT*ʑT> #wUTUT UTʩTwTT6 UT* W*W~+UT#T~+U#T9TwÿT~+U#T9T#T60#T!Ǜ~+UXU%Uw#T9U# U͞6%Uw#T6 #T!"V>Vc;>2bDU"Vͬ!V6(6!"V*V N! :T_ 6kUy2W*VO:U!V > 6*VV~ʜU#ÑUV*VDM!Vr*V:Wg"V*V"V~ UU>2bDU>2bDU͵>!Eú;TTT@@Ȅ@@@PR@brpb@@@@@@@d\,/y /y@ǛBEFOREBLANKCHANGE? DELIMITEDTO: FIELDFROMGETPICTURERECORD SAYSDFRECORD # TO USING+:7 º0G ʷ0>ʺ0N0<29̝ 90͝ TO: FI$E8JôKL'OOàPÎQQÏRYSùS%2_V2]V2^V2ZV2[V2\Vƙq8!~"qVf9[F%HTf9[FUͤ7|E"aV́9ʹ'#J>2_VLEbUͤ7E>2]V́9!ƙ6 "sVf9*£E>*JV9͙(ʳE>R*J*sVk8!6 "sV*qV6-#6665"qV́9f9,LE\9ÕEUͤ7F>2^V́9f9YUͤ7LE>2\V́9LEVͤ7)F>2ZV́9LE*Uͤ7HT>2ZV2[V́9f9Uͤ7LÉ9f9HT2OV\9LE:_V(J*aV́9:ZVsFuF>ʹ'>+B'2@D:ZVºF!6#w#w#+++++k8:\V\I ͜.:^VIg'Ǜ!ƙ{%!a&!"sVI!d"oV͠,|I'PIIPI*sV#"sV*oV+"oV| G:pD G*sV6(6>'c;!d"oV:]V-H:[VGG*ęDM!Ǜ> 6!~ Ǜ1H!~"lV!Ǜ"wV*lV~5H#6##"lV ~NG#F#6*wVyʃG6,#:OV,ʍGw#d8xͮ6+~ ¡G–G#:OV,ʲGw#"wVH+~ ¾G+³G#"wVH#F#6*wVyG6,#:OV,Gd8xͮ6"wVH~# GHGG"wVH60#"wV UGǛ*wV6 #6 #6DM:@D%PI:ZVLH*ęDM:@DF'͜.g'PI:[VmH*ę6 #6 :@D*ęDM%PI!Ǜ"wV"qV*qV~ 9I ~NH#F#6*wVyʟH6,#:OV,ʩHw#d8xͮ6+~ ½H²H#:OV,Hw#"wV+I+~ H+H#"wV+I#F#6*wVyH6,#:OV, Id8xͮ6"wV+I~# I$I I I"wV+I60#"wV*qV"qV {HǛ*wV6 #6 #6DM:@D%N+IFI!UƙAq8 ͜."gV!"sV*gV~ IǛ>  ~–I> #I#~#~cT###~cT*gV"gVǛ͜.*sV#"sV}I:pDI*sV6(6>'c;:@DF'&:\VI:^VJ:ZVJ̀-*sV!6#6͜.J%2@Dg'[T>(*J>Hc;g'>2bD[TC)%!~"lV>A2V2vV2uV2`V2yV!yV"qVf9%HTf9FKUͤ7J:uV<2uVүK*lVHT>2`V"lV#6xʪK!V4y*! 66*lV6)#66#6/#665"lV*qV60#665"qVV9FK,\J\9\J́9>2vV!yV"qVf9FK*K̀**qV~ʥK#6"qVbk 6f9*V9~w6.K_# %Ḱ9f9,\J\9J:`VʥK!a&tK'kKtKkK!~ N+tKVK:pDʄK!yV6 >A2V:vV[T!yV~5[T#6̀*ÓK>J*J>K*J>L*JV9Uͤ7HT́9f9ƙ͑6HT6\9HTK\9f9K,HT\9f9K"sV!Ǜ"wV*sV++"sVƙͳ6L4L6͑6*wV~*L#L6#"wVK*wV6!ǛBL' |YL020V.V.V~ʃL #wLy2.V#~rL.V |LO 6:MD2\2YVf9ʔMUͤ7Ḿ9f9HT_@2\\9:L\9LnUͤ7HT́9f9HT!V>  6VV9ʌM ʌM.[M*KMaBM_\9(M6?#LM\9.ŒM\9VʌM ʌM*ʁMaxM_\9cM6?#‚M\9>2YVL6:YV¹M!sU6!"V] q8M6[T!V] q8M6[T!V"V6 \NM!U6*V:YVN q8 "V6 OM!V"V6*V~ :YVN]q8"V2h!],q6,e62|\N\®Nog(6e6-6>/5-6>/5-66:_N\N>c;6:_N\N!U66N,>.5,"VNe6k6N6NO\O7(5 ~5>)5n6~NʄO#~2TVzO<2fV2UVÕO#~2UV###~2TV>2fV!PV :fV*jVͮ6#"jV~ 4O6>`c;e6:iV-6!4U6*jV(6!FU6[T2]V2[Vf9PiUͤ7 Ṕ9>ʹ'>2]V>+O>XSTUͤ7HT́9>2[VO:]VHT:[V.P')yV́,ڗP! ~UPcP#Ny<2nVkP#F###N>2nVkP>2nV!yVy*"WV:nVOV́,*WV 6:nVO!Vk8.PJ%g'[T2]V2[Vf9QUͤ7Ṕ9>ʹ'ډQ>+ډQB'2@D"gV>2]VçP&Uͤ7HT́9f9HTnUͤ7HT́9f9HT"sV\9 QQ>2[VçP:]VʄQ*gV~dQ:[V8Q*sV͎TdQ͜.! F#N#6xXQ]Q _Q_Q͜.*gV"gV~ Q&J%2@Dg'[T>HST>(ST2[VV9nUͤ7ʯQ>2[VV9RUͤ7HT́9f9HT"qV"gV*gV~Q*qV:[VQ͎TQQ͎TQ̀**gV"gV~ Q[T%2_V%HTf9;RUͤ7HT́9f9HTy*"sV>2_V\9;R -RR1,|bR!a&bR'YRbRN+bROR:pDsR>"c;`i(6:_V[T`i 4*sV 64[T>gc;g'B'%>rc;1,(6>wc;+++++-6>/5-6>/5-6W.R>pc;R>qc;>fc;~ ?S 6y56e6 ,k6 ~5h6#~56h6###F~k6x4S56k6R6>`c;e6e6k6͋)(6[T>ec;́:mS:cDqDf9ʵSUͤ7HT́9f9HT*S̀*y* 66# ҩS> w5> 5[T[Tf9>ʹ'>+T2@D:@DǛ͸% TțT}2eV TT"cVT}*cVw#"cV!eV5SSJ%2@Dg'[T>XST!G'T_05T O))))  Tg'>2bD[Tc;>2bD>!Eú;&od{T {T{T/}o|g~T zʵT ʵT*ʷT?ʰTw6ڬT_·T#ÐT~TTT@@Ȅ@@@PR@brpb@@@@@@@d\,ADDITIVEALLDELIMITED VARIABLES USED BYTES USEDEXCEPTEXTENDEDFIELDSFROMLIKEDATABASE FILES # RCDS LAST UPDATENoneONSTRUCTURETOFILE UNAVAILABLEWITHFIELD:NAMEC FIELD:TYPEC FIELD:LENN FIELD:DECN A::::::::ASDF ????????DBF$$$ SUB').:52:TYPEC FIELD:LENN FIELD:DECELDFROMGETPICTURERECORD SAYSDFRECORD # TO USING+:7 º0G ʷ0>ʺ0N0<29̝ 90͝ TO: FI EðEEf9G2G2Gf9}EGͤ7SÉ9f9"G~GV9~@E+"G#~O#F>2GEGͤ7G͑#́9f9>ʹ'uE>(c;!G>2GE:G>TG:G>HG>+B'ͫ#*G*GB'g'ͮF&Gͤ$&Gͩ$"G*G~E2G":pDE6!G6:G%#JͮF*G#"GüEͼ#"H!&GTDATEC٪AMTN PAIDFROMC ==============================" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "||" @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "||" @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "||" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "========================================" @ 12,40 SAY "========================================" @ 5,29 SAY " 0. exit" @ 6,29 SAY " 1. mailing labels"9_Y G>27Q̀M2YQ:3Q G>Nc;HMf9_YBG>2YQ!Ny*"AQ2KQ̀M:YQXH:3QXG>Dc;HMf9_YjG>2JQ̀M:JQXH:3Q€G>Cc;HM\QқG:3Q¥M>4c;{G̀M:3QªG>Pc;HMf9_Y¼G>2QQ̀M2RQ:3QG>kc;HMf9_YG>2RQ̀M:3QG>ic;!Y6+HM H HY> >7HYV9< H>(H-H\9>-H\9>@2;Q7GO2ỲM!Yyͮ662#q#:;Qw#q#:@Qw#65:3QdH>2PQ:3QœH6:PQ56e6HMf9J7{2OQ́9~,M\9*5QMf9M:QQH62#N#FxHw#:OQw#:@Qw#65"5QH"5Q#6̀M:3Q I>@c;*9Q6+#"9QHM I1I*9Q> 2;Q>^I*9Q#V9OITI\9>TI\9>@2;Q7HÒM*9Qqyͮ6#62#q#:;Qw#:OQw#:@Qw#65"9QxʸJ:YQʸJ:3QI>Nc;HM̀Mf9_Y¸J*AQ6/#6:QQI6)#662#6:OQw#:@Qw#6)#6*0N"WQ!"0N! p!q6)#66#6/#6:JQ?J*AQ6)#6*0N"LQ!"0N! p!q6)#66#6/#665"5Q*WQ*ZQ6)#662#6:KQ_:OQw#6#65"ZQ:JQʞJ*LQ*SQ6)#662#6:KQG:OQw#6#6#6/#665"SQ2KQ:PQ<2PQ:OQ_:@Q<2@QÉH:OQ_:KQ<2KQ:@Q<2@Q:PQ<2PQÉH:3QJ:fDF'&:fDF'J%2fDg':DQ_;!">Q!a&:JQʆK!\QR~5"K#K#N#F!N4y*"EQ6/#6656)#*EQ66xRK6#65!S60#*EQ665tK'€KڽLN+ʽLڽLeK!\Q 8;:mDʟK6#;ßK6#;22Q:4QK6͌M>cc;*>Q#">Q(6e6!A6͌M:ADK-6>/5:BD-6>/5:CD-66͌M:NQK!jT 6͌M!sU ͌M:JQ+L͌M>*5q6!Y !S cL:2Q™K@;O:*5q6!Y !S +LM:YQL:$R5L͌M>`c;͌M!$R !N*L̀*!N5~AL6A6:CQ_;ÝM:3Q¥M>4c;ÉH:JQ:IS51M͌M>Ic;͌M!IS !\Q :RQDM>22Q6:3QgM͌9V9:fDF'J%g'ÝM:fDͽ9V9w\9pMͅ9V9:3Q:fD:6:=QOyq6 ÓM>!Eú;>2bDÝMTTT@@Ȅ@@@PR@brpb@@@@@@@d\,A::::::::AFORMPLAINPRINTTO2N"7ĩ,rY 7˜{ *#xY'͑Gö=~Y7~#"#7!'Y(t 'tYt't Y :6:7Y7!8G~Y.(p~(Yt v(/Yͨ #~ŒY#+"7>2Y7F#>27YÞ ©Y ͸(#~d¯(Yw,ʇ(tYw͌â(~8Y#w#w#w" Y†x 27Y7̈́ x6"Yä" 7(xY* 7͸(#~Y w#s#r#Y#r6D:Y*:6+!Z)!8~W)!ZW)!:#Zy) y)yZ) ])!8Zͩ#!G" Zڵ)"7~w#&Z*~ʎ)#^#V,ZÎ)*7 2Z*7{ĩ8Z"a!>Z7r!S+DZͥ5\!H+JZͥ5\+*PZ)*:9<VZ28/*!*\Z*/+*6|dbZD:9<>,JChZ9<282nZ/++rtZ̓ͩ*zZ**z*Z:9ʡ*Z7DwDNoZt/+*6|dbZD:9<>,JChZ9<282nZ/++rtZ̓ͩ*z'[T>HST>(ST2[VV9nUͤ7ʯQ>2[VV9RUͤ7HT́9f9HT"qV"gV*gV~Q*qV:[VQ͎TQQ͎TQ̀**gV"gV~ Q[T%2_f9Nͤ7EnNͤ74Ń9TH>uc;58,N,NC)!Q > 6!5Q w @Eƙq8!ƙ"O!O"O!"O*O~ ʪE*O 6 ~ʁE#{E~N###~N*O"O*O"OdE!O"Oͬ!"O vN!Or*O"O!"N*NDM*O"O!Or*O"O~ F*N$"N:U=E:NG>x2NGjF,NF:N_:N!Q8F=3F"N!$T6|YFDM 6+6ðEx G2NxʥF*O"OOͳ6ښF!O"O2NðE:N2NðE*O"OPͳ6һF G:N2NðE:N_:N!QF=F"N!$T6|FDM*N!q8!$T> 6+6ðE!ƙ6!"N!ƙ"O!O"O*O~ H 6́9f9G*OV9*~ ,HV9~ iGw6bG_ #TGy,H ,H́9! f9_CʝGNʝGL4H>G\9f97DH{DHzDH{́9f9G7c;M>c;M>c;M>c;M>yc;M2 Of9iH>_c;͌9,N>ʹ'K>A+҇H!N6>2NÍHB'2NNM>+B'2O:JD2N2JD:T=2 O:T@H:U=2O: O=2 O!(O: Ow#~6!,O6 #6 #"N"N"N"N#"N2O*N!`6DM*N>6Mͬ!"O!"O*N"N*NKkIO~ :I#~ :I#y"N&o6!~: Oͮ66!Or:O bI:U==!I͵!O"O*NK"N:OGN!Or>GJ®I!N658 K IIOLjL*N*N6DM*N+T]̓8#"N*N6 #6 vM I*N##*N6DM*N*N##q8 "N*N~ I6 #6 #6#"N Ix2KxʒJOLjL*N*Nͳ6kIK"N!O5:O LJ5~kI2O*N"N*N*Nͳ6҉JK"N:O<2OG:O ҃Jx2Ox [J*N"N IxJOLjL*NK~´J6 #6 #6++##"N~J6 #6 #6#"NvM!O4:O J4:U===kI2O*N"N IjL:O > K>2O*NK~%K##~%K"N:O=2OK*N"N2O IjL:NHK*N"NM5K*N*N6DM:OF'͜.&J%:NKF'J%NM 'OMͨ,NM͹,NMͨ,OM͹,ùK:NKF'J%:OF'J% 'g':N2JDͬ,N+~ K++~ K#~ #o' >.7#"OOk8: OO> !~66: OL~FL~"O*N+ͳ6M*O~IL IL ?L> # L7~y!"O~:OG!Or*N~ ʁLʁL#qL: OO !~ͮ6 ʛL+~ʌL ʌLy2O2OL*N*N6" OLy*Nͮ6* ODM*Nq8:O_*N"NL*N+ͮ6* ODM*N+̓8#"N*N~:OOk8vM*Ok8:N^M*N^ͳ6-M̀MMT] "N:NF'́,xZM AM"N>2 O*N+6 #6 #6#"N>2 O*N_ͳ6*N*N6ͳ6M*N:OF'͜.*NT] *N6DMq8*N"N*N"N*N"N*O"O*N> 7#"N!N658ʠK5K>ec;́:êE&odN NN/}o|gN z>!Eú;>2bD,NCOMMANDNAME TYP LEN DECABORTING MODIFY (Y/N) NEW FILEBUFFER FULL, TYPE Y TO SAVE, OR N TO ABORTSTRUCTURE$$$BAK"7F#>27:7Þ ©(ͨ ͸(#~d¯FIELD 01 CQFIELD 02 C6QFIELD 03 COQFIELD 04 ChQFIELD 05 CQFIELD 06 CQFIELD 07 CQFIELD 08 CQFIELD 09 CQFIELD 10 CQFIELD 11 CRFIELD 12 C0RFIELD 13 CIRFIELD 14 CbRFIELD 15 C{RFIELD 16 CRFIELD 17 CRFIELD 18 CRFIELD 19 CRFIELD 20 CRFIELD 21 CSFIELD 22 C*SFIELD 23 CCSFIELD 24 C\SFIELD 25 CuSFIELD 26 CSFIELD 27 CSFIELD 28 CSFIELD 29 CSFIELD 30 CSFIELD 31 C TFIELD 32 C$T >ELD 25 CuSFIELD 26 CSFIELD 27 CSFIELD 28 CSFIELD 29 CSFIELD 30 CSFIEL'[T>HST>(ST2[VV9nUͤ7ʯQ>2[VV9RUͤ7HT́9f9HT"qV"gV*gV~Q*qV:[VQ͎TQQ͎TQ̀**gV"gV~ Q[T%2_C)> 2IJ2J> 2JJ!"FJ2CJf9ʙE'Jͤ7GÉ9f9*ʀI͙(ˆI"FJ́9E*Jͤ7UE\É9E4Jͤ7jE~É9> 2IJ2J>2JJE?Jͤ7Í9ʹ'ژI>2CJE*FJ|ʨI:CJʐI*+Ǜ6͋)|EE xEE>2QJ*FJ ~LxI2mJ2}J2JCF:IJ2IJ2J:JJ2JJ#~2nJ2~J2J#6~2qJ2J2J6"VJ:nJG:qJO:mJN9FxAO!Jy*"J"J,&B'2XJ>+B'2BJ.!"NJ>2aJ2RJ1,|¿F&2XJÊH2RJ:BJF'&&*NJ5,.͍-+B'2XJ>2aJ:QJ_*NJ6"NJ|ʊH:aJʊH2aJ:RJF*NJ&:QJo6F{2QJ2PJ2SJǛ͋)DM!ƙ"TJ:BJF',:XJF',:RJ)Ǵ,ڈG G*NJ#"NJ/Ǵ,pI*VJ*TJ6"TJ`i!PJ4:QJ GH*ƙ"J!rJ"]J*FJ"ZJ:RJ”G:QJ_*NJ6|pIOH"NJ"LJÔG:PJ2QJHOH:XJF':RJʷG>,OHʡG*NJ#"NJýG>,pI:JJ2_J!YJ G:BJF'ͫ.*FJ 6EI!Eú;TTT@@Ȅ@@@PR@brpb@@- DELETE - ECHO - EJECT - ESCAPE - EXACT - INTENSITY - LINKAGE - PRINT - RAW - STEP C)%2H2H2Hf9ʷE%pHf9ʷE:HDEHͤ7DÉ9ʹ'4H>2HE:HyEHͤ7yE>2H́9"Hf9*2H́9f9DH"I*DH2HV9͙(DH"H́9E:HLH>+EB'2H ́,E>+B'2H q8͜.g'Ǜ!ƙ{%!~"I65:HxF*H́9f9*"HV9͙(TH! ~NdF*I6)#6"IV9ƙ'TH*I6)#66#61#665"I*H́9f9,F\9F!ƙ"I*I~ F ~N½F*I͙(TH*I6)#6*I6)#66#61#665"I*I"I~F:HG*I#"I"H*H! ~NF*I6)#6"I:HO*Iƙ'DH*I6)#6p#65"I*I#"I"I!ƙ"I*I~ ]G͙(PG*I6-#6*I665"I*I"I*G!a&*ęDM!Ǜ> 6,~*ʂG'ŽGN+GsGG*I !"HG:HʮG*H ʷG!~ G:HF'Ǜ*ęDM͜.g'*H#"H*I N+GG'GÝG*H":HF'Ǜ*ęDM͜.:HF'&̀- ͜.J%g':pD{H*H6(6>'c;{H>(c;\H>Rc;\H>c;\H>Hc;\H>Rc;\H:HF'J%g'>2bD{Hg'>2bD{H>!Eú;TTT@@Ȅ@@@PR@brpb@@@@@@@d\,FIELDSONTOD{H>!EC)2I2I2I2I2If9+F:I>EIͤ7>É9f9ʹ'ڷH>2IE:IkEIͤ7kÉ9f9"I*ʿH2Í9>2IE:I¦EIͤ7¦É9f9 I"If9*ʿH́9>2If9,E\9ÇE:I FIͤ7 F́9f9 I"If9*ʿH́9>2If9,E\9Ef9Iͤ7É9f9*ʿH́9f9,E\9E:I IIͤ7 Í9>2Iͤ$HE:IH:IH>+ڷHB'2I ́,Ǜ!ƙ{%:IœF*I͙(H F#6"I*Iƙ:IO'H N#6"IxH2IûF*Iƙ:IO'H ~2I#6"I!~"I"I:IBG*I"I*Í9f9"I͙(H"I*I*"I*Iƙ'H*I6)#66)#*I66#61#*I6"I*Í9f9~,9G\9"IF*I65#"I:IG*I"I*Í9f9"I͙(H"I*I*"Í9f9Iͤ7‹Ǵ9f9"I*"I*Iƙ'H*I6-#6*I6"I*Í9f9~,G\9"IOG*I65:IJHg'!a&ڨH:IF'*ęDMǛ́,*I*I:IO07>HH'H:IH*I :IH*I g'ͫ.:IF'*ęDMǛ́,ڨHGg'N+ڨHG:IF'*ęDMǛ́,g'*I:IͶ ͤ'|ʑH:I~H*I :IʋH*I ͫ.:IF'*ęDMǛ́,ڨH[H:IF'J%g'I>(c;H>c; I>nc;H>Tc;H>Rc; I>oc;H>sc;H>Sc;H:IF'J%g'>2bDI:IF'J%>2bDI>!Eú;TTT@@Ȅ@@@PR@brpb@@@@@@@d\,ADDFROMONRANDOMREPLACEWITHG#@@@PR@brpb@@@@@@@d\,͠,|UJ2K! L"Kf9rEJͤ7?J́9>2Kf9*:E>c;GJV9͙(LE>Rc;GJ*Kq8!"K6 ́9f9,rE\9)E%!a&͠," K"K2 K:JD2 K2JD2K2K2K2K2Kͬ!"K*Kͤ'I"K2K>2K*K~ E͡HE!K4*K"KE:UO:KG:K2K#F*K:Kg."K!K4ͤ$F!#Fͤ'öE>,ҶE!"KI"K2K*K~ SFbISF!K4*K"K3F: KO:KG!y=jFOxg^F"K* KK JJ!Jr* Kͤ'I"K2K*K~ ʵFIڵF!K4*K"KÕF:K!KF~=2K:KG>2Kx2K͵2KI"K2K*K~ G͡HG!K4*K"KF:KGLJ2 K:KBGͫ.ͤ$BG͈!2 KBG͠," K"K2 K:KUH:KG!K6#:K/2 K:K2KàE,͠," K* K"K2 KÜE!K6#:Kwͤ$H!HH" K: KHH:KG:KO:K2KHHmFͤ$%H!HHͤ'+H>,HH* K#" K:KG:KO:K2KHHmF* K"K2 KÜE:K0ʞHsH:K=H2K!K4ÑHI~ ʑH:K<2K:K=H2K* K"K2 KÜELJ:TO ~ҶH:KH:KʿH7~/2K7BI?~2K*KDMJ!Jr*K:K-!!K6!!Kyͮ667~2KñI?~2KO>-!!K6!K~I#øI!!K:Kͮ66*KDM!K!Jr*K:K2bDLJ>OJͬ: K2JD>!Eú;6 s#r27*7###:6$:7$*7 ͩ273{ "*$'¦$G *#7++J$ FIELDSRECORD # :00000 ͩ273{ "*$'¦$G *#7++J$ FIELDSRECORD ,NM͹,NMͨ,OM͹,ùK:NKF'J%:OF'J% 'g':N2JDͬ,N+~ K++~ K#~ #o' >.7#"OOk8: OO> !J! L',J,Jd,J ,J,J/}o|g/J z>2bDLJ>OJͬ: K2JD>!Eú;6 s#r27*7###:6$:7$*7 ͩ273{ "*$'¦$G *#7++J$ FIELDSRECORD gl ^?#~w&?!9_#F#O >ʤ?~ ʚ?ʓ?#Ç?#|?H o&ͱB"Ia?¿?BZ!9??~#qC?> qC?&9@x2\ay ?2]a"s@EqC:ba+g@-/G@!9~#qCñ@*s@E2Ka2`a2ca<2[a!9ͤA @+@ͤAA-A>2`aͤ* Program.: CB-MAIN.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Main menu for checkbook management system * Turn off display of commands to the screen SET TALK OFF SET BELL OFF SET INTENSITY OFF * Pull retained variables from memory file CHXBOOK.MEM RESTORE FROM Cb-book.mem DO WHILE T * DO WHILE T means DO WHILE TRUE i.e. DO FOREVER * The DO WHILE will be terminated by a RETURN command * clear the screen and display the main menu ERASE @ 1, 0 SAY "========================================" @ 1,40 SAY "========================================" @ 2, 0 SAY "||" @ 3, 0 SAY "========================================" @ 3,40 SAY "========================================" @ 4, 0 SAY "||" @ 5, 0 SAY "||" @ 6, 0 SAY "||" @ 7, 0 SAY "||" @ 8, 0 SAY "||" @ 9, 0 SAY "||" @ 10, 0 SAY "||" @ 11, 0 SAY "||" @ 12, 0 SAY "||" @ 13, 0 SAY "||" @ 14, 0 SAY "||" @ 15, 0 SAY "========================================" @ 15,40 SAY "========================================" @ 14,78 SAY "||" @ 13,78 SAY "||" @ 12,78 SAY "||" @ 11,78 SAY "||" @ 10,78 SAY "||" @ 9,78 SAY "||" @ 8,78 SAY "||" @ 7,78 SAY "||" @ 6,78 SAY "||" @ 5,78 SAY "||" @ 4,78 SAY "||" @ 2,78 SAY "||" @ 2,12 SAY "C H E C K B O O K M A N A G E M E N T S Y S T E M" @ 5,25 SAY " 0 - Exit" @ 6,25 SAY " 1 - Enter new checks" @ 7,25 SAY " 2 - Enter deposits" @ 8,25 SAY " 3 - Enter cancelled checks" @ 9,25 SAY " 4 - Enter cleared deposits" @ 10,25 SAY " 5 - Reconcile bank statement" @ 11,25 SAY " 6 - Reports" @ 12,25 SAY " 7 - Help" * display the current checkbook balance @ 18,20 SAY "Current Checkbook balance $ "+STR(balance,10,2) STORE 8 TO select * check for non-valid entry to menu DO WHILE select < 0 .OR. select > 7 STORE " " TO mselect @ 15,33 SAY " select : : " @ 15,41 GET mselect PICTURE "#" READ * reading user response STORE VAL(mselect) TO select ENDDO * process user's response DO CASE * test for exit condition CASE select = 0 RELEASE mselect,select * retain variables - 'balance', 'lastchk' and 'lastdep' SAVE TO Cb-book.mem * clear variables and return to calling program or dbase system CLEAR ERASE RETURN * test for new checks CASE select = 1 DO Cb-check * test for new deposits CASE select = 2 DO Cb-depst * test for cancelled checks CASE select = 3 DO Cb-cancl * test for clearing deposits in transit CASE select = 4 DO Cb-clear * test for reconcile with bank statement CASE select = 5 DO Cb-recon * test for reports CASE select = 6 DO Cb-reprt * test for help screens CASE select = 7 DO Cb-help OTHERWISE ENDCASE ENDDO RETURN * EOF: CB-MAIN.CMD (.PRG) r cancelled checks CASE select = 3 DO Cb-cancl * test for clearing deposits in transit CASE select = 4 DO Cb-clear * test for reconcile with bank statement CASE select = 5 DO Cb-recon * test for reports CASE select = 6 DO Cb-reprt * test for help screens CASE select = 7 DO Cb-help iskettes for dBASE II LESSONS. Insert" ?"the diskette which contains lesson &LESSON into another disk drive (not" ?"the one you started dBASE II on). I'll wait while you do that." WAIT ?"Now, tell me which disk drive contains lesson &LESSON, and press the" ?" key." STORE 0 TO OK1 DO WHILE OK1 = 0 ACCEPT 'WHICH DISK DRIVE CONTAINS LESSON &LESSON?' TO TDRIVE IF !(TDRIVE) = 'QUIT' QUIT ENDIF RESET STORE $(!(TDRIVE),1,1) TO TDRIVE IF TDRIVE >= 'A' .AND. TDRIVE <= 'P' IF FILE("&TDRIVE.:TEACH&LESSON..CMD") STORE 1 TO OK1 LOOP ELSE ?"I'm afraid drive &TDRIVE doesn't contain lesson &LESSON.. Please specify" ?"the correct drive, and make sure that you inserted the diskette which" ?"contains lesson &LESSON into that drive." ENDIF ELSE ?"The drive specification must be one of the letters A through P." ENDIF ENDDO SET DEFAULT TO &TDRIVE ENDIF ENDDO IF LESSON = 'I' DO TEACHI LOOP ENDIF DO TEACH&LESSON ENDDO RETURN characters of" ?"your first name or a nickname." LOOP ENDIF IF STUDENT = ' ' ?"I'm afraid you didn't enter your name. Please try again." LOOP ENDIF STORE !(STUDENT) TO STUDENT IF STUDENT = 'QUIT' QUIT ENDIF ACCEPT "Did you spell it correctly (Y OR N)?" TO SPELL STORE !(SPELL) TO SPELL IF SPELL = 'QUIT' QUIT ENDIF IF SPELL = 'Y' STORE 1 TO OK ENDIF ENDDO ERASE ?"If you have a printer, &STUDENT, turn :=vO*;v:?vUy O2U:=vĪS*8vw# ,UͱS:>vLU*;v!SLU0T*8v"8vT:>v/g.xqU}03|g}o eUxg.>Gx|g}oÅU YYG!9!yUU)0ʾU1Y# çUyU) UxDMox&9`iG!9!x8V 3V+V$%Yg3V-U0Y:Y0T])Y)YY)Yo|gYU{HV$%Y}IV|Yz- Yo&9}/G!V ¨V>0V ­V>-3ùVT]))V寕iO>`G>0 V ȇV)Vyw# W~#W~#W #wW!9Oo>gy͛W~#o>gxGҰWGNXwF#"@vxWW*@v!9G_>WObk++W~+Wy~#/)X Y= Y)Xɯo>g{ozg!"YB[*Y+Y,Y.Y0Y Conversion2NY!EYB[MYNYOYQY*v|ʁY^#V"v###^#V#N#Fx}Y #~pŸ́Z*v|ʫY^#V#N#F!9yxҫY"v̈́ZÄY:aY!9!sa{z#Yͣ^ëY!Y!9:aO!a {#z!a5Y#}OD*v~0Z##~#foY! ZB[ZZZZZ Free Space Exhausted##^#V#{_zWZ{_zWY4zVZ{Z##^#V# ##s#rs#r#s#r+++~sw#r####}*v}|Z*{zZ+F+N+V+5^{Z{zZ}|Z{ZZi`~sw#r##q#p i`N#F#^#V~Zq4#p+i`##s#rZË`[Ë` FREE Request Out-of-Range$ Free Space Overwrite$GKZ[MbkZ[']F&]N&]N#F&]^#V"by2axm[i&g^ʤ[x[x„[>ڧ[!a{#z*qa*saͣ^xyx[ \_!C]^#Vb\\>(\y>\>)\|[[\|[[b\t\p`>,\\> _ _ _ _0:\\\\\|#\}#\ N\dP\ P\[\R\x\N #~\d\!5]b\*v!9{_z•\{ڕ\ ک\ͧ\\>#\*v>=^#V#/\é\\>: \>?\!-]b\b\>=\^#V|\}\.))]b\#F>AĻ\> #]~ >.\~ \= ]^#V# File: Traceback:S]Z]j]t]]]]] ERROR FIXED OVERFLOW OVERFLOW UNDERFLOW ZERO DIVIDE END OF FILE UNDEFINED FILE KEYNULCONCONRDRPUNLSTBADG!a~]]Ë` Condition Stack Overflow$4Ox!Bv w#s#r#s#r!9!a s#r!aN!Bv +++++/^#{H^#zM^++~/^++!a5!~# \^X^!aN!Bv +++++w^#~#ʛ^+{–^#zʛ^++~w^#^#V=!a~^5:a_!a^#V"ada.~# ^*a)))))a )| ^*da|}*b"ha:a*adaw# _*b{ _ "_!#"bT_Copyright (c) 1980 Digital Research, v1.3 !"v"v"v2a2a*v ړ_"vq#p##}o"v*}o|ҙ_`Ë`+w+w+r+s4w#w#s#r<2v++*vs#r"v*v#"v*vDM!vx~f`#~+f`+F+Nq#p*v+"v_d`=`!+~O~#~G!/x?`y\` >O6# 6` &`=ɯ ~#fo++_!v~#ʈ`*v_p``Ë``  Insufficient Memory$ Invalid I/O List End of Execution$`b bb S* Program.: CB-MASK.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. ERASE @ 2, 0 SAY "+-------------------------------------------------" @ 2,50 SAY "-----------------------------+" @ 3, 0 SAY "|" @ 4, 0 SAY "|" @ 5, 0 SAY "|" @ 6, 0 SAY "|" @ 7, 0 SAY "|" @ 8, 0 SAY "|" @ 9, 0 SAY "|" @ 10, 0 SAY "|" @ 11, 0 SAY "|" @ 12, 0 SAY "|" @ 13, 0 SAY "|" @ 14, 0 SAY "|" @ 15, 0 SAY "|" @ 16, 0 SAY "+-------------------------------------------------" @ 16,50 SAY "-----------------------------+" @ 15,79 SAY "|" @ 14,79 SAY "|" @ 13,79 SAY "|" @ 12,79 SAY "|" @ 11,79 SAY "|" @ 10,79 SAY "|" @ 9,79 SAY "|" @ 8,79 SAY "|" @ 7,79 SAY "|" @ 6,79 SAY "|" @ 5,79 SAY "|" @ 4,79 SAY "|" @ 3,79 SAY "|" @ 4,63 SAY "Number" @ 5,70 SAY "------" @ 6,63 SAY "Date" @ 7,68 SAY "--------" @ 8, 4 SAY "Pay To The Order Of" @ 8,64 SAY "$" @ 9,24 SAY "--------------------------------" @ 9,65 SAY "------------" @ 11, 4 SAY "__________________________________________________"+; "_______________Dollars" @ 14, 4 SAY "Memo" @ 14,51 SAY "_______________________" @ 15, 9 SAY "---------------------------" RETURN * EOF: CB-MASK.CMD (.PRG) 9 SAY "|" @ 4,79 SAY "|" @ 3,79 SAY "|" @ 4,63 SAY "Number" @ 5,70 SAY "------" @ 6,63 SAY "Date" @ 7,68 SAY "--------" @ 8, 4 SAY "Pay To The Order Of" @ 8,64 SAY "$" @ 9,24 SAY "--------------------------------" @ 9,65 SAY "---------- key to continue).Loading file : DISPLAY variable. : GET variable.[] : RESERVED for EMBEDDED COMMANDS : Top of screen : Bottom of screen : Middle of line : Previous screen. : Next screen. : First screen. : Last screen. : Delete character. : Insert space. : Kill cursor line. : Line insert at cursor. : Draw/Erase vertical line. : Draw/Erase horizontal line. : ERASE screen data. : SAVE screen, write .CMD/.FMT file. : QUIT to system. : Display this screen.CHANGEABLE DYNAMIC VALUES: : ertical marker. : orizontal marker. : ab spacing (1-9). :

age length (23-88). : argin for printer (0-127).0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz* SET FORMAT TO PRINTSET MARGIN TO ERASEINCOMPLETE FILESET FORMAT TO SCREENGETs in PRINTER file (any key to continue).@ 23,79 SAY " "READRETURNCOMMAND ERROR -- please fix. SAY ""@ ,NO VARIABLE: continue (Y or N)? HANGING COLON: continue (Y or N)? "GET" in PRINTOUT: Okay (Y or N)? Yes @ 23, 0 SAY "" GET GET ** 64th GET **Writing READ for 64 GET's, row (Any key to continue.) SAY kk k bk  + 1 +ik\>H  )$%' , %l(lxlcclllllllclbluktkbblmmcmmnQnnn?oEoocboo9pqq'rvrrscssttttatttta t"t Invalid Format Itemttttttt Stream/Record Sequen/Direct Input/Output Keyed Access P< $conMuQuda-utuuu=u>ukuou puqurusuu uuuuuuuu.datuuuuuuuuuv2le =4Aztfʽ&ɴ5SPi9&Il/F|vK#te]CUou_C%7dS3xX%d\T MGAMݓ\`6MABuHƑfWpi]WuVQ[DnJQDbe =Q e!&eSFB۵eֈthWA^qf'z nYQx!lI!huҧB(UKt`d_^Qe:.QEKshrcev+QT6U͐B uk)z] \ih UvHce.8sUXַEzf&Փ&U:hGut]@E CD9^8S30 L%zqkNE|M`졄vAX!plSAqB\ lѾbM4iG6@Eyb E2mTsޗ5ɔGUsԺ>݊V,_U0H.qs5ZV)d3U֍Y1aj\ sGUQAtkbP Zܸ aJѤA R|F~U+=8NLee;` 6&uks.PCPE4-Q)9QaTNA'p 5@Ix'/6Dk94o I`Er)TZА5lgHOAge7 h$(S`!Ahd76Ъh P !D)2P7 @l6Pp3rA3&mex- 0mPxA1bөW!i"N uK( 9sa6@7%k>=1(82((CC /^8*Ap9yu!jz:^M:LY k-ʶ |*pB;$,P  ޗH auB)$*Mb!L!P(u748V &2!5pĩ D հ`Ao2,HBHZ"4}%X#%*$pG0a $ hSe|&4H T™-PT MٽaQph0T̃QȈV0' =a<)` H*!F6 퉃*&̏Zɐ[i'Kk4'?`p!se t)(݉@j!ΙX0+E! ʏq`@)V"邼-at?YgAKsι*{jNg P&BXNਖ਼?%(X(6D,4~#~jG!"6HM8"`{hP P/\$8" 0@tK0xS\B ؼdrU43&}66eˆFɴeA̒ 3E MqZPkIȵYA ~H9b(y |ݢxiU&r(@Rjs2R*D I0[Eǩ@V РzI'Qq$D` 'ʈ6Gij@QrW B *,4Yl>,)P_t_54;2g ̫woZ<߈zQ^ZPa0]!"LKj(\I1hY{> ̡BHgIϧ1MX]%rDHb,kN%F*r;.|)q"$AFG}CQUZ7BV6]\2WCpG`eVHi"Ψry-2yp Mr!"aᘄQ+'@g;O5'%V~*=" ob:8!=-Ȟl+֏蜷r&[W}GAlKs7KAqr,ћG9x-AQ~ʾuGi2M0o9'tY'|JU|Py'ClQb&"&U\R`:B'ŢlAK2mxc\:b#Hg,h+@_ q _]2U~r=p46%売LR_vxjW#"4Cc 0(yZq9rk<!*G#5Ai#|~$#,Y-L*rmh\$@N2;3[u u<ҖPKX K{!&9b.R3<h]vë)q,m=/Ҽvilpc{H3#y=xJ6}9b);qrY"©|(C2.nFÐZXRp('t< γɱ k_So8^p+pٽv1 i$dv<ߐHckpR4ag3Fa*.u꿾;`R#'1ytf IԟJ{*b,&'v#*vFhLs<ȢBoQZ_%|5U9qGlVBr#ԞLxd)՝v|!<iZAV&bXݶ7\9KVQχmŐgj5q++y6Փ*mw3]4I#ND bא11thzi'y"+ݙ{ EX6ٷ#ɠϡk6[ֲkLUй6h5`\e7QW{QZQ,ɚ ߼OMs&dE9c&CWp*㬾9l#q9:45&:H߽xk H2'tj%`B=$Al5x{Wc+Zҿ""&~R!*S3$tN90D#e3!rW$_ās_geӏI~)xLFoWI&."6 "vJ .Ē]I8k~.=_+WgXMn<  f_D_1Ka82eN u>>y|"1,%J5sb‘UFAڅoV1uNw^nFy EԜ.աQ#Ih:-g%35 (.861D__1(xآ*A7EIwn0/pcu_NvYl9',76]gn$~L MZ"< ;sv(\/Sϳvad_/,wiM-⯶bB WEO(-'1 H 3&BW#Fs"4_K !wk㒹L4a e9r)D?jc:aǐ*ַWO>Z F鑇 ! .k$,lQ|eǁ!tM`M[T#.ÌR&{#oaDRMNhU6a3a):m ~9"hPnZR3;߲SFƲa"eOObOe$P4`Pe fQGpgrj/2OR!+22ԆÐ1`-Pr<*O_X )awu/<c A3Ff.%4_ 8+Rd/4)jXGo>#J8/S8got)81}aQ$i.`er#U0?|PG\<]\o[(_+ @%c)(شw%TQҷbPb*.1̊U ԇ}7I_eyxT6BrU!^@Kjg cp Q>0R%S1|MS]a,UG=$˞Kh\-8QG] K3. v^,::GC+ͳӀ/j@wtհ%VCaR;ƨR1I3k瓧8ZT2_S7U[4 ߑl_"*I,kE٪YsT^i?iOT=+W9ky#0U _'#Dw`TbNAmxy : FOd0 305;D AV 04"u|&3MÓ -9\x6&{Ց! #\^,z!N7j ni\<7 9-@K>M[O>WksERH:Z\>K GT )ۅn]b<󷃅D~USHŇI!&"SWb$"¿,"<eMMv"؁9"u4i6CM&EkA} b[V7M׍ ʯ4FS]0%Ui8>\x 3P7f:8_!OV"U (XkdbүSV+l#9Uk{3V>#[f6$:Q"Aή\4~uU.9hys`W[THQU\3_cUa.4gQ4%q'WX#4 `\OłДgIÓ#Sw{Z:Y=1 E}ӉHu=%14ъA6+..=%s+#֌nL)]l d_A:1cX-TP"8 ljv/0{9]bZ lf"]NO++n!R&WiK̶s'8CIL'X5?t5$k+6I#4SFF !$Ԣ<1 E&2jx]F91!c֏f3h) K/˒Q4&Α:&zBt\l8DenÚ1Q._0N;2.)'=\5;> !{O@m4)"^bqLKgqIۑ"kn-4"67]! VM1^f0;`P$\cHb φ& )%wӒ4Yq׳'_tewd'Lqi/&=5w10"-fUɖ<) T6 dD+^Gy==_3LpM"K(k)@FR@2`>ak,}V>aE[~2iocn#Kd.b-ٰ;;n0l$1Fp" kdpѵk2-.K%-+lSmP(~乫'蟉ZzFFjs&b=*k61TƶlG!sMi!*l% *&6!ma)Q\AdA}gf]9 O4zriWn\V#-ΗhEVm1ut%w°! E֩<9}DV(b)! !$RPEw!,_398vG$8.$r+ڢr"e:wA6mdxLOݚ(XlM0-|u!D Xl9$Ŀ%:uπOQ1K3qJ[bnh2 (c+=$<tBDH4>Ò#<H:/6%7u"1.#F̰9ɂO26ᱳW -|jCyNIutET!%j]%݃sG-,trQ3![ 㬱f'-S4.F_ u=!3S1c9Q#`ϵ5`Iz?pRWQ XRX>U3MSJLjǥM w5)ChirW.=kf_ST('1i!pkLCW!UUמg A0I8.B}gfΟ렕ꨛ(R)`dg84sIt)#4

[ /p6@-P1`2xQ$A8c3S1z3ŏ3M¯323?Q,Z2f'9:Brn] 7?j'Kk=LR3P~5q1<@ `DK+1S!A 28L38~KHDA2L f[ s]٦dF+IVMgjѲaƹpf{&1n ZLq$C`SFlWVr!d"NBfZ ) 0+đ7jljamrЀ0 C 5…-\wۂTsG nd?8,BED.8GFGdLuN ޻fdqFdd_ko,zb y!ݾ¯RX.Ok@߻: 7fYA1XHhaus[7R Lj6pغ + ޘR{JɃ52FJ@Rc%0zeh.5 Xn ebLj<a)w\17&~Ten `cRiec;Fغzd7P)'+:PB}&ͪC2<7I W_vaZɀPRKP'ͷB0A 0*7T\噫3DȴɬyIVIR AQBT ]l%C?'{‚ˋx84EO' i0tcV2|<Ъ>J:%h ׅ _,B:B@9GhRBA@"(EUXԩB>$"p L" @€T !#·nE0 ޶ z'Iv &KJdk$RAh4ur]@h''A` 2XX9ɚ1<7E. h2AX5c$bP3D`#6-` A5벷`AvF'uE眐DSB@O $%|JR᷐xi}M↓mN( LG}&EMW$bh7:κFIbE?efxz E`d :ZJ+Ě\e+q4L+& 1U5`-@!`Bk ҕ8,"P@(tH\@L`xrbܐ(Re J]2,B JK Fdj "F `` p+XePfx P󭤑D %'VM-@E)Б okB kf / zLTK*]  ΈHRLRbĒ]bpb @J%pLdp+0^J,(L-do ,`+ Q2W6Tm .HM# B}p  D 6+h %" h`b֑jo0Q a   Ȥ& `uNfrGOТP(wъ M"|(08Bl.2I2LͫXq%L(% r`x 0 g/'KY'vS~*·/v@$򖮌,r Ҙ`Jp`a ,@'+R2R-*M,-H;-,. ).k,,p.V01/Xt. - 23'"+4s *4:]1K3@/56.624tLΝ6s,04375Slz,I (/ʼDtrLE]’|¯8 A (A`@&SAL ^2QxE}o (]$Tf`h(.ΚvX*f-E%r @ ` )6PN !h 4D}H %j !j @|Dx졌d3x|KB(졚.(!PPPt.Gp`5 R0N!|xn n MLcLTu@`U: P F@W@: ,~a D`U*Ga  ,Tz@tB&`Wզ@`AZ [AqWYnJ[M x | ZK"gS]Xk>(N Q@FaWeGt!5oS>002DB~vfi`]gS5Ah lv `PX,`uo-QFp5 tKaOx]*-@ ZN )isJfq)ER&]` i$KGMrM,%b2RF, -EӊVWԍyµTX!f@+V tX  V/@ fTlw}{(Au|w|%dœ z|-Gi w`Y~$ z{, $w0e`z8#`z  mkm.9d @d42c*.4>8@@HÖ#/B?\..ө$968ϛOᓧsH4:G@pP`dK1 p`P!OuA:ZA P:~6V`d 18Ka`T>Va7v;0 tp!@`D 8I[s{{8QU{Ela^:tN㤀B8 JCYu!nP;TGqz&A@88 p`t6;@0Tݰ3`ݱ8! 6 {[{|µ`z;9`Ɓ{Aۢ㢠Mw-`.9ծA`9zǯT篚8Iߟ``A`A|̔<μ|Ρ< L!IC5u #{F;RW*pՎ! 9[Z`ibU `h`0}}kj]g<@|$ݴa5 : X @ANv!ú`a| Fa+W2q~vaE#ⓧmۤ$Na5ɉNabt ;Xa &N ` b` @fz " / N4&5@.$qA 7 TAG a ﱾ _W}@ { 0!`@-bs 1N Ch <X td?Y@`` 6 _V`` n.` NB i}[f6{_J߽g_`RY?>cJE2EegT i71 `- $'h,Jʌ_ ^|]/~E `n {Pm^k@6`T B GoX23_gTmT^` lSX_{ p q*F?En6NF qVdhb?1?# [(luƚ#L~`x_̖, o? g1s4iۖU`ޖuL#SJEB; @6U 5n#f12KTmT{@c?&5t^DX g'` @hc as 6^UΫ Sz욙G Hfw@ڊ:aO T6=!jyLiP mT-TN@y+ bV@ZA2KTmTo ²$ު @\ `\ 2?CObɾƬ83`][(lZP#) ?Ds$OOX畽@rߐA$OO`xPVM ^sfds?0#M; Mn>Gayϊ ~qђ3jM;_`[6 L :@!04 @,}\@T i#OTB `FaOzOOvzV LM l#!}tGQ|w[(l C-H YMuO`lu`Z LNvZDEPROP.DOC[PROPORTIONAL SPACING INFO.]# -<."`Q@o8GCIa6 g n3擡A"GSq@2#C0q\l@1qRD*ʄy8]GNGAD1O)U`k&JbuEJRU 3SeKy2W'$ `*ɤ*ZQXJJmeb{7MEa'C)@aMSit-^33EMhA3vST4w1>N :̦cr2l<i~|iz 4u )DW|bPqW jܷ5HDllvF{gQ+Fq*mLj Wt$E1:p_i2Ea xfH1FamWTՁbYUhB[u]וT_W>r$(H"qnFmES9 F4Fu&ti` c~[ A£\lH((cDqv⭠1o>F+ĂF1M*ƴID.Z!4.5!F~i 8O)a[ayG'4>pkǐwV Gi 4nwjry-e .WJ-6hy%pyMץH!FX\!tZūnra)\RJ_ jSK=I+CE Ymu|}(ne4Ok2Tƙ7( ,0 5 #W1 SAI-Kn0FvQCu ifwlc'q)!t|czCa"+O5">e<|_ϸ[ 캶 `9^b50MnlXc2ZćF9VȜTr$.WPQ&;\ЫAH1XDěQH)⥅PL)p@ 4PI2! UB(R,<DZ)Ki*JW?^rϹF o. Hs+<^V3lLQV@d%X>mDž>@ֈ,6m99.#R:2\~ˤj2RG$W-]fL;C g\KQJM51 <%JXr-ZG;uɊIl3%ж嗘f 'iةM(ܝq-tys SA&j(7Ⱥv b GDfV [*p fXsnk_aIvI#4檖U`1^ cHдa=G2x3 %D}*Xz=O:!܊Ib!|ha1DL` |O+iB]qyH3=HS"꞉;WU,Jf76TIk|MML14*ukc*X2<`i00Ě3c̉2\̚C8bvG2 ܕ<('$@(p(3ȖA1tL*{6P!6.AEh-!3#y.2PDhb*Olr[3ތnZN=Lt$1eNbL_m|ۣ}vTHF'f0OcI|I<Ù=yܰ.Nח#=Ip6џ:܉Q#3 **:$|CѤ:I2TɭCv"7MVSa$$s.[F՛rE1=[2;殡M/h;vS:3 *mt̍ȗI_4>䊼NJWeZQgr i I_2FvI| A3Up`M^Kl|5?:l~鹪yGN 6aW^\ L_^,UcӇ|M7tR9ߓsx+wI](ibYIiM,p9Ajv1LWi}vLf _Q7Ɯ`R FR:Yx#I)O%,3_aԆ{4VFfkqCx:_57.gIz X19=d <IZ_0ߞI^LU;>>ܙ|=R잷Bx3߳Dg ڂh ?3Wm\l/~ )Fx$AdGm#Q2FFWxvl%mCo_].hg`b3131QSgʁ`S&2gur&q0MRBB`TlAU5eIWpAUW%q="QXmCNfL+_y'}oS82nCkvķv1hc(0+b"NÖMRS6A?0@kdvhC#F39z-b{kh}_#5q0#涉w"Pdx0"L*+bLe(-؄rMej"1MdP@3eج=cRa$II=_:IirPp^ag N!TR 19hF!sifhCHv,Ѹ,2=TdVe&oid/W y; 91kqoSgIDTNGM0 R"0l$OYsanh_(`@?vyH#/8R(~0AeCp#T(oCȒq+@0^#eCt9Z]TLPh3:j)b(KUH󆂸xyjlkc*6Z8h&(#>6vǘ*Yb$9g p%HLAha7"i?#<F.s 1<8. q/"^QÝ)`>w*~(#s7ho:Gzz~.x7Z^!)q[A$I'YWAq/D(z l LZzL>$kfo_]a9&YPEjaoh!R;Orvnp%MDAEWD@T<-ENa CobvZDEPROP.Z80[PROPORTIONAL SPACING OVERLAY]# ACl2 P)` S1l:#yr:M @w4b ҡ@.'YC0r^N7Q#20 GSpr04s9M)poDA=fFIno;NF Ae$u RTT"RL"L$~!rn3DZ 84_NiX GDS \\.)4U,L26p'Cc5rRn2vbLF5`rzbC es$- C(0!, A*% )hЀ'"(%p=3 dHђpD 1)H3IH5iH7H9eX&1. A&3% R j@"Aq }hz:Dz$H1&R.sg93h:BhJgh0TjUEjLT(be!jAŹH\BvR!~p V$b:$d-j$gF5la@l U'9\oG $q[ a҉hyHxGHz|H~WAWDDY@W@1vZDKCOM13.COM"6"U"6[COMMAND FILE]# f`QhK!ɢXr9M\3 D)@f4 pDFEE@(% gqxA0\4@u3В&9'GAx|zA"SimJVVcut_lccfi  #<,BeŦt#Α4,Qzlc-/ v;QHsXP:xn3`#5>9G$(|@e4_"+43Y-k(J>Ҥ 3OP x <`BWBB= ^  S h08L5t^3 ` =S0 6K 0Gx8/ 3P,x,BBAAB93A`u2d(bG, 0803CX JB& V,qZɸ:ӓpqjʎLV|&D>1hH \zBn {20/(}` M"L̐ Y({ah`@PL+ާL0-t)t88̑#-̆8s1OQ|P0MWATA,X&GQ_e\ K(.A# CPPPvpVLnAuI+-/MiQpF4fІwa']=0 Qmۇ%<1bQsF 'nXQ=s^P7x4CGQ!Ϙ@ 2 @6 Å_: ;N۸5NS4C0 083H'L94?|'LOY7#V ǡf `9?L9`m(*8?@@5/(J3^P,p2_DP 0,}C8 `8J :e Aa ?a,Jj'&Q3b( oLf( u A yCQ, prA@Q\5Y(2dxHpu8`5к@ ܩOBOEؐ=x2RVJ08CȸJ e[n 𔒙H+@`lip_1@\Q[a=p`/@+NOb9@pgŢ4N~QX>(Bp (% 4 Ҫ0OU_ Fb;@0@~ %P h т2u"NF%X`@z\/Tt' ]vZDKCOM13.DOC[KEY COMPILER DOCUMENTATION]#  hK!ɰA ̧l2fi4e9 $$J3n E80 `11WBapdN1c:L㡄1NQ p:igzi@pM'9JrhehT01 "@bԲAn2$x()C@R! S#@r5 F]щ4 y9L惤r8a#0(_:d⎔n>LQ2&F'U1ZQpͲFg ,cGzy`]UxCC}_ P8TcAMBADzEWuDDؽD@P\vaHuʀTqȖn,bG: 1r6Ȁ. n^cy`zE.їWk0Dq37b"H"@إqK,NВ1’̘b3B\4*|A0ڑ{nA^ Jy&S(ί&lzlp8Tt ѕӈC9+ÐJGTAsvP &(7QKà^dD`7]B=;b'A3{'؎Crk|/I>F PȨH1Q+H:F$)zO \$CRISÑ^aȥ'$0a^ĎCRbG`PyB@"ڣzE\c!n+TmM%f6 nC@aM! S^2ΐd@d6K (\߈#Za ~dŸ48sO@g2d% <"TP,)2 =$ qаn 8H9D6``CJq%FRc>04@ʈ-0ar"fIK[wqz JPi:WOJ8ħr.BsCxsY&ub=d?3ACBQrU>Zk$m:rp.y|¬Va$XZ`$1A"Wpi+ݘλ.!tuÛDgZv b<ɢ[*ѹ,arAS!A3T\XRa8E;9 K7sT\ůla҅тHWoI6wJwj:x4~Mf){]qL&xzt/;sRhQW5A cWko=v;Ta!b/4С$bG\.Ԛ˘BpZd0 i`oACIқ'.\l7 (bX.EM"Aˠv !J~w*AJc3fR'֥ l5ܬuV@jA*Umvf!x!]B{/!b/h pQa/ux[X/G-PB *r8L{5x[2A: `ͥ>}SsA`9j:ZqLk'{$P(RJJ*qy̠]S @p3Ǧ=~~hD @өx>d:<%<欸5 UEDn(RqN1F5ϕږ`<)"5w}&n.[B%b"'ϒG`tA Vrnx7+gư1O2BHUC/PXT#)p4E`4zLy7](%h@pfùq0:CvPyTTL/`8#aOKBSTJmzS!! XP8=54*)(Sv3Q^C.\:%x5QPҜw~WX:#v8׊|Ӎ'c'Wg81WB""szAqpt/RWJ UlgDll4%!^Zy=jkV0uF|5<(!Ad@CINQ2_E1{~'VOAH҂vm2wwb_Qjzcpi1SȄE0E^D'0bw45݉( fSVB18Qȉt@cv@(.~OQ"#]~|7O*EΑ# gn׉41QckpDA L40g64uea:Gx31T01(q=B1ÍT]@I("q%hV'g{Pc'XR^vȌAE3BA!Y-)se7%׳9]]B?9L%(0;'rx[?G=7U|5`[#s\4!uUS7a'LtPTdAGIwx|6jRM kVg{h?8ֹYY(!LaA L=a'QoY)>4xEacX!0KMcP U%RW#7HXYY~A^>2v=FeK0ITi6)fBUP/X7h;pkDh+*ţ ^d*<!2P0 RI8B *zzU+_R!Y^DC:g6Vh-UUzX+yx](wf s&+7Z=2dbzȥE'8G,j"%[5A4x7aDŚh7:ʫ( 0)nAhd^xoVuY2 AQ{0_&w *1؊`e2|KȁZD)y^X()湮HЏ1\RiwĎrGb(N;nAa̰3V `&)(2ibA飪[)b4!IJ '8<6^ih!uaMEbwnvx-x78(GU38l!U"T7"<0@#@Jh=3 ?vy<{|A(S3?s>#qC2>`3@@d+@ʼnMTH4yַȵd!S$BbBMBv[BhCC2CQjZC;%CkxbKkyqIϸb++\(A$ԬjBZ!GȂzbm[D7vӡY܂g4 ML՘ќՈjߍ1"Q^==e=A3mx7l±}G;`c7+N:DcA43E43"wuv=$[KJ+-%bg]k6EE1gSSa!'TPs'`G V4rUxy]ha$V};%FpXa둆'Qs[ tQ8~#dgu~m4 #psq)Ub^Z]|FIqf!u řͬq)IJk~J\a5:)%\*.$G^%Pczgle * ]EIEnTT!5`9tG\"bDLTDȽhAWU `EppC<B'fEQDpd'*_$A 1B2~`'c$ M-CF`[@=.Gz'tABE #hM yHNGD8)@44])8,yS X7b3NhwOcq8(4*(mDI9TфFC)I2!S MB0O M +T H'Ne ]?Ѹ!FRBf`2dhWRJ:IZhJvɰN2U-vSdG+d;WOgaG.9UnYmZk\Vp!?0PF !2vS &SгUwN3JE a tvÅ+QUiInl'μ\ع_lP vd P3Y">UXo~nZ`I (+ZB8H/7=]a.} L#ynP,L.M{9_C:n6ނ D8sI*)CBԭsƵ P|L~C.SGrEA8MU &5# @]!x%(B a[ عNHpƂ e%%SDCDMdH9)Kq:M | }ʖsH9Md#.WL p0! c$eݖ! fBDhli!EIxE=6:= a; $͏"anH|3M<ԼԒ^Ǧ펆^\@hH8yP= ] ![.11~.<2= 2= 2 = [P;![SS B K V_ES0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ;;;Pq^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^V^PS^F^PS q^QS^KB^S^X^KK^S^E^E^KV n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ^[;^[;^[;^Y^Y^QP q^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^5:"s:#*;"++++|s*7#Aly 4>2c!y@TY*#"u#*#"w#*#";":#2y#:#2"*D!F:!s#s~_x#N ttN?͉TD4Tɯ2Da~*$|s~pDL:$_* %Y!~LʚtDY*7#+w"7#+6|@L+|Jt#:y#G:#YpDrGTʖtYpÑrDa~E!T!"s~͞>2#1YʑrtEZs~:$ u:s#upDu:s#Gͪxu*7#ouMu:$2^#uM͠66:!s~ ͉TLuD\EuLu !vD/u:Qvyvg."$v+'v:$u6!6-j-:$ʂZ System Display Editor, version 1.6. A small, fast, powerful WordStar-type text editor for all CP/M and compatible systems with the Z80 processor. In some ways superior to its big brother VDE, this version of ZDE adds fully functional Auto-Indent capabilities, Proportional Formatting, Auto-Recall of last response to prompts, Global Find/Replace, Return to Previous Position (^QP) and more to what many felt was already the best editor available for CP/M.  ʯw|¯w-w&}ڟwo|g’w|2g"*7#eBMD~s~!{pDa~>-2! w3w2L6!%e-/fwf2!ʙl x3 As~`s~2! x>2!Ùl -x>2!Ùl™lEs~;Ùl W,3W,6!s:X#Zx![-W,!`ͺ4/W,s~6!]j-!s"͞n&͙4!q[-j-:?#1|lxx±x!/lxFwO:s"!t"x2*#y^}lxp!ëx6!j-!t"Áx:/"/2/"D6lx:"/2"lx:"/2"21#lx>2!Ùl:"/2"pD*7#eBMD͠s~:"/2"y:"/2"lx:"/2"~*7#_ClxU=vy!6j-:?#10:s"2*#Ây!s"# :LlxZNo]&####~Ls~L*7#+6 +6 :!+w:s"y:u"y-!"#y!v"!y+r÷y~O#~y yP:!+w:u" zz:!+w:s"ڷyz+6 z6.#6R#6R"7#+6#h#OFNOLƈ!"NpDqMD2Z#5!v"~lxO:*##fz WzElx~2*#:"2"Ây6!<j-͏/lx!9"x)-%lx+~lx z|z}= z}2"2/#>ʺz/2"lx!ëx!";"*7#_Cs~Dz4Tz{D{ͿB:;"z>2;":;"O:<"{4T{D{ͿBD{z2#{GN<{GͦKF{DC{|@1{J͛D*7#]L{=*Wʛ{*7#@|{D|{6#"7#+4Te{h&~Lʛ{xʛ{*7#+6 {"7#+6z{BKLò{z/G{/OL*7#}Y}> 42}!o./G*#|v}#px|}![-}![-!$ j-|lx}!"ʫ}!v"~lxV#~}²}!= ëx#~+w^}#}5~^}lx!8~=}#~3 A}!v"w^}!"w^}lx!ëxE-./G6:$O2?#G:"$~A+~x2^#2$:=2_#:!M~*3#*9##k2!2"u͠ښs~2#:!͋~2Z#:"‰~*F<ʉ~zs~2"/2."2s#2-!#~~62!6!(0j-!(0:j-:?#10>2L:D2#!4~5: #~*$"pD:! ͳj:!2! ͋!_:X#!_>v,*7#]L!b#6" !h# :#2#:#2#:#2#:"2#AEs~[X2!lDlMDs~QAEs~6:"¡j-!`ͺ42!5@#~ *^#&-:M"F52 #2:L2Mu>2ME:":LW,*Dͽ͠:L2#2#֚>2#!@#5 *o#";"*m#"w#*k#"u#:q#2y#:r#2"!h#͋F͜CͪPD5͜CәͿCͷagpDs~|2#֚pDZP*$DMeM*7#!y#:#wY*7#şeBX2"MD*7#]2Z#ƈͷ>ʀ/!]͓D@ G*7#͑ xD9?4TO4A9?2"4T OyGyۀ|@4Tۀ*7#eBM~;s~:hB!~/ws~:f:vÚͰJ^I5Z2!MͰͦKSgJZÁͦKSØͦK˜Jz‰pDMgJDƒ*w#͗ ZͦKSDʽgJâJZP͞*w#DM:j*7#͉TD*7#AÁJMJͦKzpDMID5"Z*w#͗ JD:I"æKͰJMDUI5^^‚pJZDʣ^£I^JZDʣI^vJZDʣ^£IËͦKZͰͦKSD^ӂͦKSD^gJͦKSD^gJقJZgJZP Zs~*w#DM]B͔]pD&*u#"u#MDDW:_#GL"͞0){D{{Q*^#&"SI*g͠:^#2#͠͞*5#4T^DO:_#G)[Kʼ ʲ5š š*7#xU΃΃*7#eBQZ*7#eBMD*w#*7#:`#J͔]*`#&o"#"#pD͠s~͞*7#͉T^)*LS ΃ ΃:u#2`#:/2#:_#Oڗh*7#͕@MF*7#@DuD ~D u0E00u͂AÇ͂ͷA‡D5)5D!_#5!"F GpčppD5D (FFJ xpD;EͦKͶu͂9*7#әs~Ms~*7#͕@M FD߄^ʁ|͕@ʙDʙ^]͉T^™4TÓ*7#|͕@ʙDʙDʁ͂5A*7#͕@·͉TMDM͞ FͦK׆DԆ|@†JͬDMD*7#@D|݆|D@D|OEy͂O$͠s~y5)5:w#5D5DoXͻs~Da~͞:;s~:>c2-2[#2L/:=@c2@c:"/2"!`ͺ4D6s~:f:vE)͞JZDʵIãͦK:" *7#~ 662Z#͜C]͉TDD.> (F *7#@ L*7#U W,3W,6!S':X#l!([-W,!`ͺ4/W,pDs~:Z#ʜ!)(Y!)/ͺ:ͨ:!?,:"ʜ®A;ى*+6+6+6x:X#ͺ:è*0"ѣͤa[K:#s~*"$ͺ:!" :W#B!_ !Ͷ!ͼ 9S! *"2*5#6#"5#;L|e}n6#gKFE[ x|#DM*3#!Ss :W#&*!ͥ͑ &!3 &!ͦ ͻ **!ͭ:,**+G #~܊ي**!~»!s !s Ͷ/!s Ͷ!s !ͼ :E!_ !Ͷ!Fwpè*$"*5#+~h6"5#:W#„!_ !ͼ Ä*7#eBM2#s~2"*7##OF>2"2W#2Z#2"2!*5#+6"5#!3 ʄ:ʄ*$| ͻ }o|g MD!"$**!ͭ!ԋÄ:D2#!#Á!}p!}p!~p!}p!~pXʁ!ip!3 M!> XXÁѣ!#ʘ:"dףd2Z#*7#͉TGOx怱wd66Ms~͠s~!!! ! !!!!!!#8!Q^#V#zь>/2#!B*7#e#OF!##8#*7#͙B!<"~>+~w!::#an!## !## 6" *7#OF:#!6"*N!6!##:#/2##!~Q͐ͷ!S#~++F"#*7#BK~#foʠ$#Ï*#͑ ҫ6"OFh#*N`i6"OF*7#T͉TDZ@Dč4T.͉TMBxۍ4T؍!8"~ͪs~++Fәs~͠s~~<++F͑ 3͗ DM####8"!"~/wh!"~/wÁXʁͺm!#̕!(0͆̕Xʁ͵m!## !## !#:;"2#!#:;"2#*#"u#̕:":#:$*.* $͑ " $DM**!#F@# xģ#*7#OF2ϔA!~_zW# ~_#~A*$"$!#:"ʆ:"ʆ:;"!o#zJnDtͦK> ͓IUMD*7##OF2#͝!#h# Xʁ6"*7#OF :"ʿՏ!$~Տ+V+^*=#͑ !a*(Yѣ!## F:"2$!#̕!6"pDÁ!#:":"_ͪʬ2Z#:"ʁE@:"[*7#@DdG:;"Oẍ́}ېJI!JI:#:#=:#xͿB*7#͕@ʬ:y#͘2y#!*7#L|L:"*7#@Dې>2#2#:"ƈ*7#h#OF{:#_:#_> ͓!#*=+́ ͪAE:"JI:;"OJID3̈́:#_>W! $~w#~w#~w* $:$*$" $DM**"0* ~# xq#*7#OF2#:!#pD̕!"~p#*7#OF!**"0:":LʗG*7#͉TؑDܑDܑxGx͓D|@L×GYDL,D,͓LͦK:"ƈJ7JʗGؑͦKJ7J*7#͙B:;"2#LʚG:"\ F2$Eo:"ö́\:;"!#ҝ*7#@ʑDʑJIo> ͓Io xD:#ՒxB_W*;"*#͑ ՒͬʔYړ2#x͓ILG Ôƈ*7#*7##OF:#.*;"="#>2#.*#͑ .2#ͬʚYœ̈́xRDHLʣGD\LʣG\͓DlLʣGDx͓ͦKJIHͦKJI\JID„ƈ*7##OF*7#!4+6j-28(I> ͓I*;"*#͑ œƈ*7##OF:;"2#!## 2#ã:":;"!#_*;"*7#@D,> > /͘ͿB*;"}|> > ";"* $|y**"0!~ͻ ͭ**{ozgʎ+" $*0~#"0ʎG;L¦!~LxL*5#p#6"5#`L2Z#|Xʁ!c~p!" $!#:#2#ͪL:;"O:"GJLI:"4x!#:#D(:#7"> |4:#1̈́:;"2#:#=:#E|:#|>|:hh!s * $|>ʲØ*Z3ENV0_U#]ZDE 1.6, Copr. 1990 C.WilsonAZ80NWS WCMDNLIBNHAD8 $*Televideo 910+ P TG4G0S= ERTeletype 6     1C>!;;C6 2-00!0|S(D 2-d"ˋe--2;<2\ 2;2;:2<;4:2;*X";:n2,:/ 22!:͸&:; #&͹1` :] (.[&͋%:; !> "/( `i6 ###6lͤm4:;!@2;2;1C>ʹ75*$<""<:'<2&<:; *<"$<:<2'   m KzC!'K!-:;Ĥ!;F/ 3"#3R%#G>  ?" =%& >|%%G"#&);# !; Y08:/ r[ M#!=~+;b!;F / '+y'+'  ( Q(La',2<('2@3(D !;F / !TN"u 6`!'!! J5ͧ4`4y4M5%:a J5y4ͼ4ͼ4ʹ7 3%:;%:;ñ:;( !;͒4ͳ ´72;;4"/( !@ <!Z4:;_;,:;_ - S(D e- ̈́-9:;Ď2;:; 9:^5ͧ423[[:;o&:^#V33 ]]] ͼ4 :;( ( ڴ79% >">>>>>> >> > 2;*c&))))#} + :;_:; /2;[79} !O<5#~T]#͞ (!O<4^w{8>2 :O<2 ɯ} :P<%YY(N  !(!!  ( (#OGyH%Aʩ==ʅ=7 >B23 !^#VS<ٯ2<}ր0L:< i% (:(6(U (y(zy(%(?w# 0@ͬ4444͎ ͎ >+4 44*<|/ ~ٷ #"< 2<6}ր%Ff > BKxbk~08 :0 #x0Ex(<($8*(8 ,!'R 8$!R 8!dR 8! R 8 !R 8x70= DMO  د 7! FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd !; <2;2;2;/2;2[ >2;2;:2;:2;!:͒4 !; Y B(dD(ZP(SL(22;, ͦ,!F#*,<"0<*(<͹:; :;!;2;!;n(q"O R+ Ͱ*,<[.<";S;8!;~(2;<2;:;G̯8o*; 9>h ($:;_( Ϳ8x(( x:<(80>2;> [;{z08:! ~(˾F#!;5K !F#, *0<+ͧ7ô7:;> >:;g(ͧ7!;ͦ,!;4N:;_:;=:;O:;!;8˶>2:;(Gͼ!;N(E:;G:;0>F<= *;:;G<:;!;o&t !ͼͼͼ2ͯ:;G7nnnnn (.(:;ȯ2;>2;:;W :;(>2; !,:;W >^>@> > !;v ` 0O!,(R!o( 4>_!`F#->_! ~ F#˾_!<̯:;G<8:<>x~>#x^#!B:_ !]>"(<*.%".<2<<2<2<2<2'G:;x= :bG x K*<*,<++BDM*( 7>  ###7?(#+Ͱ0S> *,<3 7?z 7*.<+> ##>4:5:<=(,Q)!<8#$:<=:<=!d<:  ͢8&T]~  > 8 > # x S*<Ͱ*.0~ S, 7( !n(!;6**<#w"*<7!;6*,<+w", **< *<"<*0<+ͳ> *,< *!=>_!z(N #= ~(^6#DM!BDM̀{(I: : s#K!T]BBDMN#!=:;N(Q +~#8#+̀ô7 !!>ݾ8^R8#"|6#+| !"!!!;F͎%00 :0 ̈́2;!;F0G!(^#~#, O~˾(#~˾~>1+!:͒4 =(cO!:͒4%YQ 4~%y( !=6ʹ7*( 08 0Gx2<ʄ!="<>2;!R~2 <~'>2=ô7:;0 2;%!;6[(+](.>(5<(<_!=~#0 (0 { #">2:;0 %_R,ʒ%>2;:;> h  *<^!M"<)*<~#"<($_~< :; !<~<(5(!="<̈́{ɯ2;͎> !56!5w9: Y >N29;!/;3ͼ4 9{z~# (8:;3!Z4!Z4 ͹19*(<͹Iͅ!"<9**<"0<*.<~ͻͅ9"/, PY!~N >>w44!>N#Fxv!~@, Ͱ8 *,<>a"͢8 *(<>\", >2<͹ͅ9ͰJ)R,J)ͅ:<=G:<ͩ-9: #+"*2<:=!d!<9͡R,ʅe,( ( ͅ8e,t,[, 7o,y, 77o,y,7R,K!͘( o,y,k͘ K!͘K!͘( o,y,k͘K!j,t,9:<=_!Z8<_+uu[* (I(F&:;$ *$  ++~#( ( | } & K;q:==G=(!my++*,<~( (~6 ]Mͅͻ!;F9!=( O#> 9!P=%9O#> 9%9y+͹*,<~( (~6 ]Mͻͥ9!:͒4 ==2;2;2;>2!~/ -#~#/($YC( B( G(7>22;>2;~#(x2=Y**<"0<:=( GK!, !P=~(G#~J :;%7ͥ(>2;!:͒4 Q=ʹ7P=O!>2;~, :=ʴ7:;(:;(u`:;.,͸8h ( 2;͸0:; ͣ9>2;͸:;(;:;7:;[78( :;:=):;?:;7̈́J5ͧ4!;`4ͼ49> J5:a̧4y4ͼ4 7* ͙2;7_YN !;' 3:;!; !;;2J)!e8#~=!9:R~((J):;(H!l +y0+~:d/<(!:͒4 :<(!~@(>#([h (18,h_:l7!e~( 0# +s{!kl , e͋h (*O<e8e͋h 8 ʹ7 3!:͒4:<` 8(!e(#6(T]#H!;F(  !n (V K  (0(%9_?8 )94{J: J%9͑ : J: g> g[, !I9!9:R)9**<~)9!n)9*,<> > %9:;K!2;:;:;Ͱ8:R(!ͩ͢ )ͅx :<(<(R, ( ͅ=͐!*,<+",<~ !9)9͐!x(*,<++> ##", *,<",<0 *.<#",2;!;2  :\G:;O(@G!~Yw#: +6. %0, :8 @, Gh 0:; , OY !n w+w+w+T]+y6.O3 !<5( > ͉3: ͉3ͼ45:;_ 9 :;( !;͒4ͳ ´7ñ[&!:͸&:; ʹ1-:\ -ͻ,<, y&ô7[&!z:͸&:; +ͦ,͐8**<#/  0  [*<"*<#͹y&ͧ7!9:] ͜&:;:; !;͒4ͳ ʹ7ͦ,*,<"0<*(<͹Ͱ0*, 2<, G!~Yw#!~/ #+ x9-, 2;#~W( A(N, 2;!";:;N(2;=2;:T2;:;= *X";>;!";2;2;=2;>:2, 3R,_A8[0 nˮ !ͅ)9!:͒4:` , 2;͹1ô79!;~/w!U'!;:;N(:U !;>2!R':R!;~(: Z(:;!; !;A2:W !V':<=:;N( :V!; !;G2g(O:;8>2;y2;g(!;0*2;=' 3ô7:;N(:<=Ĉ(!:͒4:<` (, ͚(!;<͠(1 3!;;~(6w>:G x!dGx( ͥ0x:;=!<4ͯ(75[, 4 - :U(R, (HR, ͅ4((8@ ):<)=ͅ=4 :;=ͰU+R,͙:; }+8 )ͭ+4))ͩ  h I+J)!<>?2<ͰU+R,* ~=!dg:<]0"0 442<ͯͅ(0[, R,(\7[, O+R,- :U(ͅJ)ͯ(07He, ͅJ)(O+O+@ R,( K!K!H)C[, ?7[, G!-(GͅK!+>4)R, G!77~, ͅH%*ͅ+C ͣ9ͣ4 ͣ8 :U(̈́[7͙0(G!yͰ07ͅR, ͩ7 (ͅR, ͅ7[, + (7R, ͅR,7K!K! {2N,:;R,(He, K!4 7e, K!J)(!<:;=G:;4 N,()H6Å*,<~ **<~> !,!,!,!,!, !,R,[,~ #,;:-.?!  J5ͧ4!;`4ͼ4\-2,*#^#VS,,r+s[,*#s#r*#s#r>2\1C>4- ï>0ɷ(%!\˶#˶<(!()% :A2;m4T]-O>: z+6.6:(#x2\y2;_ e+~08+:0'0_+~08:00W_+ 0}{2; }(~ (A8e_>8_+}(~ U#{<2\>:> +#(]2 ͋m47ɯ(H. (#>.w#ٯ#(6 (/  #͊.(w#~ #~/ #~( ͸. 2;!eB͟.F͟.J͟.N͟.:] (!. .,;:?*=?( #͸.2;ANW> +#(T] (#8/(0PY() 45 #( +N+F* |( N#Fxɯ2h2i2|2;/2;ͻ,< 7;,ͻ,/0!:;W K~ >-w(o :;(e/2;~ ~ (0˾> #wz ˾~ +~(8 2;"!n( ~ 8~ > #wz#`/L/2; -:\ -!] ˾#ʹ1?<fͻ,2N<:;(4!\ !\!;;,< §1;,_-8NS(JD(F-;,2;2h2|ͻ,-;,(H| 'c2}2~2ͻ,§1ͻ,'ͻ,< §12;2h2|ͻ,:N<= gͻ,<ʥ1xʝ1!!,(lw:;W <~ ~!8(" ( ( 2;~ >2;:; ~#ͻ,(͝1B!:w > (|0}00(6#ͻ,(͝1ͻ,<72i:a5!;͈4J2!;:;N :; !;2ͨ'I͉''':<=!;#(G2:a5ͧ4`4ü4:S(5!a'( ;4p9;4]͹19ͧ4 5y45:\@4:;O30 2y01y x40y04/(+`iF($:\# N:;(>/4#~ 4>:4!]~˿ (4#>.4!e~4#4>/4:;4ü4!S'w3;4]9:S!<:< :<2<:<_~# ~#GͿ3͉333:<, !;'(/;4:< 9I>2;f7:a 55J22;9;49:  52ͧ43*2ͧ4:<_8ͼ4:`!:Z4>2 <:`!:Z42 <: _4_:<_:S! 8HG(( 8_4{= (2@ͬ444>y (:;( <4{8:> >> :;02;:cGÅ>22{9@9>22!{98!:<=!{98@996:a!!; 2Z4: 37:<=:<=R,( :2;>2;!;!;65R,:;[, (Ͱ8<440:<:G:P:P:J:J:Y:e:OuoMemoryInvaliKeyI/ErrorNoFoundSyntaErrorCannoReformatNameReadWriteEraseLoadFindChangtoDirOptionsLengthColumnPageLineMacroRepeacoun([Q],0-9/*)Kenumbe([N/Q],0-9)Abandochanges(Y/N)Unchangedsave(Y/N) ChangedQFilsizeNNNNNMemorusedNNNNNFreeNNNNN [MenudisabledseManual] 'LCl ^Q ^O ^P ^KESCChg?WaitRdy^QTOP Pg INSvt hy AI DS MR PS BAK:_ !j;̓4 ô7:<, !>̓45%F (!? ((!A(!@ ̓4 9^csup^worrt^linup^delete^UNdelete^PPtcode ^down^worlf^lindnDEdeleft^reform^Pplacmark ^left^pagup^insert^deword^castoggle ^right^pagdn^insrCR^deline^L(^\rpfind (PRES^K/ESC^O^FOSUBMENUS) ^KBegiblock^KblocWrite^KLoanew^KNameEscMacrdef ^Kenblock^Kdeletblock^KSave ^KInfoEscstorkey ^KUnmarblk^KReafile^Ksave+load^KPrintEsc0..usky ^KCopblock^KFillist^Ksave+eXitEsc-TAtaback ^KmoVblock^KErasfile^KQuit Esc-Arrowshifscreen ^QgotBlock^Q+Uninstalled Terminal = )TYRE(! ʃ!Ã()2Draft Printer DRAFT d,- ABCDEFGHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRWS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 WPRVIEWPreview to File SIMPLESimple Printer XTRACT Extract Data/Document to File ASCIIPlain ASCII Document to File DRAFTDraft Printer TYPEWRTypewriter Printer AUTOLFAuto Line Feed Printer CUSTOMCustom Printer DIABLODiablo Daisy Wheel NEC Spinwriter 2015/3515/7715 630WPDiablo 630 with WP Option 630ECSDiablo 630 ECS QUMEQume Sprint Daisy Wheel C. Itoh F10 Starwriter QUMEWPQume Sprint with WP Option SR550Silver Reed EXP-550 SPINWRNEC Spinwriter 2000R/3500R NEC Spinwriter 2010/3510/7710 NEC Spinwriter 2030/3530/7730 SPIN50 NEC Spinwriter 2050/3550/8850 NECP2INEC Pinwriter P2/P3 -3 or -6 NECP5NEC Pinwriter P5XL/P6/P7 MX80'Epson MX-80 or MX-100 with Graftrax+ FX80Epson FX-80 or FX-100 RX80Epson RX-80 LX80Epson LX-80 LQ800Epson LQ-800 or LQ-1000 LQ1500Epson LQ-1500 FX85!Epson FX-85, FX-185, or FX-286 IBMQUIIBM Quietwriter IBMCLRIBM Color Printer 5182 IBMGRIBM Graphics Printer IBMPROIBM Proprinter IBMWPIBM Wheelprinter 5216 IBMWPEIBM Wheelprinter 5223 E ML84Okidata Microline 84 step 2 ML92Okidata Microline 92/93 ML92I"Okidata Microline 84/92/93, IBM ML182Okidata Microline 182/183 ML182I!Okidata Microline 182/183, IBM ML192Okidata Microline 192/193 ML192I!Okidata Microline 192/193, IBM ML292Okidata Microline 292/293 ML292I!Okidata Microline 292/293, IBM PM2410Okidata Pacemark 2410 C1550C. Itoh 1550 or 8510 HPTJIHP ThinkJet 2225C, IBM mode HPLJETHP LaserJet HPLJ:BHP LaserJet, B Cartridge HPLJ:U HP LaserJet, U & V Cartridges HPLJ:Y&HP LaserJet, Y Cartridge, AC TmsRmn HPL:ADHP LaserJet, AD TmsRmn LBP8"Canon LBP-8 A1/A2 Laser Printer LP4080Ricoh LP4080 Laser Printer P351Toshiba P351 P1340Toshiba P1340 P1351Toshiba P1351 GEM10XStar Micronics Gemini 10X NX10Star Micronics NX-10 CITMSPCitizen MSP P1090Panasonic KX-P1090 TI855Texas Instruments 855 or 865 D2100PTandy DMP-2100P MT160LMannesmann Tally MT-160L 9500Anadex/Inteq 9500A & 9500B 9501BAnadex/Inteq 9501B SP8050Dataproducts SPG 8050 & 8070 MPI99MPI PrintMate 99 Z125Zenith Z-125AA qCODE DATA %COMPOS>$PORT $LAND XCHAR +FILNAMa$STARTw$DONE $QUIT $PF $PG UPCASEUCOLATEs$DR???$LQ???$PS???$DR7??$LQ7??$PS7??$DR8??$LQ8??$PS8??$DR9??$LQ9??$PS9??$DR10?$LQ10?$PS10?$DR12?$LQ12?$PS12?$DR14? $LQ14? $PS14?$DR16? $LQ16? $PS16?)$DR18?3$LQ18?3$PS18?>$DR20?H$LQ20?H$PS20?Q$DR24?[$LQ24?[$PS24?d$DR30?n$LQ30?n$PS30?wPS????PS7???PS8???PS9???PS10??PS12??PS14??PS16??)PS18??>PS20??QPS24??dPS30??w$DR???$LQ???$PS???$DR?I?$LQ?I?$PS?I?$PS?I?$DR??I$LQ??I$PS??IPS?I??PS??I?$DR?B?$LQ?B?$PS?B?$PS?B?$DR??B$LQ??B$PS??BPS?B??PS??B?CRLF CRET $FFEED HALFLF&BACKSPONORMWDqALTRWDPHSP PHRUB BINDSPBLDON BLDOFFDBLON DBLOFFUNDON UNDOFFSPRON %SPROFF6SUBON HSUBOFFWSTKON gSTKOFFvITLON ITLOFFEXTON EXTOFFNLQON NLQOFFBLDOVR DBLOVRA Driver code, DO NOT CHANGE All strings and tables Printer composed character table Default output file Printer initialization string End of document string Quit while printing string Phantom space string Phantom rubout string Portrait mode string Landscape mode string Extended char translate table (80H-FFH) Upper case conversion table Collation sequence table Font selection string, 17 pitch 7 point 15 pitch 8 point 12.5 pitch 9 point 12 pitch 10 point 10 pitch 12 point 8.5 pitch 14 point 7 pitch 16 point 6.3 pitch 18 point 6 pitch 20 point 5 pitch 24 point 4 pitch 30 point  Character width table, draft quality proportional italicbold Move to left side and down one line Move to left side of carriage Eject paper to next page Move down 1/2 line for sub/superscript Move print head left one column Select normal character width Select alternate character width Binding space Boldface on Boldface off Doublestrike on Doublestrike off Underline on Underline off Superscript on Superscript off Subscript on Subscript off Strikeout on Strikeout off Italics on Italics off Extended character set on Extended character set off Near letter quality on (.LQ ON) Near letter quality off (.LQ OFF) Number of overstrikes for bold Number of overstrikes for doublestrikeCR LF ESCTRUEFALSEDISPLASTRINGLSTOUTLSOSTALSTINLSISTALSTRNGMPMFLGSHAREFUNDLYFUNTBLHITEWID WRAP!XONOFF"SCROLL#DIRSIZ$DELSTR&SHYSTR,BBLOCK2KBLOCK7SOFTSP<=CRTIDBCLEAD1jCLEAD2oCTRAILtCB4LFGyCUROFFzASCUR|UCRPOS}ONCUROFFCURERASCRBAKSPCERAEOLERAEOSLINDELLININSLINMAXTRMINITRMUNIINISUBUNISUBVIDATTBRITEADELCUSBDELMISCDXOFFDDLONGFDMEDHDSHORTJUPDLYLDDISKNDFASTPUCNSTARUCONIUUCONOXMORPAT[CRTPATPRNID[DEFPRNPRNDLYPPAUSEPFFEEDPNODOCLXOFFLETXLCHRMXULOSTAULSTOULISTAULSTILSTDEVULPORTULUNPTULINIULUNIHFMAXDATSEPDLISTUPRCTLUPRQUPRWUPREUPRRSTKCHR!FORMF"PRNPAT;INITIDLGLDRVLGLUSRMSFILEHPFILEIXFILELDFILEOVFILE&WSFILE2SHFILE>DEFUSRJSPCMDKSPFILEXURUNYINILOG[BAKTYP_BFTYPEbAFTYPEeBLKTYPhNOTYPEkDIRFILININONINIBAKEDCONDLGLCHRMOVCHRAUTOBSINIDOCINIRLRINIRLI6DSTKSZ7INIDIR9DIRSRT:INIHLP;UNONE<UNSIZE=VMSIZE?EDSIZE@BFSIZEATYSIZEDEINIFINIINISTAOSTZDE16.DIR: Files in ZDE16.LBR, 01 June 90 by Carson Wilson: Filename Purpose ------------ --------------------------------------- SAMPKEY.DZC Sample key file for use with ZDENSTAL. SAMPKEY.ZDK SAMPKEY.ZDT ZDE16.CZM ZDE itself. ZDE16.DZR This file. ZDE16.FOR Short RCP/M description of ZDE. ZDE16.NZW New in ZDE version 1.6. ZDENST16.CZM Installer for ZDE version 1.6. ZDEPROP.DZC Proportional formatting support files. ZDEPROP.ZZ0 ZDKCOM13.DZC Key compiler for ZDENSTAL. ZDKCOM13.CZM ------------------------ SAMPKEY.DZC Sample key file for use with ZDENSTAL. SAMPKEY.ZDK SAMPKEY.ZDT ZDE16.CZM ZDE itself. ZDE16.DZR This file. ZDE16.FOR Short RCP/M description of ZDE. ZDE16.NZW New in ZDE version 1.6. ZDENST16.CZM Installer for ZDE version 1.6. ZDEPROP.DZC Proportional formatting ngin on eredisplaymenucontrolsequenceautomaticbetweencursorcurrentcustomtextrightaboutlineblockatchurnfrom name ress hyphenfasthissizewhatworkhavesystemmostwith 1!W6# x%*J!͌/%/ \n(!J"V"V"W"V!\W͟/h/!Nyv&#^#V+z-C&{ J& v&2& v&#~͝`Le&XJ&>2WJ&*W"WJ&!V;Z!0-0ʥ&!i^!p^Ÿ&#&ð&! 0-0 \ \n(> Y_! \!0 \_/2V!X~ &6!W~+ '- '"X ͟/!"Xh/!Wh/I'2\>`!5'!W_ 'h/!(6'&!"X_'h/!W"X ~/I'>2V!W;Z['!62\n(!"X*V!W"W͚[ bk(~/!WxZ'!(W~# Ÿ' —'!&(W ~½' #:W~# ½'!V;Z*V'!W"Wc'w#cw#' x'wH(!i62\n(*Vb*w()&*)) *c+))^*)J)3*7++5,Q---<),G..s+- *N*!F"W*Wn(_kb!(~#foN(!;0 \կ2mX!(>ͦ`!(Nyڙ(ڟ(!:0)! (Fxڱ(ڷ(!:0)!#(~(!F0)!$( ~(#~(!a0):mX(!72\Y!F"W!3(!#X ͟/_.t(>2mX2\^#V#"W͌/n( ͌/n(("W^#V#"W"W^#V#{ʋ)N#F#͌/n( ͌/n( L)(`iO͟/L)"W^#V#Oyʨ)*W͟/"W^#V#OGÚ)YO)))oW]"Wog"W!W~ n(4O) #s#rog"W!W~=n(wO* #^#V"W^#V#"W2\#^#V#"W(~ \!02\_#^#V#"W( \)!V+š*! 1+š*!V+š**V+*!A72\X!"W~#ʑ*ʰ*ʸ* YÚ*+Ú*~# +Ú*/"Wd}_!W"Wcʑ*** Y*+*c +*!72\X_:XW{> Y{ +~/0+ ##+N#fi!Q+!WT+![Q+)(~#foN#͟/͘+w~"W͘+"W!0Š+!*02\`w^#V#(͘+!:2\Nf_!:2\>`##"W++`= ,=+x+++++q!62\*W++++"W##Of_>- YOf_*W+ã+!62\*W++++"W+ã+͘+!:2\N#F+f_!:2\>`!"W`=ʮ,=ʌ,og͒/x,ڌ,og͒/ʈ,Ҍ,q#p!62\*W++++N#F#f_>- YN#Ff_ô,!62\*W"W+5,Y2WOA-Gy-Ao& N#F͒/n(i`("Wog"WAO  :WO$-$--og"W͘+"W0GB-*02\`p͘+"W!:2\og(~\!:2\>`ʢ-=~ʙ-ͤ-ڢ-O#~ͤ-ڢ-w¢-<>0ڼ- ں-ڼ-Ҽ-!H2\!72\Y7!"W+~2W-^#V#-͘+!:2\:W . .~. \%.Ny.#~ Y .$.!02\0._!#72\`!772\d.!"W+~2Wa.^#V#d.͘+=`O 6"W:W?ʚ.+ʚ.ʚ.#*W6 #6 #6:W@ʩ.~͝`ê.~# š.͘+"WNy.#~#fo(ú.#~ Y .!W;ZJ/:V#/!!XZͣZP/W*V͚[!X*V/Ͷ[.P/>OͶ[P/!!XZ*VͶ[P/!WxZP/!!XxZP/>!6S/!62\:Vc/!!XZ>H/ ~ !{/͟/COMŠ/# /z{xy{_zWx͌//ھ/ +w x±//~# x¾/ɯ)lg/ //Not enough memory to run WSCHANGE.Can't find Wrong version of WSCHHELP.OVR.WSCHANGE.OVR. WSCHANGE cancelled YNON OFF DIS Standard CP/M-80 VersionW7Af4B4Cl6D65EE;F6GQ3H]3I=J:K:L\8M_7NGR5S;T:U9V8W5Y8:Z:!>XIG?10dC 0CONSOL 0STNDRD1If you have one of the terminals or computers listed in the menu, typethe letter next to it. This installs WordStar to use your screen.If your terminal is not in the menu, look in the documentation that camewith it to see if it emulates one of the terminals that is there. Youmay have to change some switches or use a set up key to change the emulation.On most terminals the function keys and arrow keys will not be enabled.For some of them, you can use the WSCHANGE program to change the keys.(WSCHANGE can also be used to change colors on some terminals.)~3B3 IG~3 B333334 IG: 99"D=\9Y33 333Kaypro II/IV Kaypro 2X/4X/10 B4C0B1C2C3C1*2!Nwy#Uy!:Ay@!̓y!!̓y! !ÃC0C1C3B0B1B3l4 IG9 B4j4444V=X=4^=b= ADDS 25 Y Kk0@l4 B44444 IGADDS Viewpoint 0A  y:A>ʀyB>€>À9 "B=B*5 IG Qume 102 9 Bg5^=5V=X=s5jo5y5}55 IGVT52 YHJDKJ49 B55555jo5y5}55!@=5 IGZenith Z19 or Heath H19 LMHJwq%!y:AʃyBƒ!Ãpq9 !T6BD6jP6V6\6`6d6h6j6^= IG IBM 3101 YLHDIJr6 IG9 !@=B6j6o6t6z6|666666667b=ANSI Standard [;H Z10!̓!^#Vy:A{y@{z0>;̀̀y!ăy!ă>mÀ[0;4;7b8 B|7T8X878 IGLiberty Freedom 200 sq|;1|1|1 |1|1|1| 1| 1| 1|1|1| 1|!1| 1|1|1|1|1MKG0|;0|0|0|0|0|0| 0| 0| 0|0|0| 0|!0| 0|0|0|0|0b8 IG9 "B=B88888b=Liberty Freedom 100 *gG@G0,!̓y 0Gy:Axʀy@x€ÀG9 j8o8t9z9|9B 9 IGaRC Wyse WY-50 9 IG 9 9!>="D=#9B9j9o9t9yJ=z9|N=}9999999999999B9C9R9U9X9b=PTeleVideo 925/950 = *)TYRE(%!y:AʃyBƒ!Ã()9 B':T= IGTeleVideo 912 9 u:!@=Bw::P=R=T=V=X=Z=\=^=b= IGOMinimum Terminal r6 B:::::^= IGMinimum ANSI : IG9B:Lear Siegler ADM-31 : IG9 B%;R=T=V=X=B;\=^=Lear Siegler ADM-3A 9 B;!@=j;;;;;;z;yL=\=;b= IGHazeltine 1500 ~~~~~~%!y:AʃyBƒ!Ã~~9 B<<V=<X=9!<b= IGSoroc IQ 120 *) Y%!y:AʃyBƒ!Ã()M< IG9 Bd<<}<<Morrow Designs MDT-20 ()%!y:AʃyBƒ!Ã()9 B<<< IGMorrow MDT 60/70 )(7!̓2y:Ay@0yyÀGM< B'=yL= IGLear Siegler ADM-20 j= IG9 Bn>T=>==[=Xj>!@=%!y:AʃyBƒ!Ã()1O: y2 2  xyO*. *|! ͣ!N#FogYP{O2ͣ!ͣ^#V#s#r ™~# £*|! ͣ^#V:O!ãOsborne I with 24X80 Screen )j= B>!>= IGOsborne Nuevo 9 !@=B@}@@@@@@@@@@@}@@@9@R6@99@ ? IGO T]!4!T}_}W>_zW*7~w"7:929@͂ f͂ !"7 |gs# x r# x 7 d ! i *7}o"7T] yOxG7 d +*7}/ *o! F6§ > ̈́ Gʧ >2 Gx: >Ä é Ê y!yO~Gy#!p @g  Q '_*7:Gw|gp,}-_!^#V*7v  öOsborne Executive *   New in ZDE Z-System Display Editor Version 1.6 02 Jun 90 ZDE is copyright 1990 by Carson Wilson, all rights reserved. You use ZDE at your own risk. The author accepts no liability for any damages resulting from its use or misuse. The files in this library may not be circulated in any incomplete or modified form without the written permission of Carson Wilson. Any commercial use of ZDE, defined as any situation where the duplicator receives revenue by duplicating or distributing ZDE by itself or in conjunction with any hardware or software product, is expressly prohibited unless authorized in writing by Carson Wilson. This file describes changes to ZDE since version 1.3. I have decided not to release document revisions while ZDE is still in active development. For now, please obtain ZDE10.DOC and ZDENSTAL.DOC from ZDE10.LBR, and ZDE13.NEW from ZDE13.LBR, available on Antelope Freeway and many other remote CP/M systems. Except for the changes detailed below, these text files provide a thorough explanation of how to use and install ZDE. Alternatively, send a contribution to support further work on ZDE, and I will mail you a high quality, up-to-date printed manual for ZDE version 1.6. See section 6.3 of this file for details. - CONTENTS - 1. FUNCTIONAL ENHANCEMENTS. 1.1. Proportional Formatting. 1.2. Last Entry Recall. 1.3. Enhanced Operation Under CP/M Plus and ZSDOS. 1.4. Control-U now Aborts "Delete To" Function. 1.5. Fully Operational Auto-Indent (^OA). 1.6. Chain to ZCPR Error Handler. 1.7. Return to Previous Position Command (^QP). 1.8. Global Find/Replace Option. 1.9. Semicolons are now Characters in Nondocuments. 2. BUGS FIXED. 2.1. More Robust Space Calculation. 2.2. ZCPR Line Queue Bug Fixed. 2.3. Other Minor Nuisances Corrected. 3. INSTALLATION. 3.1. New in ZDENSTAL Version 1.6. 4. USAGE HINTS. 4.1. Saving Macros. 4.2. Creating a Smaller ZDE. 4.3. Using GET and GO with ZDE. 5. DEVELOPMENT HISTORY. 6. FURTHER INFORMATION. 6.1. About Z System. 6.2. About the Author. 6.3. Pre-Printed Manuals. 1. FUNCTIONAL ENHANCEMENTS. 1.1. Proportional Formatting. ZDE can now format your text for use with proportional printer fonts! See the files ZDEPROP.DOC and ZDEPROP.Z80 (included in ZDE16.LBR) for full details. 1.2. Last Entry Recall. The following commands (among others) cause ZDE to prompt you for information: COMMAND PROMPT ^KD "Load:" ^KE "Erase:" ^KN "Name:" ^KL "Load:" ^KR "Read:" ^QF "Find:" ^QA "Find:" and "Change to:" ESC-M "Macro:" You can often save typing time and prevent errors by using control-R or your right arrow key [as installed] to Recall your last response to any of the above prompts. For example, to read in a file and then erase it, you could enter "^KR, , RETURN" followed by "^KE, ^R, RETURN". The ^R command will automatically recalls the filename you entered in response to the "Read:" prompt. The Find, Replace, and Macro prompts work in a similar manner. ^R Recalls your entire response; right arrow recalls your last response one character at a time to allow further editing. The Recall keys can also be used to recall the last used macro, even if it wasn't entered manually. 1.3. Enhanced Operation Under CP/M Plus and Z3PLUS. ZDE takes advantage of advanced BDOS error handling to provide slightly faster file output under CP/M Plus and Z3PLUS. In addition, file Create stamps are now preserved under CP/M Plus based systems as well as ZSDOS and ZDDOS systems. 1.4. Control-U now Aborts "Delete To" Function. Control-U can now be used to abort a "Delete To" (^QT) operation. Previously, ZDE would attempt to delete up to the next literal ^U character in the file, often causing frustration. 1.5. Fully Operational Auto-Indent (^OA). Auto-Indent is useful for typing outlines, structured program source code, and other text where the "left margin" varies. When the Insert (^V) toggle is on, Auto-Indent aligns the left margin with that of the previous line. When Insert is off, it causes the RETURN key to act differently: RETURN advances the cursor past any indentation when moving through a file. When a new line is begun either by wordwrap or reformat (see below) or by hitting RETURN with Insert on, Auto-Indent indents the following line or lines to equal the previous one. It does this by counting the number of spaces or Hard TABs (whichever came first) before the text of the previous line, and indenting, wrapping, or reformatting using this number of spaces or Hard TABs. This entails certain possible conflicts, most of which ZDE itself automatically prevents: First, if you mix Hard TABs and spaces when indenting a line, AI may give strange results, as it will count and use the first character only. For example, if your line is indented as , AI will indent the next line with only. To avoid conflicts, enabling AI sets the left margin to 1, and setting the left margin greater than 1 disables AI. Also, Double Spacing (^O S) is disabled by Auto-Indent, and Auto-Indent disables Double Spacing. Auto-indent status also now defaults to ON in Nondocument mode, and OFF otherwise. 1.6. Chain to ZCPR Error Handler. ZDE 1.6 will chain to the installed Error Handler under ZCPR 3.4 with error #12 (TPA overflow) if there was not enough memory for ZDE to edit the file you specified on the command line. ZDE does this because the flow of logic in a multiple command line sometimes dictates that the editor complete its task before succeeding commands are carried out. For example, I use the a multiple command alias similar to the following ZDE file;echo erase;if in;era file;else;mv file newdir:;fi to process modem capture files. After processing each file with ZDE I generally want either to erase it (if it contained nothing worth saving) or move it to another directory. But on occasion the capture file is too large to process with ZDE. If the script were allowed to proceed, it would force me either to erase the capture file or move it elsewhere, neither of which would be appropriate if I hadn't even looked at its contents yet. This is where Z System's error handler comes it handy: it provides a means of dealing with an offending command line before unwanted commands cause harm. When ZDE chains to the error handler, I can _edit_ commands beginning with ZDE's invocation, either removing unwanted commands or inserting further commands as the situation may dictate (it is also possible to abort the command or multiple command script altogether). In the above case, I would revise my command line to the following: NW file;echo erase;if in;era file;else;mv file newdir:;fi By substituting the ZDE command with NW I have invoked NewWord for this instance only of the command, which in turn will edit the larger file. Without question the finest ZCPR error handler now available is Rob Friefeld's ZERR. There are even provisions within ZERR for automatically editing LSH scripts and for automatically chaining to transient versions when resident (RCP, CCP) commands fail; all of this is described in ZERR13.LBR. 1.7. Return to Previous Position Command (^QP). This function is basically the same as the WordStar command: hitting ^Q-P takes you to the position the cursor was at before the previous command (including the ^QP command itself - try it!). For instance, the sequence "^B, ^Q-P" reformats beginning with the current line then restores the cursor to its original position within the paragraph. ^Q-P is also useful for moving long distances within a file without losing one's place: for example you can move to the top of the file with ^Q-R, then come back with ^Q-P. Within Macros, the previous cursor location is preserved: ^Q-P will always return you to your place in the text BEFORE you invoked the Macro. This not only allows you to resume editing at the same location after using Macros; you can also build one or more ^Q-P commands into the Macro itself. See SAMPKEY.* files for one example; I'm sure there are lots of other ways to use ^Q-P within a Macro. Thanks to Howard Schwartz for keeping on my case about this feature until I finally discovered an easy way to implement it. 1.8. Global Find/Replace Option. Besides "B" (backwards search) and "C" (case-sensitive search), ZDE now sports a THIRD find/replace option: "G" for Global search. ZDE normally begins your (backward or forward) search at the current cursor location. Specifying "G" causes ZDE to start at the BEGINNING of the file when searching forward for strings, or at the END when searching backwards. Otherwise, the search or replace command proceeds exactly as it does normally. The "G" option is used in the same way as the other options, by enclosing it in slashes as a prefix to the string being searched for (e.g., to find "Carson" globally, enter "/gc/Carson" in response to ^Q-F's "Find: " prompt). 1.9. Semicolons are now Characters in Nondocuments. ZDE now counts the ";" (semicolon) character as a normal character in "N" mode, whereas it counts the semicolon as a punctuation mark in the "W" and "A" modes. This is mainly of interest to assembly language programmers, as the semicolon is often used alone to mark the beginnings of comments in source code. Treating the semicolon as a normal character in "N" files simply makes it easier to manipulate assembly language comments. Thanks to Rob Friefeld for his thoughts on this. 2. BUGS FIXED. 2.1. More Robust Space Calculation. ZDE's calculation of memory space remaining is now more robust. In past versions of ZDE (and VDE), certain editing commands could cause a crash when only a few bytes of free memory were available (thanks to Rob Friefeld). 2.2. ZCPR Line Queue Bug Fixed. The ^QQ (go to next line in ZCPR queue) command of previous versions of ZDE failed if ZCPR's 16-byte user-defined buffer was filled. Version 1.6 fixes this problem, properly returning to the first line in the queue after the last value in has been reached. This allows Turbo Pascal-like interactive programming of Z80 assembly language when used under Z System with Al Hawley's ZMAC Z80 Macro Compiler ($50 including ZML and ZMLIB; contact Al Hawley at Ladera Z-Node, 213/670-9465 (modem), Ladera Heights, CA). 2.3. Other Minor Nuisances Corrected. ZDE now turns alternate video off when placing the cursor at the string to change during ^QA prompts. A bug which allowed an extra character or hyphen on the last line of a paragraph if the line's length was one character beyond the right margin has been fixed (thanks to Larry Schnitger for spotting these). A bug which occurred if you set the block end marker to the last byte in the file then did a block delete has been fixed (thanks to Ben Cohen for finding this). One or more bug(s) which occurred while printing have been cleared up. ZDE should now always give a correct left margin with or without a page header or top margin. The printout is also slightly faster when left and top margins are used together. ZDE now always finds strings located exactly at the end of a file. When searching with the /c/ option, erroneous results occurred if a non-matching string of the same length as the search string beginning with the same first character as the search string was located at the very end of a file. This has been fixed. Fixed minor bug in proportional formatting that caused repeated ^B commands to give inconsistent results under some circumstances. Fixed bug which set margins spuriously if an illegal number was entered. ZDE also now disallows setting margins to zero, which caused formatting problems. ^B (reformat) no longer absorbs following commands, allowing ^B to be embedded in key redefinitions with SmartKey, etc. 3. INSTALLATION. You MUST use ZDENSTAL 1.6 to install this version of ZDE. Older ZDK and .ZDP files will still work. Due to extra installation codes, .ZDE files created with version 1.0 of ZDE will not work with this version of ZDENSTAL. 3.1. New in ZDENSTAL Version 1.6. The proportional formatting (^OJ) toggle can be disabled with ZDENSTAL to allow use of ZDE's proportional spacing table as a patch area. When proportional spacing is disabled, an additional 96 bytes of space is released for custom user patching. ZDENSTAL also allows you to set the proportional formatting toggle to ON or OFF at startup [this can also be toggled while operating ZDE]. ZDENSTAL's "R" option now restores ZDE's proportional spacing table to its default (as distributed) values. ZDENSTAL's "F" option now gives the locations of all FIVE key definition tables (former versions left out the ESC- table). The "F" option also gives the location of ZDE's proportional spacing table for use when patching ZDE. The Osborne 1 and Vixen terminal definitions are now separate due to different screen width requirements (thanks to Ben Cohen for sorting this out). ZDENSTAL previously would overwrite .ZDK and .ZDP files with the wrong information if the .ZDK or .ZDP file had been archived (bit 7 of filetype character 3 set). This problem has been corrected in version 1.6. Some ZDENSTAL messages have been improved. 4. USAGE HINTS. The following are just some miscellania that I have picked up from using and working on ZDE. 4.1. Saving Macros to Disk. Under Z System version 3.4, it is possible to "save your work" after creating a working Macro. First, be sure to save your new Macros as Macro Keys using ZDE's ESC-# command (see ZDE Manual). Then exit ZDE and type POKE 310 02 50;ZSAVE 310-490 filename.ZDK You have just used Z System's type-4 SAVE program to create a new .ZDK file, which can now be examined and installed permanently into ZDE with ZDENSTAL, or further revised using ZDKCOM. [NOTE: the addresses and values given above will work for ZDE version 1.6, but may change with future versions of ZDE.] 4.2. Creating a Smaller ZDE. If you are SURE you will never want to enable the Help Menus, you can create a slightly smaller copy of ZDE. First use ZDENSTAL to disable ZDE's Help Menus. Then issue the Z System command, GET 100 ZDE.COM;ZSAVE 100-3E7F filename.COM This creates a copy of ZDE that is about 1 kilobyte smaller than the distributed package, and loads somewhat faster on slower systems. This procedure is specific to ZDE 1.6; do NOT assume that it will work on future versions. 4.3. Using GET and GO with ZDE. Some users have discovered that the Z System GET and GO commands can be used to extend ZDE's versatility or save disk space. Since the .ZDE, .ZDP, and .ZDK files used by ZDENSTAL are simply binary images of various portions of ZDE, you can achieve the versatility of having several copies of ZDE without the added disk overhead by using Z System commands that "install" one or more of ZDENSTAL's files on the fly. For example, if you used ZDE with a particular terminal most of the time, but occasionally switched to another terminal that was incompatible with the first one, you might want to create a Z System Alias which would overlay the default copy of ZDE with your second terminal's characteristics at startup. You could achieve this by first using ZDENSTAL to configure ZDE for your second terminal, saving the terminal's characteristics into a .ZDE file (see the ZDE Manual for details on this). You would then ZDE for your normal terminal, and write an Alias to auto-install this copy of ZDE for your occasional terminal on the fly: GET 100 ZDE.COM;GET 180 term2.ZDE;GO $* This command loads the file term2.ZDE over ZDE before proceeding, providing a temporary copy of ZDE that works with your second terminal. This approach can also be used to generate "virtual" copies of ZDE with different printer codes and Macro Key definitions. The addresses of the various overlays for ZDE version 1.6 are: 180 hex - Terminal codes (.ZDE files) 1F0 hex - Printer codes (.ZDP files) 310 hex - Macro Keys (.ZDK files) [These addresses may well change in future versions of ZDE.] Obviously, this involves some "homework:" if you get the addresses wrong or use an incompatible .ZDx file (from a previous version of ZDE, for example), you will likely cause yourself grief. For these reasons I generally recommend simply creating multiple copies of ZDE. But under some circumstances (e.g., laptop computer with limited disk or ROM space) this approach may be quite rewarding. 5. DEVELOPMENT HISTORY. ZDE is a descendant of Eric Meyer's famous VDE (Video Display Editor) program for CP/M. In 1988, Eric produced his final version of VDE for CP/M (2.66). Eric now maintains VDE for MS-DOS only; ZDE continues VDE's evolution on Z80 systems. ZDE removes many of the CP/M VDE's defects and adds such features as support for ZCPR, ZSDOS, and CP/M Plus, improved terminal and disk I/O performance, proportional formatting, file datestamp support, and improved installation. Meanwhile, the MS-DOS version of VDE has continued to evolve, now boasting multiple file buffers, auto-save, auto-number, and much more. VDE for MS-DOS is available on computer bulletin boards (including Antelope Freeway; see below) as VDE152.ZIP. 6. FURTHER INFORMATION. 6.1. About Z System. If you are using CP/M equipment, you have probably heard of Z System. Basically this is a downward compatible replacement for the system software distributed with Z80 CP/M equipment. By utilizing Z80 opcodes and advanced design techniques, the authors of Z System have expanded the versatility of the CP/M operating system far beyond its original limitations. To learn more about Z System, log into the bulletin board listed below, or contact one of the following: Plu*Perfect Systems Sage Microsystems East 410 23rd St. 1435 Centre St. Santa Monica, CA 90402 Newton Centre, MA 02159-2469 (213)-393-6105 (eves.) (617)-965-3552 (9am-11pm) 6.2. About the Author First, let me take this opportunity to thank the community of users without whose support this version of ZDE would not have been possible. You have made ZDE what it is through your generous contributions of time and/or money. Without those who appreciate (and criticize) my work I doubt I could justify the time and energy I've spent on ZDE. In addition, many of the improvements and bug fixes in version 1.6 result directly from specific comments and insights by users. Please continue to share your thoughts and experiences with ZDE; I'm listening. I am a doctoral student trying to keep from starving while working on my dissertation in Political Science at Loyola University of Chicago. I am a coauthor of ZSDOS, a commercial replacement for the BDOS portion of CP/M, and have authored numerous CP/M and Z System programs. My interests include computer programming, telecommunications, the Soviet Union, Political Theory, and bicycling (not necessarily in that order). I am also looking for part- or full-time work. To this end I am skilled in political analysis, know the Russian language and the Z80, C, BASIC, and Pascal computer languages, and have comprehensive knowledge of CP/M and Z System and working knowledge of Unix and MS-DOS. If you know of a gainful opening in the computer field, I would like to hear from you. Among other things I operate the Antelope Freeway Remote Access Systems for CFOG, Chicago's First Osborne Group. These dual remote systems are available at the same number, 312/764-5162, Chicago. Antelope 1 covers CP/M and Z System while Antelope 2 is dedicated to MS-DOS support. The best way to contact me is through this board. Registration is free. If you are not a registered member, you can leave me a note as part of your application. Alternatively, my mailing address is: 1359 W. Greenleaf, #1D Chicago, IL 60626 USA 6.3. Pre-Printed Manuals. As I mentioned above, I don't plan to reissue the ZDE manuals with the library while ZDE is still in development. For those who wish an updated manual and/or wish to support ZDE, I offer instead a pre-printed 40-page User's Manual and Installation Guide with Table of Contents and Index, postpaid, for those who make contributions of $6 or more to support further development of ZDE. dress is: 1359 W. Greenleaf, #1D Chicago, IL 60626 USA 6.3. Pre-Printed Manuals. As I mentioned above, I don't plan to reissue the ZDE manuals with the library while ZDE is still in development. For those who wish an ups*1**""!ev ZDENSTAL - ZDE Installer, Version 1.6 Copyright 1990 by Carson Wilson [Opening !] ̈́!l \͊Q**R^!*#-p͊Q**fR^!*-v] Installing: !,̈́v ...Press to see Main Menuͨ v --------------- ZDENSTAL MENU --------------- ption configuration ey definitions erminal installation urther patching

rinter installation estore defaults Choose option, ave, uit, or elp: ͨͷH OT% PKFQ1RhSHóv ZDENSTAL HELP -- press ^C at any time to abort ZDENSTAL ZDENSTAL asks for several types of values: LOGICAL values: Simply enter "Y" or "N" (Yes/No). DECIMAL values: Enter a number from 0-255. HEX (byte) values: 2 digits 0-F (don't omit leading zeros). BYTE STRINGS: Fixed length - just enter the required number of HEX bytes, 2 digits each. Variable length - enter the HEX # of bytes at the "(" prompt, up to the "[max]" value shown, then the bytes themselves. CHARACTERS: Type the single character directly. TEXT STRINGS: Enter text, then to end. For all items you can either press immediately to keep the current value, or enter a new value instead. (See ZDE manual for further explanation of patches and values.) v RESTORE DEFAULTS. This will restore ZDE to its original distribution state: default options, terminal, printer, proportional spacing; no function keys, no user patches. Proceed? (Y/N) ͨͷY!,7!!-}!",!",!#.T]6!#-p!S._v Done.v USER OPTIONS. Create BAKup files: !,-v Default file mode (W/A/N): dv Auto mode select filetype 1: v Mode: dv Auto mode select filetype 2: v Mode: dv Auto mode select filetype 3: v Mode: dv Auto mode select filetype 4: v Mode: dv Default insert on: -v Default ruler on: -v Default HCR display on: -v Enable hyphenation: -v Enable proportional formatting: -v Allow proportional toggle: -v Left margin col: \v Right margin col: \v Scroll overlap: \v Show system files: -v Fixed drives (A-P): v Ring bell on error: -v Enable help menus: -v Use alt video in header: -v Suppress header by default: -v Clock speed in MHz: ͽv Horizontal & vertical scroll delay: ͽv Fixed tab display spacing:  \ v Variable tab columns: JfJv MODIFY DEFAULT CHARACTERS? (Y/N) ͨͷYv Wildcard character: dv Code for block marker: ͽv Print toggles 1-4 ( v): *v Print switches 1-4 ( v): *4+5#~͌#v TERMINAL INSTALLATION. Currently "!#-̈́v" CHOOSE: dit current or ist terminals: ͨͷEL v TERMINALS: press to select from list: !~#G̈́_ͨͷfY(pv(End of list)#-pvSelectedv EDIT TERMINAL.v Terminal ID: !#-v Viewable columns: \v Auto wrap at line end: -v Viewable lines: \v Extra DELete key: ͽv Extra arrow keys u/d/r/l: *#v Clear to end of line [06]: 8v Terminal init [07]: 8v Terminal deinit [07]: 8v Alternate video on [06]: 8v Alternate video off [06]: 8v Alt video uses high bit: -v Output filter limit: ͽv Cursor position mode (Std/Rev/ANSI/None): dv [Non-ANSI] Cursor position sequence: *v Delay after cursor positioning: ͽv Insert line [06]: 8v Delete line [06]: 8v Ins/del specific to line 1: -v Cursor off [06]: 8v Cursor on [06]: 8v PRINTER INSTALLATION. Printer ID: !-v Send LF after CR: -v Page length, lines: \v Top margin, lines: \v Left margin, columns: \v Printer initialization [13]: 8v Printer deinit [07]: 8v :-ͧv toggle on [07]: 8v ...and off [07]: 8v :-ͧv toggle on [07]: 8v ...and off [07]: 8v :-ͧv toggle on [07]: 8v ...and off [07]: 8v :-ͧv toggle on [07]: 8v ...and off [07]: 8v :-ͧv switch [07]: 8v :-ͧv switch [07]: 8v :-ͧv switch [07]: 8v :-ͧv switch [07]: 8͌Vv Select <0-9> or ap; or to exit: ͨͷ ZP20 2v New definition: ( edits, saves; use ^P to enter these) ͬԌï}ïv MACRO KEYS. (L!.!.vh bytes free)!. > 02v ͟v!ͱ (0((w#͌>8+~ ͱ!>w7v :W:_!.z(N #= ~(^6#DM!0BDML{I:. :.s#K!0T]BBDMN#!v Choose o-repeat or uiet if desired: ͨͷ͌N(Q +~#8#+L !!.>ݾ8^R8#".|6#+| !".!.! OҴ@O^ʹô#($#~~+ ~+~#G~#͌v<>vvv FURTHER PATCHING. You will need DDT or a similar utility. Addresses in this version of the program are: User patch area: *,ͳ-ʹ:,_+ͳv Proportional table: *,ͳ-ʹ:,_+ͳv Command tables Basic: *,ͳv ^K: *,ͳv ESC: *,ͳv ^O: *,ͳv ^Q: *,ͳfv [Closing !] ̈́2h2|22!,\ ͬn: $v, ! ̈́:˿K(.P(!"*!#-*p(!f"*!-*!P"*!.*!*ͬnv] {*v *Aborted* ,v *File)v *Readv *Version v *Writev error* , 7 <(ط̈́m_͓ (.!w#͓ ( 8w#6 #!HH ~Y Nʹm_ͨͷ (Y(N Oʹq##~͌_ͨͷ ( ͌w###m_8(28(w#:w###|}m_8(w#͓ 7?؇2͓O:A~OʹOô0:0 ?ͷ?>2ECF"H$2ECF"H(ʹ*H)ʹ*HF#(#m_!$%6KF:Ex(!$w(Y#͓ -80!$wG(4#͓ :E "8w͓hw#[HKFH!$:E #*HKFH :E#(ʹ)ʹ\v... Ϳm_s8(w#͓ 7?2͓ (0_:W2͓ (_:W؇؂؂؃2:~o&!~ ( Oʹ#0 ?!>FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd F#^#V## ^#V##v :v v? 㯆#Oʹ#Oʹͨͷͨ Oʹͱ1ñôa{_COMZDEAZ80NWS WCMDNLIBNA@@@8 Teletype 6     Generic CRT PN ADDS 25 P KkkG4G0SY LMADDS Viewpoint PK0A  G4G0SY ERAmstrad / Heath P KHEHEpqSY LMx5y5ANSI standard P A;A;IBondwell 2 P TINS= ERDEC VT52 P KHJHJSY Commodore 128 P T)(S= EREpson Geneva PX8PT  S= Kaypro II/IV P S= ERKaypro 2/4/10 P B0C0S= ERC4B4LearSiegler ADM3P TS= ERMorrow MDT-20 P TR= ERMorrow MT-70 PTG1G0S= ER"6"2NEC Starlet 8401PTg**)(S= ERNorthstar Advtg.P S= LMOsborne 1  T)(S= EROsb.Exec./TVI912PTlmS= ER.0.2Osborne Vixen P T)(S= EROtrona Attache P KU&U S= LMQume 102a PT=7 )(S= ER..Televideo 910+ P TG4G0S= ERTRS-80 mod 2 P&TP  SY  TRS-80 model 4P P S= Wyse 60 P T++GpG0S= ER`0`1Zenith ZT10 P Ts1s0S= ERS= ERTRS-80 mod 2 P&TP  SY  EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~L-Y-PtS-a'i'o'u'n~N~a_o_?/1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-.'`?#!# #" DATA c7COMPOSPS10 $PF $PG  $START $DONE $QUIT CODE ~                   TI85500vz^j <MxGJQTW[}ee1x4 x8 x<x?xCx1 x4x8Xx?yCXy  PJMR<%d JMR< P JMR< P zyzyIJQRK2M / $%ed????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?#!# #" DATA cCOMPOSPS10 $PF ^ $PG j $START$DONE $QUIT CODE ~$H<<<<<<<????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-:~-.?#!# #" DATA c COMPOSPS10 kPS12 m$PF $PG ʨ $START+$DONE K$QUIT ;CODE ~<<884,88<<$$888488888888888888<<88<88<8(8<8<<<8<<88<<<<<8(4(0<0888880<8,,<,<888844088<<84((00888088<0<((48<<<<<8<<<<8<888<<88808088<0<((48<<<<<8<<<<8<888<<88808HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<DD@@<$4H@DD((8D @ 8@@@@@@@@@@$$????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #"DATA cdCOMPOSC$PF  $PG ! $START$DONE ŧ$QUIT CODZDEPROP.DOC Proportional Spacing with ZDE June 2, 1990 Carson Wilson 1. INTRODUCTION. 2. USING ZDE'S PROPORTIONAL FORMATTING FEATURE 3. INSTALLATION AND CUSTOMIZATION. 1. INTRODUCTION. ZDE version 1.6 incorporates an elemental proportional formatting feature. This option is useful only to those whose printers have proportional spacing capabilities. Proportional formatting allows you to format ragged right text properly for proportional output. Centering and right justification of proportional text are not available. 2. USING ZDE'S PROPORTIONAL FORMATTING FEATURE Proportionally spaced printing gives a more professional look, allowing more characters to be printed on a line without crowding. This is because less space is allocated to narrow characters like "i" and more to wide characters like "M." Most computer printers do NOT allow proportional spacing; only laser printers, some daisy-wheel equipment, and newer dot-matrix printers have this ability. Typically, there is a special set of instructions which when sent to the printer, cause it to use proportional spacing rather than monospacing. On some models (the Silver Reed SR550 for example), DIP switches also control this feature. ZDE does not itself perform proportional spaced printing; it simply allows you to format your text for use with a printer that has this capability. You must instruct your printer to space proportionally before sending text to it. If you have tried using the proportional capability of your printer, you probably have noticed that LINES WITH LOTS OF WIDE CHARACTERS IN THEM print out much wider than lines comprised of narrow characters. ZDE 1.6 allows you to compensate for this by counting the width of each character when it formats a paragraph (^B command), and wrapping each line when its width count reaches the equivalent of the current right margin setting. The ^OJ command toggles this feature on and off [the default may also be installed with ZDENSTAL]. When proportional spacing is active, the legend "PS" appears in ZDE's status line (this is overwritten by "MR" when the margins are released). Proportional spacing occurs only during the ^B reformat command, not during wordwrap, so to format a document proportionally, you must use ^B at the beginning of each paragraph after you key it in. Still, the results are well worth the extra trouble, especially for material that will be reproduced. 3. INSTALLATION AND CUSTOMIZATION. ZDE comes preconfigured to format text for proportional spacing with Epson's new LQ510 dot matrix printer. Since most printers allocate roughly the same ratios of space to the various characters, there is a good chance you won't need to install ZDE for your printer. This file has been formatted for proportional output by ZDE; try printing it proportionally to see the results. If you should decide to change ZDE's proportional spacing to match your printer, you can patch ZDE's offset values for individual characters. The offsets are stored in a sequential ASCII table whose location is given by ZDENSTAL's "F" option. The table consists of positive and negative (2's compliment) byte values, one for each character beginning with " " and going through "~". As distributed, all of the values are either -12, -6, 0, +6, or +12. The negative numbers are expressed as (256+n), where n is the negative number. So for example, -6 is expressed as (256+(-6)) or 250 (FA hex). ZDE uses its ASCII table as follows. When reformatting a line, ZDE counts each character as (30+table value)/30 of a column wide. So if the offset is zero, the character is one column wide (30/30 = 1) and ZDE increments the current column by one. If the character's offset is -6, it counts as only (30+(-6)/30) or 24/30 columns wide, and ZDE increments the current column by only 24/30. If the character's offset is +12, it counts as 42/30 columns wide, and so on. When a full column is "lost" due to characters with negative offsets, ZDE adds the next character to the line without incrementing the column count. Similarly, when enough "extra" columns are counted to equal a full character, ZDE increments its column count without actually adding another character to the line. To see the effects of this, try reformatting a paragraph or two, first with PS on, then with it off. Lines of wide characters are shortened on screen, while lines of narrow characters are allowed to extend beyond the right margin. When the text is printed proportionally, your printer reverses the process. Lines of wide characters are lengthened and lines of narrow characters are shortened, the net result being proportionally spaced text with an even right margin. If your printer's proportional output is not properly compensated for by ZDE, it is possible to install another offset table within ZDE to suit your needs. The current table's address is given by ZDENSTAL's "F" option. To find the location of a character's offset, add its ASCII value to ZDE's table address and subtract 32. For example, the ASCII value for "A" is 65, so the location of "A"'s offset is (table address+65-32) or (table address+33). You may adjust a character's offset to any value between -34 and +35 decimal, but keep in mind that offsets if less than -29 may result in lines that _never_ reformat since characters with offsets of -30 or less take up no virtual space or less! To calculate the proportional ratios used by your printer, it is best to print out a line of thirty of each character in proportional mode and compare the length of each line to the others. Most characters should result in lines of roughly the same length; this is your "base" length, and you should set the offsets of these characters in ZDE to 00. Other lines will probably fall into four or so other lengths; hopefully these lengths will correspond to an even xx/30ths of the "base" length. To get the proper offset value, just subtract the number of characters equal in length to a line of "base" characters from 30. For example, if only 18 capital "M"'s take up the same length as 30 base characters, the offset for "M" is 30-18 or +12. If it takes 42 "i"'s to equal the length of 30 base characters, the offset for "i" is 30-42 or -12. Once you have determined the offsets in 30ths of each character's width from the base length, just plug these values into ZDE's proportional table. You can use a patcher to alter a few characters. For extensive modification, I have provided the assembly language file ZDEPROP.Z80 which can be assembled to a .HEX file overlay file for ZDE. Before assembling ZDEPROP.HEX, you must edit the file and set the equate TABLE to the current address of ZDE's proportional spacing table as given by ZDENSTAL. Then overlay ZDE with ZDEPROP.HEX using MLOAD, SID, or DDT. - End of ZDEPROP.DOC - v1 ? v2 Replac? an opator: =,<,>,>=,<=,<>,#=,#<,#>,#>=,#<=,#<>  cdi true ui.EI .EL occurs.  "v1andv2valuevariables. .ELRevsss(trufalse) la .IF. .EIMark .IF cdi. To ge EdMu abovep ̾ shown ̞ descrip mu top (Rememb at^meanshould us̟ .) Fgaexplana ̗pques mark (?). Fܒ dospdo(.). Fܒ savworkpD. would likߜ̒ levelp^J aga. docum˱selecthbe protectedThwh ProtectMu htop ̗. To ge ProtectMup ̾ shown ̞ descrip mu top . Fܒ gettoppedpQ. would likߜ̒ levelp^J aga.  (On FormMu)affeclook ̗. - Wh editgpȁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳.  (Block & SavMu)savabandwork"cupae ; copymovease sФ ̹ . - Wh editgpƁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleav; ; File: ZDEPROP.Z80 - Default proportional width table for ZDE. ; Author: Carson Wilson ; Date: 02 Jun 90 ; Notes: Assembles to a .HEX file which overlays ZDE's native table. ; EQUATES TABLE equ ????h ; Change "????" to the value given by ZDENSTAL ; ..for "proportional table." ; ORG TABLE ; Offset Corresponding character db 0 ; space db -12 ; ! db 0 ; " db 0 ; # db 0 ; $ db 6 ; % db 6 ; & db -12 ; ' db -6 ; ( db -6 ; ) db 0 ; * db 0 ; + db -12 ; , db 0 ; - db -12 ; . db 0 ; / ; db 0 ; 0 db 0 ; 1 db 0 ; 2 db 0 ; 3 db 0 ; 4 db 0 ; 5 db 0 ; 6 db 0 ; 7 db 0 ; 8 db 0 ; 9 ; db -12 ; : db -12 ; ; db 0 ; < db 0 ; = db 0 ; > db 0 ; ? ; db 6 ; @ db 6 ; A db 6 ; B db 6 ; C db 6 ; D db 6 ; E db 6 ; F db 6 ; G db 6 ; H db -6 ; I db 0 ; J db 6 ; K db 6 ; L db 12 ; M db 6 ; N db 6 ; O db 6 ; P db 6 ; Q db 6 ; R db 6 ; S db 6 ; T db 12 ; U db 6 ; V db 12 ; W db 6 ; X db 6 ; Y db 0 ; Z db -6 ; [ db 0 ; \ db -6 ; ] db 0 ; ^ db 0 ; _ db -12 ; ` ; db 0 ; a db 6 ; b db 0 ; c db 6 ; d db 0 ; e db -6 ; f db 6 ; g db 6 ; h db -12 ; i db -6 ; j db 6 ; k db -12 ; l db 12 ; m db 6 ; n db 0 ; o db 6 ; p db 6 ; q db 0 ; r db 0 ; s db -6 ; t db 6 ; u db 6 ; v db 12 ; w db 0 ; x db 6 ; y db 0 ; z db -6 ; { db -12 ; | db -6 ; } db 0 ; ~ end ; End ZDEPROP.Z80  ; _ db -12 ; ` ; db 0 ; a db 6 ; b db 0 ; c db 6 ; d db 0 ; e db -6 ; f db 6 ; g db 6 ; h db -12 ; i db -6 ; j db 6 ; k db -12 ; l db 12 ; m db 6 ; n db 0 ; o db 6 ; p db 6 ; q db 0 ; r db 0 ; s db -6 ; t db 6 ; u db 6 ; v db 12 ; w db 0 ; x db 6 ; y db 0 ; z db -6 ; { db -12 ; | db -6 ; } ۍ eciallɛaltnatpitch twelvp ch^PNopitch t p ch̛ (D) you'lse^N ̚ normapitch begs. Relat۳: ^PA(altnate) ^PC ( pause)cause̛ paus timecific loca ɎYou'lserucaraga. ̛ (D) you'lse^C̚ pausoccur. Tip: Us^PCpauswhil˜̛ whee feface. ^PY (italics/color)change italic̛ۧ OR change ribbcolordepɛ how allۍ. Mov̕ ߲wa italic( ribbcolor) beg p^PYlocaى̛ (D) you'lse^Y̚ italic( ribb color) begs. ^PH (ov char)ruct̛ ߛ nex ov pviouԊwould backacsecd top fir ewrit̛ (D) you'lse^H ̚ betwe fir secd s. ^P RETURN (ov )ruct̛ ߛ nex ov pviouԉusua- symbofare !6T!36K!e~Z#~D#~TK!6K!36T!]!]) Converting ͟ to )͟... LF(/ og:K2 >ͩ>Pͩ2ͩ͆ ̆n(+q(!͆ (=/(H^(0(E (ͩʹʹ͆^/̆ƀé͆@*+:=w2͆  x  Done.  {͆͆͆2> 284ր28 ր2>q2>n : q~ : q͕ >^ @/(^(͞:/(^(>/   x:<ғ2!5~(͆>  > :=2͆2#!B"~#_ File type must be ZDT or ZDK. C Input file not found. No directory space for new file. Key macro string exceeds 127 characters. Key macros exceed 498 characters. 12345678ZDT 12345678ZDKC2 *͂9 ͆m_\C*͂G ##^#V+z(s#r#^#V2r+s C͆ *~2#"* +" m:2##^#V+z(s#r#^#V:Cl*:w#"* +" C C* }(+" *6#"[le" ~2 #~2 #^#VS #^#VS#^#VS#"* #: w[ #s#r[#s#r: *: Gs[] >2 *": g.<" !s| D* ): G*x(s[h(*"2 : g.<" !s/͗͗(͗͗< ͗< ͗<(͗͗w w#͵>.͵ . O:gw#"* +" C C* }(+" *6#"[le" ~2 #~2 #^#VS #^#VS#^#VS#"* #: w[ #s#r[#s#r: *: Gs[] >2 *": g.<" !s| D* ): G*x(s[h(*"2 : g ZDKCOM Key File Compiler for ZDE Version 1.3 01 Jun 90 ZDKCOM and its documentation are adapted with permission from VDKCOM12.LBR, by Fred Haines, Glendale Littera RCPM/QBBS, 818 956-6164. VDKCOM version 1.2 is copyright 1988 by Fred Haines, and is released by the author to the CP/M community for all reasonable noncommercial purposes. For the Z80 source code to ZDKCOM, see ZDKCOM13.LBR. CONTENTS 1. How to Use ZDKCOM. 2. Programmer's Note. 1. How to Use ZDKCOM. ZDKCOM compiles an ASCII text file into a *.ZDK file of key macros which ZDENSTAL will install in ZDE. It alsos convert an existing ZDK file into a text file with the extension ZDT. It allows you to create, edit, and re-edit complicated key macros with a full-featured word processor - ZDE itself - instead of the backspace-only line editor in ZDENSTAL. The syntax is: ZDKCOM .ZDT converts text file to ZDK overlay ZDKCOM .ZDK converts overlay to ZDT text file Use ZDE in NONDOCUMENT mode to type a file that looks like what you see when you use the K option of ZDENSTAL, substituting lower case "n" or "q" for the No Repeat and Quiet option indicators and : qThis line would be for key 0 in Quiet mode.^M nThis line would be for key 1 in No Repeat mode.^M This line would be key 3, with key 2 unassigned. n^M^M^M The line above, key 4, prints with two blank lines following it. q"This is in quotes, but no carriage return at the end." "This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M q^VThis line turns insert on before printing the line.^A^A^A^A_^F^D_^M n ^A^A^A^A ...and so on. Lines correspond to the number keys in 0 to 9 order, with blank lines for unassigned keys. Do NOT embed control codes. Type everything in ASCII. For instance, to underline, type out '^P^Swords underlined^P^S'. It's a good idea to make hard carriage returns visible by toggling them on with the ^OD command. ZDKCOM accepts trailing spaces as part of the macro, even though you can't see them, so, if you don't want them, make sure each line is terminated by a hard carriage return. Individual key macro strings may not exceed 127 bytes in the ZDK file, though they may in the ZDT text file, since ASCII representations of single-byte control codes require two bytes, and option flags and slashes don't contribute to the length of the string. The total of all strings may not exceed 498 output bytes. This is two bytes less than allowed by ZDE and ZDENSTAL, but, under the program's present logic, it would require an inordinate amount of code to make those last two bytes available. If you really need them, add them to the ZDK file with ZPATCH or any other patcher, locate the last string-length byte, and add 2 (in hex) to it. For a quick demo, remove the leading spaces from the lines below, mark them as a block, and write them out to .ZDT. Run ZDKCOM .ZDT. Then load the resulting ZDK file into ZDE with the command ZDENSTAL ZDE .ZDK. q^C^C^C^E^E^E^E^E^[^E q^[b^[0^Qs^X^[=^M1^[= 1^S^V ^D^[!0^[1^Qb^B^Ku ^[=^M0^V^I^V^B^G^[![^[0^X ^[=^M0^T^B^N^[0^X q^P^[^P^I^P^K^P^[9 q^V^KrA0:LH.FMT^M q^G^G^G^G^X q^A^A^S q^A^A^S q^KrHEADER^M Key macro 0 measures off one full page if the top margin is 0 and the page length is 58 lines. Adjust for different page lengths by adding or subtracting ^E's. I use this macro to move from line 1 of a page to line 1 of the next page. I then use key macro 9 to read in a page header from a separate file that contains nothing but the properly spaced header text with a # in place of the page number. I search for # with a ^Qf and replace it with the appropriate page numbers. This happens so quickly on a 9 mhz SB180 with hard disk that it is virtually unnoticeable, but there is a faster way to do it. Just make up a header at the top of the first page, or, if you want to start page headers only on page two, at the foot of the file, and mark it as a block. Use key macro 0 to move from the top line of a page to the top line of the next, and copy the header into place with the ^KC command. Don't forget to erase the original of the header at the foot of the file when you get there. Key macro 1 softens and reforms a paragraph by removing the hard carriage returns from the ends of each line. Key macro 2 changes a document in flush left block format (like this one) to indented paragraph form, and key macro 3 changes it back again. Key macro 4 embeds my DIABLO 1610-compatible printer's code for setting a left margin in column 11 (^K=0Bh) in the document. If I want another margin I add or subtract from 0Bh and overwrite the ^K with the appropriate control character. You may well be able to substitute your own printer's set left margin code for this one. Key macro 5 reads in a previously prepared letterhead stored as LH.FMT on drive/user A0. Key macro 6 removes four spaces or characters from the beginning of each line, used to remove line numbers from the beginnings of messages in modem capture files. 2. Programmer's Note. A ZDK file is a data structure four records long. The first two bytes are an ID number which ZDENSTAL checks to ensure that it is working with the correct version. The current number, 0250h, is valid for several recent versions of ZDE. These two bytes are followed by up to ten strings, each preceded by a string-length byte which ZDE uses to index the string's location. Each string is limited by the size of a buffer in ZDE to 127 bytes. An empty string is indicated by a string-length byte of 00h. After the last byte of the last string, the remainder of the 512 bytes are filled with 00h. It is a peculiarity of ZDKCOM that it needs to write two null bytes at the end of the file, which means that it will accept only 498 bytes for the total length of all strings (512, less two ID bytes, less 10 string-length bytes, less these two more) rather than the 500 that ZDE and ZDENSTAL allow. When you look at the key macro buffer of ZDE using the K option of ZDENSTAL, you see something that looks like this: <0>This line would be for key 0 in Quiet mode.^M <1>This line would be for key 1 in No Repeat mode.^M <2><> <3>This line would be key 3, with key 2 unassigned. <4>^M^M^M <5>The line above, key 4, prints with two blank lines following it. <6>"This is in quotes, but no carriage return at the end." <7>"This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M <8><> <9><> The numbers down the side and the option indicators , , and <> (no option) are supplied by ZDENSTAL. The ZDT text file version of the same macro keys would omit the string numbers and no option indicators, and convert the and to simple lower case 'n' and 'q'. If you need lower case 'n' or 'q' as the first character of a key macro, just precede it with a slash, which will be ignored. ZDKCOM recognizes blank lines as unassigned keys. These produce an "error" message when invoked by ZDE. ZDE recognizes a No Repeat option if the the high bit is set on the first byte of the macro string after the length byte, and a Quiet option if the high bit is set on both of the first two bytes of the string. The translation procedure from text to overlay requires: Enter two-byte ID string 02h 50h in output file. Enter 00h to save a place for a string length byte. Check for "n" or "q" as first three bytes of new string and add 80h to the next byte or next two bytes input as required. Read in the rest of the string byte by byte and output each byte to the output file. If "^" appears in the string, drop it and subtract 40h from next byte to make it into a real control character. If "/" appears, ignore it and print the next character literally. "/^" prints "^" rather than turn the character following the carat into a control code, and "//" prints a single slash. A single input slash is ignored. When the CRLF pair is encountered in the input text file, convert it to a 00h place marker for the length of the next string. Get the number of bytes output in the last string and write it to the position of the string-length byte at the head of the preceding string. When the text file's ^Z EOF is encountered, fill the remainder of the total 512 bytes with 00h and close the files. When converting ZDK overlays to ZDT text files, the procedure is more or less reversed. ZDKCOM converts the string length bytes to CRLF pairs, the control code bytes to two-byte ASCII strings '^c', and finishes off the file when all strings are accounted for by inserting an EOF ^Z. In addition, ZDKCOM has error checking for file opening and closing and for individual and overall string length, and it reports activity to keep the user from thinking the program has hung, though the counters on the screen are otherwise meaningless. The structure of the four-sector ZDK file in CP/M is so similar to the eight-sector MS/DOS version that you can use ZDKCOM, along with a patcher, to create a VDK file for installation in VDE12, the MS/DOS version of ZDE. Make up the ZDT file as you would for CP/M, then patch the second ID byte from 50h to 60h and add four records of nulls. nking the program has hung, though the counters on the screen are otherwise meaningless. The structure of the four-sector ZDK file in CP/M is so similar to the eight-sector MS/DOS version that you can use ZDKCOM, along with a patcher, to createe unaseMax cs unas(= UNSIZEUnase sle c asures(< UNONEDEL ases left (at )(i DELFLGEras curstype ahead(m AHEADLines csBidirectional p( .bpLett quality p (NLQ)( .lqMicrojustification( .ujUnd blanks( .ulProportional spac(_ .psStrike-out c(! STKCHR ^pxG Normal char width (120ths)(  ^pnH Altnate char width (120ths)(  ^paI Line height (48ths)(  .lhJ Sub/supscript roll (48ths)(  .srK Cs are part ofword( LGLCHRL Cs fmov across words( MOVCHRM Soft space d(` INIEDT+11N Soft space c(< SOFTSPO Comma c s(d COMCHRP Decimal point c(e DECCHRFind replaceDefault find replace options(I INIFIN 3.3 compatibility^h moves left (ase left)(g CTLHFL^^ (Shift+^6) case toggle(h CASEFLDEL ases left (at )(i DELFLGCursstays column 1 at mark(j BLKFLGNo extra soft s at parag end(k LSPFLGOth featuresS checksNon modeIndexShorth( macros)Mge pMiscellaneousS checksCommrun s check(K SPCMDAsk f check(X SPFILENon modeNondoc when comm( ININONP as ( PNODOC^b ^qu strip MSB cs(T STRPFLTabs auto-indent by type( EDCONDTab stops variable s enabl( INIRLRIndexIndex exclusilist( IXFILENormally index evy word(S IDXALLShorth( macros)Shorthstorage(> SHFILEStorage buff ( n HANMAXDollar format fs(o DOLLARMge pSeparat data items( DATSEPMiscellaneousSign-( INITIDRequireaft Y/N answ(R YNCRLongest delay (sign-onetc.)(F DLONGMium delay (setc.)(H DMEDShort delay (doc alignetc.)(J DSHORTEras & curstype ahead(m AHEADG ^n split (hard RET soft)(f CTLNFLH Drive/us when runn programs(Y URUN1 On2 Off3 DiscretionaryX No chVideo AttributesRevse b dim(A BRITEX No chmselectionNoneCh ON OFF?Ch OFF ON?S wrong Horizontal scroll too bigDirectories too bigAll chs been made. now i forAre through mak chs?The push . try againP m#1Current p: % (J  > (K }\ (L .  (M v~ (N P (O +G  (P  H  (Q  I (R  2 P M#2Eps- IBM3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#2Current p:  (K ' (L V (M  (N e (O n (P G  (Q JH (R I (S J 1 P M#1GenalAnadex - Diablo3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#3Current p: (L HR(M r% (N L (O  (P  (Q G  (R 3H  (S ]I  J K &1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM4 P M#4Panasonic - ZenithP m#4Current p: f(I  (J P (K (L u (M l G 0H 1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM3 P M#3Mannesmann Tally - OkidataTell s cAft you each lettمwill ask it'sfloppy driveThe first will ̬.Typedrive lett (A-PRETURN when done)Is tfloppy ?Already specifi. Please entوdiffent.Disk Drives Your CThese are valid s. The ̬ (w looks fitss) shown an astisk (*). Hard:  Floppy: What do want i? (normally WS)f pRETURNWhat do want save chs to? (normally WS)f pRETURNWrong vsiؘ fth!Can't find iDisk probably full write protectڄMake room byas somesremove protect ՄThen re-i.NotOut r...must  continueDo want ch t?valueH availableMonitAdds 25(N Morrow MDT 20Adds Viewpoint(O Morrow MDT 60/70ANSI Standard (DEC VT-100)(P Osborne I 24x80 SDEC VT52(Q Osborne ExecutiveHazeltine 1500(R Qume 102IBM 3101(S Soroc IQ 120G Kaypro II/IV(T Televideo 912/920H Kaypro 2X/4X/10(U Televideo 925/950I Lear Siegl ADM-20(V Wyse WY-50J Lear Siegl ADM-3A(W Zenith Z19 Heath H19K Lear Siegl ADM-31(Y MinimumL Libty Freom 100(Z Minimum ANSIM Libty Freom 200(! Osborne NuevoX No chmselectionThe arrow s Kaypro's eith chd by CONFIG programby (If c uses U1 U2 ROMsshouldalways use CONFIG.)Should ch arrow s (Y/N)? Not validCurrently: value (RETURN ch)new (RETURN)new type (RETURN)Add p dYou add replacep d exist pd libraryThe p d will load froma separate hasfile type DRV.p d (DRV)Bad p d ( d in).Add p dReplac p dCreate small library i for: Canfind p d.BAK $$$ allow. ret Too mds.Find s next names ds want keep.s separat by commasorr s usֈdash.Ds sav (RETURN stop)You mayly type s list above.Cancreate new.New p library complete. Old library has BAK type.Canstore newDisk may full.Bad library d found library.On do want libraryfile (RETURN fsame) ? Bad nameuse A through P.Current p d:  ch p d (RETURN)Select P D ChdFeature yet implementڄP continueP d labels: Ch c width leD: Width le: Entry = codecwidthc width (RETURN ch)No c width les fthd.Proportionally spac c width lesD: M D more smselectionMP D Table Str LabelsD: . . . . . (descripti؎add)Entو2-digit c code (RETURN when done)LSTTTYCRTLPTUL1AuThe au reads es stor infileThe format each file is: USERADDR=PATCHESUSERADDR an addequaticontain p d labels hex s.You may add (+)subtract (-)multiply (*)divide (/) withequation.Equations are evaluat left All opations equal precence.If USERADDR missօequals sign SAMPKEY.DOC: Sample Macros for ZDE, 01 June 90 by Carson Wilson. This file describes the sample macros contained in SAMPKEY.ZDK and SAMPKEY.ZDT. As distributed, ZDE contains no Macro Key definitions. I have included the SAMPKEY.* files both to give you an idea of the versatility available through ZDE's macro capability and to provide you with some useful choresaving routines. Many of the sample Macros come directly from the ZDE Manual, and illustrate the use of conditional testing, jumps, and control key entry from within Macros. In addition to being educational, most of these "sample" Macros do useful work. While you may (and should) define ZDE's Macros to do anything you wish (or nothing, if you wish), I think you may find one or more of these samples useful just as they are. To install the macros in SAMPKEY.ZDK (or any .ZDK file) into your copy of ZDE, just type "ZDENSTAL ZDE SAMPKEY.ZDK." Then exit ZDENSTAL with the ave option. This produces a working copy of ZDE.COM with Macro Keys 0 to 9 as defined in the .ZDK file. To alter or replace the Macros in SAMPKEY.ZDK, first edit the text file SAMPKEY.ZDT with ZDE. Then translate SAMPKEY.ZDT into a new macro file with the command "ZDKCOM SAMPKEY.ZDT." You can also translate .ZDK files back into .ZDT files if you wish; see ZDKCOM.DOC for more information. The following briefly describes each of the Macros in the SAMPKEY files: MACRO 0 - SWAP CHARACTERS. Macro Text: q^S^S^G^D^U^U^D^G Purpose: Swaps the character behind the cursor with the previous character. Useful for catching typos. MACRO 1 - SOFTEN PARAGRAPH. Macro Text: q^QS^X^[=^M]^S^V ^V^D^[![ Purpose: "Softens" Hard Carriage Returns from the line the cursor is on to the end of the paragraph. This allows reformatting with ^B of files from other word processors. MACRO 2 - MOVE TO START OF SENTENCE. Macro Text: q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 Purpose: Moves the cursor to the beginning of the sentance the cursor is currently on. MACRO 3 - MOVE TO START OF PARAGRAPH. Macro Text: q^QS^S^S^[= [^D^D Purpose: Moves the cursor to the beginning of the paragraph the cursor is currently on. MACRO 4 - REFORM AND RETURN. Macro Text: q^B^QP Purpose: Reformat beginning with the line the cursor is on and return cursor to current location. Useful when revising text in the middle of a paragraph. MACRO 5 - BROWSE FILE. Macro Text: n^[;^C^[![ Purpose: Move through file a screen at a time. Press ESC to stop. MACRO 6 - DELETE WORD LEFT. Macro Text: n^A^T Purpose: Erases the word to the left of the cursor. MACRO 7 - UNDERLINE WORD RIGHT. Macro Text: n^V^PS^F^PS Purpose: Brackets the word to the right of the cursor with the control code ^S, causing the word to be underlined when printed (NOTE: printer must be installed). MACRO 8 - SWAP LINES. Macro Text: q^QS^KB^S^X^KK^S^E^E^KV Purpose: Swaps the current line with the previous line, moving the cursor with it. Can be used to move a single line up any distance within your file. MACRO 9 - HELP MESSAGE. Macro Text: n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ^[;^[;^[;^Y^Y^QP Purpose: Briefly displays help message at top of screen.  the cursor with it. Can be used to move a single line up any distance within your file. MACRO 9 -Ch it (Y/N)? Entو̬/us (RETURN fe)Notvalid usلDrives A through PUs s0 through 31.FunctiKeysFunctiح burst delay(  FUNDLYModify le( FUNTBLZo entire le( FUNTBLP bursts( FUNTBLX No chmselectionAre sure want reset all definitions? Modify FunctiKeys Burst:  Definition: 1 D first definitions2 D oth definitionsZ Ch add definitionX No chmselectionFunctiحs are ly disablڄenable themdefine-zo delay. (FUNDLY)When push expect tminal togenateunique burst csEach timee csburst receiv by delay reset.When delay fully times out knows burst finish.Tforetminal sends c evy threemillisecondsset delay 3.If are sure delay usestart 10 20Aft your s are gradually ruce delay until theylong reliably. continueNotvalid entry strokes f hexRETURN when done.Hex strokesNot enough room left FUNTBL le burst hexRETURN when done.Hex burstH FunctiKeysWhen push expect tminal togenateunique burst cs translates burstinsome oth strokesThe hex representatiؘeach burst andits translatiؔshown sYou eith ch anexist burst by ent its hex codesentوburst.dth leD: Width le: Entry = codecwidthc width (RETURN ch)No c width les fthd.Proportionally P= ] ![.11~.<2= 2= 2 = [P;![SS B K V_ES0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ;;;Pview ̎ up al fit sefir ^Whno effect^Zmoveview . S (check elldocumt)checkelldocum program callWORD Plusɍ doeֱough acalso hold ellcheck itdicariesmu ex run WORD Pluseparat. D (op documt)opcatedocum editΡ UsDandard processtasksuch memoslett ports. ADocumop? promptnew exiΎ' pRETURN. N (op ndocumt)opcatendocum editΡ UsNnandard processtasksuch cat editdatsmailliscomput program code. ANdocumop? prompt̎' pRETURN. E ( )PETyp̎ pRETURNTypnew pRETURN. L (loggۣ)changẹ opallyus ˔ed⡍PLTyp̫ ̣ us you'lworkpRETURNͣ us as: A0D1411BFZCPR usd dictories. Tip: ͗ mo an comput actuallhas; can'ߣ E unles˱physica E. O (cop)makecopPss OTyp̫ coppRETURNTypnew coppRETURN. P ( ) PP̫ ߛansw siequesaboưout. PRETURNques accepandard (default) answ pEscaccepalmaandard answsques nexandard answpaheses. QuesStd. ans.Rangpossiblansw --------------------------------------------------------------------- Numb copies? (1) 1 99 Pausbetwe s? (N) Y N Usform feeds? (Y) Y N StartΧ? (1) 1 la Ɏ EndΧ? (la)1 la Ɏ Ndocumt? (N) Y N Nam? (cur)Choos Notmultipls: d'wa usdefaul ( chosallۍ)choos below eNamPrt? prompt. Fmo formaيseeStartgsec manua READ.ME . M (mg )multiplform lettma docum cateUsdosmgform lett variablforma datɹ. SeRefcGuidmanuamo forma mg dos. I (dex documt)catean dex docum˫ dex ev documtju folloẁ.IXdo surround'sYoudex sam documteciaexts .IDX. SeRefcGuidmanuamo forma. T (lctts)cate mo lecttdocum ˱catedOncdocumhbe catedgat mo lecttsUs̀.TCdo gatl triesPu# do wa ̧ ߬Fexample.TC Chapt 1.......# gate̵ltr fir chapt book. ̀.TC gatelctt sam documtbu exts TOCUp 9 mo le gat( extsTO1 TO9) immediatelfolloẁ.TC ̵l 1 rough 9. C (protec)mark so can'editdeleted. Usprotec(such boilplatemptmemo forms) d'wa accidtalldeletchange. PC̫ ̎ protectpRETURNTo unprotec pCagafollow dics. Notsometimecomput protecdocumtitselfF examplepulouɹ pu Ԋ comput makaldocumtnew protected. X (ex)op opatsyem promptsuch A> C>wa ar aga wspRETURN. Y (delet)asePY̫ ̎ asepRETURNAsafeguard aga miakesyou'lask you' sucan'as hbe protectۡ̀C . Tip: uswild cardsuch *.BAK asmultipls. R (run program) run program wiWordarAft program fished˔ߍOnlCOM runCP/M'builslikDIRwork. fir lookCOM run cur us e lookA0 (unles˱ allWSCHANGE).  Esc (shorand)stp۳ssphrasesА ɚ ̕. PEsc chooslett (an abbvia ҳܚ) Shormu. To cat ܜabbviasp? Shormu. Tip: Shorusefuexecutan oft- sie stboilplatɚ. ---------------------:Elemtɗ  |C D:FILENAME.EXT: <---- StatuFile posiي |CURSOR :switchesatuforma | ^Eup:<-- Mu (Help Leve3) | ^X :<-- (Li availabls) | ^S : |L----!----!----!-----: <---- Rul Margе |quick brown : <---- Text Youάhe. ---------------------: Statutop ɗ unlesturn WSCHANGE Dilay Whmeans C ()ͳ beexecut D:FILENAME.EXTDisk Ў orWaitݍ bus Pnn Lnn CnnPageLeColumn (n) loca Lnnnn CnnNdocumLeColumn (n) loca Inst Insmod; absInsmod Prtect documprotectcanchanged. Spacg-nL isn(2 double3 tripleetc.). Decimal decima. Column modҠ funcs. ColRepl modҠ funcs. Large-File͎ too largftilmemory. Dot-Limitachlimdo . Replace? Y/NQues fd/opa. Auto-In Aud(ndocummodly) . Align Word wrap juifica Turn .AW . EdMu leve3QuickPrCtrolsOn Format Block Mu level2Ѐ3. Rul ldocumsTturn . L= R= !=norma op#=decima op. P= .V=Temporardt. Textbelow Flag (mo) shows: <"HardcarriagpssۀRETURN he. "SoftcarriagWord wrap brok̑ he. +Tex䢑 extbeyd ̘ edg̗. ^Empt ace--beyd docum .Do 䢑 1do 䢑 work be top . :do 䢑 affectly.  -nex top . BMark۠ beg䢑(Look highlightg.) KMark۠ 䢑(Look highlightg.) Jpssۀ^PJcatmandator fehe. Fpssۀ^PLcatmandator bak he. (An ) wTo ge hold Ctr (abbviat^ mu) whilp lett ̳ wa. Fexamplewa ^Ehold CtrlpE. ^I ()move̕ nex opIn ̷ ju abovɚ! markgula op # markdecima op. YouTab doeexactlsam^I. ^I (ndocum)move̕ next opTabop Ѹfixtvalsusuallev8 se variabldep̎ defۙWSCHANGE. Tip: Fixtvasglɚ (ASCII 09 hex). Theuslesmemoran variablwhich becommultiplace ɚNdocumѥ malprogrammg. RETURN (^M) bak sthard carriagɚ move̕ begn new blank A < symboflag dicathard carriagErashard carriagposi̕ begnnex pss΀Backace. Tip: Ins ("InstdoeNOT atu) move nexbuno hard carriagcated. ^N (l̑)stRETURN ̕. Tip: To catblank ̕ begnan p^N. ^E (up)move̕ up ͕̚ ma sam ̗ possible. ^X ()move̕ ͕̚ masam ̗ possible. ^S ()move̕ ̞̕ alad̞mo ̘mo pviou. ^D ()move̕ ̘̕ alad̘mo ̞mo nex. ^A ( )move̕ ̞̕ alad̞mo ̘mo pviou. ^F ( )move̕ ̘̕ alad̘mo ̞mo nex. ^W (scrolup)moveview ̚ up ͗ ½ becausview moveup. ^Z (scrol)moveview ̚ ͗ up becausview move. ^R (up )moveview ̚ up 1/8 ovlap pviou͗ ½ (view ̚ moveup). ^C ( )moveview ̚ 1/8 ovlap pviou͗ up becausview move. ^G (aschar)asȅ ̕ locaىPss΀Del doesamg. Tip: Eras̏ ̞ ̕ pss΀Backace ^H. ^T (as)ase̕ loca ̘ cur . ^Y (as)aseti cta̕. De(aschar)asȅ ̕ locaىPss΀^G doesamg. Tip: Eras̏ ̞ ̕ pss΀Backace ^H. ^U (unase)stmo casu ̚ ̕. ^Udoeo sglasۡ^G^HDel܀Backace. Tip: Scmo casu masorageuias someelseus^U šFexamplemark as⡀Y̕ new loca p^UYou'vmov̐Mov̕ agap^U agayou'vstcopsam new o well. ^V (s/) govnhow affect alad Ɏ. Wi s"Instatu К push exiΚ ̘. Wi sՊ"InstdoeNOT atu К ovwritexiΚ Ɏ. ^B (align )align ̕ betwe cur sUsfix ovshorovlq^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^V^PS^F^PS q^QS^KB^S^X^KK^S^E^E^KV n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ^[;^[;^[;^Y^Y^QP q^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^nnex. InsՊl̕ nex. Backac(mu)asȅ ̞ ̕. Pss^H doeexactlsamg. Tip: To as̏ ̕ locaيpDe^G. ^^ (Ctr+ Shif+ 6) cvt hard carriag sofcarriag(mid- ). . (dos)secia ɚThe ̗ bu֛edA do MUST beg piod (.) 1 (̞mo ) followtwo letts. Diffedo flag (mo) . Tip: ques mark (?) ̘mo do doecogniz̳; it. Do. mo ( mo oft) .PAStartnew nex. .CPnStartnew lesann 䢧. .RRInst(embeds) ߚ. ObeyL,R,!,# ed. .PMnStartfir 㖋n". .LMnSet̞ 斋n". .RMnSet̘ 斋n". .IGDilaybudoesn' 䢑. ..Sam.IGUssnoteyourself. Do1 mo (work be ܧ begng) .PNnSeţ ton". .PLnSeţ lg tonsDefaul66. .MTnSettop tonsDefaul3. .MBnSetbottom tonsDefaul8. .LHnSet̑ heighton"/48 chDefaul8. Do: symbomo (applߛly) Note: You capablmovemtsoms. .OPOmit bottom ớۧ. .PGReo 仛ۧ. .PCnPrt 斋n"Defaul 28. .UJTurnmicrojuifiۛꉀ.UJՁturn. .BPTurnbidicaꉀ.BPՁturn. .LQPrtnealett qualitmode.LQՁturn. .POnSetacbetwe 1 О edg atns.  .HMnPrtsnblank betwe head К. .FMnPrtsnblank betwe foot. .SRnRollcarriagen"/48 ch sub/supscriptg. .CWnChange betwe ton"/120 ch. .HEPrt 䢑 head. .H1Same.HE(fir head). .H2Secd head. .H3Third head. .FOPrt 䢑 foot.  .F1Sam.FO(fir foot). .F2Secd foot. .F3Third foot. .LSnSet̑ ton.1=sgle2=double3=tripleetc. .TCn trAddstryߵlcttsn. .IXphrasAddsphrasedocumdex. Domg .PFAligndurΛg.PFՁturn; .PFdis  discarySemanuadetails. .OJRighjuifie.OJՁturn; .OJdisdiscary.  .CSClear̗ whilg. .DMDilay () ̗ whilg. .FIInst̎ calledhe. .DFDefedat called. .RVv1,v2Readvariablesv1andv2dat񎋫. .SVv1,datSetvariablev1valuedata. .AVmsg,v1 Aft gmsg,queus datforv1. .RPnRepeatform lettntimes. .GOtop/boGo top bottom la .FI documt.  .MAv1,ma Stosultemaequa v1. Docdiamg .IFv1Ifv1n-blank n-zo followΚ  ui.EI .EL coued. .IFv1 ? v2 Replac? an opator: =,<,>,>=,<=,<>,#=,#<,#>,#>=,#<=,#<>  cdi true ui.EI .EL occurs.  "v1andv2valuevariables. .ELRevsss(trufalse) la .IF. .EIMark .IF cdi. To ge EdMu abovep ̾ shown ̞ descrip mu top (Rememb at^meanshould us̟ .) Fgaexplana ̗pques mark (?). Fܒ dospdo(.). Fܒ savworkpD. would likߜ̒ levelp^J aga. docum˱selecthbe protectedThwh ProtectMu htop ̗. To ge ProtectMup ̾ shown ̞ descrip mu top . Fܒ gettoppedpQ. would likߜ̒ levelp^J aga.  (On FormMu)affeclook ̗. - Wh editgpȁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳.  (Block & SavMu)savabandwork"cupae ; copymovease sФ ̹ . - Wh editgpƁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^P ( mu)waɛۚ . - Wh editgp^P lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebar leavmu wiouchanganyg. Fܒ lett cord̳.  (Quick Mu) quick waypform variou cludmov̕fdfdplacΚ asΚ. - Wh editgpǁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^PB (bold)make dark ̛ۧMov ߲wa bold begӊp^PB locaى̛ (D) you'lalso se^B̚ bold begs. Note: Diffexecutboldfac ways; lot boldfacۨslow soms. ^PD (doublrike)make dark ̛ۧMov ߲wa doublrikbegӊp^PD locaى̛ (D) you'lalso se^Ddoublrikbegs. Note: Double-ruck looksimilabold Somexecut bo ylesammann. ^PS (und)und ̛ۧMov ߲wa undlbegӊp^PS locaى̛ (D) you'l also se^S̚ undlbegs. ^PX (rikout)placehyph(-) ov ̛ۧMov ߲wa ruck ou begӊp^PX locaى̛ (D) you'lse^X ̚ ruck ou begs. Tip: Struck ou comml legadocumtsϜ rikeou (-) (such /) WSCHANGE program. ^PV (subscript)place slightlbelow ̑ ̛ۧ. Mov̕ ߲wa subscriptbegӊp ^PVlocaى̛ (D) you'l se^V̚ subscriptbegs. Note: PrtcapabltrusubscriptΔ subscriptۚ an ti below. ^PT (supscript)place slightlabov̑ ̛ۧ. Mov̕ ߲wa supscriptbegӊ p^PTlocaى̛ (D) you'lse^T̚ supscriptbegs. Note: PrtcapabltrusupscriptΔ supscript an ti above. ^PA (altnate)changepitch ̛ۧUnles cfigurۍ eciallɛnormapitch t p ch^PAchangetwelvp ch ̛ (D) you'lse^A ̚ altnatpitch begs. Relat۳: ^PN(normal) ^PN (normal)opitch ̛ۧ normal. Unlescfigurۍ eciallɛaltnatpitch twelvp ch^PNopitch t p ch̛ (D) you'lse^N ̚ normapitch begs. Relat۳: ^PA(altnate) ^PC ( pause)cause̛ paus timecific loca ɎYou'lserucaraga. ̛ (D) you'lse^C̚ pausoccur. Tip: Us^PCpauswhil˜̛ whee feface. ^PY (italics/color)change italic̛ۧ OR change ribbcolordepɛ how allۍ. Mov̕ ߲wa italic( ribbcolor) beg p^PYlocaى̛ (D) you'lse^Y̚ italic( ribb color) begs. ^PH (ov char)ruct̛ ߛ nex ov pviouԊwould backacsecd top fir ewrit̛ (D) you'lse^H ̚ betwe fir secd s. ^P RETURN (ov )ruct̛ ߛ nex ov pviouԉusua- symbofare !;;C6 2-00!0|S(D 2-d"ˋe--2;<2\ 2;2;:2<;4:2;*X";:n2,:/ 22!:͸&:; #&͹1` :] (.[&͋%:; !> "/( `i6 ###6lͤm4:;!@2;2;1C>ʹ75*$<""<:'<2&<:; *<"$<:<2'   m KzC!'K!-:;Ĥ!;F/ 3"#3R%#G>  ?" =%& >|%%G"#&);# !; Y08:/ r[ M#!=~+;b!;F / '+y'+'  ( Q(La',2<('2@3(D !;F / !TN"u 6`!'!! J5ͧ4`4y4M5%:a J5y4ͼ4ͼ4ʹ7 3%:;%:;ñ:;( !;͒4ͳ ´72;;4"/( !@ <!Z4:;_;,:;_ - S(D e- ̈́-9:;Ď2;:; 9:^5ͧ423[[:;o&:^#V33 ]]] ͼ4 :;( ( ڴ79% >">>>>>> >> > 2;*c&))))#} + :;_:; /2;[79} !O<5#~T]#͞ (!O<4^w{8>2 :O<2 ɯ} :P<%YY(N  !(!!  ( (#OGyH%Aʩ==ʅ=7 >B23 !^#VS<ٯ2<}ր0L:< i% (:(6(U (y(zy(%(?w# 0@ͬ4444͎ ͎ >+4 44*<|/ ~ٷ #"< 2<6}ր%Ff > BKxbk~08 :0 #x0Ex(<($8*(8 ,!'R 8$!R 8!dR 8! R 8 !R 8x70= DMO  د 7! FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd !; <2;2;2;/2;2[ >2;2;:2;:2;!:͒4 !; Y B(dD(ZP(SL(22;, ͦ,!F#*,<"0<*(<͹:; :;!;2;!;n(q"O R+ Ͱ*,<[.<";S;8!;~(2;<2;:;G̯8o*; 9>h ($:;_( Ϳ8x(( x:<(80>2;> [;{z08:! ~(˾F#!;5K !F#, *0<+ͧ7ô7:;> >:;g(ͧ7!;ͦ,!;4N:;_:;=:;O:;!;8˶>2:;(Gͼ!;N(E:;G:;0>F<= *;:;G<:;!;o&t !ͼͼͼ2ͯ:;G7nnnnn (.(:;ȯ2;>2;:;W :;(>2; !,:;W >^>@> > !;v ` 0O!,(R!o( 4>_!`F#->_! ~ F#˾_!<̯:;G<8:<>x~>#x^#!B:_ !]>"(<*.%".<2<<2<2<2<2'G:;x= :bG x K*<*,<++BDM*( 7>  ###7?(#+Ͱ0S> *,<3 7?z 7*.<+> ##>4:5:<=(,Q)!<8#$:<=:<=!d<:  ͢8&T]~  > 8 > # x S*<Ͱ*.0~ S, 7( !n(!;6**<#w"*<7!;6*,<+w", **< *<"<*0<+ͳ> *,< *!=>_!z(N #= ~(^6#DM!BDM̀{(I: : s#K!T]BBDMN#!=:;N(Q +~#8#+̀ô7 !!>ݾ8^R8#"|6#+| !"!!!;F͎%00 :0 ̈́2;!;F0G!(^#~#, O~˾(#~˾~>1+!:͒4 =(cO!:͒4%YQ 4~%y( !=6ʹ7*( 08 0Gx2<ʄ!="<>2;!R~2 <~'>2=ô7:;0 2;%!;6[(+](.>(5<(<_!=~#0 (0 { #">2:;0 %_R,ʒ%>2;:;> h  *<^!M"<)*<~#"<($_~< :; !<~<(5(!="<̈́{ɯ2;͎> !56!5w9: Y >N29;!/;3ͼ4 9{z~# (8:;3!Z4!Z4 ͹19*(<͹Iͅ!"<9**<"0<*.<~ͻͅ9"/, PY!~N >>w44!>N#Fxv!~@, Ͱ8 *,<>a"͢8 *(<>\", >2<͹ͅ9ͰJ)R,J)ͅ:<=G:<ͩ-9: #+"*2<:=!d!<9͡R,ʅe,( ( ͅ8e,t,[, 7o,y, 77o,y,7R,K!͘( o,y,k͘ K!͘K!͘( o,y,k͘K!j,t,9:<=_!Z8<_+uu[* (I(F&:;$ *$  ++~#( ( | } & K;q:==G=(!my++*,<~( (~6 ]Mͅͻ!;F9!=( O#> 9!P=%9O#> 9%9y+͹*,<~( (~6 ]Mͻͥ9!:͒4 ==2;2;2;>2!~/ -#~#/($YC( B( G(7>22;>2;~#(x2=Y**<"0<:=( GK!, !P=~(G#~J :;%7ͥ(>2;!:͒4 Q=ʹ7P=O!>2;~, :=ʴ7:;(:;(u`:;.,͸8h ( 2;͸0:; ͣ9>2;͸:;(;:;7:;[78( :;:=):;?:;7̈́J5ͧ4!;`4ͼ49> J5:a̧4y4ͼ4 7* ͙2;7_YN !;' 3:;!; !;;2J)!e8#~=!9:R~((J):;(H!l +y0+~:d/<(!:͒4 :<(!~@(>#([h (18,h_:l7!e~( 0# +s{!kl , e͋h (*O<e8e͋h 8 ʹ7 3!:͒4:<` 8(!e(#6(T]#H!;F(  !n (V K  (0(%9_?8 )94{J: J%9͑ : J: g> g[, !I9!9:R)9**<~)9!n)9*,<> > %9:;K!2;:;:;Ͱ8:R(!ͩ͢ )ͅx :<(<(R, ( ͅ=͐!*,<+",<~ !9)9͐!x(*,<++> ##", *,<",<0 *.<#",2;!;2  :\G:;O(@G!~Yw#: +6. %0, :8 @, Gh 0:; , OY !n w+w+w+T]+y6.O3 !<5( > ͉3: ͉3ͼ45:;_ 9 :;( !;͒4ͳ ´7ñ[&!:͸&:; ʹ1-:\ -ͻ,<, y&ô7[&!z:͸&:; +ͦ,͐8**<#/  0  [*<"*<#͹y&ͧ7!9:] ͜&:;:; !;͒4ͳ ʹ7ͦ,*,<"0<*(<͹Ͱ0*, 2<, G!~Yw#!~/ #+ x9-, 2;#~W( A(N, 2;!";:;N(2;=2;:T2;:;= *X";>;!";2;2;=2;>:2, 3R,_A8[0 nˮ !ͅ)9!:͒4:` , 2;͹1ô79!;~/w!U'!;:;N(:U !;>2!R':R!;~(: Z(:;!; !;A2:W !V':<=:;N( :V!; !;G2g(O:;8>2;y2;g(!;0*2;=' 3ô7:;N(:<=Ĉ(!:͒4:<` (, ͚(!;<͠(1 3!;;~(6w>:G x!dGx( ͥ0x:;=!<4ͯ(75[, 4 - :U(R, (HR, ͅ4((8@ ):<)=ͅ=4 :;=ͰU+R,͙:; }+8 )ͭ+4))ͩ  h I+J)!<>?2<ͰU+R,* ~=!dg:<]0"0 442<ͯͅ(0[, R,(\7[, O+R,- :U(ͅJ)ͯ(07He, ͅJ)(O+O+@ R,( K!K!H)C[, ?7[, G!-(GͅK!+>4)R, G!77~, ͅH%*ͅ+C ͣ9ͣ4 ͣ8 :U(̈́[7͙0(G!yͰ07ͅR, ͩ7 (ͅR, ͅ7[, + (7R, ͅR,7K!K! {2N,:;R,(He, K!4 7e, K!J)(!<:;=G:;4 N,()H6Å*,<~ **<~> !,!,!,!,!, !,R,[,~ #,;:-.?!  J5ͧ4!;`4ͼ4\-2,*#^#VS,,r+s[,*#s#r*#s#r>2\1C>4- ï>0ɷ(%!\˶#˶<(!()% :A2;m4T]-O>: z+6.6:(#x2\y2;_ e+~08+:0'0_+~08:00W_+ 0}{2; }(~ (A8e_>8_+}(~ U#{<2\>:> +#(]2 ͋m47ɯ(H. (#>.w#ٯ#(6 (/  #͊.(w#~ #~/ #~( ͸. 2;!eB͟.F͟.J͟.N͟.:] (!. .,;:?*=?( #͸.2;ANW> +#(T] (#8/(0PY() 45 #( +N+F* |( N#Fxɯ2h2i2|2;/2;ͻ,< 7;,ͻ,/0!:;W K~ >-w(o :;(e/2;~ ~ (0˾> #wz ˾~ +~(8 2;"!n( ~ 8~ > #wz#`/L/2; -:\ -!] ˾#ʹ1?<fͻ,2N<:;(4!\ !\!;;,< §1;,_-8NS(JD(F-;,2;2h2|ͻ,-;,(H| 'c2}2~2ͻ,§1ͻ,'ͻ,< §12;2h2|ͻ,:N<= gͻ,<ʥ1xʝ1!!,(lw:;W <~ ~!8(" ( ( 2;~ >2;:; ~#ͻ,(͝1B!:w > (|0}00(6#ͻ,(͝1ͻ,<72i:a5!;͈4J2!;:;N :; !;2ͨ'I͉''':<=!;#(G2:a5ͧ4`4ü4:S(5!a'( ;4p9;4]͹19ͧ4 5y45:\@4:;O30 2y01y x40y04/(+`iF($:\# N:;(>/4#~ 4>:4!]~˿ (4#>.4!e~4#4>/4:;4ü4!S'w3;4]9:S!<:< :<2<:<_~# ~#GͿ3͉333:<, !;'(/;4:< 9I>2;f7:a 55J22;9;49:  52ͧ43*2ͧ4:<_8ͼ4:`!:Z4>2 <:`!:Z42 <: _4_:<_:S! 8HG(( 8_4{= (2@ͬ444>y (:;( <4{8:> >> :;02;:cGÅ>22{9@9>22!{98!:<=!{98@996:a!!; 2Z4: 37:<=:<=R,( :2;>2;!;!;65R,:;[, (Ͱ8<440:<:G:P:P:J:J:Y:e:OuoMemoryInvaliKeyI/ErrorNoFoundSyntaErrorCannoReformatNameReadWriteEraseLoadFindChangtoDirOptionsLengthColumnPageLineMacroRepeacoun([Q],0-9/*)Kenumbe([N/Q],0-9)Abandochanges(Y/N)Unchangedsave(Y/N) ChangedQFilsizeNNNNNMemorusedNNNNNFreeNNNNN [MenudisabledseManual] 'LCl ^Q ^O ^P ^KESCChg?WaitRdy^QTOP Pg INSvt hy AI DS MR PS BAK:_ !j;̓4 ô7:<, !>̓45%F (!? ((!A(!@ ̓4 9^csup^worrt^linup^delete^UNdelete^PPtcode ^down^worlf^lindnDEdeleft^reform^Pplacmark ^left^pagup^insert^deword^castoggle ^right^pagdn^insrCR^deline^L(^\rpfind (PRES^K/ESC^O^FOSUBMENUS) ^KBegiblock^KblocWrite^KLoanew^KNameEscMacrdef ^Kenblock^Kdeletblock^KSave ^KInfoEscstorkey ^KUnmarblk^KReafile^Ksave+load^KPrintEsc0..usky ^KCopblock^KFillist^Ksave+eXitEsc-TAtaback ^KmoVblock^KErasfile^KQuit Esc-Arrowshifscreen ^QgotBlock^Q><<___---ÂQôTfUS*D/n*/}“Q*D/!nRvQ"GI*GI|R*D/*GI##n}=Q*D/|QyQ*GI"[I*D/*GI##n}-Q!"SIQ!"SI*D/*GI##n}<R!"WIR!"WI*D/!qRvQ"GI*GI|_R!"UI*GI#"_I*_I#"aI*GI|_R*D/*GI+n}-_R!"UI*D/|QQ<<>>}RsQ*J+++|ŒRwR*D/zRßRÉ *D/*H/+"D/*_I*[I*F/*H/"GI*GI͙R*D/͜RR+VV!"YI"J*[I"]I*_I"cI*WI| SR!"JR|(S*]I"[I*cI"_IS*]I"[I*cI"_IES+VÉ CXËX!9DM*[I"]I*WI|^S9S*D/n} rS*D/#"D/^S*WI|S*[I`is#r*D/! s#r͐|S͐n*/}ʹS͐n*/}S`i^#Vr+s! ^#Vr+sÎS͐V*[I.V*[I*]IV*[I*]IҢV*@/#"@/*D/#"D/+ns*f/#"f/*[I#"[IoV*@/n} V*D/n} V*@/#"@/6 *[I#"[I*f/#"f/VÉ ßY%ZÞZ!9DM!"J"J";I*D/n} W*D/#"D/V*YI|zW*[I`is#r*D/! s#r͐|gW͐n*/}PW͐n*/}gW`i^#Vr+s! ^#Vr+s%W͐V͐"[IÀW!"YI*_I*[I#"JVV"GI|¡WÓW*GI++|ʴW*J+|W*;I96!9V*GI++|W!:XW!:X*;I+`is#r͐|1X͐9n*/}X͐9n*/}1X*J#"J*_I#"_I`i^#Vr+sWV!:X!9*D/n} uX*D/n}uX*@/#"@/*D/#"D/+ns*f/#"f/DX*D/n} ‰X*D/#"D/uXàX/[É CXÑýP!9DM*D/n}ʿX͎X|ʼXÿXèX*D/n}8Y!Y͑X*[I`is#r*D/! s#r͐|&Y͐n*/}Y͐n*/}&Y`i^#Vr+s! ^#Vr+sX͔͐X͗X!ÐY*d/*J/TY!Y͑X!ÐY͚X͝X*J|vY!Y͑X!"J!ÐY*D/n} ŠY*D/#"D/vY!ÐY!9 *D/n} Y*D/n}Y*;I#";I+9*D/#"D/+nsàY*D/n} Y*D/#"D/Y*J#"J*;I+"OI*OI9n}, Z*OI9n};Z*J#"J!"OI#Z!"OI1Z\ÑýP*D/n}IZ(Z|FZIZ2Z*D/n}WZ!*d/*J/jZ!+Z.Z*J|ʃZ!"J!*D/n} —Z*D/#"D/ÃZ!êZ8]-^*J*;I"J*J|Z*;I96!9͡Z*J*JZ*J"J!"J[*J*J"J*J+"J"J*J"J*J|*[ͤZ-[ͧZ5[CX!9DM*f/*_IQ[!\*@/+`is#r*@/n}.ʮ[*@/n}!ʮ[*@/n}?ʮ[*@/n}:ʮ[*@/n}"¾[͐n}.ʮ[͐n}!ʮ[͐n}?¾[*@/#"@/6 *f/#"f/*@/#"@/6 *f/#"f/*D/"=I*@/"?I*f/"GI2[*f/*aI[!\*=I"D/*?I"@/*GI"f/!\!9\ßY!9DM*;I"GI*D/"=I*OI"MI*;I|T\*;I+9n`isX\`i6$*;I|w\*;I++9n! s}\! 6$`in}.\`in}!\`in}?\`in}:\`in}"\! n}.\! n}!\! n}?\*;I#";I+96 *;I#";I+96 \*;I*J\!/]*J*MI*OI"J*=I"D/*GI";I*J+"J!/]!9A]É !"GI*GI*;I!^*GI9n} ]*@/#"@/*GI#"GI+9nsV]*J|گ]*@/n},ʟ]*@/n};¯]*J+"J*@/#"@/6 *J|]*J*J]*J*J"II*J*II"J*II;]*GI9n} ^*@/#"@/*GI#"GI+9ns]*J+"JH]!+^>] 6^É *;I+";I*J0^*@/"QI*;I|Z_*;I9n} ʉ^*QI+"QI#*;I+";I#9ns*;I|҆^É^T^*;I|Ҕ^Z_*;I9n} ^*QI+"QI#*;I+";I#9ns*;I|^^Ô^*;I|^Z_*J| _*;I9n},^*;I9n}; _*J+"J*QI+"QI*J|P_*J*JP_*J*J"II*J*II"J*QI*II"QI*J+"JL^!d_3^ +J|گ]*@/n},ʟ]*@/n};¯]*J+"J*@/#"@/6 *J|]*J*J]*J*J"II*J*II"J*II;]*GI9n} ^*@/#"@/*GI#"GI+9ns]*J+"JH]!+^>] 6^É *;I+";I*J0^*@/"QI*;I|Z_*;I9n} ʉ^*QI+"QI#*;I+";I#9ns*;I|҆^É^T^*;I|Ҕ^Z_*;I9n} ^*QI+"QI#*;I+";I#9ns*;I|^^Ô^*;I|^Z_*J| _*;I9n},^*;I9n}; _*J+e a definition, enter a number or letter from the table below. To create a new definition, enter a new number or letter. To include control commands, press ^P before each control character. Character to be defined?  (Press @RETURN when done, @^U to cancel.) @MENU & KEY DEFINITIONSBytes available:   Definition?   Store changes onto disk (Y/N)?  Can't store changes. Your disk may lack the file WSSHORT.OVR. Not enough space to store that definition. Use WSCHANGE to increase space.  Description for Esc menu? 3 Cannot run program. Type any key to return to WordStar. Ҙ juifiۚ dtg.) Wh sofaceѤplusigns. Wh Պsofacelook liknormaaces.  such aces. Uigno cas- Igno UPPERCASE/lowcasdiffce fd. Blook backward - Search toward begn̎. ?wild card- Us?subitutunknown fd. Garbegn - Search ti ; arbegng. #In backward searchar. O OO-OÒPvRU_NdXBY!9DM!QP! s#rO*3|NOHPO*3|\OHP*3|gOO*ZL! s#r`iw#w*3|ƒOO*3|ŽOO! ~#fo|ʦO*3|¦OO!!O*3|BP!")N!cP!eP`i$O*yL} P!yL! ~#fo!jN$O*L} P!L! ~#fo!N$O!jL!P!TL$O!*)N'O!*)N!*O!"n/!"9!9 WORDS READ FROM WORDS IN CORRECTION LIST WORDS WRITTEN TO äPü ìhá&i!9DMP!uR!!͕PlR͘P!!!(M͛P*L! s#r*@L! s#r*BL! s#r*DL! s#r`iw#w! 6 #6! w#w! ~#foҟQ! ~#fo)! ~#fo! s#r! ^#Vr+szʈQ! ^#Vr+sn&(M`i^#Vr+ssSQ! 6#6! ^#Vr+s'Q`iw#w`i~#foQ`i~#fo;J`i~#fos`i^#Vr+såQ!!!;I͛P`i6A#6`i~#foZ;R`i~#fo;I`i~#fo ;I`i~#foss`i^#Vr+sQ!"VL"TL!"XL>2L!"9>c2;K͞P!"+N!"nN͡P!9ÝRûk T îYIÑ ü - !9DM`iw#w>2yL>2L>2jLyR|R!0|R!iU!0R|R͂RR`i6#6`i~#fo|S!m5!yL!rUͅR!yL!jL͈R`U!}U!0͋R|T!U͎R!0|R!0!U͑R! s#rzlS!0!U͑R! s#rzS! ~#fo0n}+͝"RL! 6#6! ~#fo06!m5!yL!0ͅR! ~#fo#0!0͈R^T!m5!yL!0ͅRyR|S!yL!jL͈R`U!0|R*0}+ T*0}-.T*0}+͝"RL! 6#6!0!0͈R^T!U!0͋R|KT! w#w^T!yL!jL͈R͂R`U! ~#fo|T*0}¥T*RL|ʁT!+ÄT!-}244!U!54͈R!44͎R!0|R!m5!L!0ͅRyR|T!0|R!U!0͋R|T!U!!͔R`U!U͎R!0|R!m5!jL!0ͅR*yL}U`U!!jL͗R! s#r! ~#fo#|`U! ~#fo͚R!jL!!͔R`U!9FROM TO TMAKER.DICFROMFROM WHAT DICTIONARY?+-TO WHAT DICTIONARY?TO'TO' OPTION MISSINGTO WHAT DICTIONARY?USZ+iü þZ!9DM!"ZL!"\L9"^L=! s#r*B/! s#r! ~#fo*>/ʋW! ~#foU|rW! ~#fon! s! ~#fo##s#r! ~#fon} V! ^#Vr+sbV! ~#fo! s#r! ~#foU*QL`is#6*ZL#"ZL*\L`i~#fo#` V*ZLV!X!!UX! ~#fo*\L! s#r`i~#fo! ~#fo! ~#foU! ~#fo`i~#fo! ns*^L##"^L++! ~#fos#r*\L`i~#fo#"\L! ~#fo`i~#fos#r! ^#Vr+sn}ʈWrWV*ZL|ʠW*ZL!9U*\L9! s#r! ~#fo! ~#fo! s#r! ~#fo|W*\L! ~#fo! ~#foU! ~#fo*ZL)"^L*ZL! s#r9! s#r! ~#fo*ZL+)s#r*^L! s#r! ~#fo*ZL+)s#r! ~#fo!9*ZL)"9! ^#Vr+szX! ^#Vr+s! ^#Vr+s~#fo! ~#fos#r|X!9TOO MANY CORRECTIONSXÑSZ*3|@Y*d/*J/@YXX*3|Y*D/X*D/X|3Y*D/X*3|=YXTYË\- !9DM!*)NEY!*)N#")N+!HY!3! ~#foKY! ~#foNY! ~#foQYúYI !9DM! ~#fo#n}: Z! ~#fo#n}: Z! ^#Vr+s! ~#fons! ^#Vr+s6:! ~#fo! ~#foͱY! ~#fo!LZʹY|JZ!NZ! ~#foͷY..DIC!9DM! ~#fon}+~Z! ~#fon}-~Z!! ^#Vr+sn}!ʖZ!! ^#Vr+sn} ¬ZÖZ! ~#fon&;In}Z!Z!Z+iè]!9DM! ~#fo`is#r`i~#fo҂\`i~#fo! s#r! ~#fo! ~#fom\! ~#fo`i~#fo! s#r! ~#fo|_\! ~#fo! ~#fo)~#foZ! ~#fo! ~#fo`i~#fo)~#fo! ~#fo! ~#fo)~#foZڼ[_\! ~#fo! ~#fo)~#fo! s#r! ~#fo! ~#fo)! ~#fo! ~#fo`i~#fo)~#fos#r! ~#fo! ~#fo`i~#fo)! ~#fos#r! ~#fo`i~#fos#rF[! ^#Vr+s[`i~#fos#rZ!9Ô\ó^-!9DM!]! s#r! ~#fo`is#r! 6#6! ^#Vr+sz ]`i^#Vr+s! ~#fo! ~#fo͎\0s! ~#fo####s#rþ\`i^#Vr+s! ~#fo##~#fo0s`i~#fo6! ~#fo`is#r`i~#fon}0`]`i^#Vr+s6 C]`i^#Vr+sn}y]`i~#fo60! ~#fo͑\!9@B'd î]_!9DM*QL}2PL!PL~5o}M^! ~#fon}]!J^! ^#Vr+sn&;In! ^#Vr+sn&;In}J^! ~#fo+n&;In! ~#fo+n&;InѯgWͩE^!H^!ý]! ~#fon&;In}g^!! ~#fon}'§^! ~#fo#n&ͫ]s¬^! ~#fo##n&;In}¬^!!!9DM`iw#w! ~#fo~#fo! ~#fo~#fo^`i~#fo_! ~#fo~#fo! ~#fo~#fo7_! ~#fo##~#fo! ~#fo##~#fo7_`i~#fo_! ~#fo##~#fo! ~#fo##~#foj_! ~#fo^#Vr+s! ~#fo##~#fo! ~#fo##~#fos#r! ~#fo~#fo! ~#fo~#fos#r`i^#Vr+s^!9_ijåýjü wmIþ!9DM*./}`_! w#w! w#w*yL}ʇ`!yL_! s#r*3|8`;d! ~#fo|N`! 6#6*L}ʇ`!L_! s#r*3|q`;d! ~#fo|‡`! 6#6*ZL2! ~#fo! s#r*RL|`! ~#fo! ~#fos#r`! ~#fo! ~#fo`! ~#fo! ~#fos#r! ~#fo|a! 6#6! ~#fo_! ~#fo_! ~#fo_?`is#r*9! ~#fo_??`i~#fo! s#r! ~#fo|ʢa! ~#fo|¢a! 6#6*9! ~#fo_??`i~#fo! s#r! ~#fo|a! ~#fo|a! 6#6*9! ~#fo! ~#fo! s#r! ~#fo|hb! ~#foRb! ^#Vr+s]b! ^#Vr+s! ^#Vr+s! ~#fos#r! ~#fos#r! ~#fos#r9"dL! ~#fo"9*yL} c! ~#fo*dL!yL!+N_|b*3|b!yL!!_;d*dL! ~#fo"dL*L}lc! ~#fo*dL!L!nN_|[c*3|Pc!L!!_!+N_;d*dL! ~#fo"dL!jL!L_!L!Dd_#`is#r!`i~#foL!Fd_!L!L_*yL}c!L!yL_|c*L}c!L!L_|c!"Lc!L_!"L!`i~#foL!Jd__! ~#foͩ4d!7d!}2L!9.BAK$$$Íd$ü ùm-%nè]Ûnàsσ-wmuz- U !9DM!LQd"bL*bL#|¾d!bh!!TdYh!!Wd!!!Zd!!Wd]d!!!Zd!~h`d!!Wd!"n/>a2(N!"XL!"`L>2L*L&He*L&cd>a2L*L&ڊe! w#w! ~#fo2Ҋe!cd! ^#Vr+sce*^L##"^L++~#fo"hLfd*ZL|¶e*+N|¶e*nN|ʻg*3|eûg*+N|vf*nN|vf*iN}2QL!wN!4Nid>e> f>e>"f> f>[fsf+N! s#r! 6#6sf*RL|=f!+Nld!nNldÞe+N! s#r! 6#6!nNldsfnN! s#r*RL! s#rsfüf*+N|ʔf+N! s#r! 6#6üf*nN|ʴfnN! s#r*RL! s#rüf! w#w*ZL||g! ~#fo||g! ~#fo>n}2QL*hL! ~#fo id>g>g>g>Mg>g>pgyg! ~#fo|=g! ~#fo od! ~#foldÞe! ~#fo|`grdud! ~#foldÞerdudÞeøg*ZL|ʍgrdudøg! ~#fo|ʫg! ~#fo od! ~#foldÞe!+Nxd!nNxd{d*3|g!L~dYh!!jĹd"bL*bL#|Dh*bL̈́d*L|h!L~d!L!jL͇d#|Dh!h!L͊d!L!!Td*3|Yh!jL!L͇d! 9CAN'T CREATE NEW DICTIONARYABCDEFGHIJKLMNOPQRSTUVWXYZ IS NEW DICTIONARY!h"L*>L"@L*@L"BL*BL"DLt҄$u#sv%&w'45"x36 r7yz( 1i_!9DM>2PL! ~#fon&;In}xi! ~#fon}'Ši! ~#fo#n&;In}ʊi!PL4! ^#Vr+s>i*PL&i! ~#fo+n&.isi! ~#fo++n}'i*PL&++}2QLi*PL}2QLiÕ|ô!9DMi`is#r!! i`i~#fo!i!9)jDžü ô!9DM!* ~#fo!jj|_j!* ~#fo!jj|ej!ðj!* ~#fo`i j#|™j!* ~#fo!!#j!ðj`i!#&j!! ~#foðj!&9?*jáþ- ö|}Ûn!9DM!!!'2 L`i6#6`i~#fo+k`i~#fo2;K!! ~#fo(! ~#foj! ~#fo?! ~#fo?##s#rs#r! ~#fo8!! ~#fo(js#r! ~#fo8~#fo#|k! ~#fow#w!Um! ~#fo6#6! ~#fo##6! ~#fo6! ~#fo! ~#fos#r! ~#fo:! ~#fos#r! ~#foj|>m! ~#fo~#fon&|l! ~#fo~#fon& ҹl! ~#fo7! ~#fo^#Vr+sns! ~#fo<^#Vr+sl! ~#fo76! ~#fo7n&m! ~#fo~#fo2s#r! ~#fo<~#fos#r! ~#fo"HL! ~#fojs! ~#foj*3|Om!UmUm!Um!9COPYRIGHT 1984 TOM MORAN}m !9DM! ~#fo~#fo|ʷm! ~#fo8~#fozm! ~#fow#wÿm-!9DM! n`is#r`i~#fon}m`i^#Vr+sn&`|g}oͼmm! ͼm!9#/092)'(4@QYXT@4/-@-/2!.1n' !9DM*`L*9sn(n*3|Un+n*3|mn!"XL*bL.n!"`L*`L|n*dL"fL*fL#"fL+! ns*`L#"`Lênwm}Â_!9DM! ~#fo"HL*HL7n}nnLq*HLn}2NL}n*HL͞n!×s*NL&|g}o}2OL*HL *NL&|g}o}2NL&"JL͡n}2LL&*JL*HL s*HL?##^#Vr+s|Fq*HL?^#Vr+s!×s*HL "JL! 6#6*HLn}2LL*LL`is*LL&;In}µq*LL}ʓq*LL}¤q*HL͞n!×sòq*LL`is͡n}2LLrq*HL7n}q*JL`inѯg"JL! ~#fo`inѯgs#rq`i6*LL&ͤn}2LL*JL#"JL+*LLs! ^#Vr+s͡n}2LL&;In}5r*LL}'.s*LL}'r͡n}2LL&ͧns®r͡n}2LL&;In}kr.s! ~#foңr*JL#"JL+6'*JL#"JL+6S! ~#fo++s#rër! w#wr! ~#for*JL#"JL+6'*JL#"JL+*LL&ͤns! ~#fo++s#rr! w#w+s! ~#fo|+s*JL#"JL+*LL&ͤns! ^#Vr+sr*HL*LLs`in*;KѯgWLq*HL>*JL*HL s*HL?##^#Vr+s|Œs*HL?^#Vr+s*JL6!×s! 9õs_-ë+i%n!9DM*VL#"VL|s*TL#"TL! ~#fon&ͣs*(Nѯgs!*ͦs!(N4s*L& z`i6L! s#r! ~#fon&;In! ~#fon&;In}wt! ~#fon}wt`in&wt! ^#Vr+s! ^#Vr+s`i4t`in}t! ~#fon&ͣs*Lѯgt*L&)L*bLͩs*`Ls#r!L~4o&M*`L|g}o*L}t!t!st! w#w! ~#fo! s#r! ~#foͬs!QL~5o}su! ~#fon}'Zu! ^#Vr+sn& |g}oseu! ^#Vr+s! ^#Vr+s u! ^#Vr+s! ~#fo+n! s! ~#fon}sud-wgiweʷwrwyxnNxtʯxx! n}eurOvnʒvv! ~#fo++n}iv! ~#fov`in&`s! ~#fo+++s#rLv! ~#foLv`in&0s! ~#fo++s#rv! ~#fo++n}ev! ~#foҏv`in&Ps! ~#fo+++s#rv! ~#fo++n}ov! ~#fov! ~#fo+++n}iv! ~#fo++++n}tv`in&@s! ~#fos#rv`in&|g}o|*w`in&ps! ~#fo+s#rx! n}efw! ~#fofw`in& s! ~#fo++s#rx! n}n´w! ~#foҴw! ~#fo++n}i´w`in&s! ~#fo+++s#rx`in&s! ~#fo+s#rx! n}ex! ~#fox`in&s! ~#fo++s#rx! n}lKx! ~#foKx`in&s! ~#fo++s#rx! n}o¬x! ~#foҬx! ~#fo++n}i¬x! ~#fo+++n}t¬x`in&s! ~#fo++++s#rx! n}nx! ~#fox! ~#fo++n}ex`in&s! ~#fo+++s#r*L}y`in&ͯs! ^#Vr+sz~y*3|,ylz{y! ~#fon}'Fy!ͯs]y! ~#fon&;In&ͯs! ^#Vr+s! ^#Vr+sns yy`in&Ͳs! ^#Vr+szy*3|ʪylzy! ~#fon}'y!Ͳsy! ~#fon&;In&Ͳs! ^#Vr+s! ^#Vr+snsËy! ~#fo6lz! ~#foͬs!QL~5o}Lz*3|/zlzIz! ^#Vr+sn&ͣsͲsz*3|\z! Ͳs*3|lz! Ͳs!9Ózë%n' - q i!9DM*XL|¦zÌ|*L&!{*Lgz!{*L&)L*bLxz*`Ls#r!L~4o&M*`L|g}o*L}{!{!sôz*L}={!{z!{z^{*L&V{!~z^{!~z*`L|ʜ{*`L|g}o"9*`L#"`L+*9ҙ{*fL#"fL+6y{́z!"XL*bL̈́z*L&ڌ|*3|Œ|!!L͇z"bL!*dL*bL͊z!*dL*bL͍z*dL#! s#r`i6#6`i~#for|! ^#Vr+s`i~#fo)L~#fo`i~#fo+)L~#fos! ^#Vr+s`i~#foMns`i^#Vr+s|!*dL*bL͐z*bL̈́z!9Û|ô!!͘||g}o|q ü wm!9DM͹|*3||!! ~#fo~#fo||!! ~#fo<! ~#fo:~#fo! ~#fo~#fo! ~#fo8~#foͼ|s#r! ~#fo<~#fo#|l}!}!!Ϳ|! ~#fo<~#foҗ}! ~#fo|!! ~#fo<! ~#fo<~#fos#r! ~#fo! ~#fo~#fos#r!DICTIONARY DAMAGED~πö|!9DM*HL7n}~~}}2FL*FL& C~*L`is#r~*@L`is#r~*BL`is#r~*DL`is#r~*GL&))))}ѯg&`i~#fo*GLѯgn&*HL<~#fo|~*HL~|~!&*HL<^#Vr+s*HL^#Vr+sn&!90ü !9DM*9`is#r`i~#fo*dL*bL*`i~#fo|!!!-!9INSUFFICIENT SPACE FOR NEW DICTIONARYôOô!9DM! ~#foͮ`is#r`i~#fo!$ͱ`i~#fo!~#fo!9aæ!9DM! n&(Mn`is! 2`in&``in}R!! n&``ing!9rô!9DM! ~#fo!l!! ~#fo! ~#foo`is#r`i~#fo#|!ƀ!ƀ!9Հö|*HL##~4o}*HL##6*HL###n&|g}o&*HL<~#fo|$*HLҀ|$!&*HL###*HL^#Vr+sns*HL<^#Vr+s*HL###n&;Jn&g%n!9DM!L~4o}ʕ>2L*L! nѯgWdä! n&))))}2Lì%n!9DM*L}*L! n&;JnѯgWͩ! n&))))}2L! n&ͩOô!9DM! ~#fo`is#r! ~#fo+|W`i~#fo!$! ~#fo`i~#fo!~#fos#r`i~#fo!! ~#fos#r`i~#fo#6`i~#fo!!|ʖ!Ü!Ü!9!9DM`iw#w`i~#fo`i~#fo?! ~#fo`i^#Vr+só`i~#fo+!9ÑÕ|!9DM! ~#fo! ~#fo|&!ƃ! ~#fo#n}:b! ~#fo`is#r! ~#fo! s#r`i~#fo! s#r! ~#fo#n}:! ~#fo#n}:! ~#fonA! ~#fo! ~#fo##|!ƃ!ƃ!9Ճàs!9DM*hL`is#r`i~#fon}+ `i~#fon}- `i^#Vr+s`i~#fon}-$*hL҃!96+iè]*hL0*^L~#fo*hL3|‡*ZL+"ZL|k*hL6Ä*^L##"^L++~#fo"hL*hL0?*^L##"^L++~#fo"hL*ZL+"ZL7**:Oz¹q#ñ7*|DM** ><~# x ><~+ x|} !\&!-- 7*'\!**7*!&*!&!, !\&!TELk77:O*o`7*~# ΅ ΅+*&!7:)~:,"s!"u*|*uM*~#$"*s*uM#"u*+" ) ,e×!9DM! n&b|ʌ! n& Ñ! n&!9DM! n&Aͯ†! n&Zͯn the menu, it probably emulates one of those that is there. Look in your terminal documentation to find out. After you install WordStar for the proper terminal, run WordStar and open the file PRINT.TST to see which attributes (such as bold and underline) work on your screen. WordStar will highlight the following in some way... Bold (^PB) Underline (^PS) Strike-out (^PX) Subscript (^PV) Superscript (^PT) Doublestrike (^PD) Italics (^PY) Blocks (^KB, ^KK) Error messages Most of the time, normal text will be shown in dim intensity, and highlighted text will be shown in bright intensity. You may have to use a brightness and/or contrast knob to adjust your screen the first time you use WordStar this way. If your dim intensity is too dim to see well, and you can't adjust it, you can change the BRITE flag to ON using WSCHANGE. This will invert bright and dim in your text, so that regular text is displayed bright, and highlighted text will be displayed as dim. However, text in the menus is not affected. DISPLAY PROBLEMS WITH TERMINALS ------------------------------- Once you have installed WordStar for the proper terminal, you may still experience display problems. If text from the previous screen remains after WordStar displays a new screenful of text, the most likely cause is cursor wrap. Basically, WordStar must know what happens to the cursor when a character is displayed at the rightmost position of the screen. It can either remain at the right edge, or it can wrap to the beginning of the next line. The WRAP flag in WordStar must be set either on or off to correspond to the way the terminal works. (It is generally set for the terminal's factory default, but the default can usually be changed using the terminal's setup mode.) Another possible cause for display problems is your terminal'O]Oü vQO*3|5O*J|5O!JO!!dO*3|HO O! ONO PARTS SPECIFIEDrOü þRIk ÑT !9DM!"J! w#w͐|ڪO!P!!d`OP*J!O!P!!d`OP!,!!QcO`is#r*3|CP*0&|P*0&|CP!"3!0!3fO!3iO!EQ!3lO|@PoOP*3|NPP͐|ZPP!,͐!IQcO! s#r*3|ʀPP*J#"J+)AI`i^#Vr+ss#r*J#"J+)AI! ^#Vr+ss#r! ~#fo͐͐#s#rÈO!9NEW LINE WOULD BE TOO LONGTOO MANY PARTSWHAT IS THE LEFT POSITION OF THE NEXT PART (OR 'END')?ENDWHAT IS THE RIGHT POSITION OF THE NEXT PART?QÑ!9DM*d/*J/ҵR*3|µRyQ*H/|ʶQ*D/n*/}Q*D/|QÇQ! s#r! s#r͐*JҠR! ^#Vr+s)AI~#fo! s#r! ^#Vr+s)AI~#fo! s#r*D/͐`is#r͐! s#r͐͐ ڝR͐*F/nR! ^#Vr+s446 ÏR! ^#Vr+s44`i^#Vr+sns! ^#Vr+s9RQ͐446!44|QÇQ! 9R ! ü !9DM͐R!0R`is#r͐͐ S͐͐ S!0!!R͐"S!9!9DM*d/*J/ҵR*3|µRyQ*H/|ʶQ*D/n*/}Q*D/|QÇQ! s#r! s#r͐*JҠR! ^#Vr+s)AI~#fo! s#r! ^#Vr+s)AI~#fo! s#r*D/͐`is#r͐! s#r͐͐ ڝR͐*F/nR! ^#Vr+s446 ÏR! ^#Vr+s44`i^#Vr+sns! ^#Vr+s9RQ͐446!44|QÇQ! 9R ! ü !9DM͐R!0R`is#r͐͐ S͐͐rinter can backspace) or Draft Printer (if it can't). These choices may not take advantage of all your printer's features, but they will work with almost any printer. Note: If you choose Draft or Typewriter, you can modify custom print controls and printer initialization. If you want to make more modifications to take advantage of your printer's feature, choose the Custom or Simple drivers, then use the WS Printer Patches section of WSCHANGE to tell WordStar the codes for your printer. Refer to your printer manual for these codes. Some printers work better with the Custom driver and some with the Simple driver. Try using both and see which works better with your printer. See the "Reference Guide" for more information. SETTING UP YOUR PRINTER Choosing a Printer Port Each printer is connected to a printer port at the back of the computer. WordStar looks for printers on the LST: port. If your printer is connected to a different port, use WSCHANGE to tell WordStar the correct port. Testing Your Printer Connection At the operating system prompt, type "PIP LST:=READ.ME." This file should be printed by your printer. If it is not, your printer may be connected to a different port. See your computer reference manual, and the section on the STAT command in your CP/M reference manual for more information. PRINTER DRIVERS The WSPRINT.OVR file on the Printers disk contains a printer driver for each printer on the Printer Selection Menu. The printer driver for a printer contains all the codes WordStar needs to work with that printer. Each printer driver has a short name. If you choose a printer when you print a document, you see the names of the printer drivers, not the names of the printers. PROPORTIONAL PRINTING WordStar supports proportional printing on a number of printers. To turn on proportional printing, either install WordStar to default to proportional printing, or place a ".PS on" command in your document. At print time, WordStar selects the appropriate proportional font based on the character width (.CW) currently in effect. The specific printer descriptions later in this section show recommended character widths for proportional typefaces. These widths are for a normal mix of upper- and lowercase letters. If you have many words or phrases all in uppercase or if you want your text less densely printed, choose a larger character width. While WordStar mostly sets character widths based on the proportional-width table in the driver, on the more advanced daisy wheel printers, WordStar uses the printer's proportional- spacing mode. WordStar determines how much white space is needed to right-justify the line based on its own proportional width tables. If the table values don't match the wheel installed, WordStar won't be able to justify the line correctly. WordStar sends standard ASCII characters; if a proportional wheel uses a different spoke mapping, set up the printer to handle this. LASER PRINTERS WordStar supports laser printer features such as font changes and proportional spacing. WordStar supports several laser printers: the Canon LPB-8 A1 & A2; the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; and the Ricoh LP4080. Refer to the "Specific Printer Information" section of this file for information on these printers. General notes about using laser printers are given below. Paper Size and Margins Laser printers come with preset page margins. You need to compensate for these margins by changing page length in your WordStar documents. The chart below shows the recommended settings for 8 1/2 X 11 inch paper for both portrait and landscape orientations. These settings allow 55 lines of text for portrait orientation and 40 lines of text for landscape orientation (at 6 lines per inch). They also allow for a footer of up to 3 lines and a one-line header. If you use multiple-line headers, adjust the top margin accordingly. Dot Default Portrait Landscape Setting Command Value Orientation Orientation ------- ------- ------- ----------- ----------- page length .PL 66 62 47 top margin .MT 3 2 2 bottom margin .MB 8 5 5 header margin .HM 2 1 1 footer margin .FM 2 2 2 If the laser printer is your primary printer, you can use WSCHANGE to make these settings the defaults. Because laser printers leave small margins at the left and right sides of the page, you may want to use a smaller page offset setting (the default is .PO 8). Form Feeds When you print with a laser printer, answer Y for yes to the "Use form feeds (Y/N)?" prompt at print time. (The default is NO.) If the laser printer is your primary printer, you can use WSCHANGE to change the default to yes. WordStar Commands for Font Selection The WordStar dot commands and print control commands listed below determine the fonts used for printing a document. .PR .PR OR=L selects landscape orientation; .PR OR=P (or just .PR OR) selects portrait orientation (the default). If either of these commands appears after the first printing line on a page, the orientation will not change until the following page. .PS .PS ON selects proportionally spaced characters; .PS OFF (the default) selects fixed-spaced characters. .CW The character-width setting (.CW followed by the width in 120ths of an inch) determines the character pitch and font selected for fixed-width printing. For proportional fonts, it determines the point size and proportional-width table selected. .LQ .LQ ON selects near letter quality print (if supported by your printer). LQ OFF selects draft quality print. Default is ON. ^PY The italic print control toggles between normal and italic characters when the appropriate italic font is available. ^PB The boldface print control toggles between normal and bold characters when the appropriate bold font is available. ^PD The double strike print control used with the laser printers toggles overprinting with a horizontal offset of 1/120" between the two character images. This allows a bold effect &OEcopyright (c) 1983 by frank gaude'!9"[1[ͫPNZ2]2]͇Z!W[] &Z2h2|/2[\ Command, n or : ͿYʈPhYNew DIRectory: O: ^2]MZ7Z> 2]2ehY >O!d[Yb[ Y2 ^:e[:(6082:0H0 :f[:(08 603&2 ^>G:f[:(00x2 ^:O or - Return to T/Maker or spacebar advances cursor -- or B backs up !_" ^"^ "^=ƀo&:\w* ^ &Z6 #" ^\< * ^"^"[ _SZʱR*^*^  # 0 Nwy#*^ "^*^SZ *^ "^"^*^SZ AY!+*[SZ0 x hY No Buffer Spaceni`"^!_" ^hY * ^~@}Y:]( 8 >1}Y0}YhY: #~}Y#>.}Y~}Y#~2 S#" ^hY : ͿY&SͫP͇Z* ^" ^!2[G~ȸ(####~#fo>}YZ# ^*.^"]!".^:[o*]YZ/odZhYk{S* ^*^SZ·RvY!_" ^÷R* ^ _SZ vY*^ " ^hY <- * ^" ^RhYtorage remaining on DIRectory: ͿYAUPG:OAUPx2]7ZhY ͇Z:[GZSZhYelete? (y/n): ͿYYS ^< hY ++ NO FILE FOUND ++S* ^" ^*^SZ( &Z"^_SZ{S* ^SZ{S2[hY ++ List Empty ++ÈO* ^] &ZhYename file to: ]vU!] ~#?(\]!] O>w#:]2 ^ !]^&Z!^/Z ^<(?hY ++ FILE ALREADY EXISTS ++ShY ++ NO WILDCARDS ++S* ^!] &Z]<S9Tb[ Y6# Y!c[N#Yi&6 YxP .(#*(w#Y . 6?#.xP#Y8 (.( *( w##/Z6?#!"]Z!^/Z2-^ !^]&Z ^< hY Unable to Open SourceShYCopy to DIRectory: O:\G: ^ @: ^G:] 6hY ++ Drives or User Areas must be different ++S7Z:\2]: ^MZ]<(KhY ---> File already exists, overwrite? (y/n): ͿYY( :]MZ{S]]< $hY Destination Directory FullS!]dW&Z&ZhY ---> Copying file . 2]:]MZ!"^*["[*[ ^(=(ChY Source Read ErrorS*[~X#*["[*^#"^*^SZ >2]: ^MZ*["[*^|(G+"^*["[](hY ++ COPY DISK FULL ++]S:]vW]< hY Copy Close Error*]"]!"]!]/Z]<Y2]](=(AhY Copy Read ErrorS!~X#*]O![ ~W$^"]:]MZ*]*]SZ (hY ---> Copy certified {ShY ++ COPY COMPARE ERROR ++{S![!yg)0>g>!or$s%# ~#(}Y> }Y> _͘Y> }Y> > ͣY> _͹Y *. a{_!c[FxxP#~Yw6 #  xP [0!Z(#7,:;<=>>ͪ"* ^ ^ ~#6#2[ :]__ z{|g}o 8 |dZ{0}Y<2\@2)[##~2[#~2[##^#V"[ }08 :\=_.!~w+ *1*[#8W+}(z i`:[()= dZhYk bytes free on DIRectory : {S {SBSSCUDTL >  ͢| } @ >. *_}o| , 0 ë ^#V#!Y ))))o P q s#r#!V4 !V6# ,® >2Vñ m ͅ m ͅ m ͅ « Vʫ ! XN!~  ! _^! ^#V~ x+ >= = !~  . !   #x f L L ͓ͅ ҆ *" !6ï +"_*~ #E گ ʫ ^#V. ï ~ CZMEIABDHSP!"M"+"!91*~!O~6=G#^#V#~x (#"!N#FW( *J>7Å*M|N+"M N:LHͅÅD Å >* *͓ b" . *"] !/~##ʁtZ*F#n!Is!^#V&&##&))::^#V#*^#V>+)x-8_s a carriage return character, and responds to a backspace command. Overprinting is done by backspacing. SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ Controlled by user area strings .PS Controlled by user area strings .CW N/A .UJ N/A .LH N/A NOTES This printer driver prints the line in one pass, sending control strings from the user area to select print enhancements. CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ ON/OFF controlled by user area strings .PS ON/OFF controlled by user area strings .LH Sets line height only in multiples of full lines .UJ N/A .CW N/A NOTES This driver prints the line in multiple passes, sending control strings from the user area to select print enhancements. PREVIEW TO DISK ----- Driver: PRVIEW This driver prints documents to the PREVIEW.WS file to allow you to preview the format and appearance of a document before printing. Headers, footers, and pagination are shown correctly and print controls remain in the file to display onscreen attributes. Dot commands are not printed. PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII This driver prints to the ASCII.WS file, stripping headers and footers, high bits, and print controls. PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT This driver prints to the XTRACT.WS disk file, stripping headers and footers, but preserving high bits and print controls. ANADEX 9500A, 9500B ----- Driver: 9500 ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 9 13.3 cpi 10 12 cpi 12 10 cpi 18 6.7 cpi 20 6 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 7 16.7 cpi 8 15 cpi 10 12.5 cpi 12 10 cpi 14 8.3 cpi 16 7.5 cpi 20 6.2 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 ^PY N/A ^PT/V Prints full-size characters with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification C. ITOH F10 STARWRITER ----- Driver: QUME See Diablo 630, 1610, 1620 Daisy Wheel. Note: Proportional printing was tested with a Theme 10 wheel. CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll .PS .PS .CW OFF ON Font Name --- -- --------- 6 - 20 cpi 8 - 15 cpi 9 - 13.3 cpi 10 - 12 cpi (elite) 12 - 10 cpi 20 - 6 cpi 24 - 5 cpi 16 - 7.5 cpi - 7 (0-8) Garland 8 point - 10 (9-11) Garland 12 point - 14 (12-17) Expanded 8 point - 20 (18-30) Expand'OPÐPSQÌQQúR\k ÑIU!9DM`iw#w͐|AOOO O O!OO*3|O*M|O!"M!O*M|ʌO*N|ʉOOÌOO*39|O*N|O*M|O!"3>2x/!MO!O!MO|OO!O!x/O!OUO!$O!9ENDFILE BARP!"N!/N!MP!" N!7N!NP*N"M*M|FP*E"M*M|XP*J"M*M|jP*N"M*M||P*N"M*M|ŽP*ON"MÙP@!!LQ!cN͓P!!NQ![N͓P![N!cN͖P!!PQ![N͓P!"3*/}2M*%/+"M!"M!"M!"M!"M!"M!"M!"M> 2M!"M!"M!"M!"N!" N!"M!"M1210!"6!"h20!0!M͒QWHAT VARIABLE?Q ûIk ÛST'VT !9DM͐| R!RQ! w#w! 6#6RQ! s#r͐|ʀR!0!3Q!3QQ|ERQ|ERQ!"3*M|aRQ! s#rdRÀR*M++|}R͐|zRQÀRR͐|’R!"NØR!"N!9WHAT OPTIONS (OR 'END')?RSQ^þ`Ïabqcdøf\ͽR!MR*3|RÙS*N|CSR*3|S*3B|S*M|SÙS*3B|2S!"NCSR*3|@SÙSR*N||S*3B|kS!"3!MR!"NR*3|ySÙSR*3|ʇSÙSRR!"NÙSRäS ÌQ!9DM!bT!3͞S`is#r͐|S!YT͐>S>T>S>#T>S>,T>T>,T>T>5T>T>>TGT͡SGT!"MGT!"MGT!"MGT!"MGT!"N!"M!YT!9BAR ROW COLUMN COL ALL SOME ÎT `XóY!9DM!U!3͂T`is#r͐>¹T>T>T>T>T>T>T>U>T>UU!"MUͅTU!͈TU!͋TU!͋TU͐|+U!U!V!3͂T`is#r͐|MU!U͐>]U>ʐU>iU>ʟU>uU>ʮU>U>ʽU>U>UU!"M!"MU!"M!"MU!"M!"MU!"M!"MU!"M!"MU!U!9END CHART FILE RESTART CUT SHORT LONG REPLACE INSERT STACK HV ZZ9[s[[\]\á\U!9DM!W!3*V`is#r͐>sV>ʲV>V>ʲV>‹V>ʸV>—V>ʸV>£V>ʾV>¯V>ʾVV-VV0VV3VV͐|V!"MW!X!3*V`is#r͐>V>8W>W>>W>W>DW>W>DW>)W>JW>5W>PWVW6VVW9VVW‹W>ʲW>—W>ʻW>£W>W>¯W>WW!"MW!"MW!"MW!"MW͐|W!"MWEV!9CHARACTER CHAR MAXIMUM MAX MINIMUM MIN NAMES VALUES LENGTH LEN WIDTH SPACE NUMBERS NONUMBERS BARS NOBARS rXõk!9DM*N|ʅXêY*P/|ҙX*X/`is#râX*L/`is#r͐|´X*J/`is#r!cX! w#w͐͐Y͐*%/Y!!͐fX*'/*B/iX! ^#Vr+sX*M|)Y͐͐,YêY͐͐ҖY*3|–YlX! s*3|[YÖYhY! n}hYoX!!͐fX*'/*B/iX! ^#Vr+s,Y*3|ʧY!"3êYoX!9ùYõ!9DM*L/|Y*L/`is#rY*X/`is#r!!͐ͶY͐|hZ*J/*d/"J/*X/*d/"X/*X/|&Z!"X/*X/*\/+"Z/*L/|YZ*L/*d/"L/*N/*d/"N/*/"B/*d/"J/!"X/*#/"Z/*#/#"\/!"P/"N/"L/!"^/*'/+"`/*'/"b/!"T/"R/!"V/!!!ͶY!9Z !ZZ*0}2M*M}2MWHAT CHARACTER?[ !+[[!!0!N[!" NWHAT MAXIMUM?B[ !e[<[!!0!M?[!"NWHAT MINIMUM?y[<~!d!![v["M*3|ʝ[!"MHOW MANY POSITIONS FOR THE NAMES?[<~!d!![["M*3|[!"MHOW MANY POSITIONS FOR THE VALUES?\<~!! !<\\"M*3|:\!"MHOW MANY POSITIONS FOR THE BARS?c\<~!d!!\`\"M*3|ʇ\!"MHOW MANY LINES PER BAR?ç\<~!d!!\ͤ\"M*3|\!"MHOW MANY LINES OF SPACE BETWEEN BARS?]óYÄgiõwü ÑlånkP`X!9DM*M+|<]!"L/!\\\*M|U]*N|U]û^*M|o]!!!\*M+++|]!/N!6]+|¢]!^!!d]û^*B/n}]*B/!^]|]!!*d/#\â]*M|]*J/#"J/*B/+"B/6 ]*3|]]*3|'^*M*%/'^*M|'^!*#/]]*M|ڡ^*M++|I^*d/`is#ra^*M|[^`i6#6a^`iw#w*X/͐"X/*Z/͐"Z/*P/|ڡ^*L/͐"L/*N/͐"N/*M|ʻ^]]!"M!"M!9CAN NOT STACK NEGATIVE NUMBERS 0 _Ik õ  ü Ñ6!9DM͐!3^!3^!`!3^`is#r*M"N͐|i_!!*X/^^!"Næ`*L/|چ_!!*L/^Ø_!!*X/^*J/! s#r*B/͐^`is#r͐|_*d/͐___!!*d/#^__ã_͐|*`͐!44^!`!44^!44!!^æ`͐"h<^*N|C`æ`_*h<|[`!"NÞ`*H/|o`*H/|x`!"NÞ`*D/_`is#r͐|ژ`!"NÞ`!"N*D/_!9IT NOT FOUND`6õòpÑpGr!9DM!"j<*B/``is#r*d/|Na*3|Na͐|Na͐|*a*j<|*a*d/"j<244! ^#Vr+s446>!7N l`iw#w͐3n}ʤl`i^#Vr+sÊl`i^#Vr+s͐l͐|l! ^#Vr+s44`i^#Vr+s3nsúl!/N l! w#w`i6#6͐3n} Wm͐3n}Wm͐͐Wm`i^#Vr+s44! ^#Vr+s3nsm͐3n}ʓm͐3n} ʓm`i^#Vr+s!|ړm͐446 tm`i^#Vr+s! w#w͐Mn}m͐͐m`i^#Vr+s44! ^#Vr+sMnsäm`i^#Vr+s͐͐#n*M|n*M} #n͐44*Ms*M|3n! l!"M*M|gn!l!"M*KNl*ON!44ll*M+++|zn!ll*M|ʎn!"MÔn!"M!l!9ýnkÜvySyzÅx!9DM!"J!"l<*J|nép`iw#w͐*Jҩp*3|©pͨn! s! n}%o*3|oép%o*M|%oͫn*N+! s#r! w#w͐*Np*3|p*M+++|ʒo͐#ͮn͐͐oͱn͐͐’oʹn͐ͷnͨn! s! n}o*3|ʼopo*M|oͫn*M*#/o*M#"Mͺn*M*Mp*M|p*M|pép! ^#Vr+s@o͐*J+&p*M|ʝp! w#w! ^#Vr+s*Nڝp*3|p*M+++|ap͐#ͮnͺn*M*#/yp*M#"M*M*MҚp*M|šp*M|špép.p`i^#Vr+sn! 9øpü !p!!͵pNO EXAMPLE LINEpI!9DM!"9*F/|q>r*D/!9p*F/":!"Yr*Y<9n} Dq*Y<#"Y<,q*:|Rq*Y<":*Y<9n}0hq*M|zq*Y<9n*/}ªq*N|ʪq*Y<9n} ʧq*Y<9n}ʧq*Y<#"Y<Âqq*Y<9n}ºq>r*9#"9*9|q*9+"9>r*9):*Y 23͐!3Zu`i6#6! 6#6*3} –u>023͐|u! ^#Vr+s3`i^#Vr+s3nsÖu͐3*/s>2#3! 6#6͐3n}0 v! ^#Vr+s36u͐3n*/}*v͐36! w#w`iw#w͐3n}ʉv͐3n} }v! ^#Vr+s3`i^#Vr+s3nsÆv`i^#Vr+s8v͐36!9èv ñw!9DM*M|ºv͐!3͟v!v!3͢v!!3ͥv*CN"M võ!9DM*M+++|^w!!,*d/v*@/n} 6w*@/+"@/*f/+"f/w*f/*KNVw!*KN*d/v*f/"M͐"M*M|Œw͐*'/Ҋw͐*Mv*B/+"B/6!͐*d/v*B/#"B/úwÄ!9DM*M|.x`iw#w͐n&|(x*f/|(x͐͐(x*@/#"@/! ^#Vr+sns*f/#"f/`i^#Vr+swʹw|x*M*'/?x|x*'/*M`is#r͐͐mx͐! s#r͐͐ͷw!9Ñxõ!"M͈x*M|­x! ͋x*M+++|x!!*d/#͎x*J/#"J/*d/#"d/*@/n} x*@/+"@/x*@/#"@/6!"f/ yñwv!9DM*N|yJy*N*l<n<y*l<#"l<+n<n}By-y*ENy!9Yyñw!9DM*EN"M*N|ryz! w#w͐*Nҡy͐36 ! ^#Vr+szy*J En}y! ^#Vr+s3*J#"J+ Ensáy͐3*J#"J+ Ens*N͐*N3Vy!94zvwñwRÉòé~,}!9DM*M|Gz}*GNz͐)))J!/Nz+|zz!!&}zÒz*M+++|ʒz!!(}z*IN"M͐)))J!3z!/N!3z!kN!3"z!3!44z!!3%z*N|Q{!6͐)))Jz|Q{!44!3z|Q{!3!44z!44(z!cN!44z|Q{!6!3z!SN!3z|ڄ{!SN!3z!6!3+zã{!6!3z|ң{!6!3z!3.z! s#r͐*ON{*N++|{*ON! s#r{͐|{! w#w*N>{>|>|>.|>|>i||͐|+|͐1z|*ON͐`is#r͐|f|*IN͐z͐1z|͐*QNڲ|͐*QN`is#r͐|گ|*IN*QNz͐1z|*QN͐`is#r͐||*IN͐z͐1z|!7N͐)))Jz+|}*MNz!!*}z!9< >8}Ä-!9DM*M|ʠ}*M+++|k}*f/͐##"f/*@/#"@/6 ! ^#Vr+s!|ڑ}*@/#"@/*Msk}*@/#"@/6 /}3~*'/*M++`is#r͐|}3~͐͐}͐! s#r*M} }͐!2}3~`iw#w! 5}`i^#Vr+s͐+~*M&5}~! 5}!9H~ ! ü !9DM͐?~!0B~`is#r͐͐ڇ~͐͐ ҙ~!0!!E~͐à~!9!9DM`iw#w͐ n}~͐ø͐ n&|g}o! s#r! 6#6͐ #! s#r͐ n&|g}o! s! n&|ڛ͐ ?`is#r͐|``i~#fo͐n&s#r! w#wÓ`i~#fo͐n&|g}os#r! 6#6! ^#Vr+s! 5͐|ʱ͐øø͐ø! 9!9DM`i6`in&|! ^#Vr+s! ^#Vr+sns`i4!9 !9DM*6͐͐͐!* / "6F !9DM*6͐!͐!* /C"6!9DM͐ n&|g}o! s#r͐ n}ɀ͐ n}´!çɀ͐|À!ƀ!ç͐ n&|g}o! s#r͐ n}͐|!!ç͐͐%͐|!"!ç`i6͐ n͐ n}e`i5n}L!çb! ^#Vr+s! ^#Vr+s)͐ n͐ nѯgWҒ͐|ʉ!Ì!çç͐|ʡ!ä!ç!9ù !9DM͐!6ͳ!!6͐Ͷ !9DM*6͐!͐!* /"6! !9DM*6͐!͐!* /"6X !9DM*6͐!͐!* /U"6Ï !9DM͐͐!* /͌!9DM͐͐n&|g}osڂ !9DM͐!͐!* /ׂ !9DM͐ |(͐ ! s#r`i6#6'͐ ͐! s#r͐|”͐|ڔ`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 D͐ ͐!9s!* /"6! !9DM*6͐!͐!* /"6X !9DM*6͐!͐!* /U"6Ï !9DM͐͐!* /͌!9DM͐͐n&|g}osڂ !9DM͐!͐!* /ׂl> l>! :2ɍ!"!:֍®2!2!4:؎: ؎> 2-i v̀͞:-:/O!4>2 2O*! 4:*4:- ̀ͣ͞ ~~~~:+:!ʓ=Ó Þ:Ύ2::ȯ2> o&)~!4>!5*&:Og}< +:;s:s>Gvs: Oc:<BHMZR$z_gya>2zx{>_|s̀> ͇!,w!+:<0ʜ0ʜ>>>ɯè:<2;:DRAFT    ?????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?DATA COMPOS$PF ͐ $PG ِ $START$DONE $QUIT CODE 0 TYPEWR  ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?DATA COMPOS$PF ͐ $PG ِ $START$DONE $QUIT CODE 0 1ASCIIFáýʆÔÕ":>2<2627282=2>21"2"4ʆ*4|*2~G:Exx Q Qjj o%ʊʏ !84͘Yʆ*2##~++YY#~ F`!Q_~!86*2#"2*4+"4> > ͘:8<28*: o>->~ɯɌGx͆!Gx͘+|¥ASCIIASCII WS V=%! PS > CueaaaaceeeiiiAAEaAooouuyOUcLYPSaiounNao?--24!<>===||||++||++++++--|-+||++--|=+=--=++++++++==||=aBgnErutoOnsoOEn=+>> = C.1 C KS + 1 C - 1 /100 CREATE - 2 /100 GET - 3 1 EDIT - 4 1 SAVE C - 5 LIST - 6 /100 INFO WAIT 1/1 C ----->> *** PRESS SPACE BAR TO CONTINUE *** - 7 FILES A C - 8 FILES B C - 9 1 RENAME - 10 1 DELETE - 11 1 COMPUTE - 12 1 ALIGN C - 13 1 PRINT - 14 HELP - 15 END - 16 STOP - P LIST A:PRINT.UTL C * T / M A K E R COMMAND MENU * ........................................................... : (1) CREATE file ( 9) RENAME file : : : : (2) GET file (10) DELETE file : : : : (3) EDIT file (11) COMPUTE : : : : (4) SAVE file (12) ALIGN text : : : : (5) LIST file (13) PRINT file : : : : (6) INFO [14] MAIN HELP MENU : : : : (7) FILES A [15] To WHAT NEXT? : : : : (8) FILES B [16] STOP T/Maker : :.........................................................: [KS] EDITing KeyStrokes [P] Special Printing Symbols + 1 KS - 1 END - 2 HELP * MOVING CURSOR * Cursor Up......Up Arrow Key Screen Up...... Up Arrow Key Cursor Down....Down Arrow Key Screen Down.... Down Arrow Key Cursor Left....Left Arrow Key Screen Left.... Left Arrow Key Cursor Right...Right Arrow Key Screen Right... Right Arrow Key Home the Screen: O Return to Left Margin : Home the Cursor: P Advance to Next Word : P Move to Top Line : A Advance to End Of Line: P Move to Bottom Line: Z * REVISING TEXT * Insert Character..................W Insert Line.............R Delete Character..................E Delete Line.............T Delete to End Of Line.............Y Break Line.............. > Delete Spaces to Next Char........U Join Line............... < ----------------------------------------------------------------------------- (1) EDIT CURRENT FILE (2) To HELP MENU (C) RETURN To COMMAND MENU NG TEXT * Insert Character..................W Insert Line.............R Delete Character..................E Delete Line.............T Delete to End Of Line.............Y Break Line.............. > Delete Spaces to Next Char........U Join Line............... < -------------------------------------------------2:4::b:a*:O2"!:!:U=R::D24:E2 ̕ *1[:B24:C2 r*.[*:"a"Z2c:Sڜ:g:O2":<2:x!O:0g2O:g2Ҿ!":<2:0:!ߕ:<2G!X>:g:O2":<2::<2:3ǡ{_.ǡӐ.4"d"j:E2 **Υbb*d`&b:p2ͷ*dӐº:4ʺ*Υ*ں!x"֥:=2¥>2>2~_*":~Ė*d"r"t*"n*t"p*dӐ> 2d*\^#V*z*\##^#V@:٥>2*p"*d Fw:a_*""|*r}{:d {>_*|&mZ &{o&"d͞"r:d ¢*z&ʗ: ʚ> 2d >2^͍: ܗ*Iܗ:٥ ٗ:#*ӥܗJ"F4:{:{IͫḮJ*r}i*z &H*|HSZ_ͧ͞Zo&Ȉ*n*r"*t͑ͲX*d}JãͲS*d&*dÖ *j}¦:ʜ:<2ã:<2"d!"j: ʾJ͞*r"r*}*n**"!o!ljg*n"â͖**">2~*: 1,@&G:4G,:y&y:@k: y@&ʞ:ʐ:ʞ&ʵ:ʵڽ>O&*ݦܙ&*٦ܙ*ۦYN#~2եy& y@& y?2ҥ\##~2ӥ#~2ԥ#~2֥#~2ץ#~2إ#~2٥#~2ڥ#~2ۥ#~2ܥ#~2ݥ:إl&l,:إʬ&ʬ,**¬*,ʬ:إʻ,:إ ɚ:إך:إ"z**֥"*m"*m"*m"*m":ҥ!䥾: 6!"ȥ*إ"2\}O^#Vn:٥!"ȥ&o)))*ߦo͋ljg!î*ʇ*&ʮ}/o|/g#*}*|›!*y*}*""¥**¥:vS*ʥz),:c)o&oljk})#:v?:y ?J! ͖*ʥ*":v ™*{o!ljgڈʈ*"*n*"*n*¥"*!*}¹:v ™}/o|/g#:v#J*n*ʥ*"*w*!*"o*{͋!0ljg>2*RI"**zCm*!:: o_͞"I*:٥ ʅ*ӥ*:‡::™:ѝ::٥I*JJ*"*!*n!͖{4*|?oljg?k|?:ʊ*~_ڊʊ::ʆ:٥†*O:٥ q#o*ӥ͋g+:O:G ҆*ÇͧSoo& J:٥ ʭo*ӥljg*ڸ*!*n:٥ ۞o*ӥ͋g*"JJ:G::G::W:G2:-OT:W:0G2:bOT:W:0JG2:aOT44oo& _*|ʎ*|&‹:ʎ>_> :ʪ:٥ʪ?: ?ʟ*:٥ʟ!:٥ ޟo*ӥljg*!:*ȥ "ȥ*!*ȥ:٥ $o*ӥ͋g:B*B: *"*|&r&*ʊ**,!ʅ*:٥ ʅe:ӥO2*:ʙ*4*ڥ} :إ@Ġ*&ɠ:ɠ*ܥ>Ӡ *z&^#V+^:٥:٥@*z&*ӥ{:եO,*ӥ{z?{_*צ^#Nyp*|0&S:d͕y2d!x{w*}X{^#V}_:£{á*}á:_:ʻáN#FK{ޡޡ:@:@*@:">2~*z"z4x*z ,"z*z*ޥ"ޥ*˦n*ͦn*z*"*n!*n!"n*z*"*n*n*z*"*n!*n!"n*z*"*n*n:!w*զn*Ӧn*w.*ʥ"ʥ*!*n**ޥ"ޥ*"*"*"*"*"*"*"*"*"!&>2*| &*zģ!*"*& **!"* !"*n*n!"*z*"*Ϧn*Ѧn:W:Xf:إ@f͐!⥾w*Ŧ*ɦ…2ʲ*Ǧò!ॾw*ɦ*Ŧª2ʲ*æn}~#OGyդ!#~+N##+yOMX80̩Oo_UHxħȧ̧x xxxF5T 2F5 2F5 A45LEF  SST--????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=3OÙPI PÊQû Sk yUT  ÑMV O!m5!0O!P!0 O O*3|_OZPO*3|mOZPO|€O!OýO!0!1O!0OO|¥O!O*3|½O!1!0OO*3|TP*.K|TP!O|OO!2x/*6|}P*6-O!"6!0O!O|ʐPÅP.1END!p"I* 2;I*n5}:P*m5}2;IQ ×YêZ!9DM*6|!Q!"6*6P!"9*/`is*;I}2/!P`in}2/*3|Q!"6Q*9|uQ*3|uQ*44} uQQ*:K"@K!"BK!9ÙQÏWIêZk *9+|ʫQ*3|ʰQ͍Q>24!44!K"DK*9+|S*3|T!"BK!bU!S!"0K S*9|bU*3|bU*44}-7TS*9+|HT*3|KTbU*44}+ʈT*'/!44S*0K#"0K S*9+||T*3|ʈT!"BK!bU*44}+¥TS*>K*DKڥTbU*44}+ʿT*0K*%/ҿTT!*%/#S"S|TT!kU%S(S*6+S*6}20>20!0S*0}N UbU*0*/})U!".K!SbU*44}+EU*>KЊ|EU*BK#"BK!S!"0K*44}+_U ST!9MORE (Y/N) ? ÂUI !0!3|U!"2K!"4K*2K*IU*2K)I~#fo!3U"4K*4K|UU*2K#"2KÜU*4K|U!*2K":K*4K"K*2K44W">K*2K44n} 6X*2K44n}6X*2K#"2KX*2K44n} NX*2K#"2K6X\Xk êZÏW!"I*I"6K*44}-xY*9|xY*3|xY*6K*IxY*I|xY*6K"8K*I#"I+)bJ*6Ks#r!"2K*2K44n} X*2K#"2KX*2K44n}Y*2K44n} Y*6K*IY*6K#"6K+*2K#"2K+44nsX*6K#"6K+6*8KSX*2K44n}hY*6K*IhY*6K#"6K+*2K#"2K+44ns1Y*6K#"6K+6VXiX*6K*IҒY*I|ڕYYXìYk I- ü !9DM!0͚Y!0!44͝Y*54}:Y*/} Y*/}20>:20!44!0͝Y!0!Z͠Y#|uZ!0!Z͠Y#|uZ!!0ͣY"6*6`is#r͐#|FZ`iw#wMZ`i6#6͐͐`ZÝZ͐+|rZ*6ͦYÆZ͐`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|[*944n}[ͭZͰZZ![q !9DM*9#|P[*9*9|P[!"9ä[!"9*9`is#r͐!9*6[! s#r͐|җ[!"9ä[͐?"9!9!9DM*9|7\*9*97\*9#"9+9n`is`in}[!"9P\`in} \*9#"94467\`in&|"\`in} 4\*9#"944`insõ[*9|P\*9#"9446!9"`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|!lXN#yJa~ a# aJa- a0Ja Ja$dOaO Oa#~ aFaQa>Qa>BKѷbb2axʂa"aubcby*aoc"a:a]a:abb2axa"aub|vʺa*hk6d"aacby*aoc"a:aŽa*hkbb2axb"aubObbOcb*ayoc"a:aaɯ!lXObkrbG'Tb'_bw#w#w# /bcb!_b͝`w# /bwxrbmX+ɯbkH:a+ʳb-ʳb*ʳb/ʳb|ʳb^ʳbʳb'}b'}b}bG6d+|2aubj~/b믾b2a2a믾bb믾b:aO^#V+{'0c##++0c \cj##fc~Hac0\c Lc\c\c))))o# 0cfc \c#"a+ʏc-ʗc*ʢc/ʹc|c^c*a*a6d*aDM! z­c*a͸`c;`c`i*a}o|g*a}o|g!W*W͸`dd~#"WW!V=[̓[!W)4d)4d)4d|/g}/o#x/Gy/Oz/W{/_!"X'_!mX \ *d!#72\`od *!(6!42\! 52\Y dAڀdQҀdOdҨd!H52\Àd!552\`ʸd>Oq#6€dxd6A#6]d!(~d#7d!s52\!(~e#~#fod~ e ~/e~~+e Y (e>* Yke# e!52\~?e ~ae~~]e Y Ze>* Yke#?ekeke> Y*W'_!mX \!+:2\>` *!GX_ʬe yO!GX*W͟/ *!92\Y **W"_!mX{e*W~# Y~# Y~# Y!>:2\e **Ww# e *>`fO!mX~͝`w#f f6 #f!mX!K2\` *!T](͟/ * GWUBRN!I2\!I(~ df!02\mf~ Y# df!#72\` *!J2\>`!mXGyOʝfX6 # •f~͝`w#@fGʷf ¬f, Yke:g!02\_2W2W!#72\`g! I2\W!I2\>`g`gxgyg!WFxʮg#~#xg¤g:W<2Wyxgg7gW.gGgg.xg}g!]I2\xg!G2\*W (͸` *W~# h *V6d |>^}>^ke~#>^?hkeh_keXhjyh h~>^zhw#kechh__hX˜h *hOxyʾhhhh+>_!W~wchg~# hh>. Yh> Yke> Yh *!G2\*hkFd*W*bk͸`*Wx!W{xw#i*W*hk6d|>^}>^ke~#>^7ikei_kePijqi –i~>^riw#ke[ixi__*W"WhX¦ix!wkxZix[ihhh+WFd*Wx{xw[ixh~# ii>. YiXj.j j'jjjBjjjBjjjj!i%j!jXG͝`###Oy:j,j#^#VS_0nj ZjnjnjO{ YYz"jzzj"j2\!72\Y>.7 Y!j%jx ڠjҠj Y!Hwjhj>Åj!H2\>M` *a(j"Wg!H2\ñj|t.k!=>al͉sk"Whj(k!H2\>M`k!"fk͈ak"Wh!H2\j!wkxZ *|t4k!:åq!e=2\7v_!02\_o5y5}55!@=5 e5Zenith Z19 H19 LMHJwq%!y:AʃyBƒ!Ãpq9 !T6BD6jP6V6\6`6d6h6j6^= 5 IBM 3101 YLHDIJr6 B69 @=B6j6o6t6z6|6666666COMPOSPS??????????*hk6d*Jk͸`ڍl"bk*Yk:[kO*LkFdҲl*Nk͸`Ҳl*\k:^kO>@2vk!U:͋qt!:2\!lt"jk!6#6+;Zl!@;åq!"xIk{xl*Lk*Jk͸`,m*Nk,m:Xk,m!Rk~2m 2m!:åq"m@w:lk_> !=EmMD ]TOu 2lk!:"Ql͸`ʥm#m wm! ;"QlÜm>2Plxu lm>2Plxu*Ql2\ Y·m_2GX÷n!<2\:W@GY mA%nQ%nGx2vk!;2\!( \!7n \![( \_͎q!k;n~/An!S;åq!<2\!72\Ym - BAK$$$>n~/nq2lk!;2\>P`_!mX:lXO 6!mXuyn *~un!;2\èqSœn#~unnzn>2Plzuzڜn~ʷn#uyn!ykHX͟/PX:vk@2GX>$!FXZͣZn!<åqwO!"hX2jXw~oUw#~+ʺoo̓w!Ik~#wo##N#F#~++++ƒo*_k:ak##s#r#wG++++~ooO ~ooSo##s#r#pRo*Jk*_k"_k:ak2ak##~w#~w#~w:_kw:`kw:akw*Nk*_k"_k:ak2ak n>ww~KpUw#~+Bpo̓w##^#V*_k͸`p####F:akp*Jk*_k"_k:ak2ak*Yk:[kOw*Nk*_k"_k:ak2ak*\k:^kO{Apw ow!FXxZ q!wkT]xZ:xkG:GXp!kw#qp!k w#|p6B#6A#6Kk!l w#”p!lZxk!SXw#°pxk!WX w#¾pGX ql!GX!͟/!k&l͟/!lZ!xkWX ͟/:GX2VXGX!+<2\:GXG:xk!D<¨qåq!$=͋qq!<2\!W \! =2\>P`_+~O #6u *~u=dq!;2\)q:lk_:lkq_ {q >^>^OYke TrTrOY>? YOgro&)MD*fk x|tzr!:åq!Zl|v†r(s!=͉s“r7s2Al!v=2\!W \!=2\!Bl \!=2\:Al>^ke:AlFr:AlYr{xJs:Al2Alxreeºr:Al2Al_·res *r2AlYr{x!=ʓr:AlYrxÓr!=2\!72\Y:okAsw!wkxZ *!dRsd #[s+ {~s{}us͂sxs~sÂsʄs Y2Ml2Kl2Jl2Il2\!W \__:Kl¼s|vsyt͋vs:IlA Yhe!Bl͆t͗t_:Il<2Il ڼs͋vs>2Ml:Jlt!>2\!)>2\!->2\X YXytM:t:Kl=2Kl:Ml‰s:Jl<2JlÓsAG:IlOxmtO:Jlo&))T] MD2Kl͋v y`t!72\Y t͎q*uv~ t>. Y#Æt!~N#F#Al~#?ʶtGt ¨t~#fo \ y¡t!Wt!W'_!mX \ *>`ʱq6#_*u*Vw2lkUwOu#u:lk<2lku!w;åq:lk2mk!wk;Zʢq!xk"jk!"xͭx!l^#V"hk!Ik~<= ~#ou>  ڢqguů_~,ʫu-ʫu ʫuʫu0 u{O__#ÁuO{uG:mkxuy-u>! ]TMD=u=uMD*V v:Plu:lk<2lk:PlwWywUw:Ik!RkW~/v*Lk*Nk"bk*Pk|*Pkx{x_{xW_ {x YVv{xbv{yv OvheTvɯ2Kl*Pk|‘vàv*Pkx{x2Ll!Kl:LlG~ڰvw4o&$d##*Pkx!Bl{xwO?vv#v6v v~ vxv{xv{xo{xg"fk{x_{xW"dk!xk"jk!"k2nk:lko&Jw"_k2ak*V)T]))):nko&Jw"xIk{xow:nk<2nk!l"jk!">l!2okO"xIk{x¢w!"Yk2[k*Lk"\k2^k"x{xw{w*V*tkw#}ww*hX#"hX!"tk*VGX"x!a<åqhl!"Nl!;`*Nl#"Nl/x /x*Nl+"Nl*jk!^#V+*Nl}|exsx2y*Nls#rͭx"rk*rk}žx*jk!^#V+s#rͭx!k~#"rkk*jk!x!<åq2ok*Wx!W~#xx2y*rkk yw>2ok#}+y2y*jk!N#F+q#pͭx!"rk:okȯ2okk*jk"x~ #Wy!(:yO!0uy!*02\` *!y:yGʙy͟/ *!yÊy!>2\2FX>` *!GX_y!"A2\!.A2\Y!FXxZ *!FX;Zʺy*V"pk!("W_>. Yzz!NAy!kT]>=#z*W@z~z=#z6dMD !lXq#͟/a(z"W͊{z"z'`z##G~'x++zmXP~#'z#~+'z z~#ʡz~#ʡzez,ʢzʡz ezz+!mX6d}2lXDza}*Ww#"WDzG#~#zz*Ww#"Wz͊{Dz,z#Dzy!5A2\!k \y!kC{){ 2{ {{w# x{pzk͸`@{p!k6d}{*V*pk#͸`+~{*V!FX͚[yu{bk6*V~ʈ{#"pk~!#ڊ{+͎q*uv!D2\!<2\!W \!:G2\2FX>` *!GX_{!"A2\!.A2\Y!FXxZ!wkxZ *!FX;Z{*V"pk!"W_>. Y||2y!NA{*V]T~#=-|*W]|~|#=-|6d+MDlXy͟/͈a"W|x*W"Wz}|"ʮ|'ʮ|mXP~#,ʋ|ʊ| v||+!mX6d}2lXa|Wax*W#"Wa|G#~#||x*W#"W#ð|z}a|,|#a||!5A2\*V \{*V3}} "} ||w# x|p|*V͸`0}p*V6d}|*V*pk#͸`+n}*V!FX͚[ye}bk6*V~x}#"pk~#ʅ}!z}+FUNDLY=FUNTBL=MORPAT=!bA2\}!}f~!(~#~&!}p~!D~O}~# }&>=~ɯ2FX>`1~!GX_:~! D2\!FXxZZ.~2\:FX.~>~ ~!FXxZY!++ *!FXYO~!C2\`1~!FXZͣZ~*V"pk~#~f~f~(~#»~~#_~#W&zz§~{[§~!}f~ô~z{>=~(w~}~#}w~G*V*pk#͸`+~*V!FXͶ[~~*Vpx#"pk 0~>,~> ~> ~ *!WB2\}!C2\!`N!"W_*W}ʄ~~mX~#dN#F#"W:mXTÚ!D~!C2\>M`~aDM!mXf~>=~!j #³~#fo͸`~#foYP͸`N#F+##îyOxG( yV#{z&>=~  x~#&T!H2\T!&D2\!<2\!W \!D2\}(k!"W_!C2\>M`_!D~͈aʿ!mXf~>=~*fkFd*dk+DMxʳx{xW{zª&>=~í y{x&K!H2\K!K2\!k(~!02\~# Y ~>, Yke0O6Qpq ÆQ2R/STÔX  ftO!O*3|GOO!"6!P O! O*3|hOO!P O! O*3|ʃOOOO*9|ҸO*D|ҸO*3|¸OOOOOÉO*D+|O*9+|OO*D+|OO*D/OO4O*6|O*6O!"6!!O*9*DP*6|ʳP*3|³P!"n/!!$O!!!'O!Q*O!!!'O*9*DxP!Q*O*6|ʡP*9*DʙP!-OáP!-O!!!'OWHAT SYMBOLS APPLY TO THE DISK FILE?WHAT SYMBOLS APPLY TO THE WORKING FILE?COMBINE WARNINGS NUMBER OF ROWS DID NOT MATCHR*D/8ROR*<|R*D/8ROR͐+|S*D/!=AR!"<*F/"?*D/8ROR͐|S*D/8ROR!DR&SOR!9>Säq6îVíW!9DM*9|T2S*3|iS*44} iS2S*9|}S*3|ʆS!"9T*44*/}–SFS! 6#6! ^#Vr+s44n} ¹SßS͐44n}S͐|SFS!445S`is#r͐|S8SFS*dB|SFS͐| TFS;STFS!92T`tuT>U>T>4U>U>LU>U>dU|U*A#"A͐)))C!wA#T|U͐)))C!wA&T|U͐)))C!A)T|U͐)))C!A,T|UØU͐͐)))C/T TbV͐|IV͐>¸U>U>U>U>U>V>U>.VFV*A#"A͐)))@!wA#TFV͐)))@!wA&TFV͐)))@!A)TFV͐)))@!A,TFVbV͐͐)))@/T TÈThT! 9wVgX!9DM*A#"A+)A͐s#r*A|ڬVtV*A+"AôVI!9DM!"dB*9"C*C|VäW!44!fBͱV`i6#6͐fBn}ʤW͐fBn} W`i^#Vr+sV͐fBn}%WäW*dB#"dB*dB|BW*dB+"dBäW*dB)C͐s#r͐fBn} }W͐fBn}}W`i^#Vr+sTW*dB)C͐*dB)C~#fos#rV!9öWêuúu!9DM`i6#6`i^#Vr+s*dB^X͐)C~#fo! s#r͐*9X͐)))CͰWW͐!44! s#r͐)C~#fo! s#r͐͐͐)))CͳW! s#rW! 9mXü !X!!djXTOO MANY SYMBOLS ìXÉ dQduv*@/#"A*D/͗X*f/*=X*=*f/#͚X!"A*A#"A*<Z*A)?~#fo"A*A*A+"A*A)Q?~#fo"A*A<n*/}JY! *A*A#"A͝XX*A)))@"A*<|ʁY*An}Y*A*A*A#"A͠XX*A)?~#fo*AͣX*A!3ͦX*3} µY>023Y*3}-Y>023>-23*A)?~#fo "A*A*A"A*A*A+"A*A*AʕZ*A3n} .Z*A*A+Z*A+"A#6 ZÕZ*A+"A#<n}2A*A*/}YZ*A*/}yZ*A3n}-yZ*A+"A#*AsY*A+"A#*A+"A#3nsY*A3n} Z!**A*A#"A͝X*6#"6X!ZͩX!"A*A|Z*A)?w#w*A#"AZ[k !9DM͐n}23>23!O\!3Z"A*A|8[*A*3*/}J[!*3*/}\[!! ^#Vr+sn}23! ^#Vr+sn}23*3}ʎ[*3}“[!'>2 3!3Z!W\!3["A*A|[*A !\!3["A*A|[*Ad*3}T\*3}F[*3}S\*3&|\*3&|\!'*3&"A*3}S?\*AH\*A,!'+-*/=%#MIN MAX CNT AVR REC SFO SFH SQR ABS EXP L10 LOG SIN COS TAN ATN PLY NLY SGN MVR MVL CUM CHG PCH PCT PRJ INC GRW NET DIS PAS RND \ ü !9DM!"A*A#"A|&]͐n}&]*A3! ^#Vr+sns\*A36!P]!3\!3!!d\ ILLEGAL SYMBOLi]Iü !9DM!"<*F/|҆]_*D/!2wA!A `Z`IvŽ`>ʥa>š`>ʨa>¦`>ʹa>²`>a>¾`>b> `>$b> `>\b> `>ʑb> `>ʢb>`>b>a>b>a>c>a>=c>*a>Ic>6a>Uc>Ba>ac>Na>mc>Za>yc>fa>ʅc>ra>ʑc>~a>ʝc>Ša>ʩc>–a>c>¢a>cdd!6͐*`d!6͐-`d!A͐'`!wA͐0`!6͐*`!wA͐-`d!wA͐'`!A͐3`d!A!wA6`|Kb!wA͐'`Yb!A͐'`d!A!wA6`+|€b!wA͐'`Îb!A͐'`d*A͐9`d*A!wA9`!wA͐-`d͐!3'`͐<`!3͐-`d͐!3'`͐<`!3͐0`d͐!3'`!6͐'`!3͐0`d͐?`d͐B`d͐E`d͐H`d͐K`d͐N`d͐Q`d͐T`d͐W`d͐n&|g}o|c͐6d͐n&|g}o|c͐n&|g}osc͐6d!6͐6`͐9`d!9DM! ^#Vr+s!|Od! ^#Vr+s! ns"d!9DM! ^#Vr+s!|ڴd͐*?Ңd! ^#Vr+s! ^#Vr+s=nsñd! ^#Vr+s6 YddÐvìh0ªf>f>1¶f>f>2f>f>3f>ff!7͐ifg͐6*6#"6lg͐oflg͐6lg!7rf`is#r͐|g}o|Sg͐|Eg!8͐ufSg!8͐xf͐n͐s!9ab>1ac<2a|d<3ae*0=oaof*-og*-:=p:*:=q!i3p*=rq!l3r-r^/h+:+=a.gvIvl xt!9DM͐n}g͐n&|g}o|g͐6*6#"6Àh͐n&`is#r͐6@!i7͐ʹg|6h͐4`i^#Vr+s͐!7ͷg!h!7ͺg|ch͐6Àh͐͐ͽg!7͐g!9ab-b-ac+/:=p:*:=q!e4q*q!i5/d+p*=a.õhñg s#r! !9 s#r͐9!@ s#r͐9!B s#r!J ^#Vr+sn}+ʺl-l*l/m>2m 26!GM2\!(~]!02\_ë ~# Yc{~k{~#Of_{~#k_ʫ{«~a!dN2\###l!#72\` *!M2\!(!M2\eU͟/ !M2\`!N2\>` `JxJyQ Jz=w#!UN2\`>4/w#:6=726:57Á!)N2\!jN2\w#w#w#=25܁!u0v!{0 \> Y!N2\*W>G ~> ʯ>* Yy>^keԂ ւ>^ Yx@ւ> YkeÕ_xG zW#x“n *yG*W4{_="#~@!OD!N2\`~w*W*W͟/!|>t!N2\>`ƒ+~#œ~Rʖr¯a®!)O2\n}ҢG`փ+~#~a!)O2\üG`7+N#_;_~0;:;0;#  !IO2\!fO2\!Y(c!02\p@ YOf_!P2\` *!P2\>`ʵ_~͝`0҄:„A҄Q҄҄@G#y ӄx *0WyOOï!0P2\Y **W~!>O! ~#fo2\ *>>>>!IQ2\!({~##’!Q2\!/R2\X *l2*""!(TÙog2))^#V#"^#V"!S2\%!F}2$!:$Fʦ]]]:$<2$æ0O!]æ0yO> Y:$=2$|¦q:$=2$*:$O>FO2$!(~`:WyO%~#?~/W""l"2Öll##:w++"]T:$ ßyˆ~<*<:$(G~xʝ=G:#Oxڹʹ!S2\XOy2#:$OxFdMDkbO ͟/(/ Y> Y> Y~O }|Fx#ʚ~#͜͜> Yƒ ڥ0 Y 0ʆ1ʆ2ʆ3ʆ4ʆ5ʆ6ʆ7ʆ8ʆ9ʆAȆBȆCȆDȆEȆFȆ ӆ0ۆ1ۆ2ۆ3ۆ4ۆ5ۆ6ۆ7ۆ8ۆ9ۆAنBنCنDنEنFن" X͝`5###G~x!*  BB Y#~#fo9ʆAȆBȆCȆDȆEȆFȆ ӆ0ۆ1ۆ2ۆ3ۆ4ۆ5ۆ6ۆ7ۆ8<:$(G~xʝ=G:#Oxڹʹ!S2\XOy2#:$OxFdMDkbO ͟/(/ Y> Y> Y~O }|Fx#ʚ~#͜͜> Yƒ ڥ0 Y 0ʆ1ʆ2ʆ3ʆ4ʆ5ʆ6ʆ7ʆ8ʆ9ʆAȆBȆCȆDȆEȆFȆ ӆ0ۆ1ۆ2ۆ3ۆ4ۆ5ۆ6ۆ7ۆ8SClear̗ whilg. .DMDilay () ̗ whilg. .FIInst̎ calledhe. .DFDefedat called. .RVv1,v2Readvariablesv1andv2dat񎋫. .SVv1,datSetvariablev1valuedata. .AVmsg,v1 Aft gmsg,queus datforv1. .RPnRepeatform lettntimes. .GOtop/boGo top bottom la .FI documt.  .MAv1,ma Stosultemaequa v1. Docdiamg .IFv1Ifv1n-blank n-zo followΚ  ui.EI .EL coued. .IFv1 ? v2 Replac? an opator: =,<,>,>=,<=,<>,#=,#<,#>,#>=,#<=,#<>  cdi true ui.EI .EL occurs.  "v1andv2valuevariables. .ELRevsss(trufalse) la .IF. .EIMark .IF cdi. To ge EdMu abovep ̾ shown ̞ descrip mu top (Rememb at^meanshould us̟ .) Fgaexplana ̗pques mark (?). Fܒ dospdo(.). Fܒ savworkpD. would likߜ̒ levelp^J aga. docum˱selecthbe protectedThwh ProtectMu htop ̗. To ge ProtectMup ̾ shown ̞ descrip mu top . Fܒ gettoppedpQ. would likߜ̒ levelp^J aga.  (On FormMu)affeclook ̗. - Wh editgpȁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳.  (Block & SavMu)savabandwork"cupae ; copymovease sФ ̹ . - Wh editgpƁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^P ( mu)waɛۚ . - Wh editgp^P lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebar leavmu wiouchanganyg. Fܒ lett cord̳.  (Quick Mu) quick waypform variou cludmov̕fdfdplacΚ asΚ. - Wh editgpǁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^PB (bold)make dark ̛ۧMov ߲wa bold begӊp^PB locaى̛ (D) you'lalso se^B̚ bold begs. Note: Diffexecutboldfac ways; lot boldfacۨslow soms. ^PD (doublrike)make dark ̛ۧMov ߲wa doublrikbegӊp^PD locaى̛ (D) you'lalso se^Ddoublrikbegs. Note: Double-ruck looksimilabold Somexecut bo ylesammann. ^PS (und)und ̛ۧMov ߲wa undlbegӊp^PS locaى̛ (D) you'l also se^S̚ undlbegs. ^PX (rikout)placehyph(-) ov ̛ۧMov ߲wa ruck ou begӊp^PX locaى̛ (D) you'lse^X ̚ ruck ou begs. Tip: Struck ou comml legadocumtsϜ rikeou (-) (such /) WSCHANGE program. ^PV (subscript)place slightlbelow ̑ ̛ۧ. Mov̕ ߲wa subscriptbegӊp ^PVlocaى̛ (D) you'l se^V̚ subscriptbegs. Note: PrtcapabltrusubscriptΔ subscriptۚ an ti below. ^PT (supscript)place slightlabov̑ ̛ۧ. Mov̕ ߲wa supscriptbegӊ p^PTlocaى̛ (D) you'lse^T̚ supscriptbegs. Note: PrtcapabltrusupscriptΔ supscript an ti above. ^PA (altnate)changepitch ̛ۧUnles cfigurۍ eciallɛnormapitch t p ch^PAchangetwelvp ch ̛ (D) you'lse^A ̚ altnatpitch begs. Relat۳: ^PN(normal) ^PN (normal)opitch ̛ۧ normal. Unlescfigurۍ eciallɛaltnatpitch twelvp ch^PNopitch t p ch̛ (D) you'lse^N ̚ normapitch begs. Relat۳: ^PA(altnate) ^PC ( pause)cause̛ paus timecific loca ɎYou'lserucaraga. ̛ (D) you'lse^C̚ pausoccur. Tip: Us^PCpauswhil˜̛ whee feface. ^PY (italics/color)change italic̛ۧ OR change ribbcolordepɛ how allۍ. Mov̕ ߲wa italic( ribbcolor) beg p^PYlocaى̛ (D) you'lse^Y̚ italic( ribb color) begs. ^PH (ov char)ruct̛ ߛ nex ov pviouԊwould backacsecd top fir ewrit̛ (D) you'lse^H ̚ betwe fir secd s. ^P RETURN (ov )ruct̛ ߛ nex ov pviouԉusua- symbofare whe hidd (H) not. K ( )move̕ mark whe hidd (H) not. E (upp )move̕ fir (clud acecarriags) ̗. X (low )move̕ ̘ la (cludacecarriags) ̗. S ( side)move̕ ߖ 1 ̑. D ( side)move̕ posi ̘ mo ̑. R (beg doc)move̕ fir ̎. C ( doc)move̕ posi ̘ la ̎. P (pvious)move̕ itimmediatelpviouposi. V (la fd)move̕ loca la fd/placeposi la-mark۠. 0-9 (mark)move̕ psemark (0-9)Pǁ sgldig0 9To hidmark( hidd marks) pH. F ()locatePF̚ fdpRETURN choosfollowops( acceptmultiplops.) Wwhol- Tex߯mu surroundn s. Uigno cas- Igno UPPERCASE/lowcasdiffce fd. Blook backward - Search toward begn. ?wild card- Us?subitutunknown fd. Garbegn - Search ti ; arbegng. #In backward searchar. Mo nex... n() - Search ̀n occurnc̚ fd. n op doe֬ . maximum lg ߯65 s. Tip: To (such )hold Ctrwhil pP Owould t Ɏ. G (chaforward)move̕ forward ̚ fir occurncnex eG.movenexpiod (usuall stce)G RETURN move ̐. H (chaback)move̕ backward ̚ fir occurncnex eH.movenexpviou piod (usuall pvioustce)H RETURNmove pviou. I ( )ask move̕ fir 䓧In ndocumtIask move̕ ߓ. ̧ ܑ you' lookbackward ̎ locaيyou'llla fir. M (ma)solvema equa eMa funcsupport cludaddiيsubtracيmultiplicaيdivis. Semanuamo forma. Q (peat)peatnexrokܳ eQee lett uip op itWhilQprogss p0-9 (0 fae) ߜpeti eed. Pano op. W (up)ctuouslmoveview ̚ up time. P0-9 (0 fae) vareano op. Z ()ctuouslmoveview ̚ timeP0-9 (0 fae) vareano op. ? (chacou)̭ begn ̎ ̕ loca. U (align s)align docum̕ Ɏ betwe cur sP^Uop alignm progss. Tip: ^Balignsgl; Ualignmad Ɏ. In ndocumsU cvteciadocum code(gat an 128 ASCII) Ứ ndocumform(lesan 128 ASCII)̕ ̎. Tip: ^Bcvtsgl; Ucvtmad Ɏ. L (se)changeposi ̞ PL ̖ pEscus̕ posi ̚. Tip: ̀.LM stpmannew ɚ. R (se)changeposi ̘ PR ̖ pEscus̕ posi ̚. Tip: ̀.RM stpmannew ɚ. X (lease)sMar-Relatu let outsid̞ И s. Turn leas aga fouways: pXpRETURN ̕ new wi̮s. T ( /)(hides) ̷ Normally documhidd ndocums. Visiblnot̷ alwayeffect. F ( )change̷ match lg cta̕. Tip: ̀.RR hsimila(bumo pmant) effectSe O RefcGuiddetails. O ( ߚ)stcurl۷ .RR. W ( wrap /)changehow handle goe beyd ̘ . Wi wrap ꊚ exceed̘ movenex pRETURNl . Wi wrap Պmu pRETURN ev would ewrit. J ( juif/)changehow handle Ρsofcarriag. Wi juifꊍ stsoface(which dicat plusignbetwe s) mak̑ fexactlbetwe ̮s. Wi juifՊ doeNOT saceallow̑ falshor̘ Juif also callraggۘ. E (t sofhyph)stasofthyph (-) l ᚉUstel exactlwa brokA sofhyph an equal sign (=) ݀D. Tip: A hyph callhard hyphA hyph also tel bak buhyph ALWAYS 㚊ju fall . G (temporardt)dt op automaticallһ euipRETURNTo d two opspGtwicbeggdt۞ (markV symboatu) masecd op uipRETURN. Tip: CCenterCM MemoMemorandumPPrevious ParagraphH S SincerelySincerely, TTranspose WordTHIS IS TTTHIS IS TTTHIS IS TTTHIS IS TTTHIS IS TT/) changehow handlelg . Wi hyph ꊍ op whilalign (^B U) ask Ғ hyphat lg an 5 lett A sofhyph 奉UsWSCHANGE cas5- lett andard. Wi hyph Պ nev paushyphat dur alignmt. I (se op)set opPI̖ wa ̵ op pEsc ̕'posi ̚. To sedecimapI и#̖ #pEsc̕ . N (clea op)clear mo opsPN wa clea oppEscclea̵ ̕ posiيpAcleaal ops. To cleadecimapN#̖ #pEsc̕ . B (sofacmark/)changewasoface ̗. (Sofaceѥ Ҙ juifiۚ dtg.) Wh sofaceѤplusigns. Wh Պsofacelook liknormaaces. I (se op)set opPI̖ wa ̵ op pEsc ̕'posi ̚. To sedecimapI и#̖ #pEsc̕ . N (clea op)clear mo opsPN wa clea oppEscclea̵ ̕ posiيpAcleaal o ; ;In order to minimize changes to the locations of User area ;data, the origin is forced here to 180H above the start of ;the TPA. ; ORG TPA+180H ;Always start user area in same spot ; ;This jump table provides commonly used subroutines for use ;by custom subroutines in the User areas. It must not be ;modified in any way. ; ; ;To output a character to the terminal from within your ; custom subroutines, call DISPLA with the character ; to be output in the accumulator (A register). All ; registers will be preserved. ; 0280 DISPLA:: 0280 C3 0CB6 JMP CO ;Display character routine ; ;To output a string to the terminal that is in the normal ; user area format (count followed by bytes), call ; STRING with HL pointing to the string to be output. ; Upon returning, HL points to the byte following the ; string. ; 0283 STRING:: 0283 C3 17C6 JMP STROUT ;Display string routine ; ;To use WordStar's standard list output drivers, call the ; following subroutines. In all cases, all registers ; except for the PSW are unchanged by the subroutines. ; 0286 LSTOUT: ;Prints char in A. 0286 C3 0000* JMP LO 0289 LSOSTA: ;Returns output status to A (0 if busy). 0289 C3 0000* JMP LOSTAT 028C LSTIN: ;Inputs char from printer to A. (Only 028C C3 0000* JMP LI ;works if custom ULISTI exists.) 028F LSISTA: ;Returns input status to A (0 if no char). 028F C3 0000* JMP LISTAT ;(Only works if custom ULISTA.) 0292 LSTRNG: ;Send string to list device. (HL points 0292 C3 0000* JMP LSTSTR ;to string, count byte first, just like ;console strings). ; ;This flag is used if WordStar is on a multi-user system. It should ;be set to zero on single-user systems. Each bit of MPMFLG is used ;as follows: ; ; Bit Meaning ; ; ; 0 If 0, WordStar will issue a SYSTEM RESET when logging ; onto a removable disk drive. If 1, no reset will ; occur, and the operating system itself must handle ; any disk swapping. ; ; 1 If 1, users can share documents. Before opening a ; document to edit, WordStar will check to see if temporary ; files with that document name (e.g. FILENAME.$A$) ; already exist. If such files exist, WordStar will open ; the document as a protected document, preventing any ; changes to it. If 0, WordStar will delete existing ; temporary files when opening the document for editing. ; ; 2 If 1, users can share printer. MP/M function calls are ; issued to attach and detach the list device. If 0, ; the printer is assumed to be always attached. ; ; 3 If 1, WordStar will issue frequent MP/M "dispatch to ; next task" function calls to assure that multiple users ; have balanced access to the computer. If 0, WordStar ; assumes that only one user is on the computer at a time. ; If the operating system itself can load share adequately ; (such as MP/M 8/16 systems), set this bit to 0. ; ; 4-6 Reserved. ; ; 7 If 1, TurboDOS 1.3 operating system. WordStar will not ; check the disk drive write protect vector, will not check ; printer busy status, and will issue the TurboDos printer ; detach call when done printing. If 0, CP/M or MP/M. ; WordStar does not support TurboDos 1.2. ; ;If you are using MP/M, bits 0, 1 and 2 should all be set to 1. Bit 3 ;should be set for older versions of MP/M. If you are running on a ;networked system, only bit 1 should be set. If you are using TurboDos ;1.3 in a multi-user environment, bits 1 and 7 should be set. If you ;are using single-user TurboDos, only bit 7 should be set. ; 0295 MPMFLG:: 0295 00 DB 0 ;Zero for single-user systems 0296 00 DB 0 ;Reserved ; ;SHARE specifies how WordStar will handle two users in a shared file ;system who attempt to edit the same file. If 0, the second user ;will be denied access to the file. If 1, the second user can ;view as much of the file as can be loaded into memory, but he ;cannot modify the file. ; 0297 SHARE:: 0297 01 DB 1 ;Allow viewing (protected edit) 0298 00 00 00 DB 0,0,0 ;Reserved ; ;The function key table allows you to program any function keys that ;your terminal supports into one or more other keystrokes. Note that ;on many terminals, the function keys generate a sequence of characters ;where the first character is a control code. Since WordStar probably ;uses this same code for one its commands, a timer is used to determine ;when the "burst" of characters from the function key is done. ;This works because the terminal will usually send the function ;key characters at close to full baud rate. At 9600 baud, each character ;takes 1/960 of a second to send, or close to one millisecond. That ;means that three characters would take approximately three milliseconds. ;There is no way that even the fastest human typist could type that ;fast! Therefore, this method will usually work. ; ;Each function key in the table below is represented by two strings. ;The first describes the "burst" from the key. The second is what it ;should be translated into. You may not use string indirections in ;this table (size of -1 followed by address). ; ;The end of the function key table is indicated when the size of the ;function key string is zero. If you have more function keys than will ;fit, you can put a continuation address after the zero to point to more ;table. The table at that address must be the same format as this ;one. No continuation is indicated by an address of zero. ; ;One character "bursts" will not work here. If you need to translate ;a single character into something else, use the user console input ;routine UCONI. ; ;Warning! Terminals or computers that have their own type-ahead ;buffering may cause problems with this approach since it will be more ;likely that characters other than just function keys will be "burst" ;into WordStar by it. ; 029B FUNDLY:: 029B 00 DB 0 ;Milliseconds of delay between characters ;of function key burst (if zero, no ;function keys are implemented). See ;section on delays below before adjusting ;FUNDLY for your system. 029C 01 DB CTRLA ;Character that starts each burst ;(set to 0FFh to disable) 029D FUNTBL:: 029D 03 DB 3 ;Three chars in burst 029E 01 40 0D DB CTRLA,'@',CR ;Function key 1 02A1 02 DB 2 ;Two chars in replacement 02A2 0B 42 DB CTRLK,'B' ;Mark beginning of block 02A4 03 DB 3 02A5 01 41 0D DB CTRLA,'A',CR ;Function key 2 02A8 02 DB 2 02A9 0B 4B DB CTRLK,'K' ;Mark end of block 02AB 03 DB 3 02AC 01 42 0D DB CTRLA,'B',CR ;Function key 3 02AF 02 DB 2 02B0 0B 43 DB CTRLK,'C' ;Copy marked block 02B2 03 DB 3 02B3 01 43 0D DB CTRLA,'C',CR ;Function key 4 02B6 02 DB 2 02B7 0B 56 DB CTRLK,'V' ;Move marked block 02B9 03 DB 3 02BA 01 44 0D DB CTRLA,'D',CR ;Function key 5 02BD 02 DB 2 02BE 0B 59 DB CTRLK,'Y' ;Delete marked block 02C0 03 DB 3 02C1 01 45 0D DB CTRLA,'E',CR ;Function key 6 02C4 02 DB 2 02C5 11 46 DB CTRLQ,'F' ;Find string 02C7 03 DB 3 02C8 01 46 0D DB CTRLA,'F',CR ;Function key 7 02CB 02 DB 2 02CC 11 41 DB CTRLQ,'A' ;Search and replace 02CE 03 DB 3 02CF 01 47 0D DB CTRLA,'G',CR ;Function key 8 02D2 01 DB 1 02D3 0C DB CTRLL ;Repeat last find or replace again 02D4 03 DB 3 02D5 01 48 0D DB CTRLA,'H',CR ;Function key 9 02D8 02 DB 2 02D9 0B 44 DB CTRLK,'D' ;Save document 02DB 03 DB 3 02DC 01 49 0D DB CTRLA,'I',CR ;Function key 10 02DF 02 DB 2 02E0 0B 51 DB CTRLK,'Q' ;Abandon editing 02E2 03 DB 3 02E3 01 4A 0D DB CTRLA,'J',CR ;Function key 11 02E6 06 DB 6 02E7 11 46 10 DB CTRLQ,'F',CTRLP ;Find end of paragraph 02EA 0D 0D 0D DB CR,CR,CR 02ED 03 DB 3 02EE 01 4B 0D DB CTRLA,'K',CR ;Function key 12 02F1 08 DB 8 02F2 11 46 10 DB CTRLQ,'F',CTRLP ;Find beginning of paragraph 02F5 0D 0D 42 0D DB CR,CR,'B',CR,CTRLD 02F9 04 02FA 00 DB 0 ;End of table 02FB 0000 DW 0 ;No continuation REPT 128-($-FUNTBL) ;Allow 128 bytes for table DB 0 ENDM 031D 00 00 DB 0,0 ;Reserved ; ; TERMINAL PATCH AREA ; ;This section contains the user-modifiable constants and ; routines for hardware-dependent terminal functions ; and characteristics required by the editor. ; ;There are three types of patches in this area. One can ; patch data values (HITE, WID) which describe the ; terminal, strings (CLEAD1, ERAEOL) which define ; control sequences, or actual microprocessor ; instructions. ; ;For the string sequences, the first byte of the patch ; indicates the number of bytes in the string, ; followed by that many string bytes. If there is ; insufficient room for the whole string, the format ; can be modified by putting a -1 (0FFH) where the ; number of bytes would go, and then putting the ; address in the following two bytes (low order byte ; first) of the address where the longer patch ; resides. The longer patch must then be of the ; normal format which is the number of bytes followed ; by the string. ; ;This area is normally patched for your specific terminal ; by the interactive INSTALL program. Additional ; patching to this area is needed only for unusual ; terminals or video boards, or to meet special ; requirements, or to enhance or personalize your ; copy of WordStar. The default user area is ; set up for this example installation. ; ; ;Video screen height, width, and wrap-around parameters are required. ; 031F HITE:: 031F 18 DB 24 ;Must be exact screen height in lines. 0320 WID:: 0320 50 DB 80 ;Must be <= exact screen width in columns. 0321 WRAP:: 0321 FF DB TRUE ;Indicates if terminal wraps around to next ;line if a character is displayed in WIDth ;column of screen (set FALSE if it doesn't) 0322 XONOFF:: 0322 FF DB TRUE ;TRUE if XON/XOFF protocol to be used for ;the CRT terminal 0323 SCROLL:: 0323 14 DB 20 ;Number of columns that are horizontally ;scrolled when cursor moves beyond right ;or left side of screen. 0324 DIRSIZ:: 0324 05 DB 5 ;Number of lines available for directory ;at bottom of screen. If zero, no directory. 0325 0B DB 11 ;Larger directory for document selection ; ;Delete Display String ; ;The following string indicates to WordStar how to display a delete ;character (hex 7F) on the screen while editing. On terminals that ;interpret the delete character code into a displayable character, it ;is recommended that DELSTR be translated into the delete code itself ;(length of 1, then 7FH). All characters in the string must display. ; 0326 DELSTR:: 0326 03 DB 3 ;Number of chars in string 0327 44 45 4C DB 'DEL' ;What is displayed 032A 00 00 DB 0,0 ;Spare bytes ; ;Soft and End of Line Hyphen Display String ; ;In order to distinguish soft hyphens from normal hyphens in the text, ;WordStar will substitute the following string when one is encountered. ; 032C SHYSTR:: 032C 01 DB 1 ;Number of chars in string 032D 3D DB '=' ;What is displayed 032E 00 00 00 00 DB 0,0,0,0 ;Spare bytes ; ;Block Marker Strings ; ;Block marker strings are displayed on the screen to show the start and ;end of a block of text. The strings are in the typical format of the ;length followed by as many characters. Control characters should not ;be included within these strings because they would not be sent ;directly to the screen. ; 0332 BBLOCK:: 0332 03 DB 3 ;Three chars 0333 3C 42 3E DB '' ;Begin block 0336 00 DB 0 ;1 spare ; 0337 KBLOCK:: 0337 03 DB 3 ;Three chars 0338 3C 4B 3E DB '' ;End block 033B 00 DB 0 ;1 spare ; ;Special character used when displaying soft spaces with ^OB. ; 033C SOFTSP:: 033C 2B DB '+' ;Soft spaces show up as plus signs 033D 00 00 00 00 DB 0,0,0,0,0 ;Reserved 0341 00 ; ;The following string is used at sign-on to describe the type ;of terminal being used by WordStar. Up to 40 bytes are available ;for the string, including its null terminator. ; 0342 CRTID:: 0342 55 6E 69 6E DB 'Uninstalled Terminal',CR,LF,0 ;Terminal name 0346 73 74 61 6C 034A 6C 65 64 20 034E 54 65 72 6D 0352 69 6E 61 6C 0356 0D 0A 00 0359 20 20 20 20 DB ' ' ;Extra room 035D 20 20 20 20 0361 20 20 20 20 0365 20 20 20 20 0369 20 ; ;Cursor positioning control sequences are required. ; ;Cursor positioning for most terminals is accomplished ; by sending: ; ; 1. A 'lead-in' string of one or more terminal ; specific characters. ; 2. The line number, with an offset (often 20H) added. ; For some terminals, the column number is ; sent first. ; 3. For some terminals, another 'lead-in' string. ; 4. The column (or line) number, with an offset. ; 5. For some terminals, a terminating string. ; ;For most terminals, the line and column number are sent ; as one-byte binary numbers. Some terminals require ; that a two- or three-digit ASCII number is sent. ; ;For terminals that do not fit the above patterns, you ; must code your own subroutine. ; ;For example, the cursor is positioned on this sample ; installation by sending: ; ; ESCAPE, '=', ; line number plus 20H, ; column number plus 20H. ; 036A CLEAD1:: ;Initial lead-in string 036A 02 DB 2 ;Number of characters 036B 1B DB ESC ;First character 036C 3D DB '=' ;Second character 036D 00 00 DB 0,0 ;Space for two more characters 036F CLEAD2:: ;Sent between line and column 036F 00 DB 0 ;Number of characters, none in our 0370 00 DB 0 ;example. First character 0371 00 00 00 DB 0,0,0 ;Space for three more characters 0374 CTRAIL:: ;Terminating string 0374 00 DB 0 ;Number of characters 0375 00 00 00 00 DB 0,0,0,0 ;Space for four characters 0379 CB4LFG:: ;Send column before line? 0379 00 DB 0 ;Set non-zero to send column first 037A CUROFF:: ;Cursor offsets ;Offset to add to line 037A 20 DB 20H ;Add 20H to line number (0 is top ;line of screen before offset) ;Offset to add to column 037B 20 DB 20H ;Add 20H to column number (0 is ;left-most column of screen ;before offset) 037C ASCUR:: ;Binary/ASCII digit flag 037C 00 DB 0 ;0 to send binary line and column ;2 to send 2-digit ASCII numbers ;3 to send 3-digit ASCII numbers ; ;Provision for positioning cursor by user-coded ; subroutine, instead of under control of above ; items. For use in exceptional cases only. ; ;Insert a JMP instruction to your subroutine in the ; following three bytes. Whenever the first byte ; is non-NOP, this location will be called to ; position the cursor, and the above cursor patch ; items will be ignored. ; ;Your subroutine will receive the line number in the L ; register (0 = top line), the column number in ; the H register (0 = left-most column), and the ; video attributes at the next typing position in ; the A register. Attributes are represented as ; described for the VIDATT routine, except that the ; warning/error bit indicates double-strike. ; ;Your subroutine may alter all registers. ; 037D UCRPOS:: 037D 00 NOP ;Normally NOP, or JMP to your cursor 037E 00 NOP ;positioning routine. 037F C9 RET ; ;Displaying characters on some screens can be significantly faster if the ;cursor can be turned off. ; 0380 ONCUR:: ;Turn cursor on by changing to jump 0380 00 NOP ;to custom subroutine. 0381 00 NOP ; L = current cursor line 0382 C9 RET ; H = cursor column 0383 OFFCUR:: ;Turn cursor off by changing to jump 0383 00 NOP ;to custom subroutine. 0384 00 NOP ; L = current cursor line 0385 C9 RET ; H = cursor column ; ;Everything in the rest of this section is optional. ; The items relate either to enhanced performance, ; or for accomodating unusual terminals. ; ; ;Erase screen. If this function is not available, leave ; the first byte zero, and the WordStar will either send ; line feeds, or update a screen of text using ERAEOL ; below. ; ;After the screen is erased, WordStar assumes that the video ; attributes are set to normal (dim for the example ; terminal), and that the cursor is at the home position ; (upper left hand corner). ; 0386 ERASCR:: 0386 03 DB 3 ;Number of characters 0387 1A DB CTRLZ ;First character (clear screen) 0388 1B 29 DB ESC,')' ;Additional characters (dim) 038A 00 00 00 00 DB 0,0,0,0,0,0 ;Room for 13 more 038E 00 00 0390 00 00 00 00 DB 0,0,0,0,0,0,0 0394 00 00 00 ; ;Backspace one character string. If this function is not ; available, leave the first byte zero, and WordStar ; will use cursor addressing to backspace. ; 0397 BAKSPC:: 0397 01 DB 1 ;Number of characters 0398 08 DB BS ;First character 0399 00 00 00 DB 0,0,0 ;Additional characters ; ;Erase to end of line string. If this function is not ; available, leave the first byte zero, and WordStar ; will perform the function more slowly via software. ; 039C ERAEOL:: 039C 02 DB 2 ;Number of characters 039D 1B DB ESC ;First character 039E 54 00 00 DB 'T',0,0 ;Additional characters ; ;Erase to end of screen string. If this function is not ; available, leave the first byte zero, and WordStar ; will perform the function more slowly via software. ; 03A1 ERAEOS:: 03A1 02 DB 2 ;Number of characters 03A2 1B DB ESC ;First character 03A3 59 00 00 DB 'Y',0,0 ;Additional characters ; ;Delete screen line containing the cursor, and move lower ; lines on the screen up one line. If this function ; is not available, leave the first byte zero, and ; WordStar will perform the function more slowly ; via software. ; 03A6 LINDEL:: 03A6 02 DB 2 ;Number of characters 03A7 1B DB ESC ;First character 03A8 52 00 00 DB 'R',0,0 ;Additional characters ; ;Insert a blank line on the screen, moving the line ; containing the cursor, and the lines below it down ; one line. If this function is not available, leave ; the first byte zero, and WordStar will perform ; the function more slowly via software. ; 03AB LININS:: 03AB 02 DB 2 ;Number of characters 03AC 1B DB ESC ;First character 03AD 45 00 00 DB 'E',0,0 ;Additional characters ; ;WordStar will use LINDEL and LININS to delete or insert a group ; of lines rather than just displaying a whole new screenful ; of characters. LINMAX below indicates the maximum number ; of lines that this would generally be faster than the ; re-display. Set to zero if don't care. ; 03B0 LINMAX:: 03B0 05 DB 5 ;Five lines ; ;Terminal initialization string. A string of bytes which ; will be sent to the terminal at the beginning of a ; session. See also INISUB. ; 03B1 TRMINI:: 03B1 FF DB -1 ;Number of bytes 03B2 0386 DW ERASCR ;Use extension mechanism (-1 as byte 03B4 00 00 DB 0,0 ;count) to erase screen as initialization. ; ;Terminal un-initialization string. A string of bytes ; which will be sent to the terminal at the end of a ; session. See also UNISUB. ; 03B6 TRMUNI:: 03B6 02 DB 2 ;Number of bytes 03B7 1B 28 DB ESC,'(' 03B9 00 00 DB 0,0 ; ;User-patchable initialization subroutine. Called before ; the TRMINI string is sent. This subroutine may be ; used for special console initialization or other ; purposes. See UCRPOS comments. ; 03BB INISUB:: 03BB 00 NOP ;Normally NOP, or JMP to 03BC 00 NOP ;your subroutine 03BD C9 RET ; ;User patchable un-initialization subroutine. Called ; before the TRMUNI string is sent. This subroutine ; may be used to 'undo' any special terminal status ; used for the WordStar. See UCRPOS comments. ; 03BE UNISUB:: 03BE 00 NOP ;Normally NOP, or JMP to 03BF 00 NOP ;your subroutine 03C0 C9 RET ; ;Video attributes are used in various places on the WordStar display. ;The following table describes what each bit of an attribute byte ;means when used within WordStar. Note that when no bit is set, that ;is the normal condition. ; ; Bit WordStar Usage ; ; none Normal text ; 0 Strike-out text ; 1 Warning & error messages ; 2 Marked block of text ; 3 Underlined text ; 4 Subscripted text ; 5 Superscripted text ; 6 Bold text ; 7 Italic (or ribbon color) ; ;For this sample installation, the following translation of attribute ;bits into video conditions could be used. ; ; WordStar Example ; ; Normal Dim ; Warning Blink ; Marked Inverse ; Underlined Underline ; Subscripted Bright ; Superscripted Bright ; Highlighted Bright ; ;Because each terminal uses such diverse strings to change video ;attributes, you must provide a custom subroutine at VIDATT to ;build the proper one for yours. You may be able to take advantage ;of the fact that many terminals use a binary method to encode the ;attributes. If you do not wish to use any video attributes, put ;the customary two NOP's followed by a RET at VIDATT to disable it. ; ;The following implementation is for this sample installation. On that ;terminal the following sequences are required for the different ;attributes in our table: ; ; Attribute Sequence Screen Space ; ; Dim ESC ) NO ; Bright ESC ( NO ; Normal video ESC G 0 YES ; Blink ESC G 2 YES ; Inverse ESC G 4 YES ; Underline ESC G 8 YES ; Underline, blink ESC G : YES ; Underline, inverse ESC G < YES ; Underline, inverse, blink ESC G > YES ; ;However, since the ESC G attributes take up screen space, we cannot ;use them with WordStar. Therefore, all attributes are highlighted ;using bright. ; ;The VIDATT subroutine is used to change video attributes on the screen. ;On entry, WordStar will supply the attributes that are on in the C ;register. You must translate them into whatever your particular terminal ;requires. The following implementation is a sample installation. ;This subroutine is called only when a video attribute changes. ; 03C1 VIDATT:: ;Change to NOP, NOP, RET if not needed 03C1 21 03D2 LXI H,vdim 03C4 0C INR C ;Normal video? 03C5 0D DCR C 03C6 CA 0283 JZ STRING ; 03C9 21 03CF LXI H,vbrite ;Highlight everything else 03CC C3 0283 JMP STRING ; 03CF 02 1B 28 vbrite: DB 2,ESC,'(' ;Bright 03D2 02 1B 29 vdim: DB 2,ESC,')' ;Dim REPT 128-($-VIDATT) ;Allow total of 128 bytes for VIDATT DB 0 ENDM ; ;Normally the status line, text and directories are displayed in ;dim intensity so that bold and doublestruck text can be shown in ;high intensity. Setting BRITE to 0FFH reverses the usage of ;bright and dim for the status line, text and directories ;zero ;normally. ; 0441 00 BRITE:: DB 0 ;Don't reverse ;0FFH = normal text bright ; ;Delays are executed after various terminal functions, before ; the next character is sent to the terminal, to ; allow response time required by certain terminals ; when operating at a high baud rate. Set to a ; larger value if you suffer a loss of characters ; after a terminal function. ; ;Note that an additional delay FUNDLY is located near the ; function key table FUNTBL above. ; ;Each delay is approximately the number of milliseconds ; on a 4 MHz Z80 processor, about twice as long on ; a 2 MHz 8080 (in other words, divide delay values ; in half for a 2 MHz processor to achieve the same ; results). ; 0442 DELCUS:: 0442 00 DB 0 ;No delay after cursor positioning ;(if your terminal works better with ;5 milliseconds of delay, you would ;put a "5" here instead) 0443 DELMIS:: ;Miscellaneous screen delays 0443 00 DB 0 ;No delay 0444 DXOFF:: ;If XON/XOFF used for terminal, sometimes 0444 07D0 DW 2000 ;a legitimate ^S will be interpreted as an ;XOFF character. DXOFF is used to time out ;so that the terminal will continue. 0446 DLONG:: ;Long delays (like at sign-on) 0446 07D0 DW 2000 ;2 seconds = 2,000 milliseconds ;(1000 if 8080) 0448 DMED:: ;Medium delays (like at P, O, or K menus) 0448 03E8 DW 1000 ;1 second = 1,000 milliseconds ;(500 if 8080) 044A DSHORT:: ;Short delays (like before help menus) 044A 00C8 DW 200 ;200 milliseconds (100 if 8080) 044C UPDLY:: ;Position update delay 044C 00C8 DW 200 ;200 milliseconds (100 if 8080) 044E DDISK:: ;Disk access delay. If character typed 044E 01F4 DW 500 ;during disk access, wait this duration for ;more characters. 500 milliseconds 0450 DFAST:: ;Delay when typing fast. Holds off displaying 0450 0032 DW 50 ;the rest of the line briefly ; ;Optional user-supplied console I/O subroutines. You may ; patch JMP's here to your own console input, console ; output, and console status subroutines, in which ; case these routines, instead of the operating ; system BIOS entry points, will be used for all ; console I/O. These subroutines may alter all registers. ; ;Use of a custom subroutine accessed here is suggested, ; for example, to drive a video board that cannot be ; driven via output to the operating system. ; 0452 UCNSTA:: ;User console status subroutine. 0452 00 NOP ;Normally NOP, or JMP to your own 0453 00 NOP ;subroutine. Must return 0 in A if 0454 C9 RET ;no character ready, 0FFH if one is ;ready. 0455 UCONI:: ;User console input subroutine. 0455 00 NOP ;Normally NOP, or JMP to your own 0456 00 NOP ;subroutine. Must return the 0457 C9 RET ;character in A. May be called ;before a character is ready. If ;no character is ready, routine ;must wait until a character is ;available. 0458 UCONO:: ;User console output subroutine. 0458 00 NOP ;Normally NOP, or JMP to your own 0459 00 NOP ;subroutine. Subroutine receives 045A C9 RET ;the character in A, video attributes in ;B, and current cursor address in HL. ; ;This is 128 bytes set aside for anything that the user wishes to use. ;If more than 128 bytes are required, it is necessary to put them after ;the main WordStar code which can be determined by looking at the ;contents of BGNMEM to see where it is. After using as much space as ;necessary, change BGNMEM to the new beginning of free memory. ; 045B MORPAT:: 045B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 045F 0000 0000 0463 0000 0000 0467 0000 0000 046B 0000 0000 046F 0000 0000 0473 0000 0000 0477 0000 0000 047B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 047F 0000 0000 0483 0000 0000 0487 0000 0000 048B 0000 0000 048F 0000 0000 0493 0000 0000 0497 0000 0000 049B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 049F 0000 0000 04A3 0000 0000 04A7 0000 0000 04AB 0000 0000 04AF 0000 0000 04B3 0000 0000 04B7 0000 0000 04BB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04BF 0000 0000 04C3 0000 0000 04C7 0000 0000 04CB 0000 0000 04CF 0000 0000 04D3 0000 0000 04D7 0000 0000 ; ;CRTPAT is a patch area that may be used by WordStar's installation ;program. ; 04DB CRTPAT:: 04DB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04DF 0000 0000 04E3 0000 0000 04E7 0000 0000 04EB 0000 0000 04EF 0000 0000 04F3 0000 0000 04F7 0000 0000 04FB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04FF 0000 0000 0503 0000 0000 0507 0000 0000 050B 0000 0000 050F 0000 0000 0513 0000 0000 0517 0000 0000 051B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 051F 0000 0000 0523 0000 0000 0527 0000 0000 052B 0000 0000 052F 0000 0000 0533 0000 0000 0537 0000 0000 053B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 053F 0000 0000 0543 0000 0000 0547 0000 0000 054B 0000 0000 054F 0000 0000 0553 0000 0000 0557 0000 0000 ; ;The following string is used to describe the name of the default ;printer used by WordStar. Up to 40 bytes are provided for the ;string, including its null terminator. ; 055B PRNID:: 055B 44 72 61 66 DB 'Draft Printer',CR,LF,0 ;Printer name 055F 74 20 50 72 0563 69 6E 74 65 0567 72 0D 0A 00 056B 20 20 20 20 DB ' ' ;Additional room 056F 20 20 20 20 0573 20 20 20 20 0577 20 20 20 20 057B 20 20 20 20 057F 20 20 20 20 ; ;WordStar uses a default printer driver if none is specified by the ;user. The following is its name. It may be up to six characters long, ;null terminated. ; 0583 DEFPRN:: 0583 44 52 41 46 DB 'DRAFT',0 ;Standard driver 0587 54 00 0589 20 DB ' ' ;One extra char ; ;The print delay timer is used to time how long the printer is busy ;before telling the user that it's been busy a long time. This would ;primarily be used when the printer was in another room and you might ;not know that it was busy due to a paper jam or being off line. ; 058A PRNDLY:: ;Delay before saying printer busy 058A 0000 DW 0 ;Zero to disable ; ;Pausing between each page is used if single sheets of paper are being ;printed. ; 058C PPAUSE:: 058C 00 DB FALSE ;Continuous form (don't pause) ; ;Many printers can use form feeds to quickly get from one page to the ;next. If your printer can, setting PFFEED to TRUE will cause WordStar ;to use form feeds instead of carriage returns and line feeds. ; 058D PFFEED:: 058D 00 DB FALSE ;Carriage returns to next page ; ;Some users, like programmers, may want to usually print non-documents. ;In this case, WordStar prints any lines that begin with a period (dot ;commands), and expands tab characters (09H) according to the filetype ;in the EDCOND table elsewhere in the User Area. ; 058E PNODOC:: 058E 00 DB FALSE ;Don't print as a non-document ; ;Printer protocol flags. Only one of these flags may be set TRUE at ;one time. If neither flag is set, WordStar assumes all printer busy ;handshaking is done externally to WordStar (requires ULISTA and ULSTI ;subroutines below). ; 058F LXOFF:: ;Printer XON/XOFF protocol. 058F 00 DB FALSE 0590 LETX:: ;Printer ETX/ACK protocol. 0590 00 DB FALSE 0591 LCHRMX:: ;Maximum chars before sending ETX. 0591 80 DB 128 ;Half of buffer size. ; ;User list device output subroutines are used if the normal systems list ;device is not to be used. The user subroutine overrides the LSTDEV ;selection below. ; 0592 ULOSTA:: 0592 00 NOP ;User list output status subroutine. 0593 00 NOP ;Normally NOP, or JMP to your own 0594 C9 RET ;subroutine. Must return 0 in AL if ;list device is busy, 0FFH if idle. 0595 ULSTO:: 0595 00 NOP ;User list output subroutine. 0596 00 NOP ;Normally NOP, or JMP to your own 0597 C9 RET ;subroutine. Subroutine receives the ;character in AL. ; ;User list input subroutines are used if either XON/XOFF or ETX/ACK ;protocols are used to indicate when the printer is busy. ; 0598 ULISTA:: 0598 00 NOP ;User list input status subroutine. 0599 00 NOP ;Normally NOP, or JMP to your own 059A C9 RET ;subroutine if LXOFF or LETX is TRUE. ;Must return 0 in AL if no char pending. 059B ULSTI:: 059B 00 NOP ;User list input subroutine. 059C 00 NOP ;Normally NOP, or JMP to your own 059D C9 RET ;subroutine if LXOFF or LETX is TRUE. ;Returns character in AL. ; ;Printer Output Selection ; ;When WordStar prints, it sends its output to one of the devices specified ;with LSTDEV. ; ; 00H = TTY device ; 01H = CRT device ; 02H = LPT device ; 03H = UL1 device ; FFH = Default LST device ; 059E LSTDEV:: 059E FF DB 0FFH ;Use LST device ; ;Before printing, WordStar will call ULPORT below to allow for custom ;print output redirection. A pointer to the name of the printer (null ;terminated, all capital letters) will be passed to the subroutine in HL. ;It is up to this subroutine to then route the printer output to the ;appropriate output port by whatever means is available to it. ; 059F ULPORT:: 059F 00 NOP ;Normally NOP if no redirection to be done. 05A0 00 NOP ;Change to JMP to your own subroutine. 05A1 C9 RET ; ;The user list device uninitialize routine is called after printing is ;completed, and can be used to restore the printer state for non-WordStar ;applications. ; 05A2 ULUNPT:: 05A2 00 NOP 05A3 00 NOP 05A4 C9 RET ; ;The ULINI string is sent to the list device after ULPORT is executed ;and before the document is printed. ; 05A5 ULINI:: ;User list device initialize string 05A5 00 DB 0 05A6 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 05AA 00 00 00 00 05AE 00 ; ;The ULUNI string is sent to the list device after the document is ;printed and before the ULUNPT routine is executed. ; 05AF ULUNI:: ;User list device uninitialize routine 05AF 00 DB 0 05B0 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 05B4 00 00 00 00 05B8 00 ; ;When WordStar begins printing, space is allocated for the three header and ;three footer lines. HFMAX determines how much space to allocate. ; 05B9 HFMAX:: 05B9 0064 DW 100 ;Up to 100 characters per header or footer ; ;DATSEP is used while merge printing to separate one data item from ;another in the data file. ; 05BB DATSEP:: ;Comma 05BB 2C DB ',' ; ;DLIST is the list output delay. Every time a character is output to ;the printer, this delay is used. ; 05BC DLIST:: 05BC 00 DB 0 ;No delay ; ;Custom Printer Control Strings: These strings are sent to the printer ;when the custom print control characters, ^Q, ^W, ^E, or ^R are ;encountered in text being printed. They can be used to invoke special ;printer functions not controlled by the standard driver, such as expanded ;or compressed modes of printing. ; ;Note that some drivers may interfere or override the custom print controls ;you have defined. In this case, use a generic driver such as DRAFT or ;CUSTOM. ; ;A fixed length of 25 bytes is reserved for each string, where the ;first byte is the count of characters to be sent to the printer, and ;the following bytes (up to 5) are the characters to be sent. If ;longer strings are required, the first byte can be -1, followed by a ;two byte address pointing into a patch area, where the actual count ;and string can be found. ; 05BD UPRCTL:: ;Custom Print Controls 05BD 00 UPRQ:: DB 0 ;^Q, length 05BE 00 00 00 00 DB 0,0,0,0,0,0 ; string of up to 24 characters 05C2 00 00 05C4 00 00 00 00 DB 0,0,0,0,0,0 05C8 00 00 05CA 00 00 00 00 DB 0,0,0,0,0,0 05CE 00 00 05D0 00 00 00 00 DB 0,0,0,0,0,0 05D4 00 00 ; 05D6 00 UPRW:: DB 0 ;^W 05D7 00 00 00 00 DB 0,0,0,0,0,0 05DB 00 00 05DD 00 00 00 00 DB 0,0,0,0,0,0 05E1 00 00 05E3 00 00 00 00 DB 0,0,0,0,0,0 05E7 00 00 05E9 00 00 00 00 DB 0,0,0,0,0,0 05ED 00 00 ; 05EF 00 UPRE:: DB 0 ;^E 05F0 00 00 00 00 DB 0,0,0,0,0,0 05F4 00 00 05F6 00 00 00 00 DB 0,0,0,0,0,0 05FA 00 00 05FC 00 00 00 00 DB 0,0,0,0,0,0 0600 00 00 0602 00 00 00 00 DB 0,0,0,0,0,0 0606 00 00 ; 0608 00 UPRR:: DB 0 ;^R 0609 00 00 00 00 DB 0,0,0,0,0,0 060D 00 00 060F 00 00 00 00 DB 0,0,0,0,0,0 0613 00 00 0615 00 00 00 00 DB 0,0,0,0,0,0 0619 00 00 061B 00 00 00 00 DB 0,0,0,0,0,0 061F 00 00 ; ;Strike-out character ; 0621 STKCHR:: 0621 2D DB '-' ;Strike out character ; ;If PFFEED above is TRUE, or you specifically tell WordStar to use form feeds ;during printing, the following string is sent to the printer to eject the ;paper to the next page. All printer drivers use this string. ; 0622 01 FORMF:: DB 1 ;^L 0623 0C DB FFEED 0624 00 00 00 00 DB 0,0,0,0,0 0628 00 0629 00 00 00 00 DB 0,0,0,0,0,0 062D 00 00 062F 00 00 00 00 DB 0,0,0,0,0,0 0633 00 00 0635 00 00 00 00 DB 0,0,0,0,0,0 0639 00 00 ; ;This is 128 bytes set aside for printer subroutines. ;This area is also used for print control strings for the CUSTOM ;printer driver. ; 063B PRNPAT:: 063B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 063F 0000 0000 0643 0000 0000 0647 0000 0000 064B 0000 0000 064F 0000 0000 0653 0000 0000 0657 0000 0000 065B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 065F 0000 0000 0663 0000 0000 0667 0000 0000 066B 0000 0000 066F 0000 0000 0673 0000 0000 0677 0000 0000 067B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 067F 0000 0000 0683 0000 0000 0687 0000 0000 068B 0000 0000 068F 0000 0000 0693 0000 0000 0697 0000 0000 069B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 069F 0000 0000 06A3 0000 0000 06A7 0000 0000 06AB 0000 0000 06AF 0000 0000 06B3 0000 0000 06B7 0000 0000 ; ;If non-standard initialization parameters are used, the ;following identification string can be displayed at ;sign-on. Up to 40 bytes are available for the string, ;including the null terminator. ; 06BB INITID:: 06BB 00 DB 0 ;No ID if standard 06BC 20 20 20 20 DB ' ' 06C0 20 20 20 20 06C4 20 20 20 20 06C8 20 20 20 20 06CC 20 20 20 06CF 20 20 20 20 DB ' ' 06D3 20 20 20 20 06D7 20 20 20 20 06DB 20 20 20 20 06DF 20 20 20 20 ; ;Legal Drives ; ;Note that the first drive is assumed to be the default drive where any ;special files are located such as the WSMSGS.OVR file. The drives listed ;should be reduced to the ones that are actually in use on the system ;upon which WordStar is running. ; ;If the most significant bit of the drive letter is set to 1, WordStar ;will assume that the drive is non-removable. A disk reset will not ;be done when non-removable drives are logged. ; 06E3 LGLDRV:: 06E3 41 42 43 44 DB 'ABCDEFGHIJKLMNOP',0 ;Every legal drive 06E7 45 46 47 48 06EB 49 4A 4B 4C 06EF 4D 4E 4F 50 06F3 00 ; ;Legal User Numbers ; ;Some CP/M operating systems can support user numbers from 0 to 15, ;others support 0 to 31. Also, a user can be prevented from accessing ;other user numbers if zero. ; 06F4 LGLUSR:: 06F4 10 DB 16 ;Sixteen user numbers from 0 to 15 ; ;WordStar uses several files. Their names are specified here. WordStar ;uses the following search pattern to try to find the file: ; ; 1. Look on the current drive and user. ; 2. Default user (DEFUSR) on the current drive. ; 3. Current user on the default drive. ; 4. Default user on the default drive. ; ;If the drive byte of the filename is non-zero, it should be set to a ;number 1 through 16 representing drives A through P respectively. In ;this case, WordStar will look only on the specified drive and the ;DEFUSR user number for the file. ; 06F5 MSFILE:: ;Message file 06F5 00 57 53 4D DB 0,'WSMSGS OVR' 06F9 53 47 53 20 06FD 20 4F 56 52 0701 HPFILE:: ;Help messages file 0701 00 57 53 48 DB 0,'WSHELP OVR' 0705 45 4C 50 20 0709 20 4F 56 52 070D FF DB 0FFH ;Zero if never to search for help 070E IXFILE:: ;Indexer exclusion word list filename 070E 00 57 53 49 DB 0,'WSINDEX XCL' 0712 4E 44 45 58 0716 20 58 43 4C 071A LDFILE:: ;Load file for overlays 071A 00 57 53 20 DB 0,'WS OVR' 071E 20 20 20 20 0722 20 4F 56 52 0726 OVFILE:: ;Print driver overlays 0726 00 57 53 50 DB 0,'WSPRINT OVR' 072A 52 49 4E 54 072E 20 4F 56 52 0732 WSFILE:: ;File containing WordStar (after running pgm) 0732 00 57 53 20 DB 0,'WS COM' 0736 20 20 20 20 073A 20 43 4F 4D 073E SHFILE:: ;Shorthand file 073E 00 57 53 53 DB 0,'WSSHORT OVR' 0742 48 4F 52 54 0746 20 4F 56 52 ; ;If WordStar does not find its own files (WS.COM, WS.OVR...) on the ;logged user, it will look for them on the default user. ; 074A DEFUSR:: 074A 00 DB 0 ;Default user number for system files ;Set to 0-16 or 0-31 (depends on LGLUSR), ; or -1 to defeat ; ;When you use the S command at the Opening Menu, this is the spelling ;check command that is used. If you want WordStar to prompt for the ;document to be checked and then automatically append it to this command, ;set SPFILE non-zero. ; 074B 02 SPCMD:: DB 2 ;Five letters in command 074C 54 57 DB 'TW' ;Run The WORD Plus 074E 00 00 00 00 DB 0,0,0,0,0 ;Spare bytes for longer commands 0752 00 0753 00 00 00 00 DB 0,0,0,0,0 0757 00 0758 FF SPFILE::DB 0FFH ;Automatically ask ; ;When you run a program at the Opening Menu, WordStar first tries to find ;the COM file in the current drive and user, then in this drive and user. ;The default is to look on drive A, user 0. ; 0759 01 URUN:: DB 1 ;Drive code (0=disabled, 1=A, 2=B, ...) 075A 00 DB 0 ;User number ; ;INILOG allows the user to specify a drive and user number for WordStar to ;log onto at start up time. The first byte is a character count, the ;following bytes (up to three) can contain a drive name (A-P) and user ;number (0-31). ; 075B INILOG:: 075B 00 DB 0 075C 00 00 00 DB 0,0,0 ; ;WordStar creates backup and temporary files. The following ;are the file types to be used for them. ; 075F BAKTYP:: ;Type for backup files 075F 42 41 4B DB 'BAK' 0762 BFTYPE:: 0762 24 42 24 DB '$B$' ;File type of temporary file before memory 0765 AFTYPE:: 0765 24 41 24 DB '$A$' ;File type of temporary file after memory 0768 BLKTYP:: 0768 24 43 24 DB '$C$' ;Type for block move/copy buffer file ; ;When the directory is displayed, file types from this table ;are suppressed. Question marks may be used as wild cards to ;match any character. ; 076B NOTYPE:: ;File types to be ommitted from directories 076B 43 4F 4D DB 'COM' ;Command files 076E 4F 56 52 DB 'OVR' ;Overlays 0771 24 3F 24 DB '$?$' ;WordStar temporary files 0774 00 00 00 DB 0,0,0 0777 00 00 00 DB 0,0,0 077A 00 00 00 DB 0,0,0 077D 00 00 00 DB 0,0,0 0780 00 00 00 DB 0,0,0 0783 00 DB 0 ;End of table ; ;DIRFIL is a file name "image" that is used in conjunction with NOTYPE (above) ;to determine which files are to be displayed in WordStar's directories. ;DIRFIL determines which files can possibly be included, and NOTYPE then ;eliminates certain types of files. Use a question mark in DIRFIL at each ;spot where any file name character can match. ; 0784 DIRFIL:: 0784 3F 3F 3F 3F DB "???????????" ;All files match 0788 3F 3F 3F 3F 078C 3F 3F 3F ; ;The name of the file to be edited can be specified at the operating system ;prompt. ININON indicates whether the file should be edited as a document ;or nondocument. ; 078F ININON:: 078F 00 DB FALSE ;Not non-document from command line ; ;WordStar normally makes BAK backup files every time you save your work. ;INITBAK can be used to disable backups by setting it FALSE. ; 0790 INIBAK:: 0790 FF DB TRUE ;Make backups ; ;When a nondocument is edited, WordStar will decide how to expand tabs ;(ASCII 09H), and whether or not to use auto-indenting by looking in this ;table. ; ;There is a special case of the tab masks shown below. When the most ;significant bit of the tab mask is set to 1, WordStar will assume that ;you want to use variable tabbing. When the tab key is typed, instead ;of inserting an ASCII 09H into the file, spaces will be entered up to ;the next tab stop. The tab stops used are in the INIRLR table. An ;ASCII 09H can still be entered in this mode, however, by typing ^PI. ; 0791 EDCOND:: ;Edit conditions for specific file types 0791 50 41 53 01 DB 'PAS',00000001B,TRUE ;File extension, followed by a 0795 FF 0796 50 4C 49 03 DB 'PLI',00000011B,TRUE ;binary tab mask (e.g. a mask of 079A FF 079B 43 20 20 03 DB 'C ',00000011B,TRUE ;00000111B expands tab characters 079F FF 07A0 48 20 20 03 DB 'H ',00000011B,TRUE ;to every 8th column), followed by 07A4 FF ;TRUE if auto-indent is turned on. 07A5 00 00 00 07 DB 0,0,0,00000111B,FALSE ;End of table with defaults if file 07A9 00 ;type doesn't match above 07AA 00 00 00 00 DB 0,0,0,0,0 ;Room for four more 07AE 00 07AF 00 00 00 00 DB 0,0,0,0,0 07B3 00 07B4 00 00 00 00 DB 0,0,0,0,0 07B8 00 07B9 00 00 00 00 DB 0,0,0,0,0 07BD 00 ; ;WordStar normally only considers alphabetic or numeric characters ;as being within a "word". If other characters are legally part ;or a word too, then the bit for the corresponding character code in ;the following table must be set to a 1. ; ;There are 256 bits in the table to allow for 8-bit character sets. ;The default table has the bits set for the numbers "0" through "9" ;(ASCII codes of 30H through 39H), for the upper case letters ;"A" through "Z" (41H through 5AH), and the lower case letters "a" ;through "z" (61H through 7AH). Since the ASCII codes are only ;seven bits, the corresponding codes with the eighth bit set are ;also legal. ; 07BE LGLCHR::; 01234567 89ABCDEF 07BE 00 00 DB 00000000B,00000000B ;Codes 00H to 0FH 07C0 00 00 DB 00000000B,00000000B ;Codes 10H to 1FH 07C2 00 00 DB 00000000B,00000000B ;Codes 20H to 2FH 07C4 00 00 DB 00000000B,00000000B ;Codes 30H to 3FH 07C6 7F FF DB 01111111B,11111111B ;Codes 40H to 4FH 07C8 FF E0 DB 11111111B,11100000B ;Codes 50H to 5FH 07CA 7F FF DB 01111111B,11111111B ;Codes 60H to 6FH 07CC FF E0 DB 11111111B,11100000B ;Codes 70H to 7FH 07CE 00 00 DB 00000000B,00000000B ;Codes 80H to 8FH 07D0 00 00 DB 00000000B,00000000B ;Codes 90H to 9FH 07D2 00 00 DB 00000000B,00000000B ;Codes A0H to AFH 07D4 00 00 DB 00000000B,00000000B ;Codes B0H to BFH 07D6 7F FF DB 01111111B,11111111B ;Codes C0H to CFH 07D8 FF E0 DB 11111111B,11100000B ;Codes D0H to DFH 07DA 7F FF DB 01111111B,11111111B ;Codes E0H to EFH 07DC FF E0 DB 11111111B,11100000B ;Codes F0H to FFH ; ;When you use ^A or ^F to move a word at a time, WordStar uses the ;following table to determine which characters to skip. It is organized ;in the same manner as LGLCHR above. ; 07DE MOVCHR::; 01234567 89ABCDEF 07DE FF 92 DB 11111111B,10010010B ;Codes 00H to 0FH 07E0 FB C3 DB 11111011B,11000011B ;Codes 10H to 1FH 07E2 3F F5 DB 00111111B,11110101B ;Codes 20H to 2FH 07E4 FF CE DB 11111111B,11001110B ;Codes 30H to 3FH 07E6 FF FF DB 11111111B,11111111B ;Codes 40H to 4FH 07E8 FF FF DB 11111111B,11111111B ;Codes 50H to 5FH 07EA FF FF DB 11111111B,11111111B ;Codes 60H to 6FH 07EC FF FE DB 11111111B,11111110B ;Codes 70H to 7FH 07EE FF 92 DB 11111111B,10010010B ;Codes 80H to 8FH 07F0 FB C3 DB 11111011B,11000011B ;Codes 90H to 9FH 07F2 3F F5 DB 00111111B,11110101B ;Codes A0H to AFH 07F4 FF CE DB 11111111B,11001110B ;Codes B0H to BFH 07F6 FF FF DB 11111111B,11111111B ;Codes C0H to CFH 07F8 FF FF DB 11111111B,11111111B ;Codes D0H to DFH 07FA FF FF DB 11111111B,11111111B ;Codes E0H to EFH 07FC FF FE DB 11111111B,11111110B ;Codes F0H to FFH ; ;Certain special characters can be inserted into this table to cause ;WordStar to automatically generate a backspace character (^H) preceding ;the character as you type. This can be especially useful for accent ;characters in some foreign languages. ; 07FE AUTOBS:: ;Automatic backspace table 07FE 00 DB 0 ;Number of characters in table 07FF 00 00 00 00 DB 0,0,0,0 ;Up to 8 character codes 0803 00 00 00 00 DB 0,0,0,0 ; ;When WordStar gets a file for editing, it will use the following ;initial conditions. ; 0807 INIDOC:: ;Document initializations 0807 03 DB 3 ;Top of page margin. 0808 08 DB 8 ;Bottom of page margin. 0809 42 DB 66 ;Total lines per page. 080A 0001 DW 1 ;Initial page number (note 2 bytes). 080C FF DB TRUE ;Page number prints at bottom of page ;if TRUE. No page number if FALSE. 080D 1C DB 28 ;Column where page number prints. 080E 02 DB 2 ;Heading margin. This is the number of lines ;above the text where the heading is to print. 080F 02 DB 2 ;Footing margin. This is the number of lines ;below the text where the footing is to print. 0810 07 DB 00000111B ;Default document tab mask (must be ;binary, 00000000B through 01111111B). 0811 08 DB 8 ;Left column where printing starts. 0812 FF DB TRUE ;Bidirectional printing if TRUE. Just ;unidirectional or printer controlled ;if FALSE. (Many printers do not allow ;software control of print direction). 0813 FF DB TRUE ;Letter quality printing if TRUE. Draft ;quality if FALSE. (Only supported on ;some printers.) 0814 02 DB 2 ;Microjustified printing. 0 turns it off, ;1 turns it on, and 2 makes it discretionary ;(depending on the printer driver in use). 0815 00 DB FALSE ;Underline blanks between words if TRUE. ;NOTE: Not implemented for all printers. 0816 0C DB 12 ;Standard character width (in HMI units). ;The printer is reset to this when done ;printing. 0817 08 DB 8 ;Standard line height (in VMI units). The ;printer is reset to this after .LH dot ;commands. It is also used to determine ;the page size in VMI units by multiplying ;by the lines per page above. 0818 0C DB 12 ;Character width (in HMI units) ;for normal pitch. If HMI is 120, ten pitch ;is 12/120, twelve pitch is 10/120. 0819 0A DB 10 ;Character width for alternate pitch (use ;^PA to select alternate pitch while editing). 081A 03 DB 3 ;Subscript and superscript roll (in VMI ;units). This value determines how ;far up or down the carriage moves when ;subscripting or superscripting. 081B 08 DB 8 ;Line height (in VMI units). This value ;determines how far to roll the carriage ;to get to the next line. ; ;The default ruler line can be described by defining the following values. ;Note that the tab stop tables must contain values in ascending order only. ;The regular tab stops are put in the table first, immediately followed by ;the decimal tabs. ; 081C INIRLR:: ;Ruler data 081C 01 DB 1 ;Left ruler margin 081D 41 DB 65 ;Right ruler margin 081E 00 DB 0 ;Paragraph margin 081F 0B DB 11 ;Eleven tabs 0820 06 0B 10 15 DB 6,11,16,21 ;Tab stops 0824 1A 1F 24 29 DB 26,31,36,41 ;(Must be in 0828 2E 33 38 DB 46,51,56 ;ascending order) 082B 00 00 00 00 DB 0,0,0,0 ;Space for 4 more 082F 00 DB 0 ;No decimal tabs 0830 00 00 00 00 DB 0,0,0,0,0,0 ;Space for 6 0834 00 00 002F inisiz EQU $-INIDOC ;Size of document initialization ; ;INIRLI determines whether the ruler line is re-initialized from INIRLR each ;time any document is edited. If INIRLI is FALSE, you can change the initial ;ruler line with ^OL, ^OR, ^OI, and ^ON commands, and have those changes ;be used for every document edited until you exit WordStar. ; 0836 INIRLI:: 0836 FF DB TRUE ;Initialize ruler for each document ; ;As you move through a document, WordStar executes some of the dot commands, ;like .RR ruler line commands, as they are encountered. As WordStar moves ;forward through the text, the old ruler line is stored in memory so that it ;can be restored when you move backwards over the .RR later. Other dot ;commands work in a similar manner. ; ;DSTKSZ is used to allocate storage for the dot commands. While you are ;editing, WordStar puts a Dot-Limit indicator in the status line if you ;use too many dot commands. ; ; Dot Command Size ; .RR 26 ; .RM .LM .LH .PL 1 ; .MT .MB 1 ; .PN 2 ; 0837 DSTKSZ:: 0837 01F4 DW 500 ;Room for 19 .RR commands or 500 .RM & .LM ; ;INIDIR determines whether the directory is initially displayed or not. ;DIRSRT tells WordStar whether or not to sort directories in alphabetical ;order before displaying them. ; 0839 INIDIR:: 0839 FF DB TRUE ;Directory on 083A DIRSRT:: 083A FF DB TRUE ;Sort directory in alphabetical order ; ;INIHLP is the default help level. It can have a value from 0 to 3. ; 083B INIHLP:: 083B 03 DB 3 ;Maximum help level at start ; ;When editing, the last erasure can be undone with ^U. UNONE determines ;whether single character erasures with ^G and DEL can also be undone. ; ;UNSIZE is the maximum erasure that can later be undone. The unerase ;buffer shares the same memory space as the text you are editing. Making ;UNSIZE very large may cause WordStar to "spill over" to disk more ;frequently, slowing down editing. ; 083C UNONE:: ;Don't unerase single characters 083C 00 DB FALSE 083D UNSIZE:: 083D 01F4 DW 500 ;Maximum unerase size ; ;VMSIZE indicates the number of 128-byte records that can be read from ;the disk for WordStar's messages and menus. ; 083F VMSIZE:: 083F 04 DB 4 ;Four records (.5k byte) ; ;EDSIZE indicates the minimum number of records of edit buffer required ;to edit a document properly. WordStar must be able to keep a whole ;page in memory to determine page breaks and line numbers correctly. ;Less memory can sometimes be used with occasional strange results. ;(Non-documents are automatically allocated a minimum of 6 records.) ; 0840 EDSIZE:: 0840 1C DB 28 ;Enough memory for an average full page ; ;BFSIZE is the number of 128-byte records that WordStar uses for its ;general purpose buffer. There is a different buffer allocation for ;editing, the Opening Menu, and for merge printing. ; ;This buffer is used for: ; ; - File directories (each file uses 11 bytes), ; - Printer driver directory (each driver uses 11 bytes and 256 ; bytes are used for buffering), ; - File copies, ; - Block reads and writes, ; - Merge printing. ; 0841 BFSIZE:: 0841 10 DB 16 ;Edit buffer size (16 records = 2k) ;(Minimum is 1 record) 0842 10 DB 16 ;Opening menu buffer size ;(Minimum is 3 records) 0843 10 DB 16 ;Merge print buffer size ;(Minimum is 1 record) ; ;If a document becomes too large to fit in memory at one time, WordStar ;begins to "spill" the excess to the disk. TYSIZE determines how many ;128-bytes records to use for each spillover. Picking a correct size ;is important but can usually be done by trial and error. If TYSIZE is ;too large, you may see long delays during scrolling or typing when memory ;fills. ; 0844 TYSIZE:: 0844 10 DB 16 ;Number records read or stored while typing 0845 00 00 00 00 DB 0,0,0,0 ;Reserved ; ;A "find" or "find and replace" uses the INIFIN options if you do not ;explicitly enter any at the "Options?" prompt. The possible options ;that can be used are: ; ; W whole words only ; U ignore case ; B backwards search ; G whole file ; R rest of file ; N replace without asking ; ;Blank the unused options. ; 0849 INIFIN:: 0849 20 20 20 20 DB ' ' ;No options 084D 20 20 ; ;The status line is usually displayed at the top of the screen. ;INISTA lets you always turn it off. STFILL specifies what character ;to use to fill unused space in the status line. ; 084F INISTA:: 084F FF DB TRUE ;Display status line 0850 STFILL:: 0850 20 DB ' ' ;Fill with blanks ; ;When paragraphs are aligned with ^B or ^QU and hyphen help is on, HYMAX ;is used to determine when to ask the user to hyphenate a word. ; 0851 HYMAX:: 0851 05 DB 5 ;Ask user when the word extends more than 5 ;characters past the right margin ; ;When WordStar asks a question that requires a Y for yes or N for no response, ;YNCR indicates whether or not the user must push the RETURN key before ;WordStar will accept it. ; 0852 YNCR:: 0852 00 DB FALSE ;Don't wait for RETURN key ; ;WordStar can index every word in a document as well as selected words and ;phrases. IDXALL determines whether this is the default or not. ; 0853 IDXALL:: 0853 00 DB FALSE ;Don't index every word ; ;Using ^B or ^QU in a nondocument normally strips the eighth bit from ;each character in a line. STRPFL can disable stripping. ; 0854 STRPFL:: 0854 FF DB TRUE ;Stripping is enabled ; ;Editor Entry Conditions ; 0855 INIEDT:: 0855 FF DB TRUE ;Right justification when typing 0856 FF DB TRUE ;Word wrap when typing at end of line 0857 FF DB TRUE ;Insert on 0858 FF DB TRUE ;Print controls displayed 0859 00 DB FALSE ;No hyphen help 085A FF DB TRUE ;Ruler displayed 085B 00 DB FALSE ;Block column mode off 085C 00 DB FALSE ;Block column replace mode off 085D 01 DB 1 ;Single spacing 085E 02 DB 2 ;Scrolling speed 085F 00 DB FALSE ;Proportional spacing off 0860 00 DB FALSE ;Soft space not displayed 0861 00 00 00 DB 0,0,0 ;Reserved ; 000F iniesz EQU $-INIEDT ;Size of editor conditions ; ;The following are special characters that affect how numbers are ;evaluated and dispayed. ; 0864 COMCHR:: 0864 2C DB ',' ;Comma to separate 1,000's 0865 DECCHR:: 0865 2E DB '.' ;Decimal point ; ;The following flags are used to control the way WordStar processes ;certain commands. CTLNFL and CTLHFL are provided primarily to allow ;WordStar 3.3 users to use ^N and ^H in the same way as they are accustomed. ; 0866 CTLNFL:: 0866 FF DB TRUE ;Set non-zero if ^N to break line and ;RETURN moves down a line when insert off. ;Set to zero so ^N converts paragraph lines ;and turns auto indent on/off for ;nondocuments, and RETURN always inserts CRLF. 0867 CTLHFL:: 0867 00 DB 0 ;Set non-zero if ^H to be same as ^S instead ;of DEL. 0868 CASEFL:: 0868 00 DB 0 ;Set non-zero if ^^ is case toggle. When ;zero and CLTNFL is non-zero, use as ;paragraph line and auto-indent on/off. 0869 DELFLG:: 0869 00 DB 0 ;Set non-zero if DEL erases to left, zero ;to erase to right (like ^G). 086A BLKFLG:: 086A FF DB 0FFH ;Set non-zero if the cursor should move ;to column 1 if the cursor is next to a block ;marker at the left edge of the screen 086B LSPFLG:: 086B 00 DB 0 ;Set non-zero if lines with soft carriage ;returns should not be added to paragraphs ;for line spacing other than 1 ; ;RLRVID allows the user to select video attributes used to highlight ;the ruler line. See VIDATT for bit definitions. ; 086C RLRVID:: 086C 00 DB 0 ;No ruler highlighting ; ;AHEAD indicates whether type ahead is allowed for ^E, ^X, ^W, ^Z, ;^G, DEL, ^T, ^Y, ^QY, and ^QDEL. If AHEAD is 0, WordStar's type ;ahead buffer will be flushed whenever one of the functions is ;encountered. If it is non-zero, no flushing will occur. This ;flag should be used primarily for external keyboard enhancers where ;the functions shown above are to be used. WordStar's function key ;and shorthand processing automatically compensate. ; 086D AHEAD:: 086D 00 DB 0 ;Flush ; ;Maximum size for the shorthand definitions. Should be optimized to ;match actual usage since it reduces the amount of memory available ;for text while editing and printing. The size of each definition ;is equal to 5 plus the number of characters defined. If this value ;is smaller than the size of the shorthand file (see SVFILE above), ;only some of the definitions will be used. Setting it to zero ;disables shorthand and makes the ESC key clear the screen instead. ; 086E HANMAX:: 086E 04 DB 4 ;Size of shorthand buffer in records ;(4 times 128 = 512 bytes) ; ;With shorthand you can insert the dollar-formatted results of the last ;math you performed. WordStar uses the format below when you do this. ;(Make sure that the character count includes the zero at the end.) ; 086F DOLLAR:: 086F 11 DB 17 ;Character count 0870 2D 2D 2C 2D DB '--,---,---,---.99' 0874 2D 2D 2C 2D 0878 2D 2D 2C 2D 087C 2D 2D 2E 39 0880 39 0881 00 00 00 DB 0,0,0 ;Spare 0884 00 00 00 00 DB 0,0,0,0,0,0,0,0 ;Reserved 0888 00 00 00 00 088C 00 00 00 00 DB 0,0,0,0,0,0,0,0 0890 00 00 00 00 ; ;EXTRA is a large buffer area for general patching. Some versions of ;the WINSTALL installation program use EXTRA. Whenever EXTRA is used, ;RAM1ST must be changed to point to the first available byte within EXTRA ;that is still available for WordStar's use. If all of EXTRA is used, ;RAM1ST should point to endpat. ; 0894 RAM1ST:: 0894 0896 DW EXTRA ;First location in EXTRA that WordStar can use ; 0896 EXTRA:: DS 512 ;Patch area 0A96 endpat:: ;End of patch area 0A96 08 0C 57 UDATE: DB 08,12,87 ;User area version date ;RAM1ST must be changed to point to the first available byte within EXTRA ;that is still available for WordStar's use. If all of EXTRA is used, ;RAM1ST should point to endpat. ; 0894 RAM1ST:: 0894 0896 DW EXTRA ;First locatio Backspaces and overprints the underscore character ^PT/V Prints super/subscripts with a full line between super/subscript and text .LH Sets line height only in multiples of full lines .CW N/A .PS N/A .LQ N/A .UJ N/A NOTES This driver works with any printer that doesn't automatically perform a line feed when a it receives a carriage return command, and responds to a backspace character. Overprinting is done by backspacing. AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF ^PD Backspaces and overprints each character twice ^PB Backspaces and overprints each character three times ^PS Backspaces and overprints the underscore character ^PT/V Prints super/subscripts with a full line between super/subscript and text .LH Sets line height only in multiples of full lines .CW N/A .PS N/A .LQ N/A .UJ N/A NOTES This driver works with any printer that automatically performs a line feed when it receives a carriage return character, and responds to a backspace command. Overprinting is done by backspacing. SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ Controlled by user area strings .PS Controlled by user area strings .CW N/A .UJ N/A .LH N/A NOTES This printer driver prints the line in one pass, sending control strings from the user area to select print enhancements. CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM All print controls cause control strings (on and off) in the user area to be sent to the printer. These strings are used by both the SIMPLE and CUSTOM drivers. They can be installed with the WSCHANGE program. .LQ ON/OFF controlled by user area strings .PS ON/OFF controlled by user area strings .LH Sets line height only in multiples of full lines .UJ N/A .CW N/A NOTES This driver prints the line in multiple passes, sending control strings from the user area to select print enhancements. PREVIEW TO DISK ----- Driver: PRVIEW This driver prints documents to the PREVIEW.WS file to allow you to preview the format and appearance of a document before printing. Headers, footers, and pagination are shown correctly and print controls remain in the file to display onscreen attributes. Dot commands are not printed. PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII This driver prints to the ASCII.WS file, stripping headers and footers, high bits, and print controls. PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT This driver prints to the XTRACT.WS disk file, stripping headers and footers, but preserving high bits and print controls. ANADEX 9500A, 9500B ----- Driver: 9500 ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 9 13.3 cpi 10 12 cpi 12 10 cpi 18 6.7 cpi 20 6 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B ^PY N/A ^PT/V Even superscript roll .CW .CW Font name --- --------- 7 16.7 cpi 8 15 cpi 10 12.5 cpi 12 10 cpi 14 8.3 cpi 16 7.5 cpi 20 6.2 cpi 24 5 cpi .LH 1/24" resolution, use even values .UJ This printer has no incremental horizontal positioning .PS N/A .LQ N/A C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 ^PY N/A ^PT/V Prints full-size characters with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification C. ITOH F10 STARWRITER ----- Driver: QUME See Diablo 630, 1610, 1620 Daisy Wheel. Note: Proportional printing was tested with a Theme 10 wheel. CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 ^PY Selects italics if appropriate font installed ^PT/V Prints full-size characters with roll .PS .PS .CW OFF ON Font Name --- -- --------- 6 - 20 cpi 8 - 15 cpi 9 - 13.3 cpi 10 - 12 cpi (elite) 12 - 10 cpi 20 - 6 cpi 24 - 5 cpi 16 - 7.5 cpi - 7 (0-8) Garland 8 point - 10 (9-11) Garland 12 point - 14 (12-17) Expanded 8 point - 20 (18-30) ExpandWordStar 4.00 Overlay 24 Aug 87 Copyright (C) 1979, 1987 MicroPro International Corp. All rights reserved.  %&%%7&'&&''(\('$'l'''K'(e%2{!:">2"!G"w!2y!2z!:)&:{!=̩u=y!%v,:)&'Q%:! % Q%ͅ%Q%:!5G:%!*w!x%_+~#w+£%:!w 4x_ͤ#~'%~ 4%º%ͭ%:! 4:!w# ͠',:!2}!G:!%:y!&:y!2F*+w&#!GG~#&G2"W,x:y!2F&=&Q%:y!G:z!Oȸk&*w!+~5W`&T& à'ͅ> 4Åͬ&*w!^'ͬ'Gͤʎ&#~+w# 4&{5G> 4“&ͭ!y!5ͬ&Q%ͬ'y +~5W͠'ͅ¼&*w!^{'Q%ͬ'Q%~ 4# ͠'Q%ͬ'Q%ͤ*+~# 'yP 'w 4# =&x2y!ͭQ%:i7&n&Q%:z!1'ͬ&$'!G͠'ͤ> 4='ͭQ%'Q%f2!%̾2%͐'Q%x+Q%!nw?,Q%͐'Q%G+Q%x':{!:u!"w!x2y!y2z!*w!:z!O:y!G:/2Q%''ͯ'>Pȹ!:%?5g: g:%?:z!O (ͬ&~^' (ͬ&~^( 4*w!#"w! y2z!Q%3(3(Q%ͬ''~'~M(^Q(^ 4# ͠'3(h(h(Q%ͬ''~}(^ʁ(^n&h(> '> 2!ͅ%> 2!%:%ڨ(:$o(:u!(:"(:!$(2!(28G!~3 O~# (y!%!9"͏/\):R6)f 0)!!0)!!h)O3 4y29>28> 2}!<)-%h)!8~I)x\)#~3 !!r)!!m)!/j-(>It)>Nt)>Y3š):"ʚ)!.‘)!./j-͏/:}!!!>ʪ)/*P)w# ¹)+p:):>)/!2%*#**#** #*<***~w*>2# 5:$G:=:*#F+p#.*q!#:$G:^#!2%*͊**͊** ͊*<*ڄ*4!_#ڄ*>2#:$G:_+=ʣ*+F#p+×*q͏/: "@ 4:"!+o&͙ *,-*:ĥ4+ͥ4>: 4ͤ ++: "#*:"+ *+#~ + 4+*$"!/͏/E+>( 4!~=+ 4#1+>) 4/*! : G~s+yOX+~s+"!t+***!͑ ʤ+: GyOړ+"!å+{2 "@z=2",+,͝ (,*,",<, ,<,/!q,j-(Y/,Ͷ,ͦ ! %,! %,! %,!R /:!͝ 2!!Nz6O,6#s#r!?,*!^#V*!&)^#V"!O,,#~#fo~#foG~# “,f2!@ڧ,W ,~#ʫ,@ڽ,«,y-,{2!*!###~#fo^#V,*!zʀ,,2:N -NÀ,2!À,=O!! :! )-@3 wD6:!2!2!2!2"D6!P-!<"D!"J >k-k-G-·-e.ұ-ͭ.ʵ-O > Q//_-{ ‹-22ʵ--·-e.ұ- †-÷-x--Q.F.-!F.-Q."!O../2c!O../O> 3O.5.Q.5 <O.=o&) s#rO.!.|0@2"1*c!"3:q! ].*$*$:s!g!M:$ͭ./ Ž./> 4=€.r.. 4r.͞0~#ʫ.. 4Ü..//o/gí."F*H͑ .*J͑ /)L*D"q#w*(:?Oͭ*({_zW/*F}o"H"J/*F*J͑ :/bk.:/>M/*H{OzG*( ~"F2t!> 2q!2r!ͤ>2,:%2s!><2t!>2q!:%2r!* 5:%ҋ/wäͪ/*3"c!*1#|ʨ/+"*$"-*c!"/*$,&"-*c!."/*/"c!*-"!"/j-0ͯ0j-/ͯ0e-31L-./d0.ͯ0> Q//A0 J0[0g0p0|0@20310d0@22[0> Q/03100E-/2c!0/O> 30͞0~#ʔ0ʜ0|0@2À0~2c!#À0Շ_*^#V*^#&"!"c!W,* 0*F> Q/#~0#~2c!0O@20y 02210:2!2!f!!,1Oz(1:!1.1>2Lͥ1ʎ1:g1*$> Q/>22`1ͥ1L1"Î1:%> ą!*͒1*͒1* ͒1:$G:G 5q#ž1:$_:G*~*~*~ °1G:$1*$> Q/>2221:$1ͥ11":$ G:e!ľ*c!|O’2:q! ’2x g2’2 * 5:s!ڄ2:,:s!„22,+2t!3y:s!2* 5w>2q!:,~22,*c!!"c!!"3ͭ*$%"3'3:s!'3"c!xͅy3xD3:%2r!3!%> ͅ*3!c!>w#J3:%2r!:q! Z3* 56* 5F:r!wҲ3/ ͅ Ž3ò3!* 56 ø3* 5:t!3w:O!%3G:"3> ͅ33*$a":t!ͅ3!q!~wG@2 4x 4G* 5:%4wOx5O! >a4* 5y;4wxf4l4ʀ4 \4>^ͅx@ͅ!&o4!,N _4#~ͅt4>-\4~ʗ4 ʗ4# 4†4͏/ͥ4/Ϳ G~ 4#®4:5ͪ/6^#V#~#44/*4*`i~#fo#|+4"ͅ45=4/*$&.!5*"75B5<5>?5:&:,>> Q/*U#*s":u"d5d5o> -w55 f5>-f5:l2c!:*#—5:s"ʗ5:u"ʗ5>V5:s":!5:u":!5N:!5!"6>#5!v"6>!5>-5No&#yx}5>2{6:t!+6@26>+2t!6~_#~6 6ɷW,D6!"$#-6,"25ɯA62"2"2":v!ͤ!!w*>ġ8*:!͡8!!!8~8#8~88͗8“6!87*:"£6!!͗88!!8͗888E!!!!8!!8͗88:X#6*8:X#86*8:"8:"7*8:"87*8:/"7*:"8*8:"478:"08*:"V7!":!V7*:"V7* /88:"t7*8:"8ü78*:#¹7:!ʼ7*&|*¹7:¶7*|¶7*|¶7;L|ʶ7ü7* 8!!82!~82!: G**wA8:!<2!#7*6*:=w*:!wͭɷ~ 8# 82! &8:!G:!! =8_<2!*p *!.:$€8:%_|ʃ8ڀ8O:"ڀ8*͎8~ͅ# t8Æ8"͎8ͅ:A@2c!:!!!G: p#=¥8b8x:/:!9>998:n83/86!1j-\9!8v,:!3 9:zN9xQ9 +~͋ x82Q9W98!+N#8 8y:9 '9bk '9K $9:!dQ9:!*&>: :p9> Q/> @2>@2c!~͒:>2c!> @2#N#F#xʭ9##~͒:# x¢9h:~::!:%}_9::#~#fo|}:!n:::%}9}9> @29> @22::k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:?:#^#V#N#F##N#F#^#V# >8/! L-/E-8 ښ:@2>^@2@@2!ͱ:!~:W#!s !h:ɯ2Y#:X:2X#!e:!b!  !~#:;~# ~w::; =;2Y#2X#Ͷͦ !!s !as *&"))!;E><;@.;~3 G4T3 O!;#~;#™;~™;~>:;+~>1;>.;>?PACPOLFFFFHHHHIGUPNRRBLBTCFHHPSUPXXXXXDRRSADCFPRMLMLSOJPPMAWWIGMITPIEE>J<>9P4Ts<DT<0s<:s< T<<<><4TN=D<PD=D= 4T=O=>O=*;"N>_C.=2u"x2s"2t"4T.ʆ=4T4T=OD=-> =!># >3 OP=:!->:!e>N>x2s"Æ=x2u":s"ʆ=>:s"=O:t"4>4T?>D?>N>Ï=N>Æ=v">"><o&px2t":s"=Æ=x2t"=:s"2*#F>!#E";"2v"2"2s"2<"<2;"!#EW>2t"_CDʧ>ͿB!:;"ڟ>ʟ>xyœ>G2s"2t"O4Tz>:t"?>4>4TDÉT:!*&}>+"&ѯ*${_W+~ >"$:!*&|?#"&*"*7*$ #͑ .?w# ?"$5?!"&͛D*u##K?*u#+"u#Ei?:"p?*"y s?*9"#"9"*"""Eʓ?:"š?*"s?*9"+"9"EQ?!"9"͸?*"#""*"+""E~?*$*&*"+""͸?!"9":"G*"1G @uH @*"y s?*9"#"9"͉T+@+@ +@͉TD4T1G??""x2""&"$@ c@_!@@:"/_!y#w{ѷG:"/Z@ʓ@G:s#2s#x~*9#|¥@}~N~~*3#+|¾@}~͜Q~~HTͭ@*3#+4TO:!yĕA4T@͉T*7#ͿBO:!yď"w#O:!yď́ "w#yC!A:A!qA~#lAIAgA~SAgA#~lAGExlAlA##:A            XO@BDA Z@4T·AeBBG9?4TO4AGB:t!+Ah& B~x D_!9D^DW! FDV"*u#"#*w#"#*;""#:y#2#:"2#:#2":#2y#*#"u#*#"w#*#";"!"u#!"w#!";"ͣD:!şo&"w#äD*^#g*u#D|}D:*U#*w#}o|DD}D::#:"/s"~2E# E*#:s"2Ex.E2 #GNE:!;E: #/Gx^E*L<½EE‰E:!‰E*9"Ϳ !:!! " 6 áE:!*"!E:!*9"!E*;":!:!ʴE*!:!!ED6GͿ ! "~##0E>*E~0Ex#~#~> :"2":s"2*#2 #:< FF2$2$2$2$2$2s#LG;L8F#~LHFx|@*5#p#6"5#ɯQF*7#{OzGkF*3#rF*3#*5#}o|g ʈF}|##~++<ʹF=>ʹF#~F*3#+͜Q‹FùF*9#N‹FF^#V#~F*3#*5#{ozgG GE2"$G*7#1G+~7G#͉TOGD*GDIGE*G4TG@GE@.:!4T#OFG͖IgH!#F4TGPHGH%H+H,G-G.G/H1G2H!s">gHU=2 #kH:s"2*#gH!s"G!"2"G!t"kH>gHH<ͪIG!u"G!`".H!" H!">gH͒<2"gH!_".H!^".H!">gHH<!"JH2r"ͭVgH~gH2c"C<""*##"#4THÔHE:".H!"͖I_I7IWIH=ICIII,H- I.I//I1I2$IcIhImIcIcIII,cI-cI.cI/cI1cI2cI2 #!s"͌IH!t"͌Iͼ>ͪI:s"2*#_I!s"H!u"H!"2"H!"2"2I!"\I!`"LI!_"LI!^"LI!"ͼ>ͭV_I!"ͼ>oIoI*&|~I+"&_Í *$"$_I*#+"#s;}#ʦI##ÛI^#V2 #!"~ ڿI> w=>I/2"!s"~wIO:"JyIJI2"yD$J7J$GJyDUGM*7#ͬD3Jxy0J*7#@|@yDWJ TJQJ:"Q?WJ9?͝?9?DʍJ|@DʓJ$DʂJo|@}*7##A*7#eBÖJO$GyDJ́HM*7#y JJ:"J~?JE??E?*7#x`By*7#}H͕@K *K2#D K*7#@D"K *K2#KEK"K2!y2#x6#"7#*5#wG#6"5#[K*7#eBMDD!#͑ M!#͑ M!#͑ M*7#OF#ÔM͉T ND N͉TN4T4T:"2":s"!t"'N<(N~$_N$_N! $$OwO#FN>GyxhN! $ ^#V#~=w*9#KF! $~w#~w#~wûN! $s#r#6*#N! $w#w#wzW{_>=! $w#~w#~wN! $>w#w#w:$:O*|ʫOcR͑ O2#O`Q* y !hQN#F#xEO]O4O#! /OdQ < „O „O*|„O*9#KFáOÍO <  o&+KF | }:`QcR2#OdQ`QDM;L[ ͗ OyjRODM|OO2"`ia y *7#DM+6#*9#}O|G*7# "7# :#1P!͖@! P[Q!:!ZͭxP:!P͗ P!;$:5$nP!:$~nP5…P!*$:5$œP5œP:"ʜPZ"w#w#w21P:5$PZs :5$=25$ZP*7#y #DḾ *9##*7#+ #"7#*9##"9#[Q2͉ |#Qa  Q+|P#Q:!2#QZ"6#6*7#y DM*9#́ *7# "7#+6*9#6́ *9#͑ >]Q>eQɬ###8"g#S#|##j#d################:QR*|QRcR͑ ҹQDM;L[ ͗ QyFSOQDM|QR2"`ia *3#*5#KFDM*3# bk 6"5#!hQ~#foRVR#R!*#!hQN#F#x8R͈O'R! !RSR~++~w#~w*#&}ɷO*5#KF%R![ ͗ ڏR|RDM*3#:!²R!)T¹R}ROùR`ia *5#}O|Ga *3#*3# "5#6!hQ~#foRR#Ry~++~w#~w:!>SF+N T][ a y #`i#y [ y *+s#r#q+w#w#wɷO:S*7#́ *9#%gS![ ͗ wS|SDM*9#!!d)TʗS |SßS}SOa ́ *9#*7#y DM*7#*7# "7#+6*9#KF!hQ~#foSS#Sy~+~+S~~_#~WBK[ ́ *́ a y M +s#r#q!#/w}~DTHT#~*5#|bT}bT*7#~bT*9#|nT}>7N~7*|!7T}~™T͝T+~*7#+|¹T}¹T*5#+~ʹT*3#+|T}>7͜Q~7*|72#7:!*7#$GDO:_#<UUYO:!U2#EʵU*""#*""#:"2#:`"2#:_"2#:^"2#@ʵU.U ʏUD¥U:#> U*#&y *#"#|> U>!#ww˜U*#+"# ʵU4THU#~ ҥU+4TPU:#ʾU4T#OFs;E!UxTV#U##U^#V!#F4TkVVV VVV!#V!#V!#V!#H<!#NV*#*#́ :#V:#V:#V"#"#TV~6!#F4TʏUDZV> U!#F_C͉TʄVZV ZV4TʏUD„V}U!#F4TH Customer: Last Name: {lname } Address: {address } City: {city } State: {state } Product: Product: {prod } Description: {desc } Part Number: {pnum } Price: {price } a {lname <} b {address <} c {city <} d {state <} e {prod <} f {desc <} g {pnum >} h {price >} a Joel b c d e GLUE f g h a Five b c d e PAPER f g h  0.10 when am <= 200 dis 9,999.99 = quan * 0.15 when am > 200 tax 9,999.99 = am * 0.065 when state = CA tax = "No tax" when not state = CA ship 9,999.99 = quan * 0.05 when state = CA ship 9,999.99 = quan * 0.10 when state <> CA tot 99,999.99EOBRÍRrIúSX Yü Z_` õs u-!9DMOO*3|^OP! O*3|qOP!"6>20!0!L O*<"L*<"LOO*3|ʦOP!QO!0O"<*<|O!Q!!cOO*3|OP*<##~#fo"<*<####~#fo"<*<"2LÜRÑbü !9DM`iw#w*d/*J/R*3|R͐R*D/͓R`is#r*D/͖R͐+|RRêR*3|RÒS͐+|S!S!!c͙R*@/#"<*d/*J/\S*3|\S*@/#"<͐R*D/͓R`is#r*D/͖R͐|YS\SS*3|gSÒS͐++++|ʆS!S!!c͙R*<"<*<"MISSING Sü cYae!9DM*L*LS!X!!cͽSX>23! 6<*L`is#r*L! s#r͐! s#r͐*LңX͐*LңX͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} T! ^#Vr+séT͐n}T͐`is#r! w#w͐n}0U͐n*/}0U͐n*/}0U! ^#Vr+s`i^#Vr+sns! ^#Vr+sT! ^#Vr+s6͐ ! s#r͐*LҠX͐n}ʊU͐n*/}ʊU`i^#Vr+s! ^#Vr+sZU͐n} U`i^#Vr+sàX͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐w#w! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}PW͐n}PW͐n} ‚V`i^#Vr+s! ~#fo͐s#r=V͐n}>ʮV͐n}-ʮV͐n}!ʮV͐n}!9DM!"<*L`is#r͐|Z͐##! s#r͐~#fo`is#r͐~#fo|Z͐~#fo! s#r͐~#fo! s#r͐ ! s#r͐! s#r͐n͐n}¬Z͐n}ʬZ! ^#Vr+s! ^#Vr+sxZ͐n͐n}Z/Z͐##Z/Z*<#"< Z!Z!9Z gü cYae!9DM!"23*L! s#r͐! s#r͐*LҼ_Z! s#r*9|[͐++++|[_44`is#r͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} U\! ^#Vr+s<\͐n}i\͐`is#r! w#w͐n}\͐n*/}\͐n*/}\! ^#Vr+s`i^#Vr+sns! ^#Vr+sq\! ^#Vr+s6͐ ! s#r͐*Lҹ_͐n}]͐n*/}]`i^#Vr+s! ^#Vr+s\͐n}3]`i^#Vr+sù_͐! s#r͐! s#r͐! s#r͐͐s#r! ^#Vr+s! s#r͐w#w! ^#Vr+s! s#r! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}^͐n}^͐n} %^`i^#Vr+s! ~#fo͐s#r]͐n}>Q^͐n}-Q^͐n}!Q^͐n} ON DISK_ÑÓeg!9DM!"L!"<`iw#w͐8|?`͐)Lw#w`i^#Vr+s`*NN"RN*3|º`*d/*J/Һ`*RN*PNx`!"L*d/"ZNú`_*L*D/!_`is#r͐|ҧ`*D/_E`*J/#"J/*D/"B/_E`!9`jjÉlü !9DM`|a*3|a*<|a*<`is#r͐n} a`i^#Vr+s`͐n}#a`͐`|a`*B/*@/*L*Lbja!a!!`*3|uaa*XN|a*ZN*XN"ZN!"<*<8|a*<)L~#fo"`N*`N|a*`N~#fo*h/a*`N~#fo*XNs#r*`N##~#fo"`Nêa*<#"<Ïa#a`!9 bIk !9DM͐"<*b*b;b*<#"<b*bblbib*<#"Dc+c͐3n} _c`i^#Vr+sDc! w#w͐3n}ʬc͐3n} ʬc! ^#Vr+s3`i^#Vr+s3nsgc͐36>23!c!9!9DM! w#w͐ n}-d! ^#Vr+s! ^#Vr+s d͐|Pd! ^#Vr+s! s#r\d͐ ! s#r͐ n&||d͐ n&|ғd͐61! ^#Vr+s6Xe͐+`is#r͐ n&|ҽd͐ n&#sXe͐ 60! ^#Vr+s`i^#Vr+s͐|e͐ n&|e͐ n&|Ue! ^#Vr+s! s#r! ^#Vr+s͐Le! ^#Vr+s! ^#Vr+snse͐61XeÞd!9geü !|e!!cdePROBLEM IS TOO COMPLEX!9DM͐! s#r͐`is#r͐|e͐ |e͐~#fo`is#r! ^#Vr+sñe͐| f͐`is#r! w#w! w#wf͐! s#r͐|f͐! s#r! ~#fo####s#r͐! s#r͐n͐n}|f͐n}|f! ^#Vr+s! ^#Vr+sHf͐n}Ÿf͐n} Ÿf! ^#Vr+sÆf͐n}°f͐ g! ^#Vr+s͐~#fo`is#r͐|f͐|f! w#w! w#w͐`is#rf!g! 9g%tb Is!9DMg*9+|9g*3|?g!g!44g`is#r͐|ag͐g*6|wg!"6*6g!3!0g!"9!g*3|g!"6g*9|g*3|g*44} gg(g!9gÑÓeo!9DM*d/! s#r`i6#6*d/*J/ig*L*D/͐#g! s#r͐͐Eh*D/"B/*J/#"J/i͐`is#r͐*<ih*D/gg*D/"\o-oo!ʠoëo*<͒l*<͏lëo*<͏l*<͒lëo*<"<*<͏l*<͒l*<*<͏lëo*<͒lëo*<|ʸo*<6 l!9 !9DM!"VN͐"<*:20!44!0s!0!!ts#|s!0!#ts#|s!!0s"6*6`is#r͐#|s`iw#ws`i6#6͐͐st͐+|s*6!st͐`is#r!0!͐####$s!9?*.tÖt(u!"9*9#|Pt!"9!"9(tat*9*9at(t*3|qt*9|st+t*9|”t*944n}ʔt(t+tvtÜtq !9DM*9#|t*9*9|t!"9u!"9*9`is#r͐!9*6͙t! s#r͐|u!"9u͐?"9!9!9DM*9|Ҳu*9*9Ҳu*9#"9+9n`is`in}mu!"9u`in} †u*9#"9446òu`in&|ҝu`in} ¯u*9#"944`ins0u*9|u*9#"9446!9u !9DM͐ |u͐ ! s#r`i6#6'͐ ͐! s#r͐|fv͐|fv`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 v͐ ͐u!96944n}ʔt(t+tvtÜtq !9DM*9#|t*9*9|t!"9u!"9*9`is#r͐!9*6͙t! s#r͐KOQÑ6;iI+RSXTÌTWUXõûT k   - !9DMO!"6*d/*J/tP*3|tPO*H/|ʗO*H/|җO*D/n*/}¢O*D/ O\O*D/ O`is#r͐|OO*D/ O\O*9|O*D/ O\O͐|UP͐+| P*D/!:O!"9*F/";JP͐|'P͐+OJP͐|:POJP͐|JPO*D/ O\OO*3|kP*D/ OtP!O$O\O*3|ʓP*d/+"X/*X/*\/+"Z/Q*P/|ҰP!!*X/'OP!!*L/'O*O! s#r͐|PQ!0!3O-O!30O!Q!33O#|QQ!Q6OVO!9O*6|ʘQ!!*n>|)R*n>)))I6*n>#"n>RCR8Z2[å[fkFmC\#]!9DM.R*3|XR1R*>n}fR*~>)bN͐s#r*~>)N*Js#r*>*D/|ҤR4RÅS!"n>!"p>*>n}ʅS*>n} 9S*>7R"r>*r>|R*>:RÅS*r>| S*r>| S*p>*r>=RÅS*r>|)S*>##">*n>##"n>*r>@R*p>@R*>#">*n>#"n>*n>*p>);~#fo*p>)'<~#foڂS*p>*9҂S*p>#"p>ðR*~>)N~#fo*JºS*~>)bN*~>)Ns#rs#rS*~>)N*Js#rS8ZS*~>|S!"3!"n>!"p>T*~>+"n>*~>"p>*3|T*n>#"n>*p>VT*n>)bN~#fo|ST*n>)bN*n>)bN~#fos#rTdT8ZY2[[T*~>|T^T!"3*3|ŠTaTÞTfkFm`];km!"|>*D/+"x>!"p>*p>#"p>|?U*x>#"x>n}?U*x>n} TòT*x>͏T"r>*r>|T*x>͒T?U*r>| UòT*r>*p>͕T!"|>*r>|##"p>*x>##"x>òT*|>|MU͘TUU!͛T{Ukg^]_NÅüÑn:2[!9DMZU!"~>*~>#"~>|X*~>)bN~#fo`is#r͐|U͐++|U*|>+|U͐+++|U*|>|UÌU͐|V*~>)bN͐s#rÌU*~>)N~#fo"^N*~>)N~#fo"`N*^N)J~#fo! s#r͐|[V͐|[V͐]UX͐p|tV͐`UX*^N*`NX*^N#"^N+)J~#fo! s#r*^N#"^N+)J~#fo! s#r͐)))="z>͐|4W͐|V*]>#"]>*z>!M>cU1W͐+| W*z>!M>fU1W͐++|$W*z>!U>iU1W*z>!U>lUW͐|UW͐*z>oUZUW͐|ˆW͐)<6#6*z>͐)))<rUW͐|¯W͐)Y<~#fo*z>uUW͐|W*z>͐8)))IrUW͐p|W͐)))I*z>rUtV͐++++|XxUÌU!95Xfk0aNÅüÇr*D/+"v>!"n>*n>#"n>|`Y*v>#"v>n}`Y*v>n} mXCX*v> X"p>*p>|ڇXCX*p>|žX*n>)I^#Vr+s!"r>*r>*9]Y*r>)))="x>*p>|X*x>*r>!*n>&X#XSY*p>+|Y*x>*r>!*n>&X)XSY*p>++|7Y*x>*r>!*n>&X,XSY*x>*r>!*n>&X/X*r>#"r>äXCX2XnY0ac!9DM͐"n>*n>͐Y*n>)Iw#w!"t>*t>|Y*t>!*n>hY6*t>!*n>hYkY*t>#"t>ÞY*n>#"n>}Y!"n>*n>|0Z*n>)bN*n>)N*n>)Ns#rs#rs#r*n>#"n>Y!"J>Zü !"~>*D/##">!"n>!"p>*p>|Z*>n&|ڃZ*>n&|ڍZ*>n} Z*>n} ʶZ*~> ?*>n&"~>!"n>*>#">*p>#"p>YZ*n>|Z*p>|Z*>n}Z!"~>*~>| [*~>| [*n>|[![!!d;ZBAD SEQUENCE NUMBER*~>)bN*~>)N*~>)Ns#rs#rs#r!"J!"n>*n>|ң[*n>)N~#fo*Jҙ[*n>)N~#fo"J*n>#"n>g[÷[fkFm#]maa*>ͨ["p>*p>|[*p>|[*>ͫ[*p>"p>*p>ͮ[!ͱ[!"p>*p>#"p>*9A\*p>)))=n}>\*p>ͮ[*p>)))=ʹ[\O\äa#]Pb!9DM*~>)N~#fo"J͐|ʀ\͐|…\F\͐I\͐I\͐|©\L\*D/">!"n>!"p>*>n}!]*>#">+n}+\*p>I\*n>#"n>*p>);~#fo*p>)'<~#fo]*p>*9]*p>#"p>ÿ\)]c!9DM*J#"J+)J͐s#r*J|^]&]*J+"Ju]0aÑnkeY!9DM͐)I~#fo"]>!"n>*n>#"n>*9S^*n>)))="v>*n>)<~#fo|]*|>|]*n>)))<*v>c]Ó]*n>!͐f]!M>c]*n>!͐f]!U>c]*|>|B^͐!1i]!1*v>l]P^͐*v>i]Ó]o]͐͐r]^LcBdd[eefh!9DM͐>d—^>_>e£^>_>f¯^>_>g»^>_>h^>(_>i^>3_>j^>9_>k^>D_>l^>O_>m_>U_[_!j^[_m^[_p^[_!j^[_!j^[_s^[_!v^[_!v^[_y^[_|^[_u_ÅüNæ]u!9DM*^N#"^N*^N*`N.a*^N#"^N+)J~#fo"n>*n>)))="v>*^N)J"x>͐>_>=`>_>M`>_>]`>_>z`>_>ʗ`> `>ʧ`>`>ʷ`>"`>`>.`>`>:`>aa*x>*v>`_a*x>*v>c_a*x>*v>c_!6*v>`_a*x>*v>`_!6*v>c_a*x>*v>f_a*x>*v>i_a*x>*v>l_a*x>*v>o_|`*x>*v>f_a*x>*v>o_| a*x>*v>f_a*x>*v>r_a*^N*6"^NÄ_!9DM͐k>͐?͐)))jac!9DM*J |ڃada͐*J)Jga*J*6"JöaIk #]h*D/!44ͧa!44ͪa!mͭa!44!HbͰa"p>*p>ͳaͭa!44!LbͰa"p>*p>ͳaͭa!"p>*p>44n}Fb*p>44n}+ͳaͭa*p>#"p>bDISNET\b#]h*D/! cSb"p>*p>YbVb*D/!cSb"p>*p>YbVb*D/!cSb"p>*p>#|b!Vb*p>YbVb*D/"v>!"p>*v>n}b*v>n}*b*p>#"p>*v>#"v>b!Vb*p>Vb+-/cü !.c!!dcTOO MANY SYMBOLS OR CONSTANTS[cNÅü!9DM*^N##"^N*^N*`N{c*^N)J~#fo"n>*n>)))=!44Oc*n>)))=6*^N#"^N*`N@d*^N)J~#fo"n>*n>)))="v>*v>!3Oc͐|c!44*v>Oc0d!44*v>Rc͐++|0d!6*v>Uc!44*v>Xc!3!44OcêcHd*`N+"n>*^N#"`N*n>"^N*^N*`Nmd*^N)J~#fo"n>*n>)))=!44Ed*n>)))=6*^N+"^N*`Nd*^N)J~#fo"n>*n>)))=!3Ed!44*n>)))=Ed!3!44EdÜde>244*^N#"^N*^N#"^N*`NYe*^N)J~#fo"n>!44*n>)))=d*n>)))=!44d egeüÅ*^N#"^N)J~#fo"n>!6!44^e*n>)))=!44ae*^N#"^N*`Ne*^N)J~#fo"n>!44*n>)))=deÜeeüÅ!9DM*^N#"^N)J~#fo"n>*n>)))=!44e͐|7f!6!44e!6!44e*^N#"^N*`Nnf*^N)J~#fo"n>*n>)))=n}kfnf7f*n>)))=!3e*^N#"^N*`Nf*^N)J~#fo"n>͐|ʼf!44!3ef!44!3e!3*n>)))=eÂffüv߄.vNÅ*^N#"^N)J~#fo"n>*^N#"^N)J~#fo"p>*p>)))=!44f*^N#"^N)J~#fo"p>*p>)))=!44f!44f*^N#"^N)J~#fo"p>*^N#"^N*p>|ʦg*^N)J~#fo)))=!3füg*^N)J~#fo!3f!3!44f!44f!6!44f!6!44f!44*n>)))=fhücÅ*^N#"^N)J~#fo"n>*^N#"^N)J~#fo"p>*n>)))=!44h!6!44h!6!44 h!3 h>21*^N#"^N*`Nh*^N)J~#fo)))=!0h!3!0h!0!1 h!44!3huh!1*p>)))=h!9DM!"n>*n>*94i͐*n>);~#fo*n>)'<~#fo*i4i*n>#"n>h*n>DiIü !9DM!"9*F/|aij*D/!9>i*F/":!"_>*_>9n}j*_>9n} Ÿi*_>#"_>Çi*_>9n}¯ij*9#"9*9|i!j!!dAij*9);*_>s#r!"a>!"c>*_>9n`is`in} sj`in}sj`in*/}`j*a>|9j*_>960*a>#"a>`j`in*/}Pj*a>#"a>`j*_>969*c>#"c>*_>#"_>9n`isj*9)'<*_>*9);~#fos#r*a>|Ҥj!"a>*9)Y<*a>s#r*a>*c>|j!k!!dAij`in}j*_>#"_>+96zi!9TOO MANY COLUMNSTOO MANY DIGITS%kc!"]>>2M>!U>"k!"_>*_>|dk*_>)<w#w*_>#"_>Bkrkk !9DM͐n}23>23!l!3ik"_>*_>|ڥk*_>*3*/}·k!*3*/}k!! ^#Vr+sn}23! ^#Vr+sn}23*3}k*3}l!'>2 3!3lk!l!3ok"_>*_>|.l*_> !m!3ok"_>*_>|Ol*_>d*3}T†l*3}Fjl*3}S†l*3&|چl*3&|ڋl!'*3&"_>*3}S¬l*_>õl*_>,!'+-*/=%#MIN MAX CNT AVR REC SFO SFH SQR ABS EXP L10 LOG SIN COS TAN ATN PLY NLY SGN MVR MVL CUM CHG PCH PCT PRJ INC GRW NET DIS PAS RND Om ü !9DM!"_>*_>#"_>|ғm͐n}ʓm*_>3! ^#Vr+sns]m*_>36!m!3Im!3!!dLm ILLEGAL SYMBOLm!9DM!"_>*_>#"_>*9ڏn*_>)))="g>*_>)<~#fo|@n͐|@n*_>)))<*g>m*_>)<w#wm*_>);~#fo"a>*a>*F/en*g>6m*D/*a>"i>*_>)'<~#fo*i>*g>mmnÅüN]uæ߄cywK.vÂxv}yyÂzz!9DM!U>͔͐n!M>͐͗n͐>n>p>o>p>o>&p>o>7p>+o>rp> 7o>ʑp> Co>p> Oo>p> [o>q>go>-q>so>Uq>o>}q>‹o>ʪq>—o>ʶq>£o>q>¯o>q>»o>q>o>q>o>q>o>q>o> r>o>r>p>4r>p>irÅrÅr!6͐͗nÅr!6͚͐nÅr!U>͔͐n!M>͐͝n!6͐͗n!M>͚͐nÅr!M>͔͐n!U>͐͠nÅr!U>!M>ͣn|Ҹp!M>͔͐np!U>͔͐nÅr!U>!M>ͣn+|p!M>͔͐np!U>͔͐nÅr*]>͐ͦnÅr*]>!M>ͦn!M>͚͐nÅr͐!3͔n͐ͩn!3͚͐nÅr͐!3͔n͐ͩn!3͐͝nÅr͐!3͔n!6͔͐n!3͐͝nÅr͐ͬnÅr͐ͯnÅr͐ͲnÅr͐͵nÅr͐͸nÅr͐ͻnÅr͐;nÅr͐nÅr͐nÅr͐n&|g}o|1r͐6År͐n&|g}o|`r͐n&|g}osfr͐6År!6͐ͣn͐ͦnÅrßrÉ tt:m*@/#"k>*D/͊r*f/*:r*:*f/#͍r!"_>*_>#"_>*9ڶt*_>);~#fo"a>*k>*a>+"i>*_>)'<~#fo"e>*a>9n*/}=s! *e>*i>#"i>͐rr*_>)))="g>*9|ts*g>n}ts*a>*e>*i>#"i>͓rr*_>)Y<~#fo*g>͖r*g>!3͙r*3} ¨s>023ûs*3}-»s>023>-23*_>)Y<~#fo "c>*i>*e>"g>*a>*e>+"a>*g>*i>ʈt*c>3n} !t*g>*i>t*g>+"g>#6 tÈt*a>+"a>#9n}2m>*m>*/}Lt*m>*/}lt*c>3n}-lt*g>+"g>#*m>ss*g>+"g>#*c>+"c>#3nss*c>3n} ʳt!**e>*i>#"i>͐r*6#"6r!t͜r!9DM! ^#Vr+s!|t! ^#Vr+s! nst!9DM! ^#Vr+s!|[u͐*;Iu! ^#Vr+s! ^#Vr+s:nsXu! ^#Vr+s6 ulucvÅ.v!9DM͐n&|g}o|ʙu͐6*6#"6u͐n}¦uu͐n}¼u͐`uu*6`is#r͐cu͐͐fu͐iu*6͐u͐6!9 vÂxÅ!9DM͐v!q7͐ vCv÷|cÅü!9DM͐!71v!=w!74v>0rv>ʙv>1~v>ʪv>2Šv>ʪv>3–v>ʺvv!7͐1vv͐6*6#"64w͐7v4w͐64w!7:v`is#r͐|g}o|w͐| w!8͐=vw!8͐@v͐n͐s!9ab>1ac<2a|d<3ae*0=oaof*-og*-:=p:*:=q!i3p*=rq!l3r-r^/h+:+=a.Åw÷|Å!9DM͐n&|g}o|ʲw*6#"6͐6Ox͐n&`is#r͐6@͐!8|w!Xx!8w|w͐6Ox͐|g}o|x`i^#Vr+s!8!8͂w͐`is#r!8͐|w͐n͐s!9bac*+dea+/-=gag/g+:=hi*ah/+=gag/g-c*g+=a.Ôxæ÷|߄!9DM͐n}ʻx͐n&|g}o|x͐6*6#"6Qy͐n&`is#r͐6@!i7͐ͅx|y͐4`i^#Vr+s͐!7͈x!Zy!7͋x|4y͐6Qy͎͐͐x!7͐͑x!9ab-b-ac+/:=p:*:=q!e4q*q!i5/d+p*=a.Æy !9DM͐ n}›yy͐ `ìy`in&|g}os!s͐ n&|g}o`i͐ ̓y!9yc !9DM*6! s#r͐n}z͐yyz͐`iy`in&|g}os!8`iy*6͐bz͐6yz!c!`i͐y! 9Ñzy}yü!9DM*6! s#r͐`iͅz`i͈z͐͋z`i͎͐z*6͐z͐6! 9{æcü÷|!9DM͐n&|g}o`is͐n&|g}os!9͐z|g{! 6! 9z͐! 9z{{! 6͐! 9z!9! 9z|ڵ{! 4!|! 9z|ʵ{͐6Å|* 9&|g}o|{!|! 9z|{͐6Å|! 9͐z! n&||͐n&|g}os! n}9|!q9͐zn|! n}U|!y9͐zn|! n}n|!9͐z͐n`inѯgW|g}os!9ea*d-d-a+fa+/=a.a:*:=q:!g3*q!j4/a*a+=a.|NÅüæ:!9DM*6!> s#r! !9 s#r͐9!@ s#r͐9!B s#r!J ^#Vr+sn}+a}-}*ʝ}/ʻ}>}<~.M~:S~^w~|ʧ~=ʾ~!~0ʍÞ͐@͐Bͺ|͐@!9 s#r͐@͐Bͽ|͐@!9 s#r͐@͐B|͐@!9 s#r͐@͐B|͐@!9 s#r͐@͐B||}͐Jn&!J ^#Vr+s͐B!9 s#r͐@͐B||3~͐Jn&!J ^#Vr+s͐B!9 s#r!0͐@͐9|!9 ~#fos#r͐@͐9|͐B͐@|͐9͐B|͐@n&|g}os͐@͐H!J ^#Vr+sn&)))|͐@!9 s#r͐H!J ^#Vr+sn&)))!; s#r!J ^#Vr+sn&!= s͐96!= ~5o}{͐@͐9|͐;͐9ͺ|!; ~#fos#r<͐9͐@|!͐@|͐H͐J+n&)))͐9|!9 ~#fos#r*6͐>!|!D9!9DM`iw#w͐ n}͐͐ n&|g}o! s#r! 6#6͐ #! s#r͐ n&|g}o! s! n&|͐ ?`is#r͐|ʬ`i~#fo͐n&s#r! w#w߀`i~#fo͐n&|g}os#r! 6#6! ^#Vr+s! 5\͐|͐͐! 9÷|!9DM͐!8͐!!8! n}cU!8!8Z>28!!!8>0s>ʂ>1>ʓõ!8͐ý!8͐͐|͝! s#rý͐6͐|ށ͐͐n&|g}ospb>2pc*0:=rs-=qa|qd*-qe*-:=t|f<0t:*:!g7*t*t+=tro*:0<1. !9DM*6͐!͐!* /"6T !9DM*6͐!͐!* /Q"6Ë !9DM*6͐!͐!* /͈"6‚ !9DM*6͐!͐!* /Ϳ"6!9DM`i6`in&|1! ^#Vr+s! ^#Vr+sns`i4!9@ !9DM͐͐!* /=!9DM`i6`in&|ҝ! ^#Vr+s`in&6ns`i4o!9!9DM͐ n&|g}o! s#r͐ n}͐ n}!ք͐|!!ք͐ n&|g}o! s#r͐ n}/͐|)!,!ք͐͐T͐|N!Q!ք`i6͐ n͐ n}”`i5n}{!քÑ! ^#Vr+s! ^#Vr+sX͐ n͐ nѯgW͐|ʸ!û!քք͐|Є!ӄ!ք!9 !9DM͐!6!!6͐ !9DM*6͐͐͐!* /"6!9DM͐͐n&|g}oss !9DM͐!͐!* /p|g}o! s#r͐ n}/͐|)!,!ք͐͐T͐|N!Q!ք`i6͐ n͐ n}”`i5n}{!քÑ! ^#Vr+s! ^#Vr+sX͐ n͐ nѯgW͐|ʸ!û!քք͐|Є!ӄ!ք!9 !9DM͐!6!O OO'OP P -!9DMO*3|=OOO*3|KOO!O*=I|O*3|O!!O!!!O*=I!3!O!3$O*=IҮO!O$OöO!O$O!!O!!!O!"n/!9 TAGGED WORDS REMAINING TAGGED WORD REMAININGPü f!9DM?P!P!!PP!!!GIP`i6A#6`i~#foZڠP`i~#foGI`i~#fo GI`i~#foss`i^#Vr+sXP9"KJ*KJ"IJ*IJ"IJ="OJ!"QJ!!?*KJPP!9PÑñQS2[!9DM!"=I*d/*J/QèQ*J/*d/`is#r*3|¨Q`i^#Vr+szʨQPP*3|_Q*D/PèQ*D/P>sQ>ʎQ>Q>ʔQ>‹Q>ʚQåQPåQPåQ*D/PåQ/Q!9úQ=^û^!9DM! ~#fon*/}Q! ~#fo#n},Q!S! ~#fon}+R! ~#fo#n}!R!S! ~#fon}=4R! ~#fon}-4R!S! ^#Vr+sn}!MR!S! ^#Vr+sn} cRMR! ~#fon&GIn}œR! ~#fon}"ʜR! ~#fon}'ʜR!S! ~#foʹQ|ʴR!S! ~#fon&GIn}S! ~#foͷQ! ~#fo*GJѯgs#r*GJ*HJ}R!S\S! ^#Vr+sn`is! ~#fon}CS! ~#fon`in}CS! ^#Vr+sS! ~#fon}\S! ^#Vr+s! ~#fon}S! ~#fon} S!S! ~#fon} œS! ^#Vr+sS! ~#fon}ʸS! ^#Vr+sÜS! ^#Vr+sn} SøS! ~#fo#6!S!9Tj__cü û^=^cÖfÂÄ!9DM*D/`is#r*D/"?I*B/+"CI!"EI! w#wS! s#rzgZ! ~#foS|eTS|U! ~#fo+n}=U! ~#fo++n}?U*3|ʙT*D/S[! ~#fo|T! 6#6*@/#! s#r! w#w`i~#fo! ~#fo,U! ^#Vr+s!, U*D/S!([!!S[)U! ^#Vr+s`i^#Vr+snsT! ~#fo]U! ~#fo++s#r! ~#fo++s#r`i~#fo*?IU! ^#Vr+s!,ڢU*D/S!)[!!S[þU! ^#Vr+s`i^#Vr+sns]UdZ*3|U*D/S[! 6*AIn}"U*AIn}'$V*AI#"AI+n! s*AIn}!V*AI#"AI+n! n}!VV:V*AIS*AI*HJѯg"AI*AIn} NV*AI#"AI:V*AIn}dV*AIS|ʏV! ~#fo+n}=ŒV! ~#fo++n}?ŒV*=I#"=IdZ! ~#fo|¹V! 6#6*@/#! s#r! w#w`i~#fo! ~#fo"W! ^#Vr+s!,W*D/S!*[!!S[W! ^#Vr+s`i^#Vr+snsùV! ~#fotW! ~#fo+n}=tW! ~#fo++n}?tW! ~#fo++s#r! ~#fo++s#r*AIn}"ʈW*AIn}'šW*AI#"AI+n! sàW! 6! n}W! n}W*?I`i~#foT! s#rz>X*AIn};X*AIn! n};X! ^#Vr+s!,X*D/S!+[!!S[8X! ^#Vr+s*AI#"AI+nsWY! ~#fo++|°X*AIn}ʭX! ^#Vr+s!,ڊX*D/S!,[!!S[êX! ^#Vr+s*AI#"AI+n&TsMXY! ^#Vr+s!,X*D/S!-[!!S[! ^#Vr+s*AI#"AI+n&Ts! ~#fo++++|uY*AIn}rY! ^#Vr+s!,OY*D/S!.[!!S[oY! ^#Vr+s*AI#"AI+n&TsYY*AIn}Y! ^#Vr+s!,ڲY*D/S!/[!!S[Y! ^#Vr+s*AI#"AI+n&TsuY*?I++n}'[Z*?I+n&Ts[Z! ~#fo*'Z*D/S!0[!!S[[Z! ~#fo##s#r! ^#Vr+s6'! ^#Vr+s*?I+ns*?I`is#r;T! ~#fo|[`i~#fo*B/Z! ^#Vr+s!,ڹZ*D/S!1[!!S[Z! ^#Vr+s`i^#Vr+snstZ! ~#fo+"@/*J/#"J/*d/#"d/!"f/ T*3|[[ T*3|[[[*D/S!9D[û^=^ü _!9DM*D/##! s#r! ~#fon} v[! ^#Vr+sY[! ~#fo`is#r! ~#fon}"ʢ[! ~#fon}' \`i^#Vr+sn}[`i~#fon! ~#fon}[â[`i~#fon! ~#fon}[`i^#Vr+s`i~#fo! ~#fo! s#r6\`i~#fo5[*HJ! s#6`i~#fo*HJѯgs#r`i~#fon} O\`i^#Vr+s6\`i~#fon}"i\`i~#fon}'~\`i^#Vr+sn! sÄ\! 6*D/n}=ª\`i~#fon}ʪ\`i~#fo8[|\! ~#fo*D/*@/#! s#r*D/;[^`i~#fo! s#r*OJ*QJ! s#r! ~#fo! s#r! ~#fo`is#r*QJ! ~#fo##"QJ*QJ N]*D/;[!;^!!>[2^! ^#Vr+sz~]! ^#Vr+s`i^#Vr+snsN]! ^#Vr+s! n}ʛ]!"Þ]! s! ~#fon}^! ~#fon! n}^*QJ#"QJ ]*D/;[!<^!!>[2^^! ^#Vr+s! ^#Vr+snsá]! ~#fo6!"EI! ~#foA[! 9C^û^!9DM! ~#fon}"i^! ~#fon}'n^!! ~#fo@^! ~#fo*HJѯgs#r! ~#fon}*ʯ^! ~#fon}?´^!!^Öf!9DM>2GJ! ~#fon&GIn}_! ~#fon}'_! ~#fo#n&GIn}_!GJ4! ^#Vr+s^*GJ&a_! ~#fo+n&;^sa_! ~#fo++n}'a_*GJ&++}2HJh_*GJ}2HJv_ãdû^!9DMm_*3|ʏ_!_p_|_!_*?I`is#r`i~#fos_*?I*GJѯg"?I`i~#fo_!9_û^dÎeü !9DM! ~#fon}"`! ~#fon}'`! 6#6! ^#Vr+s%`! w#w! ~#fo_*HJ`is#6! ^#Vr+sn! s! n&|g}o"SJ! ~#fo"WJ!HJ5n}`*SJ*WJ#"WJ+n&|g}o"SJ!HJ5n}¨``*SJ*WJ#"WJ+n&|g}o"SJt`*SJ`*SJ "SJ`*KJ"UJ*UJ*SJ)"UJ`i~#fo+}2HJ! ~#fo|ʾa*UJ~#fo|ʻa*UJ~#fon&GIn}ja*UJ~#fo#n! n}ga*UJ~#fo##! ~#fo_|gaûaÝa*UJ~#fon! n}a*UJ~#fo#! ~#fo_|ʝaûa*UJ##"UJ++*IJ¸a*KJ"UJayb*UJ~#fo|yb*UJ~#fon&GIn}b*UJ~#fo#n! n}b*UJ~#fo##! ~#fo_|byb[b*UJ~#fon! nѯgW|g}o_|g}o|[b*UJ~#fo#! ~#fo_|[byb*UJ##"UJ++*IJvb*KJ"UJþa*UJ~#fo|ʕb*UJ~#fo"AI!b*EI|b*;I#";I+b!b!!_!b! ~#fo|b! ^#Vr+s*UJ! ~#fo+s#r!b!9cû^!9DM*AI`is#r`i~#fo! s#r! ~#foc! ~#fo*GJѯgs#r! ~#fon&GIn}yc! ~#fon}yc! ^#Vr+sHc! ~#fon}ʱc`i^#Vr+sn! ^#Vr+sn}ʮc!cyc`i~#fon} c!c!c!9cf!9DM! ^#Vr+sn&c|d`i6d`i6! ~#fo! ~#fobd! ^#Vr+sn&c|Md`in&|g}os_d`in&|g}osd`in}ʂdʂdʈdʎdʎdÔd!Úd!Úd!Úd!Úd!9*?I*CId*?I#"?I+n&GIn}d*?I+"?I!äd!dÖf!9DM*HJ}2GJ!GJ~5o}(e! ^#Vr+sn! ^#Vr+sn}%e!d! ~#fon&GIn}Be!! ~#fon}'‚e! ~#fo#n&ds‡e! ~#fo##n&GIn}‡e!!ÔeÖf!9DM*HJ}2GJ!GJ~5o}0f! ~#fon}e!-f! ^#Vr+sn&GIn! ^#Vr+sn&GIn}-f! ~#fo+n&GIn! ~#fo+n&GInѯgW(f!+f!ãe! ~#fon&GIn}Jf!! ~#fon}'Šf! ~#fo#n&͑esf! ~#fo##n&GIn}f!!Üff!9DM! n&͙f|f! n& f! n&!9DM! n&Aͯf! n&Zͯ7**:Ozgq# ge!!ÔeÖf!9DM*HJ}2GJ!GJ~5o}0f! ~#fon}e!-f! ^#Vr+sn&GIn! ^#Vr+sn&GIn}-f! ~#fo+n&GIn! ~#fo+n&GInѯgW(f!+f!ãe! ~#fon&GIn}Jf!! ~#fon}'Šf! ~#fo#n&͑esf! ~#fo##n&GIn}f!!Üff!9DM! n&͙f|f! n& f! n&!9DM! n&Aͯf! n&Zͯ7Type: DEMO (to get Demo Menu); END (to end Demo Session):--->> = demo.1 demo 1 help = demo.2 2 3 = demo.3 4 = demo.4 8 = demo.5 5 6 = demo.6 7 + 1 demo T / M A K E R Integrated Software ..... .............................. : : .......................... : ELECTRONIC SPREADSHEET : : : .................:......... : : WORD PROCESSING : : :...................: : : : RELATIONAL DATABASE : Monthly Totals : :........................: : MANAGEMENT :RIL MAY J: : Dear Nice Landlord: : : :-------------------: : : :.........................:.35 1,875.95 9: : The check is really: : Date : 9/10/8:.50 2,350.00 15: : so patient and underst: :-------------------------:.25 18,804.75 22: ...:....................ash : : Price Per Unit $ 2,535:...................: : :....: : Quantity 2: : SPELL CHECKING : : TOTAL $ 5,070: : ...:......:.........................: :...................: : : BAR CHART GRAPHICS : : : ..... does all this in :..........................: ONE PROGRAM ! + T / M A K E R Integrated Software *** DEMONSTRATION MENU *** ___________T/Maker Topics_______________________Application Examples_______ | | ( 1 ) T/MAKER QUICK OVERVIEW | ( 5 ) Form Letters to Customers | ( 2 ) Word Processing | ( 6 ) Invoicing / Tracking Sales | ( 3 ) SpreadSheet Analysis | ( 7 ) Financial Projections | ( 4 ) Relational DataBase | ( 8 ) Graphing Sales Activity Management | Type HELP to return to Help Menu. _____________________________________________________________________________ ---->> ENTER the number that corresponds to your selection: + 1 1 Welcome to T / M A K E R Integrated Software T/Maker is a single program providing: ...................................................... : : : : : * Word Processing : : * Relational Database Management : : * Electronic Spreadsheet : : * List Sorting and Tallying : : * File Management : : * Spell Checking : : * Bar-Chart Graphics : : : : : :....................................................: . . . and there's full On-Line HELP if you forget anything ! + T/MAKER : Simple, Powerful, Flexible, Versatile, ..... and INTEGRATED ! Need help with any of these? Why not let T/Maker do them for you ! .............................................................................. : : : * personal letters * checkbook * mailing labels * term papers * : : : : * balance sheets * taxes * financial proposals * payroll * : : : : * cash flows * form letters * accounting * property management * : : : : * invoicing * investment planning * real estate planning * memos * : : : : * customer lists * order-entry * dunning statements * pro formas * : : : : * sources & uses of cash * income statements * recipe cataloging * : : : : * inventories * commission statements * monthly budgets * etc.......:. : : :............................................................................: + .............................................................................. : : : : : SYSTEM REQUIREMENTS : : : : : : One of the best parts about T/Maker is that it requires only 64 K RAM ! : : : : That means you don't have to spend extra money on : : additional RAM - special video monitors - system cards - : : special board racks - hard disk drives - etc.... : : : : : : No other software package can do so much for so little ! : : : : : :............................................................................: + .............................................................................. : HOW T/MAKER WORKS : WORD-BASED TO "THINK" AS YOU THINK : : : : : : People think in terms of words, not numbers or "cells". : : : : : : T/Maker is "word-based" rather than being "cell-based". Thus, : : T/Maker thinks as you think - with "words" rather than "cells". : : : : : : Working with T/Maker is like working with a pen and paper : : (and calculator and dictionary and filing cabinet and graphics kit!) : : : : ... only much EASIER because you're letting T/Maker do all the work ! : : : : Everything you do -- whether it's a letter, a spreadsheet, or a : : database -- is created with T/Maker's word processor. : : : :............................................................................: + .............................................................................. : : : T/Maker the Electronic Chalkboard : : : : : : : : Think of T/Maker as an "Electronic ChalkBoard". Just like : : the chalkboards we wrote on when we were in school, we : : can place text or mathematical equations anywhere you wish : : on T/Maker's ChalkBoard. : : : : : : Except T/Maker's ChalkBoard will automatically crunch through : : the math equations for you - or correct the spelling on the : : ChalkBoard - or sort through a long information list and present : : you with specifically requested information - and more! : : : : : : : :............................................................................: + .............................................................................. : : : : : Once you learn one piece of T/Maker, you have effectively learned : : all of T/Maker ! : : : : : : You won't have to change modes or swap programs just to place a : : SpreadSheet in a form letter going to hundreds of customers. : : : : : : And what makes T/Maker so easy to learn and use is the fact that : : all Commands are in plain ENGLISH! : : : : : : Yet, if you feel more comfortable with a Menu Structure, you can : : "turn on" T/Maker's Command Menu and menu-drive T/Maker at any time. : : : : : :............................................................................: + .............................................................................. : : : : : IS T / M A K E R INTEGRATED SOFTWARE FOR YOU ? : : : : : : : : T/Maker is right for anyone who needs a SIMPLE, COST-EFFECTIVE way to : : : : manage WORDS, NUMBERS, PICTURES, and INFORMATION ..... : : : : : : : : : :............................................................................: + ......................................................................... : : : SEE T/MAKER IN ACTION : : : : We've put together a few demonstration files to show you what : : T/Maker can do. Why not sit back and take a test drive? : : : :.......................................................................: ...................................... : : : : .............................:... T / M A K E R : : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : : : . . . to get Demo Menu :.................................: : : :...............................: + 1 HELP - Y HELP ........................................ : : : : : Please replace DEMO Disk : : : : with HELP Disk : : : : : :......................................: --- AND --- Type Y to continue:  : : : with HELP Disk : : ..... does all this in :..........................: ONE PROGRAM ! + T / M A K E R Integrated Software *** DEMONSTRATION MENU *** ---->> ENTER the number that corresponds to your selection: + 1 2 ............................. : : : WORD PROCESSING : : : :...........................: ...................................................................... : : : : : T/Maker's WORD PROCESSOR does everything you'd expect from a : : professional dedicated word processing system... : : : : : :....................................................................: ... including ... + * automatic or manual carriage returns * horizontal scrolling * search and replace words and sentences * set tabs * copy/move/insert/delete lines or paragraphs in text * define "keystroke macros" to perform repetitive operations * frame or freeze portions of text * display another file simultaneously with current file * left/right/center/block/ragged justification * single or double spacing text * bold and underscored text * page headers/footers * automatic page numbering * footnotes * ability to take advantage of your printer's advanced typefaces from within T/Maker (such as bold,underline,condensed,etc.) + much, much more ! + For example, suppose we would like to straighten up the messy letter below. _____________________________________________________________________________ Dear BOB; That's right - it's that exciting time of year again - time for the annual GRAND WATER BUFFALO STAMPEDE & DANCE GALA. BOB, I remember how instrumental you were in making last year's event so successful. That's why I'm placing you on the volunteer list early this year. A person with your managerial skills & talents will guarantee a smooth operation and a good time for all at this year's GALA. Being the "take-charge" kind of guy I know you are, BOB,you'll probably want to get a jump on the GALA arrangements. After all, only 9 months to GALA time! We'll have our first meeting WED the 21st at the lodge after our regular meeting and penny-poker session. Welcome to the team ! Buffalo Brother Wally + No problem with T/Maker. Notice the Left Justified-Right Ragged Margin. _____________________________________________________________________________ Dear BOB; That's right - it's that exciting time of year again - time for the annual GRAND WATER BUFFALO STAMPEDE & DANCE GALA. BOB, I remember how instrumental you were in making last year's event so successful. That's why I'm placing you on the volunteer list early this year. A person with your managerial skills & talents will guarantee a smooth operation and a good time for all at this year's GALA. Being the "take-charge" kind of guy I know you are, BOB, you'll probably want to get a jump on the GALA arrangements. After all, only 9 months to GALA time! We'll have our first meeting WED the 21st at the lodge after our regular meeting and penny-poker session. Welcome to the team ! Buffalo Brother Wally + We could make it a little more formal with LEFT & RIGHT JUSTIFICATION as below. _____________________________________________________________________________ Dear BOB; That's right - it's that exciting time of year again - time for the annual for the GRAND WATER BUFFALO STAMPEDE & DANCE GALA. Bob, I remember how instrumental you were in making last year's event so successful. That's why I'm placing you on the volunteer list early this year. A person with your managerial skills & talents will guarantee a smooth operation and a good time for all at this year's GALA. Being the "take-charge" kind of guy I know you are, Bob, you'll probably want to get a jump on the GALA arrangements. After all, only 9 months to GALA time! We'll have our first meeting WED the 21st at the lodge after our regular meeting and penny-poker session. Welcome to the team ! Buffalo Brother Wally + .............................................................................. : : : : : In fact, we can substitute names and addresses if we wanted to, using : : T/Maker to "mail-merge" (or send) the above Volunteer Letter to every : : member in our Water Buffalo Member DataBase. : : : : : : : : And to insure that our letters and reports are always professional, : : T/Maker includes a ... : : : : 50,000 Word Dictionary ! : : : : : : : : T/Maker makes sure your short memos and long documents are error free : : so you don't have to ! : : : :............................................................................: + .............................................................................. : : : For those longer documents, adding footnotes are no problem. : : T/Maker will place them automatically for you. : : : : : : T/Maker will also keep track of page numbering so you won't have to. : : : : : : Maybe you'd like to print only pages 34 through 42. Again, no problem : : with T/Maker. : : : : : : You say your printer can print in Italics? T/Maker will allow you : : to talk to your printer from within T/Maker text. : : : : : : ... and, On-Line HELP is only a step away : : : :............................................................................: + ......................................................................... : : : SEE T/MAKER IN ACTION : : : : We've put together a few demonstration files to show you what : : T/Maker can do. Why not sit back and take a test drive? : : : :.......................................................................: ...................................... : : : : .............................:... T / M A K E R : : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : : : . . . to get Demo Menu :.................................: : : :...............................: + 1 3 ........................................ : : : Electronic-SpreadSheet Analysis : : : :......................................: ..................................................................... : : : : : Just as you might expect from a dedicated spreadsheet, : : T/Maker can "crunch" numbers and do "what-if?" analysis. : : : : Because T/Maker is truly integrated, you have the ability : : to place a SpreadSheet ANYWHERE in a document. : : : : : :...................................................................: + T/Maker's SpreadSheet contains everything you'd expect from a dedicated spreadsheet, including... A full range of mathematical functions, including... * reciprocal * powers * square root * averages * sin,cos,tan,atn * max or min * log, natural log * percents * exponents * counts A full complement of "built-in" formulae, including... * net present value * straight and compound projections * percent changes * growth rates * cumulatives * Row Sorting and Column Tallying * 13 Digits of Accuracy + WHAT MAKE T/MAKER'S SPREADSHEET BETTER THAN ALL THE OTHER "CALC-CLONES" ? .............................................................................. : : : Remember - T/Maker is based on "WORDS", not on a rigid "cell" structure. : : : : When doing NUMBER-type activities with T/Maker ..... : : (monthly cash flows, taxes, invoicing, financial projections, etc...) : : : : ..... T/Maker utilizes a "soft-celled" approach. : : : :............................................................................: A UNIQUE APPROACH : A BETTER "CALC" ! .............................................................................. : : : This unique approach is more in line with the way you think, : : thus, SpreadSheet activities are more intuitive and in line with the way : : we've always approached "number-type" work. : : : :............................................................................: + SO WHY IS T/MAKER'S SPREADSHEET BETTER THAN THE OTHER "CALC-CLONES" ? .............................................................................. : : : * Formulae are not hidden and thus : : cannot be "accidentally" erased or altered. : : : : * A simpler spreadsheet to use because it is more : : "intuitive" and in line with the way we think. : : : : * Tables are set up faster because you are not constantly : : replicating rows and columns or "locking/unlocking" : : cell formulae. : : : : * You have full control over which formulae gets applied to : : which row and in which order - full control! : : (You could even specify action on a single T/Maker : : "cell" if you wished.) : : : :............................................................................: + and ..... .............................................................................. : : : * You can now have a variable-column width WITHIN a column! : : : : * There is no "re-learning" the mechanics of moving around : : a worksheet - remember, T/Maker's SpreadSheet works : : in the same environment as T/Maker's Word Processor. : : : : * There is no excuse for ugly tables! You have full ability : : to "dress up" your tables as you see fit. : : : : : : : : ..... much, much more! : : : : : :............................................................................: + Let's look at a Simple SpreadSheet Example. (More complex examples are listed under the "application examples" in the Demo Menu) Below we have the 1982 and 1983 revenues for each of the regions in our sales district. Please notice that we've entered our values in a very sloppy and inconsistent manner. Don't worry, T/Maker will take care of everything for us! ----------------------------------------------------------------------------- EX 99,999.99 99,999.99 99,999.99 ac1 + + = 1982 1983 Total + West Region 6000.50 9500.25 + East Region 6300 8500. + MidWest Region 5050.5 6450.1 = Total + T/Maker computed the appropriate equations, straightened up our columns, inserted a comma-separator, and even added two places of accuracy after each decimal! ----------------------------------------------------------------------------- EX 99,999.99 99,999.99 99,999.99 ac1 + + = 1982 1983 Total + West Region 6,000.50 9,500.25 15,500.75 + East Region 6,300.00 8,500.00 14,800.00 + MidWest Region 5,050.50 6,450.10 11,500.60 = Total 17,351.00 24,450.35 41,801.35 + T/Maker CALCULATES BY EXAMPLE; that is, we give it an example of how we want everything to look - and where we want it placed, and T/Maker does all the work for us! The first line below (starting with EX) is the EXAMPLE LINE. The 99,999.99 column place-holders or Model Numbers tell T/Maker how each column is to be formatted. We loosely-defined our T/Maker "cell" through the use of an Example Line ----------------------------------------------------------------------------- EX 99,999.99 99,999.99 99,999.99 ac1 + + = 1982 1983 Total + West Region 6,000.50 9,500.25 15,500.75 + East Region 6,300.00 8,500.00 14,800.00 + MidWest Region 5,050.50 6,450.10 11,500.60 = Total 17,351.00 24,450.35 41,801.35 + Our table is calculated, but it is not very attractive. We can easily "dress it up" in the same way as we would dress up any report. We'll insert bars and further notation to explain and dress-up the table. ----------------------------------------------------------------------------- EX 99,999.99 99,999.99 99,999.99 ac1 + + = SALES DISTRICT REVENUES ................................................................... : : 1982 : 1983 : Total : : : : (pre-lim) : : :....................:...........:...........:....................: + : West Region : 6,000.50 : 9,500.25 : 15,500.75 : + : East Region : 6,300.00 : 8,500.00 : 14,800.00 : + : MidWest Region : 5,050.50 : 6,450.10 : 11,500.60 : : : : : : : (No South Report) : (n/a) : (n/a) : (n/a) : :....................:...........:...........:....................: = : Totals : 17,351.00 : 24,450.35 : 41,801.35 : :....................:...........:...........:....................: + It's great having the equations showing, but I can also print the table without equations, as below. ----------------------------------------------------------------------------- SALES DISTRICT REVENUES ................................................................... : : 1982 : 1983 : Total : : : : (pre-lim) : : :....................:...........:...........:....................: : West Region : 6,000.50 : 9,500.25 : 15,500.75 : : East Region : 6,300.00 : 8,500.00 : 14,800.00 : : MidWest Region : 5,050.50 : 6,450.10 : 11,500.60 : : : : : : : (No South Report) : (n/a) : (n/a) : (n/a) : :....................:...........:...........:....................: : Totals : 17,351.00 : 24,450.35 : 41,801.35 : :....................:...........:...........:....................: + Now we have a professional looking table! BUT GUESS WHAT? The Southern Regions figures just came in - at the last moment of course. No problem with T/Maker! We'll just add the Southern figures to the rest of our Revenues - T/Maker will do the re-computing for us. ----------------------------------------------------------------------------- EX 99,999.99 99,999.99 99,999.99 ac1 + + = SALES DISTRICT REVENUES ................................................................... : : 1982 : 1983 : Total : : : : (pre-lim) : : :....................:...........:...........:....................: + : West Region : 6,000.50 : 9,500.25 : 15,500.75 : + : East Region : 6,300.00 : 8,500.00 : 14,800.00 : + : MidWest Region : 5,050.50 : 6,450.10 : 11,500.60 : + : South Region : 5,000.00 : 10,000.00 : 15,000.00 : :....................:...........:...........:....................: = : Totals : 22,351.00 : 34,450.35 : 56,801.35 : :....................:...........:...........:....................: + Finally, let's put in a note to the President of the Company. What will the final product look like? + | Dear Mr. President; | | | | Below is the preliminary Sales Revenue figures for 1983. | | Also included are the 1982 figures for comparison. When I turn | | in my final report, I will include what % growth we've actually | | accomplished. I'm using T/Maker - it will be easy ! | | | | SALES DISTRICT REVENUES | | ................................................................... | | : : 1982 : 1983 : Total : | | : : : (pre-lim) : : | | :....................:...........:...........:....................: | | : West Region : 6,000.50 : 9,500.25 : 15,500.75 : | | : East Region : 6,300.00 : 8,500.00 : 14,800.00 : | | : MidWest Region : 5,050.50 : 6,450.10 : 11,500.60 : | | : South Region : 5,000.00 : 10,000.00 : 15,000.00 : | | :....................:...........:...........:....................: | | : Totals : 22,351.00 : 34,450.35 : 56,801.35 : | | :....................:...........:...........:....................: | | Regards, Howie Hughes | + .....We could even graph it if we wanted to..... + | Below is the preliminary Sales Revenue figures for 1983. | | Also included are the 1982 figures for comparison. When I turn | | in my final report, I will include what % growth we've actually | | accomplished. I'm using T/Maker - it will be easy ! | | | | 1982 ( 1983 ) | | | | West Region ((((((((((((((( | | )))))))))))))))))))))))) | | | | East Region (((((((((((((((( | | )))))))))))))))))))))) | | | | MidWest Region ((((((((((((( | | ))))))))))))))))) | | | | South Region ((((((((((((( | | )))))))))))))))))))))))))) | | | | Regards, Howie Hughes | + Professional. Sophisticated. Impressive ..... and easy to do with T/Maker! .....AND..... If we wanted to send a carbon-copy of this letter to all managers in our managers database, it would be no problem to merge the names and addresses of the managers into this letter using T/Maker. + ......................................................................... : : : SEE T/MAKER IN ACTION : : : : We've put together a few demonstration files to show you what : : T/Maker can do. Why not sit back and take a test drive? : : : :.......................................................................: ...................................... : : : : .............................:... T / M A K E R : : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : : : . . . to get Demo Menu :.................................: : : :...............................:  : : : : .............................:... T / M A K E R : : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : + 1 4 ...................................... : : : Relational DataBase Management : : : :....................................: .............................................................. : : : : : T/Maker does everything dedicated professional : : Relational DataBase Managers do ... : : : : : :............................................................: ... including ... + * Variable Field-Sizes up to 80 characters * Up to 120 Fields per Record * Up to 7 different "Viewer Forms" per DataBase * Ability to "link" multiple DataBases * Select from DataBase using multiple selection criteria * Sort or generate Reports on any Fields. * Restructure DataBase at any time without losing data * Perform mathematical equations on Fields or between Field * Merge DataBase information with other text (e.g., Mail Merge) + much, much more + WHAT MAKES T/MAKER'S RELATIONAL DATABASE DIFFERENT FROM OTHER Remember, T/Maker is an Integrated Package. That means learning and using your DataBase is simple because you already know mechanically how to use it (via your Word Processing KeyStrokes) ... and ... because T/Maker can do everything in one file, you can include a complicated SpreadSheet or a Form Letter or anything else you want to include in your DataBase ! WHAT CAN T/MAKER'S DATABASE DO FOR ME ? Suppose you are the President of the Grand Chapter of Water Buffalos. In this coveted position, your biggest task is just keeping track of all the thousands of members involved with the organization. Members must be informed of local and national events, letters of recommendation must be personally addressed, and, of course, dues must be collected and recorded. + We can use T/Maker to do all of this for us - automatically! We could set up our Member List like below. *** Grand Water Buffalo Member List *** .............................................................................. : : : : : NAME : : : : : ADRS : : : : : CITY : : : : : STATE: ZIP: : : : : : : Home Phone: ( ) - Work Phone: ( ) - : : : :............................................................................: + Entering the information about each member is easy. T/Maker will only let us type in the areas we allocated for each field of info. *** Grand Water Buffalo Member List *** .............................................................................. : : : : : NAME : Robert Ludlum : : : : ADS : 24 Bourne St. : : : : CITY : Parsifal : : : : STATE: NY ZIP: 12003 : : : : : : Home Phone: (212) 570 - 2314 Work Phone: (212) 565 - 1200 : : : :............................................................................: + Supposed we entered a couple hundred members, then realize we made an error! We forgot to enter a DUES PAID? field! No problem with T/Maker. Changing the "structure" of a DataBase is simple and fast. + That's better. We now know who's paid and who hasn't. That will help keep us in business, I suspect. *** Grand Water Buffalo Member List *** .............................................................................. : : : : : NAME : Fred Flintstone _____________________________ : : DUES: $ 1,025.00 : : ADRS : 3 Granite Block AMOUNT PAID $ 0.00 : : _____________________________ : : CITY : Bedrock AMOUNT OWED $ 1,025.00 : : _____________________________ : : STATE: CA ZIP: 93324 : : : : : : Home Phone: (213) 340 - 4422 Work Phone: (213) 554 - 4545 : : : :............................................................................: + .............................................................................. : : : We can easily use our Member DataBase to generate form letters. : : ( See Application Examples for more details. ) : : : : : : Suppose we'd like to know how many people are in the IDAHO area. : : No problem with T/Maker. : : : : : : And how much the IDAHO people owe us in dues ? : : No problem with T/Maker. : : : : : : : : How about just the people in IDAHO who owe us more than $ 5,000 and : : whose last name begins with A or Z and who have a home phone ? : : You guessed it. No problem with T/Maker. : : : :............................................................................: + ......................................................................... : : : SEE T/MAKER IN ACTION : : : : We've put together a few demonstration files to show you what : : T/Maker can do. Why not sit back and take a test drive? : : : :.......................................................................: ...................................... : : : : .............................:... T / M A K E R : : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : : : . . . to get Demo Menu :.................................: : : :...............................:  : : : : type: : INTEGRATED SOFTWARE : : DEMO : : : : : : . . . to get Demo Menu :.......................... or Z and who have a home phone ? You guessed it. No problem with T/Maker. + + 1 8 T/MAKER INTEGRATED SOFTWARE DEMONSTRATION .............................................................................. : : : : : CHARTING SALES : : : : : : : : T/Maker's features includes a bar-chart function for charting : : the spreadsheets and tables you produce. It takes the information : : directly from your tables, without the need to re-enter data. : : : : : : : :............................................................................: + This example draws the data from a summary table of retail sales versus dealer sales. The table looks like this: ================================================= Month Retail Sales Dealer Sales Total ================================================= ex 999,999 999,999 999,999 ac1 + + = + January 35,230 23,110 58,340 + February 33,350 31,670 65,020 + March 31,145 42,550 73,695 + April 30,675 51,990 82,665 + May 29,500 62,370 91,870 ================================================= = Total 159,900 211,690 371,590 ================================================= + Here are the results of the bar command: <0 Retail Sales * 91870> <0 Dealer Sales ] 91870> January 58,340 **********************]]]]]]]]]]]]]] **********************]]]]]]]]]]]]]] February 65,020 *********************]]]]]]]]]]]]]]]]]]]] *********************]]]]]]]]]]]]]]]]]]]] March 73,695 *******************]]]]]]]]]]]]]]]]]]]]]]]]]] *******************]]]]]]]]]]]]]]]]]]]]]]]]]] April 82,665 *******************]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] *******************]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] May 91,870 ******************]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ******************]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] + ........................................................................... : : : : : Virtually any spreadsheet can be made into a bar chart quickly : : and easily. : : : : ....................................................................:... : : : : : : :.....: Enter "DEMO" for a selection of the other application examples : : available to you. You can of course view the bar chart : : example again by entering [ 8 ]. : : : : : :......................................................................: n examples : : available to you. You can of course view the bar chart : : example again by entering [ 8 ]. : : : : : :....................................... + 1 5 T/MAKER INTEGRATED SOFTWARE DEMONSTRATION .............................................................................. : : : : : SENDING A FORM LETTER TO A CUSTOMER BASE : : : : : : : : T/Maker includes full database and report-generating functions. : : Coupled with the word processor, this makes for a powerful mail : : generation system. This example shows what you would see and : : get by setting up a customer database and using it to send a : : particular form letter to certain customers. : : : : : : : :............................................................................: + First, you must set up a database. The database, designed by you as a plain text file in T/Maker's Editor, can contain any information you want, and can be easily added to or changed at any time. The one we used for this example contains about one hundred customers. You can view or update this file through the T/Maker command UPDATE. If you request UPDATE, the following screen would appear: + PLEFCO CUSTOMER DATABASE _________________________________________________________________________ FIRST NAME: Alex LAST NAME: Johnson STREET ADDRESS: 1440 W. Middlefield Road CITY: Palo Alto STATE: CA ZIP CODE: 94306 CUSTOMER NUMBER: 8843 STANDARD TERMS: NET 30 ......................................................... : : : Moving on to the next record would bring up the : : following screen . . . : : : :.......................................................: + PLEFCO CUSTOMER DATABASE _________________________________________________________________________ FIRST NAME: Harvey LAST NAME: McAfee STREET ADDRESS: 1818 High Street CITY: Chicago STATE: IL ZIP CODE: 60619 CUSTOMER NUMBER: 8263 STANDARD TERMS: COD only ....................................................................... : : : . . . and so on. You could view each customer in this manner, : : making any changes you desire. Now you want to send a letter : : to all customers in California. The letter looks like this: : : : :.....................................................................: + __________________________________________________________________ | May 15, 1984 | | | | {FIRST.NAME !} {LAST.NAME } | | {STREET ADDRESS } | | {CITY !}, {STATE!} {ZIP } | | | | Dear {FIRST.NAME !}: | | | | We are having a special sale for California Customers only. | | Until June 1, 1984, you can buy the Plefco Bassamatic for | | only $49.95. To take us up on this tremendous offer, call | | (415) 555-1212 and ask for Joe. We hope to hear from you! | | | | Sincerely, ................................................ | : Notice that the name/address isn't filled : | Bob Plef : in -- it is just a set of variables to : | President : be pulled out of your database. Here's : |_______________________: the only command you need to do this: : :..............................................: + ................................................................ : : : : : WHAT NEXT? SELECT CUSTOMERS WHEN STATE = CA END : : : : : :..............................................................: Simple, isn't it? This will draw from your customer database all customers in California, and make up a letter for each one of them that looks like this: + __________________________________________________________________ | May 15, 1984 | | | | Alex Johnson | | 1440 W. Middlefield Road | | Palo Alto, CA 94306 | | | | Dear Alex: | | | | We are having a special sale for California Customers only. | | Until June 1, 1984, you can buy the Plefco Bassamatic for | | only $49.95. To take us up on this tremendous offer, call | | (415) 555-1212 and ask for Joe. We hope to hear from you! | | | | Sincerely, .................................................. | : You could make mailing labels in a : | Bob Plef : similar way. You simply design the label : | President : as you want it to appear, then select : |_______________________: the same customers. : :................................................: + .................................................................. : : : : : Again, the possibilities are limitless. For example, You : : can tie your customer database to your order entry : : database, then select customers based on their total : : purchases. : : : : ............................................................:.......... :....: : : : : We encourage you to take a look at the other examples in : : this demonstration to give you more ideas. Just enter DEMO : : to review the menu of those available to you, or enter [ 5 ] : : to see this mail application again. : : : : : :.....................................................................: T/Maker Integrated Software Demonstration + 1 6 T/MAKER INTEGRATED SOFTWARE DEMONSTRATION .............................................................................. : : : : : GENERATING INVOICES/TRACKING SALES : : : : : : : : T/Maker's full database and report-generating functions can be : : used to set up an entire Order Entry/Invoicing/Inventory system : : to organize and track your sales. Here's a short example of : : one such system. : : : : : : : :............................................................................: + You start by creating a database called ORDERS, into which you will record each order received. The database is created as a plain text file in T/Maker's Editor. It can contain any information you want, and can be easily added to or changed at any time. Here's a sample order entry screen: + PLEFCO ORDER ENTRY SYSTEM _________________________________________________________________________ INVOICE NUMBER: DATE: CUSTOMER NUMBER: NAME: PO NUMBER: ADDRESS: CITY/STATE/ZIP: QUANTITY PLEFCO BASSAMATICS: QUANTITY PLEFCO VEGEJUICERS: QUANTITY PLEFCO AUTO-BEET-PEELERS: .............................................. TOTAL VALUE OF ORDER: : : SALES TAX: : To enter an order, you tell T/Maker : TOTAL DUE: : you wish to UPDATE the file, then just : : enter the information. The next : : screen contains a sample entry . . . : : : :............................................: + PLEFCO ORDER ENTRY SYSTEM _________________________________________________________________________ INVOICE NUMBER: 123A DATE: 05/14/84 CUSTOMER NUMBER: 8843 NAME: PO NUMBER: 0584HR ADDRESS: CITY/STATE/ZIP: QUANTITY PLEFCO BASSAMATICS: 2 QUANTITY PLEFCO VEGEJUICERS: 3 QUANTITY PLEFCO AUTO-BEET-PEELERS: .............................................. TOTAL VALUE OF ORDER: : : SALES TAX: : Notice that pricing and name/address : TOTAL DUE: : data is not filled in -- T/Maker : : will complete the rest of it. : : Here's how . . . : : : :............................................: + We have, from example #3, another database file containing customers. One of the entries is seen here: ________________________________________________________________ | | | PLEFCO CUSTOMER DATABASE | |________________________________________________________________| | | | FIRST NAME: Alex LAST NAME: Johnson | | | | STREET ADDRESS: 1440 W. Middlefield Road | | CITY: Palo Alto | | STATE: CA | | ZIP CODE: 94306 | | | | CUSTOMER NUMBER: 8843 STANDARD TERMS: NET 30 | |________________________________________________________________| We need this information for our order. The COMPLETE command can be used to tie the two databases together via the Customer number to pull this information into our order: + PLEFCO ORDER ENTRY SYSTEM _________________________________________________________________________ INVOICE NUMBER: 123A DATE: 05/14/84 CUSTOMER NUMBER: 8843 NAME: Alex Johnson PO NUMBER: 0584HR ADDRESS: 1440 W. Middlefield Road CITY/STATE/ZIP: Palo Alto, CA 94306 QUANTITY PLEFCO BASSAMATICS: 2 QUANTITY PLEFCO VEGEJUICERS: 3 QUANTITY PLEFCO AUTO-BEET-PEELERS: .............................................. : : TOTAL VALUE OF ORDER: : : SALES TAX: : Now we have the address information. : TOTAL DUE: : Next, T/Maker will calculate the value : : of the order, tax, and total due. : : : :............................................: + T/Maker does this by applying a given set of rules. For our order entry system, we've set up the following rules: _____________________________________________________________________________ VALUE = (BASS * 49.95) + (VEG * 39.95) + (PEELER * 10.95) TAX = .065 * VALUE WHEN STATE = CA TAX = "NO TAX" WHEN STATE NOT = CA DUE = VALUE + TAX _____________________________________________________________________________ These tell T/Maker what the prices are for the products, how much sales tax to charge (only to California Residents!) and how to calculate the total due. T/Maker will then fill in your order, so it looks like this: + PLEFCO ORDER ENTRY SYSTEM _________________________________________________________________________ INVOICE NUMBER: 123A DATE: 05/14/84 CUSTOMER NUMBER: 8843 NAME: Alex Johnson PO NUMBER: 0584HR ADDRESS: 1440 W. Middlefield Road CITY/STATE/ZIP: Palo Alto, CA 94306 QUANTITY PLEFCO BASSAMATICS: 2 QUANTITY PLEFCO VEGEJUICERS: 3 QUANTITY PLEFCO AUTO-BEET-PEELERS: TOTAL VALUE OF ORDER: 219.75 SALES TAX: 14.28 TOTAL DUE: 234.03 _________________________________________________________________________ + ...................................................................... : : : You can also design a special invoice form in another file, : : then load the data from your order entry file to fit a : : particular form or accommodate other special reporting needs. : : You can also ask T/Maker for various reports which are : : automatically calculated, like total sales per customer, : : total sales by state, or total peelers sold to date. : : : : ................................................................:....... : : : :....: : : We encourage you to take a look at the other examples in : : this demonstration to give you more ideas. Just enter DEMO : : to review the menu of those available to you, or enter [ 6 ] : : to see this order entry application again. : : : :......................................................................: T/Maker Integrated Software Demonstration  other examples in : : this demonstration to give you more ideas. Just enter DEMO : : to rev + 1 7 T/MAKER INTEGRATED SOFTWARE DEMONSTRATION .............................................................................. : : : PREPARING A FINANCIAL PROJECTION : : : : : : : : The following table can be set up to do some What-If analysis : : with your estimates of future income and expenses. : : : : : : As with everything you create in T/Maker, this table is : : nothing more than a plain text file, and can be used with any : : other file or T/Maker command. You enter your data and make : : changes to it in the same way you would edit a letter. No : : hidden equations or cells are involved -- everything needed : : to calculate this table is shown on the following screen: : : : :............................................................................: + PLEFCO 1984 - 1985 Revenue Estimates ======================================================== 1982 1983 Growth 1984 1985 Rate (projected) ======================================================== ex 99,999 99,999 99.9 99,999 99,999 ac1 - + grw uc2 + prj + + + Sales 45000 51200 - Cost of Goods 11200 13200 -------------------------------------------------------- = + Operating Profit -------------------------------------------------------- - Overhead 24600 27940 -------------------------------------------------------- = Net Profit _____________________________________________________________________________ Notice that the only numbers we need enter are the actual for sales, cost of goods, and overhead. T/Maker will calculate the associated growth rates and and project the values for '84 and '85, as well as completing all vert. calcs. + PLEFCO 1984 - 1985 Revenue Estimates ======================================================== 1982 1983 Growth 1984 1985 Rate (projected) ======================================================== ex 99,999 99,999 99.9 99,999 99,999 ac1 - + grw uc2 + prj + + + Sales 45,000 51,200 13.8 58,254 66,280 - Cost of Goods 11,200 13,200 17.9 15,557 18,335 -------------------------------------------------------- = + Operating Profit 33,800 38,000 12.4 42,697 47,945 -------------------------------------------------------- - Overhead 24,600 27,940 13.6 31,733 36,042 -------------------------------------------------------- = Net Profit 9,200 10,060 9.3 10,964 11,903 ======================================================== _____________________________________________________________________________ Now issuing the command "clean" will remove all the calculation and formatting information, leaving you with: + PLEFCO 1984 - 1985 Revenue Estimates ======================================================== 1982 1983 Growth 1984 1985 Rate (projected) ======================================================== Sales 45,000 51,200 13.8 58,254 66,280 Cost of Goods 11,200 13,200 17.9 15,557 18,335 -------------------------------------------------------- Operating Profit 33,800 38,000 12.4 42,697 47,945 -------------------------------------------------------- Overhead 24,600 27,940 13.6 31,733 36,042 -------------------------------------------------------- Net Profit 9,200 10,060 9.3 10,964 11,903 ======================================================== ................................................................ : Remember, this data could have come from another : : spreadsheet or a database. It can also now be loaded : : into another spreadsheet or database, or turned into a : : bar chart. : :..............................................................: + ...................................................................... : : : T/Maker's spreadsheet functions include Net Present Value, : : Projections, Growth Rates, Transcendental functions, and : : many, many more. In addition, the database feature can : : be used in conjunction with the spreadsheet to allow use : : of logical operations or to design more complex : : calculations. : : : : ...............................................................:....... : : : :.....: : : We encourage you to take a look at the other examples in : : this demonstration to give you more ideas. Just enter DEMO : : to review the menu of those available to you, or enter [ 7 ] : : to see this financial projection application again. : : : : : :.....................................................................: T/Maker Integrated Software Demonstration  : to review the menu of those available to you, or enter [ 7 ] : : to see this financial projection application again. : : : : 3OÙPI PÊQû Sk yUT  ÑMV O!m5!0O!P!0 O O*3|_OZPO*3|mOZPO|€O!OýO!0!1O!0OO|¥O!O*3|½O!1!0OO*3|TP*.K|TP!O|OO!2x/*6|}P*6-O!"6!0O!O|ʐPÅP.1END!p"I* 2;I*n5}:P*m5}2;IQ ×YêZ!9DM*6|!Q!"6*6P!"9*/`is*;I}2/!P`in}2/*3|Q!"6Q*9|uQ*3|uQ*44} uQQ*:K"@K!"BK!9ÙQÏWIêZk *9+|ʫQ*3|ʰQ͍Q>24!44!K"DK*9+|S*3|T!"BK!bU!S!"0K S*9|bU*3|bU*44}-7TS*9+|HT*3|KTbU*44}+ʈT*'/!44S*0K#"0K S*9+||T*3|ʈT!"BK!bU*44}+¥TS*>K*DKڥTbU*44}+ʿT*0K*%/ҿTT!*%/#S"S|TT!kU%S(S*6+S*6}20>20!0S*0}N UbU*0*/})U!".K!SbU*44}+EU*>KЊ|EU*BK#"BK!S!"0K*44}+_U ST!9MORE (Y/N) ? ÂUI !0!3|U!"2K!"4K*2K*IU*2K)I~#fo!3U"4K*4K|UU*2K#"2KÜU*4K|U!*2K":K*4K"K*2K44W">K*2K44n} 6X*2K44n}6X*2K#"2KX*2K44n} NX*2K#"2K6X\Xk êZÏW!"I*I"6K*44}-xY*9|xY*3|xY*6K*IxY*I|xY*6K"8K*I#"I+)bJ*6Ks#r!"2K*2K44n} X*2K#"2KX*2K44n}Y*2K44n} Y*6K*IY*6K#"6K+*2K#"2K+44nsX*6K#"6K+6*8KSX*2K44n}hY*6K*IhY*6K#"6K+*2K#"2K+44ns1Y*6K#"6K+6VXiX*6K*IҒY*I|ڕYYXìYk I- ü !9DM!0͚Y!0!44͝Y*54}:Y*/} Y*/}20>:20!44!0͝Y!0!Z͠Y#|uZ!0!Z͠Y#|uZ!!0ͣY"6*6`is#r͐#|FZ`iw#wMZ`i6#6͐͐`ZÝZ͐+|rZ*6ͦYÆZ͐`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|[*944n}[ͭZͰZZ![q !9DM*9#|P[*9*9|P[!"9ä[!"9*9`is#r͐!9*6[! s#r͐|җ[!"9ä[͐?"9!9!9DM*9|7\*9*97\*9#"9+9n`is`in}[!"9P\`in} \*9#"94467\`in&|"\`in} 4\*9#"944`insõ[*9|P\*9#"9446!9"`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|HOR ÉiýiJTîTTU `VVwWÌXáY[R[]ü ^,_q_k!9DM!"9*0&|rO*0&|{O*0}/‰OO!OeR!nR!0 O`is#r͐#|]P! O*3|ʹOeR!"9O͐|O*44} O*9|O*3|OO͐>O>2P> P>2P>P>8P>#P>>P>/P>DPJPOJPOJPOJPOJP*6O!OeR!R!0 O`is#r͐#|P͐>ŠP>ʽP>–P>P>¢P>P>®P>P>ºP>PP!!OP!!OP$OP'OP*OP!OeR!R!0 O`is#r͐#|R͐>Q>ʤQ>)Q>ʤQ>5Q>ʪQ>AQ>ʵQ>MQ>ʻQ>YQ>ʻQ>eQ>Q>qQ>Q>}Q>Q> ‰Q>Q> •Q>R> ¡Q>RR-OR!0OR3OR6O|Q!R!!d9OQ!"3R2*/_R͐+|MR>2*/_R!R!!9OeRVO!9GET G INSERT MERGE LIST KEEP DROP FIND REPLACE CLIP EDIT E CREATE INFO SAVE S DELETE RENAME RESET FILES DATA WAIT DISK FULLTABS NOTABS S! ü Ä!9DM*0}/yS!0R! s#r͐|HS͐*J/]S!0!!SAT! ^#Vr+s"X/*X/*\/+"Z/`iw#w͐0n}ʨS͐0n}/ʨS`i^#Vr+sSS͐0n}¼SAT`i^#Vr+s0R! s#r͐|S͐|T!0!!SAT! ^#Vr+s͐*b/+"`/*`/|1T!,"`/*`/*b/#"^/!9\TàalýiaMT*44} tT!44PTST*9|ҖT*3|–T!44VTSTtT*J/|کT*J/+"J/YT÷Týi*9|T*3|T!44ͱTʹTøTT.jõÄýi!9DM!,!!UT`is#r*3|UU`i^#Vr+s!͐*d/T*9|U*3|U! w#w͐44n}ʽU*f/|ҽU*B/n}}U*B/+"B/6 ͐44n} ʜU*B/͐44ns!*f/#*d/T! ^#Vr+sQUT!͐*d/#TTT5U!9AT WHAT POSITION? V ýik!U*9|SV*3|SV!44UV*6|MV*3|MVV|MVBVVV*3|^VVoVUcÑ!9DM!m5cV*d/*J/VfV*D/!0iV`is#r͐|ڶV`i6#6üV`iw#w͐͐V*D/lVV!9VUc õÜc V!9DM!rWVV*l/|"W!!*X/V!0V`is#r͐|?WViW*l/|iW*d/"X/*X/*\/+"Z/!"?IV!"?I!9FINDÏWUcI õ !9DM!XzW*1! s#r*J/+! s#r!0!44}W!XzẀW*3|sX*B/!44̓W`is#r͐|X*d/͐XsXX!!*d/#͆WW!*f/͐*d/͆W!0͉W`iw#w͐͐pX*B/n}pX`i^#Vr+s*B/#"B/DXW͌W!9REPLACEWITHÛX k ü õ!Y͏X!0͒X*0}AX*0}BX!Y!!d͕X*0}BMY*/"B/*d/"J/!!*d/+͘XBEFORE OR AFTER?ILLEGAL ANSWERùYõYUámn; !9DM!"l/>2x/*b/"K*n/|Y!ͤY!*^/*X/ͧYͪY>2J!"J";I"=I"?I"9"J"J"3!"J!"6*6|ʤZ*6|NZ*6|TZͭYÐZ*6|iZ*6"6oZ*6"6*6S|ڍZ*6P|ҍZͰYÐZͳY*3|ʛZäZͶY"6*Z!"l/*X/*d/Z*d/"X/*d/*\/+"Z/!ͤY[*P/|Z!!*X/ͧY[!!*L/ͧY!9[Éiaàa!9DM![*3|7[[͐|E[[![j[ --?dî!9DM! w#w͐|Ҷ[!͐U[!͐!X[! ^#Vr+sz[*V/####! s#r͐!U[*^/e`is#r͐!1[[*1}2K*1}2K`iw#w`i^#Vr+s*b/g\*K}02\*K&^[>12Kd\!.^[*K}9`\>02K*K}9Y\>02K]\!K4d\!K4\͐!U[*1}2K`iw#w`i^#Vr+s*b/ҹ\*K&^[*K}9²\>02Kö\!K4Â\*l/|\*d/`is#r*f/! s#r\*X/`is#r*^/! s#r!!U[!]a[!6a[*J/!]d[*B/*@/!]d[͐#!]d[͐#!]d[!]a[*)/}i]!T^[Å]*)/}}]!M^[Å]!D^[*l/|ʠ]*;I|ʝ]!]a[g[!"n/!9NAME: LINES: FREE: LINE: / MODE: /I^,_I kh xõqd Ühñh*./}^]!6!44]!^!44]!^!44]!44]"6*6#|S^!]]!!!]]]*6]*3|Š^!!6!3]!^!3]!^!3]!3^!3!6^!6!44^!.$$$.BAK^,_Éi Üh*./}_^!^*3|_!"3*_*6^!0^2_i!9DM!!/_`is#r!! /_͐!/_!9É_ k ü iñek!9DM!at_!0w_͐|ʴ_*0}2/za*0&#! s#r͐|_͐|_!a!!dz_za! 6\#6͐͐s! 6#6͐|U`! ^#Vr+s͐|A`͐6?G`͐6! ^#Vr+s``i6#6!\!}_! s! w#w! n}>a͐*9>a! n&|g}os͐! ng ?! s#r͐n}(a! w#w͐|a! ^#Vr+s9! ^#Vr+sns! ^#Vr+s`! ^#Vr+s96!\!}_! sw`!̀_! w#w͐|qa͐! ̓_! s#rNa͆_!"n/! 9WHICH DRIVE?INCORRECT DRIVE*/"B/*B/6!"J/!"^/"f/"d/"X/*#/"Z/*#/#"\/*'/+"`/*'/"b/!"P/"T/"R/"N/"L/!"V/bI !9DM!Oc!6a`iw#w͐|jb͐0n}jb͐0n}.jb͐6͐0ns`i^#Vr+sb͐! s#r! ^#Vr+s66!6!6a͐0n}ʿb͐0n}.ʿb`i^#Vr+sÖb`i^#Vr+s0n}bFc! w#w͐0n}"c͐|"c! ^#Vr+s6`i^#Vr+s0nsb͐66!Sc!6b!6!6b!9 .acI  !9DM͐!1Xc!c!1[c!1^c WHAT STRING?ècõU!9DM*J/+! s#r*B/͐͟c`is#r͐|d*d/͐c#dd!!*d/#͢c d!*f/͐*d/͢c#düc͐|/dͥc͐6d!9Hd- !9DM͐Bd͐!3Ed!3BdzdËff!9DM*9`is#r͐?+"9*B/! s#r!"9**/} e! td`i6#6͐x5n}d͐|d`i^#Vr+sx5n&tdd! td! td! w#w`iw#w͐*J/ҙe*3|ʙe͐n}xe͐|Te! tdZe`iw#w! td! td! ^#Vr+sËe͐n&td`i6#6! ^#Vr+se*3|ʨewd!9ekIÑrg!9DMʹe|eͷe!9!3ͺe! s#r`is#r͐͐ {f!3͐9ͽe! s#r͐|Uf͐9͐9ͺe! ~#fo s#rhf͐9͐ e`i~#fo s#re͐Âf!9Ñff!9DM*9*9Ҫf͎f*9#"9+9! nsf!i!9DM*9*9"g*9`is#r͐*9 g`i^#Vr+s96f*9! s#r4g*9! s#r͐!9*6f`is#r͐͐cg!d"3!"9!9~g-!9DM͐^#Vr+s͐~#fo*'/Ҽg! ug͐6#6! w#w`iw#w͐|Gh͐|g! ^#Vr+s446.h͐|h͐ n} h͐ 6.! ^#Vr+s44! ^#Vr+sns`i^#Vr+sg! !44xg!eh{g!9 thÜh- 7*nh\!*qh !\&!7*!h&*!h&h!&="&! BL<"e=L=7:O*7:)~:,"s!"u*|*uʇi*~#^i"*s*u‡i#"u*+"KiÒi Ûj!9DM!i͌i͐͏iWHAT FILE NAME?iîk@l!"9*9#|i!"9!"9ii*9*9ii*3| j*9| ji*9|,j*944n},jiij:j ! ü !9DM͐1j!04j`is#r͐͐yj͐͐ ҋj!0!!7j͐Òj!9ðjk I- ü !9DM!0͞j!0!44͡j*54}:j*/} j*/}20>:20!44!0͡j!0!kͤj#|yk!0!kͤj#|yk!!0ͧj"6*6`is#r͐#|Jk`iw#wQk`i6#6͐͐dkák͐+|vk*6ͪjÊk͐`is#r!0!͐####ͭj!9?*ôkq !9DM*9#|k*9*9|k!"97l!"9*9`is#r͐!9*6ͱk! s#r͐|*l!"97l͐?"9!9!9DM*9|l*9*9l*9#"9+9n`is`in}…l!"9l`in} žl*9#"9446l`in&|ҵl`in} l*9#"944`insHl*9|l*9#"9446!9!9DM`iw#w͐|m͐x56 `i^#Vr+sl! 6#6`iw#w͐|Ҙm͐n}ʘm͐n} mm͐+|mm͐x56 ! w#wÁm͐n} m! 6#6! ^#Vr+s`i^#Vr+s,m!9ömUoÄ.jY!9DM*6R|m*J|mͤmõn*6>m>n>m>n>m>2nõn!"=I!"J*f/"Jõn*=I+|)n!"=I,nͧmͪmõn*=I+|Dn!"=Iõn*J/d!!nͭm`is#r>2x/*3||n!"3ͤmͰmòn!"?I͐|کn*3|©nͪmͧm`i^#Vr+sÂn!"?Iͳmõn!9HOW MANY TIMES?nU8ppùqmr6sst\uõVu*=I|(o*JQ|#o*J#"J+)AI*6s#r(on*6|:ono*6u|Lono*6m|^ono*6d|pono*6a|҂ono*6\|Ҕono*6X|Ҧono*6T|Ҹono*6S|o!*J*d/nno*6L|onon!9DM`iw#w͐*J/p͐)AI~#fo"6o`i^#Vr+sp!9MpÈv@wõ-{wÄ*f/*`/}p*)/}{p*f/|{p*K;p}p*;I|ʈp>p!*f/#*d/Ap*@/*6s*?I|µp*6Dp*6|p*)/}p*B/n}p*`/*f/|pGpJpqêwûwwxTxÄxx1y*6>q>ʁq>*q>ʇq>6q>ʍq>Bq>ʓq>Nq>ʙq>Zq>ʟq>fq>ʥq>rq>ʫq>~q>ʱq÷qp÷qp÷qp÷qp÷qp÷qq÷qq÷qq÷q q÷qqvyz{n{{w{{Þ|*6>q>;r>q>Ar>q>Gr>r>Mr>r>Sr> r>Yr>,r>_r>8r>erkrͼqkrͿqkrqkrqkrqkrqkrqkrqkrËr@w"}î}}v~1XÐì*6>›r>r>§r>s>³r> s>¿r>s>r>s>r>s>r>"s>r>(s>r>.s4spr4ssr4svr4syr4s|r4sr4s͂r4sͅr4s͈r4sBsR[]8*6>Rs>ms>^s>}s>js>ʚsþs*;I";Iþs!)/4*)/&|ڔs>2)/9sþs*P/|Ҳs*V/|ڸss>t>s>Kt>t>nt>t>zt>t>ʆtt`iw#w͐|Ht͐x56 `i^#Vr+s%tts!!*d/s*B/sst*f/x56 t*f/x56 t*f/`is#r`i^#Vr+sx5n} ´t͐|ҴtÏt͐|tst!͐*d/sst!9tzv~Ò*6>u>/u>u>=u> u>Ku>,u>QuZut|:utZut|HutZutZu!"9Zueu=z*6>uu>ʜu>u>ʪu>u>ʸu>™u>uu!_ubuu!_ubuu*f/"Ju*f/"JuuR[VIVY õÜc wW*6>v>'v> v>-v>v>Kv>$v>xvÁvuÁvu!0!Juu|HvuÁvu!*f/#*d/u!Ju#|rvuuÁvuuÁv>2x/Ñvõ!9DM*`/͐|v*`/,! s#rv*^/͐|v*^/! s#r*^/͐"^/*`/͐"`/*f/*`/w!*`/*d/͋v;w*f/*^/;w!*^/*d/͋v͎vLwæÄ*B/+"B/6 *?I|`w*/|sw! CwvwFwIwÇwõîz!*^/*d/~w*?I|¥ẃẅ́wðw*\/ͭww*\/;wwÈv*f/*^/w*f/*`/x*Kwx*f/*`/wxÈv*f/*^/6x*f/*`/Ax*KxRx*f/*^/x]xõ!*f/*X/Wx*N/#*X/ZxÓx xõ͇x͊x*J/*\/"X/*X/|Ҿx!"X/*X/*\/+"Z/!*j/*J/+͍x͐xxõÈv*d/*Z/ y*X/#"X/*Z/#"Z/!*T/#*d/#x*T/*^/#x:yõÈv*N/#"X/!*T/#*X/4y*X/*\/+"Z/*T/*^/#7yÎyõî  *d/|ҝy!*f/*d/+yy*d/*X/y*?I|y|y*X/+"X/*Z/+"Z/*?I|y*/|yy! ͂y!͂yͅy!!*d/͈y͋y|y8zõ  î!9DM!*f/*d/# z*d/*Z/tz*?I|qz!#z{*X/#"X/*Z/#"Z/*?I|ʍz{`iw#w*P/|Ҧz! #zz*/|z!*P/#&z! #z!*#/&zz`i6#6)z͐|z,zz!!*d//z2z5z!9{Èvõ*f/*^/I{*)/}G{*f/|G{*K{I{!*f/+*d/{*?I|l{!{z{Èvõ-*f/*`/ڪ{*)/}¨{*f/|Ҩ{*Kq{ê{!*f/#*d/t{*?I|{*@/n&w{{õî!*^/*X/{*?I|{{ | õ UV{*B/n}F|*B/n} F|*f/|F|!*f/#*d/||*B/n}{|*B/n} {|*f/|{|!*f/#*d/|F|*f/|ʐ|*B/n}™|||Ü| |ð| õ Èvî͡|!!*d/#ͤ|ͧ|*B/n}|*f/||!*f/#*d/ͤ||*f/*`/}*f/*`/*Kͪ| }ͭ|:}æ õî- *B/n}F}*B/#"B/*?I|W}*/|d}%}! (}+}!*`/*d/.}*B/n}ʦ}*f/*`/¦}1}*B/n&4}7}1}÷}æ*B/n} }*B/#"B/ø}*?I|}ͱ}ʹ}} õ ÄîW}!!*d/}*B/+"B/6*J/#"J/}}*?I|/~*/|q~! }*V/|k~!}}!!*d/}}}t~}Ñ~ õ Wî!9DMy~!!*d/|~*@/`is#r!!*d/#|~͐"@/*d/+"d/*J/+"J/~*?I|~(*/|~͂~(! ͅ~!*#/͈~!!*Z/͋~~͎~!97*B/n}K*B/#"B/8*?I|V4d-{*B/n}s*B/6 *?I|‹! [!^aÖW*B/+"B/6*J/#"J/͓òW*d/#*J/*B/#"B/+n}*B/n} *B/#"B/*J/+"J/ͯU õ !9DM*9,d*9+!É!!*d/*B/`is#r͐n}r*9#"9+9`i^#Vr+snsI*9#"9+96!É!9çU õÄ W!9DM*9|͕4͘!!*d/͛`iw#w͐*9.*@/#"@/`i^#Vr+s9ns*@/n}+*d/#"d/*J/#"J/͞*3|+.܀ͤ͡!9[U õ æî!9DM*J*Jw@C!*J*d/F! w#w*J*J! s#r*B/`is#r͐͐͐n}! ^#Vr+s446 ! ^#Vr+s44`i^#Vr+snsñ͐ |͐"B/͐446I͐ |~*J*f/~*J*f/`*f/͐+! s#rk*J! s#r!͐*d/F!44LI*f/*Jҟ*?I|ʥO!R!*d/*X/*P/#!R!!*d/UIX!9õ!9DM*X/͐|*X/! s#r*X/͐"X/*Z/͐"Z/!*f/*d/͐bî!9DM`iw#w*d/*Z/ڌ*d/*X/Ҧ*d/"X/*X/*\/+"Z/`i6#6*f/*^/΃*f/"^/*^/*b/+"`/`i6#6*f/*`/*f/*b/+"`/*`/|!,"`/*`/*b/#"^/`i6#6*?I| !P͐+|0YJ͐++|A\J_!P!P!9n  î\!*%/_!*%/!b!!*Z/+++ehkô*f/*^/*V/####*d/*X/*P/#ͱ  î*?I| !*P/|C!*P/*L/!*P/!*\/*X/fõ*P/|گ*Z/*#/"X/*X/|Ґ!"X/*X/*#/"Z/*#/#"\/!"P/"N/"L/*V/|3*R/"^/*^/*'/+"`/*'/"b/*b/"K!"T/"R/!"V/*f/*`/!*`/*d/`3*f/*^/3!*^/*d/`cAU*`/*f/|l*Z/*d/|q;*d/*X/ʹ*X/"L/*d/+"N/*N/*L/#"P/*d/"X/*Z/+"Z/*Z/*X/#"\/*f/*^/*^/"R/*f/+"T/*T/*R/#"V/*f/"^/*`/++++"`/*`/*^/#"b/*b/"K>.  î!9DM*?I|AÝ*/|Q*P/|WÝ*P/#`is#r!͐!͐!"!*\/*X/%(+!9û õ- î*?I|Ƈͩ*`/*f/#*B/ͬ!*`/#*d/ͯ*`/*f/#|! Ͳ͵͸*f/*^/*V/####*d/*X/*P/#!o  î!9DM*?I|ʂ*/|Z*d/*X/*P/#`is#r!͐]!͐!`c!*Z/*d/#*d/fil!9 * Epson * Gemini * Tally Spirit * To Get This Action: Type BACK ACCENT and LETTER: Printer Codes: _________________________________ 210 27 64 128 | Reset | `R | The BACK ACCENT 197 14 128 | Double Width-On | `E | ( ` ) is the 206 20 128 | Double Width-Of | `N | HIGH BIT CHARACTER. 195 15 128 | Condense-On | `C | 227 18 128 | Condense-Off | `c | You press the 194 27 69 128 | Bold (emphasize) | `B | Back Accent ONCE 226 27 70 128 | Bold-Off | `b | ( it will not show 175 27 =S 0 128 | Superscript-On | `/ | on the screen ) 191 27 =S 1 128 | Subscript-On | `? | .....then press the 173 27 =T 128 | Super/Sub-Off | `- | appropriate letter 196 27 =G 128 | Double Print-On | `D | or number. 228 27 =H 128 | Double Print-Off | `d | 213 27 45 1 128 | Underline-On | `U | 245 27 45 0 128 | Underline-Off | `u | See REF.BOOK under 201 27 52 128 | Italics-On | `I | Customization Notes 233 27 53 128 | Italics-Off | `i | for details. 211 27 65 =10 128 | 10/72 Line Space | `S | .......... Touch SPACE BAR to continue ..........  BUT 227 18 128 | Condense-Off | `c | c | NOT IN YOUR 194 27 69 128 | Bold (emphasize) | `B | B | PRINTOUT. 226 27 70 128 | Bold-Off | `b | b | 175 27 =S 0 128 | Superscript-On | `/ | / | HIGH BIT 191 27 =S 1 128 | Subscript-On | `? | ? | CHARACTER 173 27 =T 128 | Super/Sub-Off | `- | - | is a ( ` ) 196 27 =G 128 | Double Print-On | `D | SELECT Order.dex END GROUP prod END PRINT IT Group Example--- The GROUP command provides a summary of the database. It sums the numeric data for records which have like values. The above command line first gets a copy of the database file ORDER.DEX and then GROUPS together all records with the same value for "prod." This gives a summary of the total orders, amounts, shipping charges, etc. for each product, namely, GLUE and PAPER. ------------------------------------------------------------------------------ Product: {prod <} Description: {desc <} Total: Quantity: {quan >} Amount: {am >} Discount: {dis >} Tax: {tax >} Shipping: {ship >} Grand Total: {tot >} ..  Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * prrder records and invoices. ------------------------------------------------------------------------------ Product: {prod } Part Number: {pnum } Description: {desc } Price: {price } a {prod <} b {desc <} c {pnum >} d {price >} a GLUE b 8 oz. Bottle c 101 d 45.65 a PAPER b 50 sheets white bond c 205 d 25.75 -OQgQÕRíWýXZ[\ {o-OO*3|?OO*II"OI*KI"QI O*3|YOO O*3|gOOO*3|uOO!PO"I*I|“O!PO"I*I|ʲO*I~#fo+|²O!"I*I|O*I "CI*CI6>*3|O!O|O*I#"IOOO1O!O*3|²P!!O!!!!O!P$O!!!!O*I!3'O!3*O!P$O!!!!O*I!3'O!3*O!P$O!!!!O*I|ڬP!P$O!"n/countCOUNTGROUP MESSAGES RECORDS GROUPED RESULTING RECORDS INADEQUATE SPACE FOR SUMMED VALUES"Qr^9"SI;I"UI!"I"I"I"I"I"I!"I!"I!s"!K*RARQ͐++++|`R!zR!!csQ!9MISSING MISSING OR MISPLACED äRü `Z|a!9DM*OI*QIR!W!!c͘RÏW>23! 6<*OI`is#r*SI! s#r͐! s#r͐*QI}W͐*UI}W͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} S! ^#Vr+sÄS͐n}±S͐`is#r! w#w͐n} T͐n*/} T͐n*/} T! ^#Vr+s`i^#Vr+sns! ^#Vr+sùS! ^#Vr+s6͐ ! s#r͐*UIzW͐n}eT͐n*/}eT`i^#Vr+s! ^#Vr+s5T͐n}{T`i^#Vr+szW͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}#V͐n}#V͐n} UU`i^#Vr+s! ~#fo͐s#rU͐n}>ʁU͐n}-ʁU͐n}!ʁU͐n}<«U`i^#Vr+sn! s! ~#fo͐s#rU͐n}#U`i^#Vr+s͐n}#U͐+|U! ^#Vr+s! w#wU! ^#Vr+s3`i^#Vr+sns! ~#fo͐s#rU͐|=V͐36EV!3͛R͐͐s#r! ^#Vr+s! s#r! ^#Vr+sw#w͐w#w! ^#Vr+s! s#r! ^#Vr+s! ns! w#w͐3n}V! ^#Vr+s! ^#Vr+s3nsñV! ^#Vr+s6͐͐s#r!3͞R"I*I͐5W͐*I~#fos#r͐6#6! ^#Vr+s͐_W! ^#Vr+s6 5W! ^#Vr+s6! 6#6&TR͐*UIڏW͡R!9RECORD HAS NO FIELDSÿWÑõ^îaü !9DM`is#r! s#r*d/*J/ҋX*3|‹XͰW*D/ͳW`is#r͐|EX͐+|,X͐++++|,X! w#wBX͐|BX! 6#6pX͐|pX*D/!ͶW|pX*D/"B/*J/#"J/ËX*D/͹W͐|ˆXËXW͐|ʦX!X!!cͼW!9MISSING X Zk ü !9DM!YX!0X"I*I|ZY!0X!Y!0X`is#r͐|+Y!Y!!cX͐|;YàY!X!"I!0X!"IÝY*I6#6*I#"I+)WI*Is#r*I|ڝY!Y!!cXàYX!9ON WHAT FIELDS (OR 'LIST' OR 'END')?END LIST FIELD NOT IN RECORDTOO MANY GROUPED FIELDS Z-!9DM! w#w*SI`is#r͐|[͐##! s#r͐~#fo`is#r͐~#fo|[͐~#fo! s#r͐~#fo! s#r͐ ! s#r*I|c[͐ *'/ڳZ! Z! w#w͐n}Z! ^#Vr+sn& Z! ^#Vr+sóZ! Z! ^#Vr+s!! s#r͐ ?! s#r͐ *'/T[͐ ͐ Q[! Z! ^#Vr+s+[`[͐ ! s#rKZ͐! s#r͐n͐n}£[͐n}ʣ[! ^#Vr+s! ^#Vr+so[͐n͐n}ʷ[KZ͐##[KZ&Z![!9[#cÑîac!9DM[*d/*J/\*I|\͐ |\!\[*D/![`is#r͐|9\D\*D/[[*D/͐[*+K+"+K*d/*J/\[*D/͐#[! s#r͐͐ڡ\*D/"B/*J/#"J/\*D/͐[*+K+"+K͐`is#rY\*d/*J/\!"I!\!9]:eXfhHk õ[ml !9DM*I|D]*I~#fo"CI*CIn} 2]*CI#"CI]*CIn}D]*CI+"CI61\`is#r͐|‰]*%K! s#r\!"+K\*+K|]͐"%KÆ]*I#"Ii^*I|ʗ]\"I*3|ʥ]\i^*I|°]i^\͐~#fo! s#r!!͐\!"+K!\\\*+K|Z^!";I*;I8|Z^*;I)I~#fo"1K*1K|P^*1K~#fo͐A^*1K~#fo*+Ks#r*1K##~#fo"1K^*;I#";I]*h/*+K"h/]!9!9DM`iw#w͐8|Ҧ^͐)Iw#w`i^#Vr+sÀ^*!K"%K!9^Ik !9DM͐"CI*CIn}^*CIn}<^^^*CI#"CI^*CI! s#r*CIn}!_*CIn}>_!__*CI#"CI^*CIn}0_!_͐!3͸^!3ͻ^!3!_;^|^_!_!3!_;^|v_!_!3!_;^|ڎ_!_!3!_;^|ڦ_!_!3!`;^|ھ_!_!3! `;^|_!_!_!9!9DM! w#w͐ n}H`! ^#Vr+s! ^#Vr+s%`͐|k`! ^#Vr+s! s#rw`͐ ! s#r͐ n&|җ`͐ n&|Ү`͐61! ^#Vr+s6sa͐+`is#r͐ n&|`͐ n&#ssa͐ 60! ^#Vr+s`i^#Vr+s͐|a͐ n&|a͐ n&|pa! ^#Vr+s! s#r! ^#Vr+s͐ga! ^#Vr+s! ^#Vr+sns.a͐61saù`!9Âaü !a!!caPROBLEM IS TOO COMPLEX!9DM͐! s#r*SI`is#r͐|a͐ |a͐~#fo`is#r! ^#Vr+sa͐|"b*SI`is#r! w#w! w#w.b͐! s#r͐|c͐! s#r! ~#fo####s#r͐! s#r͐n͐n}•b͐n}ʕb! ^#Vr+s! ^#Vr+sab͐n}¸b͐n} ¸b! ^#Vr+sßb͐n}b͐ c! ^#Vr+s͐~#fo`is#r͐|c͐|c! w#w! w#w*SI`is#r.b!c! 9!9DM*SI`is#r͐|ʻc͐##! s#r͐~#fo`is#r͐~#fo|ʸc͐~#fo! s#r͐~#fo! s#r͐##~#fo! s#r͐"CI*CIn}ʵc*CI#"CI+6 ßcYc4c!9!9DM͐ "CI*SI`is#r͐|d͐|d͐~#fo`is#r! ^#Vr+sc͐|d1e͐##! s#r!";I͐~#fo|1e͐~#fo! s#r͐~#fo+|`d.d͐####~#fo"=I͐~#fo"?I*;I*=IҦd*CIn}ʦd*;I#";I*CI#"CI~d*CIn} d*;I#";I*CI#"CIæd*CIn}d1e*;I*?Id.d͐##~#fo"MI*;I*?I.e*CIn}e*MI#"MI+6 $e*MI#"MI+*CI#"CI+ns*;I#";Id.d!9@en!9DM=e*)K)I"/K*/K~#fo"-K*-K|ne!Of*-K####"CI`iw#w! w#w͐*I.f`i^#Vr+s)WI~#fo~#fo"'K*CIn*'Kn}e*CIn}e*CI#"CI*'K#"'Kðe*CIn} e*CI#"CIe*'Kn} f*'K#"'Ke*CIn}(f*'Kn}(f*CI#"CI! ^#Vr+sÆe.fÆe͐͐Df*-KOf*-K##"/KVe! 9afnü !9DM[f*%K"-K*-K##"-K++*d/s#r*-K##"-K++w#w*-K"'K`iw#w͐*IOg*'K*#KOg`i^#Vr+s)WI~#fo~#fo"CI*CIn} f*CI#"CIf!"?I*CIn}g*'K#"'K+*CI#"CI+ns!"?If*?I|Bg*'K+"'K*'Kn} ;g*'K+"'K'g*'K#"'K*'K#"'K+6ßf*)K)I~#fo|tg*)K)I*%Ks#rîg*)K)I~#fo"-K*-K##~#fo|ʠg*-K##~#fo"-KÃg*-K##*%Ks#r*'K"%K*%K*#Kg!g!!c^f!9NEED FEWER RECORDS OR SHORTER FIELDShÉ !9DM*II"MI*SI`is#r͐##! s#r! s#r! s#r*@/! s#r*MI*KI=k*MIn}h*MIn*/}h*MIn*/}¦h*@/#"@/6 *MI#n*/}£h! 6#6õh*@/#"@/*MIns*MI#"MI*f/#"f/Oh*MIn}ci͐~#fo`is#r͐##! s#r*MI#"MI͐ | i͐| i*@/n}i*@/+"@/i!"f//i!Fkh*+K#"+K! s#r! s#r*3|`i*B/*@/|`i=kOh*MIn*/}ʄi*MIn}ʄi*MI#"MIci*MIn}ʔi*MI#"MI͐~#fo! s#r͐! s#r͐####~#fo"=I͐~#fo"?I*?I*=I#"=I͐ n! s͐##~#fo"CI*CIn} j*CI#"CIi*CIn}"j*=IhOh! 6#6*CI"EI*EIn}Tj*EIn} Jj*EI"GI*EI#"EI1j*GI#"GI*GI*CI";I*;I*=I҃j*=IhOh*GI*EIšj!"GIßj*GI6*=I*;I"=I! n}j-j!"k-k*CI h*=Ih-k*=Ih*CI h-k*=I";I*;Ih*CI h*=I*;Ih-k*CI h-k*GI|:k*GI6 Oh!9 Qk%pü !9DM*SI`is#r! w#w͐|Fl͐##! s#r͐~#fo`is#r͐~#fo|Cl͐~#fo! s#r͐ "CI͐~#fo+|k͐ ~#fo+|k*CIn}>kÏk͐##~#fo"CI!*CI͐3Kk͐|.l!Vl!!cNk@l! ~#fos#rÏkjk͐Ml!9TOO MANY FIELDS TO SUMyl%p]pÔp!9DM*SI`is#r! w#w͐|n͐##! s#r͐~#fo`is#r͐~#fo|n͐~#fo! s#r͐ "CI͐~#fo+| m͐ ~#fo+| m*CIn}>m÷l͐##~#fo"CI*CIn}*Km!*CI!1pl͐3!1sl! ~#fos#r*CIn}*jm÷l> 244!1!64vl!";I!"=I*C4} –m>02C4*;I|m*=I#"=I+44*;I#";I+44nsÖm*=I44*/s!"=I*=I44n}0m*=I+"=I#446 m*=I44n*/}n*=I446 >2Q4!"=I*=I44n} 3n*=I#"=In*CI! s#r*CIn}pn*=I44n}pn*CI#"CI+*=I#"=I+44ns>n*=I44n} ˆn*=I#"=Ipn*CIn}ʞn*CI#"CI+6 Èn͐"CI*=I44n}n*CIn}n*CI#"CI+6*òn*I#"I÷lÒl! 9!9DM`iw#w!")K͐*IKo`i^#Vr+s)WI~#fo~#fo"CI*CIn}Ho*CIn} >o*)K*CInѯg")K*CI#"CIon*)K8|do*)K8")KKo*)K|ro!")K!9Áo !9DM͐ |ҡo͐ ! s#r`i6#6'͐ ͐! s#r͐| p͐| p`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 ýo͐ ͐~o!9+p !9DM*6͐͐͐!* /(p"6cp !9DM*6͐!͐!* /`p"6Úp !9DM͐!͐!* /͗p ........................................ : : : : : Please replace HELP Disk : : : : with DEMO Disk : : : : : :......................................: Touch the SPACE BAR to continue.  : : : Please replace HELP Disk : : : : with DEMO Disk : : : : : :................ single sided / double density users: .................................... : : : Please replace HELP Disk : : : : with COMMAND Disk : : : :..................................: Touch the SPACE BAR to continue.  : : : Please replace HELP Disk : : : : with COMMAND Disk : : : :..................................: Touch the SPACE BAR to TOPIC (in boxes); HELP (main menu); END (end Help): --->> = HELP.1 HELP WP EDIT KS EE INFO MT SR CM MC TABS KM ALIGN PRINT DC CONT TOPIC = HELP.2 SS COMPUTE EX VCS VISOR OT HCL CONSTANTS CLEAN COMBINE = HELP.3 DB DBMS RECORD FORM RULES EQ WHEN SET FIELDS UPDATE DBKS RR SE COMPLETE GROUP UNIQUE SELECT CDB RG EFF LINK ORDER = HELP.4 LP SORT TALLY FIND REPLACE KEEP DROP RPF ARRANGE = HELP.5 FM C CLIP CREATE DATA DELETE DO FILES GET HP INSERT LIST MERGE POSITION RENAME SAVE STOP = HELP.6 BAR = HELP.7 SC PROOF CORRECT SPELL AMEND = HELP.8 GS LS PR CK + 1 HELP T / M A K E R * MAIN HELP TOPIC MENU * CP/M 80 ................................................... : : : Getting Started & Demo's [ GS ] : : Word Processing : : * File Management [ FM ] : : * Editing Text [ WP ] : : * Spelling Checker [ SC ] : : : : SpreadSheet [ SS ] : : : : Relational DataBase Mgmt [ DB ] : : : : Bar Chart Graphics [ BAR ] : : List Processing [ LP ] : : : : Command Menu [ C ] : : : :.................................................: --->> To get HELP, type the INITIALS of the TOPIC and the RETURN Key: + 1 WP ** Word Processing Help TOPIC Menu ** * Command * * Other Stuff * ........................ .......... : : Print Design Commands : DC : : CREATE GET : (footnotes,pg#,etc.) : : : EDIT ALIGN : : : : SAVE PRINT : Linking Text files together : CONT : : : :........: :......................: * EDITing KeyStrokes * .......... .......... KeyStrokes (Moving Cursor) : KS : Searching & Replacing text : SR : Exiting the Editor : EE : Change Carriage Retn Modes : CM : Getting INFO about a file : INFO : Tabs : TABS : Revising Text : KS : Keystroke Macros : KM : Moving Text : MT : Change Editing KeyStrokes : CK : :........: :........: + 1 EDIT 1/1 WHAT NEXT? EDIT or E ---- --- The EDIT Command puts you into T/Maker's Editor, and allows you to enter, modify, and delete text. You "run" around T/Maker via "T/Maker KeyStrokes". KeyStrokes give you extensive control over the screen cursor. REMEMBER - You use the EDIT Command for EVERYTHING you do with T/Maker (That is, you will create SpreadSheets, DataBases, form letters, etc... ... with the T/Maker EDITor.) + 2 KS * MOVING CURSOR * Cursor Up......Up Arrow Key Screen Up...... Up Arrow Key Cursor Down....Down Arrow Key Screen Down.... Down Arrow Key Cursor Left....Left Arrow Key Screen Left.... Left Arrow Key Cursor Right...Right Arrow Key Screen Right... Right Arrow Key Home the Screen: O Return to Left Margin : Home the Cursor: P Advance to Next Word : P Advance to End Of Line: P Move to Top Line : A Move to Bottom Line: Z * REVISING TEXT * Insert Character..................W Insert Line.............R Delete Character..................E Delete Line.............T Delete to End Of Line.............Y Break Line.............. > Delete Spaces to Next Char........U Join Line............... < + 2 EE _____Exiting the T/Maker Editor_____ To Exit T/Maker's Editor, type: Q ------- You will NOT lose any of your work if you decide to momentarily jump out of the T/Maker Editor. HOWEVER: If you want to GET or CREATE another workfile, make sure you SAVE the current workfile. You WILL lose the changes you just made to the file if you don't tell T/Maker to SAVE them for you. + 2 INFO _____Getting Information About A File_____ OUTSIDE THE EDITOR: 1/1 WHAT NEXT? INFO ---- INSIDE THE EDITOR: To get the INFO Line, type: ? To get rid of it, type: # ------- (Clean Screen) ------- Note: The INFO Line will NOT affect any part of your workfile. + 2 MT _____Moving Text With T/Maker_____ You Move Lines in T/Maker with the help of the T/Maker BUFFER. The BUFFER is a temporary STORAGE DEVICE (holding 150 lines of text). * Place your cursor on the line you want to move or copy. Carbon COPY a line to Buffer : F ---- Physically MOVE a line to Buffer: G ---- * Move your cursor to the line where you want Text Inserted. INSERT a copy of the Buffer, type: D ------ * To CLEAN out Buffer, type: C + 2 SR _____Searching & Replacing_____ While in the T/Maker Editor, SEARCH for a String by typing...... ' CONTINUE the Search by typing...... & REPLACE a String by typing......... " --------- HINT: If you "accidentally" hit the SEARCH KeyStrokes, simply SEARCH for ANYTHING to get back to EDIT Mode. HINT#2:If you "accidently" hit the REPLACE KeyStrokes without meaning to REPLACE something, simply REPLACE something with itself. EX: REPLACE z z + 2 CM _____CARRIAGE RETURN MODES_____ Choose from 3 different Carriage Return Modes. T/Maker starts in the: MANUAL RETURN MODE. By hitting R once, and you'll "toggle" to DRAFTING or WordWrap MODE. Hit R again, you'll "toggle" into TABLE MODE. R 1) MANUAL RETURN Mode ( You must manually return the cursor when it gets to the end of the screen). R 2) DRAFTING RETURN Mode ( Same as Automatic Word-Wrap - Cursor is automatically returned at column 63) R 3) TABLE Mode (Cursor will NOT return at end of screen. Instead, will continue scrolling across all 300 character columns) When you ask for a MODE CHANGE, T/Maker will give you an INFO LINE report, which tells you the appropriate Mode Change was made. To CLEAR this report, type: # (which REDRAWS the Screen). + _____Other T/Maker "MODES "_____ INSERT MODE: Type: I --------- Sets T/Maker to Automatic-Continuous INSERT of Text. FRAME MODE: Type: F --------- You can FRAME certain areas of text so that they will not be affected by cursor movements. Place the cursor inbetween the area you wish to STABILIZE and the area you wish to SCROLL through and type: F + 2 TABS _____Setting TABS_____ SET A TAB: TAB CLEAR A TAB: TAB ("Set All Tabs" sets a tab SET ALL TABS: S TAB at the first character of every word or string on the CLEAR ALL TABS: C TAB line the cursor is on.) ----------------------------------------------------------------------------- 1/1 WHAT NEXT? TABS ---- To save TAB settings with subsequent SAVE Commands during this session. 1/1 WHAT NEXT? NOTABS ------ To stop subsequent SAVE Commands from saving TAB settings. ( Default Setting) + 2 KM _____Keystroke Macros_____ A Keystroke Macro remembers EVERY keystroke you ask it to, and REPEAT the sequence as many times as you would like it to. BEGIN MACRO : B (Starts RECORDING Every KeyStroke) END MACRO/ EXECUTE ONCE : X (Ends RECORDING Session... ) END MACRO/ EXECUTE # TIMES : Z (Repeats Every KeyStroke hit) NOTE: Once you Exit the Editor, T/Maker will forget your Keystroke sequence. + 1 ALIGN 1/1 WHAT NEXT? ALIGN ----- T/Maker uses VISUAL SYNTAX wherever possible. T/Maker ALIGNs text using on-screen ALIGNing WEDGES. You give T/Maker an example of the ALIGNment you want via Left and Right ALIGNing Wedges PLACED ABOVE the text to be ALIGNed - Exit the Editor and type: ALIGN - and T/Maker will ALIGN your text per your example. " ALIGN BY EXAMPLE " (EXAMPLE WEDGES placed above text to be ALIGNed) <<< >> <<< ->> >><< RIGHT & LEFT JUSTIFIED RIGHT-RAGGED EDGE STOP ALIGNING TEXT has margins like this. looks kinda like this. << >> << ->> <<- >> FIRST LINE FREE. FIRST LINE FREE. CENTERED RIGHT & LEFT JUSTIFIED RIGHT-RAGGED EDGE TEXT for the remaining text for the remaining text. (perfect!) + ALIGN hints! ----- Please Note: Only one set of WEDGES per Line. Text continues to be ALIGNed by above EXAMPLE ALIGN LINE until it hits new EXAMPLE ALIGN LINE. ALIGNing text follows the T/Maker VISOR Principal: T/Maker can only "see" from the point it exits the work file downwards. Thus, T/Maker will ALIGN text from the point we jump out of the Editor downward. Don't worry about the Wedge Line showing up when you print your work file. They won't! You can also TAG a Wedge for future use. Define the TAG with a one letter name. For Example: <<< a >> To recall this wedge, you need only to type the following: <<=a + 1 PRINT 1/1 WHAT NEXT? PRINT ----- T/Maker will PRINT the Workspace or disk file by prompting you with: 1/1 WHAT OPTION OR FILENAME (OR 'IT')? To PRINT Current Workspace, type: IT To PRINT another Disk File, type: filename The PRINT Command brings the Printer's Prompt to the screen: NEXT PAGE 1 (YES.SCREEN.NO.GO.QUIT)? One of the following answers should be given: ....... : Y : Prints the next page to the printer. : S : Prints the next page to the screen for pre-viewing. : N : SKIPS the next page, and re-prompts you for next next page. : G : Prints all the workfile pages, without further prompting. : Q : Quits the PRINT command. :.....: + PRINT ----- Because T/Maker allows you to "stack" Commands, you can specify some of the PRINT Options before giving the filename or IT option. ................ : NONSTOP : Pre-answers Printer's Prompt with Y. : NUMBER n : Start numbering pages with n. : FROM n : Start printing from page n. : TO n : Print pages through page n. :..............: PRINTing text follows the T/Maker VISOR Principal: T/Maker can only "see" from the top of the screen downwards. Thus, T/Maker will PRINT text from the point we jump out of the Editor downward. _______________ EX: PRINT the work file pages 10 through 20 continuously without prompts. 1/1 WHAT NEXT? PRINT NONSTOP FROM 10 TO 20 IT ------------------------------ + 2 DC _____Print DESIGN COMMANDS_____ The following PRINT DESIGN Commands go in your text and tell the printer what "action" to take. (Of course, the DC's won't show up in the printing.) Print Design Commands (DC) ALWAYS start with a . in the first column, followed by the ACTION. ACTION will continue in force until an overiding ACTION is requested. .width 80 (Sets page or panel width at, e.g., 80 columns) .pagesize 66 (Sets physical page size of a page, e.g., 66 lines) .length 60 (Sets usable length of a page, e.g., 60 lines) .number 3 (Sets page # of current page, e.g., start numbering at page 3) .single (Single spaces the following text) .double (Double spaces the following text) .clean ("Clean" the Equations in the following table before printing) .noclean (Prints the following table with Math Equations showing) .indent 6 (Shifts the following text 6 positions to the right) + _____Print DESIGN COMMANDS_____ .+ (Bolds all previous line) ._ (Underscores all previous line) .= (Underscores all words in previous line) .& (Overprints previous line with next line) . (Re-Start ALIGNing) ., (Does ALIGNing before & after the line-but leaves line as is) ..You Bozo ! (Comment Line - line appears on screen but does not print) .23 (Advances printer to the 23rd line of the page) .newpage (Forces the printer to place the following text on a new page) .newpage 5 (Forces the printer to place the following text on a new page if less than 5 lines are left on the current page) .continue filename (Tells the printer to automatically get the next file and print it. A working file can contain many .continues) + FOOTNOTES .footnote -------------- 1) This is a footnote. It will automatically be positioned and printed at the bottom of the page. .end BLOCKing TEXT .block BLOCKing Text forces everything in the "block" to be printed on the same page. BLOCKing Text is especially useful in making sure the bottom of a Table will not get "chopped off" and partially printed on the following page. .end + .top 2 ---------- HELP ---------- # of 8 REPORT .end TOP ROUTINE (Page Heading) This line will appear at the top of each page starting with page number 2 It can also be used to number the pages. T/Maker will replace the "#" sign in the line above with the correct page number + .bottom --------------------------------------------------------------------------- page # .end BOTTOM ROUTINE (Page Numbering) This line will appear at the bottom of each page. A Number Sign (#) within Bottom Routines provides for automatic page numbering. + 2 CONT _____Linking T/Maker Text Files Together_____ You may decide to do a large report or paper in "sections". You can "link" T/Maker text files together (so that pages automatically number correctly) by using the: .continue filename PRINT DESIGN COMMAND. ------------------ * The working file can contain numerous .continue Commands. * T/Maker will recognize the first .continue Command in a disk file. * .continue is a PRINT DESIGN Command and MUST begin in the FIRST COLUMN + 1 FIND 1/1 WHAT NEXT? FIND ---- FIND will find the first occurrence of the String and bring it to the Top Line of the Screen. EXAMPLE: FIND the last name KUPTZ in the following text. 1/1 WHAT NEXT? FIND KUPTZ ---------- + 1 REPLACE 1/1 WHAT NEXT? REPLACE ------- REPLACE will replace all occurrences of a String. EXAMPLE: REPLACE the last name Zirn with Herring. 1/1 WHAT NEXT? REPLACE Zirn ------------ T/Maker will ask you what you want to replace it with. WITH WHAT STRING? Herring ------- + 1 TOPIC A T/Maker "TOPIC" is a TOPIC to receive additional HELP on. HELP TOPICS are CAPITALIZED and located in the darker BOXES in each HELP MENU. Partial List Of HELP TOPICS .............................................................................. : : : WP SS DB LP FM BAR SC : : : : EDIT COMPUTE UPDATE SORT GET DO PROOF : : ALIGN COMBINE SET TALLY CREATE DELETE CORRECT : : PRINT CLEAN COMPLETE KEEP SAVE RENAME SPELL : : FIND GROUP DROP STOP CLIP AMEND : : REPLACE SELECT ARRANGE INFO INSERT : : ORDER FILES MERGE : : DELETE LIST : : : :............................................................................: + 1 SS ** SpreadSheet Help TOPIC Menu ** * Starting Out * * Commands * ............. ............... : : : : Example Line: : EX : : COMPUTE : Vertical Calculation Strips : VCS : : CLEAN : Operators & Terminators : OT : : COMBINE : ( Built-In Formulas ) : : : : Horizontal Calculations Lines : HCL : :.............: Visor Principal : VISOR : : : :...........: + 1 COMPUTE 1/1 WHAT NEXT? COMPUTE ------- COMPUTE tells T/Maker to "calculate" values according to the horizontal calculation lines and vertical calculation strips. ----------------------------------------------------------------------------- To successfully "calculate" a T/Maker SpreadSheet: (Must Have) An EXAMPLE LINE (Must Have) VERTICAL CALCULATION STRIP(S) (Optional) HORIZONTAL CALCULATION LINE ----------------------------------------------------------------------------- * You can intersperse as much text above, around, under, or inbetween a SpreadSheet Table as you wish. + 2 EX ** Calculation By EXample ** T/Maker "calculates by example". An EXample line contains MODEL NUMBERS that tells T/Maker where you wish to place your values, and what accuracy they should have. ----------------------------------------------------------------------------- EX 9,999 9.99 9.99999999999 9,999,999.99 ----------------------------------------------------------------------------- T/Maker loosely defines a "cell" as the area underneath the MODEL NUMBERS of the EXAMPLE LINE on all Spreadsheet Rows. Numbers are entered underneath MODEL NUMBERS. Please Note: An EXAMPLE LINE consists of: 1) The two letters EX in the FIRST TWO COLUMNS. The first 7 columns are RESERVED for Operators and Terminators ONLY! 2) Model Number(s) STARTING from column 8 onward. A MODEL NUMBER tells the ACCURACY and FORMAT of a column of numbers. + 2 VCS A VERTICAL CALCULATION STRIP (VCS) is a "sideways" equation - very similar to the type we used on ChalkBoards when performing basic math as students. Certain rules must be followed, however: _____________________________________________________________________________ * All rows in a speadsheet must have either an Operator or a Terminator in one of the first 7 Reserved Columns. * All Operators or Terminators forming a VERTICAL CALCULATION STRIP equation MUST be in the same column. * You may start a New Equation in the same column immediately AFTER a Terminator... * The Vertical Equation will be carried out on EVERY COLUMN in a TABLE. + _____SpreadSheet EXAMPLE_____ COMPUTE-ing THIS TABLE........WILL RESULT IN THIS TABLE .................... ................... :EX 999.99 : :EX 999.99 : EXample Line : : : : :+ 250.0 : :+ 250.00 : (DATA ROW) :+ 50 : :+ 50.00 : (DATA ROW) : ------ : : ------ : := + : := + 300.00 : (DERIVED ROW) : 100.0 : : - 100.00 : (DATA ROW) : ------ : : ------ : : = + : : = + 200.00 : (DERIVED ROW) : / 4 : : / 4.00 : (DATA ROW) : ------ : : ------ : : = : : = 50.00 : (DERIVED ROW) :..................: :.................: A "DATA ROW" has NO Terminator in it: A "DERIVED ROW" HAS a Terminator in it. NOTE: Remember the "Visor" Principal; Always "home cursor" before each COMPUTE. + 2 VISOR The VISOR PRINCIPAL: Because T/Maker is like a giant ChalkBoard that you constantly step up to (In the Editor) and step away from (Outside the Editor), T/Maker has to have a way of "positioning" the screen when you Exit the Editor (After all, your screen can only hold 80 columns and 24 rows; we know T/Maker's ChalkBoard is much larger than that). Thus, T/Maker assumes that the line that you Exit the Editor on becomes the Top Line that you will see on your screen. The Top Left coordinates are displayed to the left of the WHAT NEXT? prompt. The VISOR PRINCIPAL says: T/Maker wears a VISOR HAT when it Exits the Editor - It CANNOT see above the Top Line of the Screen. This means that T/Maker will IGNORE information above the Top Line of the Screen - which means you MUST Home the Screen or or Home the Cursor before you execute a COMPUTE (or ALIGN, etc...) The ONLY exception to the VISOR PRINCIPAL is the SAVE Command: a SAVE will always SAVE the entire current work file. + 2 OT ___________________________Operators & Terminators___________________________ Math Equations are formed using "Operators" & "Terminators". (Operator) + (Operator) = (Terminator) ______________________________OPERATOR SYMBOLS_______________________________ + Addition * Multiplication - Subtraction / Division _____________________________TERMINATOR SYMBOLS______________________________ = Simple result | sin Sine of result (radians) % Result multiplied by 100 | cos Cosine of result # Result divided by 100 | tan Tangent of result rec Reciprocal of result | atn Arctangent sqr Square root of result | sgn Sign of result (+1, 0, -1) abs Absolute value of result | ply Max of zero and result avr Result divided by number of | nly Max of negative of result plus signs in equation | and zero exp e to power of result | sfh Result subtracted from 100 log Natural log of result | sfo Result subtracted from 1 /10 log to base 10 of result | + _____Special Terminators_____ MAX of two | MIN of two | PERCENT | The "+ number" | The Total numbers | numbers | CHANGE | raised to the | number of denoted | denoted | between | power of the | + signs in by + and * | by + and * | two numbers | "* number" | an equation | | | | + | + | + | + | + * | * | * | * | + max | min | ~ | ^ | cnt + _____Built-In Formulas_____ Special Notations: (Horizontal Calculations ONLY) dis + + net NET PRESENT VALUE : DIScount rate applied to + columns. + + + + prj PROJECTED GROWTH RATE :The leftmost + column projected to right based on the growth rate in the PRJ column. + + + + inc INCREMENTAL (Linear) GROWTH : The leftmost + column is projected to right based on increment in INC column. - / + + grw GROWTH RATE in going from - to + columns. The / column is the number of periods. - * * + grw GROWTH RATE in going from - to + columns. The * column is used to mark intervening periods. + + + + pch PERCENT CHANGE : % change from one + column to another. + + + + pct PERCENT OF : + columns are converted to % of PCT column. + _____Built-In Formulas_____ Special Notations: (Horizontal Calculations ONLY) + + + + cum CUMULATIVE DISTRIBUTION : + columns are converted to a Cumulative Distribution (Left to Right). + + + + chg ABSOLUTE CHANGE BETWEEN COLUMNS : + columns are converted to represent the difference between a + column and the column to its left. + + + + mvr MOVE Column RIGHT: Value of + columns moved over one column. + + + + mvl MOVE Column LEFT : Value of + columns moved over one + 2 HCL _____HORIZONTAL CALCULATION LINES (HCL)_____ Horizontal Calculation Lines (HCL's) are horizontal equations in a T/Maker SpreadSheet. ----------------------------------------------------------------------------- * ALWAYS begin with a "Calculation Line Control Code" (See below). * Operators & Terminators MUST appear underneath Model Numbers on the EXample Line. + _____The SIX Calculation Line Control Codes_____ * Control Codes specify the set of rows upon which the specific HCL Equation will be carried out on. * HCLs have a number in the third column which specifies the order in which the equation will be carried out RELATIVE to the other Calculation Lines. ----------------------------------------------------------------------------- AC# :ALWAYS COMPUTE : Applies to all rows JC# :JUST COMPUTE : Applies ONLY to NEXT row UC# :USUALLY COMPUTE: Applies to ALL DATA ROWS (Rows that do NOT have a Terminator in them) RC# :RARELY COMPUTE : Applies to ALL DERIVED ROWS (Rows that HAVE Terminators in them) CC# :CANCEL COMPUTE : Cancels all calculations below this point. SC# :SUSPEND COMPUTE: Suspends all calculations for NEXT row ONLY + ** Example SpreadSheet ** NOTE: DATA ROWS have ONLY OPERATORS in them. DERIVED ROWS have TERMINATORS in them. .............................................................................. : Item-Type Number Price Total : : : :EX 9,999 9.99 9,999.99 | EXample Line : :uc1 + * = | Applies to Data Rows: : | : :+ Item-A 2,000 1.25 2,500.00 | DATA ROW : :+ Item-B 100 2.50 250.00 | DATA ROW : : ----------------------------------------------|----------------- : := Total 2,600 3.75 2,750.00 | DERIVED ROW : : : :............................................................................: + 1 CONSTANTS Constants can be set in a spreadsheet with the use of Horizontal Calculation Lines. See QUICK REF. BOOKLET for details. + 1 CLEAN 1/1 WHAT NEXT? CLEAN ----- CLEAN "wipes out" all notation for VERTICAL CALCULATION STRIPS and HORIZONTAL CALCULATION STRIPS, making a T/Maker COMPUTE Table suitable for report publication. (CLEAN eliminates the first 7 columns of text.) CLEAN will leave Print Design Commands intact, however. _____________________________________________________________________________ WARNING: If you issue a CLEAN Command without first SAVE-ing a SpreadSheet, you canNOT get your Vertical or Horizontal Equations back. SOLUTION: SAVE before CLEANing BETTER SOLUTION: Use the Print DESIGN COMMAND .CLEAN before each Table, and .NOCLEAN after each Table. You won't lose any equations & your Tables will still be "publication quality". + 1 COMBINE 1/1 WHAT NEXT? COMBINE ------- COMBINE allows you to "combine" a SpreadSheet in the Work File Area with similar SPREADSHEETS on disk on a CELL by CELL basis. A COMBINE Must: Have at LEAST one Operator and one Terminator. Have parameters separated by ONE SPACE. (See REF. MANUAL for Examples) l be "publication quality". + 1 COMBINE 1/1 WHAT NEXT? COMBINE ------- COMBINE allows you to "combi+ 1 DB ** Relational DataBase Management TOPIC Help Menu ** * Commands * * Starting Out * .............. ........................... : : : : DataBase Definition : DBMS : : UPDATE ORDER : Record Definition : RECORD : : SELECT GROUP : Form Definition : FORM : : SET COMPLETE : Rules Definition : RULES : : : Rule Equations : EQ : :.........................: : : :............: * Getting Around A DataBase * * Other Stuff * .......... ............. DataBase KeyStrokes : DBKS : Efficient DataBases : EFF : Revising Records : RR : Changing DB Structure : CDB : Searching a DataBase : SE : Report Generation : RG : :........: Linking DataBases : LINK : Redundant Records : UNIQUE : :...........: + 1 DBMS _____DataBase Management with T/Maker_____ Doing a DataBase with T/Maker is as simple as using the Word Processor - that's because we use the Word Processor to create our DataBase ! ---------- A T/Maker DataBase has up to 3 components : (must have) (1) RECORD DEFINITION (optional) (2) FORM DEFINITION (optional) (3) RULES DEFINITION + 2 RECORD _____RECORD DEFINITION_____ ** A Record Definition ALWAYS begins with and ALWAYS ends with ** "Fields" are placed in BETWEEN these two markers. ** Each "Field" should exist on a separate line, and start with a Unique Number (actually called the Field "Label".) ** The order of the Fields in the Record Definition is NOT important. ** Is ALWAYS defined AFTER the Form Definition and Rules Definition. ** NO BLANK lines should be in a Record Definition. ----------------------------------------------------------------------------- EXAMPLE: Employee Address Record 1 {lastmame } 2 {firstname} 3 {address } 4 {city } 5 {zip} + 2 FORM _____FORM DEFINITION_____ While the Record Definition describes the basic "pool" of information fields, the FORM DEFINITION allows us to dip into the "record pool" and present info-fields in any order, manner, and design we wish. ---------- * A Form Definition ALWAYS begins with and ALWAYS ends with * Fields can be placed ANYWHERE on the screen. * A FORM can be a maximum of: 80 characters wide and 23 rows long. * You can attach up to 7 DIFFERENT FORMS to one DataBase. * A Form Definition is defined BEFORE the Rules and Record Definitions. * You can insert as much "design-text" as you wish. + _____EXAMPLE: ADDRESS CARD_____ ________________________________ Address Card _____________________________ Last Name: {lastname } FirstName: {firstname} Address: {address } City: {city } State: {#state} Zip Code: {zip} ___________________________________________________________________________ + 2 RULES _____RULES DEFINITION_____ We can turn our DataBase in to a type of "SpreadSheet" by defining "RULES" between different FIELDS in our DataBase. The RULES DEFINITION expresses the relationships that we want to SET. --> (See SET for more information on the SET Command ) ----------------------------------------------------------------------------- ** A Rules Definition ALWAYS begins with and ALWAYS ends with ** ALWAYS is defined BEFORE a Record Definition and AFTER a Form Definition. ----------------------------------------------------------------------------- Rules EXAMPLE Tax = (Quantity * Price) * 0.065 when State = CALIF Total = (Quantity * Price) + Tax _____________________________________________________________________________ * (See FIELDS for more information on FIELDS ) * (See EQ for more information on the Equations used in RULES) + 2 EQ _____RULE EQUATIONS_____ A "RULE" will define or calculate the value of a Field in relation to other Fields in a DataBase. Defining a "relationship" is just like writing a simple (or complex) formula on a ChalkBoard. * The following Operators may be used for Rule Equations * + Addition | < Less Than | <= Less Than or Equal To - Subtraction | > Greater Than | >= Greater Than or Equal To * Multiplication | = Equal To | / Division | <> Not Equal To | _____________________|_____________________|________________________________ | contains e.g. "the" contains "h" | not a logical "not" within e.g. "h" within "the" | and a logical "and" among e.g. "A" among " A B" | or a logical "or" + 3 WHEN _____WHEN Statements_____ A WHEN Statement allows you to "selectively" calculate DataBase Rules "if" certain conditions or criteria are met. WHEN Statements are placed in the RULES DEFINITION. The WHEN CONDITION is the "situation" that must be "true" in order to carry out the first part of the equation. ----------------------------------------------------------------------------- tax = (price * 0.65) WHEN (State = California) ----------------------------------------------------------------------------- + WHEN EXAMPLES Quantity 999 = Quantity Price 9,999.99 = Price Shipping 99.99 = Shipping Tax = (Quantity * Price) * 0.065 WHEN State = CA Tax = 0 WHEN State >< CA Total 999,999.99 = (Quantity * Price) + Tax + Shipping Comment = "Great Sale!" WHEN Total > 1,000 __________ NOTES: Note that we can specify the "format" and "accuracy" of numerical fields if we wish. The "Model Number" is placed after the Field Name and before the = sign. + 1 SET 1/1 WHAT NEXT? SET --- SET "sets" in motion the numeric or character equations as defined in the RULES DEFINITION. Numerical or Character Equations: Any field in the Record can be the result of a relationship between other fields in the Record. (See FIELDS for more on Fields) (See RULES for Rules Examples) + 1 FIELDS _____DataBase FIELDS_____ A FIELD is a piece of information. It is defined by a FIELD NAME surrounded by a { and a } . ----------------------------------------------------------------------------- EX: {lastname} is a DataBase FIELD for a Last Name and is 10 chars wide. ----------------------------------------------------------------------------- Numerical Fields are defined by a > symbol (and are RIGHT JUSTIFIED) Character Fields are defined by a < symbol (and are LEFT JUSTIFIED) or by a - symbol (centered in Field) These Field Justifiers can be placed anywhere between the { and } . ----------------------------------------------------------------------------- EX: {>total} is a FIELD for the number Total and is 8 chars wide. ----------------------------------------------------------------------------- If you do not specify the "type" of field: The Field defaults to a CHAR FIELD, or To the PREVIOUSLY DEFINED FIELD TYPE. + 1 UPDATE 1/1 WHAT NEXT? UPDATE ------ UPDATE is used to input or revise information into a DataBase. UPDATE will allow you to use almost all of your standard Editing KeyStrokes ONLY in the areas as defined in the FORM and RECORD DEFINITION - that is, in the FIELD areas between the { and } . ----------------------------------------------------------------------------- To Exit a T/Maker UPDATE, type: Q ----------------------------------------------------------------------------- WARNING: T/Maker will NOT automatically save your update. To SAVE your UPDATE session, leave the T/Maker Editor and type: SAVE. + 1 DBKS _____T/Maker DataBase KEYSTROKES_____ Record Up : Up Arrow Key Record Down : Down Arrow Key Move to First Record: A Move to Last Record : Z Move to Top of Record: O Advance to Next Word : P Advance to Next Field: TAB Next Field Up: Up Arrow Key Cursor Left : Left Arrow Key Next Field Down: Down Arrow Key Cursor Right: Right Arrow Key Return to Previous Field: TAB Return to First Field on Next Line: + _____Changing Screen Forms_____ You can display data with up to 7 different types of Screen FORMS. (Viewing one at a time) To Scroll through each FORM DEFINITION, type: F EXAMPLE: Form 1: Enter First Name: {FIRSTNAME} Form 2: Enter Last Name : {LASTNAME } In UPDATE, Type: F to view FORM 2. Type: F to get back to FORM 1. + 2 RR _____Inserting and Deleting Records_____ Insert A Record: > (Inserts a BLANK Record) Delete A Record: < (Deletes the currently displayed Record) _____Moving and Copying Records_____ Copy to the Buffer : F Move to the Buffer : G Insert (Dump) Buffer: D Clear Buffer : C NOTE: The Buffer will only hold one complete Record. Also, the Buffer automatically EMPTIES when you Exit the UPDATE Mode. + 2 SE _____Searching a DataBase_____ SEARCH for a String by typing: ' CONTINUE the Search by typing: & ---------- HINT: The T/Maker "Visor" Principal applies to SEARCHes through a DataBase. Remember to ALWAYS HOME THE SCREEN (go to top line!) before attempting a SEARCH. + 1 COMPLETE 1/1 WHAT NEXT? COMPLETE -------- COMPLETE links information from two or more separate DataBase Files. It brings in data into the work file on the basis of a KEY FIELD. If you have partial data in one file that can be "COMPLETEd" with the data in another file, simply specify the NAME of that other FILE, and the KEY FIELD that is common to both files. ( See Reference Manual under "COMPLETE" for Examples. ) + 1 GROUP 1/1 WHAT NEXT? GROUP ----- GROUP summarizes data in a DataBase workfile and presents a report of its results. (For numerical values, GROUP will "total" the values in the Key Field. For character values, GROUP will simply present the Key Field Label.) GROUP on as many KEY FIELDS as you wish. * Type LIST for a list of KeyFields. (See Reference Manual for GROUP Examples.) + GROUP hints ! * ALWAYS RENAME a GROUP Report if you intend to SAVE it, or else you will LOSE the DataBase Records that made up the Report. (Remember, GROUP actually CHANGES the DataBase - that is, collapses all the values of each Field into a single, additive Field. We don't want to lose all that specific information!) * ALWAYS enter Names in the EXACT same way they are spelled. (T/Maker thinks "Wally Krengle" and "Wally F. Krengle" are different people) * You will get a T/Maker "Summary Report Message" at the top of the screen. This Message lets you know how many Records were initially in the DataBase, and how many Records the Report "summarized" on. * After a GROUP, view the new work area by typing at WHAT NEXT?: UPDATE + 1 UNIQUE _____"Weeding Out" Redundant Records_____ To "Weed Out" Redundant Records from a DataBase, perform a GROUP on EVERY KEY FIELD. Example: Suppose we have a Record that has 3 KeyFields. To make sure we do not have any redundant Records in our DataBase, type: 1/1 WHAT NEXT? GROUP KeyField1 KeyField2 KeyField3 END --------------------------------------------- (Type GROUP LIST to get a Listing of all the Key Fields in a Record listing.) ---------- NOTE: You must type in EACH Key Field EXACTLY as it appears in the listing. + 1 SELECT 1/1 WHAT NEXT? SELECT ------ SELECT allows you to extract particular information from a DataBase. SELECT Options: * FILE-NAME (or choose IT when SELECTing from the current work space). * LIST (To "list" all the possible Field Names you can SELECT on). * CONDITION (SELECT "conditionally" - that is, using WHEN statement.) EXAMPLE: -------------------------------------------------------------------------- 1/1 WHAT NEXT? select it WHEN FIRSTNAME = Liz and REVENUES > 5500 end -------------------------------------------------------------------------- NOTE: SELECT "cuts out" the UN-SELECTED records from current work space. Therefore, NEVER do a SAVE after a SELECT unless you RENAME the current work space FIRST. (ALWAYS RENAME the DataBase subset, then SAVE so you do not lose the temporarily discarded DataBase Records) + 1 CDB _____Changing a DataBase_____ Accomplish changes to the STRUCTURE of a DataBase by using the SELECT Command 1) Make sure you have the DataBase SAVEd on disk. 2) GET DataBase file and jump into the EDITor. Make appropriate changes to the RECORD DEFINITION and FORMS DEFINITION. 3) Move your cursor to the line of RECORD DEFINITION, and Exit the Editor. ( should be at Top of your Screen.) 4) Type: CLIP AFTER 5) Type: SELECT filename END + 1 RG _____Report Generation_____ * Set up report as a RECORD DEFINITION (Summary Reports don't take up much space). * Make sure all Field Names in all RECORD DEFINITIONS match EXACTLY. * Use the SELECT Command to "select" the information from an existing DataBase into your "custom-made" report. ----------- NOTE: The resulting Report should be RENAMEd and SAVEd if you want to use the Report "Mask" to create future Reports. + 1 EFF _____Setting Up a DataBase EFFICIENTLY_____ To increase performance and flexibility, T/Maker runs strictly within memory. Therefore, setting up your DataBases efficiently is important. 1) Use a FORM DEFINITION whenever possible. That way, non-Field entries (like fancy borders) do not chew up memory space. 2) Use DOUBLE BRACES (Optional Field Symbols) whenever possible. That way, if you do not enter data into a Field, space won't be save for it. NOTE: NEVER use Double Braces on the first record in a Record Def. 3) In a RECORD DEFINITION, place each Field on a SEPARATE LINE when possible. ...................... : : : 1{FirstName} : : 2{LastName } }} <-----EXAMPLE of "Ending Double Braces" : : :....................: + 1 LINK _____Linking DataBases_____ You can "Link" Identical DataBases together with the filename option. With the CONTINUE, you can SELECT and COMPLETE across DataBases. * DataBase RECORD DEFINITIONS MUST BE IDENTICAL. * The last line of each file will contain and the name of DataBase that is next in line. ----------------------------------------------------------------------------- EXAMPLE: To "link" DBASE1 and DBASE2 together, at the end of DBASE1, type: DBASE2 ----------------------------------------------------------------------------- * To SELECT certain information from "linked" DataBases, type: 1/1 WHAT NEXT? SELECT "filename" when . . . to begin the process. --------------------------------- When using SELECT with the IT instead of specifying a filename, the request is ignored. + ----- Linking Con't * When you SELECT across DataBases, the resulting database or report must fit in the work file. If you still need more space, try SELECTing in blocks. EXAMPLE: SELECT "filename" from 1 to 100 when . . . end SELECT "filename" from 101 to 200 when . . . end , etc.... + 1 ORDER 1/1 WHAT NEXT? ORDER ----- Use ORDER to sort a DataBase. T/Maker will prompt you for the following information: ascending or descending? A or D numerical or characters? N or C field name? KEY FIELD to be sorted on. + 1 LP ** List Processing Help TOPIC Menu ** List Processing manipulates "lists" of text. * Commands * .............. : : : SORT : Order lines according to column criteria. : TALLY : Create summary of a list based on like fields. : FIND : Find a word or string in the workfile. : REPLACE : Replace all occurences of a string with another string. : DROP : Remove any lines which contain a specified string. : KEEP : Keep only those lines which contain a specified string. : ARRANGE : Re-order columns or a range of columns. : : :............: + 1 SORT 1/1 WHAT NEXT? SORT ---- SORT orders designated lines alphabetically or numerically in either ascending or descending order using the left through right column positions as the key. You must specify the LEFT POSITION and RIGHT POSITION of the Column you wish to sort. ............ O : a : Sort in ASCENDING order P : d : Sort in DESCENDING order T : c : Sort CHARACTERS (use for Alphabetical Ordering) I : n : Sort in NUMERICAL order O : all : Sort ALL lines in work file N : s : Sort only SOME lines, those within blocks of consecutive S : : lines that HAVE A + SIGN in the first position : p : Sort only PARTIAL lines, those within blocks of consecutive :..........: lines that have some entry in the key positions. ----------------------------------------------------------------------------- EXAMPLE: 1/1 WHAT NEXT? SORT a n all 1 10 + 1 TALLY 1/1 WHAT NEXT? TALLY ----- TALLY generates a summary tabulation of like elements in a list. May also provide a sum of numerical values of like elements. * You MUST give file name (or IT for current work file) * You MUST also specify the Left Column Number and the Right Column Number of the LIST you want TALLY-ed. * You MUST end the TALLY Command with an END Options: ........... : ALL : Normally, TALLY will only operate on lines starting with + : : If ALL Option is used, TALLY will consider ALL Lines. : : : SUM : You can find the SUM of additional variables by typing SUM : : and indicating the position boundaries of the columns to :.........: be SUMmed. + EXAMPLE: Suppose we wanted to find how many Males and Females we had, and how many marbles each group had, from the list below. 1 2 3 4 5 6 7 1234567890123456789012345678901234567890123456789012345678901234567890123456 Sex Eye-Color Marbles + M Brown 2 + F Blue 5 + F Blue 3 + M Blue 4 + F Brown 1 1/1 WHAT NEXT? TALLY IT 8 10 SUM 43 47 END --------------------------- F = 3 9 M = 2 6 The TALLY Result: 3 Females having 9 Marbles; 2 Males having 6 Marbles. + 1 FIND 1/1 WHAT NEXT? FIND ---- FIND will find the first occurrence of the String and bring it to the Top Line of the Screen. EXAMPLE: FIND the last name KUPTZ in the following text. 1/1 WHAT NEXT? FIND KUPTZ ---------- + 1 REPLACE 1/1 WHAT NEXT? REPLACE ------- REPLACE will replace all occurrences of a String. EXAMPLE: REPLACE the last name Zirn with Herring. 1/1 WHAT NEXT? REPLACE Zirn ------------ T/Maker will ask you what you want to replace it with. WITH WHAT STRING? Herring ------- + 1 DROP 1/1 WHAT NEXT? DROP ---- DROP removes all lines in the work-file that contain a specific string. A "string" is any EXACT series of characters. EX: Lino and LINO are two different strings. ---- ---- If the string has a blank anywhere in it, the entire string must be surrounded in quotes. EX: To DROP all occurences of Mr. Guslani, type: 1/1 WHAT NEXT? DROP "Mr. Guslani" + 1 KEEP 1/1 WHAT NEXT? KEEP ---- KEEP "keeps" only those lines in the work-file than contain a specific string. A "string" is any EXACT series of characters. EX: BIGMAN and Bigman are two different strings. ------ ------ If the string has a blank anywhere in it, it must be surrounded in quotes. EX: To KEEP all occurences of MUST INVOICE , type: 1/1 WHAT NEXT? KEEP "MUST INVOICE" + 1 RPF RPF 4 JUNE 1984 ! + 1 ARRANGE 1/1 WHAT NEXT? ARRANGE ------- ARRANGE reorders the sequence of columns for lines in the work-file. The columns to be reordered are identified by number-pairs. The first number marks the left boundary and the second marks the right boundary. The new order of columns is determined by the sequence of the number-pairs. Print design commands are not affected by the ARRANGE command. EX: 1/1 WHAT NEXT? ARRANGE 11 20 1 10 21 300 END ------------------------------- Columns 11 20 will be the leftmost columns, followed by columns 1 10 and then the remainder of the line. + 1 FM ** Files Management Help TOPIC Menu ** ............ .............. : C : Get COMMAND MENU : INFO : Get Info about file : : : : : CLIP : Mass-Delete : INSERT : Insert a file on disk : : : : : CREATE : Create NEW file : position : (Line#/Column#) : : : : : DATA : Sets default drive : LIST : View a 2nd file : : : : : DELETE : Delete file from disk : MERGE : Superimpose file : : : : : DO : Process top line : RENAME : Rename current file : : : : : FILES : Get Index of files : SAVE : Save workfile on disk : : : : : GET : Get existing file : STOP : STOP T/Maker : : : : : HP : Get on-line Help : TABS : Save/Don't Save Tabs :..........: :............: + 1 C 1/1 WHAT NEXT? C ( C for COMMANDS) --- T/Maker can be "MENU-DRIVEN" through the use of the COMMAND MENU. Normally, it is faster to enter Commands via the WHAT NEXT? prompt. However, while speed is important, it is equally important to get "up and running" with T/Maker. With the COMMAND MENU, it is not critical to "memorize" the T/Maker Commands to get started using T/Maker, because . . . THE COMMAND MENU PROVIDES A PARTIAL LISTING OF T/MAKER COMMANDS - AND WILL EXECUTE THE SELECTED COMMAND. + REMEMBER: You can get to the COMMAND MENU at anytime by typing: at the T/Maker Prompt: 1/1 WHAT NEXT? C --- If you can't see the WHAT NEXT? prompt, type : Q to get to it. --> TO GET TO COMMAND MENU NOW, type: END C (to End Help Session & goto C) ----- + 1 CLIP 1/1 WHAT NEXT? CLIP ---- CLIP is a way of MASS DELETING whole chunks of text. When you Exit the Editor, the line your cursor rests on at the time of the Exit then becomes the new "Top of the Screen" line. You can either CLIP everything BEFORE this line or everything AFTER. + 1 CREATE 1/1 WHAT NEXT? CREATE ------ CREATE allows you to open a new T/Maker File. T/Maker will prompt you with: 1/1 WHAT FILE NAME? You may name your file anything you wish. FILE-NAMES may be up to 8 characters long, with an optional 3 character extention. Example File Names: Invoices.Jan Letter.2 BOB NOTE: Anything contained in T/Maker's work space will be REPLACED by issuing the CREATE Command. That means if you want to SAVE whatever work is in the work space, make sure you do a SAVE before CREATE-ing a new file. + 1 DATA 1/1 WHAT NEXT? DATA ---- T/Maker is currently set up to GET and SAVE file from DRIVE B. DATA tells T/Maker a new Disk Drive to GET and SAVE files from. T/Maker will look for files from the DATA Drive for the entire work session unless request a new DATA Drive. You can change the "default" DATA Drive. See Reference Manual under "Customization Notes". + 1 DELETE 1/1 WHAT NEXT? DELETE ------ DELETE erases a file from the current DATA DISK. ("House-Cleaning measure!) + 1 DO 1/1 WHAT NEXT? DO -- DO will take the line on the "Top of the Screen" , drop it to the WHAT NEXT? prompt line, and execute any Commands on this line. You may "can" functions using the DO Line concept. That is, if you find yourself always typing the same Commands to do the same action to a work file, you may want to create a new file (called a "do file") with the repeated series of Commands as the only line in the file. Then, instead of always having to type a long series of Commands, you will only have to type: GET DOfile DO + 1 FILES 1/1 WHAT NEXT? FILES ----- FILES will show you a listing of files on the specified drive. + 1 GET 1/1 WHAT NEXT? GET or G --- --- GET will "get" a Disk File (a file that has been SAVEd on the disk) and bring it into T/Maker's work space. If you do not specify a file to GET, T/Maker will ask you: 1/1 WHAT FILE NAME? NOTE: Anything contained in T/Maker's work space will be REPLACED by issuing the GET Command. That means if you want to SAVE whatever work is in the work space, make sure you do a SAVE before GET-ting a new file to EDIT. HINT: If you forgot SAVE before issuing the GET Command, ask T/Maker to GET you something you know you DON'T have on disk. EX: 1/1 WHAT NEXT? GET NOTHING + 1 HP 1/1 WHAT NEXT? HELP ---- You can get On-Line HELP anywhere without disturbing the current work space. ----------------------------------------------------------------------------- * After typing HELP, T/Maker will show you the Main Help Menu. * Type the capital letters of the appropriate TOPIC for HELP in that area. TOPICs ARE CAPITALIZED ( TOPICS are in Dotted Boxes ) * Continue typing the appropriate TOPIC until you get HELP with your question. ----------------------------------------------------------------------------- NOTE: You can "stack" HELP requests. For example, if I know I want HELP on Searching & Replacing in a text file, I could type: 1/1 WHAT NEXT? HELP SR This avoids viewing 2 HELP Menus in between. -------- _____________________________________________________________________________ --->> To view available HELP TOPICS, type: TOPIC below. + 1 INSERT 1/1 WHAT NEXT? INSERT ------ INSERT will "insert" an entire Disk File into the current work space at the point immediately above the cursor. (The line where you Exited the Editor.) + 1 POSITION _____Positioning the Upper Left-Hand Corner of the Screen_____ T/Maker can be thought of as a very large ChalkBoard. Our Screen, however, is much smaller - thus, we can only view an 80 line X 24 column piece of the ChalkBoard at any one time. By typing in the coordinates we would like to view (line # / column #), we can do massive "hops" around our ChalkBoard from Outside the Editor. _____EXAMPLES_____ 1/1 WHAT NEXT? (line#/column#) 1/1 WHAT NEXT? 2/10 2/10 WHAT NEXT? 30 30/10 WHAT NEXT? /1 NOTE: The Upper Left-Hand Coordinates are shown left of the WHAT NEXT? prompt. + 1 LIST 1/1 WHAT NEXT? LIST ---- LIST will allow you to view a disk file without affecting the working area. You can use LIST when you want to view two disk files simultaneously. The LISTing can be stopped and started by hitting a key. + 1 MERGE 1/1 WHAT NEXT? MERGE ----- MERGE will superimpose a disk file on top of the current work space. + 1 RENAME 1/1 WHAT NEXT? RENAME ------ RENAME will "rename" the current work space. In a sense, you are CREATE-ing a new file, except that it already has information in it. Because RENAME effectively CREATEs a new file, you MUST SAVE the "new" file if you want to keep it. + 1 SAVE 1/1 WHAT NEXT? SAVE or S ---- --- SAVE will copy the entire contents of the work space onto disk using the name of the current work file. ** Automatic Back-Up Protection: Upon each SAVE, the previous version will be automatically renamed with the file extension: filename.BAK. This gives you automatic file back-up protection after each SAVE. + 1 STOP 1/1 WHAT NEXT? STOP ---- STOP exit you from T/Maker and send you back to the Operating System.  SAVE will copy the entire contents of the work space onto disk using the name of the current work file. ** Automatic Back-Up Protection: Upon each SAVE, the previous version will be automatically renamed with the file extension: filename.BAK. This gives you automatic file back-up protection after each SAVE. + 1 STOP 1/1 WHA+ 1 BAR ** Bar Chart Graphics Help TOPIC Menu ** 1/1 WHAT NEXT? BAR --- BAR prepares a BAR chart based upon the values in either one column or one row of a table. This Table must be in the working file and must also conform to the format requirements of the COMPUTE Command. You can choose how the BAR Chart will be presented by experimenting with various "options". Each variation can be examined by specifying one or another "options" and pressing the Carriage Return Key. BAR Charts may either be displayed, or placed into the working file for EDITing and PRINTing. + BAR con't * The Line or Column to be BAR-ed MUST be specified by its (EXACT) name. (Actually, its Exact "String".) * SOME ONLY those Rows or Columns with a " + " sign (or any Operator or Terminator) in the first position. Also, when a Row of Values is to be charted, this option could be set up to exclude some of the + values. Simply begin your Model Number with 0. * ALL All Values in the column or row are charted. See REFERENCE MANUAL & QUICK REF. BOOK for "Presentation Options" and Examples.  + " sign (or any Operator or Terminator) in the first position. Also, when a Row of Values+ 1 SC ** Spelling Checker Help TOPIC Menu ** * Commands * .............. : : : PROOF : checks the working area for words NOT in the Dictionary. : : : : : CORRECT : corrects the working area based on the "Correction List". : : : : : SPELL : list words from a Dictionary on the screen or places : : them on Correction Lines. : : : AMEND : updates a Dictionary from a list of corrections in work area. : : :............: + 1 PROOF 1/1 WHAT NEXT? PROOF ----- The PROOF Command checks the working area for any words which are NOT in the T/Maker Dictionary or other specified dictionaries. NO distinction is made between UPPER & LOWER case when searching for words -------------------------------------------------------------------------- * PROOF prepares a "Correction List" of words NOT found in the dictionary. The list is made up of "Correction Lines". Each line in this list looks like: =! word word The first occurence of the "word" may be thought of as the CURRENT SPELLING of the word in the file. The second occurence of the "word" may be thought of as the optional spelling to be corrected and later substituted. -------------------------------------------------------------------------- ** PROOF also marks unindentified words in the text by preceding them with a "Spell-Marker", that is, the sybmol: ?= + Example of PROOF Working Area Result of PROOF Itt is now tme for all good =! Itt Itt men and women to come to the =! prty prty aid of their prty. =! tme tme ?=Itt is now ?=tme for all good men and women to come to the aid of their ?=prty. + 1 CORRECT 1/1 WHAT NEXT? CORRECT ------- CORRECT will "correct" the working area based on the "correction list" produced by the Command PROOF. You have 4 OPTIONS at this point: ----------------------------------------------------------------------------- Option # 1: Use the SPELL Command to show a listing of possible correct spellings (SEE MORE ON SPELL COMMAND BELOW). --------------- Option # 2: The word is an obvious misspelling and you correct the SECOND OCCURENCE of the word (on Correction Line). CORRECT will then substitute all occurences of the FIRST OCCURENCE with that of the SECOND. CORRECT will also remove all ?= (Spell-Markers) from the file. + --------------- Option # 3: The word is correct, however, it is NOT in the Dictionary and should be INCLUDED. (See case of "quadraphonic" below). To ADD a word to a Dictionary, you must first change the Correction Line Symbol (=!) to an "Amend+Marker" symbol (+=). Subsequent use of the AMEND Command will add the word to the Dictionary and remove the Correction Line from the file. --------------- Option # 4: The word is correct and is NOT in the Dictionary and should NOT be included in the source. (See case of "Isuzu" below). You leave the Correction Line unchanged. The CORRECT Command will delete the Correction Line and corresponding occurences of Spell-Markers (?=) in the text. --------------- Option # 5: The correctness of the word is impossible to determine without looking at the word in context. Use the SEARCH Command to find this condition. + CORRECT Example PROOF | Editing =! compny compny | =! compny company =! Ferrari Ferrari | =! Ferrari Ferrari =! quadraphonic quadraphonic | +! quadraphonic quadraphonic =! rd rd | =! rd | Our ?=compny is considering | Our ?=compny is considering the purchase of a ?=Ferrari with | the purchase of a ?=Ferrari with a ?=quadraphonic stereo in the | a ?=quadraphonic stereo in the 3?=rd quarter. | 3?=rd quarter. ____________________________________|________________________________________ CORRECT +! quadraphonic quadraphonic =! rd Our company is considering the purchase of a Ferrari with a quadraphonic stereo in the 3?=rd quarter. + 1 SPELL 1/1 WHAT NEXT? SPELL ----- SPELL lists words from a Dictionary on the screen or places them on ------------------------------------------------------------ Correction Lines. You MUST give T/Maker an AMBIGUOUS WORD REFERENCE. ---------------- An Ambiguous Word Reference is made up: ? A Question Mark is used to represent one unknown letter. * An Asterisk is used to represent zero or more unknown letters. Examples: _____________________________________________________________________________ #1 b?m*ing This Ambiguous Word Reference would list all words that start with b , have any second letter, has m for a third letter, and ends with an ing . _____________________________________________________________________________ #2 Working Area Result of SPELL IT =!mi*pell =!mi*pell misspell =!compatable compat* =!compatable compat* compatibility compatible + 1 AMEND 1/1 WHAT NEXT? AMEND ----- AMEND creates or updates a Dictionary from a list of corrections in work area. -------------------------------------------------------------------------- Correction Lines that begin with +! (Amend+Marker) are ADDED to the Dictionary. Correction Lines that begin with -! (Amend-Marker) are DELETED from the Dictionary. -------------------------------------------------------------------------- Lines of the above form will be REMOVED from the working area AFTER the Dictionary has been AMENDed. + 1 GS - DEMO LIST A:help.01 DEMO Getting Started with . . . T / M A K E R Integrated Software ** TOPIC ** Type: ............. T/Maker's SELF-RUNNING DEMO's : DEMO : : : : : A "Getting Started" Learning Schedule : LS : : : Using T/Maker's WORD PROCESSOR : EDIT : Building a SPREADSHEET : EX : Starting a DATABASE : DBMS : : : Using T/Maker as a MENU-DRIVEN Application : C : : : Using a PRinter with T/Maker : PR : :...........: + 1 LS T/Maker is a very powerful, yet simple application program. The following LEARNING SCHEDULE should get you working with T/Maker in no time. .............................................................................. : : : 1) Go through the SELF-RUNNING Demonstrations & Applications. : : : : See "Getting Started" (GS) Menu. : : : : : : 2) Read INTRODUCTION in the Reference Manual (It's short!) : : : : 3) Go through the T/Maker & DataBase TUTORIALS (They're fast!) : : : :............................................................................: Note: The QUICK REFERENCE BOOKLET is an excellent source of quick help. and... The REFERENCE MANUAL is TUTORIAL in nature, and contains many VALUABLE EXAMPLES and SAMPLE APPLICATIONS. ----------------------------------------------------------------------------- (Type GS to get "Getting Started" Menu.) + 1 PR - 1 LIST A:help.02 GET A:Epson.utl DELETE A:print.utl RENAME A:print.utl SAVE LIST A:PRINT.UTL C - 2 LIST A:help.02 GET A:Okidata.utl DELETE A:print.utl RENAME A:print.utl SAVE LIST A:PRINT.UTL C - 3 LIST A:help.02 GET A:Epson.utl DELETE A:print.utl RENAME A:print.utl SAVE LIST A:PRINT.UTL C - 4 LIST A:help.02 GET A:Epson.utl DELETE A:print.utl RENAME A:print.utl SAVE LIST A:PRINT.UTL C T/Maker is ALREADY CONFIGURED for all DAISY-WHEEL & DOT MATRIX PRINTERS in normal mode operation. .............................................................................. : Advanced Features of Dot Matrix Printers: : : : : In addition, to take advantage of the Advanced Features (condensed : : print, correspondence quality, etc...) of the following printers..... : : : : .....ENTER THE NUMBER OF THE APPROPRIATE PRINTER : : : : ( 1 ) Epson Series & Epson-Compatibles : : ( 2 ) Okidata Series : : ( 3 ) Gemini Series : : ( 4 ) Mannesmann Tally Spirit 80 : : : : (GS ) To RETURN to "Getting Started" Menu : :............................................................................: If your printer is not listed above, you can still easily configure T/Maker to work with your printer. See CUSTOMIZATION NOTES for details. + 1 CK _____Changing T/Maker Editing KeyStrokes_____ Although T/Maker comes with Standard Editing KeyStrokes, we know you may have learned other keystrokes and prefer not to re-learn new ones. Because of this, you can easily RECONFIGURE ALL of T/Maker's Editing KeyStrokes. See "CUSTOMIZATION NOTES" in back of the T/Maker Reference Manual for details. ly configure T/Maker to work with your printer. See CUSTOMIZATION NOTES for details. + 1 CK _____Changin3OÙPI PÊQû Sk yUT  ÑMV O!m5!0O!P!0 O O*3|_OZPO*3|mOZPO|€O!OýO!0!1O!0OO|¥O!O*3|½O!1!0OO*3|TP*.K|TP!O|OO!2x/*6|}P*6-O!"6!0O!O|ʐPÅP.1END!p"I* 2;I*n5}:P*m5}2;IQ ×YêZ!9DM*6|!Q!"6*6P!"9*/`is*;I}2/!P`in}2/*3|Q!"6Q*9|uQ*3|uQ*44} uQQ*:K"@K!"BK!9ÙQÏWIêZk *9+|ʫQ*3|ʰQ͍Q>24!44!K"DK*9+|S*3|T!"BK!bU!S!"0K S*9|bU*3|bU*44}-7TS*9+|HT*3|KTbU*44}+ʈT*'/!44S*0K#"0K S*9+||T*3|ʈT!"BK!bU*44}+¥TS*>K*DKڥTbU*44}+ʿT*0K*%/ҿTT!*%/#S"S|TT!kU%S(S*6+S*6}20>20!0S*0}N UbU*0*/})U!".K!SbU*44}+EU*>KЊ|EU*BK#"BK!S!"0K*44}+_U ST!9MORE (Y/N) ? ÂUI !0!3|U!"2K!"4K*2K*IU*2K)I~#fo!3U"4K*4K|UU*2K#"2KÜU*4K|U!*2K":K*4K"K*2K44W">K*2K44n} 6X*2K44n}6X*2K#"2KX*2K44n} NX*2K#"2K6X\Xk êZÏW!"I*I"6K*44}-xY*9|xY*3|xY*6K*IxY*I|xY*6K"8K*I#"I+)bJ*6Ks#r!"2K*2K44n} X*2K#"2KX*2K44n}Y*2K44n} Y*6K*IY*6K#"6K+*2K#"2K+44nsX*6K#"6K+6*8KSX*2K44n}hY*6K*IhY*6K#"6K+*2K#"2K+44ns1Y*6K#"6K+6VXiX*6K*IҒY*I|ڕYYXìYk I- ü !9DM!0͚Y!0!44͝Y*54}:Y*/} Y*/}20>:20!44!0͝Y!0!Z͠Y#|uZ!0!Z͠Y#|uZ!!0ͣY"6*6`is#r͐#|FZ`iw#wMZ`i6#6͐͐`ZÝZ͐+|rZ*6ͦYÆZ͐`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|[*944n}[ͭZͰZZ![q !9DM*9#|P[*9*9|P[!"9ä[!"9*9`is#r͐!9*6[! s#r͐|җ[!"9ä[͐?"9!9!9DM*9|7\*9*97\*9#"9+9n`is`in}[!"9P\`in} \*9#"94467\`in&|"\`in} 4\*9#"944`insõ[*9|P\*9#"9446!9"`is#r!0!͐####ͩY!9?*óZ[í[!"9*9#|Z!"9!"9ͭZZ*9*9ZͭZ*3|Z*9|ZͰZ*9|9OcQ  k ÑT ]òQ;RÎR  `-!9DMOO!"3!Q O!0 O!,Q!0O|xO!" JÑOO!O*3|‘O!"6*3|£O>120>20*9|P*3|P!"JO`is#r͐|OP*6|OO*tH|OP͐| P*3| POO`is#rO!O* J|PPãO#PGO*6|9P!"6*6$O!'O*3|Q*J|YP*J|Q!!*O!!!-O!2Q0O!!!-O*J|P*J!33O!36O!@Q0O!!!-O*J|Q*J!33O!36O!PQ0O!!!-O!"n/!9WHAT FILE NAME (OR 'BLANK')?BLANKLOAD WARNINGS VALUES MISSING VALUES OVERFLOWEDiQU! "9!"9!"6!" J!"J!" J!"J><2J>120>20>023>23fQøQõ!9DM*J/+! s#r*B/n*/}Q!2R*B/n}R*@/#"@/*B/#"B/+ns*f/#"f//R͐*d/R!2R!!*d/#͵QQ!9GRU]IU>R* J|YRAR_R!" J*3|ŒR*9|ҌR* J|ŒRDR* J|‰RAR_RãRUV;X1YÉ !9DM* J|ʹR͑RT`i6#6! w#w! w#w*B/#"B/*B/n*/}zS*B/n}zS`i^#Vr+s*B/n} pS*B/n}#$S͐|$S͐+! s#rpS*B/n}>LS*B/n}ʢT-ʷT!TT͐͝R͐͠RT͐͠R͐͝RT͐`is#r͐͠R͐͝R͐͐͠RT͐͝RT! 9!9DM`iw#w͐7|:U͐)vH6#6`i^#Vr+sU!"tH!9XU)ZZV[!9DM*J|ҀULU`is#r͐|}UUÚUOU!0RU*J`is#r!"J͐UU`is#r͐|ҹUUOU|U!0RUU!" J͐"JUÚU!9UÉ !9DM`i6#6! w#w*B/#"B/*B/n*/}ʅV*B/n}ʅV`i^#Vr+s*B/n}#KV͐|KV͐! s#r*B/n}>sV*B/n}X*J)vH~#fo`is#r!"J͐#|†X!(Y͐"J͐##! s#r͐! s#r͐ n}X͐<n}X͐ n͐<n}X! ^#Vr+s! ^#Vr+sçX͐ n} Y͐<n} Y͐#(Y͐<"J*J~#fo`is#rvX!9:YÉ Ä!9DM*@/#"@/*/s*f/#"f/! ~#fo+s#r`iw#w͐3n}ʺY! ^#Vr+szœY*@/#"@/6#*f/#"f/*@/#"@/`i^#Vr+s3nslY! ^#Vr+szY*@/#"@/6#*f/#"f/*@/#"@/*Js*f/#"f/͐|Z͐+4Y*@/#"@/*/s*f/#"f/7Y!9!9DM! s#r`is#r*44}2J*J}=ʳZ*J}ʳZ*J} ʝZ*J}>ʝZ*J}<ʝZ*J}-ʝZ*J}!ʝZ! ^#Vr+s0*Js`i^#Vr+s44n}2JGZ͐|Z͐06*J}Z!Z͐#Z!9Z;X!9DM!0Z`is#r͐|[![*tH,!?G|2[![*J|I[*J*tHs#rZ[*J)vH*tHs#r*tH<"J*J6#6*tH##"tH`iw#w*tH#"tH+<`i^#Vr+s0ns{ʢ[z[`iw#w*tH#"tH+<`i^#Vr+s44ns{[è[![!9!9DM`iw#w͐44n} \! ^#Vr+s[͐44n}\!$]͐44n}"<\͐44n}'U\! ^#Vr+s44n}2J\`i^#Vr+s44! ^#Vr+s44ns> 2J͐44n*J}\͐44n}\`i^#Vr+s44! ^#Vr+s44ns\͐|\\͐+44n} \`i^#Vr+s\\\͐446͐44n}]! ^#Vr+s͐$]!9!9DM!"J͐n}g]*J! ^#Vr+sn*J"J;]*J|x]*J"J*J`is#r*J͐?"J*J7|ڳ]!"J]*J|]!"J!9] o^!9DM!]]͐]WHAT FILE NAME?^Â_`!"9*9#|)^!"9!"9^:^*9*9:^^*3|J^*9|L^^*9|m^*944n}m^^^O^Ä^k I- ü !9DM!0r^!0!44u^*54}:^*/} ^*/}20>:20!44!0u^!0!~_x^#|M_!0!_x^#|M_!!0{^"6*6`is#r͐#|_`iw#w%_`i6#6͐͐8_u_͐+|J_*6~^^_͐`is#r!0!͐####́^!9?*È_q !9DM*9#|ʷ_*9*9|ڷ_!"9 `!"9*9`is#r͐!9*6ͅ_! s#r͐|_!"9 `͐?"9!9!9DM*9|Ҟ`*9*9Ҟ`*9#"9+9n`is`in}Y`!"9÷``in} r`*9#"9446Þ``in&|҉``in} ›`*9#"944`ins`*9|·`*9#"9446!9` !9DM͐ |`͐ ! s#r`i6#6'͐ ͐! s#r͐|Ra͐|Ra`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 a͐ ͐`!9s*È_q !9DM*9#|ʷ_*9*9|ڷ_!"9 `!"9*9`is#r͐!9*6ͅ_! s#r͐|_!"9 `͐?"9!9!9DM*9|Ҟ`*9*9Ҟ`*9#"9+9n`is`in}Y`!"9÷``in} r`*9#"9446Þ``in&|҉``in} ›`*9#"944`ins`*9|·`*9#"9446!9` !9DM͐ |`͐ ! s#r`i6#6'͐ ͐! sOO âRRP !9DMOO! O*3|244*3|O*9+|O*d/*J/+OO*9|ҺO O*;I#";I*9|ںO>244OpOO)O*6|O!"6*6O!O!9!"9!"9!"6!";I!"=I)PQÑØU õ !9DM!44*B/P|PPP*=I#"=IQ*9|ڠPP*H/|qP*=I#"=IÝP*d/#*=I!3P!3P!QP*D/PQ`i6#6`i^#Vr+s44n} ¿PçP͐44n}PQ P! w#w*J/+! s#r*d/͐-Q!!*d/##P!44*B/P! s#r͐|*Q-QP͐|hQ&P*;I!3P!3P!QP!44P*=I+"=IQ*d/`is#r&P*d/͐Q*3|QP*H/|©Q`i^#Vr+s*=I#"=ItQ*d/#*=I!3P!3P!QP*D/PtQP*=I#"=I!9 W> D> W> !9DM`i6#6͐n͐n}@R͐n}'RÒR! ^#Vr+s! ^#Vr+sÏR͐n}cR͐n} cR! ^#Vr+sÏR͐n}†R͐n} †R! ^#Vr+sÏR`iw#wÒR R͐ÙR!9ëR GS!9DM!RͥR͐ͨRWHAT FILE NAME?RZTT!"9*9#|S!"9!"9RS*9*9SR*3|"S*9|$SR*9|ES*944n}ESRR'S\Sk I- ü !9DM!0JS!0!44MS*54}:ʤS*/} ʤS*/}20>:20!44!0MS!0!VTPS#|%T!0!XTPS#|%T!!0SS"6*6`is#r͐#|S`iw#wS`i6#6͐͐TMT͐+|"T*6VS6T͐`is#r!0!͐####YS!9?*`Tq !9DM*9#|ʏT*9*9|ڏT!"9T!"9*9`is#r͐!9*6]T! s#r͐|T!"9T͐?"9!9!9DM*9|vU*9*9vU*9#"9+9n`is`in}1U!"9ÏU`in} JU*9#"9446vU`in&|aU`in} sU*9#"944`insT*9|U*9#"9446!9ÞU !9DM͐ |ҾU͐ ! s#r`i6#6'͐ ͐! s#r͐|*V͐|*V`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 U͐ ͐͛U!9|ڏT!"9T!"9*9`is#r͐!9*6]T! s#r͐|T!"9T͐?"9!9!9DM*9|vU * Okidata Microline Series * To Get This Action: Type BACK ACCENT and LETTER: Printer Codes: ______________________________________ 194 27 72 128 | Start BOLD (Emphasized) | `B | The BACK ACCENT 197 27 84 128 | Start BOLD (Enhanced) | `E | ( ` ) is the 226 27 73 128 | End BOLD | `b | HIGH BIT CHARACTER. 213 27 67 128 | Start UNDERLINE | `U | 245 27 68 128 | End UNDERLINE | `u | You press the 209 27 49 128 | Correspondence Quality | `Q | Back Accent ONCE 241 27 48 128 | Data Processing Mode | `q | ( it will not show 181 30 31 128 | 5 Characters Per Inch | `5 | on the screen ) 182 29 31 128 | 6 Characters Per Inch | `6 | .....then press the 184 28 31 128 | 8.5 Characters Per Inch | `8 | appropriate letter 176 30 128 | 10 Characters Per Inch | `0 | or number. 178 29 128 | 12 Characters Per Inch | `2 | 183 28 128 | 17 Characters Per Inch | `7 | 211 27 74 128 | Start SUPERSCRIPT | `S | 243 27 75 128 | End SUPERSCRIPT | `s | See REF. BOOK under 204 27 76 128 | Start subSCRIPT | `L | Customization Notes 236 27 77 128 | End subSCRIPT | `l | for details. .......Touch SPACE BAR to continue.....  BAR to continue..... ers Per Inch | `7 | 7 | 211 27 74 128 | Start SUPERSCRIPT | `S | S | See 243 27 75 128 | End SUPERSCRIPT | `s | s | REF.BOOK undr 204 27 76 128 | Start subSCRIPT | `L | L | CUSTOMIZATION 236 27 77 128 | End subSCRIPT | `l | l | for details. .......Touch SPACE ORDER ASCENDING NUMBERS tot PRINT IT Order Example--- The ORDER command is used to sort record data on any field, character or numeric, in ascending or desceding order. The above command line will sort this file in ascending order based on the field "tot." ------------------------------------------------------------------------------ Customer: Last Name: {lname } Address: {address } City: {city } State: {state } Product: Product: {prod } Description: {desc } Part Number: {pnum } Price: {price } Order: Quantity: {quan } Amount: {am } Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * price dis 9,999.99 = quan * 0.10 when am <= 200 dis 9,999.99 = quan * 0.15 when am > 200 tax 9,999.99 = am * 0.065 when state = CA tax = "No tax" when not state = CA ship 9,999.99 = quan * 0.05 when state = CA ship 9,999.99 = quan * 0.10 when state <> CA tot 99,999.99 = am - dis + tax + ship a {lname <} b {address <} c {city <} d {state <} e {prod <} f {desc <} g {pnum >} h {price >} i {quan >} j {am >} k {dis >} l {tax >} m {ship >} n {tot >} a Joel b 2121 42nd Street c New York d NY e GLUE f 8 oz. Bottle g 101 h 45.65 i 200 j 9,130.00 k 30.00 l No tax m 20.00 n 9,120.00 a Five b 23 Greenbury Drive c Greenbury d CA e PAPER f 50 sheets white bond g 205 h 25.75 i 150 j 3,862.50 k 22.50 l 251.06 m 7.50 n 4,098.56 a Franks b Perfect Lane c Softland d PR e GLUE f 8 oz. Bottle g 101 h 45.65 i 205 j 9,358.25 k 30.75 l No tax m 20.50 n 9,348.00 a Marvins b 1020 Blake St. c Bluebrass d PN e PAPER f 50 sheets white bond g 205 h 25.75 i 125 j 3,218.75 k 18.75 l No tax m 12.50 n 3,212.50 a Green b Mean Joe Lane c Greenbay d MI e GLUE f 8 oz. Bottle g 101 h 45.65 i 126 j 5,751.90 k 18.90 l No tax m 12.60 n 5,745.60 a Barker b 1225 Johnson Lane c Fredville d CA e GLUE f 8 oz. Bottle g 101 h 45.65 i 9 j 410.85 k 1.35 l 26.71 m 0.45 n 436.66 a Coyne b Lomita Drive c Stanford d CA e GLUE f 8 oz. Bottle g 101 h 45.65 i 45 j 2,054.25 k 6.75 l 133.53 m 2.25 n 2,183.28 rches through the file until it encounters a "form definition" and then uses the form to present the data. In the absence of a form definition, the "record definition" is used to present the data. This file contains simple card-file-type name and address data. It contains a form definition for data presentation and a record definition for data storage. ------------------------------------------------------------------------------ Name: {fname } {lname OPNPuQU,Wü W!9DMOO*KI"QI*MI"SI*3|@O O*3|NO OQOOO*gI|nO!P!!cO*3|yOO*gI##"gI++~#fo"cI*gI##"gI++~#fo"eI*eI*cI#"eI*gI`is#r*[I#|O͐n}>O!"[IO!"[I*3|OO|OOO&O!O!9FIELD NOT IN RECORD9"UIH"WI!"II!"YI!"[I!"gI!l"qI*MISSING ÁQü YM[!9DM*QI*SIڬQ!U!!cxQU>23! 6<*QI`is#r*UI! s#r͐! s#r͐*SIҜU͐*WIҜU͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} zR! ^#Vr+saR͐n}ŽR͐`is#r! w#w͐n}R͐n*/}R͐n*/}R! ^#Vr+s`i^#Vr+sns! ^#Vr+sÖR! ^#Vr+s6͐ ! s#r͐*WIҙU͐n}BS͐n*/}BS`i^#Vr+s! ^#Vr+sS͐n}XS`i^#Vr+sÙU͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}T͐n}T͐n} T`i^#Vr+s! ~#fo͐s#rS͐n}>IT͐n}-IT͐n}!IT͐n}8W \]!W/W!02W"gI*gI|VW5W|`W!W/W!02W"gI*gI|}W5W|ʇW!W/W!02W"gIASCENDING OR DESCENDING?NUMBERS OR CHARACTERS?ON WHAT FIELD?WÑ[ _^!9DM*3|X!}X*d/*J/+X!}XW*D/!W`is#r͐|:XHX*D/WWX*J/#"J/*D/"B/*d/"II!"_I*_I|wX*3|wXWaX!}X!9ÒXIk !9DM͐"CI*CIn}X*CIn}<ºXXX*CI#"CIáX*CI! s#r*CIn}X*CIn}>XXX*CI#"CIX*CIn}Y!íY͐!3͉X!3͌X!3!Y͏X|/Y!íY!3!Y͏X|GY!íY!3!Y͏X|_Y!íY!3!Y͏X|wY!íY!3!Y͏X|ڏY!íY!3!Y͏X|ڧY!íY!íY!9!9DM! w#w͐ n}Z! ^#Vr+s! ^#Vr+sY͐|^!"[IX^*0}CP^!"[IX^]!!h^õ÷^!9DM!!*IIb^e^`is#r!"_I͐|ʮ^*3|®^e^`is#rÑ^!9^c`}bü Ãcõ!9DM!"]I*qI"uI*iI"kI*kI"mI*kI"oIͺ^`is#r*uI*sIW_*kI*WIW_͐|W_*kI! s#rͺ^`is#r͐|T_*uI*sIT_͐ͽ^^͐|ʇ_*uI*sIڇ_*]I+"]I*wI"J/*yI"B/*{I"d/*]I|Ү_͐|ʮ_!J`!!c^*]I|¼_!A`*]I! s#r*iI"kI*kI~#fo|_!"_I*]I|`͐*]I`*d/! s#r^_^͐|(`!A`!!͐^!A`! 9RECORDS TOO BIG TO ORDERo`Ñ[Ëe!9DM*J/"wI*B/"yI*d/"{I`i6#6*kIw#w*kI##*uIs#r*kIw#w*kIw#w*d/*J/+җaf`*D/͐#i`! s#r͐͐a*D/"B/*J/#"J/×a*uI"CI*uI*sI9a*D/n}9a*uI#"uI+*D/#"D/+ns a*uI#"uI+6͐*aIŠa*cI";I*CIn}~a*;I|~a*;I+";I*CI#"CIXa*kI*CIs#r͐`is#rû`͐#|§a!tb*kI####*uIs#r*kI~#fo|a*kI*uI+s#r*kI~#fo"CI*kI*uIs#r*[I| b*eI*CI*uIl`*uI"uI]b*eI";I*uI*sISb*CIn}Sb*;I+";I#|Sb*uI#"uI+*CI#"CI+nsb*uI#"uI+6*kI "kI*]I#"]I!tb!9ÃbYd!9DM*iI`is#r!͐~#fo*oI~#fòb|b*oI`is#r͐͐s#r͐"oIzc!͐~#fo͐~#fòb|:c͐`is#r͐~#fo|&c͐~#fo`is#r7c͐͐s#rzcwc͐`is#r͐~#fo|fc͐~#fo`is#rwc͐͐s#rzcb!9!9DM*mI"kI*kI~#fo|ʻc*kI`is#r*kI~#fo"kIÑc*kI*mIc*kI~#fo"mIc͐*kI~#fos#r*kI##~#fo"CI*kI####~#fo"EI*CI*EIId*@/#"@/*CI#"CI+ns*@/n}Fd*J/#"J/*d/#"d/ d*]I+"]I!9_de!9DM*[I|d*YI|ʟd͐͐\d|җd!Üd!d͐͐\d|ڻd!d!͐n͐n}d͐n}d! ^#Vr+s! ^#Vr+sd͐n}e͐n} e! ^#Vr+sd=e͐n}=e͐n} =e! ^#Vr+s$e*YI|ge͐n͐nѯgWbe!ge!͐n͐nѯgWڄe!Ée!Ñe !9DM*6͐͐͐!* /͎e"6!9DM͐ n&|g}o! s#r͐ n}f͐ n}f!ff͐|f!f!f͐ n&|g}o! s#r͐ n}Lf͐|Ff!If!f͐͐qf͐|kf!nf!f`i6͐ n͐ n}±f`i5n}˜f!fîf! ^#Vr+s! ^#Vr+suf͐ n͐ nѯgWf͐|f!f!ff͐|f!f!f!9n PRINT IT Complete Example--- This file contains the product information and is to complete customer order records and invoices. ------------------------------------------------------------------------------ Product: {prod } Part Number: {pnum } Description: {desc } Price: {price } a {prod <} b {desc <} c {pnum >} d {price >} a GLUE b 8 oz. Bottle c 101 d 45.65 a PAPER b 50 sheets white bond c 205 d 25.75 O ÒO,RSkçT^U OO*3|zO O*3|zO O*zB}NO*3|NOO*zB}jO*{B+|gO*}B|jOO!O!O*6|ʐO*6O!"6çOI - ü Ax B">*>"zF*zF#"zF+*-/s*zF*-/s*>"zF*,/}O!m5!3͕O!R!3͘O!!3͛O"6*6|1P!R!3͘O!3!!d͞O!"9!"9͡O*9|TP*3|^P*6ͤO*44} ˆP͡O*9|~P*3|ʈP*6ͤO!">">">*9|Q*3|Q*>||Q*>44n} P*>#">ôP!">*>44n&|Q*>44n&|Q*> ?*>#">+44n&">P*>|XQ*>44n}=XQ*>#">44n&">*>44n}XQ*>#">*>|vQ*>44n} vQ*-/&">*>*-/&ŽQ*>|ʬQ*zF*>s*zF#"zF*>#">!">*>*-/&Q͡O!">">ÔP*>||Q!#R!3͘O!3!!d͞O*zF*-/s*>"zF*6ͤO.UTL FILE MISSING TOO BIGDR k òxT yI!"6!"9!"9>2hB!">!}">>2zB>2>!">!xS/R!02R!S!05R">*>|CS*>|«RvS*>+|¼R>2>sS*>|R!!!S8R"5/*5/|R!"5/!"3sS!0u!!S8R">*3|S*>++|&S*>">@S*>+++|:S*>">@S*>">sS;R!>R*3|XS!"6>20!0!hBARvSxRWHAT OPTION OR FILE NAME (OR 'IT')?IT NONSTOP FROM TO NUMBER DELAY HOW LONG?WHAT PAGE NUMBER?SMVèWÏXX8YçT!">">">">">{2yB&"`B"^B!S*^B|ʥT*3|¥T*zB}ʥTS*3|†T*zB}ʆT*jN|dT*3|dT*zB}dTSET*B|tT!S*^B|ʆTS*`B#"`B*zB}ʢT*{B+|ŸT*}B|ʢTSTíTáY!"B!"B*zB}T!"{B!"}B*//|T!ͪT!"{B!"}B*}B| U!ͪT*{B#"{B!"}B*{B*//+U*{B*//"{B U*{B+|6U*{B*//VU!ͪT*{B#"{B6U!"{BdU3Z!9DM͐kB~#fo}2+/͐kB##~#fo"3/͐kB~#fo"1/͐kB~#fo"//͐kB~#fo">͐kB ~#fo">͐kB ~#fo">͐kB~#fo">͐kB~#fo">aU!9DM͐kB*+/s#6͐kB##*3/s#r͐kB*1/s#r͐kB*//s#r͐kB*>s#r͐|:W͐|:W͐kB ͐kB ͐kBs#rs#rs#rËW͐kB *>s#r͐kB *>s#r͐kB*>s#r͐kB*>s#rWx ^UZß\a^ç^!9DMͫWͮW!ͱW*>">!"fB"B"{B!"B"B"}B"bB!"nN"lN"jN"hN"fN"dN"dB"^B>20A~F"TN=I"VN!{"XN*3|†X*zB}ʆXʹW|GXÆX*N|YXͷW+X*+/}qX*|FͺW|qX+X!!*|FͽW+X!9ÞX`|`XçT*B|ʪX͒X*jN|ʺX!͕X*B|X!͘X͛XXb!9DM*{B*}B+*fN`is#r͐*wBY͐|Y!/Y͐*wB&Y!/YX!/Y!9DY - ü *6|aY*6;Y!"6!"9*hB}kY!!hB>Y"6*6#|™Y!hB!!AYßY!"6ðY Tc!9DMͤY*zB&|Y*zB}Y͐* /ͧY*6|Y*3|YͤY|YY͐|Z! ͪYZ͐ͪY*3|)Z!ͭY*1/|LZ*1/ |RZ!"1/*>|lZ*>*1/rZ!">*`B+*1/?"B*//|ڕZ*//|ڛZ!"//*>|گZ*>ϊ|ڵZ!">*3/|Z*3/|Z!"3/*3/|Z*3/"wBZ*//|Z*//+"wBZ!:"wB[ìc 6]dISy!9DM[`is#r*3|/[Ð\͐|d[*hB}H[*6|K[Ð\*6|d[!"6*6[Í\*>|ʽ[*|Fn*/}ʽ[*|F[|ڊ[Í\! w#w*|Fn}ʽ[͐|ҽ[! ^#Vr+s*|F#"|FÒ[*|F ["N*N|[!Ö\*|F! s#r͐n}C \͐n}c \! ^#Vr+s[͐n} ,\͐n},\! ^#Vr+s \͐n} E\! ^#Vr+s,\*6|[\!"6*6[͐!0 [>20!"9![*3|ʇ\Ð\!"6[!Ö\!9ý\>fáYRg hJhh×iiç^!9DM*N|\*N|\͢\X^*N|]*N|]!"B`iw#w*zB}]!ͥ\*N>&]>}]>2]>ʽ]>>]>]>J]>^>V]>^>b]>^>n]>^>z]>"^.^͐0An} ˜]`i^#Vr+s}]͐0An}ʺ]`i^#Vr+s0A6_Ø].^͐0An}]͐0An} ]͐0A6_`i^#Vr+sý].^!"dB*Nͨ\.^ͫ\!"N.^ͮ\.^ͱ\.^ʹ\.^ͷ\!"N.^*N|X^*N|X^!!!0Aͺ\!9g^!9DM͐!^d^|ҕ^͐!^d^|ښ^!!>><<ù^jekI`òk!9DM*3|^_*B|l_͐ ͪ^|^*>|^͐ ͪ^*fB|l_͐ |l_*0A}_*0A} l_*1A}l_ͭ^#`is#r͐*wBB_͐ ͪ^l_͐*wB+l_*>|l_͐ ͪ^͐ ͪ^*zB}x__͐ |ʏ_͐!0AͰ^*dB|_͐! s#r͐n} ¼_! ^#Vr+sã_͐n}__*B|_ͳ^͐ |_͐!0AͰ^͐Ͷ^!"dB!9 `ÞnÃp*B|$`*>|$`*>#">*>*nN8`*hN"fN`*zB}F`!"B*dN|t`*>*lNt`!*\N*VN `!"BÈ`RgjÃp!9DM*jN|›`b*{B*}B+*fN*jN`is#r͐*wB`͐ |`!b*N! s#r͐*wBPa͐*wB2a͐|2a`i~#fo! ^#Vr+s)pN~#fos#r`͐*wBPa͐ |Pa!b͐||a*{B*dN#sa! w#wya!búa`i~#fo*{B*}B+*fNs#r*wB*fN#͐`!͂`!͐)N~#fo*XNͅ`!"jN͐*Na!b*XN"^N͐)N~#fo! s#r`iw#w! ^#Vr+s*Nڛb͐)pN͐)pN~#fos#r͐)N͐)N~#fo͐*XNs#r*jN`i^#Vr+s)pN~#fo"jNb͐*N)N~#fob*^N#"^N+! ^#Vr+snsÛb`i^#Vr+s"N*jN#"jN!b!9bRgÃp*fN|)c*wB*fN#b!*ZN*TNb*>|8c*>#">*>*nNLc*hN"fN!"B!9DM! ^#Vr+s!|ڪc*5/">*>|ڧc*>+">#">*>|ڤc*>+">Îcwc\cøcÑAx*>*>c!*bB|c!"bB!*6|d*d/*J/c!dͯc*D/"|F*|FͲc!44"|F͵c*9|=d*3|=d*44} =d͵c*9|Vd*3|Vd!!id! k !9DM!"N͐">*>n*/}ʑd!*>#">*>n} ¬d*>#">Ød*>n},d͐*> ss!*>n}d*>n*/}d!*>n}+d!*>n}_e!*>n}=e!*>n}& e!*>`d">*>|Be*>"N!*>#">+n}2N*>#">+n}2N*>#">+n}2N>2N*N}~e*N}ƒe!!Ncd!e!Nfd">*>|Ҩe!*>">*>n}e*>n&|e*>n&|e*>#">òe*>`d"N*>WED NOW DOU SIN CLE NOC IND WID NUM PAG LEN NEW TOP FOO BOT BLO END CON Df3Z*N>Tf>f>`f>f> lf>f> xf>f> „f>f> f>f> œf>g>¨f> g>´f>g>f>;g>f>DgMg>2+/Mg>2+/Mg!">Mg!">Mg!">Mg!">Mg*N">Mg*N"1/Mg*N">*>*nN2g!"fN8g*hN"fNMg*N"//Mg*N"3/MgAf^gáYÏX`!9DM͐|ڀg͐ |ڂg*}B|ʟg!Ug*{B#"{B!"}B͐*{BұgXg!"B͐*{Bg*zB}g*B|g[g!"B*{B͐ h*3| h!Ug*{B#"{BghekÏX*N|?h*Nh"N*N*wB?h!"dBhShMV4s*N"lN!Mh!*VN!Ph"\N*bN"dNËhMV^U4s!9DM!͂h*jN|ʶh*^N`is#r*N#"Nh*XN`is#r!͂h!"N!ͅh**nNi*hN"fNi!"fNjMV4s^UekÏX`Ãp!9DM*jN|&j*N)N~#fo`is#r/j*XN`is#r!i*|ʢk*}B|ʢk`i^#Vr+s͐ék!9kRuôu9váY)w!9DM!".A{2-A{2,A!"}B!"B*zB&|l͐ n}l! ^#Vr+sn&͵kkÕn*zB}:l*1/*'/:l*'/">@l*1/">*B+*>"B*B*>"B*B*1/"B*B*>ڈl*B*>"Bùl*>*B">*B"B*>+">#|ڹl! ͸kÝl!">! w#w͐ n}#m*>*B#m͐ n} m͐ n*/}m! 6#6͐ n&͵k*>#">! ^#Vr+sl͐ n}n*>*Bn͐ n&͵k|ʗm͐|tm͐ n*/}tm! ! ͻkÔm͐ n*/}Œm! 6#6! ͸km͐|ʹm͐ #n&͐ n&ͻkm͐ n} m! ͸km͐ #n&͐ n&ͻk! 6#6*>#">! ^#Vr+s#m͐ n}:n*>*B:n! ^#Vr+sn&͵k*>#">n͐ n}mn͐ n} Un!"^B! ^#Vr+sn&͵k:n!;k*-A}ʅn!?k*,A}ʕn!>k!9ón- kk ->2zB*yB}n!͡n>2yBn! ͡n! ͡n!Rpͤn*>| o*>!3ͧn!3ͤn*`B|3o!]pͤn*`B!3ͧn!3ͤn!fpͤn*>*>Wo*>*>`o!N"6Öo*>}qo*zB}zo!Y"6Öoͪn}23>23!3ͭn*3&"6*6|ªo>2zBp*6|¾o>2zBp*6|o>2>>2zBp*6|o>2zBp*6|p*6*/&p>2zBp5p*6*/&2p*6Ͱn!͡n8p;o*zB}Pp! ͡n! ͡nNEXT PAGE PANEL (YES.SCREEN.NO.GO.QUIT)? ápMV^U]dß\ xa^ç^j!9DM*3|p͐͐p+s͐++++|p!͆p͉͐p͐+|p*dB! s#r!"dB͐͐r*3|qr͐! s#r͐͌p"N*N|Bq͏pr͐+|Xq͐+++|r*>|ڐr`iw#w͐n}|r͐n}ʱq͐n*/}ʱq`i^#Vr+s0A! ^#Vr+snstq͐n*/}yr! 6#6! ^#Vr+sn*/}q! ^#Vr+sq*>!3͒p!3͕p! s#r! ^#Vr+s͐7r`i^#Vr+s0A6 r! w#w͐͐yr`i^#Vr+s0A͐3ns! ^#Vr+s?rjq͐0A60A! s#r*+/}¦r͐͘p|r͐++++|r!!͐͛pr!!͐͛p! ^#Vr+sn}rrp͐+|s*}B|s!͞p͐"dB͐++++|+s!͉p! 9IsZa^>fI ü !9DM!"bN`i6#67s|ڮt͐|ڮt*+/}s*|F:s|ʏs^s*N|s͐ ++++|s*N|s*N|s!"bBît*|F! s#r! ^#Vr+s!|t͐n}t! ^#Vr+s! ^#Vr+snss! ^#Vr+s6! ^#Vr+s*N|at*N|Ot`iw#w^t*N|^t=s^s*bN|rt!"bNät͐|ʤt*bN͐"bN*>|ʤt͐ ++++|¤t*bN#"bN`i6#6^s͐|u͐ +|t!-u!3@st͐ +++|t!1u!3@st!8u!3@s!Fu!3Cs!3!!eFs͐ $u!9TOPBOTTOMFOOT OR BLOCK IS TOO BIG!9DM! n} ju!! n*/}‰u*>">íu! n*/}¨u*>">íu!!u -Tc!9DM*!/|u*zB}u*.A#".A>6 *.A?6 *zB&|u*zB}#v! n&*zF!* /ͷu! n&ͺu!ͽuEvôuãwáY!9DM! n&|ʵv! n*/}„v! n&?v|ʄvõv*!/|ʧv*zB}ʧv!Bv!_2,A*.A>6_*>|'w! n} 'w! n*/}v! n&?v|v'w*!/|w*zB}w!Bv! n&2-A*.A?! ns2wáYôu!9DM!">*.A">*zB}Vw!,w*>*>ڙw! ~#fo*>#">+n&/w*!/|ʏw*zB}–w*.A+".AVw!,w!9DM! n}?w! n}.w! n},w! n}:w! n};w! n}!w! n}"w!!!9DM`iw#w! ^#Vr+sn}1x`i^#Vr+sx͐8x!9Jxfzz!"9*9#|lx!"9!"9Dx}x*9*9}xDx*3|x*9|ʏxGx*9|°x*944n}ʰxDxGxÒxþx ! ü !9DM͐͵x!0͸x`is#r͐͐x͐͐ y!0!!ͻx͐y!9(y Sy!9DM!Cy"y͐%yWHAT FILE NAME?hyk I- ü !9DM!0Vy!0!44Yy*54}:ʰy*/} ʰy*/}20>:20!44!0Yy!0!bz\y#|1z!0!dz\y#|1z!!0_y"6*6`is#r͐#|z`iw#w z`i6#6͐͐zYz͐+|.z*6byBz͐`is#r!0!͐####ey!9?*lzq !9DM*9#|ʛz*9*9|ڛz!"9z!"9*9`is#r͐!9*6iz! s#r͐|z!"9z͐?"9!9!9DM*9|҂{*9*9҂{*9#"9+9n`is`in}={!"9Û{`in} V{*9#"9446Â{`in&|m{`in} {*9#"944`ins{*9|›{*9#"9446!9 z`i6#6͐͐zYz͐+|.z*6byBz͐`is#r!0!͐####ey!9?*lzq !9DM*9#|ʛz*9*9|ڛz!"9z!"9*9`is#r͐!9*6iz! s#r͐|z!"9z͐?"9!9!9DM * Epson * Gemini * Tally Spirit * To Get This Action: Type BACK ACCENT and LETTER: Printer Codes: _________________________________ 210 27 64 128 | Reset | `R | The BACK ACCENT 197 14 128 | Double Width-On | `E | ( ` ) is the 206 20 128 | Double Width-Of | `N | HIGH BIT CHARACTER. 195 15 128 | Condense-On | `C | 227 18 128 | Condense-Off | `c | You press the 194 27 69 128 | Bold (emphasize) | `B | Back Accent ONCE 226 27 70 128 | Bold-Off | `b | ( it will not show 175 27 =S 0 128 | Superscript-On | `/ | on the screen ) 191 27 =S 1 128 | Subscript-On | `? | .....then press the 173 27 =T 128 | Super/Sub-Off | `- | appropriate letter 196 27 =G 128 | Double Print-On | `D | or number. 228 27 =H 128 | Double Print-Off | `d | 213 27 45 1 128 | Underline-On | `U | 245 27 45 0 128 | Underline-Off | `u | See REF.BOOK under 201 27 52 128 | Italics-On | `I | Customization Notes 233 27 53 128 | Italics-Off | `i | for details. 211 27 65 =10 128 | 10/72 Line Space | `S | .......... Touch SPACE BAR to continue .......... 27 45 1 128 | Underline-On | `U | 245 27 45 0 128 | Underline-Off | `u | See REF.BOOK under Ready to print FILENAME * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Prepare printer for printing, and * * * * press SPACE BAR when ready * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Use -Q to quit.  * * * * * * * * * * * * * * * * * * * * * * * * * * * O OOHO-TkÂ-ÔTUÄVQW:Z|Zh\-~` I!9DM*B/#n}!P*B/n}=yO*B/n}+yO*B/n}-P*B/##n} P*B/###n&;In}P!"n/!SOO! s! n&OYO! n&ONO! n*/}žO! n& P! n&O! n&OYPxSO*3|*PxSO*3|8P!O*L"L*3|IP$O!FL'O*L"L*3|bP*O*3|mP-O!0O!"9*3|xS*'/! s#r`iw#wL"M*Mn}Q! ~#fo`i~#fo3O! ~#fo`i^#Vr+s!6O`i~#fo*#/+P*M9O!S9O*M*M.2 3*L*L ?*L0}2 3>2 3!T!3BO`i~#fo*#/+rS!39O!"n/!9THIS LOOKS ALREADY PROOFED. DO YOU WANT TO PROOF IT (Y/N)? MISSING, IGNORED TOTAL WORDS UNIQUE WORDS UNFAMILIAR WORDS WORDS/SENTENCE AVERAGE CHARACTERS/WORD AVERAGE9T-!9DM!"n/!!0T!!!3T!!0T!!!3T! ~#fo6TæTü `qa!9DM`iw#w`i~#foT`i~#fo;J`i~#fos`i^#Vr+sôT!"9!"L!"L!"L>2;KU!U!!͗TU!!!;I͚T`i6A#6`i~#foZU`i~#fo;I`i~#fo ;I`i~#foss`i^#Vr+s7U9" M* M"M*M "M!!?* M͚TL"M*M6͝T͠T!"FLͣT!9UD~*B/*>/U*B/#"L*L*>/ʂV*Ln&;In}xV*Ln}.-V*Ln}?-V*Ln}!xV*L+n&;In}OV*L+n&U|xV*L#n&;In}xV*L#n&U|xV*L#"L*L#"LUÙV-Tvaa|dEe!9DM!CW͇V!"L*>/"L*B/"L!"L͊V`is#rzW`i~#fo͍V*3|V:W*L#"L+|g}o|V͐V*L*L`i~#fo"LV*L:W* M͓V*L* M͖V!9SCANNING TEXTÇW1I:ZZg -T~Qj|dûk T  !9DM*L?"9*99" M*L?* M* MTW*n5}:W*m5}20>:20!Y!0WWW!Y!0WW!FLZW*9|g}o!9!0!FL]W|X*L`is#r!Y!3WW!nL!3`W!Y!3`W!3cW!nLiW!fW>A2MlW!FLZW*3|ʌXY*L`i~#foX* MoW*L?"9*L?*99* MTW*99" MrW*3|XY5Y!nLiW*M!L##25Y!nL*MWW*M!nLiW#"M*M6uW|@YY!0xW!Z!0{W|`Y~WY!ŹW>20!0!3Z̈́W|Y!5Z!0`W*0}:Y*n5}:Y!0!3WW*m5}20>:20!3!0WWW!9TMAKER.DICTMAKER.DICSCANNING DICTIONARY ABCDEFGHIJKLMNOPQRSTUVWXYZWITH WITH WHAT DICTIONARY?..DIC@Z !9DM! ~#fo~#fo|zZ! ~#fok~#fo=Z! ~#fow#wÅZj!9DM*L! s#r* M`is#r>=23>!23> 23! ^#Vr+sz_\ 3! s#r! 6#6`i~#fo~#fo! s#r! ~#foZ! ~#fo*Mѯg+"[! ~#fo+}2M)[*M}2M! ~#fo*Mѯgs#r!M~5o}k[! ^#Vr+s! ^#Vr+sns?[! ~#fo,Җ[! ^#Vr+s6 ! ^#Vr+s! ~#fo[! ^#Vr+s6 ! ^#Vr+sÖ[`i^#Vr+s~#fo! s#r! ~#fo*Mѯg+ \! ~#fo+}2M\*M}2M!M~5o}?\! ^#Vr+s! ^#Vr+sns\! ~#fo6!3͂Z*3|\\_\ðZ! 9Æ\ü -TaÑvaÄ!9DM*L|™\_*9!?\!_!!k\_* M`is#r!!?* Mn\*L! s#r!"L!"L!_q\! ^#Vr+sz,]`i^#Vr+s~#fot\]!"L*3|_*d/*J/_w\*D/! s#r*D/"L*B/+"L! w#wz\! s#rz&_! ~#fot\|#_*3|ʠ]*D/}\_! ~#fo|]! 6#6*@/#! s#r! w#w! ~#fo! ~#fo7^! ^#Vr+s!,^!_!!k\*D/}\_4^! ^#Vr+s! ^#Vr+sns]! ~#fo##s#r! ~#fo,u^!_!!k\*D/}\_! ^#Vr+s6?! ^#Vr+s6=* M~#fo! ~#fo»^* M! ~#fos#r! ~#fo*L#_! ^#Vr+s!,_!_!!k\*D/}\_ _! ^#Vr+s! ^#Vr+snsû^k]! ~#fo|_! ~#fo*B/ʛ_! ^#Vr+s!,z_!_!!k\*D/}\_Ø_! ^#Vr+s! ^#Vr+sns3_! ~#fo+"@/*J/#"J/*d/#"d/!"f/̀\*3|__̓\*3|___*D/}\2]!9MARKING TEXT `I !9DM!`! ~#fo`! ~#fo'N`! ~#fo! ~#fo``! ~#foz`! ~#fo! ~#fo#``! ~#fodڧ`! ~#fo! ~#fo##``! ~#fo `! ~#fo! ~#fo###``! ~#fo! ~#fo####` !$a"L*>L"@L*@L"BL*BL"DLt҄$u#sv%&w'45"x36 r7yz( avkj!9DMya|•a!ýa*L`is#r*L|a*L*Mѯg"L`i~#foýa!9ajkkmü !9DM! ~#foa*M`is#6! ^#Vr+sn&_|g}o! s! n&|g}o! s#r>2M! ~#fo"M!M5n}ʚb*M*M#"M+n&|g}o}2M!M5n}rbÚb! ~#fo*M#"M+n&|g}os#r;b! ~#fo*M&s#r! ~#fob! ~#fos#röb* M! s#r! ~#fo! ~#fo)s#r`i~#fo+}2M! ~#fo~#fo|ʑc! ~#fo~#fon&_|g}o! nѯg|g}o|jc! ~#fo~#fo#! ~#foa|ʑc! ^#Vr+s*MŽc* M! s#r c! ~#fo" M! ~#fo~#fo|$d*L|d! ~#fo+`i~#fo! ~#fo+a! ~#fo~#fo`i~#fo! ~#fo~#foad! ~#fo! ~#fo+s#r!rd*L|ld*L#"L+QUd!{d!!a!rd! ~#fo! ~#fo+s#r!rd!9!9DM*L'2 L`i6#6`i~#fog`i~#fo2;K!! ~#fo(! ~#fo`g! ~#fok!! ~#fo(cgs#r! ~#fok~#fo#|Th! ~#fow#w!/j! ~#fo6#6! ~#fo##6! ~#fo6! ~#fo! ~#fos#r! ~#fom! ~#fos#r! ~#fofg|j! ~#fo~#fon&|1i! ~#fo~#fon& 1i! ~#fo7! ~#fo^#Vr+sns! ~#foo^#Vr+s?i! ~#fo76! ~#fo7n&i!2! ~#fo9! ~#fo~#fo`g! ~#fo~#fo2s#r! ~#foo~#fos#r! ~#fo86Zi!!2! ~#fo9]g! ~#fo86A! ~#fo"L! ~#foigs! ~#folg*3|)j!/j/j!/j!9COPYRIGHT 1984 TOM MORANWjv!9DM* M! s#r*L! s#r! ^#Vr+szʾj! ~#fo~#foTj|ʯj! ~#fow#w*L+"L! ^#Vr+suj!9js~!9DM>2M! ~#fon&;In}k! ~#fon}'&k! ~#fo#n&;In}&k!M4! ^#Vr+sj*M&mk! ~#fo+n&jsmk! ~#fo++n}'mk*M&++}2Mtk*M}2M*L*Lk*Ln&;In}ʝk!k*L#"L+n}k*Ln*/}k*L#n},k*Ln}k*L*Lk!k*L#"Lkwk!ks~!9DM! ~#fo`is#r*M}2M!M~5o}l! ~#fon}Tl! ~#fo`i~#fo}2;K!bml! ^#Vr+sn&;In! ^#Vr+sn&;In}l! ^#Vr+s`i~#fo}2;K! ~#fon&;In! ~#fo+n&;InѯgWͩl!l!bml! ~#fo`i~#fo}2;K! ~#fon&;In}m!bm! ~#fon}'Qm! ~#fo#n&ks\m! ~#fo##n&;In}\m>2;K!bm!bm!9qmë~!9DM! ^#Vr+sn&nm|ʚm`i6Þm`i6! ~#fo! ~#fom! ^#Vr+sn&nm|m`in&|g}osm`in&|g}osÞm`in}nn n&n&n,n!2n!2n!2n!2n!9Jnq ü :Z!9DM>n*3|bn!! ~#fo~#fo|xn!! ~#foo! ~#fom~#fo! ~#fo~#fo! ~#fok~#foAns#r! ~#foo~#fo#|n!mo!!Dn! ~#foo~#foo! ~#foGn!! ~#foo! ~#foo~#fos#r! ~#fo! ~#fo~#fos#r!DICTIONARY DAMAGEDÆo;n*}L}ʓor!HL~4o}*q*IL&|g}o}2L*L} o p Xpʜppq*L|o!FL̓o|o!&*L+"L*>L*LL#"LL+n}2IL&;Jnѯgn&*L|0p!FL̓o|0p!&*L+"L*@L*LL#"LL+n}2IL&;Jnѯgn&*L|tp!FL̓o|tp!&*L+"L*BL*LL#"LL+n}2IL&;Jnѯgn&*L|¸p!FL̓o|¸p!&*L+"L*DL*LL#"LL+n}2IL&;Jnѯgn&>2HL*L|q!FL̓o|q!&*L+"L*LL#"LL+n&>2HL*2HL*>LP*ILѯgn&*IL&|g}o}2L*L|q!FL̓o|q!&*LL#"LL+n}2IL*L+"L*IL&;Jn}2L*L&))))*IL&;Jnѯg&*L|.r!FL̓o|.r!&*L+"L*LL#"LL+n&Sr:ZÀoÂs~!9DM! ~#fo"L*L7n}|r|rt*Ln}2L}œr*LGr!v*L&|g}o}2L*L *L&|g}o}2L&"LJr}2L&2;K! n&w|;x! n&w! sAx! 6A! ~#fo6! w#w! ~#fo7n&xx! 63ßx! ~#fo7n&ҙx! 6ßx! 6! n&`is#r! ~#fo9! s#r`i^#Vr+sz y! ~#fo! ^#Vr+snѯgs#r! ^#Vr+sn! sx! ~#fok~#fow`is#r`i~#fo! ~#fonz`i~#fo! ~#fo~#fo! ~#fo~#fo! ~#foo~#fo! ~#fonz! ~#foo~#fo! ~#fo~#fo! ~#fo~#fos#r`i~#fo! ~#foo~#fos#r! ~#fo`i~#fo`is#r! ~#fo! ~#fo~#fo`i~#fos#r! ~#foo~#fo`i~#fos#rÝz! ~#fo! ~#fow|z! ~#fow!ö{! ~#fo~#fo! n&|g}os#r! ~#foo~#fo! n&|g}os#r! n&|g}o|N{! ~#fo##6! ~#fo###! ~#fo^#Vr+sns! ~#foo^#Vr+sZ{! ~#fo##6! ~#fo"L! ~#fows! ~#fow|ʰ{! ~#fo n! nѯgWڭ{!ö{x{!ö{!9{ÂÒ!9DM! ~#fo{`is#r`i~#fo!${`i~#fo!~#fo|!9||ü :Z;n!9DM|*3|8|!|! ~#fo~#fo|O|!|! ~#fo! ~#fo~#fo! ~#fok~#fo|`is#r`i~#fo#|¤|!|!!|`i~#fo|! ~#fo|!|! ~#fo||!9DICTIONARY DAMAGED|ÒX}!9DM! ~#fo!|!! ~#fo! ~#fo|`is#r`i~#fo#|I}!O}!O}!9a}ÂÒ!9DM! ~#fo[}`is#r! ~#fo+|¹}`i~#fo!$^}! ~#fo`i~#fo!~#fos#r`i~#fo!! ~#fos#r`i~#fo#6`i~#fo!!^}|}!}!}!9!9DM`iw#w! ^#Vr+sn}4~`i^#Vr+s~͐;~!9!9DM! n&0ͯo~! n&9ͯy~ë~!9DM! n&v~|ʠ~! n& å~! n&!9DM! n&Aͯ~! n&Zͯ~ë~ü!9DM! n&~|ͣ! n&~|ͣ7**:Oz,q#$7*|DM**|`> 5000 and prod = GLUE END PRINT IT Select Example--- The SELECT command is typically used to generate reports by extracting records from a data file that meet specific criteria. The above command line will select records from the file ORDER.DEX all the orders for GLUE in excess of $5000. The SELECT command may also be used to reformat the database structure. New fields may be added and old ones deleted. For an example of this feature, see file SELECT1.DEX. An interesting application of this feature can be used to select numeric fields and incorporate them into a spreadsheet. For an example of this application, see file SELECT2.DEX. ------------------------------------------------------------------------------  Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * prnks information from two or more separate data files. It brings in data into the work file on the basis of a key field. The command line at the top will bring in customer data from the file UPDATE.DEX on the basis on the customer's last name, "lname." It performs a similar operation to the product data by completing the information about the product, namely, its description, price, and part number. ------------------------------------------------------------------------------ QOZR k T ÔýRóSU\YȀyZ jo\ü \{j/R^ Õ^O!QO!0 O!Q!0 O"<*<|چO!"<åO!"<O!O*3|¥O!"6*3|°OO*3|O*<|OO*3|OO*<"M*<"MO*3|OOOOUO*3|OåP!QO!0 O!Q!0 O"<*<|'PO*<|6PåP*<|rP!0u!!R!O"<*<+|iP*<"12<>2<<"M<"M<"M<"ML"M!"MISSING ÿS__ü !9DM*d/`is#r*J/! s#r*@/! s#r!"<*9|T*3|T*<+|TͶS" ON DISKMISSING ON DISKUü `Iua!9DM*M*MJU!GY!!cU>Y>23! 6<*M`is#r*M! s#r͐! s#r͐*M%Y͐*M%Y͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} V! ^#Vr+sU͐n},V͐`is#r! w#w͐n}ʆV͐n*/}ʆV͐n*/}ʆV! ^#Vr+s`i^#Vr+sns! ^#Vr+s4V! ^#Vr+s6͐ ! s#r͐*M"Y͐n}V͐n*/}V`i^#Vr+s! ^#Vr+sðV͐n}V`i^#Vr+s"Y͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+sw#w! ^#Vr+sw#w! ^#Vr+s͐s#r! 6#6!"<`i^#Vr+s! ^#Vr+s͐n*/}ʜX͐n}ʜX͐n} W`i^#Vr+s! ~#fo͐s#rÎW͐n}>W͐n}-W͐n}!W͐n}<)X`i^#Vr+sn! s! ~#fo͐s#rÎW͐n}#hX`i^#Vr+s͐n}#]X͐+|]X! ^#Vr+s! w#wÎW*<#"<+3`i^#Vr+sns! ~#fo͐s#rÎW*<|ڴX*<36üX!3U͐͐s#r! ^#Vr+s! s#r! ^#Vr+s! ns!3͐U! ^#Vr+sn}YY! 6#6áVuU͐*M7YU͐"M!9RECORD HAS NO FIELDShY`yZua*M"<"<>23*<"<*<*<qZ*Z*<2<*<"<*<#"wf*g-g!h%h*<e*˜hâhßh*<#"<h*liVi*<3n} „i*<#"23!jlmrua0"M>20*M"M j*3|9j*M"M!"M!!44j|bj*3|bjj*M*Msjj*M"MÐjLrrMu{j/!9DM͐|¦j*M͐~#fo"<*<j|k! ^#Vr+s*<h|j͐~#fo! s#r͐~#fo|j*M͐~#fo*<~|k͐~j*<|;k*<|;k͐́j*<|^k*<r|^k͐̈́j!͐####~#fo͊j!0͇j͐~#fo"!9DM͐##~#for`is#r͐####~#for"<͐"<͐~#foңs͐~#foڣs͐~#fo|[s*<*u*<+|t*<|t>u*<++|t*<|t>u*<+++| u*<| u>u*<++++| u*<| u>u*<|8u*<+|8u>u*MDu*MDu!9hu{jwîSÌz!9DM͐~#fotҋu*M`is#ràu͐##~#foPu`is#r!͐####~#foPu!0Su!͐!0Su͐~#fo"<*<|u*<t|v!0!0VuWv*<|v*<s|.v!0!0YuWv*<|Jv!0!0\uWv!0!0_u!0!3bu*3}*tv*6#"6*3} ‚v>0233"w!1Aw!y!1Dw`is#r͐|sx͐"M*M|wpx*M|w*M ?"Mpx*M|w*M@"Mpx*M|x*MH"Mpx*M|(x*M]"Mpx*M|Ax*Me"Mpx*M|Zx*Mm"Mpx*M|px*M"M y!3Gw"<*<|ʡx*<}>˜x!"MÞx!"M y*M|y`iw#w͐3n*/}x`i^#Vr+s͐3n&|x͐3n&|x!"My!"M!3Jw" >= > AMONG CONTAINS WITHIN + - * / ! END ly[z!9DM͐"<*23}`iw#w*Mn}'e|*Mn}"|!"M*M#"M+n! s*Mn}ʲ|*Mn! n}ʲ|`i^#Vr+s3*M#"M+nsz|͐36*Mn}|*M#"M}`i^#Vr+s3*M#"M+ns͐36! ~!3{! s#r͐|}}͐|m}*Mn}=D}*Mn}D}}`i^#Vr+s3*M#"M+ns͐36}*Mn}ʊ}*Mn}"ʊ}*Mn} }}͐3*Mns͐#36!~͐3{! s#r͐|}}`i^#Vr+s*M#"Mm}͐36!9WHAT CONDITION OR 'END'?=<>!+-*/()+-*/!<>=)('<~~ --U!9DM'~`is#r͐|a~!*~~*%/! s#r!͐-~!͐!*~! *~*X/#!30~!33~!/6~*^/#!30~!33~!~3~͐3~!~3~9~D~!9 !9DM! s#r`is#r͐x/n} 7͐x/n}7`i^#Vr+s͐x/n}K!Ë͐x/n}'i͐x/n}"œ`i^#Vr+sx/n! s! ^#Vr+s0! nsâ! 6 ͐! s#r͐x/n! n}͐x/n}! ^#Vr+s0! ^#Vr+sx/nsî! ^#Vr+s0! ns͐06`iw#w͐x/n! n}E! ^#Vr+s͐x/n}{`i^#Vr+sx/! ^#Vr+sx/nsE͐x/6!Ë!9Ý æ!9DM!͚͗͐WHAT FILE NAME?Ԁ ! ü !9DM͐ˀ!0΀`is#r͐͐͐͐ %!0!!р͐,!9>ùK!"9*9#|`!"9!"98q*9*9q8*3|*9|ʃ;*9|¤*944n}ʤ8;Æûk I- ü !9DM!0ͩ!0!44ͬ*54}:*/} */}20>:20!44!0ͬ!0!ͯ#|„!0!ͯ#|„!!0Ͳ"6*6`is#r͐#|U`iw#w\`i6#6͐͐oì͐+|*6͵Õ͐`is#r!0!͐####͸!9?*ÿq !9DM*9#|*9*9|!"9B!"9*9`is#r͐!9*6ͼ! s#r͐|5!"9B͐?"9!9!9DM*9|Ճ*9*9Ճ*9#"9+9n`is`in}!"9`in} ©*9#"9446Ճ`in&|`in} ҃*9#"944`insS*9|*9#"9446!9 !9DM*6͐͐͐!* /"6!9DM͐n}P͐n}P!!"6! ^#Vr+sn! ^#Vr+sn}*6+"6|Š!V!Ú !9DM͐ |Һ͐ ! s#r`i6#6'͐ ͐! s#r͐|&͐|&`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 ք͐ ͐͗!9!9DM͐ n&|g}o! s#r͐ n}͐ n}{!nÐ͐|ʊ!Í!n͐ n&|g}o! s#r͐ n}Dž͐|!ą!n͐͐͐|!!n`i6͐ n͐ n},`i5n}!n)! ^#Vr+s! ^#Vr+s͐ n͐ nѯgWY͐|P!S!nn͐|h!k!n!9} !9DM*6͐!͐!* /z"6ô !9DM*6͐!͐!* /ͱ"6 !9DM*6͐!͐!* /"6" !9DM*6͐!͐!* /"6Y !9DM͐!͐!* /V`i5n}!n)! ^#Vr+s! ^#Vr+s͐ n͐ nѯgWY͐|P!S!nn͐|h!k!n!9} !9DM*6͐!͐!* /z"6ô !9DM*6͐!͐!* /ͱ"6 !9DM*6͐! SELECT Order.dex END FIND ..start PRINT IT The command SELECT is used to extract specific fields from each record. Only the customer name and address are extracted and reformatted in a form suitable for label printing. The below record structure puts "Mr." in front of each customer name, shrinks any blank spaces following the city name and advances to the next page. Pagesize is set to 9 lines. ------------------------------------------------------------------------------ Mr. {lname <} {address <} {city !}, {state <} .newpage ..start .pagesize 9 .. -------------------------  Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * prracter equation which may have a logical test associated with it. SET performs algebra on the fields within a record. The rules below describe the relationships among the different fields within the customer order record. It includes sales tax if the customer lives in California, and determines the appropriate shipping charges. Amount is Quantity multipled by Unit Price. ------------------------------------------------------------------------------ Customer: Last Name: SELECT Order.dex END COMPUTE FIND ..start PRINT IT Select Example--- In this example, SELECT is used to extract pricing and order information to be loaded into a spreadsheet. Additional values are then calculated in the spreadsheet with the compute command. ------------------------------------------------------------------------------ + + {lname <} {prod <} {am >} {dis >} {tax >} {ship >} {tot >} ..start .clean Customer Last Name Product Amount Discount Tax Shipping Total ex 99,999.99 9,999.99 9,999.99 99,999.99 9,999,999.99 .. = Total Value avr Average Value -------------------------  Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * prreenbury d CA e PAPER f 50 sheets white bond g 205 h 25.75 i 150 j k l m n  j 9,358.25 k 30.75 l No tax m 20.50 n 9,348.00 a Marvins b 1020 Blake St. c Bluebrass d PN e PAPER f 50 sheets white bond g 205 h 25.75 i 125 j 3,218.75 k 18.75 l No tax m 12.50 n 3,212.50 a Green b Mean Joe Lane c Greenbay d MI e GLUE f 8 oz. Bottle g 101 h SET PRINT IT Set Example--- The SET command executes a series of "rules." A rule is a numeric or character equation which may have a logical test associated with it. SET performs algebra on the fields within a record. The rules below describe the relationships among the different fields within the customer order record. It includes sales tax if the customer lives in California, and determines the appropriate shipping charges. Amount is Quantity multipled by Unit Price. ------------------------------------------------------------------------------ Customer: Last Name: {lname } Address: {address } City: {city } State: {state } Product: Product: {prod } Description: {desc } Part Number: {pnum } Price: {price } Order: Quantity: {quan } Amount: {am } Discount: {dis } Tax: {tax } Shipping: {ship } ========================== Total: {tot } am 9,999.99 = quan * price dis 9,999.99 = quan * 0.10 when am <= 200 dis 9,999.99 = quan * 0.15 when am > 200 tax 9,999.99 = am * 0.065 when state = CA tax = "No tax" when not state = CA ship 9,999.99 = quan * 0.05 when state = CA ship 9,999.99 = quan * 0.10 when state <> CA tot 99,999.99 = am - dis + tax + ship a {lname <} b {address <} c {city <} d {state <} e {prod <} f {desc <} g {pnum >} h {price >} i {quan >} j {am >} k {dis >} l {tax >} m {ship >} n {tot >} a Joel b 2121 42nd Street c New York d NY e GLUE f 8 oz. Bottle g 101 h 45.50 i 200 j k l m n a Five b 23 Greenbury Drive c Greenbury d CA e PAPER f 50 sheets white bond g 205 h 25.75 i 150 j k l m n  j 9,358.25 k 30.75 l No tax m 20.50 n 9,348.00 a Marvins b 1020 Blake St. c Bluebrass d PN e PAPER f 50 sheets white bond g 205 h 25.75 i 125 j 3,218.75 k 18.75 l No tax m 12.50 n 3,212.50 a Green b Mean Joe Lane c Greenbay d MI e GLUE f 8 oz. Bottle g 101 h 3O Q0QRöWÓdâXrhYõ o-OO*3|EOO*M"M*M"M O*3|_OO O*3|mOO*M"M*M"M*M#"M+61*M#"M+6*M"M*M#"M+60*M"M*M#"M+6OO|OOOðOO7O*3|P*d/|P*@/*MP!!*d/+OO*d/"X/*X/*\/+"Z/!O*3|P*6|6P*M|P!!!O!!!$O!P'O*6|vP!*O!"}M|P!"}M!*}M!O!*}M!$O*M|P*M!3-O!30O!P'O!*}M#"}M!O!*}M!$O!"n/SET MESSAGES VALUES TRUNCATED9"MQL"M!"6"M!"M!"MBQÑ&]ü Æ^!9DM!"M*d/*J/Q*3|Q*M|uQ*@/#"M3Q*D/6Q`is#r*D/9Q͐+|›QQ͐+++|¼Q*M|¼Q*@/#"M!"M͐++++|Q*M+|Q!"MPQ*3|QÙR*M|R!R!!cMISSING Rü ï^`a!9DM*M*MR!W!!cRØW>23! 6<*M`is#r*M! s#r͐! s#r͐*MwW͐*MwW͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} S! ^#Vr+sòS͐n}S͐`is#r! w#w͐n}9T͐n*/}9T͐n*/}9T! ^#Vr+s`i^#Vr+sns! ^#Vr+sS! ^#Vr+s6͐ ! s#r͐*MtW͐n}ʓT͐n*/}ʓT`i^#Vr+s! ^#Vr+scT͐n}©T`i^#Vr+stW͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}QV͐n}QV͐n} ƒU`i^#Vr+s! ~#fo͐s#r>U͐n}>ʯU͐n}-ʯU͐n}!ʯU͐n}U͐n}#V`i^#Vr+s͐n}# V͐+| V! ^#Vr+s! w#w>U! ^#Vr+s3`i^#Vr+sns! ~#fo͐s#r>U͐|kV͐36sV!3R͐͐s#r! ^#Vr+s! s#r! ^#Vr+s! ns! w#w͐3n}V! ^#Vr+s! ^#Vr+s3nsñV! ^#Vr+s6͐͐s#r!3R"M*M͐/W͐*M~#fos#rhW! ^#Vr+s͐YW! ^#Vr+s6 /W! ^#Vr+s6! 6#6TT(S! ^#Vr+s"M͐*MژWR!9RECORD HAS NO FIELDSWÑ&]FaÆ^!9DM! w#w*d/*J/ҍX*3|X͹W*D/ͼW`is#r͐|GX͐+|.X͐++++|.X! w#wDX͐|DX! 6#6rX͐|rX*D/!ͿW|rX*D/"B/*J/#"J/ÍX*D/W͐|ŠXÍXW͐|ʙXW!9úX ü bÑFa c!9DM*M#"M*M!MͥX*3|Y*B/*@/*M*MbY!Y!!cͨX*3|"Y!YͫX*d/*J/9Y!YͮX*D/!ͱX`is#r͐|[YfY*D/ʹX%Y*D/͐ͷX*d/*J/YͮX*D/͐#ͱX! s#r͐͐ڼY*D/"B/*J/#"J/Y*D/͐ͷX͐`is#rtY!Y!9YÉ !9DM*M"M*M`is#r͐##! s#r! s#r! s#r*@/! s#r*M*M]*Mn}ʫZ*Mn*/}ʫZ*Mn*/}‹Z*@/#"@/6 *M#n*/}ˆZ! 6#6ÚZ*@/#"@/*Mns*M#"M*f/#"f/4Z*Mn}A[͐~#fo`is#r͐##! s#r*M#"M͐ |[͐|[*@/n}Z*@/+"@/Z!"f/ [!$]Y! s#r! s#r*3|>[*B/*@/|>[]4Z*Mn*/}b[*Mn}b[*M#"MA[*Mn}r[*M#"M͐~#fo! s#r͐! s#r͐####~#fo"M͐~#fo"M*M*M#"M͐n! s͐##~#fo"M*Mn} [*M#"M[*Mn}\*MY4Z! 6#6*M"M*Mn}2\*Mn} (\*M"M*M#"M\*M#"M*M*M"}M*}M*Ma\*MY4Z*M*Mx\!"M}\*M6*M*}M"M! n}<ʩ\>ʼ\-\!] ]*MY*MY ]*MY*MY ]*M"}M*}MY*MY*M*}MY ]*MY ]*M|]*M6 4Z!9 2]Ik !9DM͐"M*Mn}d]*Mn}ˆ]Ò]Ï]*M#"Mo]*Mn}¡]!M^͐!3)]!3,]!3!V^/]|]!M^!3!_^/]|]!M^!3!f^/]|]!M^!3!n^/]|^!M^!3!t^/]|/^!M^!3!{^/]|G^!M^!M^!9Ì^ü !^!!c͉^MISSING !9DM! w#w͐ n}^! ^#Vr+s! ^#Vr+sÿ^͐|_! ^#Vr+s! s#r_͐ ! s#r͐ n&|1_͐ n&|H_͐61! ^#Vr+s6 `͐+`is#r͐ n&|r_͐ n&#s `͐ 60! ^#Vr+s`i^#Vr+s͐|ڵ_͐ n&|ҵ_͐ n&| `! ^#Vr+s! s#r! ^#Vr+s͐`! ^#Vr+s! ^#Vr+sns_͐61 `S_!9!9DM*M`is#r͐|a͐##! s#r͐~#fo`is#r͐~#fo|a͐~#fo! s#r͐~#fo! s#r͐ ! s#r͐! s#r͐n͐n}`͐n}`! ^#Vr+s! ^#Vr+sÕ`͐n͐n}`L`͐! s#r͐n}2M͐## aL`'`! a! 9aü !/a!!caPROBLEM IS TOO COMPLEX!9DM͐ "}M*M`is#r͐|ʋa*}M|ڋa͐~#fo`is#r*}M+"}M^a͐|®a*M`is#r!"}M! w#wõa͐ "}M͐|pb͐"M*M####"M͐ "M*Mn*Mn}a*Mn}a*M#"M*M#"Ma*Mn}b*Mn} b*M#"Mb*Mn}+b*}Mvb*}M#"}M͐~#fo`is#r͐|mb͐ |mb! w#w!"}M*M`is#rõa!vb!9!9DM*M`is#r͐|c͐##! s#r͐~#fo`is#r͐~#fo|c͐~#fo! s#r͐~#fo! s#r͐##~#fo! s#r͐"M*Mn}c*M#"M+6 bõbÐb!9!9DM͐ "M*M`is#r͐|jc͐|jc͐~#fo`is#r! ^#Vr+s8c͐|vcÊd͐##! s#r!"}M͐~#fo|ʊd͐~#fo! s#r͐####~#fo"M͐~#fo"M*}M*Mc*Mn}c*}M#"}M*M#"Mc*Mn} d*}M#"}M*M#"Mc*Mn}dÊd*}M*M%dÊc͐##~#fo"M*M͐DdÊc*}M*Mڇd*Mn}hd*M#"M+6 }d*M#"M+*M#"M+ns*}M#"}MDdÊc!9ôdl`k ü n>nõn_pa!"M*M"M*M*M8h*3|8h!"M*M"M*M"M͖d*3}e*Mn*/}e*M#"M+n}eed!3͙d"M*M|We!3͜d!@h!3͟d|We!Eh!!e͢d*Mw#w*M"M*M|ʂg*M*M~#fos#r͖d*3}= e*3} e*M##w#w>g!"}M!"M!"M*}M3n} e*}M#"}Mòe*}M3n}eͥd*}M"M*}M3n} `f*}M3n}`f*}M3n*/}Vf*M|*f*}M360*M#"MVf*}M3n*/}Ff*M#"MVf*}M369*M#"M*}M#"}Me*}M36*M##*M3ͨds#r*}M*M"M*M|ҝf!"M*M*M|f!Xh!!e͢d*M####*Ms#r*M*Ms#r͖d*3}=f*3}g*M!3ͨds#r͖dg*Mw#w*3}=,g*3}>g!hh!!e͢d*3|Hgͫd*3|Ug*M *Ms#r!!44ͮd|‚g*3|‚gͥd*3|ʌg*M`|ʲg*M~#fo|ʲg*M w#wgͫd*3|ʿg*M *Ms#r!!44ͮd|g*3|gͥd*M*Ms#r*3|h*M#"M+n}hh*M"M*M#"M*M*M5hͱdd*M"MWHENTARGET NOT A FIELDTOO MANY DIGITSMISSING =ÊhtuI~çãv!9DM`i6#6!"M*M"M`i^#Vr+s*Ml*M"M*M~#fo|h*M|h*M~#fo|Oi*M ~#fo|Oi*M ~#foxh!44uh!6!44{h|=i*M~#fo|4i!"M:i!}"MOi*M~#fo|Oi!"M*M+"M#|qi*M~#fo"Måh*M ~#foxh! s#r*M##~#fo|lk*M##~#fo"M*Mn*/}¿i*M! s#rik͐!44uh!6!44{h|j*M~#fo|j*M~#fo!3~h3! s#rik*M####~#fo"M*M~#fo"M*M!44́h!44!3̈́h*3} Xj>023kj*3}-kj>023>-23*M+"M*M"M*M44"M*M6*M "M*M*Mk*M3n} ³jk*M+"M*Mn*/}j*Mn*/}j*M3n}-j*M*M+"M#nsÔj*M*M+"M#3ns*M+"MÔj*M3n} ^k*6#"6!"M*M*MQk*M446**M#"M0k44! s#rik*M! s#r}k͇͐h! s#r*M~#fo! s#r͐n}k͐n}k! ^#Vr+s! ^#Vr+snsk! ^#Vr+s6 Ìk*M~#fo"M͐n} k! ^#Vr+sk͐n} l*M#"Måh!9l!9DM!"M*Mn} ?l*M#"M+l*Mn}Pl>23m`iw#w*Mn}'jl*Mn}"l!"M*M#"M+n! s*Mn}ʷl*Mn! n}ʷl`i^#Vr+s3*M#"M+nsl͐36*Mn}l*M#"Mm`i^#Vr+s3*M#"M+ns͐36!m!3l! s#r͐|mm͐|rm*Mn}=Im*Mn}Imm`i^#Vr+s3*M#"M+ns͐36m*Mn}ʏm*Mn}"ʏm*Mn} ’mm͐3*Mns͐#36!n͐3l! s#r͐|mm`i^#Vr+s*M#"Mrm͐36!9=<>!+-*/()+-*/!<>=)('nü !+n!!enINVALID EXPRESSIONDna!9DM*M`is#r͐n}ʊn*M*MҊn*M#"M+! ^#Vr+snsUn*M#"M+6*M*MڥnAn͐ìn!9nÞwan!9DM!"M͸n*3|nVp*M`is#r͐`|n`iw#w*M#"M+44͐s*M|oͻnVp*Mj|[o*M`|[o*M44! s#r͐*Ms#r*M##"M͐|gojon`iw#w͐*MVp͐44n}Fʝo͐44n}Gp͐#44n&|p͐#44n&|p͐44n}Fo͐#44n& sp͐#44n&s p;nVp͐446͐44n&j|Jp͐44n&`|Jp`i~#fo##s#r`i^#Vr+spo!9qpü ay_pn!9DM*M#"M*M|ڞp!t!!ebp*M*Mڵpep!Ót*M`is#r͐hp! s#r*3|p!Ót!"M!d"M͐"M*Mn}nq*Mn}oq*Mn&s*Mn})r*Mn}2nq*M#n}9q!"}M?q!"}M*M*}Mn&|nq*M*}Mn&|nq*M6<*Mn}{qq*Mn}q*M#"Mq*Mn}£q*M+"Mq*M*MҴqq*M*Mq*M"M*M"Mq*Mn& *Mn& q*M"M*Mn&j|r*Mn&`|r*M##"M*M#"Mq*M|Br*M+"M!Ót*M|br!t!!ebp!Ót*M"M*M"M͐ |r͐ ~#for͐ ~#for*Mn}ʷr*Mn}ʷr*Mn}r͐ ~#fos#r͐*Mns#6*Mn}n!9DM͐n}v͐!0!3ͦv*3}*v*6#"6*3} v>0233"M!"}M*}M|%w*M#"M+*}M#"}M+3nsv*M*/s!"}M*}M3n}0Mw*}M+"}M5w*}M3n*/}fw*}M+"}M*}M#36!"}M*}M3n} Žw*}M#"}Mvw*}M3ͩvówlIk `>n!9DM͡w*3}w*M|wÏy*M|#y!3!1ͤw!1ͧw!y!1ͪw`is#r͐|x͐"M*M|(xx*M|Cx*M ?"Mx*M|\x*M@"Mx*M|ux*MH"Mx*M|Ҏx*M]"Mx*M|ҧx*Me"Mx*M|x*Mm"Mx*M|x*M"Mx*M|x!"MM"MÏy!3ͭw"M*M|#y*M}>y!"M y!"MÏy*M|„y`iw#w͐3n*/}My`i^#Vr+s͐3n&|uy͐3n&|~y!"MÄy!"M!3Ͱw"M!9( ) OR AND NOT NUMERIC CHAR < <= = <> >= > AMONG CONTAINS WITHIN + - * / ! WHEN END NUMBER yü !9DM͐"M*M! s#r*Mn}!zz`i6#6*M#"M͐|ʠz*Mn}Nz`i^#Vr+spz*Mn}dz`i^#Vr+spz*Mn}pzàz*Mn&j|ږz*Mn&`|Җz*M##"M*M#"M/z͐|ʾz!z!!eyz*Mn}zz*M+"M*M6! ^#Vr+s"M z͐z!9UNMATCHED PARENTHESES{uãv>n!9DM*M! s#r͐ ##~#fo{`is#r͐n}`{͐"M͐{À{͐͐ʀ{͐"M͐{*M+"M! s#r͐ ####~#fo{`is#r͐n}{͐"M͐{{͐͐{͐"M͐{͐{!9 |uãvðtT!9DM͐##~#fo{`is#r͐####~#fo{"M͐"M͐~#fo_|͐~#fou|*M{"M*M{"M͐~#fo|͐~#fo|͐~#fo|·|*M*M{"}M|͐~#fo||*M*M{"}M|*M*M|"}M*}M||*MÖ~*MÖ~͐~#foҮ}*Mn*Mn}7}*Mn}7}*M#"M*M#"M}*Mn}T}*Mn} T}*M#"M7}*Mn}q}*Mn} q}*M#"MT}*Mn*MnѯgWҍ}!"}Më}*Mn*Mn}¥}!"}Më}!"}M}*M!0|*M!0|!0!0|"}M͐~#fo ͉"M͐~#fo*M ?"M*M|~*}M#|~Ð~*M+|0~*}M|0~Ð~*M++|E~*}M|E~Ð~*M+++|[~*}M|[~Ð~*M++++|r~*}M|r~Ð~*M|Š~*}M+|Š~Ð~*MÖ~*MÖ~!9÷~utÍĄ2ä!9DM͐~#fot~*M`is#r~͐##~#fo͢~`is#r͐####~#fo͢~!0ͥ~͐!0ͥ~͐~#fo"}M*}M|;*}Mt|K!0!0ͨ~Ü*}M|c*}Ms|s!0!0ͫ~Ü*}M|!0!0ͮ~Ü!0!0ͱ~!0ʹ~ç!9!9DM͐`is#r͐ n}ʕ͐ n} ! ^#Vr+s͐ n}Õ͐ ! s#r͐n͐ n}2͐ n}2! ^#Vr+s! ^#Vr+s͐n}W͐ n} Q͐ n}W!Û͐! s#r͐ n} ʆ͐ n}ʆ! ^#Vr+sc͐! s#r!Û!9íՂa!9DM*M`is#r*M#"M+6͐*Mͧ*M"M*M*Mͪ*M"M͐!9o- !9DM!͐ !͐! *6!3!3!a MINOR ERRORSu !9DM͐ |ҕ͐ ! s#r`i6#6'͐ ͐! s#r͐|͐|`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 ñ͐ ͐r!9!9DM͐n}:͐n}:!!"6! ^#Vr+sn! ^#Vr+sn}w*6+"6|t!@!Ä !9DM͐͐!* /́í !9DM͐!͐!* /ͪ!9DM`i6`in&|! ^#Vr+s! ^#Vr+sns`i4!9" !9DM*6͐͐͐!* /"6!9DM͐ n&|g}o! s#r͐ n}¦͐ n}‘!Äæ͐|ʠ!ã!Ä͐ n&|g}o! s#r͐ n}݃͐|׃!ڃ!Ä͐͐͐|!!Ä`i6͐ n͐ n}B`i5n})!Ä?! ^#Vr+s! ^#Vr+s͐ n͐ nѯgWo͐|f!i!ÄÄ͐|~!Á!Ä!9Ó !9DM*6͐!͐!* /͐"6ʄ !9DM*6͐!͐!* /DŽ"6 !9DM*6͐!͐!* /"68 !9DM*6͐!͐!* /5"6  n}‘!Äæ͐|ʠ!ã!Ä͐ n&|g}o! s#r͐ n}݃͐|׃!ڃ!Ä͐͐͐|!!Ä`i6͐ n͐ n}B`i5n})!Ä?! ^#Vr+s! ^#Vr+s͐ n͐ nѯgWo͐|f!i!ÄÄ͐|~!Á!Ä!9Ó !9DM*6͐!͐!* /͐"6ʄ !9DM*6͐!͐!* /DŽ"6 ............Standard word-processing setup for 8 1/2 X 11 " paper............. .indent 12 <<< n >> <<- c >> >> u << .number 1 .bottom # .end ..Tabs: I...... I...... I...... I...... I...... I...... I...... I...... I..... ndent 12 <<< n >> <<- c O}OòO x fQXROO*3|-OsO*aN*_N#"cN*cN"eN*[N|QO!"eN O OO*]N++|jOOmOOsOO!O!9DM!"YN!"[N!"]N!"K!"K!"KN!9O úS-Zü !9DM!P͵O͸O|OP!P͵O͸O|OP!P͵O͸OPO!,!!PͻO+"_N*3|!PÉP!,!!QͻO+"aN*3|BPÉP*_N*aNbP!'Q!!d;O*aN*_N|ډP!CQ!!d;O!9ASCENDING OR DESCENDING?NUMBERS OR CHARACTERS?ALL OR SOME OR PARTIAL?WHAT IS THE LEFT POSITION OF THE KEY?WHAT IS THE RIGHT POSITION OF THE KEY?SORT KEY POSITION INCORRECTSORT KEY LONGER THAN 50 CHARACTERSÁQ  ÑbTÑUIWõx!9DM!"WNiQ*WN|OR*3|ORlQ!"WN*3|LR!"K!"KN*d/*J/Q*K*KQ*KN|QoQrQÿQuQxQ*d/*J/R!!*d/+{Q~QLR*d/*KN`is#r!!͐{QëQÒQ!9vR ôW õbTÑUIWx!9DM*d/*J/+ұS[R^R|£R*D/aR~R*D/aR!"WN*WN|ʮS*3|®SdR!"WN*3|«S!"K!"KN! w#w*d/*J/CS*K*KCS*KN|CS^R|=S*D/aR!!*d/+gR! 6#6CSjRRmRpR*d/*J/pS!!*d/+gRsRëS͐||SëS*d/*KN`is#r!!͐gRRñR~R!9Sk T !0ͽS*0}AS*0}LS!"YN[T*0}DS!"YN[T*0}N T!"[N[T*0}CT!"[N[T*0}A/T!"]N[T*0}SAT!"]N[T*0}PST!"]N[TS!!kTÚZZ!9DM*KN#"KN+)K*Ks#r*_N! s#r*D/͐! s#r*[N| U͐*aNU͐*F/T*K9! ^#Vr+snsT*K96 *K#"K! ^#Vr+sîTUU`i6#6͐*F/?U*cN͐*K9eT`is#rKU*K9hT*K"K*D/n}zU*K#"K+9*D/#"D/+nsUU*K#"K+96!9×UyX!9DM!"MN!"UN*UN*KN@W*UN*MN͔U|U*MN#"MN*UN#"UNëU*UN!͔U|^V!"WN*UN)K~#fo`is#r*UN#"UN+"MN*MN! s#r͐|TV͐)K͐+)K~#fos#r! ^#Vr+sV͐"KëU!"ON*MN"QN*ON*QN"SN*SN*ONV*UN*SN͔U|ʦV*SN"ONìV*SN"QN*ON*QN"SN}V*SN#"SN*UN)K~#fo`is#r*UN#"UN+"MN*MN! s#r͐*SN+W͐)K͐+)K~#fos#r! ^#Vr+sV*SN)K͐s#rëU!9OW!9DM`i6#6`i^#Vr+s*KNҫW͐)K~#fo! s#r! ~#fo*eNs#r͐9LW^W!9úWÑ!9DMͷW*]N|W*D/n}+W!pXW!pX*F/*_NW!pX*H/*aN#X!pX*D/*_N! s#r*_N`is#r͐*aNjX͐n}jX͐n} SX!pX`i^#Vr+s! ^#Vr+s)X!pX!9XZ!9DM͐)K~#fo! s#r͐)K~#fo! s#r*[N|Y*YN|X͐9͐9|X|X!$ZX!$ZY͐9͐9|X|Y!$ZY!$Z*YN|ʥY`iw#w͐*eNҟY͐9n͐9nѯgW^Y!$Z! ^#Vr+s9n! ^#Vr+s9nѯgWғY!$Z`i^#Vr+s,Y!$Z`iw#w͐*eNZ͐9n͐9nѯgWY!$Z! ^#Vr+s9n! ^#Vr+s9nѯgWZ!$Z`i^#Vr+sëY!$Z!99Z ! ü !9DM͐0Z!03Z`is#r͐͐xZ͐͐ ҊZ!0!!6Z͐ÑZ!9àZ !9DM*6͐͐͐!* /͝Z"6!9DM͐6!9DM͐ n&|g}o! s#r͐ n}4[͐ n}[!\4[͐|.[!1[!\͐ n&|g}o! s#r͐ n}k[͐|e[!h[!\͐͐ʐ[͐|ʊ[!Í[!\`i6͐ n͐ n}[`i5n}·[!\[! ^#Vr+s! ^#Vr+sÔ[͐ n͐ nѯgW[͐|[![!\\͐| \!\!\!9!6Z͐ÑZ!9àZ !9DM*6͐͐͐!* /͝Z"6!9DM͐6!9DM͐ n&|g}o! sO OO9O\P,QRÑSS- Ik T O*3|GOO*3|]O!wMO8P!:P!MO|{O!";KOÄO!";KO!wMO*3|ʗO8P*;K|O!!!O!!!$O!M'O!=P'O!M'O!!!O!!!$O*O|PO!QP-O!0!440O!443O!m5!44O|5P6O8PGOIT NOT IN DICTIONARY WHAT NEXT?kPrV;W!9DM`iw#w`i~#foҮP`i~#fo;J`i~#fos`i^#Vr+syP!!!;I_P`i6A#6`i~#foZQ`i~#fo;I`i~#fo ;I`i~#foss`i^#Vr+sPbPeP>c2lL!"wMhP!9MQ k Iû T  @Wü !9DM!R/Q>20!02Q!0!M5Q`iw#w8Q|R!02Q!R!0;Q|Q>QR!R/Q>20!02Q!0!RAQ|Q!R!0DQ`i6#6*0}:R*n5}:R!0!445Q*m5}20>:20!44!05Q`i~#fo|UR*n5}:HR*m5}20>:20!R!05QUR!R!05Q!!9!0!wMGQ|†R!0!!JQÆR!9WHAT WORD (OR 'IT')?WITH WITH WHAT DICTIONARY?..DICTMAKER.DICTMAKER.DICR !9DM! ~#fo~#fo|S! ~#fok~#foR! ~#fow#w7S Ñ7Z[!9DM*3|US*d/*J/XSS"S*J/*d/`is#r`i^#Vr+szS*3|S%S(S*3|ʝS*D/+SS*D/n}=S*D/.S! s#rzS! ~#fo1S!=K+SS*D/+SmS!4S!9Tæ^>_$c-kr-Â;rWe!9DM*3|-TëVS*M&!wMS|GTëV!"n/! w#w! w#w!!S!!!S! 6#6!"jL!M!MS! s#r! ~#foڹT*3|ʼTëV! ~#fo|žV! ~#fo*#/++++U! w#w! ~#fo! ~#fos#r! ~#fo*'/U!*#/++S!*#/++!ST!VTT! s! n& T|lU! n&T! n*/}ʐU! n&TN“UëV! w#w! w#w!!S!!!S! 6#6! ~#fo|V!! ~#fo#S!! ~#fo#!S! ~#fo! ~#foS! w#wM`is#r`i~#fon}\V`i^#Vr+sn&TT! ^#Vr+s*V! ~#fo! ~#foҍV! ~#fos#r\V! ^#Vr+s!";K!wMT|…T! 9MORE (Y/N)? !V"mM!V"oM*oM"qM*qM"sM*sM"uMt҄$u#sv%&w'45"x36 r7yz( UWrr- ðklWe!9DM!!!mLCW>'2=M`i6#6`i~#foҮW`i~#fomL`i~#fops`i^#Vr+s{W!! ~#fo!ZFW>2lL!! ~#fo(! ~#foFW! ~#fok!! ~#fo(IWs#r! ~#fok~#fo#|:X! ~#fow#w!Z! ~#fo6#6! ~#fo##6! ~#fo6! ~#fo! ~#fos#r! ~#fom! ~#fos#r! ~#foLW|Y! ~#fo~#fon&|Y! ~#fo~#fon& Y! ~#fo7! ~#fo^#Vr+sns! ~#foo^#Vr+s%Y! ~#fo76! ~#fo7n&ڪY!2! ~#fo9! ~#fo~#foFW! ~#fo~#fo2s#r! ~#foo~#fos#r! ~#fo86ZY!!2! ~#fo9CW! ~#fo86A! ~#fo"M! ~#foOWs! ~#foRW*3|Z!ZZ!Z!9COPYRIGHT 1984 TOM MORAN!9DM! ^#Vr+sn}={Z! ^#Vr+sn}!{Z! ^#Vr+sn} ʁZ![! ~#fon} žZ! ^#Vr+sÁZ! ~#fon}Z! ~#fon}"Z! ~#fon}'Z![! ~#fo`is#r! ~#fon}3[! ~#fon} 3[! ~#fon}*[! ~#fon}?%[`i~#fo[0[! ^#Vr+sZ! ~#fon} P[! ^#Vr+s3[! ~#fon}|[! ~#fon}"|[! ~#fon}'‚[![! ~#fo`is#r! ~#fon}[! ~#fon}*ʼ[! ~#fon}?[`i~#fo[[! ^#Vr+sÐ[![!9 \I@Wü rrÂæ^>_$csr;rWe!9DM*wM|g\!M!=K[!!9!=K!wM[|g\!=K!![*D/!=K[Ù^! ~#fo*D/!=K*D/[! ~#fo*D/=K`is#r! ~#fo! s#rM! s#r! 6#6! ^#Vr+sz?]! ~#fon&[| ]! ~#fon}* ]! ~#fon}??]! ^#Vr+s`i^#Vr+s! ^#Vr+sns[s\! ~#fo6[`i~#fo!=K###! s#r! ~#foz]Ù^!^`i~#fo[`i~#fo###s#r! ~#fo! s#r*M&!wM[|]Ù^!"jL!M!M\! s#r! ~#fo]*3|]Ù^! ~#fo|Œ^!M\! ~#foҌ^`i^#Vr+s6 ! ^#Vr+sM! s#r! ~#fon}ʄ^`i^#Vr+s! ^#Vr+sn&\s! ^#Vr+sE^`i~#fo6!wM \|]! 9 ì^I!9DMM`is#r`i~#fon}^5_`i~#fon}5_`i^#Vr+sn}*2_`i~#fon}?^*_2_`i~#fo+6?`i~#fo6*2_`i~#fo`i~#fo+ͩ^`i^#Vr+s2_^!9V_rÂùopRlWe!9DM! ~#fo~#fo|u_!c>2lL! n&A_|ʠ_! n&D_! sæ_! 6A! ~#fo6! w#w! ~#fo7n&_! 63`! ~#fo7n&_! 6`! 6! n&`is#r! ~#fo9! s#r`i^#Vr+szp`! ~#fo! ^#Vr+snѯgs#r! ^#Vr+sn! s)`! ~#fok~#foG_`is#r`i~#fo! ~#foa`i~#fo! ~#fo~#fo! ~#fo~#fo! ~#foo~#fo! ~#foa! ~#foo~#fo! ~#fo~#fo! ~#fo~#fos#r`i~#fo! ~#foo~#fos#r! ~#fo`i~#fo`is#r! ~#fo! ~#fo~#fo`i~#fos#r! ~#foo~#fo`i~#fos#rb! ~#fo! ~#foJ_|b! ~#foM_!c! ~#fo~#fo! n&|g}os#r! ~#foo~#fo! n&|g}os#r! n&|g}o|ʳb! ~#fo##6! ~#fo###! ~#fo^#Vr+sns! ~#foo^#Vr+sÿb! ~#fo##6! ~#fo"M! ~#foP_s! ~#foS_|c! ~#fo n! nѯgWc!cb!c!9-cü $c!9DM! ~#fo`is#r! ~#fo! s#r! w#w! ~#fon}c! ~#fon}?c! ~#fon}*c`i~#fon! ~#fon}µc`i^#Vr+s! ^#Vr+sc`i~#fon! ~#fonѯgWc! ~#fo|c!Aec!Ae[c! ~#fon} d?9d*kd>e`i~#fon}d!Ae! ~#fo|3d!Ae9d!Ae! 6#6`i~#fon}Td!Ae`i^#Vr+s! ^#Vr+s>e! ~#fon}*ˆd! ^#Vr+skd`i~#fon! ~#fon}ʹd`i^#Vr+sn}¶d!AeÈd`i~#fon}d!Ae*jL#"jL+d*jL+"jL!Je!!'c!Ae! ~#fo`i~#fo*c! s#r*jL+"jL! ~#fo|2e!Ae`i^#Vr+sÈd[c!9TOO MANY *'SieRlÂùo;r!9DM! ~#fo"M*M7n}ʒeʒeg*Mn}2M}²e*MZe!çk*M&|g}o}2M*M *M&|g}o}2M&"M]e}2M&mLn}2M}f*M#"M+*Mse*M*Ms*M}dfpgf tfʋfʬf0ʹffPfggJg`kg@ʌggg*M#"M+6Sg*M#"M+6E*M#"M+6Dg*M#"M+6I*M#"M+6N*M#"M+6Gg*M#"M+6Eg*M#"M+6E*M#"M+6Sg*M#"M+6E*M#"M+6Rg*M#"M+6E*M#"M+6R*M#"M+6Sg*M#"M+6L*M#"M+6Yg*M#"M+6T*M#"M+6I*M#"M+6O*M#"M+6Ng*M#"M+6E*M#"M+6N*M#"M+6Tg*M#"M+6I*M#"M+6E*M#"M+6Sg*M#"M+6T*M#"M+6I*M#"M+6O*M#"M+6N*M#"M+6Sg*M6!çk*M "M! 6#6*Mn}2M*M`is*M&;In}5h*M}h*M}$h*MZe!çk2h*M`is]e}2Mg*M7n}mh*M`inѯg"M! ~#fo`inѯgs#rqh`i6*M&`e}2M`in}Nj*M*MnѯgWNj*M*M8nѯgWNj*Mk~#foce+! s#r*M~#fo*M~#fo! s#r! ~#fo|i! ^#Vr+s! 6#6Qi! ^#Vr+s! ~#fo! ~#fos#r! ~#fo|g}os#r*M&+! s#r! ~#fo! ~#fos#r*M9! ~#fo! ~#fo|i! ~#fo*M9! ~#fo++nѯgi! ~#fos*M9! ~#fo#! ~#fos! ~#fo##s#r! ~#fo2Nj*M9! ^#Vr+s6*M9! ^#Vr+s! ~#fosi*M#"M+*Ms! ^#Vr+s]e}2M&;In}„j*M}'}k*M}'Lk]e}2M&fesj]e}2M&;In}ºj}k! ~#foj*M#"M+6'*M#"M+6S! ~#fo++s#rj! w#wIk! ~#foAk*M#"M+6'*M#"M+*M&`es! ~#fo++s#rIk! w#wzk! ~#fo|zk*M#"M+*M&`es! ^#Vr+shj*M*Ms`in*lLѯgWg*M6!çk! 9ÿkq ü R!9DMͳk*3|k!! ~#fo~#fo|k!! ~#foo! ~#fom~#fo! ~#fo~#fo! ~#fok~#foͶks#r! ~#foo~#fo#|fl!l!!͹k! ~#foo~#foґl! ~#foͼk!! ~#foo! ~#foo~#fos#r! ~#fo! ~#fo~#fos#r!DICTIONARY DAMAGEDlðk*M}mÇo!yM~4o}ʟn*zM&|g}o}2M*M} Em ʉm mnUnÊn*M|am!wMl|am!&*M+"M*oM*}M#"}M+n}2zM&;Jnѯgn&*M|¥m!wMl|¥m!&*M+"M*qM*}M#"}M+n}2zM&;Jnѯgn&*M|m!wMl|m!&*M+"M*sM*}M#"}M+n}2zM&;Jnѯgn&*M|-n!wMl|-n!&*M+"M*uM*}M#"}M+n}2zM&;Jnѯgn&>2yM*M|vn!wMl|vn!&*M+"M*}M#"}M+n&>2yM*mM*Mѯgn&*M|»n!wMl|»n!&*}M#"}M+n}2zM*M+"M*zM&n*mM*zM&;Jnѯgn&*zM&o>2yM*oMP*zMѯgn&*zM&|g}o}2M*M|Io!wMl|Io!&*}M#"}M+n}2zM*M+"M*zM&;Jn}2M*M&))))*zM&;Jnѯg&*M|£o!wMl|£o!&*M+"M*}M#"}M+n&oMs]s!9DM! ~#foͼo`is#r`i~#fo!$Ϳo`i~#fo!~#foo!9ppü Rðk!9DM p*3|2p!p! ~#fo~#fo|Ip!p! ~#fo! ~#fo~#fo! ~#fok~#fo p`is#r`i~#fo#|žp!p!!p`i~#fop! ~#fop!p! ~#fopp!9DICTIONARY DAMAGEDp]sRq!9DM! ~#fo!p!! ~#fo! ~#fop`is#r`i~#fo#|Cq!Iq!Iq!9[qMs]s!9DM! ~#foUq`is#r! ~#fo+|³q`i~#fo!$Xq! ~#fo`i~#fo!~#fos#r`i~#fo!! ~#fos#r`i~#fo#6`i~#fo!!Xq|q!q!q!9 rðrü!9DM! n&r|ͣ7r! n&r|ͣArðr!9DM! n&>r|hr! n& mr! n&!9DM`iw#w! ^#Vr+sn}ʠr`i^#Vr+sÁr͐çr!9!9DM! n&Aͯr! n&Zͯ7**:Ozrq#r7*|DM**Gs+s><s~# xs ><;s~+ x;s|} ) ,7:O*o`*³q`i~#fo!$Xq! ~#fo`i~#fo!~#fos#r`i~#fo!! ~#fos#r`i~#fo#6`i~#fo!!Xq|q!q!q!9 rðrü!9DM! n&r|ͣ7r! n&r|ͣArðr!9DM! n&>r|hr! n& mr! n&!9DM`iw#w! ^#Vr+sn}ʠr`i^#Vr+sÁr͐çr!9!9DM! n&Aͯr! n&Zͯ7**:Ozrq#r7**O x KPÇPQü S õ6TOO O OO!.PO!/PO*3|¤O*M*M)))"M*M||O*M##"MO*3|¤O*9+|ʤO*&N|ʤO*44} ¤OO*3|O*9+|O!0P!!dO*9|O*3|OOOO*6|O!"6*6O O!!*d/##!O*3|$P$O!JPO!'ONO DATA FOUND (MISSING +)QPKV! "9!"9!"6!"&N!"(N!"M!"M!"MNPâP k ÑT ^ÏVü !9DM!{Q͊P!Q͍P!0͐P!0͊P!Q͊P!Q!0͓P|P!"(N'Q!Q!0͓P|Q*Q͖P!͙P*3|QrQ!"&N!"6*QòP!͜P`is#r*M|UQ!Q!!d͟PrQ*3|`QrQ͐+|rQ!͜P!9TALLY WHAT FILE NAME (OR 'IT' TO TALLY THE WORKING FILE)? ALLITNO KEY ZONE SPECIFIEDQ._Ñ!9DM`i6#6͐|R*3|R*9|R*&N|ʅRQQ! w#w͐44n} CR! ^#Vr+s&R͐44n}uR*44*/}uR*44}+oR*(N|uR`iw#w44"D/*9"F/R*d/*J/RQ*D/Q*D/! s#r͐n} R! ^#Vr+séR͐n}R*D/n*/}R*D/n}+R*(N|R`iw#wR!"9Q!9 SV!9DM! w#w`iw#w*F/|>S*F/+|AS*D/n} AS-T͐*M T͐))M~#fo! s#r*D/͐! s#r͐))M##~#fo! s#r͐͐S͐*F/S! ^#Vr+s0! ^#Vr+snsS! ^#Vr+s06 ! ^#Vr+sÐS`i^#Vr+s*MT! ^#Vr+s06:AS͐06 S! 9ET]bc!9DM! w#w͐7| 23͐!3?T! 6#6! 6#6*3} FU>023͐ |}U! ^#Vr+s3! ^#Vr+s3nsFU͐3*/s! 6#6͐3n}0ºU! ^#Vr+s36 ÕU͐3n*/}U͐36 > 2#3>2$3!39T! ~#fos#r! ^#Vr+sU!IVBT͐<"$N*$N~#fo! s#rT! ^#Vr+sUT!9 = !9DM`iw#w͐7|ҀV͐)^L6#6`i^#Vr+sYV!"\L!9ÕVW!9DM͐͒V`is#rz¾V*3|¾VÝV͐V!9V)["\ü !9DM!0V`is#r͐| W!͐VôW*\L,_|3W!W!!dVôW*"N|JW*$N*\Ls#r[W*M)^L*\Ls#r*\L<"$N*$N6#6!*\LV*\L*M"\L`iw#w*\L#"\L+<`i^#Vr+s0ns{ʴWÌW!9PROBLEM REQUIRES TOO MUCH STORAGEWIß_k ÑT ü Ä]!9DM͐+|)X! Z!1W!JZ!44WCX!wZ!1W!Z!44W!,!!1W+`is#r͐#||X*3||X!0W!Z*3|ʺX!0W!Z!0W|ºX!0W!ZW!"3!Z͐+|.Y*3|.Y!Z!0W|X!0W!ZW!"3!Z!Z!0W|.Y!0W!ZW!"(N!"3!Z*3|EYW!"3!Z!0W!ZW!44!1W!,!!1W+! s#r!0W!ZW*3|ʛY!Z͐͐ҽY!Z!!dW͐͐|Y! [!!dW͐͐͐W!Z!9WHAT IS THE LEFT POSITION OF THIS KEY ZONE (OR 'SUM' OR 'END')?WHAT IS THE RIGHT POSITION OF THIS KEY ZONE?WHAT IS THE LEFT POSITION OF THIS VARIABLE (OR 'END')?WHAT IS THE RIGHT POSITION OF THIS VARIABLE?END SUM ALL ZONE INCORRECTLY DEFINEDZONE LONGER THAN 50 CHARACTERS/[c^!9DM͐ ! s#r͐ ,[*M)^L~#fo`is#r!""N͐#|t[!\͐""N͐*M! s#r͐! s#r͐ n}[͐<n}[͐ n͐<n}[! ^#Vr+s! ^#Vr+sÙ[͐ n}[͐<n}[͐\͐<"$N*$N~#fo`is#rd[!91\5cEc}cc!9DM! ~#fo##s#r*M|ڎ\͐<"$N͐|t\*$N6#6~\*$N^#Vr+s! ~#fo##s#r*M`is#r͐*M{]͐))M~#fo! s#r͐*F/\!1%\-]͐))M##~#fo! s#r*D/͐! s#r͐͐#͐!1(\! s#r-]æ\͐|K]!1͐<+\]]!1͐<.\`i^#Vr+s! ~#fos#r×\! 9Ê]ü !9DM*M|ڲ]!=^!!d͇]*M͐"M*M))M͐s#r*M#"M+))M##͐s#r͐|^*M͐͐##"M^*M"M*M|;^!L^!!d͇]TOO MANY ZONESLINE WOULD BE TOO LONG!9DM!"M͐n}ʗ^*M! ^#Vr+snѯg"Mq^*M|Ҩ^*M"M*M`is#r*M͐?"M*M7|^!"M^*M|^!"M!9_ `!9DM!_^͐_WHAT FILE NAME?7_aña!"9*9#|Y_!"9!"91_j_*9*9j_1_*3|z_*9||_4_*9|_*944n}ʝ_1_4__ë_ ! ü !9DM͐͢_!0ͥ_`is#r͐͐_͐͐ _!0!!ͨ_͐`!9!`k I- ü !9DM!0`!0!44`*54}:i`*/} i`*/}20>:20!44!0`!0!a`#|`!0!a`#|`!!0`"6*6`is#r͐#|»``iw#w``i6#6͐͐`a͐+|`*6``͐`is#r!0!͐####`!9?*%aq !9DM*9#|Ta*9*9|Ta!"9èa!"9*9`is#r͐!9*6"a! s#r͐|қa!"9èa͐?"9!9!9DM*9|;b*9*9;b*9#"9+9n`is`in}a!"9Tb`in} b*9#"9446;b`in&|&b`in} 8b*9#"944`insùa*9|Tb*9#"9446!9cb !9DM͐ |҃b͐ ! s#r`i6#6'͐ ͐! s#r͐|b͐|b`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 ßb͐ ͐`b!9 c !9DM͐!͐!* / c!9DM͐6Kc !9DM*6͐͐͐!* /Hc"6!9DM`i6`in&|һc! ^#Vr+s! ^#Vr+sns`i4Éc!9c !9DM*6͐!͐!* /c"69#"9446;b`in&|&b`in} 8b*9#"944`insùa*9|Tb*9#"9446!9cb !9DM͐ |҃b͐ ! s#r`i6#6'͐ ͐! s#r͐|b͐|b`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 ßb͐ ͐`b!Copyright (c) 1981 - Peter Roizen RW CL CR-------- LF-------- BS---------- CS------------- BEL------- LE------------- PE------------- LI------------ LD------------ CI------------ CD------------ NL A RO CO MV------------------------ RV------------------------------------------------------- +MICROBEE 64k CIAB 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 0 7 0 0 0 0 27 84 0 0 0 27 89 0 0 0 27 69 0 0 0 27 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 32 27 41 255 32 27 40 32 0 +LEAR SIEGLER - ADM3A 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 10 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 +LEAR SIEGLER - ADM31 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 58 0 0 0 7 0 0 0 0 27 84 0 0 0 27 121 0 0 0 27 69 0 0 0 27 82 0 0 0 27 81 0 0 0 27 87 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 27 71 52 255 32 27 71 48 0 +NORTH STAR ADVANTAGE 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 4 0 0 0 0 7 0 0 0 0 14 0 0 0 0 15 0 0 0 0 27 76 0 0 0 27 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 32 1 255 32 2 32 0 -Please use Option 13 to set the CONSOLE INPUT MASK to 127 instead of 255. -For some earlier versions of CP/M on this machine, you may need to use - Option 6 to set the values for LINE INSERT and LINE DELETE to all zero +RADIO SHACK II - LIFEBOAT CP/M 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 0 33 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 -An exclamation point will appear instead of the bell for keying errors. +HAZELTINE 1420 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 28 0 0 10 7 0 0 0 0 27 15 0 0 0 27 24 0 0 10 27 26 0 0 10 27 19 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 17 254 255 0 0 0 0 -Be sure to use the switch on the terminal so that an ASCII Escape Character - is used and not the Tilde. +HAZELTINE 1500 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 126 28 0 0 10 7 0 0 0 0 126 15 0 0 0 126 24 0 0 10 126 26 0 0 10 126 19 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 17 254 255 0 0 0 0 -Your terminal will not accept a Tilde as a valid character. You can use - T/MODIFY Option 2 to change T/Maker's use of the tilde to another character. +SOROC IQ 12O 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 42 0 0 10 7 0 0 0 0 27 84 0 0 0 27 89 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 +ANN ARBOR AMBASSADOR ANSI X3.64 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 91 50 74 10 7 0 0 0 0 27 91 48 75 0 27 91 48 74 10 27 91 49 76 10 27 91 49 77 10 27 91 49 64 0 27 91 49 80 0 0 1 1 1 27 91 255 59 254 72 0 0 -This set up expects 24 rows. Use T/MODIFY Option 5 if you want to use your - terminal with more or less rows. +NETRONICS VIDEO TERMINAL 16 64 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 12 0 0 0 20 33 8 0 0 0 5 0 0 0 10 6 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 32 32 27 61 255 254 0 0 0 0 -An exclamation point will appear instead of the bell for keying errors. +HEATH/ZENITH TERMINAL/COMPUTER 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 69 0 0 10 7 0 0 0 0 27 75 0 0 10 27 74 0 0 0 27 76 0 0 0 27 77 0 0 0 0 0 0 0 0 27 78 0 0 0 0 0 32 32 27 89 255 254 0 0 0 0 -Your Terminal/Computer should be in ZDS mode, not ANSI mode. +TVI 912/920 TERMINAL 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 10 7 0 0 0 0 27 84 5 0 10 27 89 0 0 10 27 69 0 0 10 27 82 0 0 10 27 81 0 0 10 27 87 0 0 10 0 0 32 32 27 61 255 254 0 0 0 0 +ARCHIVES COMPUTER 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 27 28 0 0 10 7 0 0 0 0 126 15 0 0 10 27 24 0 0 10 126 26 0 0 10 27 19 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 17 254 255 0 0 0 0 +PERKIN ELMER - 550 24 80 13 0 0 0 0 10 0 0 0 0 27 68 0 0 0 27 75 0 0 10 7 0 0 0 0 27 73 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 88 255 27 89 254 0 0 +XEROX 820 COMPUTER 24 80 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 10 33 8 0 0 0 24 0 0 0 10 23 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 32 27 61 255 254 0 0 0 0 -An exclamation point will appear instead of the bell for keying errors. +OSBORNE COMPUTER 24 52 13 0 0 0 0 10 0 0 0 0 8 0 0 0 0 26 0 0 0 10 7 0 0 0 0 27 84 0 0 5 0 0 0 0 0 27 69 0 0 5 27 82 0 0 5 27 81 0 0 5 27 87 0 0 50 0 0 32 32 27 61 255 254 0 0 0 0 *K͞+//K'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y':7?h#D/6:?>$:?$:)?$l,:>#)Ÿ#>67:+?7#*+?|°#2ͩ7#>67:+?7>#7>67:,?7#*+?"?)#>7:+?7>s7>@2?#2ͩ7#)$:"?=2"?))$>s7#͎)5$2:>/$2ͩ7#3ͩ7#* ?"?*+?"?:)?ʟ$:>€$)s$>>7:+?72ͩ7#2ͩ72?#)s$>7:+?7>{72ͩ7#)¸$:)?‘$>}72v$:)?1.͎)$>&773v$:)?$l,Ä#:?$u-l,$:)?>%>7l,>7>@2)?$* ?"?R3ͩ7:?2?"?|O%}@%3ͩ7V%C%4ͩ7>G>)7[%#͔+:*ͅ-ö  uÍ.!9DMͤͧͪ͡`i6#6! w#w͐͐a͐|B! ~#fo͐)~#fon}B! ^#Vr+sx/! ~#fo͐)^#Vr+sns! ^#Vr+sx/6 `i^#Vr+s͐x/6>2b5>2c5>20!ͭ|җ!Ͱ!ͳ!9TMAKER2TMAKER2.COM FILE MISSING>.1!9DM!""/*/! ! s#r!""/͐| ! !*/`is#r͐~#fo*/= */##|M ! !*/"/*/"/*/"/*/"/*/" /*/" /!9TMAKER.UTLTMAKER.UTL FILE MISSING TMAKER.UTL FILE INCORRECT 1pø!9DM>2)/*/ }2*/*/ }2+/*/ }2,/*/ }2-/*/ }2./*/ "8/*/, "//*/- "3/*/. "1/!"5/*/C +"#/*#/+++"%/*/D +"'/*/c |ʿ !"/ !"/*/h | */m | !"/ !"/*/r |! */w |! !"/' !"/*/9 |A !"!/G !"!/*/ }2/*/ }2/*/ }2/*/  }2/*/  }2/*/  }2/*/  }2/*/ }2/*/ }2/*/ }2/*/ }2/*/ }27/`iw#w͐|: ͐x56 ͐x/6 `i^#Vr+s > 25`i6#6͐|p ͐x56 `i~#fo s#rF >26`iw#w*/} ʫ `i^#Vr+s44*/s`i^#Vr+s446:! ͐44 !44!6 ! !6 ! !44 !44!6 !44!6 !9TMAKERTXT.TXT& 18!9DM!O":/`i6#6!"/*/+">/#"B/*B/+"B/#6*B/6!"J/!"X/*#/"Z/*#/#"\/!"^/*'/+"`/*'/"b/!"P/"T/"R/"N/"L/!"V/!"f/"d/!"3!"6!"l/!"n/*/ ! s*/  ! s>.2/>,2/*/&*/ */&*/  # ! n}2/! n}2/*/&*/ */&*/  !9Ê=Í lÔ!9DM!x*#/|ڲ*'/|!{!{!.!~!)́!.!~!!̈́!=́`i6#6͐|H!͐̈́!:͇!N͐̈́!:͇`i^#Vr+s!!̈́!.! ~!Q́!.! ~!!̈́!.!)~`i6#6͐|!͐̈́!:͇!:͐̈́!:͇`i^#Vr+sØ!!̈́!.!'~!!̈́!́!! ̈́!.!)~`i6 #6͐|r!͐̈́!:͇!:͐̈́!:͇`i^#Vr+s-!!̈́!.!'~!! ̈́!́! ! ̈́!́!!̈́!9T / M A K E R INTEGRATED SOFTWARECopyright (c) 1984, T/Maker Company, Peter Roizen, V4.01 T / M A K E R INTEGRATED SOFTWARE Copyright (c) 1984, T/Maker Company, Peter Roizen, V4.01 Type HELP for Help MenuType C for Command Menu(For SS/DD users, please insert COMMAND DISK to continue.)!9DM! ^#Vr+s!|<! n& DC!9DM͐n}n! ^#Vr+sn&AL!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʨÂ͐ï!9!9DM͐`is#r͐n}! ^#Vr+s! ^#Vr+s͐ns! ^#Vr+sn}͐!9 r   n&7*:w  W > _ f7*!9& 6C#6O#6M¡*|·!\&!\&*|!!l&!9~#fo> +Z#~##xS#  ÜEXECL: Too much text $!pc!*w#/*:1I*R!R!a{ ѷ!ÖQ=!9DM!͐!*/͐! ͓rö,!9DM!͐`is#r͐#|!4!t͐͐|%͐>2b5!4͐!4!9CQ!9DM͐͐*r/͐*/@rQ!9DM!͐!*/oÚQ!9DM͐͐*r/!*/͗Q!9DM͐*r/!*/!!@!)8!!I!18!!Y!98!!_!A8!!r!I8!!{!Q8!!!Y8!!!a8!!!i8!!!q8!!!y8!!!8!!!8!!%!8!!(! 7!!+!7!!-!7!!=!!7!!N!)7!!^!17!!o!97!!!A7!!!I7!!!Q7!!!Y7!!!a7!!!i7!!!q7!!!7!!!7!!!7!!!7!! !7!!!7!!%!7!!(!7!!9!7!!I!7!!Y!7!![!7!!k!7!!{!8!!!8!!!8!!!8!!!8!!!8!!!9!!!9!!!9!!Â.5!!9!!ç.73205080756888!)9!!1.7320508075689!19!!-.79439129540834!99!!-4.2744498536793!A9!!->-4.2743267202624!I9!!SU1!Q9!!jz9.1978936483504!Y9!!ß20.517137656422!a9!!12.822980160792!i9!!.52359877559830!q9!!1.5707963267949!y9!!#31.0471975511966!931415925.318309886183793.141.00059265358979324.0000001-.00000000000073706627750711.00000000016047844632382-.000000025051870883471.0000027557316421293-.00019841269823223.0083333333332759-.166666666666661.5707963267949.5.51.86858896380650-.714333821532266.2503651127908-13.6823702415038.51673198723891-13.21047835015647.925256043873-64.90668274094329.415750172323.316227766016842.3025850929940142-142.00000000000005.868588963806501.151.00029254649702284.5.03328736465164114.008299756282504.464889505871112.094081096621008.92977901173.1622776601684.580661.5.086462.175241.31622776601684.251.26794919243112!!!6!!!6!!!6!"601100Q!9DM*6͐͐͐!* /"67**DM:!m**o&7,2q*&:q):ʮ=ʮ=r:qo&7:)~:,"s!"u*| **s! ~ 6*u*+"*"*u#"u#2776601684.580661.5.086462.175241.31622776601684.251.26794919243112!!!6!!!6!!!6!"601100Q!9DM*6͐͐͐!* /"67**DM:!m**o&7,2q*&:q):ʮ=ʮ=r:qo&7:)~:,"s!"u*| **s *** PLEASE TAKE A FEW MINUTES TO READ THIS DOCUMENT THOROUGHLY! *** T/MAKER INSTALLATION PROCEDURE AND OTHER NOTES T/Maker now has a few additions not covered in the Reference Manual. These, and how to get T/Maker ready to run, are discussed in this note. Installation T/Maker has been supplied on either two double-sided 48 tpi disks or one double-sided 96 tpi disk. In the two-disk set, all of the basic working commands are on the "COMMAND" disk, while the spelling checker and T/Maker demonstrations are on the "SPELLING & DEMO" disk. Before you can run T/Maker you must create a T/Maker SYSTEM disk. The distribution T/Maker disks supplied by AMPRO do not have CP/M on them. We have included FRIENDLY and several AMPRO utilities on the COMMAND disk for your convenience. Use the following procedure. (Please refer to your system user's manual for details on how to use the AMPRO utilities referenced.) 1. Use AMPRODSK to make a copy of your T/Maker COMMAND disk. This will become your T/Maker SYSTEM disk. 2. Use SYSGEN to copy your CP/M system onto your T/Maker SYSTEM disk from a working system disk. 3. If you plan to use FRIENDLY on your T/Maker SYSTEM disk, you must also copy an installed version of MYTERM.Z3T from your T/Maker SYSTEM disk onto your new T/Maker SYSTEM disk. MYTERM.Z3T is the file created when you install FRIENDLY. Consult your system documentation if you need help. 4. Finally, T/Maker itself needs to be installed for your terminal. Place your new T/Maker SYSTEM disk in drive A and press your system's RESET button. If you are using FRIENDLY, use the "M" (manual) command. After the CP/M prompt appears, type: A0>TMODIFY. The program is self documenting. Normally all that is required is to select a terminal from the list of standard terminals, option [1]. If you need help, refer to your T/Maker Reference Manual CUSTOMIZATION section. Starting T/Maker To start T/Maker, use one of the numbers in the FRIENDLY command menu, or type: A0>TMAKER from CP/M's prompt. You should soon see the T/Maker Integrated Software logo, explaining how to get HELP and the COMMAND MENU. At the bottom of the screen, you will see T/Maker's prompt: 1/1 WHAT NEXT? Using On-Line HELP At any WHAT NEXT? prompt, type: HELP. NOTE: If you are in the middle of an EDIT session and do not have the WHAT NEXT? prompt on the bottom line of the screen, type -Q to quit the editor. (Don't worry, you won't lose any of your work by exiting the editor to use HELP.) To end a T/Maker HELP session type: END at the help prompt. You will then see the WHAT NEXT? prompt. Using the COMMAND MENU T/Maker's WHAT NEXT? prompt can be answered by typing the desired command, or by using the new command menu. To use the command menu, type: C at the WHAT NEXT? prompt. This command menu contains a partial selection of T/Maker commands. Type the command's number to use the command. Using the ASSIST Command The ASSIST command allows you to delete, copy, and rename files on disks, as well check the size of a file or the available space on a disk. This is especially helpful if you run out of room on a disk and need to move things around. To use ASSIST, type: ASSIST at the WHAT NEXT? prompt. As with HELP, ASSIST does not harm work which is in progress. To end an ASSIST session, type either -Q or . Stopping T/Maker To end a T/Maker work session and return to the CP/M prompt (or to FRIENDLY), type: STOP at the WHAT NEXT? prompt. CAUTION: T/MAKER DOES NOT AUTOMATICALLY SAVE THE LATEST CONTENT OF WHAT YOU ARE EDITING. THEREFORE BE SURE TO USE THE "SAVE" COMMAND BEFORE STOP IF YOU HAVE UNSAVED TEXT. Printer Preconfiguration T/Maker is already configured for all daisy wheel and dot matrix printers in their normal mode of operation. In addition, T/Maker can take advantage of the advanced features (condensed or enlarged print, correspondence quality, etc.) of most printers. We've included printer configuration files for several printers. To set up the proper print.utl file, type: HELP PR at the WHAT NEXT? prompt. T/Maker will present you with an automatic printer configuration menu. If your printer is not listed in the menu, refer to the T/Maker Reference Manual CUSTOMIZATION section. Spelling Checker Dictionaries For your convenience, TMAKER.DIC and EXTRA.DIC have been combined into one dictionary, in contrast to the description in the Spelling Checker reference manual. This has been found to be the most desirable format. SuperCalc Ver. 1.06 Calculate ACRS DEPRECIATION Model 9/12/82 by HMVTL P9 P8 #"Calculate ACRS DEPRECIATION Model 9/12/82 by HMVT "Enter:#"Year Aquired and $ Value in Proper Life ColumnaD1981`0 "Life-Yrs`A03`AP5`B10aD1985`A1 "Yr Acq'd1AD1984AD1983AD1982 500  aD1986`A 2 "$ ValueAD1000AD1000AD1000"*  aD1982o Start Table !" = First year to start table`A03`AP5`B10 "Year "Item-1 "Year "Item-2 "Year  "Item-3!"A9 thru A17 is 3 yr table "#arLOOKUP(F3,A1:A4)*F2E1!"#em-1"Year2LOOKUP(G3,A1:A4)*G2F1 "#ar LOOKUP(H3,A1:A4)*H2`A1`@%.25`0a0OKUP(E3,A1:A4)*E2a0OKUP(F3,A1:A4)*F2a0OKUP(F3,A1:A4)*F2`0 a0OKUP(G3,A1:A4)*G2 A A9+1 `@8.38 `A1 @%LOOKUP(F8+E10,A9:A17) bA1OKUP(F9+D10,A19:A33) @LOOKUP(H8+E10,A19:A33) `A1 ?LOOKUP(J8+E10,A35:A64) A0A10+1B11 `@7.37 `A 2 @8LOOKUP(F8+E11,A9:A17) bA 2OKUP(F9+D11,A19:A33) @"LOOKUP(H8+E11,A19:A33) `A 2 @LOOKUP(J8+E11,A35:A64) A@A11+1 `@).29 `A03 @7LOOKUP(F8+E12,A9:A17) bA03OKUP(F9+D12,A19:A33) @!LOOKUP(H8+E12,A19:A33) `A03 @LOOKUP(J8+E12,A35:A64) APA12+1B13 `@G.47 `A@4 `0<= bA@4OKUP(F9+D13,A19:A33) @!LOOKUP(H8+E13,A19:A33) `A@4 @LOOKUP(J8+E13,A35:A64) A`A13+1 `@$.24 `AP5 `0 bAP5OKUP(F9+D14,A19:A33) @!LOOKUP(H8+E14,A19:A33) `AP5 @LOOKUP(J8+E14,A35:A64)ApA14+1B15`@3.33`A`6`0`A`6`0`A`6 @LOOKUP(J8+E15,A35:A64)AA15+1`@E.45`Ap7`0`Ap7`0`Ap7 ?LOOKUP(J8+E16,A35:A64)AA16+1B17`@".22`A8`0`A8`0`A8 ?LOOKUP(J8+E17,A35:A64)!"A19 thru A33 is 5 yr tablesaA909`0aA9`0aA9 ?LOOKUP(J8+E18,A35:A64)bA1OKUP(F9+ERROR,ERROR:A66)a@.151`B10`0`B10`0`B10 ?LOOKUP(J8+E19,A35:A64)A A19+1(F9+ERROR,ERROR:A66)a@".221 "---------00 "--------- "--------- "--------- "---------A0A20+1(F9+ERROR,ERROR:A66)a@!.211!"Depreciation by YearA@A21+1(F9+ERROR,ERROR:A66)A21+a@!.211APA22+1(F9+ERROR,ERROR:A66)a@!.211A`A23+1(F9+ERROR,ERROR:A66)a@.181"*LOOK "Year "Item-1 "Item-2 "Item-3ApA24+1(F9+ERROR,ERROR:A66)A24+a@3.331"*,A1:A4)*G2#" *** ARCS Depreciation Calculator ****=======AA25+1(F9+ERROR,ERROR:A66)a@%.251"*#"Use ';' key to jump back & forth and arrows to scrollAA26+1(F9+ERROR,ERROR:A66)a@.161"*DE52IF(AND((F3<=E27),(F2+F3>E27)),LOOKUP(IF(E27-F3>=0,E27-F3+1,0),E9:E19)*F4,0)IF(AND((G3<=E27),(G2+G3>E27)),LOOKUP(IF(E27-G3>=0,E27-G3+1,0),G9:G19)*G4,0)IF(ABIF(AND((H3<=E27),(H2+H3>E27)),LOOKUP(IF(E27-H3>=0,E27-H3+1,0),I9:I19)*H4,0)27,G2+G3 E27-F3+17-F3+1,E10:E19)BA27+1(F9+ERROR,ERROR:A66)A27+a?.081"*DE27+1IF(AND((F3<=E28),(F2+F3>E28)),LOOKUP(IF(E28-F3>=0,E28-F3+1,0),E9:E19)*F4,0)AND(CIF(AND((G3<=E28),(G2+G3>E28)),LOOKUP(IF(E28-G3>=0,E28-G3+1,0),G9:G19)*G4,0)IF(ACIF(AND((H3<=E28),(H2+H3>E28)),LOOKUP(IF(E28-H3>=0,E28-H3+1,0),I9:I19)*H4,0)8,G2+G3BA28+1(F9+ERROR,ERROR:A66)a@ .201"*DE28+1C%IF(AND((F3<=E29),(F2+F3>E29)),LOOKUP(IF(E29-F3>=0,E29-F3+1,0),E9:E19)*F4,0)C"IF(AND((G3<=E29),(G2+G3>E29)),LOOKUP(IF(E29-G3>=0,E29-G3+1,0),G9:G19)*G4,0)IF(ACIF(AND((H3<=E29),(H2+H3>E29)),LOOKUP(IF(E29-H3>=0,E29-H3+1,0),I9:I19)*H4,0)9,G2+G3BA29+1(F9+ERROR,ERROR:A66)a@2.321"*DE29+1C8IF(AND((F3<=E30),(F2+F3>E30)),LOOKUP(IF(E30-F3>=0,E30-F3+1,0),E9:E19)*F4,0)C!IF(AND((G3<=E30),(G2+G3>E30)),LOOKUP(IF(E30-G3>=0,E30-G3+1,0),G9:G19)*G4,0)IF(ACIF(AND((H3<=E30),(H2+H3>E30)),LOOKUP(IF(E30-H3>=0,E30-H3+1,0),I9:I19)*H4,0)0,G2+G3BA30+1(F9+ERROR,ERROR:A66)A30+a@$.241"*DE30+1C7IF(AND((F3<=E31),(F2+F3>E31)),LOOKUP(IF(E31-F3>=0,E31-F3+1,0),E9:E19)*F4,0)C!IF(AND((G3<=E31),(G2+G3>E31)),LOOKUP(IF(E31-G3>=0,E31-G3+1,0),G9:G19)*G4,0)IF(ACIF(AND((H3<=E31),(H2+H3>E31)),LOOKUP(IF(E31-H3>=0,E31-H3+1,0),I9:I19)*H4,0)1,G2+G3BA31+1(F9+ERROR,ERROR:A66)a@.161"*DE31+1IF(AND((F3<=E32),(F2+F3>E32)),LOOKUP(IF(E32-F3>=0,E32-F3+1,0),E9:E19)*F4,0)C!IF(AND((G3<=E32),(G2+G3>E32)),LOOKUP(IF(E32-G3>=0,E32-G3+1,0),G9:G19)*G4,0)IF(ACIF(AND((H3<=E32),(H2+H3>E32)),LOOKUP(IF(E32-H3>=0,E32-H3+1,0),I9:I19)*H4,0)2,G2+G3 BA32+1(F9+ERROR,ERROR:A66)*K͞+/!K'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y':7?h#D/6:?>$:?$:)?$l,:>#)Ÿ#>67:+?7#*+?|°#2ͩ7#>67:+?7>#7>67:,?7#*+?"?)#>7:+?7>s7>@2?#2ͩ7#)$:"?=2"?))$>s7#͎)5$2:>/$2ͩ7#3ͩ7#* ?"?*+?"?:)?ʟ$:>€$)s$>>7:+?72ͩ7#2ͩ72?#)s$>7:+?7>{72ͩ7#)¸$:)?‘$>}72v$:)?1.͎)$>&773v$:)?$l,Ä#:?$u-l,$:)?>%>7l,>7>@2)?$* ?"?R3ͩ7:?2?"?|O%}@%3ͩ7V%C%4ͩ7>G>)7[%#͔+:*ͅ-; T É  !  k ü IVÑ Y-Uk!9DM`iw#w͐|ͤͧͪͭ͡Ͱͳ*0})! Ͷ!0͹*1|I*1|^! !!ͼ× !0!m5Ϳ*3|y*3+++|ʇ× !"3*b5}E¼*:/!!9~#fo*3+++|ʶ× !"3*0&|t *0&|t !0! #|t !0!3Ϳ!b5!3`is#r͐|) *:/!% !9~#fo× ! !3*:/!3`is#r͐|t !0!b5Ϳ*:/!p !9~#fo× *3|‘ *:/! !9~#fo× *3|§ >20 *%/`is#r!͐!͐!! !1!*#/!% {20{2x/!"3!9?..TMKHIT A KEY TO CONTINUEA */> "6*6] I! !0W !x/!0W !0!x/Z Ï Ä!9DM! ^#Vr+s!|ڿ *@/#"@/6 *f/#"f/× ͌ !9DM!͐!*/ ! *d/"h/*f/"j/ õ!*j/*h/ !9DM͐n} B ! ^#Vr+s) ͐n}-d ! 6#6! ^#Vr+sl ! w#w͐n&|Ҍ ͐n&|Ғ ! `iw#w͐n&| ͐n&| ͐ ?! ^#Vr+sn&`is#rØ ͐| ͐`is#r͐ !9# ûY --U!9DM `is#r͐|T ͐ n}?T *b5}ET  ͐|k ͐ n}?k Q *%/! s#r!͐ !͐! !  *X/#!3 !3 !/ *^/#!3 !3 !Z  ͐ n}? !]  ͐  !h  ͐|. !0 !  !x/ ! Q `is#r͐|N ! Q T !9 WHAT NEXT? q Â!9DM͐`is#r͐n}ʳ ! ^#Vr+s`i^#Vr+sn&n sà !9 I !9DM͐"3!!1Ϳ ͐| !m5!1 !0!1 !!1 ͐!1 !!1 *3>>>}>J>ʍ>V>ʝ>b>ʝ>n>ʭ>z>ʽ!!1 !!1 !!1 ! !1 !!1 COMMAND FAILED: YOU KILLED ITOUT OF SPACENONEXISTENTEXISTSWRONG NUMBER(ü "*6*/&N!U!!%*6k * ~ü !9DM!!0Y`is#r͐|•\͐+|²!_!b͐++|e͐+++|!!!h!9CLEAN STOP DO END !9DM! 6#6͐ n}! ^#Vr+s͐ n͐ n}C! ^#Vr+s͐ #`is#r! ^#Vr+s! s#r͐n}ʹ͐n͐n}’`i^#Vr+s! ^#Vr+s`͐n} ³͐n}³`i^#Vr+s`ù`͐n}͐!!9- q !9DM!͐`is#r͐#|!P!t͐͐|A͐>2b5!P͐!P!9eIü !9DM*b5}Eyü!!3\*:/!3_`is#r͐|ڪ>E2b5ü!3!!b!9EDITOR.TMK !9DM͐͐*r/!*/ !9DM͐͐*r/͐*/3 !9DM!͐!*/0[ !*/Xq */n"6*6Êü *B/*@/|Ҳ!!!͇ûÄ!9DM*d/*J/*J/#"J/*B/+"B/6͐*d/*B/n}*@/#"@/*B/#"B/+ns*@/n} '*@/+"@/͐*d/Ҧ*@/n}V*B/+"B/*@/+"@/#ns6͐*d/ң*B/+"B/*@/+"@/#ns*@/n}ʙ*B/+"B/*@/+"@/#nsy*d/+"d/V*d/͐*B/n}*@/#"@/*B/#"B/+nsõ*@/#"@/*B/#"B/+ns*d/#"d/*d/*J/*B/+"B/6*J/#"J/͸æ!"f/͐*f/ʹ͐*f/h͐*f/e*B/+"B/*@/+"@/#ns*f/+"f/8ù͐*f/ҹ*B/n}ʗ*@/#"@/*B/#"B/+nsï͐|ʬ*@/#"@/6 ïù*f/#"f/h!9DM! s#r`is#r͐x/n} ͐x/n}`i^#Vr+s͐x/n}!$͐x/n}'-͐x/n}"H͐x/n! s`i^#Vr+sN! 6 ͐! s#r͐x/n! n}ʧ͐x/n}ʧ! ^#Vr+s0! ^#Vr+sx/nsZ͐06͐"1`iw#w͐x/n! n}! ^#Vr+s͐x/n}`i^#Vr+sx/! ^#Vr+sx/ns͐x/6!$!93 !9DM͐*r/!*/0ak-!9DM`iw#wX*6|*6|*6|͐|`i^#Vr+sx/*6s*6[͐|`i^#Vr+s!^! [!^Xr͐x/6!9  */ "6*6!9DM! w#w͐`is#r͐ n}ʷ͐n͐ n}n! ^#Vr+s! ^#Vr+sD͐ n} †͐n}†÷! ^#Vr+sn} ʝÆ! ^#Vr+s͐! s#r:͐ n}!͐!9Ñ6!9DM*3|m*d/*J/m*D/n*/}#*D/*D/|3`iw#w͐|b*D/n}b*D/#"D/`i^#Vr+s9*D/!!9ÐõÑü !9DM!!*X/́̈́`i6#6`i^#Vr+sx/n}͐1͐x/nsô͐16! w#w*D/n}! ^#Vr+sx/*D/#"D/+ns! ^#Vr+sx/6 ͐x/6͐͐|b!!!d͇o!1!x/͊!͍!9COMMAND TOO LONG*J/+"J/!"F/!"H/*B/"D/*B/n}*F/#"F/*H/|*B/n} *F/"H/*B/#"B/ë*B/#"B/!9DM*J/#"J/*d/#"d/͐*@/n} "*@/+"@/*@/#"@/6!"f/?k !9DM͐n}\͐n} b!! ^#Vr+sn}23͐n}„!! ^#Vr+sn}23͐n}P͐n}p͐n}T͐n}t!>23!39!!3<`is#r͐!9EX ZV AC UC RC JC SC CC CN )xõ!9DM!!"n/*P/|m!*P/*L/!*P/ !*\/++++*X/͐|ʏ#*P/|Ҭ!!*X/&þ!!*L/&Ä!9DM͐n&| *f/| *@/#"@/! ^#Vr+sns*f/#"f/$õ-!9DM͐|;!!͐͐|*R/|ڶ!*T/#*d/!*R/*d/*V/*B/͐|®!!ö!!*^/*d/͐+|*b/*B/!!!*d/#*b/*B/! ^#Vr+sN *V/|M*V/*P/*b/###!h!*P/*b/+!!*P/#~õ!!*J/+{*B/n}ʝ*@/n}*d/|*d/+"d/*J/+"J/*@/+"@/Ý*@/n}*B/+"B/*@/+"@/#ns !9DM͐͐!*/ !9DM͐͐!*/! !9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʁ[͐È!9!9DM`iw#w! ~#fo͐n! ~#fo͐n}! ~#fo`i^#Vr+sn}!ß! ~#fo͐n! ~#fo͐nѯgW!9!9DM͐`is#r͐n}J! ^#Vr+s2! ^#Vr+s͐ns! ^#Vr+sn}J͐y!9Èü!9DM! n&ͅ|ʯ! n&ö! n&&!9DM! n&|ͯ! n&|ͩ7**DM:! **7**DM:!% **o& 7,2q*&:q):i =i =r:qo&7:)~:,"s!"u*| **s ! ~ 6*u*+"*"*u#"uÓ #!9DM͐ |!! ^#Vr+s6-͐ ! s#r`i6#6'͐ ͐! s#r͐|v!͐|v!`i~#fo s#r͐ ͐! s#r5!͐|!! ^#Vr+s͐0s! ~#fo͐͐?s#r`i~#fo s#r͐ ͐! s#rv!͐6!9*7**DM:!% **o& 7,2q*&:q):i =i =r:qo&7:)~:,"s!"u*| **s ! ~ 6*u*+"*"*u#"uÓ #!9DM͐ |!! ^*K͞+/K'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y':7?h#D/6:?>$:?$:)?$l,:>#)Ÿ#>67:+?7#*+?|°#2ͩ7#>67:+?7>#7>67:,?7#*+?"?)#>7:+?7>s7>@2?#2ͩ7#)$:"?=2"?))$>s7#͎)5$2:>/$2ͩ7#3ͩ7#* ?"?*+?"?:)?ʟ$:>€$)s$>>7:+?72ͩ7#2ͩ72?#)s$>7:+?7>{72ͩ7#)¸$:)?‘$>}72v$:)?1.͎)$>&773v$:)?$l,Ä#:?$u-l,$:)?>%>7l,>7>@2)?$* ?"?R3ͩ7:?2?"?|O%}@%3ͩ7V%C%4ͩ7>G>)7[%#͔+:*ͅ-ÿK }ÞáöOR!9DM!͡!͡! ͤͧ͡*J/|!*J/|!*:/!!9~#fo*/ͪͧ*J/|5!ͭ`iw#w! Ͱ!" ͳ"6*6#|ʗ!*/*6Ͷ`is#r͐|…`iw#wÌ`i6#6*6͹Þ`i6#6͐|!- Ͱ!8 !C ͼ!N ͡!` ͡!9 T/MODIFY Version 3.02 Copyright (c) 1982 Peter Roizen TMAKER.$$$TMAKER.$$$TMAKER.UTLTMAKER.UTLTMAKER.$$$ CHANGES SAVED DISK FULL - CHANGES NOT SAVED Ô ø \KÞñ!9DM!""/! w#w͐+|· ͅ */!c ͈ ! s#r!""/͐| !n ͋ !͎ */`is#r͐~#fo*/ */##͑ |& ! ͋ !͎ !O":/*:/! ͈ ! s#r͐|Z ! ͋ !͎ !9TMAKER.UTLTMAKER.UTL FILE MISSING TMAKER.UTL FILE INCORRECT TMODIFY.UTLTMODIFY.UTL FILE MISSING K !9DM!x ! ! ! !! !? !_ ! ! ! ! ! ! !7 !M !p ! "J/! !9 SELECT OPTION TO BE MODIFIED 1. STANDARD TERMINAL CONFIGURATIONS (IE. 5 THRU 8 BELOW) 2. SPECIAL CHARACTERS USED BY T/MAKER 3. DEFAULT PROCESSING OPTIONS 4. PRINTER OUTPUT CONTROL 5. CONSOLE ROWS AND COLUMNS 6. CONSOLE CONTROL - EXCEPT 7 AND 8 7. CURSOR ADDRESSING 8. REVERSE VIDEO CONTROL 9. EDITING KEYSTROKES 10. PRINTER OUTPUT TECHNIQUE 11. CONSOLE INPUT TECHNIQUE 12. CONSOLE OUTPUT TECHNIQUE 13. SYSTEM PATCHES 99. SAVE MODIFICATIONS AND STOP 999. STOP WITHOUT SAVING THE MODIFICATIONS ENTER OPTION NUMBER? *! ͻ ; ø1!9DM!x/ *x/}=*y/}*y/&(!x/ ! s#r! s#r`is#r! s#r! s#r! s#r͐x/n} T`i^#Vr+s9͐x/n}h!(͐x/n}͐x/n}H`i^#Vr+sx/n& ! s#r͐|ں! 6#6͐|!(͐ ?͐! s#r͐))))͐! s#rh͐x/n}H͐(͐ |!!(͐(! 9!9DM! n}0ʒ1ʛ2ʥ3ʯ4ʹ56789ABC DEF'1`iw#w;`i6#6;`i6#6;`i6#6;`i6#6;`i6#6;`i6#6;`i6#6;`i6#6;`i6 #6;`i6 #6;`i6 #6;`i6 #6;`i6 #6;`i6#6;`i6#6;`i6#6;͐B!9Q!9DM͐n}{! ^#Vr+sn&NY7**DM:!**o&  !\&!ÿá7*͹\!*ͼ7:)~:,"s!"u*|*uM*~#$"*s*uM#"u*+"#7*!|&*!&|!&="&! BL<"e=L= n& !j96  #F#x~#   > _  7,2q*&:q):T=T=r:qo&hBO!9DM!͐_`is#r͐#|”!!t͐͐b|͐e>2b5!͐e!!9!9DM͐`is#r͐n}!! ^#Vr+s`i^#Vr+sn&s!93Û-!"9*9#|U!"9!"9-f*9*9f-*3|v*9|x0*9|™*944n}ʙ-0{áB!9DM*9#|*9*9|!"9$!"9*9`is#r͐!9*6͞! s#r͐|!"9$͐?"9!9!9DM*9|ҷ*9*9ҷ*9#"9+9n`is`in}r!"9`in} ‹*9#"9446÷`in&|Ң`in} ´*9#"944`ins5*9|*9#"9446!9!9DM! n&|! n& ! n&&!9DM! n&|ͯ>! n&|ͩ7:)~:,"s!"u*|ʘ**s! ~˜6*u*+"*"*u#"udr͐|!"9$͐?"9!9!9DM*9|ҷ*9*9ҷ*9#"9+9n`is`in}r!"9`in} ‹*9#"9446÷`in&|Ң`in} ´*9#"944`ins5*9|*9#"9446!9!9DM! n&|! n&*OORT$UX*XTXYÖ\ß`b×hj*J/++|8OO*J/+++|FOO*J/|UO O*J/++++|dO O*J/|sOO*J/|‚OO*J/|‘OO*J/| OO*J/|¯OO*J/|¾OO*J/|O!O*J/+|O$O*J/|O'OOKk!PO!QO!1QO*/####"@/!!iQO!!QO!!QO!!QO!!QO!!QO!! RO!!$RO!!@RO!!XRO!!tRO!!RO!!RO!!RO!!RO SPECIAL CHARACTERS USED BY T/MAKER - ANSWER PROMPTS WITH THE NEW DESIRED CHARACTER OR A CARRIAGE RETURN TO LEAVE THE CHARACTER AS IS HIGH BIT CHARACTER (SPACE FOR NONE)KILL CHARACTERDEFAULT DRIVE FOR DATA (SPACE FOR NONE)FRAME CHARACTERNUMERICAL DECIMAL POINTNUMERICAL THOUSANDS SEPARATORCOMPUTE AND COMBINE'S HATCOMPUTE AND COMBINE'S TILDEPRINT COMMAND CHARACTERPRINT PAGE NUMBER CHARACTERLOAD AND UNLOAD'S OPEN BRACELOAD AND UNLOAD'S CLOSE BRACEBOLD TOGGLE CHARACTERUNDERLINE TOGGLE CHARACTERSPARE 1RKkxñ A~!9DM!SR!SR!SR*/"@/! TR!,TR!NTR*@/R!rTRR`is#r͐|qS͐*@/R*@/#"@/!TR!TR!9 DEFUALT PROCESSING OPTIONS - ANSWER PROMPTS WITH YES OR NO OR A CARRAIGE RETURN TO LEAVE THE OPTIONS AS THEY ARE. SHOULD TABS BE SAVED WITH FILESSHOULD ALIGNING WEDGES BE PRINTEDSHOULD PRINTER OUTPUT BE TRANSLATED WHAT NUMBER SHOULD END A TRANSLATION TABLE LINE (CURRENTLY: %d) ? SHOULD A RESET COMMAND BE DONE BEFORE ANY SAVESHOULD SPARE 1 BE ONUül*/'"@/!UTPRINTER OUTPUT9UKpA~xñ !9DM*//"@/!V'U!V'U!V'U!W*U!*W*U!4W*U!>W*U*@/"B/*/,"@/*B/n}ʰU!*@/-UU!JW'U*@/3U!nW0U6U! s#r͐|U͐|U͐*@/-U*@/#"@/3U!W0U6U! s#r͐|>V͐|>V͐*@/-U*@/#"@/3U!W0U6U! s#r͐|ڃV͐|҃V͐*@/-U!9 PRINTER CONTROL SEQUENCES - ANSWER FOLLOWING WITH DECIMAL (12) OR HEX (1AH) NUMBERS OR A CARRAIGE RETURN TO LEAVE THE CURRENT VALUES CARRIAGE RETURNLINE FEEDBACKSPACETOP OF FORM HOW MANY LINES IS A PHYSICAL PAGE (CURRENTLY: %d ) ? WHAT SHOULD BE THE LAST LINE USED ON A PAGE (CURRENTLY: %3d ) ? WHAT SHOULD BE THE LAST COLUMN USED (CURRENTLY: %3d ) ? Xül*/"@/!XXCONSOLE INPUT0Xül*/""@/!EX-XCONSOLE OUTPUTfXKxñ A~!9DM! YWX!$YWX!_YWX*/C"@/*@/]X!YZX`X`is#r͐|X͐*@/cX*@/#"@/]X!YZX`X`is#r͐|Y͐*@/cX!9 CONSOLE ROWS AND COLUMNS - ANSWER FOLLOWING WITH DECIMAL (12) OR HEX (1AH) NUMBERS OR A CARRIAGE RETURN TO LEAVE THE CURRENT VALUES HOW MANY ROWS (CURRENT: %3d ) ? HOW MANY COLUMNS (CURRENT: %3d ) ? YKp*/E"@/!ZY!ZY!ZY![Y!K[Y![Y![Y![Y![Y![Y![Y!\Y!&\Y!0\Y!E\Y!\\Y!h\Y!t\Y!\Y TERMINAL CONTROL SEQUENCES - ANSWER FOLLOWING WITH DECIMAL (12) OR HEX (1AH) NUMBERS OR AN EQUAL SIGN FOLLOWED BY A CHARACTER (IE. =Y) FOR THE NUMERIC EQUIVALENT OF THE CHARACTER OR A CARRAIGE RETURN TO LEAVE THE CURRENT VALUES CARRIAGE RETURNLINE FEED WITH IMPLIED SCROLLBACKSPACECLEAR SCREEN THE FOLLOWING ARE OPTIONAL GIVE ALL NUMBERS AS ZERO IF YOUR TERMINAL DOES NOT HAVE THEM RING BELLERASE TO END OF LINEERASE TO END OF SCREENLINE INSERTLINE DELETECHARACTER INSERTCHARACTER DELETEî\Kkxñ A~Ôr!9DM*/}"@/!]͙\!^͜\!=^͙\!q^͙\*@/͢\!^͟\ͥ\`is#r͐|]͐*@/ͨ\*@/#"@/!^͙\!^͙\*@/͢\!^͟\ͥ\`is#r͐|[]͐*@/ͨ\!_͙\!>_͙\!z_͙\!_͙\!_͙\!`͙\!P`͙\*@/#"@/!ͫ\*/|"@/*@/͢\!r`͟\ͥ\`is#r͐|]͐*@/ͨ\!`͙\!9 CURSOR ADDRESSING SHOULD ROWS AND COLUMNS BE SENT AS CHARACTER DIGITS (Y/N) GIVE THE NUMBER WHICH CORRESPONDS TO THE FIRST ROW IT IS USUALLY ZERO OR 32 (CURRENTLY %3d ) ? GIVE THE NUMBER WHICH CORRESPONDS TO THE FIRST COLUMN IT IS USUALLY THE SAME AS ABOVE (CURRENTLY %3d ) ? NOW GIVE THE SEQUENCE TO MOVE THE CURSOR - ANSWER WITH THE APPROPRIATE NUMBER FOR A FIXED CONSTANT OR AN EQUAL SIGN FOLLOWED BY THE CORRECT CHARACTER (IE. =Y) FOR THE NUMERIC EQUIVALENT OF THE CHARACTER - ANSWER WITH 255 FOR WHERE THE ROW SHOULD GO - ANSWER WITH 254 FOR WHERE THE COLUMN SHOULD GO - ANSWER WITH 0 WHEN FINSIHED NULLS TO SEND (CURRENTLY: %3d ) ? è`KÔr!`͢`!a͢`!6a͢`!ba͢`!a͢`!a͢`!a͢`*/"@/!ͥ` REVERSE VIDEO CONTROL SEQUENCE - SEE MANUAL FOR INSTRUCTIONS - GIVE FIRST ANSWER AS ZERO TO AVOID USING - ANSWERS ARE DECIMAL OR HEX NUMBERS OR AN EQUAL SIGN FOLLOWED BY A CHARACTER (IE. =Y) FOR THE NUMERIC EQUIVALENT OF THE CHARACTER - ANSWER WITH ZERO WHEN FINSIHEDbKés*/"@/!db!db!db!eb!Neb!eb!eb!eb!eb!eb!fb!fb!fb!6fb!Nfb!`fb!pfb!fb!fb!fb!fb!fb!fb!fb!fb!fb!gb!%gb! MODE CHANGEFRAME MODE CHANGECLEAR ALL TABSSET ALL TABSSET A TABCLEAR A TABTABCOPY TO THE BUFFERMOVE TO THE BUFFERINSERT THE BUFFERCLEAR THE BUFFERCOPY COLUMNSMOVE COLUMNSSET LEFT COLUMN LIMITSET RIGHT COLUMN LIMITæhuKÌuO!9DM͚h`is#r͐|h1i!:i͝h!oi͝h!i͝h!i͝h!"3`iw#w*9|i*3|i͐|i͠h`is#rh͐|)i!i͝h*6ͣh!9 STANDARD TERMINAL INITIALIZION OF OPTIONS 5 THRU 8 ANSWER WITH 'YES' FOLLOWED BY A CARRIAGE RETURN WHEN YOUR TERMINAL IS LISTED. ANSWER WITH A JUST CARRIAGE RETURN OTHERWISE. YOUR TERMINAL IS UNLISTED. !jxñ A~!9DM*/"@/*@/j!jjj`is#r͐|ej͐*@/j*@/#"@/j!jjj`is#r͐|ڛj͐*@/j!9 GIVE CONSOLE INPUT DELAY FACTOR (CURRENTLY: %3d ) ? GIVE CONSOLE INPUT MASK (CURRENTLY: %3d ) ? kx6y wK}!9DM!k!44 k͐!44k!k!44k*@/k!1!44k!k!44k!44k*/k}244*44} –k͐|k*44}k*44} k*@/*44s*@/k!1k*@/#"@/!kk (CURRENTLY: ) ? kx6yKø!9DM!l!44k͐!44k!l!44k*@/n}Fl!l!44kSl!l!44k!l!44k!44k!44k!44k*44}Y‰l*@/6×l*44}N—l*@/6*@/#"@/ (CURRENTLY: YESNO) ? lx6yKxñ A~!9DM͐!44Ϳl!n!44l!44l!nl!nl!ol!5ol!Iol!]ol*@/l!uoll! s#r͐#|fm*@/l! s#r!ol͐|ڈm͐|ڋmÐn͐*@/l͐+++|ʨmÐn*@/#"@/l!oll! s#r͐|m͐*@/l*@/#"@/l!oll! s#r͐|n͐*@/l*@/#"@/l!oll! s#r͐|Pn͐*@/l*@/#"@/l!oll! s#r͐|ڈn͐*@/l!pl!9 TECHNIQUE - ANSWER FOLLOWING WITH DECIMAL (12) OR HEX (1AH) NUMBERS OR A CARRIAGE RETURN TO LEAVE THE CURRENT VALUES SELECT FROM THE FOLLOWING: 1. CP/M BDOS CALLS 2. CP/M BIOS CALLS 3. DIRECT PORT OPTION (CURRENTLY: %d ) ? STATUS PORT (CURRENTLY: %3d ) ? DATA PORT (CURRENTLY: %3d ) ? POLARITY (CURRENTLY: %3d ) ? READY FLAG (CURRENTLY: %3d ) ? 3px6yKxñ A~!9DM!q!44p͐!44!p!q!44!p!44$p*@/*p!q'p-p! s#r͐|Ҧp!q$p*@/"@/ìq͐|ڽp͐*@/0p*@/#"@/*p!q'p-p! s#r͐|p͐*@/0p*@/#"@/*p!r'p-p! s#r͐|-q͐*@/0p*@/#"@/*p! 23`i^#Vr+s36!v͒u!3͒u!v͒u!3͕u*3}yQv*3}YQv!v͘u͏u`iw#w*9|Ҝv*3|œv*44}-œv`i6#6> 244!v͒u!44͒u͏u]v!v͒u͐|³v!v!v͒u!3͕u! w͒u!v!9 ? TOUCH A CARRIAGE RETURN TO CONTINUE wx!9DM͐n}6w!w!1wõw͐n}Qw!w!1wõw͐n}lw!w!1wõw͐n&|ڗw {21{21͐n}21>21õw>^21͐n&@}21> 21>21 DELESC!9DM! 6"#6! w#w*/C`is#r͐|ҷx͐|x! ^#Vr+s`i^#Vr+s͐44n} 4x! ^#Vr+sx! w#w͐44n&|ڔx͐44n&|Ҕx͐ ?! ^#Vr+s44n&! s#r020>20*9|:P*3|:PO`is#r͐|O:P*6|OO*hJ|O*3|O*D/!O:P>023>23͐|)P*3|)P$OO`is#r P'O*0M|7P:PìO*6|PP!"6*6*O!-O*3|P*6M|P!!0O!!!3O!Q6O!!!3O*6M!39O!3<24M*Q_QÑ!9DM*J/+`is#r*d/͐QYQ*D/"K*Kn}ʪQ*Kn*/}ʪQ*K#"KÉQ*Kn}ʹQ!Q*D/\QqQ!Q!9QÃVV]!9DMQ*3|_R*9|_R*hJ|_R`iw#w͐44n*/}=R͐44n}=R`i^#Vr+sR͐44n*/}YR͐QQQ!9ÀRõÑñY[É !9DM*@/#! s#r*D/kR*d/*J/ºR*B/+"B/6*J/#"J/͐ n*/}R͐ n}R! ^#Vr+s!*f/#*d/nRúR͐ n} SqR*D/kRzV! 6#6`i6#6! w#w! w#w! ^#Vr+s͐ n*/}S͐ n}S`i^#Vr+s͐ n} S͐ n}#ˆS͐|ˆS͐+! s#rS͐ n}>ʩS͐ n}<ʩS͐ n}-½S͐ n}24M! w#wS͐ n}!SS! ^#Vr+s3͐ ns! ^#Vr+s7S͐ n}T! ^#Vr+s͐|T͐! s#r͐|1T!3tR;T͐36͐|`T!*f/͐*d/nRwV*0M|T!*f/͐*d/nR*@/! s#r͐ n}T͐|T! ^#Vr+s6 ! ^#Vr+sÌTwV!3wR! s#r͐|T!*f/͐*d/nRwV͐<! s#r`iw#w! ^#Vr+sn}-U`i^#Vr+sU͐<! s#r͐! s#r͐͐һU!*f/͐*d/nR*@/! s#r͐ n}ʱU͐|ڱU! ^#Vr+s6*! ^#Vr+s}U*6M#"6MwV! ~#fo͐s#r*4M}U-VLV͐ zR͐}RLV͐}R͐ zRLV͐`is#r͐}R͐ zR͐͐}RLV*B/n}wV͐|wV*B/#"B/! ^#Vr+sLVúR! 9!9DM`iw#w͐7|ҸV͐)jJ6#6`i^#Vr+sÑV!"hJ!9VI]ñY\!9DM!44!LVV*3|VèY*9| W>244! w#w`iw#w͐! s#r*3|¨Y! w#w͐Ln*/}nW͐Ln}nW! ^#Vr+s! ^#Vr+s4W͐Ln}WèY͐! s#r! ^#Vr+s! ^#Vr+s! 6#6! w#w͐Ln*/}ʔX͐Ln}ʔX͐Ln} qX͐Ln}#W! w#wqX͐Ln}YX͐Ln}-YX͐Ln}!YX! ^#Vr+s0͐LnsqX͐Ln}!qX! 6#6! ~#fo͐s#r! ^#Vr+sòW͐|¨X!0VòX͐06͐ |¾X$W͐͐ X͐44n}X! ^#Vr+sþX! w#w͐͐Y͐44n} Y! ^#Vr+sX͐͐gY͐44n}gY! ^#Vr+s3! ^#Vr+s44nsY͐|ژY͐+3n} ’Y! ^#Vr+sÕYØYgY͐36V$W!9!9DM! w#w͐ n}Y! ^#Vr+s! ^#Vr+sY͐|Z! ^#Vr+s! s#rZ͐ ! s#r͐ n&|3Z͐ n&|JZ͐61! ^#Vr+s6[͐+`is#r͐ n&|tZ͐ n&#s[͐ 60! ^#Vr+s`i^#Vr+s͐|ڷZ͐ n&|ҷZ͐ n&| [! ^#Vr+s! s#r! ^#Vr+s͐[! ^#Vr+s! ^#Vr+snsZ͐61[UZ!9[]!9DM͐ ! s#r͐ [*K)jJ~#fo`is#r!"2M͐#|c[!\͐"2M͐##! s#r͐! s#r͐ n}[͐<n}[͐ n͐<n}[! ^#Vr+s! ^#Vr+sÄ[͐ n}[͐<n}[͐#\͐<".M*.M~#fo`is#rS[!9\[ü !9DM!0\`is#r͐|<\!\*2M|S\*.M*hJs#rd\*K)jJ*hJs#r*hJ<".M*.M6#6*hJ##"hJ`iw#w*hJ#"hJ+<`i^#Vr+s0ns{ʬ\Ä\`iw#w*hJ#"hJ+<`i^#Vr+s3ns{\ò\*hJ|\!]!!c\!9NAMES TOO LONG!9DM!"K͐n}J]*K! ^#Vr+sn*K"K]*K|[]*K"K*K`is#r*K͐?"K*K7|ږ]!"Kä]*K|Ҥ]!"K!9ö] R^!9DM!]Ͱ]͐ͳ]WHAT FILE NAME?]e__!"9*9#| ^!"9!"9]^*9*9^]*3|-^*9|/^]*9|P^*944n}P^]]2^g^k I- ü !9DM!0U^!0!44X^*54}:ʯ^*/} ʯ^*/}20>:20!44!0X^!0!a_[^#|0_!0!c_[^#|0_!!0^^"6*6`is#r͐#|_`iw#w_`i6#6͐͐_X_͐+|-_*6a^A_͐`is#r!0!͐####d^!9?*k_q !9DM*9#|ʚ_*9*9|ښ_!"9_!"9*9`is#r͐!9*6h_! s#r͐|_!"9_͐?"9!9!9DM*9|ҁ`*9*9ҁ`*9#"9+9n`is`in}<`!"9Ú``in} U`*9#"9446Á``in&|l``in} ~`*9#"944`ins_*9|š`*9#"9446!9é` !9DM͐ |`͐ ! s#r`i6#6'͐ ͐! s#r͐|5a͐|5a`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 `͐ ͐ͦ`!9#*9|ښ_!"9_!"9*9`is#r͐!9*6h_! s#r͐|_!"9_͐?"9!9!9DM*9|ҁ`*9*9ҁ`*9#"9+9n`is`in}<`!"9Ú``in} U`*9#"9446Á``in&|l``in} ~`*9#"944`ins_*9|š`*9#"9446!9é` !9DM͐ |`͐ ! s#r`i6#6'͐ ͐! s#r͐|5a͐|5a`i~# Name: {name } Street: {street } City/State: {city.state } Work Tel: {worktel } Home Tel: {hometel } Weight: {weight>} Height: {height>} e: Bbbbbbb Cccccc Street: 234 Dddddd Street City/State: Eeeeeeeee, CA 22222 Work Tel: 666-1212 Home Tel: 666-2121 Name: Aaaaaaa Bbbbbbb Street: 123 Cccccc Street City/State: Ddddddddd, Name: {name } Street: {street } City/State: {city.state } Work Tel: {worktel } Home Tel: {hometel } Weight: {w#eight>} Height: {#height>} Name: Smith, Arnold Street: 123 First Street City/State: Berkeley, CA 94704 Work Tel: 456-7890 Home Tel: 876-5432 Weight: 165 Height: 68 Name: Roberts, Philip Street: 345 Fourth Street City/State: Danville, CA 93101 Work Tel: 345-3210 Home Tel: 234-0989 Weight: 245 Height: 75 Name: Thomas, Richard Street: 678 Ninth Street City/State: San Francisco, CA 94111 Work Tel: 546-2314 Home Tel: 472-8744 Weight: 143 Height: 70  Name: {name } Street: {street } City/State: {city.state } Work Tel: {worktel } Home Tel: {hometel } Weight: {w#eight>} Height: {#height>} Name: Smith, Arnold Street: 123 First Street City/State: Berkeley, CA 94704 Work Tel: 456-7890 Home Tel: 876-5432 Weight: 165 Height: 68 Name: Roberts, Philip Street: 345 Fourth Street City/State: Danville, CA 93101 Work Tel: 345-3210 Home Tel: 234-0989 Weight: 245 Height: 75 Name: Name: {name } Street: {street } City/State: {city.state } Work Tel: {worktel } Home Tel: {hometel } Name: Smith, Arnold Street: City/State: Work Tel: Home Tel: Name: Roberts, Philip Street: City/State: Work Tel: Home Tel: Name: Thomas, Richard Street: City/State: Work Tel: Home Tel: 2 Home Tel: 666-2121 Name: Aaaaaaa Bbbbbbb Street: 123 Cccccc Street City/State: Ddddddddd, Product: {product} Price: {price>} Quantity: {qua>} Product: Model 1a Price: 35.51 Quantity: 56 Product: Model 1b Price: 42.79 Quantity: 23 Product: Model 1c Price: 67.99 Quantity: 27 Product: Model 1d Price: 78.49 Quantity: 12  {#height>} Name: Smith, Arnold Street: 123 First Street City/State: Berkeley, CA 94704 Work Tel: 456-7890 Home Tel: 876-5432 Weight: 165 Height: 68 Name: Roberts, Philip Street: 345 Fourth Street City/State: Danville, CA 93101 Work Tel: 345-3210 Home Tel: 234-0989 Weight: 245 Height: 75 Name: value = price * qua Product: {product} Price: {price>} Quantity: {qua>} Value: {value>} Product: Model 1a Price: 35.51 Quantity: 56 Product: Model 1b Price: 42.79 Quantity: 23 Product: Model 1c Price: 67.99 Quantity: 27 Product: Model 1d Price: 78.49 Quantity: 12  456-7890 Home Tel: 876-5432 Weight: 165 Height: 68 Name: Roberts, Philip Street: 345 Fourth Street City/State: Danville, CA 93101 Work Tel: 345-3210 Home Tel: 234-0989 Weight: 245 Height: 75 Name: reor = 1 when qua < 25 Product: {product} Price: {price>} Quantity: {qua>} Reorder: {reor>} Product: Model 1a Price: 35.51 Quantity: 56 Product: Model 1b Price: 42.79 Quantity: 23 Product: Model 1c Price: 67.99 Quantity: 27 Product: Model 1d Price: 78.49 Quantity: 12  Thomas, Richard Street: City/State: Work Tel: Home Tel: 2 Home Tel: 666-2121 Name: Aaaaaaa Bbbbbbb Street: 123 Cccccc Street City/State: Ddddddddd, Name: {lastname } {firstname } Street: {street } City/State: {city.state } Work Tel: {worktel } Home Tel: {hometel } Name: Adams Adam Street: 567 Eden Garden City/State: Paradise, CA 92003 Work Tel: none Home Tel: 334-5679 Name: Baker Buster Street: 5467 Riverside Drive City/State: Riverside, CA 98772 Work Tel: 223-6548 Home Tel: 332-5297 Name: Blues Bertha D. Street: 124 Musical Way City/State: Berkeley, CA 94710 Work Tel: 233-9473 Home Tel: 466-2456 Name: Cassio Bruce Street: 44332 Digital Drive City/State: El Cerrito, CA 94665 Work Tel: 342-7643 Home Tel: 293-2593 Name: Davis David Street: 765 Davidson Place City/State: Davis, CA 98776 Work Tel: 359-9724 Home Tel: 285-8374 Name: Edwards Edward Street: 33556 Eddington Street City/State: Edwards AFB, CA 97443 Work Tel: 459-3322 Home Tel: 567-2231 Name: Fauna Flora Street: 1234 17th Street City/State: San Francisco, CA 94121 Work Tel: 233-5577 Home Tel: 245-8743 Name: Gordon Flash Street: 4553 Heavenly Valley Road City/State: Stateline, Nevada 87678 Work Tel: 457-3647 Home Tel: 227-2211 Name: Hun Attila Street: 2344 Caspian Way City/State: Berkeley, CA 94567 Work Tel: 233-4533 Home Tel: none Name: Invasion Norman Street: 1066 English Lane City/State: Berkeley, CA 94709 Work Tel: 344-9275 Home Tel: 245-9346 Name: Jackson Jack Street: 1334 Jones Street City/State: Jefferson City, CA 93211 Work Tel: 334-1234 Home Tel: 556-2311 Name: Roberts Philip Street: 345 Fourth Street City/State: Danville, CA 93101 Work Tel: 345-3210 Home Tel: 234-0989 Name: Smith Arnold Street: 123 First Street City/State: Berkeley, CA 94704 Work Tel: 456-7890 Home Tel: 876-5432 Name: Thomas Richard Street: 678 Ninth Street City/State: San Francisco, CA 94111 Work Tel: 546-2314 Home Tel: 472-8744 City/State: Stateline, Nevada 87678 Work Tel: 457-3647 Home Tel: 227-2211 Name: Hun Attila Street: 2344 Caspian Way City/State: Berkeley, CA 94567 Work Tel: 233-4533 Home Tel: none Name: Invasio .new {!firstname } {lastname } {street } {city.state } .pagesize 9 .. Street City/State: Berkeley, CA 94704 Work Tel: 456-7890 Home Tel: 876-5432 Name: Thomas Richard Street: 678 Ninth Street City/State: San Francisco, CA 94111 Work Tel: 546-2314 Home Tel: 472-8744 City/State: Stateline, Nevada 87678 Work Tel: 457-3647 Home Tel: 227-2211 Name: Hun Attila Street: 2344 Caspian Way City/State: Berkeley, CA 94567 Work Tel: 233-4533 Home Tel: none Name: Invasio Customer: {customer } Product: {product } Quantity: {quantity>} Customer: ACME Product: Mirrors Quantity: 150 Customer: ACME Product: Windows Quantity: 23 Customer: General Supply Product: Mirrors Quantity: 45 Customer: General Supply Product: Windows Quantity: 30 Customer: ACME Product: Doors Quantity: 12 Customer: General Supply Product: Doors Quantity: 14 Customer: Smith Const. Product: Mirrors Quantity: 150 Customer: Smith Cons. Product: Windows Quantity: 30 Customer: ACME Product: Mirrors Quantity: 150 Customer: Smith Cons. Product: Doors Quantity: 30 Customer: ACME Product: Mirrors Quantity: 150 Customer: General Supply Product: Windows Quantity: 30 select tutor.j end group product end order product compute + {product } {count>} {quantity>} ex 9999,999 999,999 ---------------------------------------------------- ** Number of Orders and Total Quantity by Product ** ---------------------------------------------------- Product Orders Quantity ---------------------------------------------------- .. ---------------------------------------------------- = Total ---------------------------------------------------- RECORD>MISSING MISSING MISSING ON DISKMISSING ON DISKWHAT FILE NAME OR 'IT'?IT WHAT OPTION (FROM, TO, LIST, WHEN OR END)?END FROM TO LIST WHEN WHAT RECORD NUMBER?SELECT MESSAGE'OåP ?UsUP  ÜY-!9DMOO! O*3|HOO!"6 O*9|ҺO*3|ºO`iw#w͐44n}ʘO͐44n*/}ʘO`i^#Vr+skO͐44n*/}´O͐O OQOO5O*6|O!"6*6O*3|O*>/"B/*d/"J/!O*3|xP*<|xP!!O!!!O!PO!!!O*<|rP*023>23PQuR õ !9DM*@/! s#r!44*B/͐ P|Q͐ PQP! w#w*J/! s#r*d/͐;QxQ!!*d/#P!44*B/͐ P! s#r͐|uQxQ)Q͐|ŽQ*<#"T͐44n}-T͐44n}!T`i^#Vr+s3͐44ns͐͐ ! s#r! ^#Vr+suS͐|LT!3{RVT͐36͐`is#r͐͐ڋT͐0n} ‹T`i^#Vr+s`T͐͐U!3~R!8U~R͐͐T*@/#"@/`i^#Vr+s0ns*f/#"f/ëT*@/n} T*@/+"@/*f/+"f/T!=ÚR͐44n}U! ^#Vr+s͐#! s#rR̈́R! 9 = ''HU U!9DM!cUBU͐EUWHAT FILE NAME?|UVÉW!"9*9#|žU!"9!"9vUïU*9*9گUvU*3|¿U*9|UyU*9|U*944n}UvUyUUUk I- ü !9DM!0U!0!44U*54}:AV*/} AV*/}20>:20!44!0U!0!VU#|V!0!VU#|V!!0U"6*6`is#r͐#|“V`iw#wÚV`i6#6͐͐­VV͐+|¿V*6UV͐`is#r!0!͐####U!9?*Vq !9DM*9#|,W*9*9|,W!"9ÀW!"9*9`is#r͐!9*6V! s#r͐|sW!"9ÀW͐?"9!9!9DM*9|X*9*9X*9#"9+9n`is`in}W!"9,X`in} W*9#"9446X`in&|W`in} X*9#"944`insÑW*9|,X*9#"9446!9!9DM! w#w͐ n}hX! ^#Vr+s! ^#Vr+sEX͐|ڋX! ^#Vr+s! s#r×X͐ ! s#r͐ n&|ҷX͐ n&|X͐61! ^#Vr+s6ÓY͐+`is#r͐ n&|X͐ n&#sÓY͐ 60! ^#Vr+s`i^#Vr+s͐|;Y͐ n&|;Y͐ n&|ҐY! ^#Vr+s! s#r! ^#Vr+s͐҇Y! ^#Vr+s! ^#Vr+snsNY͐61ÓYX!9âY !9DM͐ |Y͐ ! s#r`i6#6'͐ ͐! s#r͐|.Z͐|.Z`i~#fo s#r͐ ͐! s#r! ^#Vr+s6 Y͐ ͐͟Y!9! s#r×X͐ ! s#r͐ n&|ҷX͐ n&|X͐61! ^#Vr+s6ÓY͐+`is#r͐ n&|X͐ n&#sÓY͐ 60! PRINT IT Update Example--- The UPDATE command is used to enter, modify and delete record data. It searches through the file until it encounters a "form definition" and then uses the form to present the data. In the absence of a form definition, the "record definition" is used to present the data. This file contains simple card-file-type name and address data. It contains a form definition for data presentation and a record definition for data storage. ------------------------------------------------------------------------------ Name: {fname } {lname } Company: {comp } Address: {address } {city } {#state } Phone: {phone } a{lname } b{fname } }} c{comp } }} d{address } }} e{city } }} f{#state } }} g{phone } }} aJoel bBilly cSinger Company d2121 42nd Street eNew York fNY g992-3101 aSouthside bJohnny d555 Juke Lane eAshbury fNY aFive bMark cFord Company d23 Greenbury Drive eGreenbury fCA g422-9191  0.10 when am <= 200 dis 9,999.99 = quan * 0.15 when am > 200 tax 9,999.99 = am * 0.065 when state = CA tax = "No tax" when not state = CA ship 9,999.99 = quan * 0.05 when state = CA ship 9,999.99 = quan * 0.10 when state <> CA tot 99,999.99-OYP Ik T .~b~$ Èü !9DM!"9O*3|IO/P>20*b5}244>E2b5!8PO*44}2b5!0!44 O!44 O!:P!44O`is#r͐|ҠOO/P!44!m5 OO*3|ʻO/P͐|OO,P͐| P!O*3|O/P!"9OO*6!O!$O,P'O|&P!OP!!d*O,P!"3>O!9?UPDATE GET G SAVE S DISK FULLzPÑQõúQü GmsSÿT=rW\P!!!_P*3|£PbP|ʣPÐP*K|P*3|P!cQ!!ceP*3|PYQ*K"L*K"LhP*3|PYQkP*3|PYQ*7L|Q*K" L*K"L!"7LnP*3| QYQ!QqP"hL*hL|>Q!QqP"hL*hL|PQ*hL~#fo"jLtPYQÐP!wPMISSING OR MISPLACED changedCHANGED9"LsH"L!"K!"7L!"5L!"jLQÑÛXYü !9DM`iw#w*d/*J/R*3|RͽQ*D/Q`is#r*D/Q͐|RRQ*3|3R͐|3R͐|9R!JS*@/#"K͐+|SR*K"KÓR͐++|“R*7L|ڂR!SS!!cQ!JS*7L) L*Ks#r! w#w*d/*J/R*3|R*@/#"KͽQ*D/Q! s#r*D/Q͐|RRÛR͐++++|S!eS!!cQ!JS͐+|#S*d/"K*K"K!JS͐++|DS*7L#"7L+)L*Ks#r!JS!9TOO MANY 'SMISSING ÈSÑÛX"sYü õ!9DM`is#r! s#r*d/*J/ZT*3|ZTvS*D/yS`is#r͐|T͐+|S͐++++|S! w#w*d/"KT͐|T! 6#6?T͐|?T*D/!|S|?T*D/"B/*J/#"J/ZT*D/S͐|WTZTßS͐|uT!T!!c͂S*d/*J/ڐT͐|–T*d/"K!!*KͅS!9MISSING Tst=ruü !9DM*;L`is#r!"K"K*5L) L~#fo"K!"9L>23*K*5L)L~#foҁW͐*LҁW*K*#/9UÁW*Kn*/}aU*Kn}aU*K#"K*K#"K9U*Kn}U*K#"K*K#"K!"KU*K"K*K#"K*K#"K! 6#6! w#w*Kn*/}kV*Kn}kV*Kn} U*Kn}!U*Kn}>U*Kn}2x/>2FL*L*L"fLW*d/"K!W!"6*6|ʄX*6|LX*6|RXWpX*6|gX*6"6mX*6"6W*3|{XÄXW"6(X*K|ʙX*3++|ʙXWçXIk !9DM͐"K*Kn}X*Kn}XYY*K#"KX*Kn}Y!Y͐!3͞X!3͡X!3!YͤX|DY!Y!3!YͤX|\Y!Y!3!YͤX|tY!Y!3!YͤX|ڌY!Y!3!YͤX|ڤY!Y!3!YͤX|ڼY!Y!Y!9Z!9DM*J/#"J/*d/#"d/͐Y*@/n} 4Z*@/+"@/ Z*@/#"@/6!"f/`Zny Ñ"sY zô{!9DM!HZ!"K`i6#6KZ*d/*J/һZNZ*D/!QZ`is#r͐|ڰZûZ*D/TZÀZ͐|ZWZ!ZZI[!"K*D/͐]Z*d/*J/I[NZ*D/͐#QZ! s#r͐͐.[*D/"B/*J/#"J/I[*D/͐]Z͐`is#rZ!9!9DM͐*9Lu[*9L+! s#r͐|҆[! w#w͐"K*;L͐)))"K*K`is#r`i^#Vr+s~#fo"K`i^#Vr+s~#fo"K`i^#Vr+s~#fo"K*K*K+"K͐~#fo`is#r͐~#fo"K*K"K!9q\\_÷_A`x`à`Áaöa1bR[õbbbgcdêdnydd]eSfÛfzggDhVhÑhýh iU!"lL*6|Ҋ\\\*6m|œ\\\*6l|®\ \\*6h|\#\\*6i|\&\\*6g|\)\\*6k|\,\\!"lL*lL+|]*jL|]*jL61*6q|&]/\Z_*6]|A]*K#2\5\Z_*6_|\]*K+2\5\Z_*6r|n]8\Z_*6s|€];\Z_*6u|’]>\Z_*6t|¤]A\Z_*6p|¶]D\Z_*6Y|]>2CLZ_*6\|]!G\Z_*6[|^!G\|]J\Z_*6Z|^!M\Z_*6P|)^P\Z_*6O|;^S\Z_*6N|R^!V\Z_*6o|d^Y\Z_*6f|{^!M\Z_*6e|^J\Z_*6b|Ÿ^\\Z_*6v|±^_\Z_*6~|^!b\Z_*6x|^!b\Z_*6}|^e\Z_*6z|_!h\Z_*6w|_!h\Z_*6y|1_k\Z_*6d|W_*DL|N_!"DLT_!"DLZ_n\k_÷_-R[õb*DL|w___*6b_!"K*K#"K*K#"K+*6s*K*Kҵ_*K#e_h__õbCi*K"K*Kn}_*K#"K_*K+"K*K*K `*K*K+ns*K+"K_*K6 */|<`! ͺ_*K#*Kͽ_! ͺ__?`_G`Ci*K"K*K#n}n`*K*K#ns*K#"KN`*K6 D`~`Ci*K"K*Kn}ʛ`*K#"K+6 Å`{`ì`R[õbx`!9DM*K`is#r*K! s#r*K! s#r*Kͣ`*K͐`*K|`*K+ͣ``*K͐a*K#ͣ`*K͐Laͦ`ͩ`*K*9L+@aLaIa*K#ͣ`a͐ͣ`*K͐ua*K#"K*K#"KUaͦ`!9Ía-b! ̈́a*K6 !͇a*K*KҴa͊aüaCi!9DM*K"K*Kn} a*K#"Ka*K`is#r*Kn}b*K#"K+*K#"K+nsa*Kn}b*K#"K+6 b͐"K͹a!9=bR[õbVh!9DM*K`is#r*K! s#r͐*Kb*K#4b*K͐ڃbÏb*K`is#rYb*K͐Ҥb7bìb!:b!9ûb*K*K͸bbR[õb*K#"K*K#"K*K*Kb*K#bb cR[õb*K*KOc*K|Mc*K+c*K*KJc*K#"K*K#"K+cc*K+"K*K+"K!cpcR[õb!9DM*K`is#r*K! s#r*K+jc*K͐ҳc*K͐һc*K|¾ccÌc*K͐c*K`is#r*K͐c*K#"K*K#"Kcmc!9dR[õb!9DM*K`is#r*K! s#r*K#d*K͐Qd*K͐`d*K*9L+cdfd*d*K͐~d*K`is#r*K͐Ҟd*K#"K*K#"K~d d!9ódR[õb!ͭdͰddVh!"K!ddz v nyVhii!9DM͐|e!d|ed*K|ed!"Kd͐|;e!dRe!d|Re!dd!"Koe- õb!9DM!!`e!!!ce!!`e!!!ce!.ffe!6fe!5ffe*B/*@/*L*L*fL`is#r͐| f`iw#w͐!3ie!3fele!9NAME: APPROXIMATE FREE RECORDS: _f IÛf!fVf>20>2x/!0!FLYf!\fFIND WHAT STRING?f vÑ"sY UEZDhR[?jii!9DM͞f*K|f͡f!"K`i6#6*d/*J/m*K*#/҄k>m*Kn} ʜk*Kn*/}­k*K#"K*K#"KÄk*Kn}k*K#"K*K#"K!"K\k*Kn*/}gl*Kn*/} l*Kn} l*Kn}# l*K#"K*K#"Kk*Kn}#Ml*K#"Kn}#,l*K+"K*Kn*/}Ml*Kn}Ml*K#"K,l*Kn}dl*K#"K*K#"K\k*K`is#r*K"K*Kn*/}ʬl*Kn}ʬl*Kn*/}ʬl*K#"K*K#"Kvl*K! s#r*K+"K*K+n} l*K+"K*K+"Kþl͐"K*K*'/m*'/*K"Km*K*K"K*K#"K|;m*K*K.k*K͐1k\k!9Vmü st=ru!9DM*L*Lځm!(r!!cJmr>23! 6<*L`is#r*L! s#r͐! s#r͐*Lr͐*Lr͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r͐ w#w͐! s#r͐! s#r͐n} On! ^#Vr+s6n͐n}cn͐`is#r! w#w͐n}ʽn͐n*/}ʽn͐n*/}ʽn! ^#Vr+s`i^#Vr+sns! ^#Vr+skn! ^#Vr+s6͐ ! s#r͐*Lq͐n}o͐n*/}o`i^#Vr+s! ^#Vr+sn͐n}-o`i^#Vr+sq͐! s#r͐ ͐s#r! ^#Vr+s! s#r͐ w#w! ^#Vr+s! s#r! ^#Vr+s͐s#r͐! s#r! 6#6! w#w`i^#Vr+s! ^#Vr+s͐n*/}p͐n}p͐n} p`i^#Vr+s! ~#fo͐s#ro͐n}>3p͐n}-3p͐n}!3p͐n}<]p`i^#Vr+sn! s! ~#fo͐s#ro͐n}#œp`i^#Vr+s͐n}#‘p͐+|‘p! ^#Vr+s! w#wo! ^#Vr+s3`i^#Vr+sns! ~#fo͐s#ro͐|p͐36p!3Mm͐͐s#r! ^#Vr+s! s#r! ^#Vr+s! ns! w#w͐3n}hq! ^#Vr+s! ^#Vr+s3ns5q! ^#Vr+s6!3Pm! s#r͐͐ʬq͐͐~#fos#rq͐͐s#r! ^#Vr+s͐q! ^#Vr+s6 úq! ^#Vr+s6! 6#6nìm͐*LrSm͐";L!9RECORD HAS NO FIELDS!9DM*L`is#r͐|s͐##! s#r͐~#fo`is#r͐~#fo|s͐~#fo! s#r͐~#fo! s#r͐ ! s#r͐! s#r͐n͐n}r͐n}r! ^#Vr+s! ^#Vr+sür͐n͐n}ssr͐##ssrNr!s! 9!9DM͐ ! s#r*L`is#r͐|qs͐|qs͐~#fo`is#r! ^#Vr+s?s͐|–s*L`is#r! w#w! w#wâs͐ ! s#r͐|dt͐"K*K####"K͐ "K*Kn*Kn}s*Kn}s*K#"K*K#"Ks*Kn} t*Kn} t*K#"Ks*Kn}t͐jt! ^#Vr+s͐~#fo`is#r͐|at͐ |at! w#w! w#w*L`is#râs!jt!9!9DM! w#w͐ n}ʦt! ^#Vr+s! ^#Vr+sÃt͐|t! ^#Vr+s! s#rt͐ ! s#r͐ n&|t͐ n&| u͐61! ^#Vr+s6u͐+`is#r͐ n&|6u͐ n&#su͐ 60! ^#Vr+s`i^#Vr+s͐|yu͐ n&|yu͐ n&|u! ^#Vr+s! s#r! ^#Vr+s͐u! ^#Vr+s! ^#Vr+snsÌu͐61uu!9uü !u!!cuPROBLEM IS TOO COMPLEXvYÉ !9DM*K"K*L`is#r͐##! s#r! s#r! s#r*@/! s#r*K*K@y*Kn}v*Kn*/}v*Kn*/}°v*@/#"@/6 *K#n*/}­v! 6#6ÿv*@/#"@/*Kns*K#"K*f/#"f/Yv*Kn}fw͐~#fo`is#r͐##! s#r*K#"K͐ |*w͐|*w*@/n}!w*@/+"@/w!"f/2w!lyv! s#r! s#r*3|cw*B/*@/|cwcyYv*Kn*/}ʇw*Kn}ʇw*K#"Kfw*Kn}ʗw*K#"K͐~#fo! s#r͐! s#r͐####~#fo"K͐~#fo"K*K*K#"K͐n! s͐##~#fo"K*Kn} x*K#"Kw*Kn}%x*KvYv! 6#6*K"K*Kn}Wx*Kn} Mx*K"K*K#"K4x*K#"K*K*K"K*K*K҆x*KvYv*K*Kx!"Kâx*K6*K*K"K! n}x-x!%y0y*Kv*Kv0y*Kv*Kv0y*K"K*Kv*Kv*K*Kv0y*Kv0y*K|=y*K6 Yv*fL?*@/͐ "fL!9 zy }U}!9DM͐ ++|ʵy*CL͐ µy*CL}ʬyqyïyty!z*=L"?L*L`is#r͐|ʩz͐##! s#r͐~#fo`is#r͐~#fo|ʦz͐~#fo! s#r͐~#fo! s#r͐##~#fo! s#r͐"K͐ ++|Sz*Kn}Pz*K#"K+6 :zãz*Kn}ʣz*?L*Lңz͐ |ʋz*?L#"?L+*K#"K+nsàz*K#"K+*?L#"?L+nsSzyy*?L*Lz>2CLwy!z͐ +|z>2CL!z!9zü }!9DM*B/*@/`is#r*L*L! s#r͐|I{͐͐bI{!{!!z͐͐)bn{*3|n{!{z*3||{!Â{!Â{!9ALMOST OUT OF SPACERUNNING OUT OF SPACE!9DM͐ "K*L`is#r͐|{͐|{͐~#fo`is#r! ^#Vr+s{͐| |}͐##! s#r!"K͐~#fo|}͐~#fo! s#r͐####~#fo"K͐~#fo"K*K*Kҁ|*Kn}ʁ|*K#"K*K#"KY|*Kn}|}*K*KҞ||͐##~#fo"K*K͐ҽ||*K*K}*Kn}|*K#"K+6 |*K#"K+*K#"K+ns*K#"Ký||!9}}!}}BUFFER IN USE1}"s!9DM͐ !.}`is#r͐|\}!ÿ}͐͐s}͐ÿ}͐ ͐#.}! s#r͐͐ҫ}͐͐Ҳ}͐ÿ}͐`is#r\}!9}}!}}BUFFER TOO SMALL}-õb!9DM!!}!!!}͐}}7~ ~!9DM!R~1~͐4~WHAT FILE NAME?k~x!"9*9#|~!"9!"9e~Þ~*9*9ڞ~e~*3|®~*9|ʰ~h~*9|~*944n}~e~h~ó~~k I- ü !9DM!0~!0!44~*54}:0*/} 0*/}20>:20!44!0~!0!~#|±!0!~#|±!!0~"6*6`is#r͐#|‚`iw#wÉ`i6#6͐͐œ͐+|®*6~͐`is#r!0!͐####~!9?*q !9DM*9#|*9*9|!"9o!"9*9`is#r͐!9*6! s#r͐|b!"9o͐?"9!9!9DM*9|*9*9*9#"9+9n`is`in}½!"9`in} ր*9#"9446`in&|`in} *9#"944`insÀ*9|*9#"9446!96Îïb~'*44} N!44*-*9|p*3|p!440-N*J/|ڃ*J/+"J/3ïCI d xõÈ Õê*./}ʻ͋!6!44͎!!44͑!!44͑!44͔"6*6#|!͚͗!!!ͣ͝͠*6ͦ*3|2!!6!3͎!!3͑!!3͑!3ͩ!3!6ͬ!6!44ͬ!.$$$.BAK*/"B/*B/6!"J/!"^/"f/"d/"X/*#/"Z/*#/#"\/*'/+"`/*'/"b/!"P/"T/"R/"N/"L/!"V/I !9DM!=!6`iw#w͐|X͐0n}X͐0n}.X͐6͐0ns`i^#Vr+s ͐! s#r! ^#Vr+s66!6!6͐0n}ʭ͐0n}.ʭ`i^#Vr+sÄ`i^#Vr+s0n}Ń4! w#w͐0n}͐|! ^#Vr+s6`i^#Vr+s0ns̓͐66!A!6!6!6!9 .I !9DM!!F`is#r!! F͐!F!9Ñȅ!9DM*9`is#r͐?+"9*B/! s#r!"9**/}$! ͋`i6#6͐x5n}͐|`i^#Vr+sx5n&͋߄! ͋! ͋! w#w`iw#w͐*J/Ұ*3|ʰ͐n}͐|k! ͋q`iw#w! ͋! ͋! ^#Vr+sâ͐n&͋`i6#6! ^#Vr+s2*3|ʿ͎!9΅!9DM*9*9˅*9#"9+9! ns!9DM*9*9_*9`is#r͐*9F`i^#Vr+s96#*9! s#rq*9! s#r͐!9*6`is#r͐͐ʠ!d"3!"9!9!9DM`iw#w͐|͐x56 `i^#Vr+sý! 6#6`iw#w͐|[͐n}[͐n} 0͐+|0͐x56 ! w#wD͐n} D! 6#6! ^#Vr+s`i^#Vr+s!9mÕ- 7*g\!*j !\&!7*!ԇ&*!&ԇ!&="&! BL<"e=L=7:O*7:)~:,"s!"u*|*uʀ*~#W"*s*u€#"u*+"D2/Sc6&1!j*V^,IE*XX)"O(4%%ϼ*!g=;G=_}ǵҹTױ[\ˑM| d\7]+X%?{HU#hĵ]+2:㰷u]:]L6ó?\]/Dӹև{^/D<Kb^=s[Rm?r[KMx`}^=s% ˛P2nqs^hP&8s {پċ#ȱr[K*+BR_Uαsپ)oVkXr!>hI ÒssWҹCL ۀ1v>m lmC=] =_}+Sk4:*sͲ[L0?;B:̽ ĵ\ 9&Ļl*ȋD˭#;ol\K LXCò\H 0sȱ;os&eIʞtk*CpҋX"=EC=> {*C[:󜯶KMѲ_80~8_l1u{{I:\sĹRoM|_U[\KC&pb7[;E#o}$g{,?ĹR8?{#K\Gk# ?)Y;!sԶ!ssK^= r[B|{yk <8R{+%=BkOŵCL`4aRo:7;L -rB[ K]oSTlb1ńW=-Oõưdku;~8RE{^<;,]kM|}+d],oVދR;#u,hpһ 4ۂ;Pہ kq+<Q< m|% [ǃW<(+RYƉ+ ˒^;y0[Ƌ+[=,KE+ -2](KPl;8{wl] ҽK{;N;H ҅ƹ +;E+ "l"҅I+RұP#ۇP{^[+ HC+^=[\KõC[;;; `ȋ;LK_UKblܟ]#9;kP;}+غ۱1|s[d=0;?{o\1Wѱ+:K]'vt!Rҹmߔ _~<;=Ѳlްdb*W0_{s-We+](kd- G{-.<;={9 1ҺooVы҅p;8t-; &óuRl8u+o8󌋫?D1ұf%#s҅{d=3{- ;ҰJq&㱷p׵AރIv{`< ǰFغ 󛠬ı\H,[^kM{u̇Rȅ{] ߱b\> {;E O8{,`=+KY?}*mo9m0s +;(s Ĺm{&vBlm M+/Fι pb);Y%q!>k#_K]߱#8ċ"oȱ#\;;%[[&k{ѽ=mƵȋR` {,;8;;P<ܸF~.)vl{Rlmұs o9d!kKD:+[Y!ߺ;{;2ұCa!Pu{]K\ȱm+g {г;;*{1Pg & еu X ,!ku lи!9s_{`.:?8óͳsGn~;%Dd=+tWБ+P?<7[{bP{_}*)_|a;;K!W?{%9t ;Ys4m R1w=o ;&W>lK5I  %?{г8=0;K bEzoͲ%<Kt~>[CoT0{;]'҅Ⲱİ;ǴwǹusbArE uİ+LۂQ@[\1A BHP۽%ư)í(F8 LHu  {@*% ;;k{[k;B<݈gA ˑX;8d볅)<޺v Wt[<;k];],fȺw2R+m],3PhBl#9͜K\ѱf#_};M4{[8P۱(KK* /U`>+ğ֊0۰&I`UU+^ >qsuBl1;/9Ʋ, +Mŋ{Gg & ;F屼 {kD*s:IJt;4\;/)8 ı .k#>l^\ܝv+8g ;+! _{_X & ;{9 &!+#k+\AP ;ہq+\1 $`[ t (d0%ab1,0 Wt_9 fċ[]2oVѻ&kT̋ +\g{,1}ƵoVȱ+kOWk\1ұ\HK[Wұ;M:oV_E4" Ľ\Ѳ&SK=R>oCIҽ !+8?{< ;oϲS*sOXұun+B{,1k:Aۋpo9 &κ=\˳İ8õD1/H%\K;2k k+[!v޹ l&%$WR)&􋛀{+ERl.t1 uI%?} hг9 {·=R qs{+*`WۺR屵! n]s{o9 |7{,;II<2l`%vĹb:b[K \1C_Uν؅+lٺ=İ; ?](0+}/[ LҼm8_UĻ[K+|DZ&ȿ̻:b\rĹC̅ĽCI< %H k|k{[ +&\ po%lkư[<2o! m˔N;={?2&BȰ [!_"l]F xw<|ۋ< bT!˥!#&>XFuk(Wߺr[N]T,E{TkN]߱+[W;{#汷#̱b8{m+I N?b OXۂ8{5A;|9R)[+r[OÛ8a|G{HsEoˠ&:v{` M{2R;1s{!l] kfFĹ+m;oVƹA; xkT ,-+ K[SāL˻< ]oS[;HtI& .[ӬrȱP#sKp>][B~K ҹńCȱ²nĻԌT̻+OOW[<]+P2 ?|w=]+oVݸbwۻwۋ[8sK8ā ͵uֲm+O9wn88&[,+l2۱~;++Kvqغ;k[;+XD|?9\˸dȋR M+*m^;[_)Y[2[M{e+~]TWP ;I+&ĺ+*-R,;+BͶѺFȺ<;ТX[YWwҺƉvہC{Ⱂo0Kfr[N\5;Oĵ? +ױ²n RlK% -9ı;lKAü&nl˻ƉAȱA۱{<ıwہ% ?)ҽ̱=+ع++KM{w8̱vĽW{]ҽ+:ٸE Kއm ,&>K=kTk\[);kȻA<ҫ~8ﺼssȿǁ̻+bȹKD_8+r<)ΰ:΋MT̻!K@GL"G^mI Co[<1d:P#0?=(;8ȹKE;=kB~,!ι;+ĀEFK<0oV%x[<\|Hk +[ D}_~=\Ĺ MԶoVыT%ұ~8K;f{,,T+N<9&\ȱT N=αs۹lKұdK[׵C҅+r,||; Tf s{[;%&K[<˻m{2㇫&%[P&ưzKPoБ[>kDR+ƌ$KK¬GR =+X & 8g &\;80[t_8 ; Q #sŹb=v%R& _U΋K >[w8 [HAҋP;kr+=R\\ۆ*!0lL?9҄>\7]"oۋwP\%!l7ִ[xĹFI\KwQ̃}R;o9[~8_[],Ĺ[|K;K^8гہ#<1ݷ\Y;ṮsȰB|m[L]d\H ߃|mL\LkrPƛΌ{ă_Uv\K\Kދ²oUtκPKo*=2[M!_Uċ˸ҴWٶ[)Y񜟥[t+N]9Ļ׃]H{L[Fɺ{#\FIWw\Lqs󟦲Y=\\MۏUҁ|_UιKk#̱;+ۀ㻱Z+;?]jXG>KfUۺs4mK 8R*A7;)[̑z,,\MH ;LD[)ұ\H[KH|[[<([L\Krl[h²or尼<αY~X!ȇ`<lYhҹǷܹ ؿ;hȋ;k"[N[ hK[|8̻{m-=_~=0=;w :{mt+Ns{+=,ű~8%ҰdO8΋Ṯһ{+ ȋksҺ\I_Uıb_g?)˸W|-,=׵)Y;K8lxkI.8;8;Ṯ W߽w;!һ˸[ĺoVȻƉ,ۥĻ ċ<+ ܋{lLR{r)Y[?cI㟈`е#{R;hƁL_Uλ;Ǵ̰8[[qؽl`;>_||5Ñ [<뛔RKĻغݑmlWu,KĿK[;& /:ۺ;k=;foOWȺ;@ı;om2}^=K=k+l{+9<WҿD=+Ȼ n?d{k\Ļƾ+*ȋ7<{*2k:)?|~pu˳P?)[]oS܄=bP= ;,6 o/J)oFvͲb)?|;&%˫=]+sȲ;!suȽ\p=*vIJk-Tm+ۂ;ı#˒[;m+rҹ M޽{{;E!! <{.qsu $WȽ:o8˲b[AuƢ7C ˵.Xr[KTb=&:;kRื6{` <;⚲b[XDkgPo/J)˳2[;b_{ĺ+& ~8krY 1 KE&Qk״޺`=<ȃ hҽk8&ⲫ(&hf &|Y_Uĉ&oM{+= P/s%Ȳ&V[;BK<Ȼ%ױl\KA/FQȰưC +*s_~<;=Ѳd#k +^+sұwm*B=r¿M{,[:lLȶP=](ı\R= YsKw#jKG0 ;Э%溳bC+^n^@ֵEbR O{ҺRFG>]/Up+csЛpH:ɺFd[=^m,5]=D`oVEBl;Mg5α4m]+sұ\Բ8óPOY;k{ U&屼w۱BҺls۱bۺAһU*P /L+ʹޱ&_UαOXҺR+ób>]sóq\\KFһ\K)ı{R;;M|K ѺCW\Н_~=1Bb#w,m,5˼~:κ,,$_)[0^ BC_͜9\HҼk|\Er[O|͵!kwĺ҄ͼsK;\K²oVBK;T[oZ٢q;+}( &ұqE+;%0f W߱w+ ƛr[NkR;EkO|;!־&WsҌ{T̻C;WW{E+D=]+-Ltk;[8M|L/ĺ,'=kkoU7=(k >[L%{w{N[`T;رl\K;[R &̱4ҽ#O9+b׽Iı{Ļ;8<_eκ{ {гR uK҉FoVȁrE`;h&P'˳װgRmʹ# N=!9{ul;{6lb8 ]ĹM|fE,0Wk]8{)\;XRmȱĽB{e++[ ;o{0#lRg! {e+{<ܝ3òy{Ro{t_;0vXg &|kTYܳ`1K[+_}wo8lmȋ[[;K<8Zkg0f%C;2[Nk _UĹ{K;; +Bȱ MoS%A8gİ`+|2۱2%ִHKR{e+]Я +[W8$pnoKl], ]'Һb]?:8?{u͵)?|EC˛pR<4f,(AĀK[#=2o}_~=;b_UċK [1_UĽ[#{[_Uu{,KFn[I;l\KK #%忸_Uλ+؅A@ /Ióߺ4;α_UĻo m- +/J>3͵!w庳[)غ{wڋw[Nmòb_Xǿ̻;B<\͜m+++:󌟥I;kw<\KĽ+n<ܟ]»LkRC<1|[k;2m\HF#\|\OùCo8·#*P{07g }쳺ѱ+_UĽ׃|ml?9 &0#ȱ_Uċ%忸_Uλ-,wּX\Lp7\X ݷ{Xk3Qk̋Kĺ%ށIu;`<>oV;lK%+K%ĺKVBČs ̻ⰲ'q꽷{)󋸬K]Hĺ=iU|r{R8!uk&#^qskԚC@[=],5l\H˻ mw]M{&;k &_UI?:΅,LhK̋ +h2@#{T=hǷDm rr҄Ƚ\:=uK%8̻+k M^t:&ͽT̻, -ӴkݱIKIbǻ;K+] +R*sߋumۉ ;kټs;M,E&>\7]+k/8 s9 ϊ;^]+=,m0# Lߥ[[[ע8?{;&Һ & ߺв˳s羹{cޱ>[F˫=,& {9/HW2K;w=+GoF%.k)ɺ);&FIı&(xˮs+\+% \ X+y21 T@2}m;m-Ļ `?m?*۱=:C?9|o]1&IÐsK `?l5m[o} +^m!9s_{l><<#!9s̰?ƵC[?*溳G<1Q{],LoVs^l1ٲ\޺;NKt;O*?ȝY;n?{^lН^=׵ 9&s9uSGo}E ?*-+M4p!;!C!:?};Bm_}ǵʹѺþ+`?n}_~=!:?}_| s˲&/M,=]ǵ\2?){RҺ? _=}KE)?|u ͛+<+M_~=9>oz]sҺ#[Nr:ͲYI:>k+?8͸ :\C:sD?/HWS}_~=;O*s c[_s&)Y[l:Ѻ +_{S/GoVѺ\* 1#:?uҺҽm½+&!:?}D14[>kL4R?*sߋ]:Iʞ=s&l^[ B19C9&̵[k%/I d]-ru͚!9s_{F+e/I  $:u+HW mҺ;N!E0;1)d>_},K&{]/?Vn?o_f>oҽgE!; ?~R&!; ?~[<Զ!9s`_|Ȝ2oе#{R<$:i{( E{-+J%+)p=],+bo8?{:s o{:_:U/GoVь˸4W s9@l:oVѱpK%~q 휭+&,Rl^],9+G_|ƒ;k 4{.;:{/SIP)sJR)?|ٲ9C:&ߺ[o ;u{>}^=дE+?sޮcO8{\^]+_gC>P&Gb|uoV B*sܳ͵2:&[]һ {,5*_ o{W߽o8˲b[<3]+=_tP/;]ǵҺ#{:?}K[!:?}_|u#Gn[.ǵ[P7+1Һ,"o k ='4:okd:;"o:HW{/+[Q>Я}+%ұR#jḴons^m "oô *?}u:0m;@6ٸy |#l5? ˳ÑپC9D !9s_{==:}_~=nv+XþE&;*o ;nk+R<`{- ;>X;E幾&I):Jo ϪO[˲&[m^t:9#s& }^>l1W Һ#9oVȱ ]s:Wߺn?G|s<&^=s賰|]HwۿK[;غ;k+k1ҿKغ;nK;w;N[ۋR8?^l˻!9suk bQ?WńS # Tױg+{-gk;_WŸݻE,;t+Nlp,kT&-5^=s賱w۱,T+OX kqPX$^=[ޱlHFȋKҶK&ҺfE.;lѱ{Һ<=%{=]oS4;M`#{T̻T屳WR1僱ҺP۱BlLG\?:0gЭ룶Bkl\{*{.汳f/g] =+-5oF_UAҋRos4&ؽd:K&%&ȱJ]s94,!s󫩸sC=kuۺC{R*sߋuLm>{8!s ;m>oҹ޺ұAȹޱ &s#!s=2=A ۱ {g;;{`n {г2[`?|ā,K+\mE `sƹoVK<L1 nly LK8׽l],<+l{-[_UαD{,5Ò>\[2o XUr_UĊAWұE{@o8#[K8|K_Uċ\$qiU]<}Oū%\]r:_{W͸9W+N[rl]7[NXA*ѱPksҌ{]+L\K'q̱\;;\2[?mw: >8Ȱb4{+rҋ¬+[b[;ȇȱmaKur\K?9 󨲸Čw[].20E4 b!4=Tױ ;k+ M, K@.kW>[ cA&l5 & [l & Ĺy^>+I g & l;) <2[2Һ\1һJyg,/? Bż̽l]l ܋rı{#偳l0 H׻ư{@m8OK$UG;<`,1 [8܃+[˸CoVȺ\Lhoȱs:M|ȴF>[O ó߽l±ֶE{,΀F|lI+ΰ[]oSԌ\{%M|[N+ŹF\KK؋+[ +Tֶ̻V1dҰCuX KǴl];˻ 8T,T+^l&|W kqƹsԹl]*sIȽ!9sȴB<`>;;;w{HCȆL˻E仱x|6|~\FIóĺ+[r ¦ޱ[/G[\Kνlܟ]*E߹C%`)?|;ć2+xPL-],H\<m#8İCȱsұKEso - ?{R0/|ıȱ1oVȽ!9sg>[9>o/GoVѺ{L]d?,|͸yXIT ?}1+P2,s5v\^=s^\GĹT)[[+K;Gd@& 2ߌ<< @^=su干мl3lsKL˸̻<仅= +֢8?{KRlܟ]&_}(Bm0]Ƚ^=sm0suȱ;Ml\m 羱\:&ŵRlmK#1鱠C=+{_Uν2lܟ]>ob0su۱Jrm]s(v18?{Tۺ+Gȅ++M_}+=l]+_},hH:p+)4R?)?|+B}m+{+R0/9 @ /*Z >;E!s{d2,s M| {<[,r[<\K+G!>l˻Eκ= R)?|*C@{+kq²oұҽ4!s$:I)9òۻݾEW},8k +^h Ĺναsپ빾M|ϒ+cA 2* E˳;Lmբ8?{u#uȿ1۱P+= gұ=`P/;W;Kؽ 29d*гK&!9se+Y :ೱ`~8oF;*ëg͑Ro*sߋuϔR`/9κ=òj\ߥRlmK%#n}^=E㹶&Ƚ0;T׽R8?{ıC0{P2)?|ulܝIJK\ӭ_~=kK8o % &[=/]+Blܝ:k̰{GR1 >8 @X;d2 ;*d %ƵCnl%C+`<: =Ȁ>\!udm0su+Ѻk\bP/9;ۋ&!9s_{Qb|ƵȽlܟ]]su^ =+ĹRJ!s^n=!9s_{[B|IÒ1>o^_ }R򟩵X|N!/F\ߺRk\Ӷы8F sαsپRm 9΋RlA 7g }쳹{b^=su Sx `2)? 2)m1ұC#m_ ¼n}_~=~q =!seKb*sC/K*Zm0s;dр#^qsE!=8?{oVȱRlܟ]GȌb^=s拂ҺXR9s +͜ѱpm_}ǵV􋣴C>Һ0ȉE./Gm;<ѲsWWҺ `?ns۹A[;*k[lk\Jl0s7];[lu!:?}͵+1s߈\Cı+GȹW=^=2m>l^[%ȅ*]suҺ@Co+xW= k"8?{!sF{_}ǵC+#?g,>\7]رl렛[\K[;]& ?) K־ѽκ=%oVȺNjUE{(bȰP\7]& |?g%ұȰ l}{ xdPleI hl[;TA ̱>[¿EC9/ϋ,sȱ a {koT̀m 0<;=%ó+}+9>ob B);κ=[8K[Rҽ#9 d:od;+κ= [Cs&廀0~8[$;GoF>[]Ṫ[p 湸lhȰ8%Ĺ=˔ދk{;ر}=H=Ṫ]hMxR-+ްqE7;nXg KR˫=,8 m[ṮƉ{R0.:Ұ[J0su: |гȱ[m{ ldΰl)߽#{G,$?|彶TBm Oȵ۱f|~%:)\7*_{CoW/Jо&9bR;o)˳۽K[:z+sQl{+&ҋ;M]ǵҺ_ƵȱF)Y[D?)]tC[M]+SW ;oǵҽ%Xиn<2P# )Yb ^ם^={% M+u[Ǽb-%u*ٵ{O)ٸy9񟉲[Qʵ4smv!a#=K*>g[Nr:t/:1nC#-^n+o)瞯8{. [Rn ;K@+Af#>>[<е!; ?~[;%Ĝ>h =\+&+)ޱ%)_{@гto*^kr1ʵk+[YR: =b#o*`,\4KX+[ж^8R: ;g[m^=*L+&Ͳ1o) ߺҋ{ҼlEsೱqBQCʵ溴ĺF]4un+m+|tn]rXfs_{C/J)J)\Kd;'ElKe!; ?~_}]{KCIۏp=],ی㻹`ѽz!sKm^=2o8&l<Ե{9&߱{#4b;KK@CóW[L^[b0/:Pd1+sȹ%+n80<ِs!XlӒmHWߺY&>kP*tóB8%Q͒loV`|IsW|-Q2^=!+1G{-m& >A+O:iHKb[O)[ٲo{̯m+>o"K >>m,[X2*sۣs_}/Q/Hپ [V D:Pb^?ٲb*sۂ8?{z)?|ֲs^=#9+M^=9>o,,-+lӭ^=1͑L+&Ե;M]- oFnr9?|WEҺ:s;k +RòDм)?|_{áۺ۱[r:_}(0s_~?g˳|kT|K; %A ۱2n FvsپuҹuĹklmΰӳ{ < ;k8+k˻2[Mh\2nq ]~?òT1%KkṪ׻/R+=+ ,+T̻%/ kqۺ~<[nDTod̹{) x,K ˛]ƁW(w lkEԆ%ȿLȻT<]Gċp=(~ Rȹ܄ *s=m^=#>l^_OV 7=Ȱ8+s۹ȃW|huư{BȽl]赿̻BFk+[ͻ{ͻR<1һKrұ%=K#<1K[;ײo>, +m]oS TW;miU]oSƹl],sۺ[+&FIĹ|趷{=乛| ;۰+oUK8Fı\H;!۱K"f۽Rt%f{%۽R;kT+\{ [;{KD;%=r[K;K8[;M|gӹń#IĹװ=Nl"k\1 Һ>K ȼA{(`=EƉq̸`{#C%l;<,9Λr%uе庳r l ńlOĵ\K`IKIE?{r[O8óK^[ ; b[ +T0o˛[ 4,{,KK<$lt R=˔ ԋ;m -<;%̱=+\0&;Ȼl>ou۽̰%FP*_U΄ 4;"o9P2?\C o`{,;C=gTC K+ವQdW1Ekd:sپlb%? mk!|XBԃ{lb1ƉFm#?8x1P 0h\1 T[G\7]<1۰€;,7]K|ȶ `=!ssҹ{\1Ҏ\+{ k;p&k \ozs |;b^=s湸M|˟CǷE!s^kKT̹+S*^=s20s羽!9s_{b)?|u k\mk\}^=/GR;oɵl\Tѱf 9ɵ\K=6WV-7>ȵ۱K\2{@ѱkD>9۱;{%URٲ_8p|[<6{]+7g <3 װCRlHRkM+l:hг+8R1^=sع4:[%=_U'fIJṮ<`], p;8EuƷ)}>89KRغ &^6*K[N7=n+_UΊŵuċTlmr[\ +[ƵȽ&!:?}Kr`{sr{]+_}ǵT+b.]`kզt߹b޽yٲ_8{L]Pĸ)9ݲ1EY\+nK^r~8]k+[VR:󨳦 &{ Mb;oV%k\^KPL`;kfIzP=gYdCѱt[P|\ŵƹ̽Rmܝp,OdA =_~=;^=su+N8voVȽZBlLѹR: :+lK\5Ck?L^b;O{|R8R]+\쯦ml, r:dC-,1 kOWȱ+_U[\L%d]- kqC^[mƵȱC{]+ T|Ƶ<{oVы u{.+k| #Rν% oVkXvlmƵs^=n;uߺ{+N cȽbbѹ2\+|ΰoVk\Ӷm_~=FJ1ޱ\\@͸P9K ?)Yɵu&nȵs߽0)l ν_L1Al8{[̭ƵȺv{`o ;%+o8R=],ӭ^=1Һk\!},<݋~8[CK%d{;)]+;rE!s^k!s^leI gW{]++ƻ{/W;]1& {ҽߺ>{oC?;#b[@#bRkPӺz&㱸+n?ŵp8ɸĽo&C:z&)?|R +8?{uƹkT̽] Js[],KP h{Wk, P=Ỉ=,;Lk sG\Lk !ӹ{pk *K@0sκ=N+9 bKRW1٢b^=su彸+ٴMƵκ v[XL|muWȋ+GȱG>k+d&ҲE +Eo9`hJo;s+k#+O8mmT} ] +<\K:޺&`)^d1Dȱ\K+^=su0+#߱{d=%AE(M|S&#vքT&H &ă bl0<g & 8v{`滋6Cg &;A8װv{`n {г*&+uΰC Ұg =_~=;| t 0{,;;˫L{#ۺ +[#)C *!>l^\޹M|˖!>kIt:d`o o9񛛇R8?{u=, ;r;L˰;nK²o LK"m?bD>\)W[;Ǵ+<<ۆ*|{t\kκ=],KD:mGnKмl3E!9sϒz/EM|沺s% [음/2*E!9s_Uκ=\KkdR)?|/Fċ_/GoVѽm뻙E!9s!>l^\TKMȱlC9K[>oȱ[һ r;m^=( =+`>voFT],b ]_}//G[<+Lm>^{M;0,s u8?{5K\٤:m0su!&!ss归lܝ+^=su彲m0s7]59ƶIb] ? ?lsȹZ W߱s+rblܝ)^pms( _}s l^]+%!9sQb|+RlܝC<1k|ȑC8&_ ~ā̻{v{k;P^{8?{P!9sJ2:GoVu#{:?}ȱ:&_~=s%岱loVı;Ml% :9ƵCo*Zȹ0sE/FΆ >rm_}/2|uA 8 +8?{u״oVѺ+WU/G[=m>^{87;1oQoVȻ]F^^ <Ѳb*s%㱲;M_},eIʞ>pms Я}r{*sزi>[Ӷѽ[b8?{ K[R4{. ?*oV `?l͐l>^{KͲ!s_͵!:?}uˣ&>kk *:[8?{loVıQ>\R>l^],;%P&%ʹsbb %&4{+[@2[<ۇb*sKC[;ETP&;+b:24 b[Ե ;Т8?{9 {Y?)彲ѺsE#B0s彿̆1lK#.;&m+|}(W²lkf)b~;ȹ8[h]Rwx)4 "kxP8?{Ʋgع܄@{,HoȽl)?g˳;k Po8<`],,Aun^<ó+]"na@{]Lk hq:ҽk%ރ\ąW;Nod4rұb;NX{+&FI8EԀ\K?l5Ȇ*óC `=;k+{Kw{N[}d@ /Ióߺ=aEŀ`&]?:;ر|g8! &],Z]+&΋B;g۹%ދk`hҺ->}>8;;+hu, oK¬T̻L@;m+h<\H1ĉ;])?|u'˳=kȿ̱||9 ks\@{,K8 Rm0<<9\K|ȴL˸4lo[[1+H +X;g{,1Aȱ +cA ɵ;8IJm;!κ#l0?/I8ﹲmC<1 Ou&K&w=]+&_Uι܀;k Xg-aKƲ& [u+E K }k ; >#} [Tք[%ąf/HȺ<7CpĐIJƋ&- Ĺn2`;,Al] Fd;8%L+kL\L8;@ZT[8, -C~[|Od}; h\OõƹRɺKt+Nl>v;mFҋ*ۿ_Uλ[|ț{¬\ڲ󌟥] kq溳ār%ұ q۱s仿=_},5˳κ{+&CrX1oVȋ\ǿdC;T̻BċLfJ_Uκ̻ĉXǎkE \],L]oS܋kqd;8b۱8:oVѱz庳:_Uλ/F{,H_Uΰr\HKȶ_UλͶ! kqlKr[NlO&{)_eκ,ۦlKԚCȱ L2<([f-+[#k ;_UČ{];\;<˻ +"8?{:³ ?Ĺױ׃\K;T:^д!9s=yj[=|[̱ -X̰|s֢oSԆBָ+@[tFrk˸ưoƲ+KL2k8u=/cƋ<mk˸İkKWl˻+k|Hg\滱;r`||m?µ;Fλ4(冿E%̱ 鱸W|++kfۺr[N\ Ko9&mpfۺv̻d_zR;q߱!ۺP1Tۻ[K7vB[\ [;{+l]T;{+ٴK{;L0_g >}>8l>^{쌡߿E2ʹ+ƺ;k&.}.qs^k !s,4=-qB^1偽ױΧPKA\ ;=|Ѳ0T ˳2AFo[8Čr[M_}+ maK +kq%ҿ仃Rl\[[̑#sѷ+=,tFk<] kqW҃|;R<;0޺?C <+&hfĺ;l踸E=+=aU`+T1&_ ~{̻Rm,5Bobk&%84lI;g۱ ߊb<`{(kṮsҺۻ2}^= ;lѲXu][||&{,maN.)G{|AȆ kq۹v㋋˼Y̱P GCP&7 ø{N\lw\JRYvDrַEoV|P󈴳M|1[AóӱlKްӄ}KmĻd}-L%~;˻ !ǷDn_M?T ,='ҋK˸ Os;B[^=T&{`o ;,6 }?/J)^=s^[<.ұ(l0?ױl-,о{%%&;<ׁDn#m0;ɺL'll;R?C\[_U[I/8ȋ*;LmIu_U 3ĽlmHL_Uı;++Ȱ,8΄lK{X_lm80sұN"v0;#=-N8u˳ﱴ_Uͷ{)#;lK#İE2P&EsұPf.\i]w\İ,|#w庴`?8\LkO\Kdq9Bȹx\0Ȱj؋DX{{[٧ ]O/E)+`>vsĺ&qs ;BیT̽lK=]+,}+ Hz܃0%l]R (k˻?8[^X[B|;)g~[!ұ|T`>;=+T+Aϥ`6< EҊs܌+¬t%s+8 !ұ;kykk/+~kR\oVȻ2*s[=C|+=(}{d=+TM|ȳ%Ұ%W҆AŵݱEBl8̱zָKٷ֑\;K¶fۺm|%)庲ۿ²m+k#ұ +Rk;kw\Z_Uν+L0C۱{!ұRۻr׵θ[#uP8ﱳ#k\GL m/kOd{\ r%fIp<: CIR;k-_߻k;oWuȋK¬8ó4 +sWұw[O{ B=]K[kȱΉ_u[KW)CL,(̱ l(<\C~|[<1κ+=]oS\lQK +\(8kҶ޿L˸:ޱ\H\ Cı[pf[Hz L˼miHwS <'\(g(||YK*۹%{,XF;!Ļԋ> Hf+Kҫ~;;M%廴T Yd%̻b;M]ߺz;mR@Tۋw?88"QIAҺfs5s XaóL˻ó˸[MT̻رҫ8B\5B|<=]+$aͷs ﶺb;LK K{=,5̻Cl+ #<W>kE{G <;d4{,9N"o  |]oSư낶s&ұKE&sݵA|]K 8+\&k=IóͼN;{[[Dɺw?\LٲHOd̻k&\Ҽl5_U \3İ{Kһۄ+˸+|T̻ȱu۱ b=bȻKgہC#;; XL+&һd4ĻŸLmI*[K|Kw;NX 7=,&s&ރwۿA̽ ;v{k;٧eC{+мkO<;=\kK¬K&I˳ [++k~kR;+?|XR Lٷ{p{R<8[;&%& ~3-+][; l2Ҷ޿Fěofг;kżlHw(Bҽ{)艷q #_UąbKK!eBC!庴\+wkO_D gYĺ% -[<7\sFı\K x%BK`?VL˽itCϲȊ+e dE[=Vl] 2¿̻ŶEưb˸kT̻<۠\ P#̻?.}_~=;OpĹlαʶWִ{RlK( L8˳?uҽ`!s1P;k[O{z҇\렑dGċ¬|lk+{¬)Ŵ\D~\t kqضKTL;asT#[F_UΆL˸RȽ #<λ;M]ҋ{|Od̻%ȱ_Uΰ}l21۰P`/I8ȰR;d.\10suۺ`[[?{Kr`{÷gPK3+P|FJ ;'庶C*sݷk9 [TX{-#ٸE1! E+8w;Eۥ 8 &D[PkC9طI:oóW @[ ȁEJ˭o Kl򵼱 ȻϼN{K\nڰK[m+;KBư{7g } m;k;)k 1R۱g &˳ư;[K:R> L=Hv!l{,;ѻf °³϶g|N#Gκ=kP0{,;+[-ܝ "2d +[ k& `>v*E&PkpR?94{`n?ƹ!9s_{߱s {پu!9sϊu {(+k[^{7] R&!CP&%B%+Ʊ>quo9Y>X e#^qsC{l?/9DRsÑ ;!߱Rl>&:k#m2}^=g\+`>vȱk\,ܟ]ۂkFұQn?;lْm0s{;{:B~rm_~=ǵ+`?lK##8_UP;komKȺARP! 9ͤoJsϹu!&  m]ǵ{-+͵#CBks&*s_|4:;%+`?lK{+ gyҲȀA;l*+`?k]+) `?oK_CТ8?{״U/GѺs羱ιv ӴE+ns|m#!8]F7]%C;M]ǵұE :[*nƽJ!s^mc+9s˩%ʟ~=sn_  o{[!^k_}+s^T1۱{¼/PA;dC-C;oX+D:hq d4+@kk%&9s˹ r[M+;#[jbkӴI:Q/G+`>v٠+s೽ZE!:?}u!sC[<󏔸Q#'{|!u۹ D:o۽4R)?|uĸ κ=]+_UΆKT:/GѽѺs羇0EC:[)l݌T9Ro{-# +G͸%+ACdKt9 Й `?kӤ m[ =YOC&E+y:? bl#':+`?m4:{Q ;C:< ոu!:>_|BkJ `òT)W `?n <;&{/ŵ P2*s!>ouIJj!s͸+8ﱵC=2k+[+ĺs尴K:иE+ÐsGW! bCl2npK â?0 /Kг񜱳1b|m0sٲ^8クCC{P+`?k[*ƽ[P2o ? ;]2Ҹv !>ouƵ׽ECC{,ّ s21}JsTAsp!Cy!+͗k+ƺ:k rk+[ല& Я}?,l9 `?kP2+sC+Ʊuȹ+ƽK\5κ:󜭔>^{ֶC9ѱP& }2,8{,<P!s ƹ+٤+Jв&C>)# `*h+O&,[+ƽ+Ƌ೎齫)+ƽ+)kRkۄ9 :+`lIk +Pk "f `?kW:v[<Ѳ!sJm0s۲Ȼ`ೱ\:o]=&7m;/GoVȀFұFWݶW߽aR)?|0&}~p;%k+\Rou0s%J]sҺ `?k=+$:l2އkLm&_oVRF[s _=OC>;m_K]߹P!_U ;l7=+d0{,-0<qD $1ě8&+rmm]+#l1u_Uλ[W0{+\T1κ+:uҀ>l^]+h# Polo{,8&^=s9u>\k+@{/:k_U\@{+;8qlhFm(b KĄL Ry%hEy8D{:IJ{+P2^=s^\hC8۽E+zb8?{CE+u#[@2b0¸!KI+A\mfóYGuW+L}, #+PWkG O:Ҿu{,%!9s_{9! `?nq <:RQ>\Ĺu O]@{+kqҺ0-| ::E["{鱑Cȇ%l:+`>vC=0- 庲{*:J]su@R}m0fr_}ǵ:"4{/ұBȽ b8=^km_}ǵҺ: Ѳ8?& ?/^k? &uk\1& ?Kk+[@2 ;1k,$Rl0C? %^=suۄRlۇQ+ƽR:_UͶC9 =͵{#oT0|*f۽ر;`d[&qs[+[d&_/O.| d: `?k[R:͟ )Y ?>{80s&_ȱ[?{MK&%:?}KN8˸) _{˙?|u ٷ#+O{vd_0/1Cln{%@?|I*^C;^n^;bb ],7_ۺ?|u\*B)B\7)] !u X+O82\RU >4[?;1~m2oo*s̱񜾾8_;<2m?s&Л_/O/?ݔ80_0L)Y\t+)!&󋐵!M>lд!9s{E+C/F_Uα #o)?|R+ƺRo9 d: !EľC{+ M? *k-_~=״8H[?I Y?|)彲oVѺs羋 0s;B^=s[| _Uα`!9sΝ,"k1sپJm_~=0su ?ȻSI͝0sR;˴ȱ b*s_|;nq_:k]$1uȱR?`u!9sv+`?nqolܝkЬF1%?lK]-cE+`?k r[O{@ؽ;</F_UιyEk+ rϸJ*R `>v ²o# DC:Ɖs{#+KT &sr[{M5X۱R8?{s& +sbmRkDKRl3^* ƽ²kk&%[K:@K@+{kۂRl*BlIm*+ƽ9 ƽ+;T:琼lעk!>l^[+`>v1^=s+>\/qb#oVȹ܄K{\0!>_ |uֵE ˛\P[CܚFE&۽{0$l #;T̰{P#IJ`#Һ; ̱K[ѻR0sE#\Ⱄl/! [; ?żLqưR;Bl+IwBҿAݷ+[_X̽0+skR%Ź@K lh%ȰۿL˻{; XuN;lf_U΀](%<ԜKXE԰XsP=sָL # ߱K; `=+ {<B]Ll ;،rl_}+ =;|?qBgÛ8;^@;k ,$Ys#ҰfL˻;# 4±{[@9;KP+M8öȻ!K; xF_Uκ[+ Э +z/I~<;=KCyI  L@y ;bW}i+`< ċ!Rm+ċRı r;@Ұ,H{˻ 7|L+K;KL˻,; lk<FȺ|h* !ۃFȹyCTm+}+k[+^l 8r[M[wmKqoVы#~8ƹsWr H;𼼲8oVч{ *ۿLһK82oVʸWȱKt.|r[oS܋|hCȱ K{R0/ |2K{%拉*۹Eı B_UĹұvlKfČR EzҺ2k+|ȶȉ؁ܾ{;G>\\맲Hfāv㻱8LKKoBkl *msM-&,K vR8`9|; B#,{ q||m"lK2װ?q{ _!*,puuϳ!+F_UĀ&k+Xu!u_UƋ%;+]P1>\ ֹE!>oĻNju&yԌ oK<ֲ0o[y!>[& y#-ִOdń;cԹkTƋ;+m- ;oX`8%̹0+8sư H8[LK<  X+)^=BC<1̱һ=XFbҺ1+G[-5^=ssWEұTһ2 KM{ȴ+,T&mwkOX̻bz[MR\?W+8`r[K˛k" N9X](`=IE=+r;+X%ҰlH B[;TA̻ƹTǰ[%C \ó؋KT̻KĜ1 |H%ۅȱͺh;d& + +c,j {-oS{Tƹ+O8|]HT仰|Α[:&ұ؋{TE̻&P#_~P=a Lw\+ƺ;+[uE&k|Ҽl;i}Qh:oVݴ\EI{Rl;;B;Ȱ+޽`EuCkH oVk }kB²oֶ VdkRm;CƉֳL; =oSAH#CȱUư%Ĺԋ<*_U΋K?\9 ˸¿̱d+l[;k,]+mT̻̻介TW̻<\KKwkO[ı̱paE={˳CȺ\L˰;o{WóE=+%oVѰM| |ƌr[N; !K{V; 1m2}^=Ⱥ=C%ȱ[D <[l8u=( `<ֱs%2b8?u% R?Np9k+]@7w\ƹ%dq .[ k ]KXs+Np;8: [T׽^=s溳< {ML` &WR <6{`=/aгh s҅+HF_Uκ GıRl]29->l^[%?{m?8ó&{+ȅ%>^<;; l9+N=-9{(CȀT̻u ŴڰL+mx;h2:l (Kwrk"[N[I ;kݒ}ѳo8u̱|,-+¶+[Ѳ^8=_},5*t+N9\CI͗@{0 kXF w{Nk;IĻ ԰bH+KĻBޱ`[ ۽s+oF_UăL˻?8k介<+m{=cD<+m[[m¬X#h b1^=suƵ[+n\ֺCJ[Rh[`oó+ƹń`ws?\K KwQòYk<;R; O;k 8%b,H7rL˸¿L˸L˸|ܟ]{[ [رκ ]q{[, =LmɁk HlC`;l̹{)〗>#4e+&۰FW}, b1(qȀn#۱EoR?9R# P=,+[ ˛^q}28}, CW+O8v۹ rRR҇#C÷ ^l{OȻ[1k¶~;Ṯ#[˸;%+_8b;O;Rۻ̛T+^k >2:{+;I;8uPkT̻;OUvK+^[ P x ư b[;ĺһ\KF_UI{\k0su۱nƵ^=s2o|K&ץ^=s+\dȋ&bڰLHT̻*tQӱ`}#̋`ssҀf+} y #w`.Ͷ޺{RۋK˻׹R8?{`k'||l{@R.^ 8Ƚ# :d +&FIP&{,;;; ֶ#WM| @#۽;k.;ȱ맥*P{,H 5 [?,Xﰒ&ȋ|w\E XƹC{# [8~=+v Л_9%&۲k ò[`|ıu _|+u &ͼ;9 &#k?*%m+\d:y \0q7 N\{`o <Ļ+G;,>\7[; |M乹B\K?8K,#<5 o9=ߺ˵#Ṯ ;{+t+]+3 +^kȺ%[TXSl4[<;k>r,͸KO8R;?8T+^h$){Ɓ+,ń{e+*\K  mı;hy,%Aұ[;KT!\Lȴ̻d)4]hE&{`n|ĻW8l] % 2:ᱵ& =_~=K+]+sȻQ_4P&R1H|84+`||uP1% <òư2Z m,;P&г ۱RoBȄ[;;¶Z#d;OY[RMkoTv pyTm,Pױ[ OD]],8K<~w凫u{R޺qds۫&% Ñۺ+P{,;+[ {k/8#n_[&ۻ;*dy w0#` 2)˳R۱ +[6b @^ s{,;ްw=-\#9yҲ޺2{T[;ݸF BoòCox|]贻ԃBۿ̱`)Y[٢p?s5[Ҷ̻ƹ˻ ]oSԋl =غ 1m2W\Ku +^k_ /Ió͝"[; DŽĹ-8KlKݿEl ,Kֺsd^=s&؆K8uͼ 8r\+O8]:o9 |κ =^=R8˳͑+lA{, [_UֵK[?d@ ,;=#g |ೱ;kf;kd|5ȱFsR+8`8K!m0s7]l4lIȌ{rm(Ⱂk?:{fQ +^k;&s&  2:pغ%& o/9,ܝ +kqóB^=s{(ok+ kFĻ8 bm<^Xư B[;仿~KIR&-5ȺyȲ*I_ =*гZ*㻽ޱBXWg[R: 8]?8KMT²lɺK{Ȝ,"P{, bsپMXd²oҽ d:hq8?{u k{^ w{O|Mais!{No^\ް;C%?|j{w`?ȵrb:{\;1̫P=:;K*_|u }WE(C{P2s&PC;{FI : 1EC0BXA&` %@n]  #W < eF `{+ICs&#P  LYtk%<Ӝo MW{#%{+Q#;vCǷ{F،;Bٵ| 'l&ë<0?/BE r[L5? WҺIE%Td+=+Hk`- Pm++](+`<óE 2}^=?H|K|KwQԷ4+ôL 􌯦m=sȇPA{,mLpy;K +b;P}_~=ǵ++ ⽻l󋠑 ۺbóĺ=[-8+BE m,:ذȹB]>kb]+,3 IJܹM| A #;o _~<;=ݿEdKIE+m->l^[ov{` <-)4 ! &mȃEư&YKR N[ó˵#k\m֥*!8T!Һ_ŵCos&ͻ.{htfہl];sİ{R0/ |,,k C#Ƌ+[ņzƉ#␰T&ϼ`!~[ K%*::`+;T̻²!s hۻ"[;J0sn^{8Ȱbs۹ b^=su_Uν,0;E!9s_{=+(slᲳ7}  <0;%#]m0^{ @#vI:AP#[2>qTE{+*s_ ~ =lƵȹ[+L>^{)E!;iϢP2Ұs& D1&k+L>Xa [:s&loV޺ѱ\C9K# WR õ. {('Ah[E{+K=/!K+°‚hBXCoV͝퐾_Uĺ[8#չ _Uغm_18{+xP1ƉAȱw L˅>f=LIϷֵAlkg}]oSƉҋ?1+;˻+w,;=iUB{-Ӵk%%*[;%p9гװí,R+ +I#KbAȃ W++ r[L >1{Fϸ*I:ᲰCLKRlL ;l>o7]- q& v{k<!ع;Ṯ=R(y+]/¸sQ=^{;+MsT9?u{вn#ı& &ۺұs&{T {гd:l*m&%nKB󌋫!#|sұu &<ól\Lk %ұI._*sȰ <ƵȄ&ȱ\FIóĀ2m-8e =>k#%Kg8 ;\pukOS#`A8{ kq:װ\mFL˻ȱr[M#T, kKۊ)+){]{+<[BБ#*}]-hEy"FXۺW߱b<ыgαW~[$w=L`;hb;@ҺȺȱAȽ;ѱw̳ŵ{McE_ø! +=]+β[!ȹRGѽB~8 koW÷#ƉFm+߽ Ol<Q%CB#oFóҺT: %B]+۱ȱuWϾ(kP#sҰC+## ],mm+ѽ&#*% M+|sr[K%Ck)r[o)r^=Gٞ;,!I +!͑ R+E)])g۽b|~#˶òn+M;K&C{ұm#øոóҺB +N3|5ۺݵ)X9 kq)bW{)]*!ߺB)Y KD>~=&=+Bm6nr|*~<_` /N?պdK˸J`,!>4zʲ±CߺWY\е\><;,%>)ѱD<0tk_)[\{+kq K*(%{+ LL &!>[x/hAĀư<]oSY ]Ll` wİuȰ B1_E@/GoV*Ad8C!s 9Ts 򰼲k+], KR}ĻݔE庒;E/{ roVÛ\ۺѱ;h+lTA̻l]+8g]+ưB_|oo9n<;&%?,o=\ M[Y {P󋿔P{k|;oW\;rM,0;ұuw[MĽK%溴l0Ⱥ\3[% 2)Y f͵޺;k\2mq+PRoVѱ|] 3uf.}+ĺl2m^ 0?yY;A C ۺg &9 ^{O8sm ; ұvo};R<+lX;;Plhl^[%?0%+g ;ı1 [kw8a R[/ۻP{+;;ҶK;΅ŸݱESõl;<o˲&|:_Uνv!su汲>n@Ke!?}[;0&J_~pms ޝ+óu!s^mõ#:WҽoVEѺ:[8v-,kr dޱF;{.ݵA{ &m<71&ȱ!A E&m ;٧}o9i  4& p<ڲ\mfó˻8,%yC =+`>v^=s m>oCIK!/G0{.Rkް㋄;@&%}!9su;"o9sd 9!s^lR:8=+[W>[^t:ұ0;=n{o8m?:` /Kг3FȽJ@{.˲{/R߽+Bn}_~=9>o =]-۰2{.C䱲[ϗ/Hҋ)&_Uι+L Y>m]+ A, P] KРL$Wd:mlKȹEĺ%۠sąFȱ +=t &۫e+{;!K+\7Ɓ r\'Y񛩷鱳b:0-+ |maqϷ$=(b><{8`K(1)+gP/~ۺ{](P N;R &̰v{`o иtܻ;3Bl>;̰B1ۃ{[kȺC.s;8 +Dkp/;OWu{ ` {г%s CW?|g {гY{Y &:?+Ud ! ذ{,K͋K]0K ?{۱ غ;kR 汳K;!7_I: ۲{Fn\9гdPR;d05+*Z 쳺S& J# &q WRȺb͔9 =ݛt_:ȳ1I> )&ɺGg΄0g |೰bE &0#\\7g & <1E+< 0 W+u9֑X, +I+;#&`v}(.TmoV̽lk+0}qā{e+~ko彲\m픟lKkM+KT&ĺuY̋H[ν[h8tdP l hG=wo)ȋ`{;¬\[t+HdõD1/HkBlۋKl$!t+M+mH<ݽK;غ;k*n<ѿL˗v ֔{Pċ+HǷDmsL],k+ [`>;ĻԀHư"1齿ױA̰R;-+غ &;kA8Ⱊ!uhll!Ҋ_Uغuκ#G"fƷJ#u{+;+ױ²nIv;Ҽk¬fۺ{=+TFg溲ngk{#潷{)R;ұCұW{[Ph,K+L\K#[<ܟ]%+K{К󛸡[+]Kl]2[;qC%+KG +&;+\wR% 벰k;l]oS܋kqȃ|_Uλ_U־HǿLR;ٷ%󈳻K8λ[Ҷ+_UḺ̌Aһ4=cE+ҽ_Uαċ\$&lh{8ZzR= 0w{LK+R0,*_Uΰ;|l<+&0ȱ%۰!P˳K[8ґ{WȰ2:#_U `\3dḴsoV{, ]oSԋ;;Km2}^=J!ұ ұ\K]#{R?eκ;kĵF oVѱ%|ߥ &#}-8,Hk<Ƚ!suö{mV1oV8{ 8 +\h[d {Wsۋ;`0mԑ|ѷd;b m'˳glGZF >[};+?8܋k=HH7R 쳇;([; PSxllȻ&`C']w'`~[wn;E;k=+##+/{R {%ó&һ]oS܄\=Hκ=nW=K׻Iʞ=s9u@l8Ҷk뱢[MB^=u&ݱE_<3ȽR!rIJ{+;q >[#\!&{R[k L5+\=_K] 潲b8?{RmrXmżF`=xC;!0&XEҽv޺|(kԴCѺ^]+s{-)4ۀ81:?}{,d;ֲ߻z?0Ӥ *H|]+%^\kB{,uгJB)˙u/9[P2ϋ; +^qsrn=]sT4^]/dH͛)׵#*sKP4:_UČ"P+ͬmuJ.{%+C9&k\Wȱ[]](2:B],Ӑku +@8nb%R+MR%K@nq!:>_| ]^=,Ѻұv%SG!&窲/I9г ?)^R|uKCI]-=ƵȽsE# ;񿕐|IE{+*T ;{bk+l1E0^[woCPC1+HWp;nǵU/}_~=u<дC=m-_Uκ#W{\%p/9 `um {++kG۲{,ۋ);M_}->lP3!RoҺ+8˳ﺳѱFҋWd: !:?}uĽCls9{.rX̻ ̱l;o |un^ }EWұ :Ѻ2d} b?9{##͜0sd0^l;;y ,s u+]_}R,DYs sۏJ^po9;m>l^](dP# $R*s00?{k.;r](C+N8pC{-9us[[üwoVl&!9s_{u>[&>z+ұK#/IκT+Oċ#.ϊ;qsu;l6#m_};l8˳)JʐX>1I Һb ?!9su{/sUs&?溒mmG;N[=Y ~T ;&s!>_{b}-^=h 0Pԫ!s^lֳ8:{K;u۲\='ҽ[W*6 <+E; #G \~rm_~=l T+KKκk;gȹPl0;Rk ,+fۿK<;l; h c*[|P/ R TlݱE0l=+_Uκ`~^[+"m?8=ߋ@C<1}lƵmiUL˸+lHAd|5ȱ[rn}_~=T[~K/E7P&гM| -uoV޺ѱ[ȱ0oҺ;kWһk{Q͜4²oх̻T̽+:ܟ]+&C#7]L}.+ QۿM{4;m׾k+<`f# Ww)[m! L"ó߱ L0k][lHb<{!Ɓ+kеKL˸kṮd[;rXۻ+=/õ|}+rE{"fݵ,W߻u屳TױöȱsȰ=H l k~F{ [_Uλ:{(L=+L =+lm+Wƹr8|]u{({_kṮκ*Wұ{\T̻*;]oS܀\MT;kuWtƉf?{佲]쇲^* =KԀ; oȋ}T䋋Ut+]oSַݜf +=|!:?}_|<2o^{?/K*ZĹ`=k##L_UI21RκRұⲧ+l]XFı],HȱQ҇S;M](W+J)+{,,,kM+ĺmm &# &!:ml/GoVȱb+s%α ;+󝜯l4Y |ѱ1kہ*o9>^{<7]ɝ0s&^{JҀ [ݏ z&o*s;&oFܟ]lIsoVȆ [R{kе!:?}I):_}ǵҁ&lӶo8˲b[o_~<;=B\Ѳ{!0&óı;+[ۄR)?\C9K:l HT)Xȱr(Cȱ K]lm WK[FF{)Yɵt+M]-`{_j !; *̽d:ӱrm+҅,}3ȻIҹ]мl3_E;B:w{M-+T̻T̻L˻| (J[;+L퓮8˴&oVĀfȽ_|Ƌ$llȽkd:oVȱ[)[&νolܟ] h o+Ƌ&%?)^=s^^ ;ն!:?}+`+sф%Òn^}_~=xoWߺ#1Һm*n8²oͼ!sʹ8H ;oVƹm0#+ #9@!sc#֜0s羽olܝI_}+K],dC-s&oVѰT+Mk,]BZXEb:}^=<+&ƵE/G \7KC8 <o],"oޱ?/GȽ`Clmm#8^=^[m#ZL+&JW²o M+m]//G^n=޽d;D:;M_Cٞ<QK]-%#mK%T²nϔ|IzU/G󭜯m > sCIۻ&21Ƚ[F[d:T?|庾K>٠*soVȺ\w9\K++w[^[M|+DzhT׽ö=K xr(=Lk 2k[ϲżݽE >84*ó̱ h|sҹf+ ;K@ׅ Ƌ; /K;o [1%ڰL+&lk ,+#Һ;k_UκŶưB̻{+=K [_UP;m#>kRoVѱ\Hl;-e3}k{!۱+=(|sҹ܋k FȺ\h8+< ׀+|\&\ ܋{T̉Aȱ=(8=^l0<_Uα+¶-C +[IƁ/! &;׹q+m^=] %Eq&K\Ȍg)L˿RCo{ X&d#˳p`*溒:+\k HCȺk|~\;Lsұ[ 4 "Pȹ%D[g{s{,1[)Ƌ"WҰ Krg{ 8̱uȻw{Oܰb+\ƻ{,1ݵ#ȿP޺d\kR= Ysw#6 C1=;[=8gDZWW0{. <7>1%õҋKlkB08\@) L *K=̱\+!,M[+m둽E>l{f[E Yĺ Wؽ+n8ﺸȺr屸ĺ;%&?WĻ²gfȱ+]+#Wߋ+̛Ϧm;;Q҅|m6 kq˼k㽷u ʹs+ooVȁ̻r[K+¤{+ 1ȹKL]s |k+L8s%oV÷#lT;%n =0sl7[<P# ^{<7] +X»dL+aӰ#ۋw_8b:Cݑh3&!{R}Zo9вb\`Ӻvs;K*_}ҚA*&u&s{&\#,; kۄ[T+T{-!|$2ookk`AR9%|tn^LtLK4%2\&ҋMṮ|,-+k;\0<2ć]s&_ ~[dKl;}28uó& m{(:{/ \41&_ ~?-[F۱[; lK+^>m l^XƐ KP+"C%?~͸m^=k&WRo$lӮ<1n?YWR*s<ҰR`}|02WĴ ͺ+Gk#<ۀ&`/I8l{,KiW<øC;!ċ1ҽM{Ь4+`?lLR=-;kuٲ{Tr0_~؉=+¬,kM̻lK\5΋+K ^;}/f~l;;&:\;@ҽM{foV̱;=8r[O!\D1_UλrT)[2[Mױ_Uıd\KĉTErlKĊ_UċKK;XKwS۽b=R{N8<̱\HD !Xۿ_UλlwS[`?8̱Ҷ㺼T+L,8{\;!ɺCW["f康#7S\L kq=+kOl3\KlLǽ;G=]R< |,-+ۀJ;#4l\ToVѱKQǴo L!ػf4;;[غ+m]({+LEóɶİ *_Uִ[,&K%˴]-;_Uν _~=_Uĉ΁|s۽K;+ѺEl4{˴Ѱ=Hg+=iU P+b:k;hlK <غ4 KB[]+%IJS]+K kq>;;kR;Bk+KFK 8*&ȳP;OXԹk|ׅRȉȹ̰T̻L˻d;{˽k\ :ÛP{%ó<%p >݌+Mk_Ts =^=8! }ToغI1s l 8˳Ñ b^=s^[)4{/_LJ^;|K8²okT̽l>\;sb]? L˼SLhyIJ{. s&ư[XCĻԆp=(zⰒlY [w{Nl\HȹT̹!>nXӰԹC8C~[|Od}< 2k]K6!M|A1\K ?* ;] 5Ͳ̱ +8mغ=k:̰! ּTW۹{K;B|{;ۆ*Y+&*|е+;rX2`_ |vC8%ȋk$ۻݑmu48u{,k=|ܟ]勒; !; <ҽ{W_8 P Ÿ̱#},oZElfó@kKt+Mk{+XuFȱ||8T l +A8m趷ĺk+&黃_U\CIW|/*ĺ*拋˻8[ر{+k~[K)|{)_ ?{%^Xеy+ۺ%4E\ r[HC۰E@>^AȰ=Hl;=Vw);@7]]l4[=q{;%k+l\Kuk^[_Uκ]]+#@=ılKn\P^k+&ı\HR ױоĺR> [K[O 2*=,κ|,-};!͸ 8p1ĺk2ܸgl][%|;;GM{ 8-=_~=[AҺ kq;l1[;_UlO,ܜl|w_ŵCw͐õ#p{R;s%WEҺ &#["[<݌ԟ؜u#~|ȳ̻B)ѱıo\Kr\\WfK [;{;`,XFĺ%屸ɺC\J)L*,;G+[&ٛt_ ұǺE[ .8˳﹵lm8;λOøL";=C{+l0?u{,[K;ds[ ;M| ѻ C+; &ST-+{Pü)K[{[PO;9{/<*+{a_94{(K̋о N8ːs," kd;+{+Bұ#?*J]s=+ҽ!su:{^kB^=Ƚ R8?{& l*P?8EC: `?mٝ^>po:;m>ky 0!_ ?->o߃u&um2*sۣb|g+C.T>\k ί8˸s_Jo.1[CдC,0%;n}>8óC+Һ0dJ:B[Lo; ?~&:oF)?|R+^k+Rm21ô\++o9R4#m^=ֺAq&۱R?{÷C{h[2?0,Es9_}(+t󬰑潲0s尶%κk+^\K8I\;m>oҰ Bm;hk)㽿̱uȻ 2 ,+Pд% {(Ck8<28ȱ[; X*ċRU`}2;?[[w:ó̱ȱsoVƸ'ư8Bұs4[%=],9BغK&ұ|sE ~=|Wܶb8`Phrqҽ|8ò<ȋ+K kR;B:ܣ;"϶ͫr[o*Z`{,7;K*_~Kge{b[; &?k = k|r;+R<еy:3;O+:{u! :#\{2lRo{òE%[L!R,٥ * s{KN8s aH{.u_=; su쳹ŸL#K\1%[#\:#o)?|oV޺ѱurm_}p͜KM-G[;I՟8nsR8?{KR =l)㽷%X;f!ҹK8½*ѱr[N[Һ\˻ksҺ[ks۲ >rm]+2:,KK%ΰE =F+˻KFыk}oÙ8ȋT &8!A ?)Y˳s ˳y +^[{\,+gۉus 2*Z{8?{ !{^8E Iı;;],; ޻I91 ⸷ R)ы+K; ! &ω: Ƚv +ȼE2󛖱BҺq溴b;N\Kw>+&k%̱p҇|KƋ&%^=su*{TXSL_Uλ+²n2o>\vްA+; l[mTư b!̱`[\ۃL C|,-/kĻ԰jK% #یK]+rMر|{8  g &|೰K<`{++\ ̻+lk8 ;m <~ e+.~;+=UP1{8 ;ks[;P\ >kkҼmT̻n;% +[ TP8ݱE/ǵCo:_:ȺҲ{+!ر{&g_ ? 28ı/F_UTK%+k;;ȋKdC;wlt%X6p>l<һ4KIsı\Hƹ{ksҁ*m^<;&%Ew汷̻Ʋ{+Mx O bҰ[C2[8+b1忽+o8?{^l;l7g &<,޻% uB8Rͬ=+= +^[=7Io ˳_U m_~<;=uo9гu _/;݁[< f!9s%(+\uPT׽ n?~<;=so{г;lK>!#ַHRKE&sA.w۽޻&Rmrb Ȳ`_U²oΛ`|mǿ̻BT[gҺPn?۹!Ā\K0&ȋ[}yFuxzR< g>m &;K],1 &#e =_~=;{po 8RK! 0óB{!l!;'_Wr;~|'[#øs&&{K3+P}kTYP<3B\;)}є縷E!ƒ[+{,lx Kl;CW\1\CIL+웤[<趷ͼsK[ރı+_U?\[OıC~oe~[^t3;;7KK=[-?Y񜟥\K+M5κ#Ľu{-,Hu[Tm]+\oVvYKr:ر m?:᱒?{#CCo s41&P9 ?}K\,4R:_`R:7[_/Jٲ8?{ĶT ?}uCÑuoubos^mR,s*C͵ e!; ?~ s̱+o{ٲo# õ0 T:/6#/Kl7b\/)Y^yIp^_#,Yy;p&忸_Ưwq+R9 m]+lmW{k/9ȺY&ߌv_Uċ;$*E{- <ֱmPfı>rm'Ͳ]_~?g˳_e [\1ĺl;]pm(f [oVѻC{+gҺ\&{-4:#=4[R;LK;s.}^= B|i)ް ĽlKӶn<;&%*sؼ&ױI#K&/G2m%޹Ry [[[FoVѱƛ_UαI {]/eĺu{;8{+&K =H{!ȉL2 ,++FI\n<;&%y[,מ<,KLhb^݋ L˸;BҰ(˻ hr,[mT bTĹhl]LFҀ[8uċ&'2kRń²nI\KCKFoVȱ[<lޱAۺW&CCȌ+˸ L0?ȋTP+Dz[{#潼rṮ Һ/kۀ㻽++1' TlԴ{94l Kl,F+l5[&İKGϾ+KFoVр8;k;,HKK;_UĽ]l!ҽ3A庳 lm kq۱lH;T׽̽lmV_UĉҼl\Hѻ\'kLl:w<  [;+] J)K"; TuXpsIJn ,m={e+Y &:೰R3 &}>8y+%+,;;ȇ + ˳KOSn| < &FR^=sGİ2)TPu!M+^[,s[RP<7E;s 溾d &!>\[lK`m+(RͶıFb۰İb \C+›~k KlZ# #l)ŴaE! KL\,$ K2lcƵ k' P8жѳ͵74!{% [ M#)˳?bPKnw+!٧_)Bf\;pQu M[cl6;l,,-no)w˲X?8|}k/)\r4% kqukMY[Rm_c E%̽;+KMeIb1^=s溳ųBS}]+IŴ[[{?ȵ:E+h"m^z&E_1hCl1²o뤸s+ƿJg_ klI|+&P`%>RmDF c ιb+ƿKKl:kLնAl\Ѳ2O{;LUOC@Czҋ%l >E2le*! &ۡL+&["[OĽb; r;L;4Ba[K;l}^=|՜E&Fk&%u=+:n8Js& ,][\>+K#K@u?}쳽:?8K+@2P#_~#L^=s[؆K^m?KT:޺b[k˸;˻dȹz 1\4Có2k?Kغ-\dK+`>v^=sBkd#+&o8{\GĻ!su쳺;k& o8˲b\6 ۻ%oVI{]׻R{,1o 2C-++kל0;CB1 ,Ke %M|ːo􌯦m P`+K+ƺT F`uٲ;{+1}2&%km\hm;{Ц\ _~<;==+K/m9ޱ &K`7~;賰1m&%ָHlkb_m0&K[õ#[E#҇M|ϒ/D{,(h҆;H+]2#<10s|гҋ%;+] %+n;&{,KEKbo{^='ó&W`+ǿL[ d&l:Ĺ4߇\G, ޺ц,om?g{-,K [ T +8?{%˳%ƹ?U6v,0su۽C1<0Ⱥұsf }{\?/I8lуE+`?k;],O r; KF_Uι= ,/Sl˻ k]oS܋`{ԇ?\Lk»L˸9u kq;N[r\HT̻TTń²kĻl]H,rۿL++r҆+;%AͳgȺݸ+We_Uΰ8ݱEk)]˛f_U聿̱sl Ȱ[_U΋K<̽W{] {)X"XBҹ`zҺ[M(LM;oWx;˸!L#㻅#_g˳Cȱ],hDZ + [8Ⱋ{Ҽk%mg~[TE{Ro||5wlL L;k kq+=\;Tױ²nȸE۱²n,!΋{E,}nnL}]wkO;;O4lQ ;k< ]K 2[L5Crl< Kg8²oưưl+w;N[+[P?8#wX!ȿ;'lkK_l<+&6#k\{,Qxݢ[Xﺷ[,!/X￱Ck#ݸJ#ۺu8MHk+ [BóB^k K@{kLK ll\K b% XFĻ԰lִXK ( Kkս[YW|sl.;|K v̻E +\"; k [[? [ [,3Ұ;; l&qIJRċ+ KȰ\F۰W̻²n,+lx`sҰ:̻h0, [TưZs +\{Pg+ [BóB^k K@{kLK ll\K b% XFĻ԰lִXK ( Kkս"`A/.,^~.#{}|\ >  P  T Y E R Q W =Ä###Í'$&g%'   AZ #  ><IRFC S   ()?'&"!"~2`$#~2g$#~2b$#~2d$##~2%#~2%#~2%#~2%##~2T%#~2^%#~2V%#~2X%͍' w#$#w#$#w#$#w6#6#6$G:":"=2$=B$_$͍'a{ $$#:"=:$=Q$i$2$:$* "M$* "\$ _$i$:p$#>$:q$$$2q$$#>$:r$¨$$2r$$#>$:s$$$2s$:"G$#$$͍'2p$>2q$2r$2s$!"~%t$%####$:q$%:p$o&&.k&:'"=)%=9%Q%_O* "J%S%~%#p%yï'ʙ%!/"==GO `%`%`%`%F%Ð%>p%>p%:"ʺ%G:"·% x:""=%=%%_O* "%%~ͣ% #%%&yã%y2 &{2 &2 & \&!E"==GO U&\&U&U&U&Fͣ%K&~ģ%#: &&ʚ&ʃ&& &M'ʚ&: &G:D"O > ͣ%xŒ&&̓&: &G:C"&&:D"=O> ͣ%xʢ&ö&&>%&>%&O_>&O_>&!"#~''&!{"J&ͣ%&: &O:~"'&: &O:"'&:}")'ã%d8'>1ͣ% / <'yͣ%0ã%!"~n'> ͣ%: &G:"ͣ%a'> ͣ%~†'#: &G~ͣ%|'É'ͣ%#n':" $G$ʠ'$ G:"O~½'x%'y#'#ô'#~%'"'"'=A)=ʟ)=|*='+=+=,=-*'6>*'6w#(Vzw:(zO# (NzwT(+NzwH(F'w+F'w+F'w+F'w+F'w+F'w+F'w+A2);&FTOAE*!(6#6#6#6#6@>#6=°(!(ɯ G:((> ʻ(2(x: "ʻ(x*'(Gw# (G:( )x:(=2(p#(:(*):(:(=2(:(:(<2(2(6͝(ͻ(-Y)>2(ͻ(^)+̻(:"Gw):(Š)>2(ͻ(0ڊ) Ҋ))ͻ(^):( (:('( (> w#£) >0w#­)G>M*O)y) *' 6-O*'  ><)>OG0w #x0w #)*'>*w# **'#:*WO "*z7*~~**:*S*G~wG~w*:*o*;*<#p#r*~ȁ@( (2***ҧ*:*(^*^*:**=2** *;*ê*<;**'4#6:* [*:*<2* ** *2**Ý*2**ç*'+*'~wSD-n$NIBB-)8+ ( (~GS+b+ S+#FA+*'!+ (u+*'!+ (*' (!+N6*'VyGz (2%+Az2&+!+w#+:%+ʳ+!+(!+:%+O>O :&++>(*' X(i,*'#~ (T]O ~, y(#~+yO>G~# , ,R,y~G y<,#~ ,xOG R, G,xR,*'O~''G~怰w (:&++*'~'4#(~w ( cmp m jz mterr fdiv1: mov b,m ; c!,6w#,ɯ ((FNy2,yOxA''2,,#",!, (!, (!,,-X(-U-!,~B-:,G:,w*' ( ((:,~'<0->!,,,́-!,(!,(>!,,,Á-2-*,",>2(*,F#",:-ʰ-ڭ-ͼ-:(=2(#Ñ---=ü-PY-ü-X(-F'w+F'w+-'FNy2,xGyA''2,,!, (!, ((!, (!,>(!,, (!,>(*'#!, (!,>,.ڄ. ,.!,,,́-!,(!,(>!,,,Á-2-*,",>2(*,F#",:-ʰ-ڭ-ͼ-:(=2(#Ñ---=ü-PY-ü-X(-F'w+F'w+-' a?.081 "* DE32+1 IF(AND((F3<=E33),(F2+F3>E33)),LOOKUP(IF(E33-F3>=0,E33-F3+1,0),E9:E19)*F4,0)) IF(AND((G3<=E33),(G2+G3>E33)),LOOKUP(IF(E33-G3>=0,E33-G3+1,0),G9:G19)*G4,0))IF(A BIF(AND((H3<=E33),(H2+H3>E33)),LOOKUP(IF(E33-H3>=0,E33-H3+1,0),I9:I19)*H4,0)),G2+G3!!"A35 thru A64 is 10 yr table!"*!DE33+1!IF(AND((F3<=E34),(F2+F3>E34)),LOOKUP(IF(E34-F3>=0,E34-F3+1,0),E9:E19)*F4,0)11,0)!IF(AND((G3<=E34),(G2+G3>E34)),LOOKUP(IF(E34-G3>=0,E34-G3+1,0),G9:G19)*G4,0)11,0)(A!BIF(AND((H3<=E34),(H2+H3>E34)),LOOKUP(IF(E34-H3>=0,E34-H3+1,0),I9:I19)*H4,0)11,0)G3"`A18"`?.08""*"DE34+1"IF(AND((F3<=E35),(F2+F3>E35)),LOOKUP(IF(E35-F3>=0,E35-F3+1,0),E9:E19)*F4,0)E12,0)"IF(AND((G3<=E35),(G2+G3>E35)),LOOKUP(IF(E35-G3>=0,E35-G3+1,0),G9:G19)*G4,0)F12,0)A"BIF(AND((H3<=E35),(H2+H3>E35)),LOOKUP(IF(E35-H3>=0,E35-H3+1,0),I9:I19)*H4,0)G12,0)3#A A35+1#`@.14#"*#DE35+1#IF(AND((F3<=E36),(F2+F3>E36)),LOOKUP(IF(E36-F3>=0,E36-F3+1,0),E9:E19)*F4,0)E13,0)#IF(AND((G3<=E36),(G2+G3>E36)),LOOKUP(IF(E36-G3>=0,E36-G3+1,0),G9:G19)*G4,0)F13,0)A#BIF(AND((H3<=E36),(H2+H3>E36)),LOOKUP(IF(E36-H3>=0,E36-H3+1,0),I9:I19)*H4,0)G13,0)3$A0A36+1$`@.12$"*$DE36+1$IF(AND((F3<=E37),(F2+F3>E37)),LOOKUP(IF(E37-F3>=0,E37-F3+1,0),E9:E19)*F4,0)$IF(AND((G3<=E37),(G2+G3>E37)),LOOKUP(IF(E37-G3>=0,E37-G3+1,0),G9:G19)*G4,0)$IF(AND((H3<=E37),(H2+H3>E37)),LOOKUP(IF(E37-H3>=0,E37-H3+1,0),I9:I19)*H4,0)%A@A37+1%`@.10%"*%DE37+1%IF(AND((F3<=E38),(F2+F3>E38)),LOOKUP(IF(E38-F3>=0,E38-F3+1,0),E9:E19)*F4,0)%IF(AND((G3<=E38),(G2+G3>E38)),LOOKUP(IF(E38-G3>=0,E38-G3+1,0),G9:G19)*G4,0)%IF(AND((H3<=E38),(H2+H3>E38)),LOOKUP(IF(E38-H3>=0,E38-H3+1,0),I9:I19)*H4,0)&APA38+1&`@.10&"*&DE38+1&IF(AND((F3<=E39),(F2+F3>E39)),LOOKUP(IF(E39-F3>=0,E39-F3+1,0),E9:E19)*F4,0)&IF(AND((G3<=E39),(G2+G3>E39)),LOOKUP(IF(E39-G3>=0,E39-G3+1,0),G9:G19)*G4,0)&IF(AND((H3<=E39),(H2+H3>E39)),LOOKUP(IF(E39-H3>=0,E39-H3+1,0),I9:I19)*H4,0)'A`A39+1'`@.10'"*'DE39+1'IF(AND((F3<=E40),(F2+F3>E40)),LOOKUP(IF(E40-F3>=0,E40-F3+1,0),E9:E19)*F4,0)'IF(AND((G3<=E40),(G2+G3>E40)),LOOKUP(IF(E40-G3>=0,E40-G3+1,0),G9:G19)*G4,0)'IF(AND((H3<=E40),(H2+H3>E40)),LOOKUP(IF(E40-H3>=0,E40-H3+1,0),I9:I19)*H4,0)(ApA40+1(`?.09("*(DE40+1(IF(AND((F3<=E41),(F2+F3>E41)),LOOKUP(IF(E41-F3>=0,E41-F3+1,0),E9:E19)*F4,0)(IF(AND((G3<=E41),(G2+G3>E41)),LOOKUP(IF(E41-G3>=0,E41-G3+1,0),G9:G19)*G4,0)(IF(AND((H3<=E41),(H2+H3>E41)),LOOKUP(IF(E41-H3>=0,E41-H3+1,0),I9:I19)*H4,0))AA41+1)`?.09)"*)DE41+1)IF(AND((F3<=E42),(F2+F3>E42)),LOOKUP(IF(E42-F3>=0,E42-F3+1,0),E9:E19)*F4,0)))IF(AND((G3<=E42),(G2+G3>E42)),LOOKUP(IF(E42-G3>=0,E42-G3+1,0),G9:G19)*G4,0)))IF(AND((H3<=E42),(H2+H3>E42)),LOOKUP(IF(E42-H3>=0,E42-H3+1,0),I9:I19)*H4,0))*AA42+1*`?.09*DE42+1*IF(AND((F3<=E43),(F2+F3>E43)),LOOKUP(IF(E43-F3>=0,E43-F3+1,0),E9:E19)*F4,0)11,0)*IF(AND((G3<=E43),(G2+G3>E43)),LOOKUP(IF(E43-G3>=0,E43-G3+1,0),G9:G19)*G4,0)11,0)*IF(AND((H3<=E43),(H2+H3>E43)),LOOKUP(IF(E43-H3>=0,E43-H3+1,0),I9:I19)*H4,0)11,0)+BA43+1+`?.09+DE43+1+IF(AND((F3<=E44),(F2+F3>E44)),LOOKUP(IF(E44-F3>=0,E44-F3+1,0),E9:E19)*F4,0)E12,0)+IF(AND((G3<=E44),(G2+G3>E44)),LOOKUP(IF(E44-G3>=0,E44-G3+1,0),G9:G19)*G4,0)F12,0)+IF(AND((H3<=E44),(H2+H3>E44)),LOOKUP(IF(E44-H3>=0,E44-H3+1,0),I9:I19)*H4,0)G12,0),BA44+1,`?.09,D E44+1,IF(AND((F3<=E45),(F2+F3>E45)),LOOKUP(IF(E45-F3>=0,E45-F3+1,0),E9:E19)*F4,0)E13,0),IF(AND((G3<=E45),(G2+G3>E45)),LOOKUP(IF(E45-G3>=0,E45-G3+1,0),G9:G19)*G4,0)F13,0),IF(AND((H3<=E45),(H2+H3>E45)),LOOKUP(IF(E45-H3>=0,E45-H3+1,0),I9:I19)*H4,0)G13,0)-BA45+1-`@.19-D E45+1-IF(AND((F3<=E46),(F2+F3>E46)),LOOKUP(IF(E46-F3>=0,E46-F3+1,0),E9:E19)*F4,0)E14,0)-IF(AND((G3<=E46),(G2+G3>E46)),LOOKUP(IF(E46-G3>=0,E46-G3+1,0),G9:G19)*G4,0)F14,0)-IF(AND((H3<=E46),(H2+H3>E46)),LOOKUP(IF(E46-H3>=0,E46-H3+1,0),I9:I19)*H4,0)G14,0).BA46+1.`@.6.#"STOP!! this is the end of Table go back other way/BA47+1/`@.140BA48+10`@.121BA49+11`@.102BA50+12`?.083BA51+13`?`.064BA52+14`?@.045B A53+15`? .026B!A54+16`@.107B"A55+17`@.188B#A56+18`@.169B$A57+19`@.14:B%A58+1:`@.12;B&A59+1;`@.10<B'A60+1<`?.08=B(A61+1=`?`.06>B)A62+1>`?@.04?B0A63+1?`? .02SuperCalc ver. 1.00 Break Even AnalysisF2  P7         #" Break Even Analysis!"Units SoldEv""Profit or Loss Analy"Product Names AnalyCB18r Unit) C2*B3*(.01*(100-B19))-(B9+(B16*C2))"Retail Price*(.01*(P0etaiC C2+B18.01*(C3*B3*(.01*(100-B19))-(B9+(B16*C3))C0C3+B18.01*(C4*B3*(.01*(100-B19))-(B9+(B16*C4))"Fixed Costs" (Totals)sC@C4+B18.01*(C5*B3*(.01*(100-B19))-(B9+(B16*C5))"" Development*(.01*(P0 DevCPC5+B18.01*(C6*B3*(.01*(100-B19))-(B9+(B16*C6))!" MarketingP0 MarC`C6+B18.01*(C7*B3*(.01*(100-B19))-(B9+(B16*C7))!" Other*P0 OthCpC7+B18.01*(C8*B3*(.01*(100-B19))-(B9+(B16*C8))"TOTAL Fixed Cost01*(SUM(B6:B8)(CC8+B18B8)(C9*B3*(.01*(100-B19))-(B9+(B16*C9)) CC9+B18.01*( C10*B3*(.01*(100-B19))-(B9+(B16*C10)) "Variable Costs(.01*( " (Per Unit)t DC10+B18.01* C11*B3*(.01*(100-B19))-(B9+(B16*C11)) !" Labor * P0 Lab DC11+B18.01* C12*B3*(.01*(100-B19))-(B9+(B16*C12)) !" Materials P0 Mat DC12+B18.01* C13*B3*(.01*(100-B19))-(B9+(B16*C13)) !" Packaging P0 Pac DC13+B18.01* C14*B3*(.01*(100-B19))-(B9+(B16*C14))!" Other*P0 OthDC14+B18.01*C15*B3*(.01*(100-B19))-(B9+(B16*C15))"TOTAL Variable Cost(SUM(B12:B15)100-B19DC15+B18B15)C16*B3*(.01*(100-B19))-(B9+(B16*C16))DC16+B18.01*C17*B3*(.01*(100-B19))-(B9+(B16*C17))"Quantity Increment*(P100ntDC17+B18.01*C18*B3*(.01*(100-B19))-(B9+(B16*C18))"Discount Rate (%)1*(P50scoDC18+B18.01*C19*B3*(.01*(100-B19))-(B9+(B16*C19))DC19+B18.01*C20*B3*(.01*(100-B19))-(B9+(B16*C20))D C20+B18.01*C21*B3*(.01*(100-B19))-(B9+(B16*C21))D!C21+B18.01*C22*B3*(.01*(100-B19))-(B9+(B16*C22))D"C22+B18.01*C23*B3*(.01*(100-B19))-(B9+(B16*C23))D#C23+B18.01*C24*B3*(.01*(100-B19))-(B9+(B16*C24))D$C24+B18.01*C25*B3*(.01*(100-B19))-(B9+(B16*C25))D%C25+B18.01*C26*B3*(.01*(100-B19))-(B9+(B16*C26))D&C26+B18.01*C27*B3*(.01*(100-B19))-(B9+(B16*C27))D'C27+B18.01*C28*B3*(.01*(100-B19))-(B9+(B16*C28))D(C28+B18.01*C29*B3*(.01*(100-B19))-(B9+(B16*C29))D)C29+B18.01*C30*B3*(.01*(100-B19))-(B9+(B16*C30))D0C30+B18.01*C31*B3*(.01*(100-B19))-(B9+(B16*C31))D1C31+B18.01*C32*B3*(.01*(100-B19))-(B9+(B16*C32))SuperCalc ver. 1.00 SAMPLE BUDGETP7         "SAMPLE BUDGET*(.01*("DESCRIPTIONT"AMOUNTTIONT"BALANCEIONT'=LAN"STARTING BALANCE01*(P250RT"PAYDAYG BALAP550DACC5+B6 "RENTP-350CEC6+B7 "UTILITIES+P-75LIC7PC7+B8 "FOODP-200CPC8+B9 "AUTO P-100 BuC9+B10 '= "FINAL BALANCEE01*( BuC1010 "SAMPLE BUDGET*(.01*("DESCRIPTIONT"AMOUNTTIONT"BALANCEIONT'=LAN"STARTING BALANCE01*(P250RT"PAYDAYG BALAP550DACC5+B6 "RENTP-350CEC6+B7 "UTILITIES+P-75LISuperCalc ver. 1.00 Check Register ` !! "P7        ""Check RegisterCE0H`DATE(8,18,83) =P1H`BSunday("Sunday")3P1ndayP1ndayThursdayLOOKUP(WDAY(F1),G1:G7)=====P2ursdBMonday("Monday")(A I1+1day")(P2P3CTuesday("Tuesday")F1),G1:GA0I2+1sday")P3!"Check+1!"Check+1!"Deposit+1P4eposCWednesday("Wednesday")),G1:GA@I3+1nesday"P3!"Number+1 "Date!"Description1!"Amounttion1!"Amounttion1!"Balanceion1P5alanCThursday("Thursday")),G1:GAPI4+1rsday")P4 '=P6BFriday("Friday"))A`I5+1day"))P5"Beginning Balance))P1150nP750nCSaturday("Saturday")),G1:GApI6+1urday")P6P2000"Phone Companyurday")P930neC"IF(OR(D8,E8),F7-D8+E8,0)===AI7+1(D8,E8)P7D IF(D9<>0,MAX(A8:A8)+1,0)==="CleanersIF(P140anBIF(OR(D9,E9),F8-D9+E9,0)===AI8+1(D9,E9)P9 D IF(D10<>0,MAX(A8:A9)+1,0)== "Department Store,MAX P100ar IF(OR(D10,E10),F9-D10+E10,0)======= BI9+1(D10,E1 P10 IF(D11<>0,MAX(A8:A10)+1,0)) P250 C#IF(OR(D11,E11),F10-D11+E11,0)====== BI10+1D11,E1 P8 D IF(D12<>0,MAX(A8:A11)+1,0)0 "PharmacyIF( P65arm CPIF(OR(D12,E12),F11-D12+E12,0)====== BI11+1D12,E1 P11 D IF(D13<>0,MAX(A8:A12)+1,0)0 "Electric Company,MAX P250ct …IF(OR(D13,E13),F12-D13+E13,0)====== BI12+1D13,E1 P12 IF(D14<>0,MAX(A8:A13)+1,0)0 P900 CPIF(OR(D14,E14),F13-D14+E14,0)====== BI13+1D14,E1IF(D15<>0,MAX(A8:A14)+1,0)0IF(OR(D15,E15),F14-D15+E15,0)======BI14+1D15,E1IF(D16<>0,MAX(A8:A15)+1,0)0IF(OR(D16,E16),F15-D16+E16,0)======BI15+1D16,E1IF(D17<>0,MAX(A8:A16)+1,0)0IF(OR(D17,E17),F16-D17+E17,0)======BI16+1D17,E1IF(D18<>0,MAX(A8:A17)+1,0)0IF(OR(D18,E18),F17-D18+E18,0)======BI17+1D18,E1 '="BI18+1D18,E1!"Totals+1DSUM(D8:D18)8),F17-DDPSUM(E8:E18)8),F17-D3PE20-D2018)B I19+1018)======BI15+1D16,E1IF(D17<>0,MAX(A8:A16)+1,0)0IF(OR(D17,E17),F16-D17+E17,0)======BI16+1D17,E1IF(D18<>0,MAX(A8:A17)+1,0)0IF(OR(D18,E18),F17-D18+E18,0)======B`DATTIM .COM Copyright SORCIM Corp. 1981 S/N-999999,Ver 2.x BA.09ST OURS8080!9"1̆ʢ̷*͋ʐ"X6ͻͻ%³{͈}Ð͆ʷʷ͈ͪX͈:!͋?"*͝<=G#͝ɯ*!###͝<=G#͝ɯ)!#w#.w#4w#7w#:w|*͈@@@@@@x|@@@\@@@@@@@@@@@@@@\ͮ> 2=͈ :!"ͮ> 2\͈ :!">! w~_"" #~_"#~_"" * }Jo" * }Lo" |" * | * *ol"*  " * +" * |+" "* "*|* "|+++"*|+++"*|* "*}  "*#"*L "* "*# |+ #~+ -*|X +'~+ JxG>+O |O ~0~0~ ʙ ʙ#Ë~0ګ:ҫ0>ɯ! w# ´*} *}͈*}͈͈A Today is 1900 at :00:00@@@@P^^RA@@@@PtR@@@A@@@@@@@Z@@@Z@A@h@@@Z@@@~@@@@BBB@@@BBBWednesdayThursday Friday Saturday Sunday Monday Tuesday JanFebMarAprMayJunJulAugSepOctNovDecyHҋ)„y`i<)ҝMD!xGyO){_zWҾ ÿ#=§ɯx͗z͚͗{/_z/Wy/Ox/G*%.:2OCTRL-Z=| POOy_yt| n^{^#}~_^#҉ͳa ͳ zq#a a a a < Ya !!^#Vr+sa " P * P ! =   |O ~ISA valdtn RECP6\SP{/_z/Wy/Ox/G*%.:2OCTRL-Z=| POOy_yt| n^{^#}~_^#҉ͳa ͳ zq#a a a a <Â-PASCAL/M.xxx Copyright SORCIM Corp. 1981 S/N- 0,BCD 2.x804.05RU 07203740FilenameEXTÖã(XÈP>P?INSTALL OVL T   WQjk#"ERlm)(>}>?}zz_z>}>=}z}{}!D J 9  O <  , F t T d _ o ''J&Y&h&&;&&,& Z f  =: i SrT8KDknt"@|KY+H}-<DKn2q ~"4\hb5?? @o&L (!_^#V*MD2}~Bebob_x_*x@_*^#V!2"o&"*":ʝ!,͗,2::ʼ!,͗,:!22!͗,!"" 5!,͗,2*1.Å.Å:D:D.Åi`".Å.Å!"".Å"i`""!>À.Å!Ä. Å. Å. Åi`"*~. …È*MDi`"> } "i`""!>À.Å.Å".Å"".ÅPCO o g o g1 o&1!1!1!1*w*ͻ11*Î*ͻ^#V2Ó*é*ͻs#r2î _րW _ *^#V=ͻ ͻ1Îïn&1s2ͻi`"`i{=Ļ )D)11ͻi`"{OzGD `iG^#V#=MD2^#V#~#fo2i`"q#p#s#rD 2o&)+V+^=w2 ʛo&)9^#Vs#r#=’2ͻi`"KBD O>G2᯲1Å 2i`"|}2!N: ~# DS#11 _ 2i`"K ) :o&E6oDi`"CK^#Vx]GjS]bllzW{_b! ~_#~WDi`"y! N#Fڟo`ALbS\¦öʶo{_zWyOxG-¦y/w#x/wD =11{ozg1}o|}/o}/o|/}{ozz*21i`" Di`" F i`"ͻ D7 }o|g1Y 12Y 1b Y ڄ Y 24Y 24Ê 2>}ͭ 2ä!p#*yH ) y *`i<) MD!xGyO){_zW #= ɯ A A x& *; a z8 8 * *| !1Y | N V Y | N f N !1 ʕ !D ʈ !D ڈ • È ڕ ˆ Õ ڕ È ڈ Õ i`"! ;& O' 4 2 {_y| }! z {2N2G Ay" # :ͻi`"KB@ ͻi`")MDG a # J J zzɯO>G i`"_!} ^#Vz ` &&  é | DP  x   D}o|g }o|g ** ** à 2 **DDí2 ? **D"""Y **_>W>o>gz Wt / |怺2 z!+~ "~ *D!""!9+x> ¸ wxGyOzW{_# :2#:2#:2#:2+++~w#~w#~w#~w++++5» *}lg*}lgD**P ""**P """ᯕo>g>o>g[ "<{_zWyOxG] !""72xGyOzW{_*)"*)қ #""}o|g"}o|g ** *#"} *#":={ ""*"z OOx*X =  H_>W>O>G|C㴵DW * = *+ [Gxʞ{/w#z/w#`Þ|GOxʏ{w#zw#‚yʞGw#w#–*Dxʞ{w#zw#±ÞO!9Axw#w#*H+~+~Di`"E#)9~"## ѻ2i`"'O)9o`9D)EO/ɔ>2ʭ{½#z½#œ:ºý$:O*D{/#z/#:~/ѣ#~/#:$O%y7Az9-i`"x! {zyoxgyGM{ozg{2&^#Vʛ×=–x! G{_#zWxʸ³:! yoxgy_z b ~9>o&D}K|K@}@|@KK2K@ ZO>G2*O ^#V7}O|G2i`N#F#^#V#""z}|DDxD}o|gD#)*N#F+}o|gMD2ͩ2ͩ*1ͩ**"*"N#Fq#p2ͩ*MD*#~=! V+^+F+N#KB21*+V+^" "*^#V TO* #~+~+ G*" ""*yvxʀ*~ĉ"2o&)) F+N q#p*$M*"*" i`"/<_**^#V7}o|g",~H^#V#N#Fo>g9͚  o>g9͚**##****!9" "**"*,"+V+^}O|G *c<*"*!òi`"͡>*MD"*!ò =i`"W*|ʚzFҚw#"͆*/͓>:͓DxS}"y xixD*iDo$MDy_xW{z/W{/_xzW{_2m|m|m|m|}0>02>0]T< p=kbG:‰> x>20~0~0#yÓGN#xy_ѯ°#7# y÷yz{x7#  +~ xx~# x~a1{1# !~#97#Bzq#OO:=@I] Z|n}wƐ'@'ɯ2T#~:+:ž~@##¬ͤ<~>:7.~.#y ! :T7x7~#. *>? ~# G>  x!|;=:@A#A*A?F2TaM{ w*%.*/͓>*:cx:Ƞ2Ʉ͖ãOYyʖOOyڮ_  ɯ ^{#O_o6o#6^w#VwzW{_! 4!~oO M Y!!^#Vr+s"øͶ   GCONSOLE#CON#CRT>READER5PUNCHGPRINTERLP5COMM1,COMM,NULL5TAPE15TAPE2bbbbbhhhbhhebb/k>2!"$M~GGOc#:G~# |*# :"G! o^oV%G#!ͮ>IOyI~*w*T] FO>:/Gwq#6D>2!9*|D!"D# k>!͂!>ý*+i*6i!&ͤ<2\!@]9!\͔!:@!, Pascal/M ABORT. ! Insufficient Memory. Feature not supported by DEMO. PC= FFFFh SP= FFFFh $$$ SUB*}2]*1{2dw#w2}2t{22yʧҧ29!ښ&o"6:8>é>2Dh"yʾ!*.!!D>>28!6 ">"<""A":h"~ [ :8 :<~ w[ x~2@###^ *|ʑ !~T w*A*T v"w*Dx2T Õ Å ]**<F# :8#ñ"!"Ñ 2*>]#**:{"!:8ʴ N)!!:@O y q!w!͜! ͖w!q!wQ! ͉ > :t:!6#{ !v"w"!#ß "Ñ :@v!:Cy2CK! = v!?!v!Y!>w  :7>x!>ʉ!YO͜!Oʖ!͉Æ!_>À!*|~#"!"J" !+*, s#r> 2J"#>!J"͌!J"̈́>!J"͔"J"v"> F"**NcD"!͌> F"*!͜> F">2>28j"x~ !D*!""N*~ɯ2>28i`"<"":"!""*<F#Ա":T#*:ҽ"!*ͳ"""x2T#""*:":ñ"!"*:!v"w**:&#!#x2T#"8#!"*:": #|)!!q#p**6#~2r!#~2w!yзO ڊ#w# #w#G Š#pB +{'wzG §# +' »# 7+>'w #!%&8%#%B%!%p# %~?$&$!%͵#=$~?$!% ͵#=-$+ $~_$# M$K% +¡$'G'w+>GG x$x=¸$#6ø$P''w+ ¦$Ҹ$#6|$$@P%@w$K%$K%$!%8%!%8%2&O~2&2&*%O#!%p#H!%p#!&~@w/26%!""%"%"%"%!%%"%"%"%"%"%p%%ã%*%*%*%*%i`"2&͉%'ͦ%&͉%(ͦ%&͉%͘'ͦ%&p%])ͦ%D&p%k)ͦ%D&p%]T'ͦ%&p%%***%*%&p%&~@2&g'ͦ%|&@P&͉%g'ͦ%&! &!A &"͉%(K'Dp%K'*%*%*%*%D&3'D&p%3'*%*%*%*%D""%!%%y)*æ%""%"%!%%͊)*æ%$*&|}'}2&oí'!%% ͵#*&}D!%G$$*&|'}2&}'}%!% #'!% ͡#!%:&GG$~2&2&#*&}|@g}@Ox+)~w #r# +)8%%(!%&(!&&'&͘'~#YPB%~#YPB%^#V|)×)^#V#^#V×)z)Goxgx_xW!%8%%))w+z») !%G$)))zP)OzyW#)BzWx(*)*Q**}|{z>2EO*P*Q*DMB*q#p#s#rq#p#s#r>2J%(%(k*!!%({*!!%~‰*!T]@G#~*ʴ*~*“*Goxgx_xW))*))*))* *# O }E+"%!%6%!+6%!%y)!%+~+0+%!%p#}/<O!+ %B%!++#!%6%!+%@%!%%͵#!%+B%%G$*%*%*%*%Dwrb!$T 5: 2Ϳ+Di`"|+!b, O*b,N#K,3,?*n&,Z*n&#,Q*#n&-,Z, S:12 P#123 Lev 12 12345 - line executed. Entering Proc name - 12345678 :,!,@~,!-“,:!+ʐ,!p#,"2BKPpSTEP ê+O<-L- &-}|:c- -~ - -,-;-|&- &-&-a-{- w#,6#ù,:c- -~ &-&-# -6#,6go~4-ѯx~ G- K-#<-~'\-"\-2c-6#2c-(0~#-<+w#_^#Vѯ715I0!""""Ue. |}2²->72^!} ұ08.P0! Pascal Library not found. ! Pcode file not found. ! Pascal Library ill-formed. ! Pcode file ill-formed. INSTALL version NOT compatible with OS. !]9ͤ<22\!"(0}2!:~#<6(0ͱ,d-ڷ.!0ͮү./Ù.DM#~#fo*#6+"!" 2Ù.\͂ҙ.:ʙ.!ý!EX">T22͂!/ڽ!PC">O22! !j/ʽ2!!/½**E/!/ý"%"$!2ʙ.!/ý! No Machine code file found ! Machine file ill-formed ! Machine file load address too large ! Not linked with PASDDT *96,#"6 ! File name error. E@LIB=.3@SNP03@M=.U"!G6!\ ʀ0\!͢0!U U!͢0!j~#T]6!M! M!\ g9!9!!9"" ""!$$"}2D:D*!9*DO!/Ý!2!"*2w:2!2~21w#w0N#F#y1#1:w#:w#q#p#~#~#1d3`b1(adۡbdp`,b3U rA22Ar 22    T3A22Ar 22 <% R4b52bafDec,c0d ca dcA $`pd``peN ~5`bap5aeapf.$dGc`d62GUcd8 Z6A,Ap(8--+89A`A,`p `ۡA1A,`p+ B: 9A1 i72R3A,Apggpi472[ h;   :9 @ @;.8 ;Ee89;X#F6GgHGU !AU AaU a0U0728;x7a/22 7f6g g  g  dL ݚ$ ݝ$4  $а ݰ   e64g h fd5h dc5h >> $(>hh( h(    `4aۡ aۡa,02Yz2d2  `2 a a &`2 a   a ݰa  :d  e=e. ge  f e     j<dd*<  dd.<  bffff  fb)fef4ۥb+f0ݰf. fef.f*ݜfbf6fff.f*ݚ  e  `p ` `p ` `r  `p ` *(D4`Dp D `` D2B>dbbbae `eabababa>af4b``bfpc`d ` dc`bee>0 =ab`= cba`=!ba`a=#True Pa FalsePb`=0"a ``Ћb`=0$``Ћc`=0%a ` k lk2  (( -!gg((gg(kg `i iii(gkg *  jh0hji 0`>.egISA valdtn RECCz\BdH&0%a ` k lk2  (( -!g Copyright SORCIM Corp. 1983 INSTALL Data File Version : 2.00 Date : 04-25-83 ADDS M 6210SC TXT`PBCTRL-C  s K||<>+1$$**>}>Y}z}{}!!iw!jwApple II SC TXT`PBCTRL-Z  s*T||<>   +1$$**>}>=}z}{}!!mw!nwSuperBrain SC TXT`PBCTRL-Z    s ~K||<>   +1$$**>}>=}z}{}!!mw!nwDec VT - 52SC TXT`PBCTRL-ZABDC sHHJKJ||<>   +1$$**>}>Y}z}{}!!mw!nwDEC VT-100SC TXT`BCTRL-ZABDC s||<>[?3h[?3l+1$$**>}>[}z>;}{>H}d  Wyzy0}!!iw!owHazeltine 1400SC TXT`PBCTRL-Z~   s~~~~||<>   +1$$**>~}>}{ } }!!mw!nwHazeltine 1500SC TXT`PBCTRL-Z~   s~~~~||<>   +1$$**>~}>}{ } }!!mw!nwVector GraphicSC TXT`PBCTRL-C s||<>   +1$$**>}{ }z }!!mw!nwGTC - 101SC TXT`PBCTRL-ZABDC sH K43||<>   +1$$**>}>f}{}z}!!mw!nwAdm 3ASC TXT`PBCTRL-Z    s||<>   +1$$**>}>=}z}{}!!mw!nwAdm 5SC TXT`PBCTRL-Z    sTY||<>   +1$$**>}>=}z}{}!!mw!nwAdm 31SC TXT`PBCTRL-Z    sYTG4G0||<>   +1$$**>}>=}z}{}!!mw!nwAdm 42SC TXT`PBCTRL-Z    uYTG4G0||<>   +1$$**>}>=}z}{}!!ow!pwSoroc 120SC TXT`PBCTRL-Z    s*T||<>   +1$$**>}>=}z}{}!!mw!nwSoroc 140SC TXT`PBCTRL-Z    s+T)(||<>   +1$$**>}>=}z}{}!!mw!nwTeleVideo 910SC TXT`PBCTRL-Z    sTG4G0G4G0)(||<>   +1$$**>}>=}z}{}!!mw!nwTeleVideo 920SC TXT`PBCTRL-Z    sTjkjk)(||<>   +1$$**>}>=}z}{}!!mw!nwTeleVideo 950SC TXT`PBCTRL-Z   sTG4G0G4G0)(||<>   +1$$**>}>=}z}{}!!mw!nwVisual 100SC TXT`PBCTRL-ZABDC sHHJKJ43||<>+1$$**>}>Y}z}{}!!iw!jwVisual 200SC TXT`PBCTRL-ZABDC sHvxy||<>+1$$**>}>Y}z}{}!!iw!jwVisual 400SC TXT`BCTRL-ZABDC s||<>+1$$**>}>[}z>;}{>H}d  Wyzy0}!!iw!jwXerox SystemsSC TXT`PBCTRL-Z s||<>   +1$$**>}>=}z}{}!!mw!nwZenith Z-19SC TXT`PBCTRL-ZABDCQ P sHEKpqF`G|<>   x1 Y 8ly1y6+1$$**>}>Y}z}{}!!mw!vwANSI StandardSC TXT`BCTRL-ZABDC s||<>+1$$**>}>[}z>;}{>H}d  Wyzy0}!!iw!jwADDS ViewpointSC TXT`PBCTRL-C  sY K||<>+1$$**>}>Y}z}{}!!iw!jwTRS-80 II P&TSC TXT`PBCTRL-Z s ||<>   +1$$**>}>Y}z}{}!!mw!nwADVANTAGE SC TXT`PBCTRL-Z s||<>   +1$$**>}>=}z}{}!!mw!nwISA valdtn RECEp Y9||<>   +1$$**>}>=}z}{}!!mw!nwwB )> ?B<HLPRx \_aedhl%rV4 K05/04/800:00!SC2 INSTALL.OVL (2.00) (4.07 LIB) HELP1 AnswerScreen I-2#+Select your terminal from TERMINALS screen.#)Then select your terminal model if asked.#'If your terminal name is NOT displayed,# you can : #( 1. See list of compatible terminals in#-SuperCalc2 printed installation instructions.#- 2. Contact your SuperCalc2 dealer. He might#2be able to customize SuperCalc2 for your terminal.#!Enter Y for SAVE AND EXIT screen.#-Enter Z to change SuperCalc2 default settings#1for screen height, page width, automatic formfeed#printer initialization, etc.#,Press any key to return to TERMINALS screen.#GHELP2 AnswerScreen I-3#*Enter A to save your selection and changes#+so far (they are written to your SuperCalc2#program on disk)#(Enter B for list of supported terminals.#$Enter X to exit to operating system.#Press any key to return to#SAVE AND EXIT screen.#lHELP3 AnswerScreen I-4#(Enter numbers in Hex (00-FF) any illegal#,numbers entered will be reported and you may#re-enter a valid number#(0-9 and A-F are valid digits)#Press any key to continue.#rHELP4 AnswerScreen I-1#*Specify drive (A:, B:, C:, etc) containing#'SuperCalc2 file. Then enter the name of#the SuperCalc file.#.Defaults are used for any portion not entered.#The defaults are :#, The current drive if no drive specified.# ) The filename "SC2" if none specified.# B * The filetype ".COM" if none specified.#@ * The filetype ".CMD" if none specified.#Use CTRL-C to quit.#(Press any key to return to prior screen.#HELP6 AnswerScreen I-6#(Displayed are the strings of values that#'will be output for the functions shown.#'The first value (a decimal number from #)1 to 8) tells how many hex values follow.#Press any key. #jHELP7 AnswerScreen I-5# !!These are the items that you will#"$need to edit to make SuperCalc2 work##&with your terminal only if you did not#$'have a terminal listed on the menu. See#%&Installation documentation for further#& assistance.#'Press any key. #(HELP+,(----------------------------------------#-`n./0v123i4b567U89Internal ERROR#:;#<=uj_ZO?@ ...returning#ABC*0`^ -3aqaxaa{aq%a-` 2 aa aqapa.hcddddbdaa dpd2d2aa`c`P`a4aaa6aaJa`a6aa.a0aa6a6aa*a.~)`a4aa.`a6a.*`a4aaa%a4a`)a4`*a.N+BDBۡ.B4BB6BBB, B0B.T-BȀƀۡLƀ,ƀƀ1Bƀa ƀ*`n. `bdbabadd4dd*d.d*d4dddd4dcd2ddjc:b d!add*d4.-`bb p $bddcdۡ-ddcdd Fab ii ` ii.gh i*ݚ iiiۣi4iidabba(i4ipci6iai.iacadadf9i4`*i0ii.e`i6iifei*i.i`ipi  i +> `d e e (/`/d`b45b4bۡ#bb b6b b.ab`,bۡ`,b b`,&V vdddpdۡd &"<:<<c x0epdder6*d0 j1`/``d a`,d3`b1(adۡbdp`,b3U rA22Ar 22    T3A22Ar 22 <% R4b52bafDec,c0d ca dcA $`pd``peN ~5`bap5aeapf.$dGc`d62GUcd8 Z6A,Ap(8--+89A`A,`p `ۡA1A,`p+ B: 9A1 i72R3A,Apggpi472[ h;   :9 @ @;.8 ;Ee89;X#F6GgHGU !AU AaU a0U0728;x7a/22 7f6g g  g  dL ݚ$ ݝ$4  $а ݰ   e64g h fd5h dc5h >> $(>hh( h(    `4aۡ aۡa,02Yz2d2  `2 a a &`2 a   a ݰa  :d  e=e. ge  f e     j<dd*<  dd.<  bffff  fb)fef4ۥb+f0ݰf. fef.f*ݜfbf6fff.f*ݚ  e  `p ` `p ` `r  `p ` *(D4`Dp D `` D2B>dbbbae `eabababa>af4b``bfpc`d ` dc`bee>0 =ab`= cba`=!ba`a=#True Pa FalsePb`=0"a ``Ћb`=0$``Ћc`=0%a` l ml2  A- lg A`i iii(Aglg  = kn jnj ki 0`>.egZg#gg.i2g0.g0lmЋfa= &'`bЄcaЍacabbcbcbЃ2bPa#ca`dd`cab`b`6aabЌ`1a`bcd badbcbadbb`H`FabЄecЍce1b`d b`b`edbcb`ebbeTeSe deЄ egf3gfghdg gfdg e egg: fa`a-ݰ`    eaed0`eaea`a`W/zP  \ .V&zPR Jvjd HF$<N^||>TER80L A. ADDS J. Xerox#M B. Apple II K. Zenith#N" C. SuperBrain L. Infoton(GTC)#O# D. DEC M. ANSI Standard#P% E. Hazeltine N. Vector Graphics#Q% F. Lear Siegler O. TRS-80 P&T CP/M#R) G. Soroc P. NorthStar Advantage#ST H. Televideo#U I. Visual#VPW]TER86b+ A. ADDS J. IBM Personal Computer#c B. Sirius K. Zenith#d" C. Intertube L. Infoton(FTC)#e D. DEC M. ANSI Std#f$ E. Hazeltine N. FlashWriter II#g' F. Lear Siegler O. IBM DisplayWriter#h G. Soroc#i H. Televideo#j I. Visual#kOlMENU1qr TERMINALS #s&Supported for use with SuperCalc2(tm) #tuCurrent terminal : #ʂ#vwɂxz{| Y. Save selection or Exit.#} Z. Modify terminal or printer#~ settings (optional).#Enter A-#D , Y, Z ( or ? for Help): #MENU2 CUSTOM MENU# Dealer's Custom Installation# A. Edit screen controls.# B. Edit attribute data.# C. Edit input keys.#' D. Edit GotoXY; printer init. string.# E. Edit miscellaneous data.# F. Edit terminal name.# X. Save changes, Exit or go to# TERMINALS screen.#Enter A-F or X or ? : #CMENU3 SAVE AND EXIT # A. Save selection or changes# in SuperCalc2.# B. Go to TERMINALS screen.# X. Exit from Install Program.#Enter A, B, X (or ?) : #tMENU(----------------------------------------#` crJ  (AHardware parity error(Unknown device specified(Illegal I/O direction(Undefined hardware error( Device referenced is not on-line(File not found on CLOSE(Illegal file name(No space for file(Bad random access("File not found on volume specified(Duplicate file name(File already open( File not open(xError reading Real or Integer(RPut not at EOF(; End of file(' nG)rN9 IO error: (? .Unknown run-time error(BDivide by zero(Exit from uncalled proc(rArgument out of range(Floating point overflow(Illegal PCODE instruction(Integer overflow(Value range error(Non-existent Proc/Seg called(Stack overflow($String length exceeds declared limit(Can't read Pcode file(Programmed HALT(Program interrupted by User(String Index out of range(Non-existant External called(Case out of range(Set element out of range(fPointer invalid or Nil(HAssertion failure(/(H4gS) ~`D ! ##%V* tu Value= #%r60Enter new value: # iB`tJ@Value= #`t$`uJ , Limit= #`u$cVValue= #t$$Value = #sNil#s 16### T asCurrent dynamic length= #`$, Illegal index value= #at$" as`" v @@  File at 16### = #@   b+. P b :@b P #b B%F Bs 62 .*%, 24,.,&,.V` b`a`Ѝ b`Ѓa`Є (   a a*PASLIB* bnrа  nr nrk lnrknrk m`nrk  f``yEab kqabksFktgeH^beF ku  % H-& lk d  c cd  #ffgf N  b vxcw )At S#ss P#ppp procedur I#iiii sp=1234 < ! Line #$ ifrom  -cE=continue, =quit?# d d cc 2 Resuming...#dN`f Pb.SELECTOS`F˂COM˂/˂CMD€˂ M-˂tINITʂɂʂɂʂɂʂɂʂɂʂɂʂɂʂɂʂ ɂʂɂʂ ɂʂ ɂʂ ɂʂ ɂʂɂ\ʂɂ^ʂɂʂɂʂɂʂɂʂɂʂɂʂɂ#ʂɂ,ʂɂ6ʂɂ?ʂɂIʂɂRʂ"ɂªʂ#ɂ«ʂɂʂɂʂɂÃʂɂŃʂ ɂǃʂ!ɂɃʂ$ɂPVSIGNON1# SUPERCALC2 Install Program# Version : #2.00#)This program will Install your SuperCalc2#+file for the terminal that you wish to use.#Do you wish to proceed (Y/N) ? # @ Nw  "Then returning to system level for# correction.#SIGNON2(----------------------------------------#%Enter name of SuperCalc2(tm) file as:##"d:filename" where "d" is the drive# &containing SuperCalc2. Example A:SC2 #!Then press RETURN or ENTER key.#"#Enter name, or ? for Help: #$%&%SC2.':Ј0(SC2.):*``^+,-.#Invalid filename - please re-enter.#/01?234567.8`".9a SIGNON<=>?@4:J.ERRORST# does not exist. Exiting to#Usystem level for correction.#VWGETDEFAUINFILZ[Now reading data from ##...#\]^ `ɂ!a% bʂ p% c!% SuperCalcJdeBAD ## FILE -- ABORT#fghiʂ jʂpʂk R tzCONSOLE:P``CRT:P`PrrT<< <R4:/ERROR`PUnable to open file ## . Exiting to#system level for correction.#RWRITINFO(----------------------------------------#You have selected : #ʂ3Default data in ##< #ʂ# terminal.#'Are all modifications complete (Y/N) ? # PCOPYSAME`P+OUTFILKINFILNow writing new data to ##...#++ +ɂJBAD ## FILE -- ABORT#++K2PUTDATA@`N2ʂʂp,You may now use your SUPERCALC2(tm) program.#*NSIGNOFF --------------------------------#You have selected : #ʂ3Default data in ##: #ʂ# terminal.#'You have not saved selection or changes#made THIS SESSION to ##˂$Do you wish to Exit Install (Y/N) ? #@`YWRITEKEY`%^ `@ ` XDISPaPThe current cursor ## key is : #`-Do you wish to change this character (Y/N) ? #@N 2Enter character to use or# enter space for no change :#RLEDKEY` The current cursor lead-in is : #ʂpNone#ʂp-Do you wish to change this character (Y/N) ? #@aN 2"Enter character to use for lead-in#!(possibly a control character) or#space for no lead-in : #a ʂpʂpa Upʂp ʂpa DownʂpʂpahLeftʂpʂpa=Rightʂ pʂ pa id; EDHELP#$%The current Help key is : #&ʂ!p! No Help key.#'ʂ!p(-Do you wish to change this character (Y/N) ? #)@*`N 2+Enter character to use or#,enter 0 for no help key or#-enter space for no change :#./0`  2#2`0 ʂ!p3ʂ!p`4EDITKEYS789This is the data to edit.#:!1. Keyboard lead-in character : #;ʂpNone.#<ʂp=!2. Key to input for - up : #>ʂp?!3. Key to input for - down : #@ʂpA!4. Key to input for - left : #BʂpC!5. Key to input for - right : #Dʂ pE6. Key to input for Help : #Fʂ!p! No Help key.#Gʂ!pHX. Exit to CUSTOM MENU.#I ("^" means CTRL key.)#JKEnter 1-6 or X : #L~MC4NO{PsQkRcS\UW1XP;5/)# "$&(*,.02468:<>@BDFHJLNZVCXWD \b2 EDITIDAT`ɂabcdThis is the data to edit.#ef1. Printer init. string.#gh2. Goto XY routine.#ijX. Exit to CUSTOM MENU.#klEnter 1-2 or X : #mnopCqr"The current printer initialization#s string is : #tʂp  uvwGoto XY routine.#xʂ$pO2D5h y\{W1XPR  "$&(*,.02468:<>@BDFHJLNZ|CX}~\n EDITNAMEThe current terminal name is #ʂ#,To change, enter new name or press return to#leave name as is.#'The maximum number of characters is 14.# Enter name : # 2ʂ ʂ GETSTRIN d < Maximum of # $ bytes.#d!Invalid entry.#dd d` 2`ededg Enter data byte in Hex (or ?): # 2?? ddoError - reenter : # ?? `edefR/' (DOEDaPThe current value for ## is : #`` #Do you wish to change this (y/n) ? #@,,Y"Enter 0 to unconfigure function or#)Enter the no. of bytes to follow (in Hex)#(max # $ bytes) : #`T #EDDATA1 This is the current data in Hex.# 1. Clear Screen : #ʂpʂp  2. Clr. to EOL : #ʂpʂp  3. Home Cursor : #ʂpʂp  X. Exit to CUSTOM MENU.#Enter 1-3 or X or ? : #`rHome and Clear Screenʂp Clear to End of Lineʂp  Home Cursorʂp e`W1XPyV4 , "$&(*,.02468:<>@BDFHJLNc`XE \ EDDATA2 This is the current data in Hex.#% 1. Set (start) Cursor attribute : #ʂpʂp % 2. Clear (end) Cursor attribute : #ʂpʂp % 3. Set (start) Protect attribute : #ʂpʂp % 4. Clear (end) Protect attribute : #ʂpʂp  X. Exit to CUSTOM MENU.#!"Enter 1-4 or X or ? : ##$`'Set Cursor attributeʂp (Clear Cursor attributeʂp )Set Border attributeʂp *Clear Border attributeʂp e+`,W1XPcA , "$&(*,.02468:<>@BDFHJLNc.`X/j GETVALI`J`p2K`pa`pbzLMValue out of possible range.#N Range is #b$ to #a$OP EDBORCHAVʂpUW'The current border character (hex) is :#+#X)The border character marks the separation#Y(between columns, and marks the left edge#Zof the SuperCalc2 spreadsheet.#[\$To change border character currently#]$displayed and printed by SuperCalc2,#^%enter the hex value for another ASCII#_ character.#`&Examples : 3A is ":" on most printers.#a& 7C is "|" on many printers.#bcd*Enter new hex value, or 0 for no change : #e]Pf]g]yh]V iVVIjError - reenter : #k]Pl]V mnʂpVopʂpqʂpUrUʂpЉ*sʂpʂptʂpuv)G EDFREQThe current CPU frequency is #ʂ p$$Enter new value (in 1000s of cycles)#or enter 0 for no change: #p`2`p`ʂ p`EDBAUDThe current baud rate is #ʂ p$*This is the real baud rate divided by 100.#&(This is used only for timing delays.)#(Enter the new baud rate (divided by 100)#or 0 for no change: #`2``Value out of possible range.# Range is #$ to #$ Remember this is divided by 100.#``ʂ p`m@# VEDVIDLIN%The current screen height (lines) is #ʂp$*Enter new value or enter 0 for no change: # B`2`B` ʂp`EDVIDCOL%The current screen width (char's) is #ʂp$Enter new value or enter 0#for no change: #(`2``(ʂp`t EDPLIN+The current printer page length (lines) is #ʂp$Enter new value or enter 0#for no change: #`2``ʂp` EDPCOL+The current printer page width (char's) is #ʂp$Enter new value or enter 0#for no change: #` 2``ʂp`  EDCRTATR ʂ p b%The current no. of CRT attributes is #b$`2and uses guard characters.#6 and doesnt use guard characters.#*Enter new value or enter 9 for no change: #b  2bb?)Maximum of 3 and minimum of 0 attributes.#,Are guard characters used (i.e. is the first#&character eaten) for attributes (Y/N) #@aYʂ pb T EDFF(ʂ"p)ʂ"p˂*ɂ [YES +[NO,The current setting is : #[#-This setting is to use (Y) or#. not use (N) automatic form feed.#/0Enter your option (Y/N): #1@T2TY&34ʂ"p`5[YES&789ʂ"p`:[NO< EDDSDʂ"pEʂ"p˂Fɂ YYES GYNOHThe current setting is : #Y#IThis setting is to use (Y) or#Jnot use (N) double spacing.#KLEnter your option (Y/N): #M@TNTY)OPʂ"p`QYYESR)STUʂ"p`VYNOWX EDCRLF^ʂ#pʂ#pʂ#p ʂ#p aWYES cWNOdThe current setting is : #W#ef+A YES setting is correct for most printers.#g.A NO setting will send a Carriage Return only.#h*Enter NO for printers that double-space if#iprogram sends a Line Feed.#jkEnter your option (Y/N): #l@TnTY oʂ#ppYYESq0rsʂ#ptʂ#p uYNOvwP EDPINITS}&To send a control code to your printer#~*(for compressed print, double strike, etc)#)see your printer manual for the hex value#(of the ASCII control codes your printer #(recognizes. For example, if "compressed #*print" were CTRL-O you would enter the hex#&value 0F to make compressed print the #default setting.#"The current printer initialization# string is : #ʂp  \EDCUBRA$A. The current Left character is : #ʂp $B. The current Right character is : #ʂp X. Exit to prior screen.#'Do you wish to change either (A/B/X) : #aEnter new Left character value#!(must be a printing character) : #` 6No control characters allowed.#ʂp`Enter new Right character value#!(must be a printing character) : #` 6No control characters allowed.#ʂp`<7AX0  "$&(*,.:aX J "EDPSTSThe current flag is : #ʂp$"This flag is to use or not use the#printer status (in BIOS).#1 = yes, 0 = no#(Can printer status call be used ? (Y/N) #@TTY ʂpʂphbEDMENU1ʂ"p˂ɂ [YES [NOʂ"p˂ɂ YYES YNOʂ#pʂ#pʂ#p ʂ#p WYES WNO MODIFICATIONS#You can change these settings: #)0. Border Character (hex value) - #+#)1. Screen height (lines) - #ʂp$)2. Screen width (characters) - #ʂp$)3. Printer page length (lines) - #ʂp$)4. Printer page width (char's) - #ʂp$)5. Auto form feed - #[#)6. Double spacing - #Y#ɂ)7. Send carriage return & Line feed - #W#)8. Printer initialization string (hex) - #ʂpʂp  ,EDMENUʂp+P +ɂ)7. Send carriage return & line feed - #ʂ#pʂ#p " (If 0 carriage return line feed# will default to 0D0Ah.)#)8. Dumb terminal cursor brackets: Left - #ʂp  ! Right - #ʂp )9. CPU Frequency (in 1000s Hz.) - #ʂ p$)A. Baud rate used (for delays) - #ʂ p$ʂ p)B. No. of CRT attributes - #`$C. Use printer status (in BIOS)#) (1 = yes, 0 = no) - #ʂp$X. Exit to CUSTOM MENU.#Enter 0-9, A, B, C or X : #X. Save changes, Exit, or go# to TERMINALS screen.#Enter 0-8 or X : # (EDITMISC˂ ˂ [NO YNO WNO ɂTTT   ɂ (Carriage return line feed ʂ#p  !"ɂ#%&z's(l) e*^,Y0XRT: "C>9*,.02468:<>@BDFHJLNP\-TX._l   v V Zr <$$rGETDATADATAFILC`ɂEFGGetting data from datafile...#HI@JKL INSTALL.datPM+NO INSTAL86.DATPR G)ST UVW# does not exist on#Xthe logged-in drive. This must#Ybe present for INSTALL to run.#ZExiting to system level for#[ correction.#\]``ȁ%a"b"Ɓ%ȁ$cƁ$dBad copy of INSTALL.DAT#eTry another copy of the file.#fExiting to system level.#ghjm"ʂppʂ q ȁ&Ɓ&%ȁ#rʂƁ#ʂpƁ#Ɓ#ȁ&s˂u+X2vRiLZTERMA|#You have selected an ADDS terminal.#}Terminals supported :#~ 1. ADDS M6210# 2. ADDS Viewpoint#X. Return to TERMINALS screen#Enter 1, 2 (or X) : #Ch`˂W1XP   "$&(*,.02468:<>@BDFHJLN^TERMBYou have selected the #ɂApple II#Sirius#Is this correct (Y/N) ? #@CY˂TERMCɂC(You have selected the Intertube terminal#i%You have selected SuperBrain computer#(Intertube terminal).#Is this correct (Y/N) ? #@CY˂TERMD!You have selected a DEC terminal.#Terminals supported :# 1. VT-52 (or compatible)# 2. VT-100 (or compatible)#X. Return to TERMINALS screen#Enter 1, 2 (or X) : #Ch`˂W1XP   "$&(*,.02468:<>@BDFHJLN^TERME'You have selected a Hazeltine terminal.#Terminals supported :# 1. Series 1400# 2. Series 1500#X. Return to TERMINALS screen#Enter 1, 2 (or X) : #Ch`˂W1XP   "$&(*,.02468:<>@BDFHJLN^TERMFɂ>#You have selected a Flashwriter II.#N5You have selected a Vector Graphics (Flashwriter II).#Is this correct (Y/N) ? #@CY˂TERMG!You have selected the Infoton 100#or GTC - 101 terminal.#Is this correct (Y/N) ? #@CY ˂ TERMH*You have selected a Lear-Siegler terminal.#Terminals supported :# 1. Adm - 3A# 2. Adm - 5# 3. Adm - 31/32# 4. Adm - 42#X. Return to TERMINALS screen#Enter 1-4 (or X) : #C) x p h `˂W1XP0*$  "$&(*,.02468:<>@BDFHJLN^ TERMI#You have selected a Soroc terminal.#Terminals supported :# 1. IQ - 120# 2. IQ - 140#X. Return to TERMINALS screen#Enter 1, 2 (or X) : #Ch`˂W1XP   "$&(*,.02468:<>@BDFHJLN^ TERMJ'You have selected a Televideo terminal.#Terminals supported :# 1. TVI - 910# 2. TVI - 912/920# 3. TVI - 925# 4. TVI - 950#X. Return to TERMINALS screen#Enter 1-4 (or X) : #`.For the TVI-925 terminal, proceed as follows :#0Select the proper switch setting on the terminal# 3then, select either TVI-920 or TVI-950 on this menu#!.as appropriate for the switch setting you have#"chosen.##3For additional info on the switch setting, see your#$Televideo manual.#%Press return to continue.#&'h(`)˂W1XP   "$&(*,.02468:<>@BDFHJLN^+`3,i  TERMK1$You have selected a Visual terminal.#2Terminals supported :#3 1. Visual 100#4 2. Visual 200#5 3. Visual 400#6X. Return to TERMINALS screen#7Enter 1-2 (or X) : #89C!:p;h<`=˂W1XP("  "$&(*,.02468:<>@BDFHJLN^?  TERMLDɂGE,You have selected the IBM Personal Computer.#F=G$You have selected the Xerox Systems.#HIIs this correct (Y/N) ? #J@KCYL˂MTERMMR'You have selected the Zenith Z-19/Z-89.#SIs this correct (Y/N) ? #T@UCYV˂WTERMN\#You have selected the ANSI Standard#]#configuration. Using no attributes.#^Is this correct (Y/N) ? #_@`CYa˂bTERMOgɂBh'You have selected the IBM DisplayWriter#ij%You have selected the TRS-80 Model II#k/using the Pickles and Trout CPM Ver. 2.2e only.#lmIs this correct (Y/N) ? #n@oCYp˂qY 8TERMPv*You have selected the NorthStar Advantage.#wIs this correct (Y/N) ? #x@yCYz˂{TERMQ"You have selected the OSBORNE ONE.#Is this correct (Y/N) ? #@CY˂TERMR$You have selected the Oki/BMC if800.#Is this correct (Y/N) ? #@CY˂SELECT˂++  'CAUTION: You have entered the Dealer's #%Custom Installation area. To exit and#%start again, press Ctrl-C. To go back#%press N, then press X at CUSTOM MENU.#)-----------------------------------------#)Y (Yes) will erase all values for current#'terminal. You will need to re-enter all#values.#*N (No) will let you select values to edit.#+Do you wish to erase current values (Y/N)? #@CY ˂VQ˂H??Z8'" *,.02RO+_V x b ^ ^T(tOTHERɂ ˂~`> qi a YQ ID;?X4IC=71+ "$&(*,.02G`X SETDEFAUʂʂpʂ pʂpʂpʂpʂpʂpʂpʂpʂpʂpʂpʂ"pʂ#p ʂp ʂp ʂp ʂ p ʂpmSDEDIT˂ɂC_ɂ* ˂"B#$%&C'')*+,-/`&1Y2˂P3I4@6;?X41+$  "$&(*,.02>7`8 bABORT>?2@&UCASEEdaFd GdH *GETRESPOPQRSTU VWXY`(vTSTBITgehdij 2SETBITwapx`yazj0CLRBITap`aj0WRITEHEX a b# RWDATA`O.` 0 `$, #b`5babb` , #J RHEXAa e` 2e jfgg~ g7 @g g0 $g  ` 2hi f `h PRINTINF/Hand assemble this routine, the origin is at : ##3Then enter the hex bytes that make up this routine.#1X and Y are passed to this routine in the D and E#1registers respectively, and biased by 32 decimal.#For character in call : 17Ah#For character out call : 17Dh#)The character is passed in the A register#&for the character in and out routines.#'The maximum number of bytes allowed is #$. r EDRTNa`#cc #cb cb *(Do you wish to change this data (Y/N) ? #@CN 2` b4c"Enter 0 to unconfigure function or#&Enter the no. of hex values to follow # (max #b$ values) : # 4 4b ` c4 c455` Byte is : #cg%Enter new byte in Hex or press RETURN#!to leave as is (Ctrl-C to end) : # P  2nEnter Hex value (or ?): # P  2 ? ?!# $ 3 %33x&Error - reenter : #' P(  2) ?*`  2+ 3 ,-cg3./g51`]23.Maximum number bytes allowed has been entered.#456)miyndP INSTALL:;Ȃ<Ȃ=Ȃ>Ȃ?Ȃ@ȂAǂBCDEFGƂHƂIY% T>6 l V  nISA valdtn RECD\é8Maintain tm Copyright SORCIM Corp. 1983 CP/M 80 (2.1)EV 000037408080 $V6U#^6+~U#~+6#6U+~r#~Us+z/w~/w#{/w~/w+~#~#yxҞ!T >2T0*++DM!Þ! +rrr#sss! ͔! s õ 1T0*++"04  22222T084! e 22! @ ! !W ! ! ! :T0@ ͖ V4S#R,?Xʵ :2 P :2e>22Ú !'   !   ! s bAOAGOAGOGyA_! { <> ͠ ͠y AG ̾ Aw# G"U0ɯ22qG>, 0‚>O1‰>I_Aҽy3: 0&! !y3N#> 0>^y3! >X>22>XQҐw# >p:2I !S O ͠ WG ~WxC!FW# z ! F ! ! x3ͧ ͍A!y3 ~l! Az3g:}3ʃ!H A:z3G:0ʣ! 72 ! A:{3AG:|3AG!D+w*}0~#¼!- 72 !^ Y ~+w##p#~+6*}0#!D"W02 0: 0<2 0! : 0&! ͖ : 0&! x3ͧ !R/cS@ ͖ ! ͍D*W0R/XʞR/B*W0"Y0"W0: 0 Gʛ! *Y0"W0D  ! *D: 0=/_D*W0 !4  A *W0!L!D+ͭ 1 !D##>^#V]#72"W0ͅ B# 72 ^C#N!B#~#x8+72*W0ͅ B# 72 < *W0@ 72!ͅ !   !9 72 !S s b! y3! ͖ Y¬N´>P !! ͖ CʍX ô!.! ͖ YN P , 1*0bͫ "1# 72* 1ͅ 0# 72 <̾  <̾ I !i!  !! F b͖ !! ab& s I ! 11 e!Q) * 1͠!}) s ͫ xy!) @  72͌ , *0!1 ʯI !0* 72 !7*  #I :02 122*}0~!N*  !x* :2<22@ ~OA2 1yA21 1 1͠ ʹ #~I !0* 72 !* s  *0" 1!0"1!"1 @ B# <̾ *1^#V*1Lz• #^!Bͭ #^#"1!B#!ͭ Û !B !1! 1 M !0~~_Һ # ³ N#FS72 >*1#"1><21>*͠ :1= @ ><21 # !11b>2.1!1"/1~#G:121!1~: 5 zxF G# 0 */1~w#:.1=` !1>2.1"/1xGy !1~w# q xGҥ :1O>22!1^{gz/Lw#:2=22Ž zW{ {z g W g  g  g  W  ` g / / / / @ @ / / W g !@ r @ G:2W Xx22 r r r :2_22 !s#r# ) ̾ _ Ͳ @ !+ !+ ͔>-͠ ͔>-͠ !$+ s ͵ !p+ !+  1T0b62 [2 2 v   :110 >=4 =1 !+ @ @ !+ b !+ [ ͠ !+ I ͖ !+ é ͖ !* ͽ _X ͽ ͯ > Ͷ ï ͽ I > à >O> ͠ ¼ !", ͽ I a { _ > >G~# ͠ :210 yx>#  $  >yx># ѷ' > :͠ I s >  ŗ! 0C < !#w+yw+怰w)  !Q, !2 A͠ >:͠ !y3̀ 6.#̀6"#6$y3  :2! "2!2$bO=I:IA+w# #.n*2n x3 @ !y3~u> ~<!y3N#>Ҙ#~+:˜ ##W ~.±!!2 #½#  @ !y3N#~_ 6 !X, 6^!y3N#~_ @ >N#T]̀pxN#~a*{*_w  w#1ɷzW{_ 9{ozg{_zWyOxGO}io%ɯw# eɯ~w# q ɯG ʍw# „xͱ5 ͱ5 ›ç!5!6$6 #!2>N>06 # >#~6,+Fw+p#F#}o|g >0w#Sx ))#w ''Sx II+w GG *** A memory test is being run, please wait a few seconds *** *** Your memory passed the test with no errors *** Memory error detected at byte (decimal) This is a serious problem. Call the person with overall computer responsibility. Then run MAINTAIN 12 times to check for intermittent errors. If this check of memory gives another error, call hardware service and do not run any programs. PRESS IN ORDER TO: ----- ------------ V VERIFY integrity of a program bought from SORCIM R REVISE a progam (requires a Hard Copy Revision Sheet) S SHOW possible remedies for damaged programs ? HELP - explain available functions X EXIT this program and return to System This program is designed to help you maintain computer programs purchased from SORCIM Corporation. It performs two functions: (1) Check programs to determine whether they are damaged (e.g., lost because of power line noise, wearing out of disks, turning power off disk drives before removing diskettes). (2) Allow nonprogrammers to make revisions (or "patches") to SORCIM SuperWare (tm) using only a typed sheet of instructions. Select the "V" menu option to VERIFY the integrity of SORCIM SuperWare (tm), then answer the questions. It is a good idea to do this upon first receiving new software to ensure that no damage has occurred during transit. If at any time SORCIM SuperWare (tm) behaves abnormally, VERIFY the program (files ending ".COM" or ".OVL") with this function. Please note that this does not replace backup procedures. You will need a good copy to refer back to in case there are errors. Select the "R" menu option to REVISE a program. You may make authorized revisions to programs purchased from SORCIM Corporation. To do this, you must have a Hard Copy Revision sheet, which will have changes to the programs coded so that a user can type the revision with no technical knowledge and without fear of making typographical mistakes. This procedure allows SORCIM to maintain SuperWare (tm) without the inconvenience and delay of mailing diskettes. Line Number : ** The marked character is not allowable here. ** There are too few characters in this line. ** There are too many characters in this line.What is the NAME of the file for REVISION? You should have a SORCIM HARD COPY REVISION SHEET. Please type the revision carefully. There are internal checks to find possible typing mistakes, but be careful. MAINTAIN will only revise a program when all revisions have been typed correctly. -- Type the Revision Code or press Return Key to EXIT -->** This input has the wrong number of characters. ** Please re-type the Revision Code. ** This is not a valid Revision Code. Please re-type. ** This Revision Code cannot be used in . ** Please (1) be sure this revision applies to this file, and ** (2) the revision code has been typed properly. ** This revision has already been made to this . ** Do you want to input this revision a second time?Please type or press Return Key to EXIT ** Please re-type ** The internal checks indicate this line is incorrect. The revision is being processed. The revision typed is internally inconsistent. The likely cause is a coincidence of several mistakes made on one of the lines you typed. The revision must be typed correctly. Please retype the revision with the utmost care. REVISION IS COMPLETED. The copy of the program, has the revision. You should now do the following to your disks: (1) Save one copy of the program before the revision with a name ending in OLD, (SC.COM --> SC.OLD) (2) Carefully replace ALL copies of the old program with the revised copy you have just made. Do this now to prevent confusion. Please note that if you are confused about which copies of a program have a revision, run MAINTAIN under the option "VERIFY". This will show what revisions have been made. (3) After a couple of weeks, destroy the copy of the program with type OLD to prevent confusion. Your input: -- Is this correct? Press Y for Yes, N for No -->-- Press C to continue or X to EXIT --> -- Press Y for Yes, N for No, or Return Key to EXIT --> has check values placed. What is the NAME of the file for VERIFICATION? -- Type file name or press Return Key to EXIT -->MAINTAIN is now checking for possible errors ** This file cannot be found. Be sure the name was typed ** correctly and that this file is on the correct diskette. records have been read from No validation record has been found. SUGGESTED ACTION: Be sure this is a program file (suffix .COM) or overlay file (suffix .OVL) which has automatic validation (dictionaries and text files have no validation records). If so, this file is lost and you must follow the damaged file instructions. SUGGESTED ACTION FOR DAMAGED FILE: (1) Notify the person in charge of the computer. (2) Make a backup copy of the damaged file and delete the file from the regular disk. (3) VERIFY your best backup copy of the file with this program. (4) If it checks, carefully replace all copies of the program with the good copy. Be sure you have backup copies of the good program. (5) The damaged program may have produced other inconsistent files or indicate that hardware errors exist. Watch out for other errors in computer results. HOW TO AVOID DAMAGED FILES There are 3 major causes of damaged files. (1) (MOST COMMON) The diskette was worn out (old) or damaged by mishandling. All diskettes eventually wear out. Their life will be considerably longer if handled carefully. (2) The file was damaged by another program, in particular, file manipulation programs such as PIP. Although it is rare, one must always note whether some programs, particularly new ones are responsible for damage to other programs. (3) There is a hardware error in the system. In most cases, system operation simply halts. However, infrequent errors do sometimes occur and one must go to backup files and hope that the computer can be serviced. The validation record appeared at position rather than at the end of the file. It will not affect correct performance of SuperWare (tm) if the file validates. This file has ERRORS in the last (validation) record**** has ERRORS!!! **** No revisions have been made to this file.Revisions have been made to this file in the following order: has NO errors **** -- Press X to EXIT or any other key to continue --> System or data error CODE # 1) Run MAINTAIN to verify MAINTAIN.COM. 2) Copy files to new diskette. System file error - serious only if repeats. Control logic error. ** Your answer "" cannot be used, please answer again ** -- Press any key to continue -->-- Press Letter --> ** not found on Disk File " is incorrectly formed file name -- Enter name of file containing patch or Return to EXIT -->-- Enter name of file to be patched or Return to EXIT -->in Patch file complete. Enter for M for More files or X to Exit this Menu -- Press Number or Letter -->Out of memory. Program needs bytes (decimal). MAINTAIN (tm) Version 2.01 CP/M 2.2 Copyright 1982,1983 SORCIM CORP. San Jose, CA. What is the name of the MAINTAIN file to be updated? Enter file name or press Return for default name or X to exit: MAINTAIN is now updating not found. Update Complete. cannot be rewritten. Now reading size does not match internal data. Unable to add validation record at this time. Copy files to new diskette. SystpBNISA valdtn RECSRCM valdtn REC00000SRCM valdtn REC7PL2 the MAINTAIN file to be updated? nter file name or press Return for dfault name or X to exit: MAINTAIN is now updati <>., ;:=?*]['d PATRevision created from file , to be applied to file . The Revision Code is Line Number $: *2*0L4*2"0*0E!o- ͠!- s ͵ !- !- 24!- 24!- 24!- 24!- 24!. 24!. ldtn REC0SRCM valdtn RECIgh{H@CSuperCalc Ver. 1.06 ** A Rule of 78 Demo Program from SATAN 08/31/82L  P9  P  9   #"** A Rule of 78 Demo Program from SATAN 08/31/82 "Principal *AD100000 "Rate/Yr *A@.15 "Rate/Mo?PB3/12 "Term-Yr *@A 2 "P'mnts # *B$B5*12 "P'mnts $BHHfGq(EB2*B4/(1-((1+B4)^(-B6))) "Int'st $C6yTQ(B6*B7-B2 '= "Month # "Principal "Int'st Pd "Prin'l Pd "use ';' to jump back and forth and arrows to scroll @A1 DB2 B Cc`b@B8*(B6-A12+1)/((B6+1)*B6/2) B59"AaB7-C12 A A12+1 CFqXtB12-D12 BTeIhB8*(B6-A13+1)/((B6+1)*B6/2) B5xXxvB7-C13 A0A13+1 Ci3B13-D13 B1fdsB8*(B6-A14+1)/((B6+1)*B6/2) B6H4qB7-C14A@A14+1C!5"66B14-D14BEuhuy`B8*(B6-A15+1)/((B6+1)*B6/2)B7yUReAB7-C15APA15+1CQW'&@B15-D15Big83B8*(B6-A16+1)/((B6+1)*B6/2)B7WFxYhB7-C16A`A16+1CuYFBCB16-D16B6cqB8*(B6-A17+1)/((B6+1)*B6/2)B8vR&SB7-C17ApA17+1Cwb1IB17-D17A w'IhB8*(B6-A18+1)/((B6+1)*B6/2)B8fXucH!B7-C18AA18+1CtD1"B18-D18AuB"%3B8*(B6-A19+1)/((B6+1)*B6/2)B9!sIBHB7-C19AA19+1Cp# B19-D19A)WW9gB8*(B6-A20+1)/((B6+1)*B6/2)B9upq76tB7-C20BA20+1Cf'vI60B20-D20ArUA@B8*(B6-A21+1)/((B6+1)*B6/2)B@0&pEt1B7-C21BA21+1Cb%"q B21-D21Av87qq3B8*(B6-A22+1)/((B6+1)*B6/2)B@h%(B7-C22BA22+1CXvPgB22-D22ApxTgB8*(B6-A23+1)/((B6+1)*B6/2)BA98gBHTB7-C23BA23+1CS %rB23-D23AeG3B8*(B6-A24+1)/((B6+1)*B6/2)BAeB7-C24BA24+1CIsCbIG4B24-D24A`X3 ci3B8*(B6-A25+1)/((B6+1)*B6/2)BBHPd9"B7-C25BA25+1CEHXV%&SB25-D25ATUH6&gB8*(B6-A26+1)/((B6+1)*B6/2)BCbY4B7-C26BA26+1CA'vI60B26-D26AI8cS$B8*(B6-A27+1)/((B6+1)*B6/2)BCWba5aB7-C27BA27+1C6QcbvdB27-D27ACdxxiUA3B8*(B6-A28+1)/((B6+1)*B6/2)BDY2B7-C28BA28+1C2A)wdFGUB28-D28A8gB8*(B6-A29+1)/((B6+1)*B6/2)BDftX2iB7-C29BA29+1C'b1IB29-D29A2sY VB8*(B6-A30+1)/((B6+1)*B6/2)BE!0VyAB7-C30B A30+1C#BI&B30-D30A''$G3B8*(B6-A31+1)/((B6+1)*B6/2)BEuU)CshB7-C31B!A31+1C``CsB31-D31A!994wpgB8*(B6-A32+1)/((B6+1)*B6/2)BF0BSwgB7-C32 B"A32+1 C!5"66B32-D32 A6yTQ(B8*(B6-A33+1)/((B6+1)*B6/2) BFR&b!B7-C33!B#A33+1!B3dFB33-D33!Aig83B8*(B6-A34+1)/((B6+1)*B6/2)!BG9TPtTVHB7-C34"B$A34+1"BGI"PqB34-D34"@TUH6&gB8*(B6-A35+1)/((B6+1)*B6/2)"BGI"PtB7-C35#B%A35+1#0B35-D35#B8*(B6-A36+1)/((B6+1)*B6/2)#BHHfGq(EB7-C36$B&A36+1$HHfGq(EB36-D36$TUH6&gB8*(B6-A37+1)/((B6+1)*B6/2)$BI"Fe9(B7-C37%B'A37+1%—Q2B37-D37%ig83B8*(B6-A38+1)/((B6+1)*B6/2)%BIWxDh3TB7-C38&B(A38+1&psayB38-D38&6yTQ(B8*(B6-A39+1)/((B6+1)*B6/2)&BP4C9'B7-C39'B)A39+1'r STWB39-D39'!994wpgB8*(B6-A40+1)/((B6+1)*B6/2)'BPfAdv"B7-C40(B0A40+1($x"4xB40-D40(''$G3B8*(B6-A41+1)/((B6+1)*B6/2)(BQ!F@4B7-C41)B1A41+1))52HAB41-D41)2sY VB8*(B6-A42+1)/((B6+1)*B6/2))BQv8aPaB7-C42*B2A42+1*5d!GIGB42-D42*8gB8*(B6-A43+1)/((B6+1)*B6/2)*BR0X7 B7-C43+B3A43+1+@1iFB43-D43+CdxxiUA3B8*(B6-A44+1)/((B6+1)*B6/2)+BR5X#B7-C44,B4A44+1,E`!7H(YB44-D44,I8cS$B8*(B6-A45+1)/((B6+1)*B6/2),BS9p4`AB7-C45-B5A45+1-P@i!B45-D45-TUH6&gB8*(B6-A46+1)/((B6+1)*B6/2)-BS&2ThB7-C46.B6A46+1.V3aDGB46-D46.`X3 ci3B8*(B6-A47+1)/((B6+1)*B6/2).BTH14B7-C47/B7A47+1/axI'$wB47-D47/eG3B8*(B6-A48+1)/((B6+1)*B6/2)/BU8)Qqv!B7-C480B8A48+10g(yB48-D480pxTgB8*(B6-A49+1)/((B6+1)*B6/2)0BUW(pHB7-C491B9A49+11rbRB49-D491v87qq3B8*(B6-A50+1)/((B6+1)*B6/2)1BVP&HEdtB7-C502B@A50+12xEUdW1B50-D502rUA@B8*(B6-A51+1)/((B6+1)*B6/2)2BVg$YB7-C513BAA51+13ÄXH!B51-D513)WW9gB8*(B6-A52+1)/((B6+1)*B6/2)3BW!b#ES(B7-C524BBA52+14Ét@IxTB52-D524uB"%3B8*(B6-A53+1)/((B6+1)*B6/2)4BWv!VGTB7-C535BCA53+15Õb6"h6C)B53-D535 w'IhB8*(B6-A54+1)/((B6+1)*B6/2)5BX0t AAB7-C546BDA54+16T6G%WuB54-D5466cqB8*(B6-A55+1)/((B6+1)*B6/2)6BX006B7-C557BEA55+17s9ffB55-D557ig83B8*(B6-A56+1)/((B6+1)*B6/2)7BY98g04B7-C568BFA56+182yRTUAB56-D568Euhuy`B8*(B6-A57+1)/((B6+1)*B6/2)8BYB$aB7-C579BGA57+19sAYfB57-D5791fdsB8*(B6-A58+1)/((B6+1)*B6/2)9B`H5AB7-C58:BHA58+1:S"wB58-D58:TeIhB8*(B6-A59+1)/((B6+1)*B6/2):BaTxB7-C59;BIA59+1;&G&`xB59-D59; Cc`b@B8*(B6-A60+1)/((B6+1)*B6/2);BaX2AB7-C60<BPA60+1<uW7B60-D60<cb #VgB8*(B6-A61+1)/((B6+1)*B6/2)<Bbf RhB7-C61=BQA61+1=7#GsFB61-D61=U`W`PB8*(B6-A62+1)/((B6+1)*B6/2)=Bbg"(B7-C62>BRA62+1>dEV5B62-D62>sYE B8*(B6-A63+1)/((B6+1)*B6/2)>Bc!xw%!B7-C63?BSA63+1?c#by`B63-D63?'gWT49GB8*(B6-A64+1)/((B6+1)*B6/2)?Bcv4%bHB7-C64@BTA64+1@'bWh#wB64-D64@#Vq3sB8*(B6-A65+1)/((B6+1)*B6/2)@Bd0sxtB7-C65ABUA65+1AGqy#VB65-D65A6yTQ(B8*(B6-A66+1)/((B6+1)*B6/2)ABdF"6sB7-C66BBVA66+1BVxt`)B66-D66B5RE"'B8*(B6-A67+1)/((B6+1)*B6/2)BBe@psg(B7-C67CBWA67+1C"tr3B67-D67CEQGSB8*(B6-A68+1)/((B6+1)*B6/2)CBeWaTB7-C68DBXA68+1DSsDXB68-D68DGIB8*(B6-A69+1)/((B6+1)*B6/2)DBfIgGUB7-C69EBYA69+1ETbgqXB69-D69EUHDVB8*(B6-A70+1)/((B6+1)*B6/2)EBgiPB7-C70FB`A70+1F !f7gtvdB70-D70F YF3B8*(B6-A71+1)/((B6+1)*B6/2)FBgX%d!D4B7-C71G#"STOP!! end of the Table go back the other way&IF(AND((F3<=E39),(F2+F3>E39)),LOOKUP(IF(E39-F3>=0,E39-F3+1,0),E9:E19)*F4,0)&IFSuperCalc ver. 1.00 THIS IS A SAMPLE SUPERCALC WORKSHEETP7         $"THIS IS A SAMPLE SUPERCALC WORKSHEET "JAN  "FEB  "MAR  "APR  "MAY  "JUN  "JUL  "AUG  "SEPT  "OCT  "NOV  "DEC !"TOTALS A SAM!"NET SALESSAMP1000SDB4+(B4*.10) DC4+(C4*.10) D1D4+(D4*.10) DdE4+(E4*.10) DQF4+(F4*.10) DqVG4+(G4*.10) DHqqH4+(H4*.10) D!CXI4+(I4*.10) D#WvJ4+(J4*.10) D%t$`K4+(K4*.10) D(SgL4+(L4*.10) E!8BvrSUM(B4:M4)""COST OF GOODS SOLDP300T C3B6+(B6*.10) C60C6+(C6*.10) C9D6+(D6*.10) CC0E6+(E6*.10) CH1SF6+(F6*.10) CSh0G6+(G6*.10) CXFH6+(H6*.10) Cd0vd0I6+(I6*.10) Cps0sJ6+(J6*.10) Cw"s0K6+(K6*.10) CY53L6+(L6*.10) Dd(Q00SUM(B6:M6) '-(Q0!"GROSS PROFITCpB4-B6:M6)CwC4-C6:M6)CpD4-D6:M6)CE4-E6:M6)D$F4-F6:M6)D'5pG4-G6:M6)D@ 'H4-H6:M6)DdpI4-I6:M6) DQ!gJ4-J6:M6) DPV3pK4-K6:M6) Da"L4-L6:M6) D'pM4-M6:M6) EcpGSUM(B8:M8) #"RESEARCH & DEVELOPMENTALC WO P160EA C`B10+(B10*.10)  C6C10+(C10*.10)  C!)`D10+(D10*.10)  C#BVE10+(E10*.10)  C%v`F10+(F10*.10)  C(4IvG10+(G10*.10)  C1s`H10+(H10*.10) C4)t I10+(I10*.10) C7rqc`J10+(J10*.10) CAIy6K10+(K10*.10) CEdg)w`L10+(L10*.10) D4!HTu6SUM(B10:M10) !"MARKETINGUM( P200KE C"@B11+(B11*.12)  C%C11+(C11*.12)  C( `D11+(D11*.12)  C1G E11+(E11*.12)  C5$h3f@F11+(F11*.12)  C9GdSp6G11+(G11*.12)  CD!6(!`H11+(H11*.12) CIQcRXI11+(I11*.12) CUFusJ11+(J11*.12) CbidhK11+(K11*.12) CiW i(L11+(L11*.12) DH&bfT$I`SUM(B11:M11) ""ADMINISTRATIVE: ) P140IN CB12+(B12*.08)  C2C12+(C12*.08)  CcYhD12+(D12*.08)  ChEDE12+(E12*.08)  C WRF12+(F12*.08)  C"!b@RG12+(G12*.08)  C#59v)(H12+(H12*.08) C%0"9F4I12+(I12*.08) C'`dwbJ12+(J12*.08) C0"IIK12+(K12*.08) C2d)EdSL12+(L12*.08) D&VywC2SUM(B12:M12) '-yw #"TOTAL OPERATING EXPENSESC WO CPSUM(B10:B13)  CUSUM(C10:C13)  C`wvSUM(D10:D13)  Cg(SUM(E10:E13)  Cs(2dSUM(F10:F13)  CXUsSUM(G10:G13)  Cvp"HSUM(H10:H13)  C8fAQ4SUM(I10:I13) D)pt)%SUM(J10:J13) Dt)FXSUM(K10:K13) D8Ay402SUM(L10:L13) Dxc1#CHSUM(M10:M13) EI v1wSUM(B14:M14) ""INCOME BEFORE TAXESNC B8-B14:M14)C!C8-C14:M14)C#$D8-D14:M14)C&rE8-E14:M14)C(TAg6F8-F14:M14)C1&G8-G14:M14)C3wQH8-H14:M14)C75UHeI8-I14:M14) C@2 'WPJ8-J14:M14) CC58U4 K8-K14:M14) CGrxqfL8-L14:M14) CQCV0Be M8-M14:M14) D@duaR(SUM(B16:M16) !"INCOME TAXESBB16*.40M16)BRC16*.40M16)BhD16*.40M16)CEWE16*.40M16)CAvf@F16*.40M16)CFE0C G16*.40M16)CX9A`H16*.40M16)C"UI16*.40M16) CpcJ16*.40M16) CU&BhK16*.40M16) CqHfxrL16*.40M16) C tBRM16*.40M16) D%cUP$`SUM(B18:M18)  '-cUP!"NET INCOMEM(CB16-B18M18)CC16-C18M18)C54@D16-D18M18)Ch6 E16-E18M18)CeA`F16-F18M18)CigdG16-G18M18)C 8)YPb@H16-H18M18)C"!A3)3yI16-I18M18) C$)V PJ16-J18M18) C&2!# RK16-K18M18) C(c!#L16-L18M18) C1&x%YM16-M18M18) D$8E3%67SUM(B20:M20) chSuperCalc2tm Copyright SORCIM Corp. 1983 S/N-000161 CP/M 2.2 1.00DP 123037408080Ϧ#6U^f^Apple II SC TXT`PBCTRL-Z  s*T||<>   +1$$**>}>=}z}{}!!mw!nwC506 % Command aborted due to disk error SuperCalc2 program diskette MUST remain on disk drive . Remount and press to continue.6:c@2 ͤ^U^*a :cO7_!Á!"[`"V`*a!">2[0 1m7%-*a>2;c2T22$2$2$2 13*|!"R.Þ > s#r ^#V>w#>#OɇO'/pɇO/7>1$'#~+F:oc"@O!K ~#dO/7>{>Oʒrj:@O!K q#q:AGyçyOҧʁyrš:AGyüҼ+Owy·:@O'7}o|g#)))+)))!C ~#fo:@_BW{/Owy #zO'#{z!G ^#V!K s#r!I ^#V!G ~#fo`t* ! ~<O~# x^""|7~<O~# x‚8ښi!::!"!~<ºwM! J ~! ! '2 " ! F4xWx<<2 =W! K ~!!'2"x<!4~2=_b>Oy+#+: =چ: =چ! J ~ʆWK! ~ʆ_{Oz0O{_z_P! ^#V+}7_:B=Myʟ72 2 2=2! w#w#w#w#:B=>2!~2{`Dbk͞!  ~<O~# x! ͎͞ ͨ! ͎*"" ">2! G:e7Ȁ<< >xx2rg>2pgͨ*[`U\ͻj >͈T :rg͈Z >ͣ!-wq#p  i : O ʑ *)-}!--7:qg 2pg*":rgG x͈T : ͣ :rg͈T 2 "" >2:rgo:qg2 ! J : w! K :w! ~ r! ~ s*|& :w!5* |7 : w! 5!"" ' :pgͨ8ڔ  ip : *"ͣ ‘ >ͣq#p':`hʉ/4:cO_!cc^2c/4!cc^y!`̓\^#V#N#*jc͊L!`ha_L/4!!q#pfn) 4k)ol)l) l)Un)ch) 4!g"w""ggo"g9"! :]p*+~F2+~2V+^+~2"w͉]~~hv#^#V#~W###""|03y:(I###I"*~ ʱڌ ڶ:Ÿ*g͉]Ϳ2:> ø>,#"ï2=¿X3͒*+F:w#:w#"2w#s#r*^#"!~#fo2:e͊#KF4:N:9c=!l̓\~29cR.:42.424:/2p6͒*N#"*^#V#"͒:(>ú͒:>*͉]|03"2*~w71*>,ͩ2!471 I2͒͒)͉͒y2)*##%͉!~4!~g̓\q> ê> 2> *"ï:ev:e">?}:e'>?}.P: ʉ.B ʉ.C4ù>n) 4ùqù>ê>2>,2*e">2I?[* ʭʭ!G:x }ҧ! öIU[as?va:¹:e/ʹ:eF2e2e2:2e)3ù:e2)3ùù2Ð;3*|ʹ%"ù3!4ù:ʌ3!4ͩ2ڹ͙ù*,|ң$"#ù2:,:I2:O͇3ai"%ù: 22*l"&3:e2eO:Gy:eO2ey2e:  1(ͧ7y2Ô:9c2*[`"*V`"2: (ʹ:e`:e'ʹ"ʹ!~mwù:9B:O!~wyͿ͞0y2*}oe"À2I2(:29c*"[`*2*V`͉]^(ù"V`4ù:edҹ!e̓\!{c~ʹ+~@r>:r#c͉]lc͉]>.r~ LI&3ù!e:eڃ4+4V2͙6! ͉y2 gڳ ҳgy G*+~!e̓\:Ox:2 *g*gU"g"g*g*gU"g"g>271*++":_!1$!CO N#fiɞ0007i88|\bW}k_:.4:!O###~ȹn#^#V![V ^ <>6!c2r72O ʬ:ehҒ*F#y? !öIh4Ò>n) 4Ò%ÒqÒ~ʒ5l#~###:I2.!-b2yA̓\.##"x2ͩ2!4y271*g͉]>͊*InO*g͉]y͊!"R.>2[0gA =>'!A;H/&  _B$ $ $6!$$b LEnter cell to jump to.-Calculating..3e## 8"Enter A,B,C,D,E,F,G,I,L,M,O,P,Q,R,S,T,U,W,X,Z,?A,B,C,D,E,F,G,I,L,M,O,P,Q,R,S,T,U,W,X,Z?XDArrange,Blank,Copy,Delete,Edit(into current cell),Format,Global,Insert,Load,9Move,Output,Protect,Quit,Replicate,KSave,bTitle,iUnProtect,pWindow,{X(Execute),Zap-ENTIRE-Worksheet? ap rurnEnter RangeBlanking...chFrom? (Enter Range)To? (Enter Cell), then Return; or "," for OptionsTo? , then Return; or "," for OptionsN(o Adjust), A(sk for Adjust), V(alues), +, -, *, /N, A, V, +, -, *, /Copying...Replicating... CwENAV+-*/ qch       R(ow), C(olumn) or F(ile)?Enter Row RangeEnter Column RangeEnter File Name (or for directory)Deleting...RRow,Column,File,ap bpap rpchOU {hFrom? Enter cell A~# 8"Xp Jql Nlap phA(ll), P(art) or C(onsolidate)?Loading...OU MAlliPart,uConsolidatez.ch  map Cq{inr rrhEXIT SuperCalc2? Y(es), N(o), or T(o)IYNTo,}%OU mTo? (Enter Range), then Return; or "," for OptionsTo? , then Return: or "," for Options% "p (pl lhl 8mOU phY(es), N(o) or C(ontents)JYCN:`_!~# x:N`W 1*gͯ~Oy ~9!d##0!g6#6-:d`G:f`:^`G:``17(*gZ'![`r#s|O}s!V`s#$s#~s#~!f`z҂:d`WÉGzW!``{Ҙ:^`_ß$G{_:Z`ҧW:R`G:T`G>Ҹ_!V`r#s1Ö$:c:c:W`ͬ%2W`:V`ͬ%2V`ͬ%:c7(ͬ%7O:k`#:9c=Þ:%(2$2$^(:%ȯ2%Ö$2y;>2y:%WG2%x%:c%é$!Mc:9cgJ.32$:y:k`_:9c2Mcz>29c27bk:k`:f`ʯ:f`G"0z6:f`:``6>á>2$:d`6z!f`6(z2[`!V`5:ch$:ch$ͬ%:d` 5ͬ%h$z>29c27:k`X >C #"0>>O >6:``_7 >2${6({2\`!Y`~!W`4:c:$:c:$ͬ%:Y`Ҕ 4ͬ%:$z>29c2:k` 7bk:`` :``G#"0z6:`` :f`6ú >2$7:^`6{!``6({2\`!W`$5:c:$:c:$ͬ%:^`0!5ͬ%:$z>29c27:k`t!>>_!>"0>>k!>6:f`WS!>2$z>6(z2[`:X`!V`4:cʲ!:c²!ͬ%:X`>ү!4ͬ%:[`!V`h$:[`W6͍,O!U`Fh$:S`G~<Ҏ!:V`G:[`OGy2V`:ch$ͬ%!V`~wͬ%h$ͯ"~ "z7ȁW""gͯ/"~ "{7ȁ_#"͊:eM"'M""p":eȯ2qg /4!e""^(!emfF;9x2mg!d D[ڢ"~¢">P2qg "!dR<ҵ"2!--/4:mg2e:N<2qg>  /4*P< ~# x"!d"1:ck"e#]7#:cͬ%#ͬ%:V`W:]`7#:``T#T#:^`g{7#:W`_{7:b`G#:d`W>2$6)2$$g:W`7#7#3|01: O: G:bʘ#{ү#zҔ#ͳ#È#Á#zү#{ҫ#ͳ#ß#Ø#^(ͯ$~G$x$ R2%*$:W`_:Y`WÒ%:[`W͍,O'~':%=%$:c\$:c\$ͬ%b$ͬ%b$$Ͳ'ø$:%=%$:cʊ$:cŠ$ͬ%͐$ͬ%͐$$ &ø$:%=%:c%>2%*$ &Ͳ'͸$$:%<2$$2$:%$2$^(:%$2%$2%ɯ2$$R.3!"V`"[`:%G>2%:%%x%6$*$b%:%\%:c@%ͬ%b%ͬ%:%\%(^(:%V%2)3$$$J.V%!V`V#^Z'/4:% &:%Ͳ':%:W`_:Y`W͒%z:%:$7̘+6)Ò%:c=%!j`6cc>%cc.%!j`c6c>%cc.:c怵2c!R`>%:Y`2Rɷ~w#=%:P`_!mf ]6:S`W:b`GL&!d`F##N&V&OG:V`O':f`=X&A:V`G?&x=2X`!f`܄':l`*R`zW:%͒6:%!mf:S`G:U`̓\6:G®&xą55mf͵^5Ē5͟5mf͵^͒5*R`zW͒6ͅ5é5x6!U`&~=&7/4xx6!U`&&W&z!S`!mf̓\:Rwx'''$'''6 x5'=7'̓\P;6 =̓\:Rw6=!U`?!^`{k'!d`z܄':]`!'-!]`Ô':[`2V`:b`!'-!b`]>2$Title Cleared5*R`:``':l`:$'>2l`!^`N##Fi&"Q((2l`:``$o:W`Oo&"Q((:%:Q(=2Y`!``k'5:%:T`#(:l`̒6*Q(#"Q(S(,]:l`̩^ x:T`=(xxx|d(R./4,:ʓ(“(:[`6͒67>2(Ϳ(2(Ò5:[`6Ϳ(:[`6=W:U`=Ҳ(W͒6͒5͒6Å5!(672+67ͮ+(!,+(:$2$6)2$:S`O!d`F##V,:U`W>x6O)):b`/)HAOx0)x<2Z`>25):$ʖ):ʖ):cʖ)2$:b`:V`t):$:d`t)G:V`W͘+|)_͍,,͒6*6|5625)"6:b`ʹ):d`W:f`=*WOzҹ))î):V`WW:X`<*W:X`):%)/4:%)))a,2$:$7̈+*ͮ+*:$*!$*+тW2R)*т' ͮ+TT**ug*sg,I,*sg~ Ľ55"ugͯ-+! ~,+z-+ͯ"sgz6o& DMn*z21+*sg:j` *~,+#7y++x++*sg~* ~9!d*##~'*t͉]++**ugz21+Q20+'+"+ :R_`i͉],+ :1+G:vgG:0+7ѯ7/4{7Q+:]`H+a+Q+:b`r+ͮ+[+!,+ѷ!V`z##~!c`À+!d`z##~!W`{##~!V`zO:d`å+!W`{O$:^`ʬ+؁7͈+ڵ+W͘+ڼ+_ͯ>,:62R:j`͝P:(ą5,:(,I,~ Ľ55ѷz6̓\6+ ͍,,͒6~ Ĵ5:X`6W:U`:X`W͍,:U`ؒ.,S,z͍,O6.:$:5).,G> l^s,25):\`_,:[`WÍ,:S`O:b`ʹ,!d`F##zڪ,ʪ,V,!f`z,,G:V`G,Qx6O,!``{,:W`O{,++_:R`_*||0)3|0%1r7l^3:.4ȯ2.424-")-+-37*)-:W:_#͒65ͩ^5Enter codes (CR when done):Enter CTRL-Z to STOP printEnter number (0-255), then return.Memory FULL Formula ERRORRange ERROR Column ERROR Row ERRORProtected EntryCannot delete fileColumn Range ERRORRow Range ERRORy~l^# 6.2Q.].>2Q.0-! "/".0}2/200! V#^!,0:10:6 2107!/:6 7z6o:[02\0}2[0&0,]7ͯ.F/&/:Q.3"Y0>0s/~.~!R0/ ~9!d"Y0/##~!L0'/!F0F/&/>0ͩ^ͩ^*Y0 :O6.ù.!X0:k`:/:9c!̓\~2//]0:Q.*zn/:4k/ 0:[0g:\0n//|0> ~ ʍ/>P#7x>L£/x@>Rʥ/!/x ʱ/!/x/y/>Ty!//O ~  $IEG*H LR12345678> Awaiting keyboard entryWidth: Memory: Last Col/Row:ccrrr ? for HELPR$TL Rtxt=Text=Form= k05q0é^q056:==_Ò6͑05:=_͒6é^:=_͒6567s#r#s#r!mf:b276#r#6#r!mf;b27s#6#s#6>!mf:b21b2!ey]:2e͊!"01!556!4:_Ò6*T2!"T271"T2ɯ2%:T2¹1H1#55G>x2U2:ʇ1o1!U2‡12Ú1:U2‡12ʇ1[š1i1::U2•11 G:.4x®1!021!102E1ɯ2T2:U2G:<1:9c11:1*|1x>x>x:1x    2>]/4!5~552:G~@2D2##22x7#~2U2!T26!e4#~+#4!e:e22̓\~ʝ2:2t?ڝ2~ #!e:eږ24+4V2s26&3ͻ3:et?2!e̓\wV2l^32!e~5ͭ33!e>s~#2+4ͻ33> é2!e:e̓\~!e>s~4+O ~!e̓\T]͞]6 112:O6.3!e~#~5+O~2%:|³44ʻ4 7:.44.^!5 5;&44O5-U^>242.4F/3U^>]>]4-w4 User abort!5~15]5þ4N5#5!)-~6#6R.5*5~#k5"5ɯ25!"5"5!:<̓\͉]!:z6:\l^:€6:^l^:6ʒ5n6:?ʅ5t6:6n6:?t6:ʴ5Æ6:ʽ5Ì6:>25b6:5h625>2[0/6!"6Fx#~%6~])6~f^#6!6:6G!~6:<*6G> l^N6Ò6_6é^ !6!6!66!?6!#6!,6!6!6*6͉]{z_W"6!a|]Z!aw!a̓\~6:g`!a̓\#6z!a̓\#7!bo|gyw!bzW~GOxG766{47}47y47:h`Oz'L7|'L7x'L7:i`'zd7|d7xd7:i`GG>f^a{ !V`z#{#~#~!g{ڥ7#zڥ7#~ڥ7#~7!7:R:e7!e_7H͏]*[`U\!gN#F#^#Vmf;!e8]8w#w#: =w#: =wv:I8#s#r#s#r+~:58b8[8#v:[8#~[8s#rp88b8!--ѷALLp8-mf;: ʙ8!e8]ڙ8: =2g2gͳ:8x?86#p#6#p: ~8:888#ͳ:8~8x?8p!.7!-78-mf;: 9!e8]9: =2g2g:#BKy9xy9yy9q#6#q#6>+: ~L9:T9q9y9#:s9zs9{s9#~s9s!%.7!-7d~"̵99—9#Á9~¨9!fD]Ó9e::Ó9#~9"¸9#~"ʸ9>2fe!d~#9d~"̵99A:[:#9L$:`:͏]=:Ͷ]9E=:+:~#:0=:::v:"^:"\::*\:m:*^::LOG10~W#^zw#{4:>G7ê\;&#}d:,]: :5]:0#6z;;6B;6A#Aw#6xD;~# @; @;a>;{>; !;~"W; k;#H;u;~"W;u;~"W;r7u;H;#N#ʘ;yGy̓\{;#7# yʫ;ʙ;Â;`ö]!`:*;̓\6*;^#V*;?_7<^#V#~Ã\`g !dD"P3E]Eo<ͅEͳD=DͼDŸ=2O<"P<ͅEͶDʟ=+~6!="E<>;2I:2I<2WD2XD2{`!`"C2O<7ͪD. >0=:AA=[AʡKҩB"7?,=t?í=>+{;ڟ="K<G:I<;x>3>4ɾAß= --++ --= ++= -- ++ / ^ ** * + (6 )7 = <> <= >= < > - % PI TODAY ABS INT EXP LN SIN COS TAN SQRT LOG10 ASIN ACOS ATAN ISNAISERROR DVAL MONTH DAY YEAR! WDAY" JDATE# DATE$ MOD% ROUND& IF' AND( OR) NOT SUM* MIN+ MAX, COUNT-AVERAGE.LOOKUP/ NPV0 NA1 ERROR2!D ]D*K< ~ʟ="[?#~"h?xʟ= ~#I?"K:2I<ͳDʟ=+~6ʒ?ͅEt?͉]ʟ=+~1ҟ=$ڟ=!?öI=A>A>AMAAA?????@A F?K?K?D*C<++++D:{`DM*C<+>Bw"C<*C<+++^+V~#~AŸ=>w;B"}`ͪD:Ÿ=;B"`*}`"`:`Q@!k@F@!t@"`:`Ÿ=:`!b@^@!@"`:`GzÏ@:`G{Ï@*`:`Ù@:`Ù@*`*`˜@7Ù@"` @/@t@͉]ʶ@@͉]Ÿ=&A*`@͇@@UB*` ͔Oҿ@t@*`͉]@*`:~`ʆB%,>A*`:}`ʆB-$>>ڟ=UB*` ö]o)*C<~*C w*C<~pA?hAHEwD„AHEwDIŸ=2M2UE~ wD>(àA>)AŸ=?A(ʼA> A>A(A>A> wD+VED[ڢ=>"K{;کBG B>"K"Kʟ=e:#"K<ɯ2{`^G͏FxĕB2WD iB͌B-NʆBE>2M>2UE*E<++~͌B*/ͳDâAB~:B,ʼB)B=2XDBBUB>2N<>92O;*KB2I<| CbW}Ck_"}`"`: =#Co: =,Cg"`ͳDʟ=+~6Ÿ=+~*ڟ=/ҟ=2cD!C̓\^#V"`*C<+++^+V"`:WDrC=2XD ^+V"`+ͿDҟ=:{`2|`!"C2{`*`,:`ڻC"`C:{`’C*C#"CÒC:}`o$:`ҡC*C Y]2Y*`Y#~ CYDD[G:|`2{`>;YB:cD+ D,"D:WD:XD"D2XD*`9D*`*`DMG*`͔O[M*`͔O[M&D.D=DLD&DERRORN/AA*K<~#"K<g*E*C wEbpKD͏FD͏FfFĀBMErF̀BEMʄFĀB;F~̀BBE͗F ~D'PE?ʸF!DûF!DD[MED >wE G̀B̓GGG G̀B̓G6GG G̀B̓GeG*rH!HID ~H!*H͔OH0G!HMHMH2N2XD3K:WDE##~++NENF͔O:dK]KEFEF:UEoK:MD*E<+"E<~2M~2UE=J7J>2N<͆B"KB>2N<̀B"KB lK%mKJmKfmKmmKmKmhKkKjKiK)EyзO LͶ]w#G LpB +{'wzG ,L  +' BL 7+>'w SL ~zL# iL`M +¼L'G'w+>GG “Lx=L#6LP''w+ LL#6|LL@dM@wL`ML`ML!~MSM!MSM2MO~2M2MEMO#!MKH!MK!M~@w/TM>2MQMqMM*M|M}2MoN!~MM OxO~w #r# OQM~MN!~MMͯO!MM,w! Yê\2R#7+x2Q'Pz6G!mfXQ~P##QQ:RQ~##P ~9!dsd]d> ]Pz62XG!dXQ͗F>Q͗FʝQ >wR> wQ"rH̓GGdR6GReG!Hn]n] !d:X Q ڔQ!ddͶ]!d> wQ!d:XQ~#¸Q  Q~ʸQ51Qz6!mfHGS!mf_6>:Q”Q:XOiR~## D[~'RR:R>R:=2R#"RRx[Rd*R:RO:R5ROͶ]O!R#R"R:R2R[R"XR#R{=ʐRz6OlgyʊRxʂR+~ oR>  „R>ѷz6O:RʳRھR:RʳRڔR!dx GRoy*R6 #=R6x!dѷd~R#Rx2R"R:HAS> !Hn]++~AS>/ɯ2Y2Y2T2@[2A[2C[2>[yRSRS RSrX2XrX> w#x2XyhS>2Y> Y>=!xSöIUTSlUS͢V:XGX:XS YͯO: YASDҿSmPz¿S:XڿS{S:XG:X>2Y͢VͰV:X5X2YG:XS=XG:XDT:Yew#:Y=:Y/T=2Y>-w#GYw#3T:YGX:XG:YG:XYT[T>2XG:XOړT͋V5XG Y:YŒTXG:XXSx2YDT Y[M kTʺTڳTèTºT>2Tx2T>2T͢V@:XPT?͋VͅV2XXG:XX YAU+:YO:X:XN'U=͋VͅV2XG Y@=U:XG:XXA`U:XXcU:XXOV͢VͰV:XA!XUG>@2X2X2YXXOV:X!X@O͋VͅVG:XpV:X@^V:XG:YSѯaV:XXO:YG YV:X@!X}V554!Y5V@/<:X!Xw YM ɯ2X>2X!~V ~V +͉]¶Vy2X:TVx!TVx-w #52W:w#:XOʧW>0w# (WçW2YyDWDW2YW QWYWW DW:YfWOXxʷW:w#ʷW:YʢW:XʘWWx¢W>0w#w#÷WW>0w÷W¯WWʷWW§W:YG:Y=XWWW0w#:TX:TW:TX=2T>2T>,w#W=2T:XG:Y~XͧX:w#X:>[+X>%w:>[> w@dXdXG2YWx=!Y JX ^XOx0w#y0wz/2YWx w#yʟX:>[ʋX>$w#>0w#:>[X>%w#XͧX>0w#X:>[ʶX> w+:>[X>%w+:>[+>$w#G:X:XG:X> XA>0OX]P>![#~2?[X2X2XhYhY!nf:XG:>[X:?[OX:QO+sX:?[G:XG:X:>[ʈY44<2@[:?[2B[AO͢V͋V2X:B[W~wͯO:>[Y:X@ԢTͰV:XDY:XA!XYGO>@2XY@O~YG:B[Y2Y[:X!nfXyZ<2C[!d:>[(Z>$w#:X>Z5:>[>Z>-w#yXZ:w#:XOX:XGÏZW dZ kZW XZ:C[OZ:w#xŠZ:YžZ+ÞZ—ZWʞZWZ:YOX:@[ʱZ>%w#:>[ʽZ> w#d͈\K:XZ:>[Z!nf>(w:X=̓\>)w# :QZ:X̓\dö]DW [:B[[[.[ :@[6[ :>[ "\ ]yA2\2\~+k[-l[>#~E}\e}\~0[#w[.ʏ[!¤[#~0›[#Ð[x2\>2\~E[e[.ʿ[![:\J\x2\>2\[0[:[Ox[y[#>¦[:\\x2\~e\EL\#~0 \:/\-)\.\+}\#~0L\:L\yOOO.\yS\/02m]>0]T< K]=kbG:m]d]> x>2m]0~0~0#yn]z{x7# Ñ]͉]ڸ] +~ x«]x~# ø]x~a]{]# ]~#]7#]zq#]O:=@I^ ]|^}^Ɛ'@'*%.:N`>^Oé^ :e^_U^OOÐ^Oy }^!66Ð^ ‰^!64Ð^:6<26yژ^Yy/4Y6^{l^#ê^^{l^:%#ö^^͘_^ ]͘_͘_͘_͘_:N`-_ O7_< Y͘_!!^#Vr+s͘_"H_͇_B_ a_͇_X_ t_  q)cc Ͷ] ʾ_?_.T$42}g]5>!bw#wͮ6!R`]> 2g`!"h` `>29c 1$:_ch)2_!c9]:2Q`2T`:()`<2P`2U`>2R`2S`(!w#> w# ?`@ csdCAL %;Q_uSuperCalc ver. C5.06          !^t"a!bs`r#s###shr#s###> ̓\h:œh>92]5~m!6"x!U^"{!f^"~ |2N`h}0h>2e^-_c>22!Ͷ]!iͶ]!cc^<ʴn!iͶ]!cc^<ʥn:N`,i!Ͷ]!jͶ]!cca_!RjͶ]!A>jͶ]!.jͶ]j)kk:4ni210]5i>½i:(ˆiͩ^ñi!j]T ʱi ʟiÏijͩ^6.Ëik0kͩ^71!â_:G!̓\6!#i~ i,i/i}2_ɯ##iOVLHLP` SuperCalc2(tm) Version CPU: 8080 s\n-xxxxxx ,ver 2.x Copyright 1983 SORCIM CORP. San Jose, CA. Enter "?" for HELP or "return" to start.!~4k>*w:Jk>2> 2> 2:Vk>.2:`k2:lk>>2:~k!kͶ]6:m snkʥn kͰk!IV(]<>v^:k:262:G!#~/k#~r7Bk#~r7Wk2:N`k͍llylylyl!l_DM_W>clylclclzcl cl{clclZhlOcD[hlYcD[l#]ccD[!Nc4l5]~ #~W~_#Qm>2Vm*Qm:Vm<2Vm!m͈\ʲlҞl!m:Vm<G}ol:Vm=2Vm;͈\ll!ml:Vmml>l. Entering [ESC] allows the arrow keys to be used to "point" to a desired cell ([CR] enters that cell designation). D Slash Commands: A(rrange)--- Sorts cells in ascending or descending order. B(lank)----- Removes (empties) contents of cells. C(opy)------ Duplicates contents and display format of cells. D(elete)---- Erases entire rows or columns. E(dit)------ Allows editing of cell contents. F(ormat)---- Sets display format at Entry, Row, Column, or Global levels. G(lobal)---- Changes global display or calculation options. I(nsert)---- Adds empty rows or columns. L(oad)------ Reads spreadsheet (or portion) from disk into the workspace. M(ove)------ Inserts existing rows or columns at new positions. O(utput)---- Sends display or cell contents to printer, screen or disk. P(rotect)--- Prevents future alteration of cells. Q(uit)------ Ends the SuperCalc2 program. R(eplicate)- Reproduces contents of partial rows or columns. S(ave)------ Stores the current spreadsheet on disk. T(itle)----- Locks upper rows or left-hand columns from scrolling. U(nprotect)- Allows alteration of protected cells. W(indow)---- Splits the screen display. X(eXecute)-- Accepts commands and data from an .XQT file. Z(ap)------- Erases spreadsheet and format settings from workspace. E Formula Adjustment Options: Formula Adjustment determines how cell references in formulas change when moved to new positions. N(o adjust) - Leaves all cell references (like J10) unchanged. A(sk) ------- Asks you whether to change or leave each cell reference in each source cell. V(alues) ---- Transfers cell values, rather than cell contents (formulas). + -- Adds the source cell value to the destination cell value and places the resulting value in the destination cell. - -- Subtracts the source cell value from the destination cell value and places the resulting value in the destination cell. * -- Multiplies the source cell value by the destination cell value and places the resulting value in the destination cell. / -- Divides the destination cell value by the source cell value and places the resulting value in the destination cell. If no option is specified (back up and type [CR] instead of [,]) all cell references adjust automatically. F Title Lock: Tells SuperCalc2 to "lock" the leftmost columns and/or uppermost rows so that they are not scrolled. Options: H(orizontal) - Locks current row and all rows above it. V(ertical) --- Locks current column and all those to the left. B(oth) --- Locks both H (rows) and V (columns). C(lear) -- Erases all title locks. G Global Command Options: R(ow-wise) ---- Recalculation by rows from left to right. All of Row 1 is calculated, then all of Row 2, etc. (default). C(olumn-wise) - Recalculation by columns from top to bottom. Column A is calculated, then all of Column B, etc. A(utomatic Recalculation) - The entire spreadsheet recalculates each time a number or formula is entered (default). M(anual Recalculation) - The spreadsheet recalculates only when you enter "!". Select the following options to change them from Yes to No or No to Yes: T(ab) --- The Spreadsheet Cursor skips any empty or protected cell as it advances. Default is No. B(orders) - The row number and column letter borders display. Default is Yes. F(ormula Display) - The contents (formulas rather than calculated values) display. Default is No (values show). N(ext) ---- The Spreadsheet Cursor automatically advances (in the same direction as it last moved) when you press [CR]. Default is Yes. H Scope of Formats: Format controls the display of cell values. It does not affect cell contents. E(ntry) -- Sets display format for a cell or group of cells (range). R(ow) ---- Sets display format for all cells in a range of rows which are not formatted as Entries. C(olumn) - Sets display format (or width) for a range of columns. Affects cells with no Entry or Row format. G(lobal) - Sets display format and column width for all cells not formatted by Entry, Row, or Column formats. D(efine) - Sets User-defined format table. I Quit Options: Y(es) -- Exits SuperCalc2. This discards all spreadsheet data not /S(aved) on disk. N(o) --- Returns to the current spreadsheet. T(o) --- Asks what program you want to run next. SuperCalc2 ends (as if you answered Y) and automatically starts the program you named. J Zap Options: Y(es) -- Erases the spreadsheet, including all formats, definitions and settings. N(o) --- Returns to the current spreadsheet. C(ontents) Erases the contents and formats of the spreadsheet, but leaves the User-Defined Format Table as currently set. K Window (Split-Screen) Options: H(orizontal) -- Splits display into two windows at current row. V(ertical) ---- Splits display into two windows at current column. C(lear) ------- Erases split display (returns to single window). S(ynchronize) - Causes both windows to scroll simultaneously when moving parallel to split. U(nsynch.) ---- Causes only current window to scroll, regardless of direction. L Format Options: Enter one of the following types to change the current format setting: I(nteger) -- Displays numbers rounded to a whole number. $ ---------- Displays numbers with two digits after decimal. E(xponent) - Displays numbers in scientific notation. G(eneral) -- Displays numbers as they "best fit" in cell. * ---------- Displays numbers as a string of asterisks for graphing. U(ser-defined) 1-8 - Selects the specified user-defined format option (set by /Format,Define). H(ide) ----- Hides spreadsheet data (choosing one of the above settings redisplays a 'hidden' range). Enter these settings for additional format control: R(ight) -- Displays numbers right-justified. L(eft) --- Displays numbers left-justified. T(ext)L(eft) - Displays text left-justified. Text longer than cell width, and repeating text is displayed in unoccupied cells to the right. T(ext)R(ight)- Displays text strings right-justified. The beginning of text longer than cell width is truncated, and repeating text is not repeated. 0 - 127 -- Column width for Global or Column formats. D(efault)- Clears specified format level. M Load Options: A(ll) ---- Loads the complete spreadsheet from disk and resets all format settings, definitions, and global display settings from the newly loaded spreadsheet. P(art) --- Loads the specified portion of a spreadsheet from disk into the specified portion of the current spreadsheet. Global settings are not changed. C(onsolidate) - Adds values of cells from a spreadsheet from disk to the corresponding cells of the current spreadsheet. (Equivalent to /Load,[file],Part,All,A1,+.) N Output Report Options: D(isplay) -- Generates report formatted in rows and columns, essentially like the spreadsheet is displayed. C(ontents) - Lists the exact contents (text or formulas) of all occupied cells, one per line. O Save Spreadsheet on Disk Options: A(ll) ---- Text, formulas, current values, and all format settings and definitions for the spreadsheet are saved on disk. V(alues) - Only text and current values of formulas (not the formulas themselves) are saved. P(art) --- Allows choice of the above options on a portion of the spreadsheet. P Entry/Edit Options: The first character determines whether you are entering a formula or a text string (label). A quote mark (") starts a text string. An apostrophe (') starts a repeating text string. Any other character starts a formula. While entering data, the arrow keys (which normally scroll around the spreadsheet) become editing keys: Left arrow - Backspace one character. (or CTRL/S) Right arrow - Move right one character. (or CTRL/D) Up arrow - Insert one blank. (or CTRL/E) Down arrow - Delete one character. (or CTRL/X) Other keys also aid in editing the entry line: [TAB] - Moves the Entry Cursor to the beginning or alternately to the end of the entry. [ESC] - Enters the location of the Spreadsheet Cursor in the entry. After pressing [ESC], the arrow keys can move the Spreadsheet Cursor to the desired cell, and any other key (such as +,-,*,/,etc.) fixes that current cell position in the entry. To leave this mode, press [ESC] again and edit the line or press [CR] to enter the entry line. CTRL/Z - Erases the entry. Q Output Destinations: P(rinter) - Prints a report of the spreadsheet, using the setup codes entered when you installed SuperCalc2. S(etup) --- Prints the report (as "P"), but allows you to specify special printer setup codes, paper width, page length, automatic form feeds or double spacing. C(onsole) - Displays the report on screen as it would be printed (for a preview). D(isk) ---- Outputs the report to a disk file (with a .PRN extension, unless another extension is specified) for later use. R Delete Options: R(ow) ---- to delete a range of entire rows from the spreadsheet. C(olumn) - to delete a range of entire columns. F(ile) --- to delete (forever) a file that currently exists on disk. (Pressing [ESC] enters the current file name on the command line.) S Arrange Options: Sort Order - Rows and columns are always sorted (regardless of Ascending or Descending choice) in the following order of cell contents: Text cells Text Values Date Values Numeric Values Blank cells Ascending -- sorts the range in ascending order (space; symbols in ASCII order; text a,A,...,z,Z; numbers 0,1,...) Descending - sorts the range in descending order (numbers 9-0; text Z,z,...,A,a; symbols in reverse ASCII order; space) A(djust)? Y(es) --- Adjust cell references after the sort. N(o) ---- Leave all cell references unchanged. T Welcome to SuperCalc2! SuperCalc2 is a powerful and easy-to-use electronic spreadsheet program. It gives you the power to solve all types of financial, business, engineering and scientific problems. When you start into the program, you see an empty SuperCalc2 spreadsheet. The spreadsheet is a grid of cells, rows and columns. Each cell can hold one item of information. Cells are identified by their column and row positions (such as A1 or BK254). You can enter several different types of information or data in any cell. You can enter (one per cell): NUMBERS or numeric values; FORMULAS or mathematical calculations. These formulas can consist of numbers or cell identifications, mathematical symbols and functions; TEXT for labels and descriptions. When you start to type some data, it first appears at the bottom of your screen in one of the three status lines. When you press [CR], the Return or Enter key, that data is put into the spreadsheet at the Spreadsheet Cursor position. If you have questions about what you can enter, ask for help. When you press the question mark, SuperCalc2 tells you what the prompts mean or what command options are available. Pressing any other key returns you to the program where you left it. The best way to learn SuperCalc2 is practice. Try the exercises in the booklet "10 Minutes to SuperCalc2" and the lessons in the SuperCalc2 Users' Guide. ! Notes:  positions (such as A1 or BK254). You can enter the Spreadsheet Cursor position. If you have questions about what you can enter, ask for help. When you press the question &:_o lph!\?_>2.424!zc#͏]ڽhy̓\h͏]ҷhh͏]ҷhh͏]ڽh!--!czc_2{cCOMOVLHLP͓i/4c!sd_/4^v2#a:}g>¢i=2:c!A(aͶ]P!/a]ͯi~i###/aP~#i*g*gDMyj:gWxڽjͯڷj|Ͷ;}Ͷ;KjKj:~gVj! ~9> xOGͶ;j Okj> Gdñj<Gñj͗Fj͗Fk!dS5 emfF;xxO PͶ;jOkj/4GmfOkjii>Ͷ;j:`jc!sd^jaimfS5fd!JkͶ]F;>)xGjd>(>"~4k4k".k#k>">)d͈\AjDVAL(xͶ;Rk"o!kmͮ;2`!zctn!omc!zcwozc!c^/4kk!k-zc!c^File not loadable]k-"o!omͮ;2`!\tnc!\wo\!^/42c$!zc\~# xmf!m~# xm}:N`È *%.!\ͳ! "\"l!!!^#Vr+s ³ "o!bnck-COM"o!onylPRN"o*o$]*o*oͣn!o-*o~O_ @2vo#~+::`¿n~@o##n-_~>:7o.n~#.ny'o!`o 'o:vo7x7~2o#.'o*o>?*o~# oG>  *oxɷo!o|o;o=o:o@co#co*co?ho2voaoo{ w>2o yo”o> 2o>.ßo~o ʵo#Ao[oO:oÀo#~o o ʵoÁo#> o yGoFile NOT on DiskFilename ERRORA(ll), V(alues), or P(art)?Saving...OU pOAllQpPart,kpValuesp pA(ll) or V(alues)?XpOAll,pValues,p p pph:~gʐhʜhʰhʼhhhhʦh7!l`h1%:k`2k`:k`2k`!j`h1%!ch>!ch>!bh!bh~hhdjkk!)c]!"c:V`w#:\`w2/c=2Y`2e`<_,{2c=2T`>!\` k!3k:c-,>ҟk:[`6ڟk!P`ҟk:b`ʭj7:d`G:f`G:V`Ԅ'7:cjjkk!c]:[`! cw:W`#wW,z2U`<2c>kkk!.c]:[`!"cw2+c=2X`2a`:W`#wW,z2U`<2c>![`2c5(ͬ%(1%CLEAR Current Split:c̬%2c2c*V`:b`gk:d`o:]`rk:^`g"[`"V`k1%:cŽk2cÖk>͚k%2c!k-"No room(at edge) to display windowck*[`*V`:9c `29c"V`"[`c!R`Ͷ]F(orm.),N(ext),B(order),T(ab),R(ow),C(ol.),M(an.),A(uto)?F,N,B,T,R,C,M,A,?l 2g`!"h`âh`i"!k"Fkâh@9i zi:~giiuiZiylx'GGhylx'GGh:i`'2i`âh?i!u`ʎi#ii:~giʺi­ilxGhlxGh:i`2i`âhHi i j :~gijiylOhylOhyOiy2h`âhXj'lڤjj>_:~gʢhʢh7j{2g`Rj{*gͷ6(!g4:gڢh7j(âh ¢h'l O:~gʟjʓj„jylxGGhylxGGh:i`ر2i`âhi:~g¶j:g_%^(j!k"Fk^(1:[`6O:U`!S`2Vp!2Wp~O>Y_n>N2Sp͝m:Wp<2WpunyVn#~02Sp͝m~02Sp!Wp4Ým>2}g User-defined formats 1 2 3 4 5 6 7 8 Floating $ Y Y Y Y Y Y Y Y Embedded Commas Y Y Y Y Y Y Y Y Minus in ( ) N N N N N N N N Zero as Blank N N N N N N N N % N N N N N N N N Decimal Places 2 2 2 2 2 2 2 2 Scaling factor 0 0 0 0 0 0 0 0 to return to worksheet.Y(es) or N(o) ?Enter number from (0 - 7) Enter Level: G(lobal), C(olumn), R(ow), E(ntry) or D(efine)G, C, R, E, or DDefine Formats: (I,G,E,$,R,L,TR,TL,*,U(1-8),H,D,column width)(I,G,E,$,R,L,TR,TL,*,U(1-8),H,D,width)Define Formats: (I,G,E,$,R,L,TR,TL,*,U(1-8),H,D)Formatting...YppHGlobal,qColumn,qRow,qEntry,qDefineqpp q<pp q, qq q qq qlLRight,>rLeft,CrTextMrInteger,krGeneral,prExponent,urDefault,Hr*,rUser-definedrHide,r$,zr rqq"q "q "qLLeft,arRight,fr "q "q"q"q"q"q"q nL1,r2,r3,r4,r5,r6,r7,r8,r"q"q"q"q"q"q"q"qn"q2Eq:g2mr=!|höIhhhi͠oc!sd_^2o:2of-]0:hI^s-hm-ͩ^h!"kr6:~ghh75m:i%2/a2~aͯi~i###O/aͶ]:mr.i2ia;o2i4ia;oHoͮl:mrYi>Ͷ;:`Bic!sd^:mr=k0Y6yi:yi >56jͩ^%11%×i*i4:N`͠o>2mr*&qk,]*&k,]jj6,R.͒6k͚o=lͩ^:)iliUl|0`r71j4r7PjâhLCjWajAʂjDʪjSiJ-|055 i_2jq2o&Xr,] ͒6Xrͩ^iq2o&Xr,] ͒6Xrͩ^`ri:2j ͒6j:ʡjjͩ^`ri:2j ͒6j:ÛjFFN !FF:j!N "k!FF:j!N " lEnd of Report...Press a key to continueSetup PRINTER: L = Change page length (Length = 0 for continuous form.) (now 999 lines) W = Change page width (now 999 chars) A = Change Auto Form Feed Setting (now OFF) D = Change Double Space Report Setting (now OFF) S = Manual setup codes P = Print report to cancel /O command L(ength), W(idth), S(etup), A(uto FF), D(ouble Space), or P(rint)?L, W, S, A, D, or P?*g*gMDz24my.m:4mWx'mͯ!m!c:DM> s/>= > ! m > m! ~9!d> m ]c;o0mHo0ml/4ûl7:gG:gOn:go&"4o*g:gO:mG>2R͗m2R:mG:g?x2g:mr=‚m:Eqćp5m=5m:5m:Eq͇p5my?:l`ʤm>2o:gWoT*mxmͯm!m:j`͝PmmmWúmHo×m :oW:o_:oo&͉]5~#5_ͪom!mf ]:l`4n6n>Wx6*krPn~=nWÖnyږnx62nj&̓\E*kr~o&͉]x:mrʅn…nÉnҖn:nnWPnz2ox2m£n=2R:l`ʶn:o2oHomf;oHoz!mf̓\:Rwxnnnn6 ̓\6xn=n̓\P;6 =̓\:Rw#6*4o#"4o6o:R29o,]:l`;oxxx|_ͪo;o:mrlo_6;o2o2o:;ozo:zo!Ͳq>2o2o:::ʇp=Çpͩ^I^!"kr:mr=ʽo=o=cpUp{ o:==͇p o6 {l^9p{ Ho:oW:o_:o&>̓\͉]$pHo:~g p:i pIp;ooUp{ 4p:=͇p.^qq :o<2o<2oUp{Ͷ;c!sd^*ac!sd_!FqwG:mr“px:Eq2EqY6>56:(peq͚o|qͩ^pq͚oqͩ^%1q:mrq:mr q qÐiɷ='q{l^=?q!Ͳq: =ʶ; Disk FULL, command aborted. = Continue, <> = StopMore... ('return' to continue or to stop).~O#^ ¶q-|0`r!Xr> w2Yr2Zr71:q0*r r8rrqxq+6 kAkRow 254 contains dataկW!bwW: [kK /4JkK! ~qk!4!m{2nm!mWjz>ʫk: W?̫k*b!"b?x2nm!m͜j"b?ͯڽk!ks>±kkColumn BK contains dataկJG!a w#w_: kK /4kJ! ~$l! 4=og}Zmm:#,mm/4 m:nm|mSm{KmSm:nmʐmSmz?KmSm:nmKmSmSm:nmKmSmSmCmXSmBmPSm:omO:nmmmmmymɸmmxmASm=GOx!m` O~ w:g29j:~gyn:g1n2g2g: 2g:g2Pp:g_:g2Rp:g!Pp4nVpn7n!RpV!oܱo7no7n!Rp4:PpYn7n:gŽn2g2g: 2g:g2Op:gW:g2Qp:g!Op4n^"pnڔn!Qp^!o܋oڔnoڔn!Qp4:Op¶nÔn1%:g"ͯ~n^ѯ##>n2SpoUp Ͷ]d~o#on"_p2Tp!9p8o##/o#~!d*_p~GPo#BoOx,oWy,oooxr7Wyr7xy:~gʡo:gˆoËo?!nm:Opw_#:QpwO!mWj7:g®oño?!nm:PpwW#:RpwG!m͜j7:TpG:Spoo:~gʱoËop!Up͏FG*_p͏F pGp͔OroBoroo;oro!ue;*p!ue:͒6ueͩ^ !0: A[a{,{ <{ R(ow) or C(olumn)?Inserting...pCRow,pColumn,p,p <p From? Enter row range.From? Enter column range.To? Enter row number.To? Enter column letter.Moving...pCRow,ZqColumn,rqp q 9q p q 9q Enter Row Number, then Return; or "," for optionsEnter Row, Return; or "," for optionsEnter Column Letter, then Return; or "," for optionsEnter Column, Return; or "," for optionsA(scending) or D(escending) ?Adjust? Y(es) or N(o) Arranging . . .pCRow,rColumn,rqq s< rqr s,@rSAscending,rDescending,r r r^rSYsN s    !"o:~gGʻh!g: =~hw#: =҈hw:g2|gxʵh|0:ogʯhʩh7j"͌j"j"zc!c^?_.|0:g2|g:ghh&?."g!"gi*g*gzW{_!axVi;:c͉]/i;c͉]/i:g=iwLc͉]>i# iFile not loadable::cbi2}g:gi:;c:`j!c:c„i2cÇi! c:Q`–i#:P`ʠi`2c2c:cʸi=ʸi!6ci!c j(ͬ%(ͬ%!9c~i6*[`(ͻk"[`%>v2#a>2:c(a!AͶ]"!cj`ö]i!cR`ö]|0o*[`"r:gO:g_:gzj:gG:gW:gmjͯhj"rcj"s!p:|g^j!p2e"q`il8jY" )j*r"[`O *g*g*[`"r:gG:g͂jxjo:ggh"[`"s"oAk$Üj:g_":gj*r"[`*[`"r:gG:g͂jxko:go`"[`"s"okk]",jj7ͯ"r!p:|g:k2e!p"qk͕kl},!q:qfk5gk2qHk4Hkk͠kl|$!q:qʐk5‘k2qrk4rk!d;èk!d::_͒6dͩ^:gko;g;o;O::cyk2ll2l}lg"sg}o"[`! "r##x<==G;w#-l:lŠl::c̏l*r~gl :;c]l+6#9!d]!p:|gxl2e!p"q7}lg"olk*r~ ll D[~ll~w##! ]l ~#lyG~w͊}lg"[`:|gḿnڨmmxvm*r~GPmxPm:|gLm͔oPm##͗F¿m͗Fm++~ @2qgRnvm ##"r~2qgsm :|gp"r~# ڨm*r#~#:qgʢm:qg¢m ~# x˜m*r]:|g¶m!gp"q/4"omfS5f*r !MnͶ]F;>)xG0n*r## >(w#>"w# n n"nw#w# n>"w#>)w#w#͈\C*r~2qg "r> xvmDVAL(!dS5 e!mf"rF;x{n>xx!o]!o]*o\U*o͉]*r§n! ~o͔o2on~##onD[n Ͷ]!o͏Foͯo~ o~o:on͌o>͔oo͌o7~ @2qg~##o"oD['o Ͷ]!o͏Fo>2M!To!o:|g̓\~#fo!ooo:M|o͌o!o "r~2qg~# ͌o!oRnG>*oU\ï##~ʠo>##~ÝoMM*q#+p!sdm:Pp:eW:qҏp!e̓\^#V*q+͉]p!q4Óp_p:qG:qzʣpäpLp?LpW:qG:q{ʽpþpLpLp__p"q*q+"s~6*q~9w*q!q:9HB:q:6q:_xq2qW{2q1!556!4:6ğ5!d:q_xO6.ͩ5q͟5*q#~9!d:qO6.*s\U!r:k0:?t6rͩ^rͩ^qrͩ^#5r7YʭqNqk0*q_pÓp!e4~̓\+*ss#r7Þq!q6.:~g!qöIfrqfr:g!gIr:g!g9r:g!g9r7:gg:gW{r>5r7:go:g_{r>2og:g!g#r!s-:g!g!As-:g!gr!&s-7#N#F#~¥r#~¥r:gg>?g:go>ozҒrPGҬr{ҞrYOҬr!r-!r-"TO" must be cell.Copy won't fit.Source cell . Adjust (Y or N)?"TO" must be partial column."TO" must be partial row."FROM" can't be block.*"h-_2l@2ih*h"47Type C(hoose), D(isk), S(uperCalc), or E(nter)Type C, D, S, or E!9"^i 2]i:)h!hh!h"͔m2m!~kj:{ci!i Ͷ]i!zc1niͩ^I^jͩ^%1r7SʂkDʱjC`iEZiKi+i!"4Þ>͒6>56iͩ^55r7A`iQ`i@2l@2i͒6hDrive to use: NONE SuperCalc2 Directory Display Current Work Disk is : Current working file is : OPTIONS: C(hoose) alternate disk drive D(isk) directory, All files S(uperCalc) format files only E(nter) filename to abort command.͎m#kͩ^2~k!dkmljDkͩ^Ym񇇇!nO :]ij#qkmokͩ^lYm!~kk~Directory of files on Disk: NO files found on diskette. ??????????? 12345678.123͎mBlͩ^!lmlkDkͩ^Ym:l:lO_!nl^l ö]:m<2mG:TmemKi Qm*^ih͔mY6{mnmKih{mmͩ^mͩ^%1r7͑0mͩ^I^mͩ^!">2m6,Ò6<>=abort, =stop, =more...>20n y"nm> 20n>.m~*n n#An[nO:0nm#~)n "n nm#> n yG"n~@>:#m:O`Nn!nnTn!n}n2O`ͩ^nͶ]͒6nͩ^͒63x6Function Keys: RED=Help; BLUE=Keypad Shift: y6OFFON  r`iPY@h!rhrA2r!rhr&ffffg?1%@%A'((EEDr[M!r~Gwx2r.orO!lr͔OIl!r.orMÊl!=Pr͔Okl!r>w!r=PrMÊl!7or͔Oڊl!r=PrM!r>w!rlr̓\~wPY!7oMDMlDrlr(m!rrNDÄmD~7̈́mPY!=PMT]r‘p!sdS5:d2rD~p2rGw!MwEiEDw!zH G̀B"rHHGrO*rHqDG G̀B w!Oc"vH!Yc"tH!cc"xH̀q#r!H~+q!nD G"xH~DKqCҟ=WHMͯO G"tHͯO G"vHͯÒq#r!H~̀BBiH͔O܀B!vHD͔Oʴq*vHD͔OqzH*vH3HNͯO~w*xHMDM*vH3HGPMzH*vHDM3HNͯO*xHM*vHDM!3HGP!DMG*vH͔OArzH*vH!HM`HPrzH*vHHMWH*xHHMNH2j6iͩ^hͩ^5j!j^<ʜhiҢhhͩ^* AnswerScreen File SC2.HLP not installed. /2j#~7 Oi|7!j5ja_!Zs6!j!:6ڌih6 “iͤi!6Y6zi*chͶiͩ^x:6G:<_JB~Gj# iio>jg~j=iyO Q"jp# yiKzjyJh*j>jSC2 HLPISA valdtn RECBlRyD"|7!j5ja_!Zs6!j!:6ڌih6 “iͤi!6Y6zi*chͶiͩ^x:6G:<_JB~Gj# iio>jg~j=iyO Q"jp# yiKzjyJh*j>jSC2 HLPA"PASCAL/M.xxx Copyright SORCIM Corp. 1981 S/N-123456,BCD 2.x804.04xx UNCONFIGFilenameEXT(XÈP>P?SDI OVL T   WQjk#"ERlm)(>}>?}zz_z>}>=}z}{}!DP?UB$2 >  . ) 9 L Y ~ r f `l t 3 I  Z>QJqtz("FQ_pf`!2Bbnh'?? @o&L (!_^#V*MD2}~Bebob_x_*x@_*^#V!2"o&"*"2Ý:!.22i`".Å.ÅPCO o g o g1 o&1!1!1!1*}*11*Ô*^#V2Ù*ï*s#r2ô _րW _ *^#V= 1Ôõn&1s2i`"`i{=ą)D)11i`"{OzG͍D `iG^#V#CMD2^#V#~#fo2i`"q#p#s#rD 2o&)+V+^=}2 ʡo&)9^#Vs#r#=˜2i`"KB͍D O>G2᯲1ý 2i`"|}2!N:  ~# Dý#11 _ 2i`"Kͣ) :o&E<oDi`"CK^#VxcGjS]hrrzW{_h! ~_#~WDi`"y! N#Fڥo`ALbS\¬üʼo{_zWyOxG-¬y/w#x/wD =11{ozg1}o|}/o}/o|/}{ozzܣ21i`"Di`"Li`"ͅD7}o|g1# 12# 1h!p!^*^yHҔ)yŠͣ`i<)ҦMD!xGyO){_zW #=°ɯ xͣ͠ + z  ͣãͣ͠ý^F !1# F  # F  0 ^ !1͐ _ !D͐ R !D͐ R _ R ͐ _ R _ ͐ _ R ͐ R _ i`"! ; {_y| }! z {2N2G Ay # :i`"KB i`")MD + #   z^zɯO>G i`"_!G ^#Vzl g D  DD* 1 DDs |ғ D ғ xғ ý Ґ  D}o|gҥ }o|gÓ ͍ **Ó ͍ **Ó D î"""# **^_>W>o>gz½W /½|怺2ýz!+" Ó "" *D!""!9+x> \ wxGyOzW{_#Ғ :2#:2#:2#:2+++~w#~w#~w#~w++++5_ *}lg*}lgD** ""** """ᯕo>g>o>g "<{_zWyOxG !""72 xGyOzW{_*)"*)? #""}o|g"}o|ge **y *#"}y *#": = ""*" z£ x *  ͽ _>W>O>G| 㴵 * ý *  ý͗ GxB {/w#z/w# B ͗ GOx3 {w#zw#& yB Gw#w#: *D͗ e xB {w#zw#U B O!9Axʀ w#w#r *H+~+~… Di`"E#)9~"## ѻ2i`" O)9o`9|D)EO/86p>2Q{a#za#@:^Ϳa:O*Dʈ{/f#z/f#u:•Ϳffʲ~/ѣf#~/f#Ÿ:ʕfOyAzi`"xk! m{zgyoxgyGM{ozg{2&^#V?;=:x! G{_#zWx\W:ڹ! ڹyoxgy_zҹ b ~9ʹ>o&D}|}|2 O>G2*O ^#V7}O|G2i`N#F#^#V#""z3}|7DDxAD}o|gD#)*N#F+}o|gMD2M2M*1M**"*"N#Fq#p2M*MD*#~=s! V+^+F+N#§KB21*+V+^" "*^#V O* #~+~+ *" ""*yx$*~-"2o&)) F+N q#p*$^ý*"0" i`"/<_*0^#V7}o|g"2~ʸ^#V#N#Fڜo>g9>ð o>g9>*0##͍****!9" "*0"*2"+V+^}O|G *ʑ<*"0!sVi`"E>*MD"0!V =i`"W*@|ʽzFҽ"(*.+++F+N*(*.+F+N̓ ½*0:,¸"",*^#V7}o|g"*:*:,D*^#V"*MD*} |ʽ! ^#V!^#V7}_|W! s#r+++:U^#V:,D`iN#F" ~\\w#6*w#6D̀z w#6{ w#6D{ W} _!DÃ|½}ͨDý!?#͑~#foF#~}ùù i`"_!^#VzP[ozd] ap@m5N^#Vwڽ6+62zD*s#r2*!9}o|gDxDxD|D*s#r "!9>D^#Vwڽ"2}o|gDx+ {# {+ x(+ {# {+ ))>w#"͆*/ >: Dxڽ}t"yڽxxD*Dîo$MDy_xW{z/W{/_xzW{_ë}0>02 >0]T< =kbG: > x>2 0~0~0#y GN#xDy_ѯ)#7# yYF0yz{x7# f^ڍ +~ x€x~# Íx~aڪ{Ҫ# Ú~#ò7#ûzq#O:=@I |}Ɛ'@'ɯ2#~:+:~@\##%<~>:7^.H~.#HyĂ!^ Ă:7x7~͍#.ʂ*z>?ͅ~# ^G>  …x!\|\;\=\:\@ʺ#ʺ*ʺ?¿2a{ w*%.*/ >*:x:Ƞ2ɄOYyOOy'_  DɯLT F^{#UOvf_6́#6^w#VwzW{_! 4!~oO ́́́́ Ý!!^#Vr+ś"1p/ JpE ] GCONSOLE#CON#CRT>READER5PUNCHGPRINTERLP5COMM1,COMM,NULL5TAPE15TAPE2ffffflllflliff/o>2!"$~OҜ:~K# |*#…:"! to^yoV%Ü!'>Oy~*w*T] FO>ڳ/Gwq#6D>2!9ͣ|D!"D#͘ >!!B'TT<2\!D]Ͳ!\ !.T Pascal/M ABORT. $$$ SUB*}2ý*1{2hw#w2}2x{22yʫҫ2?!ڞ&o"<:>>í>2Dl y!*.!!D>>2>!:"D"B""G"@l ~ _:>#:B~w_|~2F###^*|ʕ!~Xw*G*^Xz w*Dx2XÙÉý**BJ!:>!õ !"Õ2*Da!**@{&:>ʸN-":FOyuw"͠w"uwU > :ʽ:"6#{ z w&#ã"Õ:Fz:Iy2IO = zCz]>w  :7>|>ʍYO͠OʚÊ_>Ä*|~#"!"N ̓ͤ*, s#r> 2N ͜>N N >N "N z > J **NH !> J *!> J >2>2>n |~ !D*!""N*~ɯ2>2>i`"B""@"! "*BJ!Ե :X!*@ !*,   x2X!" *@"@õ !"*@!Íz w**@B*!%!x2X!""<+w#_^#Vѯ71'%#!""""Uͅ" |}2q">72b} ,#z$T.T!]Ͳ<22\!"#}2!:~#<͑6#p!#""!#'""ù"DM#~#fo*#6+^"!"*Ͳ6,#"6 "!!` !\̓g9!9!!9"" ""!$$"}2D!$!̓ *$w^:$!$~2$w#w`0N#F#y*$#@$:w#:w#q#p#~#~#$! OVL file not found. ! OVL file ill-formed. INSTALL version NOT compatible with OS. ISA valdtn RECFH˿o}|g"+F+N}o|g"* N#Fo>g9!9!!9"" ""!$$"}2D!$!̓ *$w^:$!$~2$w#w`0N#F#y*$#@$:w#:w#q#p#~#~#$! OVL file not found. ! OVL file ill-formed. INSTALL version NOT compatible with OS. w| #(19"04/07/814:34"SDI.ovl Version 1.12 (PasLib 4.07)3aqaxaa{aq%a-` 2 aa aqapa.hcddddbdaa dpd2d2aa`c`P`a4aaa6aaJa`a6aa.a0aa6a6aa*a.~)`a4aa.`a6a.*`a4aaa%a4a`)a4`*a.N+BDBۡ.B4BB6BBB, B0B.T-BȀƀۡLƀ,ƀƀ1Bƀa ƀ*`n. `bdbabadd4dd*d.d*d4dddd4dcd2ddjc:b d!add*d4.-`bb p $bddcdۡ-ddcdd Fab ii ` ii.gh i*ݚ iiiۣi4iidabba(i4ipci6iai.iacadadf9i4`*i0ii.e`i6iifei*i.i`ipi  i +> d e e (/`/d`b45b4bۡ#bb b6b b.ab`,bۡ`,b b`,&V vdddpdۡd &"<:<<c x0epdder6*d0 j1`/``d a`,d3`b1(adۡbdp`,b3U r`p ` `p ` D4`Dp D `` D2B>dbbbae `eabababa>af4b``bfpc`d ` dc`bee>0 =ab`= ba`a=#`bЄcaЍacabbcbcbЃ2aabЌ`1a`bcd badbcbadbb`H`FabЄecЍce1b`d b`b`edbcb`ebbeTeSe deЄ egf3gfghdg gfdg e egg: fa`a-ݰ`    eaed0`eaea`a`W/z$  ` 8"Ljd  > |>iifei*i.i`ipi  i +> `d 87C`P/ Warning, The following condition has occurred:##Rf`P%An error has occurred , the error is:## Press Return to continue #Raaa `ao `b`aa `a`a a,% 2aʅva ʅva`b`b.`P2R`Enter Source File Name : #P*P.PTPOpening file : ##aa Source File Not Found.0P\ʅ6.CALʅ6  jFile is Empty.  SuperCalcFile is Not a CAL File.ʅ6BC\" Output All or Values (A or V) : # k@k kAB. `Enter Destination File Name : #PH0P..PTP+.PTPOpening file : ##\File Already Exists !#Okay to Overwrite (y/n) ? #`@` `YFile not opened.S `aa a4dWe ʅ6.CALʀGe ʅV.SDF ʅV.SDF*e ʅ.CSV ʅ.CSV ^C(e@ Converting #0# to ## dd>ee Column out of range . 2ddee Row out of range  0`` ba`FF 2GGEEGFGGGEEa aLR aaaaaaayar`m|i$T3 # "$&(*,.02468:<>@zgFdJvNPTVXh\`GGGF 2H Format ErrorH'/X ;dPPdP=RL =TLTR #=. $8 I0 E( G * 50*$d dP Q S T PdL^ a`bc"NO VALUES IN ORIGIN HEADER 2:bde1)IMPROPERLY FORMED STRING IN ORIGIN HEADER 2b`dcd%NO ROW FOUND IN ORIGIN HEADER 2badc``paap ʀSuperCalc ver. ʀSuperCalc ver.  1.12ʀ 1.12ʀ ʀ ʀfʀ!ʀʀʀʀPʀ ʀ8ʀ ʀʀʀ!ʀ    Bad Integer NumberPba`33Rcg h bbp h0*h+h-dbp h- h  g3ebbpf`  0.000000`0`@`  `-h;g i `fifge9ee`0& e`e `` `2e :.`e``E-.`e`e`g0gfg`g` `) bʅ6ʀʀ"ʀG`GG?dCcCdbccaC:9<P @d> dac=`eʅvdd ʀʅ6ʀ"GʀGG:9;9:;dd2== !;C;C;;;>>; 2 a a5F 22  ʅ6ʀʀ Gʅ6ʀdrpt zz Okay to Overwrite (y/n) ? #`@` `YFile ʃʅVʃ "IʃII  II 4` Bad SDF File2a`a`a% Vb`ba,bapap`p Bad SDF File2<EDaE`EDa(EDaEE`DE`DE64?' Wrong Call to RdSDFHdI Convert Problem#`2dcbadDATA4` f5 2a 5 Bad SDF FileP4 55 Bad call to RdSDFDaIP 6 67mcdmP7 ecBOTecEOD 5e 2e`bPaP21372ecNAecERRORecNULLe;c""e-ed0^"^'c__^_cQ_P7mn7[3 23m`m7mG2 22aa7m-1 21bb7m 2 bC+eACEC@7m %"B  eD CCCCd0 444 out of range4P cn d D ʀʀʀCp Column> +BBjCʀ`Bʀ`BRow ʀC&4CBDǀƀ2 COL-FORMAT, ROW-FORMAT GDISP-Format 4ʅ6ʀȀʀ { <+ʅv++?}=> 2TE< i   j jʅv??<ʅv Tʅv TT ?}=> Ȏ 9:+}T ʅv~2a' Multiple origins in a tuple2'+ 2T NA P0PT ERROR P0PT* Null Cell cannot have FORMULATP}=> => ?<40 Bad SDF file 22:::21e":::`2d@2Wr6+}Tǀ ` Bad SDF file2`2 2+N`22$ 45  ʅ6ʀ(Tr`V`:0&_P7mn7ʅVʃ ʃ$`I`ʃIbIb AIba`ʃIbIb #`ʃIa`aʃIbaIba h.cP`P.Ȁǀ.ǀƀƀȀbǀƀ-ƀȀbbWWǀƀWƀWЃȀǀƀ,ƀȀaǀƀ-ƀȀbaWWǀƀWƀWЃȀǀƀǀƀǀȀǀǀǀǀǀ۬ǀ`Pa.-0,0.0aaa.-5,-R.0,-V.oo.ooo-ooVa .1,0.oo.ooooJLNPT. FF0,FFFVFF P`P+ll1,1llUlWl+,BBB0,0BBNULL B B>`0B``DD aD B j>>aqʀʀ== =: ʀ  COL-FORMAT``1| >aBʀ== =  ROW-FORMAT``M b ʅ6ʀB ʀ==L=!$-I'E!G* (%!eʀc TL TR    GDISP-Formatʀʀ!CC"  :>aqʀʀ== =: ʀISA valdtn RECGz~%  9 # 222ʅ6ʀʀ!CCʅ6ʀSuperCalc ver. 1.00 date P9         "dateCE2PDATE(1,2,90)------"marchDATE"june"sept"dec"year'-P"salesDATEP3000P5000P4500P6000EPSUM(B5:E5))"cost %SUM(P60P60P60P60"cost of sales:))DB6%B5:E5))D0C6%C5:E5))D'D6%D5:E5))D6E6%E5:E5))ESUM(B7:E7))"dateCE2PDATE(1,2,90)------"marchDATE"june"sept"dec"year'-P"salesDATEP3000P5000P4500P6000EPSUM(B5:E5))"cost %SUM(P60P60P60P60SuperCalc ver. 1.00   P9 !      '-E3%"E3% "Gross Profit B5-B77  C5-C77  D5-D77  E5-E77  SUM(B10:E10)======= '- " "Selling Expense )N .15*B5:E10) .15*C5:E10) .15*D5:E10) .15*E5:E10) SUM(B13:E13)======= "Gen & Admin Exp )N .12*B5:E13) .12*C5:E13) .12*D5:E13) .12*E5:E13) SUM(B14:E14)======='-""Net Before Tax:)NB10-SUM(B13:B14)===C10-SUM(C13:C14)===D10-SUM(D13:D14)===E10-SUM(E13:E14)===SUM(B16:E16)14)==="Income TaxM(.46*B16E16).46*C16E16).46*D16E16).46*E16E16)SUM(B17:E17)14)==='-""Net IncomeM(B16-B17E17)C16-C17E17)D16-D17E17)E16-E17E17)SUM(B19:E19)14)==='="D10-SUM(D13:D14)===E10-SUM(E13:E14)===SUM(B16:E16)14)==="Income TaxM(1n!  } !:!  error - old version of CP/M, CP/M 2.0 required. $ MICROSOFT MULTIPLAN Version 1.05 (C) Copyright Microsoft Corporation 1981 $|2 ! 2-o&6 !x,"{*,2~*q#p#<2}* "-r"Fr" %" r"! Y" Y"w# 8" `" J"`"6 # Y" r" r"c" ʡ" r"q#p#:}*<2}* ʛ" ʛ"Ê"r"*-}G:-""  error - terminal not installed $!-"="^#V!-N#F#-$ *-!-N#F# x #~#~# #*-!-^#V#"-"-*Y "-*-Y "'*-!-^#V#"-͏ KB*'*-"'*-Ͱ#"'*-*-'*-MD*-*-$ ! x# #^#V#*'+r+sÕ#x ^#V#*'+r+sð#2)p#+ !s ) ) ) ) )*-}P!**$64#60/$68#60!M*")I$)+ *M*C `$Q+ <2: |$!e*_*$ *W*)""g**p$q+ o)*!?*")ʺ$+ *?*C $+ *!*")$+ o)**"i*![*")%)+ !#"Y**_*#*Y*C b%![*")=%)+ *[**Y*#"Y*)* s#r*g*"g**i*"i*%***i*Y "i**c*"S**_**W*Y "e*##"**]*!C %%  error - load address too low $"m*"q**-"o*"w**S***)*o*Y "s*"u*" *O*)*s*Y ""*6++"y**q**A*)"++*_*s#r#*e*s#r#####**++"*:e*ʕ&*_*#)*"k*![*")m&)+ *[**k*s#r#"k**g*s#r#*[*)"g*!e*5S&*g*s#r*A**]**y*C &&  intersecting segments- unable to load program $> 'Y "'!1'['*y*+-/ #x ^#V#^#V*'r+s'''''( ((((("(%(,(/(2(5(8(C(F(I(O(S(W(](c(g(l(u(y((q(((((((((((((((((()))')*)2)5)9)>)F)J)N)R)])c)g)l)(u)x)}))))x,z,|,~,,,,,,,,,,,,,(({**+*+s#r#*+s#r*q**A*)s#r#*y*s#ro)*-)!*"**q* "**)B()+ o):-**w##:-w*_**a*DM*u*""***)"*xʞ( ****s#r#"***)"*n()+ *_**a**W*Y }**ʿ(6#6#=µ(*a*|(**(**_*)^#Vs#r#*c*)s#r>2q*!"*}**{*!Ä#s x )**N#F#"*")x 8)")x E)-)<)M)w#I)M):)a)͠!")>=2)*)~#")!)͆)!))͆)Fwp# †)@(@ SLABC@( SLADE@(` SRADES@( \ CPLDES@(@CPL2DE@(:CPLBC@(9TCPL2BC^ OPENERMP80 FCBS1 FCBS2` FCBCNT FCBCUR !FCBRND $FCBSIZT \DEFF1 lD error - file MP.OVR not found $ error - format error on file MP.OVR $ error - invalid MP.OVR file $ error - no data file present (MP80 or MP40) $ error - data file format error (MP80 or MP40) $ error - invalid data file (MP80 or MP40) $ GSFUNCcV RVFUNC REFUNCV SEFUNC^ OPFUNC CLFUNC SFFUNC RSFUNCV WSFUNCwY MFFUNC RNFUNC LVFUNCX CDFUNC SDFUNC GAFUNC WPFUNC GVFUNC FAFUNC GPFUNC UCFUNC` !RRFUNCEa "WRFUNCWXP 02$--00011{2~22}3~3345555*k1*/z-6 #-*/.*-s.--*k3"/*//=./?."/*/0:i1_90ek!R."P."R.*{0s."/+^~#.l2.5/s/e/. //...$///.~##ʧ/2V.~#"T.Ҙ._l2:V.=*T.y..րO!W. ^#Vͫ/Gxʎ. ð.*P.~.ͫ/*P.^_l2#"P.Î.*P.4#4Î.*P.~`w#~`wÎ.ͫ/Oͫ/^xʎ.l2 .*P.F#Np+qÎ.ͫ/Oͫ/Gy*P.NҎ.ywÎ.*P.~//*P.wÎ.͸/0!/~L/_l2Z/# y?/Xl2Î.# yʎ.~D/͸/0!/~D/͸/0!/~D/*P.~GOxwÎ.ͫ/Oͫ/Gy*P.Nڎ.ywÎ.*T.~#"T.!V.5*P.~#"P.!/d/q /#q#w /:/!/F5x~# /|}}o|g||GMzW!z>#0>S))+0 =#0|x怴gD|OzGKzW!>))}o|g`0 =M0|p0x怴gzy怲W{0}0= *0}œ0*0##"0*0s.ɠ000|++++++-p*0}0!"0*0s.00*{1##^*}1##V"i1\&{P"1(12t1P"1>'2s10}2q121>O2s10}2q10}2r1+ 0"o1#"k1*/"u1!0"m1*y1s.y1111P_*1s.11"1;1ʸ1"/:t111ʸ1"/2*o1*/*//*/0:i1_90:q1:r1:s1AEHL[ahn~kdw6s{!(.147;GJNTX[_bfilruz}+ %o!A/!*/;?GMV^fnx}k%   3S517;DIUYagpx?UV\bjt %*8Y]ciou|#H|V9!5fr3lx*gpxFJ?CN/'*18?KTWZ]nr {  /'*18?KTWZ]nr {INSTALL SPC;MP COM<SC COM>:;<WSSHORT OVReO* 1EE0g33!44W:>q? @LE N S W Z Z [ \ ] U^ ^ `aVjjl m m^mmwM{K7798!49e99!4 5 B6 l5 6 l5!:!8<![<!y<!y<"=="="=">">#*A#A#!4#A#4C#F$I%J%J%K&1G&I&I&I'M(L)CN*9O*IP*zP*P*P+YQ+oR+R+R+R,U,eU,U-V.jW.X.6X.{X/X/cY/Y/Y0Ld1d1Ze2e2f2f2f2g 2]g3g3h3-i3ui3j4n4np5q5np6s7s87t9v:M{;>l>څ>>?Q@@l@ƍA]@BYJC{D|E}Ez~E~!There are three ways to use HELP:!$1. You may press the "?" key at any$time during your work. The helptext that appears will apply tothe command you were using when you pressed "?". When you resume !(by pressing "R"), your work will!be exactly as you left it.2. You may view information onspecial topics right now by selecting one of the topics listed at thebottom of the screen. Type the!first letter of the desired word.!%3. You may familiarize yourself with% all the available information by "paging through the help text right"now. Select "Next" (press "N")"Previous" or "Start" page.%If you need information on a specific%#command, highlight the command name##on the proper menu (using the space#bar) and press "?". Applications %The following table provides an index%to the commands and helptopics which apply to common questions. %If you need to: You should consult:%$enter data: Value, Lock, Help$Keyboardenter text: Alpha use menus: Help Commands enter arguments tocommands: Help Editing edit text or %formulas: Help Editing, Edit,%Alpha do calculations: Help Formulas use mathematical or financial functions: Help Formulasmove through the%sheet: Help Commands, Goto%create headings: Format (Continuous), Window Split Titles use data in inactive sheets: Xternaldefine or deletenames for cells: Names use names: Help Formulas change the formatof numbers: Formatre-arrange sheetcontents: Copy, Delete, Insert, Move replicate dataor formulas: Copy!clear the sheet: Transfer Clear! save and load files: Transfer show file directory: Transfer Load increase speed: Option recalc alphabetize: SortEDITING%The editing commands give you an easy%!way to use what is already on the!&screen, so you do less typing. You can&!use the editing commands any time!$you are entering or changing values,$text, or formulas.&If you need to: Here is what you do:&Delete proposedresponse: Just type the replacement. Multiplan will auto-matically delete theproposed response.Append to proposed#response: To expand proposed#cell references, just type a colon (:) or otheroperator; in otherinstances pressthe Character orWord Right key andtypethe rest of thetext.#Insert new text: Type the text. It#will be inserted in front of the highlighted cursor.Move the cursor ifnecessary beforetyping."Delete some text: Use backspace to"delete in front of the cursor. Use the delete keyto delete what is highlighted. Move the highlightas necessary before deletion. %Replace some text:Just delete the old%text and type thenew.$Move highlight: Use Character/Word$Left/Right keys (seeunder Keyboard).FORMULAS"Formulas are recipes for producing"values. The table of functions%that may be used in formulas is shown%below. Other parts of formulas"are described following the table."$The following functions operate on a$set of values either given asarguments or contained in areasreferenced by the arguments:%AND(list) Returns True if (and only% if) all values are True, otherwise returns False.&AVERAGE(list) = SUM(list)/COUNT(list).&%COUNT(list) number of values that are% given explicitly or by reference. "MAX(list) largest of the values."#MIN(list) smallest of the values.##NPV(d,list) Returns the Net Present# Value of the cash flows represented  by the values. The first parameter d is thediscount rate.%OR(list) Returns True if (and only% if) any argument values are True, otherwise returns False.%STDEV(list) sample standard deviation%of the values.SUM(list) sum of the values.The other functions have fixedarguments as shown:!ABS(n) absolute value of the! number n. ATAN(n) arctangent of n inradians.!COS(n) cosine of the angle n!given in radians."COLUMN() current column number."#DOLLAR(n) the text string showing#the value n in $ format.EXP(n) e to the power n.$FALSE() the logical value False.$$FIXED(n,m) the text containing n in$ Fix format with m decimals.  m=0 is the same as Intformat.#IF(f,a,b) Returns a if f is True,#otherwise returns b.INDEX(vector,n) Returns the nthelement in the vector.$INDEX(area,n,m) Returns the value in$the nth row and mth columnof the rectangular area.$INT(n) the largest integer that$ is less than or equal ton.%ISERROR(n) Returns True if (and only%if) n is an error value.%ISNA(n) Returns True if (and only%if) n is an #N/A value.$LEN(t) the length of the text t$in characters.&LN(n) the base e logarithm of n.&$LOG10(n) the base 10 logarithm of$n.#LOOKUP(n,area) works as follows: If#$the area is higher than wide, n will$#be looked up in the first column of#the area. If n is less than the$first cell in the first row, #N/A is$#returned. Otherwise Multiplan scans#$for the row that in the first column$!contains the greatest number less! or equal to n. The result is the value in the last column of the$same row. For areas wider than high,$"rows and columns are interchanged."%MID(t,n,m) characters n through m of%the text value t. MOD(n,m) the remainder of the integer division n/m.!NA() returns the #N/A (not!available) value.NOT(f) the opposite of theTrue/False flag f.PI() the value of pi. (3.1416...) !REPT(t,n) the text t repeated n!times."ROUND(n,m) n rounded to m decimal"places.#ROW() the current row number.##SIGN(n) Returns -1 if n<0, 0 if#n=0, 1 otherwise.#SIN(n) the sine of the angle n#specified in radians.!SQRT(n) the square root of n.!$TAN(n) the tangent of the angle$n.#TRUE() the logical value True.##VALUE(t) The text t must contain# the representation of anumeric constant. The value ofthat constant is returned.%Formulas are made by combining values%$(text and numbers) and references to$%other cells with the usual arithmetic%operations and other functions.!Numeric values are stored with 14!"digits of precision (mantissa) and"&a decimal exponent ranging from -64 to&+62. Numeric constants may be typed as integers (123), decimal &fractions (123.001), or in exponential&"notation (123.001E3). The exponent"!sign (E) may be typed in upper or!$lower case. Percentages may be typed$#in, followed by percent sign (12%).#%Text-valued constants are enclosed in% double quotes (the constants may not themselves contain quotes)."Multiplan may produce error values"that will propagate through theoperations. These are:&#N/A not available: a special value&that may be created using theNA() function and that will bepropagated by arithmetic operations. ##NAME? result of an undefined name# reference. %#NUM! result of overflow or illegal%use of arithmetic functione.g. sqrt(-1).&#DIV/0! result of an attempt to divide&by 0.##REF! relative reference reaching#outside the sheet or referenceto a deleted area. #NULL! intersection of disjoint areas, e.g. R1 R2.!#VALUE! use of text value where a!number is needed or viceversa.Use of references in illegalcontexts when a value isneeded.%Absolute references are special names%$that incorporate absolute row and/or$#column numbers and that are used to##refer to particular cells or groups#$of cells. A reference may be used to$!get the value from the referenced! cell. Absolute references may be &entered simply by using direction keys&"followed by the Reference key (@)." RnCm (e.g., R2C3) refers to a single cell. Rn refers to all of row n."Cn refers to all of column n.""Rn:m refers to rows n through m"(short for Rn:Rm.)%Cn:m refers to columns n through m%(short for Cn:Cm.)%Relative references are measured from% the cell containing the formula. They can be entered using thedirection keys. The forms are:&R[-n], R[+n] are the nth row above and&below the active cell.$C[-n], C[+n] are the nth column left$and right of the active cell.(the + sign may be omitted)!R is the row containing the!active cell (i.e., R[0]).$C is the column containing the$active cell (i.e., C[0]).#and combinations of the above, e.g.#R[-2]C.Names may be defined to be any!absolute reference (with the Name! command). A name may be used anywhere an%absolute reference can be used. Names% must start with a letter and may %contain letters, digits, periods, and%!underline characters. They may be!%entered by pressing the Reference key%$(@) and stepping through the list of$#defined names using the directional#keys.The operators in formulas are:+ arithmetic addition- subtraction* multiplication/ division%^ exponentiation. Calculated by%the rule: a^b = exp(ln(a)*b)for exponents that are notintegral numbers.% percent, same as /100&& text string concatenation. The&formula "$"&"1.00" will yield:"$1.00"."<, <=, =, >=, >, <> are comparison"operators: less, less orequal, equal, greater orequal, greater, and not equal.To be used for comparing numbers only. &The operators require single values as&operands. If presented with a#vector (a rectangular collection of# cells of width or height =1), it $will be automatically intersected by$$the current row or column, whichever$"is perpendicular to the vector, to"obtain a single value.%The following three operators operate%on groups (sets) of cells:&(space) intersection of two areas, the&collection of cells thatbelong to both operands.%, union of the two areas; cells%that belong to either operand.%: range operator: the smallest%rectangular collection ofcells that includes all cellsin either operand.For example, R1C1:R2C2 is therectangle with R1C1 as itsupper left corner and R2C2 asits lower right corner.COMMAND OVERVIEW%The Multiplan worksheet consists of a%"grid of up to 63 columns in width,"&and 255 rows in length. The screen has&one or more "windows" into"the worksheet, and an area showing"#command, message, and status lines.#$The message line suggests the action$to be taken or explains errors when they occur. The status line "displays coordinates of the active"!cell, its contents, percentage of!&storage remaining, and worksheet name.&$There is a highlighted "active cell"$#on the worksheet. The highlight can#be moved around by pressing the&direction keys. The same keys are also&"used for scrolling the contents of"$windows. The Home key may be used to$go to row 1 column 1 quickly.#The command menu offers a choice of#$commands. To get going, you need to:$"1. Select an active cell. The"direction keys may be used.Thesame keys also scroll theworksheet in the window.#2. Select a command. There are#two ways to do this. You canmove the highlight to acommand word using the spaceor backspace keys and thenpress RETURN. Or, type thefirst letter of the commandword.A new and more specificcommand menu or the parameterfields with the proposedresponses will be displayed.%3. Specify the parameters of the%command. The TAB key may beused to move from field tofield. See "Editing" for other useful tips. %4. You may use the Cancel key at%any time to return to the mainmenu.$5. Press RETURN. The command is$now carried out.%Press "?" for additional information.%ALPHA Used to enter or edit alpha text terminated by RETURN. An emptystring of characters may not beentered with this command. ALPHA/VALUE If an Alpha or Value command isterminated with a direction keyor any other key that moves thecursor, Multiplan will respond!with ALPHA/VALUE, ready to accept!!another alpha or value entry. The!$first character typed will determine$the type of entry. The#characters 0 through 9, =, +, -, (,#and " select VALUE; allother characters select ALPHA.%This process may be repeated to enter%a sequence of text or values.!If the text is too long, an error!#message will result. Note also that#%double quotes may not be used in text%strings.BLANK Blanks out contents of specified cell(s).&The parameter must describe an area of&the sheet. Check if all names$have been defined and also check the$!use of parentheses and operators.!&For more information select "Formulas"&(F) on the Help Menu.COPY#Replicates cell contents into other#cells. A variety of sources anddestinations is provided.%Overlapping copying is not permitted.% The from: and to: area must have compatible shape. COPY FROM $Copies contents and format of a cell$&or group of cells to another location.&Parameters are:&1. Description of a cell or the group&of cells to be copied.!2. Area to be filled with single!source cell, or upper left cell where the source group should be !copied. Copy from a source into a!similarly shaped target area isalso permitted. COPY RIGHT &Used to make a row of identical values&or formulas. Parameters are:&1. Number of copies to be made to the&right of the "source".Total number of identical cellswill be this number +1 (the original). #2. This parameter (the "source" of# copying), is usually left as the !active cell which is the proposed!response. A vertical group ("vector") may be copied instead to create a matrix. COPY DOWN $Used to fill a column with identical$$values or formulas. Parameters are:$%1. Number of copies to be made below% the "source". #2. This is the source of the copy,#usually left as the active cell!which is the proposed response. A!horizontal group ("vector")may be copied instead to form amatrix.DELETEDeletes all or parts of rows or"columns. Space is closed up, hence""cells to the right of or below the"deleted area will move. DELETE ROWS $Deletes all or part of row(s); space$#will be closed up; formulas, names,#and references are adjusted.$To delete the active row, just press$RETURN.&Effects of deletions on references and&formulas, as well as on$structures of rows and columns, must$be carefully considered.The parameters are: 1. Number of rows to be deleted 2. First row to be deleted$3.4.These two parameters are usually$"left as proposed. They may be used" to limit the deletion to a range of columns. Cells below the range will move up to occupy the deleted space.DELETE COLUMNS!Deletes all or part of column(s);!"space will be closed up; formulas,"#names, and references are adjusted.#Parameters are:#1. Number of columns to be deleted#2. First column to be deleted$3.4.These two parameters are usually$left as proposed. They may beused to limit the deletion to arange of rows. Cells to the!right of the range will move left!to occupy the deleted space.EDITPuts contents of active cell on command line for editing. Edited value is reassigned to cell when RETURN is pressed.&When editing formulas, check carefully&before pressing RETURN.#Use the Alpha command to edit text.#Press "E" now to see section onEditing.FORMAT$Presents four options for formatting$cells as described below:FORMAT DEFAULT CELLS!Used to change the format for all!cells that have the "Def"%property. The desired format (as well%as alignment) is described%under the Format Cells command below.% FORMAT CELLS $Sets a specific format and alignment$for one or more cells. Just#typing "FC" shows the properties of# the active cell. Parameters are: 1. Cell or group of cells to be formatted. 2. Alignment. Choices are:"Def Aligns as specified in the"Format Default command.Ctr Centers cell entries#Gen (General) Aligns text left,#numbers right."Left Aligns cell entries to the"left."Right Aligns cell entries to the"right. - Do not change alignment. 3. Format. Choices are:"Def Format as specified in the"Format Default command."Cont Continues long text across"column border, if next cellempty and also formatted"Cont".&Exp (Scientific notation) Displays&numbers as a decimal times apower of ten. Number of digitsas specified in "# of decimals." %Fix Rounds to and displays number%of decimals specifiedin "# of decimals" field.%Gen (General) Displays numbers in%the most appropriate formconsidering the size of thecell and of the number. Int Numbers will be shown as integers after rounding.%$ Displays numbers with leading%dollar sign and 2 decimalplaces (negative numbersenclosed in parentheses).$* (Bar Graph) Displays as many$asterisks as the value of thenumber.%% (percent) Displays the number%times 100 followed by a percent sign. - Do not change format.$4. Number of decimals. This is used$in the Exp, Fix and % formatsabove. FORMAT WIDTH #Sets width (3 to 32 characters) for# specified column(s). Multiplan's initial default width is 10 characters. #Text (words) are cut off at edge of#&column, but cell content is preserved.&$Widen column to display entire text,$or use Format Cells (Continuous%format) to run text into next column.%$Numbers too wide to be displayed are$indicated by # signs. Widen#column(s) to display entire number.#Parameters are:$1. Width of column in characters. A$"D" will cause the columns touse the "default width" (SeeFormat Default width).#2.3.Range of columns to be changed.#FORMAT DEFAULT%Used to set formatting for cells with%"Default" formatting, width&for columns that have "Default" width,&!and for other formatting options.!FORMAT DEFAULT WIDTH#Used to change the width of columns#that have "Default" width.$Initially all columns have "Default"$width.FORMAT OPTIONS&"comma" option: when selected, numbers&will be displayed withcommas separating every thirddigit before the decimalpoint. This affects only fixed,integer, percent and dollarformats."formulas" option: the formulasthemselves will be shown, notthe numerical values of theformulas. All field widths will be automatically doubled to accommodate the formulaswhen this option is turned on.GOTO%Used to move cell pointer over sheet.% GOTO ROW-COL Moves cell pointer directly to!specified row and column. If cell!&requested is already visible window is& not moved. "Otherwise window is shifted to the"specified cell. GOTO NAME "Moves cell pointer directly to the" upper left corner of named area. &The direction keys may be used to step&through the directory of names. GOTO WINDOW "Moves worksheet so that the active" cell is at the upper left corner of the designated window.INSERT#Used to insert new blank cells into# the sheet. Existing cells may be %moved to make room for the new cells.% INSERT ROW $Inserts entire blank rows across the$"sheet, or portions of rows between"#specified columns. Rows below added#"rows(s) are moved down. References"$affected by insertions are adjusted.$Name definitions are adjustedaccordingly. Parameters are:"1. Number of new blank rows to be" inserted. "2. The new space will be inserted" before the contents of this row. %3.4.These parameters are usually left%with the proposed values.They may be used to limit theinsertion to between thespecified columns. INSERT COLUMN $Inserts entire columns in the sheet,$$or partial columns between specified$!rows. Columns to the right of the!%space inserted move right. References%$affected by insertions are adjusted.$Name definitions are adjustedaccordingly. Parameters are:%1. Number of new blank columns to be%created.%2. The new space will be inserted to% the left of the contents of this column.%3.4.These parameters are usually left%with the proposed values.They may be used to limit theinsertion to between thespecified rows.LOCKUsed to protect specified cellcontents and formulas fromunintentional change by other commands. The Lock Cells command can also unlock cells. In a worksheet the next unlocked non-blank cell can be easilylocated by a special key (see Keyboard). Note that values imported from$external sheets may be unlocked only$by the eXternal Copy command. LOCK CELLS #Used to protect specific cells from#%unintentional change. Parameters are:% 1. Cell or group of cells to be locked (unlocked)."2. Shows current state (Locked or"!Unlocked) of current cell. Use to!specify desired state. LOCK FORMULAS $If confirmed, all cells in the sheet$"that contain text or formulas will"#be locked. This may be a convenient#first step in creating a locked&sheet. You may, however, wish to leave&certain text strings unlockedor lock some important numbers.MOVE"Used to move whole rows or columns"from one place to another.MOVE ROW"Moves whole rows from one place to" another in the sheet. References %affected by the move are adjusted, as%are definitions of names.Parameters are:1. First row to be moved.&2. Moved rows will appear in front of&the contents of this row.$3. Number of consecutive rows to be$moved. MOVE COLUMN %Moves whole columns from one place to% another in the sheet. References %affected by the move are adjusted, as%are definitions of names.Parameters are:1. First column to be moved.$2. Moved columns will appear to the$left of the contents of thiscolumn.$3. Number of consecutive columns to$ be moved. NAME&Used to name a cell or group of cells.&!The names may be used in formulas!&or in other commands. The name command&is also useful for inspectingthe existing definitions. Theparameters are:"1. Name to be defined. Names must"start with a letter and may!contain letters, digits, periods,!and underline characters. To review names already defined, "use directional keys (right arrow:"next name, left arrow: previousname).&2. Definition of the cell(s) that the&name is to refer to. Absolute references may be entered by use "of direction keys. Groups of cells" are formed using a colon (:) for ""ranges" or by using comma (,) for" "unions". OPTIONS$This command lets you turn on or off$various optional features of Multiplan. #"recalc" option: controls how often#formula recalculations areperformed. "Yes" causes recalculation whenever a cell is changed.!This may take some time on a busy!sheet. To get quicker response turn the option off and press the Recalc key (!)!when you desire to see up-to-date!results.#"mute" option: silences the audible#alarm.!"iteration" option: when "Yes" is!selected, the recalculation ofworksheets with circular!references will be repeated until! a completion test (see below) is satisfied. The following special "functions may be used in iterative" worksheets: DELTA(): returns the maximum"change in the values of cells from"one iteration to another. Byreferring to DELTA() from theworksheet more than once themaximum change in a particularportion of the worksheet may be calculated. ITERCNT(): returns #N/A duringnormal recalculation and the!iteration count (starting with 1)!during iteration.&"completion test at" option: specifies&the location of a formulafor completion test. Iterationwill end when this formula evaluates to TRUE. If the option field is empty, the formulaDELTA()<0.001 will be used.PRINT$Used for printing of worksheets. The$%menu command Printer starts printing.%&File prints printable output on a disk&file; Margins sets margins to%be used; and Options defines the part%&of the worksheet to be printed, allows&&insertion of a control line at the top&!of the output, or prints formulas!instead of their values.&Time required to print depends on size&of the sheet and the speed of the printer. &As many columns are printed across the&"page as will fit. Leftover columns"$begin a new page. When all rows have$been printed, the next set of!columns will begin on a new page.! PRINT Printer Starts printing on the printer. PRINT FILE %Directs printed output to a disk file%instead of a printer."If a file of the same name exists," Multiplan will ask permission to #replace it. Output to the file will#start immediately.%The parameter is the name of the file%!to which output is to be printed.! PRINT MARGINS Used to set page dimensions for$printed output. After the RETURN key$%is pressed, Multiplan will resume the%&Print command for the selection of the&#Printer or the File to be used. The#parameters are:%1. Left margin (in print positions.)% 2. Top margin (in print lines.) "3. Width of printable area on the"page (in print positions.)#4. Height of printable area on the#page (in print lines.)%5. Height of pages (in print lines.)% PRINT OPTIONS %The options allow part of a worksheet%to be printed, the insertion of$a control line at the top of output,$#and printing of formulas instead of#%their values. After RETURN, Multiplan%!will resume the Print command for!$the selection of the Printer or File$to be used. The options are:"1. Description of the rectangular"group of cells that is to be!printed (if not the whole sheet.)!%2. Arbitrary text may be sent to the%printer using this parameter.3. A printout of the formulas(instead of the values of the formulas) "can be obtained by selecting "Yes""for the "formulas" option."4. The printing of row and column"numbers may be requested or suppressed. QUIT&Ends Multiplan session when confirmed.&This command will not save the"active sheet. Use Transfer Save to"!save worksheet before using Quit.!SORT&You can sort any part of the worksheet& using this command. The sort key %may be any designated column. Rows of%%the worksheet will be exchanged until%#the values in the Key column are in#!the selected order. Both text and! numeric values are allowed. Text !values will be ordered before any!!numerical values. Empty cells are!always sorted last.$To create multi-level sorts, sort on$the last key first, and proceed#backward sorting on the other keys.#The parameters are:1. The key column number.%2.3.These parameters can restrict the%sort to a range of consecutiverows.$4. Sort order. ">" means ascending,$"<" means descending values.TRANSFER&The subcommands of TRANSFER affect the&entire active worksheet orsaved worksheets. TRANSFER LOAD #Loads a worksheet from a disk file.#"The parameter is the "filename" of"!the file. Spell and punctuate the! filename exactly as it was saved with Transfer Save.!The direction keys may be used to!!display the file directory on the!screen#and then select a file by pointing.##Data may be automatically copied to#&the loaded sheet from other supporting&!sheets. See XTERNAL COPY for more! information. Use TRANSFER OPTIONS to specifyspecial file formats. All#special format files will be merged#"into the active sheet, rather than"loaded as a whole. The filename must conform to the %general rules of the Operating System%of the machine you use. Only$worksheets saved in Multiplan may be$loaded by TRANSFER LOAD.$To create new worksheets, there must$"be space available on the disk and"%the disk must not be write-protected.% TRANSFER SAVE %Saves a copy of the current worksheet%&as a disk file from which it can later&be loaded with Transfer Load.#The parameter is the "filename". If# the filename already exists, the #message, "Overwrite existing file?"#$will ask for confirmation to replace$!that file with the new worksheet.!$See TRANSFER OPTIONS for information$on special file formats.TRANSFER CLEAR After confirmation, the sheet is cleared. Columns are set to 10&characters wide, default format is set& to General. "Sheet name is set to TEMP, with no"depending or supporting sheets.TRANSFER DELETE#Removes worksheet from file system.#TRANSFER OPTIONS%Modifies the context of the following%TRANSFER operations:!The setup argument may be used to!#specify the directory or disk drive#for saving and loading files.&The file "mode" may be used to set the&desired file format for the#following Loads and Stores. This is# important for data exchange with $other programs. "Normal mode" should$be selected for all files thatare not used for interchange.#"Symbolic" mode is used for loading#and saving of worksheets in the%symbolic SYLK format. In "Other" mode%#VisiCalc (TM VisiCorp) format files#may be loaded.Great care should be taken to%distinguish files that have different%formats!TRANSFER RENAME&Renames active sheet. Offers to update&%references to the sheet on supporting%&and depending sheets. The parameter is&the desired new name.VALUECan be used to enter a value orformula in the active cell. The#command is completed when RETURN is#pressed. A directional key or#any other key that moves the cursor#will also terminate the value%and move to the appropriate new cell.%Multiplan will respond!with ALPHA/VALUE, ready to accept!another alpha or value entry.#This feature is described under the#Alpha command.&The following simplifications are also& available: $Numbers may be entered directly. The$Value command is entered auto-#matically when the leading digit is#typed.%The characters =, +, -, (, and " will%also start the Value command.#At the beginning of the formula and#after entering an operator, a&relative reference can be entered just&by pressing the direction keys$to move the highlight to the cell to$be referenced. The reference&may be changed to Absolute by pressing&the Reference (@) key.WINDOW%This command is used to control size,%!number, and display of "windows",!%which are subdivisions of the screen.%WINDOW SPLIT HORIZONTAL&Splits active window across the screen&at the row indicated. The new&window will occupy the space below the&row selected, and may be#linked with the original window for#synchronized scrolling in thehorizontal direction.WINDOW SPLIT VERTICAL&Splits active window vertically at the& column specified. The new window &may be linked with original window for&synchronized scrollingin the vertical direction.WINDOW SPLIT TITLES Splits active window into 2 or 4 windows which scroll together.#This command is used to hold column#titles or row headings in place$while cells are scrolled. Parameters$are:%1. Number of rows to become a window%across the top of the screen.!2. Number of columns to become a!!window at the left of the screen.!#The remaining display space becomes#%the active window which is linked for%#horizontal movement with the window##above it, and for vertical movement#with the window to its left.Note that the acceptance of the"proposed parameters will split the"$titles so that the current cell will$be at the upper left corner of&of the data area in the active window.& WINDOW BORDER $Used to border or to remove a border$from a window.#Note that borders occupy one screen#$position on each side of the window,$#thus reducing the display area by 2#"screen lines and 2 screen columns." WINDOW CLOSE #This command removes the designated#window from the screen. WINDOW LINK !This command can set or break the!!links for synchronized scrolling.!Parameters are:%1.2.These parameters define a pair of%windows. In most cases theproposed values are acceptable.Note that linking of windowsthat are not "neighbors" is not permitted. #3. The parameter shows the current#!state of linking, and may be used!to change the linking. The direction of linking follows the direction of window splits.XTERNAL!This group of commands deals with!!references to inactive (external)! worksheets. XTERNAL COPY %Copies data from an external sheet to%the active sheet. Optionally,#a permanent link may be established# between the active sheet and the $source of the data. The Name command$may be used immediately after!the copy to create a name for the!target area that is related tothe name of the source%("filename.areaname".) The parameters%are:&1. External sheet name. The direction& keys may be used to step through names of the supporting sheets.!2. Name of the source area to be!!copied on the external sheet. The! direction keys will step through !the permanently copied names from!thesheet defined by the first parameter. &3. Target area on the active sheet. A&permanent link (see below) may be broken by deleting the target area definition. 4. Link option. If "No" link is "selected, the copy will be carried"out and the command will"terminate. If "Yes" is selected, a" permanent link is established as described below.&Linked copies have a number of special&properties: a permanent record#of the copy parameters will be kept#!with the active sheet. Every time!%the sheet is loaded, the copying will%be repeated so that the most$up-to-date information on the source$"sheets - the "supporting" sheets -"$can be imported to the active sheet.$$Whenever sheet relationships change,$$the supporting sheets may be updated$%with a "receipt" showing which sheets%$"depend" on them. These lists may be$ inspected using the XTERNAL LIST command described below.#The imported data will be locked on#"the sheets. When a cell containing"!imported data is highlighted, the!status line will show:%[source sheet name source area name]%%Linking may be changed or broken only%by redefining the target area&or deleting the target area definition&in the XTERNAL COPY command. XTERNAL LIST $The relationships between the active$"worksheet and other worksheets are" displayed: %"Sheets supporting" shows sheet names%"and possibly a substitute name for"%worksheets which support (export data%to) the active sheet;%"Sheets depending on" lists filenames%!of sheets which depend on (import! data from) the active worksheet. &Press any key to return to the display&of the active sheet. XTERNAL USE Sets a substitute name for a$supporting sheet using the following$ parameters: #1. New sheet name to be used. This# name should not be used in other substitutions."2. Sheet name currently in use in" existing links. All copies using this name - whether a real sheet name or just a formal or "dummy" name - will henceforth refer tothe first parameter.KEYBOARD%If you have a Zenith/Heath h19, ANSI,%Televideo 910/912/920/925/950,ADM 3A/21/31/42 ,Xerox 820/860,"Hazeltine Esprit, TRS-80 Model-II,"&DEC VT-100, or Zentec terminal, please&$see the notes below about the use of$ special keys. !Please read the note, some of the!"standard keys may not work on your" terminal. !If your terminal has an up, down,!left,$and right arrow key, then those keys$$will move the cell pointer. If your$&terminal has a home key, that key will&move the cell pointer to R1C1.Action: Key to use:up arrow CTRL-Edown arrow CTRL-Xleft arrow CTRL-Sright arrow CTRL-Dcancel CTRL-C"return,enter RETURN, CTRL-M"%backspace BACKSPACE, CTRL-H%"delete DELETE, CTRL-Y" tab TAB, CTRL-I, CTRL-Acharacter left CTRL-Kcharacter right CTRL-Lword left CTRL-Oword right CTRL-Preference @help ?next window ;, CTRL-W%next unlocked cell LINE FEED, CTRL-F%recalculate !home CTRL-Qend CTRL-Z#page up CTRL-R up-arrow#%page down CTRL-R down-arrow%%page left CTRL-R left-arrow%&page right CTRL-R right-arrow&"NOTE: These additional keys can be"$used on a Zenith/Heath h19 terminal.$$The numbers on the alternate key pad$&can be entered by using the shift key.&Action: Key to use:character left ICcharacter right DCword left ILword right DLpage up f1page down f2page left f3page right f4end f5cancel eraserecalculate bluehelp redreference white"NOTE: These additional keys can be"used on an ANSI terminal.$The numbers on the alternate key pad$&can be entered by using the shift key.&AKP is the Alternate Key Pad.Action: Key to use: character left 7 on the AKP character right 9 on the AKP word left 1 on the AKP word right 3 on the AKP $NOTE: The following keys are used on$the TRS-80 Model-II.Action: Key to use:cancel eschome F1next unlocked cell F2$NOTE: The following keys are used on$the Xerox 820.Action: Key to use:help helpcancel esc$NOTE: The following keys are used on$the Xerox 860.Action: Key to use:up arrow RVRSE-LINEdown arrow LINEleft arrow RVRSE-CHARright arrow CHARhelp helpcancel STOP$NOTE: The following keys are used on$ Televideo 910/912/920, Wyse 100, &Zentec, and ADM-3A/21/31/42 terminals.&Action: Key to use:backspace CTRL-Ucharacter left CTRL-Vcharacter right CTRL-B$NOTE: The following keys are used on$!Televideo 910+/925/950 terminals.!Action: Key to use:backspace CTRL-Bcharacter left CTRL-Ucharacter right CTRL-J$NOTE: The following keys are used on$the Hazeltine Esprit.Action: Key to use:backspace CTRL-Uword left CTRL-Vword right CTRL-B$NOTE: The following keys are used on$the DEC VT-100 terminal.Action: Key to use:character left PF 1character right PF 2word left PF 3word right PF 4$NOTE: The following keys are used on$the Hazeltine Esprit.Action: Key to use:backspace CTvT-!Y_d_r[(7aL{9y>ws=Q8   "9!$?!$$ #"#$!!;!O$ rUcaV,Ax T *zUvxT*zTvVa}.rU3x7T;*z|$-Xo ,UQdu/w0oTe&)J5e&UUTf&UdTtTsU}8 NXo   I!G!O!M!C!K!A!E!1!$!\ݺ`_$p_$ֳ_R`TTb\AcZAZAQUXAP"&b+dBAUc$'*U׬*r*x8ed\Adgc&&ey}T_77a}+eB_bc*x*SSTTa%dׯ} Ve%cT5,&օ*h $g  A}   d e fc}j TcTk RMP5R cT+Al[圖`d'$hi   [[eTTTTS$Te$$US!eTdTTTTTg T0QjT/ j U__>_TSTd g e}$ȳ&R :T_iQ@_i_z_}4v-eeAt s%wx%Dzu+%Ta%*BAx}(&US UUS  'b\AcyXAyUyTUUCBAL Re|4n       {&[!!U!!5#)#!$#!%!+#!!O$$7#)!I$9#!/#$$#$$$9!Qb]/%,QPQb\ aT#Q *T(Q [*T0QR)WUQC.WU,QPQ'QS!0bU1aQb Qca!QdaWTTTUT -+Mc+Fd. g: c}+J)+Ee.+Lײfuxs%).*%'TP%UT\$T Q?6I! 0gk3j$!BTkB |FVWfk~3IkLVUf !kI Ik >h~qA)U~_ !U~U~ [5Ƹ T  ZQ(Q- ?    1 գ9 5Ɛ  T| T嬆 Q@lUmQ1zGlmTQ0 > ? TQ. ? jT#Q0 > ?}QE ?TQ- lQ+ ?^0^:0 ?|.5Ɛ mT  k|kTz Q*k (k取IQ- k IQ(Q)| [Q%Q ?hk *2Q# Q# *U!i!j!f Us!oWf h  h g20XQ *| UQ U* T#UQ W+XQ | UQ Uݰ U+Uݰ|WQ 2ZQ  h2 ZQ * 0 ed eb| eפ2T#0AdTQ+?| TQ-?ay ^ 0;<=zU HeH`Q@dAcQ0cy-cT byabQ -*%![&aS}&&aTt >BF """ #U!'!"#!#;!)#%#+#%!$ T@T @D11h IVh>g|DTg-/eDRuTvAr+AfBUfhLgBI . Ak h KgD8jTi , % I I I?| IQ Q_?} (05I׳g   ,MZt&I)&t}065Id5J e IQ e}|f6yT*Ǭ*7y*xz*xU$.!!!R@T sR QT$Ae$Afih R%c h%sTjIQ Rj hIQRIQg Q` Q` a#` #^Yh [%d%O Q`% JQ  Q %szQ ei}h *I|   $!!U!!!%!!Tr%Ts)wT'V%QTsQwQ-(Vע'Vׅ(V/&bTt5UctUtTQ bc %RU$QaRU$Q aQYUT@FPZo#+3;MY    !#$=!  0bT >}T I>T} UT@c!>e>fQeQfT}U Q 0f?}UTQAQZUTQaQzUTQ0Q9UTUTQ QUTR!R!R!Q.Q_UT %^^A#AA$Q,UT@^?l ")#+#U!!!$"$o$"##!##)Ev)Fuxq4(4,4(20.,@|)|%|!| || |+*,:|#*%/ղe$.ղba./ճc1aA#0AdABWL1U/ :}*)K)Jx*$q#T$#r(+$'U&x*Q$ײq#T$#r)@paT+('U*)G)Fx*Q>%ײq#T%#s)G2+('U/x*%q#T%#s'+(%UTab- St}*C_HU|x  k  . t 7        $  +    +                       """""#""""#;! #$'!%!$"";#U!!!##!)#+##" "#M$O$#3!o$${&=# "" ""I!&5*}I}IQ: JI}5'a7b770 Q7b|Ic:5׾?Q. IIQ.}f YIcaI JDZa|}!&a J! I}|\I I!&a|Ia|?I}Q >cQ }aI=|Q< <IQ }~(*վ?Qz_P5fTto 512Th  j IQ@l_^ K^fQ:?Q ? I  IRz56 z JQ UTw  Eg|5 KgQ  zk I . M ZI D I5n mT5 6 z Ni  פ Ng z| 6 J6 Ig  5 @Lg fQ z~5,o 5cQ(zQ cQ)zծQ(5׮Q)5Q(bQ z5c:Q Q)0I=.MZfTg '} DTg| gDg ZIh 12ޣ '}DdeI'}Ie| eTe$@1Q cI=.zg DZ+ Ih Q 5 I|5Q=o yU g}TDeIIh5 I!}TT!1V%5+T#Q 12+* ,dTe1cI fKd6I6Iz zLd}o0TdTeIk6Iu6Jx*fWi 'f iIk QnJm*'ǐ VWi!o 'o!To/.Zo'!o)!R8Q% V U"#h T"#h o(Q"# !;?|Rh|Rh| RhRh!K 2.*4" @|~E=~@?~;B~6 X  @~ UH ($    @| V R!   RUT & Z;73LK   AtB~*6z XIXzUf|N XU= ,TTdeIk6Iu6Jx *fWi~'f /f i~ X'o   e W |2  |  UUd WUeyIi~ *ՁfUi~'fUi~!#U~} J VF__' 5IQ }_* 5}' 5I췜 Q(* 5I췛 Q) ,*6zd oUe6Iu6JxIi~ V(%$2"%0 (|% )|# ,| -| '|& V7I 2 V %|+ AlVi ! %0WiU!Vi g &_,Tt f~bV XIXzTf~L'~DWif  |'f| 6|WiU~  |*fWi|Wif|Wi*Յ|'fWi| V) Tw%Vt|!9| )_iQ  5yT(y  |#( Ȥ$ (vz ( vU (U$TU  F ؙT #|/{kTUk3%Ɛ yATTk Ay Q$ASyUTbTcQ7:Ib}SbTcQ7bTTI7Ic}'*'դ'7z'xQ7z 7cI}IQIdI c71& :Iz}05d*eUIXz T#*x0Ty*'LaTUYa+12סQTUy5*d+* +oIzUX J+cTT7IeAd TdTc5h5A *A *xP= *T#T5* Q *!1Vb22a}%!o!o!o0Eo 0Fo@!3;!!!H!o!o0E-0F!!-!T4IJ.`q'= )         !X#]#I#{&#'#o##;#=#)!+#Q$)#+!###$$%##U$S$/! mIncLnLcB !Aj c KnI BIB!Ak! Bj,? @ A@aQ ? AFVl A a-? dg ~R >f@fO j5w3u1-oK95416-85:<4">V􌂿Ԙ887JVdAzBy~AՅ:yQQ%Q)Az:y|0 BVe|Q XVeIQ6Q a|QR?>QC Te|>i>nTePh Q Q? 55Ha|u Q QR? Qصa Q? QC? Q@صa|Q|p.2>^Ij  IaQ(?|XTQ-?Qa\e|Q"?>eRR ac:y|667I?| Q,VdAz~x0,?Q-Q+?-? cIJQ KLQ>|QR?>II Q:?I창IJQ> QC(#y _(x)wm3a~! !!R>_~Qk@U%0, ~2A^bSg ll)QwGR )@g} T2^W )yRk| OE !HAkCx Q@)Ec*)y*Ix R!)y )yZmBh|0AcR)yQ)yAEeJQVgTl Xg IQp } Q *Vǫ*){z *VxQ )y|KQ)yU |>IQa| Q  a|$|IzzJzzIJ )w~>_>lPeQQ? !hQz|TzQz| 1UzTH| 1bzQ:Q? TzQ>z| /yzT| /zQ? Q  ~xR)yQ)y~i)Q njw GR @@ yRy#Fc>e Fd>l@{:VVֳezx Q x)QwQ)yU ~|QbTfQ>iTg  UzUFz?? ? ?P *YN* ~|lVgTbl!fif X g i}d}bTy|. Q zVx|xRyQyU ~>|:VϘ)Q njw GRGQ@Ex @@ yW& GQ@ Ex|PA8 RyT QbQrTQf取Qb QfUy|! |Ec EdIbIxIz|L9Ƹ)Q|<>my y*yI@[TUh|!>b*ǫ*){z*KaQ@)wy~/R؍*U0*z*v/*YU*)7XxQ )y@$1TQ-?QQ"?d 5I5II.eIIeId k #)###o#%#!#+#'# QcI$$J$cIJIcQ?dK))L)dKLKdR*yQ*yQ Q?0 5eSe-R*ytAp(Ad%BsfLgBI 'Ah f KgB%$*Q`& ǧQ@*y &*{z& tI*y Q`Q`R*y *Q*y &UT&tGQF pLs3          w#!]#I#q##s#m#}#u#?##)#=#;#+!)!+#-!$Q$HPTh_uTy-mTkw(o S_UjUvx5 Q(U**I_~*x_Q ~ ~'Q'uyUy1*I  b~}*I*IQQQא*J b~[*x*I*x}*_*IQ(3Q ?Q\Tg!lVbWP=~'VumEr2l!j!Ii> Tl}Q?2^߾?y yyTh ƀkJj*xIQ }*IQ)STf|Tg"^(M+ x*Ix|'QUg*IUy QQ  Q6Q8?|l 5Q?b|X'Vu|Q>?|MQV?:n*I*I5*xI?}*xz|&! 66HU~Uy6HxQ?Q?Q??Tj|%)h,*I=!|3<|Q4?QfTgQh5 i hjf   Q? ? zWQ  ? ?zY TgQcQ?dQRUTeQcQ>d뜐*JUg*xQ>dQc*I5/!֤ TfTcQfTdQ@f QQ??zTbTc*I1 *xI+Ub*xTc*I05*x Tc*I^*IQ0c5*x}5@IQ52T TyUyIQ5+I;z:Q9dQ0z Q1zUP=Uy}d;Q0}yUdgTb f*IQ0*x}*ITd *I?*x}*IQ.*x /b*x}*I  -*x}*h*IQQE;Tc*xTe*I+Ue*x*IT*h*I^*xIQ0c}ׁbQ@R xT ?@QT z U +o.o N [! Ue          #)#+#$$##$$$#$$!##$#O$##M$#3!/#%#!!o$#W$-#g$1#!!}##$%b A/AֱT0TtxTu!d!-KA A' xA tA3uxd} &!t!u*!x@-$!!%!"Uo$$%%U--3 Tf_++To- )g& w$%TA&/AbB#xA)tA_YT3 ~UvSo 5.Th_RS}R~,TTmUhUlTm6j7k2n0_T_U_|Um7j6k0n2_U20_0_!eT y A~T y A~A븖LbIfB !Ag b Kf!oi(.(Tl(Ȼ i' f.'($Th B #5 T#5(@ ! V%YT_Uv$1p%1\ݐ _'I_L;g Iʴ/c X d IA_/yT ȻT/Acz' ȻA)첮UvTheU P=~eU P=~0.-Tl,o ,T1QRҡUT_5WUUh ~F Q Th -*!eTr$2!Ts%0A B늲%s}$r}Torsw UTo! QQ@ @VTUWTb!@3Xw$)E1$)@+%c)F%s%)G TU%s}s|%)F %)GTU}U!UUT  !Iz\\!Ic!@hb*grA  Y$W$O$#k$#i$$#S$9!!#%##m$Q$"3!#q$ -1Q-o3 &g(d0&(f0 U0&e &T( &c(fe((Tc} tv T%5AAd%[ 5:AP=}.$/ X$r$ .cILdBVAUȻ$r$X0e,AP=}0e2dYUz//A/ֻ/bAЖuKw)2))Y4T@BLIeA') Vg d%+%(+%%+%+oTeY3I3P=}%c%s@E Ȼ2@T{y2e%,A@BT2yUAE2ye}TA@, & (0(T2b2b%AE2b}T .ax2装*A>f@f .","* &V|Ac潽|aIa}.$dLaIxB*a| //a2eaKxAI*a}vT Tc cV}J~"               "3!"""" #U!""K$)#;!"M$+#?!!##=#;#"" " "Q6)Ca)/Zo/w-1 !*bTxUx,a>b>c.2d*,cIbQVz"aT* c 0 S((vQR?.!cQC?2!X0JfQ UTs dTT! % /0y  TTAhIXz 5 e&  &t& T# 3z y UV0%!?U!?*uTx'-1UTTMZ/wQ:5o!SoQ;+WUa+WTu>;73. +'# @||1V|*1U|$| )IQ)w}Q=x)Ko}t^'a&.   !         ""$$$$$9#5#m#"Q$S$!#U$")!K$O$M$3!w#!$ "#I$$Z&X&QT"#5Bհ5DbIQa|JL\a5C()Uow5CUTv#UTo5BoQ)!YUUo#UTo*a5BUTx*#J#LQSu01843:6$.@91'A@@f'u1'0Tu9'SS90A@AT-2{Ry62yU SsTfI 3J -3(o Ih,UfXc b W K z z J z/1TuNWS<8G02@7'첆"/%AFV @g% s/%1/%B'T.7'%SSA0Tt@fRa6e!.Ǒ*&&,( @8U&tTt8U&R$U8Sb'S1'cA@b@%S/%cAFVdA+%SSb& .&DBBTo062hTi2y5AdIe3Tg!fg @''@T fTQ-?Q e f|>e|!jI Ij f @2-o @@|VeQ"?Q" z| 3 V 62-2T#-y Z'Gh+T L s$)##!#O$+#!W$S$U$$Q$#!#$%#!{&g$!To UoUo5A a} Twr&*.TTT'r%w$2K2JTt)x*T 2L2Ma*Tb*aT*x}*x2E&2F*.&*T2@Q$2@2Er.2@*T&T2K2JaT&ײt$2E&rD2GQ>)2G2FwQ>)w.&2GT*T)*xT b*똡}*x*2F*x)2F*w떯`f>Ay>Ay>Ay>Ay}0JIIJ LKKLT>>첿? ???U TefxqVcVdIIJJKLǢLKգKKBLL;IJǢ4JIա-:z8z)z(zVbeSf}}zT 叛| 3Ƙ ,dVdA0}0U%a%bU0VcA %c}Ab}0c0d'%%e0.d}'%Uus PTh0gTj\8Y4!f ,A Uh|K0U XgXf Xjf}Ti Ui j T "\ Z ' |  ' 3  z @hQXhIVj eTT T-,f,gV - -A-ֻ yI FQUT  @ k  !d/"KeALfAP=d}0@d1eWT@TQ@--dA@@e1W,c-AFVA@fBP=c}TRaX0b,A 1AeAyy}Uc1a1+-Be AbAyyILd 1ca}o 1+!X/ֱb /c(v(TeTeV dV}@Sy-e1'-yA@@f  @TU-ye}T `SySg,i -I ,y AFVj B A A@ U T  h Bg ,y i} SySyTb"+3Qej}!?      "!+#!#$$1#Q$$'!%!/#9#-#$)#$K$[!$"U!I$5#"$$ U WYY@2y%y3AeJyLy@T!y!yeA&AfA)yA<y b !UT !UT ( ! !UT /UT0T!yd A&AB#y .cW)XYc 0@DeT f@J @2%RoT,-5I׶e@3DAIeQdzU@D@ @DAeTT@T cT@' 'Ii T e'j i e j}e|Dg35 I5 J  U* AEUR$U D* fAEU9XUmIJ Tm2zzKL Tm%zz* f e ,-5K׶l  AEdeccae}Taz IQ 66Ha| caQ,?@D |2+Ee|%+Fe)e eA &AATU@1QT1pzz1\zzX ._       #*$s$S!Y!+#)#$W!Q!o$%!$%#!!#!$$/#!## Ta- :RRT} ,&VUW쮬/G(/FTv)/@p/ETwT1%2QPQ*QX2QPQ6"Y2QPQAQ5Ta.2QPQBQף 6I}Q QBQ*@5XeFfEgyy f-U\ 빮 @f7eUTh "A AAhA 0}g  , &AffTPP=TTTTTT-@T5X_++Me+Lf+Jg+Kh+Ei+Fj+A_*X*_&*_' *_( _)RkSlQ@mSn _Q+yRS_|A(_)(_|*T _ _ k l| _ k l__"+G_$T_!T_ _ע_,:,_%_}_ U_%_  UT_#"U#+GU U_! U+P=!}yT_RS_|y&___|eTA _ 놲,_}__T_$_#맲#} _$m#n| _ ףDzC}g_) mnTITD)0-*(()*&&(* #)))|z m n kl&(%*HRɀR̀X*%R'(%R%R&)%RȀ4'R&(%!o tQ#UTQ V* _< _&}T+ATQ WTQ Q X**'~}__ _ TB! ״_*(%R̀* _%Q *}Tj_ _+GQ? ____a](%*RˀR̀*)%Rʀ(%VU_Q *+A TVTQ V*Q V* __! _}_T ͼ}%:}ּ~.'+:52붆RˀR̀* _LQ *}uo 0eT6g! A! AdA)x*!xBWLU*Ue}TF*UB$U=hLiBI 0 Aj h Ki fT j: f}T yTZ&T&Y&V&TT%'QUT|)#$$+# TQ TQ?Q %Ec%Fdqt# #%@p T Vc&&%G T&%Gd%E%F$T >cQQ TzVU^)#s$$o$#Q$U$$O$S$$$'!!!!#!3#9#!#5#g$*$###}#$M$[!9!%#/#1#-#)#+#$$W$Tc5aUUTz1/WzTz2zTb&d5Xe5X7KzLz6fAPKJAJǡ9Jȡ1IJzKzMzAFFTAVTUc|?|;LMWTJɡ*J]͡"OLzJHEAE CUc}IUtTs5xT*z1/W*zT*z2*zTb&4aIAYXzTUVU%TUz}Q?a T3az}TooTo#o"SooToSo yT*yT*T6 U62Q(^\o$TooXoTo Vo!Uoo0o0uT'y0owo Uo&0ov0o!+o -UQdo%R$3YNp&n %"   *$3!"$9!m$$$%$W!Q!M$S!!#U$$%aIQ\,VQ+T_Iz/U,p5\T_o)oz.0VTWTo 'o6 Sx+uTt|OD,,4\ݺ`xURRMPU Sx5QSx|UtUv TvTt6T+uSxTtTd\ T:Qz}TURMP촆 TQQ 5UTe2c1SAA!2פ|: )  |!쵉) ! A@@bc}5Q녱Q7BaIQQ T_IzU坊Q 3@%o s,RMP| ,URSLRVCb%C\T_r>rzTRTQ 淗Q+嫊Q52c1A!Tdc}h,Q+5/UUwTw5URRMP촉UQRMP嫉Q5#UpQ쭪TbTa\?pQI1\)Q:pQ}\}5UURMPUbB M^    *$#-#)#O$+##$$!#}#3#$-!+!!##%[!W$Q$#/#S$U$g$s$o$$%#1#5#9# %%% %)!%%$$$$$PTQTU@UTRbRRR Q\UQTQooc01^Q*עײxo+o*o)o(o'o3%Q3$QRo#o"Ta\6XQTb:X}3V}3Q?o ooX6o,tvo oo o!sooo2o2w2o2o2o o2o2ob2 2uT;R֬1Rdc%!&IeI IIT QTd}R2STURQ!!01^Q*װ*!+TT!*!)!(!'!T3%Q3$QR!#!"Tb\6XQTX3V}3Q?T.!+&(-!! !!%!!!!2װ)2װ!2װ!2װ,2װ!!2װ!2װ'2װ2'2ׯ1Rc0!&IdIIc}pTURMPU쳚QVTb\Q5 QT}q T>U}T%0TTd!-/2R/Q@5Q5! !Q@@@ed}ƧU8:p,;`k7#`W*IT Ɩg|g T} TT #TU#DT#A塍TqQTTqU#F6#A#@圖#A##CbRQUiQUh  Th\ Y!!T j UUo /Uw| 0մb2մdu'~r/6 Q~cTk U''fs%~> T%'%f@HD@~Ty~/6 Q~Tk'0%2 ,Ul~ ~'% f___\'%Y'%lAF.Ag A)첈Ul L"'%T*(&UkA/UTTy~j ) < Ȼ#| '%T*(& TT~8Aa/Zt\$ I B L_!AL~ ~_ A<_ B#_AU'%T*(&iTyl|AAUTy|'0%2'% fAZY'%TTT*&(.Ag |U |!_1CAF_VA@nm_'I'J%K %LQ9|Lm}_} BW( L$'%T A)* B#( A<& UkAUTy|T | I;U|/Tl%s~Th'u~   || xvt/wo us5Bv5Dt5Cx*YTtWx|*Y*x&T&QQ V5BXZQT0T2Y4 J_    [!"$$$g$#$K$##`$y6By6Cy6DyATATAAAA ATAQ TU@${eB{f6C{gTT T     ֣Q TURQ?eUQTQ>;(f)4A )KK)URT|KKzf},ղd-aT%!kWU-Ǭ--T +TQ@QfUQ>TQS55Q>>eQ?T5:z}(g )+ A K K ) 뺩| K K z g}-ղd,뱠'#WUT,׬,,T +T QQ?Qg Q# i ,ղh  iAQ h}}-e-Q,ժTQTQ>7(f)0A %K_)URT|KKzf},ղd덲SǬT+T Q?Qh  Q?i  e, 믊Q }},f,Q>j- TQ>TQP55Q?e T5ez}(g )' A  Ks ) ͩ| K K z g}-ղd뜲jUT  T+T pjkhT UT| UT ,i j k h}hQ@ _g-gTxQsuQ>tVTQQ>TUTg5G 55| 55G5 T(h )R A G ( K! K KH z| K K z| K K K z| 84# h})eTf-8   | ,e}+THR ,ժxQsTuQ>tVQTQ>T(i )S A H# K Σ K z| K K|! K K K z| K֣ K3 i}),g7 ,g,heeU  , ,  g}|%/Ue  , ,-9g}+T, `Q~wk  $%$$$$$%$$$$$Q$$%#%$O$#M$##!#S$U$ pvo uto w o44T4Th 3I 3 V֫}#Q'#p z z#\ z z Qq IQ I K\q$ z* zT zQ> z TrQx( Ir Jx2c0Kbc}0d!Tce:AE e}d}!f!&AFg VA@be ge}f} !cTd! Te!A !Af}}@LlB$IA_2n AUKjlIIj j >m@m  h'j hV ~Uk~Vk~ \k~Ik~VkIzzJzzIQ QzQz| IzKz|Xk|VkIfJi Ph f  hQ Q?Q TzQn|vz Q? TzQ>z| zJL|^뉐 QfQ?hQz|$IJIfQfKLK hQ?hTiT Qif T Q@i hz z| l j~ k >b >c >d Ie(WUoUsTs  (V$j f g (V j h i? ? ? z Qz@y,"'&-(W)P=| ,),Iy(U(V4,)֡.,*&&-"(U %,,)yU1,eT)eK|(V1./ !)P=T@&-, '(W+(U(V3&+֡-&),%'!(U %&&+yU/&u+eP=|(V/! 1.+tTT&qz- ^              "*$3!$$$m$$$S$!!%#'!%!!#U$9!$$$$$$$M$$O$Q!S!W! TURMPUQTRcRRRQ\QTQouRooooo+oUPiI IfK KgUwTlh h~% Ij J~ Kk L~7 QTwTl  ֱmT_T_Wn ! '!R ' V>!_X_L_IV!R_:)_nA T*VT!(!_|>1A_L 0B*A)oARR4-Q-e-#I: T6JjVׅ|VׅQe}תU6Q!#@21TTS2f@A@ 5Ab>d12@ T&e21 5Ag>iTk QUkXi   #,lmhAFj j 'hm} Z $#aIcQ\T_##z5BaIbQQ\$QX'5C5DUTU.UopS_2a12_C1t_Q UzXCI lQ D_CIUbIJ\KLVIInKK_ICzIj <JQ LQ?Q IzzKz"z__ j}oj HIk J9KlL- h ! A1 Ai AQ, BW LQ4 }μ }W j}DCIQ5&7|21 CIp __T__Q X_U___CI;C_SCIVQX__TzVWU"_ XCI>mQdm!!- xCI*xzD*kx*xQ.*6xS(, @Ue!D+RX @* Eg+R V  T z V۫U3fe}]Q:Q 0VTcT#T'#aIdQ\5BbIcQ\T_&2&z Uo 0IUiI IdK KeTgfh 3Jf Lg#֐J J֐*֐L LօU ib h}7V $TTkSb,f2~.,gAFVA@dB+SBBbUh2Bi? 7Th| Th FjA Uz X|* X  0V-V 0V-V%Q|QQ8 Q Lm n| mn0VTmT#AF1|Z, f.cA LlA Kec}7U.פUk|+Q6Q:t `A@Tm T#뱢뭅멤Qf~ .g Kb A L hA .פ4 g},e2BfAcUtTd:AFIJKL[%c}TtA@b25V6F bz    !  "% %$%% %%$%9###!##a>QbT_zT#T 5BT5CW5DU5E5D5B֡#5CQQ #o5Bt5Cx5Do 5Eu5Ba>bQQ Tc7z#I6#5CUTv5DUTw (UT )UT@6IeTg6fe fb} T_)X_(-- 7V坌Q=~zQiTkQ>jTl6    6I/ Ǵb.ǴdT, m cA0A_BWL m}b}T# ճm eA1L .m}d}( e T}ǡd} c*Q |Ͽ} |TRRPRQ  eTUy(: m c0A&0Aֵ_R QT_7A g 7 h*n ` nT} f f}}Ū(-(`^&Tg),Q +ʰj  hQ VUi VTQ Vװ }^k   Ag, lTmR ^'&װQ +) WTQ Q X( nj L _(9T_A0Aֵ_R T__ޣIQ }Q n }^ }s }[뇰 F\T"P.z    "#s$W!$)#+#$o$S!Q!#aT+Q +U-,VTW쯧Tt('z)'zb7Ac16X6XQd7A dT7}**x|(bɬȬǬʫɫȫ*ʠ*Wx|*ǡx6*Xu'Nv'Ow'GT'FQ?'@T'EQ*TTT믯xu7MXo 'Jo 'GT <96TTT-,VUW#a5Bb5CcT+Q TQ TQ>Q 6Xdzz*vwTQa#bT ++UQ 7cA5CQ.-,VTW5CUT@Dg5Af *f *q T+ ef5 {  #c5Bdc#dT++U 7ATU#aT+Q Tt6XbAUTcKJWLMYQ(볯\SUTETTFT#a'K'J'Eb'ET'AXVQQ UT5BUTU@L'Mb'Fc d: b}'FT'GQ][Q?Q TMUTU `+\QTt7+g   z *h *UT 'i( z) z+ox6*Xu A' E'y'y F'y'y-,VTW#a5Bb'K'Jc+d\QT'AXVע T'G'FנQ('EQ'FQ?Q TTT\'L'Mef'FgfT h: e}*d`][Q(TTUT'FUUTTUV'EUT6xXuTUTWT"T6*-,VTWUbc+7dA  AcTb}bec+%7,  | 9> VV}+6X6XQ}+oH plNS[`ejou        """ #""""q% "!!%! " "#!'!s%Q!S!W!&nUx'i)j(k%l62.5^TaTcToUmlRy%dTRRHPURe TxQ U0SQ |kQeTfMUg V_J,%da0cUa/$/b| cUTb|.UTb f e}Qc!!VTW3VUUTUThUU mU}笫t62.5^ vs u wUTxoTT%-2XaabTcTeMbQȠQ$ Q 1*|@Ue|,d1QPUTe`dUdQ *T#c}dQ 1*}Q 1*QaV+abb T-k 0# A  K K  KI z k}Th F  Ig |6 T 2 ` T2`   I?z z}Uo0VaUdV d}dVUBeAyyd}@Aef%AA  yb~ 0UTjUnmA..Ah Bk Lf d B I ,A_Kfd WTmA(.Ai Bl Lg e B I,3geW Tn UTT V V UTVT WWUII  UTWT U+UUf g.UT>>} UT TUTT 5Cb5BaYTbWa|YaTQQ UUutv#w#aW1ۡQ 1Q*x#c5Ba5CbW1ۡ'Q*TQ> Q>Q d6:z}*Ux*xTc6bQ?IIUzIz},bv    #*%3!*$%$q$9!%$#O$$U$%S$7#m$+#$%5#)#%%%%9# Tg.URSLRVCkTooToToTooTo5QTtTxTlUR 7Q&*-cdTQE^Ul|-QEU2P=)Q?^Td})R}2@t2Bx)f-w-)-.Ug g)0\ToTo4U1h /- AFj V A@f i j I J K L\ i} h}/16S3 ToXu'No'Oo| g S~ AcTgTf>eQ }+Ug>ed ^Q0f>e}Ty yU0Te$)wIdTTz^)w?}0(aaI^)}0v)5)(w)()0)(* (*v&tQx}*(xn-(]$ # $$$ # $## #  ##  " ## ##"#3!!%$9#)#$7#%$%+#%%i$9!%$ $%!#1#)!%#5#%k$3#[!-#!!/#$5o QQ?_2!~_!V%*_TxTUxB ~[UoXUuQ b-(#    3 Wb-o+o/o  o -UUoYbV(ji.gfQ b  TfQ>g ji|Vb  TiQj gf5}-w/t+o  V~^(.UT_T_Q ^Q b  oVb  o!!c,A(!AdBbILbA_B ~+X_b [_b~[UT_)R ZW_5}|W_U_!b)IT ,T_I V_T_Q/M)66IT 1z\T|(.c \T),&dȻz|@_}) Q"1.Rh__}Q*_QQ?TU [_b~#~&TKTTTm)T_|U_| (.c((..X|5}(.|둤| )|띤![ QUTUT2oI^}~ Qc vQc o 2I BFI%N+W\TZd|WdVdUd2JQ;2J^\2JQD[\2JENU\YX]Ts2aI^V>Q;NIQ;|FTcIA! K   W|&ccIQAbIQ }%Us20y}%U؍20ATUQUTUQ?UTW'ۡ Q 'ۢUTAb+#% TQ o oo y@$zQ%T@AeTf! ^ Q;IQ; ?>g}yTzy To5}(.d!Ah 1 !1a \V VT),&cgȻ W T z g yUȻ AcIQ }I ;| TIQ;T>yyU QIWyU3cT3yU 3cT3Vv#qr$ ##   $" #  #" #"3!""$#o$#w#M$s$m#Q$!#O$U$ ]cDT=Xc7R 6}Q Rhdd}QQ?1xQ 1\bWQOYbIQ2f0,A@@TT_z| "@ef}0 6}' Yc[QSQ cLUDXc>R 6}Q Rhee}QQ?1xQ  1UT TkTl]a T \ f3XjTa&! z y z yUU Q a>dIQLUTeh3 )i UT QHUT QTUT  QT=U    iz) U U V ( TW 4 z)w|  z)w%aIQ\II7B 109h TeTf U)/'dT'Uo  Ie''f| I Ie'f| I Ieu: Bg Y085Id5J e IQ e}fIQ ef}T_XXzg  8yT*QYǤ*7y*xzXxU @AefIYUI TI B3yTo Ig.eAAe WJ?K?XQyUeI I}[yUB~  %   %% %% %s$[!%%%#!#%%##U$o$Q$$;##9#$/#$$$ $5#S$g$#-#1#*$_ TRRSLT첍Q UV 3QQTxtswR%TbQ?)6I_R%Q 6I}bQ ^}R%!R%!R%QD!!!0^!g ,9R% A'Z \ A3 A | A3 A R%R% K^ g}QB+2^Tk k&/ hR% AEV A@ R%^},a'_/TK__}Tc+Tb:2A(AdB_IL_An'_AzTTT0mLAdA_U___L:2?<A1(A_B#_ImA_U}T_}}O}F-f(5A@l@_@T IR%ȰR%@^f}!e-xAFVA@_R%-BfNA@R%'_A  l8R%_mAF__ m_}լ^e}Ti .RQWR%5 AU Q;QSQT5 JQ 5 J^| Q;QS4QHQV?R%*}Sj .0QWR% Q;3 X_AR%QAEQ F^}QE^0WQI3I3II>} % R%sTU) R%wTU p jA솩QCR%$R%*Յ xR%*TU& tR%&TU|G D I1?IR%R% R QTj h jT IQ;Q;>}B IR&R&I'BL  j h TR&E AQ;>}^TA)!B#! A&Ae_B I%A_B #Tr'RB T AhU P=} T y A A(G@(GQ Q(Fh IU g(TMeVf I JTe| K L4Tf| ( *)f Ie Kf I J K  L(GQ(yR4 6Ifr~3 )))))))))){&5Ƙ 5Ơ  5:Wa  }    T\,  HbQA z 5ƨ TQ@YQ X\  5` QAbTUTab 5ư TdbTUd5  aTQU, 5Ɛ뒡UbWY XU  5ƨ  HcQU,TV,z  5ƘTT밣Ub5  cTU,ֺc 5Ƙ U݈R T 5R |\QU叚\, TaTUa5Rc%5Roh| 5R?^Q$ 受T\,  HQ@aV:Q?Q@ z 5Ơ Tb[ 5Ơ}JIVFUUT@ TdTeTUd5Ɛ |gK  HQE|"5^}#QQ:5YQ/ a^&t}&t%s-F T W |&^}5o oTab QQ@a}&taQ?5 aTQ56 1/c\T(!,dVȻQ*z&t5&tI"(7+4n21k/.-,+*)('&@#|\QVz^Qaz3}1/cT&tQ-z^Rwso TuST%z3}Q61/A6To vTo$'*'D G #LR||Xv|Wv|Wo | Xo |YvZv53}11//V$&tIC F3OR|.'&t^5%AM|UoTo5:^55 aW Q W^5odaQDXxVo To$*G  L R |WxWo Xo YxZx5Yb)ecw%06%Q( s)wId%06(`l.e:)PONMLKJIHG<dDEX^|[)VI쵏%sz|tQ)b|d)IQ.)JQ. )w)wQ:.|L3|H|D;'uS|;)wH'uUR|))w)IQ.S)I)IQ,Q)t'uS~C)w%'06%'Q) sTuYbTcTe)wIdn((=:><72^ |1)VI쵖LbTe|?TS)IQ,)I}Te|)Ue|#S7Q.()I)w})I륅})w*  ^UXWVc bV!QR%sz! 7U!%szQC  !7UoTa)IQ)wIQ@a}/Ta)I ^ Q0a}1)%a)wIgd})wT%szTeW-b3AcI>>3Abs>럈}%s}}TQ(ZQ('u%bRU %csvQ,U%%06Q,%sz}U%06%s%sQ)&|Q(,Q)0)wQVzQ zSQcaQ bTab}3}1/dQ"T8*$Fm   +"y&""s&W!"u&w&!!#!"$'!Q!%!S!/RMP| /URSLRVCf%  @&.QcT_5.z02cTUbQUsTv1!VTWTT%Q ,0V-*TuTx8*Q'%T#'o*r*x-QTx'u',0Wף TzVf}Txu.Q &.*|j02뜲cQTU>D@|@<|<''u|3+u$x|-'+ '+Ր*$'u|*냅'+*$*x|**x.d,0Ve22d2"2U*Q')22'T)"UV+'UU/RMP| /URSLRVCe'-Q*b&.QcT_5.zTQUdbQTTzV}QTc.02QT5.dQ ?&.׭&w.T#)&Q &)*)tzU@02.Qe'TUTs.R$.Q *.yTy-*TuTx8*Q'%T#'o*r*x-QTx'u',0Wף TzVf}Txu.Q &.*|j02뜲cQTU>D@|@<H !H PP97 89 76'()#NULL!#DIV/0!#VALUE!#REF!#NAME?#NUM!#N/Ak54+-^*/,&:<>=0123456789-."+(=RrCc[]dpP`rbf>864(+-=>^/*&:<,<<> DCGLR-DCEFG$*%-#S$U$!#%#Q$O$'()'TEMPF6B>MP.HLPID;PMP F;WF;K;E;F;F;R;CNN;N;ENU;F;LNE;F;S;E;NL;NB;;Y;X;P;S;R;C;K;E;G;D;K;FE&K&R&Y&\&b&ERRORCHOOSELOOKUPNAINDEXLOOKUP@CBH%ACt#`1D' 1i@DDc5W@XB1#`uCrqDQx QbqC32&AbP6Qyh#p$As#@8PA!x5VBGRV8sdft CB)AWP##@PAA A1b'v`A#XP@B@cfw#gXdF!6t9V 32h5=AiFuA1?yi&&$VdYd u"Apyc&yI@ABV#sA$!5b71@xS3E%5q?P'8CPe@?vsq$9ATyg @IPS(Wiu@333332%A  " "&(*,   "$& FH!&K-M27O>P CR Y $^ fYl[LqL!v`b    V c l t }  17o!!$KbJ%)-z//5}; ;<AEH EHEF!HIJJP SWW Y!\!] _a P'AP'B "CP'GP'I! J#P'L#P'N'P'I*P'Q,P'I.!S0T0@U0'@V09'@W0'X0P'Z0P'a4 D:P'c:P'd>#eA$fAEAgAkA@lA4'@mA/'#nAP'pA@qC' @rC ( $sC+##\C+##tC+#SC#hC #wC,)##iC#^C?#jC#xC,+##]C#^CkC@yC (#uC)##{C)##hC #fA+)##iA#^A?#\C+##|C+##jC#fA.+##]A#^A&~C #C$ #C$ #C% #C% #C% C  C3 %`rC (`C(%C@C%( C$&C*$P'C#vF$#uC)##\C+##]4%#^4%@_4'#vF#F@F(0F 1SF/F@F(2SF3F@FF( @F)( #nF#F$#uF)#@F(#\F+#@F(#hF#jFsheetformulacelllockprintrowoptionlinkmarginscommandalignmentavailablemultiplandependsupportkeysavechangeeditdefineenterfilecolumnwindownumbernamewidthformatreferencecopycannottoillegalfromofselectnotdeletebeforehorizontaltoogroupdirectionblankverticaltransfersymbolicorusemanyinsteadhelpconfirmbetweenlengthinsertvaluesplitonerrorclosecharsalphaingwritexternalorderefaultrightleftedin Cont Exp Fix Gen Int $ *Ctr Gen: Yes Nos No s No s s % Free:slnllongdtextparameterOverexist?Circular s unresolvǁDisk sPress any redraw screenInsufficient memoryY is a d workerror: line read sField has wordsis longsssa text (no double quotes)a a , d fda , s view directorya type letterwill fitMicrosoft Versi1.05 Total Bytes :Ƃmay be dY retry access those ss coleinnon-Shapes areas do match: ing: by EALPHA/VALUE: text Disk fuller s recalculate: Readline MP system disk: GoMoves Quit Sort HELP: Resume Start Next PreviousApplications s s board s: Down : : s Ds GO: -col : s sMOVErefer S recalcmuteiterationcompletitest at: er sQUIT:sandorder: > <: Load Clear s Re: BEXTERNAL: List sstartats# ss# ss: Def -code: Def % -# decimalsD: s S commassǽd(efault)through status: UnS:Ţer:: toppage S: areasetup-col s E CLEAR:S mode: Normal Other: Titleswith edES : ěcode: %ǽSORT by DOWN bLOADRENAMSAV: Eat at TITLES: ---------------.. ....!.%.+.1.7.;.@.F.O.S.Y.[.b.f.h.n.q.w.}........................// ////"/&/(/*///G/N/V/V/^/g/o/v/|///////////////0 00)01050:0K0U0_0i0s0v0{0~00000000111(1<1G1V1Z1a1e1i1u1111111111111.2v2x2z2}222222222222222222222 333333!393;3E3X3]3e3h3m3p3u3w3333333333333333333333344444!4%4+4C4E4Q4X4\4c4d4f4r4{4~444444444444444444444&&&&& & &&&''''' &&&''&&(&TRUEFALSECOUNTIFISNAISERRORSUMAVERAGEMINMAXROWCOLUMNNANPVSTDEVDOLLARFIXEDSINCOSTANATANPISQRTEXPLNLOG10ABSINTSIGNROUNDLOOKUPINDEXREPTMIDLENVALUEANDORNOTMODITERCNTDELTA ``*`! &% &-&1&59@C(&GI&M@T@Z)^)b )f )k &n )s)w&z&  && ( @@@@@@` ` `pp '`pp '``&``*`! &% &-&1&59@C(&GI&M@T@Z)^)b )f )k &n )s)w&z&   ͫCopyright (C) 1985 BORLAND IncB Microbee VDUP= ERT()~7#~=  oͦlԅ!!"~#(}:$= +*!6!*!!:(2!6:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k6!{6``o&  :(͠|(  *"x2y( >28!"9!! og2"">~22!:05+:!Co&ͦͣ} [ (!e|ͧA8Q0G: x@!\w# (̓ ?(*( .( x_. _!h6# (?( *( ̓( w#>?> w#ͧ 8 !ɿ .,;:=?*[]<>{}a{ |͵};Ɛ'@'7||}>2Ͱ*Bک  "og"2>2! ""*B"[Rv*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͻw}8( RB0 >( RrRR!+ ͱ R!+ ͱ s!+ ͱ s!+ ͱ s!# ͱ s!+ ͱ T]KB!z> S>))0 = | |́́DMgo>jB0 7?= H͓<z5b)b<z {0Gɯgo||}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } * W _}8(8J`9{T]=o`9y *  >( ͂ ͭ͘ }>( x‰ }} ˸T}ٕ(0D={ ,= ( ͓ 0%| , 7 ?(8ͭ x ͇ - s 8˸x ͐  ,-xG}s }مN 9s .>#n0͓ | = - nx ͈ ,-(-˸G,-s }ٕ?N 9.> 8ͭ ?= u+-(>͇ 0ͭ ͇ 8 ?x ͈ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցs <(s 7| = |٤g{٣_z٢Wy١Ox٠G| ͭ ͂ }x>( ͭ}ƀ/ƀo  -͂ }0͏-͂ ͏,}l˸ 8 5 ͘ x( - 8͂ - 8,͂ }l8;*!͘ ! >5ͭ͘ ͘ ͭ--- ͂ ,,,-xGg?+2n*8t z~,->( x( ͙}. ͇͂ , ! >5,ͣ- o&0% ,͘  }gs }؉}颋.:}8c~I$I~L*ͣٷx˸ }0G,<} ,-(-͂ !>J0 ͙͘ o8 ͇ >( m.`1pF,t6|!wS<.z}[|%FXc~ur1}͇ٯx(<˸ 8 !~J 0/O!>t 8 =  o t͘ ͇ /o 0 ͏-͂ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͭ͘ JØ oo ͘ = ͇ nf^VNF!DLT\I!!53!r1!͓!> x #-= o˸x͇(- }(x>8({ ,{ `iÄ!>( |s |́>)=|(DMbo˸88x(0 8> ́x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#~˸}րogM| .({ = ~> x0w#xG%͈ %͈ ZJDM%͈ = _~65+~hìx-Sx9?+{Η@}|{ { gZJDM0| ,7}o˸@ #yO!@9i&@  #@w#@/w#@w#!9! E9!!9~(+Fͻ!"9!(#>2*"| >"2:( ͷ *w*6 !\$![ (ͧ( #:~CONTRMKBDLSTCAUXUSR>2j:*ˮ~1:*:(@q##p[* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͻ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('l!0(ˮ]l!8ˮ!]~-#8~>27lˮw>O%7̄s #r%ͤ7̐ l ( (ˮ ql(ˮ ( l ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͻ>2}*|(̈́|( ̈́6-#[RM8( G> A~#*(C! !TRUEFALSE!9N#Z~#( G~#> >    "~(lѻ(( !0 (ˮ!!>2S{:1:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͯ*-w#ww##> ͯÂ""~>2:[R0 *4#4>2:[R> *4 #4(> >22*f(/˦:G(##~++ :O x yD!ͻ Q*:G(##~._.͛g<]=<͛*##w ͯ +4 #4x>>2:G("ͯ"*nˮ*0 S[ѷR8@* N#F#s#r- 0})jS\*##w+ N#FB ͯr+s>2!T]>)j)0 0= ^R!#^*^#V#N#F#^#V>2ͱ:1:*6 #-Nw#Fwq#p#6#w#w#w"~Â>">!DM!":*B:!>(>2>">!"2"~ʱ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pS[ѷR'* s#r$ s#rM <?*M!\  <( !\$>2>2M:>!(* \$\<(!4: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>* 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* vKB!1>( ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#L*L*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!G"" 'z*"*>2"*"!G"""!\*: Os!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͞O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%ã}ͧo*!~6o&|:2!2}:__{ѯ2*|KB " z ^C User break+=  I/O Run-time error {͵, PC=*ͰNot enough memory Program aborted :m'1!e!*מ>9'~w> P!>w!"!""!P! i*n&}2 * &"}2!P! i**&s!}2"!}2!!n&!n&!!R"'!n&!n&!"#*'!!!"-*'!!!"+*+n&*+!n&!"%*-n&*-!n&!"/*"&*!&}oEs$*/!!!!!+n&̀EM$!"1*1!͹EM$*/*1!R!!!!*1+n&͓Eʡ"!"1*1!"1*1!̀EJ$!*/!C!*#!R!R")!!!+*#&s!!!+*#l&s!!! +*/!&s!!! +*/!l&s!!!+*%&s!!!+*%l&s!!!+*+&s!!!+*+l&s!!!+*#&s!!!+*#l&s!P!i!!gz#"1*)*1!R!!*1+n&s*1##*+*)!&s*+!*)!l&s!*)&s!*)l&s!}2"^"*/!"/*/!Ep$!}2!&"}2}2}2}2}2}2}2}2}2}2}2}2!!*&!R"**&s*!*&s*!*&s*!*&s*!*&s*!*&s*!*&s*!*&s*!*&s*! *&s*! *&s!5^"t>!!R"*!E%!*"**tE$&͜ͻ *** Insufficient memory to load !e;!ͫͻ *** !v*t!!5*v*tͿ a&!͜ͻ Executing !e;!ͫͻ ... *t!"ٞ*v*ٞ"מ!K&!+*v&s!K&!+*vl&s!K&!+*ٞ&s!K&! +*ٞl&s!!gz4'"1*מ*1!R!K&*1+n&s*1#&*מ!!!!!!!!!!!!t$!!!!!!?!?!<!<!<!<!<t$!!!!!!!!<!<!<!<!<t$!!<!<!<!<!?!?!!!!!t$!!<!<!<!<!!!!!!!t$!!<!<!<!<!<!<!<!<!<!<!<t$!!<!<!<!<!!!!!!!t$!!!!!!!!<!<!<!<!<t$͜!# !! ͜!# !!!gz)"1͜!# *1#(͜!# !! ͜!#ͻ! Multiplan Initialization Loader !# !! ͜!#ͻ! By C.G. Sieben !# !! ͜!# !!!gz)"1͜!# *1#)͜!# !!NMP.COM!e!5!e;q!5q"3*3!͓E*͜ͻ*** I/O Error on !e;!ͫͻ *** *3Rž*͜ͻ*** File not found *** *͜ͻ*** Error number : *3!' ͔%g!H& !ͫͻ *** *3R͜ͻ* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ^elrCannot find messages Wrong messages Cannot find overlay Wrong overlay Cannot find shorthand EK>Æ_2:W_͠b!:w ҷ_ʹb͠b!ý_b:w:W!`Ҡbr2_b`o&G>Ow# _q#_:!)`b `>ba͐ba!lb!N`7>' #<`@b+7'w#>'w #Y`:2@b!~P `: `6!~ a+w# @` a6w>2 !bba!w#`"~#a`G*b`#47`aG*'w#ba! 5*#`@b͐ba! 怮w ʾa_#~ȓALaAaaw>2 `i"2*7>Ι'# ia>Ι'w^a*b#~'w!~w: =ʭa2 b!a\ab@b͐ba>2>~2!a!~ȯw+6+wa:<2þa:=22b pT]w+ b~w!T]G# &b!~зTb!baw+ Ybq!55@bq + + + + + + P'> 'Öb o g"`ib*|¾bɵ!b~#~#~#~#~#~#~#~#!'w#'w#'w#'w#'w#'w#'w2! "c>2! 2% ! 60"" #w<2$ G~ ^c^c-Tc+xc ^c*" w#"" :! w# _zW:! w#xcxx7x=c2% #~++d-c0c:c:% Eíc>2% :! w#c:$ =2$ dcíc#c$cEcecc! ů7d~ʹd+ʠd-ʰd:e~ʤdEdd:d0dd{dʠddàdʠd~0o{ڕd)))) d#AddzWàd~wàd{dz@d<d> dwDMɯG#~-dxG#~e)))0 *eo&d{e?x%e{/<_Kûdd! 60#6 +:ee Ne6-#Ame:ew#0w#:ew#w#6e#w#6e6-#! ~6f f~6f f+e6e#Af6-#/<6/4 f#:w#6~:ew+wQfH>Of>+ @f0~ nf> 2( 2) 2* ~f:e~ffʟfʟfÐf~#fo~9fZf.f*f#f$f(f-ff2( #ÀfHf2* f#~+f~2) fѯy 2) ~+ WgA"gw#sh>'w# ihґh~G!bwDʚhLhRhC ixcR!0dbkVfiiLh~Fi#Lihh h}o|g+Rh~FiLi hiCi  iy!iOiC$i :i> Bi~Fi#Li$i> Ui!+  s#`i2~ʣi!ځi3 Âiw#(ʏi)pipi>2Õi{ړiHxiA>)i#µi͒jGBKʹbx2x/ʟii6́ #zʯiK͒jCH>ŸiJjڟiDMʹbïi*/+-`+a__րx6o&]T]T]TK ѷ~ʆj ‹j# |jy~|j"jy2j2Q!|jkGxʸjBl# jk-j6:Q!2Q!àjycJjjjDM0d+w#BlOk|jk!'jW~#kk># œj:jO!'j~dk#fo"K!"& 'j́ T]!,j~#fo"M!!,j~#fo"O!*j̈́k*& ## k*j|j|k~6fjK!ʹkʠk# ‡k*K!|eo"K!*M!*O!"M!"O!# ͉ {k++~k{k>Ük6+6#fj2y#2#2!2Z#2"2"2"2#2"2t#2"2"2 #22#2#2#>2#!hQ^#V#{ʴl>ål2#2#2#272@#2^#:2_#:"!"w!^"/:6l !U" !"~62"*r"&""E@m!~&mͭn&mm###~4m2g"{2"#~2":s"2*#>2"!+#:`"w:"#w:^"#w:_"#w:"#w:"#w:"#w:"#w*a"""ͭV*o"}2""""":"2"2"*":j"g""""!s"# E½m2">2":">m/2"!:!!~ m#mm6 #m6 F*;#w#w"3#"5#*=#++w#w"7#"9#́ [ "\#>?6*\#:Y#;n|g}oT]|g}oDM*3#!ͭ:Y#Tns ^nx^n2"5#*3#DM*9#zun{ʅn+wkn2hn"7#~+6*3#"5#6#6#[X*7#:UG:6O#²ny:k9> @22ͪ/31/:!Đo2**&~T::*Y:T:h:cop?pqqPp>*&"~!!"!6!1j-*1*3!3j-:$2!͂q͙4"3"1 :!o&"!"c!*~!~o:=!$yo31o> Q/>@2c!~͒:>2c!#N#F###oo> Q/#^#V#N#F#ooh:"!aopxo:%G>G> @2o~͒:# xo> @22*!"!-o.p31͏/!ov,*~!MD*&͗ *pp/ao]Th:͗ *pkb"~!Jo*~!h:p"~!Jo:!ap͋*!"p0p:xp3 Ap[p**w8, 4~9:ʑp#N#F###͂rfq!4j-͏/q-%o!8N#**~#q#p### 9:͂rfq!G3j-͏/q-%o!8N#**#^#V#q#p# >2!**͢qofq!3/o>2:!D9fq!X3j-͏/D9(YD9fq>!]q*&:nO]qs D9!|3/D9͹/*-"*~!͑ q"~!*&~ʒqh:Çq́ ́ *(+**~2**&*(MD믾:*rqh:öq͂q#N#F#~#fo **#N#F#~#fo yx4r]Th:yOxG kboq**#N#F#^#V DMx/r**~8r4roq5r2*͂qxJry{r:*9:*(*& }O|G r!8q#" !"! x!¬r! Ës*,! ‹s! r! Ës<r!HËs/!5 j-͏/ʉux‰u:ʉu!ʦr/! s!R Ës!ͼ Œu!x Ës6![-Osͥ*!?[-Ls͏/OsLs 4> 4:s/!Oj-31͏/ʉu!9"x)-%‰u/:FʉuO!9D‘s!ʋs!r/Éuyˆsͩ+:u!ʉu/Éu!/ x!¼s! Ës!3 s! Ës/!f j-͏/sxs!s Éu:sO/!D'ty't+~#:'t!r#s#! +++s0t!+s2!**";#*,"\#DM! j-! j-2> Q/>.@2kt> @22> Q/*\#DM*;#!ͭz½t*\#}O|G*;#!žt! tz½txVt!s !s > @2Ìu! !s !Ͷ/õt6!j-͏/t: "@ 4/!x͜)2-"! u!+Ës/% *,}u qu<wu ?u!j-(Y‰u/!Ͷʃu! # #~?euUuÌu!ͶeuÌu!dËs!HËs!Ës!Ësɯ! ":! u!":!>ʦu/͎u*.͡v!:".v> vv*["#"["*!+"!|::Qw*["}|Qw*["+"Y"**T]x Gw# w7-wFwx# w4w{_zW*Y"}CwTw+"Y"|wvɯx*!"*!DM*!*~!xx:!.ĒxsxHw wO: w> ͒x:%wüw:$O:x> @22Nx6x> Q/üw:%0x> @22Nx31Zx"~!"!`i"!*$"!!Vw]x*!"!-o.!?,*!"*!"-*!"/~ Ēx# sx*$"!*-"!*/"!:A@2c!@2>ìx7êx>2{!͞(-%!w?,1%:!-%>2{!1%6j-31͏r͏/xx)ͥx:x Ēx# sx*:!*.͡v**"!w{zUy ~$Oy~Ay#2yIy> CyvZyy^yͼvviy>2!2]"zyJ"yʘy#Áy2]"*H"|y*!y ͗ y*D"y *B"DM*Q":S"y*D"*T":V"yyѯ2?""="zNz xzz!J"O#z>2A"i "="2?"NzLzB"Nz @zɯ*@"*>"͑ sz"@")"*2!aͭ:="_*2~*=","="z*>"#">"!Yüz!~üz:! {! úz! 2#$x2"$6:"z! j-310Nj-*!";#31!"͏/Nx)ͩxN!N͜){ N !'{! /N! 9{! /N#\ /*$"!>2!!"!"!"!!"!!!:j~:2"!!͡~ʓ{6Y!~=œ{!!:Sj~!~Ü{:j~!! ͜)+}!9"͡~{=1|!:S|! j-͏/{ͭ)1-%¦~ {!T /æ~|{#"!͜)+}/! j-:q~ʦ~2!͜)+}! :/j-q~ʦ~2!͜)+}/! j-͏/Z|ͭ)1-%¦~ {"!͜)+}/!, j-͏/ʺ|ͭ)65534-%¦~ {|†|!"!͜)+}͡~+}/!F j-:q~ʦ~G͜)+}xY>ʷ|/2"/!8 j-͏/+}ͭ)͟x¦~!8~+}G#!~3 >} |#+} |͕~+}>+}#͕~+}xH !+}Ͷͦ *!*!#͑ Ҧ~E!#$w/!~͑ Q}"!:#$>`}:C@*́ 4>}|=p}>6=‚}"6$"8$"($6+66"&$"$$",$".$%"2"=#!:#$}:@oa y *!}O|G}!!my~!i /Ü!i /æ~";#!~8~*!~#fo8~:"<: " Ͷͦ ~A~#66!l ͡~W~!%=W~!uj-*$"!312[#Á6N6Yɷ:!{~:!29>28(I$INDEX$TOC+#~ ʗ~:"$/C~€ɂςzzzzA;zw+{~CeU h -Tu!*!";#>2g"E-/͌^D6:u!ĩu!?,2^#ˆ:"ʈA;:^#N͎uC2-!~>v,6!>e-!@ͺ4/:$2^#!$2#¶!%:u!:^#2!!w31!?,/:^#N{x+{!nw?,!~>v,:u!:^#N{G+{:u!/2u!N6! j-͏/N!f!͟~ P>. 4͟/! j-31͏/Nx)!"-%N+~N!2-"Ž!/N##f! 8,N~ 4# Ÿ2"6![-! j-Հ2"6!A[-!j-31!"͏/Nx)ͥxN2X#/!N N !({# !%C2!N# +~ 5 %N+~:F v 3v p v++~ v#~3 Gpx@2y=2v!Â!ˆ!/C!_ͭnœ2X#ôeͭnʮbͭn´!%Â*!" *="""$*7";#:A@"=#͑ :">:@Ml!/Â!3 = /!j-(YC!͸%! Â2W#/:ʦ:Y#eÔ͸J2"22W#/:ʦ:Y#ʅ:t/!Nj-0ì/!j-(Y¬/!j-nʬ*7#$GUG[X͔]`!0/ͨ:!s C<2X#͖rNCsCͦs!N N6![-!j-31͏/N͏rx)ͥxN:N!!+È (! È/<N!4j-!zj-(YN!͌N:Xt!j-!zj-(YN!͈N!RÈtNC:^#N!v&^ʖ!/!~>v,`,&^N0N&^N!L-/͏/!k~~ 4#σ~>, 4> 4̓/0N:^#N+^N!/0N%:n%>ͽ8N{!N1N6!͹!B͹![͹!͹*|?G!zW0{z#r# y:_0!0j-͏/h&Ϳ G~ 4#…>. 4y 4>k 4/3103e1c> Q/ͪ/~# Մ @2> @22¹!K~N#8O :Xi! xN!! ʈ! ! ʈ!~=͎ 6 @# w# 6:Z M# 6.Zy28/31Ø d# wZ*^#&"31Ø6!Ej-31!9"͏/Nx)-%N:8N2!9"I :"˅ͤ ^#V!8N pW!/N !6C#6O#6M!3 Yх#w+2#/?6͞aaͤa[Ka5za*7#eB:D2#:6Ob:6O2͞!<"!"Ea7c͹/x)-%7c!;~7c#G~Cy=b#.b25͜)b:!b#tb/!S#j-!"͏/7c-%7c͜)b!"/j-!"͏/7c-%7c͜)ʖb25:bO25 b0ڵb:b3 G*:b*~c#b#b:7G027b:525 ¥bb25/2[#2!#cN@c!/!<#j-͏/7cx 4/0:6s~:;s~?6222͉g:5G-dxyc͂a:yc:525*7#@7c:5O:<3 G:ʼc:ʡc=2JdID¼c5zd*7#@dͣgʖccc 3 –ce–cͭgd:5(c#dʬd?6Ïcx?d:5@d:"dd<>:7=27xEda:Ed:525:5O:<3 G2ͦKd[JDndzd*7#@dͣgVdcŒd 3 RdeRdͭgd:5(¦d#dʬd?6RdgĜgG272"/2":c!#d!#Iad02[#ìd!*#:[#d!$:d!#Iae!;F#~ 4e#e02[#ìd:5-e͉TC¿er>22*7#!;~#=OʯeEWe|g|eÿeG|gQeͣgVeVeVeD|exVe#G:5@ʎe~?ʫe:5žex¿eëex3 G~3 ¿e Ee:5ʿe4TC:e>2=::5Zfgęg2":!2!D6e:525Zf:!Gͤ`.",fͭ,f:)f2"Aff3 O:!Wf:!fIf>2y@2!D6íIfL:O:҂f/2#2L66:<24T!Q#z# :T#2}#͉g2#֚2*7#e#OF:: h:y#G!;~#gg!~#gg:y#>g!y#pɷO~D h|@# g*7#͕@7cD7c6hD-h|͕@h͂5A F~*7#͉T7cD7c6hͦKth*7#~Dqh|@ZhJ*7#ͬDMDxʉh| }h͂G*7#Mn~x5AͦKʳhDʰh|@ÞhJ*7#ͬDaJaDhIühͦKa*Lh:v#h[K*7#ͬD͞a[KiD!_#=hͦK[J*7#eB͞a2E!T7c͞*5#+4Tpi:"Qi>2#1Yʑrt>2#ZiTi2#2."L*7#ͥ2s#El÷m!<"~q+F!v"sq:"ly'sq%Y> sʑr> @:;"lq:!DPm!" ʹl:"3m:!O$D9mWs3mws)m͜sq%Yy@qsq> 2!!;"~='sq3mG)Yx mmdm> sʑrèmsʑr> sʑr:"ʮmQ?9?!h#F_CDq_sʑr{@4TÑmxʱmQ?9?q:!D q*7#tm:! m:"mG:"2#ao!<"~,n+ͧ]nnG:/"aox*Wͧ]o&";"͞aoN_~=,n]?oao:"ao:"Gn!t#~6̾ao:/"ao:!Dao:Cao*7#6"OF͜C]o&!";"*7#_CͿB*;"͑ ڐn4T|nKF*6"}_|WھnónͦKʾnDʻn|@z£nþnJ*7#eBr!6"F͏W!6"FeB!<"~n+N_~=o*7#h#OF%YMZʑrͰͺs*6"*7#KF{_zW-o-oJ-oI5zo: $2y#*7#eBLao:!Dao*7#͉TaoDaoDao~w:!O$Doyo> 2!OWpͰ:"/!"ƈ!<"~q+F:*#Oxo!v"sڲo!"soͰqQ!"sozoJͰo2";E:"oy'sq%Y> sʑr> @:;"op͜C:"Sp:!!eSpG*7# ͉TSpDSp|@ADpͥ Hp4TW͉Tr4T6pp%YͿCpͿCͰ:"pspWs>@WspspWsp!y#^y|@Vx|@{rp!s#pwspx$Dʿp:s#¿p¿p͜spsy@%Yp%Yy@psp>sʑr>@sʑr:"p:#qƈqYq2t#͞E)Y:"G:#?q *7#͉T;qD;q?q2":! pq ʃq Wq> Gsʑr9?*7#x ̝? GÒq:kyq:"2" M\Lʑr:" q:#q͜C:#ʻqrʻqUGr>UͿC*7#~GUGq*7#͉TqY9?͝?ͺsMD*7#2Z#Gͷrr r]rrͫrͪjr!k#:#]r_Drr*7#͕@]r!#:"črD2c!y@TY*#"u#*#"w#*#";":#2y#:#2"*D!F:!s#s~_x#N ttN?͉TD4Tɯ2Da~*$|s~pDL:$_* %Y!~LʚtDY*7#+w"7#+6|@L+|Jt#:y#G:#YpDrGTʖtYpÑrDa~E!T!"s~͞>2#1YʑrtEZs~:$ u:s#upDu:s#Gͪxu*7#ouMu:$2^#uM͠66:!s~ ͉TLuD\EuLu !vD/u:Qvyvg."$v+'v:$u6!6-j-:$ʂu<2^#͡2$pD4veBM̠2#֚pD:2L;E!`>v,*$|ʬu,"$4v͉T'vA*Dìu*$}ʬu-"$4v4T'v@*Dìu2$/4v͉T{[/*$M4vv!vy4T vN[#OF!#F!~Ls~͞L*7#+6 +6 "7#h#OF+6L*7#ƈpD5:fʕv:"•vͽ8ʵv~s~̀!Pva~:u!2$2"͞!_:X#v!_>v,2!D?,>-2LpD!`va~͞!<`:X#w!A`>v,Da~EBwͰ!>xv!`:X#=w!`>v,2L6!)j-*g"&#͙4!@j-:?#1͏/ʯw!9"x)-%¯w+~ʯw ʯw|¯w-w&}ڟwo|g’w|2g"*7#eBMD~s~!{pDa~>-2! w3w2L6!%e-/fwf2!ʙl x3 As~`s~2! x>2!Ùl -x>2!Ùl™lEs~;Ùl W,3W,6!s:X#Zx![-W,!`ͺ4/W,s~6!]j-!s"͞n&͙4!q[-j-:?#1|lxx±x!/lxFwO:s"!t"x2*#y^}lxp!ëx6!j-!t"Áx:/"/2/"D6lx:"/2"lx:"/2"21#lx>2!Ùl:"/2"pD*7#eBMD͠s~:"/2"y:"/2"lx:"/2"~*7#_ClxU=vy!6j-:?#10:s"2*#Ây!s"# :LlxZNo]&####~Ls~L*7#+6 +6 :!+w:s"y:u"y-!"#y!v"!y+r÷y~O#~y yP:!+w:u" zz:!+w:s"ڷyz+6 z6.#6R#6R"7#+6#h#OFNOLƈ!"NpDqMD2Z#5!v"~lxO:*##fz WzElx~2*#:"2"Ây6!<j-͏/lx!9"x)-%lx+~lx z|z}= z}2"2/#>ʺz/2"lx!ëx!";"*7#_Cs~Dz4Tz{D{ͿB:;"z>2;":;"O:<"{4T{D{ͿBD{z2#{GN<{GͦKF{DC{|@1{J͛D*7#]L{=*Wʛ{*7#@|{D|{6#"7#+4Te{h&~Lʛ{xʛ{*7#+6 {"7#+6z{BKLò{z/G{/OL*7#}Y}> 42}!o./G*#|v}#px|}![-}![-!$ j-|lx}!"ʫ}!v"~lxV#~}²}!= ëx#~+w^}#}5~^}lx!8~=}#~3 A}!v"w^}!"w^}lx!ëxE-./G6:$O2?#G:"$~A+~x2^#2$:=2_#:!M~*3#*9##k2!2"u͠ښs~2#:!͋~2Z#:"‰~*F<ʉ~zs~2"/2."2s#2-!#~~62!6!(0j-!(0:j-:?#10>2L:D2#!4~5: #~*$"pD:! ͳj:!2! ͋!_:X#!_>v,*7#]L!b#6" !h# :#2#:#2#:#2#:"2#AEs~[X2!lDlMDs~QAEs~6:"¡j-!`ͺ42!5@#~ *^#&-:M"F52 #2:L2Mu>2ME:":LW,*Dͽ͠:L2#2#֚>2#!@#5 *o#";"*m#"w#*k#"u#:q#2y#:r#2"!h#͋F͜CͪPD5͜CәͿCͷagpDs~|2#֚pDZP*$DMeM*7#!y#:#wY*7#şeBX2"MD*7#]2Z#ƈͷ>ʀ/!]͓D@ G*7#͑ xD9?4TO4A9?2"4T OyGyۀ|@4Tۀ*7#eBM~;s~:hB!~/ws~:f:vÚͰJ^I5Z2!MͰͦKSgJZÁͦKSØͦK˜Jz‰pDMgJDƒ*w#͗ ZͦKSDʽgJâJZP͞*w#DM:j*7#͉TD*7#AÁJMJͦKzpDMID5"Z*w#͗ JD:I"æKͰJMDUI5^^‚pJZDʣ^£I^JZDʣI^vJZDʣ^£IËͦKZͰͦKSD^ӂͦKSD^gJͦKSD^gJقJZgJZP Zs~*w#DM]B͔]pD&*u#"u#MDDW:_#GL"͞0){D{{Q*^#&"SI*g͠:^#2#͠͞*5#4T^DO:_#G)[Kʼ ʲ5š š*7#xU΃΃*7#eBQZ*7#eBMD*w#*7#:`#J͔]*`#&o"#"#pD͠s~͞*7#͉T^)*LS ΃ ΃:u#2`#:/2#:_#Oڗh*7#͕@MF*7#@DuD ~D u0E00u͂AÇ͂ͷA‡D5)5D!_#5!"F GpčppD5D (FFJ xpD;EͦKͶu͂9*7#әs~Ms~*7#͕@M FD߄^ʁ|͕@ʙDʙ^]͉T^™4TÓ*7#|͕@ʙDʙDʁ͂5A*7#͕@·͉TMDM͞ FͦK׆DԆ|@†JͬDMD*7#@D|݆|D@D|OEy͂O$͠s~y5)5:w#5D5DoXͻs~Da~͞:;s~:>c2-2[#2L/:=@c2@c:"/2"!`ͺ4D6s~:f:vE)͞JZDʵIãͦK:" *7#~ 662Z#͜C]͉TDD.> (F *7#@ L*7#U W,3W,6!S':X#l!([-W,!`ͺ4/W,pDs~:Z#ʜ!)(Y!)/ͺ:ͨ:!?,:"ʜ®A;ى*+6+6+6x:X#ͺ:è*0"ѣͤa[K:#s~*"$ͺ:!" :W#B!_ !Ͷ!ͼ 9S! *"2*5#6#"5#;L|e}n6#gKFE[ x|#DM*3#!Ss :W#&*!ͥ͑ &!3 &!ͦ ͻ **!ͭ:,**+G #~܊ي**!~»!s !s Ͷ/!s Ͷ!s !ͼ :E!_ !Ͷ!Fwpè*$"*5#+~h6"5#:W#„!_ !ͼ Ä*7#eBM2#s~2"*7##OF>2"2W#2Z#2"2!*5#+6"5#!3 ʄ:ʄ*$| ͻ }o|g MD!"$**!ͭ!ԋÄ:D2#!#Á!}p!}p!~p!}p!~pXʁ!ip!3 M!> XXÁѣ!#ʘ:"dףd2Z#*7#͉TGOx怱wd66Ms~͠s~!!! ! !!!!!!#8!Q^#V#zь>/2#!B*7#e#OF!##8#*7#͙B!<"~>+~w!::#an!## !## 6" *7#OF:#!6"*N!6!##:#/2##!~Q͐ͷ!S#~++F"#*7#BK~#foʠ$#Ï*#͑ ҫ6"OFh#*N`i6"OF*7#T͉TDZ@Dč4T.͉TMBxۍ4T؍!8"~ͪs~++Fәs~͠s~~<++F͑ 3͗ DM####8"!"~/wh!"~/wÁXʁͺm!#̕!(0͆̕Xʁ͵m!## !## !#:;"2#!#:;"2#*#"u#̕:":#:$*.* $͑ " $DM**!#F@# xģ#*7#OF2ϔA!~_zW# ~_#~A*$"$!#:"ʆ:"ʆ:;"!o#zJnDtͦK> ͓IUMD*7##OF2#͝!#h# Xʁ6"*7#OF :"ʿՏ!$~Տ+V+^*=#͑ !a*(Yѣ!## F:"2$!#̕!6"pDÁ!#:":"_ͪʬ2Z#:"ʁE@:"[*7#@DdG:;"Oẍ́}ېJI!JI:#:#=:#xͿB*7#͕@ʬ:y#͘2y#!*7#L|L:"*7#@Dې>2#2#:"ƈ*7#h#OF{:#_:#_> ͓!#*=+́ ͪAE:"JI:;"OJID3̈́:#_>W! $~w#~w#~w* $:$*$" $DM**"0* ~# xq#*7#OF2#:!#pD̕!"~p#*7#OF!**"0:":LʗG*7#͉TؑDܑDܑxGx͓D|@L×GYDL,D,͓LͦK:"ƈJ7JʗGؑͦKJ7J*7#͙B:;"2#LʚG:"\ F2$Eo:"ö́\:;"!#ҝ*7#@ʑDʑJIo> ͓Io xD:#ՒxB_W*;"*#͑ ՒͬʔYړ2#x͓ILG Ôƈ*7#*7##OF:#.*;"="#>2#.*#͑ .2#ͬʚYœ̈́xRDHLʣGD\LʣG\͓DlLʣGDx͓ͦKJIHͦKJI\JID„ƈ*7##OF*7#!4+6j-28(I> ͓I*;"*#͑ œƈ*7##OF:;"2#!## 2#ã:":;"!#_*;"*7#@D,> > /͘ͿB*;"}|> > ";"* $|y**"0!~ͻ ͭ**{ozgʎ+" $*0~#"0ʎG;L¦!~LxL*5#p#6"5#`L2Z#|Xʁ!c~p!" $!#:#2#ͪL:;"O:"GJLI:"4x!#:#D(:#7"> |4:#1̈́:;"2#:#=:#E|:#|>|:hh!s * $|>ʲØ* $**w" $ ͗ >²[ DM**!~:!" $*7#eBMD66:$2u!!~ڕs Ͷ͐*7#eBMD*7#:u#J!"#̔]pD>2#2#*&"u#XͽpDM̠s~*7#h#OF*7#eBuM̠s~SGMD: #l2/"2"/2 #2s#ʕʕʈ*DÐ1ͣ>:_#!^#ÐJ͔]:!* ~ Gi:g"xͅc::#!#F͑ W!#F͑ W:"PXW!<"~W+:#O~W:#W!y#~w:|!f2t!:#<ʡ!#͋F:#2y#:#2"!"w##";":#o"u#!^#GyҰ]͓D:^#Gyܘ':u#ј͉TјΘ4TBј4TͶ>2#*^#&":#)>2#)*u#| %:^#%O:_#%̈́,*>,>,>̈́E^À:#O͉ *U# "U#͑ N{:#O*U# "U#{ozd}!d2 #*w#*U#{oz>>}!>Я122">2#2#2#>2#D6!ښ?, 2#2s#@ʪͩAo÷ ]2"͓D͍CͬDɯGKFx/D/:#//*#͑ V"#2#*u#"#["#*;""#:"2#:y#2#ş_́ *w#ɯqGKFxʚDš:#ʚ¡*#͑ ڡ"#2##OF*u#"#["#*w#"#*;""#:y#2#:"2#ɯܚ2#>2#:#G:^#>2# 2#:#'2#W,pD*D:"D6:#AE:S#G:#X*#*Q#͑ X|I}X]2"͓D!Q#À*#"u#*#"w#*#";":#2y#:#2"*D2|!!#͋F:u#G:^#G:_#*D:%ޝl/@<:"X2"G2|!@#OF:y#2#:u#2#x2#<# 1G4Ts;O!#͋Fy2t!@ G/:"xZ@xʞ O9ʤ'#~#fo D D D Ϝ#~_+4T:q! :#G:2"@D22"*P<:"ŞR-O̞R:"ʻ^x@GOx:CR=RAO:w#OR  ֜*9#/:t!+>^2t![:$<_> @2*~^-*~-*~-:_#_*~^2>^Q/> @21:"cͩA[GEʦxʗڬ> @22ͤ* 5~Pʱ:G>PQ/>-@2‹ìͅ:%G:GËx̅> @2!#F{z2:#G:$:#G>2#cpD2#>2#2#:#=6*7#͑ 62#*w#*U#{zY:#lx@22#*w##"w#:y#2y#:y#Ox{ ʫyyʇ@Ox ʟ£ :"ʟ:<GyO:"/O:A@2c!!2!7>Ӟ!,О!&:y#!y#FwN #F p:y#D2y#KF0!Q~#fo&~ +N+~ y#2y#:#AV%J͵V!y#~w>B2|!t%hͼm>K2|!!y#~w:#<:"x¿B>^@2>L@2Oş_y$D¤:w#ü:"y¹ҹ:Cü5_*w#y:#Fݟ:2G:7G%G:#:#>:":":#:#O!#~ݢ<ݢ<2#!E!0:X#!6j-!L:?# ~1/DM##~<'*7#eBuJ*LCu.JIu=[Km*7#>UuJͦK[JD5ua`iF*7#|}$D’y=O:#7ң:#77:#!#F*7#{_z/:,2#2!/?6G:"ẍ́ͪ:;"O:"GJI:#660MDͽpDMs~7:#!#F*7#{_z/:,2#2!/?6G:"ẍ́ͪ:;"O:"GJI:#ozydyydyoyyyy2!2W#2."2Y#/2":2+$!4^#V#7o>2*$2;$*.**s#r#68,:#$>ho:@Mlwo!//gr:]"2#ͬ^2!ngr:D2#25$2:$*9#*8$s#r2"2.">2"*6$!% 3 2*7#@Gz31:6;Eͪz: "2\̓ro*!+|̷!<$~ :]"G:!N> p/!^"z=yRr!̓rW*7##OF>2!*""!b{o{*7#@r.jpEvp͛rrzzr͒r8pxpt8p'{8p2?#;E:!GpxY¤px2!:[#ʤp! ͧy=r͈r!!گp6~2[#:^"G!e"p*< q*> q*@ qpxr:?#pb{*<zr*>zr*@zrxxrâq~q ɯ2Z#*7#@rEKq͉T͉To{*7#~.ʓqtq'{q20$z#OF[ }2#*"́ *""!ͩt*z#*7#KF}_|W!z#Fѯyrâq͛rrzzr͒rq:! r͊tq*!Wxr:f"xr͊tzr*6zr*8zr:!6r!r>yr*!*"͑ r*p/zXr:!Rr͒r6r<6r>2!͊t¶q*!+"!|Rr*!#"!{mro/{mrgr!W/Ü*6$%s ur*($s :"$*"*!Ñ :! :"dG*7#4Ts;?Ls:"rz}9Lsr)^#V*7#4T4TLsLsLsNsLstt9t?tEtEtctitLsZssLsLs`sfsLsLssssLssslsSswwwwwusvsWvv'v!vt|sLsLsLsLsrsLsLsLss~xKxKxBxvwwwɯ2c"2c"!k"s!j"us!i"us!l"us!"͒<!"͋<͙s~2"!h"s͙ss!o":"!p"!f"s!e"s!d"sêz!q"s!:$~Ls:;$2Z!q#p#6*9#+6 +6 "7#+6*o""":"2":"2":i"2"*4lt*6lt*8lt*o""":"2":"2":i"2"*<lt*>lt*@*+DMͱ> {ʆt xxt:`":_"*8~*6*4:c"*:*7#_C>Ub{ 2!2Z#<ʦu=u!~:@:Z#ʾu::$u>2;$Z͝ &u3 Ùu*7#ͩA4T>Au:5$<ҙu25$2Z#Zs % p3 ʛu2:Z#™u4TLs> Q/DJv@2Jv4T8v> @22̺:#$[~pw~-Ls!0~:#$[~ʋvn-yvlv~Dpw:#$ {pwDʚv"ʲv' wG> Q/ {vOvy@2¸vv> @22̺pwvv*$"1*c!"3> @2 {pw,vw͉T[~pwx8w> Q/*.$F#~@2"w>?@2> @2vͷ@wK{8 "-%2̺*,$8wO# -!~!"4:"4T"* #ͪ"&2":"2"w:"/2"ww2"~=2"5!":">w/!$w!<$w!U$w!n$w!$xxw&xx x&xyx xwq {7D7?3 0 7x xGG̓r\xLs̓rLs͈r\x>2!*7# {bx*#&*7#>yLs:#$Ls[~pw*,$ Ÿx>x4TʱxDʟxD”x*,$#R!Wix!b%=ʦu!|%=ʦu!%=ʦu!|%æuR!*,$#1e]T#~x y-LslvOz!yy y *"*!""G:!/怰z""*Kyz_ʒyzydy!ov,ʎyxGy xGy! }y! ͧy=ʞy*DMGyãy!Lzj-0z<ͻyڹy:!2!*$:Gͭ.yyOͺ y"j-2!! ov,y>y>"31~xz*++DM*B~mz\5z#~mzdz Rz:!Fz# z#~mzDFz#dz͉z z+6*#mz# x z6 #6 *}o|gz*By*!Ϳ ~# xʦz=“z#*++*::d"zGz6 #z»z6##6*!"tzyQKͩtQK{{{{*! "!! ":"Ď!4TDz}*7#:0$C{ނF{*7#DF{JR{DF{> 2!*7#@G*""!*9""!2Z#20$!"6":#$U}G~U}>d2\#!"3$*7#@U}½{4TU}D¡{4TU}á{DU}&{4T¡{U}]}*|&%|*.$DM(3 #4T)||##4T)|4T)|{D)|&.|{á{U}*.$#y DF|-7|d|}ڛ| /›|-- Od|20$Û|*.$#Fw+6ͷy|"3$|ʓ|M*,$3 w# †|6*.$#p}*.$w=|#~#»|*"Ϳ _|_|*9"ï|ͷ|@$|"#*3$||C*,$*#"#͓h͉ #́ |}y ~L)|*7#*7# "7#+6#:Z#=}:"=}`i"6" *# 2Z#:\#=2\#‘{:Z#4TD]}D4TD]}D:":"=ʍ}:Z#G~!"B~!s"B~:s"ڱ}w2s"2*#:" }> 2"L*"*9"*"*7##OF*6"!#}J}I9~}z}MD1Y*7##OF*#y !#$~ͦK)~[J9~)~z~"""9"""{_zW~4*7##OF!#*N4Tʶ~D_~Dʶ~,ʶ~=ʶ~*.$#(3  ’~ 4Tʪ~Dʪ~,ʪ~=…~D¶~ª~x*.$w*,$"D""~'~o4T"D",-,-D` ~ ~|*,$wͷ?ʳͷ*,$^́ **~#fo|_ó**s#rzʡͷ~ʔ͋#͋+Mx~OxGbky  *,$N# *1$#q*.$~#G**H# "1$#n&M*.$N#**~#fo͗ H**~w#~w#~.M#q#6#3 w 3#6I~#_>W#*8$t^#V*6$%t~:5$<=xz> Q/*7#@Dʟ@24T> @22̺ͻy=>ʵ/z)ʀ31Հ)*&"D݀Dڀ׀*&$*$$͑ '*&$*($ͭx!>*&$"$$~1#"$$:*$i*&$*$$~i͑ ei*$$+"$$k*,$#:+$W׀D}Dw'ʢ"§W׀wށDہށ# £׀DʾށDہ¾ށ:+$Ox ׀D+~D *,$pD׀,>G>'2\#ނʥ"H'LOß ]‰4Tåʉ#ƒ4T{Ղ{͉Tå͉TÉՂʥDʥ!\#45ʞ53 4TL> ނ҂ς4Tς»#=<>@D4T! #~ !"~׃#D0ۃ##׃O.#2+: ##I!"!"Ê!"G!"~!"e!"/'O +60=v!"y!"y! ^#V: ##¨!":"ʨ?͜鹃ȃƒ΃ԃۃ׃׃ۃ׃ۃ׃ۃȃۃ݃= > < >==> <= =< <> ><(~ #6 # !'~#+(Q+:eK~-A>(:)0) )>0 Q_(:er+ ct60xs~60( +>90:ڕ>0w „"! #(O+O§ :ń2W"!~2"?G:ބw:!!ğ:!~>:W"+s :!!Ģ:"2:_:‚:o:fG:҇:ʇ{ͼI:>-. Â͒Â_:{:©í{͕ͼ::Յ:2DD:<2G::2D煯2>͌D2*W"&*2w{<2W"-*2!s :>Ę:>ěů2~#oO~͌# f2>͌D yMy(|(|(|(|(|(|(|b|}|||(||h}|}}(|(|(|(|(|(|(|(|(|(|`(|(|(|(|`b}o|J!!O g=`a" yy(|(|b|(|(|(|(|(|(|(|(||}|(||(|`(|(|`b}`O!Jg! y:z zNz(|(|(|(|(|(|(|``(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|`SAAB}FF+GJDB\CC~GBGHIjIKDI}A}A}A}A}A}A}A}A}A}Azzzz(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|`MLkOOOXFWQQR3VRQrQPQUUW/XV7OKPP*RtRtRtRtRtRtRtRtRtRtRX {D{<{^{(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|`YgZZ\\\D]<^:_B`aabcc[[Ca@dm{{(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|(|`12314/56678d9J::\;;====~<=V??Y@~}2!W,:"{*^#&"{6j-!`ͺ427|!vy&^|!,:X#|!-y\|"|/>v,`,&^`0`> Q/> @22:$2^#E-j-7|>-L-/:g\}!a+|:! `!E+|E!\+|!+|+^ʌ|`6!S'y:X#ʫ|!(yK|`!`ͺ4!G/8}!!+|:fV}!`+|E!X!+|6!s{:X#|!{K|`!`ͺ4!.8}6!%K|`7|!90f{8}6!O zz:X#/}!!zK|`!0&^G}/0`\|>v,!+|!!+|!'"+|!"+|:fP}!E+|!+|8,**!͸}!́ **!}N#F#^#V#zʶ} s#rÝ}./ x»}ɑ%ͦsâ~tâ~͖râ~sâ~6!,j-31͏/!9"ͥxâ~!*x]~!" $!ʽ~/3 ~ģ>2#͝!#MD!s !̕c!F,x~/!ͺ+~ѣϔʓ~\ʓ~!#!/c!Ͷ! /Í~66:$2u!`! /!s ̕!,~!/,/`6!$j-hU͏/ !"+^-% ~O#~  ~{2!7ccH kb 6!GR!6#WiL!b%=C!|%=C!%=C!|%͹//~͏/U~:%O:O> 4 _ѣ!#!Z!2w# {Z!͠b>2Z!=Œ͓-.(ŒJ=IDʬͦKgJ>-2#*7#@͉Œ!G>P_ףŒ:#w# ͉ףͦKgJzO!Gzc/xʌͦKgJ%Z!0dͅ_Ì!,:Z!R:X!|%qR!ʹb!V%h:$o,&"!c+-.Ee,$1234567890!wÚ! ʦ# œ gJ%Z!0dͅ_Ì!,:Z!R:X!|%qR!ʹb!V%h:$o,&"!c+-.Ee,$1~{2!7ccH kb 6!GR!6#WiL!b%=C!|%=C!%=C!|%͹//~͏/U~:%O:O> 4 _ѣ!#!Z!2w# {Z!͠b>2Z!=Œ͓-.(ŒJ=IDʬͦKgJ>-2#*7#@͉Œ!G>P_ףŒ:#w# ͉ףͦKgJzO!Gzc/xʌͦKgJ%Z!0dͅ_Ì!,:Z!R:X!|%qR!ʹb!V%h:$o,&"!c+-.Ee,$1 WSCHANGE 4.00 Messages Released on 21 Aug 87 Copyright (C) 1979, 1987 MicroPro International Corp. All rights reserved. 20 MaIatiغConsoleMonitor(FunctiKeys>S PesKeyboard Pes(Intface PesPP Choices(P Library>P PesP Defaults(P IntfaceCDisk Drives(Opat System>Pes s(D D>Memory UsagePage Layout( Setts>H LevelS Checks(Non Mode>IndexShorthand(Mge P>MiscellaneousPGenal Pes(Reset All Setts>AuPX Done iationConsoleMonitorMonitor2MonitnameS sizFunctiحsDefine sMonitesSpecial cs2CursS Keyboard esFunctiحs2Save FunctiحsIntface esBusy handshak2Console subroutinesMonitor ly i for: MonitorMonitnameS sizMonitnameThe monitis: monitnameS sizHeight(  HITEWidth(  WIDHorizontal scroll width( # SCROLLD short s( % DIRSIZ+1D long s( $ DIRSIZCurswrap at ge(! WRAPP s ly i for:  Default p d: PP nameDefault p dP nameThe p is: Entوp nameDefault p dThe d is: dS esSpecial csCursS Special csDEL d str(& DELSTRSoft d str(, SHYSTRBeg mark(2 BBLOCKEnd mark(7 KBLOCKTab (ASCII 09) mask( INIDOC+9CursLead-in(j CLEAD1Middle lead-in(o CLEAD2Trail(t CTRAILRevse row column(y CB4LFGRow column offset(z CUROFFSize ASCII (| ASCURG Position subroutine(} UCRPOSH Cursmovement delay(B DELCUSS Erase s( ERASCRErase end s( ERAEOSErase end ( ERAEOLErase s delay(C DELMISLine delete( LINDELLine inst( LININSG Maximum deletes/insts( LINMAXH B( BAKSPCI Ie( TRMINIJ Un-ie( TRMUNIK Isubroutine( INISUBL Un-isubroutine( UNISUBM Video attribute subroutine( VIDATTN Rul video attributes(l RLRVIDO Revse highlight(A BRITEPP sP2P nameDefault p dP d libSelect libraryname2Create small libraryAdd p d2Ch p d dataWS p esCustom p ctrlsp iationCUSTOM & SIMPLE s2Save CUSTOM/SIMPLE sP sP commansws2C & sizP intfaceP port2P busy handshakP subroutinesP d libraryCurrent p d library: Select library#ChȒ be usCreate small library#Keep ne dslyAdd p d#Add replacedCh p d data#Select d#Proportional les9Strs & les#Save es9P at address p esThese es are made Us Area withRememb thatfirst byte of f bytes sendFexample an"ESC" (1B hex) follow by"3" (33 hex)would first ent "02" sincet are two bytes ބThen would ent "1B" "33",follow by "X" get back .Custom p sp iationCh p d dataCurrent p d: NOTE:While chang data withp d librarychsare made immiatelyCancell will restore originalvaluesPlease back up p library before .SelectdCh which d Proportional lesCh c width lesP strs & lesP strs & les withdD auP 밒Save d esSave es = Ent label addressmselectionCustom p sp iationP Q( UPRQ ^pqP W( UPRW ^pwP E( UPRE ^peP R( UPRR ^prForm fe(" FORMF ^plIe p( ULINIG Un-ie p( ULUNIH Isubroutine( ULPORTI Un-isubroutine( ULUNPTJ P area(; PRNPATP intfaceP portP busy handshakP subroutinesP portCurrent p port: LST list deviceTTY deviceCRT deviceLPT deviceUL1 deviceP busy handshakBusy test foutput p( ULOSTARS232 XON/XOFF( LXOFFRS232 ETX/ACK( LETXCs sent before ETX/ACK(  LCHRMXDelay each c (msec)(  DLISTLong busy time-out (msec0=disable)( PRNDLYP subroutinesOutput status subroutine( ULOSTAC output subroutine( ULSTOInput status subroutine( ULISTAC input subroutine( ULSTIP area(; PRNPATP sPause pages( PPAUSEUse form fes( PFFEEDP as ( PNODOCBidirectional p( .bpLett quality p (NLQ)( .lqMicrojustification( .ujG Und blanks( .ulH Proportional spac(_ .psI Strike-out c(! STKCHR ^pxJ Normal char width (120ths)(  ^pnK Altnate char width (120ths)(  ^paL Line height (48ths)(  .lhM Sub/supscript roll (48ths)(  .srN P page s(  .opKeyboard esFunctiKeysSave FunctiKeysFunctiحsSize/delay f burst( FUNDLYFunctiح burst lead-char( FUNDLY+1 Mtranslatile( FUNTBLahead flush (m AHEADIntface esConsole busy handshakSpecial I/O subroutinesBusy handshakConsole RS232 XON/XOFF(" XONOFFDelay aft false XOFF(D DXOFFConsole subroutinesInput status subroutine(R UCNSTAC input subroutine(U UCONIC output subroutine(X UCONOT curssubroutine( ONCURT cursoff subroutine( OFFCURGenal area([ MORPATCDisksValid s2Delay access typMax. valid us Opat Sle-us 2Multi-us ZCPR3 Memory usageSystem allocations2 allocationss names2Us D dDefaultsC esDisksValid s( LGLDRVMaximum valid us ( LGLUSRDelay access typ(N DDISKOpat Sle us Multi-us MP/MMulti-us TurboDOSZCPR3If 2 people try it same ʅshould second usable browse through it (without mak chs)?C esIstr( TRMINIUn-istr( TRMUNIIsubroutine( INISUBUn-isubroutine( UNISUBGenal area([ MORPATP area(; PRNPATG Extra area( EXTRAH Multi-us ( MPMFLGD usageDے d(9 INIDIRD alphabetical ord(: DIRSRT types exclud d(k NOTYPE names are shown(Initial d log([ INILOGPAuP fromSave settsMake fauReset all settsOriginal settsD spec useswildcard specificati؎detmine whichsshould d dA questimark (?) anypositiindicates c will mThe spec thatmes alls loggڬ is: ????????.??? (*.*) spec now Message P ovlay Shorthand  COM Hǒ  ovlay Index exclud word Backup type Temporary type Temporary type s search us ( J DEFUSR COM(2 ovlay(Messages & s(P ds(&Shorthstorage(>G Index exclusilist(H H s(I H(  HPFILE+12J Messages buff ( ? VMSIZEK Document it buff ( @ EDSIZEL Make backups when sav( INIBAKM Backup type(_ BAKTYPN Temporary (b BFTYPEO Temporary (e AFTYPEP Temporary (h BLKTYPUs Numb f s looks fitss (like s p ds)us shownUnlessfile onspecific, will look thus both loggڬ the̬ (first LGLDRV le)You also disable look anyplace oth than us.Ch us fsDisable search fsMemory usageMessages & s buffٹ- ? VMSIZEDocument it buff - @ EDSIZEText spillov amount- D TYSIZEShorthbuff - n HANMAXGenal purpose buffٹ- A BFSIZEGenal purpose Open buffٹ- B BFSIZE+1G Mge p data buffٹ- C BFSIZE+2H Dot commbuffمRR etc (-7 DSTKSZI Max head/foot (- HFMAXJ Max unase cs (-= UNSIZEK Minimize memory allocationsMinimize memory allocations normally allocates memory to ths takememory space away itքBy minimiz themeithmake c withsmall TPA memorygainmore memory fitօwhich ruces how often must useThe follow le shows allocations bytes.Default Minimize Description512 128Shorthbuff (HANMAX)(Onlyfew shorthmacros defin.)2048 384Genal purpose buff (BFSIZE)(Only 34s 10 ps shown directories.)50075Dot commbuff (DSTKSZ)(Onlyfew dot commands us while it.)500 100Max unase cs (UNSIZE)(Onlysle vy small unas.)Additional bytes available fit: 2,873Minimize memory allocations?Page layoutPage & margins2Heads & footsTabs setts sh level2TypParagraph alignment2BlocksErase & unase2Lines & csFind & replace2 3.3 compatibilityP sOth featuresS checks2Non modeIndex2Shorth( macros)Mge p2MiscellaneousPage layoutPage siz marginsHeads footsTabsPage siz marginsPage length(  .plTop margin(  .mtBottom margin(  .mbHead margin(  .hmFoot margin(  .fmP offset at left ge pap(  .poG Left margin(  .lmH Right margin(  .rmI Paragraph marg(0=disable)(  .pmHeads footsMax length( HFMAXP page s(  .opPositiؘpage (  .pcInitial page (  .pnTabsRegular stopsDecimal stops setts sh levelTypParagraph alignmentBlocksErase unaseLines csG Find replaceH 3.3 compatibilityI P s sh levelH level( ; INIHLP (^jj)Status (O INISTAStatus fill c(P STFILLSoft space d(` INIEDT+11Soft space c(< SOFTSPNormally show p s(X INIEDT+3 (^od)G Rul (Z INIEDT+5 (^ot)H New rul each it session(6 INIRLITypWord wrap at margin(V INIEDT+1 (^ow)Inst cs(W INIEDT+2 (^v)Fast typ d holdoff delay(P DFASTFast typ page//column delay(L UPDLYDisk access holdoff delay(N DDISKAutomatic b cs( AUTOBSParagraph alignmentRight justification(U INIEDT (^oj)Line spac( ] INIEDT+8 (^os)Hyphen h(Y INIEDT+4 (^oh)Cs before h( Q HYMAXBlocksColumn mode([ INIEDT+6 (^kn)Column replace mode(\ INIEDT+7 (^ki)Beginn mark(2 BBLOCKEnd mark(7 KBLOCKErase unaseMax cs unas(= UNSIZEUnase sle c asures(< UNONEDEL ases left (at )(i DELFLGEras curstype ahead(m AHEADLines csBidirectional p( .bpLett quality p (NLQ)( .lqMicrojustification( .ujUnd blanks( .ulProportional spac(_ .psStrike-out c(! STKCHR ^pxG Normal char width (120ths)(  ^pnH Altnate char width (120ths)(  ^paI Line height (48ths)(  .lhJ Sub/supscript roll (48ths)(  .srK Cs are part ofword( LGLCHRL Cs fmov across words( MOVCHRM Soft space d(` INIEDT+11N Soft space c(< SOFTSPO Comma c s(d COMCHRP Decimal point c(e DECCHRFind replaceDefault find replace options(I INIFIN 3.3 compatibility^h moves left (ase left)(g CTLHFL^^ (Shift+^6) case toggle(h CASEFLDEL ases left (at )(i DELFLGCursstays column 1 at mark(j BLKFLGNo extra soft s at parag end(k LSPFLGOth featuresS checksNon modeIndexShorth( macros)Mge pMiscellaneousS checksCommrun s check(K SPCMDAsk f check(X SPFILENon modeNondoc when comm( ININONP as ( PNODOC^b ^qu strip MSB cs(T STRPFLTabs auto-indent by type( EDCONDTab stops variable s enabl( INIRLRIndexIndex exclusilist( IXFILENormally index evy word(S IDXALLShorth( macros)Shorthstorage(> SHFILEStorage buff ( n HANMAXDollar format fs(o DOLLARMge pSeparat data items( DATSEPMiscellaneousSign-( INITIDRequireaft Y/N answ(R YNCRLongest delay (sign-onetc.)(F DLONGMium delay (setc.)(H DMEDShort delay (doc alignetc.)(J DSHORTEras & curstype ahead(m AHEADG ^n split (hard RET soft)(f CTLNFLH Drive/us when runn programs(Y URUN1 On2 Off3 DiscretionaryX No chVideo AttributesRevse b dim(A BRITEX No chmselectionNoneCh ON OFF?Ch OFF ON?S wrong Horizontal scroll too bigDirectories too bigAll chs been made. now i forAre through mak chs?The push . try againP m#1Current p: % (J  > (K }\ (L .  (M v~ (N P (O +G  (P  H  (Q  I (R  2 P M#2Eps- IBM3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#2Current p:  (K ' (L V (M  (N e (O n (P G  (Q JH (R I (S J 1 P M#1GenalAnadex - Diablo3 P M#3Mannesmann Tally - Okidata4 P M#4Panasonic - ZenithP m#3Current p: (L HR(M r% (N L (O  (P  (Q G  (R 3H  (S ]I  J K &1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM4 P M#4Panasonic - ZenithP m#4Current p: f(I  (J P (K (L u (M l G 0H 1 P M#1GenalAnadex - Diablo2 P M#2Eps- IBM3 P M#3Mannesmann Tally - OkidataTell s cAft you each lettمwill ask it'sfloppy driveThe first will ̬.Typedrive lett (A-PRETURN when done)Is tfloppy ?Already specifi. Please entوdiffent.Disk Drives Your CThese are valid s. The ̬ (w looks fitss) shown an astisk (*). Hard:  Floppy: What do want i? (normally WS)f pRETURNWhat do want save chs to? (normally WS)f pRETURNWrong vsiؘ fth!Can't find iDisk probably full write protectڄMake room byas somesremove protect ՄThen re-i.NotOut r...must  continueDo want ch t?valueH availableMonitAdds 25(N Morrow MDT 20Adds Viewpoint(O Morrow MDT 60/70ANSI Standard (DEC VT-100)(P Osborne I 24x80 SDEC VT52(Q Osborne ExecutiveHazeltine 1500(R Qume 102IBM 3101(S Soroc IQ 120G Kaypro II/IV(T Televideo 912/920H Kaypro 2X/4X/10(U Televideo 925/950I Lear Siegl ADM-20(V Wyse WY-50J Lear Siegl ADM-3A(W Zenith Z19 Heath H19K Lear Siegl ADM-31(Y MinimumL Libty Freom 100(Z Minimum ANSIM Libty Freom 200(! Osborne NuevoX No chmselectionThe arrow s Kaypro's eith chd by CONFIG programby (If c uses U1 U2 ROMsshouldalways use CONFIG.)Should ch arrow s (Y/N)? Not validCurrently: value (RETURN ch)new (RETURN)new type (RETURN)Add p dYou add replacep d exist pd libraryThe p d will load froma separate hasfile type DRV.p d (DRV)Bad p d ( d in).Add p dReplac p dCreate small library i for: Canfind p d.BAK $$$ allow. ret Too mds.Find s next names ds want keep.s separat by commasorr s usֈdash.Ds sav (RETURN stop)You mayly type s list above.Cancreate new.New p library complete. Old library has BAK type.Canstore newDisk may full.Bad library d found library.On do want libraryfile (RETURN fsame) ? Bad nameuse A through P.Current p d:  ch p d (RETURN)Select P D ChdFeature yet implementڄP continueP d labels: Ch c width leD: Width le: Entry = codecwidthc width (RETURN ch)No c width les fthd.Proportionally spac c width lesD: M D more smselectionMP D Table Str LabelsD: . . . . . (descripti؎add)Entو2-digit c code (RETURN when done)LSTTTYCRTLPTUL1AuThe au reads es stor infileThe format each file is: USERADDR=PATCHESUSERADDR an addequaticontain p d labels hex s.You may add (+)subtract (-)multiply (*)divide (/) withequation.Equations are evaluat left All opations equal precence.If USERADDR missօequals sign column 1PATCHES thatfollow are treat ascontinuatiؘPATCHES previous .PATCHES bee more bytesstrs separat by commasAn equationmay us definebyteStrs may be enclos witheith sle ordouble quotes.Fexample: CRTID="XYZ Console",CR,LF,0file (RETURN quit)CanfindSyntax r too longP completeSave sYou save setts inʒlat us by au.file hold setts (RETURN quit)Save all CUSTOM SIMPLE p sYou save p s fCUSTOM SIMPLE dsinʒ lat us by au.file hold setts (RETURN quit)Save settsYou save some setts infile lat us by auلYou eith saveall setts atceentٞe Us Area label attimeA will stor encompasses all bytes label thenexte Us Area.Warn: Data lengths may ch frome vsiؘ to anothلCheck against us area.file hold setts (RETURN quit)Save entire us area?Us Area label (RETURN when done)That already existsOvwrite it?Save rorDoneSave p d settsYou save some d setts inʒ thatlat us by auلYou eith save all setts atonce (DATA label)entٞe d label attime.file hold setts (RETURN quit)P d auThe au reads es stor infileThe format each file is: PDRVADDR=PATCHESPDRVADDR an addequaticontain d labels hex s.You may add (+)subtract (-)multiply (*)divide (/) withequation.Equations are evaluat left All opations equal precence.If PDRVADDR missօequals sign column 1PATCHES thatfollow are treat ascontinuatiؘPATCHES previous .PATCHES bee more bytesstrs separat by commasAn equationmay us definebyteStrs may be enclos witheith sle ordouble quotes.Fexample: $START=5,1B,0D,1B,"S0"file (RETURN quit)Ch p d dataYou may strs les us by 's p ds.Each p d may d۞e more labels which represent theaddofle str withd.While : X - Ret P  . - End chsre-d - Leave byte unchd; advance next location ' - Ent next c ASCII0-9A-F - Ent hex digitUs Area add(label hex)D add(label hex)Notvalid address.Notvalid c hex digitNo cs aftوquote column (presswhen done): The stops been clearڄ stopsone attime below.Tab stops canly columns 1 through 255.Tab stops:Decimal stops:Find replace optionsWhen use"find" "find replace" commandtype theRETURN when ask f"Options?" will use findreplace optionsThe optiletts mean: W whole wordsly U ignore case backwards search G whole R rest of N replace without askCurrent options: up 6 optilettsYou typ an optiاlistReset all settsT will ase modifications already made your will restore values as suppliڞ thedistributiذ feach evy item i.Are sure want reset evyth? types suppress d types: When t are suppressڒ types ds evylogg dManyslike programscanitby just clutt ds like thalalways end same type like COMBy putt file typeinlethey will long appear directories.Ch file types?All types been clear leup 8file types suppress belowone attime.Entوfile type (RETURN done)Non b by typeCurrent setts: Vari- Tab AutoType able Char IndentAll entries been clearڄsetts belowone attime.file type (RETURN done)Use variable b?positi each d char (ASCII 09)Tabs mayly binary multiples1248etc.Auto-indent?OthsNow ent s fothْ types.Cs are ly consid part ofword are mark with"*".Entو2-digit c code (R rۅRETURN when done)Part ofword nowCh it?Not part ofwordCh it?Notvalid code00 through 7F.Notvalid ˄0 through 255.Drive/us frunn programsWhen runsprogramit first looks fCOM berun ly loggڬ usلIf it t, then looks at ̬ us.Current ̬/us: Ch it (Y/N)? Entو̬/us (RETURN fe)Notvalid usلDrives A through PUs s0 through 31.FunctiKeysFunctiح burst delay(  FUNDLYModify le( FUNTBLZo entire le( FUNTBLP bursts( FUNTBLX No chmselectionAre sure want reset all definitions? Modify FunctiKeys Burst:  Definition: 1 D first definitions2 D oth definitionsZ Ch add definitionX No chmselectionFunctiحs are ly disablڄenable themdefine-zo delay. (FUNDLY)When push expect tminal togenateunique burst csEach timee csburst receiv by delay reset.When delay fully times out knows burst finish.Tforetminal sends c evy threemillisecondsset delay 3.If are sure delay usestart 10 20Aft your s are gradually ruce delay until theylong reliably. continueNotvalid entry strokes f hexRETURN when done.Hex strokesNot enough room left FUNTBL le burst hexRETURN when done.Hex burstH FunctiKeysWhen push expect tminal togenateunique burst cs translates burstinsome oth strokesThe hex representatiؘeach burst andits translatiؔshown sYou eith ch anexist burst by ent its hex codesentوburst.il theylong reliably. continueNotvalid entry strokes f hexRETURN when done.Hex strokesNoMAIN yCONSOLPRNTER3TERMNLTERMSZ*SCREENG KEYBRD CINTFC CBUSY Y PRINTR PRNSELgPRINT1DRIVERPINTFCPLIST PBUSY zFKEYS pPDEFLTPATCH %CMPUTR(DISKS "*DOS ~+DIRUSE,NWFILEL0MEMUSE2NEWWRD89PAGLAYC:PAGSIZK;HDRFTR?TABS )BEDIT rCEDTSCRFEDTTYPxIEDTPARgMEDTBLKOEDTUNEQEDLNCHSEDTFIN[EDTWS b]OTHER `SPELL cbNONDOCcINDEX %fSHAND hMERGEPiMISC jPRNLIBnH MaIatiغGenal HUse ce C items want toch s s how ch them.P? at s see h ss explas.Ref README ford s.These commands are available at :o quit save chsp^X.o quit cancel chsp^C.reset all s their original settsc "Reset AllSetts" P .use label مc mhas word"es" itRef PATCH.LST forlist theus area.H MaIatiM(continu)A CONSOLE Chs monitors sd method, s .B PRINTER Lets c pscreatessmall WSPRINT.OVRces p iation.C COMPUTER Cs s ctells if sharڒ ces memory usagechs i us area ornames.D WORDSTAR Chs setts.E PATCHING Creates reads auْs so exch cations oth copies resets all s to original settslets us area.H ConsoleA MONITOR Select tminal c th. If tminal c not ܅try the "Minimum"Othُs may as well. Use one gives best results.B FUNCTION KEYS Reprograms s.C MONITOR PATCHES Ces monitiation.D KEYBOARD PATCHES Ces board iationsaves your setts an auْ.E INTERFACE PATCHES Ces intface your console.H PA PRINTER CHOICES Lets select p from.B PRINTER LIBRARY Creates small WSPRINT.OVR so it contains ly p ds neڄLets add ds.C WS PRINTER PATCHES Lets s to ce how s p.D PRINTING DEFAULTS Chs setts us dur p.E PRINTER INTERFACE Defines intface your c c p.H MonitorA MONITOR SELECTION Chs tminal f.B MONITOR NAME Chs monitappears flash s.C SCREEN SIZING Chs s height width d .H S SizA HEIGHT Chs s p s.B WIDTH Chs cs p .C HORIZONTAL SCROLL WIDTH Chs columns cursscrolls goes off ge s.D DIRECTORY SIZESHORT FILE PROMPTS Chs s us at bottom s fd d when s for 웉 questions do take up much space.E DIRECTORY SIZELONG FILE PROMPTS Chs s us at bottom s when questions take uplot s.F CURSOR WRAP AT RIGHT EDGE Chs curspositiaft last c typ at ge sIf ally moves next If offcursstays same .H MonitPesNote: Ref PATCH.LST forlist us area.A SPECIAL CHARACTERS Chs how special cs such as soft s marks appears.B CURSOR CONTROL Chs s sends s fcursposition.C SCREEN CONTROL Chs oth s sends to s.= ENTER USER AREA ADDRESS Lets addus area.H Keyboard PesNote: Ref PATCH.LST forlist us area.A FUNCTION KEYS Chs /delaytype ahead translation le fctasUse ch s fcursand s c has thcapabilitySee PATCH.LST.B SAVE FUNCTION KEYS Saves setts auto ْ.= ENTER USER AREA ADDRESS Lets addus area.H Intface PesA BUSY HANDSHAKING Chs how detmines console busy.B CONSOLE SUBROUTINES Chs console input/output subroutines.H Busy Handshak uses busy handshak detmine monitreadyreceive information comes i use DTRtheest method busy handshakքDTR handshak uses p20 ofRS232 connectcable carry busy signal monitc.C hardware checks thsignal makes wait beforesend more csMost CP/M cs tminals use DTR.If ss appear scramblڅmay ne ch one ofmethods belowCheck monitmanual detmine typehandshak it uses.A RS232 XON/XOFF Ts RS232 method offXON/XOFF handshak slow than DTRThe monitsends an XOFF c when busyWhen ready againit sends an XON cIf RS232 on checks f cs. Note: Some cs use RS232 check fXON XOFF cs themselvesso they don't ne chs at ths.H Busy Handshak (continu)B DELAY AFTER FALSE XOFF The XOFF c same as ^Sand XON same as ^QIf ch RS232 XON/XOFFsets the time waits aft an XON XOFF commdetmine wheth it's command.H P D LibrarySelections thmaffect p d library(WSPRINT.OVR) program (WS.COM).A SELECT LIBRARY FILE Chs p d library ( WSPRINT.OVR).B CREATE SMALLER LIBRARY Makes p d library (WSPRINT.OVR) small by lett keep just ds want. Renames old .BAK extension.C ADD NEW PRINTER DRIVER Adds replaces ds p d library .DRVNote ds add .DRVs don't appear P SelectiغsIf want.DRV d pc "Default p d" from P Choices .D CHANGE PRINTER DRIVER DATA Pes p d library or uses au exch p d setts oth uss.H P ChoicesA PRINTER SELECTION Lets select p from.B PRINTER NAME Chs p appears flash sUseful p isn't listڞ p ܅but you've i asp ܄You can ch name flash s 옋p.C DEFAULT PRINTER DRIVER Chs p dUse if add.DRV p d want th p dNote ds add .DRVs don't appear P Selectiغs.H P SelectiغC p ܄The p appears above܄The p c will pYoucˆdiffent p at p time.If p not ܅ref P Informationbrochure fsuggestions which p s like yours.If still can't find pc eith Typewrit(backspac standard p) Draft (backspac standardp)These may take advantage all p'sfeaturesbut they will al p.ced fpc Custom P orSimple PThen go P Pes sectiؘ toent s fpRef pmanual f s.H WS P PesNote: Ref PATCH.LST forlist us area.A CUSTOM PRINT CONTROLS Defines s f^PQ, ^PW^PE^PR; s sent when begend p.= ENTER USER AREA ADDRESS Lets addus area.H P IntfaceA PRINTER PORT SELECTION Specifies which ports logical devices ps are attach to.B PRINTER BUSY HANDSHAKING Cs how checks your p busy.C PRINTER SUBROUTINES Chs input/output subroutines us to send receive cs p.H P Port SelectionYou c which port p are connect to.LST (DEFAULT LIST DEVICE) Thstandard p output that CP/M uses as its .TTYCRTLPTUL1 These devices may may depend֞ BIOS c.H P Busy Handshak uses busy handshak detmine sial p isready receive informati(does apply parallel ps). comes i use DTRest method busyhandshakքDTR handshak uses p20 RS232 connectcable tocarry busy signal p cC hardware checksthsignal makes wait before send more cs.If p output appears scramblڅmay ne ch toone methods belowCheck p manual detmine type handshak p uses.A Busy test foutput p Some cs don't handle p busy handshak at allIf yours doesn'tt thoff.B RS232 XON/XOFF Ts RS232 XON/XOFF method offIf, uses XON/XOFF handshakօwhich significantly slow than DTRThe p sendsXOFF c when busy. When it's ready againit sends an XON c.H P Busy Handshak (continu)C RS232 ETX/ACK Ts RS232 ETX/ACK method offIf, sendsburst cs follow by ETX  cWhen p ready fmore csit responds an ACK c.D CHARACTERS SENT BEFORE ETX/ACK Sets cs sent in each burst.E DELAY BETWEEN EACH CHARACTER If e busy handshak methods above tells wait each c sent pThvy slow.F LONG BUSY TIME-OUT Sets tim uses (PRNDLY) check if p has been busy an excessively long timeIf it hasyou'll see an r̈́Thwarns p may off jammڄIf p normally busy forlong time, disable tim by sett it zo.H P DefaultsSpecify answs questions when pfile(You canch answ before p.)A PAUSE BETWEEN PAGES Ts ̞ offIfp pauses aft each pageUseful letthead pap.B USE FORM FEEDS Ts ̞ offIfp advances pap form fes instead fes.C PRINT NONDOCUMENT Ts ̞ offIfp treats dot commands as .Specify setts f commandsch setts whileitօuse commands parens below.D BIDIRECTIONAL PRINTING (.BP) Fdaisywheel pslyts ̞ offIf ps left 垞e , then left next If p does t allyt thsett off.H P Defaults (continu)E LETTER QUALITY PRINTING (.LQ) Ts ̞ offIf, p uses near lett quality mode available.F MICROJUSTIFICATION (.UJ) Ts ̞ offIf, spreads white space evenly wordsIf thslows p downt thsett offIf set dis ts sett֞ off depend֞ p you're us.G UNDERLINE BLANKS (.UL) Ts ̞ offIf unds blank spaces undlin words.H PROPORTIONAL SPACING (.PS) Ts ̞ offIf p proportionally spac p allows.I STRIKE-OUT CHARACTER Chs c us strike out  ^PX(Normally uses.)H P Defaults (continu)J NORMAL CHARACTER WIDTH Sets c width us with ^PNDefine 120ths an inch(Normally 12/120thswhich 10 cs p inchPica.)K ALTERNATE CHARACTER WIDTH Sets c width us with ^PADefine 120ths an inch(Normally 10/120thswhich 12 cs p inchElite.)L LINE HEIGHT (.LH) Sets height fDefine in 48ths an inch(6 s p inch = 8/48ths)M SUB/SUPERSCRIPT ROLL (.SR) Sets amount carriage rolls p subscript supscript Define 48ths an inch.N PRINT PAGE NUMBERS (.OP) Ts ̞ offIfpage s are ally p as footٞ each pageIf off, page s are p.H PP out PATCH.LST forlist us areaYoushould undstthlist before do .A AUTO PATCHER Lets reade more es fromfile inthcopy Thfeature us to transf setts frome copy anoth. Warn: Be careful when us es previous releases of Pes ref data addresses may disastrous results threleaseHowevمes ref us area labels may threlease since labels chd.B SAVE SETTINGS Lets save some all setts ina T us by au.C RESET ALL SETTINGS Resets all setts original values.= ENTER USER AREA ADDRESS Lets type us area label or addressthen ds next 16 bytes location.H CA DISK DRIVES Tells s c has and specifies which will run from.B OPERATING SYSTEM Tells sle-us a sharڒ .C MEMORY USAGE Tells how allocate memory.D WORDSTAR FILES Renames s chs path  s.E DIRECTORY DISPLAY Controls how directories are d.F COMPUTER PATCHES Lets tminal p strs and subroutines indicate happens whens are shar.H Disk DrivesA VALID DISK DRIVES Tells s c has, which you'll run fromwheth each is floppy hard.B MAXIMUM VALID USER NUMBER Set th us  allowable when logg when ֈf.C DELAY DISK ACCESS IF TYPING On cs don't buff your strokes dur usagethdelay keeps us until stop typ formoment.H Opat SystemA SINGLE-USER SYSTEM C onlye psبuse at time.B MULTI-USER MP/M C sharڒ such as MP/M w more thane pscould try it same at same time(Ts lock.)C MULTI-USER TURBODOS Similar MP/M but specifically fTurboDOS s full CP/M support.D ZCPR3 Supports nam directoriesfile search pathsruns asshell process.H D DYou how ds directories.A DISPLAY FILE DIRECTORY Ts d d۞ off. (Use F ch at Open .)B DIRECTORY IN ALPHABETICAL ORDER Ts offIf off, names appear ord they're encountڞ ; on, names appear alphabetical ordلIf d has many sit takes time sort names inalphabetical ord.C FILE TYPES EXCLUDED FROM DIRECTORY Excludess ctain extensions d dۄFexamplesince  can't its .EXE extension sett excludes them d d.H D D (continu)D FILE NAMES THAT ARE SHOWN Specifies whichnames d. Fexample *.DOConlys .DOC extension will appear d(Even f d in dtypeat Open Mc it.)E INITIAL DIRECTORY LOG ON Automatically logs specific and/us as soas startsThuseful keep programs diffent us area than than ʒs.H sA FILE SEARCH USER NUMBER Defines path programs.B-H FILENAMES Chs names sindicate  file ontype drive lett follow by a colat beginn ofnameIf indicatedrive lettم will ignore standard search ord ft only look search path d specifiڬThis useful more thane release .I-K BUFFERS Defines how much memory allocate fbuffs.L MAKE BACKUP FILES WHEN SAVING Tells wheth to keepbackup copy (.BAK) each as save itBackups are useful anyth happens originalbut can t them off save space .M-P BACKUP AND TEMPORARY FILES Specifies extensifbackup temporarys.H Memory UsageA MESSAGES & MENUS BUFFER Tells how much memory use for s s RAM.B DOCUMENT EDIT BUFFER SIZE Tells how much memory allow forfull page If getLow-Memory indicatiؙthe status while itօincrease thvalue.C TEXT SPILLOVER Tells how much memory use f memory buffلIf too large fit memoryextra spills ov intemporary .D SHORTHAND BUFFER SIZE Tells how much memory use for stor shorth( macro) definitions Thshould large enough hold all definitionsDon't make it too large since memory us available f spillov.H Memory Usage (continu)E GENERAL PURPOSE EDIT BUFFER Thbuff us while it fseval ths includ: d opationscopy֒s.F GENERAL PURPOSE OPENING BUFFER Thbuff us fOpen  s fseval ths includ: dp d, copy֒s.G MERGE PRINT DATA BUFFER Thbuff us fmge p to hold variable names data.H Memory Usage (continu)H DOT COMMAND BUFFER Tells how much memory use for stor information dot commsettsAs cursmoves across dot commands 䅗 stores previous setts so it restore them when cursmoves back up ov the commands latل(See us area list fsiz information.)I MAX HEADER/FOOTER SIZE Tells how much memory use to store head foot definitionsT must enough store largest head foot.J MAX UNERASE CHARACTERS Tells how much memory use to store delet restor by unase command. Thsett defines largest amount stor.K MINIMIZE MEMORY ALLOCATIONS Lets less memory.H A PAGE LAYOUT Chs s fmarginspage head and foot stopsetc.B EDITING SETTINGS Chs s fh levelword wrap, justification hDžp settsetc.C OTHER FEATURES Chs s foth features such as s checkindexօshorthandmge p.H Page LayoutA PAGE SIZE & MARGINS Chs s fpage lengthmargins, page offsethead foot marginsparagraph margins.B HEADERS & FOOTERS Sets fheads foots, w page s pinitial page .C TABS Chs stops fregular decimal s.H Page Size & MarginsChs s fpage settsThese also chd whileit by us dot commands parens below.A PAGE LENGTH (.PL) Sets total s p pageF11 inch pap, set 66F14 inch papمset 84(Measur standard s 6 s p inch.)B TOP MARGIN (.MT) Set s ge papC BOTTOM MARGIN (.MB) area(Measur standard s of 6 s p inch.)D HEADER MARGIN (.HM) Set s head orE FOOTER MARGIN (.FM) foot areaHead foot margpart top bottom marginFor example head s plus head margmust equal less than top margin(Measur standard s 6 s p inch.)H Page Size & Margins (continu)F PRINT OFFSET (.PO) Sets blank columns left ge pap column 1 area.G LEFT MARGIN (.LM) Set left boundaries area.H RIGHT MARGIN (.RM) (Use ^OX temporarily release margins.)I PARAGRAPH MARGIN (.PM) Sets start column f first each paragraphUse ally indent paragraphs hang indentsSet zo disable.H Heads & Foots allows up three s each fheads footsUse.HE .H1 ffirst head 煛.H2 .H3 fsecond thirdsUse .FO .F1 ffirst foot .F2 .F3 forsecond third foot .If don't define footم ps page at bottompageUse dot commands parens below ch setts while it.A MAX LINE LENGTH Sets cs p in head footلRets fes each usee c.B PRINT PAGE NUMBERS (.OP) Ts page s offIf, page s p allyIf offpage s p.C POSITION OF PAGE NUMBER (.PC) Chs column w page ps.D INITIAL PAGE NUMBER (.PN) Chs start page .H TabsA REGULAR TAB STOPS Sets stops fregular s. Regular stops appear rul as exclamatipoint (!).B DECIMAL TAB STOPS Sets stops fdecimal s. Decimal stops appear rul as sign (#).You set up 15 regular stops 6 decimal stopsCh stops while it by us^ON ^OI commands.H SettsA EDIT SCREEN & HELP LEVEL Chs h level d of status 䅛rul .B TYPING Chs sett fword wrap inst and adjusts ftyp spe.C PARAGRAPH ALIGNMENT Chs justification spacօand h.D BLOCKS Chs setts fcolumn modebeginn end mark symbols.E ERASE & UNERASE Chs minimum fasures and funase buff.H Setts (continu)F LINES & CHARACTERS Chs p commsettslets you word is.G FIND & REPLACE Chs find replace options.H WORDSTAR 3.3 COMPATIBILITY Chs B Del s  as they did Release 3.3.I PRINTING DEFAULTS Chs answs p time questions p commands.H S & H LevelA HELP LEVEL Chs level mdۄLevel 3 ds all sLevel 2 suppresses Mbut shows all subsLevel 1 suppresses all s but ds status . Level 0 suppresses all s status (Use ^JJ ch while it.)B STATUS LINE Ts d status off.C STATUS LINE FILLER CHARACTER Chs c us fspaces in status .D SOFT SPACE DISPLAY Ts ̞ offIfsoft spaces d withplus sign them so distuish them hard spaces typ Spacebar(Use ^OB ch while it.)E SOFT SPACE CHARACTER Chs c d soft spaces (normallyplus sign).H S & H Level (continu)F NORMALLY SHOW PRINT CONTROLS Chs wheth p s are initially dڞs(Use ^OD ch while it.)G RULER LINE Ts d rul off.H NEW RULER EACH EDIT SESSION Ts rul offIf has rul If off has rul previous .H TypCh setts f featuresch setts whileitօuse commands parens below.A WORD WRAP AT RIGHT MARGIN (^OW) Ts ̞ offIf, wraps ally next when reach margin. If offc beeps when reach margin.B INSERT CHARACTERS (^V INS KEY) Ts ̞ offIf cs are inst exist csIf offcs type ov exist cs.H Typ (continu) normally shows chss as soas typethemHowevمtype vy s chs beannoyքCh delays below wait until youpause typ before chang s.C FAST TYPING DISPLAY HOLDOFF DELAY Shows cs as you type thembut waits briefly before d chd .D FAST TYPING PAGE/LINE/COLUMN DELAY Waits until pause before updat status .E DISK ACCESS HOLDOFF DELAY Waits until pause before read or writ .F AUTOMATIC BACKSPACE CHARACTERS Tells p b before p cs ɄHful fputt accent marks foreign language csIf add accent mark at thoptionp ally ps accent mark ov prec c.H Paragraph AlignmentA RIGHT JUSTIFICATION Chs sett fjustification. Ifspaces are add words so each align at margin(Use ^OJ ch while it.)B LINE SPACING Chs spacք1 sle-spacڅ2 double-spacڅ3 triple-spacڅso up 9(Use ^OS ch while it.)C HYPHEN HELP Ts hǞ offIf ates words extend past margin(Use ^OH to ch while it.)D CHARACTERS BEFORE HYPHEN HELP Ifword extends past  marginsets minimum cs word must still  inside margbefore word atڄWords with few cs remain inside margare ally mov next without be at.H BlocksA COLUMN MODE Ts column mode offIf offa  includes all beginn end marksIfa includesly vtical column beginn end marks.B COLUMN REPLACE MODE Ts column replace mode offIfa mov ovwrites exist If offexist  moves .C BEGINNING BLOCK MARKER Chs cs us mark beginn ofNormally .D ENDING BLOCK MARKER Chs cs us mark end a Normally .H Erase & UnaseWhen delete 䅉 stor inspecial ase buff.Th lat recall ^U.A MAX CHARACTERS THAT CAN BE UNERASED Chs thbuff. Thlargest delet cs unase.B UNERASE SINGLE CHARACTER ERASURES Tells wheth store cs as ^GDelB unase buff.C DEL ERASES TO LEFT IfDel ases c left (to m 3.3.) If offases c at .D ERASING & CURSOR TYPE AHEAD Ts type ahead offIf off, stops immiately when lift f board. Type ahead buff empti aft asures some s movementsIf an extnal program nes ase quicklyt thfeature.H Lines & CsCh setts f commandsch setts whileitօuse commands parens below.A BIDIRECTIONAL PRINTING (.BP) Fdaisywheel pslyts ̞ offIf ps left 垞e , then left next If p does t allyt thsett off.B LETTER QUALITY PRINTING (.LQ) Ts ̞ offIf, p uses near lett quality mode available.C MICROJUSTIFICATION (.UJ) Ts ̞ offIf, spreads white space evenly wordsIf thslows p downt thsett offIf set dis ts sett֞ off depend֞ p you're us.D UNDERLINE BLANKS (.UL) Ts ̞ offIf unds blank spaces undlin words.H Lines & Cs (continu)E PROPORTIONAL SPACING (.PS) Ts ̞ offIf p proportionally spac p allows.F STRIKE-OUT CHARACTER Chs c us strike out  ^PX(Normally uses.)G NORMAL CHARACTER WIDTH Sets c width us with ^PNDefine 120ths an inch(Normally 12/120thswhich 10 cs p inchPica.)H ALTERNATE CHARACTER WIDTH Sets c width us with ^PADefine 120ths an inch(Normally 10/120thswhich 12 cs p inchElite.)I LINE HEIGHT (.LH) Sets height fDefine in 48ths an inch(6 s p inch = 8/48ths)H Lines & Cs (continu)J SUB/SUPERSCRIPT ROLL (.SR) Sets amount carriage rolls p subscript supscript Define 48ths an inch.K CHARACTERS THAT ARE PART OF A WORD Specifies cs are consid part word fuse s checks index.L CHARACTERS FOR MOVING ACROSS WORDS Specifies cs are consid part word fuse ^A^F^T.M SOFT SPACE DISPLAY (^OB) Ts ̞ offIf, soft spaces d withplus sign them so distuish them hard spaces typ Spacebar.N SOFT SPACE CHARACTER Chs c d soft spaces (normallyplus sign).O THOUSANDS SEPARATOR IN NUMBERS Chs c us us fseparat groups thousands s.P DECIMAL POINT Chs decimal point c us fd s when decimal b.H Find & ReplaceA DEFAULT FIND AND REPLACE OPTIONS Sets find replace options f^QA ^QF. When p^QA ^QF while itօ s to c optionsIf pEntم uses  options(Normally searches curslocation.) C options: W Find whole wordsly (don't find part anoth word) U Ignore case B Search backwards cursposition G Search whole start at beginn R Search rest file start at curslocation N Replace without askH 3.3 CompatibilityYou make Release 4 like Release 3.3.A ^H MOVES LEFT If^H (B ) movese c to left without asքIn Release 4^H (B) ases c left.B ^^ CASE TOGGLE If^^ (^6 some boards) s like Caps Lock If offchs hard carriage ret soft carriage retthen moves cursstart next  In mode^^ ts auto-indent. Note: If thsett off t off "^N splits" ( Miscellaneous )^^ won't do anyth.H 3.3 Compatibility (continu)C DEL ERASES LEFT IfDel ases c left . In Release 4Del ases c at .D CURSOR STAYS IN COLUMN 1 Ifif mark at left ge scursnext itmov up down will move curscolumn 1 previous next .E NO EXTRA SOFT LINES Ifextra soft s will add the end ofparagraph spac great thane.H Oth FeaturesA SPELLING CHECKS Chs commrun s checkwheth ask f check.B NONDOCUMENT MODE Chs setts.C INDEXING Chs exclusilist namehow index done.D SHORTHAND Chs shorthand namestorage formats fs.E MERGE PRINTING Chs separatc data fields and formats fdate time.F MISCELLANEOUS Adds extra sign-; chs how yes/no questions are answڅchs longmiumshort delays.H S ChecksWhen runs check loads intnal dictionaryinmemoryThdictionary contains commonly us words.Ifword thdictionary looks maindictionary psonal dictionary.A FILENAME Chs 옉s check program run whens check request.B ASK FOR DOCUMENT TO BE CHECKED Tells wheth not ask forf check pass along s check when it run.H NonA NONDOC FILE WHEN IN COMMAND LINE Iftells any specifi comm when start  .B PRINT NONDOCUMENT AS DEFAULT Iffiles p  mode (dot commands are p as )You ch  mode when p.C ^B AND ^QU STRIP MSB OF CHARACTERS If^B ^QU strip high- ord bit modeIf offthey don't.D TABS AND AUTO-INDENT BY FILE TYPE Specifies s and auto-indent us mode basڞ type.E TAB STOPS IF VARIABLE TABS ENABLED Specifies variable s (rul appearss mode)These are also variable s us regular ʒs.H IndexYou tell index infile three ways: us ^PKeith side indexus .IX type index entryorindex evy wordIf index evy word eliminateunnecessary words two exclusiword listsOne creat byspecific f (it has same as your but .XCL extension)The oth isgenal exclusionlist us fevy index thway.A INDEXER EXCLUSION LIST FILE Chs genal exclusion list.B NORMALLY INDEX EVERY WORD Iftells index evy word.H Shorth(Key Macros)A SHORTHAND STORAGE FILE Chs of holds your shorthdefinitions.B STORAGE BUFFER SIZE Chs memory buff us hold shorthdefinitions while itքThbuff should large enough hold all definitionsbut so large it wastes spaceIf it's too smallall definitions will fit memory won't able use extra definitions until make the buff larg.C DOLLAR FORMAT FOR NUMBERS Chs format fprefin shorthand fdollar amounts.H Mge PA SEPARATOR BETWEEN DATA ITEMS Chs separatus signify end data item normally uses comma end If often use comma inside data itemsch separatsymbol anoth c.H MiscellaneousA SIGN-ON MESSAGE Adds extra sign- beginn s says ev like already ds release ˅sial ˅monitnamep name.B REQUIREAFTER Y/N ANSWER Tells wheth wait fpEnt aft press Y N answ .C-E DELAYS Chs how quickly ds s sign-on ̈́Fexamplemake mium delay vy short, subs appear even pcommands quickly.F ERASING & CURSOR TYPE AHEAD Ts type ahead offIf off, stops immiately when lift f board. Type ahead buff empti aft asures some s movementsIf an extnal program nes ase quicklyt thfeature.G ^N SPLITS A LINE If off^N chs hard carriage ret soft retthen moves cursstart next .H DRIVE/USER WHEN RUNNING PROGRAMS Specifies drive us look fprograms they are d. Programs must file type COM run.H P D LibraryA SELECT LIBRARY FILE Chs which p d library you are modifyքThe library normally WSPRINT.OVR.B CREATE SMALLER LIBRARY Lets extractly p ds actually ne p d libraryAft creat small libraryoriginal library hasfile type BAK.C ADD NEW PRINTER DRIVER Adds replacesp d within p d libraryRequiresspecial hasfile type DRV.D CHANGE PRINTER DRIVER DATA Lets ch data forspecific p d libraryCompos c les are us ftranslatֈc insome oth c and, optionallyovstruck bysecond cFproportional fonts, c width les chdData may also  us hex bytes.H FunctiKeysWhen push expect tminal tovy quickly genateunique burst cs trans-lates burst insome oth strokes.e type DRV.D CHANGE PRINTER DRIVER DATA Lets ch data forspecific p d libraryCompos c les are us ftranslWordStar 4.00 Messages Released on 24 Aug 87 Copyright (C) 1979, 1987 MicroPro International Corp. All rights reserved. ^shorCtr^J meanHold Ctr pJ prouncedCtroJ. F ( /) turn̤ cur ՉEach tim˦F uswild card lim̎ Fexample*.DOC l exts .DOC. Tip: also usWSCHANGE modif̎ . Filecurlexclud۶:  ^Z (scrol)moveview ̎ al fit sela ^Zhno effect^Wmoveview up. ^W (scrolup)moveview ̎ up al fit sefir ^Whno effect^Zmoveview . S (check elldocumt)checkelldocum program callWORD Plusɍ doeֱough acalso hold ellcheck itdicariesmu ex run WORD Pluseparat. D (op documt)opcatedocum editΡ UsDandard processtasksuch memoslett ports. ADocumop? promptnew exiΎ' pRETURN. N (op ndocumt)opcatendocum editΡ UsNnandard processtasksuch cat editdatsmailliscomput program code. ANdocumop? prompt̎' pRETURN. E ( )PETyp̎ pRETURNTypnew pRETURN. L (loggۣ)changẹ opallyus ˔ed⡍PLTyp̫ ̣ us you'lworkpRETURNͣ us as: A0D1411BFZCPR usd dictories. Tip: ͗ mo an comput actuallhas; can'ߣ E unles˱physica E. O (cop)makecopPss OTyp̫ coppRETURNTypnew coppRETURN. P ( ) PP̫ ߛansw siequesaboưout. PRETURNques accepandard (default) answ pEscaccepalmaandard answsques nexandard answpaheses. QuesStd. ans.Rangpossiblansw --------------------------------------------------------------------- Numb copies? (1) 1 99 Pausbetwe s? (N) Y N Usform feeds? (Y) Y N StartΧ? (1) 1 la Ɏ EndΧ? (la)1 la Ɏ Ndocumt? (N) Y N Nam? (cur)Choos Notmultipls: d'wa usdefaul ( chosallۍ)choos below eNamPrt? prompt. Fmo formaيseeStartgsec manua READ.ME . M (mg )multiplform lettma docum cateUsdosmgform lett variablforma datɹ. SeRefcGuidmanuamo forma mg dos. I (dex documt)catean dex docum˫ dex ev documtju folloẁ.IXdo surround'sYoudex sam documteciaexts .IDX. SeRefcGuidmanuamo forma. T (lctts)cate mo lecttdocum ˱catedOncdocumhbe catedgat mo lecttsUs̀.TCdo gatl triesPu# do wa ̧ ߬Fexample.TC Chapt 1.......# gate̵ltr fir chapt book. ̀.TC gatelctt sam documtbu exts TOCUp 9 mo le gat( extsTO1 TO9) immediatelfolloẁ.TC ̵l 1 rough 9. C (protec)mark so can'editdeleted. Usprotec(such boilplatemptmemo forms) d'wa accidtalldeletchange. PC̫ ̎ protectpRETURNTo unprotec pCagafollow dics. Notsometimecomput protecdocumtitselfF examplepulouɹ pu Ԋ comput makaldocumtnew protected. X (ex)op opatsyem promptsuch A> C>wa ar aga wspRETURN. Y (delet)asePY̫ ̎ asepRETURNAsafeguard aga miakesyou'lask you' sucan'as hbe protectۡ̀C . Tip: uswild cardsuch *.BAK asmultipls. R (run program) run program wiWordarAft program fished˔ߍOnlCOM runCP/M'builslikDIRwork. fir lookCOM run cur us e lookA0 (unles˱ allWSCHANGE).  Esc (shorand)stp۳ssphrasesА ɚ ̕. PEsc chooslett (an abbvia ҳܚ) Shormu. To cat ܜabbviasp? Shormu. Tip: Shorusefuexecutan oft- sie stboilplatɚ. ---------------------:Elemtɗ  |C D:FILENAME.EXT: <---- StatuFile posiي |CURSOR :switchesatuforma | ^Eup:<-- Mu (Help Leve3) | ^X :<-- (Li availabls) | ^S : |L----!----!----!-----: <---- Rul Margе |quick brown : <---- Text Youάhe. ---------------------: Statutop ɗ unlesturn WSCHANGE Dilay Whmeans C ()ͳ beexecut D:FILENAME.EXTDisk Ў orWaitݍ bus Pnn Lnn CnnPageLeColumn (n) loca Lnnnn CnnNdocumLeColumn (n) loca Inst Insmod; absInsmod Prtect documprotectcanchanged. Spacg-nL isn(2 double3 tripleetc.). Decimal decima. Column modҠ funcs. ColRepl modҠ funcs. Large-File͎ too largftilmemory. Dot-Limitachlimdo . Replace? Y/NQues fd/opa. Auto-In Aud(ndocummodly) . Align Word wrap juifica Turn .AW . EdMu leve3QuickPrCtrolsOn Format Block Mu level2Ѐ3. Rul ldocumsTturn . L= R= !=norma op#=decima op. P= .V=Temporardt. Textbelow Flag (mo) shows: <"HardcarriagpssۀRETURN he. "SoftcarriagWord wrap brok̑ he. +Tex䢑 extbeyd ̘ edg̗. ^Empt ace--beyd docum .Do 䢑 1do 䢑 work be top . :do 䢑 affectly.  -nex top . BMark۠ beg䢑(Look highlightg.) KMark۠ 䢑(Look highlightg.) Jpssۀ^PJcatmandator fehe. Fpssۀ^PLcatmandator bak he. (An ) wTo ge hold Ctr (abbviat^ mu) whilp lett ̳ wa. Fexamplewa ^Ehold CtrlpE. ^I ()move̕ nex opIn ̷ ju abovɚ! markgula op # markdecima op. YouTab doeexactlsam^I. ^I (ndocum)move̕ next opTabop Ѹfixtvalsusuallev8 se variabldep̎ defۙWSCHANGE. Tip: Fixtvasglɚ (ASCII 09 hex). Theuslesmemoran variablwhich becommultiplace ɚNdocumѥ malprogrammg. RETURN (^M) bak sthard carriagɚ move̕ begn new blank A < symboflag dicathard carriagErashard carriagposi̕ begnnex pss΀Backace. Tip: Ins ("InstdoeNOT atu) move nexbuno hard carriagcated. ^N (l̑)stRETURN ̕. Tip: To catblank ̕ begnan p^N. ^E (up)move̕ up ͕̚ ma sam ̗ possible. ^X ()move̕ ͕̚ masam ̗ possible. ^S ()move̕ ̞̕ alad̞mo ̘mo pviou. ^D ()move̕ ̘̕ alad̘mo ̞mo nex. ^A ( )move̕ ̞̕ alad̞mo ̘mo pviou. ^F ( )move̕ ̘̕ alad̘mo ̞mo nex. ^W (scrolup)moveview ̚ up ͗ ½ becausview moveup. ^Z (scrol)moveview ̚ ͗ up becausview move. ^R (up )moveview ̚ up 1/8 ovlap pviou͗ ½ (view ̚ moveup). ^C ( )moveview ̚ 1/8 ovlap pviou͗ up becausview move. ^G (aschar)asȅ ̕ locaىPss΀Del doesamg. Tip: Eras̏ ̞ ̕ pss΀Backace ^H. ^T (as)ase̕ loca ̘ cur . ^Y (as)aseti cta̕. De(aschar)asȅ ̕ locaىPss΀^G doesamg. Tip: Eras̏ ̞ ̕ pss΀Backace ^H. ^U (unase)stmo casu ̚ ̕. ^Udoeo sglasۡ^G^HDel܀Backace. Tip: Scmo casu masorageuias someelseus^U šFexamplemark as⡀Y̕ new loca p^UYou'vmov̐Mov̕ agap^U agayou'vstcopsam new o well. ^V (s/) govnhow affect alad Ɏ. Wi s"Instatu К push exiΚ ̘. Wi sՊ"InstdoeNOT atu К ovwritexiΚ Ɏ. ^B (align )align ̕ betwe cur sUsfix ovshorovlg catadddeletΨs. Tip: A alwayh< symbo(hard carriag) mo la . In ndocums^Bcvteciadocum code(gat an 128 ASCII) Ứ ndocumform(lesan 128 ASCII)cur . Tip: ^Bcvtsgl; Ucvtmad ̎. ^L (fd/aga)peatmo c(F) fd/ (A) opaيartcur loca. (se wid)changetva(wid) ndocumtvamu barmultipl(24816). ^P RETURNmove̕ begnnex. Ins̕ al ̘ ̕ ½ begnnex. InsՊl̕ nex. Backac(mu)asȅ ̞ ̕. Pss^H doeexactlsamg. Tip: To as̏ ̕ locaيpDe^G. ^^ (Ctr+ Shif+ 6) cvt hard carriag sofcarriag(mid- ). . (dos)secia ɚThe ̗ bu֛edA do MUST beg piod (.) 1 (̞mo ) followtwo letts. Diffedo flag (mo) . Tip: ques mark (?) ̘mo do doecogniz̳; it. Do. mo ( mo oft) .PAStartnew nex. .CPnStartnew lesann 䢧. .RRInst(embeds) ߚ. ObeyL,R,!,# ed. .PMnStartfir 㖋n". .LMnSet̞ 斋n". .RMnSet̘ 斋n". .IGDilaybudoesn' 䢑. ..Sam.IGUssnoteyourself. Do1 mo (work be ܧ begng) .PNnSeţ ton". .PLnSeţ lg tonsDefaul66. .MTnSettop tonsDefaul3. .MBnSetbottom tonsDefaul8. .LHnSet̑ heighton"/48 chDefaul8. Do: symbomo (applߛly) Note: You capablmovemtsoms. .OPOmit bottom ớۧ. .PGReo 仛ۧ. .PCnPrt 斋n"Defaul 28. .UJTurnmicrojuifiۛꉀ.UJՁturn. .BPTurnbidicaꉀ.BPՁturn. .LQPrtnealett qualitmode.LQՁturn. .POnSetacbetwe 1 О edg atns.  .HMnPrtsnblank betwe head К. .FMnPrtsnblank betwe foot. .SRnRollcarriagen"/48 ch sub/supscriptg. .CWnChange betwe ton"/120 ch. .HEPrt 䢑 head. .H1Same.HE(fir head). .H2Secd head. .H3Third head. .FOPrt 䢑 foot.  .F1Sam.FO(fir foot). .F2Secd foot. .F3Third foot. .LSnSet̑ ton.1=sgle2=double3=tripleetc. .TCn trAddstryߵlcttsn. .IXphrasAddsphrasedocumdex. Domg .PFAligndurΛg.PFՁturn; .PFdis  discarySemanuadetails. .OJRighjuifie.OJՁturn; .OJdisdiscary.  .CSClear̗ whilg. .DMDilay () ̗ whilg. .FIInst̎ calledhe. .DFDefedat called. .RVv1,v2Readvariablesv1andv2dat񎋫. .SVv1,datSetvariablev1valuedata. .AVmsg,v1 Aft gmsg,queus datforv1. .RPnRepeatform lettntimes. .GOtop/boGo top bottom la .FI documt.  .MAv1,ma Stosultemaequa v1. Docdiamg .IFv1Ifv1n-blank n-zo followΚ  ui.EI .EL coued. .IFv1 ? v2 Replac? an opator: =,<,>,>=,<=,<>,#=,#<,#>,#>=,#<=,#<>  cdi true ui.EI .EL occurs.  "v1andv2valuevariables. .ELRevsss(trufalse) la .IF. .EIMark .IF cdi. To ge EdMu abovep ̾ shown ̞ descrip mu top (Rememb at^meanshould us̟ .) Fgaexplana ̗pques mark (?). Fܒ dospdo(.). Fܒ savworkpD. would likߜ̒ levelp^J aga. docum˱selecthbe protectedThwh ProtectMu htop ̗. To ge ProtectMup ̾ shown ̞ descrip mu top . Fܒ gettoppedpQ. would likߜ̒ levelp^J aga.  (On FormMu)affeclook ̗. - Wh editgpȁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳.  (Block & SavMu)savabandwork"cupae ; copymovease sФ ̹ . - Wh editgpƁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^P ( mu)waɛۚ . - Wh editgp^P lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebar leavmu wiouchanganyg. Fܒ lett cord̳.  (Quick Mu) quick waypform variou cludmov̕fdfdplacΚ asΚ. - Wh editgpǁ lett ̞ . - A level0Ѐ1mu doesn'. - P̀Spacebarleavmu wiouchanganyg. Fܒ lett cord̳. ^PB (bold)make dark ̛ۧMov ߲wa bold begӊp^PB locaى̛ (D) you'lalso se^B̚ bold begs. Note: Diffexecutboldfac ways; lot boldfacۨslow soms. ^PD (doublrike)make dark ̛ۧMov ߲wa doublrikbegӊp^PD locaى̛ (D) you'lalso se^Ddoublrikbegs. Note: Double-ruck looksimilabold Somexecut bo ylesammann. ^PS (und)und ̛ۧMov ߲wa undlbegӊp^PS locaى̛ (D) you'l also se^S̚ undlbegs. ^PX (rikout)placehyph(-) ov ̛ۧMov ߲wa ruck ou begӊp^PX locaى̛ (D) you'lse^X ̚ ruck ou begs. Tip: Struck ou comml legadocumtsϜ rikeou (-) (such /) WSCHANGE program. ^PV (subscript)place slightlbelow ̑ ̛ۧ. Mov̕ ߲wa subscriptbegӊp ^PVlocaى̛ (D) you'l se^V̚ subscriptbegs. Note: PrtcapabltrusubscriptΔ subscriptۚ an ti below. ^PT (supscript)place slightlabov̑ ̛ۧ. Mov̕ ߲wa supscriptbegӊ p^PTlocaى̛ (D) you'lse^T̚ supscriptbegs. Note: PrtcapabltrusupscriptΔ supscript an ti above. ^PA (altnate)changepitch ̛ۧUnles cfigurۍ eciallɛnormapitch t p ch^PAchangetwelvp ch ̛ (D) you'lse^A ̚ altnatpitch begs. Relat۳: ^PN(normal) ^PN (normal)opitch ̛ۧ normal. Unlescfigurۍ eciallɛaltnatpitch twelvp ch^PNopitch t p ch̛ (D) you'lse^N ̚ normapitch begs. Relat۳: ^PA(altnate) ^PC ( pause)cause̛ paus timecific loca ɎYou'lserucaraga. ̛ (D) you'lse^C̚ pausoccur. Tip: Us^PCpauswhil˜̛ whee feface. ^PY (italics/color)change italic̛ۧ OR change ribbcolordepɛ how allۍ. Mov̕ ߲wa italic( ribbcolor) beg p^PYlocaى̛ (D) you'lse^Y̚ italic( ribb color) begs. ^PH (ov char)ruct̛ ߛ nex ov pviouԊwould backacsecd top fir ewrit̛ (D) you'lse^H ̚ betwe fir secd s. ^P RETURN (ov )ruct̛ ߛ nex ov pviouԉusua- symbofare symbo̚which plac highlightμusKmark ̠. K (mark )mark ̕ locaىYou'l se symbo̚which plachighlightμ usBmark begn̠. H ( /)turn() ̤ mark mark. N ( mod/)changewa marked. Wh mod (andard defaulsettg) cludeal betwe marks. Wh modyou'lseeColumnatu͚ mark񖊡 mark upp corn ̠ mark low corn. I ( /)changewa handle Iworkl mod(N) . Wh atu showsColRepl" fill gap delet(Y) mov(V) blanks; surroundΚ doe֜posiىCopi۠(C) stdocumt(R) ovwritexiΚ eplaced. AgasurroundΚ doe֜posi. Wh atu showsColumn"Surround movefilgap deletmovۖ s moveasidҠcopist̚. C (copy)stcopmark۠ ̚ ̕ locaىMark ̚ BЀK̕ new locaيpC. V (move)movemark۠ ̕ locaىMark ̚ BЀK̕ new locaيpV. Y (delete)asemark۠Mark ̚ BЀK pYUndo mo cdele ^U. W (writ߹)savecopmark۠ ɹ. Mark ̚ BЀKpWTyp̫ ̎ hold mark۠ pRETURN. O (copy)makecop whileditgPO ̫ ̎ coppRETURNTyp̫ cop(clud us necessary) pRETURN. Tip: UsOrun ouroom work --cop aswork makmo room. J (ase)ase whileditgPJ ̎ asepRETURN. Tip: UsJasan unneccessar work ne mo room ̎ you' curleditg. E () whileditgPE ̫ ̎ 쫊pRETURNTypnew p RETURN. F ( ) curllogg us . L (loggۣ)changework opallyus budoeNOT ̎ you' editgPLnew us pRETURNUscjunc F ܿ look stcopydelete. R (s)st ̎ you' edit ̕ locaىMov̕ ߲wa new pR̫ ̎ stpRETURN. Tip: catandardboilplatesuch ɫ addblank memoo em separatsusR sem ɚ needed. M (ma)actsimplcalculatФsum al wimark۠sum stɚM undandmusign(-) decimapot(.)Numb pahesesubtractedTo ssum ɚ corcopEsc =. A (fd/place)locateplacePA̚ fdpRETURNTypplacempRETURNchoos followops( acceptmultiplops.) Wwhol- Tex߯mu surroundn such aces. Uigno cas- Igno UPPERCASE/lowcasdiffce fd. Blook backward - Search toward begn̎. ?wild card- Us?subitutunknown fd. Garbegn - Search ti ; arbegng. #In backward searchar. Nwiouask- D'ask approvaһplacemt. R - Search loca ̎. (From  begnbackward search.) Mo nex... n() - Fd/nexnoccurnce̚ fd. n op doe֬ . maximum lg ߯placem 65 s. Tip: To (such )hold Ctrwhil pP Owould t Ɏ. P (pvious)move̕ itimmediatelpviouposi. Y ( ߘ)ase ̕ loca ̘mo cur . De( ߞ)ase ̕ loca ̞mo cur . T ()ase ̕ loca fir occurncnex eT.asenexpiod (usuall stce)T RETURNase . B (beg )move̕ begnΠ mark whe hidd (H) not. K ( )move̕ mark whe hidd (H) not. E (upp )move̕ fir (clud acecarriags) ̗. X (low )move̕ ̘ la (cludacecarriags) ̗. S ( side)move̕ ߖ 1 ̑. D ( side)move̕ posi ̘ mo ̑. R (beg doc)move̕ fir ̎. C ( doc)move̕ posi ̘ la ̎. P (pvious)move̕ itimmediatelpviouposi. V (la fd)move̕ loca la fd/placeposi la-mark۠. 0-9 (mark)move̕ psemark (0-9)Pǁ sgldig0 9To hidmark( hidd marks) pH. F ()locatePF̚ fdpRETURN choosfollowops( acceptmultiplops.) Wwhol- Tex߯mu surroundn s. Uigno cas- Igno UPPERCASE/lowcasdiffce fd. Blook backward - Search toward begn. ?wild card- Us?subitutunknown fd. Garbegn - Search ti ; arbegng. #In backward searchar. Mo nex... n() - Search ̀n occurnc̚ fd. n op doe֬ . maximum lg ߯65 s. Tip: To (such )hold Ctrwhil pP Owould t Ɏ. G (chaforward)move̕ forward ̚ fir occurncnex eG.movenexpiod (usuall stce)G RETURN move ̐. H (chaback)move̕ backward ̚ fir occurncnex eH.movenexpviou piod (usuall pvioustce)H RETURNmove pviou. I ( )ask move̕ fir 䓧In ndocumtIask move̕ ߓ. ̧ ܑ you' lookbackward ̎ locaيyou'llla fir. M (ma)solvema equa eMa funcsupport cludaddiيsubtracيmultiplicaيdivis. Semanuamo forma. Q (peat)peatnexrokܳ eQee lett uip op itWhilQprogss p0-9 (0 fae) ߜpeti eed. Pano op. W (up)ctuouslmoveview ̚ up time. P0-9 (0 fae) vareano op. Z ()ctuouslmoveview ̚ timeP0-9 (0 fae) vareano op. ? (chacou)̭ begn ̎ ̕ loca. U (align s)align docum̕ Ɏ betwe cur sP^Uop alignm progss. Tip: ^Balignsgl; Ualignmad Ɏ. In ndocumsU cvteciadocum code(gat an 128 ASCII) Ứ ndocumform(lesan 128 ASCII)̕ ̎. Tip: ^Bcvtsgl; Ucvtmad Ɏ. L (se)changeposi ̞ PL ̖ pEscus̕ posi ̚. Tip: ̀.LM stpmannew ɚ. R (se)changeposi ̘ PR ̖ pEscus̕ posi ̚. Tip: ̀.RM stpmannew ɚ. X (lease)sMar-Relatu let outsid̞ И s. Turn leas aga fouways: pXpRETURN ̕ new wi̮s. T ( /)(hides) ̷ Normally documhidd ndocums. Visiblnot̷ alwayeffect. F ( )change̷ match lg cta̕. Tip: ̀.RR hsimila(bumo pmant) effectSe O RefcGuiddetails. O ( ߚ)stcurl۷ .RR. W ( wrap /)changehow handle goe beyd ̘ . Wi wrap ꊚ exceed̘ movenex pRETURNl . Wi wrap Պmu pRETURN ev would ewrit. J ( juif/)changehow handle Ρsofcarriag. Wi juifꊍ stsoface(which dicat plusignbetwe s) mak̑ fexactlbetwe ̮s. Wi juifՊ doeNOT saceallow̑ falshor̘ Juif also callraggۘ. E (t sofhyph)stasofthyph (-) l ᚉUstel exactlwa brokA sofhyph an equal sign (=) ݀D. Tip: A hyph callhard hyphA hyph also tel bak buhyph ALWAYS 㚊ju fall . G (temporardt)dt op automaticallһ euipRETURNTo d two opspGtwicbeggdt۞ (markV symboatu) masecd op uipRETURN. Tip: Gworkbe wrap Bsu pRETURNwa ߦ temporardt. S (se )changeempt betwe align ^B܀UPSм ask new answ 1 sgl󴊀2doubl ܀3tripletc.pRETURN"Spacg-2 atu answ 2"Spacg-3answ 3. C (ct )ct̚ ̑ cta̕ betwe cur s. D ( /)show(hides) code attributesuch boldfacundlg. Examples: Prshow^B symbolsidboldfacۨ. Pr doeNOT show ^B^Sano symbol. H (hyph /) changehow handlelg . Wi hyph ꊍ op whilalign (^B U) ask Ғ hyphat lg an 5 lett A sofhyph 奉UsWSCHANGE cas5- lett andard. Wi hyph Պ nev paushyphat dur alignmt. I (se op)set opPI̖ wa ̵ op pEsc ̕'posi ̚. To sedecimapI и#̖ #pEsc̕ . N (clea op)clear mo opsPN wa clea oppEscclea̵ ̕ posiيpAcleaal ops. To cleadecimapN#̖ #pEsc̕ . B (sofacmark/)changewasoface ̗. (Sofaceѥ Ҙ juifiۚ dtg.) Wh sofaceѤplusigns. Wh Պsofacelook liknormaaces. I (se op)set opPI̖ wa ̵ op pEsc ̕'posi ̚. To sedecimapI и#̖ #pEsc̕ . N (clea op)clear mo opsPN wa clea oppEscclea̵ ̕ posiيpAcleaal oWordStar 4.00 Messages Released on 24 Aug 87 Copyright (C) 1979, 1987 MicroPro International Corp. All rights reserved. YNLRPPLC#????? #*2 mark ( ) mu below e  ( begng).  Specif̫ documwish s̎ beedited. no ecifiedloggۣ . Documt?   ͎ sNOT docum( lgvary). can... - PN sti . - PY s̎ up pocease documthighlighs (easdele). - P^U s̎ up pocease documt. PN Y ^U.    cancognizdocum.   can֯documt.  Specif mark۠ or. Name?  Th aladexis.Ovwrit  'pform sum. Block doesn'ctas.  Fil . PRETURN editg.  @DIRECTORYDrive  @DIRECTORY Printers ^W scroll up^Z scroll down @H Y P H E NH E L P @CURSOR@HYPHENATION The word under the cursor @^S left, up to start @- hyphenate at theis too long to fit nicely of wordcursorwithin the margins. @^D right, up to@^B continue, don't right margin hyphenateTurn hyphen help on or off @^U cancelwith ^OH while editing.  @RETURN done | @Backspace or @^H erase left @^U cancel | @Del erase char  @RETURN done @^R repeat | @^S char lf @^D char rt | @Del char @^G char @^Y all @^U cancel @^P literal| @^A word lf @^F word rt | @^H left @^T word Please press Y for yes, or N for no.   Not enough memory to continue.  Total TPA memory available:   Can't continue--disk full or disk error. If full, use ^KJ to erase files to make room. Someone else may be using that file. Try again later.  Can't create temporary files. Disk may be full or protected. @S H O R T H A N DM E N U @? display and/or change definitions@^J help @= result from last ^QM or ^KM math @$ formatted result from last ^QM or ^KM math @# last ^QM math equation @S H O R T H A N D To change a definition, enter a number or letter from the table below. To create a new definition, enter a new number or letter. To include control commands, press ^P before each control character. Character to be defined?  (Press @RETURN when done, @^U to cancel.) @MENU & KEY DEFINITIONSBytes available:   Definition?   Store changes onto disk (Y/N)?  Can't store changes. Your disk may lack the file WSSHORT.OVR. Not enough space to store that definition. Use WSCHANGE to increase space.  Description for Esc menu? 3 Cannot run program. Type any key to return to WordStar.include control commands, press ^P before each control character. Character to be defined?  (Press @RETURN when done, @^U to cancel.) @MENU & KEY DEFINITIONSBytes available:   Definition?   Store changes onto disk (Y/N)?  Can't store changes. Your disk may lack the file WSSHORT.OVR. Not enough space to store that definition. Use WSCHANGE to inc ; PCPI-WS4.ASM A Patch file for installing 'Generic' CP/M ; Wordstar 4.0 on the PCPI Applicard ; ; Jim Lill 10 Sep 87 ; ; The Televideo 925/950 has Normal, Dim, Bright, Inverse etc. while ; the Apple only has Normal and Inverse. This causes problems on ; many Apple programs like Turbo Pascal and is compounded where ; Normal and Inverse have been reversed. This fixes WS 4.0 w/o ; having to Poke around. ; ;Usage: - Install WS for a Televideo 925/950 ; - Assemble this file with ASM.COM or equiv. ; - overlay WS.COM using MLOAD.COM ; e.g.: MLOAD WS.COM=WS.COM,PCPI-WS4 ; 039A ORG 039AH ; \_ Erase Screen in WS 4.0 039A 28 DB '(' ; / also resets INVERSE 03E2 ORG 03E2H ; \_ normally 'Bright' 03E2 29 DB ')' ; / now 'Inverse' 03E5 ORG 03E5H ; \_ normally 'Dim' 03E5 28 DB '(' ; / now 'Normal' 03E6 ENDverlay WS.COM using MLOAD.COM ; e.g.: MLOAD WS.COM=WS.COM,PCPI-WS4 ; 039A ORG 039AH ; \_ Erase Screen in WS 4.0 039A 28 DB '(' ; / also resets INVERSE 03E2 >*mM jlBgL"P0֥;fhgQ43EX$)`\(?!P6d>`v6tnFTOhQIEw82y,~P1 N hR:]pMޱ'@!N3F f([E4*΅481K#mH ԯLy8I~z:\ |N E8(G Pb Yʛ'* nf#IĠC.t!Sx#`2{g5q˗&`Nl."69rf ':jG-TXu=J9U%t0XZ[U%NHRV8H f/+L<>A1՟ i@QKuZg ` ћ{Tf4 m )Yb|UJq'%"o3ÿВ9``DJSg.Jvbch 9g %"` AV.p Pg  ;PS7f9ԭ&%6s32Qd(k `Sc~ ` k< M"z™h"#0b$;Xy4k`-=2'%HlUpFO3?LaQ\&`B9[!cTCsDưh0IQۆ`\0pV*+PHC`UF_. n$)@ 'R&dPe C: h n c g=|@h^L:DAFb CRNK'wng tИqf)M$l$:ԘOsZs`Hs~G @ksW Sa !nY'IrU fJ͒ИV Q;p, H40q>ЄuR0HRx t'DV?dF} #tAAbbf;jV3^3S5$.HCz(4KPo?wO1mbY~w@gO@&9N5+HL 0+ !- @g!ԊCV%p$;M[[ %p`@r9P 3]\6a=?$q dSa EMЃ p@8ѐ`@Cs5uR- R6b\ JBx#AE1gfU3ws ?Rh L c `E&-SVf[7u7B 3 ǰ$7SF €#_o mI9`fD00bxB̪dccun>&0؛./ob inK it,ݴfq:05y (Sk 2l u#[4D6(F.? n쳘.Cp t%i$8P.p#&OS . hE@E<߱ '*͒(W'-3X h(ouG|j}&+y¦Vg %] D[o],I++n^y'C`"pRJW$ژSJ_uf-JJ3`FQVrBmŀe:ĚTB!1#"☿(ҏYp^k_01L4))$E8^~ERvq{J/a  =} #GT2 H"\Cr)kb_U 2"p&@7--e1TCf00í6Ot{֏x/]pM x{עw0s)7@ υ^GŒЬH`f[ q+a ~;' 6_2Sa1C! $a!s"X6#t'DNT( i ݫ2[%vWX[41.r}G.006tΎ-ek~hi$w}N2Y?=>6r'h=P==]N ☔)Տvq+i0$ YHYAɕ4434 <$3k0HUw@v߾>"pWΫ%Ǵb3 !khЍN(HSs۷B0׉Km@ҿb9T`Oh HϞ/S '6p,vdCAjL."p|HP| pv 99_@Wu0>@9hH(В,90Aq1et_PCW 5k7RqS E:l yS\J?UrWmlITfl r| F Pl4b)$  =0M|p"W 3(w=K/ &/@Ҝeh0~]`Ћ SK?uIpY?% Ai1>,yMRN0t-1&Ev`z %Z>2G(!;P"mQ/d4ԡvDxAׄ8jQB6hDTLj,wR~tV"-\ 0Ҁ5(slo \.Er@ H\l4ap bsDH\%jua %e=x@>f.|*u НeN-ѧa fnnu c0{HmD NdSSRv̸SS #,M  /50Z -ou nb 0@Zeǘq 0 Zq e7NDV)tݫOL-UwRr ky$[7Yj*C\}iv 93`7;l*Й; 9Q(oCo[ (2%fKr/ Z!8@$nuYt, ~u"P&Vi00 )-:xu j] U 7M;; :t–αn Pm4 2F5PJ5A` CZ~%b H<ϴT (f0?Ry{y%+t*Ͱ/\v]HoPNnP)pO?((n hG@"i YZ@ '} ЯM pUHԟPrt)(1CCBE=)?2M8`doZzpM;r^#!iQ!$pXmςY;#d9/ELRsjaNalN'1 O#DOB,i#e@dmy <fd/`K d@&L֌"&QaTqp7@K+W߱ !Qp!0"< [`"%㦜 {7fhI")#kB&!p@B#.;hD-vk1BlZ2*ŰW\64T.-S|B{9S5`CJQ[BVpH$Zpy 7x\J!usb33)jE]w9J; 0f;r\S 'CĢѻI(b0 ^k%#0De#v&ѕya[mPSЂj 5)f@2 dv UXoVy lmha g#-!]yoR?&ICwUHG` 5 (pƂ) &9 ;u ,嘐[}~ U1 Um ҉`em "[ qC@Ű'2h p,Ҥ+)#55v )QJ}i#e;h! 'S޽r! .`Ax3L e: < -y$ œ J5`1p=S .B#QTwG,P>#!č %:) ;aV-IvaMT )_qP (E ^馂JOCѧl9  .caҞ 2ğoX=a0  g-U NMtm!,Kzh X&g!(Usِ;P0в9aq×"YS(oa8? Ww˥]54 "V# ]h2$7]-IR$>pAZ 2ͅSOٗZC"z]$Z-7 ++Zvԗgbp aNZ#P D"C4V  B+(0m,,ݏdPJJ9~8,K@2HBV*d r!CK륮 C @ |( 9/&G s`ا\ifFE8 pkAuӈU $g((q @'Ɇ'Bݓ!iQ 3qܲtQE6'uR e'd*V3V#_#vZ*D-w@r` [+s2"HӰP="hyZLwY; fUw e < <7 ;.Xyd z֕-AlQP-v%ۻ$ +iN7piZ5NQyM 0E $cŵwq J21L Sp<~j!Q< p-jh'=Á %HPǞ~5 `S VEW{v[U ݡ re`ѯ ZyUr|*8Øpi PTT:sPʛa+`4epex4 eRoYt`!_*RhAE_3s \6 5AM&3 %ӱq~ " f#d8z7`Q #SfZhZ-%"i4 eT@ZUP Ez a'.㡞 &r@G;6'1! |65*-6$ 7RP(: i<P2r H2ep-]mO">_5q:q&!!@hFJ$=]; 8K=*"pBLP} &$R •W:E#"xw04a<`_p z7_qaqY<G +! &`V J30G|u)>e~ dp/UAyd p@B>]ʂʏSdLB` 9hXnq 2H ".=!͑,>(0#Y D"LM\"z1޲ '01/ XMq (3 !V)dYTpG ZhiuR #V" a9z~0QVwʄF.q` Q+O8IRh ]Fv Ad+h C;7X }뵺}b" V 2"- fp~Ӻ ,.?y}RqXk h0 39T 8 A"`)r Q0 (Q6 '5;Zd4̪b~0zool3NBHJh!%^0y@Ҝo PO6+i h >ueD !P]6(-okB&?کuW (>Bsc8V$,x-oy{ kک7G m~m+-<9+H|ŐLL('rw{0u_64? L M|w6@! ( 9nXZaYBmNѿ<3"gLOr=9&hOʰ Ecuq-RZdOM(.wpNp6-Bl-q6^&ףJX=%Hb@*.;ųj޲TX"EFE19&c9"gA hR&IFYpB9m3r|wm3` .BպibPTu=i{O~1A$H"^(0.˿` <B%I193:n/!OoH`WmCِ +9 %P®n}Q "+^hа&5WqH2|8K~AQ#*p08$-!1^IpHQwYȣ&™'iQB. %^%f Dt}9mTNӜg|^j}SkJ-k8PPVDQRz-WauAqOFSl+dn[W?Z/#O#z DnH Xv#6} =`0 4`C;5&iY`o7"Wp'"p.)Q+qDrSrD9H)|Z7{ J7[-#TAbk,;g[ckK`HRU =2#1ep%>yݘ<_y,6֜-)ey2CWS+P 0UrI#P <|B[&`Az&rq5㝊7Y@6p*F"']o4n!N"litW,=J<@CS(q |p4g!$$(Yq%*@q-A#w=_:QE][fe^)cU!pWXaԪwa!h.7?1>z;BQR~Ae0k_ ?;fgju=brd=r7bWl ;*p)E<>s1&5x@㔳u?^$ðƍ|0JS[I@H;H:?`(Q2t߃ i2^@L)@CEg`cR* R /Sc]si) av.D5HzIPRkO eG 9 jEkF},"I]:2H=\yNY )aA)v eўU$VaA5%MeE,klJ _/=Js-)"iCRO&"zMQpgj#NS$ہ %6+5t ;)cbCq[FH!TTpi1q=u$3I'-`pQ߆opetѷU7tg04xZD 97(U"[TQP"7U KI^0 0fgNr?Y!'bZ/.E02 0`wb:UQ%_0m4tER?N !<^Ob1Tf06C9r/g  ⡵O";b b!1^0MI@_?b0bFC"w^bdQ&fÜ)$Yo7K[=yY2d;PHjc˴S<}d?. 3j$ۏ.#z(fJ$96kE#&c+gw2:,k$ B"勢Ɯ9Z3ENV WordStar, CP/M Edition, Release 4.00 #21 Copyright (C) 1979, 1987 MicroPro International Corporation All rights reserved. mCP/M-80 -/ WordStar, CP/M Edition, Release 4 ö Ì>D2W@  BA  KB  CC  VD  YE FF AG  H  DI  QJ F K F B P DEL=+TeleVideo 925/950 = *)(TYRE(!y:AʃyBƒ!Ã)(2Draft Printer DRAFT d,- ZCPR3 EFHIJKLMNOPWSMSGS OVRWSHELP OVRWSINDEX XCLWS OVRWSPRINT OVRCS COMWSSHORT OVRTWBAK$B$$A$$C$COMOVR$?$???????????PASPLIC H ??B  A  $).38 ,.--,---,---,---.99 W* |* ^#V#~#f_|{*, *.DM:" x͑    +w    ~#    ɷG:!. w#% 6 a{ A[ ɷG~3 w#N ɯ)lg>)=c .`E)t o |/g}/o#z/W{/_x/Gy/Oz{xy ´ #¢ õ  "    }0>/ . À U:!/G::̢ :Rʯ R>. O:X > . !c!F*yX:") ͢ ) m  *D͢  z +| >2> m  !6#w>2 *o~f n :Z !~w͠yt: "/<)=x>ڃ/ɯÎ! ¡~wå~w͠<>±/2!s ͠<ɯ>2# :J<)<):"<͙ F:J/!w#w#w#w 6##~+@@G: "@!~#G!~#<$ :2!~^!͠>_~^"͠X"7~w#‰"7~w# @! x®d! x"~#͖!@ x:" œyʼ# «> ¼ ##~*6?x#~ '!-"67~0?:A?[$/#-@&*?#~1: "w:-" #~? 8͙ ʖͤ ʚG##3 xr [Ö~ Œ:Œ^#V # TGz!: #}~ j>. }>  y> n~ ʈ #}2 "_ ʮ=! "Ď~Ͷ #ö!;:"ͤ !KZU DM 6Y> Ͷ > ö ̓ *N)|)̓ Y*J7*H<|IVVYIz\+|f!^~:=2ʈG#~+w#~Gʘ<2!^=ʧNpA#=ŸpGo<2&^pɯ222G:!2xA[a{:x :d:!E2̓ A:!2:A:>2!?/!":\J ͫTJ O:uŒ:QO̓ š*R+|‚ y«ͫYJ Ox uyu!~#~#fo¯TH ͫ YyA!Tw# ìͫY2e!:!ľY~ï^#TH#$ ~Y:YeY:!OF#~R2ͫC!:Gp!QGx2Q"R:G*$"x  $: ·:!ʷ&,:"$:"|xͶ &÷,:7ҷ!c!~#OFw~ͅ#> ͅ> ͅO:g"G/<*>z*z*> z2!!"c!!~n:o&":O> Ͷ [og"!"$jG:p#=~:%Ҟ:$Һ2$:2%!~·*$|<2%"úɯ2e!>ö :C~#O~Ͷ # ~<#~#fo!# w*$̀!# w*$̓ *$͑ u"$|V}NVV> Ͷ > Ͷ u:}dyo:!G:#}:B!j*z:yʎ}lgMͶ!oLͶ!t*$"+*+":|Gi&yö x("͹ >O>0# 0>9Ͷ ~Ͷ #O :! !+|!~_zW#,~_#~*!T]%"2o2!g",a ".y "*!~*_͐*y*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%$1_ Press any key to return to WordStar...$*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%̈́ 6{隂(EHCइe_ i$Lۼ#i `- 0&ᅆIT}H!oҪkۋ?:Jʜ!Af=3?P`%$ Wc3e{ cd#nrTq1QVT5xRR.Cܽi䠓qea5kQ V/Mca8vP'P3.}fH5ǂ/ŹnJZ Ss!!N>[Pʀ|R/rlD]o,|Ҳ$ qViY"| ڿ+cpk2Mlw c,(C@3A`ٙ $ m9c4ydhP{%1@îYC;rՓ;IP36BL xOu$|¿MSJ Y7MrNMasaAAѐb\&ZU=,F!ھQiCh}3.>} +ԁD4PMI%``ebZ5(xnkFm/?R.@lҊlhR+F#Y-A:?h TwPG4'i_j%2MS.5c$[d+oM&JANUARY 32,315.24 13,433.66 15,654.52 R= .00 FEBRUARY 19,168.22 11,321.23 12,697.32 MARCH 25,267.33 4,285.54 17,295.11 APRIL 31,735.65 6,483.32 5,444.35 MAY 17,456.13 3,554.24 5444.39 JUNE 22,344.22 3,554.24 11,221.14 C= .00 T?2o]Gg|*#m\kC?@ SW@ vDXS#^f`o*wNa3II1eE' (>H`NwY%YSEt;g]VIP ~mpMt Rfv&46Y-[Ŀ~sT <^׫;i  ]">81RK.j6T.v/,2v9;[_7*p'Eb E+Тao$% {Bxk$Z[N 󑞉/bjө,Jb38#$4,QMk6g7aBd|\ o0 L!gv W ;Ibd޻9#}lQSm~HrH @֗N G[W' (0$N #6) < Hxa|kE-^ )?錬{~cl5 D/yDDI@XD 8EoM*@ 16mx .<ž`Ą}'oo !V VoȄ0Ixbf _b볒1tN FOSP`4y lSFw4ͶC $zW6 Ң !L6##mm`1ZK#5k`6'asCM+ l+ f! =" 7r¤uAՙ%>y9ԍ#bhddEG6vDj}앻 9脢=/ h64 "mP64צm;T@ #mfDEReSj +csR' 23 y~<+ S:hPyp(h-2Ѫe2 Z(6CFdKr5sDv̼ fF!#`.fHE o0 9ZXk5y- %k l^ E3[$oo( 39wAM  @ jM(EISfLIEd7MoNmx)`$-d 0 ?0Q?_FIq"?)` XP+ś!h_ԍE "~ɕÆBIQ/faKG7B.& Adg&Q3 ICY>2m0.PE J 0TR}PSCyO6/P~zR' li_Sx+)p\azNh-ˌXj2"6Ԩש} rٍ*B7L В5D?㩃}m>qo1&9&"VsS2'v !Ɇ+nЃІh!Q 9vN >4$i**\TEW8BHGj 9d=ؔYr5͕k$&i%,(^ 1aWCu=a"?`RMыuɸuJ+bS0s$d#soL@ex:+,O-̇[]%>Rg7͵MHcO]VeK R<#-7ӗ=a.kEHb3qԫl5H%{I]_*ׁ9(^ !/5 LAYʽ&va9DbTB Z 8^ o:|q;Cq8nmBTQbS4*O1!Vǔs09qpK(#Rm{` @ZQAjIf;5Wڱ9|"c `dd4;"|"?  ؕ44dAH#(NBc׉2[  sBl5X&bsɴ(  7`קNf@ $1,3! ' %' p-}>Nj{P㬱ZKu?g @VЄD"sc+17@jS}$eB$(u%DF-Zc[ЊݥQiק@ʎ-j&bS#`S4[x0c2 Gmj[Ow1es_JNX-@4i]G"u|u+## A'~"bI|iZBA(]sLH8WW0@&\{>I1}H4Xܺr0nX$,L Afb.e[ER^$}.0OBHߌ/4~.e| M-SXAusӱ$(X K~ &8"񥞮2h\Cvdp`&qN<Ʋ$!ψB6hPy -6q2PwS͑Tݘ@P-r7bd 0ӷa)X+n^yƱEHɠ/ŹW $L 3½`#7Ai%p. ϛ;`_(!HsD:`ΏFpeصA6=!i"`$(J LL7w-r$g"h"ܶ:S0HEOUb /S :CI#@C zfL 3a(5De 8^ q EY[A*+1,+dX3C?OD3v3s,U.*qr;SpQ}9T\72t9 '0$-lgQa:"W+tmb`Ⳉ7uZs%CG&##lfZnaj3A@!-{y; a ?o&$vSC2-.3":$LjV]m`6#3'm3Rr+ L2n -ܟJd9u21{~8AЪ-!H ɗ8NA qS^C 6&*ƸۑԄBvO؇1  /gܻBd"1ՕRloB&:'125-f@+X|NIHUL /A 0EB6D%t,M3ؑB| T h8YƔDAԄP0yoo~AHPr8`Rpqj2ox4Pҡ1^v~hR$ q39X> Nq9QP @(⫉rIQe1:JDş3B26P4,|m gqbgM W% 6>9tY o \FE  wx QeuS7 :m''0He1=Y]w]">B|K&K"4 KSB}BoU oS)o0g}epSj`k>C&*ѓSV| m(UJrU m/U ra"q]s yJ夼},bn_S1ԍ b &-r=M5 du ~c21p `BCA; ADDIT v. 2.12 9/22/83 cl,pg :SS 20 80 20 20 4 :%C = " " :%D = "????????????????????" :on ?-3 /+2 217 /+2 s/=/ :on ?-3 / 231 / :MC $2-1 :on ?-82 / 28 / :on ?-67 / /+3 / :MC $2+1 :on -1 /-7 :on $3-1 231 231 / b1 sl/=/?/ :on ?-16 /-4 / / :MC $2-2 :on ?-67 / 231 / :on ?-82 / /+2 / :MC $2+2 :on -1 /-7 :%5=$2+2 :%H=%5 :%3=$3 :%E=%3 :mc $2-1 :on ?-57 / / /-2 :on ?-48 /-3 / / :%3=$2+1 :%I=%3 sl/./?/ :%K = 0 :on ?-13 /+4 /+4 / :%3=$2+3 :%J=%3 :%3=%3-%5 :%K=%3 f1 s/=/ :on ?-3 / 231 / :MC $2-1 :on ?-82 / 231 / :on ?-67 / /+3 / :MC $2+1 :on -1 /-7 :%3=$2+2 :%F=%3 :%3=$3 :%G=%3 sl/./?/ :%L = 0 :on ?-13 /+4 /+4 / :%3=$2+3-%F :%L=%3 :on +%L / 125 / :%4=%F t/F%E/b1 :%8 = %E :MC %4 :ON ?-13 / 125 / sl/./? :ON ?-13 / 125 / :%2=$2+3 :%a=0 :MC %4 :%9=$4 :on -1 182 :on $2-%2 / 97 97 :on %6-1 / 97 224 :oe 224 :%b = ! :FA %a%b f1 :%8 = %8+1 :on ?-13 / 97 / :ON +%G-%8 / / 87 :%9 = $4 :on -1 157 :on +%I-%2 125 125 / :%4 = %2 b+%G-%E :ON -1 75 :on +%K / 179 / t/f%E/b1 :%8 = %E :MC %F :%b=0 :%a=0 :%9=$4 :on -1 182 :on +%I-$2 146 146 / :on %6-1 141 / 224 :on ?-13 / 146 / sl/ / :on -1 132 :oe 224 :%b = ! :FA %a%b :%0=1 :ON +%I-$2 / / 132 :%4 = %H :%2 = %J :on %0 /+2 /+2 / :%9 = $4 :on -1 157 f1 :%0=0 :%8 = %8+1 :ON +%G-%8 / 179 / :on ?-13 129 /-5 129 :%A="%a " :SL %A %1 sl/ [JϚć1 X ,8}ΒkX!zyJBI 5X,#2)%-S$ zy!QĔ ̸H s҃o0HE8ooª,"[PPg2-3f >3qayS&i @s%ۛ42H$ay_/s)uPeCsW6]hc$*;'52`,ɝfw&ګx0Yӵ ͰuE:f:Q4qh#p9Q["()`?[U ц f*f @9Z **<p)|b8FHd3쮴 sk(P|B|Sh!g謁90/` 'm֙rH`/F_)wpٗ6|%:6S-7:&C;T7nQV*B4:±9<- ٧+u?O90!?` 7 w&; k$Qh^-d :UlZ"fs[!A`mИ ${b{PeECU_e%\z!&q3p27i vز?8/I1GMy)f}Ab'!k> KV.} C_k* Xõ#`mT1O1Ī٘I ĄSzy*B@ 0b&"֬a#. < ޥVD[F]c #iۿa*j@u0aAL DN˵9͹2ryp3B `D$>1Hw@%!b=3cm[7p+b1 @~/ ̝մo  FrF) O[ 7p2ʋ ?ou l&_ " 955#bhIVb5~60I,덄{ZVžg.Ylو X#n&岤oU4[ /9§¤g]i>3A tAA@7 #ml #Rm2> ,aZW*-ЎvSIJ'iJq_ % Nɦߏ܃<Y9quR eKXdg!'&aΥ#BA BU=@d쪜 @XR8fXn1B-  5y7.m/N, 3%Gp;洞n (byZ".@I_؇fv]wA,߰=q F'2Ud@ $ʏSrg&p \Q цcH@ ˵Y9!Cd0T,/Ź -9c 9A-eCB9GY6kӜo†QP?-‘IVFO h")#|SG @$H kXB8!%z)NtV 0 \"T0d '#M=h@Cja 혣0N'Tu'vaq0Q$;[UV̚*oCYG#s >(XRB /Xu;(޺%} ̢^pB$Ag< `?e>hvtVqjS{؊1T\$1C n*3.CB#wp6K/G=mcT؅ `@֗0y, /I(pH⳧H!vЌ@ pޟ| B`t.<kIfAV0B-âvB 8HH[Ĭܳ\'ƒiIc1=R}BM'4D\ GA'v3Ϡ~{P ̡Sb#鹭șG5 4N`uƱ?c95sGm1 %d?3S6xVjhpN'  XR62&vxXyR}` %h9s[d-?y kdFB ih{ uQ9>=Wxxu1XZn/Yc !G#*\ { 9<5.  ` _(τCw&$o (*Hqn<0D m1 0+1?p 1-zQ.<'ҡe7.nٴ@A`!sa(7脅AІث(s/42E0B63UxST3 0 aIC"DDfdQ^E]sU :gfr_,S!fs< iA6< u !c!U|GL)VJD'0 `MJ6 Ty 4L<9ߖI1 +r5o8WzYD#y[jT!k 2dV 2 9$t`WtF718Z@ q$,pPΓKP8_]Z3\^LOI1o0#,#7> %G{-3K4@Q4+a@ϨG- <遌.f@u;P;,*3([=Se,_I\R?ke` A $YVРE.L``"|Ns$$$20i+񆇜C>H gǶmW."P.C#`ԽU D3 H#8#6Ŀf-IQ#@#6yJ=1٩ӿ80aCE`Qf@I8Q%RY"`Ǫ/bI1Z1_вJ>M7$x$0PEBXaSbRr –fhHa3cg f QeoPzz .o$V`npJL▽ja 5FUM z- @IdJ+C^<@ ^3}9"DO}bC5Þ! 79YH(>wmN\qYzD -ҝi2$DIDDX;A6?f5@ov*v.h,8=,5$˓ 0 K!1m4$Qg@1H)3 6 цX5gu F-y'&d` vu  W*8uGvIYiObbk> Auk C̅ QRd*Ct pY5cTz=:m [B3cm#90!Z48Yz:wu(B?I Q%(qshv*ڻH _LeAGR!B)H]`̱:SS݄o0%Du' j ~a 3_* g :Ŷdt#p41&#&r9r؄b#tQ87ws=fڅ$)DT}0oXqL{F0och<@JpsX w"})䑲a[(}oԽQ0 ܃;`b=_}g$@]DM켁a1 *+Ln{gRQ-\ #ApɌmcf=DS=?`"\p` 8 r۲;k:e8Y6Z"OILJo В"*߄&A-z0q:w{@"aHs$C *p9\J8vUl57Pbr_NճzA!3iJR 0'+ 9 YJXf2&(0ogRV {PH?EsVy7èVy"fF^agO@4 dqG^#9hr3V|Rd.mQ !jF 2?B"8HyA~ڦF /.+4?SMqdBL### Alphabetic Sort v.2.01 4/8/83 SG *** *** ALHPA will sort a customer list or other file in ascending alphabetic or numeric order. It is assumed that you have a properly formatted file on disk. The results will be left in a named disk file. The file CUSLIST.DEM is formatted correctly to operate correctly with the options as currently set. ## A "10 " "Number of lines in each record " B "2 " "On which line do you wish to sort? " C "4 " "Field Description " "" " 0 = Literal 1 = 1st word " "" " 2 = 2nd word 3 = Last word " "" " 4 = Name (First/Last) " D " " " Minimum target " E "ZZZZZZZZZ" " Maximum target " H "15 " "How many characters for key field " I "1 " "Validation check (0=no, 1=yes) " # :ON -1 100 T/F%4/H0/H10000 :%5 = 0 :pr "#1/BEGIN SORT" :%9 = %4+1 :on -1 75 :%9 = %9-1 :%3 = 0 t :%A = ! f%9 :ON ?-3 / 30 / :%B = ! :ON %A%B 20 / / B%9/F1 :ON -1 12 B0/S/%B/%A/ B%9/S/%A/%B/ F1 :%3 = %3+1 :ON -1 12 :%5 = %5+1 :pr "#0/pass %5,%3 " :ON %3 9 7 9 t s/EΔ1@~|w @4'wA͓ r0$ W @m;%hi l3HCZ!S;`tR MT88u il 3L߲33`p"V'.}Ab'!kUrC9pS9 D'vfmM=x|풧D0 0"`/[x!jo2p*!0AG0 =B`@@ ,ELCHH9H 8F  佱@yo]Ѓ_ҜRoo #9֕gOҬo&H `5]6Xõ0 rcLY 2YmT<86rT t3V Q̹iFP-R1ON޸6"4&Q­Z=0JFIyN J35[|jːDo]Ѓ_ ٳ @BwaV7XTj֔@ ߨv3{q+?sk%}g60DqR&. LpE vGA1tV$՜i@0'$U&2fHo0~y/1h u !t'd RI77@ǨE|@/-d "N9(j`47,,C> ;a0&QiE*C[ i9 цQ&cl- 4M;?MSLCjE xM3G2۞CcgHL$w&opٚN c0:tz\TIH7tzha* 0VP-+B¤E*U.őOޒ1? 5xKN .L^LJ[`$OZ.THxer|rV3֐$JWX =RrgrסЋ"XS0 б 0{7B 7D @LC|vp 0q=tV$o/VR 0c֘±h! AjtN1si$W I5W`t,혣.% * @]ФC+WP 4~a+ Q8&5(IUWgdC!n3ry)bBOkv $0dP0l̢ oDP@ 8 &zyI:\=izQ!.81 [fҙS^氤^ %@ J|TL2:m .1D0@gsgV@&d;.c]e~R%S)jC6U@DX^$2I\AG<)xd@Wf55SQe1] r0Rc+cZ199o-S T"1 DoyƦ4ȄXyϠgT36bYzoohX&赪90vZख़w'b&9;!u So #90Eb 0 /r |[a 0v|R%jëi ɼBک59}6e~*C6HmR [`#]u*dmY7m+4ਹʰ\E8L5U 3.F[7 "B6DQ0j]T Y]}<ւ BBURd:G۝D2F"~#0-I  P&p+2cH4 T:3 3L"j\vO&&، L~=K@ f`% o: (XHbjQWj 0I 3N G H/# !kB Zr0?+y Ow((_J/S{GD87i&ެ ֕¿i< @0,> u½%mӇ(̠9LMAé]0Vo0" y.fr"$Q_½/Oҽ(h7L#`D1`K+3!a|I R3k *+( >Z[Bg:fAdo FF@A-Ɣ`Fb.ez)l>$_N J_"ڭư' 5k]w]py E3Yb:g맨VO _e`ݎZw,@av#xE$ 'iϤIP8Q%%k RHtFEbH 0Q {,v۫wy o0QՊ3TQ+zbI1 W4ġdHf9E@rHQN|y/&:B3s^ p SryMɬT~rV 4H`"jOҖdª&xWyŀ:#0$#oZfxHh= ` }$WV'7w(dޛo8&6cy0`~ZW*- RSCr*]e>"a_jo09Oyo#94M56PZmR5_l+NZ8в!6;r'Z*Kgq`p }vU_ O1!1|/c,~ %Eqr| sz)[UP'&Ӣ呂 F70)gC 0Qg (;LBW`; *** BATCH PRINTING *** :%D = "done" :pr "#1/#13/#13/ *** ***#13/#13/" :pr "BATCH allows you to print consecutive files without#13/" :pr "attending to the printer. You will be asked to list#13/" :pr "the files you wish to print. When you have listed #13/" :pr "the last file enter a RETURN. Each file will be read#13/" :pr "from disk and printed.#13/#13/ :pr "#13/#13/Do you want filename title on listing? (Y/N) " :rk %4 :on %4-96 /+1 :%4 = %4-32 :%4 = %4-89 e s//^oAX\+Gb(2e8P9&@ GAr5YobbC6TB"b=d0Y8 qf@ o8XjE @cF !&%-̥D af1h?F Z 9xR/ k'bܰ N %"[P3"|]> fC-Sa(02J@riIgB h wYB#"! qtN#g1Ѳ= #_*d ц~UqH~JxH$*S<E\D 7?)S_\gGWĕ;TͶId[*Ev#o؏"1=9 fێtG0a.+9&Y;4?&&IQ` @!J.r $&WpN`@%2S hN'qi#f Lh ҙuZc@xCB.9 H֓BWx3-9#\5BgܫsmtDŗ4|*ȩVf~&loMSq%Dapܯ@.Z[ManrfVr-)v64qHSa Ftς`"c D0 l*R6jv?#ة&+On O$&t6H)"ۃiص13bn&҇rE5Pa~ vP0UѴS@.J'Ty}Ɍm;.kT1D^Іz1Ŧ\ta Ptw %7G+Iy?VYm 'ho ߃L .N5`G'z4]`T82IpX=ygzTcdg y~ho,V6 p O)l 2ﱳ# Q LzI_Q`1a.EP+`D)ʷu%}gb\%b`d|:l; %Wx%!CO;ofr_k5#&^GI:Oc{:Wм p8LBCJ цdNvOy[RqHb!Jg9 @vAE.0,D3!$!FY' 32?-weU؄H~dH38d n,-6hV$@4 E66|6ܰi Y)'~>s~Io'>(pmCL7. 0aV'URJ"B:^z7B[jOҖ Q9עiA53 (O?L =LЇe mW6E:2#qR̿lq_֥rY$ u j m@M40YaXjt̃j2N|;d !P' S  ^ *֙A,$ bFP+3/Ct-6> F* 䧿0%`80FJ'cW8@/ԁn6Sc+T"6i?4١$3D'KyA0 R )}"ul=u D,8y(ms?=} z$'K+ ؕ#vM].3TלjgKũ^,,O0o4w3p+,жkl.ƕgiIz.D!sͪXXpdU5a10㞙6xm8raqtco.*'%hu+~Tů mh#a"ؙPd.`bD i/x43 |xr# o&x5&*-Bmr?,V5zPZ :h?5`s4(R>yƾ 6I8#4]N]`&sf@ApHQMi'ᆗ1iuR X D'ACT{ Xk"3VY,Cq302;oM0 {^b 3Ra:r:644Dbf :R)!VBE5 q{JjRĄ !i `T}i#ng a /S2Wս7W_J6XBvӈ.st B| ,KB@vR7ϥĭrPK,TT͵'(;H2MfSӢF` <  XBN #,Uyo+ІqRc ^:Nq,&wʆ-M FP4)݈p5X\+FcPW3mz4-#D Gwi `#z\ po=/'Y fÛ~h-YOyoVp}Ab'!k~NTHN "񇬀vdrWX,V]ԉJpU?LSi/" $1iuP/RB@3! '0e0sUUWW,sJN'-3bX+O0-p 8G08Oj0ƿ\Lb^7D5C5|XiFr)끳S? Afr:<(tW?CǏ^ZKDkѣ{3hk3cif I LM䙥V ҮWI@ A ӝ|Z?wO1'ooV [8mis.MjlB3Վ?SٕݗXBJqj!RdLo Nd?J- E9ox=ism4 цL,/ŹonbFIu0ab  ~2"k\ B'~r2EfM1(Q'#AX5>$$81ω$J#H"pڛ .T߱{r36RC H 9=I+r?TޛH`6TTOBky}^ O~QA3"Cq;SB91CRzӢWwʲ J7 m1Q]a4(>+- TJ!H6W.!@e /R 0$(9ˡ7vTSsjX<'GE :~:ׇI8v/ aVk `xpS%E|@'`YXΒ0FR7 LPAx:&+q dcӑYr.a y :@e- fہPi=?p3C+'T148vU`o8VE0c%|H2l9&w"` HQِf@*\ v^By-9g*I 6Ba zoQ` hQ5l[X3B v .doDpm5L:CSN\%|;\6$M "M ٦ޗj:ZbbM8N+6Dz]D”-2 Aƶbxp2ĎC+-K;C1oPs-5)b! 0o-&$޴ 0Duv_1K+78h))@'Aj)E)#"Xr uuGC̹ %;..ha "0_3R/Ts{jPKP SN/Th?Bn㿑P.dfq42aϮS̙f5%RfL#8(3br; (H"pə8fmvOA"}_*nT5IJ2ጙ X*Sd71b(4@06Nh Ъ s԰XBL=Є<- %LP ¥%aɻ dx &)f%)[Pm0b#adcPM|u|e| ` J+qV$wp?CZ 9-]"I. Hw"TXpNS#w˵'-|v, JoSyA?-OB]:srܸ6#667J; FR^ !dFdv*Z1v!S3csTs.5"PMS7i `qq"`  f@@qd 3H( pTtv65{ K37#;*2S.A5͓ɾ)A}8Pax'5e· b2?j/TәI6S%p ASwѢ, jj]*t&ZHs6> a(h"7x(H1(R=cY(3$ҽ8>M49CM0D8~3C(b#6v5D)+4ԼՔ&{'6}HN_6o1<$3+:.l'}1WjZ#+KXmb7g3k+}(s*NEp7juAWA " '`SPiwvǀ7o<ә  $bP{w OI.(;[y2Y70q$'1=fD#]#4צ5 )v6o7PP xb$Tg".$ )*|$1aD5"[B3bՓS/5PRON_¿ $'qqwISd<ЄR3`BfG# "i(9bIkVut%L]f?XQTT_(OArL9`2@"lzpIjp б9KOkR߭c#2ц i9$t2Pݦ6!0R|5 0U之q5!av+D3h! \ "q"bJV[ It is always nice to see my constituents in Washington, and I took specialpleasure meeting you and your family and discussing problems of state. #2 While I deeply sympathize with cancer victims, I don't feel I can give myunqualified support to processed apricot pits until there is more evidence ofeffectiveness. #3 Being for a stronger America, I have consistently been in favor ofproviding our military establishment with the funds required to do the job. #4 Sincerely, Your Senator ussing problems of state. #2 While I deeply sympathize with cancer victims, I don't feel I can give myunqualified support to processed apricot pits until there is more evidence ofeffectiveness. #3 Being for a stronger America, I have consistently been in favor ofproviding our military establishment with the funds required to do the job. #4 U"$X\v<:>n,_2MD'=pLЇŕy 7,ax.bd+ ms!*DSi:{͍)8;5)ZBQO ? h8|kM@tM<~Z$]GlCsƥB0J(y /*0j33"r󱣍1j(M JLtDa> 0`iƵ |h,g`YY%PhL?21O1@a$"I/Hs|_2MZ:3W"~^XRi]y,sZ c ߓ6Apf@ټ|;\ sW$*w"#1H?DzӅ{`!h"d@!`{p0XݣCC;D4J8vUN]>kۿb "ӈJ=龤vьpxd&_ @Z,RC6Dt0e±oWww e˄d/P2? 0a[} Z2H$#wsL C%CbV{VSAaqJpyؘe1.-6 l)04QCrGZ3,䕿'DHX\+G< a0y4dD1j ",Y~ L .];X| gttYљʰZ g.Ls`a}^J#@D/U)QĄ;PN`P4 `ҞfPq t"2g yΥvKCP /D_! $P鿤*t C*|$Ub n yGjY#[7z4AtveNe$^"/j|Px82tdIlAahݒt>C̢3^gC4q'4D%AIt4h!܊;"rr!-6+XJnqmCT (Q#Cѧ-=| wU K0#7 $@/SfjLIIfRB#fL0QԠҫOY0 ckoSQ~GfrXAMo;PHx6l$("IN?A0AEW7%%Z3į9 $@-5ÞḦ~-U^pHfsӢb` ꮇ3qO%_Dk"I`3pOK @Y8N ~oo"[ UYKG1+ 0 pia'F[{gBCK1V=0N+4P؃e* ?ce* t 5a<NXBey}H :uR k؊6 /HS`э^7F)9#bmaGl"Qija'vfkd1VM||] b3(Pb|lﯠn~<x[/T/ me1Qq:7kp3 m:]5>< M<@ )Zf pP3ZrH\NUdAVIP^cwbYZN*h+E3x2C_3sŇd@6rUj M"OV #^M$d ;lDCFlQIR~ BƯt:@u _3OZ;)6)V,7u@6HK` #6je%\HZDDu##0QK5Jx 6*y9?^.ⲞHS #-؄3~ÈVp)#&TQWc]e܉ %"_l!&cWP.T3a'+ۆ?LP1"U̙\D%E>I hshӲ> &p逃rh]f1a:kdU;G D2VqT++(dFa |v!gU >h6:Q Ly@:$DB@XLHR6Xp?@_AmB[COO@VH N`@ e>d$xQD]D񮞩=O1cs&WďIQrt3F667Xv^LOڛ7:Yt#J|a"hb V8<)c ;^ #!Ї|U%23*nD3HIVbr?dD`T3YOvd'h. 3,6amv#6n^Nf$9Ƈ=8sɔ-TN{t VMsЈa8aRI+l@&YsE[8ga {r^57AY^~ҰcAe*oA^8A3iIөï;^b%ƺB6vPs]G#^NcCzɶK(V#&436[ DuK9ɊY}HNWکDBɷo[ c ~ii'۷q꒿(=R'e9qӜ / Oɓ`( 0䧍C1)!2E{A&jNxu [^#Z bmi7`CMzE@&B rt'!"5"Pe.B/$9jSR'+dJPXSЗ.#o7 -Ԩ-%ASΚ`y||sp^K!g! |ó:$M .ۂ$q b>Q)==zy;dHLߡJ;OVLЇ`@ DZ/t=&0kMMKYdK  W oIAQ \'a1V:oB6Jzt[g2NW-S/g/pq'~N`  9EbX6RN^c m]r1]/XR}E DOfv k&FGJj(`&@!-“II-0E R#ȎrPWyoAajq 4436[ JH q'iׂP0\[Ħ=UY|N۲EBigAje 0}&Qӛ!--i wU ٴ LIy{.EA ~N44,6P/^dS8|ah%4 ,{4Ȅ_dx# D3evp>s(w\1imy qCF.6fu%WKJ" E# yYi ,˄)1$Sf3-ɦyR%p4#9U+VK < Wm&z`9@y D=tgjj>/ԇS3/0ŖZ.dXä4C]C UqtXSk VhP 13c]#rߕ=p{y$kI3RDH_S9cyC ud(Wᤂ#tm(l ˡֽPVD~BhhT͸ +qRrA8`va^ ٰJf/ m7q~nd "ŽTu&, g2 Њj`} b h /S7Wo[ [@}׹S = 2}&ɳ s- mC=õ5&lnJyqiտ D=-R 1LbLf@  OV{ZͲ'-chmӃ1bIH6qʇ_Oe+Nׂ*AЭQus =gUWɾ/AWz* ~SWNU8+\`r5W=+l V$@JTv~6 Q'?[Y -r-&VCp 3n/Q"i$8r OrL@Gn4+T|T<s5m`D>NcӤDo2xv[ĥ/bITP`:4IU#% #V y$3U 4HXoP" D'֐HޘJiEVO:5aխ8H+E3W*Ә${ q@U< fL7 R"KUp &*3"CtM3) 1ҡ0t A4"#69n5&Tֲ.5{MiRr|I*R)Ӹ$o3'LC֟XkAWi=c/ TͽL* /*s@nTR]Sjɰ;}3 "LD3c6,ITDWlV倍qq b=D3jLN%sCM V'}Nj? (Q&] "F|N_EdעY?/>J>}/3WW '=C-OsHI;WyDճ`A&@+_=$ ' Zb7\|wI1 }951d zo.9A ц `|b;#)p8s= E-^usCݏo0ʱdM0o4DYj!D3ٹ5xc2qG1oPVNcDs66oCjƔF!3ke1,q713cPd3۞J=OH1,3D1s6rf#,sC .^ (;zD\(;Ρ]t1<$6AZ(gYGC|,~;5+(3zGA^X$K틄y,OqlWKhWlC=i5$l btdLJ$!YP`B._ zfwAy&+1&(2䙩}1@dL(&:=e7[w34fSIWFOr鯺dKT@4R"A_L6vh렯YzdMG2vajr`d>HbntQ.&1/S$ԁ!`dn@E;,@rKyQM&C;%6_,Bq#;fk2oz7 XVZXASq:bs6sw[jO@h{%1~+q-'`ƺ!-+he1qnG43wEe~d5SpYĐ0=|GSF,pOp "MeG>.0 cs$p b>9Ycʍ0qQ{ņ_  ;xRZQ2y$uG|o߁#3q[ (;/`YSp\Yh_54Ya,bJptve5_n )b=w`\s}聓7i/}r2JS4,,n%$ R{t'?QXpyj]c%mR.?%Q5qXK}*MCS=2 U].A=>C]f1H4]d}3~; R%5>~/CcԨ _vXA_$o·m6Q.K2C,1ܴ#a~82tᗕөI/"j8(G}]V{e1/`'br#؉ВAFNd8ݩ2`P4bv9#g 1Է$;[ p?m /Poxa"?&FW|除(\/⧚3jEүNʸK'B(i jA6lЂ ,5A' +t x-/#b\&`tdi |6V=iJC!aL=s'B^>0qGs-郳c%ͮx2 J-%B.3e8D.J%3;D4,NHз(t҇$*3F=? Zo&6ᤂD[5F@QP 9:³JTi4ew@H0cQ$O]\H ib@& bgy ף;nثROLT+~DVD …/>[U+qd•<N/ki?%Gj? ݘ\b(>1Ty2}#B6 6vDXHki*KC}K$e0u_Yʒ[P1/W1 >mCa`#] 4s֐uR 3ki 5GʲW+ZW*-z@ѷLE=@+?_륄9Mr9#(3DN3OC4X"qR s !C^"YGpAd#. t7 Ÿ8.LGL tL1n b1X[5B7T Y Mh3aM6.fZed1x`zu (߼Kďb U dT _MJ+la,N/ohJu%%`vUyX1sJ4 `=:t™aV'ωwM]G?!Z~D?=6wFhf^%F o vn ɳP z4|3_A$M2~8,gJtV^/_HSAmSBm҈Tٕ BچD4庴 %&-b^V` V4Cm~~Aĥ #6:!c=_RCEH-3^Y#OvE,1*N(=%S&ɞ3q½2OW~޽`:>s=59%PI1>2/>ms>Yi Aj.O,ſAT1)npHSoU!sjd(uAa≓;tAݱ`x¤&)%4CJe_4ؘ>tWc;_OsRgXJ(/R.l1"3%>m՜tt=R]9ƵMAtYC(n%AO4]EKOz]D30bB [;[ PhTwxpߙ.=e8d@NܔxvxTa2Ћ?I H%<CxѲXr*Sf Tͱ`n~n "a&3?#u08usCʽ< IH"iNA -yu\R|EYD0-ρp"3,GP&{̈McBv*l+,0Q4O2MR&`>Cc4F0 1w.+l#Y%Fߕe'R;3tAv$Ov!;~@X6#a 4^,@ YŮ'X[ ZGVk»` sdv˵^1t6mAly_${(Gdb3MiaB-ci4v^^CU=|J~Mlb9:-dBOy,Ng`uDCLL!B0.V[RkꮇLEG]q@ss*j ߠ9s7:KAtXKdXQ=WFqQG_P_'Q_+ʀ~8a`Q$R oU=.&nN(LdK6;?j~; 1#$+Ӈ#".y3OQX;´yBGx\BIӢS<}P7ՎCb˴a O+B<60RBE'?Poi,ޘ lPb,ଢ଼&5R6lyO76/RlЙ]<ÉWl[B_}0OJ~ҩ2`  L#A~W49UwaBn!^i_ڻt=x 1#8 O12:<(c ŖuR o3A+>ԁ,MSSUR|l0QYP NٗZHF$Y51Mzq`Nh~0.,X%ƶ'#L.ga\,bM&QR(IPd-S !cfySa0/1AI7+Ӈ$S$Ti)6Ms72#J"=sb/JT3sźd-ʌBB~ꮇkS3NE42vRV#-Xhvo2$ֶw|3e1,3~_5Ӟ ij`v42),!lUu P?^t+q&j(X1s1,_~utN$ڟP #:uN2aa@$ 9+=|d<$6=F1r↫1g(M<z]33>dE^ٿ52f"?t=4Y>Keg]o[P3&;z4` l?YUІms >mP69rEYR`fC=%1Q(/V'^`r;&5&IWDiƼG.JY!vDAmv՜Ν?J^{tbSA`cڂ8?Tc;aVEKԂ#+4V{ COaN La#K1?S%I)RbDY.owP]1B_(}YC.fRȱ4Lyh14R>-1Iў+0q? r:7H1q`Uu)`)v.[RΞW49+پavH5tYN.FLo(X3;WAd"05$) GS.^1pTY /߷4t> WO4<3B(b\kua{3sbl/gQ.MV+Ab=5B|U-^~cOzAV3E>,m8rK#)1$Ss1m&+r'B2M^ɏXT^q;?H1[<~XLpo^OLd!qCJ"2'1F/Վ'#[ħRbA+td@QB;ʊuR +B26o1u 'ޱ3|dkL`nҀӆot.MQE T JQf@@Ӝ4!g7zͪZp' 5k1I1 P 9W=5P\Qo0 \UGxJ0 g0?,P3 6_}#b1q݄fCZ n0ZP`nm><7-S U/"&K=u6I [G&[9s $HP3D$ 0 Z2 ==*zHG]ygI}qt檆Rf2<4ůerY\wE-4 )89ФPd@!ޱS9%J_7u"uH* %w0oߘL*7В7TOv9Hd ?`#s/ kq+<žm)6)P-tC*|LRAC,PMnPSTzdӍ ĦЈip6>RV'D>s^  A~g$ cЃUt"$UD+p p`+{͍VE2' 1I1l-23Yb:mpH6 L2VCx ` Q>Zi ЀWr7 Rby99>zHFƱi Rp#bbWEΐ%i_k v=S`xpS%@(,RdO>Pop ?*-dpHIZ/FQe10;p}#(3x  !i +XR3hTwt=ay>0݄z9R0RY|Bda @FN@xo XGRY \`!kA[z1Ѱ5yĒa xi{bi&O8I_L"I+!3`.V0 $1ԅ~N`RDSdF +s ,7L͠uAvEXG`ѧQA`. Ia&P m:H1+88Bov %!! p4SBq"E 4L!ts7vQ jOja`xpS%@E_6S= ]1l"fQ+a*ư 9`T38S_T p-kZ+ R~0Nύ!3d<#. %< Hp@ qiy'ç<) qCbIW=3# :M5\1(RrNdR63X,AX\+@cvaNU"nH@GL`0 $AV -OXG4q"ambdDYd (l+NviBR_/s <'05~,8E( pHf& 1 OlA1 A`2;3`W$?m֗ qR /r7A[nQs{_ >/  7uN5>)džb3A 'KJ*jJ#9G@NLS O`f,D9\*RXp* QKn ž I^ n3Ao1Vb v i U~# /;a3ƁS e=| 夼} Bܙ'ƶ+ BLfː\ߏ+5蛠v 9f(X N+;oBBX Cڵ C"R>yƱ@0Pk3n3.Brd3cXD_U4rA6P=.&d@OJDӶ  5۳UY%K#q=QT o"b(ѧU#1qn``jamPA(2_}[ٙGqr~}N[ n!ԍ42BcR\JNŀ-*R%a؂g}&@}&-0D];I-pceSb ! !pi%x 43qd=}5p|R%ўusC u|Pqn``5TXhHdGM6[0S 9ǀ*T{yhb^vC=W-^b~3}c &$䀵|%:*==1}ԍ-09J?y@tay.~d al5i q=tNП2#fQ"A,K6^V'e:?_8UxSif@ 6%24-{q+8pa~AL'94S"uH˄E/1lI%v=\"aP#Ol LwCP/;'4"yT36[6>  S8a Є.CO ,g=8H"[Pu Z 50`ep #b!z^MQ+K"VZӢxgVM #?QCx1kpؾG%s $|?ri#oDS7ύJz%h 6.K*QDY[U &iI3$Y7 'Ӏ,4A.Fm UD.jC HS'm֔U~ N!8dB?1T?|7tex1y~{N s'm2i*=*"~Qp !<@>|' bI#Zh힀¿:n b,RV-e0h߄hۀ@ Я!?g=xZDYqBOM7aDƶ$Yg# %)`!ԜweEZω kjC  ihff[bV:t=]$ F/kby΂raK~ NhS$r@131('P4-/ D6 $W &D{_Cֲh)P4b R4^`S8a'dx26|bS3R4Ypn- $!$@`&0dAjbcd9kTgUkAi M TE"5ASED<1S?7 h{ /ԇBA/4;i= CW!Y6|9E`J$6IDaQ5z7!JI<6 b0*BDxqY{C@JDSԴ~RQ?e#yQrcBٌ'bn^yƱ al-$(@8!x8 0 bI1:z~`<߮ 2C2 ss1"? 6R%}+ (QKnYm> `o4#Skі3`H$R"J69ŀ Qe1w[3`&XFSXHCP +mc( i}S.NrM>N .3p"楽:s6ju+%o:TbXh3=45Tp%j+?Aj0AG^ӣ"@T}9 #݄bQ7#5a)3d2XyrSsJH%nXs1>mB`lXrwBciU-`-"].]ѩc(s7:UwRvѢ.21gDaVHB=<$F렁-4d2<~#q|3lrqˈl.(i"ݘҤ 4d>N#ÈMsg3 'QEщUe_MqA`X}ҡ+bXIWM1E5+Р]OP1 ;!Sy_Gox` !}iGot*4B?kbWt 3l[3!YcyĄ;_S݄ZT#gZWSy " F'(ehO{A7> L4"3ɴir&ԕ)5}SgS~^ /r? HPyOQC^nOdNuI^] IQRSB ;B5 4N#o1RR_bdK(8kKASf@zr%"re>##2G`NA@71mjaOsluTH6"Vd$(o T0 Q?pD"?yA=0"2B|bu$ڻT"Xͮx79#fr:4:as26vӘ 2ЗaQJp׍8%Ꮐg&rmNu@]%SQ@3r?pLc m1Vc +4\F?| woԍ mu"9resL+- 5Jr0 <b ! 7p14~ZK:nÜX@ pc w9 ; L#1 calculator v. 51 4/12/83 ; initialize :FL 14 2 :SS 20 20 20 20 20 20 20 20 20 20 5 :%F = ".00" :%G = ".00" :%E = " " :%M = "0" :%N = "" :%O = "0" :%K = "1" :%P = "-1" :%1 = $2 :%2 = $2 :%3 = $3-1 :on -1 30 :PR "#0/#13/#6/ :PR " dd ub ul iv ev ero ut et , sums to memory" :on -1 30 :in "#0/*numeric error*#6/" :SF %F 20 :SF %G 20 :PR "#0/%N [%E] %F %G#6/" :oe 25 :%A = "%b" :%B = %E :sl %A %7 :sf %B 20-%7 :%A = "%B%A" :PR "#0/%N [%A]" :CM :%d = %b :on +%P+2 /+6 / /+6 :%9 = %3+1-$3 :on %9 / /+4 /+3 :%9 = -%9 b%9 :on -1 /+1 f%9 :MC %2 :%9 = %2 :%8 = %1 :on +%P-1 75 / 75 :ON +%M-1 /+1 / /+1 :%6 = -11 :ON +%M-2 /+1 / /+1 :%6 = -9 :%O = "0" :%2 = $2 :on %6 126 :on +%P / 126 126 :on ?-3 / 100 :on ?-16 / /+3 /+3 f1 :%3 = %3+1 :on -1 /-4 :on ?-58 / /+1 /+1 :on ?-48 / 100 100 sl// :on -1 89 :on $2 / /+6 / :mc $2-1 :on ?-32 / /+2 / :on -1 /-4 :mc $2+1 :%8 = $2 SL/ / :mc $2-1 :%9 = ? :sp %Q %9 :%9 = $2 :mc %8 :%D = !< :sf %D %9-%8+1 :on +%K / /+7 / :%7 = $3-1 :mc %8 :CM :%A = "%D" :SE %A :PR "%A" :%P = "0" :MC %8 :cm :on %6 / /+2 /+2 :%6 = -%6 :on -1 /+1 :rk %6 :%7 = %3 :on %6-8 / 205 :on %6-9 / 195 :on %6-12 / 165 :on %6-11 / 182 :on %6-24 / 162 :on %6-25 / 179 :on %6-19 / 219 :on %6-5 / 148 :%2 = %9 :%1 = %8 :on -1 237 :ON +%K / /+3 / :PR "%D" :%K = "0" :on -1 227 :%K = "1" :on -1 227 b19 :%7 = %7-19 :on %7 233 233 / b1 :%7 = %7-1 :MC %8 :on ?-16 /-6 :on ?-58 / /+1 /+1 :on ?-48 / 227 227 sl// :on ?-16 /-10 :on $2-%9 227 227 /-11 f19 :%7 = %7+19 :on ?-3 / 233 f1 :%7 = %7+1 :mc %8 :on ?-16 /-6 :on ?-58 / /+1 /+1 :on ?-48 / 227 227 sl// :on ?-16 /-10 :on $2-%9 227 227 /-11 :mc %9+1 :on ?-48 /+1 / / :on ?-58 227 / / :on ?-16 /+2 sl// :on ?-16 / / 227 f1 :%7 = %7+1 :on ?-3 /-8 233 /-8 :on $2 / 213 / :MC $2-1 :on ?-58 / /-3 /-3 :on ?-48 /-4 227 227 :on %7 / 233 / :%7 = %7-1 b1 sl/h"_m0<5HZ!s` > 1WP>Mpsk $WʐbS+Act1C,!.f#s`GHB3[svQS"I.ӟh@* y\0.S,dbhlJ`D RÊ5g!I/9eH#`OaY3QE+$S` D1js15[T0A۱] "rh]awc0{J┆$NUX=4$rtS#:#$uc-30-K-]\%q@Cqpt:C#Vq]s\hj%∝|#0J$3Nm}Sg:Zja0A A1٠E9m?9|:S#+1,,]xDbbM/V1L-р,\`g:mR3 SRL4ʔ66%1P_1/^ (9UX@rL_Xpt:QO> =4JѢ -4(4 @FV+`r˿p3!?Ӟ}y51Q aS1Y)ƘIF;#qvX?j N RY! \({>j a*.Y 1 90 110 0 0 1 0 65 2 1 1 0 35 5 @1 @2 @3 @4, @5 @6 Dear @7: The other day I was thinking of my friends in @4, and right away I thoughtof you, @7. It has always been my contention that with the hassles of everydaylife, people in @5 need more insurance than folks in other parts of thecountry, and that is doubly true for the folks in @4. {4 n SantaClara}Consequently, I am going to call you in the next few days to tell youabout}{4 = Santa Clara}I will be in town next week, so I will drop in to giveyou some literature on} the astonishing new program my company has. Sincerely,  right away I thoughtof you, @7. It has always been my contention that with the hassles of everydaylife, people in @5 need more insurance than folks in other parts of thecountry, and that is doubly true for the folks in @4. {4 n SantaClara}Consequently, I am going to call you in the next few days to tell youabout}{4 = Santa Clara}I will be in town next week, so I will drop iQN,B#XA8'45u|Hq:7Hog.P )5yƸ1s9&*<<Ii H-^0f+t.=6?dƷ=9yr )'AG6 aWĕfDe ==TÇbYt` $<+E3ZvY6|t$## Z-KI 1Mi@YHB)N 0sU> a ,G4.mZS @5 4N0BypZ HNs,3D 8# bJj"X +֥d聚A׆G#pѲ=Uv.Bl_CmvġQ  ̤'`b<_)Pʅ2&@k6l/iרu.d1&\w(6-%@(J p+a"WB! X&>2;!)-& el|"?7'tV%& &# %.vYLuCW=03 LĿ3cm2EKu?%&y נ:9H7 A[V1Ib &~WR EA׮p^uH"`=`ålXBXbL$(&> 䑸"n9ة; 3?:5as!L-90S;SnFI6)_R 0` bB7XV 4v  },l"f D] 9heZo{KAW=:m ycFD5TM[Іl`f@9$Mi qٍr. #!f&r69p5@ Vp9rc 8 h2dbY %VQ& hlT ]EÞ0 +rH-ݷ، cy "i2-AQ+shvc/ |\ <15H0 C\~Gfu!hHNx.E-̥kg3 !B| jh޺k/LW}kБ+%KLQwzgtf Q'3wC&Nʸ k!&`D*mO *+,k%-2s, k׷1\t0RyV3ۣRuW @ hL 6<V p{nH%l]z3⨌ (rЃLYN#G20>D%-+PAK?I!C@jkcqsgT0 /1khԀV1 '^ bKh{1)e-8׻O: 5\%-oЅjT,2)'"!M9uJ$tXeEӞlO ߃RV u N 6T%`GRdwqx`\vov ANZK6RծydA @2֕/ npr ̢ O[P]>#8ɨ w 3vH .6tS2, =Fp[= #9֕ 5#w).^ /oS7 J[9r5 .p((q %Ű+kAKÜ࠳߲$ MŜ HHb2:}gҫ&z!B1yCA* * , 1Y<@" ~@4qJ`WW{>m$4~2 }+n~ B R%Vc5C#P =<^ YLj v)P)i9 ж%a߬³Y=. 5T AR%bI$^B?4]p  (vȄ -W04 &Mѝ?63Eb Q01AR%غPg-ZOz8zWF k%S],o?/z  ;3e"2+0X8(M'41o D+0 Y3Afp/v ׀[Z!%7MṆ < {1To2)L R,iI܀*9ω! Űqj3'qpτ|48윐25`"`9`T{Jn^ vdp*Ѓ; qPI j< ٳJr{Q %-Ua AM.ӱlcW,b:]Ѓ_N'mV#9H P1qjP6}`IF  l;Ϩ\@; ‘ 'E 9_@ _+NWpo08*Єi봃; @;0KZ'MY ~("`=IP"I\I R_y_zw r($ +3xg C3x/W壀 0'r)4]PD  k1AE3&6xiN禙sqo2|̽)+/`gw8ȝpx ) idEr^4;Sf@&tQL'@1kWX(K)JF;_Q*- ɳ BQ`"`9`T{Jn^ vdp*Ѓ; qPI j< ٳJr{Q %-Ua AM.ӱlcW,b:]Ѓ_N'mV#9H P1qjP6}`IF  l;Ϩ\@; ‘ 'E 9_@ _+NWpo08*Єi봃; @;0KZ'MY ~("`=IP"I\I R_y_zw r($ +3xg C3x/W壀 0'r)4]PD  k1AE3&6xiN禙sqo2|̽)+/`gw8ȝ; PCPI-WS4.ASM A Patch file for installing 'Generic' CP/M ; Wordstar 4.0 on the PCPI Applicard ; ; Jim Lill 10 Sep 87 ; ; The Televideo 925/950 has Normal, Dim, Bright, Inverse etc. while ; the Apple only has Normal and Inverse. This causes problems on ; many Apple programs like Turbo Pascal and is compounded where ; Normal and Inverse have been reversed. This fixes WS 4.0 w/o ; having to Poke around. ; ;Usage: - Install WS for a Televideo 925/950 ; - Assemble this file with ASM.COM or equiv. ; - overlay WS.COM using MLOAD.COM ; e.g.: MLOAD WS.COM=WS.COM,PCPI-WS4 ; ORG 039AH ; \_ Erase Screen in WS 4.0 DB '(' ; / also resets INVERSE ORG 03E2H ; \_ normally 'Bright' DB ')' ; / now 'Inverse' ORG 03E5H ; \_ normally 'Dim' DB '(' ; / now 'Normal' ENDis fixes WS 4.0 w/o ; having to Poke around. ; ;Usage: - Install WS for a Televideo 925/950 ; - Assemble this file with AS#W^8Trͧ͵b.b!q2T]bb4b !~̓!J͎̓}G!wrz^~! yª>>=>> > ̓2N}~͎͎̓̓ y > e>*~ ~! ̓2k$~!͎̓G!$rz8~!V̓2$~*~-~!x̓2ڈ>ʅ>23!͎̓ڗ23!͎̓ڦ23!̓l.**I"3:3G:3:323:323>!q2I)Db.bP!q2T]bbV b!6 >(6#=9b{ozg!Y!̓lbn~#eÃ!> e>#eͻڑʴ_)DM)) Þ|}l 77'0ڻ ?ڻ0e7?elo& l77' " e>^e}@e>Ee>Se>Ce> el [_YNN:G>exe:x7Y7?_b^#V#zrȷGog~͝~q2!3)393Z3{333333og+}>͵x͵}͵|͵͵+|*!3>}|OG =###":O! ^#V"!3 ^#V"!">2>27:ʣʬ**zŒ}ʚ*~#"7>2<2:7<2:7ͿG:…x>27xң2>27x2>27x:2:ʣ:O! ^#V#"^#V*!3 s#r!"*N >27*}O|27ɡ3334N4444444444e5f5h5i5n5SB DAT SPELLBINDER VERSION 5.30 CONFIGURATION PROGRAM This program will create or modify the Spellbinder SB.DAT file. You may press "RETURN" to skip any question, or "CONTROL-C" to exit this program. TERMINALS COMPUTERS --------- --------- 0 User-defined terminal 13 Apple II (ALS CP/M) 1 Hazeltine 1500 14 Apple II (Microsoft or PCPI) 2 Volker-Craig VC4404 15 Apple III (Microsoft CP/M) 3 Intertube II 16 Data Technology Gnat 4 Heath/Zenith H19/H89/H90 17 DEC Rainbow 100 5 Soroc IQ 120 18 NEC PC-8001A 6 Televideo 920 19 North Star Advantage 7 Televideo 925/950 20 Superbrain II 8 Zentec Zephyr 21 TRS Model II (Lifeboat CP/M) 9 Visual 200 22 TRS Model II (Pickles&Trout) 10 Adds Viewpoint 23 Xerox 820 11 Lear Siegler ADM-3A 24 Zenith Z100 12 DEC VT-100 Enter the number for your terminal or computer: USER-DEFINED TERMINAL CONFIGURATION TERMINAL PARAMETER DEFAULT ------------------ ------- Screen height (rows) (24)  Screen width (columns) (80)  Cursor position row first? (1=YES) Cursor position column offset (32)  Cursor position row offset (32)  ANSI/VT100 positioning? (0=NO)  Cursor position lead-in (27 61) Row/column separator (NONE)  Row/column terminator (NONE)  Clear screen and home cursor (SIMUL) Clear to end of line (eol) (SIMUL) Is this information correct?  Do you want to use function keys?  1 Diablo 1610, NEC 3515/5515/7715 2 Qume Sprint 5/9/11, Diablo 630, C. Itoh F-10, Juki 6100 3 NEC 3510/5510/7710 4 Santec S700 5 Diablo 630 in program mode 6 C. Itoh F-10 in program mode 7 NEC 3550 8 Epson MX-80 9 Okidata 92 10 IDS Prism 11 Leading Edge Prowriter Enter the number for your printer: Do you want the user guides?  Do you want row/column numbering?  Number of disk drives (or last drive)? Approximate clock rate (40=4 MHz)? Other options may be set in Spellbinder and saved with the "XS" command. Press "RETURN" key to complete configuration or "ESCAPE" key to restart. ERROR - DIRECTORY FULL - PRESS "RETURN" TO EXIT ERROR - DISK FULL - PRESS "RETURN" TO EXITP| "_b`!m!""r"K##PN~~~~ ~~~~ PM =  TY() 0 !"#$%&PQRPM  Y  Kk0@0P PV YHEA DCKJqp}{ >TJPQRSTUVW?Mnpqr stuv wx y=PL =*  TY() PP =*  TY()#" 3 @ABCDEFGHIJPR = *  TY()#" D @ABCDEFGHIJEQRW PO =  TZ()#" = @ABCDEFGHIJKNOPT YHvA DCxy43hl C !"#$%&'()*A B C HPQRPO Y  Kk56 0PPC =  Pj  >TOMPQRSmnpqrstuvwxy[A B C D=PF     ?-0\1_2`3{4|5}6~7^8[9]:@  PJ =*  TY ?-0\1_2`3{4|5}6~7^8[9]:@  PH     PM =  $#"! Pj  ~104789201AO/@:EXIT 6AO/@:MENU 8HO/@:HELP 931234OPQRS[123456A B C D '  G AO/@:ENTER I CFTEHUR GD T/PA AD 1 2 3 4 Q A: Q B: R G GD GQ QD S T/SA SR SG DA H U P T/PA PG PR V T/VA J Y FY YT FT Z FH ST Ʊ Ʊ Ʊ Ʋ Ʊ Ʋ Ƴ ƴ Ʊ Ʊ Ʊ Ʋ Ԡ Ġ Ԡ ҠԠ à  Ԡ Š Ġ Ġ Š ŠԠ Ӡ  Ҡ Ϡˠ ϠР ϠĠ Š ĠĠ Š Ԡ Ϡ ˠ Ԡ Ҡ ӠҠ Ҡº Ġ ԠԠ Š Ԡ ŠȠ Ƞ̠ Ƞ Ƞ Ҡ Ġ ĠԠ Ԡ Ԡ Ԡ נ נ̠ Р٠Š ͠٠ ԠŠ ͠Ԡ   ͠Ƞ Ӡ 蠢󮠠ĺŮРΠ堠 Use left and right arrow to position cursor, then "TAB" to set or clear tabs. "DEL" or "RUB" key clears all tabs. "TAB" followed by 0-9 sets uniform tabs. Press "RETURN" or "ESCAPE" key to exit. Type "HELP" for help menuFORMAT places title and page # on the title lines. Examples: 30 title right/page left 23 title center/page right 03 title left/page right 32 title right/page center CAPL =*  TY)( PJ =   U   PO Y ~K~k~r~R PC =     PJ Y      PE =      PT YHEA DCKJqp}{ N@A B C DHJLPQRSTUVW~0IJKL  $$"%`%%'((j)*:,9x65    5x65  I 6@OP]]<> 9==  UUAA`0$;x65  MYZ ?pg`              GA#+km'l)1-MCIKrnopsqtuvw?=$9!3~4*PB28N<;7J6H:@,Z>0.D5LFV(&{x/%Wfb^]Oc_`SgUR\XehY[QaETidjy"|z4?  I ?pg`              61,AxlZdFHR+38-nbcoeraith;JWYwNyIC=2OG#KQU9D7PX:)VTS4L$5'BMqzuE._"/@*%}\^]m[>(`&j<|{?0~v!gfkps4@]A 7=#A2 EF45o @ @TSHTSHE-GF-HWWWWWAA20   H102  LJJLTCID00%90%9$68 1N N1N N1N N1N N1N N1N N1N N1N N1N N1N N1N NTH<*x H0$"Q,1,$Q,2,$Q,3,$Q,4,$V B,8,$D,-4,$ C,4,$C,-8,$C,4,$C,-8,$C,4,$Q,2,$Q,4,$B,16,$D,-16,$B,12,$D,-12,$B,8,$D,-8,$B,6,$D,-6,$U,1,$U,2,$U,3,$U,4,$U,5,$U,6,$U,7,$U,8,$U,9,$U,10,$U,11,$U,12,$U,13,$U,14,$U,15,$U,16,$U,17,$U,18,$U,19,$U,20,$t`P:` 0&$#$[][ ][r f ] NA [T09 ][T09r f ][T09r f ][T09 ]!X"YQNEQPT48T36ABP1P2P3P4P5P6r`Q9*` 0 i`** (08@HPX`hpxC@QS************AO/MENU.WPM ,PP    L55 y =*  TY() x65  I XY     0p            :ao:_g:`.J9m8}8ͼ7‰5G5Ҳ5GyJ9m8>A3x͸5O5y55yJ9:ayʹ1/*_|0ͮ2̗9*_ͮ2̊9:a/O =*  TY() x65  I XY     0p Ca0DbomrpSypS!2V`27ǰ2R Ak f' Pȟ2en *WWzG[fgrOW`FVe%(b&GeX/p#X*>f'0D%ec4BUB 9Ǒty zR{@hY 7 6>@:eXmgm0*rFrF Pnp b `P H媘>VgGVi`# 6 l03fP - wc z!W!Vhp2uvfqp'8oU>XYcY 0N\>X s]I!9%(z!j`INMR(@ 1A0CR0R0R:mE@ 62p  =2&K 22@X둊 *@p*p܅ yPexЇEo(0 Q77@[6L]!k ]YRPb`~+]nn5dkRP!feőAЇl l7 4Khp/-GG@*|]>  凱#B* P J2tLV%PcPCPe0e.ii5APuOPc 0aoPna0-2&bi(̒|== =(=BpnPrPtOs`E<`j~C/,,? `I;(`X: E ?Q+1.Arb ҩ?fFNk 73A`5x15!R0R;[ 0RϫO Px P P"S K [ E P1 P$*0 @p*Ц ֆ о @! 55 P} P2p `\f 0쮀S U2Q-}@ Q PR Up >I ^ꉅ| Їr w 6 CjQE uQXE>-Pu*K6R~sQy/d j!#OP&~ XB@ԦcjMQL3AQ[XiEh 4ȉ>-XD7 xn )Ks(}"Q@8`޲H=v)L08h ̑L# PC(!γ2 ̣2L2 ?c)x ) }Ck1v6S Áע !,_K)g:\s 3 "@#("N$0$0,x,L >H9"@L4]@)q|ȒD|#_T0%PDdf2X*l!H4^"%~l- ZIw'Nյ#$"YmC4Q"4|zbkKԼ0# x zƌ 1Dqhg0(}-,%>K(#L0eA[c2K<Ȭү *M= @ TK@>]Ǥ@U`6)#`@mPЋHDQw;Pw+eP! 48;VwW4R+3qN2፣#۸AyJpݸ,7y+0}z7Sۨȳ4aӮ"ξׄm@( #Ԋ34+2)Cز7Q|be\@Q28Q$h$Dh}'&~C>8bePaD 4}9F„F D$K 778AМȌaP`t5(### Cuesort v.3.01 4/8/83 - SG *** *** Cuesort sorts a file by predefined categories. The categories are designated A,B,C etc. up to S. Each category can have a predefined value of 1 up to 999999. To sort, you designate a value for each category on which you wish to sort. The value '0' means that the category is irrelevant - all records will be selected regardless of that particular category. Categories are 'anded'; this means that if you designate A=1 and B=1, only those records on which the values of both A and B are 1 will be selected. Records are taken from a master or source file. The selected records are written to a destination file. The file 'CUSLIST.DEM' is a sample source file that can be used for demonstration. ## A "10" "Number of lines in each RECORD " B " E" "Final Sort Variable (S is maximum) " C " 0" "Strip Sort Line (1=Yes, 0=No) " # :on -1 140 :in "#0/#13/#13/Specify the unsorted file #6/" %A ro/%A/ :on $0 / 2 / :pr "#0/#13/#13/#13/Specify a name for the sorted file " :in %A wo/%A/ :on -1 112 :pr "#1/#13/#13/ CUE SORT#13/#13/" :pr "Enter target number when asked about each sort category :pr "#13/If there is no target, enter a '0'.#13/#13/" t/s//A B C D E F G H I J K L M N O P Q R S.`c<&g٬J$ .S= ɀ*Vov/2/{zc= xm Ɂ l)4 F4[`gP) {W8&f5 ޜ(!w @! a =%C`T`xlG[eiЅ 'a 9ݞq @Rp ;}۾ޠ w>LC tҢ MQԑcW@! IPS9 WOۓAc3 *E@8vU̐||$p ܶIL/ -Ƞ ۟gA ˡ0 M@@ .Ru/Cnr$ @.@`.`غ@üm[n9P 䗃»R [WR,!X.` .QV~PƝ el^r> /  jv+6cf~:vΩ+ ><+L ξp !&=- ^2?l>o5 8:K\D;ZTi@)ZTW $\ G 2 Q W _dL@ \ -kJq/dL/v{)oBЙk  ۱  ,QWh p>r qm$ 6S ۾9(%P#Pu`n8# !OւNƾqp /qK^DL o s *i5w0O5 P: |L nBO F4СM@ sWLy[ƻ,uH2L*`> TC==݋VZإp 0߈@  *eАP3 `9 PS$i-1je[#h$%opy+,12345gp]:;<=n(ƐABCDEFGHKLMNOPQRSTUVWXYZ[\]^_  0@P`p 0@P`z(0,P~P'^~`[0,P^P~P`~^`~[\PAPooouuyP~0|--t0-'''P'~ho:S5>HHHIIؤ :Zؠ-9Ԟр- 9I*^r!Λg|mtW^ B-krm.@oOn>2O+_y$:-,Hqрv [' ! =+[@ @+);(HE (6(g>. ! ʊDT p0OPSl@P` h)hr;ƞ$0TRAW`$@OE xUTt9p5pDd 51hP8F)@?#qNS%h)|I ONŒ$8i6o)$8 *IY)jlMiQ")u8BYrOWW0("@}߀|ealJ0ap t C`rA C@E`GIKMOQ S@U`WY[]_a cSPfphjlnpr0tPvuLy{}(C Qe xaa0eZT`G^F~EDooQxuOQcY ES Fi u N_B߉@1 > X2Ҍ}Ku7/m!ɐn b)u IѸ_O )=±|>~b~ gGG`,J( wtP$,4'Q{5dH\--w|[mEglӓW! @=8ם Հ +Yt+^{DEA U1'!*P!E(2RYL)8TS*TrVJ[+tXKc,rZKQk-V`kqT"R]y$^%0 §#aK(/vÃLI1`O)6D2se,86^Y5M']}r?ZMiy[t֊݋Ylm6|pmE;vߚCp ŸKq=ȹ7*Nq:+\@%PBe >Q%D^Q5F~REH%%!Iu/ƙS= I>P* Bu2RjUK6F|TjSVV *ZurX+ ? ^A =h5[L2hsMqK$l.A1B1C2D1,Jim Parks,Capital Computer Systems,1234 El CaminoAve.,Sacramento,California,95616,Jim,(916) 234-4823, .A1B1C3D1,Edward W. Montebaur Jr.,Fast Eddie's First National Bank,115 TremontSt.,Brooklyn,New York,11220,Monte,(212) 765-2345, .A2B1C1D1,John D. Powers,Daily Record,234 18th St.,CedarFalls,Iowa,56692,John,(306) 555-0621, .A1B1C2D9,Joseph Winnebago,Greasy Joe's Grecian Terrace,Highway61,Sonoma,California,95823,Joe,(707) 663-2154, .A1B1C1D4,David Jenkins,Teletek Enterprises,2105 DouglasRd.,Sacramento,California,95618,Dave,(916) 234-9856, .A4B1C1D1,William D. Throckmorton,,210 Catalina Ave.,LonePine,Utah,82312,Throck,(308) 791-2373, .A1B2C1D1,Bob Smith,,895 Oak Ave,Santa Clara,California,95050,Bob,(408) 333- 4537,  D. Powers,Daily Record,234 18th St.,CedarFalls,Iowa,56692,John,(306) 555-0621, .A1B1C2D9,Joseph Winnebago,Greasy Joe's Grecian Terrace,Highway61,Sonoma,California,95823,Joe,(707) 663-2154, .A1B1C1D4,David Jenkins,Teletek Enterprises,2105 DouglasRd.,SacVO V{:^:*_Ba)cIek&Sk' q#Iuiwnz' ym)tJu҂wBxy-'Ɏᐙ:b(Y⇚(+ȺXD.."Xd30!<5*|b(ψhP]qpQa*9C$;*D=Ĥ@DBy1̀g`xVbh PxhV%c V ֭dP xkVcFVgEbV-aFօfX֌gq q m_.Wֵ}x u~XPX֥n@eB@m}W_%jXo!&zU m8eDE0N@-E!Dq 0lDWP8T\]T ToFpTTxTTFTŸ u8PB.w9 RP P|Ę۰Sƭ@U ]"ȈH?EA Tܢ *\͉@\ ܤ] ? z J X,ݨdmA& ^E@ h^@A! . "! %AX D/ 6삤ؕ<`P8@:@<@>@@@B@D@FB@J@LD#``_ \´> F  -8.8.8>8(?4$ >H? IK.(=.Z* ><#%'7(4""v""x z##{8#K}c#{#Å#ۆ$ !(rD`$sPK =O9RPbRm%@<[Ĕþ`GGQHKMh;i[;˳A/I = >@H[ (NXhiaiƓFF 0iH)) VVV*2TzD4qE7*5T,qUaՠ*YUYʵU嗁+e`2`hT%ІlOȅPT JHP)&ڐTTHT`TxTătcHYH^H\mF`ePU8t,XT bE)pEmT\sE s$jn2e :臦 Tm@TܚT-8MČM!I*nTh oV TFfx'oooV8Huu]]=p pq B?q_qo /אqqq53r0 H  *P !xHD-)rs. 8/s5?21As/=>>AsCDgl[&rhR!zR2j(=Z[[\=s>(=>6+X>S߀f:g>iijjkkllmm3nSASSHhzӺ芈0hAB7BeCd1r{TԽOˀV$7nM&!X1x"!m&>+d@ B ^@ W@ X :m@@is1sh! ؈*&ci2( E؈h@ @GS u"H ahaCp[8aCKLXLFpNhE@MTZPf+Nhy?aCMB㖈YSxz0@Lx0?L̍RUL D8HX%XK\3@Ehb xd 8pLp`d"oWkXw$uXCS|f J KbSϏ,B8zbrՌ_dahC J%J(8/?OaPd8aafD@j8L?i8pb~'hR@`h@ haމ`?h8@?rxhCp}8{LH?d`uaDuH; BDS7 !ad%"!'_fS!"F;"JȞ OHLݐf PH wD8Y!LFa yF <,XHE-$ =a&!@R{ KBEDaVa W(&5Q8EN1"2\g6"ɲr[PD'Id~mXB aŠ3\Hi`|}0M\2G)= ~oϩ3{3\W 4r#lrK6>O@d< ʾYA@ .>pQUA$*a a|Z@\$Ȁ l)ȴDH"n!$' '2G&rH fY.,*34s,I̜[ff̗(MY6s!aQlK,ـ2Xs&Q.E 3fkuSmB@OTa]UUQY G*lLWƩީ)aQY!N \zڦLm 3np <)j J5v޷S |[yR* لbFhHFLGFz`4YQL!4ɚMoTN#je[GXTMfq&iJZXDO'XE&aYSP(LˤD[afO AQG2dE|pO' h;T}g!"$ne J] KPmdȞf@DS!SdцUDv ?ИCٕ 14IA:>:|c9HMYrxPBFPt## =Ʋ+-#c>Z9x A7a3P2d fN'h!e3@D ug/tmA3E X`:saa4{!H, < 6#G@* GQZ3ksh"o z^#zeA9 67p†%'%NnNAPhfQ"C2 $GS@-Dƅ=Y#$f" [#y~gNt)аRuKB8C( ?P-@f2◱#ઑŐ ,y8@ DŽ9B GmUFh'.z28"z '3p*PWR {Ut6DȀV( q2 AuWn0(Q+^따 XK &l@ױ`X#dرvJZ$! !$k콺+-4m Qo!#ߕg3E艏wxȨ:HDT("-B$Z B"5r2 CpGQЙPd qjm}d^ ^#[a4>V R`\3]D}įX0u2 Z0|R‚:F!0&x*@ɔhEy.WrfrrU5',؜Sk)TH d%-ǐG'7n =sXtAd N@`G38=`!uRL= MsGV= $ #`h&Ñ$nb`B,`? 1(;Kq0=ai?Ԇh' Xޅ4fZqqgCrn{ ThAd A A A =FP2lPM`=,/,Blp04Xtn8rHIƢ? &C;kBj &;JD*DhIÈHHJ&{ĔJBhh CJ>DTI;KLW9P{0PTpe0K:iT#x #h P<UbpQ@NR#h5%] &ҥbFefIK0/ KLM*DVKƂ6P:ҥsսU}mm+Wha`(nfpg>t@AABBCCDDE`hp|8HIIHJKKLLMD (so@ X`hs\XXYYZZ[[\\]]^^__``M8(08@KHef `Sghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||ѰkA PĈpx agt&Xa7\ow;bh!>&@ â0xAB @0&H(x "J"Hdi@S?)"Lb0UHFJeOs@O$c}<=LLP T`X\z Ȅi"0#h @Lh'x()p9b+,-./01 203@4P5`6p789:;=>?OBX:(N001(2C? "0#- x7x:ètuMKuu(5uoh>t;Af"7N:X$h/#x'>X ࿇ht? QSޝ]L %8 @TJ= I#%< Ś; A@DSЗB("JQTJE4T0AU@J3&ܜPOIA@"VuʹP+DrK,@qp.@b^K}ޙC PdSCrY9'*7äSSwL&P^ qyй+œi 28qN.E8xS2žP %B4LxXz@" \QFLCBSIPEjB1 )F3%J%y~iM aI $R:?I @6l P NI:*THY\F~cƍH G !:'`6joN$*` (`1FH06P!n.*بN*Xn*ب⠋.gAdJfi`*i >-F .p u`@A($?Q]A@@,2( _b9H)%(šSyP*%HBUX5jʻW`5Yk5gV[kt-¸*]+v޼W^}X`%Xbe>Y%d쥕^OK3fݜ{`y4 p=5-0HjҤK`I2& m",&a #S|oqKq!|D:XNU˹6]_n8B]N:j]ïUNݻT,AMd?ER*L)U.TބjYViWZ\^`b1dQ⭐"3 ږmoq!sAuvqxz| !Aa2B1.2a*0#0C0c0/0 0  鿜 + [yȱ1бӲi2ñ&2q22K/3 )RC5i{8;3 ?3@ KAi4+D4QQ4cG4j !kKL, KQ:P W }"L5$p5'5So {abkc&6i @!Xc8s$j Xln(Tn #@)@;#q X@ x@ B@) TPT(ThTL@8@:G!H%8莉8( BVIAɸ CL :J<) ʬx 2cet&KPK\ qL; Ԡ佀X x x I& $x`H 0 {̨(L L9pL|Ll-()7#: C(*\X⃓k<( hTTTT]@U@W@Y@[@]@_cL(;)););kªR*r***Ү*++2+R+p.+++½+,,#ӽKսk׽ٽ۽ݽ߾ +Kk羋龫 +ѳ$bǔ[Rɿ,PzY@@*B@Zift-j@ - AA*AJbAzꘑAA/ A B/8/|%'B;Y±B /0 C#1A1YQ5{UUuU0XU<#Xz<PU\TPQRRPVdVaV%cVE`Vm`_VX %dVE\ VVWW[)[+{,ē.02D31k6PW XX)GD X(X@ H -H!5uFP5B0?zF$k܃FرGoz6,c6@GP&# @`\@l@d#ZG_mT /H5H&t8AhH$,H.H)H+HH!H>HBH@T@TemUS(=ADhwX\{B M(~ L]L\ Ta J]]L4 Y m %umX^%-؊{u]Ռ^ 8TEKe_0Lm}_=eE_u z{|}~pY; H`n  䠈E_0p蘡` hXK4I0$b@bb+b,- 0c0&162  &1ch !;n9`h&|λlc = 'J&LM;Mz"5M˺M tTI7WHYH[H]H_HaHcHeHgHiHkHmHoJx)O2Jϓ(<4C#2"ALByߞ D2)Mtmuċ.DxD24;53au~3<5 xz!TB5}Ŋ(oxp !ݰYYеuZt!x:KxՍ 8X  ̄!~pn 2~쌀n fn nV6`ˌno`oooov6 6n (x  O'  n8 pwp?gq7 qq qrr/$ err'#r Wr,rw-r.$r Z #o[T}#6OH.ݱ`T ȐTůHT`TT5օHH'[TPxT0S Sȅ48]͐h>E T h\׀(RDTJZߚ@(eEu +vjYߡ`/`|0Vjepwߕr8y~!&qȢ8eZ. @[( [-zKx T`;)\ayHgGזa7ǛcR&Icf6LwcwooLϢM_L;zzM$?({ z߲gz(c{@䗻'Ore#ڀM:fUbr僧Q-9MTTT8TXTxTTThk)l(|>qD<\u<<[< ="gBQQQR2γjh]%$<-Tl-R@@@,D.^ARAjiyiiA?if%AT<%j5FjL(|*TKBL/U3U6{C:# kQ?Aι^nDs*,kI|KL34M={ųEljHȕ alQX쥔SSlР>΂ωX0mPߎրB탳s TmdV  0ɀ^&jf Vnn€6oFnojp.p>p0隷ongnއoxpq'q /#@?lpqgpq/q3 s+'?3sFF7 ,(dTcuw%p%KrI'(4l0Zs XC셉||oGmT0TaJ@>0TZe xV@XH`DTT0THT T`T\h\y.A1B1C2D1 Jim Parks Capital Computer Systems 1234 El Camino Ave. Sacramento California 00234 Jim (916) 234-4823 .A1B1C3D1 Edward W. Montebaur Jr. Fast Eddie's First National Bank 115 Tremont St. Brooklyn New York 00034 Monte (212) 765-2345 .A2B1C1D1 John D. Powers Daily Record 234 18th St. Cedar Falls Iowa 00161 John (306) 555-0621 .A1B1C2D9 Joseph Winnebago Greasy Joe's Grecian Terrace Highway 61 Sonoma California 00054 Joe (707) 663-2154 .A1B1C1D4 David Jenkins Teletek Enterprises 2105 Douglas Rd. Sacramento California 00134 Dave (916) 234-9856 .A4B1C1D1 William D. Throckmorton 210 Catalina Ave. Lone Pine Utah 00156 Throck (308) 791-2373 .A1B2C1D1 Bob Smith 895 Oak Ave Santa Clara California 00050 Bob (408) 333-4537  D. Powers Daily Record 234 18th St. Cedar Falls Iowa 00161 John (306) 555-0621 .A1B1C2D9 Joseph Winnebago Greasy Joe's Grecian Terrace Highway 61 Sonoma California 00054 Joe (707) 663-2154 .A1B1C1D4 David Jenkins Teletek Enterprises 2105 Douglas Rd. Saci1U-~(h}*~E.ZhS,9oni|0T%;.ޫ?/]@ͪx(fdjZ`fGhnkiageGXxW^ : 08ί/@\}~k/? AC#LBx~DHDmu:鞩iW1Uy`>3PYx<~!*+7ͩ::4 ZIx( p5F` )4i\]بFm)G;"A"dP$&P"gUxU@U@U85i&\`UU BRϙ H#R2@1P3P6P;ȈpU\̐@PAP\BI$NaUH8UJ[  U]w[ V$O[ WbuhU V, pXG8pWyLs8s|,Hhn^:W^W!]Wv~XVo v W ݅ mr"NdP~x Y0/}x(Bx `* PʇXg$=XƂ~"F^@@~)j=-Vl iA-4ABiT8AWޙ]8ә@Yx5ɴEEjhl FLxabT9xՃ?"j+2[ίjʘXk/? :C8k#%2yn喞Iχc345TVQp@(076 05p$P `)>)  "d02= !&9!2 9\a54h6L`"P`6.>( (Sxa0z)he dg95(& Ta1;0/c([/gr0:0dVX%cUx#_UUVpWWXYYhZ[\]xZ8__^Q$a9(5ɄpBn{gOdž;|qFhoppqqrrssttuuvvw:uxz`0z>7쭕7#ωX Wъ@ mF$ Wъ@m X>͠ '<["t^ d^fH$DP2$,rf. :XP(6q8aekuP t?080d@%ncࠀ`HHDCI@<EOH;`KL4A00p '%;JLP%t+QJ*S{@_X՘5 |B- J^"ABpt))B$R:@P$ `@PY^UQUxN RZ?aV wBD|GƖ#)W EPU PqT,aUEQJUPay`V6 Z` 9Up vPgX*U>P#@ JU@β` Ezl;˳%l0HVۖź1];nV[vpF;gp|Aać ;s;l |}~z#8 ``l@(`   ޘ ||7( %B%Lp )h`@h`@:z "ÀH$L4PD TT` - / ,\0( 3H Dmq0uv@z@~|b 1@0 5 2@D 6keXm^D/T `1:.`tbp.s ~'cty< r~ } ::<|;(~ ѴoGi aHhn <7 $( x}/82`6 1"b P@$zp1lkY*5RhG@`0uhRU[!L Q)J% X*0sJ(9ٛ <„_iBA'@@M6[-[ hm `2ܯP80д`Ba] "0!"p""(#"8@"H0%"Xp&"h'"x("0)"p*"+0֘,@"@-@".@"RE`F`bF0dFP`fFphF`jFlF`nFpG`rG0tGP`vGpxG`zG|G`~Ga 6I(`8@`ms}+E9AOp $<'P@7Q $*O @'!PP `x`1 2IAqT $@L&4bJ L<|~o{$"IJ!1A(%d;*ȃ h3}ϼ p#T>%AQ$`Y$G#Q,wGv/Wy/W|,4BBxPB(>a|aU8(%(<(&)*`*q*`J5wQ)/Pgx| b;%% |"O001{,(dcP<BA Q$aj+$тq9ACx2|`:L4`<yAW*Fr@JQHzg5(HAG}xdw$ 613h@.b74 gz@H ! " `  8hxw!%!b#!2!!"29q)"+".##1#a!6"=#bB$BFBH$Lw@(EGxBG{}P%"TBa%\%XT\`t^TXXXP, |':((P(r(R)Iit1w<)):)x,*p,**ҵ*++,,2,r,,@-BՖ"--:E`. .  .0GgO@% q008q1P 0 Э  Њ  0 ` Э@ 3@* 74T194")5c>z 09@o9 4" Ki=04]CR. B9`5 ~ 5 jк ૝@j# ?*-F FZ97 A ҤyjKr୥ *T6 J_~ C Zh *e9*h{ q6 jx v6jx8j зp Zfz9* p2{ pFSnz6j n8pZp ҫ`e$fDfBftFu$gϭP S   *Ph$hiE&i @j`@@pj 0UeRUBU7wWU%+'U&X;-/n5aV24gw`V+?#?c??@$@dI@AATAA!B4%Bt)BB/C3CT7CGC=CAD4EDtIDMDQE4UEtYE]EaF4eFtiFm$orGE'G{GHHTHHԏIIT3IIJ3JTJJԯKKTKKԿLWLDLLMMDMMN$NdNTOt:/=/Q- Hԍ/ `@   IՀ P `-]_ ` R5%RpnRI%-He0S%4He7S_;>TB@|TUG@ eKAP'C pForpP Fn@PnmoRq%#X7r3`D'(' "-XݰBz@I ]MI-F F V w >I~*`L r:"P7r%]Ң, 2`In&*9ׯ/@B>qZFI8*M] >A%jW^K^}7 dgg#YW(^qP ^br:{'(^* o*NuR ^l@ N~BljF*q*5ZoK7,qF 'N'(.4n n0G3sW7s{lz{ľ."LBNlBnuw0[/^u_^텚mv;.v'rE\w;v'fuX1v[i'kEvwX " S!$"J 'a&& !pp 0%BNRI8 Q& 0  $"1; 2 !XS-bI. $; PRINTER CONTROL TABLES - VERSION 5.30 ; PRECISION PRINTERS - PRINTER TYPE 0 ; ; These tables allow you to configure Spellbinder for precision ; printers similar to the standard daisywheel printers made by ; Diablo, Qume, NEC, C. Itoh and Juki. These tables define the ; parameters of the printer and the character sequences used to ; perform certain character functions, such as changing character ; and line spacing. ; ; Most printer functions are performed by sending a string of ; characters to the printer. Strings in the printer control ; tables can be of any length and must be terminated by a 255 ; code. The following formats can be used for character strings: ; ; String End ; ------ --- ; 27 49 255 ;Decimal ASCII Codes (27 = ESCAPE) ; 'abcde' 255 ;Strings of characters between quotes ; 27 '1' 255 ;Any combination ; ; &2 ; PRECISION PRINTER TABLE ; Sample table for Diablo 1610 ; 1 ;Horizontal Motion Index (HMI) offset 1 ;Vertical Motion Index (VMI) offset 120 ;Maximum HMI value 1 ;Tab offset 0 ;For NEC printers 0 ;Maximum tab in program mode 0 ;Maximum space in program mode 0 ;Spoke addressing in program mode 0 ;Exit program mode for other functions? 0 ;Send character in program mode but not spacing? 0 0 0 0 0 0 0 0 ;Reserved ; ; String End Function ; ------ --- -------- 27 31 255 ;Set HMI 27 30 255 ;Set VMI 27 54 255 ;Print Backwards 27 53 255 ;Print Forwards 10 255 ;Line Feed 27 10 255 ;Negative Line Feed 255 ;Maxitab for NEC Printers 13 255 ;Reset On - sent by first P command 27 26 73 255 ;Reset Off - sent by PR or on exit 255 ;Enter Program Mode 255 ;Exit Program Mode 255 ;Program mode tab 255 ;Program mode spoke for space 255 ;Program mode spoke for del 255 ;VMI terminator 12 255 ;Form Feed 1 255 ;Form Feed 2 255 ;Form Feed 3 255 ;Form Feed 4 ; ; &3 ; USER TABLE ; User-definable strings for special printer functions. ; ; String End Function ; ------ --- -------- 255 ; - Enhance 1 on 255 ; - Enhance 1 off 255 ; - Enhance 2 on 255 ; - Enhance 2 off 255 ; - User 1 255 ; - User 2 255 ; - User 3 255 ; - User 4 255 ; - User 5 255 ; - User 6 ; ; &5 ; FONT DEFINITION TABLE ; Defines global character and line feed sizes. ; ; Character Sizes for Fonts ; Size Prop ; ---- ---- 15 0 ;Font #0 - 8 cpi 12 0 ;Font #1 - 10 cpi (pica) 10 0 ;Font #2 - 12 cpi (elite) 8 0 ;Font #3 - 15 cpi 9 1 ;Font #4 - proportional ; 0 0 0 ;Reserved 12 ;Horizontal Resolution (1/120") 0 0 ;Reserved ; ; Line Feed Sizes ; 16 ;LF Size #0 - 3 lpi 12 ;LF Size #1 - 4 lpi 8 ;LF Size #2 - 6 lpi 6 ;LF Size #3 - 8 lpi 48 ;Vertical Resolution - 1/48" 0 ;Reserved ; ; &11 ; SPACE AND CHARACTER TABLES ; 96 ;SIZE OF SPACE TABLE #1 0 ;#2 0 ;#3 0 ;#4 0 ;#5 103 ;SIZE OF PRINT WHEEL TRANSLATION TABLE 0 ;SIZE OF RIBBON ADVANCE TABLE 96 ;SIZE OF HAMMER STRIKE TABLE ; ; FIRST SPACE TABLE ; ; 08 06 08 08 08 12 12 04 06 06 08 08 04 08 04 06 ; 08 08 08 08 08 08 08 08 08 08 06 04 08 08 08 08 ; 12 12 10 10 12 10 10 12 12 06 06 12 10 12 12 12 ; 08 12 12 08 10 12 12 14 12 12 10 08 12 08 12 10 ; 08 08 08 08 08 08 06 08 08 04 04 08 04 10 08 08 ; 08 08 06 06 06 08 08 10 08 08 08 08 12 08 12 10 ; ; PRINT WHEEL TRANSLATION TABLE ; 1 ;DIRECT TABLE 32 ;FIRST ENTRY 128 ;LAST ENTRY 0 ;NO LEAD IN 0 ;STORES LAST CHARACTER SENT 255 ;SHIFT IN SEQUENCE 255 ;SHIFT OUT SEQUENCE ; ; 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ; 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ; 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ; 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ; 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ; 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ; ; Ribbon Advance Table - program mode only ; ; Hammer Strike Table - program mode only ; ; 3 2 2 3 4 3 3 1 2 2 3 2 1 1 1 2 ; 3 2 3 2 3 3 3 2 3 3 1 2 2 3 2 2 ; 4 3 4 3 4 4 4 4 4 2 3 4 4 4 4 3 ; 4 4 4 3 3 4 4 4 4 4 3 2 2 2 1 2 ; 1 2 4 2 3 2 3 4 3 2 3 3 2 4 3 3 ; 4 4 2 3 2 3 2 3 3 4 3 2 2 2 1 1 ; ; &133 000 ;select printer type 0 &142 001 ;select precision OVL nqpnr%O& /@poL¯Bb jP P VҰ@ iL lޱQ:t:汱@O@WOL+% @_.@>Nˣˡ 뮻kƽ1~1,̆)adqrR ꁩ`r!(" R'!R*/" 62;#29#!6 0&(0P(0@RX@T& 0@L@HDP$H`PP9*M(L @ 00@,1,9(5( 8/rl8D,X`TM(b@%% )($-* #,3)2`8h33)E3ҭ& Pc2 )*,/`T@44Ei%r[ Edwards H.A 35.00 5.30 40.30 TRAN1 1059 TRAN2 1578 Handon F. 35.00 10.00 46.00 TRAN5 2278 TRAN8 1055 Newbold N.J. 35.00 7.15 42.15 TRAN3 1504 Simpson D. 7.00 0.00 7.00 TRAN5 540 Simpson M. 35.00 0.15 35.15 TRAN5 2926 Thomas K.J. 32.30 0.00 32.30 TRAN2 1588 TRAN3 1674 Tomlinson B. 35.00 7.00 42.00 TRAN1 2961  35.00 10.00 46.00 TRAN5 2278 TRAN8 1055 Newbold N.J. 35.00 7.15 42.15 TRAN3 1504 Simpson D. 7.00 0.00 7.00 TRAN5 540 Simpson M. OK.I@YsHӦx @uRX0y3t6V8TaTX q5AW<dЃ9? O5D~ @ז8XFxwSueRV|Ru6X7]w@P0 L6b퀸] zIp)Tb 3e`@0Rq9d8WY?/ aijU[#V0V0o4 d (2 & d @C UN @ xEx @ n&e(mUlm6h] /RuV ;40]61 UW<`@X @x(9UzTUS dl0 @$QWO &59lB 6b`Z&&Z. `e/@"b} @ ylZ UnkX~[Z5ֺçz$&: br ZQ @l]UT&;o۹@nh  A]`h Y5t X[| @U[A{B9/ \ b@Ò=`dYaqH[ Xpa)= X O/zǻ X@q3`L *]'Si D @DZk ]0x S>x`t)ݦ$y,&@ @ @gs&  @  @@@@   B [^ X( @& ü1  +@ @$UL @X`@X @4@&  46S Ä&ŠA4 <d00&SL& t(8'0| !!"$(b*"2#b:#B$bJ$R%bZ%b&c't'}1⃹b)B) *²*++,`t,-"-."./"/000 11|1"<-{c3Fc834D4L5T5\Cb6cj6\7Cx7ÀÄ89c9:c:&#;<]@2<=c=>##??@@d ?ADDBB@B,C4Cd:CBDH2@`nfE `J@@JzfAɖ!!BT*!H&RIr؀Le&%\HTTT!T!TTATAT`AAA*/a@&S1*TD^H@ ^T DQ1^@1I  @W*Ua@<VԚt>zT^oFĄDLfXemmRu'R)))PJJ  E\E\E\E\E\E\E\GR9SpENV ^&/%`Z468: $Œ, 4Ì< DĀVRlZ `hpLxl +`̠L̰ ˌ ̌ ͌l ,Ϭ-Э-I-m*M8@@Ԡ TՍ\bmjr` nn" 84Ej,a&H0߮\Jp Jj**Ƭ حJ*++uk$ij 46 @66 66 6``li `(w,@6 l@75·lz`nlNilcoz^D) @ fW 6: Hh>1`Hp  di!HHţha-)e1-/ @+?KI :0ZP0 BB0?pVp"Jdi@So)bB@U@pTBB!?^q-A  `DHIJKLM:>B@FJTHUXV\xXdZl\t^|`b8dXfxhjlnpr8tXvxxzE>0 YULTJP%&W ,XPK.,R̩p%>RI.,TP0TRK&a Ym-Ĺ]{M~b QH3Ȅ&T)3FqBh-P\RjT*H#,Tb#@X TRCHiT*p*IH 6@UT DA0UjPk`!aOU*mb84TOI w@P6*\;U(TҊUi-_T]/al"]J8ktH>(`Xp@`l@儬 bXC a:_6*c}0Y;)elfY9]Lힳ+Gi--ZU ]Zalm[{qnmջp. ¸wkr.Mʹw2t)EѺWN][]N;fwN<3yBA<{i=|ϡ>~? "@ b A=!$ТB] !4C}"D"%Dȝ"Tb-EȽ#dѢ5F#t=G $"EH$$bM 9'4?DC?(?HC?h ?C (? 0?C 8?v:WʍRĀ VxV#]ŵU{urFX:XQd5k8%^)'ZulɢSq3QFSK[+ʴ[ʹu+b2r1/ٟ4f kM}6ŒqNB[ qp.Bm^-FR YJ,eɛ`SIF .40P WB02* 8c$Q*>BT)C bOXG:SX@P'?6!TZ҈Ӡ+?5zD=WUX1߬U{kӊtz_i'}JhQ/6`:O w`!D!EEE?PP?<)q@D < IHqx,raȥ,̬د,-"-AQ-Z֭x-2ۘYyю1Qqў"1a1QqѾ1Qq1Qp ݝߞ 0Xi瞉鞩 )Ii:Zz :Zz ":$Z&z(*,.02:4Z6z8:<>@B:DZFzHJLNPuʼn#K4M4O5Q5#S5CU5cW5Y5[5]5_6a6#c6Ce6cg6i6 yX-wo8iXѥṭVSo0JHDgn8yp$C8Yi$ K K  H&t:@ :h!# *<Ԍ::~ #H'Kh׀`N p d@tlΠd<NpNNNp&NN ttϸNDN$OHLLN (p+(7P\HPt !(PP UR;t,ƀ*@,AZά- ѭ(-:iiӍ9ӕ:ӥ;ӵ<8RxA""Am4A}5A7-b-$-BB"BBZjBšB-./.02.3/CRCjCÚCCCD+CD[sDě?$KڝMO0S14TLV1dW|XZ1[]EE!F+"C$F[%s'F(ƣ*F+-F.0G133GK4c6G{7Ǔ9G:P+ "@-RA2STE3LdUG=aӭ>\T RBA=C,tS]6Gژ=K- M-#.$&.<'T).l*.,../1C:JCZzCêCCD3DKcD{DĭjDkNPVQ+CE[s1Y1Z\1]_1` b2$cnX2; Zxu7 Cp_G>^x= x*?)flR7`F2fbfsCm敌1xLo^ $ $QP)0( Da$ 6[ 2flljcy2w_vl@t 9r 83 dsp ,Eׄ#ftߗB>"@3P"NVg1 ^Bk3'댨kcx/ pc qWP{> X}/ =?_&p#PtT)CƂ)k@HwJҙ) Y*% "+ y(hTh* XQEd8}oFP{bJ62tcOJ66#/LНb^$sž PFY'xbc18xc쁐&Fy U9gsty4f+s~g:|3gYf### 4/15/83 FORMS 2.14 jb/wkc *** *** FORMS lets you fill out a forms template which you have already "mapped" to a printed form. If the files have been set up correctly, you can access a customer list, keep a form log, and perform calculations. ## A "ORDER" "Filename of template (.TEM assumed) " B "none" "Data file if applicable or 'none' " C "0" "Tax rate in tenths if applicable " E "0" "Clean print file (1=yes, 0=no) " H "1" "Clean character (null=0 space =1) " F "0" "Exit to Boiler.WPM (1=yes, 0=no) " G " " "Boiler master file if Yes " # :oe 483 :ss 64 64 15 5 64 5 5 5 5 5 5 5 5 5 64 5 1 1 :%J = "QUIT" :%Q = "" :%1= $H :on %1 / /+1 / :%Q = " " :%R = "0" :pr "#1/#3/#3/#3/#3/#6/" :pr " Filename of form to be filled in: $A" ro/$A.TEM/ ri/f1/j1/e/s//.e< BLEM 4>` \+fB=C)D+m pDPg jDTD :5EEdsD^xs5E.E+4Qfv=iG vx,&ruG̱}o}mB~]SNyaxT yl,靖 UDψW'!xJ О^{X87b^[h`bHfG"N p2-P{X=Z[fxi ,8(`֠O`p`6آaב{XKZxGcKd~ xxP9g@Vx5yp 9ӑ%6gS&9i3gf{֖f ,A096yӜsȫk4kehljlS(hm\ߌVڬ4= 4٬'yZ4s@C>X4<:imvzxf{jvxG`I+ux,@9aDsI9akAok9a!gkU495812JMiɮ YI! G9$gf0PI U ܄80R(`c@cPc`9>0}``|[p]p\p|p$P#p]@}@| \< h}=l}`P`p} ~ML=agSNya|rLl;Ux,Mn'I9qEr^z-"Z,4&P*i bk!b,'*~Ҡ=. p=a)")eQ:_*Eյ CcIEZI0zE^ˤR2Uפr2Gr_.Ge2C$$q42*/򬸈@X!8(o"#`oqa"VF`xtSt? )ks>^  8sϘ^ з:$+;~ ! M سPDn;n[6 H k9&9V80BGO999ɳcy9`547*w 7&9P'r2\̼Q'Nȹ|S}|T=HΙ{rSQUn8W'+>J ОB%bXe2X@YBybOE( R)bg-G岇 M|ȍMh}aW[Tեi#f_{r3an1&afaHwםEC hЙ++01 B?38 >AeSoP C aW tL+L3N |tcrD3P@ mÿPPP!9 Pi9`S@SEq3/@ d0W p0WO BɈ3 p p p p p0T ЧC8 rP~p _/$cy]AN~^t[wIihx6aֵ31W0ɶkm dyhp/(3E4 HELP IS AVAILABLE FOR: 1: EDIT mode commands 2: COMMAND mode commands 3: DISK commands 4: PRINT commands 5: PRINT TABLE commands 6: DYNAMIC PRINTER commands After you have been helped, strike the RET key and the help messages will be removed from the screen. Type the number for the subject on which you need help: * # *-------------------------------------------------------------- * LEFT() DOWN() UP() RIGHT() SCAN() Hold down the *-------------------------------------------------------------- and type * FORW() BACK() DELT() ENHANCE() CHANGE() letter shown *-------------------------------------------------------------- *INSRT/CLS()| INDENT () | SOFT HYP()| REPEAT() | TAB() ̭ goes to*-------------------------------------------------------------- COMMAND mode *DELETE ()| CLEAR() | REW TOP() |ENTER ENH()| MARK () # -------------------------ů----------------- Type the| OP & ND OF FILE | RINT A PAGE | ET A DISK FILE letter(s) followed by | FORWARD BACK| PRINT n LINES| EDIT DONE, the number of times | ӯد SEARCH FOR X | SCREEN PRINT | WRITE OUT FILE ź Ʊ | ӯدٯ REPL WITH Y| PRINT FORMAT |ׯ WRITE/CLOSE moves forward 10 lines| MANUAL SEARCH | TITLE FORMAT |ү READ/CLOSE halts any command | HOLD n LINES | SET TAB STOPS | DIRECTORY DISK ̭ RETURNS TO EDIT| DUMP HOLD | DUMP FORMAT | DELETE FILE # GETTING FILES FROM DISK: COMMAND: ҼҾ FILENAME: ٮ A: need not be stated if A is last drive accessed SAVING FILES ON DISK: COMMAND: FILENAME: ٮ A: not necessary unless B is last accessed drive GENERAL: G Get Text GD Done with text BASIC r rn read file from disk (whole file, n lines) w wn write file to disk (whole file, n lines) rd wd close read, write file ri read and insert at cursor (rather than at end) ro wo open read,write file (you are asked for filename) ro/filename/ open read file - no filename is asked for wo/filename/ open write file - no filename is asked for # COMMAND Function p Print a Page. If in Y table is set to 1, the routine continues to print successive pages. pn Print n lines pr Initialize the printer. If you have a reset button on your printer, use it as well. v or vn Print to the Screen. For Pre-Viewing text prior to printing. 10 p/t/i Print 10 copies of page at top of work- space, pausing for the operator to hit a key between pages. & Ӻ table set up for print operations. COMMAND Function y Display the format table (or ٭) for setting the basic page format. yt Display the title table to set titling and pagination options ys Switch to the use of the alternate Y-table Two tables may be kept for your most common printing operations. ps Set the PROPORTIONAL SPACE table for use of different print wheels. The ӭ (formatted like Ů) must be in the workspace with the cursor at the start of the table. For more information, see the application note on this subject. # ٭ The format for printed output PRINTER TYPE 2 may be modified by entering a DESTINATION 0 command "Y", which will display PRINT ROUTINE 1 a table of values which affects printer output. You may change PRINT LENGTH 90 any of these values by typing FORM LENGTH 110 a new value next to the current FORM EJECT 0 setting in the table. LEFT INDENT 0 You may move the cursor from SPACING 1 one entry to another with the JUSTIFICATION 0 UP and DOWN cursor arrows. LINE WIDTH 65 LINE FEED SIZE 2 With HELP messages allowed, a prompt will be displayed with CHARACTER SIZE 2 each entry to help the operator SPECIAL CHARACTER 1 understand the meaning of each PROPORTIONAL 0 entry. MAXIMUM SPACE 35 MINIMUM SPACE 5 & The first two Y-TABLE entries set the printer type and printer destination, and can only be changed from this table. The rest of the entries correspond to the entries can be installed into a print format command in the document. To install the format permanently in text, locate the cursor at the point where the format is to begin, then type: COMMAND:FY A line like this will appear in text: .Y 1 90 110 0 0 1 0 65 2 2 1 0 35 5 which contains all of the values in the current Y-table except for the first two. When printing, this line instructs the program about the Y-table settings required by the document # These are commands which can be imbedded in text to dynamically change the print operation Inline Dot Commands ^ Mark .c Center } Downshift .h Header (title) { Upshift .e formfeed (go page end) | Firm Hyphen .t vertical tab (go top) ~ Enhance .b negative line feed @ Merge .s print stop # Line tweaker .y reset y table ` Absolute Tab .ys change y tables .yt reset title table Exclamation Commands !A Line feed !a - !e selects character size !B Negative LF !f - !i selects line feed size !H Backspace !0 - !7 changes special character !P Pause 5 | n p p wPv *36E p+ǁWq*pe{~5e#吃Euş?Z8BZhEZHZKZN[(Q[QhU[X[[\_\Xb\ʆU(h]km]a,"uwy{&%Pr!xtHȞ HuH(h(ČhȌ̌Ѝ(ԍh؍܍+x鎸8x9y 9y!9%z>#13/ :%7 = $3-1 F1 :ON ?-35 / 45 / S/"/ :%A = ! :SL %A %1 :ON %1 / /+1 / :%A = "( %A )" S/"/ :%B = ! :PR "%B %A #13/" :ON -1 31 :PR "#0/#6/Below is a list of the parameters for this macro" :IN "#13/Do you wish to alter the configuration? (Y/N) " %A :%B = "N" :ON %A%B / 90 / :pr "#0/Enter a new parameter, or RET to leave unchanged#6/" :PR "#13/#6/#13/#13/#13/" T/F%7 F1 :ON ?-35 / 75 / S/"/ :%A = ! S/"/ :%B = ! :sl %A %1 :on %1 / / 65 :pr "#13/" :on -1 54 :PR "%B ( %A ) " :%C = %A :IN "#6/" %C :SL %C %9 :ON %9 / 54 / B0/S/"%A"/"%C"/ :pr "#13/#2/#2/%B ( %C ) #6/#13/" :on -1 54 :in "#13/Is this correct? (Y/N) " %A :%B = "y" :pr "#2/#7/#0/#13/#13/#13/" :on %A%B 51 / 51 :PR "#0/CONFIGURING MACRO ...#6/" T/F%7 F1 :ON ?-35 / 102 / :on ?-32 / 99 / :%A = ! S/"/ :%B = ! B0/d1 T/sa/$%A/%B/ :ON -1 92 T/F%7 B0/D2 t/s/####$ f1/ :on ?-3 / /+1 / AL :pr "#1/" t/s/<@@7m P,EiFꅨmP ]y  .,$FFFFFFFFFF}`|JbJjptð:L0[K rf`F>AkX']iNRK&X>?]ZI~ůhPUD[*+Lnr\ffi|]pueu~`0,QV``~iAA `EpeE^~`_uyOU--S"@'"pnNqK#Q/;# $6a#aYQaMbX%#%&#a&2D+ ,lc.1Oc@--L9-<p`H)end]O)"ɂf7\+>;r r4ʟC`$hy?Ԑ y/$f/){3C{3]7̱8RƼ8:7̕ `7&u3+R i PP2=Y p`ŵ@ՄːZw0tLd j k@#MOP ]yeT.,TFFFFFFFFFF}`JjttD3,ή/sAUJErsW&aNBX($XX'C7Y烶@sժG܅Oj[\\ ,dHg\j].z~ gpYPZ:]ź9EoaOU - FA;Epn{\"ĖDN`H`@F#(,#KaFh,aRN%bXb2$bgbcϷnbj@u&4'=(1F-L9dd*ržeiF^&c,gɨVb> r`)FvB.mI I|f?{4h)6kRn*Oo_7oo08*ku7)˺5Ȇ @I5|QP p>@7`wtX!<[rPJb0D G N Q T / z }sP b  *OSi@1A5v/`9v dxLԧr2Ye n G*g_pΛ JUBJȰYAā(R$pP#٨P]1zyzB*PJ~ R<%rԱPw@ yi JA@0z ĴNZ[$2L0MXL1K 8$L0%L0eL0d $W PS<^{7%E{K6M҃{HHMmel\tvL \wo~a~P[U aPA_~0^`20|-dn^51D  61&2abhrN|%%&)cnOt7'=grx!dQ(+ddT.SP_+@\+> U`{0TQT1hIڵ gh iA{3e4&0H@< <CH@T<@Hfkg()`r3<Gl3*e3~MO f OqO vpԌ; y§ᄇ¡))tZMtlR(RFi<'9E)xG QM]d+j54psRODO07I a* JIJK J;|@r0[KIO)_@U! 2~*$3,I8 L0L0L6DJK@>$KGT{_Դr0 oVoQ%[f[iÈ=@Ch{z8P 0@P`p 0@P`p֩'s+R}X((_y-L9}<]L2f +>$v |0yq)ǻzcIhx / 8/V1v0A]4 8@8<@8|0C`ϊ888A(Y@(<83n,3<l*S_sV/FyT{ TP} F(RT<4n_'FxpS©*tQA0܀0IJIJv" 9P`770*;']d@ßXP: =D(嫦H8n(J0-O0@btPT :^\kѹL sn<^WA{?/^M՛퇫}5P+[*'\se-ʆfo|&U9PxwiPAWQ\E/| o uҾ`~s9(M3.Qn쬃ZolJ<14H}.ÞN▧.>peo@FLž0qLK67M՛퇫}ʹN[:l]se ]#|;8Ƭpe G`jEdH/TinY1~qf N4tV~.|'h5i:܅HJv:<=Ņ0cNH]>T(RL9|8H䂨YIQGVn]V^&cfYZf/s + ^M)}+6|2񂞤B6ht?1s 0D"4#021 3s7bC1ˤ70ֆ83j3IZ,!W;&0 JfrCR1 kaR !sP p` 3 > s>T ֍v B!t  W@¤-WDCt0qit>;M1 wr0zF]dH5xR[76 KJ0tT4p K[6K['_@1mwd}@2d;pmq-|0 sxEP% , Ժ  0@P`pW`ijklmnopqrstuvwxyz{S~֩'U:W>%E{K6C7M՛h=퇫}ʺÿ¢?U,L WO~p[P}PRA_~YcLYA;OcsSN` )2) 2))I4 6i6x\q4/[i`,nicUcN'="-r(n)UI)I) 1/ғB%ITbTP AC5mTTTo1-O0cT@ACC*eImTTV11Ow0d.TTW1AO<#Ɇh+@\+3<-*Iqћ0T"Y|piug/Аa?E{K6C7M՛h=퇫}ʺÿ¢?U,L WO~p[P}PRA_~YcLYA;OcsSN` )2) 2))I4 6i6x\q4/[i`,nicUcN'="-r(n)UI)I) 1/ғB%I WordStar 4.00 Printer Drivers 24 Aug 87 Copyright (C) 1983,1987 MicroPro International Corp. All rights reserved.  $INDEX$TOCp-  DRAFT-  TYPEWRQ!-  AUTOLF# 6"SIMPLE&,: - CUSTOM^1<PRVIEWnAA1ASCIICD12QXTRACTCE{8F9500EDd{Uc9501AE|h{Uc9501BEl{)7C1550E&q{C9LBP8EOv{HVCITMSPE}{SP8050EڂDIABLOЊQ{630WPE{EG630ECSE{5CMX80E>{FX80Es{8FRX80Eb{LX80E{:0LQ800E{LQ1500ES{ëFX85EV{HPTJIE!{ HPLJETE{ ,HPLJ:BE{dHPLJ:UE{*"oHPLJ:YE{"dHPL:ADE:*{+IBMCLREYL{XfIBMGRExR{IBMPROEV{DML292EW{ML292IE{PM2410E"{DRP1090EQUMEЊ{ "QUMEWPE{LP4080ESR550Њ{VdGEM10XEy{\TNX10E{ЫSG10E+{RJSG10IE{= 3DMP130EU {,"D2100PE{kaD2110E {79DWP230E)){79DWP520E`.{TI855E3{ P351E59{drP1340E?A{P1351EF{ūZ125EN $INDEXã\ddu!p 6# xª"s>2 2 2!"u!"y!˒"}!"!"!">% ! =!EA ~#yP3" !UQ!UQ֐+ >Ͷͦ !9##"p222ʣʅS{S~# …>2:<2Å>2=2{ځN#~aÇ G͇Á# ¹:2~ #{߇Á-+L>2>2#{LÁ`{ʁ~D#:L{S~ L#2:!N*!"^#V{2:2ʡʡA܈[چa܈{چ܈G: 2xʡYP: <2 KB~\¶:ʶ>ø>Go>g{_zW{ш~cy2x2Á\:#~+,†> ~ .?X ʡʡʡʡʉ ʜ ʼ:¡w2:w:w: ʡi`+~ :†á-ʋ'ʋ2:w::ʆ~Cۉ~Æ> 2: :†á:¡2:<2¡#ۉ:w:<22wͧ+: _!~3 w+~-' {2 !:^#ԏ+.[^#V#"N : ͷʗ^*O.}o|g^#V#"*: .҉: O*w#=w#:w#:w#*O++N#F#:_:WyOxGƊyƊ+~w#>.҉s#r*~o|g^#Vr+s :!N*á:O:G:_:W:o:g~y2x2{2z2}2|2*_͑ ?a*yOxG "w+ yWͻ*uͶ*}s !9##"pͧ!"> 2 :!Nʟbo֐ͻ!ͼ S*us *yͶͻ*uͶ*pQ =2 O!ϝ w# 2o 2 g:ϝ:!E22 !2,2w#x2 Vx2 EV O;x>2 >22: O<͔!ϝ~͔# q}͔|͔ ͔ ͔+}…**͑ Һ:Ҍ>2*!KByOxGь~͔# xƌ֐!""ڋͬ J*O"**ú͘e*~o|gN#F#*]T |kbͅ~͔#~͔# y1""͘e*|ͅ*"*}ž*} ! 6:™>w3 ȯ2֐ڋ͛ō׍ö* +}ȍîe*|ͅîe*|ͅ*}s ɯ2<2ڋ:ϝ2ڋ:ϝĎ!s"~2#~2ͩ:2: OG I>,~ A*OG o g}ʙyOxGvyʙ>,~> ~:G:ʕڕͿͩΎ+}WĎ̈́:O:ҽ>~ê>Ǝ> ~> ~||gͿ G~~#>~::!,'# ϝH>2ԏ2 > ~>2@,H :>2ϝH,i ^>,~ Q Ď:2ͩ2,: 2 O!ϝ ϝ!+: O: ÷ϝ*N : #G͏# ʏy¹xԏʾG~Oxxx!PO ~**{͑ =*y: Oͭ9: 9ȋ!~#"{*͑ v*}:Oͭr:rȋ!~#" Ҍ>2Ó:<2*ww#*͑ А}o|g [ M}*u̐ʋ!"w*"{!"w!!!"*}**w#">͔"*y*u"y"uɯ2 !"!"6#6#6#w#w#w#"IDXID2XCLIXBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnop qrstuvw  %&'()+123467<=>?Axyz{|}  %&'()+123467<=>?A~;  !"#,0-89@0;$.:**/5CODE FILTYPE COLATEP$TOCìùÿÿPRVIEW TOC!6# x²> % ! = !\A ~#y "߆>z~a$ G# ~0D D#OF~ W^#{ʐ~\k#~Ê#{*"͡W ʐ ʐ ʐW> > ùͿ G~#«:  z*~*>O> Շ*s ‡ %Gi "Oi "!O "*N* wyͶͦ *>P>2*wTOCTO1TO2TO3TO4TO5TO6TO7TO8TO9.TCCODE FILTYP\-  DRAFTáۆ(8O2""!9"1!/K*!7B>2!Ͳͩl""!9"122l*!7B:G: =2G: & !9"*!9"12!Ͳl!9"12ƍī!Ͳl*2>>!9"*>è>è>2è>Kè>eè_*òՇ~1~#~>1͆=»2~#^#VՇr>12 . > .!ʐʲ!֐ʲʏʔʙʞÆ:菷|͉7w#Bɯw# xK.E>)_ =Z){_yt_#gɑr*d~**!ͮ"!ͮ"AĈ!ͮAψA!͢͡.AAA!͋͢͸{@}oG}o|g x)G}o|g xGG}o|g xG}o|g x]?~# . .~# ¥6#°!̈́!̈́!̈́!ͮ!ϊ!͡!ϊ!͋!ϊ!!!ϊ-!͡!̈́!ͮ! Wͱ!͡!͋! E E# E# Eͥ~w+•~w#¦w#µO~w#Ê#Ҋͥ͡͡͡ͱ7>w#:=&!?:,!=:,!;:"2:K :Y:!!!Y22)<2(ͭ!)>>{2(ͭ>ʌ2(ͭ~ʝ:2*1*/ԋ͡l>22ͥ**ԋ:!4:²͜z*3{zԜͻ#׋ *DM*!"3"xAA# f"/`i"1ͥ**{ʛ~ Җʏʏʏʏʏʏʏʏ–ͻ#U͡l7ì!"*9BBGxƍG_!x{!ی^#VoNI(wS]bXg#>>-> :G!6Ȗ> ==>i>i>i>i>i> i>!9w!9~@w!9~w!~5ɯ2!w!)~6ɷ=àͿ:Í> :2ƍ!"!:Ӎ«22!4:Վ: Վ> 2*fs}͛:*:,L!4>22L'!4:'1:* }͛͠ގ {{{{:(:ʐ=Ð ގÛ:ˎ2::ȯ2> o&)~!4>!5*&:Od}< (:8p:p>Gsp:Oc:9?EJZO$z_gy^>2zx{>_|p}> ̈́!)w!(:90ʙ0ʙ>>>ɯå:928:DRAFT    ?????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?DATA COMPOS$PF ʐ $PG ֐ $START$DONE $QUIT CODE - TYPEWR  ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?DATA COMPOS$PF ʐ $PG ֐ $START$DONE $QUIT CODE - AUTOLF  ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?DATA COMPOS$PF ʐ $PG ֐ $START$DONE $QUIT CODE - 6"SIMPLEáJíú""2222222222!w# ̆=22>2""2* ~2>22!Fw;&!w## >o&" :;>2!:J6J:yO͉*dy6>È>͉[~͆# d2:ʑXˆ!42J!~ʠ5!Z:ʭJ*|»*~·:ʷ|~!G~#凸##Շ^#Vx:J> Xˆ!5J!Շʷ ڷ`͋ˆ*~Oʓ*~“:“y>2*~w!J:nLJ2:ʓ*ww2!ZJh&")~#F!p!4Xˆx´·J*#"*+"|ۈ!5>2 ?? |Ê VVъ$-֊ۊ6 SJ*|p*#~ \p2!:<2DSJ!2DSJ!&~_:2fZ!b=!N=!X=!:D!DDl*~w:~~w! >2~w! D÷2Ѝ*##w·>J>2*#~ÙJ:> Xˆ:<2* V÷Sˆ:ʝ!eP~—!ê!:ڪ222÷!~ʷ5!0D:J> y-y!J!J!2J!KJ2 ~2! !* ɯ!w!&!:ɨlЍ>Z !ʫ!.^#V#zʤ*~ʇyʍ~Ô##d~w^#V# !~w> x> xÈ!̋ㆷJċ:**#~ zߋS*~2:2~#/^#V6<"2:<2÷PD*G:u ͉q c????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?"DATA $START$DONE ֌$QUIT CRLF  CRET  $FFEED HALFLF& BACKSP0 NORMWD: ALTRWDD PHSP N PHRUB X BINDSPb BLDON l BLDOFFv DBLON DBLOFF UNDON UNDOFF SPRON SPROFF SUBON SUBOFFƍ STKON Ѝ STKOFFڍ ITLON ITLOFF EXTON EXTOFF NLQON NLQOFF COMPOS"CODE : - CUSTOMáۆ(8O2""!9"1!!<K*!7B>2!Ͳ͹l""!9"122l*!7B:!G: =2!G: & !9"*!9"12!Ͳl!9"12oB!͒Ͳl*2">>!9"*>è>è>2è>Kè>eè_*òՇ~1~#~>1͆=»2~#^#VՇr>12 . > .!Eʲ!OʲʏʔʙʞÆ:|͉7w#Bɯw# xK.E>)_ =Z){_yt_#gɑr*d~**!ͮ"!ͮ"AĈ!ͮAψA!͢͡.AAA!͋͢͸{@}oG}o|g x)G}o|g xGG}o|g xG}o|g x]?~# . .~# ¥6#°!̈́!̈́!̈́!ͮ!ϊ!͡!ϊ!͋!ϊ!!!ϊ-!͡!̈́!ͮ! Wͱ!͡!͋! E E# E# Eͥ~w+•~w#¦w#µO~w#Ê#Ҋͥ͡͡͡ͱ7>w#:=*!!44!Y:ʑ5!W:ʑ5!46!U:Α"2 :I :f:f!!4o&)"+0͹26<25: ʇͱ:6ʇ͝>25ͱ>!6ʡ25͝ͱ*>*<݋͟l>22ͣ**݋:': !4:¶z~# *DM*!"M"x??# G"<`i">ͣ**{ʙ~ Ҕʍʍʍʍʍʍʍʍ”#S͟l7ê!"'*SBB**:S0Gz~#܌xGƌƌx Gƌ::xG: : xGx2 oG:x|!-xȎ_!:^#V阍ȍȎÍȎȎȎBԏȎȎȎ͍׍܍ȎҍፗȎȎȎ>ݐ>-Ȏ> Ȏ:ÑG!'ڰȖ> Ȏ=·>>>>>> >!Sw!S~@w!S~w*'|+"'!"' .*+og"+21!6~6.0*+*)}|A"+ԏ:^!Ͳ*&)")o:)l͝oͰ!"'*&)_W*)҅|Bgo"+")21!Ͳʱ*)#")!Ͳ!"%*)##")ɯ27GͰ:7^Ͱ^:7ݐ:7 :ȑ:' *!'4>22*!4::7^*%#"%: \\\\%kͰ:5*+~}+~#*){_zڥ›{›͝ÞͰ21k:1•ُ:'!đ!%̏:'ʭð> ð2'*%|! Ͳ!"%ݐ*%#"%*%|+"%!'Ͳ* &):ʑOd} ;:®:Rʮ:ȑʮ> GͰ®:Oc:S_:w^:Wq:cp:W:~Zҍ:ǓŒbz_gyҜ>2zx{>_|ڮ}ɯ!6w!5:S! ڐ0ڐ>>>G:xɯ2H:S!Rw!ʲ!ò!g~"A !A:S2S;2S!A~#^#V#^#V#ew^#V#a^#VͲSBcmSCwSRSF SGS@ۓSLǓѓ@SH;1őJ CUSTOM         ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?$DATA $START$DONE ͒$QUIT CRLF CRET $FFEED HALFLF BACKSP' NORMWD1 ALTRWD; PHSP E PHRUB O BINDSPY BLDON c BLDOFFm DBLON w DBLOFF UNDON UNDOFF SPRON SPROFF SUBON SUBOFF STKON Ǔ STKOFFѓ ITLON ۓ ITLOFF EXTON EXTOFF NLQON  NLQOFF BLDOVRDBLOVRCOMPOSCODE : PRVIEWìچCDPRVIEW WS "%>2'2!2"2#2(2)2!Ԇ~f#ʆ.PL ""2!*% ~2$:(X*|*~:"R~G!~/#*##^#V:$F> f:$=2$xf:#<2#z!)~h> f6> f6:(=2(*#"*+" Ç % > f>2#R> f:"<2"R:$6> f:#<2#*% ʇR:'> f2"ë*%~!"2(z:!> /-/:$6:#R>f:#=2#R!XچYN>f]G:!sx͆!Gxf+|zCODE FILNAM 1ASCIIFáýʆÔÕ":>2<2627282=2>21"2"4ʆ*4|*2~G:Exx Q Qjj o%ʊʏ !84͘Yʆ*2##~++YY#~ F`!Q_~!86*2#"2*4+"4> > ͘:8<28*: o>->~ɯɌGx͆!Gx͘+|¥ASCIIASCII WS V=%! PS > CueaaaaceeeiiiAAEaAooouuyOUcLYPSaiounNao?--24!<>===||||++||++++++--|-+||++--|=+=--=++++++++==||=aBgnErutoOnsoOEn=+>*I!J>2!:Qº=wú*S##"S*U++"U|쇵#zʡ~ ^_O#~_R#zʡ~=ʒ/~#~_L¡>â2!9"E*G!9"E1`2*qn!9"E1`2 ą*on*EG!"ť"2>>!9"G*E}͍G|#~.:j<=;l*hT!ĉhEd|A!|n}:祷}P}~ ͒2v~#~+|Ȉ}*n*n}2v*}*}> Æ>e>>>2>K_*Kn:͉w#ɯw# x%.E>)9 =4){_SN_#AɑL*Kd~*E*I!E^"E!I^"Iž!E^©º!EQ|ފԉ߉!E;|hG}o|g } ͗~# U6#`!IM4!IQ4!EI4!E^E!M!MQ!MIҕ!M;!MIȊ!IMp!Eͬ!MQ݊!EQç!EM4!E^I!EM a!EIQI!M;!E  # # U~w+E~w#Vw#eO~w#s#‚QQUQQQa7>w#¯[:Q–͈[ʹ*k"Y^#V!#[͛2[*U*Sz"˥"ͥ~2cl:[G*Y####~Ӌ#~+Ӌ::ą*"G7L*WK>2{:*g:2O/"\""22!x"*k#Ó~w’+#’!"*U*S{"˥"ͥ:{Ō|А]} ]ېͳ U*˥"*} *˥"::֥>2*k"Y~#ʌV+^*w*Y##^#VK*Y#~w*Y!,Ì*}ʌ:1Œ:ʌ: ʌ*ʌ>2*ͥ*˥í;*U*Szʮ,àG2u2*S"˥*U"ͥ:1ۍ:DG:2:G*#x2Ê*ͥ*˥{=+yͪʭ=j=A:q*"**":2:2+:|:2+*"**":2:2:2+**xj*"!"":xx=2:->2u*7#" ͛ l!P͈*ĉ:o&͈d*'":G:*:RO>:G}:_*"*":<2-2ô**"!~# ’ɯ2å!Ò!"*ͅڏ}؏=:G:G:O>ɯ|>2 G ͱ=:><} ͱ" Ő=5x2 >}2:{*ͥ}ʂ*˥"˥"ͥxqyqqO",ġͅ|¥Аʫ}ʠې¥ɯ<͘* "o&|} |} !2"22"222" !͛"s!~H5B:12*sА:=2y *åw}"å‚!Аo"å:O=2!ä"å!:Oʤ=2#¶+#+y^#Vlĉ*ե #ޑ*Хĉ͈d~w#~w:u{/_z/W*s}"å*s}|)} )͘####~ɯ2*7">2{*)"g*"g~w*^&*ڠ"*q*Ұ!"x**j":G2:2:G 2v!"222>2{:>2G2:O­:sʭ}ʾ"̈́þ* & ! ͖>2!""""""""22:1::_:^*: O/"!:!:R=O7:A21:B2ɕ*.X:?21:@2o*+X* :"^"W2`:Pڙ:g: O/":<2: x!O:-g/O: g/һ!":<2:-:!ܕ:<2G!U>:g: O/":<2: :<2:0ġ{_+ġА+1"a"g:B2 **˥__*a`#_:m2ʹ*aА·:1ʷ*˥*ڷ!x"ӥ:=2¢>2>2{_*":{*a"o"q*"k*q"m*aА> 2a*Y^#V*w*Y##^#V=;:֥>2*m"*a Fw:^_*""y*o}x:a x>_*y#jW #xo&"a͛"o:a Ÿ*w#ʔ: ʗ;> 2a >2[͊: ٗ*Fٗ:֥ ֗7#*ХٗGC1:x:xFͨF́G*o}f*w #E*|EPW_͛ͤWo&Ȉ*n*o"*q͎ͯU*a}|GàͯP*a#*aÖ*g}£:ʙ:<2à:<2"a!"g: ʻG͛*o"o*}*n**"!l!ĉd*k"ß͖**">2{*:.)@#D:1D):v#v:@h: v@#ʛ:ʍ:ʛ#ʲ:ʲں>O#*ڦٙ#*֦ٙ*ئYN#~2ҥy# y@ # y?2ϥY##~2Х#~2ѥ#~2ӥ#~2ԥ#~2ե#~2֥#~2ץ#~2إ#~2٥#~2ڥ:եi#i):եʩ#ʩ)**©*)ʩ:եʸ):ե ƚ:եԚ:ե"w**ӥ"*j"*j"*j"*j":ϥ!᥾: 3!"ť*ե"2Y}L^#Vn:֥!"ť&o)))*ܦl͈ĉd!ë*ʄ*&ʫ}/o|/g#*z*|!*v*z*ߛ""**:sP*ǥz&):`&o&lĉh}& :s<:v 2*OF"**z@j*!:: l_͛"F*:֥ ʂ*Х*:„::–:Ν::֥F*GG*"*!*n!͖{1*|_> :ʧ:֥ʧ<: <ǟ*:֥ǟ!:֥ ۟l*Хĉd*!:*ť "ť*!*ť:֥ !l*Х͈d:?*?: *"*y#o#*ʇ**)!ʂ*:֥ ʂe:ХO/*:ʖ*1*ץ}:ե@*#Ơ:Ơ*٥>Р *w#^#V+^:֥:֥@*w#*Х{:ҥO)*Х{z<{_*Ԧ^#Nym*y0#P:a͒y2a!xxw*}X{^#V}_: {*}:_:ʸN#FK{ۡۡ:@:@*@7">2{*w"w1x*w )"w*w*ۥ"ۥ*Ȧn*ʦn*w*"*n!*n!"n*w*"*n*n*w*"*n!*n!"n*w*"*n*n:!w*Ҧn*Цn*t+*ǥ"ǥ*|!*~n**ۥ"ۥ*ߥ"ߥ*ݥ"ݥ*"*"*"*"*"*"*"!#>2*y #*w!*"*# **!"* !"*n*n!*w*"*̦n*Φn:T:Uc:ե@c͍!ߥw*¦*Ʀ‚2ݥʯ*Ħï!ݥw*Ʀ*¦§2ߥʯ*n}~#OGyҤ!#~+N##+yO9500̩dtŧx̧&&&ަ x x xxxxV0%00    @3 @39 ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?    +!      +)   +    +(    +"      +*DATA `8COMPOŞ$PF $PG $STARTd$DONE $QUIT tCODE {9501A|ܧħЧx§>>>ަdxd x dxdxV0%00    @3 @39 ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?    +!      +)   +    +(    +"      +*DATA `UCOMPOS$PF ħ $PG Ч $START|$DONE $QUIT CODE {9501B|ܧħЧx§>>>ަdxd x dxdxV0%00    @3 @39 ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?    +!      +)   +    +(    +"      +*DATA `UCOMPOS$PF ħ $PG Ч $START|$DONE $QUIT CODE {C1550 sc۪5&5555ަ`êPǪ˪`ϪP,/2$#& !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVW????????????????????????PIS-????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~O~E'aeAEo^o~o`u^u`y~O~U~L-Y=Ptf-a'i'o'u'n~N~a_o_?!<<>>oI=_fj-:n "Y]<$ "Y<AN$ "Y<AN$ QENQENPPT00R FF0000XY!"<>EF&O$&M$#!# #"DATA `)COMPOS5$PF  $PG  $STARTs$DONE $QUIT CODE {LBP8 ާc, cը,̨ШܨèǨ bbަ&,3,<,E,N(,]2,l<,{,,,,   ;=7 I0;;p  = = ?2000 K; B2 K; B1 K; B0 K; B2 K100;200 B1 K100;200 B3 K100;200 B?0 K32 C; B?0 K48 C; B?0 K32 C100;200 B?0 K48 C100;200 B3m23m4m24m;00 G1m22m00; G0;;p1;;p????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?#!# #" DATA `CCOMPOSPS8 PS12 $PF $PG $STARTާ$DONE $QUIT CODE {               ####(####(##CITMSPܪڧʧH?ZBNx'+!$/737:>ܨ>||ަx x xxxx xx @~56O  @ @PMPPMPA245LEFGH--SSTxxR#RR[Rptx|RRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-|~_.-v-n2`'?    +!       +)    +    +(    +"       +*DATA `HCOMPOSܨ$PF B $PG N $START$DONE ڧ$QUIT ʧCODE {SP8050 ʬd00ʩ xznbʪ&ަĨx̨ xԨ xܨxxxx x xxx&x0  TT: TTDX TTN!TTXX!TT j0$f0$ice   R2$R2$R2$R2$R2$R2$ R101$ R101$ R101$ R101$ R101$ R101$ R101$ R101$ R101$ R101$ R101$f1$f0$U0$bcde  B00$h0$h1$iĩǩ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>aB,gn-Eru.toIO-nso|O/En=_+_>_<_-:~-o.-v-n2`'?#!# #" DATA `COMPOSʪPS12 V$PF $PG $BLACKb $RED n $STARTd $DONE $QUIT CODE {22222-22A<##777-2222222222#(<(-<777<77<<#27-F<<7<727<7A722#(#2<27272#77#7#F7277(-#72A22(#(#<-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<DIABLOá-=T2""!9"1!?͋>2*!J͂>2!Pq""!9"122q*!J͂:G:J=2G:J+J!9"*!9"12!q!9"12dė!q*2>Ä>!9"*>í>í>2í>Kí>eí_*ȇȇȇG#~҇:OͤC ۇ!~q~#~>q͆=2~#^#Vw>q2 n@J> n!8!DʔʙʞʣÆ:͉́ww#‚ɯw# x‹.E>)ҟ =š){_ڹڴ_#§ɑò*d~*Չ*ى!Չ"Չ!ى"ى́!Չ́́ !Չń:́ÉV!Չˊ{@}oG}o|g`xiG}o|g`x͇G}o|g`xG}o|g`xw#~@k/~.#^~# 6#!ى݉Ċ!ىĊ!ՉىĊ!ՉՉ!݉!݉!݉ى%!݉ˊ!݉ىX!ى݉!Չw#?:Ē$ͻ$$222222!>"͚:72̙*|ʯ*6*́Ԛ""""Åͧ*&* i" ̋!" **:>;" **:>;" **:> ;:ͅw:ė*" q:0g: O͕"")"3ë2"":p: p*)ip*0}p*>t>2$:晷=!ʑ!:$ʑ!:{"-ƌ**6́:+G:G:ƌ͚y:̙Ռ2̙͞!4*":7*mk&ͤ*) s#r#:+G:,x@w#:w#:w#":+D":D=2":+0T hy":y=2"y":y=2"*u}2*)"):_*3"3ɯã:+27ì*+ڂÂ**"6z-ōͣō|} |    2 O2˙2֙*"*":78:JG:2:GQ*͟Qx2\**{Ýc͚ˆyY =ǎ=ʞ:™Ύ*ř"ř*ܙ*ڙ"ܙ:ٙ2ٙ:Ǚ2ǙÈ:™َ:֙2֙È*ř"ř*ܙ*ڙ"ܙ:י2י:Ǚ2Ǚ:ؙ2ؙÈ**ܙx͢*ři"ř!"ܙ"ڙ:ٙՏՏ=2ٙ:ƙ>2˙*řͽ#"ř m ҈!P**:יo&ʈ*ř́ʄ܏"ř܏:G:ș܏*ř:יگOͤ:G}܏܏:ٙ_*ř́܏i"ř*ܙ"ܙ:ș<2șÊ2*ř*ڙ"ڙ!֙ޙ~# ɯ2!ޙ֙!"ڙ*ə7}5͚:ٙG:יG:ǙOO>ɯk|G>2™ͣGYV ͚b=:™><} { "͚ʒnx >}ʏ:̢͙*}ߐ*""xΐyΐΐO"ə͢|-}8ɯ %!""%ͅ:³}ʾ" þ:ͺ> %!"""" 2222/21:7:+@::: ڍ:g:O͕" :<2:x!O:3g͕O:g͕iү!" :<2:3:!Е:<2G!>:g:O͕" :<2::<2:6~#OGy,!́,#~++N##+yO͹͹"):$Pi*٘>d}d{2!:+0u:ƒͅw@ͤ*ͣŸ}%:+:ؖ>ؖ:ؖ^#V#~2+#~2#~2++~:$2*͏""!+~~~xG:x2:G~@?x!?!*xGj!Mj:MGj:+Z_j:+iͽGj:+uu!5:ʄØxؗ{z¦{_!^{ ʸ#Ny:+!w!!%:_*:%i""** z*٘ {ͺ> %2'{ͺ!,*"ͅ**)z*٘p_: ={Ø{t{Ø :%{ʅ(͝> %*"@:%/ç:$!%wȷ!0!4!$ɘ! Ϙ/????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA COMPOSPS10 $PF 8 $PG D $STARTP$DONE $QUIT CODE                      630WP~00ϧۧ<xȧ@ަxx``x``       PQ  P  P ERW&OABYZ PQ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA `COMPOSPS10 b$PF ϧ $PG ۧ $START~$DONE $QUIT CODE {                     630ECS9ĩԩ00$ +<x 36-0~@ަxxx      ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??????????????@ @ @ ERW&O& PQAB DATA `ECOMPOS~PS10 $PF $PG  $STARTĩ$DONE $QUIT ԩCODE {                     MX80ɩLl\UHxŧɧަ|x xxxF5T 2F5 2F5 A45LEF  SST--????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?    +!       +)    +    +(    +"       +*DATA `5COMPOSɧ$PF $PG $STARTL$DONE l$QUIT \CODE {FX80dtUH?CxΧҧȧ˧§ŧ֧ާڧާ&&&ަx x xxxxF5 2F5 2F5 PMPPMPA45LEFGH--SSTU0U1R#RR[R#'+/37;?RRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-|~_.-v-n2`'?    +!       +)    +    +(    +"       +*DATA `COMPOS$PF $PG $STARTd$DONE $QUIT tCODE {RX80̪dtUHL֧xΧҧȧ˧§ŧ̨&&&ަx x xxxxF5 2F5 2F5 PMPPMPA45LEFGH--R#RR@RSSTU0U1 $(,048<@DHmRRRRRRRRRR R m@}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\ ????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-:~_.-v-n2`'?    +!       +)    +    +(    +"       +*DATA `8COMPOS̨$PF ֧ $PG $STARTd$DONE $QUIT tCODE {LX80CƧ֧U_?èxGSv59x-1AD;>'*emimptCJަx x  x x x x x  x x @O!x  @ @WMWPWMWPWPWMWP45--YEFGHR#RR@R3SSTxxmRRRRRRRRRR R m@}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\ ????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_++1214<<>>agn-Eru.toIO-sEn=_+_>_<_fj-:~--\-n2?#!#!# # #"#"DATA `COMPOSC$PF G $PG S $STARTƧ$DONE $QUIT ֧CODE {LQ800"بȨw⩔_k{MxEIY\SV?B}"????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-:~_.-v-n2`'? DATA `:COMPOS"PS8 PS12 $PF _ $PG k $START$DONE ب$QUIT ȨCODE {                                                           LQ1500߫@P`G]/;Lx),#&NVRVߩħަp } x  xx ˨ب$A__a_A__a_       @ @ @ pxWP pxWM pxWP pxWP pxWM pxWP pxWM pxWP pxWM pxWPpWpWpWpW45--\EFGHR#RR@R3SSTTsw{RRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-:~-.-v-n2`'? DATA `COMPOSߩPS8 aPS12 c$PF / $PG ; $START@$DONE P$QUIT `CODE {                                                           FX85y<,ި9ƨҨxèybާަLx Vx ` xj x tx ~xx j xxx ))x ))  @O!x  @@ pWM pWP pWM pWP pWP pWM pWP pWP pWP45--YEFGHR#RR@R3SSTxx !%)-15RRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+_>_<_fj-|~_.-v-n2`'?#!#!# # #"#" DATA `COMPOSyPS12 +PS12I +$PF ƨ $PG Ҩ $START$DONE <$QUIT ,CODE {                                       HPTJIةL|d`ĩxަ   F-0U0O 2F-0 2F-0 ????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Pt/\||||\\||\///\\--|--|||\/--|--|----\\//-|-|//mw||~^agn-Eru.toIO-n_so|En=_>_<_fj-|~_.-v-n2'`?ALEF-1-0U0U1#!# #"DATA `COMPOS$PF $PG ĩ $STARTL$DONE |$QUIT dCODE {HPLJET Ȫ '5cG>bglwNY§§ަx x xxx%x-xڬX8X8X8X8X8X8X8X8X8X8X8 X8????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Pt/\||||\\||\///\\--|--|||\/--|--|----\\//-|-|//mw||~^agn-Eru.toIO-n_so|En=_>_<_fj-|~_.-v-n2?(s17H(s12H(s10H(s8.1H(s6.5H(s5.7H(s4.6H&a0000V&a0000H&k00H (s1S)s1S(sS)sS&dD&d@ (s4B)s4B(sB)sB&lO&lE &l1O&lEE(sP)s1P&lL EE@ DATA ` COMPOSPS8 PS10 PS10I PS10B PS14B $PF $PG $START $DONE $QUIT Ȫ CODE {)s6V)s8V)s10V)s12V)s14V)s18V)s24V)s30V<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<.FF ,..*..........020,NF:>D<8HF (L*0F*2*2*&.2"2J2.20$"20D00( "4@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"DD<<<  ""JJ.F"" >*F2,<.B(<0**.2**.2**.2**.2DFP*2>DBJ<4BDD*H4 BBB.,"JB044""""L**((4240"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<""$6.@@((*..>..........$">4>*T<:>B::FD:B00.B.,(4(*2.*0H.,0,$&,&>4..,*2@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<:::&( $BB:B"" >(B."*:::06*.(,,.(,,.(,,.(,,<BR.,8<BB:4@<<.B4&&BBB,8&B:.62""""H &&.00>"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"$80ND$&$00,0000000000242,P@>>@:6FJ$0B:NBD8D@4@,4B.0*0*&.6"4H2.00$$ 0(@0.( "<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"@@:::$$"& FF0B"">*B2,>0>*@..*.0.*.0.*.0.*.0@DP.0:@DF:6D@@.D2$$DDD.4&F>.62""""H&&*(222:"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$:$:6$.$$$$$$$$$$$$666"642260.84$6,@46064(244H44,$$4$( ( $(&:($(&(&2&& (($0$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$44000$$$$$44$442 4(",$4$0 $ $($ $($ $($ $(46@$$24640$644$6(666$(44&0(:(((<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<(,8nBtd$44BB$B$>BBBBBBBBBB$$fffFhVRRXJDTV 6X>lVZPZPNVRXzTRN,>(B^$>D:B:(BD(@hDBDD,:0D@`@@888TT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<(VVJJJ"$::B8TRRJ^((@R:VD,FBJT@JF>:BD>:BD>:BD>:BDV Xr> BZV ZRJ$HZVV>ZD" ZZZBN:RP@PP((((d$$::@:@H(HPLJ:B Ȫ '5,cG>bglwNY§§ަx x xxx%x-xX8**X8**X8$$X8&&X8((X8$$X8&&X8((X8,,X8,,X8,,X8,,????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Pt/\||||\\||\///\\--|--|||\/--|--|----\\//-|-|//mw||~^agn-Eru.toIO-n_so|En=_>_<_fj-|~_.-v-n2?(s17H(s12H(s10H(s8.1H(s6.5H(s5.7H(s4.6H&a0000V&a0000H&k00H (s1S)s1S(sS)sS&dD&d@ (s4B)s4B(sB)sB&lO&lE &l1O&lEE(sP)s1P&lL EE@ #)U)8U DATA ` $PF $PG $START $DONE $QUIT Ȫ COMPOSPS8 ,PS10 &PS10I (PS10B *PS14B .CODE {)s6V)s8V)s10V)s12V)s14V)s18V)s24V)s30V"H0 " >0HH ,4 ,0000000000242(NH<@H>PJF8FH0@LHLLH@,0P04,6,,06 6L6044($"64H44,""6H H.2"DD<<<  ""JJ.F"" >*F2,<.B(<0**.2**.2**.2**.2DFP*2>DBJ<4BDD*H4 BBB.,"JB044""""L**((4240""H0 " $80BB(&,4 @0000000000 @4@(P><@D<<>F(2D(B."*:::06*.(,,.(,,.(,,.(,,<BR.,8<BB:4@<<.B4&&BBB,8&B:.62""""H &&.00>"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"$88ND$$$4$,0000000000242(PD@@D<:JL(4FBBBBBBBBBB$$fff>XXXT^LJX^(>\Ft^^T^TPX\X|XXP,>,B|$>D:D:(BD(@hDBDD,:0D@`@@888TT(TB<(VVJJJ"$::B8TRRJ^((@R:VD,FBJT@JF>:BD>:BD>:BD>:BDV Xr> BZV ZRJ$HZVV>ZD" ZZZBN:RP@PP((((d$$::@:@H(HPLJ:U . 'fdNcxo֭ͭd쩮@ަ*x>xRxf xz x x x xʪ xުxxxx.xBxVxjx~xxxxΫxxx x x2 xF xZ xn xxxxxҬxxxx"x6xJx^x~X8ٵٵX8ٵٵX8ٵٵX8۶۶δX8۶۶X8۶۶X8ݷݷ X8ݷݷX8ݷݷ2X8߸߸FX8߸߸ZX8߸߸nX8ṂX8ṖX8ṪX8ṾX8ҵX8(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H&a0000V&a0000H&k00H (s1S)s1S(sS)sS&dD&d@ (s4B)s4B(sB)sB&lO&lE &l1O&lE@ E(sP)s1P&lL EER[(8U)8U(0B)0BRTFG,.5678/QWAS;:12340CX!"*#$+D????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Pt|~^agn-Eru.toIO-n_so|En=_>_<_fj-|~_.-v-n2'`?ICOMPOSd$START $DONE . $QUIT  $PF $PG $DR7 *$DR7I >$DR7B R$DR10 f$DR10Iz$DR10B$DR12 $DR12I$DR12Bʪ$DR16 ު$DR16I$DR16B$DR18 $DR18I.$DR18BB$DR24 V$DR24Ij$DR24B~$DR30 $DR30I$DR30B$LQ7 Ϋ$LQ7I $LQ7B $LQ10 $LQ10I$LQ10B2$LQ12 F$LQ12IZ$LQ12Bn$LQ16 $LQ16I$LQ16B$LQ18 $LQ18IҬ$LQ18B$LQ24 $LQ24I$LQ24B"$LQ30 6$LQ30IJ$LQ30B^$PS6 ~$PS6I $PS6B $PS8 $PS8I δ$PS8B $PS10 $PS10I $PS10B$PS12 2$PS12IF$PS12BZ$PS14 n$PS14I$PS14B$PS18B$PS24B$PS30BҵPS6 ۵PS8 ݶPS10B ߷PS12B PS14B DATA `CODE {9999::::::;;;;;;)s6V)s6V)s6V)s8V)s8V)s8V)s10V)s10V)s10V)s12V)s12V)s12V)s14V)s14V)s14V)s18V)s24V)s30V("2&  0$""& "(("2($ $$" &"6 $"("    0" ,$$<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"$"""&&("(" """" $,8"0" $& $$$("$$$""&$""2 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$($6."$$$$$$$$$$$$$$"@,.40*&42$,$<24*4,*&0(>(*("2$($($&("6&((($& 2 " $*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,,***""""00$2"4$2&"($*"&$$$&&$$&&$$&&$$&&,4@$&<,40*$4,,$0(444&* 0*"*(<$$$$$$<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<$@0F:*,2222222222....N8:<:62B>080J>@6B>64>4N482  .>,4062420L4266",4,D,,* 2<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<$88666*****>>0>$$*<0:4.:02*0.,224,224,224,2248BR,2J8@>62@88,<4@@@22,>8,86$$$$F@B,,(.&,$<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<, N8VF$$26" 88888888888888fDFFH@:JJ8F:\LL@LHB:H@`@:<& &>L:>6>8 <::Z:<>@(8 <4N462&$(6H<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,DD@@@22222HH:L,,2F6L: 8<8<288:8<<:8<<:8<<:8<LLL,,,,\HH6.,:,:,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<2&&\@dR,,:B & (BBBBBBBBBB$$BDB@tPPTTLF^T&>PBhV\L\PLFTJpJFJ,(,HVBH@HB&FF @ fFFHH,@$D>Z<>:,:,LP<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<2PPLPL&&:::::TPBV22:T@VF&@JBF:BBBBFDBBFDBBFDBBFDP"\vB FfP \TL F\PPBTH&&\\\FL@TF>LH2222hVZ484V4@2HPLJ:Y . 'foNcxo֭ͭo쩮ʹަ*x>xRxf xz x x x xʪ xުxxxx.xBxVxjx~xxxxΫxxx x x2 xF xZ xn xxxxxҬxxxx"x6xJx^x X8ffX8hh3X8jjGX8ll[X8nnoX8ppX8rrX8ttX8vvX8xxӵX8zzX8||X8~~X8À#X8Ă7X8ńKX8Ɔ_X8Lj(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H&a0000V&a0000H&k00H (s1S)s1S(sS)sS&dD&d@ (s4B)s4B(sB)sB&lO&lE &l1O&lE@ E(sP)s1P&lL EET]f(8Q)0U(8Q)8Q(9Q)9Q????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??VCOMPOSo$START $DONE . $QUIT  $PF $PG $DR7 *$DR7I >$DR7B R$DR10 f$DR10Iz$DR10B$DR12 $DR12I$DR12Bʪ$DR16 ު$DR16I$DR16B$DR18 $DR18I.$DR18BB$DR24 V$DR24Ij$DR24B~$DR30 $DR30I$DR30B$LQ7 Ϋ$LQ7I $LQ7B $LQ10 $LQ10I$LQ10B2$LQ12 F$LQ12IZ$LQ12Bn$LQ16 $LQ16I$LQ16B$LQ18 $LQ18IҬ$LQ18B$LQ24 $LQ24I$LQ24B"$LQ30 6$LQ30IJ$LQ30B^$PS6 $PS6I $PS6B 3$PS8 G$PS8I [$PS8B o$PS10 $PS10I$PS10B$PS12 $PS12Iӵ$PS12B$PS14 $PS14I$PS14B#$PS18B7$PS24BK$PS30B_PS6 hPS6I jPS6B lPS8 nPS8I pPS8B rPS10 tPS10I vPS10B xPS12 zPS12I |PS12B ~PS14 PS14I PS14B PS18B PS24B PS30B DATA `*"CODE {9999::::::;;;;;;)s6V)s6V)s6V)s8V)s8V)s8V)s10V)s10V)s10V)s12V)s12V)s12V)s14V)s14V)s14V)s18V)s24V)s30V&.( *  ***2&"$(" (($ 0&((&(&2&&$ *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&&"""(($&"&(4&&(("(&&(((((&*$$*&,$ *  ***2" "&"(&"",&&&" $ ,""   *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"""""$$"&"&0$"&$"&""&&&&$*((*&(( *  ***2 "$ &(& 0$( ($ $,"  *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $$"$" (0$ ($ ( $((($  *$$* 2 >6 8 888 B2..6.(660*>26(62$,62@22.   $$  $"6$$$$$," "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<22... 66 .2$ ( , $$ $$ $$ $$26F $2266.$622 6$666$$62($800" "8 2 >0 8" 888B.*.2,&42,,822(2,$*0*:,(," $"$" 6$"""$," "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<..,,, 00 .2$( * $"$$"$$"$$"$.2>$"0.20,$2..$2$222"$0(& 844 8 2 44 8$ 888 B*,.0,(24 2*@04(4.&*0*<.(,$ "$$ &$6&"$$$* " "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<**,,, 00 .0& ( , ""$""$""$""$*4>"".*40,$4**"0$444"&0(($822" "8((((((((((((((((((((((((((((((((@(ND (D*((((((((((DDD(P>8:B:2BD$<4N>B2B>,6D>P>>:*(((,$,((,*D,,,, ,$8$$$*(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>:::(((((DD((:$>,(2(8(((((,,((,,((,,((,,>BV(,>>BD:.B>>(B,BBB,, D>$2,D>> *(*D((((((((((((((((((((((((((((((((@(P: (D*((((((((((DDD&R:68>82B@ 86H>@2@8.4<6H828"*"((**$,$",(D,,** ,$6"" *(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<::888(((((<<((8$>,&2(4(((*$,,*$,,*$,,*$,,:@N*,<:@<8,@::*>,@@@,. <2"0*D>> "("D(((((((((((((((((((((((@((((((((@(@@ (D*((((((((((DDD(P66:<62>@ (>4N<@2@:04<4L:46$*$((*,$.$(.,D.*.,$$.&4&$$*(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<66666 (((((<<((:$<.(2(6(((*$*.*$*.*$*.*$*.6@L**:6@<6.@66*<. @@@*0$<4$2.D>> ,(,D22222222222222222222222222222222 L2^R&&2T 22222222222TTT2bLDFPF>RR$,J@^LPPN&&BDXJLJ@XD>D*2*2244,4,*62R6442 $6,B*((222Tf<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<FFBBB&&22222JJ22 F,J6.<2@2224,464,464,464,46FL`44HFLJB6LFF4J4&&LLL46$J>(:2TLL((*2*T22222222222222222222222222222222 L2NN&&2T 22222222222TTT0b@BFJBNF:>J@\F@B*2*2246,8, 08 6R8286**"8.@0,,222Tf<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@@BBB((22222JJ22 F,J8 0<2B2224,284,284,284,28@N^42F@NJB8N@@4J8((NNN2:*J@,>8TNN$$424T::::::::::::::::::::::::::::::::&&Z:l`,,:`&::::::::::: ```:rZPR^PH^`*2VJnZ^F^Z@J`XrZXR&:&:::>2@:&8@ < `@@@>,,&@4N442:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ZZPPP**:::::``::&R2Z@&:F:N:::::@@::@@::@@::@@Z ^z: @ZZ ^`P @^ZZ:^@**^^^@@,`X4F@`XX**:8:`::::::::::::::::::::::::::::::::"(Z:jT,,:`&::::::::::: ```6tPLRXNF\Z*,NNfVZFZN@HTLfPHP0:0::::4<2"2>:`><::&* >2N0..:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<PPNNN**:::::TT::&R4V>"6F:J::::2<>:2<>:2<>:2<>PZn:ZPP:X<**ZZZ<@*TH.D:`XX,*0:0`::::::::::::::::::::::::::::::::&&Z:\Z,,:`&::::::::::: ```8rLLPVLFXZ.:XJnVZHZRDHTJjRJL2:2::<>2@4$8B"$>"`B:@>22(@4H842:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<LLLLL..:::::TT::&P2VB&8F:L:::<4:@<4:@<4:@<4:@L"Zn<":RL"ZTL"@ZLLjPR|>``|>P>~||||||||||DDx`|š°⮞j~j||>~lnPxJNJ̌|ljTrvpl|||<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>``|||||||>>RlPx||||~n|~n|~n|~n|J~J|J¶J¢~``|jp>>>>μ^^z>HPL:AD . 'fdNcxo֭ͭd쩮´ަ*x>xRxf xz x x x xʪ xުxxxx.xBxVxjx~xxxxΫxxx x x2 xF xZ xn xxxxxҬxxxx"x6xJx^xX8[[X8]](X8__<X8aaPX8ccdX8eexX8ggX8iiX8kkX8mmȵX8ooܵX8qqX8ssX8uuX8ww,X8yy@X8{{TX8}}(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H(s17H(s17H(s17H(s12H(s12H(s12H(s10H(s10H(s10H(s8.1H(s8.1H(s8.1H(s6.5H(s6.5H(s6.5H(s5.7H(s5.7H(s5.7H(s4.6H(s4.6H(s4.6H&a0000V&a0000H&k00H (s1S)s1S(sS)sS&dD&d@ (s4B)s4B(sB)sB&lO&lE &l1O&lE@ E(sP)s1P&lL EER[(8U)8U(0B)0BRTFG,.5678/QWAS;:12340CX!"*#$+D????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Pt|~^agn-Eru.toIO-n_so|En=_>_<_fj-|~_.-v-n2'`?VCOMPOSd$START $DONE . $QUIT  $PF $PG $DR7 *$DR7I >$DR7B R$DR10 f$DR10Iz$DR10B$DR12 $DR12I$DR12Bʪ$DR16 ު$DR16I$DR16B$DR18 $DR18I.$DR18BB$DR24 V$DR24Ij$DR24B~$DR30 $DR30I$DR30B$LQ7 Ϋ$LQ7I $LQ7B $LQ10 $LQ10I$LQ10B2$LQ12 F$LQ12IZ$LQ12Bn$LQ16 $LQ16I$LQ16B$LQ18 $LQ18IҬ$LQ18B$LQ24 $LQ24I$LQ24B"$LQ30 6$LQ30IJ$LQ30B^$PS6 $PS6I $PS6B ($PS8 <$PS8I P$PS8B d$PS10 x$PS10I$PS10B$PS12 $PS12Iȵ$PS12Bܵ$PS14 $PS14I$PS14B$PS18B,$PS24B@$PS30BTPS6 ]PS6I _PS6B aPS8 cPS8I ePS8B gPS10 iPS10I kPS10B mPS12 oPS12I qPS12B sPS14 uPS14I wPS14B yPS18B {PS24B }PS30B DATA `"CODE {9999::::::;;;;;;)s6V)s6V)s6V)s8V)s8V)s8V)s10V)s10V)s10V)s12V)s12V)s12V)s14V)s14V)s14V)s18V)s24V)s30V&.( *  ***2&"$(" (($ 0&((&(&2&&$ *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&&"""(($&"&(4&&(("(&&(((((&*$$*&,$ *  ***2" "&"(&"",&&&" $ ,""   *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"""""$$"&"&0$"&$"&""&&&&$*((*&(( *  ***2 "$ &(& 0$( ($ $,"  *"*0<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $$"$" (0$ ($ ( $((($  *$$* 2 >6 8 888 B2..6.(660*>26(62$,62@22.   $$  $"6$$$$$," "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<22... 66 .2$ ( , $$ $$ $$ $$26F $2266.$622 6$666$$62($800" "8 2 >0 8" 888B.*.2,&42,,822(2,$*0*:,(," $"$" 6$"""$," "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<..,,, 00 .2$( * $"$$"$$"$$"$.2>$"0.20,$2..$2$222"$0(& 844 8 2 44 8$ 888 B*,.0,(24 2*@04(4.&*0*<.(,$ "$$ &$6&"$$$* " "8B<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<**,,, 00 .0& ( , ""$""$""$""$*4>"".*40,$4**"0$444"&0(($822" "8((((((((((((((((((((((((((((((((@(ND (D*((((((((((DDD(P>8:B:2BD$<4N>B2B>,6D>P>>:*(((,$,((,*D,,,, ,$8$$$*(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>:::(((((DD((:$>,(2(8(((((,,((,,((,,((,,>BV(,>>BD:.B>>(B,BBB,, D>$2,D>> *(*D((((((((((((((((((((((((((((((((@(P: (D*((((((((((DDD&R:68>82B@ 86H>@2@8.4<6H828"*"((**$,$",(D,,** ,$6"" *(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<::888(((((<<((8$>,&2(4(((*$,,*$,,*$,,*$,,:@N*,<:@<8,@::*>,@@@,. <2"0*D>> "("D(((((((((((((((((((((((@((((((((@(@@ (D*((((((((((DDD(P66:<62>@ (>4N<@2@:04<4L:46$*$((*,$.$(.,D.*.,$$.&4&$$*(*DT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<66666 (((((<<((:$<.(2(6(((*$*.*$*.*$*.*$*.6@L**:6@<6.@66*<. @@@*0$<4$2.D>> ,(,D22222222222222222222222222222222 L2^R&&2T 22222222222TTT2bLDFPF>RR$,J@^LPPN&&BDXJLJ@XD>D*2*2244,4,*62R6442 $6,B*((222Tf<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<FFBBB&&22222JJ22 F,J6.<2@2224,464,464,464,46FL`44HFLJB6LFF4J4&&LLL46$J>(:2TLL((*2*T22222222222222222222222222222222 L2NN&&2T 22222222222TTT0b@BFJBNF:>J@\F@B*2*2246,8, 08 6R8286**"8.@0,,222Tf<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@@BBB((22222JJ22 F,J8 0<2B2224,284,284,284,28@N^42F@NJB8N@@4J8((NNN2:*J@,>8TNN$$424T::::::::::::::::::::::::::::::::&&Z:l`,,:`&::::::::::: ```:rZPR^PH^`*2VJnZ^F^Z@J`XrZXR&:&:::>2@:&8@ < `@@@>,,&@4N442:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ZZPPP**:::::``::&R2Z@&:F:N:::::@@::@@::@@::@@Z ^z: @ZZ ^`P @^ZZ:^@**^^^@@,`X4F@`XX**:8:`::::::::::::::::::::::::::::::::"(Z:jT,,:`&::::::::::: ```6tPLRXNF\Z*,NNfVZFZN@HTLfPHP0:0::::4<2"2>:`><::&* >2N0..:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<PPNNN**:::::TT::&R4V>"6F:J::::2<>:2<>:2<>:2<>PZn:ZPP:X<**ZZZ<@*TH.D:`XX,*0:0`::::::::::::::::::::::::::::::::&&Z:\Z,,:`&::::::::::: ```8rLLPVLFXZ.:XJnVZHZRDHTJjRJL2:2::<>2@4$8B"$>"`B:@>22(@4H842:::`r<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<LLLLL..:::::TT::&P2VB&8F:L:::<4:@<4:@<4:@<4:@L"Zn<":RL"ZTL"@ZLLjPR|>``|>P>~||||||||||DDx`|š°⮞j~j||>~lnPxJNJ̌|ljTrvpl|||<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>``|||||||>>RlPx||||~n|~n|~n|~n|J~J|J¶J¢~``|jp>>>>μ^^z>IBMCLR%hH ݪxʪΪĪǪҪڪ֪ڪާbbަx x xxxx`  }}  }}  }} }}X }} ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??^ bFH5T-06OIP0M0U0 bW02FHT-07I bW02FHT-07I mbW0W0:W0W1:W1W13 dEFGH-1-0S0S1T^IIP1P0#!# #"DATA `COMPOSާ$PF ݪ $PG $START% $DONE h $QUIT H CODE {ddddddddddddddddddddddddddddddddd?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??    +!       +)    +    +(    +"       +*DATA `XCOMPOS$PF ̧ $PG ا $STARTL$DONE |$QUIT dCODE {IBMPROo˩UH#' kfO[*.x<@6903DLHLgkd&&&ަ x x xxx x?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??h^ FH5T-6OI 2FHT-7OI 2FHT-7OI ::A2LEFGH--SSTII    +!       +)    +    +(    +"       +*DATA `COMPOSd$PF O $PG [ $START $DONE $QUIT ˩ CODE {IBMQUI a0`Ӫتڪ !Ϊxܧަxx x x x xxǪxxǪxxǪxxxxǪx?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??^ O-5I[\`6  -TW2I  -TW2IWIWIWIWIdA2]SST--#!# #" DATA `DCOMPOSPS12 FONTS |$PF $PG $STARTa $DONE $QUIT CODE {                        IBMWPo U0)- ytGS0x48gkgk?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??v^ 5T6OPU T7 T7 A2>--SST^PPUU#!# #"DATA `COMPOSr$PF G $PG S $START $DONE $QUIT CODE {                        IBMWPEd۪U0 ytDP"x15.)&)9A=A\`r4ަxx ?  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??v^                         [\0FH5T-6OPU [\H2FHT-7 [\H2FHT-7 A2>EFHG--SST^PP#!# #"DATA `pCOMPOSr$PF D $PG P $START $DONE $QUIT ۪ CODE {MT160LƧ¨ΨԨ xJަ)d 2d ;dD dM d Vd _d hdu d[:y(B       [=z[>z   (B(R(K(A(E(Z(H@}|`^[#@][\@#][\0~`}O~|[\]{|}_{0????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*H*mw||~^?#!# #"DATA ` COMPOS$PF $PG $STARTƧ$DONE $QUIT CODE {MPI99dtاݧ̧x&&&ަx x xxxx      3 ????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?   +!    +)  +   +(   +"    +*DATA `6COMPOS$PF $PG ̧ $STARTd$DONE $QUIT tCODE {SPINWR34]@]O9<>XZ> >= >= @????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA COMPOSPS10 $PF 8 $PG D $STARTP$DONE $QUIT CODE                        SPIN5000ҧx̧ϧ֧٧ܧߧ Xަxx||x||x||x|| &4 T&4 T&4 T34-']@GHEF  A27()RT????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA `COMPOSPS10 |$PF $PG $START$DONE $QUIT CODE {                       NECP2IҧUcgkxy}svmpVަx$ x+ x2x9x@xG xN xUx\x      FHT-6O ?1W2FHT-7 ?1W2FHT-7 ?7W?3W?1W?7W?3W?1W?4W?2W?4W?2W3LEFGH--SSTUU????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??    +!       +)    +    +(    +"       +*DATA `COMPOS$PF $PG $STARTҧ$DONE $QUIT CODE {NECP5竸Ʃʩx̩ԩЩԩש۩ߩ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?? DATA ` COMPOSPS6 uPS6S wPS12 qPS12S s$PF $PG $START0$DONE 0$QUIT 0CODE {" &))'(& ('(!"$#"$$$ (%& &!$$&(("$  "!)" "#(!!"" ((#()""!&$!%$! ""%$$))$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%"$$$$ $ "&&&&$$($&(     $   " &$))'(& ('(!"$#"$$$ (%& &!$$&(("$  "!)" "#(!!"" ((#()""!&$!%$! ""%$$))$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%"$$$$ $ "&&&&$$($&($     $   8001 sc۪5& 5555ަ`êPǪ˪`ϪP,/2$#& !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVW????????????????????????PIS-????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~O~E'aeAEo^o~o`u^u`y~O~U~L-Y=Ptf-a'i'o'u'n~N~a_o_?!<<>>oI=_fj-:n "Y]<$ "Y<AN$ "Y<AN$ QENQENPPT00r fXY!"&O$&M$#!# #"DATA `COMPOS5$PF $PG $STARTs$DONE $QUIT CODE {8023A sc۪5& 5555ަ`êPǪ˪`ϪP,/2$#& !"#$%&'()*+,-./0123456789:;<=>? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@ABCDEFGHIJKLMNOPQRSTUVW????????????????????????PIS-????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~O~E'aeAEo^o~o`u^u`y~O~U~L-Y=Ptf-a'i'o'u'n~N~a_o_?!<<>>oI=_fj-:n "Y]<$ "Y<AN$ "Y<AN$ QENQENPPT00r fXY!"<>&O$&M$#!# #"DATA `COMPOS5$PF $PG  $STARTs$DONE $QUIT CODE {ML84rcɪ?vn Ϊ۪ުتժҪժ4ަ   x  g ê H ƪ <    x gê Hƪ <rt????????????????So????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>|||||aB,gn-Eru.toIO-n_so|O/En=_>_<_fj-:~_o.-v-n2             0NDIKM DIKM0N65 DIKM0N65 %9NTIHCD10MJKLKM G  +!  +) +  +(  +"  +*DATA `JCOMPOS$PF $PG  $STARTr$DONE $QUIT CODE {ML92cJw O\_YVSVhrmrbennަ7 ; = x ? g D H G < 7 ; = x? g D HG <        0NDIKM DIKM0N65 DIKM0N65 00%9NTIHCD10MJKLKM G????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?  +!  +) +  +(  +"  +*DATA `COMPOS$PF w $PG $START$DONE $QUIT CODE {ML92It§UH26EQ 9=Acf]`iqmqt&d&ަx x xx " x* <FH-TO6 FH-TA 2XW7 FH-TA 2XW7 XWXWXWXWWXWXA2V-- EFGHSST????????????????????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~c|L-Y=Ptf? K+! K +) K+ K+( K+" K +*DATA `COMPOSt$PF E $PG Q $START $DONE $QUIT § CODE {ML182ҧkS_ xADMPGJpzuzVVަ2x 4 x6 x8x ;x>x4 x6 x;x>x =%S00!0!AKMID 0KMID6 0KMID6 CDHITI!B#!A!C@!A%9MJKLKM10!0!A!D!C!B!J!K!@!1@}|`^[#@][\@#][\0~`}O~|[\]{|}_{0????????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,ae~i`AE'aeAEo`u^y~c|Y-PtS-a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|--|----\\//-|-|//agn-Eru.toIO-n_so|En=_+_>_<_fj-|~_.-v-n2?#!# #"DATA `COMPOS$PF S $PG _ $STARTҧ $DONE  $QUIT CODE {ML182IҧUH~fr xRV`cZ]VVަ2x7 x = x BxGx Mx 7 x= xGxMx !6TFH-0I 7TFHW0-0A 2 7TFHW0-0A 2 W0:W0W0W1:W1W1-1-0EFGHA2S0S1TII????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #"DATA `COMPOS$PF f $PG r $STARTҧ$DONE $QUIT CODE {ML192@`Ϩۨ xɨ̨èƨħަ x g H < x H <    x        =%S0!*!20KMID !*0KMID6 !*0KMID6 10!/!*CDTIHI%9NMJKLKM????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #" DATA `GCOMPOSPS12 PS12I $PF Ϩ $PG ۨ $START@ $DONE $QUIT ` CODE {ML192I*@hUH  xبܨ"&*ħަ  è x Ȩ gͨ H Ө < è xͨ HӨ <  ΫЬè ΫЬͨ ΫЬӨx ΫЬ       UO6%HVI1!ATGH- W0A 2%HVI1!ATGH- W0A 2%HVI1!ATGH- W0W0:W0W1W1:W1%G%H--EFGHA2VSSTI3I1????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #" DATA `rCOMPOS*PS12 ЫPS12I Ҭ$PF $PG $START@($DONE ($QUIT h(CODE {ML292p٨娀 xǨʨӨ֨ͨШè 2ަ  x g H <  x g H <xgH<                =%S0!*!2KMIDr00Z   !/!*CDHITI%9 NMJKLKM10YZ????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #" DATA `<COMPOSPS12 $PF ٨ $PG $STARTp $DONE $QUIT CODE {             ML292I_p<$0 @x! DLHLOSW[_2ަ  x g H  <  x g H <xgH<                #UO6%HVI1TGH-r0I1%Q W03$%HVI17TGH-r0 W03$%HVI11TGH-r0 W0W0:W0W1W1:W1%G%H--EFGH3VSSTI3I1%P%Q????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #" DATA `COMPOS_PS12 $PF $ $PG 0 $STARTp($DONE ($QUIT (CODE {             PM2410s c8QA =admpgjnnnަ  $ x )x . H 3 <  $ x)x. H3 <????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? 9NVG   ZBZAZ6BCAC6C%9N  UV79HG  +!  +) +  +(  +"  +*DATA `COMPOSn$PF Q $PG A $START$DONE $QUIT CODE {P1090تp$Hڧ?X! xާب222ަx § xȧxΧԧx FH-T5 2FH-T5 2FH-T5 PPPPPPPA45LEFGH--SSTR@RR#R39=AEIMQU=RRRRRRRR>@}`|~[#[]\|$#]}\@~[{\|~[\]{|}@{Y???????????????????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|Y=S-a'i'o'u'a_o_1214<<>>HIHXH*H*mw||||~^agn-Eru.toIO-sEn=_+_>_<_fj-|~_.-v-n2`'?    +!       +)    +    +(    +"       +*DATA `DCOMPOSب$PF $PG  $STARTp$DONE $QUIT CODE {QUME<0AB 65 /54 5  5  ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA COMPOSPS10 $PF 8 $PG D $STARTP$DONE $QUIT CODE              QUMEWP~00 <̧xƧɧЧӧ֧ڧݧ~@ަxx~~x~~      45JRMB% JRMB%  JRMB%  IJQRK2MAB / $% DATA ` COMPOS~PS12 $CTRLF $CTRLG $START~$DONE $QUIT CODE {????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?              LP4080ܪ}0 }x{ܨLަʧxЧ x֧ xܧxVV       PM1  P  P S3 S2 S1 S4 ERWO& PQ_D1 A1,1@COURIER 10 A2,1@PRESTIGE ELITE 12 A3,1@LETTER GOTHIC 15 A4,1@BOLDFACE PS _D2 A1,2@COURIER 10 A2,2@PRESTIGE ELITE 12 A3,2@LETTER GOTHIC 15 A4,2@BOLDFACE PS ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^e~i~i^i`AEaeAEo^o`u^u`y~Ptaioun~N~a_o_?/\!<<>>HIHXH*||||++||++++\\--|--|||++--|--|----++++-|-|//H*mw||~^agn-ErtoIO-n_so|O/En=_+->_<_fj-|~_..@ DATA `COMPOSܨPS12 X$PF $PG  $START $DONE $QUIT $PORT d$LAND {dCODE {                                                                 SR550}}AB 65YZ\ P\  P/  P/ ????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`? DATA COMPOSPS10 $PF 8 $PG D $STARTP$DONE $QUIT CODE                                              GEM10X>dtH>ȧ̧xԧاΧѧ§ŧܧ>&&&ަx x xxxx@  @ @ WBWBWBWBWBWBA45LEF--SSTU0U1> =>K=#'+/37;=77777777>@}`|~[#[]\|$#]}\@~[{\|~[\]{|}@{P !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?????????????????????PI????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^ya'i'o'a_o_<<>>agrtoIEn=_>_<_fj~_.v-r#!# #"DATA `VCOMPOS>$PF $PG $STARTd$DONE $QUIT tCODE {NX10.Xxhzfx^bwqtknX[.ܧަx x x x x ɨx֨x xx  $x 1 > Kx  @O!  @@ xpWM xpWP xpWM xpWP xpWP xpWM xpWP pWPx pWPx xpWM xpWP xWMp xWPp xpWP xpWM xpWP45--\EFGH<R#RR[R3SSTxx©ƩʩΩҩ֩کީRRRRRRRRRR R @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|--|----\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA `\COMPOS.PS12 PS12I $PF z $PG $STARTX$DONE x$QUIT hCODE {                                            SG10Xxh^D֨ڨxΨҨܨߨȨ˨  ܧަx x x x x xx Ĩ xx 66 66 66x 66 66 66x 66 @  @@ BBW0 BBW0 BBW0 BBW1 BBW1 BBW1B45-1-0yEFGH<7#77[73S0S1Tp1p026:>BFJNRVZ7777777777 7 @}`|~[#[]\|$#]}\@~[{\| ~[\]{|}@{\????????????????????P|????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^e^eii^o^u^yc|S-a'i'o'u'a_o_/\1214<<>>HIHXH*||||\\||\///\\--|-+||\/--|=++=--=\\//-|-|//H*mw||~^agn-Eru.toIO-sEn=_+->_<_fj-|~_.-v-n2`'?#!# #" DATA `COMPOSPS12 8PS12I 8$PF $PG $STARTX$DONE x$QUIT hCODE {                                            SG10IXxhUHD˨ϨxèǨרڨѨԨ ܧަx x x x x xx xx  x  x  @ 6 @@ 5W05MW04W05W05W15MW15W1I1I0-1-0YEFGH<A2S0S1Tp1p045????????????????PI????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~??#!# #" DATA `RCOMPOSPS12 PS12I $PF $PG $STARTX$DONE x$QUIT hCODE {                                            DMP130(hH0ܨ ӨxϨѨ֨٨Į̃Ȩ̨nަ x   x  0 0        BX:U6  BX;6  BX;6 SSX ;:;: BB Y :;Y ;Y'~|????????????????????????->???? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,yPt#!# #" DATA `= COMPOSPS12 $PF ܨ $PG $START( $DONE h $QUIT H CODE {             D2100P@`x xħަ,   $,  $ èȨͨ$Ҩڨ$            =2;     ?1?2?1?2 1 ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,iouyPta_o_<<>>agn-ErtoIO-n_so|En=_+_>_<_fj-:~-.?#!# #" DATA `,COMPOSPS10 PS12 $PF $PG  $START@ $DONE $QUIT ` CODE {                                           D2110G@`x*-G/ x Għަ,   $,  $ èȨͨ$ҨɭɭڨǬǬɭɭ$ǬǬ            HB:=2>1  BX;  BX; ?1?2?1?2SSXBB ;:;:1 5;AY :;Y ;Y'~|????????????????????????->???? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,yPt#!# #" DATA `kCOMPOSGPS10 ˭PS12 ɬ$PF  $PG  $START@ $DONE $QUIT ` CODE {                                    DWP230~0 x@ަާ x xx             ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~L-Y-PtS-a'i'o'u'n~N~a_o_?/1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-.'`?#!# #" DATA `7COMPOSPS10 $PF $PG  $START~ $DONE $QUIT CODE {                   DWP520~0 x@ަާ x xx             ????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`ac,e^e~e`i~i^i`A~AE'aeAEo^o~o`u^u`y~O~U~L-Y-PtS-a'i'o'u'n~N~a_o_?/1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-.'`?#!# #" DATA `7COMPOSPS10 $PF $PG  $START~ $DONE $QUIT CODE {                   TI855ާ00sw[g <JxDGNQTXz}bbަ.x1 x5 x9x<x@x. x1x5Xx<y@Xy  PJMR<%d JMR< P JMR< P zyzyIJQRK2M / $%ed????????????????????PISo????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_?/\1214!<<>>HIHXH*||||\\||\///\\--|--|||\/--|--|----\\//-|-|//H*mw||~^aB,gn-Eru.toIO-n_so|O/En=_+_>_<_fj-:~-o.-v-n2'`?#!# #" DATA `COMPOSPS10 $PF [ $PG g $STARTާ$DONE $QUIT CODE {$H<<<<<<<????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-:~-.?#!# #" DATA ` COMPOSPS10 hPS12 j$PF $PG Ǩ $START($DONE H$QUIT 8CODE {<<884,88<<$$888488888888888888<<88<88<8(8<8<<<8<<88<<<<<8(4(0<0888880<8,,<,<888844088<<84((00888088<0<((48<<<<<8<<<<8<888<<88808088<0<((48<<<<<8<<<<8<888<<88808HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<DD@@<$4H@DD((8D @ 8@@@@@@@@@@$$????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #"DATA `dCOMPOS@$PF  $PG  $START$DONE §$QUIT CODE {P1351ī(H800Ĩ <xĩnަX ` xf dn <t xz x < <tx\\zx^^<\\<^^ I I I "*0["*0*0[!*0!"*1"*2*1!*2!IJ N?=?????????????????????????????????????????????????????????????????????????????????????????->????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,a^ae^eii^iAEaeAEo^ou^uyPtaioun~N~a_o_?!<<>>agn-ErtoIO-n_so|O/En=_+_>_<_fj-|~_.?#!# #" DATA `COMPOSĩPS10 ^PS12 `$PF $PG $START($DONE H$QUIT 8CODE {                                 Z1253|3!x3>>>ަħ ʧ xЧ x֧ xܧxxxc [?7h   cc         ~   %,  ??????????????????????????????????????????????????????????????????????????????????????????????^_`abcdefghijklmnopqrstuvwxyz{|}~?????????????????????So????????? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?C,u~e'a^a~a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_1214!<<>>aB,gn-Eru.toIO-n_so|O/En=_>_<_fj-:~-o-v-n2    +!      +)   +     +(    +"      +*DATA `COMPOS3$PF $PG  $START|$DONE $QUIT CODE {a`a[c,e^e~e`i~i^i`A~A[E'aeAEo^o~o`u^u`y~O~U~c|L-Y-PtS-a'i'o'u'n~N~a_o_1214!<<>>aB,gn-Eru.toIO-n_so|O/En=_>_<_fj-:~-o-v-n2    +!      +)   +     +(    +"      +O/UcZ7U0zf$-gVrp{*<`{'F* 0]Po + _ s$ C  ]..I\ \0 l .T%-   2l dh H 3l H .1     . h 4  1  Sh n8 q   H &+   4h  YR .   #+   s  ,     1  dh 4  5ah GR$(   .F  4   "HN  $      ( .     u Q   o 3 D  m H   Q      t 4     2H uL S  dh  #   Hh K      M    O     R    (  + l H     u. L    o            Q    R T     s    1  s Th 4   L     Q rR h  s 3HN X  (   K M1 HsT -       14     H   q r      @(hL . MO  R8 $( hNU   h.14 qs  ,/ 3km&H@   /`  dh  n$M(  MRS +H 1  4h    -l/km0   h R./1    $ . T   4 h    MQ h R    S           Q  h  R   s    Wh s .      !+  -/dh 1 s H dh l   (sD E. .     d    g,      s   $    Q r     (R    h n.  (d h n(.C  M Ro  3  H$     Q (  C K   MQ   dh +  T .  1H f N    $ 1 .1s$($f  l m v r, /3G( +-Ct  D r    H  kH-3   . . R-y $` h l (  O.  (  $DQ( , $( +  ! "#$` % KQ (rKM+H m, D/ NGS36    ! r "Q#,f1dh  JSMS $Q( 4dhP  .  Ul1dh km@  H . 1r$ hm.Q  d!h "$`   & dh l *,  N 259  n h $  g h   n qQU   v( DF S   .    O l s `    dh dh 4h Q  h  R UH  CM(Q. dR'-mr.m48'a   m  N ( $`  b   dh m    'N(1 H  MtQ$ ( CT 1 X  2dh 3  N9l H  N  $( CD F S U   +H 14  R   +n   @ dh l H1 f3  " R&-3 M4  s -r1N O S  4  $r '  H s +rH  s . 4  d+2l H  "  $ QR  &'D F  N Xs y  /1 2n  3   N l '   u(  K $(.U1N  N 2     dh dh +H m. 1k4 K  ,  s  HN.h23 +A O Ҥ@ S` dh (G    U .  T     `  dh 4 H`k l M   X (  , H-  13   F     Q d@B   C h  KM Qn'H N mQ n    Ah n` g h   k n CDFn tK L Og nP     Q d  knSn q+. hxDN !',. / 3 H 6GG1g l 31SDd.1"$-   &+KN    / 2kn q   3   n MQ d   h $    r   K  M    S  + i sH  b     dph .     Q    R  1   D     g      m   H N   a o    u w    4  .h O(+-L QS$N(MD HKҬq       .d h M$@m A C Dm n s H lmo   s    uV( *H 3  .4-`4 H L  MңH$2H S     3  9  M(  h F L S"$M%' (MR .dh T /S  .  s24 Rh H   M   dh $R (h .    g X h.$ Q  R%  'T( k t     Eh   K R +   Q    $.3S#-  $(   $Qr  '  X   (   h    R   T  dh $     M Q      U  (F     L    R    .    M  Q   4 Lh o Q   h 8S $h n' (   .     T  1Hm  N    m    o4   ,  O  - Mh(+ d    H- l H . O     H    $  M   s  t   R  (Qh S. 1   H    s 4 h 4   ( kD dh  n 14',   4h R   Hk$ N l( ./ 3q HQ  h      N        (sAh BE  F  H  mL     n M O  r4  `  dh +   -1-h T@ hdh SnHKs D(`   dh Q4 @DH dh * H 1dh m2N km        k-.`    Kh S(.GH rK   qG tD H ( A n q  CDE F q H KdnO hk   o  s     S  TV  nX.3   & H (  + ,H -   h $&DH '/ 1DHmv ҳDH   ( +  " DH MVE  ҨM@  DH ث@ r Dq  H r N  O  QX H. 23l4 9 N hM"@ mDHmN  s V hh EҦDH JK(   s)dADH MQ  t -H r 0 G3D  y @q  D k H "  ҤE nK% &  H ( S TDd H +,@b qDs  X.   dhP1 f D sH  dmr NزS3   n  KN4A n dh Ld MDE  H (` ҪD H 0DH n @H n "d@ҧH NQgS( R.3  D  H K     h  '7m ثDH $( .   . b  dg h N DH & DҬDH ҭH ұ@ dkDH rj2kDH  ms MQҴI L Sh  5  LTDH N . h   !"  K#H $ U %N+/1  HNnHO  Sq3 "dDH s 'H ұҲGKh   $ (s . Q T 1  4     $s &  DH (m . s1 4     Uh  $ KR( .  N -1 A S dh "dh %Q&t(u  S  YAGHdf  mLN V h .  UֳDH 5   4h "dh @ DH $C  E   h     U   &( S) -2G4  9 m  rh $   En(* R+,@ q GHN R1h 2h Q 8k  s (D ,  .T/ b N DHmN ҧDKN(h 1 N  3   H N6H dh Qk Qh (     S   .  M DH Rh +H n   * . 48   #Hm( B4    n&rH'h -.dq (  S&H ( NDH ҫA D E Hdmn N     TDH $&. L  &  + , /  R$+ . "dh B Hm3cdh o  q  T$  W',T.03 "dh (  3    4     A h "a    d f  h i  k  l   mn   sv #( *, kvH - h   kmd h k1H M 2O  dh n3  9H  N  kh dh $h , - dh 2d h Ӷ ,-de   h kmdh 2e S 3  dh j 9dh Ң` dg  h *-.dg h kq   s de h h 2 B Sh 4h DEH NS T # Ahn  EFIO    %dh ( R-  dh kmQh dh 2dh S dh q v Ҳde h DH Ldv X!HK".  K6(DKMF H $h &H Kh 4D H 2S  DrEKMQ(h. 2 S DH  @    rDH MO!@DH l%H ( SD Hز4d( BDmHmrJ  KLd  g s V+Dq  H ҭC ұHҲdh DH K  s 9H h #k    n(Mҭ.T1 h DH 3  "dh D  2 3   h N   &( +D -h `dh kSh01F  R $h h (MDH ,"$( 6" % '("kH J hE$`dh ' (dh K  dh k   v   *H , B d h    0mdh SV 5kH dT6dh DH 9  H m a e h s` c de   h mo s tv R  S      $   dh Yh -3N5HDH !H "dh k  #f   Fh Kh $b dh k@  m G   +  ELh s - h H 2 dkmS  n3m BH NS k  a b   d k v" B G&(dh *  ,m- S Yh .dh h kh  3d   4GA h h k (h -DR2dh P R 3   H" h   ' qD  A D H Kh gjV . #GhHm& H  N@  D  H N &Hm+H +dh  N&H DGH ثC D E    qG HmnrQ Vh 6 !  h ,H DH Sز"dh # h & Kh (D G H L-DH 8@ DH  #  $   & rGK  T  (D*@D  Hm,DDH r hӯDH ұH  2h N4 H !$D H V   (rKM    DH @DH Kh ҸH M " +        H N   Q  8$( @DH   (  .h  .   hMQ!(d  h +H .Ӳ'H * h . 3T #h $ y &H ( ,1S % ( 1  h  (   " stT       s#V $C M '(q   BE  F O R  DH mN   T DrH KM.  4     5H 8! NQ#knLQ n( .   @  A DEF H hT; hH h OQh"     #  H   dK   h Nh ( R* -DH mN   .h h O @ sDd H k mK   45  8   k B   h S( S    n t    ./H 1 Hy ST  3  H u   NT  ELUV!mN k   q T "H   @ A HefmҤD  Et  K   S  V&d( nB   DMNDH N a,H -s DH  .dh xh T Dm   H N1HN t h n Nr GH   mN  n  Q V 45H 8 !" HL V اDH mL( MD /2  D sHtN@ vH   mKh NQ  4   H    x O  QR  S  !"` dh tv $   F   dh o v   %'  D q sKNk (*+ -HJ T3K  T &+H  dh 2 s  vH S3  H    h q@ (h MS. $(  ,k H  (( 1DH  q     QR(A@ Ho T   23   S S2  T  @D     H l o Q   h   T  $A  q    L   (T3 H     n s 4 5 H(2 HO   V%h H & (dh dh l  v R+Hdh K    ,     D  E N `  h    k-  h C  kF     h M Rdh   .S Dq  KhLOh S @      B DF h H n r  s K d   hn  dh  Qh d h q2H RS  h   DS   h 4E   MS U   d kmdh !"` a d  h k l  no t#$a h  h de  h  k R   S, rN01  N QT2 Gldm5  Q  h DH 8  @m`  dq#H $ks %&M+a g h  k qddh ,H M`  H dh Mh SL O  h 1 dh D G B5  X  Q n   o  s  h N  S(*H +r ,h R .h HOh 1h n   S  T 2C         .   h n M   n   8     kA  "dh k Fh ҬLh -h 1      hdh 3MY$ d  s dh H # $   -   cKh T k    l                      1S(MY 1Th  km dh C (` dh u  A Lh  N dh g C dh n dh M  lA  Oh 1D H  ms2dh dh dh       kl q 3 4h R5 DH ҸHdh k m t`  dgh  kmh Uh %,  - 1 Hdh 5   dh $  %S,s    ` dh - dh H d h N  SOh 035dh q ! "dh v C G ҦFh ( 2km H T    h Sh T 4a dh kh 5H6dh  DH  Ah G "dh ( ,h R  -2 3 S dh l#  &    D   H s  1  2`dh k DH SDH m !  h .16 @DHkmOQ b SخMN3# h %&(E  M% 1h 57    H$  (  -sH y N   h R  .E DH ҭ@B   DH 3 (  M!" DrKMҤLQkS( R+     fo    s   D b     df H l   mr Np   T r . L dh    m `  de h k R   H4     MS@  DH   T  AC K s `%    (` M,m        D    m          q    Hm  r             N        s T                 s    ./   m    q        r    s    D  m    s       H   K        d           h           N  q   r    st  Q           h n   S  T    m s      1"  u D    c h    m    o   q    r  dH k    r Kt   N  l q  t Q   T o     r #   m   r    H  s   N      m  T       hs%  c       r    sH        f   m   q  r    K h t  N    t   Q   T  r   s & m     K   k Q    d       t  (`EM)  N T   m   q  H - D    Hmu   N s  T0   h  1B   q    D    m   p   q       H     f     r    N       l m   q O      S     d    h         q                 T     l        3 f h    l    D           m        q  r   wHm            N  t Q                        d h         n        T  r 4  5    D m       q               H  m  u N j k     T    $( ADHmNث@ DrHmKMҭүD      H 1  MQ  (KMN  + D/  1N4 ABH rQ  V   @DH mN T( ms DH b  , ADk  H dmLs  T V . M dN  lT    1  D       k    r    Hf N    c r  T   o     2D H3H r 4  ( M,HN   o   2DH KhT  $(  3DN    8 dh &dh +mN -   R    ` c d                                 h kq  Kh N1 HRh d  g h k q  x 23  `  s`dh k dh n  (     !N$dh ' H ( DH ,/  K" $( +-.h (rKMAh "dh k o# h %dh  F(Lh dh -Hmth   MRD2dh dkm3H 5 H  6dh 8N 9Hkmdh dh Rh Sh   nt#  H     T  $`dh ,  . R /2   de h 3H 5DH LA"  $,kH   dh R -h J  /  2Hh kmR   3 H     p Sdh " dN T( , -H.d  h dh Oh 02a   g   h ln q v  34 hAdh DH dh 9 a e  #kmrH$dks(h + ,k LOk - /2 Ddh N` h 3 D( .  R/h n2    ! (`kMR  4 # h & H  2   H ,    /  QHu    T      Q(4    n  t -  m " %(h/H   BShnDH ңH Kh ҤS%(Mt TDHm1 D  H  h H N@    HKMR 5 s H  HҲDH 3DN     !KMR( +D.T3G H 4H    H mrN oq s  T    ` h.3T4!H Kh R 13H# س   - 01h DH  Ҩ+h 3 h R ,H @ s DH үD H MҲD"H #  HkQؤ& Kh (R-34h /Kh (  TD rKMQ+ DH 1 NDH L68A DH 3 AK( U4DH & -dh k /M (Ҹ# h DH Ҳ!Q# +3 N( 9 h D K  n MVD MD H ӭDұADrHKS3ak   R  h S h T $  (    h .  Q1HN4M `  dh   L M O   S  tdh $ C H u K   LM    O  (C h tL  O R  DH + l q   rD  H   u.h K L        M     `    ntT h 1  l  or  Hh   4h     H ҬDH үD rKMұj  h K  L h T   $   B      M  r     d  l q  (  B   DK  h M h    +  D  .    Q  1   N KM4 H 1  D   h8    h &dh 13 $    dh $  F  Sh A    B  h F   L  M   p  P  Q U    ./3N4h Fh RW5H     M Q   $ M Q(K  Rh B   F H K   hn       Q   Sh 4 q (DY,-.       S h T  m    krH @DH mrT4h M   5H        $        (  +  D  N     .  Q    Rh    1 D       c   r     H  34 h   M   !$K (h R U   h ,H.  1d5"  qD    Q     $   F   M  Q  u (F     Q  h nR .   / s  D    H r sN  m    23   s Q  t   4K    H    $    M f  h   l        q   R   '  .   T 1   H  sN3     R   $     ( s  Bdh  sN  Rh S   .K S  h  T   #$( 沸 QN  # &    N  Q   D H N Xy, N -/ G q 1rQ 3 NQ' ( D  3    H T# h -&'+ D@DsH s            H  c  Q T    $    &H (` h   - s1D   (  h n$ S  (   4h M   (     t  +,rH / h  ҦGHmKd( *-H .H #& -1 7+  . /H B         EKR&( H ҳH h      t C    E       F    K    O           Q   q      R     s U !     D    T   @ D    G  H     K  n  Nk l          m                    q   s t         u   Q         h      T    #  $ LM  e   f   s     % H   & Q  t     T r Du H N    V (      M    e  f g  s       )  T  D+  N   c   x, m    D     H  N  - .   Q    f   h   V /    r  s  D  m    q   HK    d   N r       Q    T    0   h   1 D   o r   N T  2  D  l      m   q   H  l    o   N   k  m   T  3 m  r D    m  H    m         N  Q   d  h      t  T    4  Rh dh 3h MҤf              (  h M  h R n. 4  k kmh D H X3  Q   4      &H DҲMDH $&  qH '+,s   36 -  E ( @HmNh ,.n/H s    (  M      d h ; Sh *-DH rX . h DH cA I J mLdsV ( / C(Ҭ@ H.2 ( 2 Q( 3H  h nde  h  k"h msKK2H S  # $dh h ABDE F  Gh H OQsS nqtVh 12H  s( AKM%dh Fh MN n (`dh *l s     -/H 2 4 Aq DH dh s de h m dh  k Q  #h &- 2dh l    K$%dh v+dh -` dh Oh 5   vH 9   d,-H .h dh KNOh 24S56dh Rh  #h Fh Ks (Lh -`d  /2 #$( +-Hs!H (  +تDH ҳH +DH rK Ҳ. C H @DrH Mظ ҡA E  KM,. DH K "Ҧ@DH ҪDH qҲ( +H    kS$( H سADHl$(E dh U dh -  ( Ҳ  (     R. +/ KQ3km + #$( CH, TDr  H / 1 GO  3dh klp v L (rKMD  LVF   $( c $(    DH  $ ( s   -      s ,    H  V(  "%dh -2DH nN       4    H (h $       L Q  S(h   F+   T  u .  1 4  Rh $'( -/ G (3  R hSd h     dh n  /h 23H n.dh qakR "dh   n q                    &  Hd,  /  5  D( " #H &  ),    .2379 $( NO snV$(-  /l H 0  V(H 2u t   -  B    T2      M   Q   q    RS  $c K     Y     ( + D .   K hR T 1 N      X  F  h HR3   -  @2hSh  $  T  13H n   $'  s X (h +   .V 13m h    R   h "dh l ,  N     O    Rh $ ' m    H  ( Q    +N  .h Lo   Qh T    q   1    T 4    8   $   u L( U+ . F d Q   R S  dh l / 4H Q   h   H1 h  U    ( .  Q    1       h  $  (  +  H  .   1 u N 4          ` dh l     (    R   U   (   4 n 4 h O  (   .     $  '  (+   - 4H Qh    M    $ dh o  s    ' n  T   (  h Q Sk .  n  T 1 m    D m    o   HNT 6      -   1  M (  DN Q   R h .H  D  T X  #  q  & + N- / 2NS  k3wGN   `-7 .3 h    kM Sh n$ ( K Mnl o S U   n   @ H LT"dh nCҲ (   H & H3  Sh t$( .  3  /dh   h Q  '  . 1 N 4     3 ( +  . 1H dh $ s $ K 's (     1    N4DH   h $d(` N -.d8     ' Qh + h    4  N qQ$ (.   h8' "#H +  F     Ru /   2u +DH KMn e t     DsF  q K Lh acn s vdh #   CK-h 2    *H +   Uh dh km&   +` dh H  O    $ k   O  Q R '  D (h S      h + l T r   .    Q   1  s  T   4    Q R h    T     ,       1 dh  h T    (    K   .  4  h  T+H 2d    h DH & -   1  B C3 H   r   S  q   $        C        k M   r Q            (  Q h + m D H      N h   q  r  .   Q Rh  s   tT  1         N   4  M Q     $   M  r    t   Ql     m (  f     Q   . Q    1b    c lm n  o    u   D   H   mN  T r    # H +`   dh !  Q%& ( +D H/HNS36    +H 1   4 Kh  (Kh   M2  H  s  T4 ( & .h DH `Tdgh kmrEHKL MVk 3e   k (  * @DH  mNt 2g kmrsH   s3  (      MR .    "e kmh v# $%D-H ز3    "HV %&( DG H K X1N 2 H 3h  m   r'   D rH mM hkE '  N  ( LM-3 4N  + de   h k 2ht`   dh   DH $( DE  H K  n 2   dh G      T   T$* 4 $     .!     ADH ҫDH  Ҳdh -dh  (h   M׫@DH N .h H   (  ,4"H DH - ,D    HD. 1 HdNT  a h 3     5  HND3D H N "dh (MR  3 4d@ H dh   $R- 2$f 1Nt4 *  3 su  h $ &  +dh v-h  1  H 2( 3 H'dh , 4 h   "dh (A  FMO D Hm جDH ms ز3  h Q   h kM   "dDH ҤKMr &        (B MR S  + DH rҲ@A q tB  E G K LdO  nq  hSV ( @  DH KMVg kD GH L  O S 2  T D"d%  +-3rH   9   Sh $km( 3DH Kh   A  "D  Fh HO Q  gs (dh H ,H L -Fh dh MIOh 1H 2a  dh k GHKMS   T  4  S5  H KҷDRDH "dh F  Bh H h dh  km, r2h kDH  mTd h $& ,  - h O dh 1`  dh Sh dh dh ҦFh .df h k  a dh YOh 1D  H  r2dh 3 H R4  c dh   dh B D  H 8!"   M %h (hk*H ,H -dh .  h 1 dh S 3H rS  DH $( 6H ҬDH k4dh r &H m' DH 2dh  DH (K +  dN     DKh MT@ s DGH r  Oҳ@A q DE G n H KnLdM Oq R Vn/H h h !D   H "e  oH  mH Ҥ@ An B   k   E dh  q F  q GH  J  KnLnMrOQ  `d  g      h  j  S  d  g n    UV n%  &   H u  dh DH K+ @        D H mKNT    -   2  NV nb  q vHe   r s M Qd T m    46    3 DrH KM-` d h k q` Hb n S DH $& ' (rMS     t &  L    Q   (ds,v H -g  h  F de  h  kmS 3    Q t   FDH 9  h"  CD lnEG n  H K  LS  VYh (  - D Y  0     2 d  klm vME  Sh V4h" s S#$M     Y&G   H +dh -h /2dh  3 5 9dh  k "dh (+    -`dh  2a  dh  3dh  6dh  9 (b e  h  k ,2   $(  h &H DH 4  %     ADrH M,    2    3  h (   MDH $d&b NT- Hز! (N DH N t -H s .1HmN ز3    H  K( K   MNDH m3  h4hDH m!H Kh +H .1#H % &.  H &H Kh ( حDE H ` DBGOW( @   A  Dnq H tu   N vs T.R5    D6 Kh N BS(r,4 DH K O Q sV3( h @DH Kh "# & Kh N ( R  +  H,  - H    1H N T 3 Ǹ" $ҧDH (*+.  DH 2H 3n   V' (  #k&H T-k2d9h . DH $AK S  ( DH ( 92 DH ( @ Q        h n dhS Uh( ShT.1DHkK   h Q4    H  d G #s%&  + , N / N 1h  MQ!( @ H m   234  os  H    T  3 X 2  1 3dh k4h d.  Nt( +1  2kmh $DH  GM& h .  DH ҫҳ  + , /& G-H D DH Kh ҫGHr3h @mS(  9 "dC H n  KMX,  t-h dt 1H  2dh kv4 9Hmdh dh E ҭC AKM#H ,  O -dh 2   S 3S   dh @ s H T "   .h  1de  n h 2`dh 3h45kH D H ( DKLDH Sh nNr  dh 2dh ҶDH  NDH ҫҳD! h +H#% Q'(+Hjm, / D NO3 h  3Qn AD E  l VDH + #  .!AHKLMV $DH ҲH &n H ( M/2 H 'H3H 1dL         DH Ah "e  kH n  @ H mT    %h '(dh L  N -b c de h   kl o   FHMdh T    /e u dh  MO  2dh dg h k q3e  H e  m sT 5  x Hlms   ظA DH r9H h b dkm"$h a dg  h k m u vdh N, - N 23BG C  H$U  h n %+h @ H KdMحdh  Mh үH Oh 2 kl Sh 9   dh "F (h , .dh  Uh /H  2dh km3  S4 M  dh Rh 5 DH dh tSAh #h  $h R   %km,  O -dh -1     d  g h   3 5 Q 2dh vh    # a k o H +ekEK  h  k -u23  dH ҫ@DH  dmh DH ,H /!% q,D-H / N GK  6  h DH 2 @H 3 H T  (  h C - HTh b `   h t     DH Kh M`#$-1 & Kh 4 DH s  A BCq DHmKh O3`"AG S V(CMSDL N  VDFH ҲD H  5H $(  +, H Nm/ RSSq   Ah nB  t DEFG H   dkmv J K h L NQg  n  s V l@DH LNuҪD -H. DN4 +/   Hkm ز   !  N A  D rHgmKMRSnVn  ؤKҪD H +Dp NDEH K N      - . DH rN h  1dN h 2dkmE5D  DH -2 h N H m"dh vEҧ( +13H  @DH -dh 3t {h Q ( . $( DH ҲD3$( S6H  m( +@A n CDFHmK dh   n L O P Qdls  V ثDH S DH ұDH J `` a    d e  h k  q  v D dH 5  HkmrDH Kh 3N gH . DE H K  ҫDH DHm L  %& -NٱDK2dh  $&(n  N s TdD EH rh ҬDH l.DE  H K  L+ N,H .  KO  Q   Ҳ"eG -h / 1  @DH " DH l@ eACEHRSnT V( ,Ds H-HDH r/s Hm  D 3    23       $(  L $( #N#@A N ( A  nqDrG K h   MQV    (   #D f@A DH NhSخ2  D LP Q  h h&H Dq H /N o  زSK ( . DH 3  N kq  Q  "dg  h '+r3H ( dh HR  طDH  !HKh h&  - DҲDH (   !&H G6dh   DH NuT(DM+  D HN    g v@DH. F 2N R  AB  K dhL  Nrv  h nh os   Vn(KMMO R  Y4   T ab   ch l    ( DH .  `  dh T 2dDKV  H Ҫ@DH TV+DK12HDH 5E K  ( * /H B#H $ ( , DH . 1 H  e N2a e g lo   q  v H 3 H   (M/s    @DrH mK!$'N+G3r -h K2a     g  j  svH LSh dh  #U(DH 2 !$1 h 2DH M&H D ҪDH ҫH   h   j km ! h T#Q(h K   ,H  N.dh n DqH Ҳ4"a dh # @ D Q DҲDH Ql h DH .1 H d h E H Kh   DH Hkm23 h "dh   + ms  t  HN   d e f   ko   r tw    @H Q   be s   '    ( -s    .  q C  F   S  g           !N+  +-HN  'h  kS -    .  K`h  M( @H  h  $(h . L  Q     h   $ h     (B L MS -. 4   Rns       qH       $ (h 1  Th 4H      M tSt$ C LM Q  (    M .   C  K  Q s    U 4 h  n  Qh S   H   Kh o Q    R       S  $    B  t C  h   k M d h Q b e  h      l   r       s     u St (M   NR + m  t D     H    dN q h . M Q           Rh  r    S  T    U   1 D    f     r         H  m r   N l o  u        T  4  F K MQhS h  H s/q  2 3  4 F    RQT 1d O    Q   m   dh T$  r s O  R DH NV(  M    O  Rh   nS  h U +  H   N T r  .  G L h l       o          M  f  r           s    u    Q   q     1 c    l  H     4   tK   o   L    ` hq   B h  nDE   K L   M    O   R s S      dh ( B    d   DE F    m  Q  R    o    s  Sh TU        . s   K  L M NQ 4 B  h     K    Q R     6     # % d h  +D H  T /h km0 h 1 hm2 S  5   7 B G N O    h k q S  q    LM   Q S   $  K ` d   hm q s R  (D  F K   M   Qdh +     s   D  w H  NT    .  Q    1 qr D H     4   Rh   tR  +.1 s   D HN    K h Q  $  h    (   . 4   s 03           4M Qh R ! ( +  Mh $ . S $l( * .  tU   4 L     % / O 1  F  4H r   4   hS  "  t  $ t L    M  s O Q  '(h Fm  Mt   O R   .K  t u  L  tT  /   H   3        m      DH    k  m s    Q         4  r E   K   h O o Q  f   h l  nq  R F  JM $q     t  K        L  M  r           `   a  b                         c           d e       f  hi    k             l                      o                  q                        s  t u      v  R  (    h   Mh W    1  lm   rt u D H f m N   r u    T r   4      1H h K     t Q   R$ H   M    Q    R        S(F   M  N   R S h  . H Jh K    u   4    (Y h . 2 3k%+ -Dl( N B DH dm0    S  V$   n    C    t E t F  K  hL n O k q  R n   o   S U   n (  S     4   ! #( 3 hM (  +    C,s 2 3 N oQ  H  '     DH H 1    $  ! H @rACD H On .( & 4ADH    N$s,H & h (S4d&1H   ./  h  $ !  $( "6   DH L  DMDұH    Hme h  e DH m. 124 HmDH ҴH@3Hmr h $dh kq( 1( &H Kh @ ҳDH ,h   h NDH  3  ( M0!H +D . h4  M&H Kh MnsDH dk2h  (  sh DH  S$d0O DH TD3 h 3H  h 1   d 2h ("%   ( +. 1 H   dHrd&l  H L (  S& h 4 kHm 4  (m T  h D H  t@&K(OD HmҮ3DR.He   KM(3H  h         * 2/4$, D K8 H .DH nDrH KMүDH ` 2  ҳ5- sH T 8 H ҭD . dt3  $' ( - S q 6 1(ADH N#H -   D DH ҭH ҮAB FGL SVDH   D rG Kh MQ$  R sSCE K OsVH 2 GLd+ /  DH " ҧ( B3H  7 v /5H dh Bdh O+h ӶH &   2dSh 5A"c dh n+G Sh H   K  ҷU      $  N G  ҳ $dh k (KN  .`dh  1Q  ( DH K. 0 13  HN4 #$(M+H AK R$&DH .3 Vd@ CD qH JҤM   (   ,H A K N QҲ "kH @DH Knt LN  b  k &h   n . 2 3G 83$(+/H H  " DH $&kr( H o58   "H $ҧDH ( DHs dh DH Kdh KM`Rd H (S1 3H @ mD H &` dh   s- C q  1D mH2 SM( R   .%  &+ ,  D1 T8(-$dh S( ,D.T(rKMA H "dh D H ҥDHmK&h @DH حCDH MүDEH ӱdh dh H v3  5 H  n3NT &"dh #ұDH ز6HN h  kSh$ Q &H ( NR      S     4 h  "#&+2 3    .`4 DH &  ( f.DH@N/N 31 Nt3(+.D ND#'q3   H T  N dh k`h @ DS  hsH KM(nM K(!$h nQ      hs  ( 1 D 8M s '(DH .+&ҲA nF Kh n R S DH N  S 'd  eg h km  v -  K dh V(  (D+o DH Ҹ ҡD T K Qs ( ` dh k. DHmK N #D@l    A  LT& dTh (  M@DH . 2DH DrGH /H S  tH   N !+DH 2 D H K   $`    'r HN  T  (    h,3  KN4 K  dh hov  s(M  DH ҥDH ҬH ҭDH 3h r 5 !h + . S4 h  kSh ҨDH Ml TH L  4Ss &H L Hm Q  $&H (` hRSB  13  DH o  K R DruE G nH  rs  DH NҬDH ҭүDG H 2k H DH ( /H H KgKyS1 ( D(34DrKMR  (h u -h 2H س5Q Kdh nL  (  #$ dh R( + Hزhks N1     Q (hmEK MTDHkmK1s4   (  H 3$&DH  V @ DH Ҵ D   $(  d  n,DH r BS"dh H  dh (MDH DH D  E H mQh nS'(        ` n   dh D(`h   PQ T !Q ҧDsH m     r ( s DH  .1 b l   "# H HK h L &'(+,D-. 1Hf23   #  $ &` hR ,-D      H    k s N T/ . D HҫAnDH LҬDH ҭE K L`o s S  d  39  .dh  g T(  Ci  qHO QVr" m #HMU  %  N  T    Bh F   M  @D  NҳDrH Q    !h (, qNB  F   h tR"# qs H N Q dT  %& DKh d'   s N nT (t  E     n  JKO      S* + m,-Dp   H mr.  h/0q HK 3 HKh 4 E  L  Qh R +/H   !  h D  dh HT& GH  T ( sF G I KLM   Sh )D      H l+ HN,  qN. 0h1H dmN h D `  dl  T GH  X  5   HHK  NT  $DH DH .   hq0  @ f tH uD         G H   emNhT   "a dh kl   h      mҧH ( MR1 b     l N 3 GH NQ4  h 9KDH 1Hs 2  5(d*h   tM6 !%  'D( `4  N&S حC DH   Mh V 2 T     '        h k #  h (s  `       DN S  d  T+4 RҪDrKMH  GK    O  S.2    M  d fh!N H $( N   R+ N . q  DH 5   Q $ HQ    h    / h  F " @DH m(MR-  .2S   T  3 GH NH   DmG    He k T ؤCK&H (Mdh kn+,1kl l  5"  $ DH ,  @ Dm Hdm h kv  L   O  RN     dh ' mN      T X(  DM1 m o    3  $(    2 hҤ'D  H*1ab      e   f  l  n  o     v   #K h &+ -/ 12 q T  36Dr  Hm 8DH 'h -1 ms   (  D KMQ@s '(S      h DH LVث@Dm   H f l mn  r s Q0 H N6  N  S (j qM Q"l H @ D EH KҤ`    us Kh @ B  L h  tMNs  U-HN.h `2DH 4 b dS  h D t  F(M1 3ek#l  H  $` hk % N & T '   L(    s     )   + D ,    s  -  N .  /     Q  n     0 1 b o    DG H mn  r uNO     S   dس@   DH K NQ   ht o 4    Rh  h (  .1H D$( 3   DH ҳH !H ( h  SDqH   hdh Q           (E   F  R4    tL  V 12d mt R@ u A D H ؤB G   (He  Tb  .SDH 48 $  ,BQ  R T#Q$`adk  l  &N  nQ(jDSn D H,. k F  q K n  L  dM O n     QR  S n  W12NSq3 h mm quF kH LO Q4   Hkm$( AH K  g  sH rҲijH ( /H h kRS U!# N&T( ,H .hR  / h n    1N2@  F   H e  lNT"$h +0hDH سKD  (KhN  U  h +.a b   dh 3 h d dh -dh `       d  h 1de h 2H RS 3deh o N  @ L (M $( ( DH Q   .4d#Kh h &HKh &Hmز !"dh h (@DH m3e kl   m o             r s  u  ! h ,He / dh # (h  E  S #  N(H, /1Kh NT  TDH Q (` h  n  MD Q+DH N  q س@mqD H M MSh KM(   Mhn D N4   h  2(13  3 H e  pHN   !H  &H  DH 15ks km K` (M"$-.  R 3    '*+. /H ز   N   h  " 'U 2D3kmh"'(      Uh3 4        12 n3kIˤ(    ADrH KMh DKM 4 n    DH Kh S1 ors3 DEH K h Mh    + H   .     1dha     h 3 H2 $h # ,@/'.3 5kH N  DH Kh N' 3H Kh 6  r HN   rs3 Q    h n$ls K  !" N $R%  N  +v-/ABK LdO  q QR VN 4d h KMRS'H N D   H M  . +3h& H b  e f h  kl   s     T S h U3H/H Kز 1  HN  t6$( .$h( +lm. 4 #H Ҳ4 Ҳk l  HkmN  h(     d K h S s   !    Q  " G  N          m       nq# m   rH Q   x MP   tS W h  o %DH K  T   m ' )+ u ,  s - .  O Q/   x  GK  N kQ  1D m r s  u H2 h DfkmL  OS nT  X 3 D NX4 R5H n   Nk s 69 h ҭCS 2H #%     s12l3` d    k t  v   N6D A  F( 3 Q ht  Q S"dAV'  ( h E  MN. 1   $hksLM(S  ' h  !(    n tH&H (S&  H  ms D  H K  M$ h n   (  2  "-l qH 3 ,1 l s  G 3 h    $+ ( +L(,HDH       4    h(  h  P  S   U. P  (  T  $ Q      R  (.    3 D  H  Qt     1 r  4 (  N     (  O + r 4   O  h q   hn +h 1H G MU$s.F  OtQ H! $(+R. 4 KN !$  r dh ' (   h    M/ D GO S$ds 3  S( ($( H     $R(S .  5 t +DH   2Sh  O  q R  U .  (-1D     + DD ( 0 h DG H KM1a ms   D  -H n4  Q    Rh  1   N $(` hL h tMN .    DK- t 3H nN(`dh D    H   $dh k  (      - 4& Sch     R(D     %&     -.  $      S $   DH.N   f    o  q   D (         4      . RS(   s  N  1   H v  $L  Dm  D DH !HNt QT"K  N Q#Hr   dh mn$l% H   KN &    dh Qn  T '( +   r   DH  u NX ,-    / K Nt T 1 D H TD  G  n HyJL O  q  S  q  6 D HN1d3Hұ@ fkv A knt   B  g  n     q   C    h   q      tD l   r   w      E  k  F q G    d  t H   I K   n   LMO   k n     q      Q d     h nt  d   g     h     j k  o s       t    `   g  h  kn t T UV    g   n q  %    $($ (  s H    L  ' (  M@ qD H Ҳ#HmKh N+ 1h @ (   .ҭE H K  s  a dh DH 2     S    hU EKMN  l S%(  R @ DH   mNҬDH r. /  s  H   h 3 Q  /D G    gL"  Q#D   NF dh Ҧ'   (j -H .  Hس@  DG   Hm N   QtBkX$a dh v ( R./1 8  n B   Ch n E Fq   tJK    x  L  d    h n M  Og   k q r RnS  ! " dh l #  M    d%(L M  hSDH V+  D H   N. C Kh W0 1N h H  mKMN @  DH b           dmr s  KM  NQ h "G'@ f m qH n  u  NOVqt  Hk lmNQ hT "dh vK   m  ҧD KNk   V(  M.1 b  l  n  N        3  HmDH -/   2H L (  M+$( ҭH g  "#$( +, D .1 !"` e  l   s dh H N DH ҫDH -h Ҳ@ D h "  DH 3N4   h  M h M# h $R  (  BFL DH ҫDH үDG H ұ@DH K5H r  6 !&H ز   @D T DH Q5   h sM "G H # DmH T $ S    &(  M dS   * ,- DHkmR  ز@ H  u @l D G 4  LQ @H/ h /    H H3c" D  m  o   ` dh H  uN     T # $    L  M  %      HN        T  m  r'( FG  h n L N  O g  R   s V ) H +,m   D   Hr   T  -. /  s        K 0 12    u    G He l  r   N             O h   T     @ H     T  Rh U5 r D    2    D H ek   Kh  d"dh (h  1  N 3H dkm r4   M$3& + Kt-n1HL    X 2H  -    1  + r KN   r       .$M-ls HdmN  k 2 O      3b     c d    f    k   l o    s  h $  KT2     n      p e 9X " N @ D EH Kh O  T-   . 3 T  h &! "lH L Bh  QҲ3r$  &a  ,   /JS3  (  S% & ( @  H N   .dh   H K! "dh T @ ҦDH 'N ( N DHmr-  DH . /  QS 6  4kmK  S( / H DM Sh .T  "3 HN "de  h $ % H ( DE K  .3 DH R4H  `dh $(9yDH   s  al mH m&   n  Th (dkm   h @  H dh sMh N ` dh 02 S  h 3`EH s  m  n SX4R   @ AnDE  F G H KLQS h V 9dh `     h  t  dh !hH Fh -HSh T. 347 M$& Ch  үO2Sh 4 DH Lg dh Fh Ҭ@dh H L dh km-  Fh dh 1  D3m ( ,6   n  dh D   L Ү(s T2H y Q  - d  h k 2H N  (  h  nBL(  h MR S   h    *h DH    vsT   خM h8 knq G LdM n  d g R S  n  h $  Q , @ mDNrt   GD  (3e   tNH Sd# H ҫDH үDH ұDrG K"(+H/Hmز4      n  dT &( ҭf.T /1@ f D   E  G Hbmn K L  Q   lTHTD(Mh     2     H   T@BC nD F Gt  H  mL  dOn    b T    q V  FRr S!  $       ' (+T. / CG3D H dh & + q-h dh DH ҳDH # $ de  h k $(Rh -h h  2 3E H k D H   L o  Q   " t  D   o H n o        K N f  m      n T #  D r   s    H          f  k r  N      $    o  dh W  %   b sD        H K& ' m H)     +H   s T ,s D    H r tN  -.   Q  @q       N    r  T1  p N 2 A  B  gh nq     D           q    H    dh t   ST     o  3     q r wS    Y5 k  q    D       H n r  67DH "k H dh k #eH $  bq suH s KLMN  qdh Q-  h   ` dh n.  2 `NRS 35s  DHk  9H !    H sK N " D d r    K    h Q    d     tS T   Ch H  T    $@  D       E H  k       K N  T r  &  M     Q      d     '  )     + H    Nm    D   sH    r  N  s  O   T     -mN   S.h q   @    mD   m    G   x  H s     N  q      r    t   Oh Q T 1  N @B  q   b    k    H NO    Sgh   q   3b     fhn r     N o  s  y Q t  T  4dkR5   H    m  r   N   j rDdh 7lm  qH  -H 1 2(  h    h                    , $b  (+     r  D H Kh $ & 1 SDH ( * DH LN, H 2s  H 5   (h , Dq   H J"dh S  t     #&  (rMR    S-H SDH ҸSh (/ Hز G  KMR&  H (  RS DH N / h N  r    DH 2H T   h 4  5 HBDH NTزD3 1 r HBD H h    h     (.  d S  1dh #   d  h    t   %dh & (h M  *H + s -S   t1   Q  h d      2dh 35  !$k dh k+dh - S1T  h 2dh      34H   "d hkmr     $  dh kmt+dh -H dh  t  Oh 1h h Sh 5 7Yh  3a s H d m! dm  Kh (kDS V'( MRD   H Ҹ (s  B  ` b df h  k lRTd.%Kh DH Ҥ& H ( 3 DH ҫDGH KQ  V, ABCDE HmKs V 2H  ( R  +h /! h T (  ,H .@ mqH 1D"dh HNN    ئk H تDrH Kh 2 N DH '(hkDMR/H NQ  T AE KM( S DKMADH  3  "'( Mb            3  h   -h dh h n ( N R   ' -( , .( .a DH dh P ` dh     n@ DH mI   Nh %  &D DH r sy   K   MS nH -   H   DH O   k  n       q  ұDH L  dh Q    2   R     h t   4  6  h $k   (.T  4 H  Jh ds        M O   s  R $h H u  M O   R  '  D q(Oh q    S  h *   N + l r H  T.      H  K     L   l         o         M    c   e  m      r          s    u     O Q T     qU  1   H     N T  h    3m  H   k sNT4  O   q      R 8    !Q "# rH r$  C  D  E   L O   R U   '( R   s    -rDH K MT   m 1 D JS 4h  s  M  O    6 T   إH ҪDH ҫD  H ,  O   k - E   K S q2    5    H 7     $ ` d    q (  M     h  +      . K Q      1  h D    H    4 FK M Q   m   Rh S  h  h kQ  S$ d   (    M N  R    - 1     N  4     Q       R $    (h %&dh ,   O CDE   H s d s     S   q  U     h  2 3      .   4          S h      ` dh dh $ r F M   U (  mDu F  M    R Uh . B   4   H     Jh M Q  q ! $  L   (  fh   R  s   - . K M     Q S  T  U h 4     Lh D y  H s ҤFh n   ` dh HL   T    U  V@DH 4  M  1 F   H    m    Q sR` h l $     k  M  Q s S   ' ( h +    m D     sH   dh .   Q   Rh    r   1    r        H d l   m rN a   b   c    f  nu 3  4      C   F   K    Q  S   h   Hq   r     s  4 " H  QTh $ q   L   M    Q u   s    ' (   h tF   K  R     .    u  M    Q  T  q /     k H   s K  N      @ s   t  DE H s u K  N q     Q  h  t  T X  4    Lh o O  Q  f  q    R     Jh K   Q   "dh $  M  R '  ( t    DMtQ  h . N Q T 1    h m   D m    Ha d    Ne f      r   h 4  8h - ns /  2 H   L $ H ` dh k qM  tQ       h      S  ( K  h Rh   S   Uh  .  Jh K t     u 4K 5H  (  Qh .  T 1 N( -t. R23 4`  r b HN  ,nt- H 3  !H N ". M R ҧ@KL MS( DH gB   # DH Kh &H (   MKh Q+lH H &H 'd e  h klm(hk, .n  ( !( +,H  ҦDH K h2H DH N dh . /H Kh S ( MDH 04  9dh kqa  dh (M4 dh Ak G hsVDH ҭұDH 2dh !H Q(.h4  De   E HmU .M!4qH rDH  ҫ@DH m b s    DH Ҳ #-DH SHmҬDEH L2 dh DH K( K Q@ALMSV(rKh H 3Q6  Sh  nM .3  H 4 `b  d h km  H + -` dg  h kmnt2H RH  (  !#$M(  hks"! H rK#M(t CD1  H ؤKMR(   . o@%  H mKh 4!&   @DH N  (  ! h $%(   , .dh Kh T #Ҧ-H 6Q3 kҧDH LҲD HDHmKh O  D qK  3H ! $h (+. d1H 'B DH 1l D  H  k N  r # rK h (+-F  J KS%  QBҤA K&H Ҳ&ADH N  -dg h k    A BL  Qb  lo v ( MRU  + h ,. N  DH NO4 h 5f  s H d h!h M.U/ h 24Q"@ AtDH LO  Qs  V ؤKMRT   '(   h J3x ( + /GH زRS" N # N 3Q@ D2DH  h"K  (  DQh  R   4  c   8oHkm#$  -S 23q  h M ( Nt.dh `5h #$( , 38$.O  $( A dQ%  +vdh H Kn  dh ,d h C   h  Mh h  /  T @B  hb h H mKh Qh U3h  N S   5    qHdh /   GL h Q(  R-N.    N            mO 4X 6$ s  ,-    .2  dh +dh -h .dh dh /1 a b kHmde  h OB  HK dh4  df h dh l dh  a   ia h o S  V m $ D   a c dh (a   h l   O  U  .  ST   4a ELO  t  S   #h %h k + O   1  U3  h %& @ DH Ҭ@DH Ks / NB   DH ҲBGHcN   DH S 6DNR $h R  + r .     1     @ H  N 4     Q h S  h $ &(    S4h s  K  HmKh ( DH ҬDH  K ҭ@DH ұt  @ 3h     1    -H 2 n  9H T N $    MhH  K  R DH N,35   O  !  $R( t  B  n    E n M n NO  qR  vSq nDH $FR ( hN.dh2  k H  ms   NT n  D  H l      m Q      (23D  Hk  T 4   m  r      HNO$   c hC&` H (   DN  ,  . /  1  45 H    d kms  2!B3H K  h 4s   `     h  Q$( $(+3H  N4    "dk H N  %h F ҧ* ` c   H m+n   N@A  e   k H Lh O Q-F MSt /k  H 1g  H Nd  h km 3 5H M;K h dh S UC $h h r  dh kmdh (K+` de h S Uh -  /   1HeKLQVK %dh k+d  h NL h  ҭA F  H Mh SدA t  Ld Oh gV   X1dh Kh 5 h "dh  Ch   H KL  s -.H dh K Oh S V1k H `b   d g h km  v 2 DF 4   dh 5 H B CD HkmLdO k Q O $c U  h( EK  L M  U . 4af Mh # %  Mh dh CS h k ( +-2D( + 8( AD H rKMQҲA t mK   n LQ` gsv  S  V h  ( +H -EH - 125H DH DH dh k  ,T @   s A DH    mNO1 $   R'  (nDH VثHmخH ҳH 5   H (   h , ./K h   4    s    "q h %  @h H K  h n  T  ( @ DG H + -H 34t   dn' /H ( +.23  H  ( 3H 4  $/ 3 H @ ( 9 h  H (+/  3  D H Ch $%( +de  Lh h ҭKMh үIO h 1   dh S h  dh b-h "( )  + Hm1   2 6 "d h m(*H + Lh -   h dh  Oh s 2dh H S4    5 Hmr  ҸDH   Ch F   h $dh mdh  k v   h U h ( - /4 H H dh H $R&   H KLh M-dh  h Odh gs G Sh 5 A Ҥ&.H Oh  2dh eSh 4 F 5   CDrH KMO Fdh   (h A  Kdh -ʱdh Qh  2dh $R+- dh +dhmo1dh km2dh 3 dh +dh dh +H  1 dh 3d H Sh F*g  H + . S    1 3G 4  h F  KMS h Fh (*  H Oh g1H dh 3 9dh $dh  Yh   #%dh k SH O3 5 Ah .dh SYh 1H J dh 4A  C DE k H L  O  gs Ah "%adh k F  KMDH үDH mtرDH !H  $dh km1p (           DN   D H 1#  H (.ҳA D rGKMVnkmDH 1    h ѣD H  BKL    M(     `h  kKMO S  tH rLҲS4 kS5 mH  S! QACGN O Q   u S h V ,  -   N   SEs(- . hnDh  r H 'r   N l . /H 1 #  KM&.1HN  سDHm &E  K -dh k mo  H ұBh C H KM2H 3 ` a d    e k ov   5  ($( !"b  Hmn  #H & (CF  Hdrdh Mh ұmH dh k Qh n  hSnS H S T 5 6h H d h dg  h l "    e     lnh k S   dq        T      $  a dh  n  t+ a   dh T  - dh s 1DH  $h  n(  H m T #$h &*H +dh vӭ@C  kM h s1    H      e  EH S kn  S Xh $M d(h M  s . 4 `dh *  H + -h R  S  .h h h d eh 1 H dh    Kh  Sh 4h dh  MV dh $ (g M    j    S. T 4h M,H Hdh Qh dh 3 S  (   qK   nM Q  h R s  $  l Dy K (M Qh  q  RAh H    K"dh #%dh b F  H M   (dh kb v *H + f  l  H dh dh V,EH L  d h -   `  ah no  EGKSY/ h A  B CEF H kmKh  Qh dh k tU   h 2dh H3gk l q   H mn   r  NT qs4     s5H DH e h   dh s  a dh   $h d h k m`dh (a+ KLh -h N  SB C E G dK L Oh   h nV1D   H    K `ktN3 R45c  @   DH dh  k o$%d  h kmKh &   +s a dh m d ,     -dh  dh dh / O  T     Qh  t3 ` a  dg  h o  q  #  (` h*H +H ,  dh -g v H m.Fh h dh DFH NOd h V 1e g j q Hma dh a h s  4km5@vH   Eh F   H           M f         ko RS d  eh n tTU  adh $      D M   t OR S   dh (s  B    C  h EJ  h  M  h o s  Uh .h n CJh K M  sgo U4s   CF   l oMs 8  Ah kn  " ʣCh D H h %dh + ,  dh Mh  dh / mH N1  F3  ( +H r y  T,/1 NkmH!H "  N  m     T  s #   Th % &' T ( )     T   m + H      T , q  D       H  r   - . Qc      / N  Q   1 N B    D p q   H      r   N OS        h    q   T  X 3  q  H  K  NQ  nX4 5    6 r    H  N s tTk   l D H Kh 13d#  H ҹ    H    N   Q T dh &    -@  BH N   s HT DH m+  Huh 3Q  S,    s D  H N / !N  T #D HNvQ%  D+-H 1DGh OS 34$ b      de    g    h         k  l  m     o           u      (   /H K         h      N  r   Q   1D  KRS@ D H &nqHm( +m, N  -  / KQ  1 m   o N  t  3 5   H m/ m   H   3  D  h  Ah #  DF  H ' (+  ddh h үOh 1dh g 2dh S Bh Sh DH 9 dh a dh #H$dh   a d  g hkm+dh S /1h dkm+dh Lh t-  dh /H 1dh 2dh 3    Y 5  .dh dh 1e -        N /5DH N      , /   G N S  OG H N   #   Q $ .M O3 G    (M 4   N !+`b    vH N.h 4     (ktDH Kh خҳE H  kK  س&H .AF H N -dh /6 Nu(  H TM( @ DHmثDHN g h ,. ! ( , D H N Ҳ#D q H  mKh h ت@DH -rH3   l Q89 dh s ( N/H 1#kmؤ& ( M* - @t  N1DHmh @KMH L , 2 3e kH 3 Kh N &-dh  /KMN -  S$ҨBC DH M.  / "dh T'D ҫҬDH LsV/CDE H KҲH O       n     3 #(  TDH ҭ@Ҳ3 h N     F   L N O g  q  R  Sx U  DH S T  $/      rKq    ` dh  q   B M  Dm     H NQ$L % -HX.km H mn  @ s DH 4N  Q($ RDH       sҭ@1b hloq D H de  s N   2kmr3    @  sDH  e  kl  m ' 1ҳAH Tq  #K + Hc K,Dde  h k  B DH  q %(Rs+ @R B.CK Q  h R1  ` aehnrst vL h n               2 HO3[kqu "d  km r$Uh &+ , dh KMh 1kR S h S 3 O-@DHN     O2F   R   R $  e  R  (E K Uh . a LM h S   Tdh L  R VCh Ҧ+,dh m  s  dh -      1Rs Q ,T1w 2 `(4D H Kh Ҳ!#  K V (rKMH DH ҲH 'd kmv1H   ( @DHmҳDH    QKh O g S V(hkM.S/ # %&H Kh (r* Kh -H زD DH NX/H Kh 3 kmK n ( 2h  h'H (K   +H 1  3 4 s h 2dh F. Kh ' $ & h DH n  h 8 $    DFGH 24  Ns "%,. hkK ҦH Th (FM-H  NADH L  ҳ` a dh o   H h d"J(`M,.   K/H Kh HN"dh @Q(M,    @. / HN0 D H2H NTq DH T dh   kh( 3 ` c h r &d m +/DH rM  d h 2 h H  !$dh dh ( glo n $( ` GH dh k`  hn#l  n H s   T %   & H  (dh ` dh lO n)L dh k n  V-h P       R   b             c e                  f     h      k       l          n o                r  t  u  x  D Oh 2dh 4   5 D     q  r  6dh  dh k l R t  dh l ! h SJh +  ,  D  N T  -   h S/ 2  dS FM   ! T  ms"oG H dh k  N X # $M  % h F N  ' +dh  ND Lh M-s JCүG Kh    NkOh S2 S3mrHT  4   M5H   C( )+d h n,  h .dh  /HrOh jSh 4 k    FM Oh Rr 6   "dh k T  #h M% ( R+,A d  h -  g C  2dh d e h  v3e  ( .2 Ҥb  ( 4 D H 2H !&H   (+2  h Q(h,.4  #E K &(Mh- HmNiT   $H &(DH,@ q DH JNtuO s S /   H 0 13   h 5 2 h  .dh    (-h h $Yh +U- #  F+Fh H J  1dh 2dh B S % N      b d  V  'nT( E MRK M   rM      `    (   1l   u     h ( 1fD h  sAKQ"  n     qt G J  P # N T Uh% h Q&(+  f Kn OS , T - H  M R S/ d    q  1 h n2  JR  h t  3  d q 4 5   N 6    q$ sB  E J  K   M (CM +lH   T .T  V1  H N 4  EQ hmS  Mm Q S T$ MQ  s  ' k  m  q rD H Q( U +h r   `mN s tT. K nL e l  o           M   c e    f mp r      s     u     N oq Q  q T  o  sU 1N3T  4 `a b     c d      ef       g  k     l  m   o        q  r                    s   u   v    R h   sS   U h (FmKL lR     flos UhDH MT 1D r H  4K   S8H  s  Rh  S"   #, O   - C nt E I K SU 0 h 1  2R 35 7l B h  O   k  h H    s K L R  s S  U $ D  H KMQ S( MQkms Wh + s H  .  Qf   ls   T 1  N  yT4  MQ m $ + yT.  U  1l s 4D H M  O  Q  $  qsD KR (  S . N 4 X # H % dN   h + ,  O d n  q    -  n G hHIR stS       U n .h 0  2N@  Hmy5k D       4    ( -   Bh C  L T V$q r u RS( J   LMjR. B N U h 4   F Jh km Q q R Sd$M  Q S( R  SW.KSU dh   S $ DQ .4   R  sS  q "% / 1 H S2  HqK Q  c  SU$ Qe s( + D  NTl. kO 1D c  ilo s  H   N ce  l m  orsu 4 M  D  r     H $  r  B    C D  E k F t GKd  h  L  h O  nPR h n o   U V (gOU .  L 4 Kh HK sMhS tU"G H Q   d t $  r   D l Ke Q S  '  j  o q uD  k H NQ  (  mM  * ,  . K hu Tm / D  b HN jsQt 3 h o sD   N Qt Tc4   B H K MOQoR o  6 8  K LM  OQ T$   R' H   Qh(  kL Qh KT V1  h l  DHNt Ts 46 8  DT 3 x $ M Q W( S Q  RSU $K (  K  M R S . MQ  k qs T 1 H s  o  h  K( .  r     (  b  l( S ( Rh U. N $s '(3 hm q sQ4 6   (.4 (  T h  3 qM ( -qs  ( 4 h   %  +  Ҳdh  km1Hn` dh  1 T y    `  dh kl    Sh   "    (    4N tT   Q( 1 4kmrF KM Ms Qh (  `  hkR+.n 4 s kH 5H   H q#X &( R S0  3 h.h    n    ms B Df   sN , - 2H  B K 2DKM( dh -h  DH $       ( t DH ҭDH  #+,.T45  hDsH mN$ Q    dSY & e  (BR.nTDH     mQh    T  4dhB M@    sD HN  s# bT&Hm(E   KS ,H k N t- HN. 2h s H mnT3 H f 5 t /2@DH  fmL QT $h  DH $( ! #H -1  o s  `h Q'r( hN  R *3   N  T f- dS 3  DH KO `  - .n     MR( +fh FX3M8 s  D  H & T ( h3` n  4   dFH "HNt  ( FMN ` dh n.34    h kL(  1H n 4   B K(kmE R h  kS (    k H @ H +  " (* +  fhL 4 L h  M    O  dh   3( Udh r  $( h $   & - / 35  #H Kh ( % h DH h &H rKh ( -.h ҫDH - V 2b k DH Q5H  E dh (  ( DH NuV@A DxE  H N  O  -/ 13GNdh  D Ҥ& h ( +DH N   ! h DH QgG  %'(rKM+ NqDG H rKSDH  үDH K 1  DH n@GH 6@ A n B  DH  Q-H 2 D 3a  e  k o H Qcde h l  s v $ab   de   h kl    o    sv @Kh L EF K  dh ( $( 6+ -H6  +15D rK MSDH /@ DHkmr h 2 3     5H !H $S#H &H +- DH تCD  KүDH 5dh    km dh N  DH %DH 2dh D  H  dh H سMV  D    L V+ -3rH dh +a H , 1h SUDMnn$  a  b dh Yh +h BDR1` ae hnrtuv Gs Sh dr%h k +H RO dh  -H M үKO h n `dh o v Qh 2dh O h k g   v   GH rLMS  DYh ; # $+m   KDR.dh R /h 1gl  H 2ND  A Kdh R.dgh 3 dh -K& h 6 B   rEKMҤ%hT'  (rM*@DE  Hdm  N,H 2DH Ҹ"d h H Aq DE H K dL N    Og ns vTVؤF  ҦADH o (MDH -H oN MҲKN   S3   GQ( K S(rM@B   KRA DE H دH سE "bdh @C  D G n  HNR  +- 3H dkm $dh  h %  ҥH r Q5  gh j k  $;#     Q B nq t  D H K LO  h QgV n $%( DKز9ADHkmK svؤ@ cA  CDG  H  L  dNQgS +kvDH Vح1r h v 2 G    dh 3h  k v  m-dh ( dh (-  Oh 3e h S "`dh B 2dh k 3  R&  G-h J  2a Gh H S c  de gh k34 ( +-     .O    F Rdh  D . h  (  3,  DH /H @qH Ls H 1( ҭDH  ҲAK n dh  Ҳ3 DH N үDH   $3   dh h '4 q(  #*DS ;KQU-dhr d 3e H "   S    9@ Nt  K( / DH E    H ҦH -H/ H ز  ( *+H  299 .Y 1 90 110 0 0 1 1 65 2 2 0 0 25 5 3 8 7 $ $ ^ $ $  ^ $ 1=Dear Sir:<< 2=How are you? 3=I enjoyed our meeting on y=Yours sincerely,<<<2> m  !6#w>2 *o~f n :Z !~w͠yt: "/<)=x>ڃ/ɯÎ! ¡~wå~w͠<>±/2!s ͠<ɯ>2# :J<)<):"<͙ F:J/!w#w#w#w 6##~+@@G: "@!~#G!~#<$ :2!~^!͠>_~^"͠X"7~w#‰"7~w# @! x®d! x"~#͖!@ x:" œyʼ# «> ¼ ##~*6?x#~ '!-"67~0?:A?[$/#-@&*?#~1: "w:-" #~? 8͙ ʖͤ ʚG##3 xr [Ö~ Œ:Œ^#V # TGz!: #}~ j>. }>  y> n~ ʈ #}2 "_ ʮ=! "Ď~Ͷ #ö!;:"ͤ !KZU DM 6Y> Ͷ > ö ̓ *N)|)̓ Y*J7*H<|IVVYIz\+|f!^~:=2ʈG#~+w#~Gʘ<2!^=ʧNpA#=ŸpGo<2&^pɯ222G:!2xA[a{:x :d:!E2̓ A:!2:A:>2!?/!":\J ͫTJ O:uŒ:QO̓ š*R+|‚ y«ͫYJ Ox uyu!~#~#fo¯TH ͫ YyA!Tw# ìͫY2e!:!ľY~ï^#TH#$ ~Y:YeY:!OF#~R2ͫC!:Gp!QGx2Q"R:G*$"x  $: ·:!ʷ&,:"$:"|xͶ &÷,:7ҷ!c!~#OFw~ͅ#> ͅ> ͅO:g"G/<*>z*z*> z2!!"c!!~n:o&":O> Ͷ [og"!"$jG:p#=~:%Ҟ:$Һ2$:2%!~·*$|<2%"úɯ2e!>ö :C~#O~Ͷ # ~<#~#fo!# w*$̀!# w*$̓ *$͑ u"$|V}NVV> Ͷ > Ͷ u:}dyo:!G:#}:B!j*z:yʎ}lgMͶ!oLͶ!t*$"+*+":|Gi&yö x("͹ >O>0# 0>9Ͷ ~Ͷ #O :! !+|!~_zW#,~_#~*!T]%"2o2!g",a ".y "*!~*_͐*y*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%$1_ Press any key to return to WordStar...$*o/o!_3!Cå!!"!!"!͐:B@*y "2!ͭͲWS.OVR?ͲLockedͲNo room 12"͙ _"ͤ ###~6_2" M >2g"!6# xj-:2#_2: 2ͻ!!<2 "2 " 2"2"2 ":֥!!3" ""/"%### 8-10-83 *** *** This macro allows you to fill in a label template of your design with information from successive customer records. The labels are written to disk for future printing. The disk files 'LABEL.TEM' and 'CUSLIST.DEM' are formatted correctly for use by this macro, and can be used for demonstration purposes. ## A "10" "HOW MANY LINES PER CUSTOMER RECORD? " C "1 " "SET 1 WITH CUE OR SORT LINE, 0 WITHOUT " D "0 " "SET 0 BY PAGE, 1 CONTINUOUS ROLL " E "3 " "HOW MANY LABELS ACROSS THE PAGE " F "11" "HOW MANY LABELS DOWN THE PAGE,SET 1 FOR ROLL " G "33" "WIDTH OF LABEL IN CHARACTERS " H "6 " "HEIGHT OF LABEL IN LINES " # ; :ON -1 220 ;SET UP OPTIONS :PR "#1/" ;CLEAR SCREEN :IN "#1/#13/#13/#6/Filename of label template: " %A RO/%A/ ;OPEN FILE :ON $0 / /-3 / ;TRY AGAIN R :%1 = $3 E :%2 = $3 :%1 = %2-%1 ;NUMBER OF PRINT LINES :%I = %1 ;SAVE :%2 = %H ;LABEL HEIGHT :%2 = %2-%1 :%K = %2 ;SPACER LINES T/H ;HOLD TEMPLATE :IN "#0/#13/#13/#13/#13/#6/Filename of Address File: " %A RO/%A/ :ON $0 / /-3 / :IN "#0/#13/#13/#13/#13/#13/#13/#6/Filename for mail labels: " %A WO/%A/ :ON $1 / /-3 / ; :%2 = $E :%0 = 0 :%0 = %0+$G :%2 = %2-1 :ON %2 / / /-3 ;MAY BE >80 CHARS L%0 :ON $C / /+3 / ;CUELINE? :%1 = %J :%1 = %1-1 :%J = %1 ;NUM OF LINES TO SEARCH :%0 = 1 ;LABEL CTR ; 35 :%6 = %E ;SAVE, %E=LABEL ACROSS :%4 = 0 ; 38 T/R$A ;READ ONE RECORD :ON ?-3 /+1 / /+1 ;EOF :ON %6-%E 52 189 51 ;SHORT ROW? :ON $C / 49 / ;CUE LINE? :ON ?-46 / 47 / ;"." :ON ?-65 / 47 / ;"A" :IN "#0/#6/ERROR IN RECORD SEPARATOR" :ON -1 250 ;EXIT ; 47 D1 ;DROP CUELINE :%4 = %4+1 :%6 = %6-1 :ON %6 38 / 38 ;FULL ROW ACROSS? :%E = %4 E/U/E/S//^ s//%F*x :=2>2m\ \> x!'7O`y!Yy!'_+~w#CA\>5w#.A\N5w#U*5+w"5>22m> x> x_~?ʟG?ʟ¼ʭ~ʸ~¼#Ç>7a{ :2 @! >!"5"322*5~.#"5*3G}-|-!24x ~# 9RET HLT CMC STC CMA DAA RAR RAL RRC RLC NOP CPI ORI XRI ANI SBI IN SUI OUT ACI ADI CALLJMP LDA STA LHLDSHLDMOV ADD ADC SUB SBB AN; PRINTER CONTROL TABLES - VERSION 5.30 ; DOT-MATRIX PRINTERS - PRINTER TYPE 1 ; ; These tables allow you to configure Spellbinder for dot-matrix ; or other non-precision printers. They are designed to be used ; with Printer Type 1 in the Y-Table. You can use these tables ; to assign Character Sizes, Line Feed Sizes, Special Character ; enhancements, and standard printing functions such as subscript ; and superscript. ; ; Most printer functions are performed by sending a string of ; characters to the printer. Strings in the printer control ; tables can be of any length and must be terminated by a 255 ; code. The following formats can be used for character strings: ; ; String End ; ------ --- ; 27 49 255 ;Decimal ASCII Codes (27 = ESCAPE) ; 'abcde' 255 ;Strings of characters between quotes ; 27 '1' 255 ;Any combination ; ; &11 ; PROPORTIONAL SPACE TABLE ; Defines individual character sizes for proportional fonts. ; ; Space Table Sizes ; #1 #2 #3 #4 #5 Reserved 96 0 0 0 0 0 0 0 ; ; 08 06 08 08 08 12 12 04 06 06 08 08 04 08 04 06 ; 08 08 08 08 08 08 08 08 08 08 06 04 08 08 08 08 ; 12 12 10 10 12 10 10 12 12 06 06 12 10 12 12 12 ; 08 12 12 08 10 12 12 14 12 12 10 08 12 08 12 10 ; 08 08 08 08 08 08 06 08 08 04 04 08 04 10 08 08 ; 08 08 06 06 06 08 08 10 08 08 08 08 12 08 12 10 ; ; &5 ; FONT DEFINITION TABLE ; Defines global character and line feed sizes. ; ; Character Sizes for Fonts ; Size Prop ; ---- ---- 14 0 ;Font #0 - 8.5 cpi (double compressed) 12 0 ;Font #1 - 10 cpi (pica) 10 0 ;Font #2 - 12 cpi (elite) 7 0 ;Font #3 - 17 cpi (compressed) 9 1 ;Font #4 - proportional ; ; Fractional Space Values ; 0 ;Reserved 1 ;Minimum Fractional Space 6 ;Number of Fractional Space Strings 12 ;Horizontal Resolution - 1/120" 0 ;Fractional Space Increment 0 ;Fractional Space Resolution ; ; Line Feed Sizes ; 16 ;LF Size #0 - 3 lpi 12 ;LF Size #1 - 4 lpi 8 ;LF Size #2 - 6 lpi 6 ;LF Size #3 - 8 lpi 48 ;Vertical Resolution - 1/48" 0 ;Reserved ; ; &3 ; USER TABLE ; User-definable strings for special printer functions. ; ; String End Function ; ------ --- -------- 255 ; - Enhance 1 on 255 ; - Enhance 1 off 255 ; - Enhance 2 on 255 ; - Enhance 2 off 255 ; - User 1 255 ; - User 2 255 ; - User 3 255 ; - User 4 255 ; - User 5 255 ; - User 6 ; ; &4 ; ASCII PRINTER DEFINITION ; Printer control strings for standard Spellbinder functions. ; ; Enhancement Bit Map ; 1 ;Enhancements done by the printer 0 ;Enhancements that don't affect spaces 0 ;Reserved 0 ;Enhancements that go off every character 0 ;Enhancements that go off at end of line 0 0 0 ;Reserved ; ; String End Function ; ------ --- -------- 8 255 ; - Back Space - overstrike 255 10 255 ; - Line Feed 255 ; - Negative Line Feed 12 255 ; - Form Feed 13 255 ;Carriage Return 255 255 ;Print Off - sent on exit from SB 255 ;Print On - initialize printer 255 255 ; - Subscript on 255 ; - Subscript off 255 ; - Superscript on 255 ; - Superscript off 255 255 ; ; Enhancement On Senders ; 255 ; - Shadow Print On 255 ; - Underline On 255 ; - Slashout On 255 ; - Dashout On 255 ; - Doublestrike On ; ; Enhancement Off Senders ; 255 ; - Shadow Print Off 255 ; - Underline Off 255 ; - Slashout Off 255 ; - Dashout Off 255 ; - Doublestrike Off ; ; Font Change Senders ; 255 ; - Font 0 - 8.5 cpi 255 ; - Font 1 - 10 cpi 255 ; - Font 2 - 12 cpi 255 ; - Font 3 - 17 cpi 255 ; - Font 4 - Proportional ; ; Line Feed Change Senders ; 255 ; - LF Size 0 - 3 lpi 255 ; - LF Size 1 - 4 lpi 255 ; - LF Size 2 - 6 lpi 255 ; - LF Size 3 - 8 lpi ; ; Fractional Spacing Senders - as many as required ; 255 255 255 255 255 255 ; ; &9 ; PRINTER TRANSLATION TABLE ; Translates any character to any string of characters. ; 0 ;Lookup table ; ; Char String End ---- ------ --- 255 255 255 ; 255 ;End of table  255 255 255 255 ; ; &9 ; PRINTER TRANSLATION TABLE ; Translates any character to any string of characters. ; 0 ;Looku w    4  .h O(+-L QS$N(MD HKҬq       .d h M$@m A C Dm n s H lmo   s    uV( *H 3  .4-`4 H L  MңH$2H S     3  9  M(  h F L S"$M%' (MR .dh T /S  .  s24 Rh H   M   dh $R (h .    g X h.$ Q  R%  'T( k t     Eh   K R +   Q    $.3; PRINTER CONTROL TABLE - VERSION 5.30 ; SANTEC S700 PRINTER ; ; &2 ; PRECISION PRINTER TABLE ; Printer and font selection ; 4 ;Printer Select 0 0 0 0 0 0 0 ;Reserved ; 27 'd@' 'PRES0637' ;Font 0 27 'dA' 'COUS1047' ;Font 1 27 'dB' 'COUS1247' ;Font 2 27 'dC' 'HIUS0847' ;Font 3 27 'dD' 'HEUS0847' ;Font 4 ; 7 255 ;End of reset sequence ; ; &5 ; FONT DEFINITION TABLE ; ; Character sizes in 1/960" and proportional space number ; Size Prop ; ---- ---- 160 0 ;Font 0 - PRES0637 100 0 ;Font 1 - COUS1047 85 0 ;Font 2 - COUS1247 72 2 ;Font 3 - HIUS0847 65 1 ;Font 4 - HEUS0847 ; 0 0 0 ;Reserved 96 ;Horizontal Resolution (1/960") 0 0 ;Reserved ; ; Line Feed Sizes in 1/144" ; 48 ;LF Size 0 - 3 lpi 36 ;LF Size 1 - 4 lpi 24 ;LF Size 2 - 6 lpi 18 ;LF Size 3 - 8 lpi 144 ;Vertical Resolution (1/144") 0 ;Reserved ; ; &11 ; PROPORTIONAL SPACE TABLES ; ; Space Table Sizes ; #1 #2 #3 #4 #5 Reserved 96 96 0 0 0 0 0 0 ; ; Space Table #1 ; Helvesan 8 HEUS0847 ; ; 65 21 64 65 65 99 69 27 65 65 65 61 65 65 65 65 ; 65 65 65 65 65 65 65 65 65 65 65 65 79 65 79 60 ; 80 73 77 78 82 74 74 90 82 31 59 79 66 96 85 81 ; 74 81 80 72 63 81 73 106 69 64 77 68 51 68 71 84 ; 43 63 67 59 67 69 39 69 69 31 42 58 31 102 68 65 ; 68 69 48 58 41 68 58 86 56 58 64 59 61 59 67 65 ; ; Space Table #2 ; Helvesan Italic 8 HIUS0847 ; ; 72 54 55 72 65 92 75 35 72 72 48 72 72 72 72 72 ; 72 72 72 72 72 72 72 72 72 72 72 72 67 61 67 62 ; 80 71 74 80 79 78 71 84 86 30 60 71 55 99 84 86 ; 74 86 78 80 63 77 70 103 72 65 71 56 54 59 73 81 ; 67 65 68 63 71 64 45 70 65 30 30 56 30 97 68 64 ; 71 71 49 62 37 65 59 83 60 59 55 65 80 65 88 65 ; &133 000 ;select printer type 0 &142 003 ;select santec OVL  74 86 78 80 63 77 70 103 72 65 71 56 54 59 73 81 ; h  '7m ثDH $( .   . b  dg h N DH & DҬDH ҭH ұ@ dkDH rj2kDH  ms MQҴI L Sh  5  LTDH N . h   !"  K#H $ U %N+/1  HNnHO  Sq3 "dDH s 'H ұҲGKh   $ (s . Q T 1  4     $s &  DH (m . s1 4     Uh  $ KR( .  N -1 A S dh "dh %Q&t(u  S  YAGHdf  mLN V h .  UֳDH 5   4h "dh @ DH $C  E   h     U   &( S) -2G4  9 m  rh $   En(* R+,@ q GHN R1h 2h Q 8k  s (D ,  .T/ b N DHmN ҧDKN(h 1 N  3   H N6H dh Qk Qh (     S   .  M DH Rh +H n   * . 48   #Hm( B4    n&rH'h -.dq (  S&H ( NDH ҫA D E Hdmn N     TDH $&. L  &  + , /  R$+ . "dh B Hm3cdh o  q  T$  W',T.03 "dh (  3    4     A h "a    d f  h i  k  l   mn   sv #( *, kvH - h   kmd h k1H M 2O  dh n3  9H  N  kh dh $h , - dh 2d h Ӷ ,-de   h kmdh 2e S 3  dh j 9dh Ң` dg  h *-.dg h kq   s de h h 2 B Sh 4h DEH NS T # Ahn  EFIO    %dh ( R-  dh kmQh dh 2dh S dh q v Ҳde h DH Ldv X!HK".  K6(DKMF H $h &H Kh 4D H 2S  DrEKMQ(h. 2 S DH  @    rDH MO!@DH l%H ( SD Hز4d( BDmHmrJ  KLd  g s V+Dq  H ҭC ұHҲdh DH K  s 9H h #k    n(Mҭ.T1 h DH 3  "dh D  2 3   h N   &( +D -h `dh kSh01F  R $h h (MDH ,"$( 6" % '("kH J hE$`dh ' (dh K  dh k   v   *H , B d h    0mdh SV 5kH dT6dh U#ê9 SPELLBINDER WORD PROCESSING SYSTEM V 5.30 SERIAL #10-46784 COPYRIGHT (C) 1978,1982 LEXISOFT, INC. ![Hit a key]!$, .1Z>af>a[8!ͼ82_ͫ6`8#:`E:a=2`>6,!`C_~_# Ry2_; !^!Xz2B__vVz«a!_*\a*Za*^a*a:B__͏V!_"Da*+.+"_"m_"o_^!^v^!vT`8:_A2}?WaA2_`8!^(~#E*~a*|aͦ2*^as#r6!`^>~~F#N!^ Vs~#~#KJ>2^*|a"~a!^~ʭF#N#!^ Vs#r#CJsÇ>wU!^~##~#q#Oú*~aPzW>_"~a;/v^vT)>a ?W Overlay not found in SB.OVL file$ Error in loading from OVL file$ DMO load error in SB.OVL or memory limit exceded$ SPELLBINDER program file not found on DISK DRIVE A:. Which drive has SB.COM and SB.OVL? (ESC TO EXIT): $##^#V#^#V#ͦ2)D)%%Lxy?W2_2_ͦ2|:B__/Vzs#͂/:a00"q_192A_U10:_)cxw# Ñ>)ç9)<ڧ99ʧ9ҧ90xGx$7&7')<ڣ$xGg|'$xGi?;30$ҧ9_j j͈*^aq#p!^a^#V#*^a^#V#ͦ2*u_;/y?"u_*q_"q_*s_"s_͸`i}O|^a}|OG =###"~aր_!6^#V#N#Fɂaaa a a _8`x``` ``%````:_ҧ9Êҧ9!Z6&#&o͵?yx³yҳYyOҺCâ_yDMjZ~#6 #6*q_"s_(.*q_0>)&o> ͵?ɯoO~#xGyO=8x2?_y/<*_#wÏ 6w>2_:_!^^"1_>2_`8ͅ8ͯ8F͸Iڤ9ʤ9`8:aG  > J9 _$*ʿ # yq?{&ʿ ڿ "K};"K>2._ñ ͫ&^#^*^B O ?J9ͫW͆4ͫ> J9zOGͫOxwJ9yJ9&#q?0OW >$z>*ͫš>$#ͫ ’Ê͈P?_ͪPzʾ{_:a/2a:a2a:aG:a2a`86ͯ8>(!8ͼ8:aGyH>(:aW> >XJ9 (:aWB>.6>!J9 ,Jy C>( 2 :aGyaO9GS97 ʔʥʶʌ J>2_ä9 :aJyJ :a=J> >X}8J9m8ͅ8|7͋*l0> G!`w#6 >2`!`~#yNw# !`6#~+w#7G9GS9:._S`8͏?_!pe`8͏?_!@ U>2_~ze8#>%o> J9> o͵p2C_>2_?}ڧ9}8  p:7 > ʤ9 õV9e8}8 +~ʤ9+~}8+~#2_7}8U ~e8#ͼ8Oo!$#>ox6V9e8O2!Z 6< 7[8:aO:a>e8=g=u8o6>2_>P{P6L>P_͌Hڇ`8~:_dQڤ9?_ !~Hͼ8\! >?w#w#w?WGyxJ9H)͂! ~Y1!~7! F͸####x!` =Qy#~#c>.~#s!~++G͵2###F͸###xG~/_ү2IWx>͗8=e8:a !Eͼ8ͻ6`8e8 yBK>2>K͕W!^ !Xz2B__wWV*|a*^aͦ2"aa!_V*\a*ZaV*|a*^aV:B__Wͦ2|:B__VͥV#VPRINTER TYPEDESTINATIONPRINT ROUTINEPRINT LENGTHFORM LENGTHPAGE EJECTLEFT INDENTSPACINGJUSTIFICATIONLINE WIDTHLINE FEED SIZECHARACTER SIZESPECIAL CHARPROPORTIONALMAXIMUM SPACEMINIMUM SPACETOP TITLETOP SPACINGBOTTOM TITLEBOTTOM SPACINGODD PAGE FORMATEVEN PAGE FORMATPAGE NUMBERODD PAGE MARGINEVEN PAGE MARGINTOP MARGIN!~#~0Oͼ8 ~#precision(0) dot matrix(1) system(2)line oriented(0) character(1)length of printed text (90 = 9 in.)length of paper (110 = 11 in.)stop each page(0) space(1) form feed(2)indent from left margin in tenthssingle(1) double(2) triple(3)left(0) justify(1) center(2) right(3)print width (65 = 6.5 in)select 0-3, 6 per inch(2) 8 per inch(3)select 0-4, pica(1) elite(2)shadow(0) underline(1) bold(4)set to 1, CHAR SIZE larger than 5hyphenation checknone(0) title(1) page no.(2) both(3)lines between title & text@Atitle/page no. locationDleft margin in tenthsGSET TAB STOPSHELP DRIVE (A:), or DRIVE:*_~ ʗ#/„"_+Ú"_~6 :#_2#_z2#_w:_O:_<͹ͣ%:_͝Ĺ:_O:_͹>͹:_<2_*_| #"_!`_D:#_2_2#_yD> N%y/D2#_!`_Dɷyͣ2_!Z####`cc ʃ6 +͵?yy`!Z####Ͷ2_6 :_͹Û\ w# \##+͵?ѯ":_:_":_:_":_:_+}*_}:_o͠L: _G:`l:__: _lO> G͵2O: _G͵2͠ʊͫ|}+~ͫ: _O2}:_ ң :_:_:_ ҹy{ozgͦ2#7?)2^|7>#!770h@:_=:#_G:`G~ =͑#/:#_2 _:#_2 _!6"_:_2 _: _2#_: _2_+~2ʎ#+~?2q#~ҁ 7?+~ڧʡ‘+~èx7*_ ´ ôy2 _*_͂#G͵2ͦ2"_:_2^:_2^:^2_!:^2_a?Ї2 _<2_:_2 _8:_2 _ :_O: _G> i2_:_O> i2_:_2_2_܂͵2O2~,}2_~#~##2#_G>O͵2 2:_O2}ɷG> N%> N%½_*ha~:_ʙ*0<ʙO͹O~ʙQT0Ax Ͳx9G>)2^2_͹O~ʌQT@zC0>)xʤʯ[ڤ!͕6طͫ6[8!Fͼ8ͫ66Q7S7E>2._:_¯:/_`8::/_`8ä9:_ ږ%B:._Ö:/_8OS9U12͉)ʤ9ʤ9:_?09?09:/_6?͖?:/_͖?e8<>-J94e8:_> N%͏ù+~# _~.7?#~_YfDXR*H EPʭS‹Ö+##TBCEʼ7?++#@>"_7~͋*02_#~<#)<=x7>͹ >A3[ y7> N% ~ 7_>2__#)<72az9~+7# 7#*!:_͝OTiy:_W:__zv{G:_W:__^!`~ #\y~\y#:_O:_G:_Gy͝ɯ:_2g_: _2h_2i_2j_ͫ2i_O> G͵2:_}2j_>G>Ox: _O͵22}=%ͦ!Z͡ ͻ#!}%͏%:/_>J9ڢ:_> N%:_:_G:_xeGyeO:_2_G:_O͵2:_O2}:_2_ͤA:_Ě ȷ=Ì>Ĺ³6! G8ä9[6͖?:_>wU+~͚ #0!Z~#1#+ ͚ +[86!1Gͼ8Aʔ !Z~͝5# A:`w>͝5m8|7}; q Y 1 x1 #~+wJ9#% x1 +~#wJ9m8m8+% xʔ ʔ  #/!Z~# ‰ Ù >2_1!2_m$̈́$$͑1" > Y! !-!1-!WwzY! E# w# > a#333333> ù wҹ > Y!w>-Y!333333>-õ >-k#w:`Y!333333:`>-$/- «!: _WyOҔ!Ô!¶!͂#Þ!> x2_y2_2_ !d$W!!z!zͯ"d$ͯ+#~ !!d$*_: _O: _G͵2ͫͮ2d$~B"#~#!"++~T"#~T"G"#"~#2m":_2_1"҃">!>ͱ$1"11" @Ÿ"~͋*#1"++~# ±"<$1"12:#"#:`a#-1"~!""~>ͱ$#~#:^2^"#~͋*+#~#0G$O#7~#./#:'#+x2_:_2_y/O:_2_>2_2^> ~ ?++~## ?7> ͪ# Ą$$Ou#>͂#o#ͫʙ#d$ʝ#ʝ#: _ͫ:_:j_1²#>1º#>: _O*_ͦ2ͫ|7>$y$:_ 7?$2#:_2_$:_l 2ͮ2?>$:_l 2ͮ2>7?!Z/y?> _0:`W_$~#H$++~#_$7`${:_:_!Z  xx$:_G:a$ʹ1ҝ$xGx$:_$ͱ$!w :_2_:_2_G:_xG7$$xʹ1G >%:_O%O: _%>*ta! /%o %$ %Vx O ~~!#~+a2_Oh%AOh%Gh%:_aͫ=<)aa:_ &ͫA) &:_5''ͫF)':_%ʴ%ͫK)>ɷG%> N%¾%!%%:_*_ͫ/x&!`i&xgyo: _O2Mѯ2_:_&:_'L&G> O͵2: _O2: _ͷ%:_:_ G:_!7͹$y&7_%_&&_&`ڊ&í&P& Bʧ& Aʧ&Hʧ&xN%a&' &x2_Gh%:_=ͫ> _%|7G:^x2_ :_:_2^Gh%G:_x2_͂:_:_2_Gh%_& 5'>2_>2_}'ͫ*_ͦ2́'O2: _}'2_O2}2_x2_:_ʑ'ͫ:i_: _G:_:g_&ͨ'&:_':_'ͫ'>'h%> ͙( '>2^>2_:_&@'%yͷ%_&͹$2_G x(͙( 'T( N(:^2^ C(G:_(> N%2_}%'̈́(:_'N%':_G:_{(x=2_:_:_{(:_=2_:_<͕''ͳ:_͐ͷ%G:^ʯ(x(W%:_`(:_G:^(2_x)N%> N%G:_x:_@>:_ > :_O:_x:_Wͫ)*fazO~/W:_2_xG:_$O>_ :` :` x1G7>dU>dU>dU>dU:_7ʂ)҂)0~7‚)+~?ڂ) ʂ)+~?҂)#6 :_2_:aG:_O:#_ک):`2_*~_:_U1>2_͝32_ͤ009'0G:_2_'00"q_0V,0T]'00"q_/y2_*q_0:_o*$:`G#*0~#++~ȹ#*:`GA*0~#0~ȹD*.,\*!CG809A8ͫ6Y6ʹ1A?[a?{طʹ10?:u*Ë*ͯ*ڤ*G*Y.,:_7:_7"_"_>"2_*~_͝3`i8!"_A8ͫ66*u_$",*o0+"w_/x*|_ "|_*w_*m_w+ y,+}+"m_*w_#/y+*m_%"m_> C,*w_:_ \+!G87*|_DM*m_$"y_*o0"w_*y_}*w_T]/€+_҆+#/*y_#~ }Œ+"y_xq+*>)*q_N,*u_*m_ͮ2?!G8>6,*o_"m_2|_2}_!G8A8ͫ66Y̿+7:_ ,2|_2}_͜*G*Rʿ+A7*m_$"m_;/!G87*_|G:_2_>@G:_2_[, 2)_2'_͋02&_n,-:'_O>2'_ʒ,~ڒ,~ʒ,a/6#q#6#+~ž,++Ò,#~¬,#~2&_##:&_O:`2%_~A-S- c-x- 4--,6 #:%_ҹ,+T]~ $-+~--- ,V/6 #:)_<2)_k,#V/6 #:)_<2)_k,+~#6 0-6#k,6 2&_#ͼ7k,+~S- Q-#V/6!=_##~*_##͕-k,+>/:)_=2)_ù,##͕-++,>/>/:)_==2)_ù,:%_G0xʽ-~ ʹ-ʹ-ڹ- #Ü-7#00͕--+~- -#V/6#k,#:&_~->2'_+I/ù,0~. .#.#~2'_:_@(.h.h.x<>.!Z/6 yF.ͬ.*s_~).!Zh.x<>.e. >.:_r.0~7w!ZT]ʣ.w #ʙ.‚.AÂ.WQzy<Â.*q_/*s_#/"s_*q_0.y|/.}/~# x.y.ͼ7y./ + +~+ x/y/ͼ7y/*u_/ "u_.T]##/T]####/T]#/T]#/6#6:a=#6=w/"u_*~a͒/"q_"s_n/+6 #:a=6#=š/6#:a0:ao:u_o:v_Ҽ/=g:` o/$*m_|/}!G/8͟8j9>A36  {OzG0~#00~###~+++/0/0#0+~90+++~/0 /0~N0 A0#0~0 S0:A_G/0c0#0+0#0͋02#_*q_u0"q_+~ʠ0 ʝ0Ҍ0+~:_O:#_G:`2"_:_2_0G:aOx0ɯ2_å0:`<2_å0*~a_!Z_ͥ/:`O ~#0~ 1q#6#00*~a͒/91-1;/1n/0N,0~#91 +> w#*q_0ͥ/0zr1{x10g1`i"~_1ғ11Ҝ17717??Ox͠11͠1̈́171͠1̈́1G:axG:`xG:`xG:`xG:`xG:`xG:`x8Ć4>LJ9>͆4*~_DM*_|A2 DM>2>͆4>CJ9>͆4a2s2>͆4:_O:_O>2:aO:`>چ4>/J9:_>1J9W`i_'33d3 3}0J92})3z}`i3{z> J9>0J9=I3A3:aG͵2)+|V3!Zk3*q_̓3i5O:A_GS9>.J92_:#_2&_:A_O͏4:A__/*~_ |3:ag}3%32A_:0_g:_20_3:_3:_3:_ :_M4492A_:_42A_*q__0͋02&_:a=G͏4z5-42_2_:_:e_O:aI4:aGS9ͯ8:A_G*q_:aG:_q4:A_=q4@0͋02&_:aO͏4z5ɷ͗8=Æ4xr9͝4͊9ͼ7:a=2,_4 :,_e84x=4Ý4Ý4^9:aG:,_4:&_O:_:5O 444 5͸54a55 > 5>͸55 (5-5>2&_2&_/J9K5>͸54a5:ao:_g:`.J9m8}8ͼ7‰5G5Ҳ5GyJ9m8>A3x͸5O5y55yJ9:ayʹ1/*_|0ͮ2̗9*_ͮ2̊9:a/O !x` N>@W:_2_|7͙7ON6{6ʈ6 N6{6 i6i6ʤ9͟86:_Z6ÿ́1Oz6q#y͝566 e8j9y 6x6͍8+6x6͍8+È6777?|77?|7a6{6_ͫ6Y[8V9969969>96>9[86[88͆4.:+_g 72+_g+| 7:_&76I7:$_|7:_2_|747:_2_|7:_7k7:$_G|7o7|7xo7>:_2_>:a2+_72$_:_/2_|7£7:`77?|7@ڶ777:_38 a:_j9a:_<2_!B_o7$wͼ7:_!C_~:_ 8!C_~:_G=2_#~+w#838,8 a 8j9a:8*_}:_2_> J9:_2_> J9>J9>J9> J9>J9>J9>J9>J9m8͗8m8> J9>J9> J9͂9r9!az9͂9r9~8yz9J9# 8989ͼ8O8͆4[8ͅ8:a?:a8OOS98OOS9:A_GS9:A_G:_OS98OS9O aa> aAS9V9> a> a> a> a:a> a:a> aö9l;ó9;@;1Z.,`@*q_0"q_:_G2_x9>2_̈́)2R[88͆4ͤ02[8!Eͼ8:_:y:O s:ys:y5:2C_>2_S92_!Y 6O[:998͆409>ay; @Y͜:ä9:Y 7?:Y͋*02e_7>2e_:e_O7409>a7Oͤ;҂:xĨ;y<ң:"_"_#}ʲ:+}¸:#+|2_#"_|9D@͕6ڤ9!c^"1_*_ : ʑ;_O!;:2._@>"_ڧ9"_y!;ڧ92/_:/_O!8; ^#V:.__A,;?>:._2_ä9`88À;*_+"_|*_"_:;P)د2_2_>2_!G89;͜:;;̈́)>pUS>6,a>C,>as: <2_>pUA8? ?@>|7}?<}:_§9:_ç9JR0DʪDʿDáʖ<>Ù<*>):/;4>>):ʭ=/;*o0]T><>o0:_<͜*<#/~<+~ <#>):5*~<#O:aP=>PG:_W<;=:_§9zڧ9ҧ92`ͥ/1>)::`O͂?ä9:._ʕEʕE/;:_e=Ϳ+:*4>o0*ڶ9)ʉH/;ͥ/>):ʉHͬ/>):/;>2_͉)09|7ʶ9::_O:_Gx~0 >/0~/> x >#0*>5*>͑>!#DMd> -H>+H>7s>ʦ>ͦ>ͦ2~>xi?+~>-~>i? ʢ>/>¤>>i?*_}>?>!?$?! > >/>0> >)DM)) O |>7*n&\?*@>>)\??\?/G&:_o:_o:_oH?*~_U1"~_*_##:#_o&:_o  /7 i?|7!G8ö962!Eͼ8͖?ͯ8:aGS9j9y7Ұ?͵?|?>-ͦ2y= 2=?O|y?x0x??q?6666!Eͼ8;*:_|@!"<_`@:_2`ä9:._@<9@*:_| @>Ã@:ä9.,S9!FFͼ8*_MD2!"_":_:_ʤ9*<_}@>2_ê9>>aHU*u_;/y?:._ʰ@ʰ@ ʰ@ʰ@/;FP:._@:_§9:>_GA>2_*_~ ʩC$D*_B"_(D*_~ @xGC"_*x2>_A~A#͕6ڤ9iA>)"w_x>4ASB):._TATA*_+"_+|TA:xA?͉)?ʤ9A$D70~…A͕6ڤ9͹O~ҔA:._ ~͝A#sAxʫA+8B#~»A0 AA~1A AMBAB#ʯAx78B~A xB@IG~@IG~xA,B#گAA=KB=IB=CB~͋*?u*?~Ë*77## ïA,DxCB,D(D'CByG*w_/H/#/*w_,DʙBw#ÍBxʥBͳBͳB2_)͉):_>B(D~>B~#B>ɯ*w_/>~# B~*BxG#~!CxG#~\ʅCC>/+<C> ͒C#/C>~3C#'C6?C'CqCG$D*w_+#7eCQC~QC~p##y*w_~# zC#~C#C͙Cx?G̈́) 746!Fͼ8!Z 6$D!ZB6!'Fͼ8!Z 6(D!Z~C6 AxGA:_2_*w_)͉)6!6Fͼ809ͻ66ʤ97![![!Z!Z6.#6Y#!_~D#?DOD:6 #6*q_"s_(.*q_>)#~_S̗D!_TƒD!_ )<ڧ9Dw#ƒD7!__D#!Z6.#6Y#6T#!_ ?D!Z6.#6H#`w# D+OD:&o> ͵?~#D6 #D~w#D!`pD`!_D#`oD> ~# 1E+7*_~_Y§9#:._PE#~ XE/*_fD:._fDðE̵ELIͅRͥ/~ʏE[8V9!KHͼ8ͻ6¤9`8a>AUPAU/;>AU>AU>AUCOMMAND: INVALID ENTRY LETTERSNEXT PAGE? (Y/N) FREE: PRESS A KEY TO CONTINUE, ESC TO EXITSEARCH FOR: REPLACE WITH: REPLACE? (Y/N)  ERROR LINEREAD WRITE MACRO  FILE FOUNDFILENAME> :OPEN :CLSD END OF FILE DISK ERROR NO SUCH FILEDELETE  DIRECTORY FULL DISK FULLDEVICE NOT READY PROTECTEDTYPE: S(STOP) E(STOP PAGE END), RET TO CONTINUE LINE SIZE WRONGHYPHENATE: DISK  REALLY? (Y/N) *INSERT**CHAR**WORD**SENT**PARA**MARK*EDIT MEMORY FULL OFF END CLEAR HOLD? (Y/N)  OUT OF ROOM  HOLD EMPTYADD OR REPLACE?  IS THIS CORRECT?  PROGRAM AREA BUSY PROGRAM DISK IN USEPUT ORIGINAL DISK IN DRIVE PUT PROGRAM DISK IN DRIVE EXIT WITHOUT SAVING WORKSPACE? (Y/N)  READ CLOSED  TOTAL: MS{͋P]I:._¦H*_+~/ʒI 74[88͆4[8`iͼ8!rFͼ8!Z 666 I~ /H:_IW:1_O:2_G!XzIO"I{{Pq#pypy2_!E87~/#~#͋*0G>5IG$Iʹ1a{_:_g:_g:_9fIä9!XFͼ8:_g:_̈́I!RFͼ8:_̈́I!}FŽI!Fͼ8!Z*_~#!ҚI+> "_H_FøIRF:__͌H͈P:_JXF:__͌H:_dQYJLQYJ23_:__ͱWz VJwJ:_?_ͲPzFJ>ɯ2_z!F QLNL`J2_ä9fJ8!Fz !F@!F!S^:_WK_!X:__W!T^!X:__wW>23_2JͥJ::_]I?@_ͲPzJ2_!FzQLNL:3_K:_W_!O^!X:__wW:__KWLY:_W_!T^!X:_WK_LY2_:_@EK2_"K:͈P]I?@_ͪP͓PNLEK2_͵I::_>>>2_:._K9KʂKwK>2_͈PÂK/;ͬ/>)͈P̵IڂK:*_x:!K.,::._ʴKx:f<͈P:.,:"K!qH8:*m_"y_*u_#/*]T "m_#/"w_;/*w_"Lx"L TL LK!F8"K"L*w_*m_#/*y_"m_*10:_2_x"K!FÈ;y`L> w #͈P?_ͪPsz7~ #͘LTLTL + TL6 # y‹LTL++~ʜLx+~#> 2_:._ʟJI/;:_IL:*_*o0L/͂?::#_2&_~x ͉MV+M:__M?_ͲPzM# ͘LMML:_JMzJM :_?_ͲP :_ZMz eMz"cM'x#~+ ~ zM #yqM +:_+~ ™M2&_#~§M#~2&_##:&_O :_?_ͲPzM ®M:_?@_ͲP2_NL!FQL>2_> 2_:._NʁO/;͈P̵IM:_IN:*_x<ʾN͈P:!*ͬ/)!K) ONx$N͂?:ͥ/+ͯNgNJOgNVN#~6ͥ/:_Lwͥ/#//*ͮ2ښNͥ/âN`i/`i>)U10#~7 ïNͬ/)ONBK͂?͈P:O͈P±K::_INʤ9!:_]I͈POONͬ/)!KN+ODM͂?:ͬ/+~ =O#6 #n/ONͥJ*~a*u_*m_/ ͮ2:ag:n_.P}Og@gT*¶9͹=͈PʜO?@_ͪP͓P:_:?@_ͲP:__wW2_:~:._>2_͈PO>)ONO͖?*>2_7:_+OO*ͬ/>)eOK͈P6Pͬ/+~ 6P#>)!KxP>)N,>):._*_|>2_͈P̵I\P> 2_:_IjP:_!_po$:_{P~xPw{:a7ͺPP͜P*aPvVV/V͜P-aPVWåVP{?_{7{@LI> 2_F:__͌HQʤ9dQ-QLQ-Q:__ͱWzVJ:__wW>2_2_9dQLQ_ͫWzmQ7:_]U:_+RÜQ:._+RQRvQ:._RR RʻQʻQ/;S:/_̖?IQʤ9ͅR!Q"Ba*_"_2_:W:_?_ͲPzR>2_M#R+RͅR!"Ba*_"_2_ßJ*Ba|͗RͅR*_*^"_ͮ2ąR"_"^:_=VR2_BSR> N%:>vR>vRmQä9O:_G#R$a:_>2_RdR:_jR>2_RͬRɯ2_2_2_=2^2_>2_>2_͗R>2_BSN%S̀:SB:_?ʤ9:SͲ:S>2_!FP:/_ %S;S+S>2_ɯ2_`8Q>2_BSRS:._AO:/_AG!`Vڧ9F#NxʬSS*M^>2_>2_2_STOSx‰S.,9:LI`8MS͋US!9"M^!pS.!pS*_C^ S:_ͣO:_ͶGS:>2_͋U>]U:T>TĽT3Ty>(TX!^og͡UDTTڧ9GTvT:_iTG:_iT!G8ä9͚TvTiT͡T:_o>2_:__\WT\W!0HåT!H6ͼ8:_AJ9a6(T>T!G8ä9(T!^v^yT!^m^ VJCp!XpW?W7U?Wx!!q?W!?W U!zU!zU!zU!zU!zUg:`o|&zU!zU`i_DMSTUxUUͳU!^ VUCzW>_*|a(TUFwx# UUOͳUV^#V#V#~#!Vzz7{=V#'VW~>VPVbk#oIV$<^\WW6#?WW?WMWWW\WW6W?W@\WW?WMWW!{]:z]oҲV$r:z]<2z]\W2z]W{]?W?WMWW>W\W2z]W?W>W?W> WW>W{?_WͥVz2W:z]!W?WMW|WIW?W:_G{2__?W\W{W?W?W2_ɯ_ͫWz7 ?W2_'a\W{W?W@|Y {0!0\!\!z] ç9W!\p!V]!] !^@!\P!\pç9`i"c_{p2b_zY{EYXQXO6#UXQXsXQ!eX͓X̓X:b_P7 ͿX:b_P6#{X.ʓX X͡Xx6 #×X /.*ʿX Y!w#X7:b_P776?#xXáX*c_#w#X:X͊W_@YA?:_a{_{EYzEY sY~./Y#sY6#7YzW_WZ\WzEY\qY{EYlqY\?W~#sY!` =Y! ~#怰G ”Yxk__aBa.BAK .$$$ .WPM .HEP *.* SB.COM SB.OVL @:SB.DAT pS (  ZnA# ZnA#ASAMPLE TITLE PAGE ## /-^}{|~`-<> (08@HPX`hpxC@QS************AO/MENU.WPM ckdchd g i2ijgÕhìgfhÀhÒhÒhÕhÕhÕhÕhÕhÕhaal mYmmmmmmmmmmpnqnsntnwn,PP   abb2b2a:a2#b2=b:a2.b2Jb*a*a/b*a*a*a̓b2a:a>2a:Ra>{b>̓byby_ObYObyb:Rabx=WOb?_Ob>xb:abXOb>Ob/:RabOb> Ob|2Ra c-Ob> aOb*alSb1cc9c"a͚cccUcx7nc}c͓cзlOlGc*la Ϳl:aGy2a*vaͿl*xa:aG~#ʏc>2aͿl*jalcbOc#V#^#~#ngcʺcAOícxy|xcGycO*la#####&Sbcf+|ccb @c d*ald1c d d d*al"aCd ?G:ax pO!ax\d~x^d#Kdy7O͂b*azd"aO:a‘fy Jed e:a=­d:a=­d> JeBK gͿd:aBK g*nal:aGlddde~de#ɰO:myad:Sa$ey$e:eyO pO:ay : m_:a?e:a:e:aȯ2a>f:a>2a> ffʄfʋfOfFyqexfBK gʵeʹeeefffePf Zf ef hfwf+e:mexef:mͬfBK g1f:aexjf> fjf:a> fFhf+e:mOfx1ff:mͺf:aO:a=@f :a ad @fɯ2a2a>2a2a:a:m:a=Wɯ2Sa:a2Sa>2a fy2a>2a:aG g2aGxͺf °fɷf=úf:ao&+}fffO!%mͭllfadflgGlggg2a2a*g:a=3gGx2a:a=@gOy2a:m«g:mG:mO:m_gxAO!%mf{g#fA{g#f:mͺf:mxadGdڐgG>1adx ڝg GÒgy0adx0ady<2a͹g*za~#yg:agyOͭllhdghyHhyhdy =h >2a>hdy:a&.:m!h.:a}hdx2a,xG}hd%0h>2a>hd!    7xܞbx2a a>:aW{Oͥhya2a:a ʳh ha³ha¾h:a<2a:a>aah2aOh*Ba|yhO:a yҖhÑby2axhyxj h&ih y2a iYiBi*pallVihJi*fa##~_y pi+~/_#̀i{w#~/+wyʖiy>’i>ijyO „iʨi Yi*fa##>i##~/++w͠iixjj)j:jixh j jij2a}ky2axhyxj h%k*ralBk2kfkl}klWkl ]kBkhBkO2kBk*ta!oyk$pklh}kz§kH ͭl~ʤk>ɯ~kFkplk~k#~+k##>ɯɷkb> a> accl> aͬgladl~#'l1l~#'l͇ll!aq#6+7y'l#'l+####͇l͇loNl$N~'l#~q#klklyO'lylayO͑lyw#6!a~#ˆl~#‘l~‘l#yÑly~#±l ±l~#l'l~#l~#lÿl~#~>#> L55 y =*  TY() x65  I XY     0p            g@gT*¶9͹=͈PʜO?@_ͪP͓P:_:?@_ͲP:__wW2_:~:._>2_͈PO>)ONO͖?*>2_7:_+OO*k Q  #h &- 2dh l    K$%dh v+dh -` dh Oh 5   vH 9   d,-H .h dh KNOh 24S56dh Rh  #h Fh Ks (Lh -`d  /2 #$( +-Hs!H (  +تDH ҳH +DH rK Ҳ. C H @DrH Mظ ҡA E  KM,. DH K "Ҧ@DH ҪDH qҲ( +H    kS$( H سADHl$(E dh U dh -  ( Ҳ  (     R. +/ KQ3km + #$( CH, TDr  H / 1 GO  3dh klp v L (rKMD  LVF   $( c $(    DH  $ ( s   -      s ,    H  V(  "%dh -2DH nN       4    H (h $       L Q  S(h   F+   T  u .  1 4  Rh $'( -/ G (3  R hSd h     dh n  /h 23H n.dh qakR "dh   n q                    &  Hd,  /  5  D( " #H &  ),    .2379 $( NO snV$(-  /l H 0  V(H 2u t   -  B    T2      M   Q   q    RS  $c K     Y     ( + D .   K hR T 1 N      X  F  h HR3   -  @2hSh  $  T  13H n   $'  s X (h +   .V 13m h    R   h "dh l ,  N     O    Rh $ ' m    H  ( Q    +N  .h Lo   Qh T    q   1    T 4    8   $   u L( U+ . F d Q   R S  dh l / 4H Q   h   H1 h  U    ( .  Q    1       h  $  (  +  H  .   1 u N 4          ` dh l     (    R   U   (   4 n 4 h O  (   .     $  '  (+   - 4H Qh    M    $ dh o  s    ' ZnA# ZnA#ASAMPLE TITLE PAGE ## /-^}{|~`-<> (08@HPX`hpxC@QS************AO/MENU.WPM (PP    J5o?y =*  TY x65  I EF45 @ @TSHTSHE-GF-HWWWWWAA20   H-0\1_2`3{4|5}6~7^8[9]:@  p            ------------------------------------------------------------------------------ COMMAND(^Q) indent(^Y) insert(^E) enhance(^W) cont(^A) cursor(^H^J^K^L^S)old nhold op nd ack orward enter ndent clear absoluteEDIT(^Q) Help(HE) Other commands: 1: Disk 2: Text 3: Printer 4: TablesDirectory(Q) Read file(R) Get next block of text(G) Done/save file(GD)Search and replace(S) Repeat search(SR) Search all(SA) Delete all(DA)Print one page(P) Print all(PA) Print file(PG) Printer reset/done(PR)Printer table(Y) Form .Y(FY) Title table(YT) Form .YT(FT) Tab table(Z)Start search string with "*" to ignore case/enhancement, "!" for whole words. Enter the filename D:FILENAME.TYP, or RETURN if you do not wish to open a file Use left and right arrow to position cursor, then "TAB" to set or clear tabs. "DEL" or "RUB" key clears all tabs. "TAB" followed by 0-9 sets uniform tabs. Press "RETURN" or "ESCAPE" key to exit. Type "HELP" for help menuFORMAT places title and page # on the title lines. Examples: 30 title right/page left 23 title center/page right 03 title left/page right 32 title right/page centero open a file Use left and right arrow to position cursor, then "TAB" to set or clear tabs. "DEL" or "RUB" key clears all tabs. "TAB" followed by 0-9 sets uniform tabs. Press "RETURN" or "ESCAPE" key to exit. Type "HELP" for help menuFORMAT places title and page # on the title lines. Examples: 30 title right/page left 23 title center/page right 03 title left/page ri    K   .  4  h  T+H 2d    h DH & -   1  B C3 H   r   S  q   $        C        k M   r Q            (  Q h + m D H      N h   q  r  .   Q Rh  s   tT  1         N   4  M Q     $   M  r    t   Ql     m (  f     Q   . Q    1b    c lm n  o    u   D   H   mN  T r    # H +`   dh !  Q%& ( +D H/HNS36    +H 1   4 Kh  (Kh   M2  H  s  T4 ( & .h DH `Tdgh kmrEHKL MVk 3e   k (  * @DH  mNt 2g kmrsH   s3  (      MR .    "e kmh v# $%D-H ز3    "HV %&( DG H K X1N 2 H 3h  m   r'   D rH mM hkE '  N  ( LM-3 4N  + de   h k 2ht`   dh   DH $( DE  H K  n 2   dh G      T   T$* 4 $     .!     ADH ҫDH  Ҳdh -dh  (h   M׫@DH N .h H   (  ,4"H DH - ,D    HD. 1 HdNT  a h 3     5  HND3D H N "dh (MR  3 4d@ H dh   $R- 2$f 1Nt4 *  3 su  h $ &  +dh v-h  1  H 2( 3 H'dh , 4 h   "dh (A  FMO D Hm جDH ms ز3  h Q   h kM   "dDH ҤKMr &        (B MR S  + DH rҲ@A q tB  E G K LdO  nq  hSV ( @  DH KMVg kD GH L  O S 2  T D"d%  +-3rH   9   Sh $km( 3DH Kh   A  "D  Fh HO Q  gs (dh H ,H L -Fh dh MIOh 1H 2a  dh k GHKMS   T  4  S5  H KҷDRDH "dh F  Bh H h dh  km, r2h kDH  mTd h $& ,  - h O dh 1`  dh Sh dh dh ҦFh .df h k  a dh YOh 1D  H  r2dh 3 H R4  c dh   dh B D  H 8!"   M %h (hk*H ,H -dh .  h 1 dh S 3H rS  DH $( 6H ҬDH k4dh r &H m' DH 2dh  DH (K +  dN     DKh MT@ s DGH r.>Pb>2_>2e_!\G -4G:_5<2_7=>2_7h>AGh>"2_!"_ͤ0*~_͝3nhÕhn>6,Q >6,>24_:a‹r9>92ͤ0:a09:_2@_ͤ0:a®r9͒209A8O :_y _> ̈́1OP)Ң:4_zʹ:_ʕ>2_ ËʼʼN8yaͷyStN ʯ   nnn:_®y  ʺʾ \P)Ңy ʱ=J =Q =ʸ =ʡ==q=ʏ\!G/hË!SGå*u_;//\:_0FqA,:_<2_G:#_G:`:_<2_y͝5:aG:_(.@ >A2_*~_͝309(.:"_.z2_EJ*q_/6 *q_V,:)_oI$6T]'0/y2_2_͆ n:4_J >p24_J \A,y.Œ24_͒Ë:_G0+G:4_<24_=ҨG~qO+è`3ɯ24_͙7OA87>A37409ͫ6ͫ6\ͫ6=02e_O74\:e_O74O LCRtISʡ0:_®yTENPʺFʘBʌ ʯ P)ҢyHʸUË>2_ͤ :9v:a=v#**á#*5*>)U1"~_::a?O:a:a=O#*~_*q_$0~#+ )"~_::a?O:a=O#*~_*q_~0 #ͥ/á#ͬ/áP)ڤ 2_ä A,:`OP)Ң:4_z>24_͒24_Ë:_<]2_ Ë*T]:@_ҫ:_0~ګT]/͞ Ž`3A,Ë#~+w#Ÿ.z2_*+~fx͜*B+0##/*q_0V,0h>G:@_7==5=_=qͥͶͲ͇̀á͈ͦͳͶͲ̀55iͦͳ5Ͷaͳ_7~1Ͷq~ ~ ʣ ʣ͕*ڣɷ~ʹ1.?!~ ~+0~#07a .z2_:_@y*q_V, fx:_2_î:_@>!>2_ :_)x2_̈́)byN~C~y#0+0~Y#0+0~+0~ ii~ …:@_y~̀1wg3x*~_>2_͝3>6,2@_qͤ f*Bͤ L+B*q_+~\+(.2_\:_\h.y!Z6(.*q_+~++N:`G͂ \W:a_z\\wGO*q_͋0O͂ \G*q_]T#/6#p#6#"q_x2#_*q_V,B+>/>/>/"q_͋02#_*q_V,>B2_*~_͝3bA,:_0>ͅ >ͅ (.*q_2_:_*q_/0~\̓*~_+}@0V,0"q_>H2_*~_͝3b̓0V,2_͆ n>92> A38͍8= ËA8A,:_0~O:#_> ͅ (.*q_JV,2_A *s_~ ͆ 2_0n:_e ͂ :_=2_m8Õ:_\(.*q_V, :_=2_=:a:_0~ʹ1J9m8A,:`G:a=:`:"_O:_\͂ :_<2_:_<2_u8Õ*q_+0~\ͤ ͷ :#_O:_G:_2_nͤ *q_~\ ͆ P) 2_2_:_7 ͞ >B2_*~_͝3: ͤ !Y6 6ͭ9U1 ::_ژ 72_:_0>ͅ >ͅ (.z2_>B2_*~_͝3 bNwʔ y#È ͞ t >6,*s_#"s_K.*q_V,z2_ b ð9 2_ê9P) 2_2_ A8>2_ (.*q_0"q_͋02#_*q_A,V,z2_ >"2_*~_ĝ3:_>& :#_O͟ G:_x4 y2_O:_O:#_Gy2_Ë:_O:#_O͂ \W:_0\~q A,> FwO:_<2_#b :`G!`~ҟ ʟ #ڌ 77?:_@(.*q_V,z2_ͤ0*q_0+0#*s_ͮ2:_2_:aG:` 6,g306#7 :_G:_2_0 *q_~h !Zm "s_~ } #p ʃ #*~_#"~_*q_0u0"q_:_@>dʬ x`2_͝3*~_+"~_*q_@0Ù 6!Gͼ8 9:_!UG= ü8:_!SGļ8Æ :._r2_rgg ʷ CMS ä9fW rf:_5*q_*u_$;/y?ͬ/*q_/yʧ9 *m_"_>+|g"m_"o_*q_ +~>  x*q_n/*q_>)2_ͬ/~#=~=n/>)*_"m_"o_>2_:_ +ڤ9:_ʤ9:_>,:_Ž2_>C,:_O=2_!"<_":_#"_͕6ڤ9ʖ:@͜:0*_#"_:_²>2_͉)|7};ò!YY3ڧ9; > w# %+aҸAOͪͥ?PZz>{%a?A%i?=§9ri`iͲ@>ڧ9Î@>ڧ99 DM͢+ʅ-ʅ âͽ~#foͽs#r0ڧ9ҧ9_Oj_EN§9͟Drx$$$*_/"_òxx>/Gy/O> +7-7>@>*_#ѯ͟ҧ9~_G_G#dNI°_N§9i?i? ‘q?};%§9Ga+AҖxͲP(_R§9i?"͂9r9j9z9"J9!Y 6};Y@>ڧ9@>ڧ9r`i"<_*<_|R"_DM x>2_2<_2=_òfWX>@`8Xê9!"_"<_>2_f!Y^"1_>2_ͯI҄:._uʤ9W*ͬ/>)!KxP~*q_~#´9 >)r"Ky?w#+Aڧ9G>d!o$27_o $+|ҧ9>>0ͪ}i?=§9i?!Eg!V O*i>)"qO:7_=G͑ډʉw#v6 # عGyx ,7?aҧ9ͦ6-#:9_G:8_GxO0w# 6,#:9_6.#O0w# ͦY 6!Ypͦi?=§9i?!_p*p>)i?+ʃ-Šx/Gi?u>:9_O:8_O.ʲ,ʖ͋*Ҳ ç9:9_O͋*>0 º͋*!ҧ9i?:8_Oo$0+w y+6 x:8_O +~/  % w F¬_L|A§9JJ]i?%§9ͦi?:8_O + v  gryrҧ928_y29_Y 6!Y qSU_I/SGPG͟ҧ9xLEF§9r:7_Gyҧ9 ~6 # +6 ~w#i?%§9!# Ͳi?r*q_+0#~a/6#q#6#"q_y2#_C¶>2__PsM§9>2_͉):a=G:A_>2_͉)i?%§9i?i?%7?A?7MB_C§9r*q_0+#~ >)i?%§9i?%n&ͲT]#:7_=O.i?%§9T]:7_O .6 i?rywRj_K§9i?%§97&oͲE§9r`i":_1Z_E”!"_>2_;C§9!"_ê9>6# x«G>d6#)<ڧ9Gx29_>28_>27_i?>+͢h^=â*_#%%o$*o_#:`T];&w#+n/+~ &# .!Sͬ/"q_w#C+n/÷ AO/INSTALL :IN "NO INSTALL.WPM " 1y*"*"*"*"*###2}2| o gZ#^#V*r+s;!*C~# xe*######͆ͺ!͗~# ‹**#"MD**w+ x¯" o g##^#V#"######^#V"**"|/g}/o#Xnz]h.4AGLQTX[^bejorw|`- "',15:?DIPUX\`epty~1 !~ ڽ1 ̈́24!: GͶҶ ̈́x ̈́ ̈́ :4_̈́ ̈́/ Enter your COMMAND (or ^C to exit): $ == HIT A RETURN TO CONTINUE ==$, ̈́̈́ ̈́>24 ̈́ ̈́:_!6 >2ÑGyx1 :ʰ*"**}|Î.COM NOT FOUND. PLACE ON A: OR HIT ^C TO EXIT $ $ SPECIFICATION ERROR$ NOT ENOUGH SPACE FOR PROGRAM LOAD$&_W Ą% ̈́̈́M ̈́ +~ " #>x]imi2\2l!"!\">2> 2:t:‚:’::¤:^:ºN:^y*w#"^!d">2>2T!l"> 2>2T!t">22T*~O*#":=2y_8:%?8.= B*GI>I>I>I>2y>?*w#":=2N>2>  m*~ʭ ‹*#"t*#~:¤*~##"@*w*#"=̈́A275>~! # ~!?y>  > 5!Va{_#~+:7?~_A?##_̈́ѷSB COM̈́kV̈́ ̈́k͠*MD**!@w#¨"w# y*X; >L&_͜: _l$:_œ: _O2}ͷ% %$G*_: _G: _O͵2*_ͫxtͮ2t"^*^*^ͮ2?2^*_*^ͦ2|7: _O¶2^ÿ2eh$"^:^:^*^*^"^2^$2^"^ɯ2^:__*^: _lͦ2_&͹$2_:^<Hc$*^+"^l&͜$yc ڛ$u ͆2^o&͜O:^Gy$2^Oxx <kʌ - _:^o&ͦ G:_Wz@xz xunzW{2_ {_ #!͜x ͦx) :_o&ͦ2ɯ2^2^2^2^2^ȯ2^2^> _%:_o&:^“~ͦ2:_o&:^r~:^ʰý:^ʽð*^"^ͦ2Ͱ*^ͦ2*^"^ͯG <!"^ͯG :_ͳ>!Y&Q!2_ɷx!yͿY H2_2_>  :_Gͮ" _͢:_ ʘ:_o&G> :_o&~ƒ|³ڳʳͿ*ba~:_o&͒o&* _ͦGƒ-͙͒<:_*ͷ*:_o&DM >+ *>+͞ʗ|Hҗ*_|S:_f " _"_x*ba>x@7ɧͦ͒G­͒G* _h&íx* _hgͦ͞Ϳ> ~ ͮ}~g:_OͷQ~ ͞/ ͒u.:_ O ~uy!Ϳ g> 2_>2_2_> 2_*_:_"_* _" _:_:_/2_úͮ:_ͮ͞}2_͒!Yy:_ͮ}2_͒ͮ| ͮ2_2_2_2_> 2_ͮ>  ͒2_y> 2_ ͮ:_ ͮ>2_:_ ͮ2_  *ba~͊* _|͎͊:_O *ta!o$||/g}/o#z{G aa*baa*raa8 Vg2VZ:_͇_&͹$2_O9> _"Z:__"\: _l"^:__"`:2b2_ :_:_2^Ýx2h: _2i:_2j:_2kh? >^2:_͇VgVZ:_2V:_2XG>O͵2yʜL !AO:_G,x@x > Ax2dy^>2d^:_2e:_2fdLͤsͦs͹$ʞ|”>V>@C>V>AC>T>i͹$Ed͵2E͵22og _} W|z{w,=DM >f#>g#>e#}2mN.UU.>n}@C>>IC$€*ba7>f!>B!>!o6#=›2~͔Bay C TC \dl C5< C=C 7?:~ > 7G"x:~x t:`C:~x t:`C:mB> C>h&o!> C!> !>D!>U>N:mʎʎ> C>Pͨ:~2}:~G:}>u$>FCx>'C>@C:~G:}:~G:}$>bx>@Cx:l`Cq;>k)G:oxa>a2o@C>2q2p2l:pG:m2pʋʆ:l͒͒=͒$ʪ>C:lo&>w!>,Co$>,C!>.C>j!>,C!>.C|@C}?@))|?@CC>CC>*_*ba~~C#7xGaa Kh   DH Hkm23 h "dh   + ms  t  HN   d e f   ko   r tw    @H Q   be s   '    ( -s    .  q C  F   S  g           !N+  +-HN  'h  kS -    .  K`h  M( @H  h  $(h . L  Q     h   $ h     (B L MS -. 4   Rns       qH       $ (h 1  Th 4H      M tSt$ C LM Q  (    M .   C  K  Q s    U 4 h  n  Qh S   H   Kh o Q    R       S  $    B  t C  h   k M d h Q b e  h      l   r       s     u St (M   NR + m  t D     H    dN q h . M Q           Rh  r    S  T    U   1 D    f     r         H  m r   N l o  u        T  4  F K MQhS h  H s/q  2 3  4 F    RQT 1d O    Q   m   dh T$  r s O  R DH NV(  M    O  Rh   nS  h U +  H   N T r  .  G L h l       o          M  f  r           s    u    Q   q     1 c    l  H     4   tK   o   L    ` hq   B h  nDE   K L   M    O   R s S      dh ( B    d   DE F    m  Q  R    o    s  Sh TU        . s   K  L M NQ ; SPACE TABLE - VERSION 5.30 ; ; &11 ; PRECISION PRINTER TABLES ; 96 ;SIZE OF SPACE TABLE #1 0 ;#2 0 ;#3 0 ;#4 0 ;#5 103 ;SIZE OF PRINT WHEEL TRANSLATION TABLE 0 ;SIZE OF RIBBON ADVANCE TABLE 0 ;SIZE OF HAMMER STRIKE TABLE ; ; FIRST SPACE TABLE ; ; 08 06 08 08 08 12 12 04 06 06 08 08 04 08 04 06 ; 08 08 08 08 08 08 08 08 08 08 06 04 08 08 08 08 ; 12 12 10 10 12 10 10 12 12 06 06 12 10 12 12 12 ; 08 12 12 08 10 12 12 14 12 12 10 08 12 08 12 10 ; 08 08 08 08 08 08 06 08 08 04 04 08 04 10 08 08 ; 08 08 06 06 06 08 08 10 08 08 08 08 12 08 12 10 ; ; PRINT WHEEL TRANSLATION TABLE ; 1 ;DIRECT TABLE 32 ;FIRST ENTRY 128 ;LAST ENTRY 0 ;NO LEAD IN 0 ;STORES LAST CHARACTER SENT 255 ;SHIFT IN SEQUENCE 255 ;SHIFT OUT SEQUENCE ; ; 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ; 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ; 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ; 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 ; 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ; 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127  70 71 72 73 74 75 76 77 78 79 ; 80 8  r           `   a  b                         c           d e       f  hi    k             l                      o                  q                        s  t u      v  R  (    h   Mh W    1  lm   rt u D H f m N   r u    T r   4      1H h K     t Q   R$ H   M    Q    R        S(F   M  N   R S h  . H Jh K    u   4    (Y h . 2 3k%+ -Dl( N B DH dm0    S  V$   n    C    t E t F  K  hL n O k q  R n   o   S U   n (  S     4   ! #( 3 hM (  +    C,s 2 3 N oQ  H  '     DH H 1    $  ! H @rACD H On .( & 4ADH    N$s,H & h (S4d&1H   ./  h  $ !  $( "6   DH L  DMDұH    Hme h  e DH m. 124 HmDH ҴH@3Hmr h $dh kq( 1( &H Kh @ ҳDH ,h   h NDH  3  ( M0!H +D . h4  M&H Kh MnsDH dk2h  (  sh DH  S$d0O DH TD3 h 3H  h 1   d 2h ("%   ( +. 1 H   dHrd&l  H L (  S& h 4 kHm 4  (m T  h D H  t@&K(OD HmҮ3DR.He   KM(3H  h         * 2/4$, D K8 H .DH nDrH KMүDH ` 2  ҳ5- sH T 8 H ҭD . dt3  $' ( - S q 6 1(ADH N#H -   D DH ҭH ҮAB FGL SVDH   D rG Kh MQ$  R sSCE K OsVH 2 GLd+ /  DH " ҧ( B3H  7 v /5H dh Bdh O+h ӶH &   2dSh 5A"c dh n+G Sh H   K  ҷU      $  N G  ҳ $dh k (KN  .`dh  1Q  ( DH K. 0 13  HN4 #$(M+H AK R$&DH .3 Vd@ CD qH JҤM   (   ,H A K N QҲ "kH @DH Knt LN  b  k &h   n . 2 3G 83$(+/H H  " ### Two Column Print v.3.01 1/6/84 - SG *** *** TCPRNT allows you to print a file in two-column format. For best results, you should use a precision printer with a wheel or thimble which will print 12 characters per inch or smaller. Before printing begins, you may modify the configuration table to fit your application. You may specify both the size and style of your type face, and the length and size of the columns as they will appear on the page. An option also allows you to have different margins on the first page and on subsequent odd and even pages. ## A "33" "Column width (In 10ths of an inch) " B "03" "Space between columns (In 10ths) " C "10" "Left indent for odd pages " D "06" "Left indent for even pages " F "9 " "Char. size for column text " R "15" "Character size for title " G "1 " "Proportional print (1 = Yes,0 = Fixed) " H "7 " "LF Size " J "64" "Number of lines/page " Q "0 " "Page top options (0 = none, 1 = title) " K "0 " "Page end options (2 = number,3 = both) " L "0 " "Page eject (0=Single Sheet,2=Form Feed) " N "23" "Title/Page format for odd pages " O "20" "Title/Page format for even pages " P "0 " "Preset 1st page formatting (1=Yes,0=No) " S "0" "1=Santec, 0=All other printers " # :oe 170 :on -1 185 VARIABLE INTIALIZATION h0/pr r$J+$J :%0 = $P :%1 = $J :on %0 / /+6 / :%1 = %1-4 p4/s//^/t/d :on -1 213 :%6 = 0 :on ?-13 19 / 19 d1 :on -1 16 j1 :%6 = %6+1 :on ?-3 / 26 j1 :on ?-3 / 26 :on %6 - %1 19 26 t %6j1 :%B = %1-%6 :on ?-13 33 / 33 d1 :ON -1 /-3 ys :%4 = $2 :%5 = $3 :%5 = %5-1 pt :pr "#1/#13/#13/%6 lines yet to print on this page." t/f%3 :mc%2 y 11 / / / 0 0 / $A $H yt / / / / / / / $C $D p1 :%2 = $2 :%3 = $3-1 ys t/f%5 :mc%4 y 11 / / / 0 1 / $A $H yt / / / / / / / %8 %9 p1 :%4 = $2 :%5 = $3 :%5 = %5-1 :%6 = %6-1 ys :on %6 / / 38 :%3=$3 s//^åu:] !H!\ 6ʌs_BLCTTEDNRTLICGNMTTVZLKTSRSSMY뀀AAN IEIN LIA FUISSOEIO EONESOUANA ESISIMENII7r!~ ~2("#~#"@ľx2~O }GË> 2 +}(~2#~w #$Gì+~#+~#2$Gw(^^ G#w@~~^[YSY̴+#wG*Y$^ >2  ͮ ;͏ O>x ^*_ wwʠP#$GP+~(#1RB!0ѷB ^(XI!4 ͼ [YUSYͻͻU!"Y>  ^ ( (  >< CORRECT2.EW   $ >*2  ѷ!  c!lͼ TDISK FULL. DICTIONARY UNCHANGED. !!   BAKDICT3 $$$EW COM(*w#">!"I 2 !V"M&!"_ !AA"a >2!ͼ *ê!ͼ !$͖> ͊!$~!$!-j*A";!"*;"?#";$GʙAں[!-"2*;w#"; >@ (/o,(& (" ʐ>2+";y{0 a8_(:@>2 *;+";Ì*?:>2(1yT0' qy6*Hw#"H  >0";wͼ !ͼ yÙ> !$ +!$!-s!ͼ IJFILE NOT FOUND. TRY AGAIN. .PCL p ENTER NAME OF FILE CONTAINING WORDS TO BE ADDED TO DICTIONARY. ($u͋͏t D:2    >>2 *?";y*,[R}![w y8*;+#Í_F6###xI~@(( ~#v((~#>2 >(~#͂ 0ʇ*A*~!~4; "7"9K *7͐ ʉ ("JM (-*9*7 fn|(%>f|( n>ɯ*7ut>*7ut>_n( s0 {2 *7~(e^VF ~("7s2 {0  N A+~@ x2 ~ ~( ~ ~(~(^Vx.. $u:! >!%4ø R DICTIONARY EXPANSION COMPLETED. ~ +~0G#~ ͊> ͊*c !";![$S2 s0 {2 [A!"7s2 {0 >2 !"7͉ ʬ ͏  4 (2 H5 w g  4# (u 5 w Hi ####ͧ ͟  !2#~î >2!."!1yø '| ͮ ͧ ͟ *5  !  DICT3 EW +####~2 2 f ~G#_N˩#: ! :G2 G!ʶ _N˩#: G:**>*2& + R"R"R"$ͭ*N[JR*N!4 ͼ !Z WORD LIST TOO LONG! DIVIDE BEFORE ADDING AA!"_ >2 !AA"a ":b <[(2b 2>A2b 2:a <2a [k 2ͮ 0|*a ~~$G x *N[JR*Nڝ~O"N6+"(!"H63{_>~_@__+Gw(_+ -w#"([Hn(ˮSHʈ3*(~_-ʈN˩*(R![JS~SL*H+~+ SJ q>!N#ʈ>*(+ZAEIOUY[NS,!WS^~G(~#͂: G!^1:[^!~[ħ $GC>M L NO SPACE ON DISK FOR "$$$" # *!}*J""**$R! 2"!>2"×*w#">*[R>*6(O}($DII:͏t *Z"A>2D !k"!""! " !x"J2 s*J~#"J>*;bB - IMPROPER ENTRY *;}[?(y(<6#6#6";$u$!" -(5[A*;R*;+[$S2 SN*A"J k b!]ͼ !͖6   2Q ͼ :Q_ * e  : ( #S~G(~#~! FˆÚz. G: zzÞ :G!#v( (#v+ ˮ[,S,%>*6(O}($DII:͏t *Z"A>2D !k"!""! " !x"J2 s*J~#"J>*;bB - IMPROPER ENTRY *;}[?(y(<6#6#6";$u$!" -(5[A*;R*;+[$S2 SN*A"J k b$a dh v ( R./1 8  n B   Ch n E Fq   tJK    x  L  d    h n M  Og   k q r RnS  ! " dh l #  M    d%(L M  hSDH V+  D H   N. C Kh W0 1N h H  mKMN @  DH b           dmr s  KM  NQ h "G'@ f m qH n  u  NOVqt  Hk lmNQ hT "dh vK   m  ҧD KNk   V(  M.1 b  l  n  N        3  HmDH -/   2H L (  M+$( ҭH g  "#$( +, D .1 !"` e  l   s dh H N DH ҫDH -h Ҳ@ D h "  DH 3N4   h  M h M# h $R  (  BFL DH ҫDH үDG H ұ@DH K5H r  6 !&H ز   @D T DH Q5   h sM "G H # DmH T $ S    &(  M dS   * ,- DHkmR  ز@ H  u @l D G 4  LQ @H/ h /    H H3c" D  m  o   ` dh H  uN     T # $    L  M  %      HN        T  m  r'( FG  h n L N  O g  R   s V ) H +,m   D   Hr   T  -. /  s        K 0 12    u    G He l  r   N             O h   T     @ H     T  Rh U5 r D    2    D H ek   Kh  d"dh (h  1  N 3H dkm r4  Ë_ > _ͼ++pT] ͼ++F#N#N ͼ $_ͼd0.0 8,:g"!Ͳ ERROR xx Returning to Cp/M $ ͼͲ! 6ͼʣ!!6#6#6!"*"! 6ͼ ͼ!>w> ͼ= <>ɿͲ!  > w#IPRINTFIL !$6# ! ڵ: w6# > w# k ~t .ʖͼw# ~7yʡ# œ ͼw# £ `_  u !"KD  !"K !ͼͼ:5>:4 24*,E~"ͼ!ͼͅѷ~: :N( S><*!!4 #4!!5~ #5124 !+Ͳ* ͈Åp READING RELATIVE SECTOR NUMBER $dͨ2 ͨ2}02 巯R<0 INSERT DISK WITH CORRECT1.EW AND CORRECT2.EW. HIT KEY. $ SECTOR NUMBER YOU WISH TO START WITH (3 DIGIT HEX) $:@ڱ '0ʼG> 2:@ '0G:O:@ '0G>2dɷ  ͑  S͝~@!Ͳ~ !u — Dv͗> > :i !ZͲ!ͤ:22 ( !u  Dv@:2i !ZͲ! Ͳ:0 >62 ! Ͳ~96͓ (202>32 ! Ͳ:0 ! Ͳ~93͓ (202!K Ͳ:0 ! Ͳ~93͓ (202! Ͳ:A !'Ͳ~_BA͓ (2A2!Ͳ~_R‹(  ( !%Ͳ!P Ͳ:2 > : !Ͳ~!Ͳ_!o͈! Ͳ>$2!Ͳ! Ͳ~<, ȸ8 0> < UNABLE TO FIND AND OPEN FILE --> $ TO CONTINUE PRESS ANY KEY $CORRECT1.EW $&CORRECT2.EW $ Enter letter, new value (3 DIGITS), or Hit key to leave unchanged: $ Discretionary hyphen value (LETTER or THREE DIGITS DECIMAL): A. WORDSTAR default: (030) B. SPELLBINDER default: (124) $ YOUR ENTRY MUST BE THREE DIGITS (DECIMAL). TRY AGAIN: $ -->Indicate minimum length desired for hyphenated words. $ = Current value. Hit key or number between 6 and 9: $ -->Indicate minimum length of word segment left at end of line. $ -->Minumum length of word segment placed at beginning of line. $ -->Choose A or B: A: For single letter syllables, hyphenate before and after. B: For single letter syllables, hyphenate afterwards only. $ = Current choice. Hit "A", "B" or key: $ = CURRENT VALUE FOR DISCRETIONARY HYPHEN. $ ---->HIT "W" IF ANY ABOVE VALUE IS WRONG, "R" IF ALL ARE RIGHT.$ ALL VALUES LEFT UNCHANGED! $ REMOVE WRITE PROTECT TAB. REINSERT DISK. PRESS ANY KEY. $ Configuration Complete. $:_A(B( !e!h030124 PROBLEM CONCERNS FILE OR PROGRAM CALLED: $!Ͳ!Ͳ~ >22!Ͳ~2!Ͳ~2 Hit the key with the value that you would like to use as a text $marker, (this mark will be placed twice after corrections that require reformatting because they are of a different length than the words they replace) OR: To suppress marking feature, hit the key.$ Hit your up arrow key.$ Hit your down arrow key. $at they replace. To suppress marking feature, hit the key.$ Hit your up arrow k]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2e to use as a text $marker, (this mark will be placed twice after corrections that require reformatting because they are of a different length than the words they replace) OR: To suppress marking feature, hit the key.$ Hit your up arrow k  f  k r  N      $    o  dh W  %   b sD        H K& ' m H)     +H   s T ,s D    H r tN  -.   Q  @q       N    r  T1  p N 2 A  B  gh nq     D           q    H    dh t   ST     o  3     q r wS    Y5 k  q    D       H n r  67DH "k H dh k #eH $  bq suH s KLMN  qdh Q-  h   ` dh n.  2 `NRS 35s  DHk  9H !    H sK N " D d r    K    h Q    d     tS T   Ch H  T    $@  D       E H  k       K N  T r  &  M     Q      d     '  )     + H    Nm    D   sH    r  N  s  O   T     -mN   S.h q   @    mD   m    G   x  H s     N  q      r    t   Oh Q T 1  N @B  q   b    k    H NO    Sgh   q   3b     fhn r     N o  s  y Q t  T  4dkR5   H    m  r   N   j rDdh 7lm  qH  -H 1 2(  h    h                    Û _ > _ͼ++pT] ͼ++F#N#N ͼ $_ͼd0.0 8,:g"!Ͳ ERROR xx Returning to Cp/M $ ͼͲ! 6ͼʣ!!6#6#6!"*"! 6ͼ!>w> ͼ= <>ɿͲ! > w#PRINTFIL &!$6#! ڵ: w6# > w# k ~t .ʖͼw# ~7yʡ# œ ͼw# £ `_  !"KD  !"K !ͼͼ:5>:4 24*,E~"ͼ!ͼͅѷ~: :N( S><*!!4 #4!!5~ #5ʢ 08:[07A8>ͼ00!͢0w#+++>2 (>2x ݯ2*"~#(> HYP $EW $:@| '0ʇG> 2:@ږ '0G:O:@ڪ '0Gʵ>ͽ2d  LATIVE SECTOR NUMBER ? !Ͳç USE ONLY CORRECT2 FILES THAT HAVE BEEN SUPPLIED WITH YOUR GRAMMATICAL DISK! INSERT DISK WITH PROPER FILE. PRESS ANY KEY $d }0>->-巯R<02 This program configures your ELECTRIC WEBSTER Grammatical feature. The grammatical file, "GRAMMAR.EW," must be present on an unprotected disk in drive "A" or "B" before you proceed. The first five questions you will be asked require an answer of up to 3 characters representing a decimal number between 1 and 255. Insert your disk with GRAMMAR.EW and hit .$ SECTOR NUMBER YOU WISH TO START WITH (3 DIGIT HEX) $d ! ͼS> > > @!,Ͳ? ! § Dv*B@!" !" > } * ~2\ ͮ * " !:gD o !o>$2!Ͳ*:* w##" * B } ! Ͳ} * ~+ #* #" * ~>N(>Y!{ Ͳ"  (/ y(nv*  ~wo >Y!{ Ͳ** #" } J  + J ͠ WHICH ERRORS WOULD YOU LIKE FLAGGED? ( FOR NO CHANGE.) $! Ͳ_R ?  û ! Ͳͧo *" :\ w2\ > :\ v:\ Œ !8Ͳ !Ͳ!oͷ? !} ! ͲͲ!! Ͳ< ȸ 0ɹ UNABLE TO FIND AND OPEN FILE --> $ TO CONTINUE PRESS ANY KEY $GRAMMAR.EW $ --->$$ MUST BE A DECIMAL NUMBER LESS THAN 256. HIT .$! Ͳͼ CHANGES MADE. $ Hit "W" if any above value is Wrong, "R" if all are Right.$ ALL VALUES LEFT UNCHANGED! $ REMOVE WRITE PROTECT TAB. REINSERT DISK. PRESS ANY KEY. $ PROBLEM CONCERNS FILE OR PROGRAM CALLED: $/Respond with 3 digit number or hit to leave unchanged. --->Number of words in long sentence: --->Allowable number of commas per sentence: --->Number of sentences in long paragraph: --->Number of words in long phrase: --->Number of letters in long word: Two spaces required after sentencesAwkwardHomonymImpreciseLong wordPunctuationObsoleteNo periodQuotation mark errorPassive verb constructionSlang or ColloquialTrite, ClicheUser DefinedVerbose, HeavyWrong wordCapitalization errorRepeated wordLong phraseToo many phrases in sentenceLong sentenceUnbalanced or open parenthesesDouble NegativesLong paragraph:\ * * o >N!{ Ͳ*>* w UNCHANGED.$!Ͳ> @> > thesesDouble NegativesLong paragraph:\ * * o >N!{ntencesAwkwardHomonymImpreciseLong wordPunctuationObsoleteNo periodQuotation mark errorPassive verb constructionSlang or ColloquialTrite, ClicheUser DefinedVerbose, HeavyWrong wordCapitalization errorRepeated wordLong phraseToo  D  E   L O   R U   '( R   s    -rDH K MT   m 1 D JS 4h  s  M  O    6 T   إH ҪDH ҫD  H ,  O   k - E   K S q2    5    H 7     $ ` d    q (  M     h  +      . K Q      1  h D    H    4 FK M Q   m   Rh S  h  h kQ  S$ d   (    M N  R    - 1     N  4     Q       R $    (h %&dh ,   O CDE   H s d s     S   q  U     h  2 3      .   4          S h      ` dh dh $ r F M   U (  mDu F  M    R Uh . B   4   H     Jh M Q  q ! $  L   (  fh   R  s   - . K M     Q S  T  U h 4     Lh D y  H s ҤFh n   ` dh HL   T    U  V@DH 4  M  1 F   H    m    Q sR` h l $     k  M  Q s S   ' ( h +    m D     sH   dh .   Q   Rh    r   1    r        H d l   m rN a   b   c    f  nu 3  4      C   F   K    Q  S   h   Hq   r     s  4 " H  QTh $ q   L   M    Q u  | !͛ͭ!> 2 s!3"G!*w#"r!R>2*>2q!S>M!++++͍5 SELECT APPROPRIATE RESPONSE: 1: C to CORRECT. 2: V to Correct w/ VERIFY. 3: D to Display DICTIONARY. 4: T to Display Word in TEXT. 5: A to ADD Word to Dictionary. 6: X to EXIT Press to leave word "AS IS." $WORD: $ RESPONSE: $! ͖! ͖* $" ~>:=ʀK\y !^S~! +F#~ w>*~:x> ?x> > !"Fx! ~o#6 0:\=!^G~#s!4> s!!RF!ͅ[4 r+s+SBȃ_0_0!/"1>s>͋2*: != CORRECT2.EW !" !0 ADDTODIC.COM !b%t MEMORY FULL $ NOT FOUND! $x*qw>~#"qR+[S2 .r$!%r$>12x2_>22`22>>22^! w#w#w!w#w#w2͵>2$!>12(͵>+++~ 0#"q!RF!4~==w##w#w###w#w>2!v"s22?! ~28M̀iVrs L!v" xr>2~M0>2! N5 #6 .> 2i" Vrsxr! #! Qv~ (-(@8#y*!v"bv"!vÈ!2 2wr~@(2 ͹t(~~@~(2 2wr"Y*Y~_̹t~̹t~ ͹t~ [u:wr: ("> "Y<:p=@(2p2 >Z2p2 :o=2o2 !@ͻͻU!~!"!ͿU!!*~44:!:@:=(%r!r>M2!$r!%r2:= !`# (/ ~#Vw#z w!\46/#:=*~:\w^# ( / : w#"? Use arrows to scroll. Hit RETURN for Menu. $> s>! 6xr tt(4 !?" v(92(5a(5(c(1(3RdR![U!m͵!m/!@" / * HYPHENATE: $ *** RETYPE: $ Do you want hyphenation added text? (Y/N) $ CORRECT1 Part of SPELLBINDER E.W. VER.1.8 Copr. 1982 Cornucopia Software, In&H (   MKh Q+lH H &H 'd e  h klm(hk, .n  ( !( +,H  ҦDH K h2H DH N dh . /H Kh S ( MDH 04  9dh kqa  dh (M4 dh Ak G hsVDH ҭұDH 2dh !H Q(.h4  De   E HmU .M!4qH rDH  ҫ@DH m b s    DH Ҳ #-DH SHmҬDEH L2 dh DH K( K Q@ALMSV(rKh H 3Q6  Sh  nM .3  H 4 `b  d h km  H + -` dg  h kmnt2H RH  (  !#$M(  hks"! H rK#M(t CD1  H ؤKMR(   . o@%  H mKh 4!&   @DH N  (  ! h $%(   , .dh Kh T #Ҧ-H 6Q3 kҧDH LҲD HDHmKh O  D qK  3H ! $h (+. d1H 'B DH 1l D  H  k N  r # rK h (+-F  J KS%  QBҤA K&H Ҳ&ADH N  -dg h k    A BL  Qb  lo v ( MRU  + h ,. N  DH NO4 h 5f  s H d h!h M.U/ h 24Q"@ AtDH LO  Qs  V ؤKMRT   '(   h J3x ( + /GH زRS" N # N 3Q@ D2DH  h"K  (  DQh  R   4  c   8oHkm#$  -S 23q  h M ( Nt.dh `5h #$( , 38$.O  $( A dQ%  +vdh H Kn  dh ,d h C   h  Mh h  /  T @B  hb h H mKh Qh U3h  N S   5    qHdh /   GL h Q(  R-N.    N            mO 4X 6$ s  ,-    .2  dh +dh -h .dh dh /1 a b kHmde  h OB  HK dh4  df h dh l dh  a   ia h o S  V m $ D   a c dh (a   h l   O  U  .  ST   4a ELO  t  S   #h %h k + O   1  U3  h %& @ DH Ҭ@DH Ks / NB   DH ҲBGHcN   DH S 6DNR $h R  + r .     1     @ H  N 4     Q h S  h $ &(    S4h s  K  HmKh ( DH ҬDH  K ҭ@DH ұt  @ 3h     1    -H 2 n  9H T N $    MhH  K  R DH N,35   O  !  $R( t  B  n    E n M n NO  qR  vSq nDH $FR ( hN.dh2  k H  ms   NT n  D  H l      m Q      (23D  Hk  T 4   m  r      HNO$   c hC&` H (   DN  ,  . /  1  45 H    d kms  2!B3H K  h 4s   `   Ü | CORRECT2 Part of Spellbinder E.W. Ver 1.8 COPR. 1982 Cornucopia Software, Inc. * %ʻ! 1_;"D#N#FC̀#" ~̶![z-ʚ ! >r! "o"m|!6 _[~!!X͖>! "YrS*Y22"! "*h7 Z[܂S?[͂A[ !4*+~-z"?Z INSERT DOCUMENT DISK AND PRESS . q: ){0 `҇ʇ͛F-ʇ2  ʌb7$$$*Y-,:~#"Y*o- %V"ox!"o͉r>(aS*m"o7(x2`[> S*{¤~_F#~@:'(~`gn~`gn* - K*YB #MD*[S7: Ĵ:[>8(*!p"S>2R>W!"R>2TS7p~A8#~G@8#* -%!B>2Ü*Y:+"Y.(!g0>!2F2!"\*!` SY*R"V( !>(y( >+w@*sq!n 6q**Y+"Y!6?2R2S2T22*B"z>!2ͭw > !  *YR!Bͯ( ~#y y2>?y > y ?L͝!*YKBE*~#y !fA!0 ý:G`:!ġ2'  c7!!@͖q*6#"rR:o> =Mo&)Ey(L !r !DISK FULL. NO CORRECTIONS MADE. $: =͉̍^o! DOCUMENT CORRECTION COMPLETED. $I NO CORRECTIONS INDICATED. u!"{u!!BAK-Ls?L?L _BLCTTEDNRTLICGNMTTVZLKTSRSSMY뀀+AAN IEIN LIA FUISSOEIO EONESOUANA ESISIMENII{_> ~_@ __+Gn ( N+ -n #"' [) S) z 3 *' ~-z ʚ [' K*) +ʒ ~+ ! q>! N#z >*' +[ AEIOUY  ! 4*: 8 0: N6q0qsF2 2 *:(8>-n n #*:Ox<2xH<2  "k!c ! 2j~_Z| w [ :  S7####͝ Ͷ |z :G:G ~##G _N˩# fnfn ͼ ~ >ļ ####: F: ( 2 #~_#~w(_@ >-ͼ +~#~oj ˯( (A :O8 ͼ [ _O! o^ yͺ ~#Aͺ >ͼ DO YOU WISH TO HYPHENATE? (Y/N) $ͭ:2 l2 #*Y+"YF#n(2v(3 8) ~7#v+7(# 8n + #n+ ++ˮ#n+(~,(&(=(( C >A>Iͺ #~+j >Tͺ 6+"' ! ") 63 >   > ͕ *w#" ( (*^R"\["PR *^R"> ͊> ͊ !^~#͊ ( ͊ !":<2 OPTIONS: C to CORRECT ** to leave AS IS ** S to SKIP word hereafter ** WORD: $!~˾!˾GRAMMAR.EW $ *** RETYPE: $^t!(L!ͩ ( y(@n(9 BAD LOAD ON GRAMMAR.EW! NO GRAMMAR CHECKING $!!"p͌ +~* &}! "pL*Z#"rR"pLr!r!!$ -!$[p`!`ͯ:TOO LONG> RESPONSE: $ Do you want Grammatical Checking? (Y/N) $> Fx> !o $! !*w#"w . S    1 3G 4  h F  KMS h Fh (*  H Oh g1H dh 3 9dh $dh  Yh   #%dh k SH O3 5 Ah .dh SYh 1H J dh 4A  C DE k H L  O  gs Ah "%adh k F  KMDH үDH mtرDH !H  $dh km1p (           DN   D H 1#  H (.ҳA D rGKMVnkmDH 1    h ѣD H  BKL    M(     `h  kKMO S  tH rLҲS4 kS5 mH  S! QACGN O Q   u S h V ,  -   N   SEs(- . hnDh  r H 'r   N l . /H 1 #  KM&.1HN  سDHm &E  K -dh k mo  H ұBh C H KM2H 3 ` a d    e k ov   5  ($( !"b  Hmn  #H & (CF  Hdrdh Mh ұmH dh k Qh n  hSnS H S T 5 6h H d h dg  h l "    e     lnh k S   dq        T      $  a dh  n  t+ a   dh T  - dh s 1DH  $h  n(  H m T #$h &*H +dh vӭ@C  kM h s1    H      e  EH S kn  S Xh $M d(h M  s . 4 `dh *  H + -h R  S  .h h h d eh 1 H dh    Kh  Sh 4h dh  MV dh $ (g M    j    S. T 4h M,H Hdh Qh dh 3 S  (   qK   nM Q  h R s  $  l Dy K (M Qh  q  RAh H    K"dh #%dh b F  H M   (dh kb v *H + f  l  H dh dh V,EH L  d h -   `  ah no  EGKSY/ h A  B CERDVAR˛^  ^  ^^;^aACaCUAFALoNAnDO·AS&AtTOIқBOԛd DoMDUCԇEAEԗ> >H >I# JEC5JU LALOOLuTNegNOrOARODOlIS&ORԇ)OUNħOUORaRA$)REASRID)ROARogRUPSEN5SINTHSoLUSOLSOR‡)SORpSTAI·STEnSTiNENSTiNENSTRACԇ5STRuSURĉ5u!)U;5UnUԷ7>>> >UYs_^)^& ^_ADE -ADeMIADeMiCIACENԧCEnT%CEP 2!CEsSi 2CiDENԂ5CLAI͇CLimCoLADCOmModCOmPa 7COmPLIS&7CORħ .5COSԧCOUN 2!COuTCOuTCRCR"Cu")CuMu5Cu5CuRa CURSCUsTO͇_Er eETON,,,.5HIE7)_Iĭ2 25IdI  ID KNOWlED熇_NOLYTOnORΛOUsT_Qu QU>>QUAINQUiESQUiEsCENQUiEsCENQUI RRReAGRIĉ2 25RiMo RRoBRoNY͛ROsT!tt5012 2TOrISTR&TU25TuTuA,,_u uMuPUNcTUU5y_ޙ!! ^"5_AGA AP 2!)DENěDEnDDEnDUdIDICԇDR&&DU)DUCԇ_ENOIěEPԉ5EQU5EQUa hhHErENHErENԛ_IE՛IEUiIPJaCENJEcTJOI·JOUR·JUDJUNCԛJU JUSԇ)7JuT_ ;M>>>MAMIN1MInIsTrMI).5MoMOnIS&oBOLEsCENOLEsCENOP&)OR· _RIFRO5SOR‡SORp_uUL , 5v)v v ! 2!&&) V VAnTAGVENԛVEnTUVER›VErSAVEr   7  VoVoCa  OLIAO΍rr"5"RrORoNAuԍRoSORoSPASTHET^^###$,%AEAEARFAIқFECԇ %%5FiDaFIn FIRFIآ&),FLICԇFLuENFLuENԛFLU&FORħFRA FRIGHԧFRONԧGHAΛIELILALLU>OOOReSAIORAIREERESRICRiCAԉTErEfFECTErMATTErNOOΛTErWARě5 ^ 52 2^AIAINSAeLONEn EnDEnDU͛ENԛENt GR&GRAnGRavGRIEHASiTaTLALEALONOsTOO R! 2!7rRArIAΛRiCUlTUROUNEAOL7^Ć)͇ 5҇,,,.5rBORrBRUS&rBU&rCRAFrCREכrDROMrDROЛrFIELěrFLOכrFRAMrFREIGHrHEAěrLIFԧrLI)rrMA rMArPAR˛rPLANrPORԛrPOSԛrSHIЛrSICrSPrSPACrSTRIЛrTIGHrWArWAVrWOrTAI_^ %%%%%1^ # #  )%_ABAMACAcr AMEDAR͇1ASKBaCBiBiNϛBU͈CHe CoHOCOVDDErDErMA_eHERԧ5FAlFGGeBRGORITH_IAIBIGHԧIG·IIMoIKKaLIKaLOIěLA LE  -LeGRϛLeLuILEr Lev LOLocLOԛ>>>>> >LOVLO!##lSP LuLULU LuV _MaNAÛMIGHMONěMOSMsMsMAOFO-OONONgSIOO5OUPHPHaBEԭ--54PIN_REARIGHST%%)TAқTErnTHOUGTiTUDTϛToGETTR011_U͛uMiNU͛UmUmNUmNVeoLAW_5 ^ ^! 2!!^ ^ ^"51_A&)AlGA͛ATEUқA.5AZOΛBB #b b BAsSaBiENCBiENԛBIvALENBuBUS&_eBENħ)7ERICEriCAΛETHYSԛ_IIDSiN_MϛMoNIMONIUMun NeSIOeBOONONGSoREtTϛOrtOUNԧOUқP pPErAGPHIbIPHiT%PLi  PLiTUPu__U7u)UCULEԛ_5^ _ACOnDAeAeMIaGRA͛>AlO ALOGUALYSԛALYTALYArC AThEMATO C CEsT CHCHo CIENԉCIlLAědiROΛDROIě_EcDOTeeMIEmONEsTHeSIEsTHEEuREuRYS͛EGGg GiGiNGoRG 5GSGUIS&GuLA2_IM5ImI퐑IMIMIsETKKLEԛ_NE%&Ni 5NiVErSa NO#)NotNOUNN"5"2 2NU5NuLANuLEԛODOdODYNOINԧOm OONYORExIOT_SW!T)Tt 55 tAcIěTAgoTecTeLOPTEnNTeROO͛tH THE͛THOlOTHRATiBiOTTiBO,TIcipTiCLiMATiDOTTITiGTiHeRTILO TIMAS˛TInO TIpATTiPHOΛTIPTIPOPTIqTIRUSԛTiSKITiSMOTiSo TiTANTITATiTRUSTITYTiWATONY _U&V X,5xIE yBO yHOyyOyPLAyTHyTIy yWAyWH _ ^^^^^##)^^_ARԷ7AT ATHE_EAEriTIƛErTURE&hh9HA;HaSIHaSiAHIě_IA IEIS5LEnLOM_-OcaLYoGOlO OlOGEOLoGIOPLE OsOsTa OsTRoPOTHEG͛PAR&5PaRaTPArEN5PEaPEA##PENħPEnDI&PePLAPLAUħPoPOIN37POrPr Pr PRa PRec%%%PRehPReHENPReHEnSiPREntPREnTICeSHIPROAC&PRoPr 5PRO" PROxim5_ RiCOԛROΛRoPԉ5TiTUDUUUaNAUԛUArIUArIU͛UeDUCԛUiFUiLI_^ ^ ^ ^ &&)^" _bBiTrBiTRA 5BUTUÇCACAC  5CH᭰0CHAeoLO-ChDUKCHiPElAGCHiTECԛCHiTEcTUChWAcDDEn DEN5D_EeNEOLGo GOΛG! 77_II 2IGHIsToCRIsTOcRaIThMEIZON˛KANS_͇ +  56M ,MAmCHAIқmHOMPmROoMOUN_RA)RAIG·RAN7)REAқRoROכSISOα1 , +5t5 t T5TIcu5Tif TiFACԛTiSAΛtISt tWOR˛_^!&^ _BEsTBEsT CENħ)CENԛCErTAICETCOrCOԛCRI_EpEx&,,HAhTRA_IIAIDINI)KELEE_o ЈP PECԛPHALPHYxIPIPiRIΛ_SA SAsSISAULSEmb SEmBLyMASENSERԇ SEԛSIG&&)79SIm,5Soc SORԧ)SUASU SUMpTSU#TTErIS˛TER΂TErOIěThMTITOnIS&TOUNħTTRTRITROlO牝TRoNAU TRONO TUT5_UnWARWIyLU͛5 5 ^ )^ AVAxIh011hENeU͛HIRShLE-LA&MAMoSPhOOͭ-Om)O훝OORO2RoP  TACȆ TACˇ TAI! TAқTEMPԧTEN&&)TEn5TEnuTITiTUDTOrNTTRACԇTRIBUTUY-BURcT&D DA 2DibDiENCDIDIoViSDiToRiUGGGHԛGU҂ GUSԉ5LNԛRREORoRsp st2STRALIsTRaLIATH22 2THEnT2THOriTArIATϛToBIOGRAP-ToCRTOcRaToGRAPȭTom-5ToMoB ToMoTOnO횝TOp TUM΂xIlia^ 5;;^ A ! 2!ALANCAR ASATAқEN)ENUErAERԧiA,iATRII2 5OOCADOI!# O" A AAK ARAR&&AS kWARĉ5·o놈^^IO͛aLEUR_ !&&)9^^5^7^   5 ^&1^_  b> BOOΛBUShKBYHOOěByIScCacCCH&5Cˇ)5;;CkACHCkB>CkBONCKBREACKDCkDROЛCkFICkGROUNěCkHANħCkLAS&CkLOǛCkPACˇCkRCKROOCkSIDCkSLAЛCkSLIĆCKSPACkSPIΛCkSTACkSTAICkSTOЛCkTRACCkUЛCkWAR5CkWASCkYARěCOΛc cTeRIĆ5> > >DGdGDiNAGdLANě_f> +g>5>>gGAGggMAgPIPGUET_iLIILsILsMAK,KLaVl)L쇩)LLBOlCo Lĉ5LdHEAěLdISLˇ,,lLAĭlLAdlLASԛlLEԭlLOO·lLOԧ)LLPLLLPOINLlROO͛lLyHOϛL,, LolSlSA͍lUsT_mBiNϛmBOϛN2 25N>> >NANNć  nDA nDANnDAnNnDIt NdMAsNDSNDSMANdSTANNLJ nIS&)nJN!).NkBOO˛NkRONkRUPԧNkRUPtnQUEԧnSHnT)nTA͛ppt_R5򇩪RR>5R>5R> >>R† rBArBArIAΛrBeCrBErSHOrBiTuRbWIRěReBACReFOOReHEArRrGAI·RGeRGeMArHOЛRiTONrIU͛Rˇ),,5rKEEЩrrMAIěrMARΛrNaCRnYARěrO&ROmERoMEtRO ,rOnAGrOnEԛROQURQUrRAC˛rRArRETrRiCArROO͛rROכRrT)rTENrWASALԍSeSeBORSeLINS&)SIlICSI΢SˇsKEԛsKEtsKEt sKEtWORSQsSEԛsSiNEԛsSϛsSOOΛSsWOOěS .sTARěԆ>>T> T>,> > >t>>tBOTC& TȆ)ThROBThROO͛ThTU›TI˛ttMATOΛtTLeFIELtTLeGROUNtTLeSHI_W W ,,,WdYARyb> >yONEԧ>>yOZAAқZOoK_).5^ ,,^^'5  ^>^5 ^_AC& ACHBOaCOΛAħ AdROAdWORaˉA͇ AmISA· ,,AnBA!!).ARħArISArSKIΛAS5 5 5ATI  AtNI˛A՛Au  +5AuTi  AUaVCAL͇CACAЛCAChCˉ CkO· CLOAˇCLOTCOCUrd>D>>> >DAM·DAz>dBUǛDECˇDEV,dFASdLA͛dMDOdPAΛdPOSԛDRAdRI>dROdROC˛dROO͛DRUǎdSIdSPREAdSTEAědTIM_EC& ECHNUԛEƇ,, EfCAKeLIEЇ)EsWAeFF>FLEC뇎FOReHANFFRIENħFUd>G>GAGEԛ>> >gGA҇,5GIΛ>> >>GIRćGOGoNIGO>GROAGRUDGu )GULGUHALHA,,HEAħHELHINěHOLĨ)HOOHO_IJEKNIGHLALaBOUҎLALAUćLC& lF LIEƛLIE!)LlBOLlHOЛLlLlMAlLOׇLONLJ.LOLOכLԧ5LtWALuG_MOA·Mu> >NANC&)Nĩ)NEATNeDIcԏnef neF>>NeFAcneFiCIaNEFICIENNEvOLENNEvOLENNIG5NԛNZNZIN_QUQUEATȮr> >REA REԛROrSERRTȇSEEC&SEԛ >SIDSIE)SMIRC&SOUGHSPEAˮSPo놈s sTiA,STIқ>STOע"ԛ>T>>>>TTH&THINˮTOKTOΝTOOTRA")TROTȇTTWIX_V& 5,vErAGWARWIlDWITC&YON_>" ^)^!) ._A;AnNA,b ⛾>BBeLOԛbLiOgRaPCEPCK)COCOLOUқCONVECUsPIěCyc Ć)>>>>> > >>>_EnNiU͛FoCǸ>>gA gGISgHEARGHgOԧgOt gWIǛ_)KeWAKiNL,,LInGLˇ)LlBOARlLEԇ LlFOLělLIARělLIOnAIlLIONTlLOΛlLOׇ _MEMONT5Λ>Na N),)).NGnGϛnOcuLANoM OGRAP -OLO -oMA&ONO;PARTISAPLANPOěPoLA_Ra Ra RC&Rĩ),,,6;;RdBATțRdCRdRdMARTȇRThDARThMARRThPLARThRThRIGHsCUSECԇSExUShOЇSSOΛSQUsTRϛԆ).5>>T>5>>TC),),TuM_vOUAÛvOUAC뇮WEEk YEA5ZAZO_>> > > >>^ >>^)^).^.^ ^ ^ _;ACˇ(((.55ACkACkBOARACkf ACkISACkM ACkOUԛACkTOЛA>>  AțAm!AM5A퇩)ANC ANĉ5AnDISȇANˇ5AnKEԇA򆇮ArAsPHE톝ASԧ).ATHA)aZO·)_EAC&)EA˩5EAkISEA҇,EmIS&ENħ)ENE_INħ)5INdFOLħINˇ)InTچIЛ>IT)IT&IzZARě_O)OO›>OÛOCˇ ,,OCkAOCkAGOCkHEAOCkISOKONĆONdISOOħ,,,,,,5OOdOOdSOOdSHOOOdSTAIOOdSUCOOdTHIRSOO͇) OOЩ)Oԛ>>>   >OTC& OuSOΛOש) ;Owf OwFIS&OwGUΛOwHARěOwHOOWOwOUԛOwPIPOwTUBOwUЛOw__UUB>UeBUeBIRěUeFIS&UeGRUEJAUePRINUeSTOCUuISUnDUNԧ5Uқ> > > 5>>UR›URԧ)US&)UsT_)^ ) ^&,,, 0^_AқARħ)ARdARdMAARdROOArISASԧ AtAtMA›;;>>  > >b>>bBIΛbCbTA D7d55D-䮝DeGDyGUARDySURƛDyWOR_GG 盝>>>>>GEyGHEMIHeMiAΛ_L&Lĩ5LdFALeRϛLIVALIVILoGNLolSTLԧ)_M‡)mBARħmBAsԍN5)> > > 5>NAnZnBOΛN!)NdAGNdNdMAIěNdMANDsNDsMANeHEAěNeYARěnFIRNǛnG1n nNEԛNU&χo oDOGOˇ),,.;OkBINOkCAOKOkENěOKFAIOkISOkKEEOkLEԛOkOkMAOkMAOkMAR˛OkMo OkOKRACOkSHELOKSHOЛOkSOkWOR͛O͇),,OmLEԛO,OnDO>OrISOSԧ)Oԧ,5OTțOtJAC˛OtLACOtLEǛ>OtLIC˛O)Л>> >_).5RArD)rDElLϛReDO͛RΆROrOUGțrROׇ)RSCRSCHSsDO͛STOt> TA -TC&) TTHU UGțUGHUlDuLeVARUN),,,UNħ)5UNdA Un  uQUEԛUrBOΛUrGE UԛuTIQUVI52 2&&))W)wFRONwLEǛwLINwwMAwSPRwWOכ&),,,6xCAқxHAUyCOyHOOěyIS5Zϛ_>>>>>^^))^ 55^ ^ ^ ^>_A a A A&,,,A A ACeLEԛACkEԧACkISAě>>A>> >>AgGARԛAIħ .AI·,, AInCHILAInISAInPOAInSTORAInWASAAANC&AN  ASA5),)AVaVaDaVaVuRAW),,AW,,,A5) _EAC& EAħEADTțEAdWI>EA!)EAkAGEAkDOWEAkFASEAkNECEAkOUԛEAkTHROUGEAkUЛEAkEASԧEATȆ),,555EAThTAEEC&EE,ENEThREv Eׇ),))EwAG_iAқI ))ICˇ ICkBIid IDeGROOIDEsMAIIDIEƩ.5IEfCIǛiGAIgANěIGHԨ(((5Iͫ5>> >I,,IndINISIN˛INkMAnSHIiQUEԛISˇ5IsKEԛITAIITC&ITISȉ_O )OAC&)OAĨ(((5OAdCASԛoCAOcCO5oCHUROCkAGOcoGAΛOG o놈oKEnHEARoKErAOnCOnCϛON OOC&OOħ),,OOˇOO͛OT&&)5)OThErHOOOUGHOOW)OwBOW·,,OWnISOWnOUԛ__u )UNC&uNEԛUNԛUS& ,,USˊUSQuԂ245UtIS_5^&^58&86^;^)_b> BOC&&Ck CCkaROϛCkErOϛCkEԛCkSHOCkSKIΛCě> > >>dDD dGEԧ)dGEtA_)fFaLfFEԇ fFOOΛg >> > >gaBOϛ_ILć).ILdUЛILlšL Lˇ,,,LkHEAěLlDOǛ>LlDOlLEԛlLeTIΛlLEtPROOLLOC˛LlRLlRUS&LlWHIЛlRUS&lWAR˛_͛>> >mbMЇ ,,,MpKIΛί/> >NC& ,nd Nng NnGaLOכNˇ NԇO## #_r")R 5r )> > >rb rD ,TANTCH,tTOC˛tTO·)tTR&_GOLAכLINNAMPA&PASPLAPRODUCROASTANSTREETWAWORě7^.^__B5b> > >BANbAREԛbBAbIΛbINEԛBLeGRABLEԛBLeWABbMAbOCHOΛBOOBOobRiObSTANě_CAϛCCHePOԛCHEԛCk ccTU&_Ć> > >DAVdDISDEnDENDEnZDEԛdMiUdR__FfETeRIfFEI_G 5 _HOOԛ_IsSOΛ_Jo ))_KeWAL˛_L!l LABASLaDiU͛LAm laMIllCi  lCiU͛lCu5lCuLU&lDROΛlEnDlEnDA҇L6LfSKIΛlIBlIBLiClICLILIFORNIlIPLIPlIsT-L˧)lLO׊lLUL͇5LOMLUMElUm LLVADlVa LYpSϛ_͆&&mBImBiU͛mBRMeLIMElLImEϛmERmeRaMAmOuFLAMЇ),,,MPAGNmPAIG·MPFIMpGROUNmPHmPU&mSHAFԛ_N511 N>,n>5>>>NADNaDiAnAPNA,NARěNAsTnC)55nCnCAndnd n䙝nDI5nDiDanDLeLIGHNI nKnNiBnNOΛnNOnnNONOnNOέ14444nO  NSnTnTnTnVA&);nYOΛ__p  pPP PP244Pp;>> >>PAc PeLEԛpITpiTOPItu5PϛPOΛPr PSTAΛpSupSuLAPpTpt2pTpTAI·pTU __ҥ%RR R R555R55RR&)r")r>)>R>""RAFrAMrAVraVA·raWArBARΛrBIDrBOrBoHyDrBO%rBuRerCA&rCInORħ)RdBOARRdHOLrDiAÛrDiGAΛrDiNReFrFARrGrHOЛRIBBEAriCaTUrLOAěrMAKr5rNAGrO 5rO›roLiNrOTRrPEnTrPEnTrPEԧrPORԛrRIAGrRO rRyOΛrRyOUԛRRYOrSICRԆ)RtLOAěrTOΛrTOOαrTOrTOUCrTRIDR._sCASeBOO˛SEIΛSETSeWORS&SH S5ShBOO˛SHEכShM SiNϛS˛sKEsSeRsSETsSiNϛsSOC˛SԆ)STANEԛStaWASTOsTrS"5"SuAl _T&)6>> > > >>>tACLYStaCOM›taLOLJtaLOGtaLYSԛtaLYtaLYtaPULԧtaRACԛTASTROP膭tBIRětBOtTC""&),,TChTChUTChWORteg -tFIStGUԛtHTHA; THeDRTHeDRThETThO5THOtNAЉ)>tNIЛtSUЛTTA tTLetWAL˛_u"5% uCaSIAuCU&UGHUlDROΛULˇ)USeWAUsTu , 5uTuTIOnA_V" V%)v 2 2vAlVeVeMAVERΛvIA҆VORԧ _ ^, 2^ ^)^_a5)DAқDIlL__LEBliliBa lLA҉ lLϛlLoPHAlLuLAlLuLlLuLOILSI_mEt,n N;nSOrSHInSU&nSU)nԂ> 5nTErPIEnTiGRAnTiGRAnTiMeTnTR44nTnTRIFU炆nTROIěnTU _RRA-ReBReBRReBRU͛reMo  rTAIΉ5rTAIn rTI !  - r rVISArIAΛSsPOO_^5^ , ,,^ ^>>>> > >  > > >>^)^ ^ ,,,5^^> >^ ,,^ ^ ) ,, ^ &)^ ^_A a); AA>>   aGRI·AI·AInAInMAAI҇AIrAIrMAAIrPErSOaLEALˇ ALkBOARAlLENAM AmBAmBRaMeLEOAm AmO AmOIAmЇ AmPAGAmPiOnSHIЛAN>5AnCRAN!5)AOaOA>ApErO·ApLAIΛApTAҰ022 2>ArAcT11 444aRADArCOAR! ArIOԛaRIsMaRIsMaTAR͇)ARԇ AS͂AS5 aTEA՛aTEAUAUfFEUAuVI_EAШ((,,5EApISEApSECˇ)))5ECkBOOECkErBOARECkECkOECkOUԛECkPOINECkROOECkUЛECKWEdDAқEE˫,,,,EEЇEErIEESeBUREeTAțEƛEfDO͛eM EM-5EMEmIsTeQ ErISȇERUEruBIEStNUԛE!),,_ICAGIC˨(((ICKENHEARIIEƉIEfDO͛IfFOΛIL56ILdBIRTILdHOOILdISILDPROOIlDIImNI>iNINATOWInBONINˇ iNϛIЛ>> >IpMUN˛IRЧ ItCHIvAl LoRIDLORI_o55 ;OCˇOc5OIқOIrBOO)OlEROMЇOo&,,OЛ>>  >ORĂoReOgRaPOrt oRUOOwD_R RIsTIA2RIStMROMROMIU͛RoM > > 5>UCˇ555 5UU͛> >  > >>UMЛUNˇ,,,UNURC&5UR· UTUtNUTzPUTzPADGAgAREԛNC&nDnEMnNaMOΛNQPHrc rCrCU rCu5rCU&rCUItrCuLA4rCUmFErENrCUmSPECrCUmS rCUmVENRRsTERΛ,44tADTi  tIZEntIZEnSHIttROΛtRU&V,V 25-> >VIlIAΛ_> ^^ -^ ^ _A& ,,  AAě>AIͤ$)ä́AM A> >   >AmBAmBAKAMЇ AΛAnDEsTIANLJ9ANˇAnNISANsANsMAAЛ>> >APApTRAA/ 2ArEԛArI  ArINEԛAS&)ASЇ)AsSi !  ASsMASsROO͛AuAUsTRoPHoBIAׇ AyIS_EA·)5 5 5 5EAN)EANHANEAnUЛEA#).5EArHEAEArINgEA)EƛEFԛEmEnENC&ErErGyErGyMAERˇEV5Eכ_iCHICˇ iEnI IFFHANimiMAciMA&IM‡)ININC&)iNiCIAInˇ IЛ>> >>IQ_O5o)OOAˇOB>OCˇ OCk OCkWORO  OdDISOǛ  >OOЛ>OSeOSeOUԛOsEԛoSUROԛ>>OTȆ,, OTHEsLIoTUROUħ,,,,5OUdLEOUo OW·),)OWnIS__U!>> > > >>UbFOOUbUCˇUm 5 UMЇ UNUN˩)USTUT>UTC&^).^22^  ^ - ^59^5)^5 ;;^9).15^_AC&)AChAChMAACԇAg5AguLU͛ALESAr5(((ASԢ)AStLIAtRAC˛AtROO͛AtTA AuTHA؂& ,_b> BALԍbWE_CAINcCYCHAI҇CHICHLEC&&&,,,5CkaTOϛCkCROכCkNCkPCkROAC&CkSUCkTA CCOCoNUԛCOOΛ_5)D- 䮛d> DDeFEnDEINdFISdGdI  _EduER EXExIsTEN_F>F>fFEePOfFIΛ_g2>GEn GENgGNAÛgWH_HhHErENHORԛ_IfFEUқIfFUILSTARI)InCIInCiDENInCiDEnInSU#IT___LlAnDLĩ5LdISLeSLAכlIClISeU͛lLAlLAplLAPsIlLA҇lLARělLEAGUlLECԇ5lLECtIlLE lLeGIAlLILLIlLoQ LLOQUIUlL;lLU䆧L;LOGNLO   LORADlOrFASLOsSULOU҇ Lԉ LtISlUM΂LUmNA_MM5 5  5m MMMm Mm> )%M> ;M>>>>>MMAKMaTMmB 3>>M⇩)mBI)mBϛmBUSԇmBUsTIMeBAC˛MeDIAMeDOWΛmEԍm mFOR!!mMmMANħmMAnDmMEm9mMENmMEN!mMEnSumMEnTAmMERmMErC 44mMIsSAmMO2 2mMOΩ)5;mMOnAlmMOnPLAmMOnWEALTmMomMUmMunmMun mMU mMuNiQmMU mP5mp;mp )mp7mp#7mp    2mPA&%mPACԧmPA  /mPAnIOnSHImPA%%5mPAriSOΛmPARԷmPAtI 2mPENěmPE222mPeTEN㆝mPeTENmPLaCENmPLAIΤmPLAINԛmPLECmPLeMEnTamPLE5mPLE&2mPLiMEnTamPO)22mPoNENԛMPORԇmPOSԛmPoSUmPOTmPOUNħmPR&mPr MPrmPRehmPReHENmPReHEnSimPRo MpTR5mPumPU)4 mRADM_NN2NN;<>>n>)nCnc!;;nc)nc ,nc nCAnCEnTrnCEPԏnCEpTnCER·nCERԧnCErTϛNCȂ&nCLAVnCLunCLUnCOCԧnCO2nCORěnCOUnCRET5nC;nCUқ>nCUrRENnCUrRENndn nD"5nDnDEMnDeS;nDeSCEN.5nDo nDoLENnDoMInIUnDO)nDUnDunDUCԇnF&nf)nF&&>nFECԧnFEdErAnFErENCnFE>nFI䄆)nFiDENnFiDEN 5nFIgunFI)nFIRnFIscnFLICԮnFLU&nFORnFOUNħnFRONnFunFU nGn nGnGLO)%NGnGR&nGRAtu5nGRegnGRESsnGRESsMAnGRuENnGRuENNIFnJEcTUnJOI·nJOINnJunJUNCԏnJUNcTUnJU)NˇnNECԇ'5NNECTICUnNOIsSEUnNOnQUnQUnSC 5nSCIENnSCiEn nSCRIpԏnSeCrnSEcuT5nSEnSnSENԧnSeQUENCnSeQUEN 5nSERnSID!!%%%nSIG&nSIsTEnnSIsTEN5nSO nSOlidnSonSORԧnSPIcnSPI%nSPIrAnS55nSTItUEnnSTItUENԛnSTiTU"2"5nSTRAInSTRAINnSTRICnSTRnSTRUCԇnSU%nSUlAnSULԄnSU)nSUMpnTnTACԧnTa nTAI·)nTAminnTEmpnTEmPoRA,nTEMPԛnTEMPtInTENħnTENԇ'5 nTEXԛNTEXTnTIG2nTiNENԂnTInGEnnTInGENnTIN"5#%2:5nTInUϛnTORԇnTOUқnTNTR nTRACԇnTRaDIcԏnTRApnTRA,nTRASԧnTRIBUnTRO55nTRov nV#)9nv)nv nVaLESㆮnVaLEsCENnVaLEsCENnVEcnVEnIENnVEnIEN5nVENԏnVERnVERԧnVERtInVEnVICԇnVIN.5nVOnVO nVu_O$) 5Oˇ),)),,OkBOO˛OkOUԛOkSHOЛOkWAOlISOΛOnSKIΛOЇOP%%%OOrDin_Іp P1>PiLOԛppu5PyBOPyBOO˛PyCPyDES˛PYHOLPYPyRIGHԧ_QUEԛQUeT _RRr5r)R>5r>5rB Rħ)rD 25R5RdArDO·rDoVAΛrDuRORˇ) RΉ ,, RnBRnCO›rNErNErSTOrNICRnROLLrOlLArONRoNroNA,rONEԛrpRPRPsRPsMArPrPuLENrRArRECԇ5rReSPONĮrReSPOnDENrReSPOnDENԛrRiDrRorROrRugrRUPԇRRUPTIrSAGrSEԛ_SIG·)sMsMETsMO&SMOLOsMoPOliTAsSAC˛SԂ 55 5 5 5STsTU)_ԆT   TIlLOΛtTA)tTO·_UCȤ& uGAқUGȇULUN;5UnC UnCIlMAUN&&) 5UNTDOWUnTErACUnTEr#UnTErFUnTErPARUnTErSIGUNTERSUnT UnTRyUnTRySIuІup UuPLEԛuPOΛu )Ur)URAGUR:5; ;5 5 5 5URtURtROOURtYARUsIΛUTuTU_VV(V"").vErAGvErLEԛVER5vEԧ)_ׇWwAR-5 5wBOwGIRwHANěwHERěwHIDwLIC˛wwMAwPOKWSHWSLIЛ_xCOM›XSWAIYISyOTz5_ > > >>^ ^2^^2!^ .^);; ^)^ ^-5_A5ACˇ).555  5ACkDOWACkPOԛACKSMAad AFԧ,,,AFTsAFTsMAAFTsMAnSHIAǛ>> > > 5>A͛ >AMЇA > > >aNIaNiU͛ANˇ,, ,AЛ > > >>AS& A5)AAW),,AAWFISAWlWAAyOΛA, 5 _Ea) EAˇ,,,EA͇),)),,EaTUReDENCeDEn eDEnZEdI 2eDϛEE˛EEЩ),,EEpAGemEOEEPEsCENԛeTIΛETONEV-EVAE5EwEwMA_I› >IbBAGIC˛ICkEԛIMImiNImiNOlOIMЇ ,,ImSOΛInkIp> IS(),,5ISsCRiTeRIiTIQ_O O.5OAˇ) oCHEԇOC)oCU&o OO˧'OO·)OЛ>> >OpLANěoQUEOSsBAқOSsBOכOSsCUԛOSSHATCOSsOOSsROAěOSS OSsWAOSsWALOSsWOROTC&OTChEԛOUC&OuTOΛOׇ OwBAқOWħ OW· __U&555u )Uu uCiBuCi  uCiFI&UĆ5 >uEl uEԛU> >UM‰ ,,  UmpUNC&),,uSA)US&)USԢUTC&Uyb YpԂYsT_^^&'5_†B5> >CkOLěCkOϛCUmBd> dG 5_>5_iSINLiNALOTlp 2lPRLԍ01ltlTULlVERԛ_m 5Ы+6>pBOARěpCAPI 2_r!rR 5R),, R5>>> > >>R R rd R䛝rFERi2RLICUrREn rREN5rRIcuLURSR; ;5rTA rTAI·R Sh5SHSSsPIĂSsWORěsTARěsTo sToDiAsTOͩ)sTOmAT5,T T5 >> >>taWAtBAC˛tLEԛtLINtOtOUԛtOtPUtTHRtUЛANIDc 5CLOCLOlInDLInD mB NsԍAҰ1ArDO͛aRiN_ތ5 5; ;_›>> >b> ě> >D_> > >fFoD Fԉ>> _IntIniQUiRI IRyIRyMAKOTLl5)L5_͆;; >mA)MMNmNi mOMЇMP)M)5MpISmSOΛN)n  0nDi  nDRUnG:5ng Nˉ5P>5p>_).5R5ReSRRK)R멪5RkISRkROO͛R·)Rԧ)S&) !T!5'5)TTTeLITU_U‡)UGhTUNԧ 55uPHIΆwd W·yByBOO˛yBREA˛yDREAͮyGLOכyLIGHԛyLONyROO͛yTIMz> ).^ 5 ^  ^^ ^5; ^)#,^^;_aCOΛACON AcAAD)A䩪5 5 5 5AdBAdFAdHEAěAdLINAdLOCˇAdPAΛAdWEIGHAdWOOAƨ(((5AfISALAΛAnSHIЛAҩ5ARTțATȋ5AThB_b!)b  BBa)BaCBAқBARBAUC&BO)boNAIB BRIEƇBRu B59BUǛBUNˇ)BUԄ_CC)Cc)c Cc9cCA CA䂆cADENcADENԛCaGOΛCAMЧCACA2CARCEaCeDENԛCEMCEn CENԉ 5CEnT4CEpCiBCI'5 CIdciCiPHCˇ)CkHANěCLaCLAI͇CLACLI COCOCO)COLOU҇COmPoCOnTAmiCoRU͛CrCr CRCREaCRECROW·CRYP_d-DUㆇDUCIDUCԇDUCtI_E͇EEP E5ErSKIΛ_F fF>>>>> >f##f  F-fFFFA)FA% FAULԧfecFECԇFENCFENĄ)FEnSifErENfErEn FiCIEnFiCIENFI! FIn5FLEFLECԇFLEFLOWF5 %FOǛ>> FOR FRA" FRAUħFROCˇFROSԧFԉ5FuFUNCFU_g)GEnErAGrGRA)GREa_HuMIdIHyD_If I IG·_JECԇ__LA)LAWALEclegleGaLE LFLIb)5liCa LIGHԧLIMLInQUEnLInQUENLI,LIrIU͛lTlTOIěLuLU lULUSLUL _M m "4MANħ)MArMARCMARˇMASMEA·MEnTIMiGOěMIliTaMmOCRMOcRaMOGRAP艭MOlIS&MOΛMOnSTMOMOUNԇMU҆5 >_n!"N4N5 NNaTUnI͛NOminNONOUNnSi  NԂnTIStnTUNU)NUn %N_Od4_p!)PARԧ7PArTUPEN!PEnDEN㆝PEnDENPICԇ PLAPLEPLOPLUPo POPOLISȇPoNENPORPOԛPR&Pr PRA)2PRe % %PTțpU __r r%RA RANr reLICԛRI RO%rVIS&_SALԇ SCENĄSCENԛSCRI!SCRIpsECrSEgReSELECԇSERԇSER SIG)SI! 2! S˛so5sp 5Sp )SSPAI҇sPATCSPO SPONħSPOnDEnSPONDENsPOԭsSERԛSTAI·sTI sTiTUSTROSTRUCԇSTRUcTi_T 9 9 >T!)TA TAC& TAI&&TECԇ TEnԆTErGENTErMITErRENTHROTICˇ tonTOU҇TOxI  tR TRACԇ_UC_Vv  V v V,vv ")V VAlvAstVElOЇ77vIlISvIl vIlTVOIVOVOU҇)VOU5_כwDROЛwFWOR͇_xt2xTXTRO)5=^;;^^5 ^ 2^ _ABE-ABADE͛AgNo AgNOsAgoNAGRA͇ALECԛALOǛALOGUAmETAMONěAPAPHRAGA ARRHEAsPoRaTOATRIB__C㇉ CHOtOCKC,,ct cTCTAPHOcTaTOrSHIcTIOnA,cTIOnAcTU͛_DAc_eHARěEԧ)ETA,ETE_F>fFErENCfFErEN 5fFiCUl fFu)_G)2>> >>GEStIgn gNi gNiTAGR&____ _LApidLEmMlIGENlIGENLU)_͆M;5>>>>MInIS&MInump mW_Ά )>> NETn NgDONǛnG n NoSAUқN_OCOceSA_Л>>>   >pLoMPLoMPLoMapSTIC˛__RRECԇ5%R,,,,_SABusAdVAnTAGsAGr!sAlLOׇsApPEA#sApPOINԧsApPROsAR͇)sArMsArRAsAsSEmsAsSo %SAsTSAsTsaVOעsBANħsBAқ>sBeLIEsBeLIESBOWsBUrSÛsCARħsCER·sCHARsCiPsCiPLIsCiPLInAsCiPLiNArIAsCLAI͇sCLosCLoSUsCsCOsCOmFORsCOnNECԧsCOnTENԗsCOnTInUsCORsCOUNԧsCOUrAsCOUrsCOVsCRsCREEԉsCRE#sCResCReTIOnAsCRIminsCU&sDAI·sEasEnCsEnGAsFaVsFIgURSFROCSGORsGRAsGu sGUSԧS&sHEARSHEV&sHO9!99ShPAΛShRAǛShWAsIlL;sInFEcԄsInT*sInTeGrsJOI·SˎSkETsLsLosLODsLOyAlsM5ssM &sMAsMOUNԧsOBsOBeDiENsOBeDiENsOrD5sOW·sP5spsp sPA2sPArAsPATC&sPEnSaSPERSISPIRsPLAsPLAsPLEsPo! ;SPROOƛsPRoPOrTsPROsPU sQUAlI sQUiEԧsReGARĮsRePAIsREPUsReSPECԫsRO sRUPԧsSAtIs sSAtIsFAcsSECԇSSEMIsSENԧsSErsSiDENsSImiLAsSipsSo %sSoLUsSOLsSUAssT 5)sTAsTASsTEmsTENĮSTENsTINCԉ55STINGUISSTORԇSTRSTRACԇSTRIBU􆇎STRICԛSTRUSԇSTURSuSUNSUn _ TC TTϛ_URN_VV Vv   VAΛVERVERGENVERSI VERԇ VI VIDENěVI  VISIVOR VUL __zZ_ 5  5^^5  ^5^ ; ; )_c 52Cˇ)CkAGCkECkHANěCkSIDCkYARěcT%cTRINcUcUMEnTaD>D熇_ESKIΛ Ǜ;;>> &>gCARԛgFACgFIGHԛgFISgGOgHgLEǛggMgTEETgTOOTgWATCgWOOě_lDRUlLAқLlISlLOЛlMLOMlPHIΛLԛLtIS_M 2mm MAIΛMI   /mINn>>nKNUԛod O͇OMsDOrBOrJAM›OrKNO›OrOrMAOrNA OrSTEЛOrSTOЛOrWAP,,_RADr sAGԆ>>tAG_ubuBLEUBԧ)+55UG UGhNUԛU҉5VVECOԆVeTA VISW&5 wwAGW,,WDyISW·) WnWnCASWnFWnGRAWn WnHEARWnPLAWnPOUWNSWnSTAIWnSTREAWnSWnTIWnTOWWnTRENWNTROWnTURΛWnWARěWnWINw ZZz_>>^&),,.^^ )^ ^)^>^)_AAF&&),,,AǛ>AgLINAgNEԛAgOΛaGOOΛAI·)AInAAKa-5aMANA),))AsAUGH A!).AW AAwBAC˛AwBRIDAW_EAħ+5EA͇),,,EAmLANEAMEAr5EaED)EǛENC& E_Ib>IFԧ),,IN!)I5>> >>>IPIVeWA_O O ONISOOЇOЛ ;>>OpLEOpOUOPOUGH O)Ow,OW· OWNħ__UD), )UǛ>>>UgSuIİU6>> >UmBUmHEAěUmROUN˨UNkAR^5 CˇgOULlAR>MMЇNnGap2PLEr 2RRSS,,,Sԧ),,,56StPAΛ  TC).ARƇARfISARELInd!.NA-NaMϛNAs 7^,,,,CG5҇+.R >>rACHrDROЛrDRU͛RFLAЛrLOrMARR· 5.rPHOrSHOԛRTȨ,,,5RThEnWARThQUAKrWIǛSST5 5StERStWARěSyGT!T,O CEnTheLOΛHLAIқLEcTLIpLIpTOLO  ONO --5-SSTa ZeM  "4 "  G5燩)g箝Ge GeWIBICԂIf I  ITR&UUcUUcIUcTr5FA)FECԇ 5FEcTFEmiFET5FiCa FiCIEnFiCIEN5Fi FLuENԛFLuVIFLUFORԛFu^  gCUЛgHEAěgNOǛgPgSHϰ011oMaNIoRREԛYPYpTIAGH,GhTEENTGHTTAcu5ECԇEcT_9^'5 ^ ^ 2^01_AApAsT2BOׇD5_ECԇ&%EcTR52EcTRiCIAEcTRi EcTRoCUEcTROEcTROέ-E EGiAÛEMEnTaEPHEvEVEvENTfI_IGi 2IminIxIқ˛kHOUNěLIp LIp_͛OngO OQUENOQUEN_SeW _uuCiU  ;;^ ^> >ac AnAnCipb>B>>BB>Ba BAL͇)BAN˛BArGBARˇBArRABElLISBEz>BLABLaZO·BLE͛BO5BO& BOd BODBOLDBRA BRO BROi BRYϛBRyOcErALěERErGEN ErGENԛEriTIGINEn INENIIsSA,O"5P PaTPPHa PI-PLAPLO! 2!&&)POWPRpt5pTuuUlSi  _^&&^(_ACԧAM& AMCaCACAMЇCHCHAI·CIPHCIrcCLASЇCLAVCLoCLoSURCO COUnTCOUrACROAC&CRUSԧCRYPCUmBCYCħ.DD55Dd)DAnGDEA҇DEAVDEDOׇ DU!#_E Er ErGEErvFOLħ FOR!)GA GEnDGiN GIGLANGLEWOOGLISGORGRAGRO&GULƇh _IgMJO!! JOI· KIndLALAR)LIGHT_m MES&NobNUOr OUGț_RARAPRICȇRORoROOԇSCONSEmBSHRISHROUćSIGΛSLA SNARSSUT t t TA TAngTASTENTErPr TErTAI·THRTHROTHuTHuSiASTHuSiAsԍ TIR5TIRe TOM‡TrTRTR,TRT TR TRAЛ>TRENC&TRePReNEUTRUSԧTRyWATWTWI_um Unc v!!V ;VELOІViROη775VIsAV ZY ^ ICURIDEIGRA͛ILEp ILOGUIPhA ISOITAPțITHEԛItOOCȢONY͛OuU2 24444455u u UaNI2UiLIbRiUUiNOUIз>UIvALENUIvALENUIvo A!)AdASURECԇ5G;OOOtICRANěRANt RaTRATURoSATUUPԇcCA&&0CaPADCArGOԛCaRCHEׂCORԧCROOPHAGO pp PeC 5PioNAPREsSϛQUIRSA 1SENCSEnT 5TTAbLISȇTEE͇THETimTRANTuA,C& .Er HHhNHIQUENLo NUCțPPHePHO PHoRIPHUReKRIPRORoPeAΛ^5 ^ 55aAcuAcUA AluAnG-Ap9EnHANENԫEnTIEnTU25ERGErLASEreRyBOeRyDeRyMAeRyOeRyTeRyW IC&IDENIDEN 5IlDOINO%O oLuoLuTIOnAOL  _ ^^_AcErACԧ5AcTiTUAg> AL)A͈AmIAmPAs %C .5C5C&c c! 2! CavCElLEN㆝CElLENCEPԇ!CERPԧCHANCLAI͇CLaCLu5CLU CRE CRu %Cu! CU;_EÛECrECU EmPLAқEmPLiEMPԇErc ERԇhHAUSԇHAUStIHIBHIlarHORԧ HU _IGEn IGENIsTENIsTEN_ODOn OrOrc OrOTP5p pP ,p p25p%)PAnPANħPaTr PECPeDiEnPeDiENPEN!PEnDiTUPeRiENPER5PIPLAI!PLAnPLePLOPLoPLO Po PoNEN POR)PoSURPOUNćPR&5PuPUN _Q ;t5T TEmPoRaTENħ TENԛTEn%TErMinTErN45TINcԏTInGUIS!TO5TORԇ T TRTRACԇTRaCUrRIcuLATRadTRaMA2TRAMUTRaTRAOrDiNA,TRAvaTRAvaGAnZTRE5TRoVERTR;TRU䆧_Ub#UULԄ;;CeTicSI,cԋ  cT CcTcTUcUl Ć5'5>>>>dDISDeaWA_Ǜ>gGOԛGOԉ HrEn_IlURi$INԧ5INtHEARINtISI .5IrGROUNIrISIrWAIRyLANITȫ+55K,L)l5,,lCOΩ)lLa  LlBAC˛lLi 2LlOLlOUlLOכLSeHOOlSEtTϛlSi  lT)_m , 펚5MIlIA244mINmIS&N6>> > >>nc)5nCnCyWORnFARnFOLěNLJnLIGHԛnTa  nTaSInTAsn _҆;raWR ReWrFETCR͇)RmRmHANěRmLANěRmYARěRROrSIGHRԛrT艊rTHErMOSssCinSH!SԧsT)SStBStBAC˛sTI,T112 25T>T>)>>> > >>tBACTH55tHEAěTHErHOOThO͇TIGtTIST2 2_uCEԛULԧ,, ,uuNV!!)222W·)_5^).^^,,^ 2^!)_Al A҇ +55AThErWEIGHaTU5BRUACUND)4d)_eeBLeMINeBLISEdBACEdLOԛE_IG·)INԧLdSPAқLI5 2lLO5lLOwSHIlO Lԇ_M9mimiNI2MUқN5)Nħ)_Rr>>>>>RΛRO  2rREԧ)rRyBrt 24444)rVrVEn rVENrVI5rVOUsTst2 T> t>TC&)tI5TIS&TLOC˛TOlOTU&_UĂ51VVErISש_^,, ^ ,,"5.^) .^^ !_AsCB444>> >BErBOARBErGLBCkcd d> DdGEԧ Du DuCIa_EfDO͛ELħ)ENěENdISER5EsT f fTEENTFT5Ƿ7GHԩ)gU)gUReHEAguRIN_lALArIlBERԛLC& LEԛliBUslIGrlLEԛL͇,,,LmDOLmSTRIlT LT,,,,lTr_N2 244445n 5 N5),)-N56>Nag NCNĩ).nG nGErNA nGErPRINnGErTIЛnICNIS&)N˛ORě_҆5.ReAR͛ReBReBOReBOM›ReBREAReBUǛReCLReCRACKReReReLIGHReReMARePLACRePLUǛRePROOReROO͛ReSIDReTRAЛReWReWOOReWOR˛R͇5RS5RStBORRStHANRTsC5S!&),))56ShBONShBOWShErShNEԛShTA ShShWAShWIsSiPsSUSԧ+StNOTsTuLԋ>>_)VeFOL!x5).xTUR&   z>ORě_> > > 5> >^5>>>>>^> ,^>>^^)^)^>>> > >^^_A A aBElLAcCIAC˛aCOΛAǛ   >aGElLAgOΛAgPOaGAgSHIЛAIқAˆ ,, A)>AmBEA՛AmBEAUAmBaMEnCϛAMePROOaMInGAΛ>>AN)ANˇ)AЛ>>   >>ApJAC˛AAS&),,,,.AShBACAShBULAShGUΛAShLIGHAS˛AtBAtBOAtCAЛAtCAқAtFEEAtFISAtFOOԛATHEAěAtiROΛAtLANěAtLEԛAtTISAtTOЛAt AtWAtWAAtWORAtWOR͛AUNԧ aV aVIaVOUқAׇ 5A,,;_EEaBAǛECHECˇED5EE EEԮ5ES&,,5EShPOԛEuEכE&/ExI 2_ICˇ))) IGH,,Im 5 INC&)INIЛ>>>> >IR) _O) OO .O&,,OAtAOÛOCˇ OǛ>> >>OOħ)OOdOOdLIGHOOd OOdWAOOrAOOrBOAROo OЛ>> > >  >>OpOVoROrI5ORIDooTAGoTIlLOUnOU҇OUrIS&OUԩ)OׇOW) OOwCHAROwErEԛOwErPOOW__ՆU›>UbDUUcTuuEnuEN5U,, ,uIĢ24445U&,,UNUN) uOREsCENuoRIUR>US&UsTU)1UT>u UyyOVyPaPyPASySPEC˛Y yWAyWH_^ ^ % %5  5^)^ ^)_A͇),, 5›>CcCU&);D>_ 50>> > > > 5>>gBOUNgHORΛGyIS_iBILsMALħ)LIALIϛL56LK,,,LkISLkTLkWAlLOׇ)_NĄNd N丛nDՆNԢO),)O5OdSTUOlHAr OlISȉ5OlPROOOLsCAЛOԇ) .56;OtAGOtBOtBATțOtBOOtFOtGEAOtH OtHOLěOtOtMAOtMAR˛OtNOTOtPATțOtPRINOtROtRACOtSTEЛOtWAOtWEAOtWORpPIS_Rr;!)R;R%)rA)rA rrBAĆrBEAҮrBIĂ>>rBODrBORRC+5R5 rCERcIR!ReAR͇ReBEAқReBOReCASԧReCLReCLoSUReDEC˛ReFaT REFEEReFOOReFRONReG ReGOReGROUNReHANěReHEAěrEIGΩ)ReKNEReKNOכReKNOWRELEReLOC˛ReReMAReMOSRePARԛREPASRePAכRePLAReRUΛ>RESA ReSAReSHAdOReSHORReSIGHReSKIΛReSTArEStReTReTHOUGHReTOLrEReWAR·ReWORěReWORREYARěrFR),)).rg rGArGEԫ>>rG RGOrGO>Rˇ +RkLIFԛrLORΉR!rM245rM>>R퇉 5 5rMirMu5rMuLrSArSOOrSOOTRSrSWEAқrSWORrԆ  RTRThCORThWITrTiETrTi  rTiTURtNIGHrTR&RTRArTu rTU5RU͛rWARħRWENrWORsT_U5UGHUlMOUTUN )UND UNԛUnTAIΛUқ<<UrFOLUrSUrTUrTEENTURTW xXGLOxHO_ ^5^^!^  ^ ^)_A AaCA&AcTAcTUAg 2AGAgMEnTAaGAIl A!)AMeWORAnC ANCISCANˇ5APATErAUěAUdULENAUdULENAUGHԧAz>_EAˇ,, EAkISECkEeDO͛EeHANEeLOAħEeWAEE)EIGHԩ)ENCENChENChMAeNEEn eQUEn eQUENԧ5EsC ES(((5ESHEԛEShEShMAEShEԫ>  >_iAқIcTiDIENć5 5 5 5 5IENdSHIIEZIG%IGHԨ(((IGI25ISˇ ,,,IVo2_OOC˛OǛOgOgMAOlIC뇮OONěONԂ ONtAGOSԧ,,,.OStBOTȇ,,,OWAROW·)o__U ,,5uG25UsTrUSTU͛_ 5^^&),,,,_ChSID__L)n>5>>NcT"5NħnD7n炌nGU&_r:5R > > )> >>rBIS&RLONrLOUGȇrNACrNIS&.rNiTUrROׇ rrT rTHErSeLAGt 52 2TU_,,,_ ^ ^&&5^ ^5_b>ě> >daBOUԛdf dGEԛdGEt_>> dž>> >G>ggMAgST_iE I 55INS̆ L5 , LLAclA,lLANtlLeOΛlLOΛlLOЇ lLOlVA_M5M mmBmb mBOMeCOC˛mMmUԛnDNng NgLANnGLInGNgSNgWnTІ.5>_R57RARrb rBAGrBAnZϛrD)rDeNIrg rGOrIS5rLANħrLICrNrNEԛrNIS&&rREԛrRiSO·rROTrR5RsBAǛS&sI  )sKEԛsLIGHԛsoLINSЇ sTRoNOTeWATH)._UCH5UU)UNԉ5UNtLEԧU ,VV&5yEZ)ZeBϛZE^!%%%5A҇ArBO&eZiSHlaTI͛mSTONN; N)244445n)n-:5n5nnDNeAlONERnEr2NETNIU&nRNnTnt 2NtnTLenTLeMAnT NnuIoD;OGRAP-OLO -OMENTOMET ORORGIR͛rMAΆrMinRmPROOrUNssTU !>>taWAAS5ErKIΛEtTOS5 5 5OUOUlIS&0^)†B>>bBErISbBEԛBBObLEd>5D>Fԧ'5>g> gOLϛLħLmLEԛmMICΛnG5nGErSNANgHA͛nSENǛRRAFRħ)rd RRlHOOěRlISRԇRTȇSԛ()VeaWAzZARě_^+5^^^> ^  _A&+,, ac AĆ5<>>>>>>AdIoLAm4AmOUANA򆇮A) _EA͇ EA·)._I5>>I)IM>IMp)INԧITC&_O)o,,O¢"5ObUObuLAObuLIOO͋,,,,oRi  OsSaO)Oׇ )OwWOR͛__U ,uCOU5>>U>>UtTO,  AR AS&A)OM,,^  ^AħAlPOSԛAtHERěAtISAtSKIΛb> bLEԛbLIΛd 6D>&>dDAUGhdFaTdHEAědHOOědMOTdPArENdSENědSOg> LĨ(5LdEnROLdFISLƇ))NAěnDoLNLJo O,ODODHUOd OƇ,,,,OΛOSEBUMPHrRRIlLsPsSaMsSIЇ >TU)uLASURěUrMANUrMEԛ)vER77vErNOrSHIWΛ_ > > >^&^+5 .^5^,,,^),)^^  ^  ^^> >  >^>_A A,, AAC+55A 5A)aDiENԛAdU5AduAFԧ)AHAAI· ,,A͛>-AmMAқAmMArIAaNa ANĩ5ANdCHILdANdDAAnDEUқANdFaTHAnDiANdMANdMOTANdPANdPArENANdSOΛANdSTANAn5AnuLAAPAp> APeFRAPeVIAPȭ -22ASЇ)ASsLANěAtI  aTIAtiTUaTu AVA 2222 2AVESTOAVeYARAyISA! _Ea,,EEEEnEEnISEEԧ).eNADE_IIdiROIEIE##ILlWORI͆,, 5>>iMA IΛ >INć)INdSTOIІ)>_O)5OA·)oC,O> > > 5>OIΛOO͇)OOO oTESQOtTOUC&,,OUNħ)5OUNdWOROUЇ ,,.OUԛOVOV&)5OvO)OW) OOWOWNUOWTț__u > > 5>>UD.5U5Umb UM,,,UNԧ _&) ^ ^ ^! _Ar  ARĄ ARdARdIAΛARdiAnSHIBEr _eRIlLESsTiESsWORfFAׇ_I!#)IDeLINIlĉ IL,,,,5InEiTAқLCL lLEԛLlIbLЇ _͛ > > >>mBϛmDROЛMpΛ> > >>nBOnFIGHԛnFInnMAnMEnPLnPOINnPOwnSHOԛnSMITț> >_rgR՛SSԧ,sTT,,>T>> > >>tTUR_z> ͛mNaSiUmNASԍp  pSU͛rRϛRoSCO_  ^;^;;_B!BeBIt%Cˇ)CkCkSAכCkWORdDOC˛_Fԉ Ǜg> gGAR_iKIlSTOIlSTORI҇,,,5IrBRUSIrCUԛIrDϛIrDIrLINIrNEIrPIEIrPIΛIrS>L쇉lBERělCyOLƘLfBAC˛LfHEARLfTIMLfTONLfWliBUԛLlMAR˛lLO& lLuCinLlWALLԇ L)lYARě_͛M>mBURGmP MPSHImSTmSTNħ'+,,,Nd N<Nd  NdBAǛNdBOO˛NdCAқNdCARԛNdCLASNdCUNdFASԛNdGRIЛNdGUΛNdHOLěNdiCAЛ>NdICRAFԛNdKErCHIEƛNdMANdOUԛNdPIC˛NdRA NdSAכNdSENdSHANDSTAMNdWORNdWoNdWNDyNDyMAN!)nGANgDOǛNgNgMANgNA NgOUԛNgOnpP>.p>5>pHAzAR_RR&r> >RA&)RANGrB)RRD)R 5 5RdBRdBAC˛RdHEARdHEARRdSHIЛRdTOЛRdWARRdWOOěRdWORReLIЛrE͛RˇrLOԛrLOtR͇)5rMO -rMOnICRЇ) 1rPOO·rROׇRSȨ((5rVS&ShISSЛsSOC˛SsT)StS.Ԇ>>> >tBANětBO&TC&))tCHECTCHETTR_U)UGh 5UNC&UNԧ) vOÛvOC뇮W Wˇ)WkISyLOFԛyMAKyRAC˛yRIDySTAC˛yWIZ)z.zARćZElNUԛ_)^!'5)^)5^ 5^^^^2.5_Aħ),, .5AdACHAdBANěAdBOARAdFIRSAdGEAAdLAMЛAdLANěAdLIGHԛAdLIAdLOC˛AdLONAdMAAdMAsAdPHOAdPIEAdQUAr AdRAdSEԛAdSHIЛADsMAAdSTRONAdWAdWORALTȫ,,,,AЇAҩ).ARARArKArSAARԨ((,,,,5ARtACARtARtBREAˮARtBRoARtBURARTțARtLANARtRENATȈ )A(5(), 5 AVySEAVyWEIGHCk cTD DGeHOǛDGeROכDO_F,,GeMo_IFIGHԨ((iI&&&5IrLOO͛LLICOLiCOpLiPALiPORLiU͛LI&LlISlLL͛lMEԧLMsLMsMALЇ).555LpM_͛>> >MiSP mLINmLOC˛mOrRHAmOrRHOIMШ Λ> NNCeFORTNCHNChMAnNnPECpTaGOΛ_R; r >>RALħrALdR¢" 6RbAGRħ)RDsRDsMAReaBOUReAfReREdiTAReIReInAfRETReToReWITriTAGrMrMErMItArn%%%rNIR -rOIΆrOΛrrSEL_)W&)XaGOΛXaGRA͛yDA_ ,,^&)_ATBaCHBErcCOUGțcCUЇC&&9 9Ć&).>DeaWADeOUԛ_ErArC Gȩ5GhBGhBROכGhLANěGhLIGHԛGhWA_JACˇ))LA,2Ll 5LlOC˛LlSIDLlTOЛLԛ_mSELNnD NNdMOSnDNdSIGHN Nԇ)nTErLANЛ>>pPϛ_R55st --5sToRiAΛ5>> >TC& TChHITThErT_V5_^ ^& 5 55^  _Ar5((AARħ A&)> b> B>1bNOBϛC&)_Ǜ>gBACgGISgNgWAS_L).LdBACLdFASLdOLdUЛliDAlLOׇ5LLYWOOLoCAUSlST_M55 5 56;Mm5 mA MeBOMeBMeCOMeGROWMeLANěMeMAMeMAMeOWMeROO͛MeSICMeSPUΛMeSTEAMeSTRETCMeTOWΛMeWARMeWORMiCIDmI miNIěmiNOIěMOgmoNY͛N&N 5,N!)nEyBnEyMOONˇ)NOLULnOrA,noRArIUnOrInOUқOħOdLU͛OƇ)OfBO&OkLEԛOkUЛOЇ OpLoROԧ)OP+5555>> >_rR>RDRiZOΛriZOnT5rMOR·,, RnBOO˛rNEԛRnPIPRoSCOrRibrRI5rRI  RSeBACRSeCAқRSef RSeRSeMArTiCUlTUsP spsP244SsT)ST&&S  2sTAGsTEl5>>tBtCAKtDOǛ>tFOOԧtHtHEAħtSHOԛ_UNU5U.USeBUSeBREAUSeCLEAUSeHOLĩUSeKEEUSeUSeMAUSeTOЛUSEUSeWIUSeWORV&V)W)WwEIz_^^ _›> >bBU›bCAЛCkSTd> _G5穪>>_Lˮ_m ,%,% 2M1>>> >MAΆ50112 244445MAniTArIAMAnKINMAnOIěmbmBUǛ>mDRUMI2 2MIdI  MOUқMЇ NC&NChBACnDRnDREDTțNnGnG 5nˉ N)NtNTsNTsMA_R)r>5)R>rd rRArRAțrRiCANRԩ)sBANćS&Sˇ ,, 5 .st ԛTC&BRIěDADRDrDRDRoELEcTDRoGENg M΂MnBOO˛PPEr;PH%%pNo pNO-PϛPoCHOnDRiAPOC ;POT&; PoTHE-sT sTeRI^^ eBERǛeBOeBOUNeBO&eBREAeFeHeeMAO΍ OnOCLAS"1124445^^^ ^51AHEeAlOEn EnTi  eOlOIo IO%IoSYnCR;IOԍO%% 444)4OlATLOϛn)n NobUaN )%)%8&˛LeG2LEgI 2LeGItiLeGItiMaLIN LItErALOGLuLuMILUsTrLUsT _^ ^ 5^5^ ^2_A )1AgI AgiNA#Be BI)BRB___MAc5MaNENMaTUMEaSU!MeDiAMERMiGMiNENMoMob MO)%)%MOrT24MOv!MuMUp P5p ,p%p """ pPp7  pp PPa!PACԧ PAI҇ PAr PARԇ 2PaTIENPaTIENPEAC&PE>PENPEnETPErCEpTiPErFEcԏPErSO%%%PErTiNENPEr PeTUPiE pIS5P5Po POR5)POrTUPOsSi 2POsԉ PoTEN㆝PoTENԛPOUNħPOvErISPR&!PRActPREg 2PRINԧPRIsO·PRO!PROMpTPROPRoPRiEPRO7 ;  PRuDENPRuDENPUPuDENPun PU5 ߞ 2 ! >^ 45^ ^ ;_AcCEsSi 2AcCuAcCuRaAc2AdeQAdeQUaAdMIsSiAd !AdVErTEN5Al !A52 2AniA> ApPRe ApPRoP %AP5AArTIc5AsMUCAtTEnAuDiAuGuAUs _BORB_;cCc c CaCAlC5CAnDEsCENCap 2CaPA2CArc CAu CEnDiACEnCEpCESTCCH%CiDENCiDENԂ5CIn)CLI CLoCL;CLUCOgNiTCoHErENCoHErENCO COmMEnSuCOmPaCOmPAtI 2COmPeTENCOmPeTENCOmPLECOmPReHEnSiCOn!COnCL;COnGR2COnSeQUEn COnSI)%COnSIsTEnCOnSIsTENCOnS!COnSPIcCOnTRoVERtICOnVeNIENCOnVeNIENCOrpCOrREC5CORRUPCOrRUPtICCREa.5CREdI 2CRIminCRUSԇCubCUmBEnCUmBENCU!>_d-dd dd DEBTDec DeCEnDeCENDeFAtiDeFEnSiDEFI5DElIDEliCaDEmDEmNi DEN DePEnDENDePEnDEN5DeSCRI!DeSTRUcTiDeTErMI!DE&)DiAΛDIANDICԷDIfFErENDIfFErEN5DI DiGENԛDiGEStIDIg5DiGDiREC5DIsCERnIDIsCReDIsCRIminDIs!DIsPoDIsPU!DIsTINC5DIsTInGUIS!DiVIdU245DiVIsIDDO DOcTRiDoLENDoLENDRAWDU DUC&DUL DUlGENDUlGENDUsT " "4  _eBr EdIEfFEcEfFiCIEnEfFiCIENELiGi 2EP5EpTiTUEQ2 2ER5ErTIEv2 2ExACExC!ExHAUStIEx; ExPeRiENㆇExPERԛExPRESsIExT _  F 92 9 >F f FAlLiFa FAnTFAtuFECԇ FErENCFErEn FErFErNϛFiD2FIELěFIlTFIn5FINITESTIFIr͇FIrMaFLA >>FLECԇFLEFLExIFLICԇFLIGHFLOכFLuENFLuEn FLuEnZFLUFFOR͂2)FrFRFRAcԏFRaRFReQUENFu Fu %_ GGEN2GOԇGr %GRAI·GReDiENԛGROWGROWTțGUL_Hh$)H HErENHIBHOsHuMAΆ2_I-2Iq_JECԇJUNcJU  JUs _ˇ ,kW_LA LALAILANĩ)LEԛ_MMESMOS_NARNErMOSnKEENoCENNoCENԛNOcNovNuEnDϛNu !_Ocu5O>;O)!OpPOrTUOrDiOrGA_PUԛ>>_Q 2QUI) _ROAě_SA52 2SCRISCRIpSEA͛SECԛSeCUSEnSiSEpaSERԇ SEԛ> >SI),SIGHԛSIgNISIgNIfSIn SInuSIpISIsTENSIsTENSoLENSoLENSOlUSOlVEnSOlVENSOmNISPECԇSPI St 2STStStST5ST STAnTaSTEASTEЛSTigSTINc5STiTUSTRUSTRUCԇSu5SUbOrDiSU> !SUfFiCIENSuLASuLISULԧ SU!#)SURGENSUrREc_t5T*** 9>5>tTACTAKTAnGiTeGTEGTElLECTElLEcTTElLiGENTElLiGEN5TElLiGiTENħ TEnSi TENԏ"55TErACԏTErTErCHAN!TErCO͛TErCOUTErCUԛTErDePEnDENTErfTErFATErFErENTErI͛TErLUTEr % ;TErMArRIATErMeDiATErMiTErMItTENTErMITER΂&&TErPRETErRa TErRogTErRUPԇTErSECԎTERSETErSTErTErVEnTErVIEשTEsTITimTiMaTImidTTo!#TOTORTO-TRT TRaMuTRaSTRENCTREpITRiCaTRIGTRI;TRϛTRoDUTRoDUcTRoVERTR;TRU)TRUSԇTUTURΛTWI_UndU_V V7v !v)VaVA)VAlIVAL!VA !VEIgVEIGȇVENԇ  VERԧ)VEsTigVI9VInCiVI VISCIVIsIVoVocVO VOlUnTA 5VOL VUl !_WAR5dDINN TW5^  ^^AAsCiELANISˇ)>C˂ CkA&CkEԧCkPOԛ'5Ǜ>>5>> >gUAқIlBIlBIRěIlBREALO͛ >MmBN2 ng NUApAҋ>rGOsMINsPUn UNԇ 5VveLIΛׇwBOwLINyBIRěyWALˇ&,,,ZzZzMA: ^ )^  AΛEЉ OpArR;Rˇ),,,Sԧ S2ԛ>> > >>>tLINtPORԛtTiSO·W&)55 5wElWIS†>> >> >Ǜ>> >g> gSAכLԧ)> > >ng nG1nGoISNT>T^   ^+55:55>> > >CCK&CCocuLACUN5Ǜ>> >g> HΛ> >I!))InDINԧ)5InTUR).5Lԧ) stԛ>>UrN1UrNUSԧ)V 5W,,yRI)),,,b d DD)7DiCIaDϑǫ+>g>guLAқJITS՛KKeBO&LEЛmb mBϛMЇ),,  NcTNcTUnGN,,,,nKENkYARěnT RRIsDIcRIsPRuDENRYMASԉ 5sTi !  Ԇ>>  BO›nGaROϛNSPUԾRrrMRORRORԛyA˩)ZOϛ5^)5^5ElBOElHAUEЩ)EpSAKǛLMЛMPΛN>5>>NNTUCPrCHIEƛrrT>TChUyBOARyHOyNO)yPUNC&ySEԛySTONySTROKyWAaK).^!&)BIT&)Cˇ)CkBAC˛CkOCkUě>>> > > >>dDISdNdNAЇ>> >dSKILlJOLΛLϛLoGRA͛LoMeTLoTOΛLoVOLԛLowlԉMoNϛn NĩNd N丛nDErGArNdHEARnDNETnFOL˛N5 5 5NgBIRěNgBOLԛNgDO͛NgFISNgPIΛNgSHIЛN˧,,NsFOLnSHINsNsMAOS˛P>ԆT>> >TCHTChEnETChEnWAATC&ATSC&UDGUT&)^^> >ACˉ EAħ)EECAЛEeHOELEI IGHԧ5IS&ItWEAO O›>OCˇ)OCkOOCkOUԛOԛ>>> > >  >>OtHOO!)OWlEDG!OWUCkLO,,,SHwTOׇmQUSH_ ^ ,,^)) )_B)5b"2B ) 22BIBiUBOrSABOU҇ byRINTC56c),,CeWOR˛CCK&C뇮CkaDCOcQUCROctccTĈ 6>> DyBUǛDyLOVDySHI_Ǜ>> >gGARěGOO΂GuN_IIIқKKeSID_M5퇩>M›mBASԆMbSKIΛMIminMINM mPOO·NNN Nħ).5Nd  NdFOR͛NDLANdLORěNdMNdMAR˛NdOWNNdSCAPNdSLINDsNDsMANdWARnGUnGUAGnGUInGUISNˉ,,,5noLInTERΛNYARěPP)>piDAPIΛ_R,rc RCRć RG5R穪RgISrGϛRˉ RKSPURrVrYN&SaGSaGNS& .SHKAsSχ Sԧ5T5TT">TAKITC&TChKTEn TENԛTETȆTH T.tiTU_U!!UG! UGhTUNC&UnDUnD uR%uR%VvIS׫+55W=5wwMA)wMAWΛwSUx2 25yaBOUԛyaWAyETyyMAyOyOUԛyOVyWOyWOmAz5ZyIS_^ ^^(((_A AC&)Aĩ)AdErSHIA56AfLEԛAGAˇ ,,,AkAGAKPROOA·.AЇ)ApFROǛAPAR·)ARNASeHOLAS&ASԛATHAThERA((().cTUd _EC&E˛eWeWARěFԉ,1FTOFtWARG&02 244445G%gg,55> > >>>gA GaTϛgENěgENdAgENdGHORgI 2gIsLaTURGItimGItiMaggMAgROOGUMgWOR_iSU5_mOΛmOnADMUқN&5Nĩ)NGTȨ(((,,NGTh NIEnNIENn OpARěPppR;_sSOΛSԛ>T>>tDOWΛTH5THAr tTErHEA_vV&)55 55Vvv2vVVErA Wĉ5xICxiCOΛ_ 2,<_AiSOΛAқBB5B)45b)bErBiDϛBRBRA,BRArIABRE>c&&)CC9 CENCCCˇ .5>>D_EGEuF56FFeBLOOFeLINFeLONFeSAFeTIMFeWORF!)FtFtMAggAgaTURGHԇ 5GHtGHtGHtWEIGH_!K!5 5 5KKeLiHOOKe LAÛLԧ_,,M)5MM‡mB5M5mBϛMeADMeLIGHmErIC˛MϛMЇ5MPEmPI5N()N;nANDnEAnEANeNEsNEsMANENeUЛNnG) nGNˇNkANkUЛNoLEU͛NO&OOn)O656PpIěpSTIC˛_QUqUe QUEUқqUI5qUi  SЇ)SԧsT)S5T"5%T>)t>tA tErAtErAtEraTUtitMUTRTTLIStUr _!V!5 5 5VV,,VVeLiHOOVeLONvErISVI2zARěaMAN_ )^ ^)&^"15_Aħ)AƇ)A A! ATȆ)5A†>B>)1C02 24445c CC!)CKECkJAכCkNUԛCkOUԛCkUЛCoMOCCUSԂCuTDeSTAқD)._Fԇ ,,Ǎ- > >GICIAΛGITUDIgJA͛GϛGoTYPgRO_IΛlLiPOЛlLyGAǛlLyPOЛ_N5 5 5 55 5pSI_Rħ5 5 5Sԏ>> >TU_ UĨ(((5UdMOUTUdSPEAUGUISIANUN)U,,,UԛUtISuVuVRv!V!v  5 v).5VeBIRěVeLORVeMAVeSICׇW5 5 wBOwBwBROכwDOWWLANěyAl zENG  A՛ BrCEN5CERCI 25CIFCˇ,,,5CDiCǛ>> >gGAGKeWARmB)mBaGϛMBAMiMiNA,mMO&MЇ,, MpISNNa NANC& nCHEOΛnCHEOnEN)NkHEAěPIN򆇉 RC& RIRs S5Sԇ ,,,sTTxU  MPțNC& .N&RRR nCHEOΛnCHEOnEN)NkHEAěPIN򆇉 RC& RIRs S5Sԇ ,,,sTTxU  MPțNC& .N&RRRñ $!-̢!"">@22!w#w#w2> 2L 2Vͧ!2V:VK:\G>G:FO0> ͧ> ͧ:V!| NO ERRORS FOUND! $DIFFERENT WORDS $> ͧ*!*!!8!!"o EW.COM part of SPELLBINDER E. W. Ver. 1.8a $Copr. 1982 Cornucopia Software, Inc. P.O.Box 6111, Albany, CA Serial #10-46784 $A@G \2qM!M!&M!t\t*"$͇| WORDS NOT FOUND: $r!!q!>M ͝NDICT1.EW DICT2.EW ͭ:q!~%t y4tn .U"Y>2x!"x`"r!"x>2x2wr2t>@(8  "Y>2~s*YVr( B"t"r:*Y(5(1 (-[r*Y,Nr~w   ͹t"Y"Y* :t2 :t Y>2o22`2y*Y}*Y(: 2t! o"r>2o>:2>2`>2y^s!>2~s2t! ͔v> ͥt:~s<2~s( ~ʠrr"Y:tO %t tg:0vv|-ʙu[(! (!?6! (;dt](10+dt:02tSr __ |@u B"t"r>2~^ +>"2͹t~^̹t"YÃs> ͊!"" R}2 ! ͩv> ͥt2> 2>2~s2t*Y~ʠrʠrr: €s*r+ItÃsͧ> ç-}͠͠!  ͭ> 2!v~=O## > >$!!v! > s{####xS>*o%>@ &Z-"o" Ôsy: @y ">y*Y~ "Y(__( :wr: ">>2*Y~ʁvquʃs@u*Y[ru,Nr~    ͹t"Y:t2 ! ͔v> ͥtÃs: v*r+It>20vÃs20v@s:tʃs2ts1v!   ! qy87!1v  ͹t(N~~("Yv!\ vÙu"YÔs Press R to REPLACE with: $!\ vÙu"YÔs Press R to REPLACE with: $_BLCTTEDNRTLICGNMTTVZLKTSRSSMY9뀀+AAN IEIN LIA FUISSOEIO EONESOUANA ESISIMENII #)+/48<EGLMQdhkmy !"#$%&'(*-389;>AJMOSbdfhmqvz}*+" PROCESSING DOCUMENT. $͹!!.!M*[4!R"6!h ** PROOFING COMPLETE ** PRESS RETURN TO CONTINUE ** $ *J!M2!$͖!$~!*$!-$!!]*4!"!"Y!&"j! "#"$G(*Aگ[S- >@2`!!-"jW*w#"!Y5x> !$ +!$!-j!@.PCL D FILE NOT FOUND. a INSERT DICTIONARY DISK AND PRESS RETURN KEY. X ENTER NAME OF DOCUMENT TO BE PROOFED: *+}[(y#*w#+"$u!C[4  $!t bk6$!-̢AEIOUY####~22~G#:!2O*""2*ͭ|ʤï`ʐ{0aگ_ì &'ڧxo:`!-}2`! 8 (5*+"Ð.tG> t( ( (t*"$*y8+ һq*|r!*R(|(6|[6+".!"68{_A~@ __+Gl( + -l#".[Sx8*.~-xʽ *.R! [SSi!*+ʳ~+ S q>!N#x>*.+Y?! : G>n ##*v( (#v+(~ <: G22G! [ : G:Gʈښ@`ͧU`: "i!^"|(-**fn|(4>f|(n>; *ut>M *#"*ut>6 s0 {2 *~(Q^V,~ "s2 {0 ~ ~($~ ~(~((^Vx}$͘> ͧ> ͧ! >12x)>22x ~*Y8o:`!-(*y>-2`!>@ï *+"ýUU_M/ ;#U_(KʚSYj >2^@oÚ~~w@ĩSY#"x2 s> 2 +}(~2_w#~w #8Ñ82_w~^^,~@~~^(,~"YoU~0G#~ ͊> ͊ͺͥ*J$! "*"Z! [S2 s0 {2 ͉!m!">^2s2 {0 >2 " >2`! ">22͘:(<32(2x$!Ö!!(͖$!-(: ( ~2 l+++++++$f.   |g~o0 +(#~<(x2Z:~2=[P!> ʯ¯ ~+"Y2Xnf"o" _(&(!!0w#pU>2t>2t>@2*Y#~(, U!~_:8 "YW:t2X >2>_T|(U-,! W####F:V"> ͧ#~_w(@ >-ͧ+~#~ 5*H+~ͧ _O! oLyͧ~#Aͧ*>s`DICT1.EW H$u!t ;U'q*"4  R"J!""R"LR"͗ ͭ!@ͻͻ( Uʂ!~>+}*#"*k![R*k!!B! Z DOCUMENT TOO LARGE! DIVIDE FOR PROOFING.  tf|M>2z͂{ͻͻU! "m*"o" :p<[(2p2 >A2p2 :o<2oMʂ[ʂ2 0͢*o~~q[Y8+ůGO>{*FSY͵ 8+! N [Y2û8_( ͍SYÚ^l*mwwʂ[#8Ë*Hw#"H ( (*H^R"\"FPR *H^R"F> ͊> ͊> !^~~# 8 ͊ ( !^"H!"F(Uʂ*Y,V~"Y6 $!$ͯѷŽSY>*-̢S%8SY!!4 #4!!5~ #5# >!2 2"!" > > !C[r $'11d1 1}0ͧ> ͧ> ͧ巯R><0ͧ>#~+O ~ <!"Y> 2`!ͧ>A2ͥ>2>2R r*ZR>2q"!A> ͧ> ͧ> ͧ|:<2 !!(͖>2B WORD TOO LONG: G |> ͧ> ͧ*ͣ!r! ND LOADING DOCUMENT. x> _$ xs++pT] $++F#N# $A $_$Ad0.0 8,:g"! ERROR xx Returning to Cp/M $ $A! 6$ !!6#6#6!"Y*"[! 6$A |~^g!7ȿ͛ڐ!jG0Ґ> ØABCRHabcrh !7ȿ$!6>  H!$ > w#^**~!Ao~#fo$%(s#r|͉!m!:<2[ʜ!Ao~#fo$%É@r!Br!!#6#$! : w6# > w# v ‰ .ʡw# É7yʬ# § w# ® `_>22$ -!"\Y(u>22!"\CORRECT1.EW S:L > ͊:& 2& ͊*%%[RR:6H +oď +͍(U{ CY  S& r!S4!:] !\ >?!\$ !@6!N"A$ $_$6!@6!!M"AD PROOFING DOCUMENT. G8 (Ø^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G >22!"\CORRECT1.EW S:L > ͊:& 2& ͊*%%[RR:6H +oď +͍(U{ CY  S& r!S4!:] !\ >?!\$ !@6!N"A$ $_$63C1 21 03D2 LXI H,vdim 03C4 0C INR C ;Normal video? 03C5 0D DCR C 03C6 CA 0283 JZ STRING ; 03C9 21 03CF LXI H,vbrite ;Highlight everything else 03CC C3 0283 JMP STRING ; 03CF 02 1B 28 vbrite: DB 2,ESC,'(' ;Bright 03D2 02 1B 29 vdim: DB 2,ESC,')' ;Dim REPT 128-($-VIDATT) ;Allow total of 128 bytes for VIDATT DB 0 ENDM ; ;Normally the status line, text and directories are displayed in ;dim intensity so that bold and doublestruck text can be shown in ;high intensity. Setting BRITE to 0FFH reverses the usage of ;bright and dim for the status line, text and directories ;zero ;normally. ; 0441 00 BRITE:: DB 0 ;Don't reverse ;0FFH = normal text bright ; ;Delays are executed after various terminal functions, before ; the next character is sent to the terminal, to ; allow response time required by certain terminals ; when operating at a high baud rate. Set to a ; larger value if you suffer a loss of characters ; after a terminal function. ; ;Note that an additional delay FUNDLY is located near the ; function key table FUNTBL above. ; ;Each delay is approximately the number of milliseconds ; on a 4 MHz Z80 processor, about twice as long on ; a 2 MHz 8080 (in other words, divide delay values ; in half for a 2 MHz processor to achieve the same ; results). ; 0442 DELCUS:: 0442 00 DB 0 ;No delay after cursor positioning ;(if your terminal works better with ;5 milliseconds of delay, you would ;put a "5" here instead) 0443 DELMIS:: ;Miscellaneous screen delays 0443 00 DB 0 ;No delay 0444 DXOFF:: ;If XON/XOFF used for terminal, sometimes 0444 07D0 DW 2000 ;a legitimate ^S will be interpreted as an ;XOFF character. DXOFF is used to time out ;so that the terminal will continue. 0446 DLONG:: ;Long delays (like at sign-on) 0446 07D0 DW 2000 ;2 seconds = 2,000 milliseconds ;(1000 if 8080) 0448 DMED:: ;Medium delays (like at P, O, or K menus) 0448 03E8 DW 1000 ;1 second = 1,000 milliseconds ;(500 if 8080) 044A DSHORT:: ;Short delays (like before help menus) 044A 00C8 DW 200 ;200 milliseconds (100 if 8080) 044C UPDLY:: ;Position update delay 044C 00C8 DW 200 ;200 milliseconds (100 if 8080) 044E DDISK:: ;Disk access delay. If character typed 044E 01F4 DW 500 ;during disk access, wait this duration for ;more characters. 500 milliseconds 0450 DFAST:: ;Delay when typing fast. Holds off displaying 0450 0032 DW 50 ;the rest of the line briefly ; ;Optional user-supplied console I/O subroutines. You may ; patch JMP's here to your own console input, console ; output, and console status subroutines, in which ; case these routines, instead of the operating ; system BIOS entry points, will be used for all ; console I/O. These subroutines may alter all registers. ; ;Use of a custom subroutine accessed here is suggested, ; for example, to drive a video board that cannot be ; driven via output to the operating system. ; 0452 UCNSTA:: ;User console status subroutine. 0452 00 NOP ;Normally NOP, or JMP to your own 0453 00 NOP ;subroutine. Must return 0 in A if 0454 C9 RET ;no character ready, 0FFH if one is ;ready. 0455 UCONI:: ;User console input subroutine. 0455 00 NOP ;Normally NOP, or JMP to your own 0456 00 NOP ;subroutine. Must return the 0457 C9 RET ;character in A. May be called ;before a character is ready. If ;no character is ready, routine ;must wait until a character is ;available. 0458 UCONO:: ;User console output subroutine. 0458 00 NOP ;Normally NOP, or JMP to your own 0459 00 NOP ;subroutine. Subroutine receives 045A C9 RET ;the character in A, video attributes in ;B, and current cursor address in HL. ; ;This is 128 bytes set aside for anything that the user wishes to use. ;If more than 128 bytes are required, it is necessary to put them after ;the main WordStar code which can be determined by looking at the ;contents of BGNMEM to see where it is. After using as much space as ;necessary, change BGNMEM to the new beginning of free memory. ; 045B MORPAT:: 045B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 045F 0000 0000 0463 0000 0000 0467 0000 0000 046B 0000 0000 046F 0000 0000 0473 0000 0000 0477 0000 0000 047B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 047F 0000 0000 0483 0000 0000 0487 0000 0000 048B 0000 0000 048F 0000 0000 0493 0000 0000 0497 0000 0000 049B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 049F 0000 0000 04A3 0000 0000 04A7 0000 0000 04AB 0000 0000 04AF 0000 0000 04B3 0000 0000 04B7 0000 0000 04BB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04BF 0000 0000 04C3 0000 0000 04C7 0000 0000 04CB 0000 0000 04CF 0000 0000 04D3 0000 0000 04D7 0000 0000 ; ;CRTPAT is a patch area that may be used by WordStar's installation ;program. ; 04DB CRTPAT:: 04DB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04DF 0000 0000 04E3 0000 0000 04E7 0000 0000 04EB 0000 0000 04EF 0000 0000 04F3 0000 0000 04F7 0000 0000 04FB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 04FF 0000 0000 0503 0000 0000 0507 0000 0000 050B 0000 0000 050F 0000 0000 0513 0000 0000 0517 0000 0000 051B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 051F 0000 0000 0523 0000 0000 0527 0000 0000 052B 0000 0000 052F 0000 0000 0533 0000 0000 0537 0000 0000 053B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 053F 0000 0000 0543 0000 0000 0547 0000 0000 054B 0000 0000 054F 0000 0000 0553 0000 0000 0557 0000 0000 ; ;The following string is used to describe the name of the default ;printer used by WordStar. Up to 40 bytes are provided for the ;string, including its null terminator. ; 055B PRNID:: 055B 44 72 61 66 DB 'Draft Printer',CR,LF,0 ;Printer name 055F 74 20 50 72 0563 69 6E 74 65 0567 72 0D 0A 00 056B 20 20 20 20 DB ' ' ;Additional room 056F 20 20 20 20 0573 20 20 20 20 0577 20 20 20 20 057B 20 20 20 20 057F 20 20 20 20 ; ;WordStar uses a default printer driver if none is specified by the ;user. The following is its name. It may be up to six characters long, ;null terminated. ; 0583 DEFPRN:: 0583 44 52 41 46 DB 'DRAFT',0 ;Standard driver 0587 54 00 0589 20 DB ' ' ;One extra char ; ;The print delay timer is used to time how long the printer is busy ;before telli_ !).^5^99&9_CCaBCADA͛caRoNcaROOΛCAכCHETCHI)CHIsMCHϛCK)&CKINAכcRaĆ5>>>>>dA͆dCAЛDEIRdHddMADONNDDRdRiG_nj--gaZINGGEnTgGOԛGiCIAΛgIsTgMgNgNANIgNeSIgNEԍ-GNETϛgNi gNIfICENgNIfICENgNiTUgNoLIgNU͛gP HOgA_IĨ(5(IlBAǛIlBO&IlIlMAI͇ IΆ5InFRAInLANInLINInSTREAIn#InTAI·jJ2JOLIC!).KeFASԛKeSHIFKeULl LlA lA lAdJUSlaMUTlAPROЛLA LArIleMUTLEvOLENLEvOLENlFORLIG΄ 5LIlLARělLEԛLLOכlNuTlPRAc LԧlTR_>>MmMmMamMOTțΆ+5-n5nN NN>5>nAcnA! )ndnDaRIΛnDiBnDoLIΛnDRNDRAKNEGNEuVN熉 ,, 5ng NnGnGROnHOnHOOěnHUNԛNINiAÂniCUnIFniFOLěniKIΛNILNIlLNIpu5nKINnNnNeQUInNISnPOnSLAUGhNTntnTRAЛnU5nuFAcTU)NU) NuSCRIPԛ>>> >pMAK_2> >>>rATHOrbRC;)rCHeSrGI΢riGOLěriJUaNriRiNriNADRˇ).RkDOWrKE!rKEtPLARKsRKsMARkUЛROO·rQU&rQU rRIAG!rROכRSȂ&rԈ rTIAΛrTIΌ rTiNEԛrTYқrTYrDOrVRYLANrZiPAΛsCARsCOԛsCuLI2S&) Sˇ)SO·SOn SQUsQUErASSACHUSEsSaCsSA)sSEUsSEUSSISԧsT5SsTErMINsTErPIECStHEAěsTISTOIěԆTT 445T t.>T>>taDTC&5TChSTICTErTThemTheMaTiCIAΛtI΂T TRiArCTRIc5tRiMo TRI&TRO΂5TTOC˛tTTU5_U)UdLIuSoLEUvErIC˛VIΛכWkISxI͂xiMU͛yyHE͛yPOyVIΛZ_,,^,, ^^&,,,_a; AěAdOaAlTIMAΩ..5.5An AnTIMAnW aSU7)AtBCHA--D1d"5"$d Dd2D5d> DiDiADiA5dIcAIdiCADICIDieVDiOCDiU͛_Eˉ5Eԉ.GaTOΛGawGIlLA_lAnCHLANGLħlLOׇ5LO  LoDRalOΛL!)LTO_m " mBmBErSHImBRANMEnTMϛmOIқmoRAnDUN 5nAㆮNħNoRAțNsWEAn25nTHON՛Oׇ_R5Rr>5>r  5rCHrCHAn rCu R rGENRIdIAΛRINGUrMAIěSsDAS& ShWOR˛sQUsSAGsSEnGsSiAțSSIEUSST44455T99TT T>TTAb5tAPHThaDOThAThaNTHOĭ-ThOdOlOTIc5t tRϛtRoPOliTA_ׇxiCAΛXICZuZZuZAțzZϛߞ^)^^).^ !!5^5^&  _AsMAsMaT__CCHIGACRCRoCRoCOmPUTCRoFICCRoFILCROΛCRoPHOCRoSCOCRoWA_Č> d> >DAIdDAdDLeMAdFIELDGDgEԛdLANědMOSdNIGHԛdNOOΛdPOINԛdRANGdRIdSHIЛDSdSU>dTER͛dTOWΛddWAdWEEdWEStERΩdWIdYEAқ__  _GH,,,GRGrGRAIN____K_Lĩ5lDEׇLeAGLePOSԛLeSTOliAliArILIE՛LIEULIMEliTALiTILˇ),, LkLkMAIěLkMALKSOЛLKWlLEԛLLIGRAlLiMe lLiNlLIOnAIlLIONT_)--mEoGRAPmIC뇮mIc _N" N1 N2N Nħ 5ng niaTUNiBIKNiBU&NiCAқNiCOmPUni͂NiMA&niMUNNNESOTnNOכNORCnSTRNԇ ,,NtAGNUnUEԛNU5 NuTIN&NxIS____҆R>rACRAcU55RAGRTȫ_SACԇSASADAPԇsAdVEnTUSAI͇saLIGsA>sApPRe;sApPRoP %SASSAsBeHAsBeLIEsCAlC5sCA>sCArRIAsCElLasCHIEƛsCHIesCOnCEpTsCOnSTRSCO  sCOUNԛSCSCUԛSdsdsDEALsDeMEAsDiRECsD)SDOSDRAכSDRAWSDRESEVENԛsf sFSFIELěsFISFOR͇sFOrTUsgSGAUSGASGOVERSGRESGROכSGROWSGsGUIsHAЛsHEAқsHEARShMASSINFsInFOR͇sInTErPREsJUDSKEEЛSKEPsLA sLAISLAIsLEAĮSLEARSmsMAnAsNAsNoMSOgYSSPLAsPLAsPRINԧsPRoNOUNsQUOsREAěsREpReSENsRusSHAsSIOnA,SSISSISSORԇSSOUNěSSOUsSP.SSPASSPEA˛SSPELsSPENěsSPENSSPO놈sS sSTEЛSԇ ,,,sTA(5 STAUGHSTEACSTENćSTER͇STHIN˛STHRESTHROכSTHROWsTIsTLeTsTOOSTOUCsT STRAsTRUSsu sUnDErSTANĮsUnDErSTOOSUSASVALSWORć_T >>To TTzVAț____!&)xTURO_6^ )^(((5^ ) ^5^^& ,,6_A·b  2b 5 >BBISbSTcCaSIΛCHC),)Dd)5D 5DdERΉ45diCU͛dI  )  dIS5duduLA_GUHAIқHA_iIsTURL;LAқL!,,.leCULEcuLALeH LESKIΛlLi  LLUSÛlLUS˛Lԧ_͛MEnTMEnTA 5MEnTU͛mMN& nNN2 NAĂnARCȝnAst,nDneTAnEyBAǛnGNGOOnGRNnKNNkISNnOcNOgA NoGRANoLITțNoLOǛNoLOGNOpo NoRA NOTO nSIEUnSOOΛnSTnSTnSTR2nTANTANNT5 5nUχOC& O,,,O·556OnBEA͛OnISOnLIGHԮOԉІ  >PISpPEԛ_R012 24444RR; RARAraToRiUrBI25rReORGUriBUNRή.Ro5 2ROCCϛROέRPHINRRrROכrT25rT rTAқRtGA&rTi  rTuA,SAsLE͛SQUsQUiTsSS5TT5tTT5T14444t> TTH5T蛝ThBThErHOOThPROOTIƛTOrCATOrCAқTOrCyCTOrTOrMATOrWAtT_ULĉUL UNěUN! .UnTAIΛUnTAInSIDUnTAInTOUR·)U&,USeTRAUTȇ +,, UThPIEv!V!!57),,ׇ)W_^ .;;_CCiLACˇ CkRAě> >>>>dGUARě_f> fFIΛǛ>> g>5>>>_LATTlb> >LC&lIS5L  lTiMeDIlTip  LTIPLELTIRA lTiTU_>> > > >mb mMi NCnDANIciP2_RRrD&&)Rˉ,,,rMU҇ RRAIΛsCscsCuLASESeU͛S& ,,,ShROO͛SiCIAΛs sKEԛsKEtSkRSLIΛsԉ sTANsTARTtT5t 5T>)Ti tTOΛTU5_z> NOOPIrIAěRTSELst, :5sTsTi  sTIQUTȭ-TH  ^^24445›>DI҂Ǜ >IAěIVeK5M55퇩)MeMeSAKN> >І>pKIΛPoLEOΛr>rCOrROׇ5SCEnSCENst5sT2TT2 245tt502> > > 5>TIOnWItu45u;%%%UGh 5uSEu uTiLV vivigZ_(((5^ ,,^ ^_A҇5ArArSIGHBRASKb5bULBULAc; cEsSA,CˇCkLACCkLINCkT cTAқ_g5GLECԧgLiGgLiGENgLiGiGot GRGROI_IGȇIGhB5IGhBOrHOOěiT_&; OΛPhEכ_R 5Sԇ st S56>>t> tWORˇ_uR5uR; uROuTuTR2445uTROΛVADvErT5ש5W,,wBORΛwCOMwFOUNwISwLyWWsBOWsCASԩWsLE>WsWsMAWsPaPWsPaPErMAWsPRINWsRWsROO͛WsSTANWsWOrTWԛXxU&b> C5㩪Ce CCCK&5C뇩)))55CkNAcoTINECf g> gGARěGH,,5GHtCAЛGHtCLUGHtGHtGOWGHtMAGHtTIh 011mbmBU> >NeFOLNePIΛNeNeTEENTNeTiETNTțЛ > > > 5>>>>rVaN  TTRi  TRoGtW_^ 555,,,^<^&,,,,_A 2b> > b> >BLeBLeMABO,cTUR΂cĢ> >du_GGIΛ__MAĭMEnCLaTUmI5ΆN;nCnCO>>nCOnFORnDeSCRIPNeSUCNeT5nExIsTENnInTErVEnnMet5nPArTiSAnPLUnPRONSCHEDnSTONSUGAnuNNURBAnViOLENnWNZERo oDO˛OOnDOnTIDONTIM_r͂245rMAlRT)5RThEASRThEAStERRTHEASTWARRThER)RThERnMOSRThW)5RThWEStERrWeGIASeGAsTR sTRU͛ttt! Ta TC& TeBOOTePaTETATHTi  ToRiE_uGUGHԛUΛUrIS&V&-VvElVEMכWwaDW ,Z>^ ;^b 2CLeACLeUD5䩪D)gGEԛlLi m"%%%--M‰ 5 mSKUΛ> pT r), )rTU 6>> > >>tHtMEǛTr TRiENԛtSHz>LOΛMPȂ ƛfIS5ˈ҇RLOC˛RsRsMAtCAKTțtM_ ;^ ^ ^^)%,^&__eDiENeDiEN5eLIS˛_ItuAJECԇ!529LIgLI)LIQULONǛ_NO,_Sc2SCu򆉊SeQSER)SoLESTaCSTiSTiNaSTRUCԇTAI!)TR;TRU Tu5_V v V 5VERԛCA;"5CULԉ5Cu  CUқ>CUrRENeAέEAnOgRaPeLOԛHTaGOΛTANTAVTETOToToPU&UULA ^$44445^; dBiUOmETDi^^ .^ ^ 5%fBfCASԛFENCFENħ)fHANFICeHOLFiCiAfSEԛfSfSHOOԛfSIfSPfSTATTEnTItTI RReISI),, , ;;lCAΛlCLOTțlMAlSKIΛN˛NTALAHOMRĨD,eAnDEϛ^ ^>> ELEԛIIsSiNNiBU COeSELETIGLOOKRUSSESSISLAUGHSTATTOlOWARěY, ^!).5^!!$^  ^ Ac AlIAQU5ERErEtTI/%/iUPo PoNENԛPOrTU PR&TTTiCIAΛTi킐TiMU͛U&ULENULEN5^ ACAcuLAAN&ANgISBCHARěCHEsTCHEsTRCHIěDD)5 5 5DAI· DiDiNA,DNEgANϛEGO GA΍-01GAs͍GAsiENԂIF Igi΂25iOLEAN5 NAPHATHoDOM; PRTEnSiTRaTRIC& HhEr __C_GH__NC_қrSELrSELSԧ)ԩ.t5tT;t;tAtBACtBI>tBLUtBOARětBOUNtBREAtBURSԛtCASԛtCLA&tCOMtC ttDItD tDOtErMOStFtFIELětFO&tGTGOtGREtGRO׮tGROWtGROWTtGU&ttLAtLANětLANdIStLASԧtLAׇtLEԛtLItLOO˛tMARCtMATCtMOtMOStNUmtPLAtPOSԛtPUԛ>>tRAtRANˇtREACtRIGHtRUΛtSCtSEtSI)tSKIRԛtSMARtSOLtSPENětSPENtSPotSTtSTANtSTRETCȇtW>>tWAR5_^^^ ""^ &^5^ ; ^ ;^ >_a ARIA_EraBUnErACErBErBEAҮErBIě>ERBLOErBLOWErBOARErBOUGHERBERBErBUrErCAErCASErCHARErCOErCOERCOOˇERCROЛErDRAכErDRAWErDREErDEREErEmPH; Er ErFLEErFLOׇErFLOWErGROWErHErHAN箛ERHARErHAUErHEAěErHEAҮErHEARErHUNErJErK ErLAErLAIErLAIErLANěErLAЛ>ErLOAħErLONErLOOˇErLORćERLOUERMAΛERMEEErMUCErNIGHErPErPOwErRAERRICErRIErRIErROErRuErRUΛ>ErSAErSEErSHOԛErSIGHԛErSOLErSTErSTEЛErSU>ERErTAErTHROWErTIERTIErTONErTOOErTURErTUR·ErVIEErWHEL͇.5ErWORˇErWROUGH__OIĂ__u5ULE·)nErSHIIId TA YGsTO_ +^!!)%55^!&&)7_)CI  -C!).CkA)CkEԛCԛě>> >d> >dDOC˛dLOCˇDR_eAΛG燮GAΰ0444GAnISgEANtgiGoD_II·+55INsTAINԧ) .I҇JaM%!LL  lAClETLFRliSAlISlLEԛL͇16lplT _mP mPHLEԛNN&1n+ ; ;> >nACEnACeAnCAnCReAND nDnDEMNǛnIC뇮noRaMNԧ,,nTHnTHeOΛnT NtSUnЂP)PPa PaYPErBACPErBOPErWEIGHPErWORPIStPRiKPyRU&_R!R"5r 2 2RR5 R5R5> > >>ra;RAbOLrACHUTra RaGRAPțrAKEEԛraLYraMOUNraMOUқRaNOIRaNOIěrAPEԛRaPRo;RaSOrBO rCRC&RdNrDO! RERENԂREnT;rENtHOOrFARiAțRIS&/RˇrKRkLANRkWArLArLIaMEnTaRo&&rO  rOxYS͛rROԇ RsNIЛrSOΛRԧrt5rT R.5rTArTICirTIcuLA5rTiSAΛRtNRtNErSHIrTOORtWssSAsSAGeWSsBOO˛sSEnGSsErSsERsSsSsPORԛSsWORěSԆ,,sTSsTSTeBOARsTEU4sTICHsTIMsT sTRaMsTROMsTU Ԇ;>T>)> >>TC& ,,TChWORTEN5TEr5T5THETHThWATIENCTIENԉ5TiNTIϛTRiARCȝTRiOԍTRO5TROlMATRO΢4tTER·_uU u)V Vׇ W·)yCHEC˛yDAyLOAěyMAsyOyR_^! ^ &5_A$AC!+5AACeMAACeTIAC&,,aCOC˛AˇAKISaNUԛAҕ,,b>CAΛCˇ cTCTIΛCuCuLIA25DDD*D,d> dANtDEsTRiAΛdiCURdIGRdLAқ_EˇEЇEpHOErAEeVIS>gBOARě_liCAΛlLEԢlLuCILԧ l &_N4445# N5N>>> > 5>nAl nC NnDuLAnDuLU͛nETrnGUIΛniCIlLInInSuLnITENԛnITEnTIanKnKNInLIGHԛnnMAnMAnSHINNSYLVANINnTaCnTaGOΛNtnU O OnAGopP> > > >>pSIΛp_> R,5R;rc!rCEN rCENtArCEprCEpTRC&rCo5rC;rfrFECԇ5RFI RFORrFOR)rFU rHARIGRImERiOĭ--5-RIP)rIS!&rJU) Rˇ,,,RKISr!%%% ; ;>>rMaNEN㆝rMaNEN5rMIsSirMUr rOxIrPEnDIcuLArPEtU5rPLE&2rSeCUrSev#RSIrSIsTEN㆝rSIsTENrSO!"2 "2"4"5">rSoNrSPEcrSPIrSUarSUAR5rTAI·rTiNENrTUR‡Ru")rv rV;rVA rVERԧs SsSi퐑SsT stSsTiCITT>t>5>>TCOC˛tRi tROTRoLeUtTISt5TUNI_כwT ^-5aALLUAnTO͛ArMa ARArYN&ASeOUԛEeNO(eNOmENeNOmeNOILIILIPPIILOSOP -ILLEGooBIOeNIO  5oNEoNoGRAPOTOTϛoToCO oToELEcToTOGRAPȇ oToSRaYLYLUySiCIAΛ_ ^._ANANϛAzZCcAYUNcCoLϛCˇ),,.5555CkA؆&CkEԧ)CkLOC˛CkOCkUЛcNcNIC뇮c cTUcTUrESQ_E ECeeCRUSԛER E Ƿ77> ,> >GEOΛgGISgGyBACgHEAgLEԛg gPgSKIΛgS _)KeKeMALAsTLeUЛlF)lGRI͛lGRImAlLA)lLAқLlBO&lLOכLOԧ_MЇmp MΆ>NC&)NeA>NeCONNeSANeWOOěN˸NkISnNacNONOCH5nPOINԛnPRIC˛NԛnUЛnWHONP+56)PeAGPeLIN_QrRa RaNHsTOsTOΛ 5>>>>TC&)t_vOԢ , xIeISZAzZzZeRI_).^+.>> ^^!!#$5)_A!)ac)AAcARěACCARaCeBϛaCEnTACIaGIaAG)AIħAIΩ5AInAInTIAΆ5>> >AnEԛAneTAAneTArIUAnISANˮ.ANkTOANTAIAQUASAsMAs AsTIěaTEA՛AtFOR͛AtiNU͛AtiTUaTOaTOOΛATyPU&AuSiAyBAyGROUNěAyMAyPAyROOAyTIAyWRIGHaZ_EEA$5 EAħ)EAsANtEaSU!EeBeIAΛEbISED熇eNaEn _IGHԇ_Oě>>> >O5>>> >OUGȇ OVOׇ__U;UCˇUǛ>> >U͆UmAUM‡)UMeLEԛUmMEԧUMЇ()UnDUN熇uR4US5yWOOě_^ ^5 ^ ^^5 --5 ^)^5^^5^;;&_AC&)CkEԧCkEtBOOCkMARˇěDiATDiU͛_E͛E&&&-EtGRO_iGINԧ),,5iSO·)K뇩),,LA2 2LArLAROILeA&LeCLEMLeSTAқLICeLICeMAliCyHOLLIlIS&liTiCIAΛliTIC˛LItIClKlLiWOǛLlSTlLU􄆧lLyWOǛLLyGLOԛLYgYLyMLyUnSAtu_Mк nCHnĉ NdWniARnTINyTA OOC&OlROO͛OOrISІ)>> > >>pCORpIS5pupuLApuLA24_rCeLAIRC&RR5RtFoLIRtHOrTRSȩsSi 2  2SԂ" 2).sTAStBOStCARStStDOcsTERΛStGRAd%StHuStMAStMARStMAsStMOrTEStPONStSCRIPsTUStWA+>> >>TAGTaTtB TEn TEN 5tHotHOO˛tLUCtP tPOU>tSHOԛ_UC&UlTUNUNħUҮvErW+55wD&^^&)^^^-^^ 5 ^ 9%%&&& 2 2^  5^5),^5^^)^^).5_a A Act25AcAgmAiR AISeWOrT ANANkISAtFAW____EAC臩,EADULeAmEBO ec&eceC 5eCA,eCASԮeCAuTeCeDENeCeDENeCEPECHECˇeCINCԛeCIpeCLU䆧eCOneCOOˇeCU;eDe;eDEsTieDeTErMIeDIceDICeDIsPoeDOmi5eEMPԧeFEF!!>eFAb EfA)eFECԛEfErENEfErEn eFI&eFLIGHEgeHEEJud eJUDeLImiNAeLU)e2eM Em eMaTUeMiU͛eMoeOcCu EЛ> > >ePAePAIEPA)EpO;ePOn #ePUNC&eREq ;eRO%eSA)eSCRIↇeSCRIpEsENESEN5ESEReSEԛ>eSI)EsIDEnEsIDEN eSOAˇESsROOESsRUEsSU4EsTI EsTeSU!!)eSUMpE> > > > > 5>>eTENħeTEn eTEXԛEtZeV 5eVA EvALENEvALENeVENeVIEׇeVUeWAEWAS____ICˇ),,IIǛ>>IgGISI͂).25>>>iMiMaiMA ,iMeImROINC5InCi25IN!)INtOUԛIsMOIěIsOΩ)iVa IvILEIZeFIGH______5Ob 2obO)ObLE%-oC.oC&oCeDUoCLAI͇OcLaoCRAsTinOcOCU)Oě>>> >OdI oDU)ODUCԏ2oF&""5"of  OF! oFA)2oFEsSOrSHIoFiCIEnoFiCIENoFOUNĉ5oFuOg OgNo OgNOsOGR&oGRAoGRA͇>>> >oHIBoJECԇ oLI)%oLI5oLOǛoLOGUoLONLJOOm,&&)OOmINENOmINENoMIsC2oMO)OMPԧ)5ON5ONoNOUoNOUNoNUn %OOƮOOfREAĩOoP55opOP5OOpagoPaGAnoPaGAnDOpEr OPh&  OPhE OPHEԭOpOpMAOPo")oPoNENoPOrT%oPOUNćoPRieoPRieTAoP;oS᭰01OseCU􆏙OsP2OSPECԇoSPEcTOsTOToTECԇoTeoTEIΛoToCOoTOέoToTYoTRACԧoTRUOUĩ5O!!)oV ;OOVAOVER oVI)OvIDENoVIN oViSOvooVO oVOSԛOOW&OW)OO,OxI2______U),)uDENCuDENUdISU)AL͍1EuDyC yCHiAT򍑝yCHϛ; yCHoAnaLYyCHOLO yCHoPAToMAIN_^;^^&,_ B525BErbLiCAΛbLIS&)CCK D>d> DgD_fFIΛ_LiCIDlLEԛLLMALlOVlЂ lSAқl 4_mM>5MMЇ)MpKIΛ  >NC&),,NcT"5%%%NcTUnDnDItnGEnnGENnIS!&)N˛nSTNԧ) > >>pPEԛpPEt _R5Rr r)rCHa)R).Ri  ) RiTAΛrLOI·rprPLISrPo5rPORԧrS)S&,,ShOVShPIΛShUЛSSyCT> > >>>tOUԛTRe  TRI5_z> g LOΛraMIěrR THO΍_ ^ ^^5^ 5^)^^ !^ ^>>> >^) ^>>> > >_A ;ACˇ)ACkISAěAd A)AgMIRAINԩ5A) AlI   AL͛AnDa AnTAnTi  AnTUAR> >>ArAnTIAR˛Arԉ 5 ArTErBACArTEԛARTaSAқAS&aTRAIΛaV AySIDDRU_Ea  EaEErISENC&)EsTIOnNAIE)_Ib> ICHIC˨(((,,5ICkSEiEԇ5ieTUDILԧ).INCiNINInTEԛIЛ>IpSTIR,IxO_oRU͛O oTOToTIENԛ_ .5 ,5 ^^ )^5_ >> B>)b>bBIBI5)c501cCOOΛCeMCeTRACCeWACˇCkEԛCOOΛcQUEԛd"5"###$5$d dD-DAқDIχDIoAct2DIoDIoMAdIS&DiU&DiU͛_f> Fԇ FTsFTsMAdž>>>_I)IlHEAěIlROAħIlWAI·,, InBIRěInBOכInCOInDROЛInFInMAInPROOInSTORInInWAS&InWEAiSIΛ)kIS5l5L51LP_͛>mb mI  mЄmPA mPARԛmSHAC5N)nCNC& nCInDO5Ndž)Nˇ)55NKISnSACˇNԧ)І) )1>> >PA2PI25pINpPORPpTUR_R52 2ReBrE  rI sC5S&5SЇ) Sp >SPISԆ!).T446>>> > > >t> >TChEԛTtI  TIϛtTAtTLeTRAtTRAЛ_uUnC VV&).55vV).VvA)vIvIO5vIS&).5שwBOwHIyO)&011 2 2444445^5 ^ 52^! 2!!#^-^!^^)^)_;AbSOR›AcACCENԛACCEPԛACCUAC&)ACԄAcTIOnAA!),,.AdErSHIAdJUSAdMADOPԇADOR·AfFIRALIG·ALLOԛALAlANNEANOINAЩ> > >ApPEAApPOINA҇ ARGAR͇ArRAN熇ASCENěaSO!!ASSA AsSEmAsSERԛAsSIGASSUAsSU#AtTACATTACATTAIΛAVOׇAWA(AWO_BB5 55B BABIBINĎBIRTBLOO͇BO BOARćBOUNBUBUILćBUILBUBU BU>_Cc!)CccCACApTUCASԮCEIPCEN5CEpCEpTaCHANCHARCHARԇCHECˇCHCHOcIPCIpIENCIPRO2CIRC5CkO·CLACLAI͇CLACLASЇCLEA·CLICLOTC CODICOgCOgn!cOlLEcԏCOM>cOmMENcOmcOnc ,%COnCOnFIrCOnN ;COnSICOnSTRUcԏCOOˇCO  CORħ).COUCOVCPcR%CRImiCRCtAnGCtAnGuLAcTiCUmBENCup CU>CUrRENCUrRENCU>_ědCdDISDEE!DEFDeFIDEMpDePLODeSIG·DeVElODI DIsTRIbUDIsTRICDDDRAכDRAWDREdSKIΛDU)DUcDUndWOOě_EduEƛEˇELECԧEmEMBAR˛EMBO  EMEREmPH;EmPLOEnACԧEnTEnTERECԇEsTAbLISEVOExAmI%EXEXPORԛ_F>*fErENCfErEnDUFI),)FLECԇFLE&FOR͇)FOUNćFFRAIFRESȇ7FRIg)FROFU&FufUGFUNFUrBISFU!_)%G,GG1GAI·GARħ5GATHGIgIsTGREԫ>>GREGRINěGROUЇgu5guLA245_ 2HHANLJHAS&HEArHI_IGImBUr!ImPoIΛINcINDUINDUCԇINFECԇInFORㆇINFOR͇InSERԛInSIn INVOIsS_JEC&)9Jo)JOI_KInD_LALAp LaTIOnSHIЛLAUNCLA%& LEa)LEAR·LENԧ555LEleLIELIELi LInQUISlISLOAħLOA·LUc5_m M>MA MAMAI·MAInDMAMAЛMA> > >MAR!!MEmBMENćMERMINħ)miNISmiNIsCENmiNIsCENMItTENMImNMO&MODI  MOLćMOMOUNԧMO!Mun _N ;NAn nDEzNENeGot%NE!NOmiNOUNnovNOWNԢNUn %_OCCUOOrDORDAI·OrGan_p'55p  PPAIPAI҇PAIrMAPAPElLENPEnPErC;pErTOIPEt PHRaPLAPLA!PLEDpLiCPLUNPo2;PORԧ)POU҇PRP ;pReSENPRIEpRiMANPRINԧPROACPRoDUㆇPRoDUcPROpT PuPUB5PUbLiCAΛPU_QUq ;QUI7_REAĮReCORěRU_SCINSCRIPsCSEARCȩ)SEmbSENԧSER sErVOIқSEԛ >>SHA)SHU>SI)sIDENsIDEN SID"SIdUUSIG)soLU5SOL)soSORԧ)SOUNħSOURCSOׇSOWSpSPEC 2!+55sPiSPLEnDENSPOnSPONħSPOnDENSPOnSi 2  2SPONSIBILSԇ)ST55St)SSTACˇSTAsTAuRsTiTuSTOCˇSTRSTRAI·STRAINԛSTRICԇSTRUCSTRUNSUbMSULԄSU SUMMOSUMpSURSUrGEN_t,TTA )TAI·TARħ)TASTAUGHTCTEAC&TEnTHIN˛THOUGHtICENtICENtiNtINTITOLTORԉ TOUC&TTRATRACԇtRiBuTRIE!tRoAcTUR&&)_u!U UNi  _V)v&55 5v,;v )v )224v")VAMЇ vEl VEN)veNUVERENvErENěvErENVErI VERsIVERԧVIEׇ)VO)VOLԧ)voLuT44voLuTIOnA,VOL)VU_WARħ)WEAWINć WIWORWOUNWOWr)>WRO_ZOEuOOmOmBOIěOmBU&YYTh͍_^_›>> >bALbALd bBOΛ)C(((5CHARCCkECCOtT!)>>>>d> DDICu_f f> FFRAFLeFLeMAFԛ99>> >>gaToNGH5GI2__͆ 5 >n.NħNLJ)6NgLEANgLENgNEC˛NgSIDNgWOR͛N˛Oԧ)P5P)𩪛>> >p>POSTpTID_SˇsQTtU5T,,_V)VAl vErBvErBANvEԧ)VIERvULEԛ_^ ^ ^^ ^%,,,,^"01_AC&A5AdBAdSIDAdSTAdWAAdWORA͇)A҇).ASԧ)†B>,>bIΛBO4444BUSԉ5Cˇ,,,6CkEԧCkEtCkFCkFISCkWCoCĆ6DENԛDEϛ_G),)GuIS_LlBAC˛LLICLlOV_m)MMAINMAMЇ)OƇ).56OfTOЛOˇ),)Oͫ,>OSԧ)Oԧ 56OtLEԛ)_SeBUěSeBUS&SETSeWOOěsI·sTsTRUt>> >Ta TUN5TUnD_UUGȇ((()5>UGhAGUGhNECUNħ5UNdaBOUUNdISUNdUЛU)USԧ)UԆ)uTIN5VVׇ)wBOwdwD0wDyISwLOC˛yAl _+5^)^_ >>b>bBISbDOWΛBElLBiCUNBRC˛CkSAC˛CkU&D5䉪 7>> > >DiMEnTa_f> fFiAΛǛ>>5g_I·)_M>> >> > > >mbMimMA)mmPΛ>> >>>naWNǛnON nWApTU_R125S&).sSEԛSSIsSIAΛsSi S,,,  st STaBaGT5_ !).9^&,,^._BBB>-bBATboTAbOTEUқB6cCUcCuLACHEԇCˇ)+.C5 CRAMENTcRif cRiLE CRUĐ5D>>>d> _F5橪FaRFeGUARFeKEEFe fFROΛG5盝>GGAc GUAR_IěIlBOIlFISINԧ5INtDOIT l!L!!l3lAěLaMlA  LeROO͛LEsCLERLEsLEsMALEsMAnSHILEsROOLEsWOmALIEn LIENԛLI 2LiVliVAlLOשLmOΛLOΛLOOΛlSiLԄ),,,lTERΛlululuTAL lVA)lV_MmBmp N5nNc NcTi  NcTuANcTU͛NĂ),,55NdBAǛNdBAN˛NdBAқNdBO&NdLOԛNdP NdPaNdSOAЛNdSTONdWIC&NdWOR͛NdWORԛNnGUINniTANNT (555>> > >  >>PiENPiENpPHIRpWOO_RARaPrCAS͛rDINrDOS&SHASHiT55tt TA01TCH&tIΛTI-tIs  tIsFAc 5turtUrDATURTYҭ_U ,,,UCeBO&UCePAΛuNUnTuSAGuuTERN!),,.V), ,vA5 VAnNVAnNAțvIOUқVVOUқׇ)6wDUSwM WwTOOT_  > >  >>^),55^,,5^>>> > > ^),)^%^ ;^)_aBAfFOLĮaLAқAlaWAǛALħAlLOЇAL)AmЉ AΛ>> >>AnD4AAPeGAҡ!&),,5>AR5 ARƛArLEԛARATAvEN_eNArIϛENԧEpTEPTHHEduHE)HeMHeMaTHIZϛHIzOIěHLEHLOC˛HMALHNOO˛HOlA5HOlArSHIHoLAsHOOHOOlBHOOlBOOHOOlHOOlMAsHOOlROOHOOlTEACHOOlWORHOOLYARHOoNHTIC˛HHW_iAtICiENCiEnTiEnTIF5ImiTAқ_O)OLħ.ONOOЇ)+OOԧ)OORCȇOR·)OOTC&OTLANOUnDOU҇).OUR)OUԧ)OOW)_r>R)RARAmbRAІ.>> > > >RApBOORATC&,,,RAW)RAw REA͇)REEC& REׇ),,REwDRI)>>>>RI͛RImMARIMЇRIPԧRORORoTU͛RU›>> > > >>RU,,RU͛RUMp RUNC&RuRuP5RuTi _5 uBU>ULPԇULpTUUU> >>UrU>UtTLeBUYT_^),))^^).^! ^),,,556   ^)^)^_aBAǛaBIRěaBOARěaBORaCRAFaFA)aFOOaGAlSKIΛA͇),,56aMA5AmSTaPLANaPORԛA҇ARC&)ARChLIGHaSCAPaSaSICaSIDaSO΢)aaWARě;c)CL;CLUCONħ)5cONdA 5cONdHANCRe CREԆ5cReTA,,,cԏcTa cuLAқCU5) d5D,DAΛdEnTAdIMEnTaD DU)DUc_EdBEdCAKEdPOěE˩)E͇ .5.5 5 5EЇEpAGeSAכETGgRegG_iZURlDOLECL5LfHOOLfISLfSALlOUԛLtZL_M mMiAnNMiArIMiCIrMiCOnDUCMiCOnS MiDeTACMiFiMiMONT5mimiNA,MiOTMiPMiPRe MiS n n 5 2N 2N;N5n2N)nSi 2nSNnT nTENnTIENԛnTiNnT par5PIpPTEM_QUQUENCQUEn QUI·QUOIr52r"5":5:r>RaPRAPȭrAPHI͛reNARRfAGRfDO͛R.rIƛrMOέROlOrPENԛRU͛R)  rv!)R.rViTUsAMԌ>>>> >>T>7t> tBAC˛tUЛ_VV#52 2vEn vEnTEENTvENTțׇ)wAGW&x015xOlOxPOԛxTxTEԛxTOΛxTupxU5_>5^>^^ ^> ^^ ^)^ ^5^^)^^5_AC55555 5AĆ),,,.AdOׇ) AFԧ.AǛ> > > 5>>AțAhDO͛A!),,,AKeDOWAKeOUԛAlLOԛAlLOשaLOALA͆>aMAΛAmbAmPOχAmROC˛AN˛AP55 5AAARˉ ARШ(((()5AtTErPROOA.A_EAƇEA҇)EAT)EAEEEEԛEI˛EIkDO͛EIKțEK&ELElLAELLACELlFISElTEL)EpHERěErBEԛErI_IELħ)IFԧ),,,I> I,, >>Iз7>>>IpBUILIpLOAěIpIpMAIpWRECIpYARIRԛ_NAOCˇ)OCkPROOO> 5> >OeB OeHORΛOeLACOeMAOETROOOOOԩ).OЛ>> >OPBOOPGIROpKEEPOpLIFԩOPOPMAOpTALOpWOROReLIORORԧ(5ORtAGORtBREAORtCHANORtCOORtCUԛORtHANħORtSTOORtWAOԛOUlĉOUԧ)OV)O)Oׇ))),,,.OwBOOwCaOwDOWΛOWGIROWOWOOwPLAOwROO͛_R>>> >R R&RANRApREכREWĩ5REwISRIEˇRIM RIRIN)RINkAROUħRU›RUǛ>RUN˨_UD>Uf> UΛ>> >Uԛ> > >>>>UtDOWUtOUtOUԛyLOC_5  ^; ;_A5C(Ck CK&CkCkROO͛.d DeARDeBANěDeCAқDeKIC˛DeLINDeSTEDE DeWDeWAL˛_EEnNErRErRAEsTEFԧ).G Gȇ)GHԧ ;gMgMOIěGgN)55G)gNaTURGnBOARgNEԛgNI  ---5GnPOSԛ_LEN)LENԉ5lHOuEL,,LKWLkWOR͛LϛLԇ lVlVALVERWAR_M,M>mIAΛmiLA2 25MILIAMITAқMOmP)mp 2mPLeMINmPLi mu5MUlTaN5Ϋ15>> >n 5 2nENlj)nGLEԛnGuLAқN!)NkAGN&Л>> >_RrLOIΛROcCϛSSYISsT5Ԇ>>>TAұ1tu_&xFOLx>xPENCx xTEENTXT5xTiETțz!Z!.z> _)^ !)^ ^ +5^^^> __EI·EleEleTOΛElTEpTETC&),,,Eׇ) )_Iě>>> >IlLEԛI>> >I>> > > >>InHEAěIЛ>> > > >IrMIS&IRԧ)ItTISiWEAқ___UULˇ)ULlCAЛUNˇyBORyCAЛyd yHOO˛yJACˇyLIGHyLIySCRAP_>>^^) .>>^>>> >^ ^5>> >^) ^5_A)ACˇ((()5AǛ AIA놧AAnDAЛ >ApDASApJAC˛AS&).ATHAtTERΛAUGhTA )AvISAכ_EAEAEDEEˇ( 5EEЩ),,,EEԧ EEEIGȇ EIGHԛEnDEPEUTȇEׇ_ICˇ)5I)IDeWAIGHԧ5I͆,,,>>>IЎIP> I  IPKNOԛIPOUԛIPOVIPPAGIPSHOIPSLOЛIPSOIPIPUЛIPWAIPWARITH_OO›OBOBBISOGAΛOOЛOІ    OPWOROS OԛOTBAC˛OTȋOUC OUGȇOV   OׇOwDOWΛOWISOWPOK__uUD UU UG UGGARěUGGISU͛   UMBUMLORěUMЇUNUNUқURЇUS UԛUTTISYBOO^> ^),,^ )^)ACˇ ALlISALlPOARԧ(((,,5AS& AShUЛEA҇) ELԧ )IdGIdGIΛIRCȇIRˇ IT,OCˇO5> > >OK! 5O뇩),OKEPOԛOKeSTACOlDOOC&OOTȇ(( ,,5ORGASBOAROOTHOUlDUDUg> U>>_ )^&)5^)_A ACˇaFՇA  >>A ,A>> > > > 5>>ApBAC˛ApPISApSHOԛAPWA)AR) AR˛ATC&) A> > >_EAˇ),,,EE _ICKI5I)  ,If> IIFfISIfTIG>Ig IІ) > >  >>IpPEԛITC&)_O›> ,>    >>>ObBISOOˇ OOЇ) ,OOԇ,,,OO) OrKORԧ)Oԛ   >OUԧ OUtISOׇ,,,5OwBOWBOwBAN˛OwBIRěOwBOUNOWBUSOwCAЛOwDROЛOwFOwFLAOWLANěOwOwMAOwMELԛOwMo OwPAC˛OwPLOׇOwSHOwSHOwSTOROwSU__U¸>>   >>UCU)   Uf> UUFfBO&U5>>Ug>_ 5^^5^^ 2_Aˇ)AkAGAЇ,,,5APBAR˛ApBO&A҇‰ 5>BRiEc C 45C>CiE,CIoeCoNOCIOLO-CCkEԇCKCKMA>>>5>>DDiU͛dO 22_EFFFT)F,,5FtBFtBAC˛FtHEAFtHEARFtWARFtWOOěg>5>_IlAGiRJOUR·LA)LANLAҐ444LArIU͛LaTiULlD)lD lEMΉ5LI25liDA2LIdI liTAIliTAliTULχ1lST LlU 2LULuL lVEnlVENԛ_MMATmB5mBRmBReRϛMeBO MeDMeHOMeONMePLAmErSEԛMeTMeTIMME MeWAMeW  5n2 >NAқNArNArMANaTnaTiNNǫ5NgBIRěNgBOO˛NgFNgSTNgWnNEԇNSHIOΩ)Oԇ,,,OTȆ).5OThSAOTHSAIЙ> > >>P 0  1PhoPRaN_R5򉪌2>rDIReHEAěrGHU͛rRO׫+5RԧRԛTțtTIS_UUARUDAΛUF>UGȇUGHUNħ).5UNDBOUNdPROOUЇ,,UpCOΛU҇5URBURCUrISUrPURSOURWOOěUӆUTȇ)5)UThEASUThEAStERUThERΩ)UThPAכUTHROUThUThWARUThWEStERuVeNIқvErEIGvErEIGnViEԛ)WAWb WBREAěWCAқWYyBEAΛ_ >>> > > >^),,,^ ^ )^ ^^ ^,,,^>>> >>^>> > > ^^)^>^^_A) ACeCRAFACeACeMAACeSHIAD A䧩)aGHE>A,, >Ang ANIARAnISANˇ .ANWORA5)5AReRI›ARˇ),,,AS͛AsMOAsTAtULATULAAVI·AW·_EA˩)EAқeC 144445ec%%%%EeCIAlECI  -5  EcIMEC5555EcTEcTaCEcTAcuLAEcTEcTREcTRU͛Ecu5EEC&5EEdOmEEEdUЛEEdWAELlBOUNELLGUARELENĩ)ENdTHRIFENER͍Eׇ)h-HIN&_iD I,IgOԛI)I΂5,,5>> >InACInd InEԛInOUԛInSTiR5IIRIriTUItFIRItTOOΛLALAS&),,LEnLEnDI5LINԇ) LOTC LUR_O )OOIlAGOILOOKEsMAON;ON),, OnTan2OOOOƇOOˇ,,,OO&+oRAORԮORTsORTsMAnSHIORTsWO5>> 5>>OtLIGHOUԧ)_RR)RR5RA)RAI·RANRAW REAĩ)RIǛRINgTIRInkRINԧ)ROCkEԛROUԧRU5RUN_Uě>>uMoUUN,,,u URURUt>UtNI˛uTUyGLA&Uu>U)UU>>> >> >>U)UAěUAdROΛUAlIUAnDUA5)UArISUAS&),UAכUAWˮUEAˇ),,UEE)UELC&UI›>UIěUINԧ)UI>>UIR͇UIR 2^ ^>> >^5^^^55 57^   ^)^^^ )^ 24^5^ ^) 5 ^  ^^).14444_; A)AC˛aDiUAAdž&).AG>AGeHANAgAgnAIAI·)5AIқAIrCAIrWAAAKeOUԛaLAALeALˇ)AlWARԛaMAM>aMiNAMЇ)ANCANĮ.AnDAR4%44ANdBANdOANdOUԛANdANdPOINANdS ANAnZap A҆)55556> > >>ARC&,,ArDOArDUSArFISArGAARˉArLEԛArLIGHARԇ) AR AS&ATeATeROOATEsATEsMAaTIOnAAtIsTiCIAATAtuAAtURAtUAUNCȇAAySA ____EAħ , 5EAdFASEA˛EALTȝEA͇),,,EAmBEAmSHIEEЈ((()5EErAGEEEIΛeLAElLAE5EmWAEnC 5ENC&ENϛENOGRAP艭E6;>> >EpCHILEpFaTEpLA>EpMOTEpPArENEpSOΛEp eREϛeREoPHOeREoTYERΊ5ErNU͛ERnWeROIěEԛEׇEwAR&EwPAΛ____IC˩),,,,5ICkPIΛICkUICkUЛIfIFI5IgIgMiLEtTILlBORILԧImuImuLINgRAIN˩) INkBUǛINkPOԛINԛiPENěIpu5Iқ>> >IrRUЛITC&)______Oo55OCˇ),,,.1OCkAOCkBRoOCkCAқOCkHOLOCkISOCkOCkMAOCK OCkPOԛOCkROOOCkYAROD,,o O)OlIĊ5oMOmACȇOmAChACoMaTOMЇO&)OO,,OOOOOOЇ OЛ>> > > >OpGAЛOpOVOpPAGOrAGOReOReROOOReWIOR˛OR͇,,,oRyBOOoRytOUԪ5OUtISO OVePIOOwAGOwaWA___R&R),,,r)RARA)RAd>RA RA>RAIGHԨ((RAIGHtaWRAIGHtEDRAIGHtFOrWARRAIGHTLIRAI·)RAItJACkERAItLARANħ RAN5)RAnGLeHOLRAЛ>> >RaTRATE獑RAtI  RaTRaTU͛RAכREAˇ ,,REA͇) REAmLIREEԛREEtCARENGTȨ(REnRETC& REU;REׇ REWRICRICԩ5RI)RiDENRIFRI)RInGENRIІ),,>> >RIPRO)ROBRoBiLRORO)RONlj5RONgHOLRORUCRUcTURuDRUg>RU͛>> >RUmPEԛRUNRUԛ>>> >___U›   >>  >>UbBOR5UcC UCU ,, >>UdBOO˛uDENԛuDIϛU),,,,.UmbUMЇ) UMpAUΛ>> >UNUNUNԧuPuPe  uPIĩ25Ur 5UT>___yGIAYLeBOOyLEԛYlISyLU&ym^!!9^55_A5 _B;>>baDULԛbD ;bDiVIbD)bGROUЛbHEAbHuMAΛBHUMIbJECԇbJOI·bJubJUNcbLEabLEԛ>bLEV&bLI)bLImibm bm bM>>bMaRIbMERbNOrbOrDinbPOeNbSCRI↩bSCRIpbSeQUEN5bSErViENbSEbSI bSiDENbSIdiAbSIsTENbS  5 %bSTAnDARbSTiTUbTbt btbtbTIl bTLe bTO-bToTbTRACԇBTYPbUR›bUrBAΛbUrBIbv bVERԧbVobWA_C>C>&+5C> cCINCcCUM‡C6Cˇ))Ck CCCRcT_>>5_Eԛ_F>)f> fFiCIEnfFiCIEN5fFI&fFocfFRAGfFu_G>gA҇ gArC__iCI䢆ItCA___llFlFIDlFOlFU҇Lˇ ,,lPHUlTAΛlTaNlT _͛>>M> >>>MAÛmMa  5mMErTImMO·&MMpT_55> > > 5>>nBAnBATȆnBEA͛nBIRěnBOכnBUR·nBURNnBURSԛnD nD nDnDEכnDOWΛnD nDROnFASnFISNnGL&N˨nLAMЛnLIGHn nROOƛnSCALěnSEԛnSHADnSHInSPOԛnSUnTAΛnUn nWARě__P 92 95;>> >P>P>57p>  )PErAPERŠPErEGϛPEr PErFIPErFLPErHIGhWPErImPPErInTEnDENPErJEԛPErPErMAPErMArKEԛPErNAtUPERSEPErSt PErSTRUcTUPErTAPErv PIN5PPERTIpPLeMEnTapPo"'5pPORԇ pPR&PRE5PREmA__R5r r>rCEarCOReFIReFOORe R!rFR懩)rFARfBOR , rGEOΛrm )rMOUNԧrNA톉 rP rPA&rPLU&rPr .5rREnDrROUNħ.rTArv 5rV9rv 9_sCEpTi spsp 5sPECԧsPENħssTAI·_T>TRTUEL_>> > > >^>^ ^.^  ^^),,^&5^> _A)Ad>A箛>> > > >AIΛAInISAlLOׇa͌AMЇ) AMPISAΛ >ANˇ,,AЛ >ARħAR͇ ArT AsTiKATCATȆ)AyBAC_EA҉ EAtBOEEЉ .EEpSTAEEԨ(((,,5EEtHEAREEtISElTEPER _IFԩ5IǛ>> >I͛>> > > > 5>ImSUIInd InISIIR,,ISȇ),,ITC&)ITChBOARITZERLAN_5OO·)OOЇ)OOSORěORO>__UUN5baRCAMlLaBUmBi; mBO444mMET  mPaT mPaTHEmPHo mPoSImPoSIUMpTO͛&; naGOGnCHRondnDROMnEr獝nONY nOp nOpnTAnTh nTHEP,5 rrUЛsTE%%-5%_ ).569^;_B+b>  >>BLbLEA՛bLEAUBLeCLOTBLeSPOOΛbLEԛBLeTOЛbLOIěBOχbu5buLAC5ciTURCˇ)55CCԋ  5cTědPO_> >fFeT >gaLONǛgBOARě_IlBAC˛IlBONIlCOIlgIlSPIΛINԧ)KeDOWΛKeOKeOUԛKeOVLLl5 LÛlCU͛lENԧlIsMAΛL%),, LlIS_MM!55퇩)MARINmBOUқMΛ>> > >>N ,ng N盝nGEnnGENԛnGibnGχN˩)+NkAGnKARěnNAGnNISntnTRU͛І >> >>PeLIpEsTpIoCPIқpROO͛pROOԛ_қ> >>>rd5rrGEԛrIrNISrOrRaGOΛRԉrTAΛrTAқRtISRtLEԛSˇSkWORS5),,,ԉ >>> > > > >>t> >tTOχ)_UGHUNԧ)UPUԨ(((58&vERΩ) wD 5w !%%&)XX .5xOnOxPA_> >^ ; ; ;^)_aBOWAC!)A͛>>AmSTAmWOR˛aPOԛA),,,5ArDOWΛArDROЛArG&aROO͛aSPOOChN25ChNiCIAΛCHNICChNIQUChNOLO--5 >DiU͛_E͇ EnA熇)ENt ePeTETȆ).eTo_LeCASԧLeGRA͛LEGRAPȉLEMARLePHONLePHoTLePLALeRALeSCOLeTHOΛLeTYLev LEVIEׇlE&LlT_mP#%)m mPERmPEraTURmPϛmPoRA,MP)!!# #$&&9N5 N;> N NA 2 2nANtNħnD5N䮛nDEn nDOΛnDR NEԛnFOLn>nPIΛN)5nTaCNTnNU,PPI 25_r5r>)r> R>4>riYaR͇)5rMirMiNOlOrMiNU&RmTIMrrNarRrRArRAIΛrRaPIΛrRibrRI  rTIaS 5  sTsTi  sTiMo taNUTH_XxAx  XtBOO˛xTxTuA,xTU_^%% ^ ^;  ^_AANˇ)5ANKsATC&)Aׇ _eAT EFEIқE͆EmSELENENCeFORTEoCReOlO eORE͛eORET-5ErA ErAPEu EReAfEReEReFEReIEReOEReOEReTEr͂ErMO&ErMOmETErMoSeSAueSAuREsPiAΛ_iaMIΆIC˨(((5ICkEԛICkISICkSEIEIE),)IGȇImBIΆ58&>>>InCLAěIN˩)InNISIR5IRSԧ),,Ir IrTEENTIT_OMONǛoRAoRA&OR·,, ,OrOUGȉ5OrOUGhFAOOUGOUGHԫOuSANěOuSANDT_RR(((.5(RR  rRAS&)REAħ) RES&)REShOLRERIF,,,5RO,,RORO›>> >RORONLJROt>ROUGROUGhOUROUGhWROש)ROwaWROwBACROWRRUS&RUSԧ)9RuWA_U5Uě>>UǛUM‡UMbTACUMЇ)UnDUnDErBOLUnDErCLOUUnDErHEAUnDErSHOUnDErSTORURsDWACˇ WARԧ)5YMyROIěySEL_ ^).^! )_AR,bIÛCˇ).Ck CCKEԧCkLISCkTAC˛CkTOC˛cTAÛD5D5d5.dBDeLANěDeMAR˛DeWA_eBAC˛ePIΛfFa FFIG&&GErISGHԨ(((5GHtROGHtWAěGR_lDLlAL!)_M55퇮. 9mBMeSAMeMeWORMIĉ2 25mPaΆ n;5NCԛNcTURnDnF Nng nHORΛnK)nnSMITțNԧ).5nTYPnWAnWOR˛P 5 >p> >pCARԛpOpSTpTPTOЛ_R5 TTAt tuLAқ_> >_^ )<^^!##%%%^ ^&)^6_A,,AD0AdFISASԧ),,AStMAsBAcCBOgGAΛ> >DA_F>> >>g>GGET_iLEԛiLEt KK0LLEDLlGLlLlMALlWA_͆maHAW˛MaTM‡5mBOmCmFOOMMYROԛMOrROכN2 25N5),,-; ; >> NETNǛNGNIGHԛnNAGnSUO OOlBO&OlHEAěOlMAOlROO͛OlSHOΛOԧ)otOT OTȇ,,,OThPASOThPICЫ+- 5>> >>p>pKICpLOFpMASԛpMOSPNOTCPOgRaPPOlO pSA pSIDpSO pWOR˛_QURR;RC&ReaDReRϛRrNaDRrPrPeDrPI5RQ)rREN rRIĉ5rSϛrԆrTiLLrTO rTU)SSSUЛT255>T> >TEͭ01_uCAΛUCȆ),,,,UChDOWUGȨ((,,5uPU҇)01UrNUrNUrNiQUEusUԧ)W5W wAGWAR5wBOwHEAěWLINW&&,WnLEԛWnSHIЛWNsWNsMAWNsPEoWnWEAwPATțwROPXxeMIxIΛxOIěYIS_^)   ^56^^5 &^&^ ^")^ )^5  _A )AA+A!),)).ACˇ).ACkAGACkACkMAAcԏA!)aD"5ADeMAR˛ADEsMAAF>AfFIC뇮A' '-AIlBLAAI&&)+.AInLOAAInAInMAAIpaJECԛA͛AM>5A>AmCAқAmLINAMЇ) AMPISAmROAěAmWAAN%5AN;An5ANAnQU 24ANsACԇANsCOnTiNEnAnSCRIAnSCRIpԏAnSECԛAnSEPԛANsF!ANsFI&ANsFORAnSIENANsLuCENANs ;>>>>ANsPANsPArEnANsPArENAnSPIANsPORANs AЛ>> >>aPEZaPeZIAS,, AuAuMAV&)5av Av  aVA AvElOǛ_EaEAChEAć) EaSOΛEaSUebEeTOЛE˛>> >EMEmb eMEnD5ENC EN,,,EpiEsP_iAĭiAnGiAnGuLAI"5IBEsiBUIbUTIbuTA,iCEP&ICˇ),)),,,55ICkISICkSiCOiCOԛiCyCif IFOLiFORIG>IlO I͛In InKEԛIϛIІIp I>> >iPAC˛IPARiPLANIpLEԛiPLE&iPOĂiSECԧiUMPȂ5IvEԛIvI_O)  .O>OMЇOOЇ)O--oP  Oԛ>>> >OTțOub< OuBLeMAOUGțOU)OU,,OW&)5O; _SD_ #$05U&).UUCˇ).UCkAUCkLOAUCkUCkMAUD)UeBORUeLOVUf>UMЇ UmPEԇUncUnd UNˇUS&&&&),,UStEeSHIUStWOrT UTȫ+5yOUԛYSԛAҐ_^^;_¢B56 +.> > >>BBuLACˇ)))_EsDFԧ Ǜ>> >gBO_LIЛ_> >mb mB MULԛMUlTn!N!5) N>)5NnDRNEUNNgSTpPEN_rBA·rBINrBuLENrBuLENRrGI5rrMO R).RnaBOURnCORnDOWrNIЛRnKRnORnOUԛRnOVRnPIKRnUrREԧrTT&&& ">TeLAGTeLATOrAGT՛_xED  ^^).^>>> > > > >Ad> AIANLJ EE ELFTELVEn EnTiETERЛId> I  >>iLIGHIΆ) >InBORInk IR)IRЛITC&)IXϛOoPENCCOOΛKmPaP!--51PeCAPeCASԮPeFACPeSCRIPPeSEԛ>>PeWr)PHOIěPHOOΛPHUpI  PϛPoGRAP-POlO RrA> >AҐIqu   Li U55C%%%% TiM5TiMaTUTR0TRaCOnSErTRaMOdERTRaViOLEBRElLLAUԛPIPIrAGpߞ 2  5)4^'5 444^ 5 ^^^5^_ABASABAcCENAcCOmPa AcCOUN!AcCUsTOACADORADUl %AfFECAFRAIA AIAIAIALIGAMaNI2AR͇ASAsSUATOAVOI!AWA_#BBA>BeCOBELIEƛBeLIE!BELԧBENćBENBiBI>BLABLOCˇBOLԧBORBOUGHBOUNBOBOBRAIćBRidBRoBUCkBU,BUrDBURBURNBUtTO_,5CCACACA >CANDICAЛCACASCAUGHCErTAI5CErTAInCHAI·CHANCHA2CHECHCLACLAMЇCLASЇCLEAΉCLEA҉CLENCCLINCCLoCLOAˇCLOǛCLOTCLOUħCO CO>>COmFORt!COmMOCOmMu COmPLiMEnTaCOmPRo COnCERCOnCOnSC 5COCOOCORˇCOupCOUTCOVCRO&cTcTCUCU_d!D5 5 55;> DErACDErADErAR͛DErBIěDErBRUSDERBUDErCLASsMADErCODErCUrRENDErCUԛDErDeVElODERDIDErDDErDOǛDErDODErDErGϮDErGODErGRAd%DErGROUNDErGROWTDErHANDErLADErLIDErMIDErNEATDErPDErPAIDErPRIvILEDErSDErSEDErSIDErSTAN!DErSTOODErTA놨.DERTADErTOODErTOכDErDErWDErWEADErWEIGHDErWENDErWORLDErWDeSI!DEVOUDIDIsTURD)DODOUB'5DR&DREAMDUDu_Ea ,,EaEAREARTȇEDIEduEmPLoEN䇮EQUEQUIvoEV5ExExPECT5_ F>>FA䇮FAI҉5FaMIlIAFAsTFa!FAFEAFELFENFET>FILFInISFLEF FOLħ FORFOrGE>FORGOFORFOrTuN5FOUGHFOUNFrFRAFREEZFROCˇFROFFUFUR_GAI5GENGIFGIRħGIRGLAGLGO5GOGGUENGUI_hhhH HAlLOכHALHANć HANLJHA > 5>HARHEALTHEARćHERHEWHIHITC&Ho HOOˇHOHUR_iCORΛiCyCif)i iFOrImPOrImPROINInHI2In *InTElLiGENIQU5iSOΛIsSiTA_JAJJOIJUDJUS5_KEMPKEPKINĉ5KNOԛ>KNOWΛ_LALAS&LATC&LALELEAħLEARΛLEARNLEAS&LELICLI2LILINˇLOAħ)LOCˇLOo(LO5LUC _mMA΋5MAMARMASˇ MIsTAk!MItiMIMOL䇎MOLMOMOW_NANAtuNEcEsSANERN No _ OcCu OPOW_p   PACˇPAIPAIPA"5PARPAPIΛ>PLPLEPLOPLUPPOpuLAPREcEDENPReDIC!PRInCiPRoTECPRO_Q !QUAli QUiEԉ_r55 ! RA&REaSOn!Re>RENREPAIқRIGhRIІROROROUNħRu ,RUS_SAdSAFSAFESAISALSANITASaSCATSCRAmSCRuP5SEE5SEt>SEׇSEWSHSHASHASHASHIFԇSHOSHORSIFSIGHSIGS SLUNSNAЛSNARS SocSOLSOLSoP SOUNĉSOUSOSOWSPEA!SPENSPOILSPOSPRUNStSTACSTEASTICˇSTOЛSTRSTRAЛSTRUNSu!SUbSU>SUNSURSWSWEP_ tTATATA톇TATAngTATAUGHTATEACTENTETHTHIN!THREAěTHROTi  TILTI5TITOLTOUCToWART TRATRAITRITRO>TR5TRUTțTURTWTWI_USU5_V  VAlVA VEIVE_W 5wWA 5WARWARWASWASWAWEAWEAWEAWELWEWHWRAЛ_YOZIЛ>BBBRAIħCOdDRAFԛENĮGRA HEA")HELHOLĉ HOlS KEEЛLANOPErCUr .RIGHԛRROA,ROOԧ)SEԛ>> >SHIFԛSHOOԛSHOSISt)STASTAISTANSTARԧSTREASURSWSWEEЛSWEPTAKTIGHTOWTUR·WAR5aNiU͛BAΆ50222 24444CHIΛeTHR)GEn GEN5iiNAOlO^!+5+5 AGHU5u  UR);^  ^ 5!)^ #5AErU&IliTArIAMOSoPIoPiAΛ_ ^6_5cc,5cCIC2 cUU͇_Ga giGiNG G5_IΩ5l$L5LlEnTINLEԇLI25Lu!luL5)LLVULA_MЇ)mPIMpISΆ2 2nDNDYnGUARěNIlLnIlLInIS&nQUIS&nTAGP 44444PI2 25POrIS_r !r##$%%5r; RRiE,rMINԛrNIS&Sԉ5ԛ>>_ULԧ) .UNԇ _^ ^ .^;_cT_gegetgeTArIAΰH HeMEN_I· lLULOc LOUқLULURlVEԛ_N 25NN)n!%%N 5N5N&&)nDEtTNdIbNgniSOΛnO͉ Nԧ nt 5N5nTnTU<)n_rr r  2)RAc RAnDRAnDAțr‚45 rBaTIrBIAGrBrrDICԛrDURR熇rI  )rMIRMONrNAcuLArSi  rSrt5rTeBRrTE&rTiGRs SԂ67sTI ԛ>>tErAΛT)_%&5_ ^5^6^^2^_aDUCԛANěB BrBRaTϛ CA,cArAGCeROCI2cT  cTI4cToRIACtUdEϛdEoTA_E!) .EwPOING,G:5goRISGoRoS_lI  lLlLA)lLAI,_),),,Nn nDIcneGAқNeYARěnTA NtNoo OOLOLENCOLEN5OLEԛOLIΛPPErIS_R5r 02RAGrGI΢"RGINIrT"5rTurTuOSϛRU&rULENrULENSsAs sCERsI 2sTSU45T02 244445TTaMIΛ_VVA  2VArIVArIU͛vIĉ5vI  XxEnIS ^5)^% ^5)C01244445CCAbuLAdKGUGuISI!lCalCaNLԛLtAGlU 2lULuMilUnTlUnTA 5LUpTM oDOϛrTE&5)Ta UC&&&)W&4444)yA)YAGEUyEUқOO͛lGlGA҉25l !lTURlV_ )^ ^)^)_b C 5!>> > >>d> D>_Ff>Fԧ FtAdž5G)箛> ,> >g>gGISgGOΉ gOΩ)gT _IƛIItR&K5K).LL)LkaWALkOUԛLkOVLkWAlLEԛlLOЇ lLOׇ)LlPalNUԛlRU<& _Ά5>>>NnD)NngNԧ nTO·5_҆ 5 6R>! R> >rb Rć)RdRdROBRdROO͛ReHrFAR͇)5RmISRMTțR· .RЇ rPATțRSArSHIЛRԛRtHOǛrTIMS!&),,.ShBOWSHINGTOShOUԛShRAǛShROO͛ShTU›S SpISS)StAGSTeLANSTePaT) ,t>TC&&&)TChDOǛTChTChMATErFTErFRONTErISTErLOǛTErLOϛTErTErMATErPROOTErSTErTIGHTErWATtAG_ VeLENGT؇yB yFARyLA yLAIySIyWAR_^),, 5^ ;^_A;AAK)A멪555AkHEARAkISALT,,,A·)ApOΛA!! ar55>bFOObSě>>>DdLOC˛DNEsD_E5 5EkDAEkENěEЩ)_IGȇIGHԧ5i IRĉ,,5IRDϛlCO)L)lFARLlBORlԇ _NC& NħNP_ReWOLReWOLSST5StERΩStWARě5>>>> >>tBAC˛tLANětTIS_)^^),,^ ^ ^ ^ ^5((()((.^> ^>>> >^_ACˇ A> >>ARƛARAtEAtNOԛ_EElCHAIEE ,,,ELЇENEnEEReEReaBOUEReEReIEReOEReOEReSoEEReTEReUpOErEEReWITȢEԛ> >ETEכ_ICIChSoEILSIIM  ImPI> > >>I6 >>IPCORěIpLAS&IIR ,I>>IRlWINISIS IsPITeCAЛITeOUԛITeWASITItIS_O;> >OReDO͛OrISOSeSoE_ ^,,,,^!  .5.^^  5^_CKD5D)䩪DeMOUTdISdOׇ)DTț_ELħ)F556Ǜ>g> GH_Lĉ .5LdC>>LdFIRLdFOLdLIlLElLOש) LlPOLԧ_Ά&<>>> >>Nㆇ NC&)N),,,.5NdAGNdBAǛNdBLOWNdBREANdBURΛNdFNdLA&NdM nDOכNdPIPNdPROONdSHIELNdUNdWARNeSKIΛNLJ)56NgBAC˛NgNgMANgSPAΛNgSPREANˇ)nNOׇ)NϛnT)45nTErTInT 5)PeOUԛ_R56),.ReTAЛ>SCONSIsDO͛S&ShBONST&>> > > 5>>TC&),).TChCRAFTȢTH ThDRAעThDRAWThDREThHELThHOLěThIThOUThSTAN_ ZzAR5zARd _+5_b> __놈LƇ)6LfFISLfISL_mA4445mAnHOOmAnISM‡nD)+5nDNԧ'5nTOΛχ)O( ,o  oOħ(5,,  OdBIΛOdBO&OdCUԛOdLANěODLAROdOdMAOdP OdSHODsODsMAOdWINěOdWOR˛OƩ)OlSAC˛OlSHOlSKIΛo 5_r(((r>)Rħ,,,,.5RdARdBOO˛R!).RkBOORkINgMARkRkMARkMAnSHIRkOUԛRkROO͛RkSHOЛRkRkUЛRkWEE˛RL 5RLdWIR͇),,6RmHORmWOOěRrSHIЎ>rSԇRTȋ 55RThW _ULUNħכ^ )^  ^^^)^ ^).>^AC˧AITțAng AЛ>> >>APATȫEAˇ EATȆECˇ).ECkAGENC&ETC&Ig> IGHԛInkIStLEԛITONLJ)5OOTOUGHUNOCHԧ ͛NˇЛ>> >RěRdAGRdAR͛RdBIRěRdRdMARdSTICRΛW·))AA555ArBOO˛ArLONAR·).AS,, lLOׇlLOwISLЇ)Λ>sTErDELħ)Л>D 5GGGURԛK뇮L˛nN RUnljUNgISUNgSTUқUrSELUrSELUTȈWLeTID> > >fTIǛ>In5Л>AlOAlOt BRBROINITȢPhYқRSԫ,,Ǜ>gZAǛ>LCNÇN,,ЛP>> > >>THDiAÂfTImB"5%%NϛoOiĂOLO O͇UNcCHiIeBAC˛GO^RDVAR^ZZZ^tc an alternat pitch: Thi sentenc i printe wit th norma 1-pitc setting the toggle t 1 pitch the bac t normal. .cw 7  Yo ca als chang th norma an alternat characte widths: .cw 14 .rm 55 Th "normal characte widt i 1 (8. cpi an th alternat characte widt i (17. cpi). .pa .rm 65 .cw 10  .cw 12 Lin Height Yo ca als us differen lin heights. .lh 16 Thi i a exampl o variabl lin height (.L 1 lpi) .lh 12 Thi i a exampl o variabl lin height (.L 1 lpi) .lh 8 Thi i a exampl o variabl lin height (.L lpi) .lh 6 Thi i a exampl o variabl lin heigh (.L lpi) .lh 8 Proportiona Printing .ps on .uj on WordStar als support proportiona printin fo mos printer tha hav it Yo selec proportiona font b changin characte width a i th followin examples: .cw 22 Thi i characte widt 22. .cw 11 Thi i characte widt 11. .cw 9 Thi i characte widt 9. .cw 7 Thi i characte widt 7. .uj dis .ps off .cw 12 Other Phanto Spac Phanto Rubout WordSta ma allo yo t prin specia character (fo example paragrap sig o cent sign b usin th phanto spac comman (^PF o th phanto rubou comman (^PG i document Fo you printer th phanto spac characte is  an th phanto rubou characte is . Switchin t Draf Mode .lq off Do matri printe driver allo switchin fro NL (nea lette quality mod t draf mod fo faste printing. .lq on Microspac Justification .uj on WordStar allow microspac justification i you printe support it t produc evenl space word i justifie text Microspacin spread th whit spac betwee word (an sometime betwee th letter o eac word a evenl a possible .uj dis .pa Lookin A Thi Fil Onscreen I yo wan t se th embedde command tha produce th tex yo ar no reading follo thes steps: 1 A th Openin Menu pres D t edi document. A th promp fo filename typ print.ts an pres Enter. Notic tha th tex onscree include som character tha don' appea i th printe copy Fo example headin lin i identifie b th do comman .he Word i boldfac ar surrounde b ^ an appea eithe highlighte o i differen colo o you screen. T continu viewin th content o thi file pres ^C Pres ^R t mov i th othe direction. i document. A th promp fo filename typ print.ts an pres Enter. Notic tha th tex onscree include som character tha don' appea i th printe copy Fo example headin lin i identifie b th do comman .he Word i boldfac ar surrounde b ^ an appea eithe highlighte o i differen colo o you screen yy %/;DN^fq %/;DN^fqAWKWARDSPACE ERRHOMONYMIMPRECISELONG WORDPUNCTUATIONOBSOLETENO PERIODQUOTATION ERRORPASSIVECOLLOQUIALTRITE ,CLICHEUSER DEFINEDVERBOSE, HEAVYWRONGCAPITALIZATIONREPEATEDLONG PHRASEMANY PHRASESLONG SENTENCEOPEN PAREN. DOUBLE NEGATIVESLONG PARAGRAPH>0 ȿBz<_ ͞>.y ))) _y 0 8 >0y 0y !"x!*H :@yŒ*#-*~  >~ʹ> nxdSYH̏jJ>n*~ͪ'(r:/,/"ʜ;(:<={f*ֆ*+++~!8M#~˿ r#~˿s #~˿o!͘N#.?!+~# t>Wd*>n:ʃͪ͘>na>n*|>,*|>,J*#~:(%00:(#~08E>n*-!GE>n!42*|>j:>2͘J> n!I!!G!E!!H*C "Co: }އ!M44#4*˿*Y+"Y!P!O4Jjn!N4j!w#w#w##w#+tÐ22<[*rO Fxa#N#~# (foB*r Snl #(G+n'#-ʶ+l!8>(+~#*Y !Y˾R"Y: (+~t@~#(#[#2@h~"#†~B ҉d Wd2}ͧʃrʹ!>O˹jljʹ^~#2?2}ͧʃ։w!"p͌!"p͌ !!q#p"E!\,~, y !F5! jʹ:}!O "N!P >-y >-y >-y >>y ~#(y > y +͛ڷ#Lj:<2>ɯ2@*[~"~# A0>!Æo((*#-o()(<}Ɍ*7:(<2:(2͛ڷ#*>'+#~DAD{Dʹa܅a>~~[A܅I܅#~+.">nzt I!eͩ (: ERROR OPENING OR LOADING "GRAMMAR.PHR!" HIT . $*p"p|r0,z͌(*p+~zы(:`: !, LARGE DOCUMENT - HYPHENATE ONLY >2 j!t!Q!6ͩ ~#y . PRESS ANY KEY TO RETRY $ CANNOT FIND AND ACCESS GRAMMAR.SUG $GRAMMAR.PHR $> :} :@>2@>>2}O*"Z! ~ͭ͝2F<!!Z*Y"KBE*( :(8*Y#"Y"**~2*KZBH*ZA~2~# ܢy ~ ܢ#y  SUGGEST: *> y !g,f!-ʃ#<>ʶs|eu~ʒo( r€͎*"Y\*Z"͡7h*Z+~A8+~A0#"ZrB#h*Z#~A0#~A8"Zll $ NO SUGGESTION!!! RESPONSE: *6*w#w:G*"~>^ê*͏ʷ,(;( *Y+"Yͪ͘,*>n*E :?##Ê(E~#,( 8 !p#+FKZ*B}C*"YKBV*~ wÃ0000jy *~0o&))))) *N#F#"{ͭjWW*EKI{W*#"~͞WfW:͞Wͩ (DE!L}*##"F+N+~+ng{:(͘!K4: *,-( *,- #-7 (<=7ɿͅ(O#:z!K*#->0*|>2>'Jj.(+~˿# ~˿п*>^:<2Ã0͏08:8 ͏(ɯ<.ȿ7!!w#w*,~"!""pj͌: ***************** SELECT APPROPRIATE RESPONSE ***************** $* Press "C" to CORRECT * Press to Leave "AS IS" * "<" or ">" to Expand Phrase * "O" to OMIT phrase. * "^" to MARK Text * "S" to SKIP Phrase Hereafter * "R" to REPLACE w/ Suggestion * "E" to ELIMINATE Category PHRASE: $!fq!I> ?x> > x!Yڅ*Y++~e#~ d(nڅ#>nh[l͏(,(@0 l@8l@0S#*#- 2: [l!8Ao!Ex>"x>?xͩ yˮ+"Y (Y/N) CAPITALIZE "$*Z+~ "Z#- 2, but there may be insufficient memory for editing.) The merge print buffer is used only to hold merge print variable names and data. Increase it if you run out of memory while merge printing. The Opening Menu buffer is used primarily to hold the file directory, and for miscellaneous tasks. LOW-MEMORY INDICATOR IN STATUS LINE ----------------------------------- If the Low-Memory indicator appears in the status line, it means that WordStar was unable to complete some function. The most common symptoms are: the line number in the status line is wrong, or a paragraph alignment could not be completed. You may correct the line counter by saving your file, exiting WordStar, and re-loading your file. To correct the paragraph alignment, move your cursor to the point where paragraph alignment stopped, and then press ^B again. The reason this comes up is that WordStar was not able to fit a big enough chunk of text into memory at one time. When you first begin editing, WordStar uses the value from EDSIZE in the user area to determine the minimum amount of memory required for a page of text. The default is set for approximately a 55 line by 66 column page. If your page size is routinely larger than this, you may want to increase EDSIZE. Multiply the number of lines by the number of columns, and divide by 128. If the Low-Memory indicator comes on while printing, it is due to either the same reasons as for editing, or there is insufficient memory to print the text proportionally spaced. The amount of memory required depends on which printer driver you are using. If you aren't using the .PS ON dot command to turn proportional spacing on in your document, low memory won't be a problem. Also, WordStar uses more memory for merge printing than it does for regular printing (around 2.5 kbytes more). The Low-Memory indicator will also appear when a full disk error is encountered during editing. Treat the disk-full error as you would normally. RAM-RESIDENT PROGRAMS --------------------- RAM-resident programs, such as SmartKey, reduce the amount of working memory (TPA) that WordStar can use. The new features in WordStar, such as shorthand, may reduce the need for these RAM-resident programs, thus freeing memory for WordStar. ZCPR3 SUPPORT ------------- In order to enable the ZCPR facilities within WordStar, the user must use the Z3INS utility provided with ZCPR to install the address of the ZCPR "environment" into WordStar. The environment contains information that WordStar uses to support ZCPR-specific functions. Generally, the user should log onto the drive containing the file WS.COM, and issue the command: Z3INS SYS.ENV WS.COM The user should also run either WINSTALL or WSCHANGE to further install WordStar for ZCPR. However, this is not mandatory because the only thing that happens is that the WordStar sign-on says "ZCPR3," and the LGLUSR location in the user area is changed for a maximum user number of 31. (The normal default for LGLUSR is 15.) Once the user has installed WordStar for use with ZCPR, the user will be able to use the following ZCPR features: - A named directory may be used when logging onto a new drive/user. - A named directory may be used instead of a drive/user as part of any file name. - The drive/user always appears above file directories. (For CP/M only the drive letter is shown if the user number is zero.) - The directory name also appears above the directory if one has been defined for the currently logged drive/user. - If WordStar does not find its OVR files on the current drive and user, it will search the drives and user numbers in the ZCPR search path rather than using its standard search pattern. - WordStar installs itself as a ZCPR "shell" process which lets the@ f o:%iNZ2 3xe!"#P$$half alarge number oflot ofnumber ofpreference forwhileleovementioned%solutely9ceptMtual experiencectual factsndtequate enoughversevicevisevisedfectorementionedoresaidoulter this is accomplished d n't sle as beit l of l ready l throughout5 l together@ lude` lusion ong the line of ong the lines of ong the same line ready right ter together  ount" awfully9d etc.@d whichEd whoKd/ornalistOother additionalrtzxiousy and ally bodyywaysywherestceen'trive at a decisionrived at a decision a consequence of  a matter of fact a method of against already stated follow' for good or better than2 long asF of nowL of this dateV per` regardsm related tos the saying goes toy you knowcentsemble togethersembled togethersentsuming that a later date about all times an earlier date an early date the crack of dawn the time when this time which timetached totributable toerse fully&hile+lanceVre{re essentialssesic essentialssic fundamentalseng to adviseinging asing thattween annual g in sizena fideuillon%akeAazeSeakheath{eatheidalief in durationinging to a conclusionllionrrowsy as at however4t that@ means ofE the use ofHnKn notfn't help butmnnonxnnot help butnonpablepitalpitolnter about$nter around.ntering about8ntering aroundEnters aboutRnters around]eck intoheck onnoosetose rcle around rcled around rcling around te aim imactic imatic ose to the point4arse=llaborate togetherRllect together^mafmbine togetheryme to an endmmon accordmpare againstmplectedmplementmplementarympletely fullmplimentmplimentarymply to<nnect togetherHnnect upPnsensus of opinionXnsequent resultbnsolidate togetherintinue onuntinue to remain~operate togetheroperated togetherrrespondentsuld ofunselunt upuple togetherupled togetherurseurse of time eek%ying shame9ta is>bate aboutGcide onNem it advisablefined as\lusion_pravationpreciate in valuepreciated in valueprivationscentsertserving of5sirable benefits=ssertFvoid of[ ec fferent kindsx fferent than~ lemma ner nner screet screte sinterested' ssentL vide upnwn to earthuank upelly notedring the course ofring the time thatech and everych othergerrly beginningsfect fective2 icitU udep usive inent pty outclosed hereinclosed herewithd resultter inter intothusedtirelyually as good as(ery now and then3actly identical@ceptJcept in a small number of casesahibit a tendency toice up toqcilitatects and figuresvrther|st in actionarful ofarful thatw and far betweenw in numberwerwer in number nal completion nal ending nal outcome nal result nalize rming up rst and foremost rst beginnings rst initiated* rst of all4 rstly: air@ ammableS are_llow afterrllow in the footsteps ofyllowing afterr the purpose ofr the reason thatr the simple reason thatr this reasonr your informationrmerrtuitousom the standpoint ofll and completellest possible extent,rther2ryXture plansqnerally agreedwt~ be ve an indication of ve assistance to ve authorization ve rise toaduateeat majority ofeatly minimized oughtd the ability tolerdlys got tos the capability tove a need for ve a particular preference forve got toad upal$le4peful ofFpeful thatOpefullyTstelqw evermyselfle and when at all possible lusion lusive manent merge+ minentB plementf plementation ply portant essentials portantly a considerable number of cases a large measure a position to a precise manner a very real sense addition to advance of all cases back of behalf of  behind between conjunction with connection with$ excess of5 large measure? light ofG many casesS most casesY my opiniona no casei order too our opinionr possession of{ rare cases reference to regard to respect to short supply some cases terms of the absence of the amount of the case of the course of the event of the event that the field of the final analysis the foreseeable future the form of the last analysis the majority of cases>usually the matter of the near future the neighborhood of the not too distant future% the proximity of* the range of/ the shape of7 the vicinity of: the worst way? this caseI view ofNasmuch as\crediblybdicative ofvdiscreetdiscreteferferior thangeniousgenuousjurious to8putside of=stitute a changeDtents and purposesKregardlessSn't goes without saying^ is apparent thath is clear thats is doubtful that{ is evident that is i is of interest to note that is often the case that is suggested that remains to be seen stands to reason that was noted that if'ss bein together int cooperationint partnershipst exactly)rnel6 nd of aLow aboutTpse of timeYrge in size_rge number ofest but not leastjter onrtterxyarnndsst's us able bel e keA kelyo nk up ttle in sizeanneosesese out onts ofin essentials jorityke9ke adjustments todke an approximationkke an examinationwke contact withke mention ofke out a list ofke the acquaintance ofke the adjustmentkes adjustments tokes an approximationkes an examinationkes contact withkes mention ofkes out a list ofkes the acquaintance ofkes the adjustmentntelntleritalrtial/ximum possibleHyPathdaletet up withmoranda isrge together ght ght of ner ngle together x together%ral)rale=re adequatejre preferable thanrningst uniquest oftual cooperationcessary requisiteedless to sayitherverver the less cebodynertt in a position tothingwaywherewhereswhitherwisember the opinion that< the same opinionTf ofZ a few occasions^ account ofk behalf ofv the grounds thatz the occasion of the part ofe anotheren updnancetside ofer and done wither withilinirle%ne6rtyHstfst historyaceakriod of timerquisitersonalrspectivertaining to-ysical size3 ece8 stilJ aing an ahead an for the future an in advance ane ease feel free to ease find enclosed eased to advise uralityint in timelereacticableacticalFecedeqerequisiteesent a reportesent timeincipalincipleior to#oceed*ophecyJophesyaoscribexospectiveovedovenovided thatrsuant totietite unique*in1nge all the way fromIrelyzeTal goodialtysason is becauseason whyasons whycur againfer backferred to asflective ofgarding the matter ofgretfullative topeat againpresentative ofsentsultant effect sume againtreat backturn again'turn back.vert back5 ght<utWid matterarcelyal offtems apparentyldomldom everntrgewould of ght milar with ngle unit te all in size as to#ar&le5mewheresTrt of^ace of timegell outnack upvake|ate the point thatationaryationeryileill continueill remainraightress the point that bsequent to,bstantially in agreement1cceed in doing7ggestive ofBitKmmeryfperior thanppose tore andrrounding circumstancesspectspicioneetkeke into consideration0ught9achNemprmed ase bitter ende fact ise fact thate foregoinge only difference being thate picture of healthe truth iseireirsereere are not many*ere fore.ere is reason to believe8ere is very little doubt thatNere'sWereforyese kindey'reingink upis day and ageis will acknowledgerewrough the medium ofrough the use ofroughout the entire'roughputusly@ me intervalE be deserving ofN impact maximize optimize summarize the aboveY targettallydoopxoupeue factue factsy and timate timate endder a separate coverder separate coverder the necessity toder the necessity to derlying purposedertake a study ofiformly consistentinterestedtil such time as2wanted8wontedU to this timeqon{ban~banee toed to controled to provideilizeinneryry unique able alternative able option, able options8 ceE se]ivernssn'tveryy, shape, or form wish to state wish to thankatherreren'ten everetherether or not"o's*ose> le] neo th a view to th out th reference to th regard to th respect to th the exception of th the result that th this in min=it is th this in mind thout further delayrth whileuld ofu are hereby advisedurur and myur'reurs and mine/is th thneryry unique able alternative able option, able options8 ceE se]ivernssn'tveryy, shape, or form wish to state wish to thankatherreren'ten everetherether or not"o's*ose> le] neo th a view to thrinter can backspace) or Draft Printer (if it can't). These choices may not take advantage of all your printer's features, but they will work with almost any printer. Note: If you choose Draft or Typewriter, you can modify custom print controls and printer initialization. If you want to make more modifications to take advantage of your printer's feature, choose the Custom or Simple drivers, then use the WS Printer Patches section of WSCHANGE to tell WordStar the codes for your printer. Refer to your printer manual for these codes. Some printers work better with the Custom driver and some with the Simple driver. Try using both and see which works better with your printer. See the "Reference Guide" for more information. SETTING UP YOUR PRINTER Choosing a Printer Port Each printer is connected to a printer port at the back of the computer. WordStar looks for printers on the LST: port. If your printer is connected to a different port, use WSCHANGE to tell WordStar the correct port. Testing Your Printer Connection At the operating system prompt, type "PIP LST:=READ.ME." This file should be printed by your printer. If it is not, your printer may be connected to a different port. See your computer reference manual, and the section on the STAT command in your CP/M reference manual for more information. PRINTER DRIVERS The WSPRINT.OVR file on the Printers disk contains a printer driver for each printer on the Printer Selection Menu. The printer driver for a printer contains all the codes WordStar needs to work with that printer. Each printer driver has a short name. If you choose a printer when you print a document, you see the names of the printer drivers, not the names of the printers. PROPORTIONAL PRINTING WordStar supports proportional printing on a number of printers. To turn on proportional printing, either install WordStar to default to proportional printing, or place a ".PS on" command in your document. At print time, WordStar selects the appropriate proportional font based on the character width (.CW) currently in effect. The specific printer descriptions later in this section show recommended character widths for proportional typefaces. These widths are for a normal mix of upper- and lowercase letters. If you have many words or phrases all in uppercase or if you want your text less densely printed, choose a larger character width. While WordStar mostly sets character widths based on the proportional-width table in the driver, on the more advanced daisy wheel printers, WordStar uses the printer's proportional- spacing mode. WordStar determines how much white space is needed to right-justify the line based on its own proportional width tables. If the table values don't match the wheel installed, WordStar won't be able to justify the line correctly. WordStar sends standard ASCII characters; if a proportional wheel uses a different spoke mapping, set up the printer to handle this. LASER PRINTERS WordStar supports laser printer features such as font changes and proportional spacing. WordStar supports several laser printers: the Canon LPB-8 A1 & A2; the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; and the Ricoh LP4080. Refer to the "Specific Printer Information" section of this file for information on these printers. General notes about using laser printers are given below. Paper Size and Margins Laser printers come with preset page margins. You need to compensate for these margins by changing page length in your WordStar documents. The chart below shows the recommended settings for 8 1/2 X 11 inch paper for both portrait and landscape orientations. These settings allow 55 lines of text for portrait orientation and 40 lines of text for landscape orientation (at 6 lines per inch). They also allow for a footer of up to 3 lines and a one-line header. If you use multiple-line headers, adjust the top margin accordingly. Dot Default Portrait Landscape Setting Command Value Orientation Orientation ------- ------- ------- ----------- ----------- page length .PL 66 62 47 top margin .MT 3 2 2 bottom margin .MB 8 5 5 header margin .HM 2 1 1 footer margin .FM 2 2 2 If the laser printer is your primary printer, you can use WSCHANGE to make these settings the defaults. Because laser printers leave small margins at the left and right sides of the page, you may want to use a smaller page offset setting (the default is .PO 8). Form Feeds When you print with a laser printer, answer Y for yes to the "Use form feeds (Y/N)?" prompt at print time. (The default is NO.) If the laser printer is your primary printer, you can use WSCHANGE to change the default to yes. WordStar Commands for Font Selection The WordStar dot commands and print control commands listed below determine the fonts used for printing a document. .PR .PR OR=L selects landscape orientation; .PR OR=P (or just .PR OR) selects portrait orientation (the default). If either of these commands appears after the first printing line on a page, the orientation will not change until the following page. .PS .PS ON selects proportionally spaced characters; .PS OFF (the default) selects fixed-spaced characters. .CW The character-width setting (.CW followed by the width in 120ths of an inch) determines the character pitch and font selected for fixed-width printing. For proportional fonts, it determines the point size and proportional-width table selected. .LQ .LQ ON selects near letter quality print (if supported by your printer). LQ OFF selects draft quality print. Default is ON. ^PY The italic print control toggles between normal and italic characters when the appropriate italic font is available. ^PB The boldface print control toggles between normal and bold characters when the appropriate bold font is available. ^PD The double strike print control used with the laser printers toggles overprinting with a horizontal offset of 1/120" between the two character images. This allows a bold effect ELECTRIC WEBSTER Grammatical Data Summary  = Average Word Length.  words = Average Phrase Length.  phrases = Average Sentence Length.  sentences = Average Paragraph Length.  words = Average Sentence Length.  Long Words. (%)  Long Phrases. (%)  Long Sentences. (%)  Long Paragraphs. (%)  MARKERS (^^) PLACED DELETE WORDCHANGE CASEhalf amanymanyseveral,many,somepreferawhile,a while=article-noun, as in "for a while"capable,able=having the ability or opportunity tothe,this,that,thoseusually unnecessaryexcept,accept=receiveexperiencefactsad, add=supplementadequateaverse,adverse=opposedadvise,advice=nounadvice,advise=verbeffect,affect=influencethenaide, aid=helpisle, aisle=passagewayallalready,all ready=everything setthroughoutaltogether,all together=bunchedelude,allude=mention indirectlyillusion,allusion=indirect referencesimilar tosimilar tosimilarlyall ready,already=by nowall rightaltar, alter=to changeall together,altogether=completelynumber,amount=quantitya veryetc.whichwhoanalyst, annalist=writer of annalsanotheraunt, ant=insecteager,anxious=feelings of anxietyany,allanybodyanywayanywhereliable,apt=have an aptitude forark, arc=curvedecidedecidedbecausein factforagainstas followsat least as good aswhilepresentlypresentlyaccording toaboutaboutaboutassent, ascent=climbassembleassembledascent, assent=agreementiflateratalwayspreviouslysoonearly, dawnwhennowwhenencloseddue toadverse,averse=unwillingverya while,awhile=adverb, as in "stay awhile"remainder,balance=financial use onlybear, bare=uncoveressentialsbass, base=foundationessentialsfundamentalsassinceamong the three of us,between=two onlybiennial, biannual=twice per yearbiggenuinebullion,bouillon=broth,soupbreak, brake=stopbraise, braze=solderbrake, break=smashbreathe, breath=nounbreath, breathe=verbbridle, bridal=weddingbrieftake,bring=where something is moved toward speakerconclude,endbouillon,bullion=goldborough, burro, burrow=holebut,howeverthatbybymay,can=having the abilitycannotcan't helpcanon,cannon=gun,weaponcannot helpcannon,canon=lawable,capable=having skills or capacity tocapitol,capital=money,city,large lettercapital,capitol=legislative buildingcenter oncenter oncentering oncentering oncenters oncenters oncheckcheckchose, choose=decidechoose, chose=did choosecirclecircledcirclingsite,cite=mention declare,state,claim=demand what is one's rightclimatic,climactic=high pointclimactic,climatic=weatherclose tocourse, coarse=roughcollaboratecollectcomma, coma=stuporcombineendaccordcompare withcomplexionedcompliment, complement=completing partcomplimentary,complementary=completingfullcomplement, compliment=praisecomplementary,complimentary=praisingcomply withconnectconnectconsensusresultconsolidatecontinueremaincooperatecooperatecorrespondence, correspondents=writerscould haveconsul, council, counsel=advice, advisecountcouplecoupledcoarse, course=way, runtimecreak, creek=streampitydata aredebatedecide,selectisillusion,delusion=fixed aberration of minddeprivation,depravation=perversiondepreciatedepreciateddepravation,deprivation=loss,dispossessiondecent, dissent, descent=going downdessert, desert=abandon, dry areadeservebenefitsdesert, dessert=foodwithoutdye, die=stop livingkindsdifferent fromproblem,dilemma=two choices onlydinner, diner=person eating, restaurantdiner, dinner=mealdiscrete,discreet=prudentdiscreet,discrete=separate,distinctuninterested,disinterested=impartialdecent, descent, dissent=disagreedividepracticaldrankdual, duel=fightnotedduringwhiledie, dye=coloreachone another,each other=between twoanxious,eager=highly desirousbeginningsaffect,effect=result(noun),produce(verb)affective, effective=having effectillicit, elicit=draw forthallude,elude=avoid,escapeillusive, allusive, elusive=hard to graspimminent,immanent;eminent=distinguishedemptyenclosedenclosedresultenterenterenthusiasticusually unnecessaryas good asnow and thenidenticalaccept, except=besidesusuallytend tofacefactsfurther;farther=distancefastfearfearfewfewless,fewer=things that can be countedfewercompletionendingoutcomeresultcompletearrive at a conclusionfirstbeginningsinitiatedfirstfirstflare, flair=knackinflammableflair, flare=blazefollowemulatefollowing,afterfor,tobecause,sincebecause,sincethereforeused only with two persons or objectsfortunate,lucky,fortuitous=happens by chanceaccording tofull,completefullyfarther;further=greater(not distance)furry, ferry, fury=angerplansagreed receive,arrive,recoverjibe,gibe=tauntindicatehelpauthorizecauseto be graduatedmostminimizeoughtcouldhail, hale=healthyhas tocanneedpreferhave toheadheel, heal=curewhole, hole=ditchhope forhopeusually a misplaced modifierhostile, hostel=innhoweveriidol, idyll, idle=not activeif, whenif possibleallusion;illusion=unreal imageallusive, elusive, illusive=deceptiveeminent,imminent;immanent=indwellingemerge, immerge=plungeeminent,immanent;imminent=impendingbegin, fulfill, accomplishinfer,imply=indicate,suggest indirectlyessentialsusually unnecessaryoftenlargelycanpreciselyin a sensebesidesbeforealwaysbehindforbehindbetweenwithabout,concerningmore thanlargelyconsideringoftenusuallyi thinknevertowe thinkhaverarelyconcerningaboutaboutscarcesometimesinwithoutforconsideringwhile,duringuponifinultimatelysoonasultimatelyabout, concerningsoonapproximatelysoonnearbetweenasnearvery muchherebecause,sincesinceusually unnecessaryindicatesindiscrete,indiscreet=lacking prudenceindiscreet,indiscrete=not separatedimply,infer=deduce from facts at handinferior toingenuous,ingenious=cleveringenious,ingenuous=frank, openharminsidechangeintentsregardlessobviouslyapparentlyclearlypossiblyevidentlynote thatofteni suggest, we suggestapparentlyifits, it's=it isit's, its=possessive of itgibe,jibe=nautical term, agreejoincooperationpartnershipjust,exactlycolonel, kernel=grainkind ofknowlapselargemanyfinallylater>used only with two persons or objectslie, lay=to set downteach,learn=receive factsloan,lend=verbfewer,less=referring to quantitylet'slikelyliable, libel=defamelay, lie=be false, to be restingas,like=verb or preposition,never conjunctionliable,likely=high degree of probabilitylinklittlelend,loan=nounloan, lone=solitarylose,loose=free,opposite of tightloose,lose=suffer a losslosemanyessentialsplurality,majority=more than half attend,decide,or another more precise wordadjustapproximateexaminemeetmentionlistmeetadjustadjustsapproximatesexaminesmeetsmentionslistsmeetsadjustsmantle,mantel=fireplace facingmantel,mantle=coat,cloakmartial,marital=marriagemarital,martial=militarymaximumcan,may=being permittedmeet, mete, meat=fleshmeddle, medal=awardmeat, mete, meet=come uponmeetmemoranda aremergemay,might=future condition dependent on hypothesismight haveminor, miner=mine workerminglemixmorale,moral=lessonmoral,morale=mental condition,general spiritmore nearly adequatepreferable tomourning, morning=part of dayuniquemust havecooperationrequisitecertainlyneverthelesscheerful,etc.(use a more descriptive word)cannotamount,number=countable quantitythink that,believe thatagreeoffoccasionallybecause offorbecauseonbyeach other,one another=three or moreopenordinance, ordnance=artilleryoutside,besidesfinishedoverpale, pail=bucketpane, pain=hurtpare, pear, pair=twopail, pale=whitepain, pane=windowperson,party=legal usage onlypassed, past=over,gone byhistorypiece, peace=harmonypeek, pique, peak=highest pointshort time,long timeprerequisite,perquisite=privilegepersonnel, personal=privateprospective,perspective=viewaboutsizepeace, piece=partpistol, pistil=part of plantplane, plain=clear,simpleplanplanplanplain, plane=levelpleaseenclosed ismajority,plurality=highest within greater numbertimepoll, pole=rodpour, pore=ponder,tiny openingpractical,practicable=capable of being donepracticable,practical=known to be workableproceed,precede=to go beforeperquisite,prerequisite=requirementreportnow,presentprinciple,principal=most important,school headprincipal,principle=noun,rule,underlying tenetbeforeprecede,proceed=to move forwardprophesy,prophecy=nounprophecy,prophesy=verbprescribe, proscribe=forbidperspective,prospective=possibleproven,proved=verb or part of verb phraseproved,proven=adjectiveprovidingunderputt, put=placequite, quiet=stilluniquereign, rein, rain=stormrange fromraise, raze=demolishvery goodreality, realty=real estatereason isreasonreasonsrecurrefercalledreflectregardingregrettableaboutrepeatrepresentsrecent, resent=begrudgeeffect, resultresumeretreatreturnreturnrevertrite, write, right=correctroute, rout=defeat,noisy mobsealseems,is apparentseldomscent, sent=transmittedsurge, serge=fabricsow, sew=stitchshould havecite, site, sight=viewsimilar tounitcite,site=position,locationsmalltosore, soar=flysoul, sole=bottom surface,onlysomewheresomewhatperiodexplainstacksteak, stake=part,sharestate thatstationery,stationary=not movingstationary;stationery=letter paperstyle, stile=stepscontinueremainstrait, straight=not bentstress thatuponagreeaccomplishsuggestssuite, sweet, suit=clothessummary, summery=like summersuperior tosupposed tobe sure tocircumstancessuspicion,suspect=verbsuspect,suspicion=nounsuite, sweet=like sugarbring,take=where something is moved away from speakerconsidertaut, taught=trainedlearn,teach=imparting informationteam, teem=aboundtermedthe endthe,this,thatexcept thathealthyactuallythere, they're, their=possessive of theythere's, theirs=belonging to themtheir,they're, there=at that placefewthereforei believe, we believeno doubtthere is,theirs, there's=there istherefore, therefor=for it, in exchangethis kindtheir,there, they're=they are any other more precise wordthink oftodaythrough, threw=past of throwthroughwith,by usingthroughout,in the entirethusintervalto deservein summaryusually unnecessarytroupe,troop=soldierstroop,troupe=actors,entertainersfactfactstry tolastendseparatelyseparatelyhave tohas topurposestudyconsistentdisinterested,uninterested=not interesteduntilunwonted,unwanted=not wantedunwanted,unwonted=not usualuntil nowonurbane,urban=of the cityurban,urbane=socially poisedused tocontrolprovideusevane,vein, vain=futile,conceitedvain,vein, vane=bladevery, vary=changeuniquealternativealternativealternativesvise, vice=evil conductvice, vise=clampwaver,waiver=in law to give up a rightwaiver,waver=hesitate,flutterweigh,whey, way=route,mannerwaywe thankwhether, weather=atmospheric conditionswheneverweather, whether=ifwhetherwhose, who's=who iswho's, whose=possessive of whowhile, wile=trickwhine, wine=beveragetowithoutconcerningregardingaboutexceptso thatthereforenowapplies only to actions,not objectswould haveyou're, your=possessive of yououryour, you're=your areours thatthereforenowapplies only to actions,not objectswould haveyou're, ytionswheneverweather, whether=ifwhetherwhose, who's=who iswho's, whose=possessive of whowhile, wile=trickwhine, wine=beveragetowithoutconcerningregardingaboutexceptso thatthereforenowapplies only to actions,not objectswould haveyou're, y super/subscripts in separate pass with specified roll .CW Supports any value from 0 to 30. Usual fixed pitch values are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). .LQ N/A .UL Continuous underlining does not affect microspace justifi- cation .PS ON selects proportional spacing; OFF selects fixed pitch spacing. If a proportional print wheel has a non-standard spoke pattern, configure the printer to translate spoke position into the appropriate character. This driver sends codes to the printer to turn proportional spacing on and off, and the printer controls character to character spacing. NOTES The proportional spacing tables have been set up for a Diablo metal 96 character BOLD PS wheel. DIABLO C150 & C200 COLOR JET PRINTERS ----- Driver: C150 ^PY Selects red/black ink .CW 10 characters per inch only .LH 1/30" resolution .PS N/A .LQ N/A EPSON FX-80 AND FX-100 ----- Driver: FX80 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. EPSON FX-85, FX-185 AND FX-286 ----- Driver: FX85 ^PY Selects draft quality italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 6 - - compressed elite 7 - - compressed 10 - - elite 12 12 11 (10-13) courier 14 - - expanded compressed 20 - - expanded elite 24 24 22 (20-30) expanded courier .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. .UJ must be on for proportional text to be right-justified. EPSON LQ-800 AND LQ-1000 ----- Driver: LQ800 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- - - - compressed script 6 6 - compressed elite 7 7 6 (0-7) compressed 8 - subscript 15 cpi 10 10 - elite 12 12 10 (8-16) pica 14 14 - expanded compressed 16 - expanded script 20 20 - expanded elite 24 24 - expanded courier EPSON LQ-1500, VERSION 2.0 ----- Driver: LQ1500 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 7 - - compressed 10 10 - elite - - 8 (1-9) subscript 15 cpi 12 12 11 (10-13) courier 14 - - expanded compressed - - 15 (14-18) expanded script 20 20 - expanded elite 24 24 20 (19-30) expanded courier .UL Continuous underlining suppresses microspace justification. In proportional fonts, continuous underlining may appear broken between words. NOTES If you have an older LQ-1500 (firmware version 1.8), your printer will have horizontal position registration problems. For best results, contact your printer dealer about a ROM upgrade. EPSON LX-80 - Driver: LX80 ^PY Selects draft mode italics ^PT/V Prints half height if .SR 0, else full height with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 - elite 12 12 courier 14 - expanded compressed 20 - expanded elite 24 24 expanded courier .LH Use even values. Driver operates at 2/48" resolution. .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. |BLCTTEDNRTLICGNMTTVZLKTSRSSMY뀀AAN IEIN LIA FUISSOEIO EONESOUANA ESISIMENIIDICT3 EW 7q INSERT DISK CONTAINING "DICT3.EW" FILE, AND PRESS KEY. ~0G#~ !Cl!!:".! "0!"!AA"":ͩ ; ͩ AA!:".!AA""::<[(22:>A22::<2[2:[Í[2K_( ^*.ww¦#K6~~w@S#"Ix2:> 2 +}(~2_w#~w #K~2+2_w~ ^^,,9~@$~1~^(1,9~"P">2">2!P>2^*B(:B"0":*(7(3 (/[*,|~w   -"":02:P!9> ͡:^<2^~ʍõ?|2:B"0">21~^ +>"21-~^̘"-:R}2:!9 > ͡>2^2*~ʍʍõɷ*%>@ &Z-"":(! €S*zeo"z*0͆w,"0̴ͬ ! "0: 2 I > ͡>͡Ä > ͡; z ; z DICT3 SRC*0+~4S PRINTDIC PART OF ELECTRIC WEBSTER VER #1.8a COPR. 1982 CORNUCOPIA SOFTWARE, INC. N####F"I͡#~w(&o( #v+( _͡>/ _@ >-͡o(>/͡+~#~˯* (ͷ :z/ :{͡_O!oS y͡~#A͡> ͡I _ ( !"! ͛ DICT3.EW NOT FOUND ON CURRENTLY LOGGED DRIVE. $d z   > _++6T] F#N# d !m ͛ DISK FULL. $! ͛ DISK READ/WRITE ERROR. $ > w,"0̴>  ͜  ( < >A>I͡#~+_ >T͡>/͡,!m ͛ DISK FULL. $! ͛ dentifies your cartridge is on the front label, directly following the number 92286. For example, the Y cartridge is labeled 92286Y. Soft fonts: Soft, or downloadable, fonts are supplied on disk. These fonts are not explicitly supported by WordStar. LaserJet Font Selection Each LaserJet font has several characteristics associated with it. When a printer driver specifies font characteristics to the LaserJet, the LaserJet searches its available fonts for the best match to the characteristics requested. The following table describes these characteristics, in the order in which the LaserJet evaluates them when selecting a font. Characteristic WordStar Control -------------- ----------------- * Orientation (portrait or landscape) .PR OR=P/L * Symbol Set (Roman-8, USASCII, Printer driver Line Draw, etc.) * Proportional or fixed spacing .PS ON/OFF * Print pitch (fixed-width fonts) .CW * Character height (point size) .CW * Character style (upright or italic) ^PY * Stroke weight (light, medium, bold) ^PB Note that symbol set is high in the list of characteristics: make sure that the driver you select is compatible with the symbol set of your cartridge or downloaded fonts. The symbol sets used by each driver are listed in the table in the next section. For example, if your cartridge has the USASCII Symbol Set, you can't use the HPLJ:U driver because it uses only the Roman-8 Symbol Set. LaserJet Printer Drivers WordStar provides two printer drivers for use with different LaserJet font cartridges. Each of these drivers lets you print with several of the available fonts. You can use any of these drivers with the LaserJet, LaserJet+, or LaserJet 500+, depending on the cartridge. Refer to the table below to see which driver works best for you. The table lists the following information for each driver: o The symbol sets used for fixed and proportional spacing These must correspond to the symbol sets on the installed fonts you want to use. The "Default" symbol set refers to the one the LaserJet defaults to. o The proportional-spacing tables used by the driver These tables are part of the LaserJet's method of proportional spacing. The tables determine the width of each character in a proportionally spaced font. The fonts corresponding to these tables are used if available. If the corresponding font is not installed, the table is still used, and the closest available font is used. This may cause the spacing to appear too tight or too loose. In this column, the number is the point size, R stands for regular, B stands for bold, and I stands for italics (the LaserJet has separate tables for each of these). o The font cartridges that work best with the symbol sets and tables used by the driver The cartridges listed are the only ones directly supported for use with WordStar. If your cartridge is not listed, you may still be able to use it. Look at the font information below and try the most compatible driver. You may need to try different dot command settings or another driver. The HPLJET is the most "general purpose" driver, so if you're not sure which driver to use, try it first. Fixed-width Proportional Proportional Downloaded Driver Symbol Set Symbol Set Tables Fonts/Cartridges ------ ----------- ------------ ------------- ---------------- HPLJET Default Default TmsRmn 8R, F, P, most fixed 10R,10B,10I Helv 14B HPLJ:B Default USASCII TmsRmn 8R, B 10R,10B,10I Helv 14B HPLJ:U Roman-8, Roman-8 Helv 6R,8R, U, V Line Draw 10R,12R,14R HPLJ:Y PCSET1 USASCII TmsRmn Y, AC PCSET2 6,8,10,12,14 (all in R,B,I) 18B,24B,30B HPL:AD Roman-8, Roman-8 TmsRmn AD Line Draw 6,8,10,12,14 (all in R,B,I) 18B,24B,30B The printer driver charts below show the actual fonts that print with each printer driver and the recommended font cartridges. The charts show the fonts used for both fixed and proportional spacing and for different character width (.CW) settings. The recommended .CW settings are shown first. The settings in parentheses select the same font, but the spacing of characters within a line may appear tighter or looser. After the name of each font, the charts note whether regular (R), bold (B), and italic (I) fonts are available. If a bold font is not available, you can use the ^PD (double strike) command to get a boldface effect. The last column shows whether you can print in landscape (chosen in WordStar with .PR OR=L) as well as portrait orientation. To use a particular font, choose the settings listed. For example, to use the Times Roman 8 font with the HPLJET printer driver, insert the F cartridge, turn .PS on and set character width to .CW 7. HP LASERJET, LASERJET+ (F cartridge and others) ----- Driver: HPLJET ^PY Selects italics if appropriate font installed ^PT/V Prints full-size chaq WRITGRAM.COM 1.8a Part of Electric Webster $Copr. 1982 Cornucopia Software, Inc. P.O.Box 6111, Albany, CA $_$A@> ͮ 5Different Phrases $> ͮ * e !l *Ge !l !^ !"C *+"WØ ALPHABETIZING COMPLETE. $͸ !l !4l I=>*W[ZR"\h ** Press RETURN to comtinue ** $ { Warning: GRAMMAR.PHR and GRAMMAR.SUG will be overwritten! $*!l !͋!} :|0!}~!}!͆J! *Z"AR! !" *A"6#6#6#6#"A*A"E#"A} 8 (} (i  A8 *Aw#"A*Ey8 @ q Ë"Aæ! 50 > !} +!w}!͆t0 !|H.PCL D FILE NOT FOUND. a Insert DICTIONARY Disk and press RETURN key. Next File to be processed (Hit for "none"): $*A+}[E(y#6#6#6#6"A"Z}!K!|l !ml ^ } !h0  !h0 SP WARNING: GRAMMAR.PHR and GRAMMAR.SUG files will be overwritten! Insert grammar disk into logged drive. Hit any key. $ AEIOUY####~2YO>:#2Z(~G#>:(  ȿ<29~::Z!Y29"PÑ͢*"="?2L*=ʑz(-*?*=fn|(4>f|(n>͔*=ut>ͦ*G#"G*=ut>͏s{*=~(Q^V,~ "=s{~ ~($~ ~(~((^Vx}͟ > ͮ > ͮ !l >12 v   ~0G#~  >  *A+"A#*}!"A*P" ![WSs{!"=>^2s{>2}!{  E *W" R"!" "GR"R"W * #" *W%[AR*! 7Z TOO MANY PHRASES. END IGNORED! *w#" ( (* R" ["PR * R"> > > > ! ~~# 8 ( ! "!"* , ~" ͏}Y!} ѷ : :C N( S >*!!4 #4!!5~ #5| >!" 2 2 " !J " > " > " ![y  }'͒ ͒ d͒  ͒ }0ͮ > ͮ > ͮ 巯R <0ͮ >#~+O ~ <!" > 2yͮ >A2>2< >2 "A!` A> ͮ > ͮ > ͮ æ:< <2<  !!u >2< C ENTRY TOO LONG: > ͮ > ͮ !u  !r!k&D Loading document. > _} ++pT] }++F#N#  }Ö $_}Öd0.0 8,:g"T !L l ERROR xx Returning to Cp/M $ }Ö}}”  !"z Ƀ *Bw#"B> !"Bz }}}sY! 6}fY!!6#6#6!" *U" ! 6Y}Ö}>R!Y>w>Ï }ál !} > w# *5*~b̝!=o~#fo$%(s#rÑ!D:<2[ʃ!Ao~#fo$%@"!Y#6#}!Y : w6# > w#   . w# 7y#  w#  `_>2 2 } ͆!" (>2 2 !" CORRECT1.EW }:> : 2 *W%%[GRR:>  SSZ:] !\ >?!\} !H6!V"I}<2 2 !H6!!"IDJ Writing files to disk. _ !{ l ^K*y~# C">2> 5####N#!~#(^@>>2ͷ g:)+$ͷ g:*|2*` |2)O! :=w#:<w}ͷ 2*!>2 2  }>2!z   }> ͮ 8!l l !l ^< UNABLE TO OPEN FILE --> $ TO CONTINUE PRESS ANY KEY $ FILES NOT COMPLETELY WRITTEN - REDO $ REMOVE ANY WRITE PROTECT TAB. REINSERT DISK. PRESS ANY KEY. $ ELECTRIC WEBSTER Grammatical Data Summary  = Average Word Length.  words = Average Phrase Length.  phrases = Average Sentence Length.  sentences = Average Paragraph Length.  words = Average Sentence Length.  Long Words. (%)  Long Phrases. (%)  Long Sentences. (%)  Long Paragraphs. (%)  MARKERS (^^) PLACED DELETE WORDCHANGE CASE !<4 #42N0 :N:\<2\p:]<2] 2ND0 :N ͉ 8 !z  8 !͒} !}8*<|eo"!a<!"  "} }!l }>ͷ:( 8>>>>ͷ2 8ͷ2>(! 07>>:>:]>:\>ͷ 82E:^:E>^:^:^ͷ ^ DONE $~e ~ >b~O2###"666## >: >bw:wO~ >>##(6:#6b*A##"A:<<+@  been:r be:r am:r being:r were:r are:r is:r was:r wasn't:r isn't:r aren't:r weren't:r hardly:n neither:n never:n no:n nor:n nobody:n nothing:n not:n none:n nowhere:n rarely:n scarcely:n seldom:n noway:n nowise:n nowhither nowheres never:n no:n nor:n nobody:n nothing:n not:n none:n nowhere:n rarely:n scarcely:n seldom:n noway:n nowise:n nowhither nowheres gh degree of probabilitylinklittlelend,loan=nounloan, lone=solitarylose,loose=free,opposite of tightloose,lose=suffer a lo fonts may be available depending on your cartridge. (Note that these are measure by pitch, not by point size.): .CW Font Name --- --------- 7 16.7 pitch 10 12 pitch 12 10 pitch 15 8.1 pitch 18 6.5 pitch 21 5.8 pitch 27 4.5 pitch .LQ N/A .PL For 11 inch paper, a value of 62 is recommended. Too large a value will cause text to be lost at page bottom. .PR OR "=Landscape" or "=Portrait" to select orientation. NOTES Answer yes to the "Use form feeds" prompt. This driver is for use with the AD TmsRmn downloaded fonts, and for a ROMAN8 or ROMAN8+LINEDRAW fixed width font cartridge. The driver includes complete proportional spacing tables for the AD set of downloadable TmsRmn fonts. HP THINKJET, IBM mode ----- Driver: HPTJI ^PY N/A ^PT/V Prints full-size characters with roll .CW .CW Font Name --- --------- 7 compressed 10 elite 12 pica 14 expanded compressed 20 expanded elite 24 expanded pica .LH Use even values. Driver operates at 2/48" resolution. .LQ N/A .PS N/A .UL Continuous underlining suppresses microspace justification .UJ Microspace justification slows printing. Default is ON. NOTES This printer does not have a true 10 pitch font, so character widths are not exact, and ^P@ does not align exac* Program..: CB-NBWD.CMD (.PRG) * Author...: Tom Rettig * Date.....: August 26, 1983 * Revised..: January 11, 1984 * Notice...: Copyright 1983, ASHTON-TATE, All Rights Reserved. * May not be reproduced without written permission. * Notes....: Subroutine for converting a numeric dollar amount * (to $999,999.99) to words. * Parameters passed: * name type length description * ---------- ---- ------ --------------------------- * in: amt:full N 3 - 9 Including 2 decimal places. * out: amt:word C 23 -86 Depending on the amount. * is:error L 1 .T. if error in conversion. * Initialize memory variables... STORE "ONE TWO THREEFOUR FIVE SIX SEVENEIGHTNINE TEN " TO t:unit STORE "ELEVEN TWELVE THIRTEEN FOURTEEN FIFTEEN SIXTEEN "+; "SEVENTEEENEIGHTEEN NINETEEN " TO t:teen STORE "TEN TWENTY THIRTY FORTY FIFTY SIXTY SEVENTYEIGHTY NINETY"; TO t:decade STORE " " TO amt:word STORE F TO is:error * * Convert decimal places to a string containing cents amount... STORE STR((amt:full-INT(amt:full))*100,2) TO t:cent:str IF t:cent:str = " " STORE "0" + $(t:cent:str,2,1) TO t:cent:str ENDIF * Change tthe environment for upcoming branches... SET EXACT ON * Conditional branch... DO CASE * Branch for amounts too high or too low... CASE amt:full > 999999.99 .OR. amt:full < 0.00 STORE T TO is:error RELEASE ALL LIKE t:* SET EXACT OFF RETURN * Branch for zero dollars... CASE amt:full < 1.00 STORE " NO " TO amt:word * Branch for other conditions... OTHERWISE * Convert dollar amount to a character string... STORE STR(INT(amt:full),6) TO t:amt:str * Branch for hundred thousands... IF $(t:amt:str,1,1) > "0" STORE $(t:amt:str,1,1) TO t:hunthous STORE amt:word+TRIM($(t:unit,(VAL(t:hunthous)-1)*5+1,5))+; " HUNDRED " TO amt:word ENDIF * Branch for ten-thousands and thousands... IF $(t:amt:str,2,2) > " " STORE $(t:amt:str,2,1) TO t:tenthous STORE $(t:amt:str,3,1) TO t:thousand * Branch for combinations of ten-thousands and thousands... DO CASE CASE $(t:amt:str,1,1)>"0" .AND. VAL($(t:amt:str,2,2))=0 STORE amt:word + "THOUSAND" TO amt:word CASE t:tenthous=" " .OR. t:tenthous="0" STORE amt:word+TRIM($(t:unit,(VAL(t:thousand)-1)*5+1,5))+; " THOUSAND" TO amt:word CASE t:thousand="0" STORE amt:word+TRIM($(t:decade,(VAL(t:tenthous); -1)*7+1,7))+" THOUSAND" TO amt:word CASE t:tenthous="1" STORE amt:word+TRIM($(t:teen,(VAL(t:thousand)-1)*9+1,9))+; " THOUSAND" TO amt:word CASE t:tenthous>"1" STORE amt:word+TRIM($(t:decade,(VAL(t:tenthous); -1)*7+1,7))+"-"+TRIM($(t:unit,(VAL(t:thousand); -1)*5+1,5))+" THOUSAND" TO amt:word ENDCASE * Branch for comma or space after thousands... IF VAL($(t:amt:str,4,3)) > 0 STORE amt:word + ", " TO amt:word ELSE STORE amt:word + " " TO amt:word ENDIF ENDIF * Branch for hundreds... IF $(t:amt:str,4,1) > "0" STORE $(t:amt:str,4,1) TO t:hundred STORE amt:word+TRIM($(t:unit,(VAL(t:hundred)-1)*5+1,5))+; " HUNDRED " TO amt:word ENDIF * Branch for tens and ones... IF VAL($(t:amt:str,5,2)) > 0 STORE $(t:amt:str,5,1) TO t:tens STORE $(t:amt:str,6,1) TO t:ones * Branch for combinations of tens and ones... DO CASE CASE t:tens=" " .OR. t:tens="0" STORE amt:word+TRIM($(t:unit,(VAL(t:ones)-1)*5+1,5))+" "; TO amt:word CASE t:ones="0" STORE amt:word+TRIM($(t:decade,(VAL(t:tens)-1)*7+1,7))+" "; TO amt:word CASE t:tens="1" STORE amt:word+TRIM($(t:teen,(VAL(t:ones)-1)*9+1,9))+" "; TO amt:word CASE t:tens>"1" STORE amt:word+TRIM($(t:decade,(VAL(t:tens)-1)*7+1,7)); +"-"+TRIM($(t:unit,(VAL(t:ones)-1)*5+1,5))+" "; TO amt:word ENDCASE ENDIF ENDCASE * Branch for one dollar or more, and put the word string together IF amt:word = " ONE" STORE $(amt:word,2,LEN(TRIM(amt:word))+1) + "DOLLAR and " +; t:cent:str + "CENTS" TO amt:word ELSE STORE $(amt:word,2,LEN(TRIM(amt:word))+1) + "DOLLARS and " +; t:cent:str + " CENTS" TO amt:word ENDIF * Restore the environment and return to the calling program RELEASE ALL LIKE t:* SET EXACT OFF RETURN * EOF: CB-NBWD.CMD (.PRG) ENDCASE ENDIF ENDCASE * Branch for one dollar or more, and put the word string together IF amt:word = " ONE" STi 20 - 6 cpi 24 24 5 cpi .LH 1/24" resolution, use even values .PS N/A .UJ N/A NEC PINWRITER P2-3, P2-6, P3-3, P6-6 ----- Driver: NECP2I ^PY N/A ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 - compressed 10 10 elite 12 12 pica 14 - expanded compressed 20 20 expanded elite 24 24 expanded pica .PS N/A .UL Continuous underline suppresses microspace justification .UJ Microspace justification slows printing. Default is OFF. NOTES Page offsets smaller than the character width in effect are not supported. Make sure switch 5 on the printer is off. NEC PINWRITER P5XL, P6, P7 ----- Driver: NECP5 ^PY Selects italics ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON .PS ON Font Name --- --- ------ --------- 6 6 - compressed elite 7 7 6 (0-8) compressed 8 8 - subscript 15 cpi 10 10 - elite 12 12 10 (9-17) pica 14 14 - expanded compressed 16 16 - expanded script 20 20 - expanded elite 24 24 20 (18-26) expanded courier 30 30 30 (27-30) triple elite NEC SPINWRITER 2000R, 3500R NEC SPINWRITER 2010, 3510, 7710 NEC SPINWRITER 2030, 3530, 7730 ----- Driver: SPINWR See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. Proportional spacing is not supported on the 2010 and 2030. NEC SPINWRITER 2015, 3515, 7715 ----- Driver: DIABLO See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. This printer does not respond correctly to the phantom blank and phantom rubout characters, and may lose horizontal alignment if they are included in your document. Proportional spacing is not supported on the 2015. NEC SPINWRITER 2050, 3550, 8850 ----- Driver: SPIN50 See Diablo 630, 1610, 1620 Daisy Wheel. .BP N/A NOTES The proportional spacing tables are set up for a NEC BOLD PS wheel. Proportional spacing is not supported on the 2050. OKIDATA MICROLINE 84 STEP 2, STANDARD ----- Driver: ML84 ^PY N/A ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll .LQ .LQ .CW OFF ON Font Name --- --- --------- 7 7 compressed 10 10 elite 12 12 pica 14 14 expanded compressed 20 20 expanded elite 24 24 expanded pica .PS N/A .UJ In draft mode (.LQ OFF), this printer is not capable of microspace justification. Different character widths may not line up* Program.: CB-RECON.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Reconcile the bank statement ERASE * total outstanding checks USE Cb-check SUM Amt TO outstand FOR .NOT. Can @ 2,15 SAY " PROGRAM TO RECONCILE WITH BANK STATEMENT" @ 3,15 SAY " ----------------------------------------" * total deposits in transit USE Cb-bank SUM Amt TO notclear FOR .NOT. Clear STORE -1.00 TO bank:bal STORE T TO loop1 DO WHILE loop1 DO WHILE bank:bal < 0.00 STORE 0.00 TO bank:bal @ 5,5 SAY "Enter ending balance from bank statement $ " GET bank:bal READ ENDDO STORE " " TO answer @ 7,25 SAY "Is this correct? [Y/N] " GET answer PICTURE "!" READ @ 7,0 IF answer $ "Y " STORE F TO loop1 ELSE STORE -1.00 TO bank:bal ENDIF ENDDO * erase colons surrounding bank:bal input @ 5,49 SAY " " @ 5,60 SAY " " @ 7,18 SAY "ADD: "+STR(lastdep,2,0)+" deposits in transit $" @ 7,50 SAY notclear @ 8,49 SAY "------------" @ 9,49 SAY bank:bal+notclear @ 11,11 SAY "SUBTRACT: Total outstanding checks $" @ 11,50 SAY outstand @ 12,49 SAY "------------" IF outstand > 0.00 @ 11,49 SAY "<" @ 11,61 SAY ">" ENDIF STORE bank:bal+notclear-outstand TO truebal @ 13,27 SAY "True cash balance = $" @ 13,50 SAY truebal @ 15,27 SAY "Checkbook balance = $" @ 15,50 SAY balance * initialize memory variables STORE F TO decision IF truebal = balance STORE T TO equal @ 19,14 SAY "Checkbook and bank statement exactly balance" STORE " " TO answer @ 21,16 SAY "Press any key to return to main menu " GET answer PICTURE "!" READ RELEASE outstand,notclear,bank:bal,loop1,answer,truebal,decision,equal USE RETURN ELSE STORE F TO equal @ 18,14 SAY "Bank Statement and Checkbook do not balance" USE Cb-depst IF truebal > balance STORE T TO greater ELSE STORE F TO greater ENDIF ENDIF STORE F TO is:valid DO WHILE .NOT. is:valid STORE " " TO mdate @ 20,17 SAY "Enter Bank Statement Date " GET mdate PICTURE "##/##/##" READ @ 21,20 DO Cb-date IF .NOT. is:valid @ 21,20 SAY "Invalid date - please reenter" ELSE STORE " " TO answer @ 21,22 SAY "Is this correct? [Y/N] " GET answer PICTURE "!" READ @ 21,20 IF answer = "N" STORE F TO is:valid ENDIF ENDIF ENDDO ERASE @ 2, 0 SAY "========================================" @ 2,40 SAY "========================================" @ 3, 0 SAY "||" @ 4, 0 SAY "========================================" @ 4,40 SAY "========================================" @ 5, 0 SAY "||" @ 6, 0 SAY "||" @ 7, 0 SAY "||" @ 8, 0 SAY "||" @ 9, 0 SAY "||" @ 10, 0 SAY "||" @ 11, 0 SAY "||" @ 12, 0 SAY "||" @ 13, 0 SAY "||" @ 14, 0 SAY "========================================" @ 14,40 SAY "========================================" @ 13,78 SAY "||" @ 12,78 SAY "||" @ 11,78 SAY "||" @ 10,78 SAY "||" @ 9,78 SAY "||" @ 8,78 SAY "||" @ 7,78 SAY "||" @ 6,78 SAY "||" @ 5,78 SAY "||" @ 3,78 SAY "||" @ 3,27 SAY "BANK CREDITS AND CHARGES" @ 5,17 SAY "Credits" @ 5,57 SAY "Charges" @ 6,17 SAY "-------" @ 6,57 SAY "-------" @ 12, 4 SAY "------------------------------------" @ 12,40 SAY "------------------------------------" @ 5,40 SAY "|" @ 6,40 SAY "|" @ 7,40 SAY "|" @ 8,40 SAY "|" @ 9,40 SAY "|" @ 10,40 SAY "|" @ 11,40 SAY "|" @ 13, 4 SAY "True cash balance" @ 13,43 SAY "Checkbook balance" @ 8, 4 SAY "Interest earned" @ 8,43 SAY "Service charges" @ 9, 4 SAY "Bank collections" @ 9,43 SAY "Collection fees" @ 10, 4 SAY "Miscellaneous addition" @ 10,43 SAY "Miscellaneous charge" @ 13,25 SAY truebal DO WHILE .NOT. equal .AND. .NOT. decision @ 13,65 SAY balance STORE balance TO test STORE 1 TO count STORE 8 TO row STORE 27 TO col STORE 0.00 TO n1,n2,n3,n4,n5,n6 STORE -1.00 TO amount DO WHILE count < 7 DO WHILE amount < 0.00 STORE 0.00 TO amount @ row,col GET amount READ ENDDO IF count = 1 STORE amount TO n1 ELSE IF count = 2 STORE amount TO n2 ELSE IF count = 3 STORE amount TO n3 ELSE IF count = 4 STORE amount TO n4 ELSE IF count = 5 STORE amount TO n5 ELSE STORE amount TO n6 ENDIF 5 ENDIF 4 ENDIF 3 ENDIF 2 ENDIF 1 IF count < 4 STORE test + amount TO test ELSE STORE test - amount TO test ENDIF IF amount > 0 @ 13,65 SAY test ENDIF STORE count+1 to count IF count = 4 STORE 8 TO row STORE 65 TO col ELSE STORE row + 1 TO row ENDIF STORE -1.00 TO amount CLEAR GETS ENDDO STORE " " TO answer @ 16,20 SAY "Are the above entries correct? [Y/N] "; GET answer PICTURE "!" READ IF answer = "N" @ 16, 0 @ 8,27 SAY " " @ 9,27 SAY " " @ 10,27 SAY " " @ 8,65 SAY " " @ 9,65 SAY " " @ 10,65 SAY " " LOOP ENDIF IF truebal = test @ 18,17 SAY "Checkbook and bank statement exactly balance" STORE T TO equal ELSE @ 18,15 SAY "Checkbook and bank statement still do not balance" IF truebal > test STORE truebal - test TO diff ELSE STORE test - truebal TO diff ENDIF @ 19,23 SAY "The difference is $"+STR(diff,10,2) STORE " " TO answer @ 21,11 SAY "Do you still want to include the above changes? [Y/N] "; GET answer PICTURE "!" READ IF answer = "N " USE RELEASE outstand,notclear,bank:bal,loop1,answer,truebal,decision,; equal,greater,is:valid,mdate,test,count,row,col,n1,n2,n3 RELEASE n4,n5,n6,amount,diff RETURN ELSE STORE T TO decision ENDIF ENDIF ENDDO IF n1 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH n1,Paidfrom WITH "Interest earned" ENDIF IF n2 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH n2,Paidfrom WITH "Bank Collections" ENDIF IF n3 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH n3,Paidfrom WITH "Miscellaneous addition" ENDIF IF n4 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH -n4,Paidfrom WITH "Service charge" ENDIF IF n5 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH -n5,Paidfrom WITH "Collection fees" ENDIF IF n6 > 0 APPEND BLANK REPLACE Date WITH mdate,Amt WITH -n6,Paidfrom WITH "Miscellaneous charges" ENDIF STORE test - balance TO mamt IF mamt <> 0 USE Cb-bank APPEND BLANK REPLACE Date WITH mdate,Amt WITH mamt,Num WITH 0,Clear WITH T ENDIF STORE test TO balance USE RELEASE outstand,notclear,bank:bal,loop1,answer,truebal,decision,equal,; greater,is:valid,mdate,test,count,row,col,n1,n2,n3,n4,n5,n6 RELEASE amount,mamt,diff RETURN * EOF: CB-RECON.CMD (.PRG)  APPEND BLANK REPLACE Date WITH mdate,Amt WITH -n6,Paidfrom WITH "Miscellaneous charges" ENDIF STORE test - balance TO mamt IF mamt <> 0 USE Cb-bank APPEND BLANK REPLACE Date WITH mdate,Amt WITH mamt,Num WITH 0,Clear WITH T ENDIF SCHXC IF T:NAMEOK # 1 STORE ' ' TO FIELDDEF LOOP ENDIF STORE PARSE1 TO F&FIELDX.:NAME STORE PARSE2 TO F&FIELDX.:TYPE STORE &PARSE3 TO F&FIELDX.:LEN IF PARSE4 = ' ' STORE 0 TO F&FIELDX.:DEC ELSE STORE &PARSE4 TO F&FIELDX.:DEC ENDIF STORE FIELDNO + 1 TO FIELDNO STORE ' ' TO FIELDDEF ENDDO IF FNOHOLD = 0 ?"I'm afraid you didn't enter any fields. Please try it again." LOOP ENDIF STORE 1 TO OK ENDDO ERASE ?"Immediately following the creation of a file, dBASE II * Program.: CB-REPRT.CMD (.PRG) * Author..: Anonymous * Date....: February 9, 1984 * Notice..: Copyright 1984, Ashton-Tate and RSP, Inc. * Notes...: Print reports DO WHILE T ERASE @ 2, 0 SAY "========================================" @ 2,40 SAY "========================================" @ 3, 0 SAY "||" @ 4, 0 SAY "========================================" @ 4,40 SAY "========================================" @ 5, 0 SAY "||" @ 6, 0 SAY "||" @ 7, 0 SAY "||" @ 8, 0 SAY "||" @ 9, 0 SAY "||" @ 10, 0 SAY "||" @ 11, 0 SAY "========================================" @ 11,40 SAY "========================================" @ 10,78 SAY "||" @ 9,78 SAY "||" @ 8,78 SAY "||" @ 7,78 SAY "||" @ 6,78 SAY "||" @ 5,78 SAY "||" @ 3,78 SAY "||" @ 3,34 SAY "REPORTS MENU" @ 6,25 SAY " 0 - Exit" @ 7,25 SAY " 1 - Checks" @ 8,25 SAY " 2 - Bank Deposits" @ 9,25 SAY " 3 - Individual Deposits" STORE 4 TO choice DO WHILE choice < 0 .OR. choice > 3 STORE " " TO mchoice @ 11,33 SAY " select : : " @ 11,41 GET mchoice READ STORE VAL(mchoice) TO choice ENDDO STORE 6 TO row STORE 0 TO count DO WHILE count < 4 @ row+count,25 SAY " " STORE count+1 TO count ENDDO IF choice = 0 RELEASE choice,mchoice,row,count USE RETURN ENDIF @ 3,30 SAY " " IF choice = 1 STORE "Checks" TO option STORE 31 TO col STORE 5 TO ub @ 11,0 @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "||" @ 12,78 SAY "||" @ 13, 0 SAY "========================================" @ 13,40 SAY "========================================" @ 7,24 SAY " " ELSE IF choice = 2 STORE "Bank Deposits" TO option STORE 28 TO col STORE 4 TO ub @ 11,0 @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "========================================" @ 12,40 SAY "========================================" @ 8,24 SAY " " ELSE STORE "Individual Deposits" TO option STORE 25 TO col STORE 3 TO ub @ 9,24 SAY " " ENDIF ENDIF @ 3,col SAY !(option) + " SUB-MENU" @ row+choice,24 SAY " " @ 6,20 SAY "0 - Return to REPORTS MENU" @ 7,20 SAY "1 - List all "+option @ 8,20 SAY "2 - List all "+option+" between two dates" @ 9,20 SAY "3 - List all "+option+" over a certain amount" IF choice = 1 @ 10,20 SAY "4 - List all taxable checks" @ 11,20 SAY "5 - List certain taxable checks" USE Cb-check STORE " CHKNO DATE PAY TO THE ORDER OF AMOUNT"; TO command1 STORE " ----- -------- ------------------------------ ----------"; TO command2 STORE "' '+STR(Chkno,4,0)+' '+Date+' '+Payto+' '+STR(Amt,10,2)"; TO command ELSE IF choice = 2 @ 10,20 SAY "4 - List all deposits in transit" USE Cb-bank STORE " DATE AMOUNT" TO command1 STORE " -------- ----------" TO command2 STORE "' '+Date+' '+STR(Amt,10,2)" TO command ELSE USE Cb-depst STORE " DATE PAIDFROM AMOUNT" TO command1 STORE " -------- ------------------------- ----------"; TO command2 STORE "' '+Date+' '+Paidfrom+' '+STR(Amt,10,2)" TO command ENDIF ENDIF STORE 6 TO choice2 DO WHILE choice2 < 0 .OR. choice2 > ub STORE " " TO mchoice2 @ 8+ub,33 SAY " select : : " @ 8+ub,41 GET mchoice2 READ STORE VAL(mchoice2) TO choice2 ENDDO IF choice2 = 0 * release some memory variables and return to the REPORTS MENU RELEASE option,col,ub,command1,command2,command,choice2,mchoice2 LOOP ENDIF STORE " " TO printer @ 22,6 SAY "Do you want the output sent to the printer "+; "or the screen? (P/S) " GET printer PICTURE "!" READ @ 22,0 IF printer = "P" SET PRINT ON ELSE STORE "S" TO printer ENDIF STORE row+ub+4 TO newrow IF choice2 = 1 STORE "LIST ALL "+!(option) TO header ERASE ? ? " "+header ? command1 ? command2 GO TOP DO WHILE .NOT. EOF ? &command SKIP ENDDO ENDIF IF choice2 = 2 STORE T TO sandy DO WHILE sandy STORE F TO is:valid DO WHILE .NOT. is:valid STORE " " TO mdate @ newrow,23 SAY "Enter starting date "; GET mdate PICTURE "##/##/##" READ DO CB-DATE IF is:valid STORE mdate TO date1 STORE $(mdate,7,2)+$(mdate,1,2)+$(mdate,4,2) to begin ENDIF ENDDO is:valid STORE F TO is:valid DO WHILE .NOT. is:valid STORE " " TO mdate @ newrow+2,23 SAY "Enter ending date "; GET mdate PICTURE "##/##/##" READ DO CB-DATE IF is:valid STORE mdate to date2 STORE $(mdate,7,2)+$(mdate,1,2)+$(mdate,4,2) to ending ENDIF ENDDO is:valid IF begin > ending @ 20,13 SAY "Ending date occurs before starting date - "+; "please reenter" LOOP ENDIF STORE F TO sandy ERASE STORE 0.00 TO amount GO TOP STORE "LIST ALL "+!(option)+" BETWEEN "+date1+" AND "+date2; TO header ? ? " "+header ? command1 ? command2 DO WHILE .NOT. EOF STORE $(Date,7,2)+$(Date,1,2)+$(Date,4,2) TO mdate IF mdate > begin .AND. mdate < ending ? &command STORE amount + Amt TO amount ENDIF SKIP ENDDO IF choice = 1 STORE " " TO first ELSE IF choice = 2 STORE " " TO first ELSE STORE " " TO first ENDIF ENDIF ? ? first+"TOTAL $"+STR(amount,10,2) ENDDO sandy RELEASE sandy,is:valid,mdate,date1,begin,date2,ending,amount,first ENDIF IF choice2 = 3 STORE -1.00 TO amount DO WHILE amount < 0.00 STORE 0.00 TO amount @ newrow,20 SAY "Enter in amount " GET amount READ ENDDO STORE newrow+3 TO newrow ERASE GO TOP STORE "LIST ALL "+!(option)+" OVER $"+STR(amount,10,2) TO header ? ? " "+header ? command1 ? command2 DO WHILE .NOT. EOF IF Amt > amount ? &command ENDIF SKIP ENDDO RELEASE amount,answer ENDIF IF choice2 = 4 .AND. choice = 2 STORE "LIST ALL DEPOSITS IN TRANSIT" TO header GO TOP LOCATE FOR .NOT. Clear IF EOF @ newrow,30 SAY "No Deposits in transit" ELSE ERASE STORE 0.00 TO amount ? ? " "+header ? command1 ? command2 DO WHILE .NOT. EOF IF .NOT. Clear ? &command STORE amount + Amt TO amount ENDIF SKIP ENDDO ? ? " TOTAL $"+STR(amount,10,2) ENDIF RELEASE amount ENDIF IF choice = 1 .AND. choice2 > 3 STORE " Business expenses " TO m1 STORE " Medical or Dental expenses " TO m2 STORE "Payments for Medicine or Drugs" TO m3 STORE " Alimony payments " TO m4 STORE " Child Care expenses " TO m5 STORE " Automotive expenses " TO m6 STORE " Contributions " TO m7 STORE " Miscellaneous tax deductions " TO m8 IF choice2 = 5 @ newrow, 1 SAY "(1) Business expenses (4) Alimony" @ newrow,55 SAY "(7) Contributions" @ newrow+1,1 SAY "(2) Medical or Dental (5) Child Care" @ newrow+1,55 SAY "(8) Miscellaneous" @ newrow+2,1 SAY "(3) Medicine or Drugs (6) Automotive" STORE 9 TO mtax DO WHILE mtax < 0 .OR. mtax > 8 STORE " " TO taxchar @ newrow+4,6 SAY "Enter specific tax expense (or 0 to return "+; "to the REPORTS MENU) " GET taxchar READ STORE VAL(taxchar) TO mtax ENDDO IF mtax = 0 RELEASE option,col,ub,command1,command2,command,choice2,; mchoice2,newrow,m1,m2,m3,m4,m5,m6,m7,m8,mtax,taxchar LOOP ENDIF STORE "m"+taxchar TO string2 STORE "LIST ALL "+&string2 TO header ELSE STORE "LIST ALL TAXABLE CHECKS" TO header ENDIF ERASE ? ? " " + header ? IF choice2 = 4 ? " "+m1 ENDIF ? command1 ? command2 IF choice2 = 4 STORE 1 TO count STORE T TO again DO WHILE again STORE 0.00 TO amount GO TOP DO WHILE .NOT. EOF IF Tax = count ? &command STORE amount+Amt TO amount ENDIF SKIP ENDDO ? ? " TOTAL $" +; STR(amount,10,2) * need routine to keep track of totalling print out totals ? ? STORE count+1 TO count IF count > 8 STORE F TO again ELSE STORE "m"+STR(count,1) TO string1 ? " "+&string1 ? command1 ? command2 ENDIF ENDDO again ELSE STORE 0.00 TO amount GO TOP DO WHILE .NOT. EOF IF Tax = mtax ? &command STORE amount+Amt TO amount ENDIF SKIP ENDDO ? ? " TOTAL $"+; STR(amount,10,2) ENDIF RELEASE m1,m2,m3,m4,m5,m6,m7,m8,amount IF choice2 = 4 RELEASE again,string1 ELSE RELEASE mtax,taxchar,string2 ENDIF ENDIF IF printer = "P" SET PRINT OFF ELSE ? ? ENDIF STORE " " TO ret @ 23,15 SAY "Press any key to return to the REPORTS MENU " GET ret READ RELEASE option,col,ub,command1,command2,command,choice2,; mchoice2,newrow,header,printer,ret ENDDO T 2,m3,m4,m5,m6,m7,m8,amount IF choice2 = 4 RELEASE again,string1 ELSE RELEASE mtax,taxchar,string2 ENDIF ENDIF IF printer = "P" SET PRINT OFF ELSE ? ? ENDIF STORE " " TO ret @ 23,15 SAY "Press any key to return to the REPORTS MENU " GET ret READ RELEASE option,col,ub,command1,command2,command,mmand when I'm not" ?"around, dBASE II will not tell you what your mistake was." DO TEACH1S ERASE ?"I'd like you to QUIT now, but after you have, I would like you to try" ?"dBASE II on your own." ? ?"After you've QUIT, please: 1) Start up dBASE II again and enter a date," ?"2) CREATE a file (the same one you did with me if you'd like, 3) USE" ?"the file, 4) DISPLAY it's STRUCTURE, 5) DISPLAY it's contents, 6) prepare" ?"a REPORT, and 7) QUIT dBASE II" ? ?"all without my help, &STUDENT.." ? ?"Type QUIT " USE DELETE FILE &FILE DELETE FILE &RNAME..FRM STORE 'QUIT' TO CHECK DO CHECKC RETURN ?"You've created &FILE., &STUDENT, and you're ready to USE it." ? ?"Type USE &FILE " STORE 'USE &FILE' TO CHECK DO CHECKC ?"Now DISPLAY the STRUCTURE of &FILE." ? ?"Type DISPLAY STRUCTURE " STORE 'DISPLAY STRUCTURE' TO CHECK DO CHECKC WAIT ERASE ?"There are several ways to add data to a file in dBASE II. You" ?"can APPEND, EDIT, or INSERT data. We're going to use the APPEND" ?"command. EDIT and INSERT work in a similar fashion, and we will use" ?"EDIT in lesson 2. For now* Program..: IN-ADD.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program allows the user to add records to the file. * If the first field is blank, no record will be added and * the program is exited. * ERASE DO In-init @ 1,0 SAY "Inventory Add" @ 1,72 SAY DATE() @ 2,0 SAY line @ 20,0 SAY line STORE T TO more:rec DO WHILE more:rec @ 5,0 SAY "Product Number:" @ 7,0 SAY "Product Description:" @ 7,21 SAY mprd:desc @ 9,0 SAY "Product Cost:" @ 9,14 SAY mprd:cost @ 11,0 SAY "Product Price:" @ 11,15 SAY mprd:price @ 13,0 SAY "Quantity On Hand:" @ 13,19 SAY mon:hand USING "99999" @ 13,46 SAY "Quantity On Order:" @ 13,65 SAY mon:order USING "99999" @ 15,0 SAY "Reorder Point:" @ 15,15 SAY mreodr:pt USING "99999" @ 15,46 SAY "Reorder Date:" @ 15,62 SAY mreodr:dte @ 17,0 SAY "Distributor:" @ 17,13 SAY mdistrib @ 17,46 SAY "Phone:" @ 17,53 SAY mphone STORE T TO datechng CLEAR GETS @ 5,16 GET mprd:num PICTURE "XXX-XXXXX" READ IF mprd:num = " " STORE F TO more:rec LOOP ENDIF @ 7,21 GET mprd:desc @ 9,14 GET mprd:cost PICTURE "999,999.99" @ 11,15 GET mprd:price PICTURE "999,999.99" @ 13,19 GET mon:hand PICTURE "99999" @ 13,65 GET mon:order PICTURE "99999" @ 15,15 GET mreodr:pt PICTURE "99999" @ 15,62 GET mreodr:dte PICTURE "XX/XX/XX" DO In-date @ 17,13 GET mdistrib @ 17,53 GET mphone PICTURE "(XXX) XXX-XXXX XXXX" READ CLEAR GETS STORE " " TO action @ 22,0 SAY "Is this data correct? [Y/N]" GET action PICTURE "!" READ @ 22,0 IF action <> "Y" LOOP ENDIF APPEND BLANK REPLACE Prd:num WITH mprd:num, Prd:desc WITH mprd:desc, Prd:cost WITH ; mprd:cost, Prd:price WITH mprd:price, On:hand WITH mon:hand ; On:order WITH mon:order REPLACE Reodr:pt WITH mreodr:pt, Reodr:dte WITH mreodr:dte, Distrib WITH ; mdistrib, Phone WITH mphone DO In-init STORE " " TO action @ 22,0 SAY "Add another record? [Y/N]" GET action PICTURE "!" READ @ 22,0 IF !(action) = "Y" LOOP ENDIF STORE F TO more:rec ENDDO RELEASE action RELEASE ALL LIKE m* RETURN * EOF IN-ADD.PRGost, Prd:price WITH mprd:price, On:hand WITH mon:hand ; On:order WITH mon:order REPLACE Reodr:pt WITH mreodr:pt, Reodr:ype Y " STORE 'DOUBLE SPACE REPORT?(Y/N)' TO PROMPT STORE 'Y' TO CHECK DO CHECKC1 ? ?"Type N " STORE 'TOTALS REQUIRED?(Y/N)' TO PROMPT STORE 'N' TO CHECK DO CHECKC1 ERASE ?"Next, dBASE II will ask which fields in &FILE are to be printed on the" ?"REPORT &RNAME.. You may include one or all of the fields in &FILE in the" ?"report. For each field, you must specify the number of print positions" ?"the field will occupy on the report. The width on the report may be less" ?"than the width of the field on the file. For example, if an address" ?"field is 40 characters wide on the file, you could request that it be" ?"printed in only 10 or 15 positions on the report. This automatic" ?"wraparound feature is very nice when there is limited width on your CRT" ?"or printer, and you have large width fields on your file." WAIT ERASE ?"One final caution before you start entering the width and field" ?"specifications for your report. Make sure that the sum of all the field" ?"widths does not exceed the width specified in the report width" ?"specification (W specification, 70 for our report). There is no auto-" ?"matic wraparound facility for this." WAIT ERASE ?"Well, let's give it a try. When prompted, enter the field print width," ?"followed by a comma, followed by the name of the field in &FILE.. Here's" ?"an example for a field called NAME which is 30 characters in width on" ?"the file, but which is to be printed within 20 characters on the report:" ?" 20,NAME" ?"After each field entry, press the key, and after you have entered" ?"all of the fields to be printed, press the RETURN key again. Then you'll" ?"see your report on the display screen." WAIT STORE 0 TO ROK DO WHILE ROK = 0 DO TEACH1R1 ENDDO RETURN ort. Make sure that the sum of all the field" ?"widths does s for your report. Make sure that the sum of all the field" ?"widths does r report. Make sure that the sum of all the field" ?"widths does ur report. Make sure that the sum of all the field" ?"widths does ort. Make sure that the sum of all the field" ?"widths does Make sure that the sum of all the field" ?"widths does . Make sure that the sum of all the field" ?"widths does our report. Make sure that the sum of all the field" ?"widths does STORE 0 TO ROK ure that the sum of all the field" ?"widths does STORE 0 TO ROK ure that the sum of all the field" ?"widths does STORE 0 TO ROK tion), 2)The number of li~~#>7%a{ :hA!V 4Z>!""2*~ʉ#"*G}ˆ|ˆ!4x ~# ” Ÿ~͵#ê* O<#>-~~>=!~* Program..: IN-CHNG.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program allows the user to change the contents of * any record in the file. STORE T TO more:rec STORE Prd:num TO mprd:num STORE Prd:desc TO mprd:desc STORE Prd:cost TO mprd:cost STORE Prd:price TO mprd:price STORE On:hand TO mon:hand STORE On:order TO mon:order STORE Reodr:pt TO mreodr:pt STORE Reodr:dte TO mreodr:dte STORE Distrib TO mdistrib STORE Phone TO mphone DO WHILE more:rec CLEAR GETS STORE T TO datechng @ 5,16 GET mprd:num PICTURE "XXX-XXXXX" @ 7,21 GET mprd:desc @ 9,14 GET mprd:cost PICTURE "999,999.99" @ 11,15 GET mprd:price PICTURE "999,999.99" @ 13,19 GET mon:hand PICTURE "99999" @ 13,65 GET mon:order PICTURE "99999" @ 15,15 GET mreodr:pt PICTURE "99999" @ 15,62 GET mreodr:dte PICTURE "XX/XX/XX" DO In-date @ 17,13 GET mdistrib @ 17,53 GET mphone PICTURE "(XXX) XXX-XXXX XXXX" READ STORE " " TO action @ 22,0 SAY "Is this correct? [Y/N]" GET action PICTURE "!" READ @ 22,0 IF action <> "Y" LOOP ENDIF REPLACE Prd:num WITH mprd:num, Prd:desc WITH mprd:desc, Prd:cost WITH ; mprd:cost, Prd:price WITH mprd:price, On:hand WITH mon:hand ; On:order WITH mon:order REPLACE Reodr:pt WITH mreodr:pt, Reodr:dte WITH mreodr:dte, Distrib WITH ; mdistrib, Phone WITH mphone STORE F TO more:rec ENDDO RELEASE action RELEASE ALL LIKE m* RETURN * EOF IN-CHNG.PRGET action PICTURE "!" READ @ 22,0 IF action <> "Y" LOOP ENDIF REPLACE Prd:num WITH mprd:num, Prd:desc WITH mprd:desc, Prd:cost WITH ; mprd:cost, Prd:price WITH mprd:price, On:hand WITH mon:hand ; On:order WITH mon:order REPLACE Reodr:pt WITH mreodr:pt, Reodr:dte WITH mreodr:dte, Distrib WITH ; mdistrib, Phone WITH mphone STORE F TO morafraid you entered more than 1 comma. Please try again." LOOP ENDIF STORE $(R&RCOUNTX,COMMAN,LR) TO FHNAME STORE 0 TO RLOOP DO WHILE RLOOP < FNOHOLD STORE RLOOP + 1 TO RLOOP STORE STR(RLOOP,1) TO RLOOPX IF $(R&RCOUNTX,COMMAN,LR) = F&RLOOPX.:NAME STORE 1 TO FOUND STORE FNOHOLD TO RLOOP ELSE STORE 0 TO FOUND ENDIF ENDDO IF FOUND # 1 ?"I'm afraid the fieldname &FHNAME does not exist on &FILE." STORE 0 TO RLOOP1 ?"Valid field name(s) is/are:" DO WHILE RLOOP1 < FNOHOLD STORE RLOOP1 + 1 TO RLOOP1 STORE STR(RLOOP1,1) TO RLOOPX STORE F&RLOOPX.:NAME TO HLDNAME ?" &HLDNAME" ENDDO LOOP ELSE STORE $(R&RCOUNTX,1,COMMA -1) TO R&RCOUNTX.LEN STORE VAL(R&RCOUNTX.LEN) TO R&RCOUNTX.LENN IF R&RCOUNTX.LENN > 99 STORE STR(R&RCOUNTX.LENN,3) TO RLENGTH ELSE IF R&RCOUNTX.LENN > 9 STORE STR(R&RCOUNTX.LENN,2) TO RLENGTH ELSE STORE STR(R&RCOUNTX.LENN,1) TO RLENGTH ENDIF ENDIF IF RLENGTH # R&RCOUNTX.LEN ?"The width must be numeric. Please try again." LOOP ENDIF IF R&RCOUNTX.LENN < 1 .OR. R&RCOUNTX.LENN > 254 ?"The width must be a number between 1 and 254. Please try again." LOOP ENDIF IF RCOUNT = 1 ?"I'll enter the heading for the NAME field for you." ?"ENTER HEADING: NAME OF PERSON." ? ?"Please press the key." STORE 'NAME OF PERSON' TO H&RCOUNTX SET CONSOLE OFF WAIT SET CONSOLE ON ENDIF IF RCOUNT # 1 ?"Now enter the report column heading for the &FHNAME field." ACCEPT 'ENTER HEADING' TO H&RCOUNTX IF !(H&RCOUNTX) = 'QUIT' QUIT ENDIF ENDIF ENDIF STORE RCOUNT + 1 TO RCOUNT ENDDO STORE 0 TO TOTLEN STORE 1 TO COUNT DO WHILE COUNT < RCOUNT STORE STR(COUNT,1) TO COUNTX STORE R&COUNTX.LENN + TOTLEN TO TOTLEN STORE COUNT + 1 TO COUNT ENDDO IF TOTLEN > 70 ?"I'm afraid the sum of the print field widths is greater than 70 (for" ?"this report, we set the report width to 70). You'll have to enter them" ?"again." WAIT RETURN ENDIF ?"I've got to put your report away now. dBASE II won't take as long as I" ?"do to show you your report, but I'm a little slower. I'll be back in a" ?"few moments." WAIT USE MASTE DELETE ALL PACK APPEND BLANK REPLACE FIELD:NAME WITH 'FIELD' REPLACE FIELD:TYPE WITH 'C' REPLACE FIELD:LEN WITH 80 REPLACE FIELD:DEC WITH 0 IF FILE("T1RDBF") DELETE FILE T1RDBF ENDIF CREATE T1RDBF FROM MASTE USE T1RDBF APPEND BLANK REPLACE FIELD WITH 'M=1,L=55,W=70' APPEND BLANK REPLACE FIELD WITH 'Y' APPEND BLANK REPLACE FIELD WITH ' NAME AND ADDRESS REPORT' APPEND BLANK REPLACE FIELD WITH 'Y' APPEND BLANK REPLACE FIELD WITH 'N' STORE 0 TO FRCOUNT DO WHILE FRCOUNT < RCOUNT - 1 STORE FRCOUNT + 1 TO FRCOUNT STORE STR(FRCOUNT,1) TO FRCOUNTX APPEND BLANK REPLACE FIELD WITH R&FRCOUNTX APPEND BLANK REPLACE FIELD WITH H&FRCOUNTX ENDDO COPY TO &RNAME..FRM SDF USE &FILE REPORT FORM &RNAME ?"Nice report, &STUDENT!" WAIT ERASE ?"Once you've created a report, you can request it again, without" ?"re-entering the report specifications, by referring to it's formname." ?"In our example, that's &RNAME.. Let's see the report one more time." ? ?"Type REPORT FORM &RNAME " STORE 'REPORT FORM &RNAME' TO CHECK DO CHECKC1 REPORT FORM &RNAME WAIT ERASE ?"By adding the phrase TO PRINT to the report request, you can direct the" ?"report to the printer, and it will appear on the CRT and the printer." ?"In our example, the command would be: REPORT FORM &RNAME TO PRINT." STORE 1 TO ROK RETURN e ra ?"Nice raE ?"Nice raME ?"Nice ra ?"Nice ra ?"Nice ra report, you can request it again, without" ?"re-entering the report specifica- tions, by referring to it's formname." ?"In our example, that's &RNAME. Let's see the report one more time." o put your report away now. dBASEII won't take as long as I" ?"do to show you your report, but I'm a little slower. I'll ?"Nice ra ?"Nice ra ?"Nice ra report, you can request it again, without" ?"re-entering the report specifica- tions, by referring to it's formname." ?"In our example, that's &RNAME. Let's see the report one more time." o put your report away now. dBASEII won't take as long as I" ?"do to show you your report, but I'm a little slower. I'll o put your report away now. dBASEII won't take as long as I" ?"do to sho* Program..: IN-CLEAN.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program PACKs the file and permanently removes all * records marked for deletion. Note the indexes were not * in use which avoids possible index corruption. ERASE @ 2,0 SAY "File Maintenance" @ 2,72 SAY DATE() @ 3,0 SAY equals TEXT This routine will permanently remove all records that are presently marked for deletion. Type "YES" if you wish to continue or strike to abort. ENDTEXT STORE " " TO action @ 20,0 SAY "Continue?" GET action PICTURE "!!!" READ IF action = "YES" @ 6,0 @ 7,0 @ 8,0 @ 20,0 @ 20,0 SAY "Working..." USE In-main SET TALK ON PACK SET TALK OFF USE USE In-main INDEX ON Prd:desc TO In-pdesc INDEX ON $(Prd:num,1,3) TO In-pnum USE ENDIF RELEASE action ERASE RETURN * EOF IN-CLEAN.PRGbort. ENDTEXT STORE " " TO action @ 20,0 SAY "Continue?" GET action PICTURE "!!!" READ IF action = "YES" @ 6,0 @ 7,0 @ 8,0 @ 20,0 @ 20,0 SAY "Working..." USE In-main SET TALK ON PACK SET TALK OFF USE USE In-main INDEX ON Prd:desc TO In-pdesc INDEX ON $(Prd:num,1,3) TO In-pnum USE ENDIF RELEASE action ERASE RETURN * Program..: IN-DATE.PRG * Author...: Luis A. Castro (modified by RMM) * Date.....: 10-09-83 * Notice...: Copyright 1983, ASHTON-TATE, All Rights Reserved. * May not be reproduced without written permission. * Notes....: This program will read and verify the date that was input. * * * STORE VAL($(mreodr:dte,1,2)) TO month STORE VAL($(mreodr:dte,4,2)) TO day STORE VAL($(mreodr:dte,7,2)) TO year DO WHILE month<1 .OR. month>12 .OR. day<1 .OR.; day>VAL($("312931303130313130313031",(month-13*INT(month/13))*2-1,2)) .OR.; (month=2 .AND. day>28 .AND. year/4.0>INT(year/4.0)) .OR. datechng IF .NOT. datechng STORE " / / " TO mreodr:dte ENDIF @ 15,62 GET mreodr:dte PICTURE "XX/XX/XX" READ STORE VAL($(mreodr:dte,1,2)) TO month STORE VAL($(mreodr:dte,4,2)) TO day STORE VAL($(mreodr:dte,7,2)) TO year STORE F TO datechng ENDDO STORE STR(month,2)+"/"+STR(day,2)+"/"+STR(year,2) TO mreodr:dte * EOF IN-DATE.PRG command have to be changed. For" ?"you, it's the letters ES." ? ?"Type ES " STORE 'ES' TO CHECK STORE 'CHANGE FROM' TO PROMPT DO CHECKC1 WAIT ERASE ?"Then dBASE II will display the message CHANGE TO: For us, ES has to be" ?"changed to SE." ? ?"Type SE " STORE 'SE' TO CHECK STORE 'CHANGE TO' TO PROMPT DO CHECKC1 WAIT ERASE ?"Then, dBASE II will display the corrected command, like this:" ? ?"USE &FILE" ? ?"Then dBASE II will ask if any more corrections are desired. We have no" ?"more to make, since the command is OK now, so you should enter N." ? ?"Type N " STORE 'N' TO CHECK STORE 'MORE CORRECTIONS' TO PROMPT DO CHECKC1 WAIT ERASE ?"Sometimes, it's easier to re-enter the entire command, rather than go" ?"through the CHANGE FROM, CHANGE TO procedure. To do this, respond N" ?"when the CORRECT AND RETRY (Y/N) message is displayed. A period (.) will" ?"then be displayed, and the command can be re-entered in it's entirety." ? ?"Generally, a spelling error is the cause of a SYNTAX ERROR message, so" ?"be very careful how you spell things. Some other frequent causes of" ?"errors are field names being used when they do not exist on the file" ?"being USEd, and attempting to USE a file which is not on the disk drive" ?"that dBASE II programs are on. For example, if dBASE II was initiated on" ?"drive B:, and &FILE is on drive A:, we would have had to enter USE" ?"A:&FILE in our example above." WAIT ERASE ?"One final thing for this lesson. To leave dBASE II, and return to the" ?"operating system, the QUIT command is used." WAIT ERASE RETURN is displayed. A period (.) will" ?"then be displayed, and the command can be re-entered in it's entirety." ? ?"General* Program..: IN-DELTE.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program marks a record for deletion or RECALLs the * the record if already marked for deletion. IF mchoice = "D" DELETE ELSE RECALL @ 1,50 SAY " " ENDIF RETURN * EOF IN-DELTE.PRG  WAIT ERASE ?"I Introduction" ? ?"There is something unusual about this product. There is no manual. Don't" ?"feel cheated. In keeping with the computer age, we have chosen to put" ?"information on magnetic disk, rather than on paper. We did this because" ?"we think that working interactively with a computer is a far better way" ?"to learn than by simply reading a manual." ? ?"In this course, you will be actively working with dBASE II. In many" ?"instances, you will decide the data to be used and the format of output." ?"Where data is supplied, you will have to issue the proper commands to act" ?"on the data. Don't worry though, the dBASE II Lessons give you a lot of" ?"help when you make errors, so if you make errors in dBASE II, you'll know" ?"how to correct them." WAIT ERASE ?"For the beginner, we believe you will find that the first four lessons will" ?"be all you need to really feel comfortable with dBASE II, and at that" ?"point, you will know all of the operations required to create files," ?"generate reports, change data on your files through editing, and perform" ?"computations on your data. Each lesson will probably not take more" ?"than a half hour to complete." ? ?"For the experienced programmer, you're in for a treat. If you think" ?"COBOL, PL/I, FORTRAN, PASCAL, or BASIC are nice programming languages," ?"wait until you try this. The combination of structured English, set" ?"processing, dBASE II functions, macros (substitutions within commands)," ?"stored command procedures (programs), nested DO and nested IF capability," ?"along with true relational data base capability is extremely powerful." ?"At the same time, dBASE II is very easy to use, and it runs on a " ?"microcomputer, which makes it even more attractive. We think you'll find" ?"lessons eight, nine, and ten most interesting." WAIT ERASE ?"II A Few New Words" ? ?"There are a few new terms that are essential to Data Base Management. You" ?"should become familiar with them before you begin the Lessons." ? ?" What Is A File?" ? ?"A file is a body of information about the same subject. Electronic files" ?"are a lot like the paper files in your file cabinet. For example, you" ?"might have a file folder labeled, 'Customers--Smith.' It holds all" ?"information you have on your customers named Smith. You may even have" ?"a personal file folder containing names and addresses of your friends" ?"and relatives." WAIT ERASE ?" What Is A Record?" ? ?"A record is a smaller unit of information within a file. An electronic" ?"record can be compared to a piece of paper which contains information" ?"pertinent to one of your customers. For example, David Smith's name," ?"address, phone number, and purchasing history." ? ?" What Is A Field?" ? ?"A field is a category or heading within a record. If the information" ?"you wanted in a record was NAME, ADDRESS, PHONE NUMBER, TITLE, PRODUCTS" ?"PURCHASED, BILLS OUTSTANDING, you would need to create a field for each" ?"item. The way you intend to use the file will help you to decide how " ?"many fields you have and what they are." WAIT ERASE ?" What Is Data?" ? ?"Data is what you get out of your computer from the information you have" ?"entered into your computer. For example, if you entered a customer's name" ?"as 'David Smith,' 'David Smith' is the data you would get out of your" ?"computer when you asked for that particular customer's name." ? ?"A FILE is the largest unit of information. A FILE contains RECORDS where" ?"DATA is stored under headings or categories called FIELDS." WAIT ERASE ?"III More New Terms" ? ?" Operating Systems" ? ?"The Operating System is essentially the software required to manage your" ?"computer. The most important function of a microcomputer operating system" ?"is to control the input of information and the output of data to computer-" ?"ized devices (such as, a printer, the terminal's display screen, and disk" ?"drives). All of your typed-in requests to print a document, display a" ?"report on the screen, or copy data to a disk pass through the Operating" ?"System. It knows the correct device addresses for requests and makes it" ?"easy for you to use these devices. The Operating System also performs" ?"input and output error checking and attempts error corrections whenever" ?"possible." ? ?"There are a few operating system facilities that you should become familiar" ?"with." WAIT ERASE ?"'DIR' is a command you give your computer to find out what files you have" ?"in a particular disk. When you enter the 'DIR' command at the B prompt" ?"('B>DIR'), you will get a screen display of all names of the files in your" ?"B drive (or on the disk in your B drive)." ? ?"'STAT' is a command that asks for the free space status of a particular" ?"drive (or disk inserted in that drive). When entered at a drive prompt," ?"(for example, 'A>STAT'), your computer will tell you in terms of BYTES" ?"(characters), how much room you have left to work with." WAIT ERASE ?"'PIP' is used to transfer data from one device (a disk, for example) to" ?"another device (another disk, for example). The command to transfer the" ?"file MYFILE from drive A to drive B looks like this:" ? ?" B>PIP B:=A:MYFILE" ? ?"One more command, 'ERA' is a command that should be used with caution." ?"'ERA' erases files you identify. Usually, this is used with text files" ?"you have written, like memos or letters, after they have been sent to the" ?"addressees, or data files that are no longer needed." ? ?"You will find more information on these operating system facilities and how" ?"they work on your computer in your computer operating manual." WAIT ERASE ?"IV What Is A Relational Data Base?" ? ?"First of all, a data base is a systemized organization of computer files" ?"for central access, retrieval, and editing. In a Relational data base," ?"the data base looks like a table. In other data base systems, the" ?"structures are rather complex, but dBASE II data bases all look something" ?"like this simplified example, which follows:" WAIT ERASE ?" Employee Roster" ? ?" EMPNAME EMPNO EMPDEPT EMPSAL EMPSTART" ? ?"REC1 Allen, F. G. 211 ACCT 18,000 01/23/79" ? ?"REC2 Brown, H. B. 354 ADMN 14,500 03/22/82" ? ?"REC3 Calendor, P. 134 PERS 21,000 12/17/77" ? ?"REC4 Calvin, J. 098 PRES 88,000 10/02/75" ? ?"The horizontal axis of this chart lists FIELD NAMES (EMPNAME, EMPNO," ?"EMPDEPT, EMPSAL, EMPSTRT), which read down each column. The vertical" ?"axis lists the records of this file, which read accross the page. With" ?"this type of organization, any or all data bases can be accessed by" ?"naming the coordinates of any particular cell of information. For" ?"example, you can find out the salary of P. Calendor by asking for the" ?"EMPSAL of Calendor, P.. We can also find out anything else about P." ?"Calendor if it is listed in the file. We could also ask for all EMPNAME" ?"(EMPloyees' NAMes) beginning with the letter 'C'." WAIT ERASE RETURN stem is essentially the software required to manage your" ?"computer. The most important function of a microcomputer operating system" ?"is to control the input of information and the output of data to computer-" ?"ized devices (such as, a printer, the terminal's display screen, and disk" ?"drives). All of your typed-in* Program..: IN-DTAIL.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program produces a summary report based on the * present stock on hand. ERASE @ 2,0 SAY "Inventory Details" @ 3,0 SAY equals USE In-main IF # = 0 @ 5,0 SAY "There are no records in the database" ELSE @ 5,13 SAY "Summing inventory details, please be patient..." SUM Prd:cost * On:hand, Prd:price * On:hand, On:hand, On:order TO ; xtotcost, xtotprice, xtotonhand, xtotorder STORE (xtotcost / xtotprice) * 100.00 TO xratio GO BOTTOM STORE # TO xitems @ 5,0 @ 8,0 SAY xitems USING "Number of unique items: 99999" @ 9,0 SAY xtotonhand USING "Total number of items: 999999" @ 10,0 SAY xtotorder USING "Total number of items on order: 999999" @ 15,0 SAY xtotcost USING ; "Total cost of all inventoried items is: 9,999,999.99" @ 17,0 SAY xtotprice USING ; "Total price of all inventoried items is: 9,999,999.99" @ 19,0 SAY xratio USING ; "Ratio of inventory cost to selling price: 999.99%" ENDIF STORE " " TO xpause @ 23,0 SAY "Strike any key to continue..." GET xpause READ @ 22,0 RELEASE ALL LIKE x* USE ERASE RETURN EOF IN-DTAIL.PRGotal number of items on order: 999999" @ 15,0 SAY xtotcost USING ; "Total cost of all inventoried items is: 9,999,  ENDIF IF !(COMMAND) # CHECK DO CLEAR@ ?"You didn't enter" ?" &CHECK" ?"Please try again." LOOP ELSE STORE 1 TO OK &COMMAN* Program..: IN-HELP.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program uses the TEXT ENDTEXT commands to * present text information to the user. * * ERASE @ 2,0 SAY "Inventory Program Help Facility" @ 3,0 SAY equals TEXT Option #1, Run Inventory Report, will produce a report on 6 of the 10 fields in the IN-MAIN database. The report is intended to provide the user with raw information regarding the company's current inventory. The report will con- trol-break on the first three characters of the PRODUCT NUMBER field and will subtotal all numeric fields at that point. You will be prompted prior to the report whether or not output should be directed to the screen or the printer. Option #2, Reorder Information, will produce a report which contains all the items that should be reordered. dBASE will flag an item for reorder if the quantity ON HAND plus the quantity ON ORDER is less than the REORDER POINT. The report will display the distributor's name and phone number and will also suggest the minimum amount of any one item to order. You will be prompted prior to the report whether or not output should be directed to the screen or the printer. ENDTEXT @ 23,0 SAY "Strike any key to continue..." SET CONSOLE OFF WAIT SET CONSOLE ON ERASE @ 2,0 SAY "Inventory Program Help Facility" @ 3,0 SAY equals TEXT Option #3, Update/View Inventory Database, allows the user to view as well as modify individual records in the database. Two index files allow the user to quickly find a particular record based on either the product description or the product number. Records can be marked for deletion and later permanently removed. Option #4, Summary of Inventory Totals, will display aggregate totals for the inventory. Option #5, Run File Mantenance Routine, will permanently remove all records that have previously been marked for deletion. The user will be prompted be- fore any action is taken. ENDTEXT @ 23,0 SAY "Strike any key to continue..." SET CONSOLE OFF WAIT SET CONSOLE ON RETURN *EOF IN-HELP.PRG and later permanently removed. Option #4, Summary of Inventory Totals, will display aggregate totals for the inventory. Option #5, Run File Mantenance Routine, will permanently remove all records that have previously been marked for deletion. The* Program..: IN-INIT.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program initializes the memory varibles which are used * to hold data until the data is placed in the file. STORE " " TO mprd:num STORE " " TO mprd:desc STORE 0 TO mprd:cost,mprd:price,mon:hand,mon:order,mreodr:pt STORE " " TO mreodr:dte STORE " " TO mdistrib STORE " " TO mphone RETURN * EOF IN-INIT.PRG Reserved. * May not be reproduced without permission. * Notes....: This program initializes the memory varibles which are used * to hold data until the data is placed in the file. STORE " " TO mprd:num STORE " " TO mprd:desc STORE 0 TO mprd:cost,mprd:price,mon:hand,mon:order,mreodr:pt STORE " " TO mreodr:dte STORE " * Program..: IN-MAIN.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This is the main calling program. * CLEAR SET TALK OFF SET BELL OFF SET COLON OFF STORE "========================================" + ; "========================================" TO equals STORE "________________________________________" + ; "________________________________________" TO line DO WHILE T ERASE @ 1, 0 SAY "========================================" @ 1,40 SAY "========================================" @ 2, 0 SAY "||" @ 2,78 SAY "||" @ 2,14 SAY "I N V E N T O R Y C O N T R O L P R O G R A M" @ 3, 0 SAY "========================================" @ 3,40 SAY "========================================" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "||" @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "||" @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "||" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "||" @ 12,78 SAY "||" @ 13, 0 SAY "||" @ 13,78 SAY "||" @ 14, 0 SAY "========================================" @ 14,40 SAY "========================================" @ 5,22 SAY " 0. exit" @ 6,22 SAY " 1. Run Inventory Report" @ 7,22 SAY " 2. Reorder Information" @ 8,22 SAY " 3. Update/View Inventory Database" @ 9,22 SAY " 4. Summary of Inventory Totals" @ 10,22 SAY " 5. Run File Maintenance Routine" @ 11,22 SAY " 6. Help" STORE 7 TO select DO WHILE select < 0 .OR. select > 6 STORE " " TO mselect @ 14,33 SAY " select : : " @ 14,42 GET mselect PICTURE "#" READ STORE VAL(mselect) TO select ENDDO DO CASE CASE select= 0 SET COLON ON CLEAR RETURN CASE select= 1 DO In-rpt CASE select= 2 DO In-reodr CASE select= 3 DO In-vwed CASE select= 4 DO In-dtail CASE select= 5 DO In-clean CASE select= 6 DO In-help ENDCASE ENDDO T SET TALK ON SET BELL ON SET COLON ON *EOF IN-MAIN.PRG elect ENDDO DO CASE CASE select= 0 SET COLON ON CLEAR RETURN CASE select= 1 DO In-rpt CASE select= 2 DO In-reodr CASE select= 3 DO In-vwed CASE select= 4 DO In-dtail CASE select= 5 TAINS EITHER 'WPHONE' OR REMARK * 'HPHONE' DEPENDING ON THE IF STATEMENT ABOVE), AND DON'T REMARK * DISPLAY THE RECORD (OFF PARAMETER) REMARK DISP NAME,&PREF OFF DISP NAME,&PREF OFF REMARK * SKIP TO THE NEXT RECORD REMARK SKIP SKIP WAIT ERASE REMARK * SEE IF THE DO LOOP SHOULD BE CONTINUED REMARK ENDDO ENDDO REMARK * AFTER EOF - RETURN TO CALLER - DBASE TUTOR IN THIS CASE WAIT SET ECHO OFF RETURN it is" ?"sPRD:NUMC sPRD:DESCCsPRD:COSTN sPRD:PRICEN tON:HANDN tON:ORDERNtREODR:PTNtREODR:DTECtDISTRIBC$tPHONEC8t 000-00000Bead Condenser #AB-619 33.00 90.00 2 0 0 7/25/54Electronics Service (000) 000-0000 TO loop2 ENDIF ENDDO loop2 IF !(answer)="Y" * data is correct - add to database APPEND BLANK REPLACE Chkno WITH mchkno REPLACE Date WITH mdate REPLACE Payto WITH mpayto REPLACE Amt WITH mamt REPLACE Memo WITH mmemo REPLACE Can WITH mcan * update balance and lastchk STORE balance - Amt TO ba@ 9, 0 SAY "||" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "========================================" @ 12,40 SAY "========================================" @ 5,27 SAY " 0. exit" @ 6,27 SAY " 1. MENU generator" @ 7,27 SAY " 2. FILE generator" @ 8,27 SAY " 3. REPORT FORM generator" @ 9,27 SAY " 4. LABEL generator" STORE 5 TO selectnum DO WHILE selectnum < 0 .OR. selectnum > 4 STORE " " TO select @ 12,33 SAY " select : : " @ 12,42 GET select PICTURE "#" READ STORE VAL(select) TO selectnum ENDDO DO CASE CASE selectnum= 0 SET COLON ON SET BELL ON SET TALK ON CLEAR RETURN CASE selectnum= 1 * DO MENU generator DO Menugen CASE selectnum= 2 * DO FILE generator DO Filegen CASE selectnum= 3 * DO REPORT FORM generator DO Formgen CASE selectnum= 4 * DO LABEL generator DO Labelgen ENDCASE * ---The following flags have to be reset, because Menugen, * ---Filegen, Formgen, and Labelgen set the flags to their * ---default values. SET TALK OFF SET BELL OFF SET COLON OFF ? ? STORE " " TO select @ 23,0 SAY "Strike any key to continue... " GET select READ ENDDO T * EOF: dGEN.CMD  DO Formgen CASE selectnum= 4 * DO LABEL generator DO Labelgen ENDCASE * ---The following flags have Prd:desc,1,3)Hcode333product  AAAABB ACC ADDBAABBA BCA BDABDBCAACABCBA CBBDCADDABead Condenser #AB-619  AAAABB ACC ADDBAABBA BCA BDABDBCAACABCBA CBBDCADDA LIPSTICK M OII RINGS ROY STOCKINGS TABLES WHIPS WRIST BANDS LIPSTICK M OII RINGS ROY STOCKINGS TABLES WHIPS WRIST BANDS KUJHGFGHKLJKKKKKKKJJK M OII RINGS ROY STOCKINGS TABLES WHIPS WRIST BANDS LIPSTICK M OII RINGS ROY STOCKINGS TABLES WHIPS WRIST BANDS s#r*8 "8 *2 s#r": :# 2# ò2$ 2% *, *0 ++"6 ͣ ~ |~ !T >2$ "( ~ *0 #~2' w*, +~2& w*6 < *0 #:' w*, +:& w*2 ##"4 *. ͣ | !ҩ >2% "* *2 #~2& w*. ###~2' w*. < *2 #:& w*. ###:' w:$ G:% Oy x *6 ". &*4 ", &** *( }| *, *6 *4 *. " !9" * ++" zʽ " " F¤ # _ yʤ F¤ # r yʤ F¤ # … yʤ F¤ # ˜ F * * 3333|V F * :< + >2p "!" "!"!"c*U _*c#"c*+"|*" p < !"*+"I !"*+"!"*}| !' ' *<:Cͪ !cͣ  c {  029y0287͕ !">|"@:DM 5 :Bͪ *<"<o> G}*@Z )Y  wT]>͎ :&G:% $$$ SUB ɯ2 ͳ :a ;  **} | >32 !"  ͕ ͕ ͛ Y  ͕ $!G!!~22 *>#">**E|«"x*#͎ x "*&o"*#͎ !"iʏ *"*>#">**E|"x*͎ x "*&o"*#͎ !"*6 *,E*6 !6*6 V O$$ DBF DDBASETLTCOM DBF O$$ W$$ H$$ PRMISOSOTECDDBASETLTCOM DBF O$$d32 OUTPUT DISK IS FULL $d33 AN UNDETERMINED ERROR OCCURRED-1 $SORT CANNOT CONTINUE $SORT COMPLETE $SORT ABORTED $DO YOU WANT TO ABORT ? (Y/N):$ XX% SORTED $ͳ 2&͕ :T\:º:;2;!v"&ͳ t-͕ yͳ #!ia !a !"$2i2-͕ #y:_/!`/gyͳ :G*!g\~@̶i: xͧgʧ&:g&: ҧ&*͑#xj͎ <2&G!i~p:i~$%i"&> 2!>͎ 2 &2!&a ͳ -͕ #|ͳ :_/!`/gʧ&#-͕ !j0->͎ :i@2.->:2/-.-͕ :@ʹ:; 2;ág&&%>#*%>#&!i> ͎ :i2ág&: xͧgʧ&:g&x ҧ&*͑#x͎ :6:&2!&> ͎ &͎ ͳ +͕ ͛ Y#2 &:;ʊ:@m+ág''%>#'!#"&>,2^0iƒ'!³:^0ƒ'*_0"*d0":; ¡$:;f!"&292V!VW>͎ !%%> ͎ !V"T!"R!">2&ͳ #-͕ #-:`/?Mͳ ͸$-:_/!`/g-ͳ :G*Ü:@y:;XY!%%> ͎ g&~$œ:;P'::&$)>2&x$)~AfD$)29*T~wfx '%͎ !f0%> #= CN (29*TG~ʉ(p#w#*Ox C #"*R}|!"R|2&"Tf N*R "R!~ '!#"&ͳ :&@2!!.$ͳ YX<.͕ !k$"&:&@2 &!n.$2!X$"&>N2 &!.$Y²>C2!.$Y>O2!.$Y>A2ͳ >!gP$W :@Xg&::O~AyMC29yMO0%yMP5:;2;PW5(x5(#>ͧP2:#:Vʼ':Zi29*|*:&G!"$!~„p~2:iʓ~~$!~œp:iʧ~~$!~°p:iʻ~~$*$%*>>M)>}2b2^ 202b2^ 2#}2p2l 202p2l 2#}22 2022 2#}22 2*Hͣ ::H29"*:9X!##**ͅ"*+ͅ*ͣ "*)::ʖ!D"3!!H"5*:9ª!*"**+ͅ#"|v*}::2:5**ͅ*v"I*t"=#"1+ͣ *tͅ#*="=*vͅ#*I"I*t*ͅ|A+"+:sͪ "-**+"/>2%*t*+ͅ#"3*ͣ "5*ͅ"7:sͪ "9**7";*3}5>2%*t*3+ͅ#"?*3ͣ "A*ͅ"C:sͪ "E**C"G*?} ::5:iG:5>2%*?"K*ͅ"M:sͪ "O**M"Q::kE<ʊ)DE)E)::ʕ:G:i)ͳ +͕ ,͕ ͛ Y#: &ʤ&:;¯F :;2;!j>͎ !j>͎ !j>͎ !j>͎ ::*"!::A!"q*q<9*^0*q66Z*9*!::z!p U!"o*o<9*!"!""*"):9•*X")|/g}/o#"'* ͣ ڂ::‚:;@2;!"@*| y2B*:Bͪ d:%<>GO| xO:B2B:%<O*7!@PY:Bͪ *@"@@PY:Bͪ *@"@}o|g Q>2C!O}o|g fd*@ͅ}2D ""|DM!#å))ڵzڜµ{ڜʜ||:: DM*`ix"c"eͣ *e"czWBK))0z0{7|Z:d6O:c6 DM7*e`ixxO22ç*:Ol::ʓÕW2z ºzº~ ʲ º# §l"~ _ _ l ll;l,g:: 2g.:2g(8)8# ½l~ _ _ l ll;l,g:WP~)vz2_~(vz2g# l# v:@2y2"*x2aO~ڒw# ‹:*](~](x=&G#: xͧgʧ&:g&x ҧ&͑#x͎ <ʶ(^/¶(/>;>!^/g((&>#(:;2;g&*+*1**ͅ#"u"*#i*"*u"ͣ Ҟ *u""u"ͣ ڦ "u"æ |ʦ "w"*u""g""l":: *w""l":2p":2k":: 2p" :2f":f"!2z"z":f"#"i"*g"""H$(Prd:num,1,3)Hcode333product  AAAABB ACC ADDBAABBA BCA BDABDBCAACABCBA CBBDCADDA000product  AAAABB ACC ADDBAABBA BCA BDABDBCAACABCBA CBBDCADDA{,͕ !f0"%> !,,w><͎ *%~ %,> ͎ !,%*% ~2-#^!-ͤ"!-͊"*%"%~ %-> ͎ !-%*% ~2-#^!-ͤ"!-͊"*%"%~ %'-> ͎ !'-%*% ~22-#^!3-ͤ"!3-͊"*%"%,͕ %,͕ /͕ ͳ  ~%6 # %"!,͊">=TOONSORTX$N DBF*** dSORT Ver 2.41 Copyright (C) 1983 RSP Inc. $#d01 DO NOT SPECIFY FILE TYPE, .DBF OR .PRM ALWAYS ASSUMED $#d02 INVALID FILE-NAME SPECIFIED $#d03 EXPECTED OPERAND MISSING $#d04 KEYWORD "TO" EXPECTED, NOT FOUND $#d05 KEYWORD "ON" EXPECTED, NOT FOUND $#d06 SORT INPUT FILE CANNOT BE FOUND ON SPECIFIED DRIVE $#d07 SORT INPUT FILE IS NOT A VALID dBASE .DBF FILE $#d08 NO SORT FIELDS WERE SPECIFIED $#d09 INVALID FIELD NAME SPECIFIED $#d10 LOGICAL FIELDS CANNOT BE SORTED $#d11 INVALID SORT OPTION SPECIFIED $#d12 INVALID DISK DRIVE CODE SPECIFIED $#d13 MORE THAN 32 FIELDS WERE SPECIFIED $#d14 .PRM FILE NOT FOUND ON SPECIFIED DRIVE $#d15 .PRM FILE EMPTY OR DOES NOT CONTAIN "SORT" COMMAND $#d16 INVALID SYNTAX OR FIELD OPTION $#d17 COMBINED SORT KEY LENGTH CAN NOT EXCEED 1000 BYTES $#d18 TRANSLATE OPT SPEC, BUT "DBASETLT.COM" NOT ON DEFAULT DRIVE $#d19 ERROR LOADING TRANSLATE TABLE $#d20 OVERWRITE OPTION INVALID WHEN FILE2 ON DIFFERENT DRIVE $#d21 DISK DIRECTORY IS FULL $#d22 OUT OF DISK SPACE $#d23 INPUT FILE IS TOO LARGE FOR THIS VERSION OF dSORT $#d24 FILE NAME CONTAINS INVALID CHARACTERS $#d25 INPUT FILE IS EMPTY $d26 INSUFFICIENT DISK SPACE ON X: - 0000K AVAIL 0000K REQ'D $#d27 INSUFFICIENT MAIN MEMORY FOR SORT $#d28 EXTRANEOUS INFORMATION FOUND $DATABASE A:XXXXXXXX ALREADY EXISTS -- OVERWRITE ? (Y/N):$NO SORT DONE $INPUT DATABASE WILL BE DESTROYED AFTER BEING READ $DO YOU WANT TO PROCEED ? (Y/N):$ FREE FORM CMD FMT: SORT file1 TO file2 ON field1,field2(D),... $Wx ACO $** DATABASE=A:XXXXXXXX REC COUNT=00000 REC LENGTH=0000 ** field type len field type len field type len $ED AFTER BEING READ $DO YOU WANT TO PROCEED ? (Y/N):$ FREE F $ (Put (D) after a field name for descending seq) $ (Note: Use ^C to abort.) $ENTER NAME OF DATABASE TO BE SORTED: $ENTER NEW NAME FOR SORTED DATABASE (or RETURN): $ENTER FIELD NAME(S) TO CONTROL SORT (? for info): $ANY SORT OPTIONS ? (Y/N): $ (For default press RETURN for each question.) $ ENTER OPTIONAL WORK DRIVE: $ FORCE CAPITALS ? (Y/N): $ OVERWRITE INPUT DATABASE ? (Y/N): $ RETAIN DELETED RECORDS ? (Y/N): $ USE TRANSLATE TABLE ? (Y/N): $------------------------------------------------------------- $e: Use ^C to abort.) $ENTER NAME OF DATABASE TO BE SORTED: $ENTER NEW NAME FOR SORTED DATABASE (or RETURN): $ENTER FIELD NAME(S) TO CONTROL SORT (? for info): $ANY SORT OPTIONS ? (Y/N): $ (For default press RETURN for each question.) $ ENTER OPTIONAL WORK DRIVE: $ FORCE CAPITALS ? (Y/N): $ OVERWRITE INPUT DATABASE ? (Y/N): $ RETAIN DELETED RECORDS ? (Y/N): $ * Program..: IN-REODR.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program checks the file to find which products need to * be reordered. A product is flagged if the quantity on hand * plus the quantity on order is less than the reorder point. ERASE @ 2,0 SAY "Reorder Information" @ 3,0 SAY equals USE In-main IF # = 0 @ 5,0 SAY "There are no records in the database" ELSE STORE " " TO mchoice @ 5,0 SAY "Output to the (S)creen or (P)rinter? [S/P]" GET mchoice ; PICTURE "!" READ IF mchoice = "P" @ 5,0 @ 5,0 SAY "Printing..." SET PRINT ON SET CONSOLE OFF ENDIF SET EJECT OFF REPORT FORM In-rpt2 FOR Reodr:pt > (On:hand + On:Order) IF mchoice = "P" SET PRINT OFF SET CONSOLE ON ELSE ? ? ? ENDIF ENDIF USE STORE " " TO mpause @ 23,0 SAY "Strike any key to continue..." GET mpause READ ERASE RELEASE mpause,mchoice RETURN * EOF IN-REODR.PRG PICTURE "!" READ IF mchoice = "P" @ 5,0 @ 5,0 SAY "Printing..." SET PRINT ON SET CONSOLE OFF ENDIF SET EJECT OFF REPORT FORM In-rpt2 FOR Reodr:pt > (On:hand + On:Order) IF mchoice = "P" SET PRINT OFF SET CONSOLE ON ELSE ? ? ? ENDIF ENDIF USE STORE " " TO mpause @ 23,0 SAY "Strike an* Program..: IN-RPT.PRG * Author(s): Roy M. Moore * Date.....: 01-10-84 * Notice...: Copyright 1984, ASHTON-TATE, All Rights Reserved. * May not be reproduced without permission. * Notes....: This program uses the REPORT FORM command to produce * a master inventory report. The report is control breaked * on the first three characters of the PRD:NUM field. ERASE @ 2,0 SAY "Inventory Report" @ 3,0 SAY equals USE In-main INDEX In-pnum STORE " " TO choice @ 5,0 SAY "Output to (S)creen or (P)rinter? [S/P]" GET choice PICTURE "!" READ @ 5,0 IF choice = "P" @ 5,0 SAY "Printing..." SET CONSOLE OFF SET EJECT OFF REPORT FORM In-rpt1 TO PRINT SET CONSOLE ON SET EJECT ON SET PRINT ON EJECT SET PRINT OFF @ 5,0 ELSE REPORT FORM In-rpt1 ENDIF USE IF choice <> "P" STORE " " TO pause ? ? @ 23,0 SAY "Strike any key to continue..." GET pause READ ENDIF ERASE RELEASE choice,pause RETURN * EOF IN-RPT.PRG ߳ז זӏ߫ߚ ߫ߏ ך߫ߚ ݺ߳ߓך ű Ť׈ߏߐ߈ߑҝ ž ū׼Ԭԥ ݺ߳ߓ ߫ߖ ݧ߫ߓٖ ٖѾߩז שז߫ߏ ُ߫ߓٖ ߓٖ߫ߌ ׌Ѿ߳׌ ׌߫ߌ ٖѰٌ߫ שז߫ߖ ݧ߫ߓٖ ז߫ߓ ߰ ߰ ߰ ِ߫ ߰ ߰ ߯ߢԐ ߾ߢԆ ߻ߢԻ ߱߼לƢ׻ԤߢԆߤ߾߭߭ ߭ߌߜߚ բ ߫߰ ߽߰ ߫ߌ ߢԖ ߬ݢԚԤ߲߾߶߳߶߱߸߳߾߽ߺ߳߬ݢ ߬߻֢ ߬ݢ ߬ݢ ߫ߌ ؿ߬ݰߋߋߌߐߏߤЯ ߸ߌ߯ݢ ߼ ߼ߌݬݢ ߺ ߼ߌݯݢ ߬߼߰ ߬߯߰ ߰ ߺ ߽߬߰ ߬߫߰ ߭ Һ߹ÚߙߋߓߌߞӢ Ҭݬؼ߫ߜ ߫ߜ ߨѱߺ ߶ߜݢ ߶ѱٜ֢ ߬ ߳ ߺ ߺ ߬߫ߚ ߫ߖ זߓ ߓٖ߫ߌ ׌ݤѾ׌ӳ׌ݢ ׌ӳ׌߫ߌ ߶߫עԌԤݢ ߬ߚ߫ߚ ߺ ߢԌ ߺ ߢԌ שז߫ߖ ߻ߨߚϢ ߬ߚ߫ߚ ߺ ߬ բ ߯߰ ߼߰ ݫج߾߹ݢ ߫߰ ߽߰ ߺߢߐ ߰ ߫ ߰ ߰ ߰ ߰ ݢ ߬ߚ߫ߚ ߺ ߢԌ ߺ ߢԌ שז߫ߖ ߻ߨߚϢ ߬ߚ߫ߚ ߺ ߬ բ ߯߰ ߼߰ ݫج߾߹ݢ ߫߰ ߽M=1 Y MASTER INVENTORY REPORT N Y Y $(PRD:NUM,1,3) N N 15,PRD:NUM NUMBER 20,$(PRD:DESC,1,20) 3 STORE " " TO mselect @ 11,33 SAY " select : : " @ 11,42 GET mselect PICTURE "#" READ STORE VAL(mselect) TO select ENDDO DO CASE CASE select= 0 USE ERASE RETURN CASE select= 1 DO In-add CASE select= 2 DO In-view CASE select= 3 DO In-updte ENDCASE ENDDO T * EOF IN-VWED.PRG  @ 8,26 SAY " 3. Update Existing Records" STORE 4 TO select DO WHILE select < 0 .OR. select > 3 STORE " " TO mselect @ 11,33 SAY " select : : " @ 11,42 GET mselect PICTURE "#" READ STORE VAL(mselect) TO select ENDDO DO CASE CASE select= 0 USE ERASE RETURN CASE select= 1 DO In-add CASE select= 2 DO In-view STORE 1 TO OK ENDIF ENDDO WAIT ERASE ?"Now, &STUDENT, find where in STATEMENT, the first comma occurs, and STORE" ?"that location to a memory variable called COMMAL. The @ function (where" ?"is it at), does this. The field specified in the second parameter is" ?"scanned to see where the first parameter in the command occurs." ? ?"Type STORE @(',',STATEMENT) TO COMMAL " STORE "STORE @(',',STATEMENT) TO COMMAL" TO CHECK DO CHECKC ?"The first comma occurs in position 5 of STATEMENT. Now, take the" ?"characters preceding the comma, and STORE them to a memory variable" ?"called WORD1. You can use the $ (substring) function for this. The" ?"expression specified by the first parameter, starting at the position" ?"specfied by the second parameter, for a length of the third parameter is" ?"the result of the $ function." ? ?"Type STORE $(STATEMENT,1,COMMAL - 1) TO WORD1 " STORE 'STORE $(STATEMENT,1,COMMAL - 1) TO WORD1' TO CHECK DO CHECKC WAIT ERASE ?"The $ function can be used without the second and third parameters, in" ?"which case the first parameter will be analyzed to see if a substring" ?"occurs anywhere within it. For example, you could see if the string NAME" ?"occurs anywhere within STATEMENT." ? ?"Type ? 'NAME' $(STATEMENT) " STORE "? 'NAME' $(STATEMENT)" TO CHECK DO CHECKC ?"The .T. indicates that the substring NAME does occur within STATEMENT." ? ?"The $ function with the second and third parameters omitted is a very" ?"nice way to do keyword searching of files. For example, using the" ?"DISPLAY ALL or REPORT commands, a file of text could be searched like" ?"this:" ? ?"DISPLAY ALL FOR 'AGRICULTURE' $(ABSTRACT) .OR. 'PLANT' $(ABSTRACT)" ? ?"If you have textual data, and need a keyword searching facility for it," ?"the facility is already in dBASE II." WAIT ERASE ?"Whether you entered NAME in upper or lower case, I converted it to" ?"upper case. You may have noticed that I have performed this upper case" ?"conversion throughout these lessons. I've changed WORD1 (NAME) from" ?"upper to lower case, and I'm going to let you convert it back to upper" ?"case. You'll use the ! function to do this." ? ?"First, &STUDENT, make sure that WORD1 contains 'name'." STORE 'name' to WORD1 ? ?"Type ? WORD1 " STORE '? WORD1' TO CHECK DO CHECKC ? ?"Now, type STORE !(WORD1) TO WORD1U " STORE 'STORE !(WORD1) TO WORD1U' TO CHECK DO CHECKC ?"Consider that you have files with text in them, and want to break down" ?"the text into single words that are separated by blanks, commas, colons," ?"or something else, to produce an index. The preceding group of " ?"instructions does just that. When that sequence of instructions is put" ?"command procedure, it can be used to break down text on any file." WAIT DO TEACH8F DO TEACH8R ERASE ?"The functions can be most powerful when used in command procedures with" ?"IF's and DO LOOPS, but they do have value when being used from the" ?"keyboard." ? ?"I'm going to ask you to do something now that I have not asked you to do" ?"before, and will not ask you to do again. I'd like you to take the" ?"dBASE II reference card, which came with your system, and read about the" ?"the SET options. Once you've done that, try some of the dBASE II functions" ?"and experiment with the various SET commands." ? ?"Now, it's time to quit." STORE 'QUIT' TO CHECK DO CHECKC RETURN ASEII manual and R E A D (a dirty word) what it haASEII manual and R E A D (a dirty word) what it haASEII manual and R E A D (a dirty word) what it ha ENT,1,COMMAL - 1) TO WORD1' TO CHECK DO CHECKC WAIT ERASE ?"The $ funcT]NAMEC٪ADDRESSCCITYCCOMPANYCZIPC.STATEC3 GEORGE TATE 10150 W JEFFERSON BLVD CULVER CITY ASHTON-TATE 90230CArosaline keenan 90230 *dale ford 90230 *perry lawerence 22222 *TOM 111 SECOND ST.  labels.cmd ght be done in the last dBASE II LESSONS module." ? ?"Now, &STUDENT, use EMPBAK1, and try some other functions." STORE 'USE EMPBAK1' TO CHECK DO CHECKC ? ?"You're going to SKIP through EMPBAK1, looking for records that contain" ?"SMITH in them. When we are at a record that contains SMITH in the" ?"LASTNAME field, we want to STORE the record number of that record" ?"into a memory variable called RECNO, but only if the record is not" ?"flagged for deletion. I know this can be done easily in a DO LOOP," ?"but I'm going to wait until the last lesson to illustrate DO." ? ?"You're at the first record of EMPBAK1. See if LASTNAME is SMITH." WAIT ERASE ?"Enter ? LASTNAME" STORE '? LASTNAME' TO CHECK DO CHECKC ?"No, that one is not SMITH. Before you go to the next record though," ?"try the the LEN and TRIM functions." ? ?"Type ? LEN(LASTNAME) " STORE '? LEN(LASTNAME)' TO CHECK DO CHECKC ?"To remove trailing blanks in LASTNAME:" ? ?"type STORE TRIM(LASTNAME) TO TRIMNAME " STORE 'STORE TRIM(LASTNAME) TO TRIMNAME' TO CHECK DO CHECKC ?"Now, type ? LEN(TRIMNAME)" STORE '? LEN(TRIMNAME)' TO CHECK DO CHECKC STORE LEN(TRIMNAME) TO NL STORE STR(NL,2) TO NLX ?"TRIMNAME is only &NLX characters long, since trailing blanks were" ?"removed from &TRIMNAME.. Now, SKIP to the next record." STORE 'SKIP' TO CHECK DO CHECKC ?"You don't want to SKIP past the end of the file. Check for that." ? ?"Type ? EOF " STORE '? EOF' TO CHECK DO CHECKC ?"OK. You haven't hit end of file. See if this record has SMITH." ?"Type ? LASTNAME " STORE '? LASTNAME' TO CHECK DO CHECKC ?"There's SMITH. See if the record is flagged for deletion." ? ?"Type ? * " STORE '? *' TO CHECK DO CHECKC ?"No. It's not flagged for deletion. STORE The record number, so you" ?"can come back to this record later." ? ?"Type STORE # TO RECNO " STORE 'STORE # TO RECNO' TO CHECK DO CHECKC ?"OK, &STUDENT, see if there are any more SMITH records. SKIP" STORE 'SKIP' TO CHECK DO CHECKC ?"? EOF" STORE '? EOF' TO CHECK DO CHECKC ?"? LASTNAME" STORE '? LASTNAME' TO CHECK DO CHECKC ?"There's another SMITH. Is it flagged for deletion?" ?"? *" STORE '? *' TO CHECK DO CHECKC ?"Yes, it is flagged for deletion, so you don't want it. SKIP" STORE 'SKIP' TO CHECK DO CHECKC ?"? EOF" STORE '? EOF' TO CHECK DO CHECKC ?"That's end of file. Get back to the record that had SMITH, and was" ?"not flagged for deletion. Which one was it? That's right, you stored" ?"the record number in the memory variable RECNO." ? ?"Type GOTO RECNO " STORE 'GOTO RECNO' TO CHECK DO CHECKC ?"Now, DISPLAY" STORE 'DISPLAY' TO CHECK DO CHECKC ?"And there's the SMITH record that isn't flagged for deletion." WAIT RETURN DO CHECKC ?"? EOF EOF' TO CHEC" e e eEC" e EOF' TO CHEC" eC" e ed" ?"the record number in the memory in the memory ory HECK DO CHECKC ?"The .T. indicates true, so we can use that file." ? ?"Note - You could have STOREd the results of those tests (.T., or .F.)," ?"and used them to control the flow of a program. You'll see how that" ?"mi* Program.: LABELS.CMD * Author..: Luis A. Castro. * Date....: 9/15/82. * Notice..: Copyright 1982, ASHTON-TATE. * Notes...: To print mailing labels more than one across without * printing a blank line when the company field is blank. * You may want to remove all the comment lines, if you want * to make this program run faster. Uses a data file with * the following structure: * NAME,C, * COMPANY,C, * ADDRESS,C, * CITY,C, * STATE,C, * ZIP,C, * * References: * You will notice that I use macro substitution extensively * in this program (i.e., using the ampersand (&) symbol). * You will want to look in your manual for documentation on * this command. * SET TALK OFF SET BELL OFF SET INTENSITY OFF * Initialize macros... STORE "TRIM(city)+', '+TRIM(state)+' '+TRIM(zip)" TO Macro STORE "line1+$(blank,1,column*gap-LEN(line1))" TO Mline1 STORE "line2+$(blank,1,column*gap-LEN(line2))" TO Mline2 STORE "line3+$(blank,1,column*gap-LEN(line3))" TO Mline3 STORE "line4+$(blank,1,column*gap-LEN(line4))" TO Mline4 * Initialize memory variables... * The expression "$(STR(0,133),1,132)" is a tricky way of * initializing 132 blanks to memory variables. STORE $(STR(0,133),1,132) TO blank,line1,line2,line3,line4 STORE "LB-NAMES" TO filename STORE 1 TO nacross STORE " " TO select STORE 25 TO gap STORE "Y" TO printer ERASE * Heading is displayed and parameters are entered... @ 2,29 SAY "PRINT MAILING LABELS" @ 3,29 SAY "--------------------" @ 5,20 SAY "Enter number of labels to go across "; GET nacross PICTURE "9" @ 6,25 SAY "Enter gap between columns "; GET gap PICTURE "99" READ * Minimum and maximum values are tested... IF gap < 25 STORE 25 TO gap ENDIF IF nacross > 4 STORE 4 TO nacross ENDIF * At this point a prompt is displayed to allow the user * to send output to the screen or printer. SET COLON OFF @ 8,15 SAY "Do you want to send output to the printer? (Y/N) "; GET printer PICTURE "!" READ @ 9,17 SAY "When labels are in place, hit carriage return "; GET select READ SET COLON ON ERASE USE &filename DO WHILE .NOT. EOF * Store first column to output lines... STORE TRIM(name) TO line1 IF company=" " STORE TRIM(address) TO line2 STORE &Macro TO line3 STORE " " TO line4 ELSE STORE TRIM(company) TO line2 STORE TRIM(address) TO line3 STORE &Macro TO line4 ENDIF * Store rest of columns to output lines... IF nacross > 1 SKIP ENDIF STORE 1 TO column DO WHILE .NOT. EOF .AND. column < nacross STORE &Mline1+TRIM(name) TO line1 IF company=" " STORE &Mline2+TRIM(address) TO line2 STORE &Mline3+&Macro TO line3 ELSE STORE &Mline2+TRIM(company) TO line2 STORE &Mline3+TRIM(address) TO line3 STORE &Mline4+&Macro TO line4 ENDIF STORE column+1 TO column IF column < nacross SKIP ENDIF ENDDO while .not.eof.and.column" ?"key to go to the next field. Press after editing the last field," ?"to return to me. Try it &STUDENT.." ? ?"Type READ " STORE 'READ' TO CHECK DO CHECKS DO CLEAR@ ?"Obviously, this is a very simple illustration. In real life, the name" ?"and address file would probably be INDEXed on name or perhaps some other" ?"field or fields so FINDs could be issued randomly to position the file" ?"to the record to be changed. It does, however, illustrate the" ?"flexibility dBASE II provides for screen and printer formatting, and data" ?"entry from the screen." WAIT DO CLEAR@ ?"Don't forget to look at the ZIP package either. That makes screen" ?"building a snap." ? ?"It's time to quit again. After you have, try @ SAY and ZIP. I'll see" ?"you again in the final lesson, lesson 10. Enter QUIT." STORE 'QUIT' TO CHECK DO CHECKS RETURN field or fields so FINDs could be issued randomly to position the file" ?"to the recorfield or fields so FINDs could be issued randomly to position the file" ?"to the recorfield or fields so FINDs could be issued randomly to position the file" ?"to the recor 6,5 SAY 'THIRD ADDRESS' GET ADDR3" STORE "@ 6,5 SAY 'THIRD ADDRESS' GET ADDR3" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" STORE "@ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" STORE "@ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" TO CHECK DO CHECKS DO CLEAR@ ?"Now that the screen 6,5 SAY 'THIRD ADDRESS' GET ADDR3" STORE "@ 6,5 SAY 'THIRD ADDRESS' GET ADDR3" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" STORE "@ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" STORE "@ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" TO CHECK DO CHECKS DO CLEAR@ ?"Now that the screen . It does, however, illustrate the" ?"flexibility dBASEII provides for screen and printer formatting, and data" ?"entry from the screen." WAIT DO CLEAR@ ?"Don't forget to look at the ZIP package either. That makes screen" ?"building a snap." ? ?"It's time to quit again. After you have, try @ SAY and ZIP. I'll see" ?"you again in the final lesson, lesso. It does, however, illustrate the" ?"flexibility dBASEII provides for screen and printer formatting, and data" ?"entry from the screen." WAIT DO CLEAR@ ?"Don't forget to look at the ZIP package either. That makes screen" ?"building a snap." ? ?"It's time to quit again. After you have, try @ SAY and ZIP. I'll see" ?"you again in the final lesson, lessoADDR3" STORE "@ 6,5 SAY 'THIRD ADDRESS' GET ADDR3" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" STORE "@ 7,5 SAY 'FOURTH ADDRESS' GET ADDR4" TO CHECK DO CHECKS DO CLEAR@ ?"Enter @ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" STORE "@ 8,5 SAY 'FIFTH ADDRESS' GET ADDR5" TO CHECK DO * Program.: SP-MAIN.CMD * Author..: Debby Moody * Date....: 02/06/84 * Notice..: Copyright 1984, ASHTON-TATE. All rights reserved. SET ESCAPE OFF SET TALK OFF SET BELL OFF SET INTENSITY OFF DO WHILE T ERASE @ 1, 0 SAY "========================================" @ 1,40 SAY "========================================" @ 2, 0 SAY "||" @ 2,78 SAY "||" @ 2,15 SAY "D B A S E I I S A M P L E P R O G R A M S" @ 3, 0 SAY "========================================" @ 3,40 SAY "========================================" @ 4, 0 SAY "||" @ 4,78 SAY "||" @ 5, 0 SAY "||" @ 5,78 SAY "||" @ 6, 0 SAY "||" @ 6,78 SAY "||" @ 7, 0 SAY "||" @ 7,78 SAY "||" @ 8, 0 SAY "||" @ 8,78 SAY "||" @ 9, 0 SAY "||" @ 9,78 SAY "||" @ 10, 0 SAY "||" @ 10,78 SAY "||" @ 11, 0 SAY "||" @ 11,78 SAY "||" @ 12, 0 SAY "========================================" @ 12,40 SAY "========================================" @ 5,29 SAY " 0. exit" @ 6,29 SAY " 1. mailing labels" @ 7,29 SAY " 2. inventory program" @ 8,29 SAY " 3. checkbook program" @ 9,29 SAY " 4. help" STORE 5 TO select DO WHILE select < 0 .OR. select > 4 STORE " " TO mselect @ 12,33 SAY " select : : " @ 12,41 GET mselect PICTURE "#" READ STORE VAL(mselect) TO select ENDDO DO CASE CASE select= 0 SET TALK ON SET INTENSITY ON SET ESCAPE ON SET BELL ON CLEAR RETURN CASE select= 1 DO Lb-print CASE select= 2 DO In-main CASE select= 3 DO Cb-main CASE select= 4 DO Sp-help ENDCASE ENDDO T * EOF SP-MAIN.CMD  select < 0 .OR. select > 4 STORE " " TO mselect @ 12,33 SAY " select : : " @ 12,41 GET mselect PICTURE "#" READ STORE VAL(mselect) TO select ENDDO DO CASE CASE select= 0 SET TALK ON SET INTENSITY ON SET ESCAPE ON SET BELL ON CLEAR RETURN CASE select= 1 DO Lb-print CASE select= 2 DO In-ma@address(71 Murray Street New York, NY 10007) LB-NAMESDBFLB-PRINTCMDSP-HELP CMDSP-MAIN CMD ADDRESS MSSEMPTRANSDBFEMPTSRT DBFF DBFNPUԅƋNSTNNMNKEYILPRINԞLISԟPOEԈINűOASEISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOPEοUԝΕCTPTIOκRINԑUOKřOEEETURΎEAćUΊESTORŌE͏ESUMũSEIGHTNENUͬESEANDOMIZŻTOАWAХAVPCTEGQI TRTRINGPACEYSTEͽHEROΣROFƤABA SINSAARPTIDTȡAIԗHILŴENĵRITŷO۾yy||PF<2(z{ *z);*)&,,d-D.s)%%'i')1+%+Q+3)NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filespP8`@` :, in Ok Break!9~#b  T N#F#`izv C T  *|<ʗ :  D=96543>7@?2C: * "   *" 2 2 |< "  * âC{K2* " * |< " " * |! 4 4 5wY2B!{DP 2R U >(_#U * ~?o !P #GC!BʻY|<1>DA2MSB!E :* > @(K 2 Ç 2 *  C " :b ʢ >(Kڢ <=ʢ (ͬ~ ̾(" ҊSe]" ;5$ܢ"ʇ: \*v " * ͶB" t##s#r## w# y}ͯ!6"*" 7C*"* "â *bk~####~ ҷ ڷù#s#rïC *DM~#+##~#foC`i~#fo??2i 2h ;#~=!@}O|G!""y O:h ~ʂ#Y:aJg>2h 2i U%~|*O~#Ym?>HjZEڗ;;>ʸ;>HOZ#þGO TOUBZ!AO ^#V#ZOd#<y(!!!Z.!>dG>Y2i Y%=+ZOiMk֢ύ>2i W„Y>5W>Y{~.ʧ:"0":i ~O.O>Y(ͬ}Y|Y%~.ͬ:g * |>}e. Y! d! ~Y#=%iʎ%à&O[H> K> Yi>: y +=2i ZY#ZEo:ҋ0o.o%~ Ҡ ʠ ʠ> :i <ʩ=m+~ ʬ ʬ ʬ#>d2 ͋9C" :g ͬ! (" !9T  +V+^##* C" B* *Cd Nz)~S ͒(q)ʹ(QZ~>r)ʹ(E(OdG+ $* "* 3àE3\B" !9" ~: #~#ʅ #^#V": >[@1>]@ցLO! N#F#~: ҆ ځ#:l `#2l f>R~#"j &o"n >2m !~##"j +fC͎*j <2m n G("j ! 0?<=:l ҫ ګ*n ¨###^#V,:m 2g *n " *p " !n (E AOGEAGx3Ø(:l  *j #*C > 2 ,$`i P "  "!>:yHG+ȸ#"<֌W-͋9C" :g G:g x=ͬ:g  H * #^#V*Cs* C{! C{>HͣFH(µC(zʢPY" : {:_ u ~GC+K x),  <2~(z˜<* * "~ #####u   =>C,* =( |" 2 " â ~,dC+͆(~ʕ *n €€l>2á Q+!B>ee,%;d)1F6 * 4TF* ::G<:?=:G<:e ?=!B&Gá(* TF~\:I:G<:\V:G:e \!B\/V tz|TF›:::o<ʛ& ,C)+(* TF~:::e /<!B{= @è2go"C#ʧQHLo͋9;*0KDF>-?Redo from start #~ "4N: !!#G* Q!a ;#YHL">2>2 F~,2 ÓC;&G: ʫ>?@> @0KDů2 6,+>2 ͉:~+[(# "4([]), ~,B>2 d: =Bd̨H+~,ʿ+N6,E* 2 QC,͋9~,c: 2 TF—Qd¢WG"ʌ: Wʉ:,+FO: y!...+ʽ,G+M: C#~# #^#V" cCC(+B͓2 " * ~" ڎ_4:g {[H !xVzʬQںzʺ! :g  N#F#N#F! N#F#N#FKG* W " Ð)͙(6Çz)uÇxdd!BdX* \FÇy2h :g g+Wx(zOxdz o! N#F* *(" " ͩ( *!:h og~#fox(2g 6" ;)!A͙(*ʹ(" " i*͙(*g' .EJ ]<=ʓ<"FO&i:* ,C(#r PQ͉:C)|)IoBI'UTC)}* k(͋9" d(~a{_&([OʭH¬#~[Eҗ:0ÞG7))))o~ +8  )))0O í)#~ց(7>OyC,;** u )4} )H>2  N#fi-++<(aZz)}/o|/g" :g q7xz)z ,{ʨ+F•{o|P {o|<«{o|2¸{/o|/}//o|//}o|g,::e 2 ͋9:g " " ͬB!9(:g * ~)C,* C,Á2N 2g !9(!9.,:g G:N Od}!P O:* * C)>" : OBO/2 OÐ9~ #~#`J x 2b b + C,u W : u 2_H 2u 2_H 2H /<z)zu 2 2 C,u Y +{>2e]!"N#F#xʇ TFQBN#F#Cچ " 1~ > @ !b !BÑ ~ͥB# b 2 e] #~ anti bio centi dis electro en fore hyper intra inter iso kilo magneto meta micro milli mis mono multi non out over photo poly pre pseudo re semi stereo sub super thermo ultra un under -y+iness +ness -y+iless -y+ies -y+ily +es +'s +s +s' +' -t+ce -cy+t +bility -le+ility -y+iable -e+able +C+able +able -e+ity +ity -e+y +ly +al +ment +C+ing -e+ing +ing -y+ier -y+ied +C+ed -e+ed +ed -y+ic +ic +C+er -e+er +er +C+est -e+est +est -y+iest -ry+er -y+ist -e+ist -e+ism -y+ication -e+ation +ation -e+or +or -e+ion -e+tion +ion +ian +an -e+ive +ive -e+ize +ize +ship -y+ihood +hood +like +less +C+ence +ence +C+ance +ance -y+ily +es +'s +s +s' +' -t+ce -cy+t +bility -le+ility -y+iable -e+able +C+able +able -e+ity +ity -e+y +ly +al +ment +C+ing -e+ing +ing -y+ier -y+ied +C+ed -e+ed +ed -y+ic +ic +C+er -e+er +er +C+est -e+est +est -y+iest %#~#Y #^#V" y~.%$$$$$%** "͋9+%c%C,+8%": 2 2 ! 6ͷ(È%ͷ(t(x: ʩ(Ң%/<͙(ͩ((gb&|! %B&#ʈ0.͉&#&G~_#~W#~ON&hcGy&JTeox%2 |&y%O&)zWyO%x\E#&! w%%x! 5&F#~怩Oé( 4Ç0~_#~W#~O! ~/woG}_}W}Oq&CZQd& oz…&y-O{&Ë&-yOzW{_xGÅ&$cCu͍M r5E(&1r'ʹ(>2 ͙(!&ͧ7͙(ͩ(!&ͧ7i'͙(T(È%E(.(y2<'"7'PX!%!%'! ~#Y'Wy='O|g}oxGQ'x Gz/'CZQO͙(!-ͦ(E(ʐ0.(4g04g0+~2'+~2'+~2'AOW_2'}o|gxG>?ұ'2'7y<=':'x'> $&{_zWyO)xG:'2'y”'! 5”'%>.! N#G.x'(}! Gx&(ƀwW'(w+E(/%g0ʹ(xڀ0G͈%! 4À0: : /<! Op#6%͆(d+ ! ~w͆(og)d E(* ||O(* * ͷ(" `i" ! ^#V#N#F# (:g Gw#(! ~7w?##wy7O! ((! ( d xE(!N(E(y! y )#x+y+z+{z|O(@)}P(! ( E(!N(E(O! y#)+f)I)N(d* )(! 6(&,)Ü)y%: 2 : B*: ½)))|/g}/o)! : )B*" >2g )aj)d* ʹ(6*x(! F#&* 6*|UY(d *!" " >>)d GOW_ʹ((gf*>b&|5&N&z< dE(*t(̀*k(dҦ* )! ~: ~B*6{y%! ~*O+~+¶*!*) *yʹ((+6+q*: O! >%-,2 Ñ,! ~5#*!x"+>);)+ ;=+|G+y4+|Gz)*͙(,N0|)+DM!>)ډ+)q+ ډ+=c+|+x+ʚ+*͙(*'x)*t(| ++DM!>+ +7>{_zW}o|g=+w+|G+|)Ooyg)* +|6*Y(ͨ+g{o)+! ~w! ~G+N (R,/<#Fwx+ B,F+N9(! G>w2 ! %-x,: 2 ,,4ʈ0Q-,>,! -G: º,! Vwz# Ÿ,x’,%! Y-,x,! w%: ,! ~++w! 4#,4ʈ0+60 ! ->!  2 -# -~/w! Oyw#-q<-NsY+1-'- W~w+F-?-! C-~w# [-E(: %'͝.qʙ-G,Q-x ‚-y-Ñ,! --Ñ-L} : A--! (d-: -2 !t(. ! (.&, ! (>.".&,! 3.=-..! 5%! >5=.>! N#F#=(.>! p+q+=9.: ʔ0: %'44ʈ0͝.!7 qA>,?t.>,: <=,! [-!0 Y-xb.! 5b.%y2 +6 ~q+¨.(+~ڈ0w&,4È0%3*j%>2 `h)~&i-.+.+/.ʆ/e /E5/l#/L#/q#/Q4/:g N/>N/~%ʓ/#ʤ/!ʥ/dN/De/ͮ/2S0e/_{_//i/k(d!W')d e/ܮ/.!W'!z)e/ͮ/e/) *d.(.=d^'- ̓$> ̓$!  101(d0! 1(* |* "1C !@ #G"G)Ͳ1F1Ͳ1416+͆(F16-k(#60: W:g 22һ1ͺ5! F : _ 1x*1{1Aqʟ1Eʟ1Dʟ101,1.¢1+60{ʫ1+6${+p2 ! 6 ͙(* * 2 f2E~2:101 #~1>DG1" `i" #~+N2-%20OxGN2#~ 2`xEC2y 1>2 S2|1;21" `i" ͩ(#W\4: 2Ë22ҏ2460̾("5+~0ʞ2.ľ(2d>"w#6+26-/</ 2:#p#w#6! #zQ334z4ͺ5{(=4b13p#6! #: ~ 3* 3+3-+$0I3#I3++w?3 3I36%3m36C){3)1+6%)d3E(\43_x44"5452_y/3/3{_x34434y5O4GO"53* =4P2*ѯ3E(7\4y/OzWO/4)4/< 5/>,K5>,p#=B5! ͦ(~5y%>B*ͩ(_6?5ʹ(/{_#zW#yO++Ғ5B&#ͩ(p#ڄ5>5e6>5N#F#* /}o|g5" p#=55w1_cƤ~@zZrN vH Tʚ;@B''d G" կʎ6))))Ÿ6y=ʟ6ʫ60:ڨ6 ʸ6ʊ6È6!t(͙(! 6ͦ(6)!r%>2 E(x+76ʗ0%yʹ(7: 77͍*)|" " ܻ6t(ͽ&'8;': `7hr7͙(͍*Ɓc7ͅ%!{7ͧ7J'͙(: o7%~0é(|Yt&wz^Pc|u~r1͙(+ʹ('͙(~#ͦ(='ͷ(͈%ð7RO!&ͦ(76*E(!H8>8!i8ͦ(!H8Ȇw#O ͷ(':G8<2G8!i8O |%ʹ({YOO6+F6!F84~֫58w %!i8(w+w+w85Jʙ9v" GSљ e͘w>ROhFhiuh!8|%: w: 82 t("~'͙(͍*ͅ%)8͈%͈%E(t(͈%t(: 82 !9͘7: 2 "~Ie&X4#]I͙(8͙(ͩ(y8g'E(6t(: N9QYi'!%!X9͘7!8 J;xn{/|t1}=Z}~L~l+C,}92f NE G2#~.9ʵ9:ү90ҵ9E9G#~:90Ҽ9EҼ9.ʼ9x' 2~&9 :%$!#y_! V+z2g : =ʒ;):~(;3;2 : 2 }:*  " c:o[::g [::&* C;^#~#¸;:g ¸;~;#^^#V#˜;:f DMW']< #:¹;#ʾ;+͸<þ;:g w#_ʖ!@1> @!b  ~#=GA"=[0A= A=_zW"=! =L=ʺ>O>>ʨ=1g= !>=#ʻ=>>= >>(9>ʵ=6>>@!B<~ͥB#¨=!>7A_>~=ͥB܁>=#~== !B<~>\ͥB~>ͥB́>=>\@~A +> +>+> +>>@ >wͥB# >6Hͨ=Aq>s> >s> ʑ>ʑ> ʑ> >>_‘>>_ʙ>ͥB+>> ~7W'#~+w#Ã>yڡ>>@>> o&DM#͹BwͥB#Þ>x+>ͥB>x+~ͥB> !Bz\@@_W@W~#!ʎ@#ʡ?&ʉ@g@+>H?+~#.?_}@\&???$ʚ?*??x#ڒ?~$> ž?#W?~#.?#ʡ?,?z@Wá?~#>.??# ?~##??T]^###xG#z+@x@~-@@>Wr@Cxz*1#G+7N@2 ;K@, ~#_~#foxE?m@@@?!BͫH@~#@_@Ò@>@r@;** AxxOI&G* 5@G> 5@@@z>+@TFfV:\A@:@27A  []============================================[] [] LEARN CP/M [] []============================================[] Your computer is like a video tape machine. For it to do something interesting you have to run programs on it. The programs used by your computer are called "software". To run the software programs on your computer you have to know how to operate your computer (just as to run video programs on your video tape machine would require that you know how to operate it). CP/M is the "operating system" of your computer. When you know how to use it, you will know how to operate your computer. Many people think that computers are difficult to use, but as you will soon learn, this is not true. In fact, using CP/M (which stands for Control Program Monitor) makes operating your computer very easy. The CP/M operating system lets you load programs into your computer and run them. It serves as the control panel on your computer. The CP/M operating system lets you control what happens with your computer's disk drives where programs, data, and other information are stored. With CP/M you can copy disks, erase and rename files, list the contents of disks, and much more. ................................................................. In a nutshell --> CP/M lets you operate your computer ................................................................. What does CP/M look like? The CP/M operating system is supplied to you on a diskette. In order to use it you need to put the CP/M system diskette in disk drive A (the main disk drive). CP/M identifies itself to you by the command-prompt: A> which appears on the screen when you insert the CP/M operating system diskette. This prompt indicates that you have turned on CP/M and are logged onto drive "A" of your computer system. The CP/M operating system is ready to receive your commands. What can you do with CP/M? In this lesson we will present the major CP/M commands which you will find useful in using your computer. On your CP/M diskette there are several "utility" programs stored in separate files as well as a "system" where several command programs that do not have file names but which are part of the CP/M system are kept. The "system" commands which we will learn are: ................................................................. .--> In a nutshell, the commands you need to know are: . _________________________________________________________________ . . . DIR Provides a DIRectory of files on a diskette. . . TYPE TYPEs the contents of a document file on the screen. . . ERA ERAses the file specified. . . REN RENames the file specified. . ................................................................. .......................................................................... .--> The "utility" programs you need to know are: . __________________________________________________________________________ . . STAT Provides STATistics on the space available on a diskette. . PIP Lets you copy files on a diskette. . COPY Lets you COPY a diskette. . FORMAT Lets you FORMAT a diskette. . SYSGEN Copies the CP/M "system" to a specified diskette {SYStem GENerator}. ........................................................................... ----------------------------------------------------------------- ................................................................. DIR (DIRectory) Whats on a diskette? To find out what files are on a diskette you use the DIR command. Simply enter: A>dir {Note: the "" means you need to press the ENTER or Carriage Return key after typing the command} This command causes the names of all files located on a diskette to be displayed. For example, the command: A>dir will produce a listing of all files on the diskette in disk drive A. A>dir A: FORMAT COM : COPY COM : SYSGEN COM : STAT COM A: PIP COM : ED COM : SUBMIT COM : To display the files on the diskette in drive B, you would enter the command: A>dir b: If the Perfect Writer program diskette were on drive B: the directory would look like: B>dir b: B: MENU COM : PW COM : PF COM : PP COM B: PF DAT : PWCONFIG COM : PFCONFIG COM : WRTBIND COM B: PWBIND COM : PW SYM : If you want to have the directory printed, use the command form: A>dir b: CONTROL--P ................................................................. ----------------------------------------------------------------- EXECUTE PROGRAM To run a program in CP/M you only need to type the filename of the command program (the COM extension to the filenames in the directories above indicate the file is a "COMmand" program and can be executed by typing its filename without the "COM" extension). For example, to run Perfect Writer would require that you enter the filename of the program. The CP/M command you use first in working with Perfect Writer is the "MENU.COM" program." The command form is: A>menu That is, following the CP/M command-prompt "A>", type "menu" (for the Perfect Writer 'menu' program), followed by a carriage return. CP/M transfers the Perfect Writer menu program into machine memory and surrenders system control to it. From this point you have left CP/M and would now be operating within the Perfect Writer word processor. The Perfect Writer menu program allows you to exit directly to CP/M when you have finished with your word processing work. In addition, the Perfect Writer word processor allows you to both rename and erase a file. These tasks can also be accomplished with CP/M system commands. ................................................................. ----------------------------------------------------------------- REN (Rename) REN provides a quick and easy way of changing the name of a file. For example, using this command you could change the name of the file located on the diskette in disk drive A called "oldname.mss" to "newname.mss." A>ren newname.mss = oldname.mss ^ ^ replacement name to be replaced Note that in the above command the old [or original] file name is placed to the right of the equal sign, and the new name is placed to the left. Following a name change, only the new (or replacement) file name will appear on the disk directory. To change the name of a file located on the diskette in drive B, use the command form: A>ren b:newname.mss = b:oldname.mss Note that we needed to specify the disk drive the where the file was located with the prefix "b:". This format for specifying a file (attaching a prefix identifying the drive where it is located) is used with all CP/M commands. ................................................................. ----------------------------------------------------------------- ERA (Erase) You will often want to free-up diskette space by deleting old, unwanted files. The CP/M command to do this is ERA. For example, the command: A>era b:thisfile.mss results in "thisfile.mss" on the diskette in drive B to be erased. Clearly, you will want to use this command cautiously. ERA can also erase groups of files. For example, the command A>era *.mss causes all files on the diskette in drive A with names ending in 'mss' to be erased. The asterick "*" is used as a wild card to represent everything. Finally, to erase all files on a disk, use the command form: A>era *.* Before erasing all the files on the diskette, CP/M will ask: Erase all files (Y/N)? This confirmation is requested to insure that you are aware that you will erase all the files on the diskette. Since this action is so dramatic in its results, CP/M tries to provide you with protection. ................................................................. ----------------------------------------------------------------- TYPE (Display File) TYPE allows you to quickly inspect a document file (by type-ing it) without having to enter Perfect Writer. For example, the command: A>type thisfile.mss causes the contents of "thisfile.mss", which is located on drive A, to be scrolled across the screen. To temporarily halt the scroll, type: CONTROL--S Hit any key to continue. To end the display, type: CONTROL--C ______________________________________________________________________ ...................................................................... CP/M COMMAND PROGRAMS ................................... Your computer has limited disk storage which you need to keep track of. In order to effectively organize and store programs and data you need to have complete statistics on what files and space is occupied on each diskette. The CP/M command program that provides you with this information is "STAT". STAT (STATistics) The STAT command displays the vital 'statistics' of a diskette, that is, how storage space has been allocated among files, and how much free storage space remains on a given diskette. For example, the command: A>stat causes CP/M to examine the diskette in drive A and respond with the message, for example: A:R/W, SPACE : 20k indicating that on the diskette in drive A 20K bytes of free storage remain (this would be roughly equivalent to 15 or 20 pages of double spaced text. As well, this space is designated "read-write" (R/W), meaning you can read or write to it (in contrast to R/O which indicates "read only". A diskette would be read only if it had a tape on its write protect notch.). To examine a diskette on drive B, type: A>stat b: CP/M will respond with the message: B: R/W, SPACE: 142K indicating that available "read-write" space totals 142K bytes. STAT will display how much space a particular file occupies. The Command form is: A>stat b:thisfile.mss CP/M will respond with (for example): RECS BYTS EX ACC D FILENAME.TYPE 7 4K 1 R/W B THISFILE.MSS In this display: "RECS" indicates the number of 128 byte records used by the file. "BYTS" means the length of the file in bytes. "EX" indicates the number of 'logical extents' taken up by the file. (A logical extent consists of 16K bytes of disk space.) "ACC" stands for the "accessibility of the file--whether it is 'read-only' or 'read-write'". "D" is the drive name. STAT will also display statistics of any identifiable group of files. For example, the command A>stat *.com will display the amount of space occupied by all the files on drive A whose names have the extension "com"--e.g., stat.com, pip.com, pw.com, etc. Finally, STAT will display the status of all files on a diskette. Use the command form: A>stat *.* STAT will respond with a display like this: {Again, note the use of '*' as a wild card.} Recs Bytes Ext Acc 171 22k 2 R/W A:MENU.COM 268 34k 3 R/W A:PW.COM 41 6k 1 R/W A:PW.HLP 520 66k 5 R/W A:PW.SWP ................................................................. ----------------------------------------------------------------- PIP (File Copying) PIP, or 'Peripheral Interchange Program', is the CP/M utility program used for copying individual files and programs from one location to another. To copy a file from one diskette to another, use the command form: A>pip b: = a:thisfile.mss --- -------------- ^ ^ {destination} {source} NOTE: Disk drive B: is the destination and disk drive A: is the source. Also note that the file name didn't have to be repeated since it remained the same at its destination. Here, PIP is instructed to copy "THISFILE.MSS", located on drive A to drive B. Note that, as with the REN command, the destination (drive B) is placed to the left of the equals sign, while the source (drive A) is placed to the right. Filenames can be changed during copying, as in this command: A>pip b:thatfile.mss = a:thisfile.mss Here PIP copies "thisfile.mss" on drive A to drive B, simultaneously changing its name to "THATFILE.MSS". Two copies of the same file now exist, each with a different name. To copy an entire disk, use the command form: A>pip b:=a:*.* PIP will copy the entire contents of the diskette on drive A to the diskette on drive B, leaving the contents of drive A untouched. (Again, note the use of the '*' as a wild card). When executing this copy routine, it is best to use an empty diskette as the destination, since there must be enough space to receive the material being transferred. In addition, when copying an entire diskette it will probably be faster to use the COPY utility described below. Final Note: Though PIP can be used to copy all files and programs on a diskette, it will not copy the CP/M system itself. To transfer the CP/M system, use SYSGEN (see below). FORMAT (FORMATs a blank diskette) When you open a box of new diskettes the first thing you have to do is to format the new diskettes so that they can be used on your computer. This is simply accomplished by entering the command: A>format CP/M will respond with a message identifying the FORMAT utility and asking: Format disk in which drive: You simply enter the drive name where the blank disk has been inserted and press the carriage return key. CP/M will respond letting you know that it is formatting.... When the formatting process is complete, you can format another diskette or exit the FORMAT utility and return to CP/M. COPY (COPYing a diskette) It is important to get in the habit of making backup copies of your important diskettes. Usually the easiest way to do this is by using the COPY utility program. All you need to do is to have the main CP/M system diskette in drive A and enter: A>copy The COPY program varies among the different versions of the CP/M operating system used by different computers. You will need to look at the exact way your system COPY utility works. Typically, the utility program will ask you the source disk drive (where you will have the disk you want copied) and the destination disk drive (where you will have an empty 'formatted' diskette). SYSGEN (CP/M SYStem GENerator) SYSGEN is a special program used to copy the CP/M operating system from one diskette to another, a task that PIP does not perform. Because this is the case, when making backup disks of Perfect Writer you may want to use both PIP and SYSGEN together, to insure that the resulting backup diskette can be used to start-up (or boot-up) your computer system diskette. The typical command routine for SYSGEN is as follows: Type: A>sysgen This calls up the SYSGEN program, which, when loaded and ready to execute commands, responds with: SYSGEN VER X.X SOURCE DRIVE NAME (OR RETURN TO SKIP) A. Here SYSGEN identifies itself (i.e., "SYSGEN VERSION x.x") and asks for the name of the "source drive" from which the CP/M program is to be copied. For this example, drive 'A' has been typed. SYSGEN responds with: SOURCE ON A THEN TYPE RETURN This command-prompt requests that you put the diskette containing CP/M onto drive A (or onto whatever drive you have previously specified will be the "source"). When you have completed this, type . SYSGEN responds with: FUNCTION COMPLETE which means that SYSGEN has copied the CP/M "system" from the source diskette to machine memory. It is now ready to transfer it to whatever new diskette you specify. It asks you for the "destination": DESTINATION DRIVE NAME: b For this example, drive 'B' has been typed. SYSGEN responds: DESTINATION ON B THEN TYPE RETURN Again, this command-prompt allows you time to insert a destination diskette on drive B, if you have not already done so. Then type . SYSGEN now copies the CP/M "system" from machine memory to the destination diskette on drive B, displaying the message: FUNCTION COMPLETE followed immediately by: DESTINATION DRIVE NAME (OR RETURN TO REBOOT). meaning that SYSGEN is ready to repeat the copying process again, if you wish. To terminate the copying process hit . SYSGEN returns you to CP/M control: A> LOG (or transfer to another drive) There will be times when you wish to 'log' to another drive (for example, to initialize a diskette that you have just put in a disk drive). To accomplish this, type: A>b: CP/M logs you to drive 'B', simultaneously changing the command-prompt to: B> To return to A, type: B>a: ................................................................. Control--C (Initializing a disk) When changing or adding diskettes it is important to inform the CP/M system, through a process called 'initializing'', that a new or different diskette is now being used. For example, to initialize a new diskette that has just been placed on drive B, log to drive B by typing: A>b: CP/M switches you to drive B: B> Tell CP/M that a new, or different diskette has been inserted on drive B by typing: CONTROL--C {while holding down the Control key, press "C"} Log back to drive A: B>a: ***** THAT'S ALL THERE IS TO USING CP/M *****g' to another drive (for example, to initialize a diskette that yample, to initialize a new diskette that has just been placed on drive B, log to drive B by typing: A>b: CP/M switches you to drive B: B> Tell CP/M that a new, or different diskette has been inserted on drive B by u3o#_44444444444444444444455 55555#5*5.545;5A5D5#J5S5Y5b5i5p5t5x5{55555555555555555555556 66666%6)60676<6D6K6R6Y6`6k6t6{6666/m[ҟ咽6f{3n?sOj{Cc D}Cm.t~k;:j']~1IK_jJ-wz;ۍ*ڼzytmw ɡmox21u}zl: .]?܏&gYvm'פ|w?b﷯O.,ܕ +// ^9^Rtd+j.Zq+Y]'#Lg uˬK7ZCtk-}{~;.߽M cv㼻6JURG?o^plsۅ_.R'Bw{Wy?Kjn(7JU~wF{ڞz]*?z>Gݿ;[ȵN6 7^EߟҚ/eg|~&u37?fRmW|uKM/߬t՞<{,moO|wo_?pz:NƞyxS~u;w^jw5Um]ֲ;콷>~7ζ95ֻ潎/;y[n5e7 gϾnn.?9(Z/.7zsS>W|s7.-%r=kw[<Οv~{y[!F_< }y[ݤڵ<=vÓOnJ,w=So:ï*׏~8oc~_~6?oo9+(x} -rL:aj؋KǸߕO+>m5x_f]7 {{ .~uwa~ֽڮ㶯g) sZ>Tþ/]m德g{tWV]y{ K86khFٟ?zvns'N;[W0yo?]j皖zվo;m򷏟}jmwos^'fg_߿K#?{]ˍ:+{~v[jgo=9< է~O]RKϕ/g˫Gߝt~~gy˘?Џo;߿טּ?~}?t"ϥ_x֟ܽkw~շ6xo[fOO5}R˞;|޿_W>,_۷_?U6ww:~oc{z5U]1^}W ~q~~K[Ukr,\@w?fõܷj2Mwח2s?s]>o~羻 ~w?uw/~kV澊Ww?}nzG>?Vo6}?/ϿӺQU/єwni{ nZwg!?y゙m}-?h {;?O??3~=/y(_/X{\?w׷3m;y}׻n${szu¦lgwk;ٞ~KـB:HcquSPTIvT)vAH(JrU_CdCR: hQ[VCz #n]D(/"cpJgl?v73 1drȤL z/k7K# -Fy2Djm:$ +=7G"௷*ymp; $*g@JP`2 'ʀ:OD)!K$Rxj@ N4ҕ6";Bs{>RXkvItސ@T4#ǢC irB"u:ʬ ذ dobC0ڒy[3@U`~)J%MS CP%(S~B9dMh #K*2 `hlCJd!<,MpE? H "[8xrlg3dy\`"ޤE+8t2ҒY3Tgp}Mb%CuR͠F:=5nѺo  /o$M()/"9$!]; cY%^xz#$j PF'$;_ L2h0s8g+ €t݆ĖWJD2*6C`z]%%#/tt0N췴âӊjcjt]AXY2uxۧ24n%{.ϒ #tS\~XNFin%Cy \j0[W p y#mآJؚ&WI-<;]cp:Qid vzh%H R=C&iWؐ}Ac3"vHwK|jtdG5(RݻvֹϨjt/4Km2E~ JCG ,BgH wz.އ ,w} `"Iq ])0G34e$Տsf#~YWӍ̘"rt7`paJ4^h Y`z>RH.azNDP5qsz,v_|־/燊($Z ]'@NZΉusj ţ8 lBֺ:N% 1ʺylUh^xtK8Keu{p6)銌GaւfE)ߐvߠ_2Vb Kp8BD3f惩5ҫa5s+%Кo^Dw-ВR!}VEz!3wY2J:x?mzc˫;>;nDk. Pj s Ez d3e$׻xpc͊bヤ2X"$/#"יAK(C< _a xuaRwR[!$Q0uS2n| xq_{=b^4 #rndO/"G W2ߙ3b3 %` 3wr`Y3'AD"ʌ{I;d;zc\LV2\Kc!vE]l@E-U9 @2ĠڬB2Wuar֑@<;뀮zIZTf*O{ z8ެ n0Kn!S I/K$L,HB$/b{X3 IZ!/MwX^_A8@dī>`6 ந9$= ' `yqy !fb0E"H2iClvWFR^T='me]-дɓ[ kR@@u:I dgڝG$|0;3 S-Cl5C"<(+}( AQbY6zVIM3VYBPvwC:SP1 }53Ҁ4PZ" K"GjejE.> \Ou 9OH4D /Y_dٲ ?Lw'+%}21>qha Y.$0k% SFkxʰ(CM2x!gLWlz*Vg2FLD.w  u/sxԮb5Dn͍BB%Cy.n5/RJw@q q4ȎoTs ,(H3G6fb|>Eڹ:d@Q !M {L38 ꮭ-BJ]Cin e:{QGly3(шH$E%6} K SvtN:J [ S)”u@4Wo-q $NL6)o%zG lS"a TZJ plU|A`/ĨM_SpβBVGWw1Ja^VK^ZP`paA]a9` C4DQ(J4 IbQ&PTSș~D23g3RD RS D[ Z2 C): E0bY2mhmʼnt5C`"JQ"R NG˒V^(?OL&ҤKX+(plWz}d*\!  0bHbj>T"JH(6"BP!!. L"]U4 XF,CI YjaJ6Qg`QCkLڰ hBHd2 ."[BvP4zVΤnyB" LG3d#""`j Rٍ #b Cd%RBGy8PP #SՐeH^`%qD.00IP= `eHu- }&śHQ@)PTi 80 GqJ3H b GT ;jMqpf)jS|%1\ 'XhE Q`7T>*>UR(%,A;iKPFCYI1Jص4!bH<)!K@B@Ja ,XDey@p$ZJ \ pɖ̆툀u1$(.6AJޑ0@oaY!Jo aӃjD"&l @(#*(x Z/a!\ZðRezA [0%`&T/)B "06`RdfB @ `Mc;tڊF3EHH x@`"-"h  IP:@ f:Qh* OQ 8A"*&D@D!PHV0M$H dM!A2 14*-TZH"UlP@+RahA 0S&R0ɼBJ"% @4 8 28+$cԠJF "48X ĉ%r@d$JA E-.EaÈ 0SXH@ %P"+6(!@AQ@)fE@ 430 8KE! 8PH=ZE "k^2$CsLP $@A jA"PA(zG)HuQ@PEfR A"d( `O$&d`$@`VFDdBSà LLFZf( À# KA5y`VP!h[PA2l G $@4A@ PTB  x V;@L l, pRbHaFl G/-S 0HFAp #ʢ̴l0^""@XT&(` %6)@ $@M V!P4ea:A 2&`D!f$&@ R۸( +pT)B@8TN"ĢP 'ɦQhf2Fb0l4$-H@h 8'H1Ca% P BD5p#@& ^& 00pP@jXzk$ 0  ?L A  P@ZV@e%B( B(% X $X09$&t VR @@"Lً$>`$l TAJ(.0.8B ! ʐ()D  HX)s"X!$" F IE炠@PxP HlB&H%L*JDjJq "1 abA\O 4R@j(`Dhm P3aDB Pʱ 1@Fl >F` ʇ@$rPO AP(0 B0bB*èQPDfqa"BF | Pf0Ќ. L0 fQ FD!B! R2zp ,, I@ :D@BF  DĜxJ$e)@.N F@4 e  XCB^0I) &!(dJVH("HVEnlDP̈B {`&&-1 ZG#$"A044(@PJIH 0 AIRLR)Hf`$K@U P @W6' VfA(`d A2%d"@ A0 9-H "8b E0AAE4"1 efR!l xEP@ ;0D @SQ8QA- xB4U1 $ !; T`21PE B8  0PFDdEZ",^)`;AU.)ÿhCD؁Q#@@aa@ڐa%a0H0"!]B@ DB"(LeZLPE,ZP ATE^#&r4fD #% b&PI@f%3&L AUiHS @pD00b"cx05R,QT@BDP$ k+ wI"VMKA@,#@дB4MID`( `Fm%Ư*#H*DO@*Bq8bIY@cyMB Ja DI $bq$d6$F@Xs4\"`SA#V,,H9diDItHv2ᅄ` @5JV(*& "<,@I&(! J)),eNAQK G@ Q@3 PvZ@&DI@`SĂi  x  ) JD$XAP@ 6@#x@d@:J$ $F x.0W:Iل D0C! l% ԒTd tͤG*@ (H&(!ZU"Bp %C)"e#\4hBB?Ԟ#"\@5, "׾\g$1ڤc( c$F@D1@ 7Ŝ`)$FO} $ d : #aBc/HPD JPwhF(7DpF €8DP"Y$).  1R PH. pKB3 U@$D9AqN*3 "%ѝ"JS=T`FpJXN" "Dֈ @#hPF@$DH&H$LA"!%$=aTP@?I㈁sE[@eI 2)eC$>$HS$ "k@Bt<(oQ^H D@"SdODp``, TXCKj@% 5`0V@!)@lLPoI' CBp $I1lHT#af5ĬBD!Z! (U!@ 1< Q% Z@WX%%t G h"`b f`A]8kJ%Z\TҐq$h+P 73p Z fP(@ +WH% 7qeJq֬h| @ (%D$fJ2@:Y4fg`@dBH$D!H! @MIXR)HDMh9#x!Xqe@aq,vBE*qdLڠDDAjк HذFqG@"d vIP(0h.Z@(BB!aAlM!1!:Lk" ܍E@@.[ !!pBEMt= LPA( ̀ I4AVb4FNH KD R|0 hV, H &p J6A@x AQ)iL 2ps XB et]@A(`E %lJtnK)Z CT˼H@5LGF섄$"ijdplp>,V& AINvD$#oE0`EZc%e`0-.(fTӊL)L7 5"!BT 0B,7iXY@ Ԍ(MHLp.m**P AD$0!F ;V !e ,p B*@( NGf%%X 8&DI0H8`m"f 9H'ɬAXXB$" t< :B@/Ex@ǟ'J,&lshP˵D@I@7 DΪ00(0ø@tTCF R z; # b`ؤ q K4$H$Q Uz@q'Tp" s1 F$h€oHYlB èȢu: l UE#R 5@( FT\s$¨LūpA$$^(> !f `4b(`*HHS",ANшFQ/J*4L AUNv1 $HtFR*`ЇQ@ !)8%E.U(JAL( $B@ lTf`UT 8E,"{-cLSY #D(D-\g ke%X'PFxW DpPa I Fja E }2el& 1ADȥe-05pARxr #aCs֢t%eTT % D5)t  T#Ƨj4:?U1@" R$Q !Vа2S^H̍*1h`"If l'*|8$晤Z,d0TL MV4&%B J O0C8mh"-: b YkȂQ*!| G.4I sŃMBpAF8Fd" R@lhGU@XM0` 16}o&p@@Xą91Tt HaY $l@܄ dPd1rdBJ1@ʐAE)h"($8,@&@Hb[`%P @STM!FXwTd*C\AbXC0Hf`6 % ANP$ Q9[X9mfH#CR%!@0DC@b@l@"lP 5HhQ$y$lѩP"YlW5!EoF? jsE$\<@#рx e-Dyb*rDl Ų|"$BpT6!^B% ]ɀ*  !KSUI-(eX1+$gA*'&* APa-` J$`5MÈ /jX-BllȅT#( ) \E#X$H0>"{ t/bQ B^hDPH%3DXp$M5[B_D(CaZjeFH  , K=oQ$Q#Dr>$@Ia`hKs^ FqP Bx\" )Ps!Q!W@zD!20!@`[h0*<@J>̒VNr ~`R 9 DR I*!&4@4cpL ؓON%) "*qD@BD-8Q@KBS<DJPK/1^ Y j@UyM@mdw.$'EHM:`qȌ2.4#1$@H2FSBUa<`YYDeO'9NvNN:"EC0GB'aaWM]tP*  "AxZX `yDȢT: 0 zJu>j$ BFA@A6l<Rh-38 P$K'H/`(`@&ԒF{hT6 :!CN$:CE$6B@՚8h*@pM6R' r!Ӕd BPd$0|*ZC􌸋hB (+dl'" " I"lva[Ԋ˦]@a*SMmApH@C@3pD$Q\€(@FHaxEzCEˠ L5-pjh)i %GX@ VAJ^ Bwy$"`Z(Jzpt5DJJHN'$2X\ `^C L)XTt"qr.J  ΣB "a4aȠ)K8%@a` ZF-DR`$Li*PJa $ٯ Ia*CvHCMdprW:YX L$lpq} Xdx C$p}H `d2HKOCN4_xWsR$YEp$!WŽPBPcvay!BYNJ `ֈlFj`b D`M4F"A!:ъqE$QF$e,/R@IK 艀7E2BA $\MY`3pHhn„R.$d,: wVx*}d( Ȃ|U0`@&* 8@VHE k= i"!&$"7i0d`y `Ap |R@`S0@;*$QT"D !BƷB. "ޤLh711X(L*D @HFnRhP3 /vi׉P@MG nD!*;`I!B6HbI2p@B4dL. %DD-tZǠ' و@Ye(8p@T*H0HD,Ѕ DE=@ E1z@ܷQJ *TO9TxlFaBP@J f(P@O!hJ@b@#ƛ "((!(NJpB?vH˱ m@ 0JpPB2qZ( [@0_-cPbN BF!XDPaN $p/"EBҀD FX!8HU6&BPPHLX1IȂc@D#x2.ȾQR+[$Rs(j$Ȃ p(0~D P% a)SX h230$ Ԡ$s(IJ!' Hr`-( ",P&&LD`M ĺSj,( #!0T؅MB%0N| N"@Qdrpr`"1R0QH(M!K &؃7B&Lҩ tP2J/H 5XfJ5H3X 4(]HXpBsHT@ `J~p " J@HT"@ߏj(PΔ1,8X`@h@ ^J(Q>!T(bÃ@T6(Y W,B`]E2(Xȱg!J @]CB ՃA}z<@3EJ,BSab"&B$, @#(XZ `D92d j h 2LA,x@B!P3B,Pb@XHN0)Ȁ F%@! '`hh1q`! HA&Q @Z&I*#*"HQ6l:PXDc!Y 5P,)tIVq5:8%0B )4 yP4L I!Dc @I$SȍB *QEb@! C Ll#@pT#Cn@yxD8B"*(E "`ET @!fI A]EJ6* VAHq'D BR"J}$M .0Dd0"YLAD1L" C )  ,0@l6a @,(c33y%(UD@(J$!  0*X(!B!LF+!@> SB0D = *hzEQ) a@КIBeD 6&A( Đi  ,iH%$ | @*DX""ڠHU@ % u#qb@6 "8iSCp)(.C4NJc!NB&P" B"1J0rQB0N0\e @`h ǎTJ$B({h JC ! I0B s C$P8&C23FBE G , ,"7AnP G ` aOH"$-Q qidZ@)R B AΊ! ^h,y#h#pN 4) ID!`$$K Ǣ\ @L T)4ASFV* 1 a@ .3 B `@|d  B`cDQp%Bg0q 8D?`xg@ r @eHAj8 bY8)`%8 B%L : *@-`Dz&@@ "3BAL/L`ģAq+D$+x>HP  @P4p""T6lQ# V0!D`8@:@̼pk,ACI &.A"A 2LpP " e*t d1$I@@^C.K H|CXBB P6LqI]̀²Wi Zf8>&:`ART!@@T “@  P`DB! 2`Q(VdPc$`H*3Fр`:8R&mD5b@@EЇF!`%#Љ"8x !xW!K$% PG(H8MĭDp6X* Ѣ 0@a10JB$B#@2 *T!@@ 4 7Bh 0}"h@cۓHˆA(Ѩ/I E2$+"KDNB  A+:CbA@(!RQ 83S73TDUMHL@HGb\8Ȁ>" DDp 6@ TyCE@ 6hB. .Q%H!nI178+(RDXUx TU1( ȁ#$ze 4H ТHaQd+̐H!,H^rRƂ"#Dѐ2D 8EďTj:AD1& \ Q*DCAIV"!` $M X[;`+pHAĠ Sn %DE`EJA X ,UYCԠRp7><&H%3#) /0\+1S_"QܣTA@*C0Bq7kC(*hzXDfWWnCHV,0. ,$ Av,+fAPɅF\ 0 GJT *5A@Bpda!!Ò@V,%D`Y :(B TĸG:RNZ1"vvp9\499 `"!A 0c!( N@ RHd+1ra*'F@6F; b`VU@`J>)@!9) ߣR29=SJ Cg?ptDDHa0N r(1&Q*Q‘: )"sAVtJ  @!'  Vpe$ sIhE6 ߣO4F2 3S0+ Q ) +lzІ łf nT$K0$KeHDD'F s BH2D@(]:HI-iF K~)`U4)$sÃd@2Bzh<u@e0h l (2,E$`n"[FR mtQ@lZ0X&8 V8Ay-DF@x"te@S)`#Q#L$$T0¡ "EPq@ZQ"R&,2B JRPD"1%GG F81v*xd5l 'nh@$C]ߡdpz`ɆKiN!s@AT)VWAh# & R(U@\HL9T@$4)L"y9&("i @> S8Á*xdR@$AXG4H4LHPAI΃2K4ĀGQH tU-p2DD7YD,eQh f-  Vd _X B(ᶔfPHm0[LS$ !(*2EC,Q8 U;@HEDH?DpB)GP"(b!eR0JtP2l'@b!Ȧ E!(Ĩ@a@р(T`(U?*MN0EHnX*ApiB$HV| İ3%c`l ǔ jٓK"!Ah(BZEXpC\lHxb#,(MRx ^%_i:BS՘yQ[A(t1*AI3 fd#68AK-d @ Eb #T *AؠfUg@!GD%0Yp+UL DG[p~%mc z2hOaI |rH Nld48/$ S2IQ*eS-t@z`D^$MT{CBBE "AaP~ U0[mCNA!> @N= h`| @f00K&3u aBZ!`!(C{Dew0gGI: 2 o#P%> 嘎Bb7PD523b SF )aY) A$a"4Ȥ#-JR0(L K1 , (@r+ )&3h@ȇ4rQ` U&;b"##"uqVM  e@x, YF BbuL!,cQQ#+!F (O&I!84oC0 8, OZ4ApTi W$GČ9FL"j%LB#R+X!P fRlFA"Թ4;r(`)@+ )u $P,!xO8ʂp5@ G7%=p\*<@d"4bi .8<&'-Q)@Q@Zt$E%z@ (h0'ZEAb\؆D$!MU$DA C>C)R"Hdfter&At ;QhVAGĥ@P" Di̲ +LV .5 1we! ="a3|<,&.( R" lI9iU|Tl PCd& 4R<GӪ 2v+2 bb-YF0H@xJkR N+DvR@XƉDY5j"XH`ERhf2:@) I`AAOP $ZM3jPe**2b.-"gAKKt'$9 qxMC{3@ s'Fʷq⡕!!`HDItI% i@$t`V&Cq`%3'BHIRL@2@)Q# $z2* Q"ҡ8%yyT8A^2zRҶQv(d'd)ӒF@"C8 K4# J ȫ$љam$vDM, J!mP.ԓ͙1 NrR/3@@Ż Epq*8&1*R(KуᤡM `BqjڐDxd؋*D9!3-\* %( [yB lIJ 5wܡ Nk4%<x΋#z@\(D b fQR͜@L4f"$ "A0) \. CT&+omr?3IC@29:VucdCdSEĥ 05w@9ɽ=d%qI6@46BK4eJ")VPK-X?)Ѯe^ uW[PP \$&&h8& #eD"0=i4Z. G1g9ድ "!V@9MFPO D4(aT8Pb9!@< &?$@򱄀"Ԗhv +!<+.L ey902, pN#k~K`45 2¬FF`r)䴐@BP%KXE:ji%GKj> S#2*`\% MN=@aZ=2K]5YdG:/e!Dy!A=0k VA)E%5y:N`&B f)!>|i"ū07*R1;/1֌&!@^3I fc >BP#2DQ5m3bd "{q_ D#`PsBj(m, ȖyfG DJ(6bɖDqvf|"tɰg( TzX@@0Gv\6S)C3b ?63)cBF15"VI;3/,*-4ESȶ' @%7Ō=P5^)ڿ/y#uK pHd|(!&\dR:[gPvT'xG%Y.^?s; lFUGbLGYh) δ8HD$ۇ۟ߢT*"&+b%Go2-ALpu|0!IJD?R:#;b߲X (Ԁ$:xR 'jiEڗ6@?Mn\XRd-=x[K7ÒP~hN߶K0 ge$sZ>m3b'{FZ3lћPs}j>V"jZ.mbaٙ;=ALl_y>'o]:WNFzz"6ۆ ucg0#Ԣ{Kq\*'UzUԩLl <.):@zЧ0Zp}9.U%LOI,,b P$-9y }3ykh僪y0|׷Jf\2KplU>j1&'/҆g <#Qw'BvP=dgDI&Fp$>hK_*]]vu45YVϑ[Ft7.)͍n"༸CZX0λ itczʶjӁWn0 kP _;/ B0j[kPeyհyQ)t61)fwE[g_|? GJaYܩ%w`h 2Q5 O R4zA$a 䞅rQunZTt@PHp;R(:8x-hT|lA!lgLq,=N˸Xu! 4ڴH$z|YH59AV|Ǒ8# m*0QjD%|54?kSgǔq8l{OMbUC[?ꮔd%g0#nWmLew~VaaC!pZ MEIߥqۏ){\k$W*jO)(# ^ܼ4SQb#Pr贽fp?٩jS%)OU!,mo5L?V8>% Wm`Q;+aKqv)!Tqir9{DGzEO(;Y`xV6׉^6l y`rç0%;}QM ?@&g^}8\4j$Tȩ{CqS1vqe v,;!le9%b3w{*1T'̆}!T ţၸD70W!.e Mmc]蓠'Wa Mzϳ=`\dI<G9qkxVy;dvk(ӰV':g%ҍo:mzxW af1꧴Q~|8|1){s4`m5sfjsznv4A랠'8#}N&'d?/uuӱd07?v= r3DԘ$b ȆᲤ2%-= 'SP7S-I}x2oz5'=V T}K Y[ސoO{g %_-і λHu=ZXp LTp Mj.tPup|G9Yӛ%Atl詠Nm$``wJJz ܵX.$[U69ab K7#P~%Cld"1@NCc ~%LĞ+MНun>c)(&rO)-6Z8{b\H'28 xQ')].}۳'Na[vp2B"ǫg07Z)&^ijeqX\UgPt{r"rO@SVg* r,?{fYf J$(# b%(  zF( M\QfS>ES^VW%7jULW*bKJkG'-`|WZ\&xIi-5}}YVq:04-DwL6vUIyQ`/VtG:=*MQ,: | ='I!ryOҶ=^'4dP;j$rv$S,'&vA]ho=ABQtEO"tE#OY0HwB.]+"^:)/mg0NC<%%íu$eHm 丝e#CXČ)_@ЦW2z- 9V5Rs<~]2^=ѬͦJK!''x a [2g~Z t4 Wc8 :'YL<Ԋio . dS㔻?N7ëo 1nL?7}\ V ' i7ޯyǻס_r,A>Cc D}C}nt~k6;j7]~1IOjJ-wz;ۏ.ڼzytmw mox21u}zl:,ۿ.]?܏]&׶yvm7פw?_.,ߝ +/ ^9^Rtd+j.Zs+]'#lg }ϼK쑽7z?Ct-}{~ǚ;.߽M sv㼻6JUrG?o^pl{ů_Ԛ.RBw{Wy?kkn7J]wF۟z]*?~?Gݿ{[ȷN? 7_MߟҚ/e~u3??fmW}wKM?߭|מ<,moO|wo_?p:Nƞ}}S~u;w^j7}ֲ];쿿~~7ζ9=ֻ潎/?;y{o5e7OgϾ~nƐ7n9(z/.7zO[>W|s7.--rkw=Οv~{}[!G_< S}[ݤڷ<=v×nJ.w=S;ï*׏~:oc~_~6oo9+y} -rN:ajWKǸO+>o5x_n]?){{ .~uaֽڮ○o)s[?þ/]^mg{|W]y{K<7kh߾?~v~s7N;[W0yo?]j瞖zտo?}򷏟}kmws^'fg_߿Ow?{]ˍ:+{~v[jgo9< է~o]VKϗoϯG߽v~~gyۘ?Џ;o;߿טּ?}?߮t&_y֟ܿ{wS~߷vzo[fOo=}r˞;|޿_W>,_۷_?U6ww:~oc{z7U]1^}WK~y~k[Wkr\@?ܷ{vwח2s?s]o ~w?}w~kvw?n~G>?V6}?/߿ӺQW/wϗn+n[ww1?}゙m}-h ;?O??7~=/y/X\?w?;yn,{zu§lgwk;ٞ~[ـF:HquSPTKvT)vAI(JrU_SdKR: jرS[WCzKgn]D(o"kpKgl?v73 1drȥL /{7[# /GyꩾDjm:$ +=7G"௷*ymp;$*gPJP`2 'ʀ:Od)!K,Rxn@ N546";Bs{>RXkv(tІATJ4#ǢC irB"u:ʬ ش dobCpےy[7RW`~)J%MS C%hS~B=dOh*#K*2 '`hlSJl!<>MpE? h*"[8xzlg3dy\h"ޤE+9t2ytgx}Of%CuR͠ʶ:=5nѺo  /o&M(㩽"9$!]; cY%^xz#$j PF'$;_L2hX0s8g+ ˜|݆ŖWJD2*6C`{]%'/tt0^췴ӊjcjȴt]AXY3uxۧ:6%{n+;tS\~XNVin%Cy |j0W p y#mڢO؞WY-<;]cp:Sid+~{*h%+R=c&Wؐ}Ec;#~H<[|jtlW5xVݻvֹϨjt/5Oo2E~( JCG ,BH w z.އ,w} a"Iq ])0G;4e$Տwf#~YWӍ̞"rt7`qaJ4^hY`z>RH.a~NFP5qsz,v_}ֿ?($Z ]w@ΥZΉu(sjţ J:n%1ʺylUh^xtO8keup~)늌Gaւ~E)ߔvߠ_2Vb Kx8BD3f惩5a5s%Кo^Dw=ВR#}ZVE!3wYrJ:x?mzc˫;>;SnDk.S PjAs Mz d3e$׻xrc͊:bヤX"$/#"יAk(C< a9zucRwR[#$JQ0wS2n|xq_{=g^6 +vndO/2O _6ߙ3b3 7` 3wr`[37AD"{I䫕;zk\LV2\Kk!~YE]m@E -U9@rXڬ2w`6 ᮨ9$= O' `^qy gb0E"2iGlWFR^V='me]-ѷ[ k@'@w:I dgG%0?3W-CW|5C#<(+}j ASͰbY6zYM3YBPvC:S1K}53Ҁ4PZG" K"Gjeje.> 7]Ou 9OJ4D oY_dٲ Lw'+%}25>qhe0 ].$0k% SFkx겙8C]rx!gLW}z*Vg2FLL.w  usxԮb5EnͭBB%C\y.nФu/Q9:Jwq ȉq4ȎoTs ,(X'OP6fb|>Eڹ:d@Q !M L3: ꮽB]Cine={IQW4ly3(шi$W56} K;[vt^:J{ S)ʖu4W-q $NL>)o%zǤ lS"a VQZJ lU|Ad/ĨM_SpβBVGW1Ja^VK^ZP`aIa9` 4D$Y(Jt KbQ.PTSșD23gػrD RS D[ Z2"C): E0@bY2mimʼnuuS`"JY"R2 nGVےV^?OLҤKX+(plWz}d*\!  1bhrj>UJHrRc2ZZc0jX`9afRGblEZP6{dp7i"fOq\Lb(@/mPa9F)^" Q~ MARBcR{!`YMa6l%"]Ji $3RH0e#2Q¥$ $%rW1D44%H!~$+":b0.i㝝 #p ٲoqfC>6"BP!). L"]U XF,CI яjaJP6Qg`QCkLڱ hBHe20."_BÔvP4zVΤnyBb LG3d#"&`j Rٍ#b Cd5RBGy8PP#SՐeH^p%qd.0YP= `$eHu- }&śHQP)PTi 82,GqJ3I b G ?jMqf)j[|'1\'XhE Q`7T>*>UR(%-Q?kKPF CYI1J4!bH=)!K@BDJa ,XDey@p$^J \pɷ̆툀u1$(î6QZޑroaY)ŕJo aӃjD".l @(c*(x+Z/e#\ZðRezA [0%`&\/)B-"06`RdfJ @ dMc;tڎ^3EHH x@`"-"  IP:@ f:Qh* OS 8A"j&D@D!PHv0MH4 dM!I2 1E4-ZH"UlP@Vaha 0S'Ҹ0ɼBZ"% `4x :8ԕ+$cԠJF "48 X ̙-r@d$k E-/EaÈ*1SxH@ %P"+6(!@AQJ)fE@ 43q 8KE! 8 &pL=ZEJ"k^2$CsLP $@A jQ"pQ(zG)HuQ@XEfR "0dh `O$d `$D`VF=DdJSð !nLFZf0( À# KTA5`VQ!h[PA2l W $@4A@6`PUB P x V;@8N0l, pRbJaFl G/=S(0HFAp1#ʢ̴l^""@XT&(` %D6)P $@M V!P6ea:QI2&`E!f$&@ R۸( +pT)BH@‚8TN"ĪQ 7ɦQhn2Fb0n4,-H@h 8!'H1Ca% P+BD5p#@& ^& 00pT@j\zk, 0ј  ?L a IP@ZV@e%C( B(%LX $\09$&t ^R B@B"Lً$>`$ \AJ( .0.8B ȝ! ʐ()D `Hx-s"X!4*- F IE炠 HX!xP HlF&H%hL*JDjJq "3 $!a rA\ 4Ґ@j<(`|m P3aDB Pʱ 1@Fl F` ʇ@$rPO(IP(0 J0bB*ǨQPDfqa"JF| Pf0WЌ.L0 fQ FD!QJ! R2zp ,H, Iv@ :f@FF  DĜxJ$e)@nN F@4 e  XCB^pI)&!(dJVH(""HVEnlDׂP̨B {`&&-1 ZW+$"@A0<4(@PJRIHD 0LFAIRL R)Hƣf`$K@U ",@W6' VfK)dd A2%d&` FQ0 9-H "8b e0AAU5"q efR!l  zEPA(;0D @SQ8Q- xB4U1)$L!; T#`:1PE B8  0PNdd(UZ"^)`;AU.iÿhCD؁Q#@@ae@ڐa5a0L[8"!]F@ DBbLeZlPE-ZP ATE^#.r4f$d #%< bfPI@f%3' L AUiJS D@rD0pb"cx0=R,QTABDP$ k+(wI" VmKA@,#@дB4MID`( `Fm%Ư*#H*DO@ͭ+B!q8bIyHcyMB SJa $EDI $bq$d6$N@Xs4\"`SA#V,,H9diEItHv2ᅄ`(@5JV(*&J"<,H@I&(! J)),eNAUK G@Q@3 %KPZ@&DI@dSƂ i  x ( ) JD$XAP2@ 6H#x@t`:Nդ $F x.0ӑW:Iل D0C! l% ԒMTd)tͤG*@ (H(!ZU"B %C)X"e#\4jBB?Ԟ#"\@5, "׾\g$1ڤc( c4F@D1@ 7`)dFO} $d :M#aBc/XPD JPwhF(7DpF €8DP"Y$).&  3R RL. pKB3 U@$ȼDy$EqN*s "%ѝ"JS? T`FpJXN"ֈ @#hP@$FH&H$9LA"-%$=aTP@?TI㈁sM[@eI2eG$4>$LSd"k@Bt<(oQ^H D@"SdODp`` \XCKj@% 5`0V@!)BmLSPoI'*CBp $M1lHt#af5ĬBD!z! U!@1ȼ Q% Z@W$[%%t D h"`b0f`Q]8{J%Z\VҐq$h+PH 73pMZ fP(@ډ+WH- 7q(eJqh|  %$fʒ2@:Y4fg`DdBH$D!4H! @MI(ViHDMh9#x!Xqm@aq,vCE*qdLڠD@DAjк Iذfy$BW@"f vMT(0x.Z@,"BB!aA1M!1:Dk"&T܍e@@.[)!̲pEMu= `PA( ̀ I4AVb4FN KD S|) 0 hV, H & J6EEx AQ+iL 2ps XB et]@C(`E2%lJtnK9Z)cT˼H@5NGFd2ijdplp>,V& AINvD$#oE0pEZc%`-.(fTUۊl)L7 5"!BT 0B,7(ixY@ (]X\p.Fm*+P A$0!V ;V !e ,p B*@( ΘG.f%5X 8&D0H8dm"f 9 H'AXXB$" t< :BD/Exǟ'J.&lslP˵D`I@F7JDΪ08(0ø@tTCF R z; # j`ڤ qK4$H4Q@ Uzq'Tp2밉 s1 F$h€oHYlB øȢuW: l UE#R 5@hR vT\w¨LBūpd$(> !f `4b(`*HHMS ",C^шFQ/ j*L EUN~1 $HtFR*`ЇQ@ !)8%E.(JALh %B lTf `UT 8U,"{-cMSY #D(D-\g `ke%X' PFxW DPa0I Vj EL}2e[m&1ADȥe-05pARxr caGs֢t%eTtL% D5)t  V]3Χj4~?U9 " R4]Q )^а24^H̍*18hh"Yn Tl'*8$晤^,d2T MV42f-B0J O0C8mh"-: b YkȂQ*!|G.5I sŃMBpAN8Fd" R@lVhGU@XM0` 16}o&p@@X91Tt JaY dn@6ބdRe1sdBJ1@ʐAE)h"(8$8-(Df#@Hb[`%P @ST]!FجwTd*C\AbC0Hf`6 e ANP,( q9{x9mfH#Cě:R%!Q0DCHb@lB"lX 5XhS4y$lѩPlW5!GoF?(js,\" t/bQ B^DPH%;DXpdM[B_L(C܂aZ[je0F𗂐4EH  , K=oQ$Q#Dr$Aa`hƇKs^ ¨NqP (B\2 )PXs!Q!W@zD!20! @`_h4*<@J̒Vr ~`R 9 @ @DR I*!&t4ctL +OO%), ":qd@Bf-xQA[BS<DPP/3^ y j@UyMAmdw.$ل/MXଔ8:`qȌ2.>#1dN@H7FsBuc<`FYYRDeO'9Ov0NNzD"EǀC0GB'aa_M]tP* o<1d @+a%meui"DPS1Bt0O;f|FIۜt^ _1„َxJNM[IԠ=B ,``@րE2+VNZvir!MLDf&S)0LhDQiʡ2U/XE$,JZL]*wG%` z`ZPRP\:0A8$ >. 23AxZX0`yDȢTz003zju>j$ BFA@A6Dl|TRi-78P$K'H/`(@`@6ܒF{hV6 :!SN,$:CE$6„՚O >ꉀ7EzBA $\OY`sphhnÄR¾$,X wVx*}d(( ΂|U5`B&* 8@VhE k= i"!&6"70d0hy `Atu |R@`S0\;*$ST"D !BƷB. ޴j711xQ(LD `@HNnRhP3 9/vi׉P@MO oD!*;`I!B6bM2p@B4dL. %DD/t ZǠ' Aو@\Ye(8p@T:H0HD,Х LG=D G1~ܷQJ *tO9TxmFiBP@j, f)\@O!hJ@bP#;ƛ )&((!(NJpBv˱ m@`0ߐJpTB2qZ [@0_-cPRjN oBF!XPiα $p0/"EB҂D` FX)8HCU6&BYPHMx1ɀȂc@D#y2nRQ+[$R(,Ȃ t(0~oDLp%c)SX h230!$ XԠ$s(IJ!' Lr`-( ".R&&^DpM ĺSj,( #!0T؅MB%2N| N*AQfrrr`"1R2@QH(Mik '؋7BLҩ tP2J/H 7XfJ5HsX 4(@|d<؃{"#2`$j1(G[vfLco UšV$!J`9`L0b(&\Llpaa.1a*@٭Ό D k!@ @ H!|T"V@IX*~XXpBAsHT@ b~pb" J@HT*@7ߏkP+PΔ,9Xdah@ B^Jh>!T(bǓBT68Y WU,B`]E2(ȱgaJ  @]CB!ՃA>F:;@@Z:0Hcd6T[WG(t3hA"3=Cr:Bi`iVH 1Pbdas !|$B^b&p@(&)FP9DJ!3`@@] tB$5@NAQx1,7+n_ZBw `'#=BⅉDH@H01PJe 0$!<)T hHZ"A(!]L $ r1;BdeQZg H XusV#)JQQ7BJV:I FLSFR83P@GA &nB}9TX 6rfxthF$O E(~$xb!NJ H UN/נM!YTb"h`QGb…T9+x 2.`шCbHaBAP`BT`2B@{a&)B|<' Fx10Yȁ @Řq \ "2T Ҁ d+(C!h!*T7 2RUl2 Bmb&fX))LDYCuP" QJpBbTRH !ԀQMk 4Hr,"@*B29'Xl`IAbF5GC@{p2clZ ]X%D"ZL  DOP aPs$@.0!K !2W%dTD /Zه/!fL0|" qDdЍ 9b0C` Pd(UֵidR+%8%8Ca$D$45 l*v0'!D X7h*h @ ( " F&b `26$$˹8"ڍn! ULy8b0! @"A5iB@ :d( Xu @J_hThariوQ"K 'X^#1Dx3Z T0 R/BQ Ef # 0%Aa1& $NhKb%(_p(RP@@9!B V lH2$Q T2G7*\8#?4Q -Xȁ" ?;5CJ l5u,(F0 T\@5 ]TX0 A$6J b,BE@Đa1"T"5~@XBH R@PCbCT4FHCc I !A4  2x8 $@ B(87 y!2R6"D0+Q8 ^ Pkֹ f!qn81ɜ B CQh@B(4PGBAR M B!PRe!HU!"Wa lE@ M0>}zP<@3EJ,BSeb".B4, @'(XZ `D92 j h :C|Y@B!QP3B,PPb@XHN0)ȀMF%@!'`yh3q`\! HE&Q$AZ&Y*c*&HQ6&l:PXDsA!Y-5P,)tRIVq5:8e0B!)4 y4P4l@ I#’Dcђ LI$[ȍB *QEbO@! C Ll#@pT#Cn@yxD:B"*,U "`T $!fIA]EJ6* VAXq'D BR"J} 4O (.0Vd2"Y LAT1Lb C )  ,0H|6a @,(cф33{%(UD@*J$!  0*X(!J!Lf+!@M>JS0D= n&lzEQ) a@КiReD 6&A( Đi  ,iH%$| P.DX""ڠJ@U@ % u#qf@6 "8iSCHp)(G.C4N$c!UNB&HP" J"1N0vQ9BJ0N3\e @`h  4ǎTJ$R({h JC N! I2B sLC$P:&CD:j3FB0E/ G , ,"7AnP!W `$aOH2$-Q~qi dZ@)(R0B AΊ! ^Řh,y+x#pN t) ID!`4K (XDǢ\ @L t9δÊ[Fv(* 1 cÃ5@ .33˒ B$`@|d F B`cDQp.%Bg0q08D?`-x Xg@ r  @eIQj: b[8@)p5:,BH%L : *@-`Dz&@@ " 3JCL/L`ģq+D$+/zHP  BPZ4q"*T6lQ%# -W4%Db8H0#:@̾pk,ACY &.A#AJrLpP " e*t d1$I@H^C.KIH|CXFF P6LqI]̀ҲW Zf8>f:`Q"RU#£@@T “a  P`DC!$:`Q(V$dPcd`K:H:3Fр`:8@R&%mD5b@QBEЇF!`%#ԉx !xWeK5%,!UG*H8MԭDp6X* @Ѣ0Ha10JB$0Ɠ'@2 *U! ``"8,p$jƅk1c e UTHN6IV) Z\@}@8(<ӄp@@xHF ؇2cͣߚ  "j 08fZ &BԀ R2KADP V8aU,pWP]04\: 0M0Bۏ#z#VF*ŔA R\Mʠ0ӆ&񪔐@ 5!+͜p.`FqpZ4bk@=QJ om:A,>AH 4 7Bl 0}"jHcߓHˆ(9Ѩ/I E2$+2KDNB  A+:CbA@(#SQ 83S73 TT#UMHL@HGb\8Ȁ>""Fdp >@ \E@ 6hB. .Q%H!nM988RDXUx TU&5 Ɂ#$ze 4H AҢHaQ d+̐H!,H^rRƢ"#Dѐ2D 8EďTj(:Ad1& \ Q*DCAIV"!` $M [_;`+p؈A)Ġ(sn %DGA`EZA X,UYCp7<'J%3#)`/T2\+1S_&SܣTAP*K0Fq7kC(* zYDfWWncV,4.J ,$ Ivl+n#CPŀF\8T gJT =S@WpaaÒDV,%D`Y : (F TĸG:RNZ12vvF9\y9 h"iA 0c!O( n@ NRHd+1ri*'F@>RF; b`^U@aJ~)@!9i ߣR2=SJ 0Cg?ptFHa0N r+B&Q*‘:1)#sAVtj  @!' Vpe$ sI!ShE6 @ ߳O4F2 ! 3S0+ Q ) +|{І "$Ńf nT$K4$KeHDD/Ɛ s BH:D@(]:JI-iF [~)iU4)%sǃlH2Bzh<uP} h l h2(,E&`nbȀ[NR m ŚQAlZ4Y&9 V8Ay-DTFBx"te@S)`#Q#L$"$ T8© #GPq@ZY"R&-:B JRPD*1%GG F81v*xd5l '(nh@C]dpz`ɖKiN!s@T)vWAx# &7  R(U'|HL9TA$4)M*y9&"i @-S8え*xdRP&$IG4H6LHQQI΃2K5ĐG QH( (tU=r2ED7YD,eQ f-  ^d _X)B hᶔfm0[LS$ !(*C3EK,Q< U;@AHEDHDqB4-Gp"(b!eZ 혎JbwPD52sf SF )aY)$$a"4Ȥ #-JR0*L K1 ^.X (Cr+ 9&7hDȇ4rQ`U&b"#3"}qVM  e@x,&YF BjuL%,cтQ#H+!F (O&GI!86o3S0 :, OZ4ApViJW$GČ9FL"j-LBcR+Y!P,fSlFAb4;v(`)D+ )u $PS)RbHd$ftgr&ItQjVIgĥ`T" Di̲ kLV .5($1we!!=2a3|<,&8 R lI;mU}Tl*PCd.I6R<GӪ rw+2 bbYF4H@zJkR O逶+FvRHXƉFY5oXHhMRƘhv2:A) I`AAOX $ZM3~Ze**2bn-"gAKKt'$9 qx(MC{3@ s'Fʷq⣕!)ܔpHFIt% i@dt`V&Cs`'3R'RHBҿL@2!@9Q#S $z2*L(S"ҹ8ey}T^8A^2zrҾӱY(d'd)FF"C9 k|#Z ȫ$ՙam$vD],`J!mP.ԓ͙1$NrR/7@<@ſЃ Exs*8&1*R(KуᤡM0 `Byj$ڐT|d؋*D=3;-\*%( [yb lIJ-5wܡ Nk4%<x΋#{@^(DffQ[͜@L4fb$ "A0C n CU&+omv?3IS@29:Vu"cҌdS|Sĥ05w@9ͽd%qi6@46BK4eJ")VPK=X?9Ѯg^ uW[P $&&h:& #eD20=it޴. g9Nw=ᛵ baV@9OFPO L4(aT_8P[b9!B< 86$D򱄄"Ԗxv +)<+.L ey;30r, pN#k~K`u=2FF`r9BBp'XEjiܱ%GKj> #2*^'NN=@qZ=2K]5_dG:/e!Dy!A=0{ VA)E%5y:N`&R f))|i"ū07*R3;/5֌&!@^;I fk >BP+2Q5m3bd "{ +`sBj(m , ȶyfG!D^(6b͖Dqvf|#}˰ng(۠TzXB@0Gv^7S-c3b ?vs0)KccF15"VI;3<*̽4ESȶ'0P%7Ō=P5^)ڿ/y#uKipH8 d~(!&|dR :[vT'xGeY._?s? nf]GcLwYh) ޴<hD&۟ߣT*"f+b%Go2-QMpu|Vbj_.mbaٙ;=0ILl_y>o]:n~z26ۆj1&'/҆Qg <#SwgBvP=dgDIFp$>hK_*]]v ; ǧvu45]Vϑ[Ft7.iݍn"CZY8λ itcz&ʷjӁWn kR _;/ B0[kPyոy)t61)fwE[g_|? GjaYީ%w` #h02q5 O Z4~A$a vUun7UtTRHp{R(zx-hT|Yla!lg̗Cq,}N˸Xu! <ڴH$z|YL;AV~Ǒ 8# m*0Qj%|56?kSgq<l{OObUC[?ꮼd'g0#nWoLew~VaC%rZ MUYߥqۏ-{$W*jO)- ^ܼ4SUf'=r赿@p?٩jS%)OUH!,mo5L?V8>5*_m`S;+Ouv)!Tqir9<{DGzŚO(;Y`x6׉^6J}`rçﲀ%;}QM ?@'g]^8\j$T̩U{CqS01Q1vs ~n;!me9%b;w*1T'Ά}!T ţၸD70(W!.e,mc]Ӡga ]z}`\dI<GyqkxVy;dvk(V:g'ҏAo:mzxW af1Q~|8|1){s`o=sfjsۓznv6A뾢78#4N&'d?/uwӱ[d07?v= r3Dׅԙ$rȆᲴ25-= 'SP7W=I}x6oz5O'=KT}[ Y[ߞoO{g '_-іλHu=ZXx ̻Tp劏 Mj{ϯntPup|G9٥?󛏩eEtl詠Nm$pwJJ~"ܵZ>&[U>9⻮af K7c$нP~%Clds1ڙhN﷽ScK~%LŞ+MНun~c)(vrO)-6Z<b\H78KxQ')].}'Ni[vp2"ǫgp7)6^yjeuX~UgPt{r"rO@Swg* w,?{fYf J$(# b%h  ES^VW%7nuL*boJG_'-`|WZ\&xMi-5YVy:0t-Dw L6vIyQh/VtG:}*MQ,: | =/I!syOҶ?^'4dP;&r~$S,7&vA]o=ABQt_jtUOY8JwB.]+#^>+og0NNC<%%íu$eHm 伝e#CXČ)_@W2z- 9V5Rs<~]r^?ѬͦNK%/'xKa[ҥ2gZ |< Wg&8 :'YL~X܊io . dS㗻?N7ëo1nN?7}\ V ' i>D/` -JFku3o#_44444444444444444444455 55555#5*5.545;5A5D5#J5S5Y5b5i5p5t5x5{55555555555555555555556 66666%6)60676<6D6K6R6Y6`6k6t6{6666?ﮞf{n?sϓ{߽mKkw6J^?^lsەG_~S7B Ww{?Oon(7JU~G{ڞ]*?zGݿ;[ȵ^v ?_翼߿u}~&u?37?~Vmߕ|u?߭՞<{oO}wӿxz:N[מy|{~uw^jwUmֲ];~797?;y[7 gϾ7n?9[//7zs/s>w|?.-%v=k<Οv~{y[aN_< {[ݴڵ׏~oc~_~?oo9+8}LrL:j؏KǸ=x_]7I{-.uw~گ9ٿg-Os߾Tþ/]gtwV{{8kh>k:oǿ>Gٟ?zw~{'N;[װyo?]j矖zվo;o򷯟}os^'g߿3?{ݿ:o{~v[jwo9>-շ~o]Roϗ/ߝt~~wy?ԟo{߿?Z}?߮t"xֿ{~7y[oOO=}z˟;|޿_w>|_۷_?շ:~og{z5շ]7W;~u~맻[Uk=\A3?f޷jvw2s?~~﾿M~w?u/~kV澊W?}zO>Vo6/߻QW/wϷni{ٿ[wg!?y￞o}/O???/y(_[/X\?w׷O3m?׿n{{zwgwk{۞~KCۀCzIcuspTiv)AH(NrU_CfCʘS:hQ[^Cz#n]D(o"wrJgl?v73 1䚣ޖrۓȤLzk7K# -Fy 2Djm:$ +?7NO "௷*ymr;ڠ$.g `JP`7('ʪ:OL-1O$rx N46";‡{~Rxkv)Ytސ@T4٪+C irB"u:ʬر tobC8ڒy[7@U`+J%M CP%(s~B?dh #K*2 ahlCKd!<,OpM? Z("[8xrlg{dyܠ`*ޤ9E/xt2֒Y3Tgp}Mb-ýuZF;==oպo o$M)/"09$q cY'^xQ~ $n PF'=_LE2j2{8w; t݆ĖWJd2*?Cz]'-#/t|0nâӚjcj<}]CXWY6uxޛۧ24o{.ϒ 3[\~xOFmn%Cy"\j0[W p ycmآjؚ&W-<;]cx:Qilvzh%HُR=S&iWظ}Ik3cvw֞K|ktdG"5(SݻvϨjt/4Km3E~ jSo -/BgH wz ,w "Iq"]ۭ4G34e4sf#~YWӍΘ&Ĕrt 7`paN4^hY`~>ZH~a~ΗDP5s~,v_~־/燊($Z 0'@NZωu8˕n ţlB׺>^4%L1⨟˺yUh^~t[Kew{p6)튌GcփfE9Ѓߠ_rV z8B39g惩?q5s;eԚoޟw-VВV!}VEz!wY3J:xm~c۫;~;nD3 PjAsI EzQ!3u,׿zxk͋c㛤3X"l/#"IK*S _i x}iRwV[)Q0us2n xq_=b^4#vndO/*g W3j3 %4h)3ws`Y7gAĦ{M;u;zc\Lv2Kc!v]l@4E -U9 @2Š%ڬB2_izޑH|;녮~YZtf*ϩ{0zxޯ n0KH~)S KKdNXB7/rX3 KZa?MwX~_a8`dī6*᮸yO$=' `yAqyI!fbʰ/E*6ií<]Vkom!o\gk扃XXjJ׋3>Xo1q+H{p._>R^T=X'}e]-дɓ[ kS@zI8 dRgڽ_,|0;3,S-C =C#<,+}( 5AQby~zVM7YRXvwCzSQ1o}u;4{" K*WjejE.>=oGu! 9_H4D Y_dٲ$L';%2Z~qhiD$ .$rk- SFzʰ(ᆒCOx!oLW~*VgӴ2FLT.6* u/sxԮb5D͍BJ5CPyo7/۟Rjw@ q4خoTs ,Η(I3G6fb|>E:dAQ %M {L39.ꮭ-BJ]ckn g:1Qǽly;8H$E%} KJ[vt^;K [ S)ʜuH4woSŭq$NL6io%TzǠlS &a͌U[K*ql|A`/4Ĩ_pζBVGWw1J^VK^P`xaA]ay``C4DQ(ZtIb]&pTS(ș~G2sgC;RD R[D[ Z2C9: G0bYohmʼnt5Sb"JS"R$NG˒V~(?OL&KX+qlWz}0d*\! K0ibj>u"JH*|wc2ZZg2jPV`aױ0&RGblEP6{$p7m"UvOpLJH+oPa9HFi~"T~ EQrFcR{#`YM)6l%!]H) $3BH8e#3Q¡$%-r_D44%H!~$+"8cx>k㍝#` ٲqfC>6#B!![/"L"]Ut XF.KY YkaJ6Qg`QCMڰ hBHd3 #$"_JŔvP4zVΤnyR&JLحG3d#Q""`jRٍ #b duRBGy8PR #ՐeH^`%qL>00p= `eXu- &ϛXQP-PTi 80 Gqj3H bT,GT ;M}pf)kS|%1| P'XhE0.Q7T>*?URE5,EA;iKPFCYYϢ1Jص6qbH<)K@B@Ja.XDeyHq&#ZJ \ ɖ̇u1(.6A4@aY!Jo a'ӓjL&&m P*0#+(x Z/a!|ZðRezA [0%`&&T/)B "pЁ7`SdfUB P ^`Mc;|ڊF׻*EHHׯx@`"-<"hbMP:h f:Qj+(OQ 8A*&D‘FD!PJv1MlH@ dM!A2MJ14*-TZH"lP +ahEzSfR2ɼBJ"e @4 8 2x+$kԪJF1 "4?X ĉ-7rAd$ JA E-.UaLjN0sxX@"%T"+>(!@AQ@թfE@ 430 xKE!L8JPH=ZE"k^2,csLQm$X@I nQPA(P7{G)HuQQNf^ $A"d( `O$&d`$@`Vƀ!\ūtBӏè NLFZf(p+ K=yr^Peh[RC2l G $a4Q@ PTb  xV;@8L ll-qRjHaN G-S1HFAp #ʢ̴lp^2b"QXT68` %6)P $`Cmk V!X7ua:A 2&` Taf&"@)V۸ +pTiBATN*ĢP'ͶQf2Nb0l4$-H@h x'X1Ca-KQ [ D5r#ʧ@ ^'!ppP@jYYF~k% 0 ?M A($ P@ZTV@eJ( B(%L$\8$&t VR J@@<"L'>`,l AJ(.8n8B ! ʘ(;D  I\)s"X!d" Ɛ IE炠W@P!xP H~&H-L*DnKq 2sL abC^O̎<Җ`j(pDhm P3eD0/ Pʵ 1Fl >G` ʇ@$rRO1QQ(8 R0bB*íQPTfqi"Ff|Pf0Ќ.",L0 vQ řfD!BP! RB$2{p , I6@ >e@&ƿ  1lĜxj$)LjX@.N F@4-e  XCB^0DY) &!( dJvH(#HVED n|DPܪ B `&&-1 ZG#$&E34(@PjIH!6 II"LR9Ho c'K@U"P PW6' 8VA(` A2%d" Ҡ A0 #9(-I0"8cE0AAE6b1 efR!l xeP`B ?1D hWQ8yA-,B5]1< $ !; :T$`21PE B8 +1PFDdEZ",^+AU.)˿CBD Q#DAaaq%eL0X"!]R@1 EB"(Le^LPE,Z ATE^#&r4fDRD #%b.PI@f%3&L IUiJS @PApD00b"cx07R,qTBdP$ 8 k+ `wiC"VMKA@@,+AдR4MID(ŀ,`Fm%*3X+DO@*FsxbYYFkyMC Ja  DK$b q4lC6$FPXȀs4\"pSe#Vl,J$9t iDItHv6ፇ$h 5$JV)*&"=,LI&(%a J)),enAYK w` S`3PZH&DI@pSĂ$i(x2  ) JZD$YAP0 6@#@dF:K$ 늴F x.0W9:Iل`D0C![ |% ԒTd tͤG*@&X&(1Z_*Bp eG)2e+\4hBHB?Ԟ#"\@u, 2׾\g$1ڴc( Rk$F@D1@ 7Ŝ`)$VO $X*dC E ; 'aBc/PD0JPRwhF,wtpF €8$DIT"Y$).  1VE PJ"pKB`U@$ Dc;ŶAs*3,"%ѝ"kS=T`FpJn "L"ֈ @[#hPF@$DH@.H-lх*!%$=aTP@?K㈁sE[I 2)gC$4>%HS6"k @t<(oY~H`\*StOEpdh,P \ZKKn@%"uZ`0VH!)|lPToI%'  CRp  ,I1lJTc f5ŮBDaZ! *U!@ ;< Q%IZ@WZ%t 6J"`f f`I_8kj%Z]Ҝq$h+P 73p-Tz R(C +wH% 7(eJqެh|J@ -(5D$fKr@: Ytfg@tBH&D3H! @MIYR)E_h 9#x!\qe@aq,vBU*qdLޠD$DAjкA HذFs G@"@d vP(0h.D'8BB!aAlM!1!:Ђ0L{"0܍QG@.[ *!!=̰pBMMt} LPQ$̀ I4EVZb4ٞX*KDX R~04 V,ǚH-&p j6 E@|!GQ)iL2ts XB gt@]@C_hpHB%|Jua~KZ CTh5LG2F설5"ijdtnr,V&`AiNvD$#oe0Ezg%eap>(fTNiL 5"!BT*4l?JixYԌ(MHlpmj*T Adざ$x01f\ ;W !e ,p. Vj@8ΘGܦf%'x 8T&DI0i8lmrn+9@H 'ͬAXXC$" t<:RYAEx@ǟgJ,& l{hP˵DQ M@7 DΪ0< (8øBtԤFR z{ # bpؤ`q K4$ȉ$Q$Uz@q'Tp" s1" F$loLmJ @èȪu lUE'R^ 5@l F]\sG¨L!pA$$^(> )f`5b(bG*HHASH"lAшFQ/J*5L XAUNv1! $HvFR0*`ѧQH !)8%e.WxK!cL5h6-%B`T lTg D `UT 8%EE&{-cLSY #FhV. "ke%X'FxW DrTi I-FjaA,E 2el 1aDVʥm-05pARr #ast%mTV% F5t VTD#&oHtN:?W1@"$R$Q(!vд2S^H̍*1hhbIf8 l:~Q!8%湦Z|8T $MV3 %C" 2C8mh"-: ,j []kɂQ.!| G/4Ms͓MJpAF8 Nd"4SIhǐHu@Y|M4h q6}o @gx@PXą91Tt HaY,l܄މdPlseBJ1BːQҀe)xi"&,0$8,@&*@h[' @STM!NZwTd*C\bXc0Hf`6 IP$ QA[{9mfH#SBR5$!@0D`c@nA"lx u7HhQy<lѩp"lW5)0MF 0j{E&\uIm(eꐓ\1+dgA:7:_& )&APmr KluMˈ j6X-Bm'lʅ5#(C&N+\EcX$h0>"Jt/bQ AB^hdH%3DZy&M[_F(ruZjeAF>̈H"&- O=oS$q0#`D0s>$Iah\{^ VqT XBxr]* )Q{!Y!wP#zD!2T0!@p{0h0*Z@J~VNr ~`R%yM DRP I$*!&<@tcpL#؛O N%) ԏ":qd@BD-8 YH[J<DJP4Kq^*Y jHUy@mdw.REM̔8:`qȌ2~t#1$D6ηFSJJUc<`YYHDeO'OvN:QݷłCGG7aߊM]tP_ >EԶkIUF,N+XRqB@m  sPgK$ Qq! :0} 5iBwPؤc%")P{c5fr*eyRpq%1߇ /`&PD"D6K 2V)''IP AWOb *jo# i(  H9ɻn Ph w7@9D@Bd)3 aߚJ JEh'X@YAXڕ+4]Ȉ͓ Kf T[H+a-U$Ґobx H>dYWTZC􌸋hB (+ dn'"W K*Evm[Ԋ ]Na*SͲmApJ1@C3DQ_(@FhaExEzGE۠O5mpjk)i %GY@ _EK8^ `Bw&"`Z8J{pt5F Jz"hO,2X^ɬ`^C L +Tt+q.K B "a4aȠ/Kx'fa DLZF}DR`Li*q\Ic*k vHCxMe|sW:]X LlpAq} Zex"Cd}Hld2HKoKN4T xWsR&.YE|%!WŽTFPkv:ay!BY_`މFj` c DdMfbA ъyM$QF$e./RA[}/ cPS2 Ќ 6$@Y{-4*A4ACeC}4K_D;샐ՓlRD:v fփ[jf@FLݯ7n w1˷ } *Tfp.M^ HE*  $'j5p)odBZݢr!BEFr8 `@5 9!Q BT_:1ҕLatjΠB:DȪ3=$VHZGVР&mÉgj$4E8(ވfuKZw*G%=$LzT7#ÆŪ$]"*XFBF~{O`f ̙4@f  U#rpG@`7 rC8D(p A:8+3Y4P IPp{I_mZIgm]Hp12jƀA_єhPe}?LY$yȂ|%s;~Om 艀7US2BA $\MY²`V;qHhnR.$t.XA: wVkA}dK< XȂ| U0`P&* JVHU k=R 'ij!67%"m0e1e{ ApU% R@`S4@;*$Q\*D !RR. "ޤLi9sXR(*U" @HFnRhP{ /vi׉T@MG nD!*{`Ij6cɊ2q@4d|.$%dd-uHHZǠ' يQSYh8p@ŊU.H50HTЅ DE=D Eq~PܷQJ> *To=\zlFcBPBJʁLf(Pr_!hZ`1(bcY" ƛM  0"((!(NJpB?vH˳ m@ 0JpPB2Z8 [H4-cRbN BfU!XDUPq^ $p /"eBҀ`Ơ FX!2,IDHR'J 5_B&w~ixJ؇WFh@ E`N\ B},.R%qjEEѓ2"J`818bPD $PSB qrCxfz<;oE*$*StD ŋKNF H(`V # @p@<,HPFF1 A%!T(bPT6(y W9`]Urh xȱg!JI @]sB Ճa|F:䐼?@AZ:5Hgd&&T[GGmt1ʔ3E*3|Crb`aH 1Pbdas!|&¹^!"p@h(V9FJ)3`B@٦ђ B$5D@N Aq99,q;n⢆ZBw b#S mB⅝LHA@01XJeБ  }$+<)T$HhK^AC8. ΍8]Y ؆/p!Ƅ` T!G k=נ74dVRȦ`;Q0*ŭq Z vh.2Ua:#@J_4CwA@ rD$ijonw#.W f@IV0{d-gLHp!lJDqRtʢAaX_}I,rH~DOxX3 .r _@q"["B)P\K^C@YAZ@$.Q(l*jL2""iAVJ Â5W Tx@H5q"PDY@(xRF!8$46A*#4Lk̈́uHVC,Xj dDR%jr$n,dE2q&(8!g."!&>'Ub ,!Q:d(UֵhdR 4:%0aV45|(+vp!F Ywj/h  (L"7d"fB  `2$$98 n!((L9b0!(ȫX"AEi@ :d =Xu H K]hTQ(ariى Q&K'X ^#$h3BHJTA4 R?ŞFQ Ef $P'Ami& $^ h K,b%(1ߣHq(VP@H8a¨FZ,2$ A * W2G7*\?#?0(q*-ȁ* ?9'E u,,F0V^H5 D]Tم4 Aed6J b$0B@Đi"EP25qvAxCT`RPXSbĐCV5E"H#I 1v  "t|@F J,7 }%r:&2D8+q8KN Tkԙ n1#un81HFFAQi‘4OBظAֆ OG!PRW$!H]!R"Wq hA@ \]>}z< `;eJ,B4SaTb&·$, '*XT^`D;l jh r@@LE,xaB!P3 B,T7b@ \2=@)Ȁ F%H '`ij3q>%0B )4 4P4N(I%Dk @@I$SڍLjWEbH%KILc<[lgqT)kCnPyx6D8C")]b`ET `@3AfO`A_BEJ6* V0AHq'D BR"j})&M) n8DP$t0Ȇ"lAD1\" C6!i M ,HF ȚB0D = *l~Q adGICeD 6@&(Q Đ K"lmBH%4K|i@DX"#I]@ - u3qb`6a -"iwp-(&.C4Nc%Nb&H"  B"1j0lSrQYR0N]g ``h*ǎUJ4Bh{h!`JC ! I4J s\K$ PyfC2"3FfE+ G , ,"7AnP G ` aOH1"25!$-ub qkdZd)R RBaΊ! ^0h,#x#N 4-IDa`3,$ϦR(| @L!ti6CSV 3aA. ҠaDa|`l` B`Dqp%g4q xE`xؗ@1r&, eHAj6x Yx+`%8 ƙ-L :d CR*@mazQ@@ #7RL/dͫQ +D$+O xJP  @ptpJ"&vÐ6Q# C V0aD`8@:@ͼpk<qPI('2E :NqP "$e+u@`t14Y`^CK X|XŒB Qq9[]һ3Wi Zf:>6:aAĻBz\!@@T(“@A` RdFR! 2UV dP cdh :sVр`#:<R&mD5bHPEǁf!Hb'3҉"8|!7xW!K%% PW,8MԭXDr6Y* Ӣ a1JB$Bc@2 * Ta/5S1 +bEtKܞFyA,} ZT:A%{ $.##6B0+)+Kn2k MkoF!e|X€"1qDlV$/ cD BQd B{]p!͐)_DfB0@H` D'<0@`@ĆnF'9 ͱPɒO/2WImj O%uFD+&.rAՁl&DSa3dj 1!J¯AO.Tp' "!1DQ=E(5A @83q(T ^Ё22f PA Q$lJMBq.K]7TA|"Y\"%Y3LNk] 2k nsؐm0l= FBF8 ȏ "E;QqbRL H`*8mhƥ( 5o eHE THDP X4L7Jh 0}3"hcHˆa*i ؍E2$+#KDNB i+>SjCl-RQ 87S ݐ7s#TD_]ĬJN@iWb\8>* DDx6B TyCU@ 17hOF..Q'H!n578+(RdUx UU5((؁#4g 4X-!ТlaQ/ ̘H!9,Zؖ^rRƢ"#Dђ6D :UďTj:AD1B6 ^ Q*DCAKVbqi3%MNYD[;`pHa So-+%DedEC \ UyC^SpYw><'Hγ#) /0\+1[SĽ_2UܣU՟@.C0Jq#7kC9*h\ tfWFWn_HW.2.* ,% C~-+n#AXɅF\ 8JUz5Q@Fqdq!!Ó@v, D`Y : B,VG:RNZ12~v&/p0=\49y*a"1A 0g!( O@ RHd+1ra+'ΡDYF b`VWH`Z>)A!9M߫R29=SޠCw?rDDHaN r(16Q&*Qˑ:)#Vtj  Dݐg,pe$Q sYE ߫o4F3 A3s0G+ "q i |~Ѯ„4͂fMnTdK4&OeHEEgfs CHzD@8]:Li-mN [~%)hU4@)$sˣdpFa{h<@ u@e1h l (2lG4nWb][FR mtњw@lZ0X&P V.8Cdy-dF@{Y.ueDS-+W#L$$\0¡ "UQq@ZPQ"R&/&2RpJRPd1%oG 'F81v*x2t5l('∈~ja,S]ߡdpzpɎKiN! sDQT+VWAh`&)Rhu\HL9@$4)L"y=&, @ _9Á*|lRHdAZ@G4H4MhpAIϗ6K4ԂW՗N Й t՘-p2DD7[YF,>Qh,˃ f@ Kvt _y B,鶔nRHm0[LS !(+2EC,q< UCл@GHE\ZD|F Ä)Gp"(b!eR4zt~:l'@&+٦ВUa(@q@ВѠ*T`(U?.M^0EHLnX*atiJ$JV| İ%chl ǖ jٛK"!Qh,B&UZE[tC\lHzb#-(M{x ^%_i੐:ʀWݘ@yQ[2Ilt1jQY3 fd7J8AK-d@EbL #T *4IؠgUg@%GF%1Yp ;ULDG[p~O.-m%tc z2h_4a |rh Nd4/d(S2IQ.eS-v@z`^dMeT{CBBU "iP~ u2_}CNA1:[N=h`#| `f08K'3u[a"BZ)s`C!(G^{de0gGI:2Ѝ o'X%> 帎Bb7XD523bSF) )aY!E$a"4ɦ#-JR*lLPK5 ,! hX+ )&3l@1ȇ>3y ]';Ԫ c"}uVN  eAx, YȠF BuL!a,VcQU#+!žF(O''i!8SCP18,OZMpUi WTGԌFLjYgLB3R+XaP frlFI"Թ4 ;r8`-D+)u!&p,!x8ʂp5@+G7%p*pd4gi% 8<'/1-Q)HYAZ|$O%zA (x0VQ"UӍb؆D.%mUDaC G?C-R"HdDvter&Et ;QhWQGQͥPP2 Di̲ /N .u? 1u`="3<-&.( Rc ,om9iU|Tl PC' ̴R|G۪ ͟2v+3 fb-Yf0HHx4JkSJN/DvS@XƉD҇Yj\H`EҲƸh沌>@- ^k`C AOQ$$ZM3jpe*O.2f>o*gEKKt'Ƞ$9 qxMc{s@7sfʷ⡕#!}d\FIuI% Eጔ#iP|`VGq`%3RgSI"RLd2A)JY/' 0%zX3* Q"ҡݸuy}Է9A^2{rҶYvB)d'Bd)ӓ@f`*C K<'\ !$љam$~D,%n!oP:.ԓϙ1z\黷/מs@XͿ ep*9&1*S(Kя$M hCqjTxd؛*D9!;-\* % ( ߤyB nͺ 5w6ܥNku%<xΏ#zB\)(ą b fUR͜lf>"'bI41!;^. CU&+omr?sIS@=:VuㄚeXK dsGĥ 05w?@F9ͽ=d%6P46bK.S#r*a\eN=z2[]5ydg/e%Ty?1A=k VCȋ)Ee5}zN`&B ]f95?ў|i*ի27:R1;1׍&!B^s fg >FP#3ٚDQ5mbd"{q_#`T7sBjim,*ȗyfG)DJ(ʶGbɖLqf|&tɰ>w(0VX@P0GvS)C;2?v볹/CgBV55#Vi;3 /-:Jo=>bIDġdy&hOnZ;<^}z92ͳƪ#pqvKKһyn>5}Vj&PV! _&o}XM+CZESȷ /!He7nj=P5^iڿ/ycuK)rHYe|&\ҽzwp:}xO-Y>^?s; lFWWbLGYi9$δ8$HTdۇ߲۟\*ڢ/%Wo2-ALpu21źDR #;b߲TYh:xR)'niEڗ6A?Mn\zSd-=|[KѯÒP~iN݈߶OF9 gwG$s^E>}3r'FZw|ѻP}j~V"jZ.mbٛ;}ELl_y?:NF{zͣ6ێ  uc oB02W;Ԣ#{KRy*UzuN=>):Az~Ч0Zp}9.WLOm<-b Q%;y,}yЖkhZ탪}0G|J\߲ktlU>j9&g/ӆgjK_]`탽sPgjszw<뾺'9}^&'d?/uӱd97?v=1z3TԚfIȆᶤ2%= '^7S-I}x3~O7ͽV;t}K Y[o_{o 7_秭-\Ju?ZXplTp H]j/tPup|WyYכ%tm黱m$`pwJJz ޵X~4[ u79aj+K7+$P%Ce"?BNCcK~%N+m؝}n>c),&O)?^:{]HQ78 xQ')]>}'ne[wp2R&ǫg07Z)&^ikuu"X|]gPt{s#rOSo* r,?9{gYOZ$b%h =E 7.ͫQ3L犫Nn狍p ,}|=wBud](?.6粁jI;í6A0wy@mCóyb]3uM>z(,M|QgS>GS^vWg7jUl_j5cKJoo_'m`|wZ\6z_i7}}YV2>2>22Ï#DEALER0BAD’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy MM          N!9DM͈,͹,H-͟-\!`iw#w͐| ! !S.++++.! !S.+++.!"L""}2N!"*P**V6*6*#"!"*҃*)$w#w!"*y*k*6*#"N*#"0`..n/G"*/`.*>X®>5 >º>5 > >A >*>K >C>W >Z>c >R>o >D >{ >E >ʇ >F >ʓ >P& >ʟ >S2 >ʫ ÷ ` `is#r `i6#6 U`is#r `is#r ͬ`is#r 1 `is#r ͗`is#r `is#r `is#r `is#r `is#r `is#r ûï!9Type one character to indicate your selection now.Your pleasure: (E, F, P, S, D, Z, R, C, X) !L !S.++.`.!P!V! ! "1|j !! !S.++.!Vͻ2! ͻ2`.!P!! ! "1|² !! !S.++.!Vͻ2! ͻ2!ͻ2! ͻ2`..n/GY ! !S.+.! S!!!V2S! !S.+.! S!What is the current name of the file you wish to rename:>What new name do you wish to rename '' to:>Do you really wish to rename '' to '' ? Not Renamed.File Renamed.>2N!!VH!!S.++.!P!! !"1|C !!!VbH2"L*(n}g *(|t !$3!!"* *)$w#w!"* *k*6*#"Ø *#"z *&"O!"L!""$>2NS.++++{5`.!!S.+++.n/G"*/`.*>X0 >ʇ >G< >ʌ >DH >ʹ >CT >/>A` >|>Vl >ʤ>Px >>O„ >ñ!>2N*L#"L)$*Os#r*L#"L)$w#wô!E6| ô*L#"L)$6s#r!J!S.++.*"#""k!wH*L#"L)$*"ks#rô!z6|?ô!}6|Oô!6|_ô*L#"L)$!c7s#rô!6|ʌô*L#"L)$9s#rô!6|ʴô*L#"L)$:s#rô!6|ô!6|ô!6|ô*L#"L)$!p7s#rô!6|)ô!6|9ô!6|Iô*L#"L)$!o7s#r!!S.++.*"#""k!H*L#"L)$*"ks#rô*N}*L#)$*Os#r !$3!pf Type the name of the file you wish to format below>Your pleasure: (D, C, P, O, V, A, G, X) -devWhat device do you wish to format this for? %s-c-o-p-pause-verbatim-p-o-c-p-c-oWhat do you wish to name the output file? %s!9DM`iw#w>2N!!VH!!S.++.!P!! ! "1|*!!!VbH2"L*(n}N*(|\!$3!!"*ҵ*)$w#w!"*ҫ*k*6*#"À*#"b*&"O!"L!""'>2NS.++++{5`.!!S.+++.n/G"*/`.*>X>W>G$>]>N0>ʊ>C<>+>PH>>OT> Ó!>2N*L#"L)$*Os#r*L#"L)$w#wÖ!26|ʚÖ*L#"L)$:s#r!8!S.++.*"#""k!gH*"k':| *L+"L#)$w#w(*L#"L)$*"ks#rÖ͐|::Ö!j*"#""kH*L#"L)$*"ks#r!l!S.++.*"#""k!H*"k':|*L+"L#)$w#w*"k*L)$~#fobH`i6#6Ö!6|Ö*L#"L)$9s#rÖ!6|0Ö*L#"L)$`;s#r!!S.++.*"#""k!H*L#"L)$*"ks#rÖ*N}¶*L#)$*Os#rþ!$3!!9pp Type below the name of the formatted file you wish to print>Your pleasure: (N, O, P, C, G, X) -pageWhat page do you wish to begin printing with? %s-How many copies do you want to print? %s-pause-portTo which PortName should the output be sent? %s>2N!!VH!!S.++.!P!! !:"1|!!!VbH2"L*(n}@*(|M!$3!!"*Ҧ*)$w#w!"*Ҝ*k*6*#"q*#"S*&"O!"L!""1)>2NS.++++{5`.!<!S.+++.n/G"*/`.*>X >x>G>}>O!>ʪ>L->6>A9>c>NE>ʐ>MQ>>B]>H>Di>>Pu>N!>2N*L#"L)$*Os#r*L#"L)$w#w!k*"#""kH*L#"L)$*"ks#r!m!S.++.*"#""k!H*"k*L)$~#fobH!6|F*L#"L)$!l7s#r!6|s*L#"L)$!a7s#r!6|ʠ!6|ʰ*L#"L)$!n7s#r!6|*L#"L)$!m7s#r!!S.++.*"#""k!H*L#"L)$*"ks#r!6|X!6|h*L#"L)$!b7s#r!!S.++.*"#""k! H*L#"L)$*"ks#r! 6|*L#"L)$!d7s#r!!S.++.*"#""k!-H*L#"L)$*"ks#r!06|^*L#"L)$!x7s#r!3!S.++.*"#""k!RH*L#"L)$*"ks#r*N}*L#)$*Os#rû!$3!ps Type the name of the file whose spelling you wish to check>Your pleasure: (A, B, D, L, M, N, O, P, G, X) >How do you wish to name the output? %s-l-a-n-b-mWhat do you want mispelled words marked with? %s-b-nWhat is the backup extension? <3 characters>%s-dWhat is the Dictionary name? %s-xWhat is the Affix table name? %s!!S.++.!ͻ2!ͻ2!ͻ2!ͻ2Gͻ2n/!This Version: 1.03 Creation Date: 04-28-82 Serial Number: >2!U!S.++.n/GY !!!S.++.`.!P!V! !"1|C!2!$3!Are you positive you want to send CP/M a command line? Your Command line for CP/M: >!j!S.++.`.!P!V! !"1|!!!S.++.!Vͻ2!ͻ2`..n/GY@!!S.+.! S!!V͑S!!S.+.! S!What is the name of the file you wish to delete:>Do you really wish to delete '' ? Not Deleted.File Deleted.!b!VH*L)$Vs#r!f!S.++.!P!! !"1|/!*L#"L)$s#r*L#"L)$w#w!$3!pw What is the name of the file you wish to edit?>!9DM!, !S.++.`.n/`is`in&G> > > > >> >> > >  `i6a !#  `in&n;# !9Which Drive do you desire a directory of? (e.g. A) ! !S.++.n/GY” w=ͦS!Ù !Are you sure you want to exit to CP/M? ! !S.++.!@!!S.+.n/!That option is currently unimplemented, let's try one from the list above.!J"!!.!b"ͻ2!g"ͻ2!|"!!.!"!!.!"!!.!"!!.!#!!.!G#!!.!|#!! .!#!! .!#!! .!#!! .!#!!.`.Perfect Writer Version 1.03 Main Selection Menu(C) 1982 Perfect Software, Inc.Selections:E - Edit a file F - Format a file P - Print a formatted file S - Check the spelling of a file D - Look at the directory on a diskZ - Delete (erase) a fileR - Rename a fileC - Send a command line to CP/M X - Exit from this menu to CP/M ͟-!$!!.!#%!!.!C%!!.!l%! !.!%! !.!%! !.!%! !.! &! !.!H&! ! .!&! ! .!&! ! .!&! ! .(Perfect Writer) Perfect Formatter Selection Menu(C) 1982 Perfect Software, Inc.Available options for the formatter are:C - Send the output to the console deviceD - Format for a different device typeP - Send the output to the printer deviceO - Name the output file differentlyV - Make the top level environment Verbatim instead of Text (Verbatim causes the output to appear as it does on the screen)A - Pause for manual insertion of each sheet of paperG - Start the formatting nowX - Return to the top level of the menu͟-!'!!.!'!!.!'!!.!*(! !.!Y(! !.!(! !.!(! !.!(! !.! )! ! .(Perfect Writer) Perfect Printer Selection Menu(C) 1982 Perfect Software, Inc.Available options for Perfect Printer are:N - Start printing at a page other than page 1O - Send to a different output port than the defaultP - Pause for manual insertion of each sheet of paperC - Print mutiple copies of the fileG - Start Printing the file nowX - Return to the top level of the menu͟-!!*!!.!Q*!!.!q*!!.!*! !.!*! !.!+! !.!9+! !.!f+! !.!+! ! .!+! ! .!,! ! .!<,! ! .!`,! ! .(Perfect Writer) Perfect Speller Selection Menu(C) 1982 Perfect Software, Inc.Available options for the Spelling Checker are:A - Add all the words in the file to the dictionaryB - Change the Backup file extension name D - Use the dictionary specified instead of DICTNARY.SPLL - List the mispelled words on the terminalM - Mark words with the specified character instead of ~^S N - Make no backup of the file being checkedO - Send all the output from Perfect speller to the specified fileP - Use the specified prefix/suffix tableG - Start Checking the spelling nowX - Return to the top level of the menu!,Written and directed by Barry A. Dobyns.!9DM!!-ͩS`is#rz,!!$-ͩS`is#rz,!--HͦS!!~͐SH-!9pw.swpa:pw.swpMENU: Can't Open Swap File!9DM!ͅ=`iw#w͐*ѯgҊ-͐c*s`i^#Vr+s^-!"]"[͟-!9!9DM!"Y"W*}.!ͅ=*&=`iw#w͐*ѯg-͐c6`i^#Vr+s-!"]"[.`.a>!9!9DM͐͐i>͐n}K.! ^#Vr+sn&/).̈́>.*&a>!9DMa>*}ʋ..!ͅ=*&=.*W`is#r*Y! s#r*W*ѯg.̈́>*W#"W!"Yß.͐"W͐"Ya>!9*Y*ѯg.!"Y!b/?B?a>*[*W/*]*Y/!ͅ=!P?!ͅ=!P?!ͅ=*&=*W"[*Y"]a>Off Screen!*}ʂ/!cTæ/*&͇T*ѯg|g}o*&͝|®/o/*}/!cT/*&͇T*ѯg|g}o!9DM! n& G0! n&~G0.! n&;?*]#"]*Y#"Y*Wcn*YD0*Wc*Ys1! n} Z0ʔ00*_*Y*_`is#r͐|ʑ0! /`i^#Vr+st01!"Y*W*&+ҵ0*W#"Wû0!"Ẅ́>1! n&|g}o|0!~/! n&|g}o/1!^/! n&@|g}o/1a>!9!9DM͐X!S.+.̈́>!@!S s.`i!Q s#rn/!P s!Z n}i2!P n}€1,@!í2͐Q`i͐^+1!P n}1!P n}1!S n&͐Q`it@!Q s#rB?!P n} 12262?2!2ͻ2!Q ^#Vr+s6c2͐Q`i32!S n&͐Q`it@!Q s#rc2n/!P s!P n&/!Q ^#Vr+s!P nsc2.W1͐Q`iʍ2͐Q6`i͐\HÖ2͐\Ͳ@!S.+i>.!í2!T9!9DM͐n}2! ^#Vr+sn&/2a>!9DM`iw#w͐3͐)$w#w`i^#Vr+s2`iw#w͐Ps3͐Vn} ]3͐Vn} ]3͐Vn}g3͐V6`i^#Vr+s$3*V}3!3V"$`is#r! s#r͐P3͐Vn}3`i^#Vr+s! ^#Vr+s)$͐Vs#r`i^#Vr+s×3͐3!9!_9DM!v5! H! ~#fo~#fo! bH͟-!S.++i>w=! 6`iw#w͐ҋ4! ~#fo͐)~#fon}4! ~#fo͐)w#w`i^#Vr+sD4`i6#6͐4! ~#fo͐)~#fo|4! ~#fo͐)~#fo! bH!y5! bH`i^#Vr+sÒ4! I! I&5! ! ~#fo~#foA!! ! ~#fo~#fo͔T!! ! ͔T! ! ~#fo~#fo͌D!9A: !9DM`iw#w!͐i>.͐)$~#fo!6UI`i^#Vr+s͐5͐)$~#fo|5͐)$~#fon}š5̈́>! yU!9%s !9DM`iw#w͐*Lڈ6͐͐)$~#fozI||6!6!S.+++.͐ͻ2!6!S.++.`.n/!Î6`i^#Vr+s6!Î6!9You have already specified this option: !6-dev!9DM`iw#w͐*Lr7͐͐)$~#fozI|f7!7!S.+++.͐ͻ2!7!S.++.`.n/!x7`i^#Vr+s6!x7!9This option cannot be used in conjunction with !9DM! n&G>a7>!9>b7>&9>c 8>+9>d8>09>e"8>59>f.8>:9>g:8>?9>hF8>D9>iR8>I9>j^8>N9>kj8>S9>lv8>X9>m‚8>]9>nŽ8>b9>oš8>g9>p¦8>l9>q²8>q9>r¾8>v9>s8>{9>t8>ʀ9>u8>ʅ9>v8>ʊ9>w8>ʏ9>x9>ʔ9>y9>ʙ9>z9>ʞ9ã9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!9!-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z!:-pause!:-verbatim!!:-page!9DM͐n}ʌ:͐n&G|~:!:!S.+++.!:!S.++.`.n/!! ^#Vr+s/:!You must specify a number for this option !;!S.+++.!?;!S.++.`.n/Sorry, you can only specify this option once.!h;-port!9DM!D n&G!D s͟-!D n&Aګ;!D n&P;!=H!=Hn/ s#r͐>Ҥ ^#Vr+sÁDirectory for Drive %c: *.* Hit any key to return to menu: .!ͅ=!9DM͐n&! s#r͐#n`is#6͐|=! ^#Vr+sn&;?`i^#Vr+sí=!9!9DMa>*}>! ^#Vr+sz>*&;?=*}U>! ^#Vr+szU>*&?`is#r͐|R>`i^#Vr+s=>>a>!9!!9DM͐"W͐"Ya>!9DM*Y*Wcnѯgڤ>?.a>*}>!ͅ=*&=?*Y`is#r͐*Wcnѯg?! ;?*]#"]a>`i^#Vr+s>*Wc*Ys!9!9DM!S.+i>̈́>͐ͻ2.!ͅ=a>!9DM͐*&{?*W*ѯg`isÊ?*Y*ѯg`is*}ʫ?`in*ѯgW|g}o;?õ?`in&͆G!9!9DM*}?! n&!cT@*&͇T*ѯg|g}o*& @?! n&*&Ua>*Ya>!9DMG`is#r!@! s#r!S.+i>̈́>͐͐i>.!9!9DM! ^#Vr+s6! n&Gi>͐Ͳ@̈́>.͐!9DM͐n}@͐n}@! ^#Vr+sn&/@!Aͻ2! ^#Vr+sú@.!9DM͟-!3B!!.!KBͻ2!PB!!.B?!pByG!.!B!!.!B!!.! C!!.!SC!!.!C!!.!C!! .!D!! .͐!! .!LDͻ2͐ͻ2!ND!S.+++.B?n/͟-!oDH!DV!9Perfect Writer Version 1.03(C) 1982 Perfect Software, Inc.<<<<>>>>You have specified more arguments or options than this menu systemcan deal with. If you really need to specify this many arguments oroptions it will be advantageous for you to learn to execute programs fromthe operating system rather than this menu. It will also be faster todo so. You should refer to the manual for instructions on how to usethe components of Perfect Writer without this menu component. ... Restarting Menu ...menu!9DM͟-!BE!!.B?͐!!.!iEͻ2͐ͻ2!kE!!.!E!!.!E!!.!F!!.!F!! .n/͟-!4FH!LFVI Cannot execute this command string: One of us must have made an error, so let's try again.Either the program you wish to execute is unavailable,or it is not on either the current drive or on the A:device. ... Restarting Menu ...menu!9DM! w#w`i6#6͐ F! ~#fo͐n} ŽFF! ~#fo! ^#Vr+s! ~#fo͐ns`i^#Vr+shF! ~#fo n} F! ~#fo! ^#Vr+s6.`i6 #6͐ XG! ~#fo͐n} GXG! ~#fo! ^#Vr+s! ~#fo͐ns`i^#Vr+sF! ~#fo͐6͐pG!9*&a>!9DM͐ ګG͐ ͉͆G͐ )0;?*Wa>!9~aG{G o&!t!9~AG[G o&!9~0H:HH!}!}!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{RH,H͐YH!9!9DM͐`is#r͐n}ʌH! ^#Vr+stH! ^#Vr+s͐ns! ^#Vr+sn}ŒH͐ûH!9!y9DM`i͇V! `i JH!9!9DM͐n}I! ^#Vr+sn&UH!9DM`iw#w! ^#Vr+sn}EI`i^#Vr+s&I͐LI!9!y9DM! `iM`iH!9!9DM`iw#w! ~#fo͐n! ~#fo͐n}I! ~#fo`i^#Vr+sn}I!JÈI! ~#fo͐n! ~#fo͐nѯgWJ!9!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{M! n&uP|kJ>J! n}%ʩJ! n! ͨPʛJ! n& MæJ! ^#Vr+sL! 6#6! 6 `i6! ^#Vr+sn! s{*J`i4! ^#Vr+sn! s! n&G}XKO$KD-KUSKSKCrLîL! 6SK! 6SK! ͨP-SK! 6#6! ^#Vr+s! w#w! n&! ͨPP#|‚K! n& M! n&! ^#Vr+sn&P! s{K͐ ! nѯg?! nѯg! s#rÂK! ^#Vr+søL! ͨP͐ ~#fo! s#r! ^#Vr+sn! s{PL! n͐n}0L! ^#Vr+sPL`in}ML! ^#Vr+s! nsK`in}oL! 4͐6! ^#Vr+s>J`in} L͐n&! ^#Vr+s~#foʹV! 4! ^#Vr+s>J! n& M`in}L! ^#Vr+s~#fo͐ ͐?s#r! 4͐n}L! n& M>J! n& M!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{fP`in}%PP! ! s#r! 6#6! s! s! s͐n}-¥M! ^#Vr+s! 4͐n}0µM! 4͐n&G}M! RM!! s#r! ^#Vr+sn`is{.N! R! s#r! 4! ^#Vr+sn`is`in&G}DINUʅNXʎNOʗNCNSO:P͐~#fo|N! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ÝN! 6ÝN! 6! ~#fo! n&! ^#Vr+s~#fo! rQѯgs#rÆO! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sÆO! n}!O! 6#6! ^#Vr+s~#fo! s#r͐n}ʆO͐|ʆO! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s +U#~U##Ta{ !pOU!*w#0U:**GU*!ѷ! _ ŽU  7:O*o`7*~# ʭU ʭU+*&!  U > _ U 2Ͱ7*!9& 6C#6O#6M1V]V!w#w#*w#>V:**UV*!Âѷʤ!Å 6  #F#xʯV~#âV7*:wDirectory for Drive %c: *.*! Hit any key to return to menu*K͞+򋞟'+FÎr SID VERS 1.4$1w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!">2>2>22Ï#1571200BADJ’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qya@`P#Q Q`Q#!9DM3! ?4!+ ?4!0 ?4͐ !R ?4͍!"" `is! s! s#r! s#r! s#r!">2! ^#Vr+s!d ! ^#Vr+s! ͐~#fo!|c! ?4! cs`isa ! ͐~#fo!|ʵ! ?4! ?4! ?4! ?4! ?4͡?4! ?4a ! ͐~#fo!|! ?4>2a ! ! ͐~#fo!| !"! ?4a !B !E ͐~#fo!|: !H ?4! ps`isa !d ͐~#fo|ʭ ͐ Ң `i6f!g ?4! ^#Vr+s~#fo! s#r͐?4!} ?4! ^#Vr+sê ! ?4a ! ͐~#fo|" ͐  ! 6n! ^#Vr+s~#fo! s#r! ^#Vr+s! ?4͐?4! ?4 ! ?4a ͐~#fon}-Q ! ?4͐~#fo?4! ?4a ͐~#fo! s#r͐|x ! ?4͍͐z`͐! n&ͮd*͘*g" *"`in} ͐! s#r͐`in&͊u)o͝hʹ6 ͪ%s* &&'*W^dͶhͅo/vͬ3͍!9 Perfect Formatter 1.03 (C) 1982 Perfect Software, Inc. Usage is: pf {-dev } {-text} {-c | -t | -l | -p | -o } -cSending output to console. -versionVersion 1.03 of 04-28-82 serial -pausePausing between pages. -v-verbatimVerbatim is the top level environment. -l-pSending output to printer. -oOutput file is named .FIN No file specified for -o. Using default file. -devFormatting for device . No device specified for -dev. Using default device. Unknown option '' No input file specified! !"r"t!"v"x!"z"|!"~>2>2>2>2>2!"!"">2!"!"!"!!n! /"Ͷ page!!n!/"!!n!/"!!n!/"!!n!/"!!n!/"!!n!/"! !s!/"! !s! /"!- !s!./"!> !s!?/"!N !s!O/"!] !s!^/"chaptersectionsubsectionparagraphappendixappendixsectionchaptertitlesectiontitlesubsectiontitleparagraphtitleappendixtitleappendixsectiontitle!9DM`is{2_>“>> Ÿ>> «>9>(·>ʿ>@>>>>>>>>B>AV`in} *c} D+`i6+*f}6,k*] _kk͞nP`in}L*c}LD+`i6+*}ʋ*c}ʋ*g|ʋ**t*g!!9~#fo+*c}°k*g|ʰ*g!!9~#fo*}͝}2P>2*X _n}*i!!9~#fo\P`is{2_PiP5iPjP _n}.͝2 _n}?͝2 _n}!͝`is>2\P`is{2\PKbÄ!9Kb_>r>ʁ>@~>ʇÍIdÝ\Ý>2 _k4Ý*#"+ڽ"*6!9DM͟! n&ͩ!9DM*!!<3*"*#"+! ns*6Put buffer overflow!9DM͐͟l`i͐q`il͐lͩ! 9!9DM͐|͐͟n}ʤ! ^#Vr+sn&Âͩ*+"!"!!Qdsput!9DM͐n&ͥ͐n&ͥ!&! ^#Vr+s! ^#Vr+sn}!&!9DM͐͐&!9DM͐|d!&͐|t!&͐n}͐n}͐n&ͻ͐n&ͻ͐n&ͻ͐n&ͻͩ&! ^#Vr+s! ^#Vr+st͐n&!9DM͐͐&!9DM͐#`is#r͐͐>͐@!9!9DM͐d!9DM͐!9DM͐|! ^#Vr+s6-͐! s#r͐ ͐͐ q! s#r! ^#Vr+s͐ 0s͐6͐!9DM!`is#r͐͐q͐$!9!9DM͐!9DM͐n}-d!͐#v!͐v!9DM͐n}Ž͐͐n&х|¸!͐!2͐͐ ?͐nѯg͐#v'.Invalid number '!"p*p|!*V!)2' environment.Exiting but in a '!9DM*p|W!<3{*p`is#r!!V*p͈͐d!9Popping base environment!9DM!`is#r!͐!V͈͐"p!9!9DM͐* ǁ`is#r͐|+!;<3* *͝!I!W?4W^/v͍͐2!9Out of memoryin page spacein end space!9DM͐* !9DM͐" !و!و!^menua:menu!3"V>2X*"Y*"["]*"_*"a>2c>2d*}2e>2f!$"g!%"i!"m!"k>2o*|1!8"V*"a>2c>2d>2ftextnormal!9DMKb_@q_kIdnKbJKb! _|͐!r͋`is#r|ʰ͐I͐|͐IKbJ!9end!9DM*}!E<3Kb_Id!& _n&*.}2}4!N͐!Q2!&>2Kb!&ArgOnned'.Missing argument to '!9DM*}ʗ!fͶ|ʗ!͐!2>2'.Extra arguments to '!9DM*}!{>2!!!!! ! -|%!! _!|%!! _!|+Kb_EId>2!{_(¥* _n}j>2!{! n}d~ _n&{>2Id! n&͋`is#rKb͐{ö! n}d¶!{d!!(!@!A-|_B@!! _!|@!! _!|@_(, _n*},@! n}r:\Kbù_TId>2^`is#r! n}fq͐Ic͐{!9,=;/,=;/*}2>2*}2>2!9DM`is#r!rͶ! s#r|!!!2!Ø!͐ͩ,> >>>>#>>/>>;>>G>>S>>_> >k> > w>> ƒ>> >)> ›>)> §>)>³>)>¿>7>>7>>EQ! 6#6 q! 6#6q! 6d#6q! 6##6q! 6#6q!m͌2! s#rq*! s#rq*! s#rq! 6#6q!͐-!2! w#w! ~#fo͐ks#r͐I͐Ø!9Missing dimension.in inch inches cm mm point points pica picas em ems char chars character characters line lines micas '.Unknown unit of measure '!9DM!rͶ`is#r͐|r!͐|r! 6õ͐|ʗ!͐|ʗ! 6õ!͐-!2! 6͐|͐I! n&!9yesno' was given.'Yes' or 'No' argument required. '!9DM!rͶ! s#rzP͐=`is#r͐I͐hh!!!q2!h!9Missing numeric argument.!9DMKb _n&*.`is`in}!!! 2 _  ! n}r! n}pdKb>2_[ _( _n`in}[ _ B *}: !!! 2[ >2G >2! n}fU \Kb>2_o Id! n}r’ ^! s#rc͐ ! n}p ^! s#rc͐-?4͐I! !9Missing single argument.Warning: Argument terminated by paragraph break.>2Kb_(D! _n&*.}2X}`!!i! _!l!2<!&!&'.Bad opening character '!9DM͐͐|!! n&Ϳ͐͝"V!%"i! n}2o!}!! n&Ϳ!&!&!9DM͐͐|"!&*"͐͐|*"!&!&!9DM͐͐#|Y"!&t"͐͐#|t"!&!&!9DM͐͝"V>2X! n}2f! n}2c>2d! n}2e*"a!$"g*}"!}"**ǘt*g|"*g!"!9~#fo*c}#+!9DM͐͐|Z#͐͝"V>2f>2c>2d>l2e!"g!%"i*]"Y!&!&!9DM*Y"]! *m#"m+q!#! ͆! l*Y! kk`is#r+*[*Y͐͞n! 9.!9DM*Y"]*k|g}o|#!-#!*`is`in&Ϳ+*[*Y`in&͌2͞n!9!9DM;$`is#r͐##~#fo||$!$͐~#fo+!/`i^#Vr+sH$!$͐^#Vr+s!/+*)͞n*̘}ʱ$,k"[!9..*Y"]!͞n*͞nKbͣ!fͶ|$$<*}i %!]Ϳ%*͐rc<*o&Ϳ<!9DM`is#r͐~#fo|S%`i^#Vr+s9%͐!q%`i^#Vr+sw#w͙%!9*o&Ϳ**)t<**ɘt<!% "!% "!% "!% "Ƀ- @Value(Page) -- @Value(Page) -*z|&*&!!!&}"*"["]"Y*"_**t!& l**z|ʯ&*t!&*z~#fo!/!&*z##~#fo-Qds**z~#fo"zZ&*<notes----------. endnotes*~|&!'?4p*))t!c!!!'}"*"]"["Y*"_!'l**)t>l2e*~|ʤ'*~~#fo|m'*͟*~~#fo-l! Ϳx'͟!,Ϳ!*~##~#fo!'/ͩ*~~#fo"~7'*< Index indexIndex !9DM*r|'+*!4*?4p*))t!c!!!K*}"*"]"Y*Y !?"[*"_!T*l**)t>l2e! 6c*r|(**rn`is! n`in}€(`in}cʀ(`in}a‹(**t`in! s*Y"]`in}cʿ(s(b)p.)aU)nv)Ú)!f*l*###*r###~#fos#rÚ)*k͞n*###*r###~#fos#rÚ)*k͞n*###*r###~#fos#rÚ)* k͞n*###*r###~#fos#rÚ)!o*l*###*r###~#fos#rÚ)*k͞n*###*r###~#fos#r`in&.`in&]1+*r~#fo-l+,k*_ )**_,k͞n>2d!*r#~#fo!/*>2d*r~#fo"rO(<!9 Table of Contents contentsTable of ContentsChapter Appendix !9DM* |! `is#r*r|¬*͐"r"t**t͐s#r͐"t͐w#w͐!r͋s#r*|͐*!9+͟j!9DM^`is#r-n}2+]͐l;+͐I!9!9DM^`is#r-n&|o+!Ϳ͐I!9!9DM*v`is#r͐|+͐͐~#fo/|+͐~#fo`is#rÒ+͐+!9Kb!! ! -|+Id!9DM͐́+`is#r|,!É,͐##n}s[,͐###~#fo]-|[,!,͐-!,2!É,͐##n}s{,͐###~#fo=É,͐###~#foÉ,!9'.Non-numeric value '!9DM`iw#w! ^#Vr+sn}M-͐-+! s#r! ^#Vr+s! ^#Vr+s͐ n&ͥ͐n&ͥ,͐ n} *-͐n}*-M-! ^#Vr+sn} A-*-`i^#Vr+s÷,͐T-!9!9DM͐-`is#r͐n}+ʊ-͐n}-“-`i^#Vr+s͐n}ʺ-͐n&х|ʺ-`i^#Vr+sÓ-͐n}͝&-!9!9DM! `is#r͐~#fo|.͐~#fo_ .!&!.`i^#Vr+s-!&!.!9!9DM! n}(^.[e.{l.&!"&!'&!&!9DM͐`is#r͐n}.͐n}..`i^#Vr+sã.! n}.͐6͐n}.͐͐͆!9!9DM! n}p /*###w#w!/ !s!//! n}b9/*###w#w!/ !s!//! n}sp/! n}nr/*###w#w!/ !s!//*###w#w!/ !s!//paragraphtitlesubsectiontitleappendixsectiontitlesectiontitle!9DM͐ ! s#r͐́+`is#r|0!`is#r*v|L0͐"v"xd0*x͐s#r͐"x͐w#w͐͐s#r÷0͐##n}s®0͐###~#fo|ʮ0͐###~#foI͐I͐##! ns͐###͐ s#r͐0!9!9DM`iw#w͐ '1͐)p~#fo͐'1`i^#Vr+s0͐ :1*Q1͐)p~#fo͐T1!9!9DM͟*}1! n}aʆ1! n}nœ1*###~#fo@Ϳõ1!*###~#fo!/!2`is#r1`iw#w! n}n1!*###~#fo͐/! n}s 2! n}b 2! n}p'2!*###~#fo͐/! n}b=2! n}pV2!*###~#fo!2/! n}pz2!*###~#fo!2/ͩ!9...!9DM! n& 2! n&2*}2! n&)P~#fo2*!!3!9DM!33?4͐| 3͐?4͐|3͐?4͐|.3͐?4m3 Error: !9DM!Z3?4͐?4m3 Internal Error: !3?4_4!3?4^?43 error was on line of !9DM!a`is`in}3͍`in&3!9! ͅ!9DM! n&ͅ!9DM͐ )4͐ ͉4͐ )0ͅ!9DM͐n}i4! ^#Vr+sn&3G4!9DM!=!=͐!|4!=*V|4+,k*[ڴ4*4*[,k͞nÇ=͐]F|4Ç=!=͐|`5!r͋`is#r!=͐|!5͐I!=?Ç=>2͐]F|<5>e2XT5!=͐-!=2͐IÇ=!=͐|6!r͋`is#r*X}e²5͐*V|ʲ5*i!5!9~#fo6!=͐-!=2!>?4*V?4!>?4*X}e5!M>?46*X&3!R>?4͐IÇ=!!!V>͐̈́!|46Ç=!!!X>͐̈́!|T6Ç=!!!Z>͐̈́!|t6Ç=!!!\>͐̈́!|ʔ6Ç=!!!^>͐̈́!|ʴ6Ç=!!!`>͐̈́!|6Ç=!!!b>͐̈́!|6Ç=!!!d>͐̈́!|7Ç=!!!f>͐̈́!|47Ç=!!!i>͐̈́!|T7Ç=!l>͐|r7!f͋Ç=!t>͐|7!r͋`is#r͐-_͐I!|>!>͐!|7!>?4^?43sÇ=!>͐|8!r͋`is#r-!nd͐IÇ=!>͐|883!p͋Ç=!>!>͐!! s{e8! n&XÇ=!>͐|”8*}e^9!>͐|^9*}8͟!Ϳ!*#"!/!Ϳͩ8!>*#"!>/* |!! s#r*z|9͐ "z"|9*|͐ s#r͐ "|͐ *s#r͐ ##!r͋s#r͐ w#w*|Ç=!>͐|h:*}i”9͝!$"i!>"V![ͿÇ=*}9͟!Ϳ!*#"!/!Ϳͩ9!>*#"!>/dTp*&!!!>}"!$"i*"["]"Y*"_*}=:>2*t!> l**t!>*!/!|e:͐rcÇ=!>͐|<* |!! s#r͐##*|¨:!ë:*s#r!r͋`is#r*~|:͐"~͐w#w;*~! s#r! s#r͐|2;͐~#fo͐L|2;͐! s#r͐~#fo! s#r:͐|ʘ;͐~#fo͐/|ʘ;͐I`iw#w͐! s#r͐~#fo! s#r͐|ʘ;͐~#fo|b;͐*~;͐*~s#r͐"~;͐͐ ~#fos#r͐ ͐s#r͐͐s#r*|Ç=͐ L|<Ç=͐?|)<Ç=!>͐|B͐|[<{TÇ=!?͐|w<*pÇ=! ?͐|2\!9/\descriptionbegincommentcomment'.Unknown environment 'end' environment.Incorrect Environment Closing. Tried to end a 'A '' environment is open, and it should be closed with '@end'. +-biprtuuxuncommentincludetty:con: Including devicemessagepagefootingpageheadingnotefoot][footfootnote][footnote----------. indexcasestylenewpageblankpage!9DM!D͐|m@`iw#w!D|l?!rͶ`is#r|l?!rͶ! s#r|˜?͐|~?͐I!!!D2!&D*}ʯ?͐! s#r;@͐́+! s#r|?!E͐-!E2͐! s#r;@͐I͐ ##n}s#@͐ ###~#fo- ! s#r;@͐ ###~#fo! s#r͐!s͐-/͐I!=Eg!&D!EE͐|ʠ@!MEl!REl!TEl!&D!]E͐|FA!r͋`is#r͐́+! s#r͐ |@!cE͐-!fE25A͐ ##n}sA͐ ###~#fo-l5A!͐ ###~#fo!/͐I!&D!E͐|B`iw#w!E|ʖA!rͶ`is#r|ʖA!rͶ! s#r|A͐|ʨA͐I!!!E2!&D͐-n! s! n}+A! n}-B͐-# ! s#r͐I͐! s#r͐]-|6B͐=! s#rGB͐+! s#r͐I͐+! s#r! n}+„B! ~#fo͐ s#röB! n}-ªB! ~#fo͐ s#röB͐ ! s#r͐ !n͐-/͐I!Eg!&D!E! s#r!E͐|C͐!r͋`is#rͩ,! s#r͐ ҮC͐́+! s#r͐ |iC!E͐-!E2ëC͐ ##n}n“C!͐ ###~#fo!/ëC!F͐-!,F2C!4F͐ n&]1͐I!&D!;F͐|D! w#w͐!r͋`is#rͩ,>D>PD>D>^D>)D>lD>5D>zD>AD>ʈD>MD>ʖDäD*! s#rÿD*! s#rÿD*! s#rÿD*! s#rÿD*! s#rÿD*! s#rÿD!AF͐-!DF2ÿD͐ |D͐ ###~#fol͐ID!9string@String@String requires two arguments.'.@String: Variable not found '@Stringversion1.03 04-28-82value'.@Value: Variable not found 'set@Set@Set requires two arguments.@Setchapter section subsection paragraph appendix appendixsection ref'.@Ref: Variable not found '' does not contain a number.@Ref: 'csbpantitle'.@Title: Unknown option '!9DM!?K͐#|ʐF*["["]"!&6K!FK!PK͐3"`is{¿F!XK͐#|F>2c>2d>2f`in}F**͉"["]"Y"!&6K!`K!kK͐3"`is{GG>2c>2d>2f`in}5G!c8G!r}2e"!&6K!rK!yK͐3"`is{ʻG`in}”G*[*_*[͉"["]*"aãG*[*"["]*}2e!$"g"!&6K!K!K͐3"|G*["["]*_"_>2c>2f"!&6K!K͐#|RH*[*)"Y*[*k"["]*}2e!"m!c#"g"!&6K!K!K͐3"|ʊH*"a>2c>2d>2f"!&6K!K͐#|H*[*)"Y*[*k"["]*}2e!#"g*k#"k"!&6K!K͐#|ʆI! s#r͐~#fo|I! ^#Vr+sH*˘}OI͐!OI*[*YFI*["[*["]"Y*}2e!$"g͐6#6͐##w#w!5$"g!)%"i"!&6K!K͐#|I*["["]*_ "_*"a*}2e!$"g"!&6K!K͐#|I*}2e!$"g*"a"!&6K!K͐#|eJ*Y*k"Y"]*Y*)"[*_* k"_*"a>2c!$"g"!&6K!K!K͐3"`is{”J!K͐#|J>2c>c2e!}%"i>2o*`in}¸Jp"`in}J!J!*kt!Ϳ!&6K!K!K͐3"|.K>2c!}%"i>2o"*))t!Ϳ!&6K!&6K!9indentflushleftaddressclosingflushrightcenterundentdescriptionexampledisplayenumerateverbatimformatitemizelevelquotationtextversemajorheadingunnumberedheadingsubheadingprefacesection!9DM!UQ!^Q͐ !! s{N*}TL!!!fQ2!&LQy*`is#r! n}¯L͐6c͐###*###^#Vr+ss#r͐~#fo- !s!Q/M͐6a͐###*###^#Vr+ss#r͐~#fo- !s!Q/͐~#fo- !s!Q/͐n&.*p*kt͐#*s#r!Q?4! n}kM*###~#fo4~M*###~#fo@3!)3͝>2c>c2e͟!Ϳ! n}¼M!Ql!c]1M!Ql!a]1ͩ**t͐͟~#fo-l!Ϳͩ**kt<!&LQ!Q!Q͐ !! s{Py*`is#r! n}“N͐6s͐###*###^#Vr+ss#r͐~#fo- !s!Q/N͐6n͐###*###^#Vr+ss#r͐~#fo- !s!Q/͐~#fo- !s!R/͐n&.**))t͝>2c>l2e͟!Ϳ! n}>O!sAO!n]1! Ϳ͐~#fo-l!Ϳͩ*͐#*s#r!R?4! n}¥O*###~#fo4øO*###~#fo@3!.3! n}O*###~#foO*###~#fo4!)3*)t<!&LQ!R!#R͐ !! s{DQy*`is#r! n}†P͐6b͐###*###^#Vr+ss#r͐~#fo- !s!.R/*###w#wP͐6p͐###*###^#Vr+ss#r͐~#fo- !s!>R/**)t͝>2c>l2e͟! n}P!bP!p]1! Ϳ͐~#fo-lͩ*͐#*s#r*t<!&LQ!&LQ!9appendixchapter@Chapter and @Appendix have been disabled.chaptertitlechaptertitleappendixtitle (Chapter Appendix appendixsectionsectionsectiontitlesectiontitleappendixsectiontitle (paragraphsubsectionsubsectiontitleparagraphtitle!9DM!T|eRS!rͶ`is#ŕ+! s#r͐|ʖR͐##n}sR!T͐-! T2͐I!?TgS͐I!rͶ`is#rzS!ET͐###~#fo| S!FT͐|9S͐###~#fo͐/|9S!KT͐|S͐I!dͶ! s{}S͔͝!PT"V! n&*.}2X!$"iSS!rͶ`is#r|¦S!!!UT2S!fͶ|ʶSæS!vT͐-Qds͐ISS!fͶ|SS͐IR!9@Case'.Undefined or non-string selector variable for @Case '@CasenullelsecaseUnexpected end of @Case argumentcase!9DM!W!rͶ`is#rzʊW!W͐ͩ,>¸T>ʷU>T>U>T>U>T>U>T>U>T>U>U>U> U>V>U>V> $U> V> 0U>)V> ;V> HU>EV> TU>OV>`U>aV>lU>V>xU>W>„U>W>U>3W>œU>=W>¨U>IW>´U>RW[WͲ"ǘ~WͲ"ɘ~W*Ͳ"Ř"~W7}2~WͲ"~W7}2~WͲ"~WͲ"~W7|V!bV!l}2}2e~WͲ""["]"Y~W7}2̘~W7}2˘~W*Ͳ""_~W!rͶ! s#r|zV~W!{X͐ͩ,>”V>ʯV> V>ʷV>¬V>ʿVV>e2V>b2V>i2V!X͐-!X2V͐I~WͲ"*Ř"~WͲ"ߘ*Ø""_~W*ߘͲ"Ø""_~W7}2~WͲ""a~WͲ"~WͲ"~W!X͐-!X2!Xg~W͐IËT!9@Styleabove below bottommargin chapters footerspacing footpush headerspacing indent indentation justification leftmargin levelhang levelindent linewidth notes paperlength paperwidth rightmargin scriptpush spacing spread topmargin endnote footnote inline '.Unknown value for Note clause of @Style ''.Unknown argument to @Style '@Style!9DM! 6b!3\ ! s#r!4\ ! s#r!5\ ! s#r!6\ ! s#r! n}͝JY!7\MY!D\!rͶ`is#rzʌZ!Q\͐ͩ,>Y>ʾY>‹Y>Y>—Y>Y>£Y>Z>¯Y>.Z>»Y>7Z@Z͐I!rͶ! s#rÀZ͐I!rͶ! s#rÀZ͐I!rͶ! s#rÀZ͐I!rͶ! s#rÀZ! 6eÀZ! 6oÀZ!r\͐-!u\2͐I! n}͝uZ!\xZ!\gÀZ͐IRY͐\͐\͐\͐\####! s#r͐-͐ >!\͐ ͆͐-͐ ͆!\͐ ͆͐-͐ ͆!\͐ ͆͐-͐ ͆͐I͐I͐I͐I! n}[! n}bʉ[! n}e[*I͐ "! n}bʳ[! n}o[*I͐ "\! n}b[! n}e[*I͐ "! n}b \! n}o\*I͐ "͐ d*\!9@PageHeading@PageFootingleft line right center even odd '.Unknown argument to @PageHeading or @PageFooting '@PageHeading@PageFooting*\*"\+\!\<3!"\!!^͆Input buffer overflow.!"\>2^!9DM͐`is#r͐ͯ3s{K^͐! ~#fo͐ +g]24]͐n}ʓ]ʓ] ] ]]]]2^͐͐Ҭ]`i^#Vr+s!3! 3!3H^`i^#Vr+s6 3H^3͐6͐?4H^͐͐/^͐+n} /^`i^#Vr+s!3! 3!3]H^`i^#Vr+sn&3H^4]3!9!9DM*P|o^*Pʹ*l|^!^<3*l`is#r͐|^͐~#fo|^͐~#foʹ͐~#fo`is#rÈ^!9Exiting from include file or string.!^ !X*V!*n&!9DM*l+|B_!"l!"V>2Xl_!! s#r!͐!P͈͐"l!B`͐|’_!G`͐|ʼ_!L`!X>!!n"]!}"Pn"R0`͐`i>!!Z``i͑.!`iͷ"P|`!_``i!b`2*R69`!t`!X>`i!X͆n"R!"Tͯa!"VKb!9con:tty:console input.mss'.Can't open file 'file !9DM]!">2>2[!F!!ha!B!! ha!A!z!aha!A!Z!Aha!A!9!0ha{2{2o> 2y {2{2x({2ϗ{2{2({2{2({2{2>@2({2̗{2ʗ({2{2>2>2>2>2o!"l͐_!9DM͐`is#r͐͐ڦa͐o͐ s`i^#Vr+sza!9!9DM*R#"R*P|1b*R!m1b!!n*P`is#rzb!!!:b2͐ b͐?n6n"R*T"T!9File read error.!9DM*o}cb>2oc*Rn&on}2n}F~bͯacb*Rn}2!"*n}ʧbATc Tc ʦcóc*l|Qc*P|-c*P}b*Pʹ*l`is#r͐~#fo|b͐~#fo`is#rb!͐~#fo͐~#foq!!n͐~#fo*l`is#r!!P*l͈͐dùcͯa*dtc!c<3!2"ãc*Rn&on*n}ʌcãc*#"+*RnsTcùc*V#"Vͯaùcͯaùc*6!9Current token overflow.*[&d!/!\![5n&/k͈*[&Dd!/![~4o&/k!\͈]>2o!9DM!`is#r!͐!P͈͐"l͐"R͐!X>!"V!"PKb!9!9DM>2O͐! n&d! n}2O!9DM*O}d"g!!+gͷ! s#rz-e!!2gͷ! s#rz-e!;g?4͍!fg!!`i͐ h!. n}^e!. n}pme͐! s#rf!. n}c‡e͐! s#rf͐! s#r͐͐e!tg!͐!Ϙ͐ h!Ϙ̓0|ee! ^#Vr+sÓe͐͐f!g?4̓0?4!g?4͐! s#r͐|Ff!g!͐!Ϙ͐ hQf!g?4͍*}ʅf!g!͐*蘯g?!P͐ h!g!!! ͐ h!_!p! ͈**k ͉"! 6#6͐|g͐)p~#fo*ks#r! ^#Vr+sf**g>2͐ʹ!*9PF.DATA:PF.DATCan't find the configuration file, PF.DAT header recorddevice descriptions Device '' not found, using default device descriptionDefault or console device not defined. spacing tableScribble parameters!9DM!͐͐q|Mh͐ ͐͐͐ ih!kh?4͐ ?4!h?4͍Fatal: Unable to read from configuration file. !"!"{2{2͟j>2!"!"!l!!! i}"*"["]"Y*"_>2dl!Ϳheader*}i+!͞n*"*+"!9DM*}Hii+*,k͉! s#r**͉! s#r͐͐i͐͐*͉`is#r`i~#fo͐*)s#r*))͐s#r*͐"!͞n*"*+"!9*}j+,k*Tj*))*,ks#r**,k"*!Ϳ*<>2!!!͈!"!!!͈*үjk!9DM͐ ͐~#fo+))`is#r͐͐ k͐##~#fo|k͐##~#foI`i^#V{_zWr+sj͐d!9*dk*+))##~#fo|dk*! ͌2ik*!9DM͐|‚k!k! ^#Vr+s͐`is#r! ^#Vr+sn}k`i~#fo͐n} ͣk͐n&͌2k͐0s#r×k͐͐k!9* ll*}bl>l2dt!"*]"*]"*_"*e}2*a"*}p͝}2*}b͝}2!9DM*|vl!l*2?! s#r͐`is#r͐͐!͈͐ ,ks#r*["]l͐l!9!9DM*|ll*͐ -kk`is#r*d}>m*͐**͉>mdtl*1Xm!|n<3!"*))! s#r*m͐++++##~#fo|m͐##~#fo|m͐++++~#fo! ͌2m*+"! ^#V{_zWr+s͐͐s#r͐##͐ s#r*#"*͐! ͌2"͐ -! s#r͐n}sn! ^#Vr+sn}Nn[nhnhnpn>2>p2pn>2>b2pn>2pnn!9Too many tokens for a single line!9DM*|±nl,k"*1n!o<3!"*))͐s#r*#"+))##w#w*͐"Too many tokens for a single line*"*"*ߘ*Ø"**Ř"!"L!"N!d"P*"R!d"T>2V!"W!"**"*LҭoNvep!p?4**4!"p?4*4!+p?4*͘* 4!Cp?4*͘4!Lp?4 Largest page used out of bytes. End space used out of bytes.>2Voj!"W!9DM*L+)`is#r͐!ڲp͐~#fo|ʥp͐~#foͱj`i^#Vr+s|p*P)`is#r͐!p͐~#fo|p͐~#foͱj`i^#Vr+sp!9!9DM*V! s>2V**"*L2V!"W*t*|g}o| r* r*`is#r͐\@rͼh!r͐-QdsYj>2V*P"T>2!"W*+"#jrp!"! n}2V!9headerfooter͊j>2V!"W!9DM! ~#fo*͉s#r! ~#fo͐*)s#r*P*Lr!$t<3p*N͐*R/s*V},s!!!3t2p*V}s*P+"P`is#r͐*T+Қs͐)͐#)~#fos#r͐)͐#)~#fos#r`i^#Vr+sDs*T+"Y)"W*W͐s#r*T+)͐s#r*R͐"Rt*L"Y)"W*W͐s#r*L#"L+)͐s#r*N͐"N!9Too many linesWarning: Footnote page wrap not handled properly!9DM*͉`is#r*͐Ҕt*`is#r*}ʭt*}ʭt͐t*! s*`l͡r! n}t*}t͐t!9!9DM*W|su*W~#fo|su*Y)~#fo`is#r͐͐(uÁu*N͐͐*Rsu*Y)͐s#r*N͐͐"NÁu͐!͡r!9!9DM>2Q! n}cʭu! n}p¹u! n}2Pv>f2P͐`i>! n}͝! v`i͑.`i֊"R|u!v?4͍V"T!9.finUnable to open output file. *P}fLv!-Y*Rʹ!9DM*Q}ʜv*P}fœv*}œv!\w͜~!Ϙ͜~! }! }!}>2Q*}v*P}fv!w! ͅ`iw#w͐*Lv͐Ͷw`i^#Vr+sv*R*N͉|*P`is#r͐d&w͐Ͷw`i^#Vr+sw*P}fBw*}Bw! }Sw**͉|!9Perfect Format output for device: Insert fresh page; type any character when ready --> !9DM͐)~#fo! s#r͐ |w͐)~#fo͉||͐)~#fo*͉|͐ ##~#fo4}! 6 ͐ n}c=xrjxbʐx7z͐ ~#fo͐  ~#fo͉4}7z͐ ~#fo͐  ~#fo4}7z*P}fy*}y͐  ~#fo͐ ~#foy!}͐ ~#fo͐  ~#fo`is#r͐}͐|g}o}! 64z! 6͐ ~#fo͐  ~#fody͐ ~#fo͐  ~#fo`is#rjy`iw#w͐! ͌2! ͌2͉! s#r͐ |! s#r͐ ! s#r͐?|g}o͐! s#r͐͐͐! s#r͐ ͐ͯ! s! ~#fo͐s#r͐͐! s#r7z! w#w! w#w͐͐ ~#fo+Ү{͐  ͐))##~#fo! s#r͐|ʆ{͐-͜~! n}z͐  ͐#))##~#fo|z! n&}! n}ƒ{͐  ͐#))##~#fo|{͐#! ͌2?4}{͐! ͌2?4}! n}F{͐͐F{͐͐ p{! n}x{͐͐ p{͐͐x{! }! ^#Vr+sà{͐  ͐))~#fo4}! ^#Vr+sGz͐  ͐ ~#fo+))##~#fo! s#rz{͐-͜~*P}f{*} |! }! }|!~!9!9DM͐~#fo+! s#r͐`is#r͐|y|͐ ͐))##~#fo|m|! ^#Vr+s`i^#Vr+s=|͐À|!9!9DM͐ڧ|͐|ª|+}*P}f|*}|!}͐}͐|g}o}+}͐*͉*͉`is#r͐|+}! }! }`i^#Vr+s}!9!9DM͐R}͐|U}}*P}f’}*}’}!}͐}͐|g}o}}! ͌2! s#r͉͉͐͐͐`is#r͐|}! }`i^#Vr+s}!9!9DM! n}~*} ~*P}f~! 6 *P}c@~! n&@~!! n&;Ú~*P}pm~! n&m~!! n&;Ú~*P}fš~*}ʎ~! n&ښ~! n&-!9DM͐n}~! ^#Vr+sn&}ä~!9DM͐n&`is#r͐n͐#nѯgW! s#r͐͐$`i^#Vr+sn&}~!9!9DM*T#"T+! ns*T!UWY!9DM*T!Vr*T!V`is#r͐!V*R3͐!!!2V"T!9Output file write error.!9DM͠""͉͛͐͠"**)"*6#6**s#r!͠!͈͠^!9!9DM͐##͐ǁ`is#rz•!͐"͐""**)"*6#6**s#r!͐!͈͐!9!9DM!!͈͐`iw#w*! s#r͐*ʣ͐*O͐~#fo|Z!͜Á͐~#fo|`i~#fo͐~#fos#r! ~#fo͐~#foe)s#r$͐?ð!9Memory munged!9DM!!͈͐*|!*~#fo|!͜*`is#r͐###͉! s#r*~#fo͐kͯ|h͐)|h!͐!͈!#*`is#r͐~#fo͐ʱ*͐)"͐͐~#fos#rł͐)|ł!"͐͐s#r!͐!͈͐##!9Corrupt Space!9DM!!͈͐͐*?͐*I!͜! ^#Vr+s͐͐~#fos#r*|Œ͐"!͐!͈Bad ptr freed!9DM͐<3!9DM*~#fo`is#r**~#fo)~#fo! s#rz*~#fo͐s#r4|ă*~#fo͐ͣ& !9!9DM*`is#r**~#foe)"**d*"*~#fo܄*͐ڝ**~#fo)͐܄**~#fo)"**„*"4|ل͐"!&+d*~#fo|*͐**~#fo)͐!&+͐"!&+!9**{**{**~#foe)*{*~#fo|Š!͜!&!&Memory Bashed!t!9~Aڶ[Ҷ o&!9~a̅{̅ o&!9~0:!9~a{!}!}!9DM`iw#w! ^#Vr+sn}.`i^#Vr+s͐5!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{vP͐}!9!9DM͐`is#r͐n}ʰ! ^#Vr+sØ! ^#Vr+s͐ns! ^#Vr+sn}°͐߆!9!9DM͐͐͐ ͐!9DM͐n}9! ^#Vr+sn&ͅ!9DM͐͐>`>ʇ>l>ʕ>x>ʨ>„>ʻ! n&ͅ! n&!ͤ! n&!ͤ! n} Ӈ! !ͤ! n&!ͤ͐##^#Vr+s|E!͐͐~#fo3$!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐|͐Ä͐7*|DM**ӈڷ><꫈~# x« ><Lj~+ xLj|}7*!9& 6C#6O#6M4!w#w#*w#:**,*!Âѷʤ!Å 7*+++:G_*DM!o&  ™ > _ ¨#7,2q*&:q):==r:qo&7:)~:,"s!"u*|Q**sV! ~Q6*u*+"*"*u#"u7:,*ͷ:*ʓ}|2q Ċº:qwʵ! {w7*݋\!*ͷ:wo 2w&!o 0 . &7:)~:,"s!"u*|*uʙ*~#p"*s*u™#"u*+"]*+*7:O*o` , FNxg>Goyۋ$ !\&!f d)~:,"s!"u*|Q**sV! ~Q6*u*+"*"*u#"u7:,*ͷ:*ʓ}|2q Ċº:qwʵ! {w7*݋\!*ͷ:w first 5 characters in the command." ?" Please try again." LOOP ELSE &COMMAND IF # = 0 ?"I'm afraid that employee number does not exist. Please try it again." LOOP ELSE STORE 1 TO OK ENDIF ENDIF ENDDO ? ?"Now, DISPLAY the record." STORE 'DISPLAY' TO CHECK DO CHECKC WAIT ERASE ?"Later versions of dBASE II permit up to 7 indices of a file to be active" ?"at one time. I'm going to assume that you do not have a recent version," ?"and permit only one index to be active." ? ?"Let's, index the file EMPMAST on another field though (the LASTNAME field)" ?"to see how that works. Since LASTNAME may not be unique (that is, there" ?"may be several SMITH records), we'll FIND SMITH, and then SKIP to see if" ?"there are more." ? ?"Type USE EMPMAST " STORE 'USE EMPMAST' TO CHECK DO CHECKC WAIT ERASE ?"Now, type INDEX ON LASTNAME TO NAMEIND " STORE 'INDEX ON LASTNAME TO NAMEIND' TO CHECK DO CHECKC ? ?"Now, type USE EMPMAST INDEX NAMEIND " STORE 'USE EMPMAST INDEX NAMEIND' TO CHECK DO CHECKC ? ?"Now, DISPLAY ALL " STORE 'DISPLAY ALL' TO CHECK DO CHECKC ?"Now the records on EMPMAST are in order by last name." WAIT ERASE ?"Now, type FIND SMITH " STORE 'FIND SMITH' TO CHECK DO CHECKC ? ?"Type DISPLAY " STORE 'DISPLAY' TO CHECK DO CHECKC ?"There's the first SMITH record." ? ?"Now, SKIP " STORE 'SKIP' TO CHECK DO CHECKC ?"Now, DISPLAY " STORE 'DISPLAY' TO CHECK DO CHECKC ? ?"And, there's the second SMITH record." WAIT DO TEACH4L ERASE ?"And that's all for INDEX, FIND, LOCATE, and CONTINUE. I want you to QUIT" ?"now, and try these commands on your own. Try some of the Boolean" ?"operators with any command that permits use of the FOR phrase as well." STORE 'QUIT' TO CHECK DO CHECKC RETURN ?"Now, DISPLAY ALL" ?"Now, DISPLAY ALL" ?"Now, DISPLAY ALL" ecord. You may specify any employee number" ?"that exists on EMPMAST. You pick the number." ? ?"Type FIND n, where n is an employee number, and press " STORE 0 TO OK DO WHILE OK = 0 ACCEPT TO COMMAND IF !(COMMAND) = 'QUIT' QUIT ENDIF IF $(!(COMMAND),1,5) # 'FIND ' ?"FIND followed by a blank, must be the &( s (08@HPX`hpxbb  &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz (08@HPX`hpxbb z###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzyyter Out &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzConsole In &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzConsole Out &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzPrinter 2.2 &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzPrinter Out &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kz &( s#r͐|͐*b͐kz#~#fo,$͐kz###n&!BY%͐kzconsole2 VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzteletype VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzVanilla VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzPlain VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzFileS `O$m ͐kz#~#fo,$͐kz###n&!BY%͐kzConsole `O' ͐kz#~#fo,$͐kz###n&!BY%͐kzEpson VT$m#1 ͐kz#~#fo,$͐kz###n&!BY%͐kzIDS460 VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzCent737 VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzCentPS VT$m ͐kz#~#fo,$͐kz###n&!BY%͐kzDiablo10 VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzDiablo12 VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzDiabloPS VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzSpin10 VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzSpin12 VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kzSpinPS VT$m5 ͐kz#~#fo,$͐kz###n&!BY%͐kz(((((((S(US(((((S(((((S((US(wwwwwwwww11wfww & !"$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdefghijklmnopqrstuvwxyz{|}~z & K"=z2>2>22Ï#00000000BADj’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy/M BIOS for status determination? the status at all, answer "yes" to this question.status port. In cases where it is not possible to determinein some case>2Q!! ! ! !&!e!g!!!(!d!!!!S!E͎D!!!!!%G!.9ͣK|QN!!Q"|Aͼ:"|AQN!!*͕|`!fD!$!! !!!!!.!/!l!!!&!c!d!!! !M!!!͎D!!!!!!!! ! ! %G!<9! ͰSS!!- T allows you to spot errors more easily.![ ß your printer may support. Working in small steps and testing often ! device first, and then proceed to incorporate other features that ! 1 We recommend that you try setting up your printer as a 'Vanilla'!8 9 !@ } document TEST.MSS, provided with the Perfect Writer Package.! and if necessary, 4 and 5. You should then test your work with the!  the manuals for Perfect Writer, your computer and your printer)! V you should probably do selections 1 thru 3 in order, (consulting!] × If you are attempting to do this for the first time, then! ß ͎D! ë ! ó ! û ! ! ! ! ! ! %G!,9!!!  Exit configuration program!L1!* L Edit character translation tables!G*!W s Edit character width tables!)!~ í Select Perfect Writer default style parameters! ! Define printer types! ! Define input/output port usage! / Perfect Writer Configuration Program Master Menu!ͅE!9|# !!*\|q !!*| !w Î Data file write error.fD*)!! æ ! ÿ Exiting pfconfig.%GQDo you wish to exit and change disks? configuration file on the currently selected disk.The Perfect Format Configuration Program is set up to edit the to configure Perfect Format, it might prove useful to do so now.very handy also. If you have not yet read the manual pages on howA ruler (to measure paper with) and a calculator should proveand the hardware manual for the computer you intend to use.available to you the manual for the printer you intend to use,questions you are about to be confronted with, you should havePerfect Format needs to work. To successfully answer theyou to enter various pieces of system information thatThis is the Perfect Format configuration program. It allowspf.datData file read error.type G) to escape from the current section of the program.You can at any time type Control-G (hold down the CTRL key andshould enter the port menu and define the appropriate ports.is ready for characters (CP/M 2.0 and higher can), then yousystem with which it is possible to determine when the printerif you are running a version of CP/M or a compatible operatingIf your printer is not available as the CP/M list device, ordefine a new printer type for your printer. and select yours as the default if it is already defined or to enter the printer menu, list the predefined printers there,'standard' margins. If you have a fancier printer, you may wantthe CP/M list device. With 8 1/2" by 11" paper, and withset up to use a plain, 10 character-per-inch printer viaThe configuration file supplied with Perfect Writer is initially!!! !B!C!V!!!'!j!!!:!|͎D!}!~!!!!!!!!!%G!49!!!!!!;!!!!A!!&!!,!ͅE!9| found in the hardware manuals for your computer and printer.All the information needed for this menu can probably beto an output port.you will also need to define an input port for the printer in additionback to the computer and will need a synchronization protocol, thenyou should specify this information. If your printer sends charactersready to be accepted by the printer (CP/M 2.0 and higher can) thenin CP/M for output. If your BIOS can determine when characters are of ways that this can occur, but by far the simplest is to use the BIOSinformation from Perfect Format to your printer. There are a numberThis Menu is used to help you define how Perfect Printer will getReturn to main menuSelect default printer portsDelete a port definitionUpdate existing port definitionEnter a new port descriptionList currently defined portsPort Definition Menu!9DM!! !!!%G|n! !͋?`is#r͐ҟ!!%G͐`is#r!T|*}*}2͐!ͽB!9Name of port to be defined: That port is already defined!9DM!! !!!%G|F! !͋?`is#r͐w!!%G~_! s#r!! ͐!!!%G|ʭù͐Tw*}*}2͐!ͽB!9Name of port to be edited: That port is not defined.Field number to edit (or Control-G): !9DM!! !!!%G|h! !͋?`is#r͐ڙ!!%G~_R!!%GͣK|>2͐!ͽB!9Name of port to be deleted: That port is not defined.OK to delete port definition? !9DM!!%G*`is#r͐*҅͐!wA*}yR!!͵`i^#Vr+sDR!ͰSSR!9The currently defined ports are: %s!9DM**!wAR!!.͵R*J*!wAR!!U͵RR*! s#r!`i!!!{%G|{ò`i!͋?! s#r͐ڬ!!%GïòX͐"*! s#r!`i!!!%G|`i!͋?! s#r͐!!%G͐"!9The current printer output port is: %sThe current printer input port is: %sWhat is the name of the printer output port: That port is not defined.What is the name of the printer input port: That port is not defined.!!!!J!K!g!!!; ! ! !!!X!!!!!͎D!!!!!!!!!!!!!!!!!!%G!29!!!!!e'!"!n%!!"!#!="!"!`"!&!z"!"!ͅE!9| by physically measuring paper, or by the manual for your printer.All of the questions in this menu can probably be answered eitherprinter types for each one.two sizes of paper you will be using, you will want to define differentshould turn on the correct character size for each one. Or, if you havetypes for this printer, and the initialization and de-init strings four different character pitches, then you should define four printerpitch. For instance if you have a dot matrix printer that can print in that you will use, and also for each different paper size or characterdefine a different 'device' or 'printer type' for each physical printerprinter you will use with Perfect Format and Perfect Printer. You willThis menu is intended to help you define the characteristics of theReturn to main menuSelect the default printer typeDelete a printer definitionUpdate existing printer definitionDefine a new printer typeList the currently defined printer typesPrinter Type Definition Menu!9DM!! !!!#%G|"Ú#! !͋?`is#r͐#!!#%GÚ#͐`is#r{2{2{2o{2[{2G{23{2!qa|ʚ#!!!!o![!G!3!!J!U!G=!9͐!ͽB!9Name of printer to be defined: That printer type is already defined!9DM!! !!!%%G|$$! !͋?`is#r͐F$!!&%%G$!!!!o![!G!3!!U!G>!9O~! s#r!! ͐!!!H%%G|ʮ$ú$͐qax$!!!!o![!G!3!!J!U!G=!9͐!ͽB!9Name of printer to be edited: That printer type is not defined.Field number to edit (or Control-G): !9DM!! !!!5&%G|ʛ%,&! !͋?`is#r͐%!!U&%G,&!!!!o![!G!3!!U!G>!9O~R!!w&%GͣK|,&>2͐!ͽB!9Name of printer to be deleted: That printer type is not defined.OK to delete printer definition? !9DM!!'%G*`is#r͐*&͐!wA*}&R!!<'͵`i^#Vr+s÷&R!D'ͰSSR!9The currently defined printer types are: %s!9DM*ҙ'*!wAR!!(͵R*'*!wAR!!(͵RR*! s#r!`i!!!(%G|'-(`i!͋?! s#r͐'(!!.)%G*(-('͐"*! s#r!`i!!!P)%G|b(Ù(`i!͋?! s#r͐ړ(!!)%GÖ(Ù(?(͐"!9The current default printer is: %sThe current printer type for console output is: %sWhat is the name of the default printer type: That printer type is not defined.What is the name of the printer type for console output: That printer type is not defined.!9DM!!wAw`is#r!! ͐!!!!*%G|)*͐r)>2>2!!ͽB!9Field number to edit (or Control-G): !!*!*!:+!x+!+!+͎D!+!+!+!+!+!+!+!+%G! 9!!!+!.!,!a,!),!F,!ͅE!9|H*width table selection in the printer type definition.is 1/2540 inch. These records are selected by the characterThese numbers should be accurate to the nearest mica. A micaof each character in micas for proportionally spaced devices.There are a few character width tables which give the widthReturn to main menuList current width valuesEnter character width valuesCharacter Width Table Menu!9DM!`i**+!!!-%G|ʢ,ç-*͐?!wA!! !!!!-!-!.!E.!w.!.͎D!.!.!.!.!.%G!"9|-Í-!! !͐!!.%G|>-Í-͐͐ڊ-͐!.͵!͐)!%G||-Ê-! ^#Vr+s>-ü,*͐?!ͽB!9Width table to use: Starting character index: normal range is from 32 () to 126 ('~').This range is entered as the ASCII decimal code; theto enter width values, or type Control-G to exit.Please enter the range of characters for which you wishFinal character index: Width of '%c': !9DM!`i**+!!! 0%G|/0*͐?!wA!! !!!!20!M0!}0!0!0!1͎D!1! 1!!1!"1!#1%G!"9|ʏ/0!! !͐!!$1%G|ʺ/0͐͐0͐!<1͵!͐)!1IR! ^#Vr+sú/8/!9Width table to use: (0, 1, 2, or 3) Starting character index: normal range is from 32 () to 126 ('~').This range is entered as the ASCII decimal code; theto display width values, or type Control-G to exit.Please enter the range of characters for which you wishFinal character index: Width of '%c': !!1!2!V2!2!2!3!R3͎D!S3!T3!U3!V3!W3!X3!Y3!Z3![3%G!$9!!!\3!J8!p3!3!3!3!ͅE!9|M1translation tables is selected in the device description record.thimble with a non-standard character arrangement. Use of theselike the NEC Spinwriter, which has a proportionally spaced printdefined character set. This is particularly useful with printerstranslation from the normal ASCII character set into a userThere are a few character translation tables which specify aReturn to main menuList current translation tableEnter character translation tableCharacter Translation Table Menu!9DM!`i**+!!!5%G| 4ð5*͐!wA!! !!!!5!5!(6!`6!6!6͎D!6!6!6!6!6%G!"9|w4Ü5!! !͐!!6%G|ʢ4Ü5!!6!6!7!?7!|7!7!7!*8͎D!+8!,8!-8!.8!/8%G!9͐͐ڙ5͐!08͵S! s{"525>5S5͐#! s#rS5S! sS5S|g}o! sS5͐͐f5Ù5͐! ns! n&!D8͵R! ^#Vr+s4 4*͐!ͽB!9Translation table to use: (0 or 1) Starting character index: normal range is from 32 () to 126 ('~').This range is entered as the ASCII code in decimal; theto enter translations, or type Control-G to exit.Please enter the range of characters for which you wishFinal character index: to be set in the character.followed by the desired character will cause the high bitControl-Q will quote the next character typed, typing ESCAPEoutput. Typing Control-G will abort further entry, typingyou would like the current character translated to whenTranslation table entries are made by typing the characterTranslate '%c' to: '%c'.!9DM!`i**+!!!b9%G|ʄ8Y9*͐!wA!! !!!!9!9!9!:!I:!:͎D!:!:!:!:!:%G!"9|8Y9!! !͐!!:%G|9Y9͐͐V9͐n&͐!:͵R! ^#Vr+s9Ø8!9Translation table to display: (0 or 1) Starting character index: normal range is from 32 () to 126 ('~').This range is entered as the ASCII code in decimal; thedisplay character translations, or type Control-G to exit.Please enter the range of characters for which you wish toFinal character index: Translating '%c' to '%c'.!9DM!!=! ~#fo͐#͐~#foڗsWs#r͐͐͐ s͐ |n>!>fDó>͐~#fo͐! ~#fo͐#nѯgs#r! ^#Vr+s`i^#Vr+s >!9Not enough room for strings.!9DM! `is#r͐~#fo|ʂ?͐ n&U! s#r͐~#fo! s#r͐ #n! s#6͐c?! ^#Vr+s! ^#Vr+sns! ^#Vr+s*?͐6! ^#Vr+s`i^#Vr+s>!9!9DM͐ >£?>ʾ?>¯?>?>»?>?@*`is#r*! s#r@*`is#r*! s#r@*`is#r*! s#r@!6AfD!-A!͐*\|1@!KAfD>2! w#w͐͐ң@!!*͕|m@!aAfD!͐ D|ʃ@ã@*}—@͐! s#r`i^#Vr+s>@͐͐@͐ !͐`is#r͐ >@>@>@>A>@>A&A!!! &A&A!!! &A͐-A!9Invalid record type.Data file seek error.Data file read error.!9DM!͐*\|A!!*͕+|ʷA!BfD͐>A>B>A>B>A>-B>A>0B>A>EB>B>zBÏB!_!! !!! ÏBÏB!!! ÏB!!! !!*͕+|wB!BfDÏB!!! ÏBData file read error.Data file read error.!9DM͐>B>C>B>)C>B>>C>B>AC>C>VC>C>kCÀC!_!! ÀC!!! ÀCÀC!!! ÀC!!! ÀC!!! ÀC!͐*\|C!!*|C!CfD͐C!!*|C!CfDData file write error.Data file write error.!9DM͐n&g͐n&g@D!! ^#Vr+s! ^#Vr+sn}D!!9DMR͐!D͵RError: %s!Dڗ!DWritten & directed by Barry A. DobynsPerfect Format Configuration (C) 1982 Perfect Software, Inc.!WE!!aE!_!fE!_!sE!_!|E!_}!_!Version: 1.03 created on 04-28-82 serial !9DM! 6#6:͐ұE! ^#Vr+sÖE! w#wRRRR!2 `is#r͐~#foF`i^#Vr+s`i^#Vr+s~#foͰSRE͐~#fo|sF͐sF`i^#Vr+s~#fo͐#!F͵R! ^#Vr+s)! `i^#Vr+s~#fos#rF!FͰS! ͐!L}F͐+)! ~#fo|F͐+)! ~#fo!F!9~#fo!&F!&F!.9 %2d - %sEnter the number of your selection, followed by a CR --> !9DM! `is#r͐~#fo| I͐~#fo>XG>ʗG>dG>ʻG>pG>G>|G> H>ˆG>^H>”G>HI`i^#Vr+s~#foK|ʸG!&(II`i^#Vr+s~#foiL|G!&(II`i^#Vr+s~#fo!!L} H!&(II`i^#Vr+s͐####~#fo͐##~#fo͐~#foL}KH!&(I`i~#fo####s#rI`i^#Vr+s! ͐##~#fo͐~#foL}ʔH!&(I`i~#fo####s#r͐~#fo! s#r͐͐sI`i^#Vr+s͐~#fo͐##~#fo͗M|H!&(I`i^#Vr+sIR͐~#foͰSI`i^#Vr+s7G!&(I!9!9DM! 6! w#w! `is#r͐~#fo|jK͐~#fo>rI>I>~I>I>ŠI>I>–I>:J>¢I>kJ>®I>ʝJ>ºI>J>I>KK`i^#Vr+s~#fo! s#r]KR`i^#Vr+s~#foͰS]K! 6`i^#Vr+s~#fo! s#r͐n}/J!zKͰS7J!~KͰS]K! 6`i^#Vr+s~#fo! s#r͐n&!K͵]K! 6`i^#Vr+s~#fo! s#r͐~#fo!K͵]K! 6`i^#Vr+s~#fo! s#r͐~#fo!K͵]K! 6`i^#Vr+s~#fo! s#r͐n&!K͵]K! 6`i^#Vr+s~#foͰS]KR! n}HK! ^#Vr+s!K͵! 6PK!KͰS͐~#foͰS`i^#Vr+sQI͐qK! 9YesNo%xH%u micas%d%d %2d - !9DM`iK|ʺKëK`in&K!9!9DMS`is`in&́`is`in}KYLNL2L!CL!LLͰSR͐6!CL!PLͰSR͐6!CLR!SLͰS@LK!9YesNoEnter 'Y' or 'N' --> !9DM!`i͗M|ʊL!&øL`iP|ʭL͐`i:Ps!&øL!LͰSqL!9Enter a hex byte --> !9DM! `i͗M|L!&hM`i͙Q|M͐`i͟Os#r`i͙Q|QM͐~#fo͐QM͐~#fo͐QM!&hM͐͐!qM͵L! 9Enter a number between %u and %u --> !9DMT`is#r͐[PҾM![ 6P#6! !S s#rS!R s{ ʽN͐S! ͐[+5N!R n}5N!R n}5N!R n}5N͐S! ͐N!S s#rͥS!R n}RN]N]NʍNÖNR!&N͐S! ҊN͐S! ͐N!S s#rúNS!R s!R n&Q!S ^#Vr+s!R nsúNM͐S6! ͐YR!&N!U9!9DM͐`is#r͐͐ +6O`i~#fo! ^#Vr+sn&͐Rs#rNT͐`is#r͐ҁO!S! S!S*+"`i^#Vr+sIO! ^#Vr+s6͐ ÖO!9!9DM`iw#w͐n}P͐n&0O͐n&9O!"PfD͐P͐ k͐nѯg`is#r! ^#Vr+síO͐P!9Invalid decimal number.!9DM`iw#w͐n}P͐n&JQ}rP!PfD͐P͐))))͐n&͗|ʚP͐n&îP͐n&g `is#r! ^#Vr+sHP͐P!9Invalid hexadecimal number.!9DM͐`is#r͐n})Q͐n&JQ})Q`i^#Vr+sQ͐n}9Q!dT>ʯT>pT>T>|T>sU>ˆT>ʷU>”T>U> T>sV>¬T>ʵVV!!!! W!+W!aW!W!W!X%G!9|T!&WV*}GU!!!@!!!TX!gX!X!X!X!X!X! Y!*Y%G!9|DU!&WpU!!!!bY!mY%G|pU!&WV!! !!Y!Y%G|ʝU!&W! n}ʭU!ðU!}2V!!!!Y!"Z!TZ!Z!Z! [%G!9|U!&WV*}GV!!!@!!!H[![[!s[![![!\!@\%G!9|DV!&WpV!!!!\!\%G|pV!&WV!!!!\!\!/]!k]!]!]!!^%G!9|ʲV!&WV!!!!_^!^!^!_!>_%G!9|V!&WV`i^#Vr+sDT!&W!9Use CP/M (BIOS) input/output? possible. If in doubt, consult your hardware manual.implemented; on the other hand, direct port I/O is not alwaysdevices, but these interfaces are not always correctlydirect port input/output. It is simpler to access them as CP/MPeripherals can be accessed either as CP/M devices or throughBIOS call number: Your particular CP/M may have others defined. 7 - punch (modem) output 6 - reader (modem) input 5 - printer output 4 - console output 3 - console inputperipheral? Standard calls are:What is the number of the CP/M BIOS call to access this(in hex): What is the port address of this peripheral's data portseven bits of data? Should the high-order bit of data bytes be masked out, leavingUse CP/M BIOS for status determination? the status at all, answer "yes" to this question.status port. In cases where it is not possible to determinein some cases; in others, it is possible to directly read aor written to a peripheral. CP/M BIOS calls exist to do thisThere are two ways to determine when a byte can be read fromBIOS call number: Enter 0 if none exists.status Determination.In CP/M 2.0 and above BIOS call 15 is usually used for listtest the console input status, but your CP/M may have others.this peripheral? The only completely standard call is 2, toWhat is the number of the CP/M BIOS call to test the status of(in hex): What is the port address of this peripheral's status portfor a single 1 bit. Ready mask (in hex): usually be FF hex; otherwise, it will be a byte of zeros exceptIf a BIOS call is being used to get the status, this shouldports) or has a received character ready (for input ports).on whether the port is ready to send a character (for outputor the BIOS) to get a zero or non-zero value, depending onlyA mask will be ANDed with the status byte (from either a portusually "yes". Ready when non-zero? a BIOS call is being used to get the status, the answer isports) or has a received character ready (for input ports)? Ifvalue when the port is ready to send a character (for outputDoes ANDing the status byte with the ready mask give a non-zero!9DM*}͝! s!!!!N`!!!k`!*}_!_!*}_!`_!`!!!`! !!`!*}`!`!*}`!``!a!!!/a!Xa!1I!09`is#r͐E`!9Ready when status non-zero? Ready mask (in hex): BIOS call number: Status port address (in hex): Use CP/M (BIOS) calls for status determination? Use eight-bit characters? BIOS call number: Data port address (in hex): Use CP/M (BIOS) calls for input/output? Current Port Description!9DM͐#|–a`i6#6! 6#6ça͐! s#r`is#r͐͐t͐>a>b>a> c>a>6c>a>tc>a>ʠc>b>c>b> d>b>ld> 'b>ʪd> 3b>e> ?b>Je> Kb>ʤe> Wb>1f>cb>f>ob>ʄg>{b>h>‡b>ʯj>“b>Pl>Ÿb>m>«b>`n>·b>p>b>q>b>hr>b>,tôt!!/!!t!t%G|c!&tôt!!1!!4u!`u%G|3c!&tôt!!9!!u!u!u!v!Xv!v%G!9|qc!&tôt!!;!!v!v%G|ʝc!&tôt!!3!!;w!_w!w!w%G!9|c!&tôt!!5!! x!x!Mx!x%G!9| d!&tôt!!7!!x!x%G|5d!&t*7}Md`i~#fo#s#rid͐͐#id! ^#Vr+sôt!!8!!!!(y!By!y!y%G!9|ʧd!&tôt!!=!!z!"z!Gz!z!z!{%G!9|d!&t*=}d͐! s#re! 6#6ôt!!?!!G{!P{!{!{! |!H|!|%G!9|Ge!&tôt!!>!!!!|!|!}!}!8}!I}!h}!}!}!}! ~%G! 9|ʡe!&tôt!!A!!eecharacter (Control-H, 8 decimal)? !efDoes the printer backspace when sent an ASCII backspace%G|.f!&tôt!!B!!CfÀfwhen sent an ASCII carriage return (Control-M, 13 decimal)? !ffDoes the printer do a carriage return with no paper advance%G|f!&tôt!!C!!f*gpage when sent an ASCII form feed (Control-L, 12 decimal)? !1gkgDoes the printer advance the paper to the top of the next%G|ʁg!&tôt!!D!!!!gùgSynchronization protocol: !gg 3 - X-ON/X-OFF (e.g., Diablo 1640, 1650, 630)!gh 2 - ETX/ACK (e.g., Diablo 1610, 1620)!$h.h 1 - None!5h@hprotocols:!GhÅhnot to miss characters. Perfect Print supports the following!hhSome printers require a synchronization protocol in order%G!9|h!&tôt!!E!!hiUse a character translation table? !iHimay be used to produce apropriate output.!OiÏiother characters. In these cases a character translation table!iiset; or, you may prefer to have some special characters print as!ijprint thimbles, require a special translation of the character!$j`jSome printers, such as the NEC Spinwriter with proportional%G!9|xj!&t*E}j`i~#fo#s#rìj͐͐#Ҭj! ^#Vr+sôt!!F**+!!!jjWhich translation table should be used: !kCkWriter manual to determine if any of them may be of use to you.!JkÊkSome of them come predfined, and you should consult the Perfect!kêkoption on the main menu.!kkdefined and printed using the Edit Character Translation Tables!k5lThere are several translation tables available. They may be%G!9|Ml!&tôt!!!!!fl~lInitialization string: !llvarious modes, fonts, character pitch, etc. before printing.!lmThe initialization string is sent to the printer to set%G!9|m!&tôt!!3!!!2mAmReset string: !Hmmend-of-printing functions (e.g., extra paper feeding).!mminitialization string turned on, or to perform other desired!mmto turn off the various modes, fonts, etc. that the!nEnThe reset string is sent to the printer at the end of printing,%G!9|]n!&tôt!!G!!!vnÈnNew line string: !nÛnReturn key.!nnalone. To enter a Carriage Return, type a Control-Q, then the!n%operform this function on just a Carriage Return or Line Feed!,oloof an ASCII Carriage Return - Line Feed pair, but some printers!soòoreturn and a single line feed. Typically this string consists!ooThe new line string is sent to the printer to cause a carriage%G!9|p!&tôt!![!!!)p>pBoldface-on string: !Ep{pjust type Return to use double-printing for boldface.!pÿpthen enter the character string that turns it on; otherwise,!pqof characters, and that you wish to use for text in boldface,! qJqon and off in the middle of a line, does not affect the widths!QqÏqIf your printer has a special mode or font that can be turned%G!9|ʧq!&t*[}¿q`i~#fo#s#rq͐͐#q! ^#Vr+sôt!!o!!!q rBoldface-off string: !rNrEnter the character string that turns off the boldface mode.%G|er!&tôt!!!!!~rÒrItalics-on string: !rrjust type Return to use underlining for italics.!rsthen enter the character string that turns it on; otherwise,!sRsof characters, and that you wish to use for text in italics,!YsØson and off in the middle of a line, does not affect the widths!ssIf your printer has a special mode or font that can be turned%G!9|s!&t*} t`i~#fo#s#r)t͐͐#)t! ^#Vr+sôt!!!!!BtWtItalics-off string: !^tÚtEnter the character string that turns off the italics mode.%G|ʱt!&tôt`i^#Vr+sça!&t!98 1/2 inches = 21590 micas> Width in micas: What is the width of the paper <1 inch = 2540 micas;11 inches = 27940 micas> Height in micas: What is the height of the paper <1 inch = 2540 micas;Width in micas: 254; 12 chars/inch: 212; 16.5 chars/inch: 154>characters. Capital 'O' is a good one to use.) <10 chars/inch:the width Perfect Format will use when distances are specified inthe width of any character; on a proportionally-spaced device,What is the standard character width (on a fixed-width device,8 lines/inch: 317> Height in micas: What is the height of a single-spaced line <6 lines/inch: 423;microspacing: 21> Width in micas: 12 pitch: 212 micas; 16.5 pitch: 154 micas; 1/120 inch(i.e., the horizontal resolution) <10 pitch: 254 micas;What is the smallest horizontal movement the printer can makeHeight in micas: 8 lines/inch: 317; 1/48 inch microfeeding: 53>(i.e., the vertical resolution) <6 lines/inch: 423;What is the smallest vertical movement the printer can makeprintwheel that you intend to use for this device? Does your printer have a proportionally spaced font orbe used for this device: option 5 in the main menu. Which character width table shouldThese tables are numbered 0 through 4 and are entered withPerfect Format requires a table giving the width of each character.Generate online-readable output? cannot be used by any other program.and microspace justificatin, but the special intermediate filerequired for underlining, boldface, super- and sub-scripts,in a special intermediate format for Perfect Print. The latter isPerfect Format can produce either online-readable files, or filesmicas): Enter 0 to disable this feature. Paper advance distance (inthe perforations with a page cutter or other reference point.this distance when printing starts. This can be used to alignprinting a file. It also assumes the paper has been advancedpaper a specified amount past the last page boundary afterFor convenience in tearing off output, Perfect Print can advance theEnter the number for your printer: 8 - Centronics 737 5 - NEC Spinwriter 5510, 5520 4 - IDS 460 Paper Tiger 3 - Epson MX-80 NEC Spinwriter 5515, 5525 2 - Diablo 1610, 1620, 1640, 1650, 630 1 - Plain non-fractional movement printersprinters are:it to do fractional line and character movement. The supportedPerfect Print has special knowledge about certain printers to enable!9DM!!7!!Ѐ!5!!!3!!!;!!4!9!!U!1!!p!/!!1I!,9`is#r*7}~!!8!!͐!1I`is#r~`i^#Vr+s!!=!!͐!1I`is#r*=}2͐ǀ!!E!!Ձ!D!!!C!!!B!!C!A!!~!>!!!?!!͐!1I!09`is#r*E}!!F!!ʂ͐!1I`is#r`i^#Vr+s!![!!!G!!!3!! !!!͐!1I!9`is#r*[}_!!o!!3͐!1I`is#rh`i^#Vr+s!!!!I͐!1I`is#r*}!!!!]͐!1I`is#r͐ǀ!9Proportionally-spaced font/printwheel? Smallest vertical movement: Smallest horizontal movement: Height of a single-spaced line: Standard character width: Paper height: Paper width: Number of the character width table: Generate online-readable output? Translate characters on output? Type of synchronization protocol: Use Form Feed (Control-L) for form feed? Use Carriage Return (Control-M) for bare carriage return? Use Control-H for backspace? Special printer code: Initial paper offset: Translation table to use: Boldface on string: New line string: Reset string: Initialization string: Boldface off string: Italics on string: Italics off string: !9DM͐#|—`i6#6! 6#6è͐! s#r`is#r͐͐͐>ȃ>ʗ>ԃ>Ȅ>>>>*>>[>>ʌ>>ʽ>>> (>#> 4>O> @>> L>> X>j>d>ʖ>p>Ї>|> >ˆ>v>”>ԉ!!!!!!D%G|ń!&ԉ!!!!!!ڊ%G|!&ԉ!!!!!0!i%G|'!&ԉ!!!!!!%G|X!&ԉ!!!!;!T!%G|ʉ!&ԉ!!!!Ԍ!!-%G|ʺ!&ԉ!!!2!!!j!!%G!9|!&ԉ!!!!΍!%G| !&ԉ!!!!/!^%G|L!&ԉ!!!!!!!!̎! !J!!Ə%G!9|ʖ!&! 6#6͐  ݆͐ )͐ +)~#fo*s#r! ^#Vr+sßԉ!! !!%G|!&! n}!b!l}2ԉ!! !!!3!^!m!%G!9|W!&! n&g}2ԉ!!!!!%G|ʓ!&ԉ!!!!U!r!!ב!%G!9|͇!&ԉ!!!!P!l!!ڒ!%G!9|!&ԉ!!!!T! ]How much vertical space would you like above each enviroment%G|s!&ԉ!!!!ë<1/6 inch: 423>? Height in micas: !How much vertical space would you like below each enviroment%G|!&ԉ!!!'!!!"@Amount of endspace in bytes: !G}table of contents and index information <1000 bytes>.!üThe endspace is the area reserved for storing endnotes,%G!9|ԉ!&`i^#Vr+sè!&!9Top margin in micas: the page heading <1/2 inch: 1270 micas, 1 inch: 2540 micas>?How much space would you like between the top of the page andBottom margin in micas: bottom of the page <1/2 inch: 1270 micas, 1 inch: 2540 micas>?How much space would you like between the page footing and theLeft margin in micas: and the text <1/2 inch: 1270 micas, 1 inch: 2540 micas>?How much space would you like between the left edge of the pageRight margin in micas: edge of the page <1/2 inch: 1270 micas, 1 inch: 2540 micas>?How much space would you like between the text and the rightHeading space in micas: beginning of the text <1/2 inch: 1270 micas, 1 inch: 2540 micas>How much space would you like between the page heading and theFooting space in micas: and the page footing <1/2 inch: 1270 micas, 1 inch: 2540 micas>How much space would you like between the bottom of the textLine spacing in tenths: spacing: 20>?What is the default line spacing ? Spacing in micas: How much additional space would you like between paragraphs<1/5 inch: 508 micas>? Indentation in micas: How much should the first line of each paragraph be indentedTab spacing: use in Perfect Writer. most of the time then you should set this to the same value yourun Perfect Format with Verbatim as the top level environmentsuch as Verbatim, that preserve whitespace. If you choose to Tab characters are only relevant within certain environments,Tab stops are initially set at multiples of the tab spacing.Do you want justification (even right margin)? Type of foot notes (Bottom, End, Inline): of reference).the end of the document, or inline (parenthesized at the pointThe @foot command can place notes at the bottom of the page, atUse superscripts for footnote numbers? Footnote references can be printed as superscripts or bracketed.Allow extra vertical space? on devices that cannot half-linefeed.extra space can be visually distracting. Space is always leftcan run together unless extra space is left. However, suchSubscripts from one line and superscripts from the next lineUse four level sectioning? of sectioning starting with the chapter command.the section command while the full form provides four levelssimple form provides three levels of sectioning starting withThere are two styles of sectioning commands available. The<1/6 inch: 423>? Height in micas: !9DM*}b͝! s*}iʤbʵeƓד!ݔ! ד!! ד!! ד!!!!!!!!!!H!!!w!!!!!!͕! !!! !! !!!!!!!=!!!i!!!!!!!!!͖!!!!!!!!!!!!*!?!1I!r9`is#r͐Ԕ! 9InlineBottomEndAmount of space to reserve for end data: Vertical space to leave below an environment: Vertical space to leave above an environment: Allow full four level sectioning? Allow extra vertical space for super/sub scripts? Use superscripts for footnote numbers? Type of foot notes: Justify right margin? Tab spacing in characters: Amount to indent first line of paragraphs: Space between paragraphs: Line spacing (in 1/10 line): Space between bottom of text and footing: Space between heading and top of text: Right margin: Left margin: Bottom of page margin: Top of page margin: Perfect Format default style parameters!9~Ax[x o&!t!9~aڒ{Ғ o&!9~0ک:ҩï!}!}!y9DM! `i`i!!9!9DM`iw#w! ^#Vr+sn}`i^#Vr+s͐!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{O)͐V!9!9DM͐`is#r͐n}ʉ! ^#Vr+sq! ^#Vr+s͐ns! ^#Vr+sn}‰͐ø!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{`in}%! ! s#r! 6#6! s! s! s͐n}-Q! ^#Vr+s! 4͐n}0a! 4͐n&͗}~! Á!! s#r! ^#Vr+sn`is{.ə! ! s#r! 4! ^#Vr+sn`is`in&́}DU1X:OCCʉSʺ͐~#fo|1! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 I! 6I! 6! ~#fo! n&! ^#Vr+s~#fo! Mѯgs#r2! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s2! n}͚! 6#6! ^#Vr+s~#fo! s#r͐n}2͐|2! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}‰! ^#Vr+s!҉! ^#Vr+s! n}ʀ!0Ã! sN͐! ^#Vr+sns{ʲ! ^#Vr+sÉ! n}! ^#Vr+s!! ^#Vr+s6 ü! ^#Vr+s`ins! ^#Vr+s`ins͐6!9!9DM͐n}K! ^#Vr+sn&Q)!9DM͐͐ ҝ͐^#Vr+s͐ Ҋ͐0Ò͐7s!&͐ ͐͐ ͉͐M`is͐ ͐͐ )͐M`in&#&!9!9DM`iw#w͐~#fon&͗}>͐ ?͐^#Vr+snѯg`is#r͐E!9 7,2q*&:q):ʍ=ʍ=r:qo&7:)~:,"s!"u*|**s! ~6*u*+"*"*u#"u÷7*|DM**V:><.~# x. >Goy$͐ ! s#r`is#r͐͐V͐>dT>ʯT>pT>T>|T>sU>*u#"u÷7*|DM**V:><.~# x. >2>2>22Ï#00000000BA Ymenua:menu!9DM͐͐ ͐ ͐͐͐0S !9DM͐k!R US!P!R Q!!R ͹| !R !T0SG!P 6 !P n}ʭ w!P 5Ø 5: !q w!P 6w !P n&`i5s!P 4 !P n&++`i6!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5JR!Q n!f s ñ ͉w.wR&Æ g!f n&G!g9FINCan't open input file '%s'. I only understand Perfect Formatter intermediate output files.Printing '%s' on device '%s' -- OK? Printing %d copies of '%s' on device '%s' -;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qyzzzzzzzzzzzzE|ʕ >2b ! ͐E|» ! ͐E| !` ~#fo! ^#Vr+s)~#fo"`*b} *`! 0S !` ~#fo͐)~#fo! 0S\ ͐X))! !` ~#fo͐)~#fos#r͐X))! ##͐s#r!X ^#Vr+s! ^#Vr+s! w#w͐͐X! JR!% JR!. JRRJR!7 JR !9 ͐E|!` ~#fo! ^#Vr+s)~#fovR"b*b}*b!> 0S !T ͐E| >2b!Z JR ! ͐E|g !` ~#fo! ^#Vr+s)~#fo"b*b}d *b! 0S ! ͐E| ! ͐E|ʕ >2b ! ͐E|» ! ͐E| !` ~#fo! ^#Vr+s)~#fo"`*b} *`! 0S !` ~#fo͐)Dj’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_e, Inc. VersionVersion 1.03 of 04-28-82 serial PageStarting at page %d. PausePausing for manual insertion of each page. PortUsing the '%s' port(s). QQuietTitleTTitle string is '%s'. Unknown command line option: '%s' ! ͈X! ͈X!@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!w*b}\ ͐m+|) `i!R !0SA `i!R ͐m!0S!͢|\ !JR!G*b}͝*b`ip&|ʀ G6&!f 6!m ^#Vr+s!7!f n}7!"bO!f n}*|͜|ͩ!Q s{  !JR!Q n!f s!2z!9DM! JR! JR! JR`i6#6!X w#w>2b! "`!"b>2b!"b! 6#6͐͐^j !` ~#fo͐)~#fon}- !` ~#fo͐)~#fo#! s#r͐n&Q|]͐vR`is#r ! ͐E|ʫ! JR! JR- OK? -- skipping file. Aborting this file. Aborting all files. !9DM!H! ,#`is#r͐~"H!͐~"*`!&͈&"͐?~"!!&!9Perfect Printer 1.0*b#"b*b*b*b}*b! 0S*b}*b!&0SR&*b}& [%d] %dB|;v!!!9DM!"h"h{2h{2h>2EiE`i6`in}͠&5} ʊ ʞʤ*b*bڛ+&!V! s#r*b*b͐"`i6`in}wi! s`is͠&5! s! n} ʓ ʖ ʖʝʦʭ=X}ʤ6uÞw`i6!<`i6EM! s#r͐~#fo!Hs#rn! s#r͐6En! s#r͐6͐ 6En! s#r͐! nsEn! s#r͐ 6En! s#r͐6͐ 6E>2hn! s#r͐! nsE>2hn! s#r͐! nsEn! s#r͐6͐6͐6͐ 6͐ 6EE>2Ei*h"?i!H"Ai!"CiEM! s#r͐ 6͐~#fo! k!s#r*Ci#"CiEM! s#r͐~#foq"s#rM! s#r*h#"h+b! ns͐##~#fo! n&k!s#r`in}! n}͝! sw! n} *Ei} *Aiq""Ai*h kc*hs#r!<! 9>2h*h}! *h kc*=i khY*h kc*hs#r*h kc##w#w*h kcw#w*h#"h>2h*h+ kc!9DMww`is#r͐ !% ͐͐,#!9Invalid mica value in intermediate file. !"=i{2h{2h{2h{2h{2h*=iچ! ô! *=i# kh*=i khY*=i#"=i*=i khCharacter attributes nested too deeply. *=i!  *=i+"=iAttrPop: stack underflow #!?JRaY! ͖Y Insert fresh page; type any character when ready --> !9DM*b*bҏ*Ei}ʚ͈&!͝S`is#r*h}͐"!&͐"!&*h}͐"!&͐"!9!9DM`iw#w! w#w͐*h͐ kcn! n}ƒ͐~"! n&͐͠&`iw#wÿ`i~#fo͐ kc##~#fo͐ kc~#fos#r! ^#Vr+s.!9!9DM͐|1! n}1͐+ kcn}1͐ kcn}1!!Uh%͐ kc~#fo~"͐ kcn&!Uh%͐ kcn&!Bh%͐ kc n&!Ih%͐ kc~#fo`is#r͐͐# kc~#fo͐bn&͐`i^#Vr+s!!Uh%!9!9DM*Ai`is#r*Ci! s#r͐|:ð͐͐! s#r*Ai?|g}o͐! s#r͐͐! s#r͠&*?i! s#r͐*h͐ kc n}͐ kc~#fo͐s#r! ^#Vr+sÕ͠&*?i! s#r͐9͐ kc n}+! ^#Vr+s! ^#Vr+s͠&͐ ҭ͐*hc*?i! s#r͐ kc n}ʟ! ^#Vr+s͐ kc^#Vr+s! ^#Vr+s<͠&! 9!9DMFi! s#r͐ ͐Y`is#r͐|!,͐͐s#r͐͐US͐w#w͐w͐,!9!9DMFi`is#r͐~#fo|\!n͐~#fon&n!9!9DMFi`is#r͐~#fo|ž!?͐^#Vr+s͐^#Vr+s!-!@͐͐~#fo Z! s#r͐|!?͐͐?s#r͐͐s#r͐~#fon&?!9!9DMFi`is#r͐|r͐~#fo|x!͐!9!9DMFi`is#r͐|ʳ͐~#fo|¶!!͐~#foZ͐w#w͐w!9!9DMFi`is#r͐|͐~#fo|!<͐~#foZ͐w#w!9!9DM͐n& R͐n& Rr!! ^#Vr+sn}ʘ! ^#Vr+sn}!M!9DM͐JRͩ R> >>Y>>>>>>>>N> !0JR!!5JR!!9JR+óYes No Answer 'Y' or 'N' --> !9DM͐n}|! ^#Vr+sn}.yY! ^#Vr+s6.͐͐US!Z!Z!JR(C) Perfect Software, Inc.!9DM! n&͐͐,!"d! n}!V*,#"f%!"f! n}2r>2v!"t!"v{2x{2w!I:|͝}2y!"b>2s&R&*r}ʈ!V*,#"#͈.!9DM*v}¨*x}7 *v} *v}*x}*y}! n} *v}7 ! n&"R| ! n&Q|7 `i6*d*t))t##~#fo4 *t#"t))t*ds#r; `i6! n&  ! n&~ ! n} *bkz! ns*bkz#*ds#r*bkz###*ws*bkz*x}ͣ *y}͝s*b#"b*d! n&k!"dC!! n&|g}o|&!!~͐! n&|g}o͐C!!^͐! n&@|g}o͐`in}_!*t))t##*ds#r͠&!9!9DM! n& ڤ!! n&~ڤ!! n&Ͱ/!! n&|g}o|!! n&|g}ok!!! n&@|g}ok!!9DM͐n}"! ^#Vr+sn&͐!!9DM`iw#w͐n}a"`i~#fo͐n&k!s#r! ^#Vr+s."͐h"!9!Ͱ/!9DM*v}¿"*t))t##~#fo*dʿ"*t#"t))t*ds#r*d͐"d*v}"*t))t##*ds#r!9DM&*f͐"f&*d͔.*fͥ.*f*j"f͇0!9DM*­#͐ H­#͐͐! s#r! ~#fo͐s#r͐͐|g}o! s#r͐K%*58$͐ V8$͐͐͐͐͐ ! s#r͐͐ |g}o! s#r͐K%*#³$͐ V³$͐͐͐͐ ! s#r͐͐|g}o! s#r͐K%͐ H$*`is#r$͐ V$*`is#r$!T% ͐%͉͐͐! s#r.%͐)͉͐! s#r͐͐|g}oK%!9PUnMica: bad direc?!9DM! n}Uʈ%Bʧ%I%%!O:|ʡ%! n}2vä%ͮ&&*}¼%!O:|%! n}2w%ͮ&&*}%!O:|%! n}2x%ͮ&&!& &PSetAttr: unknown attribute &!"d*n"*j*f*j"*f*j|f&6&*d*f*j*l*n*h*j4|ʬ&͓4*s}ʹ&!&JR>2sThis device, as currently defined, cannot overprint. !9DM*b|'Ë(*fͥ.*f*j"f*b+kz#~#fo*{͔(! s#r͐+|\'!`'*b+! s#r͐! s#r͐|b(͐*bb(͐kz#~#fo͔.͐kz###n&!B/͐kzn&!I/͐kzn&8/͐kz###n}G(!B:|G(!C:|G(͐.͐kzn&8/͠&! ~#fo͐s#rt'!B:|(!C:|((S*!"t"b! 9!9DM!D:|( /͐S /͐S(!(!!9DM`iw#w͐*b')͐kz###n})')`i^#Vr+s(͐*b9)J**b! s#r͐+kz###n}j)! ^#Vr+sD)͐+kz#~#fo͐kz#~#fo͔(! s#r͐+|±)͐ö)͐+! s#r͐! s#r͐͐J*͐͐J*͐kz###n}2*͐kz#~#fo͔.͐kzn&8/͠&! ~#fo͐s#r)! 9!9DM*t))t##~#fo*x͔(! s#r͐ +|Œ*!Ï**t! s#r!_Ͱ/! s#r͐`is#r͐,͐*t,͐))t~#fo! s#r͐))t##~#fo͐! s#r͐ +|+͐+͐! s#r͐͐L+͐͐! s#r͐ ͔.!_8/͐ +|§+͐ ͐z++! ~#fo͐͐ ͐Ss#r+͐ ͐ں++! ~#fo͐ ͐͐Ss#r͠&L+`i~#fo͐ s#rñ*!"t!9!9DM!!".Y"d|D,!!).Y"d|_,!!*d Zg,!2. !$!f!Y͐|ˆ,8ì,͐!͗7|¬,͐!`.0S8!!!Y*}\-**g?q8!! !Y**g?#q8!!!Y`iw#w͐\-͐) !H͐) ~#fo,#s#r`i^#Vr+s-*}ʆ-**ѯgq8!! !Y͐͹0*dZ!H*,#"l!V*,#"n!H*,#"h!V*,#"j! Ͱ/"p! n}-!V*,#" .!" !" * a9!"!9PF.DATA:PF.DATCan't open the system database file (PF.DAT) Can't find device '%s'; using default. ͇09͠2!9DM͐" !9DM͐* *j.!9DM* ͐" !9DM͐|.!/ * ͐" DMoveV: can't move up! * * *j!9DM!C:|c/! n&Ͱ/f/!`is#r͐.͐0͐.*}ʝ/! n& n&â/! n&"!9!9DM*}/! n&) ~#fo/*l!9DM͐>B/>0>I/>C0Å0*! n&60*}60͐0! n}.0!10!(3! n&"Å0*! n&x0*}x0͐0! n}p0!s0!(3! n&"Å0͐0ͦ2* * *4:* *j" !"!9DM͐|1͐!͗7|1͐!1`iT`i!͗7|1`i͐!1 01*n|(1*nq801!1 !!+!Y*}ʳ1͐|ʆ1͐! 2`iT`i!͗7|ƒ1`i!&2 á1*l|ʙ1*lq8á1!Z2 !!!Y!!BP>2ʓ!"˓!"͓!9%s OutCan't find port '%s' or '%s'.No default output port defined! %s InCan't find port '%s', required for synchronization.No default input port defined (one is required for synchronization). ͦ2!BkP|º2͓4ç2!9DM!B͑P|2͓42͓4!B! n&P!9DM͐ 3͐ 2͐ 0ͼ2!9DM͐ n&`is#r͐ n͐ #nѯgW! s#r͐ #n&4͐͐ґ3`i^#Vr+sn&ͼ2k3!9!9DM! `is#r! w#w`i^#Vr+s~#fo#|3! ^#Vr+sô3͐4! `is#r! ^#Vr+sz4`i^#Vr+s~#foͼ23!9!9DM͐|=4͐ K4͐!r4 !B͑P|^4͓4K4!B͐POUnInter: %d chars is too many! !BkP|4!BVQ4|4!B͟Q.64|44Ô4*>}ͣ4*?}ͣ͝&!9DM͐ 5͐  5͐`is#r'5`i6#6*}=5E5u556&6d6|]5ͻ6ͣ}2ʓ*ʓ}ͣp56|ͣ&6*˓͐<ҭ56|˜5!&6!E7*͓#"͓!"˓d6|5ͻ65*͓5*͓+"͓*͓ͩ56|ͣ&6*&! 6 6!9Invalid synchronization code: '%d'!9DM͐R6͐ R6͐E7*˓#"˓*'}|6*(}|6!&*'}ʑ6*(&ZÛ6*(& [*)ѯg|g}o**&͝&*$}6*%&Z6*%& [*&ѯg|g}o&*>}7*?}7!&*>}7*?&Z%7*?& [*@ѯg|g}o*A&͝&!9DM! n*=ѯgW|g}os*;}ʂ7! n&*<&ZÕ7! n&*<&[!9DM͐>¯7>ʾ7>»7>77*f`is#r*t! s#r7*z`is#r*! s#r7!S8 !&J8`iw#w͐͐B8͐q8!͐ E|68!&J8`i^#Vr+s8!&J8!9FindRec: Invalid record type.!9DM!͐*dZ|8!!*d ZҴ8!8 Read error in system database file (PF.DAT) *||8!9 *|q8*} 9!+9 No default printer defined! Invalid default printer definition (record deleted). !9DM!(3*}ʖ9ʢ9ʮ9ʺ9999͐͂;9͐>9͐C9͐E9͐7H9͐͹M9*}: ::::$:*:ͩ;*:l>*:C*:E*:H*:M*:!(3!9DM*}a:y:ʑ:ʩ::::͐͐͐ͬ;:͐͐͐͏>:͐͐͐C:͐͐͐F:͐͐͐͢H:͐͐͐M:!9DM*} ;0;@;P;`;p;À;͐y=&À;͐6C&À;͐O‘=>=>C=>=>D©=>=>Bµ=>=>I=>==*}ͣ=*}ͣ&!&*}ͣ&*}ͣ&!> VInfo: unknown request !9DM͐"ѓ! ͼ2!"ϓ!"ד"Փ"ӓ>2ٓ*pB*nXB!͓B!B*pB*nXB!͓B!B!9DM͐*ϓ`is#r͐#|i?͐A|>͐bA|>͐S}>͐S*p ?*} ?͐SB͐|?!?!͓B͐|g}o|;?!>?!B͐|g}oͼ2*ϓ*ӓ*ד?"ϓ͐̈́?͐ ͢A!9!9DM͐*ϓ`is#r͐|«?A͐"ϓ͐A|V@͐S*ӓ?͐bA|V@͐|S@͐*ד?.@! ͼ2`i~#fo*ӓ*ד?s#rP@!ͼ2`i~#fo*ӓ*ד?s#r?A͐S}v@͐bA|@*ӓ|ʓ@͐*ӓ}Ҷ@͐*p}ڮ@*pñ@! B͐*ӓB͐*ӓ`is#r͐|A͐SB͐*ד?|A! A! ͼ2!9!9DM*ӓ|ͣ^A͐S*ӓ|͝^A͐S*ӓͩ!9DM*ӓ|ͣʞA͐*ӓ|͝žA͐*ӓ}ͯ!9DM͐*ѓ`is#r͐|AB͐*j"ѓ͐|B!}͐SXB! ͼ2`i~#fo*Փs#rA!9!9DM͐*ӓ6B!͐#!!͚3͐"ӓ!9DM͐*ՓqB!͐#!!͚3͐"Փ!9DM͐*ד¬B!͐+|B!5B!6!͚3͐"ד!9DM!͐#! !͚3!9DM*ٓ! n}C! n}#C!&C!ͼ2! n}2ٓ!9DM͐>ONC>ʁC>CZC>ʁC>DfC>ʁC>BrC>ʈC>I~C>ʔCàC!&*}ͣ&*}ͣ&!C DbInfo: unknown request !9DM! ͼ2!"ϓ͐"ѓ!"Փ*nD!9DM͐#| D͐ͼ2*ϓ͐Ͱ/"ϓ͐ *ϓ`is#r͐ *ѓ! s#r͐|lD͐|lD! ͼ2͐ `is#r͐|ʴD!U͐SD!(3! ~#fo*Փs#r͐ `is#rlD`i~#fo*ps#rzD! ͼ2ôD͐ "ϓ͐ *j"ѓ!9!9DM*Փ͐E!!2!͐!A!͚3͐"Փ!9DM͐>OTE>ʇE>C`E>ʎE>DlE>ʎE>BxE>ʕE>I„E>ʡEíE!&!&*}ͣ&*}ͣ&!E EpInfo: unknown request !9DM͐"ѓ!"ϓ!"Փ! ͼ2*n&G!9DM͐#|-F͐ͼ2*ϓ͐Ͱ/"ϓ͐ *ϓ`is#r͐ *ѓ! s#r͐|ʝF!͐S&G!(3! ~#fo*Փs#r͐ `is#rUF͐|F! ͼ2͐ `is#r͐*p|F͐ oG`iw#w͐*pG! ͼ2`i~#fo*ps#rF͐ "ϓ͐ *j"ѓ!9!9DM*Փ͐mG!4!ͼ2!Bͼ2͐2! ͼ2͐"Փ!9DM!4!ͼ2!Gͼ2͐2! ͼ2!9DM͐>OºG>G>CG>G>DG>G>BG>G>IG>HH!&!&*}ͣ&*}ͣ&!H IDSInfo: unknown request !9DM͐"ѓ!"ϓ!"ד"Փ"ӓ>2ٓ*pK*n5L!sL!L*pK*n5L!sL!L!9DM͐*ϓ`is#r͐#||I͐K|H͐QK|H͐SI͐S*pI*}I͐SK͐|.I!1I!sL͐|g}o|NI!QI!L͐|g}oͼ2*ϓ*ӓ*ד?"ϓ͐͗I͐ |K!9!9DM͐*ϓ`is#r͐|¾IJ͐"ϓ͐K|iJ͐S*ӓI͐QK|iJ͐|fJ͐*ד?AJ! ͼ2`i~#fo*ӓ*ד?s#rcJ!ͼ2`i~#fo*ӓ*ד?s#rIJ͐SډJ͐QK|J͐*}ʜJ! ßJ*lͷL͐*}ʻJ! þJ*l`is#r͐|J͐SK͐*ד?|J!J! ͼ2!9!9DM*ӓ|ͣMK͐S*ӓ|͝MK͐S*ӓ ͩ!9DM͐*}lK! oK*l|͝!9DM͐*ѓ`is#r͐|£KK͐*j"ѓ͐|K!͐S5L! ͼ2`i~#fo*Փs#ròK!9!9DM͐*ӓL!͐@!]!͚3͐"ӓ!9DM͐*ՓNL!͐O!]!͚3͐"Փ!9DM͐*דŒL!͐+| L!>ãL!<!͚3͐"ד!9DM!͐ @͐ P!͚3!9DM*ٓ! n} M! n}M!M!ͼ2! n}2ٓ!9DM͐>ODM>wM>CPM>wM>D\M>wM>BhM>~M>ItM>ʊMÖM!&*}ͣ&*}ͣ&!M SpInfo: unknown request !9DM! ͼ2!"ϓ͐"ѓ!9DM͐#|N͐ͼ2*ϓ͐Ͱ/"ϓ͐ *ϓ`is#r͐ *ѓ! s#r͐*naN! ͼ2! ~#fo*ns#r0N͐*n‰N!!!͚3͐|N! ͼ2͐ `is#r͐*pN! ͼ2`i~#fo*ps#räN͐ O!!͐S!͚3`i~#fo!͐Ss#rN͐ "ϓ͐ *j"ѓ!9!9DM͐>OWO>ʊO>CcO>ʑO>DoO>ʑO>B{O>ʘO>I‡O>ʤOðO!&!&*}ͣ&*}ͣ&!O CenInfo: unknown request !OJRProduced and directed by Barry A. Dobyns 1981, 1982!9DM͐͐##͐͐s#rs#rs#r͐͐~#fo͐)++s#r!9DM͐~#fo͐##~#fo͝!9DM͐##~#fo##͐~#fo͝P͐##~#fo͐~#fo͝P͐~#fo͐~#fo͝!9DM͐##~#fo͐~#fo;Q͐##͐~#fos#rJQ͐##^#Vr+s͐s#r!9DM͐~#fo͐~#foQ͐~#fo~#foÛQ͐~#fo##~#fo!9DM͐~#fo͐~#foQ͐͐~#fos#r~#foQ͐^#Vr+s~#fo!9~0>R:>RDR!t!9~aR{R o&!9~A>R{>RaDR[DR>R!}!}!9DM͐n}tR! ^#Vr+sn&͖YRR!9DM`iw#w! 6#6͐ n! s{ ʩR! n} ·R! ^#Vr+sÍR! n}-R! 6#6! ^#Vr+s! ^#Vr+sn! sQ|S͐ ?! nѯg`is#rR͐͐?'S!9!y9DM! `i'T`iJR!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʍSgS͐ÔS!9!9DM͐͐ҼS͐S͐!9DM͐|S͐S͐!9DM͐͐T͐ T͐!9DM! ͐'T!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{xW`in}%bW! ! s#r! 6#6! s! s! s͐n}-·T! ^#Vr+s! 4͐n}0T! 4͐n&Q}T! +XT!! s#r! ^#Vr+sn`is{./U! +X! s#r! 4! ^#Vr+sn`is`in& R}D[UUʗUXʠUOʩUCUS VLW͐~#fo|U! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ïU! 6ïU! 6! ~#fo! n&! ^#Vr+s~#fo! ͇Wѯgs#rØV! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sØV! n}3V! 6#6! ^#Vr+s~#fo! s#r͐n}ʘV͐|ʘV! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sNV͐6! ! s#r! n}V! ^#Vr+s!V! ^#Vr+s! n}V!0V! sôV͐! ^#Vr+sns{W! ^#Vr+sV! n}IW! ^#Vr+s!IW! ^#Vr+s6 "W_W! ^#Vr+s`insuW! ^#Vr+s`insVT͐6!9!9DM͐͐ W͐^#Vr+s͐ W͐0W͐7s!&"X͐ ͐͐ ͉͇͐W`is͐ ͐͐ )͇͐W`in&#&"X!9!9DM`iw#w͐~#fon&Q}xX͐ ?͐^#Vr+snѯg`is#r9X͐X!97*!9& 6C#6O#6M·XX!w#w#*w#X:**X*!Âѷʤ!Å 7*|DM**[Y?Y><3Y~# x3Y > _ ¹Y7,2q*&:q):Z=Z=r:qo&7:)~:,"s!"u*|_Z**sdZ! ~_Z6*u*+"*"*u#"u+Z7:,*%[:*ʡZ}|2q ZZ:qwZ! {w#7*+++:G_*DM![o& 2ͭo& 2Ͱ , FNxg>GoyI[$SQUQ XYo “Y . &  ªY > _ ¹Y7,2q*&:q):Z=Z=r:qo&7:)~:,"s!"u*|_Z**sdZ! ~_Z6*u*+"*"*u#"u+Z7:,*%[:*ʡZ}|2q ZZ:qwZ! {w#7*+++:G_*D ?"Data Base, you can create a command procedure that contains all of the" C ORM JJFRM' TO CHECK DO CHECKC WAIT DO TEACH7P ERASE ?"That's it for JOIN, SELECT, and Relational data base manipulation." ?"If you get involved in complex JOINS, with many files, make sure" ?"that you do not violate any of the relational data base normalization" ?"principles (see the dBASE II TUTOR introduction for more details)." ? ?"One more caution, when using JOIN. JOIN@Style(spacing 2 lines, indent 5 chars) @Heading(APPENDICES) @Subheading(In this Section:) @blankspace(4 lines) @Begin[Itemize] Installation Instructions Command Summary Error Messages "Swapping. . . " Glossary @End[Itemize]  FormPF DAT(PFCONFIGCOM>PP COM5PRACTICEMSSTEACH2R CMD TEACH3 CMD(TEACH3C CMD$TEACH3F CMD$play it's structure, and then produce a report using the report" ?"form EMPMAST." STORE 'USE EMPMAST' TO CHECK DO CHECKC STORE 'DISPLAY STRUCTURE' TO CHECK DO CHECKC STORE 'REPORT FORM EMPMAST' TO CHECK DO CHECKC WAIT ERASE ?"Now. &STUDENT, look at the file EMPMAST is going to be JOINed to." ?"It's called TAXMAST. Enter USE TAXMAST." STORE 'USE TAXMAST' TO CHECK DO CHECKC ?"Now, display it's structure." STORE 'DISPLAY STRUCTURE' TO CHECK DO CHECKC ?"Notice that it contains a TAXCODE field, which is also on the EMPMAST" ?"file, and that a tax % field is also present. After you have JOINed" ?"EMPMAST and TAXMAST, the JOINed file will have all the information" ?"needed to compute a tax, and net salary amount for every employee." WAIT ERASE ?"OK. Let's do the first JOIN. Enter, USE EMPMAST." STORE 'USE EMPMAST' TO CHECK DO CHECKC ?"Now, SELECT SECONDARY." STORE 'SELECT SECONDARY' TO CHECK DO CHECKC ?"Now, USE TAXMAST." STORE 'USE TAXMAST' TO CHECK DO CHECKC ?"Now, SELECT PRIMARY." STORE 'SELECT PRIMARY' TO CHECK DO CHECKC ?"And, finally, JOIN TO JOINPAY1 FOR TAXCODE = S.TAXCODE." STORE 'JOIN TO JOINPAY1 FOR TAXCODE = S.TAXCODE' TO CHECK DO CHECKC WAIT ERASE ?"Each record in JOINPAY1 now contains, for each employee that was on the" ?"EMPMAST file, a tax percentage amount. If you now use JOINPAY1, you can" ?"also include on our data base an employee name, by performing a JOIN to" ?"the EMPNAME file. which contains two fields, EMPNO, and EMPNAME." ? ?"First USE JOINPAY1, then SELECT SECONDARY, then USE EMPNAME, then" ?"SELECT PRIMARY, then JOIN TO JOINPAY2 FOR EMPNO = S.EMPNO." ? STORE 'USE JOINPAY1' TO CHECK DO CHECKC STORE 'SELECT SECONDARY' TO CHECK DO CHECKC STORE 'USE EMPNAME' TO CHECK DO CHECKC STORE 'SELECT PRIMARY' TO CHECK DO CHECKC STORE 'JOIN TO JOINPAY2 FOR EMPNO = S.EMPNO' TO CHECK DO CHECKC WAIT ERASE ?"Now, &STUDENT use and display the structure of JOINPAY2 to see what " ?"the data base has so far." STORE 'USE JOINPAY2' TO CHECK DO CHECKC STORE 'DISPLAY STRUCTURE' TO CHECK DO CHECKC ?"Notice that the fields EMPNO and TAXCODE appear twice. You could have" ?"removed the duplicates if you had used the FIELD specification in the" ?"JOINs, but since you're not nearing the 32 field limit for a file, the" ?"duplicates can exist, and the entry of the JOIN commands is easier" ?"without the FIELD specification." WAIT ERASE ?"Do a JOIN of JOINPAY2 and DEPTMAST, which has a DEPTNO and DEPTNAME" ?"field in it. Enter, USE JOINPAY2." STORE 'USE JOINPAY2' TO CHECK DO CHECKC ?"Now, enter SELECT SECONDARY." STORE 'SELECT SECONDARY' TO CHECK DO CHECKC ?"Now, USE DEPTMAST." STORE 'USE DEPTMAST' TO CHECK DO CHECKC ?"Now, SELECT PRIMARY." STORE 'SELECT PRIMARY' TO CHECK DO CHECKC ?"Now, JOIN TO JOINPAY3 FOR DEPTNO = S.DEPTNO." STORE 'JOIN TO JOINPAY3 FOR DEPTNO = S.DEPTNO' TO CHECK DO CHECKC ?"Now, the data base has department name data in it too, and you can" ?"compute tax and net salary amounts, and produce the payroll register." WAIT ERASE ?"Issue the commands to do all this. First, USE JOINPAY3." STORE 'USE JOINPAY3' TO CHECK DO CHECKC ?"Now, REPLACE ALL TAXES WITH GROSSSAL * TAXPCT." STORE 'REPLACE ALL TAXES WITH GROSSSAL * TAXPCT' TO CHECK DO CHECKC ?"Now REPLACE ALL NETSAL WITH GROSSSAL - TAXES." STORE 'REPLACE ALL NETSAL WITH GROSSSAL - TAXES' TO CHECK DO CHECKC ?"And, finally, ask for a REPORT using the report form REGFRM." STORE 'REPORT FORM REGFRM' TO CHECK DO CHECKC WAIT ERASE ?"If you change any of the structures for the files being used, by adding" ?"more fields or changing field lengths, the same commands that we used" ?"for this entire procedure will still work. Relational data base" ?"systems, like dBASE II, use this data independence or automatic" ?"navigation feature to make changes to file and data base structures" ?"transparent to the users of the system." WAIT RETURN ount for every employee." WAIT ERASE ?"OK. Let's do the first JOIN. Enter, USE EMPMAST." STORE 'USE E*+%"'%"%%"# "t "r "py 6"E+6+!^6*F+N+:I3!!9~#ʖ QO"j'j +}|+#~ʁt6#~#<ʶ>!4Q6#6*!͸* |ʳ|!͵"r!͵" Q Can't open > or < file.$çw*4 a'! 9S!"4G4*}ʝ :D<*E 2D ̓H  ‚> _*E~+#4N s> > !͟:G¼H2D_~ÿ   >  ʚ!* }}> !͟}  > _ !"# con:rdr:pun:lst: ڱ_~O7!  #i& ~!N~#~#F6,pw20!9y=̓">wA<!Ms 6#6 ~+y s#r{{ ښ!͟#^!!/w#w!M~<6!b~rG!T}*Kxu>w#%{=̓b]x  h&{ !TN#Fpa{ ڏ+!9~ ¹!i~bʶ!5´> ù6> *K w`i#᯾%,!|!!9n&:}ɯ2>*!9!=:w!/xw!#4>2>2:Geͫxʘ:Oc! DM8:–| !ÞWrite error - Disk full $6`i͕!9~=+̓V+^+F+N~og~#fos#r}o|g}o|g}o|g|!,|}!  ,ɯ|!|}!-6|6}zK!G--{!-zM{MzM{M!||g}oq|g}o)Ì{ozg+|/g}/oDM!z>³S\))һ =³ɯz|MD!x<z>jS\>))#  =͜ÜN#F#x!~#~#   "y> w+ +w w##w w #~+:V~##{@~#.g{V*y++{w#ma O!p ~_#V!$ r+sbk#|0>̓!p "&og"J "H >̓*H !p "  >  *J #~+: ##MDkb .+ ? {  ? {0 |/g}/o#!9^#V!9" 6C#6O#6M !!99 *U |¯ U !\" !\"*W | !W !l"!9|  > ~{# !p !*w# *!ѷ!s !U  A A o q#p#i i V @ w#w A [   >2 2 ! " !" "  * ~#fo" * \ * ^#V * " * ##" * 2 #" * * "  : l * M " * M * : „ " v : 2 *  2 2 * * : ® 2 : ! 44> *  @" " 2 * " !" "  * ~#fo" * ~Z * ^#V#" F * " x* _#" ~* " , : j * M " * M * :  " : 2 *  2 2 * * : ʳ ! 44> >2 * *  @bk))))))!` ) 50B0Q0^0k0t00* "*"!9!ͤ""**""!|ʡ*+"#!,ʂ!9**#"W!*+"#!6|!!0!ͯ*"*#"+&"*|ʞ**#"+!9}*#"*6!9!9**!!0!ͯ*"!"!9*|ʗ*"**bGD*"&7**Tb*#"+6G!9***͒ʗ!!0!ͯ!9|40!9"*++"A*!9a*++"*++"}2:*++"S*++""**++"l!!9S!9}2!9"͈!9"!!9S*ʡ*ʺ*#"+ͻÈ:!9*#"+!9}*6!9:}*#"++!"*!0+P*!9,}\1* ͤ*#"+"Y! }2! ""!"*#"+9!"!9ͲV!0}2!"!9ͲV!0}2!"!9ͲV!9ͻV!9|+!9#+ͻ*+"! ͏VVduoxcs͈!9! 6z!90É!9Aͻ*+"!+ʯ:ͻÏ*!9"*+"#**.|g|*+"#*͜"!"**b*!S3͏*|(!-ͻ*Zá*M*!~q*g*! q*!~Ͳ*ʑ*! Ü*+*Z"d!9!}2G!T9+!'*)!R9*)!R9#*n| !#!"n*n|G*#)!R9͏*#")!R9"*͏|ʛzd*  ͤ*#"+" w* &|ʷ!!0!ͯ!T9+!}2*#")!R9"!T9+*#")!R9" !T9+*#")!R9" !T9+*p|M!P!"p:|g!j!}2*#")!R9" !T9+!"t!!0*)!V9#ͯABDE?LVNqX^à*#"+*p ʹ*ͼ'* !0Ͷ"|ʙ* " *!49!9ʹ |r!29 *"*t|oʹ!0**ͼ(ʹ!0*ͼ!""!"r*|!9"* "!T9!6N*n|C*qʹ!0ͼ6"K*-*!9a"*+"*+"! **!H*#"+*#"+*}}Ò*)!R9"*|ʒ*#"+*#"+*#"+}}a**!}}!9!0͵"!! 1!9ͯ*!49!9ʹ |*h!29 !29!!69M$1"1!9!Ͷ$"*+"D*peʹ!1**ͼ!d"*|*p|~&qʹ!K1**ͼ'+|ʱʹ!|1ͼ9|ʱQ'*r|ʼC*'+|ʹ!1!9ͼ!9l+!9,ʹ!1* ͼ9|.* * a * 7* a ʹ!1* ͼq!P96!"7V! *7m*7!1!40a !1!40a ͧ!9!0+ʰ!9!9,!9!9͵"|!9" *!9#1!97" * |!* !9͵"+** "!*5**SW!"5*"5*#"+6A*#"+6:!9|ʟ*#"+!9#+}q*#"+6*5P!9ʹ!2ͼʹ!2ͼʹ!9ͼ!9|ʹ!9ͼʹ!&2ͼ!9q!K "*K"* !0Ͷ"d!! 1* ͯ*!( !<R" *! !dR"j*|* !0Ͷ"|ʱ* " * #* * }* ##" ! "!#Â*|-**!!#!!!,2* ͯ*!" f*nK!! 1* ͯf* f!!92!ͯ*  #ʂ*!" Ô!!U2!ͯ*n|ʢ** "%!"** 6*#"+ô*%#"%+6** * # !!,2* ͯ*|!"*!6ʲ4*#"+*) !< *) "!!"#!"*!6ʯÂ*#"+f*!##"!*#!͋*) "#w)! "x*z"z! #½*z!6!!U2!ͯ!"*!6(*#"+*)|6#6 *t|Jʹ!h2*z*x*zͼ!9!"Kc]!9"M!$9 }2Oʎ:O#ʩ*M#"M+:O}j*M6!9*M:O#Ñ ! 9+*K!!2!9ͯÑ *K#"K+)!"9*M!9͒# "P! 9a !9"M*M|^ *P#"P+*M#"M+}9 É *M!9aʉ *P#"P+*M+"M}a *P6`*K)!"96#6*K!9:v" :w" !}2w}2v* "|!!9 " !" "|!* #! * #!!!" * +" 3!!* !" t!!9 " d!ü!* }2w!}2v* "|ʋ!* ʔ!!!9#+* }!9#+* }!9 " ##!!9!9!}}*#"+!!9~A "[ " o&!9~a!"{!"!!!9*/"*-"!$9#_"!"-""/"!9!"-"! "/"*/"##"/"++"%"| $Æ"k"*-"|"!(9"+"!9"'"*'"#"'"+*+"#"+"+}|ʾ"ß"*'"++")"!"-"*%"*)"+"#+ $"'""%"*%"#"%"5#*'"$|#*'"*'"+*#Ã"2#*'"+"'"#Ä#*%""+"|ʄ#*+"^#*+"#"+"+C#*+"+"+"*%"Sʄ#*'"#"'"*+"}^#*'"#"'"6!"-"!9 |ʧ#!O"!&9*l6#!9!(9#!(91"|#!O"!$9|#!9!$9  $!O"Ã"!O"!9$$!A$$a$e$i$o$u$y!!"K$!9"E$!( "G$*G$^#V#"G$zʬ$*E$#u$c$"+"*+"+"+"!9͒"K$*+" |ʩ$!c$*K$!9!)|"$!9!)|"$*$|8%*$!9b%"$%!*$!6&%8%*$"$*$"$$!9|X%*$!95&[%!!9"`%!"\%!9##!"^%*^%!6-&á%*^%#"^%+Å%*`%ʺ%!9%!"\%-&*`%!!9!'%!"\%-&*`%#"`%+!!9#+!6*&!"\%-&Ö%*\%*#"+!9"3&!9*x"1&*1&*3&*x##"x*z+++"z!9|ʬ&*x#"x+!9#+}*z+"z#v&*x#"x+6*z!d6&!!2!ͯ!!!"&*&!6C''*&#"&+&*&)|"&*&|@'ʹ!2*&##ͼ*&"&*&"&'&!9!"D'*D'!6ʔ)x'*D'#"D'+\'*D')|"L'*L'|ʑ)!"H'ʹ!2*L'##ͼ6![)ʹ!2ͼ!9"N'6}2P'o(:P'Z(*N'!9a(*N'+"N'#! :P'W(!"F'*F'!6T(3(*F'#"F'+(:P'! :P'((o(l(*N'#"N'+:P'}'*N'6*N'!9aʌ(!9 *L'##͝)!"H'!"rw)*L'## !"r*L'##͝)!"H'ʹ!2ͼw)*L'##͝)!"H'ʹ!2ͼw)!"H'ʹ!2ͼw)ʹ!2ͼ!9ʹ!2ͼʹ!2ͼʹ!3ͼʹ!)3ͼʹ!H3ͼʹ!q3ͼw)'r(a(i(c)e)*H'|ʎ)*L'"J'*J'"L'Æ'm')!9!)|")!9!)|")*)|,**)!9b%") **)*)!*)!6*,**)")*)"))!!3!ͯ!"A** !3͵"?*u*!!3!ͯ!*?*! !*?** * * **?*L !!3!ͯʹ!3ͼ6!** ͧ!"A*** ͧ!*A*|C**?*|* ͧ* ͧ* * !"%+*%+!6`+I+*%+#"%++-+*%+)||]+!>+!!9*f+*d+!"h+!.9"d+!9"f+*d+|+*f+#"f++*d+#"d++}+!"h+Ð+*f+6!9"f+!9"d+*d+|+*d+,*f+#"f++*d+#"d++}+*f+#"f++6.*"d+!"j+*j+!6O,B,*j+#"j++&,*f+*j+67,*d+|t,*f+#"f++*d+#"d++}O,!9"d+!"f+*d+|ʦ,*f+#"f++*d+#"d++}Á,*f+6!9ͧ!9!9"d+"f+!(9!9!!0͵", -!R9!3͵",Y-!! 4!V9ͯ*,L *,L !!T9ʹ!-4ͼ&q* !}2w}2v*,*,!69!9-",|-!29!Ͷ$|ʰ-:*,͢*,!9*,ͬ/l-*,|*,:-!ͧ!P9:v.!9"-!"-9.:v"-:w"-!}2w}2v*-"|M.*-#~.*-!9͢!9"-!"-9.*-#ʌ.!!"-*-+"-ʢ.Ï/*-!"-1/!9"-/!9#+*-}!9#+*-}!9#+! 9}y/1/*-}2w!}2v*-"-*-"|H/*-Q/Ï/!9#+*-}!9#+*-}!9"-#’.!9!9!}}*-!9|/!9#+!9͢ì/!9#/!9!9͢PERFECT SPELLER 1.1 (c) 1982 Perfect Software, Inc. DICTNARY.SPLA:DICTUPD$.$$$AFFIXTAB.SPLADDDICT.SPLPW -SPELL BAKRead error.Write error.-A value not multiple of 256Illegal option r %d %d%d words added to dictionary. File to check: Cannot open %d words processed. %d words not recognized... %d words processed. %d words not recognized. Scan list of unrecognized words now ? Marking misspelled words in %s... Exit directly to %s ? Cannot find %s. MENUA:MENU*** FATAL ERROR: *** WARNING: *** Cannot read Specify length following -ANot enough memory.List length = %d; TOP = %x Affix table overflow at Out of space on misspelled wordlist.%s %s? oot = dd gnore hange dit Answer with: a - Add word to dictionary i - Ignore word c - mark word to be Changed r - enter word's Root into dictionary e - mark remaining words and Edit text Bad wordlist structurewCannot write new dictionaryTrouble writing new dictionaryDelete old dictionary before writing (Risky!)? Cannot mark Misspelled words follow: *K͞+l'+FÎr SID VERS 1.4$1w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!">2>2>22Ï#1571200BADJ’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy͉"6*4":*4*6)"8*86#6*:*6s#rACOALESAFINDNE !9DM͐ | ! *:|.! *:`is#r͐ ###͉!!9DM͐͐qͲ`!v++u&v!!!omenua:menu!"k*k|o4v|  `Lv"m!"!"*|l*m)~#fo!D!9~#fo*m)~#fo"͜:*+"|i!""!9DM%{2`{2$!! r`is#rz!! r`is#rz! %o!!~͐Ͷ*&" *&""*&"_!!͐,!!h͐Ͷv͐wͰ"q! w#w!"*|[ *)))))uw#w*+"9 !"! s#r͐ ! ~#fo##~#fon}- ! ~#fo##~#fo#Ra"| *#|ʶ *ù !}2h*#"*#"͐Ҋ ! ~#fo*)~#foQ ! ~#fo*)~#fo6! ~#fo*)~#fo! b! c! ~#fo*)~#fo! ,"o! 6#6! ~#fo*)~#fo3|͝! s#r ͐|£ ! ! ,"o!"v++"|0" |0"|0" *oP͐| ! Kc!9pw.swpa:pw.swp PW: Can't Open Swap File -NAME.ME-nameNew File!9DM͐͑`is#r!!͐,#|ʏ !!͐Ͷ !͐͐,#|š ! rco!9Can't Read PW.SWP!HPw !"*v++ *1b1*#" !"a!9DMwA ! !v++w< ! !v++w! x! x!Lx! x*o)))))ux! x*o)))))u x=xx"i*v++ !*uw+`is#r͐| !-;`i^#Vr+sö !9PWPerfect Writer 1.03 () : ! !9DM*! s#r* ͪ2|= *|@ * ͪ2|@ H|0! s#r* ͭ1*q2|| .|| ͐ͭ1H* ͭ1͐*|ʏ *Ô v++*|ʣ !ç *#͎`is#r͐ͪ2| 4v| ͐ͭ1͐3͐ S͐"! Å4v|P*v++P*ͭ1!*|+v++.**|>*#A!͎*ͭ1͐ͭ1͐3͐"c2L! w#wK*) `i6#6͐|*o)))))u͐n}sʳfov?pʂ!N!J!W!Le! O!J2*|s*~#fo|*##~#fo|s*~#fo"! w#w*|L*##~#fo"*~#fo! s#r͜:͐*͙,**%'!"*"*! s#r͐*ڱ*~#fo|ʱ*~#fo"! w#w͜:͐͐*,* ͐(:͐|͐:!9!9!9DM* * $!ͤ(|$=9* #" +! ns*#"*#(:*|j*! n&*my"*6>2͜:f-!9!9DM͐*¦!rc͐=3! s#rz͐#2|0! s#r*`is#r͐ͪ2|ʟ*͐~#fo͐~#fo*! s#r.**! s#r=9>2* ! s#r͜:͐o*! s#r͐|·**!҇!Ê!ͤ(|ʫ*! s#r÷͐oß=9͐͐͐! s#r͐* ͐ ԅ*͐"* ͐" ͜:+"2*2!i*2~#fo*\*2~#fo*\*2~#fo͐s#r*2"2*͐(:!9>2*6͐o͐V͐ͭ1͐3͐|͐#2! 9Can't copy to self!9DM*"*~#fo|) *n} *n}) *~#fo"͜:*~#fo|? * ~#fo~#fo| z`is#rx! s#r͜:8!*n&?**,#|ʸ !*~#fo*%#| ! rc ͜:͐͐9*6!9Swap Write Error!9DM*͐!*|a!**s#r** *s#r*n& k9*s͐m"͐"*n& k9"*~#fo"*n}2*~#fo"**~#fo" * *" **!*##~#fo|"*~#fo" "*##~#fo*~#fos#r*~#fo##*##~#fos#r*w#w*##*s#r**s#r*"!9DM͐n}†"y#͒#"*6*͐ns*6* ͐s#r͐~#fo|P#z`is#rx! s#r͜:8!͐n&?**,#|6#!*~#fo*Ͷ#|>#!#rc͜:͐͐9͐6͐*!9! ͉s!9Swap Read Error!9DM*#! s#r*`is#r! ^#Vr+s!#͐n}#͐n}#͐~#fo`is#rö#͜:͐j$*`is#r͐|S$͐n}>$͐n}S$͐~#fo`is#r$͐|j$!$rc!ï$͐n}¨$͐ ~#fo6͐ ~#fo͐ns͐ï$!9Fatal Paging Fault!9DM`iw#w͐* %͐n} %`i^#Vr+s$͐*.%!'rc! '`i~#fo)))s#r͐n͐|g}o|g}o|z%`i^#Vr+s=%͐n͐|g}o|g}os! 8}"*|[&͒#"*~#foA~*6*##~#fo|&*##~#fo*~#fos#r&*~#fo"*~#fo|D&*~#fo##*##~#fos#rP&*##~#fo"! 8}"͜:*͐ s#r*##͐s#r͐ |ʕ&͐ ##*s#rå&͐###*s#r͐|ʾ&͐*s#r&͐#*s#r**s#rs#r*6*͐s͐4* '!9Swap file full!!9DM͐~#fo|W'͐~#fo##͐##~#fos#rn'͐###͐##~#fos#r͐##~#fo|ʘ'͐##~#fo͐~#fos#rë'͐#͐~#fos#r͐5͐n}U(͐n& k9"*n&n*n&|g}o}/o|/g|g}os͐n& k96͐n& k96Ù(͐n&n͐n&|g}o}/o|/g|g}os͐A~!9DM*~#fo**$"|(!*m"*n& k9"͐*~#fo*͐ԅ*6>2*͐" *" ͐"**͐s#rs#r͜:+"2*2!)*2~#fo*)*2~#fo͐)*2*s#r*2~#fo͐s#r*2"2m)*͐** *͐(:!!*rcCan't delete current Buffer M!"a*D*+W*!V!͇*̜:<***ڄ**~#fo !(:*#"*#"* * " M!"*|**##~#fo* *(:*+"* *** +"+*!̜:ñ**~A+[+ "h,"j,"l,*h,!k"n,##^#V*M+*j,!k"p,*n,"r,DM*p,`iڇ+^#V*+! DMf+*n,DM!"t,*p,`i+##^#V*º+v,|+"t,! DMÒ+*t,|c,>wc,`i^#V* ,! ^#V* ,*p,`i ,! DM+! "r,*n,!,!>w*l,|c,*r,DM*n,`ic,^#V*c,! ^#V*c, >! DM.,͜: N#F*##~#foŒ,PY€,! ",",!+DM!PY,^#V*,*,`is#r*,! s#r! DMë, "`-"b-"d-!+DM!PY^-^#V*U-! ^#V*U-*d-*A-! s#rU-*`-`is#r*b-! s#r! DM,!+DMPY!ڥ-^#V*œ-! ^#V*ڜ-! s#r! DMl- !"$*a-a*).͜:*~*$-#"$͋;:Y2Y͇*-û-͜:a*).*~).͋;:Yo:).*~*$w#"$ i;͇*--!9DM`iw#w*#~#fo"**y.`i~#fo*~#fos#r*~#fo"D.͐*Æ.!9*#~#fo !(:!"*###~#fo *(:!"*###~#fo *#(:!"*|͝ /**#~#fo͝**ͯ8/**###~#fo͝!9DM*|R/*á/|0`is#r!ͤ*|p/!V!"͐ͪ2|ʒ/!V͜:v/͐3*á/!9!9DM!ͤ*|/!V!"*͐/8//|/!V͜:/!9DM`iw#w͐#~#fo"*|l0**E0`i~#fo*s#r_0`i~#fo*~#fos#r*~#fo"0͐s0!9!9DM+`is#r͐~#fo|ʬ0`i^#V{_zWr+sÌ0͐!0!1rc`is#r͐##*s#r͐*s#r͐*s#r͐0!9No more marks!9DM͐k!9DM͐n`is#6͐6͐Y1!9!9DM͐6!9DM͐##*s#r͐*s#r͐*s#r!9DM͐~#fo|1!2rc͐##~#fo*1͐##~#foo͐~#fo ͐~#fo(:!"Invalid mark!9DM*! s#r͐ ~#fo`is#r͐ ~#fo! s#r͐ v1`iͭ1!9!9DM͐~#fo*͝¦2͐~#fo*͝!9DM͐~#fo|2͐##~#fo*2f:͐~#fo*3*͐~#foͩ*"*|13*͐~#fo13*~#fo" 3*|ͣ!9DM͐~#fo|g3͐##~#fo*j3f:͐~#fo*–3*͐~#foͩ*"*|3*͐~#fo3*##~#fo"Ü3*|ͣ!9DM͐w#w!9DM*#~#fo *~#fo|4*~#fo*%'3+"2*2!{4*2~#fo|n4*2##~#fo*n4*2*s#r*2w#w*26*2"2 4!͐r! s#rz4!(:*" *" !"*s{2͍͐!v6`iw#w!*͐Ͷ 6*!?" *" !"!(:>2͐|a58 a5*6*##~#fo^#Vr+s*##~#fo^#Vr+s`iw#w**58„558 5*#(:=9**ڴ5`i6#658 5* +" *+"* 6*+(:*#(:g585 6!**$|6 6*~#fo 4846!6rc͍͐=9*" *"*#~#fo !(:!"*6!v6!9Read error or no EOF!9DM͜:͐͐`is#rzº6!ñ8͜:͒#! s#r͐6͐~#fo! s#r|0"2͐ ! s#r*#~#fo"͜:*|7͜:* !(:*~#fo"**78! s! n}–7! ^#Vr+s6 ͐! ~#foڐ7!͐ ͐%͐ ! s#r! 6 ! ^#Vr+s! ns͐! ~#fo7͜:!͐ ͐%͐ ! s#r*#(:'77! ^#Vr+s6͐͐ ͐͐ |g}o|<8!?8!! s#r͜:͐͐͐ ͐%s8ͅ:x8*6͐6͐6͜:͍͐*2ͭ1*23͜:!ñ8! 9!9DM͐n&*n&͜:!8*&*&+wSwapping...!9DM͜:*&*&+u=x͐͐ux** N9** Ҟ9* * *" * ** *ԅ*" * "9** * * ԅ* ** " *" !9DM*9͐*!+*v++#:͐v++*#+͜:!9DM͐"*͐"* d:** * "!q:rcMark in wrong buff!!:rcWrite error:獷ʵ:!:*###::2ͭG:덠G:썸:!&ͩ~| ;!&:獷:!:*:2ͭG:ꍠo&z }.; C;C;-Oxͱ;!Y4~!c*W=;w!]4 f;:_G:YT;T;G> ;.Y;{;O>~;y.;O>^;y@.; ;;!o&*Ymy Mͱ;:퍷;* :2ͭG:G:;:2yͰ!V$e!V͋e!9DM!(!$!!<ͣe|*: Not Found!9DM!(!$!!">ͣe|Q=!">! w#w͐$n}>͐#$n`is#6͜:͐#$6|0"s!!$Bg|=*sͭ1͐V !=>Kc*s3͐#$͐s!">͐#$͐s͐+V*s3! ^#Vr+sY=͐V!9Search Forward For : Not Found*?"!C|0"sͦD"*sͭ1͜:!*sh*s3*|>*ͷh|¬>hì>*ͪ/!"Ͷ 8"*a?*z?*"$?*A$?*Z$?* "*8E?!:*M?!V*|^?*" !"|0"s!V͝R!V/|?i|ʗ?*s-i!V|0" R͜:*ͪ2|,@!Ii!V.|¦@i|Ž@!VHR/|@&j|@!:HR͜:ñ@! !"/|@&j|A!!V͜:: Not found*";D*";D!9DM!"!`i! !Bͣe|ŽBB*q7j͜:*q*̈́*qo!CKc͜:`i͔6|B!Crc!-CKc*o)))))u~#foo!9Write Region To File: Writing...Can't write to fileRegion written to file|0"s!"!͇jF.|>F!MF3|>F!VFrc*o)))))u~#fo"!`ͨP*[DFp\ pw.hlpa:pw.hlpCannot find help file!!"|0"sP*q*s̈́*qo!*o)))))u~#foo*s3P!G!FKcLv!!VBIA-Add, C-Change, E-Edit, I-Ignore, R-Root, ?-Help, !9DM! ͍I!!V`i͍I!! `i!9DM!"!!V`i͍I!H! ͎! ! e!H! e!! !! ͣe|H!:âH!! `i !*J!"*q7j*qo!6I3|Iͭ.!I! *o)))))u~#foo͏.BIADDDICT.SPL!9DM!"!/*|cI*JÀIai`i͍I!I`ie`iKc!9 : !9DM! w#w|0`is#rP|0! s#r͐ͭ1͐q2|I! ~#fo! ^#Vr+s8s!VýI! ~#fo! ^#Vr+s6͐-i͐3!9!"*qo]/|LJ.|\J!{J͔6*q7j*o)))))u~#foo!p͜lADDDICT.SPL*m*v1!JKcMark Set*V!"*:!"*V!"z!"|0"s*(K/|"K8"K!V%K͋e+K$e*ͩ*sbm*s3!*ͷh|jKL!V.|NL!V8"!:!V** ͭ1 ,++"*ҞLh*+"ÅLH*ͪ2*bm!M̈́m"`Lv|g}o"m*|LͲ`*m)~#fo!L!9~#foeXtended:*v1*qoͭ.|0"s͏.*o)))))u~#fo*s̈́*s3*o)))))u~#foo!M̈́m"`Lv|g}o"m*|ʋMͲ`*m)~#fo!M!9~#foMeta:|0"s$eHR*s-i!"|0"s*V*s*s3!"/| N&j| NNNai*m$e!!hͦi&j|2NHR!Qo|>Q8Ձ!:͜:Q!yn*|]Q*" cQ* "**""}Q$eHR͋eR!Vp|0R>R!V͜:R!͇j/|gRh|gR!:͜:IR.|›R!Vh|ʊR!:ÕR!VÛR͜:gR!͇jh|ʼRp|¼R͜:æR!͇j|0"sP!*sbm*s3!!oo/|R|0"s!!oͦi|0"*sͭ1!!oo**s-q!!oͦi**s-q*s3*-i!"!"a!"*|WT*)))))u~#fo|MT!*#"u=x*1b1*)))))ux! *u*)))))u~#foͺ8|S!*;T! ;! ;*)))))u~#fo0{q!*u*)))))u x͜:*+"yS!*#"u=x*1b1x`**ڏT !"Ͷq|ʢT!"k!9DM!"`i6!`i! !Tͣe|TT`in}ʼT`iI_!9File to Find : *|U*"_U: !"*o)))))u~#foͺ8|ʒU!Uͽr|’UͲ`!*o)))))u ! !%Vͣe|½U*o)))))u Ns*o)))))u 3|U!9VKcUͲ` Discard Modifications you have made? File To Read : New File!"!VKc*o)))))u ͔6|vV!Vrc~V!VKcWriting...Can't open fileFile Written!"!*o)))))u ! !Vͣe|V*o)))))u NsBV File To Write : *#2!"*|/W*""5WXx: Create new buffer?-NAME.ME!9DM!"! !`! !CZͣe|GY:Z!`c!`ͨ`is#rzmY!XZrc:Z͐*oY]X͐*o”Y*:Z͐)))))u~#foͺ8|ʿY!gZͽr|¿Y:Z*v++Y͐*Y[͐)))))u##~#fo3͐)))))u~#fo͐)))))uw#w*o)))))u!`͎!9Delete Buffer : Does not existDelete Modified Buffer?*|ʑZ*" ×Z: Too Many Modes*v++[!"*1b1v++"*3*3!"*v++7\v++"H|0"* #2|0"* #2*o" !9DM*v++ڋ\]*"* "*" *"|0"*o`is#r**o\*P͐"!"* ͭ1!V*v1*-i*|͝"!9*v++]p\*+"#6]nL]p\*v++N]p\*+"#h]AOQ]p\*v++ڀ]*1b1**|ʟ]*å]*"*v]v"*]!" !"|0"s͏./|^͋eHR!V]*s-i!9DM!"`i6*o)))))u `i͎!`i! !^ͣe|Y^^*o)))))u `iւ|¨^*o)))))u~#foͺ8|ʨ^`i͔6|¨^!_rc^`iNsͶq|ʺ^^&v!`i!$_!'_͸!`i!._!1_͸Ͷ !:_rc!9File To Spell : Can't Save Buffer-nPS.COM-nA:PS.COMCannot find PS!9DM͐ `i b͐ Ns`ic!"*|_*)))))u~#fo|ʱ_*)))))u ͐ ւ|ʻ_*+"t_͜:*|p``iͨ"*| `! `i! !`ͣe|_{``ic`iͨ"Ͳ`*|*`͐ `i,"|*`{`͐ *)))))u ͎*)))))u~#foo͐ 3|p`!`Kc*PH! 9Buffer Exists! Buffer to Use : New File!9DMz`is#rx! s#r!v+u=x͐͐ux!9!9DM*?*ѯg?`is#r͐|;a4v|/aIa`i^#Vr+sa4v|Ia;a!9!9DM͐c!a͐ւ|{a!!b͐ւ|“a!p!b͐ւ|«a!s! b͐ւ|a!v!b͐ւ|a!f!b͐ւ|a!o!normalspellsaveviewfilloverwrite!9DM!:͐ s#`is#r!.͐ s! s#r͐|mb͐ Q! s#r͜:͐͐ڗb`iw#w͐ Q! s#r͐͐Ҿb͐! s#r͐ ͐! s#r͐͐ ͐ c! ^#Vr+s͐ns! ^#Vr+sb͐ 6!9!9DM͐͐n&Ձs{Ic! ^#Vr+s"c!9DM!v+u=x͐xx!9DMz`is#rx! s#r͐wv+wzx`͐͐ux!9!9DM4v|ce!e*iv++w*o)))))u~#fo+.`is#r*o)))))u~#fo0! s#r͐͐Dd!d{qöd͐ld͐dk͉͐{qöd͐Ҝd͐ k͐ ͉#͉{qöd͐͐d͉#͉{q͜:!ex*o)))))u~#foͺ8|d!*d! ;*s|d!+d! ;=x!9 -%- !ͤ*!ͤ*|:e!V!9DM!"*|e*)~#fo͐|e*)͐s#r͜:*+"Je!/*|ʡe!V!9DM͐X!v+w=xx!S sx`i!Q s#r`Lv!P s!Z n}f!P n}fͲ`!4g͐Q`i͐^+Tf!P n}Tf!P n}Tf!S n&͐Q`ilt!Q s#rz!P n} qfʋfʋfʺff!=gx!Q ^#Vr+s6f͐Q`iҷf!S n&͐Q`ilt!Q s#rf`Lv!P s!P n&;!Q ^#Vr+s!P nsfxe͐Q`ig͐Q6`i͐\͎g͐\ͪt!v+ux!4g!T9!9DM!"! ~#fo*n}[h͐||g͐n&/*Èg͐n&ͤ*|g[h͐|¡g!V!"/|h! ~#fo*n}h8! ~#fo*n&h8Ձ! ~#fo*n&hh!V͜:*#"çg͐|5h! ~#fo*n}Uh͐|Dh!Gh!*V͜:Pg! ~#fo*n}͝!9DM͐"**_ڭh! ͜:**_"Âh*ti!9DM͐!VK͝h͐!K͝!/*8 ͝ i8 ͝h|ͣ)i8͝!9DM͐ͭ1͐3!9DM͐!io!V!:!9DM͐"*Ҥi! ͜:*+"Ãi!9DM͐|¿i!V͐|i/i.| j͐!i!9~#fo| j͐|i!j!V͜:ÿi͐|$j.|$j!V8͝!9DM͐oͭ.|0`is#r͏.͐͐3*o)))))u~#foo!9!9DM͐!iͦi!9DM͐++++|j**ѯg?"*j4v|j!(k*+"jz`is#rx! s#r!1kKc͐{q=x͐͐ux!(k!9Argument: !9DM|0"s͐ |Zk`i6,^k`i6 ! w#w͐|Zl!͐Bg|Zl͐ | l`in},¾k!vlKc͐ͪt!lx͐ ͪt!'; `Lv`is`in}k l,lYlyl!l.llͲ`*s3ml l! w#w l! 6#6fkfk͐ ͐t`in},Wl !lͽr|Wl͐͐ tfkͲ`*sͭ1*s3!9Replacing '' with 'Confirm Replace?!9DM!"*|]m͐*o)))))u*n&Sm*;m*o)))))u*n};m*o)))))u**o)))))u*+ns*+"l*o)))))u*6*+"êlN!9DM͐͐͌p͐!9DM**ѯg?"*|ʼm4v|ʲm!m*+"Ümz`is#rx! s#r͐Kc͐͐ux!m!9!9DM͐ͪ/͐n: Replace : with : !9DM͐!Juo͐|\o!V/|lo.|no&j|ʘo!Vp"͐|ʕo!Vôo|0"s̈́u"*sͭ1*s3*|ʾo͐|o!o!V=o8|ͣo8|ͣ!9DM͐|p!V͐|$p/'p.|ap͐!>p!9~#fo|ap͐|Sp!Vp!V͜:p͐|zp.|zp!V!!oo!9DM*s|©p*q7j*qo͐|pͭ.p͏.*o)))))u~#foo*q͐̈́/|ͣ)q8 ͝)q&j|ͣ)q8@͝)q8.͝!9DM͐ͪ2|rq8`is#r͐#2͐͐#2!:5q!9!9DM͐ Ҡq͐ ͉{q͐ )0;!"!"*| r*)))))u~#fo|r**)))))u~#foͺ8|g}o"*+"q*|*r!1rͽr|*r!/r!Abandon Modified Buffer(s)? !9DM`iw#w!(`i! ͐Vͣe|~r!çr`iRa!P s#rzʙr͐Pçr!rrc!çr!R9Unknown Mode!9DM͐Kc`Lv`is{ ͝r`in&ͿY͝! s#rzs;s`in}2s`in}2s`in}2s`in&ͿN5s;szrͲ`͐Es!9!9DM͐͐n&Ϳs{}s! ^#Vr+sVs!9DM`iw#w͐n}s! ^#Vr+sn! n}¸s͐s`i^#Vr+sÍs!s!9!9DM͐!J͝ht͐!PP͝ht͐!R͝ht͐!O͝ht͐!L͝ht͐!|O͝ht͐!P͝ht͐!Q͝!9DM! ^#Vr+s6! n&zu͐ͪt=xx͐!9DM͐n}t͐n}t! ^#Vr+sn&;t!tx! ^#Vr+sòtx!9DM͐QV͐Q:͐n}Hu! ^#Vr+sn&&u&j|ͣ€u8.͝ʀu8?͝ʀu8!͝!V!!uͦi/|ͣ­ui|ͣ8)͝u8]͝u8}͝u8"͝u8'͝!9DM͐"W͐"Y͜:*&͜:x!z͜:͜:!&k|͝!9DM!&k|gv͜:Tv!&͑`is#r͐*&Žv*&v͐*&§v*&v͐*&v*&v͐*&v*&v͜:͐v!9!9DM!P!&!z`iw#w͐*ѯg;w͐c*s`i^#Vr+sw!"]"[Pw!9!9DM!"Y"W*}ʴw!z*&8{`iw#w͐*ѯgҨw͐c6`i^#Vr+sÁw!"]"[÷w͹{͜:!9*&͜:!9DM͐͐u͜:͐n} x! ^#Vr+sn&;w!9DM͐n}8x! ^#Vr+sn&;x͜:!9DM*Y*Wcnѯg]xxx͜:*}ʀx!z*&8{ýx*Y`is#r͐*Wcnѯgҽx! ͧ;*]#"]͜:`i^#Vr+sÉx*Wc*Ys!9*Y͜:*Y*ѯgx!"Y!byrc͜:*[*Wy*]*Yy!z!5|!z!5|!z*&8{*W"[*Y"]͜:Off Screen!9DM͜:! n& ڞy! n&~ڞy!ûz! n}ʱy ʻy(z͐ûz! ~#fo*ѯgs#r*_͐*_`is#r*͐! s#r͐͐%z͐*_`is#rñz! n&|g}o|cz! n&|g}o͐#my#`is#rjz`i6#6*͐*ѯg! s#r͐͐Үz`i~#fo͐s#rñz͜:͐ûz!9*W͜:!z͜:!9DM͐n&! s#r͐#n`is#6͐|/{! ^#Vr+sn&ͧ;`i^#Vr+s{!9!9DM͜:*}j{! ^#Vr+szj{*&ͧ;L{*}­{! ^#Vr+szʭ{*&?`is#r͐|ʪ{`i^#Vr+sÕ{s{͜:!9!9DM͜:*}{x!z*&8{)|*W`is#r*Y! s#r*W*ѯg|=x*W#"W!"Y{͐"W͐"Y͜:!9!9DM͐*&`|*W*ѯg`iso|*Y*ѯg`is*}ʐ|`in*ѯgW|g}oͧ;Ú|`in&ͣ|!9!9DM͐ |͐ ͉ͣ|͐ )0ͧ;!9DM͢"4͉͐͢͝"6*4":*4*6)"8*86#6*:*6s#r!9DM͐ |O}!8~*:|]}!8~*:`is#r͐ ###͉! s#r*:~#fo͐}/*:~#fo͐ڮ}}*:͐}!8~|}*:~#fo! s#r*:͐s#r*:`is#r*:͐)":͐͐,~*:͐͐s#r/~͐##8~!9!9DM͐*4g~͐*8o~!~rc! ^#Vr+s͐͐~#fos#r*:|Ÿ~͐":Bad Ptr!9DM͐##~#fo#͐~#fo͝ ͐##~#fo͐~#fo͝ ͐~#fo͐~#fo͝!9DM͐##~#fo͐~#foR͐##͐~#fos#r`͐##^#Vr+s! ns!9DM͐~#fo͐##~#fo͝!9DM͐~#fo͐~#fo͐͐~#fos#rn&͐^#Vr+sn&!9DM͐͐͐##͐͐s#rs#rs#r͐+s#r!9DM*:`is#r͐~#fo! s#r`i~#fo͐~#fo)s#r͐*8ڊ͐~#fo|͐͢~#foڭ͐*8°Ҁ! ~#fo͐~#fos#r͜:S*:͐s#r!9!9DM*:*8*4":*:`is#r`i~#fo͐~#foǃ)s#r͐*8E*4`is#r͐*8a͐~#fo|d͐͢~#fo|tÒ͐*:Œ`iw#wÒ͜:͐":!9!rcMemory Munged!t!9~aЁ{Ё o&!9~A[ o&!9~A{a[!9~0:!}!}!9DM͐n}O! ^#Vr+sn&ͦ-!9DM`iw#w! ^#Vr+sn}~`i^#Vr+s_͐Å!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{Ƃà͐͂!9!9DM`iw#w! ~#fo͐n! ~#fo͐n}0! ~#fo`i^#Vr+sn}-!\! ~#fo͐n! ~#fo͐nѯgW\!9!9DM͐`is#r͐n}ʏ! ^#Vr+sw! ^#Vr+s͐ns! ^#Vr+sn}͐þ!9!9DM͐|͐͐7*!9& 6C#6O#6ME!w#w#*w#&:**=*!Âѷʤ!Å 7,2q*&:q):ʮ=ʮ=r:qo&7:)~:,"s!"u*| **s! ~ 6*u*+"*"*u#"u؄7:,*͑:*N}|2q u:qwp! {w , FNxg>Goy$7**:Ozυq#Dž7*|DM**><~# x ><~+ x|}7:)~:,"s!"u*|*uʋ*~#b"*s*u‹#"u*+"O#7*Շ\!*r7*!9& 6C#6O#6M*|!\&!\&*|!!l&!~#foG> +>#~,## a{ !ps!*w#T:**k*!ѷ!*+*  º > _ ɇ !\&! ><~+ x|}7:)~:,"s!"u*|*uʋ*~#b"*s*u‹#"u*+"O#7*Շ\!*r7*!9& 6C#6O#6M*|!\&!\ is 'M-', the Meta Command Prefix C-X is 'X-', the Xtended Command Prefix 'C-' indicates a control character =============================================================== MOVING THE CURSOR C-F Forward Character C-B Backward Character M-F Forward Word M-B Backward Word C-A Front of Line C-E End of Line M-A Front of Sentence M-E End of Sentence C-P Previous Line C-N Next Line M-P Front of Paragraph M-N End of Paragraph C-Z Scroll Up C-V Scroll Down M-< Front of Document M-> End of Document =============================================================== DELETE COMMANDS C-Y Yankback Deletion Previous Character M- Previous Word C-D Next Character M-D Next Word C-K To End of Line M-C-K Entire Line M-K Sentence Forward M-H C-W Paragraph M-\ Surrounding Whitespace C-\ Leading Whitespace M-C-O Surrounding Greyspace X-\ Global Trailing Whitespace TO DELETE REGION 1. At Front enter C-@ to Set Mark 2. Move Cursor to End of Region and type C-W =============================================================== SEARCHING C-S Forward Search C-R Reverse Search M-R Search & Replace M-C-R Search & Replace with Query C-G Cancel . Exit to Entry Point ! Replace All , Replace & Query Again Y Replace & Continue N No Replacement & Continue =============================================================== FILE COMMANDS X-C-R Read File X-C-F Find File X-C-S Save File X-C-W Write File BUFFER COMMANDS X-C-B Buffer Directory X-K Delete Buffer X-B Switch Buffers MULTIPLE WINDOW DISPLAY X-2 Two Windows X-1 One Window X-O Other Window X-^ Grow Window =============================================================== ARGUMENTS C-U Universal Argument (followed by digits) Meta Prefix (followed by digits) After specifying argument count, give command to be executed =============================================================== UTILITIES C-T Transpose Characters M-T Transpose Words X-= Echo Location X-C-C Quit M-Q Reform Paragraph C-G "Go Back" or Cancel M-C-W Turn On "+" X-C-X Swap Point and Mark C-Y Yankback C-L Refresh Screen M-S Center Line C-Q Quote Next Character X-S Call Speller M-? Call Help File =============================================================== WHITESPACE AND INDENTATION X-. Set Indent Column X-F Fill Column Setting X- Set Tab Indent Rest of Line Same As Current M-J Open Subsequent Indented Line Same As Current M-O Open Leading Indented Line Same As Current C-O Open Line M- Drop Line Vertically X-> Indent Region X-< Undent Region =============================================================== CASE CONVERSIONS M-U Uppercase Word M-L Lowercase Word M-C Capitalize Word C-^ Toggle Case of Character =============================================================== MODE SELECTION {X-M Add Mode X- Delete Mode} NORMAL Words do not wrap. SAVE Automatically saves file after every 512 charcters. FILL Turns on word wrap (automatic carraige return). VIEW Allows viewing file without insertion and deletion. OVERWRITE Editing commands overwrite and cursor moves vertically. SPELL Allows for correction of misspelled words. =============================================================== COPYING & MOVING Copy Region 1. With the cursor at front of region to be copied enter: C-@ {echo line responds "Mark Set"} 2. Move cursor to end of region to be copied and enter: M-W {"+" sign appears in mode line} 3. Position cursor at destination and type: C-Y Delete Region: Complete steps 1 and 2 above and then enter: C-W Write Region: Complete steps 1 and 2 above and then enter: X-R {echo line asks for file to write region to} Insert File: Enter X-I {echo line asks for file to insert} ============================================================= (C) 1982 Perfect Software, Inc. All rights reserved. diting comman===== (C) 1982 Perfect Software, Inc. All rights reserved. t} repeats the command that follows by {digit} ==============================================================3BE1 MBLINE 3BEF MFLINE 3BFD MINCRSEA 3D24 MINCSEAR 3E47 MARG 3E5E MINDREST 3E90 MNEWDSP 3ED6 MTOGLC 3F4F MFILLPAR 403E MRNEWDSP 4084 MINDNL 408D MCLOSEWH 40E2 MDROPLIN 4123 MOPENIND 4147 MARGDGT 4165 MINSSFI 4249 MINDNTRG 4254 MUNDNTRG 4262 MWRTRGN 4344 MFILLCHK 43CD NUMARG 44A6 GETIND 44BE INDRGN 4534 MWHATVER 4597 MHELP 466D SPADD 46BF SPHELP 4721 SPIGNORE 476F SPROOT 4814 SPCHANGE 48D1 SPEDIT 48DF SPINIT 4942 SPNEXT 498D SPGETWOR 4A2A SPEXIT 4A87 MINSERT 4A92 MSETMRK 4AAE MPREVCHA 4AC2 MDELCHAR 4AD3 MNEXTCHA 4AE4 MABORT 4AF0 MDELLIN 4B4B MNEWLIN 4B56 MNEXTLIN 4B8B MOPENLIN 4B9E MPREVLIN 4BD3 MQUOTE 4C21 MSWAPCHA 4C6E MNEXTPAG 4CA3 MDELRGN 4CB8 MCTRLX 4D0C MYANK 4D62 MMETA 4DAE MDELINDE 4DCB MRDELCHA 4DF5 MOVERWRI 4E16 MPBEGLIN 4E34 MPBCHAR 4E45 MPENDLIN 4E4E MPFCHAR 4E5F MPBACKSP 4E95 MPNEXTLI 4EA8 MPPREVLI 4EBB MPTAB 4EDB MPNEWLIN 4EFC MSINSERT 4F20 MNOTIMPL 4F41 MPREVPAG 4F7C MDELELIN 4FB3 MQRYRPLC 4FBE MMAKEDEL 4FC1 MTOSTART 4FCF MTOEND 4FDD MBSENT 5003 BWORD 5020 MCAPWORD 5050 MDELWORD 5071 MFSENT 507F FWORD 509C MMRKPARA 50B5 MDELSENT 510F MLOWWORD 5140 MREPLACE 514B MCNTRLIN 51C6 MUPWORD 51F7 MCOPYRGN 520C MBPARA 5248 MDELWHIT 529D MFPARA 52C6 MRDELWOR 52E7 MSWAPWOR 5366 MLSTBUFF 5491 MEXIT 54AA MFINDFIL 5506 MSETTABS 5529 MDELMODE 555F MFILEREA 5642 MFILESAV 56A8 MFILEWRI 570C MSWAPMRK 571D MSETINDE 575F MPRINTPO 585D MSWITCHT 591A MKILLBUF 5A7F MSETFILL 5ABF MADDMODE 5BDE MONEWIND 5C24 MTWOWIND 5C70 MSWPWIND 5D09 MNXTOTHR 5D3B MPRVOTHR 5D6D MGROWWIN 5DE3 MTRIMWHI 5E10 MGOSPELL (C) 1981 Perfect Software, Inc. Symbols for Perfect Writer Version 1.03 of 04-28-82 4BD3 MQUOTE 4C21 MSWAPCHA 4C6E0C MBPARA 5248 MDELWHIT 529D MFPARA 52C6 MRDELWOR 52E7 MSWAPWOR 5366 MLSTBUFF 5491 MEXIT 54AA MFINDFIL 5506 MSETTABS 5529 MDELMODE 555F MFILEREA 5642 MFILESAV 56A8 MFILEWRI 570C MSWAPMRK 571D MSETINDE 575F MPRINTPO 585D MSWITCHT 591A MKILLBUF 5A7F MSETFILL 5ABF MADDMODE 5BDE MONEWIND 5C24 MTWOWIND 5C70 MSWPWIND 5D09 MNXTOTHR 5D3B MPRVOTHR 5D6D MGROWWIN 5DE3 MTRIMWHI 5E10 MGO*K͞+YW'+FÎr SID VERS 1.4$1w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!">2>2>22Ï#1571200BADJ’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy6*\#"\È!\!~!\!#|!!!!!"\"\"\!8!!\!8!փ!!\!8!!\!"\*!9DM!CͤC!!!C!C!!\%D!!%D!(!ƒ%D!/!$%D`i6#6͐͐Ҳ ! ~#fo͐)~#fon}-¦ ! ~#fo͐)~#fo#"!6*GC|ʌ!:!\%D! ~#fo`i^#Vr+s)~#fon}2\æ !C*GC|! ~#fo`i^#Vr+s)~#fo!%Dæ !E*GC| !I!%D! ~#fo`i^#Vr+s)~#fon}2æ !V*GC|G !Z!ƒ%D! ~#fo`i^#Vr+s)~#fon}2ƒæ !c*GC|ʈ !g!$%D! ~#fo`i^#Vr+s)~#fon}2$æ ! ~#fo͐)~#fo!pC`i^#Vr+s!!\!ƒ!$!C!\!C!"\*\ *\ k6*\#"\ y!\!C!\!mD#|< !!CUI !!C!"\"\"\!8!5!\ͭD!8!փ!8!\ͭD!8!>!\ͭD!"\*\Ҿ *\ |¾ *\!AC*\kd!8!!F!\ͭD"\!D"\*\kd6*\*\g *\#!!QC*\*\!rC*\kd!8*\!C!CUô *\+++|ʴ *\#"\!!C*\kd!8*\!C!CU*\#"\Ö !!C!\͠E!!!C!-C!"\!"\*\ҿ *\ | *\!MC!"\*\ k*\kdE|^ *\^ *\#"\" *\’ *\kd!RC!nC!"\õ *\)Y*\ k ~#fos#r*\#"\ *\| !CU!C!!!\U!փͺ"\*\#| *\ !}2\!!$!U"\#|d !!*\eU#|d !!Y*\Ud *\2V#|w !$!CUÄ !$!C!"\!`!ƒZF#|B!ƒ!C!`G#|!ƒ!C!`!ͬF#| !`G#| !`͠E#|!ƒ!C!ƒ!3C?!ƒ!9%s Not Written Correctly Cl!ƒ!Lf%s Not Opened Correctly C!rxFini.CU!9PWBIND - Set up the key bindings for Perfect Writer 04-28-821.03Created for Version %s on %s serial %s (C) 1982 Perfect Software, Inc. PW.SYMFUNCTS.TXTPW.HLPPW.SWPsymA:PW.SYMftxtA:FUNCTS.TXThlpA:PW.HLPswpA:PW.SWPUnknown command line option: '%s' Updating %s and %s, using information from %s and %s. Reading %s. Symbols Successfully Loaded From %s. Cannot Open %s. Aborting...Reading Bindings From %s. %s%s %s%s %d %s %s %s %s Out Of Sequence At Line #%d; %d is expected but %d was found. Damaged Line: %d %s %s Aborting... %s Is Damaged At Line #%d. Damaged Line: %d %s %s Aborting... Bindings Successfully Read From %s. %s Closed. Setting Up Function Data Table %d Cannot find function "%s" (Maybe it's misspelled...) Aborting... Function Data Table Successfully Built. Can't update %s %s Correctly Updated. %s, the HelpFile Is Open. Done Writing %s %s Not Closed Correctly %s Closed Correctly !9DM͐͐n&ͨCs{w! ^#Vr+sP!9DM! !\mD|!\!CU! w#w!"\͐|ƒ*\### k*\### k *\## k*\## k *\# k*\# k *\ k*\ k !! ͭD!9`is#r*\####"\͐Ҁ! 6#6ò! ͠E! 9Can't open %s. %x%s %x%s %x%s %x%s !9DM͐!͐E|!!͐E|!c!͐E|!a!͐E|+!l!͐E|C!p!͐E|[!s!͐E|s!q!͐E|‹!m!͐E|£!v!͐E|»!f! ͐E|!o!normalcasmlispspellsavequartzmssviewfilloverwrite!9DM͐͐n&;Cs{E! ^#Vr+s!9DM`iw#w`i~#fo!;?!;͐Is#r`i~#fo!;?!;͐Is#r`i~#fo!<͐Is#r`i~#fo!J<͐Is#r`i~#fo!L?! >?!'>͐Is#r`i~#fo!T>?!]>?!f>͐Is#r`i~#fo!>?!>?!>͐Is#r`i~#fo!>͐Is#r`i~#fo!>?!>?!>?!>͐Is#r`i~#fo!%?͐Is#r`i~#fo!f??!l?͐Is#r`i~#fo!??!??!?͐Is#r`i~#fo!??!??!%s Next Character %s Next Word ͐Is#r`i~#fo!2;MDELELIN?!GOMDELLIN?![Ç%s To End of Line %s Entire Line ͐Is#r`i~#fo!ñMDELRGN?!MMRKPARA?!MDELSENT?!%s Sentence Forward %s %s Paragraph ͐Is#r`i~#fo!7@MDELINDE?!LUMDELWHIT?!aÔ%s Surrounding Whitespace %s Leading Whitespace ͐Is#r`i~#fo!ÿMTRIMWHI?!MCLOSEWH?!%s Surrounding Greyspace %s Global Trailing Whitespace ͐Is#r`i~#fo!=EMSETMRK?!QÅTO DELETE REGION 1. At Front enter %s to Set Mark ͐Is#r`i~#fo!îMDELRGN?! 2. Move Cursor to End of Region and type %s ͐Is#r`i~#fo! ͐Is#r`i~#fo!<EMPRVOTHR?!QZMNXTOTHR?!foMONEWIND?!{ù<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!=============================================================== ͐Is#r`i~#fo!=HSEARCHING ͐Is#r`i~#fo!hqMINCRSEA?!}ÆMINCSEAR?!ü%s Forward Search %s Reverse Search ͐Is#r`i~#fo!MREPLACE?!%s Search & Replace ͐Is#r`i~#fo!)2MQRYRPLC?!>^%s Search & Replace with Query ͐Is#r`i~#fo!ö C-G Cancel . Exit to Entry Point ͐Is#r`i~#fo! ! Replace All , Replace & Query Again ͐Is#r`i~#fo!/l Y Replace & Continue N No Replacement & Continue ͐Is#r`i~#fo!Î ͐Is#r`i~#fo!÷MPRVOTHR?!MNXTOTHR?!MONEWIND?!+ <%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!N Ï =============================================================== ͐Is#r`i~#fo! þ FILE COMMANDS ͐Is#r`i~#fo! MFINDFIL?! MFILEREA?!!3!%s Read File %s Find File ͐Is#r`i~#fo!U!^!MFILEWRI?!j!s!MFILESAV?!!ë!%s Save File %s Write File ͐Is#r`i~#fo!!! BUFFER COMMANDS ͐Is#r`i~#fo!!"MKILLBUF?!""MLSTBUFF?!)"X"%s Buffer Directory %s Delete Buffer ͐Is#r`i~#fo!z"Ã"MSWITCHT?!"ä"%s Switch Buffers ͐Is#r`i~#fo!"" MULTIPLE WINDOW DISPLAY ͐Is#r`i~#fo!"#MONEWIND?!##MTWOWIND?!)#W#%s Two Windows %s One Window ͐Is#r`i~#fo!y#Â#MGROWWIN?!#×#MSWPWIND?!##%s Other Window %s Grow Window ͐Is#r`i~#fo!## ͐Is#r`i~#fo!$$MPRVOTHR?!+$4$MNXTOTHR?!@$I$MONEWIND?!U$Ó$<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!$$=============================================================== ͐Is#r`i~#fo!%"%ARGUMENTS ͐Is#r`i~#fo!B%G%MARG?!S%%%s Universal Argument (followed by digits) ͐Is#r`i~#fo!%æ%MMETA?!%%%s Meta Prefix (followed by digits) ͐Is#r`i~#fo!%7&After specifying argument count, give command to be executed ͐Is#r`i~#fo!W&`&MPRVOTHR?!l&u&MNXTOTHR?!&Ê&MONEWIND?!&&<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!&8'=============================================================== ͐Is#r`i~#fo!X'c'UTILITIES ͐Is#r`i~#fo!'Ì'MSWAPWOR?!'á'MSWAPCHA?!''%s Transpose Characters %s Transpose Words ͐Is#r`i~#fo!'(MEXIT?!((MPRINTPO?!%(I(%s Echo Location %s Quit ͐Is#r`i~#fo!k(r(MABORT?!~(Ç(MFILLPAR?!((%s Reform Paragraph %s "Go Back" or Cancel ͐Is#r`i~#fo!((MSWAPMRK?!()MMAKEDEL?!)E)%s Turn On "+" %s Swap Point and Mark ͐Is#r`i~#fo!g)o)MNEWDSP?!{)Á)MYANK?!)û)%s Yankback %s Refresh Screen ͐Is#r`i~#fo!))MQUOTE?!))MCNTRLIN?!*9*%s Center Line %s Quote Next Character ͐Is#r`i~#fo![*a*MHELP?!m*v*MGOSPELL?!*ð*%s Call Speller %s Call Help File ͐Is#r`i~#fo!** ͐Is#r`i~#fo!**MPRVOTHR?! ++MNXTOTHR?!+'+MONEWIND?!3+q+<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!++=============================================================== ͐Is#r`i~#fo!+,WHITESPACE AND INDENTATION ͐Is#r`i~#fo!1,:,MSETFILL?!F,O,MSETINDE?![,Ë,%s Set Indent Column %s Fill Column Setting ͐Is#r`i~#fo!,ö,MSETTABS?!,,%s Set Tab ͐Is#r`i~#fo!,,MINDREST?!-,-%s Indent Rest of Line Same As Current ͐Is#r`i~#fo!M-T-MINDNL?!`-Ò-%s Open Subsequent Indented Line Same As Current ͐Is#r`i~#fo!-ü-MOPENIND?!--%s Open Leading Indented Line Same As Current ͐Is#r`i~#fo!.!.MDROPLIN?!-.6.MOPENLIN?!B.s.%s Open Line %s Drop Line Vertically ͐Is#r`i~#fo!.Þ.MUNDNTRG?!.ó.MINDNTRG?!..%s Indent Region %s Undent Region ͐Is#r`i~#fo! / / ͐Is#r`i~#fo!-/6/MPRVOTHR?!B/K/MNXTOTHR?!W/`/MONEWIND?!l/ê/<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!/0=============================================================== ͐Is#r`i~#fo!.0@0CASE CONVERSIONS ͐Is#r`i~#fo!`0i0MLOWWORD?!u0}0MUPWORD?!0ô0%s Uppercase Word %s Lowercase Word ͐Is#r`i~#fo!00MTOGLC?!00MCAPWORD?!031%s Capitalize Word %s Toggle Case of Character ͐Is#r`i~#fo!U1W1 ͐Is#r`i~#fo!w1À1MPRVOTHR?!1Õ1MNXTOTHR?!1ê1MONEWIND?!11<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!2X2=============================================================== ͐Is#r`i~#fo!x2Á2MDELMODE?!2Ö2MADDMODE?!22MODE SELECTION {%s Add Mode %s Delete Mode} ͐Is#r`i~#fo!23NORMAL Words do not wrap. ͐Is#r`i~#fo!:3z3SAVE Automatically saves file after every 512 charcters. ͐Is#r`i~#fo!33FILL Turns on word wrap (automatic carraige return). ͐Is#r`i~#fo!364VIEW Allows viewing file without insertion and deletion. ͐Is#r`i~#fo!V4Ú4OVERWRITE Editing commands overwrite and cursor moves vertically. ͐Is#r`i~#fo!44SPELL Allows for correction of misspelled words. ͐Is#r`i~#fo!55 ͐Is#r`i~#fo!35<5MPRVOTHR?!H5Q5MNXTOTHR?!]5f5MONEWIND?!r5ð5<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!56=============================================================== ͐Is#r`i~#fo!46F6COPYING & MOVING ͐Is#r`i~#fo!f6î6Copy Region 1. With the cursor at front of region to be copied enter: ͐Is#r`i~#fo!66MSETMRK?!67 %s {echo line responds "Mark Set"} ͐Is#r`i~#fo!87~7 2. Move cursor to end of region to be copied and enter: ͐Is#r`i~#fo!7ç7MCOPYRGN?!77 %s {"+" sign appears in mode line} ͐Is#r`i~#fo! 88MYANK?!8Y8 3. Position cursor at destination and type: %s ͐Is#r`i~#fo!z8Â8MDELRGN?!88Delete Region: Complete steps 1 and 2 above and then enter: %s ͐Is#r`i~#fo!8.9Write Region: Complete steps 1 and 2 above and then enter: ͐Is#r`i~#fo!N9V9MWRTRGN?!b9â9 %s {echo line asks for file to write region to} ͐Is#r`i~#fo!99MINSSFI?!9:Insert File: Enter %s {echo line asks for file to insert} ͐Is#r`i~#fo!7:9: ͐Is#r`i~#fo!Y:b:MPRVOTHR?!n:w:MNXTOTHR?!:Ì:MONEWIND?!::<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> ͐Is#r`i~#fo!:8;============================================================= ͐Is#r`i~#fo!X;Î;(C) 1982 Perfect Software, Inc. All rights reserved. ͐Is#r͐|ʲ;!ø;ø;!ø;!9MMETA%s is 'M-', the Meta Command Prefix MCTRLX%s is 'X-', the Xtended Command Prefix 'C-' indicates a control character MPRVOTHRMNXTOTHRMONEWIND<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> =============================================================== MOVING THE CURSOR MNEXTCHA%s Forward Character MPREVCHA%s Backward Character BWORDFWORD%s Forward Word %s Backward Word MFLINEMBLINE%s Front of Line %s End of Line MFSENTMBSENT%s Front of Sentence %s End of Sentence MNEXTLINMPREVLIN%s Previous Line %s Next Line MFPARAMBPARA%s Front of Paragraph %s End of Paragraph MNEXTPAGMPREVPAG%s Scroll Up %s Scroll Down MTOENDMTOSTART%s Front of Document %s End of Document MPRVOTHRMNXTOTHRMONEWIND<%s Quit Help; %s Next Help Screen; %s Previous Help Screen> =============================================================== MYANKDELETE COMMANDS %s Yankback Deletion MRDELWORMRDELCHA%s Previous Character %s Previous Word MDELWORDMDELCHAR!9DM*\#"\ "\`iw#w͐ k͐ E|F@͐F@`i^#Vr+s@͐ k ~#fo! s#r! w#w͐)Y~#fo͐ʠ@͐ʠ@! ^#Vr+sl@͐Һ@͐@!#A*\ k%D͐ !*AC@͐*\ kTA*\| A!LAC*\ kA!9NON FATAL ERROR -- %s is unbound Wait.. !9DM͐!ژA͐~ژA͐͐s! ^#Vr+s͐6B͐> ¨A>A>´A>A> A>B> A>B> A>'B>A>7BGB!B͐%D!B͐%D!B͐%D!B͐%D!C͐%D!C͐%D͐|g}o|ʄB!C͐%D͐|g}o͐##TAB͐|g}o|B!C͐%D͐|g}o͐##TAB!C͐%D͐@|g}o͐##TAX-M-C-!CWritten and produced by Barry A. Dobyns!9DM͐n&ͨC͐n&ͨCtC!! ^#Vr+sn}ʚC! ^#Vr+sn}ŸC!OC!t!9~aڹC{ҹC o&!9~AC[C o&!y9DM! `iEI`iC!9!9DM͐n}#D! ^#Vr+sn&5VD!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{]D7D͐dD!9!9DM͐!͐!Us#rzD!͐##w#w͐~#fo!y9DM͐`iͥL|D!D! `i͙MD!9!9DM`iw#w! 6#6͐ n! s{ E! n} 'E! ^#Vr+sD! n}-FE! 6#6! ^#Vr+s! ^#Vr+sn! sͥP|ʇE͐ ?! nѯg`is#rFE͐͐?×E!9!9DM͐ҺE!͐~#fo2V!9DM`iw#w! ~#fo͐n! ~#fo͐n}%F! ~#fo`i^#Vr+sn}"F!QFE! ~#fo͐n! ~#fo͐nѯgWQF!9!9DM͐͐dVs#rzF!͐͐s#r͐##6#6͐~#fo!9DM͐WG͐>F>F>F>G>F>G>F>,GWG! n&5V! n&!͌V! n&!͌V! n} DG! !͌V! n&!͌V͐##^#Vr+s|¶G!͐͐~#foUʕG!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐G!I͐##~#fo H!I͐##~#fo`is#r͐͐͐~#foU͐WH!I͐+?`is#r͐##~#fo|H!͐͐͐͟V͐##~#fo͐s#r͐~#fo͐s#r!!͐~#foeUI͐##6#6͐͐s#r!I!9!y9DM! `iEI͐`iPKjL͐~#fo|J! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 J! 6J! 6! ~#fo! n&! ^#Vr+s~#fo! 8Qѯgs#röK! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+söK! n}QK! 6#6! ^#Vr+s~#fo! s#r͐n}ʶK͐|ʶK! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+slK͐6! ! s#r! n} L! ^#Vr+s! L! ^#Vr+s! n}L!0L! sK͐! ^#Vr+sns{6L! ^#Vr+s L! n}gL! ^#Vr+s!gL! ^#Vr+s6 @L}L! ^#Vr+s`insÓL! ^#Vr+s`instI͐6!9!9DM`i6#6͐ ! s#r͐ 9R! s#r!L͐#|L!ÐM! ^#Vr+s͐s{ 4M͐͐ #1M͐++n} 1M! ^#Vr+s6 gM`i^#Vr+szgM͐ 9R! s#rzgM͐L͐ƒM͐ ͐S͐6͐ ÐM!9!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{ʒP! n&uS|MM! n}%9N! n! ͨS+N! n&ÜP6N! ^#Vr+s{P! 6#6! 6 `i6! ^#Vr+sn! s{*}N`i4! ^#Vr+sn! s! n&ͨC}XʫNOʴNDʽNUNSoOCP>P! 6N! 6N! ͨS-N! 6#6! ^#Vr+s! w#w! n&! ͨSS#|O! n&ÜP! n&! ^#Vr+sn&S! s{aO͐ ! nѯg?! nѯg! s#rO! ^#Vr+sHP! ͨS͐ ~#fo! s#r! ^#Vr+sn! s{O! n͐n}O! ^#Vr+sO`in}O! ^#Vr+s! nsÈO`in}O! 4͐6! ^#Vr+sM`in}0P͐n&! ^#Vr+s~#foV! 4! ^#Vr+sM! n&ÜP`in}{P! ^#Vr+s~#fo͐ ͐?s#r! 4͐n}P! n&ÜPM! n&ÜP!9!9DM! n&0ͯP! n&9ͯ!9DM! ^#Vr+sn`is{)Q`in} Q͐! ͬF͐`in&ͬF#|&Q!/QP!/Q!9!9DM͐͐ ҈Q͐^#Vr+s͐ uQ͐0}Q͐7s!&Q͐ ͐͐ ͉͐8Q`is͐ ͐͐ )͐8Q`in&#&Q!9!9DM`iw#w͐~#fon&ͥP})R͐ ?͐^#Vr+snѯg`is#rQ͐0R!9!9DM͐|PRVR͐+++|gR!͌VR͐##^#Vr+s|R!͐͐~#fo0W`is#r!ڸR͐##^#Vr+sR͐##͐?+s#r͐͐s#r͐^#Vr+sn&R!9!9DM͐|$S! n&ͦW͐DS͐##~#foIS!͐^#Vr+s! ns͐##^#Vr+s!!9DM! n} ͝ʤS! n} ͝ʤS! n} ͝!9DM͐~#fon`isuS|S͐^#Vr+sðS`in&S!9!9DM! n&ͨC! srT| T! n&sHT! n&ͥP}CT! n&sHT!! n! n&+gT!pT! n&!9DM! n&ͣT|ͣŸT! n&T|ͣ!9DM! n&AͯT! n&Zͯ!9DM! n&aͯT! n&zͯ 7**:OzUq#U7,2q*&:q):]U=]U=r:qo&7:,*͵W:*ʇU}|2q ʸU®U:qwʩU! {w7:)~:,"s!"u*|*u0V*~#V"*s*u0V#"u*+"U#  IV > _ XV7*W\!*!U7:O*o`7*|DM**VV>GoyW$ !\&!wz؉~#V"*s*u0V#"u*+"U#  IV > _ XV7*W\!*!U7:O*o`7*|DM**VV>pw lesson0 {provides a table of contents for the lessons.} 2. AN ADVANCED INTRODUCTION This is a short lesson (file name "advintro") for the person experienced in the use of a word processor. If you have used a word processor before then you will want to use the advanced introduction. Enter: A>pw advintro to call up the advanced introduction tutorial. 3. EVERYTHING YOU WANTED TO KNOW ABOUT CP/M BUT WERE AFRAID TO ASK. This is a simple and brief introduction to the use of CP/M. When you go through it you will want to have your computer manual's CP/M guide nearby.  If you are new to word processing then you should use the use of a word processor. If you have used a word processor before then you will want to use the advanced introduction. En*K͞+m'+FÎr SID VERS 1.4$1w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!">2>2>22Ï#00000000BADj’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qyMEENDEXc !9DM"H͉͐"J*H"N*H*J)"L*L6#6*N*Js#rACOALESAFINDNE !9DM!"3Ͱ/ o ͳY!jY!Y!Y!Y! Y!C Y! Y! Y! Y!Q Y! Y! Y! Y!c Y! Y! Y! Z|D!"*h!- Y*#"JPerfect Writer Configuration Program Version 1.03 (C) 1982 Perfect Software, Inc. Welcome to the Perfect Writer configuration program. This program is used to define the characteristics of your terminal and to create the swap file that Perfect Writer uses to store text that will not fit in memory. We recommend that the swap file be the first file on the disk Perfect Writer will be run on, so that seek time during swapping is minimized. In other words, you should put the swap file on a blank disk to insure it is at the beginning if you wish to have the best possible performance. After you have the swap file on a disk, you can copy the other programs you need over to it. You should not be trying to configure Perfect Writer on the disks which you recieved when you purchased the package. If you are about to do so now, you should exit and read the manual section on backing up Perfect Writer. Would you like to exit and change disks? !g !YͲ{!k !cͲ{!"5D!"/!"1!"_%xHhex!9DMͳY! Y!-Y!2Y!VY!`Y!Y!Y!Y!Y! Y!KY!gY!Y!Y! Y!DY!!!!͋Z`is#r͐>' >ʊ >3 > >? > >K > >W > >c > >o > >{ > >‡ > !~Y!Y!Y!Y!YT{Yb[ ͨ ͢   ͹ U * , [w !9Perfect Writer Configuration Program Version 1.03 (C) 1982 Perfect Software, Inc. Options: 1 -- Read definitions from an existing swap file 2 -- Define terminal characteristics 3 -- Define I/O port characteristics 4 -- Define swap file and misc. 5 -- Edit definitions 6 -- Test terminal and port definitions 7 -- Install definitions 8 -- Exit to operating system If you are bringing Perfect Writer up for the first time, you should select options 2 through 6 in order, then 5 and 6 again and again until everything works, then 7, and finally 8. Enter the number of your selection, followed by a CR --> Version: 1.03 Date: 04-28-82 Serial: !9DMͳY!JY!7[!!7!`is#r͐#|!7!u{A͐ͨ\*3|Jr!"3!Z| !"3r*"U!"5!"/!"1͐e!9What drive is the swap file on (e.g. A:)? Can't find %s Use these definitions now? !9DMͳY!Y!2Yf!IY_j#!!!͋Z! s#r͐+|ͅD͐gj!"/!"1!9Select a terminal type: 1 - Create new type Enter the number of your selection, followed by a CR --> !9DM-͔.U0!112̈́3Q4,5577q8T9 :͑;!9͊<>!"/*1|ͳY!#Y!^Y!Z|͢D? BUCDLF͈GHͼI!"/No terminal type has been selected yet. You must select a terminal type before entering this configuration section. Would you like to select one? C!9DM*1|ͳY!Y!Z|͢Ôͥ!Z| Ô!"/!Y!!!!͋Z`is#r͐>D>>P>%>\>+>h>1>t>7>€>=>Œ>C>˜>I> ¤>O> °>U> ¼>[> >a> >g>>m>>s>>y>>>>ʅ>>ʋÑ-ÑU0Ñ!1Ñ1Ñ2Ñ̈́3ÑQ4Ñq8ÑT9Ñ͑;Ñ,5Ñ5Ñ77Ñ :Ñ͔.ÑRÑ%SÑvSÑSÑ!9No terminal type has been selected. Would you like to select one? -- Any changes? -- Which item? !9DM8%!"Z|!"/!3Y! !!!͋Z`is#r͐>Y>>e>>q>>}>>‰>>•>>¡>>­>> ¹>> > > >͊<>TyTTU͚UVxVV)W !9-- Any changes? -- Which item? !9DMn(! w#w!4Z|f+!"/!EY!!!!͋Z`is#r͐>¡>>­>>¹>>> >>>>>>>>"(D?( B(UC(D(LF(͈G(H(ͼI(K!9-- Any changes? -- Which item? !9DM*1|sͳY!8Y/\|/!"3rͳY!S!'!]!g!!]*&++`is#r͐|!z*&+͐]!|!͐]`i^#Vr+sþ*&+`is#r͐|0!~͐!]`i^#Vr+s*&+`is#r͐|g!͐*&+]`i^#Vr+s<!'!^O^!*&+!]!!!]!!!]!!!]!!^!Z| input input Did you really type a character? inputinput Input port OK! !9DM`iw#w͐ҿ`i^#Vr+sæ! 6#6͐|.`iw#w͐]^|`i^#Vr+s͐!!hͩ!_!*t! ^#Vr+s!oZ|F!YY!!ͩ!_!_!9output Did five asterisks appear? Output port OK! output!9DM͐!{!Y!2Y Error in your %s port definition. Check the port addresses, ready mask and status polarity and try again. !!e!Vh>2V!@"!">2>A2>2> 2!,">2{2{2{2{2>2>2ͳY!"Y*X&*W&!"{!#!^!c!"{!"Y!ߛ*s&!"́^!"Y!*u&!"́^!#Y!ǚ*e&!#́^!+#Y!*g&!0#́^!=#Y!*i&!B#́^!O#Y!*k&!T#́^!g#Y!?*m&!l#́^!#Y!g*o&!#́^!#Y*q} *} !#Y!*q}!!#Y!*q&^!!#Y*^}*!!#!'! ]*[}8!!#;!!#!#{*^}i!!#! ^*b&!#{*]}w!!$z!!$!${*]}ʧ!*\}ʚ!!($Ý!!)$!.${*^}!!#! ^*a&!=${*Z&*Y&!R${*^}"!#! ^*c&!p${!$Y*^}#"@"K"V"!$Y*_&+_!$YV"!$YV"!$YV"*^}z"!#!^*`&!${!$Y!$Y!%Y!%YTerminal Parameters 1. %d rows, %d columns15. entry radix: %s 2. initialization string 3. de-initialization string 4. home-and-clear 5. clear-to-eol 6. clear-to-eos 7. cursor pos lead-in 8. cursor pos separator 9. cursor pos trailer10. standard bell charbell string: no bell stringPad counts:rowcolumn 11. cursor pos %s first16. cursor pos: %dAsciibinary, 12. %s not %scomplemented17. clear-to-eol: %d 13. biases: row: %d, col: %d18. clear-to-eos: %d 14. padding with characterspadding with delay loopno padding19. home-and-clear: %d Perfect Writer Configuration Program Version 1.03 (C) 1982 Perfect Software, Inc. ͳY!p&Y!&Y!&Y!&Y!&Y*}w%!&Y%!&Y!'Y*}ʚ%! 'Yâ%!'Y*}&!7'Y*&!?'{*&!['{*&!y'{*}%!'%!'!'{*} &! &!!'{*}n&!'Y*š&!'{*Ú&! ({*Ś&!(({*ƚ}a&!@(d&!E(!K({Perfect Writer Configuration Program Version 1.03 (C) 1982 Perfect Software, Inc. Port parameters 1. BIOS input Direct port (not BIOS) input 2. BIOS output Direct port (not BIOS) output Input: 3. input data port: %xH 4. input status port: %xH 5. status mask: %xH TRUEFALSE 6. char-available bit active %s 7. receiving %d-bit characters Output: 8. output data port: %xH 9. output status port: %xH 10. status mask: %xH TRUEFALSE 11. clear-to-send bit active %s ͳY!K)Y!y)Y!~)Y!)Y*!){*&!){*&!){*&!*{*&!/*{*!N*{*&!t*{*}A)*&*&!*{*}6)*&*&!*{>)!*YI)!*{Perfect Writer Configuration Program Version 1.03 (C) 1982 Perfect Software, Inc. Miscellaneous parameters 1. %d page swap file 2. preferred cursor row: %d 3. default tab column width: %d 4. default fill column: %d 5. default indent column: %d 6. keyboard idle delay constant: %d 7. %d MHz CPU 8. Swap 0x%x with 0x%x and swap 0x%x with 0x%x on input 8. No characters being swapped on input !9DMͳY*1|+!,Y!M,Y,*5|ʗ+!Z,Z|ʗ+**U^+!7ͅ`is#r!!~͐ͭ!"Uq+!!7!`is#r**U҈+͐C__͐e ,!v,Y!7[!7*#!,{!,Z|+,!7ͅ`is#r!!~͐ͭ!"U͐C__͐e!"5!"/!9You must select or define a terminal type before installing. Update existing swap file? Create new swap file on which drive ( for current)? Creating %dK swap file %s -- Okay? */|,ͳY!-Y!M-Z|,-ͳY!j-Y!-Y!-YThe current definitions have not been installed. Do you want to quit anyway? Make sure that you run WRTBIND or PWBIND on this swap file, as described in the Installation Guide, before you begin to use Perfect Writer. ͳY!I.Y!<! !*W&͋Z}2W!m.Y!!(!*X&͋Z}2X Number of rows on your terminal? Number of columns on your terminal? !9DMͳY!/Y!c!/{b[X{`is! 6#6`in}D.H /O./ S/c/!/Y!0!YͲ{! 0!cͲ{v/!0Y!0!YͲ{!0!cͲ{v/!0Y!%0!YͲ{!)0!cͲ{v/!c!/0{v/!80Y! w#wv/͐|ʴ.!9 Do you wish to enter the special characters and terminal command codes in Decimal, Hex, or Octal? (currently %s) ecimal %dDdecimalex %xHhexctal %oOoctal -- %s Enter 'D', 'H', or 'O' --> ͳY!0Y!0Y!0Z|ʋ0! 1Y!ߛ!s#` Does your terminal require a special initialization string to be sent to it at the beginning of the editing session? Okay, what is it? ͳY!Y1Y!1Y!1Z|W1!1Y!!u#` Does your terminal require a special deinitialization string to be sent to it at the end of the editing editing session? Okay, what is it? ͳY!12Y!j2Y!2Z|*2!2Y!ǚ!e#`/2>2e Does your terminal have a command to clear the entire screen, leaving the cursor at "home" (the upper left corner)? Okay, what is it? ͳY!2Y!23Z|2!n3Y!!g#`2>2g Does your terminal have a special command to clear from the current cursor position to the end of the line? Okay, what is it? ͳY!3Y!3Y!,4Z|ʽ3!;4Y!!i#`3>2i Does your terminal have a special command to clear from the current cursor position to the end of the screen? Okay, what is it? ͳY!4Y!4Y!4Z|ʊ4! 5Y!!k#`Ï4>2k Does your terminal require any special characters to initiate a cursor positioning command (Most terminals do.) ? Okay, what is the sequence? !9DMͳY!5Yb[X{`is! 6#6`in}Re5Cu5Å5!5Y>2[Ø5!5Y>2[Ø5! w#w!5YØ5͐|?5!9 Is the Row or Column to be sent first? ow olumn Enter 'R' or 'C' --> !9DMͳY!6Yb[X{`is! 6#6`in}A/6B?6O6!6Y>2]b6!6Y>2]b6! w#w!6Yb6͐| 6*]}ʇ6!6Y!7Z}2\!9 Are the row and column codes sent in Ascii or Binary? scii inary Enter 'A' or 'B' --> Should the row and column numbers be complemented before sending? ͳY!7Y!7Y!8Y!:8Y!!!*Y&͋Z}2Y!T8Y!!!*Z&͋Z}2Z Some terminals require that a bias be added to the row and column numbers. Usually this is 32 for both the row and the column. Enter 0 if none. Row bias? (in decimal) Column bias? (in decimal) ͳY!8Y!8Y!9Z|ʪ8!;9Y!?!m#`ï8>2m Does your terminal require any special characters to separate the row code from the column code in a cursor positioning command? Okay, what are they? ͳY!9Y!9Z|ʅ9!9Y!g!o#`Ê9>2o Does your terminal require any special characters to terminate the cursor positioning command? Okay, what are they? ͳY!:Y!:Z|ʄ:!:Y!;Y!>;Z|y:>2^!V;Y!;Y!+_!;Y*_&b}2_ͿWÁ:>2^ͿWÉ:>2^ Does your terminal require any padding or delays to execute any of the special functions? Padding can be done either by sending extra characters or by a delay loop. Pad with characters? What is the code for the pad character? (Usually ) ͳY!;Y!<Z|;!.2q>2 Does your terminal respond to the standard Ascii bell character, Control-G (07H)? What character string should be sent to ring a bell or otherwise alert the operator? !9DMͳY!=Y!N=Y!=Y!=Y!=Y!`is!Y!!>Y!;>Y!q>Y!>Y!>Z| =>2=>2W!9 Input can often be done through the CP/M BIOS. You cannot use the BIOS for input, however, if your system has the common DELETE bug. To find out, type a DELETE (this key is sometimes labeled "RUBOUT" or "DEL") --> If a "Y" appeared at the end of the last line, then you can use your BIOS; otherwise, you will have to dig up your hardware manual to find your input port characteristics. Use BIOS for input? ͳY!>Y!,?Z|>>2>>2W You can probably use your BIOS for output. Use BIOS for output? ͳY!?Y!'@Y!g@Y!@Y!@Y! AY![AY!AY!AY*|ʥ?*!A{!!A|*?*?*|??!AYå? The size of the swap file is the maximum number of 1K byte pages that can exist at one time (the total of all buffers). Note that pages aren't always full, so that a 32 page swap file, which will take up 33K of disk space, might only be enough room to edit 28K or less of text. The maximum size is 248 pages, and we recommend that about 64 be used if possible; the usable minimum is around 16 pages. The number must be a multiple of 8. How many pages? (default = %d) %dEnter a multiple of 8 between 8 and 248 --> ͳY!ZBY!BY!BY!CY! rows, the normal value is (-2)/2, but it can be adjusted to suit preference. Preferred cursor row? ͳY!CY!CY!(DY!cDY!DY!DY*X&++!!*&͋Z}2 Perfect Writer sets tab stops at regular intervals across the screen, and allows you to select how many columns apart they should be. The standard value is 8, but we prefer 5. (This can be changed dynamically within Perfect Writer; the number you enter now is just a default.) Initial tab column width? ͳY!:EY!~EY!EY!EY!4FY!!!*&͋Z}2 The Fill Column is where Perfect Writer will break lines in fill mode. A reasonable value, for an 80-column screen, is 65 or maybe 70. (This can be changed dynamically within Perfect Writer; the number you enter now is just a default.) Initial Fill Column? ͳY!FY!FY!FY!BGY!nGY!!!*&͋Z}2 The Indent Column controls the format of filled paragraphs (see the manual). It is almost always 0. (This can be changed dynamically within Perfect Writer; the number you enter now is just a default.) Initial Indent Column? ͳY!GY!HY!SHY!HY!HY!! !*͋Z" The keyboard-idle delay constant controls how long Perfect Writer will wait after the last keyboard activity before starting to swap automatically. We like a value around 300, which results in a six second delay on our system. Delay constant? ͳY!IY!KIY!IY!!!*&͋Z}2 The clock rate is used in combination with the idle delay constant. A typical clock rates are 2 or 4 MHz. What is the clock rate of your CPU, to the nearest MHz? !9DMͳY!LY!MY!TMY!MY!MY!%NY!jNY!NY!NY!EOY!OY!OY*}ʽJ*&*&!O{*}fJ*&*&!P{nJ!+PY!-PYb[`is#r! ʯJ͐ ʯJ͐YʯJ͐yºJ!;PYLJ!@PY!mPZ|J{2{2{2{2L!oPY!PZ`is#rz K!PY͔.ͳY͐|1K!PY!QY!MQY!wQY!QY*&͐W}2!QY*&͐W}2!QY!QY*&͐W}2!RY*&͐W}2**}K{2{2**}K{2{2*}L*}L*}K*}L*}2*}2{2{2*}3L*}3L*}2>2*}OL*}OL*}2>2*}_L*}L**}ʓL**}ʓL**}ʓL**}L!FRY!WRY!RY{2{2{2{2!RYb[!9 Perfect Writer can swap two pairs of characters on input from the keyboard if you like. This feature can be used to overcome many deficiencies in keyboard design and layout. For instance the 'Delete' character is a very useful character to be able to type. Yet, on many terminals it is a shifted character, that is, one must hold the shift key down to type 'Delete'. Perfect Writer can help you overcome this by allowing you to interchange the 'Delete' character and the other character on the same key. Since this feature can also be useful in having Perfect Writer recognize characters that you can type and interpret them as ones you cannot, you have the option of typing the characters to be swapped or typing their values in hexadecimal (a numbering system). Default: Swap 0x%x with 0x%x and swap 0x%x with 0x%x Is this ok? Yes Do you wish to have any characters swapped? Will you need to type any of of the characters as values? Then you will have to type all of them as values. To enter a , first quote it with Control-Q To enter a Control-Q, first quote it with Control-Q To enter a Null, try typing Control-@ First Pair: What is the first character to be swapped? What character is it to be swapped with? Second Pair: What is the next character to be swapped? What character is it to be swapped with? Bad Values  The first pair must not have any characters in common with the second pair of characters ͳY.Y!SY!!!*b&͋Z}2b a Cursor Positioning command? ͳY.Y!SSY!!!*a&͋Z}2a a Clear to End of Line command? ͳY.Y!SY!!!*c&͋Z}2c a Clear to End of Window command? ͳY.Y!SY!!!*`&͋Z}2` a Home and Clear Screen command? !5TY!gTYvb}2 What is the address of the console input data port (in hex)? !TY!TYvb}2 What is the address of the console input status port (in hex)? !TYvb}2 What is the console input status mask (in hex)? !6UY!kUZ}2 Is the status bit TRUE when a character is ready (if you're not sure, answer "yes" for now)? !UY!UZ|ʸU>2ýU>2 Does your terminal send 8-bit characters (if you're not sure, answer "no" for now)? !4VY!fVYvb}2š What is the address of the console output data port (in hex)? !VY!VYvb}2Ú What is the address of the console output status port (in hex)? !VY! WYvb}2Ś What is the console output status mask (in hex)? !HWY!yWY!WZ}2ƚ Is the status bit TRUE when the port is ready to send a character (if you're not sure, answer "yes" for now)? R%SvSSͳYTyTTU͚UͳYVxVV)W!9DM͐|X!XY`in}!X!YY-X! n&b!YY*3|LX!`isSXps`is`in} eX`in} wX!YY! n&X`in}žX*3|ʗX!`isÞXps`is`in}±X!YYûX`in&b!YY`in&XX! YY! n&bX!,YY!9type character (default = '\0') \0 type value *^}CY!MYYKY!YY How many padding characters should be sent after How many wait loop cycles should be done after !9DM*3|Y`iw#w͐Y!YY`i^#Vr+sYYst!9 !9DM͐ʹc!9DM͐Yb[X{`is`in}Y !9DM͐++|ʱZ͐+|Z͐|Z͐!)[{͐`is#rZ`i6#6`i!9[|͐͐ [͐͐ [[͐ ͐ !<[{Z͐ [!9(default = %d) %dEnter a number between %d and %d --> !9DM*3|ʁ[!`isÈ[ps`is`in} —[! Ü[`in&`is`in}ʳ[`in&b`in&û[!9!9DM`iw#w͐ N[`i^#Vr+s[!9!9DM`i6`i!m\|`in}#\`in&n{|&\1\!p\Y[`in}V\!\`in&!\͐G|d\!\͐Ͳ{!9%cEnter a drive letter, e.g. 'A' --> pw.swp%c:%spw.swp!9DM!!͐9!!~͐͞c!9DM!e!~!V!!!!!!`iw#w!!ǚ`i͎d!!`i͎d!!`i͎d!!`i͎d!!?`i͎d!!g`i͎d!!`i͎d!!ߛ`i͎d!!`i͎d*}]*&]!}2*}]*&]!}2!9!9DM͐͐^͐ʹc!9DM*3|>^*W͐;^! b!^M^͐͐t*3|[^u*&e**}|g}o!9DM͐|ʲ^͐!^{͐͐^^͐!^{!^Y%s: no %s !9DM`iw#w͐͐ _! ~#fo͐n&+_`i^#Vr+s!)_Y^!9 !9DM͐!Y{!9DM!!`ih!*U?*͐9*U*_!`i͐ͭҺ_*U!_{*U"_*U#"U{_!9Out of disk space after %d pages! !9DM\!!͐9!!~͐ͭ!9DM͐Zn}g`!zaY͐\͐Zn&^!aY!aZ|g`qa!c!a{! d͐Zs`is#6! 6#6͐! n}ha! 6#6! !Y͐! `|͐#|`!aY! w#wha!\ ~#fo͐Z~4o&͐s͐! n}2a͐! n&͊{|2a`i^#Vr+s`͐! n}ea͐! n&͊{|ea`i^#Vr+s2aÓ`͐|g`!V9 (the current string is ) Do you wish to enter a new string? Enter a list of %s numbers, separated by spaces -> Bad entry, try again.!9DM!c!`b{͐!Y{!sbY͐`is#r`i!Y|͐Wb!9(in %s; default = ) !9DM`i6#6`i!b|͐#|ʞbéb!bYÅb͐ðb!9%xEnter a hex number --> !9DM*3|c! n} b!b! n&͘uòc! n& :c! n&~:c! n&r*W#"Wòc! n} Hc]c! n&r!"Wòc! n&|g}o|ʒc!~b! n&|g}obïc!^b! n&@|g}obòc!9DM͐n}c! ^#Vr+sn&büc!!ǚe!!e!!e!!e!!?e!!ge!!e!!ߛe!!e!e!V!~!!!!!!!9DM͐#n&͐~#fo͐͐͐~#fos͐~#fo͐#nѯgs#r!9DMv!S s͐X!Q s#rb[!P s{ ʱe͐Q͐XOPe!P n}Pe!S n&͐Q͐Xe!Q s#r!P n}ceceÖe͐Q͐Xғe!S n&͐Q͐Xe!Q s#rîe!Q ^#Vr+s!P nsîed͐Q6!T9!9DM͐#n&͐͐n&!9DM*3|7f͐+n&}f`is#r`i^#Vr+sz7f!r! r!r f! ^#Vr+s6*3|mf! n&vt͐vuJr͐tf!9!9DM! n& ڪf! n&~ڪf!! n&|g}o|f! n&|g}o}f!!hY!&!^!.hY!FhY!&!^!_hY!rhY!&!^!hY!hY!&!^!hY!hY!&!^!hY!iY!&!^!!iY!?iY!&!^![iY!~iY!&! ^!iY!iY!&! ^!iY!iY!&! ^!iY!jY!$jY!?jY 2 - Heath H1915 - Scion Microangelo 3 - Televideo 912, 92016 - Teleray 1061 4 - Soroc IQ12017 - Hewlett Packard 2621A 5 - Lear-Siegler ADM-3A18 - Hewlett Packard 2645 6 - Lear-Siegler ADM-3119 - Xitex SCT-100 7 - Perkin-Elmer Bantam 55020 - TRS-80 II with P&T CP/M 8 - Perkin-Elmer Fox 110021 - TRS-80 II with Lifeboat CP/M 9 - D.E.C. VT-52 and VT-10022 - Apple + Z80 + 80 column + lowercase 10 - HDS Concept 10023 - Osborne 1 11 - BEEHive 15024 - Xerox 820 12 - Hazeltine 1500 13 - Intertec Superbrain 14 - Processor Technology SOL !!9DM͐>j>ʊk>‹j>k>—j>l>£j>l>¯j> l>»j>7l>j>=l> j>bl> j>hl> j>ʺl> j>l> k>m>k>:m>k>em>'k>ʔm>3k>m>?k>0n>Kk>ʂn>Wk>n>ck>n>ok>n>{k>o>‡k>#o)o!P!ͻo!+oo!1oop!Y,p!4obp!Ao͇p!Doͬp)o!O!ͻop!=,p!Gobp!Joͬp!Mo͇p)op)o q)o!O!ͻop!=,p!Pobp!So͇p)o2q)o2q!Voͬp!!!@!@nq)o͝q)o!O!ͻop!Yoo!a,p!\obp!^oͬp!ao͇p!!!!0nq)o!P!ͻop!F,p!dobp)o!O!ͻop>2[>2\>2]!goq!jobp!mo͇p)o!P!ͻop!Y,p!pobp)o!@!ͻop!,p!sor!vobp)o!S!(ͻo!xobp>2[>2\>2]!{oq)o!O!ͻop!Y,p!}obp!oͬp!o͇p!!!!nq)o!O!ͻop!oq!or!o%r>2[>2\>2]!obp!oͬp!o͇p)o!O!ͻop!oq!or!o%r>2[>2\>2]!obp!oͬp!o͇p)o!@!ͻop!obp!oͬp!o͇p!oq>2[>2\>2])o!O!ͻop!obp!o͇p!oͬp!Y,p)o q)op!O!ͻo)o q!3!ͻo)o q)ox1wzY8 KY EKE+YT*TJU E~~~  jJK&ayCHJJK&acYHJJK = !9DM͐}2W͐}2X!9DM͐{|}2s͐!ߛͲ{!9DM͐{|}2u͐!Ͳ{>2q>2!9DM>2[>2\>2]> 2Y> 2Z>2k>2! n}2!9DM͐{|}2e͐!ǚͲ{!9DM͐{|}2g͐!Ͳ{!9DM͐{|}2i͐!Ͳ{!O!ͻop!=,p!qbp!qͬp! q͇p*YT!O!ͻop!=,p!0qbp!P!ͻop!eqbp!hq͇p!X,p!kqrKIY!9DM>2^͐}2`͐}2c͐}2a͐ }2b!P!ͻop!Y,p!qbp!qͬp!q͇pHJJK!9DM͐{|}2k͐!Ͳ{!9DM͐{|}2m͐!?Ͳ{!9DM͐{|}2o͐!gͲ{*Y*ѯgir!"Y!r0{#w*[*WŠr*]*YŠr!ͩw!x!ͩw!x!ͩw*&rx*W"[*Y"]#wOff Screen!9DM!P!&ͪy!ͩw`iw#w͐*ѯg's͐c*s`i^#Vr+sr!"]"[st!9!ͩw#wJr!ͩw#w#w!&y|͝!9DM!&y|ʋs#wxs!&z`is#r͐*&²s*&t͐*&s*&t͐*&s*&t͐*&s*&t#w͐t!9!9DM*}4t! n&!nt*&e*ѯg|g}o*&[t4t! n&*&͡#w!9DM!"Y"W*}t!ͩw*&rx`iw#w͐*ѯgt͐c6`i^#Vr+sät!"]"[tx#w!9!9DM͐"W͐"Y#w!9DM*Y*Wcnѯg!uÏuJr#w*}Du!ͩw*&rxÁu*Y`is#r͐*Wcnѯgҁu! t*]#"]#w`i^#Vr+sMu*Wc*Ys!9!9DM! n& v! n&~vJr! n&t*]#"]*Y#"Y*Wcn*Yv*Wc*Ysv! n} vPv}v*_*Y*_`is#r͐|Mv! ͘u`i^#Vr+s0vv!"Y*W*&+qv*W#"Wwv!"Wuv! n&|g}o|ʲv!~͘u! n&|g}o͘uv!^͘u! n&@|g}o͘uv#w!9*Y#w*W#w!9DM͐n}w! ^#Vr+sn&͘uv#w*}7w![w*&e*ѯg|g}o*&͝|ʧw!&nz|¤w!&*}ʄw!Ûw*&e*ѯg|g}ozçwx*Y*ѯg`is*}_x`in*ѯgW|g}otix`in&oy!9!9DM#w*}¤x! ^#Vr+szʤx*&tÆx*}x! ^#Vr+szx*&?`is#r͐|x`i^#Vr+sxíx#w!9!9DM#w*}yJr!ͩw*&rxcy*W`is#r*Y! s#r*W*ѯgUyu*W#"W!"Y2y͐"W͐"Y#w!9!9DM͐ ڔy͐ ͉oy͐ )0t!9DM͐͐͐##͐͐s#rs#rs#r͐+s#r!9DM͐~#fo͐##~#fo͝!9DM͐~#fo͐~#fo[z͐͐~#fos#rn&hz͐^#Vr+sn&!9DM͐##~#fo#͐~#fo͝z͐##~#fo͐~#fo͝z͐~#fo͐~#fo͝!9DM͐##~#fo͐~#fo{͐##͐~#fos#r%{͐##^#Vr+s! ns!9DM!K{Y͐Y Error: !t!9~ai{{i{ o&!9~Aڦ{{Ҧ{aҬ{[ڬ{æ{!9~ ʬ{ ʬ{ ʬ{ ʬ{æ{!}!}!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{{{͐{!9!y9DM! `i͸|`iY!9!y9DM`id! `i>|!9!9DM! ͐͸|!9DM! ͐!9DM`iw#w! ^#Vr+sn}ʨ|`i^#Vr+sÉ|͐ï|!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ `in}%! ! s#r! 6#6! s! s! s͐n}-H}! ^#Vr+s! 4͐n}0X}! 4͐n&ȃ}u}! x}!! s#r! ^#Vr+sn`is{.}! ! s#r! 4! ^#Vr+sn`is`in&X{}D}U(~X1~O:~Cʀ~Sʱ~͐~#fo|(~! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 @~! 6@~! 6! ~#fo! n&! ^#Vr+s~#fo! $ѯgs#r)! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s)! n}~! 6#6! ^#Vr+s~#fo! s#r͐n})͐|)! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s~͐6! ! s#r! n}€! ^#Vr+s!Ҁ! ^#Vr+s! n}w!0z! sE͐! ^#Vr+sns{ʩ! ^#Vr+sÀ! n}! ^#Vr+s!! ^#Vr+s6 ó! ^#Vr+s`ins! ^#Vr+s`ins|͐6!9!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{! n&͊{|zM! n}%ʸ! n! Tʪ! n&õ! ^#Vr+s! 6#6! 6 `i6! ^#Vr+sn! s{*`i4! ^#Vr+sn! s! n&X{}X*O3D<7~# x7 > _ • 2Ͱ7*:w !\&! , FNxg>Goy$u#"u*+"ׅ7*+++:G_*DM!4o&7:,*·:*[}|2q ʌ‚:qw}! {w7:)~:,"s!"u*|**s! ~6*u*+"PERFECT SPELLER Perfect Speller is an automatic proofreader which checks your text against an equivalent 50,000 word dictionary. After editing a text in Perfect Writer a simple keystroke command and the text is checked against Perfect Speller's dictionary for mismatches. It's as simple as that. jJb"$7KDfile A:DDLES1.MSSreKDfile A:DDLES1.MTUTNABK DBF WHITEHSECMDCOMPUTE DBFCOMPUTE FRM @b{This is boldface.} @u{This is underscore (type u).} @un{This is underscore (type un).} @ux{This is underscore (type ux).} @i{This is italic.} This is a test of the Perfect Printer super- and sub-scripting commands. Here is a @+{super} and a @-{sub} script. Is there enough vertical space around them? Here is some more text just to be sure we can see what's happening.  @verbatim{The improvement in human knowledge and survival potential following the invention of writing was immense. (There was also an improvement in self-reliance: It is possible to learn at least the basics of an art or a science from a book and not be dependent on the lucky accident that there is a nearby master craftsman to whom we may apprentice ourselves.} When all is said and done, the invention of writing must be viewed not only as a brilliant innovation but as a surpassing good for humanity. I believe the same will be said of those who are today devising computers and programs at the edge of machine intelligence. The next major structural development in human intelligence is likely to be a partnership between intelligent humans and intelligent machines (from The Dragons of Eden by Carl Sagan, pages 224-5). @COMMENT{TEXT1.MSS} -----------------------l is said and done, the invention of writing must be viewed not only as a brilliant innovation but as a surpassing good for hu@PAGEFOOTING() @address(1400 Shattuck Avenue Berkeley, CA 94709) @Flushleft(Robert Hemingway 1234 Main Street Centerville, IL 60601) @Flushleft(Dear Mr. Hemingway:) Thank you for your recent letter and comments about Perfect Writer. We are delighted to receive such comments and, as you can tell, we too are pleased with the performance of Perfect Writer. Your suggestions and comments are very useful. Thanks again for your consideration. @Center(Be sure to see our other software!) @Closing[Cordially, Don Cochran] @COMMENT{TEXT2.MSS} erely,Don Cochran]@COMMENT{---------------------------------e, IL 60601) @Flushleft(Dear Mr. Hemingway:) Thank you for your recent letter and comments about Perfect Writer. We are delighted to receive such comments and, as you can tell, we too are pleased with the performance of Perfect Writer. Your suggestions and comments are very useful. Thanks again for your consideration. @Center(Be sure to see our other software!) @Cl@PAGEFOOTING() @Include(A:ADDRESS) @Flushleft(Robert Hemingway 1234 Main Street Centerville, IL 60601) @Flushleft(Dear Mr. Hemingway:) Thank you for your recent letter and comments about Perfect Writer. We are delighted to receive such comments, and as you can tell, we too are pleased with the software engineering advances embodied in Perfect Writer. You mentioned an interest in Perfect Speller and our family of related software. Let me briefly tell you about each. @Include(A:SPELLER) @Include(A:FILER) @Center(Again, we appreciate your kind words.) @Closing[Sincerely, Don Cochran] @COMMENT{TEXT3A.MSS} tore!)@Closing[Cordially,Don Cochran]@COMMENT{------------------------------------------------------------TEXT3B.MSS}and as you can tell, we too are pleased with the software engineering advances embodied in Perfect Writer. You mentioned an interest in Perfect Speller and our family of related software. Let me briefly tell you about each. @Include(A:SPELLER) @PAGEFOOTING() @Include(A:ADDRESS) @Flushleft[ @Message(Enter full name and address:) @Include(CON:)] @Flushleft[Dear @Message(Enter first name:)@Include(CON:):] Thank you for your recent letter and comments about Perfect Writer. We are delighted to receive such comments and, as you can tell, we too are pleased with the software engineering advances embodied in Perfect Writer. You mention an interest in @Message(What software is client interested in?) @Include(CON:) and our family of related software. Let me briefly tell you about each. @Include(SPELLER) @Include(FILER) @Center(Be sure to see our software at your local computer store!) @Closing[Cordially, Don Cochran] @COMMENT{TEXT3B.MSS}@END(ENUMERATE)What makes @VALUE(SUM to receive such comments and, as you can tell, we too are pleased with the software engineering advances embodied in Perfect Writer. You mention an interest in @Message(What software is client interested in?) @Include(CON:) and our family of rela@PAGEFOOTING() @BEGIN(FLUSHLEFT) @STRING(SUM = "Perfect Writer") To: Personal Computer Users From: Perfect Software, Inc. Subject: Features of @VALUE(SUM) @END(FLUSHLEFT) @CENTER(--------------------------------------------------) Perfect Writer has the advanced features you would expect to find in expensive word processors, such as: @BEGIN(ENUMERATE) The full range of @VALUE(SUM) formatting options that allow you to automatically format letters, outlines, form letters, memorandum, articles, books or other types of documents. Full cursor controls that allow you to move quickly and easily anywhere in the document in order to: @ITEMIZE(insert delete search, search and replace, and search and replace with query) @END(ENUMERATE) What makes @VALUE(SUM) unique, however, are the features you won't find in other word processors costing many times its price, such as: @BEGIN(DESCRIPTION) virtual memory@\Allows you to edit a full length novel as easily as you would edit a letter. dual display@\Allows you to divide the screen into two parts, each showing a different document. @END(DESCRIPTION) We hope this very brief description encourages you to take a closer look at all the numerous features of @VALUE(SUM). @COMMENT{TEXT4.MSS}he advanced features you would expect to find in expensive word processors, such as: @BEGIN(ENUMERATE) The fullce, such as: @BEGIN(DESCRIPTION) virtual memory@\Allows you to edit a full length novel as easily as you would edit a let@STYLE(paperwidth = 9 inches) @STYLE(paperlength = 4 inches) @STYLE(topmargin = 1 lines, bottommargin = 1 lines, leftmargin = 1 characters, rightmargin = 1 characters) @STYLE(headerspacing = 0 lines, footerspacing = 0 lines) @PAGEFOOTING() @FLUSHLEFT( Perfect Software, Inc. 1400 Shattuck Avenue Berkeley, CA 94709) @BLANKSPACE(8 lines) @ADDRESS( Robert Hemingway 1234 Main Street Centerville, IL 60601) @NEWPAGE @COMMENT{TEXT5.MSS}ter(Be sure to see our other software!) @Cl@PAGEFOOTING(center "@Ref(Chapter)-@Value(Page)") @CHAPTER(Computer System Security) @SECTION(Physical Security) @SUBSECTION(Computer Room Security) @INDEX(computer room security)There are three basic reasons for maintaining computer room security. These are: @ENUMERATE[Preventing access to the computer itself. Preventing access to the data physically contained in the computer. Preventing access to the communication lines leading out of the computer.] @PARAGRAPH(Computer access) There are simple reasons to keep people away from the computer itself: a vandal can physically destroy the equipment or disrupt the service it provides. Either can be costly, but both are easily discovered (after the fact!). @PARAGRAPH(Physical data access) Where there is a computer, there are usually disk and tape drives and the storage media they use in close proximity. Theft of online media is easy to detect (@I(most) computer systems complain if you remove a disk or tape from the drive while it is in use!), but if the data contained therein is itself secret or valuable, detection is not as important as prevention. Theft of off-line media (e.g. backup tapes) is almost as easy to detect, ... @COMMENT{TEXT6.MSS}maintaining computer room security. Tre there is a computer, there are usually disk and tape drives and the storage media they use in close proximity. Theft of online media is easy to detect (@I(most) computer systems complain if you remove a disk or tape from the drive while it is in us*K͞+_P_:'+FÎr SID VERS 1.4$1w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!">2>2>22Ï#1571200BADJ’P͌ ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y͞@!~ʃ5@B. A. Dobyns;ͣW!E# ¡ # ¬# ·@ʴʥzʖ=ʐ=|zJz?4)z zO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy ! ~#fo`i^#Vr+s)~#fon}2N!*$g |! !: ! ~#fo`i^#Vr+s)~#fon}2:! ~#fo͐)~#fo!`i^#Vr+sø! c!:!N!9DM!s =J#J! ! ! =J! =J! ! cbJ! !NbJ! !&bJ! !:bJ`i6#6͐͐y ! ~#fo͐)~#fon}-m ! ~#fo͐)~#fo#"$g!' *$gI|ʌ!+ ! cbJ! ~#fo`i^#Vr+s)~#fon}2 cm !4 *$gI|!8 !&bJ! ~#fo`i^#Vr+s)~#fon}2&m !E *$gI| !I !NbJ! ~#fo`i^#Vr+s)~#fon}2Nm !V *$gI|O !Z !:bJ! ~#fo`i^#Vr+s)~#fon}2:m ! ~#fo͐)~#fo!c =J`i^#Vr+s! c!:!N!&! =J!"c*c *c k06*c#"cÛ ̓͆l! =J[͉! c! =J!c!&ͪJ#| !&!=Ja\ !&!=J!c!2J!c!hJ!c!J!"c"c!"c*cw *c |x *c!=J!"c*c k0*ck&g`K|ʺ *cʺ *c#"c~ *c *ck&g!=J!"cm *c*c!!cK"c!c*c*c*c k0!!cK"c*c k0!cI*c)_*c k0 ~#fos#r*c#"cP *c|ʊ !=Ja\!=J!c!L!cGM!c͈N*c| !&!=J !&!=J!!!bd\>f2b!!:́\"c#|B !!*c\#|B !!_*c*]B *c͒]#|R !:!K=J_ !:!f=J!}=Ja\!9WRTBIND.C - Set up the key bindings for Perfect Writer 04-28-821.03Created for Version %s on %s serial %s (C) 1982 Perfect Software, Inc. PW.SYMFUNCTS.DSCFUNCTS.TXTPW.SWPsymA:PW.SYMtxtA:FUNCTS.TXTdscA:FUNCTS.DSCswpA:PW.SWPUnknown command line option: '%s' Building %s and %s, and updating %s from information in %s. Function Table Initialization done. Symbols loaded from %s. ERROR - cannot open %s. Writing to %s. Wait... (C) 1982 Perfect Software, Inc. All rights reserved. Fill Mode is the default mode. char name function description %d ERROR - Cannot find %s %d %sAborting... Key Bindings Table built. %s successfully written and closed. NON FATAL ERROR %s not successfully created. ERROR - Can't update %s %s correctly updated. Fini.!9DM`iw#w͐!k͐k&gbJ`i^#Vr+sÑ!s!&gbJ!{!:gbJ!!NgbJ!!bgbJ!!vgbJ!!gbJ!!gbJ!!gbJ!!gbJ!!gbJ!!hbJ!!hbJ!!*hbJ!!>hbJ!!RhbJ!!fhbJ!!zhbJ!!hbJ!!hbJ!!hbJ!$!hbJ!)!hbJ!3!hbJ!;!ibJ!B!ibJ!H!.ibJ!R!BibJ!X!VibJ!c!jibJ!l!~ibJ!s!ibJ!|!qbJ!9MInsertMSetMrkMBLineMPrevCharMNotImplMDelCharMFLineMNextCharMAbortMPrevCharMIndRestMDelLinMNewDspMNewLinMNextLinMOpenLinMPrevLinMQuoteMIncRSearchMIncSearchMSwapCharMArgMNextPageMDelRgnMCtrlXMYankMPrevPageMMetaMDelIndentMNotImplMToglCMNotImplMRDelChar!9DM! 6#6͐!͐k&gbJ! ^#Vr+s×!!qbJ!!qbJ!!rbJ!!rbJ!!RrbJ!!rbJ!!rbJ! !ubJ!!ubJ!!sbJ`i60`in&9ځ!$`ingk&gbJ`i4P!,!:vbJ!3!xbJ!:!NvbJ!@!xbJ!F!bvbJ!O!xbJ!X!vvbJ!a!xbJ!j!vbJ!q! ybJ!x!vbJ!~!ybJ!!vbJ!!FybJ!!vbJ!!nybJ!!wbJ!!ybJ!!wbJ!!ybJ!!>wbJ!!ybJ!!RwbJ!!ybJ!!fwbJ!!ybJ!!zwbJ!!ybJ!!wbJ!!zbJ!"!wbJ!,!"zbJ!6!wbJ!@!6zbJ!J!wbJ!R!JzbJ!Z!wbJ!c!rzbJ!uMDelWhite!VxbJ!ÙMRDelWord!{bJ!ïMHelp!vbJ!9MNotImplMAbortMDropLineMDelELinMRNewDspMCloseWhiteMQryRplcMMakeDelMToStartMToEndMSetMrkMArgDgtMBSentMBSentBWordBWordMCapWordMCapWordMDelWordMDelWordMFSentMFSentFWordFWordMMrkParaMMrkParaMIndNLMIndNLMDelSentMDelSentMLowWordMLowWordMFParaMFParaMOpenIndLinMOpenIndLinMBParaMBParaMFillParaMFillParaMReplaceMReplaceMCntrLineMCntrLineMSwapWordMSwapWordMUpWordMUpWordMCopyRgnMCopyRgn!9DM`i6#6͐Ҭ!͐k&gbJ`i^#Vr+s{!!N{bJ!!b{bJ!!{bJ!!{bJ!!{bJ!!*|bJ!!|bJ!!|bJ!!|bJ!!|bJ! !}bJ!!.}bJ!!!~bJ!,!n~bJ!9!bJ!C!~bJ!L!bJ!U!NbJ!_!΂bJ!i!ڀbJ!q!ZbJ!y!bJ!!bJ!!bJ!!bJ!!*bJ!!bJ!!bJ!!bJ!!bJ!!"bJ!!RbJ!!҃bJ!!~bJ!!bJ!!bJ!!VbJ!!bJ!9MNotImplMLstBuffsMExitMFindFileMAbortMSetTabsMDelModeMFileReadMFileSaveMNxtOthrWindMFileWriteMSwapMrkMPrvOthrWindMSetIndentMWhatVersionMPrintPosMOneWindMTwoWindMSwitchToMSwitchToMInsSfiMInsSfiMSetFillMSetFillMKillBuffMKillBuffMAddModeMAddModeMWrtRgnMWrtRgnMGoSpellMGoSpellMSwpWindMSwpWindMGrowWindMIndntRgnMUndntRgnMTrimWhiteMHelp!"c*cV*ck&g6*ck&gX*c#"c!9DM͐͐n&'Js{ʇ! ^#Vr+s`!9DM! ! cͳN|! c!=Ja\! w#w!"c͐|“*c### k0*c### k0 *c## k0*c## k0 *c# k0*c# k0 *c k0*c k0 !! N!9`is#r*c####"c͐Ґ! 6#6! ͈N! 9Can't open %s. %x%s %x%s %x%s %x%s !9DM͐!͐~͐͐L5͐> >A> >R> &>c> 2>t>>>ʅÖ͐!7J5͐!<J5͐!BJ5͐!GJ5͐!LJ5͐|g}o|͐!RJ͐͐|g}o2͐|g}o| ͐!UJ͐͐|g}o2͐!XJ͐͐@|g}o5X-M-C-!9DM`iw#w͐nҨ͐<kh͐<kh ss`i^#Vr+si`iw#w!=F͐<khbJ!EF`i^#Vr+s<kh bJ!iF͐<khbJ!vF`i^#Vr+s<kh bJ!F͐<khbJ!F`i^#Vr+s<kh bJ!F͐<khbJ!F`i^#Vr+s<kh bJ!F͐<khbJ!F`i^#Vr+s<kh bJ!G͐<khbJ! G`i^#Vr+s<kh bJ!G͐<khbJ!(G`i^#Vr+s<kh bJ!@G͐<khbJ!GG`i^#Vr+s<kh bJ!TG͐<khbJ!]G`i^#Vr+s<kh bJ!pG͐<khbJ!wG`i^#Vr+s<kh bJ!G͐<khbJ!G`i^#Vr+s<kh bJ!G͐<khbJ!G`i^#Vr+s<kh bJ!G͐<khbJ!G`i^#Vr+s<kh bJ!G͐<khbJ!G`i^#Vr+s<kh bJ!G͐<khbJ!G`i^#Vr+s<kh bJ!G͐<khbJ!H`i^#Vr+s<kh bJ!H͐<khbJ!H`i^#Vr+s<kh bJ!(H͐<khbJ!1H`i^#Vr+s<kh bJ!AH͐<khbJ!JH`i^#Vr+s<kh bJ!ZH͐<khbJ!cH`i^#Vr+s<kh bJ!yH͐<khbJ!~H`i^#Vr+s<kh bJ!H͐<khbJ!H`i^#Vr+s<kh bJ!H͐<khbJ!H`i^#Vr+s<kh bJ!H͐<khbJ!H`i^#Vr+s<kh bJ!H͐<khbJ!H`i^#Vr+s<kh bJ!w$}$MMeta͐<khbJ!$å$Meta Prefix.`i^#Vr+s<kh bJ!$$MDelInde͐<khbJ!$%Delete Indentation on current line.`i^#Vr+s<kh bJ!9%B%MRDelCha͐<khbJ!]%x%Delete Previous Character.`i^#Vr+s<kh bJ!%ç%MIndRest͐<khbJ!%%Indent Rest Of Line Same As This.`i^#Vr+s<kh bJ! &&MNewDsp͐<khbJ!-&?&Scroll-Redisplay.`i^#Vr+s<kh bJ!e&n&MPrevPag͐<khbJ!&ß&View Previous Screen.`i^#Vr+s<kh bJ!&&MToglC͐<khbJ!& 'Toggle case of character at point.`i^#Vr+s<kh bJ!0'9'MDelELin͐<khbJ!T'f'Kill Entire Line.`i^#Vr+s<kh bJ!'Õ'MQryRplc͐<khbJ!'ÿ'Query Replace.`i^#Vr+s<kh bJ!''MMakeDel͐<khbJ! ( (Turn on + in modeline.`i^#Vr+s<kh bJ!F(O(MToStart͐<khbJ!j((Beginning of Buffer.`i^#Vr+s<kh bJ!(ì(MToEnd͐<khbJ!((End of buffer.`i^#Vr+s<kh bJ!()MBSent͐<khbJ!)5)Beginning of sentence.`i^#Vr+s<kh bJ![)a)BWord͐<khbJ!|)Ì)Backwards word.`i^#Vr+s<kh bJ!)û)MCapWord͐<khbJ!))Capitalize Word.`i^#Vr+s<kh bJ! **MDelWord͐<khbJ!1*D*Kill Forward Word.`i^#Vr+s<kh bJ!j*q*MFSent͐<khbJ!*Þ*Forward Sentence.`i^#Vr+s<kh bJ!**FWord͐<khbJ!**Forward Word.`i^#Vr+s<kh bJ!+"+MMrkPara͐<khbJ!=+S+Mark Whole Paragraph.`i^#Vr+s<kh bJ!y+Â+MDelSent͐<khbJ!+ì+Kill Sentence.`i^#Vr+s<kh bJ!++MLowWord͐<khbJ!+,Lowercase Word.`i^#Vr+s<kh bJ!,,5,MFillPar͐<khbJ!P,`,Fill Paragraph.`i^#Vr+s<kh bJ!,Ï,MReplace͐<khbJ!,ú,Global Replace.`i^#Vr+s<kh bJ!,,MCntrLin͐<khbJ!--Center Line.`i^#Vr+s<kh bJ!7-?-MUpWord͐<khbJ!Z-j-Uppercase Word.`i^#Vr+s<kh bJ!-Ù-MCopyRgn͐<khbJ!--Copy Region to Kill Buffer.`i^#Vr+s<kh bJ!--MBPara͐<khbJ!.(.Back Paragraph.`i^#Vr+s<kh bJ!N.W.MDelWhit͐<khbJ!r.Å.Delete Whitespace.`i^#Vr+s<kh bJ!.ò.MFPara͐<khbJ!..Forward Paragraph.`i^#Vr+s<kh bJ!//MRDelWor͐<khbJ!*/>/Kill Previous Word.`i^#Vr+s<kh bJ!d/m/MSwapWor͐<khbJ!/Ø/Transpose Word.`i^#Vr+s<kh bJ!//MRNewDsp͐<khbJ!//Reverse Scroll Redisplay.`i^#Vr+s<kh bJ!"0)0MIndNL͐<khbJ!D0m0Indent Subsequent New Line Same As This.`i^#Vr+s<kh bJ!0Ü0MCloseWh͐<khbJ!00Close Up Whitespace Including .`i^#Vr+s<kh bJ!1 1MDropLin͐<khbJ!%1H1Drop remainder of line vertically.`i^#Vr+s<kh bJ!n1w1MOpenInd͐<khbJ!1ø1Indent Leading New Line Same As This.`i^#Vr+s<kh bJ!11MArgDgt͐<khbJ!2 2Numeric Digit Argument Prefix.`i^#Vr+s<kh bJ!F2O2MLstBuff͐<khbJ!j2x2List Buffers.`i^#Vr+s<kh bJ!2ä2MExit͐<khbJ!22Exit Perfect Writer.`i^#Vr+s<kh bJ!23MFindFil͐<khbJ!3)3Find File.`i^#Vr+s<kh bJ!O3X3MSetTabs͐<khbJ!s3Â3Set Tab Stops.`i^#Vr+s<kh bJ!3ñ3MDelMode͐<khbJ!33Delete Mode from Mode List.`i^#Vr+s<kh bJ!44MFileRea͐<khbJ!24=4Read File.`i^#Vr+s<kh bJ!c4l4MFileSav͐<khbJ!4Ò4Save File.`i^#Vr+s<kh bJ!44MFileWri͐<khbJ!44Write File.`i^#Vr+s<kh bJ!55MSwapMrk͐<khbJ!25G5Swap Point and Mark.`i^#Vr+s<kh bJ!m5v5MSetInde͐<khbJ!5ä5Set Indent Column.`i^#Vr+s<kh bJ!55MPrintPo͐<khbJ!56Print Current Position.`i^#Vr+s<kh bJ!,656MSwitchT͐<khbJ!P6j6Switch to another buffer.`i^#Vr+s<kh bJ!6Ù6MKillBuf͐<khbJ!66Delete Buffer.`i^#Vr+s<kh bJ!66MSetFill͐<khbJ! 77Set Fill Column.`i^#Vr+s<kh bJ!D7M7MAddMode͐<khbJ!h77Add Mode To Mode List.`i^#Vr+s<kh bJ!7î7MOneWind͐<khbJ!77One Window Mode.`i^#Vr+s<kh bJ!8 8MTwoWind͐<khbJ!$858Two Window Mode.`i^#Vr+s<kh bJ![8d8MSwpWind͐<khbJ!8×8Switch to other window.`i^#Vr+s<kh bJ!88MNxtOthr͐<khbJ!89View other window's next screen.`i^#Vr+s<kh bJ!(919MPrvOthr͐<khbJ!L9q9View other window's previous screen.`i^#Vr+s<kh bJ!9à9MGrowWin͐<khbJ!99Grow current window.`i^#Vr+s<kh bJ!99MInsSfi͐<khbJ!:&:Insert File.`i^#Vr+s<kh bJ!L:U:MIndntRg͐<khbJ!p::Indent Region.`i^#Vr+s<kh bJ!:î:MUndntRg͐<khbJ!::Undent Region.`i^#Vr+s<kh bJ!:;MTrimWhi͐<khbJ!";G;Globally Delete Trailing Whitespace.`i^#Vr+s<kh bJ!m;u;MWrtRgn͐<khbJ!;æ;Write Region to file.`i^#Vr+s<kh bJ!;;MFillChk͐<khbJ!;=Overwrite Mode Back Character.`i^#Vr+s<kh bJ!d=m=MPEndLin͐<khbJ!=ä=Overwrite Mode End of line.`i^#Vr+s<kh bJ!==MPFChar͐<khbJ!=>Overwrite Mode Forward Character.`i^#Vr+s<kh bJ!5>>>MPBackSp͐<khbJ!Y>t>Overwrite Mode Back Space.`i^#Vr+s<kh bJ!>ã>MPNextLi͐<khbJ!>>Overwrite Mode Next Line.`i^#Vr+s<kh bJ!>?MPPrevLi͐<khbJ!"?@?Overwrite Mode Previous Line.`i^#Vr+s<kh bJ!f?l?MPTab͐<khbJ!?Û?Overwrite Mode Tab.`i^#Vr+s<kh bJ!??MPNewLin͐<khbJ!?@Overwrite Mode Carriage Return.`i^#Vr+s<kh bJ!+@4@MSInsert͐<khbJ!O@f@Auto Save Mode Insert.`i^#Vr+s<kh bJ!@Ò@MHelp͐<khbJ!@@Call Help Information Onto Screen.`i^#Vr+s<kh bJ!@@MGoSpell͐<khbJ!A=ACall The Spelling Checker From PW.`i^#Vr+s<kh bJ!cAiASPAdd͐<khbJ!AçASpell Mode Add Word To Dictionary.`i^#Vr+s<kh bJ!AASPHelp͐<khbJ!ABSpell Mode Get Help.`i^#Vr+s<kh bJ!*B3BSPIgnore͐<khbJ!NBfBSpell Mode Ignore Word.`i^#Vr+s<kh bJ!BÓBSPRoot͐<khbJ!BBSpell Mode Add Root to Dictionary.`i^#Vr+s<kh bJ!BCSPChange͐<khbJ!C3CSpell Mode Change Word.`i^#Vr+s<kh bJ!YC`CSPEdit͐<khbJ!{CÓCSpell Mode Pop To Edit.`i^#Vr+s<kh bJ!n͐!CCDescription Table Created With %d of %d functions. =J!DDSorting Description Table. ,O!`K!<͐!hXO!b!NͪJ#|vD!N!YDjDcannot open %s. =Ja\ÐD!N!DÊD%s open. =J!b!DD(C) 1982 Perfect Software, Inc. All Rights Reserved. J!b!DDname description J!"c`iw#w͐<khn}ʗE͐<kh6͐<khX*c͐<kh ͐<kh!oEzE%s %s !bK"c`i^#Vr+sE!b!L!bGM!b͈N*c|E!N!EE%s successfully written and closed. =J4F!N!E.FNON FATAL ERROR %s not successfully created. =J!9MINSERTInserts the character at the point.MWhatVersionEchos the version and release date.MSetMrkSets the mark at the point.MBLinePoint to Beginning of line.MPrevChaBackwards one character.MNotImpl'Unknown command'.MDelCharDeletes Next Character.MFLineEnd of line.MNextChaForward Character.MAbortCancel the current prefix.MDelLinKill line.NewDspRedisplay.MNewLinCarriage Return.MNextLinNext Line.MOpenLinOpen line.MPrevLinPrevious Line.MQuoteQuote Character.MIncRSeaReverse Search.MIncSearForward Search.MSwapChaTranspose Characters.MArgUniversal Argument Prefix.MNextPagView Next Screen.MDelRgnDelete Region.MCtrlXeXtended Command Prefix.MYankYank Kill Buffer.!9DM`iw#w͐<khn}tI͐͐<kh`K|hI͐<kh !I͐KÂI`i^#Vr+sI!I͐J!9 %s !IWritten and produced by Barry A. Dobyns!9DM͐n&'J͐n&'JI!! ^#Vr+sn}J! ^#Vr+sn}J!I!t!9~a8J{8J o&!y9DM! `iͳP`i,O!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʚJtJ͐áJ!9!9DM͕͐͐]s#rzJ!͐͐s#r͐##6#6͐~#fo!9DM! ^#Vr+sn`is{QK`in} 2K͐! L͐`in&L#|NK!WKK!WK!9!9DM`iw#w! ~#fo͐n! ~#fo͐n}ºK! ~#fo`i^#Vr+sn}·K!KnK! ~#fo͐n! ~#fo͐nѯgWK!9!y9DM! `iͳP͐`iJL!9!9DM͐L͐>BL>iL>NL>wL>ZL>ʊL>fL>ʝLL! n&ͽ]! n&!]! n&!]! n} µL! !]! n&!]͐##^#Vr+s|'M!͐͐~#fo*]M!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐bM!N͐##~#fo{M!N͐##~#fo`is#r͐͐͐~#fo*]͐M!N͐+?`is#r͐##~#fo|XN!͐͐͐]͐##~#fo͐s#r͐~#fo͐s#r!!͐~#fo\N͐##6#6͐͐s#r!N!9!9DM͐ҢN!͐~#fo͒]!9DM͐!͐́\s#rzN!͐##w#w͐~#fo!y9DM͐`iT|O!#O! `iU#O!9!9DM͐n}VO! ^#Vr+sn&ͽ]4O!9DM͐͐k! s#r͉͐! s#r͐|ʪP͐͐k! s#r͐͐! s#r͐͐! s#r͐ `is#r͐͐ڒP͐͐ ! s#r͐||P͐͐ ͐͐͐!/P!9~#fo>P|P͐ ͐͐͐͐X! ~#fo͐s#rO`i~#fo͐s#rO! ~#fo͉s#rÈO!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{T`in}%S! ! s#r! 6#6! s! s! s͐n}-CQ! ^#Vr+s! 4͐n}0SQ! 4͐n& Y}pQ! _ ]7:O*o`7*|DM**J^.^><"^~# x"^ ><>^~+ x>^|}7*:w:woj^2w&!o ^ . &7:)~:,"s!"u*|^**s^! ~^6*u*+"*"*u#"uò^:wo2w& , FNxg>Goy9_$ !\&!ɎJKST\]e[f^nowx]#"u*+"T]#7*;_\!*́\  ] > _ ]7:O*o`7*|DM**J^.^><"^~# x"^ ><>^~+ x>^|}7*:w:woj^2w&!o ^ . &7:)~:,"s!"u*|^**s^! ~^6*u*+"*"*u#O  *TY=#r++ F,@J;J OJ;JJJJ^>J>KKVKKKK;$=!LG>nLLL MAObMM O> OJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJM O O O O O O OJ O O@|O>@ O O@ O OO O O O OO O O O O O O O OJ O O O O O O O O O O O O O O OGAGAGAGAGAGAGAGAGAGA O OO OOE OOP PPPqPP OP O@PQ OR#A RO?@QKQRQ OQ O O O OHR O O O OOP PPPqPP OP O@PQ OR#A RO?@QKQRQ OQ O O O O O O OR O OfST O OTJ OU O O O)U O O O O_UBV O O ]V W O;] O O O O O O O O O O O O O O O4E O O OW O O[$\ O O O O O O O O OTB_WIBE O O]X O O OZ O OeA OY OZ Op\ O ObB^ O O O O O O O O] Om] O O O]X O O OZ O OeA OY OZ Op\ O ObB^ O O O O O O O O O O O Ofis is a test of perfect writer 1.03UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU<( "Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ ` LEARNING TO USE PERFECT WRITER You are looking at the TEACHING DISK that we've designedto teach you how to use Perfect Writer through several self-studylessons. This TEACHING DISK is designed for the person who has noprevious experience with word processing. Perfect Writer commands are generally given by holdingthe CONTROL key (sometimes labelled CTRL or CTL) or hitting theESCAPE key (sometimes labelled ESC or ALT). Rather than writeout ESCAPE or CONTROL each time we want you to give a command,we'll use the following abbreviations: C-- means hold the CONTROL key down and type a character. M-- means type the ESCAPE key, release it, then type the character. (The "M" stands for "Meta-command"; ESC is a substitute for the imaginary "meta-shift" key.)Thus, C--F would be hold the control key and type F. You will often beasked to type characters to see how they work. how they work. >> Now type C--V (View next screen) to move to the next screen. (go ahead, do it by depressing the control key and V together). From now on, you'll be expected to do this whenever you finish reading the screen.Note that there is an overlap when going from screen to screen; this provides some continuity when moving through the file.The first thing that you need to know is how to move around from place to place in the file. You already know how to move forward a screen, with C--V. To move backwards a screen, type C--Z.Try typing C--Z and then C--V to move back and forth a few times.SUMMARY-------The following commands are useful for viewing screenfuls: C--V Move forward one screenful C--Z Move backward one screenful C--L 'Refresh' the current screen.Try C--L now. (You'll notice that it centers the screen where the cursor currently is.) Perfect Writer is an easy-to-use word processor. Youshould be able to teach yourself how to use it by reading through use it by reading through the following seven lessons. The lessons are designed to be readby you at your own pace and convenience while sitting at acomputer. The contents of the lessons are as follows: Lesson 1: Getting Started This lesson shows you how to type in text, the commands used to move the cursor around and delete and insert text. Lesson 2: Moving Around Faster This lesson introduces commands for moving around the text faster. Lesson 3: Reading and Writing Files This lesson explains the computer file system and how Perfect Writer uses it to store text. Commands for reading and writing files are demonstrated. At this point, the user will be able to use Perfect Writer effectively for simple document preparation. Lesson 4: Searching This lesson introduces the search and replace commands. replace commands. Lesson 5: Copying and Moving Text This lesson introduces the delete and restore commands. Several examples of text movement are provided. Lesson 6: Word Processing Commands This lesson explains the command used for "filling" paragraphs of text, and the commands used to set parameters which control this operation. Commands which change the case of words are also explained. Lesson 7: Multiple Files and Dual Window Display This lesson shows how to use the dual window display and multiple editing buffers. When you are finished with this introduction to theTeaching Disk, enter: C--X C--R and answer 'lesson1' when asked, "File to Read :" Thiswill take you directly to Lesson 1. If you want to exit and comeback later, then enter: C--X C--CWhen you wish to restart with Lesson 1, then simply enter: n 1, then simply enter: A>pw lesson1 from CP/M..t This lesson introduces the delete and restore commands. Several examples of textUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU++ `Ӏ  98 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  A@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  IH -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  QP -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  YX -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  a` -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ih( -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  qp0 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  yx8 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  @@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ   H@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  P@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  X@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ! `@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  )(h@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  10p@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  98x@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  A@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  IH -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  QP -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  YX -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  a` -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ih -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  qp -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  yx -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ   -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ   Ȇ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  І -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ؆ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  !  -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  )( -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  10 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  98 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  A@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  IH -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  QP -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  YX -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  a` -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ih( -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  qp0 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  yx8 -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  @@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ   H@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  P@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  X@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ! `@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  )(h@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  10p@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  98x@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  A@ -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  IH -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  QP -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  YX -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  a` -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  ih -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  qp -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  yx -*,.'@?KCopyrigh ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `++ `Ӏ  @.*,.'@?KCopyrighi ܴ֔_"Ê! ˆ!"-""." !-~2.һs*:-O|^#VS>#"@"B"DF*HN:T! 6(4K"*Y| *:-8Z"*S>#DM*L6# x [W*Ls#r*@6#6DV3(>(#>$R*:_2*,|y2_ `(C) 1982 Perfect Software, Inc. All Rights Reserved. name description BWORD Backwards word. FWORD Forward Word. MABORT Cancel the current prefix. MADDMODE Add Mode To Mode List. MARG Universal Argument Prefix. MARGDGT Numeric Digit Argument Prefix. MBLINE Point to Beginning of line. MBPARA Back Paragraph. MBSENT Beginning of sentence. MCAPWORD Capitalize Word. MCLOSEWH Close Up Whitespace Including . MCNTRLIN Center Line. MCOPYRGN Copy Region to Kill Buffer. MCTRLX eXtended Command Prefix. MDELCHAR Deletes Next Character. MDELELIN Kill Entire Line. MDELINDE Delete Indentation on current line. MDELLIN Kill line. MDELMODE Delete Mode from Mode List. MDELRGN Delete Region. MDELSENT Kill Sentence. MDELWHIT Delete Whitespace. MDELWORD Kill Forward Word. MDROPLIN Drop remainder of line vertically. MEXIT Exit Perfect Writer. MFLINE End of line. MFPARA Forward Paragraph. MFSENT Forward Sentence. MFILEREA Read File. MFILESAV Save File. MFILEWRI Write File. MFILLCHK Auto Fill Space. MFILLPAR Fill Paragraph. MFINDFIL Find File. MGOSPELL Call The Spelling Checker From PW. MGROWWIN Grow current window. MHELP Call Help Information Onto Screen. MINSERT Inserts the character at the point. MINCRSEA Reverse Search. MINCSEAR Forward Search. MINDNL Indent Subsequent New Line Same As This. MINDREST Indent Rest Of Line Same As This. MINDNTRG Indent Region. MINSSFI Insert File. MKILLBUF Delete Buffer. MLOWWORD Lowercase Word. MLSTBUFF List Buffers. MMAKEDEL Turn on + in modeline. MMETA Meta Prefix. MMRKPARA Mark Whole Paragraph. MNEWDSP Scroll-Redisplay. MNEWLIN Carriage Return. MNEXTCHA Forward Character. MNEXTLIN Next Line. MNEXTPAG View Next Screen. MNOTIMPL 'Unknown command'. MNXTOTHR View other window's next screen. MONEWIND One Window Mode. MOPENIND Indent Leading New Line Same As This. MOPENLIN Open line. MOVERWRI Overwrite (instead of insert). MPBCHAR Overwrite Mode Back Character. MPBACKSP Overwrite Mode Back Space. MPBEGLIN Overwrite Mode Beginning of line. MPENDLIN Overwrite Mode End of line. MPFCHAR Overwrite Mode Forward Character. MPNEWLIN Overwrite Mode Carriage Return. MPNEXTLI Overwrite Mode Next Line. MPPREVLI Overwrite Mode Previous Line. MPTAB Overwrite Mode Tab. MPREVCHA Backwards one character. MPREVLIN Previous Line. MPREVPAG View Previous Screen. MPRINTPO Print Current Position. MPRVOTHR View other window's previous screen. MQRYRPLC Query Replace. MQUOTE Quote Character. MRDELCHA Delete Previous Character. MRDELWOR Kill Previous Word. MRNEWDSP Reverse Scroll Redisplay. MREPLACE Global Replace. MSINSERT Auto Save Mode Insert. MSETFILL Set Fill Column. MSETINDE Set Indent Column. MSETMRK Sets the mark at the point. MSETTABS Set Tab Stops. MSWAPCHA Transpose Characters. MSWAPMRK Swap Point and Mark. MSWAPWOR Transpose Word. MSWITCHT Switch to another buffer. MSWPWIND Switch to other window. MTOEND End of buffer. MTOSTART Beginning of Buffer. MTOGLC Toggle case of character at point. MTRIMWHI Globally Delete Trailing Whitespace. MTWOWIND Two Window Mode. MUNDNTRG Undent Region. MUPWORD Uppercase Word. MWHATVER Echos the version and release date. MWRTRGN Write Region to file. MYANK Yank Kill Buffer. NEWDSP Redisplay. SPADD Spell Mode Add Word To Dictionary. SPCHANGE Spell Mode Change Word. SPEDIT Spell Mode Pop To Edit. SPHELP Spell Mode Get Help. SPIGNORE Spell Mode Ignore Word. SPROOT Spell Mode Add Root to Dictionary. Scroll Redisplay. MREPLACE Globalespace. MTWOWIND Two Window Mode. MUNDNTRG Undent Region. MUPWORD Uppercase Word. MWHATVER Echos the version(C) 1982 Perfect Software, Inc. All rights reserved. Fill Mode is the default mode. char name function description 0 C-@ MSETMRK Sets the mark at the point. 1 C-A MBLINE Point to Beginning of line. 2 C-B MPREVCHA Backwards one character. 3 C-C MNOTIMPL 'Unknown command'. 4 C-D MDELCHAR Deletes Next Character. 5 C-E MFLINE End of line. 6 C-F MNEXTCHA Forward Character. 7 C-G MABORT Cancel the current prefix. 8 C-H MPREVCHA Backwards one character. 9 MINSERT Inserts the character at the point. 10 MINDREST Indent Rest Of Line Same As This. 11 C-K MDELLIN Kill line. 12 C-L MNEWDSP Scroll-Redisplay. 13 MNEWLIN Carriage Return. 14 C-N MNEXTLIN Next Line. 15 C-O MOPENLIN Open line. 16 C-P MPREVLIN Previous Line. 17 C-Q MQUOTE Quote Character. 18 C-R MINCRSEA Reverse Search. 19 C-S MINCSEAR Forward Search. 20 C-T MSWAPCHA Transpose Characters. 21 C-U MARG Universal Argument Prefix. 22 C-V MNEXTPAG View Next Screen. 23 C-W MDELRGN Delete Region. 24 C-X MCTRLX eXtended Command Prefix. 25 C-Y MYANK Yank Kill Buffer. 26 C-Z MPREVPAG View Previous Screen. 27 C-[ MMETA Meta Prefix. 28 C-\ MDELINDE Delete Indentation on current line. 29 C-] MNOTIMPL 'Unknown command'. 30 C-^ MTOGLC Toggle case of character at point. 31 C-_ MNOTIMPL 'Unknown command'. 32 MINSERT Inserts the character at the point. 33 ! MINSERT Inserts the character at the point. 34 " MINSERT Inserts the character at the point. 35 # MINSERT Inserts the character at the point. 36 $ MINSERT Inserts the character at the point. 37 % MINSERT Inserts the character at the point. 38 & MINSERT Inserts the character at the point. 39 ' MINSERT Inserts the character at the point. 40 ( MINSERT Inserts the character at the point. 41 ) MINSERT Inserts the character at the point. 42 * MINSERT Inserts the character at the point. 43 + MINSERT Inserts the character at the point. 44 , MINSERT Inserts the character at the point. 45 - MINSERT Inserts the character at the point. 46 . MINSERT Inserts the character at the point. 47 / MINSERT Inserts the character at the point. 48 0 MINSERT Inserts the character at the point. 49 1 MINSERT Inserts the character at the point. 50 2 MINSERT Inserts the character at the point. 51 3 MINSERT Inserts the character at the point. 52 4 MINSERT Inserts the character at the point. 53 5 MINSERT Inserts the character at the point. 54 6 MINSERT Inserts the character at the point. 55 7 MINSERT Inserts the character at the point. 56 8 MINSERT Inserts the character at the point. 57 9 MINSERT Inserts the character at the point. 58 : MINSERT Inserts the character at the point. 59 ; MINSERT Inserts the character at the point. 60 < MINSERT Inserts the character at the point. 61 = MINSERT Inserts the character at the point. 62 > MINSERT Inserts the character at the point. 63 ? MINSERT Inserts the character at the point. 64 @ MINSERT Inserts the character at the point. 65 A MINSERT Inserts the character at the point. 66 B MINSERT Inserts the character at the point. 67 C MINSERT Inserts the character at the point. 68 D MINSERT Inserts the character at the point. 69 E MINSERT Inserts the character at the point. 70 F MINSERT Inserts the character at the point. 71 G MINSERT Inserts the character at the point. 72 H MINSERT Inserts the character at the point. 73 I MINSERT Inserts the character at the point. 74 J MINSERT Inserts the character at the point. 75 K MINSERT Inserts the character at the point. 76 L MINSERT Inserts the character at the point. 77 M MINSERT Inserts the character at the point. 78 N MINSERT Inserts the character at the point. 79 O MINSERT Inserts the character at the point. 80 P MINSERT Inserts the character at the point. 81 Q MINSERT Inserts the character at the point. 82 R MINSERT Inserts the character at the point. 83 S MINSERT Inserts the character at the point. 84 T MINSERT Inserts the character at the point. 85 U MINSERT Inserts the character at the point. 86 V MINSERT Inserts the character at the point. 87 W MINSERT Inserts the character at the point. 88 X MINSERT Inserts the character at the point. 89 Y MINSERT Inserts the character at the point. 90 Z MINSERT Inserts the character at the point. 91 [ MINSERT Inserts the character at the point. 92 \ MINSERT Inserts the character at the point. 93 ] MINSERT Inserts the character at the point. 94 ^ MINSERT Inserts the character at the point. 95 _ MINSERT Inserts the character at the point. 96 ` MINSERT Inserts the character at the point. 97 a MINSERT Inserts the character at the point. 98 b MINSERT Inserts the character at the point. 99 c MINSERT Inserts the character at the point. 100 d MINSERT Inserts the character at the point. 101 e MINSERT Inserts the character at the point. 102 f MINSERT Inserts the character at the point. 103 g MINSERT Inserts the character at the point. 104 h MINSERT Inserts the character at the point. 105 i MINSERT Inserts the character at the point. 106 j MINSERT Inserts the character at the point. 107 k MINSERT Inserts the character at the point. 108 l MINSERT Inserts the character at the point. 109 m MINSERT Inserts the character at the point. 110 n MINSERT Inserts the character at the point. 111 o MINSERT Inserts the character at the point. 112 p MINSERT Inserts the character at the point. 113 q MINSERT Inserts the character at the point. 114 r MINSERT Inserts the character at the point. 115 s MINSERT Inserts the character at the point. 116 t MINSERT Inserts the character at the point. 117 u MINSERT Inserts the character at the point. 118 v MINSERT Inserts the character at the point. 119 w MINSERT Inserts the character at the point. 120 x MINSERT Inserts the character at the point. 121 y MINSERT Inserts the character at the point. 122 z MINSERT Inserts the character at the point. 123 { MINSERT Inserts the character at the point. 124 | MINSERT Inserts the character at the point. 125 } MINSERT Inserts the character at the point. 126 ~ MINSERT Inserts the character at the point. 127 MRDELCHA Delete Previous Character. 128 M-C-@ MNOTIMPL 'Unknown command'. 129 M-C-A MNOTIMPL 'Unknown command'. 130 M-C-B MNOTIMPL 'Unknown command'. 131 M-C-C MNOTIMPL 'Unknown command'. 132 M-C-D MNOTIMPL 'Unknown command'. 133 M-C-E MNOTIMPL 'Unknown command'. 134 M-C-F MNOTIMPL 'Unknown command'. 135 M-C-G MABORT Cancel the current prefix. 136 M-C-H MNOTIMPL 'Unknown command'. 137 M- MNOTIMPL 'Unknown command'. 138 M- MDROPLIN Drop remainder of line vertically. 139 M-C-K MDELELIN Kill Entire Line. 140 M-C-L MRNEWDSP Reverse Scroll Redisplay. 141 M- MNOTIMPL 'Unknown command'. 142 M-C-N MNOTIMPL 'Unknown command'. 143 M-C-O MCLOSEWH Close Up Whitespace Including . 144 M-C-P MNOTIMPL 'Unknown command'. 145 M-C-Q MNOTIMPL 'Unknown command'. 146 M-C-R MQRYRPLC Query Replace. 147 M-C-S MNOTIMPL 'Unknown command'. 148 M-C-T MNOTIMPL 'Unknown command'. 149 M-C-U MNOTIMPL 'Unknown command'. 150 M-C-V MNOTIMPL 'Unknown command'. 151 M-C-W MMAKEDEL Turn on + in modeline. 152 M-C-X MNOTIMPL 'Unknown command'. 153 M-C-Y MNOTIMPL 'Unknown command'. 154 M-C-Z MNOTIMPL 'Unknown command'. 155 M-C-[ MNOTIMPL 'Unknown command'. 156 M-C-\ MNOTIMPL 'Unknown command'. 157 M-C-] MNOTIMPL 'Unknown command'. 158 M-C-^ MNOTIMPL 'Unknown command'. 159 M-C-_ MNOTIMPL 'Unknown command'. 160 M- MSETMRK Sets the mark at the point. 161 M-! MNOTIMPL 'Unknown command'. 162 M-" MNOTIMPL 'Unknown command'. 163 M-# MNOTIMPL 'Unknown command'. 164 M-$ MNOTIMPL 'Unknown command'. 165 M-% MNOTIMPL 'Unknown command'. 166 M-& MNOTIMPL 'Unknown command'. 167 M-' MNOTIMPL 'Unknown command'. 168 M-( MNOTIMPL 'Unknown command'. 169 M-) MNOTIMPL 'Unknown command'. 170 M-* MNOTIMPL 'Unknown command'. 171 M-+ MNOTIMPL 'Unknown command'. 172 M-, MNOTIMPL 'Unknown command'. 173 M-- MNOTIMPL 'Unknown command'. 174 M-. MNOTIMPL 'Unknown command'. 175 M-/ MNOTIMPL 'Unknown command'. 176 M-0 MARGDGT Numeric Digit Argument Prefix. 177 M-1 MARGDGT Numeric Digit Argument Prefix. 178 M-2 MARGDGT Numeric Digit Argument Prefix. 179 M-3 MARGDGT Numeric Digit Argument Prefix. 180 M-4 MARGDGT Numeric Digit Argument Prefix. 181 M-5 MARGDGT Numeric Digit Argument Prefix. 182 M-6 MARGDGT Numeric Digit Argument Prefix. 183 M-7 MARGDGT Numeric Digit Argument Prefix. 184 M-8 MARGDGT Numeric Digit Argument Prefix. 185 M-9 MARGDGT Numeric Digit Argument Prefix. 186 M-: MNOTIMPL 'Unknown command'. 187 M-; MNOTIMPL 'Unknown command'. 188 M-< MTOSTART Beginning of Buffer. 189 M-= MNOTIMPL 'Unknown command'. 190 M-> MTOEND End of buffer. 191 M-? MHELP Call Help Information Onto Screen. 192 M-@ MNOTIMPL 'Unknown command'. 193 M-A MBSENT Beginning of sentence. 194 M-B BWORD Backwards word. 195 M-C MCAPWORD Capitalize Word. 196 M-D MDELWORD Kill Forward Word. 197 M-E MFSENT Forward Sentence. 198 M-F FWORD Forward Word. 199 M-G MNOTIMPL 'Unknown command'. 200 M-H MMRKPARA Mark Whole Paragraph. 201 M-I MNOTIMPL 'Unknown command'. 202 M-J MINDNL Indent Subsequent New Line Same As This. 203 M-K MDELSENT Kill Sentence. 204 M-L MLOWWORD Lowercase Word. 205 M-M MNOTIMPL 'Unknown command'. 206 M-N MFPARA Forward Paragraph. 207 M-O MOPENIND Indent Leading New Line Same As This. 208 M-P MBPARA Back Paragraph. 209 M-Q MFILLPAR Fill Paragraph. 210 M-R MREPLACE Global Replace. 211 M-S MCNTRLIN Center Line. 212 M-T MSWAPWOR Transpose Word. 213 M-U MUPWORD Uppercase Word. 214 M-V MNOTIMPL 'Unknown command'. 215 M-W MCOPYRGN Copy Region to Kill Buffer. 216 M-X MNOTIMPL 'Unknown command'. 217 M-Y MNOTIMPL 'Unknown command'. 218 M-Z MNOTIMPL 'Unknown command'. 219 M-[ MNOTIMPL 'Unknown command'. 220 M-\ MDELWHIT Delete Whitespace. 221 M-] MNOTIMPL 'Unknown command'. 222 M-^ MNOTIMPL 'Unknown command'. 223 M-_ MNOTIMPL 'Unknown command'. 224 M-` MNOTIMPL 'Unknown command'. 225 M-a MBSENT Beginning of sentence. 226 M-b BWORD Backwards word. 227 M-c MCAPWORD Capitalize Word. 228 M-d MDELWORD Kill Forward Word. 229 M-e MFSENT Forward Sentence. 230 M-f FWORD Forward Word. 231 M-g MNOTIMPL 'Unknown command'. 232 M-h MMRKPARA Mark Whole Paragraph. 233 M-i MNOTIMPL 'Unknown command'. 234 M-j MINDNL Indent Subsequent New Line Same As This. 235 M-k MDELSENT Kill Sentence. 236 M-l MLOWWORD Lowercase Word. 237 M-m MNOTIMPL 'Unknown command'. 238 M-n MFPARA Forward Paragraph. 239 M-o MOPENIND Indent Leading New Line Same As This. 240 M-p MBPARA Back Paragraph. 241 M-q MFILLPAR Fill Paragraph. 242 M-r MREPLACE Global Replace. 243 M-s MCNTRLIN Center Line. 244 M-t MSWAPWOR Transpose Word. 245 M-u MUPWORD Uppercase Word. 246 M-v MNOTIMPL 'Unknown command'. 247 M-w MCOPYRGN Copy Region to Kill Buffer. 248 M-x MNOTIMPL 'Unknown command'. 249 M-y MNOTIMPL 'Unknown command'. 250 M-z MNOTIMPL 'Unknown command'. 251 M-{ MNOTIMPL 'Unknown command'. 252 M-| MNOTIMPL 'Unknown command'. 253 M-} MNOTIMPL 'Unknown command'. 254 M-~ MNOTIMPL 'Unknown command'. 255 M- MRDELWOR Kill Previous Word. 256 X-C-@ MNOTIMPL 'Unknown command'. 257 X-C-A MNOTIMPL 'Unknown command'. 258 X-C-B MLSTBUFF List Buffers. 259 X-C-C MEXIT Exit Perfect Writer. 260 X-C-D MNOTIMPL 'Unknown command'. 261 X-C-E MNOTIMPL 'Unknown command'. 262 X-C-F MFINDFIL Find File. 263 X-C-G MABORT Cancel the current prefix. 264 X-C-H MNOTIMPL 'Unknown command'. 265 X- MSETTABS Set Tab Stops. 266 X- MNOTIMPL 'Unknown command'. 267 X-C-K MNOTIMPL 'Unknown command'. 268 X-C-L MNOTIMPL 'Unknown command'. 269 X- MDELMODE Delete Mode from Mode List. 270 X-C-N MNOTIMPL 'Unknown command'. 271 X-C-O MNOTIMPL 'Unknown command'. 272 X-C-P MNOTIMPL 'Unknown command'. 273 X-C-Q MNOTIMPL 'Unknown command'. 274 X-C-R MFILEREA Read File. 275 X-C-S MFILESAV Save File. 276 X-C-T MNOTIMPL 'Unknown command'. 277 X-C-U MNOTIMPL 'Unknown command'. 278 X-C-V MNXTOTHR View other window's next screen. 279 X-C-W MFILEWRI Write File. 280 X-C-X MSWAPMRK Swap Point and Mark. 281 X-C-Y MNOTIMPL 'Unknown command'. 282 X-C-Z MPRVOTHR View other window's previous screen. 283 X-C-[ MNOTIMPL 'Unknown command'. 284 X-C-\ MNOTIMPL 'Unknown command'. 285 X-C-] MNOTIMPL 'Unknown command'. 286 X-C-^ MNOTIMPL 'Unknown command'. 287 X-C-_ MNOTIMPL 'Unknown command'. 288 X- MNOTIMPL 'Unknown command'. 289 X-! MNOTIMPL 'Unknown command'. 290 X-" MNOTIMPL 'Unknown command'. 291 X-# MNOTIMPL 'Unknown command'. 292 X-$ MNOTIMPL 'Unknown command'. 293 X-% MNOTIMPL 'Unknown command'. 294 X-& MNOTIMPL 'Unknown command'. 295 X-' MNOTIMPL 'Unknown command'. 296 X-( MNOTIMPL 'Unknown command'. 297 X-) MNOTIMPL 'Unknown command'. 298 X-* MWHATVER Echos the version and release date. 299 X-+ MNOTIMPL 'Unknown command'. 300 X-, MNOTIMPL 'Unknown command'. 301 X-- MNOTIMPL 'Unknown command'. 302 X-. MSETINDE Set Indent Column. 303 X-/ MNOTIMPL 'Unknown command'. 304 X-0 MNOTIMPL 'Unknown command'. 305 X-1 MONEWIND One Window Mode. 306 X-2 MTWOWIND Two Window Mode. 307 X-3 MNOTIMPL 'Unknown command'. 308 X-4 MNOTIMPL 'Unknown command'. 309 X-5 MNOTIMPL 'Unknown command'. 310 X-6 MNOTIMPL 'Unknown command'. 311 X-7 MNOTIMPL 'Unknown command'. 312 X-8 MNOTIMPL 'Unknown command'. 313 X-9 MNOTIMPL 'Unknown command'. 314 X-: MNOTIMPL 'Unknown command'. 315 X-; MNOTIMPL 'Unknown command'. 316 X-< MUNDNTRG Undent Region. 317 X-= MPRINTPO Print Current Position. 318 X-> MINDNTRG Indent Region. 319 X-? MHELP Call Help Information Onto Screen. 320 X-@ MNOTIMPL 'Unknown command'. 321 X-A MNOTIMPL 'Unknown command'. 322 X-B MSWITCHT Switch to another buffer. 323 X-C MNOTIMPL 'Unknown command'. 324 X-D MNOTIMPL 'Unknown command'. 325 X-E MNOTIMPL 'Unknown command'. 326 X-F MSETFILL Set Fill Column. 327 X-G MNOTIMPL 'Unknown command'. 328 X-H MNOTIMPL 'Unknown command'. 329 X-I MINSSFI Insert File. 330 X-J MNOTIMPL 'Unknown command'. 331 X-K MKILLBUF Delete Buffer. 332 X-L MNOTIMPL 'Unknown command'. 333 X-M MADDMODE Add Mode To Mode List. 334 X-N MNOTIMPL 'Unknown command'. 335 X-O MSWPWIND Switch to other window. 336 X-P MNOTIMPL 'Unknown command'. 337 X-Q MNOTIMPL 'Unknown command'. 338 X-R MWRTRGN Write Region to file. 339 X-S MGOSPELL Call The Spelling Checker From PW. 340 X-T MNOTIMPL 'Unknown command'. 341 X-U MNOTIMPL 'Unknown command'. 342 X-V MNOTIMPL 'Unknown command'. 343 X-W MNOTIMPL 'Unknown command'. 344 X-X MNOTIMPL 'Unknown command'. 345 X-Y MNOTIMPL 'Unknown command'. 346 X-Z MNOTIMPL 'Unknown command'. 347 X-[ MNOTIMPL 'Unknown command'. 348 X-\ MTRIMWHI Globally Delete Trailing Whitespace. 349 X-] MNOTIMPL 'Unknown command'. 350 X-^ MGROWWIN Grow current window. 351 X-_ MNOTIMPL 'Unknown command'. 352 X-` MNOTIMPL 'Unknown command'. 353 X-a MNOTIMPL 'Unknown command'. 354 X-b MSWITCHT Switch to another buffer. 355 X-c MNOTIMPL 'Unknown command'. 356 X-d MNOTIMPL 'Unknown command'. 357 X-e MNOTIMPL 'Unknown command'. 358 X-f MSETFILL Set Fill Column. 359 X-g MNOTIMPL 'Unknown command'. 360 X-h MNOTIMPL 'Unknown command'. 361 X-i MINSSFI Insert File. 362 X-j MNOTIMPL 'Unknown command'. 363 X-k MKILLBUF Delete Buffer. 364 X-l MNOTIMPL 'Unknown command'. 365 X-m MADDMODE Add Mode To Mode List. 366 X-n MNOTIMPL 'Unknown command'. 367 X-o MSWPWIND Switch to other window. 368 X-p MNOTIMPL 'Unknown command'. 369 X-q MNOTIMPL 'Unknown command'. 370 X-r MWRTRGN Write Region to file. 371 X-s MGOSPELL Call The Spelling Checker From PW. 372 X-t MNOTIMPL 'Unknown command'. 373 X-u MNOTIMPL 'Unknown command'. 374 X-v MNOTIMPL 'Unknown command'. 375 X-w MNOTIMPL 'Unknown command'. 376 X-x MNOTIMPL 'Unknown command'. 377 X-y MNOTIMPL 'Unknown command'. 378 X-z MNOTIMPL 'Unknown command'. 379 X-{ MNOTIMPL 'Unknown command'. 380 X-| MNOTIMPL 'Unknown command'. 381 X-} MNOTIMPL 'Unknown command'. 382 X-~ MNOTIMPL 'Unknown command'. 383 X- MNOTIMPL 'Unknown command'. Unknown command'. 360 X-h MNOTIMPL 'Unknown command'. 361 X-i MINSSFI Insert File. 362 X-j -v MNOTIMPL 'Unknown command'. 375 X-w MNOTIMPL 'Unknown command'. 376 X-x MNOTIMPL 'Unknown command'. 377 X-y MNOTIMPL 'Unknown command'. 378 X-z MNOTIMPL 'Unknown command'. 379 X-{ MNOTIMPL 'Unknown command'. 380 X-| MNOTIMP ADVANCED INTRODUCTION TO PERFECT WRITER: You are looking at the Perfect Writer tutorial. While you can read this in hardcopy form, it is more helpful to sit down at your computer and use Perfect Writer to read it. Just type the command "pw advintro.mss". Perfect Writer commands are generally given by holding the CONTROL key (sometimes labelled CTRL or CTL) or hitting the ESCAPE key (sometimes labelled ESC or ALT). Rather than write out ESCAPE or CONTROL each time we want you to give a command, we'll use the following abbreviations: C- means hold the CONTROL key down and type a character. M- means type the ESCAPE key, release it, then type the character. (The "M" stands for "Meta-command"; ESC is a substitute for the imaginary "meta-shift" key.) Thus, C-F would be hold the control key and type F. You will often be asked to type characters to see how they work; don't actually do this, however, until you see >> at the left of the screen. For instance: >> Now type C-V (View next screen) to move to the next screen. (go ahead, do it by depressing the control key and V together). From now on, you'll be expected to do this whenever you finish reading the screen. Note that there is an overlap when going from screen to screen; this provides some continuity when moving through the file. The first thing that you need to know is how to move around from place to place in the file. You already know how to move forward a screen, with C-V. To move backwards a screen, type C-Z. >> Try typing C-Z and then C-V to move back and forth a few times. SUMMARY ------- The following commands are useful for viewing screenfuls: C-V Move forward one screenful C-Z Move backward one screenful C-L 'Refresh' the current screen. >> Try C-L now. (You'll notice that it centers the screen where the cursor currently is.) BASIC CURSOR CONTROL -------------------- Getting from screenful to screenful is useful, but how do you reposition yourself within a given screen to a specific place? There are several ways you can do this. One way (not the best, but the most basic) is to use the commands Previous, Backward, Forward and Next. As you can imagine, these commands (which are given to Perfect Writer as C-P, C-B, C-F, and C-N respectively) move the cursor from where it currently is to a new place in the given direction. Here in a more graphical form are the commands: Previous line, C-P : : Backward, C-B .... Current cursor position .... Forward, C-F : : Next line, C-N You'll probably find it easy to think of these by letter. P for previous, N for next, B for backward and F for forward. These are the basic cursor positioning commands and you'll be using them ALL the time so it would be of great benefit if you learn them now. >> Try doing a few C-N's to bring the cursor down to this line. Move into the line with C-F's and up with C-P's. Now use these four commands to play around a little. Try moving off the top of this screen and see what happens. When you go off the top or bottom of the screen, the text beyond the edge is shifted onto the screen so that your instructions can be carried out while keeping the cursor on the screen. >> Try to C-B at the beginning of a line. Do a few more C-B's. Then do C-F's back to the end of the line and beyond. If moving by characters is too slow, you can move by words. M-F (remember, type F) moves forward a word and M-B moves back a word. >> Type a few M-F's and M-B's. Intersperse them with C-F's and C-B's. You will notice the parallel between C-F and C-B on the one hand, and M-F and M-B on the other hand. Very often Meta characters are used for operations related to English text whereas Control characters operate on the basic textual units that are independent of what you are editing (characters, lines, etc). There is a similar parallel between lines and sentences: C-A and C-E move to the beginning or end of a line, and M-A and M-E move to the beginning or end of a sentence. >> Try a couple of C-A's, and then a couple of C-E's. Try a couple of M-A's, and then a couple of M-E's. See how repeated C-A's do nothing, but repeated M-A's keep moving farther. Do you think that this is right? Here is a summary of simple moving operations including the word and sentence moving commands: C-F Move forward a character C-B Move backward a character M-F Move forward a word M-B Move backward a word C-N Move to next line C-P Move to previous line C-A Move to beginning of line C-E Move to end of line M-A Move back to beginning of sentence M-E Move forward to end of sentence M-< Go to beginning of file M-> Go to end of file >> Try all of these commands now a few times for practice. Since the last two will take you away from this screen, you can come back here with C-Z's and C-V's. These are the most often used commands. Like all other commands in Perfect Writer, they can be given arguments which cause them to be executed repeatedly. The way you give a command a repeat count is by typing C-U and then the digits before you type the command. (C-U stands for "Universal argument".) The digits are echoed at the bottom of the screen slowly, just after you type them. Notice that just after you type C-U, the message "Arg: 4" appears there. If no numbers are typed after the C-U, it executes the following command 4 times. For now, though, just type in numbers. For instance, C-U 8 C-F moves forward eight characters. >> Try giving a suitable argument to C-N or C-P to come as close as you can to this line in one jump. INSERTING AND DELETING ---------------------- If you want to type text, just do it. Characters which you can see, such as A, 7, *, etc. are taken by Perfect Writer as text and inserted immediately. You can delete the last character you typed by doing (sometimes labelled "DELETE" or "DEL" or even "RUBOUT"). More generally, will delete the character immediately before the current cursor position. >> Do this now, type a few characters and then delete them by typing a few times. Don't worry about this file being changed; you won't affect the master tutorial, because this is just a copy of it in your Perfect Writer editing buffer. Notice that a "*" appeared in the line at the bottom of the screen. This means that the text on your screen is different that the text you read in, and hasn't been written out to a file. Remember that most Perfect Writer commands can be given a repeat count; Note that this includes characters which insert themselves. >> Try that now -- type C-U 8 * and see what happens. You've now learned the most basic way of typing something in Perfect Writer and correcting errors. You can delete by words or lines just as you can move by words or lines. Here are some of the delete operations: delete the character just before the cursor C-D delete the character that the cursor is positioned on M- delete the word before the cursor M-D delete the word after the cursor C-K delete (kill) from the cursor position to the end of line M-K delete (kill) to the end of the current sentence Notice that and C-D vs M- and M-D extend the parallel started by C-F and M-F. C-K and C-E are similar to M-K and M-E. Now suppose you delete something, and then you decide that you want to get it back? Well, whenever you delete something bigger than a character, Perfect Writer saves it for you. To yank it back, use C-Y. Note that you don't have to be in the same place to do C-Y; this is a good way to move text around. Generally, the commands that can destroy a lot of text will save it, while the ones that attack only one character, or nothing but blank lines and spaces, will not save them. For instance, type C-N a couple times to position the cursor at some line on this screen. >> Do this now, move the cursor and kill that line with C-K. Note that a single C-K will kill the contents of the line, and a second C-K will delete the line itself, and make all the other lines move up. The text that has just disappeared is saved so that you can retrieve it. To retrieve the last killed text and put it where the cursor currently is, type C-Y. >> Try it; type C-Y to yank the text back. Think of C-Y as if you were yanking something back that someone took away from you. Notice that if you do several C-K's in a row the text that is killed is all saved together so that one C-Y will yank all of the lines. A way to tell if this is going to happen or not is the "+" which will appear on the line at the bottom of the screen. If it is present, whatever text is killed will be appended to whatever is already there. >> Do this now, type C-K several times. Now to retrieve that killed text: >> Type C-Y. Then move the cursor down a few lines and type C-Y again. You now see how to copy some text. FILES ----- In order to make the text you edit permanent, you must put it in a file. You put your editing in a file by writing or saving the file. If you look near the botton of the screen you will see a line that starts with "Perfect Writer Version 1.02 (fill) advintro:" and continues with the filename ADVINTRO.MSS. This is the name of the permanent file in which the Perfect Writer tutorial is stored. This is the file you are now editing. Whatever file you edit, its name will appear in the same spot. The commands for reading and saving files are unlike the other commands you have learned in that they consist of two control characters. They both start with the character Control-X. There is a whole series of commands that start with Control-X; many of them have to do with files, buffers, and related things, and all of them consist of Control-X followed by some other character. C-X C-W writes out the editing buffer C-X C-R reads a file into the editing buffer In addition, each of these commands asks for a filename to use. Enter the name, and finish it by typing a carriage-return (). >> Go ahead and try that now; type C-X C-W, and when Perfect Writer asks for a filename, type ERASE.ME, then type a . Note that the mode line has now changed to reflect the new file name. (Don't forget to ERAse the file after you're done sometime.) If you forget to write out your work and try to read another file, Perfect Writer will remind you that you made changes and ask you whether to abandon them. (If you don't save them, they will be thrown away. That might be what you want!) You should answer with a "N" to keep your edited text or a "Y" to abandon it and read in the new file anyway. To make a new file, just C-X C-R it "as if" it already existed. Perfect Writer will echo "New File" at the bottom of the screen. Then start typing in the text. When you ask to write the file, Perfect Writer will really create the file with the text that you have inserted. From then on, you can consider yourself to be editing an already existing file. Another command is available to prevent retyping filenames all the time. C-X C-S saves the file This command just rewrites the editing buffer to whatever file name is in the mode line at the bottom of the screen. It may save some typing. It is not easy for you to try out making a file and continue with the tutorial. But you can always come back into the tutorial by starting it over and skipping forward. So, when you feel ready, be sure that it worked. One more immediately useful command is C-X C-C, which tells Perfect Writer you'd like to stop editing. (Think of it as an augmented C-C, which usually works in the operating system to get you out of programs.) This does NOT save your file. It will ask if you really want to quit if you have not written out the editing buffer, however. MODE LINE --------- If Perfect Writer sees that you have typed an or C-U or C-Q or a C-X and have not typed the following character in the command sequence, it will show you the prefix you have typed in an area at the bottom of the screen. This line is called the "echo line"; it echoes numbers typed after a C-U, characters to be included in search strings, and some progress information when file I/O is going on. This is just the last line at the bottom. The line immediately above this is called the MODE LINE. You may notice that it begins Perfect Writer Version 1.02 (fill) buffer: DRIVE:FILENAME -nn%- * This is a very useful "information" line. You already know what the filename means -- it is the file you have read. What the -nn%- means is that nn percent of the file is above the cursor. The "*" means that the editing buffer has been changed since the file was last written. You also know what the "+" means in relation to the C-K command. SEARCHING --------- Perfect Writer can do searches for strings (these are groups of contiguous characters or words) either forward through the file or backward through it. To search for the string means that you are trying to locate it somewhere in the file and have Perfect Writer show you where the occurrences of the string exist. The command to start a search is C-S. Down in the echo area, you will notice "Search Forward For :" appear. Type in the string you want to search for (which will appear in the echo area also). When you finish, type the ESCAPE key and Perfect Writer will try to find the next occurrence of the string in your text. If no such occurrence exists Perfect Writer tells you that the string was not found. In addition, if you decide you really don't want to search after all, type C-G and Perfect Writer will erase the search string and cancel the C-S command. (More generally, C-G cancels any command; for example, if you mistakenly type or C-U when you didn't mean to, type C-G to flush the prefixes.) If you are in the middle of a search and type the DELETE key, you'll notice that the last character in the search string is erased. >> Now type C-S to start a search. Type the word "search" followed by an . Notice where the cursor is positioned to. Now type C-S again, immediately followed by . Perfect Writer will search for whatever it searched for last time if no new string is given. The C-S starts a search that looks for any occurrence of the search string AFTER the current cursor position. But what if you want to search for something earlier in the text? To do this you should type C-R for Reverse search. Everything that applies to C-S applies to C-R except that the direction of the search is reversed. GETTING MORE HELP ----------------- In this tutorial we have tried to supply just enough information to get you started using Perfect Writer. There is so much available in Perfect Writer that it would be impossible to explain it all here. However, you may want to learn more about Perfect Writer since it has numerous desirable features that you don't know about yet. The Perfect Writer User's Guide completely describes the commands presented in this tutorial, as well as the more sophisticated commands, modes, and editing features. There are several lessons in the introductory tutorial that you might find of use. Lesson 7 of the tutorial discusses the TWO WINDOW feature and some of its uses. This may be quite helpful. CONCLUSION ---------- You'll probably find that if you use Perfect Writer for a few days you won't be able to give it up. Initially it may take some getting used to. But remember that this is the case with any editor, especially one that can do many things. . EMP8 DBFEMPBAK DBFEMPMAST DBFEMPMAST FRM LEARNING TO USE PERFECT WRITER You are looking at the TEACHING DISK that we've designed to teach you how to use Perfect Writer through several self-study lessons. This TEACHING DISK is designed for the person who has no previous experience with word processing. Perfect Writer commands are generally given by holding the CONTROL key (sometimes labelled CTRL or CTL) or hitting the ESCAPE key (sometimes labelled ESC or ALT). Rather than write out ESCAPE or CONTROL each time we want you to give a command, we'll use the following abbreviations: C-- means hold the CONTROL key down and type a character. M-- means type the ESCAPE key, release it, then type the character. (The "M" stands for "Meta-command"; ESC is a substitute for the imaginary "meta-shift" key.) Thus, C--F would be hold the control key and type F. You will often be asked to type characters to see how they work. >> Now type C--V (View next screen) to move to the next screen. (go ahead, do it by depressing the control key and V together). From now on, you'll be expected to do this whenever you finish reading the screen. Note that there is an overlap when going from screen to screen; this provides some continuity when moving through the file. The first thing that you need to know is how to move around from place to place in the file. You already know how to move forward a screen, with C--V. To move backwards a screen, type C--Z. Try typing C--Z and then C--V to move back and forth a few times. SUMMARY ------- The following commands are useful for viewing screenfuls: C--V Move forward one screenful C--Z Move backward one screenful C--L 'Refresh' the current screen. Try C--L now. (You'll notice that it centers the screen where the cursor currently is.) Perfect Writer is an easy-to-use word processor. You should be able to teach yourself how to use it by reading through the following seven lessons. The lessons are designed to be read by you at your own pace and convenience while sitting at a computer. The contents of the lessons are as follows: Lesson 1: Getting Started This lesson shows you how to type in text, the commands used to move the cursor around and delete and insert text. Lesson 2: Moving Around Faster This lesson introduces commands for moving around the text faster. Lesson 3: Reading and Writing Files This lesson explains the computer file system and how Perfect Writer uses it to store text. Commands for reading and writing files are demonstrated. At this point, the user will be able to use Perfect Writer effectively for simple document preparation. Lesson 4: Searching This lesson introduces the search and replace commands. Lesson 5: Copying and Moving Text This lesson introduces the delete and restore commands. Several examples of text movement are provided. Lesson 6: Word Processing Commands This lesson explains the command used for "filling" paragraphs of text, and the commands used to set parameters which control this operation. Commands which change the case of words are also explained. Lesson 7: Multiple Files and Dual Window Display This lesson shows how to use the dual window display and multiple editing buffers. When you are finished with this introduction to the Teaching Disk, enter: C--X C--R and answer 'lesson1' when asked, "File to Read :" This will take you directly to Lesson 1. If you want to exit and come back later, then enter: C--X C--C When you wish to restart with Lesson 1, then simply enter: A>pw lesson1 from CP/M.t This lesson introduces the delete and restore commands. Several examples of textdow display and multiple editing buffers. When you are finished with this introduction to the Teaching Disk, enter: C--X C--R and answer 'lesson1' when asked, "File to Read :" This will take you directly to Lesson 1. If you want to exit and come back later, then enter: C--X C--C When you wish to restart with Lesson 1, then simply enter: Lesson 1: Getting Started Perfect Writer is a powerful user friendly word processor especially designed for personal computers. In many ways, it makes your computer similar to a modern office typewriter. During this first lesson, you should be getting used to typing on your computer. In this set of lessons we will be learning how to edit a file. When you start up Perfect Writer you are presented with the Main Selection Menu. In order to edit a file you select option E from this menu. Perfect Writer responds by asking you for the name of the file you wish to edit. If you are creating a new file simply type a carriage return (Perfect Writer will supply a default file name, "NAME.ME"). However, if you are editing an existing document file, then you will have to provide the file name followed by a carriage return. When you are finished Perfect Writer will begin to run, and you will notice some buzzing over at the disc drives. Your terminal screen will be blanked in preparation for your typing. A single line will appear at the bottom of your screen, something like: Perfect Writer 1.0 (Fill) name: NAME.ME -0%- which tells you that Perfect Writer is ready. Let's practice starting up Perfect Writer now. Be sure you remember what you need to do to get back to here. You might want to write a note for yourself if you're unsure. Begin by entering: C--X C--C then enter from CP/M the following command: A>menu When the Main Selection menu is presented, enter: E followed by 'lesson1' when asked for the file to edit. TYPING AT THE COMPUTER KEYBOARD It is not possible to let you practise editing at the keyboard while a file is in the computer because whatever you type will alter the file. However, Perfect Writer has Dual Display Windows that will allow you to continue reading the Teaching Disk while practising what you learn in another window. To use the two windows enter the TWO WINDOW command: C--X 2 {C--X 1 will return you to one window} Then call up a new file by entering: C--X C--F and answering 'scratch.pad' when asked for the "File to Read :". This will provide you with a blank editing buffer in the top screen while allowing you to scroll the lessons in the bottom window with the: C--X C--V {Scroll other window down} C--X C--Z {Scroll other window up} The TWO WINDOWS command divides the screen into two equal size windows. Since the top window needs less space we will increase the size of the bottow window. Enter the OTHER WINDOW command: C--X O {letter "O"} [you'll need to type C--V to scroll up] Use the META REPEAT command (or Escape Key followed by a digit for the number of repetitions) and the ENLARGE WINDOW command (Control--X ^) to increase the size of the bottow window by 4 lines. Enter: M--4 C--X ^ and then return to the top window with the OTHER WINDOW command: C--X O [when cursor is in top window type C--X C--V to scroll up] Let's begin by typing on the keyboard. Type the four words: This is a test. Notice that as you typed, what you were typing appeared at the top of the screen. At the end of the line you typed, right after the period, is a solid or blinking box or underline. This is called the "cursor". It is an indicator of where you are in your text. It functions just like the carriage of an ordinary typewriter, showing you where the next thing you type will appear. The next thing you type will be a carriage-return. As on an electric typewriter, hitting the carriage-return key puts you at the beginning of the next line. After the carriage-return, type another line: I am testing this word processor. and follow it with another carriage-return. Now you have a two-line document. Notice that the line at the bottom of the screen has not changed position throughout this typing. The entire screen of a computer does not move or scroll the same way that a paper would in a typewriter. Only the top portion of the screen will scroll upward, if you type enough text. This area is called the "window". Imagine it as a small viewing area onto a large document, and the name will make sense. Let's type a little more, in order to demonstrate the word wrap feature. Type: It's not much different from using a typewriter except that when you go past the right margin Perfect Writer automatically enters a carriage return. Enter a carriage return to get to the beginning of the next line. We could go on typing lines of text, but sooner or later we would make a mistake. Let's make one now, on purpose. Type just the two words: But typewriterz and stop there. So much for our "error". The "z" in "typewriterz" should have been an "s". What do we normally do on a typewriter if we type a wrong letter? We use the erase key if it's a modern office typewriter, or else get the bottle of white-out. Perfect Writer has an erase key, too. Type the key labelled "DEL" or "DELETE" or "BACK SPACE". Observe that the "z" in "typewriterz" has disappeared from the screen, and the cursor has moved backward a space, to right after the "r". Type an "s" now, and the word "typewriters" will become correct. It truly IS very much like using a typewriter. Suppose we realize that we had forgotten to type some word before the word "typewriters". Just hit the DELETE key enough times to erase the word "typewriters". (Go ahead and do that now, delete "typewriters".) Next type: most typewriters and stop. The line now reads "But most typewriters" and the cursor is right after the "s" is "typewriters". We have seen that all text we type is entered at the cursor; now we have also seen that text we delete is deleted at the cursor as well. What if, as before, we discovered a word missing, only on the FIRST line this time? For example, let's suppose we wanted to change the sentence reading "This is a test." to "This is only a test." by adding the word "only". You certainly could type the DELETE key enough times to erase all the way back, but it would be an awful waste of time if we had to do it that way. The way we modify or add text in Perfect Writer is to "go" to the place in the text where we want text to be added or changed, and then type in whatever text we want there. In order to "go" somewhere, we move the cursor to that place on the screen. To get to the first line of text, we will move the cursor up five lines, one at a time. To make Perfect Writer move the cursor to the previous line, enter the PREVIOUS LINE command: C--P Now let us go up four more lines, to the first line. Hold down the control key again, and type "P" four times while holding it. Again, the cursor will jump up a line each time. Now that we are on the correct line for the change we wish to make, we can move around on that line to get to the correct place. We can move backwards on that line with the BACKWARD CHARACTER command: C--B Hold down the control key. Now watch the screen and press the "B" key several times, while still holding the control key. You will see the cursor move backwards, that is, to the left, one character position for each time you press the "B" key. We now want to move forward to the place after the word "is", in order to insert the word "only". Hold down the control key, and type the letter "F" several times. "Control--F" is the command for "FORWARD CHARACTER", i.e., move the cursor forward one character. While still holding down the control key, type F's until the cursor is under the word "a". If you type the Control--F too many times, simply type Control--B's until you get to the right place. What you are doing now is an important form of interaction with Perfect Writer - issuing commands to move to "the right place", or "until the right thing has happened". Now the cursor is at the "a", and we wish to put the word "only" there. Simply type the four letters o, n, l, and y. You will watch Perfect Writer move the rest of the line over to make room for the new text and you now have on that line: This is onlya test. with the cursor still under the "a". Immediately, we perceive a problem: there is no space between "only" and "a". This is simply because we did not enter one. Hit the space bar. Now we have: This is only a test. with the cursor still on the "a". We have now fixed the text we wished to. Note that in order to type in the new word, "only", we did not have to say anything special, we just moved the cursor to the right place, and started typing. Whenever we type a non-control character, it goes into the text at the position of the cursor, and moves the cursor over one to the right. Now we must get back to the end of the document, where we had left off when we decided to add the word "only" to the first line. We can do this by going to the Next Line, and the Next Line, until we are where we want to be. We do this with the NEXT LINE command: C--N Enter the NEXT LINE command five times. We are now on the right line. You will find that you are in the middle of the line, because Perfect Writer tries to keep you in the same "column" when going between lines. Type a few Control F's to get to the end of the line. Now let's finish the sentence "But most typewriters are old-fashioned." Enter the words: are old-fashioned. and surely enough, your entire text appears correct before you: This is only a test. I am testing this word processor. It's not much different from using a typewriter except that when you go past the right margin Perfect Writer automatically enters a carriage return. But most typewriters are old-fashioned. If you haven't already done so, type a carriage-return after the last sentence. Now the text has seven lines in it, and the last one is a blank line. Now type a "Control--P" to move up to the previous line. The cursor is now at the "B" in "But". What if we wanted to change "But most typewriters" to "Most word processors"? We have to erase the first three words, then insert the new text. So far, the only way you know to delete text is to use the DELETE key. But if you were to hit it now, it would delete the character you just entered, that is, the newline. We could, of course, type some Control F's to get the cursor past the words, and then type some DELETEs. But this would be cumbersome. Instead, Perfect Writer has a DELETE NEXT CHARACTER command: "Control--D". Hold down the control key and type "D" enough to get rid of the words "But most typewriters". Notice that, as usual, the entire line is "swallowed up" and moves to the left as the characters disappear. Now type "Most word processors" to insert those words at the beginning of the line. Type a space after "processors" if you happened to delete the one to the right of "typewriters" earlier. Take a look at the "mode line" at the bottom of the screen again. The percentage mark is no longer zero, as it was when we started. This number just says roughly how far through the file the cursor is. It's not too useful when you can see your entire document on the screen as we can now, but for large text files, it's handy to know where you are. If you want more information you could enter the LOCATION command: C--X = Enter this command now and observe what happens. Perfect Writer displays information on the file you are editing in the "echo line", the line just below the mode line. The information displays the Point in the text where the cursor is, how long the file is in characters, what column the cursor is in, and what line the cursor is on. Again look at the mode line. You'll see an asterisk at the right edge of the mode line which appeared there when you started typing. This asterisk means that the text which is on the screen is different from what you started with. It turns on in order to tell you that your text has not been saved anywhere, and that if you leave Perfect Writer without saving it, your work will be lost. We'll learn about saving the text we type in Lesson 3. To review what we've learned in Lesson 1 return to the OTHER WINDOW and go back to ONE WINDOW mode by entering: C--X O and then C--X 1 You have just learned ten important Perfect Writer commands: DELETE Delete previous character. Control--D Delete next character. Control--F Forward character. Control--B Backward character. Control--N Next line. Control--P Previous line. Control--X Control--C Quit the editor. Control--X 2 Create Two Windows. Control--X 1 Use One Window. Control--X = Status line. You have also learned some basic Perfect Writer vocabulary: cursor: The indicator which shows where you are about to insert or delete text on the screen. window: The area which covers most of the screen, and which displays twenty to twenty-five lines of the text which you are currently editing. mode line: The line at the bottom of the screen which tells you (1) how far through the text you are and (2) whether the text on the screen has been changed since it was last saved. There are other pieces of information which the mode line provides; more about those in Lessons 3 and 7. Practice using the commands in this lesson until you are thoroughly familiar with them. They are very important and useful commands. With these commands, and one or two others, you can do just about anything you will ever be called upon to do. All the other commands just make it easier to do more complex things, but you can always move around and type in text with these. You may want to continue experimenting with the things you have just learned: when you are done, you will have to leave the editor: this is done as follows: type a "Control X" followed by a "Control C" (C for "Command level"). This is not an easy command to type or remember. That is reasonable, though, because you may be editing for hours, and you will only type it once. Hold down the control key, and type an "X" and a "C" while holding it. Perfect Writer will respond: Abandon modified document(s)? because you have done work that you have not saved. That's O.K. for now. Type "Y". Perfect Writer will return you to the Main Selection Menu. If you want to continue with the Teaching Disk then select option E and enter "lesson2". With these commands, and one or two others, you can do just about anything you will ever be called upon to do. All thee. Hold down the control key, and type an "X" and a "C" while holding it. Perfect Writer will respond: Abandon modified document(s)? because you have done work that you have not saved. That's O.K. for now. Type "Y". Perfect Writer will re Lesson 2: Moving Around Faster In this lesson we will be learning how to move the cursor around faster. As before, it is not possible to do any editing while a lesson file is in the computer because whatever you type will alter the lesson file. Therefore, we need to use the Dual Display Windows. To use the Dual Display windows enter the TWO WINDOW command: C--X 2 Then create a scratch pad by entering: C--X C--F and answering 'scratch1.pad' when asked for the "File to Read :". As before, this will provide you with a blank editing buffer in the top screen while allowing you to scroll the lesson in the bottom window with the commands: C--X C--V {Scroll other window down} C--X C--Z {Scroll other window up} The TWO WINDOWS command divides the screen into two equal size windows. Since the top window needs less space we will increase the size of the bottow window. Enter the OTHER WINDOW command: C--X O {the letter "O"} Use the META REPEAT command and the ENLARGE WINDOW command (C--X ^) to increase the size of the bottow window by 4 lines. Enter: M--4 C--X ^ and then return to the top window with the OTHER WINDOW command: C--X O Let's begin by typing on the keyboard. Type the following text on to the screen using Perfect Writer. Since the text is poetry of a sort, be sure to break the lines (type carriage returns) at the proper places. Use the DELETE key to correct some of the mistakes as you type it in. Blackbird singing in the dead of night. Take these broken wings and learn to fly. All your life You were only waiting for this moment to arise. Blackbird fly, Blackbird fly Into the light of the dark black night. by the Beatles Now let's go back and make certain that the text is perfect. This should be a good chance to review using C--P (Previous line), C--N (Next line), C--B (Backward character), C--F (Forward character), and C--D (Delete character). It won't take long to make it perfect -- it's easy to turn a draft copy into a final document if you don't have to retype the whole thing every time there's a change! In this lesson, we are going to change the text you just typed in and perfected. Changing this verse could be a real chore if all we had were the commands we learned in Lesson 1. Moving one character at a time is slow, especially if we can see the place we want to get to in order to make a change. For example, how would you change the last word on the previous line? Typing C--P and lots of C--F's could take a while. To illustrate a new command, let's change the word "night" to "dawn". Type some C--P's to position yourself on the proper line. Now type a C--E. C--E is the END OF LINE command, which moves the cursor to the end of the line. Now type in enough DELETEs to erase the word "night" (Perhaps you will want to type some C--B's to pass over the punctuation first.) and then type in "dawn". Now, suppose we wanted to change the word "Take" at the beginning of the second line to the word "Wear". We could type some C--B's, but this would take a few too many keystrokes. Instead, there is a command which moves to the beginning of the line: C--A. An easy way to remember that a C--A moves to the beginning of the line is that "A" is at the beginning of the alphabet, or that it is on the far left of the keyboard and the cursor moves to the far left of the line. So, go ahead now and type a C--A, a C--N, and then type four C--D's to delete the word "Take" and then insert the word "Wear" by simply typing it. Now type enough C--N's to get back to the bottom of the text. Notice that if you keep typing C--N's, you still stop at the last line you entered. Similarly, if you type C--P's when you are at the beginning of your text, you will just stay in the same place. Now that we're at the end of the text, what if we noticed that we wanted to change the first line. We could type a lot of C--P's, one at a time. This is easy enough but may be more time-consuming for longer "distances". The command C--U (for "Universal repeat count") will allow us to make the jump with less typing. Type the C--U. You will notice a message at the bottom of the screen saying "Argument:" appear, along with the number "4". Type a "6" (The number in the message will change to "6" also.), since the line we want is six lines above where the cursor is now. Then type a C--P. Six C--P commands in a row will automatically get executed. If we decided that this wasn't where we wanted to be, we could have typed "C--U 6 C--N", and gone down six lines just as easily. C--U repeats anything. Anything? Yes. Type "C--U 10 *". Ten stars will appear in your text. Now type a C--U, then type the number ten, and then type the DELETE key. They will all go away again. C--U really does repeat anything. Why did the number four appear as the "Universal" repeat count each time before we typed in our number? If we hadn't typed a number, whatever character (control or otherwise) typed subsequently would have been repeated four times. This is the default value. In addition to moving by characters, Perfect Writer has commands that allow you to move the cursor by words at a time. To move forward a word at a time use the FORWARD WORD command: M--F. Do that now. Type an "M--F" and see what happens on the screen. Try it again a few times. The M--F command stands for "move Forward a word". Let's change the word "singing" to "whistling". Move to the top line of the screen (in whatever method is most convenient for you now), to the first line of text, on the left-hand edge (use C--A to do this). Use the M--F command to skip past the word "Blackbird", and then use it again to skip past the word "singing". What the M--F command does is to move to the end of whatever word is in front of it. If you were in the middle of a word and typed M--F, you would go to the end of that word. To delete the word, you could type many DELETE's. But as you might have guessed, there is an M--command to do that, too. To delete words, use the M--DELETE command. Type the Escape key, then type the DELETE key, and the word "singing" will disappear. Now type in "whistling". Let's also change the word "dead" to "dark". To do that, move past the next two words (only TWO, the words "in" and "the") with the M--F command. Now let's delete the word "dead", by using the M--D command. As you can now see, there are parallel commands for C--F (M--F), DELETE (M--DELETE), and C--D (M--D), all of which work on words rather than characters. Now that we've deleted the word with M--D, let's type in the word "dark". But look at the screen! Since we didn't type a space before the next word, the last two are run together. Why did the space between the words get deleted with M--D, but not with M--DELETE before? Just like the M--F command, the M--D command only knows about deleting to the end of the next word. So, if you are in front of a space which itself is in front of the next word, M--D will delete the space, too, since all Perfect Writer does is to delete until it reaches the end of the next word. Let's fix up the missing space by typing C--B's until the cursor is on top of the "d" in "dark", and then typing a space. You may have noticed that we didn't mention an M--B (to go with C--B) above. Well, surely enough there is one. Type that now, and notice that the cursor jumps backward across the word "the". Let's delete that word (either with C--D's or M--D) and type in the words "this lonely". Just so you know that you've gotten everything right this lesson, the first line should now read "Blackbird whistling in this lonely dark of dawn". If it's not correct, take a minute to fix it up now using some of the commands you've learned in this lesson. Now let's change the word "fly" in the second line to "travel". One easy way to do this would be to notice that the word "fly" is at the end of the next line, almost below where we are now. It could be reached by typing a C--N and a C--E. Another way would be to see that it is the eleventh word after the ones we just typed in, and that it can be reached by typing C--U 10 M--F. However you get there, delete the word using either M--D or M--DELETE, and insert the word "travel". If you used the M--DELETE command, you might have to type the period at the end of the line in again, since it may have been eaten up in the backward deletion of the word. Suppose we wanted to insert the name of the poem, "Blackbird", in the line with the author's name? We could type some C--N's to get to the last line, but there is a quicker way. Type "M-->" (the Escape key, then a greater-than symbol). This, as you see, puts the cursor at the end of all the text. Now type a C--P, to position the cursor at the beginning of the proper line, and insert a comma and the title. There is a command to move as far as possible in the other direction, too. Type "M--<", and you will move the cursor to the beginning of the text. There are two more quick-motion commands which you may find useful. These are M--A and M--E. They are similar to C--A and C--E, except that they move to the beginning and end of sentences rather than lines. Now you have a reasonably complete set of parallels for the control commands you learned in Lesson1: C--F Forward Character M--F Forward Word C--B Backward Character M--B Backward Word C--D Delete Forward Character M--D Delete Forward Word DELETE Delete Backward Character M--DELETE Delete Backward Word C--A Beginning of Line M--A Beginning of Sentence C--E End of Line M--E End of Sentence M--< Beginning of Text M--> End of Text Experiment with these commands for a little while, until you are used to what they do and are able to remember most of them. When you are done and want to leave Perfect Writer, type "C--X C--C", as you did in Lesson 1. You'll learn more about what this and some of the other C--X commands are used for in the next lesson. If you want to go to the next lesson, just select option E from the Main Selection Menu and enter "lesson3" when asked for the name of file to edit.d Character M--F Forward Word C--B Ba Lesson 3: Reading and Writing Files In this lesson, we introduce you to Perfect Writer's use of computer "files". Your computer's filing system is similar to the one you or I use. If you want to look at an old report, what do you do? You pull out the file from the filing drawer and put it on your desk. To find a particular spot in the report, you page through it on your desk. You might change it or add something to it, then put it back into the file drawer. The operations are similar on the computer system. The only differences are the ways in which the "file drawers", "files", and "pages" work, and in the terms used. In this sense, you can think of the disk drive as the filing cabinet and each of the flexible "floppy disks" as a removable filing drawer. The unfortunate property of these disks is that they are only useful when put into the disk drive, which is not true of filing drawers and cabinets! On each of the disks, as in each of the drawers, are many files. You can see what files you have in a drawer either by leafing through them, or by looking at the short label on the front of the file drawer. There is a label space on each flexible disk which is similar to the one on the whole drawer, but how can you find out the names on each of the files? There is a computer program to do this for you. Just try typing "DIR" to the computer system when you aren't using Perfect Writer, and it will list the names of the files. Most files have two names, like "THISFILE.MSS", that is, a file name, then a dot, and then an extension. The first part (the filename) can't be longer than eight characters, and the second part (the extension) can be up to three characters long. For Perfect Writer the extension ".MSS" (standing for ManuScript Source) is always used for document files. This is a lot more limited than what you can write on a file folder, so you can now understand why some computer files seem to have such cryptic names. What is the analogy of getting the file out and putting it on your desk? To Perfect Writer, this is called "reading" a file. Perfect Writer has an unusual way of manipulating it, though. Just as you would probably not mark up the originals of a report in your file folder, Perfect Writer does not usually change the contents of the file on the floppy disk. You would make a photocopy of your work, mark it up or change it, and then perhaps retype it and replace what was originally in the file folder. Perfect Writer does something similar: it "reads in" a copy of that file, and then lets you modify that copy. There is a command in Perfect Writer to save the work that you've been doing as the original again. This is analogous to putting your new work back into the file, and back into the file drawer. To Perfect Writer this is known as "writing" the file. In Perfect Writer, the part which performs the function of the working desk while we manipulate the file is the "buffer". Files are "read in" to the buffer, and they are "written out" back to the computer filing system. The computer terminal screen is a sort of window into that buffer, and we can move the window around with the control commands you have learned in previous lessons. Here are the commands: C--X C--F: Find the file in the computer filing system and read it into the Perfect Writer buffer. C--X C--W: Write the file out from the Perfect Writer buffer back into the computer filing system. The C--X commands are a set of commands which we need to be certain we want to type, so that there can be few mistakes when using them. Remember the "C--X C--C" command? It has the possibility of letting you out of Perfect Writer without having saved the work you've been doing. Therefore it's a little harder to type. The easiest way to remember what the C--X means is to imagine that these specialized commands are part of the "eXtended" command set. The "C--X C--F" command, in order to read a file, must know which file you want to read. When used, it will ask, in the echo line (the last line on the screen), for the name of the file you wish to read into Perfect Writer's buffer: File to Find : Similar things happen with the "C--X C--W" command. In general, we will want to write out the buffer back to the same file we read it in from, but occasionally, we will want to save it in a new file. (This is particularly true of a form letter that we modify slightly for a particular recipient, and do not want to change the original for.) After you type "C--X C--W", Perfect Writer will ask: File to Write : You can again type in the name of the file into which the text is to be written, followed by a carriage-return. Since writing files back out to the same place they were read from is such a common operation, Perfect Writer allows you to avoid typing the entire file name each time you give the C--X C--W command. Rather than typing out the file name, just type a carriage-return. Perfect Writer will write the buffer out to the computer filing system under whatever name was last used in either a C--X C--F or C--X C--W command. How do you know where it will go without always remembering the file name you last used? Perfect Writer displays that file name in the "mode line". It looks something like: Perfect Writer Version 1.02 (Fill) main A:-NAME.ME -0%- and the phrase "A:-NAME.ME" says what the default file name will be if we do not specify it. (You may have noticed the "B:" alongside the file name. This is due to the fact that computers, like people, have many filing cabinets. Just as you would tell someone that a file is in the "right-hand" filing cabinet, you must tell the computer which disk drive to look for the file in or to store it in. The computer disk drives you will be using are named "A", "B", etc.) Some files get quite large. Computer files are no exception. Computer users just measure them in thousands of characters rather than in inches of paper. If you had a very large file to look at, you would never fit each page of paper side-by-side on your desk so that you could see all of them at any instant. Instead, you would probably keep 5 or so pages spread out on your desk, and keep the rest in stacks, occasionally removing or adding a page on a stack. Similarly, many thousands of characters cannot all fit into your computer at once. Therefore, your buffers of text may not be completely residing in memory at once. Perfect Writer has a special file on disk (not related to the other files we've been talking about) which is similar to the stacks of paper you would keep on your desk. As you use each new page (thousand characters) of the text buffer you are editing, Perfect Writer will pull it out of the "stack of pages" by reading it from its special "swap file". If you go back to old pages or add new text to pages, they will generally be in memory rather than on the stack in the page file. But, occasionally, the computer's memory will fill up, as would your desk if you kept looking at more and more pages. So, occasionally, Perfect Writer must write some of its old pages back to disk in order to make room for new ones. You will know this is happening by the click or buzz at the disk drives. There will also be a message printed at the lower right of the screen" "Swapping..." which means that Perfect Writer is exchanging a page on disk for a page in memory. This message will go away when the swap is complete. This swapping is part of the virtual memory architecture used by Perfect Writer to allow you to edit a document that is larger than your computer's memory. Why do you need to know all this? Well, occasionally you may have to wait for this page swapping to happen. Why? The computer stops listening to the terminal keyboard for a short time when it swaps pages. In particular, when you are just beginning to work on a buffer of text which you read in via a C--X C--F command, pieces of the buffer will be paged in as you need them. This means that C--V's will occasionally take a little longer than usual and produce the "Swapping..." message. Once read in, though, the pages you use most (e.g. modify or go back to) will remain, and "page waits" will be less frequent. If you stop using the keyboard for a little while, Perfect Writer may spend a little time "cleaning up" while you are idle. It will swap out pages you have modified, so that any page swapping which is done while you are actually doing work later will occur a little faster. Don't worry about this too much; when you start typing on the keyboard again, the intermittent house cleaning noises will go away. Don't worry about trying out the commands you have learned in this lesson. In the next lesson, you will get a chance to try out "C--X C--R". If you want, go to lesson4 by entering: C--X C--R and answering "lesson4" when asked, 'File to Read :'. n via a C--X C--F command, pieces of the buffer will be paged in as you need them. This means that C--V's will occabout this too much; when you start typing on the keyboard again, the intermittent house cleaning noises will go away. Don't worry about trying out the commands you have learned in this lesson. In the next lesson, you will get a chance to try Lesson 4: Searching The first command we will learn in this lesson is the "search" command, "C--S". Suppose someone has given you a draft for corrections, and somewhere in the middle has marked a phrase to be changed. It's easy enough to see it on paper, because the place is marked in red ink or the like. But it requires extra work to find it on the computer. Certainly we could scan through the file looking for the marked place using C--V's, but it might take a while. Instead, we can use the computer to search through the file, looking for the proper place. (You might want to look back at the paper copy of this lesson for just a little while now, since C--V's will not work while we're in the middle of a search.) Enter a C--V now. Try the search command now. Type: C--S Perfect Writer will respond to the C--S by printing "Search for :" in the echo line at the bottom of the screen. Now type in the word: search You will see it echoed at the bottom of the screen. After you have entered the word or string of words to search for, type the Escape key. This tells Perfect Writer to begin searching. A forward search begins at the character the cursor is on, continues until the searched-for item is found, and when it is, positions the cursor just after it. So, when you hit the Escape key, you should have seen the cursor jump to one of the occurrences of the word "search" in this lesson. It should still be there now, unless you've had to type C--V's to read more. If so, try it again. Type: C--S search [Escape] Now just try typing: C--S [Escape] That is, do not type in any character string (word or words) to be searched for; just hit the Escape key right after the C--S. You should notice the cursor jump to the next occurrence of the word "search". When you do not give the C--S command a new character string to look for, it searches for whatever you told it last time. What happens if there is no character string exactly like the one you type for C--S? Try it and see. Do a search for a misspelled word. That is, do a search for "Control" but end it with "el". If there is no exact match of the word between the cursor and the end of the text, as you see, Perfect Writer will cause the terminal to beep and will print the phrase "Not Found" at the right of the echo line. The cursor will then stop at the closest match. As you may have observed from the action of the search command, it is a forward search. In addition, there is a "backward" search as well. It is used to search backwards in the text from the current cursor position. The command is called "Reverse search for [ESC]", and is performed by C--R. All of the features of C--R are identical to C--S, except that, since it searches through the text in reverse, it leaves the cursor before the closest item that matches the string, rather than after it. Notice that the character string to be searched for is saved and is the same one for both C--R and C--S. So, you may find yourself typing "C--S", a string, and the Escape, and then, if you hear a beep, typing "C--R Escape" because you know the string is in the text somewhere. Before leaving this Lesson experiment with the search command. If you want to continue with the next lesson then enter: C--X C--F lesson5.mss Otherwise exit Perfect Writer by typing: C--X C--C and answer yes to the "Abandon Modified Buffers?" question. Do not save your modifications. earch. In addition, there is a "backward" search as well. It is used to search backwards d then, if you hear a beep, typing "C--R Escape" because you know the string is in the text somewhere. Before leaving this Lesson experiment with the search command. If you want to continue with the next lesson then enter: C--X C--F lesson5.mss Otherwise exit Perfect Writer by typing: C--X C--C and answer yes to the "Abandon Modified Buffers?" question. Lesson 5: Copying and Moving Text In this lesson, we are going to learn how to delete whole blocks of text, rather than characters or words at a time. The command to delete lines is C--K. (C--K stands for "Kill line".) Move the cursor to the first line of this paragraph with C--P or C--N. Now type a C--K. Whatever was on that line has disappeared. Now type another C--K. The line itself has disappeared and all the other lines of text have been moved up. Now move the cursor to the first line of this paragraph, and move halfway into the line with C--F's or M--F's. Again, type a C--K. You will notice that only the part of the line to the right of the cursor was deleted. C--K deletes text starting with the character which the cursor is resting on until it reaches the end of the current line. In order to remove an entire line and its contents, you must type two C--K's. You will find this command useful for retyping previously existing lines of text, where you want to remove what the line (or the "rest" of the line, starting at the cursor) says, but want to replace it with something else. Typing many C--K's in a row could become burdensome, especially if you intend to delete an entire paragraph or chapter. Instead, Perfect Writer has a command (C--W) to wipe or delete an entire region of text. It is called the WIPE REGION command. In order to wipe clear a region of text, the text must first be marked off. One end of the region which C--W will wipe out is shown by where the cursor is in the text. The other end of the region is given by a "mark", which we will now learn how to set. The command which sets the invisible mark is Escape Space. Move the cursor to the beginning of some line in the middle of this paragraph. Type M--Space. Down in the echo line you should see the message "Mark Set." If not, try typing M--Space again, and if that doesn't work, type either a C--@ or a C--Space now, and use the one which works from now on, rather than the M--Space. Having figured that out, move to the end of the same line and type a C--W. Look at the text; the portion of it between the cursor (at the end of the line) and the invisible mark (at the beginning of the line) should have disappeared. Let's wipe clear something bigger than a line. Move the cursor to the beginning of this paragraph, and set the mark there by typing M--Space. Now move the cursor to the end of this paragraph and type a C--W. You shouldn't be able to read this sentence any more! What if we make a mistake and wipe out a huge block of text unintentionally? There is a command to retrieve the text which was just deleted, C--Y (for "Yank back deleted text"). Do that now: type a C--Y and the paragraph we just deleted should appear back where the cursor is now. Now move the cursor down a few lines and type C--Y again. Another copy of that text appears at the cursor. Type the C--Y again; the text should be replicated one more time. You've just learned how to copy or move text, all with one command, C--Y! To make a copy of some text, wipe it out (using M--Space and C--W) and immediately yank it back with a C--Y in that spot (i.e., without moving the cursor). Then, move the cursor to the spot where you would like the copy to appear, and type another C--Y. If you want to move a block of text rather than copy it, just don't type the C--Y at the original position. See the description of the Copy Region command in the Perfect Writer User's Guide. C--W is not the only command which saves text in case you want to yank it back. C--K, M--D, and M-- all save text as well. IN GENERAL, IF YOU DELETE ANYTHING LARGER THAN A CHARACTER, PERFECT WRITER WILL SAVE IT FOR YOU in case you want to move or copy it (or undo a mistake!). As an example, move the cursor to the beginning of this paragraph, and type a couple of C--K's. Notice that a "plus" sign has come on at the right edge of the mode line. This means that if you continue to type C--K's, the text deleted will be added on to whatever deleted text is already being stored. So, you can delete a region of text, with either an M--Space / C--W or with a series of C--K's (or even M--D's or some combination of all of these), and a C--Y will still yank the entire region back. Perfect Writer will only store your "most recent" block of text deletes, however. What determines what is "recent" and what is not? The plus-sign at the right of the mode line. If you are about to delete something larger than a character and the plus is not there, you will be clearing away whatever previous series of deletes you entered. In general, all this amounts to is that, if you give any movement commands or insert anything after deleting some text, you will "close off" the current group of deletes. (You will also see the plus-sign go off.) Any C--Y's you type after this will retrieve that group. Any C--K's, M--D's, M--'s, or C--W's you do after this will clear away that group of deletes and start a brand new one. There is a command to "turn on the plus sign". This is used if you want to move groups of lines from several different places all to one place. Certainly you could do this manually, doing a few C--K's, moving to the right place, doing a C--Y, going somewhere else and doing some C--K's or a C--W, moving back to the right place, doing another Control Y, etc. It would be much easier to do C--K's or C--W's in all the various places and then yank the whole thing back with a single C--Y. But we said earlier that movement away from the place of the text deleting or wiping causes the plus-sign to go off and the current bunch of deletes to be "closed off". The command to turn the plus sign back on is M--C--W. (This is your first "M--Control" command. Remember that you just type M--C--W.) You can remember this command by its close relation with the commands C--W and M--W. As M--C--W is difficult to think about, there is no substitute for practice. Move to the beginning of this paragraph and delete the text on the first line, in whatever manner is convenient. Then move to the last line. Notice that the plus in the mode line has gone off. Type an M--C--W to turn it on, then delete the text on the last line. Now move into the middle of what's left and type a C--Y. You will see both the first and last lines appear there at once. Experiment with all these commands for a while. Try doing C--W's with the cursor both before and after the invisible mark you set, and observe the results. Deleting and yanking text is one of the more complicated features of word processing. However, once you understand it, it's also one of the most useful and convenient features. Take your time and experiment enough to make sure that you understand these commands. When you're all done type a C--X C--C and answer "Y" for "yes" when Perfect Writer asks you if you want to abandon the text buffer without saving it. You do not want to alter the file "lesson5" for the next person. We'll learn more about text buffers and additional features available with C--Y and multiple buffers in Lesson 7.  the plus in the mode line has gone off. Type an Mnd convenient features. Take your time and experiment enough to make sure that you understand these commands. When you're all done type a C--X C--C and answer "Y" for "yes" when Perfect Writer asks you if you want to abandon the text buffer w Lesson 6: Text Processing Commands This lesson introduces commands which operate upon words, sentences, and paragraphs. For this lesson you should have some text to play around with, and it should have a few paragraphs. The text of this lesson is an ideal example, but you may want to use some text that you have been working on and are familiar with. Read the file into Perfect Writer (after you've entered the editor) with C--X C--R. (If you decide you want to use this lesson text, read in "lesson6".) The first three commands we will learn are M--U, M--L, and M--C. All three work on words. M--U stands for "Uppercase word". M--L stands for "Lowercase word". M--C stands for "Capitalize word". Try each of these on some words. For example, if you had the word "Macpherson" and positioned the cursor on the "p", an M--C would produce "MacPherson", an M--L would leave the word unchanged, and an M--U would create "MacPHERSON". The word casing commands would have left the cursor on the space following the word. Another set of useful commands allow you to transpose characters or words. Often typing mistakes result in characters typed in the wrong order, such as "tpye" instead of "type". To correct this simply place the cursor on the second of the transposed characters and enter C--T. Try this now on the "tpye" example. You can also correct transposed words with the M--T command. Practice this command on text this. Place the cursor between "text this" and enter M--T. The result will be "this text" with the cursor at the end of "text". The next command we will learn deals with sentences. It is M--K, the "Delete sentence" (or "Kill sentance) command. M--K is similar to C--K; it saves what it kills in case you want to do a C--Y later. Also, just as a C--K typed in the middle of a line only kills forward to the end of the line, an M--K, if typed in the middle of a sentence, will only kill from that point to the end of the sentence. (If you are in the middle of a sentence and want to kill it all, beginning to end, type M--A (beginning of sentence, learned in Lesson 2) then M--K.) M--K can be fooled by abbreviations because they have periods in them and hence look just like ends of sentences. But better too little deleted than too much. If M--K ever stops before you want it to, just type it again, and the "rest" of the sentence will disappear. Try a few M--K's and then a Control Y to restore it all. You may notice that the last M--K will not delete the two spaces after sentence punctuation. It truly only deletes from where the cursor is to the next end-of-sentence which follows it. You may have to clean up the extra spaces manually. The rest of the commands we will learn about in this lesson deal with entire paragraphs of text. The two simplest commands are M--P and M--N. They move to the beginning and end, respectively, of whatever paragraph you are in. (You can remember these commands because they look very similar to M--< and M-->, which we learned in Lesson 2.) If you are inbetween two paragraphs and not really "in" either one, M--P will move to the beginning of the preceding paragraph and Escape N will move to the end of the following one. Try these a few times, at various places in the text. You may notice the cursor stop in places you didn't think were paragraphs, for example in the middle of lists or in front of indented examples. So, what makes a paragraph? As far as these and all other Perfect Writer paragraph commands are concerned, a paragraph begins: (1) A blank line. (2) A line started by hitting the TAB key. (3) A line started with a commercial at-sign ("@@"). This is for compatibility with Perfect Writers "Document design" commands. Another command for dealing with paragraphs of text is M--Q. M--Q "fills" entire paragraphs of text, rearranging words and lines so that the right-hand margin is consistent. It allows you to keep the text neat. When modifying a previously existing paragraph you may add or delete words without worrying about existing margins, because M--Q can fix them up when you're done. Try filling a few paragraphs. (To make M--Q work on a particular paragraph, position the cursor anywhere in it, then type the M--Q.) If M--Q doesn't do anything to the text, then the paragraphs are already as well filled as they can be. Try inserting some extra text into a line and doing another M--Q. If you notice M--Q joining any paragraphs together, this is because they were not separated properly. M--Q uses the same paragraphing rules as M--P and Escape N do. If you want to make certain of how much text you are about to fill with M--Q, you can check to see where the edges are by tpying M--P, then M--N, then (if you're satisfied that the boundaries are correct) M--Q. Of course, no harm is done if M--Q joins two groups of text which you desired as separate paragraphs. You can easily position yourself to where you want the new paragraph to occur and insert the proper separator (either a blank line or a leading tab). Then just M--Q the second new paragraph. Similarly, to join and refill two paragraphs, merely delete the separator characters and use M--Q. This can be particularly useful for modifying memoranda, manuals, or legal documents, where text is frequently repositioned to change paragraph structure and coherence. You may have wondered how M--Q knows where the right margin is supposed to be. There is a default margin column, which you can set yourself if you choose. The command to do this is "C--X F". That is, type a C--X, and then an "F". (This command stands for "Fill column".) There are two ways to use C--X F. One is with a universal repeat. Type: C--U 70 C--X F and you will see a message in the echo line saying "Fill Column = 70". Try setting the fill column to something between 75 and 80 and do an M--Q. The other way to set the fill column is "by eye". Move the cursor to somewhere in the middle of a line, and type C--X F without a repeat count. You will see a new fill column setting appear in the echo line. Type an M--Q again and notice where the new right margin is. If you enter C--X F and repeat with C--U, it will set the fill column to that number. If you do not, it will set the fill column to wherever the cursor is at the time. Another useful command is "C--X ." (That is, a C--X, followed by a period.) This command sets the paragraph indentation column, and is used to make an entire paragraph be indented away from the left edge of the screen. This command is analogous to setting the left margin on a typewriter, but this margin is used only by the Text-filling commands. Type: C--U 10 C--X . and you will see the message "Indent Column = 10" appear in the echo line. Type an M--Q and look at the results. The "C--X ." command is useful for making narrower paragraphs, perhaps for example text or quotes. To make one, make the indent column larger and the fill column smaller, then type the text and fill it with M--Q. Then, return the fill and indent columns to their original positions. (The standard settings are usually set by "C--U 0 C--X ." and "C--U 65 C--X F".) If you want to continue with the next Teaching Disk, select option E from the Main Selection Menu and enter "lesson7" when asked the name of file to edit. Use the C--X C--C command to exit. riod.) This command sets the paragraph indentation column, and is used to make an entifill column smaller, then type the text and fill it with M--Q. Then, return the fill and indent columns to their original positions. (The standard settings are usually set by "C--U 0 C--X ." and "C--U 65 C--X F".) If you want to continue with the next Teaching Disk, select option E from the Main Selection Menu and enter "lesson7" when asked the name of file to edit. Lesson 7: Multiple Buffers You may remember the word "buffer" from Lesson 3, when we learned how to read and write files from the text buffer. As you recall, we said that the buffer was a place for storing the text while we manipulated it, and that files were copied into it and replaced from it. Perfect Writer has more than one buffer for manipulating text. This can be handy when you are working on several files at once. For example, this training manual is made up of several lessons, and if we wanted to edit two or three of them, making changes to one based upon the others, it would be nice to be able to read them all into Perfect Writer at the same time. Each file we choose to use could be read into one of Perfect Writer's buffers. Look at the mode line at the bottom of the screen. Notice the portion that says "lesson7: lesson7". In the mode line, "lesson7" is the buffer name. Since we have multiple buffers for storing text, they must be named in some way, just like files or disc drives. Buffer names may be from one to eight characters long. "lesson7" is the one you get automatically when you start Perfect Writer up. Each of these buffers of text also has a filename associated with it. In this case, the filename is "lesson7". We talked about filenames in Lesson 3. There is a command which will list on the screen what buffers of text currently exist. This command is C--X C--B, the "Buffers Directory" command. Try it now. Type: C--X C--B You should see a display at the top of the screen, overwriting whatever text was there before. The text is not gone, just momentarily not displayed; this is an exception to the rule that what you see on the screen is what is in your document. Take a quick look at the display line with the buffer list on it. It has the name, "name", and the file name, "lesson7", and a number, which tells you how many characters are in the buffer of text. Type a C--L now to redisplay the screen. The buffer list has been replaced by the original text again. There is a command to create a new buffer, the C--X B command. It stands for "Switch Buffers", and looks similar to the C--X C--B command, so you can remember them both fairly easily. Try this command now. Type: C--X B Perfect Writer will ask you for the name of a buffer to use, by displaying a message in the echo line. Type in the name "other", followed by a carriage-return. Perfect Writer will ask you if you want to create a new text buffer. We do, so type a "Y" to answer yes. Now the screen is devoid of text. Look at the mode line, and notice that the buffer name is now "other". We moved into a brand new text buffer, which has no characters in it. Notice also that the filename in the mode line associated with this buffer is called "NAME.ME". This is so that if you mistakenly type a C--X C--W command to write the file without giving a filename, the text will be stored in a conspicuously named file. Type a few characters just so the buffer isn't empty. Now type a C--X C--B again to see a new list of the text buffers. Notice that the list now shows two buffers. Going to a new text buffer did not delete the old one; it is just waiting for whenever you want to go back to it. Do that now; type: C--X B name The Lesson 7 text will appear again. Note that C--X B didn't ask you if you wanted to create a new buffer, because one by that name already existed. Type the C--X C--B command again, to list the buffers. Notice that there is an asterisk beside the "other" buffer. This means the same thing as the star on the mode line does: the text buffer hasn't been written out to a file since it has been modified. Now go to another new buffer, called "lesson5". Type: C--X B Perfect Writer responds in the echo line: "Switch to Buffer [CR]: " Enter: lesson5 [CR] (The "Y" is in answer to the question asking if we want to create a new buffer.) Now that you're in the "lesson5" buffer, read in the file containing Lesson 5. Type: C--X C--R lesson5 The text will appear (if you got the file name right) and the mode line will now have a section saying "lesson5: lesson5". Type a C--X C--B again to get a buffer directory listing, if you like. It is usually quite useful to have the buffer name be the same as the first half of the file name which Perfect Writer uses. We just accomplished that by creating a buffer with a name appropriate to the file we were about to read in. But Perfect Writer can do this automatically for us. The command C--X C--F (for "Find File") will read in a file, in the same manner as C--X C--R, but will automatically create a buffer of the appropriate name for it. Try it now. Type: C--X C--F Perfect Writer will respond: "File to Read [CR]:" Enter: lesson4 The mode line will now say "lesson4: lesson4", and the text of Lesson 4 should be on the screen. The C--X C--F Find File command does just a little more than automatically selecting a "nice" buffer name. It will look through all the Perfect Writer buffers you have to see if the file you want to find has already been read into a text buffer before. If so, it just switches to that buffer, rather than creating a new one and reading in the file. This is usually what you want; if you had made changes to a buffer containing a file and then did a Find File, you would want to see the modified version. Try it now. Type: C--X C--F lesson5 Note that this puts you back in the "lesson5" buffer. Try: C--X C--F name.me This puts you into the buffer called "other", with its original file name. So, C--X C--F always does an automatic C--X B command for you, either to a buffer which contains the file name you want, or to a new buffer into which it reads the file. It effectively prevents you from ever having to remember whether of not you had read in a file. Just use C--X C--F all the time. With all these buffers it would useful to be able to view more than one buffer at a time. Perfect Writer has a split screen feature which allows you to view the contents of two buffers simultaneously. This feature allows you to compare the contents of separate buffers on the same screen. The split screen is created by the "Two Window" command C--X 2. When you enter this command the screen is divided into 2 parts with a line across the middle. When this command is given the screen will be divided into two windows but both windows will contain the same buffer, with the cursor in the top window. Give the Two Window command now. Enter: C--X 2 You can switch the cursor from the top window to the bottom window with the Other Window command "C--X O {the letter O stands for Other}. Do that now, go to the Other window on the buffer by entering: C--X O {Enter the letter 'o'} The cursor has now switched to the other window. The value of the split-screen feature is that it allows you to see two different buffers on the screen at the same time. So lets read a different buffer into this bottom window with the Find File command, C--X C--F. Begin by listing the Buffer Directory. Enter: C--X C--B This provides a directory of current file buffers. Read a different file into the lower window with the Find File command, C--X C--F. Let's read in file buffer "lesson4". Type: C--X C--F lesson4 The "lesson4" buffer is now viewed in the bottom window while the "other" buffer is viewed through the top window. It is possible to switch to the other buffer using the other buffer command, C--X O. Do that now, type: C--X O The cursor is now in the top window where the "other" buffer is viewed. It is possible to scroll through the bottom window, while the cursor is in the top window, with the view Next Screen (Other Window) command, C--X C--V. Try this command now, enter: C--X C--V The file in the bottom buffer has been moved or scrolled up one screenful (which is now about 10 lines because the size of the screen has been divided). It is also possible to scroll back down a screenful in the other window with the view Previous Screen (Other Window) command, C--X C--Z. Use this command to return the bottom screen to its original position, enter: C--X C--Z The window on the bottom screen has returned to its original position at the beginning of the file. To return to the One Window display, enter the One Window command, C--X 1. Do that now. Enter: C--X 1 The bottom screen display has been cleared and the full one window screen is used for the current buffer file. Do a C--X C--B to see what text buffers and files you have again. There are certainly a lot of unneeded buffers, so let's get rid of some of those old buffers. The command to do this is C--X K (for "Kill buffer"). Type: C--X K lesson4 This will delete the buffer called "lesson4", which contains the file "lesson4". Be sure to remember the difference between a buffer and file. C--X K and C--X B work with buffer names, while C--X C--F, C--X C--R, and C--X C--W all work with file names. Do a C--X C--B again, and notice that the buffer named "lesson4" is no longer there. Now type: C--X C--B Then type: C--X K other This command is intended to delete the buffer called "other", which just happens to be the one on your screen now. Perfect Writer will not delete a buffer which we are currently working on, and so it asks us which buffer we would like to go to instead. Type "name" followed by a , and Perfect Writer will then switch you back to the "name" buffer (which has the Lesson 7 text in it), and try to delete the "other" buffer. But there is another message at the bottom of the screen: Perfect Writer will ask you if you are sure that you want to kill the buffer, because it has some text (those few characters) in it which has not been written out to (i.e., saved on disk) since the changes were made. (Remember the star in the C--X C--B listing and at the right end of the mode line now?) Answer "Y" for yes, and let Perfect Writer delete the buffer. You can check this out with a C--X C--B listing if you like. What advantages does using several buffers have besides allowing you to look at several files back and forth? It allows you to move or copy text from one buffer to the other as well. In Lesson 5, we used the delete region command (or C--W wiping or M--W copying mechanism) to move or copy text from one place to another in a file. This method works on multiple files in separate buffers as well. You can delete text in one buffer, do a C--X B command to another buffer, and Yankback the deleted text in the new buffer. If you are using the split screen feature then you can delete text in one window, switch to the Other Window, and Yankback the deleted text into the separate buffer in the other window. Let's work through an entire example in detail. This is a chance for us to review some of the many commands that you have learned in Lessons 5, 6, and 7. The task is to take the first paragraph of this text, Lesson 7, and make it the first paragraph of Lesson 5. The buffer which we are now in, "name", contains the file "lesson7". The other buffer, "lesson5", contains the file "lesson5". (1) M--< to the beginning of lesson7. (2) C--N down to the first line of the paragraph. (3) M--Space or the Mark Set command your computer uses to set the mark at the beginning of the first line. (4) M--N to get to the end of the paragraph. (5) C--W to wipe out the paragraph. (6) C--X 2 to create Two Windows. (7) C--X O to switch to Other buffer. (8) C--X B lesson5 to go to buffer "lesson5". (9) M--< to the beginning of that buffer. (10) C--N down to the line before the start of the first paragraph. (11) C--Y to yank the text back. It should now be the first paragraph of Lesson 5. (12) C--X 1 to see the results. Don't forget that the text is still yankable again; you may want to go back to the other buffer and copy it back in with a C--Y. We have learned some commands in this lesson which you might not use quite at first. Sooner or later, though, you will be using them regularly. If you get into the habit of using C--X C--F to read in a file initially, you will find it easier to use the multiple buffers later when you need to. Experiment some more with buffers and moving text back and forth among them using the split screen display. When you exit Perfect Writer with the C--X C--C command, be sure NOT to write out the buffers, so that Lessons 5 and 7 are intact for the next person to use them. This lesson concludes our series on the use of Perfect Writer to edit text files (as well as computer programs). You are now ready to use a very powerful word processor.  yank the text back. It should now be the first paragraph of Lesson 5. (12) C--X 1ext back and forth among them using the split screen display. When you exit Perfect Writer with the C--X C--C command, be sure NOT to write out the buffers, so that Lessons 5 and 7 are intact for the next person to use them. This lesson concludes our series on the use of Perfect Writer to edit text files (as well as computer programs). You are now ready to use a very powThis is a test of Super writer ; ;;;hhhhhh AJL 91/10/030:00  A BN\ (08@HP ÌeSuperWriter (tm) Copyright 1983 SORCIM S/N-000000, CPM 2.xC6.14E1 009937408080 83/07/2509:52:27#!TeleVideo 925SW HLP`PBPPSW COM /xb<> (+)!~ : -?' \|-u#    x\`dh<> TY jklm)(.2.0   RE=$%.2h R=6 E =6 RE) ( @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6(f F1= Help gk]r<t>e c o/B@m'    =T=7 % #ANSI Standard#ec ]%r<t>o+B@-m4J`0 %%) /u_o@B] ie c#%m'8aINQ0  000r<t>o) /]c fi_u_@BH#&m)<aOV0 00000]r<t>e c o/B@m_'*u_i-0K37E;?CFQIMaQUm]l{    =T=7 % TYREG4G0G8G0)(.2.0 hY.2R=6 E=6 REeu_edc o_]@ B%ABCDKJHHJ0Y]r<t>e c o/B@m_'*u_i-0K37E;?CFQIMaQUm]l^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6 Kimtron ABM85/  E{~KHQamf F1= Help g    =T=7 % TYREG4G0G8G0)(.2.0 hY.2R=6 E=6 RElmjkC hYR%=6 E=6 R%E%e]r<t>e c o/B@m LSI ADM 3A e  m'a24    =T=7 %  =7 f]r<t>e c o/B@m LSI ADM 5 f_'*  K-0E36a9;>    =T=7 % TY)()(Ymg]r<t>e c o/B@m^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6LSI ADM 31/32 gu_H'*-1E59_=@^CiHKmN]alapu{    =T=7 % )(G4G0G1G0TY+ RER=6 E=6 REY+ YG0~h]r<t>e c o/B@m^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6 LSI ADM 42A h_'*^-i58u_K;?ECGKNmQ`aowF F1= Help }    =T=7 % TY YREG4G0G1G0)(R=6 E=6 RE Y~3Z1!2"53#"6ADDS VIEWPOINT/  ] o@BKma07: %KkY0P0@KY7 %Y6  %0@k]r<t>e c o/B@mVIEWPOINT 3A+   _'*K-0Q35a7=D    =T=7 % TY)(0PY0@J 1!2"53#"4$$/5%64&7'8(6M4l*F)EO%6 VIEWPOINT 60 /  ] io@BKQ#%m'a7AG %KklmY0P0@lY6 m %0@BkbBu_edc o_]@ BPQRS$A B DC 6 DEC VT52 B  /o%m'7aJQTABCDKJHHJ0YY7 K A%Y6 K%HI%HJ0JCANSI Standard#ec ]%r<t>o+B@-m4J,O[PQRS$6A B DC 6 DEC VT100 Cu_/K`gHosNxma0 %%DM%%M%0 Lr<t>o) /]c fi_u_@BH#&m)<aO>   1234$5/6"7849.6 6HAZ. 1400/1410L'%V0 00000Mr<t>o) /]c fi_u_@BH#&m)<aO>   1234$5/6"7849.6 6HAZELTINE 1420M'%V0 00000O) /u_o@B] ie c#%m'8aIN P)T4*%6 ESPRIT II OQ0  0006P) /u_o@B] ie c#%m'8aINDO0 0123"4$5/67)6 %*4'%+6 EXECUTIVE 10 P'   QQTaWfk0  00076%A @G7072]r<t>e c o/B@m KAYPRO II 2_')i+.m1@aOQS    =T=7 % RER=6 E=6 RE6(]r<t>e c o/B@m2 @DAE4BF"C$G/6I%6 Qume QVT 102 (u_K'+E/37:i=@_CHmM^aouz    =T=7 % G4G0G8G0)(RETYR%=6 E%=6 R%E%{(Y})]r<t>e c o/B@m_'*u_i-0K37E;?CFQIMaQUm]l^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6 Qume QVT 108 )/ f{a}    =T=7 % TYREG4G0G8G0)(.2.0 hY.2R=6 E=6 RE{l }hY.2]r<t>e c o/B@mTeleVideo 910 _'*u_K-1E59=@mCaQUX    =T=7 % TYG4G0G8G0)( =7 T P YW]r<t>e c o/B@m^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6TeleVideo 920 _'*i/2u_K58E;>ADmGTaaej    =T=7 % TYREjklm)( R=6 E =6 REyhY]r<t>e c oB@_'*u_iK37EQIMaQm]^$/C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6Executive 816 /f F1= Help g{   =T=7 % REG8G0)( =8 E=6 RE]r<t>e c o/B@m_'*u_i-0K37E;?CFQIMaQUm]l^ @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6TeleVideo 950 / f{Q}f F1= Help gma    =T=7 % TYREG4G0G8G0)(.2.0 hY.2R=6 E=6 RE.2.0R%=6 E%=6 R%E%l hY.1ANSI Standard#ec ]%r<t>o+B@-m4Jp[?OA B DC H@)L4M*PZ%K6 aAbB5cC"d$D/eEf4FgGhHiIjJ6PQ*6TeleVideo 970 ^`iilu_KotEx}NHQazy(B)B[?3l<[?21l[?5l\27;11 \26;10 \24;8 \28;12 ^32;32;32;70;49;61;32;72;101;108;112;E32; 0 %%PMLPI\27;27;91;65; \26;27;91;66; \24;27;91;68; \28;27;91;67; ~TRS-80(II) P&T~]o e c57 6 /  i@BKHEm!.a;>A  Y  Y6  Y6  ?u_edc o_]@ B&PQRA B DC Hz%L4M*E6 VISUAL 50 i%(u_m+BaYgHqwE}KABCDKJHHJ0YML5HM0Y6 L605Y6 M0HL60 HJcU9@0 JdU9@T0AU9@T0AU9@T0AU9@>P"QR !$"/#$4%&'()*i)OL4M*z%HA B DC 6 VISUAL 200 o]i _@Be c#&u_H),m/?aOTWHv0MLxyYABDC43HMY6 LY6 MHLv0yoLO?STU$V/W"A B DC H@)NL4M*P0QR6p$q4sw)yn%M6 ZENITH Z19 /  o@] r<t>_jie c#&K),m/=aKW@?Y8$RED=Help BLUE=Keypad shift: Arrows WHITE=Delete WordY _YHE%KJLMABDCpq HMY6 L Y6 MHL x1>tH%y1uJSRCM valdtn RECBRdB +%9 /  o@] r<t>_jie c#&K),m/=aKW@?Y8$RED=Help BLUE=Keypad s, a Edit Keys: ADDS VIEWPOINT CURSOR MOVEMENT: | DELETION: up Ctrl-E | cursor character Ctrl-G down Ctrl-X | rest of word Ctrl-Y left Ctrl-S | rest of line Ctrl-N right Ctrl-D | character left DEL next word Ctrl-F | mark F2s back word Ctrl-V | tab right TAB | INSERTION: tab left | change modes Ctrl-O left margin Ctrl-^ or HOME | mark F2 end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | top of document Ctrl-T | FIND/REPLACE: end of document Ctrl-B | next mark F3 previous screen Ctrl-R | next spell mark F3s next screen Ctrl-C | line forward Ctrl-Z | HELP F1 or F1s line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z b Edit Keys: ADDS VIEWPOINT 3A+ CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z c Edit Keys: ADDS VIEWPOINT 60 CURSOR MOVEMENT: | DELETION: up Ctrl-E | cursor character Ctrl-G or F5 down Ctrl-X | rest of word Ctrl-Y or F5s left Ctrl-S | rest of line Ctrl-N or F6s right Ctrl-D | character left DEL next word Ctrl-F | mark F2s back word Ctrl-V | INSERTION: tab right TAB | change modes Ctrl-O tab left TABs | line F6 left margin Ctrl-^ or HOME | mark F2 end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | FIND/REPLACE: top of document Ctrl-T or F8s | next mark F3 end of document Ctrl-B or F7s | next spell mark F3s previous screen Ctrl-R or F8 | repeat find F4 next screen Ctrl-C or F7 | repeat replace F4s line forward Ctrl-Z | HELP F1 or F1s line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z d Edit Keys: ADM 3A CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | back word Ctrl-A | INSERTION: tab right Ctrl-I | change modes Ctrl-O left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z e Edit Keys: ADM 5 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left RUB next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | ALT FUNCTIONS KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z f Edit Keys: ADM 31/32 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or CHAR DELETE down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N or LINE ERASE right Ctrl-D or rt arrow | entire line LINE DELETE next word Ctrl-F | character left RUB back word Ctrl-A | tab right TAB | INSERTION: tab left BACK TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | blank CHAR INSERT end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | top of document Ctrl-T | FIND ESC F end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z g Edit Keys: ADM 42A CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or F5 down Ctrl-X or dn arrow | rest of word Ctrl-Y or F5s left Ctrl-S or lt arrow | rest of line Ctrl-N or F6s right Ctrl-D or rt arrow | character left RUB next word Ctrl-F or F10 | mark F2s back word Ctrl-A or F10s | INSERTION: tab right TAB | change modes Ctrl-O tab left BACK TAB | line F6 left margin Ctrl-^ or HOME | mark F2 end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | FIND/REPLACE: top of document Ctrl-T or F8s | next mark F3 end of document Ctrl-B or F7s | next spell mark F3s previous screen Ctrl-R or F8 | repeat find F4 next screen Ctrl-C or F7 | repeat replace F4s line forward Ctrl-Z or F9 | HELP F1 or F1s line backward Ctrl-W or F9s | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z h Edit Keys: DEC VT52 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DELETE next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-V | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | line forward Ctrl-Z | HELP Ctrl-Q,1 line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z i Edit Keys: DEC VT100 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DELETE next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-V | mark PF2 end of line Ctrl-U | tab ESC TAB | LINE/SCREEN MOVEMENT: | FIND: top of document Ctrl-T | next mark PF3 end of document Ctrl-B | repeat find PF4 previous screen Ctrl-R | REPLACE ESC R next screen Ctrl-C | line forward Ctrl-Z | HELP PF1 line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z j Edit Keys: HAZELTINE 1400/1410 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O tab left TABs | tab ESC TAB left margin Ctrl-^ or HOME | end of line Ctrl-U | FIND ESC F LINE/SCREEN MOVEMENT: | top of document Ctrl-T | REPLACE ESC R end of document Ctrl-B | previous screen Ctrl-R | HELP Ctrl-Q,1 next screen Ctrl-C | ALT FUNCTION KEYS Ctrl-Q line forward Ctrl-Z | ESCAPE OPTIONS ESC line backward Ctrl-W | PRINT DIRECTIVES Ctrl-V | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z k Edit Keys: HAZELTINE 1420 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or F7 down Ctrl-X or dn arrow | rest of word Ctrl-Y or F9 left Ctrl-S or lt arrow | rest of line F10 right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | INSERTION: back word Ctrl-A | change modes Ctrl-O tab right TAB | line F8 tab left TABs | mark F2 left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | FIND/REPLACE: LINE/SCREEN MOVEMENT: | next mark F3 top of document Ctrl-T | next spell mark F6 end of document Ctrl-B | repeat find F4 previous screen Ctrl-R | repeat replace F5 next screen Ctrl-C | line forward Ctrl-Z | HELP F1 line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-V | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z SRCM valdtn RECPk~'e# l Edit Keys: HAZELTINE ESPRIT II CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or D/C down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left RUB OUT next word Ctrl-F | entire line LINE DEL back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O tab left TABs | line LINE INS left margin Ctrl-^ or HOME | blank I/C end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | top of document Ctrl-T | FIND ESC F end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-V | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z m Edit Keys: HAZELTINE EXECUTIVE 10 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or F7 down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line CLR EOF right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | INSERTION: back word Ctrl-A | change modes Ctrl-O tab right TAB/FLD TAB | mark F2 tab left TABs/FLD TABs | blank F8 left margin HOME | tab ESC TAB end of line Ctrl-U | FIND/REPLACE: LINE/SCREEN MOVEMENT: | next mark F3 top of document Ctrl-T | next spell mark F4 end of document Ctrl-B | repeat find F5 previous screen Ctrl-R | repeat replace F6 next screen Ctrl-C | line forward Ctrl-Z | HELP F1 line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-V | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z n Edit Keys: KAYPRO II CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL or RUB next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP Ctrl-Q,1 line forward Ctrl-Z | line bacward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z o Edit Keys: QUME QVT 102 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | INSERTION: back word Ctrl-A | change modes Ctrl-O tab right TAB | line PF2s tab left TABs | mark PF2 left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | FIND/REPLACE: LINE/SCREEN MOVEMENT: | next mark PF3 top of document Ctrl-T | next spell mark PF3s end of document Ctrl-B | repeat find PF4 previous screen Ctrl-R | repeat replace PF4s next screen Ctrl-C | HELP PF1 or PF1s line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q line forward Ctrl-Z | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z p Edit Keys: QUME QVT 108 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G, F5 or Char Del down Ctrl-X or dn arrow | rest of word Ctrl-Y or F5s left Ctrl-S or lt arrow | rest of line Ctrl-N, F6s or Line Erase right Ctrl-D or rt arrow | character left DEL next word Ctrl-F or F10 | mark F2s back word Ctrl-A or F10s | entire line Line Del tab right TAB | INSERTION: tab left BACK TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | line F6 or Line Insert end of line Ctrl-U | mark F2 LINE/SCREEN MOVEMENT: | blank Char Insert top of document Ctrl-T or F8s | tab ESC TAB end of document Ctrl-B or F7s | FIND/REPLACE: previous screen Ctrl-R or F8 | next mark F3 next screen Ctrl-C or F7 | next spell mark F3s line forward Ctrl-Z or F9 | repeat find F4 line backward Ctrl-W or F9s | repeat replace F4s PRINT DIRECTIVES CTRL-P | HELP F1 or F1s | ALT FUNCTION KEYS Ctrl-Q EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z q Edit Keys: TELEVIDEO 910 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O tab left BACK TAB | tab ESC TAB left margin Ctrl-^ or HOME | end of line Ctrl-U | FIND ESC F LINE/SCREEN MOVEMENT: | top of document Ctrl-T | REPLACE ESC R end of document Ctrl-B | previous screen Ctrl-R | HELP Ctrl-Q,1 next screen Ctrl-C | line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z s Edit Keys: EXECUTIVE 816 PC CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left RUB next word Ctrl-F | back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | mark F2 end of line Ctrl-U | tab ESC TAB | LINE/SCREEN MOVEMENT: | FIND/REPLACE: top of document Ctrl-T | next mark F3 end of document Ctrl-B | repeat find F4 previous screen Ctrl-R | repeat replace F5 next screen Ctrl-C | line forward Ctrl-Z | HELP F1 line backward Ctrl-W or F9s | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z w Edit Keys: TRS-80 (II) P&T CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or dn arrow | rest of word Ctrl-Y left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | next word Ctrl-F | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-V | tab ESC TAB end of line Ctrl-U | LINE/SCREEN MOVEMENT: | FIND ESC F top of document Ctrl-T | end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP F1 line forward Ctrl-Z | line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q | PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z x Edit Keys: VISUAL 50 CURSOR MOVEMENT: | DELETION: up Ctrl-E | cursor character Ctrl-G down Ctrl-X | rest of word Ctrl-Y left Ctrl-S | rest of line Ctrl-N or EL right Ctrl-D | character left DEL next word Ctrl-F | entire line DL back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O tab left TABs | line IL left margin Ctrl-^ or FUNC/n8 | mark F2 end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | FIND: top of document Ctrl-T | next mark F3 end of document Ctrl-B | REPLACE ESC R previous screen Ctrl-R | next screen Ctrl-C | HELP F1 line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z y Edit Keys: VISUAL 200 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or F6 down Ctrl-X or dn arrow | rest of word Ctrl-Y or F8 left Ctrl-S or lt arrow | rest of line Ctrl-N or F9 right Ctrl-D or rt arrow | character left DEL next word Ctrl-F | INSERTION: back word Ctrl-A | change modes Ctrl-O tab right TAB | line F7 tab left TABs | mark F2 left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | FIND/REPLACE: LINE/SCREEN MOVEMENT: | next mark F3 top of document Ctrl-T | next spell mark F0 end of document Ctrl-B | repeat find F4 previous screen Ctrl-R or F11 | repeat replace F5 next screen Ctrl-C or F10 | HELP F1 line backward Ctrl-W or F12 | ALT FUNCTION KEYS Ctrl-Q line forward Ctrl-Z or F13 | ESCAPE OPTIONS ESC PRINT DIRECTIVES Ctrl-P | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z z Edit Keys: ZENITH Z19 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or DC down Ctrl-X or dn arrow | rest of word Ctrl-Y or WHITE left Ctrl-S or lt arrow | rest of line Ctrl-N right Ctrl-D or rt arrow | character left DELETE next word Ctrl-F | entire line DL back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | line IL end of line Ctrl-U | mark F1 LINE/SCREEN MOVEMENT: | blank IC top of document Ctrl-T | tab ESC TAB end of document Ctrl-B | FIND/REPLACE: previous screen Ctrl-R | next mark F2 next screen Ctrl-C | next spell mark F5 line forward Ctrl-Z | repeat find F3 line backward Ctrl-W | repeat replace F4 PRINT DIRECTIVES Ctrl-P | SHIFT KEY PAD MODE BLUE | HELP RED ESCAPE OPTIONS ESC | ALT FUNCTION KEYS Ctrl-Q EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z  A Edit Keys: KIMTRON ABM85 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G or F5 down Ctrl-X or down arrow | rest of word Ctrl-Y or F5s left Ctrl-S or left arrow | rest of line Ctrl-N or F6s right Ctrl-D or right arrow| character left DEL next word Ctrl-F | mark F2s back word Ctrl-A | INSERTION: tab right TAB | change modes Ctrl-O tab left BACK TAB | line F6 left margin Ctrl-^ or HOME | mark F2 end of line Ctrl-U | tab ESC TAB LINE/SCREEN MOVEMENT: | FIND/REPLACE: top of document Ctrl-T or F8s | next mark F3 end of document Ctrl-B or F7s | next spell mark F3s previous screen Ctrl-R or F8 | repeat find F4 next screen Ctrl-C or F7 | repeat replace F4s line forward Ctrl-Z | HELP F1 or F1s line backward Ctrl-W | ALT FUNCTION KEYS Ctrl-Q PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z B Edit Keys: WY-50 CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G,F5 or DEL Char down Ctrl-X or down arrow | rest of word Ctrl-Y or F5s left Ctrl-S or left arrow | rest of line Ctrl-N or CLR right Ctrl-D or right arrow | character left DEL next word Ctrl-F or F7 | entire line Line DEL Char/s back word Ctrl-A or F7 | mark F2/s tab right TAB | INSERTION: tab left TAB/s | set/change modes Ctrl-O or Ins Repl left margin Ctrl-^ or HOME | blank Line INS Char end of line Ctrl-U | line Line INS Char/s LINE/SCREEN MOVEMENT: | mark F2 top of document Ctrl-T or F8/s | tab ESC TAB end of document Ctrl-B or F8 | FIND/REPLACE: previous screen Ctrl-R or PAGE/s | next mark F3 next screen Ctrl-C or PAGE | next spell mark F3/s line forward Ctrl-Z or F6 | repeat find F4 line backward Ctrl-W or F6/s | repeat replace F4/s | HELP F1 or F1/s PRINT DIRECTIVES Ctrl-P | ALT FUNCTION KEYS Ctrl-Q EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z C Standard Edit Keys CURSOR MOVEMENT: | DELETION: up Ctrl-E or up arrow | cursor character Ctrl-G down Ctrl-X or down arrow | rest of word Ctrl-Y left Ctrl-S or left arrow | rest of line Ctrl-N right Ctrl-D or right arrow| character left DEL or RUB next word Ctrl-F | back word Ctrl-A | INSERTION: tab right Ctrl-I or TAB | change modes Ctrl-O left margin Ctrl-^ or HOME | tab ESC TAB end of line Ctrl-U | | FIND ESC F LINE/SCREEN MOVEMENT: | top of document Ctrl-T | REPLACE ESC R end of document Ctrl-B | previous screen Ctrl-R | HELP Ctrl-Q,1 next screen Ctrl-C | line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z SRCM valdtn RECD f\T^[trl-Q,1 next screen Ctrl-C | line forward Ctrl-Z | ALT FUNCTION KEYS Ctrl-Q line backward Ctrl-W | PRINT DIRECTIVES Ctrl-P | ESCAPE OPTIONS ESC | EXIT and SAVE document ESC S | EXIT and ZAP document ESC Z A"INSTALL. Copyright SORCIM Corp. 1981 S/N-123456,BCD 2.y804.04xx UNCONFIGFilenameEXT(XÈP>P?INSW OVL T   WQjk#"ERlm)(>}>?}zz_z>}>=}z}{}!DP?UB$2 >  . ) 9 L Y ~ r f `l t 3 I  Z>QJqtz("FQ_pf`!2Bbnh'?? @o&L (!_^#V*MD2}~Bebob_x_*x@_*^#V!2"o&"*"2Ý:!.22i`".Å.ÅPCO o g o g1 o&1!1!1!1*}*11*Ô*^#V2Ù*ï*s#r2ô _րW _ *^#V= 1Ôõn&1s2i`"`i{=ą)D)11i`"{OzG͍D `iG^#V#CMD2^#V#~#fo2i`"q#p#s#rD 2o&)+V+^=}2 ʡo&)9^#Vs#r#=˜2i`"KB͍D O>G2᯲1ý 2i`"|}2!N:  ~# Dý#11 _ 2i`"Kͣ) :o&E<oDi`"CK^#VxcGjS]hrrzW{_h! ~_#~WDi`"y! N#Fڥo`ALbS\¬üʼo{_zWyOxG-¬y/w#x/wD =11{ozg1}o|}/o}/o|/}{ozzܣ21i`"Di`"Li`"ͅD7}o|g1# 12# 1h!p!^*^yHҔ)yŠͣ`i<)ҦMD!xGyO){_zW #=°ɯ xͣ͠ + z  ͣãͣ͠ý^F !1# F  # F  0 ^ !1͐ _ !D͐ R !D͐ R _ R ͐ _ R _ ͐ _ R ͐ R _ i`"! ; {_y| }! z {2N2G Ay # :i`"KB i`")MD + #   z^zɯO>G i`"_!G ^#Vzl g D  DD* 1 DDs |ғ D ғ xғ ý Ґ  D}o|gҥ }o|gÓ ͍ **Ó ͍ **Ó D î"""# **^_>W>o>gz½W /½|怺2ýz!+" Ó "" *D!""!9+x> \ wxGyOzW{_#Ғ :2#:2#:2#:2+++~w#~w#~w#~w++++5_ *}lg*}lgD** ""** """ᯕo>g>o>g "<{_zWyOxG !""72 xGyOzW{_*)"*)? #""}o|g"}o|ge **y *#"}y *#": = ""*" z£ x *  ͽ _>W>O>G| 㴵 * ý *  ý͗ GxB {/w#z/w# B ͗ GOx3 {w#zw#& yB Gw#w#: *D͗ e xB {w#zw#U B O!9Axʀ w#w#r *H+~+~… Di`"E#)9~"## ѻ2i`" O)9o`9|D)EO/86p>2Q{a#za#@:^Ϳa:O*Dʈ{/f#z/f#u:•Ϳffʲ~/ѣf#~/f#Ÿ:ʕfOyAzi`"xk! m{zgyoxgyGM{ozg{2&^#V?;=:x! G{_#zWx\W:ڹ! ڹyoxgy_zҹ b ~9ʹ>o&D}|}|2 O>G2*O ^#V7}O|G2i`N#F#^#V#""z3}|7DDxAD}o|gD#)*N#F+}o|gMD2M2M*1M**"*"N#Fq#p2M*MD*#~=s! V+^+F+N#§KB21*+V+^" "*^#V O* #~+~+ *" ""*yx$*~-"2o&)) F+N q#p*$^ý*"0" i`"/<_*0^#V7}o|g"2~ʸ^#V#N#Fڜo>g9>ð o>g9>*0##͍****!9" "*0"*2"+V+^}O|G *ʑ<*"0!sVi`"E>*MD"0!V =i`"W*@|ʽzFҽ"(*.+++F+N*(*.+F+N̓ ½*0:,¸"",*^#V7}o|g"*:*:,D*^#V"*MD*} |ʽ! ^#V!^#V7}_|W! s#r+++:U^#V:,D`iN#F" ~\\w#6*w#6D̀z w#6{ w#6D{ W} _!DÃ|½}ͨDý!?#͑~#foF#~}ùù i`"_!^#VzP[ozd] ap@m5N^#Vwڽ6+62zD*s#r2*!9}o|gDxDxD|D*s#r "!9>D^#Vwڽ"2}o|gDx+ {# {+ x(+ {# {+ ))>w#"͆*/ >: Dxڽ}t"yڽxxD*Dîo$MDy_xW{z/W{/_xzW{_ë}0>02 >0]T< =kbG: > x>2 0~0~0#y GN#xDy_ѯ)#7# yYF0yz{x7# f^ڍ +~ x€x~# Íx~aڪ{Ҫ# Ú~#ò7#ûzq#O:=@I |}Ɛ'@'ɯ2#~:+:~@\##%<~>:7^.H~.#HyĂ!^ Ă:7x7~͍#.ʂ*z>?ͅ~# ^G>  …x!\|\;\=\:\@ʺ#ʺ*ʺ?¿2a{ w*%.*/ >*:x:Ƞ2ɄOYyOOy'_  DɯLT F^{#UOvf_6́#6^w#VwzW{_! 4!~oO ́́́́ Ý!!^#Vr+ś"1p/ JpE ] GCONSOLE#CON#CRT>READER5PUNCHGPRINTERLP5COMM1,COMM,NULL5TAPE15TAPE2ffffflllflliff/o>2!"$~OҜ:~K# |*#…:"! to^yoV%Ü!'>Oy~*w*T] FO>ڳ/Gwq#6D>2!9ͣ|D!"D#͘ >!!B'TT<2\!D]Ͳ!\ !.T Install ABORT. $$$ SUB*}2ý*1{2hw#w2}2x{22yʫҫ2?!ڞ&o"<:>>í>2Dl y!*.!!D>>2>!:"D"B""G"@l ~ _:>#:B~w_|~2F###^*|ʕ!~Xw*G*^Xz w*Dx2XÙÉý**BJ!:>!õ !"Õ2*Da!**@{&:>ʸN-":FOyuw"͠w"uwU > :ʽ:"6#{ z w&#ã"Õ:Fz:Iy2IO = zCz]>w  :7>|>ʍYO͠OʚÊ_>Ä*|~#"!"N ̓ͤ*, s#r> 2N ͜>N N >N "N z > J **NH !> J *!> J >2>2>n |~ !D*!""N*~ɯ2>2>i`"B""@"! "*BJ!Ե :X!*@ !*,   x2X!" *@"@õ !"*@!Íz w**@B*!%!x2X!""<+w#_^#Vѯ71'%#!""""Uͅ" |}2q">72b} ,#z$T.T!]Ͳ<22\!"#}2!:~#<͑6#p!#""!#'""ù"DM#~#fo*#6+^"!"*Ͳ6,#"6 "!!` !\̓g9!9!!9"" ""!$$"}2D!$!̓ *$w^:$!$~2$w#w`0N#F#y*$#@$:w#:w#q#p#~#~#$! INSW.OVL must be on default drive -formed. INSTALL version NOT compatible with OS. SRCM valdtn RECKH2k|g"+F+N}o|g"* N#Fo>g9!9!!9"" ""!$$"}2D!$!̓ *$w^:$!$~2$w#w`0N#F#y*$#@$:w#:w#q#p#~#~#$! INSW.OVL must be on default drive -formed. INSTALL version NOT compatible with OS. SORCIM INSTALL ENVIRONMENT. SW SuperWriter 0 SW COM OVL INCRT SWPRT M1 NY This program provides SuperWriter with data about your terminal and/or printer. Do you wish to proceed? (Y/N) M1X ?YN You have selected M1X2 Printer : %4 M1X1 Terminal: %3 M1X3 You have NOT saved selections made this session. M1W YN Okay? (Y/N) M1X4 YN Do you wish to exit WITHOUT SAVING SELECTIONS on program disk? (Y/N) M2 ?PX TERMINALS Supported for use with SuperWriter(tm) Current terminal: %3 A$ . ADDS H$ . QUME B$35C. ANSI Standard I$43C. SOROC 120 C$ . DEC J$ . AMUST D$ . HAZELTINE K$126w. TRS-80 P&T E$50n. KAYPRO II L$ . VISUAL F$160A. KIMTRON ABM85 M$ . WYSE G$ . LSI ADM N$191z. ZENITH Z19 P. Proceed to PRINTER selections. X. Save selection, return to TERMINALS, or Exit. Enter A-N, P, X (or ? for Help). M2A X Choose which ADDS model: 1$21a. VIEWPOINT 2$22b. VIEWPOINT 3A+ 3$23c. VIEWPOINT 60 X. Exit this menu. Enter 1-3, or X. M2C X Choose which DIGITAL EQUIPMENT model: 1$66h. DEC VT52 2$67i. DEC VT100 X. Exit this menu. Enter 1, 2, or X. M2D X Choose which HAZELTINE model: 1$76j. 1400/1410 2$77k. 1420 3$79l. ESPRIT II 4$80m. EXECUTIVE 10 X. Exit this menu. Enter 1-4, or X. M2G X Choose which LEAR SIEGLER model: 1$101d. ADM 3A 2$102e. ADM 5 3$103f. ADM 31/32 4$104g. ADM 42A X. Exit this menu. Enter 1-4, or X. M2H X Choose which QUME model: 1$40o. QVT 102 2$41p. QVT 108 X. Exit this menu. Enter 1, 2, or X. M2J X Choose Amust-Compak model : 1$151q. 2$153s. 3$154s. 816 4$155s. 5$156s. X. Exit this menu. Enter 1-5, or X. M2I3 TeleVideo TVI-925 terminals can operate in one of two ways: 1$153. TVI 920 Emulation superset 2$155. TVI 950 Emulation Determine which way your terminal is set by examining its switch settings, then enter the appropriate selection. (If you have a choice, %1 works a bit better with the 920 Emulation.) For additional information on the switch settings, refer to your TeleVideo manual. X. Exit this menu. Enter 1, 2, X, (or ? for Help). M2L X Choose which VISUAL model: 1$161x. Visual 50 2$163y. Visual 200 X. Exit this menu. Enter 1, 2, or X. M2M X Choose which WYSE model: 1$193B. WY-50 2$192C. WY-100 X. Exit this menu. Enter 1, 2, or X. M3 ?ABX A. Save your selections. B. Return to TERMINALS screen. X. Exit installation program. Enter A, B, X (or ? for Help). M4 ?X PRINTERS Supported for use with SuperWriter(tm) Current printer: %4 A$1 . Standard printer (no underlines) B$0 . Draft printer (underlines) C$2 . NEC SPINWRITER D$3 . DIABLO E$4 . QUME F$5 . SELLUM G$6 . XEROX H$7 . EPSON-MX 80/100 I$8 . EPSON-MX with Graftrax J$9 . EPSON-RX 80 K$10 . EPSON-FX 80/100 L$11 . IBM Graphics For C-Itoh, select DIABLO. For Okidata 82A and 83A, select Draft. X. Save selection, return to TERMINALS, or Exit. Enter A-L, X (or ? for Help). M41 YN QUESTION: The program needs to know if your printer feeds paper to the next page when it receives a standard ASCII form-feed code (CTRL-L or OCh). The answer for most printers is Y (Yes). If you cannot find the answer in your printer manual, type Y. Test the results when you start using the program: If your paper does not feed to the next page, re-install and change this answer to N (No). Will your printer accept a standard ASCII Form-Feed code? (Y/N) M42 YN? QUESTION: Current maximum page width = %5 Do you wish to change it? Enter Y, N (or ? for Help). M4A XABCDE Choose which SPINWRITER model: A$0. NEC 5510 B$0. NEC 5520 C$0. NEC 5530 D$0. NEC 5515 E$0. NEC 5525 M4F N QUESTION: You have selected a Standard printer. The program assumes a standard printer will advance the paper (line-feed) when it receives a carriage return. Is Standard printer the correct selection? (Y/N) M4G N QUESTION: You have selected a Draft printer. The program assumes your printer can do a carriage return [CR] without a linefeed [LF]. Any printer that can do a [CR] without an [LF] can be installed as a draft printer. If you have an AUTO-LF switch, it must be turned off. Is Draft printer the correct selection? (Y/N) H1C The terminal you chose has not been found on the DataFile. It should have been there. Press any key to return to prior screen. H1D Cannot locate DataFile on the current logged drive. It must be present for the installation program to run. Exiting to system level for correction. H1E Incorrect values in DataFile. Try another copy of the file. Exiting to system level for correction. H1F AnswerScreen: d:filename Uppercase or lowercase letters may be used. Type program DRIVE: and NAME of main SuperWriter program, followed by a carriage return (RETURN or ENTER key). (The program drive must contain the main SuperWriter program: SW.COM or SW.CMD.) Example entries: B:SW.COM [CR] or: c:sw [CR] If not otherwise specified, the following DEFAULTS are assumed: -- DRIVE: current logged drive -- FILENAME: SW -- EXTENSION: .COM or .CMD Just press [CR] if SW.COM or SW.CMD is on your current logged drive. Press any key to return to prior screen. H2 AnswerScreen: Terminals To select your terminal from the TERMINALS screen, type the letter corresponding to the name of your terminal. Then select your model, if asked. IF YOUR TERMINAL IS NOT LISTED: See your terminal manual for the name of a compatible terminal, or contact your dealer. (You or your dealer can call Sorcim Customer Support for help.) AFTER YOU SELECT YOUR TERMINAL: Type P to proceed to PRINTERS screen (or type X to save or exit now.) Press any key to return to prior screen. H3 You may: Save the selections you have made (option A). Return to TERMINAL selections (option B). Exit the installation program (option X). Press any key to return to prior screen. H4 AnswerScreen: Printers To select your printer, type the letter corresponding to your printer's name. Then select your model, if asked. If your printer is NOT LISTED, select "Draft" or "Standard": To use your printer's underline capability, select "Draft printer." Switch off your AUTO-LF function (automatic linefeed when printer receives a carriage return). If your AUTO-LF is fixed (that is, it cannot be switched off), select "Standard printer." Standard printers cannot underline. Press any key to return to prior screen. H42 AnswerScreen: Max Line Width In some circumstances, such as printing out dictionary words, the program needs to know your maximum printer page width (in characters per line). Maximum page width is normally 80 characters for 8-1/2 inch paper. To change the current maximum page width, type Y (for Yes) and enter any number up to 250. Press any key to return to prior screen. H5 AnswerScreen: Save & Exit To save the selections made this session (that is, to send, or "write" the new data to your program disk), type A. To return to a prior selection screen, type B. To exit WITHOUT SAVING selections made this session, type X. Press any key to return to SAVE AND EXIT screen. -Notes: Choose your model: 1. (terminal model) 2. (terminal model) 3. (terminal model) Enter 1 - 3 or X to return to TERMINALS screen. You have selected (terminal model) [Confirmation- message] 3 Okay? (Y/N) QUESTION: In some circumstances, such as printing out dictionary words, the program needs to know your maximum printer page width (in characters per line). Maximum page width is normally 80 characters for 8-1/2 inch paper. To change the current maximum page width, enter any number up to 250. Press [CR] to leave the number as is. Current maximum page width = %%n New maximum page width? aft INSW CP/M help file. 83/12/070:00 83/12/0715:17 1 P BNN\ (08@HP ^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G New maximum page width? aft INSW CP/M help file. 83/12/070:00 83/12/0715:17 1 Pw "38<&2;?/07/0(0=:0:INSW.ovl Ver 1.02gN3aqaxaa{aq%a-` 2 aa aqapa.hcddddbdaa dpd2d2aa`c`P`a4aaa6aaJa`a6aa.a0aa6a6aa*a.~)`a4aa.`a6a.*`a4aaa%a4a`)a4`*a.N+BDBۡ.B4BB6BBB, B0B.T-BȀƀۡLƀ,ƀƀ1Bƀa ƀ*`n. `bdbabadd4dd*d.d*d4dddd4dcd2ddjc:b d!add*d4.-`bb p $bddcdۡ-ddcdd Fab ii ` ii.gh i*ݚ iiiۣi4iidabba(i4ipci6iai.iacadadf9i4`*i0ii.e`i6iifei*i.i`ipi  i +> d e e (/`/d`b45b4bۡ#bb b6b b.ab`,bۡ`,b b`,&V vdddpdۡd &"<:<<c x0epdder6*d0 j1`/``d a`,d3`b1(adۡbdp`,b3U r`p ` `p ` D4`Dp D `` D2B>dbbbae `eabababa>af4b``bfpc`d ` dc`bee>0 =ab`= cba`= !ba`a=#a ``Ћb`=0$`bЄcaЍacabbcbcbЃ2bPa#ca`dd`cab`b`6aabЌ`1a`bcd badbcbadbb`H`FabЄecЍce1b`d b`b`edbcb`ebbeTeSe deЄ egf3gfghdg gfdg e egg: fa`a-ݰ`    eaed0`eaea`a`W/z  \ 6 j V0\jd H b  8 |>`ʁNBBa` aʁNaBʁN.@ V`ʁN-`ʁN.DAT8`3-ʁLʁL%€-ʁLʁL 01:#ʁLʁL4ʁN8ʁN:ʁN€-//. ʁNSORCIM INSTALL ENVIRONMENT.0ʁNʂFʁNʂsʂURa ` SORCIM Installation Program# Version: # 1.02#1 BNd"Then returning to system level for# correction.#v Enter "d:filename"# "d:" is drive containing #ʂF# main program file.#&Then press [CR] (RETURN or ENTER key)#Example: A:SW [CR]#Press "? [CR]" for more help.#Enter d:filename: #ʂʂʂ#ʂ4.8 :ʂʂЈ,ʂʂ4$.%8(:ʂ``;ʂu" ʂ#" #Invalid filename - please re-enter.#ʂ:ʂrʂCInvalid Drive specified#ʂʂ .ʂv<ʂ.ʂe@BDFHJLNPRTolf\^`bdfhjlnprtaV )41 BN ʁLʇ{ ,`PʇʂU'#ʇUʀYou have selected the #ʀ! printer.#Is this correct (y/n) ? #NYBN ',jR -`PˁJ+ʀɁJYou have selected the #+! Okay? (Y/N) #NYBNɁJ,ʀ+42 4BY4New Max page width #333 3 K493 34 304333 4494Invalid page width--Reenter#4 ʋ»- f.S+2,4 B .g_].X  "$&(*,.02468:<>@BDFHJLNPRTebNʁ@ɁJʇe|j +Y!!;ʁʂ^Y!YʂY*Y*ʂ P/!ʂZ* *YZ!/ZY ʂZZB.ʁNYZ`!c/YS`+ʂZ b(ʂZ b`bcb\P P\bbʂZʁN\b\bZacʁN~ (----------------------------------------#cT`P P^++!+++6 ʁNЍ*ʁN),ʁNǀǀ,+++++ ʁNЃjT 1K f cc c 0edbdʁN,8 P2`PʁN,R3 `ʁN,d44`aʁNa51ʁN`a`P ʁNagPg52U `5`P1+7# Missing from AnswerFile!#>ʁNPgʁNPʁNʂ>ʃ;$+%ʁN,,SʁN,0ʁN,0*035ʂF3.ʀ4'ʀ4 2<>3151-(#,$ʁN//GʁN/>P>ʂ>ʃ;/51ʃ;ʃ;ʁN/1/ʁN#! !+!ʁN ʁN)+t  0`PMP0R `PHP0+AT2 `P,UUMUQUP,0>B?++ +" J aP gJ gJ`PʂJ,,Oʃ;,ʃ;$ʃ;ʃ;P,`ʃ;P`a.`,NT X""(ʂʃ_ X"X<6 "X[b"d6X$ababcʃ[`XcXc[cdDR 2d dadzd  d^ d@ BdP#/// 0123456789PBB J#Ba8T teˁKʁKd apˁKʁK`aɁKapˁKʁK`aɁK a b# 4` Unconfigured.#`$, #b`$bʋabb`  3ta e`2e j[fgg~g7 (gg0 g  `2hi f `hhdP0/ /Ѓ0//%T BǁINFǂBINFǂs)ǂU+&m%mǁǂg/xHT"B F  0 <V8DBfR >! !"v*L .lX l6ʁN/>P>ʂ>ʃ;/51ʃ;ʃ;ʁN/1/ʁN#! !CONSOLE:P``CRT:P`PrrT<< <R4:/XError in Input/Output of#!Help files. Possibly insufficient#"space on the disk being installed.#Returning to system level#for correction.#L q`j d`ba  c`cac c  c (   ~t       D`aa Ȃ b Ƃ b `ceȂ Ƃ `ctdd d dVȂ dd= edeƂ Ȃ b Ƃ Ƃ gȂ   dȂ Ƃ ede ede`c)Ƃ Ȃ b Ƃ Ƃ gȂ aƂ aa d`c  ,  DȂ `aȂa Ȃ bƂ ȂƂ Ƃ`Ƃ ȂƂƂ Ȃ ƂƂ ƂȂƂ@ƂƂƂƂ Ȃ bƂ ȂƂ ƂȂ ȂȂ ƂƂƂaƂ aa Ƃb* `Pa ,P:, ,,# not found on the #:2' #' drive.#!current drive.#Returning to system level#for correction.# .. 1X: swnewhlp.$$$PX swnewhlp.$$$PXX  0W P.cPbPǀHELPFILEǀNEWHELPǀDATAFILEȃ ǃǀǃ ǀǃ`ȃ ǃǀǃaƁ ǀWWǀWȃǃinmenuǃǀVǃ.datZǃPǀƁ ǀ qȃ ǃǀǃaƁ UǀWWǀWȃǃinmenuǃǀVǃ.datZǃPǀƁ Mȃ ǀǃ ȃ ǀǃ ȃ ǀǃǀ.ǀǀ.nǀǀXYou will have the standard#Edit Key help screen.#ǀǀǀYv.4Btdd d dVȂ dd= edeƂ Ȃ b Ƃ Ƃ gȂ   dȂ Ƃ ede ede`c)Ƃ Ȃ b Ƃ Ƃ gȂ aƂ TL +KPPLUL!PLL KK-EOF error in Index(INSW)#3K KTTLTTK +KTS TT`K`aOrOO@OK`bp`K`bq`K`bq`OrO+KTS` QQQ KQ QQLNNrNN``TQT `KQ `KQK `K`adQQ`aNQQ KQ QQ%QQK KQa`Qwg OON+TPLKMRB`P+HELPFILE ƁK+8>z ,  DȂ `aȂa Ȃ bƂ ȂƂ Ƃ`Ƃ ȂƂƂ Ȃ ƂƂ ƂȂƂ@ƂƂƂƂ Ȃ bƂ ȂƂ ƂȂ ȂȂ ƂSRCM valdtn RECLQv8Maintain tm Copyright SORCIM Corp. 1983 S/N-000000 CP/M 2.2 2.01DP 324037408080 $V6U#^6+~U#~+6#6U+~r#~Us+z/w~/w#{/w~/w+~#~#yxҞ!T >2U0*++DM!Þ! +rrr#sss! ͔! s õ 1U0*++"04  22222U084! e 22! @ ! !W ! ! ! :U0@ ͖ V4S#R,?Xʵ :2 P :2e>22Ú !(   !   ! s bAOAGOAGOGyA_! { <> ͠ ͠y AG ̾ Aw# G"V0ɯ22qG>, 0‚>O1‰>I_Aҽz3:0&! !z3N#> 0>^z3! >X>22>XQҐw# >p:2I !T O ͠ WG ~WxC!FW# z ! F ! ! y3ͧ ͍A!z3 ~l! A{3g:~3ʃ!I A:{3G:0ʣ! 82 ! A:|3AG:}3AG!D+w*~0~#¼!. 82 !_ Y ~+w##p#~+6*~0#!D"X020:0<20! :0&! ͖ :0&! y3ͧ !S/cS@ ͖ ! ͍D*X0S/XʞS/B*X0"Z0"X0:0 Gʛ! *Z0"X0D  ! *D:0=/_D*X0 !5  A *X0!L!D+ͭ 1 !D##>^#V]#82"X0ͅ B# 82 ^C#N!B#~#x8+82*X0ͅ B# 82 < *X0@ 82!ͅ !    !: 82 !T s b! z3! ͖ Y¬N´>P !! ͖ CʍX ô!/! ͖ YN P , 1*0bͫ "1# 82* 1ͅ 0# 82 <̾  <̾ I !j!  !! F b͖ !! ab* 1#" 1><21>*͠ :1= @ ><21 # !1 1b>2/1!1"01~#G:121!1~: 5 zxF G# 0 *01~w#:/1=` !1>2/1"01xGy !1~w# q xGҥ :1O>22!1^{gz/Lw#:2=22Ž zW{ {z g W g  g  g  W  ` g / / / / @ @ / / W g !@ r @ G:2W Xx22 r r r :2_22 !s#r# ) ̾ _ Ͳ @ !+ !+ ͔>-͠ ͔>-͠ !%+ s ͵ !q+ !+  1U0b72 \2 2 v   :210 >=4 =1 !+ @ @ !+ b !+ [ ͠ !+ I ͖ !, é ͖ !* ͽ _X ͽ ͯ > Ͷ ï ͽ I > à >O> ͠ ¼ !#, ͽ I a { _ > >G~# ͠ :310 yx>#  $  >yx># ѷ' > , A͠ >:͠ I s >  ŗ! 0C < !#w+yw+怰w)  !R, !2 A͠ >:͠ !z3̀ 6.#̀6"#6$z3  :2! "2!2$bO=I:IA+w# #.n*2n y3 @ !z3~u> ~<!z3N#>Ҙ#~+:˜ ##W ~.±!!2 #½#  @ !z3N#~_ 6 !Y, 6^!z3N#~_ @ >N#T]̀pxN#~a*{*_w  w#1ɷzW{_ 9{ozg{_zWyOxGO}io%ɯw# eɯ~w# q ɯG ʍw# „xͱ5 ͱ5 ›ç!5!6$6 #!2>N>06 # >#~6,+Fw+p#F#}o|g >0w#Sx ))#w ''Sx II+w GG *** A memory test is being run, please wait a few seconds *** *** Your memory passed the test with no errors *** Memory error detected at byte (decimal) This is a serious problem. Call the person with overall computer responsibility. Then run MAINTAIN 12 times to check for intermittent errors. If this check of memory gives another error, call hardware service and do not run any programs. PRESS IN ORDER TO: ----- ------------ V VERIFY integrity of a program bought from SORCIM R REVISE a program (requires a Hard Copy Revision Sheet) S SHOW possible remedies for damaged programs ? HELP - explain available functions X EXIT this program and return to System This program is designed to help you maintain computer programs purchased from SORCIM Corporation. It performs two functions: (1) Check programs to determine whether they are damaged (e.g., lost because of power line noise, wearing out of disks, turning power off disk drives before removing diskettes). (2) Allow nonprogrammers to make revisions (or "patches") to SORCIM SuperWare (tm) using only a typed sheet of instructions. Select the "V" menu option to VERIFY the integrity of SORCIM SuperWare (tm), then answer the questions. It is a good idea to do this upon first receiving new software to ensure that no damage has occurred during transit. If at any time SORCIM SuperWare (tm) behaves abnormally, VERIFY the program (files ending ".COM" or ".OVL") with this function. Please note that this does not replace backup procedures. You will need a good copy to refer back to in case there are errors. Select the "R" menu option to REVISE a program. You may make authorized revisions to programs purchased from SORCIM Corporation. To do this, you must have a Hard Copy Revision sheet, which will have changes to the programs coded so that a user can type the revision with no technical knowledge and without fear of making typographical mistakes. This procedure allows SORCIM to maintain SuperWare (tm) without the inconvenience and delay of mailing diskettes. Line Number : ** The marked character is not allowable here. ** There are too few characters in this line. ** There are too many characters in this line.What is the NAME of the file for REVISION? You should have a SORCIM HARD COPY REVISION SHEET. Please type the revision carefully. There are internal checks to find possible typing mistakes, but be careful. MAINTAIN will only revise a program when all revisions have been typed correctly. -- Type the Revision Code or press Return Key to EXIT -->** This input has the wrong number of characters. ** Please re-type the Revision Code. ** This is not a valid Revision Code. Please re-type. ** This Revision Code cannot be used in . ** Please (1) be sure this revision applies to this file, and ** (2) the revision code has been typed properly. ** This revision has already been made to this . ** Do you want to input this revision a second time?Please type or press Return Key to EXIT ** Please re-type ** The internal checks indicate this line is incorrect. The revision is being processed. The revision typed is internally inconsistent. The likely cause is a coincidence of several mistakes made on one of the lines you typed. The revision must be typed correctly. Please retype the revision with the utmost care. REVISION IS COMPLETED. The copy of the program, has the revision. You should now do the following to your disks: (1) Save one copy of the program before the revision with a name ending in OLD, (SC.COM --> SC.OLD) (2) Carefully replace ALL copies of the old program with the revised copy you have just made. Do this now to prevent confusion. Please note that if you are confused about which copies of a program have a revision, run MAINTAIN under the option "VERIFY". This will show what revisions have been made. (3) After a couple of weeks, destroy the copy of the program with type OLD to prevent confusion. Your input: -- Is this correct? Press Y for Yes, N for No -->-- Press C to continue or X to EXIT --> -- Press Y for Yes, N for No, or Return Key to EXIT --> has check values placed. What is the NAME of the file for VERIFICATION? -- Type file name or press Return Key to EXIT -->MAINTAIN is now checking for possible errors ** This file cannot be found. Be sure the name was typed ** correctly and that this file is on the correct diskette. records have been read from No validation record has been found. SUGGESTED ACTION: Be sure this is a program file (suffix .COM) or overlay file (suffix .OVL) which has automatic validation (dictionaries and text files have no validation records). If so, this file is lost and you must follow the damaged file instructions. SUGGESTED ACTION FOR DAMAGED FILE: (1) Notify the person in charge of the computer. (2) Make a backup copy of the damaged file and delete the file from the regular disk. (3) VERIFY your best backup copy of the file with this program. (4) If it checks, carefully replace all copies of the program with the good copy. Be sure you have backup copies of the good program. (5) The damaged program may have produced other inconsistent files or indicate that hardware errors exist. Watch out for other errors in computer results. HOW TO AVOID DAMAGED FILES There are 3 major causes of damaged files. (1) (MOST COMMON) The diskette was worn out (old) or damaged by mishandling. All diskettes eventually wear out. Their life will be considerably longer if handled carefully. (2) The file was damaged by another program, in particular, file manipulation programs such as PIP. Although it is rare, one must always note whether some programs, particularly new ones are responsible for damage to other programs. (3) There is a hardware error in the system. In most cases, system operation simply halts. However, infrequent errors do sometimes occur and one must go to backup files and hope that the computer can be serviced. The validation record appeared at position rather than at the end of the file. It will not affect correct performance of SuperWare (tm) if the file validates. This file has ERRORS in the last (validation) record**** has ERRORS!!! **** No revisions have been made to this file.Revisions have been made to this file in the following order: has NO errors **** -- Press X to EXIT or any other key to continue --> System or data error CODE # 1) Run MAINTAIN to verify MAINTAIN.COM. 2) Copy files to new diskette. System file error - serious only if repeats. Control logic error. ** Your answer "" cannot be used, please answer again ** -- Press any key to continue -->-- Press Letter --> ** not found on Disk File " is incorrectly formed file name -- Enter name of file containing patch or Return to EXIT -->-- Enter name of file to be patched or Return to EXIT -->in Patch file complete. Enter for M for More files or X to Exit this Menu -- Press Number or Letter -->Out of memory. Program needs bytes (decimal). MAINTAIN (tm) Version 2.01 CP/M 2.2 Copyright 1982,1983 SORCIM CORP. San Jose, CA. What is the name of the MAINTAIN file to be updated? Enter file name or press Return for default name or X to exit: MAINTAIN is now updating not found. Update Complete. cannot be rewritten. Now reading size does not match internal data. Unable to add validation record at this time. Copy files to new diskette. SystpBNISA valdtn RECSRCM valdtn REC00000SRCM valdtn REC7PL2 the MAINTAIN file to be updated? nter file name or press Return for dfault name or X to exit: MAINTAIN is now updati <>., ;:=?*]['d PATRevision created from file , to be applied to file . The Revision Code is Line Number $: *2*0L4*2"0*0E!p- ͠!- s ͵ !- !- 24!- 24!- 24!- 24!- 24!. 24!. aldtn REC0SRCM valdtn RECIg$2 QlSuperWriter (tm) Copyright 1983 SORCIM S/N-000000, CPM 2.2 1.02E1 84000037405:45 32403740Z80 z0`_mtMICROBEE eSW HLP`PBPPSW COM /xb<> + !~ : -?' \|-u#    2  '<>     =T=7 %  =7 )(.2.0   RE=$%.2h R=6 E =6 RE) ( @`Aa5Bb"C$c/DdE4eFfGgHhIi6I%E4JKQ)R*Ww q1r1T6(f F1= Help gþð0Ð1 y2 êÑÑÑ:!l" Z! ~#}>PCN., BA N S\A 82/01/010/00/820:00  00/00/8200:00 0/82  A BN\ (08@HP SW.DIC YSYAB00000000Ϙ$x *Document: SuperWriter %Serial # xxxx-xxxxxx 8-1OVLCOMCOMFd:FileName.Ext. Af (Function not accomplished - due to disk error. Press any key to continue.Overlay file () was not found on either the current disk or the A: disk. Disks may be changed at this time.Enter drive name (A-P) that has file:x: IDLE, NO edit document.Wait - DISKPrinter Not READY.When Ready - Press ESC to Cancel or ANY key to continue.Returning to System from SuperWriter - . AnswerScreen. (( ANSWER Text not installed. Refer to key [?] in User Guide. )) Do you wish to quit EXECUTE file? (Y/N) p  uvPg'00 *:@2 <2 ( *7 :͎ s * A Q @*w2ê !I "!y"*"$2g7!$"2f *x *~2>2=¯ *#ͪ2: !tʊ 21!pŠ > 2!x͢ !ͪ ڠ ~2_N" *a<  wê : > w2ê 2T] 6*a!!q#p*~M :$1 !_!p͢ !ͪ O S *q گ *¯ y*^#V#N*x ͑ !I "!y"!"!!"$/ :!bͿ!_!*:z:2g>*sw:1ʲf >12 G  ɷ|g}o:!:~6!@:_:g,!546@>2:<_ ' "bT+  >25e:kÎ s 2T27aڑ{ґ êš7շ¶<2:=2::o&( e:kÎ:ȯ2:=:ȯ2:o&( Î::g*~@T$ Y>͟:<<<Gf>:>_͎͛*bz!"b:*h*j͈!_*l͏l2_g'͟Î:g¶:f¿ ÿ*^|ʿ:>*`|:.":2!"^"`:=&o( :5:~@>:#~ /:1# ~ Y:~AR[R #C>2> ͦ> ͦ{7ɷ&>á|}ɷ/02_>0]T< ==kbG:_V> x>2_02/#~+::|~@##‡~>:7.ʪ~#.ʪy! :/7x7~#.*>?~# G>  x!ھ|ʾ;ʾ=ʾ:ʾ@#*?!2/a({ wz{x7# 80a +~+ xTx~# axdzq#uO:=@I… ‚|͖}͟Ɛ'@'ɯ222x22 *&͜j":] :!ͪ <* ́ >:0>l :͏:i:Ii@# *v>1#i6ͳfvJ7+#~7 j *: =„07*:O*:=¨6*!:= ʾp!(  ͞ó! :: ͎x:O :_~G|# ]ato>g~|=]=Vp#~#Q"G aO ayO Q"p# yKztyJ͊*>*ʑù)*~ ¹:###ʰ###¢ù#ͪ2*!tzG~####xx7::<Ͱ::͓͓*PP:*y&&y7ɯ2:͑}ʏ&HO7>2:# T͓]ͅʄNʄY]>22>2:*G>~—*t yn¾y³::ʳ2óO@#~+W%zO@C@OC@GC=_z0KtABA~H~nl:gGknlU7##ͪy*:}q#p,"7Ͱ:*#"*}.N#F,¶2TO2_*w#wxYy o>g~Gx Hy7:GͰ*}.N#Fx-y;; 8o>g~Gx 8Hy7:G-+#~#OC7N:p* ͓-[:o%[GO>z2 :&y ʪʻ >  > ! 5@:G>~: * ~! 4! 6 *  * a<27*d|***"d^#V"#^#V"#N#~#2"͎t"*|`!`! ( ͛*,"|*Tʈ:t͛*͜*d|ʥ>ͦ!"d{*T́2:2:2:|o&( ͣx!* |!ͤ+ " + " "x 6f?fxxA >I !" *x2O N#^#V*y#:G͓QC͓!" * &_ ~#2~#2ͪ"##ͪ"}##ͪ"{##ͪ"##"Q1*d|>ͦ!"d::=*"5{*:́T*T:"*&"*"~( tGx*{ͤb2+ ͅ2*ͤb*}yͤg2T :G͓Ë?hh*_~#’~Ȼ’##O++##~#ʳ§^#V! ͅw# 6x2!25TeTk I ͈77< y:*( :#͎:*( ͓:~ʣ**~( ͣ( On_*"A:o::oo҃Ma"!"~!"*":¬n͎o&":¦:*( 2HG y*ͤ{Jig:G͓!"22:O!xHA=G!5~o>g67*( Ú+ *( !*":U:[͎g:*( ͷ:*j:o>gp#6͸!4:ʢO~7~+ɨ  (717*o*%.: h :==j7!~6':MJ:M:?:_2O>yZ_͂6J͂ s:JJJJJO y< YJ!!^#Vr+sJ"9 x}O|G9 & R !v !v!!q !q!KESÄ!H͢ ڶ :G::y >^>2o>g~_:W:uW{ K> 2R ^> {@Oe:k*&:s""> 1 T D͛ ::  Oh͸X  ʌ}b!b<Y:G> X͎*:,&s":s""> 1 > 1 ^!F#x~#1 h!!6>2T!G"@S͢ "@͢ #: "$"E"V"3"s"!oÿOky:R I O2 i"yBzq q !N~q ͔ Á !H͔ !K͔ !E͔ !T͔ ~xW͢ ڶ :ʵ :2W7z#½ #z2Ϳ^S͢ := :>2  2 i"#^#V~#ʽ  2 i"*%#ͯ^͢ #^#V~#0!#ͽ 5!I!:>2 2 i"i"*#ͽ #^#Vs"Ϳs"ʎ!=ʕ!=ʞ!=ʫ!=ʰ!=ʵ!=ʻ!=!=!~~#>22~2#~2#>Å">Å">2~#W~#_xG!C~#1 !!~W#~#gjs"!^~"Ϳ!"!͜!s" !mÿ !n~Ϳ01 x!_~¿*:""s" I "!Rÿ!SÿPatch1%SuperWriter Edit modes.D1.040<$$$BAK$$$BAKLOVTXRe COVER N RPATCH #7`z%:.%:]%:g&%2%2gó'>2:%G͓2g2*!M%"!R:%::/Fp%! ( *>͡2>27` >2%ʷ%>ZͦZsYʷ%7` :f%w&*f :\ :]|%Y_+ Y>ͦj|!YR%2&!YR%3!"d>2g%/&a D&:fD&:gD&ͩMq&!]\_!"l:$2!">2!"{2 ѯ2g:\@ʢ&Z>ͦ{Yś2N£&2\!U"d&?&&*d|&{T́!"d :\@ʢ&͓é&!R.͓w&T*z26%%'a a :\@b'p'!"d:j'!\ͅHS'G:9'2\xg'2\!fZ"d2]2! "db'xTaG~p# Š':f°'ͩM:]ʰ'U` n)ͭ-.XB)͉Ey. (!' y2 ҃5Ƙo>Qg^#Vx'ͭ-!TÍV͓':(͓͛0ãTV͓í-ͭ-2!RÍ>2:22Я2! 3\\s2í- I)7` n)í-:]—BR)b (@c n)í- I)6% I)U+7` :f6%x)í-T%W)>ZͦZwY1)?>)>)I)(N2f6%Z͓ͭ-(R)T͚+=*"*h^"]"]*X^"]:]x)͍82]*]"X^*]̈́Ҭ)"]"]"X^!" *|)!")!" *]* #" ͙>BK̈́ڵ))* +})##" )`i"X^*"=:G:O:]W_=**{2]=2]P/:)*{):=4*ͦ*>yY*>x yY*Y*xW* W*W* yY*z2>ڈ*š*!4È*!:ˆ*>g8:]^*>2:>2]:=o-=B*X^+/2,A/y+͚+:]^*:\^>2]!:,4),*]'B*X^+B/>y2!:]w+F:++ͩ*0++:G*:]^B+*]+~ o+o+ p++~ #6 #6"] :]^ʈ+¿+*]~ʿ+š+#Ë+ :]^³+:\^ʿ+=ʿ+<+¿+:\^+Oy*X^G+x+~ʿ++++##ywx2\^7y+/:o>^g~#,~,r+s6*]+"]* +4,*]#"]* #" >2nU͚+2=*]"]"X^!" }2nU!"=-͚+2=*]+~#~,ͮA"X^F*" =:2nUo&"+*&8͚+:G:G*]~,.-,*b^͙ͪ>*d^ͯ°,*h^"]-+,:=Ħ*:]^,:\^-r/>.-*h^"]*d^͙ͪ>*f^ͯY-K*d^ͪ~J-'B͟/B/7͚+:G:G͂--+o-!:*͂-x͆/*]-*]ͮAxY=Bͳ/"h^"]A‚-!aͿ>2͸-y.P/:]-:G*]h^-2_^:G*]h^-y=G:-*]G-}|}|͙> -:O:Gyho>^g*]F.*f^ͯy: *]*d^ͯOGͤb.!6|}͙>xp. H.P/!6!6*!͓0:G^!h^ͮ."!6!6!6ɯ2]x=½.>2]N#F#...!4:]2²./ / / / / /͓.22:͛01/:G0:]I/^#V`i͝|J/M͙>:^/:_>2_^:<<_!^s^!^:O_  P/^!^:ON),h^!j^:O_,*d^T]#:=Oy'*X^:=ho>^gͯ>/2_^02_^͛0?:0:o>^gͯyŷs0?:]=AO :o:]=80=Gx>0Gi0y*]yV#N#> N0yi0:uW,> Txʎ~i00:uWV:i0 ------:]g"*:]W|W]"~( ͛0y 0:0*uUL> :U 0>*2U2nU>2]=2_^=220:o>^g6#6:ͭ-!\SÍͭ-:]—B!SÍ:]—B{&1 51@ͅ03q66#q6w+ß<> /G: 2 0:  m1: >/G:  2 0:  2:]—B>Ҫ1yʡ1:]^ ʧ13ê1͈*>~"]<*]"]+>2]^w"]:#/:O:1yfo>^gͪ"]x2*]h^-! ~w/: E2*X^ͨ=*]ͨ=*]~*]"]+682_^82͸-E2/!: 22]d22]#*2]:]—B>ʅ2Җ2ʖ2:]^ʓ2x*>–2+q6#2͚+>:=¤2<2]~ ¼26 :]20/x* 2:]x*<2]:\^<2\^:w2]^x*0<+~ 2#:\^<2\^ͨ=:w2]^0x*08>3>?: W:]^53zG3:]^@3:\^+ y2>Cʎ30+~ g3g3g3 q3W:\^<2\^6 #xʄ36 :\^<2\^ q3r#6#6++*X^>v5v5:O͂>y2h*>x*¶3xͽ3x*h*>~aG3+~#̀4 44ý3̀4 4 444:]^ȷ x*4h*>~aG3#*> 4:=#*>14y-4<2#*>~̀4aG14+~##*>~aGE4h*:=#*!Fr4y4#e4+~r4#+~<2 ʒ4 ʒ4ʒ47?7ͭ-:]—B!SÍ>}5> }5>4>4>4>4>4>}5:@#*>c24>p24>r2:]—B03+~ 56 *&-"]=ͨ=#q66#q6:wpL5> 2:<2*&"]=:@2`22+8>2]:@h*h*>h5> 2͒5#*> }5> }5>2Ò5:]—B:  5:]—B3q65: ڼ5ʼ56ڼ5E6/h*͟^g~Z6: l6#~X670 xFw#t6w#w!\^4>Ҧ6=w*X^^6#V6*]++"]ͯ*"]!"!DT͍:6.y.>2ô6*]"2ͭ-ô6ͭ-!TÍ* +|6:=#*Ï7>2372>>~ ڙ7aG2]~ e7aG67#&7#~aG67j7j7:]e7~ e7aGe77e7#O7â7*X^*0x*""X^#~+67##67>7>~#*T] 777777#w7w#w+70Î<*X^{2\^!807:8@87*X^z8:8{(8%8X>2]58z2"h^"]-:]v8{=ʈ8DMo>^gͪͤt8ʈ8DM{o>^gͪ|s8W8`iʈ8ͮAyʈ8582]!"=:]O:]Gy2]x2]*]͖DM*]{'#"]8>»8+w"]2]*]"*]*]"J:"]"]Z=*]*X^:\^ = 9+~#f9*]̈́88f92]͚+2Z=*]*X^:\^ =99f9Z=K9]=*]*X^:\^ =f9:] ="]"]~>z9#~+ 29*]*]0ڠ9ʦ9W:Ä9 =Ä9"]"X^"]A*Z^͏=*]8:]h*2]:]_*]z2nU* " ɯ2]W:>9# :#09 :=>2].:5:=~>2]:]B:*]̈́9:]9*W:O::Oo:6# w#>2]"2<22]*]"]:]_~G#(; ;ʢ:2]å:R< c2]2;͎A(;:5;m;i;;;a;;+*p6#7;x @; â:H;Ì:R;Å; *p#27;cx ~;R<æ:y2æ:W<æ:>ʮ;>ʥ:>¦:*"Z^*]"]é:~«;*p#7;c2]y2<*p#"_~#r{G_ wyO+6:]"*"*p#"+*Z^̈́ƒ<#"Z^Ç<2]2]*X^B9ѯ2]ͥ2]*X^H9ѯ2]~<<<#^g6#6+~#=W=*]+"]+~ W=W= T=T=7=##7>"Z^q66*]|}=*]"]~}=+"]*"]&"]"]"]F6>y<2p!"]:]ʾ=*]0ҽ=>2]"]=*&8:]=2]:X^O:Y^G*]͖DM*]{'#"]B:]<2]2*X^:\^"X^:]O:]G*]͖DM*X^̈́'+"]"X^*]*]̈́:O:G*]͖#DM"]{'#"]#ws>"]:]_!y#Ҋ>~—> yO~>> # >> > >>>>¡>G:>*]0*X^V?:_y:>*X^_X?yS?+x S?S?R?R?S?:@R?+++~S?#~S?S?S?S?S?##+y~Gv?# y?n?Q y]?+͎Au?m????????Q #n?#:@n?o? v?Q͂>o?~#Q o?Oo?Q:n?o?x?:@n?xo?o?o?o?o?n? v?*X^:\^O*^^0 @:`^O"^^*]A ~#Y@_3@:F@ d@P@:P@:v_:uw R@ r#s#@y2`^6#62͎AY@@@QAfA A@@@:@U@{o>g~_G@^#:@G@U@:uw#6^# w^# R@x=„@{ @@: @@:@: :@::@ _:uw#s#U@xʄ@:„@U@{Y@BAHA ybA_AÄ@~#Y@ |A|A_OAU@:ww#:xw#ATo>g~o|g~#fo+~#+W +~ A AAAAA ¾A#B*X^ͮAy"X^B*]͙>"]*X^_x2]^y2\^w#w#w++*X^:\^"X^+~3B*X^:\^O*]͊"]_2]!"b:]*]*]ʁB*X^:\^*]̈́͝>2]!"]!XGzʨB?Tͪø-ͭ-!TÍͭ-!TÍÄQ(DBԉCB(DB>2]n)í-<>CWTzC?7Tͪ7*] "]:<#C* "* "*#*̈́'0]D€CDV VsڀCsCNʀCYDCR)͉C>2]n)>2í-:G͓ͭ-DC>2XD:C*ʜC*]͖"]0*]6**u>:<*]*]̈́C++"]R)CR)C0x)>2í->2]]D2]*]T]Dw#D+"]:D<D*]+"]D3*"]DXD:]DD͗BXD:RDR)rWO=7=*]~uDʅD#gD" >qD"qDyʢD:]¢DWi& WO>"*̈́>D*̈́>D2*DM*͖+*!*̈́E EEE E E#D E +E2:U:U͹EU͹E:N?E>WVk: 2lUoUʹE`EsU ¹EUùEUʹEU ¹EUùE2nU* U UùE:E:nUvE:lUo: BE*:mU}2mU&UUW7>WV:T>2lU22mU2nU5:NE>WVÎ{eÎ*|(  6 F!  @E _: +F<2 iF#' Z:: W#' &))))t :{HFF!( *V *]DM*]*]͖V *AV *2V ͖RV U:!aV¿F!dV_*#|2`G!"""#"*] F*#" G G G GG*#":`G<2`G -G:Gp:G*#"2`GO:O:`G-GykGFxF*#"F0kG:ڑA|G[ڑa{? ʖG'"7 !R!xR!\]͞N9WgOGe]!_P![w22|]2Y]!\]ͱO!Yw!P2[]VͬI Hj:O:GpG:G:O! :9'!W]H_JHs#JH > AHJH+JHKH{26T͞::']2(]:9'!)]HkH͉Iz2']:HH>2HHG2Hx 4 үH5 ¯H6x H:\H~O> =2H xɯ2H^#V#N ~GI:wIH2wIx@GIx III4~I6###xIx##~w>:H.I: 1I!PI==I!_Ixͤ.I>2wI7.I.I.I.I.I .I .I .I .I.I.I.I1Iѷ>]LW> ҪIz ҪITo>g~z@կ2_^"::!\]IÛek"]]_:]2]:]J"]I*]|g}o J~+J%J# x$J>J"]:]=)AJ2@2VeJ:](NhV&:9'g: zJ:#zJ& ."*]T]*]͖ͤ͝!"zʴJͻJʴJ °JÝJ6"]!\:HʽJ J JJ_:]J{ J{w#2: J{2üJ$h_͹K-K! _h!K!"2j2:_:MKMK__K͡L͘L_K{22]2]͂K: ~K:#2#>72]:ʔK!:_:ʦK!b_:ʸK!_h#*h͝"hh!K*}K|KyKZT7̀L\]!r<L @LL!\]~)L:@2V5IV:͎+  # FL:\]ZL: :!ÜY]'##_^#V!_!Y]'_ͪ_h!r_PhPg>ʹL|o>g~2o>g~i!]=OL P2]Mx7!]4!]B\;O ]PͧL>M:2 :@2 :]*M:\ 5M!\%$_\!%$͊':\2f2\:giMiM`MWM2f2]]KWM:]p\!]O]K: =>ʌM>2]22*\!]/P2]PJ#N9W>q͸ҾMʬM7M! ~M :M!k~WOͼͬNM¬M7:g=ML!]N \:g=OìM> !E>2]2f2]2]2\2\2\2]=22> 2U}N!+$%$_%>2]!\]͞N!\͞N!]͞N! u!"!0l"]"]"]"]"]"]>w+w6#  u6:g O22!S_!\_ !:u!wu!bu!u͂K:g]`4O!]ͱOLY7O=O4O2]~2\_hPW!]O~HO#~+ 79W>q͸\OJO7OyO!\]O>q͸xOgO7O!\]͞N!"h]"j]2|]2Z]2[]\]`We]P:\]GPW:7\ 6ON7?Y+ zO>.2͎+ z5:IÎO7+ s7 !a<P> P/P \OxI?P>@:]~XP]P͉I]P# HP7?WþO%$$tP\POOͽLGy:›P:]=:›P:O:2]2]2y2 x2#>ʴP>2>@ʿP>2/2\> P>2!x_P# P###P#~P#OQ>@O~ Q\yO7f f g f 8` X` b c b b b 7` :` =@d >2=+ 4e,,+ + 37#*3**h*`27 14'L-'=,+VQ^-17,"((>Q+-6+ fQ^QFQ[4+6Qv5f56Q&Q.Q(NQvQm1N11N26+ a5+ h1`1+ "('6%A'%%&aG:`M3bbZ`m`N`F`C``````J`ET`j`u`7`PO```aGFGb7`Za7`7`aHaaabIbSc)c[c7`WaVaN`GUG7`a'7`N` c`Fccv(KU#S Options: C D F G I M N R S X Z CR / LF TAB ESC ?CBD6F6QG(I(MBR>QS(V-Z(/a5 (X,(J"9NQ fQ v5+ i1NUSInsert control: A I P ESC ?Im1 m1AN1N1P11+ ;1NUSInsert Mark: F S / ^ ESC ?Fq5S{5/a5^1+ S4NUTPrint: B C H I P R U space - < > ESC ?C44R44P44B44H44-4 4U4_44<4 4>4 4I4 4D6QUNUoTDelete: B C E L S / space ESC ? B4CC7E6L7SC 7/Cm6NUTDelete Mark: S / ESC ? SC/C+ LBNUTMOVE: B ESC ?BBBBNUTCOPY: B W ESC ? BBWBa'NU*UFunction Keys: 1 2 3 4 5 6 7 8 9 0 ESC ?1'213VQ4FQ5NQ6fQ778N297070vQ43#* h* * *?hh7+7 Insert7 Auto 7Page 7Page/Insert7Page/Auto at Line: _____ "5B Col= __ J 99 Including Printing Workspace contains: $_____ Words $_____ Characters $_____ Lines $_____ Pages (_____ Free) YesNo Text is too long to Edit.Okay to DELETE 12345 lines? (Y/N)Must be editing a document to use this feature Display of must be mounted on drive d:Type name of Execute file:has non-Text characters. (Y/N)?Type name of document:Invalid drive (Must be A thru P).Cursor is INSIDE Block.Invalid document name.Need 2 block Markers: found _____Not enough workspace.ZAP discards current workspace: OK? (Y/N)Workspace Full! AnswerKey= Help.Replace:Find:with:V D A # CR ?Find Replace - Veto Y/CR=Accept N=Veto ESC=Quit - DisplayFound 12345 occurrences - Press any key to continue.Press any key to continue - Cannot find Document is marked Read-Only - Check disk.Cannot display file currently being spooled.is being spooled - cannot edit at this time. SuperCalc PRINTING SPELL FUNCTIONSxxxxx xxxxxxx cannot be executed while Spooling in progress.Y= Continue N= Quit ESC= Continue/return to Main MenuContinue current print Spooling?Active Spooling File: d:filename.extEnd of Current Spool File.You have made changes in this document.Y)es will discard them.Documents ProcessedDisk read error occurred.is being spooled - cannot delete at this time.File of this type CANNOT be displayed. Directory for drive: Enter document to ERASE:You wish to DELETE (Y/N): No such files found. No room for buffer -- unable to display directory.Enter DISK DRIVE to be reinitialized (A-P):Document not found!Cannot find document d:FileName.Ext Do you want to create a new document (Y/N)? Reading documentFile of this type CANNOT be edited.`j h i `i ? ]0l0l0l0l0l0l0l0lAAp0lPRNACDASMA86ASCCOBFORBASLIBPASPLIC H SUBSYMTEXBAKCMDCOMEXERELINTOVLCALDICPCOSPL$$$XQT SW1 2$& 16PrA͉a#Nͻabbb:G0V`>20:2!\]_ͬN`b҆`2]!]͞N` ]!_P`!_ ]P`!_ ]_!]a<`!_ ]_`!]Za2]!]͞N:`>+2b>2/l20l:$2:ga!k$s:]!]:gPa=ON!]=OPaLPa:gDa! k_s3\!\"d!M%"!\:>2*w#w$ _! 3\!\"d!I "!y"! "$*%%"]:GJ:@2nW>2j2kɯ22 $ *|Ha> }a! *&)!h^!f^ͯ!d^ͯ!b^ͯ:2]:29'!":b(b!Yb _:==Vb*j̈́b2ybl"h\b!jw#q͵b͵b͵bf!xb^#ububBKbb{DM.M͙b͙bn͛b͙bÈbm,cʫbګbBK|<&#~OO~w!0`""!_"*`"q!__ɯ2]!]͞N*~¬N7!h">2:<c2fd:f ! *6!0l>,dc c,dcSc,dcWc,dc _c _c+{c2Éc,d,dc c,dc ʞc ʰcÉc,dc cÙc,dc cÉc*͝}2!*"6#*]+wc#"+++."]#*+"!i">2!ju~9dRd#*:O*,d7~p #_Ud SuperWriter AnswerText file missing or illegible. SuperWriter not properly installed on current default disk -- A: See Installation Guide for assistance.This copy of SuperWriter requires a Z-80 cpu to run.Not enough memory to run SuperWriter. See Installation Guide for assistance.!laTf>2i}2C2K<2H2v͒j22i}2͒j>2$ҏfO!%_͒j>ҡfO!_ͣj!&w#  u :f w#ʹjfw# ff. w#ʹjw #f͒j>gO!_ͣj@!2 ͣjS,gCg2 ͣjI?g> OgAIg>OgO0g2  j>2 j> 2i:g>2&"i}2i>}2 j!"' !g_ j>ھg<2i}2ͣjEgS ͅW> hͅYͅS> hͅXͅT>2ͣj2i}2"i}22 j>N:h>Y2 j>Ih>2i:=}2i}!2&o"'jڱhxʱhXͳڿh+|¿h:hұh}2h*hG~<ʿhxw#"hrh*h~<ʿhw#ôh j>2i}2" j>o>g~Ghx@Gxw>Bi>Si  ͅBiSi2 j>o>g~G6ixGxw j>o>g~GTix@Gxw j>o>g~GrixGxw j>o>g~Gڐix Gxw j>o>g~Gڮix Gxw j>o>g~GixGxwi}2ͅ# iͅA[i7'j jͳ j| j7 ͅY!jN$j j 7  Qj0+j:+j Sj0Sj:SjhFORMSgINSERT1gJUSTC^gJUSTSgLMigLPIgLWgMPMgMTAgOFFgOPERATORfPIDhPLW#hPLhPROP/hSOLCMhSP^hTABrhTMhTOFhTRBhUNBhUNShUNiVBLNKiVBRKuiVCTRL9iVHYPHWiVRETiWRAPiXQTDELAYiSW DEFSuperWriter is a TradeMark of Sorcim. :%l>>eTd.".:zl%"%"ͬm\mn!"x!1 "~͚o!A._l%po!I "vp5mdnͩnen! Ps!%Îe> ͖mk‰m!m:͖m'MCQRʧm6#w#:w#_: |m}0.nm!"'7nm}nmn _@@@ʚ@@  @A@!0`"s! "!\"!@Z"!:%"!.V _:ʠn!n_>2!_!n_ï !":<2*w#w!~#6!~xoyn!^~/o\o* !^_n#~B%o#~W"o>2 oE"o#~X7oWa"oD"o#y==="oLo>Gͳ}[o> }2"oBWEXEDPRINT^~ʖo#!ږo,ʖoͅ }o>*}ʬo:FE¯o.!o_*.%À |€vÌ*-"":o|g:|o2:p**MD*:s#r# =p!!aͿ:>p Ep?p! Fp_ *Np_:2:jp=!_!M_!Cq_!./q_!Y?_!2D_ !?vq_!:Zq_!aTq_!]fq_*F"cq}Eq!6q  s:FDq!q6q_rq: /SuperWriter (tm) 1Version , 1-------------- 1xxxx ver 2.x - 1Serial # 3002-000000 1Copyright 1983 1SORCIM CORP. 1San Jose, CA. (DEMO)SRCM valdtn RECA 0 /n0oO:"HELP: SUPERWRITER The Superwriter Word Processor program contains an extensive help system. To invoke the Superwriter help system press function key F1 at any time whilst using Superwriter. Press any key to continue$ BV 83/11/080:00 * @ BN\ (08@HP elp system. To invoke the Superwriter help system press function key F1 at any time whilst using Superwriter. Press any key to continue$ BV 83/11/080:00 * @hBDggOO`e]PWҭ`!e]>O|`#>V|`#>L|`!]]>S|`#>W|`gí`!\]ͱOgҭ`PLҔ`Xí`!\]ͤ<»`!\]3\\>ͦ7`!\]h_*&$( Wg͈O#~+:`yO`:h!\]wae]PaW>ͦ`:\]!hg a!\]ͤ<fgFa>ͦ`!\]h_!hü[sAZaQZa@O! ya)qa%!Y%>2 >2g3&!yY%2h>2h!h͡N!th_:h!sh=a!kh=a!chh_:h2h!ha<3b:h=2ha:=o&( g: s|b 'bA bQ b@2h:2hëa:h2!h_!t͢ 2!ͪ |b:>2$!\_K!b_Ä!{h_!$\=¯ )))))))͚ !$~# x¯>s2!"\"l:fbVO!M%"!R9WgOc+]!Y])_)c c7!_e]P!\]OͱOb!Yw!"+]"']`i!.]!P!-]w:-]Kcb!ue!nc!g>I͸mc[c7O2&]:-]gO:-]@Œc)cÒc)]K&͕fIdQdy»cc)cQdc)ccedcFdUͬIͲd:==Gd*|Kd22:&]dfTzFd 1d "dAd?cc>2&]~>d0*"*":']Fd Fd*|cf͗BFd:'] cd_HQd7ɷ"y2GʃdN#I sdQdҕd6g:j=*:O_HͅO~ͅƒd# œd_HdO͸[e³d͛:O*"*":']e:(]2']_H e:(]Ͳd> 2(]> W e:(] d*r#"*+"|J͸z Ge @e:(] Ge:d͛d:']2(]2'] : pe:(]_H2(]2']ɯ2&]!-]~@‰e)cÏe)]K&͕ffUͬI:Gf*|f22:&]efTzf f eAe?¾eþe>2&]~>e0*"*":']f*|™ef͗Bf:O*"*":']":]O:]G*]͖.%f%f"<>7>2]P/*]*u>CR= Accept, A= All, Space= Skip, ESC= QuitNo active INCLUDE document.Specify Section Key: - Not Found.Rename (old file):as (new file):Document already exists.SW Overlay file cannot be renamed!Cannot rename document currently being spooled.Documents must both be on the same drive.SuperCalc was not found on either the current disk or the A: disk. Disks may be changed at this time.SC SC2 SC3 SW @hCwc!ja"!*Rja>2!ja"!?R>ͧL:ab>ͽLØ`>ͧL:]O:ƒ`:ab>ͽLØ`:#Ø`:# G:#G0>2]JaèPÿ` ÿ`@ÿ`:20::2!@ax`!6ay{2 a! a,a_' a:!( x6RED=Help BLUE=Keypad Shift: Numeric Arrows *]*]~ Za> w#̈́Qa^/>2]:va2!"|( bd:ʹFGd:ʹFzd:ͶF0d: ͶFdd:@ͶFd:ͶFc:d*]&d:d::]O!'f_{:͛*"e͛͛͛͛*e( c2:#!c)b!cd_d>M͸Db3b!F#ͳ}bz}b>}b{}b2]2]20>2]Ja>2]wcd!dOeT!d_!>w*e,( ͎>2cy0b:b÷b!\cͤ:]=2]:<3c2_!qA:Ocy=ʷbO ÷b!j ~b!+e A.I H :]==3c:·b÷b!:_60wcM͓:]<2]!d_Jc 3c c cbEc?Ec bb:]O !+ej_6>#w#w2_^c2j!j~ccO{cÓ#ćÎProgramText Mode: _______ (Word-Wrap: ___'Visible Line Breaks: ___ "Visible Returns: ___$Visible Print Controls: ___ #Visible Blanks: ___&Visible Soft Hyphens: ___ Line Width: ___4Tab Columns: Type Line Width Line width must be between 0 and 999SPACE= clear, TAB= set, CR, ESC, ->, ?----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----.----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----.----+----1----+----2----+----3----+----4----+----5123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789.*"]!"!h͍:ʴf.y.>2Øf*]"2ͭ-Øf2]>+#~gfaGf2]g#fff:]fKg͟gf>+#~ggg-g Kg-g2]>~aG1g2]ͭg# gEgEg:]-gKg͟g-gé3>+#~gRgͭgRglg#RggڜgRg>+#~gyggyg“g#yggڜgygÈ*͈*#~+##Ag[g w0~77?ag{g w0~77? g ggg7?7Ghhhx#7jfQUNU.hNormalize: U L A C cr ESC ?UfLgCfAug NghD2!`"!R2!WR:#@2#:/2/2\0:#2#0: <`2 0:>ʏ`20: iF!&#"|( Qa:#@ͶF>a:#ͶF: !``!a=`!a&a_!aET!|4͎~#`! }S/WriterExternalSystem Output Format: ________ Save History: ___ Tab Insertion: ___ 2g JO\]!ͤ<ʄa!\]g;OQ\]!ʹ$!\]\_>2]2]2gìa:]¬a#N>ɯ2ga͟c#N2g> \!z2]ͼcgWb:]@Wb2g*]eJ bob*g"]ڜb:]*c2]ڄb2Y]:#„bb\]!͜o>2ط,7:=2*g"]2\\!ʹ$!k\_O?bb:g!`"!bw͓:%7`WaVaN`:]2: ==c!g_! \]&%cg7:g:Bc($! ]͊']!ʹyc ]!($͊' !\]_!%$ ]_]!($c\!%$!_ _!ü:g:g!\]_7!R*]"!"!\R]_ͩd$!\k_!\hL!R]\_!":O:GPY*]͖DM*]"]"]x#da"]>2g*]"*]+":\2\],dJO]D>2g2g2g\] \]!a<ʃd!\]g;OQ\]!ʹ\]!zg2gédtg*~ ddd:gd:g=2gd#d*#0d:R]O:S]G*~#"We ڔe 5e:V]5e:g_O:#@{fKeyVeze*~#" G:g_sfez f f!ee!ezͤ f f f f f#fXfaff f#f #f :f :f-f(fVe> WVee> f>f*~#"@fzQyO͂>yGZ sf:#€f{ff fÅe*~#"p f> f:#ʵfx=ʵf: ʚf͖ʓfõf> fKgf ͙ʹfڳfxfK fPYB fÚfz2U]y2R]x2S]y2gf:g:g=2g=!S]~!g=g:#g>Bg~ Bg6!g> Bg5g!U]~Bg~6 @g: +> BgW*W]:Y]r!Y]~JeT.XT͔`ڌb2]D a!``>QeT%XT͔`ڌb2]2]4X#"^>͔`ڌb2]V a¡`!^:]ç`*^:]`>22!g͑`G``y`_6y67wͭ-*"~*^> þ`~aͷ#`Gx ɯ2]x ´ay2]:X!g:W>2͑Gz2xŒbʌbʋa~?ʄa! ʤa0xa:ژaAxaͅDʫaAʫaVʫaIʫa+ *( a:G͓ͭ-*"~*^Aͳ>D2]ña2]ña2]!"]*]"]*]|(b3b9c*"(b*]#"]Wbee(bY`f `fN*]*^b:]2]*^"^d"^"]f:]B9*"Wbúa*]|3bc*]X :]LbTXs>2nU*]8:]Aib*]+|=ɷrb:]*]8*"&"]=.y.í-f!gÍͭ-Ïbb bbpb{b b@ͅW"^>2^2]x2]cf:]2]c2]f:]+2!"]!"] aTXT!^:]SAz7>Mc͈**]~9c:]Uc=B*]{?~mccwcB>2]f2]:]O^)dc ʾcd~ccʮcc#~ ccÉc~ cccc#~ c#c+d2]~#c##Éc:]=d+~#ccc# ‰c"^x2]͂d7:]Ipd:]cdcdxPdsdcd>2]cd=cd:]=sdcd>2]~ͅGͅ~Aڀd[Ҁd7ɷ:]I:]GOͱd:]==ʡdA*^+#~ͅw¦d*^+#~Ad[d wµd*]+"]=B*^:]G:]dOd:]—ByAed e:]O*^_"^*]̈́y:e+T]*]͖#DMT#"]#"]*]͎DM͖#DM"]aXB:]!NXre!GX:]AʺeʺeUXVʎeIʎeX_*]+|©e{TT*( :]De>YzYN ee>~>~>Y"^22qg+2Tf*]"]!"]"]#"]*""~&"]"]*^,B),*]?<2w:]nf0Äf:]V~fI~fÄf!"]>~#!Ҍfxf*]( yͅG!gBҶfyx^1yͅO>*g*]( *^:]f*]( !^:]G~#GO fyͅG!hBg!5hywf!%hxB7gy>!5hw#yw+f!+hxB1!5h>w#yw#6 ++f*]( 1ͭ-*"]>2!qgÍQ]gNU{g12f4f5fTg:bNUgFind Next Mark: F P S / ^ ESC ?/bFbPbSb^b+ fg`$f/f  gf(  1SF B BH  - U_< > I PppCccRrreF!C`"!Rͺc*,>͜E!( d:ͺc:fʱ`0d>22>nҍ`t`ʜ`%Obͺc"a!_b!S_VOj`:fͺcd>22>n``Aͳ`|`}20Res`:f a4a!w_b4a!_b!w_:4ad!_!ddT*$$"|d:*|"}e( )bnaka Ma'bw#)b҄aka ka+Maw͡bґa+7a#6/#*|$$$"}e( )bҹa'b 'bÕaw#)ba'b 'b+Õawba++++Õa#6/#*||g"}e( )bb'b 'baw#)bb'b 'b+aw2d07:>b*}e( y\b \b0\b:\b?7!d:dʜb2d>w#w#6/#w#w#6/#>w#w_og10̈́ڻb31̈́һbe>ͦ7+ͪ}lg10̈́b23̈́b3e>ͦ7ybH_xc6 # b6:f0d>22>N%c cO:f5cbbb!b_e>22>N_cFcO:foc:bb!:_e>22>N™cʀcO:fʩcbb!_!"|"-d!:d8d!dCd!%dNd!bd͛͛*&6,"|d*&yd!ddYd!Sdid!wE::!|4ÎComment : Doc num : Author : Operator: Creation date: Last mod date: Revision # ___ Create Initial Document History:Enter Author's name:Type Operator's name:Enter date: mm/dd/yy00/00/00Enter Revision Number:Month must be between 01 and 12.Day must be between 01 and 31.Revision number must be between 0 and 255.Enter Comment:Enter Document Number:RbG:]a`>2]!M%"!fRa`:\@͈`2\!b:\`!\WZ!@Z‚`! "d æ:\?2\!6!]6!>b"d9WgO`!\0!\]aa!e]8!\]a)!W]\_!'"!:fa!]\ 6aa$a!\w> 2> 2\a`>2]O!h"\\!POa!\6yFa7+ !\aapa?paNfa7y>!dw#wP͓!@Z>ͦFaSPL:\@.bwbw  may not be correctly formatted for spooling - Continue? (Y/N) is currently being edited - cannot spool at this time.No Active Spooling File.Printer in use.Spooling TerminatedhH_[zcF`o`)a*]6#"] !\]\h_\hXa< \y`:!\hO7`=da`:\hw"YhͱOڙ`ZO` Py`!4``x[*Yh;O`Q*Yh!`iʹ`:/ x]``\h!c`^a*]4*Yh ua*]~<'aO#*Yh 8 y'a a7*]*]Aa!0Ia[O! "]"]"]!ä!ì!&~*]a"]:]2]b!R:]2]b:]/óa:]!]w>02g!"]"])a!6:2\h !]h ?u:8b:]8b9WzcbsÃaͺb$!\]\h_$!\]k_:\h!6a$!k\h_!6>?2hh:mb: >Rb:2[h ::\h2OJ2\hXa2<[ʧbc \h^a2<}b:(bd:O:\hg>2gfsÛb!\]=Ob~b:bwb:w2b ?#u2b:]!aVb!dVMg_!5g"d:daWc:[hcWc#~+WcWc! :]/:CcCc*]#"]WcXcWc ua:]xc P:]xc7ɷɯ2gOʙc:/!_e]PW7*]4d"dLd!g_!h_! h_!h_!4h_!Jh_g̈́dg̈́d> 2h ḧ́d͎͛ḧ́d3ḧ́d> 2RhIḧ́d%d͎>*g"|h]L$h_h!r<7ùK !gu!4hu!hu! hu!Jhu!hu*g( :DM ~®dx™d}™d G~dd d#ôdT]d ßd>2*]"]6*]0d[:weg2gf*|"g͓ewe .fwe{e:]2e͛c*]6**||gPeUeUe:g,g}fe2g"|( e.fwepzeej*]gͱe`i >k -Pf `f~>*e>.2*]#:!"]*] :]e*]*]=e"]*] ~eO:]O:]f=_yO{e*]*]"]:]'f*]6.føe`i>JDM*] "]*]DM:]Ff*]*]͒d"]~*] Afx`fG~\f x*] ":E[::\h@OI g*[h&'g:!"|EQg::]fcg:>E*|g( :g<2gg:͞g:͞:]g:<gg:yO:fx2g͞"|g:g͞*"|*]*]͝\g *]gShow Document History = Free space xxxxxk&(Only EDITable files shown)Page Total files: xxx$User:  len Filename ---- ------------ xxxxxk Filename.ext  2 @  # @ SRCM valdtn RECBd*4(gShow Document History = Free space xxxxxk&(Only EDITable files shown)Page Total files: xxx$User:  len Filename ---- ------------ xxxxxk Filename.ext  2 @  # @ 20-SuperWriter (tm) Copyright 1983 SORCIM 1.02 84/01/04 16:09SW2OVLв,IBM Graphics L tU-USU]'&÷&À&Ð&Æ&A'S'G'M'g'h'o'~'   6500xx0 > ]@]O 9<>x0 5   6500xx0 %m$)%O:<%×&#%O:;%ҫ&GHͫ&yOx×&:r&ķ&m$%m$y2r&:%Gg$:e$H%m$%m$y2p&: %Gg$>2p&|R:䜧:y#'1'9'PMP> '2q&2m$> '('>'('%m$/%m$5%m$Z'g$͹+$m$:Gg$O:Gg$ t':Gg$                   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               K"=z?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ C@ -.,.,.͹+:¡@+: ,::+,,!$!$+SL,+:–,$m$+L,+:œ,$m$++SL,+:¢,c,$m$++L,+:¨,c,$m$+~b,:Ob,y27:e$H:&y$*Ѱ |ʎ,eT+|,"Ѱ!Yë,!_ë,!{ë,!͚7me5R-ͼS2]5X^!+"U-0!<"!" !۞":-0:¢-ͷ8ʊ-\-k583a47dHddͯd ecd 0*+#"+-2%e2*+|9-222>Jͦk59-:/.a^:/@.]*+|<.+"+|*++"+:-:2>22+2!$~2:H[.!$~2:E[.>22j-Gl.xl.>m.w0!9"0o.:/2/!4j-:->2>Л͈ͦ.U-Gy.x .Ð.!P"J!~O#{a. !Y_!~ .!L_ [:@/:222װcj-k5U-!_>,͈ͦ//GyG/x l//!~O#{a/!L6/ !Y_ :Gƒ/:OG2Z:/ !u!> k5)!M_!"!/6}5W@̈́@?^#a2>Jͦk5/!_x/2>0͘0:f0:K?ͥF+0 090;;D<͍0: I0: 0:U0>28# K2cʽ1r1> 22ѡ21"li121Bli1:ѡ> ȯ2ѡ2i1K2@:F2:2:+2>2:+2+0*"!"**:@2l8*"""*"2w2d2*+_*+_R2p2p2d2*}_:+*+ʅ2*}*+^#V ~:>!ͪ~go"!ۡʴ2###ê2#~go"2!ۡ2###2##~͑3:2ͷ5;oo6:<2=2$:<2=2$>22<2?^^:+3<@2+GAW@3!"+"+!"+2а2+:Q3:Q3:W3!"+>22!"+:v3>* w*w6!vۡ_!"ΰ"̰*û-:+ȯ2w&2y&2x&2z&2{&2|&2s&2t&2u&2v&2}&:2q&!"Ѱ2а:::ͷ8:2:+3p$:+)6 4:e$S4p$̀H2:ͷ8U:p&Os$:r&Ov$::*=!"+t>!Ny#qcNye#qckÎve:װt4>Γæ>æ~ͅAڊ4[ڝ40ڔ49ڝ4Ӊy\{a*s"*:4:e$H4}4+s"*s*͝"*ӡs"ӡ*աs"ա:*?%&b}2"ͮ5*&,( ͎×5:g}~5:%5222222222װ2!6>2:2e5*"!"6*u{*TÁ*|“5!V:ʓ5!є"d* :G}ک5!( *" :+5:+)6:+5*]?u*ڰkr*ܰͫr*ް|5*#ls*+s*]Ͷs*r*}Pn*"հ}2*"Ӱ: @6 F6L6> 2&&&0͊c::6dc%dHdd͚ddd2 2ff::+S:/ʳ6*+*)̈́³6:+::::>H͎ͦ>͎ͦ6a4k5>2!"+2:{ȯ2{22>V͎ͦ>͎ͦk5>7:'7ߑwNK7k5Y>7:>c72i722>2!"+*+#"+7d:—7*+|ʗ7:~&(432:ʬ73:7Ov$:¾7> ͦ5]͢8::f7>7>2g!":f8*|7#!R_8!V_!"d>12 >2͛7f ::<“8>ͦ>RͦͅNZ8Yg8ʜ8:8O!"Ü8Y:8O>ͦy™8ͮ5*&( ͎͗5>2Uk59-::2:װ8>2<:*+|=!"+*:8|"6*"8!9:GBx@MBx ¾BxBZB 9ͩ9f:#9f:E`;5Bz9:B9͉M:f9́I:M9͹+:8[9:̀H: 9̈́@!:GpH!6;f9:ce>2* |!" ͮ5>ͦ×5:: ::O!y:!G 9~9 9#~9_9-M5I!:Ҭ:ßN:š::ġ::¡2¡::¡@2¡:::¡2¡N!F#O::22ġ:;;:";:"O|$:"*+"+*ס*ӡ͝*͡͝:<:(*١͝ ;*͝*ӡ͝:!b#*ȡ:p;*ա*ס*c*͡Dc:<˜;:(ʘ;*١*c|;:_*ա*c|_"ʡ**ơ͝ ;"ơ: :cr*̈́;=ɯ:<<*+*ΰ} <!"ΰ<*̰}<*̈́دɯ=7*+:<:<: : *̈́د: T<: <*+|ʜ<*~r<:u]:+>:$>>:?%O͊5B>>|:>:>y|$>{|$"+:"b}d>=aS:"*+"+K>{s>*+"+::2+:ʔ>*+*հ̈́*&,( *:G:>*-&( ͎2( {*ӡ:!b}G:=>G:+O>́*&",( :'T*"+*͝"*:+2+m?:+??:+2+*"* m?:+2+*}s2* ~d?:!" *+|&?"K@2!w#wGAW@͘0:ʗ?ͥF;ƒ?:ʣ?>2:³?*|@*|?+"ͯd8:ƒ?@:<2:+?:¿? @*|@ÿ?:? @<@ͮ5>ͦ:+>H!@*-@**͝>F2:nc×5!daæ+!da2222!""""¡"6"8)!M_>2.<2̡222/22!"ȡ"'"%"):¾@"}22*&)a**8|@͝":8BͨA">2!դ~ec*ϡ*:!b͛A{w*ϡ"͡|!A:28:ġG:š4A2š8A2š2ġ: ͛A6:2͹+2222¡2á2ġ2š=228!"͡"ϡ"A!~ȯw!2 2 "! uw2ʤA#####:O! A AóAAAAQ=A>2ذ2ٰ22:ٰ͜Q=AA:ٰO:ذ*DMx!6 !~"B +B 6#6+##B0B!6y2:/@*+*)̈́JBBͷ;b"ȡB:zB:ͩ9:OͯA": ͷ;|"'ʹE2,\C{2+G*':ʭB: bxb}C{DB**ơ̈́BBBͷ;"ȡ0H!5y*͊"!5B: *"0*"20Hz=Cx--͵G**ơ̈́ECxF*6y"6z ECB: C*0"*2":GͬC*%~yCyC ƒC"%##jCx2/~ʥCҥC#~+ʥCW:CʥC##ÇC!"%:<*١|C:!b##~C"%##C_:C{ͲD]:+G*%++D#:<~ Dw+CɓD2-*jD*lD*nD"lD"jD"nD,DG>2.x*%++CDDʱD<2.!%* &=ûD:,O##~DD#~+DW:DD͝|D>2!͝*'"#"'ʹE2,O*%̓C{*E:,ʹE E6E{͖B9E~E>@E2C*':ʗE: bx2+b}C{2-G:+,DG!:E:EyE:+E:+E>ɯ!դ~ȯ2:28!"%x̓FnF:G~2*!͵D"#ͪ|yF"*%͝}mFO:o:KF<2*&y͊}2*%ͯA*AD*E!"2nFuÕ!դʑF###=ŠF~G!~$G*"!4#͗G:SG!$~6?H2$28G:+xzG:tG>2:<2>2:‘G>2:<2>2:2: G:GxƐo>'g~G!!6GG/G>G_:${G!O> H##Ny+~# H++̈́'H,H:!ONG*&) F#N+!:G~6QH,,:`H:+eH:$xlH2а:а͋$2а:22AO!N#:HG>~HFH:<2H:=2## H"I:II͜Q=IIQ<I:2*Ix2!pH::8:*|ͨA*ʡ*Ѱ|̈́jIoI7qI͝DM)̈́د:@M:2:ŸI:+I5ILN'MN!F#F#N#++ͅP°I:2A2{::e$HJN!F#F#N#++ͅPI:2:e$H{::ġ2J:2J:{&2z&2|&ͰJ!F#J:y&G:x&2{&L:}&KJHJ+++KJ###:z&\JM2}&I>2J+++MOK!M̀H:J2:J2ġ;L!M̀H:J2ġ:J2K>2}&:J2ġ:J22Jɯ2y&2x&:|&J>2y&>2x&~JK9K EK##J:x&J6:y&K2y&<2x&:z&2z&:y&K6:x&+K2x&<2y&:z&2z&:&CK62y&2x&:z&ͰJ2w&:x&fK2w&N!F#F#N#++x”K:y&ʊK2y&þK<2x&2w&þK±K:x&ʪK2x&2w&þK<2y&þK:w&»KLͅPnK:z&ͰJ2w&:y&K2w&N!F#F#N#++x L:y&L2y&2w&4L<2x&4L'L:x&L2x&4L<2y&2w&4L:w&1LLͅPKͰJ>2w&:y&W:x&RL2w&N!F#F#N#++x…L:y&{L2y&>2w&õL2w&<2x&õL¨L:x&ʝL2x&>2w&õL<2y&2w&õL:w&²LLͅPZL̀H:ġ2J:2J:J2{:xL *EL:"!LLy:"*+"+| M>|$>|$% M}|$:2GA!/MQQ::+: 2: 2!w iM #q#=^M:OͯA""6*"8::+M:2: o&: o&DM*!w#M#M M~_> Mw##M:=2µM"}2 y2 *|N*ʡ"}2 2 EN* &*ʡ͝*": }2 : }2 !"ʡdO:\N>2ͩH:O rN͈N iN+FO:!OxtPͅP{:+F+NGxtP#ͅPdO:¡:ʶN:¡2¡:G+~# NN++NN+F+xN4PON2¡:N::aS*|*ʡ:O|ʹO8O͹+*Ѱ̈́܀H͜H*Ѱ͝ :!O:=%FOO|ʦ+y͊ZOyM!eTFO:O!y#::!ʇO~++OGx͊|O͜H͹+8O͎HzO!͝8O:o&s͝F#N#x4P 4Py4P:¡W@PzPPx0P:PAP[PaP{P 4P_:4P:+4PQ_yOzWͅPPxnPMP nP:¡2¡:qP:¡O@hPyhP_jP :!OͅPx x„PxP SyʼP!~ʼP:WʼP:$z¼PeT =®P:=%PASeTĦ+!¡~@~w:=%WOASeTĦ+x_P yOüPQ:J Q6!:GFH5QxG!¡~@w!ġ4@++MQ͜Q::9G2öTeQQ:::2GöTQA:JtQ6:-U!tUxʋRʱRRSS:¬Q:+6R:"*-Q|QQ=Q=Q<*+͊"+!ذ4O:y$:Q:+OR:"*-R|RR=R=R<*+"+O!ٰ4:y|$|R:s&:t&rR<2s&$m$|R:t&:s&hR<2t&$m$2s&$m$2t&$m$:e$HʇR::$:u&ʧR2u&$m$<2u&$m$:¾R:$:R: 2GͶT:v&R2v&:$m$<2v&:*V$m$:+&:+&:+&:+:u&ĝR:v&R|R:s&hR:t&rRx ]S:¡G@]Sx]S͹+*|¸S:+Ğ!+6͹+̀9'T:"*+b# zʑS+x2+XyʫSڥS#ëSf.0ïS^#V"+Sæ+( ::*&:͡>2>єͦ>ͦ22>2:͎{!+5>#N!+4= T2́4* 5>͎ͦKT!( ɯ222<22!"+2:˜Tx ȧ:p&s$:ʒTxo>(g~G-UVx ¶T:!ҶTͶT!!yOáT:U2!+~ȧTS4:===T6'T!UUy2p&:UHUU2ʹUͮ5'7×5:{ā{,́45B:§U:+PU:+2+ͅ$tUkUoU-U=\UGtUSU:OʡU:§UX:–U>2ڡUUtUyp]ʹU07k5a4nUU7ͮ5\U>Γͦk5͗5>22k5>iͦ!i"d22:p&G*Ѱ:аxVV͊"Ѱ%A%D :)V<2)V!oV> ~DVVGV"Vm$GtU:(VG#~GtU#YV<8V@``$b#A"D"A 0BH"P8D@  (( @(@ @ @ 8BA!@bF@`PH AIM2b AA!0HHH0@! 0FAA1@  @(D(@* $@@ @8BHD@ `FHH18DAA!`F@ `CAA` 8DAI ``@aG0@@ `"@`F@@` b``0LAA ` 8BQ!P`(A FII1a0L@@0  `#`@!$@d@ QIE`F@ 0@@@`@@@@@@ PPP$X`GD$0@@@0@@`0H@@d RQ1 `d@dD@@4` H@`Fd`dd`0H@$`  q `@@@ 0LD0L@@0L| p 0 `@$ HB$@dTL XA@ @A0 5[:ͦ!Z !_!L6>2!\Y_*[!1~!Ҕ[\:!T±[>2*!0͍\[2/0!*a<>2/!0ͩ\ʆ[Dž!+a<\ͮ5*&( e!M:k͎9\ͅN:\Y[!+ʹ!+z2+muae\`\22ce:\Nh:\]]G!~x]N#!P"J{a:\ !Y_[a<ʦ\́`>>>pͦ#~!\*&( ++ua\\22ce\Nh\ ]\!~\O#{a\kk !Y_k5:/]'72]07:@_]:@T]0:/@T]:!Ǘ]!6!+Ü*p#6}́]"!+Ē]!+b]!ʪ]!ʪ]!#"d"]>2+!+ʹ2ͮ5>ͦ͗5!6:2ͮ507͗5]:/!")!.6!+*s#r!0 _͆[a^:ȯ2!+_!_!̯ aFs!">2!6!)"Ô`:@_]!6:&G^:/@y l^*$*"͝Ͷ^d*+*)#")̈́dҨ^f^*+̈́>2/|+͎_:/@ö^:^i&)V#^2*'͚7:/@z!N#$!+_^ ^ _"_!+_^G!~7^4#j_w^͎_G:/@!~7]_4#j_b_w:_>2/qx҂_ G͢2ʋ_> *+}̝_~#"+0!*!*µ_~ʵ_0T]>2/^#V##e`6`^#V##e`4 _ )` `"`G:_>_> 6`xo`6`"`6`os"ϡ_N͖ 6`5 6`6:+\`++r+s{Z`{_w#####́`++r+sZ`#~w>x̓Fr`wx2:ʔ`ѧ>:`*#"*̈́ں` a)_+"̮!)`>2)*|+"*" a!)_*#"+"Ԯ!* a>2*].&)*|͝!$_#*ɯ͝"ɯ!sa*}sa|sa! _!7>q͸yʐa~ͅw# ‚a!ZT]  u!"W"e"g2y>aBba:2YyaUbya~.hbyb:YG:b!Zbb!bbb{b>ͦ=~ 0b*?b??b:?b.?b# bx?b> #7bɯ=F#~+: ##x@2YZ~.# Zb#b ~# pb*J|†b!L—b# Šb###ʨb#~†b#ʲb>@O~ʾbb1y7!"JɧG|bx͊bbx+xbbx͊ɯ|g}o| czc̈́Oxycɕx&c͝zEc|9cͭc|VcBͭcͭͭí!դ7sXͫcyN#=vcOͮ5!K"`×5ͫc N#ÝcyPڴcP*|G:cO!:áce!( ͎::ce!( >}e!ce!( ͎ce!( :!U$qc!( |:͎Bd! ( >}e*+ncce!( :>}e*+nc:ͮ5>Ҝͦ*+nc×5ce!&( :>}e*)ncce!(( :>ce!.( >}e*+:"b#ncce!7( :dce!G( >}e*+ncÎce!7( :ece!G( *+|2 >r2!yj"#ͳeU-!8k(>s2"#Üe""|Cgi:*">2!"~!|k͑ʐfy_fA:f~ͅ2S@fC@fN@fY@fyfT]?xyf*̈́yf*̈́yf":@f*^#V*}|>2!_f*ͱf* ~+ʐf"!|4úe>uͦ+ ͱf*( eͱf:ķ5)!M_2 >2U-:f*!*s#r2Cg>gf:+f!"dk+gf!fCg!|4* ~+"f!yj"!"|!( ͎!( j:Î!8k"!("|!(( j:*|( *^#V#:~#2N#F#N#F#^#V"""#^#V"*^#V"!:ұg:OI ,I :OI h>NI h*h güg:-I *hh:h:gV#^#z2 úe>2*|!۞*"ڰ*"ܰ*"**":2:e$> 2Hʕh:2*":2:2*s*ްs*@%̈́>ͦ>2Áf*ܰ*ܰ*ڰ̈́>ͦh:+i:+i:YʲlÔl:Nͮ5>ͦ>N2:+5i>ͦ:2:+:e$H&i: :2>9ͦ>2Áfe52<2ɯ2*}SʒiCʒi:+o"2yfPn>2ͱf* ͝*#+̈́i"*|-"|úeÐf**̈́ii>Tͦ>2ͱfÁf226) is -> N/AFormat Settings:Page Size (Left Margin (Line Width (Spacing (Top Margin (Bottom Margin ($jc䰩h5jްhFjAⰨhjcڰhWjAhhjAܰhControl Settings:Copies (Forms (Proportional (Pitch (Begin Page # (End Page # (jfijCSri'kikijYNhk i  h%  i1!k$k:+k͚7:ʗkɯ2m̈́Ú7*F!~wOx#_G~O7"# llykͪͅ#  ln>Jln>@Mln>@Jln> Jln>Jln>Ml22n>Jln!6 6 :=%66{:+l:+l!N#Tnaʲl:ll22:62 2!2+2l:o&2: 262 2 ͵G2!_͵G2+2ln:+2+:l<2*)|l:+2+ɯ2:+2+:/@"m*)|"ma^*++|>ÔF͚s*̈́G"̰͚s*̈́G"ΰn> jmn> 2ÔFn:$Â${:!N#Tna:ʘmÚm2{:!N#Tnaʿm:2:mm|4 !Y_[:@:2{!N#Tna!66{:+n:+n2!N#Tna!6:$!6{!~ͅCPnSk2+y҉n~ͅO‰n #~ͅNsn ÉnF‰n#~ͅF‰n ‰n 7n*+̈́!+~4:!*>%&b}2>%*@%b"@%*աb"ա*ӡb"ӡ*סb"ס*١b"١:"*?%&b}2?%*b"*b"*b"*͡b"͡*͡b"ϡ:$>;o222:ܡ2ܡ>2=%2;%2<%2p&2r&2!2 2"2+:e$A!to!U$_)!M_*+| d* "0:o* óo*"0:o*"2"4on* >w*" w:ȯ2n*>w* "w:o>2ͭz*2w#"2*0+"0 @pp*262_*4~]p#~]p*2"4#!&>kґp!>>kґp!2>kґp!D>kSp*4"2*+_ʰp !~wqG#Tnpq~ͅHp:p!*̈́o>2* "(qF™q:q!* ̈́o!" >w>2*"ʂq#~ͅCLq!q_>2aqR¨q!q_>2ʒq#HZxʸq"+>2* "!q_>2!"+ͮ5>,ͦqͮ5>\ͦqͮ5>ͦ*:q"q" 2×5 RFPage %p CTR- %p -!~r DrN#~ͅT;r -#~ͅO- -#-GDrZ{K 2͝pHr ͢2ÔF͚s*چors**͝*̈́_"͝"͚s**͝چïrs**̈́͝G*͝"͚:r:e$Hr}r+s*چ s:s:e$Hs}s+s*̈́G"͚s*աچ/ss*ӡ*@%̈́G"ա"p:&ols͚s*ӡچ:!b"ss"s*ա*@%̈́G*ס|s̈́_*١c_"ӡ"n͚:Gxe{22x2!N#ZxAz_"+:"s:!O&T] s{!N# ~'t""tGyڊ #V#xŠB#x2ZxA+}o`:2>2s*ӡ̈́ ;͝͝|*̈́:G͵GO*͝y͊|t‹t:2xF|xt:2yM F͚z_x+st*̈́G"+:+:+M*+̈́G͝"+:|u>͊>$t}$:u͢>2͢|$u#"+͉_:e$HS:+hu:>%Go&{b}2!2 26:bu2 *ls{ {u ʎuʕuY> 2q&:ʜuyF> u>u:yO&͉:+kxu:u2 {2x2: cu:6o:>%G}2!2 :+v:+v͚x{2/<2Có}hv͚>(G{2+{hv!N#Zx!̈́G" {hv!N#Zx!̈́G"*a|͕{vnce)w5B|2{}*4,( {:́͛{,:́*+&Bw* Bw*Bw*Xqc͛{7:́͛{?:́*+&Bw* 2w*2w**͝Xqc͛>2{*,"{4/wó}DB>T]+#7w͝BwX *z͉_:?%Go&{b}2"͉:+kxww:"co:?%G}2"͚s|w!cw*١|wöwͭ͝zw*ӡ+̈́G`i"ס*١|wPY*ա̈́wͭwͭPY*ա̈́w`i͝w͚s|Gx!cKx*ס|,x6xͭ͝zBx*ӡ̈́`iG"١*ס|jx*աPŸ́GxͭGxͭPY*ա̈́Gx`i͝dxnceڡx5Bc2{çxxͳ}2CLSDVDFn:xxó}5B:{x*{,, 5x( y4!#qc2{}x*"{4z:+_{ʲyyyn5B:/:=yxó}:{ʂy*{,, 5~y( :/Gjyx@myTz!y!#qc2{}Dy*"{4z!^##ʲyV##zyÞy!^*:W}yz͡&=,yy"{( ɯ2{.yj&N# *zn&X*zN7#*zz>2{*,&"{}qcx:Dz{ó}5B|{}!~^zzO#~'kz"qz͏zͅN™zy™z#~+ͅL™z͎͞*"{Dz~=z:z$zͅAڶz[z>2{Z2{xAXzӉxy\*{( qc*"{:Dz*,&"{2{24SHOW DATASHOW {!N#~:R{$R{'ʓ{"ʓ{ͅAڅ{[҅{Ӊyé{Ӊxy\é{>:h{>${q{!N#Ӊy\é{ZxXé{͏é{{!N#܇X w2###4 ´{ ~#͔Fü{{5B|!N#Ӊxy||~=|#~'{"|͏ͮ55qc&|ͮ5>ͦ!N#qc:͈5||I|!~I|O#$k5×5{!N#Ӊ~y|~=3# |"x2P#ʩ|&ʩ|~'ʌ|"’|͏á|Ӊxxy\*$Zx|g!v" >ͦ:P&|Xá|zG>7GK*j&qɯ2:}ͮ5>=}ͦA4͗5|5B|ͮ5C}}A4*,&"{*4|2×5NOTE:NOTES: 5B|ͮ5>ͦ*&( !L4ʙ}:ʀ}Ë}>Γ͎ͦ͗5:|||:ʪ}!í}!>w2ͮ5>ͦ:!N#qc͎͗5!w:{*{~>2{c!( e:k!( *"{ 5~!"{( !6!ۡ~ȸ*~6y<3~##O ~S~ޡS~S~S~!~c~6~G~p!~€~!6N#~ͅBʓ~SŸ~{22 #G~x2!~½~!ۡ6O#~0~:~022ܡ2 #G~x2ۡ!~~2ҡ~~N#~'" ÊG>Š#~#OxŠy:/@6:62>2:!TKFʐ!N#ycz:"=!!4n&) r#s:K!^"'*)|a^!N#y'~ͅAګ[(²# ZxAzz'>7{*$*"̈́"$:<22&o&) r#s:!:_"'*)|a^:/@#{!Ny #~ͅT?F G# ZxAz ^ dxT x2!"""$MT}!"$y2&>2/2͐Æ[:/@!Ny#~ͅAگ[€=¹ #Ӊy\{a !Y0_{;ͮ5!N#|4n͗5:–<2 !YԮ_!+_!_! ̯a!"!Ϯ"+!*"Ϯ!Ѯ6!Ԯ~I:\w*͍\2Ӯ@ͮ5>ͦ!Ԯ :͗5Ԯ#a:Fs^ͮ5!Ԯͩ\͗5|> æ{ȯ2O!N#y؁~ͅN؁#~ͅO؁#~ͅT؁2O# ہ!"~͂# ?2Rx2P2S E#~͂2S E#"y2Q*~!p$:!ς::ͅA7[:!͚7>=I>>*Rmm:Ow* |!" >æ:Ow[2!" =<>*:QOZx§g!v" "*:POZxǂg!v" *̈́*:QO~:'"͏G# xy"y2Q*:POӉxy*:QGxB y3^# xÔFnÛ7*:QO~$ʜ'ʪ"ʪͅAڭ[ҭ$ßӉxyí͏;D!<_:N2*:POӉxՃy;D!<~1:1: #:G:N-;?!;NyT#60 M:+G:K2N!00"Lx2K͢"+d͢"+ e͚{>͔F͔F:ͮ5>ͦ*|¬*N#͙c:Ƅ:!N#͙c>ͦ::!L46g;7×5>)ͦHU:Îͮ5>ͦ!6̄ͮ5>ͦͮ5>ܐ͎ͦ̄ÕlÕÕÕÕÕ9ÕҏÕÕÕ͕q͕wݓ͕=&͕͕*#~2E>&ͦg;7X͕R:{vÛ72/ͮ5>ͦ> ͦgS72Õͮ5>͎ͦ͗52!ÕKÕÕÕٚÕ Õ&ÕÕÕ`ÕKÕlÕ>͙ͦc͕ԖÕ!R":57:;:+Қš͢GͿz_:O!Z{ɆO!ZxAx!cG2G!O#~_# xPCC,1xC _T';"CzCSs#6:<2 y2͟xʌyʌ~)ʌ͟x—xÈ͝eGzxGy~+ʷ-¼ù# ~%ч&#?# x܇Gyʴ!z~ʴ yO!ͪF#ͅ# ɯ2{*+*+:"b#\*+*͝|F!:"b\F;\*+2{ɯ2{*)2{*+~!;~ ¤:¤>O2:{©{2{!z!å:Ј!ӈ!ծ2͝DM> 2!åxӉxymYGxӉxyy1?xG:GAͳOSSxxGWzr6-#{/<_z/q0*Uw#6"U!T4Fx#&:$ͅAq[q# q~ͅwAq[q~09:-ͅwA9[9 m#z~(m ~#Zx~z~{8~~)~y~{_yO #JͤWx{j&N#OF #~#ʡ –J*+}&ӊ͊!=ô{_G#ͅ#؊*+,|K"+&q#_{<_bk#>7T:+))))))Cj&x8@Ay8@7xp#GHy_6 #=T:g$ʾmy+~ s* 6*6**|̈́ڻ͝"ab>@b":͊"|:2!"y:2K2N :+~+ - 0: #ыx >02N:Kx+J> 2:OFͧFͧFͧF:++::2:G>2;yx~xK>0::2::Nʙ-ʋ2NÙ!:4!K~™6-!<:;::O~+ !͝ l*|={:a{$f{%{SETUPlGET{SETO|PGsPLZrTMrBMrNPbmPHoNLZmTABsIFSKIPqHEAD_ENDoFOOT_ENDoHEADERoHEADoFOOTERoFOOToHEoFEoIGNORE8~SHOW6zCOPY uNOTE:|NOTE|WAIT:K}WAITK}LITlCTR"lCENTER*lLEFT2lRFBlRIGHT:lJUSTCYlJUSTQlLMsRMOsLWOsPIxSPsDECIMALDCLSxCCHoCCFoDVxDF"yDBxvCPI(uLPIJwLINEtTEXTmFORMFEEDmFORM;nAPpQUITjSTARTkSTOPuENDPASSbDRAFTnFILEDATA"FNAMEINSERTҀINwHY>~SSAD~SSBJ~BF~UNo~CMD~PRINTxmDISKmFFmmVSIZEvFSIZEGvHSIZE&vPROPslOUTBInHSP~CNP.mCPBDmKuHuVdwWait - PRINTERCannot find Invalid file name.File of this type cannot be printed.Printing complete.Printing Interrupted.Command Parameter(s) Ignoring -No valid date found.The number is too large.The number is too small.Command not supported on this printer.Command not supported on this printer.Parameter must be 10, 12 or 17 for Matrix Printer.Missing required parameter.Excess data ignored.Parameter must be numeric.Numeric parameter must be Positive.Unrecognizeable command.The command below is too long or missing delimiter.Internal overflow. Losing text character ().No such system variable.Invalid explicit length specified.Invalid variable name or format code.Insert a new page and press any KEY.Do you wish to STOP printing? (Y/N) Header Overflow.Footer Overflow.Header/Footer buffer is full - SIZE directive will increase buffer size.Cannot find file:Please enter the file name: Standard Draft Must be C (Continuous Forms) or S (Single Sheets).Buffer Size can NOT be changed now.Buffer Display Compare-to field must be decimal reference. Not enough memory. Reduce the number of variables(VSIZE) or the space reserved for Headings(HSIZE) or Footings(FSIZE).Now printing -Requires single character (x or 'x' or "x").An Insert file is already active.First parameter to AP must be H(ead) or F(oot).Second parameter to AP must be C(enter) or R(ight).Press ESC to Cancel or ANY key to Continue.PRINT/EDIT Mis-matchFormatting complete.WAIT: Press ANY key to continueDo you want to STOP formatting? (Y/N)Type name of new print fileWaiting -Errors occurred during formatting.Incorrect value entered.Left Margin + Line Width exceed 250 columns.Top Margin + Bottom Margin exceed Page Size.current margin =Insert file - now printingPrinter in Use. If you choose to wait, all activity will be suspended until printer is free. Do you wish to wait (Y/N)? Printer in Use.No valid DATA statement found - can not proceed.Must be ON or OFF.Now Formatting to DiskBuffer #Var Head Foot MemorySizes: RecordsIn Use: Spool files can only be printed by SpoolingNumeric variable is not between 0 and 32767.Name of the primary text file: Too many files -- cannot create disk output.Disk I/O error on output print file.Disk is full.Too many files -- cannot continue output. exists. Write over it (Y/N)? Please choose a new name - Enter The Variable Table is full. Cannot add Use VSIZE command to increase the table size.Format must be SKIP number-of-lines or SKIP TO character.Reverse to line Attempt to tab beyond right margin - ignored.Specify P for 999,999.99 or C for 999.999,99 format.Values of Currently Defined Variables Data File Variables for Current Record -- End of File -- File Not OpenedError in format SET a=b.Total field lengths exceed record length.Specify F(ixed) record-length or T(ext) number-of-fields.Missing or invalid Data File name.Maximum field length is 55 (255 for null field).Cannot accept DATA until FILE has been specified.Too many fields specified.Missing or invalid field definition.Missing relationship =, >, or <.Missing compare-to field.LastProportional capability NOT installed.Variable Pitch NOT installed.Type list output file name -Multiple SETUP blocks found - Ignoring all but first.Variable Length Current ValueKERNing Amount =Beginning Page greater than Ending PagePass Record #: Printer: Disk: Page Line Start Record #: Stop Record #: Skipping Page #: !вCs:&o"! "z*%."|:2ް͠4>2!"ahͷ5}!"a>\2!@ u22=2222.2>22!"%>A2!A2#!"Ӱ>2%!Dž"'!"}!*"Ϯ!ݮ u!"T!b u!)"! u!*"+!9 u!+"! u!L_!00"Lh!W"U! u2Z``0AA HEAD_ENDoFOOT_ENDoHEoFEoSPLCMDCOMEXERELINTPCOOVLCALDIC$$$PAGE LINES2LINE #PASS WDATE REC fEOF rCOL OP TIME FILENÈFN È79-Rj-.eeo.8Space bar=Move Cursor, CR=Select, ESC= Cancel ?= AnswerKeyR Printing Options: Format and PRINT document Format On-screen Change Format settings Change Control settings Secondary Print functions Return to Systemk Secondary Print Options: Issue Page Eject Print without formatting Specify another Print File Format to DiskU-{.k<./.DOCUMENT COMPOSER kMXList NEC SPINWRITER DIABLO QUME SELLUM XEROX EPSON-MX 80/100 EPSON-MX GRAF EPSON-FX 80/100 EPSON-RX 80 IBM GRAPHICS HP 82190A OKIDATA 84,9x  \@`_<>-_@<>``*- \@`_<>-_@<>``*-:o&s*s*@%̈́!"<> / / ͝:!;_!_!_!A1$6҇>ͦ!X6"!"!"!y"!tU"h$!-U"k$!SU"n$*"+:2+*" *":2+:2 !_:2*e"*" !ҡ_6!vۡ_!͂~2222+26! _:2~&f:+E>28: 26:"27!+4)!M_J:qR:{2e$>2+:e$C´!U$_!B%$_!)'_!*(_D!U$_!%$_!*'_!+(_E!U$_!$$_F!U$_ÓG&!͠U$_ģHO!ݠU$_!$_!"dk> 2$Lg!U$_>H2e$6U…!-U$_!$_åI¸!$_!U$_>2&>H2e$!"dk> 2$K֤!B$_!U$_$O !n$_!=U$_!'_$2)V>2"JR!ا$_! U$_>2+>2)V2+262 2!> 2"2>22 !"tk:e$^C`>B2e$>2+!$p$_2$2$2$ßn GHEFA 2A2 P H GHEFAA P ` 45 GHEF@A P H 45 GH -1-0GHS0TS1T@ A P H, 45 GH -1-0GHS0TS1T@ A P H, 20 TI CDTIJKLM5 %9  ,SRCM valdtn RECC 1f-F*B3$Superwriter (tm) Copyright 1983 SORCIM S/N-000000, CPM 2.x 1.02E0 84/01/04 16:15 009937408080 *2: H2=2+(*1">*1"@*1"B:f$: $U.$n.!Y,6!"d2 .T>12 yK>$ 'K %!r%!͜%!ͤ%!ͬ%!ʹ%%%!z%!ͼ=J%%!^#Vr+sG:0Xx20:)%:0_20)%!s#r%%>&_$"/:8/:ͅ,>-7&ͅ,>-7&:1_͑,͞&ͪ&͗$!!s#r#w% 0͗&10͗&V0͗& &(͞͞&Þ&ͽ&{".T́$%$&> &&ä&&>O> 7& &<.:$ &ͤ&a'{'_ > G~#'7&'!36#6#~> +3%͒%{V'{zY'!Y'bk>020ͪ'͇'ͪ'͇'>20ͪ'>.7&͇'ͪ'>%7&|ڕ' Š'á''' •')))0}'}o|g'|' ì' :0'> 7&>20y7&|g}o &͗$\!.͊)!."^!."`: /2 /!>͡=++PYK+BK%Y+F(>yx>%͒%ѷJ(>U%<}(5%+~w!( ͎K)A/:A7&>:7&ͤ&>!((  (ì(~((7U%æ( (# (>>&!&E%:)!  +f(<>&!#w+yw+怰w%>&͟%!0d)A7&>:7&!1q, {)6.#q,6 #6$1 %!0ʝ)@w#6:#q, ʱ)6.#q,>&:0! "{0!0$M,O=):)A+w# #.Y,*{0Y,:*<(u%!"~! /͑(*7<*!1 q#M,!1~?*>*H*<#~<*+*!1N#>u*#~+:u*~Aڲ*QҲ* ##Wʲ* ~.Ž*²*é*!ڲ*!0 ʰ*#š*ʲ*# }**&( ͎!1N#~_$6 *U/:>2N#T]q,pxN#~a+{+_w * w# +zW{_ +) +ɷzW{_ɷxGyO{ozg{_zWyOxG=++:1'͂&!j+>21ù+@:K!KK@6KKv<<C;;C;%;SW31 OVL:++:02++!+ +:2+ͪ 3,s(^#V#+&^+#N#F#`i+DM+#(<*,/:K)/:ͪ&×$ͽ&~#fo!"d:fH,>2g$>B,w# P,ɯi,w# \, OM,G ~,w# u,xI-3 %I-3 Œ,Ø,ʅ,OI-,Ì,ʑ,OI-,Ø,3> 3!0#####x,>,--9, ,>0<-, - ->0<>04-+,/- -->0< , ;->00:E- 7!3`-!6$6 #!0>N->0-6 # v->#~6,+Fw+p#F#}o|gҗ- >0w#h-#-ʮ--#>ɾ>#>`i=+Kq#M,D+x --#w --D+x . .+w . .Wait - DiskPress any key to continue -- Press Letter -->Spelling Check Complete.Dictionary Maintenance Complete.Dictionary is READ ONLY. No words will be added.Document: DOCUMENT PROOFREADING   (1 System or data error CODE # not found on Disk is incorrectly formed dictionary name. cannot be written. Unable to read even though opened properly. The Random House Dictionary, Copyright (c) 1982 Random House, Inc.  <>.,;:=?*]['d 65,536SPELLGUARD B COPYRIGHT (C) 1982 SORCIM, PARTS SOLD IN SUPERWRITER NTERAULIPSODGCYH2ZQJMKX5F01W4B2Rs !2":f2>2g2>2g>21Ϳ%2020*.%"1̓2:==2Y1!+>21ù+\!20$M,!>0 +>2i+:20=210:t222021!j+>21ù+:G0–22!+ M,A!A$µ2 #Þ2TW31 OVL2:ͪ& Incompatible version numbers.*&-( ͎2:ͪ&͗$Text cannot be on A: if disk reset to A:SRCM valdtn RECD' 4tECopyright (C) 1983 Sorcim Corporation SuperWriter Your License forbids disassembly of this fileόABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZä?Ý@?? {K 2<2*<|<; _=#w{2<<Ҥ=N=>2<N=>2<2<2=*;#";{2<<:<%=#wy_xp={+ڠ=_W+t=zʙ=*1#"12=>&f>w? §=ç==w?A#6-=:<">=====f>ʳ=K>>&w?#>#6#w>2<.?"=<:1>PY*O+6+Ҕ>`i+++~o>;g~>&! |ʡ>21>ʪ>+â>#wyoxg¾>}Z>yZ_x>=W.ZM! *;#";+~>+?#+>+?*1#"1#+?{)?#6:<4?#w4?<*<++6+Q?>-H#@?w@?*<+yw"œ?{2<#DM!9"{0`i뗾ʿ?#º?#º?!9*{0=+&+_W?#?#?"?"?뗾ʗ@7@#0@@i@ ~#@~ʗ@"?*?@I@ʂ@*?"? @X@#…@Ô@#ʅ@"?"?@#j@ʂ@"?*? @*?~#…@~#‡@`i*?Å@ä@&A*1A:;@> 7& º@@*1@*1*1A*1A@*1*1A&A&&A&ͅ,&A@'> 7&=>ä<'>12;ͽ&go21"1"1"1";"1:1>21ʑKOS:>21 0)<>&U: 0K)>:7&> 7&ͷL20)<>&ͤ&ḰKL 0:132;>21!x+ù+U: ƒLU: |L7&U:>2L2.!&ͩN 0ʯLͳNòLNM!( T: 0K)Z1% 0ͅ%!Z10 M# L~BMkV:7&V:ͪ&M>&:L M!>͡!( T:*1*1:15M<20zMM:0MMT::0ͳ,T::1RgM/::1}M>2L:W:MʍM1!<M,>2LW:rONMYʳM' + ØMͤ&͂&21*!T+!+>21ù+>2LV: 0K) V: 0( N>2LU:*"MrONN 0ïLY*N '' + Nͤ&jU: 0=)GN)V:M0% 0͒%™N 0!1w#6# + 0&÷L*>N2L203O~*#~+ !1M,+> N+N#6$1xNSTN4*N*O OU:N*M( N!1ʹ)! ~ 1O>Dw#>Iw#>Cw#:LFOEO:=f(2..*T( $ rO&"O"}OO*OT]+++++"O#̀;"O*1"1*O*<*O+̀;"O*1"1*O*OdP*ODM*O*}OR"O*O"O"O! RQ<21@R(R*YP*OP*MP*1ÃP*QP+w+w*SP##^Ps#r++V+^+DM~+ngʫRڦRbRʦR#TRڦR g o"0PY#~#foڟR’RʟR#ʄRڟR*0}|=R*0kR`i=R*QP*SPGXWF#fhRѷRFwx#Fwx+#R>Type DICTIONARY NAME, ESC to EXIT -->Currently Proofreading # Words # Words % Words # Words % Words % Proofing Read Unique Unique Mismatch Mismatch Done ------ ------ ------ ------ ------ ------ Dictionary: Length: words Do you want to create a new dictionary with this name? -- Press Y (yes), N (no), or ESC Key to EXIT -->Please wait while a new dictionary file is made. ** Please RE-ENTER. Dictionary ** Your answer "" can't be used, please answer again ** ** is not in dictionary format. Computer can't create a new file. Probable cause: FULL DISKETTE. ** This program knows only type B (compressed) format ** dictionaries. This dictionary is type . Run the program COMPRESS.COM (on the supplied diskette) to convert a dictionary from "A" to "B" format.Dictionary was interrupted during reorganization and is unusable. Use the backup copy of dictionary. Dictionary must be reorganized before program can continue. Do you wish this dictionary reorganized now? -- Press Y or N -->K͒$>52;*1|%K"`AM:1=K:;OK[:LK[::1_͑,͞&*1"K*1w#w#w"K" K+"K2Kͥ[*1"K" KOVP* K*KQ*1"K2KʡK:OʳK{K"1R͕[ͥ["`K"1ͥR͕["K#w#" K*KlK*1*["[*1+>w+w+w++BK" K6+#" K 0#(>&>62;* K*KQ>&*K+"K#R!"1͕[ͥ["`#w#w#w"1w#w>72;*KWLS*Kͥ[:1AM*K+"K#*`R"`*1*16+*16+M*`:1<21DM*K*1++-N!q+>21ù+TR&*1\:*1͑,ͤ&<_:AM*1|0M͑,6\:*;|͑,s\:ͤ&M:1QMWM\:͞&*1"`|qM\:ͪ&'>2 /!a""!'":.ʒM!."d!a>2>2c>2c*1+"`2`*K>2(`"NTN" `:&`2"`Mc!.M,'!( *`*1S"`*K+"K#*`R"`*`w#wDM*1* K+++"`-"1>82;*,`:.ʕN!]:͑,"]:zʌO*1"1NM* K!M, 0͒%<>& ½N*`*1=++ 0' O+|N#O:1<_*1 0Lc:K) d:ͪ&ÌO>21N*`###"{0MD*1* K͉;#6*{0("1++DM 0J(>&*1*16+wO>21 0!&Z1% 0͒% 0(*( F]:**`͑,Q]:**`|Ox]:Mͪ&:1T+!+T+ù+*K*`>21!+ù+* K* KK+zP|g"O{ >& (P>(_*K6+,P*K!"K*["[{2O+*O+DM"O 0#(<>&*O!"O:O==2O<* KPw#w#+~>ʌP*K|>&>>##N#F# =–P~ĮP#~ĮPPe:ͪ&'͎Px2P"Pbk####"P!"P>2P!P"P*P~QQ*P+F+NQGOxG+"P*P*P"Py/Qw# 'Q:PW*P:P~WQ~ lQO_w#ʽQy#ڙQ_w#?QQҋQO#~w#~WQýQ_#w#?QQªQ~#w#?QQ~7_w#~WQ>Q2P"Pw#"PP"QKBGR+#RQ2R#*QQdRBKQR>%R###*Q6"QPYQGR*QdRBKQ#+9R#8R#"QPYQ`i+#DM+#PR#LR!K͏R7!K͏RxR>*Q*QڵL+#R#R>ʏRR6>&>±R*K}R|>&RíR~w*K~R#~R#~RR#R#~Rw#w+ͥR*KS6+SzS#w#w++w#w#"{0~#T]TS"}0QS͡SKS*1+"1*{06*}0SͅS"0?S\SnSWSBK*0ͯ-KS=?SPYWSO!P36+w+  T6-+( T#"0!P36+w+O  T2 T#"0*0S>20S20"SS+#TSS#:0<20+#'T*SS7STw+ T ɗ+# T#Tc!.M,'! ( 1`:aT*-&( *&( Yd: vTjd: oT7&sd:>2>–TTÊTŸT2(`"$`T* `|9U9UT+++~9U9UͅS"0* `ͯ-9U*$`T]T>TTT++6+69U"}0"{0!1Y,6*}0*{0Y,p#1Y,p}|9U#p-U*$`DU#BUPU~*`+"`*$`6ÊT-T:)`uU2&`2"`:c9W* `|2#`ʦU1Zy2#`6 #6 #6<#:"`w#6>#ðU> !1 +6$*$`1220`ZU20`y2'`6$!#`)U1o&:#`U6* %+V1 %:#`+V:'`VO:#`G>OV:#`G>O!1> +6$1 %]:*`͑,&12 %:0`WVWV]:^:R^:[[RV{V͞&bͪ-TgU?mVmVSDWE'V!V§V#2&`!W# ™V[>"d: Vd:V ʾV7&d:$[:0`QVgU[e:[Y'[gUAMI!W20`* `|0W"$`go" `*`#"`gU:6H:0`-Td:V2c:cxWc!.M,!b""!'">2!kb-TgU2)`W>MrW>ArW>IrW*&( ͎eW^:j^:*`͑,p^:k[YXNWW>7&ñW!)`6:caW2cqMAʇWW*&( ͎e^:ÛWMW2c:)`2&`AX*$`"{0TT]+++~+X*{06~X>AY!( *$`"0XXX^:X!1"4XXçX3*4X:6XOGY,XXfXŒX++6 #6 # {X"4Xy26X*0XʵX!3Y,pfXX͎͛]Y^:͛*ͪ͜&2X9W*0>XTX~"0*4X6$1 %͎"4X:YEY]Y]Y͞&͛Y:X<2X>Y2X:Y8YͩY^T!( :Y126Xbk^>$[Y%WY{Y#GY:Y %nY{Y %yY{Y*\( Y%$Y:YĿY^T$Y*&( ^:ZT2Y_T[NYYY>2Y2XXgUw# ZZ+*`2`+++>Z"Zw#~2Z6>2`Z2`:ZOZ*`6yZ*Z6:Z#w*`͡S*`6yZhZ>*`+"`:`*K+"K#*`ͥR"K#*`"`*`ͥR#"`w#w#w*`DM*1"1-"`2`:"`1ZAZ2ZMZ3q[Iq[>&**`#"*`*,`#",`:`G[*`!Y2w+0 Ty>&#*`ͯ-ѷ,[=7[G[*,`+",`q[*`0Y,wN[*`*`#0Y,6"`* Kd=+=+q[>2`*`!10Y,6:`Add to dictionary ALL remaining words? (Enter Y or N) -->Mark in text List complete.Be sure printer is ready. Press ESC to abandon listing, any other key for next page. Do you want a copy on the printer?There are so many mismatched words that an intermediate word review is required before the rest of the text is processed. Review words in the normal fashion. The program will auto- matically continue proofreading.Actions for Word Review: M = Mark word in document A = Add word to dictionary I = Ignore this word R = Review previous word S = Start Quick Review E = Exit to EDITOR - Make no changes Recap for Prior Word Current Word for Reviewing Word Number Word -->(your Response) -------------------- ----------------------------------- Options: M A I R S E ESC ?''eMMMSpace bar=Move Cursor, CR=Select, ESC=Cancel ?=AnswerKeye Options for Proofing: Review Mismatched Words Quick Review Mismatched Words Mark All Mismatched WordslWMcxW}WW7XdU'ESC=Cancel, CR=Select, Space bar=Next ? = Answerkeyc Actions for Quick Review: Mark all remaining words in the document Add all remaining mismatched words to the dictionary Ignore all remaining words List remaining words on screen or printer Return to Single Word Review Return to EditorMARKING DOCUMENT REVIEW SPELLING QUICK SPELLING REVIEW ** Bad file write to Dictionary ** . Likely cause is a FULL ** or DEFECTIVE diskette. Dictionary is unchanged. ** Your answer "" can't be used, please answer again **** "RETURN" is not recognized. Press ANY KEY to continue -->** Prior word is unavailable. Press ANY KEY to continue -->** Exit spelling check? Y(es) will abandon changes--> Dictionary file has been damaged. Use a backup copy of dictionary.͕$*1+"E-"ET]+w+w++"E#C"E+w+w##?E*E*EͨC `i"E*I##"[>K+J>+*[>+e>"E!6+>&+"E+*E"E"E>2E:7Yʤ<F:þ<G:ý<G:2120=:EY<30!2 Y,EM,2=++sW0ʹ):102V0:<<*!B0W0 M,20E>&W0)>&!>0 +20=)>&W0K=20)20*EDM*E#(2E6"E+"E!"E"E"E!9"T>2V>*E##"E*?! DM20J(<>&͛͛͛͂&*E|ʶ=͑,G:G:20K)͎H::4ͷH:͎:EN=W0*͛*:ͪ͡&*E"D*E"F:121!T+!+ù+|g}o"a>"[>"]>6+#$"c>"_>*Y> `i"Y>D+ *]>DM*_>>:4é>->%>PY>*[>DM *c>-¨>%¨>"_>`i"]>*_>}O>*]> ++>20J(<?20B2021H:*T>>2V>=!a;~a?? ~w# 7?222D2F!t?"@:4;_\?>*E2X>"Y>DM!2> 2F; _?45“?:X>>2X>>,wA{2Ft?@?>2W>*E#"E?{2Ft?*E#"E2F!t?"@@{2Ft?:W>@#w:F@B@>2X>*E#"ED2W>!2#@{2Ft?.@?j@@B?SQ@sQ@,A6'Á?20B?,6',A:0wÁ?ʏ@@>& At?B @@@B@,A6-Á?ʦ?:F@æ?ʦ?ʦ?ʦ?ʦ?@(@@>& AB@,A6,Aw>2FA"@t?>.w,PY*E+6+|mA:EmA458A:X>>2X>>*E+"kAD+>2X>>>ͩA@>+¬AT]Y,6BA>-Fw#xABA:W>A*E#"ED>>2X>2W>!t?"@2F; _B{2FB-B"}0 A*}0B4B{2F:EYMBH:>&:7Y{B&>&*1ͅ,> &*Eͅ,{B:E*E#*E=+*Y>6+"Y>-*EDM*E20:ENʹBW0#(2E>"Ew+"E20(*W0(20!g0 M,W0E>&!E"BC"oC"oC@!E2+#w C#"C +w# C*EDM/C*B##"B W _"B~#foEVC#VCJC*C W OB*B "BI~#fo‡C#‡C{CҝC*BxGyO "BnC*B##"BÍCBK}o|Cg}o#))Cz { zW{_|¼C> #DM!9"{0`i뗾C#C#C!9*{0=+&+>2D!D!2O͙D:7NʔD #-DyO:D: OkD͞&:O:F<2F=gD!( >2F͎2DH:*E͑,> 7&!2 ':DʔD"H:2D%7H:$>>7&D*͛;H:͎͛WHs,&:O:FD>D<2F( ͛H:͎21*:EYE͂&=B͂&20=!  +! +ͯ%^#Vz#N#Fx"}0`iͯ-ʀE=ʀE*}0++Vp+^q##s#r++++V+^###zIE+?E*}0EEY.$$# Number of words Number of marks in document made --------------- --------------- Words will be shown as they are being marked in the document. Press ESC to IMMEDIATELY ABANDON the document marking. FAST EXIT word(s) in text have been marked prior to this session. The words have been marked in document with the character "". # < Text marking pause. Press ESC to EXIT, press ANY OTHER KEY to continue: Disk Full. No words can be marked. error - TEMACT (556) MUST BE SET TO Y**** EMERGENCY EXIT - DOCUMENT MARKING IS STOPPED **** I;͓$áD͔$ 01;' 0) 0"!;>20D!]">*1"=:1+w+w++BK6+#";*!;#(<<*;*>6+ =+ڲ;$[:ͪ&F*>*;"=K+!<l@;! ;!6++*>">" ="=+~@!4͆@2=*;" =>?*!;"=XR:*;~8<#~ <#8<ͯ-!<<͔@=ƒ<=n<4!p]ͯ-w#6"121!&!Z1P@*!;(R:ͪ&!>͡0[:ͅ,O[:ͅ,S[:ͪ&F4*=4=~#(="=#~D=>&>:=Q= =E>*=!"=4* ="=ͬB:===2==p]*=ʚ=~#Ž="=#~ʪ=>&>:w=·=s=E>*y=!"y=4*s="=ͬB:w===2w=Ã=*=~=>p]#~=#"=*=#|>>:0<20"=*>w#>">*?*>w#M,*5>*3>K+!l@} 28>"C>DM:7>ʓ>_+*9>+DM*C>-#:7>O:8>_*;>l@Ey27>*;>6+";>*=>x*A>y@"A>&6@<<*3>"?>*C>"9>*03>M,>2?!">͸@*>">w#>">">!6+"?*>K+!l@}2>2>3*>*>@2}0<>&*>DM*>-+">*>$">:>==2>?:>͡?͡?:}0>*>M?lL:??!>:>*;y@*A>=+?*=*;K+{_+";++" = =*=E>"=*!;*;:?&:>O:>Oy@";y*>y@">*>">:>2>yR@<:?O%!ͅ%> 9@>O%!͒%> U@|t@}Ʌo$ɗw#w<#wɗw#w#1M,*!;!"=>20&>21!Z1P@<>&3>=½@!1^># @^># @"@}o>g"@2@`i"cA"@*@w#w#w#w*@+w+w"@!"@!)"A!@*@"0MAAA+#QA#!1!cAo~w# vAxAaAw"@*@YzʖA*@H "@A=+B*@ʻA6+s+rA{w+"@1B*0*@"0MA>A>*@+w*@6*@͌Bs#r*@w*0A*@:@8BʄBGBGw#xwB`B#w#BWBw8Bw#BnBw#BG>w#xw8B>ÅB"@2@>##N#F# =”B͌B~<#~2B!B"B*B~C C*Bw#:?> C>w+F+N CGOxG+"B*B*B"By;Cw# 3C:BW*B:B~hC~ ڂCO_:B_w#Cy#ڴC_:B_w#KCCҡCO#~w#~hCC_:B_#w#KCCC~#w#KCC~7_:B_w#~hC>C2B"Bw#"BB!͜!( S:K)>S:*1*1:1BD<20";:0ͳ,IS::0hD:1R/::020&*=:0͢,&*;:1͢,X!YM,>+2U2[2[2!Y""!D"!D!Y&!Y M,!Y"^!Y"`!>͡Y!YM,D 0O:.7E:OE 01;FqY!YM,D! 0% + 0O%E!T"dFX!YM,D`LͿOF-&͞&20!&!Z1204@<>&:GF*R0~#w:1G>21 0͒%x* =#" =21* =DM*120#(2=+DM*1 0J(<+*1K+* =" =&&&ͅ,«F 0*þE:=&͂&S:ͪ&F͂&*ÓD& >*&6FSbgr Y!YM,D`L:.7E͸@:1!y@"GVT!]oO2G2s^H"G͜H£G~hG*G##QG>2G*G*G+|ʄG+"Gl@ҊGtH;G͜HmG͒HmG=HG<;G<͒HhG>2G=HG;G<*G##"G͜H͒HңGtH;G!( ͎S:͇HUT5M1Hc*=T]++~G#-H*1|HH:1=21+"120!&!Z1P@!( ͎;G!t^"==<^Hp]!]ͯ-CHtH>:GWH*=#~WH>!( ͎S:͇H!] 'ͤ&!t^]ͯ-ͺH6@<<4c!t^ͬB:t^!u^20*G&!c>3t^!c@ͺHR@<<:]!I!Fy@^*1DM!IH! II+}o*GA.I[0IAɗ>S:K)> 7&>2[2[/Y!YM,DHL*&( !U> '͎iVT20O!4͆@*1"=!:1y@"=>2[iVTW0ͬIIW04!4 M,*=*="=O*="="=!44 M,!4͆@!:1y@"=>2[iVTÄJ>-2U>2[2[DY!YM,DHL*&( !U> '͎iVT20O!4͆@!:1y@"=*1"=>2[iVTͬI!4͆@!:1y@"=>2[iVT>23I*1"{= 0"!;O!20"=!W0"}=͔@! ( ͎T: 04I:3IJT:JT:͎W04IJ)T:J/T:204I>.7&͞&͎͞&͎3T:͎> 7&>- &͞&͎!:1y@ 0";&"!;*1!]K+!l@}$KK%\+!]TL">">TL" ="=2=2w=" =TL"s="="u=?lL:3IK=K̓=K4!p]ͯ-·K!4=ÖKK!p]=ÜK!4==ʢK!p]=̓=K&L=&L!4=K=&L̓=L4!p]ͯ-KK!4==K&L=&L!4=L͉<͂&F͂&*!;*͞&[:ͪ&F! ( DX:>y@w# 7&:0͢,&*;:1¾L> 7&þL&> 7&*=:0¾L> 7&͢,^Y!YM,D`L! :=͡! ( V:W:>VT!3"LoOSVT!@3"LoO*L*Lͯ-JM*L*L"L"LJMͱOFNY7 5M|WT5MD!( kM2"[|M>2"[:2Y1BT:!( YT:!]!" ="=w#2"[ %N3O NN %͛!1"[IO:"[ O:#[<2#[:O:#[ OWO2#[!( :Y12![*͜( \fO%$fOWT$fOѯ2#[F++6}!"~! /͑! q#M,y#*~F#~Fy@#w*$ ʱO&:[OiVT2[*O!( :[=͞&=Oɯ2OO>2O"OͿOPF3P>2[&!1M,+> *P+!P#6$1x '͎WP͎O*O!1ʹ)! ~ zP>Dw#>Iw#>Cw:[<’PP:=2[͎T::[ʴP02T  T:K)&:OQf(2.ͯQ2Q*O)ͯQ2[U%<=Q!( T:K)[:͎͞&͎O=)R@&)<>&P!Z1%ͅ%0 !Z1¾Q# Q~BR!( \:7&]:Q:1-R!( T:ͪ&F:Q;R-D?R2Q:1 ͡ї Words Total ** DO NOT INTERRUPT DURING REORGANIZATION ** So Far Words (Always save dictionary backup copies) ------- ------- Reorganization complete.Please wait while the program reorganizes Dictionary Length: Words already exists.NUMBER OF 128 BYTE ** DO NOT ** RECORDS COPIED ** INTERRUPT ** COPY IS COMPLETE Word has been found: Word has not been found: Dictionary Constructingby subtracting by adding from to Words So Far Check printer ready. (Words being located.) No Words List finished. Dictionary is Read Only.Dictionary: #: ** is not in proper dictionary ** format and cannot be used.This dictionary has been interrupted during reorganization. It is unusable. Use a backup copy of a dictionary.Do you want to replace it with the backup copy? (Y/N) -->Do you wish the word removed from the dictionary? (Y/N) --> Dictionary #1 + Dictionary #2 = Dictionary #3Enter Word to be Removed (ESC to Exit) -->Enter First Word -->Enter Second Word -->Enter Name of Dictionary (ESC to Exit) -->The words in the dictionary between and including the the two words given now will be listed on the terminal or the printer. You may exit the listing any time by typing ESC, or may start and stop listing by typing any other key. Do you want the list on the printer? (Y/N) --> Press ESC to exit, press any other key for next page. Press ESC to exit, press any other key to start listing. Press ESC to stop listing words. You must name two dictionary files, then name a third file to be a NEW DICTIONARY. (You will be warned of any short delays during dictionary processing.)DICTIONARY MAINTENANCE COPY A DICTIONARY REMOVE WORDS REORGANIZE DICTIONARY ADDING DICTIONARIES SUBTRACTING DICTIONARIES LIST DICTIONARIES CREATE NEW DICTIONARY Default Dictionary: DICTIONARY MAINTENANCE 'dLEIIDBEGE Space bar=Move Cursor, CR=Select, ESC=Cancel, ?=AnswerKey ? = AnswerKeyd Dictionary Maintenance Options: List words in a Dictionary Combine two Dictionaries Subtract two Dictionaries Reorganize a Dictionary Make a copy of a Dictionary Delete words from the Dictionary Create a New Dictionary No memory Dictionary file damage. Code: - Dictionary lost, use backup. ** No disk space - no copy has been made. ** WARNING - YOUR OLD BACKUP FILE HAS BEEN DELETED **Disk is full. No dictionary made. already exists. Please RE-ENTER ** the name of a NEW DICTIONARY. ** The program cannot make this dictionary. ** The probable cause is a FULL DISK or a WRITE ** PROTECTED DISK. ** This program knows only type B (compressed) ** format dictionaries. This dictionary is ** type . Run the program COMPRESS on the vendor ** supplied diskette to convert the dictionary.p]SRCM valdtn RECE'HZSPELLGUARD B COPYRIGHT (C) 1982 SORCIM, PARTS SOLD IN SPELLGUARD NTERAULIPSODGCYH2ZQJMKX5F01W4BHO#a-M4B1@V4.½9CbT/Iԉ9KO8@-͔h]ԉӜ!i&Y$9›0VG-0VAek VDk9Lm4' B4Il4 dQ;#i$T#)$/CV($u1-bVH$1d#fmAibԄV4dB8qRDG'%4#r63H(8Ddd'CU'&$%7(S8&R&37D3CC&bU#3&ecsE'C#Bbt"Bc2U2S"&6B*9c'a}oV4#cJ6/D.Ŕ #h icILcI.¦)MB;Md#. +7#a1BMWxcM%o4 M9M<MM@VMB;.,Md#dzhGi#bMB5M%9T(Hb(bJ:4"6GC"U7d5(&D9sS7'8)w4$')6$J*F9Ie+:tS8TC*(SV(v$6&7(v$F$)9oyY.9d3hMFcM+f4 c9KŵKv1Yhy1 ruCMؑb;a1C+M]M-qiM VB&dKԹ.vHEB VAV#O9dRrMd#4T.V9d+",h:*F6&$C4ccb&D56B(&S27'C&(D$'6&3&$#%F'u#C2B#BE&63C#F5&D$3#$c#4"7'E)e1)maH9M#6/D.›9K/CMVMZ9x4TQ f/M.6ǻB7T[ǵeI1MB;MB5.cDYhg9ei[O4.cHi84)1c(4t/C9Tc5Kii#*3Bc2B2C&3T7'CV$DTc,9'6&3B1TsQS55F'38IE6E$8639E6RE2s%4S%#FS6&UTUF>GaEAc,±]i+4K;V-4f4$ VLY@VMI1cM,X)I.TF.B;uhLrmMd#MP--$܁{aI$[fBbK;zoDM59`VA 1 .Spe2T%CSD5DC4S$CCdSSS&-3#R3!ACE5'u26C2&'6C#42D'(d)8E$S%AEEEeP3qhae;vI7ȟdSMVœk&4.!tdb.şh^icIbMEc,4.3M/KMTbo<2Na9EF 6TV9´.&4VK7Լ1Uyc cSsSS)8E5%U##"CR),*(b##E#23SbD$35%6E65(7S$S8T4e&s#C##(75##2sR%2('R#B$5#ph5yqi'&f4u4d#kY9·VhB׆/KHV4"aMB;ba1OaMr"K1 .V69I.r4ۡ1cE9MQ .7scGB;hΔ{941aK<[VTB8Q UpdTC&36bC'S%U&D6r4E2SE7'#&373%2R$S%CTTS9$c3t'S'4E#RB%$bbO4K94TKYY1 hM!xBh;A9M4d[e rd#[/D.vMd#fdzEVMtD+6)cD"k\aßcM(fJcth5{,9(&#V+ŷh+%M4ے+dڄՒd[VhK/C"IB89h#9h #MY./DM". 狜 VLMsMY.KV4 VE&4¤հF.Ǵ B39s)8TD$4$4%$$"(d6$*757'4&F(G'7(,HF5*F*V%d9:sv87'%&)*9U8(&&V::F8(3ǺE4QcY.Ş4V1rEMLe&QZh4+dFG/KVM+dcIº/C.[K VG4£L+C6#ڇK qd6'Ms/bŴS$o1/@!w7%E''4'7C5#5%#2$C4dT$b(G%8d'E4D:JU8E'((7'43d6)8'D%DcG&$'742)T%4d4D33p`r4QES K.YKBԱ HM.VǹEfSǸ{HK] VBb5nD.1]HK  EM9K VM$չ..;bAf+BMM$y$ےE.#5%#U#454'I65#365E5%E#54"DB2C3f6B5%5D"3EEeU&)E$47C$5$#G7EE&5&(8G+acE. !9Kat.KCM.°VI1 WTB9h1CaD\AzcM*;#;iCձdh .JMK˳EŸh a4tMM$Mai$MMATc.8E%5U%5Ff7#54G%#5%25'6(&$'Sd$36C3V(D##5#D"#CS#6C#&&F&ts5%7&&5$$U5%2EC35%#pm˼dUhL]MMMM7hԁ1 Y...[.;?965-aR[7q|ED$&Q a1E9f4.uhMa[dxcVB). h'RsD()8T4&bR"BcB#!$!CC335%'C646C53%%#%#%R%4$5%6&366EEexVnAlYTB>Vxy4e4+KǴc.ei+K94Bb3MDY. '64Aẗ́EB#3532e7&DS88DB$"25#SS4"42(I8SD'&3D$3ERCC&T5$5&3'7'%"#%237'G485k8dQ,b;4Eb91Ai&4ے#Aql.cJAGB;ATcMKVAfcBcOcLQ^ĵk.B;M͑d#V.TŸ'CTt6Cs3DT5#4I9)E'R)dCqC#rT"c#b#)8c&B&$&6CS('CS7'VG)8*(5('%&85%2$%224S7C`AdVM/IK.V#4"B;Q 3M9h \Q4ے㟕Kha1DԵ.B;S$mM4&ے4d#HMd#b4.B8`VLےTTr4TVd#E.EMFQd#l]넻('C345F3(SSS8IE)T3664CG7c$&3E%#5QR5uECCF6&(v3E358'&SR)'R545SC7&b586$B[Ad#B:kuaBI.AiK^C4aMB5d#$Ebٱ-F`VE컒灡/MB1\aA.B;^MB9BMB;4d#d!i1 Qi1 {~Vd#Ȅ.B;tT6.d#EMY.i$Ւ49)E9U5%#HDB$2F6&3F&3B35bB4F&$I)cGRE5%EBGR3746C4C8&35FBGG4B&5cR56cCEGpmB4Si!d#V{ch B5H1bF9KBGYKaEcI/4,PVHMd#MǵB6 KK8LaGhME )9ŖYqjB:MaAVhBEM&Y#9չ.4]FQaF~oE{H1f$*5j6DD5E&T%4TT4t%T4B$6&$C6fF&34D$4$')64%5#d&3E4$4d35b5FsC5%#VF7h$0-kcARbB.6aGT3x$MVAaCDے18MKެV#Qtab4.aB$.T׭.wۘ$1{0-4ѬóBMTQTr0Vx`-4+dB6633D''4DtUF5%6E#45#544#T4Us##DDCR3#$CD"43C34GCD4E$BEEFe#D$`މ.OI.;щMY.Ek$.:Ѩʦ/4չ.Sc,cMtM4;cE]Mhcc)g-EYSMY.;v4+BK 1 .K#EQ M3EMCa'C%#35#5#U#C8c466$T(5SDc$#545UeU5E%#%#5%2s5&%TT#FS3#7%2&#4$T@C-Ҟ4Y.abadےTRM[nCIxK6פչ.AK7e$K\1E,4;JeVmDe).Mx BAeI.EGT4+{M8E(D75D%D%(5#76$4C3DTdD45T$DTG'%4%$E"D$"6&63DD6%C4$""C#B5%#21233#5!A1[\#E-FENf,W"EFmSB3h$Q 4dQRѤdMQxaI.VBK.4!tیRhH9°VK4.MXD۝aBxk4+at1i.19MQ}B5Ky<{&4)EdDTE'DEeC8'4%dD&$76'6&'6$C366G47V6CC5D4eD&&G6EVUG47454D'4DU&6$E=7$-IVLu)$K@VB1DeۻE~81K9´Ւ6۝MLCD#MKUo9hT鄓B6Q V/C@-zIx$94RhGׄ/CMFMka4Q.5F$4$4%b3e#(7cG4E4EE34E5##T8D6C5(q2S#"(D5EdD%5%U#DtB3B'C#'VV6F7FuZUT4[/bBCt/ BXb$cE1-aK$4$.1۱q4PVȓǼd+y.#nIED.$.B~h 1„5cM! 4t.VH.B8M.1dEeudG7'Rb4$1A8cE55#&6B#5%#5%E#55#F34"6cC336$68(&37WF$#3b4UE5%%#($D'63'pUxKaMKcIŲ&.ad#hEhHMK1{oKM.uLU 1V/AlTVA K+KI1TKmCCMxHb8QYKºMf)69AaE.K.T$Ea M3#4DD"5BgS%6&4T''4B4$#B3Qr35BT3"4&GGC3#EG'4CS'CCD6&33C4t8(S77S#BVnMBE.-B;$YAd#Y'{ǻCȒJMM5iKaT.}#@VHM3I.FT.9!k$V169´M.°VL[˓{ 9hh{91Af$"KLjh1d5h^I`I%3's*CF'6$c$4&34(&U%'((7&'h7RR24$134""###26&34"3$S3CTSG'43C$C3'&&3CB@1Qf$&4*\c'Ta3̳ #Yݘ$4#M쌍M.E &[͛d+oE$ő4ǷRےM봱4ad.AM[.E۳BM4TЄ'C7'C4s42'45%2#55%#4#$53%6cD$%'a3""#4D$BF&3R#$"353b$"ERrA%2BaCC4rT8T$@4Y.L$Yc$Q {e$d.M[2h3DZehMgEK1XKAl1ZeB;K.ѩMB\ѢL-FSM&7TAjEMAM$وA$qjǻ4']f-C66%D23363B52U#c#DDt4u""6$t"2R"$cc4Cc4BD"$%A7C3$%3"4$3F5S5'F5#&BQdRaD۹.B6ű+VMxKǸ9M[B2hM9+e#heBGQ1[l1ZeB;bMExe4WVAKK.b4x c! .}GǸd <$e64TEF#*dE7(5#E%5%#4&'%EU#'D5%Uue%Ee5CV74##7&'4%D%c(DE(5#541"9&*F6'&F``Vc& 4.FEKفrEǴMmA \$f/KMǸQqfKY.BM뤤.8A4.$YKdVK.Kt-MQzMVHME.G%4$6&#5%FF&$3c%#43$%#363%2C54435454U5%D$4E#5%T#D"C5%5U55#E%&%B4#4+zؒ -zq Hd.4.eb4MQ MǴ+.RcŖYkM.9cAQs/DؒKӘ$6[D MM+!T[êS;4WV &qccI<{&c5BR'c!BD3"B24cCS3$%D"3EF5#4EbEe5%#b&H5U%'5%#$6CD5#U3$"$55akaC+h4rA '9<$Qei.WsTEKBCOB3MCW1qe4AfQ|D+cIa 4հVKu[EMTK5SqKMV;.EA$%F98DDD4F$5ED554"TT&36&3c#$4::t6$D4DtDUEd"T4DTe$4T'T$"3r'57E#`nbM[f5iCatdd%f.MY.0VEtZa6]$.X$V.t[-Ʉ$QmMSM$KeLQy.MxŸd4$MdMY.BCBM$19.M.15&%#3&E4&#3S7'C%##'C''DD4$V5D4DD$E4Gd&$t36$bE%46&3r3544$5e6D5E%D4D5p3cA.T~9M4.VBs֙e{$m&beձ[>FY.KKf+4ZIOAGe4[T3\.i4Q QxxX$]6F5FBu!KbԻT-4Ւ4$u6EF56G:FEE%4$G'66$45dU%DETF45&ED4DT$EDD4"D36BB#3%"5%#4$r333pFdҁ [8$-1-M1Ԟ?9ѧKAl! BMǵKESqhd;ձ. TQ1f*OMVhEF;4Q eaEhTnAi6ĹKb4Ѓ&r4%$$63SDU'4$V$d$Ed4$$3cDU27ss(D44$3$54s"D4C(&BbD4"2Be5fUE%&4&PKc-7RcI.zB@-b-Ava {;V_h-kVb@VHړKTr.MM5rB³MTE׫8bKy.YdzԳTbےE- T.MŖ+2c4$3"#d4#TT&$"C45T&rB4DED%6$&DF'uVgFvueUeUd"34D3CB)8rB2B( &/1c[uYM3s=FeMbB5ے;I}L&.M]4_MK‡ۜ,-߆KY-O6Yh4 d 9¼WUM .1 b4 VD#ed#eS VDؒ.E.d.1.d#NcMcRSC$'4$443T'E38Sc&5$2&5&$C$C&6)VCFVWf3ESTB5C$6&&$%4DV6&3C$$4$c!JENc)MTdM+d TMuM#EMjM!/Kdzi$McM4AaT.VE).j\dB2׎B1H/K/Y.f#/DE"v_ſ{6ѩ&l#eO{VcKcLYhEY1 c&@V$)c634$7%BtV4tTgd5sScb4$D4WEVv9hhvf)''6&3B4422+HK1BVI1 Qh4/Kd#hecM #AaYGH/K9hBI1F#{Kl+#f#۟Fۉ1}K³od#VBԞ1FP-D#Ԟ1d[@VBTEh/D 1M[c3#35&6%X)X9Hg)E2#5F$CCR65%EG4CC3G'4$3S5B*F5B$c(7(b)TD448E%&t&vKےMt".1aKA1 MK M.BMU 3EM\VMeݒB;MEMdEՑH4..EKK yd#aDՒ5%TD44#sS5%#&BCS47'4E%##D5##4#W7c%'%4#4VE#35D%#%4E#3#&$4##`^OMeSVEMM\ݘ$AfEL9.D[4Y.[6qRT$ؐVM4TFbi.BM[1-M <d;xRs4.VM..$չEoEbMY.At.D6&3$65#BDT%%&4$DDD46&35%6&3E6%)E&'%VeU5eE#DD548dd5##TFSU5%26&3#T>j$nI.d.q}T..#+4Y. .q).KM$4ց{Uk`VAM.D&..uK]M/C.B8C4dQiY9K *915U&f3#'WR3s&R%'+$TE766&$%u4$"B#3C235&D5D"D$T4"a#%54D6C7'R$5#7'466$$` 9M46$Ǹ/EHAѧE.-MYE몒T+4P-a0-KcM+o4B1Ԟ1d\$d)1aDcM[.HChº9cۘ..E.M1ad. 654(5%#3#54'6&37'C&b4AR6'V67Fe'CS6SC3vBC4SDv$4$3#6'%#,uS8(Ty"MՒQi3x!q2KjEat)!ad\{4.M4~4TVEa1 [.dZ1[4bՒK+ے14VB$li.4MY.4$Det4$4#B5W4#&6342#C3$&55#B%#)c#%#545%7C4#%#1s%S#2DS54pQw$K~aTMqoMESEMM9.M.1tKo 1Ւ$1WNEot.5HMay.EMMMTM1--dT-Mhat.bH44UD$EDud#5%4#D"5%25$C52&354#554###A'CBCF&6&34UE#"#4255%25%#5%#&%#%A##4TbDD`lJK or Return. > Subscripts (slightly lowers) text until the next < or Return. [ESC] Returns to Edit without inserting a Print Directive. T Workspace Full: Workspace is full, and you cannot add any more text to this document. You can save this document now, but you cannot add any more text. If this is an inappropriate place to break off the document, or if you anticipate adding more text in later edits, consider copying the latter part of this document to another document with the Copy command (Escape C W) and then delete the block. Save the document and continue writing in the new document. Remember that you can string documents together for printing with the Insert formatting command. U Utility Options: LIBRARY = Quickly display any document (does not allow changes). - Include sections from another document in the document currently in the workspace. - Delete a document from the disk. - Reset a disk if document disks must be changed. - Rename a document. - Spool a document (print in background). DOCUMENT = Display and revise Document History for the document currently in History the workspace. DICTIONARY = List or print all the words in a dictionary. Maintenance - Combine two dictionaries or subtract a dictionary from another. - Reorganize, copy or create a dictionary. - Delete words from a dictionary. SUPERCALC = End SuperWriter and begin SuperCalc or SuperCalc2. W Save Options: These options save the edited document on a disk: Save document Saves the entire document in workspace, using the same document name. The previous version of that document is renamed with the file name and a .BAK extension. Rename and Save Saves the entire document in workspace on the disk, filed under the name you specify. The previous version of the document remains on disk with its original file name. Change Output You may switch Output Format controls before saving the document. These controls are only important when using the SuperWriter program to write certain types of computer programs, or when you first save a document created or used with a different program. Note: Should you decide that you do not want to save the editing changes you made to the document, [ESC] from this command and use the Zap command ([ESC] Z). The document in the workspace will be deleted. Z Zapping the Workspace: Deleting the workspace empties or erases the current document from the computer's memory. It does not effect any documents filed on the disk. If the current document has been saved on the disk it will remain on the disk, but any changes made to the document since last saving, printing or checking spelling will be lost. ; Insert Mark Options: The following commands insert special control marks in the text of your document at the current cursor position: F Inserts a Formfeed character (!), used to identify a Section Key in a file of boilerplate data. S Inserts a spelling mark (?). / Inserts a block marker (/). ^ Followed by a Control character inserts that Control character in the text. The character is displayed in dim or half intensity preceded by a ^. Note that [ESC] is a control character. Pressing [ESC] inserts the control character in the text. : Find Mark Options: The following commands find special control marks in the text of your document and place the cursor over the next specified mark. F Finds a Formfeed mark (!). P Finds a Page mark (p). S Finds a Spelling Mark (?). / Finds a Block Mark (/). ^ Followed by a Control character finds that Control character. b Word Review: OPTION: DESCRIPTION: Mark word Will mark the word with a '?' in the document so you can correct it later. You can easily find it in the Edit with the [ESC] [LineFeed] (Ctrl-J) command, or function key. Add Word to Will add the word to the dictionary, since it currently is not Dictionary there. (Check spelling before adding the word.) Ignore word Will not mark the word in the document or add it to the dictionary. For example, the word might be jargon or a proper name, acceptable in the current document. Review Returns to the previous word so you can change the way you Previous Word specified that word be handled. Quick Review Quick Review allows you to mark, add, ignore, or view all remaining mismatched words in one operation. Exit Return to the Edit. No words are marked or added to dictionary. c Quick Review Options: Mark Remaining Marks all remaining mismatched words without further review. Words Words already reviewed are handled as specified. Add Remaining Adds all remaining mismatched words to the dictionary Words to without further review. Words already reviewed are handled Dictionary as specified. Ignore Remaining Ignores all remaining mismatched words. Words already Words reviewed are handled as specified. List Remaining Lists all remaining mismatched words on the terminal screen Words or printer. After listing words, the program returns to single Word Review and these remaining words can be reviewed. Return to Word Returns to reviewing individual words at Mismatched Word Review Review screen. Return Editor Ends Word Review without changing document or dictionary. d Dictionary Options: OPTION: DESCRIPTION: List words in Lists all the words in a dictionary or a range of words in a Dictionary Dictionary. Combine two Adds two existing dictionaries together to make a larger, Dictionaries more complete dictionary. Subtract two Deletes the words contained in one dictionary from a larger Dictionaries dictionary, resulting in a smaller dictionary. Reorganize Reorganizes the dictionary to make a more compact dictionary Dictionary which can be scanned more quickly during Proofreading. Make copy of Copies a dictionary, creating a duplicate dictionary with a Dictionary different name. Delete words Removes any number of words from a dictionary, one at a time. Create Dictionary Creates a new (empty) dictionary file. e Proofing Options: OPTION: DESCRIPTION: Review Mismatched You can mark (M) an individual mismatched word every time Words it appears in the original document, ignore (I) a mismatched word, or add (A) it to your Dictionary. Quick Review You can handle all mismatched words in the document at one Mismatched Words time. You can mark all mismatched words in the document, add all mismatched words to the dictionary, ignore all words, or list all mismatched words on screen or printer. Mark All Automatically marks all mismatched words in the document. Mismatched Words Press [ESC] to quit without making any changes. i Insert Options: Typeover: Typed characters replace cursor characters, one for one. Auto-Insert: Typeover with Insert at end of word. Insert: Typed characters are inserted in text, text is rejustified. Page Insertion: Text is opened for larger insertions. COMMANDS: A Turns Auto-Insert mode On or Off. When Auto-Insert is selected, the Status Line shows Auto. I Turns Insert mode On or Off. When Insert mode is On, the Status Line shows Insert. (Typeover mode is On when both Auto-Insert and Insert modes are Off. When Typeover mode is On, the Status Line does not show any Insert status.) P Turns Page Insertion On or Off. When Page Insertion is On, one of the other three modes is also On, and the Status Line shows Page in addition to Insert, Auto, or the blank. When Page Insertion is turned Off, the text closes up. j Case Normalization Commands: Normalize mode is used to change or adjust text between lower case and capital letters. In Normalize mode, all characters are ignored except for the right, left, up and down cursor movement keys and the following command keys: U Uppercase all characters from cursor right to end of word. L Lowercase all characters from cursor right to end of word. A Uppercase all characters from cursor right to end of line. C Capitalize character at cursor. All other characters in the word to the right of cursor are put in lowercase. [CR] Lowercase all characters from cursor right to end of line. [ESC] Leave Normalize mode and resume Edit. m Delete Mark Options: The following commands delete special control marks in the text of your document: S Deletes all spell marks (?) in the document. / Deletes all block marks in the document. [ESC] Returns to Edit without making any deletions. n Document History: The following Document History is requested when any document is created: Author The person who wrote this document. This name provides additional information about the document you are writing. The name can be up to twenty characters long, and is displayed in the detailed directory. Some systems keep a System date. SuperWriter uses this system date if it is available. If not, you are asked: Date Creation date for this document. Enter numbers only. Any other characters are ignored. Revision Revision number for this document. Enter numbers in the range Number of 0-255. Any other characters are ignored. q Document Names: Documents must have a name so that SuperWriter can file and find them again. A complete "File Name" consists of the following: 1) Drive = one letter indicating the disk drive containing the document, followed by a colon (:). The drive name is optional. If it is not given, the SuperWriter program automatically looks for the document either on the disk where the last document was found or on the default document disk. 2) Name = one to eight characters, with no spaces. Choose a name you can easily remember or associate with the specific document. 3) Extension= a period, followed by three or fewer characters which indicate the type of file, such as .DOC or .TXT. The extension is optional. When you edit a file and save it, the previous version of the file is kept with the same drive and name, but with a different extension, .BAK (for backup). r Format Settings: Left Margin The column number (0-99) for the left margin. A left margin of ten (the preset value) gives a one inch left margin if you print ten-pitch (ten characters per inch) with the print head at the left perforation. Line Width The number of print columns from the left margin setting to the right margin. The default line width is taken from the Global setting for this document. A line width of 65 and left margin of 10 gives a right margin of 10 when printing ten-pitch on 8 1/2 inch wide paper. Spacing The number of spaces between lines. Any embedded SP formatting commands in the file override this setting. Page size The number of lines, including top and bottom margins, on each page. Eleven inch long sheets should use a page size of 66 (the preset value) if your printer prints six lines per inch. Top Margin The number of lines the printer skips at the top of each page before printing the text. Bottom Margin The number of lines the printer leaves at the bottom of each page before starting the next page. s Control Settings: Copies The number of copies of the document you want printed. If you ask for multiple copies of form letters, the letters are printed in multiple passes, so you will get one complete set of letters, then a duplicate set, and so on. Forms Either continuous (C) or single (S). Single forms stop the printing after each page so that you can put a new sheet of paper in the printer. If you are printing single pages, press any key except [ESC] to continue printing after loading a new sheet. End Page # The number of the last page you want printed. Begin Page # The first page of the document you want to print. If you set it to "3", the first two pages are skipped and printing starts with the third page (numbered 3). This setting does not affect page numbering. Embed the PG formatting command in the document to also change the page number on the pages printed. **** If SuperWriter is Installed for a specialty printer, you can also set: Proportional Select whether this document should be proportionally printed. Pitch Select what print pitch (characters per inch) you want. Pitch may be ignored if you are using Proportional printing. w Disk Full: The disk does not have enough room to save this document. You must either delete files from the disk or save the document on a different disk. To delete files - [ESC] back to the Edit, press [ESC] [CR] to go to the Main Menu, choose the Utilities option, then the Library File Access option, and finally the Delete File option of that Menu. You can delete extra files or backup files to get enough room to save the current document. To save the document on a different disk - follow the above procedure but choose the Reset Disk option of the Library File Access utility. Switch disk drives, specify which drive you switched, and [ESC] back to the Save Menu to save the document. a Function Keys: After pressing Ctrl-Q, choose: 1 Edit key Help 2 Insert mark 3 Find next mark 4 Repeat last Find 5 Repeat last Replace 6 Find next spelling mark 7 Delete character 8 Insert new line 9 Delete to word end 0 Delete to line end  + A VvB#C,D4E<FEHOIVJ_LiMpNvP~QRkSTUWZ;:bcdeijmnqrswaark 4 Repeat last Find 5 Repeat last Replace 6 Find next spelling mark 7 Delete character 8 Insert new line 9 Delete to word end 0 Delete to line end !!TIME&T AS COM4CC COM3 CNM COMd CRC COM CZ COM1 HEX80 COMoTEST2 COM4TEST2 Z806LIBUTIL COM~LN COM6SIDSYM COMSQZ COMCTYPE H ERRNO H FCNTL H IO H  LIBC H !SLRIB COM8TIME DAT9READ ME0/:MATH H "SLRNK COM=;DEMO LBR2<=>PIP COM:,SETJMP H #TMASTER DVR?TEST2 Z80@ZF10J LBRABCDEFGZSID COMP/0EXMPL C 1SGTTY H $STDIO H %C LIB&'()*M LIBF+-.2ROM LIBY35T LIB%7OVBGN O JOVLOADERO KR O LRBEGIN O THEADER ARC1ULIBASRC ARC{VWXYLIBC RELiZ[\]LIBCSRC ARC!^_`abMATH REL6cdeMATHSRC ARCD> BDB">א2F8TB>kdm*B ۥF/⑬8YTB{BnZ)p/F+>k9Vb .6ұ:16B$$ !2@а7m*B[V[0 T{Bn)pb/⑬8@qۭo אKjfy T>F9F&TBD>l ,>GDDtA@sDDD>TB2oDB@PP@ۭ o`Dt-&BډB|d-B)D{B>^ޑDBDB>Q B|d-TBQoT>B o"T5FD5F??f,>!ÁP\TB oξ^FT{B ۭ2ni 朇 DDtA@sDDD> kDDDBDB 9(󐛴*(@)@@"*)@|$g<@ & &"7Foq@108B|B/t|Bk"|$ ~(o$TD>k .ۥ(PB)(/TDD B>?lobB\>?loB.BFTBQoT>P|d>tkBT)T C*|!$ * ~ ">( }_ .C* BB\0B`F\朇PtB@t_BҊ(ۑTDPTDPTD2BF\ n䛶,[F[T>FV"V*Vq k ׹F9B4,AAAAAXBC>`ˀf,>!ÁP\|@dC>(BH>BBBjBBE>BFBPBT> 0BnZx:勄/F+B"aB }F@/F+ۓ D, 0en ՐoՐۭ(h0T>uB) ,#@)B0 .s. $"7F3.ċ.P.xċ.P..wo @ &g?o_PF?P$F$ ?\ &AAAB.'Fa$@||$ܹ6ʐܑ0D 242 P)B>DyB0DxBfyBxB_PPՀ0: ">0۩ۡᐓ򋈽.P"o> sB 0 .䈴@#6ؐB?o|F 0y ķ:BD/0fT>)P۩c ِ}d. ofwz+ 2 2 2HBP 2鐛22X "`F ">( oz>P>>̓X 0Z ">( otۑtPTZ>"́@62́@|dg2&Ð:@ È 4`&& ׈|$PPP$F@ &J"rBm|h8t &|$/%7#1æ9Š9æ¼%7%6àũ8ç:';"ʱ]Pz@ ξ^0 MFDS> pwu} pmXB4Þ MlHFF9FMMVV?~lDS>`4a44664c4j4|46444444U4Y4\444)PBB_ _1_2oYξg>EUξW)"P22Ro "5)`2.磓odxdB6<@8ׇ-@:@ܳ򍛆.@H@jYoaᴆ8ᴆ83Z@j#o+P/ᴆ8Z@sb{ᴆ8B ntV>@8p h`f,V&Bב洆ᴆB)8 #7ҹ9Yo8? YobqtNPB`N?A<h 4 4kFFF Sa f,͇TNVVT{B0`p۷0w8۷F۷P$$|p ۷p$tc &  `"xƎP &" ƎP &"NƎP &"{ƎP &c`$2p~)zؑ`ؓ0TMB>khȏ05"7F? $|$XlFlB7F /F+>k ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F,,V,ڑD>TB>ܑg<Z &QV@lFTT>B>!gk ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F,8L!2Q'(!!!!!e!Bbs0!9s#rz^!Bb!gͷ!Bb!{M+ê*aͧPʊ!ͷ!M+!9^#VI6ê*a*a#"a+)as#r!9^#V"aa!"ba*b"ba*`*b;P*bpP"ba*b*bpP"ba*be a*`Ha!`!!a!`!!a!*^ n&pPs*^ ^!͗Pv*^ ^!͗Pv*^ !ͷÞ!*^ s*^!!!"`"VUa͵ *a!5*`#a!BbDM`i~`i#DM+^e a*`a*`pa*`P *`*bP!ͷa*``P+!ͷ!*`!P"`a*bPO!"ba*b|`!"ba6a*^Ka!*^ n&pPsa*^"Za*Z!*Z n&pPs*`^#V!͗P!ͷ!*Z s*`##^#V*Z^#VP*`##^#V*Zs#ra*Zi!*Z n&pPs*`^#V!͗PB!6ͷi! *Z s*`*Zs#r*`##^#V*`"`a*Zzu*ZVU͈P:`Uo&*`^#V͈P©*`^#V!͈P*`##^#V*VUP!Qͷ*`##^#V"`!wͷu*`^#V*Z sV*`##^#V"^*^^#V*Zs#r*^^#V*Zs#ru!ͷu*`^#V*Z s*`##^#V*Zs#ruP( 3a*hU"hU"`*`*`##s#r!*`s#ra*hU"hU"`*^ ^*`s#r*^^#V*`##s#r*^*`##s#rPa!BbDM`i~"!ͷ!!9s#rp`i#DM+^!`P!9s#r`i~a`i#DM+^!;P!9~#fopPs#r`i~p!ͷ*hU"hU"`!9^#V*`##s#r!*`s#ra!'}2b!Bb"b!"ba!"}2b!Bb"b!"ba*`*b#"b+sa!*bs!"ba!!^#V#'&<RcitlxrCannot open file %scannot open file %s Too many nested file includesToo many nested file includes %s: multiply defined.Operand out of range.Operand must be even register.Global size must be absolute.Bss size must be absolute.Location counter must always increaseCannot change type of location counterCannot equ a common block nameNull string not allowed hereToo many characters in CHAR constantCopyright (C) 1981,1982,1983,1984 by Manx Software SystemsL!!9s#r!} M+! !bUnJ!VU!bUB))^s#r!"a!"b!(9~#fo+s#r!Pʪ !*9~#fo##s#r^#VBK^!-͈P{ `i#DM~x `i^J !!9s#rü !"bü !"bü !*9~#fo##s#r^#V!bnJ!(9~#fo+s#rü ! 6J5 !"cu u `i^! M+ü P C G L O Z c g l o 8 x ç :bš !*9^#V^#V!bnJç !b! M+Á :b ! M+!1;!.!bJ ! !bͲJ! !bs0"a| !b! M+!1;:b! !nU!b!bd)! !bs0"a|K !b! M+!1;*bPʚ !/ !b! 9d)!4 !9s0"a|— !9!6 M+!1;ð !9~#ʰ !"b!X"a*a!!!`41!9*jU^#V*VU$Q *VU*jUs#r͵ *a!5*a^!`P !sU}͋%*a^!`P2 *aI6: !sU}*aI6*c|R !bxH*b|t *b!b!U M+!1;!1;8080 Assembler Vers. 1.06D .ZAPUnknown option '%c' ignored. More than one input, %s used. No input file given! .asmrCannot open input %s wCannot create output file %s .lstwCannot create listing file %s %s: %d errors. L!9N#F`i*U#"U+Zs*UͧPʓ ͵ `i`P*`#"`+)`s#r*`#"`L*U| *a*U+pP5!DM `i#DM`i*UP*a`iZ^5 !"UL!9N#F`i^#V!͈P8! ^#Ve i͵ *a!5#!*`#"`+)`s#r*`#"`!`"hUL!9N#F`i^#V!͈Pʿ! ^#V! ^#V!`Pe ! ^#V!!P`Pe ͵ #!*`#"`+)`s#r!*`#"`+)`s#r!*`"`!`"hUL! 9N#F*`#"`͵ *a!5#!*`#"`+)`s#r!`"hUL!9^#V^#V!͗Pk!ͷ!9^#V##^#VBK`i*`"`͵ `i%Qʭ!!!PYPDMÇ`i%Q`i+!Invalid expression for block allocationL*a! 9^#V!`P! 9~#fopP5*a! 9^#V!!P`P5L!`"hU!"b!"X"X!"c*a^!`Pr!sU}*b͈P*VU*qU!*ak+!9!`DMæ*`+"`*`|`i`$Q`i^#V!͈P!*ak+`i##DM`i##DM++^#V!`P!*ak+ß!a`i`PKP P!*ak+!9*`|*a!04!!9s#r[*`+"`*`|!9~#fo+s#r#|`i^#V!͈Pʝ!A*ak+`i##DMý`i##DM++^#V!`P!E*ak+T*a! /51*a^!`P!sU}!"`*`"VU*qU#"qU%5d %04x xx %02x %s %s xx %02x L!9N#F! ^!͈Pʞ*VU`is#r:`Uo! s!`i n&pPs*^U! s#rî`i !ͷMultilply defined symbol %sL!9N#F! ^!`P`i !ͷ!!Cannot redefine symbol %sL! 9N#F*jU^#V*VU$QA*VU*jUs#r! 9^#V!͈Pʇ*^UPY͗Pt͵ ! ^#V! 9^#V`i"^U!"``i"jU:`Uo&! 9~#fo͗Pʰ͵ *a! 9^#V5!"^U`i^#V"``i"jU! 9^#V}2`UaciadcaddadianaanibsscallcccmcmacmccmpcnccnzcommoncpcpecpicpocsegczdaadaddbdcrdcxdidsdsegdweiendentryequextextrnglobalhltinincludeinrinxjcjejmjmpjncjnejnzjpjpejpojzldaldaxlhldlistlximaclibmovmvinamenlistnoporaorgorioutpchlpoppublicpushralrarrcretrimrlcrmrncrnzrprperporrcrstrzsbbsbiscallshldsimsphlstastaxstcsubsuixchgxraxrixtextxthlABCDEHLMPSWSPIXIYabcdehlmpswspixiymodandorxorshlshrnotMODANDORXORSHLSHRNOTL!"cL*c|!"c*^*b|ʵ:bo&ͩ!9s#r͈P[:bo& ͈Pc!9^#V! ͈Pc!'DMò!9^#V! ͈Pƒ!9^#V!͈Pʢu!DM!9^#V"`!"X"Xò!9^#V"`!&DMQ̈́!9s#r!`PU^BK6*@ba͗PDM!9^#Vͫxv*X|v-!9s#rzc!9^#V##^BK!͈P8!"b!Bb"b! }2b̈́u!9^#V"^!9^#V###^!`P"b!"Xs!(DM!cͱ"^ðDM͈Pʗ!(DM!cͱ"^ð`iBX^"``i)W^#VBKQ!9^#VW"`!*DMQͩ!9~#fo͈P!9^#V!<͈P!.!-"`DM !9^#V"`uQ!9^#V"`Qu! "`Q!9^#V"`QP(`i"^L! 9N#F!9!9s#r`i!9sͩDM`PU^!9s#r!͈Pª!9^#V!͈P`i!9~#fo#s#r+sx!!9~#fo+s#r#s!9^#V^!`PU^!͈P !D!9~#fo#s#rs!!9^#V#su!9^#V^0!9!9s#r!!9s#r!!9s#rp!9^#V))))PYpP!9s#r!9~#fo#s#r+^BK!`PU^!͈Pʩ!0PYPDM`iaͧP`ifͨP`iDM`iAͧP`iFͨP`iDMW_!9!9s#r!!9s#r0`i!9^#V)))pP!9s#r!9~#fo#s#r+^BK!0ͧP^`i7ͨP^_!9!9s#r!!9s#r×`i!9^#V)pP!9s#r!9~#fo#s#r+^BK!0ͧP`i1ͨP{_!9!9s#r!!9s#r!9^#V! PPY!9s#r!9~#fo#s#r+^BK!`PU^!͈P-_P BaDH2OQbadh2oq_!9^#V~ʄ!!9s#r!!ͷ!9^#Vinvalid character in number.L! 9N#F!c!9s#r!9^#V!c$Q`i!9~#fo#s#r+sͩDM`PU^!9s#r!͈P!9^#V!͈Pu!!9^#VsL!cDM! 9!9s#r`i#DM+^K! 9~#fo#s#r+s{nD!g!9s#r!DM`i!9~#fo!P!9s#r))V! 9s#r! 9! 9^#V^#V6J!9s#rz! 9^#V!9^#V!P!9^#V#DM!9^#V+!9s#r!9^#V`iͧP~!L:co&L͗P2:c€!c[*:[*.[".[è.*.[##".[++^#V">[[sè.Pch.d.o-sL.u.x.y.!9*>[P":[*:[*6[P.*6[":[*2[|/.*0[#"0[*8[+"8[#*:[P/*4[`iK͈P/!.!"<[/*<[#"<[*>[~N/*<[*6[PN/*>[#">[+^`iK͈PK/!/*<[*0["0[*2[|—/k/*0[#"0[*8[+"8[#*:[Pʗ/! `iK͈Pʔ/!d/ø/*,[`iK͈Pʱ/!*0[#"0[+*0[!"X"X! 9~2XG+V+^+6"X+N+V+^!Xw#/y0/w# 00!X>^)|,0g,$0s+=0Z!c0~*X+"Xw!X0#N0*Xa0+6-0123456789abcdefL:8DM|‡0!! 9^#V! 9^#V͟0L! 9^#VI6!XDM0`iDMx0!" c!! 9^#V6J0ù0! ^#V! 9^#V;"@[͈P 1!*@[!9^#V!s!!9^#V!s! 9^#VL!9N#F! 9^#V! 9~#fo P"D[!"B[f1*B[#"B[*B[*D[$Qʚ1!9^#V`i#DM+^5͈Pʗ1!_1! 9^#VL!9N#F!`in`Ps! ^!`P1!61!'2!9^#V!͈P'2`i~#'2! 9`i^#V! ^#VP͉OͱLtL;M͆L!! s#r`is#r!9^#V! 9tL͘L! ^FE!9`L+Oj2!!L!9N#F!L[!mL͘L! ^FE!9͆L! ^!`P2!L[! ^#V`i^#VP͉OͱLtL&M͆L 3`i~# 3!L[`i^#V! ^#VP͉OͱLtL;M͆L!L[tLL!9^#V"P[! 9~#fo+s#r!Pl3! 9^#V͟3DM͗Pl3`i*P[#"P[+s`i ͈Pl3"3!*P[s`i͈Pʖ3*P[!9~#fo͈Pʖ3!!9^#VL!9N#F3"R[͗P3!*R[`P"R[3!`inpPs!ì3P3 333*R[L!9N#F! ^#V`i^#VQʿ4! ^!`P34!!`in`Ps`i~#W4̓8! ^#V! ^#V! ^͢?"T[ͨPʧ4*T[|4!Ó4!`inpPs!! ^#V`is#r*T[! s#r`i~#fo#s#r+^!`PL!9N#F`i~5! 9^#V`i#DM+^/5͈P5!4!L!X! 9^#V/5L!9N#F`i ͈Pe5! 9^#V! 5͈Pe5!! 9^#V5L!9N#F! 9^#V5Pʝ5!! 9^#V`iKP5P5!`iL! 9N#F! ^#V`i^#VQ5!9^#V!`P6!9^#V`i~#fo#s#r+s!`PL!XDM`i4Y$QH6`i DMI6(6L!9N#F!"V[`i~ʶ6! ^!`Pʄ6!6"V[! ^w=*V[pP"V[! ^!`Pʶ6! ^#V*!! s*V[L!9N#F!6"Y! ^!`P6!! ^!`P[7! ^#V`i^#VP"X[*X[! ^#V! ^͗B*X[͗P[7!`in&pPs!`is#r! s#r!! 9^#V!͈Pʔ7!`in&`Ps!`is#r! s#r!`i~#¥7̓8! ^#V!͈P7!! 9! ^͗B͗P27! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&pPs! 9^#V`i~#fo#s#r+s!`PL!XDM`i~i8`i DM4YQf8!E8!`is#r! s#r! s#r`iL!9N#F! ^Hʹ8!! s#r`i! s#r!)"Z[|ʟ8!! s#r!`inpPs*Z[! s#r!Zzs# y8*""c*Y9L!![!qK!:o&`P[s! ;"h[![DM!"$\*$\P:`i^! ͈P9`i^! ͈Pʘ9`i#DMt9`i~:`i^!>͈Pʶ9!"(\9`i^!<͈Pʧ:!"(\`i#DM^! ͈P9`i^! ͈P99`i"&\`i#DM~):`i^! ͈P:`i^! ͈P&:!`i#DM+s):9*(\w=*(\|L:!*&\;"(\\:!*&\;"(\*(\͈Pʤ:! ;!nJ*&\!ͲJ!/;!ͲJ!! H! 1;:`i*$\#"$\+)h[s#r`i#DM~:`i^! ͈P:`i^! ͈P:!`i#DM+s:û:g9!h[*$\: !1;Can't open file for redirection: $L*YK!DM`i P\;`i#DM+w=B;!9~#;!H`P;!;xH9A:$$$.SUBL!" c!L!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:L! 9^#V!! 9^#V;L!^Y"*\!".\ <**\"*\*.\#".\*.\ PC<**\^#V!;͈PM<`i'DM`ij]$Q.>`i%~8> >!" c!! 9^#VH"j]͈P\>!" c!*j]͈Pn>J"j]*j]J! 9^#V!`Pʐ>!H!H͈P>! 9^#V!`P>!H͈P>!" c*J!>! 9^#V!`P͈P>!" c*J!!!! s#r!# s!$ s*j]!& s`i!9^#V!s#r! 9^#V!`P#!% s!l?!9^#V!s#r! 9^#V!`Pe?ͧF*J!L!9N#F]G!& ^J!H*J!!% s!L!9^#V)))^YDM! 9^#V! 9^#V! ^#V`i^)Z^#VKL!DM!9^#V"l]*l]&^J*l]$~b@*l]$^!PDM! 9~#fo%QE@! 9^#VBK! 9^#V*l] Ab@*J!! 9^#V`iPKP"n]|ʶ@*n]! 9^#V`i*l]H"p]|ʶ@*J*n]*p]P;PPY*n];PPYDM`i! 9~#fo$QA! 9^#V`iP! 9^#V`i*l] AA*J`i*J! 9^#VL!9N#FjG&A!! 9^#V! 9^#V!$ ^!qK!$ ^! 9~#fo`P!$ s{zA`i!~#fo#s#r!L:s]A!}2r]!}2t]}2s]!r]! H! !H:t]o&͈PA!}2s]!:Zo:s]o#}2s]&r]#s!"t^:s]o&DM! 9~#foPB! 9^#VBK! 9^#V*t^r]qK`i*t^"t^`i:s]oP}2s]`iL! 9N#F!"v^^B*v^#"v^*v^! 9~#foPʓB!9^#VH`i#DM+s!͈P“BWB*v^L!9^#V)))^YDM! 9^#V! 9^#V! ^#V! ^)Z^#VKL!DM!9^#V"x^*x^&^J*x^$~YC*x^$^!PDM! 9~#fo%Q 6 #=H>6#=HyʣI I II ͼI0I0_zWI/:I=I : >hI AڣI[YI@eIaڣI{ңI`w# .ʃIʜIkIͪIw#lI{o|g ʜIͪIw#I&jz!|*³I >?a{ 0:I7!9^#V*LZ~#EL!RL]L|!d[wL!\[~#~#~#~\[w#w#w#w!_[*^[*\["d["f[*d[*\["d["\[*f[*^["f["^[!\[>w#L!\[~%O#LO=ɯ<_[!g[~OM_[!g[LL+M\[!d[#0M\[!d[#EM\[!d[#YM\[!d[#mM\[!d[#M!\[~/w#‘M:d[?*\[*^[))үM,=§M"^["\[M:_[:d[?MW!_[~w+MM!NyL\[Md[MyMNL\[Myd[MMN`[!\[w##NLMNMN`[!\[w#CN!`[w#SN> !\[~w#bNO`[!d[#wNyN!\[4=[N=N!\[~w#œNO`[!d[#¯NyNÆN`[!d[#N!\[`[~6#N> !\[~w#N O\[!d[#O=NL%O!LO!))O, P}o|g=O=ODM!>))P =P}{_HP|SP|7g}o.P{_HP)CP}{_HP|g}oSP|g}o|/g}/o|g}o|g}o|ʡPÒP}’P|ʡP!}¡P|ʒP!}|P}|?>o&zo&|P}|>o&|o&}/o|/g#}}o|gBK^#VzQ#y Q###P#xQ#~#fo}|>?o&}|>o& "                 } ax rol(%: 'a(%: |&V KQ NL YG!D A ; } zwtqnk jgda]\![ RIFC@?>9 # :#  # :    0 ##$ :    0 ##$    #  #  #    0 ##%    *   7- @    %, (     T+8," :I ;: 2(2 ($: D    H W P I B ; 4 - &     /I0D1?2:>5306+5&-!.`J dY ]R VK OD H= A6 :/ 3( , ! %  /K0F1A2<>7326-5(-#. =         /07 0 <7)4?$? *$*!- +, +;.;1*,(+)+,     ' *  #      /(0%7   / <6)3?$? *#* - +, + ;0*+(*)+,  .& '/ :#$9 1  #98  #   #98  (;) % ( ``.oOut of disk space!6+?>,;<1/:0298547!/? "'*'. 259 =@CHKNRX8\`f mvqt| ڇʊÑҕ™ʫ: * @ "   #'*.26 :=AEK"P0TY2] b7fjnsw{########%$########%$>365.-7>365.-7rr+ww+a a+ xx+&c???????????;;;;;;;;;;;;;;;=;Y;Y;Y;Y;Y;Y;Y;Y;Y;YY;?~AAB ;BDD 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ @@@@ c???????????<<<;;;;;;;;<<<<f><'Z<'Z<-Z<-Z#<-Z(<-Z-<-Z2<-Z7<3Z<<3Z9Z;@@AB ;7CWEWE 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ 2! ^! ͎2!9^#V!!9`+íã!?!9s#rzY!O/+!ͷC!9^#V!9^#Vs#r!! 9^#V!s#r! 9^#V!s#r!`i! 9^#V!R`i^! 9^#Vs! ^! 9^#V#s! ^#V! 9^#V##s#r`i^)*[! 9^#V##~#fos#r8*[! 9^#V##~#fos#r84 8%.8s multiply definedToo many symbols!͟2!!9s#r:&[o&|ʥ:[o&|‘*1[#" [:[o&|¢* ["[ù:[o&|¹* [###"[:%[o&|*[*[#͎2"#[!ͣDM|`i^!2!`is`i!9s#r!ͣDM|2`i^!22!`is`i!9s#r!ͣDM|a`i^!2a!`is* [! s#r*R]ͩ!9~#ʊ*[*#[!9^#V##s#r*[*#["[MEMRY$MEMRYSTACK͟2! 9N#Fx»`i^Y *[`i##~#fos#rp *#[`i##~#fos#rp `i##~# `i! /+!! s#r! ^#V!9s#r*#[*[! s#r!9^#V*["[p `i! /+p 4F p ! ^#Vͩ! ^#Vͩundefined COMMON %.8sUndefined symbol: %.8s͟2!9N#F!!9>SdS͆7!9!!!.]Q6!9!2!*.]3z\R`苮$ @$=<@+^YPN@K * iNz N~N+I NYRѨBͤҳYHҦHJͤY<<>2 힬Qt. ;vvaR `苮dlRvdO`OC Vers. 1.06D %s (C) 1982 1983 1984 by Manx Software Systems 8080%d errors %d is next label, work: %d 3z@dמ8  r-+ Ӌ- +  Ӌ ՜]h/ = (/Ш/ѳ +* (-/Ш/ѳ 7 г://~'@  г$P 8v: r-8 ,P׭:A֭A֭A֭A֭ г  г  г  г ;D׭ מRc;מ ,Pנמ\.מ献1מ8Eמ8OמPd_:8P}:`OTf\1duplicate output filetoo few arguments for -o optioncan't compile two files, second one ignored.c.asmrOpen failure on inputNo input!wOpen failure on output3z >==:N>=9N׌ة@֪AT+:N>=9N;j!9o@A=:N:o@A=9N9o >=:N:o>=9N 7 1 7@5 |,>=< HDB3z Ӌ ftmgq{rmuAMAAOhANkBckEbk ӳ:kunknown option: %c3z3z;h_3zMO_D_D _ .8080 %s.begin,.chl,.swt %scsave,cret,.move 3z@* z+ J r( |D _( @P * #ع Ҍ) *Q| ӳ ӳD" _ *Rؙ ӳ ӳD+ _ *TN ӳ ӳD5 _N D? _DZ _D{ _ D _D _D _D _ _%s%s_ %s.%c%c %s.l%c%c %s.d%c%c %s.lldp,.llds,.llip,.llis %s.lst,.lpsh,.lpop,.lswap,.ltst %s.itox,.utox,.xtoi %s.dldp,.dlds,.dlip,.dlis %s.dst,.dpsh,.dpop,.dswap,.dtst %s.fldp,.flds,.fst %s.itod,.utod,.xtod,.dtoi,.dtou,.dtox END 3zDR( D|\ _D|i _NK ln _X l _( PUBLIC %s_ %s_: push b lxi h,0 dad sp xchg lxi h,.%d dad sp sphl push d lxi d,.%d call csave 3zrl _.%d EQU %d 3z <  `@ 3z=a^QR*Yأ )Q3 @)+ W3أ T( Y ˳ _8L ˳ _8 _֜ LJ _ )ѳ t rS _D -  :\ _ r o _D - ׯ L{ _ LXI D,%d DAD D XCHG LXI H,%d DAD D JC .%d LXI H,.%d DAD D DAD D MOV E,M INX H MOV D,M XCHG PCHL .%d: DW .%d DW .%d CALL .swt DW %d DW %d,.%d DW .%d 3z<* < Ҍ_@ ְ=ָ z |,  l l  l l"l',l-l.l/l4 7l?&@cAJBlCl |` *< t]W<W |rRl_֮W t;< ӳ t׍ ֓ ӳ_ְ "l<ׯ =o CALL .%stst mov a,m ora a mov a,m inx h ora m lda ora a mov a,b ora c MOV A,%c ORA %c 3z |  | 3z X) z*:آ: B | Q{:`k`Ba::9`k: |+ '?R@ A | @A rK  Ҍ|`:9@ r`K | :::, Ҍ|@::9@ : | g<:`B`::, Ҍ|ה<:9<`k: |q; `a |m3z z+; ; B |`k; '?<@bA$ | |r K | Q;;;A | w;;@ |`;ؖϪ B | س`ak;3z |+ P*; @A;-  Ҍ| z z    ?N@7ABlC8 C`@*; Z`;`;@* x`;g ؋@֌A |rK z) " S  ؾ`9"@  V ` )P@ ώT_ @A9\_ @ A zf`_ B@CAҌh;3 DAD H %d .%d+%d LXI %s,3z |+ z*:ؘ`;: Ϥ ׇa; Ҍ|׎:֎3z C<< ` _ t+ T U V XA@ CALL CALL .chl 3z t+> QFG_ mvi h,0 3z | X* Ҍt+yc ; ؒ ӳ_ غ | ;_<׶@ַA MVI %c,0 CALL .%s 3z=؋=` `B`==o*ҌU_ T U1P%c(n_GP<C>4w_ Ҍ_ )ͥ;۩;`k= ,؆ Ҍ_A |+ '?@.AT r*`:K>":`K ,˳"@ ; `=`B`=>"``k=A ,-`˳"@ =>"= ,O˳"@ call .%slip DW -1,-1 DW 1,0 DB 0%c1H,1,0,0,0,0,0,0 call .%sad call .%sswap 3z<a<-A @   ?@FA9B(C/M` zN_` zfR_<a<A <ώZ<` |rK<%d .%d+%d LXI H,3zl r(_=< LXI H,%d-.%d DAD SP 3zl z |r(_ LXI H,%d-.%d DAD SP 3z t    <_`<-ώ&< LDA MOV L,A LHLD 3z Yn BsDp=_ |<>=_ r@_ 8;D3>=_;H__%s_.%d+%d%d3z ӳ ӳ ӳ ӳu_ MOV %c,%c MOV %c,%c 3za<؜ | Qس`a<A 3z tA;`_F "< zA< |Y< z|r* |z@ώr_ Ta<Z<A A LXI H,%d DAD B mov h,b mov l,c 3z 6\!~t'1@Ԏמzzxz랴"]PY'/ ;dOמ@xzШz\Ϥ~'16\&&3z+@AR\س'l ;'G[~#'$R'5נ''_֠' %s 3zyZ'-Ϭ(P( ZH(rӋ~=(/}V-(ρt@rC(s;/4~YRҌҌ󴱁r~ԁst|@Ԏ/}3z (<@@־( + Z( Y( Y=V׼( , ,ѳ ۴ 3z~(])6\@0)~,:)6\YߦyZ-)^ ;ρЅG[)~))6\Z])Yߦ@ԬG[/@@~֗ )* * E* E*)*)(_*#*ز)ަ(خ*"أ*7֥*#*G[)ަ(@@ ԁ.m)Ѕm)*ަ(@@Ѕѳ6\ԁ7*ަ(@@6\)Y*~#*@#*~T*#*h[#*~*ަ(@@k)ז*ؖ*6\A)8 ;ρ.*; ;χ@ԁ3z` s'Մ0+++*,"[t*D|,"[ύ"[מ,"[Ϫx,`怮`,A(@)G[6\(H+_ ;`* *ѳ@؍,~ + + +"+'+(,),,U,/, ,\ؕ+e ;ϬG[: T+ *T+ *ѳ6\+Ԥ~+~+ "+7+8 ;6\: ֛+~\+ *ѳ6\:6\ ض+ *ֶ+(:6\֛+(I, Ѵ,, )7, 7,` ; O,f ;O,:~Ԭ6\֝+6\Q~, Ѵt,` ;:@ )֝+:,֛+h[T+ , ؚ,b ; }4}*֯,;[ *+, ة, х+د,;[,%d3z<4+, +ӳ[ ,3zyZ--\ Z<-rӋ~<-t@3z&+@&@= ;[10` cZ3(r/ 0[1OdV/\dtѨt0`C0 |* ;0 r0 s?;0 , @@np@23z2ؓ0OdRؒ0@ ;\dR؋0W؋0t0=dώ,<$>&@BJ@B@p\dR0=dρX81BOU0-=16YB%1z鴱*1BpШp?1A ;\dR040B ;03z~m1m1AL\d+1)2<1=2>2F*2522Ϥ` 2121 212111121WAH@ϬAϬBϬCϬRBϬIEC2ϪjEH@ϪhEH@ϬCϬmD`1E`1C ;[1ύD ;-ώ>.`1;=d7C23z\d+W؉2E ;q2 Uw2 Vw2w2\d+ W[2 U׃2 V؉2;=d3z tШt( cZ3(22Ϭ[1OdV׹2\dtѨtr(2(r3zS3ASSz>#33ϬOdX#3- ;\S3S93D3D39393D3D3Y ;AS` S3#23zn3>=3. z>b33z @6׫3\d(;4VL40ڋ0L4R0+ 3 3_Z3e ;t4Od(>4=4U485A4.@Ϭ7`=-) R14 U149AԬ\d(4ׅ3WJ4g ;\Ϭ7=+ 5554y4]5555544*ئ4Rל4Sל40ڋئ4*Ш*ִ4cY4 .*=:U)Od\14\d``9L14R4S40ڋ4JBOU)5U5Z;14 r 50ڋ L5Ѣ<<B+ r 9V5`=-)Od\149AԬ\d9!14=`U)Od\t5;9Y"5`=-)Od\t5;9!5* .5 5 .@*=:U)143z\d*5&6"6<6<5b-\d*C6Q66<5<<6 \06h ;5 |6:=d5Z0b-06OdTa6\d@+֤67)؎6 Yw6 tS؁6i ;Aք6 z+9RL֐6A+ P؞6j ;A+d- ׵6 ص6V ; << xr гд6:=d63z * 'ҳ x) t& | г t@Դ x:5 (+*7r( r) +7 x) N7'Ug7T ;E' г x t+ t|7r( )57B + 0ؑ7 0ڳ:<w73zt7pح7@pf ;2ؽ7,@23z@``843za-@`8+b-=<;3z@`83z`N8+\d)Ҍ|?*989=d ڳ8;9E83z\d*Ҍ|@x8:N8 гI:8+آ8 7آ8 5ؓ8 ;7N8I 3z 8 9 9 99Od,=8<5A8g:`8+b- 8 Ϭ\d,.9~9,$9.$98999_:vK+8V$L 9<=d@;6b-`$L7tﴱv񴱠:xҳYҳxMҳx:x@|@3z=0 +(> >0>(> ) = ύp ;@ t_[>d>d>a>a>m>m>q>[>u>[>f>[>[>[>R>o ;@n ; v S3z г@Ԣ x v@ Qؼ> Ӆ.?o ;*? =k??;5A?t vv xx гӴ*?`=?`T>Z>KA\d+>>?`(? v`5@J`c? ;`*?A`?T??T????T??T??C?C???T???Т*?Т*?Т*? ;Bf?;=d?B?@R*@D @R @T @ @ ; t@<ԠÁۅ @V@H?3z\d'Xؤ@"L@ v+ q@ xVI@OdU@ rt@Y+ v" "; t@ rt x@7=dUع@ ;@ύY+; t@OdU3A\d t@ ;;` t Z@H@IZ3@) t(A )*A z( z A t \d'V3A ;7=d 3z XUA U+UA VUA @3z\d+X؇AF ; WxA VA;=dփA;-@ώm.*ؖA +C2 3za-@`8)b-Od<B`AAAB\dWA+a;9@+B\djEA\dhA`T+9[1OdRL@ %=o-= I$"@#(F>o.t#(F> I"1FB"VDFQDFA"'ZRFZ؃F Ҍ|׃F}F Ҍ|׏F[ ;EViFXiF *+@&  G MH F@G@GDGDGDGDGDGDGH H$G4G:G;-GEHG^F}F"1 G Ҍ|@ G%'p> I$LB'=eI*>eI+#GBFB"0؜G0؜G $F>===!ױGp*1\K+B"@())%FYFG"%,>9w#0H Ҍ|H }F= I<0ڋ0G ;B'6G<6GH ,VGX H Ҍ|{F0ױG1,H Ҍ|@,H X{%>eI.=BI=>===jH}FD%=I*>IRL@F>J,J-J.K/K1(K3K6J*K  QJCWJB]JjJ |@=@`J=?=< <*Kύ< 'J@J?JJ $ |-|@4RLJ= |طJC־JI־J=B= I ύ3 ;=RL@C'@()I%==*=RL$L== K==*=BIJ*K =GK=eI-*KB'==լLsN@b8o+׸M) ;kNSMTM;;)O><3zMڌ@ԊOk+A֣O + Ӌ ]O Y]O جOШҌk +أO Ӌ כO Y؅O +ѳ@Ԥ`Ok`O3z O늮QOO,A:$$$.SUB3z"OP$P늮P늮QPP$P0/0/a:3zט%;PIP:טrט Too many -I options3zטׂP:<献ׂP/<献؅P- ؖPPV!9^#VW!9^#V`i 4 6Y!9s#r`i !9^#V! ͎!9^#V^#V!9^#V! s#r!9^#V!9^#Vs#r! 9^#V!9^#V##s#r!9^#VV!9^#V͇! 9N#F!9^#V^`is!9^#V!^#V! s#r!9^#V!^#V! s#r!9^#V#^! s{W!9^#V#^)6Y!9s#r!9^#V#^)!9^#V!^#V\!9s#r!9^#V!^#V!9^#V͚ʷW!9~#fo##s#r++^#V!9~#fo##s#r++s#riW!9^#V! s#r͇!9N#F! ^#V!0֓0 MX`i^!X!9^#V^!MX!9^#V^!MX`i^!AX!9^#V^!MX`i -!9^#V!^#V! ^#V AX!9^#V!^#V! ^#V AX! ^#V!9s#r!9^#V!^#V!9s#r! ^!9s#r!9~#fo+s#r#|5Y!9~#fo++s#r~#ʸX!9~#fo++s#r~#Y!9^#V^#V! 9^#Vs#r!9^#V^#V! 9^#V^#V AXøX͇*&|oY*$DM!9^#V*$"$*$*&͌lY!|Y:`i!9^#V͗YLocal table full! (use -L)͇!9^#VDMʼY!Y:`iOut of memory!͇:6Y!;͹[:o#}2\:ZG[*~# Z͵$Y:5ZY:o+}2͇!9^#VR)^#VBKFZ`i^#VBKxhZ`i! 9^#VVeZ`i?Z:6uZ!٘xZ!͇! 9N#FG[*~V#^!֓¡Z!!!9s#r*~V#^!֓Z!9^#V!8Z*~`i#DM+s!9~#fo#s#r6\ìZ!`is!͇*~V#^!֓[6\[*~|1[Y:F[C[*~/ F[h[F[[͇*~V#^!֓g[6\M[͇*%/ʵ[[*ʵ[6\6\ͯ\* ¤[*~/ ʮ[:®[Ì[6\!!͇*~*%s*%.͚[*%#"%!9^#V"~͇*~|[!*/#~-\:7-\*~DM\*~|!\:7\`i"~*/+"/*/#^͇*~DM|ʆ\*%/ c\*%+"%^"~Æ\*/#"/^"~*~|†\:7ʆ\\q\`i͇!}2&"|"~}27!"/!/"%͇*~|\\:\!6\͇!}2*#"9\_!":\:7o& ]*x#"x͉\*ͭ_DM ʓ]`i ʓ]`i\l]*ͭ_DM ]]!}27Ó]*`!\DM`i*/#"/+s*/.͌ʐ]!}27Ó]]!*/s`i2^:2^*ʹQ*z9 ^*z+"z^#V"*z^#V"x*z!מ͎\*1|^:5*^!k ;!"1}25!}2:M^:5M^!!\^̀_!"/^"~;%s ͇! 9^#VBK{^!PYDM`i! 9~#fo͚_`i!9s#rð^!!9~#fos#r!9^#V! 9~#fo͚_!9^#V^#V`i^#V9^!!9^#V͟_!9^#V^#V`i^#V_!q ;Ý^s^͇! <_! =_!N_͊R!ͿOCompiler aborted by user!͇*! 9^#VQa͇! 9! 9^#V!h_͵a͇! h_͇! 9N#Fi`!9s#r! `!!9~#fo֓s#r_`i~#fo+s#r!ú_e_ __`!9^#V͇! 9N#F!9^#V!D``i^#V!7͍H`!!9^#V`i~#fo+s#rs!9^#V͇! 9N#F`i* `!"!& ^1!!7`i##=!\!9s#rz`!J!9^#V`i#~#fo\s#r!9^#V!ͱ7"`i"`i^#V*͌8a*7\͗`i#~#fos#r!7`is#rÂ``i~#fo#s#r+^!͇֓!9N#F`i qa! wawa͇!9N#F`i*#"+s*7͌ʬa!Q!7"`i͇֓!9N#F!9~#fo#s#r+^!9s#rzʉc!9^#V!%xc!9~#fo#s#r+^!9s#r/c! 9!9~#fo##s#r++^#Vc! 9s#rJc! 9!9~#fo##s#r++^#V͊c! 9s#rJc!9^#V^#V!8b! 9!9~#fo##s#r++^#VR͊c! 9s#r!-!9~#fo+s#rsb! 9!9~#fo##s#r++^#V͊c! 9s#rJc!9~#fo##s#r++^#V! 9s#rJc!9~#fo##s#r++^#V!9s#rxceccdibsbu=bxb,c! 9^#V~uc! 9~#fo#s#r+^`ieJcÆc!9^#V`iea͇!9N#F!! 9^#Vs`i J0! 9~#fo+s#rs! PY DM¥c! 9^#V͇!9N#F!! 9^#Vs`i֓,d^! 9~#fo+s#rs!PYDMc! 9^#V0123456789ABCDEF͇!9^#V"|͇\d"|͇:Lo&!9s#r!}2L*||ʸd*|DM!"|`iʵd!9~#ʵdG[*~:ʵd6\!F`iZ!"`6\!29s#r!֗^BK k!!49^#Vͤk! Z!09s#rz;e!09^#V##^BK!~&e!09^#V*ød!09^#V###^"``i!9~#[eG[*~:[e6\!F*|ʲe!!49s#rÀe!49~#fo#s#r!49^#V~ʲe!49^#V^!_ʯe!$!69^#Vsqe!!"Z!'*~xe*~X f6\lDM f!'!'֏`i͜eg!!9s#r?f!"Z! !9s#r!9!49s#r!29^#V!69~#fo#s#r+s*~V#^!֓ʔf6\!69~#fo#s#r+sff*~.f*Z f6\!69~#fo#s#r+s!"Zff*~ef*~Eag6\!e!69~#fo#s#r+s!"Z*~-g*~+3g6\!69~#fo#s#r+s*~V#^!֓ag6\!69~#fo#s#r+s3g!!69^#Vs*Zʐg!9!V͋w! "V!9^#V! g!69!'! 9΍!'֏Ϳg!"Z'h!'! 9m!69!'֏'h!"Z!69*~l?h*~LHh6\!"Z*Zeh!`!'qh!'"`!'!69ݏƐTʔh!*Z"Z! "V!"Z!'͆l"`h!W ;!"`#i!'͆l!29s#r! #i!29^#V!ͱ*`"`!'͆l #i!W ;!'͆l #ii! "V*T"`!"Z!"͆l!29s#r! ʕi*T*{i! ;!"͆l xidiÕi!29^#V*T#"T+*Rs6iZ*~"6i!*T#"T+*Rs! "V*~+i6\!,ðj*~-i6\!.*~>i6\!9ðj*~=j6\!! *~='j6\!!0*~=>j6\!*~<Uj6\!DMðj!*~=lj6\!*~>ʃj6\! DMðj!*~&ʚj6\!ðj*~|ʰj6\!*~=j6\`iͱ `i*~V#^!֓j!"Z?f!8!29^#V!k͊Rød!!j!k^#Vkjjjjjjjd.f*ihijjjjjjjejj+jjjjYjjjjjjjijijjjjjjjjjjjjjjjjjjjjIllegal char: 0x%x ͇! 9N#F! 9^#V`i#DM+s!!9s#rk!9~#fo#s#r*~V#^!֓l!9^#V!8l*~`i#DM+s6\k!`is͇*~V#^!֓>l6\*~a`l*~f`l6\*~Aʂl*~Fʂl6\!͇6\DM! 9~#foʤl!xµl! ;!`i\m6\DMÞm! ! !! ! !DM!!9s#rl!9~#fo#s#r!9^#V!83m*~V#^!֓3m`i))))lDMlm!0PY\DM!!9s#r]m!9~#fo#s#r!9^#V!8ʛm*~0ʛm*~7ʛm`i)))6\DMNmme06m16m26m36m46m56m66m76mXlblflnlrltlxlm`i͇! 9N#F!9`i~in`i^!8$n`i^!9,n! ;!9!9֏`i#DM+^͜֏͜n!93z +;o)>o* [(oon6oonon 7n \n FoD( Y؋o8;9p tt 7צo ^צo \צo Fצo Ҍ|צo\ ;;RL@t)tB>;=\K;&E 7no o`$L+ r@;X7 | >; I 3z t0ؿoH t꘻3z o t0 o0oo<<<I, 3z Y7p tp"p"p1p z<]x/p@0pA zP@3z tppppp p pp!tp#pDpFpp z z% z z&|p z z'p z%RL >=xs>=xs>=xs>=ys@ Tt Ut z!t Qt z&!t z% Ҍ|@RL Ϸ !w ؟t@֠tA%֋t ֋t@=Tt>Tt@ t B u Y u| | u@ "t $u Y uY u@ Tu Uuz/u Q*uz&/uz%  wvvvvv wvv$vZv3vkv@v|vMvvuvvu wu wuu wuuuu  Y w=RL-w  ցu  .ցu  ցu  /ցu  ցu  ցu  ցu  ցu  -ցu %ցu .v .v .v  ).v  *.v  +.v  ,.v .v .v  "ցu  $ցu  #ցu v v@.vA.v vv@>RL Tw U,w z 7w z ' 3z tnwRwRwewnwew z zww t<5xww z z˴ t0aw tڴ͇!9^#V!! 9^#V=͇!9^#V!Ăƈ͇!9^#V!! 9͇͆! 9^#V!x! 9^#V! 9^#V!Ă͑4x! 9^#V! 9^#V!Ă͇!9^#V!! 9^#V!Ăp͇!9^#V!Ăx{x!!͇!9^#V!! 9^#V!ĂaĂʃ͇!9^#V!! 9^#V!ĂaĂÃ͇!9^#V!! 9^#V!ĂaĂ͇ͧ!9^#V!! 9^#V!ĂaĂ͟ 0w~_!Uy~#fow~JcDyyyyyyyyzzyy'z(zT~4Ɛڐw~˒Ԓ1`i! DM`iݏ! DM~~ݏ~~~~ݏ~~""***֏͜֏͜*^#VDM!9" o&)>o>~g~#fo* uzo>g^#VJzo>g^#VJz* zo>g~#fo"Jzo>g~#fo"Jz* zo>gs#rJzo>gs#rJz* zo>g^#VJzo>g^#VJz _Jz o&"Jz o&Jz o&Iz͵~^#VJz~^#VJz o g^#VJz͵~X{~X{ o g~#fo"Jz͵~s#rJz~s#rJz o gs#rJz͵~^#VJz~^#VJz o g^#VJz~Iz~"Jz _WJz _ WJz og"Jz o g"Jz ogJz o gJz ogIz o gIz~^Jz~n&"Jz~sJz~n&Jz~|~|~|~!| o gS|IzS|Iz o GM*w# _|_|Jz o&9Jz~9Jz o GMKzz|Jzzʁ|Jz`iN#F# N#F#zں|¾|{Ҿ|##N#FKz`iBK^#Vz|#y|###|#x|#N#FKz^#VJz_Jz*s#rJz*sJzJz"Jz*Iz*Iz* Iz*'Iz*JIz*Iz!{_#zWJz:)=Y}Iz*͗Iz*Iz!{_#zWJz!{_#zWJz!{_#zWJz*zº}{º}Jz*z§}{§}Jz*}*|}}|?>_Jzz_Jz*}*|~}|>_Jz|_Jz*~*}|>?_Jz*2~*}|>_JzzJzJz{/_z/WJz{/_z/WJz*"JzJzJz)Iz o&!~͊RÿOunknown opcode: %d, PC=%d *"|`i+* g o$* o g o g?yIzIz]z]z]z]z]z]z]z]z]z]z]z]z]z]z]z]zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{Jz{{{{{{{{{{{{{{{x~({1{F{L{b{k{{{{{{{{{{{x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~| |||:{(|R{.|t{4|{:|@|T|o|y|||~ } }}}~&}/}8}A}H}U}j}a}}}}}}}(~~/~~@~M~W~`~x~~j~n~r~|}|||||s}}}L|{{x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~x~~w~͇!9^#V"+! 9! 9^#V!͵aDM!*+s`i͇!9^#V*+#"++s!֓ů222!"͇!9N#F c gX-r2w+x 0ڧ:ҧ͓a0o&͇ʃ:w*+"w.´!6w! e -ˁ2Ё+с 0:0)T]))_Ё:|/g}/o#*"*|Gc}/w+ Z#~>z>w+o>*w**+Š **#O~>2Ü##ń q#6#62#q q+ ~+ ~+!ߙw#>@2ޙ!ߙ~w#'O!#@2ޙ!ߙ~w#(ߙ!#(!ޙ5*  w+;͍W!͍L!<͍WL͍WWL͍LW͍LLW|é|z/W{/_*p#z6#6#s̆6#6#r#s#w̆]* ~+~w7+~w*#~T]#Od#+  2* w#6#w#>GK+y>O~# ;DX@]×~>2 y!T]w+p6K>2ͷ*#6#w#6#>2ͷ*#6?#6>#w¬#6*|ԇ!9N#F*ӇrFloating point :runderflow%roverflow%rdivide by zeror at location 0x!9~Z^+~Z^! ͝R0:io&͝R ʄo&͝Rs*6#6]T#w˜!-:0>#ª>~#»!"-"/-*N#~]] G#o$~+y]!->w#]y6#6#6#6Æ6#6#6#6Æ6*F#~CI!]m#oU$^+Vy]x]|/g}/o#]yx!Æx!Æ!>2*6*#4 ^&)DM)) #wz++ #w++~ˉ@җ͇!9N#F`i~`i#DM+^ͩR!ډ! ͩR!( s# y*"*",O,ͥ!Jͥ"*$!"$*"ƒ*"!4u#4*&+"&}Kʓʓo&"*&͇!9!29^#VDM1!9!DMJ`iߊ!"!!ͥͥ*"DM*$og!9N#F#^#Vkb6#> 6 #=>6#=yË 3 7( ܋P0_zW:/Z] : >ˆ AË[y@ÅaË{Ë`w# .ʣʼʋʋw#Ì{o|g ʼʋw#­&jz!|*Ӌ >?a{ 0:拷7!9^#V* *}| *"|!=!9}_|#W"ͥ o&ͥ 2!:" _ͥ :!_!9j!9F+N+V+^+~+ngxʈˆʈ# sog!9V+^+~+ngwʦ#Û|!9þ!9F+N+V+^+~+ng対Ќ#Ȍxw# Ќw|!9^#V#n~#!|!9^#V#n#x. +~|!!9~#foI#@}! 9F+N+V+^+~+ngډm}ډʝ }++w x}ɯ꓍~# x“!9F+N+V+^+~+ngy¶Fwx# ·̍=÷͇!9N#F`i^! `i^! `i#DMۍ!"=`i^!-!!"=`i#DM4`i^!+4`i#DM!9`i^!V#^!֓ʔ!9!9֏ J`i#DM+^͜֏͜C*=|ʨ!9Dî!9͇!9N#F`i^! ؎`i^! `i#DMü!"A`i^!-!"A`i#DM`i^!+`i#DM!"?`i^!V#^!֓P*? `i#DM+^"?*A|a*?Rd*?DM!99`ie|DM!99!`i~# xš!9괏"~#»!ȏӏ|!5!-~#~#~#~-w#w#w#w!0*/*-"5"7*5*-"5"-*7*/"7"/!->w#J!-~›#YÐ=ɯ<0!8~OÍ0!8fj+‹-!5#¦-!5#»-!5#ϐ-!5#-!5#!-~/w#:5?*-*/))%,="/"-8:0:5?UW!0~w+IB!NyG-W5WyÑD-Wy5WÑ1!-w#™DÑÑ1!-w#¹!1w#ɑ> !-~w#ؑO1!5#y!-4=ё=7!-~w#O1!5#%y1!5#@!-1~6#S> !-~w#f҃-!5#z=_nʛ!nʐ!))h, y}o|g=`=`DM!>))ҏ =‡}{_ʾ|ɓ|7g}o¤{_ʾ)¹}{_ʾ|g}oɓ|g}o|/g}/o|g}o|g}o|}|!}|!}|0}|?>o&zo&|J}|>o&|o&}/o|/g#}}o|gBK^#Vz#y###m#xz#~#fo}|>?o&}|>o&<(orxraneqneltulleuegtuggeuflsrsuradsbngmldvudrmumntcm~MPU80801LECHDB>@Bllddllfd extrn u$|$$$$$$$$$$  "" @    @@@@@@@@@@@@ @ @0@0@0@"@">auto<break<case=char<continue<default<do=double<else= enum>extern=float<for<goto< if=int=long>register< return=short5sizeof>static= struct< switch>typedef= union=unsigned=void< while~|__FILE__~}__LINE__~~__FUNC__0 * &"4$8(   2 00000    ~0    !!##@@DDFF    sppppppppss̙å???????????   ~0    !!     ========== ,48@DL`dl<!>!<!<!=!<!<!<"="< "= ">"="<#"<("< +"=/"=4">="< D"=J"5Q">X"=_"< f">n"=t"=}"< "" @    @@@@@@@@@@@@ @ @0@0@0@"@"lfdxà&+!9N#F!9^#V!/0!ͩ !!9~#fo+s#rzʞ!.`i##DM^#V͡)l!1`i^#V͡)u!"*K0`i^#V͢!9s#rzʛ!9^#Vou0*,K/!9!.K͉+!2K|+;,!6K|+;,͛+!9͉+ͭ+!9͉+ͭ+!6K͉+ͭ+!2K͉+ͭ+!.K͉+ͭ+!4ͩ !9!usage: cnm [-s] objfile ... -S-sTotals Code: %ld Data: %ld Udata: %ld total: %ld (0x%lx) &+!9͂+͛+!!@9^#V͎!69s#rzº*:K!@9^#V!ͩ !69^#V!!! 9O!9!͝/!9^#V!͝/'!!9͂++͉+;,͛+ͭ+!<9^#V!9ú!9^#V!ͬ/G!9^#V!ͬ/!9!*9^#V͔.ͭ+!,9^#V͔.ͭ+!.9^#V͔.ͻ+;,ͻ+;,͛+!9~ʦ!9!@9^#V!/ͩ ÷!>9^#V!<ͩ !9͉+ͭ+! 9͉+ͭ+!09^#V!09^#V!09^#V!Aͩ !9!.K!&9^#V͔.+͉+;,͛+!2K!(9^#V͔.+͉+;,͛+!6K!*9^#V͔.+͉+;,͛+**K|¨!,9^#V!ͬ/ʕ!!.9^#V͔.ͭ+! 9͉+ͻ+;,ͭ+!<9^#V!9!*9^#V!,9~#fo/Ϳ.DM!!89s#r`i+DM#|ʛ!69^#V!!!9O!9! 9^))F0!49)! 9^!u/!29^*!29s!29^!U͝/G!9~#G!r!49)!89~#fo#s#r+͝/y!!89s#r!0! -!9!49!9^#V!uͩ !9û!0! -!!9!49^#V͔.+͉+;,͛+ͭ+!<9^#V!9*,K#",Kú!9͉++!>9^#V!ͩ !69^#VrCannot open: %s, err=%d %s(%-8.8s): %s: code: %u data: %u udata: %u total: %lu (0x%lx) Gl %04x %s %-8.8s%s: is not an object file. .&+*~0͝/ !*!9^#V2*!?!9^#V2*b !$9!6(!9!9^#VJ(!9s#r!͝/!9^#V!9^#V!9s#r!9^#V!ͬ/c!/!9^#V2*!9s#rzc!9^#V#!9s#r!9^#V#^!:͝/ʋ!!9~#fos#r!9^#V|)!"~0"2!9!6(!9s#r!9!6(!9s#r!9^#V!ͬ/\ *2/2!9s#r! !9!9^#V)))))!(9͆*!9^#V!9s#r!9^#V!9~#fo90c!9~#fo#s#r+^!9~#fo#s#r+s%!DMp`i#DM`i /`i!9^*!9~#fo#s#r+s! ͝/ʽ!9~#fo+s#rk! 9^! ͬ/D !.!9~#fo#s#r+s! DM`i#DM`i /D `i!9^*!9~#fo#s#r+s! ͝/A !9~#fo+s#rD !!9^#Vs*2#"2ù͕) !9^#V!2)!"2!"~0*~0*2/ʟ *~0#"~0+/2!"~0!&+! 9! 9^#V! 8&+!9N#F!"G!9^#V"G!9~#fo#s#r+^"G| *G%͝/ʵ !!9s!"G! "G!'"G!9~#fo#s#r+^"G-͝/h !"G!9~#fo#s#r+^"G*G0͝/ʒ !0"G!9~#fo#s#r+^"G*G*͝/ *G##"G++^#V"G!9~#fo#s#r+^"G !"G !9~#fo#s#r+^"G*G2#^!u/ *G /*G"G *G.͝/ʽ !9~#fo#s#r+^"G*͝/p *G##"G++^#V"G!9~#fo#s#r+^"Gý !"GÑ !9~#fo#s#r+^"G*G2#^!u/ʽ *G /*G"Gy !"G*Gl͝/ !9~#fo#s#r+^"G!"G *Gh͝/ !9~#fo#s#r+^"G*Gä !"G; ! "G; !"G; !"G*G!9*G*G !9"G*G*G"G *G##"G++^#V"GQ*"G *G##"G++^#V"G*G!9"Gs 0c d5 o sg u# x, !9*G/"G*G*G/ *G"G*G|" *G#"G*G+"G#*G/" *G`i+͝/ ! !"G2 *G#"G*G~i *G*G/i *G#"G+^`i+͝/f !+ *G*G"G*G|² Æ *G#"G*G+"G#*G/ʲ ! `i+͝/ʯ ! *G`i+͝/ !*G#"G *G!"0"0! 9~20G+V+^+6"0+N+V+^!0w#y2/w#&3!0>^)|Gg,?s+=:Z!~~*0+"0w!03#i*0|+6-0123456789abcdef&+DM|¢!! 9^#V! 9^#Vͺ&+! 9^#V!0DM`iDMx!":K!! 9^#V͡)! ^#V! 9^#Vͧ"G͝/$!*G!9^#V!s!!9^#V!s! 9^#V&+!9N#F!"Gl*G#"G*G! 9~#fo/! 9^#V"GÓ*G+"G*G|!9^#V;"G͝/ʷ*G*G`i#DM+sÌe*G&+!9N#F!`inu/s! ^!u/!p!Q!9^#V!͝/Q`i~#Q! 9`i^#V! ^#V/͞.+͉+P,͛+!! s#r`is#r!9^#V! 9͉+ͭ+! ^!!9u+@.ʔ!!&+!9N#F!G!͂+ͭ+! ^!!9͛+! ^!u/!G! ^#V`i^#V/͞.+͉+;,͛+4`i~#4!G`i^#V! ^#V/͞.+͉+P,͛+!G͉+&+!9N#F! ^#V`i^#V+0! ^!u/p!!`inu/s`i~#”0! ^#V! ^#V! ^O"Gͽ/*G|!!`inͅ/s!! ^#V`is#r*G! s#r`i~#fo#s#r+^!u/&+!0! 9^#V-&+!9N#F`i ͝/c! 9^#V! r͝/c!! 9^#Vr&+! 9N#F! ^#V`i^#V+0ʨ!9^#V!u/p!9^#V`i~#fo#s#r+s!u/&+!0DM`i.190`i DM&+!9N#F!"G`i~c! ^!u/1!p"G! ^$*Gͅ/"G! ^!u/c! ^#V͂'!! s*G&+!9N#F!"1! ^!u/ʗ!! ^!u/! ^#V`i^#V/"G*G! ^#V! ^D*Gͬ/!`in&ͅ/s!`is#r! s#r!! 9^#V!͝/A!`in&u/s!`is#r! s#r!`i~#R0! ^#V!͝/ʋ!! 9! ^Dͬ/! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&ͅ/s! 9^#V`i~#fo#s#r+s!u/&+!0DM`i~`i DM.1+0!!`is#r! s#r! s#r`i&+!9N#F! ^Ͱ$f!! s#r`i! s#r!%"G|L!! s#r!`inͅ/s*G! s#r!2s# y¨*"K81&+!!6H!͆*!:o&u/6Hs!"G!6HDM!"H*H/ʣ`i^! ͝/=`i^! ͝/E`i#DM!`i~ʣ`i^!>͝/c!"Hw`i^!<͝/T!"H`i#DM^! ͝/–`i^! ͝/ʙw`i"H`i#DM~`i^! ͝/`i^! ͝/!`i#DM+sÞ*H$*H|!*H͆"H !*Hͧ"H*H͝/Q!!)*H!)!!)!! 6(! à`i*H#"H+)Gs#r`i#DM~ʠ`i^! ͝/Ž`i^! ͝/ʝ!`i#DM+sàh!G*H!Can't open file for redirection: $&+*1+!DM`i / `i#DM+$!9~#,!6(u/,!0%%A:$$$.SUB&+!":K!&+!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:&+! 9^#V!! 9^#Vͧ&+!X1"H!"H*H"H*H#"H*H /*H^#V!:͝/ü!":K!!1DM `iDM`i~#+!9^#V`i^#V͡)+! ^#V"H! 9^#V!u/#"H*Hu/l*H^*Hs{l!":K!*Hu/ʓ*H#^*H#s{“!":K!! ^#V*Hs#r*H##^*H##s*H###^*H###s!J*Hs#r*H!9^#V!9^#V!9^#V*H^#V+! 9!/ !:*Hs#r!*H&+!9^#V!/J!9^#V! /T!":K!!9^#V)))X1DM! ^#V! ^#V+!9s#r!! s! s! s`is!:! s#r!9^#V&+!HDM`i'DM`iI90`i%~ù!":K!! 9^#VJ("I͝/ !":K!*I͝/m)"I*I|)! 9^#V!u/=!6(!6(͝/ʃ! 9^#V!u/s!6(͝/ʀ!":K͕)!æ! 9^#V!u/͝/ʦ!":K͕)!!!! s#r!# s!$ s*I!& s`i!9^#V!s#r! 9^#V!u/#!% s!!9^#V!s#r! 9^#V!u/T#͕)!&+!9N#F $!& ^|)!6(͕)!!% s!&+!9^#V)))X1DM! 9^#V! 9^#V! ^#V`i^) 2^#V+&+!DM!9^#V"I*I&^|)*I$~*I$^!/DM! 9~#fo:0! 9^#VBK! 9^#V*Iͺ͕)!! 9^#V`i/`/"J|c*J! 9^#V`i*I$"J|c͕)*J*J/P/PY*JP/PYDM`i! 9~#fo90ʮ! 9^#V`i/! 9^#V`i*Iͺʮ͕)`i͕)! 9^#V&+!9N#F$!! 9^#V! 9^#V!$ ^!͆*!$ ^! 9~#fou/!$ s{'`i!~#fo#s#r!&+:J›!}2J!}2J}2J!J! 6(! !6(:Jo&͝/~!}2J!:2o:Jo#}2J&J#s!"K:Jo&DM! 9~#fo/ʻ! 9^#VBK! 9^#V*KJ͆*`i*K"K`i:Jo/}2J`i&+! 9N#F!"K *K#"K*K! 9~#fo/@!9^#V6(`i#DM+s!͝/@*K&+!9^#V)))X1DM! 9^#V! 9^#V! ^#V! ^)2^#V+&+!DM!9^#V" K* K&^|)* K$~ * K$^!/DM! 9~#fo:0! 9^#VBK! 9^#V* K;  ͕)!! 9^#V`i/`/" K|g * K! 9^#V`i* K$"K|g ͕)* K*K/P/PYDM|d !`i* KP/PYDM`i! 9~#fo90ʲ ! 9^#V`i/! 9^#V`i* K; ʲ ͕)`i͕)! 9^#V&+!9N#F$/ !! 9^#V!$ ^!!9^#V͆*!"6(":K|!!!$ ^! 9~#fou/!$ s{H!`i!~#fo#s#r!&+! 9N#F! 9^#V"K*K+"K#|ʢ!`i^! ͝/ʌ!! !6(`i#DM+^!6(d!! 9^#V&+! 9N#F! 9^#V"K*K+"K#|!`i#DM+^! 9^#V6(!! 9^#V&+!9^#V)))[1~"!":K͂+!9^#V)))^1^#VBK!9^#V"!& ^|)!`inͅ/s!6(!`inu/sT#͕)! 9!! ^#V͔.u+ͯ,ͭ+!$ ^͞.ͻ+;,+͉+;,͛+"!":K͂+0"~":""!!# s! 9͉+u+@.#!!! s#r!$ s!":K͂+! 9͉+ͭ.u/!$ s! 9͉+u+,ͭ.!! s#r! 9͉+&+!9N#F!#6(`i!~#„#!!$ s!`i!~#fo+s#r$ʡ#!!"K*K:0#*K+"K^!ͬ/#*K#"K#ç#*K!$ s!͝/$`i!~#fo#s#r!!$ s!&+!"K&+!9N#F!!6(*KPYͬ/L$!! ^#V*Kͬ/ʬ$!!6(":K͝/n$*:K͝/ʐ$!":K!!!j*!"K!*:K|ʜ$!`i"K!! ^#V"K!&+!9^#V)))Z1^D+!$D+"*2!"2*2%*2!4%#4*2+"2}$ % %o&":K*2&+!9!29^#VJ(DM|)!9!6(DM͕)`i͝/l%!":K!!&+!9N#F! ^#V+))""K͂'! 9^#V%" K|%* KPYͬ/%! 9^#V*"K:0%*"K%! 9^#V* K͆** K&+!9^#V###`/#"&K*K"$K|&!K"$K"K"K*$K##^#VBK+&`i"$K! ^#VBK! ^#V`iͬ/ʪ&! ^#V`i^#V))PY͝/ʪ&! ^#V*K͝/y&! ^#V##^#V"K! ^#V^#V`i~#fos#r! ^#V##^#V! s#r+&`i^#V*&K+07'`i^#V*&K͝/&! ^#V*$K##s#r'*&K))PY"K*K*$K##s#r! ^#V*K##s#r`i^#V*&K/*Ks#r*&K`is#r*$K"K!! s#r`i`i*K͝/~'!3)DM͝/Z'!!`is#r!! s#r`i͂'*KDM&&+!9^#V!"(K*(K##~#ʥ'!*KDMö'! ^#VBK`i*(K:0'! ^#V*(K:0 (! ^#V`i+0(*(KPY:0 (! ^#V*(K90 (í'! ^#V*(K##s#r*(K! s#r`i"K!D+9(D+*2DM*2og!9N#F#^#Vkb6#> 6 #=](>6#=f(y) ~( ‚(s( ')ڛ(0_zWÅ(/¥(è( : >( A)[(@(a){)`w# .()()w#({o|g ))w#(&jz!|*) >?a{ 0:1)7!9^#V*61W)*w#+!G~:.#+/.=ɯ<G!G~O,,G!G, ,+*,G!G#E,G!G#Z,G!G#n,G!G#‚,G!G#–,!G~/w#¦,:G?*G*G)),,=¼,"G"G,:G:G?,W!G~w+,,!Ny+G,G,yb-+G,yG,b-G!Gw#8-+b-b-G!Gw#X-!Gw#h-> !G~w#w-OG!G#Œ-y¥-!G4=p-=-!G~w#±-OG!G#-y¥-Û-G!G#-!GG~6#-> !G~w#.".G!G#.=- ,:.! ,/.!< ,:./. ,:.:./. ,/.:. ,/./.:.!,:./.!,:.:./.!,/.:.!,/./.:."G!"G"G|.!"G*Gz./}.}z./||./g}/o#z./W{/_MD!.}y/Ox/G>))/, /}o|g=.=.DM!>))./ =&/}{_]/|h/|7g}oC/{_]/)X/}{_]/|g}oh/|g}o|/g}/o|g}o|g}o|ʶ/ç/}§/|ʶ/!}¶/|ʧ/!}|/}|?>o&zo&|/}|>o&|o&}/o|/g#}}o|gBK^#Vz$0#y0### 0#x0#~#fo}|>?o&}|>o&??abpgdtcmrfovunwkbsgrpsssmsrr+ww+a a+ xx+@K???????????JJJ::::::::JJJJT1Y1^1c1h1m1r1w1|111:+ :!! 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ B @ϬBϬCϬHDϬCϬF3ϪxF @ϪvF @ϬEϬE֧2MF֧2CS<2ύDS<.ώ#/֧2;c 93+y d+W3ES<ָ3 Uؾ3 Vؾ3׾3 d+ Wע3 U3 V3;c+y,.,Ш6.c46 44Ϭ2dV4 dѨ6,46,+y֚4Aaa?j4U4ϬdXj4-S<\֚4a4444444YS<Aa`.a4$?4+yֵ4>=4. ?ש4+y @&84 d(ւ5Vؓ50ڋ0ؓ5R0+ '5 !5_Z'5eS<[5d(>M5=M5UM58|BX50@Ϭ8`.) Rx5 Ux59AԬ d(44Wؑ5gS<\Ϭ8_>+ 7665567767;6685R5S50ڋ58Ш85q֠5 .*=:V)d\x5 d``9 Nx5R;6S;60ڋ;6JPFV)b6UZ6Zc<x5 rT60ڋ ؓ6Ѣ >=B+ r 9W]6`.)d\x59AԬ d9"x5=`V)d\׻6;9#]6`.)d\׻6;9B#]6* .7 7 .@*=:V)x5+y d*;7&X7i77 tR.> tS.>lS< tB t0ڋ I> x t t_ڳ tRڴ۴+y t+ x)A*v>B + 0ڋ ،> ) *q>0 +ب> >0>> @ t_>>>>>???> ?>>>>>>oS<@mS< vt> vx=c< v S+y t+0?A x) 0ڋ 1? )A*B +0ڋ X?0 +o? c?0f?o? ) 2? ύpS<@ t_????????????????oS<@nS< v S+y г@Ԣ x v@ Q@@V@no@ vn|AJnت@S<nq@AnA@@@A@A@A@A@@AA@A@Тq@Тq@Тq@mCRCK 4.2B BY KEITH PETERSEN W8SDZ modified and called CRC 1.1 by W.Swan, Alspa Computer, Inc. 05/21/82 !"9"/ 1/ eCRC: File CRC Check Utility v1.1:] -!] 6?# ­ Change instruction at 0208 (CD 65 07) to (C3 2D 04), to avoid printing message. e CRC reads the specified CP/M files, computes a Cyclic Redundancy Check (CRC) number based on the CCITT standard polynomial, and lists each filename with its CRC. This can help verify file transfers. CRC is unsupported software in the public domain. Command Format: CRC [[d:]fname [F,S,D]] d:) optional drive specification fname) any ambiguous filename (D.COM, *.*, etc) F) create a disk File CRC.CRC S) list System files only. D) list Dir (i.e. non-System) files only. Files with .$$$ or .CRC attributes are not listed. !m~F;2DC2SK2 U #2:FVÇCRC $$$guous filename (D.CO1 .* **}|!"*{z*`*"ß : DISK FULL: CRCFILE$!"**#"ɯ2l2! "!"``: NO DIR SPACE: CRCFILE$1/ ͘?:xXFile Not Found$e Sum of Listed CRCs = :Q:Qr:F:*}¶">͊ª`<  CANNOT CLOSE CRCFILE$CRC CRC*#"ɯ2l21 w# "!` $:fR:SVZ:DV!e.V!5te | |6e !]M!eMeXXXXXXXX XXX \<X++OPEN FAILED++$!"!"*z ^"\*)o|g}o"::Q:Q**"VX++FILE READ ERROR++$ZƐ'@'y~y#~f> y> _͍:F{͊2h2|:!\ M:\2!\ M\!\ M\!\ M\<7=Ɓo& M] M2h2|2>C>#>R#>CFF~$#~# xM :F²*}r">͊f`<ª ê CANNOT CLOSE CRCFILE$` ++ABORTED++$ */  TJ >0ڋ0&IS<B'}H >}HH ,VCIXQI ҌG0H1sI Ҍ@sI X{%>J.=J=>_>=_>رIGD%=K*>KփH=aH1I!,%TH HYH |YH |zz z* z@=MH"H7J=M@ >qLύ= 'K@K?LL $ |-|@4ML= |KCLIL=B=TJ ύ3S<=M@C'@()I%=_>*=MkM=?PL=?*=JLqL =L=J-qLB'=T&kM+y tZآL!S<+yI%@& *B'@()kM+y#V+MdQMA2@#`.+;#Mώ#"c<@ VL##c<@+y t' v( x)@*& + fMTMaMfMfMfMfMfMTMaM?%kMωAVM@VM+y\+\z\ ׍M$S<eQ ؗM;  +y N  M M%M'M,M-M.M/M1M3M7M?M@MAMBMCMM zM |M z\ \+y@х _>#/N#ZeNSKN&S<LA.݅ӁtטN+S<B֋Nۋ0ڋ ؑN >AѠSؑN&S<LA.լdUاN dA-@" dVOͬctZNt0ڋ NUN>=լ NֺO@bU9n+N)S<ֲOSOT(O;<#MlG+`;3ֺO Z؂O t ؂OiO zEOЅ́ͦbiO`ͻӌڳ "BO zb;MO dO;UN״Ot&v'x(;Fim+شO;v!;Mլ_>"zOLBOA.- d͋4O שNPV Pͬc=P3PJP x_>JP!HPJP*S<+y=<.<+kP>;pP><+yEڌ@ԊQy+A!P + Ӌ פP YפP P!Ш!Ҍy +P Ӌ P YP +ѳ@Ԥ!קPy!`Q+y #Q㉮Q#Q'Q$A:$$$.SUB+yDQcQkQ㉮bQ㉮QbQfQkQ0/0/a:+y嗌3؂QQ:<r嗏 Too many -I options+y嗌#Q:<ߋQ/<ߋQ- Q'R<+R+%R %R#Q r* %R <)R+R+Q< rr+y ӋrSR[+ _R '+Tut! 9s#r!>Tut!9s#r! 9^#V!9~#fo0U!9^#V! 9^#V! 9^#V!@Β1U!>Tut!>Tut! 9s#r!>Tut!9s#rÉU] TTTT4T7T:TU! 9^#V!9~#fo0ʧU!9^#V! 9^#V!9~#foU! 9^#V#! 9^#V^*r#"r^! 9^#V^#V!Β)^#V!Β^*.!9^#VFVDM|CV*N.CV*N^#V!9^#VFVDM`i^!9N#F_V! ^#VBKxʁV`i !9^#VN~V`iVV!^*.DMÜV! ^#VBKxV`i*,V`i !9^#VNV`iÓV!^! 9N#F!9^#V.V`i ͅVWnf`i FV|&W8X`i , pY`i  ͆nfu t ut!9^#VsrW^!9N#F!9^#Vn`isnf! s#rnf! s#rn! s{7Xn&)pYn&)nf T!9s#rnf ! 9^#V͒,X!9~#fo##s#r++^#V##++s#rW! s#r^!9N#F!9^#V! ^#V!0Β0ʷX`i^!ʏXn&·Xn&·X`i^!ʫXn&·X`i &/nf! ^#V«Xnf! ^#V«X! ^#Vnf ! 9s#r! ^!9s#r!9~#fo+s#r#|oY! 9~#fo++s#r~#Y++~#SY! 9^#V^#Vsr! 9^#V^#Vnf«XY^*4|ʩY*2DM! 9^#V*2"2*2*4̈́ʦY!Y:<`i! 9^#VYLocal table full! (use -L)^! 9^#VDMY!Y:<`iOut of memory!^:DZ!;[:o#}2\:PZq[*#FZ%'Z:CPZ'Z:o+}2^! 9^#V%T)^#VBKÀZ`i^#VBKxʢZ`i!9^#VNŸZ`iyZ:DʯZ!òZ!^! 9N#Fq[*d#^!ΒZ!!*d#^!Β[0[*`i#DM+s#`\Z!`is!^*d#^!ΒF[`\,[*|[[Z:p[m[*/p[͒[p[,[^*d#^!Βʑ[`\w[^*3=[\*[`\`\\*[*/[:[ö[`\!!^**3s*3<͒\*3#"3! 9^#V"^*|$\!*=#~W\:EW\*DM\*|K\:E9\`i"*=+"=*=#^^*DM|ʰ\*3=ʍ\*3+"3^"ð\*=#"=^"*|°\:Eʰ\\Û\`i^!}2&""}2E!"=!="3^*|\\:\!`\^!}2*#"1 ]#_!":(]:Eo&>]*#"ͳ\*Ͷ_DMʽ]`i ʽ]`i\ʖ]*Ͷ_DM ʇ]!}2Eý]*`!\DM`i*=#"=+s*=<̈́ʺ]!}2Eý]A]!*=s`i\^:\^*R*13^*+"w^#V"*w^#V"*w!͆]*?|B^:CT^!kST<T>=s;:,;:-:<1<^;:aU)T:;<:j;<~+y z* |) 1u}@~A=9Mנ>=:M>=9M׋ب@֩AU+:M>=9M;"9n@A=:M:n@A=9M9n >=:M:n>=9M 7 0 7@4 |,>=< HDB+y Ӌ fsmfqzrluA[AA]gA\jBqjEpj ӳ:<junknown option: %c+y+y;q_+y[]_R_R _ .8080 %s.begin,.chl,.swt %szsave,zret +yN# z+ C r! |R _! @I * #ز Ҍ) 8Qu ӳ ӳR _ 8Rؒ ӳ ӳR$ _ 8TG ӳ ӳR. _G R8 _RS _Rt _ R _R _R _R _ _%s%s_ %s.%c%c %s.l%c%c %s.d%c%c %s.lldp,.llds,.llip,.llis %s.lst,.lpsh,.lpop,.lswap,.ltst %s.itox,.utox,.xtoi %s.dldp,.dlds,.dlip,.dlis %s.dst,.dpsh,.dpop,.dswap,.dtst %s.fldp,.flds,.fst %s.itod,.utod,.xtod,.dtoi,.dtou,.dtox END +yRR! R|U _R|b _\D zg _Q z _6 PUBLIC %s_ %s_: push b lxi h,0 dad sp xchg lxi h,.%d dad sp sphl push d db 221,229,253,229 lxi d,.%d call zsave +yz _.%d EQU %d +y  <  `@+y<">=^QR*Yذ )Q@ @)+ W3ذ U( f ˳ _8Z ˳ _8 _֩ ZW _ )ѳ ׁ r` _D - ׌ :i _ r | _D - ׼ Z _ LXI D,%d DAD D XCHG LXI H,%d DAD D JC .%d LXI H,.%d DAD D DAD D MOV E,M INX H MOV D,M XCHG PCHL .%d: DW .%d DW .%d CALL .swt DW %d DW %d,.%d DW .%d +y<* < Ҍ%_@ֽ=  z |,  y y  y y"y'#,y-y.y/y4 7y?3@pAWByCy |` 7< tjd<d |rRy _ֻd tH<ӳ tך֠ӳ_ֽ "y<׼ =  CALL .%stst mov a,m ora a mov a,m inx h ora m lda ora a mov a,b ora c MOV A,%c ORA %c +y |  | +y X) z*:د:; |Q؈:``;a::9`: |+ '?_@A |@A rX Ҍ`:9@ r`X |-:::9 ҌM::9@:~ |t<:`;`::9 Ҍס<:9<`: |j;`a |z+y z+;;; |`; '?I@oA1 | |rX |^;;;A |؄;;~@ |`;أϪ; |`a;+y |+P*;!@A;:  Ҍ z z    "?[@DAByCEP`@*;g`;`;@*ׅ`;tؘ@֙A |rX z) " S `9@  V` )P@ώa_@A9i_,@-A ztm_O@PAҌ u;@ DAD H %d .%d+%d LXI %s,+y |+ z*:إ`;: Ϥהa; Ҍכ:֛+y C&<<`-_ t+ T U V X!A"@ CALL CALL .chl +y t+K QST_ mvi h,0 +y | X* Ҍ+׆cS< ؟ӳ_  | ;_<@A MVI %c,0 CALL .%s +y=ؘ=` `;`==n*Ҍ%b_ T& U>P2p5{_TPICK4_ Ҍ%_ 7ͥI۩I`= ,ؓ Ҍ%_A |+ '?@;Aa r*`:X>:`X ,˳@;`=`;`=>``=A ,:`˳@=>=~ ,\˳@ call .%slip DW -1,-1 DW 1,0 DB 0%c1H,1,0,0,0,0,0,0 call .%sad call .%sswap +y<a<:A@   ?#@SAFB5C<Z` z[_` zt__<a<A<ώg<` |rX<%d .%d+%d LXI H,+yz r6_=< LXI H,%d-.%d DAD SP +yz z |r6_ LXI H,%d-.%d DAD SP +y t #<)_`<:ώ3< LDA MOV L,A LHLD +y Y{ OsQp=_ |I%>=_ rM_ E;Q@>=_;U__%s_.%d+%d%d+y Ri Rv<;= ӳ ӳ ӳ ӳ_ MOV %c,%c MOV %c,%c +ya< |Q`a<A+y t  A(> `\!׻(1@Ԏ坤"Qנ(/S<dQ坬@Ш\ϤH(1`\B(A(+y+@A`\(lS<)q[#)%`#)C(()_( %s +yZA)/Ϭ4*PL)ZZ؏)rӋ~؄)=}Nt)ρt@r֊)sc<=,~Y%TҌҌ󴱁r~ԁst|@Ԏ=}+y 2*<@@* + Z2* Y2* Y=N* , ,ѳ ۴ +y(ؤ*`\@w*,؁*`\YߦZt*^S<ρЅq[M*)Y*`\Zؤ*Yߦ@Ԭq[=@@䖻 *+ + + + ++D+(+j+*ަ)+"+7+j+q['+ަ)@@ ԁ<ش*Ѕִ*X+ަ)@@Ѕѳ`\ԁ~+ަ)@@`\1+ؠ+j+@j+֛+j+[j++ަ)@@ֲ*++`\A3+8S<ρ<,;S<χ@ԁ+y` s'Մw,G,^,(,-"[?,R|*."[ύ"[坬*."[Ϫ'.``*.A(@)q[`\(؏,_S<`* *ѳ@- , , ,",',(N-)X-,-/-Q-\,eS<Ϭq[: ؛, *֛, *ѳ`\+Ԥ-'- "-7-8S<`\: ,\:- *ѳ`\:`\ , *,(:`\,(א- Ѵs- )~- ~-`S< ؖ-fS<֖-:Ԭ`\,`\Q- Ѵ׻-`S<:@ ),:,,[כ,Q- -bS< },}*-;[ *+&. - х+-;[.%d+y<,+E. +ӳ[ ;.+yZd./\ZZ؃.rӋ~؃.t@+y4+@4N=S<2K1`.c46@1R12dV71 dѨ^1`Z Qf1 |* !؂1 rd1 s?c<d1 ,:.N@|~@@+y@1dR1@S< dR1W1ػ1cώ:,J2L4@BJ@P@~ dR2cρX2P#FV=2#&/ք2pY#Pl2z鴱q2P~Ш~ֆ2AS< dR24 2BS< 2+y״2ش2AZ d+2p3<2=e3>e3Fq3|33Ϥn e3$3N373T33Z332 33J33B @ϬBϬCϬHDϬCϬF3ϪxF @ϪvF @ϬEϬE֧2MF֧2CS<2ύDS<.ώ#/֧2;c 93+y d+W3ES<ָ3 Uؾ3 Vؾ3׾3 d+ Wע3 U3 V3;c+y,.,Ш6.c46 44Ϭ2dV4 dѨ6,46,+y֚4Aaa?j4U4ϬdXj4-S<\֚4a4444444YS<Aa`.a4$?4+yֵ4>=4. ?ש4+y @&84 d(ւ5Vؓ50ڋ0ؓ5R0+ '5 !5_Z'5eS<[5d(>M5=M5UM58|BX50@Ϭ8`.) Rx5 Ux59AԬ d(44Wؑ5gS<\Ϭ8_>+ 7665567767;6685R5S50ڋ58Ш85q֠5 .*=:V)d\x5 d``9 Nx5R;6S;60ڋ;6JPFV)b6UZ6Zc<x5 rT60ڋ ؓ6Ѣ >=B+ r 9W]6`.)d\x59AԬ d9"x5=`V)d\׻6;9#]6`.)d\׻6;9B#]6* .7 7 .@*=:V)x5+y d*;7&X7i77 tR.> tS.>lS< tB t0ڋ I> x t t_ڳ tRڴ۴+y t+ x)A*v>B + 0ڋ ،> ) *q>0 +ب> >0>> @ t_>>>>>???> ?>>>>>>oS<@mS< vt> vx=c< v S+y t+0?A x) 0ڋ 1? )A*B +0ڋ X?0 +o? c?0f?o? ) 2? ύpS<@ t_????????????????oS<@nS< v S+y г@Ԣ x v@ Q@@V@no@ vn|AJnت@S<nq@AnA@@@A@A@A@A@@AA@A@Тq@Тq@Тq@S<B֭@;cAB2AKARqADRARgATgAgAS< tcA<ԠÁۅRAVKAH0A+y d'XA0֓A v+ ظA x#NאAdUB rBY+ v0 0; t@ r# xB7cUBS<@ύY+; t@dUzB d t)BS<;` t Z8BH9BI4@) t(LB )*^B z( z JB t d'VzBS<7c +y X؜B#V+؜B V؜B @+y d+XBFS< W׿B VB;cB;.@ώ#/*B +3 +ya4/@`U9)b4/d@`U9+F;nFim+Fa;3F`Z @+y3 G ύQS<@+y "G :7G7G%'==M>M@ %=n-=TJ$"@#oG>n.t#oG>TJ"xGB"V؋GQ؋GA"'ZיGZG ҌGG ҌG[S<'GVװGXװG *+@&  2I I .HHHHHHHHHI I$H4`H:H;tHEJH^:HG"1TH Ҍ@TH%'o>TJkMB'=J*>J+jHB;HB"0H0H $?=?!Ho*1L+B"@())%1v#0J ҌJ G=TJ >0ڋ0&IS<B'}H >}HH ,VCIXQI ҌG0H1sI Ҍ@sI X{%>J.=J=>_>=_>رIGD%=K*>KփH=aH1I!,%TH HYH |YH |zz z* z@=MH"H7J=M@ >qLύ= 'K@K?LL $ |-|@4ML= |KCLIL=B=TJ ύ3S<=M@C'@()I%=_>*=MkM=?PL=?*=JLqL =L=J-qLB'=T&kM+y tZآL!S<+yI%@& *B'@()kM+y#V+MdQMA2@#`.+;#Mώ#"c<@ VL##c<@+y t' v( x)@*& + fMTMaMfMfMfMfMfMTMaM?%kMωAVM@VM+y\+\z\ ׍M$S<eQ ؗM;  +y N  M M%M'M,M-M.M/M1M3M7M?M@MAMBMCMM zM |M z\ \+y@х _>#/N#ZeNSKN&S<LA.݅ӁtטN+S<B֋Nۋ0ڋ ؑN >AѠSؑN&S<LA.լdUاN dA-@" dVOͬctZNt0ڋ NUN>=լ NֺO@bU9n+N)S<ֲOSOT(O;<#MlG+`;3ֺO Z؂O t ؂OiO zEOЅ́ͦbiO`ͻӌڳ "BO zb;MO dO;UN״Ot&v'x(;Fim+شO;v!;Mլ_>"zOLBOA.- d͋4O שNPV Pͬc=P3PJP x_>JP!HPJP*S<+y=<.<+kP>;pP><+yEڌ@ԊQy+A!P + Ӌ פP YפP P!Ш!Ҍy +P Ӌ P YP +ѳ@Ԥ!קPy!`Q+y #Q㉮Q#Q'Q$A:$$$.SUB+yDQcQkQ㉮bQ㉮QbQfQkQ0/0/a:+y嗌3؂QQ:<r嗏 Too many -I options+y嗌#Q:<ߋQ/<ߋQ- Q'R<+R+%R %R#Q r* %R <)R+R+Q< rr+y ӋrSR[+ _R '+Tut! 9s#r!>Tut!9s#r! 9^#V!9~#fo0U!9^#V! 9^#V! 9^#V!@Β1U!>Tut!>Tut! 9s#r!>Tut!9s#rÉU] TTTT4T7T:TU! 9^#V!9~#fo0ʧU!9^#V! 9^#V!9~#foU! 9^#V#! 9^#V^*r#"r^! 9^#V^#V!Β)^#V!Β^*.!9^#VFVDM|CV*N.CV*N^#V!9^#VFVDM`i^!9N#F_V! ^#VBKxʁV`i !9^#VN~V`iVV!^*.DMÜV! ^#VBKxV`i*,V`i !9^#VNV`iÓV!^! 9N#F!9^#V.V`i ͅVWnf`i FV|&W8X`i , pY`i  ͆nfu t ut!9^#VsrW^!9N#F!9^#Vn`isnf! s#rnf! s#rn! s{7Xn&)pYn&)nf T!9s#rnf ! 9^#V͒,X!9~#fo##s#r++^#V##++s#rW! s#r^!9N#F!9^#V! ^#V!0Β0ʷX`i^!ʏXn&·Xn&·X`i^!ʫXn&·X`i &/nf! ^#V«Xnf! ^#V«X! ^#Vnf ! 9s#r! ^!9s#r!9~#fo+s#r#|oY! 9~#fo++s#r~#Y++~#SY! 9^#V^#Vsr! 9^#V^#Vnf«XY^*4|ʩY*2DM! 9^#V*2"2*2*4̈́ʦY!Y:<`i! 9^#VYLocal table full! (use -L)^! 9^#VDMY!Y:<`iOut of memory!^:DZ!;[:o#}2\:PZq[*#FZ%'Z:CPZ'Z:o+}2^! 9^#V%T)^#VBKÀZ`i^#VBKxʢZ`i!9^#VNŸZ`iyZ:DʯZ!òZ!^! 9N#Fq[*d#^!ΒZ!!*d#^!Β[0[*`i#DM+s#`\Z!`is!^*d#^!ΒF[`\,[*|[[Z:p[m[*/p[͒[p[,[^*d#^!Βʑ[`\w[^*3=[\*[`\`\\*[*/[:[ö[`\!!^**3s*3<͒\*3#"3! 9^#V"^*|$\!*=#~W\:EW\*DM\*|K\:E9\`i"*=+"=*=#^^*DM|ʰ\*3=ʍ\*3+"3^"ð\*=#"=^"*|°\:Eʰ\\Û\`i^!}2&""}2E!"=!="3^*|\\:\!`\^!}2*#"1 ]#_!":(]:Eo&>]*#"ͳ\*Ͷ_DMʽ]`i ʽ]`i\ʖ]*Ͷ_DM ʇ]!}2Eý]*`!\DM`i*=#"=+s*=<̈́ʺ]!}2Eý]A]!*=s`i\^:\^*R*13^*+"w^#V"*w^#V"*w!͆]*?|B^:CT^!kS(i`\!9i*=>i`\!! *=Ui`\!!0*=li`\!*<ʃi`\!DMi!*=ʚi`\!*>ʱi`\! DMi!*&i`\!i*|i`\!*=i`\`iͩ ޒ`i*d#^!Βj!"he!8!jSid!!!j!Ej^#V/jiiiiiiideahg+iii!j!jiiil1>l2>l3>l4>l5>l6>l7>lXkbkfknkrktkxkl`i^!9N#F!9ێ`i~am`i^!8m`i^!9$m!Sn* [(nwnm.nnmnm 7׾m \׾m FnD( Y؃n8;1o tt 7מn ^מn \מn Fמn Ҍמn\S<;M@t)tB>;?L;&G 7mon`kM+ r@;X7 | >;TJ +y t0طnH t+y n t0 n0nn< ><K, +y Y/o t ooo)o zT`<>T qM >=wwr>=wr>=wr>=xr@ Tr Us zs Qs z&s z% Ҍ@4s ]بs Y=s@  Ss%s1s3}ss=M ksz-zqs|-|@>M Ϸ ! v ؗs@֘sA%փs փs@=Uغs>U׼s@ s Bt Yt| |t@ "s $s YtYt@ T t Utz't Q"tz&'tz% vuuuuuvuuuRu+ucu8utuEuutt utvtvmtvtttt  Yv=M- v  yt  .yt  yt  /yt  yt  yt  yt  yt  -yt %yt &u &u &u  )&u  *&u  +&u  ,&u &u &u  "yt  $yt  #yt u u@&uA&u uu@>M Tv U$v z /v z ' +y tfvJvJv]vfv]v z zov t<-wov z z˴ t0Yv tڴ!9^#V!! 9^#V5ہ!9^#V!ͼ;!9^#V!! 9~ہ! 9^#V!w! 9^#V! 9^#V!ͼ͉,w! 9^#V! 9^#V!ͼہ!9^#V!! 9^#V!ͼhہ!9^#V!ͼpsw!!!9^#V!! 9^#V!ͼYͼ‚ہ!9^#V!! 9^#V!ͼYͼͻہ!9^#V!! 9^#V!ͼYͼ͟ہ!9^#V!! 9^#V!ͼYͼ͗ہ 0o}_!Mx~#foo}B[ۅo>}g~#fo* myo>g^#VByo>g^#VBy* yo>g~#fo"Byo>g~#fo"By* yo>gs#rByo>gs#rBy* yo>g^#VByo>g^#VBy _By o&"By o&By o&Ayͭ}^#VByͼ}^#VBy o g^#VByͭ}Pzͼ}Pz o g~#fo"Byͭ}s#rByͼ}s#rBy o gs#rByͭ}^#VByͼ}^#VBy o g^#VByͼ}Ayͼ}"By _WBy _ WBy og"By o g"By ogBy o gBy ogAy o gAyͼ}^Byͼ}n&"Byͼ}sByͼ}n&By}z}{}{}{ o gK{AyK{Ay o GM*w# W{W{By o&9By}9By o GMCyzy{Byzy{By`iN#F# N#F#zڲ{¶{{Ҷ{##N#FCy`iBK^#Vz{#y{###{#x{#N#FCy^#VBy_By*s#rBy*sByBy"By*wAy* Ay*Ay*Ay*BAy*Ay!{_#zWBy:)=Q|Ay*͏Ay*͹Ay!{_#zWBy!{_#zWBy!{_#zWBy*z²|{²|By*zŸ|{Ÿ|By*|*||}|?>_Byz_By*|*||}|>_By|_By*}*}|>?_By**}*}|>_ByzByBy{/_z/WBy{/_z/WBy*"ByByBy)Ay o&!}SQunknown opcode: %d, PC=%d *"|`i+* g o$* o g o g7xAyAyUyUyUyUyUyUyUyUyUyUyUyUyUyUyUyUy{y{y{y{y{y{y{y{y{y{y{y{y{y{y{y{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z zByzzzzzzzzzzzzzzzp} z)z>zDzZzczxzzzzzzzzzzp}p}p}p}p}p}p}p}p}p}p}p}p}p}p}z{{{2z {Jz&{lz,{z2{8{L{g{q{{{}|| ||}|'|0|9|@|M|b|Y||||||| }}'}}8}E}O}X}p}}b}f}j}{{{y{{{{k|x||D{zzp}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}p}}o}!9^#V"9! 9! 9^#V!͜aDM!*9s`i!9^#V*9#"9+s!Βů222!"!9N#F [ _P-j2o+p 0ڟ:ҟ͋Y0o&‚:o*+"o.¬!6o! e -À2Ȁ+ɀ 0:0)T]))_Ȁ:|/g}/o#*"*|?[}/w+ R#~>r>w+g>*w*Ø*Ř+‚ **#O~¹>2Ô##ۃ½ q#6#62q q+ ~+ ~+!혯w#>@2!~w#O!#4yQ!4!5Ã!5ʃ!~w#^O!#qyQC* 6+6+w”**#~ ~+Ą ~+ք!혯w#>@2!~w# !#  !5*  w+3ͅO!ͅD!<ͅODͅOODͅDOͅDDO|á|z/W{/_*p#z¸6#6#są6#6#r#s#wąU* ~+~w7+~w慷*#~T]#O\## 2* w#6#w>GC+y>O~# 3<P@UÏv>2 y!T]w+h6C>2ͯ*#6#w#6>2ͯ*#6?#6>#w¤#6*|̆!9N#F*ˆjFloating point :junderflow joverflowjdivide by zeroj at location 0x!9~RV+~RV! S0:ao&S |o&Sk*6#6]T#w!;:>>#¢>~#³!";"=;*N#~UUG#o$~+yU!;>w#Uy6#6#6#6~6#6#6#6~.*F#~;A!Ue#oM$^+VyUxU|/g}/o#Uyp!~x{!~!>2*6*#4 ^&)DM)) #wz++˜#w++~È@ҏ!9N#F`i~`i#DM+^S!҈! S!6 s# y*"ͤ* "ϤsP$͝!B͝"*2!"2*0{*0!4m#4*4+"4}Cʋʋo&"ɤ*4!9!29^#VDM)!9!DMB`i׉!"ɤ!!͝͝*0DM*2og!9N#F#^#Vkb6#> 6 #= >6#=yʻ + /  ԊH0_zW2/RU : >€ Aڻ[q@}aڻ{һ`w# .ʛʴʃŠw#Ä{o|g ʴŠw#¥&jz!|*ˊ >?a{ 0:ފ7!9^#V* *ͤ}|* " |!=!9}_|#W"ͤ͝ o&͝ 2/:0 _͝ :/_!9b!9F+N+V+^+~+ngxʀ€ʀ# kog!9V+^+~+ngwʞ#Ó|!9ö!9F+N+V+^+~+ng対ȋ#xًwً# ȋw|!9^#V#n~#!|!9^#V#n# x& +~|!!9~#foA#8}! 9F+N+V+^+~+ngځe}ځʕ u++w xuɯꋌ~# x‹!9F+N+V+^+~+ngy®Fwx# ¯Č=ï!9N#F`i^! `i^! `i#DMӌ!"K`i^!-!"K`i#DM,`i^!+,`i#DM!Gێ`i^!d#^!Βʌ!G!GΎ B`i#DM+^͔Ύ͔;*K|ʠ!G<æ!G!9N#F`i^! Ѝ`i^! ؍`i#DMô!"O`i^!-!"O`i#DM `i^!+ `i#DM!"M`i^!d#^!ΒH*M w`i#DM+^"M*O|Y*MJ\*MDM!99`i]|DM!99!w`i~# x’!9ꬎ0~#³!ˎ|!C!;~#~#~#~;w#w#w#w!>*=*;"C"E*C*;"C";*E*="E"=!;>w#B!;~“#QÈ=ɯ<>!F~OÅ>!F^b+ƒ;!C#ž;!C#³;!C#Ǐ;!C#ۏ;!C#!;~/w#:C?*;*=)),="=";0:>:C?MW!>~w+A:!Ny?;OCOyͻ<;OyCOͻ?!;w#‘<ͻͻ?!;w#±!?w#> !;~w#АO?!C#y!;4=ɐ=/!;~w# O?!C#y?!C#8!;?~6#K> !;~w#^{;!C#r=Wfʓ!fʈ!))`, q}o|g=X=XDM!>))҇ =}{_ʶ||7g}oœ{_ʶ)±}{_ʶ|g}o|g}o|/g}/o|g}o|g}o|}|!}|!}|(}|?>o&zo&|B}|>o&|o&}/o|/g#}}o|gBK^#Vz}#yw###e#xr#~#fo}|>?o&}|>o&<(orxraneqneltulleuegtuggeuflsrsuradsbngmldvudrmumntcm~MPUZ801LECHDB=?Ausqtrpllddllfd extrn %%%%%%%%%%%  "" @    @@@@@@@@@@@@ @ @0@0@0@"@">auto<break<case=char<continue<default<do=double<else= enum>extern=float<for<goto< if=int=long>register< return=short5sizeof>static= struct< switch>typedef= union=unsigned=void< while~|__FILE__~}__LINE__~~__FUNC__0 * &"4$8(   2 00000    #~0    !!##@@DDFF    ooooooooȘژѤ???????????    #~0    !!##@@DDFF    ooooooooȘژ_0!";! 9^#V! 9^#Va*;*;L5=*;";C*;";*;*;*;*;͉ 0! 9^#V!w5ʇ!|ͳ!͝! 9~#fo+s#rzʍ!"9~#fo##s#r^#V^!.=5!"9^#V^#V^!-=5!"9^#V^#VVÊ*;|5!"9^#V^#V!9s#r!!$9^#V^#Vf";=52!ͳ!͝Ê*;|m!!$9^#V^#V͘";|j!ͳ!͝Ê!"9^#V^#V!ͳ!͝Ç!9!9s#r!9^#V^!.L5!9^#V~!9~#fo#s#r+^!9~#fo#s#r+sÙ!!9^#Vs*;|-!! 9ʹ/!! 9͘";|-!ͳ!͝*;|Z!!9^#Vs!! 9ʹ/!9Ͷ *;*;*;*;*;!ͳ! 9usage: hx infile [outfile] [-options] hx: can't open input file! whx: can't open output file! hx: bad arg %s .hexwhx: can't open default output file! .symBase: %4x Corg: %4x Cend: %4x Dorg: %4x Dend: %4x 0!9^#V~ !9^#V^ú!H6";!9~#fo#s#r!;r !9s#r!}2;!}2;!9!9s#r!9~#fo#s#r!9^#V^!7^!5!9^#V^!.=55!9~#fo#s#r+^!9^#Vs!9~#fo#s#r!9~#fo+s#r!!9^#Vs!9Ͷ ! ͙!"͙!=͙!_͙!~͙!͙!ͳ!9YV!͝!ͳͤ5 -.x?^BLSTXblstx!9~#fo#s#r\b -- set base addressl -- lower case hex digitss -- spaced format for legibilityt -- specify symbol table filex -- exit this program. -- send output to stdoutoptions: hx: invalid option letter! 0*;+++*;5*;+++*;5!m͙!͝!!;*;":;o&4:;o&DM`i*;5R`i*;5c!͙*;+++";!";Error: origin of code or data less than base address!Warning: base has been moved!0!!9^#V*;͛544M1*;Ͳ'!9!! 9*;"!9s#r!x5!;!9s#r!9!9s#rK!9~#fo#s#r+!9~#fo#s#r+!9^#V!9~#fo5ʹ!9^#V!9!9^#V5ʹ!9^#V^!9~#fo#s#r+s*;#";=5ʶ!;!9s#r)!9^#V!9!9^#V5*;x50*;!:1*;!*; *;!*; *;!*; *;!;͋ *;!*;!; *;! 1*;! 1*;*;";!";0*;!:1*;!! *;!! *;!! *;!! *;! 1*;! 10!!9s#r! 9~#fo+s#r#|L ! 9~#fo#s#r+^!9~#fos#r *;5*;*;*;!9~#fos#r!!9~#fo͛550! 9~#fo+s#r#| *;!! 9~#fo#s#r+^ Ñ 0!9!9s#r:;o&=5 !9^#V! 1!9^#V!=5% !!9~#fo5s#r!!9^#Vs!9^#V!!9^#V !9s#r!9^#V)!9͛5!9^#V͛5!9s#r!x5ʯ !9~#fo+s#r#|ʯ !9^#V!01Å !9^#V~ !9^#V!9~#fo#s#r+^1ï 0!9N#F:;1 `i! 9~#fo͉45^!9~#fo+s#rs! 9^#V`i_4DM i `i! 9~#fo͉45^!9~#fo+s#rs! 9^#V`i_4DM1 ! 9^#V0!!9s#r!!9s#r! 9s#r!9^#V^!7^!5 !9~#fo#s#r!9~#fo#s#rÕ !9^#V!9s#r !9~#fo+s#r!9~#G !9~#fo+s#r^m !9~#fo;4! 9~#fos#r!!9~#fo;4s#r ! 9^#V!9^#Vs#r!9^#V!9~#fo+0!9^#V!7^!5ʖ !9^#V!!9^#V͎0!9s#r!9^#V!0!!*9^#V͘!"9s#rz !(9^#V!ͳ!͝!"9^#V!!9ʺ!9!9*;|,*;|´!!9`/N!9!;r ñ!!9`/p!9!;r ñ!!9`/’!9!;r ñ!!9`/±!9!;r ÷ú rhx: can't open symbol table file, %s _Corg__Cend__Dorg__Dend_0! 9^#V^!7^!53! 9~#fo#s#r! 9^#V^!7^!5`! 9~#fo#s#r3! 9^#V^!7^!5¤! 9~#fo#s#r+^! 9~#fo#s#r+s`!! 9^#Vs0! 9! 9^#V!80!9N#F!"28!9^#V"08!9~#fo#s#r+^".8|*.8%=5ʿ!!9s!"48! "68!'"88!9~#fo#s#r+^".8-=5r!"48!9~#fo#s#r+^".8*.80=5ʜ!0"68!9~#fo#s#r+^".8*.8*=5*08##"08++^#V":8!9~#fo#s#r+^".8!!":8!9~#fo#s#r+^".8*.87#^!5!*:8 ;4*.8":8*.8.=5!9~#fo#s#r+^".8*=5z*08##"08++^#V"88!9~#fo#s#r+^".8!"88Û!9~#fo#s#r+^".8*.87#^!5*88 ;4*.8"88Ã!"<8*.8l=5!9~#fo#s#r+^".8!"<8*.8h=5!9~#fo#s#r+^".8*.8î!">8E! ">8E!">8E!">8*<8!9*>8*08!9"@8*<8*08"08*08##"08++^#V"@8/"<8*08##"08++^#V".8*.8!9"@8sͤ5cd?o$squ-x6!9*@8͛5"<8*<8*88x5*88"<8*48|,*28#"28*:8+":8#*<8x5,*68`iͤ0=5)!!">8<*>8#">8*@8~s*>8*88w5s*@8#"@8+^`iͤ0=5p!5*>8*28"28*48|¼Ð*28#"28*:8+":8#*<8x5ʼ! `iͤ0=5ʹ!É*.8`iͤ0=5!*28#"28*28!" 6"6! 9~2 6G+V+^+6"6+N+V+^! 6w# y</w#0=!6>^)|Qg,Is+=DZ!~*6+"6w! 6=#s*6+6-0123456789abcdef0ͦDM|¬!! 9^#V! 9^#V0! 9^#V͵!6DM`iDMx!";!! 9^#V`/ ! ^#V! 9^#Vf"B8=5.!*B8!9^#V!s!!9^#V!s! 9^#V0!9^#VBKQ"D8L5ʒ*D8 L5ʒ*D8`i#DM+sh!`is*D8=5ʺ`i!9~#fo=5ʺ!!9^#V0!9^#V"F8! 9~#fo+s#r!x5! 9^#V`DML5`i*F8#"F8+s`i =5!*F8s`i=5H*F8!9~#fo=5H!!9^#V0!=6`0!9N#FͿ"H8L5ʻ!*H85"H8è!`in%5s!mͤ5 *H80!9N#F! ^#V`i^#V5ʀ! ^!5!!`in5s`i~#! ^#V! ^#V! ^""J8]5h*J8|Q!T!`in%5s!! ^#V`is#r*J8! s#r`i~#fo#s#r+^!50!9N#F`i~`i#DM+^=5!æ! 0!H6! 9^#V0!9N#F`i =5"! 9^#V! 1=5"!! 9^#V10! 9N#F! ^#V`i^#V5g!9^#V!5/!9^#V`i~#fo#s#r+s!50!=6DM`i65ʴ`i DM͵Ô0!9N#F!"L8`i~"! ^!5!/"L8! ^*L8%5"L8! ^!5"! ^#VA-!! s*L80!9N#F!"87! ^!5V!! ^!5! ^#V`i^#V͛5"N8*N8! ^#V! ^%*N8L5!`in&%5s!`is#r! s#r!! 9^#V!=5!`in&5s!`is#r! s#r!`i~#! ^#V!=5J!! 9! ^%L5ž! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&%5s! 9^#V`i~#fo#s#r+s!50!=6DM`i~`i DM65!ñ!`is#r! s#r! s#r`i0!9N#F! ^o*%!! s#r`i! s#r!͜+"P8| !! s#r!`in%5s*P8! s#r!.8s# yg*";*6";͔6Ã0!!8!&0!:o&58s!x"^8!8DM!"9*9w5b`i^! =5`i^! =5`i#DM`i~b`i^!>=5"!"96`i^!<=5!"9`i#DM^! =5U`i^! =5X6`i"9`i#DM~ʕ`i^! =5ƒ`i^! =5ʒ!`i#DM+sÕ]*9*9|ʸ!*9E"9!*9f"9*9=5!y!͘/*9!ʹ/!!ʹ/!! -! ͝_`i*9#"9+)^8s#r`i#DM~_`i^! =5M`i^! =5\!`i#DM+s_'!^8*9!͝Can't open file for redirection: $0*87ͤ0!DM`i w5`i#DM+î!9~#!-5!*̓A:$$$.SUB0!";!0!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:0! 9^#V!! 9^#Vf0!6" 9!"$9Ì* 9" 9*$9#"$9*$9 w5ʯ* 9^#V!=5¹{!";!!R7DM`iDM`i~#!9^#V`i^#V`/! ^#V""9! 9^#V!5#"&9*&95+*"9^* 9s{+!";!*&95R*"9#^* 9#s{R!";!! ^#V* 9s#r*"9##^* 9##s*"9###^* 9###s! * 9s#r* 9!9^#V!9^#V!9^#V*"9^#Vͤ0! 9!w5!* 9s#r!*$90!9^#V!w5 !9^#V! x5 !";!!9^#V)))6DM! ^#V! ^#Vͤ0!9s#r!! s! s! s`is!! s#r!9^#V0!(9DMÀ `i'DM`i`:5ʚ `i%~ʤ x !";!! 9^#V ."`:=5 !";!*`:=5 ,/"`:*`:;/! 9^#V!5 !-!-=5B!! 9^#V!52!!-=5?!!";T/!e!! 9^#V!5=5e!!";T/!!!! s#r!# s!$ s*`:!& s`i!9^#V!s#r! 9^#V!5#!% s!!!9^#V!s#r! 9^#V!5!)T/!0!9N#F)!& ^;/!-T/!!% s!0!9^#V)))6DM! 9^#V! 9^#V! ^#V`i^)7^#Vͤ00!DM!9^#V"b:*b:&^;/*b:$~"*b:$^!͛5DM! 9~#fo5ʱ"! 9^#VBK! 9^#V*b:y#"T/!! 9^#V`i͛55"d:|"#*d:! 9^#V`i*b:͉*"f:|"#T/*d:*f:͛54PY*d:4PYDM`i! 9~#fo5m#! 9^#V`i͛5! 9^#V`i*b:y#m#T/`iT/! 9^#V0!9N#F)ʒ#!! 9^#V! 9^#V!$ ^!&0!$ ^! 9~#fo5!$ s{#`i!~#fo#s#r!0:i:Z$!}2h:!}2j:}2i:!h:! -! !-:j:o&=5=$!}2i:!:7o:i:o#}2i:&h:#s!"j;:i:o&DM! 9~#fox5z$! 9^#VBK! 9^#V*j;h:&0`i*j;"j;`i:i:o͛5}2i:`i0! 9N#F!"l;$*l;#"l;*l;! 9~#fow5$!9^#V-`i#DM+s!=5$$*l;0!9^#V)))6DM! 9^#V! 9^#V! ^#V! ^)7^#Vͤ00!DM!9^#V"n;*n;&^;/*n;$~%*n;$^!͛5DM! 9~#fo5ʨ%! 9^#VBK! 9^#V*n;}&%T/!! 9^#V`i͛55"p;|&&*p;! 9^#V`i*n;͑*"r;|&&T/*p;*r;͛54PYDM|#&!`i*p;4PYDM`i! 9~#fo5q&! 9^#V`i͛5! 9^#V`i*n;}&q&T/`iT/! 9^#V0!9N#F)w5ʝ&!! 9^#V!$ ^!!9^#V&0!"-";|&!!$ ^! 9~#fo5!$ s{'`i!~#fo#s#r!0! 9N#F! 9^#V"t;*t;+"t;#|a'`i^! =5K'! !-`i#DM+^!-#'! 9^#V0! 9N#F! 9^#V"v;*v;+"v;#|ʩ'`i#DM+^! 9^#V-Â'! 9^#V0!9^#V)))6~'!";"1!9^#V)))6^#VBK!9^#VË(!& ^;/!`in%5s!-!`in5s)T/! 9!! ^#V441O2M1!$ ^>4[11f1)11;1Þ(!";"1ͤ5z(=('}(!!# s! 9)113(!!! s#r!$ s!";"1! 9)1M45!$ s! 9)11s2M4!! s#r! 9)10!9N#F!#-`i!~#C)!!$ s!`i!~#fo+s#r)`)!!"x;*x;5ʓ)*x;+"x;^!L5ʐ)*x;#"x;Ó)f)*x;!$ s!=5)`i!~#fo#s#r!!$ s!0!"z;0!9N#F!!-*z;PYL5 *!! ^#V*|;L5k*!!-";=5-**;=5O*!";!!! 0!"z;!*;|[*!`i"z;!! ^#V"|;!0!9^#V)))6^0!Ö*0"*)8!")8*'8**'8!4*#4*+8+"+8}—***o&";*+80!9!29^#V .DM;/!9!-DMT/`i=5++!";!!0!9N#F! ^#V+))";A-! 9^#V͜+";|ʘ+*;PYL5ʘ+! 9^#V*;5ʄ+*;Ì+! 9^#V*;&0*;0!9^#V###5#";*;";|+!~;";";";*;##^#VBK+`i";! ^#VBK! ^#V`iL5i,! ^#V`i^#V))PY=5i,! ^#V*;=58,! ^#V##^#V";! ^#V^#V`i~#fos#r! ^#V##^#V! s#r+`i^#V*;5,`i^#V*;=5ʙ,! ^#V*;##s#r,*;))PY";*;*;##s#r! ^#V*;##s#r`i^#V*;͛5*;s#r*;`is#r*;";!! s#r`i`i*;=5=-!.DM=5-!!`is#r!! s#r`iA-*;DM+0!9^#V!";*;##~#d-!*;DMu-! ^#VBK`i*;5”-! ^#V*;5-! ^#V`i5-*;PY5-! ^#V*;5-l-! ^#V*;##s#r*;! s#r`i";!0-0*'8DM*)8og!9N#F#^#Vkb6#> 6 #=.>6#=%.y. =. A.2. .Z.0_zWD./d.g. : >’. A.[҃.@Ï.a.{.`w# .ʭ..ʕ..w#Ö.{o|g ..w#·.&jz!|*. >?a{ 0:.7!9^#V*6/*;}|/*6"6|!=!9}_|#W";0 o&0 27:'8 _0 :7_!9t/!9F+N+V+^+~+ngxʒ/’/ʒ/# }/og!9V+^+~+ngwʰ/#å/|!9/!9F+N+V+^+~+ng対/#/x/w/# /w|!9~#fo0#/}!9^#V#N#F#nx$0s# 0! 9F+N+V+^+~+ngb0F0}b0v0 V0++w xV0ɯl0~# xl0!9~aډ0{҉0 o&!9~Aڟ0[ҟ0 o&DM!99`iͤ0|DM!99!0`i~# x0!90'8~#0!11|!Z8,1!R8~#~#~#~R8w#w#w#w!U8*T8*R8"Z8"\8*Z8*R8"Z8"R8*\8*T8"\8"T8!R8>w#‰1!R8~3#˜13=ɯ<U8!]8~O1U8!]8ڥ1©1+1R8!Z8#1R8!Z8#1R8!Z8#2R8!Z8#"2R8!Z8#62!R8~/w#F2:Z8?*R8*T8))d2,=\2"T8"R8w2:U8:Z8?ʔ2W!U8~w+ˆ22!NyÆ1R8͖2Z8͖2y31R8͖2yZ8͖23V8!R8w#2133V8!R8w#2!V8w#3> !R8~w#3OV8!Z8#,3yE3!R84=3=v3!R8~w#Q3OV8!Z8#d3yE3;3V8!Z8#3!R8V8~6#’3> !R8~w#¥33R8!Z8#¹3=ž3ͭ13!ͭ13!<ͭ133ͭ1333ͭ133ͭ133313313331331333"R8!"T8"R8|74!"T8*R8zs45}͉4}zs45||~4/g}/o#z4/W{/_MD!͖4}y/Ox/G>))ҧ4, ڸ4}o|g=Ÿ4=Ÿ4DM!>))4 =4}{_4|5|7g}o4{_4)4}{_4|g}o5|g}o|/g}/o|g}o|g}o|V5G5}G5|V5!}V5|G5!}|o5}|?>o&zo&|5}|>o&|o&}/o|/g#}}o|gBK^#Vz5#yʾ5###ì5#x¹5#~#fo}|>?o&}|>o&0123456789ABCDEF0123456789abcdefrr+ww+a a+ xx+;???????????       j :7:7@7"@7'@7,@71@76@7;F7@F7L7S"#$ J%j'j' 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ ;???????????   K!9,R! ^!VD9![! ^#V`i^#V͌V/UWRRR,Rs9`i~#s9![`i^#V! ^#V͌V/UWRRR,R![RͷQ!9N#F/:"[=V9!*[V"[9`i~#fo+s#r!`inVs!Ç9͕V9 999*[ͷQ!9^#V/:DM.V:!9^#V/:"[.V:!*[UPYVͷQ!9N#F! ^#V`i^#VͼV:! ^!Vd:!!`inVs`i~#ˆ:\>! ^#V! ^#V! ^lE"[NV:*[|:!:!`inVs!! ^#V`is#r*[! s#r`i~#fo#s#r+^!VͷQ!9N#F`i~D;! 9^#V`i#DM+^`;.VA;!;!ͷQ!X! 9^#V`;ͷQ!9N#F`i .Vʖ;! 9^#V! ͥ;.Vʖ;!! 9^#Vͥ;ͷQ! 9N#F! ^#V`i^#VͼV;!9^#V!Vͣ! ^#V!.Vʹ=!! 9! ^aH.V=! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`inVs! 9^#V`i~#fo#s#r+s!VͷQ!XDM`i~B>`i DMRYͼV?>!>!`is#r! s#r! s#r`iͷQ!9N#F! ^Mʒ>!! s#r`i! s#r!/"[|x>!! s#r!`inVs*[! s#r!Z"s# y>*"b*ZY"b?\Y>ͷQ!!\!Q!:o&V\s!@"[!\DM!"\*\hV@`i^! .Vi?`i^! .Vq?`i#DMM?`i~@`i^!>.Vʏ?!"\ã?`i^!<.Vʀ@!"\`i#DM^! .V?`i^! .V?ã?`i"\`i#DM~@`i^! .V?`i^! .V?!`i#DM+s@?*\PC*\|%@!*\ͲA"\5@!*\A"\*\.V}@!@!3P*\!wP!A!wP!! ͕N! A@`i*\#"\+)[s#r`i#DM~@`i^! .Vº@`i^! .V@!`i#DM+s@Ô@@?![*\! ACan't open file for redire."D8!c!"9s#r!!"9s#r!"9^#V!w#gt!k=>^)|ڈg,€s+={Z!~*d=+"d=w!h=t#ª*d=+6-0123456789abcdefD8u!DM|!! 9^#V! 9^#VD8! 9^#V͋!l=DM`iDMx,!"C!! 9^#Vi6@! ^#V! 9^#V5%"?ͻW=ʊ`i DM͋jD8!9N#F!"?`i~! ^!͓<! "?! ^Ͳ&*?ͣ<"?! ^!͓<! ^#VO4!! s*?D8!9N#F!_">! ^!͓<, !! ^!͓<ʚ ! ^#V`i^#V="?*?! ^#V! ^+ͻ<ʚ !`inͣI=ʡ!!À!!`is#r! s#r! s#r`iD8!9N#F! ^/1!!! s#r`i! s#r!2"?|!!! s#r!`inͣ"Cc">R"D8!!@!ͤ7!:o&͓<@s!G$"?!@DM!"@*@<1$`i^! ͻ<"`i^! ͻ<"`i#DMï"`i~1$`i^!>ͻ<"!"@#`i^!<ͻ<#!"@`i#DM^! ͻ<$#`i^! ͻ<'##`i"@`i#DM~d#`i^! ͻ"8!DM`i <ʗ$`i#DM+Ͳ&}$!9~#ʺ$!5͓<ʺ$!$2R"A:$$$.SUBD8!"C!D8!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:D8! 9^#V!! 9^#V5%D8!<>"@!"@[%*@"@*@#"@*@ <~%*@^#V!$ͻ<ˆ%J%!"C!!>DMØ%`iDM`i~#ʹ%!9^#V`i^#Vi6ʹ%Ð%! ^#V"@! 9^#V!͓<#"@*@͓<%*@^*@s{%!"C!*@͓DM! ^#V! ^#V"8!9s#r!! s! s! s`is!$! s#r!9^#VD8!@DMO'`i'DM`iAW=i'`i%~s'G'!"C!! 9^#V5"Aͻ<ʗ'!"C!*Aͻ<ʩ'56"A*AD6! 9^#V!͓<'!5!5ͻ<(! 9^#V!͓<(!5ͻ<(!"C]6!4(! 9^#V!͓<ͻ<4(!"C]6!!!! s#r!# s!$ s*A!& s`i!9^#V!s#r! 9^#V!͓<#!% s!(!9^#V!s#r! 9^#V!͓<ʠ(/]6!D8!9N#F͉0!5!!% s!D8!9^#V)))<>DM! 9^#V! 9^#V! ^#V`i^)>^#V"8D8!DM!9^#V"A*A&^D6*A$~ʎ)*A$^!=DM! 9~#foX=q)! 9^#VBK! 9^#V*A9*ʎ)]6!! 9^#V`i=~<"A|)*A! 9^#V`i*AI1"A|)]6*A*A=no:Ao#}2A&A#s!"B:Ao&DM! 9~#fo<:+! 9^#VBK! 9^#V*BAͤ7`i*B"B`i:Ao=}2A`iD8! 9N#F!"BÊ+*B#"B*B! 9~#fo<ʿ+!9^#V5`i#DM+s!ͻ<¿+Ã+*BD8!9^#V)))<>DM! 9^#V! 9^#V! ^#V! ^)>^#V"8D8!DM!9^#V"B*B&^D6*B$~ʅ,*B$^!=DM! 9~#foX=h,! 9^#VBK! 9^#V*B=-ʅ,]6!! 9^#V`i=~<"B|,*B! 9^#V`i*BQ1"B|,]6*B*B=n~š.!"C͠8!9^#V)))B>^#VBK!9^#VK/!& ^D6!`inͣ>^b8!V1b8"*?!"?*?1*?!41#4*?+"?}W1ʟ1ʟ1o&"C*?D8!9!F9^#V5DM!9!H9^#V5D6!9!5<2!9!5!"C2!9!5]6D8!9!29^#V5DMD6!9!5DM]6`iͻ<\2!"C!!D8!9N#F! ^#V+))"BO4! 9^#V2"B|2*BPY<2! 9^#V*BX=ʵ2*Bý2! 9^#V*Bͤ7*BD8!9^#V###~<#"B*B"B|3!B"B"B"B*B##^#VBK3`i"B! ^#VBK! ^#V`i 6 #=95>6#=B5 5c50_zWM5/m5p5 : >›5 A5[Ҍ5@Ø5a5{5`w# .ʶ55ʞ55w#ß5{o|g 55w#5&jz!|*5 >?a{ 0:57!9^#V*>6*C}|6*>">|!=!9}_|#W"Cb8 o&b8 2?:? _b8 :?_!9}6!9F+N+V+^+~+ngxʛ6›6ʛ6# Æ6og!9V+^+~+ngwʹ6#î6|!9F+N+V+^+~+ngx6w6# 6|!96!9F+N+V+^+~+ng対 7#7x7w7# 7w|!9^#V#n~>797#,7!|!9^#V#nY7#P7xi7 +~Y7|!!9~#foʄ7#{7}!9^#V#N#F#nxʢ7s# ×7! 9F+N+V+^+~+ng77}77 7++w x7ɯ7~# x7!9~a8{8 o&!9~A8[8 o&DM!99`i"8|DM!99!<8`i~# xW8!9q8?~#x8!88|!?ê8!?~#~#~#~?w#w#w#w!?*?*?"?"?*?*?"?"?*?*?"?"?!?>w#9!?~X;#9M;=ɯ<?!?O~J9?!?#9'9+H9?!?#c9?!?#x9?!?#Œ9?!?# 9?!?#´9!?~/w#9:??*?*?))9,=9"?"?9:?:??:W!?~w+:9!Ny9?:?:ỳ:9?:y?:̀:?!?w#V:9̀:̀:?!?w#v:!?w#†:> !?~w#•:O?!?#ª:y:!?4=Ž:=:!?~w#:O?!?#:y:ù:?!?#:!??~6#;> !?~w##;@;?!?#7;=;+9X;!+9M;!<+9X;M;+9X;X;M;+9M;X;+9M;M;X;?9X;M;?9X;X;M;?9M;X;?9M;M;X;"?!"?"?|;!"?*?z;=}<}z;=||;/g}/o#z))%<, 6<}o|g=<=))L< =D<}{_{<|<|7g}oa<{_{<)v<}{_{<|g}o†<|g}o|/g}/o|g}o|g}o|<<}<|o&zo&|=}|>o&|o&}/o|/g#}}o|gBK^#VzB=#y<=###*=#x7=#~#fo}|>?o&}|>o&rr+ww+a a+ xx+ C???????????$$$$$$$$$$$$$$$9'$>$>$>$>$>$>%>%> %>%>>$)*m+ $ ,*.*. 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@  C???????????$$$$$$$$$$$$$$$9'$>$>$>$>$>$>%>%> %>%>>$)*m+ $ ,*.*ÿ?.com;RCopyright (C) 1981 1982 1983 1984 by Manx Software Systems;R!T2% !"l`!9^#V"[! 9^#V"["!"`:@\!j*d`)̓0"D`|ʿ*b`)̓0"F`|!0X!DM`iͶV̓0"`|`i+DMUW!0X`iͶV*`"`!`iͶV*`R!"l`!zw:r`K* X!@\!r`0vͿ*L`*,`Wk*N`*,`Ws!*a5W!4`*8`,VES*L`,VSSS SS SSES*:`,VES*N`,VSSS SS SSSSS3S*L`*N`W)*L`*8`*N`W !Xͤ!4`*N`*:`*,`͓W,V3S]*N`*:`*L`WC!Xͤ!4`*L`*8`*,`͓W,V3S!4`!4`!S SS SS3S*<`,VES!4`!SSSSES*<`*:`*8`*,`!2!9:\!!r`!\0!!\W7"`|!\!%*`=:\@!!r`!\0!!\W7"`|5!\!&*`=*n`|KK*n`AC Linker Vers. 1.06D No input given!pass2 (%d)-C or -D value less than base addressBase: %04x Code: %04x Data: %04x Udata: %04x Total: %06lx .symwCannot create symbol table output %s.rsmwCannot create overlay symbol table output %s;R.,*L`"8`*N`":`*P`"<`!"`*`DM{`i^#VBKx1! ^*`|ʞ*`=`i###"ʳ!*`!w`i###!SES;͜Wt!w-Link aborted.pass2 reading: %spass2 cleanup;R!͑ DM|!"``i^!-5WJ`i#DM~G`i^! W*[|s!!͑ "[!*[W7"[| *[!K!}2V`K! :W`o&Z !͑ , "J`!}2W`K! *0`Z !͑ , "0`K! :R`o&Z !}2R`!͑ , "L`K! :S`o&Z !}2S`!͑ , "N`K! :T`o&Z !}2T`!͑ , "P`K!" :U`o&Z !}2U`!͑ , ",`K!͑ !r`:QK!}2\K!}2\K`i#* X!% ! 992!9!9_D`i^!. K!!^#Vu!cKG`i^!+5Wʽ`i#DM~ʺ`i^! Wè!͑ , "^`X!͑ , "``X`i^!D X͜WcpdX1:@\!@\:Q_(Cannot have nested -f options.rCannot open -f file: %s-S-X-C-D-U-B%s%s.libunknown - option '%c'unknown + option '%c';R!9~#{ ! 9^#V!| Multiple %s options.;R*[|ʱ ! 9~#ʷ !\!9s#r !\!9s#r!9^#VBK*[s:!9s#r! 5W !9^#V! 5W !9^#V! 5W !9^#V!DWj !9^#V! DWj !9^#V! DWj !9^#V! DWj !9^#V`i#DM+s*[s:!9s#r !`i#DM+s!9^#V~ʌ !9^#V*[=!"[! 9~#ʱ *[! *[+"[oW ! 9~# !  !*[##"[^#Vtoo few arguments in -f file: %stoo few arguments in command line.;R! 9N#F!!9s#r`i#DM+^!9s#r!0TWʆ !9^#V!9UWʆ !0!9~#fo͓Ws#r !9^#V!aTWʿ !9^#V!fUWʿ !W!9~#fo͓Ws#r !9^#V!ATW !9^#V!FUW !7!9~#fo͓Ws#r  !9^#V))))!9~#fo!9s#rD !9^#V;R!Y!9s#rI !9~#fo##s#r!9^#V^#VBKzʕ `i a0!9s#r)a^#V! s#r`i!9^#V)as#r9 ;R*`,VES! 9!SSSSES*`9SSU !*`,VES!9!SSSSES*`9!9*`*`͓WWVDM`i*d`pW `i"d`*`*`͓WWVDM`i*b`pW8 `i"b`͙ *`5Wd *`"X`*`"Z`*`"\`! " XÓ !9!*`*8`"8`*`*:`":`*`*<`"<`.ovr;R!9~#fo+s#r#|*`!!! 98!9!9^! Wʟ !9^! W !!9s! 9a0!9s#r)a^#VBK ! ^#VBKx!`i !9 Q`i^!9^+ ͶV*Y+^! ^#V! 9^#VWʅ!9^#V! s#r ̓@`i ! ! ^#V! 9^#VW!9^#V! s#r ͜Wa!̓0DM|!%!9^#V)a^#V! s#r`i!9^#V)as#r!!9`i VQ!9^! s!9^#V! s#r!9^`is*:``i##~#fos#r!zX7 *8``i##~#fos#r!VX7 *<``i##~#fos#r!X7 !X7 ! Y7 !X7 ͜Wf ß %.8s multiply definedToo many symbols!;R!9N#F`i! 9^#V!^#V! s#r!s#r! 9^#V!s#r! 9^#V! s#r;R!9N#F! ^#V! ^#V!s#r! ^#V! ^#V!s#r;R:R`*,`###"L`:S`*8`*L`# W"N`*XDM ~U! ^#V!9s#rz*`i !Fͤ!!9s#r*:`! s#r!9^#V*:`":`̓!zX7:T`n*:`*N`# W"P`*XDM ~̓! ^#V!9s#rz! `is*<`! s#r!9^#V*<`"<`!X7!\`i Q!`is*J`! s#r!X7`i !cͤn*8`"XX*L`!DXz*:`"|X*N`!hXz*<`"X*P`!Xz*X".`undefined COMMON %.8sSTKTOPUndefined symbol: %.8s;R!9N#F! 9~#ʽÝ! ^#VBKxʽ! 9^#V`i##~#fos#rÔ;R!! 9!SES*`9!9*`!!!`8!9!DW *`DW!*`DWK!*`,VES!9!SSSSES*`9!9` ͻ#*`DWʂ!! 9!S SSES*`9!9!8`"B`!"j`*8`Z(*8`"\*:`"\*`;DMDW`i WVÿ*@`*B`s#r*\*`"8`*\*`":`*`*<`"<`!PY WDM`i+DM`iTW"*`;(-(<*@`#Z(<DM*@`*B`s#r!>`"B`!"j``i)*F`^#VZ(`i{*@`#*`;-͓WDM`ipW¬`ioWʹ*@`!ͤ(ï*@`##*`;-͓W(ï*`;-(ï-(ï*`:(ï*@`*B`s#r!8`"B`!"j`*8`Z(ï*@`*B`s#r!:`"B`!"j`*:`Z(ï*`;-"H`ï*h`(ïïò!x!^#V{5Wjxxxu!{Y!ڲ!^#V%%%%%%2E%%%vâCannot read module on pass2.Branch out of range @pc=%x;R! 9N#F`i WV`i W`i W͉W+<!9s#r!9^#V!<*\<*\<*<`<!9s#r!9^#V)*F`^#V*`:`i!!9s#r%*\!9s#r%*\!9s#r%*<`!9s#r%!(%͜W*`:!9~#fo<!9s#r!9^#V)*D`^#V<!9s#r!9^#V)*F`^#V*`;-!9s#r`i W oWʴ*`;-!9s#r`i Wõ!9^#V!9~#fo!9^#V!9~#fo͓W!9^#V!9~#foͶV!9^#V!9~#foIV!9^#V!9~#fo^V!9^#V!9~#fo W!9^#V!9~#foW!9^#V!9~#fo%W!9^#V!9~#foV!9^#V!9~#foV!9^#VW!9^#V͉W!9^#V!V W!9^#V! W!!^#V /BUh{!!^#VxLUb8X{!{Y!Object file is bad!;R!9^#V! W*`;))));R! 9^#V"|!C*`5Wʟ! 9^#V!Owr7! 9^#V!aw!9S3S!9!SES͖ !!9*`,V^S!SS3SES*`9!9*`!!!`8!9!5W7*`5W*`5W*`=!Can't open.pass1 library: %spass1 module: %s;R!!9s#r!!9s#r!!9^#V,V SGTES*`^L!9!!9*`^nF!9DM`i DM`i! 9W`i~# *`=! ^#V!9~#fo5W$! 9s#rz! 9^#V^!5Wj! 9^#V^!5W! 9^#V##~#! ^#V!9s#r!9! 9^#V,V SGT3S!!9!SES*`9!9*`!!!`8!9*`DW*`DW!!9!SES͖ !9~#Žlibrary format is invalid!;R!9^#V"`!}2`!! 9^#VW7"`|W!*l`5Wg!*`!!!`8!9!DW­*`DWʵ*`DWʵ*`DWʵ!!9^#V!!rNot an object file!;R!9^#V!5W!̓0DM`i###! 9^#V!S3SB! 9^#VQ̓0DM! 9^#V`i###:Q*`|W`i*`s#r\`i"``i"`!`is#r!9^#V! s;R:V`ʣ! 9! 9^#V!4<͐2! 4<;R.! 9! 9^#V!4<͐2! 4<*n`#"n`;R.! 9! 9^#V!4<͐2! 4<;R.! 9! 9^#V!4<͐2! 4w#66!Y>^)|7g,7s+=7Z!G7~*Y+"Yw!Y6#27*YE7+6-0123456789abcdef;R?DM|k7!! 9^#V! 9^#V̓7;R! 9^#V=!YDMå7`iDMx´7!"d!! 9^#VQ7Ý7! ^#V! 9^#VB"\5W7!*\!9^#V!s!!9^#V!s! 9^#V;R!9N#F!"\58*\#"\*\! 9~#fooWʒ8! 9^#V"\\8*\+"\*\|ʏ8!9^#V;"\5Wʀ8*\*\`i#DM+sU8.8*\;R!9N#F! 9^#V! 9~#foͶV"\!"\8*\#"\*\*\W8!9^#V`i#DM+^͑<5W8!8! 9^#V;R!9N#F!`in Ws! ^! WI9!͏=F9!É9!9^#V!5Wʉ9`i~#ʉ9! 9`i^#V! ^#V͓W6V^S!SS3S!! s#r`is#r!9^#V! 9!SES! ^L!9 SU9!!;R!9N#F!\!SES! ^L!93S! ^! W=:!\! ^#V`i^#V͓W6V^S!SS3Sl:`i~#l:!\`i^#V! ^#V͓W6V^S!SS3S!\!S;R!9N#F;"\DW:!*\ W"\û:!`inWs!À:͜W: :::*\;R!9^#V;DM5W;!9^#V;"\5W ;!*\VPYW;R!9N#F! ^#V`i^#VW;! ^! WP;!!`in Ws`i~#t;O?! ^#V! ^#V! ^nF"\UW;*\|­;!ð;!`inWs!! ^#V`is#r*\! s#r`i~#fo#s#r+^! W;R!9N#F`i~0! ^#V`i^#V͓W"\*\! ^#V! ^cI*\DW'>!`in&Ws!`is#r! s#r!! 9^#V!5W`>!`in& Ws!`is#r! s#r!`i~#q>O?! ^#V!5Wʪ>!! 9! ^cIDW=! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&Ws! 9^#V`i~#fo#s#r+s! W;R!ZDM`i~5?`i DM~ZW2?!?!`is#r! s#r! s#r`i;R!9N#F! ^Nʅ?!! s#r`i! s#r!ͧ0"\|k?!! s#r!`inWs*\! s#r![s# y?*"d*Z"d?Z?;R!!H]!R!:o& WH]s!A" ]!H]DM!"]*]oWA`i^! 5W\@`i^! 5Wd@`i#DM@@`i~A`i^!>5Wʂ@!"]Ö@`i^!<5WsA!"]`i#DM^! 5Wµ@`i^! 5Wʸ@Ö@`i"]`i#DM~@`i^! 5W@`i^! 5W@!`i#DM+s@ý@*]CD*]|A!*]ͥB"](A!*]B"]*]5WpA!A!:Q*]!~Q!A!~Q!! ͗O! AÿA`i*]#"]+) ]s#r`i#DM~ʿA`i^! 5W­A`i^! 5WʼA!`i#DM+sÿAÇA3@! ]*]U!ACan't open file for redirection: $;R*[͜R!DM`i oW(B`i#DM+CDB!9~#KB!͗O WKB!OBDO?A:$$$.SUB;R!"d!;R!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:;R! 9^#V!! 9^#VB;R!Z"]!"]B*]"]*]#"]*] oWC*]^#V!YB5WCB!"d!![DM)C`iDM`i~#JC!9^#V`i^#VQJC!C! ^#V"]! 9^#V! W#"]*] WʋC*]^*]s{‹C!"d!*] WʲC*]#^*]#s{²C!"d!! ^#V*]s#r*]##^*]##s*]###^*]###s!iB*]s#r*]!9^#V!9^#V!9^#V*]^#V͜R! 9!oW?D!YB*]s#r!*];R!9^#V!oWiD!9^#V! pWsD!"d!!9^#V)))ZDM! ^#V! ^#V͜R!9s#r!! s! s! s`is!YB! s#r!9^#V;R!]DMD`i'DM`i_WD`i%~ED!"d!! 9^#VͫO"_5W(E!"d!*_5W:EP"_*_P! 9^#V! W\E!͗O!͗O5WʢE! 9^#V! WʒE!͗O5WʟE!"dP!E! 9^#V! W5WE!"dP!!!! s#r!# s!$ s*_!& s`i!9^#V!s#r! 9^#V! W#!% s!8F!9^#V!s#r! 9^#V! W1FsMP!;R!9N#F)N!& ^P!͗OP!!% s!;R!9^#V)))ZDM! 9^#V! 9^#V! ^#V`i^)\[^#V͜R;R!DM!9^#V"_*_&^P*_$~.G*_$^!͓WDM! 9~#foWG! 9^#VBK! 9^#V*_G.GP!! 9^#V`i͓WV"_|ʂG*_! 9^#V`i*_N"_|ʂGP*_*_͓WVPY*_VPYDM`i! 9~#foWG! 9^#V`i͓W! 9^#V`i*_GGP`iP! 9^#V;R!9N#F6NG!! 9^#V! 9^#V!$ ^!R!$ ^! 9~#fo W!$ s{FH`i!~#fo#s#r!;R:_ºH!}2_!}2_}2_!_! ͗O! !͗O:_o&5WʝH!}2_!:d[o:_o#}2_&_#s!"`:_o&DM! 9~#fopWH! 9^#VBK! 9^#V*`_R`i*`"``i:_o͓W}2_`i;R! 9N#F!"`*I*`#"`*`! 9~#fooW_I!9^#V͗O`i#DM+s!5W_I#I*`;R!9^#V)))ZDM! 9^#V! 9^#V! ^#V! ^)e[^#V͜R;R!DM!9^#V"`*`&^P*`$~%J*`$^!͓WDM! 9~#foWJ! 9^#VBK! 9^#V*`J%JP!! 9^#V`i͓WV"`|ʆJ*`! 9^#V`i*`N" `|ʆJP*`* `͓WVPYDM|ƒJ!`i*`VPYDM`i! 9~#foWJ! 9^#V`i͓W! 9^#V`i*`JJP`iP! 9^#V;R!9N#F6NoWJ!! 9^#V!$ ^!!9^#VR!"͗O"d|5K!!$ ^! 9~#fo W!$ s{gK`i!~#fo#s#r!;R! 9N#F! 9^#V""`*"`+""`#|K`i^! 5WʫK! !͗O`i#DM+^!͗OÃK! 9^#V;R! 9N#F! 9^#V"$`*$`+"$`#| L`i#DM+^! 9^#V͗OK! 9^#V;R!9^#V)))Z~:L!"dS!9^#V)))Z^#VBK!9^#VL!& ^P!`inWs!͗O!`in WssMP! 9!! ^#V,V SGTES!$ ^6VSSS^S!SS3SL!"dS͜WLLYLL!!# s! 9!S SU9M!!! s#r!$ s!"dS! 9!SEV W!$ s! 9!S SkTEV!! s#r! 9!S;R!9N#F!#͗O`i!~#£M!!$ s!`i!~#fo+s#r6NM!!"&`*&`WM*&`+"&`^!DWM*&`#"&`MM*&`!$ s!5W%N`i!~#fo#s#r!!$ s!;R!"(`;R!9N#F!!͗O*(`PYDWkN!! ^#V**`DWN!!͗O"d5WN*d5WʯN!"d!!!R!"(`!*d|ʻN!`i"(`!! ^#V"*`!;R!9^#V)))Z^R!NR"*[!"[*[/O*[!4!O#4*[+"[}N?O?Oo&"d*[;R!9!29^#VͫODMP!9!͗ODMP`i5WʋO!"d!!R͚OR*[DM*[og!9N#F#^#Vkb6#> 6 #=¾O>6#=OyoP O OO ͈PO0_zWO/P P : >4P AoP[%P@1PaoP{oP`w# .OPhP7PvPw#8P{o|g hPvPw#YP&jz!|*P >?a{ 0:ҒP7!9^#V*ZڸP*d}|ڸP*Z"Z|!=!9}_|#W"dR o&R 2m[:[ _R :m[_!9Q!9F+N+V+^+~+ngx4Q4Q4Q# Qog!9V+^+~+ngwRQ#GQ|!9F+N+V+^+~+ngxyQwtQ# hQ|!9ÒQ!9F+N+V+^+~+ng対ʤQ#ÜQxʵQwʵQ# äQw|!9^#V#nQ#QxQ +~Q|!!9~#foQ#Q}!9^#V#N#F#nxRs# R! 9F+N+V+^+~+ngZR>R}ZRnR NR++w xNRɯdR~# xdR!9~aځR{ҁR o&!9~AڗR[җR o&DM!99`i͜R|DM!99!R`i~# xR!9R[~#R!R S|!]$S!]~#~#~#~]w#w#w#w!]*]*]"]" ]*]*]"]"]* ]*]" ]"]!]>w#S!]~U#SU=ɯ<]! ]~OS]! ]ڝS¡S+S]!]#S]!]#S]!]#T]!]#T]!]#.T!]~/w#>T:]?*]*]))\T,=TT"]"]oT:]:]?ʌTW!]~w+€TyT!Ny~S]͎T]͎TyT{S]͎Ty]͎TT]!]w#T{STT]!]w#T!]w#U> !]~w#UO]!]#$Uy=U!]4=U=nU!]~w#IUO]!]#\Uy=U3U]!]#wU!]]~6#ŠU> !]~w#UҺU]!]#±U=–UͥSU!ͥSU!<ͥSUUͥSUUUͥSUUͥSUUU͹SUU͹SUUU͹SUU͹SUUU"]!"]"]|/V!"]*]zkVW}́V}zkVW||vV/g}/o#zV/W{/_MD!͎V}y/Ox/G>))ҟV, ڰV}o|g=—V=—VDM!>))V =¾V}{_V|W|7g}oV{_V)V}{_V|g}oW|g}o|/g}/o|g}o|g}o|NW?W}?W|NW!}NW|?W!}|gW}|?>o&zo&|W}|>o&|o&}/o|/g#}}o|gBK^#VzW#yʶW###äW#x±W#~#fo}|>?o&}|>o&!9f."[![6[o&!9~++f."[![6[Code and data regions overlapInsufficent memory!VX_Corg_DX_Cend_zX_Dorg_hX_Dend_ X_Uorg_ X_Uend_XXXX YXDXVXhXzXXXUnknown loader item (%02x).YccccYOut of disk space!X.\...//H//rr+ww+a a+ xx+d???????????iBiBiBYBYBYBYBYBYBYBYBiBiBiBiBDsB[xB[}B[B[B[B[B[B[B[B[[YBFJH I YBIKK 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ d???????????iBiBiBYBYBYBYBYBYBYBYBtusr_ setusr_ bdos_ rstusr_ _Ceof_ _zap_sss%con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:t! 9^#V!! 9^#Vͣt!u"!"é*"*#"* vʬ *^#V!wx¦ è!"y!!DMæ `iDM`i~#ʧ !9^#V`i^#Vzʧ î ! ^#V"! 9^#V!{#"*{ʨ*^*s{¨!"y!*{ʯ*#^*#s{¯!"y!! ^#V*s#r*##^*##s*###^*###s!s*s#r*!9^#V!9^#V!9^#V*^#V|! 9!vʬ!w*s#r!*t!9^#V!v¦!9^#V! }ʠ !"y!!9^#V)))uDM! ^#V! ^#V|!9s#r!! s! s! s`is!w! s#r!9^#Vt!DMí&`i'DM`i~ʧ(`i%~ʡ)å&!"y!! 9^#V"xʥ+!"y!*xʧ,p"*q! 9^#V!{ʩ.!r\0!DM! 9^#V!z&!zA!!9^#V##^#V"Y|M!Aʊ*Y#"Yͦl!A*"!CM*Y*Y|ʳ!) !*Y! !9!!9^#V!^#V"Y|!A!!9s#r!DM!9~#fo#s#r`i*a!9^#V!k1*Y! !!9s#r!9~#H*Y! *Y`iDM( *Y! *Y!usage: sidsym input outputrCannot open input fileToo many symbolswCannot make output file0!DM*Yͥ!9s#r!z1!9^#V! z1`i.!9^#V `i#DM+s!`is`iz0!9^#V!i!HIs# yd*"Y*"Y͑ À0!!!a !:o&Cs!h"T!DM!"*ͥW`i^! k`i^! k`i#DM`i~W`i*#"+)Ts#r`i#DM~T`i^! kB`i^! kQ!`i#DM+sT!T*̀0̀0! DM kʡ! ! ! DMñ`ikʱ!DM`i0!9^#V! k! ! !9^#V! !9^#V!C0!DM`i~#(`i'DM%!"Y!`i##! 9^#V "kP!"Y!*kb "*!& s* ! 9^#V^!rkʽ`i##! kʫ!"Y !!`is#r!" *|!`i##! `i##! k!"Y !!`is#r`i" !!# s#r!% s`i0!9N#F!"`i*kZ`i^#V!̓"!"l`i*kl!"!& ^ `i##! kʕ!" !`is#r*0!9N#F"z!*C"`i~#fo+s#r!ò *0!9N#F`i*zʃ!"!& ^ !!`i##g !"|Q! *`i#~#fos#r*"`i"`i^#V**`i#~#fos#r!`is#r`i~#fo#s#r+^!C0!9N#F!PYCDM`i k! 9^#V! )k!! 9^#V)0! 9N#F!9^#V`i~#fo#s#r+s`i^#V!u!̓l!!`is#r!9^#V!C0!9N#F`iCʮ!`i#DM+sÐ*&^ x`i!*##o  ! !0!9N#F`i~ `i#DM+^ʹk !! ʹ0!9N#F`i~c ! 9^#V`i#DM+^k` !5 !N!t N"*C!"C*A­ *A!4Ÿ #4*E+"E}u ʽ ʽ o&"Y*EN N*ADM*Cog!9N#F#^#Vkb6#> 6 #= >6#= yʢ     ͻ / 0_zW /9 <  : >g Aڢ [X @d aڢ {Ң `w# .ʂ ʛ j ͩ w#k {o|g ʛ ͩ w#Œ &jz!|*² >?a{ 0: 70!9"!J9^#V+!L9~#fo!H9~#fo"*!H9~#fo!L9~#fo͍.!L9~#fo!H9~#fo"!H9^#VBK*"*!R9^#Vͥk !L9^#V`iDM@ **!R9^#Vͥʞ !L9^#V*"k `i* !L9^#V*ͳ `i*k *" **k `i"`i* !L9^#V`iDM!L9^#V*"`i*@ *PY*!J9~#foͥp `i*g `i*s#r**##s#r*"*"ð !H9^#V*ʦ !H9^#V*s#r**##s#r*"`i!H9s#r!H9^#V* *!9 *"*^#V!H9s#r*##^#V" N o&N 2@:A _N :@_!9= !9F+N+V+^+~+ngx[ [ [ # F og! 9F+N+V+^+~+ngڝ  }ڝ ʱ  ++w x‘ ɯ ~# x§ !9F+N+V+^+~+ngy Fwx# = !9~a { o&!9~A [  o&DM!99`i|DM!99!(`i~# xC!9]A~#d!q||z͡}ͷ}z͡||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>)) =}{_+|6|7g}o{_+)&}{_+|g}o6|g}o|/g}/o|g}o|g}o|ʄu}u|ʄ!}„|u!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#y####x#~#fo}|>?o&}|>o&Y???????????͡}ͷ}z͡||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>)) =9^#V)))!r3~¨!"st!9^#V)))!r6^#VBK!9^#Vé !& ^u!`invs!w!`inxsyz! 9!! ^#V{|}~!$ ^pqrsqtì!"stu  !!# s! 9s|vʧ!!! s#r!$ s!"st! 9swx!$ s! 9s|xw!! s#r! 9spositXPP posit_ csave chantab_ errno_q!9^#V)))!r3~¤!"s!!9^#V)))!r6^#VBK! 9^#V!! s#r!!# s!$ s!ceofzz _Ceof_ csave bdos_ _find_ .ug .ne .eqq!9N#F!#r`i!~# !!$ s!`i!~#fo+s#rsʭ!!"*tʠ*+"^!uʭ*#"àã*!$ s!vʢ `i!~#fo#s#r!!$ s!find _zap_ _find_ csave .ne bdos_ errno_ .eq setmem_r!"r!9N#F*PYs¥!! ^#V*sʢ !!t!!t"uv¤*uvʦ!"u!!!w!"!*u|ʢ !`i"!! ^#V"!isattyBB isatty_ csave chantab_q!9^#V)))!r2^blkio[zz blkrd_ blkwr_ .asave .ARG2 .ARG1 .ARG3 errno_r!ír"*s!"s*t¦*t!4¨#4*u+"u}®ʦʦo&"v*urenameq rename_ csave fcbinit_ setusr_ bdos_ .ne errno_ rstusr_q!9!F9^#VrDM!9!H9^#Vrs!9!tuʯ!9!t!"ví!9!twunlinkK unlink_ csave fcbinit_ setusr_ bdos_ rstusr_ .eq errno_q!9!29^#VrDMs!9!tDMu`ivʧ!"w!!close close_ csave .lt .gt errno_ chantab_ .chl bdf__q!9^#V!r¦!9^#V! sʠ!"t!!9^#V)))uDM! ^#V! ^#Vv!9s#r!! s! s! s`is!w! s#r!9^#Vexecl5PP execl_ execv_ csave execvp_r! 9! 9^#Vsr! 9^#V! 9^#Vsexec execlp_ execvp_ csave fcbinit_ .eq errno_ strcpy_ bdos_ .ug ldr__ movmem_ .chlr! 9! 9^#Vͩr!J9!t9^#Vs"tʧ!"u!!S9^! tʥ!!U9v!! w"*! w!J9!wtʣ !"u!!DM!t9^#V~#ʮ!t9~#fo##s#r!"æ *#"!t9~#fo##s#r++^#V"|ʮ*|­*!\sæ*tʦ*!ls! `i#DM+s*~ʫ`ix®*#"+^`i#DM+sâï `i}2!F!9!yz*!L9!9{COMloader=&& ldr__ ! *!$:!9^#V!q?)!9^#V!r?9!w!'!! 9^#V##^#Vͫ"NF|w! 9^#V##^#V!!'!9^#V!7?ʦ!! 9^#V##^#V!RFMþ! 9^#V!^#V!RF͐9!!RFͫ"PF|!RF!!';G;ͧ*NF"*PF^!?*PF"%!?*F|5!!9^#V!7?n! 9^#V##^#V4! 9^#V##^#V!RFK4!'usage: sqz file [output] rCannot open input file: %s .sqzwCannot create output file: %s Errors in input object file.:! 9^#V! 9^#V! 9^#V!7*PF"!RF4!' No output produced. :! 9^#V! 9^#V͐9!.! 9^#V9DM|ʑ! 9^#V͐9æ! 9^#V! 9^#Vͬ9:!9#;͍;!! 9#;G;*NFY!9!"E"E"E"LF"JF!"HF"BF!E"E!"E"E!"E*NF!!!&Fl!9!F?3*&FF?L!9#;͍;H!?!*8FF?ʂ!*8F.>G;!9#;U;;G;*NFY!9*8FF?ʹ!! 9#;;;G;*NFY!9!9*PF$5;*PF!!!&F!9w*PF$!9;;G>"8F*@FDM `i^#VBKxp! ^!7?@! ^#V!͸>*>F##^#V! s#r*PF!!`i!9!F?m!?*PF$!9;;G>"6F*FFDM×`i^#VBKx! ^!7?! ^#V!͸>*>F##^#V! s#r*PF!!`i!9!F?!?Ð*PF$!9;;G>":F"G;!9#;U;;G;*PFY!9!:*NF DMF?_*PF^!?ʫ!?!"$F`i?̀*PF!͘!!PY?DM`i+DM`iV?*NF G\| \#DM`i*E"E`i*E"E\!\`i*NF |x*NF |*NF || !ͮ*NF |ͮ*E#"Eͮ!*E"E !!^#Ve?xR\!`*F#"F\͞? 0@P`p (: }Unknown loader item '%02x' :!9N#F`i?Õ`i?! 9s#r`i?͋?+! 9s#r! 9s#r!*$F)Es#r! 9^#V*$F#"$F+)Es#r`i*$F)Es#r!! 9s#r`i7 *NF! 9s#rN !?N ͞?    , ! 9^#V*$F#"$F+)Es#r! 9s#r! 9^#V! ͸>*DF!9s#rú ! 9s#r! 9^#V!͸>*>F!9s#r!PY?DM!9^#V!^J !DM!9^#V!^#V! 9s#ra !DM!9^#V!^#V! 9s#ra !DM!9^#V!^#V! 9s#ra !DM!9^#V!^#V! 9s#ra ͞?   - a `i*$F)Es#r! 9^#V*$F#"$F+)Es#r*$F#"$F+!9s#r`i!9^#V)Es#r*NF |! 9s#r`i? q? *NF |!9s#r !*$F)Es#r`i? !9^#V! 9~#fos#r!9^#V#)E^#V!7?q !9^#V##)E^#V!?7?q !9^#V##)E^#VBK !9^#V#)E^#V!?7? !9^#V##)E^#V!7? !9^#V#)E^#VBK !V!9^#V! 9~#fo͕?s#r!9^#V#)E^#V!?7?3 !9^#V##)E^#V!7?3 !9^#V#)E^#VBKë !9^#V#)E^#V!?7?ʧ !9^#V##)E^#V!?7?ʧ !9^#V##)E^#V!9^#V#)E^#V7?ʧ !DMë !V!9^#V! 9~#fo͸>s#r!9^#V! 9~#foK>s#r!9^#V! 9~#fo`>s#r!9^#V! 9~#fo?s#r!9^#V! 9~#fo?s#r!9^#V! 9~#fo'?s#r!9^#V! 9~#fo>s#r!9^#V! 9~#fo>s#r! 9^#V?! 9s#r! 9^#V͋?! 9s#r! 9^#V!>?! 9s#r!! 9~#fo?s#r!! ^#V   7 R n !9^#V#)E^#V!7?ʑ!9^#V##)E^#V!7?ʑ!DM`i!9^#V)Es#r!9^#V#"$F! 9^#V!9^#V)Es#r!͞? 0@P`i p !*F#"F!invalid operator in evaluate %x :!9^#V!?*NF )))):*6F*8F͕?Y>!9s#r!!9^#V~">F|Q!@*>FDMa`iDM!9~#fo+s#r#|*NF!!`il!9!F?ʤ!?!`in&?s! ^!F?`i~#́Y:*:F*6F͕?Y>!9s#r! !9^#V~"DF|!!@*DFDM1`i DM!9~#fo+s#r#|ʀ*NF!!`il!9!F?t!?!! s):!9N#F! ^!?9! ^!?!`in&?s*JF#"JF+! s#r*BF|`i*BFs#r`i"@F`i"BF9!@`in&?s*LF#"LF+! s#r*HF|/`i*HFs#r4`i"FF`i"HF! ^!?:!9N#FY`i*@#"@+@Bs*@V?x̀*E#"E:*@|*PF*@+?͘!!DMð`i#DM`i*@q?*PF`i@B^͘!ë!"@:*E7?*EG!ͮ*E#"E:*EF?=*@|T*EV?T*Eq?T̀Y!*E"Ew*E?G*E>?G:*E7?*E7?*E#*E͕?DM`ir?½`iq?*E!*F#"FG*E#"E!ͮBranch out of range, pc=%x :*E7?B*E7?B*E##*E͕?"E!"E X!*E"E!ͮ:*E*EF?y*E*EF?̀*E7?ʨ*E͸>*>F##^#V!7õ*PF*E͘!*E"E*E"E*E|̀*E?!!7!*E͕?"E*E?*E+!7!"E:*EF?7*E|7Y!"E!"E*E*Es#r!9^#VÅ! 9^#V"E!E"E!"EØ!E"EØ!E"EØ͞?Y|s*E^#V"E!9^#V"E:Ỳ*PF! 9^#V͘!:Ỳ!DM`i#DM`i*$Fq?6`i)E^#V!9s#r`i)E^#V!?`i)E^#Vq!9^#V!V?]!9^#V!W?]*PF!9^#V!0?͘!!9^#V!V?ʜ!9^#V!q?ʜ*PF!9^#V#͋?@?͘!!9^#V!V?!9^#V!q?!9^#V!!P7*PF`i)E^#V͘!*PF!9^#VG!È!9^#V!? !9^#V!7È!9^#V!?G!9^#V!7È!9^#V!?n!9^#V!7È͞?##J3!9^#V! ͸>*DF!9s#r!9^#V!͸>*>F!9s#r!9^#V́!9^#V##^#V!p7!9^#V##^#V!`73*PF`i)E^#V͘!3͞? `p3:*PF! 9^#V!?! 9~#fo?͘!*PF! 9^#V!>?͘!:! 9^#V! 9~#fo͸>DM͔5!9s#rzʽ!!9^#V0:!9^#V:! 9! 9^#V! 8:!9N#F!"TB!9^#V"RB!9~#fo#s#r+^"PB|*PB%7?!!9s!"VB! "XB!'"ZB!9~#fo#s#r+^"PB-7?ʅ!"VB!9~#fo#s#r+^"PB*PB07?ʯ!0"XB!9~#fo#s#r+^"PB*PB*7?*RB##"RB++^#V"\B!9~#fo#s#r+^"PB4!"\B!9~#fo#s#r+^"PB*PBA#^!?4*\B ͸>*PB"\B*PB.7?!9~#fo#s#r+^"PB*7?ʍ*RB##"RB++^#V"ZB!9~#fo#s#r+^"PB!"ZBî!9~#fo#s#r+^"PB*PBA#^!?*ZB ͸>*PB"ZBÖ!"^B*PBl7? !9~#fo#s#r+^"PB!"^B1*PBh7?1!9~#fo#s#r+^"PB*PB!"`BX! "`BX!"`BX!"`B*^B!9*`B*RB!9"bB*^B*RB"RB*RB##"RB++^#V"bB:"^B*RB##"RB++^#V"PB*PB!9"bBs͞?cdRo7su@xI!9*bB͕?"^B*^B*ZBr?*ZB"^B*VB|?*TB#"TB*\B+"\B#*^Br??*XB`i͞:7?<! !"`BO*`B#"`B*bB~ʆ*`B*ZBq?ʆ*bB#"bB+^`i͞:7?ʃ!H*`B*TB"TB*VB|ã*TB#"TB*\B+"\B#*^Br?! `i͞:7?!Ü*PB`i͞:7?!*TB#"TB*TB!"@" @! 9~2@G+V+^+6"@+N+V+^!@w#yO/w#CP!!@>^)|dg,\s+=WZ!~*@+"@w!@P#†*@+6-0123456789abcdef: $DM|¿!! 9^#V! 9^#V:! 9^#V"!"@DM`iDMx!"F!! 9^#VX9! ^#V! 9^#V'"dB7?A!*dB!9^#V!s!!9^#V!s! 9^#V:!9N#F!"fBÉ*fB#"fB*fB! 9~#foq?! 9^#V"jBð*jB+"jB*jB|!9^#V "hB7?*fB*hB`i#DM+séÂ*fB:!9N#F! 9^#V! 9~#fo͸>"nB!"lB*lB#"lB*lB*nB?P!9^#V`i#DM+^͘!7?M!! 9^#V:!9N#F!`in?s! ^!?ʝ!͖"ʚ!!9^#V!7?`i~#! 9`i^#V! ^#V͕?8>`;#;;5;!! s#r`is#r!9^#V! 9#;G;! ^1!9;= !!:!9N#F!vB!;G;! ^1!95;! ^!?ʑ!vB! ^#V`i^#V͕?8>`;#;;5;`i~#!vB`i^#V! ^#V͕?8>`;#;;5;!vB#;:!9^#V DM7?!9^#V "zB7? !*zB>PY?:!9N#F! ^#V`i^#V? ! ^!?E !!`in?s`i~#i V$! ^#V! ^#V! ^u+"|BW?ʹ *|B|¢ !å !`in?s!! ^#V`is#r*|B! s#r`i~#fo#s#r+^!?:!Z@! 9^#V!:!9N#F`i 7?8!! 9^#V! ͘!7?8!!! 9^#V͘!:!9N#F! 9^#V͘!q?p!!! 9^#V`i>͘!q?ʕ!!`i:! 9N#F! ^#V`i^#V?!!9^#V!?͖"!9^#V`i~#fo#s#r+s!?:!O@DM`i@?"`i DM"!:!9N#F!"~B`i~ʉ"! ^!?W"!͖""~B! ^J)*~B?"~B! ^!?ʉ"! ^#V97!! s*~B:!9N#F!!"JA! ^!?ʽ"!! ^!?.#! ^#V`i^#V͕?"B*B! ^#V! ^j.*BF?.#!`in&?s!`is#r! s#r!! 9^#V!7?g#!`in&?s!`is#r! s#r!`i~#x#V$! ^#V!7?ʱ#!! 9! ^j.F?#! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&?s! 9^#V`i~#fo#s#r+s!?:!O@DM`i~<$`i DM@?9$!$!`is#r! s#r! s#r`i:!9N#F! ^3ʌ$!! s#r`i! s#r!͔5"B|r$!! s#r!`in?s*B! s#r!@BZs# y$*"F*@"F$@$:!!B!L:!:o&?Bs!&"B!BDM!"LC*LCq?&`i^! 7?c%`i^! 7?k%`i#DMG%`i~&`i^!>7?ʉ%!"PCÝ%`i^!<7?z&!"PC`i#DM^! 7?¼%`i^! 7?ʿ%Ý%`i"NC`i#DM~%`i^! 7?%`i^! 7?%!`i#DM+s%%*PCJ)*PC|&!*NCͬ'"PC/&!*NC'"PC*PC7?w&!&!͐9*NC!ͬ9!'!ͬ9!! 7! '&`i*LC#"LC+)Bs#r`i#DM~&`i^! 7?´&`i^! 7?&!`i#DM+s&Î&:%!B*LC!'Can't open file for redirection: $:*JA͞:!DM`i q?/'`i#DM+J)'!9~#R'!7?R'!V'4$A:$$$.SUB:!"F!:!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR::! 9^#V!! 9^#V':!@"RC!"VC'*RC"RC*VC#"VC*VC q?(*RC^#V!`'7? ('!"F!!dADM0(`iDM`i~#Q(!9^#V`i^#VX9Q(((! ^#V"TC! 9^#V!?#"XC*XC?ʒ(*TC^*RCs{’(!"F!*XC?ʹ(*TC#^*RC#s{¹(!"F!! ^#V*RCs#r*TC##^*RC##s*TC###^*RC###s!p'*RCs#r*RC!9^#V!9^#V!9^#V*TC^#V͞:! 9!q?F)!`'*RCs#r!*VC:!9^#V!q?p)!9^#V! r?z)!"F!!9^#V)))@DM! ^#V! ^#V͞:!9s#r!! s! s! s`is!`'! s#r!9^#V:!ZCDM)`i'DM`iD?*`i%~ *)!"F!! 9^#V8"D7?/*!"F!*D7?A*$9"D*D39! 9^#V!?c*!7!77?ʩ*! 9^#V!?ʙ*!77?ʦ*!"FL9!*! 9^#V!?7?*!"FL9!!!! s#r!# s!$ s*D!& s`i!9^#V!s#r! 9^#V!?#!% s!?+!9^#V!s#r! 9^#V!?8+z2L9!:!9N#F03!& ^39!7L9!!% s!:!9^#V)))@DM! 9^#V! 9^#V! ^#V`i^)A^#V͞::!DM!9^#V"D*D&^39*D$~5,*D$^!͕?DM! 9~#fo?,! 9^#VBK! 9^#V*D,5,L9!! 9^#V`i͕?>"D|ʉ,*D! 9^#V`i*D3"D|ʉ,L9*D*D͕?>PY*D>PYDM`i! 9~#fo?,! 9^#V`i͕?! 9^#V`i*D,,L9`iL9! 9^#V:!9N#F=3,!! 9^#V! 9^#V!$ ^!L:!$ ^! 9~#fo?!$ s{M-`i!~#fo#s#r!::D-!}2D!}2D}2D!D! 7! !7:Do&7?ʤ-!}2D!:Ao:Do#}2D&D#s!"E:Do&DM! 9~#for?-! 9^#VBK! 9^#V*EDL:`i*E"E`i:Do͕?}2D`i:! 9N#F!"E1.*E#"E*E! 9~#foq?f.!9^#V7`i#DM+s!7?f.*.*E:!9^#V)))@DM! 9^#V! 9^#V! ^#V! ^)A^#V͞::!DM!9^#V"E*E&^39*E$~,/*E$^!͕?DM! 9~#fo?/! 9^#VBK! 9^#V*E/,/L9!! 9^#V`i͕?>"E|ʍ/*E! 9^#V`i*E3"E|ʍ/L9*E*E͕?>PYDM|Š/!`i*E>PYDM`i! 9~#fo?/! 9^#V`i͕?! 9^#V`i*E//L9`iL9! 9^#V:!9N#F=3q?0!! 9^#V!$ ^!!9^#VL:!"7"F|<0!!$ ^! 9~#fo?!$ s{n0`i!~#fo#s#r!:! 9N#F! 9^#V"E*E+"E#|0`i^! 7?ʲ0! !7`i#DM+^!7Ê0! 9^#V:! 9N#F! 9^#V"E*E+"E#|1`i#DM+^! 9^#V70! 9^#V:!9^#V)))@~A1!"F;!9^#V)))@^#VBK!9^#V1!& ^39!`in?s!7!`in?sz2L9! 9!! ^#V.>;IU;;`;#;;5;2!"F;͞?11`11!!# s! 9#;;=@2!!! s#r!$ s!"F;! 9#;G>?!$ s! 9#;;m!! s#r! 9#;:!9N#F!#7`i!~#ª2!!$ s!`i!~#fo+s#r=32!!"E*E?2*E+"E^!F?2*E#"E22*E!$ s!7?,3`i!~#fo#s#r!!$ s!:!"E:!9N#F!!7*EPYF?r3!! ^#V*EF?3!!7"F7?”3*F7?ʶ3!"F!!!0:!"E!*F|3!`i"E!! ^#V"E!:!9^#V)))@^:!3:"*;B!";B*9B64*9B!4(4#4*=B+"=B}3F4F4o&"F*=B:!9!F9^#V8DM!9!H9^#V839!DM!9!7F?ʴ4!9!7!"F!DM4!9!77?4!"F!DML9`i:!9!29^#V8DM39!9!7DML9`i7?#5!"F!!:!9N#F! ^#V+))"E97! 9^#V͔5"E|ʐ5*EPYF?ʐ5! 9^#V*E?|5*EÄ5! 9^#V*EL:*E:!9^#V###>#"E*E"E|5!E"E"E"E*E##^#VBK5`i"E! ^#VBK! ^#V`iF?a6! ^#V`i^#V))PY7?a6! ^#V*E7?06! ^#V##^#V"E! ^#V^#V`i~#fos#r! ^#V##^#V! s#r5`i^#V*E?6`i^#V*E7?ʑ6! ^#V*E##s#r6*E))PY"E*E*E##s#r! ^#V*E##s#r`i^#V*E͕?*Es#r*E`is#r*E"E!! s#r`i`i*E7?57!8DM7?7!!`is#r!! s#r`i97*EDM5:!9^#V!"E*E##~#\7!*EDMm7! ^#VBK`i*E?Œ7! ^#V*E?7! ^#V`i?ʽ7*EPY?7! ^#V*E?7d7! ^#V*E##s#r*E! s#r`i"E!:7:*9BDM*;Bog!9N#F#^#Vkb6#> 6 #=8>6#=8y8 58 98*8 8R80_zW<8/\8_8 : >Š8 A8[{8@Ç8a8{8`w# .ʥ8ʾ8ʍ88w#Î8{o|g ʾ88w#¯8&jz!|*8 >?a{ 0:87!9^#V*@9*F}|9*@"@|!=!9}_|#W"F: o&: 2A:9B _: :A_!9l9!9F+N+V+^+~+ngxʊ9Š9ʊ9# u9og!9V+^+~+ngwʨ9#Ý9|!99!9F+N+V+^+~+ng対9#9x9w9# 9w|!9^#V#n:#9x: +~:|!!9~#fo,:##:}!9^#V#N#F#nxJ:s# ?:! 9F+N+V+^+~+ngڈ:l:}ڈ:ʜ: |:++w x|:ɯ:~# x’:DM!99`i͞:|DM!99!:`i~# x:!9:9B~#:!; ;|!B&;!B~#~#~#~Bw#w#w#w!B*B*B"B"B*B*B"B"B*B*B"B"B!B>w#ƒ;!B~=#’;==ɯ<B!B~O;B!Bڟ;£;+;B!B#;B!B#;B!B#<B!B#<B!B#0 !B~w#=OB!B#&=y?=!B4= ==p=!B~w#K=OB!B#^=y?=5=B!B#y=!BB~6#Œ=> !B~w#Ÿ=Ҽ=B!B#³==˜=ͧ;=!ͧ;=!<ͧ;==ͧ;===ͧ;==ͧ;===ͻ;==ͻ;===ͻ;==ͻ;==="B!"B"B|1>!"B*Bzm>?}̓>}zm>?||x>/g}/o#z>/W{/_MD!͐>}y/Ox/G>))ҡ>, ڲ>}o|g=™>=™>DM!>))> =>}{_>|?|7g}o>{_>)>}{_>|g}o?|g}o|/g}/o|g}o|g}o|P?A?}A?|P?!}P?|A?!}|i?}|?>o&zo&|?}|>o&|o&}/o|/g#}}o|gBK^#Vz?#yʸ?###æ?#x³?#~#fo}|>?o&}|>o&No more disk space!Bad object file!Not enough memory!rr+ww+a a+ xx+F???????????p'p'p'`'`'`'`'`'`'`'`'p'p'p'p')z'LA'LA'RA'RA'RA'RA'RA'RA'XA'XA^A`'+Q-. `'.00 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ SQZ COMT LIB(!OVBGN O80"OVLOADERO80#.dng.dtst.dcmp.dsb.dad.ddv.dml.deq.dne.dlt.dle.dge.dgt.utod.itod.xtod.dtox.dtou.dtoifabs_.dml10sinA hh cos_ @sin_ csave .dldp .dpsh fabs_ .dlis .dad .dlt .dng .dge errno_ .dlip .dml modf_ .dlds .dst .dtoi .an .dne .dswap .dsb .dpop .dgtr!! 9stu!9vADBwt!9stͣ !9r!9svxʢ!! 9syt!9stͣ !9!! 9st!9stͣ !9r!9svEkzʣ !"{|!!9sv@Q|'!}t~! 9v@zʡ!|Awp!sqrʮ!9~#ʣ!æ!!9s#r!9stu!9!9sʫ!|@tsup!! 9! 9stu!9t~! 9p!!sv>wz\,}t!svA$@}t!9svuvw!wp!stu!9v<ўwʯ1!!s!}p!!sv:Lv}v!BLw!}v.;JIw!}v w!}v@"""""w!}v*w!}p!!s!}tswp!9~#ʪ3!!syp!stanj0 cotan_ tan_ csave .dldp .dpsh fabs_ .dst .dlis .dlt errno_ .dlip .dgt .dml modf_ .dge .dswap .dad .dpop .dsb .dlds .dtoi .an .or .dng .ddv .swtr!! 9stu!9v!swQxʭ!"y!9swxʡz+Zz+Z!!st!9stͯ !9r!! 9stu!9t!9stͯ !9r!9swE{ʯ!"yz!! 9sw@nND|t}! 9w@~ʨ!! 9swxʮzézAspv!!sw>J.{l|t!swA |t!9sqrqpv!stu!9w=/i,xʧ!!sv!zAvé-!!s!s|v!!sw+r,r|w?t1Vp!s|w"%kʚp!s|!s|!spv!!sw>[x;p!s|w@_Up!s|wwzgEp!s|wApv!stu!9~#fovs#r!9^#Vç4!!swv!s!sx!!swv!s!sxy30125zasin[ ZZ asin_ :arcsine_ acos_ csave .dldp .dpsh fabs_ .dst .dlis .dlt .dgt .sb errno_ .dlip .dlds .dsb .dad ldexp_ sqrt_ .dng .dml .dpop .ddvs!! 9tuͪ! 9s!! 9tuͪ! 9s@ڢ!hADB@ڢ!h!! 9tuv!9w!9^#VBK!tx<>yʫ!!twí&!tx@zʣ!PY{DM!txAzʦ !"|}!}@!~x@pw!!!tuq! 9w!!tur!9w!!t!~pswê!!t!~tw!!txnp!~txAnp!~tx}jp!~txB$p!~tx6\>Tpu!tx]0txA ' vp!~tx'YSM8p!~txA95Nl p!~tx^U: _p!~tuv!~t!~pw!9~#ʩ/!9txyʤ,!`i)))tu`i)))tup!~pwæ/!`i)))tu`i)))t!~upwä5!`i)))tu`i)))tup!~pw!9txyʤ5!!tsw!tatan $vv atan2_ Batan_ csave .dldp .dtst errno_ .dlip Sysvec_ flterr_ .dlds .ddv .dst .eq .dpsh fabs_ .dlis .dlt .dsb .dng .dgt .dad .dml .dpop .gt .dswaprr!9st¥!9st©!"uvvADB*w"!"w!"x!! 9s!9yz{*"w*x|ʨ !vADB{â*x|ʪ !v{î !!s}~!9}͢!9{!9spʢ!vA$?j!yq{!9spʫ!!sr{!sr@ kADBA #6!"!! 9s}~!9{!sAsʡ!vA!yz{!"!s@DQz{5Jsʯ !!sAgt}!s@g}u!yttvz{*#"!s}~!9<>pʢ$!!s{î2!!s!yu{!!sA$ct!yuA;dGt!yuAV(H-t!yuA)y+Mt}!sk͌=u~F0t!yut!yu S(ot!yuvz!yu!yt{*wʬ4!!sr{!*)))sxst{!9spʥ9!!sr{!ssinh2>> sinh_ Tcosh_ csave .dldp .dst .dlis .dlt .dng .dgt .dad errno_ .dlip .dpsh exp_ .dlds .ddv .dswap .dsb .dml .dpop fabs_r!! 9st!"!9suvʫ!! 9swt!"!suAxʫ!!suryt!suB]Lxʡ !"z!{+Ztï!!s|}!9t!suA33333vʨ!{@?R!~psqt!!su>Xrpsyt*|ʨ!!swtí$!su<>vʤ!! 9stí$!! 9s! 9~rt!!su8y!~ruBB)y!~ru 5|$y|!su'=~@ru -Ey!~ru-+m()y!~ru^DՔys! 9~r!~r! 9/* Copyright (C) 1984 by Manx Software Systems */ extern char ctp_[]; #define isalpha(x) (ctp_[(x)+1]&0x03) #define isupper(x) (ctp_[(x)+1]&0x01) #define islower(x) (ctp_[(x)+1]&0x02) #define isdigit(x) (ctp_[(x)+1]&0x04) #define isxdigit(x) (ctp_[(x)+1]&0x08) #define isalnum(x) (ctp_[(x)+1]&0x07) #define isspace(x) (ctp_[(x)+1]&0x10) #define ispunct(x) (ctp_[(x)+1]&0x40) #define iscntrl(x) (ctp_[(x)+1]&0x20) #define isprint(x) (ctp_[(x)+1]&0xc7) #define isgraph(x) (ctp_[(x)+1]&0x47) #define isascii(x) (((x)&0x80)==0) #define toascii(x) ((x)&127) #define _tolower(x) ((x)|0x20) #define _toupper(x) ((x)&0x5f) er(x) (ctp_[(x)+1]&0x01) #define islower(x) (ctp_[(x)+1]&0x02) #define isdigit(x) (ctp_[(x)+1]&0x04) #define isxdigit(x) (ctp_[(x)+1]&0x08) #define isalnum(x) (ctp_[(x)+1]&0x07) #define isspace(x) (ctp_[(x)+1]&0x10) #define ispunct(x) (ctp_[(x)+1]&0x40) #define iscntrl(x) (ctp_[(x)+1]&0x20) #define isprint(x) (ctp_[(x)+1]&0xc7) #define isgraph(x) (ctp_[(x)+1]&0x47) #definu!!rrzuî!rv<>pʠ!!ruî!!r!yqu!!rvApz!yqvBŦyz!yqvB> sqrt_ csave .dldp .dtst .dlis .dlt errno_ .dlip .dpsh frexp_ .dst .dml .dad .dlds .ddv .dpop .dsb .an .dswap .dv ldexp_q!9rs«!9r!9rtuʥ!"vw!!! 9rxy! 9z!!rt@hH{t@jK3|z!!r!}~!}|z!!r!}~x!rt@@{|z!!r!}~!}|t@{z!!r!}~!}pt@{!}|z*qʧ!w@3@rr{z*#"*s!rxt! 9log@: log10_ 'log_ csave .dldp .dpsh .dlis .dml .dle errno_ .dlip frexp_ .dst .dgt .dad .dlds .ddv .dpop .itodr!9stͧ!9u@o-T$vr!9suwʧ!"xy+Z!!! 9stz! 9{!su@3@|ʥ !!su}{!!su@vu@}{â*+"!!su}{!!su@vu@}{!!s!~{!!s!~v{!!su#Ϝ}!~vuB8?Rh}!~vuӁ}t!su !vuAbJ }!~vu@J_}!~vp!~v!~}{!*q{!su@vt!su .0Qvp}!~}random ran_ erandl_ csave .llip .lswap .lldp .lml .lst .llis .ldv .lsb .xtod .dlis .ddv .dlds .dml .dpsh exp_r!s}tuvw!!ux*yx*vtuzw!u{|C*}r͠!9~pq!9expA">> exp_ csave .dldp .dlis .dgt errno_ .dlip .dlt .dpsh fabs_ .dml modf_ .dst .dge .dlds .dad .dtoi .dpop .dsb .ddv ldexp_q!9rsB]Ltʠ!"uv+Z!9rsbwʪ!"uv!9rxy!9s8[uZwʩvA!!! 9rsAqTvR0zx{! 9|!rs@}ʥ!~vA|!rp"!! 9! 9rx{! 9|!!rs? .0Qzx!rs@zx!9rqrq!~|!!r!~z|!!rs?*Fzs@F?n!~zs@?!~z|!!rs? 2߼p zs@88(!~zs@!~rx!rqss@|*#!rxt! 9floor floor_ Vceil_ csave .dldp .dlis .dlt .dng .dpsh modf_ .dgt .dlds .dlip .dad .dstr!9stuʧ!9svwͦ!9v!9! 9swx! 9!9sr!9stuʭ!9svw͠!9v!9! 9swx! 9tyʯ !9z{A|}!9sfscanf}ll fscanf_ csave scanfmt_ .an agetc_ ungetc_q!9^#V"!"! 9! 9^#V!rq!9~#©*^!sʫ!"æ*t"é**u"*scanfnzz scanf_ csave scanfmt_ Cbuffs_ .an agetc_ ungetc_q!"! 9! 9^#V!rq!9~#ª:!s6o&tʬ!"ç!su"ê!s*v"*sscanfPP sscanf_ csave scanfmt_ .anq!9^#V"!}2! 9! 9^#V!rq!9~#¤*~ʪ*#"+^!s!}2ì:¬*+"^!s!fscan.-"  scanfmt_ {skipblan getnum_ getflt_ csave .eq ctp__ .an .ml .lldp .lst .xtoi atof_ .dst .fst .ne .chl index_ .swt .le .itox .lt .ltst .lswap .lml .sb .lad .lng~t!9N#FABCDEFabcdef9876543210    !"!9^#V"`i#DM+^"|ʬD*%uʩ@!}2}2}2!"`i^!*uʫ`i#DM!}2`i^!v#^!wʨ !"* x`i^"`i#DM^!v#^!w§`i^!luʢ !}2`i#DM`i#DM+^ã<!%"æB!}2é!}2! "! "á!}2!"!"á!}2!"!"ͫG¬D!***ͦ[!9ʬD:©:ʭ!9~#fo##s#r++^#V!yzâ!y{!9~#fo##s#r++^#Vs#r*#"æ@!}2ͫG¬D!9ͬK¬D:¥#:extern int errno; #define ENOENT -1 #define E2BIG -2 #define EBADF -3 #define ENOMEM -4 #define EEXIST -5 #define EINVAL -6 #define ENFILE -7 #define EMFILE -8 #define ENOTTY -9 #define EACCES -10 #define ERANGE -20 #define EDOM -21 PIP COM:,SIDSYM COMZ-.VDE266 LBR689:;<=>VDE266 LBREFGVINST266COMOHIZSID COMP/0EXMPL C 1CNM COMd*+s*#"æ@: ;!"!!9s!}2â-r% DEFOX[#c:defhos*x@éD*v#^!wʦBͫG¬DéD!*p*ʩD!*pìDî*|§G!*puʬF!!*p*t!*pv#^!wʠJáH!*puʨK!!t!9^#VBK!}2}2}2*+"#|ʠZ!*p":®Q*-u¤Q*+uʮQ!}2áY:«S*.uʫS!}2áY:¯V*euªU*EuʯV!}2!}2}2áY*v#^!w¡Y!*pàZ*`i#DM+sêM!`is`i!9~#fout*sʭ\!!!""tz!*p"-uʨ`!"*#"éb*+uʮa*#"éb!*pãc*#"**uʨo!*p"! 9^#VqDM|¥j! 9^#V!uʧi!yv§i*xu¬b*Xu¬b!*pèo!!9^#Vtwyxz!`i! 9~#foy! 9~#fo^twyzzìb*|ʨq!9^#V!y{zêr!9^#V!yz*fprintfAPP fprintf_ csave format_ aputc_q!9^#V"! 9! 9^#V!rq*! 9^#VsprintfPP printf_ csave putchar_ format_q! 9! 9^#V!rssprintfWPP sprintf_ csave format_ .anq!9^#V"! 9! 9^#V!rDM!*s`iq!9^#V*#"+s!sfformath format_ csave .eq ctp__ .an .ml fmtcvt_ strlen_ .dldp .dpsh ftoa_ .swt .sb .gt .chl .lt8q!9N#F!"!9^#V"!9~#fo#s#r+^"|ʤF*%rʣD!!9s!"! "!'"!9^#V^"-rʨ !"!9~#fo#s#r+^"*0rʢ !0"!9~#fo#s#r+^"**rʪ*##"++^#V"!9~#fo#s#r+^"á!"!9~#fo#s#r+^"s#^!tʡ* u*"à*.rʧ!9~#fo#s#r+^"*rʪ*##"++^#V"!9~#fo#s#r+^"ç!"ë!9~#fo#s#r+^"*s#^!tʧ* u*"ã!"*lrʪ!!9~#fo#s#r+^"!"î#*hrʮ#!9~#fo#s#r+^"*æ2!"å&! "å&!"å&!"*!9**v!9"**"á5*##"++^#V"w"ï5**'rʧ,!ê,*!9*"xyz!9!9"w"!"ï5*##"++^#V"*!9"sá5{ c0d%e*f*g*o$s)u$x%1!9*|"**}ʢ7*"*|ʠ;ä8*#"*+"#*}ʠ;*`i~rʭ:!í7!"à<*#"*~ʧ?**ʧ?*#"+^`i~rʤ?!é;**"*| DäA*#"*+"#*}ʠD! `i~rʭC!í@áF*`i~rʪE!*#"î*atof( atof_ .utod .dml10 .dswap .dad .dlis .ddv .dngů222!"q!9N#F ʦ ªë-¥2ê+« 0ڪ:Ҫrs0o&qt:ʪ*+"ê.§!6ê! e¤  -®2ã +¤  0ڮ :Ү 0)T]))_ã :ʬ |/g}/o#*"*|¦}/S#>c{Z=ֿzf=y0==%}<6{<_^Y&; oP;4$C;hIj! 9^#V"!9~2!9q!9~2ãyڢ* ">ã2*+|!á®}ڡ!)))yzuA {ʤ!|:ʤ*#"`i":ʮxy*60#6.#:y/î:ʩ60#=¢">O!~%+ʧ%*r 6#6x>0ң#*r#~>0£###6*w#"!5ʧ%x %*6.#"vê!:©)*6e#6+::'6-/<#dگ'61#d ڬ( á(0_>0w#s#"*6}!|xfrexp4ll frexp_ ldexp_ modf_ flprm .dldp .utod!9ͦ®! 9^#Vq#p!9ͦʩ! 9^#V |/g}/o#}Oͨ}/_/W~#«~#ʣ+DM*s#s## w#w¤!ufsubshJ,,  flprm flsec flterr_ .flds .fldp ,.fst J.dlis Q.dlds X.dlip _.dldp ~.dst .dpsh .dpop .dswap .dng .dtst (.dcmp ^.dsb e.dad :.ddv B.dml .deq .dne .dlt .dle .dge .dgt ".utod ..itod !.xtod a.dtox .dtou .dtoi (fabs_ ..dml10 Sysvec_ puterr_ lnprm*ë*w#@w#6#w©#w¤*~G#~@##~ !*ã!*w#@w#6#w¡#6͠G*~G#~@##~¦ "͠G* V+^+V+^+V+^+V++~@_+~_*"*s#{@w#6#r#s#r#s#r#s#r#6***""*~w*#~¢?ç>=ɯ<**á#¤ #ڠ¤­*~w* w# * w#¯**#/<+"" ҧIO _"! "!**+­ î**w+¬>w+ #~>!>w+ >*wçI**+¥" "çI**#O~¬%>2çS##®' & q#6#62îKqڧ( q+ ~+¡) ~+£*!w#¡+>@2!~w#¢,O!#§-y¤/!4!5¬+æ2!5ʦ2!~w#¡0O!#¤1y¤/æ.* 6+6+w§3çI**#ʡK~ʡK ~+§6 ~+©7!w#§8>@2!~w#¨9ң<!#¬:ң<§;!5¢9*  w+¦=çIͨʢ?!ͨʧ>!<ͨ?ç>ͨ?ʢ?ç>ͨ>â?ͨ>ʧ>â?|ʡKäD|ʡKzD/W{/_*p#z«E6#6#sçF6#6#r#s#w§FèO* ~¤H+~w7+~w©H§I*#~T]#O¯O#¦L §J2* w#6#w®K>GʦN+y>O~# ¦M¯MO@ڨOâSکQ>2 y!#define O_RDONLY 0 #define O_WRONLY 1 #define O_RDWR 2 #define O_CREAT 0x0100 #define O_TRUNC 0x0200 #define O_EXCL 0x0400 #define O_APPEND 0x0800 PIP COM:,SIDSYM COMZ-.VDE266 LBR689:;<=>VDE266 LBREFGVINST266COMOHIZSID COMP/0EXMPL C 1CNM COMd*+árám*F#~ʮmn!èOҨp#oҠo$^+VyʨOxO|/g}/o#èOy£q!árxq!ár!>2*6*#4 ^&)DM)) #wz++«s#wʧI++~v@ҢSͩ_! t0:ڤ`o&t ʯao&tî`*6#6]T#w£c!u:!u3e>#¥d>çI~#¦eçI!"u"!u2u*N#~ʨOOҦjG#oҨh$~+¨hyO!u>w#ªièOyk6#6#6#6ár6#6#6#6 ĚΚ̙ʙ '% z̙̙@JU<%>(e&c%`̙cZ(ҙ>4JV`%j%&L%@JHѨHșv%`)ր% |) ؛% rט% s?@e}%A ʙ ̙Κ@/u%4JR%@(e@JR%W%%%#JϤЙĚV@BJ@@F@JRخ&X؅&TC&Sւ&V鎩Pr&z鴱w&験FШF֌&A(e@JRب&4إ&B(e֫&֮&&#J/ut&&Ϭ@J+֍''Ϥ?'Z4@șϬ4Ϭ5Ϭ6Ϭl5Ϭy8'Ϫ8@șϪ왬8@șϬ6Ϭ7ֻ&48ֻ&C(e& ^'&(''.'&4'&&&&$'&D(ecSώ'ff؀'Vֻ&;#J,'&i'j'<&=^'>^'':/u@J+W'E(e W' U' V''@J+' U' V';#J/uʙ ̙ʙHШHҙ̙cZ(ҙ4JV5(/(Ϭ& (@JHѨH>ҙO(ҙ>ʙ /u 1~(>=(._(/u @ ,׫(@J(*ڋW)R+ X( (WW(e(eH,)4J(>(=(U(884 )#@Ě@ϤF)@Ff(eĚ()ĚЙ@Ě=`/U)RT)UT)VT)9A*0+K* .*d** .d*@* ؄) .d*ԙש)Rذ)Sذ)Xذ)Cg)ԙШԙ*d*R)S)X)JT))U@e* r *Z@e*ڋ3*ѢO0h0B+ r 9U*@*d* F*g))F*F*F*p)z)))=:/U)*9!@؆* և*@c '"*9!֢*9!4J\ظ*@J``9GF־*;c '"*4J\*@J``9GF*v****@J(4ׅ(W+g(eLY/u@J*X+<+bSi+<+h<0i+ \A+h(eL+ |Pi+:#Ji++&!+1+O+@J*,%bS<0i+4JTؔ+@J@++-)+ Yת+ tSص+i(eA+ֹ+ z+9P;+A+ P+j(eA+dS + +V(e<0 xr гдi+:#Jp++,i+/u * 'ҳ x) t& | г t@Դ x:+ (+ +r,r( r)Z, x) آ,'Uؒ,T(eE'֢,r( )v, г x t+ t,B + , ڳ:0ֻ,/u@`!-N/uaS@`!-+bS=<;|/u@`!-/u`b-+@J)Ҍ?*Z- ڳ!-;9l+--9#J /u@J*Ҍ@،-:b- гp:-+ض- 7ض- 5ا- ;7b-Xp /u .4J,=-<84-/`!-+bS.c:+.";+.<#J@-- - -- ؈/@J,h/;o2h2h2TQ2SK2ZQ2(1T_2Sh2o(e1(2=2־2 v13Gؘ2(e'2 )2 *2Aʚ֍2(eB'22222222|2|22216#J2B' 3R2A3D' 3U3F' 33 !3R3C'!3(e t/3< /u@J'Xا3Ι+J3 v+ t3 xq34JUn3 rHt33F3V+ vΙ Ι; t@ rH xP37#JUؼ3(e@ύV+; t@4JU64@J t3(e;` t W3H3IZ(@) t(4 )*4 z( z 4 t @J'V64(e7#J /u XX4tT+X4 VX4 @/u@J+X،4F(e W{4 V؄4;#J֊4;cS@ώ?W*؛4 +' /uaS@`!-)bS4J<54@JZ4+5@J8+5@J왬8+554444a;9|@+ș&5`.X+9|&4J=* S(< 7< \< FP;@=t)tB>;<;+t n<@ 7ז< ^ז< \ז< Fז< Ҍا< tQؤ<(ֽ<=>,1I:;&l Y<8;= tt `";+ r@;X7 | =L<<n<O<;0<<>;p /u t)=G t/u _= tR=`i ! ^#V'}>`i! ^#Vq>`i ! ^#V}>`i! ^#Ve>`i ͷ}:! s#r>`i`i ͷ}d>`i͡! s#r>`i͡! s#r>`i `iͨ͡}> = > "> ;>T>k>>>>>itoxitodutoxutodxtoixtoddtoidtoudtox/u + | z A*D? z* |) Ҍڌؼ? ؊? | z z *9? |)c? z ;? ؼ?9 | A)ؼ? | +?;";+;\@ r@ /u |* r@ z+ @ |:-@@ | | | ,?;:-@ @ | | z /u`=H`.swt(,>.ue(+>.uf(:>.ug(9>.ul(>Cbuffs_(!?Sysvec_()?$MEMRY(K?chantab_(?cls__(?Rd_tab_(@_Eol_(@Wrt_tab_(@ctp__(@.ARG1(@.ARG2(@.ARG3 ("Alnprm (&Alntmp (*Alnsec (Derrno_ (Dsbot (D_mbot_ (DTty_ctl_zBzz!q"rqs# y¨"s* .ovbgn _Uorg_ _Uend_ main_(,>.ue(+>.uf(:>.ug(9>.ul(>Cbuffs_(!?Sysvec_()?$MEMRY(K?chantab_(?cls__(!'*Q"Ί'M!W(e!"ÀM!'*QDM݊ʀM!"`iҋ*Ͱ"!'*Q݊ʀM!W(e!'*Q݊ʀMlM! "*)"! "!"*QDM݊M*)*M!(e!"*Q݊MûMM`i*)#")+*'sÓM!*)#")+*'s! "*t+ΊN,Y!,!"DMP*t-Ί/N,Y!.*t>ΊBN,Y!9!$DMP*t=Ί]N,Y!! *t=ΊtN,Y!!0*t=ΊʋN,Y!*t<ΊʢN,Y!DMP!*t=ΊʹN,Y!*t>ΊN,Y! DMP!!(DMP!*DMP*t&ΊN,Y!!DMP*t|ΊO,Y!!DMP!&DMP! !!4!DMP!!!!!!!*tͧXfO!"JK!8!2!R(e! %vO!aN"M%N&N'L(6O):O*O+N,*O-N.RO/N0J19K29K39K49K59K69K79K89K99K:&O;NO<xN=JN>N?"O[>O]BO^.O{FO|N}JO~jOnO*t=Ί4P,Y`iҋ Ͱ`i͏:o&rP rP)v^#VBKzvP!ÁP`iDM`i^#VzP`i^#V!P|P! ^"! ^yP!͏*tͧXP,Y*taQ*tfQ,Y*tA&Q*tF&Q,Y!͏,Y!9s#r!9~#foΊLQ!!9^#VzdQ!(e!!9^#V!\ΊOR,Y!9s#rR! ! !! ! !!9s#r!9^#V!!9s#rQ!9~#fo#s#r!9^#V!R*t0R*t7R!9^#V))),Y!9s#røQOR 0Q1Q2Q3Q4Q5Q6Q7QbQfQnQrQtQOR!9^#V͏!9N#F!9Ͱ}}`i^zR`i^!8ΊšR`i^!9ΊʢR!(e!9!9ͷ}͢}~}`i#DM+^'}s~͢}s~}tR!9ͷ}͏! 9^#V^#V!~)^#V!~͏! 9N#F`i|/S`i+PY~Ί!͏! 9N#F!OS#!PY͸DM_SHS͏*|qSeYXʐS*tXʍS,Y|SéS*tX©S*t|ʩS,YÐS͛f͏!0(ecS͏! 9^#V!1@e͏@J!9~#fo݊eT!9^#V'T!(DMFT!)DMFT![DMFT!]DMFT!{DMFT!}DMFT SSTTTTFT`i!9s!!9s!9!2@e͏!3(e͏*̙!9^#VͥT͏*Κ^#V!9^#VͥT͏!9N#FýT! ^#VBK`i|T`i !9^#VT`iôT!͏*̙DMT! ^#VBK`i|+U`i*ʙ݊+U`i !9^#V(U`iT!͏! 9N#F!9^#V̙Ί_U`i TrUnf`i ͥT|~U`i u ͓V`i  Pnfu t ut!9^#VsrU͏!9N#F!9^#Vn&`isnf! s#rnf! s#rn&! szʒVn&)͓Vn&)nf !9s#rnf !9^#VBʇV!9~#fo##s#r++^#V##++s#rJV! s#r͏*ЙDM! 9^#V*Й"Й*Й*™CV!dIV!V$!g!d*™"™ëV`iOut of memory!͏! 9^#V?WDM|>W! ^z+W! 9^#V!5@e5W`i^#V͢!!! s͏*DMTW`i DM`i*B|W`i###!9^#VyW`iLW**4ʕW!6(e!.X*s#r!*##s! 9^#V*###P* "͏! 9N#Ff*tVXW!!*tX#XX*t`i#DM+s#,YW!`is!͏*D#"D͏! 9^#V!RXd.%d͏! 9N#F`iazX`iz£X`iAʒX`iZ£X`i_Ί£X!æX!͏! 9N#F`i0X`i9X!X!͏! 9^#VVXX! 9^#VͧXX!Y!͏*/^"t͏*t|#Y!*/#^͏*tDM|IY*/#"/^"t`i͏!}2"1"t!"/͏*t|‰Y*|~Y!!1[jY,Y͏*t|YͭY*|ʩY!,Y͏!"*ޖ#"ޖ Yr!"ޖ*|YLY*#"* |ʩZ* DM /Z`i Ί/Z*/4/Z`i~*/#"/+sY!*/s`iʦZ* kh*" ʟZ*"+""͆К^#V" *"͆Қ^#V"*"͆Ԛ!PæZ!"Z!AZ!}2!"!"/*/݊Z*|Z !!Zd!"/^"tøY%s ͏! 9^#V*Bs*B*$B([*B#"B! 9^#V͏*#"!!9s#r!9s#rͭY!C"B!="$!"/^"t*t#Ίʙ\,Y[f*ts\!^*/f™\h\!^ffO[h\!^ffʿ[!+9[!^ff[!+9[!^ff[̈́[h\Ö\!^ff[9'\!9^#V!Ί\!^ff\!!^ffh\Ö\!9^#V!݊K\!^ffK\8N\h\Ö\!^ffb\ce\h\Ö\!:(eÖ\ d[l[i[e[a*\uQ\e\h\O[Y ^*tÿ]! [fÙ\gÙ\Y*Ί]͍Y͍Y*t*݊\Y/݊\*t|\ͭY\͍Y*|\\͍Y͍YÙ\ô],Y[*tͧXʙ\*tX4],Y[]Ù\!9Wʴ]!9RdDM|ʑ]`i^!~i]raÃ]`i#DM+^zʃ][i]!!9s#rñ]!9DM`i#DM+^zʱ][×]ü],Y[^  \ \"\'\. ]/\0]1]2]3]4]5]6]7]8]9]7]Ù\![*B=41^!9(e!!9s#r!C!P!"/^"t!9^#Vzo^!9~#fo#s#r!R[*t#Ίʩ^,Yf*tdΊʞ^!^ffʞ^^æ^!:(eì^ï^O[*+"!definelineifdefifndefincludeelseendasmendifasmundefdefine͏!9W_ͭSLY*=!c!c*=*-4¯_!9͉})*?^#Vsr)*?s#r!9DM`i#DM+^c_k_*t(Ίʑ_͸_â_f,Ycʢ_Ô_*=*-4ʷ_!;(e͏,Y!DM!9s#r*t|g`*t)݊g`*tQ`!`i#DM)!9s#r,Y!*/+sd``i)!9^#Vz8`*tVX8`*/`i)!9s#r*tXK`!^(e,Yd` ,_ _ _ `_,Y!*/+s`i)!9^#Vz—``i|ʔ`!^(eÜ``i#DM`iͰc!c`if*t|ia*tVX^a!DM``i#DM`i:a`i)!9^#V*/f|/* Copyright (C) 1981, 1982 by Manx Software Systems */ extern int errno; #define FLT_FAULT 0 /* vector for floating-point faults */ extern int (*Sysvec[])(); #define NULL 0 #define EOF -1 #define BUFSIZ 1024 #define _BUSY 0x01 #define _ALLBUF 0x02 #define _DIRTY 0x04 #define _EOF 0x08 #define _IOERR 0x10 typedef struct { char *_bp; /* current position in buffer */ char *_bend; /* last character in buffer + 1 */ char *_buff; /* address of buffer */ char _flags; /* open mode, etc. */ char _unit; /* token returned by open */ char _bytbuf; /* single byte buffer for unbuffer streams */ int _buflen; /* length of buffer */ } FILE; extern FILE Cbuffs[]; extern char *Stdbufs; /* free list of buffers */ long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]) #define stderr (&Cbuffs[2]) #define getchar() agetc(stdin) #define putchar(c) aputc(c, stdout) #define feof(fp) (((fp)->_flags&_EOF)!=0) #define ferror(fp) (((fp)->_flags&_IOERR)!=0) #define clearerr(fp) ((fp)->_flags &= ~(_IOERR|_EOF)) #define fileno(fp) ((fp)->_unit) len; /* length of buffer */ } FILE; extern FILE Cbuffs[]; extern char *Stdbufs; /* free list of buffers */ long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]) #define stderr (&Cbuffs[2]) #define getchar() agetc(stdin) #define putchar(c) aputc(c, stdout) #define feof(fp) (((fp)->_flags&_EOF)!=0) #define ferror(fp) (((fp)->_flags&_IOERR)!=0) #definmain_ unlink_ _exit_r!!!s!:o&ts! "!DM!" * uʦ `i^! v¨`i^! vʠ`i#DMì`i~ʦ `i* #" +)s#r`i#DM~ʣ `i^! v¡ `i^! vʠ !`i#DM+sã ëï!* w!ͭ r!9~#ʥ!xyA:$$$.SUBfprintfAPP fprintf_ csave format_ aputc_q!9^#V"! 9! 9^#V!rq*! 9^#Vsprintfb  printf_ format_ csave putchar_ .eq .lt .ng .swt .chl .um .ud .an .urr! 9! 9^#V!sͮr!9N#F! 9~#fo#s#r+^"|ʮ*%tʡ! 9~#fo#s#r+^"æ!!9~#fo##s#r++^#V͠ "á!!9~#fo##s#r++^#Vͯ"á! 9^#V^#V!uʦ!!9~#fo##s#r++^#Vvͯ"!-*+"sé!!9~#fo##s#r++^#Vͯ"á! 9~#fo##s#r++^#V"á! 9~#fo##s#r++^#V"áwcd su x*~ʮ*#"+^`ixáë*`ixër!9N#F!! 9^#Vs`i y0! 9~#fo+s#rs! PYzDMª! 9^#Vr!9N#F!! 9^#Vs`i{%^! 9~#fo+s#rs!PY|DM«!! 9^#V0123456789abcdeffopenhh errno_ fopen_ )fclose_ flush_ agetc_ getc_ aputc_ 3putc_ csave .uf fcbinit_ .eq getusr_ setusr_ bdos_ rstusr_ .sb .ne .an .swt blkrd_ .ls .rs blkwr_x!DM`i~#ʢ`i'DM yʯ!"p!ë`i##! 9^#Vz"Š{ʪ!"p!*Š{ʬ|"Š*Š!& s*Š}! 9^#V^!r{ʧ `i##!~{ʥ !"p!!I`is#r!"Ήã*|ʣ !`i##!~`i##!~{ʥ!"p!! `is#r`i"!!# s#r!% s`ix!9N#F!"Ċ`i*{ʤ`i^#V! pͭ8"Ċ!"æ`i*Ή{ʦ!"Ή!& ^}`i##!~{ʯ!"Ċ!`is#r*Ċx!9N#Fͨ "Ɗqʤ !*Ɗr"Ɗá`i~#fo+s#r!ìs  *Ɗx!9N#F`i*Ήqʭ(!"Ή!& ^}!!I`i##t!p"Ȋ|«%!*Ȋ`i#~#fops#r*ȊuI"̉`i"Ή`i^#V*̉yʫ,*̉Ipv`i#~#fos#r!I`is#rá"`i~#fo#s#r+^!rx!9N#F!PYrDM`i {ʤ2! 9^#V! ͣ3{ʤ2!! 9^#Vͣ3x! 9N#F!9^#V`i~#fo#s#r+s`i^#V!Iyʯ7!ͭ8ʦ7!! `is#r!9^#V!rx!9N#F`irʨ;!`i#DM+ sê9*&^}xʠ?`iv! *##wʠ?!!getcharAPP getchar_ csave bdos_ .eqq!rDM sʮ! !r! DMî`isʮ!DM`iputcharB^^ putchar_ csave .eq bdos_ .anq!9^#V! rʣ! !s!9^#V!s!9^#V!t}""}***}͢}s~͢}s~*^#VDM!9" o&)>o>{g~#fo* quo>g^#VFuo>g^#VFu* uo>g~#fo"Fuo>g~#fo"Fu* uo>gs#rFuo>gs#rFu* uo>g^#VFuo>g^#VFuFuFuFuFuFuFuFuFuFu Fu Fu Fu Fu FuFuFu!"Fu!"Fu!"Fu!"Fu!"Fu!"Fu!"Fu!"Fu!"Fu! "Fu! "Fu! "Fu! "Fu! "Fu!"Fu!"Fu!Fu!Fu!Fu!Fu!Fu!Fu!Fu!Fu!Fu! Fu! Fu! Fu! Fu! Fu!Fu!FuEu!Eu!Eu!Eu!Eu!Eu!Eu!Eu!Eu! Eu! Eu! Eu! Eu! Eu!Eu!Eu o&Eu[{^#VFuj{^#VFu o g^#VFu[{xj{x o g~#fo"Fu[{s#rFuj{s#rFu o gs#rFu[{^#VFuj{^#VFu o g^#VFuj{Euj{"Fu _WFu _ WFu og"Fu o g"Fu ogFu o gFu ogEu o gEuj{^Fuj{n&"Fuj{sFuj{n&Fuv{îxv{÷xv{xv{x o gxEuxEu o GM*w# yyFu o&9Fuv{9Fu o GMGuz*yFuz*yFu`iN#F# N#F#z`y{dy##N#FGu`iBK^#Vzy#yʄy###ry#xy#N#FGu^#VFu_Fu*s#rFu*sFuFu"Fu*͆Eu*ʹEu*NJEu*"Eu*LEu*Eu!{_#zWFu:)=yEu*͸Eu*OEu!{_#zWFu!{_#zWFu!{_#zWFu*z`z{`zFu*zMz{MzFu*pz*|z}|?>_Fuz_Fu*Øz*|z}|>_Fu|_Fu*ÿz*}|>?_Fu*z*}|>_FuzFuFu{/_z/WFu{/_z/WFu*"FuFuFu)Eu o&!.{$gunknown opcode: %d, PC=%d *"|`i+* g o$* o g o gKtEusEuYuYuYuYuYuYuYuYuYuYuYuYuYuYuYuYuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvv vvvv%v+v1v7v=vCvIvOvUv[vdvmvvvvvvvvvvvvvvvvvvwwwww#w*w1w8w?wFwMwTw[w^wewlwswzwwwwwwwwwww{wwww xx)x3xYxbxkxwxxxxx{{{{{{{{{{{{{{{xxxxwxwxxx=xxxxy"yyy{yyyy}{yyyyyyzz@zSzzmzzfzzzzzzzz{{I{{{{yyHy*y4y>yjyz&z3zxJxPx{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{W{!9^#V!ʟ}oÓ}}!*û}!*w#w#w#w*~#~#~#~"*V+^+V+^*"*s#r#s#r***""*>w#~*~#-~ހ=ɯ<**###\~>~`~:~:~>~+b~**#~~**#”~**#©~**#¾~**#~*~/w#~*~?G*^#V#~#fo))#DM*s#r#q#p*~?W*###~?~w+1-7~w+C?~#TO~*Qy2*Q:2*w#Œ:~*Qy2*Q*w#¿:~!w#> 2!~w#O!#y!4!5!5I!~w#$O!#7y !#R*~#e*~#u!w#ƒ> 2!~w#”ҿ!#¨ҿ³!5Ž*w#΀B~!B~ހ!w+ 7#~>W>w+L>*wڅ*"*$+g pڅ**#O~ž>2̚z##¢ q#6#62̚#qʃ q+ T~+ԃ \~+!Lw#>@2K!L~w#OT!\#y7!L4!K5i!K5i!L~w#DOT!\#Wy7)* 6+6L+wzڅ**#~ \~+ª T~+¼!Lw#ʄ>@2K!L~w#ۄL!\#!K5Մ* R w+څj5!j*!G)+y>O~# "6@;u\>2̚ y!T]w+N6)>2͕̚*#6#w#6>2͕̚*#6?#6>#wŠ#6*|ʲ!9N#F*̚ͱPFloating point :݆̚PunderflowPoverflowPdivide by zeroP at location 0x!9~8<+~8#Œ>څ~#څ*T]w#w#w#w*N#~;;G#oЇ$~+Їy;*>w#;y6#6#6#6i6#6#6#6i*F#~&,!;P#o8$^+Vy;x;|/g}/o#;y[!ixf!i!>2̚*#4 ^&)DM)) #wz++}#wڅ++~@u͏!9N#F!`i^!-Ί؈`i#DM!`i^!+Ί`i#DM!9Ͱ}}`i^̀E!9!9ͷ}͢} \}`i#DM+^'}s~͢}s~}|[!9ͷ}~c!9ͷ}ů2d2e2f!"ge!9N#F -‹2dÐ+‘ 0:p>0o&eͧ:fʐ*g+"gÐ.͉!f6Ð! e -2e+ 0:0)T]))_:e|/g}/o#*g"g*g|`|}/!ep P>|p|}pOp i:dzM|g}o|/g}/o^#V#DM!99`i͎|z2j3:j}L}}؊|!}|؊!}|}|?>o&zo&|}|>o&|o&z2j3:j||>/g}/o#zL/W{/_LDM!>2i))_#}o|gw :i=2iW}:i=2iW}DM!>))Җ =Ž}}/o|/g#}|؊|g}o{_ߋ|W|7g}oŋ{_ߋ)ڋ}}o|gN#F# N#F#z{##^#VBK^#Vz-#y'####x"#~#fo}|>?o&}|>o&{_ߋ|g}oW|g}o~# xl!9k~#‡!|͏! 9N#F!`i^!-Ίʌ`i#DM!݌`i^!+Ί݌`i#DM!`i^̀ ͆`i#DM+^| ͞#͏!9!9^#V!bj͏!P!9s!9! w! !w!^9^#V!9^!Ίʈ!!9^!9DM+#|ʼ`i#DM+^#+sØ!u!^9^#V͏! 9^#V^z! 9~#fo#s#r+^͟Ѝ͏! 9N#Fi~.`i~#fo+s#r!  ++A͏! 9N#F!9^#V!PY~DM`i Ίʉ! iʉ!i͏! 9^#V!9~#fo+s#r! !9^#VDM`i#+s`i Ίá`i! 9~#foΊ!!u! 9^#V͏! 9N#F`i^z[!9^#V`i#DM+^EX!)!*pfwzw*kDM*mo&w͘o&w*k*+++*mDM*o!9N#F#^#Vkb6#> 6 #=Ï>6#=̏ : > A9[@a9{9`w# .3@w#{o|g 3@w#$!!|a{ !9^#V*q!9}|k*q"q|!͏!f"s!#+^!DM!"ä*#"*S|n& ΊՐn& Ί#+ñS`i*)ss#r|Dn& ݊Dn& ݊D+#+^`i#DM+s!`i#DM+sÝ!s*g͏;! 9^#Vzʃ!4fA:$$$.SUB͏!é%BÑn$&|͑ß!"š!!9^#VͰ!"š!!9^#VK!wΊ!"š!^!w!wΊ>!"š!^!"š! A!9^#V#u$!u#u!t"%NJ͏! 9^#V!%͆DM!$ ^! ʺ!w!!$ s!͏! 9^#V!%͆DM!!!9~#foB?!9^#V!w!!w"š|?`i!~#fo#s#r͏! 9^#V!%͆DM!n!!9~#foBʻ!9^#V!w!"w"š|»`i!~#fo#s#rd͏! 9^#V!%͆DM!9^#V!! s#r!!# s!͏! 9^#V!%͆DM!#w!! ^#V͏! 9^#V!%͆͏!9!29^#VͰ!9!w͏!!wDM Ίʌ! !w! DMÜ`iΊʜ!DM`i͏! 9^#V! Ί! !w! 9^#V!w! 9^#V! 9F+N+V+^+~+ngxw# !9^#V#N#F#nxs# !9^#V#~#fox;@;# '!J!}!}!9^#V#~#foxr~r# a!9~#foʊ#Á}!9^#V#^#V#N#F'!9^#V#^#V#N#Fa!9^#V#~#foxr~ܕ# ͕a!9^#V#^#V#N#F͕!9^#V#n~#!|!9^#V#n1#(x +~1!9~ f f f{!9~A{[{!}!9~a{{f!!9~0{:{f!9~aڣ{ң o&!9~Aڹ[ҹ o&LECHDB ̞'9      >>?? ????!?&?&*.:FRZ^fjr<D#>I#<O#<T#=Y#<b#<j#<m#=t#<y#= ~#>#=#<#<#< #=#=#>#< #=#5#>#=#< #>#=#=#< "" @    @@@@@@@@@@@@ @ @0@0@0@"@"lfdxorxraneqneltulleuegtuggeuflsrsuradsbngmldvudrmumntcm<ldd>ͷQ!!\!Q!:o&V\s!@"[!\DM!"\*\hV@`i^! .Vi?`i^! .Vq?`i#DMM?`i~@`i^!>.Vʏ?!"\ã?`i^!<.Vʀ@!"\`i#DM^! .V?`i^! .V?ã?`i"\`i#DM~@`i^! .V?`i^! .V?!`i#DM+s@?*\PC*\|%@!*\ͲA"\5@!*\A"\*\.V}@!@!3P*\!wP!A!wP!! ͕N! A@`i*\#"\+)[s#r`i#DM~@`i^! .Vº@`i^! .V@!`i#DM+s@Ô@@?![*\! ACan't open file for redire/* Copyright (C) 1983 by Manx Software Systems */ #define JBUFSIZE (5*sizeof(int)) typedef char jmp_buf[JBUFSIZE]; EXMPL C 4MATH H "VDE266 QRFBVDE266 UPDCPIP COM:,SETJMP H VDE266 LBR689:;<=>VDE266 LBREFGVINST266COMOHIZSID COMP/0EXMPL C 1CNM COMd*+strcpy_ strcat_ open_ .ge read_ .ne _mbot_ .ul close_ sprintf_ bdos_ exit_!H9~#fo!J9~#fo*xyʠ!(ͪ!H9^#V!H9^#V*v!H9~#foyʡ!2ͪ*z!L9^#V.ovra:q*! 9^#V!!{!9!! |! }Error %d loading overlay: %s$ ovloader csave !"9~#fo+s#r!/!9^#V! A:DM|I!:!9^#V! A:DM|Q`i#DM^!9^#V! DM!! !9^#V#9!9^#V!"9s#r!!"9s#rß!"9~#fo#s#r!"9^#V!*`i^z`i^!.Ͷ`i#DM+^:!"9~#fo#s#r+sÐ!.!9^#V! :! !9^#V! 9!9~#fos#r!9E!|!+Ð!9^#V!9s#r!9^#V!9Ͷʌ!|!"9^#V<!"98!+*B|ʢ*B!"9s#rk!9!9s#r!9~#fos#r!9^#V!9~#fo*!9^#V! ~ñ !8!9^#V! !"9s#rz-!9^#V! !:|!+!!9^#V! s*B|Z!9^#V!Q|k!9^#V!g|!"9^#V!!!"91!9!Ͷ !"9^#V!Ͷ!:!;!"9^#Vf!9k!"9^#V! !9!"9^#V:ͷ;;!9!"9^#V]>!9:ͷ;;!"9^#V:^<~>!"9s#r!"9^zX!!9^#V!"99< !"9^#V*BͶ!9!9s#rÉ!9~#fos#r!9^#V!9~#fo*!9^#V! ^z!!"9!9^#VͶ9!!9:!;*Bf!9w!"9DM!!"9s#r !"9~#fo#s#r`i#DM`i~< !"9^#V!*< `i^:`is !"9^#V!"9s#r!ʵ !"9^#V!n!"9s#r!!"9s#r!"9^#V!!"9~#fo!"9s#r!"9^#V!!"9~#fo!"9s#r!"9^#V!!!"9!9! !z|!"9^#V<!"98!+!"9^#V!Ͷf !"9^#V!!"9^#V!"9^#V !!"9^#V]>!9:ͷ;!;!"9^#Vf!9 !!"9^#V]>!9:ͷ;!;!"9^#Vf!9!"9^#V!"9~#fo!"9^#V!"9^#V !!9::ͷ;!;!"9^#Vf!9!"9^#V!!"9^#V!"9^#V !!"9^#V͓!"9^#V!"9~#foͯ!9s#r!9~#fo+s#r#| !"9^#V!!!91!9!9^!n !9^! !9^#V!"9ʓ !!"9^#V͓!"9^#V:^<~>!9s#r!!9:!;!"9^#Vf!9!"9^#V!!!9!9!9!9^#V!ͺ]>;!!9:!;!"9^#Vf!9!!!9#9!!9s#r!"9^#V!!!9!9!9!9s#r!!9!9^#V9!"9^#V!9^#V!s#r!9~#fo s#r? !!9:!;!"9^#Vf!9k!"9^#V*BͶ !"B!"9^#V<Ì!!9:!;!"9^#Vf!9!"9^#V!!!9!9!"9^#V< !"9^#V!"9ͅ8!+libc.libusage: libmake [-artx] [-o libraryname] name ... bad argument: %s .$$$rCannot open library: %s! rw+w+...otoo many module names! No modules to add or replace. rcannot open input: %s replacing module: %s adding module: %s Error writting library! ! 9^#V~>DM! 9^#V͆`i!9~#fo+n!9s#r`i#DM`i!9~#fo*! 9^#V!ͥ!DM*B!!! 91!9!Ͷʶ!9^#V!ͶW!:!;*Bf!9!9^#V!¶!9!|`i+DM|‘!A! ͸!DM!!9^#V!]>!;*Bf!9`i!A! ͸*B<%-12.8s!9:;!9:;"!!9:!;*Bf!9*B!!!91!9!Ͷ!9^#V!Ͷs!9:M;:ͷ;;!9^#V!!9! 9^#V]>M;:ͷ;;!$9~#!DMù`i#DM`i!$9~#fo! 9`i)!(9~#fo^#VͶ9ô!9*B<!$9N#F! ^z! ^#V!9s#r! ^#V!n! s#r!`i##!99!!9s!!99! 9!|!!9! 9s#rz­! 9!|!+! 9^#V!!!9!! 9!|!+!!9s#r!9~#fo#s#r!9^#V!9~#fo;! 9^#V*BVͥM!9~#fo#s#r! ^#V!9^#V*w! 9^#V!ͥ>! 9^#V<.oExtracting: %s wCannot create %s Error writing file: %s ! 9~#fo+s#r#! 9^#V! 9^#VVͥ!!! 9^#V! 9^#Vx9!.! 9^#VA:DM|X! 9^#Vx9m! 9^#V! 9^#V9|g}o|/g}/o^#V#DM!99`i~|z2>:>}4}}|!}|!}|}|?>o&zo&|}|>o&|o&z2>:>||&/g}/o#z4/W{/_4DM!>2>))G#}o|g_ :>=2>?}:>=2>?}DM!>))~ =v}}/o|/g#}||g}o{_|?|7g}o­{_)}}o|gN#F# N#F#z{##^#VBK^#Vz#y####x #~#fo}|>?o&}|>o&{_|g}o?|g}o~# xT!9>~#k!x|!A">! 9! 9^#V!͔!!9^#V">! 9! 9^#V!͔!*>! 9^#V͸!ADM`i~ `i DM>B !! 9^#V#^!+Ͷ!9s#r! 9^#V^!9~#E!H!! 9^#VZ,! s!Ͷi!!9~#|!!͘! 9^#VZ,! s!Ͷʦ!!9~#ʹ!ü!͘! 9^#VZ,! s!Ͷ!!"B!r5wla!! s!! s#r!`is#r! s#r! s#r`i!9N#F!!9s#rZ!9~#fo#s#r!9^#V!9~#fo!9^#V!9s#rÏ!9~#fo+s#r!9~#!9^#VV!9s#r!Ͷʿ!9^#V!9^#V`i#DM+sÀK!9^#V! 9N#F!9^#V!9~#fon!9s#r!!9s#r!!9~#fo#s#r!9^#V!9~#fo*]!9^#V`i#DM+^ͥͶZ!!9^#V!9N#F! ^!nʖ!ʓ!!9^#V!Ͷ`i~#!9`i^#V! ^#Vk>M;:;;!! s#r`is#r!9^#V!9:!;! ^6!9:3>!!! 9N#F!9!:!;! ^6!9;! ^!nʋ!9! ^#V`i^#Vk>M;:ͷ;;û`i~#ʻ!9`i^#V! ^#Vk>M;:;;!9:! 9^#VBK!A!9s#r! !9^#V!  !9^#V`i#DM+s!`is!9^#V!Ͷ9`i! 9~#foͶ9!! 9^#V! 9^#V!9s#r! 9~#fo+s#r!ʨ!9^#VDMʨ`i!9~#fo#s#r+s`i Ͷ¨U!!9^#Vs`iͶ!9^#V! 9~#foͶ!! 9^#V! 9N#FVn!9s#r`i~#fo+s#r! -!9^#V!9N#F`i~l!A`i#DM+^͸Ͷi!B!A! ͸!9N#F`i~ʴ! 9^#V`i#DM+^͸Ͷʱ!Æ!!9N#F!PYnDM`i Ͷ! 9^#V! ͥͶ!! 9^#Vͥ! 9^#VVDMͶ?! 9^#VV!9s#r!ͶC!!9^#V!ͺPY͘! 9N#F! ^#V`i^#V%! ^!nʊ!!`in&ns`i~#°- ! ^#V! ^#V! ^C0!9s#r!!9~#!!`in&͘s!! ^#V`is#r!9~#fo! s#r`i~#fo#s#r+^!n!A! 9^#Vͥ!9N#F! 9^#Vͥ}!! 9^#V`i7ͥʢ!`i! 9N#F! ^#V`i^#V!9^#V!n!9^#V`i~#fo#s#r+s!n!! 9^#V!ADM`i>B*;`i DM<! 9N#F!!9s#r`i~! ^!nʀ!!9s#r! ^=.!9~#fo͘s#r! ^!n*FB! ^#Vs#r! ^#V"FB!! s!9^#V! 9N#F! ^!nP! ^#V`i^#V!9s#r!9^#V! ^#V! ^ͷ3ͶP!`in&͘s!! 9^#V!Ͷʉ!`in&ns!`is#r! s#r!`i~#š- ! ^#V!Ͷ!!9! ^ͷ3Ͷ7! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&͘s! 9^#V`i~#fo#s#r+s!n! 9N#F! ^#V!ͶX `i! s#r*FB|x *FB!9s#r*FB^#V"FBß ! ^#V !9s#rzŸ !! s#rI !`in&͘s!9^#V! s#r*>| !`)">">*>DM!9^#V*>">PY*!`i">!/* Copyright (C) 1983 by Manx Software Systems */ #define TIOCGETP 0 /* read contents of tty control structure */ #define TIOCSETP 1 /* set contents of tty control structure */ #define TIOCSETN 1 /* ditto only don't wait for output to flush */ struct sgttyb { char sg_erase; /* ignored */ char sg_kill; /* ignored */ short sg_flags; /* control flags */ }; /* settings for flags */ #define _VALID 0x3a #define RAW 0x20 /* no echo or mapping of input/output BDOS(6) */ #define CRMOD 0x10 /* map input CR to NL, output NL to CR LF */ #define ECHO 0x08 /* ignored unless CBREAK is set */ #define CBREAK 0x02 /* input using BDOS(1), unless echo off then */ /* same as RAW */ truct sgttyb { char sg_erase; /* ignored */ char sg_kill; /* ignored */ short sg_flags; /* control flags */ }; /* settings for flags */ #define _VALID 0x3a #define RAW 0x20 /* no echo or mapping of input/output BDOS(6) */ #define CRMOD 0x1!9!!>9:!;͘'!9!49s#r&!:9:~>!49s#r͝9!89s#r+&!F9^#V!eͶ^%!a%!!B9^#V!Ͷx%!À%!B9^#V!9! 9͆>͆>͆>!9! 9!49s#r͝9!89s#r!!@9s#r+&!:9:~>!F9s#r!F9^#V!9!69s#rs&o;$da$u$x%s&%eH%fH%c%%!9!49~#fo!89s#r!89^#V!@9~#foN&!@9^#V!89s#r!D9~#ʉ&!>9~#fo+s#r#!89~#foʉ&!B9^#V`i~X&!!69s#ræ&!69~#fo#s#r!49^#V~&!69^#V!@9~#fo&!49~#fo#s#r+^`i~×&!D9~#'!>9~#fo+s#r#!89~#fo'! `i~&.'!F9^#V`i~à!! 9N#F`ik>!;! 9:9;<~>>^!9~#fo+s#rs!9`ik>M;:ͧ<;l;>'!9^#V!9N#F! 9::3>X(! 9:~>n!9s#r! 9! 9::^<:;;`i͠k>!;!9:9;<~>)!9~#fo>^!9~#fo+s#rs! 9`i͠k>M;:ͧ<;!9^#V!9:!;2'!9*͇)}(_͑(_*>DM*>o&_ͯ(o&_*>*+++*>DM*>!9N#F#^#Vkb6#> 6 #=(>6#=( : >) AP)[)@)aP){P)`w# .1)J))W)w#){o|g J)W)w#;)!!|a{ !9^#V*>!9}|ڂ)*>">|!!!!>9!:o&n>s!+">!>DM!"g?*g?ʐ+`i^! Ͷ)`i^! Ͷ)`i#DM)`i^zʐ+`i^!>Ͷ*!!9s#r5*`i^!<ͶA+!!9s#r`i#DM^! ͶT*`i^! ͶW*5*`i!9s#r`i#DM~ʙ*`i^! Ͷ‡*`i^! Ͷʖ*!`i#DM+sÙ*a*!9^#V=.!9~#*!!9^#V:,!9s#r*!!9^#VZ,!9s#r!9^#V!Ͷ>+!+!x9!9^#V!9!+!9!͝9!!ͷ3! +Í+`i*g?#"g?+)>s#r`i#DM~ʍ+`i^! Ͷ{+`i^! Ͷʊ+!`i#DM+sÍ+U+)!>*g?+Can't open file for redirection: !9~#+!+8}(A:$$$.SUB!"B!!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:! 9^#V!! 9^#VZ,!XB! 9s#r!!9s#rÙ,! 9~#fos#r!9~#fo#s#r!9^#V! ,! 9^#V!^#V!+Ͷ,x,!"B!!BDM,`iDM`i~#,!9^#V`i^#V?9,,! ^#V!9s#r!9^#V!n#!9s#r!9^#V!nW-!9^#V^! 9^#VszW-!"B!!9^#V!nʎ-!9^#V#^! 9^#V#szŽ-!"B!! ^#V! 9^#V!s#r!9^#V##^! 9^#V##s!9^#V###^! 9^#V###s!+! 9^#V!s#r! 9^#V!9^#V!9^#V!9^#V!9^#V!^#V~! 9!4.!!9^#V!9^#V!b.!9^#V! l.!"B!!9^#V)))XBDM! ^#V! ^#V~!9s#r!! s! s! s`is!+! s#r!9^#V!i?DM.`i&DM`i@*.!% ^z..!"B!! 9^#V(/!"B!! 9^#V!n2/!͎(!͎(Ͷu/! 9^#V!nh/!͎(Ͷr/!"B!Õ/! 9^#V!nͶʕ/!"B!!!! s#r!# s!$ s`i!9^#V!s#r! 9^#V!n#!% s!n/! 0!9^#V!s#r0!0!9^#V!s#r!!! 9^#V!%s!!9N#F!͎(!!% s!!9^#V!h0!9^#V! r0!"B!!9^#V)))XBDM! 9^#V! 9^#V! ^#V`i^)@^#V~!DM!9^#V!9s#r!9^#V!$~(1!9^#V!$^!DM!9~#fo+ 1!9^#VBK!9^#V! 9^#V1(1!!9^#V`i7!9s#rzʓ1!9^#V!9^#V`i! 9^#V48!9s#rzʓ1!9^#V!9~#foͺPY!9^#V!ͺPYDM`i!9~#fo*1!9^#V`i!9^#V`i! 9^#V11`i!9^#V!9N#F!!͎(!!͎("B|2!! 9^#V!$ ^!!9^#V9!$ ^! 9~#fon!$ szn2`i!~#fo#s#r!:@o&|2!}2@!}2@}2@!@! ͎(! !͎(:@o&Ͷ2!}2@!! :@o&#}2@@#s! :@o&#}2@@#s!"A:@o&DM! 9~#fo3! 9^#VBK*A@!9^#V9`i*A"A`i:@o&}2@`i! 9N#F!!9s#rx3!9~#fo#s#r!9^#V!9~#foʮ3! 9^#V͎(`i#DM+s!Ͷ®3i3!9^#V!9^#V!3!9^#V! 3!"B!!9^#V)))XBDM! 9^#V! 9^#V! ^#V! ^)A^#V~!DM!9^#V!9s#r!9^#V!$~ʞ4!9^#V!$^!DM!9~#fo+ʀ4!9^#VBK!9^#V! 9^#Va5ʞ4!!9^#V`i7!9s#rz 5!9^#V!9^#V`i! 9^#V<8!9s#rz 5!9^#V!9~#foͺPY!9^#V!ͺPYDM`i!9~#fo*X5!9^#V`i!9^#V`i! 9^#Va5X5`i!9^#V!9N#F!!͎(!!͎("BͶœ5*BͶʷ5!"B!!!#95*B|5!! 9^#V! 9^#V!$ ^!9!"͎("B|5!!$ ^! 9~#fon!$ sz-6`i!~#fo#s#r!!9N#F!!9s#rZ6!9~#fo#s#r!9^#V!9~#foʸ6`i#DM+^!9s#r!9^#V! Ͷʠ6! !9^#V͎(!9^#V!9^#V͎(K6!9^#V!9^#V!6!9^#V! 6!9^#V)))[B^z 7!"B:!9^#V)))^B^#VBK!9^#Vì7!͎(ͶK7!"B:!#͎(!!$ s! 9!! ^#V]>:09;ͷ;M;:ͷ;;ÿ7!"B:*7^777!!# s! 9::3>7!!! s#r!$ s!"B:! 9:~>n!$ s! 9::^<~>!! s#r! 9:_!A8_"*>!">*>z8*>!4l8#4*>+">}B8o&"B*>!9!H9^#V(!9!͎(!9!F9^#V(!9!H9^#V(!9!͎(!9!.9^#V(!9!͎(! 9F+N+V+^+~+ngx!9w# 9!9^#V#N#F#nx=9s# 29!9^#V#~#foxc9h9c9# O9!r9!}!}!9^#V#~#foxʚ9~ʚ9# É9!9~#foʲ9#é9}!9^#V#^#V#N#FO9!9^#V#^#V#N#FÉ9!9^#V#~#foxʚ9~:# 9É9!9^#V#^#V#N#F9!9^#V#n~7:=:#*:!|!9^#V#nY:#P:x7: +~Y:=:!9~ ʎ: ʎ: ʎ:ã:!9~Aڣ:[ң:!}!9~aڣ:{ڎ:!!9~0ڣ::ң:Î:!9~a:{: o&!9~A:[: o&!*DB:!*BBw#w#w#w*BB~#~#~#~"A*BBV+^+V+^*A"A*DBs#r#s#r*A*DB*BB"DB"BB*BB>w#b;*BB~->#q;">=ɯ<*BB*DB###;;ä;~;~;‚;+¦;*BB*DB#;*BB*DB#;*BB*DB#;*BB*DB#<*BB*DB#<*BB~/w#'<*DB~?G*BB^#V#~#fo))L<#D 2A!A~w#+=OA!A#@=y[=!A4!A5%=!A5ʍ=!A~w#h=OA!A#{=y[=O=A!A#–=*DBA~#©=*BBA~#¹=!Aw#=> 2A!A~w#=>A!A#=>=!A5=*BBAw#>͆;->!͆;">!<͆;->">͆;->->">͆;">->͆;">">->*BBs#r#6#6*BBs#r#ze>6#6*BB^#V0123456789abcdefC+0r2O3/* Copyright (C) 1982, 1984 by Manx Software Systems */ #define fgetc getc #define fputc putc #define NULL 0 #define EOF -1 #ifdef TINY struct fcb { char f_driv; char f_name[8]; char f_type[3]; char f_ext; char f_resv[2]; char f_rc; char f_sydx[16]; char f_cr; unsigned f_record; char f_overfl; }; typedef struct { char *_bp; struct fcb _fcb; char user; } FILE; #else #define BUFSIZ 1024 #define MAXSTREAM 11 #define _BUSY 0x01 #define _ALLBUF 0x02 #define _DIRTY 0x04 #define _EOF 0x08 #define _IOERR 0x10 typedef struct { char *_bp; /* current position in buffer */ char *_bend; /* last character in buffer + 1 */ char *_buff; /* address of buffer */ char _flags; /* open mode, etc. */ char _unit; /* token returned by open */ char _bytbuf; /* single byte buffer for unbuffer streams */ int _buflen; /* length of buffer */ } FILE; extern FILE Cbuffs[]; FILE *fopen(); long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]) #define stderr (&Cbuffs[2]) #define getchar() agetc(stdin) #define putchar(c) aputc(c, stdout) #define feof(fp) (((fp)->_flags&_EOF)!=0) #define ferror(fp) (((fp)->_flags&_IOERR)!=0) #define clearerr(fp) ((fp)->_flags &= ~(_IOERR|_EOF)) #define fileno(fp) ((fp)->_unit) #define fflush(fp) flsh_(fp,-1) #endif er */ } FILE; extern FILE Cbuffs[]; FILE *fopen(); long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]T(H9j!p8j!`:R;;<:q;=:N>=9N׌ة@֪AT+:N>=9N;j!9o@A=:N:o@A=9N9o >=:N:o>=9N 7 1 7@5 |,>=< HDB3z Ӌ ftmgq{rmuAMAAOhANkBckEbk ӳ:kunknown option: %c3z3z;h_3zMO_D_D _ .8080 %s.begin,.chl,.swt %scsave,cret,.move 3z@* z+ J r( |D _( @P * #ع Ҍ) *Q| ӳ ӳD" _ *Rؙ ӳ ӳD+ _ *TN ӳ ӳD5 _N D? _DZ _D{ _ D _D _D _D _ _%s%s_ %s.%c%c %s.l%c%c %s.d%c%c %s.lldp,.llds,.llip,.llis %s.lst,.lpsh,.lpop,.lswap,.ltst %s.itox,.utox,.xtoi %s.dldp,.dlds,.dlip,.dlis %s.dst,.dpsh,.dpop,.dswap,.dtst %s.fldp,.flds,.fst %s.itod,.utod,.xtod,.dtoi,.dtou,.dtox END 3zDR( D|\ _D|i _NK ln _X l _( PUBLIC %s_ %s_: push b lxi h,0 dad sp xchg lxi h,.%d dad sp sphl push d lxi d,.%d call csave 3zrl _.%d EQU %d 3z <  `@ 3z=a^QR*Yأ )Q3 @)+ W3أ T( Y ˳ _8L ˳ _8 _֜ LJ _ )ѳ t rS _D -  :\ _ r o _D - ׯ L{ _ LXI D,%d DAD D XCHG LXI H,%d DAD D JC .%d LXI H,.%d DAD D DAD D MOV E,M INX H MOV D,M XCHG PCHL .%d: DW .%d DW .%d CALL .swt DW %d DW %d,.%d DW .%d 3z<* < Ҍ_@ ְ=ָ z |,  l l  l l"l',l-l.l/l4 7l?&@cAJBlCl |` *< t]W<W |rRl_֮W t;< ӳ t׍ ֓ ӳ_ְ "l<ׯ =o CALL .%stst mov a,m ora a mov a,m inx h ora m lda ora a mov a,b ora c MOV A,%c ORA %c 3z |  | 3z X) z*:آ: B | Q{:`k`Ba::9`k: |+ '?R@ A | @A rK  Ҍ|`:9@ r`K | :::, Ҍ|@::9@ : | g<:`B`::, Ҍ|ה<:9<`k: |q; `a |m3z z+; ; B |`k; '?<@bA$ | |r K | Q;;;A | w;;@ |`;ؖϪ B | س`ak;3z |+ P*; @A;-  Ҍ| z z    ?N@7ABlC8 C`@*; Z`;`;@* x`;g ؋@֌A |rK z) " S  ؾ`9"@  V ` )P@ ώT_ @A9\_ @ A zf`_ B@CAҌh;3 DAD H %d .%d+%d LXI %s,3z |+ z*:ؘ`;: Ϥ ׇa; Ҍ|׎:֎3z C<< ` _ t+ T U V XA@ CALL CALL .chl 3z t+> QFG_ mvi h,0 3z | X* Ҍt+yc ; ؒ ӳ_ غ | ;_<׶@ַA MVI %c,0 CALL .%s 3z=؋=` `B`==o*ҌU_ T U1P%c(n_GP<C>4w_ Ҍ_ )ͥ;۩;`k= ,؆ Ҍ_A |+ '?@.AT r*`:K>":`K ,˳"@ ; `=`B`=>"``k=A ,-`˳"@ =>"= ,O˳"@ call .%slip DW -1,-1 DW 1,0 DB 0%c1H,1,0,0,0,0,0,0 call .%sad call .%sswap 3z<a<-A @   ?@FA9B(C/M` zN_` zfR_<a<A <ώZ<` |rK<%d .%d+%d LXI H,3zl r(_=< LXI H,%d-.%d DAD SP 3zl z |r(_ LXI H,%d-.%d DAD SP 3z t    <_`<-ώ&< LDA MOV L,A LHLD 3z Yn BsDp=_ |<>=_ r@_ 8;D3>=_;H__%s_.%d+%d%d3z ӳ ӳ ӳ ӳu_ MOV %c,%c MOV %c,%c 3za<؜ | Qس`a<A 3z tA;`_F "< zA< |Y< z|r* |z@ώr_ Ta<Z<A A LXI H,%d DAD B mov h,b mov l,c 3z <!***͠C!9ʠ<:©:ʭ!9~#fo##s#r++^#V!xyâ!xz!9~#fo##s#r++^#Vs#r*#"ê7!}2`i^!^t¯`i^!~tʫ`i#DM!}2!9"`i#DM+^"]{ʩ!**#"+sâ!*sà%!}2! !9s! !9s! !9s!!79sͯ> <:§'!9~#fo##s#r++^#V"!}2*+"#|ʦ0!*|"t¦0:ʠ,*!9}{ä-*!9}t|ʧ.!*|æ0:¬/**#"+s!}2î':ʠ<:¤2!*s*#"ê7:¤3!"!!9s!}2æ%~ % DOX[c2dhos"x7í;*u#^!vʪ9ͯ> <í;!*|*{ʭ;!*|à<î*|«>!*|tʠ>!!*|*s!*|u#^!vʤAå?!*|tʬB!!s*ʧD!!!""py!*|"-tʢH!"*#"ãJ*+tʨI*#"ãJ!*|íJ*#"**qʢW!*|"! 9^#V}DM|¯Q! 9^#V!tʡQ!xr¡Q*xt¦J*Xt¦J!*|âW!!9^#Vpsxty!`i! 9~#fou! 9~#fo^psxvyæJ*|ʢY!9^#V!xwyäZ!9^#V!xy*printfPP printf_ csave putchar_ format_q! 9! 9^#V!rsfprintfAPP fprintf_ csave format_ aputc_q!9^#V"! 9! 9^#V!rq*! 9^#VssprintfWPP sprintf_ csave format_ .anq!9^#V"! 9! 9^#V!rDM!*s`iq!9^#V*#"+s!sformat format_ csave .eq ctp__ .an .ml fmtcvt_ strlen_ .swt .sb .gt .chl .lt8q!9N#F!"!9^#V"!9~#fo#s#r+^"|ʯ@*%rʮ>!!9s!"! "!'"!9~#fo#s#r+^"-rʡ !"!9~#fo#s#r+^"*0rʫ !0"!9~#fo#s#r+^"**rʣ*##"++^#V"!9~#fo#s#r+^"à!"ä!9~#fo#s#r+^"*s#^!tʠ* u*"ì*.rʦ!9~#fo#s#r+^"*rʩ*##"++^#V"!9~#fo#s#r+^"æ!"ê!9~#fo#s#r+^"*s#^!tʦ* u*"â!"*lrʩ"!9~#fo#s#r+^"!"í$*hrʭ$!9~#fo#s#r+^"*í-!"ä'! "ä'!"ä'!"*!9**v!9"**"ì/*##"++^#V"w"ê0*##"++^#V"*!9"sì/xc+d&o%s*u%x&,!9*y"**zʭ1*"*|ʫ5ï2*#"*+"#*zʫ5*`i{rʨ5!è2!"ë6*#"*~ʢ:**|ʢ:*#"+^`i{rʯ9!ä6**"*|«>ï;*#"*+"#*zʫ>! `i{rʨ>!è;ì@*`i{rʥ@!*#"î*fmtcvt&& fmtcvt_!""! 9~2G+V+^+6"+N+V+^!w#¨y/w#¬é!>^)|ڭg,¥s+= Z! ~*+"w!©#¯* +6-0123456789abcdeffopen- fopen_ ,freopen_ csave newstrea fclose_ errno_ strcmp_ open_ .eqrr+ww+a a+ xx+rsDM|¤!! 9^#V! 9^#Vͬr! 9^#Vt!DMî`iDMx­!"u!! 9^#Vvʡæ! ^#V! 9^#Vw"xʦ !*!9^#V!s!!9^#V!s!<9^#Vfdopen,BB fdopen_ csave newstreaqrDM|¤!!9^#V! s!! s`ifread~^^ fread_ csave .lt getc_ .eqq!9N#F!"í*#"*! 9~#forʪ! 9^#V"ä*+"*|ʧ!9^#Vs"tʨ**`i#DM+síæ*fwriteoll fwrite_ csave .ml .ul putc_ .eqq!9N#F! 9^#V! 9~#for"!"â*#"**sʦ!9^#V`i#DM+^tuʣ!ë! 9^#Vfseekn  fseek_ ftell_ csave .an flsh__ .eq .sb .itox .lswap .lldp .lsb .lst .lpsh lseek_ .llis .llt .llip .ladr!9N#F!`inss! ^!sʤ!tʡ!ä!9^#V!uʤ`i~#ʤ! 9`i^#V! ^#Vvwxyz{!! s#r`is#r!9^#V! 9y|! ^}!9~ʧ !!r!9N#F!!p|! ^}!9{! ^!sʨ!! ^#V`i^#Vvwxyq{ç`i~#ʧ!`i^#V! ^#Vvwxyz{!ygetsj^^ gets_ csave getchar_ .ne .eqq!9^#VBKr"sʩ* sʩ*`i#DM+sï!`is*tʡ`i!9~#fotʡ!!9^#Vfgetsll fgets_ csave .gt agetc_ .ne .eqq!9^#V"! 9~#fo+s#r!rʫ! 9^#VsDMtʫ`i*#"+s`i u«á!*s`iuʥ*!9~#fouʥ!!9^#VgetcharPP getchar_ csave Cbuffs_ agetc_q!rsagetc_zz agetc_ csave getc_ .ne .an .or .swtq!9N#Fr"sʫ!*t"è!`inus!ív *getwIll getw_ csave getc_ .eq .ls .orq!9^#VrDMs¥!9^#Vr"sʩ!*tPYugetc getc_ csave .uf .an getbuff_ read_ .le .orq!9N#F! ^#V`i^#Vrʡ ! ^!sʥ!!`inss`i~#©t! ^#V! ^#V! ^u"vʩ *|¢ !å !`inws!! ^#V`is#r*! s#r`i~#fo#s#r+^!sputs;PP puts_ csave putchar_ .eqq!9N#F`i~ʢ`i#DM+^rsʯ!í! rfputs?PP fputs_ csave aputc_ .eqq!9N#F`i~ʫ! 9^#V`i#DM+^rsʨ!í!putcharPP putchar_ csave Cbuffs_ aputc_q!!r;! 9^#VsputerrPP puterr_ csave Cbuffs_ aputc_q!!rV! 9^#VsaputcEPP aputc_ csave .eq putc_q!9N#F`i rʦ! 9^#V! srʦ!! 9^#VsputwQ^^ putw_ csave putc_ .lt .urq!9N#F! 9^#Vrsʩ!! 9^#V`itrsʮ!`iputcuputc_flsh__fclose_csave.uf.anCbuffs_.ulclose_.orfree_cls__.sbwrite_.ne.eqgetbuff_s! 9N#F! ^#V`i^#Vtʦ!9^#V!uͮ!9^#V`i~#fo#s#r+s!us!vDM`i!vYwʣ`i DMͤãs!9N#F!"`i~ʡ! ^!uʯ !ͮ"! ^x*y"! ^!uʡ! ^#Vz!! s*s!9N#F!"{! ^!uʥ!! ^!uʦ! ^#V`i^#V|"*! ^#V! ^}*~ʦ!`in&ys!`is#r! s#r!! 9^#V!ʯ!`in&us!`is#r! s#r!`i~# p! ^#V!ʩ!!! 9! ^}~­! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&ys! 9^#V`i~#fo#s#r+s!uungetcVPP ungetc_ csave .eq .ueq! 9N#F!9^#V!r¡! ^#V`i^#Vsʥ!!9^#V`i~#fo+s#rs!9^#Vgetbuffy Cbuffs_ newstrea Igetbuff_ csave .uf isatty_ malloc_ .ors!DM`i~ʯ`i DMtʬ!ë!`is#r! s#r! s#r`is!9N#F! ^uʯ!! s#r`i! s#r!v"|ʥ!! s#r!`inws*! s#rsetbufZ44 setbuf_ csaveq!9N#F`i~#ʪ! 9~#ʠ! 9^#V! s#r!! s#ré`i! s#r!! s#rbegin5*  lnprm lntmp lnsec sbot errno_ _mbot_ Sysvec_ $MEMRY .begin $_exit_ _Uorg_ _Uend_ Croot_???????????!z"{zs# y¨*"s*"u|äcrootZLL chantab_ uret__ ebdf__ Xcls__ Croot_ exit_ csave movmem_ .an .lt .eq close_ creat_ open_ strcpy_ strcat_ bdos_ main_ .chl unlink_ _exit_ errno_'''&&&&&&&&'v!!!w!:o&xs!"!DM!" * yʮ`i^! z¨`i^! zʠ`i#DMì`i~ʮ`i^!>zʮ!" â `i^!<zʯ!" `i#DM^! z¡ `i^! zʤ â `i" `i#DM~ʡ`i^! z¯`i^! zʮ!`i#DM+sáé * {* |ʤ!* |" ä!* }" * zʬ!!~* !! !!! p! ͩ ë`i* #" +)s#r`i#DM~ʫ`i^! z©`i^! zʨ!`i#DM+sëãï!* q!ͩ Can't open file for redirection: $v*r!DM`i yʤ#`i#DM+{ê!!9~#ʧ%!pxʧ%!%stA:$$$.SUBv!"u!v!openZBLL2creat_Sopen_close_ret__csavechantab_.ltbdf__.eqerrno_strcmp_.an.chl.gt.ulfcbinit_getusr_setusr_bdos_rstusr__Ceof__zap_sss%con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:t! 9^#V!! 9^#Vͣt!u"!"é*"*#"* vʬ *^#V!wx¦ è!"y!!DMæ `iDM`i~#ʧ !9^#V`i^#Vzʧ î ! ^#V"! 9^#V!{#"*{ʨ*^*s{¨!"y!*{ʯ*#^*#s{¯!"y!! ^#V*s#r*##^*##s*###^*###s!s*s#r*!9^#V!9^#V!9^#V*^#V|! 9!vʬ!w*s#r!*t!9^#V!v¦!9^#V! }ʠ !"y!!9^#V)))uDM! ^#V! ^#V|!9s#r!! s! s! s`is!w! s#r!9^#Vt!DMí&`i'DM`i~ʧ(`i%~ʡ)å&!"y!! 9^#V"xʥ+!"y!*xʧ,p"*q! 9^#V!{ʩ.!r!rxʯ2! 9^#V!{ʯ1!rxʬ2!"ys!â5! 9^#V!{xʢ5!"ys!!!! s#r!# s!$ s*!& s`i!9^#V!s#r! 9^#V!{#!% s!<!9^#V!s#r! 9^#V!{ʮ;ts!t!9N#Fu!& ^q!rs!!% s!ioctl  Tty_ctl_ ioctl_ raw_wr_ raw_rd_ csave chantab_ errno_ .move Wrt_tab_ Rd_tab_ .an _Eol_ tty_rd_ .swt .lt bdos_ .eqt!9^#V)))uDM`i##~ª!"v!! 9^#Vå! 9^#V!pwä!p!9^#Vw!"!x4!"!y4*!p2 zʬ!""! }2{ä*!p2zʩ *!p2zʪ !í !"!"å !|"!y4!"*!p2zʫ ! }2{â! }2{ä}!t! 9N#F!"*! 9~#fo~ʣ! "*+"#|ʨ!*"|¨ã*~«ã* pʭ:{o&"*`i#DM+s*#"ë*t! 9N#F! 9^#V"*+"#|ʩ`i^! pʣ*!p2zʣ! *`i#DM+^*ï! 9^#Vread ZZ Rd_tab_ tty_rd_ read_ _Eol_ bdf__ csave chantab_ .chl setusr_ .sb .ug rstusr_ .ur blkrd_ .ls .ul _find_ movmem_ .an bdos_ .eq .gt .ltt)u!9^#V)))vDM! 9^#V! 9^#V! ^#V`i^)^#Vwu!DM!9^#V"*&^x*$~ʠ *$^!yDM! 9~#fozʣ ! 9^#VBK! 9^#V*ͫʠ {!! 9^#V`iy|"|ʤ*! 9^#V`i*}"|ʤ{**y~PY*~PYDM`i! 9~#foʯ! 9^#V`iy! 9^#V`i*ͫʯ{`i{! 9^#Vu!9N#Fpʤ!! 9^#V! 9^#V!$ ^!q!$ ^! 9~#for!$ s{¨`i!~#fo#s#r! u:¬$!}2!}2}2!! s! !s:o&tʯ"!}2!:o:o#}2&#s!":o&DM! 9~#fouʬ&! 9^#VBK! 9^#V*q`i*"`i:oy}2`iu! 9N#F!"ì+*#"*! 9~#fovʡ/!9^#Vs`i#DM+s!t¡/å+*write LL Wrt_tab_ write_ tty_wr_ bdf__ csave chantab_ .chl setusr_ .sb .ug rstusr_ .ur blkwr_ .ls .ul _find_ .lt movmem_ bdos_ errno_ .an .eqs&&t!9^#V)))uDM! 9^#V! 9^#V! ^#V! ^)^#Vvt!DM!9^#V"*&^w*$~ʢ *$^!xDM! 9~#foyʥ ! 9^#VBK! 9^#V*ͪʢ z!! 9^#V`ix{"|ʣ*! 9^#V`i*|"|ʣz**x}PYDM| !`i*}PYDM`i! 9~#fo~ʮ! 9^#V`ix! 9^#V`i*ͪʮz`iz! 9^#Vt!9N#Fpʪ!! 9^#V!$ ^!!9^#Vq!"r"s|ʢ!!$ ^! 9~#fot!$ s{¤ `i!~#fo#s#r!t! 9N#F! 9^#V"*+"#|ʮ%`i^! uʨ$! !r`i#DM+^!rà"! 9^#Vt! 9N#F! 9^#V"*+"#|ʦ*`i#DM+^! 9^#Vrï'! 9^#Vlseekavv lseek_ csave chantab_ errno_ .llip setusr_ .or bdos_ .an _Ceof_ rstusr_ .utox .llis .lls .lpsh .itox .lpop .lad .lswap .lldp .lst .swt .llt .xtoi .lrsq!9^#V)))!r3~¨!"st!9^#V)))!r6^#VBK!9^#Vé !& ^u!`invs!w!`inxsyz! 9!! ^#V{|}~!$ ^pqrsqtì!"stu  !!# s! 9s|vʧ!!! s#r!$ s!"st! 9swx!$ s! 9s|xw!! s#r! 9spositXPP posit_ csave chantab_ errno_q!9^#V)))!r3~¤!"s!!9^#V)))!r6^#VBK! 9^#V!! s#r!!# s!$ s!ceofzz _Ceof_ csave bdos_ _find_ .ug .ne .eqq!9N#F!#r`i!~# !!$ s!`i!~#fo+s#rsʭ!!"*tʠ*+"^!uʭ*#"àã*!$ s!vʢ `i!~#fo#s#r!!$ s!find _zap_ _find_ csave bdos_ .ne errno_ .eq setmem_r!"r!9N#F!!s*PYt¢!! ^#V*tʢ !!s"uv¤*uvʦ!"u!!!w!"!*u|ʢ !`i"!! ^#V"!isattyBB isatty_ csave chantab_q!9^#V)))!r2^blkio[zz blkrd_ blkwr_ .asave .ARG2 .ARG1 .ARG3 errno_r!ír"*s!"s*t¦*t!4¨#4*u+"u}®ʦʦo&"v*urenamerename_csavefcbinit_setusr_bdos_.neerrno_.eqrstusr_q!9!F9^#VrDM!9!H9^#Vrs!DM!9!tuʩ!9!t!"v!DMë!9!twʫ!"v!DMx`iunlinkK unlink_ csave fcbinit_ setusr_ bdos_ rstusr_ .eq errno_q!9!29^#VrDMs!9!tDMu`ivʧ!"w!!close close_ csave .lt .gt errno_ chantab_ .chl bdf__q!9^#V!r¦!9^#V! sʠ!"t!!9^#V)))uDM! ^#V! ^#Vv!9s#r!! s! s! s`is!w! s#r!9^#Vexecl5PP execl_ execv_ csave execvp_r! 9! 9^#Vsr! 9^#V! 9^#Vsexec execlp_ execvp_ csave fcbinit_ .eq errno_ strcpy_ bdos_ .ug ldr__ movmem_ .chlr! 9! 9^#Vͩr!J9!t9^#Vs"tʧ!"u!!S9^! tʥ!!U9v!! w"*! w!J9!wtʣ !"u!!!j9s!\!s!l!s!DM!t9^#V~#ʡ!t9~#fo##s#r!"é*#"!t9~#fo##s#r++^#V"|ʡ*| !\*sé*tʩ!l*s! `i#DM+s*~ʮ`ix¡*#"+^`i#DM+såâ`i}2!F!9!yz*!L9!9{COMloader=&& ldr__ ! *!calloc:^^ calloc_ csave .ml malloc_ setmem_q!9^#V! 9~#forDMs"|ʦ!*t*malloc realloc_ free_ mmalloc_ csave .ne .ug movmem_ .ur .eq .uf .sb sbrk_ .uls!9N#F! ^#V+))"͢!! 9^#Vͭ"|ʩ*PYtʩ! 9^#V*uʥ*í! 9^#V*v*s!9^#V###w#"*"|  !"""*##^#VBKë `i"! ^#VBK! ^#V`itʪ! ^#V`i^#V))PYxʪ! ^#V*xʩ! ^#V##^#V"! ^#V^#V`i~#fos#r! ^#V##^#V! s#rë `i^#V*yʧ`i^#V*xʪ! ^#V*##s#rï*))PY"**##s#r! ^#V*##s#r`i^#V*z*s#r*`is#r*"!! s#r`i`i*xʮ !{DMxʪ!!`is#r!! s#r`i͢!*DMí s!9^#V!"*##~#ʥ#!*DMæ$! ^#VBK`i*u¥&! ^#V*uʩ)! ^#V`iyʦ)*PYu©)! ^#V*|©)í#! ^#V*##s#r*! s#r`i"!bdosll bdoshl_ bdos_ CPM_ .asave .ARG1 .ARG2sͫs*tDM*uogbios%ll bios_ bioshl_ .asave .ARG1 .ARG2 .ARG3rͭo&r*s*+++*tDM*ufcbinit&& fcbinit_!9N#F#^#Vkb6#> 6 #=£>6#=¬yʤ  ʤ ¨é ͭ ڡ0_zWë/«î : >© Aڤ [Ҫ@æaڤ {Ҥ `w# .ʤ ʭ ʬͫ w#í{o|g ʭ ͫ w#® &jz!|*¤  >?a{ 0:ҧ7sbrk:PP sbrk_ *rsvstk_ $MEMRY sbot!9^#V*rڤ*s}|ڤ*r"r|!=!9}_|#W"sqsort. qsort_ csave .ml .sb .ud .ur .chl .lt .ul swapmem_ .eq .ueq!9"!J9^#V+!L9~#for!H9~#fo"*!H9~#fos!L9~#fotu!L9~#for!H9~#fo"!H9^#VBK*"*!R9^#Vvwʤ !L9^#V`iDMé**!R9^#Vvwʧ !L9^#V*s"ä `i*xʭ!L9^#V*y`i*zʫ*"í**zʭ`i"`i*{ʦ!L9^#V`iDM!L9^#V*s"`i*{©*PYs*!J9~#foswʩ`i*xʠ`i*s#r**##s#r*"*"é!H9^#V*xʯ!H9^#V*s#r**##s#r*"`i!H9s#r!H9^#V*x¯*!9{­"*"*^#V!H9s#r*##^#V"ïuser4^^ getusr_ setusr_ (rstusr_ .asave .ARG1s o&s 2:t _s :_setjmpf44 setjmp_ /longjmp_!9^#V+s#r#s#r#q#p#s#r#s#r!!9^#V#N#F^#V#^#V#N#F#^#V#^#V}#<strcmp844 strcmp_ strncmp_!9ä!9F+N+V+^+~+ngxʢ¢ʢ# íogstrcpy&& strcpy_!9V+^+~+ngwʨ#í|strncpy(&& strncpy_!9F+N+V+^+~+ngxʣwʮ# â|strcat=44 strcat_ strncat_!9ä!9F+N+V+^+~+ng対ʦ#îxʧwʧ# æw|strcat_strncat_index_rindex_strlen_setmem_movmem_swapmem_toupper_tolower_atol_atoi_ctp__.chlzsavezretcretcsave.move.ARG1.ARG2.ARG3.asave.llis.llds.llip.lldp.lst.lpsh.lpop.lswap.lng.ltst.lcmp.ulcmp.lad.lsb.lan.lor.lxr.lcm.lls.lur.lrs.ldv.lrm.lud.lum.lml.leq.lne.llt.lle.lge.lgt.lul.lue.luf.lug.utox.itox.xtoi.dv .ud .um .rm div16 .ml .rs .ls .ur .an.cm.or.xr.nt.eq.ne.le.ge.lt.gt.ng.sb.swt.ue.uf.ug.ulin_out_index&& index_!9^#V#n~ʬʧ#ê!|rindex.&& rindex_!9^#V#nʨ#ïxʨ +~¨|!strlen&& strlen_!9~#foʥ#ì}setmem&& setmem_!9^#V#N#F#nxʪs# ïmovmemR&& movmem_! 9F+N+V+^+~+ngڬ }ڬʠ ++w x ɯ~# x¦swapmem/&& swapmem_!9F+N+V+^+~+ngy§Fwx# ¨ʭ=ètoupper,44 toupper_ tolower_!9~aڡ{ҡ o&!9~Aڧ[ҧ o&atol atol_ csave .eq .llip .lst ctp__ .an .lldp .llis .lml .lpsh .itox .lpop .lad .lngq!9N#F`i^! r©`i^! rʡ`i#DMí!"`i^!-rʣ!"`i#DMæ`i^!+rʦ`i#DM!st`i^!u#^!vʦ !!wx yz`i#DM+^{|}x}tå*|ʪ !w~à!watoizz atoi_ csave .eq ctp__ .an .ml .ngq!9N#F`i^! r©`i^! rʡ`i#DMí!"`i^!-rʣ!"`i#DMæ`i^!+rʦ`i#DM!"`i^!s#^!tʡ * u`i#DM+^"ì*|ʢ *vå *ctype&& ctp__ 00000   @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ csaveq .chl zsave zret cret "csave 5.move .ARG1 .ARG2 .ARG3 @.asaveDM!99`i͠|DM!99!`i~# x¥!9~#¦!|lsubs<dd .llis .llds .llip .lldp &.lst 8.lpsh F.lpop Q.lswap n.lng ~.ltst .lcmp .ulcmp .lad .lsb .lan .lor .lxr ,.lcm :.lls [.lur ^.lrs .ldv .lrm .lud .lum t.lml .leq .lne .llt .lle .lge .lgt .lul .lue .luf .lug .utox ).itox 8.xtoi lnsec lnprm lntmp!wç!x~#~#~#~xw#w#w#w!!x3*!x2*x"w"!w2*w*x"w"x*!w2*!x2"!w2"!x2!x>w#¤!x~¥,#£ê+=ɯ<!x3!!w3~Oç !x3!!w3ڠ ¤ +¥ x!w#  x!w#¥x!w#©x!w#­x!w#¡!x~/w#¡:w?*x*!x2))ү,=§"!x2"xâ:!x3:w?ʯW!!x3~w+£¬!Nyáx͡w͡yͭx͡ywͭ͡y!xw#£ͭͭy!xw#£!yw#£> !x~w#¢ Oy!w#§!y #!x4=«=ʡ&!x~w#¬#Oy!w#¯$y #æ"y!w#ª&!xy~6#­'> !x~w# )ҭ*x!w#¤*=©(ͨ ʥ,!ͨ ʪ+!<ͨ ,ê+ͨ ,ʥ,ê+ͨ +å,ͨ +ʪ+å,ͬ ,ê+ͬ ,ʥ,ê+ͬ +å,ͬ +ʪ+å,"x!"!x2"x|2!"!x2*xdividemll .dv .ud 8.um .rm Ediv16 .ngz͢u}ͨ}z͢u||/g}/o#z/W{/_MD!ͥ}y/Ox/G>))Ҧ, ڧ}o|g=®=®shiftsWPP .ml .rs 2.ls B.urDM!>))Ҡ =¨}{_ʯ||7g}o¥{_ʯ)ª}{_ʯ|g}oªbitopr PP .an .cm .or .xr|g}o|/g}/o|g}o|g}osupport .nt .eq .ne (.le '.ge B.lt C.gt \.ng f.sb o.swt .ue .uf .ug .ul|ʡâ}¢|ʡ!}¡|ʢ!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#yʩ###ç#x¤#~#fo}|>?o&}|>o&port,44 in_ out_!9f."!6Ͱo&!9~++f."!6ð.ng f.sb o.swt .ue .uf .ug .ul|ʡâ}¢|ʡ!}¡|ʢ!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#yʩ###ç#x¤#~#fo}|>?o&}|>o&G/" *G`i+͝/ ! !"G2 *G#"G*G~i *G*G/i *G#"G+^`i+͝/f !+ *G*G"G*G|² Æ *G#"G*G+"G#*G/ʲ ! `i+͝/ʯ ! *G`i+͝/ !*G#"G *G!"0"0! 9~20G+V+^+6"0+N+V+^!0w#y2/w#&3!0>^)|Gg,?s+=:Z!~~*0+"0w!03#i*0|+6-0123456789abcdef&+DM|¢!! 9^#V! 9^#Vͺ&+! 9^#V!0DM`iDMx!":K!! 9^#V͡)! ^#V! 9^#Vͧ"G͝/$!*G!9^#V!s!!9^#V!s! 9^#V&+!9N#F!"Gl*G#"G*G! 9~#fo/! 9^#V"GÓ*G+"G*G|!9^#V;"G͝/ʷ*G*G`i#DM+sÌe*G&+!9N#F!`inu/s! ^!u/!p!Q!9^#V!͝/Q`i~#Q! 9`i^#V! ^#V/͞.+͉+P,͛+!! s#r`is#r!9^#V! 9͉+ͭ+! ^!!9u+@.ʔ!!&+!9N#F!G!͂+ͭ+! ^!!9͛+! ^!u/!G! ^#V`i^#V/͞.+͉+;,͛+4`i~#4!G`i^#V! ^#V/͞.+͉+P,͛+!G͉+&+!9N#F! ^#V`i^#V+0! ^!u/p!!`inu/s`i~#”0! ^#V! ^#V! ^O"Gͽ/*G|!!`inͅ/s!! ^#V`is#r*G! s#r`i~#fo#s#r+^!u/&+!0! 9^#V-&+!9N#F`i ͝/c! 9^#V! r͝/c!! 9^#Vr&+! 9N#F! ^#V`i^#V+0ʨ!9^#V!u/p!9^#V`i~#fo#s#r+s!u/&+!0DM`i.190`i DM&+!9N#F!"G`i~c! ^!u/1!p"G! ^$*Gͅ/"G! ^!u/c! ^#V͂'!! s*G&+!9N#F!"1! ^!u/ʗ!! ^!u/! ^#V`i^#V/"G*G! ^#V! ^D*Gͬ/!`in&ͅ/s!`is#r! s#r!! 9^#V!͝/A!`in&u/s!`is#r! s#r!`i~#R0! ^#V!͝/ʋ!! 9! ^Dͬ/! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&ͅ/s! 9^#V`i~#fo#s#r+s!u/&+!0DM`i~`i DM.1+0!!`is#r! s#r! s#r`i&+!9N#F! ^Ͱ$f!! s#r`i! s#r!%"G|L!! s#r!`inͅ/s*G! s#r!2s# y¨*"K81&+!!6H!͆*!:o&u/6Hs!"G!6HDM!"H*H/ʣ`i^! ͝/=`i^! ͝/E`i#DM!`i~ʣ`i^!>͝/c!"Hw`i^!<͝/T!"H`i#DM^! ͝/–`i^! ͝/ʙw`i"H`i#DM~`i^! ͝/`i^! ͝/!`i#DM+sÞ*H$*H|!*H͆"H !*Hͧ"H*H͝/Q!!)*H!)!!)!! 6(! à`i*H#"H+)Gs#r`i#DM~ʠ`i^! ͝/Ž`i^! ͝/ʝ!`i#DM+sàh!G*H!Can't open file for redirection: $&+*1+!DM`i / `i#DM+$!9~#,!6(u/,!0%%A:$$$.SUB&+!":K!&+!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:&+! 9^#V!! 9^#Vͧ&+!X1"H!"H*H"H*H#"H*H /*H^#V!:͝/ü!":K!!1DM `iDM`i~#+!9^#V`i^#V͡)+! ^#V"H! 9^#V!u/#"H*Hu/l*H^*Hs{l!":K!*Hu/ʓ*H#^*H#s{“!":K!! ^#V*Hs#r*H##^*H##s*H###^*H###s!J*Hs#r*H!9^#V!9^#V!9^#V*H^#V+! 9!/ !:*Hs#r!*H&+!9^#V!/J!9^#V! /T!":K!!9^#V)))X1DM! ^#V! ^#V+!9s#r!! s! s! s`is!:! s#r!9^#V&+!HDM`i'DM`iI90`i%~ù!":K!! 9^#VJ("I͝/ !":K!*I͝/m)"I*I|)! 9^#V!u/=!6(!6(͝/ʃ! 9^#V!u/s!6(͝/ʀ!":K͕)!æ! 9^#V!u/͝/ʦ!":K͕)!!!! s#r!# s!$ s*I!& s`i!9^#V!s#r! 9^#V!u/#!% s!!9^#V!s#r! 9^#V!u/T#͕)!&+!9N#F $!& ^|)!6(͕)!!% s!&+!9^#V)))X1DM! 9^#V! 9^#V! ^#V`i^) 2^#V+&+!DM!9^#V"I*I&^|)*I$~*I$^!/DM! 9~#fo:0! 9^#VBK! 9^#V*Iͺ͕)!! 9^#V`i/`/"J|c*J! 9^#V`i*I$"J|c͕)*J*J/P/PY*JP/PYDM`i! 9~#fo90ʮ! 9^#V`i/! 9^#V`i*Iͺʮ͕)`i͕)! 9^#V&+!9N#F$!! 9^#V! 9^#V!$ ^!͆*!$ ^! 9~#fou/!$ s{'`i!~#fo#s#r!&+:J›!}2J!}2J}2J!J! 6(! !6(:Jo&͝/~!}2J!:2o:Jo#}2J&J#s!"K:Jo&DM! 9~#fo/ʻ! 9^#VBK! 9^#V*KJ͆*`i*K"K`i:Jo/}2J`i&+! 9N#F!"K *K#"K*K! 9~#fo/@!9^#V6(`i#DM+s!͝/@*K&+!9^#V)))X1DM! 9^#V! 9^#V! ^#V! ^)2^#V+&+!DM!9^#V" K* K&^|)* K$~ * K$^!/DM! 9~#fo:0! 9^#VBK! 9^#V* K;  ͕)!! 9^#V`i/`/" K|g * K! 9^#V`i* K$"K|g ͕)* K*K/P/PYDM|d !`i* KP/PYDM`i! 9~#fo90ʲ ! 9^#V`i/! 9^#V`i* K; ʲ ͕)`i͕)! 9^#V&+!9N#F$/ !! 9^#V!$ ^!!9^#V͆*cos_sin_cotan_tan_asin_arcsine_acos_atan2_+atan_+sinh_8cosh_8tanh_Dpow_Lsqrt_Qlog10_Xlog_Xran_`randl_`exp_dfloor_lceil_lfscanf_pscanf_ssscanf_vscanfmt_xskipblanxgetnum_xgetflt_xfprintf_printf_sprintf_format_atof_ftoa_frexp_ldexp_modf_flprmflsecflterr_.flds.fldp.fst.dlis.dlds.dlip.dldp.dst.dpsh.dpop.dswap.dng.dtst.dcmp.dsb.dad.ddv.dml.deq.dne.dlt.dle.dge.dgt.utod.itod.xtod.dtox.dtou.dtoifabs_.dml10sinA hh cos_ @sin_ csave .dldp .dpsh fabs_ .dlis .dad .dlt .dng .dge errno_ .dlip .dml modf_ .dlds .dst .dtoi .an .dne .dswap .dsb .dpop .dgtr!! 9stu!9vADBwt!9stͣ !9r!9svxʢ!! 9syt!9stͣ !9!! 9st!9stͣ !9r!9svEkzʣ !"{|!!9sv@Q|'!}t~! 9v@zʡ!|Awp!sqrʮ!9~#ʣ!æ!!9s#r!9stu!9!9sʫ!|@tsup!! 9! 9stu!9t~! 9p!!sv>wz\,}t!svA$@}t!9svuvw!wp!stu!9v<ўwʯ1!!s!}p!!sv:Lv}v!BLw!}v.;JIw!}v w!}v@"""""w!}v*w!}p!!s!}tswp!9~#ʪ3!!syp!stanj0 cotan_ tan_ csave .dldp .dpsh fabs_ .dst .dlis .dlt errno_ .dlip .dgt .dml modf_ .dge .dswap .dad .dpop .dsb .dlds .dtoi .an .or .dng .ddv .swtr!! 9stu!9v!swQxʭ!"y!9swxʡz+Zz+Z!!st!9stͯ !9r!! 9stu!9t!9stͯ !9r!9swE{ʯ!"yz!! 9sw@nND|t}! 9w@~ʨ!! 9swxʮzézAspv!!sw>J.{l|t!swA |t!9sqrqpv!stu!9w=/i,xʧ!!sv!zAvé-!!s!s|v!!sw+r,r|w?t1Vp!s|w"%kʚp!s|!s|!spv!!sw>[x;p!s|w@_Up!s|wwzgEp!s|wApv!stu!9~#fovs#r!9^#Vç4!!swv!s!sx!!swv!s!sxy30125zasin[ ZZ asin_ :arcsine_ acos_ csave .dldp .dpsh fabs_ .dst .dlis .dlt .dgt .sb errno_ .dlip .dlds .dsb .dad ldexp_ sqrt_ .dng .dml .dpop .ddvs!! 9tuͪ! 9s!! 9tuͪ! 9s@ڢ!hADB@ڢ!h!! 9tuv!9w!9^#VBK!tx<>yʫ!!twí&!tx@zʣ!PY{DM!txAzʦ !"|}!}@!~x@pw!!!tuq! 9w!!tur!9w!!t!~pswê!!t!~tw!!txnp!~txAnp!~tx}jp!~txB$p!~tx6\>Tpu!tx]0txA ' vp!~tx'YSM8p!~txA95Nl p!~tx^U: _p!~tuv!~t!~pw!9~#ʩ/!9txyʤ,!`i)))tu`i)))tup!~pwæ/!`i)))tu`i)))t!~upwä5!`i)))tu`i)))tup!~pw!9txyʤ5!!tsw!tatan $vv atan2_ Batan_ csave .dldp .dtst errno_ .dlip Sysvec_ flterr_ .dlds .ddv .dst .eq .dpsh fabs_ .dlis .dlt .dsb .dng .dgt .dad .dml .dpop .gt .dswaprr!9st¥!9st©!"uvvADB*w"!"w!"x!! 9s!9yz{*"w*x|ʨ !vADB{â*x|ʪ !v{î !!s}~!9}͢!9{!9spʢ!vA$?j!yq{!9spʫ!!sr{!sr@ kADBA #6!"!! 9s}~!9{!sAsʡ!vA!yz{!"!s@DQz{5Jsʯ !!sAgt}!s@g}u!yttvz{*#"!s}~!9<>pʢ$!!s{î2!!s!yu{!!sA$ct!yuA;dGt!yuAV(H-t!yuA)y+Mt}!sk͌=u~F0t!yut!yu S(ot!yuvz!yu!yt{*wʬ4!!sr{!*)))sxst{!9spʥ9!!sr{!ssinh2>> sinh_ Tcosh_ csave .dldp .dst .dlis .dlt .dng .dgt .dad errno_ .dlip .dpsh exp_ .dlds .ddv .dswap .dsb .dml .dpop fabs_r!! 9st!"!9suvʫ!! 9swt!"!suAxʫ!!suryt!suB]Lxʡ !"z!{+Ztï!!s|}!9t!suA33333vʨ!{@?R!~psqt!!su>Xrpsyt*|ʨ!!swtí$!su<>vʤ!! 9stí$!! 9s! 9~rt!!su8y!~ruBB)y!~ru 5|$y|!su'=~@ru -Ey!~ru-+m()y!~ru^DՔys! 9~r!~r! 9(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE) COPYRIGHT (C) 1979, DIGITAL RESEARCH, PIP VERS 1.5$$$ SUB =.:,<> _[]INPIRDPTRUR1UR2RDROUTLPTUL1PRNLSTPTPUP1UP2PUNTTYCRTUC1CONNULEOFDISK READ ERROR$DISK WRITE ERROR$VERIFY ERROR$NOT A CHARACTER SINK$READER STOPPING $NOT A CHARACTER SOURCE$ABORTED$BAD PARAMETER$INVALID USER NUMBER$RECORD TOO LONG$INVALID DIGIT$END OF FILE, CTL-Z?$CHECKSUM ERROR$CORRECT ERROR, TYPE RETURN OR CTL-Z$INVALID FORMAT$HEX$$$$NO DIRECTORY SPACE$NO FILE$COM$START NOT FOUND$QUIT NOT FOUND$CANNOT CLOSE DESTINATION FILE$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$$$$$$$NOT FOUND$COPYING -$REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.$UNRECOGNIZED DESTINATION$CANNOT WRITE$INVALID PIP FORMAT$CANNOT READ$INVALID SEPARATOR$1 :2L> ̈́M9 221@:2!o6+6+6!6#6!6#6:G*o .!N6:^*M^!K6!6!6+6' :$::=2K  :ʤ\:ҷ\x'Ͳ:!\͢  :͈'! Ͳ:$: $͈Ͳ!N6' :!Cwͯ !6:^͢c!6{:/>!/H{ͯ :<2Š ::=HҮͯ !6:Ҿ:2 !6::/H͈;!6:> !/>HHͯ :^!w:<2:0}:@E}:!S!W6: z!]6:cm!c6:_z!_6l ::,: HHҰͯ : 2ó:E:1:2v!q!*8!*6: >ͦ>ͦ!q:_  !p+q.*   !q*&!p+q*2!p+q*2!p+q*22!p+q*!p+q*!p+q*!p+q*2!p+q*!p+q* !q*& *M *M !p+q*!!p+q*"!p+q*$!6  !kp+q*j> >ڪ Þ !qp+q/ *pDM9: :M2r:N!r !:r *r& N!r4 !6:͔: :ͳ.!ws+p+q+p+q:w=2wN *s*u w*s#"s*u#"u' !"*M^7 !x6:!xھ **DM͆ 2yʭ :yʗ ͯ *"*6:2x÷ *"!x4d !"/ !j}=2| !"*KM^'_ !z6:|!z1 * "}*}DM͆ ' ͯ *"!z4 :e !"͆ !z6:|!z '? 2*H#"H!{6:{ր!Ң *{& :{4 2!{4m *":ڹ ͯ !z4I '2!"!q: !4>!S :S! :2*M! ^#V͎ * :w*#" = = = = = ͯ  *M !6q  !6q  !6q  *& !6à  !6 à  !60à  *& !6  !6  !6  *& . 1 4 7 : = F P [ f q  :2!q: " *M n :c4 *M n :2!c:Q !c:2: !:cw>!n !5 Y : { !6!q:!lwҙ  â :0O !q:O| :O| !6:]2l:o'2o:n'2n:m'2m*mMͣ *nMͣ *oMͣ :]:   *}2D" * * *&"!q:UY: Y:ҩ: ʩ:_2ʘ:€!6<:<2!ژ!6 >!]Ҥ; !6:Q::H: !6*M : !6!q:a/>z!/H:_2:!q:A/>Z!/H8: 2::=O>m:W!Q} Hmd>9>!6:2*M!E ^#V͎ڗO **~2*#"m2m͖ 2m!6m!6m!6 m2mͯ m!62m!62m!62m!62m'2:2:TҒ:2!6*ME:2::Ҳ:<22ý: 2:} >ͯ :i:2:d*M:[ *M:>!(:=2%> >>!F!5+N! ~2!4<2T>>!b}*bMͭz:b2!b6:<2é>!`ҥ*`MͭҞ!`6!6> :é:(!q:!wO! ~2*& :w>!:!4!6>:N<2N!> *N& N2 !p+q!6!6+6 !6: S: M!6g8:N2M*M8p!6!6!6>!ڕ*&P 6!4z!6!6#6#6!6*M8:ھ:*͇g2ê::¿::,͡A<2O>*M8):[ͱ!N5!6ñ:5!6#6>!ڰ!6:<2O>/:!O!T *M͡H~K:¡!6[–ͱ!N5:2:2!4=:[¼ͱ4:!6:.2O8: :* ͇g:[ ͱ!N5!6:%:<2*6 * 6å!q!6> !d*&I :]>!4A>:<2O* :w:?†!6!q!6?!:ҠgÐ!q*&*~!6:22: :]Hں:A2O>: 2ͯ ÷:S:QHI:N<22: H@"2Í202O> c!6Í202O> ڍ*&O*& !sc*&P :w:·>!ұͯ :22:_!6=!6>'!E!4!p+q*0 !r+s+p+q*~$7*>*>H&>*#"*#"> 2:R͎:!6!6=2:ʙ!6:“H9Ž>!6-e!6ͻ2=2ʺ-é:>>"ͻ2:!!5ͻ2ͬ!\-:>>!p+q:,!6*DM9:<!6:z 2W!6D*&L :w:<2Ov*:>=20O> ڒ:0:AO>Ҥ::A }}Hͬ!wͻO`idͻV[2O>2:!X!6:!:=O!L NE!4 E E:/.*&L 6$L9k9.Xͯ *KM^020 :020:121'ͳ':²ͯ !G6!"!"7 *M^n/ :a/:H!6:ͯ !&62*">!b!ͯ >!`0ͯ !q:E:24J!46*}a!44EJ *KM^'́:‚ͯ !36'n::0:f9OY#9.3'ͳ.:020' 'ͳ'7 6'!j>A+!s!"@͓1!"<**"͓n "Dn"":!Q2҂:X!Wғä:ڤ*MEÓ:ұ@@:O2Mc;!6#6>!)*&P ~"::H:H:H:H"!6!4:_jYO jM*"S*" 3@bl*M1͓!""7 *M^͆ \͔!":͎H*#"ͧÝ/ :>͛9ͯ .*#":_!' !'6!36' :1/!aE*#">z?C9IͲÁ.!6> !ڇ*&' ~2 ʀ: y.*M!4Q>!қ:=2á:2:Ҭ\>!ҿ:=2K:2K!:!:K\: \!p+q͈*DM!  ::=H-\:N2O_og_{ozg^#V))) _{ozg^#V) d^#V|g}o n_{ozgO{ozgi`N#Fogo&og H ©=¨' !'6!36' :1/!aE*#">z?C9IͲÁ.!6> !ڇ*&' ~2 ʀ: y.*M!4Q>!қ:=2á:2:Ҭ\>!ҿ:=2K:2K!:!:K\: \!p+q͈*"|ʬD*%uʩ@!}2}2}2!"`i^!*uʫ`i#DM!}2`i^!v#^!wʨ !"* x`i^"`i#DM^!v#^!w§`i^!luʢ !}2`i#DM`i#DM+^ã<!%"æB!}2é!}2! "! "á!}2!"!"á!}2!"!"ͫG¬D!***ͦ[!9ʬD:©:ʭ!9~#fo##s#r++^#V!yzâ!y{!9~#fo##s#r++^#Vs#r*#"æ@!}2ͫG¬D!9ͬK¬D:¥#:~yt!sr!! 9s|t!9t!suAxʡ5!!suryt!suB]Lxʠ-!"z{+Z!!s|}!9t!suA33333vʧ2!{@?R!~psyt!!su>Xrpsytã:!!s|}!9t!{@!~|!su@rsyt!stanh"" tanh_ csave .dldp .dpsh fabs_ .dst .dlis .dgt .dlip .dlds .dad exp_ .dpop .ddv .dsb .dswap .dlt .dml .dngq!! 9rst!9u!rvALwʭ!xAuî!rv@ShCwʨ !!r!yzs{!9vAzsxA|}sx@|~u!!rrzuî!rv<>pʠ!!ruî!!r!yqu!!rvApz!yqvBŦyz!yqvB> sqrt_ csave .dldp .dtst .dlis .dlt errno_ .dlip .dpsh frexp_ .dst .dml .dad .dlds .ddv .dpop .dsb .an .dswap .dv ldexp_q!9rs«!9r!9rtuʥ!"vw!!! 9rxy! 9z!!rt@hH{t@jK3|z!!r!}~!}|z!!r!}~x!rt@@{|z!!r!}~!}|t@{z!!r!}~!}pt@{!}|z*qʧ!w@3@rr{z*#"*s!rxt! 9log@: log10_ 'log_ csave .dldp .dpsh .dlis .dml .dle errno_ .dlip frexp_ .dst .dgt .dad .dlds .ddv .dpop .itodr!9stͧ!9u@o-T$vr!9suwʧ!"xy+Z!!! 9stz! 9{!su@3@|ʥ !!su}{!!su@vu@}{â*+"!!su}{!!su@vu@}{!!s!~{!!s!~v{!!su#Ϝ}!~vuB8?Rh}!~vuӁ}t!su !vuAbJ }!~vu@J_}!~vp!~v!~}{!*q{!su@vt!su .0Qvp}!~}random ran_ erandl_ csave .llip .lswap .lldp .lml .lst .llis .ldv .lsb .xtod .dlis .ddv .dlds .dml .dpsh exp_r!s}tuvw!!ux*yx*vtuzw!u{|C*}r͠!9~pq!9expA">> exp_ csave .dldp .dlis .dgt errno_ .dlip .dlt .dpsh fabs_ .dml modf_ .dst .dge .dlds .dad .dtoi .dpop .dsb .ddv ldexp_q!9rsB]Ltʠ!"uv+Z!9rsbwʪ!"uv!9rxy!9s8[uZwʩvA!!! 9rsAqTvR0zx{! 9|!rs@}ʥ!~vA|!rp"!! 9! 9rx{! 9|!!rs? .0Qzx!rs@zx!9rqrq!~|!!r!~z|!!rs?*Fzs@F?n!~zs@?!~z|!!rs? 2߼p zs@88(!~zs@!~rx!rqss@|*#!rxt! 9floor floor_ Vceil_ csave .dldp .dlis .dlt .dng .dpsh modf_ .dgt .dlds .dlip .dad .dstr!9stuʧ!9svwͦ!9v!9! 9swx! 9!9sr!9stuʭ!9svw͠!9v!9! 9swx! 9tyʯ !9z{A|}!9sfscanf}ll fscanf_ csave scanfmt_ .an agetc_ ungetc_q!9^#V"!"! 9! 9^#V!rq!9~#©*^!sʫ!"æ*t"é**u"*scanfnzz scanf_ csave scanfmt_ Cbuffs_ .an agetc_ ungetc_q!"! 9! 9^#V!rq!9~#ª:!s6o&tʬ!"ç!su"ê!s*v"*sscanfPP sscanf_ csave scanfmt_ .anq!9^#V"!}2! 9! 9^#V!rq!9~#¤*~ʪ*#"+^!s!}2ì:¬*+"^!s!fscan.-"  scanfmt_ {skipblan getnum_ getflt_ csave .eq ctp__ .an .ml .lldp .lst .xtoi atof_ .dst .fst .ne .chl index_ .swt .le .itox .lt .ltst .lswap .lml .sb .lad .lng~t!9N#FABCDEFabcdef9876543210    !"!9^#V"`i#DM+^"|ʬD*%uʩ@!}2}2}2!"`i^!*uʫ`i#DM!}2`i^!v#^!wʨ !"* x`i^"`i#DM^!v#^!w§`i^!luʢ !}2`i#DM`i#DM+^ã<!%"æB!}2é!}2! "! "á!}2!"!"á!}2!"!"ͫG¬D!***ͦ[!9ʬD:©:ʭ!9~#fo##s#r++^#V!yzâ!y{!9~#fo##s#r++^#Vs#r*#"æ@!}2ͫG¬D!9ͬK¬D:¥#:ʪ !9~#fo##s#r++^#V!9|}î"!9~#fo##s#r++^#V!9|~*#"æ@!}2`i^!^u«%`i^!~uʧ&`i#DM!}2!9"`i#DM+^"]ʥ)**#"+sî&!*sì,!}2! !9s! !9s! !9s!!79sͫG¬D:£/!9~#fo##s#r++^#V"!}2*+"#|ʢ8!*p"u¢8:ʬ3*!9qà5*!9qu|ʣ6!*pâ8:¨7**#"+s!}2ê/:ʬD: :!*s*#"æ@: ;!"!!9s!}2â-r% DEFOX[#c:defhos*x@éD*v#^!wʦBͫG¬DéD!*p*ʩD!*pìDî*|§G!*puʬF!!*p*t!*pv#^!wʠJáH!*puʨK!!t!9^#VBK!}2}2}2*+"#|ʠZ!*p":®Q*-u¤Q*+uʮQ!}2áY:«S*.uʫS!}2áY:¯V*euªU*EuʯV!}2!}2}2áY*v#^!w¡Y!*pàZ*`i#DM+sêM!`is`i!9~#fout*sʭ\!!!""tz!*p"-uʨ`!"*#"éb*+uʮa*#"éb!*pãc*#"**uʨo!*p"! 9^#VqDM|¥j! 9^#V!uʧi!yv§i*xu¬b*Xu¬b!*pèo!!9^#Vtwyxz!`i! 9~#foy! 9~#fo^twyzzìb*|ʨq!9^#V!y{zêr!9^#V!yz*fprintfAPP fprintf_ csave format_ aputc_q!9^#V"! 9! 9^#V!rq*! 9^#VsprintfPP printf_ csave putchar_ format_q! 9! 9^#V!rssprintfWPP sprintf_ csave format_ .anq!9^#V"! 9! 9^#V!rDM!*s`iq!9^#V*#"+s!sfformatw format_ csave .eq ctp__ .an .ml fmtcvt_ strlen_ .dldp .dpsh ftoa_ .swt .sb .gt .chl .lt8q!9N#F!"!9^#V"!9~#fo#s#r+^"|ʣG*%rʢE!!9s!"! "!'"!9~#fo#s#r+^"-rʡ !"!9~#fo#s#r+^"*0rʫ !0"!9~#fo#s#r+^"**rʣ*##"++^#V"!9~#fo#s#r+^"à!"ä!9~#fo#s#r+^"*s#^!tʠ* u*"ì*.rʦ!9~#fo#s#r+^"*rʩ*##"++^#V"!9~#fo#s#r+^"æ!"ê!9~#fo#s#r+^"*s#^!tʦ* u*"â!"*lrʩ"!9~#fo#s#r+^"!"í$*hrʭ$!9~#fo#s#r+^"*å3!"ä'! "ä'!"ä'!"*!9**v!9"**"à6*##"++^#V"w"î6**'rʦ-!é-*!9*"xyz!9!9"w"!"î6*##"++^#V"*!9"sà6{ c1d&e+f+g+o%s*u%x&2!9*|"**}ʡ8*"*|ʯ;ã9*#"*+"#*}ʯ;*`i~rʬ;!ì8!"ï<*#"*~ʦ@**ʦ@*#"+^`i~rʣ@!è<**"*|¯DãB*#"*+"#*}ʯD! `i~rʬD!ìAàG*`i~rʩF!*#"î*atof( atof_ .utod .dml10 .dswap .dad .dlis .ddv .dngů222!"q!9N#F ʦ ªë-¥2ê+« 0ڪ:Ҫrs0o&qt:ʪ*+"ê.§!6ê! e¤  -®2ã +¤  0ڮ :Ү 0)T]))_ã :ʬ |/g}/o#*"*|¦}/S#>c{Z=ֿzf=y0==%}<6{<_^Y&; oP;4$C;hIj! 9^#V"!9~2!9q!9~2ãyڢ* ">ã2*+|!á®}ڡ!)))yzuA {ʤ!|:ʤ*#"`i":ʮxy*60#6.#:y/î:ʩ60#=¢">O!~%+ʧ%*r 6#6x>0ң#*r#~>0£###6*w#"!5ʧ%x %*6.#"vê!:©)*6e#6+::'6-/<#dگ'61#d ڬ( á(0_>0w#s#"*6}!|xfrexp4ll frexp_ ldexp_ modf_ flprm .dldp .utod!9ͦ®! 9^#Vq#p!9ͦʩ! 9^#V |/g}/o#}Oͨ}/_/W~#«~#ʣ+DM*s#s## w#w¤!ufsubshJ,,  flprm flsec flterr_ .flds .fldp ,.fst J.dlis Q.dlds X.dlip _.dldp ~.dst .dpsh .dpop .dswap .dng .dtst (.dcmp ^.dsb e.dad :.ddv B.dml .deq .dne .dlt .dle .dge .dgt ".utod ..itod !.xtod a.dtox .dtou .dtoi (fabs_ ..dml10 Sysvec_ puterr_ lnprm*ë*w#@w#6#w©#w¤*~G#~@##~ !*ã!*w#@w#6#w¡#6͠G*~G#~@##~¦ "͠G* V+^+V+^+V+^+V++~@_+~_*"*s#{@w#6#r#s#r#s#r#s#r#6***""*~w*#~¢?ç>=ɯ<**á#¤ #ڠ¤­*~w* w# * w#¯**#/<+"" ҧIO _"! "!**+­ î**w+¬>w+ #~>!>w+ >*wçI**+¥" "çI**#O~¬%>2çS##®' & q#6#62îKqڧ( q+ ~+¡) ~+£*!w#¡+>@2!~w#¢,O!#§-y¤/!4!5¬+æ2!5ʦ2!~w#¡0O!#¤1y¤/æ.* 6+6+w§3çI**#ʡK~ʡK ~+§6 ~+©7!w#§8>@2!~w#¨9ң<!#¬:ң<§;!5¢9*  w+¦=çIͨʢ?!ͨʧ>!<ͨ?ç>ͨ?ʢ?ç>ͨ>â?ͨ>ʧ>â?|ʡKäD|ʡKzD/W{/_*p#z«E6#6#sçF6#6#r#s#w§FèO* ~¤H+~w7+~w©H§I*#~T]#O¯O#¦L §J2* w#6#w®K>GʦN+y>O~# ¦M¯MO@ڨOâSکQ>2 y!!=COPYRIGHT (C) 1977, DIGITAL RESEARCH ZSID VERS 1.4$1/ !~=W!xe ~#Xbxʇ {z~#o}o҃i._!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*oÃø *sy͏͟+-'#.@=90Oy) ,    ͌ >^! 6 # q! w‡Ø͌>ʘ# }2 :  A ͪBx¸{{: G*w#wx͡ ͟80* {#z+++  ## ' 1>>^ 0 8 a[^ !~-i6+!w yÏaÌ^ ! y͌ >ʠ(͇ ͇ >V a!  y͟͡O*w#"͌ . a  !g  !! 0͟2!b  F>!  ®Wc͡Oi W*##yOx€y Ê y AzÙKByxy͡Ù! {/O! .{/O9OV >G>ͽÙG>ÙV) y*W>ưG*! ž yG VO{xʃfBGͲ G>Ù x Ͳ>Ù   Â! Q V ͵'> >3*  &! E͟(ʹN[W@GVI@zWe '3>ͽOzy Â(Mx?*z:: OzäIjG>ÙzG'vV”zOx yʏ >(ʠOxà: Ox¯>*ä>>{ IO> VyHÂͪ͟A>2Ó'>"Ó>CÏ͟XY x GV6W>6xJ  pÙ! aO y! ‰ uwͻ'‚>!  Q(ʰ_zÕz Ͳ >Oz>ʤ>ä! ͌ >! EV ͽG>Ù_V% {>*W -{ZW >{ ͵@&! VhV c >rw> V >** {zҝ*~#" 2x:U<{͉2 5 !äͤAOHL(HL)CʹA HL{X GƐ'@'OxƐ'@'ON#5 z80O,z8UO! N#Ny ,!}ä(C)3ͱ,USPS* |} !9":!"<<2* ͞ !~5 * ͡S ͉ͤW! !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U ! 3! 3UW͒H! 3ü! 3\, ! 3\! zl z=1  3 !+ ͤ͵ ͵ !. ͤ!  ! O 3͍A,,A3͍! ́Á ! L ! ́z8O! 3~ ~ >v ! 3Uʹ,zʹzHږ 8O!n 3 C( )(͍)! 30> >z ͥ ,,ͥ ͉͉W_͕yO! 3 $% ,% !+ ͤO͉͒y !W {A !\ ͤ: ͒H)(IX+(IY+yO 3zʉ W! W3\,% ! 3! ͤAF,AF'! z> z ʽ ! ><3͈͐! 3 ͵ Z͉W{ ͇ z – z!  ! a # zB) zO!f 3>͈C~ GK ! 3z! E ! 3@ z¾ z! u ! 3w,ͱ́r! 3z ͥ # ͍ z¯ ͉2 ͉W͇ 5 z'!k # µ !3{͒z͒S?*!9"͡"͉*" *'/7?v"*2:DEFMV^goRET EI DI EXX HALTCCF SCF CPL DAA RRA RLA RRCARLCANOP !"#)*+4569FNV^fnpqrstuw~CP OR XOR AND IN OUT JR DJNZADD ADC SUB SBC AND XOR OR CP INC DEC LD RST AF POP PUSHJP CALLRET EX I,A A,I RLD RRD IM 2IM 1RETIIM 0RETNNEG LDI CPI INI OUTILDD CPD IND OUTDLDIRCPIRINIROTIRLDDRCPDRINDROTDRSBC ADC RLC RRC RL RR SLA SRA SRL BIT RES SET LD IM NZZ NCC POPEP M B C D E H L (HL A BC DE HL SP IX IY AF (IX+(IY+(BC (DE (C (SP ??= xKàï÷ZhÐyg Æ}!"Q!*"!"!""!2V!2M!2#!2S!!" "d!"!"!!1!!++"!"O!>28!"9:] !÷1!į>#yh͐ !J!6-B5͐A]]_!Y^#V]8]03]]]]]!]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2]]g=!1g=-1g!WgG"d!=Wg=]b*d!}o_"f!*d!"h!#>:y:K!ʞw^#V##:ڲ …òw~#:ڲ}ž"d!:J!*h!w+:K!!L!~/www*d!}|*d!:e]ggg{z|]}$2D!2E!gg"F!g"H!DM\!D!6xf"!=x=xYP!$!~ʲ#^#V:D!ʫ*!{«z«"!!~62 !ò#w6 }1!1!*!*!!V!~4#~#F#x~#s#r#w>ʿg===]g#wᯕo>g#'d w>#y!3^#V#0}o|gg Zx~y0ʅyGÑyyÑ‘G~Sz{ <w>'y{y>'y*!##V+^+N+y#w ~+yxÐ. *  w#  *,?r# ,:J!]m!!Ow #w Eq!\ S:o@w#tG6#.ʏÃ6# ‘S6 w#ä!ex#y#*!}|"!:M!!]qg!=:J!]g!!|]"!!$!~=#~#V;z;:!w :!]!$!~e:!w#s#r R]!$!~ʛ:J!ʈ6Û~w#^#V v!ʷ=]g"!!l!~# :]?ʀ͍]>HXEͱ*!\ͯ€w# &]:Wr_rrO {Bx!<i`"!Àrrw#Er]&Z&Z\GтWx!ڐ:M!̠>ULTͱ!!\~# ¡2|:] >!v͍͆<]&>!_\_*!& & *+&  !]w{]*#^#Vr+s+6]*"s#s#rT!J*!*"!!͆*!#w*!#w*+# SYMBOLS NEXT PC END =]g#w:K!ʹ^#V#ý~wh͐ .:m!>."͜ ʜw#=]g:K! s#r#Ü]}w#:K!ʜ#Ü>#>2S!!"O!#P@g}]=O=]g"O!"T!2E!U # `͐ xG͐ …xÔ']͐ ]x/!*5]ʬ!:E]]͐ ]cwh=]gx|]}]#gA>Ag}|]E~!!!!pLs#r:[F_!~X![4Y\ͯX2[17>?y l!ͯ!n!"j!> _ͯ~y#Æ͜a_!m!~> ʰ5*j!~#"j! Ҽ0y7yͲò> y> y ͯ#:J! w>.y^+~y:J! >:y|}5 y>.y*f!}o|/+- ,) 0 ]^#V#͐*!Ny]*j!*l! Eʠ ʺ+º͐Ë ºHʳ͐#^#V"l!"j!~/o>g++u!.n@n^#V=n^'͜ ]'͜H']S_#B͐H@0 ])DM)) O #^Y*!^#V#͐^KZ))))o͐HB"!s#r#!]!4-ˆî+•*!Ý+«͐ Ø-͐y_xWØ͐!K!6W6͐!]!6# ,>2]!}m ͐}m ͐}m ]]!]!JXN~!:!~# IA_^!!L^#Vx}>ѷ>-y~y/y~y>=Ñ/y>'y¨~!!!!~[#wc#x ڹwù5!*ͱE!:ͱw *!" !6c#~O+"f!*!~~#:cwJ^#Vy6DzS_c~*!~c#^+*!~Gzx&ç@—xv&ʳx80&óx6ʳ4ʧ5¹>=y*!~*!x*!*!:J!& &&x*!~&ó&*!~9&4&&#^xCZMEIABDHSPXY!"T!2S!"!+"!!91!!91!*!~: !2D!!@!~ʨ#^#V#~ ›!V!~6=G#^#V#~xú#"!!N#FO*Q!>7U:#!”!$!~Q#~#V*!QzQ~==2#!6w6:J!6 U<!͆*!U ”|=p U*! U:D!ʔ*H!MD*F!:E!7U!"O!O2#!>*y*!ҷ" *!"d! PASS !S!~*T!+"T!|w=2#!~! ~##Z: !*!!w2 !~C< EB ͍E *!F#!N!s!7^#V__eB B ? ? 2 B B uE ͍E ::^#V#k^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G ~_!< < "< {p? {5? B ? ͍>G ><7*O!|z !N!N*!!b z >#y> y×:S!!K!ʐ ڐ >û ʺ =_~/w/w{ʮ Ү ͍=ʺ YP× "!pCE" *!##F+N+~!/o>g{!z!<33 @ BAI $@$B$@$$@!$D  I $I $$$$ BA"$ BHB$$ !$$B$! B! $$" " A! H BBBHBBHAHD!I I I$$! $@B $!B "I   H "DI!HI $ ! B"!AI$I$I$ I$A$ I$@D! $"$ HDIDBHIBAI@AHHH"H@@D$$I ABI$I$HB@I$@$I$J $$IB@* I$$I"HI$$ @ $!$I!"@! $AI$$! "B $ "H@"! $ HD@DH"$@!$$ H  ! @AA@H@HBD@@BI@$ $HBD!B HI$$$"$ D$"HIHBI$I$DH@"A $@ ! !!HB!DHII @  ! $  B @A $!BI "@$" "$I$I! @ !D$BB$"I$  $!D$$I$I$$"A$$I  @I I$ @"H @ @@BHABIA $ @@ !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3Uq*! 9^#Vsprintfb  printf_ format_ csave putchar_ .eq .lt .ng .swt .chl .um .ud .an .urr! 9! 9^#V!sͮr!9N#F! 9~#fo#s#r+^"|ʮ*%tʡ! 9~#fo#s#r+^"æ!!9~#fo##s#r++^#V͠ "á!!9~#fo##s#r++^#Vͯ"á! 9^#V^#V!uʦ!!9~#fo##s#r++^#Vvͯ"!-*+"sé!!9~#fo##s#r++^#Vͯ"á! 9~#fo##s#r++^#V"á! 9~#fo##s#r++^#V"áwcd su x*~ʮ*#"+^`ixáë*`ixër!9N#F!! 9^#Vs`i y0! 9~#fo+s#rs! PYzDMª! 9^#Vr!9N#F!! 9^#Vs`i{%^! 9~#fo+s#rs!PY|DM«!! 9^#V0123456789abcdeffopenhh errno_ fopen_ )fclose_ flush_ agetc_ getc_ aputc_ 3putc_ csave .uf fcbinit_ .eq getusr_ setusr_ bdos_ rstusr_ .sb .ne .an .swt blkrd_ .ls .rs blkwr_x!DM`i~#ʢ`i'DM yʯ!"p!ë`i##! 9^#Vz"Š{ʪ!"p!*Š{ʬ|"Š*Š!& s*Š}! 9^#V^!r{ʧ `i##!~{ʥ !"p!!I`is#r!"Ήã*|ʣ !`i##!~`i##!~{ʥ!"p!! `is#r`i"!!# s#r!% s`ix!9N#F!"Ċ`i*{ʤ`i^#V! pͭ8"Ċ!"æ`i*Ή{ʦ!"Ή!& ^}`i##!~{ʯ!"Ċ!`is#r*Ċx!9N#Fͨ "Ɗqʤ !*Ɗr"Ɗá`i~#fo+s#r!ìs  *Ɗx!9N#F`i*Ήqʭ(!"Ή!& ^}!!I`i##t!p"Ȋ|«%!*Ȋ`i#~#fops#r*ȊuI"̉`i"Ή`i^#V*̉yʫ,*̉Ipv`i#~#fos#r!I`is#rá"`i~#fo#s#r+^!rx!9N#F!PYrDM`i {ʤ2! 9^#V! ͣ3{ʤ2!! 9^#Vͣ3x! 9N#F!9^#V`i~#fo#s#r+s`i^#V!Iyʯ7!ͭ8ʦ7!! `is#r!9^#V!rx!9N#F`irʨ;!`i#DM+ sê9*&^}xʠ?`iv! *##wʠ?!!getcharAPP getchar_ csave bdos_ .eqq!rDM sʮ! !r! DMî`isʮ!DM`iputcharB^^ putchar_ csave .eq bdos_ .anq!9^#V! rʣ! !s!9^#V!s!9^#V!t#include "libc.h" main() { char *cp,buffer[100]; printf("Please enter your name: "); gets(buffer); printf("Hello %s, welcome to Aztec C.\n",buffer); exit(0); } EXMPL BAK5EXMPL O 7VDE266 LBR689:;<=>VDE266 LBREFGVINST266COMOHIT]w+«P6æN>2͢U*#6#w#6îK>2͢U*#6?#6>#w§T#6*s|ʯV!9N#F*ͮVͭ`Floating point :ªYͭ`underflowà\®Zͭ`overflowà\ͭ`divide by zeroͭ` at location 0x!9~ͥ_ͩ_+~ͥ_ͩ_! t0:ڤ`o&t ʯao&tî`*6#6]T#w£c!u:!u3e>#¥d>çI~#¦eçI!"u"!u2u*N#~ʨOOҦjG#oҨh$~+¨hyO!u>w#ªièOyk6#6#6#6ár6#6#6#6árám*F#~ʮmn!èOҨp#oҠo$^+VyʨOxO|/g}/o#èOy£q!árxq!ár!>2*6*#4 ^&)DM)) #wz++«s#wʧI++~v@ҢSͩ_! t0:ڤ`o&t ʯao&tî`*6#6]T#w£c!u:!u3e>#¥d>çI~#¦eçI!"u"!u2u*N#~ʨOOҦjG#oҨh$~+¨hyO!u>w#ªièOyk6#6#6#6ár6#6#6#6*#"ɯ2l2! "!"``: NO DIR SPACE: CRCFILE$1/ ͘?:xXFile Not Found$e Sum of Listed CRCs = :Q:Qr:F:*}¶">͊ª`<  CANNOT CLOSE CRCFILE$CRC CRC*#"ɯ2l21 w# "!` $:fR:SVZ:DV!e.V!5te | |6e !]M!eMeXXXXXXXX XXX \<X++OPEN FAILED++$!"!"*z ^"\*)o|g}o"::Q:Q**"VX++FILE READ ERROR++$ZƐ'@'y~y#~f> y> _͍:F{͊2h2|:!\ M:\2!\ M\!\ M\!\ M\<7=Ɓo& M] M2h2|2>C>#>R#>CFF~$#~# xM :F²*}r">͊f`<ª ê CANNOT CLOSE CRCFILE$` ++ABORTED++$ */  PlnprmlntmplnsecSysvec_$MEMRY.beginsprintf_ format_ fmtcvt_atol_atoi_qsort_"setjmp_)longjmp_)toupper_+tolower_+strcmp_,strncmp_,strcpy_-strncpy_.strcat_/strncat_/index_0rindex_1strlen_2setmem_3movmem_4swapmem_6.chl7zsave7zret7cret7csave7.move7.ARG17.ARG27.ARG37.asave7.llis:.llds:.llip:.lldp:.lst:.lpsh:.lpop:.lswap:.lng:.ltst:.lcmp:.ulcmp:.lad:.lsb:.lan:.lor:.lxr:.lcm:.lls:.lur:.lrs:.ldv:.lrm:.lud:.lum:.lml:.leq:.lne:.llt:.lle:.lge:.lgt:.lul:.lue:.luf:.lug:.utox:.itox:.xtoi:.dvG.udG.umG.rmGdiv16G.mlI.rsI.lsI.urI.anK.cmK.orK.xrK.ntL.eqL.neL.leL.geL.ltL.gtL.ngL.sbL.swtL.ueL.ufLrom5  lnprm lntmp lnsec errno_ Sysvec_ $MEMRY .begin _Cend_ _Dorg_ _Dend_ _Uorg_ _Uend_ main_1@!wx"yx|§}ʡ~# y§!z"{zs# y©|sprintfWPP sprintf_ csave format_ .anq!9^#V"! 9! 9^#V!rDM!*s`iq!9^#V*#"+s!sformat format_ csave .eq ctp__ .an .ml fmtcvt_ strlen_ .swt .sb .gt .chl .lt8q!9N#F!"!9^#V"!9~#fo#s#r+^"|ʯ@*%rʮ>!!9s!"! "!'"!9~#fo#s#r+^"-rʡ !"!9~#fo#s#r+^"*0rʫ !0"!9~#fo#s#r+^"**rʣ*##"++^#V"!9~#fo#s#r+^"à!"ä!9~#fo#s#r+^"*s#^!tʠ* u*"ì*.rʦ!9~#fo#s#r+^"*rʩ*##"++^#V"!9~#fo#s#r+^"æ!"ê!9~#fo#s#r+^"*s#^!tʦ* u*"â!"*lrʩ"!9~#fo#s#r+^"!"í$*hrʭ$!9~#fo#s#r+^"*í-!"ä'! "ä'!"ä'!"*!9**v!9"**"ì/*##"++^#V"w"ê0*##"++^#V"*!9"sì/xc+d&o%s*u%x&,!9*y"**zʭ1*"*|ʫ5ï2*#"*+"#*zʫ5*`i{rʨ5!è2!"ë6*#"*~ʢ:**|ʢ:*#"+^`i{rʯ9!ä6**"*|«>ï;*#"*+"#*zʫ>! `i{rʨ>!è;ì@*`i{rʥ@!*#"î*fmtcvt&& fmtcvt_!""! 9~2G+V+^+6"+N+V+^!w#¨y/w#¬é!>^)|ڭg,¥s+= Z! ~*+"w!©#¯* +6-0123456789abcdefatol atol_ csave .eq .llip .lst ctp__ .an .lldp .llis .lml .lpsh .itox .lpop .lad .lngq!9N#F`i^! r©`i^! rʡ`i#DMí!"`i^!-rʣ!"`i#DMæ`i^!+rʦ`i#DM!st`i^!u#^!vʦ !!wx yz`i#DM+^{|}x}tå*|ʪ !w~à!watoizz atoi_ csave .eq ctp__ .an .ml .ngq!9N#F`i^! r©`i^! rʡ`i#DMí!"`i^!-rʣ!"`i#DMæ`i^!+rʦ`i#DM!"`i^!s#^!tʡ * u`i#DM+^"ì*|ʢ *vå *qsort. qsort_ csave .ml .sb .ud .ur .chl .lt .ul swapmem_ .eq .ueq!9"!J9^#V+!L9~#for!H9~#fo"*!H9~#fos!L9~#fotu!L9~#for!H9~#fo"!H9^#VBK*"*!R9^#Vvwʤ !L9^#V`iDMé**!R9^#Vvwʧ !L9^#V*s"ä `i*xʭ!L9^#V*y`i*zʫ*"í**zʭ`i"`i*{ʦ!L9^#V`iDM!L9^#V*s"`i*{©*PYs*!J9~#foswʩ`i*xʠ`i*s#r**##s#r*"*"é!H9^#V*xʯ!H9^#V*s#r**##s#r*"`i!H9s#r!H9^#V*x¯*!9{­"*"*^#V!H9s#r*##^#V"ïsetjmpf44 setjmp_ /longjmp_!9^#V+s#r#s#r#q#p#s#r#s#r!!9^#V#N#F^#V#^#V#N#F#^#V#^#V}#<toupper,44 toupper_ tolower_!9~aڡ{ҡ o&!9~Aڧ[ҧ o&strcmp844 strcmp_ strncmp_!9ä!9F+N+V+^+~+ngxʢ¢ʢ# íogstrcpy&& strcpy_!9V+^+~+ngwʨ#í|strncpy(&& strncpy_!9F+N+V+^+~+ngxʣwʮ# â|strcat=44 strcat_ strncat_!9ä!9F+N+V+^+~+ng対ʦ#îxʧwʧ# æw|index&& index_!9^#V#n~ʬʧ#ê!|rindex.&& rindex_!9^#V#nʨ#ïxʨ +~¨|!strlen&& strlen_!9~#foʥ#ì}setmem&& setmem_!9^#V#N#F#nxʪs# ïmovmemR&& movmem_! 9F+N+V+^+~+ngڬ }ڬʠ ++w x ɯ~# x¦swapmem/&& swapmem_!9F+N+V+^+~+ngy§Fwx# ¨ʭ=ècsaveq .chl zsave zret cret "csave 5.move .ARG1 .ARG2 .ARG3 @.asaveDM!99`i͠|DM!99!`i~# x¥!9~#¦!|lsubs<dd .llis .llds .llip .lldp &.lst 8.lpsh F.lpop Q.lswap n.lng ~.ltst .lcmp .ulcmp .lad .lsb .lan .lor .lxr ,.lcm :.lls [.lur ^.lrs .ldv .lrm .lud .lum t.lml .leq .lne .llt .lle .lge .lgt .lul .lue .luf .lug .utox ).itox 8.xtoi lnsec lnprm lntmp!wç!x~#~#~#~xw#w#w#w!!x3*!x2*x"w"!w2*w*x"w"x*!w2*!x2"!w2"!x2!x>w#1l_ARACTER IN REGISTER A OUTPUT TO CONSOLE CO: PUSH BC ;SAVE REGS PUSH DE PUSH HL LD C,WCONF ;SELECT WRITE FUNCTION LD E,A ;CHARACTER TO E CALL BDOS ;OUTPUT TO CPM POP HL POP DE POP BC RET ;SETUP STACK SPACE DS 64 ;40H LOCATIONS STAK: DB 0 ;TOP OF STACK END " od_! s,B,!2@:ҷ17:ҷܐs&ķ:@@"ҹ6@B<9;ʐU Pq`o$ 0ňD1$lt F$؀P& &< 06B,X$^x &ӐP@ &@"q" 0|@V@0\>$0Xl\$|pB &0 &@y_ &PPĵV  & & 1 & 6^ 0zB aPPP_ "244槅"槅x"lVTa >k`"ːDD$!2@޶ڰ2@7ܓ87@#6 ز@'¶ܳ!`! R<EL ## B J`_ 0|0|d9 ۩ 2 d] d  D\ K͂" XBaF lF'l۹!"2$D Bawd &17@89ҳ:@@rhļ@)@ڹ@)6ʰ@\r3H3Df&ۭP6TTT|d"FaPPP_ BD 槅x$CD: "l<{Tl>kdl; lBlF?oD" B"#TG"۩0Ϳ P!$P wT?z oXb TH׌(  @oegT2/F+z>kaB; < |$Jᧅl9VDlD>kd""TTTܲ@*޷@&7dedT1$? x@D"D" ۑ4@T1$|D1$ד dr EPBT1$?F oBB':@@;62@)@#9ڰز@$77@#6 F &CuHV?xF t@t dY 䳐 ld B .@B ?@_|dB 汄T"T"0s,&"b ' ads8(de/@dqD o}x kkkkJ|kk6>Pz\PzPzeznP-B/օ|d ] F Al0͛d: d 槄0Û casߙJ濄D: ?xa[": &AA}F?@0" $P Hd;   fz &`ːj枆È ͇Po`0C B `YB24B24ز@9:n`|TFV"V*Vq &׹F9BAAAAAXBg`ˀDD !P򼑬 24_@&x𼑬o`0 {TT\ !D\  ) &˄Dۭq*lBօ*@@"")R>ib" ᧅᧅ"I"3cclFlBI"ZT>kdF?P$F$ ?\ &AAAB'FaBI"e ۭ}oHZŅHB?zy2"& ", x>lFB@}ۭۥ}|} Au@@ ` _ "* o,B䈴@#6ؐB?o|F 0y ķ:Bloo4 B] _ᧅtۑtP槅l_Bօ"9ʱ@#6ؐ|d ltPzo<x"  P[dmd  o, 2 orz "24 T2 o Hx~  X "( o z>P>>̓0eBP^'R"I"ccc懅BI"9޳@=@=|d3 ̇0BBI"OiP?P_ |}%D =Zm0xt3 b D\ DT @}lFlBI"BI" 2 " A_@B3 P@ & `l0\6ұ@ķع@"372t<76@ķع@)397Ʋ2372@7t >>͇p$"3D)FVڑD o z>P>>̓0eBP^'R"I"ccc懅BI"9޳@=@=|d3 ̇0BBI"OiP?P_ |}%D =Zm0xt3 b D\ DT @}lFlBI"BI"R!#1R@8x z ;<;2 ': Oy:GGy!!!TIME&DAT*||D " |D(" 0 Ox[[[  ["[( :ͩ(%-%( \  D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g| e||d~ ~0/0Gz0 A( x~( #\ ~# zO*L|( +~(G  "L|("|(D~!8? ~2#~2#~2f:O f `!6#s#r#6#s#r# 6#s#r#~#\ #!~f(#w(~ ( #͐ ~(# ~ # @2HCJA:> &#:H(vvxy2JFA ~. #G:J:Iɯ2I((#* +>?? !I4(( #> ^(pKJ!8bA8G!8!!8!8JO}o%  9M*JB(,m8*͈8$*L|(~(,~#fo>=) 0KJ͠(#(GO #( 0 ?~_.,>:0 ЯɿɯF q#w#q#w#.ø$y,ø"*L|(~#fo-ø͠=0x*L)^#V*L|(~*L|(^#V#~(G! N"L|>Z )(*>O>G>Z%) |G/!~#~3ENVs*b"P!"R!"N!"XNH##]^#VS`#^#VSb 005*`8W+}(z i`:]()= Z_.!\+ *Z ^###~))))~( = !^o&:^/o͖So*i|(9DM)8481*R8)*g|(*os#r#*k x "gͣ=ɯ*o͖ͬ:q(]:r W*i|(P"s!"u*s+|(?"s*u#"uT]͎~#fo;R0*u͎s#r#~## +~# +r+s :q 7Kk ͎+) +w#-;+T]Kk! !0>))0 =  x [g :q 7͎+) N#F^#V`i*m+)Ko "eg !g[e*i"u*u<}E +"u"s*s#"s*iR8*uR8(g0 Y ͎X͎͎ ͎OG _ ͎>͗H~#  ( ͣ ( ( ( Jy/ ͦ _>͗ѷO!~F:> > > ͸> ͸> >^ @ ʸ>^͸@͸ 0  8 ɿ.&dA& AU.,0g} |> (0Gͦ|f'͏͏d͏ ͏}͠R<0 > (0Gæ!~ĸF O>~(w#|}w#a{_o*o*.:g~?(O#~O#*?jw_>͗ѷO!~F:> > > ͸> ͸> >^ @ ʸ>^͸@͸ 0  8 ɿ.&dA& AU.,0g} |> (0Gͦ|f'͏͏d͏ ͏}͠R<0 > (0Gæ!~ĸF O>~(w#|}w#a{_o*͜I(B( 7>2>2 7~#(x28*R7"X7:8( GͰ![8~(G#~́>2 7!5 02[8O!>27U:8:7IJL8%(L0:7C4>27L:7(ͭ:77: 7ͻ2w8 ( :8&Ͱ:7?:77͠D̈́0 0!6 /5D̈́0 /50 7* ͻ277_YN ! 7ͥ$3.: 7!6 !64o-8&!K8#~=!p4::~%%8&: 7(H!R +y0+~:J/<%!5 0:I7(@(=#(X (1a8,g_:R7!K~( 0# +s{!QR K O<K8K a8 23.!5 0:I7 8(!K(#6( T]#H23.!6͉( !T (Y  ́O4 %0%K4_?8 O4I0{́:E7!p4 { À&: 7> ́K4 :E7!J=!p4: 7Ĝ:: 3:7N( ) ͬ584l`: 7> ́4> ́:F7!D7g4G4ͬ5: 7> ͔> ͔G4::O4*T7> > K4:7Ͱ27: 78 ::(:17=e &Y<% ) ll͗>27*T7+"T¤!x~¥,#£ê+=ɯ<!x3!!w3~Oç !x3!!w3ڠ ¤ +¥ x!w#  x!w#¥x!w#©x!w#­x!w#¡!x~/w#¡:w?*x*!x2))ү,=§"!x2"xâ:!x3:w?ʯW!!x3~w+£¬!Nyáx͡w͡yͭx͡ywͭ͡y!xw#£ͭͭy!xw#£!yw#£> !x~w#¢ Oy!w#§!y #!x4=«=ʡ&!x~w#¬#Oy!w#¯$y #æ"y!w#ª&!xy~6#­'> !x~w# )ҭ*x!w#¤*=©(ͨ ʥ,!ͨ ʪ+!<ͨ ,ê+ͨ ,ʥ,ê+ͨ +å,ͨ +ʪ+å,ͬ ,ê+ͬ ,ʥ,ê+ͬ +å,ͬ +ʪ+å,"x!"!x2"x|2!"!x2*xdividemll .dv .ud 8.um .rm Ediv16 .ngz͢u}ͨ}z͢u||/g}/o#z/W{/_MD!ͥ}y/Ox/G>))Ҧ, ڧ}o|g=®=®shiftsWPP .ml .rs 2.ls B.urDM!>))Ҡ =¨}{_ʯ||7g}o¥{_ʯ)ª}{_ʯ|g}oªbitopr PP .an .cm .or .xr|g}o|/g}/o|g}o|g}osupport .nt .eq .ne (.le '.ge B.lt C.gt \.ng f.sb o.swt .ue .uf .ug .ul|ʡâ}¢|ʡ!}¡|ʢ!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#yʩ###ç#x¤#~#fo}|>?o&}|>o&.ugL.ulLin_Xout_Xport,44 in_ out_!9f."!6Ͱo&!9~++f."!6ð*;}|/*6"6|!=!9}_|#W";0 o&0 27:'8 _0 :7_!9t/!9F+N+V+^+~+ngxʒ/’/ʒ/# }/og!9V+^+~+ngwʰ/#å/|!9/!9F+N+V+^+~+ng対/#/x/w/# /w|!9~#fo0#/}!9^#V#N#F#nx$0s# 0! 9F+N+V+^+~+ngb0F0}b0v0 V0++w xV0ɯl0~# xl0!9~aډ0{҉0 o&!9~Aڟ0[ҟ0 o&DM!99`iͤ0|DM!99!0`i~# x0!90'8~#0!11|!Z8,1!R8~#~#~#~R8w#w#w#w!U8*T8*R8"Z8"\8*Z8*R8"Z8"R8*\8*T8"\8"T8!R8>w#‰1!R8~3#˜13=ɯ<U8!]8~O1U8!]8ڥ1©1+1R8!Z8#1R8!Z8#1R8!Z8#2R8!Z8#"2R8!Z8#62!R8~/w#F2:Z8?*R8*T8))d2,=\2"T8"R8w2:U8:Z8?ʔ2W!U8~w+ˆ22!NyÆ1R8͖2Z8͖2y31R8͖2yZ8͖23V8!R8w#2133V8!R8w#2!V8w#3> !R8~w#3OV8!Z8#,3yE3!R84=3=v3!R8~w#Q3OV8!Z8#d3yE3;3V8!Z8#3!R8V8~6#’3> !R8~w#¥33R8!Z8#¹3=ž3ͭ13!ͭ13!<ͭ133ͭ1333ͭ133ͭ133313313331331333"R8!"T8"R8|74!"T8*R8zs45}͉4}zs45||~4/g}/o#z4/W{/_MD!͖4}y/Ox/G>))ҧ4, ڸ4}o|g=Ÿ4=Ÿ4DM!>))4 =4}{_4|5|7g}o4{_4)4}{_4|g}o5|g}o|/g}/o|g}o|g}o|V5G5}G5|V5!}V5|G5!}|o5}|?>o&zo&|5}|>o&|o&}/o|/g#}}o|gBK^#Vz5#yʾ5###ì5#x¹5#~#fo}|>?o&}|>o&0123456789ABCDEF0123456789abcdefrr+ww+a a+ xx+;???????????       j :7:7@7"@7'@7,@71@76@7;F7@F7L7S"#$ J%j'j' 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ ;???????????   z!")!! 9^#V/!")!! 9^#V!hI!ͥ!ͥͰʌ! 9^#V!h!ͥͰʉ!")!ì! 9^#V!hͰʬ!")!!!! s#r!# s!$ s`i!9^#V!s#r! 9^#V!h#!% s!h!7!9^#V!s#r!!9^#V!s#r!y!! 9^#V!%s!y!9N#F!ͥ!!% s!y!y!9^#V!ˆ!9^#V! ʒ!")!!9^#V))):*DM! 9^#V! 9^#V! ^#V`i^)o(^#Vxy!DM!9^#V!9s#r!9^#V!$~H!9^#V!$^!DM!9~#fo%*!9^#VBK!9^#V! 9^#V H!!9^#V`i1!9s#rzʳ!9^#V!9^#V`i! 9^#V !9s#rzʳ!9^#V!9~#foʹPY!9^#V!ʹPYDM`i!9~#fo$!9^#V`i!9^#V`i! 9^#V `i!9^#Vy!9N#F!!ͥ!!ͥ")|:!! 9^#V!$ ^!!9^#VX!!$ ^! 9~#foh!$ szŽ`i!~#fo#s#r!y:x(o&|!}2w(!}2y(}2x(!w(! ͥ! !ͥ:y(o&Ͱ!}2x(!! :x(o&#}2x(w(#s! :x(o&#}2x(w(#s!"y):x(o&DM! 9~#fo:! 9^#VBK*y)w(!9^#VX!`i*y)"y)`i:x(o&}2x(`iy! 9N#F!!9s#rØ!9~#fo#s#r!9^#V!9~#fo! 9^#Vͥ`i#DM+s!ͰÉ!9^#Vy!9^#V!!9^#V! !")!!9^#V))):*DM! 9^#V! 9^#V! ^#V! ^){)^#Vxy!DM!9^#V!9s#r!9^#V!$~ʾ!9^#V!$^!DM!9~#fo%ʠ!9^#VBK!9^#V! 9^#V́ʾ!!9^#V`i1!9s#rz)!9^#V!9^#V`i! 9^#V !9s#rz)!9^#V!9~#foʹPY!9^#V!ʹPYDM`i!9~#fo$x!9^#V`i!9^#V`i! 9^#V́x`i!9^#Vy!9N#F!!ͥ!!ͥ")Ͱ¼*)Ͱ!")!!!x!*)|!! 9^#V! 9^#V!$ ^!X!!"ͥ")| !!$ ^! 9~#foh!$ szM `i!~#fo#s#r!y!9N#F!!9s#rz !9~#fo#s#r!9^#V!9~#fo `i#DM+^!9s#r!9^#V! Ͱ ! !9^#Vͥ!9^#V!9^#Vͥk !9^#VY! Y"*b&!"b&;CP/M I/O ROUTINES ; ASCII CHARACTERS CR EQU 0DH LF EQU 0AH CTRLZ EQU 1AH ;CP/M BDOS FUNCTIONS RCONF EQU 1 ;READ CON: INTO A WCONF EQU 1 ;WRITE A TO CON: ;CP/M ADDRESSES RBOOT EQU 0 BDOS EQU 5 TPA EQU 100H ORG TPA START: LD SP,STAK ;SETUP STACK START1: CALL CI ;INPUT A CONSOLE CHARACTER CP CTRLZ ;OPERATOR INTERRUPT? JP Z,RBOOT ;YES, RETURN TO CPM CALL CO ;NO, ECHO CHAR JP START1 ;LOOP ;CONSOLE CHARACTER INTO A MASKED TO 7 BITS CI PUSH BC ;SAVE REGISTERS PUSH DE PUSH HL LD C,RCONF ;READ FUNCTION CALL BDOS AND 7FH ;MAKE TO 7 BITS POP HL ;RESTORE REGS POP DE POP BC RET ;CHARACTER IN REGISTER A OUTPUT TO CONSOLE CO: PUSH BC ;SAVE REGS PUSH DE PUSH HL LD C,WCONF ;SELECT WRITE FUNCTION LD E,A ;CHARACTER TO E CALL BDOS ;OUTPUT TO CPM POP HL POP DE POP BC RET ;SETUP STACK SPACE DS 64 ;40H LOCATIONS STAK: DB 0 ;TOP OF STACK END 1N9!776 2))-27<2\ 2727:r247ʹ/:2/7*>"07:T2Y):/ 2:7!85!~#)ͭ!/ !5#:7 #-1$0-|:] (͚#":7 q/:7!027271N92[115JS4{r0lg$=& p .  = VBq$R::7qC!6͉r 9"I!.   "#5 D"#>!W#/  !6{͜08: r s[ MC#!=,~0+;!6͉͐r$($($ ; G%$-%$.n/t%f !6͉{r4  $|K D̈́0 0//G̈́0M:G D̈́0/50502:;3.#:7#:7:7( !(6 0h2!/:7_͋):7_ ͠S427:7 C4:D~0 0̈́-d/[[:7o&?5^#VA/i/ ]]] 50:7( 2C4M >>>>>> >> > 27*I&)))):+ :7_:7 /27ͻ25:!Z75#~T]#](O!Z74^q{8>2^:Z72^ɯM͜YN(  !s(!!s ( (#OGyHMAʗ=ʸ=l=>B2!}ր0>M{(2(. (M=(Jy(!w# 0@%0u0:0u0! ! >+Z0 Z0Z06}րM͉> BKxbk~08 :0 #x0Ex(<($8*(8 ,!'ͷ 8$!ͷ 8!dͷ 8! ͷ 8 !ͷ 8x70= DMOI Z د 7!+ FNy(-B0 ##>1B84 ##NFy(>0}0B> 6 #= 'd !/7 <2!72.72)7/2(7>2 72'7:2+7:2*7!5 0!!7k ͜ B(WD(MP(FL(/T(5*(^(<@(G#(d=(x"* K  G 2 7 G 2+7 82*7~ m~!wF b 8](Z2'722.7^)!F#*T7"X7*P7:)7 :'7!'72)7!!7n(O^ R+ a *T7[V7""7S$7!!7~(2&7<27:/7Gn 8s*"7) ;͆ %(&:!7_(> ͆ x(( x::7(n 82>2 7] ͆ [$7{z0> ͆ ::7O:/7( y͆ !~(˾F#! 75Ÿ !F#*X7+s)2:&7> Ć :!7g(s)!6 ^)!&74 N:'7_:(7=  :'7O:&7!!78˶ :*7(G!!7N(I:.7G:170>F> ͆ = *,7:.7G> ͆ :&7!)7o&# !# :/7G7nnnnn (.(:7ȯ271 >27:7W :7(>27 !Y):!7W >^͆ @!!7v ^ 0O!Y)(P!U( 4>_!0F#+>_!~ F#˾_( :+7G> ͆ > ͆ ::7Æ x~͆ #x^(#!B=:E !R9"P7*.%"V72G7<2E72F72I7!"L7"N7"J7*P7+"R76 *V7#"T76 F#^#V## ^#V##͜@`0@a{_:7>G:7x= :HG x BDM*P7DM*R7*V7KT7KR7*T7++*T7+*R7"R7#"T7*R7#*T7"T7+"R70) > 7> Q ###7?(#+0S> *T7x 7?z 7*V7+> ##>4:D7?-*J7+"J7:F7(=*J7#"J7:F7!D7(<:D72F7>5:E7=(,?&!G78#$:E7=:E7=!J<:E7!p<:p2E7ɯ ~#(  > 8&T]~  > 8 > # x SR7*V7T] >0~ ~+ x ST7o}p!76*R7#w"R7p!76*T7+w"T7!"J7*X7#> *R7 *J7"J7*X7+> *T7 *J7R"J7!6 0M͜27N(Q r0M0 W>!8>_!z(N #= ~(^6#DM!BDMͭ{(I: :s#K!T]BBDMN#!8:7N(Q +~#8#+ͭ2 !!>ݾ8^R8#"|6#+| !"!!!7FM0:͠27!7F0G!(^#~#O~˾(#~˾Ě>1)!5 0(cO!5 0M͜Q r0͚My( !862*( 08 0Gx297ʠ!8"77>27!:~2=7~$>282:727M!76[(+](.>(5<(<_!8~#({ #"77!8"77ɯ27_ͪàl *77++++"77>>2D:7M_ )ʺM>27:7% *77^&*77^#"77~< :7 !97~<(5( !8"77{կ27ͪ͠!~06!~0w4{:: /!=7$!~0~62;7:;72~0!~0~62<7:<72~0 0͐-d/!A/`i6 *V7#[P7RB|6 *P7[R7P*T7[V7P j6 :7>Y >N2^6!T6A/50C4{z~# (8:7n/!/0-C4*P7͎!"J7C4*R7"X7*V7ͲC48 *T7>ʼ8 *P7>ʷ,>2I748& ) 8&l:F7=G:I7͗S4ñ:D7!F7G:I7͸S4ñ!5:/7(:7N !5 0I :7N(:/7(_jb x( #DM|z('(^+ (^+͒ͧC45L2,4͙:I745L2^+0*V7~ 4ͬ=*78&!I7"8$ ) ( ~=!J #+"R7͝ ( (4͙8&=!p4:E7=4pͱ4 ) 5L2~(6 +#"T7͊ ( (4ͬ>2I7:p=!J!E74 ) l)(l),)( l),)) :F7"),)  ("),)( ) l=ʢ ) ʰ"),)( ')1)r"),) Ͱ"),)Ͱ"),)( ')1)r"),)ͰC4:D7=_!@8<_^+ڑ‘[R7SX7Ͳ:I7C4:D7_=!@8_,||[T7SX7:I7:D7?? (E(B(*T7"X7:[8! 7_*R7RRN:8; :82TT] C7( | } ; K7n:82B##y27( >  ++~#( ( | } ; K7t:8=G8(!SÜy++*T7~( (~6 ͊͒Ͳ! 7FC4!8( O#> C4![8K4O#> C4K4y+*T7~( (~6 ͊͒C4!5 082 72 7>2!~/ $#~#/(͜I(B( 7>2>2 7~#(x28*R7"X7:8( GͰ![8~(G#~́>2 7!5 02[8O!>27U:8:7IJL8%(L0:7C4>27L:7(ͭ:77: 7ͻ2w8 ( :8&Ͱ:7?:77͠D̈́0 0!6 /5D̈́0 /50 7* ͻ277_YN ! 7ͥ$3.: 7!6 !64o-8&!K8#~=!p4::~%%8&: 7(H!R +y0+~:J/<%!5 0:I7(@(=#(X (1a8,g_:R7!K~( 0# +s{!QR K O<K8K a8 23.!5 0:I7 8(!K(#6( T]#H23.!6͉( !T (Y  ́O4 %0%K4_?8 O4I0{́:E7!p4 { À&: 7> ́K4 :E7!J=!p4: 7Ĝ:: 3:7N( ) ͬ584l`: 7> ́4> ́:F7!D7g4G4ͬ5: 7> ͔> ͔G4::O4*T7> > K4:7Ͱ27: 78 ::(:17=e &Y<% ) ll͗>27*T7+"TlnprmlntmplnsecSysvec_$MEMRY.begin_exit_Croot_ exit_ getchar_ putchar_ fprintf_printf_format_fopen_fclose_flush_agetc_getc_aputc_putc_begin5*  lnprm lntmp lnsec sbot errno_ _mbot_ Sysvec_ $MEMRY .begin $_exit_ _Uorg_ _Uend_ Croot_???????????!z"{zs# y¨*"s*"u|äcroote Croot_ exit_ getchar_ #putchar_ csave movmem_ .an .lt .eq main_ _exit_ bdos_t!!!u!:o&vs! "!DM!" * wʦ `i^! x¨`i^! xʠ`i#DMì`i~ʦ `i* #" +)s#r`i#DM~ʣ `i^! x¡ `i^! xʠ !`i#DM+sã ëï!* yztzt!{DM xʠ! !{! DMà`ixʠ!DM`it!9^#V! xʦ! !{!9^#V!{!9^#V!vfprintfAPP fprintf_ csave format_ aputc_q!9^#V"! 9! 9^#V!rq*! 9^#Vsprintfb  printf_ format_ csave putchar_ .eq .lt .ng .swt .chl .um .ud .an .urr! 9! 9^#V!sͮr!9N#F! 9~#fo#s#r+^"|ʮ*%tʡ! 9~#fo#s#r+^"æ!!9~#fo##s#r++^#V͠ "á!!9~#fo##s#r++^#Vͯ"á! 9^#V^#V!uʦ!!9~#fo##s#r++^#Vvͯ"!-*+"sé!!9~#fo##s#r++^#Vͯ"á! 9~#fo##s#r++^#V"á! 9~#fo##s#r++^#V"áwcd su x*~ʮ*#"+^`ixáë*`ixër!9N#F!! 9^#Vs`i y0! 9~#fo+s#rs! PYzDMª! 9^#Vr!9N#F!! 9^#Vs`i{%^! 9~#fo+s#rs!PY|DM«!! 9^#V0123456789abcdeffopenhh errno_ fopen_ )fclose_ flush_ agetc_ getc_ aputc_ 3putc_ csave .uf fcbinit_ .eq getusr_ setusr_ bdos_ rstusr_ .sb .ne .an .swt blkrd_ .ls .rs blkwr_x!DM`i~#ʢ`i'DM yʯ!"p!ë`i##! 9^#Vz"Š{ʪ!"p!*Š{ʬ|"Š*Š!& s*Š}! 9^#V^!r{ʧ `i##!~{ʥ !"p!!I`is#r!"Ήã*|ʣ !`i##!~`i##!~{ʥ!"p!! `is#r`i"!!# s#r!% s`ix!9N#F!"Ċ`i*{ʤ`i^#V! pͭ8"Ċ!"æ`i*Ή{ʦ!"Ή!& ^}`i##!~{ʯ!"Ċ!`is#r*Ċx!9N#Fͨ "Ɗqʤ !*Ɗr"Ɗá`i~#fo+s#r!ìs  *Ɗx!9N#F`i*Ήqʭ(!"Ή!& ^}!!I`i##t!p"Ȋ|«%!*Ȋ`i#~#fops#r*ȊuI"̉`i"Ή`i^#V*̉yʫ,*̉Ipv`i#~#fos#r!I`is#rá"`i~#fo#s#r+^!rx!9N#F!PYrDM`i {ʤ2! 9^#V! ͣ3{ʤ2!! 9^#Vͣ3x! 9N#F!9^#V`i~#fo#s#r+s`i^#V!Iyʯ7!ͭ8ʦ7!! `is#r!9^#V!rx!9N#F`irʨ;!`i#DM+ sê9*&^}xʠ?`iv! *##wʠ?!!#t!p"Ȋ|«%!*Ȋ`i#~#fops#r*ȊuI"̉`i"Ή`i^#V*̉yʫ,*̉Ipv`i#~#fos#r!I`is#rá"`i~#fo#s#r+^!rx!9N#F!PYrDM`i {ʤ2! 9^#V! ͣ3{ʤ2!! 9^#Vͣ3x! 9N#F!9^#V`i~#fo#s#r+s`i^#V!Iyʯ7!ͭ8ʦ7!! `is#r!9^#V!rx!#! ~(:A( ~w#6+> w+w+w+T]+y6.OS/ !65( > /:6O{/...  y!6(> /I00:~6_ ͯ3:g6( !5)0͍2͚#! 5#:{6 ):\)\͎)< ʹ#2͚#!4#:{6 +^)I 8*6/+ 0 [6"6#+ʹ#v)>2g6ï3:] #:g6 !5)0͍2^)*6"6*6+0*6,*6+B2g6v)͚#!5#:{6 $^)*6"6*6+O( RBK,0 *6+Bʹ#v)2!\6 :~6:z6:e6!6\ ~2~6_#~2z6#~2e6 ͚#!4#:{6Ĵ#1$3->2g62)0> G!~w#!~[( x) 2e6#~W( A(N 2z6!"6:z6N(>2o6:<2x6:6= *>"6 !"62o62x66. )_A8[0 nˮ >2g6͙û3!95)0: 263-2ͯ3!x6~/w!=ͥ$!V6:z6N(:= !67r-!:ͥ$::!P6 !6/r-!n6ͥ$:n6!\6 !6=r-!m6ͥ$:m6!Y6 !6:r-:z6N(-:6=t%!A5)0:6 8(O:68>26y266.2 :z6N(:6=t%!A5)0:6 8(!60266.2͘%!66͞%͆%6.:6=!_6 !6@r-!66~(6w>:6G:6 ͮ :6=G ) ͙<ɷ ) ͸= ?&26) >GY4 x!JG>8 0x+6 :6!64ͭ%K5) - :=( ) (> ͮ ) ͙4%(8 &x=&͙=:6=( ) ;(8 &a($&&J(8&!6( ) ʭ' ~=!J ͮ) ͙8&% ( ( ) ( ͸͸'&') FK) ʹ-(R͙͸|(>$& ) ʹKK6) ͙> ͮ'͙|(:n6ï3:=(1|0(̴Ͱ 07͙ ) \( (͙K) v( (K ) ͙ )K ͸ø {2):6 ) (J) ͸ K) ͸8&Ϳ%!6:6=G:6)(&> ͮ1 Ù*6~*6~> ![)!X)!X)!P)!P) !T) ))~ #,;:-.?!  G͊0>0!=6/I0͆4:G2G͊0>00I0)*#^#VS))r+s[)*#s#r!"18)>0ɷ(%!B˶#˶<(!()% :12z60T](\O>: S++~08+:0'0_+~08:00W_+0^{2~6 }(~ (A8F_>8@{<2\>:> +#(]#(d.( (@8t[(B*(  > 07ɯ(;. ##(/ (8C[(*(~ #~[ #~( &+ 2z6!e2+6+:] (!+ .,;:?*=[?(#&+2z6ANWɯ2h2|2f6/2w6\͎)< 7͎)\͎)+0!:z6W K~ >-w(n :w6(d/2w6~ ~ (0˾> #wz ˾~ +~(7 2w6!!T( ~ 8~ (> #wz#o+X+2f6 ):\)!] ˾#:e6(-!\ !\!b6͎)͎)\͎)2w62h2|\͎)<1-x&-!4!Y)(jw:z6W <~ ~!8(" ( ( 2w6~ >2w6:w6 ~#\͎) C!:w > (|,},,(6#\͎) \͎)<7:G͊0!60ͷ-!M6:z6N :6 !J6r-$ͯ$$$Æ%:G͊0>0/I0:;(Ê0!Gͥ$( /ï3/3-ï3>0 ͊0 0͊0:\@|0:~6 8 >1|0 0|0>:|0!]~ (|0#>. !RELRELSUBNEWLIB $$$Copyright (c) 1984 by SLR Systems, Butler, PA**CHRIST is the Answer**T"?D"0lw@۽! d 6X^F@ 4 0{t bt b90 GU}؀p ` BӐ6ʶ7Ȑco|x4PP B7`" &槅BXaXᧅ8:@#6<ҹXز@2@v s0aDgs0B xaPPP_ B o_PB۽!@*47β@:9;ʐᧅ" od_! s,B,!2@:ҷ17:ҷܐs&ķ:@@"ҹ6@B<9;ʐU Pq`o$ 0ňD1$lt F$؀P& &< 06B,X$^x &ӐP@ &@"q" 0|@V@0\>$0Xl\$|pB &0 &@y_ &PPĵV  & & 1 & 6^ 0zB aPPP_ "244槅"槅x"lVTa >k`"ːDD$!2@޶ڰ2@7ܓ87@#6 ز@'¶ܳ!`! R<EL ## B J`_ 0|0|d9 ۩ 2 d] d  D\ K͂" XBaF lF'l۹!"2$D Bawd &17@89ҳ:@@rhļ@)@ڹ@)6ʰ@\r3H3Df&ۭP6TTT|d"FaPPP_ BD 槅x$CD: "l<{Tl>kdl; lBlF?oD" B"#TG"۩0Ϳ P!$P wT?z oXb TH׌(  @oegT2/F+z>kaB; < |$Jᧅl9VDlD>kd""TTTܲ@*޷@&7dedT1$? x@D"D" ۑ4@T1$|D1$ד dr EPBT1$?F oBB':@@;62@)@#9ڰز@$77@#6 F &CuHV?xF t@t dY 䳐 ld B .@B ?@_|dB 汄T"T"0s,&"b ' ads8(de/@dqD o}x kkkkJ|kk6>Pz\PzPzeznP-B/օ|d ] F Al0͛d: d 槄0Û casߙJ濄D: ?xa[": &AA}F?@0" $P Hd;   fz &`ːj枆È ͇Po`0C B `YB24B24ز@9:n`|TFV"V*Vq &׹F9BAAAAAXBg`ˀDD !P򼑬 24_@&x𼑬o`0 {TT\ !D\  ) &˄Dۭq*lBօ*@@"")R>ib" ᧅᧅ"I"3cclFlBI"ZT>kdF?P$F$ ?\ &AAAB'FaBI"e ۭ}oHZŅHB?zy2"& ", x>lFB@}ۭۥ}|} Au@@ ` _ "* o,B䈴@#6ؐB?o|F 0y ķ:Bloo4 B] _ᧅtۑtP槅l_Bօ"9ʱ@#6ؐ|d ltPzo<x"  P[dmd  o, 2 orz "24 T2 o Hx~  X "( o z>P>>̓0eBP^'R"I"ccc懅BI"9޳@=@=|d3 ̇0BBI"OiP?P_ |}%D =Zm0xt3 b D\ DT @}lFlBI"BI" 2 " A_@B3 P@ & `l0\6ұ@ķع@"372t<76@ķع@)397Ʋ2372@7t >>͇p$"3D)FVڑD o z>P>>̓0eBP^'R"I"ccc懅BI"9޳@=@=|d3 ̇0BBI"OiP?P_ |}%D =Zm0xt3 b D\ DT @}lFlBI"BI"DIi&va0AY,9}A=MQ~^j*0 ??"0 a@`!@Z/g&>,402wŁ O`! l!N0B28dv7 C qo`bqC`c`d `LPT b`} 1-%(TW }A=MQ~) WWT9} 1-%^N!Pm2L'3 @  p@A8 Q^ *MSit2!Z) \5<X5X ??"( D `4`2w"`voo0!1"]S 0~ <,Y P0?`~I `Bvݓ/PpC-PpZKBlT " } 1-%(TW }A=MQ~)WWV9} 1-%^I@' * Co:@P$@ (d,E!Xh:SrMSqi7 a9D3akheH8'-1NF@s1'n 0n3*I9A ͫ5 K@! :fԀ:p00vaiF= "-HrZ 5h]/U\,7cٮ7EXn7/d5}AI~^piO;J}hW1 :fԀ A +>~|#94D4@20KE3\oD=, K@P QlCK@'q 2 5CH@'B`CF'0 ҟf0@Ybb7A LN(v lc~rvɜT U" } 1-%(TW }A=MQ~)ZWWT9} 1-%^E'^2 ^M:3yc9@ (de !Xh:SrMSqi7 a9D3akhFSimcr2 !Lf:'# IA*I9GG&m5 m5pq f7i# %XFDJ9ZVihBc(/'/  _PRE_\S f0P Vj@E1K6?X 4iX7 b``؅& CDl! 6xc> f- ;J~@g!8a7р0O180vN[e`|&pT Ub@} 1-%(TW }A=MQ~)WWV9} 1-%^Na@22BPm2L'3  P@A8 Q^e x@T4L e9 x@C6fa9s4e6NgC)@m7 @e6NLf:'# rcr2 $s1'n 0n3*I9B Pd2Ȋ6A {6@`' fԐiR@L pʅ4wGsH"C> iLrXpDP&_POST_2@/ @+ͩ   D=, ڒ ڒ< 6?B3614`2w0ҟfP0@Ybb7A LN(v lc|(rɜRb} 1-%(8TW}A=MQ~(WWQ09} 1-%^&qa9H@ @  P@ !Lr2 $` $)t1L'A o1@('M&4r7 9}AI5~^pp S2!@R D!e9 hE^a6}eɃ9}AI5@K@@'1ɓ)".)o8??,(qp?$`0 !;anɗ@(8!@ ⊀} 1-%)tTW}A=MQ~(WWT09} 1-%^e1p0 al7b@  0@C!!j +Mc5f2@D2g#Ii7Cy@L7r j <&B@ ) S @ C7Mq@D0 "t "o7F`o9@ $p:C (GA)t9͂t B@ y0id'C(@  !f !ͦ !NQ@ K@ ??!!Q8!X!%B8%B!"9"T%B9%BI!99!@M!@9!@E!@@!@@!1E@1E!!@@!@!!H@!HT%&A%7IAMAE &A U0 DA D!YBY!%C%!'!G7'!GT'!G7'!GI%D%#%EM%DD%EE1SD1SD!'!G8'!G!E!1!E1!T WE WI%EF M'!G9'!GE'!G9'!G'!H9'!H!@ !1Q@1Q!@T1Q@1QI1Q@1QM1Q@1QE1QA1Q1QA1Q!1QA1Q!1QA1Q!1QA1QT1QA1RI1RB1RM1RB1RE1RB1R1RB1R!1RB1R!1RB1R!1RB1RT1RC1RI1RC1RM1RC1RE1RC1RΉ1SC1S!1SD1S!1SD1S!1SD1ST1SD1SI1SD1SM1SD1SE1SE1SE! WE W!F! &F UTIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIMEMV@5@;eè|i< Zd52hAAİ0ovA{ va 'Zd{LPA jHWWv7 C qo8`bqC`c`d  LNb} 1-%(*TW }A=MQ~(lWWV9} 1-%^ @Z 3rD"y4@  @@H2Nr/E㑀i:3rD#y Sn2Lh7͆9@S<ΆSiX gSi1 9}AI5~^ppM$2T@S8L@0'4[h.Fi#'YVrx@ ``uK @ 4fq 8@ 3,Y@ vY@C9}A=MQ~^:TW( _PRE_@F#20FFpv##nQ H Dg N Dg W Dgi8I20N"3N"3&^+4 =D<;fo)`pu@v!(0gŨ{2gUSb} 1-%(TW@}A=MQ~(WWT9} 1-%^ @Z Saa)͢@  `@ $L'C@e7Nr/E㑀i:Saa)͠P@ cr2 фd9E@G t: @r j  M$2T@S8LAn:NBɔrt2yh)e9Ȁ@  @ '4[@4YPW+4p]YP S0Xe/'/Pr jA Hu/ &  \,CA'qPTb18FFܢ"8@$F#ri@d#8id#8;H|C 1pda  Dg  Dgi;H|/fKq@ju6fPo`$f@+4S>S%>fLU} 1-%(TW@}A=MQ~(WWT9} 1-%^ @Z s m0䂩@  `@ $L'C@e7Nr/E㑀i:s m0䂩@r7A@($L'C@s2bqo: 9}AI5~^q&B@ ) S n:NBɔr)e9 q 㡔 "O"@0HP?=YGR@"٧P88:4 bYS7 fO@j6/,9}A=MQ~^:TW( _PRE_9}AI5hd:`;pNF#20FFpv$U'1CJ'CM'C)v##hd#8hd#8;H|xC` x4[S0f73xp7` 4YP fL(fOH!(0gŨ{2gUT} 1-%(tTW}A=MQ~(WWS9} 1-%^ p9 D#Iдe9ţQd  P@ $L'C@e7Nr/Qd 1 3X4 k"N`I*"x/ &`&B@ ) S C7#y@P7a:Dy |iᰀ<47j0N`"0W&_POST_$!@hd!N C ;`$Ux`>r` Őn0'䘜P;X'l-2<8LU} 1-%(TW }A=MQ~(WWUP9} 1-%^ @P!FB)؆ @  @H2N@1PE7'#ye7 & n:Ls:M1H_PARM_@$ ЀP* g) @$Sa:Dy E"u:At0 @(! Dm0d #@ %1A `|i|i aKT@SLqCx-n?dbNwYdr` Őn0'䘜P;X'l-2<8QU"`} 1-%(*TW⁠}A=MQ~(WWVp9} 1-%^ @M4Fg2@  P@HF"u6 "1c:MTi6Na9PM4Fg2sys $x@4zQe2ذeT@cKLF>@4ŃL@%P( ) qb'iZݖŸ"0bw0 P b,9}A=MQ~^:TW(ChdɃWW `ʨM1clXOB`@> ` Őn0@'䘜P;X'l-2= 8Tb} 1-%(LTW }A=MQ~(nWWT09} 1-%^ @-%2(Z &Fn  @@ +JdQi p9 c!YHC@-Ά p$ b@=3TSb} 1-%(TW }A=MQ~(WWU9} 1-%^ Sa9 !d44`  @H7NfSit2Qd %hZ8FP@( !r6Nh."SIe9 @r j%;M>?@0|i 6 @F(?{MqbAq9WA # /M^i L/d5}AI~^piO3y` ,d1@G f &';61N vLB9A2dQT∠} 1-%(TW }A=MQ~(WWT9} 1-%^'  Ťye9@   @ %O'@8 as@c6fh(@   9}AI5~^+>m?s`a |i0<3iM煸"o|d1NaL<0l<6̘9}A=MQ~^j*0ҟ9f0@Ybb7A LN(v lcyrdɜRVN " } 1-%(TW }A=MQ~(hWWR9} 1-%^'- @ @  @@ %O'@4l: M&45 FFIRST IF YOU HAVEN'T DONE SO YET, STOP RIGHT NOW AND MAKE A BACKUP COPY OF THIS ENTIRE DISK. Be sure to include user areas 0, 1, 2, and 3 in the backup if you use a file-by-file copy program like PIP. Put this disk away in a safe place and use the backup as your master disk for all following operations where 'this disk' is referenced. SECOND Use UNCR.COM (or equivalent) in User area 1 to uncrunch all files whose file type is of the form .?Z?. (Example: ZMAC.CZM) Extract the files from the .LBR files in user areas 1, 2, and 3 with NULU. Most files are in compressed form (????????.?Z?) and must be expanded (uncrunched) with UNCR.COM. After uncrunching, the *.?Z? files can be erased to conserve disk space. Alternately, they can be uncrunched to a separate disk. UNCR with no arguments tells you how. Extracted and uncrunched files occupy about 2 to 3 times the space of the original LBR file, so plan your disk or directory usage accordingly. THIRD Read the Documentation. If you are an experienced programmer, you will be tempted to try out ZMAC/ZML without this step. Be forwarned that while the Syntax for ZMAC and ZML are similar to that of other assemblers and linkers there are differences! Save yourself some aggravation by at least scanning through to find the differences. FOURTH These programs are supported, and there will doubtless be updates. If you supply the information requested in the file REPORT.FRM you can be assured of update notices and (heaven forbid!) bug reports & fixes. This is also your opportunity to suggest enhancements and report problems or ask questions. Mail the form to your supplier, or to: A.E. Hawley 6032 Chariton Ave. Los Angeles, CA 90056 If you prefer, you may also send the form as a file (or message) to the Sysop at Znode #2, (310) 670-9465 via modem. This Bulletin Board is the central node for electronic mail distribution of updates and application notes. OPERATING SYSTEM AND COMPUTER REQUIREMENTS All the programs on this disk require a computer which uses a Z80 compatible CPU and runs a CP/M compatible operating system. ZMAC and the other executable files on this disk will execute in an unmodified CP/M 2.2 operating system. They are designed, however, to take advantage of ZCPR3, ZCPR33, or ZCPR34 if one is present. It is highly recommended that you upgrade to one of these for best performance. ZCPR3 and ZCPR33 are available in the public domain and are found on many Bulletin Board modem dial-up systems. These must be manually installed by modifying your BIOS and the image placed on the system tracks of your boot disk by SYSGEN. A much more convenient method is available from your supplier: NZCOM. NZCOM is an auto-install operating system replacement that includes ZCPR34. The first installation usually takes about 20 minutes, most of which is spent reading the instructions! For special requirements you can order ZCPR34 alone for manual installation. In this case, be prepared for some very sophisticated 'tinkering' with your operating system! FILES ON THIS DISK The files on this disk are in four user areas. If your operating system is unable to access (log into) user areas, then you should use PIP to copy the files from each user area onto user area 0 of a blank disk in another drive. User area 0, where you are reading this file, contains the main files that comprise ZMAC, ZML, ZMLIB, and their configuration utilities. The documentation for ZMLIB and for ZCNFG (the configuration utility) are also provided here. Files with the .CFG extension contain the configuration data for ZMAC, ZML, and for ZCNFG itself. Don't change the names of these files; their names are embedded in the programs they configure for automatic reference. If you DO change the names, then you will have to include the new name on the command line when invoking ZCNFG. ZCFG.HLP and ZCNFG.HLP are for use by the HELP utility. With HELP.COM in the current directory as the HLP file, type HELP ZCNFG to read the ZCNFG documentation. User area 1 contains the ZMAC/ZML manual in ZMACMAN.LBR. The files in ZMACMAN are chapters, index, table of contents, and appedixes in WS format (after uncrunching). Don't try to uncrunch these files onto this disk! There isn't enough room! Instead, assuming this disk is in drive A and you have placed a blank formatted disk in drive B, use the following command: UNCR 1:*.* B0: All the files that have Z as the second character of their extension will be uncompressed and written to the disk in drive B. These files were prepared with WordStar, and can be printed by asking WS to print the file ZMAC.MAN. WS, and many other Editors and typing utilities can be used to view the files. A printed manual can be ordered from your supplier if you find that more convenient. User area 2 contains a set of HELP files in Z80HELP.LBR which you will find to be an excellent source of programming data for the Z80, Z180, and HD64180. Use the techniques discussed above to extract and uncrunch them. Don't forget to also copy the HELP.COM file to the drive B disk. To use them, log into that user area and type HELP Z80. The HELP utility is self prompting and will lead you through the entire suite of .HLP files that make up the Z80/Z180 data base. When you have seen enough, type a Control-C to exit the HELP system. User area 3 contains DEMO.LBR, a collection of interesting source files that you can use to explore many of the capabilities of assemblers and linkers like ZMAC and ZML. These files have been released to the public domain. HELP, NULU, UNCR, and ZCNFG are copyrighted programs which have been released to the public domain for private and non profit use. They are included here as a free service for your convenience. Z80.HLP is copyrighted by Cameron W. Cotrill and is included here with his permission.  source files that you can use to explore many of the capabilities of assemblers and linkers like ZMAC and ZML. These files ha & 52w0u42w֐u442w`CO'q J 52wC\'qpCX@'qа܎j8d> 5L2wq @|@hd>4p2w@; * \\C['qCq  502wd H ;J|@g!8a70O180vN[ey&pTЌN "} 1-%(nTW }A=MQ~(WWY`9} 1-%^C@H2NGCt@  0@S! GO) S b2Nc5ABI'a\1q`o2 #It &w2 9}AI5~^p f0MAda9C)u6yh c t '-ao,@ '稪Ȩ>b@l~k0mib14VmX`ahh0 vnW }:^/0ڰ  3lP6#=aZݐ8yd j@42wp  \,CB'vL/ @0 xX`K~3y'k텻&^p!2gVS`} 1-%(TW }A=MQ~(WWW9} 1-%^DyL@C6frBш`   @X)NgC)'DyL@c6fi;NB1 IoM&㠀Bш` 1ͧr9 $xK@tHk 64D5;Vx>Y3j@* ;ܢ|Z\6eflCXP@8Y O) jHWWv7 C qo8`bqC`c`d  LVT"} 1-%(TW⃀}A=MQ~(WWT9} 1-%^ #y@8 `p2 I$@  P@X2d0Dq@8 HI'3akA$t 0 ! f 'C(i6D3n3H@a2By@r7Nq@r2#qgLC/ &@#@f7ZIB1  I$a2FS@o3 @( HX 7C -0 #) 9ΧCI Ci$)K@(2~R[͚9x4Z0ڰ}H1+c6a<Y!`8*c9}A=MQ~^%*I CC'u@!4PD4,2wd H ;J|@g!8a70O180E  RELRELSUBSYMCOMCIMHEXCopyright (c) 1983 by SLR Systems, Butler, PA**CHRIST is the Answer**TD?DD۽ؑdkBdBBWd>ƀPPqPPj  ׄ0( À04Ld$ Oay󀛱k"4Þ[/F+B':@8زڲ:2 _DBkDBgUz.PB"ز@'¶ʟUBBa敋TB>{BDB>QQ&lX0 B@DB>4s"o>*soa9TT>B>)`n"o> s.U"o>Xe.B>lT{B"DTT>B>)PXPHPP | J@z tD0f"o> s.ۭBD9FF !dDcBD ~"$TD8lF4lBDtD.f gDD, d0TB>@ۑkk 0Uz0"KBAAAՁ.{B XB *'"@*DBo:R.ހ&9ҳ7@b`$ۭՐ XۥQ HaBBBa6PPP_ |dU> H_=: "BXBAAA$dU>6F쀛 )$DBcs_B ډdB|dOB|d@&ķ:@@"ҹ6@T>>k,DNB T>>k BT>DqdBdV>">XG_FFFBB'F#Fkdd> a/F+۩5gd@ 0kB |!2@"k" & 2tB $ƀPq& &< 0X,^$@ &ӐUP@ &@ƀ0ztkBPT>>k; ">XBWoPPP_ ">sxLl0Pt`F敊|d@ۓ~_ 5T>B>__ܓ87@#6 ز@'¶ܳt t &  |!0tpۭ4XN@F^>6ppp`RRk0j۩Lt<:2B|!2@$<@"ҳ:!LcY!pYR<EL ## B J`_ 0|0|d>۩c 2 dvBdBTJՐB BaQ">lXB@?oDDfB 6F ;89ܵ9@89ҳ:@@rfļ@)@ڹ@)6ʰ@\r V@&!@@@)&c`Nfk ۭ__P6TTT|dF> aPPP_ ۭ_.P BT>@2ހBM ;sڑ/F+۩sVHZl(s"osBPpF?p` l"D 4?Fs  s4n P8_0DT>H׌ ( 2c @oeZT>2/F+w>kaހBr. |$t@ۑiB <.ۭss_ڑVQQQ&7ܳxdGDBY@wBaPJC YYVVDDD5FY}@Jo~ p?@_f,Y$ 0tBc f,אX0m* oaKTD(DB >)VVDB栈CDBY0lT5F?T5F?FkF@$"B'a D5FDB 0jD5Fd""aB"X 0V?D> Yo}dV洆 |0 ,k!Bk k k k  kþ g2/F+\->-"洆TBV洆q] qDB `pVcD \1 \$ #-6ITS>DS>ӈ0w"6 ӈqDN{!|dN" tV>ۙV-0`"t6 w0[|d\>B>8BZ>Y ӆJ浊D`PJ@tB Y\9(ׄ"aB"Y$P "HdB?F`悆͇PYYoBz,z BQB?F3ތ_ (|?|sVVۑ_VPB`PZ,<76@'IJሆːj0 䇮$_ZP\ꋀf,*>!Pו(qh֑hAh ԑD>0V_Y 0xpp*ptppPpmpPjzHkFkT߆,ز@9:  [0TJYV ;)0LpXp`p͇PkVY0@ߙV]VqB`FزBDDDDtBە[ڑD5F朇PtB@t_BPPP@0tBc f, אaPP0 yԑD>䛶,aYdB ԑD>;T>ԑD>?@FaPP栈 洆'woy洆 }\ ʇχ.8E  +   l >(C*  P|*wo&**kD^B{|*}pppo\ފoBBFP|***kDB{Bk ޶ڷ7Ȳ̴ܲPr"BD"B@ؑBaB}@B=05BdBqې$BBKP' @ TMB>k."aB &Cu0k ۭ9DNB=g#F9BaBa$$BB' X/},@BaB?Fk|Pz?F/F+kMHDS>BB?j ׉BBa浊?|PlF/F+_ ?$P(  *2b?oaD k*朇dBzelzev0pyucXeimq`ab|nBށohB4" fڶ7B?" ޶ڷγ9א2`ftBc ,V9VːXTB>D> BDB">א2F8TB>kdm*B ۥF/⑬8YTB{BnZ)p/F+>k9Vb .6ұ:16B$$ !2@а7m*B[V[0 T{Bn)pb/⑬8@qۭo אKjfy T>F9F&TBD>l ,>GDDtA@sDDD>TB2oDB@PP@ۭ o`Dt-&BډB|d-B)D{B>^ޑDBDB>Q B|d-TBQoT>B o"T5FD5F??f,>!ÁP\TB oξ^FT{B ۭ2ni 朇 DDtA@sDDD> kDDDBDB 9(󐛴*(@)@@"*)@|$g<@ & &"7Foq@108B|B/t|Bk"|$ ~(o$TD>k .ۥ(PB)(/TDD B>?lobB\>?loB.BFTBQoT>P|d>tkBT)T C*|!$ * ~ ">( }_ .C* BB\0B`F\朇PtB@t_BҊ(ۑTDPTDPTD2BF\ n䛶,[F[T>FV"V*Vq k ׹F9B4,AAAAAXBC>`ˀf,>!ÁP\|@dC>(BH>BBBjBBE>BFBPBT> 0BnZx:勄/F+B"aB }F@/F+ۓ D, 0en ՐoՐۭ(h0T>uB) ,#@)B0 .s. $"7F3.ċ.P.xċ.P..wo @ &g?o_PF?P$F$ ?\ &AAAB.'Fa$@||$ܹ6ʐܑ0D 242 P)B>DyB0DxBfyBxB_PPՀ0: ">0۩ۡᐓ򋈽.P"o> sB 0 .䈴@#6ؐB?o|F 0y ķ:BD/0fT>)P۩c ِ}d. ofwz+ 2 2 2HBP 2鐛22X "`F ">( oz>P>>̓X 0Z ">( otۑtPTZ>"́@62́@|dg2&Ð:@ È 4`&& ׈|$PPP$F@ &J"rBm|h8t &|$/%7#1æ9Š9æ¼%7%6àũ8ç:';"ʱ]Pz@ ξ^0 MFDS> pwu} pmXB4Þ MlHFF9FMMVV?~lDS>`4a44664c4j4|46444444U4Y4\444)PBB_ _1_2oYξg>EUξW)"P22Ro "5)`2.磓odxdB6<@8ׇ-@:@ܳ򍛆.@H@jYoaᴆ8ᴆ83Z@j#o+P/ᴆ8Z@sb{ᴆ8B ntV>@8p h`f,V&Bב洆ᴆB)8 #7ҹ9Yo8? YobqtNPB`N?A<h 4 4kFFF Sa f,͇TNVVT{B0`p۷0w8۷F۷P$$|p ۷p$tc &  `"xƎP &" ƎP &"NƎP &"{ƎP &c`$2p~)zؑ`ؓ0TMB>khȏ05"7F? $|$XlFlB7F /F+>k ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F,,V,ڑD>TB>ܑg<Z &QV@lFTT>B>!gk ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F, CPM ZZ0  DAISY ZZ0  FOOL ZZ0 -  MACROS LZB)  MUSIC ZZ07B  MUSICBOXDZCG  MUSICBOXIZFUZ  MUSICBOXZZXZ _R  MUTILS ZZ0dA  NOTES LZB{  PRINT ZZ0]  SCALE ZZ0 m  ZMUSIC ZZ0e   vCPM.Z80  # CI@v2fy@1 PT%E1h P)d\!gAu1uιNej9 UoVGASnR ef>|"~Xo%dPD)Vq/+mW \64bo\{R)BIAER2-FBa&l, ll< B"0ipTc mqP uऻ2\Fq!gjܿjPS U3wk0X/eeCaxmCV1qVk l^hhGz"ckwU\`ZwwUBi5ԟG@1 d s x ; ؆럈7Epۣ@8OF=t[PMQTt&DP%bR2j lH Oh͙j6:U p ~}/ O `"P,Ga$`RL* TNPOs8:N]1!;$dEzؐ ȄJN%D^ 2džiAma.FXLM1B.hEgd6("NQ削HS;pZܜDQKPpHE !T 弝rBHZ3̦0(eĨʐAH/ wgD #/hjoO)𥔘#TJEQ @ TeYH'-tT )5(&*T RT:JRh8ӂ~UYE8ZzL &unWJcNHH§7+wU:Lk2H$k<(Hh< bDMx4vFOOL.Z80 0 1# CI@v2fy@1 PT%E1h n52Bg#W(4pЉ?(<4.w١@ T QiC,I< iҚ>u4RKh*4ЙD}4oLU,t&T*B)OfSzEQ#jPzqVg44 O ttT[i[Sa@fn»zL*jC*ҹBSiW)DӰkVC/BH@$hA<(YF8_vMACROS.LIB22# CI@v2fy@1 PT%E1h ˆ9 mqe+|Kk%wE7\Xj_f9L BթA;{j\TuX&Jɡ@/yWWδDyEHPI ㊺=Xj4T 7^VT^Cw*ؒ7槀S"!MPs:A'_ $˅@HSP=a0E @'=HB<)B AQ@$t2 "VC0@.LT(j_HB$" Kz͊QBc ɢ"T?~q38 $>ƸB+r61> LxD#R|DR5rI1H%/P0(G" Q&@tH`D! &Q )-qnoΙX?0V2Iq ïwhB C{i Ҥ*eXCchڴP_tdn $!  ($9^KCnZi]8!3jNnfyxta2^!\-qutj *㙲EB ,3z6HĜ;a2"t8DVVF=@]+f݁t4aNw< &5&NFԝ#ʋA:Q:+EDrҩX N[ a@D 2|cVK'%WP`L >@ si ܆rZ! &eA.nGY;%㞌 bZFђ]UU@wCb bVdPåOhiJ.S&$$P@Axo&z79sxYOf[vo0NtZWOn9:N͚&y7pOAZELZJget o-x ؘqp+(Hj %ir޲JzXPV.0B2 G0u'WuK|L(Y1YF\̽'\įcٜo $ٽ,E>]v] &J9ȑJ'΋QE{1 v<1"ݬ9˻|ȸlivMUSICBOX.DOC"%# c@MD1$@C`@ $T|r2 'A$h4cI 0doNRӼhӁY2B2I O̧AzeM9a6" Aa͌Vb,Dam7gCiZ ]^0شL$r@EMpE(Fq:mt`M&:U6Zs<߯ZɼDYjo9la5 -6=E@s4CgoSok-qfqLTARKMMd4͚M8iR[ѲWgfvm tA aWfQFaXW`'rGfK-XGA5Iq NFLٶE ēUlYE>TkN_pWE#g6n|Au=D}(v(0)heu7?^W`S)o DאQ fTE!9Fehn I21GKQdxszu۩uPx$"fF"ifP%lkcgYNĪTvʈ4LC[P q&Ac[aӷu-RNiu2ɨzNZa%GlGrX&ya2[uS,DRv(Zd 6- JsIqdq!y)dY{גеU }=QT`aYXIS5J\8PbkehTSDDLY 1= 朡we mh B|?L" 0FJLquo(IݴuՑO/=SVɸM0K7wyb\pl2d ,gF9$J{va5H(i*]>f1&A̹#7+`ǑBbĻXc^P{`:_Fj;`@&a5&BS9D[?^h]{N 1E$J˔%FQ{p7ͅg%0[Uc`P0D L.-A5ئn!ZׁI •5oD%34! 0*9"@QT#5,{#Yuh+* MSa&Zdʳ֚ `6( TQ%[K4(%-`@ O@掲Z3vsN<ڵi`84x bE5jXkDNӃO!J-Myb`#4 ,ٜL5 A =ZuI䴼N :HԒĒd4:dNCHr\E:&oN !ŠޑcVhT !2a`тW]ZL+#h @vMUSICBOX.INF  # saa dh2M!6Nf 9MSo7FSs:L1$ Pcy{ <$!n2 &JdZK% |. cLcH=NGFƧ ;dL~6 3C|@@D # 7Sb9b61M'h9:0L@y12@9 d4d/qHb5./CbHhSidFsLjNl78tgTfuGee$MQGltjQIlPBh M?A@"Bto cShzaaLQSIJBmLӷyNS.ssԥ!GE18ADP%XV]HD{b徽3 Q DUE@IQN HD1,B0tc $<0EAn\ 4sd_t5=N!8 aRh3hTPSq,,Q4PcZsA?a]ALmh}CRu]Xuk)ɄL%؃1[Ʉ5p,ŁdMpAɵO8:*S~3xnD`'w!'l BLkL0ts}п aԆlca"g A,(L ΂? P D :>+@fT+D8.ర=\nД0 hm0>TdpD VSSD j%  ΙK쌊tɼ9O9TK]!ii?7Ed&R. ~0 o" U 3YJ4.V#Dװunz;E,}nLWA V 2VJaU_)p@@W!я@7,Ӱ RdKZBU @6բ䕲ۏ2Nj{PD@N@U̬'P-WQqTڍ7* &^H97\|oXwV 7 AI3dh΀gD&2/;KC 3 A aʸH` gԹER7d T&rV1N$E] ` mr߰#dxAmŹ.A*w_Kj!һ,BuȘ0*(Q}MҰ`| c{(d!`0HW ΂7̹û+>gD cyHMI}"'@ИSmڼOHk->ď=ju.5q -UDh6@k[EH9ҁ;fGAFgn3!hIe%R3TR]L=X"YJM q@)6\#@LmA>@|He$`'2HmܟN$$;\B֪+6 QIOv`{eØ?]e w ]<;8de6qO ~ 6&3 @s1S"IrGDcI90L1T"I L4Tz):n R$B'."o2m"Bp 6#)t4MS%0B!ߍH3$_1M #y@D #R. ˕CiLpG#wPsLV۞-H$=Hv0/ƹUml%U!eF`Gm#KAhMXJ+P82cUeA͵yxG5DoXcga[ղE> CpA) 8 %A5MhAiwN U a֑ CJF 9 $acWV4O!gY}4LYYMZiPcd$ThZDή"hZ!esQuvFoj5OTF=YSd?ZHԧN P Kg jD LDAD TY,eYl4&Nƛp  .+v߫թSЀwCxgqb 1jܧ1t'0)XQq8$A|Lx6Ϋu y+KDѤdmN#Ցcu C]իg>l v gsG-|}4鵑4D8#ӰS OͿPf3: k/fAiDaFHg I<v٘HxX JfP,mHa82$> 9^! `'/X | ت!|HLv)@aC jCT Ӏh'"]$ĜGvPRINT.Z809@9#   0fieΧ#Lim7gC:"gSLfA؀\P)IArBtȌ"= L'YiNUs$6MAsB $&c$Xn3л\l<24C >,V [M>r|U~3P"hapFS ;M͑q:Vy6nFzefC VY)7D ށ)6(ҜOL& dPڡdl:v& wIENsIbީ%>YUQ|'<HC "Z헸"LA$%v_THkFҨ1UVdQW"KSELceA40m-jL.1N0h)7´A2Dm[q3LKIle=HͶ w A!~ָJ!$ԏ 06J+ tjNP:I=GHp^ L*$S)(jP0S¦/@aC7 9$C GJK>B(!` n8i H\2>o<B', >=À$<W5d\aιXSٙY8S@[F :l*] r^#Xv{cK}$`6 6@H%vSCALE.Z80 5 8# CI@v2fy@1 PT%E1h ܬр0d0P kHEL #Gp.`DDa 2|.JGC%@:EA5$:a63DQu-0k$OHQDUU'53N\pB- PJT4y=ISZ̾ZrALED6 CntX>`$șH "$d d qs0@  83'_cLؑ A 0C0 h1HYM &ByP<LvXk"W8KX]ci [SXDpG@'  k̈v#Q."U4c f|&\B/"hLHg)ĠϺzM-ķ*1&5pޔ)ʉ*(DR-%TTRT l̿WKa-#i.`AR&$-ݔ3FH0vVd 2B $䆓Ba@)<̝ge{Kbfď }ω@|ʞgPCi|I$g L0D2uN/#DƕOJg,"\Q:i/))MM ҇T}48HT$QZz' /&ۥ@h .@KvZMUSIC.Z80  # CI@v2fy@1 PT%E1h Qo%0$En堁BGE:1dS Z 蠰VtAāwVG0 D"CyY4O g{`)qXMVbA$vULF #AH8 sPh`% il]pkb9.UUu\KxsSCp qN PȞ a0TDJr4SŕQtӤ-G e m]ѵC]1 eFfG&u WD- 1Vv%W0ac$w]uvmU Ccqc" PnZ `l[ D QX\a`cĸ'UqU;7r{cUɎcg@^tyQE0TEA0EB}w 1D5(# L&)5 $NDbd4^C*Ǘ}p TB0$CQHS t c~<&DsO f,Qhor{FH"tPd&dqQ<#mEmAy *'H~nEbn&rRTH"dEȄǔj5_S@Q` e N2vF1 Ι[cp t `4@{Zo%!3΢._Sa6L8HJ E9l^ R9B@Efa0"PpK/(J HY% <p`.ZH"Iy BtDө"TBkiDm9 ^ 8>~&%YDxc `"2KJC£5^D7 x(Vwi3-Bt+*@|=œ/22<~:*` ΀ p2j2&# e$fC̮N<*pY jjj2jRArOf+z`ŕ kkA(0a@>f$K`6 _س!@8\dH8Hl >` B d 5rɨge @@N!>$a &CkaL :n4`; \(` `1   "NЬ" FC:lm@yV`&8bkv<\o8`>CyحScZ yɱ=D>Pe2XQp8Z-M-14佼 &(0bo&Hrb~ \BPF^(#iG]0Hz"^8ʐ-;Q0B灂'>0gEN4+3,2tNvxGbȴL#OjsP"__%&$b-ƚ11!}V2JQ&M#M^<8cp,$Qp,r9(,!@~GG]ax%\ JRjR+4c['[I W̝Gم:{S5c"R}"Q-}tA5g1@[Ĕw/,4ooӘ-@KctB<O׎K-)$r0tL6?4уN+aI3DW6%0D4LGr* sd4+40.Ǻ!=!,,e 6g&+ܠBFo|<Jv~˳!$feZ-2SgfLԢ{$a_sT"dLQD?\r-~$yC"љKC4^?;jcz:yp5!sSֻSg>, XW!()MuᒳLˤH\\&`!=W Z+T!b|Y [" qzA{z)U+@y&)64IX4ᇖ&Z)T:X W$@ ?\wf0[f"K ~BJ' U^+@u?1w IHGQzϋK$Go7zM "7^C03t!3gۤxmo~M=Xq0Cղ:ߡrIX4ܓB""~Kr3p#oWC6Q<"ej mXrjY D3 ~eCv8}Itnz1A{7 hf_`[DAATe TimeMaster Clk(C)1988 by Steven N. Hirsch` f`>::u` ` Φ``  ) V `  l V 6/6H7H76  1 N 1 h7h6` CΦ`HJJJJ h) ```ȅ8`,ύʨݝ `x(  CΦ`HJJJJ h) ```ȅ8`,ύ    !!@H@6  1 N 1 h7h6` CΦ`HJJJJ h) ```ȅ8`,ύʨݝ `x(  CΦ`HJJJJ h) ```ȅ8`,ύ&ҾR6 ;-!/&\d܂C,m_ \)ز(p ԥxo#bAfEDPfʴ"fB& )"CBf큰4 Pn ]%1a j[LSu(A(``n h9PʖCh)=a "BH)'%$8#P}`S?Puԛ9OJ!s&pK<*HXxV-,= |7f5°˃U.x$Fבi; ȶO I7PB&**R2qX;7m`eZ`N:Z2RH$ԿACet(gT@ E `pߚnSRR$OcHhtn@*wK)P5E%4qkL`3lhCt92&OVe,14u"kճXs"> O3!'$8T-M$Sĉj. }PA)R6Bd’'- ӭT(Y`-4K2eexh3D'WsK@dvxaqŅ[ ߢ A˻6{&M/ru=; 2Ăz‰ !T$0GA$$_e5(Jr= Nkc#>fTr[AZdE$ +XVWFBKJCu!R0rY+eYz#Nm{(iS ~)\ܗYzҵ_m9\fe<3NtOe9R-Rу3G"{hAx;q<=µ6*XA:;,`Jhvbx\f,X #' ޸MRFt߼K&)ULUE݅$n4Pņnzʐ >:ՑݼQn@ly@L~!qrvGTR0FGqgGGJp(@GEp ![8x1X.XGc=;1 oL@][pPL!<*!lXOO]8Y0EaRTwBuW)xQAjaA5X@ȁbcx^ E/VE4&2*87p3e8 0D%XbHBt*Bƶ6E%xvGtm!|نF@) T@F @@dH 3 VsB6x,RDx'=!D7Deg/B]3b<`m%DmsjSl?&5]Vdt#Vx#~Tشeiw4tWm׵rgy3BgyFE#5KT1lQONMW;Gc>^Y#_(Mhg;p{Y{X]10 BH[1Uu$_uۣjf/2)@t+2:o2d7'6O#|TX2qF$y?{.y{0D3rt9;2Bj`&8$?%1&GdYR~7#gAt7"F9NG0[yK~!J_(Z '';j,ٓE.DAL눬voRE@*?Uh]qLB$,N*wO>2 B_2B$Bgb {Z@{$L&0 s?Βi@\K=cʾaL $H9?%}F"{^h6V\$`9 g^{!rbDn9aoBq7i7l qAe1@z+);Q x8&1\S*2ChkcMO%B,jGu҇wqc FrX,Ւs7q鹅l֥^e,/WPgWA:lkjY RԢvA a0'&bяf57`B(ZtW;ØZ! buJ|օp%xbpPB%Ch)ZKxb'47$JgV% xV@k.}z[E7D H^P6:θV]jș&QA=]2"Vfvn'9#B-3}~"C&?<1`~-=~ځ- dyn,srҰ0W#i|'yaEePnYzXqwթl%~"^K#-9Rd!W9@H1 Ce,/WPgWA:lkjY RԢvA a0'&bяf57`B(ZtW;ØZ! buJ|օp%xbp*O*S"-"D6!"*)~#fo"D!)b!9!9DM*V͐~#fo"V͐n&|g}o|ʭ*U͐~#fo"U*W͐ ~#foz"W*S+"S*O+"O͐6!9DM!"!!a"|W! n}T! n}UW! n}T*n&|g}o|W! n}U<*n&|g}o|<W*#"+*gT!*!9DM!! [ `is#r͐#n&M*g![ |¤!&͐M!9Can't delete!9DM͐͐#n&M*g![ !9DM! !g~#fo#͐##͋!g~#fo6*gͿt!9DM*D"-"D!"**g!!a"*͐p!͐##*##!%`|! n}ʯ*#n&!͗&*###n&t|!&*#"@*"DFile exists in user %dPublic file exists!!&z3}" *"**G@*}>2*[||Z!&*"Kt|! !Z!D͋*G5͡...on which driveBad drive!*D"!"W/"D!"**g*D##"D++~#fo"*n&|g}o|*W* ~#foz"W*#"û*"DT!9DM*D"!"**g!!a"!͐#*#!%`|u!&*#"0*"DFile exists!!9DM!!!yͼ*͐!y-u#|!! ~#fon}! ~#fon*G#! ~#fo#n}!\&!"*|D! ~#fo*! ~#fo*##ns*#" ! ~#fo*6͐Can't change drive/user!!9DM͐"͐"͐"!"*|*n}?¼**ns**n*n&|g}o|g}os*#"*#"*#"*#"Ø!9DM!"*|I!g~#fo*! ~#fo*ns*#"! "*|x!g~#fo*6*#"O!! [ "͐#n&M*g![ |³! &! *g#*g#͋*g 6! n}*g n&|g}os*g![ *MRename error*O|$!&!!!yͼ*|U*)~#fo"D!U!Lj!y&_-"D!"**O!!1&"Ň|*Ň~#fo"Ç!*Ç##!Ȉ!%`|*#"t*Ň"D!"!!s...which file!!ͅ !9DM!͐ͅ # *"LJ**Of**M!"!*+"# ͅ ) *"D*LJ!s*"D!)b!9DM*\}ž4$*}C³͐|͝ö!͏$!"ˇ*ˇ*͐*ˇ)~#fo~#fo*ˇ"4$*ˇ#"ˇ!"*D"ɇ!!s*ɇ"D!"!*Oͺ~+"/"D!!s*"DL !'!!sT!9DM͐  *O|!v 'ͦ͐"͇*͇*͐+|*͇**͇ "χ*χ*  !*χ*χ)~#fo~#fo V*͇#"͇ç84$No entries matching spec!"ч*ч*ڠ!*ч ͅ *ч*oA *ч)F~#fo!Ͳ}*ч*–L *ч#"ч?%3d*O|±!)b!"Ӈ*Ӈ**Ӈ)!!1&s#r*Ӈ#"Ӈÿ-"D!"Շ!!1&*! *Շ#"Շ!"Ӈ*Ӈ*h *Շ*OI !"Շ*Ӈ)F*Շ#"Շs#r*Ӈ#"Ӈ' !9DM*O|| **O+ڮ !͏$͐+|£ !æ *"4$͐+| *)~#fo"D!!1&"D!"!*"D!"ׇ*ׇ*!!!;CP/M I/O ROUTINES ; ASCII CHARACTERS CR EQU 0DH LF EQU 0AH CTRLZ EQU 1AH ;CP/M BDOS FUNCTIONS RCONF EQU 1 ;READ CON: INTO A WCONF EQU 1 ;WRITE A TO CON: ;CP/M ADDRESSES RBOOT EQU 0 BDOS EQU 5 TPA EQU 100H ORG TPA START: LD SP,STAK ;SETUP STACK START1: CALL CI ;INPUT A CONSOLE CHARACTER CP CTRLZ ;OPERATOR INTERRUPT? JP Z,RBOOT ;YES, RETURN TO CPM CALL CO ;NO, ECHO CHAR JP START1 ;LOOP ;CONSOLE CHARACTER INTO A MASKED TO 7 BITS CI PUSH BC ;SAVE REGISTERS PUSH DE PUSH HL LD C,RCONF ;READ FUNCTION CALL BDOS AND 7FH ;MAKE TO 7 BITS POP HL ;RESTORE REGS POP DE POP BC RET ;CHARACTER IN REGISTER A OUTPUT TO CONSOLE CO: PUSH BC ;SAVE REGS PUSH DE PUSH HL LD C,WCONF ;SELECT WRITE FUNCTION LD E,A ;CHARACTER TO E CALL BDOS ;OUTPUT TO CPM POP HL POP DE POP BC RET ;SETUP STACK SPACE DS 64 ;40H LOCATIONS STAK: DB 0 ;TOP OF STACK END DNB T>>k BT>DqdBdV>">XG_FFFBB'F#Fkdd> a/F+۩5gd@ 0kB |!2@"k" & 2tB $ƀPq& &< 0X,^$@ &ӐUP@ &@ƀ0ztkBPT>>k; ">XBWoPPP_ ">sxLl0Pt`F敊|d@ۓ~_ 5T>B>__ܓ87@#6 ز@'¶ܳt t &  |!0tpۭ4XN@F^>6ppp`RRk0j۩Lt<:2B|!2@$<@"ҳ:!LcY!pYR<EL ## B J`_ 0|0|d>۩c 2 dvBdBTJՐB BaQ">lXB@?oDDfB 6F ;89ܵ9@89ҳ:@@rfļ@)@ڹ@)6ʰ@\r V@&!@@@)&c`Nfk ۭ__P6TTT|dF> aPPP_ ۭ_.P BT>@2ހBM ;sڑ/F+۩sVHZl(s"osBPpF?p` l"D 4?Fs  s4n P8_0DT>H׌ ( 2c @oeZT>2/F+w>kaހBr. |$t@ۑiB <.ۭss_ڑVQQQ&7ܳxdGDBY@wBaPJC YYVVDDD5FY}@Jo~ p?@_f,Y$ 0tBc f,אX0m* oaKTD(DB >)VVDB栈CDBY0lT5F?T5F?FkF@$"B'a D5FDB 0jD5Fd""aB"X 0V?D> Yo}dV洆 |0 ,k!Bk k k k  kþ g2/F+\->-"洆TBV洆q] qDB `pVcD \1 \$ #-6ITS>DS>ӈ0w"6 ӈqDN{!|dN" tV>ۙV-0`"t6 w0[|d\>B>8BZ>Y ӆJ浊D`PJ@tB Y\9(ׄ"aB"Y$P "HdB?F`悆͇PYYoBz,z BQB?F3ތ_ (|?|sVVۑ_VPB`PZ,<76@'IJሆːj0 䇮$_ZP\ꋀf,*>!Pו(qh֑hAh ԑD>0V_Y 0xpp*ptppPpmpPjzHkFkT߆,ز@9:  [0TJYV ;)0LpXp`p͇PkVY0@ߙV]VqB`FزBDDDDtBە[ڑD5F朇PtB@t_BPPP@0tBc f, אaPP0 yԑD>䛶,aYdB ԑD>;T>ԑD>?@FaPP栈 洆'woy洆 }\ ʇχ.8E  +   l >(C*  P|*wo&**kD^B{|*}pppo\ފoBBFP|***kDB{Bk ޶ڷ7Ȳ̴ܲPr"BD"B@ؑBaB}@B=05BdBqې$BBKP' @ TMB>k."aB &Cu0k ۭ9DNB=g#F9BaBa$$BB' X/},@BaB?Fk|Pz?F/F+kMHDS>BB?j ׉BBa浊?|PlF/F+_ ?$P(  *2b?oaD k*朇dBzelzev0pyucXeimq`ab|nBށohB4" fڶ7B?" ޶ڷγ9א2`ftBc ,V9VːXTB>D> BDB">א2F8TB>kdm*B ۥF/⑬8YTB{BnZ)p/F+>k9Vb .6ұ:16B$$ !2@а7m*B[V[0 T{Bn)pb/⑬8@qۭo אKjfy T>F9F&TBD>l ,>GDDtA@sDDD>TB2oDB@PP@ۭ o`Dt-&BډB|d-B)D{B>^ޑDBDB>Q B|d-TBQoT>B o"T5FD5F??f,>!ÁP\TB oξ^FT{B ۭ2ni 朇 DDtA@sDDD> kDDDBDB 9(󐛴*(@)@@"*)@|$g<@ & &"7Foq@108B|B/t|Bk"|$ ~(o$TD>k .ۥ(PB)(/TDD B>?lobB\>?loB.BFTBQoT>P|d>tkBT)T C*|!$ * ~ ">( }_ .C* BB\0B`F\朇PtB@t_BҊ(ۑTDPTDPTD2BF\ n䛶,[F[T>FV"V*Vq k ׹F9B4,AAAAAXBC>`ˀf,>!ÁP\|@dC>(BH>BBBjBBE>BFBPBT> 0BnZx:勄/F+B"aB }F@/F+ۓ D, 0en ՐoՐۭ(h0T>uB) ,#@)B0 .s. $"7F3.ċ.P.xċ.P..wo @ &g?o_PF?P$F$ ?\ &AAAB.'Fa$@||$ܹ6ʐܑ0D 242 P)B>DyB0DxBfyBxB_PPՀ0: ">0۩ۡᐓ򋈽.P"o> sB 0 .䈴@#6ؐB?o|F 0y ķ:BD/0fT>)P۩c ِ}d. ofwz+ 2 2 2HBP 2鐛22X "`F ">( oz>P>>̓X 0Z ">( otۑtPTZ>"́@62́@|dg2&Ð:@ È 4`&& ׈|$PPP$F@ &J"rBm|h8t &|$/%7#1æ9Š9æ¼%7%6àũ8ç:';"ʱ]Pz@ ξ^0 MFDS> pwu} pmXB4Þ MlHFF9FMMVV?~lDS>`4a44664c4j4|46444444U4Y4\444)PBB_ _1_2oYξg>EUξW)"P22Ro "5)`2.磓odxdB6<@8ׇ-@:@ܳ򍛆.@H@jYoaᴆ8ᴆ83Z@j#o+P/ᴆ8Z@sb{ᴆ8B ntV>@8p h`f,V&Bב洆ᴆB)8 #7ҹ9Yo8? YobqtNPB`N?A<h 4 4kFFF Sa f,͇TNVVT{B0`p۷0w8۷F۷P$$|p ۷p$tc &  `"xƎP &" ƎP &"NƎP &"{ƎP &c`$2p~)zؑ`ؓ0TMB>khȏ05"7F? $|$XlFlB7F /F+>k ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F,,V,ڑD>TB>ܑg<Z &QV@lFTT>B>!gk ov "o>XB AAA$敋B.jx:l 0. DodPH&|<@<@wTBlFܑ0ܑDB:=o,TBg<@ &FF Jx < 2B>n<͇p$"bT>)F,  1ZF10J FOR,ZF10JD5 CZMiZF10JD5+CZMnk8ZF10JR4 CZMiZF10JR4+CZMBkZFCNFJ ZZ0(\ZFHIST DZC&4ZFILER CMD 0 ! $"Enter ZFILER macro script: " # ZFILER COMMANDS (04/07/88) 0. on-line macro $! ZEX 'GO' $P DU:FN.FT $F FN.FT $N FN $T FT $D DRIVE $U USER $".." PROMPT $'..' PROMPT vZF10JD5.COM(%# a%Vƀ;b1$:O ' DiR'ɤAhX)JBHp#y &Luq>*|fF!@ &~RNKg$KkXfF 0"~B-$6y4-٦hD   ڰ?Mɼ=v#jf;5l,\X QPcA34F70!y,рQ] Jf) ) b1dIcôCD\_0>3A ,Bs4e ,:`,4c4m с3X4 3 a 33F "2~& `]CB3Lh3K0p` 2ĕLB3B(xKBP`+3I (<ætha p9&*3O #Dl X D'"Cd.>`: 88hpFa ѐ: P`3Bp |K <3D09<)>QTaq & cdYVE0` c$:* 4rD(`pP.'@#HRH3k8O]|1#CPKӞLH|A, HslQC@ׂFɲuӄ-07!aA AOٵq^.B$Mx3@˦Bx=B,,F( v -;Dtʼ 3jHhg8΄e`n4s#~ sljp49t=.B4?eR}`UP=\ wf 3F(.e0YnT9P}èn a4ֈN[8>0 <@ @> Έ0N%_߰8 iS Hf\@1T,EG X?@4hCG0`aC`e{6ǵ ]/\P @("]+ 4oH"@sYm F4a` =GD Q2C0 2IX߱V1 0 [ 01u@Pd@/l_ w]f@@, X".08# P @@nc0@( A.@PUa+W4.XE;xN hS8@ -f\` _P&K'0D* `n@A1ARaPUFp2en \p0sAPH*ҺXhVzxަmBD"q%PV1!7G6{WE1?̆ j}b$03Nht[W^j ۬f z*xFC55^`\@1B8x>ߛ3|iPҹ.<x=ќ;]M|Ǭp]b5T=wl l|ϢԊMSBG.P8`0@$f/ p* Dab@:;X 2L` zT |wI=;ǃMix#?&ƛNI:X 35n W Ruby@9Kϰy/ :`|D8FhC `'pC#> qvwQo@# DW@)EmTgUH'@pT)p'T9SU "HRt0h@pfnFG.PxH0, nh\H`qp6}Qq EyM~9T7&tNP :}U PPY o@? 㓇q sh"U~gV} Hfq`L` 69`݇dy` 41"y 080* !*`"a>!P@B !B.9"A17`LnGE r6"2% 0dp." Lg F ]:S]J@x+q Lp7S p&D8-620 # A 5oD3# p̑0 2DrT$Iy@r,B=3Y76i>A40sDnPiYCzb,,RI sag䛕Ss@): $I`SH.sgG `p]GqTBgqYe) ,zr0id{Iy>D ii:iE:@e`atFspiO0Y0 dz9yItbGHYY0o T,aI=bTxzT 9О)i螩h{$%nd%ByڙCpHD4d PD~0O e5 Ty~G(I IT);?80@&/p "$Ehj Al/)m ͤ Y=aP `6KJӜ+SzIf,%":gsS?"`:=Po-ژ@& / PoI I^@pL*+(4F0` 0_QY d0H".; Ҵ@Эѩ@*0: X"1f(z"0"0.rA ҙ [,Dh$RSHZGYN㐃@Y+IPa} .()4:l &@&p;*CyH`t{Sc sZ0ViTq.U*K1co+MHm7Apa9ϵ3PPWWGMa$zI Siֵ0F {bA"1^VP`PXra HȻS+PhDRZn^p Gr;2[:J}jI^ LۺhCR"j=p/Nмi6䱫!q @-ۈPvZ`f8D1^[xPS/+HL˵g@sBl͡-oa=Pa -@FQ̡ GJ0aX Cp/ MDeAl`ʊ"0 T'U+hPǘH - a[c<--"[ڢ|O QTW!ż9 W{G'==ɰAvɰ^p-- ɰ X^Zvɪ0|NLC,9:\E0Cr`xGBD8܃ k0_2 G C42y WE` P;P Y!`ѧcC4.?$=-0!"r"KX2>X}= @  aKɄ "0b""q+WH.gĆ+!GԀmH2 ;!z >Hrp(DU-@ U6 QA=9s=+Ent >$: $U"أdLi -7>`xE2 C(]{0:cGt !G8s=,h^%= ^0:b:Z@pĥP%C:0Kg)D={  G10>Аsp:W6 /: >; q0`0eP2 Ɉ&ZŠ n ݯ20e"T 卭p4!5TfMf ځ{ZD ~ P M m%P>%MX_ ]_  ;`>EG0鞛C4 $%"T ;F^:,0ߝrNJNK ` e]L@ +0'2 =@ ڏV >c(᝭< <F `N)h jJ@ז'< xz0k = QsQ[ۏ9&Nk&ʧ/:;C:P;=>B@Uh *PZ=y=C Apr;;y7'op51M1-W`qK=A4M0:` 0päXns<>`(݅ .AݠnI{ipP. #~D).%H#ڝ$QE+U0QY^@.1mϻn/ AO&*:? V,@'<i5`U!  + #o\*"* PC݆SUv^_M osoqzouz0hkՀ$0 c;TÜ`(;) ?08QR8D&5 ++),$ByQiLP n fA&;R%;J(:y+ po#:0})_=pE}@s%ըN4NB._/ P'*[QQa8 4BH0<\zkDy1Yi5]( Q̭⳾= u640l=1M scku `wP@"" ;So`(R =p i u';AVIefTƷ *(}dCH @P[ U:!0Sꔊ(,Ad3:syUj 1Y,(,0,@,`,,,TU,:*B)2 *+"B4G Ц#2aUz"8`8G?P@dp*-t,B\& (@[M0*`6#` VZ=SP2)p Vǰ0J'p7P!4By"pg9-"Kͽ 9cN 07 |9!K:69P P!` 0U"5d 6Hfԉ'j݀&p4Ho jt-ٌi؊2 JyUP ?yLc ]Y !/i#N%Pk' RuxGsE/6hƦGډo-e$&0 @+ d D2VRW + rd*&+cAǫsA3;AIKǩncb c9_FZ֐tgg[iȏEhgo͍bѰ)RR* G 8_~ ڠXk8q6k87$r) p( +IV p+08R -C(`(PjMKPA0'#44u".Ud64 p >ӠwyA  Bugfs D+Lڢ M^QėP Uv3p>?QX"D  vUP" J2 >"K#: 8b 5@ 1k0 D)WK&b `z g 8ś" Soh&K2 ͥR   "%##>Z & =` z21?`,_04 #@N0F݀I+ P/ p.T@oOwSy Q : 0r@sP# Pz> * p$?ሸz`*VXo&$EXr | #6bX\eغ ``5,; 5p tm+: Pwd&&mK<= $k\@)#S` #m7K&s&Ƃyc`W, ,k} 0op"Zi~O/ g\P-,p@8Ept /p{_0*`U]Y,ࠠ 0* ק$-Բp8X᪕@'/a!@iPզys$ U  !9.a]C^x@M z6шv: 6 x~ G 21+ཿKR ¿7M="٤7@Ro-j9,i:c 3 ЗW֙B$"N ` 2cC-/p5 䑐~ 02*5%0X:0`!hg и@202qp*%+ Zy' pP DpPpP% R2S] ]`>/ @dS ' s0r0q0pUm#o?C <PD NJ@ Zo!P].xֈ`2 PȪ~  #LVizj-푚p8p+д&zҀ @`8 `M)\\ԨN".  z   | pp}od5p*` 0.lٓ]4/`]_ @ﳠX85i{nKY:dT9D: :!O `KTpJ' &CpQ`.ؗp`*#P0`Q#d41$RO sD>֍Ev@\l06,N ը@p?# 4и P4 0(@p-(`5"/3 f 0wIdB1("cI0~o@ Þ a@e1x4(CP9;v E6! 9`@K1Z:>47@4 P;O ŮpN#:0}@M)cBB(gz:6P"PBvs !%5Y,=XdEpQãh^Rum`)Z@) | Q  l `  C ځ8d y ByQ nyT"@* Й |hghG$%ֆf ll`л;(H{ `<%*7 8Ϧ, P:XPGb (%0!S[At`np "EA@%59~PiެWk(,ܣFќ'GHHPL !.aT,MIFP!P?n~ " [#0MuRd ,, =o_co@Z|oB-! .40 ҷ$}eiGn0y0eS^E {0 ~UL2 ` ň` `0UCz `4~ W6~p0qL)m"e0Rp mF^ PVP#[S:L . 04D. -܀Ҫ ԭ EvT^49A"2 Tm1wfQԩb+dd %{860Aq ``T.XΣ&"̶^JImemb:yUHyXJ2P0p#.b - w%00 QP/\ .=,gMp@ u@ u fugP. gP+ ogP> \gPr TgPRuu XyPOBN+ Du!00  Ep-P !F07]5# P"n6;5#bO@ 0 D+ "A#Uw P >W`22!Jp:DD. 10 `l˜Я 0!ے $#00\ &d mlm97@1<222204p~1 q}." 702 UQ+~0p1à+w P4 1Ұ1w2 ODzX3@ 1a710a EЁ  `1OG\{%!9 1=_.:<> <xګp E 2py{-B2+ݟm 01#pɨ%l2>yp  2  QjNޚ2rp@:wjRI`< $ Id d @2x  ^p_`\= v 0Kv"WbP:s~:*w@:qO`2dG@ ;N0 Px  DZxK p<9Ch%UK %P 3 3 463S7tN~XYF@#cJ 3Z I03 0<@Y0L0 94]܀h_P 0]NK5+  0;pw7uN94S pS0 d*#o#>$47E&BC0} ШE 0"\ch@M2%[MP8-u@lm 00J`4B@> *B1Lm4 sN.5s0r pw6 PS7Wf4Po4CF2 0xp "c wS4f W5wAnw}w,<v< 40 ?pX̻97WL<01p_0%Z2G wA4@FCcg6)|]Wen(S d. K5s,`$ mPO 0mSuNISe @5p2@@ T TC 6 `@ P#+p`5, Ad6 0PA Z0 P-CCY B? khʐ|d5j ?[ON$pp6+ 25ʕ+poOO62?YW҄#h6 ޴ 0_k߿!P6  6B%6PmJ P Fb6 O΅;[pHyUSg`*Nkx@*@:00(9f|C-O9_YZ?:k9ۺ F2#y2 9'GEUf ">-P H PTHX` =@;; ` /` 4`s]; 0 P ;5 (y`PGONtM5(yRt"e^dHPa 0vp p; ;JNRYvZF10JD5+.COM(%# a%Vƀ;s1$:O ' DiR'ɤAhX)JBHp#y &Luq>*|fF!@ &~RNKg$Ki,\f,"~B#a$6y5D.٬pD   ڰ?CQv?vhj;4&.Z ]PcA3580#&YѠSa@S:cf _q;g) /L'3G`Bp4f4 B$ B @½ L%3A:Pм L^# @03DèD1%8>3G 3E 0)3A Ҍ# 0-(Zv@9&p4*3@ f[h'fd.> : 880pаFa ѐ: P`3Bp f|KD=3D09I2N ш/3FTY $bì!cUq";G+° .7 X ?2  `bE3k8O]{1#`KҞLH|A, 8sl3Jւ6űu/06aA AOEq^.B$M0x3Fx=B-L xӐ;(4} :*C4+jN& 3aXLΐmM a 3~p'( =AŧzP@jfP 0+\K`%xs Pài Ŭ N`q6@y|='PaX G80pң$X@ b~  ~i04 @0<`@p4Cm %eA3nP8`PE Wh 1ǀBE T)vsCEʍb5a   @x@Pú~`MD kL lܯ@M;l $fp 4-U48Z. k,ݬ:(8E WLA =j qh b@|FH* @00$x= l ErCқSC}|R 40F`' (<ZҒpl6 T *6;M`HɮC6}RplD fl |cA@ &q:{33lu.   Ő Ś 1k:Ac샋X + /|d2(HdbG*Dc@`$ @ $ @(b? $_@&? $5 G!Y70 ?x(,@A &aD.PA \? W0?h #]? v?P Ц?p *07Z ̰@ U!hL4RL`6T.? J - E3tmV`d p"$ ["Fa8A: = ՠn^7eDa` '`kh&(:Ҵ؏v =W@)X~FZ1dN 1cD@*ZPU8#4P@5֐+G] QxM?l(u^p ^f906?\9 #pM"wP#[ 8g!zb& 9U6Vu AW"T GWQG_<э5 s^@A(%@`wy^7%DH?7> bבi @p~a<29 |D8FhCy_%JN@>#b6H6F0naV H X ^  N ~  "v ]O 1*GSTtPcnI /`")6q f+ ꃀC6 +2 0A0S 0Ŋ3`P /-23's(73` &%4RJQ& #(+ &r>@ `As(& (  `Xt 8 #66fs;<3<( S-33H=D܈D(0 @s/ @FjB/@^ ?l& /H 0 4 R\4  H 4D(,|Qǁ-|`Th$: B8`H 4| {- e-T|7$ Ǣzd 2c iTsv `I. Ŕ?`#V `vER t ~[5& *D>J C;Pc+h DaH dSEp BԄAF"!4\uUp"ǙQѡQ[t@n D PD\DN(\e^zsPY'X47,pD @o@ +H/`P & @#zW`@C#bm/`\$Q!zgu,AhM H vCg; h` 6aƀ 3 i@ Ң\ gQihZŀav V~ۍiO:` >SiG4l gஎj`)( aӣi@bPV%$ ‚<+Uf>B k. 3.gBetu7V C` Btg=R X u >^v@ 7sXπ @ wS {@`^ * 3wgw bV*B([~: u X&`7ЄbV ^&WpzwX C5CDvz&x#|BZ9W1A~{R\  89(@"+Y tl m3x=  ?@2P^@6  0LBk XrXz+t gvBDXz4Ga߉<8   {􄇷 "t."r ӄ xVy"| t*(`?*Y"R5k1n ( `Wd@坠(`s(B#@Y- >@Pg=D9B.@*#$rA~hWHtYA(E$vmyALa!99fE(d9V ccA!cE)RDnWzJ RAI@dzAZ6|!|`P! (Zʵ40zj>Dz{cW`&$C` n@DtdE>[~`,- j0@uH@ea *gzQz@5 yp' ޑ` @+{' ƶ`9Y@t g @ID T|~'>)fȁbۺ{[* ~:@@X x@|uL׺0a! p&0e1@ BZ *!6ᣴLdE [IiB<<Z!`0@rb-ۖD| 36x@x#'jd%)VMyIB 3#PpAo> mZyh. s1).`{)zQ":=iˍNLt ^(t^rZ\(M D [ۛ Qz^*Wvb*Ve߄U > F[+U  0i\hQ`u達6tr.t#KݨAں|;/3 @` #n}٩4=hM]]K>z$AJȜ W` `9Yz)0 ]C ,_w ^8= a~KRs4ϭ;6_ ^ʣR!>> f޼^Amࡪ5~U۠ _?UPޫT JH/ A= `۲p^G1 Pu~pv )w&Rp`awI)֗)2) ӷ,g{ ~%۵ܠD<@`N.AZ@Lv@JvPuFV^sPHui z3q|CZ\t]Zm n 6A )Iݾ `d0w&(:>\#n\E#n>``Po[5~i^xj>$ %W$9gf\j$Li.` 1@0aN mn?lBr@=\7ڀD }Rݨ0vQ nz@ R%`N96SDXR5>o?ڀTanJy n&|gw% YgD6`!čQx!{TE[  돺pVwOH3q c0_SL%9 ZEᓟ$:O =\d5* .`*`(D]@d$:a@?M@/v 3xPR%'R8 d`q%G <(t ͌2 0j|&;!Q` ԇ\XQJСZnqPAH^`K$@tr pA^qᛵcW:5 7W+yE @(g(#+ tj٠0ՍnrԑCb3$R @"0|k`Tǩw` 7aӢ 2o͚Kc&Smzt8qz_p^7$H:1W{t&8!u_N yir/\>`B~nC+!@%KYj{*>zҐ>@_G"Y P X`XXX X X X PGR%S@drpAJ4ghUfTs"&LF š )`>>`>pA* i @>JMD>/NZhRM@PiȠUDlJRަZP)Rx䁨9hE0j[j C\5$iA  rBE\\r<yd$=١`Cx1 X[.Ѡ84F8<ʍ*ʔԐ`0D6"3h *W)v rP+Wz _3O5: cd1l%Qϰi$Mk0.`|&@NM R9nL%LWj!)a`0h/n%r%Ґ\!3 wv|w=Lh=3+P'>  oO$ߘ(z%$PxD· 0B*C5Jp -t"#!ӠTMQeD@#G. jqנtKT|ЉP B(8 P`!9gjX<XxvNdwؘ7s1|@gtjxHyaztžNqH ?trpA-VaQ"rȚTݩn@Pxa 9A4Chl>Q@a@D5(:QitdL4ᚑ@D4t S^ҿ[#D!a*  p0 N_g AfL@6e`#aʦEY+tA~&"VAOf@ |FQo zIm!R ad~`X , `^! `ͺlUɳ&!n b%@ ``\!<X Rn ʮ a`FB!ݨ4AT T ~ `1 U+#^DՀD9(Ad@Hy@` 놸$An/FP2溕J .EjDuhԗNp~@H霸 D/yAdbP i^ˆ`&#Pa`O T! |H> `4 D]R F`^JAJ: <[(bql@^ `T~ pJȐ0"ˤp@FCD 2e <2H`@ yv EDHiwNr08!@K @X<+5/jP!  R/>3 EJn+2  AB).d3w.?^`Xn{?H.nl`8tG;=Vm|%:-* ~Ҳ,ҡDI@D ܤ8@Jd [^`lgd) % dM "CF "2 A BMStlU^$MD|CJU@$ `n*P^$@JEeA< L03JA````?kJ G`?g@l(!8C@/O_!3`CP0\ pR  h ώ ]EQF!@<.``@: & ~ S^}/+^)H M!2(AAx @4 L XS4+͋WsV@=sY #< ֏ n `&z" zg4T[uAQ:;bKa2 "SEBݐ,np(EEF69]ap)8K`8JdYD& K0-9F?a%K}:lPP Y,8P fF  #51 P-,,L7@bYaa@s9# @f `h. `@iovc&#;װL@dxIv:Kqw=D00 Xu d)z4xarib1yKQP`D?ky> ~>i\ù24@L p7 #hFm Fd![XR Dp@tE犡({rr&XLfW8NfIrbJbv &-0@!Q@pf˂X@!#902H5t!PF@7Gu?FiTE+4`@$ )CVt`,f͖ ^cx6#pmޥK06Ya` 825V#:-WEoW0DLAq\0T\\׉9|_AVcpfؽ@B`-H"AbP@H 9Ypbu!5ͣ ~ JA( $jk!Q|"p}'"ؚ;."fPPeW[կAWq!ٙ. T{G"H`("I-p pPVy|~LdxjTZg0vϟeՁBGXD[|+|a@#}`7<hy'>2z|50;}<`C{!w#>H`>@Yv 8x%M `D&h>[R+5xmۨp~S@p0!^2~8sfHn  Vrf:q a_2F`#C@B(&* @yD%n=ChfY-?6\Wً*( eN-)#ĝiGdei9b,D(DH|-FHn `+14v0 H2s(@Z@:e J8RaeO -L[` G6x`qa xx>enu>t$ i!瀋= @ z i!9b X@0ܗNG?9cI+2a b GE"ADA$Hp O t"n4 ՠFmZD"ѩM@apMbuKas`dߠ $!.@`" f90@d ud"d@y C d P 0@XC"v dD 0$:*P @/zdf df0 lAApPfAo aAI4s! QH{ 5N1QU +l.*AA9ф@&l.940rpdq !a`4  `Ta+u)PP v%Vɠ#1* 1&74 f !R!A!g" fR( "p#lA Bb9Kh0f$!h@`d`f@&lRrf u%2x2f؁\ h߭a'`(!R,=&aQ%ΰR\u',PR-bNb2vU ޝ.@SM+2ߡA`h!w3h-C3,i.fzk4Q(`PR&l@ h Xh.$@hD+ 3 =4 .2?:' 5Bx!hAL:A2'h038>@ au3shVoSS3@Sh:'4 };Qy4 |sƀlĄ,-t#R 0N@ D̐mGt&/VB@j@ s`E Ԟjl0j!@v@L|pAL!k4"@4%"8a֩ Mm>ǐ<z #Qb{QZ` SBnv",P<p"qR"+S *[|'5f BU4ŰVtyS4XBzV5)T-, eT*{Z[5{T aV"€UUӂZP<D[[a;ufՓSup=[|F͉a HA ^@l J'm re/x&`' , '3CR^p@0H_An3q@֖`^@|V @^g+i?i`~@vAml1hV $ OU ` ovPqALicj nbʹg%[gt>bpNB\Arnmwp\Aos$a7X|2w9pwPM#M  qw_1w`|!|'/  p!w~7 pFxdH`4 `ptA @`/=x"D C $Vp yAIAqU84p@Y&0$ /`BE 8% v@tR>!ظ8 w ͌wvXՋkhP.! uD@ |Z T v`PAj-/lH> %["QY)+5& tY:@z 1o $ t@Y$#jP09\cy&mmtx"t`YE[Za4A`&@V`WI`m w>%A^YImYhLӞY9'n9`ؘ@wYZ^RZ"vrak$L2@Y$xҶAa^"20ta@Ixѩ:_Z` Pҟ!zg/CzM$Ha xo#y &Luq>*|fF!@ &~RNKg$KkXf @"~B-$6y4-٧hD   ڰ?M=vcjf;5p,dX R"PcA34J70!y,ѐQ^ Jf) ) b1dIôCD\_00>3A ,Bs4e ,:`,4c4m щ3X4 3 a 3S4+ u D1` @X-B48 ,:sUa34aS4I .“4 A$0҆!=@2*C B`3C;gkay7[qh,3EG3Df  #C g$x??#Q IalF@CF@ 4A @aC*>q[1. 3C` 3L2 H1v` X0XEd\s2Cb4K!DB(!q0 sB4= 5-s6P !.#1o8|5#{{~tm1ćTo14O C\ t"!f0D!1P~?Mfxol@#!64hDq~ @AHа x2$:(4" :*Z.vFy3lFV>87`7n$#^a f,(W8* *f7@P :AҶWJC 48RP* jBth ;aXc,H XwW/ 0:C@-rɂ0D>M[h -@``yЮ@g% 'L@@߼s M壹``r4x'!hP@u!cQn2c! S@(܅P`@9Hp8$ 04nTzSzr2}ϺjFlg`B+@0:R`)j0 8#<ʁ6c l 5fϺP ҹd ڠ u{r0|@H 8GY"pFxm#% 0$2 B,AevH;k:A{ZPh+ώ |d2(Pdb*Dc@`$ @ $ @(b? $_@&? $5 G!Y70  ?x?ň#<@ۅL()PGAX& adGA j<N`P( C@`?* D$ I  | >[1PN@a`~EyHhŹFnP *[Fa8: M ՠ^7eDa,#\m, A6}e 2"*u>~580 = y-!htXi@i:(($V@Y^3@+G] ѐMHDרݒ9 P"Zv`Dzcࣔ!F-$w'pK x_ Z3g񈚹wT[jΡ!tu9BwDu߀p0`H]U&,þÁ^>TG:_Ga<э= sNрr/U**ByXoEX~Jh}Q3<.P|D8FhCy_%PN@>#b6H6F @|o F%r RV ઑLRD NrrE+ `Ѐ-Ə\ ^Y"$MϺ F 0n:`rjMc<Ak0mP4}|rPn!pM @ OIN&*萀U$a& OEC6 Z WA8D |BA@G0d$B]&~E$ ^n ܏ @m`DdJ`8]ATD"Ͱ @ b @ `t& `AVÈؘn@ L1Q|e` tFBd/~†d"5n BѴ@ʄI2 @RlX%Xs%c&f'@@ ƒ`@ 'DWŀXEX c3` ܓ2{b0zR(A6q" ", i2@q d+ ꃠ"R +2 0A0S 0ő.P 2//23'S(3` &%4RJQ& #(be)c 27i2@ Rm827`9 *:@ ' @ӏ..ꃀA6`9<<220 43܄mƄhK2:/@@fj"/Z @lf /H 2 6 Rg  H .D,u,|Qlj-a|hbTh$? ^& An@| (~ ^R)GIm<  z6 2lg6W Y J=`@ &:TO0f An4X |AF":\v5 V@p"ǝRѝQ[t@n DQ Da:Da,)\_1SWy*O3r`X @p@ +H/`P ^ Кqf 0t7|)& 1/49bv*EB%2 E]u.AhM J vIh`;@h 6b֜Ơ 3 i Ҡ\ hpSjvi \Ša Vmi  #9vp N p6i 6 i‚!:VbPv%$ ‚<+Uh>b l. 3.hwJu`u^ qC` "th@=X ` u >`w@@ 7s` U @ E {``^ 4 Sx2ex`Ϡb*B([v u `&@7b^ `e| wv[1CT8 @wtWRe(`87s ')/B B  89( C6*°di& 3d&> & ?3B`RP^ VVPLB`PU ld& /( BOw[Z Z$EDx`ZXCÊ} r@8whJ{bz 5 !  8`Z`[@ 7 b`?*bTV&@T(8yurp[JY(`s&dI q, @~O:@=c63b49@.`*#,`h Fe"RdRTtIK@#a9>g`@p$5c`/d@]dR.A6}e rzd" :ZAvd"CoQA|r`S(ʶaI1sf{G?|m}AB!e Bt"a[~,M n} *Z!`e *g#aQZ@t<ZB:q-zXA{; `t 9y@t i )F JgtA▎L:--6a˻!|#A$AϪ^N `0<$bTɭ$,L0!cS|1 ԵE* A[Xd KTE EʛUi@BT<<Zƙ @0@rn-ۢF[U  -ZP r5ܕ{cnh`u顔6av]*H==1w;A܈1T3. =~a66Sނ]]K}GW(*W `;#R0 ] >(?sb >8=Dt^HAME!~U`O_^h? @W @F^UET ~0Hc >h~^, JH1Ae= sx oI3g7 `Pv2~ p=<IyRc&('Wҝgs)R);x>\^]\}@#tf$S嫋A[+aO^iqP1V?/R\ M =z@jfw B=\7EZېiB A5 xB| a54Ib%N,@C[|U/lU&5g%|Ce=KKfTDAđ!3TG[  돺q˭~9OHwZcw@NLe?xZFA0o =\f5. .`*`(DhA<a^`&`$˚$Wm}E'BDfCXgSDv9d!`8@)1/>юJ"a<>&bβi`V&hwF -WQMdE[ t $X0mr3 R5ޔR3 $SG 1+ |AѼDC..ܓ  2mc8p2CBWVròFq^2F %}O@03  ba%E<|{\ rpC*ATu(i ( *> B"YP XzDaX X YeT@S6@pA(4UVVnHvB"ag. a>T @ƨǀ > H[@0EE@Kd\@D| iP `u1 g̫ɧ"`ANH nB hDE0l[D*i*B$( Q')ΰx`BTD! @Y!1 X[P`@M帝M,XN0BA"3h*7)YTA:/f+W#6 _SO56:: d eNAS׾j&,ϯ n.6`3@V&d]9_$F TLW{(?kh1oChTw9){e3371,Ơ00ע1b'u1 V- D Ή T@o,NB\: 2@p %b>.T!n E5pAN` V]`PѶP A `F[!`tEYw+wufBw } tc|P!w|w|*wzx NqH]{!lV` ^T) 0{aQ>{׀a +ACh<Q.mD,}DfBCBmDD4t`0R!`[D aa*  p2L_g$ ^AfM`6e"|A=\a968;>~ D$UC$A>~ {|R a:d#~X , F`P%b@n b%|ZA @ޝ 6%| RZ a`FJ!?D@^ `8ݬ1,_ _-`DՀD¸+BNB d#M@`|+ˆ{eAfGpP. .epD >!֍iv`t`z H鞸 R>!dbP I`V`&#Pb`O U0?`4 D ,%D oT np |J: <[@q!@^ `T2@U1!Z@"qX9`3xoR <1`y;g^B8F! 91` p*r8+^oB4!q uB3}_"?~ Xn{$,mfjjlAt/e=]L|Av z ----ĠI@Dcn48A2dz솂[^kJCJ3JRA"#RCF L"28#U-D$@hU^ FCJV ι! `n* ^.`Jd^!|:V:*<`F@Fޠ? Ȅ F ӌ@DAn]>h?4"`(3`CP0\` D ?\dSu9 όhERG`<.``ZHA ti>E^ˌ}OFļAAxn> 0L`t@44p0a] cq0g^P%j ɵ?Jhq >s h & mH/Rg:tu CbkaRcnI{F 0WF~ 3Tc`PܡcOvK՚B`D+q@1ncH&|2]sq8ì'ΧA??^(WG~fk5t4fk\h٨avK*51h`efY@f o9B5'uE"xp읆nK{h1A߻+\:mw&iPG95&?]X # "`)\ A c_àAa`fg("T`- p pWwyt~(Ldvic.Pg0vyZOba@XEgzI߬ 1GNåu/\f v (ozC$>=DY N!A2@p, .@N09 q JO *"4H^@E@vЎeH`lv09h.+CpgH8#Rxf!"̂C hLAm\͆u@T &@kOP4MH$(?@䤕!఑Pk;E#$ 9I0pp BF*NLb/0C-TA  !vc~Ffvo *CWr0mWѣ5FhG 3C-4, C>5  D<0jѐrizPT$IInK# <pG#E M0@ !9Y2G 4:ƈ: @cԝ q8h#(jW2-E _X$ia,XƵS@T!Q#h" ecʌ1L 4>X!d+` 15YAh$߱DY0e,#[F2kyd%F\[cqѹVZ=mݨ7H ;y@1F6m[,L2?+}I@ 6Q`J Ex2`` \@1 /cPd2F c(G\26 c(8|2 W#,?H ؀$,J`.+Te1r4h/Bf_h^K.|`%`2=xZׂlrƁ΃ L-M.@8 1: 0j^Ɔa2u8`aꐟuv2CcZkѫ8 1Gza`kfP+ KdoXa|(O@SR AU FBC4.H˂`Tܶ;`9A@" fPh0<Fp06\- 0F1$ 5$t5mC؆cc3v;Ӳ+ @ 0Ad:.ZPj#4& 2 " 8~mb.<<~rfO匙wC(Nn`1`N4/O0cCPta0߻l /4_A G=a 6L66@v*,jo<Z"c@d 1 e`dP< b!$6bT@B6.d$!d@= @@< ? BAuhPpxAKo8kA ap ` za!P ".P"f9 ɪdЧzA 0!tA`Aw@d+s *ed WQc (p$j@Hbf 0h!AfD&n1*+U$ 2P!f@`:@|af< `f. %` `@q`fVn ` j1>$J(%TlCjJ*+LHaTf"JJ(2(%$i,4" ^f$6+lXa֦ahv2@f.!,(`FA@t |@1) 7i3.%32F 'SL$i ^% Xt@\A$B H0SJ (%K7* 774LD37A5*`}53I<5a8@"X6Ә-N;D'@=Sy~353NE<)O@j)B1Z@- j 4> jQ {xm!,=@~fnRN"@c o6N `n@1eb na>b v0v e!8$pa7mvm!}n6dtO`ooCnYa FF!rq@qqq |;Tt`BR"4JHQFCH"It;suGswMu+uWYv&r$a@rWnjJy !H!<Mp"!`qtl  L?3Nq+x7xKxyWmz!r`7ЮֿAfW!@&@V`V m{;|H|8 7H!`s^X*e `t'x#w|sq8faW}a uvXRuXᛉ @u{b2jP@ 7mwInm %  x*AbUnadA^Xx tAvp6ykY19DByDD-D|"YXBA j !ӑ @v@blx9xAx@ta`vә` YZ E࡚yHIfC wg@vzAܐ8!/vAadZjyjTE\۵v`(X Oh *AAAA@ۡ*  !a-w:v V@yY x"6'_: cڱG@C(4wb*$$(H)D$  טI{;  `b[-li[;@=i Ax\ >-cM%"pA@yE` "a 7wxrAԆN> @H6~2B z@PW۾.. x 8! `z  T@`' %Ja 6 Da|AHUġ5JԔkzzvBA@ɚ vZF10JR4+.COM(&# a%Vƀ;s1$:O ' DiR'ɤAhX)JBHp#y &Luq>*|fF!@ &~RNKg$Ki4\f,("~B#$6y5H.٬pD   ڰ?Cqz?vh$j;6hT\(9s:@fǁ$ gjp>u\ `C5&񠣖Sa@S:cf aq<g6) /L'3G`ӌ&3G/ٰ(CPCP00pS4s Lf!,"@&4/4׉H!Ac4 $'-IRL#=Lh+IPqƋ  P0=Zby!;,!>@00 U$``Hz2@AދMp䇥5 8(!@i`60N@*P x"'Eҕ#0l̨nTlv2-ˑ\Fl+@ͩW:,Lu2,g|f2]?4> Y!ٛ  ?:8Aۂﰃj8FH~C"0 =FI+ J=`$F@`$@ `$. AcAX _ p@0`z@pC @ F|P @@ c0x( A.@PUa+W4.XE;xN hS8@@ -fV` ߁_&K&0D*@mo@BAR aUVކ.2 y0xBw@YOgtZ?TPu `Lɲ!x0z5CiZl:P+ ۈ`OAO,?C0@C#gm r f@Y`D-ҁN m p *\Kunq(@X 44u  ҃zp~E'^d8s`mw{M5A3D'F:<AvCp?tO#σ4ޑt}]C~A:&髣NGp*`HN]݆h@` G{ ߁_ Z h-;+ߺ#U( ` z< x;(<1;~z(}At% `wyN6'$EH?3W bǭ{ p;}3F!GR$1Oc(aO)@ʧ |Fmìl8)`a_1Ä A*Qi]R2P  @( DCC߱up   0b a _e,  Amla@STE ɝ3A)͟U5CYhÄ4CݾZ *ԟ%R Hc 8@v -C 7 @gfMAG&DVAL%$|dD%M'fD%g %80$AR6pFlPh&"vrwxDNeAezDJe w pMAp_0 <A<'R<%&AP PX@D %`0e/ ;%/ @FPL @=$98Pe@ 6 (D,BB QKLLdUK&f%HM {i% dӡ `oJA 7eچ,.[~^HCx(K2 0(- AP"XlAf  јF`-AZSKl -.ϭب*i-@Gq&#-t2d%16х,"sޟTKWH hhV|x[]8A`g \q@5"N.@+f<҅Ib>z΀5znd)}j'AxA0o6d HTM@ DA:g"$:-TP/mAkfLnxn@ /:>hR`pGd/3h@p G& OfR_ @@@or@A$U` . DqrfD{LHD@ }g܄A֠ADOlAT D17A_@@+En"@Ho2;( (@k*0A{r2]@ @ byr@A{%@</#q$1%2 1j&2M5A4@pAL}߀=lre3 P  sdL#\2c8 B|1( t3BzrEPrh@TVF3t<䃸ЫCCЃT L3B騒s0 0_MM\rxq̀ z%HP3`?\ʪmT2  H<)P `Itm3Ox4CD@P$4YV`6PVh~[p$C$ðlm(4TS'`!C4+v/QTh+aZ @T0?gv? 1d 4kO[B6?OlK7W;1ghnqj@ =@ |?UgY9dmxP}F.vZKGWBѡI<:j[a*,  Tl"£U+I@ l@C O@S7Kl-*`PZ3@B  2:Mp{{b7jD8׳'^w_C We(Weۀ%`A%< C7<dl{ 얻Hg̑5ATDoHS偐 <~c_ƍC W$c {Ͷ8R_юb@d GRi %2zvwdMR2Q,O,{~m-R%*Sv%P(+K@뱉G 1>qV+Ҽ@ ` Nĝ A|WɎRz)fwT#Z ܺ`l O͡l?AL;t`o7?t|0ˍ pW-@3|9|Ҷڵ'a(@6V}_U/G@R2PhҐT`û{P;{ "u-Uz?gAW;4m4!@<'zŀSp@iKX=7-{8 0z͈4!`0X ;LDCBm1*4@8T8C 9@L1$s@bY( <|uJ,{\`+&WuqA.^Ƣ2jDA4\2T2Q K(,+,,|-rĀ_mOVG4X,u @v4%p̣ ^u\8xuř P wߑ"(m ѥx(ݠÅ ( @b +ҼR+X64F ."t34j&#-u\`κ}cEe <@;$^1o짠z1(?4F_ഘ] V"V!@ Y҈+f9M)U3__VFaC(3[tС StKbDh6z`.ah8=H^vz5T؇FVB-Xz8Ϣ6xe|?сH<#U`@@@| V@ ҄ 2h ȭ?\DL3BKj R&~<t|T@}@)?tX U @-S< h@ 5X@)XjJITV 7s}Wc3B܁˘B RXA@Mȴ9KuAH{>330#5oIm"X4q@xm M 0y `6"xml>* 0 0g[c&..rl@fiR6XC` 0Ǣxj"=Ş5% )`N H]XIT4y"锂ܘ(,qVmq*(RfQqf?bk`Wy 11`Vv}5" ց1 (mExJL3BH d_2NT0 %U@5=/\3I-pC4 茨h+ 2- J6h?@2 ?H@ H 4#̃(VU Ѩ0d@83iU+,c:σ^ټMw݈NsA\EJ+X5Pks*;S^"8Mx?8<2xÃXs00jdp33CΤmϘ0.LȀl3d|=i   @CƈC~ìT'4@\@pN<X̙.@lH<>F>Ô;J~f4J@3CH@bM I$XZYC0jAl>x |#q@< @$$947{k?6 8B2@K|=;Cd[ K1G|+00D_4^w_$h15r!rݮ 11)G@o_L,@6-^w_ \L @6!bCt3x3@hD@ҸA(x*}8d- ~ô 3F`VY@( @`qUaC=x@9CTwT3x$5A@N8^ud4bG9MB$=ek@8(A."Ftcr~8*p2@2 60xH >gh'~P{$ 4=@ZOL, >`@mL A5p $<K L"m`@ EbF< q>\ ʰXslxc J!@D+?@E8<0 mD >t`gAE,^tɀ@h;Kx[p QS3@ -[@<p,j)9@8;g6 Mu@~E>oC5@h @ BЙG4@MDA5 6NƝrg sLrC2A/2@2򹁜@|`\  h@E  ToUI6XJcsQ`|AM,dQ@_0i(idu9\˜,RrC2R@P hCs@[c W証?8+63@ x,C2 Y엫46tVc5'?L dbpәOT5 ͓  o{B2\ 42#q%иzA`;f"D@ fW+4P,(Ng3d 3Lx|Q$  -[|`a: fR~#;"@~բ5Mc}S~/3S 4kA^1LL5c4" {N=ƒ>!|[r0/ a<DA4.:@sgvPa&B8oen p13J0W4 3E> BNPG`[L'įF!>r!Y_%Bĕ#$à?-ǃ?` ^83e, erFP^As`: o#(?#»£4 0 + /¿ 1mFd`/@ Ri,`HF+P=GQt [` Њ  rz x+ sB˳{5€\Z0E. 1r q0)2BS: Ӝ%_[QLD5k!>`56C^弥0̠:ԃ*?§Ǥ^"*3x>[@D=T#B` *0d.<8`8Lј+@<޽<@&2;,B;}w<"ܶT:x ѐI|dfk``w-~F0PFH|{aA |$^&[C$;@qzcK Q-Z A ZB)/lؖ!Xb9j[ < @QsfHn  [|s_30[|bQFH $&PLT& ,hKn8 0z @@ f ExXP,l@\iy/x=2V()ZҒ>ֆcpn>1u)dA b0@h hD3B @02@8 EL 0ڜ9@@D Ө%40T B0 `C@H$0C @ DsD8@ D0.P+ !V@ܼ |X^%H H C$J2A  XCh#.J (.a@69@D)R% #B (\bA@::/M00 N 20 : 5cE@l>7b4t ?2t)I6;@AJY"9bD<3bT6| \@AC$ d6C 4 0D0G)H^(@a+H5@8C4@ @L$AL Jٴ,7ͯ @ 4ѽ T1aNA|:OXrLD0ªK@9$=@MYZD$ ۡ:@1A e /C( ^U4CT04 .\ yE?0 % A &0ilJW ( @WZ `KĀY2 41@h&t0gf}G'TaO2 (*C&0 Gկ fzUW1C /&tpq r mRt2}4g09'MQu@N(h8Qbfv |ENŠ \@(5@DقhގX4D:[U° C@$îxb| CB D((@՛i("i~H2 ` ÄHƖ3i(NpRA8A_'9e\(V1G9q&Dؠ:r@D  }5 \ 8DD V4T NjU!h`-"ƫ§Y +:ԲY zV| *@P!ꢯ!pJzrEOSff0UC 6&2n 03F_M@ NA81AbX0AfN@ 6"桾 ~9GM( :;;c;c$/@D3AxD:o@,$hh@ / "C,_HX~nFIp odh)80x*K0xB2H ^^iC hAn/袂C >1hq]t1n%1.4?ք$@\C @1g@8[TJ_2 |=``28J2'"5Ȅ$2K%W%c&'M'$d \?AcCߴ80W$?| [iq++$M-2.7.4C @4C(r,q,(@h L`2s/3U(3s;(|KD!9QKBK=s>s?@3Nz0;9U5 19t,274qK[R,.J"RWY@@'yM+ vtA VBPWh@ ).w%KZr$Y)X(ope+H#D )(|8W*̈́c,q}ؼ XWV^ B mJ5lK&OQ)Vt0C\a"1U9)]@_WÍ>(XRIʪ6p I .DLeCH[6ŷ_k \Uu?c āoi+QyЯ!;rÈu.軞|ݜ.r<-|$ـf"*yι)|-6RZiO#>yHUjV7JUYZVMC+Rg %9,rVK5\ɵfxIϕZ TR ' USZ}l iG3( s,ڹr z3cZ*H%lKS;  ^e; Al蚘} q%ƕUz 5k u=N]2B{*zF^*i 1b7qN 1ɐHSʉSt dBuCJ:>iFӆ,@ T)Э =Itt0:O<\_lg nI[X}Ze1M*7r쬒.jQ+8`'f CbaCa^%EdzKɆ\Gs)͵aĥ / b*aVޒdL-kp8$mCG&U@Qp'^۵?0jUɋEY̋"'X)7+ȢsyX07 YUP a$ Z2c80b w IMTST ZZ0MI}}IIMTST1 Z80[~~NSMTST2 Z80~~~v wOPRTST ZZ0 \]xx`w`wPRTMAC ZZ0uJJZ80TEST FORxxZILOG1 ZZ0<ixxiiZILOG2 ZZ0QxxiiZILOG3 ZZ0}}@@ZILOG4 ZZ0f @xxkkZILOG5 ZZ0sxxiiPRINTX ZZ0鶯 I I vMTST.Z80(  #ya6it!iMi cI37APC \@e<&9X[-& H$A!Hw<OqR"ʂZ H"DSZ5P$X$ zIo:  rd23AeW [kDZ6uh$# @ #I2(l7#  (Z""r'|vCQ#deB H:gR#|CsSt-Z'\}9̷he7D9CbrLs=i4FZƹeЀ 6)^ny9`G G5 ldDB2MaԉE^(JtU%rW1Pha)w1p!e #b]1X7,!%ozqsx6Fda$LgVEEa-a1UrAL `&AJ(e)ZQY)YvWDA ZU <vOPRTST.Z80( F9m ) 2(o7 ,&r9ARPI8M"HPT$œQ*FRH9 AnEc"ga6M#!i7Nƃ ?5"m8@1< # S $(N'"JO82fqY)1aؑ%[Iw#>HiIH9 ŠPdAR @&]$u^i^oAcIߧϏ̶%@'Dezdgh  $'jiicBpG! wxD&[ŕ_whLD!L C6YxNn#bq:)/^E %cq02蹱ge'Hbz 9( Kdȩ&e f&3&gH!q"i( C ai aA[Z:|M <fb[ҫd,*<-'jx ɯg:,0", or "GD^1{~ꀑ# |!@OnLz@EqB]$neιG> p$q~ODN +c[c?S 9_@!$B'V &uB0Pt*K؃ a P;bz!1rZHI&(Zx [é{DHRq"&144''=8 !̄(,s@%'Gh<~Q< Yc ;##Ē@Hw%$,zzf@8pd EX'L:PiF $LK7L $NǙy)dR@K.匮Res.ft[I3Ē3RdLX5%3R[N9.HM5:ϝszHι=lxsF>;'RO)5@'Ϡϩo@'L4gI (2}J&sAcLj#,g?Hr6FTrp $d8B !RK wOh$tH P*4yu&GzPhPT13WJܠ(~'( i?.T?V`)ֹ5+uNu} -xVʲHXaW?p@G`dX V0F a*VoZ,vv:h՜;Gj4־ZZkŶ oIVQY`a,2N=Ic JLqդ܋w&eټln,jۋzjwJqkp,UzGLQ~wA /#_ab߈18Zq-M[m+8Y[o$7fV. w ];,=/>q  i'A&b5r/tgY>/wywk.e0s噚B5| W߬5poD:Lr\52(S weijW4Δl\).~pl ǧ5Z-2+P  lnW&Az7Һ(w%7EXHvN.%_ɴ)qW;Cؾ+d ;JF-qB+W:r'a$XZ/nC6J*EhC.%tpKk{:hGTO};cO'2zHsMvðN3g}wy{O&w ۋFܛ[y{<+۞7q4}nb}_~KVWz5qv>]n=ӾDmظ,y?^Z[p/~3r,Bg}1>>g suzvyp{e|shCfD}jX'}Wv~`X'oU~GG{$|,eX(swcudI;a6lv=hd֊PdNH\#6'~&S >>GhaM(nFU"m(X?hHHnxQpj~ ,q8=xz歠A8J F*f% 0U!4M*[9cIiSiR ijio` 覷Gzb#m[~ mKvX[$p떵),HK~*F i ޹*+5U9+IP{SR k߻wrАx"{ŻudֱJlԕEzx.NI}XM0|Όܙ qGףӥ̜&2ʇ,ٺJ}uXWREnSw1pTWp*H7GYs1ѣ](5)ѡp*:wpҬFj]oJ@wpzKPʹ)?+Rw.@M bH:h wAUէ"+(S r yMׇ4W=k~VMH׬.Ԣn*GŧyZ7<.֭WA|fټX}C ሦIR ׀Y$aˣCb~(\$Յ Ȅ1o#^B xFasP~U.<H!SGl.Qb6*<`XOѠNt}/ a޽-)Mmd.Jΐ>|%}N'*,Ŏq،.vx^8~:Ϊd~{^~ߞ:~K&敐rnrn[rn<>rnm;4)Z7?rn螫뎣pN:jUf^芢A>@`S*h%CԦCf..&oFvL+ zڝC퇺uJ|;A~d΍qn&or4oS>nN+.N5eΌFPA<@>U>Z^\^w?Me(Kyp~̽>d}f?:36޴xf^WjR0{|ϭJlnDE(HcA$݈u=BT(::@bwT"b2?40506075Nb?ᡤ@ ]E`I]]E>&A*Go'1D1  &H͘]I]H&HJ2*ox3}qac#_/sT)}R7;n?Oۿ0_cM)Q0 mw*31ӱ%wfUQ'zp'uQ'UFm^1h׉0D: }eQ_of3ہ[՝sO:;?wZ:X5 e_X5*h_X5e_X5_uX5b?_ߍהeQ\,t-ŦX57eV#5D]DA5}D{X5eLM5b:o_ߦ74BH# inZX5b:q_ߧ_ڄY\§5Ze -#aABLA4AAjt!=KF b;-߿+-{-rY[{^O!Ӌ{A5/-dz'6Mrr5(JƎL|AzkV3zk_#zk7}n_/o5fp301m@py@p>)@B)`IΔ)@I$In)H?JvB.[kc'wi)EXvCXvCŸ~i븝>1^Yhߝ=v'i]rvI6=Eb<"n>vXQP unoM;C8Tn vf6M>gi&11_'q$,v{Fd[8꘎I)]1ry_o'y!yQ˪JQ$Zu0Jg\.tvzWJc:y 9ZwwJJ?I@IJ?w|?b^N^qJ J?Mq 4<&y$5Xa^¯؁v,{Ffq;c2ƴ*&qbcrj|L @.8F`Jcb)۶[O8ÀJVuOp\,`18&exKOL79pC(@uTEݎe1qGy,'f23VC_iA77E<|;_iJ#(K_72=tqߘ &[՝umϹm3=x5:RI|.Itx5<^^PMmL߽ 8mTOXѐTFCunR?B G1x1Mt8Mtt@2N@34;">ԙ"d n4Q}ۛcW:y+q,8Zaz8888CN<2ȣO8 mpJN(l=ga`fr%$՞3 DPRiL-. ߱Ω}}op8cjO_z' mS p( TEU5T y0 6ui*0W["Fqi%NENf(1.q(pF+PE01`-!$]UDINJvZILOG2.Z80( h*H'3b6NB)l:Ny@t2΂AnU2B𙠀i i:$yd.- h7B)u738c ;A"lZ1@o1*je: D"QJ ;7Y@i1fm:q'H&# C 7y.kpt R ޅgr`6#1sI !s8 'd2 wA#a7\%A $Y 1r[yg7`ѼdS[MPhxde"sFt]p^CMEWɲRHt%N(cJzIDdhlw y>=aQ9%WexkHai&BU#pcG];Q!MTj DvE)eI.$d*F IBTPQIv&yDquQq|BD$EEW0j"(*pi^E18Rvk k[+ oV{ Cr9cU(`g唆*JRfU xlaARkz +&[!SѸoI`u,;k`mlm^FMjvwfͳVC.&TIנleń-[_=+g}- σI84u\sEQ57FmGcQ6m0-SGs>-|4;E{"ka@0v")xvQ2pJxc%*I#"AFC Lā$JS$ M@Q_ATVŏdZ4\cz-|f⑫lpwD>D uqл0z$_ *F +&QĵӀA{ s! 4hP* ^H/$B8 p۫:l* Ш'  *xPr *WphTSˈ0,§] d ,r͑hoM)*h@Vcl &bZԎ|$8x F<5r ^j.g.Qd@HAsgtP7|;(r`G*ITg9,dN\9yv`ʶYC,@Tg%r39fZ]I/ݘ2iMI.fwl 0\X+9g sh3ܘcNfzKzJ98dM sP3~ICf@GqHL€T#aOϪfiE*<+jvKJj,+PPԪdKDWF72*< y5YH^[NU҇нXh5yW:T-j:\,(&U[!^ v"IM`b>T9]hkNYL +UVY llik l-i![\%@>P[UnMw6W m Ҷz5n[> ]Fq V\ zh_7װAznMGrH+ VAT&V w~kZ w06 ʼ0#$[aZbŌ rK  < CbDq}X̗AcyD `lNSVy!1&rW yQ6l[7Fsŀ;eÌ/66 _|A~йh~љGϠ[,6c,`Y|AfӺ$ 0ѺK߽2 6ѺH!^ynޞ ̾;ms1 tUTE6#)"4 0Ny,Ɏd, 7lkZFD!#e%SrD .FePo`wI._4')0{_.1euN d$Q 5ȓ$mFU- H *3ɐTƤ'EZ=E4O=B+H*00л3 -R~z㒨BZBU a GNеD]wY߻E`t<ݿ`y&"/)&@D`䐙k"&HyzK T  YwS, {ָSa!pl$,Q.I:7x4*P_OBdi+RH~T(B&p v4 4@d{@hw3B` CB!/V@ @ T)P`2@ 183 1n@:A;dہ:8KP`9@ @X+X0x/X:a2f 5@CH MRaπ@Z ^!c"i #n$r %vh+NC 4έvZILOG4.Z80( h*H'3b6NB)l:Ny@t2΂AnU2B𙠀i i:$yh.- h7B)u738c ;A"lZ1@o1*je: D"QJ ;7Y@i1fm:q'H&# C 7y.kpt R ޅgr`6#1sIC(Jr49.WA6 P  tsj: Ťr[dG1lGOygez| 3CFAeWDAh d1 E`auOelcG1AA N݉Ƒ+WGHIqPEbtUfH RgZۉq#E%rl]ЀuYDWdyMzM_!ŅR$T$r򂨂̦%iPELߓ]"$ z FM$!؄DŽҦeJpALsBH`,@(x?*&Sidq3P)>n)-2$P(R膀VT`RǢBU  C^bZ08DR`Y!ƇBT#` hY  ;TjTV *- *0I `X MM!ʛSt 8 'jBA!LN 01Ն0„Q0bZX2A0T*2 0B iHPP8S@@Y: %a&T " 5`W vp p BO }+b <+[uo Hڠ25ȸ. Am# !*AB7"%  (#SpfJ-5n[ !r"srs# y¨`i""""!9"t**DM**!9^#V*ã .ovbgn :ovexit_ _Uorg_ _Uend_ ovmain_@K׉'"60yP"6k4l$%TKso`+Dŷ p{ h8% @;ÐCk]ҏ!Dߖ^qNUg8A?ë}q:bF˜7RAю'0De`Pdm4.B:!_!<3A8c]Z+.4CCWr46\Pk1хMAU([,9F()ÐGÐK<[`,f)O,9ąVr9Vva|("d2K!)1i5 0xQx2љBFf|r*r40,dep̓ț!ʳ˞:0.v%͊$(e*]=?[iSO`_s/{-ȴL+Th%@C#ȁ.1nRL 'wg:nCJdpTT:h1b>CyحScZ yɱ=D>Pe2XQp8Z-M-14佼 &(0bo&Hrb~ \BPF^(#iG]0Hz"^8ʐ-;Q0B灂'>0gEN4+3,2tNvxGbȴL#OjsP"__%&$b-ƚ11!}V2JQ&M#M^<8cp,$Qp,r9(,!@~GG]ax%\ JRjR+4c['[I W̝Gم:{S5c"R}"Q-}tA5g1@[Ĕw/,4ooӘ-@KctB<O׎K-)$r0tL6?4уN+aI3DW6%0D4LGr* sd4+40.Ǻ!=!,,e 6g&+ܠBFo|<Jv~˳!$feZ-2SgfLԢ{$a_sT"dLQD?\r-~$yC"љKC4^?;jcz:yp5!sSֻSg>, XW!()MuᒳLˤH\\&`!=W Z+T!b|Y [" qzA{z)U+@y&)64IX4ᇖ&Z)T:X W$@ ?\wf0[f"K ~BJ' U^+@u?1w IHGQzϋK$Go7zM "7^C03t!3gۤxmo~M=Xq0Cղ:ߡrIX4ܓB""~Kr3p#oWC6Q<"ej mXrjY D3 ~eCv8}Itnz1A{7 hf_`[S-!38~:EJ^pZ!8?\/ı0,_[D̦堧k<>O-E/#6B87kӣMїf%ptBE Ѹ37R^kR 294(&,%3 1n*wMjZ+#"$P&]._-da;nvms5~J^27!-!p(Pe؁h0ьvx{bEQ”oQ%K$ϾLB1.*3R#J*HRcO8;Kh%(ꎈ'H8:)|HR^?s-,>BZ/sXC/Da]i`"b4MiwYe> }3 C*X,Z/^(eiv8ByeZMsdUbgaRӠ-)Z"0yc )YWH2u;g]0Mc]|M(50"A WB5E'V_`Y"[!P-evp FjCrJ+rh4򃽱۔|oqE)/3w"%?ck~*4>~{S!#$do_1, a| WK,N\[Sax,U&Z`P7ggܗ!!$%JEA$HHxUo;Ԭ)Uw.*}v-R2%9`u)Ι2ݠX!Ҋv\!yE^Ficihǡ`APLEcu`R%6 ;pȑ9tzڊ%&bh"z U"?aV]1fKAQ`[_Jr]T I!uf#+uUzsʽK_0OmrW(D~=|/g=Pyk:[ TZ!8!$~@()CD8aL<'d4Q0Z1Yc"'hq+=|ɇ1CO8Z ^n:Z[lH6b%0sF$(?Uz̔ ̓nJbޠ(Dŕ] Q0/`y3u ikj<4"!qK h~1*& X_b&`=rEO`_VÐD"f[0HP{y/(G` ];*[#R7y@TL6qmSƦORD]͚ #Vn @S -VR9_qGVhw|_:';Ç\VS36;jY/姌*M "yVTbx-&!A3'o^! S/(!M,wyVTb~I1a"/sa2X=f)Q,7* )Dokڕ %hw$bBPfPhwe&IM/TB :؂h4]2崹h&vdzψ=aITu);]8F]aEL+=2QEW=(&V1]E#$#8a#w*Zη_R#7r1bX}<b&bp V5l΅Ӑfrd76>xX#q"Du"܉"i~D0s -jpm/D)z<0"pw\!E5Y—FÏ=%ʐ$%^8\MQ@p"kLM:vNE2+Q_2!Ϝ@ CgSum<(\kX?k뙲K$peJ{чw#"Ej&p"d*\ӗY"a3#C-'"/a8ȴL+ \ٚ}`'Q`8DT2y5R@y\ks/g/Y?U}`cljן4pJ84XqFT?-zb~%t˟(ѹE:UC~cy +Ѻ/?<;7B=(! I!I ,C!녈1,6vgl㢫J%ysv`A6L^@UkF'J͋Ur)/*ѺPDl)kXYURrx{Nw{hRa#kv M͹_9FFÐP)*݀R:a0}88O*4B)]nyB9FÐP 9%7){~-bsr蔒*K/.] N0I|7|X"[5k#kb+vY PuS~F!ZkmNguB;I45w,C׬:T~BĺW @69DNk_' )R<-#nJiwPబ{|l֌ Jg^H)5Lg#\k4e7ZξA2^3F0%G9ތ;^p|lk%"[ԓZY `R0n1 AlFy>fVÄ3J߸F_ rP|Z6}Z/s f|h f} VBM3v:PgfpEkpPn'If|PlFkUz}b_t)C_*izh#r6WǮUR^@ 13lw9wA"bd.>2GȯKzT2-;m">osc 2M sza7peG{ٗ):] ! ~i`Z I SDAѕXrQkTX2C` 嘗Q(yh <5Nw0Y8^'ڬcP˲R3an3+qK6P(Rvv-"XpXl yl( F(lnt%ZQ9F b^y$]53 7g`Uv.Bg+7Zm񹊕-oFdYՎ Yٟ"E#E^@)ht  ځKaNqRvvqґ #*F~ƿBR˄2{r Qʗ_3`ӕZBEN0kEGeOJtҋOGnR7Zء("Ô%xUQNARv0jU±k&Z5@(aR ).oT詚gMa@ TIV0SOPL_kUeߤ{e]0OpuJY#[\uB=@ 7vl?LPDf^IR%7 /çüUT#GR!!#$d4C>(_ sNCd81!2/q,؂!D=c6^T#" aB$"=.yQaϜ "XW(a@Rz- <.@ZVuJq(mYF- ~f8|J~$M$/*IX#%t."؇ϋL.I&Td!eHFʲL9+=Xu"1ͽT`!?3NæC&hpPK0RPdJ3 BPpDPFU_p%ti4 |ދ9jX:>NZ#t`0U9L(aW%8$,|QN#&ID%Ggk #g@(BtKFƛufJ_If'ʶ:})Ol(hQ"Vk.4HH.QaW)v>c?Mq?5-(E{p<7w㪪9Cc>B\įKK=t qtAhypBs H@>A2a$)j~aRD"uBy6=SB v 1.ypfҟ<_ Z&H$ʟ b\RhXh3yf*f+fRp./Xta܆! A4'Hxs$f%F<2tMEҚ[L䗨j@R&HPG g>hL[~4%PKTNPQgAL$43lYwTSO=6\SjPI;şk:riMM3yP;YHCa7 k06!l‰F@ً]R|ޓ⮔k5B Ac\U 䣘*לZ*Pj_rBKb35OqeqR',G1pvO)L~b@rc2Pf\Fk=EQp&>IeeBqavCbH. (_%by&g(5Q&m (t|/(W43?0! 3F+x!468`g*f&!џ)W$B3[0]g $ R1Bx$d,80"#kY0;x249%d4Ӣv+?Q$o88YP!^)q5X>) >BTqx!d$"̓D|MVv(Pr.(LsK,2&be-&% /&_PBC/_)&Ig I32mB ,K˸rQvtAL dUQs<5Gh\0S>M@v/9.(cқjDE-abTx "

Q'c6|r()]f+gP ޫʔgBUIAIRʂ_궰Qtɰ0fLUu 9S!Ly2F9!HG fAb:_RLC@_3a(86H84ޝ_!H+ l-gyC>lcûG[U\}Пcݢp)!qL>MKpӁU\ x\>qdc9NpI TQ:pxIkO>-84QٱK41mzb:\U^:!O'8kLs362NP " ʝdAgP,>h@ j!GϧN=`8a'nlMDF%.`APL FACi0S>%ѓ--FB_(&ka$ KͦY<"Ac}/4G !$HВX>I#5!kK/-3TQP11br!A4GJJD^JJ90?O0WȩaD-umWY?>SJkѠ[ܕFDL3c$PQ0BҺqnt^ G#*'˒G5X!a=f3Lӱ'U1.vd\lɕxUO7$|,ޔJ D!A<7 Kd,4`' co Lw?(KMyjȏc;]O| q=D8 ~^/ /$al^JSB?7n_zþ/қu1%̮%/Ȼg+d(X")gpk12Ezڔ3BnHHؠ'H5|`9x=䋟ԽŎ3`A?Ӎ_qtY|t?h桪є# $%`m Q`@gO*V?O)__OTXU664:!oU\=` Y;B~.u:> 陑iٝ+AA+0.oП\A` /3EA*?q%.R_hwQ)CK3@vo7H@;;(~F%N' cj!g$p`7!}NIQcǢ\S+Qmk~ ]C s2~J )81Y~eX"/*SH{Xq\K.jB('蓟aA!B/ ?pGo"0"\V1$QȬz+ɒSJN "* }+ d% |*rneCĩXH*"ƸN)N6xQt/*01JJ`,G V+=f':.coB1/YIKD?fO߰COR,=?w3K"hD]\!ی "'Y(q贳@-Hd2 .5~HBp;3Γ:1Ļ23zde|,, 0+BҖp+B0DWuwףc7v۠(w5Y] 9G#z8kM 3w6\,:G@b*gҤb?RWDMЗ(z%e`ʞ*dFρDP=Ed=MF{eѥb$ 0C (Xc/'eV26͹um "y>+tR42#dgckdq-m Z81Y$8|a/27AMg,\JP25_܃dbu[,"11L}]fBCѪoxp۽$!KnMH92K&aDR<'sYBPe]2 r["@86 ZCseȌv _e>s0GOm"0XIR4A-#.&iC!sهyj*B žqKhPd4:0]+ 86cIvbC2K!Փ'&6l"|pGO1'|rIٜ}(j7ʷMp(IuАEH":d@F>g] ӡ?Q8 Rqm}D( m6q4[=Q z] %D/Z0>[^`UɢObp2diOZ_Z>wU ^V3A71 TRNqAI3u[rqE_P6>_P7Q%Q ^BQ0^T[` _P9>`ďZ?D60t .I=l2>F4, s'#Q,pw.b̝Ql:mqF`Q'E#DDZq+26(coaw?`oF#?BjC.SgFPR@Hja{3xeB0@JІ8n{5Vr@q4hC!" CRB3Oij@ !:Gmd ' @P[~7hIAp6B?2nC#77x!2&mQ(ـ3PTOd=my"{656!+Pd](e#xd po(aO! UnA+mk  M#ϕ&'pbQ$oBB^rN+M6O<~#3}9e'c)2'j#v>6 MLIQ`7`b2RgNZQF[~2qYt^$mo"[O ~Ae;.^q|Ic' x?l.*6 ML+m_]e03'+Sy;^9 I>=SNar#brZ[X`.* kgڻ]!ap|mKVs_By-rsvKb4JZ+d YxA.cD( f6GCTs3SIDGh;YW$],T(;z3=qD_!X0(34$>^6@QD1ІT' kv'6@悟.+kE^0%~3Zjv_@D2R cU|6OXo1`oRUh@8CdT;يEU%f#ET,ehqAF% R֠TEUTZH.yrY':ͤm%rӛ* #Pp7vC!m IY|ggHa -`Izє#3֣`O;Մ'?7c5vGBVQД1z,u?!O5;uVMR2d_/La,zPH3gG.٩w`p?T:vOBe eT_4J|$r%ψq.pOB%iIL,W/%Nve0(!/]1Qi.!-m4W6P.,7"Q`c2`>bj:SOI/1X E*5'( MO55^!DQdh,cC0!>)Zs?ǎ3^$+b&kpElz|KP 4 MLI2>g`2q1w0&;' z84#+83eRIVw K_1n_ʸQBЁeYtQ]2dʽe:c0bz$ E{JL4pf,yf?fH?{a$ԞK?'7^ Vҗ3%J82?OHA,]63P^CDQÌ"xPSr%Hu۠mhE6@ (-caj`1*XA -1&/5協VTrh {w[b1b(qgD dUFMs.M~/fD:&-C oP (f@t"8%dPw,v4p;Pd%bK .`4;A?@2U`18$Ax3rA_`, j`23b_t/w6 MLI=DC2UhՖ}m>a(Pɓq4r3$3?[$D?d_?,cjUDCD16J(%8j<6XgMuO9R!ڮd %-oo.`BS%j,@E6J(%{ZU>,1+*5?,P d  @o}j#Cd_?(DEUDAlȘ[_,bt$u?b6@o:ơ6[$D ,0 h R_{}ߒa"N>;pu8^[-14@7R_gBY|BP (%DUU/2򥘇`lkP''_[,cS{ 9n6J(}zq4wf3` @,P0D5s@"L 81.(9R8.FDnB%Y8HFѿ#~́e;.^G)eHyc@AP2ZIu}mn77d/x}Ms7Yq аRBDpE[dN7iP2֮ɲac42 q;>bhNd>_l?>'垔zrlg6EP4!ʤ%H6wȵwA MLI9 Vd q>j~@Pɓq4|m0aPA6EV.lG0f) gaDvuwR01DvxJ)3sgi3i@sdD.DNxDFcdDH6w1½-'@4vC?smv6DDȵ GO`n%f 5h(#yRN14yRVg1Rk78B RQ(ha.wk鍤Pn]Ǒ(.p a 6ݦ#Sd*Fݮ>!QdnͅiK0)7y1r4 7NW+n̡# `|:k9@1100P]Z qLy2F9!HG fAb:_RLC@_3a(86H84ޝ_!H+ l-gyC>lcûG[U\}Пcݢp)!qL>MKpӁU\ x\>qdc9NpI TQ:pxIkO>-84QٱK41mzb:\U^:!O'8kLs362NP " ʝdAgP,>h@ j!GϧN=`8a'nlMDF%.`APL FACi0S>%ѓ--FB_(&ka$ KͦY<"Ac}/4G !$HВX>I#5!kK/-3TQP11br!A4GJJD^JJ90?O0WȩaD-umWY?>SJkѠ[ܕFDL3c$PQ0BҺqnt^ G#*'˒G5X!a=f3Lӱ'U1.vd\lɕxUO7$|,ޔJ D!A<7 Kd,4`' co Lw?(KMyjȏc;]O| q=D8 ~^/ /$al^JSB?7n_zþ/қu1%̮%/Ȼg+d(X")gpk12Ezڔ3BnHHؠ'H5|`9x=䋟ԽŎ3`A?Ӎ_qtY|t?h桪є# $%`m Q`@gO*V?O)__OTXU664:!oU\=` Y;B~.u:> 陑iٝ+AA+0.oП\A` /3EA*?q%.R_hwQ)CK3@vo7H@;;(~F%N' cj!g$p`7!}NIQcǢ\S+Qmk~ ]C s2~J )81Y~eX"/*SH{Xq\K.jB('蓟aA!B/ ?pGo"0"\V1$QȬz+ɒSJN "* }+ d% |*rneCĩXH*"ƸN)N6xQt/*01JJ`,G V+=f':.coB1/YIKD?fO߰COR,=?w3K"hD]\!ی "'Y(q贳@-Hd2 .5~HBp;3Γ:1Ļ23zde|,, 0+BҖp+B0DWuwףc7v۠(w5Y] 9G#z8kM 3w6\,:G@b*gҤb?RWDMЗ(z%e`ʞ*dFρDP=Ed=MF{eѥb$ 0C (Xc/'eV26͹um "y>+tR42#dgckdq-m Z81Y$8|a/27AMg,\JP25_܃dbu[,"11L}]fBCѪoxp۽$!KnMH92K&aDR<'sYBPe]2 r["@86 ZCseȌv _e>s0GOm"0XIR4A-#.&iC!sهyj*B žqKhPd4:0]+ 86cIvbC2K!Փ'&6l"|pGO1'|rIٜ}(j7ʷMp(IuАEH":d@F>g] ӡ?Q8 Rqm}D( m6q4[=Q ڡ@$ ?*i@yBA0 qX ^o PHA|t4HJ '=A+VF(E"HL%1mypR pZo$vz+k=9Zۛ{lR[i7fnrj]ͥBQ;:[=,3e' G*#2auP, 0 !zh O)|ۭK!Dת᪢p#I%w0uۨ[zw܀ˁK{%1St0W"' 幇Ϛ9WxI Pyp$1 ޺Y.{C0_N2 ;w8ϵ <~>38.ǡ<_X2}`4 <=O;{}P ]}G ߓs/(gi:'&vHA9>P, ŨHyg6FБCo% TqD-$Dʚ6+{ZACyp8ݞi%."QnEɓxPX0LX.cCP>6AEWigG~lo`"`H]T>^pzoJ8DxI?1>R*K|EL,qr '^02hKY6 |K)x&]Amg1 GЖFW@ ,ORNI7m'哽%N]4޴|6zN9. ;זOnOi-4™-i4S@uOZ!Bg9hr, 3N-KA 4rL ZۦtSJ1Hh O7OLjM6]SV)JaӧOjS.btj?&B`NH^ Ti hzC*I )B(Q zi B vÂI*!"6BbϲVP5fdւ0im8M 7y0r6nΤkhe0"[[0֕ijAAm "/iec!\KqEh0'0jB}8pB{y,41% arFHZ|`Qv`~o `#e6@&;c,s2ëIxܻv1ׇ-&MeݻJ 0EO`dNr+ Xj텈k7b> o#*6@j 3[ !oac0=ə8$f0/h܅ F w>0dr E($`߄!EH\VQ@Z B &̣1M-6/d:Sffx--W~]kl"TQ; Program to demonstrate usage of expression ; operators in data and macro statements TEST MACRO PAR ;A simple macro DB PAR ENDM SYM EQU 1 DB 1SHL5 ; This form is an error ; ..because a space is needed to terminate the operator. DB 1SHL 5 ; The space after a number is optional.. DB 1 SHL 5 ; But is required after a symbol DB SYMSHL 5 DB SYM SHL 5 ; The <,<<,>,>>,+,-,*,=,/ operators are self delimiting DB 1<<4 DB 1 << 4 ; ..but space is OK. ; When an expression contains spaces, it must be ; enclosed in angle brackets for inclusion in a ; macro actual parameter list. TEST <1SHL 6> ; In a macro argument, the upper arrow is an escape ; character. It must be used in front of '<' or '>' ; to prevent their interpretation as inclusive angle ; brackets. TEST 1^<^<6 ; Here is what happens if you don't use the up-arrow TEST 1<<6 TEST 1<6 END ; Program to demonstrate usage of expression ; operators in data and macro statements TEST MACRO PAR1,^PAR2 ;A simple macro DB PAR1 DB '&PAR2' ENDM TEST 14H,CHK END vPRTMAC.Z80(  s ) 4Dno7AF)t4L$r*L(4e9 'e0Ȃc79,T4af<$@wfjp0 D~)n2,*ȀL)#Ba9׍H$8X\zo3'- s,)d爕N6aB̦A 0b,b4t2DAm9"pgIA1xl GW3,ntlŔ 1`>De%Eq!@4uDB> P'JR40UG0%hI>u^XA CJPm[-bRv`Qi hto(pQF6w֍)i6So`tW yAuuy|' &X&'T {&'QTuuC !A`J axeVO o)Wh QuED] b4UIQ.`Y'_1Guw RNRNn_ l iR/5ixHW:}FyE̚jzvon k{ú¾wC6`J: n *SQ5\uDeTjDzĔ -?vPRINTX.Z80( di4N*QPi9"ba6 Xɼr1Ƙo yt9N>u9iL  DXPo9Pr`S:MeSq)*D\b4'+jaMAsB >c$n3{l<4C Ȃ ,XL[br}m3R"haqFSLe60u7ͭ-)mLNo; =ޘ" kx|]_ `Âbqft֌&]k%Omht!E&4 CĖ8IWou7AH B`tprFacM!`1up`)F!bh* <>vЊS@FROTU5V E8t k!:CFi :'OI [(.=Gfz ugbDF1 VE\VwdtWVU"Pp,v&IdWFWzaO`ab$) jdpAvQ@Ņ[pˮ,F*qbJMm '{gUJ ӘrE|ԢWz;4LGYB'F[IA{MJڜuBhCaƁzV",d !|2ĉ5Q{`]JRł-,+~ wB~ݞde1tAaofQf.9 at[IO@>^O@BSwewmz$tVQ)d|Lbe%LSw(ܮ'uUov{d\l_iδQo F DaBk~BV~PM_Y 2lRl2Sn}POhn! Kan~"L ~`%@DIMহ0#}l&U+5j7trLAˇ܅ !菂uvB,uZ{ShåQBBF k ۂ̉Vpũdۄs1F{O' XMG00"oqTsAIɩ8]X/52RW!A )9/`U#12%XB DT",ŚH# >g]iD. 2xFApR얒bY]:lxɕ@P;Hи0N@/VAÆ_Q9oLI f,1P N1t4%Y>H?ޛ//݈$D4Š7 {TU=qUܬ1d=:LX(M a YU# 0N $Exkl&d}~q閹]5{DpLO tqIt '(ZIK@bI7F#zf',pJ1➗B P )ɒJo+g駩i צVCLI)?WBȥԪ p ġEЂ<@ p\;7GD ~41_HPv{ c+hr*OYλT%A.1dDHEm%|ʍ1sKA<-Ex<Xo "dҐ"KH|j,yHZ#'YAEj.MeJV ȋC>i|l0 c g(xVgCgLGա%Xrh(EHɜ2sPNUU-=K4"zbmj3k{]U/IS 8 6n-*NQơ{J+"Ƃ(&@ĝ*jKt(x#dt `B I3¤akKf5z{.>{ VS}v_`c_t h[tش " \ <_8=d@2䷋4^TgϘh[?jd0Re/ ȡ-`7a( $468@ɂ ʳyQ흺o@`%Qk|o An2@i %vc ;}rf,)'Ň,v єKXHOaS |g>67AP1N~u)}. 5.;+CqWܑ`QY{ 3vG|l~pn7D}s 3~BF: A4Xs~6^ OQ5'}+aoh,814yVuZX|ATyeo4}yaCw!9y/'R`0l-!,.)i!nIc҃Wq#'sa,mww_h` *-habscB*Y >jw/p>g5fZ&x8K-A;,xfe؈])h;爁߈./R؉zG1Sgsq6&^hka4t("TȶwH`wxcwayƅ },RT(P9'0ҋbcYA(w fn dcx*SXQeCQPgbc;YD qԴw"U+*U+  72W+ :W+< :W+ ~#-ʁ*U+(3(#(#(#~@͵͵[ ͒ͮ%_@_@%_[IM%ͼ%DE%ES%TA%C%%%%:W+G!!(~#%:Y+gKX+o͹'ɯ:W+ 0GCX+ h*%  . t  X f t  X f !  ͮ   ͮ 0 ͮ 0 ͮ 0 :Y+ ͮ  [W+*U+KX+G:Y+2W+7ɯ2X+2Y+2W+!Y+!X+4{6!Y+!X+~(57?s7ͨ%ͣ ^6; WRITING CONFIGURATION (CFG) FILES FOR Z C N F G I --> Introduction D --> Definitions O --> Overlay Header M --> Menu Pointer List T --> Case Table S --> Screen Image F --> Field Data for Screens H --> Help Screen Image Data U --> Using ZCNFG :I INTRODUCTION Configuration (CFG) files are complex but they need not be difficult to write. The easiest way to write a CFG file is to start with the source code for a CFG file that you have already used and like, and use it for a model. Most recent libraries for ZCPR3 utilities contain both a CFG file and its source code. The file ZCNFG21.LBR contains several files that you will find useful in understanding and implementing a configuration file: ZCNFGMDL.Z80 a sample configuration file. ZCNFGCFG.LBR the configuration source for ZCNFG (includes Alias MCFG.COM, for making CFG files) ZCNFGOVL.DOC step by step instructions for making ZCNFG.CFG It is extremely useful to study a working CFG source file to see how the structures covered here work in practice. Print out the source code for a model CFG file and refer to it as you use this help file. The Configuration File The configuration (CFG) file is an overlay loaded at run time by ZCNFG. It contains the data required by ZCNFG to allow a user to configure the operation of a specific target program file. The overlay conventionally has the same name as the file to be configured, and a filetype of CFG. It is created by assembly of a standard Z80 source file to produce a binary image. An Origin (ORG) statement is not required in the source file because the image is automatically relocated during loading at run time. The relocation depends on the OVERLAY HEADER being present as the first code producing item in the source file. This requirement is discussed in the sections on 'OVERLAY HEADER' and 'MENU POINTER LIST'. Configuration Functions A common configuration function is a choice based on the value of a byte (zero/non-zero) in the target program. Such bytes appear in the ZCNFG menu as 'YES' or 'NO' (or any other set of descriptive terms you like), and are toggled when that menu item is selected. ZCNFG can also: Toggle any bit in a byte (8 YES/NO choices) Rotate a bit within a field of bits in a byte (multiple choice) Change the value of a byte with display/entry in HEX or Decimal Change the value of a word with display/entry in HEX or Decimal Replace a string of printable ASCII characters Replace a single ASCII character (including non printable) Replace or modify a DU specification Replace or modify a Z3-style File Specification You can specify an acceptable range for numeric values for each byte or word value. Values outside that range will not be entered in the target program. The range is displayed for each item if it has been specified. This is useful for entry of, for example, a buffer size or a ZCPR3 system file number. The last two are useful for editing a default filespec. The CFG File Structure The CFG source file contains the following main sections: DEFINITIONS OVERLAY HEADER MENU POINTER LIST for first menu CASE TABLE for first menu SCREEN IMAGE for first menu HELP SCREEN(s) for first menu FIELD DATA for SCREEN IMAGES When more than one menu is needed, four sections are repeated: MENU POINTER LIST for each additional menu CASE TABLE for each additional menu SCREEN IMAGE for each additional menu HELP SCREEN(s) for each additional menu See the main menu for details of each of these sections. Target Program Structure The program for which the CFG configuration overlay file is being written is called the Target Program. All configurable data in the Target Program must be located in the first page (256 bytes) of the program. The Target should contain the name of the default CFG file at relative location 0DH (right after the Z34 header). ZCNFG examines up to 8 bytes and will assume a possible filename if it is terminated with enough spaces to make 8 bytes or if it is terminated by null, $, or High-bit-set for the last character. In other words, if the string looks like a legal file name, it is taken as the name portion of the overlay filespec. TIP: Don't try to save bytes by terminating the CFG filename before the 8 bytes allowed. Put the filename left justified in a field of 8 blanks. That way, there is room for configuration of the filename itself! The object of this strategy is to permit normal invocation with an implied overlay filespec. If the target program contains the name of its overlay file as described, the overlay is very likely to be found even if the target program has been renamed. :D DEFINITIONS This section defines symbols and macros used in the balance of the source file. Functions provided by ZCNFG are referenced by function number. These function numbers are given names in CFGDEF.LIB via EQU statements. By including this file in your source, the names can be used as entries in CASE tables. Function names are only used in your source; change them if you like. You must provide offsets in the configuration page for configurable items; this is best accomplished by defining them symbolically (EQU statements) for ease in constructing the CASE tables. CFGDEF.LIB includes two macro definitions which greatly simplify the construction of case tables. Their use is illustrated in ZCNFGCFG.LBR and the other overlay model files. :O OVERLAY HEADER The first three code generating lines in the file MUST be: RST 0 DW MENUA ;or whatever label you use for menua: MENUA: DW LASTM,NEXTM,SCREENA,CASEA,HELPA The RST 0 instruction is present to prevent this file from being inadvertently executed. A RET instruction could also be used here in many cases. The DW statement containing the symbolic address of the first menu record is used for run-time relocation of pointers in the menu records and CASE tables. The list of five symbols which follow at MENUA: comprise the MENU POINTER LIST for the first menu. This list must be located here at offset 3 in the file because ZCNFG uses it in connection with the value in the preceding DW statement for relocation of all pointers when this overlay is loaded. :M MENU POINTER LIST LASTM and NEXTM are pointers in a doubly linked circular queue of records like that at MENUA:. There is one record for each menu screen displayed by ZCNFG. If there is only one menu screen (the case for many target program implementations) then LASTM and NEXTM will both be replaced with MENUA. For n menu screens, added menu records are required. For example: MENUb: DW MENUn,MENUi,SCREENb,CASEb,HELPb .... MENUi: DW MENUb,MENUn,SCREENi,CASEi,HELPi .... MENUn: DW MENUi,MENUa,SCREENn,CASEn,HELPn There is no requirement imposed for location of menu records after the first one (MENUA). ZCNFG finds the MENUA record at the specified offset in the configuration overlay (offset is 3). Any others are located through the links LASTM and NEXTM. For the same reason, all other sections in the overlay file may be in any order that you feel appropriate. :T CASE TABLE(s) There is one CASE table for each menu screen. The case table is labeled and the label is an entry in the associated menu record. Each case table contains a series of records: one record for each configurable item in the menu display, and one initial 2-byte entry which specifies the number of records present and the number of bytes in each record. Since variable length records are not implemented in ZCNFG, the record length byte is always 0AH. Here is the structure of a CASE TABLE: CASE0: DB (RCRD0X-RCRD00)/0AH ;number of records DB 0AH ;record length RCRD00: ds 10 ;first CASE record .... RCRD0n: DS 10 .... DS 10 ;last CASE record RCRD0X: ;empty label for length expression Here is the structure of each CASE record: ITEM: ds 1 ; ASCII character for the menu item selection. FUNCTION: ds 2 ; 16 bit function number. OFFSET: ds 2 ; 16 bit offset of config data in target pgm. BDATA: ds 1 ; 8 bit data required by function. SCRNLOC: ds 2 ; 16 bit address for data in the screen image. PDATA: ds 2 ; 16 bit address of data required by function. ITEM is the ASCII character input from the console by the user to select a menu item. Typical characters are "db 'A'", "db '1'", etc. OFFSET specifies the relative address of the data item in the target program that is to be configurable with this menu selection. OFFSET is a word (16 bit) quantity, even though its value is in the range 0-ffH. SCRNLOC is the address in the screen image at which the ASCII representation of the configuration data for this menu item is to be displayed. This is a label in the screen image source described below. FUNCTION defines one of a set of standard modifications that can be made to data in the target program configuration area and to the ZCNFG screen display. For example, function 0 toggles a bit in a specified byte; the associated field in the menu display may toggle between 'YES' and 'NO'. The latter are strings whose address is given at PDATA, so you have control of what is displayed. If you wished, the display in this case might be '1' and '0' or 'True' and 'False'. Name Function Purpose ------ -------- ------------------------------------------ SWITCH 0 Toggle bit in the byte at TEXT 1 Edit characters with UC conversion DUSPEC 2 Edit a byte pair as a DU specification HEXRAD 3 Edit a configuration byte/word in HEX. DECRAD 4 Edit a configuration byte/word in DECIMAL TEXTLC 5 Edit characters, both UC and LC FILESP 6 Edit a Z3 filespec or filespec fragment TOGL3 7 Rotate a bit in an n-bit field of the byte at . If n=3: 001B/010B/100B TOGLTF 8 Toggle byte at between 0 and 0ffH ASCIIC 9 Replace byte with single byte keystroke BDATA is a byte whose value implies the size of the data in the configuration block or how it is to be interpreted. Functions 1 (TEXT) and 5 (TEXTLC), for example, require BDATA to specify the length of the text field in the configuration block. ZCNFG will abort with a diagnostic error message if the value of BDATA found in the CFG file is inappropriate for the function specified. Name Function BDATA entry required ------ -------- ------------------------------------------ SWITCH 0 Bit position to toggle, lsb = 0, msb = 7 TEXT 1 Number of characters to edit with UC conversion DUSPEC 2 0 for (A..P)=(0..15), 1 for (A..P)=(1..16) HEXRAD 3 1 for byte, 2 for word config data DECRAD 4 1 for byte, 2 for word config data TEXTLC 5 Number of characters to edit (UC and LC) FILESP 6 0= FN.FT, 1=Drive, 2=DU, 3=Full filespec TOGL3 7 7 (=00000111B) Mask for a 3 bit field at bit 0 TOGLTF 8 1 (one byte gets toggled 00/ff) ASCIIC 9 1 (one byte gets replaced) Data for Function 7 is explained in the next screen. BDATA FOR FUNCTION 7 FUNCTION 7 actually rotates a bit in a field of n bits, where n is 2 to 8. BDATA for this function is a mask whose bits are set (1) corresponding to the field required. Only one bit is set in the field, and each invocation of function 7 rotates that bit left one position in the field. TOGL3 uses this bit position to select 1 of n strings to display; the target program uses the bit position to select 1 of n alternate action/configuration choices. In the example on the previous screen, the bit field has 3 values: 001, 010, and 100. Other bits in the byte are unaffected. Here are some examples of valid mask bytes and the associated bit fields produced: 00011000 ...01... , ...10... (.. are unaffected bits) 00111000 ..001... , ..010... , ..100... 11110000 0001.... , 0010.... , 0100.... , 1000.... Bit fields must be contiguous. The following are examples of invalid masks: 11000011 , 1011100 , 00110110 PDATA (see below) points to a list of strings. There must be as many strings there as there are set bits in the bit mask. PDATA is the address of data within the configuration file used by a function. Because it is relocated when the overlay is loaded by ZCNFG, it may NOT designate an absolute address outside the overlay. The following table shows the PDATA entry required by each function: Name Function PDATA entry required ------ -------- ------------------------------------ SWITCH 0 Address of 2 null terminated strings TEXT 1 0 or address of a terminator byte DUSPEC 2 0 HEXRAD 3 0 or address of min/max data words DECRAD 4 0 or address of min/max data words TEXTLC 5 0 or address of a terminator byte FILESP 6 0 TOGL3 7 Address of n null terminated strings TOGLTF 8 Address of 2 null terminated strings ASCIIC 9 0 :S SCREEN IMAGE The Screen Image is a set of DB statements that specify enough spaces, data, and CR,LF characters to 'paint' 18 lines of the screen. The other 6 lines of a 24-line screen are taken up by the prompt message and user response lines at the bottom of the screen. The first statement of the screen image is labeled. That label is part of the MENU record, identified as SCREENa, SCREENi, etc, in the description of the menu record structure above. Screen images are illustrated in the model CFG source file ZCNFGMDL.Z80. The screen image data comprise titles, borders and the text of menu items that does not change. Fields in which configurable data is to be displayed are filled with spaces and must be at least as long as the configurable data (See next screen for field lengths). Such fields are usually labeled DB statements. The label is an entry in the case table record at SCRNLOC. The entire screen image is terminated by a binary zero. Data from the configuration block is translated to human-readable form on the screen. The space required in the screen image is summarized in the following table. Use these field sizes to avoid a scrambled display. Name Function Minimum Field Length in Screen Image ------ -------- ------------------------------------ SWITCH 0 Length of null terminated data strings TEXT 1 Length specified in BDATA DUSPEC 2 3 (examples: 'A15', ' B3') HEXRAD 3 2 for byte data, 4 for word data DECRAD 4 3 for byte data, 5 for word data TEXTLC 5 Length specified in BDATA FILESP 6 16 for DU:FN.FT, 12 for FN.FT only TOGL3 7 Length of null terminated data strings TOGLTF 8 Length of null terminated data strings ASCIIC 9 3 (examples: " A", " ^X", "DEL") Alternate data strings in the CFG file for functions 0, 7, and 8 must be filled to the same length to avoid unwanted characters in the display. The easiest way by far to prepare a screen image is to create a text file using a screen oriented editor like ZMATE, WordStar, or ZDE in non-document mode. Make the image just like you want it to appear, including the spaces for ASCII configuration data to be displayed. Fill those fields with visible fill characters so you can see them. When the display is as you want it, INSERT an unique character before each field. (an accent mark (`) or tilde (~) is usually unique.) That character will be recognized by TEXT2DB as the place to create a label instead of the mark. Now running TEXT2DB on the text file will create a file of DB statements which have been labeled with unique labels where they are required. These labels are the ones which you transfer to the associated CASE table records. (See also the section 'HELP SCREEN DATA'.) TIP: Don't forget to put the menu ITEM selection characters in the screen image near the data to be referenced! This is how the user knows which key to press for a particular item. :F FIELD DATA FOR SCREENS Functions 2 (DUSPEC), 6 (FILESP) and 9 (ASCIIC) get their data from the keyboard. Functions 1 and 5 use a pointer at PDATA, described later. Two kinds of data structures are referenced by pointers at PDATA for the other functions. The first type of data is required by functions 0 (SWITCH), 7 (TOGL3) and 8 (TOGLTF). It is composed of DB statements that define null terminated ASCII strings. These strings appear in the menu to show the current state of the configuration item addressed by this case table record. T3MSG for function 7 (TOGL3) and YNDATA for function 8 (TOGLTF) are two examples. Messages at each label must be of the same length and may include 01h and 02h to control standout video: YNDATA: DB 1,'YES',2,0 ; Displayed when value is 0FFh DB 1,' NO',2,0 ; Displayed when value is 000h Example from ZMAC for BDATA = 00000111 (n = 3 bit field) T3MSG: DB '.LALL',0 ; List ALL MACROS if value is 001B DB '.SALL',0 ; Suppress MACROS if value is 010B DB '.XALL',0 ; List MACRO code if value is 100B The second type of data is range data required by numeric data input functions 3 (HEXRAD) and 4 (DECRAD). The MIN/MAX data words are a pair of 16 bit (DW) values which contain the minimum and maximum values allowed for the current item being configured. Do NOT use DB! The first word is a minimum value and the second is a maximum for the numeric data addressed by this case. If the POINTER value in PDATA is 0000h, then no range checking will occur. When MIN/MAX values are given, they are displayed in the proper radix in the prompt line. If the user attempts to enter a value outside the indicated range, his entry is ignored. For example, Z3 system file numbers are from 1 to 4. The data provided in the configuration file for this case would be: SFILMM: DW 1 ; Minimum value first DW 4 ; Maximum value second Functions 1 and 5 use the data byte at PDATA to specify an optional terminator for the string in the configuration block. If PDATA is 0 then there is no terminator. Otherwise, PDATA points to a byte in the CFG file (DB statement). This byte is normally 0 or '$'. :H HELP SCREEN DATA Help screens are accessed via the '?' or '/' at the menu prompt. A help screen should be provided for each menu, even if it contains no more than a 'help not available' message. The help screen may be omitted if a 0000h entry is made in the MENU record (HELPa, HELPi, HELPn). That causes ZCNFG to ignore help request (/ or ?) from the menu served by that record. The help screen for each menu is labeled. That label is an entry (HELPa, etc.) in the associated MENU record. Help screens are, like screen images, a block of DB statements which define the text to be displayed. Help screens may be longer than 24 lines. ZCNFG counts lines and executes a display pause for each screen-full of text. You can control the content of successive displays by adding or removing line feed characters in the DB statements. But there is an easier way, introduced in ZCNFG version 1.8. A colon or ASCII formfeed as the very first character of a line is a signal to ZCNFG to start a new screen. The colon or FF is not sent to the screen, but invokes paging. The entire block of ASCII text that comprises a HELP display, which may be displayed in multiple screens, is terminated with a binary zero (NOT a '$'). This convention permits the use of the $ character in your screen displays. The easiest way to prepare help screens is with your text editor. Put a colon or formfeed (^L) at the beginning of a line where a screen break is desired. Remember that screens are about 22 lines long. You can then run a utility such as TXT2DB to convert the text file into a DB file for inclusion into your CFG source file. Make sure that TEXT2DB has been configured to terminate the file with a null. :U:ZCNFG.HLP  the use of the $ character in your screen displays. The easiest way to prepare help screens is with your text editor. Put a colon or formfeed (^L) at the beginning of a line where a screen break is desired. Remember that screens are about 22 l7o0o#>.o# o# oooo o o>^o@o*. kO*. ~H͔W͵HͪW͵r# xµH  H|}~# x ~+ xa{_ڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{ ) command changes the case of the character at the cursor, if it was a letter, and moves to the next. Useful for capitalizing a string of lowercase text, or vice versa. WINDOW AND SCREEN (^W,^Z, ESC-Arrows, ^O-Up,W,Z) - VDE supports several functions to move and alter the display screen. The ^W and ^Z commands scroll the screen up and down a line at a time, without moving the cursor (unless necessary). Preceded by ESC, any arrow (except ANSI) moves the screen rather than the cursor: the text as a whole shifts up/down 1/4 screen, or right/left 32 columns, while the cursor stays put. (The cursor must be past column 32 for horizontal shifts to work.) Preceded by ^O-, any UP arrow key (except ANSI) makes the current text line the top of the screen. The ^OW command creates a Window in the bottom half of the screen, which retains a copy of the file text starting at the current line. Editing continues normally in the top half of the screen. This is useful for comparing different sections of text within a file, or even between different files. Typing ^OW again removes the Window. (Note: Windowing is only supported for screens of 15 or more lines.) The ^OZ command temporarily zaps (blanks) the entire screen; good for avoiding CRT burn-in, or just protecting work from prying eyes or fingers. Restore the screen by pressing ESC. (Note: if Windowing was in effect, any text in the window will be lost.) WORDWRAP, REFORMAT (^B, ^OD) - WORDWRAP is automatic in Document modes ("W,A") whenever the right margin is set. Any text entered will be formatted while you type, to the current margin settings. The end of a paragraph is marked by a "HARD CR", which occurs when you press the RETURN key. (This is a CR immediately following a character of text.) In contrast, when wordwrap occurs you get a "SOFT CR" (which is actually a CR with a sp/Z3ENVZCNFG24COMCFGCONFIG LBRs 1  ͖͖ͦͫ ڦ [ͦ :([̓ ͦ̓ ͦ:@*8Y > K> > +6RCym 0Y0! #N#F#BKF#^#O~:y7! Bڰ !! N#F**K:. " :W:((8z2" ͦÁ:"(* " :2 : !  n!P!:=n5:ď{ ! +*|~: #~#8 ( 7:!G:([ ͦ:ğ!6:( (:7> 7*:Ow*|ʰ *:[*̶ï>!2:P ͉@ ͦ:67O:0OG[A怶#*|~ > g*>!2:ʰ ° G*|~ > *ͼڰ [ (> * ͦ :Ħ ͦ>67ͧ*q#p:° *N#F#[:A> yĉ >?ɯ! "" r ͦ ͦ>67ʹ͒:GO*sZ#:O=° *[ ~i~#foS!"" ` ͦ ͦ>67͉͒:G*s#Z*[:(( ° ~̓~#foɯT ͦ>67O(] 7:W !] 5B: +>:(#w#6:Ұ OO!a N#~#fo[ ^ ] \ \ B:W !] 4!^ [:(=(= +~=?Aͭ ͥ*n*:^G/O/W ((yW~w*|ʰ :G=xʰ *@ *OA Ͷ [ͯ*~(>/w*|ʰ :=° *~EDͦO*~怱w) Enter a keystroke:*~j[e!! 2!@2!DEL SP ^ *|( N#F#~#fo|*N#F#~ (? /( A?G:G#~ ? /7͉K*| ͦ^#V#~#fo ͦ:=^}x!T]6C!"*N""" ! z> *!z͏n!#~ͭ*  2|2́͝#~2!* ͩ#:]ͣåͦ:!22i  !2K 2Kڝ Kڝ K :.(KCC*#|(+N""b"".!# [!+iK * N" DMb" ͺ k2= 2/ #7] 7:2!f +̀7(?!w =2!\   !i ! (2"! >*: 2!  [ !P![:G: 2!i1 ! [!̀!~(˿wx W * N] ͬ ^ e!^ [ !"*N#F#"xp+q#y wB(:= K ͺ!  *  (Kͺ!  eH> *>G~#8* ~(7#^#V#"R"2=2[>^ ګ !4!4[*R >2=2[2*>^ *K S>2>2*F#^#S S ~2 #N#F# Ͱ͜  ͦÝ =J 8! ͥ: ͉ ! >. 8   (ͦå" ZCNFG CONFIGURATION UTILITY, V2.4 (12/12/92) Invalid command. Try Again: ) -Enter up to 3 characters: ) Enter a number ) Enter HEX =>from to Check for possible Drive or user error.. ) New DU ('?' for default) (Space or CR to continue, ^C for Menu) BAD CFG FILE - Does not start with RST 0 or RET code. was not found. Target data inappropriate for this overlay - WRONG CONFIGURATION OVERLAY? ) Enter filespec option BAD DATA IN in the case table for menu # , item ZCNFG COMMANDS /  Explain Options  >  Next Menu  Esc  Save Changes & eXit  ?  Explain Commands  <  Previous Menu  ^C  Quit with no changes  Which choice? /?Q >///./<(((,(XnnWnnnd Other keys perform the same functions as those shown at the bottom of the main screen. Use them if that's what your fingers prefer. If X, W, or Q are present as selections in the main menu then they perform the configuration function and NOT the function shown below. Command Alternates Function performed / (none) display CFG help screens ? (none) display this screen > . ^D ^F display next CFG menu < , ^A ^S display previous CFG menu Esc X ^X W ^W save changes and exit ^C Q ^Q exit without saving changes Configures option data in Executable files (TFS), using a configuration data file (FS) which may be in a LBR (/FS or [DIR:]FN.LBR). Syntax: ZCNFG TFS [[/]FS] [[/]FS] Examples: (Configure TGT.COM, default LBR is :config.lbr ) ZCNFG TGT TGT /CFG01 ;uses TGT.CFG in CFG01.LBR ZCNFG TGT /CFG01 TGT ;order of args 2,3 optional with '/' ZCNFG TGT TGT CFG01 ;'/' optional if LBR is 3rd argument ZCNFG TGT CFG01.LBR ;'/' optional with explicit .LBR ZCNFG TGT TGT ;TGT.CFG on Path (includes default LBR) ZCNFG TGT ; or TGT.CFG on Path ZCNFG ZCNFG ;configures itself to assign ALT:, etc. FS, TFS are ZCPR style filespecs. All parts optional except TGT FN. Seeks FS files on a configurable internal path which includes Alt Directory unless superseded by a DIR: form in FS. See ZCNFG.HLP for full syntax and usage. >0i>?`  > ɷRB d0d 0 ~i#::= ~#fo $%° B s#r##[s|(331x > >  ow3_!N (  #4+ ?? qy/l 7~˿ȹ$~ #:_>-(̠:"}>2$2$~~#_Q~  #:Wz/(#@7 B(a8{8 [?!!  7%()*,./;:<>=?@!>l(>l>lF:[ >l02>lʃ02ͦåDIRECTORY FULLCLOSE ERROR READ ERROR = WRITE ERROR = Cbkp+q! q##45C: 7#Kx< Cͯ( z CG!p:C~ . #Ol>Kɯ2<O* >?s :#?s#!<4E(&(" #( +N+F#~A80G#~ 8x>D 0 8?#T&o MD > **~!! !Я~,/:.=;<>_~# (+a{_* }^#Vz|M!0GyȷȯWX+YRxOA6 +# yA> +  G>: >. A> ~# ( +~=?8A+~ ?8͉O*!*!:!æ*!*!!!O(*!~(!!O(!! G(y~# ^#V#aV#^#ͺ[![! ͇[! ͕[! *!:!W~(;*![!( ):!&O[!:!g:!g gɠg[!(+%-%( \ QD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|e||dͤ ͤ0/0Gz0 A(x~( #\ ~#zO* "|( +~(G  " "|("!|(D~!8? ~2!#~2!#~2!!͌:!O ͌ !!6#s#r#6#s#r# 6#s#r#~#\ #* "1$ô"* "|(~#fo" "!N#Fy( p+q+F+Nq#p(" "!!N#F! A( # x "" *"# !~ #[ " n   !!6#!" > '> !~ #>  #~##> Y cXcc cOG_ c>!!!s#r#6l>l>l>l rr# !""2"" !"N# 6!":"ѷO>\/Ì&d͟& ͟ͳ.,0g} |> (0G|'d }R<0 > (0GS"'4S"4d4 4}ER<0 > (0G["S"|i}i|x}x͎͎͒͒B~0?0 0Obk)8)88 )8 8#{B~Q08!0 88O)8)8 )8 )8 #?{~(Qw#H (+?/OQA8[8yO08:8yO 8 ya{_do*o~?(O#~O#Ɛ'@'͒B~0?0 0Obk)8)88 )8 8#{B~Q08!0 88O)8)8 )8 )8 #?{~(Qw#H; Z C N F G Z-SYSTEM CONFIGURATION EDITOR FOR ZCPR and CP/M EXECUTABLE FILES I --> Introduction C --> Configuration Functions Q --> Quick Configuration S --> Syntax D --> Defaults in ZCNFG L --> Locating CFG Files H --> Hints for Usage W --> Writing CFG Files :I INTRODUCTION ZCNFG is a universal configuration utility for programs like ZMAC, MCOPY, ZXD, ZFILER, and many others. The behavior of such programs is designed to be modified by users without reassembly. This is done by changing data at known addresses in the first page of program code. ZCNFG performs this editing function in a particularly convenient way. Data options are displayed in one or more menus. The current selection for each option is displayed as part of the menu information. HELP screens can be invoked for assistance in selecting options. ZCNFG is universal because it uses an overlay file to provide the menu layout(s), Help screen(s), and the data specifying the location and nature of each option. An appropriate overlay must be present for each target program. ZCNFG loads the overlay (CFG) file automatically or as a result of a command line specification. The generation of overlays is discussed in the section on 'Writing CFG Files' for those who wish to write such files for their own use or for utilities they are writing. ZCNFG is a CP/M compatible Z-system utility. If ZCPR3/33/34 is present, then ZCPR facilities are used to take advantage of the TCAP and named directories. ZCNFG will automatically configure ZCPR3 type 1, type 3 and type 4 utilities. A. E. Hawley (213) 649-3575 (voice) Ladera Z-node:(213) 670-9465 (modem) :C CONFIGURATION FUNCTIONS ZCNFG modifies bytes, words, and text strings in the configuration block of the target program. The menu may show the data itself or a logical equivalent. For example, toggling a byte between 0 and 0ffh may cause the screen display to toggle between 'YES" and 'NO' or some other pair that has meaning in the context of the target program. The screen display, target addresses to modify, and data interpretation are controlled by information in the CFG file. ZCNFG can also: Toggle any bit in a byte (8 YES/NO choices) Rotate a bit within a field of bits in a byte (multiple choice) Change the value of a byte with display/entry in HEX or Decimal Change the value of a word with display/entry in HEX or Decimal Replace a string of ASCII characters Replace or modify a DU specification Replace or modify a Z3-style File Specification The menu prompt may include an acceptable range for numeric values; values outside that range will be ignored. This prevents entry of inappropriate values for objects like a buffer size or a ZCPR3 system file number. HELP screens from the CFG file can be invoked to explain configuration items. :Q QUICK CONFIGURATION with ZCNFG Just type ZCNFG's name to get a help screen that explains how to invoke ZCNFG. Any form of the following invocation will work: ZCNFG [/[/]] <== ? may replace the / To configure a target file when it and its overlay file are on the currently logged directory, use: ZCNFG This example assumes that the name of the overlay file is the same as the targets name or is named in the targets configuration area. In the more general case, the target file may be in any directory on your system. You can use a full filespec form to tell ZCNFG where to find it. You can also do that for the overlay file, naming it and its location explicitly. See SYNTAX for the full syntax and how you can take advantage of it to configure files easily and quickly. :S SYNTAX Here is the command form used to configure file TFS: ZCNFG TFS CFS LFS or TFS LFS CFS where: TFS = [TDIR:] [TFN] [.TFT] = file to configure (TGT) CFS = [CDIR:] [CFN] [.CFT] = configuration overlay (CFG) LFS = /[LDIR:][LFN][.LFT] = LBR of CFG overlays or [LDIR:][LFN].LBR Each TGT file requires its own unique CFG file. TDIR, CDIR, and LDIR specify Drive and User and may be one of the following forms: D:, U:, DU:, :, or (for Z-systems) DIR: TFN, CFN, and LFN are filenames for the TGT, CFG, and LBR files. TFT, CFT, and LFT are their filetypes. As implied, all parts of the specifications are optional; if everything is omitted the help screen will be displayed. The minimum meaningful command specifies TFN; the target filename is explicitly declared. If it's not in the current directory, then you will also include one of the DIR forms so that ZCNFG can find the target file. Defaults exist for all other parts. Example invocations with $$=A5:, ALT:=C15:, CDIR default is TDIR ZCNFG TGT B: ;seeks CFG in B5: ZCNFG A15:TGT ;seeks CFG in C15:CONFIG.LBR, A15:, C15: ZCNFG TGT /CFG01 ;seeks CFG in C15:CFG01.LBR, A5:, C15: ZCNFG TGT /B: ;seeks CFG in B15:CONFIG.LBR, A5:, C15: ZCNFG TGT B3:CFG01.LBR ;seeks CFG in B3:CFG01.LBR, A5:, C15: The order in which the directories shown above are searched is given in section L - Locating Overlay Files. Other examples appear in the ZCNFG on-line HELP screen. (ZCNFG //) :D DEFAULTS USED BY ZCNFG Syntax Element Default TDIR: $$ (The current directory) CDIR: $$ or TDIR: (ZCNFG configuration option) LDIR: ALT: (see below) TFN (none) command line argument CFN From TGT (see below) LFN CONFIG (configurable) TFT COM (configurable) CFT CFG (configurable) LFT LBR (configurable) ALT: is a configurable default within ZCNFG. It is the directory in which CFG overlays are normally kept. ALT: may be specified as an unambiguous DU or ambiguously (like B?: or ?15: or ??:). The default used for an ambiguous ALT: is $$. ZCNFG is distributed with ALT:=??. CFN is taken from the TGT configuration page if possible. If there is no recognizable name there, then ZCNFG uses TFN as the CFG filename. :L LOCATING OVERLAY FILES THE CONFIGURATION FILENAME The ZCNFG command form is: ZCNFG TFS_[CDIR:] [CFN] [.CFT] (see SYNTAX) If you have specified CFN, then that is the name that ZCNFG will use. If not, then ZCNFG looks in the target file configuration block for a filename and uses that. If there is no name there, then the name of the CFG file is assumed to be TFN. The CFT, if not included in the command, assumes the default filetype, .CFG. If you specify CDIR (even a ':') in the CFS portion of the command tail, ONLY that directory will be searched for the CFG overlay file. Note that either TDIR or the logged DU provides defaults for CDIR, as chosen during configuration of ZCNFG itself. If you did NOT specify CDIR, ZCNFG searches 3 places for the CFG file: ALT:CONFIG.LBR, the ALT: directory itself, and either TDIR (the target directory) or the current directory. THE SEARCH PATH Here is a summary of the search path used when CDIR is unspecified: COMMAND CFN source SEARCH PATH ------------- --------- --------------------------- ZCNFG TFS TFN ALT:CONFIG.LBR, DDIR:, ALT: ZCNFG TFS CFN command line ALT:CONFIG.LBR, DDIR:, ALT: ZCNFG TFS CFG block ALT:CONFIG.LBR, ALT:, DDIR: (DDIR is configured as TDIR or the current DIR) CONFIG.LBR, if it exists, is always searched first. The search order for the other two depends on the source of the CFN. If it comes from the configuration block in the target then the ALT: directory is searched first. If CFN comes from the command tail or the TFN, DDIR is searched first. The object of this search strategy is to permit normal invocation with an implied overlay filespec. The search path is arranged so that in normal use the CFG file will be found in the first path element. If the target program contains the name of its overlay file as described, the overlay is very likely to be found even if the target program has been renamed. :H HINTS ON USING ZCNFG Each element of the search path requires a disk directory access. To minimize these time consuming directory searches: Put all your .CFG files in one directory in a library named CONFIG.LBR. Use another name if you wish, but see below. If you don't use the LBR approach, put all the CFG files in one directory. Configure ZCNFG, changing the ALTERNATE Directory to the one that contains your CFG files. If you don't like CONFIG as the library name, change it to whatever you have named your library. The result is that normal invokations will only require ONE directory access to find the CFG file. When you're trying out a new CFG file, name its directory explicitly in the command tail. Again, only one directory access. Speedy! :W:ZCFG.HLP  the ALTERNATE Directory to the one that contains your CFG files. If you don't like CONFIG as the library name, change it to whatever you have named your library. The result is that normal invokations will only require ONE directory access to find the CFG file. When you're trying out a new CFG file, name its directory explicitly in the command tai each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an exezBzz!q"rqs# y¨"s* .ovbgn _Uorg_ _Uend_ main_T LIB%7OVBGN O JOVLOADERO KR O LRBEGIN O re using it. The "Generic" VDE installation may run on many different computers, but it is very slow. VDE can now be installed for ANY terminal; if improperly installed, the display may be a mess, but there are no other side effects. VDE-M requires a computer with memory-mapped video; if improperly installed, it may crash. Most users should be able to install VDE simply by going to the Terminal Installation and choosing the ist option to select from a menu of terminals already built into VINSTALL. The list is not exhaustive, but it includes most basic types: for example, the "LearSiegler ADM3" data should do well enough on Qume, Wyse, Freedom and many other terminals, as well as many computers, that emulate an ADM3 terminal. Check your manual to see whether your machine emulates one on the menu, or comes close. Once you have VDE basically working, you may want to go through the detailed dit procedure to fine tune things; the better the installation, the faster and more attractive the display will be. NOTE: the installation of arrow keys affects VDE's command behavior. If the keys ^J,^K,^L are in use as arrow keys, as in many of the CP/M defaults, they will not function as Wordstar synonyms. Installing VDE for your computer should not be difficult. If you find that it was, please send me a note with the details of what was required, so that future versions of VINSTALL can be improved. Terminal installation, while necessary, is only one part of VINSTALL. There are also a number of User Options affecting the operation of VDE that you can select or modify to suit your taste, and a default set of Macro Keys. The default printer installation is a basic Teletype (no special codes enabled); VDE assumes only that the printer responds normally to Backspace (if ^PH is used), Linefeed, and Formfeed. You will probably want to redo this, so you will have access to your printer's special features. ============================= RUNNING VINSTALL ============================= VINSTALL SYNTAX: A>vinstall {d:}vdename{.com} {instfil} "{}"=optional Typically, you can use VINSTxx to modify VDExx.COM (of course, feel free to rename these files more conveniently) simply by typing: A>VINSTxx VDExx and selecting the values you want to change. If you have to do a manual installation of VDE for your computer, you may want to create an "installation file" which you can use (and give to others) to supplement the built-in terminal list of VINSTALL. This is done by specifying another filename: A>VINSTxx VDExx TERMNAME VINSTALL will load and use (or create) the file TERMNAME.VDE (or .VDM), and update it as well as VDE.COM when you exit. The installation file is very small, containing just terminal parameters (no user options, etc). It is also possible to create "key files" of VDE macro key definitions. These work just the same way, except they must have a filetype of ".VDK", and this must be specified on the command line, eg: A>VINSTxx VDExx MYKEYS.VDK There are also "printer files" of type ".VDP", which store your printer installation data, and work the same way: A>VINSTxx VDExx OKIDATA.VDP (No, you can't specify more than one supplemental file at once.) The version numbers of VDE(M), VINSTALL, and any ".VDx" files must "agree" or you will get an error. The match need not be exact, as there may be a new release of VDE without modifying the installation areas. VINSTALL's Key (".VDK") files are compatible with MSDOS versions of VDE as well (except that the MSDOS version allows up to 1K for definitions). VINSTALL is largely self-documenting, and steps you through each item individually. If this is your first time running the program, take advantage of its "Help" option before you start in, for some basic instructions. You may also find a good ASCII chart helpful. VINSTALL uses several different types of data entry: TEXT - Just type in the character(s). LOGICAL - Yes/No. Just type "Y" or "N". DECIMAL - Enter a number from 0 to 255. HEX - Enter a two-digit hex byte value 00-FF. (Don't omit lead zeros.) BYTE STRINGS - fixed length: enter the required number of hex bytes. variable: enter the (hex) count for the number of bytes, followed by the bytes themselves. Example: (02)1B3D. The max- imum length is given in square brackets [#]. This format is referred to below as "(#),bytes". VINSTALL can't check for illegal values; be careful what you enter! What follows is a more detailed explanation of installation items, in about the same order as in the VINSTALL procedure. Most people will be using VDE; you can try to use VDE-M instead if you have memory mapped video with: (1) a high bit that can be used to highlight and provide a cursor; (2) an absolute address at or above 4000h. Memory mapped video provides much faster screen display if your hardware supports it. ============================= USER OPTIONS ================================= Create BAKup files (Y/N) - Should a backup file be made when you edit an existing file? Choose "Y" to play safe, "N" to save disk space. Default file mode (W/A/N) - Which of the three file modes "W","A","N" described in VDE.DOC do you want as the default? (Originally "A".) Auto mode select filetypes - You can specify two filetypes (or masks, using "?" as a wildcard) to automatically set a file mode other than the default. For example, you can declare all "ASM" files to be "N" mode, or all filetypes "?88" to be "W", by default. If not used, fill with some illegal character like ".". Default insert on (Y/N) - Do you want the INSERT toggle to start out ON when first entering VDE? (Originally No.) Default ruler on (Y/N) - Do you want the Ruler line (^OT) to start out ON when first entering VDE? (Originally No.) Default HCR display on (Y/N) - Do you want Hard CR display (^OD) to start out ON when entering a Document file ("W/A" mode)? Originally Yes. (The default is always OFF in "N" mode.) Enable hyphenation (Y/N) - Do you want hyphenation (^OH) to start out ON when first entering VDE? Originally Yes. Left and Right margin columns (1-255) - Default margin settings for "W/A" modes. Set both to 1 to entirely disable wordwrap and reformatting. Scroll overlap (0-255) - This is the number of lines overlap between screens when scrolling with ^R/^C. The smaller, the larger the scroll. Keep this smaller than your screen size! Show system files (Y/N) - Do you want files with the SYStem attribute to show in the VDE directory display? Fixed drives (A-P) - This lets you specify that up to two CP/M logical drives are nonremovable media (hard or RAM disk), so VDE won't reset them before writing to them, speeding up some systems. Enter two drives from "A" to "P"; to leave either blank, enter "@". (The default is "@@", or none; if you have a RAM drive C:, enter "C@".) Caution: naming a floppy drive here can cause serious BDOS errors on CP/M 2 systems. Ring bell on error (Y/N) - Do you want your terminal bell to ring when a VDE error message displays? Enable help menus (Y/N) - Do you want to have the help menus (^J,ESC-H) avail- able? Normally "Y". If you change this to "N", you will hav libc.h /* Copyright (C) 1981, 1982 by Manx Software Systems */ extern int errno; #define FLT_FAULT 0 /* vector for floating-point faults */ extern int (*Sysvec[])(); #define NULL 0 #define EOF -1 #define BUFSIZ 1024 #define _BUSY 0x01 #define _ALLBUF 0x02 #define _DIRTY 0x04 #define _EOF 0x08 #define _IOERR 0x10 typedef struct { char *_bp; /* current position in buffer */ char *_bend; /* last character in buffer + 1 */ char *_buff; /* address of buffer */ char _flags; /* open mode, etc. */ char _unit; /* token returned by open */ char _bytbuf; /* single byte buffer for unbuffer streams */ int _buflen; /* length of buffer */ } FILE; extern FILE Cbuffs[]; extern char *Stdbufs; /* free list of buffers */ long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]) #define stderr (&Cbuffs[2]) #define getchar() agetc(stdin) #define putchar(c) aputc(c, stdout) #define feof(fp) (((fp)->_flags&_EOF)!=0) #define ferror(fp) (((fp)->_flags&_IOERR)!=0) #define clearerr(fp) ((fp)->_flags &= ~(_IOERR|_EOF)) #define fileno(fp) ((fp)->_unit) errno.h extern int errno; #define ENOENT -1 #define E2BIG -2 #define EBADF -3 #define ENOMEM -4 #define EEXIST -5 #define EINVAL -6 #define ENFILE -7 #define EMFILE -8 #define ENOTTY -9 #define EACCES -10 #define ERANGE -20 #define EDOM -21 fcntl.h #define O_RDONLY 0 #define O_WRONLY 1 #define O_RDWR 2 #define O_CREAT 0x0100 #define O_TRUNC 0x0200 #define O_EXCL 0x0400 #define O_APPEND 0x0800 io.h /* Copyright (C) 1982 by Manx Software Systems */ /* * if MAXCHAN is changed then the initialization of chantab in croot.c * should be adjusted so that it initializes EXACTLY MAXCHAN elements of * the array. If this is not done, the I/O library may exhibit * strange behavior. */ #define MAXCHAN 11 /* maximum number of I/O channels */ /* * argument to device routines. * this is a typedef to allow future redeclaration to guarantee * enough space to store either a pointer or an integer. */ typedef char *_arg; /* * device control structure */ struct device { char d_read; char d_write; char d_ioctl; /* used by character special devices (eg CON:) */ char d_seek; /* used by random I/O devices (eg: a file) */ int (*d_open)(); /* for special open handling */ }; /* * device table, contains names and pointers to device entries */ struct devtabl { char *d_name; struct device *d_dev; _arg d_arg; }; /* * channel table: relates fd's to devices */ struct channel { char c_read; char c_write; char c_ioctl; char c_seek; int (*c_close)(); _arg c_arg; } ; extern struct channel chantab[MAXCHAN]; struct fcb { char f_driv; char f_name[8]; char f_type[3]; char f_ext; char f_resv[2]; char f_rc; char f_sydx[16]; char f_cr; unsigned f_record; char f_overfl; }; struct fcbtab { struct fcb fcb; char offset; char flags; char user; }; #define OPNFIL 15 #define CLSFIL 16 #define DELFIL 19 #define READSQ 20 #define WRITSQ 21 #define MAKFIL 22 #define SETDMA 26 #define GETUSR 32 #define READRN 33 #define WRITRN 34 #define FILSIZ 35 #define SETREC 36 #define Wrkbuf ((char *)0x80) math.h double sin(), cos(), tan(), cotan(); double asin(), acos(), atan(), atan2(); double ldexp(), frexp(), modf(); double floor(), ceil(); double log(), log10(), exp(), sqrt(), pow(); double sinh(), cosh(), tanh(), fabs(); #define HUGE 5.2e+151 #define LOGHUGE 349.3 #define TINY 7.5e-155 #define LOGTINY -354.8 setjmp.h /* Copyright (C) 1983 by Manx Software Systems */ #define JBUFSIZE (5*sizeof(int)) typedef char jmp_buf[JBUFSIZE]; sgtty.h /* Copyright (C) 1983 by Manx Software Systems */ #define TIOCGETP 0 /* read contents of tty control structure */ #define TIOCSETP 1 /* set contents of tty control structure */ #define TIOCSETN 1 /* ditto only don't wait for output to flush */ struct sgttyb { char sg_erase; /* ignored */ char sg_kill; /* ignored */ short sg_flags; /* control flags */ }; /* settings for flags */ #define _VALID 0x3a #define RAW 0x20 /* no echo or mapping of input/output BDOS(6) */ #define CRMOD 0x10 /* map input CR to NL, output NL to CR LF */ #define ECHO 0x08 /* ignored unless CBREAK is set */ #define CBREAK 0x02 /* input using BDOS(1), unless echo off then */ /* same as RAW */ stdio.h /* Copyright (C) 1982, 1984 by Manx Software Systems */ #define fgetc getc #define fputc putc #define NULL 0 #define EOF -1 #ifdef TINY struct fcb { char f_driv; char f_name[8]; char f_type[3]; char f_ext; char f_resv[2]; char f_rc; char f_sydx[16]; char f_cr; unsigned f_record; char f_overfl; }; typedef struct { char *_bp; struct fcb _fcb; char user; } FILE; #else #define BUFSIZ 1024 #define MAXSTREAM 11 #define _BUSY 0x01 #define _ALLBUF 0x02 #define _DIRTY 0x04 #define _EOF 0x08 #define _IOERR 0x10 typedef struct { char *_bp; /* current position in buffer */ char *_bend; /* last character in buffer + 1 */ char *_buff; /* address of buffer */ char _flags; /* open mode, etc. */ char _unit; /* token returned by open */ char _bytbuf; /* single byte buffer for unbuffer streams */ int _buflen; /* length of buffer */ } FILE; extern FILE Cbuffs[]; FILE *fopen(); long ftell(); #define stdin (&Cbuffs[0]) #define stdout (&Cbuffs[1]) #define stderr (&Cbuffs[2]) #define getchar() agetc(stdin) #define putchar(c) aputc(c, stdout) #define feof(fp) (((fp)->_flags&_EOF)!=0) #define ferror(fp) (((fp)->_flags&_IOERR)!=0) #define clearerr(fp) ((fp)->_flags &= ~(_IOERR|_EOF)) #define fileno(fp) ((fp)->_unit) #define fflush(fp) flsh_(fp,-1) #endif ctype.h /* Copyright (C) 1984 by Manx Software Systems */ extern char ctp_[]; #define isalpha(x) (ctp_[(x)+1]&0x03) #define isupper(x) (ctp_[(x)+1]&0x01) #define islower(x) (ctp_[(x)+1]&0x02) #define isdigit(x) (ctp_[(x)+1]&0x04) #define isxdigit(x) (ctp_[(x)+1]&0x08) #define isalnum(x) (ctp_[(x)+1]&0x07) #define isspace(x) (ctp_[(x)+1]&0x10) #define ispunct(x) (ctp_[(x)+1]&0x40) #define iscntrl(x) (ctp_[(x)+1]&0x20) #define isprint(x) (ctp_[(x)+1]&0xc7) #define isgraph(x) (ctp_[(x)+1]&0x47) #define isascii(x) (((x)&0x80)==0) #define toascii(x) ((x)&127) #define _tolower(x) ((x)|0x20) #define _toupper(x) ((x)&0x5f) p_[(x)+1]&0x04) #define isxdigit(x) (ctp_[(x)+1]&0x08) #define isalnum(x) (ctp_[(x)+1]&0x07) #define isspace(x) (ctp_[(x)+1]&0x10) #define ispunct(x) (ctp_[(x)+1]&0x40) #define iscntrl(x) (ctp_[(x)+1]&0x20) #define isprint(x) (ctp_[(x)+1]&0xc7) #define isgraph(x) (ctp_[(x)+1]&0x47) #define isascii(x) (((x)&0x80)==0) #define toascii(x) ((x)&127) #define _tolower(x) ((x)|0x20) #defi to be inserted/deleted; in this case, enter the sequences for line 1 (the second screen line). If your terminal can't do this at all, zero these out (00). Ins/del specific to line 1 - Usually No; set to Yes only if the ins/del sequences you installed above are for line 1 only, rather than general. INSTALLATION (Memory-mapped VDE-M only) Unused columns of RAM (0-255) - Enter the number of unused bytes in video RAM between the end of one visible line and the start of the next. Example: many computers have 128 bytes of RAM per line, but only show 80 of them. So there would be 48 unused columns. Cursor on/off - Enter the codes (#),bytes to turn the regular CP/M cursor on and off, so it won't appear on the VDE screen. If you can't do this zero them out (00), and the cursor will remain visible at the upper corner of the screen. Video RAM start (4000-FFFF) - Enter the starting address of your video memory, as four hex digits. Video in/out code - If your video RAM is in the ordinary bank of memory (eg, at F000), just enter "C9" here (that's a RET instruction). Otherwise, you will need the machine-language code to switch video memory in and out. There are 16 bytes available for each routine, and you must preserve all the CPU registers (including A), and end with a RET. You should find the assembler code to do this in your terminal manual; to convert it to hex, either look up the hex va begin.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 BDOS equ 5 extrn Croot_ extrn _Uorg_, _Uend_ ; public lnprm, lntmp, lnsec ; ; The 3 "bss" statements below must remain in EXACTLY the same order, ; with no intervening statements! ; bss lnprm,4 bss lntmp,4 bss lnsec,4 ; global sbot,2 global errno_,2 global _mbot_,2 dseg public Sysvec_ Sysvec_: dw 0 dw 0 dw 0 dw 0 public $MEMRY $MEMRY: dw 0ffffh ; fcb: db 0,'???????????',0,0,0,0 ds 16 cseg public .begin public _exit_ .begin: lxi h,_Uorg_ lxi b,_Uend_-_Uorg_ mvi e,0 clrbss: mov m,e inx h dcx b mov a,c ora b jnz clrbss ; LHLD BDOS+1 SPHL lxi d,-2048 dad d ;set heap limit at 2K below stack shld sbot lhld $MEMRY shld _mbot_ CALL Croot_ _exit_: mvi c,17 ;search for first (used to flush deblock buffer) lxi d,fcb call BDOS lxi b,0 call BDOS JMP _exit_ ; end .begin mbegin.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 BDOS equ 5 extrn Croot_ dseg ; ; The 3 "ds 4" statements below must remain in EXACTLY the same order, ; with no intervening statements! ; public lnprm, lntmp, lnsec lnprm: ds 4 lntmp: ds 4 lnsec: ds 4 ; public Sysvec_ Sysvec_: dw 0 dw 0 dw 0 dw 0 public $MEMRY $MEMRY: dw -1 public sbot sbot: dw 0 public errno_ errno_: dw 0 ; fcb: db 0,'???????????',0,0,0,0 ds 16 cseg public .begin public _exit_ .begin: LHLD BDOS+1 SPHL lxi d,-2048 dad d ;set heap limit at 2K below stack shld sbot CALL Croot_ _exit_: mvi c,17 ;search for first (used to flush deblock buffer) lxi d,fcb call BDOS lxi b,0 call BDOS JMP _exit_ end .begin rom.asm ;Copyright (C) 1983 by Manx Software Systems ; :ts=8 ; ; stksize should be set according to your program's needs ; stksize equ 1024 bss stack,stksize extrn main_ extrn _Corg_, _Cend_ extrn _Dorg_, _Dend_ extrn _Uorg_, _Uend_ ; ; The 3 "bss" statements below must remain in EXACTLY the same order, ; with no intervening statements! ; public lnprm, lntmp, lnsec bss lnprm,4 bss lntmp,4 bss lnsec,4 ; global errno_,2 dseg public Sysvec_ Sysvec_: dw 0 dw 0 dw 0 dw 0 public $MEMRY $MEMRY: dw 0ffffh cseg public .begin .begin: di lxi sp,stack+stksize ; ; The loop below moves the initialized data from ROM to RAM. ; If your program has no initialized data, or the initialized ; data isn't modified, then delete this loop. ; lxi h,_Cend_ lxi d,_Dorg_ lxi b,_Dend_-_Dorg_ mov a,h cmp d jnz movedata mov a,l cmp e jz movedone movedata: ; If your processor is a Z80, then remove the comment from the ; next line and comment out the next 8 lines. ; db 237,176 ;ldir mov a,m stax d inx h inx d dcx b mov a,c ora b jnz movedata movedone: ; lxi h,_Uorg_ lxi b,_Uend_-_Uorg_ mvi e,0 clrbss: mov m,e inx h dcx b mov a,c ora b jnz clrbss ; ei ;no argc,argv in ROM system jmp main_ ;main shouldn't return in ROM based system end .begin csave.asm ;Copyright (C) 1981,1982,1984 by Manx Software Systems ; :ts=8 extrn .begin public .chl .chl: PCHL ; public zsave,zret zsave: POP H PUSH B MOV B,H MOV C,L LXI H,0 DAD SP XCHG DAD SP SPHL PUSH D DB 221,229,253,229 ;push ix ; push iy mov h,b mov l,c call .chl ; zret: DB 253,225,221,225 ; pop iy ; pop ix cret: XCHG POP H SPHL POP B XCHG MOV A,H ORA L RET ; public csave,cret csave: POP H PUSH B MOV B,H MOV C,L LXI H,0 DAD SP XCHG DAD SP SPHL PUSH D lxi h,cret push h mov h,b mov l,c pchl ; ; move - move BC bytes from (HL) to (DE), used for struct assignment ; public .move .move: mov a,m stax d inx h inx d dcx b mov a,b ora c jnz .move ret ; public .ARG1,.ARG2,.ARG3,.asave ; .asave: ;support for assembly routines which must save IX and IY pop d ;save return address lxi h,2 ;compute address of arguments dad sp xra a adi 3 jpe nopush DB 221,229,253,229 ;push ix ; push iy nopush: PUSH B push d ;put return addr back lxi d,.ARG1 mvi b,6 cpyloop: ;copy args to known place mov a,m stax d inx h inx d dcr b jnz cpyloop lxi h,asmret xthl pchl ; asmret: POP B xra a adi 3 jpe nopop DB 253,225,221,225 ; pop iy ; pop ix nopop: mov a,h ora l RET ; dseg .ARG1: ds 2 .ARG2: ds 2 .ARG3: ds 2 end fmtcvt.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 dseg string: ds 2 size: dw 0 number: ds 4 cseg public fmtcvt_ fmtcvt_: ;char *fmtcvt(ptr, base, buffer, size) push b lxi h,0 shld number shld number+2 lxi h,10 dad sp mov a,m sta size mov b,a ;save size for later dcx h mov d,m dcx h mov e,m dcx h xchg mvi m,0 ;null terminate string shld string xchg dcx h mov c,m ;C = base dcx h mov d,m dcx h mov e,m lxi h,number cpnum: ldax d mov m,a inx d inx h dcr b jnz cpnum mov a,c ora a jp unsigned ; base < 0, means do signed conversion cma inr a mov c,a ;C = base lhld size lxi d,number-1 dad d mov a,m ora a push psw jp top ;number is negative, so make it positive ;note: carry is already cleared by 'ora' above lda size mov b,a lxi h,number ngloop: mvi a,0 sbb m mov m,a inx h dcr b jnz ngloop jmp top unsigned: push psw top: lxi h,number+3 mvi d,0 mvi a,4 outer: push psw mov e,m xchg mvi b,8 inner: dad h mov a,h sub c jc zero mov h,a inr l zero: dcr b jnz inner xchg mov m,e dcx h pop psw dcr a jnz outer ; mov e,d mvi d,0 lxi h,digits dad d mov a,m lhld string dcx h shld string mov m,a ; lxi h,number mvi b,4 xra a zcheck: cmp m jnz top inx h dcr b jnz zcheck lhld string pop psw jp notneg dcx h mvi m,'-' notneg: pop b ret ; digits: db '0123456789abcdef' end blkio.asm ; Copyright (C) 1982, 1983 by Manx Software Systems ; :ts=8 BDOS equ 5 extrn errno_ extrn .asave,.ARG1,.ARG2,.ARG3 public blkrd_ blkrd_: call .asave mvi c,33 ;set function to read sequential jmp rdwrt ; public blkwr_ blkwr_: call .asave mvi c,34 ;set function to write sequential rdwrt: push b ioloop: lhld .ARG2 xchg lxi h,128 dad d ;bump address to next sector shld .ARG2 mvi c,26 ;set DMA address call BDOS pop b push b lhld .ARG1 xchg call BDOS ;read or write sector ora a jnz ioerr lhld .ARG1 lxi d,33 dad d inr m jnz nocarry inx h inr m nocarry: lhld .ARG3 dcx h shld .ARG3 mov a,l ora h jnz ioloop pop b ;pull function code from stack ret ;all done, return number remaining ; ioerr: cpi 1 jz dontset cpi 4 jz dontset mov l,a mvi h,0 shld errno_ dontset: pop b ;pull function code from stack lhld .ARG3 ret ;return number remaining end bdos.asm ;Copyright (C) 1981,1982 by Manx Software Systems ; :ts=8 BASE equ 0 BDOS equ 5 extrn .ARG1,.ARG2,.ARG3,.asave ; public bdoshl_ bdoshl_: call .asave call combdos xchg ;get back original hl value ret ; public bdos_,CPM_ bdos_: CPM_: call .asave combdos: lhld .ARG1 mov b,h mov c,l lhld .ARG2 xchg CALL BDOS xchg ;save for bdoshl call mov l,a xra a ;set zero flag mov h,a RET end bios.asm ;Copyright (C) 1981,1982 by Manx Software Systems BASE equ 0 BDOS equ 5 extrn .ARG1,.ARG2,.ARG3,.asave ; public bios_ bios_: call .asave call combios mov l,a mvi h,0 ret ; public bioshl_ bioshl_: call .asave combios: lhld .ARG1 xchg lhld BASE+1 dcx h dcx h dcx h dad d dad d dad d xchg ;bios jump addr in DE lhld .ARG2 mov b,h mov c,l lhld .ARG3 xchg ;now arg3 in DE, and bios jump in HL pchl end fcbinit.asm ;Copyright (C) 1981,1982 by Manx Software Systems ; :ts=8 public fcbinit_ fcbinit_: push b lxi h,4 dad sp mov c,m ; BC contains name inx h mov b,m inx h mov e,m ; DE contains fcb address inx h mov d,m ; clear name to blanks mov l,e ;copy fcb address into HL mov h,d mvi m,0 ;clear drive # inx h mvi a,11 ;clear name and ext to blanks clrlp: mvi m,' ' inx h dcr a jnz clrlp mvi a,4 zrlp: mvi m,0 inx h dcr a jnz zrlp xchg ; now HL contains fcb addr ; mov a,c ora b jz badname skipbl: ldax b cpi ' ' jz skip cpi 9 jnz skipdone skip: inx b jmp skipbl skipdone: ; push b ;save address of name mvi d,0 ;init user # userloop: ldax b call isdig jc userdone sui '0' mov e,a mov a,d add a ;*2 add a ;*4 add a ;*8 add d ;*9 add d ;*10 add e ;add in digit mov d,a inx b jmp userloop userdone: cpi '/' jnz nouser inx b pop psw ;throw away saved address jmp setuser nouser: pop b ;restore original address mvi d,255 ;set user # to default setuser: inx b ldax b cpi ':' dcx b mvi a,0 jnz nodrive ; ldax b ani 127 cpi 'A' jc badname cpi 'Z'+1 jnc lowerc sui 'A'-1 jmp setdrive ; lowerc: cpi 'a' jc badname cpi 'z'+1 jnc badname sui 'a'-1 setdrive: mov m,a inx b inx b nodrive: inx h ; move name in mapping to upper case mvi e,8 nameskp: inr e namelp: ldax b inx b cpi '.' jz namedn ora a jz alldone dcr e jz nameskp call toupper mov m,a inx h jmp namelp ; namedn: dcr e mov a,e add l mov l,a mov a,h aci 0 mov h,a ; move extension mapping to upper case mvi e,3 extlp: ldax b inx b ora a jz alldone call toupper mov m,a inx h dcr e jnz extlp ; alldone: mvi h,0 mov l,d ;return user # prefix mov a,d ora a pop b ret ; badname: lxi h,-1 mov a,h ora a pop b ret ; toupper: cpi '*' jnz nostar dcx b ;back up so we see star again mvi a,'?' ;and map into question ret nostar: cpi 'a' rc cpi 'z'+1 rnc sui 'a'-'A' ret ; isdig: cpi '0' rc cpi '9'+1 jnc notdig ora a ret notdig: stc ret ; end sbrk.asm ;Copyright (C) 1981,1982 by Manx Software Systems ;Copyright (C) 1983,1984 by Manx Software Systems ; :ts=8 extrn $MEMRY, sbot ; ; sbrk(size): return address of current top & bump by size bytes ; public sbrk_ sbrk_: lxi h,2 dad sp mov e,m ; get size to allocate inx h mov d,m lhld $MEMRY dad d jc sbrk.ov xchg ;save for compare lhld sbot mov a,l ;check for stack/heap overflow sub e mov a,h sbb d jc sbrk.ov lhld $MEMRY ;get old value xchg shld $MEMRY ;new value is good so save it away xchg ;return original value mov a,h ora l ret ; no space left!! sbrk.ov: lxi h,-1 xra a dcr a ret ; ; ; rsvstk(size): reserve size bytes of stack space ; public rsvstk_ rsvstk_: lxi h,2 dad sp mov a,l sub m mov e,a mov a,h inx h sbb m mov d,a xchg shld sbot ret end loader.asm ; Copyright (C) 1984 by Manx Software Systems ; :ts=8 ; The C routine execl() in exec.c knows that this function is ; less than 70 bytes long. If this code is changed, then execl ; must be changed also. ; ; This routine is copied into an automatic array and invoked ; there by execl(). The code is self relocating and must ; remain so. ; bdos equ 5 defdma equ 80h tpa equ 100h public ldr__ ; ldr_(&fcb, ouser) ldr__: pop d ;throw away return pop b ;set up fcb address lxi d,9 dad d ;fix hl to point to head of loop lxi d,tpa ; ; bc = fcb address ; de = tpa address ; hl = address of this routine ; old user # pushed onto stack ; push h ;save loop address push d push b mvi c,26 call bdos pop d push d mvi c,20 call bdos pop b ;restore fcb address pop d ;and loading addr. lxi h,80h dad d ;bump loading addr xchg pop h push h ;restore loop address ora a ;check if eof rz ;if not, return to top of loop pop h ;throw away return addr pop d ;get old user # mvi c,32 call bdos ;restore user # lxi d,defdma mvi c,26 call bdos lhld bdos+1 sphl lxi h,0 push h ;set for proper return from program jmp tpa end user.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 BDOS equ 5 extrn .asave,.ARG1,.ARG2,.ARG3 dseg oldusr: db 0 cseg public getusr_ getusr_: call .asave mvi c,32 mvi e,255 call BDOS ;get current user # mov l,a mvi h,0 ora a ret ; public setusr_ setusr_: call .asave mvi c,32 mvi e,255 call BDOS sta oldusr lda .ARG1 cpi 255 rz mvi c,32 mov e,a jmp BDOS ;set new user number ; public rstusr_ rstusr_: call .asave mvi c,32 lda oldusr mov e,a jmp BDOS ;restore old user number end setjmp.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 public setjmp_ setjmp_: lxi h,2 dad sp mov e,m ;get address of jump buffer inx h mov d,m dcx h ;get SP value back xchg mov m,e ;save SP value inx h mov m,d inx h pop d push d mov m,e ;save PC value inx h mov m,d inx h mov m,c ;save BC value inx h mov m,b xra a adi 3 jpe setdone inx h db 221,229 ;push ix pop d mov m,e ;save IX value inx h mov m,d inx h db 253,229 ;push iy pop d mov m,e ;save IY value inx h mov m,d setdone: lxi h,0 xra a ;set zero flag ret ; public longjmp_ longjmp_: lxi h,2 dad sp mov e,m ;get address of jump buffer inx h mov d,m inx h mov c,m ;get return value inx h mov b,m xchg mov e,m ;get SP value inx h mov d,m inx h xchg sphl ;switch to original stack xchg mov e,m ;get PC value inx h mov d,m inx h push d ;save for return push b ;save return value mov c,m ;get BC value inx h mov b,m xra a adi 3 jpe longdone inx h mov e,m ;get IX value inx h mov d,m inx h push d db 221,225 ;pop ix mov e,m ;get IY value inx h mov d,m push d db 253,225 ;pop iy longdone: pop h mov a,l ora h rnz inx h ;force non-zero return inr a ;set non-zero flag ret end strcmp.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public strcmp_ strcmp_: lxi h,5 dad sp push b lxi b,32767 jmp same ; public strncmp_ strncmp_: lxi h,7 dad sp push b mov b,m dcx h mov c,m ;BC = len dcx h same: mov d,m dcx h mov e,m ;DE = s2 dcx h mov a,m dcx h mov l,m mov h,a ;HL = s1 xchg ;now DE=s1, HL=s2 cmploop: mov a,b ;while (len) { ora c jz done ldax d ;if (*s1-*s2) break sub m jnz done ldax d ;if (*s1 == 0) break ora a jz done inx d ;++s1 inx h ;++s2 dcx b ;--len jmp cmploop ;} done: pop b mov l,a sbb a mov h,a ora l ret end strcpy.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public strcpy_ strcpy_: lxi h,5 dad sp mov d,m dcx h mov e,m ;DE = s2 dcx h mov a,m dcx h mov l,m mov h,a ;HL = s1 push h ;save target for return cpyloop: ldax d ;while (*s1++ = *s2++) ; mov m,a ora a jz done inx d inx h ;++s2 jmp cpyloop ;} done: pop h ;return target address mov a,h ora l ret end strncpy.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public strncpy_ strncpy_: lxi h,7 dad sp push b mov b,m dcx h mov c,m ;BC = len dcx h mov d,m dcx h mov e,m ;DE = s2 dcx h mov a,m dcx h mov l,m mov h,a ;HL = s1 push h ;save target for return cpyloop: mov a,b ;while (len) { ora c jz done ldax d ;if (*s1 = *s2) ++s1 mov m,a ora a jz padding inx d padding: inx h ;++s2 dcx b ;--len jmp cpyloop ;} done: pop h ;return target address pop b mov a,h ora l ret end strcat.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public strcat_ ;strcat(s1,s2) strcat_: lxi h,5 dad sp push b lxi b,32767 jmp same ; public strncat_ ;strncat(s1,s2,len) strncat_: lxi h,7 dad sp push b mov b,m dcx h mov c,m ;BC = len dcx h same: mov d,m dcx h mov e,m ;DE = s2 dcx h mov a,m dcx h mov l,m mov h,a ;HL = s1 push h ;save destination for return value xra a eloop: cmp m ;while (*s1) ++s1; jz cpyloop inx h jmp eloop ;} cpyloop: ;while (len) { mov a,b ora c jz done ldax d ;if ((*s1 = *s2) == 0) break mov m,a ora a jz done inx d ;++s1 inx h ;++s2 dcx b ;--len jmp cpyloop ;} done: mov m,a ;guarantee null termination pop h pop b mov a,h ora l ret end index.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public index_ index_: lxi h,2 dad sp mov e,m ;DE = destination inx h mov d,m inx h mov l,m xchg ;e has char to look for scan: mov a,m cmp e jz foundit ora a jz noluck inx h jmp scan ; noluck: lxi h,0 xra a ret ; foundit: mov a,h ora l ret end rindex.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public rindex_ rindex_: push b lxi h,4 dad sp mov e,m ;DE = destination inx h mov d,m inx h mov l,m xchg ;e has char to look for lxi b,0 xra a toend: cmp m ;scan for end of string jz scan inx h inx b jmp toend scan: mov a,b ora c jz noluck dcx b dcx h mov a,m cmp e jnz scan mov a,h ora l pop b ret noluck: lxi h,0 xra a pop b ret ; end strlen.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 public strlen_ strlen_: LXI H,2 DAD SP MOV A,M INX H MOV H,M MOV L,A LXI D,0 XRA A .stl: CMP M JZ .stlx INX D INX H JMP .stl .stlx: XCHG mov a,l ora h RET end setmem.asm ;Copyright (C) 1983 by Manx Software Systems public setmem_ setmem_: push b lxi h,4 dad sp mov e,m inx h mov d,m inx h mov c,m inx h mov b,m inx h mov l,m xchg setloop: mov a,b ora c jz done mov m,e inx h dcx b jmp setloop done: pop b ret end movmem.asm ;Copyright (C) 1983 by Manx Software Systems ; :ts=8 public movmem_ ;movmem(src,dst,len) movmem_: push b lxi h,9 dad sp mov b,m ;BC=len dcx h mov c,m dcx h mov d,m ;DE=dst dcx h mov e,m dcx h mov a,m dcx h mov l,m ;HL=src mov h,a cmp d jc movedown jnz moveup mov a,l cmp e jc movedown jz done moveup: ;src > dst dad b xchg dad b xra a adi 3 ;test if z80 jpe uploop ;not z80 use loop to move data xchg dcx d dcx h db 237,184 ;lddr pop b ret ; uploop: ;HL=dst, DE=src dcx d dcx h ldax d mov m,a dcx b mov a,b ora c jnz uploop pop b ret ; movedown: ;src < dst xra a adi 3 ;test if z80 jpe downloop ;not z80 use loop to move data db 237,176 ;ldir pop b ret ; downloop: mov a,m stax d inx d inx h dcx b mov a,b ora c jnz downloop done: pop b ret end swapmem.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 public swapmem_ ;swapmem(s1,s2,len) swapmem_: lxi h,7 dad sp push b mov b,m dcx h mov c,m ;BC = len dcx h mov d,m dcx h mov e,m ;DE = s2 dcx h mov a,m dcx h mov l,m mov h,a ;HL = s1 mov a,c ora a jnz bok dcr b bok: push b swaploop: mov b,m ldax d mov m,a mov a,b stax d inx h inx d dcr c jnz swaploop pop psw ora a jz done dcr a push psw jmp swaploop done: pop b ret end toupper.asm ;Copyright (C) 1981,1982 by Manx Software Systems ; :ts=8 public toupper_ toupper_: lxi h,2 dad sp mov a,m cpi 'a' jc skip cpi 'z'+1 jnc skip sui 'a'-'A' skip: mov l,a mvi h,0 ora a ret ; ; public tolower_ ; tolower_: lxi h,2 dad sp mov a,m cpi 'A' jc skip2 cpi 'Z'+1 jnc skip2 adi 'a'-'A' skip2: mov l,a mvi h,0 ora a ret end lsubs.asm ; Copyright (C) 1982, 1983, 1984 by Manx Software Systems ; :ts=8 extrn lnprm,lntmp,lnsec ; public .llis ;load long immediate secondary .llis: pop d ;get return addr lxi h,4 ;size of long dad d push h ;put back correct return addr xchg ;fall through into .llds ; public .llds ;load long into secondary accum .llds: lxi d,lnsec jmp lload ; public .llip ;load long immediate primary .llip: pop d ;get return addr lxi h,4 ;size of long dad d push h ;put back correct return addr xchg ;fall through into .lldp ; public .lldp ;load long into primary accum .lldp: lxi d,lnprm lload: mov a,m stax d inx d inx h mov a,m stax d inx d inx h mov a,m stax d inx d inx h mov a,m stax d ret ; public .lst ;store long at addr in HL .lst: lxi d,lnprm ldax d mov m,a inx h inx d ldax d mov m,a inx h inx d ldax d mov m,a inx h inx d ldax d mov m,a ret ; public .lpsh ;push long onto the stack .lpsh: ;from the primary accumulator pop d ;get return address lxi h,lnprm+3 lhld lnprm+2 push h lhld lnprm push h xchg pchl ; public .lpop ;pop long into secondary accum .lpop: pop d ;get return address pop h ;bytes 0 and 1 shld lnsec pop h shld lnsec+2 xchg pchl ; public .lswap ;exchange primary and secondary .lswap: lhld lnsec xchg lhld lnprm shld lnsec xchg shld lnprm lhld lnsec+2 xchg lhld lnprm+2 shld lnsec+2 xchg shld lnprm+2 ret ; public .lng ;negate primary .lng: lxi h,lnprm negate: xra a mvi d,4 ngloop: mvi a,0 sbb m mov m,a inx h dcr d jnz ngloop ret ; public .ltst ;test if primary is zero .ltst: lxi h,lnprm mvi d,4 tstlp: mov a,m ora a jnz true inx h dcr d jnz tstlp jmp false ; public .lcmp ;compare primary and secondary ; ;return 0 if p == s p.lt.s: ;return < 0 if p < s xra a dcr a pop b ret ; p.gt.s: ; > 0 if p > s xra a inr a pop b ret ; .lcmp: push b lxi d,lnprm+3 lxi h,lnsec+3 mov a,m xri 80h mov c,a ldax d xri 80h cmp c mvi b,4 jmp pswchk public .ulcmp .ulcmp: push b lxi d,lnprm+3 lxi h,lnsec+3 mvi b,4 cmploop: ldax d cmp m pswchk: jc p.lt.s jnz p.gt.s dcx h dcx d dcr b jnz cmploop ;return 0 if p == s xra a pop b ret ; public .lad ;add secondary to primary .lad: ;DE is used as primary address ;and HL is used as secondary address push b lxi d,lnprm lxi h,lnsec xra a ;clear carry mvi b,4 adloop: ldax d adc m stax d inx h inx d dcr b jnz adloop pop b ret ; public .lsb ;subtract secondary from primary .lsb: push b lxi d,lnprm lxi h,lnsec xra a ;clear carry mvi b,4 sbloop: ldax d sbb m stax d inx h inx d dcr b jnz sbloop pop b ret ; public .lan ;and primary with secondary .lan: push b lxi d,lnprm lxi h,lnsec mvi b,4 ndloop: ldax d ana m stax d inx h inx d dcr b jnz ndloop pop b ret ; public .lor ;or primary with secondary .lor: push b lxi d,lnprm lxi h,lnsec mvi b,4 orloop: ldax d ora m stax d inx h inx d dcr b jnz orloop pop b ret ; public .lxr ;exclusive or primary with secondary .lxr: push b lxi d,lnprm lxi h,lnsec mvi b,4 xrloop: ldax d xra m stax d inx h inx d dcr b jnz xrloop pop b ret ; public .lcm ;complement primary .lcm: lxi h,lnprm mvi d,4 cmloop: mov a,m cma mov m,a inx h dcr d jnz cmloop ret ; public .lls ;shift primary left by secondary .lls: lda lnsec ani 03fH ;restrict to 63 bits rz lhld lnprm xchg lhld lnprm+2 ;DE has low word, HL has high word lsloop: dad h ;shift high word xchg dad h ;shift low word xchg jnc lsnc inr l ;carry into high word lsnc: dcr a jnz lsloop shld lnprm+2 ;put back high word xchg shld lnprm ret ; public .lur ;unsigned right shift primary by secondary bits .lur: clc ;propogate 0 bit jmp rs_sub ; public .lrs ;right shift primary by secondary bits .lrs: lda lnprm+3 ral ;set carry to MSB rs_sub: push psw lda lnsec ani 03fH ;limit to 63 places jz rsdone mov d,a rslp1: lxi h,lnprm+3 mvi e,4 pop psw ;get correct carry setting push psw rslp2: mov a,m rar mov m,a dcx h dcr e jnz rslp2 dcr d jnz rslp1 rsdone: pop psw ret ; ; setup: lxi h,3 dad d mov c,m mov a,c ora a rp xchg jmp negate ;force positive ; public .ldv .ldv: ;long divide (primary = primary/secondary) push b lxi d,lnprm call setup push b lxi d,lnsec call setup mov a,c pop b ;get primary sign xra c ;merge signs push psw ;save for return call dodivide pop psw pop b jm .lng ret ; public .lrm .lrm: ;long remainder (primary = primary%secondary) push b lxi d,lnprm call setup mov a,c ora a push psw lxi d,lnsec call setup call dodivide lxi d,lntmp lxi h,lnprm mvi b,4 remsave: ldax d mov m,a inx d inx h dcr b jnz remsave pop psw pop b jm .lng ret ; public .lud .lud: ;unsigned long divide (primary = primary/secondary) push b call dodivide pop b ret ; public .lum .lum: ;long remainder (primary = primary%secondary) push b call dodivide lxi d,lntmp lxi h,lnprm mvi b,4 uremsave: ldax d mov m,a inx d inx h dcr b jnz uremsave pop b ret ; ; dodivide: mvi b,4 lxi h,lntmp ;clear quotient buffer xra a quinit: mov m,a inx h dcr b jnz quinit mvi a,32 ;initialize loop counter divloop: push psw lxi h,lnprm mvi b,8 ora a ;clear carry shlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz shlp sbb a ani 1 mov c,a mvi b,4 lxi d,lntmp lxi h,lnsec ora a ;clear carry sublp: ldax d sbb m stax d inx d inx h dcr b jnz sublp mov a,c sbi 0 jnz zerobit onebit: lxi h,lnprm inr m pop psw dcr a jnz divloop ret ; zerobit: pop psw dcr a jz restore push psw lxi h,lnprm mvi b,8 ora a ;clear carry zshlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz zshlp sbb a mov c,a mvi b,4 lxi d,lntmp lxi h,lnsec ora a ;clear carry daddlp: ldax d adc m stax d inx d inx h dcr b jnz daddlp mov a,c aci 0 jnz zerobit jmp onebit ; restore: ;fix up remainder if still negative mvi b,4 lxi d,lntmp lxi h,lnsec ora a ;clear carry resloop: ldax d adc m stax d inx d inx h dcr b jnz resloop ret ; ; public .lml .lml: ;long multiply (primary = primary * secondary) push b ; lxi h,lnprm mvi b,4 lxi d,lntmp ;copy multiplier into work area msav: mov a,m stax d mvi m,0 inx h inx d dcr b jnz msav ; mvi a,32 ;initialize loop counter muloop: push psw lxi h,lnprm mvi b,8 ora a ;clear carry mshlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz mshlp jnc mnext mvi b,4 lxi d,lnprm lxi h,lnsec ora a ;clear carry maddlp: ldax d adc m stax d inx d inx h dcr b jnz maddlp ; mnext: pop psw dcr a jnz muloop pop b ret ; ; public .leq .leq: call .lcmp jz true false: lxi h,0 xra a ret ; public .lne .lne: call .lcmp jz false true: lxi h,1 xra a inr a ret ; public .llt .llt: call .lcmp jm true jmp false ; public .lle .lle: call .lcmp jm true jz true jmp false ; public .lge .lge: call .lcmp jm false jmp true ; public .lgt .lgt: call .lcmp jm false jz false jmp true ; public .lul .lul: call .ulcmp jm true jmp false ; public .lue .lue: call .ulcmp jm true jz true jmp false ; public .luf .luf: call .ulcmp jm false jmp true ; public .lug .lug: call .ulcmp jm false jz false jmp true ; public .utox .utox: shld lnprm posconv: lxi h,0 shld lnprm+2 ret ; public .itox .itox: shld lnprm mov a,h ora a jp posconv lxi h,-1 shld lnprm+2 ret ; public .xtoi .xtoi: lhld lnprm ret end divide.asm ;Copyright (C) 1981,1982,1983 by Manx Software Systems ; :ts=8 extrn .ng public .dv,.ud .dv: ; DE has dividend, HL has divisor mov a,d xra h ;check if signs differ push psw ;and remember call divsub ;use same routine as modulo xchg ;and swap results pop psw jm .ng ;negate result if signs of operands differ mov a,l ora h RET ; .ud: CALL .um ;use same routine as modulo XCHG ;and swap results mov a,l ora h RET ; public .rm,.um .rm: mov a,d push psw call divsub pop psw ora a jm .ng ;negate result if dividend was signed mov a,h ora l ret ; divsub: mov a,h ora a jp hlpos cma mov h,a mov a,l cma mov l,a inx h hlpos: mov a,d ora a jp .um cma mov d,a mov a,e cma mov e,a inx d ; fall through into .um ; .um: push b ;save for C mov c,l mov b,h lxi h,0 call div16 pop b mov a,l ;set flags for C ora h ret ; ; div16: divides (hl,de) by bc ; returns remainder in hl, quotient in de public div16 div16: mov a,c cma mov c,a mov a,b cma mov b,a inx b MVI A,16 ;iteration count divloop: DAD H ;shift hl left XCHG DAD H ;shift de left XCHG JNC nocy INR L ;carry into high part nocy: dad b ;subtract divisor jc setbit push psw mov a,l sub c mov l,a mov a,h sbb b mov h,a pop psw DCR A ;count times thru JNZ divloop ret setbit: INR E ;set quotient bit DCR A ;count times thru JNZ divloop ret end shifts.asm ;Copyright (C) 1981,1982 by Manx Software Systems ; public .ml .ml: PUSH B MOV B,H MOV C,L LXI H,0 ;CLEAR RESULT MVI A,16 ;ITERATION COUNT .mlp: DAD H ;SHIFT LEFT XCHG ; NOW SHIFT DE LEFT DAD H XCHG JNC .msk DAD B .msk: DCR A ;COUNT TIMES THRU JNZ .mlp ;go thru 16 times POP B mov a,l ora h RET ; public .rs .rs: XCHG mov a,e ani 31 mov e,a jz setcc MOV A,H ORA H JP .arloop ; .sign: MOV A,H STC RAR MOV H,A MOV A,L RAR MOV L,A DCR E JNZ .sign ora h ret ; public .ls .ls: XCHG mov a,e ani 31 mov e,a jz setcc lslp: DAD H DCR E JNZ lslp setcc: mov a,l ora h ret ; public .ur .ur: XCHG mov a,e ani 31 mov e,a jz setcc .arloop: MOV A,H ORA A RAR MOV H,A MOV A,L RAR MOV L,A DCR E JNZ .arloop ora h ret ; end bitopr.asm ;Copyright (C) 1981,1982 by Manx Software Systems public .an .an: MOV A,H ANA D MOV H,A MOV A,L ANA E MOV L,A ora h RET ; public .cm .cm: MOV A,H CMA MOV H,A MOV A,L CMA MOV L,A ora h RET ; public .or .or: MOV A,H ORA D MOV H,A MOV A,L ORA E MOV L,A ora h RET ; public .xr .xr: MOV A,H XRA D MOV H,A MOV A,L XRA E MOV L,A ora h RET end support.asm ;Copyright (C) 1981,1982 by Manx Software Systems ; Copyright (C) 1981 Thomas Fenwick ; :ts=8 public .nt .nt: MOV A,H ORA L jz .true jmp .false ; public .eq,.ne .eq: mov a,l sub e jnz .false mov a,h sub d jz .true .false: lxi h,0 xra a ret ; .ne: mov a,l sub e jnz .true mov a,h sub d jz .false .true: lxi h,1 mov a,l ora h RET ; public .le,.ge .ge: ; ge XCHG .le: mov a,h xra d jm .lediff ; signs differ ; signs alike mov a,l sub e mov a,h sbb d cmc mvi a,0 aci 0 mov l,a mvi h,0 ret .lediff: mov a,d rlc ani 1 mov l,a mvi h,0 ret ; public .lt,.gt .lt: XCHG .gt: mov a,h xra d jm .gtdiff ; signs differ ; signs alike mov a,l sub e mov a,h sbb d mvi a,0 aci 0 mov l,a mvi h,0 ret .gtdiff: mov a,h rlc ani 1 mov l,a mvi h,0 ret ; public .ng .ng: MOV A,L CMA MOV L,A MOV A,H CMA MOV H,A INX H mov a,l ora h RET ; public .sb .sb: XCHG mov a,l sub e mov l,a mov a,h sbb d mov h,a ora l ret ; public .swt .swt: xchg pop h PUSH B MOV B,D MOV C,E MOV E,M INX H MOV D,M swt.1: DCX D MOV A,D ORA A JM swt.def INX H MOV A,C CMP M JZ swt.3 INX H swt.2: INX H INX H JMP swt.1 swt.3: INX H MOV A,B CMP M JNZ swt.2 swt.def: INX H MOV A,M INX H MOV H,M MOV L,A POP B PCHL ; public .ue,.uf .uf: ; uge XCHG .ue: mov a,l ; ule sub e mov a,h sbb d mvi a,0 cmc aci 0 mov l,a mvi h,0 ret ; public .ug,.ul .ul: ; ult XCHG .ug: mov a,l sub e mov a,h sbb d mvi a,0 aci 0 mov l,a mvi h,0 ret ; end port.asm ; ; Direct Port I/O Functions for AZTEC C II ; ; Copyright (c) 1982 William C. Colley III ; ; I grant Manx Software Systems permission to incorporate these functions ; into the AZTEC C library subject only to the condition that my copyright ; notice remain in the source code. WCC3. ; ; These functions allow AZTEC C II to get to the machine I/O ports. They ; are more complicated than might be expected as they can't use the Z-80's ; "IN A,(C)" and "OUT (C),A" instructions and still remain 8080-compatible. ; Self-modifying code is also out of the question as that kills ROMability. ; I therefore go through the hassle of setting up temporary subroutines in ; RAM and calling them. ; ; The functions in the package are: ; ; char in(p) Returns contents of input port p. ; char p; ; ; out(p,c) Sends character c to output port p. ; char p, c; ; CSEG PUBLIC in_, out_ ;***************************************************************************** in_: LXI H, 2 ;Get port number from stack. DAD SP MOV H, M MVI L, 0dbh ;Form input instruction of temporary SHLD TMP ; subroutine and set it up in core. LXI H, TMP + 2 ;Add return instruction to temporary MVI M, 0c9h ; subroutine in core. CALL TMP ;Call temporary subroutine. MOV L, A ;Return result. MVI H, 0 ORA H RET ;***************************************************************************** out_: LXI H, 4 ;Get data and port number from stack. DAD SP MOV A, M DCX H DCX H MOV H, M MVI L, 0d3h ;Form output instruction of temporary SHLD TMP ; subroutine and set it up in core. LXI H, TMP + 2 ;Add return instruction to temporary MVI M, 0c9h ; subroutine in core. JMP TMP ;Call temporary subroutine and return. ;***************************************************************************** DSEG TMP: DS 3 ;Space for temporary subroutine. ;***************************************************************************** END ;Form output instruction of temporary SHLD TMP ; subroutine and set it up in core. LXI H, TMP + 2 ;Add return instructionTSe44e@ո\K@ 4,!.Q(9/Q $r@E !'مVR@`&AhʩEu\CM@" :!QVr@DEXhh) \i \(jh*ȱɩȱ0 Q(誈k [hJq\8Sde44i@ \K@%@"3@ 9/α,!.Q09/Q /r@E !'مZ@X"K`f !XYX",ï `+4hDXU1 H)р\jꑓ0 jH \rʩ誈q )hh)ɱ\8Se544i@\K@%@ hDf@r^b,!,!.Q09/Q 0r@E !'مYXeUV_h@іa[ X_mWd_Lt)#F1r*:Jt`!&F!rd""*`&"J2 r2le NSe44dM-%A 2GETNUM%Mje\K@'4p. hh K hh0K pxZ.KC@% 4\&A!ȄR1c2LÑl5 CZ.*p< AH ` Z!X(BK2E +/>-YW U"P4eW1}`FX@B^ "62X#"D e X!"2X!*@`(Ix,pB-dE ^ 52#/ _Vi/`VWHBFX<i HM[Da٠1}`@і,!X0L@D e B a}`8"@E p8*QV˔U8L2fGXYW u+r: vU)Ff7n FrueY! vC9D)~1sbYxFVuNb3X(^ e X!/wLX!?0zL!,!","`4ȄYx,u@Df 2*QVsa a͇T e"BNbH!'1(u@͛{W u*!G.Son2E@ eXV"3ՕA UDE/60-WU0rf Df0&`( Y  :|Z8r6Ɂ4Xt u+*QVs@іa![-T B9EXDs`0-T Bu@BFX<U,%] x%1)8~@ oRP<m@dF^ !6ـ26ށ@(3oE* vʷb*@ Da6`Յz U ٷH x/$B9EXt" !ͽm ` f6UaP1` mh_meRA  ;`rZl .B%@K i @[4eTpA@(dBfmQVfF Em#eX A"#d dͭ0*@1Ba0A` mchh !YUbUB9EXh",fܠ&DM>-XT|B K2 fؐFU@mf *" *zVU%60 r64XuCpr^lڪ.VmfmY@)of09?x,ui`+6\h ,v ô|Z(ef"3k0+4pkh+AxFVjr 6Y4U1 ii*ILH)ёX\Hjꑓ@JjH \)Ȉ J e)ѐV\eȱPF\>eɈX\MehQX\eɩpX\ɉ \ɉ* \Ɋj \Ɋ \\ɊjZ\ʪ@\8Se$Di@x"3@(9rA@xFVj@+4hZ,PRINTFb$Tt.CHLB5uH CSAVED5$UH.MOVEdd$HȠPUTCHAS de$I@\K@ 4`09rAxFVjiH4Z-HDf@VrA@xFVj@E I)ʑ \i \-jh*ȱɩȱ #I*S e5$I@\\K@ 4`09rAxFVji4Z-!4B9EXs0Y!A #+5EXF", j I)ʑ \i \:jh*ȱɩȱ0 Te)ӀԓPU dd$I@L"8@ @9'Z.%@Z.%Z. %Z.%Z.%E-@#+:XB\#uNb3V^ b,|Zx Dhʽb! '1"E!8Z@˔#3n Fru`E"62`` H9rfcx9NYx,uFm~e\"r?sbX`V Pʠ`"#V^b,!i.So'1+/a" :H!i.So'1+/`U@U 4ud"DX0CEX".3n*Z@˔#3n Fru`E"6Hb,+egXZ@˔#3n Fru`EwBPZ@˔#3n Fru`EX#JC"2X!}EX(" 3i U!2"@ ;d!X8U&6HO31Fpg'X:XBp Df0&UM)Ff7nX Aa@!(" :!X@]/g pB\ ` +4uA"@` ȋ0b,+egX 9YDEt( Ub12EX! ",$94 ` xdV#xGeBra h"`hʣb" |Z EX0V"7X3h*@if ͦL!,:P!X@ZX@F"$~[:X(2 XHV^ K6B/6d :X2" |ZX߁ EX0V"7X3i*D)ͱmͲl!,;pá0Y` ٷ| AA/$Ub,ãɎdd$H.BEGIN4.SWTT54dXCRETRdX͘STRLENddD5eHp CTP__쀲.EQH`.GT4(( .MLUՕ ddD5eI@@\.%(`@eaYxVX+' ²1J+wX ` G@-YTPU`r^˔Uh`jʢ,t*@V fܠfe*@8͡%dM0]b`r~WD #+ ,`4\fְEʫ,`4YhB K2$BI234YVBD #+5D #+5D"@$P˕4Z- /`r~ᐉb s=W`i@)Ff7n!2Tp"3kx <˄@@ o-U0BFX<BFXD2VhhA@(rh E: 0"3@U/і 7GX@#>D!XDu `of !%XKbAxFVjG\BhLXDXDiuLui e HDf(9'0[\!XLoXLF"`"&of !%Y͢ M)#"EmX! | |vUY1 H( ʊ+H \?i \jh*ȱɩȱ*~ɩɨIjHghjQ i)ʈ1\eȪ1&\/eʩ&\eʨ\eʪQ&\8UԒU`eu%ED]I%Q~TTY_WR MkGU ZegXR)!4B K2TB K2TBK2TBK`Rf EB Z. %@Z!%Y"%"'* @DH h٠of J!%XKbAxFVj@^Z-*3@ `4lHDu@ >-YTU`r^˔Uh`jʤ`,x*@V ffdM>-XTBLH@[6 !!4iuAFf7@Un`4hH B K2r@^Z-*of֐09/ζHDf԰ 9'Vhhʳ@"!%Y!%B\pr^hD" 4Z" e]  X!' !'3ͅArfcx9BB I248AxFVup X8F|Z^  4eT!4VmhL+/ Qf@&EH #+:!C ##K kegX Egū* "2!4V^ Pr^ڮheg[&<ԕc]I%Q~:Wԣ %:2 #M]R2PUc IR0KSՑc3U =M~3nSՓQSc1 9}%9~3ԗ-9IMQUMJ2UTԣ@ }~3T"@ !9Q3ːS&LF3"˓#',U23.˕Q%`,1N3˕T),M pSQRd4TT@Ք"3@ 9/αHR݅J/fE! 0 eb,BK2w@"`$5YDB9LhM`4uNlQ@f r !(2rhpج !%Y3@h!%4f+4f۰ 4a " Bh0 G!'1(9f0mhʥ`"!'1B$NbEtX"PrͿ "3lB$NbPrͦ, L]bs QY1 H)р\jꑐ@ jH \JjjQ nHk !ȪJI@ ceQ\ɉp\PɊJq`\bɉ \$ɉ*\Ɋj \Ɋ  \ɊjP \ʪ0\8TU e4E@`"3@ 9/αHR݅I/ 9/αHRQ xFV! #+D IFr 9DIB2cA=M%Q~0QS !20 #  MY0ԑU#5=Y2<T& !9QpSѠe4Te@"3@ 9'ZVhh !2~TB:"@$!&HDB O31Vpg&+4hhd@`f */2X`uLU(e!'0B3@U0B"e~7[#9@XH &:Sї %:0 #M]R2PUc IR0KSՑc(`}%9~2&P2` F2˓c+` UpS U}%9~P5 p- B$"3h da Vhh@UB!K23ih*1D"H- hDf0U*! !@h@@ Uh>-YVHBL@` ɎUh_FIND_b$Tt.CHLB5uHȈCSAVED5$UH.MOVEe4UDT@BDOS_ÀdU%$.EQ2YTU`d4EE@h"3@ 9/αHRXd@2J `!"F!rBd`)FA* ,`!"F)rjz,dH! * PSd$ĵ$E 1-]I~P5[f 3h8D Ppi0X** 24aST TaP %eU`U ``&:ԑ 1-]I~2T! MY2XKTc"I2KTSSQ`e$TY@D"@9rHxFVj@DM(ef64Z,VhBh(D 4Z!2H(D!P- "/ñ` rVmWhB/4eX "MfK&:SSQc %:0 #M]R2PUc IR0KSՑc1IMQUMJ2P%MQUMJ2PВSc0II9=~2ˑTc) 9pSSeTĔ@,"@9rF@xFVj@DMb@D!04Z$Bk40B/4eTp "/$B2cU91%9.0QS !20 #  MY0ԑU#5=Y2`Tԣ%  =M~28UTԣ" %9&2T' FpP`d44U@"3@ 9/00ea,TB E!2D&@IxFVj@IxFVu@BNb3u@`IBNbs0Nb!'1BK2ih \Ri \jh*ȱɩȱ@ <i)ʈ1 eɊ\8QVP dUT4a Y~P55 B \Pr^d@mf@Eȫiѐ H)р\jꑑ jH \0ȫjVPdUT4a YBP 5 B \Pr^2hB)g6K hK hD'@#+5YE"@28!)%B 3i*m BU\Qf  B 9Y(rkEHh/_HuM@B\9D K@- VmhD(!:%Y~VBt\#'1B E'@~1sbYxFVujʰ "|Zrp-I` Ͳ !6fҐDB 9L+hXeW":٠ Ee橀#"Em?'ђ!#0rVhhEX!&.Q 9f $O&#a 1B:2VPՔ# %:3X #M]R2:PUc IR0KSՑc3 95=Y563P, MQI Af2ВSc251I}~3:T&,F2˕QQTTE%@@jAhj([ʷd8Z 4 4 a1 8Sd49@"3@ 9/Pr~MѠ+4hjʦ`+4hZ"Ɏd48.BEGINB4.SWTT54dXCRETRdXɈSETMEMd8Ȱ.MLPSe$T511=FREE_Mo- ##K hh _IxFVu"bhDB K2U[@", |ZH ,Z@ #+ @4eUPVa(9/η(9Xh0$"3h (K kegXF#h#`V`Յh8EXEX(F#/"[݀ ",!%XK0Z,tʧ@"^IxFVuE%eTBK2TU,ʡ "^b1xFVu egYxFVj -)Ff7]n!%Y#ea 9L;v`4eaV f `4eaV f0Uj`svU"d2"`s $#+5EXF#hg##+ `4r D#9 `i9B"!'1iI`@mQeP!f !4"np *@Hu '1B: $#9 ! 2f & ;Z .%B@r^/dEX8F#?̪j!"D&0eb,iup60(ef4]lښʳ B^KEͨ`,,*˭XVdBK2TU.h³ L:z!%Y*1D#9 pBNb3"H) H \i \jh*ȱɩȱdɩɨ\eȱ&\~eʨ &\eʪQ\8d$D4 =M~CPM_MG6:,*Pf@zɎd$D4@BDOS_D5`.ARG1R$s(.ARG3b4dYST$5 %=M!2P5%f o,*bV+C!X"E@I)kР *H1 \e!*Hq \8ВS`dd4$@פ!$F^f!F>1 `z£qO*?,*paҐ(X fQk :A 6; UlaY?@b@NcڸJ5 ; 0 Ҹ cP .eZ@*ހYV0r6Ц8g@5*ހ3nXFaZ0z[Y"`_¦=K`Wnc %9&pДU4%$IMYMQ.P5:*-Hԙ4ڤQYj$BObF+T@hJIkҠ ĉK1p8TTԕ e4%E@@Ը"@ p-` p -`9`` (9/α[BLO31:$#3",* 9?hofb`r~@o eb,UXUQ H9/ζhh@[4eZ@ 09/HdMaאVrBRK2a-fU*m<`0]bTtBLK2TUVhhLX3@U `aVu62 "@KU*IxFV0C$BheaVunx .Vf@y`@eͨ .QVuI@Ff7j Eͷ R`4XwVir0D#9 Ub6Fr````V`@* ʻ"@r^ 9B``sX"DXiuIFr* h¥ mMaR!V``!$'1Ub2`@/d@2z`!"Fm@!rBd`)FA* ,`!"F)rjz,g)&DYr*e&*F}Yrdd *Sre)FVrjde *NTTdtUEU5(MQUMJRSTUSRMM% h4homh2d͢`Pt#*GC2*t))*FJ@1r ,dt #)r 9` #UT e4UD1=9)6P5f+ug!Esg^Phg!9B^#'β#u]eXFbde{2#j\%YpOFxɎe4UDxLONGJMT e5E$4MQI9 6P58@(a@9bdYXV^f;eS YLKvU2 l::7VLt))!GB2rl`e5E$5@pBJ²+7ܡݕFb6 pSTRCPY e5E$5 @ԠBXaY8VVgY<,YT4w[LF a  d@2rU e5E$4HMQI9 P5=@(a@9bdYXV^f;^eR`,n;T&#0>-Y1  jIh3RSV dDU@|BK2?.Tpnʢ6  IjɎdDUSV e$DU@Ը!%XFnu@zF`6<,YT+?.T``D Ɏe$DUSe5E$T@dBO31"+̪*`d@2b*tUQS`e4UDT@p!%XFNfYbʣ@1-C,SETMEMSՓQS`ddT@H!$aY8VVgYκmS >TT.JuSXlV\0Y!Xh <,XTWnX0Y'LF <,XUɎddTTQ`e5tY@ԼBXaY8VVgYy[F !L£*^:0d@2 j,T`eDUXQ=1=]P5,ڢ J50nڤJ10nɎeDUXTOLOWEU TD@0ׄ"3@ 9'K hh^ "4aRA meSFD&h`@Em$eU0"HMa`E`m@eV`FD&p %BDeB3@U(3@h  "2!4V^ l3@mh?mpk jʻ@Ͳ` x8t1 H)р\jꑐ@ jH \{j `\\eȪ1\ɉ\ɉ \kɉ*` \Ɋj \Ɋ  \Ɋj \ʪ \8U`TD@ "3@ 9'Z.%Ix, J@ X!XL@ áE X!T  "2!5Y X!Y !Xi/2#/ 2A@h0DdBh8C!2" :*@ū* 4aPVd@* zJ`!"F!rBd`)FA* ,`!"F)rjz,e(/_@r tep"k@rr-Y.)!.!@S~ `ŅM@-9Wnr\VG&aU` cqX*0 [dˀ%@@ p0t!&G@@*Қ ,tX-)"GF"*t"M@)rjz,x #ǀ)r 9x #P1r ,`!"NSPRĕ811N.LLIPK B5H1AM".LPOPT Bx1QMR.LCMPST BH1M .LAN ԠBŅ(1 6.LLS TB%81Z.LRM Q BT152.LEQ `BH11.LGE  BT1U.LUF QRUD%Q=b.XTOIMO" 2u@h@˕  dhh# 0h# 얈HIR@ tS+p@E$ H:UETb**UXHW@R@ I+ $CZ` ;¬*a\P!U`v ^=`U %W xi܀\;n,Hg@@dVPVbmp؀+@8$# XW@bn@+@x$# XWbn0HF  K`&aP %"!L ¤ ,HyFaSHꎀU-u@RU<X=aTpUPì@# X GT?eWHWCG;ì*aV$BIǕî Pmf(Fl 傩zoh ł (Fǀl n`mf!@ ` hXW }VK{@X,+6m߀LFa^0 $ yFa_0! `B;*sI` Fm 4 `V< *`!#G~Y/*=D4 [qO0#D@4P nGb0+ Y0a` 0#R@50 nGb0+ 2Xnk $6`V}- ²M+ZlX-HLFaZ@'b@,me\P!dl*@ xͳ÷@L0L÷@L0@L;ͳtʷ@L;͵÷@LXL÷@LX@L;͵tʷ@L;"BE$l&>-T B@ *l.LLISRE8h.LLIPRE0.LSTR40.LPOPb5tp.LNGRE5H.LCMPbT40.LADB4(.LAN( .LXR4 .LLSU( .LRSƀEh@ .LRMTH .LUMB.LEQ߁BXX.LLTBX.LGEBuH.LULBTXP.LUFTx.UTOXD.XTOI$LNTMPЁT4T9UQ`2Eh U.RM˕S`TDci@մziFK6:ϫFIͤ@ꄀK@s#=-T^W=6)4!}Z2O"y^GXҪKj=Oy0gxXU8p&:ˑ U:*˔c U6:QUM# 9pQ2 IN.LS˕TUp)!KRiQHB'գ%{s~|Z_eSHuNFKTϡxuR.ML2%8.LS2U)U2 6.OR˖R}Q֌}֌}Y֌}U֌.AN24.OR2)TԠ2H F.NE˓`2tX 1R.GT˓24(M]R.UE˕Q2Tx U2P5>-YTD6>$TB+'ԛ L$!FK}SL Ld` LdϊT>ω7 7 |gգ%}Iω:ՒpHD=-V<Fy_2HF#ap|°3o`]gԙ4>xuRgLt'*GBr*t\'"Jrb,t#Prbu #GWrr-YTD6>$TB+'ԛ L$!FK}SL Ld` LdϊT>ω7 7 |gգ%}Iω:ՒpHD=-V<Fy_2HF#ap|°3o`]gԙ4>xuRgLt'*GBr*t\'"Jrb,t#Prbu #GWrr #define EOF -1 static int maxwidth; static int (*gsub)(); char *index(); scanfmt(getsub, fmt, args) int (*getsub)(); register char *fmt; register int **args; { #ifdef FLOAT double atof(); #endif long lv; register int c, count, base; char suppress, lflag, widflg; char *cp; auto char tlist[130]; static char list[] = "ABCDEFabcdef9876543210"; static char vals[] = { 10,11,12,13,14,15,10,11,12,13,14,15,9,8,7,6,5,4,3,2,1,0 }; count = 0; gsub = getsub; while (c = *fmt++) { if (c == '%') { widflg = lflag = suppress = 0; maxwidth = 127; if (*fmt == '*') { ++fmt; suppress = 1; } if (isdigit(*fmt)) { maxwidth = 0; do { maxwidth = maxwidth*10 + *fmt - '0'; } while (isdigit(*++fmt)); } if (*fmt == 'l') { lflag = 1; ++fmt; } switch (*fmt++) { case '%': c = '%'; goto matchit; case 'h': /* specify short (for compatibility) */ lflag = 0; goto decimal; case 'D': lflag = 1; case 'd': decimal: c = 12; base = 10; goto getval; case 'X': lflag = 1; case 'x': c = 0; base = 16; goto getval; case 'O': lflag = 1; case 'o': c = 14; base = 8; getval: if (skipblank()) goto stopscan; if (getnum(&list[c], &vals[c], base, &lv) == 0) goto stopscan; if (!suppress) { if (lflag) *(long *)(*args++) = lv; else **args++ = lv; ++count; } break; #ifdef FLOAT case 'E': case 'F': lflag = 1; case 'e': case 'f': if (skipblank()) goto stopscan; if (getflt(tlist)) goto stopscan; if (!suppress) { if (lflag) *(double *)(*args++) = atof(tlist); else *(float *)(*args++) = atof(tlist); ++count; } break; #endif case '[': lflag = 0; if (*fmt == '^' || *fmt == '~') { ++fmt; lflag = 1; } for (cp = tlist ; (c = *fmt++) != ']' ; ) *cp++ = c; *cp = 0; goto string; case 's': lflag = 1; tlist[0] = ' '; tlist[1] = '\t'; tlist[2] = '\n'; tlist[3] = 0; string: if (skipblank()) goto stopscan; charstring: if (!suppress) cp = *args++; widflg = 0; while (maxwidth--) { if ((c = (*gsub)(0)) == EOF) break; if (lflag ? (index(tlist,c)!=0) : (index(tlist,c)==0)) { (*gsub)(1); /* unget last character */ break; } if (!suppress) *cp++ = c; widflg = 1; } if (!widflg) goto stopscan; if (!suppress) { *cp = 0; ++count; } break; case 'c': if (!widflg) maxwidth = 1; tlist[0] = 0; lflag = 1; goto charstring; } } else if (isspace(c)) { if (skipblank()) goto stopscan; } else { matchit: if ((*gsub)(0) != c) { (*gsub)(1); goto stopscan; } } } stopscan: if (count == 0) { if ((*gsub)(0) == EOF) return EOF; (*gsub)(1); } return count; } skipblank() { while (isspace((*gsub)(0))) ; if ((*gsub)(1) == EOF) return EOF; return 0; } #ifdef FLOAT getflt(buffer) char *buffer; { register char *cp; register int c; char decpt, sign, exp; cp = buffer; sign = exp = decpt = 0; while (maxwidth--) { c = (*gsub)(0); if (!sign && (c == '-' || c == '+')) sign = 1; else if (!decpt && c == '.') decpt = 1; else if (!exp && (c == 'e' || c == 'E')) { sign = 0; exp = decpt = 1; } else if (!isdigit(c)) { (*gsub)(1); break; } *cp++ = c; } *cp = 0; return cp==buffer; } #endif getnum(list, values, base, valp) char *list; char *values; long *valp; { register char *cp; register int c, cnt; long val; int sign; if (maxwidth <= 0) return 0L; val = cnt = sign = 0; if ((c = (*gsub)(0)) == '-') { sign = 1; ++cnt; } else if (c == '+') ++cnt; else (*gsub)(1); for ( ; cnt < maxwidth ; ++cnt) { if ((cp = index(list, c = (*gsub)(0))) == 0) { if (base == 16 && val == 0 && (c=='x' || c=='X')) continue; (*gsub)(1); break; } val *= base; val += values[cp-list]; } if (sign) *valp = -val; else *valp = val; return cnt; } printf.c /* Copyright (C) 1981,1982 by Manx Software Systems */ printf(fmt,args) char *fmt; unsigned args; { extern int putchar(); format(putchar,fmt,&args); } fprintf.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" static FILE *Stream; fprintf(stream,fmt,args) FILE *stream; char *fmt; unsigned args; { int fpsub(); Stream = stream; return format(fpsub,fmt,&args); } static fpsub(c) { return aputc(c,Stream); } sprintf.c /* Copyright (C) 1982 by Manx Software Systems */ static char *buff; sprintf(str,fmt,args) char *str, *fmt; unsigned args; { int spsub(); register int i; buff = str; i = format(spsub,fmt,&args); *buff = 0; return i; } static spsub(c) { return (*buff++ = c)&0xff; } format.c /* Copyright (C) 1981,1982,1983 by Manx Software Systems */ #include char *fmtcvt(); format(putsub, fmt, argp) register int (*putsub)(); register char *fmt; char *argp; { register int c; union { int *ip; char *cp; char **cpp; #ifdef FLOAT double *dp; #endif } args; int charcount; int rj, fillc; int maxwidth, width; int i, k; char *cp; auto char s[200]; charcount = 0; args.cp = argp; while ( c = *fmt++ ) { if ( c == '%' ) { s[14] = 0; rj = 1; fillc = ' '; maxwidth = 10000; if ((c = *fmt++) == '-') { rj = 0; c = *fmt++; } if (c == '0') { fillc = '0'; c = *fmt++; } if (c == '*') { width = *args.ip++; c = *fmt++; } else { for (width = 0 ; isdigit(c) ; c = *fmt++) width = width*10 + c - '0'; } if ( c == '.' ) { if ((c = *fmt++) == '*') { maxwidth = *args.ip++; c = *fmt++; } else { for (maxwidth = 0 ; isdigit(c) ; c = *fmt++) maxwidth = maxwidth*10 + c - '0'; } } i = sizeof(int); if (c == 'l') { c = *fmt++; i = sizeof(long); } else if (c == 'h') c = *fmt++; switch ( c ) { case 'o': k = 8; goto do_conversion; case 'u': k = 10; goto do_conversion; case 'x': k = 16; goto do_conversion; case 'd': k = -10; do_conversion: cp = fmtcvt(args.cp, k, s+14, i); args.cp += i; break; case 's': i = strlen(cp = *args.cpp++); goto havelen; #ifdef FLOAT case 'e': case 'f': case 'g': ftoa(*args.dp++, s, maxwidth==10000?6:maxwidth, c-'e'); i = strlen(cp = s); maxwidth = 200; goto havelen; #endif case 'c': c = *args.ip++; default: *(cp = s+13) = c; break; } i = (s+14) - cp; havelen: if ( i > maxwidth ) i = maxwidth; if ( rj ) { for (; width-- > i ; ++charcount) if ((*putsub)(fillc) == -1) return -1; } for ( k = 0 ; *cp && k < maxwidth ; ++k ) if ((*putsub)(*cp++) == -1) return -1; charcount += k; if ( !rj ) { for (; width-- > i ; ++charcount) if ((*putsub)(' ') == -1) return -1; } } else { if ((*putsub)(c) == -1) return -1; ++charcount; } } return charcount; } fopen.c /* Copyright (C) 1981,1982,1983,1984 by Manx Software Systems */ #include "stdio.h" #include "fcntl.h" #include "errno.h" extern int errno; static struct modes { char fmode[3]; int omode; } modes[] = { "r", O_RDONLY, "r+", O_RDWR, "w", (O_WRONLY|O_CREAT|O_TRUNC), "w+", (O_RDWR|O_CREAT|O_TRUNC), "a", (O_WRONLY|O_CREAT|O_APPEND), "a+", (O_RDWR|O_CREAT|O_APPEND), "x", (O_WRONLY|O_CREAT|O_EXCL), "x+", (O_RDWR|O_CREAT|O_EXCL), "", 0, }; FILE * fopen(name,mode) char *name,*mode; { register FILE *fp; FILE *newstream(), *freopen(); if ((fp = newstream()) == NULL) return NULL; return freopen(name, mode, fp); } FILE * freopen(name, mode, fp) char *name,*mode; FILE *fp; { register struct modes *mp; register int fd; fclose(fp); for (mp = modes ; ; ++mp) { if (mp->fmode == 0) { errno = EINVAL; return NULL; } if (strcmp(mp->fmode, mode) == 0) break; } /* Don't try to optimize the next 3 lines. Since _unit is a char, assigning to it in the if statement will cause the -1 test to fail on unsigned char machines. */ if ((fd = open(name, mp->omode)) == -1) return (NULL); fp->_unit = fd; fp->_flags = _BUSY; return fp; } fdopen.c /* Copyright (C) 1984 by Manx Software Systems */ #include "stdio.h" FILE * fdopen(fd,mode) char *mode; { register FILE *fp; FILE *newstream(); if ((fp = newstream()) == NULL) return NULL; fp->_unit = fd; fp->_flags = _BUSY; return fp; } fread.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" fread(buffer,size,number,stream) register char *buffer; unsigned size; int number; FILE *stream; { int total; register int c,i; for ( total = 0 ; total < number ; ++total ) { for ( i = size ; i ; --i ) { if ( (c = getc(stream)) == EOF ) return total; *buffer++ = c; } } return total; } fwrite.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" fwrite(buffer,size,number,stream) register char *buffer; unsigned size,number; FILE *stream; { register unsigned i,max; max = size * number; for ( i = 0 ; i < max ; ++i ) { if ( putc(*buffer++,stream) == EOF ) return 0; } return number; } fseek.c /* Copyright (c) 1981, 1982 by Manx Software Systems */ #include "stdio.h" fseek(fp,pos,mode) register FILE *fp; long pos; { register int i; long curpos, lseek(); fp->_flags &= ~_EOF; if (fp->_flags & _DIRTY) { if (flsh_(fp,-1)) return EOF; } else if (mode == 1 && fp->_bp) pos -= fp->_bend - fp->_bp; fp->_bp = fp->_bend = NULL; if (lseek(fp->_unit, pos, mode) < 0) return EOF; return 0; } long ftell(fp) register FILE *fp; { long pos, lseek(); pos = lseek(fp->_unit, 0L, 1); /* find out where we are */ if (fp->_flags & _DIRTY) pos += fp->_bp - fp->_buff; else if (fp->_bp) pos -= fp->_bend - fp->_bp; return pos; } gets.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" #undef getchar char *gets(line) char *line; { register char *cp; register int i; cp = line; while ((i = getchar()) != EOF && i != '\n') *cp++ = i; *cp = 0; if (i == EOF && cp == line) return NULL; return line; } fgets.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" char *fgets(s, n, fp) char *s; FILE *fp; { register c; register char *cp; cp = s; while (--n > 0 && (c = agetc(fp)) != EOF) { *cp++ = c; if (c == '\n') break; } *cp = 0; if (c == EOF && cp == s) return NULL; return(s); } getchar.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" #undef getchar getchar() { return agetc(stdin); } agetc.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" agetc(ptr) register FILE *ptr; { register int c; top: if ((c = getc(ptr)) != EOF) { switch (c &= 127) { case 0x1a: ptr->_flags |= _EOF; return EOF; case '\r': case 0: goto top; } } return c; } getw.c /* Copyright (C) 1982 by Manx Software Systems */ #include "stdio.h" getw(stream) FILE *stream; { register int x1,x2; if ((x1 = getc(stream)) == EOF || (x2 = getc(stream)) == EOF) return EOF; return (x2<<8) | x1; } getc.c /* Copyright (C) 1982 by Manx Software Systems */ #include "stdio.h" getc(ptr) register FILE *ptr; { register int len; if (ptr->_bp >= ptr->_bend) { if (ptr->_flags&(_EOF|_IOERR)) return EOF; ptr->_flags &= ~_DIRTY; if (ptr->_buff == NULL) getbuff(ptr); if ((len = read(ptr->_unit,ptr->_buff,ptr->_buflen)) <= 0) { ptr->_flags |= len==0 ? _EOF : _IOERR; return EOF; } ptr->_bend = (ptr->_bp = ptr->_buff) + len; } return *ptr->_bp++ & 255; } puts.c /* Copyright (C) 1981,1982 by Manx Software Systems */ puts(str) register char *str; { while (*str) if (putchar(*str++) == -1) return -1; return putchar('\n'); } fputs.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" fputs(s,fp) register char *s; FILE *fp; { while ( *s ) if (aputc(*s++,fp) == EOF) return(EOF); return 0; } putchar.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" #undef putchar putchar(c) { return aputc(c,stdout); } puterr.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" puterr(c) { return aputc(c, stderr); } aputc.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" aputc(c,ptr) register int c; register FILE *ptr; { if (c == '\n') if (putc('\r',ptr) == EOF) return EOF; return putc(c,ptr); } putw.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" putw(w,stream) register unsigned w; FILE *stream; { if ( putc(w,stream) < 0 ) return EOF; else if ( putc((w>>8),stream) < 0 ) return EOF; return w; } putc.c /* Copyright (C) 1981,1982,1983,1984 by Manx Software Systems */ #include "stdio.h" putc(c,ptr) int c; register FILE *ptr; { if (ptr->_bp >= ptr->_bend) return flsh_(ptr,c&0xff); return (*ptr->_bp++ = c) & 0xff; } static closall() /* called by exit to close any open files */ { register FILE *fp; for ( fp = Cbuffs ; fp < Cbuffs+MAXSTREAM ; ) fclose(fp++); } fclose(ptr) register FILE *ptr; { register int err; err = 0; if ( ptr->_flags ) { if (ptr->_flags&_DIRTY) /* if modifed flush buffer */ err = flsh_(ptr,-1); err |= close(ptr->_unit); if (ptr->_flags&_ALLBUF) free(ptr->_buff); } ptr->_flags = 0; return err; } flsh_(ptr,data) register FILE *ptr; { register int size; extern int (*cls_)(); cls_ = closall; if (ptr->_flags & _IOERR) return EOF; if (ptr->_flags & _DIRTY) { size = ptr->_bp - ptr->_buff; if (write(ptr->_unit, ptr->_buff, size) != size) { ioerr: ptr->_flags |= _IOERR; ptr->_bend = ptr->_bp = NULL; return EOF; } } if (data == -1) { ptr->_flags &= ~_DIRTY; ptr->_bend = ptr->_bp = NULL; return 0; } if (ptr->_buff == NULL) getbuff(ptr); if (ptr->_buflen == 1) { /* unbuffered I/O */ if (write(ptr->_unit, &data, 1) != 1) goto ioerr; return data; } ptr->_bp = ptr->_buff; ptr->_bend = ptr->_buff + ptr->_buflen; ptr->_flags |= _DIRTY; return (*ptr->_bp++ = data) & 0xff; } ungetc.c /* Copyright (c) 1981, 1982 by Manx Software Systems */ #include "stdio.h" ungetc(c,ptr) int c; register FILE *ptr; { if (c == EOF || ptr->_bp <= ptr->_buff) return EOF; *--ptr->_bp = c; return c; } getbuff.c /* Copyright (C) 1983 by Manx Software Systems */ /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" FILE Cbuffs[MAXSTREAM] = { { 0,0,0, _BUSY,0,0,1 }, { 0,0,0, _BUSY,1,0,1 }, { 0,0,0, _BUSY,2,0,1 }, }; FILE * newstream() { register FILE *fp; fp = Cbuffs; while (fp->_flags) if (++fp >= &Cbuffs[MAXSTREAM]) return NULL; fp->_buff = fp->_bend = /* nothing in buffer */ fp->_bp = 0; return fp; } getbuff(ptr) register FILE *ptr; { char *buffer; if (isatty(ptr->_unit)) { smlbuff: ptr->_buflen = 1; ptr->_buff = &ptr->_bytbuf; return; } if ((buffer = malloc(BUFSIZ)) == NULL) goto smlbuff; ptr->_buflen = BUFSIZ; ptr->_flags |= _ALLBUF; ptr->_buff = buffer; return; } setbuf.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include "stdio.h" setbuf(stream, buffer) register FILE *stream; char *buffer; { if (stream->_buff) return; if (buffer) { stream->_buff = buffer; stream->_buflen = BUFSIZ; } else { stream->_buff = &stream->_bytbuf; stream->_buflen = 1; } } croot.c /* Copyright (C) 1981,1982,1984 by Manx Software Systems */ #include "errno.h" #include "fcntl.h" #include "io.h" int bdf_(), ret_(); /* * channel table: relates fd's to devices */ struct channel chantab[] = { { 2, 0, 1, 0, ret_, 2 }, { 0, 2, 1, 0, ret_, 2 }, { 0, 2, 1, 0, ret_, 2 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, { 0, 0, 0, 0, bdf_, 0 }, }; #define MAXARGS 30 static char *Argv[MAXARGS]; static char Argbuf[128]; static int Argc; int (*cls_)() = ret_; Croot() { register char *cp, *fname; register int k; movmem((char *)0x81, Argbuf, 127); Argbuf[*(char *)0x80 & 0x7f] = 0; Argv[0] = ""; cp = Argbuf; Argc = 1; while (Argc < MAXARGS) { while (*cp == ' ' || *cp == '\t') ++cp; if (*cp == 0) break; #ifndef NOREDIR if (*cp == '>') { /* redirect output */ k = 1; goto redirect; } else if (*cp == '<') { /* redirect input */ k = 0; redirect: while (*++cp == ' ' || *cp == '\t') ; fname = cp; while (*++cp) if (*cp == ' ' || *cp == '\t') { *cp++ = 0; break; } close(k); if (k) k = creat(fname, 0666); else k = open(fname, O_RDONLY); if (k == -1) { strcpy(0x80, "Can't open file for redirection: "); strcat(0x80, fname); strcat(0x80, "$"); bdos(9,0x80); exit(10); } } else #endif { Argv[Argc++] = cp; while (*++cp) if (*cp == ' ' || *cp == '\t') { *cp++ = 0; break; } } } main(Argc,Argv); exit(0); } exit(code) { register int fd; (*cls_)(); for (fd = 0 ; fd < MAXCHAN ; ) close(fd++); if (code && (bdos(24)&1) != 0) unlink("A:$$$.SUB"); _exit(); } bdf_() { errno = EBADF; return -1; } ret_() { return 0; } open.c /* Copyright (C) 1982 by Manx Software Systems */ #include "errno.h" #include "fcntl.h" #include "io.h" #define MAXFILE 8 /* maximum number of open DISK files */ int bdf_(), ret_(), fileop(); /* * note: The ioctl function knows that the condev read/write numbers are * 2. It uses this information to patch the read/write tables. */ static struct device condev = { 2, 2, 1, 0, ret_ }; static struct device bdosout= { 0, 3, 0, 0, ret_ }; static struct device bdosin = { 3, 0, 0, 0, ret_ }; static struct device filedev= { 1, 1, 0, 1, fileop }; /* * device table, contains names and pointers to device entries */ static struct devtabl devtabl[] = { { "con:", &condev, 2 }, { "CON:", &condev, 2 }, { "lst:", &bdosout, 5 }, { "LST:", &bdosout, 5 }, { "prn:", &bdosout, 5 }, { "PRN:", &bdosout, 5 }, { "pun:", &bdosout, 4 }, { "PUN:", &bdosout, 4 }, { "rdr:", &bdosin, 3 }, { "RDR:", &bdosin, 3 }, { 0, &filedev, 0 } /* this must be the last slot in the table! */ }; creat(name, mode) char *name; { return open(name, O_WRONLY|O_TRUNC|O_CREAT, mode); } open(name, flag, mode) char *name; { register struct devtabl *dp; register struct channel *chp; register struct device *dev; int fd, mdmask; for (chp = chantab, fd = 0 ; fd < MAXCHAN ; ++chp, ++fd) if (chp->c_close == bdf_) goto fndchan; errno = EMFILE; return -1; fndchan: for (dp = devtabl ; dp->d_name ; ++dp) if (strcmp(dp->d_name, name) == 0) break; dev = dp->d_dev; mdmask = (flag&3) + 1; if (mdmask&1) { if ((chp->c_read = dev->d_read) == 0) { errno = EACCES; return -1; } } if (mdmask&2) { if ((chp->c_write = dev->d_write) == 0) { errno = EACCES; return -1; } } chp->c_arg = dp->d_arg; chp->c_ioctl = dev->d_ioctl; chp->c_seek = dev->d_seek; chp->c_close = ret_; if ((*dev->d_open)(name, flag, mode, chp, dp) < 0) { chp->c_close = bdf_; return -1; } return fd; } close(fd) { register struct channel *chp; if (fd < 0 || fd > MAXCHAN) { errno = EBADF; return -1; } chp = &chantab[fd]; fd = (*chp->c_close)(chp->c_arg); chp->c_read = chp->c_write = chp->c_ioctl = chp->c_seek = 0; chp->c_close = bdf_; return fd; } static struct fcbtab fcbtab[MAXFILE]; static fileop(name,flag,mode,chp,dp) char *name; struct channel *chp; struct devtabl *dp; { register struct fcbtab *fp; int filecl(); int user; for ( fp = fcbtab ; fp < fcbtab+MAXFILE ; ++fp ) if ( fp->flags == 0 ) goto havefcb; errno = ENFILE; return -1; havefcb: if ((user = fcbinit(name,&fp->fcb)) == -1) { errno = EINVAL; return -1; } if (user == 255) user = getusr(); setusr(user); if (flag & O_TRUNC) bdos(DELFIL, &fp->fcb); if (bdos(OPNFIL,&fp->fcb) == 0xff) { if ((flag&(O_TRUNC|O_CREAT)) == 0 || bdos(MAKFIL,&fp->fcb) == 0xff) { errno = ENOENT; rstusr(); return -1; } } else if ((flag&(O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL)) { errno = EEXIST; rstusr(); return -1; } fp->offset = fp->fcb.f_overfl = fp->fcb.f_record = 0; fp->user = user; chp->c_arg = fp; fp->flags = (flag&3)+1; chp->c_close = filecl; if (flag&O_APPEND) _Ceof(fp); rstusr(); return 0; } static filecl(fp) register struct fcbtab *fp; { _zap(); /* zap work buffer, so data is not reused */ setusr(fp->user); bdos(CLSFIL,&fp->fcb); rstusr(); fp->flags = 0; return 0; } close.c /* Copyright (C) 1982 by Manx Software Systems */ #include "errno.h" #include "io.h" close(fd) { register struct channel *chp; extern int bdf_(); if (fd < 0 || fd > MAXCHAN) { errno = EBADF; return -1; } chp = &chantab[fd]; fd = (*chp->c_close)(chp->c_arg); chp->c_read = chp->c_write = chp->c_ioctl = chp->c_seek = 0; chp->c_close = bdf_; return fd; } ioctl.c /* Copyright (C) 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" #include "sgtty.h" #define TIME 10 /* number of iterations of raw_rd loop */ #define MIN 1 /* minimum number of chars returned from read */ extern int (*Rd_tab[])(); extern int (*Wrt_tab[])(); struct sgttyb Tty_ctl; extern char _Eol; extern int tty_rd(); static int raw_rd(), raw_wr(); static int rd_func, wrt_func; ioctl(fd, cmd, arg) struct sgttyb *arg; { register struct channel *chp; chp = &chantab[fd]; if (chp->c_ioctl == 0) { errno = ENOTTY; return -1; } switch (cmd) { case TIOCGETP: *arg = Tty_ctl; break; case TIOCSETP: Tty_ctl = *arg; Wrt_tab[2] = raw_wr; Rd_tab[2] = raw_rd; if (Tty_ctl.sg_flags&RAW) { rd_func = wrt_func = 6; _Eol = '\r'; break; } else if (Tty_ctl.sg_flags&CBREAK) { rd_func = (Tty_ctl.sg_flags&ECHO) ? 1 : 6; wrt_func = 2; } else { Rd_tab[2] = tty_rd; wrt_func = 2; } if (Tty_ctl.sg_flags&CRMOD) _Eol = '\n'; else _Eol = '\r'; } return 0; } raw_rd(x, buff, len) register char *buff; { int c, i; register int count; for (count = 0 ; count < len ; ) { for (i = TIME ; i-- ; ) if ((c = bdos(rd_func,0xff)) != 0) goto have_char; if (count < MIN) continue; break; have_char: if (c == '\r') c = _Eol; *buff++ = c; ++count; } return count; } raw_wr(kind, buff, len) register char *buff; { register int count; for (count = len ; count-- ; ) { if (*buff == '\n' && (Tty_ctl.sg_flags&CRMOD)) bdos(wrt_func,'\r'); bdos(wrt_func,*buff++); } return len; } read.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" #include "fcntl.h" int bdf_(), filerd(), tty_rd(), bdosrd(); int (*Rd_tab[])() = { bdf_, filerd, tty_rd, bdosrd, }; extern int errno; read(fd, buff, len) char *buff; { register struct channel *chp; chp = &chantab[fd]; return (*Rd_tab[chp->c_read])(chp->c_arg, buff, len); } static filerd(afp,buffer,len) struct fcbtab *afp; char *buffer; unsigned len; { register unsigned l = 0; register struct fcbtab *fp; unsigned k,j; fp = afp; setusr(fp->user); if (fp->offset) { if ((l = 128 - fp->offset) > len) l = len; if (getsect(fp, buffer, l)) { rstusr(); return 0; } } if (k = (len-l)/128) if ((j = blkrd(&fp->fcb, buffer+l, k)) != 0) { rstusr(); return (k-j)*128 + l; } l += k*128; if (l < len) if (getsect(fp, buffer+l, len-l)) { rstusr(); return l; } rstusr(); return len; } static getsect(fp, buf, len) register struct fcbtab *fp; char *buf; unsigned len; { if (_find(fp)) return -1; movmem(Wrkbuf+fp->offset, buf, len); if ((fp->offset = (fp->offset + len) & 127) == 0) ++fp->fcb.f_record; return 0; } char _Eol = '\n'; tty_rd(x,buff,len) char *buff; { static char buffer[258]; static int used; register int l; if (buffer[1] == 0) { buffer[0] = 255; buffer[1] = buffer[2] = 0; bdos(10,buffer); bdos(2,'\n'); if (buffer[2] == 0x1a) { buffer[1] = 0; return 0; } buffer[++buffer[1] + 1] = _Eol; used = 2; } if ((l = buffer[1]) > len) l = len; movmem(buffer+used, buff, l); used += l; buffer[1] -= l; return l; } static bdosrd(kind, buff, len) register char *buff; { register int count; for (count = 0 ; count < len ; ++count) { if ((*buff++ = bdos(kind)) == 0x1a) break; } return count; } write.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" int tty_wr(), bdoswr(), filewr(), bdf_(); int (*Wrt_tab[])() = { bdf_, filewr, bdoswr, bdoswr }; write(fd, buff, len) char *buff; { register struct channel *chp; chp = &chantab[fd]; return (*Wrt_tab[chp->c_write])(chp->c_arg, buff, len); } static filewr(afp,buffer,len) struct fcbtab *afp; char *buffer; unsigned len; { register unsigned l = 0; register struct fcbtab *fp; unsigned k,j; fp = afp; setusr(fp->user); if (fp->offset) { if ((l = 128 - fp->offset) > len) l = len; if (putsect(fp, buffer, l)) { rstusr(); return -1; } } if (k = (len-l)/128) if ((j = blkwr(&fp->fcb, buffer+l, k)) != 0) { rstusr(); if ((l += (k-j)*128) == 0) return -1; else return l; } l += k*128; if (l < len) if (putsect(fp, buffer+l, len-l)) { rstusr(); return l; } rstusr(); return len; } static putsect(fp, buf, len) register struct fcbtab *fp; char *buf; unsigned len; { if (_find(fp) < 0) return -1; movmem(buf, Wrkbuf+fp->offset, len); if ((errno = bdos(WRITRN, &fp->fcb)) != 0) return -1; if ((fp->offset = (fp->offset + len) & 127) == 0) ++fp->fcb.f_record; return 0; } tty_wr(kind, buff, len) register char *buff; { register int count; for (count = len ; count-- ; ) { if (*buff == '\n') bdos(2,'\r'); bdos(2,*buff++); } return len; } static bdoswr(kind, buff, len) register char *buff; { register int count; for (count = len ; count-- ; ) bdos(kind,*buff++); return len; } lseek.c /* Copyright (C) 1982, 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" long lseek(fd, pos, how) long pos; { register struct fcbtab *fp; if (chantab[fd].c_seek == 0) { Badf: errno = EBADF; return -1L; } fp = chantab[fd].c_arg; switch (how) { case 2: /* * Close the file because CP/M doesn't know how big an open file is. * However, the fcb is still valid. */ setusr(fp->user); fp->fcb.f_name[4] |= 0x80; /* set parital close flag for MP/M */ bdos(CLSFIL, &fp->fcb); fp->fcb.f_name[4] &= 0x7f; /* clear parital close flag */ _Ceof(fp); rstusr(); case 1: pos += fp->offset + ((long)fp->fcb.f_record << 7); case 0: break; default: errno = EINVAL; return -1L; } fp->fcb.f_overfl = 0; if (pos < 0) { fp->offset = fp->fcb.f_record = 0; errno = EINVAL; return -1L; } fp->offset = (unsigned)pos & 127; fp->fcb.f_record = pos >> 7; return pos; } posit.c /* Copyright (C) 1982,1983 by Manx Software Systems */ #include "io.h" #include "errno.h" posit(fd, pos) unsigned pos; { register struct fcbtab *fp; if (chantab[fd].c_seek == 0) { errno = EBADF; return -1; } fp = chantab[fd].c_arg; fp->fcb.f_record = pos; fp->offset = fp->fcb.f_overfl = 0; return 0; } ceof.c /* Copyright (C) 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" _Ceof(fp) register struct fcbtab *fp; { register char *cp; bdos(FILSIZ, &fp->fcb); if (fp->fcb.f_record == 0) { fp->offset = 0; return 0; } --fp->fcb.f_record; /* backup to last record */ if (_find(fp)) return -1; for (cp = Wrkbuf+128 ; cp > Wrkbuf ; ) if (*--cp != 0x1a) { ++cp; break; } if ((fp->offset = cp-Wrkbuf) == 128) { ++fp->fcb.f_record; fp->offset = 0; } return 0; } find.c /* Copyright (C) 1984 by Manx Software Systems */ #include "io.h" static struct fcbtab *Wfp; static unsigned Wsct; _zap() /* invalidate work buffer */ { Wfp = 0; } _find(fp) register struct fcbtab *fp; { extern int errno; bdos(SETDMA, Wrkbuf); if (Wfp != fp || fp->fcb.f_record != Wsct) { if ((errno = bdos(READRN, &fp->fcb)) == 1 || errno == 4) { errno = 0; setmem(Wrkbuf, 128, 0x1a); Wfp = 0; return 1; } else if (errno) return -1; Wfp = fp; Wsct = fp->fcb.f_record; } return 0; } isatty.c /* Copyright (C) 1983 by Manx Software Systems */ #include "io.h" #include "errno.h" isatty(fd) { return chantab[fd].c_ioctl; } rename.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "errno.h" rename(old, new) char *old, *new; { auto char buff[60]; register int user; user = fcbinit(old,buff); fcbinit(new,buff+16); setusr(user); user = 0; if (bdos(15,buff+16) != 0xff) { bdos(16,buff+16); errno = EEXIST; user = -1; } else if (bdos(23,buff) == 0xff) { errno = ENOENT; user = -1; } rstusr(); return user; } unlink.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "errno.h" unlink(name) char *name; { auto char delfcb[40]; register int user; user = fcbinit(name,delfcb); setusr(user); user = bdos(19,delfcb); rstusr(); if (user == 0xff) { errno = ENOENT; return -1; } return 0; } atol.c /* Copyright (C) 1982 by Manx Software Systems */ #include long atol(cp) register char *cp; { long n; register sign; while (*cp == ' ' || *cp == '\t') ++cp; sign = 0; if ( *cp == '-' ) { sign = 1; ++cp; } else if ( *cp == '+' ) ++cp; for ( n = 0 ; isdigit(*cp) ; ) n = n*10 + *cp++ - '0'; return sign ? -n : n; } atoi.c /* Copyright (C) 1981,1982 by Manx Software Systems */ #include atoi(cp) register char *cp; { register unsigned i; register sign; while (*cp == ' ' || *cp == '\t') ++cp; sign = 0; if ( *cp == '-' ) { sign = 1; ++cp; } else if ( *cp == '+' ) ++cp; for ( i = 0 ; isdigit(*cp) ; ) i = i*10 + *cp++ - '0'; return sign ? -i : i; } calloc.c /* Copyright (C) 1984 by Manx Software Systems */ char *calloc(nelem, size) unsigned nelem, size; { register unsigned i = nelem*size; register char *cp, *malloc(); if ((cp = malloc(i)) != (char *)0) setmem(cp, i, 0); return cp; } malloc.c /* Copyright (C) 1984 by Manx Software Systems */ typedef struct freelist { unsigned f_size; struct freelist *f_chain; } FREE; #define NULL (FREE *)0 #define GRAIN 1024 static FREE head, *last; char * realloc(area, size) register char *area; unsigned size; { register char *cp; unsigned osize; char *malloc(); osize = (((FREE *)area-1)->f_size - 1) * sizeof(FREE); free(area); if ((cp = malloc(size)) != 0 && cp != area) movmem(area, cp, size>osize ? osize : size); return cp; } char * malloc(size) unsigned size; { register FREE *tp, *prev; char *sbrk(); int units; units = (size+sizeof(FREE)-1)/sizeof(FREE) + 1; if ((prev = last) == NULL) last = head.f_chain = prev = &head; for (tp = prev->f_chain ; ; prev = tp, tp = tp->f_chain) { while (tp != tp->f_chain && tp+tp->f_size == tp->f_chain) { if (last == tp->f_chain) last = tp->f_chain->f_chain; tp->f_size += tp->f_chain->f_size; tp->f_chain = tp->f_chain->f_chain; } if (tp->f_size >= units) { if (tp->f_size == units) prev->f_chain = tp->f_chain; else { last = tp + units; prev->f_chain = last; last->f_chain = tp->f_chain; last->f_size = tp->f_size - units; tp->f_size = units; } last = prev; tp->f_chain = NULL; return (char *)(tp+1); } if (tp == last) { if ((tp = (FREE *)sbrk(GRAIN)) == (FREE *)-1) return (char *)NULL; tp->f_size = GRAIN/sizeof(FREE); tp->f_chain = NULL; free(tp+1); tp = last; } } } free(area) char *area; { register FREE *tp, *hole; hole = (FREE *)area - 1; if (hole->f_chain != NULL) return -1; for (tp = last ; tp > hole || hole > tp->f_chain ; tp = tp->f_chain) if (tp >= tp->f_chain && (hole > tp || hole < tp->f_chain)) break; hole->f_chain = tp->f_chain; tp->f_chain = hole; last = tp; return 0; } qsort.c /* Copyright (C) 1984 by Manx Software Systems */ qsort(base, nel, size, compar) char *base; unsigned nel, size; int (*compar)(); { register char *i,*j,*x,*r; auto struct stk { char *l, *r; } stack[16]; struct stk *sp; sp = stack; r = base + (nel-1)*size; for (;;) { do { x = base + (r-base)/size/2 * size; i = base; j = r; do { while ((*compar)(i,x) < 0) i += size; while ((*compar)(x,j) < 0) j -= size; if (i < j) { swapmem(i, j, size); if (i == x) x = j; else if (j == x) x = i; } if (i <= j) { i += size; j -= size; } } while (i <= j); if (j-base < r-i) { if (i < r) { /* stack request for right partition */ sp->l = i; sp->r = r; ++sp; } r = j; /* continue sorting left partition */ } else { if (base < j) { /* stack request for left partition */ sp->l = base; sp->r = j; ++sp; } base = i; /* continue sorting right partition */ } } while (base < r); if (sp <= stack) break; --sp; base = sp->l; r = sp->r; } } ctype.c /* Copyright (C) 1984 by Manx Software Systems */ char ctp_[129] = { 0, /* EOF */ 0x20, 0x20, 0x20, 0x20, /* nul soh stx etx */ 0x20, 0x20, 0x20, 0x20, /* eot enq ack bel */ 0x20, 0x30, 0x30, 0x30, /* bs ht nl vt */ 0x30, 0x30, 0x20, 0x20, /* ff cr so si */ 0x20, 0x20, 0x20, 0x20, /* dle dc1 dc2 dc3 */ 0x20, 0x20, 0x20, 0x20, /* dc4 nak syn etb */ 0x20, 0x20, 0x20, 0x20, /* can em sub esc */ 0x20, 0x20, 0x20, 0x20, /* fs gs rs us */ 0x90, 0x40, 0x40, 0x40, /* sp ! " # */ 0x40, 0x40, 0x40, 0x40, /* $ % & ' */ 0x40, 0x40, 0x40, 0x40, /* ( ) * + */ 0x40, 0x40, 0x40, 0x40, /* , - . / */ 0x0C, 0x0C, 0x0C, 0x0C, /* 0 1 2 3 */ 0x0C, 0x0C, 0x0C, 0x0C, /* 4 5 6 7 */ 0x0C, 0x0C, 0x40, 0x40, /* 8 9 : ; */ 0x40, 0x40, 0x40, 0x40, /* < = > ? */ 0x40, 0x09, 0x09, 0x09, /* @ A B C */ 0x09, 0x09, 0x09, 0x01, /* D E F G */ 0x01, 0x01, 0x01, 0x01, /* H I J K */ 0x01, 0x01, 0x01, 0x01, /* L M N O */ 0x01, 0x01, 0x01, 0x01, /* P Q R S */ 0x01, 0x01, 0x01, 0x01, /* T U V W */ 0x01, 0x01, 0x01, 0x40, /* X Y Z [ */ 0x40, 0x40, 0x40, 0x01, /* \ ] ^ _ */ 0x40, 0x0A, 0x0A, 0x0A, /* ` a b c */ 0x0A, 0x0A, 0x0A, 0x02, /* d e f g */ 0x02, 0x02, 0x02, 0x02, /* h i j k */ 0x02, 0x02, 0x02, 0x02, /* l m n o */ 0x02, 0x02, 0x02, 0x02, /* p q r s */ 0x02, 0x02, 0x02, 0x02, /* t u v w */ 0x02, 0x02, 0x02, 0x40, /* x y z { */ 0x40, 0x40, 0x40, 0x20, /* | } ~ del */ } ; execl.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ execl(path, args) char *path, *args; { return execvp(path, &args); } execv(path, argv) char *path, **argv; { return execvp(path, argv); } exec.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "io.h" #include "errno.h" execlp(path, args) char *path, *args; { return execvp(path, &args); } execvp(path, argv) char *path, **argv; { register char *cp, *xp; int user, ouser; auto struct fcb fcb; auto char loader[70]; extern char ldr_[]; if ((user = fcbinit(path, &fcb)) == -1) { errno = EINVAL; return -1; } if (fcb.f_type[0] == ' ') strcpy(fcb.f_type, "COM"); ouser = bdos(GETUSR, 255); bdos(GETUSR, user); if (bdos(OPNFIL, &fcb) == 255) { errno = ENOENT; return -1; } fcb.f_cr = 0; fcbinit(0, 0x5c); fcbinit(0, 0x6c); cp = (char *)0x81; if (*argv) { ++argv; /* skip arg0, used for unix (tm) compatibility */ for (user = 0 ; (xp = *argv++) != 0 ; ++user) { if (user == 0) fcbinit(xp, 0x5c); else if (user == 1) fcbinit(xp, 0x6c); *cp++ = ' '; while (*xp) { if (cp > (char *)0xff) goto doload; *cp++ = *xp++; } } } doload: *(char *)0x80 = cp - (char *)0x81; movmem(ldr_, loader, sizeof loader); (*(int (*)())loader)(&fcb, ouser); } r = 0; fcbinit(0, 0x5c); fcbinit(0, 0x6c); cp = (char *)0x81; if (*argv) { ++argv; /* skip arg0, used for unix (tm) compatibility */ for (user = 0 ; (xp = *argv++) != 0 ; ++user) { if (user == 0) fcbinit(xp, 0x5c); else if (user == 1) fcbinit(xp, 0x6c); *cp++ = ' '; while (*xp) { if (cp > (char *)0xff) goto doload; *cp++ = *xp++; } }SD45M%9~P@5A B9D 3@h!/hAR! HBY<JB_,͠@rͦ@ :VB9D R6B@63kh6рB@!Prͮ ! ,ͱ F! /HDf@ p\-Kj@%ڐ@9fPmN"RAZf !v?@4dp@BYl@n'Y63@(9|n629Y6@ 3i@p@63@U8BO5*@F@`99B@rͤ,͢@rm f !Vm f+6@ 6pB \`rͰ@,ڬͫ "@rfm˅b@D8! 2Ϳ\{Lʹ"ͷ,ۀA͹`,ۜ! ,ۨ{YlC~\,f! ͼ,>!/m?f >!Qfа!fmph(9D8`L@dtɉٛN, v"b}@@8`MX V@VPYC [@ zkLEpq^8``@ aIp0HC` fx ~ 4-j@8`k m@!D"C r@0 *U*JRu8`w@ ͧBmHmfp&m}pY {,! 'ٕN8! ,ͭ@mm1d@"zu)/1r*:Jt`!&F!rf""*`&"q@2*rzdD )jjjz"2d FZar"r,ed"&*FIr":d "#F@r" $g")FMr"rSReD8 g@YhH@uCmY^%Qq@YCt@X "^0y8zH 8-dv$pC,|Y'XJdը@@8 A( C@#8TY`Cx H@ /UQ}K8 M@ 3@f&mOm[f`' 6BFe_! 9fPm;fPU))B82ͯL۾`4E"( l63k83k 68Y }8@`4E" m`6 "H#,ۤ! pͽ ^ͷ`Nma@1r "H#,ͺFHR)6oh6p63h} EٵbUP C ͦlڔfҐ1f԰6Lt/G@* zt !F1r*:Jt`!&F!rd""*`&"r2*rze< )JjdH&""(/Or"bf"#FI@r" $f)Fzr"e8"'#Wr"jdeT ""+FVr"b"d"&")v)r"bJd"&$Tr"d("()FF@r"z`")F)r"`#&"(F)r2b"`#)F)rJz$`*'F)r¢z$`"*')r"z`"*'NUSdD%Q9~P5 \- @9f Q@ DTN@.f m. RAdF CPrͣr @ Df 0!Vm: RApkpDfU+6À8YLw8! YPD fP@9f hTHCRABF! ,۸!,ͼ ʧ`"mfmm2d@m KRe@Ԁp \DKReĀ0)"5„ H>"$0*#A5Ԁ"@m?fm˅N@D8(UYh29YC$Z,!XC[HDD{C8(!@ J͵$ ήBLVD8(pY 3FQpP6np 6@ 3op 4fP 6̀E8(uYDW@D ; #|z,Jʨ@B$mph0pCCy@\,z!@QfԠ&m! GƆff&mSf@"(2momuf׀&m{ lf`!f&mf " Sj6m2e]rp6p4f $ ͪ ͯ xA6Ȁ3l6π3@ 6pC8\ۈͱmafm?cf !Qf 609D8}8\~8@! ͻNW۞! ͢ ,DB.Xdͥ"ͦ`,lͧ $ xW'%,ڈʹͣ,ڠ{8Hvͩ,1ZgI>ͫ`"ͩ@,ͮ, 14r7Ь! ͱ ,fʹ@ͳ,@! XͲ.mmdfme^prp6ဳ@ 6p6cQ9!~0QS !20 #  MY0ԑU#5=Y2*QP/`aA~3 #+R3p Q#6M 3 50523L =`41B3jK51%B3KT<0MR2K#4`4A=B3T#QMR0K#1N0 #%Q=0KU#aQ=0KcQ=V0K'Eu@@D"3@ pBY4f !,͡ V H B63i062h Au+aͬ@ rA@63@h!/ 4($l4pYp8YDCR@1f3Y*]_fV-ԭH3m60&&c1fi*]fܰH3n6€3@ 9|cA=]~0QS !20 #  MY0ԑU#5=Y3T! 1aA~3=1R2 c7R3N S# `41B0K>1%B3KT5`MR2 K#A=B3>T#'QMR0K#1N0 #%Q=0KU#aQ=0KcQ=V0K'T U5%E@P"3@ p\-` 9f F B"@rͣ 2( !QrA63@h!/ 4(3j6E,H\3@mn @,ffma(3kX3@h! 6Ͱm(3l3m 63j3m63k4fp 6Հp@CCo8 {lrTͻmmf fhͿ ! LͿ`m aUCt@Zc7x.Vmfp 6EX@":٠Cp@Y1 H)р\jꑐ@ jH \7ȪJI Ɉ \.ȉ\)ȊhQ\eȊђ\ȉ\Wȉ*\nȊj\Ȋ  \Ȋj \Ɉq\*葀 \ 葀 \Ȋ걀 \8ds1=~Pt5@ BY4fp 9|@Z*&҂Fh .K% ih`ZZ. K% ihA63h4eUp "+YV$Cpm2fh!/ 4mdfP[hʺ@myfhf0(rp@63l63m68YHEXV"@mfmpn9D8yo |,!Q f(f ͤ"0m*m0f 6pCD@X"5X,NpCRYlYD8`[Y\X@0 YٵY8`VY$+SKWHaY1e{eD8``YkX$kٶCpY6p6n3o( 6Y8Cp,! :͸$ Ͳ"`͡ L͢L۸; "ͽ,hɎds8LOG_b$Tt.CHLB5uHXCSAVED5$UH.MOVEdU%$PFREXP_BDX8.DGTBDHp.DMLDEh.DLDPRDE8`.DLIPRDĕ8.DSTRE4Ɉ.DPOPbE5t.DTSTRdE.FLDSBe5H .ITODRUDH.XTODRED.DTOUREDS`E$I91~P5 \C@`r@f+4fh!QfphU JjPFHfҀhff@hbR$"3h 6A4f AH)P H)р\jꑖ jH \| p\<ɉ`\2Ɉі \Qɉ \ ɉ*P \KɊj \Ɋ  \Ɋj \ʪ \ȉ0 \ȉ*p \Ȋj \Ȋ  \Ȋj \Ɉq\*葀 \T 葀 \Ȋ걀 \8V DUA"3@ p-KA%@` p\4-h@1f3Y*]Z̴R"@r͡` c1UhB62D M@46u-3j*Ā3jx$Cm_fT;hͬ@ B _.h!@ ,ͳ  y@88YC 9D !,ʹ T!/ 6pPCo@ \0CY@D8FYl@IYBY3@mJffmSphp 9D8(QD8(V@Yͬ"$mjf **#=Q&msf@#>m\mpfm f f0mpk 9D8h`@Y~ ?À5o@Y81 CamD8hnYdwHCS@YC,TY63o p@EXF mfР&h!/Lt"(/1r*:Jt`!&F!rd""*`&"S2*rze )A@jjz"2d &""(/^!r"bdd"#Fq!r":,d " FAr"g"&FEr""d "&"(FAr"b"gP"&$FF@r"bJd ")FMr"DdL "('F1r" `"*)F)r2b"`#&")!r2`$'F)rz$`,*'F{)r"zL`"*')r"zQԠdd% %1~P5 BY4f n!,6AI"@rm#fҐh!/ 9fHDf@ 9f0mfѐUmaf@mDf 9|k$B\Prͯ ͨPrf@hʹ@rf 8Yl&:ԗ %1~0QS !20 #+@ MY0ԑU#5=Y3:SS-1R3` #9 3 :1B3vK71%B3JKT9MR34K#A=B0T#QMR0K#1N0 #%Q=0KU#aQ=0KcQ=V0K'Sde44i@ \K@%@"3@ 9/α,!.Q09/Q /r@E !'مZ@X"K`f !XYX",ï `+4hDXU1 H)р\jꑓ0 jH \rʩ誈q )hh)ɱ\8TSe44e@ո\K@ 4,!.Q(9/Q $r@E !'مVR@`&AhʩEu\CM@" :!QVr@DEXhh) \i \(jh*ȱɩȱ0 Q(誈k [hJq\8Se544i@\K@%@ hDf@r^b,!,!.Q09/Q 0r@E !'مYXeUV_h@іa[ X_mWd_Lt)#F1r*:Jt`!&F!rd""*`&"J2 r2le NQSe44dM-%A 2GETFLTUSe Ryp-(##KZ.%Z. %4\K p- HD2!a1̆S0p7 F1`K@`4p<@@ ` FD&`EVUL`T$BFX82і,`4ͦ `4Ȅ}`@Ȍ@hʷEX" 3@)^ !A`FD& q `f0K`fՠU@і0DdBi#"Eeø`b(EtBFX<~@ e A@ a}`"EtBFX<B@`m{aTAr`U82` Y!/UL` ܀xݕc@D(~1sbYxFVjp 4p@@mfQ @9rfcxFpg'XV^m*@1 a`A}`m{aTA9rm#ESX8n¦CeP! 89rfcxFpg'XV^0rf  4a! 89rfcxFpg'XV^0rf& PEtBFX<i/p@Uli/RUi 2 r" HMXKhʲBa '6nQVhw0BFX<B : @!b(rs99@XٵSX8n¾`Bpr?9NX#+:XDBFX@Ub,#>-YV B9EX4DX "j xݕOX !.Vhh@ma1Vr@˕K-ͣ gū*@ (3hxE`X8n¯ba '1}aa*p݅h U@'1V P݅l @X ewH P"/oH xOQ`f@2. pM oRPЁ<0H m@dF^ !6ـ20#60`#@(3jE* nʩ *@ \aF`Յ] U ٵ8 [/$B9EXW" !ͮ  ` fрFUaA` mh_mce[A  ͯ[ .BKp%` n$-B%@!FY2`+`jʴ*@ PdC[( EmaQ@QV@  ʣ2` ;" :@ v;d͡ପv !,ò aVQV@@ X «@"$[D e e,ò x, 0² *@ aQV@r "2!4V9 u '3!'ͪ͸P[x .G%˓@ m(@[4e\Q(dGfmQVfذV"EmePa"ɠ#dp)dP;`< *1GaҐa` mh0#YUbWB9EXI",f`6DM>-XVB K2 ffUmf +. *Ƞ[TU@%60`0r64XwC@pr^l۶ .Vmwfm)of09?x,um36ڃ8\t ,ۂ å¬|Z8ef$3o`34po3AxFVjrH6YLU1 {ii*IL誉ʩ \i @8\jh*ȱɩȱp*X)Ȉ 0Z~e)љ f\6eȱf\eɈh\ehQx\eɩh\$ɉ \ɉ* \(Ɋj \Ɋ pl\zɊj@j\ʪ@\ȉ \ȉ* \Ȋj \Ȋ  \Ȋj \Ɉq(\*葀 \ 葀 \Ȋ걀 \8S de$I@\K@ 4`09rAxFVjiH4Z-HDf@VrA@xFVj@E I)ʑ \i \-jh*ȱɩȱ #I*Se$Di@x"3@(9rA@xFVj@+4hZ,PRINTFb$Tt.CHLB5uH CSAVED5$UH.MOVEdd$HȠPUTCHAS e5$I@\\K@ 4`09rAxFVji4Z-!4B9EXs0Y!A #+5EXF", j I)ʑ \i \:jh*ȱɩȱ0 Te)ӀԓP`dd$I@"8@ @9'Z.%@Z.%Z. %Z.%Z.%E-@#+:XB\#uNb3V^ b,|Z Dhʪ@! '1"E!8Z@˔#3n Fru`E"62`` H9rfcx9NYx,uFm~e\"r?sbX`V Pʠ`"#V^b,!i.So'1+/a" :H!i.So'1+/`U@U 4ud"DX0CEX".3n*Z@˔#3n Fru`E"6Hb,+egXZ@˔#3n Fru`EwBPZ@˔#3n Fru`EX#JC"2X!}EX(" 3i U!2"@ ;d!X8U&6HO31Fpg'X:XBp Df0&UM)Ff7nX Aa@!(" :!X@]/g pB\ ` +4uA"@` ȋ0b,+egX 9YDEu U)e*@LWXB09D *@@2"@24uABDXHͶ`M,íb#V^b,*QL9a ͇X٠$cQ@3 @Fp7*h xVP*J! .Vf,*V f *@,*ū*߁XUb,#up69LhۖʷbñbEw< Ub, *@* U* Ee`4m`D"m*_KU",*ū 0 XUb,#up6x @r ,ʩã:*SO!PUBEXF" :<* FORMATb$Tt$.CHL5uH CSAVED5$UH.MOVETeD(STRLENddD5eHp CTP__쀲#.EQHɀ#.GT4(( .MLRDE.DLDSRDĕ.DLISBE5Hψ.DPSHRE.DSWAPREE5H.FLDPRdE8.FSTRDH.UTODRDH.DTOIREDX.DTOXUѠTDe@(Ԡ\.K%*eXe 3@9'I*Z¦,ç@[ Oj?M*f mfeSV?*!@` @ea\@)-aXa0e`kæk %BR/`*s#udEX yPIO=iR`Y|@Fy 4<mK@ ڨͩf maѠ&>ThͿ``*@ %ɎTDeȠ.DML10RUDH.DSWAPBDH.DLISDEh .DNG`TeD@Hְ \.K@% pH f3c4# ~ b&Ԯ2~#7 4A|Sq5h4|1 z_Sјz0FX#`rªB6XM@:4: v`F60u@Ul-o#j "6 V00`_ qF"60Y,B3m ^*2z fD"&"(Ff@ir"b"f *'Fgir"bJf ")Fn)r"f"'#}!r"bf"#gar" $f ""+FT@r"jad &()&QV de$U1aA~MODF_MMX rͰ * #+:"3meQ09/ΰIn9^o\r{6E{-YTdͯ0V0$35F@UtF#3|aVa[g7XUUF~0`3E"!4Ubb1n?9 XD sukv!$`quq @aVtF~[*1c|V~s ` #>`A\ì+}R:eP0XpM]@FGpt*@*:¤,Hf Lt#)"(/F2b"*‚v#/Dj2blgD"&"(FLirz$QPTd$1MFLTERRKRdEMR.DLISKRDĕ1B.DSTK REM]B.DNGK RD4M .DAD BDF.DNE  BDX.DGTKU RDHaQ=.DTOXK`RED M~.DML10%MZ4 pP0\.K%@ rP*@ :`(h#sla0 £ `*Fw ù#b 0+*@ :+* PF?qa\@c`rk#DUdF~cHFge,3k A XV^J²VmRV~c@,QVtDXU'1k1FrNb3sm#X*@V` X2EX@"#?? +üj0Y,QVuin*$asa0HXT K aR@+ ,V?;v(A`;**@X2`V`XaجEb,!=cK`dE"H2"@Xi\A񀁀`x$XW44`וu*@V 'X{GV y_Pn>D 㸬:@Cv\ `X ج ¤Ap$p˂1EX*@pHF %W)aU' |`@7 4aW + 8\ Èl `Bev880+jA @&aY'D ~ `V8^wXV|@c2yFa\ $O8CH&#a_@!2qՅot C@L!@`;*'t!@ p8$XTP 0 D #Xh˂1EX*@pHF ? b UjA @&aVp7D t~ `Vy8^wXV |@c2yFaY68CpH&#`gM+ XVH U d#&+˂3i@ *@{%JYW B+njm(}_ 6fҀe_ 6fҀa 6m(}^p6Ua 6)jʶ 0Qū*؂:Qsؼ X#=-Ull3apAF6B3 *ÿ'°wd@ @V~D+aYpF $UgtFOWW WaZpEx w3o,! Ge^`AY$ y$XWX^ XW|[#ڿ:d `(2 H0ڢ2T.GqXBF#,ͪ@V"3lv|`@mR`~#0Fw8(l`E@jʭற9'QVrٵdY4l7Nq@p7MAufce9p_&fcyr3 phh1v4 @z2m Naa:M@;mpVmxo(r@ $>0:mP@f0&9Y`kvU7Vm pp3`F6@tgp+ u$wV!l ¨$ò6aU`fb@?I+00F 8F~[#?+L GM+ $?b+ V+k`0;+4 ÿn#?cg1F6!b ; EX#?-Wxy ?m*#BWH^g*+|Ϣx~+v:Bx[8aq> *`%*1D )y& HHApV+`XTFw[ V~[0;Ҧ@Lx&()&ǀ*2b*x#&*")G@)r2b"t#&"(GK!r2u("&$T@)r"b"u`"&$GW)r"b"u")Gh)r"DwD"('G1r" t,"'#Dir"t"!GWar"u" GNr""u"&Gx@r"*w"'"~r"bt"&"CA!r":,tX"#GH)rz$t$'GHAr¢z$u"*'Grr"zw8"*'J2 t"&FTrʚ*f`'()&FA*r"bt"&"CA!r":,tX"#GH)rz$t$'GHAr¢z$u"*'Grr"z+|Ϣx~+v:Bx[8aq> *`%*1D )y& HHApV+`XTFw[ V~[0;Ҧ@Lx&()&ǀ*2b*x#&*")G@)r2b"t#&"(GK!r2u("&$T@)r"b"u`"&$GW)r"b"u")Gh)r"DwD"('G1r" t,"'#Dir" sin.c #include "math.h" #include "errno.h" double cos(x) double x; { double sincos(); return sincos(x, fabs(x) + 1.57079632679489661923, 0); } double sin(x) double x; { double sincos(); if (x < 0.0) return sincos(x,-x,1); else return sincos(x,x,0); } #define R1 -0.16666666666666665052e+00 #define R2 +0.83333333333331650314e-02 #define R3 -0.19841269841201840457e-03 #define R4 +0.27557319210152756119e-05 #define R5 -0.25052106798274584544e-07 #define R6 +0.16058936490371589114e-09 #define R7 -0.76429178068910467734e-12 #define R8 +0.27204790957888846175e-14 #define YMAX 6.7465e09 static double sincos(x,y,sgn) double x,y; { double f, xn, r, g; extern int errno; if (y >= YMAX) { errno = ERANGE; return 0.0; } if (modf(y * 0.31830988618379067154, &xn) >= 0.5) ++xn; if ((int)xn & 1) sgn = !sgn; if (fabs(x) != y) xn -= 0.5; g = modf(fabs(x), &x); /* break into fraction and integer parts */ f = ((x - xn*3.1416015625) + g) + xn*8.9089102067615373566e-6; if (fabs(f) > 2.3283e-10) { g = f*f; r = (((((((R8*g R7)*g R6)*g R5)*g R4)*g R3)*g R2)*g R1)*g; f += f*r; } if (sgn) f = -f; return f; } tan.c #include "math.h" #include "errno.h" extern int errno; static double tansub(); double cotan(x) double x; { double y; y = fabs(x); if (y < 1.91e-152) { errno = ERANGE; if (x < 0.0) return -HUGE; else return HUGE; } return tansub(x,y,2); } double tan(x) double x; { return tansub(x, fabs(x), 0); } #define P1 -0.13338350006421960681e+0 #define P2 +0.34248878235890589960e-2 #define P3 -0.17861707342254426711e-4 #define Q0 +1.0 #define Q1 -0.46671683339755294240e+0 #define Q2 +0.25663832289440112864e-1 #define Q3 -0.31181531907010027307e-3 #define Q4 +0.49819433993786512270e-6 #define P(f,g) (((P3*g P2)*g P1)*g*f + f) #define Q(g) ((((Q4*g Q3)*g Q2)*g Q1)*g Q0) #define YMAX 6.74652e09 static double tansub(x, y, flag) double x,y; { double f, g, xn; double xnum, xden; if (y > YMAX) { errno = ERANGE; return 0.0; } if (modf(x*0.63661977236758134308, &xn) >= 0.5) xn += (x < 0.0) ? -1.0 : 1.0; f = (x - xn*1.57080078125) + xn*4.454455103380768678308e-6; if (fabs(f) < 2.33e-10) { xnum = f; xden = 1.0; } else { g = f*f; xnum = P(f,g); xden = Q(g); } flag |= ((int)xn & 1); switch (flag) { case 1: /* A: tan, xn odd */ xnum = -xnum; case 2: /* B: cotan, xn even */ return xden/xnum; case 3: /* C: cotan, xn odd */ xnum = -xnum; case 0: /* D: tan, xn even */ return xnum/xden; } return 0.0; } asin.c #include "math.h" #include "errno.h" double arcsine(); double asin(x) double x; { return arcsine(x,0); } double acos(x) double x; { return arcsine(x,1); } #define P1 -0.27368494524164255994e+2 #define P2 +0.57208227877891731407e+2 #define P3 -0.39688862997504877339e+2 #define P4 +0.10152522233806463645e+2 #define P5 -0.69674573447350646411 #define Q0 -0.16421096714498560795e+3 #define Q1 +0.41714430248260412556e+3 #define Q2 -0.38186303361750149284e+3 #define Q3 +0.15095270841030604719e+3 #define Q4 -0.23823859153670238830e+2 #define P(g) ((((P5*g P4)*g P3)*g P2)*g P1) #define Q(g) (((((g Q4)*g Q3)*g Q2)*g Q1)*g Q0) double arcsine(x,flg) double x; { double y, g, r; register int i; extern int errno; static double a[2] = { 0.0, 0.78539816339744830962 }; static double b[2] = { 1.57079632679489661923, 0.78539816339744830962 }; y = fabs(x); i = flg; if (y < 2.3e-10) r = y; else { if (y > 0.5) { i = 1-i; if (y > 1.0) { errno = EDOM; return 0.0; } g = (0.5-y)+0.5; g = ldexp(g,-1); y = sqrt(g); y = -(y+y); } else g = y*y; r = y + y* ((P(g)*g) /Q(g)); } if (flg) { if (x < 0.0) r = (b[i] + r) + b[i]; else r = (a[i] - r) + a[i]; } else { r = (a[i] + r) + a[i]; if (x < 0.0) r = -r; } return r; } atan.c #include "libc.h" #include "math.h" #include "errno.h" static int nopper() {;} #define PI 3.14159265358979323846 #define PIov2 1.57079632679489661923 double atan2(v,u) double u,v; { double f; int (*save)(); extern int flterr; extern int errno; if (u == 0.0) { if (v == 0.0) { errno = EDOM; return 0.0; } return PIov2; } save = Sysvec[FLT_FAULT]; Sysvec[FLT_FAULT] = nopper; flterr = 0; f = v/u; Sysvec[FLT_FAULT] = save; if (flterr == 2) /* overflow */ f = PIov2; else { if (flterr == 1) /* underflow */ f = 0.0; else f = atan(fabs(f)); if (u < 0.0) f = PI - f; } if (v < 0.0) f = -f; return f; } #define P0 -0.13688768894191926929e+2 #define P1 -0.20505855195861651981e+2 #define P2 -0.84946240351320683534e+1 #define P3 -0.83758299368150059274e+0 #define Q0 +0.41066306682575781263e+2 #define Q1 +0.86157349597130242515e+2 #define Q2 +0.59578436142597344465e+2 #define Q3 +0.15024001160028576121e+2 #define P(g) (((P3*g P2)*g P1)*g P0) #define Q(g) ((((g Q3)*g Q2)*g Q1)*g Q0) double atan(x) double x; { double f, r, g; int n; static double Avals[4] = { 0.0, 0.52359877559829887308, 1.57079632679489661923, 1.04719755119659774615 }; n = 0; f = fabs(x); if (f > 1.0) { f = 1.0/f; n = 2; } if (f > 0.26794919243112270647) { f = (((0.73205080756887729353*f - 0.5) - 0.5) + f) / (1.73205080756887729353 + f); ++n; } if (fabs(f) < 2.3e-10) r = f; else { g = f*f; r = f + f * ((P(g)*g) /Q(g)); } if (n > 1) r = -r; r += Avals[n]; if (x < 0.0) r = -r; return r; } sinh.c #include "math.h" #include "errno.h" extern int errno; #define P0 -0.35181283430177117881e+6 #define P1 -0.11563521196851768270e+5 #define P2 -0.16375798202630751372e+3 #define P3 -0.78966127417357099479e+0 #define Q0 -0.21108770058106271242e+7 #define Q1 +0.36162723109421836460e+5 #define Q2 -0.27773523119650701667e+3 #define PS(x) (((P3*x P2)*x P1)*x P0) #define QS(x) (((x Q2)*x Q1)*x Q0) double sinh(x) double x; { double y, w, z; int sign; y = x; sign = 0; if (x < 0.0) { y = -x; sign = 1; } if (y > 1.0) { w = y - 0.6931610107421875000; if (w > 349.3) { errno = ERANGE; z = HUGE; } else { z = exp(w); if (w < 19.95) z -= 0.24999308500451499336 / z; z += 0.13830277879601902638e-4 * z; } if (sign) z = -z; } else if (y < 2.3e-10) z = x; else { z = x*x; z = x + x * (z*(PS(z) /QS(z))); } return z; } double cosh(x) double x; { double y, w, z; y = fabs(x); if (y > 1.0) { w = y - 0.6931610107421875000; if (w > 349.3) { errno = ERANGE; return HUGE; } z = exp(w); if (w < 19.95) z += 0.24999308500451499336 / z; z += 0.13830277879601902638e-4 * z; } else { z = exp(y); z = z*0.5 + 0.5/z; } return z; } tanh.c #include "math.h" #define P0 -0.16134119023996228053e+4 #define P1 -0.99225929672236083313e+2 #define P2 -0.96437492777225469787e+0 #define Q0 +0.48402357071988688686e+4 #define Q1 +0.22337720718962312926e+4 #define Q2 +0.11274474380534949335e+3 #define gP(g) (((P2*g P1)*g P0)*g) #define Q(g) (((g Q2)*g Q1)*g Q0) double tanh(x) double x; { double f,g,r; f = fabs(x); if (f > 25.3) r = 1.0; else if (f > 0.54930614433405484570) { r = 0.5 - 1.0/(exp(f+f)+1.0); r += r; } else if (f < 2.3e-10) r = f; else { g = f*f; r = f + f* (gP(g) /Q(g)); } if (x < 0.0) r = -r; return r; } pow.c #include "math.h" #include "errno.h" double pow(a,b) double a,b; { double loga; extern int errno; if (a<=0.0) { if (a<0.0 || a==0.0 && b<=0.0) { errno = EDOM; return -HUGE; } else return 0.0; } loga = log(a); loga *= b; if (loga > LOGHUGE) { errno = ERANGE; return HUGE; } if (loga < LOGTINY) { errno = ERANGE; return 0.0; } return exp(loga); } sqrt.c #include "math.h" #include "errno.h" double sqrt(x) double x; { double f, y; int n; extern int errno; if (x == 0.0) return x; if (x < 0.0) { errno = EDOM; return 0.0; } f = frexp(x, &n); y = 0.41731 + 0.59016 * f; y = (y + f/y); y = 0.25*y + f/y; /* fast calculation of y2 */ y = 0.5 * (y + f/y); y = y + 0.5 * (f/y - y); if (n&1) { y *= 0.70710678118654752440; ++n; } return ldexp(y,n/2); } log.c #include "math.h" #include "errno.h" double log10(x) double x; { return log(x)*0.43429448190325182765; } #define A0 -0.64124943423745581147e+2 #define A1 +0.16383943563021534222e+2 #define A2 -0.78956112887491257267e+0 #define A(w) ((A2*w A1)*w A0) #define B0 -0.76949932108494879777e+3 #define B1 +0.31203222091924532844e+3 #define B2 -0.35667977739034646171e+2 #define B(w) (((w B2)*w B1)*w B0) #define C0 0.70710678118654752440 #define C1 0.693359375 #define C2 -2.121944400546905827679e-4 double log(x) double x; { double Rz, f, z, w, znum, zden, xn; int n; extern int errno; if (x <= 0.0) { errno = EDOM; return -HUGE; } f = frexp(x, &n); if (f > C0) { znum = (f-0.5)-0.5; zden = f*0.5 + 0.5; } else { --n; znum = f - 0.5; zden = znum*0.5 + 0.5; } z = znum/zden; w = z*z; /* the lines below are split up to allow expansion of A(w) and B(w) */ Rz = z + z * (w * A(w) /B(w)); xn = n; return (xn*C2 + Rz) + xn*C1; } random.c /* * Random number generator - * adapted from the FORTRAN version * in "Software Manual for the Elementary Functions" * by W.J. Cody, Jr and William Waite. */ double ran() { static long int iy = 100001; iy *= 125; iy -= (iy/2796203) * 2796203; return (double) iy/ 2796203.0; } double randl(x) double x; { double exp(); return exp(x*ran()); } exp.c #include "math.h" #include "errno.h" #define P0 0.249999999999999993e+0 #define P1 0.694360001511792852e-2 #define P2 0.165203300268279130e-4 #define Q0 0.500000000000000000e+0 #define Q1 0.555538666969001188e-1 #define Q2 0.495862884905441294e-3 #define P(z) ((P2*z + P1)*z + P0) #define Q(z) ((Q2*z + Q1)*z + Q0) #define EPS 2.710505e-20 double exp(x) double x; { int n; double xn, g, r, z; extern int errno; if (x > LOGHUGE) { errno = ERANGE; return HUGE; } if (x < LOGTINY) { errno = ERANGE; return 0.0; } if (fabs(x) < EPS) return 1.0; z = modf(x * 1.4426950408889634074, &xn); if (z >= 0.5) ++xn; n = xn; z = modf(x, &x); /* break x up into fraction and integer part */ g = ((x - xn*0.693359375) + z) + xn*2.1219444005469058277e-4; z = g*g; r = P(z)*g; r = 0.5 + r/(Q(z)-r); return ldexp(r,n+1); } floor.c #include "math.h" double floor(d) double d; { if (d < 0.0) return -ceil(-d); modf(d, &d); return d; } double ceil(d) double d; { if (d < 0.0) return -floor(-d); if (modf(d, &d) > 0.0) ++d; return d; } atof.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 extrn .dml10, .utod, .dswap, .dad extrn .dlis, .ddv, .dng dseg msign: ds 1 esign: ds 1 dpflg: ds 1 dexp: ds 2 cseg public atof_ atof_: push b xra a sta msign ;clear mantissa sign sta esign ;clear exponent sign sta dpflg ;have not seen decimal point yet lxi h,0 shld dexp ;clear exponent to zero call .utod ;clear floating point accumulator ; lxi h,4 dad sp mov c,m ;get address of string to convert inx h mov b,m skipbl: ldax b cpi ' ' jz blank cpi 9 jnz notblank blank: inx b jmp skipbl notblank: cpi '-' jnz notneg ;not minus sign sta msign ;set negative for later jmp skpsign notneg: cpi '+' ;check for plus sign jnz getnumb skpsign: inx b ;skip over sign character getnumb: ldax b cpi '0' jc notdigit cpi '9'+1 jnc notdigit push psw call .dml10 call .dswap pop psw sui '0' mov l,a mvi h,0 call .utod call .dad lda dpflg ora a jz skpsign lhld dexp dcx h shld dexp jmp skpsign notdigit: cpi '.' jnz nomore lxi h,dpflg mvi m,1 ;set dec. pt. seen jmp skpsign ; nomore: lxi h,0 ;clear exponent ori 20H ;force to lower case cpi 'e' jnz scaleit inx b ldax b cpi '-' jnz exppos sta esign ;set exponent negative jmp nxtchr exppos: cpi '+' jnz getexp nxtchr: inx b getexp: ldax b cpi '0' jc expdone cpi '9'+1 jnc expdone sui '0' dad h ; exp *= 2 mov d,h mov e,l dad h ;exp *= 4 dad h ;exp *= 8 dad d ;exp *= 10 mov e,a mvi d,0 dad d ;exp = exp*10 + char - '0' jmp nxtchr ; expdone: lda esign ;check sign of exponent ora a jz addexp mov a,h ;negate if sign was minus cma mov h,a mov a,l cma mov l,a inx h addexp: xchg lhld dexp ;get digit count dad d ;add in exponent value shld dexp ;save for scaling later ; scaleit: ;scale number to correct value lhld dexp mov a,h ora a jp movup ;negative exponent cpi 0ffH ;test if exponent too large jnz rngerr mov a,l cma inr a mov c,a ;save for loop later cpi 166 jnc rngerr cpi 150 jc sizeok call .dlis ;divide by 1e16 since smallest will overflow db 47H,23H,86H,0f2H,6fH,0c1H,0,0 call .ddv mov a,c ;get exponent value back sui 16 mov c,a sizeok: call .dswap lxi h,1 call .utod sclp1: call .dml10 ;compute number to divide by dcr c jnz sclp1 call .dswap ;get everybody back in place call .ddv ;move into range jmp dosign ; movup: ;positive exponent scale number up jnz rngerr mov a,l ;get loop count ora a jz dosign mov c,a sclp2: call .dml10 dcr c jnz sclp2 ; dosign: lda msign ;check sign of number ora a jz return call .dng ;negate accumulator return: pop b ret ; rngerr: pop b ret end ftoa.asm ; Copyright (C) 1982, 1983 by Manx Software Systems ; :ts=8 extrn .dldp, .dlds, .utod, .dlis, .dswap, .dtst extrn .dng, .dlt, .dge, .dad, .ddv, .dml10 extrn flprm dseg chrptr: ds 2 maxdig: ds 1 ndig: ds 2 exp: ds 2 count: ds 1 fflag: ds 1 cseg rounding: ; 0.5, DB 040H,080H,00H,00H,00H,00H,00H,00H ; 0.05, DB 040H,0CH,0CCH,0CCH,0CCH,0CCH,0CCH,0CDH ; 0.005, DB 040H,01H,047H,0AEH,014H,07AH,0E1H,048H ; 0.0005, DB 03FH,020H,0C4H,09BH,0A5H,0E3H,054H,00H ; 0.00005, DB 03FH,03H,046H,0DCH,05DH,063H,088H,066H ; 0.000005, DB 03EH,053H,0E2H,0D6H,023H,08DH,0A3H,0CDH ; 0.0000005, DB 03EH,08H,063H,07BH,0D0H,05AH,0F6H,0C8H ; 0.00000005, DB 03DH,0D6H,0BFH,094H,0D5H,0E5H,07AH,066H ; 0.000000005, DB 03DH,015H,079H,08EH,0E2H,030H,08CH,03DH ; 0.0000000005, DB 03DH,02H,025H,0C1H,07DH,04H,0DAH,0D3H ; 0.00000000005, DB 03CH,036H,0F9H,0BFH,0B3H,0AFH,07BH,080H ; 0.000000000005, DB 03CH,05H,07FH,05FH,0F8H,05EH,059H,026H ; 0.0000000000005, DB 03BH,08CH,0BCH,0CCH,09H,06FH,050H,09AH ; 0.00000000000005, DB 03BH,0EH,012H,0E1H,034H,024H,0BBH,043H ; 0.000000000000005, DB 03BH,01H,068H,049H,0B8H,06AH,012H,0BAH ; ; public ftoa_ ftoa_: push b lxi h,12 dad sp mov e,m inx h mov d,m xchg shld chrptr ;buffer for converted data lxi h,16 dad sp mov a,m sta fflag ;e/f/g format flag ; lxi h,4 dad sp call .dldp ;fetch number to convert lxi h,14 dad sp mov a,m ;fetch precision sta maxdig inr a mov l,a mvi h,0 shld ndig ; lhld flprm mov a,m ora a jp notneg call .dng lhld chrptr mvi m,'-' inx h shld chrptr notneg: lxi b,0 ;clear integer exponent call .dtst jz numbok call .dlis db 041H,0aH,0,0,0,0,0,0 adjust: lhld flprm inx h mov a,m cpi 1 jm toosml jz tentest cpi 2 jnz bignum inx h inx h mov a,m cpi 27H ;number < 10000, just do divides jc quick bignum: call inverse call .dlis db 40H,19H,99H,99H,99H,99H,99H,9aH bignlp: call .dml10 inx b call .dlt jnz bignlp call inverse lhld flprm inx h inx h inx h mov a,m cpi 10 jc numbok dcx b call .dml10 jmp numbok qcklp: lhld flprm inx h mov a,m cpi 1 jnz quick tentest: inx h inx h mov a,m cpi 10 jc numbok quick: call .ddv ;divide by ten till 1 <= number < 10 inx b ;count for exponent jmp qcklp sml.lp: lhld flprm inx h mov a,m cpi 1 jp numbok toosml: call .dml10 ;multiply by ten till 1 <= number < 10 dcx b ;count for exponent jmp sml.lp ; numbok: lda fflag ;check conversion format ora a jz eformat cpi 1 jz fformat lda maxdig ;if %g then precision is # sig. digits mov l,a mvi h,0 shld ndig mov a,b ;select %f if maxdig > exp > -4, else use %e ora a jm chkm4 mov a,c cmp l jnc eformat mvi a,1 ;exp < maxdig, so use %f jmp setformat ; chkm4: mov a,c cpi -4 jc eformat ;exp < -4, so use %e fformat: lhld ndig dad b shld ndig mvi a,1 jmp setformat eformat: xra a setformat: sta fflag ; now round number according to the number of digits lhld ndig dcx h mov a,h ora a jp L1 lxi h,0 jmp L5 L1: jnz toomany mov a,l cpi 14 jc L5 toomany: lxi h,14 L5: dad h ;*2 dad h ;*4 dad h ;*8 lxi d,rounding dad d call .dlds call .dad ;add in rounding counstant ; call .dlis db 041H,0aH,0,0,0,0,0,0 call .dge ;check for rounding overflow jz rndok lxi h,1 call .utod ;and repair if necessary inx b lda fflag ora a jz rndok lhld ndig inx h shld ndig rndok: mov h,b mov l,c shld exp lda fflag ora a jz unpack mov a,b ora a mov a,c ;move for unpack jp unpack ; F format and negative exponent ; put out leading zeros lhld chrptr mvi m,'0' inx h mvi m,'.' inx h lda ndig+1 ora a jm under mov a,c cma jmp L2 under: lda maxdig L2: ora a jz zdone zdiglp: mvi m,'0' inx h dcr a jnz zdiglp zdone: shld chrptr mvi a,0ffH ;mark decpt already output ; unpack: ;when we get here A has the position for the ;decimal point mov c,a ;save decimal point position lxi h,ndig+1 ;check if ndigits is <= zero mov a,m ora a jm unpdone ;if so just quit now dcx h ora m jz unpdone ;if so just quit now lhld flprm lxi d,10 dad d mvi m,0 ;zap guard bytes inx h mvi m,0 mvi b,0 unplp: mov a,b cpi 15 mvi a,'0' jnc zerodigit lhld flprm inx h ;skip sign byte mov a,m cpi 1 mvi a,'0' jnz zerodigit inx h ;skip exponent inx h ;skip overflow add m mvi m,0 ;subtract integer portion (virtual) zerodigit: lhld chrptr mov m,a inx h shld chrptr lxi h,ndig dcr m jz unpdone mov a,b cmp c jnz mul10 lhld chrptr mvi m,'.' inx h shld chrptr mul10: call .dml10 ;multiply by 10 and re-normalize inr b jmp unplp ; unpdone: lda fflag ora a jnz alldone ; lhld chrptr mvi m,'e' inx h mvi m,'+' lda exp+1 ora a lda exp jp posexp mvi m,'-' cma inr a posexp: inx h cpi 100 jc lt100 mvi m,'1' inx h sui 100 lt100: mvi b,0 tens: cpi 10 jc lt10 inr b sui 10 jmp tens lt10: adi '0' ;ascii of last digit mov e,a ;save last digit mvi a,'0' add b ;compute second digit mov m,a inx h mov m,e inx h shld chrptr ; alldone: lhld chrptr mvi m,0 pop b ret ; inverse: call .dswap lxi h,1 call .utod jmp .ddv ;implied return ; end frexp.asm ; Copyright (C) 1982, 1983, 1984 by Manx Software Systems ; :ts=8 extrn flprm extrn .dldp, .utod public frexp_, ldexp_, modf_ ; frexp_: ;return mantissa and exponent push b lxi h,4 dad sp call calcexp ;calculate power of two exponent jnz retexp lxi b,0 retexp: lxi h,12 ;address second argument dad sp mov e,m inx h mov d,m xchg mov m,c ;return base 2 exponent inx h mov m,b popret: pop b ret ; ldexp_: ;load new exponent value (actualy add to exponent) push b lxi h,4 dad sp call calcexp jz popret ;do nothing if number is zero or unnormalized lxi h,12 ;fetch number to add to exponent dad sp mov e,m inx h mov d,m xchg dad b ;add exponents mov a,h ora a ;check sign of exponent jp posexp cma ;make positive for div and modulo below mov h,a mov a,l cma mov l,a inx h mov a,l ani 7 mov c,a ;save amount to shift call rsexp ;make power of 256 mov a,l cma inr a ;fix sign back mov l,a jmp ldrs posexp: ora l ;check if zero jz popret ;no adjustment needed mov c,l ;save to compute left shift call rsexp ;make power of 256 mov a,c ani 7 jz ldrsx inr l ;bump exponent to make right shift cma adi 9 ;compensate for +1 (c = -(x-8)) ldrsx: mov c,a ;save for loop below ldrs: xchg lhld flprm inx h mov m,e ;save exponent rsloop: dcr c jm popret lhld flprm inx h inx h mvi b,7 ora a ;clear carry rslp: inx h mov a,m rar mov m,a dcr b jnz rslp jmp rsloop ; rsexp: ora a mvi b,3 rselp: mov a,h rar mov h,a mov a,l rar mov l,a dcr b jnz rselp ret ; calcexp: call .dldp ;load into floating accumulator lhld flprm inx h mov a,m ;get exponent value cpi -64 rz mvi m,0 ;make exponent zero for return mov l,a ;get low byte of exponent rlc ;sign extend value sbb a mov h,a ;save high byte of exponent dad h dad h dad h ; exp*8 to make power of two mov b,h ; bc = exponent mov c,l lhld flprm inx h inx h inx h ;hl = first byte of mantissa mov a,m ora a rz ;unnormalized number? give up lshft: mov a,m ani 80H ;test high bit of mantissa rnz ;mantissa >= 0.5 ? yes return ;otherwise, shift number to the left one place dcx b ;and adjust exponent lxi d,7 dad d ;address of end of fraction lsloop: dcx h mov a,m ral mov m,a dcr e jnz lsloop jmp lshft ; modf_: ;split into integral and fraction parts push b lxi h,12 ;pick up address to store integral part dad sp mov c,m inx h mov b,m mov l,c mov h,b mvi e,8 ;clear out integer xra a mdclr: mov m,a inx h dcr e jnz mdclr ; lxi h,4 dad sp call .dldp lhld flprm inx h mov a,m ora a jm popret jz popret adi 64 ani 7fH mov e,a dcx h mov a,m ;get sign of number ani 80H ;isolate ora e ;combine with exponent stax b ;store away inx b inx h mov a,m ;refetch exponent inx h ;skip over exponent inx h ;skip over overflow byte cpi 7 jc expok ;limit move loop to 7 bytes mvi a,7 expok: mov e,a ;save count for loop cma adi 8 ; 7 - loop count mov d,a ;save # bytes in fraction intmov: ;copy integer part into given area mov a,m stax b inx h inx b dcr e jnz intmov ; fnorm: ;note: E is zero at start of this loop dcr d jm zfrac ;fraction is zero mov a,m ;look for non-zero byte inx h dcr e ;count for exponent of fraction ora a jz fnorm ; dcx h ;back up to good byte inr e ;fix exponent mov b,h ;save position in accumulator mov c,l lhld flprm inx h mov m,e ;store exponent inx h ;skip overflow byte mvi e,7 ;count of # that must be cleared frcmov: inx h ldax b mov m,a inx b dcr e dcr d jp frcmov xra a frcclr: ;clear out rest of register inx h mov m,a dcr e jnz frcclr pop b ret zfrac: ;fraction is zero lxi h,0 call .utod pop b ret fsubs.asm ; Copyright (C) 1982, 1983, 1984 by Manx Software Systems ; :ts=8 extrn Sysvec_ extrn lnprm extrn puterr_ dseg public flprm,flsec flprm: dw acc1 flsec: dw acc2 public flterr_ flterr_: dw 0 retsave:ds 2 YU: ds 2 VEE: ds 2 expdiff:ds 1 acc1: ds 18 acc2: ds 18 ;work area for divide and multiply routines lcnt: ds 1 ;iterations left tmpa: ds 8 ;quotient tmpb: ds 8 ;remainder work area tmpc: ds 8 ;temp for divisor cseg public .flds ;load single float into secondary accum .flds: xchg lhld flsec jmp fload ; public .fldp ;load single float into primary accum .fldp: xchg lhld flprm fload: push b ldax d ;get first byte of number mov m,a ;save sign inx h ani 7fH ;isolate exponent sui 64 ;adjust from excess 64 notation mov m,a ;and save inx h mvi m,0 ;extra byte for carry mvi b,3 ;copy 3 byte fraction ldloop: inx h inx d ldax d mov m,a dcr b jnz ldloop mvi b,5 ;clear rest to zeros xra a clloop: inx h mov m,a dcr b jnz clloop pop b ret ; public .fst ;store single at addr in HL .fst: push b xchg lhld flprm mov a,m ;get sign ani 80H ;and isolate mov b,a ;save inx h mov a,m ;get exponent adi 64 ;put into excess 64 notation ani 7fH ;clear sign bit ora b ;merge exponent and sign stax d inx h ;skip overflow byte mvi b,3 ;copy 3 bytes of fraction fstlp: inx d inx h mov a,m stax d dcr b jnz fstlp pop b ret ; public .dlis ;load double immediate secondary .dlis: pop d ;get return addr lxi h,8 ;size of double dad d push h ;put back correct return addr xchg ;fall through into .dlds ; public .dlds ;load double float into secondary accum .dlds: xchg lhld flsec jmp dload ; public .dlip ;load double immediate primary .dlip: pop d ;get return addr lxi h,8 ;size of double dad d push h ;put back correct return addr xchg ;fall through into .dldp ; public .dldp ;load double float into primary accum .dldp: xchg lhld flprm dload: push b ldax d ;get first byte of number mov m,a ;save sign inx h ani 7fH ;isolate exponent sui 64 ;adjust from excess 64 notation mov m,a ;and save inx h mvi m,0 ;extra byte for carry mvi b,7 ;copy 7 byte fraction dloop: inx h inx d ldax d mov m,a dcr b jnz dloop inx h mvi m,0 ;clear guard byte pop b ret ; public .dst ;store double at addr in HL .dst: push b push h ;save address call dornd ;round fraction to 7 bytes pop d ;restore address lhld flprm mov a,m ;get sign ani 80H ;and isolate mov b,a ;save inx h mov a,m ;get exponent adi 64 ;put into excess 64 notation ani 7fH ;clear sign bit ora b ;merge exponent and sign stax d inx h ;skip overflow byte mvi b,7 ;copy 7 bytes of fraction dstlp: inx d inx h mov a,m stax d dcr b jnz dstlp pop b ret ; public .dpsh ;push double float onto the stack .dpsh: ;from the primary accumulator pop h ;get return address shld retsave ;and save for later call dornd lhld flprm lxi d,9 dad d mov d,m ;bytes 6 and 7 dcx h mov e,m dcx h push d mov d,m ;bytes 4 and 5 dcx h mov e,m dcx h push d mov d,m ;bytes 2 and 3 dcx h mov e,m dcx h push d mov d,m ;byte 1 dcx h dcx h ;skip over carry byte mov a,m ;get exponent adi 64 ;and restore to excess 64 notation ani 7fH mov e,a dcx h mov a,m ani 80H ;isolate sign bit ora e ;combine exponent and sign mov e,a push d lhld retsave pchl ; public .dpop ;pop double float into secondary accum .dpop: pop h ;get return address shld retsave ;and save lhld flsec pop d ;exponent/sign and first fraction mov m,e ;save sign inx h mov a,e ani 7fH ;isolate exponent sui 64 ;adjust for excess 64 notation mov m,a inx h mvi m,0 ;extra byte for carry inx h mov m,d inx h pop d ;bytes 2 and 3 of fraction mov m,e inx h mov m,d inx h pop d ;bytes 4 and 5 of fraction mov m,e inx h mov m,d inx h pop d ;bytes 6 and 7 of fraction mov m,e inx h mov m,d inx h mvi m,0 ;clear guard byte lhld retsave pchl ; public .dswap ;exchange primary and secondary .dswap: lhld flsec xchg lhld flprm shld flsec xchg shld flprm ret ; public .dng ;negate primary .dng: lhld flprm mov a,m xri 80H ;flip sign mov m,a ret ; public .dtst ;test if primary is zero .dtst: lhld flprm ; mov a,m ; ora a ; jnz true inx h mov a,m cpi -64 jnz true ; inx h ; inx h ; mov a,m ; ora a ; jnz true jmp false ; public .dcmp ;compare primary and secondary ; ;return 0 if p == s p.lt.s: ;return < 0 if p < s xra a dcr a pop b ret ; p.gt.s: ; > 0 if p > s xra a inr a pop b ret ; .dcmp: push b lhld flprm xchg lhld flsec ldax d ora a jm dcneg ; primary is positive xra m ;check if signs the same jm p.gt.s ;differ then p > s jmp docomp dcneg: ;primary is negative xra m ;check if signs the same jm p.lt.s ;differ the p < s xchg ;both negative reverse sense of test docomp: inx h inx d ldax d cmp m ;compare exponents jm p.lt.s ;sign test ok since -64 < exp < 64 jnz p.gt.s mvi b,9 ;test overflow byte + 8 bytes of fraction cmploop: inx h inx d ldax d cmp m jc p.lt.s jnz p.gt.s dcr b jnz cmploop ;return 0 if p == s xra a pop b ret ; public .dsb ;subtract secondary from primary .dsb: lhld flsec mov a,m xri 80H ;flip sign of secondary mov m,a ;fall thru into add routine ; public .dad ;add secondary to primary .dad: ;DE is used as primary address ;and HL is used as secondary address push b ;clear extra bytes at end of accumulators lhld flprm lxi d,11 ;leave guard byte alone dad d mvi b,7 xra a clp1: mov m,a inx h dcr b jnz clp1 lhld flsec lxi d,11 ;leave guard byte alone dad d mvi b,7 clp2: mov m,a inx h dcr b jnz clp2 lhld flprm xchg lhld flsec inx h inx d ldax d ;primary exponent sub m ;compute difference jp ordok xchg ;swap so primary is larger cma inr a ordok: dcx d dcx h shld flsec ;fix primary and secondary xchg shld flprm cpi 9 ;check for exp diff too large jnc normalize mov c,a ;save exponent difference push h push d adi 9 ;adjust for offset mov e,a mvi d,0 dad d ;adjust address for exponent difference shld YU pop d lxi h,9 dad d shld VEE pop h xchg ;get prm in DE and scnd in HL ldax d ;sign of primary xra m ;check if signs same jp doadd ldax d ora a ;test which one is negative jm UfromV ;jump if primary is negative ;subtract V from U mvi b,7 lhld YU xchg lhld VEE sublpa: ;carry is already cleared ldax d sbb m stax d dcx d dcx h dcr b jnz sublpa brlpa: ldax d sbi 0 stax d dcx d dcr c jp brlpa xchg ;get destination into HL jmp subchk ;check for negative result ; UfromV: ;subtract U from V mvi b,7 lhld VEE xchg lhld YU sublpb: ;carry is already cleared ldax d sbb m mov m,a dcx d dcx h dcr b jnz sublpb brlpb: mvi a,0 sbb m mov m,a dcx h dcr c jp brlpb subchk: ;check for negative result inx h mov a,m ;check carry byte ora a ;test sign mvi a,1 jp makpos lxi d,15 dad d ;point to end of number neglp: mvi a,0 sbb m mov m,a dcx h dcr e jp neglp mvi a,81H ;make number negative makpos: lhld flprm mov m,a ;set sign of number jmp normalize ; doadd: ;add V to U mvi b,7 lhld YU xchg lhld VEE addlp: ;carry is already cleared ldax d adc m stax d dcx d dcx h dcr b jnz addlp crylp: ldax d aci 0 stax d dcx d dcr c jp crylp jmp normalize ; public .ddv .ddv: ;double floating divide (primary = primary/secondary) push b lhld flprm xchg lhld flsec ldax d xra m ;compute sign of result stax d ;and store inx h inx d ldax d ;primary exponent sub m ;eu-ev mov c,a ;save exponent push d push h mov a,m cpi -64 jnz d.ok pop h pop h ;throw away mvi a,3 ;flag divide by zero error sta flterr_ jmp setbig ;set to biggest possible number d.ok: inx d inx h mvi b,8 cmloop: inx d inx h ldax d cmp m jnz differ dcr b jnz cmloop ;numbers are the same give 1 as the answer pop h ;throw away pop h ;get destination addr inr c ;adjust exponent mov m,c ;save exponent inx h mvi m,0 ;clear extra byte inx h mvi m,1 ;set result mvi b,8 xra a sta flterr_ jmp zclr ; differ: ;check carry to find out smaller number pop d ;restore divisor address pop h ;restore dividend address mov m,c ;store exponent jc uok inr c ;bump exponent mov m,c dcx h ;and shift dividend right (logically) uok: push d ;save for later lxi d,9 dad d ;compute end address mvi b,8 lxi d,tmpb ;copy dividend into work area remsav: mov a,m stax d dcx h inx d dcr b jnz remsav pop h ;restore divisor addr lxi d,9 dad d ;move backwards mvi b,8 lxi d,tmpc ;copy divisor into work area divsav: mov a,m stax d dcx h inx d dcr b jnz divsav mvi b,8 lxi h,tmpa ;clear quotient buffer xra a quinit: mov m,a inx h dcr b jnz quinit mvi a,64 sta lcnt ;initialize loop counter divloop: lxi h,tmpa mvi b,16 ora a ;clear carry shlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz shlp sbb a ani 1 mov c,a mvi b,8 lxi d,tmpb lxi h,tmpc ora a ;clear carry sublp: ldax d sbb m stax d inx d inx h dcr b jnz sublp mov a,c sbi 0 jnz zerobit onebit: lxi h,tmpa inr m lxi h,lcnt dcr m jnz divloop jmp divdone ; zerobit: lxi h,lcnt dcr m jz divdone lxi h,tmpa mvi b,16 ora a ;clear carry zshlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz zshlp sbb a mov c,a mvi b,8 lxi d,tmpb lxi h,tmpc ora a ;clear carry daddlp: ldax d adc m stax d inx d inx h dcr b jnz daddlp mov a,c aci 0 jnz zerobit jmp onebit ; divdone: lhld flprm lxi d,12 dad d mvi m,0 dcx h mvi m,0 lxi d,tmpa mvi b,8 qusav: dcx h ldax d mov m,a inx d dcr b jnz qusav jmp normalize ; public .dml .dml: ;double floating multiply (primary = primary * secondary) push b lhld flprm xchg lhld flsec ldax d xra m ;compute sign of result stax d ;and store inx h inx d ldax d ;primary exponent cpi -64 jz zresult add m ;eu+ev stax d ;save exponent mov a,m ;check for mult by zero cpi -64 jz zresult push d ;save for later lxi d,9 dad d ;compute end address mvi b,8 lxi d,tmpc ;copy muliplicand into work area msav1: mov a,m stax d dcx h inx d dcr b jnz msav1 pop h ;restore multiplier addr lxi d,9 dad d ;move backwards mvi b,8 lxi d,tmpb ;copy multiplier into work area msav2: mov a,m stax d dcx h inx d dcr b jnz msav2 mvi b,8 lxi h,tmpa ;clear buffer xra a clrmul: mov m,a inx h dcr b jnz clrmul mvi a,64 sta lcnt ;initialize loop counter muloop: lxi h,tmpa mvi b,16 ora a ;clear carry mshlp: mov a,m adc a ;shift one bit to the left mov m,a inx h dcr b jnz mshlp jnc mnext mvi b,8 lxi d,tmpa lxi h,tmpc ora a ;clear carry maddlp: ldax d adc m stax d inx d inx h dcr b jnz maddlp ; mvi b,8 madclp: ldax d aci 0 stax d jnc mnext inx d dcr b jnz madclp ; mnext: lxi h,lcnt dcr m jnz muloop lhld flprm lxi d,12 dad d lxi d,tmpb-2 mvi b,10 msav: ldax d mov m,a inx d dcx h dcr b jnz msav jmp normalize ; ; public .deq .deq: call .dcmp jz true false: lxi h,0 xra a ret ; public .dne .dne: call .dcmp jz false true: lxi h,1 xra a inr a ret ; public .dlt .dlt: call .dcmp jm true jmp false ; public .dle .dle: call .dcmp jm true jz true jmp false ; public .dge .dge: call .dcmp jm false jmp true ; public .dgt .dgt: call .dcmp jm false jz false jmp true ; public .utod .utod: push b mov a,h ora l jz zresult xchg mvi b,0 jmp posconv ; public .itod .itod: push b mov a,h ora l jz zresult xchg mvi b,0 mov a,d ora a jp posconv cma mov d,a mov a,e cma mov e,a inx d mvi b,80H posconv: lhld flprm mov m,b ;store sign inx h mov a,d ora a jnz longcvt mvi m,1 ;set up exponent inx h mvi m,0 ;clear extra byte inx h mov m,e ;move number into accumulator mvi b,7 xra a jmp cnvlp ; longcvt: mvi m,2 ;setup exponent inx h mvi m,0 ;clear extra byte inx h mov m,d ;move number into accumulator inx h mov m,e mvi b,6 xra a cnvlp: inx h mov m,a dcr b jnz cnvlp jmp goodexit ; dornd: ; round the number in the primary accumulator lhld flprm lxi d,10 ;offset of guard byte dad d mov a,m cpi 128 rc ; < 128 do nothing jnz rndit dcx h ; == 128 make number odd mov a,m ori 1 mov m,a ret ; rndit: ; > 128 add one to fraction push b lxi b,0800H ;b = 8, and c = 0 stc ; make loop add 1 rndlp: dcx h mov a,m adc c mov m,a dcr b jnz rndlp ora a ;check for fraction overflow jnz normalize ;re-normalize number if so. pop b ret ;return if none ; normalize: lhld flprm ;get address of accum inx h mov a,m ;fetch exponent mov d,h ;save address for later mov e,l inx h mov c,a xra a cmp m ;check extra byte jnz movrgt ;non-zero move number right mvi b,8 ;search up to 8 bytes nloop: inx h cmp m jnz movleft dcr c ;adjust exponent dcr b ;count times thru jnz nloop ;zero answer zresult: xra a sta flterr_ under0: lhld flprm mvi b,10 mov m,a inx h mvi m,-64 ;so exponent will be zero after store zclr: inx h mov m,a dcr b jnz zclr pop b ret ; movleft: mvi a,8 sub b mov b,a jz chkexp ;no change in counter, no move needed dcx h ;back up to zero mov a,c stax d ;save new exponent push d ;save for rounding inx d mvi a,15 sub b ;compute # of bytes to move mov c,a ;save for loop lmovlp: mov a,m stax d inx d inx h dcr c jnz lmovlp xra a lclrlp: stax d ;pad with zeros inx d dcr b jnz lclrlp pop d ;restore accum address ; chkexp: ;check for over/under flow ldax d ;get exponent ora a jm chkunder cpi 64 jc goodexit jmp overflow ; chkunder: cpi -63 jc underflow goodexit: mvi a,0 sta flterr_ pop b ret ; movrgt: ;fraction overflow inr c ;bump exponent mov a,c stax d ;save in accum mvi b,15 push d ;save for check at end lxi h,16 dad d ;end address for backwards move mov d,h mov e,l rmovlp: dcx d ldax d mov m,a dcx h dcr b jnz rmovlp mvi m,0 ;zap overflow byte back to zero pop d ;restore exponent addr jmp chkexp ; underflow: mvi a,1 sta flterr_ call userrtn ;check for user routine to handle errors xra a lhld flprm inx h ;leave sign alone mvi m,-63 ;set to smallest non-zero value inx h mov m,a inx h mvi m,1 mvi b,8 jmp zclr ;clear rest to zero ; overflow: mvi a,2 sta flterr_ setbig: call userrtn ;check for user routine to handle errors lhld flprm inx h ;leave sign alone mvi m,63 ;set exponent at max inx h mvi m,0 ;clear overflow byte mvi a,0ffH ;and set fraction to max mvi b,7 oclr: inx h mov m,a dcr b jnz oclr inx h mvi m,0 pop b ret ; userrtn: ;handle messages lhld Sysvec_ ;any routine supplied? mov a,h ora l jz myway xchg lxi h,4 dad sp mov c,m inx h mov b,m push b lhld flterr_ push h xchg call apchl pop h pop h ;clean up arguments ret apchl: pchl ; myway: call pmsg db 'Floating point ',0 lda flterr_ cpi 1 jnz notund call pmsg db 'underflow',0 jmp mycontinue notund: cpi 2 jnz notovr call pmsg db 'overflow',0 jmp mycontinue notovr: call pmsg db 'divide by zero',0 mycontinue: call pmsg db ' at location 0x',0 lxi h,5 dad sp mov a,m push h push psw call phex2 pop psw call phex pop h dcx h mov a,m push psw call phex2 pop psw call phex lxi h,10 ;newline push h call puterr_ pop h ret ; phex2: rar rar rar rar phex: ani 15 adi '0' cpi '9'+1 jc hexok adi 'A'-'0'-10 hexok: mov l,a mvi h,0 push h call puterr_ pop h ret ; pmsg: pop b ;get address of message pmloop: ldax b inx b ora a jz pmsgdone mov l,a mvi h,0 push h call puterr_ pop h jmp pmloop pmsgdone: push b ret ; public .xtod .xtod: push b lhld flprm mvi m,0 ;clear sign inx h mvi m,3 ;set up exponent lxi d,4 dad d mov e,l mov d,h mvi b,5 xra a xtodclr: inx h mov m,a dcr b jnz xtodclr ; mvi b,4 lxi h,lnprm lda lnprm+3 ora a jp lngok ; lngloop: mvi a,0 sbb m stax d inx h dcx d dcr b jnz lngloop dcx d ;back up to sign field mvi a,080H ;mark as negative stax d jmp normalize ; lngok: mov a,m stax d inx h dcx d dcr b jnz lngok jmp normalize ; public .dtox .dtox: push b lxi h,0 shld lnprm shld lnprm+2 lxi d,lnprm ; lhld flprm mov c,m ;get sign inx h mov a,m ;get exponent ora a jz goodexit ; |x| < 1.0 so return zero jm goodexit ; cpi 5 ;check for too big jnc ltoobig ; mov b,a ;save byte count inx h ;skip overflow byte add l mov l,a jnc lxx inr h lxx: mov a,m stax d inx d dcx h dcr b jnz lxx ; mov a,c ;now check sign ora a jp goodexit mvi b,4 lxi h,lnprm d2xneg: mvi a,0 sbb m mov m,a inx h dcr b jnz d2xneg jmp goodexit ; ltoobig: xchg mov a,c ora a jm bigneg mvi m,07fH inx h mvi m,0ffH inx h mvi m,0ffH inx h mvi m,0ffH jmp oflow bigneg: mvi m,080H inx h mvi m,0 inx h mvi m,0 inx h mvi m,0 jmp oflow ; ; public .dtou .dtou: push b mvi c,0 ;flag as dtou jmp ifix ; public .dtoi .dtoi: push b mvi c,1 ;flag as dtoi ifix: lhld flprm mov b,m ;get sign inx h mov a,m ;get exponent ora a jz zeroint jp nonzero zeroint: lxi h,0 ; |x| < 1.0 so return zero jmp goodexit ; nonzero: cpi 3 ;check for too big jnc toobig ; inx h ;skip overflow byte add l mov l,a jnc xx inr h xx: mov e,m dcx h mov d,m xchg mov a,c ora a jz goodexit mov a,b ora a jp goodexit mov a,h cma mov h,a mov a,l cma mov l,a inx h jmp goodexit ; toobig: mov a,c ora a jnz bigsigned lxi h,0ffffH ;return largest unsigned # jmp oflow ; bigsigned: mov a,b ora a jm negover lxi h,7fffH ;return largest positive # jmp oflow ; negover: lxi h,8000H ;return largest negative # oflow: mvi a,2 sta flterr_ pop b ret ; public fabs_ fabs_: lhld flprm mvi m,0 ;force to positive sign ret ; public .dml10 .dml10: push b lhld flprm inx h inr m ;adjust exponent lxi d,9 dad d xra a mvi b,8 ml10lp: push b mov e,m xchg mvi h,0 dad h ;num*2 mov b,h mov c,l ;save dad h ;num*4 dad h ;num*8 dad b ;num*10 xchg add e inx h mov m,a mov a,d aci 0 dcx h dcx h pop b dcr b jnz ml10lp inx h mov m,a ;save last byte of result ora a jz normalize dcx h dcx h ;back up to exponent mov a,m ;check to be sure no overflow ora a jm m10ok cpi 64 jnc overflow m10ok: pop b ret end  r.c /* Copyright (C) 1984 by Manx Software Systems */ #include main(argc, argv) char **argv; { register int (*func)(); int (*prgload())(); if (argc < 2) { fprintf(stderr, "usage: r progname args ...\n"); exit(4); } ++argv; if ((func = prgload(*argv)) == 0) { fprintf(stderr, "Cannot load program\n"); exit(4); } (*func)(argc-1, argv); } #define OVMAGIC 0xf1 struct header { int magic; unsigned ovaddr; unsigned ovsize; unsigned ovbss; int (*ovbgn)(); }; static int (*prgload(argv0))() char *argv0; { int fd; char *topmem, *ovend, *sbrk(); unsigned size; struct header header; char name[20]; strcpy(name, argv0); strcat(name, ".ovr"); if ((fd = open(name, 0)) < 0) return 0; if (read(fd, &header, sizeof header) < 0) return 0; /* check magic number on overlay file */ if (header.magic != OVMAGIC || header.ovsize == 0) return 0; topmem = sbrk(0); ovend = header.ovaddr + header.ovsize + header.ovbss; if (topmem < ovend) { if (sbrk(ovend - topmem) == (char *)-1) return 0; } if (read(fd, header.ovaddr, header.ovsize) < header.ovsize) return 0; close(fd); return header.ovbgn; } crbegin.asm ; Copyright (C) 1983 by Manx Software Systems ; :ts=8 public .ovbgn extrn main_ extrn _Uorg_, _Uend_ bss saveret,2 .ovbgn: lxi h,_Uorg_ lxi b,_Uend_-_Uorg_ mvi e,0 clrbss: mov m,e inx h dcx b mov a,c ora b jnz clrbss ; pop h shld saveret call main_ lhld saveret ;get return addr pchl ;return to caller end .ovbgn rext.asm extrn .begin extrn execv_ extrn execl_ extrn agetc_ extrn aputc_ extrn atoi_ extrn atol_ extrn calloc_ extrn Croot_ extrn fdopen_ extrn fgets_ extrn fopen_ extrn freopen_ extrn format_ extrn fprintf_ extrn fputs_ extrn fread_ extrn fscanf_ extrn fseek_ extrn ftell_ extrn fwrite_ extrn getchar_ extrn gets_ extrn getw_ extrn ioctl_ extrn isatty_ extrn lseek_ extrn realloc_ extrn malloc_ extrn free_ extrn creat_ extrn open_ extrn close_ extrn posit_ extrn printf_ extrn fclose_ extrn putchar_ extrn puterr_ extrn puts_ extrn putw_ extrn qsort_ extrn rename_ extrn scanfmt_ extrn scanf_ extrn setbuf_ extrn sprintf_ extrn sscanf_ extrn ungetc_ extrn unlink_ extrn bios_ extrn index_ extrn movmem_ extrn rindex_ extrn sbrk_ extrn rsvstk_ extrn setjmp_ extrn setmem_ extrn strcat_ extrn strncat_ extrn strcmp_ extrn strncmp_ extrn strcpy_ extrn strlen_ extrn strncpy_ extrn swapmem_ extrn toupper_ extrn tolower_ extrn getusr_ extrn setusr_ extrn rstusr_ extrn .dv,.ud extrn .ml mrext.asm extrn .begin extrn atof_ extrn frexp_, ldexp_, modf_ extrn ftoa_ extrn asin_ extrn acos_ extrn arcsine_ extrn atan2_ extrn atan_ extrn exp_ extrn floor_ extrn ceil_ extrn log10_ extrn log_ extrn pow_ extrn ran_ extrn randl_ extrn cos_ extrn sin_ extrn sinh_ extrn cosh_ extrn sqrt_ extrn cotan_ extrn tan_ extrn tanh_ extrn execv_ extrn execl_ extrn agetc_ extrn aputc_ extrn atoi_ extrn atol_ extrn calloc_ extrn Croot_ extrn fdopen_ extrn fgets_ extrn fopen_ extrn freopen_ extrn format_ extrn fprintf_ extrn fputs_ extrn fread_ extrn fscanf_ extrn fseek_ extrn ftell_ extrn fwrite_ extrn getchar_ extrn gets_ extrn getw_ extrn ioctl_ extrn isatty_ extrn lseek_ extrn realloc_ extrn malloc_ extrn free_ extrn creat_ extrn open_ extrn close_ extrn posit_ extrn printf_ extrn fclose_ extrn putchar_ extrn puts_ extrn putw_ extrn qsort_ extrn rename_ extrn scanfmt_ extrn scanf_ extrn setbuf_ extrn sprintf_ extrn sscanf_ extrn ungetc_ extrn unlink_ extrn bios_ extrn index_ extrn movmem_ extrn rindex_ extrn sbrk_ extrn rsvstk_ extrn setjmp_ extrn setmem_ extrn strcat_ extrn strncat_ extrn strcmp_ extrn strncmp_ extrn strcpy_ extrn strlen_ extrn strncpy_ extrn swapmem_ extrn toupper_ extrn tolower_ extrn getusr_ extrn setusr_ extrn rstusr_ extrn .dv,.ud extrn .ml ovloader.c /* Copyright (C) 1983, 1984 by Manx Software Systems */ #define OVMAGIC 0xf1 struct header { int magic; unsigned ovaddr; unsigned ovsize; unsigned ovbss; int (*ovbgn)(); }; static char *ovname; #asm public ovloader ovloader: lxi h,2 dad sp mov e,m inx h mov d,m xchg shld ovname_ ; call _ovld_ pchl #endasm static _ovld() { int fd, flag; auto struct header hdr; extern char *_mbot; auto char filename[64]; flag = 0; strcpy(filename, ovname); for (;;) { strcat(filename, ".ovr"); if ((fd = open(filename, 0)) >= 0) break; if (flag++) loadabort(10); strcpy(filename, "a:"); strcat(filename, ovname); } if (read(fd, &hdr, sizeof hdr) != sizeof hdr) loadabort(20); /* check magic number on overlay file */ if (hdr.magic != OVMAGIC) loadabort(30); if (_mbot < hdr.ovaddr+hdr.ovsize+hdr.ovbss) loadabort(40); if (read(fd, hdr.ovaddr, hdr.ovsize) < hdr.ovsize) loadabort(50); close(fd); return hdr.ovbgn; } static loadabort(code) { char buffer[80]; sprintf(buffer, "Error %d loading overlay: %s$", code, ovname); bdos(9, buffer); exit(10); } ovbgn.asm ; Copyright (C) 1983, 1984 by Manx Software Systems ; :ts=8 public .ovbgn, ovexit_ extrn ovmain_ extrn _Uorg_, _Uend_ bss ovstkpt,2 bss saveret,2 bss bcsave,2 bss ixsave,2 bss iysave,2 ; .ovbgn: lxi h,_Uorg_ lxi b,_Uend_-_Uorg_ mvi e,0 clrbss: mov m,e inx h dcx b mov a,c ora b jnz clrbss ; mov h,b mov l,c shld bcsave xra a adi 3 jpe savedone db 221 shld ixsave db 253 shld iysave savedone: pop h shld saveret pop d lxi h,0 dad sp shld ovstkpt ;save stack pointer for ovexit call ovmain_ xchg ;save return value ovret: lhld saveret ;get return addr push h ;place dummy overlay name ptr on stack push h ;place return addr on stack xchg ;restore return value to hl ret ;return to caller ; ovexit_: lhld bcsave mov b,h mov c,l xra a adi 3 jpe restdone db 221 lhld ixsave db 253 lhld iysave restdone: lxi h,2 ;get return value dad sp mov e,m inx h mov d,m lhld ovstkpt ;restore original stack pointer sphl jmp ovret end .ovbgn as rext.asm ln -ro r.com r.o rext.o -lc pip r.lib=r.rsm[o],rbegin.o[o]  extrn .begin extrn execv_ extrn execl_ extrn agetc_ extrn aputc_ extrn atoi_ extrn atol_ extrn calloc_ extrn Croot_ extrn fdopen_ extrn fgets_ extrn fopen_ extrn freopen_ extrn format_ extrn fprintf_ extrn fputs_ extrn fread_ extrn fscanf_ extrn fseek_ extrn ftell_ extrn fwrite_ extrn getchar_ extrn gets_ extrn getw_ extrn ioctl_ extrn isatty_ extrn lseek_ extrn realloc_ extrn malloc_ extrn free_ extrn creat_ extrn open_ extrn close_ extrn posit_ extrn printf_ extrn fclose_ extrn putchar_ extrn puterr_ extrn puts_ extrn putw_ extrn qsort_ extrn rename_ extrn scanfmt_ extrn scanf_ extrn setbuf_ extrn sprintf_ extrn sscanf_ extrn ungetc_ extrn unlink_ extrn bios_ extrn index_ extrn movmem_ extrn rindex_ extrn sbrk_ extrn rsvstk_ extrn setjmp_ extrn setmem_ extrn strcat_ extrn strncat_ extrn strcmp_ extrn strncmp_ extrn strcpy_ extrn strlen_ extrn strncpy_ extrn swapmem_ extrn toupper_ extrn tolower_ extrn getusr_ extrn setusr_ extrn rstusr_ extrn .dv,.ud extrn .ml _ extrn scanfmt_ extrn scanf_ extrn setbuf_ extrn sprintf_ extrn sscanf_ extrn ungetc_ extrn unlink_ extrn bios_ extrn index_ extrn movmem_ extrn rindex_ extrn sbrk_ extrn rsvstk_ extrn setjmp_ extrn setmem_ extrn strcat_ extrn strncat_ extrn strcmp_ extrn strncmp_ extrn strcpy_ extrn strlen_ extrn strncpy_ extrn swapmem_ extrn touppe croot.c /* Copyright (C) 1981, 1982 by Manx Software Systems */ /* Copyright (C) 1983 by Manx Software Systems */ #define MAXARGS 30 static char *Argv[MAXARGS]; static char Argbuf[128]; static int Argc; Croot() { register char *cp; movmem((char *)0x81, Argbuf, 127); Argbuf[*(char *)0x80 & 0x7f] = 0; Argv[0] = ""; cp = Argbuf; Argc = 1; while (Argc < MAXARGS) { while (*cp == ' ' || *cp == '\t') ++cp; if (*cp == 0) break; Argv[Argc++] = cp; while (*++cp) if (*cp == ' ' || *cp == '\t') { *cp++ = 0; break; } } main(Argc,Argv); _exit(); } exit(code) { _exit(); } getchar() { register int c; if ((c = bdos(1)) == '\r') { bdos(2,'\n'); c = '\n'; } else if (c == 0x1a) c = -1; return c; } putchar(c) { if (c == '\n') bdos(2,'\r'); bdos(2,c); return c&255; } fprintf.c /* Copyright (C) 1981,1982 by Manx Software Systems */ /* Copyright (C) 1982 Thomas Fenwick */ #include "stdio.h" static FILE *Stream; fprintf(stream,fmt,args) FILE *stream; char *fmt; unsigned args; { int fpsub(); Stream = stream; return format(fpsub,fmt,&args); } static fpsub(c) { return aputc(c,Stream); } printf.c /* Copyright (C) 1981, 1982 by Manx Software Systems */ /* Copyright (C) 1983 by Manx Software Systems */ printf(fmt,args) char *fmt; unsigned args; { int putchar(); format(putchar,fmt,&args); } format(putsub, fmt, args) register int (*putsub)(); register char *fmt; unsigned *args; { register int c; char *ps; char s[8]; static char *dconv(), *hexconv(); while ( c = *fmt++ ) { if ( c == '%' ) { switch ( c = *fmt++ ) { case 'x': ps = hexconv(*args++, s+7); break; case 'u': ps = dconv(*args++, s+7); break; case 'd': if ( (int)*args < 0 ) { ps = dconv(-*args++, s+7); *--ps = '-'; } else ps = dconv(*args++, s+7); break; case 's': ps = *args++; break; case 'c': c = *args++; default: goto deflt; } while ( *ps ) (*putsub)(*ps++); } else deflt: (*putsub)(c); } } static char * dconv(n, s) register char *s; register unsigned n; { *s = 0; do { *--s = n%10 + '0'; } while ( (n /= 10) != 0 ); return s; } static char * hexconv(n, s) register char *s; register unsigned n; { *s = 0; do { *--s = "0123456789abcdef" [n&15]; } while ( (n >>= 4) != 0 ); return s; } fopen.c /* Copyright (C) 1981, 1982 by Manx Software Systems */ /* Copyright (C) 1983, 1984 by Manx Software Systems */ #include "stdio.h" #include "errno.h" #define MAXFILE 4 #define RBUFSIZ 1024 #define WBUFSIZ 1024 #define RDNSCT (RBUFSIZ/128) #define WRNSCT (WBUFSIZ/128) #define OPNFIL 15 #define CLSFIL 16 #define DELFIL 19 #define READSQ 20 #define WRITSQ 21 #define MAKFIL 22 #define SETDMA 26 #define READRN 33 #define WRITRN 34 #define FILSIZ 35 #define SETREC 36 static FILE Cbuffs[MAXFILE]; static char writbuf[WBUFSIZ]; static char readbuf[RBUFSIZ]; static char *bufeof; static FILE *curread; static FILE *writfp; FILE * fopen(name,mode) char *name,*mode; { register FILE *fp; int user; fp = Cbuffs; while ( fp->_bp ) { if ( ++fp >= Cbuffs+MAXFILE ) { errno = ENFILE; return (NULL); } } if ((user = fcbinit(name,&fp->_fcb)) == -1) { errno = EINVAL; return NULL; } if (user == 255) user = getusr(); fp->user = user; setusr(user); if (*mode == 'r') { if (bdos(OPNFIL,&fp->_fcb) == 0xff) { errno = ENOENT; rstusr(); return NULL; } fp->_bp = readbuf; curread = 0; } else { if ( writfp ) return NULL; bdos(DELFIL, &fp->_fcb); if (bdos(MAKFIL,&fp->_fcb) == 0xff) { errno = ENOENT; rstusr(); return NULL; } fp->_bp = writbuf; writfp = fp; } rstusr(); fp->_fcb.f_overfl = fp->_fcb.f_record = 0; return fp; } fclose(ptr) register FILE *ptr; { register int err; err = 0; if (ptr == writfp) { /* if writing flush buffer */ err = flush(ptr->_bp - writbuf); writfp = 0; } else if (ptr == curread) curread = 0; setusr(ptr->user); if (bdos(CLSFIL,&ptr->_fcb) == 0xff) err = -1; rstusr(); ptr->_bp = 0; return err; } agetc(ptr) register FILE *ptr; { register int c; top: if ((c = getc(ptr)) != EOF) { switch (c &= 127) { case 0x1a: --ptr->_bp; return EOF; case '\r': case 0: goto top; } } return c; } getc(ptr) register FILE *ptr; { register int j; if (ptr != curread) { readit: curread = 0; /* mark nobody as current read */ setusr(ptr->user); if ((j = RDNSCT - blkrd(&ptr->_fcb,readbuf,RDNSCT)) == 0) return -1; rstusr(); ptr->_fcb.f_record -= j; bufeof = readbuf + j*128; curread = ptr; } if (ptr->_bp >= bufeof) { ptr->_fcb.f_record += (bufeof-readbuf) >> 7; ptr->_bp = readbuf; goto readit; } return *ptr->_bp++ & 255; } aputc(c,ptr) register int c; register FILE *ptr; { c &= 127; if (c == '\n') if (putc('\r',ptr) == EOF) return EOF; return putc(c,ptr); } putc(c,ptr) int c; register FILE *ptr; { *ptr->_bp++ = c; if (ptr->_bp >= writbuf+WBUFSIZ) { if (flush(WBUFSIZ)) return EOF; ptr->_bp = writbuf; } return (c&255); } flush(len) register int len; { while (len & 127) writbuf[len++] = 0x1a; setusr(writfp->user); if (len != 0 && blkwr(&writfp->_fcb,writbuf,len>>7) != 0) { rstusr(); return EOF; } rstusr(); return 0; } ,ptr); } putc(c,ptr) int c; register FILE *ptr; { *ptr->_bp++ = c; if (ptr->_bp >= writbuf+WBUFSIZ) { if (flush(WBUFSIZ)) return EOF; ptr->_bp = writbuf; } return (c&255); } flush(len) register int len; { while (len & 127) writbuf[len++] = extrn .begin,.chl,.swt extrn zsave,zret PUBLIC main_ main_: lxi d,.2 call zsave LXI H,.1+0 PUSH H CALL printf_ POP D LXI H,-94-.2 DAD SP PUSH H CALL gets_ POP D LXI H,-94-.2 DAD SP PUSH H LXI H,.1+25 PUSH H CALL printf_ POP D POP D LXI H,0 PUSH H CALL exit_ POP D RET .2 EQU -102 .1: DB 80,108,101,97,115,101,32,101,110,116,101,114,32,121,111 DB 117,114,32,110,97,109,101,58,32,0,72,101,108,108,111 DB 32,37,115,44,32,119,101,108,99,111,109,101,32,116,111 DB 32,65,122,116,101,99,32,67,46,10,0 extrn exit_ extrn gets_ extrn printf_ END OP D LXI H,-94-.2 DAD SP PUSH H CALL gets_ POP D LXI H,-94-.2 DAD SP PUSH H LXI H,.1+25 PUSH H CALL printf_ POP D POP D LXI H,0 PUSH H CALL exit_ POP D RET .2 EQU -102 .1: DB 80,108,101,97,115,101,32,101,110,116,101,114,32,121,111 DB 117,114,32,110,97,109,101,58,32,0,72,101,108,108,111 DB 32,37,115,44,32,119,101,108,99,111,109,101,32,116,f"`s!!a0v!"Rz`9w!"Rz`9!!aYv!xPlease enter your name: Hello %s, welcome to Aztec C. .begin.chl.swtzsavezretmain_printf_gets_exit_@.Ë D!1i!9N!9!Ji! Please enter your name: Hello %s, welcome to Aztec C. e! 9! 9^#V!͇8e!9N#F!""!9^#V""!9~#fo#s#r+^""|ʖ*"%3 u!!9s!""! ""!'""!9~#fo#s#r+^""-3 (!""!9~#fo#s#r+^""*"03 R!0""!9~#fo#s#r+^""*"*3 ʊ*"##""++^#V""!9~#fo#s#r+^""!""ë!9~#fo#s#r+^""*"M"#^! *" ʹ*"""Ó*".3 }!9~#fo#s#r+^""*3 0*"##""++^#V""!9~#fo#s#r+^""}!""Q!9~#fo#s#r+^""*"M"#^! }*" ʹ*"""9!""*"l3 ʰ!9~#fo#s#r+^""!""*"h3 !9~#fo#s#r+^""*"d!""! ""!""!""*"!9*"*"͚!9""*"*"""Ã*"##""++^#V""ͼ""Ñ*"##""++^#V""*"!9""sÃ͚ cCdos'uxT!9*"͑ ""*"*"n ʤ*"""*"|ö*"#""*"+""#*"n *"`iC3 !ï!""*"#""*"~)*"*"m )*"#""+^`iC3 &!*"*"""*"|rF*"#""*"+""#*"n r! `iC3 o!?Ó*"`iC3 ʌ!*"#""å*"!" " ! 9~2 G+V+^+6" +N+V+^! w#y/w#! >^)|g,s+=Z!>~* +" w! #)* <+6-0123456789abcdefe!9^#VBK͸""B ʇ*" B ʇ*"`i#DM+s]!`is*"3 ʯ`i!9~#fo3 ʯ!!9^#Ve! e!9N#F&""B "!*" ""!`in s!͚   "*"e!9N#F! ^#V`i^#V ! ^! [!!`in s`i~# ! ^#V! ^#V! ^:""S *"|¸!û!`in s!! ^#V`is#r*"! s#r`i~#fo#s#r+^! e! ! 9^#Ve!9N#F`i 3 N! 9^#V! ]3 N!! 9^#V]e! 9N#F! ^#V`i^#V ʓ!9^#V! [ !9^#V`i~#fo#s#r+s! e! DM`i]! `i DMe!9N#F!""`i~N ! ^!  ![ ""! ^*" ""! ^! N ! ^#V !! s*"e!9N#F!"!! ^! ʂ !! ^! ! ^#V`i^#V͑ ""*"! ^#V! ^/*"B !`in& s!`is#r! s#r!! 9^#V!3 , !`in& s!`is#r! s#r!`i~#=  ! ^#V!3 v !! 9! ^/B ! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in& s! 9^#V`i~#fo#s#r+s! e! DM`i~ `i DM]! ! !`is#r! s#r! s#r`ie!9N#F! ^:Q !! s#r`i! s#r!g""|7 !! s#r!`in s*"! s#r!"bs# y“ *"0&*e!"4& g!ï e!!<#!!:o& <#s! "#!<#DM!"#*#m ʎ `i^! 3 ( `i^! 3 0 `i#DM `i~ʎ `i^!>3 N !"#b `i^!<3 ? !"#`i#DM^! 3  `i^! 3 ʄ b `i"#`i#DM~ `i^! 3 ¯ `i^! 3 ʾ !`i#DM+s É *#*#| !*#q"# !*#͒"#*#3 < ! !c*#!! !!! ! Ë `i*##"#+)#s#r`i#DM~ʋ `i^! 3 y `i^! 3 ʈ !`i#DM+sË S !#*#! Can't open file for redirection: $e*!C!DM`i m `i#DM+ !9~#! !ͯͯ A:$$$.SUBe!"2&!e!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:e! 9^#V!! 9^#V͒e!!"#!"#ø*#"#*##"#*# m *#^#V!%3 ç!"2&!!!DM`iDM`i~#!9^#V`i^#V+! ^#V"#! 9^#V! #"#*# W*#^*#s{W!"2&!*# ~*##^*##s{~!"2&!! ^#V*#s#r*###^*###s*####^*####s!5*#s#r*#!9^#V!9^#V!9^#V*#^#VC! 9!m !%*#s#r!*#e!9^#V!m 5!9^#V! n ?!"2&!!9^#V)))!DM! ^#V! ^#VC!9s#r!! s! s! s`is!%! s#r!9^#Ve!#DMì`i'DM`i% `i%~ä!"2&!! 9^#V"%3 !"2&!*%3 "%*%! 9^#V! (!!3 n! 9^#V! ^!3 k!"2&!Ñ! 9^#V! 3 ʑ!"2&!!!! s#r!# s!$ s*%!& s`i!9^#V!s#r! 9^#V! #!% s!!9^#V!s#r! 9^#V! !e!9N#F͔!& ^!!!% s!e!9^#V)))!DM! 9^#V! 9^#V! ^#V`i^);"^#VCe!DM!9^#V"%*%&^*%$~*%$^!͑ DM! 9~#fo ! 9^#VBK! 9^#V*%ͥ!! 9^#V`i͑ "%|N*%! 9^#V`i*%T"%|N*%*%͑ PY*%PYDM`i! 9~#fo ʙ! 9^#V`i͑ ! 9^#V`i*%ͥʙ`i! 9^#Ve!9N#F͡ʾ!! 9^#V! 9^#V!$ ^!!$ ^! 9~#fo !$ s{`i!~#fo#s#r!e: %†!}2 %!}2 %}2 %! %! ! !: %o&3 i!}2 %!:C"o: %o#}2 %& %#s!" &: %o&DM! 9~#fon ʦ! 9^#VBK! 9^#V* & %`i* &" &`i: %o͑ }2 %`ie! 9N#F!"&*&#"&*&! 9~#fom +!9^#V`i#DM+s!3 +*&e!9^#V)))!DM! 9^#V! 9^#V! ^#V! ^)D"^#VCe!DM!9^#V"&*&&^*&$~*&$^!͑ DM! 9~#fo ! 9^#VBK! 9^#V*&ͩ!! 9^#V`i͑ "&|R*&! 9^#V`i*&\"&|R*&*&͑ PYDM|O!`i*&PYDM`i! 9~#fo ʝ! 9^#V`i͑ ! 9^#V`i*&ͩʝ`i! 9^#Ve!9N#F͡m !! 9^#V!$ ^!!9^#V!""2&|!!$ ^! 9~#fo !$ s{3`i!~#fo#s#r!e! 9N#F! 9^#V"&*&+"&#|ʍ`i^! 3 w! !`i#DM+^!O! 9^#Ve! 9N#F! 9^#V"&*&+"&#|`i#DM+^! 9^#Vî! 9^#Ve!9N#F!#`i!~#!!$ s!`i!~#fo+s#r͡+!!"&*& ^*&+"&^!B [*&#"&^1*&!$ s!3 ʐ`i!~#fo#s#r!!$ s!e!"&e!9N#F!!*&PYB !! ^#V*&B 6!!"2&3 *2&3 !"2&!!!!"&!*2&|&!`i"&!! ^#V"&!e!9^#V)))!^̓!a̓"*"!""*"š*"!4Œ#4*"+""}bʪʪo&"2&*"e!9!29^#VDM!9!DM`i3 !"2&!!e!9N#F! ^#V+))"(& ! 9^#Vg"&&|c*&&PYB c! 9^#V*(& O*(&W! 9^#V*&&*&&e!9^#V####",&*$&"*&|š! &"*&""&"$&**&##^#VBKõ`i"*&! ^#VBK! ^#V`iB 4! ^#V`i^#V))PY3 4! ^#V*$&3 ! ^#V##^#V"$&! ^#V^#V`i~#fos#r! ^#V##^#V! s#rõ`i^#V*,& `i^#V*,&3 d! ^#V**&##s#ré*,&))PY"$&*$&**&##s#r! ^#V*$&##s#r`i^#V*,&͑ *$&s#r*,&`is#r**&"$&!! s#r`i`i*$&3 !ͽDM3 !!`is#r!! s#r`i *$&DMçe!9^#V!".&*.&##~#/!*$&DM@! ^#VBK`i*.& _! ^#V*.& ʓ! ^#V`i ʐ*.&PY “! ^#V*.& “7! ^#V*.&##s#r*.&! s#r`i"$&!̓̓*"DM*"og!9N#F#^#Vkb6#> 6 #=>6#=yʘ   ͱ%0_zW//2 : >] Aژ[N@Zaژ{Ҙ`w# .xʑ`͟w#a{o|g ʑ͟w#‚&jz!|*¨ >?a{ 0:һ7!9^#V*e!*0&}|*e!"e!|!=!9}_|#W"0&̓ o&̓ 2L":" _̓ :L"_!9?!9F+N+V+^+~+ngx]]]# Hog!9V+^+~+ngw{#p|!9Ó!9F+N+V+^+~+ng対ʥ#Ýxʶwʶ# åw|!9~#fo#}!9^#V#N#F#nxs# ! 9F+N+V+^+~+ng-}-A !++w x!ɯ7~# x7DM!99`iC|DM!99!]`i~# xx!9"~#™!|DM!>)) =¼}{_||7g}o{_)}{_|g}o|g}o|/g}/o|g}o|g}o|L = }= |L !}L |= !}|e }|?>o&zo&| }|>o&|o&}/o|/g#}}o|gBK^#Vz #yʴ ###â #x¯ #~#fo}|>?o&}|>o&6&???????????555%%%%%%%%5555?!D!I!N!S!X!]!b!g!l!!% %v 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@ .XLIST .COMMENT | INITIAL WRITING 12/10/84 SLR PURPOSE: TO SUPPORT INTEL MNEMONICS (SOME ZILOG MNEMONICS WILL NO LONGER WORK) MACROS COMPRESSED TO REQUIRE MINIMUM STORAGE IN MACRO TABLE (I TESTED THESE ON A SIMPLE TEST FILE I KEYED IN. I DON'T HAVE ANY INTEL MNEMONIC STUFF AROUND HERE FOR A REAL GOOD TEST, SO UNTIL I START GETTING FEEDBACK, BE CAREFUL!) IF YOU ARE REALLY SERIOUS ABOUT THIS, LET ME KNOW. THE Z80.LIB FILE CAN BE MODIFIED TO WORK ALSO. TO ALLOW FOR BIGGER EXPRESSIONS, REPLACE 'G J K N' WITH 'G J K N O Q S T' HAVE FUN! STEVE ********************** W A R N I N G ******************************** THESE MACROS DO NOT HANDLE OPERANDS CONTAINING THE '$' PC COUNTER IF YOU HAVE CODE THAT USES THE $ LOCATION IN A JUMP ADDRESS CALCULATION, YOU NEED TO INSERT THE FOLLOWING CODE IN EACH JUMP MACRO: 1. BEFORE THE DW PUT A .PHASE $-1 2. AFTER THE DW PUT A .DEPHASE THAT IS TO MAKE UP FOR THE FACT THAT THE $ COUNTER WILL BE POINTING TO THE DW RATHER THAN THE PRECEDING DB. ONCE THESE MACROS ARE MODIFIED YOU CAN NO LONGER USE THE .PHASE AND .DEPHASE PSEUDO-OPS IN YOUR CODE... | MOV MACRO X,Y IFIDN , LD X,(HL) EXITM ENDIF IFIDN , LD (HL),Y EXITM ENDIF IFIDN , LD X,(HL) EXITM ENDIF IFIDN , LD (HL),Y EXITM ENDIF LD X,Y ENDM HLT MACRO HALT ENDM MVI MACRO R,G J K N IFDIF , IFDIF , LD R,G J K N EXITM ENDIF ELSE LD (HL),G J K N ENDM INR MACRO R IFDIF , IFDIF , INC R EXITM ENDIF ELSE INC (HL) ENDM DCR MACRO R IFDIF , IFDIF , DEC R EXITM ENDIF ELSE DEC (HL) ENDM ADD MACRO R .? 80H,R ENDM .? MACRO R,Y . DEFL 0 IRPC X, IFIDN , DB R+. EXITM ELSE . DEFL .+1 ENDM . DEFL 0 IRPC X, IFIDN , DB R+. EXITM ELSE . DEFL .+1 ENDM ENDM ADC MACRO R .? 88H,R ENDM SUB MACRO R .? 90H,R ENDM SBB MACRO R .? 98H,R ENDM ANA MACRO R .? 0A0H,R ENDM XRA MACRO R .? 0A8H,R ENDM ORA MACRO R .? 0B0H,R ENDM CMP MACRO R .? 0B8H,R ENDM ADI MACRO G J K N DB 0C6H,G J K N ENDM ACI MACRO G J K N DB 0CEH,G J K N ENDM SUI MACRO G J K N DB 0D6H,G J K N ENDM SBI MACRO G J K N DB 0DEH,G J K N ENDM ANI MACRO G J K N DB 0E6H,G J K N ENDM XRI MACRO G J K N DB 0EEH,G J K N ENDM ORI MACRO G J K N DB 0F6H,G J K N ENDM CPI MACRO G J K N DB 0FEH,G J K N ENDM RLC MACRO RLCA ENDM RRC MACRO RRCA ENDM RAL MACRO RLA ENDM RAR MACRO RRA ENDM JMP MACRO G J K N DB 0C3H DW G J K N ENDM JC MACRO G J K N DB 0DAH DW G J K N ENDM JNC MACRO G J K N DB 0D2H DW G J K N ENDM JZ MACRO G J K N DB 0CAH DW G J K N ENDM JNZ MACRO G J K N DB 0C2H DW G J K N ENDM JP MACRO G J K N DB 0F2H DW G J K N ENDM JM MACRO G J K N DB 0FAH DW G J K N ENDM JPE MACRO G J K N DB 0EAH DW G J K N ENDM JPO MACRO G J K N DB 0E2H DW G J K N ENDM CC MACRO G J K N CALL C,G J K N ENDM CNC MACRO G J K N CALL NC,G J K N ENDM CZ MACRO G J K N CALL Z,G J K N ENDM CNZ MACRO G J K N CALL NZ,G J K N ENDM CP MACRO G J K N CALL P,G J K N ENDM CM MACRO G J K N CALL M,G J K N ENDM CPE MACRO G J K N CALL V,G J K N ENDM CPO MACRO G J K N CALL PO,G J K N ENDM RC MACRO RET C ENDM RNC MACRO RET NC ENDM RZ MACRO RET Z ENDM RNZ MACRO RET NZ ENDM RP MACRO RET P ENDM RM MACRO RET M ENDM RPE MACRO RET V ENDM RPO MACRO RET PO ENDM RST MACRO G J K N DB 0C7H+(G J K N)*8 ENDM IN MACRO G J K N DB 0DBH,G J K N ENDM OUT MACRO G J K N DB 0D3H,G J K N ENDM LXI MACRO R,G J K N .. 1,R DW G J K N ENDM PUSH MACRO R .. C5,R ENDM POP MACRO R .. C1,R ENDM STA MACRO G J K N DB 32H DW G J K N ENDM LDA MACRO G J K N DB 3AH DW G J K N ENDM XCHG MACRO DB 0EBH ENDM XTHL MACRO DB 0E3H ENDM SPHL MACRO DB 0F9H ENDM PCHL MACRO DB 0E9H ENDM DAD MACRO R .. 9,R ENDM STAX MACRO R IFIDN , DB 18 EXITM ELSE IFIDN , DB 2 EXITM ELSE IFIDN , DB 18 EXITM ELSE IFIDN , DB 2 ENDM LDAX MACRO R IFIDN , DB 26 EXITM ELSE IFIDN , DB 10 EXITM ELSE IFIDN , DB 26 EXITM ELSE IFIDN , DB 10 ENDM INX MACRO R .. 3,R ENDM DCX MACRO R .. B,R ENDM CMA MACRO CPL ENDM STC MACRO SCF ENDM CMC MACRO CCF ENDM SHLD MACRO G J K N DB 34 DW G J K N ENDM LHLD MACRO G J K N DB 42 DW G J K N ENDM .. MACRO X,Y . DEFL 0 IRP Q, IFIDN , EXITM ELSE . DEFL .+1 IF . EQ 4 . DEFL 3 IFIDN , . DEFL 0 ENDM DB 0&X&H+(. SHL 4) ENDM .LIST 1|D \2h<(?2|\ 0*0R -!"!"g 02|\\eD D Use Legitimate Z80ASM file name$Not Z80ASM Release 1.30$Q\hxERehr<mAo6Zu Use TAB as separator between Symbols in .SYM$Page Width$Page Length$SPECIAL OPTIONS$List more than 4 bytes of object code$List lines encountered during a false conditional$Form Feed at start of listing$Macro Listing Option - 1=.LALL, 2=.XALL, 4=.SALL$Suppress Source lines containing PAGE, TITLE, etc.$Disable Interrupts$Force Form Feed before Summary$Form Feed at End of Listing$Time & Date in Listing$This item is significant only if T&D is selected, and you are supplying your own TIME and DATE values What are you supplying, (N = address of values, Y= address of routine$Enter HEX address of time value/routine$Time & Date in ASCII$Take advantage of multi-sector I/O$Print 16-bit values in logical direction$Use Statement #'s instead of Line # in file$Print Line/Stmt # first on listing line$Generate 6 Significant in M-Rel instead of 7$Number of errors on which to abort$Number of lines per console page (0=no paging)$Number of bytes (1-60) per line of HEX output$Close and ReOpen File in 2-pass mode$Require : if label not in column one$Conditionals test only bit 0 (DRI Compatibility)$Suppress IF parameter errors in 1-pass mode$Ignore leading Space & Tab chars in IF <> types$Fill unused space with 0 (N) or FF (Y) in COM$Generate Empty External Chains (M-REL)$ASEG Default to 0H instead of 100H$ORG Yields Offset in Current Space$Allow Tabs in Strings$Mask Off High Bit (bit 7)$Extension for source file$Extension for relocatable file$Extension for absolute binary file$Extension for non-standard (non-100H) absolute binary file$Extension for Intel-Hex format file$Extension for listing file$Extension for temporary file$Extension for /I file$Default Ext for MACLIB file$Leader String to send to printer (up to 8 HEX bytes, FF terminated) $Trailer string to printer (up to 8 HEX bytes, FF terminated) $ ($) - $ There is a byte which defines several options. Bit 0 selects the second-pass listing Bit 1 selects the first-pass listing Bit 2 selects the symbol table output Bit 3 selects cross-reference generation Bit 4 selects automatic external declaration Bit 5 selects Upper/Lower case distinction Bit 6 & 7 define binary output type Bit 7=0 6=0 selects .COM type Bit 7=0 6=1 selects .HEX type Bit 7=1 6=0 selects .REL SLR format Bit 7=1 6=1 selects .REL MSFT format The current settings are: 76543210 $ Bit # to be flipped :$*~#^#V#"D I D I =ʎ = = =(M*~( #zD *"L D (| *w#" wD *"*^#~ { L D 5(| *s#r#"*##"*T]###~6 L D w (#[S*###"*n&N >$D L D ( #͚ 8 }*w*#"*+++"Q D *00O D + 808& D G>(*w*#"wD *~Y NL D + 8Y(N  *qwD *#"& D  $a8{0  0͌ (͌ (͌ (͌ (}0ɯ<8R=0!x)DM)) G0 0 o8$7! "!+ (w#>wD !w_0:8_[O[8( Oy![([8 ())))owD + 0 8 87? $,$Z80ASM Configuration Utility (c) 1983 SLR Systems $\<  !e~C #~O #~M !" >2\>2!" !6 #6 #[z{6 # "[6 #6 #6$ *~# 8 >._"!5O!5:.0:8w#0:8w#Can't Open File$DUMP COM@$:8:9b$:9ȯ29XDIR DIR29<2929*9#b$FNAMES DIR#b$r>29G29* 9#:9?):99ʐ$o& ^#V*9I s#r29* 9##{$:8ʷ$:9ʷ$*9 29r͎ "$'L%G *w8++$ $$Ͱ $ ͎ , %; % % "w8L%yL% G /% ȸ'% F%Ͱ ,ʽ$ý$:9&y,ʽ$͇xĽr͎ "~%'ćO G ʔ%x% A4DFkGHINP!9"1!~#o|g6!~#: *(y2x2 >2:2:2:O:2:22222!]>? F(!Uy#/ +(DM\͓³& Error -- Invalid Directory or Disk/User Specified%U~/½#: x2X:3(y?O:2 :: 2~#y /ʾGʾ,OG~NfSZA¾: f:?2# : f@MM>2~2LʆPʆSʆþ# :/2 :/2 >2 >2 >2 >2 22_& Invalid Option --> +&& XDIR III command lines are: XDIR dir:filename.typ ooo... or XDIR /oooo... where: dir: is optional and indicates selected directory (DIR or DU form) filename.typ is an ambiguous file name and type (also optional) o are option letters as follows: Aa - Set the file attributes a=S for System, a=N for Non-System a=A for All Files (System and Non-System) D - Send Output to Disk File XDIR.DIR Ff - Enable a File Buffer Function f=L for Log Names to FNAMES.DIR f=P to Print Names stored in FNAMES.DIR f=S to Scan Disk and Compare to FNAMES.DIR G - Toggle Grouping (name/type or type/name) H - Toggle Horizontal or Vertical format I - Inspect Logged Files (for FL Option Only) N - Negate selection P - Send display to printer Options may be combined as desired:Ċ* Not Enough Room in TPA -- Aborting%XDIR III, Version 1.2: „2: Ÿ:ʟ:LŸ>P2:ʸ2:P¸_C :& XDIR III Print -- Please Input Header: p%y&&<'(͓4*"* 4`i"$: _:3(:9 Hr:\͗:J:""`i"&"(!",:2:2:, :2:2:2:222_ :¸ Vertical Horizontal Listing by File : Name and Type Type and Name Disk: : O:" =OyA User: : F AllV :6 , File Attributes: :ʅ  Non-System@ʖ  System*(|¸  No files selected%: ]  Filename.Typ Size K RS Filename.Typ Size K RS Filename.Typ Size K RS -------- --- ------ -- -------- --- ------ -- -------- --- ------ --  U Filename.Typ Size K RS U Filename.Typ Size K RS U Filename.Typ Size K RS - -------- --- ------ -- - -------- --- ------ -- - -------- --- ------ --:2:2*(-| }- T]}o|g"(DM*"".:S # E "0 O "2*.2".:  *02"0 *22"2U ""*(| & Screen Break -- Type any character to continue ͣ'%x *& Files Occupying *,K, *$ Files on Disk and **K Free%_::L S Printout of Recorded File Names --  o g File Names Recorded $|ʿ +  yé  %l  Cannot Open FNAMES.DIR for Output -- Aborting%:  Logging File Names to Disk -- *& File Names to be Logged to Disk *&|t$Ò No Files to be Logged} ¨| ¨*"z~ ¨6 > #>.>  y æ! %~ ¨#*&z Inspection of Files for Logging to Disk*"zʔ< ͐( Log  to Disk (Y/N/=Y)? ͣ';(Nʌ~wC*&DM*"J`i"&"( Error in Writing to Disk -- Aborting% File Name Scanner Files Named in FNAMES.DIR missing from Disk --  O G*&*"22xʛ xʛzʬͤʍچ:k>2$ xI :<2I~wÑ  Iz~w Û x:<2 ì: No Files Missing2 Additional Files on Disk NOT in FNAMES.DIR -- *&*"2zh~a~w:H>2$< ͐(:<2 ):‰ No Additional Files File Scan Complete%< #~O¯~O!<~6 7> #ͽ>.ͽ> !<  w# Horizontal Listing by File Name and Type U Filename.Typ U Filename.Typ U Filename.Typ U Filename.Typ - -------- --- - -------- --- - -------- --- - -------- ---  Premature EOF -- Aborting%l  FNAMES.DIR Not Found -- Aborting%;"4: f~6 !7~#~> #ͽ>.ͽ*4> h*,",> R#S> : ¸>  ~# >?½~x> 6ͥ!6~#~#Gʹ':x':x~ {49(:2!!zM CDM:!~ #Uo ͐(NAMES DIRI7‡7ͭ77_`i"">22$«~:p#òE*~:#p. >?:~.#<p<*.>?0#p#4> <"ìo)%* ͕o͚!*@TxnͲ!Ͳ**@ʖ‡ ~2#~2*p#â~;(AAL2#~:?2#~: G~#:0L LOxGxL2:O:G>ɯ"## *IO~;(>p>#$* >p>*ͦ!nAw# ͦ!nw#a~;(!ړ=_.:;,<>ɾ3(2 3(2:_3(:_ 3(Y 3(X3(>2""2"$**:K*~#fo:կͿ2 2  Ϳ2 2 *xIͿ<‹~ʑ:~Z: <=2 _Ϳ#~G:xw: 2 _ Ϳ#ͿÒ: _: ʣ3(: _: ʳ 3(: G: O3(3(<=` *o|g~O#~G> 2;͓͙:;͗J>???????????3XDIR3 REL-jkl-XDIR3 PRN2;͓ :;͗J>"=*9*=ͳͳ"?>*z |##~25#~26#~2C#^#V#"7#^#V#"9%*.;^#"9#~25#~26#^#"72C*7BW+}Sz=9i`:5c)=^ ^###~))))!6o&:6/oկ2"?!"Dµ>*DDMɯ`o&~*D#"D*?"?*| >~#>?2"?"A!"DS@`o&~͓*D#"D*?"?*|  *D|DM*A r  x¢>2<x"?`i"s*=s#r#! x*s"u*u|g}oe"u"m*m#"m*s}|*m"o*u*o}o|g"o|*u"q*o*q2*sDM*="i*?"k*i*k‰ʲ y~& DIRALPHA -- Pointer Error*i~#~*kF*i^#V*k"k*i^#V!F*i##"i yv*=DM+) +) Nq#Nq*=DM+) +) N#F^#V`i:<c r#r # r~O#r~?ʐO#‚2;"?x #͂ ͂~w â ~:;@:; :;G~>xF ~/W~w??~w!"D"?xʌ ~ʅ~w*D#"D*?"?Y Y*DDM"2ó">2'd }0 * jm}o|g }o|gy:> 2y0*w#"2=(>2=d> >0iH @y]:=]> iɯ2=y0iw#͐Ñ#͐#͐/$͐Ç$͐$͐$1#;*+++";*;:;2 ;*;WD:@ ʊA2;2 ;2;2;2;2;2;<2;2 ;ZAů2;B;B; A>2;!;B> 2;2;2;y,2;B:;2;B;:; B;B;:;2 ; 2 ;*B:;@2;!7;By=7B 7B;RB 7!X;B:;!;ܱB!7;:;ʂB@;;> =xBܱB: ;—B: ;—B: ;2 ;mEE$E*;##:;2 ;G; ~Bi' Ñ#' #' /$' Ç$' $' $!1#BDOx=y?C[A@2;6Dx ,C ;ʈCD3CTXCDT7DY7CLrCDS7DT7>CR7DD7R7>C> ڙC6 #=Cy.2;6D;xڱCʾCDòCy/yDLC2 ;'DUMP - Recreated by Z80DIS' Z80ASM 1.30 Page 1 DUMP Z80 2 3 0100 ORG 0100H 4 5 0005 CPM EQU 0005H 6 005C DFCB EQU 005CH 7 0065 FCBEXT EQU 0065H 8 9 0100 DUMP 10 0100 11 005C LD DE,DFCB 11 0103 0E 0F LD C,0FH ;SI 12 0105 CD 0005 CALL CPM ;OPENFIL 13 0108 3C INC A 14 0109 20 09 JR NZ,FILEOK 15 010B 11 01E6 LD DE,CANTOPE 16 010E 0E 09 LD C,09H ;HT 17 0110 CD 0005 CALL CPM ;PRNTSTG 18 0113 C9 RET 19 0114 FILEOK 20 0114 21 0065 LD HL,FCBEXT 21 0117 7E LD A,(HL) 22 0118 FE 43 CP 43H ;'C' 23 011A 20 12 JR NZ,NEXTPAGE 24 011C 23 INC HL 25 011D 7E LD A,(HL) 26 011E FE 4F CP 4FH ;'O' 27 0120 20 0C JR NZ,NEXTPAGE 28 0122 23 INC HL 29 0123 7E LD A,(HL) 30 0124 FE 4D CP 4DH ;'M' 31 0126 20 06 JR NZ,NEXTPAGE 32 0128 21 0100 LD HL,DUMP 33 012B 22 01F7 LD (ADDR),HL 34 012E NEXTPAGE 35 012E 1E 0C LD E,0CH ;FF 36 0130 0E 02 LD C,02H ;STX 37 0132 CD 0005 CALL CPM ;CONOUT 38 0135 3E 08 LD A,08H ;BS 39 0137 32 01FB LD (PAGECNT),A 40 013A NEXTSECT 41 013A 11 005C LD DE,DFCB 42 013D 0E 14 LD C,14H ;DC4 43 013F CD 0005 CALL CPM ;READSEQ 44 0142 B7 OR A 45 0143 C0 RET NZ 46 0144 3E 08 LD A,08H ;BS 47 0146 32 01F6 LD (LINECNT),A 48 0149 21 0080 LD HL,0080H 49 014C 22 01F9 LD (ADDR1),HL 50 014F NXTLINE 51 014F 0E 0B LD C,0BH ;VT 52 0151 CD 0005 CALL CPM ;CONSTAT 53 0154 B7 OR A 54 0155 C0 RET NZ 55 0156 21 01FC LD HL,OUTBUF 56 0159 36 0D LD (HL),0DH ;CR 57 015B 23 INC HL 58 015C 36 0A LD (HL),0AH ;LF 59 015E 23 INC HL 'DUMP - Recreated by Z80DIS' Z80ASM 1.30 Page 2 DUMP Z80 60 015F ED 5B 01F7 LD DE,(ADDR) 61 0163 7A LD A,D 62 0164 CD 01C7 CALL HEXOUT 63 0167 7B LD A,E 64 0168 CD 01C7 CALL HEXOUT 65 016B 36 20 LD (HL),20H ;' ' 66 016D 23 INC HL 67 016E EB EX DE,HL 68 016F 01 0010 LD BC,0010H 69 0172 09 ADD HL,BC 70 0173 22 01F7 LD (ADDR),HL 71 0176 EB EX DE,HL 72 0177 ED 5B 01F9 LD DE,(ADDR1) 73 017B 06 10 LD B,10H ;DLE 74 017D NXTBYTE 75 017D 1A LD A,(DE) 76 017E 13 INC DE 77 017F CD 01C7 CALL HEXOUT 78 0182 36 20 LD (HL),20H ;' ' 79 0184 23 INC HL 80 0185 10 F6 DJNZ NXTBYTE 81 0187 36 20 LD (HL),20H ;' ' 82 0189 23 INC HL 83 018A 36 24 LD (HL),24H ;'$' 84 018C 11 01FC LD DE,OUTBUF 85 018F 0E 09 LD C,09H ;HT 86 0191 CD 0005 CALL CPM ;PRNTSTG 87 0194 2A 01F9 LD HL,(ADDR1) 88 0197 06 10 LD B,10H ;DLE 89 0199 NXTASCI 90 0199 7E LD A,(HL) 91 019A 23 INC HL 92 019B E6 7F AND 7FH ;DEL 93 019D FE 20 CP 20H ;' ' 94 019F 38 04 JR C,CTRL 95 01A1 FE 7F CP 7FH ;DEL 96 01A3 20 02 JR NZ,NOTCTRL 97 01A5 CTRL 98 01A5 3E 2E LD A,2EH ;'.' 99 01A7 NOTCTRL 100 01A7 5F LD E,A 101 01A8 0E 02 LD C,02H ;STX 102 01AA C5 PUSH BC 103 01AB E5 PUSH HL 104 01AC CD 0005 CALL CPM ;CONOUT 105 01AF E1 POP HL 106 01B0 C1 POP BC 107 01B1 10 E6 DJNZ NXTASCI 108 01B3 22 01F9 LD (ADDR1),HL 109 01B6 21 01F6 LD HL,LINECNT 110 01B9 35 DEC (HL) 111 01BA C2 014F JP NZ,NXTLINE 112 01BD 21 01FB LD HL,PAGECNT 113 01C0 35 DEC (HL) 114 01C1 C2 013A JP NZ,NEXTSECT 115 01C4 C3 012E JP NEXTPAGE 116 01C7 HEXOUT 117 01C7 F5 PUSH AF 'DUMP - Recreated by Z80DIS' Z80ASM 1.30 Page 3 DUMP Z80 118 01C8 1F RRA 119 01C9 1F RRA 120 01CA 1F RRA 121 01CB 1F RRA 122 01CC E6 0F AND 0FH ;SI 123 01CE C6 30 ADD A,30H ;'0' 124 01D0 FE 3A CP 3AH ;':' 125 01D2 38 02 JR C,HEX1 126 01D4 C6 07 ADD A,07H ;BEL 127 01D6 HEX1 128 01D6 77 LD (HL),A 129 01D7 23 INC HL 130 01D8 F1 POP AF 131 01D9 E6 0F AND 0FH ;SI 132 01DB C6 30 ADD A,30H ;'0' 133 01DD FE 3A CP 3AH ;':' 134 01DF 38 02 JR C,HEX2 135 01E1 C6 07 ADD A,07H ;BEL 136 01E3 HEX2 137 01E3 77 LD (HL),A 138 01E4 23 INC HL 139 01E5 C9 RET 140 01E6 CANTOPE 141 01E6 43 61 6E 27 DEFB 43H,61H,6EH,27H,74H,20H ; Can't 142 01EC 4F 70 65 6E DEFB 4FH,70H,65H,6EH,20H,46H ; Open F 143 01F2 69 6C 65 24 DEFB 69H,6CH,65H,24H ; ile$ 144 01F6 LINECNT 145 01F6 0001 DEFS 0001H 146 01F7 ADDR 147 01F7 0002 DEFS 0002H 148 01F9 ADDR1 149 01F9 0002 DEFS 0002H 150 01FB PAGECNT 151 01FB 0001 DEFS 0001H 152 01FC OUTBUF 153 01FC 0004 DEFS 0004H 154 END 0 Error(s) Detected. 256 Absolute Bytes. 21 Symbols Detected.  130 01D8 143 01F2 69 6C 65 24 DEFB 69H,6CH,65H,24H ; ile$ 144 01F6 LINECNT 145 01F6 0001 DEFS 0001H DUMP\<  !e~C #~O #~M !" >2\>2!" !6 #6 #[z{6 # "[u6 #6 #6$ *~# 8 >._"!5O!5:.0:8w#0:8w#Can't Open File$%st 100 %en 2ff %ls %ax %db 01e6-01f5 cpm 0005 dfcb 005C fcbext 0065 dump 0100 fileok 0114 nextpage 012e nextsect 013a nxtline 014f nxtbyte 017d nxtasci 0199 ctrl 01a5 notctrl 01a7 hexout 01c7 hex1 01d6 hex2 01e3 cantope 01e6 linecnt 01f6 addr 01f7 addr1 01f9 pagecnt 01fb outbuf 01fc DUMP SYM TITLE 'DUMP - Recreated by Z80DIS' ORG 0100H CPM EQU 0005H DFCB EQU 005CH FCBEXT EQU 0065H DUMP LD DE,DFCB LD C,0FH ;SI CALL CPM ;OPENFIL INC A JR NZ,FILEOK LD DE,CANTOPE LD C,09H ;HT CALL CPM ;PRNTSTG RET FILEOK LD HL,FCBEXT LD A,(HL) CP 43H ;'C' JR NZ,NEXTPAGE INC HL LD A,(HL) CP 4FH ;'O' JR NZ,NEXTPAGE INC HL LD A,(HL) CP 4DH ;'M' JR NZ,NEXTPAGE LD HL,DUMP LD (ADDR),HL NEXTPAGE LD E,0CH ;FF LD C,02H ;STX CALL CPM ;CONOUT LD A,08H ;BS LD (PAGECNT),A NEXTSECT LD DE,DFCB LD C,14H ;DC4 CALL CPM ;READSEQ OR A RET NZ LD A,08H ;BS LD (LINECNT),A LD HL,0080H LD (ADDR1),HL NXTLINE LD C,0BH ;VT CALL CPM ;CONSTAT OR A RET NZ LD HL,OUTBUF LD (HL),0DH ;CR INC HL LD (HL),0AH ;LF INC HL LD DE,(ADDR) LD A,D CALL HEXOUT LD A,E CALL HEXOUT LD (HL),20H ;' ' INC HL EX DE,HL LD BC,0010H ADD HL,BC LD (ADDR),HL EX DE,HL LD DE,(ADDR1) LD B,10H ;DLE NXTBYTE LD A,(DE) INC DE CALL HEXOUT LD (HL),20H ;' ' INC HL DJNZ NXTBYTE LD (HL),20H ;' ' INC HL LD (HL),24H ;'$' LD DE,OUTBUF LD C,09H ;HT CALL CPM ;PRNTSTG LD HL,(ADDR1) LD B,10H ;DLE NXTASCI LD A,(HL) INC HL AND 7FH ;DEL CP 20H ;' ' JR C,CTRL CP 7FH ;DEL JR NZ,NOTCTRL CTRL LD A,2EH ;'.' NOTCTRL LD E,A LD C,02H ;STX PUSH BC PUSH HL CALL CPM ;CONOUT POP HL POP BC DJNZ NXTASCI LD (ADDR1),HL LD HL,LINECNT DEC (HL) JP NZ,NXTLINE LD HL,PAGECNT DEC (HL) JP NZ,NEXTSECT JP NEXTPAGE HEXOUT PUSH AF RRA RRA RRA RRA AND 0FH ;SI ADD A,30H ;'0' CP 3AH ;':' JR C,HEX1 ADD A,07H ;BEL HEX1 LD (HL),A INC HL POP AF AND 0FH ;SI ADD A,30H ;'0' CP 3AH ;':' JR C,HEX2 ADD A,07H ;BEL HEX2 LD (HL),A INC HL RET CANTOPE DEFB 43H,61H,6EH,27H,74H,20H ; Can't DEFB 4FH,70H,65H,6EH,20H,46H ; Open F DEFB 69H,6CH,65H,24H ; ile$ LINECNT DEFS 0001H ADDR DEFS 0002H ADDR1 DEFS 0002H PAGECNT DEFS 0001H OUTBUF DEFS 0004H END EX1 ADD A,07H ;BEL HEX1 LD (HL),A INC HL POP AF AND 0FH ;SI ADD A,30H ;'0' CP 3AH ;':' JR C,HEX2 ADD A,07H ;BEL HEX2 LD (HL),A INC HL RET CANTOPE DEFB 43H,61H,6EH,27H,74H,20H ; Can't DEFB 4FH,70H,65H,6EH,20H,46H ; Open F DEFB 69H,6CH,65H,24H ; ile$ LINECNT DEFS 0001H ADDR DEFS 0002H ADDR1 DEFS 0002H PAGECNT DEFS 0001H OUTBUF 1! !Copyright (C) 1985 by SLR Systems!~(5,]O 6 kx(T>/ N~,P(D(C(U >2K!08 80 ))))o s#re !2h\<K2|!\ <(m2!Q84 #r8:Y (#(*'( *"(*[W"W[Q!R()D*O6<( *U|`8+"U*S~#"S(7Q8 7!8!))))085 80+oQ8)"W2YQ8 !ZQ8w#!0+6! K*W|=}=> !ZP#~ > > *Ow#"O*Q+"Q|  !"O!"QFƐ'@'G:xa{_SS !\ > g.<|7 Symbol Table:Unexpected EOF, Aborted$Disk Full!$File Not Found$Directory Full$System Error$Error Decoding Symbol Value$.SYM created$Filename of list file required, with optional parameters. Use: MAKESYM Filename[.ext][/PXXXX][/DXXXX][/CXXXX][/U] where XXXX is a Hex offset to be added to Relocatable items, and /U selects upper case conversion$LST SYMMAKESYM - Copyright (c) 1985 by SLR Systems $ > g.<|7 Symbol Table:Unexpected EOF, Aborted$Disk Full!$File Not Found$Directory Full$System Error$Error Decoding Symbol Value$.SYM created$Filename of list file required, with optional parameters. Use: MAKESYM Filename[.ext][/PXXXX][/DXXXX][/CXXXX][/U] where XXXX is a Hex offset to be added to Relocatable items, and /U selects upper case conversion$LST TITLE 'TEST ROUTINES' ORG 0100H LD HL,TABLE LD BC,0 LD A,0DH CPIR LD A,0FFH SUB C LD (40H),A RET TABLE DB 31H,32H,33H,0DH END  @#Z3ENV0P<d Z80RELCOMHEXLST$$1SUBMACQNCopyright (c) 1983 by SLR Systems, Butler PA**CHRIST is the Answer**:<@99:@2{OPX`n  ' 7 J J Q X m {   ! ' ͢9;7PNfh,=t(v-z./012;*̳дԵضܷ5̳дԵضܷ "7Wdn:::<:?EEEEEEEEEf,..n.+0:2272!4:4466e6:8n8::*::::9::2@̴ز@(¹b%-7}ǔ#>v$(޺6̴ܲȇ16@8ʱȇڶ8ƷȲ 6ʳ6@@@Ȍ@!±ִܳ@7@@#6@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"!:3@)7β(:9ڲȴ:98<9ʹ7@9906ʳ6@1غ@#6ܼ@޶ڷܹ#677\( ҹܳ@$7'ҹܳ@ҹܳ@7'ز@'¶ڶ<:297:<R@8ʱNN<:2ܲ8ʱܲ@*޷@&7ΐR@!7Z@73@8@8ʱȍ"XP@798@8ʱȅ9Ȳ19ҹܳ@@溆0 浃0۹3_3(d3dJDF?P|dJ溆PPP`0W3ֆD@r43P WP P PPT 30yt@z)3rW3PdAe]4m]{簛33t73dJ)3d2 3o 3 溆  3oPPRP SP fpkpF `'0@e0,`?FB̷橃 D0x P`nf滃៰tہ3o0bT9? ndx3ڑ 3o3x@} Jo}T͇@ lx F/F+T,)xţs{3dۭ̑3)3oNoBbtJȞ@T͐DHNB@Bt _@j 받46o0BM2/B Bd1Ӑy ̷B7۽3B?ẅ́)2|d(' 2tsȄ d2)2hW'|d#2ò !B&amd_ 3BP=x33޾Tȑ@PJ+2tJPP| NtPUD& z0"N_$"N_$dZoB`$RBD_)2UDT̀bXB#Ā<X2w|d(32B)|d)2hdځTT̀bX"#Ā<XB3BLo,BldQu'Bb2tb4|~3odD氬0ܬ@{0 F/F+&&+3o_ & 0B3||u'ᦄ_!B$a"N€ZX  r 0yt B b2/t@|pt̞NtP_~3T~/Htb-tbB!W^ 3M}|T0#@+@t(@t3o0#ts ?Pln3ocTBBo=2" ntB҈@"44|$汰|dmA23dHDG#_3B)B҈@achVGNB)TGo!@(|d!dTJ~lF (F%J@DJ#jf9V0א'tPJP zNP`lF)Bš0VTJ~FFFF01' D9¼+`BpF(P|d;_3|d 0xl3x ZTP|d&T0wP3@gT9‘jpvaVD9·L;dtdTZ`Zlἁr߆F@:k?F3+Pu"K̀ 5k4 Fs 064&ː-3D?ː22_ ;F?`FA3  p`&z9•F_P~ V}D9%2.?smVe`P:e@TPx0ts@rax)PXdpts@T9ˆ2„D9 .`L 0|)PXQ0`4k oPf S .0d)PX拙0I4k coPftIȧ4k0K|+V}mۭV)p|ďlT= |?&P*%PPV >?'P *!PV  D9?P7@F??PZF?`)_$xF?,V ,6b`F?X `0F?4^ % A bqscN-VeZ;ZUuQe•QXQ\AXagJZW*Z  >: Ln`@pHQxzU|C~ ŀi f҂`!qУ!$3$!g$ ʤY:ux<|#/*U%px%rxw|<J ("%|M %'1͞)Შেr''t'*L767'8'Ī4+.+ )K(ᓪrἪ+tΎ髇z)CQ1)ᴪĮ\\&H'&')t p$ &2 .p$ p$.TN22&&2{A(c|揉`TMȑF52V)PTMȕV\T&t U׹F9BAAA+3oAAXTNȕDN>kӐTL„DLDN ( (HH*"1 ( (\BQ?I2cT*52D8 4!P򼑬L234_@&o𼑬 ( D8 0n4FhVh0Fm@BOBo3tPB;AAAV䛯(Ṋ1(#t> @P@`33"@{ ?C$@& P$t̞d'0pP @T̈2/F+YP  N=!B B@4lnx |$3t>cd>̐3j`l2f3ۭ3B:@0KD**?z0t@$" T̈2u oH`xt>c333ۑT**կۭ |Pdtž>>s s"̀X"1B̚3?B1(D0(ηD' 3BP="Ҁ0$7mϊP{NPzTPznPzcC  nL & 'FNPj& l6 P&<$D9|+$ &?,@DPV l6 & & 6Rϊ|+$ &?,@PVoP$ׇ*t%ە*ϊ ^o 3` .דP>.`F?57`P00- `07<0?4 Pp7h`F?50?3PpP4P:P`Q0F?5@Oؑ\h_P7 6ד`F?PJ4PK9PF

PYlPA qC i` MH&`F?@:0 qؑa{}`0F?h \7PVF?pP7pPP(W \h_.pfPkz`i05P ` 5PqF?jP` E=`:0?Pp+7P 5&PP:`0F?30F?pP7$0mF?<\h_?3PpP5P :|0;0F?0F?O0F?4 ]:0`b U`F?P03`X he`F?7G F?6=P%0?9pP pPB \h_F?g }J Ց`"0:P=0?PP=`F?7P@P0F?6ZP>0F?P7  0DlRN J  ڑ 0/mT ` L ` j 2 Jh@ , `0F?q`F?+דo `  ˑ   *o#c _%0RF?3HPP0OF?3|}}`d fhj<v$`F?P J/:`L0  )0K '4F?q`F?+ד܈\e?` 0?:M`)` {0F?3PN<`F?< ;` 0I?`V3t7{DF|5"^̐ D0(̐`@t̻a.2u愐tP#tP  xd3"m2?F[PVW4a0BM|$a B̌lt 2 3"lx`F43B3xד3F1 s F ||$B?h@B̈PPPӐۭ33׍B̀\B3D3ܓֲ@#65o5ۭ-(h G2˄Dۭ1*lDU0TL!DL )DLUD0nD/t@B a B4t̻z0"&N",Nx3_LB4T)p@R/T*HHXBR?JJ**BMD".#@)B5ۭ-|m TL)TKK\&L€TEȄDEȐ3"~{D2?V[ /F+5o9VVTL A!D-ۭ1)>۩1a۩- /!G#T#!Jam#T#QR<EL( ## tەNq޾l@N<tۙPkF谞lF4۽ T>k(D2?F3ZP"D]3db̐DP `&d6Pl0|0|d@oXb tž"f t@d( J_ްd~3B@?o4ްD:¯,2F42 dd̐޾ dϙ3)R3)R )R3o _  BUBސ_~3BP{T&̌D&B|adb/dADO DD DM3z4NBȈe2a"IȀ>XBTMx:DK1|d@dЈ ]P@X uPPPPP$ ]PP|$ ~3 < @]P^4,X$@$ r]P  &P9Lup.k4i͒0 PL"LaB_[dW_{zt'fN @ldd0[0ko="M uPP$ ]P0@ & d>|d(@X aB 37BD޾o{+dଐ敐&3dH "€*X3tBBDGs@ [FDJ#BPa湊B䰛bځ|d z| d"@|/@|d&k ^+3&B3N{/H':7^@#6ʹ@mD̐"ҀXk`BAAAl/H3D$d%:•5D8BwN{T&>k"z6ul޶ڰ2@79Z19x5ܫܪ-(0²´„`@89:@)6ޱ:791ز`@\`β@`-p@&)@89ҳ:@@rfļ@)@ڹ@)6\bf@`lt'PB%š@l@@o<"2u ۅN<Z0TT:? @B'?o>$ NT$•۩B0iFD:zofNhͯ xd@J8LxJ|JJJ8LL>N8LL LLL8LLNLLLL8L8LLL8L މ4 07pÑmK\Dc?JcNvmfB\ P0mK;@ \Kx4؇;@ 3D@. ;uvD`[K tfB\  #V;@\ p4؇>F>\Vp0tP FB\p0iD\FNvmfB\ \b0\ a9pfB\ [K tpÑmK`Ox?,ZfB\K`#p!>\b |0ep[ip>\b |0u4& 4& G\Dtm K0xb@{@K\;T9€|Vvl,Fvl/Fh0| JtFd.\D8PB>fB\ 0G\< PP፰P  PP@G\F.deA pf`dp%PP_P>\b \DtBKcT F8 K` p >\b 0Î⛑\D0 J2P|aKc|aKc9 XP4p>\b  Î⛑\ϝ`a{eKw t. XeV\0\V@(fB\ {X0\; PPuv: 5^`4 "K|፰7p`KNvFb| XJpKt;@\NvmJ\;Kt;@\;@|>K0x : FRa|6a\;KhMd擰 6\$ 6\1։ 6\׻F* ĵ&ꋀeB||0{ |0vBĈ|}P}P $& 'ܑF0 "Đ0BĈ|0PPP}  3oaQːܰD9橃c殐T&tP&_Cle˗bD9諉B 藵^h0$^f@wPtN &f@PD Vv*"@0 nt^PzP|$PJPP;PoP?p PP/@l@iPlFX_F/F+Bt۞Y@cVx6=̐D0(t^d^^x?1`&  bCfo䑃FV䰃#B?̚@l2f33"[T=̈`sDÍۥ3̷iP$8 $Õ0h PV P88T"=?xFP"x "0  2/F+%(3׻F3FF/F+ّ_B@ 0 &p{p@wtmbۑPP}lF)ב"@aTlb 0V4_P|ppP_sV@ 0 FpIpy0MV~$$̷Pd bTˆSK2,B@/4` P}z8Pzz@@v /F @|4? /F NPV 4=/F OPV0^0`p۷0d۷F۷P$$|p ۷p$tc & `\p$\p$` >[d[d`|$>>d͇Pp@`&c`$d &_R 0_... z0o `$d &䫈M3ۭ%2pp6 @t` &alf$0~f$9f$f$ &_xcdcא0𔈦R4.` p uoH 0RR& .`k xoףB R& .`k oף.B &ȗ@5 oףtIȧB  pࣉ4k` `Hۃ;@9‰4hr?s2@0t@T@D@ [n[nab|XSnaMĵ&a0!A 00ۓVV?HpPpXp&&&͇$FPPۓ@.o@d> oT@Œhl@ Ûn˧Bp̷ccBmBAml{! FPP@F Xc@$ &<$@aP_{A &$ &𓾛>±pppppp@pLppppppppppp"p)PBB_ _1_Yξg_QξG_UξW_`!`׌ה؅p=o `odx:דη=o`od _p0B .~" דCV䰛fr0)2z 3|;pe+PPP"p$p@Cl* @"V0-" eplҠPۭ& @ & @t9!͇PtP3|P ru0͇Als_ <lD9dTj&t 1dĞdC晜: dp"ppp-P >PM@ߓd'?t½N3}nodxdx n½N_t$J'tÃX櫰9?m$xۓ; ZdҒ_  )3d;+@"4|$FĠD?͇tJsV-set@"擩@lF_4޾_4lNBv{BX?oPnlFlFlB濊#ӠI|Cza0T9 |+F_` }lˑ}?@D9 ?@lD9"Hd|:3>kf_F@o׈23)˔"ʌ>mB0bt|UוX 4毃Cldbwe%@{ m@ tsdB ()2oJ D( %9|3Bʧ oh8VKtB~  Bd ̐D3odAV|d;(@30P +@ F0h梟0T•D9d̐03ۑ23Jd{wtC@t@tB{ 1ta1{!tHmt aVT̒PJ 'tB23K23 ۡ23JPJ dwt䛉DtJP>kh tC@ts( 1Ht@⛕t .3_淰_.3t7ქ|d& _3J0h 1x 1o63oRo)2̀݀5BTB䛒h DtC@t0r.#pKK F0h捰a30gB?o:TȌۭ!2oD2d7x 3o3P+V3Ɇ3V>k`D'l Dx3T̈2/F+YPO* ېD=̐D>K4 4 4 3o3DT'̕D'>k`A$|澠;(PT•D9sxҠPLso  ?Pۭ4$?xz?_|0_'3T>kUDtPT81TB:)2o P$_FFۡl 0b:^ &1DE)BׅXֈ2!|F?xDEȐD0(B3lF4l#FlF*&&Eȅ:^o2/F+2VVD=䛾ܻB?xdlBoˆadHV䰓3? T•D9F?P}(P{Pl簨F_D9‘)[3 ӐT"F=g TLˆ&2!׎0V}T[3?F 6$TD̑DDlDL#F/F+3FF+3o&TMVVV׹F99VᱣF/F+3FF+3o@F?F[@cF/F+VPV9V/F+&Cl浃(6 P@vB3򬕼F@x D@r3_3B3T>ketJe|xd?xUD,AAA_M$$6t@lFF9Fۭ3DC̀UB2B…9橃0m  3hߑh ۭ 3jF9F* &lF(P{]3|C3D@T9‘@`Foa|$?D9dB?odtHہBˆaȄҒlD93d:м@tPt7@P*+2F>k+2)+2_淰4t: ;P(P o`pdI 2"RdH"f4"d `"f "fG۩& ːDȑD$1DE["%PːD0(*B3llDF_FFF䑼VD=TL/F+VDL5+tJە؆!Uۭ3DF=o3׀F9Ba$$F?F@X`P}P{V w_4|<ÖlFlB{0B#x$B7_3tۑ|dtk(tPk (p|(B$BoB @q*slFc\p|P0l0E |Vd3oCldb0vPP`|$ |$|d(ˣt@D~D~3dNKdZodd3dD9did{d`dct7tPۭ!2)ۭ22tF]Ǖ.3o #DJ34@4{@ehŜ7*=ehPxPvΕᦦH?FL.0ң|P!$?@F'0LC'0Ŝ7$?=C; '@V@&AH6 L ǜ P М ˀUBא ǜ 'pPPJO=C$0mxၦv @& /@6AH6 Ls0[K2T'PvT'P>T'P L'y?PQ МZ3F30 א0T$̕D$>kِܰD94'P6 6 64 n 8P F?Vv.4'P|6 |6 oM$ &@퍓0 p'/YP6 &@pM` _7 o_k仐c2 L'P뛓>$p{ͱ;h0w$770*Q1Daoy֧Ϳppp!pp ` BӞTžZB晰i9|/t\6웫ᬨ,ܬPx@F/F+?osb۷@F?F[V@t@l0_sX+xE+|۷0l'| QIsjͪ|G +Q 3PF X+|p   F/F+ 9X+tz3H+|O PTЯ,2@4$ ~p< c FFlGsdF/F+ۭ3o46׌P4n ]ju'W{A?}n t@ t"\P9|3ۭ3o0׌n<)22ۭ3o0P湨k)扪_DT5扪||d7F?ܬP{?}n{ ᩪj $( 2 6:B* . q*p]Pzכ כ aX+|X+FK |]jͪ $bB_PkÞ:3/F+B+3o|AbE+|o _.$:  |鼐4j/4 PsaX+| a+|dE+ t@<2?J@|'2/F+ _z#cX+PtPd+"@s晰o Vjͪ  T>TX+hX+F/F+ꛏ!̅8VV3Í͇$P@QQ"6ʳ6@7::H0c {?}n;@{|~)+6F̉۩t3V|c?F?o ?_??0ph|ߛ߇D6B6{D ̑|]3̰}n}n氬#ɦp0xBB/F+F=g4|,?‘?FF B3?x,Ft@F @\20"@||2@3P|?F@b2 |/F+ p3|{6oH>o<0T>k(2lW4 2tz3|4"j~3ۭ4o2@B42)+6G?͇2F?V52")F  V ڑDtۉ~32B c_~NT̀۬!>kb-Tʀ-ډ!~- Pۥ+2!b-氬T²V-! B.$99PR:2\9޳":Ĺ6:&ķع@":ʱ|$|f@ & ķ6-"#ĀXt·"1pdִ#lB)|dm氬7d~[- ܬP_-0hTJ@}llNDJ[-͇F/F+Bt۞F@ "@<2?F3ɾVJ "P$ @ &J氬7dFF/F+ˉ&1֔2"Uĵ&a @)397ƲtB$1a~2 pdx#lB)|dm氬7d~ ܬN۩)-ÑFFF=g)᭎?F[F[PV n|$6J_-BFFF <`6 l 1dᢅ 0)2odp3Fp3t_)кlFZlF4tJeg.Bm4B flF"/of!B#_B'tPB#lB'l𛌼4H𛌼"/ob/ CFl2_`կۭ4PB{к䈴@#6ؐBB_Bʧ BadBʧ4X?o}TF@@? ?  &%a%lFlBS:PTԁ۩BT2/F+FF>keUnF"" lFO ?pBFPo@zBT7 $*8698ܱ@99@$ķ69BYk(b4J8D & ($@ķع@":ʱȆ(b@"BO0Jo2tPB0 aBktۙ^$O x@O Z"2l X|$Z|d d ^ ځj6 o" P^ PPK d_PP_"@Â".* oֈ  Ϳ܂  B 0R ".& _"., xm d>È!^"ҹ6X97:вȴ~9ҵ7ֲ47@7ʻ@2ҹҹ@9ʰȼ  0xBx 時?o|F 19EoQ4 "lFO cofT t7|0P} Xt<ۅ.lFl<.HN@V?oN@V O3>> & &͇c䘰IJ@غ@̲ܱ2ܓֲ@#6coa؃t3ۙ"X_t3P". xV"@Â". B@4PB/Vd"DD pDd @B[ )\,#@#6d3OlF ށlB33^t6PDDND50_o &@ &? V??  &$̷id>kP✑ z|$ 6 P" & & @K꼑+ /⑬8V"@8V|dND5BrF'PyFF4}prP|T""p_ TT10aPTۭPPT^TԁDDD"FD;:F DB& t(P$ |&$T>? ? FcTāeDTۭԁ&T@)hD5/F+э۩ā0h`p۷0۷$۷$۷F`p۷0۷{`tc &۷{`tc &۷FT!oP0zO|$*. `#0.m5.*z >.X &.B" >#B"p>mG>p`B" 02 PB",*" n,X & א" >>l p@0},X &- 2" P0X &},t<0X &d<* ˈ0R>z 6BR|$|$  &X &.@ 0X & *  &@0  &X &b z >>l|$* ,樅4s@ $@B  NlF U|$cclF>(PB" Ј>0>pp>" n,B p B  |$K0 Tp@B~  `B 0" @ " @R " z,d" - Ty0 oat0R& B* eB<aϋcPg#Pk* * `>s80eϋ۾> 2" .>>>,BM >̓$|$l C mϋ0p.iΰ>sX! @;́PzP,0*b |$s`@eϋ},s`@eϋ},X &b u" >>l|$0B7 >.B " },saÞ꼑>keϋ0p>́@B K0zez.i" RlFB_ 9,R &>>s" * @Bg z c0]0" ?  &'&$,,*!&!$&+#"""""''!'!#)"& '' ' ))' (' &* ' * *(' !#''** +))&#&#&))*)*"&#&)#&)'#&&*'" *&(* *)!())))')'#& * )) )#"+*`#&$$v~')* &b"Xd)&PR)))))~)!**"P''XPX,"& & ()*"%)*,'(#X "'%"PPP$ "X"!!"($&&)&)&#"'*""'*")')")"')"'"lFDAFD'2ۓ>oL싣>sk`lF@}lF@א2 Todۡ.ۡ "0T D0ۥ.!@ D00>od)`2 T2D2">Pp|$|$$ G"#Todx:.T!@ @uBx:2B&O" - p 6=g [ Nt tB=g\F6B oBT뉫B#(kTAV/=gm_F0D8/(T D& &_V+&=gBT&޹7ܰ@!3̲򋈢a)"2쓐 D&B4T9 "S:`o䋐i D&(J䁃D9ۥ!oT8 _/Fe>YP6(:ۥ! onFˀFHF鍫DAeTA@ 2D'2 Z@T'2D'2 Zۉ* 蓛B2 TQ*la *?F &FN0T5FT@dԁ=gp>쁫FFO  " ԁۥNo8:4DB 0 T3B)pT2)pn&PP$B0 B0ˏ>>s #P|'lPxþ 2P?$P |$̓@t<` > " _|$B00zB0 & ϐށhځh "0>? ? D0À oP |$$B0|@ & 2D|@ & B0|$|$|$$0B<OB"$0! 0|$  B<?> > B|$K0R &l"FBI0" -&&(,&#,,&RPRC*l  \&mFD;?>>`FF 0 &o& A ` &>? ?  & ǚBNGi捚B5NGT>i捚BBNG^j ۑ",lGÔR 2/F+捚^j"0iDob Fo Ҟo7DobDl"_۞B+l|d|Diz1քp@B|0۞t|@Plt6zPtPtzPמo XB`z@Sc`t6zPtPtzPמodm x N{TTm hXm o`tPtzPFo ҞoHB4T!pwT!` fBa4 *?F *k 'B!6Ӑ#l0Y@`sp`e_s `6   6  *  0 06܍636u6Y56 *&d< *2?dBF 4p &o_ B<?oI  lB<?od06 *?F,oy*ÌDB4&s`sl@d76 pDA F"2B o>V "20TQ2 F"2B ob'0fB *$ 0Bu"$ T! T!@>o0܍p@zT! @@qpnVCT4D4 tD_mw8湉p0 PFaԁT)P۩6 dۓ5N)P6B=/F+Y׍P۩ԁDD5/F+&dB: *޷@716 ޕD'2DA2Bt-4ۑ4 `HH!#ͺ!d$ͺR<EL ## Ƀ V2DAJNVBF*la2 d7 "sH X>LDBdDDB f8DBt@BaWۭ &&a "H)BsHM-p@"!4PRbp@1&:ʶز¹bdX۩FAV#V?V7۩ TPH2 P(TQ@Pl P$PaB>uAV8V9V"TN@V?Nol n&7ܳB.AF?@B8@kalFlt3kp` Z@B@' F^cb@_0B.@u&@_-0 ,@|d3 t  h_b<|dBLo" <XBHlF d+HSK:B2P$tklB+@Lo"AAAdo`".&".,x`B.AB[ uB@u#67&*`9;8ʱ3Ҳ'زBlFAאa1։_XB@PA"&AAAoOBo@BlFlBk@@AF?P$F$ ?\ &a䓐." AR| ܲ@ekPPPHDB`BFuB;Bkk?F\@PF?F[Fj]@ 6 #= >6#= yʢ     ͻ / 0_zW /9 <  : >g Aڢ [X @d aڢ {Ң `w# .ʂ ʛ j ͩ w#k {o|g ʛ ͩ w#Œ &jz!|*² >?a{ 0: 70!9"!J9^#V+!L9~#fo!H9~#fo"*!H9~#fo!L9~#fo͍.!L9~#fo!H9~#fo"!H9^#VBK*"*!R9^#Vͥk !L9^#V`iDM@ **!R9^#Vͥʞ !L9^#V*"k `i* !L9^#V*ͳ `i*k *" **k `i"`i* !L9^#V`iDM!L9^#V*"`i*@ *PY*!J9~#foͥp `i*g `i*s#r**##s#r*"*"ð !H9^#V*ʦ !H9^#V*s#r**##s#r*"`i!H9s#r!H9^#V* *!9 *"*^#V!H9s#r*##^#V" N o&N 2@:A _N :@_!9= !9F+N+V+^+~+ngx[ [ [ # F og! 9F+N+V+^+~+ngڝ  }ڝ ʱ  ++w x‘ ɯ ~# x§ !9F+N+V+^+~+ngy Fwx# = !9~a { o&!9~A [  o&DM!99`i|DM!99!(`i~# xC!9]A~#d!q||z͡}ͷ}z͡||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>)) =}{_+|6|7g}o{_+)&}{_+|g}o6|g}o|/g}/o|g}o|g}o|ʄu}u|ʄ!}„|u!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#y####x#~#fo}|>?o&}|>o&Y???????????͡}ͷ}z͡||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>)) =!=COPYRIGHT (C) 1977, DIGITAL RESEARCH ZSID VERS 1.4$1/ !~=W!xe ~#Xbxʇ {z~#o}o҃i. _!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*oÃø *sy͏͟+-'#.@=90Oy) ,    ͌ >^! 6 # q! w‡Ø͌>ʘ# }2 :  A ͪBx¸{{: G*w#wx͡ ͟80* {#z+++  ## ' 1>>^ 0 8 a[^ !~-i6+!w yÏaÌ^ ! y͌ >ʠ(͇ ͇ >V a!  y͟͡O*w#"͌ . a  !g  !! 0͟2!b  F>!  ®Wc͡Oi W*##yOx€y Ê y AzÙKByxy͡Ù! {/O! .{/O9OV >G>ͽÙG>ÙV) y*W>ưG*! ž yG VO{xʃfBGͲ G>Ù x Ͳ>Ù   Â! Q V ͵'> >3*  &! E͟(ʹN[W@GVI@zWe '3>ͽOzy Â(Mx?*z:: OzäIjG>ÙzG'vV”zOx yʏ >(ʠOxà: Ox¯>*ä>>{ IO> VyHÂͪ͟A>2Ó'>"Ó>CÏ͟XY x GV6W>6xJ  pÙ! aO y! ‰ uwͻ'‚>!  Q(ʰ_zÕz Ͳ >Oz>ʤ>ä! ͌ >! EV ͽG>Ù_V% {>*W -{ZW >{ ͵@&! VhV c >rw> V >** {zҝ*~#" 2x:U<{͉2 5 !äͤAOHL(HL)CʹA HL{X GƐ'@'OxƐ'@'ON#5 z80O,z8UO! N#Ny ,!}ä(C)3ͱ,USPS* |} !9":!"<<2* ͞ !~5 * ͡S ͉ͤW! !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U ! 3! 3UW͒H! 3ü! 3\, ! 3\! zl z=1  3 !+ ͤ͵ ͵ !. ͤ!  ! O 3͍A,,A3͍! ́Á ! L ! ́z8O! 3~ ~ >v ! 3Uʹ,zʹzHږ 8O!n 3 C( )(͍)! 30> >z ͥ ,,ͥ ͉͉W_͕yO! 3 $% ,% !+ ͤO͉͒y !W {A !\ ͤ: ͒H)(IX+(IY+yO 3zʉ W! W3\,% ! 3! ͤAF,AF'! z> z ʽ ! ><3͈͐! 3 ͵ Z͉W{ ͇ z – z!  ! a # zB) zO!f 3>͈C~ GK ! 3z! E ! 3@ z¾ z! u ! 3w,ͱ́r! 3z ͥ # ͍ z¯ ͉2 ͉W͇ 5 z'!k # µ !3{͒z͒S?*!9"͡"͉*" *'/7?v"*2:DEFMV^goRET EI DI EXX HALTCCF SCF CPL DAA RRA RLA RRCARLCANOP !"#)*+4569FNV^fnpqrstuw~CP OR XOR AND IN OUT JR DJNZADD ADC SUB SBC AND XOR OR CP INC DEC LD RST AF POP PUSHJP CALLRET EX I,A A,I RLD RRD IM 2IM 1RETIIM 0RETNNEG LDI CPI INI OUTILDD CPD IND OUTDLDIRCPIRINIROTIRLDDRCPDRINDROTDRSBC ADC RLC RRC RL RR SLA SRA SRL BIT RES SET LD IM NZZ NCC POPEP M B C D E H L (HL A BC DE HL SP IX IY AF (IX+(IY+(BC (DE (C (SP ??= xKàï÷ZhÐyg Æ}!"Q!*"!"!""!2V!2M!2#!2S!!" "d!"!"!!1!!++"!"O!>28!"9:] !÷1!į>#yh͐ !J!6-B5͐A]]_!Y^#V]8]03]]]]]!]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2]]g=!1g=-1g!WgG"d!=Wg=]b*d!}o_"f!*d!"h!#>:y:K!ʞw^#V##:ڲ …òw~#:ڲ}ž"d!:J!*h!w+:K!!L!~/www*d!}|*d!:e]ggg{z|]}$2D!2E!gg"F!g"H!DM\!D!6xf"!=x=xYP!$!~ʲ#^#V:D!ʫ*!{«z«"!!~62 !ò#w6 }1!1!*!*!!V!~4#~#F#x~#s#r#w>ʿg===]g#wᯕo>g#'d w>#y!3^#V#0}o|gg Zx~y0ʅyGÑyyÑ‘G~Sz{ <w>'y{y>'y*!##V+^+N+y#w ~+yxÐ. *  w#  *,?r# ,:J!]m!!Ow #w Eq!\ S:o@w#tG6#.ʏÃ6# ‘S6 w#ä!ex#y#*!}|"!:M!!]qg!=:J!]g!!|]"!!$!~=#~#V;z;:!w :!]!$!~e:!w#s#r R]!$!~ʛ:J!ʈ6Û~w#^#V v!ʷ=]g"!!l!~# :]?ʀ͍]>HXEͱ*!\ͯ€w# &]:Wr_rrO {Bx!<i`"!Àrrw#Er]&Z&Z\GтWx!ڐ:M!̠>ULTͱ!!\~# ¡2|:] >!v͍͆<]&>!_\_*!& & *+&  !]w{]*#^#Vr+s+6]*"s#s#rT!J*!*"!!͆*!#w*!#w*+# SYMBOLS NEXT PC END =]g#w:K!ʹ^#V#ý~wh͐ .:m!>."͜ ʜw#=]g:K! s#r#Ü]}w#:K!ʜ#Ü>#>2S!!"O!#P@g}]=O=]g"O!"T!2E!U # `͐ xG͐ …xÔ']͐ ]x/!*5]ʬ!:E]]͐ ]cwh=]gx|]}]#gA>Ag}|]E~!!!!pLs#r:[F_!~X![4Y\ͯX2[17>?y l!ͯ!n!"j!> _ͯ~y#Æ͜a_!m!~> ʰ5*j!~#"j! Ҽ0y7yͲò> y> y ͯ#:J! w>.y^+~y:J! >:y|}5 y>.y*f!}o|/+- ,) 0 ]^#V#͐*!Ny]*j!*l! Eʠ ʺ+º͐Ë ºHʳ͐#^#V"l!"j!~/o>g++u!.n@n^#V=n^'͜ ]'͜H']S_#B͐H@0 ])DM)) O #^Y*!^#V#͐^KZ))))o͐HB"!s#r#!]!4-ˆî+•*!Ý+«͐ Ø-͐y_xWØ͐!K!6W6͐!]!6# ,>2]!}m ͐}m ͐}m ]]!]!JXN~!:!~# IA_^!!L^#Vx}>ѷ>-y~y/y~y>=Ñ/y>'y¨~!!!!~[#wc#x ڹwù5!*ͱE!:ͱw *!" !6c#~O+"f!*!~~#:cwJ^#Vy6DzS_c~*!~c#^+*!~Gzx&ç@—xv&ʳx80&óx6ʳ4ʧ5¹>=y*!~*!x*!*!:J!& &&x*!~&ó&*!~9&4&&#^xCZMEIABDHSPXY!"T!2S!"!+"!!91!!91!*!~: !2D!!@!~ʨ#^#V#~ ›!V!~6=G#^#V#~xú#"!!N#FO*Q!>7U:#!”!$!~Q#~#V*!QzQ~==2#!6w6:J!6 U<!͆*!U ”|=p U*! U:D!ʔ*H!MD*F!:E!7U!"O!O2#!>*y*!ҷ" *!"d! PASS !S!~*T!+"T!|w=2#!~! ~##Z: !*!!w2 !~C< EB ͍E *!F#!N!s!7^#V__eB B ? ? 2 B B uE ͍E ::^#V#k^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G ~_!< < "< {p? {5? B ? ͍>G ><7*O!|z !N!N*!!b z >#y> y×:S!!K!ʐ ڐ >û ʺ =_~/w/w{ʮ Ү ͍=ʺ YP× "!pCE" *!##F+N+~!/o>g{!z!<33 @ BAI $@$B$@$$@!$D  I $I $$$$ BA"$ BHB$$ !$$B$! B! $$" " A! H BBBHBBHAHD!I I I$$! $@B $!B "I   H "DI!HI $ ! B"!AI$I$I$ I$A$ I$@D! $"$ HDIDBHIBAI@AHHH"H@@D$$I ABI$I$HB@I$@$I$J $$IB@* I$$I"HI$$ @ $!$I!"@! $AI$$! "B $ "H@"! $ HD@DH"$@!$$ H  ! @AA@H@HBD@@BI@$ $HBD!B HI$$$"$ D$"HIHBI$I$DH@"A $@ ! !!HB!DHII @  ! $  B @A $!BI "@$" "$I$I! @ !D$BB$"I$  $!D$$I$I$$"A$$I  @I I$ @"H @ @@BHABIA $ @@ !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U NO means source lines within a false conditional block will not be included in the listing. YES means you want those lines listed. T) List .TITLE, PAGE, etc. statements? NO means lines containing Listing Control pseudo-ops will not be listed. This is the same as if the .XCTL pseudo-op had been invoked. The EFFECT of the hidden pseudo-ops is still present. YES causes lines containing those pseudo-ops to be included, and is equivalent to the action of the .LCTL instruction. LISTING FORMAT CONTROLS - V HIGH BYTE FIRST in: A) Addresses in Operand W) Words in DW stmnts These two selections control the order in which the high and low bytes of 16 bit quantities (words) are displayed in the assembly listing. Humans generally like to see the high byte first; the actual order of storage (ie as shown in a memory dump) is low byte first. Toggle these as your needs dictate. M) Macro Expansions: XALL, SALL, LALL This is a three way toggle that selects which of the macro listing options will be used as default. Refer to the descriptions of .XALL, .SALL, and .LALL in the ZMAC Manual.  A2&<@B2'<@C3>'6&EGh'F2@':&G'L@H2'<@J2(8@MJ:(D&DK=(H&YI@(L&K2 l(<@14(<@24(<@34(<@ASEGCSEG1 ZMAC ASSEMBLER INSTALLATION MENU 3 of 3 -- ASSEMBLY DEFAULTS A) Suppress Assy Statistics NO B) Suppress Propeller? xxx C) M-REL Max Symbol length 6 E) ASEG default start address 0100H F) Default initial segment CSEG G) Use 16 BITS to test Trueness H) Allow LABEL redefinition ? NO J) Pass ALL externals to REL ? YES M,D,Y) Default Date: 05/23/89 K) Put Date/Time in Rel file? NO 1) .PRINTX output on Pass 1 ? YES 2) .PRINTX output on Pass 2 ? YES 3) SAK after error msgs only ? YES ASSEMBLY DEFAULT OPTIONS A) Assembly Statistics are sent to the screen at the end of each assembly. You may wish to suppress these when assembling many sources with an alias. B) The 'busy' indicator is a simulated rotating propeller displayed on your screen. You can toggle this off to please your taste or preserve the sanity of a hard copy output device. C) Standard M-Rel files only transmit up to 6 characters of symbols and names. Depending on the capabilities of programs that use the REL files, this can be increased to 7. ZMLIB and ZML permit 8. 8 significant characters are very useful with the .REQUEST statement because it allows arbitrary library file names. E) ASEG starts by default at this address. If it's the address you want, no ORG statement is necessary. The standard addresses are 100H and 0. Some linkers may be confused by rel files that start with ASEG assumed to start at 0. (ZML works with both.) ASSEMBLY DEFAULT OPTIONS - II F) Some assemblers start with an implied ASEG, others with an implied CSEG statement. You may choose the default relocation base either way with ZMAC. This option toggles between the two. DEFINE THE MEANING OF "TRUE" G) Use 16 BITS to test Trueness Use LOW BIT to test Trueness An expression used in an IF (conditional assembly) clause is reduced at assembly time to a 16 bit number which is tested by one of two methods: 1) is it zero or non-zero, and 2) is it odd or even? Z/NZ is a 16 BIT test; odd/even is equivalent to a test of the least significant (LOW) bit. TRUE is defined as NZ when 16 BIT testing is being used, and as ODD (lsb = 1) when LOW BIT is the test chosen. It is important to know which convention is being used in order for your IF clauses to have predictable behavior. Digital Research assemblers use the LOW BIT method for testing values. The Microsoft (continued on next screen) ASSEMBLY DEFAULT OPTIONS - III M80 assembler uses the 16 BITS method (Z/NZ) for testing. This option determines which method ZMAC uses by default. The two pseudo-ops .IF1 and .IF16 permit control of the method used from within the assembly source. H) Allow LABEL Redefinition - The SET and ACCEPT pseudo-ops will permit redefinition of symbols which were first encountered as a statement label if you select a YES answer to this item. ACCEPT makes such assignments during pass 1 only, leaving the assigned value intact during pass 2. Make sure you fully understand the assembly process if you turn this option on! Phase errors can result. J) Include ALL Externals in REL file - If YES, then externals declared but never referenced in source code are included in the REL file and the code in which the symbols occur will be included at link time. NO means that such symbols will be ignored, permitting the use of standard EXT lists whose references are only used as required by the following code. ASSEMBLY DEFAULT OPTIONS - IV M,D,Y) DEFAULT DATE (Month/Day/Year) This is the date used by ZMAC when no system clock is present. It is overwritten by the system date/time functions at each invocation. The .SETDAT and .SETTIM assembler instructions in turn supersede both defaults. The date and time is included in assembly listing headers and is passed to the mrel object file for use by the linker, library manager, or other programs that use the rel file. K) Put Date/Time in the REL file Toggles the function on/off. Linkers which do not recognize the embedded date/time data will sometimes issue a 'duplicate symbol' error message. This does not interfere with successful linking and can be ignored or toggled off with this option. ASSEMBLY DEFAULT OPTIONS - V 1) .PRINTX output on pass 1 ? 2) .PRINTX output on pass 2 ? These two options are toggles. When 'YES', the .PRINT and .PRINTX pseudo-ops produce output by default on that pass. You may thus select pass 1, pass 2, or both passes for .PRINT to be active. Note that logic in ZMAC interprets a NO for both passes as a request to print on BOTH passes; the response is the same as if you had said YES to both options. This is done because the purpose of the .PRINT statement is to produce console output. The selection provided by these options makes ZMAC behave as intended when assembling source written for other assemblers, each of which uses slightly different conventions. The as-distributed configuration, output on pass1 only, is probably the most generally useful. ZMAC automatically over rides these defaults in IF1 conditinal assembly blocks or if the ZAS style pass number argument is present in the .PRINTX statement. ASSEMBLY DEFAULT OPTIONS - VI 3) SAK (Strike Any Key) after error msgs only ? Before sending the assembly statistics report to the screen, ZMAC checks to see if any text has been sent to the screen by .PRINTX, by .ACCEPT, or by the error handling function. If error messages are present, ZMAC will always pause with the "Strike any key to continue" message giving you the opportunity to read the messages before they are scrolled off the screen. Option 3 allows you to select or inhibit the same screen pause for non-error messages generated by the .PRINT and .ACCEPT pseudo-ops. This option is a toggle. When the YES response is selected, the screen pause caused by .PRINT, .PRINTX, or .ACCEPT will be ignored. When the NO is chosen, then output from these pseudo-ops is not ignored, and the SAK message will be active. You might wish to use the YES option during assemblies controlled by a script so that you do not have to 'stand by' to press a key for each module assembled. NOYES NOHEXRELLOW BIT16 BITSLALLSALLXALL@O do-ops. This option is a toggle. When the YES response is selected, the screen pause caused by .PRINT, .PRINTX, or .ACCOZ3ENVZMACH : # #s(̶*> *N:R("f2e!cSqX(qF(>V2F#^#V*N͆(~ O:e(y !:ew#[fs#rˎW2s^#V#"s(I(@7P=/FI(`(/* DM[:([NR?K:HF(*P "P*L "L*N "N*J "J:;1:R!ͬ!J !ͬJ\G!B~2E#c g*!I}SQQ}Y* |29"~#fo29":##~2*!">!O}"@*68 ">G-* G:5G "<>  -$.! ~ > )6$@-:2%:2 ݶw:2:22:>=2-:?2$:E2,:@2/:C2.:9(R*:67N(G[ !/N#~# O~2,#~=2-!7 ~2.#~2$2$:2(!(~(:2:-2*+""H>  <- <-  -'-D'-u'-&-'-6 $,,O`i""N&"'"C'"t'"&"'!> q#p~2O&!.z,HCN&!u$̈́!P&!P& >.:%_ !'O !E'w !'͛b"|"N""2"2I6 #> 2d5*""N!#"#[&-5$÷~#! –! ~#foN<>ݮw! !yw<D'' u'@'-((Öyw1F(<2* Pass 0 $~ * $V:0 <20 *1 ^#V#S1 ~2A ? *3 6 |9 /< -3 \ $ xG0u'> > $[Ky! !~ Z~ݦ_T/ADATE n! 6/[2) [4:6W) [7S 4]T! Z ZMAC Relocating Macro Assembler v 1.7, // Copyright 1988,1989 by A.E. Hawley $ pageL N / / : **** Symbol table **** $HEXYESINVALID OPTION SPECIFICATION Syntax: ZMAC$$$$ [dir:]name[.typ] [[/]option, ...] Options: defaults: C - listing to Console NO L - Listing to printer NO H - object code format (HEX/REL) REL Q - display assembly statistics? NO O[filespec] - Object file (name.REL) NO P[filespec] - listing file (name.PRN) NO S[filespec] - Symbol file (name.SYM) NO E[filespec] - Error Log file (name.ERR) NO - Use options in any combination, separated by " " or ",". - Single option letters (no filespec) toggle the default. - When a filespec is included, the file is produced as required. - "filespec" is [dir:]filename[.typ] - Use ZCNFG to Review & Set defaults. $ T& ASEG 'CSEG ""DSEG 3*BLANK C* S* c* s* * * * * * * * * N:sA06:%~ov_(F N*}s( ^ ~: ʘ7F(#!*'7n(*+:s2!:wv(!6=##*f7*u!*N:[(R~ F z7*:SwC{!!f xn b ~ ~#<*~#<*#> +~#( f("*~#<*V(6#gF(a:;1_!~wL '"*~#<*#8ͽ+^/*#yxA!> -6~=:J(A8=^7s !7Fč!͍s !͍s ! ͍!^6:+2+:)2):*2*~# (G~=x( x4͘w=~/G> 4> ~#4>ݦ<ݶ=w=6v :%(5]=F56H**r͇++͇+:-w6> > =F =V#=N7:+ݾ(8Ð+͋+=:)=ݾ8Ú+=:*=ݾ8 => D'$J:$ 2'!< ͏! ͍*'#"'+! ͍! F#~# Press any key to continue:$h:oݾ[j*h:nO͆(ůO:hG}(B[l:oG͠(8 *oFɷB =C[-*T""q!V44=C[-*T"*" ">2e"q!V "R "T RDM[T!#RTVVUkYV TMUV vYYVVVͰC"0-H!3y*s(N~:( *͞0+O:(*͞Os(y7F>:O:!8:(*͞> >Bٯ!C )gs#r#s#r# ~K((( #~K(G8 H>C7~ 7;7#: #~'!c#>ݾ!sc>ݾ!{c#>ݾ!cЯbW_O7>'$>I>J>K>M5z } |*X HA-'"|'$.>N:G>EF%~G08:I(x2I! ͬͪG~#V#fj;1W{!~ ͮ6 >@ >A>B>C54>D5AC#2%͹?>B2$͹2%C&CC#͹!## :3G~ (# q!#~ F#~# <^~!:2:G: (F*+:w#[s#r~6[x2F:(~#fo: f *^#Vr+s![:_ +(';1RN>;OG>þ65 N#͜:=< 2=">:;ݾ}2 !G7*:=_݆"w"{<*"@:;ݖo!E<*~"D*@<*> G!B2=!M"@6":;w*>'~#$ɯ=>2=͜!o :00000000 D'I2s*!>I>F2s͟*Q*A!>M!>V!>O!>S!>E!>K!>P!>D1c2s#͟/Á͇+F=N=Lp=qF(%:sP(2͢V ^ r s *A+RrX>2*#"!sG> p(x2m.l:sA2m*'|#!Q**'!a+*@R:6@(+['s#r##:sw!">['*@9s#r#">[< # B{(z!' - 4 in $ Unterminated if! $* FILE SPEC LINE CODE $ $~©~ ݶ G:4gx :-ݮ66<͆!"[*R"R*0R"T]6 6~ = > 2 ! G)ͩ *||(!!ͩ! G)>B2!~!: * w!h!ͩ*ͩ(3S>~ #*~ 6,#6 #*"ͩ !!"*6Hͩ(~#+(!!~#fo+ͩ *u+K^Vnf#### |ͩ ^#V*"|(7*6H assembled with NO ERRORS..To produce:Source LinesERRORS noneLabelsUnused MemoryMacros -ReadTotal Code Size-Expanded Phase Blk size=== SEGMENT SIZES === Named COMMON segments=empty   O+ ? E <L ? KZ 1}!1 ͑~w*o !07B͈ ͌ ͎F *a "g :q ϯ2 *s 2 Ͷ8$ > ~+~  +~+~ fn!v| }   >+  ~#~#V#^>*> D > > ~#|}Ɛ'@'WBKu B~#*a R+N( !v>D !>:Oe* |e}e>e~> !͑SYNTAX ERROR͈ ͌ *s Ͷ8͎*s ͶLN(FNfn" [} S ^#V;F(+n(p#qq#pN(CK} C} >  FN[ rs! * |}xy" > ï! N(! ͑! ͑*a ! ͑*c /N!vF ! !1'>.%! N(! ! *a ! *c /F(*a [e R(0 !0! !*c [a S R(Q!!~"  B0 G.(6A>:xe* |e}ee[ e#~" S *c "e "a OrƐ'@'ɗe> > !"w "y "{ *{ $L: Ggo ZV !~R"y "a *w R0Sw *u R8 ! w#"c (ç F " ^(!a ͑*c "k w+w+WOGw+w(§Dfntu;f 5D F(V͜+!u ͑fntuMG(v F(*i "k '8go^#V;;s#rçn{ZWͶ88 +*u B*w ѧR8 ! *{ Ku Su B86666<BKu BN[k [y OO6 z͈͑ ! N(!v ! u xy2q eb v!J e   w w w OBJHEXCRSVz͜#Zͪ '(08:8@8[0ɯ<0  ͜  ÜƐ'@'W|}# ~" ͪ ͪ (  _(! ( !D (!} _w"!#ͪ ͪ !%  ͪ !D u!#ͪ ͪ j !#ͪ ͪ !f !#ͪ ͪ ***INPUT FILE DOES NOT EXIST ***NO DIRECTORY SPACE AVAILABLE ***CANNOT CLOSE FILE ***ERROR IN EXTENDING FILE ***END OF DISK DATA AREA ***READ PAST END OF FILE ***READING UNWRITTEN DATA ѯ>  m (L ( (D m ( ( (Hm ( (9,(5. (m ,(! ( (P ͪ ! ~Px_#6 ! }OS=<с{QO#$%%%}فWM ՁMTSD SYSTEMS LINKER V3.1 ***INVALID EXTENSION ***CHECKSUM ERROR ***GLOBAL DOUBLE DEF ***MODULE SEQUENCE ERROR ***NOT ENOUGH MEMORY AVAILABLE UNDEFINED SYMBOLS  BEG ADDR  END ADDR  PASS 2  ABS  REL  LOAD MAP  GLOBAL CROSS REFERENCE TABLE SYMBOL ADDR REFERENCES  V ~~oėw*E)N  *cLNKCRS TMP~ ##FN W(y( ͪP cYv(y @ > H 7ͪ~G(&y @ *O)+t u ÇHʇͪ6Ç@ H( ~ĪV^y(ͪP(1V^h N *E) tu>6<v  ~(W G(*Y) "Y) *Y)R#*R7R8pppWgG ~ *O)+t u  ~(*E)tuf fF!V ^ ^( *O)+f n z\{\|\}\*m)t u ####"m)*[)RR8I!p*O)"k)*****WARNING: CROSS REFERENCE OVERFLOW OCCURRED ^́!t~( ~ wF(~(!,FN W(y( ͪP cYv(y @ > H 7ͪ~G(&y @ *O)+' ^!(w##6*R"s  R"u i! 6 !"i "k "a "c 6:_!#"o 6 2 *o R0Q/ > >2  (=C U A  =xx"i "k "a "c y>,(!0*o xBx@ ,!0 !!0v !> : S!"͑ͽ ~# (A C U !F(!,͑ͽ x"i "k "a "c ! (G0ͩ ))))o0$  (,( (> O,( A O R"s  R"u i! 6 !"i "k "a "c 6:_!#"o 6 2 *o R0Q/ > >2  (=C U A ( COPYRIGHT (C) 1977 DIGITAL RESEARCH 112O02Z0̀%!"K2.>2.*M0"$/̓%!"":g0i!"P0"R0"2:0v: 0$  :[0-ʬ+ʬ* :[0!_0M!f0P p  !   :O0Ĝ!":O0*V0}|<r ͪ*|Ĵ:O0_͑H *V0"Ù*V0"E V» ͪ»**»"Ù*K0"X0!0NA#~' ~p"K0*K0N"X0!0q#*w œ:0!x ͜ *V0*R0:_0̍"V02*M0r; !:r :0F: 0e%;m ">2:0b: 020 W,F:0b: 0e,ʹ:re*X0#![0~ʇww2/ͬ:2T/-"."$/2/>2.v:.ʸ!/6+͕%>20:.ʮ:.0209$<!5*}Ģ*V0":0y: 0:yv! X! ^#fkX _~ 0^ Z   2 5 8  :0‰:0=ʉG! 0ʃF#2sÖ*I0| E2V ,[ ͊m *R0"R0"P0 m E2D2V ,ʾ ͊:/ m :/ "> 2/:Į:0 : 0 -Ͳ !/6+:.;?*$/*."$/?"$/:.l*.^#V{r+s5*.^#V ʓ:. r+s!06#wÚ> 209!e/~6![0~6".~,#!0w9 9*.~6 *: 0,Ĵ2f/*.s#r2[02e/*.#"X0$<5ͬ*$/"M00:T/2:/2[0 v>20*.".2[0v*R0m "R0͍"R0!/w >=G*R0*I0"R0"R0 m :/ }>͞ ¥͢ :O0*V0*ʿ͜">2:O0:0:O0!!4:0: 0,>"4:O0: 2\0:0=: 0 F!Fʹ%*X0"`0>2Z0*X0":0k: 0T!T:\0¦:O0¦:0=ʦ ʦ*"X0 !':[0'Tx»!Z04TT!Z05T:\0!":]0!**V0":O0*X0~ Ĵ*X06 '>#G*I0!" :0 :Z0 !0N*K0:O0Ÿ"b0+"X0yʛ 'É' Ͳ >ͮ 222:0: 0 !ͮ-:0:0!4 :0& : 0::0!xI !4̨ e ::̮>͞ } !~5:Į ͵ !4̨!~5 G!~Ҩ4_!p!~ʮ5^!~> >2\0:0N *K0"+"X0:0 >''!:0N : 0,N :0 >  > !0N#~' ) > ''*K0"V0:\0x ʹ:\0" m }*K0"+"X0''*K0"V0>"4ͬ:2T/:[0 “ 2/-*M0"$/*X0!{#zڿ ~+"X0*M0+"M0wß #"K0*M0".:\0 N]T s#r+*V0*{_zW".:\02.R     % *I0:/ ͪ% ͬ:O0ĭ%  :.ʢ :0¢ *K0+"X0!2<20*#"" : 00Ĩ!??" 09"K0+"X0$< :0¢ : 0,? ʹ  *} :]0 :O0 :0 ͤ%:e0ĭ%:0 : 0  ͬͧ%vʹ   ͺ :0: 0 !;* _!5 ^#fkS \ h n 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D y0P 2!0^4! 0q :0Ė: 0,; Ė*I0m |}$† ͌oy Ԍ͋ 8O͖ Ăy01y 1m X:0 : 0, >C͘%:0 : 0 v;:0 : 0 v-!v !v-ʹ {ozg:.7ͮ2Z0!O0~4l!"*|>"V0*""J͊!/6 !/͒%:^0ʏ>2.͡%ͱ*K0*T0&*M0*T0&\ ͍!/w#õH USE FACTOR !/͒%*"P0Þ%z{*P0"R0*"V0 !":O0Ģ*R0̜*R0ĜG:O0xě%:/ *R0̍:xz*P0#"P0E2D20:b!^4!/wjj*R0!6zz{z4A_A?ɯ2.2*T0"V0!.8w# *V0*K0{zҤ*b0+"X0 =$**X0#Þ!.*V0".#"X0$:d0<:0<! 0~?<#ʐ: 0͡!.".^#V"V0}{##~2.*.^#V#"."V0*V0}d##~<2.G*V0##"X0:.> u!.~w>w> u:.P'!5^!/~ !~620͕%2.|z}z> u!.~w:.W=*u!.4C*V0^#V"V0ý!.5¯:20͕%!^4!/w>R͘%>V͘%>Dý>Pý>Lý>Oý>Bý>Sý>N͘%*6".~ 6-!2~B6~44O!! s#r!1~ _6^4! w!p!2~~!55N!! N#fiooo&)^#fk9BIO[ov ͌z{>ɯo>g͌"!6ů{_zW5>)D*OxG !?DM!xGyO23)#͌)=R|g}o=^͌͌roz{͉͌͌}|͉͌Þ͌Þ͌ë͉͌!!o#Ã͌zg{o͌zg{o͌zg{oolo&3:0: 0 ;!,ɯ2122=2 !"I0&q!1~\5_! ~͔D:2:/ *!"I0:/ :0:0! 0^#=ʙV¨*0!҂ :0:0& !!>O: >2 yU`:10_!~0!1s! ~͔ yU!1~N=w_! ~QZP>2 ypP͘% >U̘%>: 2 3>E͘%óf:.O*.~H:.=!4>͕%0:/#". ͆%2G:0xa{_ ʇ ʇ:0x҇_<20!/w:e/S:e/9ɯ2f/2d/2e/:0:e/ !2f/g/~#»S͉!f/~4!g/_:e/w2e/ɯ<*V0"36*"V0ɯ2!4!f/6".!f/~55!d/^4!g/~f:.:e/JGwf^l͗^{:e/&{!f/4#ww&ʞGʱ2e/xf͗ :e/&ʕ:0  ý͗&{&{ý͗  !e/~&>62/-!.6*M0"$/B".2f/*"V0͗ 2f/2e/2[020> 2͕%>20ɯ202!0~@$6^4#:[0w~$w:[00 6:[0A:[0?e@eAɷP6 o2[0:Z0ʦ:\0 :O0¦:[0':[0 !20:[0 R;/>20:Z0?:\0:O0?́;B*`0*X0++{z~ ++!+"X0:Z02Z0́ͪ'2Z0X:[0*K: ḰͪX? X́ö20Pg>ã6r>ã:[0'ƒ2[0>ã ¡:.ʔ>+2/͕%!/6 >20>20:[02́:0:Z0: 0=!EQ<!LT:[0=!LE>!GT:[0=!GE2[0" 0!04>20![0:0/ʦg¦´/ʦA¦:[0O<QA>HHR>22[0m:B_>fD> j!052!"0!0N#~#A҄0Æ7O!~*0!ʩң)Ú "0 x:[0 '¦́'æ:[0 :[0,;%:[0 !:[0; ,202́/>20:[02́:0G:0::0l:[0'́:[0' 20/:[0'|>20^—́:[0  <¨!~4 >¼!~5 : >20>V>O>I>B͘%!QéÉ $ ? H Y ` e Ò ü ò ~ÏGÇåûfD?<==:e>?; ><>; ;<=R>>>F>;>G==<==>=s;=P=*>=$?P:-?]>*<<==<;=>>y> ;: =;>?>P?<=?>>=<<i;m=>c==>o>v<=<;8?N!Nw#w#W!"V0!.w#w#l2N!.~4^!.~w!.ͼ!.ͼ!.ͼ!/~w!$/ͼ!D/~w!T/~wN#Fp+q!.~^!.!. !. !. !/!$/ !D/!T/5~wN#Fq#p>BØ%!0" * F#%2NG*V0##~w*V0##~<͉:.t!.N!. yq~t +aG=#w#wY*M0!0n& {ozg"V0!K0{#z"M0b*M0!0N#yʢ ~Õb!."O1:N *M0!$/{#z"V0$ _!.*V0~#~1 ~#"M0û1 !͒%Þ%SYMBOL TABLE OVERFLOW G*V0##~w*V0##~=*V0_###1 s#r1 ^#V1 ##"X0P wP ~O!0~z 6~=ͼ !0N#~ͼ „ Ͳ O2Ny *\ ?=)$=)w#Ž&!\60 ڱ&>GO#w ³&>O # &6 &6L#6I#6B#w2|r&\u'>2]0!"%![0~2%wG&!,x&>82%2%!"b0*"M0!1"%"&"@&#"K0"T0' _#~6' D':%A6'>:6'D'>.6'D'>-6'x&!,N'!k-x&!,N':% '> ':%'_!% '6 4ɯ2%2]02e02d02g02%:\ =)!%w#w#w#w#w#w#>2^02_0:m$(!~#$,(~(# 3(%Aʩ(Pʩ(Sʩ(Hʩ(Lʩ(*t(+t(-¶(^0~Sʣ(Mʣ(e0Lʣ(d0Qʣ(g0Rʣ(%1¶(x#3(~AҶ(#3(#6 !)-x&!x&!%͉&!%͉&ͳ'(`&͛'͠':%)!&͉&l&͛'͠'!%60#60#60#>2f0!"&:O0*!"%2%2%2%Z&%u'!-x&z{:]0ʢ)*%F)w)!"%r&\‰)*%#"%+~):.2]0ʢ)r&\!~-N'*%F))Z&!"%*%B&%)¼))*)6# )G&*%*%#"%~!<-x&G:%7*$*x*7*x2*Ϳ'5*9**&*&w#"&!F)`&!"&*&%~ʅ*B&Œ*`*G&`*!S-x&ö,͟**>&*@&w#">&!F)l&!">&*@&&`*_!%~ *2%*b0}!,~ +*#+> *>#**> **b0~>+*#2+> *> *> *}2%!%*O*:/ :O0:%y*:%!O0•+:e0!]0+~,:/ ,!/~ +:f0,:/++:_0,+:/#,:/ ,:_0=+!/~ +!0s!%~!%*4:0!/,G~Y+#x=+> Y+> Y+20!/>x6 #=,G!/~ pͳ'*&}?,>*/,`&%͈':^0*+,!&6S#6Y#6M#w!&w:%2%!"&ͳ'*2%`&%͛'͠'+,:%ʶ,:%.*P0"%.*>&}ʶ,>͕*æ,:%,l&&͈'!-x&CP/M MACRO ASSEM 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR INVALID PARAMETER: SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES UNBALANCED MACRO LIB END OF ASSEMBLY G:%x-!%~--.-*P0*%O {-z-.*P0"%!%^4!%w..WƐ'@'Õ*>:͕*!%^Ww*%{-|-}--{?.!%~#-6.-> ͕*> ͕*͞*> ͞*wsè COPYRIGHT (C) 1980 DIGITAL RESEARCH @: 5@%15252'5h+U"!""*"5j"2u3>2v3*5"3-ͩ-:5Z!""$"5"5"5"5"5" " 522>2 5:4 b:4$M:(5-C+C*M:(5!,5M[!35PMp%M(ʡͣ#v#ƒ$:5}% }!"&:5ʦ>%*#5}| V AX*|:5(#$*#5"A*#5"&#v#% RØV AR*&*R"A*5"%5!4NA#~ͫ% p"5*5N"%5!4q#͢%w 3:4(x *#5:,5o"#5V%2*5Ô; !:V :4:4{%͉"">2!:4:424*o,kÊo:4:4{,ʊ:k*%5#!(5~́ w23@:2(4y""3"323>2v3 :u3L!P46+(0>24:u3:v3"U24͋$͇%ͩ$!5*}*#5":4:4: =X!^#fk:Vj&AW y ~   8 ; C :4:4=G!4F#I ,*5͘EIr,o͉n2"5~2 r,Yo :K4 ͉:K4 " : 52> 2K4::4M:4 Mg %U!P46+:v3Ϳ$ý*3*3"3Ϳ$"3½:v3*3^#V{ʽr+s*3^#V ʽ-:v3:r+s!46#w4> 24͋$í!94~6!(5~6"3~,_#!4w͋$ÏV *3o6͋$*3~6 Þ*3:4,"3~ š62:4*3s#r2(5294*3#"%5͇%ͩ$@*3"5":(42:32(5Ģ >24*3"32(5 ͉r!Q4wM>=n2*5~2%! 5%~2͉:K4 v }>v S M:5p*#5*gu>%"u> %2 :5O%:4©:5[%! 4:4©:4,ʀ>:5: O%% 2)5:4:4 !*%5"-5>2'5*%5"&:4:4(:)5N:5N:4=N N*&"%52)ͫ%:(5ī%x;c!'54!'55:)5ž!":*5ʍ!5%Ù*5%*#5":5*%5~ *%56 ͫ%<͉:K4 "5~2o M%(>@%>#*55%!".!/5",:4M:'5M*,~#T :5T !4N*5*,s#r+"%5yP  ͫ%> ͫ%%g >v % 222:4¦ :4 – ì !ʬ ¦ À :4:4€ ( :4 :4:€ :4€ (€ € x !4À  :€ :>S %2 !~5€ :%j B !4À € !~5€ úG!~4_!p!~5^!~>À >2)5:4 *5" +"%5:4ڥ >ͫ%ͫ%[%:4 :4, V :4  + !4N#~ͫ% > ͫ%ͫ%*5"#5:)5- :)5%͉}*5" +"%5ͫ%ͫ%*5"#5>@:2(4:(5 H 23y"*5"3*%5! {#zt ~+"%5*5+"5wT #"5*5"3:)5ʑ N]T s#r+*#5* {_zW"3:)52v3 > > >2 5n2"5 %: 5*#5* 5"#5*55%"#5:5KBn2: 5O0!*", ++ *5:K4 0@:5Ĩ/ú>2) :u3ʭ :4­ *5+"%5[%2!<24*$#"$""*:40!??"4͋$"5+"%5͇%ͩ$+:4­ :4,J "*} :*5 :5%:4 +:25Ĩ/:4 :4  @S+ >2):4„ ͣ#v#: :5$:)%k %G I k :)%:)c %k %+:4„ :4, " :4 :4/ :4 :5 $*#5^#V*S"s#r*5*#5s#r+"5 |#v#*#5" 5:4 :4/ !"5:5> %AB,#*#5 :4:4 !;*M_!Q^#fkox Iͻ8ʗy0IͻGͰͻHIͻ(yIͰͻͻy0ͻIH'd ! ^#V#*"0}o|gF 9"":!`x=`y0l2!!4^4!4q/:4:4,; *5͉: 5ª|}$ªo͕Ͱ8Oͻy0H͕H͉: 5në:4:4,>C0:4M:4  ;C:4#:4 ! #! #{ozgBB**}j!]~ } #ymy>2(>2v3͖*5|EB"#5>%0,# ^#VÕJB*50MB*50!".*5} "#5^#V"5*.s#r+".*."5:u32'5!5~4P!"*|"#5>%*5%"".o!P46 !L4*>2(>2v3͖>2(>2v3͖NB:O* 0:+5ʘ0*5*!5S*5*!5S\gr!P4w#þH USE FACTOR !M4** "5A1z{*5~2*"#5v#!":5(%! 5%n25%%%>%n2G:5x:L4 o:x_*5#"5:5ʽ*5|ʉIB0>%%O%O: 5%*55%ý:5ʽ: 5O*5*5ESS͎2O=>O͎2N=#y{#* 5* 5 "#5" 5͎21͎2=HÎ2Î20:G!^4!K4wOOn2!6z_{_4A_A?*!5"#5*#5*5{z*/5+"%5**+"%5% V%=͇%͢%*%5#þ!v3ʲ:(O! ^#V4@B%GFB>%%O0*#5##~<##ò*#5"|3#"%5͇%:15^:4^!4~?^#ʲ:4͆!~3"z3^#V"#5}ʝ##~2v32w322(!~38w# ͖!~3"z3>2y3*z3^#V#"z3"#5*#5}ʩ##~<2x3G*#5###"%5:w37> ͺ!w3~w7>w> ͺ:w3Pd!5^!K4~ B!~624(02w3%!>%|_}_> ͺ!w3~w:x3ʜ=͢%ͺ!w34È*#5^#V"#5!y35:24(0!^4!K4w>R0>V0>D>P>L>O>B>S>N0!u~ڇK6N4!E s#r!U :mw* 5!] s#r!t~ ڹ6K^4!1w!;p!u~K!5N!E ~#fo!U ~2n!] ^#V"pK2oo&) ^#fkN]ivKzV{K>ɯo>g"!6ů{_zW5>)D*OxGғ !?uDM!xGyOڱò)â͝ddJ)=J|g}o=2o2o*p"rOxKxGyKxGy0KG*p*r}|K\\z{W¢Ü}|ڜâWʜllyWœâ!!#Qzg{ozg{ozg{ol&:oO:n2m*p" 52n2ox:4:4 ;!,ɯ2t2u2 52o=20!"5" 52m{!t~Q5_!1~9:uK:K4 *E"5:U2 5*]" 5*v"#5:K4 $:4§:4KK!4^#=ʣV²*4(—ҌV :4:4V !!*/O:0K>20y_j:t:_!;~:!ts!1~y_!t~X=w_!1~[Kdͪ>20$y$zU0!%2m*#5"v:mP>U0%4>%:m!>2m*202m!" 5/:0Kx*#5DM*5" 5}|^#V<>E0:u3ʛ*3~Œ:v3ʁ!\4>A!(0":3]#"3,ž"3Þ-2\  :4x_<24!K4w:94͜:94ɯ2:4284]294:4:94K)2:4;4~#!͜,!:4~*4!;4_:94w]294ɯ<*#5"W͉#4#*W"#5ɯ2[![4Y5!!:46"3!:4~q5!84^4!;4~â:u3:94†G³]âʻ^¨^·:94&·!:44#wó&G294xâG:94&:4G/G&ʷ/&ʷG/G!94~&>623y"!v36*5"3$"32:4*W"#5GJ2:42942(524> 2S(0>24ɯ242T!4~@`65!^4#:(5O:4yD(w~$w:(50 |:(5D(A:(5?ʱ@ʱD(Aɷ͙| ;!Cͻ2(5:'5:)5:5:(5ͫ%:(5 !J24:(5 ʞ;{>24:'5ʋ:)5.:5‹;Ž*-5*%5++{Iz]~ T++]!]+?"%5:'52'5hͫ%2'5ä:(5*—:S —ʤË ¤24͙ʳ>|ʾ>:(5'2(5> :u3>+2P4(0!K46 >24>24:(52SR:4Z:'5:4=!EQM<8!LE:(5=I!NE>I!LTM>!GT:(5=M!GE2(5"4!44>24!(5:4ruͳ u͇:(5D(OʓQ˜>ßH©>2T2(5:SD(B¹>D> !452T!"4!4N#~#A07O!T/!~*4! ) "4 :(5 5!'':(5 :(5,;%:(5 !:(5; ,J242Z$ l ` / ‰ >24#!:(52S:4; ¡ :4/!:Z/!)!:4 :(5'#!R:(5'z 24É :(5' >24#!^ :(5 #! #!;!)!<!!Z~4z #!>!!Z~#!5z #!:Z#!G )!Rz >24>VG!>OG!>IG!>BG!0!P!w#w#["!"#5!U3w#w#p"!u3~#4^!v3~w!3ͷ"!3ͷ"!3ͷ"!3~w!3ͷ"!4~w!(4~wN#Fp+q!u3~#^!v3"!3#!3#!3#!3"!3#!4"!(4"5~wN#Fq#p>B0!4"%*%F# #2P"*#5##~G=#w#6#w]$*5!4n& {ozg"#5!5{#z$"5f$*5!4N#yʦ$ ~Ù$f$!U3"Q"/$:P"%*5!3{#z"#5%_!U3*#5~#~&%~#$"5ÿ$&%!%*A1SYMBOL TABLE OVERFLOW *#5###w*#5###~,#*#5_####&%s#r&%^#V&%##"%5F%wF%~#!4~l%6~=ͫ%ͫ%!4N#~ͫ% y%͢%͢%2P"*ÿ*:?*ÿ*:@*ÿ*~x/~# *> x/\ ?-$-w#+!\64 #+>GO#w %+>O # <+6 2+6L#6I#6B#w2|*\+>2*5!"B*!(5~2A*w͹*!1*>826*27*!"/5*"5!5"h*"*"*#"5"!5\, _#~ͨ+ ¶+:;*Aͨ+>:ͨ+Ͷ+>.ͨ+Ͷ+>-ͨ+*!1+!32*!1+:=* D,> D,:D*6,_!D* W,6 4ɯ2D*2*522521528*:\ -2;*2@*O:\ʋ,=Ì,y!<*w#w#w#w#>2+52,5:m$>-!~#$ª,~>-# ʱ,<*A-P-S-R-L-*,+,-,-+5~S-M-25L-15Q-8*1,-x#ñ,~A,-#ñ,#6 !1*!*!E**e !N*+-!j**%,r-6* ,,:=*ʂ-:>*…-2:?*ʨ-!***ѯ2:*29* ,,!3*60#60#60#>235!"*:5ͨ/-!"f*2Q*2e**E*+!1*z{:*5G.*B*-.!"B**\..*B*#"B*+~¤.:u32*5G.*\!F2+*f*-•.*!"f**h*ʹ*E*€.a.Ò.Ҫ.ʒ.6# ‹.͹**h**f*#"f*~!2*G:=*..xx/.x.1,..****w#"*!-*!"***j*!*-/~5/ʹ*9//͹*!2*1L/****w#"*!-*!"****/_!5*~ ͳ.27**/5}!1~ /ͳ.#/> ͳ.>#ͳ.ͅ/> ͳ.*/5~/ͳ.#/> ͳ.> ͳ.> ó.}26*!7*è/Oͳ.:K4 :5:=*yx/:8*!5I0:25!*5—0~0:K4 0!K4~ —0:350:P4+—0:,50ʗ0:Q4#0:L4 0:,5=ʗ0!K4~ ʇ0!4s!7*~!6*Ԩ/4:4!K4ʺ0G~ 0#x=ë0> 0> 024!K4>x6 #=0G!K4~ p%,**}0>ͳ.0*j*+:+5ʨ/0!s*6S#6Y#6M#w!*w:>*2=*!"*%,ʨ/26**j*կ ,,0:?*1::*Z1ͬ2L1͎2**}1}w1>B/a1}|Gd/:?*ʓ1**+![2*CP/M RMAC ASSEM 1.1 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR INVALID PARAMETER: SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES UNBALANCED MACRO LIB END OF ASSEMBLY : 5O!5 ~#fo: 5O!5 s#r:?*yʟ2š2ͬ2Ž2G:9*29*!:*4>6:9*L/29*2%#333/3 3333#332E3 3   MXList WAITING FOR PRINTER $PRINTER READY $*+"S" " " " go"Q"`2 2!2!2X2Z2]2^2c2_2\2W!*" " " " "=";!" " " " 2 2 !" ?No Start Address?Loading Error?Nothing Loaded?Out of memory?Illegal Polish Exp:!‡!!!2!!!2*S! ~ 4!>2 2Y:c2c ,/MEG@RSUXYE{ O :Ù&O†2WHO2WG:c2c:'>`͇Ax¹'"U _2:f Ğ2U!c~w:f ~w:f 2Yæ2Y*`|##yȷ#jC~@#I" #ͬ*`|#*U~ !:Y:c~ G@x k o Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft ?Command Error~P#~#  `{ +!~G #~ ex+#<~: /͔>*P d> P:e!fo>g6 7ʌʌ  y:+y#P2\2f g !  :\GO: " " " " * * " ";* * BK* * "=2 G<2 z6#z: O4ͅ {Ҏ!y yBKO!; s#r! s#r! s#rͅ ڬ! s#r!; s#ry ! ~#fo! ѵ! }_|W>2 * * <* * : <ͅ P* * W{_* #" " "=:WGO0ڗ xڗ)))ҖʌҖ)o>gdy +%Overlaying areaDataProgramÔ!! ~#fo!ͅ ͅ ͅ &}< = yy7yM7>,>#ͅ !M> _!h >?P~#P!yk!:!ʆ!; Not Found> P> P>2 g 28: _<2 !~g ! w#! wO |!y:!(͔*QDMÙ&[Begin execution]:Z:X* * ͅ ~`~¨@w+++o>GO ~+t>ʊ6 #=ƒ* ! ͮ 2X * ~O_+++y++:XK͔:c2c *Q>[P"N!C \* s#r!I   \! ~# != = = \* ͅ = *ͅ = s#r"N2 * * ͅ ʐ ʅ 2 M\: z x/Gy/O~w#~wM M" z _z! ^#V   $ 2 = ] m `i ^+V! 4* M ! 4Ð ! 5 PY\  s #r lg   # |/g}/o   DM!>= ))K K z zi  BK}o|g҄ : ʫ ͅ ҫ | >]P͔: : $>2*Q"!o&'  d   >0G /}o|g x0   > xPH>G~#' j~@+^+V$MEMRY$$PROG$COMNM*QA!Hw#] j{ ~@{ +^+V"Q! 2A! ?Start symbol - - undefinedg  ~#³ ͞ REL7*`}2X:c` j: j͔ p @p ͔`p p p * } , >wk  :`? !K * !b  Undefined Global(s) Bytes Free 2bP  ~O~>-ʑ > >/P+^+V+~P ™ /PN~ ʼ !ÿ "~ N+^+V>>PN:b?2b̔>wt :bȯ2bÔk [ M  ~++GOŸ& H+D ; & yE >  * [ S } 7~k ~~r <</_* Å |}! 6S#6Y#6M<$>* * ͅ ~O~@ +^+V > h%+~h% > h%= >~ <</O ß ͑&%|}G[h%> h%> h%:WG)0P) 60P3|L}U[P0:͔! ~#foN"N"N>>PÔRQUESTͬæ* : * ͅ ~_~@+++~#* BK" ö+++ö2!2 2 2 : go" " " 2X" <2 : * * * * *=͝QiEZͿE! ~#foBK#: =ʝ: ”* |ʊҔ}Ҕ͝p#: ”* |ʲҔ·}ҔÔ: =: Uw+p+q+p+q#Bi++s" ͇:7>[?@2g ԇx " h 5)> F6 #=>x2f y.̇p xanbʃ!p ~ ƒ6R#6E#6Ly[ҥ0ڥAҡ:ҥÊ[ʡ]ʡ@ʡ\ʡ^ʡ_ʡOb: : 2 BK|A~_q#Vp\AU: =>@w+r+s+@1: 2 r+sA: =* >jV/o/g ڮA~@w:]2^s+++~ s2^q+p:^O!;>2 }|!; s#rͅ y A!>/P͔A~W+++~P+%2nd COMMON Larger /*;" |2 * ͅ A> j~@wA7U: >8: =->G: =7>@w@w+w++1: 2 : : =r+sA!HIF5#wj~+ܾU6+6++r+sA*K:J2 fU: ;: =>@w+6++r+sA:!A>.2!2P* !J͞!g2!+}2_! w#!ڐ ‚! \" " : :Z!ګ!  w#! ¸+w2!͞A!!?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!aǗzʣ̈́"Qb! ^#V! ͪ!;ͪyک: * * ͅ * " * '* * * BK* " ͅ " " ";" " ͅ 7* * * ͅ ]!* * * BK* * * * * " * * BK* * " " " "; ~w#~wPYb>̈́BKj~@: ~@w+~_q+U: =>Cw+p+q+r+sA! ͔A%Mult. Def. Global ~@*`+"`PYb>̈́BKůj~+nN+F@‡: ›:B(b: =›zAA;|A: ›r#sA: ›|A\zA#U: =ʯ>Bw+r+s+r+sA*`#"`!7~#46+wxG ɯ2 7Y!HYH!Hw74#6 _Gw#;!T"7O<2 XP̊wwO!9 N#F 2[: ʚ2[AC( r>-: " *=>2 * ͅ A*=>j+^+V\"?Ab: =#<2 =A: A*= APY7* K" !*="=* !" }2 <2 A:[* * |G}ʼ~O©H©A+++¨+—~ y/O oHOx_Ow#2 +w+w+w+ w+w+" 7ɩ))'):B($: ̈́: r2 * * DM* " *= "=* BK" " " " * " Ͷ'* |‡}ʠ~_|!^#V* " (M\~#+>>><2Z=O! $! ^#V0y=Uy?\ͅ ?\|y! i! us#rx^#V͞! p#”* ! N#F#~#fo! ^#V  ! ~#foͅ H! {_{_~H! ^q#Vp! ~s#_~rW}&: $#qͅ {_! 6)`i{ڠ! #Yš* * 6* " * * " ͞* ͅ ҙ" ! yڬ! ^#V ڻ F#fh! ^#V ^#Vy! ^#V^#V! s#r Gyx! @s#r#1xS|W}_x2 * 2 yoxg* " *="=*?PYͅ ڙ"?: ʹ=¯* !" * * ͅ үï͝*={OzG* * DM7xw#  +x~+ xw+ : 7={O>: 7J?Intersecting wO* ͅ <26: ?Oʣ: Jͅ Jͅ J!M>,P*6&0M^#Vy!HF#~#P>(P>)P: " Start = External Public = %*"!2Z!:Z?!͙!͙! y-!* * ͅ #* " ͅ |!*Sͅ "yb!*Sͅ "ͅ ڵ!*Sͅ ڮ!!!ù!!!!!!!2 YxbelowaboveOrigin loader memory, move anyway(Y or N)?ͅ 0"ͅ D" "!ͅ D"yS": W"*Sʀ"a"Oͅ €"y*S€"! ͅ ҇"!9;;;;;;ͅ "ͅ ڣ"z"&'7"ڿ"""ͅ #ͅ #"z"7* ";* "=* *;)##+#KP*;";!* BK*;* *=l#ʮ#l#O* * " * *=BK* *="=#PY* " * " Ø#* *=#BK* * " * * " " *=" *;" ! 8$~R#~E#~L4$:c)$7$w+)$COMHEX`$  <%2 : $}$* * ͅ $!c~ʌ$ ~$:\ʲ$: µ$*Q\" " &yO: &w&%*Q|$ͅ $%ͅ $ͅ $.%>%7Ԓ%R%: %yO%>%R%: Ă% <%>h%*Q}h%|h%سȯh%zG%%z~#h%\%!: _w{<%2  %%"%yO#"%!%\%.%fh%¹%! ~+ x :_*Q:_*Q\!%?Can't save object file{{ _zW;&> A&{ H&O>:h%y Y~# c&+&>:h%G*Q >>h%!*'͞'!0'͞'!3'͞'!9'͞'##²&##͞'##¿&#͞'!z'͞'!'͞'* "'* "'* "'* "'* "'* "'&'m&'͓','V'G'V'l'|'V'l'|'V'l'|'!' N#F#^#V#~#fo|} +x~+ q'xw# |'xw# Ó'~#fo&'q#p:B(* ͅ ~'M(:J2A(*;" 2 U6+:A(wAMz(2A(7(:B((*;" :A(2B(*;r#s+:A(i(*;͢(" 2A(2B(!* p# P(!HN#*~# ^(Ar#s *){ʅ({ƀ_҅(zʞ()Å(ͣ) *)!.*ʹ)!.*V#^(((!((ʹ)(z(!.*ʹ)(ͣ)z{7.*z w#)0:ww:*!;) )+ )!1)?Segment , file not foundcan't create fileread errorDisk is full)!@))!O))ͣ)!a))ͣ)!l).***‹)*—).**!+@=~vO#~ Q w#6 #wD̈́K>2<2@2>2-=2<2<2=2<2?2=!= w#—<2(=2.=2/=2=> 2<:@2<:@2*=>;23=<22=!"4=+"@+"6=*'@!!62[?21=2+=29=2?<2)=?!H="F= ~# R*4=#"4=!"6=:2==23=!9=>2@2@͖ CCl CC0Cw#C!H= ʎ ~w# Žw:9==28=͖q:,=ʨNЯ2,=4OMگ!F> 2H=J> J7ò- !"C=20==2?*="=:H=*>$2H=$2E=U :ʋ:E=$:==$U !=~4#>$Nwy#*F=+~# ʿ+U ~#~"RR *F=+"F=:(=k+s -"x-ʯ7D-"F=+ÿ:(=ʹ1 -"C=j # :µ@ U 6 :(= ʒ8 :(=l`k#~! _^#V#N1! ; !H="F=*C=|U :(=lÍ'!==Nwy#3!>">!> q#K6 U l;l:<—:>VʋMʋDʋX2[?~+ACDEMNOPQRUVX!>~ p:>2>%No END statement:=.ʊ$ʒ[YTE3ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN LOBALkvALTvLTF2FB9FDIFFEFF:FIDN3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*RIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RAZUB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL;LFCOND)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALL(('()-((5*5,,))))))))h6f6(5C,~&+*A4**i7+9M+ +[9;7+U+\+!++))*+++,))d+h+m+'-@  F"  (85vCd} *F=~#"F= oA 0 : 7}ɷ[ a { } 6 *F=+"F=*F=#"F= aS 6 != q#a !=6#ͱ  2<a w# yʟ ͱ x җ x Gy2=xͱ җ × $.@?_// // &:? ͱ & 6 ͱ 7 G!r?:=' " 2=~!?  "p?^#V!g? w#: !=~K 6!=N zʾ ^#V#^#V#~=y =G‹ #n #~=¸ #"?=#~+?j?!g?w#Ÿ w#s#rP P +>Ð <*A=~*@####~7#_"@:=$.?_ ;O$ "?=͓ *n?z :m?O s#rw# & =7 >wG#w"?=#w#w#w###w#I "A=####p*@͍ ;*?=|>!x F?Symbol table full |}:<:@:-=*?=~@ڹ >>vL!=F#~vL *p?  G~8#~ +~w#~w#s#r#*=s#r~@w:<# ~a~a#^#V#͍ R*=xD{a#za:> *?=# :0=a*?=~*?=#~wxGõ>LyL@ Z6LZ@LZRLZRLyZOLyym-LZRO*ZRv̝LZR*ZOLyZ@*m-L6 ,ɷÝKN͝Ým-zf<ĝ{Y! ^#N! ^#VZԝBxL{?LZ8ĝBLNܝc:<Ü̓ :>H:<0:<Ü>L:< L>2<:<<=<2<ů2< 6 (-2LKҫ:<ԝ Om-ͷyHLyL:>G¯BxGj*=*=͍ j##T9zC<xxm-ë*ů2< 6 (2L{Nԝ:<ĝc:<=ĝNԝc>LcnAÜNԝcn [:<ĝ>Lĝ;{:<=ĝ>L@ÜNܝ*e R:<fĝ[NܝcH:<(:<ĝ>LcNܝe ĝ>LcNܝ:< ĝ:<ĝ>LZԝO*k7:<(>Lں{:<̝ :<Lcĝ>L[/k:<̝"(:< :<*cy  :<Ü:<Ü>%{ :L/:<L>FL;{N*c:<ʴ ĝ:<ĝ>LyBONĝe ̝c:<ĝ5N*c:<ʴ(:<ĝ â:<Nܝe ̝c:<̝Gxĝ> Ü:<ĝ :<[4:<:<ʙԝ c:<ĝÜ([:>:> c:<̝ ڱ:LyC͜(2>2>:<(>"LÒ:<ĝ>2LÒ:< :< ĝ:< `ƝL͜ĝc:<ĝ>L2*L>LyK͜c:<} :<^:<;͜{:<  s:<񇇇@OÜ :<ĝ>LGÜ:<( c`ƝLp:<͜(@{ĝ>:L[ĝ:< Ü;c>6LKB(@{(YPy:<O:<ĝ>LyWÜ!>?AFwx# 3:<G:<7b*=#"='h'*>'>͍ +*>:@`))0) ‘0Ž:>:>6!6"6'6*#">ßG:>@2>:2>!>~ͯ~@ô~ʹ#~?Gxʚ#~72>>A;hS#^#V"=G̓2>#^#V">>C1#^#V+~z><2>= G>>B#~Š:>@>§>2>>A;''2>{2>!>"?=ͩ:<*=##"=:>G:>@x̓:>G̓*>#">C'B'x&x746!96**>##~#fo6"6'##">̓xP:>@xʈ:C+B+x*=++*>#:=G~w#s#r#*=s#rC'B'b:>2>:>x̓³z ĩ2>*>#~2>*>#>͍ +*>:@)0) 0">DExx0:(:*=G:)=G:(=N:/=S:> ~:> o:@+2+>ÿ>+2+>:> ¿:.=:> :1=:,=>C2*>:[?:/=:> !3=4:2=p:[?:@>vL!> ~#d:+=Z:?=##:?#!9=~#06d(>C:8=H> d!H=~# Z dK> d> dO:[?yvLJ>23=:/=ʍ> vL!1>!*4=#|+:/=ʤ*6=#"6=:/=|ʾ>-vLZ!>ZZ>SvLä~#vLPX |>:d MACRO-80 3.44 09-Dec-81 PAGE :> Q)*<#"<*<#" !>">O!f ~*>w!>"> '"!*=:=*=:=:=x¦*=*=͍ "?="=ĩ:A> y> C+B+y*?=+~xGW> #######FyxG+#W>_xGxGFɯFxGF .7FxFx!>~w#4ZL>2>U C \ \'"(ʬ)ʯ+ʲ-ʵ*ʸ/ʻ;ʨ,ʨ >>>> > > >!G) # ) o2=) # x) eo) n==x*F=+H 2=*F=++"F=H "F=GHg:<o|DHB} |BwDʕHʝOdQ•ͼOqQ þ!H Bq0Ի)z#zͥDnHn!H 0)T]))_è!H 0Ի)))_ÿ!H G0 ))))_Hû:<4!H 00 ܻO:<=ܻ<_Pc$ =ͥ=ͼ6 q6 :=2=ҿ=$ ʿ!  ʿo#g=b#t!S ~Œ2< ;ʹ ʹ° & × °6 þ*F= # #7 -#~G ĵxw+!"F=$ t:<ʮ:<7͓ $ !*@w!7 Gx22>">ĩ:<>C~@x##^#VOQb#^#V"=y y¾þ7͓ "?=~Bڨ~8:<2<##~2  þ:=X # '¿ 'n$¿j OþXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :< :<:2>2=2<2>2>2>2<2<9">*)@͍ 4\!]!~!! f!O2>̓!=y "" "?"y2W?͎! 6 ,8!:>8!2>> ß!:W?O:>O!f! "x̓!G:W?O`!"f!ó _y{y!*=YGó !"_~xž!ůG|2>?"y2W?͎!!F%:W?Of!è!@ 2W?:W?G2>O! x怱!>w*F=+N{*>2>z |= yWx=z6"z6"ʳ 6"6"6" >G̓!Gó "Y?zR" ͪ""=">y2W?͎!"ʡ"2X?ʋ"ʋ"ʋ"ʋ"ʋ"ͪ":X?*Y?!#o>g~#fo:W?O*Y?ʶ"y}!"=y%"*="""*>"{%z%   P#Z#d#n###N$$%##Q%\%h%u%{%%%%#%&&&-&C&c&̈́$zW{_̈́$zW{_̈́$zW{_*>|/W}/_:W?O>%%*>|/W}/_:W?O>%%̈́$zʬ#)â#̈́$#+}zW{_ò#*>:W?y#:W?O2>:W? #*="=*>͔$>%%*>G$:W?%$%$y%$$$:W?%$ ?$=:W?9$y9$2>:W?O>%%{_zW*>i$:W?O> %%i$ DM!>=ʂ$))p$p$:W? *>:W?y*>ͳ$:W?O> %%zzB%|G|$|%$%|/G}/O!>$ $7>{_zW}o|g=$|g}oɯO_yW*>z5%|5%|ͳ$%:W?O> %%>O!G͙%͍ o%͙%͍ ?o%͙%͍ W_ ͙%È%͙%͍ o%͙%{_zo%7o%?o%:W?L&*>*>\W:W?O>%*>]W:W?O>:>@2>!>4~?%o%$w5y%:>2>̈́$}R_̈́$}R_̈́$}@_̈́$}6_̈́$}Ro{R_̈́$}?_*=*=͍ :W?_ :> Ox&> 2>,̓ x 2=xGʱ&:=±&*=*=͍ :=G*="=:<ă"= :=&:<ĩ:\?2':\?ȯ2\?U 2'1>G2=<2\?2=*=õ&2'1>2\?G2=*=õ&2'1>2\?G2=*=õ&:\?,:==`'o& ^#V*=͍ s#r2=*=##K':<ʇ':=ʇ'*= ͩ2=1 6 "ʠ''(G) ) *F=++' ) '³' ʳ'6 ,';'' "F=(y(# G) ) 'L) ȸ'# ( ,ʍ'LÍ'Z:=y,ʍ'̓ x1 "N('ĝO) d( o(GŷLP(xx|(L,A(1(h'y,›(ZCä(:@ʹ(z*=#"=:<'ä(*=:=Gõ&2(:<:>U<2>1h'̓ y,(:<=)G2<:<=)2<:<<2(=?)2<@ ͣ:<ģ:<̣!<;)=@ 4=2(=<2<@ 51):<_2>W!<7~?)<\)w!<4:(=2(=!b*T],l*zr* Y*#*F=z̝}O|G:> U Oĝ7 -#~@w ~ĵwy,ʉ*1>O*>; *F=+~# ****#"F= () 'O*6 ) )ĝ@ >2/=Y+2/=Y+2-=Y+U G+ G+ $ :+~@w,U ,+>2-=>2.=Y+2.=@ >2.=Y+}+>}+:@/o:22<(2 {=ʝҝ<2 +{22=+?pU :=+>!=w#"?=:<ĩ,+:,= *F=+qN1,4O=2,=*F=~#"F=!5, () 'U ') )@ :<:=x,>=!]?G~µw#„,p, /U ,/@ #~µ~$w2'+"=>2=!"=ñ&>2=:=U - -~w#~d -~w,,͝-w͵,~Bدw#w#w#wU ~#~>-,"C=m-:>21=Ux¯x 20=*C="?= x4̓ :>"C=~w|21=m-x¯*C=-#~µ~@ w#s#r#*=s#r4͸K:?w/:<Ĩ/!<4~=Z.!]?~-!1>~-!@#]?~# . .. . -!V?p#"?=ͩ2'!5O"@ A."?=~w#~@k/~.#^#Vͩ.*= ͩ *={ĩn*F=ԃ +!"4="6=}2/=p!/!3=44!r?>͗;Z:3=8p!3=44!/!?>͗;Zʹ/*<|.:@<2[?2[?.!L//!O//*<|/>,vL:@<>,J:@<2[?2[?!_//ʹ//̓ͩ*>|,/F/ͩ+:@C/>vLKLNo Fatal error(s) Warning(s):=Gͩ./!//)ô/REPT/IRP/IRPC/MACROUnterminated /!//)> Z> Z:@<> J> J!/:@0"?%O;.0~<=r0:@<2@:@:@=2@<#~^0:@^0:@^07"?:?=2? &0*F=~ 0 0U 0"F=0>&2?>1&0:?0>&;:2?*@~ 1=1O+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1:: 1 1:"%@ʞ: ʞ:> ;:Þ::@1*@4I2* @~82G+#2~/_2~F2=G+~F23*2+<=C2+;2~>.33?*@O DEU Ă2=ʦ3%2,ʰ3 ʰ3 ʰ3;ʰ3!) 3w+ Ô2"{3q3(:> 63:<.33PX 2|2>:f3)0R3>)30R3=363D>3E>3 >0f3xG3x0:R3 f30O:f3>0f3y*{3w+"{36 *{32Ow+ ʏ3 3~3w+ ~3Ô2ʢ3w+22322{=*F=+~ 6 6 ʵ3õ3!=͍ 3#6 +>1&3:>1!  4>1!4r ?Stack overflow, try more P switches (:> O4"?/c4> \^4U :U H0ʄ4H=;: y4ɯ;:͞:!*#@*?!!44͍ 4:@¾4x4*?͔9͊02@*?r:5H=͈:3 4*@*@*?"?"@"@ bkë4:?2@+5ů2@@ :@ʊ5U :U O^5yf5y n5y@{5:@=2@:@<2@:@:<(:@#~>P)!ɷ/"@i2O:> ʰ5*@͊0y6+,ĝ5) <ĝw+:> G6G5͌2 D6>G65# <2@ 5 =6:@6G6 ;,76<36>76G67676 w+5:@G66+.0xĝ" @&i"?m6\4>Ô5^4*%@>2@3H0ʱ6 ʶ1;ʫ1'ʡ6"ʡ6>1Ç6G͕0 ʶ1ʛ6â6"%@;:͞:!*#@* @*?!!64>2@" @͍ 7:@6x 7* @##~#7+4r:47H=r:1:3 7* @4 bk6 ʝOJ) V7JG7> J> J:> @ ʝ2 @O ʄ7@ u77\4^4!H=: @O~ʥ7 #Ù7!ɷ #"?~(w/"@i2 ,7w+2@2@ 2=xx2=*=T9"=:=2=@ !!@Ns#Frͦ9ͯ9q#p*@^#V+*@##^#V+*!@}9ͯ9"!@9*@ "@*)@͍ I;*?%:?͍ I;*@T9ͦ9*%@{_{:s#r#>w#wͯ9%:s#r*:"#@*#@ͦ9s#r{_*%@{̺9*@w{W:a:"%@{_ͯ9zʺ9*@}‚:}o~r:{ʗ:a:{_ͯ9{ȯw#w*@s#r͔9*#@ͦ9q#p*%@{:*@"%@~{_ͦ9{_{:a:*@*?:?;*)@%T9o zo W{_*@*@T9BK*@"@xE;+w 8;"@O;9*A=*@T9o zo W{_*@T9BK*@*A="@ "@xʕ; w#È;2>2>O!^#V#ͷ; ;:>Zz^#V{;};++V+^{;w#w+++; F#"?=~@#~<~#^#VG5<<_<{…<{@Đ<{ʈ<{_!f~vLz<###~#vL;<>L<5m<:>wZ!3=4:2=p*?=~@w> |<> vL>*>M>C>UvL2<*?=#{G#^#V#^#V"=̓"?=#~ ĩ>IvL!>">*>6!>~G#^#VͩQAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPERELCRFPRNP?Command error?File not found?Can't enter file~J#F!FF!FF!FFXGCOMSCNF",AF2@!@͸H> 2-A25A2,Ay,2@G:@2@H>A:@G;AH-A:,A2@ 2@G:@@2@!@͸Hy=7H 7H,A#H 7!@͸H:@!@ܘH!@:@SH@;A> =IHܘH:@hH:@hH:@2@ _2̈́K%K;K*@##:@2@G,A ~²HHw# ¨H #èH w#»H:@!5A~ Hw#H*J:7>IxHJOx=y&I[A@2,A*Jx I -AoIJIT?IJT7JY7ILYIJS7JT7>IR7JD7R7>I> ڀI6 #=xIy.2@*J5AxژIʥIJÙIy/yJL¾I2@JOæINI2@÷IOI2@÷IRI2@÷ICI2@2@÷IMI2@÷IIJ2@÷IXJ>2@÷IZJ2@÷IP7:@<2@÷IJ[HJ0HJADJ:HJ-JO!~6GzJ#~ cJUJHFx+#tJ~iJ2@ÚJ2@:@JK>*J GF> J:HF!IF"Fo>g6 #> w:@J!IF~ JaJJAw#þJ~# J J K#"F_*F+~ #KJ#"F+~7ȷ> J> JEB!"CB!@:@NKCA!"AA!@:@K~K͡K vL> vL>vL*CBEB@NLEB@K:@ʰH:@K>L*AACA@NLCA@K|}YLƀ)`iíL> vL> vL> vL:@ʰH:@¡M =­L!CA>!@íL:@ʰH:@J*AA|=L#"AABAw:@<KM*ED|%M#"EDFDKGD>@=NM!=*M!>JM_!@ sM qM vL~zMËM7ȷ!MF@@²M> J!MFKDISK FULL!M:>ŒN@Nw#2@.ʷN!ڷNw#N2@.ʾN!ҥNþN6 #·N:@.Nw#NpMMN2M2M:M=OMM0O!M"M>2M*M~+O70O#"M0zMËM7ȷ!MF@@²M> J!MFKDISK FULL!M:>ŒN@Nw#2@.ʷN!ڷNw#N2@.ʾN!ҥNþN6 #·N:@.Nw#NpMMN2M2M:M=ODOÿCNC2;COC2;CRC2;CCD2;2 ;CMD2;CID2 ;CZ(D2 ;CP7:;<2;CD[TD0TDAPD:TD9DO6 7 8 \ !!!!!;!Ñ#;!#;!/$;!Ç$;!$;!$#1#> D:@!@"Ao>g6 #> w~# D D D#"A_*A+~ #WD#"A+~7ȷ> D> D>!X;~hE\E w#“EwX;E>: ;B:7; _F> _F>_F*<*$~ʫ#>L#*$A#)%>%#>L#c##>L#*$*$s#r*$6*$6*$~$>L#*$A#)%V%$>L#*$*$s#r*$6*$6*$~?$>L#*$9#|ʂ$~2$#*$s#r*$5z$*$*$s#r*$6c#z$*$6#6:$>L#2$*$~›$>L#*$9#:$w#*$s#r*$5$*$*$s#r*$6y#>L#:$*$6ISK FULL2$>͇$*$~ %͇$$*$6*$Q#!%>L#:$w F(3(Q%>R%3(Q%3(Q%K%?&!G:>uH@Hw#2;.ʠH!ڠHw#yH2;.ʧH!ҎHçH6 # H:;.ʴHw#´HpGGH2G2G:G=IGGI!G"G>2G*G~2>&s% !t%~#o|g6:>&p&!u%~p&;(w#c&!u%:t%~#& ʷ& v' ʤ& ʩ&ʩ&ʭ&~&~& ~&y~& ~&yG>GO> '&~&> '> '&~#8' "' I' ' '''&& &y& &yG>GO> ʹ'.'&> ʹ'> ʹ' Ҵ'ʴ'ʴ'ʴ' ʴ' ʴ'>^ʹ'@ʹ' '''' ' '>^'@'*. 'O*. 'O*.'(x2'y2'CH:'_3(:'_ 3(Y 3(X3((3( 3(OGa{_HO(Wp(He(Wp(r# xp(͐(H ͙( H͙(|ڹ(ª(}ڹ(~# xª( ~+ x¿(ô(!($.p(He(Wp(r# xp(͐(Hssumed to be ; ; on tracks 0 to Firstrk-1 LASTRK EQU 77 ; the last track copied plus one ; DIFFTRK EQU 0 ; difference between first source ; ; track and the first object track. ; ; (applies only when default range ; ; is used) ; ; Only one of the following should be TRUE ; CPM EQU TRUE ; TRUE for CP/M copy (thru BIOS) DJ2D EQU FALSE ; TRUE for Disk Jockey 2D (thru eprom) MMATION EQU FALSE ; TRUE for Micromation Doubler at double ; ; density (thru eprom) CCS2422 EQU FALSE ; TRUE for CCS 2422 (thru eprom) ; ; IF CPM ; currently set up for fast controller SDLAST EQU 26 ; the number of sectors per track ; ; Also determines the lengths of ; ; WRTAB, READTAB, and WRITAB ; ; CP/M 2 users: this must be the ; ; value in the first byte of the ; ; disk parameter block. SDZERO EQU 26 ; the number of 128-byte sectors on ; ; track zero. This is usually 26 ; ; even on double-density disks, ; ; per the IBM standard. RSKEW EQU FALSE ; TRUE if read interleaving needed ; ; Note: change READTAB if TRUE SLOW EQU FALSE ; TRUE if slower interleaving wanted TSKEW EQU 5 ; Amount of track-to-track skew ; ; (if RSKEW is FALSE) ; ; Should be less than SDLAST WRSWCH EQU FALSE ; TRUE if CP/M 2.2 block/deblock ; ; routines need various values in ; ; reg. C during writes. See WRTAB WRCODE EQU 2 ; value passed to sector write rtn ; ; in reg. C if WRSWCH is FALSE DDEN EQU FALSE ; not used in CP/M DSIDE EQU FALSE ; not used in CP/M SECSIZ EQU 128 ; Note: 128 if CP/M BIOS is used ENDIF IF NOT CPM WRSWCH EQU FALSE ; just to eliminate assembly errors WRCODE EQU 2 SDZERO EQU 26 SLOW EQU FALSE ENDIF ; IF DJ2D ;SDLAST ; will be set later RSKEW EQU FALSE ; No read interleave needed ; ; with version 1.5 board @ 4mhz ; NOTE for pre-revision B boards, RSKEW may be TRUE ; ; when SECSIZ is either 128 ; ; (DDEN FALSE), or 256, 512, ; ; or 1024 (DDEN TRUE). TSKEW EQU 2 ; Amount of track-to-track skew ; ; Should be less than SDLAST DSIDE EQU FALSE ; TRUE if double-sided drive DDEN EQU FALSE ; TRUE if double density ; ; The following value can also be 256, 512, or 1024 SECSIZ EQU 128 ; number of bytes per sector. DJPROM EQU 0F800H ; EPROM address (board version 1.5) ENDIF ; IF MMATION ; NOTE: Check WRTAB and change, if necessary ;SDLAST ; Will be set later RSKEW EQU FALSE ; No read interleaving needed TSKEW EQU 3 ; Amount of track-to-track skew SECSIZ EQU 128 ; number of bytes per sector. DSIDE EQU FALSE ; TRUE if double sided DDEN EQU TRUE ; always true (for SD copies, use CPM) MMPROM EQU 0F800H ; EPROM address ENDIF ; IF CCS2422 ;SDLAST ; Will be set later RSKEW EQU TRUE ; read interleave needed TSKEW EQU 0 DSIDE EQU FALSE ; not yet implemented DDEN EQU FALSE ; TRUE if double density ; ; The following value can also be 256, 512, or 1024 SECSIZ EQU 128 ; number of bytes per sector. CCSPROM EQU 0F000H ; EPROM address (MOSS version 1.1) ENDIF ; ; ; the following shennanigans are because ASM does not ; have an EQ operator for comparisons, and neither ASM ; nor MAC will perform an IF exactly as described in ; the manual. Therefor, a TRUE value is constructed ; with AND's and shift's and OR's. ; XEC1024:EQU (SECSIZ-1024) AND 0FC00H SEC1024:EQU NOT ((XEC1024) OR (XEC1024 SHR 5) OR (XEC1024 SHR 10)) ; SEC1024 is TRUE if 1024 byte sectors XEC512: EQU ((SECSIZ-512) OR SEC1024) AND 0FE00H SEC512: EQU NOT ((XEC512) OR (XEC512 SHR 5) OR (XEC512 SHR 10)) ; SEC512 is TRUE if 512 byte sectors XEC256: EQU ((SECSIZ-256) OR SEC1024 OR SEC512) AND 0FF00H SEC256: EQU NOT ((XEC256) OR (XEC256 SHR 8)) ; SEC256 is TRUE if 256 byte sectors SEC128: EQU NOT (SEC1024 OR SEC512 OR SEC256) ; SEC128 is TRUE if not 256, 512, or 1024 ; XXXSKW: EQU (0-TSKEW) AND 0FF00H TRSKW: EQU ((XXXSKW) OR (XXXSKW SHR 8)) AND (NOT RSKEW) ; IF MMATION AND (NOT DSIDE) SDLAST EQU 52 ENDIF IF MMATION AND DSIDE SDLAST EQU 104 ENDIF ; DJ2SS EQU DJ2D AND (NOT DSIDE) AND (NOT DDEN) DJ2SD EQU DJ2D AND (NOT DSIDE) AND DDEN DJ2DS EQU DJ2D AND DSIDE AND (NOT DDEN) DJ2DD EQU DJ2D AND DSIDE AND DDEN IF DJ2SS AND SEC128 SDLAST EQU 26 ENDIF IF DJ2SD AND SEC128 SDLAST EQU 51 ENDIF IF DJ2SS AND SEC256 SDLAST EQU 16 ENDIF IF DJ2SD AND SEC256 SDLAST EQU 26 ENDIF IF DJ2SS AND SEC512 SDLAST EQU 8 ENDIF IF DJ2SD AND SEC512 SDLAST EQU 15 ENDIF IF DJ2SS AND SEC1024 SDLAST EQU 4 ENDIF IF DJ2SD AND SEC1024 SDLAST EQU 8 ENDIF IF DJ2DS AND SEC128 SDLAST EQU 52 ENDIF IF DJ2DD AND SEC128 ; error, not supported ENDIF IF DJ2DS AND SEC256 SDLAST EQU 32 ENDIF IF DJ2DD AND SEC256 SDLAST EQU 52 ENDIF IF DJ2DS AND SEC512 SDLAST EQU 16 ENDIF IF DJ2DD AND SEC512 SDLAST EQU 30 ENDIF IF DJ2DS AND SEC1024 SDLAST EQU 8 ENDIF IF DJ2DD AND SEC1024 SDLAST EQU 16 ENDIF ; IF CCS2422 AND SEC128 AND (NOT DDEN) SDLAST EQU 26 ENDIF IF CCS2422 AND SEC128 AND DDEN ; error, not supported ENDIF IF CCS2422 AND SEC256 AND (NOT DDEN) SDLAST EQU 15 ENDIF IF CCS2422 AND SEC256 AND DDEN SDLAST EQU 26 ENDIF IF CCS2422 AND SEC512 AND (NOT DDEN) SDLAST EQU 8 ENDIF IF CCS2422 AND SEC512 AND DDEN SDLAST EQU 15 ENDIF IF CCS2422 AND SEC1024 AND (NOT DDEN) ; error, not supported ENDIF IF CCS2422 AND SEC1024 AND DDEN SDLAST EQU 8 ENDIF ; ; A set of dummy branch points to the CBIOS that are ; filled in by the VECTOR routine. ; START: JMP VECTOR ; go initialize the branches WBOOT: JMP $-$ ; not used CONST: JMP $-$ CONIN: JMP $-$ CONOUT: JMP $-$ LIST: JMP $-$ ; not used PUNCH: JMP $-$ ; not used READER: JMP $-$ ; not used HOME: JMP $-$ SELDIS: JMP $-$ SETRAK: JMP $-$ SETSCT: JMP $-$ SETDMA: JMP $-$ READ: JMP $-$ WRITE: JMP $-$ LISTST: JMP $-$ ; not used SECTRAN: JMP $-$ ; only CPM 2.2 ; ; Useful constants placed here for finding easily ; These can be changed using DDT to alter some of ; the characteristics of the program to suit your ; taste. ; TRKSRT: ; default first and last+1 track numbers ; ; Can be chan@$:8:9b$:9ȯ29XDIR DIR29<2929*9#b$FNAMES DIR#b$r>29G29* 9#:9?):99ʐ$o& ^#V*9I s#r29* 9##{$:8ʷ$:9ʷ$*9 29r͎ "$'L%G *w8++$ $$Ͱ $ ͎ , %; % % "w8L%yL% G /% ȸ'% F%Ͱ ,ʽ$ý$:9&y,ʽ$͇xĽr͎ "~%'ćO G ʔ%x% A4DFkGHINP!9"1!~#o|g6!~#: *(y2x2 >2:2:2:O:2:22222!]>? F(!Uy#/ +(DM\͓³& Error -- Invalid Directory or Disk/User Specified%U~/½#: x2X:3(y?O:2 :: 2~#y /ʾGʾ,OG~NfSZA¾: f:?2# : f@MM>2~2LʆPʆSʆþ# :/2 :/2 >2 >2 >2 >2 22_& Invalid Option --> +&& XDIR III command lines are: XDIR dir:filename.typ ooo... or XDIR /oooo... where: dir: is optional and indicates selected directory (DIR or DU form) filename.typ is an ambiguous file name and type (also optional) o are option letters as follows: Aa - Set the file attributes a=S for System, a=N for Non-System a=A for All Files (System and Non-System) D - Send Output to Disk File XDIR.DIR Ff - Enable a File Buffer Function f=L for Log Names to FNAMES.DIR f=P to Print Names stored in FNAMES.DIR f=S to Scan Disk and Compare to FNAMES.DIR G - Toggle Grouping (name/type or type/name) H - Toggle Horizontal or Vertical format I - Inspect Logged Files (for FL Option Only) N - Negate selection P - Send display to printer Options may be combined as desired:Ċ* Not Enough Room in TPA -- Aborting%XDIR III, Version 1.2: „2: Ÿ:ʟ:LŸ>P2:ʸ2:P¸_C :& XDIR III Print -- Please Input Header: p%y&&<'(͓4*"* 4`i"$: _:3(:9 Hr:\͗:J:""`i"&"(!",:2:2:, :2:2:2:222_ :¸ Vertical Horizontal Listing by File : Name and Type Type and Name Disk: : O:" =OyA User: : F AllV :6 , File Attributes: :ʅ  Non-System@ʖ  System*(|¸  No files selected%: ]  Filename.Typ Size K RS Filename.Typ Size K RS Filename.Typ Size K RS -------- --- ------ -- -------- --- ------ -- -------- --- ------ --  U Filename.Typ Size K RS U Filename.Typ Size K RS U Filename.Typ Size K RS - -------- --- ------ -- - -------- --- ------ -- - -------- --- ------ --:2:2*(-| }- T]}o|g"(DM*"".:S # E "0 O "2*.2".:  *02"0 *22"2U ""*(| & Screen Break -- Type any character to continue ͣ'%x *& Files Occupying *,K, *$ Files on Disk and **K Free%_::L S Printout of Recorded File Names --  o g File Names Recorded $|ʿ +  yé  %l  Cannot Open FNAMES.DIR for Output -- Aborting%:  Logging File Names to Disk -- *& File Names to be Logged to Disk *&|t$Ò No Files to be Logged} ¨| ¨*"z~ ¨6 > #>.>  y æ! %~ ¨#*&z Inspection of Files for Logging to Disk*"zʔ< ͐( Log  to Disk (Y/N/=Y)? ͣ';(Nʌ~wC*&DM*"J`i"&"( Error in Writing to Disk -- Aborting% File Name Scanner Files Named in FNAMES.DIR missing from Disk --  O G*&*"22xʛ xʛzʬͤʍچ:k>2$ xI :<2I~wÑ  Iz~w Û x:<2 ì: No Files Missing2 Additional Files on Disk NOT in FNAMES.DIR -- *&*"2zh~a~w:H>2$< ͐(:<2 ):‰ No Additional Files File Scan Complete%< #~O¯~O!<~6 7> #ͽ>.ͽ> !<  w# Horizontal Listing by File Name and Type U Filename.Typ U Filename.Typ U Filename.Typ U Filename.Typ - -------- --- - -------- --- - -------- --- - -------- ---  Premature EOF -- Aborting%l  FNAMES.DIR Not Found -- Aborting%;"4: f~6 !7~#~> #ͽ>.ͽ*4> h*,",> R#S> : ¸>  ~# >?½~x> 6ͥ!6~#~#Gʹ':x':x~ {49(:2!!zM CDM:!~ #Uo ͐(NAMES DIRI7‡7ͭ77_`i"">22$«~:p#òE*~:#p. >?:~.#<p<*.>?0#p#4> <"ìo)%* ͕o͚!*@TxnͲ!Ͳ**@ʖ‡ ~2#~2*p#â~;(AAL2#~:?2#~: G~#:0L LOxGxL2:O:G>ɯ"## *IO~;(>p>#$* >p>*ͦ!nAw# ͦ!nw#a~;(!ړ=_.:;,<>ɾ3(2 3(2:_3(:_ 3(Y 3(X3(>2""2"$**:K*~#fo:կͿ2 2  Ϳ2 2 *xIͿ<‹~ʑ:~Z: <=2 _Ϳ#~G:xw: 2 _ Ϳ#ͿÒ: _: ʣ3(: _: ʳ 3(: G: O3(3(<=` *o|g~O#~G> 2;͓͙:;͗J>???????????3XDIR3 REL-jkl-XDIR3 PRN2;͓ :;͗J>"=*9*=ͳͳ"?>*z |##~25#~26#~2C#^#V#"7#^#V#"9%*.;^#"9#~25#~26#^#"72C*7BW+}Sz=9i`:5c)=^ ^###~))))!6o&:6/oկ2"?!"Dµ>*DDMɯ`o&~*D#"D*?"?*| >~#>?2"?"A!"DS@`o&~͓*D#"D*?"?*|  *D|DM*A r  x¢>2<x"?`i"s*=s#r#! x*s"u*u|g}oe"u"m*m#"m*s}|*m"o*u*o}o|g"o|*u"q*o*q2*sDM*="i*?"k*i*k‰ʲ y~& DIRALPHA -- Pointer Error*i~#~*kF*i^#V*k"k*i^#V!F*i##"i yv*=DM+) +) Nq#Nq*=DM+) +) N#F^#V`i:<c r#r # r~O#r~?ʐO#‚2;"?x #͂ ͂~w â ~:;@:; :;G~>xF ~/W~w??~w!"D"?xʌ ~ʅ~w*D#"D*?"?Y Y*DDM"2ó">2'd }0 * jm}o|g }o|gy:> 2y0*w#"2=(>2=d> >0iH @y]:=]> iɯ2=y0iw#͐Ñ#͐#͐/$͐Ç$͐$͐$1#;*+++";*;:;2 ;*;WD:@ ʊA2;2 ;2;2;2;2;2;<2;2 ;ZAů2;B;B; A>2;!;B> 2;2;2;y,2;B:;2;B;:; B;B;:;2 ; 2 ;*B:;@2;!7;By=7B 7B;RB 7!X;B:;!;ܱB!7;:;ʂB@;;> =xBܱB: ;—B: ;—B: ;2 ;mEE$E*;##:;2 ;G; ~Bi' Ñ#' #' /$' Ç$' $' $!1#BDOx=y?C[A@2;6Dx ,C ;ʈCD3CTXCDT7DY7CLrCDS7DT7>CR7DD7R7>C> ڙC6 #=Cy.2;6D;xڱCʾCDòCy/yDLC2 ;DOÿCNC2;COC2;CRC2;CCD2;2 ;CMD2;CID2 ;CZ(D2 ;CP7:;<2;CD[TD0TDAPD:TD9DO6 7 8 \ !!!!!;!Ñ#;!#;!/$;!Ç$;!$;!$#1#> D:@!@"Ao>g6 #> w~# D D D#"A_*A+~ #WD#"A+~7ȷ> D> D>!X;~hE\E w#“EwX;E>: ;B:7; _F> _F>_F*<*$~ʫ#>L#*$A#)%>%#>L#c##>L#*$*$s#r*$6*$6*$~$>L#*$A#)%V%$>L#*$*$s#r*$6*$6*$~?$>L#*$9#|ʂ$~2$#*$s#r*$5z$*$*$s#r*$6c#z$*$6#6:$>L#2$*$~›$>L#*$9#:$w#*$s#r*$5$*$*$s#r*$6y#>L#:$*$6ISK FULL2$>͇$*$~ %͇$$*$6*$Q#!%>L#:$w F(3(Q%>R%3(Q%3(Q%K%?&!G:>uH@Hw#2;.ʠH!ڠHw#yH2;.ʧH!ҎHçH6 # H:;.ʴHw#´HpGGH2G2G:G=IGGI!G"G>2G*G~2>&s% !t%~#o|g6:>&p&!u%~p&;(w#c&!u%:t%~#& ʷ& v' ʤ& ʩ&ʩ&ʭ&~&~& ~&y~& ~&yG>GO> '&~&> '> '&~#8' "' I' ' '''&& &y& &yG>GO> ʹ'.'&> ʹ'> ʹ' Ҵ'ʴ'ʴ'ʴ' ʴ' ʴ'>^ʹ'@ʹ' '''' ' '>^'@'*. 'O*. 'O*.'(x2'y2'CH:'_3(:'_ 3(Y 3(X3((3( 3(OGa{_HO(Wp(He(Wp(r# xp(͐(H ͙( H͙(|ڹ(ª(}ڹ(~# xª( ~+ x¿(ô(!($.p(He(Wp(r# xp(͐(HI D,-SDLAST*SECSIZ; correct sector start and DAD D SHLD TBUFF ; buffer skew address ENDIF JMP ENDLUP ; return with complete track read ; ; Write the full track, with interleaving, and then check it ; by reading it all back in. ; WRITET: CALL CONST ORA A ; see if any console input present JZ WRITE0 CALL CONIN ; yes, see if aborting CPI CTRLC JZ EXIT ; die if CTRL-C was hit WRITE0: LHLD BUF0SA ; first, get the beginning of buffer SHLD DMAAD MVI C,0 MVI B,SDLAST ; initialize sector counter WT3: PUSH B LXI H,WRITAB ; find the interleaved sector number MVI B,0 DAD B ; using the WRITAB MOV C,M CALL SETSEC ; and set the sector MVI H,0 DCR C ; now compute the buffer location MOV L,C CALL SHIFT ; and multiply by sector size XCHG LHLD DMAAD ; and then adding to the buffer start DAD D CALL DMASET ; set the DMA and do the write IF (NOT WRSWCH) AND CPM MVI C,WRCODE ; value for CP/M 2.2 routine ENDIF IF WRSWCH AND CPM POP B ; get sector number PUSH B LXI H,WRTAB-1 ; find the C reg. value for this MVI B,0 DAD B ; sector using the WRTAB MOV C,M ENDIF IF CPM LDA TRK ; see if track 0 ORA A JNZ ZER1 ; jump if not LDA SECTOR CPI SDZERO+1 ; see if sector is on track JNC ZER1+8 ZER1: ENDIF CALL WRITE RAR ; if 01 returned, write error CC FAILW POP B INR C ; increment sector count DCR B JNZ WT3 ; and loop back if not done IF DOCOMP AND (NOT RSKEW) LXI H,BUF1 ; first, get beginning of buffer SHLD DMAAD ENDIF MVI C,0 MVI B,SDLAST ; reinitialize sector counts for read WT4: INR C ; bump up sector counter PUSH B IF RSKEW LXI H,READTAB-1 ; find the interleaved sector number MVI B,0 DAD B ; using the READTAB MOV C,M CALL SETSEC ; and set the sector ENDIF IF RSKEW AND DOCOMP MVI H,0 DCR C ; now compute the buffer location MOV L,C CALL SHIFT ; and multiply by sector size XCHG LXI H,BUF1 ; and then adding to the buffer start DAD D CALL DMASET ; now set the read buffer ENDIF IF (NOT RSKEW) AND DOCOMP CALL SETSEC ; set the sector LHLD DMAAD CALL DMASET ; set the DMA LXI H,SECSIZ DAD B ; bump up the DMA for next time SHLD DMAAD ENDIF IF RSKEW AND (NOT DOCOMP) LXI H,BUF1 ; load the buffer address CALL DMASET ; and set the read buffer ENDIF IF (NOT RSKEW) AND (NOT DOCOMP) CALL SETSEC ; now set the sector LXI H,BUF1 CALL DMASET ; and set the read buffer ENDIF IF CPM LDA TRK ; see if track 0 ORA A JNZ ZER3 ; jump if not LDA SECTOR CPI SDZERO+1 ; see if sector is on track JNC ZER4 ZER3: ENDIF IF NOT NOCOMP CALL READ RAR ; was bit 0 set by disk error? CC FAILR ENDIF IF CPM ZER4: ENDIF POP B ; no error, see if all sectors read DCR B JNZ WT4 ; if not all done, go back IF DOCOMP LXI B,SECSIZ*SDLAST ; now, compare the track read in ENDIF IF CPM AND DOCOMP LDA TRK ; see if track 0 ORA A JNZ ZER5 ; jump if not LXI B,SECSIZ*SDZERO ZER5: ENDIF IF DOCOMP LHLD BUF0SA LXI D,BUF1 CMPLP: LDAX D ; get read data CMP M JNZ CERR ; and if not what was written, error INX H INX D ; bump counters DCX B MOV A,C ; and count BC down to zero ORA B JNZ CMPLP ; if all done, return JMP ENDLUP ; ; print read verify compare error ; CERR: PUSH H ; save the goodies PUSH D PUSH B LXI D,MESGA ; start the error message CALL PRINT LDA TRK ; print the track number CALL PRTHEX LXI D,MESGB ; print more CALL PRINT POP H ; pop the down counter DCX H ENDIF IF SEC128 AND DOCOMP DAD H ; multiply by 2 to get sectors left ENDIF IF SEC512 AND DOCOMP MOV A,H ORA A ; shift right to get sectors left RAR MOV H,A ; and back to H ENDIF IF SEC1024 AND DOCOMP MOV A,H ORA A ; clear carry RAR ORA A ; shift right 2 to get sectors left RAR MOV H,A ; and back to H ENDIF IF DOCOMP MVI A,SDLAST SUB H ; subtract from total number of sectors CALL PRTHEX ; to get sector number, and print it LXI D,MEM CALL PRINT ; print second line POP H MOV A,M ; get byte read STA DATA1 ; and save it PUSH H MOV A,H ; print high order byte of address CALL PRTHEX POP H MOV A,L ; print low order byte of address CALL PRTHEX MVI C,',' CALL CONOUT ; comma POP H MOV A,M ; get byte written STA DATA2 ; and save it PUSH H MOV A,H ; print high order byte of address CALL PRTHEX POP H MOV A,L ; print low order byte of address CALL PRTHEX LXI D,DATAM ; print data header CALL PRINT LDA DATA1 ; print byte read CALL PRTHEX MVI C,',' ; comma CALL CONOUT LDA DATA2 ; print byte written CALL PRTHEX XRA A STA ERR1 ; note the error so this track is retried ENDIF ; ; This routine is used to check if another track is to be ; read/written: it increments buffer address and track ; counter, and decrements the buffer counter. Then, it ; terminates the loop if all buffers are full or the last ; track has been processed (Z flag set). ; ENDLUP: LDA ERR1 ; now check if any errors ORA A ; and return if so RZ LDA TRK ; increment track INR A LXI H,TRKSRT+1 ; check if last track CMP M RZ ; return if last track CALL SETTRK LXI H,BUFFCO ; decrement buffer counter DCR M RZ ; return if all buffers full/empty LXI D,SECSIZ*SDLAST LHLD BUF0SA ; increment buffer address DAD D SHLD BUF0SA ORI 255 ; non-zero to indicate more RET ; ; this routine writes messages to the console. Message ; address is in DE, and terminates on a $. The BDOS call is ; not used here because BDOS may be destroyed by the track ; buffers ; PRINT: LDAX D ; get the character CPI '$' ;24H RZ ; quit if $ PUSH D MOV C,A ; send it to the console CALL CONOUT POP D ; go check next character INX D JMP PRINT ; ; set the next sector to be used, and save that ; number for the error routine, in case ; SETSEC: MOV A,C ; save the sector number STA SECTOR PUSH B ; save regs, in case IF CPM LXI H,0 ; if CP/M 2.2, nh Z? x  ?  8      K 8   % t   a  P& 'E'v''^xp'8Iev$6HZlj|*K> 2s:,2+:.2):/2*~<w=bw"uu- $#!*'K'~ #"'C'n"  ( !HR0ÿ"S":sC7(> 0E (<  ,w!R> ( /^"V7!").B>C2s>^ɷɿ "*INPUT LINE TOO LONG. $*'#"'*#"ͮ#"͈$!6 #$*(*r['͟$~( F(* ) ͑#z,©y!u$ͤ+KgoBʩyx*}"#^#V6+$ #!"'"#"#*###^#V+{7"#B#*#+V+^{7"##O&&&&*#~#fo7#B!3$"3$#"*3$+r+s"3$*3$##"3$*3$~#fo!"B&O&ä+<^!#6 $['+['+:'G$:'G['+ͳ$2%*'6+['+*'R@%S'+' ~#$$$*'K'w+%"'C',-E*'+['+:'o%*'"'K'C'['!' $>$$*'['͌(s%%>['G-Y[%:P& :8ͮ("J&CL&CF&"D&"H& :' :9ͮ("'C'C '"'" ' :E' ::ͮ("?'CA'C;'"9'"=' :' :<ͮ("'C'C'"'"' """R""j'!D& !#^#{V#!M& V6> A-~K(8( 4~A8_(~!8 ~#K(8 +: 7F~!LR_~ah+~:  =%FRz{ɷR͗(#]˻)lg~_O_#oOgALM|!R?833ig+N(EqyفO ɯx!jR?8G~;7! 7# 2)V!)6~#(OK(8(y _4+x(> -6 ɯoO>( .)#~+'(" O#})(.#~ ( y 0 ?ͫ)?0 ɹ7 7#?~#~#' (~#~#' (~#~#' (H~ ~+ ~+~# ~#> 6,^#V#7*ɷ V#^|<*}E*]*w#W*]*0:~<*##"*!*>S*PYoO "***EOG( Ď*> >00>7**w#"*Y͈-`i>6,> 6,:* > 6,ɯ+~ :@[++n&+>:[+ +>.[+~# ([+CY+ ͹({]*KY+(0 a(> Y [+[+ˡ[+KY+AĐ+IQ(w#+~#[+> ͐+> ͇+> _>6,{_>6,{+>6,+>6,+>6,>$6,+>6,+>!6,+>6,+>6,>6,,:,_> 6,> 6,>0:?A[?O~#N q#~# = = #>N5#~# = = -͌,!KC%.,: ##S-(--!w:&.,~ . #, :%.->K%.ɯ2,,-* >?- .#?--#!,4.('(# #( +N+F/=#K%.~A80G#~ ( ͅ-8xD>8>8C%. -0 8?#ͮ-&o MD|M!0G~!- !Я~=_.:;<>,/- > -:%.~# (+a{_* }^#Vz!4"4!4"4!5"4b"4"4w ww-w2GF )( ~ 6sN61N6ͣ.4 5- :4 6 {N6F N}>E>U24/8Ͳ.w4.:4:4K3Ù.:48083b3/.T3.:483/.T3/:483//T3:4 83b3/./T3H/:4 83/H/T3b/:483/b/T3y/:483/y/T3:4O4( 83b3/͚/T3:4(&™.834/Ͳ.:4(Ù./54-*43!3OK(g²1( Ay'ʃ1"ʃ124!/50™.24!U5( 7?!]5~0#24N#F# ~+',2>#L1:V$ݶ=b1!c8!4p!c0Fž.2GFb2S~=(y31=™.:4™.F(G>24~242n O:HF:R(:~w#"^#V":o *Jg #r+s!38+)( +(-™.!2>24:4 !38++( -()™.~24:4 ~24O~ ~™.~;12#^#V2GO y># #F> !V*N:Rw424(>24Fˀw2b͘1o͘1(weo͘1(pÙ.~# ʙ.((#y!5Ow#~#(,0#20GyB(D xH( :d5(++Ax_6,!e5  N:d5O+!5ͽ*ڙ."4:4ʙ.>24~ 6 _AG?~2"2<(JK4 6  v6 } '3)(gڙ.6 *26 1N6'3)>( +ͣ.}2c5::4(!38v q *2:VC !3!3}(@q !38)('(Ù.!3È.~=(=!5[V 3:VF V!q5 n`>{# z(###ng}:47 )8,7?#247*44̀(?ڙ.w#"4*4+~"4K3̓4ڙ.s4ҙ.هO!t3 ^#Vɠ3333333444!4'4.4;4333G433..O4ͮ-`iG͹(B?R:}o|g2}o|g*b7R"Zk&͹({(%{(<:GF DM*45̀(ҙ.q#p#"4*4:4w#"424̀( ͆(?͆(8̀(?̀((̀((70b}o|g2 )8'(* ~ *w4*4+N+"4na*4+N+F"4((#F:FF(_͗4y 2(x= +x_͗4x(y xW(G24~w{ɰ=(7+-*/([)]<>~#=!|{}& =>< => HOBQD AHLBCDEFIRHL BCDEIXIYAF0SP0+.H [@( +. >**@ X h ` ! >262>F26E2:c526} >2+./F*#26+.HW6} (&( !F!FE+.9F(> +./F Ë6+.HW6Ew++.M*@ #h ,`>2:c52yEݶ+26>2~+6y E0>2E"6NͮE>J2s+.*H *@ h ` Ë6 >0Ë6E>0ä6 0F#Ë6#E~6*~2EF6ͮE6>V͈6+.H 'h0E >ʋ6}E>26 E >ʋ60E0~'>Ë6>> >E*(<:+.@+.P }{@:{>2}6E8 hs7s7((E>2y7+.h( :`E>6E7h7+."BFP:h«9@ `9H:p¸:+.:BF@ )X ch ;` jP !p}(>W:>_:U9Ë6@>:2"6O} y .}( > Ë6>Ë6:BF2}6}E:BF.U9ä6+.:BFO (}y( >Ë6>Ë6@ X>62}6>pË6+.:BF@ XE>62:c52}M7E>pä6+.:BFX P 8H0} >Ë6}E>6 0F^9E>!2"P7 ( 0FK2>2"P7>*^9E>*+.}@ H >2*BF^9 (  C*BF>"E>"*BF+.}:BF>O(>G!6#w6*~Ë6+.P+.@ }AO}>2y6+.H( E*> 6!F9F*Ë6 )8 'FË6>Ë6$7E*( (yË6~2#~6~,7; C C#EE ø6EE*++.@ h X }*:>4:>dE>t2}2>26 )'!c4#:=:  Ҵ==%FL=; )s=ERs=s=n=; )s=ERs=s=n=; )s=ERs=n=; )n=ERn=s=n=; )n=ERn=s=n=; )n=ERs=n=;<>Es=n= )s=n=;<>En=s= )<7 e# )>([XE<~(Eɴ;< e^;<([T;F6:(LE;F6: =6;;8.1;;0$'$*=&F _&$F %F(%%=:=5#(=*LF+~2 +~2+~2"LF!OF"LF2 222#gF*>B*LF:w#:w#: w#"LF6&: :N<2N:N=2N<<vP=~wWDE"N:HF=2HF*|"P*R[~SR"~ɯ2HF0>*P"|*J"N3>/>"+ )8>/)!>V͠(( >BLANK !6B>3:HF?>:RG:Ix2I!Tê@!|̀(0%~V(͠((  ++~>TF ` )8[Gc)6 (6~, # )8<' #6?#6!'J!u+*o&6 ͋+56!C*͢@͞?J@*?ut|:NF 6 )'("( EAM+@2NF (  ?(#~!NF  !# O+@O#~ #~ # ), #͢@͞?!s@Å?ͨ@͞?+@Å?J@Cs@2r@*"u@X*?#"?:r@[JSJKs@[u@w@[JSJ2r@<F<^( >:KF=2KFy[IFSIF ) <^!͡A@62NF2r@!""?!"IF>2KFF<^E|(\6 "+.F( Xu@*Nw@JA!6XD(=44F(:G Mw@Lw@M͍@<^( "BF!BFL͍@\F>226@6F6 Nw@#F 6AF 3A8:522* )B B B B )E/R ^+#- 6,֯2HF: ½=+. !64@"G>ݦ(O:4wSfP=B#^#V++>2FFE2FFKq! 6868vP=WDvP=WDF ~F  F(žBÞB FBÞB !V:HF E[J͆("J"N@ -vP=>D(#(2$>D(% 8!2.2/+.XFv]n͟D(48$GO.;f)~,#(!6 u+͋+56>20 *:4F:O )8˹~, E0OF(yyUF !V<^Ħ!c:d5> 2d5E0z2d5 -WDQ:4G:R[NREZx>(>2>'.X+.P +.@+.H ) ',(7#~ !F[V 3 E*#}!F9FOF More than eight if levels are pending $ 000 0NZZ NCC PO PE(P 0M 84 :NM GK6#q#pM4 4 )06 KG!VMKG'G8 g 5(4 MF( ![q>S/FLͥ>x75 *6+"[͆(([~#;(' +) S~;>; > 8>  )8;!O:N2G(*N6,+G8x2N6 "NOR}MͨK*~K;7: H2N2N2N> 2SP^#V"N> "NHF44 :<M2vI#== *[:<"N[NSN!N!O)!RO:NG)!SP)!O)[Ns#r#"N[͆(2N#5)(0*N+V+^"NNO *RO:NG*SP)O)2N2N> 2O2SP2O/O )6*~#'(9<(+>(,%(:;(/^( +~*>B2s~#4*5*+)*~#> E (:d5 +O>v*H*N0~M!8'(D&(2^(%K(8~( 0F JLJ+ "NS!0F LJ+~K(8~ x0F( +#( 00++~K(8~ ~& ~BÄI;K6?#6?#!RO YWRR^+V+*N~&„I+~K(8ʄI~"N6+4~K(8 "NO:N(FK0[NFK0*NF~+ÄI;K!OA(~K8( <(2'( ~K(<('(J8J+͸)K7K6*~#<(>('(J(4*5*(+͸)^ ~# 6*~#<(>( '(J +5*N* q* (7K+)&(F*NoK( +oK oK , 7?~#oK͝K,( 7++~#~#͝K ( ~#:NG!RO^WRRw[Ns+r+!'͆(MSN:H+. ^ !"N>2N2N*N"NͅM!SP"N w+H:N -/2N*"NM4 :(*N"NF!RQ"NK*N~ (2O> 2O#"N:H>KFM*N~ ʟLO~K8 ( <( '( +"NK7K!SP~<6*~#<( >('( 4*5* ~ !TPSPK6 +͸) )*N"N!RQ"N~K(6 :ý=:N2x=5 Fe!M!N!&N!FN!nN!N* Unterminated macro $* Macro Local label limit exceeded! $* Macro nested past 16 levels $* Macro Local table exceeds 127 bytes $* Macro definition inside an inline macro $* Macro read past eof $ >2Q D"Q}7(V2Q>C2Q|D SQ2Q}08!Q6P#6i!Q#"Q&0($"Q| >R2QbQ<( >b2Q!"Q!Q:QQ:QSQ*Q|(:QO*Q]T*QQ7*QQ*Q R!RR~#N*!R7 / / : :  d0d 0 !  ADC P6JADD 6 AND 7BIT 7@CALLl7CCF :?CP 7CPD l;CPDRl;CPI l;CPIRl;CPL :/DAA :'DEC 7 DI :DJNZ7EI :EX 7EXX :HALT:vIM ^8FIM0 R8FIM1 V8FIM2 Z8FIN t8@INC 7IND l;INDRl;INI l;INIRl;JP 8JR 8 LD 8LDD l;LDDRl;LDI l;LDIRl;NEG l;DNOP :OR 7OTDRl;OTIRl;OUT :AOUTDl;OUTIl;POP ;PUSH;RES 7RET 6;RETIl;MRETNl;ERL I;RLA :RLC I;RLCA:RLD l;oRR I;RRA :RRC I;RRCA:RRD l;gRST M;SBC P6BSCF :7SET v;SLA I; SRA I;(SRL I;8SUB 7XOR 7IN0 ;MLT ;LOTDM l;OTDMRl;OTIM l;OTIMRl;OUT0 ;SLP l;vTST ;TSTIO;t$INCLUDE2#.180 B.ACCEPT ?.COMMENTC.DATE A.DEPHASE?>.GETDATEA.GETTIMEA.HD64 B.IF1 =.IF16 =.IN 2#.LALL =.LCTL C.LFCOND B.LIST C.PHASE >.PRINT aD.PRINTX aD.RADIX E.REQUEST5E.RLIST lE.SALL >.SBTTL ~E.SETDAT A.SETDATEA.SETTIM A.SETTIMEA.SFCOND B.SLIST YE.TIME A.TITLE wE.XALL >.XCTL C.XLIST C.Z80 BASEG ^>ASET @ CCOM j>COMMON j>CSEG b>DB ?DC @DEFB ?DEFC @DEFL @ CDEFM ?DEFS @DEFW OADEFZ @DS @DSEG f>DW OADZ @ELSE U=END .BENDIF x=ENDM FLENT DENTRY DEQU @ZBEXITM LEXT FCEXTERNALFCEXTRN FCGLOBAL FCIF =IF1 =IF2 )=IFB Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI1*" COPYRIGHT(C) 1978, DIGITAL RESEARCH á 4êü /L9ASMPRNHEX!4w_#~ ʸ A:4~~# ¼ > \ ?ʻ w# !ͼ ? !ͼ !)ͼ !ͼ :5͡ :6:6͡ :7͡ :\ ʻ 24!dͮ 25ͮ 27ͮ 26!8 ( ʃ !Y 1  :7ʞ !z 8  !"2D2X2#! 8 !ͼ z{* ! !"!8 w#  +6# *#"~!ͼ G:6QxJQS*!w#"! 1 !"!Y~~# …¡z!ͼ wʹ* ! w#" ! 8 !" ! zz_O4:  :6y:! G~#x=2> > ! >x6 #='G! ~ p( O*}O>4?:7w:#ĸ*"!͸* }w>ͪg( ʆ1 Y :7ʗ8 z !<ͼ CP/M ASSEMBLER - VER 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES END OF ASSEMBLY G:7xʘ!#~ʄl͸Ä**!O {zʊ͸*"!!#^4!$wͯͯWƐ'@'ê>:ͪ!#^Ww*!{͚|͚}͚͚{!$~#͚͚> ͪ> ͪ@2 0 0:x0_<2! wI2 2> 2 >2ɯ22 !~@_6^4#: w~$w: 0 q: A: A͋q: a{_2  2 - !ɯ2I:  ;*:  ͭͷ ͭ͋>9q>9: '!2 >9 7:! 6 >2>2: 2 Qͭ:Ğ! :lj<͖<j<|<: OʊQ>ÖH >2 2 û: B­>ôD> ¸!52 !"!N#~#A07O! ~*!) " :  '<ͭ'<>V$>O$:Ğà\ÞØ`rÍÖ![w#w#b!"!F#v2[G*##~w*##~<*}q!~ڬ6![^![^#fk"͎͘!G#*####*^#Vû!^*"*{zA"*![N![ N#Fr+sq#p/>G=#w#w3#w#w!JSYMBOL TABLE OVERFLOW G*##~w*##~͎*_###s#r^#V`à 4 Wm ()*+,-/ABCDEHLMDBDIDSDWEIIFINORSPACIADCADDADIANAANDANICMACMCCMPCPIDAADADDCRDCXENDEQUHLTINRINXJMPLDALXIMODMOVMVINOPNOTORAORGORIOUTPOPPSWRALRARRETRLCRRCRSTSBBSBISETSHLSHRSTASTCSUBSUIXORXRAXRICALLENDMLDAXLHLDPCHLPUSHSHLDSPHLSTAXXCHGXTHLENDIFMACROTITLE  PF FP! ( 2/?'  v:P@< !  PP27 ( *"  NZZ NCC POPEP M x_BH!œ#¶ ¦{KÈCÈ<:JCR:  !6 s!#  ɯ<:O=_Z!F!V#fjQ̓E!^#Vo&)~#FxGyѯ<àn8!~ڢͅ6~44O! s#r!~ ڿ6ͅ^4!mw!wp!~ͅ!55N! N#fio&)^#fkz'{ͅ>ɯo>g"k!m6ů{_zW5>)D*kOxGd !m?FDM!xGyOڂÃ)sn55)=â|g}o=î--#zg{ozg{ozg{oÓ:: ;,!ɯ22=2l!"]!~H5_!m~0:ą:  *":  :‰:̅ԅ!^#=ʅVq”*qͦ1& O:lµ̅>2ly:_!w~!s!m~ùy !~=w_!m~ ͅͰ>2lyPLnR>UX:l̅2l͓*>ERʵ2C!" """ :ʼ:*1 |R|ͦ0FIL: R  R* } *" :¿::¿üX!C^#fk[@ :Œ:=ʌG!ʆF#H vÛc*| EH ͺ,^1 ͦ *""1 EH DH ͺ,1 ͦ :  1:  " > 2 :|: |Ë  |*" ͩ !6="1 :  1}1:n:>BʋSSͦSSxS 1:  1"" ͦ 1 |͍ >O U!" 1 1!|_!^#fk $8AP`ixH ñññ81Ľ y0îH ñGîG  ñH ñ(Ľ yîH ñîîĽ y0îîH ñG 1: :,; c*| } 8OĽ y0G G t :):,.>C :|: Jü;r :R: ʼʋ!ʼR!ʼʋ>SR{ozg!~4ʧͦ !6 ! **̈́**̈́\iͩ !w#H USE FACTOR !* "z{*"* "I !" :1 R O*UR X* G:xl :  *̩ : l x͖ *#"EH DH 0:~ ! ^4! w͆ Æ *! 6z͖ {͖ 4>R>V>D >P >L >N=COPYRIGHT (C) 1980, DIGITAL RESEARCH DDT VERS 2.2$10 !~=W!xe ~#Xbxʇ {z~#o}o҃i.2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*oÃO$*sy͏ , $  ͌ 9!z6 # L!zw͌j# X:z 0 ͘=N#Fy}80*z{¯#z+++ ¥ z#½# · 9!`͠ y9!rͷ y=!z{w# % w!P͠ y͓}*w#"͌ @.@<!Eͷ~P !ͷ’P͌Q!ͷªP}QxQ!ͷ͓G@Q! ͷ y͓Gþ!ͷ ͓Q!ͷ͓Q͌Q!.ͷ6y#G͙Qà!2ͷQ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON# z8O!B N#N ¾SP.* |} !9":q!"28!"9:] !í 1͓ !" >- Ͷ Aګ ҫ _!7^#V~  \p Z z ů2[\͓͢ ҫ ͐ =« f " ͓ ҫ ͐ ʻf " =ʻf "=« ý> 2͐ f "]=f =« *]}o"_  *]"a. ~ #E }"]*a 6 *]}#|#*]E ͐ « f f f {zA|« W}d ͐ f f f DMʡڏ"=ʡͲ=ʡYPͲ1**!O~4#~#F#x~#s#r#w>͐ « f f  . ᯕo>g. 2|2\  !]w# ʫ .&  0 6 #& .K !e K w# ʫ : U 6 #K 6AW w#] !e~H#~E#~X*}|́ "!́ ͐ !ʬ =« f kʫ j \͢F w# ͋ t ʫ : W& _& & O { `i"F & & w# & ͋ « t Y t Y GтWx ͢!o ~Z #N  *. *.  NEXT PC͐ =« f  . ~ Ͷ ʻ .͓ =« f |« }w#Ä >2L͐ ! =« f }ʫ +"MD Å D  !  # ë «   Ͷ ͐ =« f xY |« }ҫ gA>S Ag}S S i |« }!w s#r:[ʔ _!~ʦ ![4ç \͢¦ 2[ 7 >?  e͢!g"c> _͢a_!f~> 5*c~#"c 0 7   > >  ͢| } @ >. *_}o| , 0 ë ^#V#!Y ))))o P q s#r#!V4 !V6# ,® >2Vñ m ͅ m ͅ m ͅ « Vʫ ! XN!~  ! _^! ^#V~ x+ >= = !~  . !   #x f L L ͓ͅ ҆ *" !6ï +"_*~ #E گ ʫ ^#V. ï ~ CZMEIABDHSP!"M"+"!91*~!O~6=G#^#V#~x (#"!N#FW( *J>7Å*M|N+"M N:LHͅÅD Å >* *͓ b" . *"] !/~##ʁtZ*F#n!Is!^#V&&##&))::^#V#*^#V>+)x-8_)*)þ))>+><7"9.Yͯ * M^2U :2:2ͳ:_³ͯ !6! @!!BH @@ABH B! "BHI$$BI$BI $ HI D$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$$A !A@$I$"!$H$I$I "! $A$  HHAA"I @BB $A"$$$I$$H!!! BH" !I B  $$!BD! $!BI D@"!$I$$H"!I$I$I$UUU$$A$ D$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$$A !A@$I$"!$H$I$I "! $A$  HHAA"I @BB $A"ÀZ3ENVZML20PRELCOMSYMBIN$$$PRLBPRSPRRSXRELB]PRL HDRRSX HDRs +1 +͡ $/ G ͤڂC* 0>O*)~c~!8 $!#=!Fe>!b)"`)>̓OG~(*"*) "") x́ x~v Z*)~2)!)_ ̓* Ͱ0LKZ)*):A_K)K) C^)éa͝.6@*)~2)!)r̓IC*Z)}(K) 9+*V(*h*6*p*[j*6 s*~ ܀Z!w)45:x)(*z):w)w{ +n*9*w#w6 v(Ϳ2P*2S*2d* !E*<ͭ*=*^#V#{(N#F#^#V r+s5 D* n~w>2v)6 *)~2)!)r̓2v)w f~w>2v)6*)~2)!)r̓2v)w7##_#W2)S)fͶ#=(G> #f͢c_z2s#f -͢(%ͻc͸ DM*^#V+>@}q#p##[b"*s#r#"*+V+^"S*^#V+ s#r+F:S) * " s#r+B#_!^#VDVaqR[u ^!)"'*)~2)!)tF( N#F*^)Bvf6\"*^)#"^)FF *b))?[)!d)*d)F(*`)!)>/S)!)F#7(?F!)5#~T]#OA(=B(C(:)͸ *) p!)"'*)~2)!)tPYp:)G=0‡bo,~#foL{U_grz{W2*+~6+w*+~6*m+~/wg4#4{BK{Bp{BK{ p{{+wz+w{{+wz+w{{+wz+w*##~w+~w*#~w#~w6\ [)s#rF *)|> nÄ :)͸ C) C)*)| !)"'*)~2)!) ,tv(%(>@2):)}^q#Vp{*)R[) F:)*)( `i"):)0:)@Ä *L)|[)s#r>@~}Ͷ!RͶF*N#FͶS<ͶyF(ͽ `is#r*Rs#r+*RSͶFͽ C) b")* ^#VRyDMEͶSͶR >E#>̓^( fF !z(x(E(< PY(  s#r+B w#w+ͦ  w#w+B s#r+BK*B"B ͺ s#r+B ͺ!ͦ (* B  s#r+Bs#r+ s#r+B q#p+F ~n͸ `i*)6#s#réͯ jS)K) ")*)R#")*)R")!KC\) ( y[\)(4 ~( ~#foK[Z)BR*Z) 8"Z)B"\)0>*Z)~O([\)"Z)!C)H "L)##K)B[Z)R"Z)"'*)~2)!)t+V+^ PY R*[! `i ( `iR *.+")s$!B)!)~#2)$* |2x)2"~#fo2x)"z)##~2*9"|)* G:8G "~)>  Ͷ#[|)Ͷ#$#!%> !]>?(>/#%'2)! 1<2)# !))6*")*)"*"r*"C*"*! |*!N)N)(Ͷ#Cv)CL)CC:aw6 :`̓*ut* ")͍*H"!"b"!)")> 2)* |:w(>ݶw~w +[):) :;U")C)C)")") :E* :<U"?*CA*C;*"9*"=* S)!)h* K) ^#V# #^#V+ s#rG~2)%")!)"'*)~2)!)(4!)~ *^)")(*W)#"W)!) + [)ͺNS):)t ^(_ ++[)s#r#!)!))BK^)q#p*W)+"W)! PY ")B ") `i y 4 [)s#r+B [)s#r+B q & PY s#r+B *  s#r+B q#p+ 6#6+B  <% N#Fx   `iPY yGx!O ~#fo!)N iS'*K~2)!I !N + W*)++s#r#") *"w%"ɯG!Ͷ#^#V#~#fo SI>2M!2")I  *2* I 2ASEGCSEGDSEGN K) ]Tݦ(F!v)~(#(4~(1!)~#foͮF#F)ę$V)ę$vF!)>v G~#!5:2V3!)xW B~# A > !B5:A2BFV> > 6!*$nF! (`i͍!)͍%> Ͷ# y e!ͦPY !ͦ| (+!%ͮ y(( BB ( !,ͦ N# Output file: LOAD_ADDR: RELOC_ADDR: SEGMENT SIZE START STOP Memory unused by linker.. V ;*[|( !R ' $O*} ~(R N(!" ~#fo*͝*nD*Vs*##2,)/V*n)^#V#Uw_| Nf*)#KZ)q#pK*+r)*t)R(@##J*K)X"ˆ͗bk#<*)͑y( UC*"*#?:=͟*)*`)~#fo"`)7##)K)X"ڈ~/! *`)##~ F [W){ !5Ay/ݦw:*))͝)9!b)"`)*h)##*K)X"ڈ:* *!*r* *j)|(*l)##s*K*X"ڈ|*! ͝!*C* !&͠ ( [=*@D*l6 [=*@D*E6 *=**9*q#p#s#r#5̿"9*Kj**h*wCj*"h**n*")[l*@s*EK)C)*l*Kp**)K)C)")O~Vc:)G*)R!@)l( }K)C)*)")!6#!6!b)"d)!f)"h)!j)"l)!n)"p)!r)"t)s*?! !={*7"S*N#F + ^#V#N#FC*, /S=((H/z, =/S<P(P()w ,IKPSNEQMY(2 SSS2S)SSS/ ,CDIKPLRSTAMY+-EQ]3?>.>S>k>k>>>u>>>u>u>>m/3/z/ ,(?/3IKPLSMYN>f>f>z>p>p>p>+>>>/!d)T͍8ͅ>/>,ͅ>~!F( #~;#w#> !NG# wB:>/E!p)!t)!l)!h)T :>/P[)2!d):(K)nfq#p+qpS)%FInput prompt is a "," or "/"; ^C or /Q aborts; // gets help. $Please enter input file name(s)! $2"~#qڟ""qڟ̈́ڟ"""!qڟ̈́ڟ"6"8">!/L?>.!p)TJ͝ڟ s#r )!%N 'Jt6\B 7J' ҟ6\B ʟ ~ws*S ßJ'7q")>@̈́ *$)Z 7?!)p:( ( (ͭ$!k$_?@.%J*\#"KB *f)|O*b)|G((x(y!h)*h)*h)!d)*d)7?[)##S)N#F+s#r+q#p+Guty!1ͳ!56>Ax̳!w)4Unsupported Link Item 4, H H!)$>'b!)$% =(5 Duplicate symbols: $ Undefined symbols: $Can't find file '$ Read error!$ Memory full!$ is an invalid rel file!$Multiple main modules!$ZERO LENGTH FILE!! - '$Source filespec error -wildcard or bad DIR:!$ *** Overlapping segments *** ERRORS OCCURRED d#`i`iͮ|ͳ}ͼw#~ͳ##0:0:?F!#~##['K) F#OŸ0G_O~_ # y~#fo)ɷR`MD#*)BRoOgAL})l&N ͪN#K)Bͪ8K) ͟G2<<<`iR8(DM> > > wys yT]!)͌$!))~:8<28M~:8!9~<wO!: > ~|/-\~>1F(>22^V Pass 0 $~l $N5> > 6press any key to continue:N #~( .(#Ëclose error$?+N#F*B r+s#?5ËDirectory Full$[)@*E+/V([0 Write Error = _0 Read Error = C8@l #?Not enough Memory for '$>r> n: > d_>B{> S>B>B>6:)(_> B> B> >B>O>B>B>$>!>"K) T]+F+N+~ ~BoS~#fo͸ͦo( ~+V+^++w  ~B ~B~#fo ~Bw##~#foS T]DM ~BW(DM >&~#fo(0 ˎ~W(DM++w ++>@7CP"T] ww8"++s#r*P"͈!~#fo"R"͈!~#fo ~BW(J( rB*R" ~BW_R *R" wɪ_(>*R"͈!~#fo"T" ~BW{ *R"͜!*P"!(>D͈!s#r+  w ~BG@ s#r+H ##HO I I ( s#r+s#r##CZ#͊#s"bkp+q!ͻ": ##(#("͎#!w:[#ͻ"~ . #"">KZ#ɯ2""͛#* >?" ;##?"͛##!"4#('(# #( +N+F/=#KZ#~A80G#~ ( a#8xD>8>8CZ# ͛#0 8?##&o MD͎# > Ͷ#ö#~!# !Я~,/:.=;<>_a{_* }^#Vz|M!0G*$-("$Og.y"$g.+~@+B$>:6$>.~# (~dah$($0e$x h$(y0e$x08 GyD " |D "$|ɯ*$|7 ( A> $ô$O$A8[8yO08:8ya{_ZML Linker V2.0- / / $INVALID OPTION!! Syntax: ZML token [,token...] [ or ,] token = filespec[modifier] or option[ option...] space required--^-------^ ____ Filespec Modifiers _____ ____ Options or Modifiers _____ (none) file to link /M or /Y Make global symbol file / or /S library to Search /P or /K Provide Prl/sPr header = or /N Names output file /I Insert rsx header file /Q-Quit and exit /E-link and Exit ________________ Options ( / is optional ) ________________ /A main load Address (default: 100h) /C, D load address for Cseg, Dseg /R[] Reloc addr for , (default: CSEG) /T Tag as a CODE type segment /+ Create symbol with value /S Symbol listing to default file /L List symbols on console -S,-M,-Y,-L,-K,-P,-I negation turns these functions OFF $$MEMRY b)f)j)n)r)FREE)) or , (default: CSEG) /T Tag as a CODE type segment /+ Create symbol with value /S Symbol listing to default file /L List symbols on conso8"vP| !qI >2PI ! ~#fo͐)~#fo#n&! x9! 6I R ! 6`i^#Vr+s ! n}p !q>2P+ !B"(P!! B"*P*P}ž Z,*P} *P} *P} ! ͢-}2P!9Unknown switch: %c Do you want the "!!BG.SWP" file to be a SYStem file, one that will not be displayed by the DIRectory command !d !pSB!q "P----HOLD.---!!BG.SWP!9DM!Ϳ>2S!>!S͒9!!!SB!(! w#wS"P͐*xP *Pn} ! *P!SC*P#n͐0! ^#Vr+s*P "P !/)>2pS!J!qS͒9!!!|SB!"P! s#r͐*hPҭ*xP͉͐! s#r*xP͐)! s#r͐(S"P*P͐ k"P͐ kR*Pn}ͣs{p! w#w*P! s#r͐|5͐)))))P͐! ^#Vr+sns! ^#Vr+s ͐ kR#͐s#r͐ kR###͐s#r*P#"P! *P!pSC*P#͐0s͐/)! ^#Vr+sZ ! w#w͐*hP"͐ kRn}!Ϳ|*dP!q*TP(! w#w*P! s#r͐|M! ^#Vr+s͐)))))P͐ns! ^#Vr+s ͐ kR*TPs#r͐ kR*VPs#r*TP/)͐)))))Pn&*&PA!Vx9`i6#6͐|͐)))))P͐n&|g}olC`i^#Vr+sõ*XP*XP*VP*TP*TP!hx9! ^#Vr+sõ*P}5!͒8͘B! 9TEMPENT0$$$HOLD0000$$$ Dir. entry %c%d: moved to sector %2d(%2xH), slot %d, group %4d(%4xH) waiting at exit of move_entries!9DM! w#w*hP)"dP! w#w͐*:P|͐(`iw#wS"P͐|n*Pn}X! ^#Vr+s! n}X*P"P͐"VP͐"TP͐*>P͉"XP!ß`i^#Vr+s*P "P! ^#Vr+s*dP͐Ҙ*dP!q͐ß!9!9DM*zP! s#r`is#r! s#r͐*tP҄*xP͉͐! s#r*xP͐)! s#r͐(S"P*P͐ k"P*P6!*P#͒9! w#w͐ w*P͐ )w#w! ^#Vr+sK! s#r! s#r͐ *jP͐*tP*P}*P͐ )͐s#r*P͐ ͐s&! ~#fo*>Ps#r! ^#Vr+s! ^#Vr+s! ^#Vr+sÈ*P ͐*BPk͐ +͉s*P͐ )! s#rzi͐l!s͐/)`i^#Vr+s1+!9!!BG SWP!9DM>?2xS!pS!B|!͛C`is#rz! q!!x9S"P*P!xT *P6 *P#"PT"P!! s#r!",P*,P|Y*P! ^#Vr+sns*P"P*,P#",P$!",P*,P*rPҢ*,P}2wT!!S͐C|Ҙ!q*,P#",P_͈͐D!9!!BG.SWP!!BG.SWP Writing %s ...BGSWP---!9DM*P}!`x9>?2S!S!B!(S"P*P*xP k"P*P###n&|g}os*P n&|g}os*P}y*P #n&|g}os*P!B!j!SBS"P*P*P *P *P?ssss!xT!B*P!BxT"P*P*xP k"P!w!SB>2S*Pn}!!S*P#)|7!S*P#!x95S"P*P *P *P?sss`iw#w͐*tP2͐*jP)! s#rz!S͐|͝ !ã!B! s#rxT"P*P͐ k"P*P}*P͐)~#fo*zP͐5&*P͐n*zP͐&5`i^#Vr+sbW͐͐͐!x9!q!9 tidy-up:????????.???!!BG.SWP pdir->fn %s temp_buf %s cnt %d indx %d ent %d!9DM! B*&P!B!! B&!B" P!B"P*&P! ͋D"P* P~#fo".P* P~#fo"0P*0P#"2P* P~#foͩ}2P* P ~#fo"4P* P~#fo#"RP*RP͉":P* P##ng">P*>P͉"@P*P}ʎ!Ñ!"jP*P}ʬ*@P)))͉ï*@P"BP*P}* P##n}* P###n}* Pn}!"jP*BP͉"BP!͒8>2P*2P))))*.P))`is#r*4P*2P))))*.P)͉*@Pk͐|ͣ"8P*8P*4P"6P*:P*>P͉"P͉#"FPQ."HP*:P+*>P͉#"JP*HP*JP"LP'*2P*\P"ZP!Ϳ"NP*RP*NP"PP*ZP*HP*@Pk"^P*\P*@Pk"`P*2P*HP*@Pk"bP> *@P*vP*@P+*@P͉k"vP*vP*@P͉"tP*tP*>Pk"rP*tP*jP͉"hP*HP*FP"zP*`P*vPҊ*vP*`P!q*xP*hP+*xP*&PA*vP!x9*P}*>P*@P*BP*jP*P&!Gx9!9 Drive has non-standard extent mask; proceeding. Creating %dK !!BG.SWP on %c: entries #%d - #%d large %d gpe %d, extpe %d,kpg %d, spg %d!9DM!lC͐>‘>l>>w>©>ʂ> µ>ʓ>>ʲ>>>>>>>>>>> >> >> !>$> ->/> 9>:>E>E>Q>P>]>a>i>xÉ!͒8Ô!͒8Ô͐! x9Ô͐͐*@Pk!2x9Ô͐!Yx9Ô͐!{x9!͒8Ô͐!x9Ô!͒8Ô!͒8Ô!͒8Ô!1͒8Ô!I͒8Ô![͒8Ô!b͒8Ô!x͒8Ô!͒8Ô͐!x9Ô͐͐!x9Ô͐!x9Ô! ͒8Ô', he Backgrounder requires CP/M 2.2! usage: PUTBG [-d=drive | -k=bgsize | -verbose | -system | -fast | -Xdebug] Directory is full! Erase %d entry(s). Disk is full! Erase %dK (%d groups). Directory read error, sector %d Directory write error, sector %d. Is disk write-protected? Can't read group %d Can't update directory group Can't create the !!!BG.SWP file Can't write the !!!BG.SWP file Can't find TEMP group. No changes made. SEEK. Can't (re)open TEMP. Can't create TEMP. !!!BG.SWP file in wrong slot! Insufficient space, need %dK more Group %xH(%d) out of range! !!!TIME&.DAT update error # %d Misc. error !- no message yet!!!P x9! ͒8! ͒8 PUTBG: v%d.%d Copyright (c) 1986,87 Plu*Perfect Systems This program prepares a disk with the Backgrounder swapfile. If necessary, it relocates existing files. ! j 0f&S 1&C2&3&4 &5@&B#6)f7/8,92AM9A&RF8E&HJA?L5d ZML LINKER INSTALLATION MENU 1 of 2 I/O CONTROL OPTIONS DEFAULT OUTPUT FILE TYPES 0) Sym Tbl list/Console xxx | S) Symbol Table file .SYM 1) Page Console display xxx | C) Executable A:0100 .COM 2) Sym Tbl list to File xxx | B) Executable A:other .BIN | 6) /P option, A:0100 .PRL 3) Supress Propeller xxx | 7) /P option, A:0000 .SPR 4) Supress Status Rpt. xxx | 8) /P option, A:other .BPR 5) Z3 Quiet flag for both xxx | 9) FS/I option .RSX SYSTEM INTERFACE OPTIONS | DEFAULT INPUT FILE TYPES M) Z3 Msg Buffer Offset 42H | R) mREL Source file .xxx F) ZCPR3 System File # xx4 | H) PRL hdr file xxxxxxxx.xxx A) Alternate DU: ?8x | L) mREL Library file .xxx I/O CONTROL OPTIONS Options 0 through 5 toggle (YES/NO) each time they are selected. 0) and 2) control automatic output of the global symbol table. Setting either or both to YES causes the symbol table to be generated and sent to the selected device(s). If 1) is set to yes, then console output will be paged. 3) Display of the activity indicator and linker pass number is inhibited when this item is answered YES, superseding the state of the Z3 QUIET flag. 4) Display of the status report at the end of link is inhibited if YES. Like 3), the YES supersedes the state of the Z3 Quiet Flag. 5) When YES, the Z3 Quiet Flag will inhibit BOTH the activity indicator and the status report. For non Z-systems, this item has no effect. Options 3-5 give you the choice between more information and reduction of console screen clutter. The activity indicator simulates a rotating propeller which is very hard on printers and braille terminals. DEFAULT FILETYPES File type extensions on the command line supersede the defaults shown here. The file type for output files containing code depends on the load address at which the program is linked. The default load address (normally 100H) is set by the A option in MENU 2, and may be assigned by the /A option on the command line. The default output filetype is selected according to the indicated combination of command option (/P, /K, /I, or none) and the default or assigned load address (/A or /A:). Note that the default FN and FT for the /P options only provides defaults for missing parts of a FS/P command line option. If FS is missing entirely, then ZML generates a null-filled PRL header. The PRL header file (FS) may contain executable code. Locations 01 and 02 will be filled with the length of the following program after the file is prepended to the output file and its bitmap. ZML makes the bitmap automatically. SYSTEM INTERFACE OPTIONS A) ALTERNATE DU If ZML can't find a file in the default or named directory, the search will continue in the Alternate you have selected. The "?" entry for either drive or user means to search the default D or U which is current when ZML is invoked. F) ZCPR3 System File number When ZCPR3/33/34 is available, the name of the first input file that caused an error will be stored at this system file number. Note that 'undefined symbol' errors are not assigned to a particular file! M) Z3 Msg Buffer Offset This value defines the destination of potential error or link data that ZML could leave for reference by subsequent programs. It is not currently used, and changing it will have no effect.   P&R&M)&S=I&NUUA6AH0&1@[&I T&2y&3& ZML LINKER INSTALLATION MENU 2 of 2 A) Main Load Address 0100H | 0) Append .REQUEST files U) Uninitialized data is: 00H | 1) Initialized ASEG only? YES P) Make PRL/xPR file xxx | S) PRL header size = xxx rcrds R) Make RSX type file xxx | N) RSX HDR name = xxxxxxxx.xxx M) Mark Free Memory address RELOCATABLE in the bitmap I) Include empty externals?YES | 2) Truncate DS (non PRL)? YES | 3) Truncate DS (for PRL)? YES U) UNINITIALIZED DATA ZML uses the byte displayed here to fill areas skipped over by ORG and DS statements, and as a fill byte in the last sector of the binary output file. You can set this to any value you wish. A) MAIN LOAD ADDRESS The Main Load Address is that memory location at which the first byte of the linked code will be loaded for execution or other memory location-dependent access. For programs operating under CP/M or Z-Systems, that address is the familiar 100H. This menu item allows you to set the default load address to some other value for special applications. The /A command line option achieves the same objective, over-riding the default set here. : 0) xxxxxx .REQUEST FILES "xxxxxx" toggles between "Append" and "Insert" when this menu item is selected. The names of REL Files included in the current link are either appended to the list of files from the command line or are Inserted immediately after the file in which the .request item was found. This affects the ORDER in which libraries are searched to resolve symbols which have been previously declared External. Append is the preferred selection when the .request'd files do not in turn contain the .request item. When .request items are NESTED by being called out in files that are themselves the object of a .request, then the INSERT selection may avoid 'unresolved symbols'. Consider the link command: ZML MYFILE,SYSLIB/ If MYFILE contains a .request MYLIB item, then the linker will (append) process the files in the following order: MYFILE.REL, SYSLIB.REL, MYLIB.REL If the INSERT selection is active, then the processing order will be: MYFILE.REL, MYLIB.REL, SYSLIB.REL If MYLIB.REL contains externals expected to be resolved in SYSLIB, then only the second strategy will be successful! : 1) Initialized ASEG only? A 'YES' here means that ASEG will only contribute code to the output file if it is initialized data generated by instructions or DB or DW statements in ASEG. When toggled to 'NO', this option causes ALL ASEG memory references to be allocated, initialized, and included in the output file. ASEG areas defined with DS or skipped via ORG statements will be included in the output file and initialized to the value you have selected in item U above. Labels defined in ASEG by statements like 'LABEL EQU $' are treated the same as ORG statements by initializing any undefined space preceding the Program Counter ($). Leave this option 'NO' unless you require ASEG DS overlap with CSEG. P) Make PRL/xPR file (xPR = SPR or BPR file types) A 'yes' here will cause such files to be generated without being named on the command line. The PRL type header will be filled with nulls except, of course, for the obligatory length word at addr 1. : S) Size of PRL type header The length of the null-filled block is 2 records (=1 page=256 bytes) for a standard PRL or SPR file. The S selection allows you to change this length for special applications. R) Make RSX file A 'yes' here causes the linker to always include the file named in the N selection as the first in the output file. The output file type will be set to that selected in MENU 1. N) Name of the RSX input file The name selected here provides default FN and FT for the FS/I command line option. If FS is not specified, then the input file is expected to be as shown here. : M) Mark free memory address ... This selection toggles between RELOCATABLE and ABSOLUTE, and controls treatment of the VALUE word at location $MEMRY (if @ COPYRIGHT (C) 1978, DIGITAL RESEARCH ERROR: $, LOAD ADDRESS $DISK READ$INVERTED LOAD ADDRESS$DISK WRITE$LOAD ADDRESS $ERROR ADDRESS $BYTES READ:$INVALID HEX DIGIT$CHECK SUM ERROR $FIRST ADDRESS $LAST ADDRESS $BYTES READ $RECORDS WRITTEN $HEXCANNOT OPEN SOURCE$COMNO MORE DIRECTORY SPACE$CANNOT CLOSE FILE$*!9"!e !" !" \!""͊: ƒde"\\\͊: ²d\͝: )d;! q* &f  ! q> ! : A O: 0O! q: O: O! p+q* |O* }O! p+q*  f! p+q* DMB! p+q)R* DMB1B* DM+;! p+q* i2 ! p+q* i2 ! p+q* i2 i2 !" p+q*! f!$ p+q*# i!& p+q*% i!( p+q*' i2 !* p+q*) f!/ s+p+q+p+q:/ =2/ X*+ *- w*+ #"+ *- #"- 1* #" ͖r*   ~!" ! ͸×* " x20 º*   DM":0 Ad*   6!" Ç!" : !"6 "8 ": }2< !"4 "= ! 6Y: !2 6=21 á:1 : r+s#r==_HL"4 " >6 ͪS* "6 =23 :1 =21 v=O* #" Y8  ͝҉* +"8 .!2 ʞR̀* "4 4 = ͝* #" çR*6 DM+R*8 DM+R*: DM+R*< M!? q=  ͝Kd*= ! ͸p!@ 6>!@ X*= }O!< *@ & w*= #"= !@ 4)!< 4\mad* }O!< :? wlR*4 DM+{R* DM+R 4 ͝*4 }¿= 4 ͝< N*4 #"4  å;*4 DM+: Y2A 0O> :A 0:A AO>&R̀:A A H.2B !2 w:B !D s+q*C &͍:D _og_{ozg^#V) _{ozgi`N#Fogo&og_{_z#Wq=  ͝Kd*= ! ͸p!@ 6>!@ X*= }O!< *@ & w*= #"= !@ 4)!< 4\mad* }O!< :? wlR*4 DM+{R* DM+R 4 ͝*4 }¿= 4 ͝< N*4 #"4  å;*4 DM+: Y22A2C071100F319222C08 :1003E00007C3F104CD0601B7CAF303CD0901FE032B :1003F000CAC1012A1E072227070E00061AC521CCF2 :10040000060600094ECD220526000D69CD3905EB03 :100410002A270719CD11030E023A2307B7C2280471 :100420003A2A07FE1BD23004CD2A011FDC1F03C16C :100430000C05C2FD032130072227070E00061A0C07 :10044000C5CD22052A2707CD1103218000092227C7 :10045000073A2307B7C260043A2A07FE1BD2670493 :10046000CD27011FDC1903C105C23F0401000D3A6D :100470002307B7C2790401000D2A1E071130071A9D :10048000BEC28F0423130B79B0C27F04C3F104E50D :10049000D5C5117C06CD14053A2307CDFB01117B90 :1004A00005CD1405E12B293E1A94CDFB0111A406BC :1004B000CD1405E17E322E07E57CCDFB01E17DCD3B :1004C000FB010E2CCD0C01E17E322F07E57CCDFB2C :1004D00001E17DCDFB0111B806CD14053A2E07CD03 :1004E000FB010E2CCD0C013A2F07CDFB01AF3229B9 :1004F000073A2907B7C83A23073C213401BEC8CDC3 :10050000F70221210735C811000D2A1E0719221EE6 :1005100007F6FFC91AFE24C8D54FCD0C01D113C36D :10052000140579322A07C5210000CD3001CD210103 :10053000C1C979322607C31B01292929292929295B :10054000C90D0A2A2A2A20434F505920434F4D50A3 :100550004C455445202A2A2A242C204452495645E9 :1005600020240D0A2B204552524F52204F4E20542A :100570005241434B20284845582924205345435491 :100580004F52202848455829240D0A2B2B504552FC :100590004D414E454E5420240D0A2B2052454144D6 :1005A000204552524F5220240D0A2B2057524954B5 :1005B00045204552524F5220240D0A534F55524365 :1005C00045204F4E20003A204F424A454354204F89 :1005D0004E20003A0D0A484954203C524554555289 :1005E0004E3E20544F20434F4E54494E55452C20EB :1005F0004F52203C434F4E54524F4C2D433E2054BB :100600004F20455849543A20240D0A3C5245545530 :10061000524E3E20544F2043502F4D2C204F5220FD :100620003C523E455045415420434F50593A2024B6 :100630000D0A240D0A534F55524345204452495642 :100640004520284120544852552046293A20240D5F :100650000A4F424A454354204452495645202841B6 :1006600020544852552046293A20240D0A434F5021 :1006700059494E4720545241434B20240D0A2B2008 :100680004D454D4F525920434F4D50415245204505 :1006900052524F52204F4E20545241434B20284833 :1006A000455829240D0A2B204D454D4F52592041C4 :1006B000444452455353202420284F424A2C53523D :1006C000432920202044415441202024191A0102AA :1006D000030405060708090A0B0C0D0E0F10111272 :1006E0001314151617182A01004411000D21301497 :1006F00019DA30077CB8CA3007D230077E2F77BEB0 :0D070000C230073AD1083C32D108C3F006E0 :10071D0000000000000000000000000000000000CC :01072D0000CB :100730002A0100F92103003922070121060039228C :100740000A0121090039220D012115003922190160 :1007500021180039221C01211B0039221F01211EF2 :1007600000392222012121003922250121240039CA :1007700022280121270039222B010E0CCD05007CF7 :10078000B5C28C073EC9323001C39307212D003911 :10079000223101311D0711D208CD14052A33013A47 :1007A0005D00E65FFE00CA870847AF32360178FE7B :1007B00044CA5208FE46CA5908FE4CCA6008FE4F99 :1007C000CA6708FE50CA6E08FE41CA7508FE53CAC1 :1007D0007C08FE5ACA83083E20326400215D00CDA9 :1007E0001408D2EE07112609CD1405C30000573DA9 :1007F0005F7EEBFE20CA8708EBFE2DC2E50723CD06 :100800001408DAE50757BBDAE5073E20BEC2E50764 :10081000EBC387083E30BE3FD83E3ABED8974778F4 :1008200087DA4E0887DA4E0880DA4E0887DA4E08F3 :10083000477ED63080DA4E0847237EFE30DA450800 :10084000FE3ADA1F08043E4DB8DA4E0878C9E1C313 :10085000E507264D2E02C3870826032E02C387080C :10086000264D2E4CC3870826022E01C38708264D2D :100870002E01C38708264D2E00C3870826022E00AE :10088000C3870826012E00223301119909CD1405D2 :100890003A3301CDFB0111AF09CD14053A34013DC6 :1008A000CDFB013A3501B7CAC4083D32350121D12B :1008B00008BECACA08DACA0811F908CD14053AD127 :1008C00008CDFB013AD1083235012137012201015F :1008D000E9000D0A46415354204449534B455454B2 :1008E0004520434F50592050524F4752414D2C20E4 :1008F0005645522E20342E33240D0A43502F4D20BE :10090000495320544F4F20534D414C4C202D2042F1 :100910005546464552205350414345205245445583 :100920004345443A20240D0A494E56414C4944203F :10093000504152414D45544552202E2E2056414C97 :10094000494420434F50594641535420504152414D :100950004D4554455253204152450D0A414C4C2CB3 :1009600020444154412C2046495253542C204C41A0 :1009700053542C204F4E452C2050415343414C2C76 :100980002053595354454D2C205A45524F2C204E3C :10099000312C204E312D4E32240D0A434F505949EF :1009A0004E472046524F4D20545241434B20242065 :0A09B000544F20545241434B2024C1 :0000000000 present) when the bitmap is being constructed for PRL-type files. Leave this selection at RELOCATABLE unless you are **VERY SURE** that your code requires the un-relocated value at $MEMRY. I) Include empty externals? YES means that code for unreferenced external names will be included in the linked file even thought it is not used. NO means that such empty external references will be ignored, resulting in a shorter code image. Some compilers use such externals to force inclusion of library code. : 2) Truncate terminal uninitialized data (not PRL)? When YES, the object file will not include uninitialized (like DS) data areas at the end of the file. Such files may save disk storage space and may load faster if the uninitialized data area is large. If NO, then the uninitialized data is included and is actually initialized to the value specified in the 'U' option. This option applies to all output files except those that contain a PRL or SPR header. 3) Truncate terminal uninitialized Data (for PRL)? When YES, the object PRL/SPR file will not include uninitialized data, as above for non-PRL files. If NO, then the uninitialized data is included. This option applies to PRL/SPR files only, allowing you to treat them differently than 'normal' files. YES NOYESINSERTAPPENDABSOLUTE RELOCATABLE@Ois option applies to all output files except those that contain a PRL or SPR header. 3) Truncate terminal uninitialized Data!s#r7:P)"XV>ڸGz> ʸGz2:P,"j!"l*T|fG*j!^#V*X#^#V^Gr+s*l5*R"R*j"*lʎG2?aG#"l*T+"T*j! N#Fp+qx8G##6>2?^G2?  G > _ G 7:PO*R7QRIGETCHAKBHICUNGETC^PUTCHArPUTCȪGETRANSRAN6SRANDNRANCSSETMEMOVME$CAL̄CALLINOUTPEEPOKSLEEPAUSNEXIaBDOiBIOBIOSȪCODENEXTERNENDEXTOPOFMEEXEEXEC(SBR|RSVST˸MEMCMI+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[ka$5!WTp keȠ+8ݦq^Ͱ k6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYW\ jkxPjjbr #[\ Ox>Tf℃(F?b1CV:WT,  V#fAE/ 6 Te$͸64uEm T  **WS`6 ` (h6 #5} ?h탉DPjj:.fv#6 b+:``#22.X!(T?ٶtP 5Fد 8N,چ* , WS$ 3* '@0l00jj:e1edaeN Y k@l?-!wHU+/)q^*p(+ᐃMuC.ՀI[ADU@m#fѠEƀ`d4%f0Fʠ3l@,>-k #@OV!eIAܢl2"+.FfـF%QmdMxʴ;Ipjj:.;Hwl{@áeZ@mPf7 ρ\#*OfڐCl6h8I{@`@;`N ]s/ؠ #D!nWPfߐ&%FP #( #L$sh3 F|Y\W0ršZ'X_BIOS_fK6 a0Lkf0Q 3h"2a0^ATfOqAb0@   FNfp1Yr Vm`c5}5M2 uG _ENV_H0;Hwl%h Gf Vz[ lێ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-NpN 0ǶfѠ@j)͢ 6m#qY#e #!/pQr@ EdPph0 l! p=N@pD0hd+ ar>#+/0FL ?2DgP?-%^ mH >3m"$Ah$ Au@fvlLmvp _ENV_ q@t i`!B//bP`BϬX|c ͣ-æ%,gPf@ՇF\Td2~[k:^ V>:^ ( 6ʹ0:^ )F * ~(B!| t[ * R)ͫ E  !   4 2  F ) 4 { F: G[ !͹ \g * " * " !F#> #[ ~= 6 (j/(f#6 *  K 0 ~ (#"}  !;  ]!    !#=(:^ \]! [ > ʚ#~/( (~2*!% ~#foDPMRAXSJE@766666  :^   4 ! \ fʵ*} ~ ʵʹ==_!^#VEIOOOVVVVVVZitN tt!r "p V 4N F ^  ͸0 F!r t#t ntnn}G= (#"} \!;  !] [ ͹  ͉ N( ^( !h F ~# A F 56 N(5:7w  N8 :^ f(oKp ~Cp ~w#K C x¶: G* " * [} !h F# ,( (7,( :] (//:^ (//s ) [ :  :+ " C C "} " :  :) " C C " " :  :* " C C " "  !/[ :w!r "p * |$͜#  B> ͉~+ (!] >' )>. ~# ( +#!]    s  )Invalid option specification! Z/CPM Library Manager, Version 1.5 Copyright 1988 A.E. Hawley Function: Create, Modify, or display contents of a REL format Library file (LIB). Syntax: RLIB LIB[=MOD[,MOD...]] [[/] qVdhb?1?# [(luƚ#L~`x_̖, o? g1s4iۖU`ޖuL#SJEB; @6U 5n#f12KTmT{@c?&5t^DX g'` @h TITLE INIT - FORTRAN-80 RUNTIME INITIALIZATION .8080 ENTRY $INIT,$EC,$IOFLG,$CPMVN,$CPMWF,$CPMRF EXTRN $CLSFL GTVRSF EQU 12 ;GET CP/M VERSION FUNCTION .READS EQU 20 ;READ SEQUENTIAL FUNCTION (1.X) .WRITS EQU 21 ;WRITE SEQUENTIAL FUNCTION (1.X) .READR EQU 33 ;READ RANDOM FUNCTION (2.X) .WRITR EQU 34 ;WRITE RANDOM FUNCTION (2.X) DSEG $CPMVN: DS 1 ;0FFH if CP/M 1.X, 00 if 2.X $CPMRF: DS 1 ;CP/M Read function held here $CPMWF: DS 1 ;CP/M WRITE FUNCTION HELD HERE $EC: DS 1 ;ERROR COUNT - MAX 20 NON-FATAL ERRS $IOFLG: DS 1 ;FLAG WHETHER I/O INIT HAS BEEN DONE CSEG CPMENT SET 5 $INIT: XRA A STA $EC ;INITIALIZE ERROR COUNT TO 0 STA $IOFLG ;INITIALIZE I/O FLAG LXI H,RETINS ;INITIALIZE $CLSFL TO POINT TO "RET" SHLD $CLSFL LHLD CPMENT+1 ;INITIALIZE STACK TO TOP OF MEMORY-1 DCX H SPHL PUSH B ;PUT RETURN ADDRESS ON STACK MVI C,GTVRSF CALL CPMENT ;GET CP/M VERSION NUMBER SUI 20H-1 ;SET $CPMVN SUCH THAT SBB A ;2.X = 00 AND STA $CPMVN ;1.X = 0FFH.. LXI H,(.WRITS SHL 8)+.READS JNZ SETVF ;1.X USES SEQUENTIAL I/O CALLS LXI H,(.WRITR SHL 8)+.READR SETVF: SHLD $CPMRF ;2.X USES RANDOM I/O CALLS RETINS: RET END  SHLD $CLSFL LHLD CPMENT+1 ;INITIALIZE STACK TO TOP OF MEMORY-1 DCX H SPHL PUSH B ;PUT RETURN ADDRESS ON STACK MVI C,GTVRSF CALL CPMENT ;GET CP/M VERSION NUMBER SUI 20H-1 ;SET $CPMVN SUCH THAT SBB A ;2.X = 00 AND STA $CPMVN ;1INTX/EXTENSYS VERSION/ ENDIF ENDIF IFT TANDY OR CPMSBC CPM SET 1 ENDIF ; IFT CPM .VERSN EQU 12 ; Get CP/M Version No. .READS EQU 20 ; Read Sequential (1.x) .WRITS EQU 21 ; Write Sequential (1.x) .READR EQU 33 ; Read Random (2.x) .WRITR EQU 34 ; Write Random (2.x) DSEG PUBLIC $CPMVN,$CPMWF,$CPMRF $CPMVN: DS 1 ; CP-1 0FFH IF if cpCP/M 1.X, 00 IFif 2.X $CPMRF: DS 1 ; CP/M Read function held here $CPMWF: DS 1 ; CP/M Write function held here CSEG ENDIF ; IFF MOSTEK OR REALIO EXT $CLSFL ENDIF IFT TEK SRB EQU 3 FILNAM EQU 0BH EXT $IOERR DSEG ;**3.36 PUBLIC $MEMEN ;**3.36 $MEMEN: DS 2 ;**3.36 Save mem top here ENDIF IFT TRSDOS .HIGH EQU 40111Q ENDIF IFT R2E .LMEM EQU 200Q ENDIF IFT CPM CPMENT SET 5 ENDIF IFT TANDY CPMENT SET 4205H ENDIF IFT CPMSBC CPMENT SET 4005H ENDIF IFT ADDS CPMENT SET 1009H ENDIF IFT ISIS .MEMCK EQU 0F81BH ENDIF IFT SORD MEMSIZ EQU 40040Q ENDIF ; IFT HDOS SCALL MACRO ARG RST 7 DB ARG ENDM .SETOP EQU 52Q ENDIF IFT MOSTEK EXT $BF,$BL,$REC,$LUNTB ENTRY $MEMRY DSEG $MEMRY: DS 2 ENDIF DSEG $EC: DS 1 ;RUNTIME ERROR COUNT $IOFLG: DS 1 ;FLAG WHETHER I/O INITIALIZE HAS BEEN DONE IFT ZILOG OR TEK OR ISC OR REALIO ENTRY $MEMRY $MEMRY: DS 2 ENDIF IFT ZILOG CSEG CONOUT: DB 2 OUTREQ: DB 64 DW CONFLG DB 1 DB 0 DW 0 DW 0 DS 1 DW 0 SYSTEM SET 1403H MEMGR SET 1409H ; IFT ZDS SYSTEM SET 1003H MEMGR SET 1009H ENDIF ; EXT $BGMEM,$OGMEM,$OGFLG ; DSEG CONFLG: DS 1 ; ENDIF IFT LOKHED DSEG $MEMRY: DS 2 ENTRY $MEMRY CSEG ENDIF CSEG $INIT: XRA A ;INITIALIZE ERROR COUNT TO 0 STA $EC STA $IOFLG ;INITIALIZE I/O FLAG IFF MOSTEK OR LOKHED OR REALIO LXI H,RETINS ;INITIALIZE $CLSFL TO POINT TO "RET" SHLD $CLSFL IFT MOD2 EXT $CLSF2 SHLD $CLSF2 ENDIF ENDIF IFF HDOS OR OASIS OR LOKHED OR REALIO OR GENRAD OR R2E OR CCORP IFF MITS OR DTC OR ZILOG OR MOSTEK OR TEK OR ISC OR TRSDOS OR MOD2 IFT ADDS OR CPM LHLD CPMENT+1 ;INITIALIZE STACK TO TOP OF MEMORY-1 DCX H ENDIF IFT ISIS PUSH B ;SAVE RETURN ADDR CALL .MEMCK MOV H,B MOV L,A DCX H POP B ;RESTORE RETURN ADDR ENDIF IFT SORD LHLD MEMSIZ DCX H ENDIF IFT XTNSYS LXI H,0FFDFH ;TOP OF MEMORY ENDIF SPHL ENDIF ENDIF IFT CPM PUSH B ; Put Caller back on Stack MVI C,.VERSN CALL CPMENT ; Get CP/M Version Number SUI X'20'-1 ; Set $CPMVN such that SBB A ; 2.x = 0 and STA $CPMVN ; 1.x = -1... LXI H,(.WRITS SHL 8)+.READS JNZ SETVF ; 1.x uses Seq I/O calls LXI H,(.WRITR SHL 8)+.READR SETVF: SHLD $CPMRF ; 2.x uses Rnd I/O calls ENDIF IFT TEK OR ISC IFT ISC EXT $OSTCK LXI H,0 ;SAVE ORIGINAL STACK PTR DAD SP SHLD $OSTCK ENDIF LHLD $MEMRY ;GET TOP OF MEMORY PTR MVI D,55H MEMLOP: MOV A,H ;CHECK FOR WRAP-AROUND TO 0000 ORA L JZ ENDMEM MOV M,D ;FIND TOP OF AVAILABLE RAM MOV A,M CPI 55H INX H JZ MEMLOP DCX H ENDMEM: DCX H SPHL IFT TEK SHLD $MEMEN ;**3.36 Save mem top for others ; LXI H,40H ;SET UP SRB PTR MVI M,0 ;SRB IS AT 03 INX H MVI M,3 ; PUSH B ;SAVE RET ADDR MVI C,5 ;TRANSFER 5 CHARS LXI D,CONO ;FROM CONO LXI H,FILNAM ;TO FILNAM CALL BLT MVI B,0 ;ASSIGN CONO TO CHAN 0 CALL ASSN LXI D,CONI ;AND ASSIGN CONI TO CHAN 1 LXI H,FILNAM MVI C,5 CALL BLT ;FALL INTO ASSN ASSN: LXI H,SRB MVI M,10H INX H MOV M,B ;CHANNEL # PUSH B ;SAVE IT LXI H,SRB+6 ;POINT TO BUFFER PTR LXI D,FILNAM MOV M,D ;STUFF IT IN INX H MOV M,E MVI A,0FFH OUT 0F7H ;DO ASSIGN NOP NOP POP B INR B ;INCREMENT CHANN FOR NEXT CALL LDA SRB+2 ;CHECK ERROR CONDITIONS ANI 0FEH JNZ $IOERR ;ASSIGN ERROR RET ; CONO: DB 'CONO' DB 13 CONI: DB 'CONI' DB 13 ; BLT: LDAX D MOV M,A DCR C INX D INX H JNZ BLT RET ENDIF ENDIF ; IFT ZILOG XRA A PUSH B LHLD $MEMRY ;ADDR OF FIRST FREE MEM LOC LXI D,0FFFFH MOV B,D MOV C,E CALL MEMGR ;MEMGR XRA A CALL MEMGR ;ALLOCATE THE SPACE SHLD $BGMEM ;SAVE BEGINNING ADDR DAD B POP D SPHL PUSH D ;SAVE RET ADDR MOV H,B MOV L,C SHLD $OGMEM ;SAVE SIZE OF SEGMENT ALLOCATED DB 375Q ;LDIY DB 41Q DW CONOUT CALL SYSTEM ;READ IN CONSOLE STATUS FLAGS LXI H,CONFLG MOV A,M STA $OGFLG ;SAVE ORIGINAL VALUE ANI 375Q ;MASK OFF AUTOLF BIT MOV M,A MVI A,66 STA OUTREQ ;WRITE STATUS REQUEST DB 375Q ;LDIY DB 41Q DW CONOUT JMP SYSTEM ;WRITE STATUS ENDIF IFT TRSDOS LHLD .HIGH SPHL ENDIF IFT MOD2 XCHG SPHL ENDIF IFT HDOS LXI SP,21200Q ;SET UP TEMPORARY STACK PUSH B ;SAVE RET ADDR LXI H,-1 ;ASK FOR ALL OF MEMORY SCALL .SETOP XCHG LHLD 20324Q LXI B,10 DAD B MOV A,E SUB L MOV L,A MOV A,D SBB H MOV H,A PUSH H ;SAVE TOP OF MEM SCALL .SETOP ;ALLOCATE ALL OF MEMORY POP H ;TOP OF MEM PTR POP B ;RET ADDR SPHL ENDIF IFT GENRAD IFF GENBUG LXI D,0D5FFH LXI H,08000H LDA 0A000H CMP M JNZ M64K INR M LDA 0A000H CMP M PUSH PSW DCR M POP PSW JNZ M64K LXI D,09FFFH M64K: XCHG SPHL ENDIF IFT GENBUG LXI SP,0A3FFH ENDIF KCLR EQU 10H .PTCHR EQU 112H .GTOXY EQU 115H ; PUSH B MVI A,KCLR CALL .PTCHR LXI H,0 CALL .GTOXY POP B ENDIF IFT R2E LHLD .LMEM SPHL ENDIF IFT CCORP EXT $MEMRY LXI H,0 DAD SP SHLD $SYSTK LXI SP,STACK LXI H,HIMEM SHLD $MEMRY MOV H,B MOV L,C PCHL ENDIF IFF CPM OR MOSTEK OR TEK OR ZILOG OR CCORP MOV H,B ;PUT RETURN ADDRESS INTO HL MOV L,C PCHL ;RETURN ENDIF IFT CCORP DSEG ENTRY $SYSTK $SYSTK: DS 2 HIMEM: DS 1023 STACK: DS 1 ENDIF IFT MOSTEK MVI A,11 ;REQUEST CODE FOR INITIALIZE LXI D,ADRTBL ;POINT TO ADDRESS TABLE LHLD $LUNTB ;PICK UP O.S. ADDRESS PCHL ; ADRTBL: DW $BF DW $BL DW $REC DW $MEMRY ENDIF RETINS: DB 0C9H ;"RET" INSTRUCTION END EMRY MOV H,B MOV L,C PCHL ENDIF IFF CPM OR MOSTEK OR TEK OR ZILOG OR CCORP MOV H,B ;PUT RETURN ADDRESS INTO HL MOV L,C PCHL ;RETURN ENDIF IFT CCORP DSEG ENTRY $SYSTK $SYSTK: DS 2 HIMEM: DS 1023 STACK: DS 1 ENDIF IFT MOSTEK MVORD>ʀTqȖn,bG: 1r6Ȁ. n^cy`zE.їWk0Dq37b"H"@إqK,NВ1’̘b3B\4*|A0ڑ{nA^ Jy&S(ί&lzlp8Tt ѕӈC9+ÐJGTAsvP &(7QKà^dD`7]B=;b'A3{'؎Crk|/I>F PȨH1Q+H:F$)zO \$CRISÑ^aȥ'$0a^ĎCRbG`PyB@"ڣzE\c!n+TmM%f6 nC@aM! S^2ΐd@d6K (\߈#Za ~dŸ48sO@g2d TITLE IOINIT - FORTRAN-80 I/O FLAG & VARIABLE INIT .8080 ENTRY $IOINI EXT $IOFLG,$LNPTR,$CPMBF,$LUNTB EXT $FLFLG,$DSKER,$OPNFL $IOINI: LDA $IOFLG ;SEE IF WE'VE ALREADY BEEN CALLED ORA A RNZ INR A ;SET NON-ZERO STA $IOFLG LXI H,$CPMBF MVI M,132+1 ;MAX CHRS TO READ FOR BDOS CALL INX H MVI M,0 ;ZERO NO. OF CHARS READ INX H SHLD $LNPTR ;PTR TO BEGINNING OF LINE MVI M,10 ;STORE LINE FEED AT BEG. OF LINE LDA $LUNTB ;GET NO. OF LUN'S DCR A MOV B,A ;SAVE LOOP COUNT LXI H,$FLFLG ;INITIALIZE FLAGS FOR DSKDRV XRA A FLGLOP: MOV M,A ;ZERO $FLFLG BYTE INX H ;INCREMENT PTR DCR B ;DECREMENT COUNT JNZ FLGLOP ;NEXT STA $DSKER XRA A STA $OPNFL ;CLEAR $OPNFL FOR LPTDRV RET END ,$CPMBF MVI M,132+1 ;MAX CHRS TO READ FOR BDOS CALL INX H MVI M,0 ;ZERO NO. OF CHARS READ INX H SHLD $LNPTR ;PTR TO BEGINNING OF LINE MVI M,10 ;STORE LINE FEED AT BEG. OF LINE LDA $LUNTB ;GET NO. OF LUN'S DCR A MOV B,A ;SAVE LOOONIX VERSION/ ENDIF IFT ISIS .PRINTX/ISIS II VERSION/ ENDIF IFT DTC .PRINTX/DTC VERSION/ ENDIF IFT MITS .PRINTX/MITS VERSION/ ENDIF IFT SORD .PRINTX/SORD VERSION/ ENDIF IFT ISC .PRINTX/ISC VERSION/ ENDIF IFT XTNSYS .PRINTX/EXTENSYS VERSION/ ENDIF ENDIF ; ENTRY $IOINI EXT $IOFLG ; IFT HDOS SCALL MACRO ARG RST 7 DB ARG ENDM .CONSL EQU 6 EXT OPEN,$UN ENDIF IFT CPM OR DTC EXT $LNPTR,$CPMBF,$LINBF ENDIF IFT ZILOG EXT $LNPTR,$LINBF,$INLUN,$INCOD,$OTLUN,$OTREQ,$ZNPTR,$ZINBF ENDIF IFT CPM OR MITS OR ISIS OR DTC OR ZILOG EXT $LUNTB,$FLFLG,$DSKER ENDIF IFT ISC OR XTNSYS OR TRSDOS OR HDOS OR OASIS OR MOD2 OR GENRAD OR R2E EXT $LUNTB,$FLFLG ENDIF IFT CCORP EXT $LUNTB,$FLFLG ENDIF IFT TEK EXT $FLFLG,$DSKER ENDIF IFT MITS EXT $TTYLN,$LINBF,$LNPTR,$OUTBL,$TOCHR,$ARGBK ENDIF IFT DTC EXT $COMBF,$COMLN,$COMPT ENDIF IFT CPM OR ISIS EXT $OPNFL ENDIF IFT ISIS OR ISC OR XTNSYS EXT $LNPTR,$LNBUF ENDIF ; IFT TEK EXT $LNPTR $LNBUF EQU 50H ENDIF IFT TRSDOS OR OASIS OR MOD2 OR GENRAD OR R2E OR CCORP EXT $LNPTR,$LINBF ENDIF IFT LOKHED EXT $LINCT ENDIF ; $IOINI: LDA $IOFLG ;SEE IF WE'VE ALREADY BEEN CALLED ORA A RNZ IFT LOKHED STA $LINCT ENDIF INR A STA $IOFLG IFT TEK OR ISC LXI H,$LNBUF SHLD $LNPTR ;INITIALIZE TTY I/O MVI M,13 ;PUT A CR IN BUFFER TO FORCE READ ENDIF IFT TRSDOS OR OASIS OR MOD2 OR GENRAD OR R2E OR CCORP LXI H,$LINBF SHLD $LNPTR MVI M,13 ENDIF IFT XTNSYS LXI H,$LNBUF SHLD $LNPTR MVI M,0 ENDIF IFT HDOS XRA A ;SET CONSOLE TO LINE INPUT W/ECHO MOV B,A MVI C,-1 SCALL .CONSL ENDIF IFT DTC LXI H,$CPMBF ;INITIALIZE TTY I/O MVI M,80 INX H MVI M,0 INX H SHLD $LNPTR MVI M,12Q ENDIF IFT CPM LXI H,$CPMBF MVI M,133 INX H MVI M,0 INX H SHLD $LNPTR MVI M,12Q ENDIF IFT ISIS LXI H,$LNBUF MVI M,12Q SHLD $LNPTR ENDIF IFT ZILOG LXI H,$LINBF MVI M,15Q SHLD $LNPTR LXI H,$ZINBF MVI M,15Q SHLD $ZNPTR MVI A,1 STA $INLUN INR A STA $OTLUN MVI A,0CH STA $INCOD MVI A,10H STA $OTREQ ENDIF IFT MITS LXI H,$TTYLN MVI M,102Q INX H MVI M,0 INX H MVI M,101Q INX H MVI M,2 INX H LXI D,$LINBF MOV M,E INX H MOV M,D INX H MVI M,80 INX H MVI M,0 LXI H,$LINBF MVI M,12Q SHLD $LNPTR LXI H,$OUTBL MVI M,103Q INX H MVI M,0 INX H MVI M,101Q INX H MVI M,0 INX H LXI D,$TOCHR MOV M,E INX H MOV M,D INX H MVI M,1 INX H MVI M,0 XRA A STA $TOCHR ENDIF ; IFT DTC LXI H,$COMBF ;INITIALIZE COM I/O MVI M,80 INX H MVI M,0 INX H MVI M,12Q SHLD $COMPT ENDIF ; IFT CLRDSK IFF TEK LDA $LUNTB ;GET # OF LUN'S DCR A IFT DTC ADD A ENDIF MOV B,A ;SAVE IT ENDIF IFT TEK MVI B,6 ;6 LUN'S FOR TEK DISKDRV ENDIF LXI H,$FLFLG ;INITIALIZE FLAGS FOR DSKDRV XRA A FLGLOP: MOV M,A INX H ;INCREMENT PTR DCR B ;DECREMENT COUNT JNZ FLGLOP ;NEXT IFF ISC OR XTNSYS OR TRSDOS OR HDOS OR OASIS OR MOD2 OR GENRAD OR R2E STA $DSKER ENDIF IFT MITS STA $ARGBK ENDIF ENDIF ; IFT CPM OR ISIS XRA A STA $OPNFL ;FOR LPTDRV ENDIF ; IFT HDOS LDA $UN ;SAVE CURRENT LUN PUSH PSW LXI H,TWO ;POINT TO LUN LXI D,LPNAME ;POINT TO NAME CALL OPEN ;OPEN LP: TO BE LUN 2 POP PSW ;RESTORE LUN STA $UN RET TWO: DW 2 LPNAME: DB "LP: " ENDIF RET END T JNZ FLGLOP ;NEXT IFF ISC OR XTNSYS OR TRSDOS OR HDOS OR OASIS OR MOD2 OR GENRAD OR R2E STA $DSKER ENDIF IFT MITS STF?HGY[Ru%8l?DQ|[MWvmaqUyǤ rzgvax|mV,6[^qfzӵ?do[vnMRkpeEwDB~ C"2`XS%EQ]N.4A!=(ՠWEHE'(R md ZC pBSAx#Up p# "b98$NIQ(˯rH.>B2~`'c$ M-CF`[@=.Gz'tABE #hM yHNGD8)@44])8,yS X7b3NhwOcq8(4*(mDI9TфFC)I2!S MB0O M +T H'Ne ]?Ѹ!FRBf`2dhWRJ:IZhJvɰN2U-vSdG+d;WOgaG.9UnYmZk\Vp!?0PF !2vS &SгUwN3JE a tvÅ+QUiInl'μ\ع_lP vd P3Y">UXo~nZ`I (+ZB8H/7=]a.} L#ynP,L.M{9_C:n6ނ D8sI*)CBԭsƵ P|L~C.SGrEA8MU &5# @]!x%(B a[ عNHpƂ e%%SDCDMdH9)Kq:M | }ʖsH9Md#.WL p0! c$eݖ! fBDhli!EIxE=6:= a; $͏"anH|3M<ԼԒ^Ǧ펆^\@hH8yP= ] ![.11~.<2= 2= 2 = [P;![SS B K V_ES0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ;;;Pq^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^V^PS^F^PS q^QS^KB^S^X^KK^S^E^E^KV n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ^[;^[;^[;^Y^Y^QP q^S^S^G^D^U^U^D^G q^QS^X^[=^M]^S^V ^V^D^[![ q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 q^QS^S^S^[= [^D^D q^B^QP n^[;^C^[![ n^A^T n^h@F;jm(Sg+-BoJjll2yK"6]*̥*=8:6[kw9kUߤ4Wѽ{1.0O \qƁHx@Cc)VCy.D9h2Eb3;X} ӡ~lC944h̟l?#E@? ʄC A}cL &˱I "4 Ga rsp8Bs8 L1N]0rh0\Fq, @ M z;ia6 gn,A|F,h] p(FΚ#Bb A!@ a vp#Bn9%@P2 9w PCh"W C7 >%*`DTҬfu *+"S" " " " go"Q"`2 2!2!2X2Z2]2^2c2_2\2W!*" " " " "=";!" " " " 2 2 !" ?No Start Address?Loading Error?Nothing Loaded?Out of memory?Illegal Polish Exp:!‡!!!2!!!2*S! ~ 4!>2 2Y:c2c ,/MEG@RSUXYE{ O :Ù&O†2WHO2WG:c2c:'>`͇Ax¹'"U _2:f Ğ2U!c~w:f ~w:f 2Yæ2Y*`|##yȷ#jC~@#I" #ͬ*`|#*U~ !:Y:c~ G@x k o Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft ?Command Error~P#~#  `{ +!~G #~ ex+#<~: /͔>*P d> P:e!fo>g6 7ʌʌ  y:+y#P2\2f g !  :\GO: " " " " * * " ";* * BK* * "=2 G<2 z6#z: O4ͅ {Ҏ!y yBKO!; s#r! s#r! s#rͅ ڬ! s#r!; s#ry ! ~#fo! ѵ! }_|W>2 * * <* * : <ͅ P* * W{_* #" " "=:WGO0ڗ xڗ)))ҖʌҖ)o>gdy +%Overlaying areaDataProgramÔ!! ~#fo!ͅ ͅ ͅ &}< = yy7yM7>,>#ͅ !M> _!h >?P~#P!yk!:!ʆ!; Not Found> P> P>2 g 28: _<2 !~g ! w#! wO |!y:!(͔*QDMÙ&[Begin execution]:Z:X* * ͅ ~`~¨@w+++o>GO ~+t>ʊ6 #=ƒ* ! ͮ 2X * ~O_+++y++:XK͔:c2c *Q>[P"N!C \* s#r!I   \! ~# != = = \* ͅ = *ͅ = s#r"N2 * * ͅ ʐ ʅ 2 M\: z x/Gy/O~w#~wM M" z _z! ^#V   $ 2 = ] m `i ^+V! 4* M ! 4Ð ! 5 PY\  s #r lg   # |/g}/o   DM!>= ))K K z zi  BK}o|g҄ : ʫ ͅ ҫ | >]P͔: : $>2*Q"!o&'  d   >0G /}o|g x0   > xPH>G~#' j~@+^+V$MEMRY$$PROG$COMNM*QA!Hw#] j{ ~@{ +^+V"Q! 2A! ?Start symbol - - undefinedg  ~#³ ͞ REL7*`}2X:c` j: j͔ p @p ͔`p p p * } , >wk  :`? !K * !b  Undefined Global(s) Bytes Free 2bP  ~O~>-ʑ > >/P+^+V+~P ™ /PN~ ʼ !ÿ "~ N+^+V>>PN:b?2b̔>wt :bȯ2bÔk [ M  ~++GOŸ& H+D ; & yE >  * [ S } 7~k ~~r <</_* Å |}! 6S#6Y#6M<$>* * ͅ ~O~@ +^+V > h%+~h% > h%= >~ <</O ß ͑&%|}G[h%> h%> h%:WG)0P) 60P3|L}U[P0:͔! ~#foN"N"N>>PÔRQUESTͬæ* : * ͅ ~_~@+++~#* BK" ö+++ö2!2 2 2 : go" " " 2X" <2 : * * * * *=͝QiEZͿE! ~#foBK#: =ʝ: ”* |ʊҔ}Ҕ͝p#: ”* |ʲҔ·}ҔÔ: =: Uw+p+q+p+q#Bi++s" ͇:7>[?@2g ԇx " h 5)> F6 #=>x2f y.̇p xanbʃ!p ~ ƒ6R#6E#6Ly[ҥ0ڥAҡ:ҥÊ[ʡ]ʡ@ʡ\ʡ^ʡ_ʡOb: : 2 BK|A~_q#Vp\AU: =>@w+r+s+@1: 2 r+sA: =* >jV/o/g ڮA~@w:]2^s+++~ s2^q+p:^O!;>2 }|!; s#rͅ y A!>/P͔A~W+++~P+%2nd COMMON Larger /*;" |2 * ͅ A> j~@wA7U: >8: =->G: =7>@w@w+w++1: 2 : : =r+sA!HIF5#wj~+ܾU6+6++r+sA*K:J2 fU: ;: =>@w+6++r+sA:!A>.2!2P* !J͞!g2!+}2_! w#!ڐ ‚! \" " : :Z!ګ!  w#! ¸+w2!͞A!!?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!aǗzʣ̈́"Qb! ^#V! ͪ!;ͪyک: * * ͅ * " * '* * * BK* " ͅ " " ";" " ͅ 7* * * ͅ ]!* * * BK* * * * * " * * BK* * " " " "; ~w#~wPYb>̈́BKj~@: ~@w+~_q+U: =>Cw+p+q+r+sA! ͔A%Mult. Def. Global ~@*`+"`PYb>̈́BKůj~+nN+F@‡: ›:B(b: =›zAA;|A: ›r#sA: ›|A\zA#U: =ʯ>Bw+r+s+r+sA*`#"`!7~#46+wxG ɯ2 7Y!HYH!Hw74#6 _Gw#;!T"7O<2 XP̊wwO!9 N#F 2[: ʚ2[AC( r>-: " *=>2 * ͅ A*=>j+^+V\"?Ab: =#<2 =A: A*= APY7* K" !*="=* !" }2 <2 A:[* * |G}ʼ~O©H©A+++¨+—~ y/O oHOx_Ow#2 +w+w+w+ w+w+" 7ɩ))'):B($: ̈́: r2 * * DM* " *= "=* BK" " " " * " Ͷ'* |‡}ʠ~_|!^#V* " (M\~#+>>><2Z=O! $! ^#V0y=Uy?\ͅ ?\|y! i! us#rx^#V͞! p#”* ! N#F#~#fo! ^#V  ! ~#foͅ H! {_{_~H! ^q#Vp! ~s#_~rW}&: $#qͅ {_! 6)`i{ڠ! #Yš* * 6* " * * " ͞* ͅ ҙ" ! yڬ! ^#V ڻ F#fh! ^#V ^#Vy! ^#V^#V! s#r Gyx! @s#r#1xS|W}_x2 * 2 yoxg* " *="=*?PYͅ ڙ"?: ʹ=¯* !" * * ͅ үï͝*={OzG* * DM7xw#  +x~+ xw+ : 7={O>: 7J?Intersecting wO* ͅ <26: ?Oʣ: Jͅ Jͅ J!M>,P*6&0M^#Vy!HF#~#P>(P>)P: " Start = External Public = %*"!2Z!:Z?!͙!͙! y-!* * ͅ #* " ͅ |!*Sͅ "yb!*Sͅ "ͅ ڵ!*Sͅ ڮ!!!ù!!!!!!!2 YxbelowaboveOrigin loader memory, move anyway(Y or N)?ͅ 0"ͅ D" "!ͅ D"yS": W"*Sʀ"a"Oͅ €"y*S€"! ͅ ҇"!9;;;;;;ͅ "ͅ ڣ"z"&'7"ڿ"""ͅ #ͅ #"z"7* ";* "=* *;)##+#KP*;";!* BK*;* *=l#ʮ#l#O* * " * *=BK* *="=#PY* " * " Ø#* *=#BK* * " * * " " *=" *;" ! 8$~R#~E#~L4$:c)$7$w+)$COMHEX`$  <%2 : $}$* * ͅ $!c~ʌ$ ~$:\ʲ$: µ$*Q\" " &yO: &w&%*Q|$ͅ $%ͅ $ͅ $.%>%7Ԓ%R%: %yO%>%R%: Ă% <%>h%*Q}h%|h%سȯh%zG%%z~#h%\%!: _w{<%2  %%"%yO#"%!%\%.%fh%¹%! ~+ x :_*Q:_*Q\!%?Can't save object file{{ _zW;&> A&{ H&O>:h%y Y~# c&+&>:h%G*Q >>h%!*'͞'!0'͞'!3'͞'!9'͞'##²&##͞'##¿&#͞'!z'͞'!'͞'* "'* "'* "'* "'* "'* "'&'m&'͓','V'G'V'l'|'V'l'|'V'l'|'!' N#F#^#V#~#fo|} +x~+ q'xw# |'xw# Ó'~#fo&'q#p:B(* ͅ ~'M(:J2A(*;" 2 U6+:A(wAMz(2A(7(:B((*;" :A(2B(*;r#s+:A(i(*;͢(" 2A(2B(!* p# P(!HN#*~# ^(Ar#s *){ʅ({ƀ_҅(zʞ()Å(ͣ) *)!.*ʹ)!.*V#^(((!((ʹ)(z(!.*ʹ)(ͣ)z{7.*z w#)0:ww:*!;) )+ )!1)?Segment , file not foundcan't create fileread errorDisk is full)!@))!O))ͣ)!a))ͣ)!l).***‹)*—).**4xEacX!0KMcP U%RW#7HXYY~A^>2v=FeK0ITi6)fBUP/X7h;pkDh+*ţ ^d*<!2P0 RI8B *zzU+_R!Y^DC:g6Vh-UUzX+yx](wf s&+7Z=2dbzȥE'8G,j"%[5A4x7aDŚh7:ʫ( 0)nAhd^xoVuY2 AQ{0_&w *1؊`e2|KȁZD)y^X()湮HЏ1\RiwĎrGb(N;nAa̰3V `&)(2ibA飪[)b4!IJ '8<6^ih!uaMEbwnvx-x78(GU38l!U"T7"<0@#@Jh=3 ?vy<{|A(S3?s>#qC2>`3@@d+@ʼnMTH4yַȵd!S$BbBMBv[BhCC2CQjZC;%CkxbKkyqIϸb++\(A$ԬjBZ!GȂzbm[D7vӡY܂g4 ML՘ќՈjߍ1"Q^==e=A3mx7l±}G;`c7+N:DcA43E43"wuv=$[KJ+-%bg]2*:#6͹*"*! Nwy#*K%K!4!41?!^^'_Y*8#[Us#r*:#6͆*4###KD#~( y [@*BR6;#j#~# *6:Fw2W2R2]2^/2Q2Q2\r+~͵<>$$. NF G"O((($:_G(y(:` :Y!X5=2Yx:'(N'F("( !~68s16(Q( ""O"y0 2b!:t :Z("":a >2a:a(z-(ˆ( :Z(>2`:` >2`(O(KO88̈́(:^ :] y<1̈́(:^ :] :Wy(?*'O:Z < 6>(2a2`6y(2t {*I l&"X:*. * 6 (((#:Z :Z( !_ˆͷ:b(38>O!k T]+#qbO +G +>2`2b*:~G(!" y 2R/2Q2\:Q(*6~  y 2*G?:T($(' '?:Z!_F*:#F+*:Fɷ_!K^#Vagms  39<CFLOUX^|6( >2a>2`6(>>6>(!bwG#w>' (# ($ ͸'  * **&̈́*<~#fo~2Z{͆!KP?å>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2G͸>$ '>:GG2  '![2[̈́<(:\/:R:W/r+{~2Z#~2Z{>2a2`͆'r#~2Z{:S38P!:H( = *6~(3!!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done (HBA  @ I$H B@B@D@I "@@$@ B@ I I! @DHI@H@$ H$@H  BDHBII!  D! !"!DBI $ $"SUf8`V5h|,\ dByL@T4Lm8 r Sb.AB p<&sA@(!Dp "@.!S^ !r4 P(*T<|Nŧj"864P7UX6 bpD iNb € dX+/ !k] + wi .p3L(F#[h½G^½GN@ #eABo0hD'CI ) &Ӏo2MQd 'C@i7 .LtΆin3 Sd 3ak'(i:2)PP-ʂh( *&s(t qeC@ ho0CA@m7(o7 &q!zs# x>2*""> 2*22m~ (!"!6=h!6# p#6#> w#\"!2,l 2 *"*" "2:G :!F#N#~ :!!y~#!~6L#~6I#~6B: : !!!"͊:#!_^#VJB:Į5:($W[[0[AW:[;O8*-l>w#p#}y+>‚͖wxʒ‰y:ұ0ڱOxGÙx+N#^,>. . *4 ^*44,> *xx y6<&*6#w#w#6#w#w# yͷ >&8:7>I@*6#6 #w#8xc2jzn> ڋ6 #=y.8xڢʯã"yɯ**͋ ~OA:,,++:@7~ DM:1^+V:+++++;#x+;y;@"{ J+~+ng~w*+r+s w@f"+1+w+w+p+q+r+s+' 7*}̊*"+1+++:,:Ͳ' >@w ҴxIJ:w+ :;@~*!@"DM+1: p+q+r+s+~ wF#~# x:!>/O ü++++:w+:w7_ > >:!o>g6 !~6Gʞ#~ …wx+#ʖ~Ë2\ͬ>*>O> >2> >:ʬ<2> >~>#G~>+ú~#  ` / +#27U@L CERO3H 2:2BByʀʍB2**͋ ʬ~ġ~/_bͷ~w×ͷ~w+++r+sB:̵~,+<2ͱ!ͬUnsatisfied external request(s)yͧ 'CBɯ3xG3 73x3x!~w#4H\!">2*!"YYy   Y!ͱͱ**͋ G ~@ҫ¦ $ ÕͬìSymbol Value Defined Reference"Y"Y>͸~w+1+r+sYͷ~!i ͱ*>2' !q !~#6@>>:> / ͱ!V *z ͬ!A *z ͱ2*͋ ʒ~{$ b:9 z ͺɯ2*͋ ~@ҮĴ$ Ø:L ͖ ͺɯ2*͋ ~@$ :] üO~++~2+V+^+++V+^ ~,+ ,~/_~>#/ <2ͬ!n ͱ<2ͱ! G <2ͱ! G Common block(s)Entry point(s)External reference(s)27v ʭ 2͖ ͺ' 7v  ͋ ~ ~ͬ¬ ë: ͺͺ  ͺͺú' ,+V+^: Length of Data areaLength of ProgramModule ofڈ ~ 7,+++~+ng~|}!~#4  t6+w͑ xG © ɯ2͑ ͥ 7ͧ ) Gͧ   ͧ )  ͧ !w 4#6 _ ͥ w# ! "O:G<2ͥ Xͥ P:\ )0>) K 0>H |a }Gl x0:w >PX  |} >:> '"!7 ! :O ~>'A> y > CBy :GW> !F# W> _x GxG3 :3 "*͋ ڧ "*$͋ * ^#V+*{ʧ :<2͠ ͠ xj ~# ] * "*  " * ^#V{ʗ r+s*͋ ʗ | *w#w}_|W! >?>ͬ(Out of memor! ê Command erro! ê File read erro! ê File not foun! ê Can't enter fil!" ê Module name/number not found in fil!M ê First module in Until clause after las!{ ê Library write erro>2I< >2< eu ͧ : e2ɯ2: Ie< 2I!"! w#P w: <2_!dw: ʤ: _<2!~*w#"*' * ~#" :# !~# !w#! w#2: .ʹ y%#2 >@͸ɯ2 go":IG:~2͊څxr͊͡͡2GG ͡BI:2x2#" G:<222 :E<2!"*" ##"ʹ VVyʙV?** s#r2 w#wډ~:=222>@͸V#~G#N#~±>@2͸>2+~, *~Ÿ,:,+++~++5#N+>5+~>5:5<2 ,'2 :G~x:͏ !w#Q* "w#w**͋ ~~vw/_:,d|2FORLIB REL,d|2FORLIB RELR+T e~$ d#3`pByDW 6?"Dh~SVmW 8 21ɢd6Ec@`ŀlPʀP"`2pِ Fq p_là ;C$RZ"dX1 @*` F~%kaU6! t² XQN( +WBDXd+;²p, DgUfU*` 0Udnݚ9O9^pe.PWY3PCPICLCKCZM|PCPICLCKMZD---LDR--TMP---TIM--TMP TITLE LPTDRV - FORTRAN LINE PRINTER DRIVER .8080 ENTRY LPTDRV,$OPNFL EXTRN $IOERR,$BF,$BL,$CLSFL DSEG $OPNFL: DB 0 CLSADR: DS 2 CSEG LPTDRV: DW $IOERR DW LPTFWR DW $IOERR DW LPTBWR DW $IOERR DW $IOERR DW LPTCLS LPTCLS: LDA $OPNFL ;MAKE SURE ALREADY 'OPEN' ORA A JZ $IOERR XRA A ;'CLOSE' BY SENDING STA $OPNFL ; FORM FEED OUTFF: MVI A,12 JMP LPTOUT CLSLPT: LDA $OPNFL ORA A LHLD CLSADR PUSH H RZ CALL OUTCR ;CR OUTLF: MVI A,10 ;LF JMP LPTOUT MAKOPN: LXI H,$OPNFL MOV A,M ORA A RZ INR M SETCLS: LHLD $CLSFL LXI D,CLSLPT MOV A,L SUB E MOV A,H SBB D RZ STORAD: SHLD CLSADR XCHG SHLD $CLSFL RET LPTFWR: CALL MAKOPN LDA $BL ORA A RZ ;NUTHIN HERE LHLD $BF DCR A MOV E,A ;INTO [E] FOR LPTLOP MOV A,M CPI '*' ;DO NOTHING? JZ LPTNLF CALL OUTCR ;OUTPUT CR MOV A,M CPI "+" JZ LPTNLF CPI "1" JNZ LPTLF CALL OUTFF ;FORM FEED JMP LPTNLF LPTLF: CALL OUTLF MOV A,M CPI "0" CZ OUTLF LPTNLF: INX H MVI D,0 LPTLOP: MOV A,E ORA D RZ MOV A,M CALL LPTOUT INX H DCX D JMP LPTLOP LPTBWR: CALL MAKOPN LHLD $BL XCHG LHLD $BF JMP LPTLOP OUTCR: MVI A,13 LPTOUT: PUSH H PUSH D MVI C,5 ;CP/M LPT OUT FUNCTION MOV E,A CALL 0005 POP D POP H RET END "+" JZ LPTNLF CPI "1" JNZ LPTLF CALL OUTFF ;FORM FEED JMP LPTNLF LPTLF: CALL OUTLF MOV A,M CPI "0" CZ OUTLF CPI "1" JNZ LPTFW1 MVI A,14Q CALL LPTOUT JMP LPTFW2 ; LPTFW1: MVI A,12Q CALL LPTOUT MOV A,M CPI "0" JNZ LPTFW2 MVI A,12Q CALL LPTOUT LPTFW2: POP PSW INX H LPTLOP: RZ PUSH PSW MOV A,M INX H CALL LPTOUT POP PSW DCR A JMP LPTLOP ; IFT CPM LPTOUT: PUSH H PUSH PSW ANI 177Q MOV E,A MVI C,5 CALL CPMENT ;WRITE TO LIST POP PSW POP H RET LPTOPN: MVI A,1 STA $OPNFL CALL SETCLS ;SET SO LPT WILL GET CR/LF LPTCLD: RET ENDIF ; IFT ISIS LPTOUT: PUSH H PUSH PSW ANI 177Q STA LCHR LXI D,LPTBLK MVI C,4 CALL .ISIS POP PSW POP H RET ; LPTCLD: LXI H,STAT SHLD LPTBLK+2 LXI D,LPTBLK MVI C,1 CALL .ISIS ;CLOSE LPT RET ; LPTOPN: LXI H,AFTN SHLD LPTBLK CALL SETCLS LXI H,LPTNAM SHLD LPTBLK+2 LXI H,2 SHLD LPTBLK+4 LXI H,0 SHLD LPTBLK+6 LXI H,STAT SHLD LPTBLK+8 MVI C,0 LXI D,LPTBLK CALL .ISIS LHLD AFTN SHLD LPTBLK LXI H,LCHR SHLD LPTBLK+2 LXI H,1 MOV A,L STA $OPNFL SHLD LPTBLK+4 LXI H,STAT SHLD LPTBLK+6 RET ; DSEG LPTBLK: DS 10 CSEG LPTNAM: DB ":LP:",0 DSEG LCHR: DS 1 STAT: DS 2 AFTN: DS 2 CSEG ENDIF IFT R2E LPTOUT: PUSH B PUSH D PUSH H PUSH PSW MOV C,A CALL .LO POP PSW POP H POP D POP B RET LPTOPN: MVI A,1 STA $OPNFL CALL SETCLS LPTCLD: RET ENDIF END  CALL .ISIS LHLD AFTN SHLD LPTBLK LXI H,LCHR SHLD LPTBLK+2 LXI H,1 MOV A,L STA $OPNFL SHLD LPTBLK+4 LXI H,STATev ScreenErefresh scrEenSP/CR Next FileOOption togglesBS Prev Filem.-- Filer Commands --͕.! ͳm.G - Group: Archive/Copy/Delete/Fsize/Move/Print/Reverse/Tag/Untag/Viewm. -- Misc --m. --- Cursor --͕. !<ͳm. 9WS diamondm. =^Em.=^Xm.9^S <-+-> ^Dm. >^m.>vm.-- Macros --m.# : Display Menum.ESC : Lead-in Charm.70-9 : Direct Macros{2:::_~Gn(#~(r. - ͳ.ͻ. %8 #Fn(#F#~#n(92:2:{(>2N;>W2:2:"^,(:: +,Print (Y/N)? 'Y(2:!":B,Printing *d;#)2L;>2N;>2.92:%5r;5(9 ͕ͨ7::B,File NOT FoundB,Empty Fileɯ2;2 ;Ͷ5 (?8Ġ:.9(2L;s{ 2 ;:.9(m:::N;<2N;د2N;r.  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  '.n(> 9 >2: A>=2N;::G:N;<2N;:N;G::G>2N;:: 2828> #9:L;( ' !-!s;:.9 !-*:#":8!- ~Ź#2 ;>._{  {9! ;4~ 9! ;4!.r. EOF !.r.[^x:next ^c:abort]  ' :: 2:2:B,Copy File͈^,(!7:͘&2:2o:92L;K ;s7!"Z;*:":*:r;(=(C'B,Read ErrorI::( *:~"#*:":*Z;#"Z;*\;͟& >2L;*:":Iʑ::p@'( ͡'( 8/C ;^,(B,Destination Dir Entry Invalid(B,Destination Dir Access Denied(K ;s7$;<ͦI$;%;::*::(:U;A :2(R:1(J:0(Bn,* ;|A9}]8>:9!%;)r. Exists. Erase (Y/N)?  'PY 6!$;(.$;$;S;2;::(!/;*:|($;*;";!";'$;7<(k2D;r. Vfy$;(=('B,Verify Read ErrorI!~"#[;*;͟& r. OK >2::o<=Đ,'K ;s7pB, -- CRC ErrorI!$;~B,Public File Conflict ~(8^,#)r. is R/O. Erase (Y/N)?  '^,PY( ~# ˾#!˴":*: w#B,Move File2:2:͈:: ^,(2:%X(:;(*Q;[O;͟& "Q;[b;͟& 0[d;͟& "d;+*;"p;͍+> 9*p;";"Q;^,2;%::(:U;M( :W;V X+,Deleting )!r;r;< ͕I>2;::*d; *b;͟&( ͘&Sb;*f;+"f;^,+,Delete )r. (Y/N)? 'n,PY*d; >05n,*d;#)r. is R/O. Rename anyway (Y/N)?  'Y(^,+,Rename File to: $;*'!%; ~#?(|$;<(ͦ B,File Exists!$;4; ͘&*d;$; ͇& ~([d;!4; #怶w ~(4;B,AFN NOT Allowed2:2+,Group: (A,C,D,F,M,P,R,T,U,V) :G'2U;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:":2;M[:*:J!w=2::a6 #6 #6":!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͈7K>Ay͏8>:!!G:<G:;ͬ3~ Ͱ&K :5s7ʹ7# $;!. ͘&ÏK,!":*d;";*`;"d;`"(# { *:":*;"d;n r.Tagged Files is *:^ +,Group Delete (Yes/No/Verify)? 'Y(V(2W;M*d;";*;"p;2:*`;"d;`"(# *d; > >2:#6'*;"d;*p;";::R*(B,Group ArchivedB,All Tagged Files ARE Archived.(B,Group Copy/B,Group MoveB,Group PrintB,Group View*d;";*;"p;,!";*`;"d;2:=2: ͺ+`"[d;*b;͟&a͜P*d; ~# *d;*O;͟&8*Q;͟&8/+),(:G:U;08:C(:P(bV(dM("A(0D(:;v*d; #6.v͈:: v͈v͈::v*d; >wr;>wv"vv::''K ;s7::(*;"d;,*p;";,:G:U;G08:GDMV^,% Or. Macro: ' # !(q:Gx9^,2x!-r; ͐&7::(>2 -K:5s7͟7 ^,!-)r. NOT FoundPs75r;5O25 Dq:( 5 7 >#(j5 % (! >2;, 5 2a K ;s7B,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͳ. ͻ.9 ( > 9 y r.File Name : K ;s7*d;#)K ;s7r. Enter Macro Choice or RETURN - 'q:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~t,5 G^ 5 <_@8/$ 5 +* 2{(!.'("( ( (ͅLb`} 1-%(TW }A=MQ~)fWWXP9} 1-%^Na@T4L e9 2$@   @A8 QX22BPm2L'3 $ A o1s4e6NgC)@m7 t4 2$@Z i'# e9Fo7 xo7$xK@(2~Tp" `3k8q 5@CSA7i4va0#*Dd`V  Lj,t-Vkpݏ+Tfkarz $Ux`>Z) \5<X5X ??"( D `4`2w"`voo0!1"]S TITLE LUNTB - APPLE CPM LUN TABLE ; TTY I/O DRIVER .8080 EXTRN TTYDRV,PUNRDR,LPTDRV,DSKDRV ENTRY $LUNTB $LUNTB: DB 11 ;TEN LUN'S DW TTYDRV ;1= TTY DW LPTDRV ;2= PRINTER DW TTYDRV ;3= TTY DW PUNRDR ;4= PUNCH,READER DW TTYDRV ;5= TTY DW DSKDRV ;6= FORT06.DAT DW DSKDRV ;7= FORT07.DAT DW DSKDRV ;AND SO ON. DW DSKDRV DW DSKDRV END XYBASIC COM678VERSION/ ENDIF ENDIF IFT DSK EXT DSKDRV ENDIF IFT ZILOG EXT $DRV4 ENDIF ; ENTRY $LUNTB IFF MOSTEK EXT $DRV3 $LUNTB: DB 13Q ;MAX LUN + 1 DW $DRV3 ;THEY ALL POINT TO $DRV3 FOR NOW IFF ZILOG IFF LPT DW $DRV3 ENDIF IFT LPT EXT LPTDRV DW LPTDRV ENDIF DW $DRV3 IFF DTC DW $DRV3 ENDIF IFT DTC EXT $CMDRV DW $CMDRV ENDIF IFF TEK DW $DRV3 ENDIF IFT TEK DW DSKDRV ENDIF ENDIF IFT ZILOG DW $DRV4 DW $DRV4 DW $DRV4 DW $DRV4 ENDIF ; IFF DSK DW $DRV3 DW $DRV3 DW $DRV3 DW $DRV3 DW $DRV3 ENDIF IFT DSK DW DSKDRV DW DSKDRV DW DSKDRV DW DSKDRV DW DSKDRV ENDIF ENDIF IFT MOSTEK $LUNTB: DW 0FF2CH ;EXIT ROUTINE ENTRY $EX,$EXIT,EXIT ; $EX: $EXIT: EXIT: MVI A,14 ;REQUEST CODE LHLD $LUNTB ;GET OS ADDRESS PCHL ;EXIT ENDIF END 3 ENDIF IFT TEK DW DSKDRV ENDIF ENDIF IFT ZILOG DW $DRV4 DW $DRV4 DW $DRV4 DW $DRV4 ENDIF ; IFF DSK DW $DRV9ͻ.#!s;)ɯ> O+)>.9~9)9#G::xA[ ͟)8 i ,g)!!.!~~8'<'w~͎:0 > ͕)>:9#~͎:9~͒:9 0^,*H;>2.98r.K Bytes free on Disk X:*;"p;*d;";̓*ͯ*:M;(U ̈́+*O;*̈́+!.r.Command? (/=:M;( r.Files, r.Help,r. X=Quit): *p;";*;"d;H#,*;"p;*d;";*`;"d;ͯ*:M; ̈́+*O;**p;";*;"d;{(!!.r.ZFILER 1.0p Current File:!.* ;͡(͂%( r. [PUBLIC]!?.*f;Z͟&0r.[More Files]r. n(:"2: +>2:"S;*Q;*S;͟&r. 0 "S;͖+*`;[d;͟&8o+!";*O;[d;͟& ͺ+!";*`;"d;"O;[b;͟&0"Q;!";.ͥ+*;.ͺ+++*d; *Q;͟&ͺ+*;}>0o";|!g";!D*;$|8}!o";*;͟&(}(o";{:M;*;.r. !::G.͎(.r.!::B,Working ... !.::G͎(K)!.::G͎(!!!TIME&DAT,!,; K ;s7*;:;ͽ-,K ;s7*;:;ͽ-=,r.(date)--( b-(O-!;;6#D " |D |ɯ!;#;;S;2;"-<:;(!; ˾"-<;! "-<2;;!![;s#r-!"- =- 7:;!;o0$:; ; Page HELP ZFILERZFILER CMD???????????noname 2p<^.E(0>^.E(:p< x8 XY.:p(R(I(N ү$,}lg0g|9e||d/ /0/0Gz0 A(9x~( #\ ~#9zO*<|( +~(G90 ?0 "<|("q<|(D~!8? ~2s<#~2t<#~2u<v<0:s c4(O͈7ͫ2(Fq:A8G#ͫ2(ͫ2(ͤ28,O{_# ͫ2 Ki`͈7B( ̈́4=8͟48ͧ4(1͈7()$(=G$(O #( 0 ?~_.,>:0 Яɿ͈7C(~>(X6 ( w#4>(J~#( ><4~(>.4x=(K+x( w+ 4w# ͌4###~͌40XM5͌4###w*<|("~#fo( ~7F4(FG~(#9<4~;( (>;( ~#(6F4s#r~# >F4~#fo~*<^#V#~*<1.=5$Ð4GR*<,=5"*<|(~#fo-=5Ͷ40xS5 S5*<0~_4XG*<^#V#~#Fѷ+=5*<)^#V*< ^#V͈7|(~(͈7$(G#~#$(O*<|(~*<w*<|(^#V#~͈7(G! Ns7*<~( 7^#V*" 3" >####$7͹7> =7> * >6#6#!&s#r97~> " >####$7ͦ7(>~>(q" >##^#Vz>(c2 >r+s+5 6#!&s#r=7( * >##6#6: >7* >2 >~>('" >##^#V: >r+s+5 6#!&s#rT7(>~(6" >~(+" >#~(>6~(6* >6####ͯ7> * >(7[ >7* >(7[ >7!7Y 8X88 8OG>8<͹7>û7>û7>û7>8>8>8>8 rr# <7zz7DM!>)j0 = ѷO> 9> 9> #9> #9R8/I8>|:>|:/&ds8& s8͇8.,0g} |> (0G9|&dͥ8& ͥ8͹8.,0g} |> (0G|'88d8 8}8R<0 > (0G9!.9~#9F9O>|:O>|:C>$կ9~#:( ,(U!8Q~q:A8A8<2>#~:(4? 2>#~:('G~#:(08 0OxGx 02>~: #~,(!0 >?9K>9~. #999(* >?#9#> ~q:!8=_.:;,<>ɾ~#(V:(+~#(V: HAz +| (( (80a{_̈́:o*oƐ'@'*:j>SAMPKEY.DOC: Sample Macros for ZDE, 01 June 90 by Carson Wilson. This file describes the sample macros contained in SAMPKEY.ZDK and SAMPKEY.ZDT. As distributed, ZDE contains no Macro Key definitions. I have included the SAMPKEY.* files both to give you an idea of the versatility available through ZDE's macro capability and to provide you with some useful choresaving routines. Many of the sample Macros come directly from the ZDE Manual, and illustrate the use of conditional testing, jumps,!  GMAC"'@!+@=~vO#~ Q w#6 #wD̈́K>2<2@2>2-=2<2<2=2<2?2=!= w#—<2(=2.=2/=2=> 2<:@2<:@2*=>;23=<22=!"4=+"@+"6=*'@!!62[?21=2+=29=2?<2)=?!H="F= ~# R*4=#"4=!"6=:2==23=!9=>2@2@͖ CCl CC0Cw#C!H= ʎ ~w# Žw:9==28=͖q:,=ʨNЯ2,=4OMگ!F> 2H=J> J7ò- !"C=20==2?*="=:H=*>$2H=$2E=U :ʋ:E=$:==$U !=~4#>$Nwy#*F=+~# ʿ+U ~#~"RR *F=+"F=:(=k+s -"x-ʯ7D-"F=+ÿ:(=ʹ1 -"C=j # :µ@ U 6 :(= ʒ8 :(=l`k#~! _^#V#N1! ; !H="F=*C=|U :(=lÍ'!==Nwy#3!>">!> q#K6 U l;l:<—:>VʋMʋDʋX2[?~+ACDEMNOPQRUVX!>~ p:>2>%No END statement:=.ʊ$ʒ[YTE3ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN LOBALkvALTvLTF2FB9FDIFFEFF:FIDN3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*RIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RAZUB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL;LFCOND)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALL(('()-((5*5,,))))))))h6f6(5C,~&+*A4**i7+9M+ +[9;7+U+\+!++))*+++,))d+h+m+'-@  F"  (85vCd} *F=~#"F= oA 0 : 7}ɷ[ a { } 6 *F=+"F=*F=#"F= aS 6 != q#a !=6#ͱ  2<a w# yʟ ͱ x җ x Gy2=xͱ җ × $.@?_// // &:? ͱ & 6 ͱ 7 G!r?:=' " 2=~!?  "p?^#V!g? w#: !=~K 6!=N zʾ ^#V#^#V#~=y =G‹ #n #~=¸ #"?=#~+?j?!g?w#Ÿ w#s#rP P +>Ð <*A=~*@####~7#_"@:=$.?_ ;O$ "?=͓ *n?z :m?O s#rw# & =7 >wG#w"?=#w#w#w###w#I "A=####p*@͍ ;*?=|>!x F?Symbol table full |}:<:@:-=*?=~@ڹ >>vL!=F#~vL *p?  G~8#~ +~w#~w#s#r#*=s#r~@w:<# ~a~a#^#V#͍ R*=xD{a#za:> *?=# :0=a*?=~*?=#~wxGõ>LyL@ Z6LZ@LZRLZRLyZOLyym-LZRO*ZRv̝LZR*ZOLyZ@*m-L6 ,ɷÝKN͝Ým-zf<ĝ{Y! ^#N! ^#VZԝBxL{?LZ8ĝBLNܝc:<Ü̓ :>H:<0:<Ü>L:< L>2<:<<=<2<ů2< 6 (-2LKҫ:<ԝ Om-ͷyHLyL:>G¯BxGj*=*=͍ j##T9zC<xxm-ë*ů2< 6 (2L{Nԝ:<ĝc:<=ĝNԝc>LcnAÜNԝcn [:<ĝ>Lĝ;{:<=ĝ>L@ÜNܝ*e R:<fĝ[NܝcH:<(:<ĝ>LcNܝe ĝ>LcNܝ:< ĝ:<ĝ>LZԝO*k7:<(>Lں{:<̝ :<Lcĝ>L[/k:<̝"(:< :<*cy  :<Ü:<Ü>%{ :L/:<L>FL;{N*c:<ʴ ĝ:<ĝ>LyBONĝe ̝c:<ĝ5N*c:<ʴ(:<ĝ â:<Nܝe ̝c:<̝Gxĝ> Ü:<ĝ :<[4:<:<ʙԝ c:<ĝÜ([:>:> c:<̝ ڱ:LyC͜(2>2>:<(>"LÒ:<ĝ>2LÒ:< :< ĝ:< `ƝL͜ĝc:<ĝ>L2*L>LyK͜c:<} :<^:<;͜{:<  s:<񇇇@OÜ :<ĝ>LGÜ:<( c`ƝLp:<͜(@{ĝ>:L[ĝ:< Ü;c>6LKB(@{(YPy:<O:<ĝ>LyWÜ!>?AFwx# 3:<G:<7b*=#"='h'*>'>͍ +*>:@`))0) ‘0Ž:>:>6!6"6'6*#">ßG:>@2>:2>!>~ͯ~@ô~ʹ#~?Gxʚ#~72>>A;hS#^#V"=G̓2>#^#V">>C1#^#V+~z><2>= G>>B#~Š:>@>§>2>>A;''2>{2>!>"?=ͩ:<*=##"=:>G:>@x̓:>G̓*>#">C'B'x&x746!96**>##~#fo6"6'##">̓xP:>@xʈ:C+B+x*=++*>#:=G~w#s#r#*=s#rC'B'b:>2>:>x̓³z ĩ2>*>#~2>*>#>͍ +*>:@)0) 0">DExx0:(:*=G:)=G:(=N:/=S:> ~:> o:@+2+>ÿ>+2+>:> ¿:.=:> :1=:,=>C2*>:[?:/=:> !3=4:2=p:[?:@>vL!> ~#d:+=Z:?=##:?#!9=~#06d(>C:8=H> d!H=~# Z dK> d> dO:[?yvLJ>23=:/=ʍ> vL!1>!*4=#|+:/=ʤ*6=#"6=:/=|ʾ>-vLZ!>ZZ>SvLä~#vLPX |>:d MACRO-80 3.44 09-Dec-81 PAGE :> Q)*<#"<*<#" !>">O!f ~*>w!>"> '"!*=:=*=:=:=x¦*=*=͍ "?="=ĩ:A> y> C+B+y*?=+~xGW> #######FyxG+#W>_xGxGFɯFxGF .7FxFx!>~w#4ZL>2>U C \ \'"(ʬ)ʯ+ʲ-ʵ*ʸ/ʻ;ʨ,ʨ >>>> > > >!G) # ) o2=) # x) eo) n==x*F=+H 2=*F=++"F=H "F=GHg:<o|DHB} |BwDʕHʝOdQ•ͼOqQ þ!H Bq0Ի)z#zͥDnHn!H 0)T]))_è!H 0Ի)))_ÿ!H G0 ))))_Hû:<4!H 00 ܻO:<=ܻ<_Pc$ =ͥ=ͼ6 q6 :=2=ҿ=$ ʿ!  ʿo#g=b#t!S ~Œ2< ;ʹ ʹ° & × °6 þ*F= # #7 -#~G ĵxw+!"F=$ t:<ʮ:<7͓ $ !*@w!7 Gx22>">ĩ:<>C~@x##^#VOQb#^#V"=y y¾þ7͓ "?=~Bڨ~8:<2<##~2  þ:=X # '¿ 'n$¿j OþXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :< :<:2>2=2<2>2>2>2<2<9">*)@͍ 4\!]!~!! f!O2>̓!=y "" "?"y2W?͎! 6 ,8!:>8!2>> ß!:W?O:>O!f! "x̓!G:W?O`!"f!ó _y{y!*=YGó !"_~xž!ůG|2>?"y2W?͎!!F%:W?Of!è!@ 2W?:W?G2>O! x怱!>w*F=+N{*>2>z |= yWx=z6"z6"ʳ 6"6"6" >G̓!Gó "Y?zR" ͪ""=">y2W?͎!"ʡ"2X?ʋ"ʋ"ʋ"ʋ"ʋ"ͪ":X?*Y?!#o>g~#fo:W?O*Y?ʶ"y}!"=y%"*="""*>"{%z%   P#Z#d#n###N$$%##Q%\%h%u%{%%%%#%&&&-&C&c&̈́$zW{_̈́$zW{_̈́$zW{_*>|/W}/_:W?O>%%*>|/W}/_:W?O>%%̈́$zʬ#)â#̈́$#+}zW{_ò#*>:W?y#:W?O2>:W? #*="=*>͔$>%%*>G$:W?%$%$y%$$$:W?%$ ?$=:W?9$y9$2>:W?O>%%{_zW*>i$:W?O> %%i$ DM!>=ʂ$))p$p$:W? *>:W?y*>ͳ$:W?O> %%zzB%|G|$|%$%|/G}/O!>$ $7>{_zW}o|g=$|g}oɯO_yW*>z5%|5%|ͳ$%:W?O> %%>O!G͙%͍ o%͙%͍ ?o%͙%͍ W_ ͙%È%͙%͍ o%͙%{_zo%7o%?o%:W?L&*>*>\W:W?O>%*>]W:W?O>:>@2>!>4~?%o%$w5y%:>2>̈́$}R_̈́$}R_̈́$}@_̈́$}6_̈́$}Ro{R_̈́$}?_*=*=͍ :W?_ :> Ox&> 2>,̓ x 2=xGʱ&:=±&*=*=͍ :=G*="=:<ă"= :=&:<ĩ:\?2':\?ȯ2\?U 2'1>G2=<2\?2=*=õ&2'1>2\?G2=*=õ&2'1>2\?G2=*=õ&:\?,:==`'o& ^#V*=͍ s#r2=*=##K':<ʇ':=ʇ'*= ͩ2=1 6 "ʠ''(G) ) *F=++' ) '³' ʳ'6 ,';'' "F=(y(# G) ) 'L) ȸ'# ( ,ʍ'LÍ'Z:=y,ʍ'̓ x1 "N('ĝO) d( o(GŷLP(xx|(L,A(1(h'y,›(ZCä(:@ʹ(z*=#"=:<'ä(*=:=Gõ&2(:<:>U<2>1h'̓ y,(:<=)G2<:<=)2<:<<2(=?)2<@ ͣ:<ģ:<̣!<;)=@ 4=2(=<2<@ 51):<_2>W!<7~?)<\)w!<4:(=2(=!b*T],l*zr* Y*#*F=z̝}O|G:> U Oĝ7 -#~@w ~ĵwy,ʉ*1>O*>; *F=+~# ****#"F= () 'O*6 ) )ĝ@ >2/=Y+2/=Y+2-=Y+U G+ G+ $ :+~@w,U ,+>2-=>2.=Y+2.=@ >2.=Y+}+>}+:@/o:22<(2 {=ʝҝ<2 +{22=+?pU :=+>!=w#"?=:<ĩ,+:,= *F=+qN1,4O=2,=*F=~#"F=!5, () 'U ') )@ :<:=x,>=!]?G~µw#„,p, /U ,/@ #~µ~$w2'+"=>2=!"=ñ&>2=:=U - -~w#~d -~w,,͝-w͵,~Bدw#w#w#wU ~#~>-,"C=m-:>21=Ux¯x 20=*C="?= x4̓ :>"C=~w|21=m-x¯*C=-#~µ~@ w#s#r#*=s#r4͸K:?w/:<Ĩ/!<4~=Z.!]?~-!1>~-!@#]?~# . .. . -!V?p#"?=ͩ2'!5O"@ A."?=~w#~@k/~.#^#Vͩ.*= ͩ *={ĩn*F=ԃ +!"4="6=}2/=p!/!3=44!r?>͗;Z:3=8p!3=44!/!?>͗;Zʹ/*<|.:@<2[?2[?.!L//!O//*<|/>,vL:@<>,J:@<2[?2[?!_//ʹ//̓ͩ*>|,/F/ͩ+:@C/>vLKLNo Fatal error(s) Warning(s):=Gͩ./!//)ô/REPT/IRP/IRPC/MACROUnterminated /!//)> Z> Z:@<> J> J!/:@0"?%O;.0~<=r0:@<2@:@:@=2@<#~^0:@^0:@^07"?:?=2? &0*F=~ 0 0U 0"F=0>&2?>1&0:?0>&;:2?*@~ 1=1O+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1:: 1 1:"%@ʞ: ʞ:> ;:Þ::@1*@4I2* @~82G+#2~/_2~F2=G+~F23*2+<=C2+;2~>.33?*@O DEU Ă2=ʦ3%2,ʰ3 ʰ3 ʰ3;ʰ3!) 3w+ Ô2"{3q3(:> 63:<.33PX 2|2>:f3)0R3>)30R3=363D>3E>3 >0f3xG3x0:R3 f30O:f3>0f3y*{3w+"{36 *{32Ow+ ʏ3 3~3w+ ~3Ô2ʢ3w+22322{=*F=+~ 6 6 ʵ3õ3!=͍ 3#6 +>1&3:>1!  4>1!4r ?Stack overflow, try more P switches (:> O4"?/c4> \^4U :U H0ʄ4H=;: y4ɯ;:͞:!*#@*?!!44͍ 4:@¾4x4*?͔9͊02@*?r:5H=͈:3 4*@*@*?"?"@"@ bkë4:?2@+5ů2@@ :@ʊ5U :U O^5yf5y n5y@{5:@=2@:@<2@:@:<(:@#~>P)!ɷ/"@i2O:> ʰ5*@͊0y6+,ĝ5) <ĝw+:> G6G5͌2 D6>G65# <2@ 5 =6:@6G6 ;,76<36>76G67676 w+5:@G66+.0xĝ" @&i"?m6\4>Ô5^4*%@>2@3H0ʱ6 ʶ1;ʫ1'ʡ6"ʡ6>1Ç6G͕0 ʶ1ʛ6â6"%@;:͞:!*#@* @*?!!64>2@" @͍ 7:@6x 7* @##~#7+4r:47H=r:1:3 7* @4 bk6 ʝOJ) V7JG7> J> J:> @ ʝ2 @O ʄ7@ u77\4^4!H=: @O~ʥ7 #Ù7!ɷ #"?~(w/"@i2 ,7w+2@2@ 2=xx2=*=T9"=:=2=@ !!@Ns#Frͦ9ͯ9q#p*@^#V+*@##^#V+*!@}9ͯ9"!@9*@ "@*)@͍ I;*?%:?͍ I;*@T9ͦ9*%@{_{:s#r#>w#wͯ9%:s#r*:"#@*#@ͦ9s#r{_*%@{̺9*@w{W:a:"%@{_ͯ9zʺ9*@}‚:}o~r:{ʗ:a:{_ͯ9{ȯw#w*@s#r͔9*#@ͦ9q#p*%@{:*@"%@~{_ͦ9{_{:a:*@*?:?;*)@%T9o zo W{_*@*@T9BK*@"@xE;+w 8;"@O;9*A=*@T9o zo W{_*@T9BK*@*A="@ "@xʕ; w#È;2>2>O!^#V#ͷ; ;:>Zz^#V{;};++V+^{;w#w+++; F#"?=~@#~<~#^#VG5<<_<{…<{@Đ<{ʈ<{_!f~vLz<###~#vL;<>L<5m<:>wZ!3=4:2=p*?=~@w> |<> vL>*>M>C>UvL2<*?=#{G#^#V#^#V"=̓"?=#~ ĩ>IvL!>">*>6!>~G#^#VͩQAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPERELCRFPRNP?Command error?File not found?Can't enter file~J#F!FF!FF!FFXGCOMSCNF",AF2@!@͸H> 2-A25A2,Ay,2@G:@2@H>A:@G;AH-A:,A2@ 2@G:@@2@!@͸Hy=7H 7H,A#H 7!@͸H:@!@ܘH!@:@SH@;A> =IHܘH:@hH:@hH:@2@ _2̈́K%K;K*@##:@2@G,A ~²HHw# ¨H #èH w#»H:@!5A~ Hw#H*J:7>IxHJOx=y&I[A@2,A*Jx I -AoIJIT?IJT7JY7ILYIJS7JT7>IR7JD7R7>I> ڀI6 #=xIy.2@*J5AxژIʥIJÙIy/yJL¾I2@JOæINI2@÷IOI2@÷IRI2@÷ICI2@2@÷IMI2@÷IIJ2@÷IXJ>2@÷IZJ2@÷IP7:@<2@÷IJ[HJ0HJADJ:HJ-JO!~6GzJ#~ cJUJHFx+#tJ~iJ2@ÚJ2@:@JK>*J GF> J:HF!IF"Fo>g6 #> w:@J!IF~ JaJJAw#þJ~# J J K#"F_*F+~ #KJ#"F+~7ȷ> J> JEB!"CB!@:@NKCA!"AA!@:@K~K͡K vL> vL>vL*CBEB@NLEB@K:@ʰH:@K>L*AACA@NLCA@K|}YLƀ)`iíL> vL> vL> vL:@ʰH:@¡M =­L!CA>!@íL:@ʰH:@J*AA|=L#"AABAw:@<KM*ED|%M#"EDFDKGD>@=NM!=*M!>JM_!@ sM qM vL~zMËM7ȷ!MF@@²M> J!MFKDISK FULL!M:>ŒN@Nw#2@.ʷN!ڷNw#N2@.ʾN!ҥNþN6 #·N:@.Nw#NpMMN2M2M:M=OMM0O!M"M>2M*M~+O70O#"M0zMËM7ȷ!MF@@²M> J!MFKDISK FULL!M:>ŒN@Nw#2@.ʷN!ڷNw#N2@.ʾN!ҥNþN6 #·N:@.Nw#NpMMN2M2M:M=O;4]9:S!<:< :<2<:<_~# ~#GͿ3͉333:<, !;'(/;4:< 9I>2;f7:a 55J22;9;49:  52ͧ43*2ͧ4:<_8ͼ4:`!:Z4>2 <:`!:Z42 <: _4_:<_:S! 8HG(( 8_4{= (2@ͬ444>y (:;( <4{8:> >> :;02;:cGÅ>22{9@9>22!{98!:<=!{98@996:a!!; 2Z4: 37:<=:<=R,( :2;>2;!;!;65R,:;[, (Ͱ8<440:<:G:P:P:J:J:Y:e:OuoMemoryInvaliKeyI/ErrorNoFoundSyntaErrorCannoReformatNameReadWriteEraseLoadFindChangtoDirOptionsLengthColumnPageLineMacroRepeacoun([Q],0-9/*)Kenumbe([N/Q],0-9)Abandochanges(Y/N)Unchangedsave(Y/N) ChangedQFilsizeNNNNNMemorusedNNNNNFreeNNNNN [MenudisabledseManual] 'LCl ^Q ^O ^P ^KESCChg?WaitRdy^QTOP Pg INSvt hy AI DS MR PS BAK:_ !j;̓4 ô7:<, !>̓45%F (!? ((!A(!@ ̓4 9^csup^worrt^linup^delete^UNdelete^PPtcode ^down^worlf^lindnDEdeleft^reform^Pplacmark ^left^pagup^insert^deword^castoggle ^right^pagdn^insrCR^deline^L(^\rpfind (PRES^K/ESC^O^FOSUBMENUS) ^KBegiblock^KblocWrite^KLoanew^KNameEscMacrdef ^Kenblock^Kdeletblock^KSave ^KInfoEscstorkey ^KUnmarblk^KReafile^Ksave+load^KPrintEsc0..usky ^KCopblock^KFillist^Ksave+eXitEsc-TAtaback ^KmoVblock^KErasfile^KQuit Esc-Arrowshifscreen ^QgotBlock^Q:9!';)t. Exists. Erase (Y/N)?  'PY 6!&;(.&;&;S;2;::(!1;*:|(&;*;";!";'&;7<(k2F;t. Vfy&;(=('D,Verify Read ErrorI!~"#[;*;͟& t. OK >2::q<=Ē,'K ;u7pD, -- CRC ErrorI!&;~D,Public File Conflict ~(8`,#)t. is R/O. Erase (Y/N)?  '`,PY( ~# ˾#!˴":*: w#D,Move File2:2:͈:: `,(2:%X(:;(*S;[Q;͟& "S;[d;͟& 0[f;͟& "f;+*;"r;͉+> 9*r;";"S;`,2;%::(:W;M( :Y;V X-,Deleting )!t;t;< ͕I>2;::*f; *d;͟&( ͘&Sd;*h;+"h;`,-,Delete )t. (Y/N)? 'p,PY*f; >05p,*f;#)t. is R/O. Rename anyway (Y/N)?  'Y(`,-,Rename File to: &;*'!'; ~#?(|&;<(ͦ D,File Exists!&;6; ͘&*f;&; ͇& ~([f;!6; #怶w ~(6;D,AFN NOT Allowed2:2-,Group: (A,C,D,F,M,P,R,T,U,V) :G'2W;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:";2;M[:*;J!w=2::a6 #6 #6";!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͊7K>Ay͑8>:!!G:<G:;ͮ3~ Ͱ&K :5u7Ͷ7# &;!. ͘&ÏM,!":*f;";*b;"f;`"(# { *:":*;"f;n t.Tagged Files is *:^ -,Group Delete (Yes/No/Verify)? 'Y(V(2Y;M*f;";*;"r;2:*b;"f;`"(# *f; > >2:#6'*;"f;*r;";::O*(D,Group ArchivedD,All Tagged Files ARE Archived.(D,Group Copy/D,Group MoveD,Group PrintD,Group View*f;";*;"r;,!";*b;"f;2:=2: Ͷ+`"[f;*d;͟&a͜P*f; ~# *f;*Q;͟&8*S;͟&8++),(:G:W;08:C(:P(bV(dM("A(0D(:;v*f; #6.v͈:: v͈v͈::v*f; >wt;>wv"vv::''K ;u7::(*;"f;,*r;";,:G:W;G08:GDMV`,% Ot. Macro: ' # !(s:Gx9`,2x!-t; ͐&7::(>2 -K:5u7͡7 `,!-)t. NOT FoundPu75t;5O25 Ds:( 5 7 >#(j5 % (! >2;, 5 2a K ;u7D,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͵. ͽ.9 ( > 9 y t.File Name : K ;u7*f;#)K ;u7t. Enter Macro Choice or RETURN - 's:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~v,5 G^ 5 <_@8/$ 5 +* 2{(!/'("( ( ( New in ZDE Z-System Display Editor Version 1.6 02 Jun 90 ZDE is copyright 1990 by Carson Wilson, all rights reserved. You use ZDE at your own risk. The author accepts no liability for any damages resulting from its use or misuse. The files in this library may not be circulated in any incomplete or modified form without the written permission of Carson Wilson. Any commercial use of ZDE, defined as any PROGRAM DEMO BYTE A$(80),B$(80),C$(80),D$(80) CALL DEFD$(A$) CALL DEFD$(B$) CALL DEFD$(C$) CALL DEFD$(D$) 10 FORMAT(1X,'The STRING/80 Bit (tm) Demonstration Program') 20 FORMAT(1X,'Version 1.01 - Copyright (C) 1980 Key Bits Inc.') 30 FORMAT(1X,'January, 1980 - P.O.BOX 592293, Miami, FL, USA') 40 FORMAT(1X,1X) 50 FORMAT(1X,19X,'using') 60 FORMAT(1X,'This program will run, list or explain each of the') 70 FORMAT(1X,'programs or functions identified in the HELP menu.') 80 FORMAT(1X,'Enter the name of the function to be executed.') 90 FORMAT(1X,'Enter either LIST or HELP followed by the program') 100 FORMAT(1X,'or function name to view the requested information.') 110 FORMAT(1X,'As an example, to view a copy of this program enter') 120 FORMAT(1x,'the command LIST DEMO and the source code will be') 130 FORMAT(1X,'displayed. Enter END to terminate the session.') 140 FORMAT(1X,'Enter HELP to get a summary of all commands.') 150 FORMAT(1X,' DEMO COMMAND SUMMARY') 160 FORMAT(1X,' LIST - A program to list any print file.') 170 FORMAT(1X,' FORMAL - A program to formalize Fortran source') 180 FORMAT(1X,' code and resequence the labels.') 190 FORMAT(1X,' SERIES - A program to name up to three series,') 200 FORMAT(1X,' calculates the total, the average,') 210 FORMAT(1X,' the minimun, the maximum, and the ') 220 FORMAT(1X,' count of each. A series can contain') 230 FORMAT(1X,' up to seventeen elements.') 240 FORMAT(1X,' SORT - A program to sort a file of strings.') 250 FORMAT(1X,' A file of U. S. Presidents is used ') 260 FORMAT(1X,' for the demonstration.') 270 FORMAT(1X,' HELP - A function to display a menu on each') 280 FORMAT(1X,' of these items.') 290 FORMAT(1X,' DIR - A function to display a directory ') 300 FORMAT(1X,' of the current disk.') 310 FORMAT(1X,' REN - A function to rename a specific file.') 320 FORMAT(1X,' The convention of newname=oldname is') 330 FORMAT(1X,' followed.') 340 FORMAT(1X,' KILL - A function to kill the named file.') 350 FORMAT(1X,' END - Terminates the demonstration session.') 360 FORMAT(1X,'COMMAND? ') 370 FORMAT(1X,'*** COMMAND NOT FOUND ***') 380 FORMAT(1X,'*** HELP parameter NOT RECOGNIZED ***') 390 FORMAT(1X,'THE HELP COMMAND') 400 FORMAT(1X,'FORMAT: HELP [command name]') 410 FORMAT(1X,'The HELP command will give you a brief description') 420 FORMAT(1X,'of each of the commands in the main menu, and the') 430 FORMAT(1X,'format of the command necessary for execution.') 440 FORMAT(1X,'An example of each command is also given.') 450 FORMAT(1X,'EXAMPLE: HELP HELP') 460 FORMAT(1X,'THE LIST COMMAND') 470 FORMAT(1X,'FORMAT: LIST file name') 480 FORMAT(1X,'The LIST command will allow you to list a printable') 490 FORMAT(1X,'file. The commands LIST, FORMAL, SERIES, SORT and') 500 FORMAT(1X,'DEMO are all Fortran files. Thus to list a copy of') 510 FORMAT(1X,'the source code for DEMO use the example below. ') 520 FORMAT(1X,'commands HELP, END, DIR, REN and KILL are also in') 530 FORMAT(1X,'the DEMO program. Thus the example will also give') 540 FORMAT(1X,'you the source listing for these commands.') 550 FORMAT(1X,'EXAMPLE: LIST DEMO.FOR') 560 FORMAT(1X,'THE END COMAND') 570 FORMAT(1X,'FORMAT: END') 580 FORMAT(1X,'The END command terminates the demonstration') 590 FORMAT(1X,'program session -- after that there is no more') 600 FORMAT(1X,'to say.') 610 FORMAT(1X,'EXAMPLE: END') 620 FORMAT(1X,'THE FORMAL COMMAND') 630 FORMAT(1X,'FORMAT: FORMAL filename[.FOR]') 640 FORMAT(1X,'The FORMAL command will result in the specified') 650 FORMAT(1X,'file being renamed to a .BAK file and a reformated') 660 FORMAT(1X,'version of the Fortran source code being place in') 670 FORMAT(1X,'the file specified. The file specified must be a') 680 FORMAT(1X,'Fortran file, i.e. with extension .FOR, whether or') 690 FORMAT(1X,'the .FOR is specified.') 700 FORMAT(1X,'EXAMPLE: FORMAL FORMAL.FOR') 710 FORMAT(1X,' or: FORMAL FORMAL') 720 FORMAT(1X,'THE SERIES COMMAND') 730 FORMAT(1X,'FORMAT: SERIES') 740 FORMAT(1X,'The SERIES command executes a program to name,') 750 FORMAT(1X,'and manage three seventeen-element numeric ') 760 FORMAT(1X,'series. A separate menu containing SERIES') 770 FORMAT(1X,'commands will appear once executed. A summary') 780 FORMAT(1X,'of this program is contained in the User') 790 FORMAT(1X,'Manual in the DEMO program section.') 800 FORMAT(1X,'EXAMPLE: SERIES') 810 FORMAT(1X,'THE SORT COMMAND') 820 FORMAT(1X,'FORMAT: SORT filename') 830 FORMAT(1X,'The SORT command allows you to sort a file of') 840 FORMAT(1X,'text characters. Included on the distribution') 850 FORMAT(1X,'disk is a file, PRES.TXT containing a list of') 860 FORMAT(1X,'US presidents in the order of their occupancy.') 870 FORMAT(1X,'You may use this for demonstration purposes.') 880 FORMAT(1X,'EXAMPLE: SORT PRES.XXX=PRES.TXT') 890 FORMAT(1X,'THE DIR COMMAND') 900 FORMAT(1X,'FORMAT: DIR ') 910 FORMAT(1X,'The DIR command list the file names and the number') 920 FORMAT(1X,'of bytes; versus the closest Kbytes; for the ') 930 FORMAT(1X,'currently assigned disk drive.') 940 FORMAT(1X,'EXAMPLE: DIR ') 950 FORMAT(1X,'THE REN COMMAND') 960 FORMAT(1X,'FORMAT: REN newname=oldname') 970 FORMAT(1X,'The REN command will rename a file. In the ') 980 FORMAT(1X,'example below, the file named OLD.TXT on ') 990 FORMAT(1X,'drive B is renamed to NEW.DOC on drive A.') 1000 FORMAT(1X,'EXAMPLE: REN A:NEW.DOC=B:OLD.TXT') 1010 FORMAT(1X,'THE KILL COMMAND') 1020 FORMAT(1X,'FORMAT: KILL filename') 1030 FORMAT(1X,'The KILL command deletes the named file') 1040 FORMAT(1X,'from the indicated disk. USE CAUTIOUSLY.') 1050 FORMAT(1X,'A generalized name could destroy multiple') 1060 FORMAT(1X,'files.') 1070 FORMAT(1X,'EXAMPLE: KILL B:OLD.TXT') C PRINT OPENING BULLETIN WRITE(5,10) WRITE(5,20) WRITE(5,30) WRITE(5,40) WRITE(5,50) WRITE(5,40) CALL VER$(A$) CALL PUT$(A$) WRITE(5,40) WRITE(5,60) WRITE(5,70) WRITE(5,80) WRITE(5,90) WRITE(5,100) WRITE(5,110) WRITE(5,120) WRITE(5,130) WRITE(5,140) WRITE(5,40) WRITE(5,40) GO TO 1080 C READ COMMAND 1080 CONTINUE WRITE(5,360) CALL GET$(A$) C SELECT ROUTINE BASED ON COMMAND I=MATCH$(A$,'HELP@',1) IF(I.GT.0)GO TO 1090 I=MATCH$(A$,'LIST@',1) IF(I.GT.0)GO TO 1200 I=MATCH$(A$,'FORMAL@',1) IF(I.GT.0)GO TO 1260 I=MATCH$(A$,'SERIES@',1) IF(I.GT.0)GO TO 1330 I=MATCH$(A$,'SORT@',1) IF(I.GT.0)GO TO 1350 I=MATCH$(A$,'DIR@',1) IF(I.GT.0)GO TO 1400 I=MATCH$(A$,'REN@',1) IF(I.GT.0)GO TO 1450 I=MATCH$(A$,'KILL@',1) IF(I.GT.0)GO TO 1480 I=MATCH$(A$,'END@',1) IF(I.GT.0)GO TO 1490 C PRINT ERROR MESSAGE, COMMAND NOT FOUND WRITE(5,370) GO TO 1080 C DISPLAY COMMAND HELP BULLETIN 1090 CONTINUE L=LEN$(A$) IF(L.GT.7)GO TO 1100 WRITE(5,150) WRITE(5,40) WRITE(5,160) WRITE(5,170) WRITE(5,180) WRITE(5,190) WRITE(5,200) WRITE(5,210) WRITE(5,220) WRITE(5,230) WRITE(5,240) WRITE(5,250) WRITE(5,260) WRITE(5,270) WRITE(5,280) WRITE(5,290) WRITE(5,300) WRITE(5,310) WRITE(5,320) WRITE(5,330) WRITE(5,340) WRITE(5,350) WRITE(5,40) GO TO 1080 C WHICH DETAIL HELP MENU 1100 CONTINUE I=I+1 J=MATCH$(A$,'HELP@',I) IF(J.GT.0)GO TO 1110 J=MATCH$(A$,'LIST@',I) IF(J.GT.0)GO TO 1120 J=MATCH$(A$,'END@',I) IF(J.GT.0)GO TO 1130 J=MATCH$(A$,'FORMAL@',I) IF(J.GT.0)GO TO 1140 J=MATCH$(A$,'SERIES@',I) IF(J.GT.0)GO TO 1150 J=MATCH$(A$,'SORT@',I) IF(J.GT.0)GO TO 1160 J=MATCH$(A$,'DIR@',I) IF(J.GT.0)GO TO 1170 J=MATCH$(A$,'REN@',I) IF(J.GT.0)GO TO 1180 J=MATCH$(A$,'KILL@',I) IF(J.GT.0)GO TO 1190 WRITE(5,380) GO TO 1080 C DISPLAY DETAIL HELP BULLETINS C DISPLAY HELP HELP 1110 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,390) WRITE(5,40) WRITE(5,400) WRITE(5,40) WRITE(5,410) WRITE(5,420) WRITE(5,430) WRITE(5,40) WRITE(5,450) WRITE(5,40) WRITE(5,40) GO TO 108  1ͷ>2:E*.Z*.u",:…ÈҢ!!)"ҿe!Ô":***#)ÿ""͞͞:¨i!'(*!0(HTHTHT>G[UiixGzxG1U33F12  >9°:P;xW;:=2 >2T;U;͞O~/wGNx/wy#)(͞**=p#)K**~#)\=p#)~x/w#)l=~#)x/G~x/G#)ҁ ʺ ooz>0:OHT=xGw#)=xG~#)=xGw#)=xG~#)"Hx2=/w#W* zT{:G/w#)mW)DMF͝ ooͫ_͝ʿͫ 7O0  Dog"o*o_{_01     : $Y#|7{z*"=_p#);*"=_~#)O*}Gog"1!$ʆF~/wNpx% MEMRS Memory Test - Version 1.9BIOSBDOS located at Top of memory at Press "SP" or "^C" to warm boot at any time or "^X" to restart test from beginning. Response of "CR" gives default test range which starts above this program and ends at LOCATION SHOULD BE WAS "CR" to continue test - "SP", "^C" to quit, "^X" to restart. Test series complete Starting address (Hex or "CR") Ending address (Hex or "CR") Input error - Retype 4 hex digits Non-destructive test of ALL MEMORY starting at 0 Bit stuck high or low test Adjacent bits shorted test Checkerboard (55AAH pattern) test Walking bit left test Walking bit right test Address line test Random number test - Cycle: Re-enter, starting address must be at least Re-enter, ending address too low:2 22!~-#~BR22>2>2 17 18 19 20 uding ZML and ZMLIB; contact Al Hawley at Ladera Z-Node, 213/670-9465 (modem), Ladera Heights, CA). 2.3. Other Minor Nuisances Corrected. ZDE now turns alternate video off when placing the cursor at the string to change during ^QA prompts. A bug which allowed an extra character or hyphen on the last line of a paragraph if the line's length was one character beyond the right margin has been fixed (thanks to Larry Schnitger for spotting these). A bug which occurred if you set the block end marker to the last byte in the file then did a block delete has been fixed (thanks to Ben Cohen for finding this). One or more bug(s) which occurred while printing have been cleared up. ZDE should now always give a correct left margin with or without a page header or top margin. The printout is also slightly faster when left and top margins are used together. ZDE now always finds strings located exactly at the end of a file. When searching with the /c/ option, erroneous results occurred if a non-matching string of the same length as the search string beginning with the same first character as the search string was located at the very end of a file. This has been fixed. Fixed minor bug in proportional formatting that caused repeated ^B commands to give inconsistent results under some circumstances. Fixed bug which set margins spuriously if an illegal number was entered. ZDE also now disallows setting margins to zero, which caused formatting problems. ^B (reformat) no longer absorbs following commands, allowing ^B to be embedded in key redefinitions with SmartKey, etc. 3. INSTALLATION. You MUST use ZDENSTAL 1.6 to install this version of ZDE. Older ZDK and .ZDP files will still work. Due to extra installation codes, .ZDE files created with version 1.0 of ZDE will not work with this version of ZDENSTAL. 3.1. New in ZDENSTAL Version 1.6. The proportional formatting (^OJ) toggle can be disabled with ZDENSTAL to allow use of ZDE's proportional spacing table as a patch area. When proportional spacing is disabled, an additional 96 bytes of space is released for custom user patching. ZDENSTAL also allows you to set the proportional formatting toggle to ON or OFF at startup [this can also be toggled while operating ZDE]. ZDENSTAL's "R" option now restores ZDE's proportional spacing table to its default (as distributed) values. ZDENSTAL's "F" option now gives the locations of all FIVE key definition tables (former versions left out the ESC- table). The "F" option also gives the location of ZDE's proportional spacing table for use when patching ZDE. The Osborne 1 and Vixen terminal definitions are now separate due to different screen width requirements (thanks to Ben Cohen for sorting this out). ZDENSTAL previously would overwrite .ZDK and .ZDP files with the wrong information if the .ZDK or .ZDP file had been archived (bit 7 of filetype character 3 set). This problem has been corrected in version 1.6. Some ZDENSTAL messages have been improved. 4. USAGE HINTS. The following are just some miscellania that I have picked up from using and working on ZDE. 4.1. Saving Macros to Disk. Under Z System version 3.4, it is possible to "save your work" after creating a working Macro. First, be sure to save your new Macros as Macro Keys using ZDE's ESC-# command (see ZDE Manual). Then exit ZDE and type POKE 310 02 50;ZSAVE 310-490 filename.ZDK You have just used Z System's type-4 SAVE program to create a new .ZDK file, which can now be examined and installed permanently into ZDE with ZDENSTAL, or further revised using ZDKCOM. [NOTE: the addresses and values given above will work for ZDE version 1.6, but may change with future versions of ZDE.] 4.2. Creating a Smaller ZDE. If you are SURE you will never want to enable the Help Menus, you can create a slightly smaller copy of ZDE. First use ZDENSTAL to disable ZDE's Help Menus. Then issue the Z System command, GET 100 ZDE.COM;ZSAVE 100-3E7F filename.COM This creates a copy of ZDE that is about 1 kilobyte smaller than the distributed package, and loads somewhat faster on slower systems. This procedure is specific to ZDE 1.6; do NOT assume that it will work on future versions. 4.3. Using GET and GO with ZDE. Some users have discovered that the Z System GET and GO commands can be used to extend ZDE's versatility or save disk space. Since the .ZDE, .ZDP, and .ZDK files used by ZDENSTAL are simply binary images of various portions of ZDE, you can achieve the versatility of having several copies of ZDE without the added disk overhead by using Z System commands that "install" one or more of ZDENSTAL's files on the fly. For example, if you used ZDE with a particular terminal most of the time, but occasionally switched to another terminal that was incompatible with the first one, you might want to create a Z System Alias which would overlay the default copy of ZDE with your second terminal's characteristics at startup. You could achieve this by first using ZDENSTAL to configure ZDE for your second terminal, saving the terminal's characteristics into a .ZDE file (see the ZDE Manual for details on this). You would then ZDE for your normal terminal, and write an Alias to auto-install this copy of ZDE for your occasional terminal on the fly: GET 100 ZDE.COM;GET 180 term2.ZDE;GO $* This command loads the file term2.ZDE over ZDE before proceeding, Ì]z))DEc9@gQC}DE CsD +"]D  $ |D}DDD<|""XL{LL{PtM=$$YXTZZSR\SZeXY{TzTSYHIyII|(*g(678&+7y8919JHFIHH"+IFFz)) *m*zQ}QQU@VXVaQdQgQ;LM$Xq"9BLdhiUTϫNBTSLOSONԚLEAҒINSNDBV+V,V-O HRAL̶OMMOθHAIιELETŪATI͆EFSTҭEFINԮEFSNǯEFDB̰EƘLSŢNāRASŦDIԧRROҨRRX O/QO҂IELILERIOTωO TωOSUEEXNPUԅƋNSTNNMNKEYILPRINԞLISԟPOEԈINűOASEISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOPEοUԝΕCTPTIOκRINԑUOKřOEEETURΎEAćUΊESTORŌE͏ESUMũSEIGHTNENUͬESEANDOMIZŻTOАWAХAVPCTEGQI TRTRINGPACEYSTEͽHEROΣROFƤABA SINSAARPTIDTȡAIԗHILŴENĵRITŷO۾yy||PF<2(z{ *z);*)&,,d-D.s)%%'i')1+%+Q+3)NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filespP8`@` :, in Ok Break!9~#b  T N#F#`izv C T  *|<ʗ :  D=96543>7@?2C: * "   *" 2 2 |< "  * âC{K2* " * |< " " * |! 4 4 5wY2B!{DP 2R U >(_#U * ~?o !P #GC!BʻY|<1>DA2MSB!E :* > @(K 2 Ç 2 *  C " :b ʢ >(Kڢ <=ʢ (ͬ~ ̾(" ҊSe]" ;5$ܢ"ʇ: \*v " * ͶB" t##s#r## w# y}ͯ!6"*" 7C*"* "â *bk~####~ ҷ ڷù#s#rïC *DM~#+##~#foC`i~#fo??2i 2h ;#~=!@}O|G!""y O:h ~ʂ#Y:aJg>2h 2i U%~|*O~#Ym?>HjZEڗ;;>ʸ;>HOZ#þGO TOUBZ!AO ^#V#ZOd#<y(!!!Z.!>dG>Y2i Y%=+ZOiMk֢ύ>2i W„Y>5W>Y{~.ʧ:"0":i ~O.O>Y(ͬ}Y|Y%~.ͬ:g * |>}e. Y! d! ~Y#=%iʎ%à&O[H> K> Yi>: y +=2i ZY#ZEo:ҋ0o.o%~ Ҡ ʠ ʠ> :i <ʩ=m+~ ʬ ʬ ʬ#>d2 ͋9C" :g ͬ! (" !9T  +V+^##* C" B* *Cd Nz)~S ͒(q)ʹ(QZ~>r)ʹ(E(OdG+ $* "* 3àE3\B" !9" ~: #~#ʅ #^#V": >[@1>]@ցLO! N#F#~: ҆ ځ#:l `#2l f>R~#"j &o"n >2m !~##"j +fC͎*j <2m n G("j ! 0?<=:l ҫ ګ*n ¨###^#V,:m 2g *n " *p " !n (E AOGEAGx3Ø(:l  *j #*C > 2 ,$`i P "  "!>:yHG+ȸ#"<֌W-͋9C" :g G:g x=ͬ:g  H * #^#V*Cs* C{! C{>HͣFH(µC(zʢPY" : {:_ u ~GC+K x),  <2~(z˜<* * "~ #####u   =>C,* =( |" 2 " â ~,dC+͆(~ʕ *n €€l>2á Q+!B>ee,%;d)1F6 * 4TF* ::G<:?=:G<:e ?=!B&Gá(* TF~\:I:G<:\V:G:e \!B\/V tz|TF›:::o<ʛ& ,C)+(* TF~:::e /<!B{= @è2go"C#ʧQHLo͋9;*0KDF>-?Redo from start #~ "4N: !!#G* Q!a ;#YHL">2>2 F~,2 ÓC;&G: ʫ>?@> @0KDů2 6,+>2 ͉:~+[(# "4([]), ~,B>2 d: =Bd̨H+~,ʿ+N6,E* 2 QC,͋9~,c: 2 TF—Qd¢WG"ʌ: Wʉ:,+FO: y!...+ʽ,G+M: C#~# #^#V" cCC(+B͓2 " * ~" ڎ_4:g {[H !xVzʬQںzʺ! :g  N#F#N#F! N#F#N#FKG* W " Ð)͙(6Çz)uÇxdd!BdX* \FÇy2h :g g+Wx(zOxdz o! N#F* *(" " ͩ( *!:h og~#fox(2g 6" ;)!A͙(*ʹ(" " i*͙(*g' .EJ ]<=ʓ<"FO&i:* ,C(#r PQ͉:C)|)IoBI'UTC)}* k(͋9" d(~a{_&([OʭH¬#~[Eҗ:0ÞG7))))o~ +8  )))0O í)#~ց(7>OyC,;** u )4} )H>2  N#fi-++<(aZz)}/o|/g" :g q7xz)z ,{ʨ+F•{o|P {o|<«{o|2¸{/o|/}//o|//}o|g,::e 2 ͋9:g " " ͬB!9(:g * ~)C,* C,Á2N 2g !9(!9.,:g G:N Od}!P O:* * C)>" : OBO/2 OÐ9~ #~#`J x 2b b + C,u W : u 2_H 2u 2_H 2H /<z)zu 2 2 C,u Y +{>2e]!"N#F#xʇ TFQBN#F#Cچ " 1~ > @ !b !BÑ ~ͥB# b 2 e] #~ ! _!A!_.!!!/!: -!<-!> >2 { =! ! <~J!#~#X! k*l!~#>l!+!:G@ #T]~u!#y!~v!ʏ!y_¢!: >2 ÷![®!2 !: >2 !> XG{!~#_XG!!2 E0:?+͎ " o6 r6*n )1:l O " H*">&{:m ;"!;"#~ ̾(~#m":m A" ^".h"Dh"EA"A"{v"*j 5$Ҕ"T]C!E #G!* C¦"`i" "\]~"\]C,u "z)d: E()È% PX/#,#BK/#C,/#C,( z`iC[# !C^#Vzn#~#+K#͑#^#Vzʌ##s#r u# 2 *+#~##^#Vʚ#O: y$#¦#¦#3z##£#3 > %$B!$#G11+ã#Undefined line #3###N#F>!#*j +p+q+w: Ò#CBCACSCE: * * C ~0  2 <2 ~̓$#y$\Aʔ$z)ð$!$#G KD#~.~•$z)"j87Random number seed (-32768 to 32767)$*" +%%$%#~#Y #^#V" y~.%$$$$$%** "͋9+%c%C,+8%": 2 2 ! 6ͷ(È%ͷ(t(x: ʩ(Ң%/<͙(ͩ((gb&|! %B&#ʈ0.͉&#&G~_#~W#~ON&hcGy&JTeox%2 |&y%O&)zWyO%x\E#&! w%%x! 5&F#~怩Oé( 4Ç0~_#~W#~O! ~/woG}_}W}Oq&CZQd& oz…&y-O{&Ë&-yOzW{_xGÅ&$cCu͍M r5E(&1r'ʹ(>2 ͙(!&ͧ7͙(ͩ(!&ͧ7i'͙(T(È%E(.(y2<'"7'PX!%!%'! ~#Y'Wy='O|g}oxGQ'x Gz/'CZQO͙(!-ͦ(E(ʐ0.(4g04g0+~2'+~2'+~2'AOW_2'}o|gxG>?ұ'2'7y<=':'x'> $&{_zWyO)xG:'2'y”'! 5”'%>.! N#G.x'(}! Gx&(ƀwW'(w+E(/%g0ʹ(xڀ0G͈%! 4À0: : /<! Op#6%͆(d+ ! ~w͆(og)d E(* ||O(* * ͷ(" `i" ! ^#V#N#F# (:g Gw#(! ~7w?##wy7O! ((! ( d xE(!N(E(y! y )#x+y+z+{z|O(@)}P(! ( E(!N(E(O! y#)+f)I)N(d* )(! 6(&,)Ü)y%: 2 : B*: ½)))|/g}/o)! : )B*" >2g )aj)d* ʹ(6*x(! F#&* 6*|UY(d *!" " >>)d GOW_ʹ((gf*>b&|5&N&z< dE(*t(̀*k(dҦ* )! ~: ~B*6{y%! ~*O+~+¶*!*) *yʹ((+6+q*: O! >%-,2 Ñ,! ~5#*!x"+>);)+ ;=+|G+y4+|Gz)*͙(,N0|)+DM!>)ډ+)q+ ډ+=c+|+x+ʚ+*͙(*'x)*t(| ++DM!>+ +7>{_zW}o|g=+w+|G+|)Ooyg)* +|6*Y(ͨ+g{o)+! ~w! ~G+N (R,/<#Fwx+ B,F+N9(! G>w2 ! %-x,: 2 ,,4ʈ0Q-,>,! -G: º,! Vwz# Ÿ,x’,%! Y-,x,! w%: ,! ~++w! 4#,4ʈ0+60 ! ->!  2 -# -~/w! Oyw#-q<-NsY+1-'- W~w+F-?-! C-~w# [-E(: %'͝.qʙ-G,Q-x ‚-y-Ñ,! --Ñ-L} : A--! (d-: -2 !t(. ! (.&, ! (>.".&,! 3.=-..! 5%! >5=.>! N#F#=(.>! p+q+=9.: ʔ0: %'44ʈ0͝.!7 qA>,?t.>,: <=,! [-!0 Y-xb.! 5b.%y2 +6 ~q+¨.(+~ڈ0w&,4È0%3*j%>2 `h)~&i-.+.+/.ʆ/e /E5/l#/L#/q#/Q4/:g N/>N/~%ʓ/#ʤ/!ʥ/dN/De/ͮ/2S0e/_{_//i/k(d!W')d e/ܮ/.!W'!z)e/ͮ/e/) *d.(.=d^'- ̓$> ̓$!  101(d0! 1(* |* "1C !@ #G"G)Ͳ1F1Ͳ1416+͆(F16-k(#60: W:g 22һ1ͺ5! F : _ 1x*1{1Aqʟ1Eʟ1Dʟ101,1.¢1+60{ʫ1+6${+p2 ! 6 ͙(* * 2 f2E~2:101 #~1>DG1" `i" #~+N2-%20OxGN2#~ 2`xEC2y 1>2 S2|1;21" `i" ͩ(#W\4: 2Ë22ҏ2460̾("5+~0ʞ2.ľ(2d>"w#6+26-/</ 2:#p#w#6! #zQ334z4ͺ5{(=4b13p#6! #: ~ 3* 3+3-+$0I3#I3++w?3 3I36%3m36C){3)1+6%)d3E(\43_x44"5452_y/3/3{_x34434y5O4GO"53* =4P2*ѯ3E(7\4y/OzWO/4)4/< 5/>,K5>,p#=B5! ͦ(~5y%>B*ͩ(_6?5ʹ(/{_#zW#yO++Ғ5B&#ͩ(p#ڄ5>5e6>5N#F#* /}o|g5" p#=55w1_cƤ~@zZrN vH Tʚ;@B''d G" կʎ6))))Ÿ6y=ʟ6ʫ60:ڨ6 ʸ6ʊ6È6!t(͙(! 6ͦ(6)!r%>2 E(x+76ʗ0%yʹ(7: 77͍*)|" " ܻ6t(ͽ&'8;': `7hr7͙(͍*Ɓc7ͅ%!{7ͧ7J'͙(: o7%~0é(|Yt&wz^Pc|u~r1͙(+ʹ('͙(~#ͦ(='ͷ(͈%ð7RO!&ͦ(76*E(!H8>8!i8ͦ(!H8Ȇw#O ͷ(':G8<2G8!i8O |%ʹ({YOO6+F6!F84~֫58w %!i8(w+w+w85Jʙ9v" GSљ e͘w>ROhFhiuh!8|%: w: 82 t("~'͙(͍*ͅ%)8͈%͈%E(t(͈%t(: 82 !9͘7: 2 "~Ie&X4#]I͙(8͙(ͩ(y8g'E(6t(: N9QYi'!%!X9͘7!8 J;xn{/|t1}=Z}~L~l+C,}92f NE G2#~.9ʵ9:ү90ҵ9E9G#~:90Ҽ9EҼ9.ʼ9x' 2~&9 :%$!#y_! V+z2g : =ʒ;):~(;3;2 : 2 }:*  " c:o[::g [::&* C;^#~#¸;:g ¸;~;#^^#V#˜;:f DMW']< #:¹;#ʾ;+͸<þ;:g w#_ʖ!@1> @!b  ~#=GA"=[0A= A=_zW"=! =L=ʺ>O>>ʨ=1g= !>=#ʻ=>>= >>(9>ʵ=6>>@!B<~ͥB#¨=!>7A_>~=ͥB܁>=#~== !B<~>\ͥB~>ͥB́>=>\@~A +> +>+> +>>@ >wͥB# >6Hͨ=Aq>s> >s> ʑ>ʑ> ʑ> >>_‘>>_ʙ>ͥB+>> ~7W'#~+w#Ã>yڡ>>@>> o&DM#͹BwͥB#Þ>x+>ͥB>x+~ͥB> !Bz\@@_W@W~#!ʎ@#ʡ?&ʉ@g@+>H?+~#.?_}@\&???$ʚ?*??x#ڒ?~$> ž?#W?~#.?#ʡ?,?z@Wá?~#>.??# ?~##??T]^###xG#z+@x@~-@@>Wr@Cxz*1#G+7N@2 ;K@, ~#_~#foxE?m@@@?!BͫH@~#@_@Ò@>@r@;** AxxOI&G* 5@G> 5@@@z>+@TFfV:\A@:@27A A> @:A 3A6A:<:-A!MA6A<2Oɯ2:> 7A> 7A2:XG{A:e ʍA=2e >îA A> @:e €A ڮA:G:e ʥA!BʮA<2e OTFAWMS: 0P:A!7C!E #G:AD/2AD:e !B6!a > @> @TF3B:?B2ɯ2e :=@FBAA2CDD͙BƒBʌBAͷF_H!D " >2g :2@ > @+B> BC~ +üB*v  >ƕo>gB9*++"  BgGBB* C:G!^#V#C T*}D2 2 2 w#w#" *+" : XC2 2 ! 6#QC7!i8(!F8w#w#w2 og" " *v : ƒC" C* " " : T*++" ##!z "x r%DAgo" 2 "N " " 2 * |}~C##~:  *C(`i+" < D T" !z "x !*}<-D" * " 2DAB!J b Æ >OD22>^@@@!B* | * "u <2>2 ͋9! (* dC,͋9Gd * CD( (>2 ͋9D2 `i D * CD `i" ~,D~A[?;C E, E+ EC, E*,4EyE+ʅEC,ʅEyE+ !NC҂E͗EڂE*  C҂E"v " E"zB**v {_zWME}_|W2 " ċ9" P ^#V#* C ~#~#Eͦ(: E! ͦ(|%(ͷ()/F####N#F#^#Vi`: F* F1+:g  r+s^#V#3)ͷ(AF"i`Ü" * ~, ͨE*|ͥH~#N#FͬHW^#N#F{zد< #rF?P(o6ÙFr6ÙF)1FͨHH~#*x " >2g ( C"x ~ #FͨH͹( @ +B-G* * /O #CZG" # >G*v " !* !z *x CxGH!L " * " * * CʹG~###͚<²GH_ÕG* ^#Vz* G" ##^#V#" ÕG* C7H~###͚ {͹FGH* w#?IHIO>~XIxIx C,;*C,* C)ͥHW'ͫHG=O>x~#F#fh GN#^#VUJ LJ#7Jѯx<#4JIJC(͋9;*#^#V* CڍJ*CҍJͣF(C,u ~JͥHG!W'y~?@> @(KͿAzK68Kp22 ͿAoK!B!=:>\2UK'K@+iK~@K+@K@!B!b 2OAK:ʐK>\@2yKCD7 ;L K ´K(KKCD(KK0K@> @>bKK>#iKK6!B!b K KxL*|>L!b ("_yq#@ K2e > @ͿA,L KzK: Bw!a >2 ;2 " $L33oL " ** áL LL" *" ##^#V#~#fo"͆(ʵLA3à* "à!9~#L L~#foC L >2 ͋9d(""  B!9 +" _MC(͋9s#r#~,=M #MC)" >!=_M=_M=_M!9DM!jM* * * à2 2 ~‡M2 #+͔R!" +NC,,ʸM"" +NC,MCACLCLNOC, 2 5$`i" NT]" CNO**+#~#N#^#V"N:N2 ͉:ʢNxG͒;>2 hN~(nNþN~(͉:zNxGN::g W):zBK!N N 2 ~(nN ͖N+"N(NC)"NC,BN"* * C#ON##~w#͚< NO* " N* C Oy_xW `i" * CNO##~w#͚2 : mS:2ùR2 2 * DM* " * #* " CNP `i" * *+zʠ `ià Q+PdP)1F* #^#V ªPr+s+5&G+P;ʿPC,+>,@ÇP>"@&G>"@íP*|Q~Q\}o|gQ> @+|P!B#*QѻQ  C,PY"+#x _:ڦ !N#F :Q!)^Q! >>>ͬ͹F* (H>>>ͥH<2g #~#fo(d ,»QZûQ Q͋9;*W_Wڬ Q¾Q"QG{,xQPXW1R!b Oz"yR QR RO{,yĊRW1R R{ +R,> +R+R1R1R͊RWQ"hV* *CMS~#hVSV:SS=S~,~#u SůSѯ*Qʦ   ! ~#fo" !"o]| G~,r CACS͋9;*O*o] "o]* Cڸ q#s#r9T7͋9;*ͥHF~O#^#VT*CT* CTY* * CUy  U!Ux͹FFTC$C(u ~,KU*Qʠ "QC)}͹FʅU͙BlUA~Uw# ^UF* DWڬ qU6Qʦ ʠ !' ~U U#~¸U`i}WÙU>O #~(PY!' ůwͱW:!͞Zʻ =ʝ =UѯÚ <ʻ !% ^#Vr+s9Q6V PY,V!#V`i>yV!' ~UͱW)9V6Qʦ !&QV! ~+n6Qʦ ! ~*~Ee\DM'~U4N#V pʝVzw w+s#r#6#6DM:V!" s#r#6 W! {zVWw<W<ʻ !! {w:W}W!! ~!) ;WU;W~#>W*~ʖ\( ~hW+~#5O ~+~tWzWJW7>*T]% N#F+q#p###6 ’WͱW: ͞Z>ªW>w+w!(HW7?*' 6#67ͥH~ʲ #^#fk_XN#~:X++@bXy@bXbX #RX~.0X>X7X#X2 z bXbX> >X7X> WX7Xò W<ʣ ! w#…XCACSW:!<¾ ͥH~ʠ #N#F OXIXR  C,#u C,{ʦ _9Q¯ WzZ" 1Y{1Y!~ 1Y6B#6A#6Sz"# w# >YwwͱWoY<ʻ ÅY<…Y£ cY!%w#w#w#w~ʨYCzW* ) p# ®YC T T _W<Yʣ Z!6# ͖ZW2 !͒Z!͒Zʣ O!  ~#@ygZ~ dZ>.@ QZ:e W:ڀZ> @@!BAZ~*6?# –ZO!!4¶Z#4¶Z#4y"Zʻ ><+Z* C! s#r#wZ2u]*Q  ! ^#V~,+ zʵ +s#r! w#w! ~#fo!CT[Ò[BK>!)g[)#h[))v[ u[#=][}_}la)ҍ[#x"o]! "q]!) "s]!}o|gCڼ[bk:u]\C[ \DM*s]*q]X\"q]PY\*o]#"o]}o|g|Ÿ[ \DM*q]*s]X\"q]PY[2*o]! ~#foCs#rG\:T\!T\!& äV~# xY\DM\ʓ\͹\! w!( V6 ʎ\zwø \ʓ\͹\! ~!ô\! ^#V! s#rDMͱ\ͫ\C" ͒#\>;S"]C ** C!X9}o|g!9}o|g ] \ \ ** C!9}o|g!X9}o|g S] )] )]*|<:  C*+6* ~šRÇ !?`2 "!"6:͗C2e " * ^#V"zB"UB"##^#V"A##^#V"A##^#V"=A 2!]!!"" !"22d 2 2 2!"!" !z "x ! "L *"v >2!^" :^^<2^!~" ^F#~+w##D^+6" !^/x^+6"" #/x^i^^6ZS^Mʐ^F C:dʯ^z{2ô^"v +^C/}^C:d" ô^+*v +"v +:!]"2<s#r# *  DM=^#"" {ozgB|g}o_|0_!{ozgB"v "" " *B}o|g++!_#G1!_#G!#G" !B! v] Owned by Microsoft Bytes freeBASIC-85 Rev. 5.29 [CP/M Version] Copyright 1985-1986 by Microsoft Created: 28-Jul-85 2!"!" !z "x ! "L *"v >2!^" :^^<2^!~" ^F#~+w##D^+6" !^/x^+6"" #/x^i^^6ZS^Mʐ^F C:dʯ^z{2ô^"v +^C/}^C:d" ô^+*v +"v +:!]"2<s#r# * Introduction Format notation A sample session Writing a Basic program to be compiled Compiler-interpreter differences New programming features Second menu: Compiling, linking & loading, errors :INTRODUCTION The Microsoft BASIC Compiler is a highly efficient programming tool that converts BASIC programs from BASIC source code into machine code. This provides much faster BASIC program execution than has previously been possible. It can make programs run an average of 3 to 10 times faster than programs run under BASIC-80. Compiled programs can be up to 30 times faster than interpreted programs if maximum use of integer variables is made. :FORMAT NOTATION Wherever the format for a statement or command is given throughout this HELP file, the following rules apply: 1. Items in capital letters must be input as shown. 2. Items in lower case letters enclosed in angle brackets ( < > ) are to be supplied by the user. 3. Items in sqare brackets ( [ ] ) are optional. 4. All punctuation except angle brackets and square brackets (i.e., commas, parentheses, semicolons, hyphens, and equal signs) must be included where shown. 5. Items followed by an ellipsis ( ... ) may be repeated any number of times (up to the length of the line). 6. Items separated by a vertical bar ( \ ) are mutually exclusive; choose one. :SAMPLE SESSION The following instructions will take you step by step through the compila- tion process, from typing in the program to running the compiled version of it. STEP 1: PRELIMINARIES Load BASIC-80 (NOT included in the BASCOM package) from disk. The program will sign on and the letters ok will appear on the screen. Now enter: AUTO 100, 100 This command instructs BASIC-80 to automatically generate line numbers, beginning with line 100 and incrementing by 100 each time you press ENTER. STEP 2: ENTER THE PROGRAM You are now ready to begin typing in your BASIC program. Anything that you know runs in BASIC-80 will do. Alternatively, just read in a BASIC-80 program you already use. STEP 3: SAVE THE PROGRAM In order for the compiler to process it, you must save your source program in ASCII format. To do so, enter: SAVE "MYPROG",A There is now a BASIC program called MYPROG.BAS on your diskette that is ready to be compiled. (A program that is not yet compiled is called the source file.) Return to CP/M by typing SYSTEM. STEP 4: CHECK FOR ERRORS At this point, it is a good idea to check the program for syntax errors. Removing syntax errors now will reduce the possibility of having to recom- pile later. To do this, enter: BASCOM =MYPROG This command loads the BASIC Compiler and compiles the source file without producing an object or listing file. If you have made any syntax errors, a two-letter code will appear on the screen. If this happens, return to STEP 1, use the BASIC-80 interpreter again, and correct the errors. If no errors were encountered, you are ready to continue. STEP 5: COMPILE SOURCE FILE These commands instruct the BASIC Compiler to compile MYPROG.BAS, to put the object in a file named MYPROG.REL, and to put the listing in a file named MYPROG.LST. (.REL and .LST are default extensions supplied by the BASIC Compiler.) There are now a relocatable object file called MYPROG.REL and a listing file called MYPROG.LST on the disk. The object file contains the machine- readable code generated by the compiler. The listing file contains the BASIC program statements along with the machine language generated by each statement. STEP 6: LOAD AND EXECUTE THE PROGRAM The LINK-80 linking loader is used to produce an executable program. To use it, enter: L80 MYPROG,MYPROG/N/E This command runs LINK-80, which in turn loads the object file MYPROG.REL into the correct memory locations, then writes it to disk as a .COM file. During this process (which can take some time), runtime routines are drawn from the BASLIB.REL runtime library. The compiled program which you stored on your own diskette can be run at any time, all by itself, without using any part of the BASIC Compiler. It works just like a standard CP/M command file. To execute, just enter: MYPROG The program should then work just as it did in the interpreter .. only much faster. :WRITING A BASIC PROGRAM TO BE COMPILED BASIC programs which are to be compiled are, for most part, written in just the same way you have always written them to run with the interpreter. However, there are some differences between the statements and commands implemented in BASIC-80 and those implemented in the BASIC Compiler that must be taken into consideration. The Compiler interacts with the console only to read compiler commands. These specify what files are to be compiled. There is no "direct mode", as with the MBASIC interpreter. Commands that are usually issued in the direct mode with MBASIC are not implemented on the compiler. The following state- ments and commands are not implemented and will generate an error message. AUTO CLEAR* CLOAD CSAVE CONT DELETE EDIT LIST LLIST RENUM SAVE LOAD MERGE NEW COMMON* SYSTEM * (Note: Newer releases of the compiler which include the BRUN runtime module do support CHAINing with COMMON and CLEAR with certain restrictions.) :FEATURES USED DIFFERENTLY BY THE BASIC COMPILER DEFINT/SNG/DBL/STR The compiler does not "execute" DEFxxx statements; it reacts to the static occurrence of these statements, regardless of the order in which program lines are executed. A DEFxxx statement takes effect as soon as its line is encountered. Once the type has been defined for a given letter, it remains in effect until the end of the program or until a different DEfxxx state ment with that letter takes effect. USRn Functions USRn functions are significantly different from the interpreter versions. The argument to the USRn function is ignored and an integer result is returned in the HL registers. It is recommended that USRn functions be replaced by the CALL statement. (See New BASIC Programming Features for definition of CALL.) DIM and ERASE The DIM statement is similar to the DEFxxx statement in that it is scanned rather than executed. That is, DIM takes effect when its line is encoun- tered. If the default dimension (10) has already been established for an array variable and that variable is later encountered in a DIM statement, a DD (redimensioned array) error results. There is no ERASE statement in the compiler, so arrays cannot be erased and redimensioned. An ERASE statement will produce a fatal error. Also note that the values of the subscripts in a DIM statement must be integer constants; they may not be variables, arithmetic expressions, of floating point values. For example, DIM A1(I) DIM A1(3+4) are both illegal statements. END During execution of a compiled program, an END statement closes files and returns control to the operating system. The compiler assumes an END at the end of the program, so it is not necessary to insert an END statement in order to get proper program termination. FOR/NEXT All FOR/NEXT loops must be statically nested with only 1 NEXT statement for each FOR statement. ON ERROR GOTO/RESUME If a program contains ON ERROR GOTO and RESUME statements, the /E compilation switch must be used. If the RESUME NEXT, RESUME, or RESUME 0 form is used, the /X switch must also be included. REM REM statements or remarks starting with a single quotation mark do not make up time or space during execution, and so may be used as freely as desired. STOP The STOP statement is identical to the END statement. Open files are closed and control returns to the operating system. TRON/TROFF In order to use TRON/TROFF, the /D compilation switch must be used. Other- wise, TRON and TROFF are ignored and a warning message is generated. :NEW BASIC PROGRAMMING FEATURES The BASIC Compiler also adds new features that will add power and efficiency to your programming. Keep in mind when utilizing these new features that while they will compile with no problems, you cannot run a program using these features with your interpreter, since BASIC-80 doesn't recognize them. CALL Statement The CALL Statement allows you to call and transfer flow to an assembly language or FORTRAN subroutine. The format of the CALL Statement is: CALL [()] where and are supplied by you. is the name of the subroutine you wish to call. This name must be 1 to 6 characters long and must be recognized by LINK-80 as a global symbol. ( must be the name of the subroutine in a FORTRAN SUBROUTINE statement or a PUBLIC symbol in an assembly language routine.) is optional and contains the arguments that are passed to the assembly language or FORTRAN subroutine. Example: 120 CALL MYROUT (I,J,K) CHAIN (or RUN) The CHAIN and RUN statements both perform the same function: they allow you to load a file from diskette into memory and run it. CHAIN (or RUN) closes all open files and deletes the current contents of memory before loading the designated program. The format of the CHAIN (or RUN) statement is as follows: CHAIN OR RUN where is the name used when the file was saved. (With CP/M the default extension .BAS is supplied.) WHILE...WEND The WHILE...WEND statement is a conditional statement that executes a series of statements in a loop as long as a given condition is true. The format of WHILE...WEND is: WHILE - - - - WEND where and are supplied by you. As long as is true (i.e., not zero), loop statements are executed until the WEND statement is encountered. BASIC then returns to the WHILE statement and checks "expression". If it is still true, the process is repeated. If it is not true, execution resumes with the statement following the WEND statement. WHILE/WEND loops may be nested to any level, as long as they are statically nested. Each WEND will match the most recent WHILE. An unmatched WHILE statement causes a "WHILE without WEND" error, and an unmatched WEND state- ment causes a "WEND without WHILE" error. Example: 090 'BUBBLE SORT ARRAY A$ 100 FLIPS=1 'FORCE ONE PASS THRU LOOP 110 WHILE FLIPS 115 FLIPS=0 120 FOR I=1 TO J=1 130 IF A$(I)>A$(I+1) THEN SWAP A$(I),A$(I+1):FLIPS=1 140 NEXT I 150 WEND Double Precision Transendental Functions SIN, COS, TAN, SQR, LOG, and EXP now return double precision results if given double precision arguments. Exponentiation with double precision operands will return double precision results. Long Variable Names Variable names may be up to 40 characters long with all 40 characters significant. Letters, numbers, and the decimal characters are allowed in variable names, but the name must begin with a letter. Variable names may also include all BASIC-80 commands, statements, function names, and operator names. Expression Evaluation in the BASIC Compiler During program compilation, when the BASIC Compiler evaluates expressions, the operands of each operator are converted to the same type, that of the most precise operand. For example, QR=J%+A!+Q causes J% to be converted to single precision and added to A!. This result is coverted to single precision and added to Q. The Compiler is more limited than the interpreter in handling numeric overflow. For example, when run on the interpreter the following program I%=20000 J%=20000 K%=-30000 M%=I%+J%-K% yields 10000 for M%. That is, it adds I% to J% and, because the number is too large, it converts the result into a floating point number. K% is then converted to floating point nd subtracted. The result of 10000 is found, and is converted back to integer and saved as M%. The Compiler, however, must make type conversion decisions during compila- tion. It cannot defer until the actual values are known. Thus, the compiler would generate code to perform the entire operation in integer mode. If the /D switch were set, the error would be detected. otherwise, an incorrect answer would be produced. In order to produce optimum efficiency in the compiled program, the compiler may perform any number of valid algebraic transformations before generating the code. For axample, the program I%=20000 J%=-18000 K%=20000 M%=I%+J%+K% could produce an incorrect result when run. If the compiler actually per- forms the arithmetic in the order shown, no overflow occurs. However, if the compiler performs I%+K% first and then adds J%, an overflow will occur. The Compiler follows the rules of operator precedence and parenthetic modification of such precedence, but no other guarantee of evaluation order can be made. Using Integer Variables To Optimize Speed In order to produce the fastest and most compact object code possible, make use of integer variables. For example, this program FOR I=1 TO 10 A(I)=0 NEXT I can execute approximately 30 times faster by simply substituting "I%" for "I". It is especially advantageous to use integer variables to compute array subscripts. The generated code is significantly faster and more compact. Maximum Line Length The Compiler cannot accept a physical line that is more than 253 characters in length. A logical statement, however, may contain as many physical lines as desired. Use line feed to start a new physical line within a logical statement. ::BASCOM2.HQP  a random file. 51 Internal error An internal malfuncdvantageous to use integer variables to compute array subscripts. The generated code is significantly faster and more compact. Maximum Line Length The Compiler cannot accept a physical line that is more than 253 characters in length. A logical statement, however, may contain as many physical lines as desired. Use line feed to start a new physical line within  ZDKCOM, Version 1.3 - key file compiler for ZDE :] (/· Syntax: ZDKCOM ufn.ZDT - convert text file to key file ZDKCOM ufn.ZDK - convert key file to text file s> !6T!36K!e~Z#~D#~TK!6K!36T!]!]) Converting ͟ to )͟... LF(/ og:K2 >ͩ>Pͩ2ͩ͆ ̆n(+q(!͆ (=/(H^(0(E (ͩʹʹ͆^/̆ƀé͆@*+:=w2͆  x  Done. ; compile a Basic program with BASCOM BASCOM =$1 L80 $1,BASLIB/S,$1/N/E ; clean up by erasing $1.REL ERA $1.REL $1 BASCOM HLPu01BASCOM SUBSTARTREKBAS#234TREKINSTBAS85XYBASIC COM678FORMAL FORK:;<=KILL FOR>LIST FOR?E HELP FROM HIS FRIENDS . . . 120 REM *** COMMENTS, EPHITETS, AND SUGGESTIONS SOLICITED -- 130 REM *** SEND TO: R.C. LEEDOM 140 REM *** WESTINGHOSE DEFENSE & ELECTRONICS SYSTEMS CNIR 150 REM *** BOX 746, M.S. 338 160 REM *** BALTIMORE, MD 21203 170 REM *** 180 REM *** CONVERTED TO MICROSOFT 8 K BASIC 3/16/78 BY JOHN BORDERS 190 REM *** LINE NUMBERS FROM VERSION TREK7 OF 1/12/75 PRESERVED AS 200 REM *** MUCH AS POSSIBLE WHILE USING MULTIPLE STATEMENTS PER LINE 201 REM 202 REM *** MODIFIED FOR ANSI TERMINAL, NOVEMBER 2014 BY UDO MUNK 205 CLEAR 600 206 CLS$=CHR$(27)+"[H"+CHR$(27)+"[2J" 207 BON$=CHR$(27)+"[1m":BOF$=CHR$(27)+"[0m" 208 CUP$=CHR$(27)+"[F" 209 WIDTH 80 210 PRINT CLS$ 220 FOR XX=1 TO 6:PRINT:NEXT:PRINT TAB(20);"THE USS ENTERPRISE --- NCC-1701":PRINT:PRINT:FOR YY=1 TO 40 STEP 1 221 PRINT TAB(YY);" ,------*------," 222 PRINT TAB(YY);" ,------------- '--- ------'" 223 PRINT TAB(YY);" '-------- --' / /" 224 PRINT TAB(YY);" ,---' '-------/ /--," 225 PRINT TAB(YY);" '----------------'" 226 PRINT:FOR ZZ=1 TO 7:PRINT CUP$;:NEXT ZZ:PRINT:NEXT YY 227 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 270 Z$=" " 330 DIM G(8,8),C(9,2),K(3,3),N(3),Z(8,8),D(8) 370 T=INT(RND(1)*20+20)*100:T0=T:T9=25+INT(RND(1)*10):D0=0:E=3000:E0=E 440 P=10:P0=P:S9=200:S=0:B9=0:K9=0:X$="":X0$=" IS " 470 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2) 475 DEF FNR(R)=INT(RND(R)*7.98+1.01) 490 Q1=FNR(1):Q2=FNR(1):S1=FNR(1):S2=FNR(1) 530 FOR I=1 TO 9:C(I,1)=0:C(I,2)=0:NEXT I 540 C(3,1)=-1:C(2,1)=-1:C(4,1)=-1:C(4,2)=-1:C(5,2)=-1:C(6,2)=-1 600 C(1,2)=1:C(2,2)=1:C(6,1)=1:C(7,1)=1:C(8,1)=1:C(8,2)=1:C(9,2)=1 670 FOR I=1 TO 8:D(I)=0:NEXT I 710 A1$="NAVSRSLRSPHATORSHEDAMCOMXXX" 820 FOR I=1 TO 8:FOR J=1 TO 8:K3=0:Z(I,J)=0:R1=RND(1) 850 IF R1>.98 THEN K3=3:K9=K9+3:GOTO 980 860 IF R1>.95 THEN K3=2:K9=K9+2:GOTO 980 870 IF R1>.8 THEN K3=1:K9=K9+1 980 B3=0:IF RND(1)>.96 THEN B3=1:B9=B9+1 1040 G(I,J)=K3*100+B3*10+FNR(1):NEXT J:NEXT I:IF K9>T9 THEN T9=K9+1 1100 IF B9<>0 THEN 1200 1150 IF G(Q1,Q2)<200 THEN G(Q1,Q2)=G(Q1,Q2)+100:K9=K9+1 1160 B9=1:G(Q1,Q2)=G(Q1,Q2)+10:Q1=FNR(1):Q2=FNR(1) 1200 K7=K9:IF B9<>1 THEN X$="S":X0$=" ARE " 1230 PRINT"YOUR ORDERS ARE AS FOLLOWS:" 1235 PRINT "--------------------------" 1240 PRINT" DESTROY THE";K9;"KLINGON WARSHIPS WHICH HAVE INVADED" 1250 PRINT" THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS" 1260 PRINT" ON STARDATE";T0+T9;CHR$(8);". THIS GIVES YOU";T9;"DAYS. THERE";X0$ 1270 PRINT" ";B9;"STARBASE";X$;" IN THE GALAXY FOR RESUPPLYING YOUR SHIP." 1280 PRINT:PRINT "ARE YOU READY TO ACCEPT COMMAND ('N' FOR INSTRUCTIONS)"; 1300 INPUT I5$:IF LEFT$(I5$,1)="N" OR LEFT$(I5$,1)="n" THEN RUN "TREKINST" ELSE IF LEFT$(I5$,1)="Y" OR LEFT$(I5$,1)="y" THEN 1310 ELSE 1280 1310 PRINT CLS$ 1320 Z4=Q1:Z5=Q2:K3=0:B3=0:S3=0:G5=0:D4=.5*RND(1):Z(Q1,Q2)=G(Q1,Q2) 1390 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>8 THEN 1600 1430 GOSUB 9030:PRINT:IF T0<>T THEN 1490 1460 PRINT"YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED" 1470 PRINT"IN THE GALACTIC QUADRANT, '";G2$;"'.":GOTO 1500 1490 PRINT"NOW ENTERING ";G2$;" QUADRANT . . ." 1500 PRINT:K3=INT(G(Q1,Q2)*.01):B3=INT(G(Q1,Q2)*.1)-10*K3 1540 S3=G(Q1,Q2)-100*K3-10*B3:IF K3=0 THEN 1590 1560 PRINT TAB(3);BON$;" COMBAT AREA CONDITION RED ";BOF$:IF S>200 THEN PRINT:GOTO 1590 1580 PRINT TAB(3);BON$;" SHIELDS DANGEROUSLY LOW ";BOF$:PRINT 1590 FOR I=1 TO 3:K(I,1)=0:K(I,2)=0:NEXT I 1600 FOR I=1 TO 3:K(I,3)=0:NEXT I:Q$=Z$+Z$+Z$+Z$+Z$+Z$+Z$+LEFT$(Z$,17) 1680 A$="":Z1=S1:Z2=S2:GOSUB 8670:IF K3<1 THEN 1820 1720 FOR I=1 TO K3:GOSUB 8590:A$="+K+":Z1=R1:Z2=R2 1780 GOSUB 8670:K(I,1)=R1:K(I,2)=R2:K(I,3)=S9*(.5+RND(1)):NEXT I 1820 IF B3<1 THEN 1910 1880 GOSUB 8590:A$=">B<":Z1=R1:B4=R1:Z2=R2:B5=R2:GOSUB 8670 1910 FOR I=1 TO S3:GOSUB 8590:A$=" * ":Z1=R1:Z2=R2:GOSUB 8670:NEXT I 1980 GOSUB 6430 1990 IF S+E>10 THEN IF E>10 OR D(7)=0 THEN 2060 2020 PRINT:PRINT TAB(10);BON$;"** FATAL ERROR **";BOF$:PRINT"YOU'VE JUST STRANDED YOUR SHIP IN SPACE." 2030 PRINT"YOU HAVE INSUFFICIENT MANEUVERING ENERGY," 2040 PRINT"AND SHIELD CONTROL IS PRESENTLY INCAPABLE OF" 2050 PRINT"CROSS-CIRCUITING TO ENGINE ROOM!!":PRINT:GOTO 6220 2060 PRINT:INPUT"COMMAND";A$:PRINT 2080 FOR I=1 TO 9:IF LEFT$(A$,3)<>MID$(A1$,3*I-2,3)THEN 2160 2140 ON I GOTO 2300,1980,4000,4260,4700,5530,5690,7290,6270 2160 NEXT I:PRINT"ENTER ONE OF THE FOLLOWING:" 2170 PRINT "--------------------------" 2180 PRINT" NAV (TO SET COURSE)" 2190 PRINT" SRS (FOR SHORT RANGE SENSOR SCAN)" 2200 PRINT" LRS (FOR LONG RANGE SENSOR SCAN)" 2210 PRINT" PHA (TO FIRE PHASERS)" 2220 PRINT" TOR (TO FIRE PHOTON TORPEDOES)" 2230 PRINT" SHE (TO RAISE OR LOWER SHIELDS)" 2240 PRINT" DAM (FOR DAMAGE CONTROL REPORTS)" 2250 PRINT" COM (TO CALL ON LIBRARY-COMPUTER)" 2260 PRINT" XXX (TO RESIGN YOUR COMMAND)":PRINT:GOTO 1990 2300 INPUT"COURSE (0-9)";C1:IF C1=9 THEN C1=1 2310 IF C1>=1 AND C1<9 THEN 2350 2330 PRINT" LT. SULU: 'INCORRECT COURSE DATA, SIR!'":GOTO 1990 2350 X$="8":IF D(1)<0 THEN X$="0.2" 2360 PRINT"WARP FACTOR (0-";X$;")";:INPUT W1:PRINT:IF D(1)<0 AND W1>.2 THEN 2470 2380 IF W1>0 AND W1<=8 THEN 2490 2390 IF W1=0 THEN 1990 2420 PRINT" CHIEF ENGINEER SCOTT: 'THE ENGINES WON'T TAKE"; 2430 PRINT" WARP";W1;CHR$(8);"!'":GOTO 1990 2470 PRINT"WARP ENGINES ARE DAMAGED. MAXIUM SPEED = WARP 0.2":GOTO 1990 2490 N=INT(W1*8+.5):IF E-N>=0 THEN 2590 2500 PRINT"ENGINEERING: 'INSUFFICIENT ENERGY AVAILABLE" 2510 PRINT" FOR MANEUVERING AT WARP";W1;CHR$(8);"!'" 2530 IF S=1 THEN D6=1 2770 FOR I=1 TO 8:IF D(I)>=0 THEN 2880 2790 D(I)=D(I)+D6:IF D(I)>-.1 AND D(I)<0 THEN D(I)=-.1:GOTO 2880 2800 IF D(I)<0 THEN 2880 2810 IF D1<>1 THEN D1=1:PRINT"DAMAGE CONTROL REPORT: "; 2840 PRINT TAB(8);:R1=I:GOSUB 8790:PRINT G2$;" REPAIR COMPLETED." 2880 NEXT I:IF RND(1)>.2 THEN 3070 2910 R1=FNR(1):IF RND(1)>=.6 THEN 3000 2930 D(R1)=D(R1)-(RND(1)*5+1):PRINT"DAMAGE CONTROL REPORT: "; 2960 GOSUB 8790:PRINT G2$;" DAMAGED":PRINT:GOTO 3070 3000 D(R1)=D(R1)+RND(1)*3+1:PRINT"DAMAGE CONTROL REPORT: "; 3030 GOSUB 8790:PRINT G2$;" STATE OF REPAIR IMPROVED":PRINT 3070 A$=" ":Z1=INT(S1):Z2=INT(S2):GOSUB 8670 3110 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)):X=S1:Y=S2 3140 X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)):Q4=Q1:Q5=Q2 3170 FOR I=1 TO N:S1=S1+X1:S2=S2+X2:IF S1<1 OR S1>=9 OR S2<1 OR S2>=9 THEN 3500 3240 S8=INT(S1)*24+INT(S2)*3-26:IF MID$(Q$,S8,2)=" "THEN 3360 3320 S1=INT(S1-X1):S2=INT(S2-X2):PRINT"WARP ENGINES SHUT DOWN AT "; 3350 PRINT"SECTOR";S1;CHR$(8);",";S2;"DUE TO BAD NAVAGATION":GOTO 3370 3360 NEXT I:S1=INT(S1):S2=INT(S2) 3370 A$="":Z1=INT(S1):Z2=INT(S2):GOSUB 8670:GOSUB 3910:T8=1 3430 IF W1<1 THEN T8=.1*INT(10*W1) 3450 T=T+T8:IF T>T0+T9 THEN 6220 3480 GOTO 1980 3500 X=8*Q1+X+N*X1:Y=8*Q2+Y+N*X2:Q1=INT(X/8):Q2=INT(Y/8):S1=INT(X-Q1*8) 3550 S2=INT(Y-Q2*8):IF S1=0 THEN Q1=Q1-1:S1=8 3590 IF S2=0 THEN Q2=Q2-1:S2=8 3620 X5=0:IF Q1<1 THEN X5=1:Q1=1:S1=1 3670 IF Q1>8 THEN X5=1:Q1=8:S1=8 3710 IF Q2<1 THEN X5=1:Q2=1:S2=1 3750 IF Q2>8 THEN X5=1:Q2=8:S2=8 3790 IF X5=0 THEN 3860 3800 PRINT"LT. UHURA: MCompiling a program Compilation switches Compile-time error messages The LINK-80 linking loader LINK-80 error messages Storing your program on disk Running your compiled program Runtime error messages Using M80 :COMPILING A PROGRAM Is your BASIC program now saved in ASCII format on your diskette? (To save your program in ASCII format when using the interpreter, add an "A" switch to the "SAVE" command, as shown in SAMPLE SESSION, Step 3: SAVE "[.]",A Return to CP/M command level and enter: BASCOM BASIC will return the prompt: "*", informing you that the BASIC Compiler is loaded and ready to accept a command. Now enter the command of the form: objfile,lstfile=source file where objfile is the relocatable object file, lstfile is the listing file, and source file is the BASIC source program file. A command to BASIC conveys the name of the source file to be compiled, and the names of the file(s) to be created. With CP/M filenames are up to eight characters long with a three-character extension. The default filename extensions supplied to CP/M are: REL Relocatable object file LST Listing file BAS BASIC source file MAC MACRO-80 source file FOR FORTRAN-80 source file COB COBOL-80 source file COM Executable command file If you have a multi-drive system, you can tell the compiler where to obtain or put the files you are working with by adding a drive number to each filename. For example: A:MYPROG.REL=B:TEST finds the program TEST.BAS on the diskette that is in drive B, compiles it, and puts the object in MYPROG.REL (on the diskette that is in drive A). If a drive is NOT specified, the object and listing files are placed on the diskette that is in the default drive. Either the object file or the listing file or both may be omitted. An object file is created only if the lstfile field is filled. Therefore, if you wish to omit either, simply leave its filename out of the command. Examples: TESTOBJ=TEST.BAS Compile the program TEST.BAS and put object in TESTOBJ.REL without producing listing file. TEST,TEST=TEST Compile TEST.BAS, put object in TEST.REL and listing in TEST.LST. ,=TEST.BAS Compile TEST.BAS but produce no object or listing file. Useful for checking for errors. RABBIT=TEST Compile the program TEST.BAS and put object in RABBIT.REL without producing listing file. :BASIC COMPILATION SWITCHES You can specify special parameters to be used during compilation by adding a switch to the end of the command string. Switches are always preceded by a slash, and more than one switch may be used in the same command. An example of the format would be: TEST,TEST=TEST/D/X The default switch settings used if you don't specify any switches are: /Z/4/T The available switches and their actions are as follows: SWITCH ACTION /E The /E switch tells the compiler that the program contains the ON ERROR GOTO statement. If a RESUME statement other than RESUME is used with the ON ERROR GOTO statement, use /X instead (see below). To handle ON ERROR GOTO properly, in a compiled environment, BASIC must generate some extra code for the GOSUB and RETURN statements. Therefore, do not use this switch unless your program contains the ON ERROR GOTO statement. The /E switch also causes line numbers to be included in the binary file, so runtime error messages will include the number of the line in error. SWITCH ACTION /X The /X switch tells the BASIC Compiler that the program contains one or more RESUME, RESUME NEXT, or RESUME 0 statements. The /E switch is assumed when the /X switch is specified. To handle RESUME statements properly in a compiled environment, the compiler must relinquish certain optimizations. Therefore, do not use this switch unless your program contains RESUME statements other than RESUME . The /X switch also causes line numbers to be included in the binary file, so runtime error messages will include the number of the line in error. /N The /N switch prevents listing of the generated code in symbolic notation. If this switch is not set, the source listing produced by the compiler will contain the object code generated by each statement. SWITCH ACTION /D The /D switch causes debug/checking code to be generated at runtime. This switch must be set if you want to use TRON/TROFF. The BASIC Compiler generates somewhat larger and slower code in order to perform the following checks: 1. Arithmetic overflow. All arithmetic operations, integer and floating point, are checked for overflow and underflow. 2. Array bounds. All array references are checked to see if the subscripts are within the bounds specified in the DIM state- ment. 3. Line numbers are included in the generated binary so that runtime errors can indicate the statement which contains the error. 4. RETURN is checked for a prior GOSUB. /Z The /Z switch tells the compiler to use Z80 opcodes. SWITCH ACTION /S The /S switch forces the compiler to write long quoted strings (i.e. more than 4 characters) to the binary file as they are encountered. This allows large programs with many quoted strings to compile in less memory. However, there are two disadvantages: 1. Memory space is wasted if identical, long quoted strings appear in the program. 2. Code generated while the -S switch is set cannot be placed in ROM. SWITCH ACTION /4 The /4 switch allows the compiler to use the lexical conventions of Microsoft 4.51 Disk BASIC interpreter. That is, spaces are insignificant, variables with imbedded reserved words are illegal, variable names are restricted to two significant characters, etc. this feature is useful if you wish to compile a source program that was coded without spaces, and contains lines such as FORI=ATOBSTEPC Without the /4 switch, the compiler would assign the variable "ATOBSTEPC" to the variable FORI. With the /4 switch, it would recognize it as a FOR statement. SWITCH ACTION /C The /C switch tells the compiler to relax line numbering con- straints. Whene /C is specified, line numbers may be in any order, or they may be eliminated entirely. Lines are compiled normally, but of course cannot be targets for GOTO's, GOSUB's, etc. While /C is set, the underline character causes the remainder of the physical line to be ignored, and the next physical line is considered to be a continuation of the current logical line. NOTE: /C and /4 may not be used together. /T Use 4.51 execution conventions /O (Newer versions only). Tells the compiler to construct a stand- alone program instead of one requiring presence of the BRUN.COM runtime module. This generates much bigger programs because all of the runtime routines must be included. :BASIC COMPILER ERROR MESSAGES The following errors may occur while a program is compiling. The BASIC Compiler outputs the two-character code for the err, along with an arrow. The arrow indicates where in the line the error occurred. In those cases where the compiler has read ahead before it discovered an error, the arrow points a few characters beyond the error, or at the end of the line. The error codes are as follows: FATAL ERRORS CODE ERROR SN Syntax Error. Caused by one of the following: Illegal argument name Illegal assignment target Illegal constant format Illegal debug request Illegal DEFxxx character specification Illegal expression syntax Illegal function argument list Illegal function name CODE ERROR SN Syntax Error. Caused by one of the following: Illegal function formal parameter Illegal separator Illegal format for statement number Illegal subroutine syntax Invalid character Missing AS Missing equal sign Missing GOTO or GOSUB Missing comma Missing INPUT Missing line number Missing left parenthesis Missing minus sign Missing operand in expression Missing right parenthesis Missing semicolon Name too long Expected GOTO or GOSUB CODE ERROR SN Syntax Error. Caused by one of the following: String assignment required String expression required String variable required here Illegal syntax Variable required here Wrong number of arguments Formal parameters must be unique Single variable only allowed Missing TO Illegal FOR loop index variable Missin THEN Missing BASE Illegal subroutine name OM Out of memory Array too big Data memory overflow Too many statement numbers Program memory overflow CODE ERROR SQ Sequence Error Duplicate statement number Statement out of sequence TM Type Mismatch Data type conflict Variables must be of same type BS Bad Subscript Illegal dimension value Wrong number of subscripts LL Line Too Long UC Unrecognizable Command Statement unrecognizable Command not implemented OV Math Overflow /0 Division by Zero DD Array Already Dimensioned FN FOR/NEXT Error FOR loop index variable already in use FOR without NEXT NEXT without FOR CODE ERROR FD Function Already Defined UF Function Not Defined WE WHILE/WEND Error WHILE without WEND WEND without WHILE /E Missing "/E" Switch /X Missing "/X" Switch WARNING ERRORS ND Array Not Dimensioned SI Statement Ignored Statement ignored Unimplemented command If the BASIC Compiler informs you of any of these errors, return to the source program for debugging and try again. If no errors were encountered during compilation, and if you so chose, you now have an object file containing machine readable code on your diskette. Also on your diskette is a listing file which contains the BASIC program statements along with the machine language generated by each statement. The next step in the process is loading and executing the program with LINK-80. :LINK-80 LINKING LOADER As demonstrated in SAMPLE SESSION, compiled BASIC object files are loaded into memory and executed using the LINK-80 linking loader. The loader has many uses. You may wish to simply load one compiled program and run it, or you may load several programs, subprograms, or assembly language subroutines at the same time. Programs may be loaded at user-specified locations, and program areas and data areas may be separated in memory. A memory image of the executable file produced by LINK-80 can be saved on disk and run at a later time. RUNNING LINK-80 At CP/M command level, enter: L80 This loads LINK-80, which will respond with: * . The loader exits back to CP/M if a CONTROL-C is typed after the asterisk. (The loader also exits back to CP/M after an /E switch or /G switch is executed. More on these switches later.) LINK-80 COMMAND FORMAT A command to LINK-80 is made up of the filename(s) of the file(s) to be loaded. For example, to load the compiled program MYPROG.REL, enter: MYPROG (It is not necessary to type the default extension .REL.) This loads the program but does not run it. Whenever LINK-80 loads a BASIC Compiler program, it automatically searches the BASIC library for the necessary routines and loads these as well. Therefore, BASLIB.REL must be on the default drive during the loading process. To run MYPROG, enter: /G This is the "go" or execute switch. LINK-80 prints two numbers and a BEGIN EXECUTION message. LINK-80 always returns to TRSDOS after a /G switch has been executed. As you probably have guessed, it is not necessary to perform these operations with separate commands. It is possible to type one command line that runs LINK-80, loads MYPROG.REL and executes it. To do this, enter: L80 MYPROG/G MORE COMMANDS AND SWITCHES LINK-80 provides other capabilities besides loading and executing programs, such as looking at output without saving the program or resetting the loader so that you can correct a mistake. Switches are used to inform LINK-80 that you wish to perform special tasks. Here is an example that loads and saves a program called TEST.REL. >L80 *TEST,TEST/N/E The first part of the command (TEST) loads the program called TEST.REL. The next part (TEST/N) saves a copy of the loaded program on disk in a file called TEST.COM. The last part (/E) causes LINK-80 to exit back to CP/M. THE /N SWITCH Take note of the /N switch. This switch saves a memory image of the executable file on disk. The default extension for the saved file is .COM, and this file is called a "command file". Once saved on disk, you need only type the filename at CP/M command level to run the program. The /N switch must immediately follow the filename of each file you wish to save, and it does not take effect until a /E or /G switch is done. The following example links several object files, saves the main program image and executes the program TAXES.REL. >L80 *SUB1,SUB2,TAXES/N,TAXES/G Two subroutines (SUB1) and (SUB2) and an object file (TAXES) are linked and loaded. The program is executed and the command file TAXES.COM is saved on disk. THE /R SWITCH Another handy switch is /R. It returns LINK-80 to it's initial state by "unloading" whatever you've loaded. Use it to reset the loader if you've made a typing mistake or loaded the wrong program. The /R switch takes effect as soon as LINK-80 sees it, so if you enter it at any time while LINK-80 is running, the loader will reset. For example: >L80 *INVEN1 */R (oops-- meant to load INVEN2) *INVEN2 (now only INVEN2 is loaded) SPECIAL SWITCHES For typical BASIC Compiler operation, only the above switches will be needed. Some users may find that their applications require more specialized capabilities. For this reason, the following switches are also provided with LINK-80. In these examples, all programs have been loaded at the default origins of CP/M. In special cases, the user may wish to specify the origins of the programs and data that are loaded. LINK-80 provides special switches to do this. /E:Name This is an optional form of the /E switch. Name is a global symbol previously defined in one of the modules. LINK-80 uses Name for the start address of the program. /G:Name This is an optional form of the /G switch. Name is a global symbol previously defined in one of the modules. LINK-80 uses Name for the start address of the program. /P and /D /P and /D allow the origin(s) to be set for the next program loaded. /P and /D take effect when seen (not deferred), and they have no effect on programs already loaded. The form is /P:

or /D:
, where
is the desired origin in the current typeout radix. (Default radix is hexadecimal. /O sets radix to octal; /H to hex.) LINK-80 does a default /P: (i.e., 100h). If no /D is given, data areas are loaded before program areas for each module. If a /D is given, All Data and Common areas are loaded starting at the data origin and the program area at the program origin. Example: */P:200,FOO DATA 200 300 */R */P:200-D:400,FOO DATA 400 480 PROGRAM 200 280 /U List the origin and end of the program and data area and all undefined globals as soon as the current command line has been interpreted. The program information is only printed if a /D has been done. Otherwise, the program is stored in the data area. /M List the origin and end of the program and data area, all undefined globals and their values, and all undefined globals followed by an asterisk. The program information is only printed if a /D has been done. Otherwise, the program is stored in the data area. /X If a filename/N was specified, /X will cause the file to be saved in INTEL ascii HEX format with an extension of .HEX. /Y If a filename/N was specified, /Y will create a filename.SYM file when /E is entered. This file contains the names and addresses of all Globals for use with Digital Research's SID and ZSID debuggers. SYSTEM LIBRARY SEARCHES Whenever a BASIC Compiler program is loaded, LINK-80 automatically searches the BASIC Compiler library for the routines it needs and loads them. If you gat an "Undefined" error, it means the compiler couldn't find something it needed to finish compiling the program. Usually this is the name of a subroutine that you forgot to load. If you are using the BASIC Compiler in conjunction with Microsoft's FORTRAN-80, you may also be referencing some of FORTRAN's library routines. For this reason, the /S switch is included in LINK-80 to force a search of particular library modules. For example: *FORLIB/S,TEST/G Unless you are using FORLIB (supplied with FORTRAN-80), you should not need the /S switch. :LINK-80 ERROR MESSAGES LINK-80 has the following error messages: ?No Start Address A /G switch was issued, but no main program had been loaded. ?Loading Error The last file given for input was not a properly formatted LINK-80 object file. ?Out of Memory Not enough memory to load program. ?Command Error Unrecognizable LINK-80 command. ? Not Found , as given in the command string, did not exist. %2nd COMMON larger The first definition of COMMON block /XXXXXX/ was not the largest definition. Reorder module loading sequence or change COMMON block definitions. %Mult. Def. Global YYYYYY More than one definition for the global (internal) symbol YYYYYY was encountered during the loading process. %Overlaying Program Area ,Start = xxxx Data ,Public = (xxxx) ,External = (xxxx) A /D or /P will cause already loaded data to be destroyed. ?Intersecting Program Area Data The program and data area intersect and an address or external chain entry is in this intersection. The final value cannot be converted to a current value since it is in the area intersection. ?Start Symbol - - Undefined After a /E: or /G: is given, the symbol specified was not defined. Origin Above (Below) Loader Memory, Move Anyway (Y or N)? After a /E or /G was given, either the data or program area has an origin or top which lies outside loader memory (i.e., loader origin to top of memory). If a Y CR is given, LINK-80 will move the area and continue. If anything else is given, LINK-80 will exit. In either case, if a /N was given, the image will already have been saved. ?Can't save Object File A disk error occurred when the file was being saved. :STORING YOUR PROGRAM ON DISKETTE Once it has been loaded by LINK-80, the object file is in a form that can be executed by any CP/M computer. You can save this compiled program on your own diskette so that it can be executed at a later time without using the BASIC Compiler at all. The /N switch (discussed in the LINK-80 section) is the switch that causes your object file to be saved. The default extension for the saved file is .COM and this file is called a "command file". :RUNNING YOUR COMPILED PROGRAM Your compiled program (previously saved on your own diskette) can now be executed any time you wish. When you are at CP/M command level the diskette on which you saved your program is inserted into a drive, simply enter: At this point, your program should execute and your output should appear on the screen. However, you may get a runtime error message. If you do, look it up in the following list, and debug your program as best you can before trying to store it on diskette again. :RUNTIME ERROR MESSAGES The following errors may occur while a compiled program is executing. The error numbers match those issued by the BASIC-80 interpreter. The compiler runtime system prints long error messages followed by an address, unless /D, /E, or /X is specified. In those cases the error message is followed by the number of the line in which the error occurred. NUMBER MESSAGE 2 Syntax error A line is encountered that contains an incorrect sequence of characters in a DATA statement. 3 RETURN without GOSUB A RETURN statement is encountered for which there is no previous, unmatched GOSUB ststement. 4 Out of Data A READ statement is executed when there are no DATA statements with unread data remaining in the A(*/?|N#FGOeI1eI~/w/w?kSeE: '7>25?*"52@"@G25?xͨ *@#:@ 3ͬ#DM*@ͺ>:6?>=ͦ+xy0!?4y0p+q͇`i~:"?#N#F#N!?5:7#Ϳ>Õ V+^++r+s#^#VxqB{/_z/W?Ʌo$?ɕ/o#%xyz{x$x*~@*A"~@"A/?:@f?^#Vԏ0??ʪ:{'u1 ʞ̜> { ~ "A{qʹ! һ?{ {ï!A"|@~**|@#!A~####~# ' 2~@"A   >g*?>*s*?DM*?N~* ADM͏x¥͸>###6͸>"Aw/< *A#ͺ>+"A*ADM"A w +{µzµ͸>"Aw:~@*A  ~# ~ !:# 7!@zw#{w#z{7w > E*"SeM "@N# ͬCx=ɯ29?2:?͙ A͓ Q ڛ$ʈ͙ Y ژ$5z/WzW`SAVINGTx5y*A!ADM!ͺ>*eD\:8?>28?!A.28?`LOADINGTV͉͡.yʅ*@A*һͮ j:8?O!>28?8;+=ڒ(>ÒeF.'>~G/Æ2ͯ>!@"A6 *?q#"?|!"?*?|!~#"?• 1]@y28?x?ͮ6 ???????????XYBBAS͘]Ͷ ځA zH ځR- LyŒP!e)#+6ͬ!] >?5# ¢+!\)#2|t ͻ5y    :@55w #w# <!])##5*,.6` 86?#,!e1a@V OK 2~?2A2?ͯ>8;+=ھ(>U*@"@> 1a@ ?\::?*A"@~# ʇ"A:ʴ'u1 5~B#"/?##~#"A:4?2A^s*A~# "A.ֈ575!7O ~#fo!^I*/?>':^#VzQDM #~#~^H#~#fo"~@8!4?~6MG͌ 324?8>2r+sô:A>[ͦ*/?>]ͦ͞0>2AÕ !:?ҜOT]#~##ʖ7~Â>5(~w>K,#!s"/?-ypHGR HR *A~# @ 8 ڙ "ApK  (- ͨ *@~W~<_ "@8 - N yN *@ zʌ pp x )5z@c ! p `ʔ 5:~++"@*@~5+7Ò *@#w#¹ :|@Ë ͯ3q#s#r:q#p( "A" ڙ  *"ڙ  *@##ͯ3>DM*@#w#͸> x|Ù ~++"@ zH x2)C,H >@>Pxʇ ʹ!+>'5:a@Oʅ BKN N#FN R b ~#fo"A*@y *A*@!"@"A#~##ʹ!:O"#:a@ 3#ͬͺ> ,- ÷ 4 ? 9|"@"A # #bʖ ; C5~% x5++~+"@! 06/65~" #DM++~à ++~DM+"@&o))7~ʣ BK! PY#~! #~#fo! #2|@~ !|@~s t :@G ~ x :~:p#N#F/͋ ~:p#Ϳͮr!q#p~kT> 3 GֿA?G!s7NyR H*@*@#*i q"@*A/kO5ڊ > { 5 5͌ CsE2vp2v@xS3@T1@WVF'1@CBHAs#EApyc'@xS4@pqx@PA#XP@i1GA1AY&T@ABV A$!5bA1b'v`@33333A AbSx02 c$@ui "U @Aq8U?5A0%u?CD 2Y;5$a@xS4tU>$9Ep6Wb:13C!`b0yC2&bC'9BC!`b0yC9FC"P0B8PQBB(C3XY3P%$%U SQS(YA"D@AyY7@SCQAFrsxP8@V@%XgAR&`1c$E2d(V$ H@c'h!?~?ʿ2?>2?~2?!?w#O!?"?ң ڣ':?2?#?bky*?#*?yO "?!?w!?G O +͋+p :?2? *? +'w+ ,~'w+7!?~w!?~2?~wK<k#~+! ͎!?ø! ͎ښ! ?j͆ø! ?!M ^͈! ͟!?_|T! ͱv!?Ϳ! ͩ!?!?_[!?:?w! Ϳ͈!?! !?͟#:?*/ ͈Ϳ͎͂ͮvͼ:? z•!?Y:?͈ͼ!?_!?Ϳ͆ !?~w?7ß# ¡7ɯ2?AK! ͎͈! Ϳ! !?͆͟! ͎͆! ^! ͎͆! ^!?~w! ͎7͆! ^KT! ͩ!?!?:?w! T!k ͩ.! Â͈È#~ʕA2?!?p#!??~p# ‹ !??­# Ÿ!??7>'w+ ¶4×!?~!?5!? j×j +~G+~#w p! ͎ҥ2?2?!?ʼ-2?w! ͂! ^ͮ͆[! NT! o!?Ϳ!?_!?! ^|!?͟v!?Ϳ!?^!?_TTͼ y@2?!?e! ÿ! ͎!! ͎'!?~Ϳy Q!?  DM:?DMO>G/)]T))_* 7 !?2?(KWW2?O>Gxiyl!?6FÇGyOW!?+W"A͑*A!? G_2?2?Ͱ50@Ͱ^2 0_Ͱ^y]{__@:?tx@{x@2?!?#~Ž Ã?Ң!?j!?:|@怶2?*A~#"A0:?ɯ_WG!?@ O #>O~~w~6# O!M ͎!?~6@@2?#~P>+!?͋^ %!?q͈! ^͂!?Ϳ! ͟!?_͂T! ͥ! ^!?͈:?O/! ͂:?O/! ^! ͆[!?^w!M ?~# ~?2??6 !?͋+!~'+ /!? !?/Ç?+?cGY+!xF 6~w#~+w# j+w!?~— #Ìʥ+Ϳ!?~´ j!?~w!@!?~6 #602?~2?6!? :?-p#:?@_G %6. #%60 #<!?#~͉~͉++ ~.T0E# {^ ڇ6E# l6-# ڃ  s_z0w# {0w 0w #6. #qO! Ϳ!?:?wü^!? ±^!?~!?4!?!?:?2?~P'+7!?~9 #~@! ͟í!?~w@2?6@͈#~%n!ͩSSJ! !?:?w͂!?Ϳ!?_!?^! !%7!?Ë!?Ë!?Ë!? ?w+ ”#~?ʯiͿÆ:?O7>'w+ º*?:?O7>'w+ !?~w!?~‡# ɯ2?!?~2?~wK! ͎ͮ͆[y2!?~w@͆!M ^<J2?! NT!# ͥ!G ^!?:?j^|v!?Ϳ^!?^|o!?Ϳ^!?!?^v!?Ϳ!?_!?w# G?33ɮ2?~6!?y2#?"?{)=z7x2|@͆z $ԏx7y!S~!`)~!Jx`i͌>))܍} ҃=o)# ĵͻ®ڦͻAͻͻ# ͏0V57͟:?*?DM! Ñ*?> qFeF͏ڍ5͘>^_>͏4͔>͟_>͏Mͦ>_>͹f͉>͆_>͹͆>A_>x͏ BK zx DM 7*9DM):|@Ç&r!dî`&|2|@dî      xGyO xGyOxGyOBAK!?͋ͮ>!?ͿͿM:?M!M ͟>x/!^^EeS`Hɯ҅!0))))o tDM>!͛A͛DMxͤx T])))_:~?OG2~?$ >yĿ6>: O:-? ͹xx O $ ,+44*@*@ DM{PYBK!{_xUGyOPxGo!M *{?>dDe.s:>G"{?DM/! ͟!^_*-?}> O*-? µ.  "-?*?|&:8?H?:7??Õ -,},|.> ͦ> æ:}?Gͦ :8??;;?• ;:7?/27?>Õ  ?Õ N;|p2~?p:8?/28?x͉>-Ö͡Õ *-?|ʶy?ҳʶ ͦ÷`i@ŷ}yO"|@*|@Pz0*A*/? =͔##> Ĥ*~# C*!@)U'Ҧ~ͦ~#Iɯ28?!"?I7uu*?V I` ERROR:ʢ`i"1?:3?ʾھg"?X?+^*A*?*?> 7-*A~# "A+"À #"A,  ??7:5?- :6?zܦ 5)- - ?"M > ~ "M +0:?07? ?? ~"A#[ A[?#"A~0ʇ ڬ 0ʇ ڬ ~7_#~0 bkͭҰ ð "AxW_͘ zeU~#2|@[ Ҁ!.ʩ!"A"%!QY#H!&1! !+ !- :|@/2|@~# M }O>0c! )~!2!#2!b c! |~!))))oI!"Ay xBKqO>͘ ~ʩ!.ʩ!Eʩ!eʩ!z!:|@ BK>+ͅ2|@>G!!@~2a@x@w !_z!{!%!!"$" z>"A#2a@>!>!ʹ!O':a@ͬ### ~'6 ":5?"~O#:a@ͬC( ^#V#͋"99-z",M"|=|") :5?"@ 9"͌ x"0BKqBӯ25?͒">25?:6?ÔeB*"N#F7*4?26? #Ybk#I~!!@ ##|ͦ&$&!&%##@w#)#<('OͲ#:?V#Z*@ R$,R$ O$ ʁ$͚&R$4)$t$!@†$>e $͚& }$ 4͚& 44g$5 R$> "~@8 ڪ$ʪ$8 ª$]$eFeF-' M5$$ʯ$@$ $͍& $t$%5 %*A8;"AT]> % # %>e-'0%,- ͙ 3%++q͙ y2.? '('('J'H Z%%&N%O,- ͘ʌ%~ʅ%\ V5%&h%*&~ʜ%Ï%q+O%U%I5#6͡q+6+6%w+w+w+6H\!ú>6++6H+6H_ͮ͡>&!> &,&%}րwͺ>:|=2|%eFeO, C0¯$!}?~6*-?`i"?+^+V"-?C0:-?w"-?2}?!"?ͬx('y2'ʯ$`i͚&͚&ʕ&4eE~<&6>&]~&~4!]q#ѷ!%6eD@ ͌ x('eB'J'('A'5'DM !?F*?Zɷh' ?!: m'!8y=s'7~#t'm'>ʋ' *@'*@*'"@6#z§'zʼ'6#r#s#w#&#eO~7T]~#ng:a@*@G''#@#ʗ '*@'$(( ( (!A~g3'(*AG*@c(/*@*c(*/?|(p?*qOx=(+z„((~S("/?"A*@~ȹ7×(# *@#ܺ>+/!A4!A555_͌ y>GO;x/!w! ) ) 5͔PY>> /)>*ͦͯ>8;+=?ԯ>5"/?(>W))ͯ>> 2@r!? )>### Ԍ x>ʆ)_; "~@¶)*"ڭ){_ Ғ) ¶)$- {_{w++! >~'s#r)*~@#s#r "5 )!g͌ ?'*'2#͌ xPY *A *?*'"A6$(*A"?"?"@!b@**A/*@~e]*c*]*ôo(/eC*ʹ!!>'Ҷ+( ک*> ~' "5 Җ*4 ò*9 >~'s#r> 5͹*5_ {*55 u+ Â+ 5>چ+^* *A#ͺ>+/ʹ!5!@&#'ڻ+eD(- o:a@g"@ͬ$͌ x9', +)- @!@)#h&)###y'=,*@|&'~'pH # #, ң+ !:?:9?P,2|@29?w:|@eEί2|@~F, +F+N$n,T,PY!{? ͺ>!9?~2|@5T, Ҙ,*1?>#N#F##͏!@͸>/TO> ,~#U',, ,1a@;+=ھ(>?~,~#,, > 2@: ,- c!9?~K,4!9?>)=(-#6Ͳ#>e3M5!+O-!M SS*@͗(y-~*@*V-xͦ(x5((*@> "@#ͷ.- #Ͷ> ڵ- #Ͷ>>S5(*@:@̿N#F!Q*@Ϳ/1v/eF->%9( 51>͌ - xu1 --'$28?" 0; "~@>?ͦͤ*@"A8;8M8a.25ڢ.l. ڢ.ʢ.e ړ.8 M.`EXCESS IGNORED ?ڢ.8 ڑ.`RED5.BM9 t l > 1BK~#^#V$+X.Ͳ#'*24?23?!Aw (Z2["A"@"@SS͔(/F+N*A"@ "#U/$d/*@"A~Gxͦ(/*@'$X/~2@:4?26?#{/YI:@ʤ/Ϳ^͇͋ö/N#F^#V͘r!͡Qo(+~+(>Sͦ( /eN͙ y2}?͌ /57 x0 0 /0> --0qO͙ y2&?͓ y%?͌ ͓ y-'/&C0"0y0Bu0,ʕ0;ʘ0005ͼ1ڶx0͆Þ> ͕Þ͞0?*-?}h0.~ 0|}ʽ0O00:-?00ڤ͌ :.?_x0yͤ 0T]M }Oö͡Þ͌ `i"{?*A"~@M8 O16125<1 i1e8 1*~@"A?i1vqOZ2"AO1"/?eS u1# Ҕ1>7>"? ͂1| "?͂1"?~~1 1 !A*1#N#F++~1$ *A"A*?>~2#s#r 2!A~D2###~<2++~$2͘> Z2>]2!A+"A1%͔(ځ2o(ʦ(@æ(eRͲ# '*[Z2-"A͌ *A"@!2 2"@´2 2qM! *@"A 2>gM#͡2>e?V BREAK AT LINE͔5(?>ͦ!2+:X|2,?DM<d "(? "*?724?723? m3>###6Bڃ3*@'$(v3 "5 ҃3cyOxʥ37*@"A!?~<3wr+seSy4y͏#͸>+"?#~*?"?43"?##s#r~O*?*? *ҕ +4 *ҕ eO*A#"?!"?*@ 5Y4PYͨ4<4"?"?<4*?|"?s#r?=N 5 $5*?r+s4*(5'5#5#N# ~# 5"%!E?T],*!E*!~D5yj5xl5 #V5 `i5͹ |}|>=x5y5Ҥ5qLy/G!?444*@#3 3O>H>!+͏ yH55Gx5AV5ʗ ##5o5o&̍5>!6!@D&M) )6Ɛ'@'G60g&6&6!@6 }O3`i)DM!6@>1D&63͹ y6 36 "~@8 8go| }……!|@^͵6yʅO͹y|@3w5Ow5 6>w56  =6|6BK DMo56>ɴ..<-/--=0.1b2h*+> N224-/)2$0203S3R3X3Y3e)^3-2,1u1*3.).2E*([+,1::8%~#$%#m&(!3/`vPPPPPPT ";] c::u&P' I66T66k666q66665mdehIF; LEIFONEXGOTGOSUPRININPUREARETURDEDIDATRESTORSTOENNULCALSCALOUPOKWAIUNTRACTRACUNTRATRABREAUNBREAENABLDISABLRANDOMIZREDELASAVLOALISCLEANERUCONAUTDELETEDIRENUOPECLOSLINPUMARGIDISCRATCASSIGTIMOFNOԫ<==> 2@?A!@UM;;x;}J;>/ͦ+~ͦq;}a;\;G>\ͦxw ʳ;-;;;;;;ʢ; J;}~̯;ͦ#J;>+ɯ2A!@"A@}1J;}J;>ͦ+J;6 ;>^ͦ@ͦ!@"A@S~ # <2A2~?!@< $==!<|< a<ʡ<ʴ<a<< < <=== væx>/ͦ+~<–\ͦz<~ T]#~ ©<2~?W~# <¼<*~=ͦá<~ ͡<<~#ͦ !@@͘ @=z5"/?~ W=#w2Azo=͏=!@}/2Ao=+"@"A>#:ʌ=ʊ='= =="=#= =?t=8=ҿ=:=ڿ=v=#W#~ Ⱥ=#~ =#~| = | ڏ=Gҏ==~ A>[>w>#=>y> =~7*/?>7>N "|@ *A#:AOڞ>x>*@*A DM$ԯ>'"A w +zn>:Aʘ>@*/?"1?)#6#_͸>*A/*|@ ͺ>+"Ax>!"/? w#zº>!A~>#N#F++$>>N >7> As: 1a@*" ?"?"?"?` XYBASIC CP/M DISK EDIT REV 2.14 !:I:] >HfBBWIDTH?KB>PfB|KB}2.?lE:] •BBEND OF MEMORY?iBʕB*iBØBC"?wZw"?%w"A.!2" ?!?":] B!e6X#6Y#6B͡!s_,͔` BYTES FREE BI8;͘ C7*? 7*+ 1a@*" ?"?"?"?` XYBASIC CP/M DISK EDIT REV 2.14 !:I:] >HfBBWIDTH?KB>PfB|KB}2.?lE:] •BBEND OF MEMORY?iBʕB*iBØBC"?wZw"?%w"A.!2" ?!?":] B!e6X#6Y#6B͡!s_,͔` BYTES FREE BI8;͘vTCJ30.WS  "#Y # ## $1r Xam2@e3# 8dq#9̇S 6D @c7pFD2Hf3qya;LD}&3 WHDy"a6&#e2Uh0d\Cal FHa.g4H &(,3&mVlVsh4l įFsY ȯwLz_MMuOD3K%c6B aZCGBdN96]/x!lLD9q]dFA'Hq M`uZaWiutTsVPfjD1)gtAS%0ejW}[_F5YQkFF*H1DN dqPF URrlYIN.@Z=SftRGFhHw#7OcQAs!55h0(e-\D6!0 C DISPLAY HELP LIST 1120 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,460) WRITE(5,40) WRITE(5,470) WRITE(5,40) WRITE(5,480) WRITE(5,490) WRITE(5,500) WRITE(5,510) WRITE(5,520) WRITE(5,530) WRITE(5,540) WRITE(5,40) WRITE(5,550) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP END 1130 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,560) WRITE(5,40) WRITE(5,570) WRITE(5,40) WRITE(5,580) WRITE(5,590) WRITE(5,600) WRITE(5,40) WRITE(5,610) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP FORMAL 1140 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,620) WRITE(5,40) WRITE(5,630) WRITE(5,40) WRITE(5,640) WRITE(5,650) WRITE(5,660) WRITE(5,670) WRITE(5,680) WRITE(5,690) WRITE(5,40) WRITE(5,700) WRITE(5,710) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP SERIES 1150 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,720) WRITE(5,40) WRITE(5,730) WRITE(5,40) WRITE(5,740) WRITE(5,750) WRITE(5,760) WRITE(5,770) WRITE(5,780) WRITE(5,790) WRITE(5,40) WRITE(5,800) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP SORT 1160 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,810) WRITE(5,40) WRITE(5,820) WRITE(5,40) WRITE(5,830) WRITE(5,840) WRITE(5,850) WRITE(5,860) WRITE(5,870) WRITE(5,40) WRITE(5,880) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP DIR 1170 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,890) WRITE(5,40) WRITE(5,900) WRITE(5,40) WRITE(5,910) WRITE(5,920) WRITE(5,930) WRITE(5,40) WRITE(5,940) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP REN 1180 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,950) WRITE(5,40) WRITE(5,960) WRITE(5,40) WRITE(5,970) WRITE(5,980) WRITE(5,990) WRITE(5,40) WRITE(5,1000) WRITE(5,40) WRITE(5,40) GO TO 1080 C DISPLAY HELP KILL 1190 CONTINUE WRITE(5,40) WRITE(5,40) WRITE(5,1010) WRITE(5,40) WRITE(5,1020) WRITE(5,40) WRITE(5,1030) WRITE(5,1040) WRITE(5,1050) WRITE(5,1060) WRITE(5,40) WRITE(5,1070) WRITE(5,40) WRITE(5,40) GO TO 1080 C LIST FILES 1200 CONTINUE L=LEN$(A$) I=I+4 K=L-I+1 IF(K.LT.1)GO TO 1230 CALL MID$(B$,A$,I,K) J=MATCH$(B$,'DEMO@',1) IF(J.GT.0)GO TO 1250 J=MATCH$(B$,'HELP@',1) IF(J.GT.0)GO TO 1250 J=MATCH$(B$,'END@',1) IF(J.GT.0)GO TO 1250 J=MATCH$(B$,'DIR@',1) IF(J.GT.0)GO TO 1250 J=MATCH$(B$,'REN@',1) IF(J.GT.0)GO TO 1250 J=MATCH$(B$,'KILL@',1) IF(J.GT.0)GO TO 1250 CALL MERGE$(A$,' #@') 1210 CONTINUE CALL CHAIN$(A$) WRITE(5,1220) 1220 FORMAT(1X,'*** LIST.COM NOT FOUND ***') GO TO 1080 1230 CONTINUE WRITE(5,1240) 1240 FORMAT(1X,'*** INVALID FILE NAME IN LIST PARAMETER ***') GO TO 1080 1250 CONTINUE CALL MAKE$(A$,'LIST DEMO.FOR #') GO TO 1210 C EXECUTE FORMAL 1260 CONTINUE L=LEN$(A$) I=I+4 K=L-I+1 IF(K.LT.1)GO TO 1310 K=MATCH$(A$,'.@',1) IF(K.GT.0)GO TO 1300 1270 CONTINUE CALL MERGE$(A$,'.FOR #@') 1280 CONTINUE CALL CHAIN$(A$) WRITE(5,1290) 1290 FORMAT(1X,'*** FORMAL.COM NOT FOUND ***') GO TO 1080 1300 CONTINUE K=K-1 CALL LEFT$(B$,A$,K) CALL MAKE$(A$,B$) GO TO 1270 1310 CONTINUE WRITE(5,1320) 1320 FORMAT(1X,'*** INVALID FILE NAME IN FORMAL PARAMETER ***') GO TO 1080 C EXECUTE SERIES 1330 CONTINUE CALL CHAIN$('SERIES.COM@') WRITE(5,1340) 1340 FORMAT(1X,'*** SERIES.COM NOT FOUND ***') GO TO 1080 C EXECUTE SORT 1350 CONTINUE L=LEN$(A$) I=I+4 K=L-I IF(K.LT.1)GO TO 1380 CALL MID$(B$,A$,I,K) CALL MERGE$(A$,' #@') 1360 CONTINUE CALL CHAIN$(A$) WRITE(5,1370) 1370 FORMAT(1X,'*** SORT.COM NOT FOUND ***') GO TO 1080 1380 CONTINUE WRITE(5,1390) 1390 FORMAT(1X,'*** INVALID FILE NAME IN SORT PARAMETER ***') GO TO 1080 C DISPLAY DIRECTORY 1400 CONTINUE WRITE(5,40) WRITE(5,1410) 1410 FORMAT(1X,'DIRECTORY') WRITE(5,40) CALL MAKE$(B$,'???????.???@') CALL IDIR$(B$) N=0 1420 CONTINUE CALL DIR$(B$,N) IF(N.LT.0)GO TO 1440 N=N*128 WRITE(5,1430)(B$(K),K=1,12),N 1430 FORMAT(1X,12A1,5X,'Bytes=',I6) GO TO 1420 1440 CONTINUE WRITE(5,40) GO TO 1080 C RENAME A FILE 1450 CONTINUE I=I+4 J=LEN$(A$) J=J-I+1 CALL RIGHT$(B$,A$,J) CALL SAVE(B$,I) IF(I.GT.0)GO TO 1460 CALL REN$(B$) GO TO 1080 C ABORT RENAME OR KILL 1460 CONTINUE WRITE(5,1470) 1470 FORMAT(1X,'*** ABORTED - PART OF The STRING/80 Bit DEMO ***') CALL PUT$(B$) WRITE(5,40) GO TO 1080 C KILL A FILE 1480 CONTINUE I=I+5 J=LEN$(A$) J=J-I+1 CALL RIGHT$(B$,A$,J) CALL SAVE(B$,I) IF(I.GT.0)GO TO 1460 CALL KILL$(B$) GO TO 1080 C END RPUTINE 1490 CONTINUE WRITE(5,1500) 1500 FORMAT(1X,'The STRING/80 Bit (tm) Demonstration has been') WRITE(5,1510) 1510 FORMAT(1X,'brought to you by Key Bits Inc., Miami, FL') WRITE(5,1520) 1520 FORMAT(1X,'We appreciate the opportunity to do so. Thank') WRITE(5,1530) 1530 FORMAT(1X,'you. Goodbye for now ...') WRITE(5,40) WRITE(5,40) END SUBROUTINE SAVE(A$,K) BYTE A$(80) K=0 K=MATCH$(A$,'LIST@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'FORMAL@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'DEMO@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'SERIES@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'SORT@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'PRES@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'STR80@',1) IF(K.GT.0)GO TO 10 K=MATCH$(A$,'UTL80@',1) IF(K.GT.0)GO TO 10 K=-1 RETURN 10 CONTINUE J=K K=MATCH$(A$,'COM@',J) IF(K.GT.0)RETURN K=MATCH$(A$,'FOR@',J) IF(K.GT.0)RETURN K=MATCH$(A$,'REL@',J) IF(K.GT.0)RETURN K=MATCH$(A$,'ASM@',J) IF(K.GT.0)RETURN K=-1 RETURN END BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBURN 10 CONTINUE J=K K=MATCH$(A$,'COM@',J) IF(K.GT.0)RETURN K=MATCH$(A$,'FOR@',J) IF(K.GT.0)RETURN K=MATCH$(A$,'RE17c[f8['hV!s)c ,"_ƸTGW즃vI16GhQ |d6$6J#Z@ېr*z'}5Z-A*E/t+IRzl2\ LP3g['I9dt'Ft NuN@R?yy[1F3o[G1U7{:nѬ:9G5u+ zy*%V>J%LvCtؒDӛmӮddxOl^ eP-쮯t=r>)9Mnja  S D++[kǪ,l0aXI N'(G),s"a`!Hhͅ:Y\!h:@ gPrp`AU6 (]׋7uMw]pZ%ƀBa -aD0>qyyWYe æQ b,?KCqd0SF xI9q2wPI v#$xjD@FƐD,;KKmj-j0!T~n!b G:yE$.~#Ee`PTΰe{X.`x\Jrbm}$:S!vnJ~azaqrRQ]Q@=!_ZeW$R6jgv(!s;J(Жb5HG]k lz1|(%lnG7*H"m*4~9KzE'-;6r6dd80[Ձ62q#ʖmr"rm-71muA_*40]MIJC/TYG_U nćR.R>0i}EE1'fWw#JuqF^*‘9  UIt`  q2f ;`eK#x1d;z"4"D40"~]Wy(~4_}9GtXu=!!Jסm7@#VsnF/VG'~%L 8%Ġ[>豧DQύDmc, y]i]A hށoi/ IR-^t"X7kZ}DyTh/^Ku u P*a7׵ Ve@A n6#&@˸V@ˁ2OV6bD@ m"H%S- Pj֬TFC6WK۪}B[PC$7DrI(p[ub8>eu(-c܂”7oCEuN14¸B( &1`ŃJB `tg  /BM"7&6 ~[LJZj&wTON=8.%o,4~j&sˀN1%aC++k _q^ }m%o˸V\Co):އ&XÉF(/oţUH1 5Y>ǩ1%:@XUe{5aQsqbGcTŎ,/A@HVҹBf8Y?fbT2p"v m#L ` 4Tv_8!H /kI{=|Wχ^ˍ Zxcٱ5<)^ˊP,)=9j>q_DQJKUV@Tu#Bl^/9._]ު͓(Ə.@a/k@L z`keR %R .׌K)yt5/,1x\vP?ƿ0V'b715L6L=JvTz4,_B{9qQ"iPJ7lqYvGFH).~^lVQ̛KLoA*1$SURG+E~~KWDR3x ExTIH 3.#%:0O"LլZ9lȘcbͭ\v߲-;%1!Dŗo" wO@ME*>Bڂ)+p *V=zL"tпe;d//$4u MMH q+z H@G@Dk9 Q-\ R@ @ 4@W N@@Bഘ`=D奱GQx2&@N `hzo|Gj&vdZVUMiB ߂?@N2w4tˊaCPo\ 09H4`\kȮ.M"@BU:9_FE+Ûn{kd2|P*fyybp` 0ml4ʐB?BW.j#to:-`O yѬ P MlIT z~}{x9[ \BFDvä%u&%I&Ru,#1 @4`ghp6ǟ~K:Rb9dpRCBYJkQ@N]`[@N7qgq;>,1IH "92'-Sc)qP$˸V/Hw8Y]+JVT2_myX%?,-T䠥ҳdM_ E-:R-ɰPHUdt-mbbTOX+} p#`TA \٩f2D 2@mpX+`i]Zl @X@D;(Էv.\ V(ԷFmLĵ2}5er_okX;[>*ۥgfuiTyeR+_lkf;bbªoTF'ڹ%TL:6WUpAt$ᆴT?%ľp('0zC(A? p{M)o\cbrЋ0 X%E5s+@Ebm#&U*RC"f ۔ڕ KsJDԚoBRY +Q#2)؆Ӆ_DRoՎ!-Kה +ks!obK"4e(C|/"Q3+98W4k(Q({Un&ƹxvi4!c(9!˲o9u(DP6:SG\NRyo܍^FGe @g>"/ KQ)I^ǥ "+]@6v6vǀ=u|gT( »@OC%h_`k~7D *>,C5׽EuB-dkN.yEuǚKFe^79Lƾy4ˤ'_Y$G %+^"!OE,("% -? PY1 l6(e p^Qdd  ਹ@hVPcz(7PfDT,oV8=e~8]{=WB @( j.J% 8aVdƶdжo(Ĭ̫+ T le6Fq۷ρO>(NkyR7:5):+G2,1)(0˫k%EOM(z4hO˫! R]Xm#( oHb WH'cҪ_JK:(Qmh-a'U9b5(G"bY/"Lz*-a Qɝ_.\F1W|m|%vZeOY02uJtv^BMo TN $KidZ"/taDb"Z1&XT'L*1>opZߌ\}s+f]lԘWQ3eA{?RH2c@HE0\ qA,Їq8 (zFW28]Cc+{eXMhТ#_@b@ `}.Ot &~"ݥd@\fg$MT7[.GFj~-jL[/=Bʏ8#MD=u* EiЦ% b"X)ua^GeLXNp_x|\Ȧ D@Ek(-d^@@\d@@@ h8b(7^ b^@b(׿u\(ҍ-7X(| ew^ XkcXk ݉]H# ~K!NN*O`:d|N_l)Tyۊ.-phk8Xں H5kJv8 rAWV^/Jdcq|`rKDb"6$ca邎qq ie1bWMYb|ij2S'&_Ry872MR-(sWOR9W+^UTN0Fvҏ6ռ.O$kxi9`eMy!<zQ^3aRj{̇aV/dTu9<d e0)D8gWՋ^&VNj0짒ҟd'&k, #QY$&)wڋX͕b쨹o /$2 z ƧT [£K7"x{qJXB"O|(\ZGC 8&>fI‡_YqFQ;xW-D&>t*) c&D+NXB Ī\?|]:Eދ''(E5\ݵB2nBag ,b|/ErXv-u14qbaB^r2nBW[W:jX*I"t7Z*&w`zl_}{N~q-y>y/9.b8lJ85!MjN9Vb9bXW:=[S _JY|V%"F3Ma 屨`u, v\E>@ eϟK+gt`˔Fpj~r.^>.1da#Uz D @m 0B<͕>/hu`Qh~]utޣpq잙( !D2* C%O8갲I:}JF(0 R. A* R/^<K^y\k֌ >z. TOZ B*Fi@ * @ G%Gj~ɽĥF-%8̀OOdP~AgKRZq87ZA H!Τr7Fsw>慷qh^XXM[C[-EZ 9HI$(o۸o@9JP"푇)հdH˪Z&O]kC10njチ[K:Ћ),jzjqE`Y,kz 3 ^PΊEvvS^Fjm>-EcKk^R($< f,`HBP 6K1&HjVIW$Zj&y(_iΖ,bR$2%GPj{Vv|pE14@80-?%^| )H%虞.o$xUrKs*hm% Je :jdZc Pϴ@jתKy 6W[fN 3X5>+ /ke{;]V@! #0CXk%=Dd?¿ +]p )_"A$Ja%aSLSq&FTV %]|pNzXXB SUBROUTINE KILL$(A$) INTEGER A,BC,DE,HL, DRV BYTE FCB$(35) BYTE A$(1), B$(32) EQUIVALENCE (B$(1),FCB$(2)) CALL DEFD$(FCB$) CALL DEFD$(B$) DRV=NFORM$(B$,A$,1) DE=LOC$(FCB$) FCB$(1)=DRV BC=19 CALL CPM$(A,BC,DE,HL) RETURN END inley, William 25 Roosevelt, Theodore 26 Taft, William H. 27 Wilson, Woodrow 28 Harding, Warren G. 29 Coolidge, Calvin 301),FCB$(2)) CALL DEFD$(FCB$) CALL DEFD$(B$) DRV=NFORM$(B$,A$,1) DE=LOC$(FCB$) FCB$(1)=DRV BC=19 CALL CPM$(A,BC,DE,HL) RETURN END  g 4ט)0I¶vNDgMGzxb*N N*~WKz ƧJ5t!@N QOe&۬"Ä8c;TOdGe>#GTI oy9Wo&m7@ƥ6;WC<}m. +3"Q8)KE`3;l˵``p-R2$T~0(@7tOgbsմ16Mݓ:9#& ,S!gqD(Seu&fy$B3#rejs׫T$a p_q\qC Do(j47HFb#WbD 2',o; `C @ 7"l aeĥa&p  Q ݻC[3l9ɼ7:T+f][+YL#&6 I/NG ^!NI9olCu )#E #C;{)HD aeQdsm DX ^H @-|ޠ\q@ BoBv82jX!#6_(|HA;Pex#K6wK=>(o[0whb 9LW8ꤌ@IZz,#eɫZ#/)Y%G^ J(g.\@B( | A7jb QCj+_+î j~AϨ˦etQ$wTu0Bh'bETēdŸi'8Vtj-k "T0Gn$"HH$w"" j Uͨ: nBg'>J4+BObvȳLXP?4%3xcٰdE[`$_TW_n9-֗FXS-Ǝo#H̠pO@M %vYg| v*C$Q8 Wvu/P4O|G$0b:r(p]5B-u  q t`C@ 9X6BFHdz7:4$e8Dۡ|ڵ4iZL$cDhhXYfҋ*yu ̉^/wU֬[z L& @ p`Ȩ/j"OGGC{g&2;Hy0rCWT3Je,?ܢQb[ {ቍ` @ J `a&pjb|2bKQr#$!iMO3`KI @W9E.U= =4FdsVG{]WY\/MO3^ B) )Ib<{jG{YGu}I:̤,/vQM9dOQxxClK]<%9"7etdƄΊȅb+î nPw Q8_!\.J`G+wH(F.tP0*xq0X+잙ӣbz,\ ` `1p? "̲: -tlp(uxY+ oFŮDk%H-Kqb;A$Xem)G%i"FtOVCV?_z+0T}9g:U$!02j?%jZBDd;0k0 ^AlnRzfә(o=;S*k0t/La:(؜k##JJk׼ECjTPTo‹"n*WV 37@>Zn92oj0'J<}CN8`2$SxU#8 O06VEH"抄sX&7R F13uCxNf h N`B&kc>} u " ! 4gQ+6 *BYDB0mR##bl Ff@KRq3]v }ۄO>B6QF!b͑0 Anw5µ3ޠ6 ( a&4XŽµ,drb! D0@/׫%LĎl,X#`p¾/52_49fޱJg/JV DyO 1kmϛ*+AѧQ)F8<_ [0`ۮ WZj8i>QSoX24b5`ͺb&ͺK^@9>]/` H_ۮ@{ٛ@{ٛ f@f0Gtg*4ƕH8cyA6/$]0NV 6a%ߨb*t)oۮL&;V7U _8R9lLpZ_TaVgn(u,"s五nfA X`uܢ𰎼]הO+SBsX5Ax sc o9|I%u>k,w۬1Hͺ!@şQHͺ\^ٛ=\JۯtƏmTQ9уrQVYKu"Fp 8' D- QYh>sggeF,y%.JxTZ9lLOy[^>6pcTNQfúIDj#0)NZ7 p ~Xcq^@ t^n#: 31dH-ɕqxTZ3:Q۰?7 [RqxTJ@6.pZFp f[DpLX1 @ |s^b bCM$@NN-`抓LU[n$t ̇`M",@ _g$ 7\[RDic+,b V"|ՠ EB B ~" %Hҡ"#qڣi4BD הJMl!2GQ,_(+>t PkL\h KDr3hnV@og&dbA;)JC/ Fj( wU0ǎ;չ"!$@9"G$nŽ@y`t B2B(>T>u rt .gG/¢5 8onFޅ`OC:⤾o"4OGnk'(pBg|*C+]LӆF77i@_ IJC'1`L\~1q2I›Xbj.( ]=9|/'rKEW(YkU@5I eFq A56JW=8>Dm`=-?`z~z @ Dtngg B#rd0b{W+V!bzR.G (`V&(ḦQ8 WD֛Rۓ:1tG$м(Nd<6Gp)KLQADCO+S=G{T2F*{TQbbBB*,WHtľ&-}$EEN)_9D-2  H acEP TZ:ZK*qZ*X2!HZ~čәOzJ/RW W*8TQD1)F9#<7D \ ^ W P"`^.-UK `L-5(-i!8رu(ҊA cb('~pL@AD/D+4G#'t(z{ˋ@\(Ҁ>(^j&|b( PROGRAM LIST C--------------------------------- C DEFINE STRING VARIABLES C--------------------------------- BYTE FILE$(80) BYTE BUFF$(8), BUFF(80) BYTE NAME$(8), NAME(12) C---------------------------------- C INITIALIZE STRING VARIABLES C---------------------------------- CALL DEFD$(FILE$) CALL DEFS$(BUFF$,BUFF,80) CALL DEFS$(NAME$,NAME,12) LEOS=0 C---------------------------------- C PRINT PROGRAM IDENTIFICATION C---------------------------------- WRITE(5,10) 10 FORMAT(1X,12X,1X) WRITE(5,20) 20 FORMAT(1X,12X,'The LIST Bit (tm) - Version 1.02') WRITE(5,30) 30 FORMAT(1X,12X,'Copyright (C) 1980 Key Bits Inc.') WRITE(5,40) 40 FORMAT(1X,12X,'May, 1980 - Miami, FL, USA') WRITE(5,10) WRITE(5,50) 50 FORMAT(1X,25X,'using') WRITE(5,10) CALL VER$(FILE$) J=LEN$(FILE$) WRITE(5,60)(FILE$(I),I=1,J) 60 FORMAT(1X,80A1) WRITE(5,10) WRITE(5,10) C-------------------------------- C RETRIEVE PARAMETERS C-------------------------------- CALL CMD$(FILE$) I2=MATCH$(FILE$,'#@',1) IF(I2.GT.80)I2=0 J=LEN$(FILE$) IF(J.LT.2)GO TO 90 C--------------------------------- C VALIDATE FILE NAME C--------------------------------- 70 CONTINUE I=LOOK$(FILE$) IF(I.GT.-1) GO TO 120 WRITE(5,80) 80 FORMAT(1X,'*** FILE NOT FOUND ***') GO TO 90 C----------------------------------- C PROMPT OPERATOR FOR NAME C----------------------------------- 90 CONTINUE WRITE(5,100) 100 FORMAT(1X,'Enter file name to be listed - ') READ(5,110)FILE$ 110 FORMAT(80A1) CALL STRIP$(FILE$) CALL UPPER$(FILE$) I=MATCH$(FILE$,'END@',1) IF(I.GT.0)GO TO 180 GO TO 70 C--------------------------------- C OPEN VALIDATED FILE NAME C--------------------------------- 120 CONTINUE K=NFORM$(NAME$,FILE$,1) CALL OPEN(7,NAME,K) LEOS=IEOS$(0) C--------------------------------- C READ A RECORD FROM FILE C--------------------------------- 130 CONTINUE READ(7,140,ERR=160,END=180)BUFF 140 FORMAT(80A1) CALL STRIP$(BUFF$) C---------------------------------- C WRITE A RECORD TO SCREEN C---------------------------------- J=LEN$(BUFF$) IF((J.LE.0).OR.(J.GE.256)) GO TO 130 WRITE(5,150)(BUFF(I),I=1,J) 150 FORMAT(1X,80A1) GO TO 130 C----------------------------------- C PRINT READ ERROR MESSAGE C----------------------------------- 160 CONTINUE WRITE(5,170) 170 FORMAT(1X,'*** READ ERROR ***') GO TO 130 C----------------------------------- C END OF PROGRAM ROUTINE C----------------------------------- 180 CONTINUE LEOS=IEOS$('@') WRITE(5,10) WRITE(5,190) 190 FORMAT(1X,12X, ' Goodbye . . .') WRITE(5,10) WRITE(5,10) C--------------------------------- C CHECK FOR RETURN TO A PROGRAM C--------------------------------- IF(I2.GT.0)GO TO 200 GO TO 220 C---------------------------------- C CHAIN TO THE CALLING PROGRAM C---------------------------------- 200 CONTINUE CALL CHAIN$('DEMO.COM@') WRITE(5,210) 210 FORMAT(1X,'*** DEMO.COM NOT FOUND - RETURNED TO SYSTEM ***') C----------------------------------- C RETURN TO OPERATING SYSTEM C----------------------------------- 220 CONTINUE END nd will result in the specified') 650 FORMAT(1X,'file being renamed to a .BAK file and a reformated') 660 FORMAT(1X,'version 210) 210 FORMAT(1X,'*** DEMO.COM NOT FOUND - RETURNED TO SYSTEM ***') C----------------------------------- C RETURN TO OPERATING SYSTEM C----------------------------------- 220 CONTINUE END (-|$6ƶoF.x$n@3mK*V\WNx :-tao //0AW%r J,C5Aub9RhZo8\b#ßKp]n;&M.ݽ-=~ ސ FW_Q;m @^F= Ɖ`ͼ\kU4jEMČٞPPgE0'=ZJӤ{G7=Bʏ8Y>2& :< AW:LߑV^ KO1z*-`; s@7g,9M1^›&)_0BW 7(s(S)\jv ]M1F ZB{~e#zk~' 09?167 {@(,#h F ݆k#l+BWnt@bN671d7E ^8!D b !WkѶX+G%-h'.kԮZYqS@RodW7@( !Wk NlOTK`l8Nޟ$T7/7I)JjZLl$^q8J<|1d7=D( W(!WkѶ*"Q^vq$%/5c'SC73l1 2>O"P%naI$4o7M<Gw2|9=Z nsyu4Ǖ} 5_ <"05۠ĩA=F~p&@<곮Q9aKm42BdF'=Zr'7^5 B!bt@W40`ѐ3qjnԒ[׶*"Q ܺKw/21d}czk)잙@W4P/JHύ^D='v@k'!ex*?$%벖ùڇ *6Ĵ HZ)&26j#h)ITrbP%ܺ˞UmAbsթFGm]\I~,]1c?8  nIo(KsH#hyA6Q,P-f^s͂okBhr##Qɧ@X䘸sQ㌎ :y>m,+Ea\p4 .~Z!%0膗Rw?;0UL cINz;Ҝ W;L"{L>k.z0*y:6E`>d3oCN^"FIO屚l!D J$ r`Du yˤH@@W".U"9BGTi;"q<ʌHGZ `WO//(QScJY1DF[ZsF']tsQc INz$D J$ s@.*h"TQ-c[SFR:СiDL-X3,HGZ `Wṉ8 %eɾ1RΤ"G]>|1JnƫO܅Tvf:3choUS4H(F.z݋?M~ *0qGpޣG̦.G~":G"63`*";wQD4H`8wh4\GB<9W97g| :1#_s_Ix. +? )D @r:KFH}0_xS{ߞ ~.u1Ln.! ª$ u MD_^ 38WQɭO3+&oBVIsL%ag0X[pH_.'KcBM?5-l Q _=x0o`i+ʌ70^%x[17}Gd`u/09 a 0vR0b(.z$ /09 cढY`$nRњb(" @Yu L`$nRGPϚb {>og !MH9u0^ow| ȮVUFz~.47z efhGe, B *$/.:(-¯Z2 FbTqBe@e9gm 䴐^$~'W#7ƿP9q, ȾHx}g:*+ƣٞGM)v%ee`\i ,ɧ(zE]Oɏ/h(z)= l+ʲa! Y_(I-?UGe 7Gy _` 2 OgP͑ qRBHvH(o[S~Zm&z ˫.%?@ A̛'K?M ; #Oڕ9`z&RGr]vs!R:Xae^DtDU]4wU\vGj4Z%cۈt_F7 eIN B7:7/'•zmIbH(Oh_2iz䯥 }Z )`ZBdvfZm&+{n?j*OCbHAc- @&@F P.zd>qbЁ37/̍ʳ;0&G}Dhrqϰ$(BA$yL5.KI jgm:b,K@Mj5B 0/B-&eTjw)I* ~hIg2+{n?j RKN݆X=A>>?̚ryg8')#U|sgmAEH* r-h\=@_>v7b3U4W@:xyq$x;x*9 gfMQ(k.n5+]@v7KD"xTPsd 04[o@Y"##y3fB5KK@o4Njp'(pINfR-'w+{n?ҟ=^-h\=Pr tFEu%H'c%\L! X ]HVve@ (o}We G"[\wߧj6 C92}5eQh})$SK:jt;FYW0e" hWYP>B ss2=VĠ 蓬IUUe;/O ek$pAC0&޼F~AgF@ 98\N_AH2E:xoyy,Z澖g&W!1- b@]’e|zab㼫'X?/8RsBHkCs*#}?_(#nU-4WOR:b/]^as8hxF223v^F/_|Jz'ihjIz rz#fz' DR-&UF6$o͡T5QDn9$X" ԍ#,zet"MG]B'1#aIR+PgE0'=Zmp5d:3&yAg^1MdtNG(u[3 ,IL B1>Y-PM88Ҁ W4M9|/3"o G ' OJ{~era/$$ ˁԥe_$<#ֶ?OBF_ ` @ `BlcF HXa:Ee i@h-d|N/.[dTpŽd|NK["PT亾N qN캱 FUNCTION LOOK$(A$) INTEGER A,BC,DE,HL, DRV BYTE FCB$(35) BYTE A$(1), B$(32) EQUIVALENCE (B$(1),FCB$(2)) CALL DEFD$(B$) CALL DEFD$(FCB$) A=0 BC=26 DE=128 HL=0 CALL CPM$(A,BC,DE,HL) DRV=NFORM$(B$,A$,1) DE=LOC$(FCB$) FCB$(1)=DRV BC=17 CALL CPM$(A,BC,DE,HL) LOOK$=A RETURN END  follows: STR80.DOC The STRING/80 Bit documentation file. This file, the one you are now viewing, lists each of the fileDE,HL) DRV=NFORM$(B$,A$,1) DE=LOC$(FCB$) FCB$(1)=DRV BC=17 CALL CPM$(A,BC,DE,HL) LOOK$=A RETURN END vTCJ32.MAG$   FȀa3` A(l, G#Nba6H"1dO'3) ;N@d2L̀o9(ƙqPJé70ΐC r7LfɞFw7Ό+o;ns˥\h0 $v 9Gk6EѢ GdL&SAXڜa:]3: 頡Φ< :cN3Xb& D64XZۻƈ]{.9Tg;w69fJS-8%vaUeo^bHuMUe1#YP.]AGU DPrf,ot IU\eNcL8nK6 AvisqrRG'GXU9EsGCdR%{ᝠA:F qhlar1sT'Xt j7NZ+p)ގQ O\Σ DOUBLE PRECISION PILOW,SLNGTH,PIUP,FACT DOUBLE PRECISION K,SIDES,SUM,SSQ,TERM,TEMP BYTE ITU(80) CALL OPEN (6,'RFILE DAT',2) WRITE(6,198,REC=1) 198 FORMAT(10X,' BOUNDS ON PI - DOUBLE PRECISION BINOMIAL THEOREM', 1 ' VERSION.') WRITE(6,199,REC=2) 199 FORMAT(' N SIDES SIDE LENGTH PI - LOWER BOUND', 1 ' PI - UPPER BOUND') SIDES=4.0 SUM=2.0 N=3 1 SIDES=2.0*SIDES SSQ=SUM SUM=0.0 TERM=.25*SSQ K=1 2 TEMP=TERM+SUM IF(TEMP.LE.SUM) GOTO 4 SUM=TEMP FACT=(2.0*K-1.00)/(K+1.0) TERM=FACT*SSQ*TERM/8.0 K=K+1.0 GOTO 2 4 SLNGTH=DSQRT(SUM) PILOW=0.5*SIDES*SLNGTH PIUP=SIDES*SLNGTH/(2.0-SLNGTH) WRITE(6,200,REC=N) N,SIDES,SLNGTH,PILOW,PIUP IF(N.EQ.20) GOTO 8 N=N+1 GOTO 1 200 FORMAT(1X,I3,F9.0,F15.6,2F19.12) 8 READ(6,300,REC=1) ITU 300 FORMAT(80A1) WRITE(1,300) ITU WRITE(1,302) READ(6,300,REC=2) ITU WRITE(1,300) ITU 302 FORMAT(1X) DO 9 I = 3,20 READ(6,300,REC=I) ITU 9 WRITE(1,300) ITU WRITE(1,302) STOP END routines, namely the CALL CPM enhancement package. A .SUB file is included to allow re-compilation. DIR.MAC The AssemblF15.6,2F19.12) 8 READ(6,300,REC=1) ITU 300 FORMAT(80A1) WRITE(1,300) ITU WRITE(1,302) READ(6,300,REC=2) ITU WRITE(1,300) ITU 302 FORMAT(1X) DO 9 I = 3,20 READ(6,300,REC=I) ITU 9 WRITE(1,300) ITU WRITE(1,302) STOP END D?kj]UsNT`/83%p(&( p I&FvF6<dS݈#'?>;,V"pkl;W6zr^"r'u #%T+5h h1=hz v /xZh7se G΢qO`jN_Lv=J8>6̐x{T}9"Ɔ4_;Q@HS'q#AOBgw0( / +;!*1jF0O"%A?]fBfHGP$e#Wb.qbr U^&TV_ӤQ#RוB._TdA$FQ H1@(,2btu$3? %b< _?q6x%-v:'7o/c(Ck6 ZE`w ;TYBkz0CzԹi19 ҈vb)Y2cwoBMY5m.ä8G@H%$vxaGI-53dOGx'Z(Ugdv }@&[l#'1]GSUbopo$5 "0P-Ga!$}hctGaJrE9S^O7GB"v",7TTbFQ.zSkB9Xe3K>a4-25~6Iҵnv2>`x">n V/5,SIV~F w0S#X#TdtxhzO.`h.W(0c{2=_ H'?f% %z[0d-BUBɧ4 ׍a'p8cr-XY6IR jӜ49v.C!h/Fc&i9y4@e ]L#?RC)P!g0`|#L;(V/q!86cixeu dqĄHF4i;6YU ]Mw| |{hcR|V5mXTaT0An V#x$)Gmq(I:E=Cu:e8>\T{' z*JAb]b\b$k~a0q8q$f7/ rX/qzmKze&!oma2C$ J/4eISeұC5W;~@Y*j@(x{{{1P {Zi]KvϐsYKq DB9G.e!(tX5H4S(Um rȁ#B]V@F3,_1bS5h4r$ZsM+$tv^ɑovexzd|TA?(%EC68ceW{5(Qhm$GTO:H%ͥ#c @90 /$/e k2a;{¼@".喻P !'u0 yO4@0 4Vyr0oQLP P01p6 A=H9c[)!͖gg8HŒ*Z5CPkC̔aUpy:; QB.f`1-fJTq-_T"3qii!`qWv䲨}Q)|z za+a5bՏ^GӍcB:A"/q]'\,P<>X\% id0Kվg5mO/=[#gsԒ6}DUrC2GW([ B}GǶ ttHѫu6h.7!FB3j53YxVy`!WpAGsb-mIqV7g4629&`faUpF_PQ/qe`ngaBr"Y2,3/)rs8 k4##qQOvdN2(ǕMGGd"M@9 YZA(TE_-rB%j0NNLZQ{I{կHP1en>8xdpS"nOJU>%39e$>S+, mrCUt{_=Lg;ŨR,DDNAfU0㸞cMdp [w\y"wuEug#U>_i%zz>iz"vh| q?)h30K8[]Iז/"?vs'NN')5'%(v$ƹEOe%g>CBW6A1Tbl%Q.$:VL2A/#0TpT&ȴ !.Z~kcy8I;|ZKt|36Ӯ_R*S RAyC!,1W)a#́JԳOhpv`H/k)p- .g_,-*[v%R#2V8U @SU(4>,CLpyvFt*Y(*;Y'HeZ3z44#oiv9B!Ljb a,zeE^5wMi>?7(:6Y8S+%C6F>>tœ?ͱ۷MELt#[L(a i=}gۍь?B#_:p.~'Ty#+R*Fa9˜ãs8c,R^{Ӥz)nQB;d߁ ~긒&J +_$d}[mBoj2vϪyJ꫱{"eC RU?>;d/?L0IrQw*c"olZ"ƁTV)d!\Z%Lj\rQ!BVjIU+<_X=AT\^y7OͶ%MDe^6V8ɲ꫁і;<_iܑoJ F{I93xCe_-'Zt7/Radi4u@j/R&B9\*27NIS3>~!y<]2{`l93c+M!{̽ܕw2~AqKiߴo7V: %Q?ʋ;tvӿ-҃`uIER~HqsA2룀wkF.0A)g=;vg1ҋWO؅9+!w2E32RG%\2W#_ϝ>ѧi(a1mGOuO4(Q ,dDUþbڏp=b%%]H$xٕ>%~Q>jC*bbh,+DO1ZٱɠSR{ĕ\;]F Q}|R.֖FXi.33s7ENJQ,+%a?k/:Ty(:B .2þus!OqWt.nӨD.)6wQ/̵?>;>M.I%)v!FsCHgf,7!j I~E>)Y_pS#o_0S@K1M}2&$X4pSB"Cp1GnlQ<\lx ߷XH"ɸbij{SPMMhgn_Pk<+Jxv5_Px, ( #V?[h)4Uڲu{4RqOk/@T!tR>Fam:C+#Miy₶P l*.~ҿZzvX'7Qo!~(ڋY(]Uf--Lj]:xYEsV*Qa)"jw2!{̚psgD: y,Z7j1e>tAAEx'ePP9c#跾@!/R[^%M>TV/a,*S7gHrU OY#[֙p2]PJz(Ui=a"$1FbC^kUrD!TWsɧO.VKrg;NH%75N.ȸXUlBO[Yjn@I'H]=@N/0AgH7Xli TVERW%"!~̚6Z0Tr0+ J*4"c0SPLPCAetI(VzS(`[$th{m2"Cwu%e"rO+@:;"Ps $-OL}Eܼ%I@*1q9E[Q1?N#axP%"V2a1T-yԇCt RQ`xᯣ!0$5*1PC_oY6/tyOkeb!|NE=F^\Rb&HJkh"r! `Dz32Ffb[k%xhg ?0O֎u:FmY׃P C=*sjpY Ú~┡Cئ"lOUTqocлA}RRRu (̍OƫH]Z"<@R1tza.cV*#m3eƆOAq SUBROUTINE RESET$ INTEGER A,BC,DE,HL,CDRV BC=25 CALL CPM$(A,BC,DE,HL) CDRV=A BC=13 CALL CPM$(A,BC,DE,HL) DE=CDRV BC=14 CALL CPM$(A,BC,DE,HL) RETURN END MD$=ÙSYEI n/x_~CR ^Ȃ [- I:'4T(Vp3Fb9-P?YR[,6g! g} x%Dz.;äbLD:Fhqwb@5WH2w}}/NnQ%g-KlG!BViphEXʅOaBqjAn$^'t7+GmcuJyST6,@\w(䲶!HAQͪQ#lvM3s)FaXY鬔sd!t1$g;,0A8L1sBA.p[vcw!kN/.ϓ6.K3MJ"c~Zeʦ0RH$hϩg8 TYV@B.eAi9MDd SPcl..`5'@dϨFїv&U?*(6>1A-((UٺG m"''#x43D;A`(Pl+g,U#O2 PS'ߗ5fTx4gT2q@?ũpBg<+~k+fZe\_ՏmVVvvO1JZf6.1rnQǶ@Q3ky\azG|(ӉK?b9bs A*g[|)WRZǶm/b݇pp3 kod\q3-.2f`ln$:65D>Y$5LU&Fl0OAdnOf22>޶Б3LCg+g1 ,,W}>d@䲡LzFußY@]^mUS RMg2|AGϳSwT`)ebaTb7~IӪ%E]ȣM&3Q?!#B6`ͣ([{ѪT1('Gߓu>O"ƍNB0rH%O8'Qf,"L2cW*ne[&>>{c"!q䮗=i~͕RR-^k (96旇·NiRz\ທJ JU*ȃ&BfX~T7Z/yZlB&p3G;恍M&M_B[? k[B8B$NF/)J+3&=ں ~{._ݼO†J"}*@E Up.2e+bzkHJiHUְR!U(!$2LVƨ;A㼻XX%ڕFRiG#MBip8跳qtL7GVu8xi(1>89^#2baOQF#t0c1b~{TcZBU:#Tx+ɠ ~r/_Hêl'҈&\,n(Q?c>O4[Jk T_>i[`5<y6{Tzaju+ϧ$3RnT.2n%Fj{*,!%TCݣԋpS$ɰ I+<r8;2hQcg=?vxڇ 7∝vUh xvְRulo4g k%RJXv"Nk<HC喈vLdB_Q; ^hK&1a|TqI9ZITFiD b-Ja8A ֺꝼ\gpkl7b;%OkO:UU!(.&WUa:9bʲ 271.TRP q6J.7M}#4J:{"2P,^n!J6mx-x^)Kȃiz ӱ"E"еxsFd̘-WD#CyxylGJ'7-"g?M~GYT39+\g6kaϫE+|^Ȃ~v.aᏤ1V%jաu1oC}WTӣ:OI"rkB5( S IQ?0LrM`nM{C4VEdHH S  YUWLf eD-OuIJF((Uѯ81bbvb9rrfL6TfV!mڳ=%CI!9iֆ*dV؋bi';O(3h oq^ #MU}X v0U  q XQyQ(5Y^ȋ:Fp mYEdb!|4-ۤ)Qب^qb/g,9)53"U"0Z*82oB[t]"$P Y(ĮEv3b=QRdRY6vF@T+K BܱN'i3 fEv'_҇g ̗kWL Ƕ+/ ܂\bxy*?1_F jQjcsV*An&re\? wMFz}.nRR7||ZQ9[њg.v٘B͈)m}V"W8Erw`(\/!sp3uIOeeFyW$aYC#FM9zaF-22UT0ކLL!R௬1t%a(*~!U4{2~:J&Fw(1ږ#&󴼡)|oڭa!*M#D@Q?Ҷay3K'Y5,91`L*T!]kOw0Nbrjݖԕ*+)"Irս6GjJ3)Dghhg \,4uRpy vn ȻMMDhm77ͣ(0 020=۔_::KZ-eMAh$U$iZ,F) ;KOM6ҒD*.T39" z>:?&CO`Ik'B[>cj\{|ѤY$1qk+EM8Q1|&kPob MCkLl12W~d£Gag$3楔ױ}k, MCb9a:[GCգ5qJQ9S)ڔp2<_^8?"'2(\3B+Rr{Z(Ž\ȋ#?9Y#Aqk:Ž!|">YgNISJĮNmg7">]b B߲՛r?azTU ]ϹA29@%6rC{1q,UWVO.zM֫# !(w 10I7'93ղcrD时c$FQΈѺ n)_7#5'GX34!.Aoh$/>tc+L?JODJ*\dN"CO"g0.~{&.iv'BAt%1JEdA$nK~RUY<WDӾM`v\]6E?t-̾5X3Agn2~( I0LɀLݾDMˣRPtu=0!}CFshUp&r+ry}$ YcCRiF6ɥ&:?\ZnQjl$41Fh9#rFU #ppbLZ7Lǣآr!?pZ0`193ICtّ$hQWFXR=+x+/8@!Ǔ)C!_()ùG]+T:Yk@ p,vE_S.!L:؅@$Jx+qr澤k1=G2AC|V1b/i(Mh1 y%ڙ# Cɬ PcG&!3\9'Lx1:F:B\$l+#"`]BFPMFz8 X2ղ?9'u_  #+Ō-{(#[6Rښ+@lrR3<C 6hAA!?_!`wN?npԋr@XRI%5EJ|{Y͖JH㲇;G̢r/|ޚFhAdZ #Ar[SRTT#j0'l?n SR[=JJ`k@3#d4 k%]BUy< :j%VCjKrVE$##1!V>Wxf?pC(ƣ1>&=(u(e 䝆s!q͒V1pyN; GqWM"VI:3|ԝx/3%'QxRujO2D#+8?B%L RUO 8A0e}&A$FMak9Olʶp!,Q![B rI~w[!h1wu:bQh&M1rn#2sݜp3~K<6xױOJ-{mR9riŅvqK Cct'\gk3uCv7\B H(&(4͵RTr9Fg<8NF/Զs 34, `o$kӇjO!#B6aE*$OլOڱt9ƈ'ٱ|J݋dɫ,/4b(XvWv3hJ\K2 >vfIb,B=Q?f@Y3.8 Ugi/=%>sլxO''I=(zxc1:R̀ bLF Wt%P,8O8}8!pG9"j+8*2w8圚ji@[ (2biXr3鰮R7t4]2"/\-](I?#9XWT^?#T *qk̞ &W{Bq:*L\ .=S&t#Q->ҩw/HDAvHoI[}Bzz3EkL|33!TxS\6h:,rBX:Ht%@ť@QmY\g,b+=:DbQt Hb#[,v糌ʄ?};!C!1{drRs~6lehjEgϹ*.aذ 'Cg=ZbIjwIoZrV~C!M=>Jٛ>pΈSwMhmϊw8[R+\ T>fr9g⇼%'8@e%IX}@J!.޶LK)Hc6Ro o!i 1 Se(vpn%U. o}e\;/p(gԵE>*mhKΨ|H'rl uLllr*KY] Pn)O`D{(PDq=u0 8 MIǿ}tTK@iqG=:'1Q)-fR,TiXD&mAT G86Uw~$Ab f7,l\&hmef0/!7x%%(so'R,2J!>9y[):8 ,SUZqTSD,1"t9X< ?2 g8 P/{*UjvP N|IW3Wf]˓ǃc}^r$=Q%]*91#iy .y]$=ÿ!y: C9=Mn߶=AkbUGj7ѯT39'rAVK73JS'+!ȇ&ПC26q2%٧-҈Ag{,, 4 l(WxZY܉Ҟ2R7uyu/Sήn?-/w#jB=&Mx;YuN o>1ǭGeh$ XUuu٘:#)d))b!|Rnԙe=N%}uxvR M~|T,U L %oN\1WTx1J,B M?J{@S܈;6NA"''dHh2# :@$@D  Tܔ&DgL^ U.dtYl@N qQiΐN<~wTsΐTΰe桵@H1ZnIpNFCNCpE"SQK꾞 E`Uu OdFݲE^mJ{3,W!#g`dYs*# Jt/f]O ͑1p#=!df@#ݴS#eNW.,Va>Nb͎0ѱ X n/AFYn!Dd|o9gP2=R˯j1buO(O1Z+Rd茥'|d?Sk?qg"%q&m(*#~3EnI9!<#KM!TrNObzPUC*d9Rt.Z P ϜQe  FoQHO'D$UWSU8|A /e i DN~b|pXJ ys_أ5dیM~;.zI0" eLޯ&[i$C ﯼ*iHdp'@!tvd 0ype/OMDL K0@JaT;6V{P0loJآ{zB%N`ao bZU uױ'pǜ:1z& ,I4ӟlBcۛ9dH&S7?)8RAoo g*eA *;,+zAسQ^{ir\"{,9g_Ӱ@U(BQ A$s-VA׺)# 7H9Y T1QՊwpW!"Y[^ap_4u#ׄHU;?)#=x3No2lA2{b(Q3/Dkn̆9V0 ~Ҳ5dG3g*SL*"mDE:;;0l&>U8D](;1aLjFr&S [V}iwE#C6TDkC :'qQI;4~֐Rt(ўfͼbm;==RFzz`)a3EV&sbqW 3%n_" "W;=Q~pCQ@Mu`Sr|,+PfrG@NN@REEV@PPF PI0 K'ǥ)w0XX@B'&\]A-z1cWeE<}v$9a1|mT-2jsp'3ZrlԒu2PLE>xq!,\*ìpL0(w3@ E(Wbhl~WkQr<ҲښX]1sU*|?!s8mDw7}1aQqλm?}[XR\GcJtrHDsJz_,<kL=&x)i$Mi3?b'X!B NMfԖ?d"k+v^(3һנbR?3?4O_*O `ZO6`P=tt`Q0v+Z+6㣭3 nճE!!`!8@qBtMO:&ʗ20̦@CS<ʮ9PCr3~W\)!_o8uA8_\)-tE; ra2D+:6b}oSYs@/ N/ծΔdxn,#aaDiڠ&rʼc<eašHd"T/7V2p5. h1$bdqͿZ/J-*]nqad %]_Rb4-X3C5-hK[ML/=T![#q,bG@h,Ϟ$RIq4Re[ICkW77.D}kOSF6&32%e|#!GZIBNGOJx#q<% r˨!Gv/c|_R)iSIb59P:O,9f=s&@`?vOwg'}u@q#R)7v/赃LY,o]Q7!w6[bjG֭Ah#/(y=uuy?D6S0`ilBwo-vBd|g'xߧJzgoD+Xu2rQv`Gt@kN\ ;RXر|*fy#z`u@ f{Ql qt̏4.#QF..3 ҭ'D CXp  D}uQwbD3pyQƻZ–ġΔ/G1N&QwW{Jp(ir10P  GH22-Z;/ ~i/#J|2ѓ8{ʣm?>GV<eя$ٲ|7IE.1&.PSV࿄ ̀EŗXE&L<B<kuԧ-V1oB_/b4ziP? ,2M&ɑ**pq pܒZ8TȰlEf?fAq" 0C &0P" KSϠ%֘o)m(*#w9%# qVqy:qԤӴBxh!Z8MP&fr1߼b&톓 ~Υd=OZGQn®:݂@"#$R#Sҟ'7]#t/ oYgP\D\CryrB{Ƅױ#h'h\vT\wz,6q2ZKx- `]S_; L-bF=*/n}xJg'Z9qZ!qqy-!G%›5}='g.ynAy3 gj!Gf!8&6f{RJ\C`=l3r#Buz7ZV .w- QU37No; nY1~kUvC)AfD8`M+lC>uFUŞ^E-K_ b. P$幷"|r7%W1Y czYKccM$K,ؘkL TITLE CDPERK - CRT DRIVER FOR PERKIN-ELMER TERMINALS ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $CLIST,$TLIST,$FLIST ENTRY $EOL,$HILIT,$LOLIT ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTRL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'06' ;FORWARD SPACE (CTRL-F) DB X'08' ;BACK SPACE (BACK SPACE) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTRL-B) DB X'1B' ;ESCAPE (ESC) DB X'0D' ;CARRIAGE RETURN DB X'09' ;TAB (CTRL-I) DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTRL-A DB X'03' ;CTRL-C DB X'18' ;CTRL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"X" CALL $OUTCH ;SEND "X" MOV A,H ADI 31D ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"Y" CALL $OUTCH ;SEND "Y" MOV A,L ADI 31D ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;SEND BACKSPACE AND RETURN ;**************************************************** ; CURSOR ON/OFF - NOT AVAILABLE ON PERKIN-ELMER TERMINALS ; HIGHLIGHT VIDEO - NOT AVAILABLE ON PERKIN-ELMER TERMINALS ;**************************************************** ; $HILIT: $LOLIT: $CURON: $CUROF: RET ;NOT AVAILABLE ON PERKIN-ELMER TERMINALS ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"J" JMP $OUTCH ;SEND "J" AND RETURN ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"I" JMP $OUTCH ;SEND EOL CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END **** ; $EOL: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"I" JMP $OUTCH ;SEND EOL CODE AND RETURN ;************VtY2POCISBzʡQ1:@T Tn| Gb@=TNPQ&J?ӭ F45N@4SD?K=gERCG\ ObR{3PXӭD-RK}@RSLj@T DRPKY`MOXZ:b 8bU8E?%PX˩=J`=hp3' JlHLSOI-Z8Bni Nf#`Kć JlH`%bʚI#O-Qʕ{qITCf#@SNQޱ7n/^:  )J"8P'ɄRA*R)BD"Ca%H4C$ I'ʄa0zM"$WA2 N#G*Tc3IhH&10s:Mq\  Qc7AfKPfI 2i@f4-fc 6D2p07`I'ňQi3̉o9 -qlg @$;QsmE}yt݈ F\I p܀)InnZc)Ao6M`ru]wwјw]v}x٥ghX,nf ^ֱ P aǽlѱ\Z E1_X#BX1lnfIx"-a%}FioF]c0goXongk(ɱcn[FehWyy-6Zc]0Hh×^+xl쵞k:{l"*f02Rb2 RpVQ3ǚBJ e.# y Q,㚮EE}C392H\ kCB[WzRm†qK3ǼMe4xϋ0J {l]H&bMԷ~fMK|mKP6]4,奼XaWfZt2,@%Q3,D&2,Ƹӳo e-/!5pV"O Zl>dK8SG" Ix1|hSq8AG'Ғ-2j N˪!Њ`)s+h9.Ϩ|hцY[ŨN_%$vt&y\aCh 4oVSF )%rEuMS/GW \' Оlϱ.fbC3 >!}i%EU嘔@Zrĕ6aޛlVl]+uV'[ >kz "?N׹%Ng\Cڸ+S2Wxge^oU,{C볱RsiMl$'u })n^y6: +8ʟBi2.5;J` ILx9\l%[*S[X1O-9t}h.\`܅KdgzH=_^٠)KI:ȅZbO:e𓱣 >̪ VK yubN$A+%R_fCHs*+tR" WEDnX3s%mjΨDj2:zO惶u8FQ ˲* !#bSRZc4aɻlOxr;t2!Y$ZUɌe3\yKkKFL"Y|6a:ZuQ C#0ԂAPT䦢. fU3l=~RNZRbm _\.*ykwI+^C6|3^CL|5'0޷S]W&nߨjusՋ@Ta&3{o=vm49VU ƪA`ʦvNzu=%0|F}*IRbETjՙ܎4s,7&PN/]'4ij2Z֬7=}ԞCju=:[tD\H5@:q̗ps]m:Aa>S{$`nlq2CmoCymur!Z&IQ|e^baV2e3f81VakS.eUb{'TC,C5$3pXZf5 $2lP 2+tǺ8pFP–cG*~iC6uyy7&r/rDgn!ϛ |kwB!I>-2QP#qBQqCEC$Bs6JJg{-PTS22h4c@ԩV9Tn ')n,y ! ;3+DOYb\LqWf*7cD%*Wcg+n(r>V |y~3Kb3g!uIr⨖ Q5;{lUs<!VwMZ&Glh7%mxaY-`?pIt|saW/0' 'J uS*fo!e4G >C|! -Bw{;=nZÀ%(RzC!*.pZ8#J`dXUC/[kC Hu`A{Di!q-PfYȪ&1,n6C=!nfa3zQ|HB~FqŮ{vMoA,mĈQR.U$&YdbdEƆJ;7O+VF2n҄TbD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`bD4ĕ5HQ1%MR$FLIST S bDĕH1=1%R$INCRTPԕ%U @ 4 @a`> @aE`6lB>,i0aҰ!L@#6L:x>6ͨK0PbD$$CLISTbD5$T$CRWIDbD5U$$$CUROFbD5U$@$EOLbDU$4Xh$FLISTbDĕH$INCRTbDU$LOLITbDT5%Hʰ$OUTCHbE4UD5(8$TLIST`> @aE`6lB>,i0aҰ!L@#6L:x>6ͨK0PbD$$CLISTbD5$T&A"'{87"$2,g]%ǽ|ˬ #+|)ƶ}+#"\q FĐXckSm+b_F/4"ۙ3'/D"CW]-fĈ#D#`r$nzH!kVJҦ o|M2g⾒8TJGbM-YZ'֥V |1uѱ2?,企'X sB@ K-n(~*݄ oc7"֏pݳ|f;lYGH8U5"aD❜RԤgNZ"`F@L]ٱhpQ "BݏY}qPTvFUkq:/!{SӤ|18 ` /mu S͌AH EM4.2]S(.uܯ9"} n.ȑ]A.T {AoaEEuIԆBQПF W,VaqwiP2,Ռ%Hldc%#B-1JRw(kyaqq!{p V3ޗDcBGWOt0 f>aoJ;=z}8eAeSzn°TOoBk5BP?q#cö%mXnlkypFcȿxO=6z>IkW:2o@S-CmAAB]%a~hj5/=؍%Gz{TEID:$L"9.5dz6jOaco=/1Jݝ~ 7n'?G.N|ELQk$e<Ϯ-[Ƥ0e ahҏuPs6Svk1Ƚx_wʎ/c%6ZG[InPm+pAJˋIEZ%챤Z 9!#>uIIE7ۄ<0sߞGj&IA/Rk-j聆R-/Y(Y|p3{m/:p dJ~;1$^.7O#3@Jvd'y. M>&Qk{{${{ֵar= aw  C UDF.`TѣS*3'0C^NLIөI'2C;OT!ztLHW/(G$.C<Ǡ =qq`7効4crFCfAfmb]?x@ZǸ;x=c*I/EkH;&DB:6&CE_Ĝa;tkD{E()%b$!O6v~*~jׇ”Z rIX@=yNEVIACE 5Q*uMb6Rc#-:Zͻ4(UqK}H`iFYLƆ f#*O*ī0r[b~Qċd-i6'1ndEa5Z_4l'?a\LO~A!`sbEQȚNlVx~vXyEʫ9&I;4ȳJ4wt o,rv„Mi!!|tSunv6(WW'1l:6rPd,~7 %o%d?21*QCcn,\%1 , qI._Cy)'dQ|UVk>=LZɠob‹u@EDEFڟ1gٕZ|ڤ3&D,R8.0b+1?m{6k!Z҉Il4F>tCK✇żo㴯'ZdBHZrm{Q!~A^u{{ujGUq?7ڧ랛{KC)҇_WC$G;⪢[56H%g?qUpau|EE#f&aJ7t'b!Ckﻭ[&nZ!Qh 4)b|U L[DBJB Y5CYi}W)E˝{>m TB-rUM[)n,bތLb̪ -W^ ,7Q4?BB2"ty%JWnGA!7^5SqйD9DN2KuJvc@oe4GM&-^&aZWchDwb9h,6Ɂ*wNFATRS)_` !3#Nk{܈N!yoEB՚0K5AZ| _l&#Rh:*=%S=ab [ơ@R>Ragbj~5%Wiu"=xry*uhәL1d,t',3'VDzc_|YъOIdOrD>XGMp.?pqԿ)Q2fh ʋE;svay[sI:X!z)v nZ]u髱2H]Xܠ.g(&AL;U&mJK.6WVQ/ZfgY~8EQ0zXI|I4 n#5'JBV~xrÖ́#cWd1*SE9=6@<D~Tl9,am&+H}Cryu+rsè&ARZE!Ő4B^ٶlw5Iz /R;C=wTwY7KutvXҝ/tY:jS3qc&QeR|`iűC7q[")1f~PnrМB˛N'_ _]|ZA^+kiev@e+%86bT1tN]B.=JML0HPL/vcrʏcuFԔK-QeRi}]ڏ+{MZYgw)ӷnv$m;jG@S6E_a:*b9"ո\Òˌ%s[ԟՎa#o5(_`U#y`=;1s1ƺ<' k?YOq}L+rc("ԁgE_o惏KDg^u=!|\\2Hw9g<\}w^0o^ XР+=.ʊ`auWuBq!!GLfpkCL4{w{awǸR<_h5-]^{'j#nͻRru޸ONYeʎsI1z ']IȥegO!kquJu=w2,;V VwBB Ҙ;6G[|e4}~v00oL˯8[n*$ uVsr'D9P2%*&F*%@dIJCy9N 0}"^4}8 &{? FWD_xI-soB7\A"+cKulӹݪOqY|ǦQ׶<͆pZ%#HC81LAIVDD2,R*Ԧ8f %vcC!lR=&CjP)VBCM#L10u!_B'u;u|˭{F'gu?Q׻u(Ruut`1I u% mVD^>׸,g<~͆ppg@I !DaHXqَ}RS#@ (>s/JrFE H pɞjqE;ah+61|pbbĦi P(L-TRawG?]ϒU(l=pka>W-³ J7aL1DsPV%.f=B':H{\qh81"+3!FaB\)%:dA綋*ȦijWȤ'd+{G^юP M%ed:@S9\A3΂`J`S\D)6&{ 618GJ1pw{0of?ϗVeɅ76=4.;o_:j"nf|w4ןDQ\I3rd{8ݳ~]gee(3Lvae!3"$Omu\7#GՐ ;ҭ~uԕLSghe&Ʊ|sga4CH>56*K- N%bhP 3 b uW M {i-u| 1l =UGvL0HßoHfݡk Sg24H2BktC.3 wϜogfgϗZMyu7DŽEkPz۾8.)_4g$ڋ\˧PnLh2}t[k%)eɹ}SUjDž p@J@S2\Z/1g~A^[chCiFA\b^t(Jj yYLΝL^Aa)\8JD,:bI'3"yJQz6:ΡY 'hn.Lzȷ*,=pAT=„puz[ uW ꦼk(P ~a]ITrGWȘhku?]톀 p~kuDGuW%'-TRawG?]\tjG愚a, r" g8%~a5& ig.GM0 {u6*soNN) \GG=\Db0Hd1% &|se`C@5 4se& l?].  09p() mXh g8` %O22Ue U^#h2  7ї$ $ ge 9=ᘠS~a*hjܓ?]H!Vܓ?](^ z g TITLE CDSROC - CRT DRIVER FOR SOROC IQ TERMINALS ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRLEN,$CRWID,$SETCR,$CURON,$CUROF ENTRY $CURBK,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'0C' ;FORWARD SPACE (CTL-L) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE KEY (ESC) DB X'09' ;FORWARD TAB (CTL-I) DB X'0D' ;CARRIAGE RETURN DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESC MVI A,"=" CALL $OUTCH ;SEND = MOV A,H ADI X'1F' ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MOV A,L ADI X'1F' ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN ;**************************************************** ; CURSOR ON/OFF - NOT AVAILABLE ON SOROC ; HIGHLIGHT VIDEO - NOT AVAILABLE ON SOROC ;**************************************************** ; $CURON: $CUROF: $HILIT: $LOLIT: RET ;NOT AVAILABLE ON SOROC ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,"Y" ;ERASE EOS CODE JMP SEND ;SEND ESC Y ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,"T" ;ERASE EOL CODE JMP SEND ;SEND ESC T ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; SEND: PUSH PSW ;SAVE CODE MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE POP PSW JMP $OUTCH ;SEND CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END UTCH ;SEND CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**yZ3ENVCRUNCH28Z UNCR Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |‡ås 1P 1> Ͷ2 2 = * ~  " 5: ̝# " />2  : –K 0,éb > Ͷ!= ͻ2g 0v g (.('([ ͝: –Ñ2' g og g" 2 c  g (Zb.(k :' g 8(5  g 8($ />2 [ g $ g : g (ïg  g 2 g ڲ: ͚/S" bڅԓbD5$T I]%$SETCRTӠbD5U$h UI .$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%T@ $ @a`> @E`6X!d :N>,ç;=Gm<x a`$ALARMbD4ĕ5H$CRLENbD5%tHP$CURBKbD5U$hH$CURONBDTx$ERASEbDdĕ5HH$HILITbD5%HH$INKEYbDĕHX$OUCRTbDUD4$SETCRbEDĕ5I $ @a`> @E`6X!d :N>,ç;=Gm<x a`$ALARMbD4ĕ5H$CRLENbD5%tHQ(>w !(~> Ͷ~Ͷ]#1W> 2 !!< !!2 !AA66!qq(6>2qGL~(͘[ r|gs[ |q0~V|gnzAgn(͘[ S [" : Gr|gs|gp]))))o{qg#u{" g 2 g >2% :' ڲ: ̫!9! 4* +" >02- !A: :' ͏p6[ ~a GEL Uncruncher Version 2.8 $Checksum error. $ [ Not compressed ] $Invalid Crunched File. $Requires newer version. $Stack Overflow. $Unexpected EOF. $Usage: $UNCR {d$:}afn {d$:} {/options} Second parameter is destination. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files$ S $clude System files$/: ? ͝!= ͻI K b N 0[ 7>$2& : ̫g 8 ͖ R [ !> c  ~#͚!" !!* #" T]~* >.Ͷ> Ͷ#" >.Ͷ" >:Ͷ(>*Ͷ, U !>Ͷ> Ͷ, T >*Ͷ>ͫB * +}T Hb+" ͫ2͚, INbY(>Ͷ>YͶͫ~#Ͷ>  2*O :֬80 !" 2@8>@2 ơ2 * }(!~ !$^#V{( #:2 :2 :2 :2 :2 22 2 : 2 2< 2a !]~/ += :i2< :k, :y2a :{, :l2b !N>[+x\ͳ := : 2 G:b : 2 2 2 G:< O:a 2 >?!>  (2 2 : /2  >/82 0|S(D 2 h͝ =  ,2f: _!!" :Gƀo&> ++~/ +~ #( yA6# ~S(Q(I( T(C(E(O(!  ! ! ! (66=S = u<7 = u}'s ~#: =2 ̄ ͫ 9.: ¹  , ,}2 (!97u,u= u >: u= uѷ : (͝!b ͻ: #ub u<('͝<(ͫ7: ( : ͫb uu< <2 b u: I = !͵ : (! !  ! n b !ͼ >f>guOu={' ͗8: : 'G  x:  ̓ ̓ uX,ub u KQ͚: ͫ5M͚<ͫ: =_u%[ u: =_u* " Ñg2ub u{/<(G> B%D ͻ:  :a :< _: ( {2  u u2 u<2 * O "  > R [ ͝!b ͻ b uu 2Yyx/Gy/O>j 8B= !" ͫ u > Ͷ> Ͷ_u͝>͝ ͣ͝"͝͏&͝͏/͝:mh͝:mh͝:u͝͝:{ą͝'͝: ̫* ͝* +}>sĶ͝Ϳ { :>nö>fͶöÝ>IͶ>nö>EͶ>xö* }>uʶ>iͶ>rö!~ !~ Ͷ#+F#~# : @Ͷ x 8  0x0Ͷ0Ͷ>:Ͷ >.Ͷ> Ͷ~# ( Ͷ!" u= u!O= u(O* |ɇƀo&:  ~: G(> ~O#* #" Bu2* #" !3 ͫ u(u ͫ2: : =G:& (* #" !- ͫ>$2. ( ͝> 2. : ( ͝:& A[ * " p> Ͷ͝:% !: * > ͶͶ* !DM)jJ)j)j)jJ)j)j)jK Q<#~ Ͷ* >)Ͷͫ<<<>kͶl}l}l}l}(0Ͷ0Ͷ! (!9 Nq# # 7K C !bkVF xs{ _zWK C x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$." !w[ * 2v 2(7ɧ22 2(88>>2O2Ga*  ͬͬ x B2O2!!!!G: G6,q,p,(y/,w,,2G7*  33c88 (OFɷ( =GyF>Fg LZH coding Copyright (c) 1989 by Roger Warren. May be used or reproduced on a non-profit basis only. >>>>7*  !;;s#r# xˆ!;us#r# x›!;s#r# x¯!;: N#F#~#~# x!:s#r# x!' :;s#r#s#r# x!"% #"*# >%>%!9N#F! N#F!; 4^#@4V##~+Q~###~+Se~S+w+ws#r)^#V!' q#pzڕ™{uҙ#q#p! ~s_#~rWDM!' q#pz{u#q#p! s#r!' N#Fx4!u!;^#>>t{! w#w~#fo#|g}!; w#r#+|!:v!;^#V#~#fo!; +z+K\{KPY}O|Gʘ!; T]+~+ xx! T]+~+ xŽ!; s#r! s#r+|5u ! ^#V!' q#p>>t#q#px¸>2 " 2 : 1g vg w1  g g g g ~2 !" !6 # xU!|}́M!qzWbˆ}DM#{ozg!~ẃ#|g#|g xœb*oDMxyu) )N#F! SN ) n&))))))>?o: @w! 6#w>=2 * )" >o&wo&: O>l)=g* }o|e." eo!9" !q*#zڟ{* +|ھ±}ھ|¾}ѷ7$!x N#F#^#V#* s#r;; ' % # -;5w' ' ' ;;;8;H;p;' Srog ! 5." >PgR" |gs 2 >2 !" v (>> >>>7{ ɯ G>8%S @! >8 * : ͌: (@* 9: gk~ >2 * : ͌~V|g^z @|g~|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 (Oɷ(=Gy>!9!͌< * T]>w6@>* w}eo0 $:  : g: G}/< OT]>(* : GzGK>(+|0gr|gsBO ,L}Z8 90)))))lg UU|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 ØZ3ENV V version 0.6 __UP:,PGUP:< __DN:. PGDN:> LEFT:LRGHT:RBEGN:B_END:EGOTO:GSNXTF:PRVF:EXIT:V commands (in addition to Z-System arrow keys): 1 line down . SP ^N 1 line up , ^P 1 page down > CR ^V 1 page up < ^Z n pages digit n pages digit right R left L beginning B end E next file ^X prev. file ^R goto/search G exit ^C !!! TITLE CDWH19 - CRT DRIVER FOR HEATH WH19 TERMINAL ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'06' ;FORWARD SPACE (CTL-F) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE KEY DB X'09' ;FORWARD TAB (CTL-I) DB X'0D' ;CARRIAGE RETURN DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"Y" CALL $OUTCH ;SEND "Y" MOV A,H ADI 31D ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MOV A,L ADI 31D ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;SEND BACKSPACE CODE ;**************************************************** ; CURSOR ON/OFF ;**************************************************** ; $CURON: MVI A,"y" ;RESET MODE JMP CURSW $CUROF: MVI A,"x" ;SET MODE CURSW: CALL SEND ;SEND ESC SET/RESET MVI A,"5" JMP $OUTCH ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,"J" ;ERASE EOS CODE JMP SEND ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,"K" ;ERASE EOL CODE JMP SEND ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; SET/RESET REVERSE VIDEO MODE ;**************************************************** ; $HILIT: MVI A,"p" ;START REVERSE CODE JMP SEND $LOLIT: MVI A,"q" ;STOP REVERSE CODE SEND: PUSH PSW ;SAVE CODE MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE POP PSW JMP $OUTCH ;SEND CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END /<_> O_> 0 $:<2> $:m( fwͻ:nx;>>w}}*`0#2i"g!(2l<>ȯ2x< ÿG͎:lG!> #«  y2j:lGk6 !?a~a0 A8_($!:lG͎k(3 :mĻ#2kG=2x:m :j>ÿ̓M!Y^:m(f*g+"`&:io2kGÿ*"*"*+"`&*"*"*"*+"`&*"*"*"*"*`"*"*"*`"*"M!Y Goto ==> ? Can't find it! "`2%"}#| "}"`*<:n *b#ͣ0 2[=2kÜ*}͏*:%G!%6#6#6#s#r#{ƀ_0:% :n((n4 2[2[*[!%F# ~# ~#(##T]~#fo:%G:%(x2%!!%.͒:%([ %ͣ(0[ % [ %ͣ8[ %q:n( !*\!)͑[}s#r!zz Internal cache erro!%F##z+8 ~8^#V+####S %!%F##z+8 ~?8^#V+####S %ɾ# ɾ+ a{_! "!"b\կ2h2< !"z Can't open#*}"b|!"`!Mz Nul filͅM!ͱ:o( !!YFV vers. 0.6 -- type '/' for help. File: -->H( xA.yg>:.!]>..~ .#:Q2[x!|4! !!|Ç - quad-directional file viewer (Plu*Perfect Systems) usage: V filespec1 ... filespecN filespec = [du:|dir:]filename.typ, '?' and '*' ok To search forward: "Gstring", or "G" for next match UPPERcase matches exactly lowercase matches lower or upper '?' matches any character  ~(# ~ # 2͡Ev22Hy2~: #~2: 3#:((;( : :ѯ2~2: . # ::w* >?#?w#!4(s#G~A8@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-* |(~* ^#V#~ѷHCK5Y _X__ _OG&d}& }͉͂00|.,0g} @(> 7~(w#@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-Z3ENV!!!s1*  :]/Y XTCAP is an interactive utility for adding the following extended TCAP functions for ZMATE to a standard TCAP: delete line insert line clear to end of screen Before invoking XTCAP, make sure you have looked up the screen codes for these functions on your terminal.  < The current TCAP is inadequate to run this program. ! ( XTCAP Interactive Extended TCAP Installer for ZMATE* ~ 0[͌The current TCAP appea N`bD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%V0 @ $ @a`> @eE`6X!t|yaPTV,uL|Ka0NS^6 ** INSERT LINE ............. > ** CLEAR-TO-END-OF-SCREEN .. > ** Enter [DIR:]NAME for new TCAP file (CR to abort) > !>w ~ #\g (Z* *** NO WILDCARD FILENAMES, PLEASE (press key to continue) *** ?!e6Z#63#6T\ _ (F* File exists -- erase it (Y/N)? 3NY \U \p (3* No room in directory -- aborting *  ͕ \͊ (A* Error writing the file (disk full?) -- aborting ?E * New TCAP file successfully written to disk {"!6OGx(G?w#w ?ͤ  "y( +w˯w*w# "*!~#ͤ ];=G Q DEL  ESC  SPACE  0 _>^ͅ>@ͅ> ͅ* ͆"~# ͺ͙~#( ( ͅͺV#^#:****:W~(ͭ *[(  :; %-%( \ ͬͅD(K2(B3(:.(-+('>(R(I(N ү$,}lg0gͅe.||d͕  ͕ 008z0 Aą~( #\ ~#ͅzO* |( +~(G  " |("|(&~!8! V V P !6# s#r#6#s#r#s#r#~#\ #2ͧ͜ ѯ2 Í ͪ *~n (#p*:2͜>2ͧ \ͧ  :2!Q :2"~n (#"I \ I l222. y2 ͒ ~2: 62#:(ͺ ( ( : ͺ :ͭ ѯ2͒ ~2: . #͒  : :(~!8 n (#= :T * >?ͳ #?̳ T #!4 (s# G~A8@0b2#~ ͠ ~ ( ͠ 8#~  O u 052 - ( #( #(  2 2~# (+COM~!8=_.:,<>ȷ;ɯ~T (#͠ 8Wy888 8 8Oy70 ?ɯͭ  > . y. , -  * |(~* ^#V#~ѷ" . (G! N Y +X++ +OG+(++< +< +< +F#" ##( ###* #~#fo #~#_6Ĝ+~# ~#(3 ( S ( ( (  y( yG>GO> ͅ9Å?ì. E:gRhʅ>^ͅ@ͅ 0 Oy. ËO:g͛~(ͬw#a{_/Z3ENVZCNFGCOMCFGCFG LBRs@1@͸ ͔ڇ [R͔:_(ͳ ͔( ;*Tͥ8+7MzQuz:0! #N#F#BKXF#^#O~y7! Bڑ !! N#Fg*X "XB$%‘ [f*["[*]"]*NV*PVN [fsR1N331:oW:n((8z2n ͔7:"(* "p:h2c!gJC!J:_{@[V*fR~: #~#8 (. 7:!G:_(ͳ ͔( TITLE CDZEPH - CRT DRIVER FOR ZENTEC ZEPHR TERMINAL ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $CLIST,$TLIST,$FLIST ENTRY $EOL,$HILIT,$LOLIT ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'06' ;FORWARD SPACE (CTL-F) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE (ESC) DB X'0D' ;CARRIAGE RETURN DB X'09' ;TAB (CTL-I) DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"0" CALL $OUTCH ;SEND "0" MOV A,H ADI 31D ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MOV A,L ADI 31D ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;SEND BACKSPACE AND RETURN ;**************************************************** ; CURSOR ON/OFF - NOT AVAILABLE ON ZENTEC ZEPHR ;**************************************************** ; $CURON: ;NOT AVAILABLE ON ZENTEC ZEPHR $CUROF: RET ;NOT AVAILABLE ON ZENTEC ZEPHR ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"Y" CALL $OUTCH ;SEND "Y" MVI D,10 XRA A ;NULL CHARACTER ERNULL: CALL $OUTCH ;SEND NULL DCR D ;COUNT 10 OF THEM JNZ ERNULL RET ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"T" JMP $OUTCH ;SEND EOL CODE AND RETURN ;**************************************************** ; SET/RESET REVERSE VIDEO MODE ;**************************************************** ; $HILIT: MVI A,"4" ;REVERSE VIDEO CODE JMP LITE $LOLIT: MVI A,"0" ;NORMAL VIDEO CODE LITE: PUSH PSW MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"G" CALL $OUTCH ;SEND "G" POP PSW ;VIDEO CODE JMP $OUTCH ;SEND AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END  "G" POP PSW ;VIDEO CODE JMP $OUTCH ;SEND AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;N#Fy( p+q+F+Nq#p)("!J!N#F!) s( # x " *# !~ #[ &   !J!6#!T=> 'E> !~ #>  #~##> Y ͕X͕͕ ͕OG_ ͕>!!!s#r#6Þ>͞>Þ>͞ rr# !"2q !N# 6!İ:ѷOó&d& .,0g} |> (0G|'  d  }R<0 > (0G;-Sr'[Sr[d[ [}lR<0 > (0G[rSr|͐}͐|͟}͟8<8;<;~(w#H (+?OA8[8yO08:8yO 8 ya{_~?(O#Ɛ'@'vZHELPERS.LS#  MBy &p7fh@H-7!l(@! s:E#*R 2LE&yZN"H< $I-HO' Q4r5 fa* es9ʁp< %Ah0 I !At # 㱤w $`2ʂeCya7̹@9 v(f1 Cb5ʃ#!^3 WG#Ne< @Md@o2 s9iVmȲMOAeSB@ рCsځhakR 8THYZZſ *7e2( [Р16sC0+qX( Ҡ5^VaF1[֧AT ާSdageG%.o< &a$SjݰR 3l(5g4CYڊ \n6ONʂT bD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`bD4ĕ5HQ1%MR$FLIST S bDĕH1=1%R$INCRTPԕ%V @ 4 @a`> @E`6X!t> i`ͦ@`RM*xt|fpQSFZ 6ڼa0ì@ HĈi*j HĈjJ(Ґ H.ĈjI HI H Ĉɉ*j0 Hiĉ)jJ HXĉ* Hmĉꪈi0 HĊ*jt> i`ͦ@`RM*xt|fpQSFZ 6ڼa0ìdmqm=sg(~fh6YG y79q 90ƅR= ( +PUje!nI 49b{ %2 Og*h@0gIA 72BT~ C"Mb5AlɵGP)xŁ-V`'2f 9P@+ Y (C2SBQ> )*@3H̲LfbbA©^;;! 'ꂥ&VVHSRJSsY$dW)j 55ʗ$UrZ!\0NKBXn '#&Pd+3H^!0Bxr7*\7"2C|сbe@^Z2=l* pPG]|S!(.&rf"!d|&('%PD53QP*SNƬќK~*3` m;VNN p@̳W悽v,gpY"xx@-bدlH@4 ΃%Ĩ(PXnhODNi#W"nXA@B!Z>@V iG0t:eT`)`rQ @CC> "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱE`{Gjna0BpC "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱEvZNODES66.LST000(  hZN7 atX$@M0D1@1FQTo9 A:S:e aQyc4Ms, *""dF&i7͇XiAS3JͳSI 0Xc2u38hBauFyZc7ĄIe96 @-(NG3&(Ȕ"+՛Mi1!pYCyc7KǃImb)89'c)> C| c1ԀUb20S:ˤ4Y~Ҵnޫˮ&UUZG0y!r. %EOtNF'VWT B!;Qݤp1lROa1(oAoZpn1@fƈƘl zcާ=FQ+|mFxH  R)OFdMUՉS"Ci[5'esQ&-)䄴mVSbDDCD8Z$CMP2T bDDc%hM @$MOVBLS bE$UE$I1N$SHLRIԕ bE5%D5MIQ $SRTHIԕbE5%DՈMIQ=b$SRTSXPbE5T#EhMeM 2$SYSDLTѐbE54MeMI$SYSRNTԥ ZHy = MIQbA"3>daicp ?*R#b@[s!$#/b,?9x@VP>-]bQD4EĎ`{8`wp:ʀ Ub$sY0^wYH> @a@ $#3'#?+_FEBd@+> @ F#ܧ33j( ~s2pE⬐d  |a[ F~p\.Gb2u}@K2Eb,P,m' @h HT KY81VDd +äCYWh^2@F^b,*;u%da##ܢz u%Nb,rd.|>>&~uUt|h,ZeYe@͸BYq@nڳC a #`ھ OaSi^&A:i^@'Xk^~@0X û@C2 XV(FU]_ |Jϯ}Y%ͨlvͨl*06hïg0= u]lںmW6fu xg3YV( V?:ζUhiV`00 Zg g*΁vu+ aY5{εX0,aZP6]r@nº@b5t @d#3nhY!@2a^6hY,>8B"e2&J|t`1@"%%n>9@f ͒,>;2GVJ3CK`׬#=#38#<#zF,<'3Oib+)x#X`jfUfH {`@!ڰd[H TBP@%|: RT\eA@* #fXꂀ-UX#/:"YxjPK6H@ʣ.Q sV<uB` PeBHbGT$Pʅ4ETPph:qSB4Ev7`UAg1YV;s ]y';@'`@#Hʼ@#PҾ'q#^yVq\U uhg0H;GTzXT<+Whň4E@Db0f H:@` ˁ 86̀n; ˁJ ]:@*x|,f`vzuX^2 ڄfPq ]R0! Wfpe_1UuꇀT`eGT\m\P&UU qt !1YVP>Of7Yn¼AD@w "P3hlP⳸+<qYwX@!'qXذþg1YVq !CvⳀ^wgYVswþnP0Cvgʤ`A\uG#*^qm+8 la5 Wg[W!qYV;sp8{sq[o@ew(\{6ށRHr9؀w ;|Vǀx"D7`+8 qYVs;UBg2`wg0;C~Wla@T"9i*F#mmQ0G ^lTVj >\"1Fa߀G zYT`aр XF^Cb |eAuF~s?8.W#s&VPPʃW@,ڌ!XBJ:b*̂3@[YW|RY VP1oT<>3jhSUHuA4uB.:vmݐp!XF^rbKͼ/VRP[6 84QX ;*UQ Q j;گh8?M (eUWnT fP`0: +8 YVp!^Tx aZ@cۘ@ʱ<0 0?L\ڣv ʵ@+*:@*X:@#j9nj"㭢dEWtV;(:G0|]nݕBX+<qZ+<qXذ+c`snH)E"YVz{"v*yVwʦ8UBg0}@pk'XR!>2$Ghy)秕eWsuG8XU=9bV6, X+`EgYO{ⱰVr` ذwa׀q T|BٶnVT=BPP¿Eg+8;؀+;sp8`+;8, ::`g*3·n>28XwpGT d\|*aСsJ2ͪOC9EWtVq"+9BV6P2\+mR`d¦aLT!w⳸+9 WVp`"+,.QUEg+8 Ỳ;na*{eVps˃%^2 1cb% ?:*rH؀2 ayMOqo"7(Q0\bTH4;+|CZ¿0|#\|:xsʈ*$QP:v(h#CD&2 ;PeB@4DI\ HeXg #+0 gz:,eBb*FV= ʇ1 V%nB_&ա #6+6 *4]g0|)>6hKñ/dg> EB$%|]b*͹!,2 ʈ x߄h@Pꇀ=*PI4)W$0IW$UBT4&\x݇x@ \y <P2H8}SpVʧOk*?lt"2S`ʨ!O*?쪂#PQnä2 T< 2 :f_ STBu\(#?'[ aWpEA$ALARMbDTEH&$CHGB0RD4(h.$CRPOSbDD%E̸$$EOLbDU$4X$ESKEYDUU$($EVAL1DtUD`>$HILITDĕH$NMEDTbDT5%Ḧ>$RETABbE45$8&$SCRTBbE4UD5(.$SQPOSSQU bDTEI@,~nW0g##sf ͤ` PS U+1<0D@Be[oUQY+U}Y!4UK@bLb**` *!4U^h"E^tUdbͮ+@YUfXDVL@Ufa$ANEDTbD$UD($CHLRD4P$EVALbDUdɰ$GETOP2Dh$LBрRDdX$PADbE4etH0$SVWD2bEDTU BE4UI@Մ~`eXgd:x2VT aR[4+αfU,V23@!5VnK#9 #+ U5@28IВU#( 5A22S#&Y20US c$IM1Y2hU#MRpSQQ bDTEI@ՐA@*2 *2*2*2@*2]U0FmpPIxFVujxy, d@/(p"݅Z*:*> @#U8\5Dhͪ@L:!A Q3j@ª#Pʔ0ꭂ-VxuWAUlOu\uVUT^4jͮ#@2:: vWUE h"ݕy@¦TUGUlnª#2`::`vU TE ʦ"݅HG(a0mRA"ݕNGU,n§#2`aTeJu@T5<hê,ͯBR5aRmf`&ma5aXpUV CHF?b*:@*P@ ̀ nZ9.V]ՅSPX3@=eSP%Y" 2n 6UQ04m[ e@t&* !6QˬU^@! (eSaՠf!)(*)F_1"j f!)F_1"r"Jf!"*F]@1"" zel"&!FU@)"* dd#'FI@!"rjg)Fl1" $gH)G@1"rn=a^@ /7Xȁ2YP00 uV *eaxUR@0r@U #/beUfpQ[1+! cWա\3qxF#\6m* V¨ #v2HeU]fX]b D& xڴ@'j f(X 0Ȋ@p@Y j@GV @a^mY2"**b*!@lèLڲ|ZC)E]5 ^ QcaR !Uf",Sxk60 "c! EaؾW1 xfװ! u8#9nH`7+ W2*l u6Y.P1rUo"+*EY"b9 nFwlUheVrS` hU]ٴ0 IXwUm@lunFUZ2U"b^b+j!n!B*! nVW[P7[6VU #/ h 642!1Up9l;*eaxUjDV 2"b(fp6eU U4`9EV V"gūFaU 1U9uFsd% rP9l!@E(@|`, ,HĈiF*HAi Q-Y P `c.` 9I6:TQ# !%:2 *  1120IT#6` =U9R2Tӣ+@AR3IUS#!45=Y2#-`MY]2Օ #8Q=A=6;IQSbDT% 1=N$ISTARSV bD$(%]I:$IWRITQS`bDu$@$%K 5KP ZBfРm.T u ]@l ]@ ʩO 3lʪO 3jCʮL^͹!J͹*3mC6 KfpUf 3@хuT@4ulPhºB !anfQU"\"P`{4i]`' u jY UB"@%! @DlT * hң`o ,:6>-- %rk@3l`² l\=aS6hè l|0aY1UuhPͳ`Nm.66 +"ͥUA:T4±`cȁ ;"[Z,Kfm eZp1xٴ!#@`nʼl;: bf +A +>HnhY.Vm !a_1Uf EAP UA CAhҢ 3@UfѐB˅zPm fmfPge #6,ͺ?L*{UrB;,#66#6+vX|#a`G |0aY`Fm=VXVXu2%B!if0w,VW,wW, W,u!^_dhPC6ׄ3nC6҃2#¼l4 >0+6+63jC>2+6ׄ3n3J nC6+m fPf*XuaS@QPA_6U> ucm f0UTfPq^YWG&x UcUxUKAU|0/\ͨ vfaY _W(`ÿʵ*>6+6҃2 )}uo*l; ͠`+ @2+ʾ`oC*ih;JL+ aW AYX!h; >,+B!nª >636 B ͻ@^O4CIY$|!aZfmP`mfjЃ3n3JЃ? Ѓ+vxUEAաfPfUz/nA0eZahAP UA`ڴ ۊͧjЃ3oC*Ѓ3ih;JЃ jYh#K<r&w(a\a rdYP UAj+,eT6p2d\(* @%f@Uf $pY-W(NUf@hڥ@ Erl@F04mSu{jD4lu063@WWZ,+UͲ Ͱ jÃjp@ ͭ!X#8 b f +>-- %fPqUf@hҶ [ Ӄ;8`ø ۴Ͳ^V^pY,W+6l"3`XW(8fГW)y: ~ x:4|- %P P  P@ P` h P r@`mm ?`XP ͭ'0=d@!6d %$d % ^,K$#+ K626,KUʯP@?8Z,+R3khH`XP Hͭ#`b@% 6 % 6X,+S3khH`XP Lͭ'廅b\,0m Nb&qn #γhY,V^2 T ͹m*vAK$B4< 3kK*pVBFT8JBGhY' 4``a PK&0QQSc*x1Qb2> ѣ 5AJ0IUS#1Y0;P@%1;0 SV# X%=A:: SԒc%I9J:H TT`%]I::8 UԒU#+`x1==-2ISՑc3X9]22S?A2TS?@y1UM!3Tc8Y%M5 2TSP!%M5.3 TSQ3%M5%3vTSRR* %M5.2TSSQ#=%M59.2TSS#&!9%M5=.3 TSS?@%M5A.3TST#' %M5I.2HTST!%M5a2 TSVTS`d44H%M5=ISAMCKTSSd4Մ%M5aISAMIDTSRRd44%M5I.ISAMKTSQd4%M5A.ISAMDKTSSQ d4$H%M5=^DSCPTRdtEE(=IMBORGHLSԑ`T$t$8=IAM^ISECPde$TU-e UKEYPTRUdUE @d@g 2O!XlxXX%p耀AY<u#94\,:" ;Fmb^Vm hxí,&ң@ `kkJ:p^l mS0![^. ՛u鰁)~鰀 <-UtzCXY9GY|2Y>@&m nPm0鰁fސmXfpm0zCvDޭW(D kfUp^#8ݒ!TAxns6a Ϳa@v;3o}6@MD 6a)ͽ!b63ns6a ͽ!:͢aV+U!* rٷ1Bl۞ " ͼ|ڶL:1/xs 9XHTmf` r6*ķLK¶NSERBt-!|FͲEw[6:l2bP[6263oxs68Z,%3h*ב+ERlmuqCZW|dP6߃Qʹ`CUfxY,&jn(kJX#3%rYX5Hٷ9xG%?1`<4mS6mf担doxsE`CvKf6V`دݒjn(k6!h UOlqWJ Ͷ`(i|± b0]@ٷ9pX,mplFuܡ `Va06`CvK6\Vm i\6> ,ڬ¼mYu@ٷ9+T3h64X.%{Ú.7dh{EWmVm iP F zh8;60#62#UY9¤7dZ,D|YL=qCZT|dP[6n(kJ̖: f0m iU`Aͻm*@ V+U!A* Ͳ`FAJ  }@VS72^ ºK| YL=jDU(AͿ f0`[zCT`Uc"3$aPQ $TX,B3@ EdZ,7dh{ՊrP,@F͹Vm0Y<MpW!eaD uͽ! |[H)nʭKji363k0ˆ@@maѰc݅bAOoj 61Y{ØvlͽB@ TmXQͯ b*PT ͠b(@`fPQsDl6 ۴ #@ tlURH "BRFVAS9"BI6m#Xvl`Y.Vm(@f 1Jp\ͻ363jp3ER"E6mR+ڈ !* *mTXp#u@WA6mWٶF w,T(@mW'ٶa\c¹@Fe mPy@ " ApP$a^cҽ;JA l+6;Ͷ[rʠVmhY9UQ@(EVDUP@BDO* !",> VD*@f爊3@ l *¬@XҪ*+oc60;ġbQkVF­61/xs Gm7 fm: f` nͦ* : UQHfͽȃgݐͪAҷG%j]b* fpvٵ9wȴ@>3kxs6S 83op3hpͦ᮱U\' ͻa(@f` Eaސ(fm f` PH=E9U_&U@YU!bPF?1l>ik4* /αOub6m b1auEW``9@l>@feqjk*=_&% x(6نP$)}P ͿNSuV+I&?1 Ͷ{9EU@ fސ >:>$cBi[[BY4UVb sU@E~-mV bP6-ٖ(-dD/8Y, f XfU>fP^Üx ͣ!αUa * SmpkhH3ns60CEUBi͠b@NB| " ͽB@NQU>>-\,^ͻ!Ou|@;!M5|@" ۺ*"U<fѐpfꭈ-W%f0Uc':$aL ¾ % ak*̫#>)S6zC9|ZS|Sm{fq x P6V->9ETA;*| fԀͶ* *6meU0J VQ 3lHSj |Lr_hpk([6 G#`3h8x$Uj<3m8* lUA>M}V ?vK~ũjT@CGD"bH:,+J\"b*R 9L %rIF:q꜈n163RY1Rb1ͶH~rGX' dž+#[0xkpF쑸 ڐͷaxGڐ=e[m fӆ\,60/ݒrI@@"m e^ (e|a\[pFup>\/SՉB" WQKՊ!53oH`,%#b7%f !cD@&m"(UcDfUejj@x #/·YjʫAèζ6a63ny/K6Ç3oX}6BfK6Ç3oX}<BfKzhBX%XVzYxsEQ8UP+23#8:ؠr@F <,XW9;sśCC- %SaK6SK6T!K4 hM,O,O,2Y>2Y >2Y>LP &mEcD F#VT@kXEdDpDTAuÅTAj^ eVWb Na^b0k*XU`Ņq`) a^@&mjfՀ)y!^_dUFV\`) e\@'iqA6mj,+ö LͰHF͢Ld+k PͧL>3iS6 mf0mfՀ5\Us 3iPMZg jSʮ`o* |ͭA :ͻ$C~DVe7 e 6L|! U@ <dlC¢L£ͧLͣ *8ͪ f PLWgFwٷ Bk S6@mX TZg #63kP@,eQFmX T}@ٷx!^_djS4¥`3n C61Y`(ͭA ڰOufK4hp `ë@ͩFK6+msfpF#f`63kPAO!Lmd ,ۼͰ ڰWf֠mX /Y if0FukAͦAN 64H#Ygԙ3 |ͭAՅnx <doр3lC0 f`iO |f fـ1Uf0Ͳ hC D @ͪ0E*:Ͷ 0DTx!Th6 ,! aVm2a\VmTͩLP,6Ղ + : vU?? UH@b.'1ɛed >  m2 PmN ͵A vU$Km W\0(4a^Vm` 0Y)pY if@y}ͮaK63iS6 DD d8%BBG6,fӐmsf|#eRcYK6lf ګۈͧ!,ڰUT\)w;f ͻك D B4$3@E H2pDt e`#83iK68\!Vͧ!'śbY if`m2 pF ˬCB@ P6+WXG1fАBTXa^fm9 fՀFʡaЀvm9 fՀ 3kK6mͮaK60X1}*2~sTw|ͻ ?fАOٷ!NBY`)n£@ۼ>"'0=Wٷx!\)w:͡!#jn C6jR݅TAٷx |#/Y\ zʸ"` ڨ*2^b*Bf0)"eG@ `F3iPҀ3m+6 6m(6ڃ6 +U!@` f ۶*@+hY,VU@ @d#+ K6 24u4eQnhY.VmaRUf ^>-,+6@3lCʩA SB*KPL`6Z,KB3k SP /F,(CI#KU*2~0=d\(' r,KP ` *@/$3m3dZPj@ P64D PeoCEoCdZQU@b?'|ZT%[XT$|mS0jET""J2l0Zfڀp!-`ZQUg7 ErDD eج#9Z,+U!`,f@UtY$i#\y bI #P#<,YWP%͢DBk63k S÷,ŕyBLm f md pX,55\<&# 'P4'a a X.$| a+U@) (@\.VhhY.Vm  rYD(BTg(!'FIBi"jv"!'\@q"""*b,t"'"*GM@q""z*tu"'$R@q"" ru") GW@q"" tuL"+$FB1"* af#)FR1"bzzZ4dL.&*h"jz,d#'"&FQB1"z*r4f*( FDB1" r4d+ '*!Fir"g#&*"FaB2"eP+#" FX:*"e+#(*)FQJz*`'+(*)Fijz:Bdf#FN*" e +)"*!NRTdED(QRGETDTBUe4UDDHMQQ ALOBLKPdtUD$ĸAUQ 1.SETEOFUQS`dtUE5D@ָ %  hKG@@=XW(#*B"@=\3@! %Y"` /·Xi6< #@@+:vD4eZ p+DgZQphEcW[ Ȁ:Ts- Œ>y,+Th6EzZP`4h^,ͼK[]b*&r "*u T jh  f Fb5h6hPY&o>&*D*~*6(ꊀ}Iω;U@JdBk4udE@/VuUETT oiXP"eE@ "`hEw|*AV(QPUfؠR*jʺ,$Ea3j *ဳlQmP@!PՅPETa_!xZ,Hö@ Vʋ@ fb\j$V<,YU\#8@D Dg![D fc{4aUp' Ed:b\>.U4H&#?- ŒWlHŒY$ b\w@IxFVj@ IxFVj@ IFf7Z/Uf +ùLVBhhY 8Z,Hë@Cc=XW(9@ PFk06׀J˔#B@ P6@m$hD73hͻ. 3h hhH6@ m8pxFT|,mV@7FPb\#=#+ ƌ+#û Nr3H&#?g ԁvxZ,5b+ x562Sԣ,4 5A23IT(t5=Y3 Q#9XI3`ԒU2`11= :4SГ㤀1=Q 29 91UM! :P: MAQJ:U㶀QR;vUyQ56;UyQMQ.3XRST'y9]AQJ2BSԑ# YAUQ 1.3SS#89I1U93PQ#(`9M UI;UU# YMQQ ;USѣ-yMQ-1%6pQQ e4T5U$XQIMRELUNASS ddU4H1UM!&FLUSHBPRS`d4%=IJFREMEMUSe4T4DH9 =I1"FRENCHPQ T4Ĕ@Xg 2O!XlxXX%RPHi+6 (c`l@Vm;pY/VͶ@ 2u+Vͳup+ 6΀8[VP neW(F#+4pZF#9F#[4\:~hY,R9tx`sdR&`b31<0Y"GWT *HpܯVmx+F#qEU SQ6pnzljJ*6hH%:Lzé,͢ M@&mjt 3hh%4װU +6S@Zh :TF#rm*g&eu+N9!U6ug!FpxZ.KuVe@۔TlpX/K6=XW+6ʁ( h^,+PX,;zbJ@Kf XD O31ePP'+X' 怈Ifrk%pZY+umK@-f0'Ef`fP6(WT_;Z,%j]b f Upu@ `%NlP `eg[6Հ4H_ lU \lP ` T#9 .h^,ԠW+62(#b*t nģC`X#`lpYd@bh TQ4pg' Ednf 6o*@dj+ yT@!bf^u0ʴ3i:UuZ``=mt2:UuXڲ*NUfV"{60 F#fay"~7(Vtm[#Յo,;.ZP'0u @%x2xb2r FFT.F^nW00egYXF^K6@mf Xf& t #?ܮaN@,0^nuea",:26X`6m 3uaFp ZC k*0Vwa a]1xFVdag0<6eayͣgFj* 9 * b0&a #? @\'09X`#ʠ@AA@\"+>~sUF~[ #+5Xt#+72qb=2"UU\/)n @"3 @"ˍ@\.PX$/V(8,݅@Dg3@]`2m2f²{6׀Db3UglJà@ F~\@ pܧ0!@`<^m5x,p%`&u2?xFà@'**ݕDYpFYGGdZP)ͩC G|Ҧ#;*V hY,VCbAB#4f 7à@,B(8!`x~U/q5\Oc+ hY$Sqr擡 9NCIs F ='nqzO' Dh(b2a݀PĈ(II`H'Ĉ(hj H9Ĉ(JjqH ĈJJ Q۠Hch)PHĈi))њLHUĈiFH9Ĉi)*PHEĈi*jq*Hi Q LHeiȑP HĈjJh@LH\Ĉ1 H\Ĉj H+Ĉiq3l$BHN $(R)DR!TD y@N@U'JI0B&JeRLR$ 1L* $T/'JP@  pU&JDA*JRR& b)HA(da0@P $)PR) $aA& DR @  $aA& "IP  $aA& DRHT" DRHT"xE DR!TD 0S" "P@C')HO)R PR" I4LP  򠀦E* HĒa@L'dR @  DR @B"I O#RaE HA" $aA&RaE $aA& eB H   T D  dR8 &$AR $aA& DRaS" $aA& DRTN R)@M'iO)JdP@E)!@  $^Ob1S# 9I62^!II9>3T1@IMIR2U#$@%AQJ2VSSc`1=1MR3 U'QTbDE%59@~s2X#/b ~1~s2&K2 C"*p~`+3ӘWuYXF^4V@s|{b ~9,Wxk@Unʵ@Xf*h:v#/ dV|UTjQ`ȊxW<U^t|fP#<  9I6:Q% IAQJ3 7  !23HIT#: =U9R30Օc+Y03U#751P3ԑ#5=MR2#/`MY]36IQӣ1M923ST c0`U9A.pPTbD459@#?@4#rA٠D# uA@&U\R!4UBg@ʩ ꪀ?L 0xʓ0ꔀ9* :a<!`<^na@,z-XS`XO;2*?l@@ʽ :*U ;*܀ Ep@UWA}UPMzǶUYWU@WM[ŕV0[`ʪ0 FFø"3F¸'- &3Pc/8 IAQJ3IT08Q=B3#<89AMQ.;nI㤠8AI6:PQ#8A5I.;0Tc(8IM1Y3U#' 8MY]3HST c.QI 6pUU`bD$UD( !$CHGB1T REE%TX1M$CMPABTRD4 5AJ$CVTBIIUS bDUdIM1Y$RSLVD bE4d#IMQ$SKLINSRP"#qONg *>z[}ͱ`axxx*$eSӘWuY#4U)0*TP@GqL « UV9LUgb3$/3E$`׬ب Y-Pó` P)RVxFVpZ,x x2.Ospʺ`0v@b7+ <^;>a^[$4lm_ +FTaPIF ]2@ (d:a8QX?T{eUW@YLYZm}V@%d_U||fYG6Gry рIxFVQ8dnY+ CZF*V UL:dc* =e]( F#<r:@Lhڠ@@`<mP ' x<A@mmP "y XT ͮ$x? VĈ(II@ HĈJJ Qۀ HfĈiF HcĈi(Q0Hvi HĈiȉ* H$ĈjʈI1 HĈ)1ݐ HĈ誉pHsĉj* HĊɑ` HĊJi1ذ HUĊJjFڐ HDĊh*FH`i(0,HiɑP HJH8US RDdXA$SHFTRMH@ @,tdB6 '_ |{tT:ISՑc`A:(SQSQ bDTuH56$MENDMp@@[P\t-T!TEB@xFV1ɇWTY?l+*@Ũʫ "*ù@ ,6Q@`@@Ff7ٶEA6ڀ@?L+@*#fPf`mP Xpom:ٶTm@DT 2|ϡ{6ڀF" hXq@ET* |b[6 h" P a!4UBVU1P@ՅFETEA-P`m:TX@ETaSUP@KjTP URP[6 UAb*dD \@DT(]DTb\eZ:Tͪ-`:@.`*U@,"ڶ.> odRfhɌـD$$$ADMEMӀD4($M.MRYbDTuH $MENDRDdX̸$MSTATbED(.BUFF0be$T8pFREMEMQBD4Q=A=6$RUNPGՔQbDdY@ H\:&uKha] 3@p@*4BTCUȀ0ILA[(aӠ2> $P)`"L("\(^2>.QXXC0H [I+U$2jL("\(a2>/C0DYP WE"5]"Q A$By 7)r`ea\x< 'JŗXTCOAC¸"w4  p=?H* @Ep( ,;ͥ@n¤@ F=,TT}P0& pA0E@TD0 pQ8Z,h$ABNRMBD4̨ $CMPR΀D5U%4x$CXENDbDU%%4x8$IDPTRDdX $OVBEGDe4Tx̐$PGBASbE%Txh$SCANFbE4t$TOPOMPВSbE4U4X-e%N$WRITEI bDDTUH 112$STARTPRDd@KA%` h8Z- KC%:@W^2`P `ʫ$6]nVme[,K0~s'w ;·0=f[W+*b1Fa]4uNb3"3nX;6ۃ A_l .(F#?󻅇L.PPAEFX++ N@$sT NaS0g(ٕRA1N@Z,0Vsmé eg0UG 16]nVm?9uXVhF~*@mQ  m3*Yæ`\ê.QF~s36eYl  ⳸+;Y.(D m9aS#ۘ`ʦLD!-Mjm8? *zs:$nmqljP@Xv.V.pDg8P`phڮme< +l~sV fwDfܰvmeX'+`ʳC =aY' F#ٶæN1[b1*́n6p @duA6U3qm;æ`1qG jAv|u@UpB" emAb[6߃B 6僳mH0ʁ9Yu@+?=vV| P` `Q 028HUDgū*T$j2 ED'zP@ECPms~sT0ÁDb1: vUfw[]!02a7 2`,8l +?9q8F#?9+y W "Y&+m;y!6僳mH2݅[Z@.Vm?po 8D(fܰvm[H-U [.Q0`F#? b0=F@Rvfw 6Dmap7 Fx%±XaTC.Գp݇S,jA: vU<5l=e]GD Tnʦ`6mut#?9*~sVLx0 eA@nVmuY s`Y`fw("3nX;6ԃ ݕxTnʾ`1ln6pce^Aü 1* :f >4Ѱp9~1*`*~gh|A"65¡`hpb*.V(pNg|> 0*!W1eZV+uB@U P`_6(ʙͫ: ~H b3՛t^.1uB@ʄ.: uL: v~a֐3m -Q Y¯dbS2; ; <#A݅|O!# OD$ F_FUfå1FåVm hU:C+ :! $eT@bY.VmaTc|>sX*@m=,Vf+B #m;Eh@Cg: WPf}pC@n°~+ 3l9-҃:{vUv{ۈ~P,NCfPw dʿLJyg[ʼ V+60O|>q{ ݒͮ@셻*߃`R)Od@ʩ^1TW 2 Vmm!h@ Sr3YjUTmA ÷cʪC*> eUlN! :: "Hp2ͶVmuOVCCW@·<2GTHNp`6g[pPIxFVJ2sl#db3rj? +#YzYKUCb6mp@!%o,>$ABNRMD%%E(x>$CHGB0D4t#&$CLALLD4($DCLOSbDDDTX.$DECLRDDTUH8$DNEXTbDDT$DOWRIbDE$(˸$DSTARbDEu$x$DWRITRDUdH6$EVAL1DtUD($ICLOSbDDTXH$INEXTbDT$IOWRIbD$($ISTARbDu$ˈ$IWRITDU8$KVALbDĔTh.$PRINTRE$E5H>$RSTB0E4d#$SESMEbE4Ĕ &$STARTEu$DYPPՠbDDT49@8 ~%s@d9%qx#s@ ͢ @L@@ꊀTD S@xX(<?9k*l:>cQ8Wx[e^luU@+ʸ@ :ͽ@ GX0*ՀFVxe FVpv@;Vͽ@ 22*ø@H6:`ѕa]: vUX+x[T n`{`â#vHV2V<T\uOF;TpEJ@_NQ@NU8UK@'O:`* `"XUUTUlaV":+w `wpeaYV]Y Q@eZpV"`ը ݕuY Q@UW@o@GU 'o $#+:7ހ APwUlEclwaUa!U?? *0>= w_@ :`tuoV*|>2G*j _ǶM /  :>tkp `KtC+4#*8xd=  PP!0D' z8ͦLڊ }[&fޠ!~[ -WT M 0e[! etXvu^@EV,x,:dVH ^&U<y;t :Cѕd\" rlg@ !"$Fe@"zrt""N)"* dg #& z":*ze<)FB" $d)#*)Fu"J:tf )&FH@i"zg )+Fa" g`* #B"rdPS bDDT4 @"Z-KA@%p hH,Z-KD%` h`Z2-KG% hZB-"KI%` i8ZR-+KK% z*Ҵ " ~w08eAb6mPp[6H ¸ͽVmP0PP4ON`C ET*Z¿04W( CDuFThzsTuAfU-PXOk h^Ġ Ә ʱ",f`qQpaV # ~HUF6h @*aX # ~HV F6h  *󸆗h@2*&****":`* `" &K2sn8 @2 0~UC@41H\ͬ !C !G)@ !hx:G0UK@'v ꐀ,vR*hx:G0UK@#` iýB~Vt e8l0ʵ1BB4[ 4L}XP j*TnʱCI<2` "[uuH@: *4:#*D T:`ph}^"-Wdnj;YX/9D4h;?RU?9 '0AI@`C*hU@@`C*hч^b3 ʦ`n !:`C*4lh?9zܬ|Qpʂ8YEBTCD@1^`C*huDTt| Q0[XeDq[-¶U HDV * U TnʹlۊxeH@4j lۊ! a }^p1X* uXe0;x O:}QBX*! "[Tnʤ eQg0AQTeT@@M $Th#HaVA|eVExʑ0 @! ®0! P@%Q`&P'FTtu@쪤 !Sʉ+TYTxnʳJ2L2N2eRVm#6T'#4LjUK@'n¿#i xs8sTuDF _>hdùB ݇sTnʳ&=}TRX*!; vt^2` ;42" +Q W eDT|uD2 ͬ&5/R;UCGl: !RX* y| Q0Iꉀ-WLe4Lj^ T2w[(vuG @2` ;!RX*`y| I C@eJ*&: +TeGTn« êGR T< `ۤ ͸T%Fc݅F4xhã&^ZQTeC@WeAHq !C ;0 t$uDTt| Q0 `x,R(d*`hN;N * uHdPX:T2NdO(CH@[;6WCI&-}Pquixdý@D;P0X (FU=FTl2D Ux`*#*B~sU CG:: vUt:` v@e@T4V"U Ւ+ Q`*FTX^P@ z2+PXOaO+$Qp*FT\^Q0ʉ4t|>>Z ?2J2ͽVhd;R)N`2¶C|aPw(NT  h=t< ӰINB :r?M0|eZjo?s>2hgԆs@>2830 if*P`0AhB2pEL4nTHuAsTCAt<uAAY |0£ `0yPU> *!"*JS9ET4*@,n .T@Ye T`r@]b${s &gnS˘&2EF'0dD50%dD4$EI@nd´"0#ap qETHV:`C ۀTPuLTù *U1;0 =9 U #*@U#*>ͫ0P`0@@b*,>}3h`P\*9deAGu@@T a'3e@@`*QUfpuAUXUU *68ObC¯ NQUE0(uG 68O` U?THCTx*QUr@´Cʏ«gvC\UEb*4QU 0ʯ`b>ٴ0(uAP1?TtCAW0ig0<\UٶCq@T>2m08JBO*, 0 ꎀ)W Ucb,ͦl*CTx>~h`PT8|efa RpHꎀ)V UDbͦm+*U"Eb* ͦl~ ;l:d:vm QX3i[Jøb#PUQsU|fa RpHͶ  "zm PF"U fpQ; <|flA4PEI#2(9 *@1V0GX3i[* P8|f'>2m08JBOK*LòR}VX eVpR`:T8MT#PCT8* nҢK6؃j(:GTaVpVm) >, ò ~sTF~sWUFUfȍ*@˕>h`SDUvA-jAGT|>5Y0)ò@ `+ͦm rؤCvUFm ZWX3i[j󂎨<|fP`2cAT *@X3l(e* nڱ!4UB-G@ XmC 3i[*ƃtxuAUpQX3i[J9GT̂U6*3V« HUEm ?m p6PMMV44ͧm* x 00T̂ VpF>h`P͡BfaNL#;O`C 0 r(D?9 mJ3TCHdFh.KUsYH-z[9ePs[6EU&\xGfh: *P:AO.dB^{Ub0fpU<ʃ $UBb`UVٷPH:T uGMVuA&UlXVuAaА'lPkA[ ჏ z͡Ox͡CCvaQpSh0b*>3h`PTXMTxº!UfpUa@w!MTtNʵêqXP%MTeXPUu6h3V"6 U~ٴ-RBTe]U up6(@ꏀT>zh`P͡L;*UfpխjT(MV 6"+fpճ?bFfЀC"* *a*4>:TXMT %6mP1'QX3i[j⁰ FͶ "Ufp YCEDT>dm08uA@ ʂ*t JQSC& fжW v%sYU$< a@UxvU ]00H]bͭᒰxpð!#E@TJʸ#JpFU$uAU Pp0ApG%*   ||PPpLP0K6ҁHH8*̫̫ a]ГkW%:782A!P~[L#0SʣaO*?*=O,:`L¦A U) mSPBh*@U_[ fp[ QI a0]Up) 8PE[Bw)aXpq f hþaO  S6@K³L*QUku;6S^BC-˕*m TH2:bc»NUui[jV4)*@m7 m^Сf m QX3iXڠcʎ2ETH*X3mPd|fUuP6Df D&ägd ~ +3kX%+rPYyͰa@abaͣ<*X[9LFm "\*6[x a\T|fs<T@e\m  w ,UjV(| Qm]f`qsU$0UCbU ;i[Jw,uA f0f5hAT * à! @20MVKu@hͦlp Xa@Q60mNTeV0m  U1-aV`U ٵH1 eZb8.V0ͧm^*U fc PUChB ͧm^Gfpժ <mW+?lrcuA&U f5t"#;3śx"`3@ f05x$vm7 l2`L4 w0dDg0|eA&U& {TV~g|+ӘWaXF^jrEpBϊv= >U4uA!jLP`1^\'x<Hhʎ02 0hL&jhMͽ1sV04ELv4#'TuAU m?ٴ0(uAU _h:` XtT8ULC\nQsXW5NGVm paMW5â7+憸\a2B>@pr,(.V +^X4uA` *+Tpô0AhATpN>  Ѓ6C6 xk6(?8W*gf@GP`1hAf@5xu::P#881I62˓S.8 1MR2˕Q#1At 5A22Ԕ-AX UI .38Tѣ2aX UI=:3,TcᘑMA13dTTc?8M-f2UT#/aY23#5`ؑQ=B2S'8%9 IR3#!x5U12Pԕ#"aؑAI%9R:#8!MY]3Uԣ/axM!QJ:T8xMY]3 'ԕbD2tH 1:$C.LST  bDb5H45If.BUFF0SbDT%@HCRTDRV( H\ĈeɊj H\Ĉi*j HĈjJ(Ѐ H\Ĉɉ*jР H\ĉK1` H\Ċ*j \aHq aHiӔSbD4(=UQ "$INKEYSU RE5D @Sꏀ  $UN1;pY"~"`[ f@P8Tnáǀ5\p 8Z,h%?fheZ`; f@ v dh1"JrJfl!'G@1"JrBv$%h@1"zrv<'!Gf)"zTbE$H=A9AJP5[d\2OkP劷~S eRYPaR4f@ҟ2\T쇨x@Q@!`8 1 HĊ I)ʓV dE4$U8%19FKILLTSSe^ i,(@|f@ ;ha] 3@YPuw8! ڤa]٠Puw8mt[P4Y<n»@w4 pEWeD4f@Ua Fl; w0N3&2lS#3@M 9:hԑT㩠%19F:S# I96pbDh=A9$NEWFLѠbDDTDh1=J$READFԒUbE44h1Qb$GLRM^ jY& L*Hͫ6mR0N00fذN@H8ͱ` Eb\ ,f(  ڎhY!6pp-|ʮ`0k  $T,c~[.-p2Y`e@0k! d.V,jFTͧ0m:a[`mXk183lX P@p i\xj٠dm@'`h %jخP ?9q;X,b\u`{4 2 G@G%dm@6\(~s3wpYjB(6fh06&hpX,m[ U@P Arh AaT7 VB dh!@-*:D&\ʣf0ڧ@b|}Ȅ{fՠ% ۨ͠`,ͫ@ |[(66hrjDB ealeY03C!5^hXW(8T`F\x -W(~#F0dZPpi8Z,K?q]b2@ KU:@`2eRG VC#wpY KT n¤ 3i *L:n: (D@ %ݕRA:rh *݅WA&efUe%@#W-Lv, 'Gg@1" b*uh!'G[@q""*b4w #)Gv1"bzzZ4gH&"H@q"r*2dw'"#Fea" $v)"#GA@1" r4u\ +$#NԒQ REu$I@X#e 2D0Ƞ$GETOPRDdP$RSLVDREu$IISadTD @Ԭ:ISX*T|Z(eRP!4BXҤ %0Y2Ұ UQ`RDDc%ZP5Eu9j>:ج"uO9^O@Eaҥ`{ Ar.o> 9>od@)""JtD$+NP!d4%C @:PSQ!d4%C@:SQ U!d4%C)@: UQQ!d4%C9@:QQSd4%CI@:S!d4%CY@:Ж RD4@h)d4%Cy@:Sd4%C@:STd4%C@:TЖ`bDT$ 9R$RECVIS%P@bD44H$ENABLRE$T5h$SENDЖRE4%HI1N$RETRNT P0Ĉhj HĊI*q H8ЖbD4a !:$ARGADM@$ARGADbD4$XCHNЖ bDe4Tx=%1P5:ђSc=YMpЖ`bE45$@ĊhjI)ӀЖbDBtAR$D.LIN QbDB5HA!P5d@1"!r "t"&$G@1"!r:Lt"(#G@1"!rB$t")*NЖbD5TI@ĈkȓЖ de$TT UFRENCHM@ t*#G@22*j*lt#)"!NЖ`bDT% 1=N$ISTARSV bD$(%]I:$IWRITQS`bDu$@ĉ(iq Hĉ)ȫ Hĉ)I1 Hĉ*j*Q Hĉ*I*ЖbDDT 1=N$DSTARV bDE$(]I:$DWRITS`bDDu$@Ĉiq HĈȫ HĈI1 HĈj*Q HĈI*Жd$u5x=I ORGDESԑ T$u5M AQJNWDPTRP%` h Q` HHq@ H @ Hj @ HjN$DSTARV bDE$(]I:$DWRITS`bDDu$@Ĉiq HĈȫ HĈI1 HĈj*Q HĈI*Жd$u5x=I ORGDESԑ T$u5M AQJNWDPTRP%` h Q` HHq@ H @ Hj00100 IDENTIFICATION DIVISION. 00200 PROGRAM-ID. CRTEST. 00300 00400 THIS PROGRAM TESTS THE FUNCTIONS OF THE 00500 CRT DRIVERS USED WITH COBOL-80. 00600 00700 AUTHOR. MICROSOFT. 00800 DATE-WRITTEN. 01 JUNE 1980. 00900 SECURITY. NONE. 01000 01100 ENVIRONMENT DIVISION. 01200 01300 DATA DIVISION. 01400 WORKING-STORAGE SECTION. 01500 01 ACCEPT-FIELDS. 01600 03 IN-FIELD PIC X(6). 01700 03 IN-CHAR PIC X. 01800 03 ESC-CODE PIC 99. 01900 02000 SCREEN SECTION. 02100 01 BLINK-SCREEN. 02200 03 BLANK SCREEN 02300 VALUE "HIGHLIGHT ($HILIT/$LOLIT) TEST.". 02400 03 LINE 3 BLINK 02500 VALUE "THIS MESSAGE SHOULD BE HIGHLIGHTED.". 02600 03 COLUMN 40 02700 VALUE "THIS SHOULD BE IN NORMAL VIDEO.". 02800 02900 01 BLANK-LINE-SCREEN. 03000 03 LINE 10 PIC X(80) FROM ALL "X". 03100 03 LINE 11 PIC X(80) FROM ALL "X". 03200 03 LINE 12 PIC X(80) FROM ALL "X". 03300 03 LINE 13 PIC X(80) FROM ALL "X". 03400 03 LINE 14 PIC X(80) FROM ALL "X". 03500 03600 03 LINE 11 COLUMN 20 BLANK LINE 03700 VALUE "B". 03800 03 LINE 12 COLUMN 40 BLANK LINE 03900 VALUE "B". 04000 03 LINE 13 COLUMN 60 BLANK LINE 04100 VALUE "B". 04200 04300 PROCEDURE DIVISION. 04400 MAIN. 04500 PERFORM INITIAL-SCREEN. 04600 PERFORM ERASE-TEST. 04700 PERFORM POSITION-TEST. 04800 PERFORM TERMINATOR-TEST. 04900 PERFORM EDIT-TEST. 05000 PERFORM ALARM-TEST. 05100 PERFORM BLINK-TEST. 05200 PERFORM BLANK-LINE-TEST. 05300 05400 DISPLAY (23, 1) "END OF TESTS.". 05500 DISPLAY " ". 05600 05700 STOP RUN. 05800 05900 06000 06100 06200 06300 INITIAL-SCREEN. 06400 DISPLAY "THIS PROGRAM TESTS THE CRT DRIVER.". 06500 DISPLAY "IF YOUR TERMINAL HAS THE ABILITY TO" 06600 DISPLAY "TURN THE CURSOR ON AND OFF, THEN" 06700 DISPLAY "YOU SHOULD SEE THE CURSOR STAY ON" 06800 DISPLAY "THE SCREEN ONLY WHEN ASKED TO ENTER" 06900 DISPLAY "DATA." 07000 DISPLAY " ". 07100 DISPLAY "A 24 BY 80 DISPLAY IS ASSUMED.". 07200 DISPLAY " ". 07300 07400 07500 07600 ERASE-TEST. 07700 DISPLAY "*****************************************". 07800 DISPLAY " ". 07900 DISPLAY "CURSOR POSITION AND ERASE TEST.". 08000 DISPLAY "FIRST, LINES 12-24 OF THE". 08100 DISPLAY "SCREEN SHOULD BE ERASED. THEN" 08200 DISPLAY "THE CURSOR SHOULD HOME (TO THE" 08300 DISPLAY "TOP LEFT CORNER) AND THE FULL" 08400 DISPLAY "SCREEN SHOULD BE ERASED." 08500 08600 PERFORM DELAY 10000 TIMES. 08700 DISPLAY (12, 1) ERASE. 08800 PERFORM DELAY 5000 TIMES. 08900 DISPLAY ( 1, 1) ERASE. 09000 09100 PERFORM WAIT-FOR-INPUT. 09200 09300 09400 09500 09600 POSITION-TEST. 09700 DISPLAY ( 1, 1) "GENERAL CURSOR POSITION TEST.". 09800 DISPLAY ( 2, 1) "THIS TEST DISPLAYS TEXT IN THE" 09900 DISPLAY ( 3, 1) "POSITIONS DESCRIBED BY THE" 10000 DISPLAY ( 4, 1) "TEXT ITSELF." 10100 10200 PERFORM DELAY 5000 TIMES. 10300 DISPLAY ( 1, 1) ERASE. 10400 PERFORM DELAY 10 TIMES. 10500 DISPLAY ( 1, 1) "TOP LEFT CORNER". 10600 DISPLAY (24, 61) "BOTTOM RIGHT CORNER". 10700 DISPLAY ( 1, 65) "TOP RIGHT CORNER". 10800 DISPLAY (24, 1) "BOTTOM LEFT CORNER". 10900 DISPLAY (12, 30) "CENTER (MORE OR LESS)". 11000 DISPLAY ( 1, 35) "TOP CENTER". 11100 DISPLAY (24, 34) "BOTTOM CENTER". 11200 DISPLAY (12, 1) "LEFT CENTER". 11300 DISPLAY (12, 69) "RIGHT CENTER". 11400 11500 PERFORM WAIT-FOR-INPUT. 11600 11700 11800 11900 12000 TERMINATOR-TEST. 12100 DISPLAY (1, 1) ERASE 12200 "TERMINATOR KEY ($TLIST, $FLIST) TEST.". 12300 12400 DISPLAY (3, 1) "THIS TESTS WHETHER THE TERMINATOR " 12500 "AND FUNCTION KEYS ARE RECOGNIZED CORRECTLY.". 12600 12700 DISPLAY (5, 1) "EACH TIME THE PROMPT IS GIVEN, ENTER " 12800 "ONE OF THE KEYS FROM $TLIST OR $FLIST.". 12900 DISPLAY (6, 1) "THIS PROGRAM WILL RESPOND WITH THE " 13000 "ESCAPE CODE FOR THAT KEY.". 13100 13200 DISPLAY (8, 1) "THE TEST WILL TERMINATE WHEN YOU ENTER " 13300 "ANY NON-SPACE KEY BEFORE THE TERMINATOR.". 13400 13500 MOVE SPACE TO IN-CHAR. 13600 PERFORM GET-TERMINATOR 13700 UNTIL IN-CHAR NOT = SPACE. 13800 13900 GET-TERMINATOR. 14000 DISPLAY (11, 1) ERASE. 14100 DISPLAY (10, 1) "ENTER TERMINATOR KEY: ". 14200 ACCEPT (, ) IN-CHAR WITH PROMPT. 14300 ACCEPT ESC-CODE FROM ESCAPE KEY. 14400 DISPLAY (11, 1) "ESCAPE CODE IS " ESC-CODE. 14500 PERFORM DELAY 2000 TIMES. 14600 14700 14800 14900 15000 15100 EDIT-TEST. 15200 DISPLAY (1, 1) ERASE 15300 "EDIT KEY ($CLIST, $CURBK) TEST.". 15400 15500 DISPLAY (3, 1) "THE FOLLOWING ABBREVIATIONS ARE USED " 15600 "TO REPRESENT THE EDITING KEYS:". 15700 DISPLAY (5, 10) "[LD] = LINE (FIELD) DELETE KEY" 15800 (6, 10) "[CD] = CHARACTER DELETE KEY" 15900 (7, 10) "[BS] = BACKSPACE KEY" 16000 (8, 10) "[FS] = FORWARD SPACE KEY". 16100 16200 DISPLAY (10, 1) "ENTER ABCDE[LD]+-XXX[CD]" 16300 "[BS][BS]W[FS]YZ ". 16400 16500 MOVE SPACES TO IN-FIELD. 16600 ACCEPT (, ) IN-FIELD. 16700 IF IN-FIELD NOT = "+-WXYZ" 16800 DISPLAY (15, 1) "*** RESULT WAS " IN-FIELD 16900 DISPLAY (16, 1) "SHOULD HAVE BEEN +-WXYZ" 17000 ELSE DISPLAY (15, 1) "RESULT WAS CORRECT.". 17100 17200 PERFORM WAIT-FOR-INPUT. 17300 17400 17500 17600 ALARM-TEST. 17700 DISPLAY (1, 1) ERASE "ALARM ($ALARM) TEST.". 17800 17900 DISPLAY (3, 1) "THE AUDIBLE TONE SHOULD SOUND " 18000 "WHEN THIS MESSAGE IS PRINTED.". 18100 18200 DISPLAY (5, 1) "TYPE ANY CHARACTER TO CONTINUE.". 18300 18400 ACCEPT (, ) IN-CHAR WITH AUTO-SKIP BEEP. 18500 18600 18700 18800 18900 BLINK-TEST. 19000 DISPLAY BLINK-SCREEN. 19100 PERFORM WAIT-FOR-INPUT. 19200 19300 19400 19500 19600 19700 BLANK-LINE-TEST. 19800 DISPLAY (1, 1) ERASE "BLANK LINE ($EOL) TEST.". 19900 20000 DISPLAY (3, 1) "LINES 10-14 WILL BE FILLED WITH X.". 20100 DISPLAY (4, 1) "THEN LINES 11-13 SHOULD BE BLANKED " 20200 "FOLLOWING THE 'B' CHARACTER.". 20300 20400 DISPLAY BLANK-LINE-SCREEN. 20500 PERFORM WAIT-FOR-INPUT. 20600 20700 20800 20900 21000 21100 DELAY. 21200 MOVE 1 TO LIN. 21300 21400 21500 WAIT-FOR-INPUT. 21600 DISPLAY (20, 1) "TYPE ANY CHARACTER TO CONTINUE ". 21700 ACCEPT (, ) IN-CHAR WITH AUTO-SKIP.  20000 DISPLAY (3, 1) "LINES 10-14 WILL BE FILLED WITH X.". 20100 DISPLAY (4, 1) "THEN LINES 11-13 SHOULD BE BLANKED  00000000000000000000000000 .KEY!1AQaqq!!!!!  Z,Z,Z9-CVISAM"]!V!0$x`g@ Pp`Gp`m10xghhhh4hh+Jh-vh)ho CVISAM by Microsoft, Inc. ISAM Conversion Utility v. 1.00 OCTOBER, 1981 Use this utility to convert Indexed files from formats written by COBOL-80 (c) before version 4.6 to a format compatible with this version. x`@ Pi@ Pmpw`pQ@ P`p051005x` Q@ P`7@ PXAI RXAI [`G}@ J`p` Ppp00000 0005xQhhh < P@ P>C@ P@GpQ`p+! Record format specifications: ----------------------------050010xhh#h(&H@ pPH pNP Ppe p BR P@ PT@ PVp`sp@ PXR Pp- Enter the record length (in bytes), or to terminate program ---->0 1005001010xhh h6"H@ pPH pXZ Ppe p D\ P@ P^` P D B.P@.`1p@ Pb@ Pd p`epp3 Enter the key length (in bytes), or to return to record-length prompt ----->0 100000050010xehh'h*h6:H@ pPH ppr Ppe p F FP 0t.. Fv P@ Pxez P F D.P .BB H H B.P@.;`1pe@ P|S@ P~Wpa`p;pe@ Enter the byte offset of the key field, starting at 1, or to return to record-length prompt ----->0 101+0000050010xhhhhh&4h6ZH` D 7 Pp8% B D F J @ J] Pp@ Jy`cw Pp@ J` p` PM Input file specification: ------------------------Enter the file name of the input file, or to return to record-length prompt ----->1000300591x Phhh@ P8q@ P:up`UpY05 Output file specification:------------------------- 0010xUhh'h'*H` D R PpU`U@ LTI@ NVI8% B D F L @ LX9T PpU`R PpU` Z P. Enter the file name of the output file, or to exit the program ----> 1000000005xhhh hh  Now converting and creating xU`_8 L @ LO L8 N "@ NE NpU NpU L30003035x  2 2 " " 2 x . 1 x` A@ L`G}@ Jp P@ Jp`p` P00000510xA8 &@ LAYII [P )@.XJI. [pA001+x}8%@ J}YII RP )@.XJI. Rp}001+x8&@ Lhh"`1p``100 Conversion successfully completed.x1hYII R  dhh dYII [  dhh d Input records read: Output records written: xhh Program termination.xhh"@ L$h"&p@ LHh"Jp@ Llhnphh LJ --- Output file error detected ---22*** Attempt to write duplicate key21*** Keys not in ascending sequence24*** Output file full*** File status = xh@ Jhphh2h J" 10*** End of input file --- Input file error ---*** File status = x1hh- *** Incompatible record format specifications xwhh *** Input file not foundxhh *** No space for output filex hhhh"h!<h6^H` v@ v  Pp  PM *** Warning: Input file damaged Do you wish to continue ? Enter Y to continue processing, or to return to record-length prompt ----->Y 0010x h@ L hh p h$h "h*B6 35*** The output data file name: *** The output key file name: already exists on the indicated drive.A.2f440 0 FILE-KEY&&!!k& (&&&>͡j!$k&ͼ7&!!'&!$;&!$9&!!͹(&~#fo'"%bk~#fo'"%`i^#V#~#fo"%bk^#V#"%^#V#"%^#V"%*% tj *% 's#r#*%s#r#*%zW 's#r#*% 'ҵ&##'s#r#*%s#r#*% 's#r#*% 's#r#{0G{0O~#foq#p|eozS_7?|g}o>#+Q*-('w)w#(_#V##~A(z00A(U >w{](~W(>?w+++!(+++0~>q(~>q(@#w>?w+++ʳ(z0ʳ(0ʳ(!`0z ʱ( 9_040$#"!((>2'*"'^ :'w#:'w*"'~w*'*"'' :'w6 :'w*"':' )DM*'*'s#r:'^)z^):$'^)*'|œ)>ڜ)*'#x+m)yʔ)PY:'Ģ)*'͇,ʔ):'”)*"'~ (*'q#p͢)Ô) *'͔-yG>O! BK:+'_͔- :-'OS-*'' */'~)#~+)s#r*''BK,*'DM!x*H-A y*- x-*HS- S-y_xO>WG{_)}L*o #>2m'2'*'DMâ**-'N#F*"'Vq#p:'*)'+DM*'͔-yG>O) :!'O ))*)'$·*+^#V")'$%|(DMͣ)b*1'&o:-'+eo *@ * * *x * * +q +=*"'*' 2'""'!9"'!~2'V#^"'!^#V"'!?"'"''"'^#V")'!~2'+~+@>w2'*',Ø+*'͗+]T w# ©+,!")':'+*"'`:-'Gw#+>*'*"'P 6#p#p#p#s#r#6#p#w:' *"'P"'"/'"'"%'~2$'!"'*'###~2-'.{2!':'*"'$N#F~_*\~#fo #*"' F:-'(O1'~#o,yʃ, },*BK*"':', ;ʮ,(:$'((2'*"'###~ >,*"'(bk:$',p# ,G:$',x͇,((*'DM*'*'~#fo:$''-K-(GK-OK-ʇ- x'-:$'C-K-=-*'s#r:''p-:('p-*'^#Vr+s*',*':$'~#( K- >  x‡-C-z/W{/_!>Ҧ-yOxG}o|g= -|W}_hb)- )- )- )- )- )- )- )- DM!1':-'O# -:-'_͔-y2+'PY͔-z#. *' ?͔-`i"'*+'͔-zPYF122222222222222222222<2222ͱ/!v. ^#V..>/ /k/./+/.&/....:2©.<22:222> 2i2Ø/<22ô.!24͓0Ø/!24!24͓0 ˜/>*2i2Ø/:2.:222}0Ø/:2-.> 2i2͹0!j25ͱ/:2-ʘ/> 2i2Ø/:2˜/:2˜/:2&/>*(/> 2i2Ø/:2˜/:222Ø/:2L/:2R/:222:2a/> 2i2d/͓0!24Ø/:2y/:2/:222:2Ž/> 2i2Ñ/͓0!24Ø/0͹0!j25j.0'10X!25/*22~#~#"2:22i2!\/0/)O:\:i2,/ ./ 90R0:O0:2:2@d0:2B0:2B0:2B0:2!2L0R0:2  !k2N*2jX!k2N*2~0t0>*w# k0X!25*2~#"22i2122}0G:2x:2xʱ00±0> 2i2:222x:2O<22 *2 :i2wy0 0:2@:2:i2 >*2i2:2=1:21:21:2-:2=:21:2==O*2 :2w:2=61:2=91:2=O*2 :\wV#^#C))|22)|22x22~r1:2/<22~#W^#h"2_h"2_h"2*2~2j22k2##~22W#^#"2K))):2|Ҷ1/<22y22!21:2!2F21:2!2G:22n2:2G:22m2:22o2:2G:l22l2ͣh*2h!v2"2h!l2!32"\:\222\X:\22C2:22\ʹh:2=`2:222O*2 ~-b2>+22XV#^#{2]4))|2[4)|2\4_h"]V#^#"]~#2`4~#2a4:`4*3>2b4!"^4_h" ]p32c4p32d4*]"]*]"]v3'3*^4#"^4ͧ3'334:a4m3~2b4p32c4p32e4p32d4*]"]*]"]v3m3:e4*]wͧ3m3]3X_h~:b4O!3 ^#V""]:b4ʭ3*]:d4ʧ33”3333:b4ʿ3:d4*]3:c4*]*"]3333§3!"]333§3###*]#"]*]+"]|:]4P4O* ] "]:\44>+w:[4+4=2[4>0@4*^4|>4 B"^4{0*]+"]w!]454*^4* ]r#s*\ ^#V"\"]#~#^#V#"4ʽ42\_h*]s#r#"]:\=‰4*\:]^#V#^#V#MD¼4N#FX2\#~?2\#V#^#"$]_h" ]:\X=2\V#^#"]_h"]#~#25:54=25V#^#"]_h"]*]|H5DM*]|H575}H5*]*]Hi:\=5*\ ^#V"]V#^zl5l5*$]#ht5>2\5*]r#s* ]*]~#"]*]+|5"]5KEYM=͇>~ 7.8*88*8G 897*8Gͩ97*8G~ 86=#81#80#8%>X_'8*5 ^#V+zI8##V#^eh*5PX8>4ü8dS8*55>dS8*5F#N*5  7jq#p#*5DM*5*5W?һ8¶8>ü8>0ü8ͭ>*5$ !5 tj*5   jT]N F#N#tj*5*5?99>9>09*5 ^#V+z49##V#^eh*5PC9>0ä9?>9*55>?>9*5 ~ *5DM*5*5?ҋ9†9>ä9>0ä9 ^#V*5 ~#ngh>9ͭ>>ʹ9>09*5*57@9´9>9=>*5͠@9@9*5͌*5͌09z25=<0:0i:_:5::{/:0%>#i:1%>i:W:{/:$::/::$::{/:$:/:='~G+00ʰ:~ʊ:$:x•:#::Ұ:ʥ:0:%>:~¥:"= :%>>*5JC=<:0:0;%>#;"=:%>=<;!-; ;# ;0-;f=; %>='~G;N>G;0u;~u;b>B;=~$;~•;#4<>*5hCҩ;ʴ;ÿ;1%>4<0%>4<04<~;N>ڿ;*5hC;;;0;*5'~#<#<)<ÿ;A,<1,<0y4<%>Y= ~$ ”<~V<#څ<=:5O5!65?v<!<͟=*5> DҊ<0< %><~ʠڅ<<_ʱ<0<#<>*5͹C<͟= D<0< %>*5' ~څ<=5=<==>#==>=>0>*5 C>*5͹C6=>0a=*5 ~7?_+~W ~#fo++s#r+*5C1=͟=*5>'Aҋ= =>$Û= |=>0Û==>5Aچ=*5~G#N~#fo++q#p+*5 ~W ^eh ~<25=O5tj"5( "58 "5( "5Z "5*5P~*5' z K>@D>r+ sK>zw!66*5>B>6*5dB!66*5>B:\ª>>!$bkҠ>>*^>k>2\!5j*5$ N#F!5q#p# F#Nq#p25*5*57@>+?$ 5 5??:5*5͠@.?:5*5͠@:5<+?25>>:5x# 5?~# xA?~+ xL?Q+SLQ;/SNxMQQSJRQSPSM`i"US!"SSM{Lқ?>7QQSJLQJ>S N»?RQSPSM7N28S?>gojN#L?<2@M?̈́MQ'S*LQD8S QWSJRWSPS*YS*QS#s#rM:DSM>7NLJ@Ú@͞LU@Ú@{L`@Ú@*QSD ~x@Ú@QQSJQQSMSx7NLҬ@>RcSJJ͞LSRQSRQSEEM7!"SSMQQSQQS;;QQS==QQSBBQQSEEM"eSF!_T<BnU=BNL,B>aLABM> 7~OYBA?MM> 7 CtBG7LQSMaL~FSF§B#“BMM͡JFB#´BÑB>7NLB>7aLCBM> 7NA?MM> 7N"wSL C>!FLDCMACaLMDC>7>7NLVC>áJNLeC>QKNLtC>J~C7!S"eS!_TʵC=nUµC!_T_#_TW"hS!gS"wSFNLC>FC> 7N"eSͿE DCDyx! XT> 7NͿEz /D\D/D\DLS#RD"SLOD}gDPE͞ELS#DM!_T`iQSSS!nU"eS!S̓T<©D!ES"eS}EWD+nU+>nU*S|D} D!nUD L"hSPE!>nU#nU"S "S*S|>E*S+BE#8E*S  BE8E ~3E####"SUQLDG|xG}xQSSpT*eS!PS"eS!{nU#znU}E"eS!_T_#_TW#nU!gS"wS*S"hSF*SN#F#!ynUx#nU#nU# ÃT"eS!_TO#_TGyS#_TS S#_TS#SXT!>SÿEaLF~FQUMM"pS"rS!9"tS2oS!D~2vS!EL>7ʫF*S"S M"SS͓NQS*QS~#|FFqFhF++LMPFS##FҼF#‚F+LMUF>BLMQKaL>BL2yS:oS*rS*pS33M>ëF##~7RQoF$"S!F+G>̈́MQEYS>xMRWSSSM*QS"M>BL*wSNA?QeSULMBGM͡JaLZGRQ.GMaLZG`GS`G~F>BLQP*S"SQSS####L"|S*wS"wSNA?QeSUMQLOaLʰGS"SK"S>͠IH>JyGGW>G~SFOG*SL4H>4H>O !OJ̈́HLRSS*S"SaLS~M̡J!"S|J͉J63J*YSM>̈́M*WS"M*|SA?*YSM"YSM̈́H"YSMM H"rS RWSQSRWSSS*YS"zSMQYSQS*YS|HMRWSzSMRQSzS"YSM*|S*WS"MNA?:vSIK*~SNF#I SxI IH#}wQYSMM|QI>*YS̈́M RWSSERSEYS*YSM"YSjNK"S*QS#FjIaI"S>͠I|I*rS>J!"S|JQYS3J6IN*|S~O*SxF#*WSFyF*QS$++L?*S:QSW}2SO}J*QS#LMJjN"M~ôJ>BLMJ> 7aL>7>JaL> 7%K~FjSA?:QSOA?~M)K͡JQKQKDK͡J͡J7*MQLOKaL½KE*QS"M}ʉKT]~FSO}iK>BLM*QS###LʬKMjN"M~ʉKK*~S|KMaL>7>K|K> 7ÆK*QSx"~SFG~K*|S~h&SF|S}2S}o|gG~#fo|x"FS!8S6!">S`i"DSJ ~#fo">S2DSs#r!Lw#:SSw#:TSw#:QSg}w!L~#LjN##~F7?*QSG ~šL#šL#šL77?!jNLM"OtN>PSw wP MOR L!S!"S~#fo|ʕO {]O#z]O##S^#V+Q͜ObOO!SLO N#F ^#VLO L¶OO DMs#r`is#r!SL-P####"S ~U6LP*S*S"Ss#rtNU͖N*SLw#FP*S|P͟ViP͔PÏP"Ss#r T] s#r#T]wA?*S*S|SL¥P####"S PLSïP wUQQS"S"S!SL7 *S##P# Q#bkLQ*S|9Q}9QQSbk##LJQQQS:vS`QÁQF*wSNoQ{Q# zQjQ7x~=GF*wS~=OFʤQڴQ~°Q+ x˜Q±Q+¤Q7?{Q{Qy´QäQR R R$R&R,RLRMRNRlRRRRRRRRRR~2 S"!S!:RʄR=ʡR=ʩRͱR|RS@R|RR: S!eRR=R=RR: SSkR: SRPYOA?: SͽR"#S*#S*!S*%SͽRÕRͽR`iÕRͽRogÕR"#S"%S*#SRR !9 N#F`iDMog=S=SS=S=SLSLLo$SS"S*S= SV2SStj*SͻV:SO "S!~#fo*SDM:SHT:SNT=2SxSTͽ7T> QN͋TSXT:SS`iͻV>͋T"S`i"S*eSU StjSͻVbkSV2S*SR ~#fo"S͋NS:S_!}o|g*ShTbkDMh*S"S+U*S*S:SUoU$2Stj"SOSOU*S:SAU_=U2S*Stj"SOS*SiU"S*S|T> QN2SS̓T*S;N#FxʶU+q#p*Sq#p~#foͽ¶U> QN*S; *S ~#~U>U*S ^#V ^#V ~#foV͉!VV&V> QN> QN*eSS!Stj*S"eSUStj!S!StjS!̓T*S=tj!StjS!Stj"eS7?>! bkڴVöV7*&]{w#zwV #4V# V> QN~#~#~#~V#~V> QN"]!9"(^####^#V+++++~#~#W=W:X=W!(^*]*]͞YW*\*\*\*\*\*\*\!X4^#V#"\^#V#F#~#"\WOxyW=2\W*\^#V#"\*\V#^#"\z·WehtjWO*\ s#r:\=ƒWW͔"\*\^#V##"\2\#^#V"\##~͡j#V#^[͗~>O!X ^#VSXn&pbqpbqZZbZ,vhgs[rffdv`[X?cA.far2[[[V#~_)))U\!jX^#VXXXXYgYsSeXXX4XXYXY#ZXX(ZMZ> *^#~2\##X͗FsØ!X~=ʸXw"\}2\"\"\"\"\"\Om~# X͗ɯ2aY *\ ^#VO Y"^Y Y"dY#~#V#^#BY2`Yeh"\Y*^Y:`YRY2fYeh"bY*dY:fYOtjX:aYY*\Y*^Y:`YOtj*bY*dY:fYOtjøX##_hV#^"]V#^~2\#>͈j*]|ڹY|½YYhY:\Y Y^#VY##^#VX#F#~pxT]Y##^#V?āmX*\^#VV#^#zhtj Z> Y#~#?=7ZÖ^#V#"\^#V#"\X##^#V#2Z_h0p#p#:ZdnZ1dp# rZ:#wx/+wX~Z#~Z#^#V#N#F#kj#~_kj##V#^hq#p#XXw#wX2\#~2\#X~”f4##~[y[͌X~u[#~[#^#VX#V#^#hF#Nxz9[R[R[_~X#~X+X ^#V_~X#~X Í[##V#^h^#Vz‹[>*^##~āmX#~#2\ i:\5iAi#~![O ^#V> [*^X*^*^[*\#^#V~#W^#͗"\Xz\:\\\\8\\>2\ eh:\GxG*\{6#w# !\!\;}^ͣh\h!\Xʹh!"\!\~ o\z_zW# f\{2\Enter switch settings (blank=OFF, non-blank=ON) : 12345678HT\1000000(]2\!^}^:\=O!^ }^*\}^*\*\ N#fir#s!m^Xhzʧ^~^#͍}^_!^^#V͍> ͍> ͍\\** RUN-TIME ERR:REDUNDANT OPEN DATA UNAVAILABLESUBSCRIPT FAULT INPUT/OUTPUT NON-NUMERIC DATAPERFORM OVERLAP CALL PARAMETERS ILLEGAL READ ILLEGAL WRITE ILLEGAL REWRITE REWRITE; NO READREDUNDANT CLOSE OBJ. CODE ERROR FEATURE UNIMPL. GO TO (NOT SET)FILE LOCKED READ BEYOND EOF DELETE; NO READ ILLEGAL DELETE ILLEGAL START NO CRT DRIVER SEG LOAD ERR ILLEGAL RELEASE ILLEGAL RETURN NEED MORE MEMORYSORT ERROR NO ISAM BUFFERS ~W#^h"]#V#^#"]~2\~?W#^#""]*\& ^#V*"])""]~2\V#^#zW"]V#^#""]eh"]*"]V#^zzW{_"]~#""]*]a jTa#a:\ a>+2\͌i:\-#ah#aV#^*]+|Ta*]Ta|Ta*]"]:\=Ya2\*"]õ`>*^*]*]r#sX#~#2\_h"]V#^#{<2\>͈j" ]>2\:\a* ]DM*] ~# ʳaAaZʳaaxža i2\ i:\kb:\8!aO ^#VNbaaNbbb*]* ]~a*]~#"]+Nb-Nb Nbûa*]* ]+~&b*]~#"]* ]+" ]0a:NbAaSNb{Nb}Nbûa* ]DM*]x i~# 0a:aVb}<G*]~#O ayʑb atb a i i iûa~#2\~#ʹbV#^#"]_h"]_h"]V#^>͈j" ]~2\#*]|c:\c*]V* ]DM*]ki i* ]DM*]*]Hi:\= i"]*]| i*]:\1c*]DM ki i~2\W#^#" ]_h"]_h"]!"]* ]|qc2\÷c~#W^#" ]~#2\W^#* ]h|ڜc"]÷c:\ҷc* ]" ]h*]"]:\c* ]*]"]*]VdX:\c dcXc dX* ]DM*]*]tj"]*]DM*]j"]ɯ2\2\~2\V#^#{2\)))z2]JdEd>2\Jd>2\:\dd_d>2\dd>2\_h"]:\|d_h"]ÈdV#^#h"]:\O:\O!d ^#VddNe eNe eNedNe*]V#^*]r#sX:]O*] "]*]V#^z+2\-dh"]:\d*]:\w*]| e! B"]{0*]+"]w:]=X2]d>+2\:];e:\O*] ~2\͌i:\-µdhõd> *^##V#^#{2]>͈jzW"]V#^#"]eh"]:]ʈe!"]*])>V#^͈j" ]~2\#:]ee:\=e*]+"]|«e>2\ ie:\=eee:\ee>2\ i*]V#^#"]zfSfkiehfHi* ]DM*]#~#N#F#*\q#p2"]ʣf:\£f:"]_####}^:"]O X:\= g2"]O!f "]^{#Vf"] ^#Vhg:"] g2"]O!f ^{#Vf ^#Vhfh~#^#WX*]#~ NgV#^hV#^+r#s#zNg*]##^#V"]g*]##^#V*\s#r:\=2\X#~#^#V#"]^#V#"]ʠgV#^#hV#^zڛgz gX:\2"]:"]g2"]!fO ^{#Vʪg ^#V*]hªgh:\h<2\=O!f s#r#*\N#Fq#p*]X>*^:\<h2\=O!f w#w#w#:qf[h~##Nh##8h#~#8hx=2\V#^#zh{~hzW{_hV#^zO*\ N#FxʚhzW >*^*\h~#«h*\hw#¼h*\s#r*\##s#r|/g}/o#z{*\"h$)#h+)*\^#Vɯ2\2X2\2\<2\!":\OG:\;iyAi##Xy5i^#VX>2\xUi# Nifi>gi2\>2\xvi~# pi^i d'!"i*]~#"]{i}iiiii ii>*^>0i>0!\6-iG:\Ox!i ^#V*iG|ji"i!\5“i0i:>2\:\=CjCj=2\~#GOxG!djjO jj j~G! jjOx jj ijh~##x ~#tjx r#jO zW{_Éj_kW:\jz!"j"j*^#V*s#rjj_k*j|>j*j"j"j_k_k_k2\k*~#fo#l"j>ml"j_k5k*~#fo#l"j>ml"j_k*~#fo#l"j>ml"j|g}ol"j##"j7?=’k*j*jhڅk++ lDMD"j*j*j"jkDM*j|k*j|ªk*j"j k*jh?k*j"jk*j|k*j"j k*j|*jk*jhk*j"j!=l"jl"j}o}o|g>m/lFsi!\Pl\<m!rlCmbklalotVl2h2|!LPSF&\2|:!3:3**\ѷ\!>3o 2=2> 2]**CHAIN: Out of Memory $ m $ml**CHAIN: Bad file name $**CHAIN: File not found $*+x~# Cm...... V0123456789ABCDEF*\"om!Omʖmw# m·m:\·m*om*\hZx2\_!qmNx_!qmVY"Xm2Nm!Zmw# m!nmwNm@n*\Kn W _nKn*^Nm sspu79j::;.;:w;8<2[n#~2Zn~0ʴoO#uu@uu~w~w#~+t^o####~#0o#_hs#ruu2[n^oPo~#^o###~Ow|t#:Xnno6+6+V+^!ZnN*\ s#r:[n|t!sn~#ʢo ###‘oX+s#r#s#rX#n+~ʮo=o@##uu~?Gw_o#~+ou:jnou|t###~w!sn##^#Vhp #p"pw+w+w+wXuz|p{0|pu!$u:XnZpzW^pehu##u:Xnwp sXX#~2^nN#uuuy q~qsu utp0p:^n=p####uX###:^n####p##X:^n|t##|t~@q4tp:Xn*q"u++uut2[n5u:[nJq~wpp:^np!_n4p~2`nG#~2an*hn#|ʈq+:an2an!"hnx2\n#"fnu"dnu?G!`n~wr~Erq####:\nXuXXx q0 u#~ʎs+~w#N##~%ry$ru++uvut»r5uöqsuvutʶq:\nqûr#x0 u##~+++gr~uwjrsuv u4r#x0u##~+++™r~uwÜrsuut,s:\n2jnͣh!sn~#V##ts_+mn~#~h!knX# Tsʹh##"bnXN&oG*\^#V2{tys:an*dn+Fs2{t#s~+++tG:an怰2an>w:anͫ:{tʶq:\nqöq~t!tͫ !?t?t?t?t2nͣhnhh!nXôhͦuշ‰uu" u`2n>2n>2n2n[u!n~u:XnFuu|!nux:jnx*^u#~+p2Xn^#V#V#^#s#r#r#s####~!n:Xn v##uzP*fn##u u~#W~#_2\>͈j{2\~2\W#^~#2]>͈j{2\_h"]_h" ]:\=w*]:\O * ]:]O ~ ʓv>+Õv>->2]:\Gx2\:\v<2\>0:]=2]vævwwG:\v=2\vx:]=2]vwwGvww0v>2\2\v>0:]=2]wX:\;w=2\:]G/2]x~4w+0+2\:\Gx2\:\gw*]~#"]-zw2\zwzw*]:\O ~\w*]:\O +:\کx* ]:\™w#:]O +"]:\w<2\>0w+:]=2]wâw`xqxG:\w=2\þw:]wp"]+:]=2]¾w:\x`xqx0w>2\w:\O!x ^#Vx%xXX0x6x*]#)x*]+:\wX*]9x*]~0Dx>{Fxw:\-X~{Zx>}\x wX:\jx>0=2\{yx>0}ƒx>0áx0x:0x: :x>*^G>-2\x:]O* ] "]> w2\:\Oxy x`xqx xxy:]x:\y`xqx0x>2\x:\-y *]~wXG:\2\1yxG~w+2yp:]=2]"z{2:yy2\";y*;y~2@y##'"Ay'"Cy!Gyw#y*;y"0"=y]"Gyj"Iyz:Ry2Tyzgz:@ygz*Cy*Iy~-dz!Sy4>zz*;y"0"Oy2Qy¥z!OyF6!Gy~wz#6!=y~zwz!PyF6!Iy~wz#6!>y~zw!iy"gy> 2Wy2My*Ay"Ey*Gy"Ky:=y2?yz*@y&^#V {{{$}~:Sy2Sy!Ry~#{!=y~#G\{рO͡![y61{!^y4 <{ ![y4!My^O{s*gyw{!\y_:[yw{:[y&|!My^w{s*gy6&|!\yw&|!=y~#{рG͡![yN6!]yq{ ![y4ʬ{!^y4!My^{5*gyw{G:]y{> Ox2]y!\yw{:[y&|:Sy2Ty:@yʏ} !Zy6*gy :MyG +y&|^:Zy|{ /<"|{ / 2My:Vy|!Qy:My2Myw:Uy|:Ty>+|>-G:\y> |x*Ky*Eyw:[y } }2[y!?y53}![y6 !}4 *Ky+"Ky*Ey0w }!My5~!WyR}_*gy~![y6!\yw:\y^}>2\*;y~~}~~}:@y~}";y::y2:yy:^yš}<ä}:Ty>ʤ}2\^} !iyw#°}:Ry!Sy2Ty:>y2_y:Py2`y:Iy2ay>!2Wy:=yʌ~!Wy5~2My2[y͡2Xy}:_y2>y:`y2Py:ay2Iy:>yi~рG:XyJ_:[y'G!My5.~^*gy~'8~oI~G!^ywxox2[y:My]~_}*gyw~:[y!\yw~:[y}:My=~_*gy:[yw}!\y4}2My&| !iy"cy"ey:Ry!Sy2Ty{2My2Yy:My~͡!My5^*cywʲ~!Yysò~!Yy5^*cyw> 2My2Yy2=y:My р!My5^*eyw~!Yys~:Yy !!\y4> 2My&|!Yy5^*eyw> 2>yG!=y> 2by2My:by!2[y2Xy:[y“:>yG:by2Gy> 2Iy ![y6 4wh:[yR!Xy4R!My^4*gy:Xyw:>yG:by2Gy> 2Iy2[y ![y6wõ!by4C:My2Wy> 2My!Wy5&|^*gy~*My+"Myw*Gy+"Gy*cy~*Iy+"Iy*eyN ![y4:=yQ͡6!^y4*My-I"My!iyw$!\yw$*Cy"Ey*Iy"Ky:Py2Qy:>y2?y*;y~w>2Uy~ʲ|~ʲ|##~ʲ|>2[y~ʲ|!Vy4ò|:Oyʮ=2Oy:=y=2=y*Gy+"Gy*Ay~0̀ >*^:Pyހ=2Py:>y=2>y*Iy+"Iy*Cy~0̀ ̀:Qy =2Qy:My=2MyO!Wy>G*gy ~V#^#"eh{g)))zo +>*^=rjrn=O!u ~sxso|>Y>o>g|>hg} >x>g"`i_h":F#N#"!k"Ɓ:2@ʲ;:2*]"]:@΂ y2*}@ !"ف*w*Ɓ*]*]ͫ|h+"́z*Ɓ{#{#"Ɓ{*]LL1+"́{A!D!"ف{V*́#hu*Ɓ+:h+"ȁ:*wz*w* zʐ.{@ʐ0y2ԁ0z@ʞ y2Ӂ*́:²#"ʁ>̀*}|̃g2:ۃ݃2}>*ȁ̀ : 2\*#N>-  >̀}H@*>*ʁ̀:ҁO>̀|’|ʅ>*Ɓ̀:ҁ*́*ʁ:ԁ W> 2ҁ:ԁO*\ͫj:ҁO>̀*\ͫځW2ҁ'*#"ā *Ɓ>̀**\*ʁͫ³:ҁOõN#>̀*\*́ͫҞ:@*́#"΁*"ā*́#"΁*ā,*#*+#ͫ ~0O:Ӂ w*ʁ+"΁"ā*##*ā:,+">̀:G*\"΁>2с!~X#~Ĥj>#b!v"ہ>eb!ņ"ہڊ}8G …:сv*\*ʁͫʦ*N>̀:ҁO>̀*#">eb!ņ"ہ:с9*ā*ͫ9**āDM+"āͫ w#:w|*ā*ͫ >̀v*#"*\"΁:->b!r"ہ>b!"ہ:O>̀*w#"*ͫv:с:ҁO>̀>eb!ņ"ہ:ʴ:*#"*\*ʁͫʟ*N>̀:ҁO>̀>eb!ņ"ہڊ} ʂGڊ}8G L**ͫq#">̀**ͫņ>b!"ہ:ڊ} G!~@݇#~ w*́*΁h#*Ɓ>̀*\ͫZ:ӁO>̀C*ā*\ͫژ O>̀^*΁>̀*\*́ͫژ:ӁO>̀:>**΁*Ɓh*ͫ>DM*͇ͫ PY:Ӂͫ>χ:@!*ā*ͫ!:*#~+ > *ȁ>̀> ̀"ā|0**ͫ>ͱ+x+*́#:M#>̀>̀*X*ہ!w##w~s~{~ʒ!Ձ_h#V~ʣ!ׁ_h#^ *\ƌzʴb{ʺk͸*]&}o"]>͈j:وO}!yOyO*]ͫyOy2"]**]+"*]h"**:ӁG+#pͫ3:F#6+:Z:2ú+d-‘*#^w+t> *\*ȁ>̀O>̀>̀^ȉ:с^*N#">̀*\*ʁͫ:ҁO‚*΁ͫʂå:с^:6:6**āͫ^+">̀*ʁ*\ͫ:ʂ**ͫ6:Ӂw:ԁO>̀>̀w*ā*ͫ^*ͫR"DM+ͫd~ +W#:Ӂw#|>̀"ā*\"΁>2с*\*ʁͫڹ­>#b!v"ہ*ā*ͫv >#b!v"ہ*́ͫΊ>eb!ņ"ہ>b!"ہ͝W*ف:ҁz'ͱ '@ '*+#~% ݁ *hV8'"::> 2\ͤڊc*[#[ #~oQy ^:ox0g"\*~Ⱥ[# tʏʏՋyʵ:yʤ>*õʵ ڳڵ>?͠*΁*\#ϋͫϋ"΁"\g*\ͤ*\+"\g"\ƌͤg *\ƌͣͣ**]*]ͫ,h*h*Ɓ:LLP*ʁͫP#"\*΁ͫa"΁ƌͤ*΁*\ͫ>x>2с*Ɓ*ā*h>̀*ā*ͫO>̀Ø|}0:?M\*VՌ +*^ biBS>͈j!xG>͈j bkhDMͫ< WM##">̀:2@4;>0<*]"]> 2Ӂ':@½** ʊwͫg#T:uWR R**`u:R+ͫRBK*ͫʬ ßPY:ӁͫRï:׍+׍-ڍ*#w RG:ҁxͱ#**`׍*#* Rͱ#Gͫx+--H:G G*#wRW&!}^B WGͫpax#~2ʚP2+~W#~_zW{_zWã#V#^zW"]|±}ʹ:2>̀:@|ݎ2Ё:2:_h:@"(F#N#":!Ёk>̀:(*\ͤ:4É*]:_N#>̀+ͫZÉA|P>ͫP_PE᯸>ī:ʚ2ЁWR:Ё>2ЁR >̀ >̀*\ƌ$.*~Ώg͸"\:@R2 WúSS:<=2<> *9~#"9!="9++  :< =P_ͣͪ*XO> +½´yŷxِ^#ʐ  = Ãàz!"͏ͫ!~O%‰y{!8x>T _h# T+w _DM!,q#p!(q#pr<>ȯgȯ~+!$POWYP# 2-<ؑ^ؑ##~#~>!:-_>2>2!\" !"!" #6#6#6#6#͏r!~0 ے**hےQҒ*ϒN:G2ђx/w *ϒN:O:ђʢ ʈ> ž*ϒF:, ʻ>\,>Q,>  "*~2#~2#^#V":͈j"**!&*s#r`(:Oѷ:Oѷ<>\*ϒ4g#!!N#F p+qQI"ϒq#p#6#g!~+++Ɠ4ñDMܓ Փ=g>=! wQ~O~<GyOyxGyO4~S6!~ 9%!4p!(gRH"ϒqFs _1!cP=c<71!cP=c<71!cP-!sP=:cwsÅw#.֕ ʄ ֕$j#  j ͕!• ʾ# ´7?*,.:;<=>?[]a{ͣw# ȸ֕#~:+##.֕>2O͉:ͣ@w#.֕ :O3Otj1F]<]`>1͟n]<ʅÈ>]]<ʶù>!j@>2Nͩ@2N!H:K4i0].Ø0>]!:Km]gØi>I{>Å]!@>2Nͩ¥!:Kܗi>2Nؗ]֗Øؗ>]":K]Ø>I#>-]" 2K7?yOxG7?!4Z4Z7y2LyOx7?2M:M ʵ͌:MwFʵ:Nª>nʵ>:L w ~ҘF:N>n>!q#p#w##V#^#hV#^"hnX2A|<|))8 <=-:AB|G||S|/G}/O!>n m7>{_zW}o|g=d|g}oPâÍ>*^Ø>I#>-]" 2K7?yOxG7?!4Z4Z7y2LyOx7?2M:M ʵ͌:MwFʵ:Nª>nʵ>:L w ~ҘF:N>n>!q#p#w TITLE CDADDS - CRT DRIVER FOR ADDS REGENT TERMINALS ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'06' ;FORWARD SPACE (CTL-F) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE KEY (ESC) DB X'09' ;FORWARD TAB (CTL-I) DB X'0D' ;CARRIAGE RETURN DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"Y" CALL $OUTCH ;SEND "Y" MOV A,H ADI 31D ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MOV A,L ADI 31D ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;SEND BACKSPACE CODE ;**************************************************** ; CURSOR ON/OFF - NOT AVAILABLE ON ADDS TERMINALS ;**************************************************** ; $CURON: $CUROF: RET ;NOT AVAILABLE ON ADDS TERMINALS ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"k" JMP $OUTCH ;SEND EOS CODE AND RETURN ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"K" JMP $OUTCH ;SEND EOL CODE AND RETURN ;**************************************************** ; SET/RESET REVERSE VIDEO MODE ;**************************************************** ; $HILIT: MVI A,"P" ;REVERSE VIDEO CODE JMP LITE $LOLIT: MVI A,"@" ;NORMAL VIDEO CODE LITE: PUSH PSW MVI A,ESCAPE CALL $OUTCH ;SEND ESCAPE MVI A,"0" CALL $OUTCH ;SEND "0" POP PSW JMP $OUTCH ;SEND VIDEO CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END D "0" POP PSW JMP $OUTCH ;SEND VIDEO CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**********************************************QbD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%V@ @ $ @a`> @eE`6X!t> i`æ@;lx>%é|f`T,:up:rSTc 1%MR:"ԓS@ I]%:RT UI=:\Tӣ=2:^TTc1%MR:SU#%9 IR2SVc1=1%R:Pԕ#,@=UQ ":&UԣQ1%MRp`6X!t> i`æ@;lx>%é|f`T,:up:rSTc TITLE CDADM3 - CRT DRIVER FOR LEAR-SIEGLER ADM-3A ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRLEN,$CRWID,$SETCR,$CURON,$CUROF ENTRY $CURBK,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY EXT $CMPL,$CMPR,$MULDE,$ROWCL ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL) DB X'0C' ;FORWARD SPACE (CTL-L) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE KEY (ESC) DB X'09' ;FORWARD TAB (CTL-I) DB X'0D' ;CARRIAGE RETURN DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;END OF LIST ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' CLEAR EQU X'1A' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: MVI A,ESCAPE CALL $OUTCH ;SEND ESC MVI A,"=" CALL $OUTCH ;SEND = MOV A,H ADI X'1F' ;ADJUST ROW NUMBER CALL $OUTCH ;SEND ROW MOV A,L ADI X'1F' ;ADJUST COLUMN NUMBER JMP $OUTCH ;SEND COLUMN ;**************************************************** ; CURSOR ON/OFF - NOT AVAILABLE ON ADM-3A ; HIGHLIGHT VIDEO - NOT AVAILABLE ON ADM-3A ;**************************************************** ; $CURON: $CUROF: $HILIT: $LOLIT: RET ;NOT AVAILABLE ON ADM-3A ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE JMP $OUTCH ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: LXI D,1 ;SEQUENTIAL POSITION 1 (HOME) CALL $CMPR ; VS CURRENT POSITION JZ CLSCR ;IF HOME POSITION, USE CLEAR SCREEN CODE PUSH H ;CURRENT CURSOR POSITION CALL $CMPL ;NEGATE IT PUSH H ; AND SAVE ON STACK LDA $CRLEN ;SCREEN LENGTH MOV D,A ; TO D LDA $CRWID ;SCREEN WIDTH MOV E,A ; TO E CALL $MULDE ;PRODUCT IS SEQ POS OF END OF SCREEN POP D ;- CURRENT POS DAD D ;DIFFERENCE INX H ; PLUS ONE IS NUMBER OF SPACES TO SEND ERASLP: MVI A,' ' ;ASCII SPACE CALL $OUTCH ;SEND THE SPACE DCX H ;DECR COUNTER MOV A,H ;IF SPACE COUNTER ORA L ; IS NOT ZERO JNZ ERASLP ; MORE SPACES TO SEND POP H ;ORIGINAL CURSOR POSITION CALL $ROWCL ;CONVERT TO ROW AND COLUMN FORMAT JMP $SETCR ;PUT CURSOR BACK TO ORIGINAL POSITION CLSCR: MVI A,CLEAR ;CLEAR SCREEN CODE JMP $OUTCH ;SEND IT AND RETURN ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: PUSH H ;CURRENT CURSOR POSITION LDA $CRWID ;SCREEN WIDTH MOV E,A ; TO E EOLOOP: MVI A,' ' ;ASCII SPACE CALL $OUTCH ;SEND IT INR L ;BUMP CURRENT COLUMN MOV A,E ;SCREEN WIDTH CMP L ; VS CURRENT COLUMN JNC EOLOOP ;LOOP IF COLUMN <= WIDTH POP H ;ORIGINAL CURSOR POSITION JMP $SETCR ;SET CURSOR AND RETURN ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END  JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;*****************QLbD5$T I]%$SETCRTӠbD5U$h UI .$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%X@ $ @a`> @E`6X!d :N*9YuD@ $_f Ȍ| fYj©`hâ`9GTH>3kiVp :u:STc 1%MR2tIT#&` 5AJ:"ԓS@ I]%:TT  UI=:RTӣ@=2:^TTc1%MR:RSU#`%9 IR2SVc 1=1%R2USc=U IR2U#+I=] 2:&UԣQ1%MRpâ`9GTH>3kiV TITLE CDANSI - CRT DRIVER FOR ANSI STANDARD TERMINAL ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST ENTRY $INCRT,$OUCRT EXT $OUTCH,$INKEY ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB X'15' ;LINE DELETE (CTL-U) DB X'7F' ;CHAR DELETE (DEL,RUB) DB X'06' ;FORWARD SPACE (CTL-F) DB X'08' ;BACK SPACE (CTL-H) DB X'2B' ;PLUS SIGN DB X'2D' ;MINUS SIGN DB 0 ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB X'02' ;BACKTAB (CTL-B) DB X'1B' ;ESCAPE KEY (ESC) DB X'09' ;FORWARD TAB (CTL-I) DB X'0D' ;CARRIAGE RETURN DB X'0A' ;LINE FEED DB 0 ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB X'01' ;CTL-A DB X'03' ;CTL-C DB X'18' ;CTL-X DB 0 ;**************************************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ;**************************************************** ; ESCAPE EQU X'1B' BSPACE EQU X'08' BELL EQU X'07' ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET CURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: CALL SETUP ;SEND ESC [ MOV A,H CALL SEND2 ;SEND LINE MVI A,";" CALL $OUTCH ;SEND SEPARATOR MOV A,L CALL SEND2 ;SEND COLUMN MVI A,"f" JMP $OUTCH ;SEND END CODE AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE ;BACKSPACE JMP $OUTCH ;**************************************************** ; CURSOR ON/OFF ;**************************************************** ; $CURON: MVI A,"l" ;RESET MODE JMP CURSW $CUROF: MVI A,"h" ;SET MODE CURSW: PUSH PSW CALL SETUP ;SEND ESC [ MVI A,">" CALL $OUTCH ;SEND > MVI A,"5" ;MODE NUMBER 5 CALL $OUTCH POP PSW JMP $OUTCH ;SEND SET/RESET ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;**************************************************** ; $ERASE: MVI A,"J" ;ERASE EOS CODE ERASE: PUSH PSW CALL SETUP ;SEND ESC [ MVI A,"0" CALL $OUTCH ;SEND 0 POP PSW JMP $OUTCH ;SEND EOS/EOL CODE AND RETURN ;**************************************************** ; ERASE TO END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,"K" ;ERASE EOL CODE JMP ERASE ;**************************************************** ; SOUND AUDIBLE TONE ;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; SET/RESET HIGHLIGHTED VIDEO MODE ;**************************************************** ; $HILIT: MVI A,"7" ;REVERSE VIDEO CODE JMP LITE $LOLIT: MVI A,"0" ;STOP REVERSE CODE LITE: PUSH PSW CALL SETUP ;SEND ESC [ POP PSW CALL $OUTCH ;SEND SET/RESET REVERSE MVI A,"m" JMP $OUTCH ;SEND END CODE AND RETURN ;**************************************************** SETUP: MVI A,ESCAPE CALL $OUTCH MVI A,"[" JMP $OUTCH ;**************************************************** SEND2: CALL BTOA ;CONVERT BINARY TO 2 ASCII DIGITS PUSH B ;SAVE RESULT MOV A,B CALL $OUTCH ;SEND HIGH-ORDER DIGIT POP B MOV A,C JMP $OUTCH ;SEND LOW-ORDER DIGIT ;**************************************************** BTOA: MVI B,"0" BTOA1: SUI 10 JC BTOA2 ;IF < 0 INR B ;INCREMENT HIGH DIGIT JMP BTOA1 BTOA2: ADI 10+"0" ;RESTORE & CONVERT LOW DIGIT MOV C,A RET ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $INKEY ;GET KEY AND RETURN ;**************************************************** ; OUTPUT CHARACTER TO TERMINAL ;**************************************************** ; $OUCRT: JMP $OUTCH ;PUT CHARACTER AND RETURN END MENT HIGH DIGIT JMP BTOA1 BTOA2: ADI 10+"0" ;RESTORE & CONVERT LOW DIGIT MOV C,A RET ;**************************************************** ; INPUT CHARACTER FROM TERMINAL ;**************************************************** ; $INCRT: JMP $IS`bD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%Y @ $ @a`ͮ`m}٠_@ft|la@ͮ`6va)ͮ`6 @E`6X!t> i`ͦ@`RM*xt|fp-SZ^6 i`ͦ@`RM*xt|fp-SZ^6?3@EEIm>1:N>0h$|a԰LKu,|zzaê`Ӡ HĈi*j HĈjJ( H4ĈjI@ H?P H Ĉɉ*j@ HUĉ)jJ` HIĉ*Հ HYĉꪈi0 HĊ*j?3@EEIm>1:N>0h$|a԰LKu,|zzaê`Ӡ HĈi*j HPTРbD5$T I]%$SETCRTӠbD5U$h UI .$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MR$INCRTPԕ%U @ $ @`@`> @eE`6X!d :N>5ٴ|~fӠ:u :STc 1%MR:"ԓS@ I]%:TT  UI=:RTӣ=2:^TTc1%MR:RSU#@%9 IR2SVc 1=1%R:Pԕ#)=UQ ":&UԣQ1%MRp$ @`@`> @eE`6X!d :N>5ٴ|~fӠ:u :STc 1%MR:"ԓS@ I]%SbDDCD8Z$CMP2T bDDc%hM @$MOVBLS bE$UE$I1N$SHLRIԕ bE5%D5MIQ $SRTHIԕbE5%DՈMIQ=b$SRTSXPbE5T#EhMeM 2$SYSDLTѐbE54MeMI$SYSRNTԥ ZHy = MIQbA"3>daicp ?*R#b@[s!$#/b,?9x@VP>-]bQD4EĎ`{8`wp:ʀ Ub$sY0^wYH> @a@ $#3'#?+_FEBd@+> @ F#ܧ33j( ~s2pE⬐d  |a[ F~p\.Gb2u}@K2Eb,P,m' @h HT KY81VDd +äCYWh^2@F^b,*;u%da##ܢz u%Nb,rd.|>>&~uUt|h,ZeYe@͸BYq@nڳC a #`ھ OaSi^&A:i^@'Xk^~@0X û@C2 XV(FU]_ |Jϯ}Y%ͨlvͨl*06hïg0= u]lںmW6fu xg3YV( V?:ζUhiV`00 Zg g*΁vu+ aY5{εX0,aZP6]r@nº@b5t @d#3nhY!@2a^6hY,>8B"e2&J|t`1@"%%n>9@f ͒,>;2GVJ3CK`׬#=#38#<#zF,<'3Oib+)x#X`jfUfH {`@!ڰd[H TBP@%|: RT\eA@* #fXꂀ-UX#/:"YxiK6H@ʣ.Q sV<uB` PeBbGT$Pʅ4ETPph:qO4tEv7`UAg1YV;s ]y';@'`@#Hʼ@#PҾ'q#^yVq\Uuhg0H;X`ꇀj 2 9,+ * 2͸+ (7dEw@ ?L:yAu *`xʏ3iC]5EvtHUH@]Q@ݕz@Tl* OQQpmT$ mV6Ua`7Xg![UB`=kdu @ma0@͠b@V;⳸ g9V:`a@Xcbg!YV6D2H ;yVwEgqYVzs@ 9*nqsL@ yVpNb+8 Ⱳw*y]U( ^è@dCgZ+;Txr9Xnmuܢ}sXI!;;/bV6,0R)[$}݀+WgqYVzsU uVswûnQ ]tQ rͤL@ @,:0* xF~Y!Yü>pb1y.faQ+F\%axF @d2~s?a0Ai^pCUeA@* #[^UBifmP j+h 9 Tne\Fm9 f[uB@P\ͧNEfVp ,08ٷPCv@Wtèay#uE.6Oc3XuUI@l* uD `dD08:TLuDTxuD@Tt?-X ʤ`j; ڠ6+BP@ RA^LBuTuAx3o8+80EgYV6P ȆgQ0)dna*²`ê2;j3mP+*̂ 8?l& {s`?xì 祻Oݒ]Z+;ܢ!{R)uOKvUc` kHs cblPVr"`R)]g1Yag( qYV:`*J++8 ڮQU uwbK`{sXR[UP^@!sp8bWsV'qXذ+c`qg1=@;YV{/b݇YT(mPfUfڠVUyX@w+T @:@# 3o(;DVq"{sb+Txu{sp;ذ+;889 fvrD%600?lxҬ j0} /iCPҥ;W d2^ ,*:`_ .P0H8088@w쫆+?k \ʸ@aP`0:qOTzmF x`Uw@gY+8+Ece%*zL*DzT!H'q>+;b^xEg+8 Ⱳ]YVp`"l2@9UYw 1Y;U*~s 1/A bPn (ꄀ=*VdHG902#rJ k a^*eDA3 µ[*߄?+ys;EYç0> 2@hY# Gb0+ 4MB`*"ûQ {T$D@tX%: aʄhXF^uO`8}b2#@ XF~gT(F"`cʈ x#P gZV%mY0#boH­ aE}sj:@9s뙀XT,nXw|%"` pͻ#* =ʇ0pK6x@2` dOJuBO`*ꄑ.`AuBET,EC@"`?7wD$ m^P!'\ *d& ??lX`Sʥ!O#*? `!2S^ʦB1V:OauC*äAEt(*?ٵ)Q3uv_ DTjɌbD$$ANEDTbD4t#$CMPRbD5%88$DIRTYBDT˘&$ERASEDU4U>$EUROPbDUdː>$GETOPDĕH>$LOLITbDTEHXV$OUCRTE$UD($SCRINbE45%D(&$SETCRbE59Sd5T9@:S%axF{sV)u@+7Xuc+v~ un@+ +z!Vͣ ͹`+|͹`+~R*  t@vUn@Db+r͠@,;î@ ڶ: v+zfܰfܰfܰr 83nٴrv3jh[x< %egX[0 BEVuoW̪ͩ@,+é ,ڔʩ #z2߀R@GVUEW«騀4@D 0 *H Db1*"1KS`Xո[XOUH ݅]G³Vz2#̀ jʳ !PV PEgNp5d0܀U#9@g0" Fr@1":*zfL"$i1" ze<)+Fhq"!f)FlY" d*"U bDdÃ@װ^2.1F^esۘ2Td","g0U\ڌ/7+EuB 4^ XF^Ona<G]@0)E"Z ꀭFWT|fJ3xFsWuyV+:.g,WPuu@\8 ͭ0}`2#36:W*ʹ@zow4^<7E"`R)aU.:WhfTDn¢#z¾4 W_p\@5aWPUunF~\Aa=eR` X X OGTxn¾5WX nA&aTK4##rn uw+8eW ñ@# K p7+<Qʞ꿀OjeZrpnVUaj@ñ@'PsOv±x]0+I@PPޠ34T# 8 !3.ӑU#2`4 =93P#+4Y22vUS c1Y03:5@M!QJ2'SbET5E)@\ #?9 FVnf+x[1x%<b**eaxmUP͕U@g1YUCJ+u\|Ek@'ᕻs2"U VnSE^U ~s W( g0|HEspUfg5pe 9Cv2#/b+ f0u0 ݁! a>n=a^@ /7Xȁ2YP00 uV *eaxUR@0r@U #/beUfpQ[1+! cWա\3qxF#\6m* V¨ #v2HeU]fX]b D& xڴ@'j f(X 0Ȋ@p@Y j@GV @a^mY2"**b*!@lèLڲ|ZC)E]5 ^ QcaR !Uf",Sxk60 "c! EaؾW1 xfװ! u8#9nH`7+ W2*l u6Y.P1rUo"+*EY"b9 nFwlUheVrS` hU]ٴ0 IXwUm@lunFUZ2U"b^b+j!n!B*! nVW[P7[6VU #/ h 642!1Up9l;*eaxUjDV 2"b(fp6eU U4`9EV V"gūFaU 1U9uFsd% rP9l!@E(@|`, ,HĈiF*HAi Q-- %rk@3l`² l\=aS6hè l|0aY1UuhPͳ`Nm.66 +"ͥUA:T4±`cȁ ;"[Z,Kfm eZp1xٴ!#@`nʼl;: bf +A +>HnhY.Vm !a_1Uf EAP UA CAhҢ 3@UfѐB˅zPm fmfPge #6,ͺ?L*{UrB;,#66#6+vX|#a`G |0aY`Fm=VXVXu2%B!if0w,VW,wW, W,u!^_dhPC6ׄ3nC6҃2#¼l4 >0+6+63jC>2+6ׄ3n3J nC6+m fPf*XuaS@QPA_6U> ucm f0UTfPq^YWG&x UcUxUKAU|0/\ͨ vfaY _W(`ÿʵ*>6+6҃2 )}uo*l; ͠`+ @2+ʾ`oC*ih;JL+ aW AYX!h; >,+B!nª >636 B ͻ@^O4CIY$|!aZfmP`mfjЃ3n3JЃ? Ѓ+vxUEAաfPfUz/nA0eZahAP UA`ڴ ۊͧjЃ3oC*Ѓ3ih;JЃ jYh#K<r&w(a\a rdYP UAj+,eT6p2d\(* @%f@Uf $pY-W(NUf@hڥ@ Erl@F04mSu{jD4lu063@WWZ,+UͲ Ͱ jÃjp@ ͭ!X#8 b f +>-- %fPqUf@hҶ [ Ӄ;8`ø ۴Ͳ^V^pY,W+6l"3`XW(8fГW)y: ~ x:4|- %P P  P@ P` h P r@`mm ?`XP ͭ'0=d@!6d %$d % ^,K$#+ K626,KUʯP@?8Z,+R3khH`XP Hͭ#`b@% 6 % 6X,+S3khH`XP Lͭ'廅b\,0m Nb&qn #γhY,V^2 T ͹m*vAK$B4< 3kK*pVBFT8JBGhY' 4``a PK&0QQSc*x1Qb2> ѣ 5AJ0IUS#1Y0;P@%1;0 SV# X%=A:: SԒc%I9J:H TT`%]I::8 UԒU#+`x1==-2ISՑc3X9]22S?A2TS?@y1UM!3Tc8Y%M5 2TSP!%M5.3 TSQ3%M5%3vTSRR* %M5.2TSSQ#=%M59.2TSS#&!9%M5=.3 TSS?@%M5A.3TST#' %M5I.2HTST!%M5a2 TSVTS`d44H%M5=ISAMCKTSSd4Մ%M5aISAMIDTSRRd44%M5I.ISAMKTSQd4%M5A.ISAMDKTSSQ d4$H%M5=^DSCPTRdtEE(=IMBORGHLSԑ`T$t$8=IAM^ISECPde$TU-e UKEYPTRUdUE @d@g 2O!XlxXX%p耀AY<u#94\,:" ;Fmb^Vm hxí,&ң@ `kkJ:p^l mS0![^. ՛u鰁)~鰀 <-UtzCXY9GY|2Y>@&m nPm0鰁fސmXfpm0zCvDޭW(D kfUp^#8ݒ!TAxns6a Ϳa@v;3o}6@MD 6a)ͽ!b63ns6a ͽ!:͢aV+U!* rٷ1Bl۞ " ͼ|ڶL:1/xs 9XHTmf` r6*ķLK¶NSERBt-!|FͲEw[6:l2bP[6263oxs68Z,%3h*ב+ERlmuqCZW|dP6߃Qʹ`CUfxY,&jn(kJX#3%rYX5Hٷ9xG%?1`<4mS6mf担doxsE`CvKf6V`دݒjn(k6!h UOlqWJ Ͷ`(i|± b0]@ٷ9pX,mplFuܡ `Va06`CvK6\Vm i\6> ,ڬ¼mYu@ٷ9+T3h64X.%{Ú.7dh{EWmVm iP F zh8;60#62#UY9¤7dZ,D|YL=qCZT|dP[6n(kJ̖: f0m iU`Aͻm*@ V+U!A* Ͳ`FAJ  }@VS72^ ºK| YL=jDU(AͿ f0`[zCT`Uc"3$aPQ $TX,B3@ EdZ,7dh{ՊrP,@F͹Vm0Y<MpW!eaD uͽ! |[H)nʭKji363k0ˆ@@maѰc݅bAOoj 61Y{ØvlͽB@ TmXQͯ b*PT ͠b(@`fPQsDl6 ۴ #@ tlURH "BRFVAS9"BI6m#Xvl`Y.Vm(@f 1Jp\ͻ363jp3ER"E6mR+ڈ !* *mTXp#u@WA6mWٶF w,T(@mW'ٶa\c¹@Fe mPy@ " ApP$a^cҽ;JA l+6;Ͷ[rʠVmhY9UQ@(EVDUP@BDO* !",> VD*@f爊3@ l *¬@XҪ*+oc60;ġbQkVF­61/xs Gm7 fm: f` nͦ* : UQHfͽȃgݐͪAҷG%j]b* fpvٵ9wȴ@>3kxs6S 83op3hpͦ᮱U\' ͻa(@f` Eaސ(fm f` PH=E9U_&U@YU!bPF?1l>ik4* /αOub6m b1auEW``9@l>@feqjk*=_&% x(6نP$)}P ͿNSuV+I&?1 Ͷ{9EU@ fސ >:>$cBi[[BY4UVb sU@E~-mV bP6-ٖ(-dD/8Y, f XfU>fP^Üx ͣ!αUa * SmpkhH3ns60CEUBi͠b@NB| " ͽB@NQU>>-\,^ͻ!Ou|@;!M5|@" ۺ*"U<fѐpfꭈ-W%f0Uc':$aL ¾ % ak*̫#>)S6zC9|ZS|Sm{fq x P6V->9ETA;*| fԀͶ* *6meU0J VQ 3lHSj |Lr_hpk([6 G#`3h8x$Uj<3m8* lUA>M}V ?vK~ũjT@CGD"bH:,+J\"b*R 9L %rIF:q꜈n163RY1Rb1ͶH~rGX' dž+#[0xkpF쑸 ڐͷaxGڐ=e[m fӆ\,60/ݒrI@@"m e^ (e|a\[pFup>\/SՉB" WQKՊ!53oH`,%#b7%f !cD@&m"(UcDfUejj@x #/·YjʫAèζ6a63ny/K6Ç3oX}6BfK6Ç3oX}<BfKzhBX%XVzYxsEQ8UP+23#8:ؠr@F <,XW9;sśCC- %SaK6SK6T!K4 hM,O,O,2Y>2Y >2Y>LP &mEcD F#VT@kXEdDpDTAuÅTAj^ eVWb Na^b0k*XU`Ņq) a^@&mXf`)y`!^_dUFVXB) e\@'iqA6mX,+ö LͮHF͠L@+jPͥLڰ>3i`S6 mfmuf`5\Us 3i`PMVg j0Sʮ`o* Xͫ :͹$C~DVaB7 e 6LX! U@ <dl(C¢L۾£ͧL͡a *8ͨA fPLWgFwٶ BjS6@mF TVg #63j@,eQFmF T}@ٷ0!^_dj0S4¥`3mC63j0QV(ͫ t`4jRfmu0Db6m <3i`S6Y)V(if ͹ ͨEvmXf`UV hұma"Y)f؀FujS7FqK` V|ZH#6 Z0ms& > 3i`S6LX! 0*@ <2Y!aT Vm aZQU@q B3h ReG@!XBH8D @fT6y;^ ͤ +^ ͨA:)XB UfِAkGTtnʮ`µ6҄ U@%$#93l(@hG:ͤBJͧ0T`!nʵ};jkC6+ ͩ&K60+6 ,ڤ/Y if@m f U0'<do@Fڣ@Nͬ! t[l4 `4jRfphAU,l%Q 3kC63n`BhA0 |"aaU(F@h)FNDgm' f #9ٴ$#8kK6 ,ͤNuhH fՠey}: ك3jpH2 >0?,+ ͤ,ڌWXU; ͤ,ڌa\fmN fp} if /ET"O`{ n`BK0!^å>h;63i8K6-T s2$U@ 0d`;63kC63n`BYٷ |#mV`vmfpmF [;6eK6„YVC~DVPT"]K2EH@l0DTx>  m Pmfـf f0qUfޠ@jD7,@ C~PrATE}- %rD eaYf¿@1XF^fUf >-- %ͻ*:*@ GBEfv@P mYT!0C4eTb\) P,f0w Er@ mR p\%XH2sPp ?9q9jET"O|>Z,+U@%$`XQU@b\,%B@mpX,+U QU( f` AVmhAVmpX,+U*^,G$#7ϋQ*j+ -Ba0`XW(D@XF^ FKUXB,, `6Z,KU*2VbhZQUg7 EjD4 ڤ*T._oK6 $s˘O< QI1ں$q `*Y(MfmR `v%xXI͠L@ͪAN>4'a4a_𐘌4a_d;jB7U@%0$3oC- %ͯB8Y.W6@4p\!f,+U*2 P60XU@%0e!@(Xœ- %roJ`H fא Eb\*QED` ,f /^W3@Xg!/^W3mSUCa0p DT@:`y\͹NUu6m Qꉀs;6:T8 L&hY,V{CgqݥJU/ T-`G D44hȘM$CMPR€DD48$DDELEDDUH$DOPENDDu$H$DRANRDE5D($DWRANDEu$H>$EVAL1ځDt(F$LOOKFDC̀U$MOVEbDUtdɘF$OPENFBEH>$SCANFdED(8DSCPTRdU4H˘VFSDPTRdtUDDHpVGETDTBdtUEE(ɐ]IOERRdtEE( ORGHL$u5@VSETDATe4UDED)RTdED(QRGETDTBUe4UDDHMQQ ALOBLKPdtUD$ĸAUQ 1.SETEOFUQS`dtUE5D@ָ %  hKG@@=XW(#*B"@=\3@! %Y"` /·Xi6< #@@+:vD4eZ p+DgZQphEcW[ Ȁ:Ts- Œ>y,+Th6EzZP`4h^,ͼK[]b*&r "*u T jh  f Fb5h6hPY&o>&*D*~*6(ꊀ}Iω;U@JdBk4udE@/VuUETT oiXP"eE@ "`hEw|*AV(QPUfؠR*jʺ,$Ea3j *ဳlQmP@!PՅPETa_!xZ,Hö@ Vʋ@ fb\j$V<,YU\#8@D Dg![D fc{4aUp' Ed:b\>.U4H&#?- ŒWlHŒY$ b\w@IxFVj@ IxFVj@ IFf7Z/Uf +ùLVBhhY 8Z,Hë@Cc=XW(9@ PFk06׀J˔#B@ P6@m$hD73hͻ. 3h hhH6@ m8pxFT|,mV@7FPb\#=#+ ƌ+#û Nr3H&#?g ԁvxZ,5b+ x562Sԣ,4 5A23IT(t5=Y3 Q#9XI3`ԒU2`11= :4SГ㤀1=Q 29 91UM! :P: MAQJ:U㶀QR;vUyQ56;UyQMQ.3XRST'y9]AQJ2BSԑ# YAUQ 1.3SS#89I1U93PQ#(`9M UI;UU# YMQQ ;USѣ-yMQ-1%6pQQ e4T5U$XQIMRELUNASS ddU4H1UM!&FLUSHBPRS`d4%=IJFREMEMUSe4T4DH9 =I1"FRENCHPQ T4Ĕ@Xg 2O!XlxXX%RPHi+6 (c`l@Vm;pY/VͶ@ 2u+Vͳup+ 6΀8[VP neW(F#+4pZF#9F#[4\:~hY,R9tx`sdR&`b31<0Y"GWT *HpܯVmx+F#qEU SQ6pnzljJ*6hH%:Lzé,͢ M@&mjt 3hh%4װU +6S@Zh :TF#rm*g&eu+N9!U6ug!FpxZ.KuVe@۔TlpX/K6=XW+6ʁ( h^,+PX,;zbJ@Kf XD O31ePP'+X' 怈Ifrk%pZY+umK@-f0'Ef`fP6(WT_;Z,%j]b f Upu@ `%NlP `eg[6Հ4H_ lU \lP ` T#9 .h^,ԠW+62(#b*t nģC`X#`lpYd@bh TQ4pg' Ednf 6o*@dj+ $ERRSGTԕ bDU45UI=B$IDPTRSS`bDU5MQR$NPSTKՐQbEt$8IQ $SCRTBP`RD4$H =9$COUNTВU bDdu8) %R$NMBIQӠBE4M=UJ$TARG2EDQ92$CHB  bDD4(1 = $LA2D9A$NSԑ bDde5HM = $SAVWDՕ 2E4 Q$TEMP1 e5DĔIU9 $$PROGS`bDT%9R$SETQQ RD4MQI9$POWERIS bD4@CRTDRVR9R Y|XVm[eQ fِm.h^"^R-/KV@%``UtݒK\%TC'<̀ڴ bʺ@pik8YPjL(#]@Fh[(du[ø @,;*d< " 3rAu7 T !D`x2ΧCy@t7 eFUh&wgq5MAALF aTH\bBE$xh$ABNRMD5EH$ADMEMD$$ALOGR>DDU $ANEDT D$UD($BRPTRD4$CBITD4$CHB D44$CHGB0D4t#$CHLBD4$CINIT#D4$CLIST5D44h $CMPLD4($CNDIT1bD4EC($COMNMARD4H $COUNTD5$T $CRPOSD5%tH$CURBKD5U$h̠$CURON3bD5U%4x$CVTBIDBE(`$D.LINDBtP$D.PGTDBH̀$D.SPTJbDD4(p$DCLOSDDDTX$DECOP6DDTDh8$DIRTYDDc$DLCOBDDUH`$DOPENDDu$ˠ$DRANRDE5D(˰$DWRANDEu$H $EOLDU$4XP$ERRNO5bDU%%4xh$ERSRT7bDU45$ESCP64bDU4U$EUROPDUd($EVAL1BbDd4$H0$FLAGSDdĕ5HH$GETOP?Dt($HILITD48`$IDELE9bDEE(@ $IDV*D4( $INCRTDUH$INKEYD58$IOPENDu$0$IRANRD5D(@$IWRANDu$H8$JBITL2D$LB:bDĔT$LOLITD5H$LOOKFN2D $LVL88MDTuH$MEMRYPDTHX $MLT9;bDUʠ $MOVE;bD5DH$MULDE3DUtd@$NMBDTEH$NPAD<bD5D$NSQbDt$H $OFFST2DTh0$OUCRT-DUD4$OVBEGDDe4Txʰ $PAD&E%$$PGBAS'E$ $POWERAE$H$READF>bE$UD($RETRNE$T8$ROWCLE%4d$RSLVD E%5D#$RUNCBSbE44($SAVB0TbE4etH$SCANFE45$$SCRTBE4TH $SETE4UD5($SHFTRDRE4t`$SLEBE4 $SORTERE4U(p$SQPOS/E5D $STRNGUbE5etC(p$TAFRED$x$TEMP1F2EDxp$THY2ED$TLISTGBEDX$TOPOM@bEE$4$UNPAKET5E($WRITF%Tdc̀FREMEMe$T4STKLIMUS RDdXA$SHFTRMH@ @,tdB6 '_ |{tT:ISՑc`A:(P!d4%C @:PSd4%CI@:S!d4%CY@:Sd4%C@:SЖRE4%HI1N$RETRNT P0Ĉhj HĊI*q H8Ж`bE45$@ĊhjI)ӀЖbDBtAR$D.LIN QbDB5HA!P5d@1"!r "t"&$G@1"!r:Lt"(#G@1"!rB$t")*NЖ de$TT UFRENCHM@ t*#G@22*j*lt#)"!NЖ`bDT% 1=N$ISTARSV bD$(%]I:$IWRITQS`bDu$@ĉ(iq Hĉ)ȫ Hĉ)I1 Hĉ*j*Q Hĉ*I*ЖbDDT 1=N$DSTARV bDE$(]I:$DWRITS`bDDu$@Ĉiq HĈȫ HĈI1 HĈj*Q HĈI*Жd$u5x=I ORGDESԑ T$u5M AQJNWDPTRP%` h Q` HHq@ H @ Hj @ HjHĉ)I1 Hĉ*j*Q Hĉ*I*ЖbDDT 1=N$DSTARV bDE$(]I:$DWRITS`bDDu$@Ĉiq HĈȫ HĈI1 HĈj*Q HĈI*Жd$u5x=I ORGDES!Ëf7 $,4F!â!kK*k>=!BKú>Hß>Lß>Z!â:Z¦>Pú:=>TÃK+k!kKK*{w#zw *)V " '|/W}/*w#r'zg{oPY8[V>H]>=]>L2 clK*?KcK*o!co!Ko*jK" K+kcK!͸+RzcK*͸"cK*͸"z>P>Z>P>N2 q#p N#F cͽ*V kk*)O*)V !Ä!Ä*KN#F +s#r!K+kK!͜>T>F2*k:G!r~_zW#)))k*!"+k!{ZW+R *'*bk) DM :<OG!rV#^#V=YV c{b!ͽ*?!Kfý"  Stack Underflow c{!)=¡jcC!zW{_²+kcV c" c" c*Éc!Éc!Éc! ^#V! ÷mmmmrc!"**Rʹ1 +4͢w+w##Rͽ**R"*8  !: Kfý ?Memory Full ͨ͢8 A}N ͢6+6 ͢V ͢+k× *ͮÈ ͮ*+R" ͮ!++Rkͮ͢+kʹs ʹZͽͮ ʹZͮͽ͢ *: *ͮM ͮ+͜)V ͮ͜)kͮ͜)N#F+k1 #V!5– 1 :o&+)ͽ*:G  >= > 2 #ʹJ͢" ͨ8 A} ͜*YPͽ*"##AA ͮ)ʹz2͜ ++cͯr ͢" ͜!" " #" ! j *ͱpg : µ Dqz{2 #" * " |g _! ~2 ʽ: ?<2 #V= * V#" ! : =2 *}"}V *}"R_)_` _*}"} *}++"R_)_` /<> zg P^ !` 2 ! ͱp  :<_">Tì>F2{Ûc:SÛc{2 M*)| :W: _*2*DMú _ W{ ͽ*^#V!+++"*K#~O#~G!z{z8z7جs#r*##s#r+" _Kfký*|Œ}ʮŒ> 22G!0¦6 #Øw#¦͗ktk!Kftk͗k No Errors or Warnings xWy_xWy_w#zO y{{OyO0w#z5z9{5{9 B0w#!"!"*#"ͽr hy0*w#"V!'d ||DM!>))ҳ =ªͽz/W{/_~2l# > 2l> 2lxGyOxyOxG#w#2 :½:}<2}!'<! S`! As! |!!&!|!.:&22!!"+4>2Ë*#"::DX*/_>d2 :::Dʈ-}! •!ͻÕ ʈ!ͻͦ2 : ͦʋ!ͻ>Ë!;~ ¸#«>!~4*6 " :G<!~!!~<:w60+~ >0!1> G+'#6 :I4!"H2~6 #>!4: opps2 : 22 Ͱp+l  N OxҍyOq#xIN: ¨l ppҿ2 : 22 Ͱp ¨x6 #]3\$s3J?01R1Bv3J?u0R$OT0]$(TV$a2J 1vT1TRK(T]Ks4b4b4b4s4u1Rju1zRju1\Rru1.v0RcmRGmJOWTmWu1TRu1hRu0R 0R0(vuJ?3Ju1hRu1KRNmJ5u1*R3M'4u1Rv 1R$'(T]3\%J3]( T]$%4J u1kR$5u0R$SmSo'% MoHmJ 3\'J3Jb3(TKPH% 5(u0R77J 1vJ$3$]R(frI3f5n3$XR<ZIYIHx7L!>-$]RL!;1>WR>VRS#I3'G3J%[3JM%I%H#%a'I)u;u1Ru0Ru0v0R1v1gRN+F+\+u1kRu1Ru0Ru\u0R1v1gRG+JN+JF+J\+u1kR(u1Ru0Ru\J6 '% 4'%4H)4H;L#4s; '%4'?%4H+4s\(PROCEDURE @WORKING-STORAGE FILE FD( LINKAGE 0 SECTION 8 DIVISION)ZERO)ZEROS )ZEROES1SPACE 1SPACES9(LOW-VALUE 9(LOW-VALUESA0HIGH-VALUES IQUOTESA(HIGH-VALUEIQUOTE R(REDEFINES ZOCCURSb PICTURE bPIC jVALUE VALUESrCOMPr8COMPUTATIONAL rCOMP-0r@COMPUTATIONAL-0 zBLANK TIMES SYNC0SYNCHRONIZEDJUST(JUSTIFIED USAGE xWHENLEFTRIGHT ISALL LEADING UNTIL FIRST BYONTOFROMINTOAND ORNOT !NUMERIC BEFORE)ALPHABETICAFTER LESS EQUAL !GREATER ( AT()ADVANCING 0!SEPARATE8INPUT 8I-O 8OUTPUT@KEY T!INSPECT \READY \RESET XTRACE dCLOSE lWRITE h!INVALID tREADpEND |OPENxERROR ALTER !PROCEED !REWRITE IFACCEPTADD !TALLYING!PERFORM !VARYING !DISPLAY ACOMPUTATIONAL-3 COMP-3UPON GO)DEPENDING MOVE!SUBTRACTGIVING!MULTIPLY!ROUNDED DIVIDESIZEEXIT)REPLACING STOPRUN :IDENTIFICATION2ENVIRONMENT DATA*PROGRAM-ID 2INPUT-OUTPUT(2FILE-CONTROL0SELECT8ASSIGN%RESERVE HFOR ` NOpAREAx2ORGANIZATIONACCESSMODE*SEQUENTIALRANDOMRECORD"RECORDS BLOCK "CONTAINS*CHARACTERSLABEL "STANDARD"OMITTED RERUN EVERY "PRINTER DISK;DECIMAL-POINT COMMA ;SPECIAL-NAMES (SAME03I-O-CONTROL 8OFF @ OF@ INHSIGNP#CURRENCYXSTATUS`ARE h#FILE-ID PLINEPLINES THANTHRU!THROUGH ELSE INDEXED RELATIVErINDEX TRAILINGH UPHDOWNCALL "COMPUTE DELETESET $START P"DYNAMIC AREAS 4USE +EXCEPTION #CODE-SETASCII -COLLATING %SEQUENCE3DECLARATIVESWITHLOCK,"EXHIBIT 3RESTART-FILE+CHARACTER PAGENAMED USING #PROGRAM COPYNEXT $SENTENCE@&NEGATIVEH&POSITIVE0,STANDARD-10NATIVE@ INITIAL DSORT-SORT-MERGEDMERGE L"RELEASE TRETURNSEARCH\STRING\"UNSTRING,DELIMITED $OVERFLOW$POINTER ,DELIMITER COUNT 8,DEBUGGING @,PROCEDURESJLIN RCOL ZQ-RW-Q`ERASE BEEPhPROMPTp.SPACE-FILLx.ZERO-FILL 6LEFT-JUSTIFY>RIGHT-JUSTIFY UPDATE.AUTO-SKIP 6LENGTH-CHECK>TRAILING-SIGN DSOURCE-COMPUTER >CONFIGURATION (FOBJECT-COMPUTER 8>DATE-COMPILED 8AUTHOR86INSTALLATION86DATE-WRITTEN8&SECURITY8EXTENDDATETIMEDAY SD,ASCENDING ,DESCENDINGCHAIN $CHAININGLINAGE%FOOTING TOP BOTTOM=LINAGE-COUNTER5END-OF-PAGE EOP ESCAPECOLUMNBLINK -HIGHLIGHT PLUS AUTO(SECURE0BELL8SCREEN@NUMBERHFILLER('Sz'Jk'$Tx'Ko'^c $g|']k'bYUY% 4JK'Hz'$s=':M:8RM2:4RM28R25R2QY26R27R:4R,NbR*},N."*"kP24R*"*"*"*"}<?G!r*":kP)|‡N*|:N!oPGQkPkP:kP:5R8O*_!I2:`JO!QY4bR*)|8OCOÓN|F1O}ON}I!7R4*N!7R4eO!7R4:`_*DM"iO!4R4*HR)|kP!ZR6!ZR4:5RʼOͯO+++8zOͯO͚P…O:6RKP!7R4KP*ZR!o:6R=hP:7RhP"bR*)|ʃP!4R4kP*####"*"2kP":R"R_)_=Q"R_&_z;Q"R_"^R)_=Q*R_PéP29R*R_*:R"R_&_*R_"R_&_*R_8P*^R"R_áP!9R5P*^R*ZR!F2!aR6!R6 #VQGW!\R6 ]Q!RÕQ:)WHʋQGW!\R6 •Q+~.ʠQæQw#rQ>R6 !aR4:)WHQGW!\R5 ʦQ.Q!aR~Q4æQ:)WO !" !4 >H2)WO~# Q>2 :aRQ>X!Ro>R>2 !"MXM*&W" !Ww#nR!""!"\RGW }R*"G:xR2#WIRGWSRGW R2#W!"\RGW ʷR2#W*":\RR>!\R5XGWG:xV'ʸT[>SACS ʊU?>S;SyS:>S0US"ʽT(>S_!.SgSpSTHTSTST>R:WR!W4!#W4R!$W4: WNS!4NS͝X]V͝X]VG>K2͝XxXñU>XbR:#W¬Tx*=T9X=T*)W4~*=TGW>K2]V:#W¬T9X=Tx.jT,jT0T:T*\R+"\R~-T2!WNS2"WNS.W>XcV9X:#WҥT¬T=TCSUT!)W5>XíU>L2x2%W:#W¬T:bR!\R5!#W4:\Ry U>X!\R5:-W U!"&W!)W5*\R".WxUGWG:%WT:)WH/U4*)W~/U!)W4T!\R5ʅU*\R"2%W.WGW!\R5 dUͪXjU!)W5)xUsU͹XxU.W9XxU>X*"\R6 >T!\R5!)W59XڠU>H2R:\RʧV͹XñU!\R5:\RʧV2*\R6 :WrV:"W!!W! W§V!\R5*\R~->XV\:AU>J2:*)|:$"V:V=ÅS!TVO~3V+(VX!UVN:!KV~2ÔS "# 44.W͹X*\R"6 xU:$WʧVV: WVW:!WʡV:!WʡV!".WxU>TV>X>2G:~Vx2~V:=±VáV WͪXRGW!\R5!)W5 R.W:\R=W!\R5*\R"m:`̹X!)W59XVRH*"!)W^4!4~:+W#X:`RgWG2`Rx >.W>,W:)WHW:X†W:#WʈW:%WX2,Wx͡2-WWX:%WʩW> 2)WW:XʸW::-W:\RW.WW`i"&W>2)W:%WW:W!%WgW W:)WHWÆW>X!)W5:W*\R!w#"\R> !)W4W!\R4:(W2+W.W:#WxU>XxU>2(W2XGW!\R5G:+WlX:)WzXx eX!X4AX:XʈX!)W57>2X2X::-lXx ʐX!)W5qXGWG!\R5ÃX:#W!)W5íU .@,;!(W42#W:+WGW!\R5 XͪXX!"&W9XX.W!)W5y2`RO:!Y V!,W~~wyO!Y û CHRCTR? 'QLIT'? PUNCT? BADWORD LENGTH? NAME? "N_*N_*}"R_2_z2T_Y2_#"P_z¸Y*}/\8ڨY"R_2_ëYR*P_"}""R_)_z*R__"R_&_z¹YÐY*N_##"N_*R_##"R_:T_=2T_Z*N_:U_Z{ZW2_Y2U_.-Z!/Z +!""!r:b\*"*"*"!:b\<2OY2T_"N_"UY!"MY2SY2TY*"R_!U_4Yy2PY"WY"R_:=S]|\:po&"!TY6!OY\*R_<_"R_"WY)_|\"R_)_z\*WY"MYæ\*R_:OYG*UY&_zI]#{I]#]\"R_)_)))))|2{_:p_*R_:OY<_"MYð\"R_:OY\*R_]]"R_|'^)_zx]*MY|x]*WY"MYzOz]³]{³]:QY³]*R_ "R_)_"R_z>ʺ]:OY]*R_ ##"R_"WY)_*MY|Y]>2TYY]*R_*UY&_z^#{^# ]]"R_)_z]:SY^*R_"!SY4 ^"R_:OYOú]*&}po:SYI^}o:SY=ʰ\}oð\ð\*"R_:OY†^&_" _&_""_&_"$__! _†^2OY*PY!/Zz¦^+"WY*R^*MY"R_:TY^)_"WY*2_^"WY*R*:OY_"R_*WY/_/_/_:OYW/_z*R_##"}*""R_W2_IFLLREE_*R_E_*R_*81 R*R_##"R_!## _Cvn*++"ͽ"_*)ͨ_!/Z͙_*pn™_!/Z͹_## ­_+R+"WYz_#zG_x_*_*WYR"WY_RELCRFPRNP?Command error?File not found?Can't enter file~͟j#Kf!fef!)fef!9fKffCOMSCNqf"`qfʻf:fG:fO*.±f# £fûf ±fÚf2qf*+++"`*`: `2`*`ji:e f2`2`2 `2 `2 `2 `2`<2`2`Vfů2_fh`Ih` )g>2_!`=h> 2`2`2`y,2 `Sg:_2 `fh`: ``g`Ih`:`2` 2`}g:_@2_!1`=hy=7fh 7Ih`g 7!R`=h:_!`h!1`: `g:``> =gh:`g:`g:`2` _2@kjj*`##:`2 `2`G` ~7h7hw# -h #-h w#@h:`!`~ dhw#Zhi:7>Šhxfh͈jOx=y«h[A@2`ix ژh `h͈jßhTh͈jT7͈jY7ÊhLh͈jS7͈jT7>ÊhR7͈jD7R7>Êh> i6 #=hy.2`i`xi*i͈jiy/y͈jLCi2`͈jO+iNNi2 `jj>*͟j e> ͟j:e!e"fo>g6 #> w:`‡j!e~ ʆjaڂj҂jAw#oj~# ʈj ʈj j#"f_*f+~ #i#"f+~7ȷ> ͟j> ßj!f~4Kfa!"a!1`:` k`!"`!`: `;k~;k]k 2l> 2l>2l*aa1` la1`Ëk: `5h:`k>͙l*``` l``Ëk|}lƀ)`iil> 2l> 2l> 2l:`5h:1`<ʞjm*a|al#"aawa!1`>]m =il!`>!`il: `5h:`j*`|=̎l#"``w:R`<ʱjLm*c|l#"ccjc>R`= m!=l!>m_!` /m -m<-m~=w4{ Dm> 2l~6mGm7ȷ!}mKf@@nm> ͟j!mKfjDISK FULLCOBOL1 OVR>1>2>3>42m3̄q4̙q2m2mjmp@lpw#2`.3p!3pw# p2`.:p!!p:p6 #3p:`.Gpw#GppmoIolp2io2jo:jo=pmoIoڬp!mo"ko>2jo*ko~§p7ìp#"ko"q#9q*q"q!8p*q"q)q*q*qEMA:q0q<2qq*qw#q"q:qqn!"q*qq`n&q*q|pp:qrq<2q=G:q{qq*q~#bq"q!qq͊nmq!"qmqV_!}"q:qq7n:qqSn}{¼r> _r uu!xmvvrvmvwOGysszsv~wrvw!v1sv~wwGHsVv͚vzXsxG Dyv+sBKxWYͽ*"###z͌s{Čs{sG1y+v:x2x x*u Dy*x Dyzs*xDy*x|sͬysDy5ykͮw*x"xͣv{<=t3v!x#r#s#mvtwwmvmvͰv͚v*x"x"mv!x̀v!mv*xwmv!x9u:ʟt!x"x>2xDy!t"t!x"x>2x!##@vͰvDyDy*t"x>2xDy!x"x >2xDyytCOBLIBCOBLBXw*x"xr*x Dy3vmvu*x"x3v̀v>2x3v@vͰv͚v"̈́y55yC5y"uzʦu!"x>2uñu*u"x>2uͣvöupwzW:fmvG:xx 1y2x+v*x+"x*x|} v+>2x*x"xͣv:x#v 1y+v!"x*x#"x*"##x#r#s#Fv*xx V#*x"x!x%B1yC1y*x##"x@vͰv*xmv:uGDy*xÓv*x :uGDy>2x!x!x> v+5ÿv"x!x"xy|*x?z1 *xs#r#*xs#r#:u w͠yC5yB5ywv^#V#"x^#V#~++Vv͑v!"xͪzzewwG:u:wz:w&ww#w#~ w:w*x#}4w:wʆw2Œwͻw!w"w"w"w<2w*wR#*xR#:uw#"w:wĻw!wo!wn!IxnwXFGPS$VADWR$NUBC xHCOBLOCrrrrrssss^sssttttu uu*u6uCuRuuu^suͬyxGͬy 8y͠yA>̈́yyky>̈́yC5yB5yy :xGW>̈́y*xF5y#yyW>ʔy_xŽyGxGͬy”y7ͬyxͬyx!x~w#4y͙l!"xـ!y w#y!"y>z! "y!>2yz{7zN#####:y*{ Iz>!2yz{ez͎z+p+q:yyz͎z#q#pF4x†z_{q#p>w=#w#w#s#r#'{<"yG8{#-{*|ʵ{*0|8T{µ{:pG:.|ʵ{=µ{*ͽ!{:!{w#:w#:w*##ͽ!|¦{*{"{"{ò{*^#V!{%͹{{*{"{!{56!{"{@LLLLLL W0=DDDD TPH {  ͽ*}Y| F|y Y| .1[|.00g"|!|*#||||!|*"|#"|||*|!}!}*|#"|%#£|!}ͽ*|"|||||#%TXX N=XXXX L=XXXX M=XXXX G=XXXX *XXXXXX* XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX *"*81 *"}#"}~ʠ}*}!"}*}R+8ʠ} "}o}*}*}~8ʼ}#í}*@+R0 ͽ*}Y| F|y Y| .1[|.00g"|!|*#||||!|*"|#"|||*|!}!}*|#"|%#£|!}ͽ*|"|||||#%TXX N=XXXX L=XXXX Û@iqIlPH%aI,H%M3I37& I:+IIII'' ' 'u]@0vg0R`(T]`\2J3$JC01R`ONTN)K1vj:T/K`TV`JqJJJJJ4u(TK2Nu]@0JQuu.3\O)lJJJ'JHJHa"*LnJ2Juu.OJ J J J 2\HaIje]+H& G0+I0+F/Ja6J 0!v`uu.OF/2\\/JZJ :J+J+HJ3]u.G/J`u9J6G=?u.u*u3ugu:<(u@0 vu]@1OjHH/HHv3H **u]@1v3s@\3]GJN2u.N'u]@0N]6v3 \]6JQ 0R0(v '%4HSI *%FM4 LF3 FJ$LI7&L>]D3\$I&LI((PPPPPPPP' % S%&02vu]@0v3Jx1Tv1Bv1 v9FJ1Xv91Uvy1svOTKGJ1WRJv(T]d]NJvFJu]@0v1VRu]@0RcR02vu]@1vSGJU02v0JSu]@0RcR02vu]@JFJu]@1TRu]@1Yvk1Zvq1lv^1Ru]@1Zvq1YR\Jx(PJxFJu]@0v1VRu]@0RcRJ3NJxU02vu]@1R3]u]@0RcRJxu]@1TRu]@0v1lv1Ru]@0RFJ#'#bS##H#02vu]@0v0vJ\3]72222'I'''JiFJu]@1hR)u]@1mR(5u]@0vb0veW7((#(%M((TKlJx3M5)(GJFJJSlJx3MGJFJ5u]@0RcRJx5u]@1tvx0R +H)I)N)FJRG3JI*)"##d*Kb##v3)J###_###['#Jv1 v3N)N *02v u]@01R0J'S) S *02$v u]@0v:0RG28NJOTR*WT^*Wk1v"1iv"1&v'"17v!1{v9"T"K"JoR*0"RJJJ Jl JE!Jm!J!J!J!J!JB"1vQ3J!u]@0N)F)JRH 0SRUI)J3Ju]@0N)RT)]c*RO*TWT:*VP)\)J3J302vu]@0$J37J(02v PN)F)J'u]@OP)-#-l)JJ JU JJ JU -G=?JJ<7-L<*T]e b--JL N)F)J(T] -5u]@1v!0!v 0v 0v 0v!3J[OP)f dK3]J 2J u !(P)HI)OP)7---#-l)OP)OP)J(Gu !J (J N!c)v!\!s !3]( P)u]@0v3!0!v R Ud] $I,JN)F)Jud*FJc!GUI)J>]W!(J!N)F)J5u]@0!R1R\)J(T)KJ!N)F)J\)02vu]@0"v'1v1vJN)F)J\)02vu]@0"v'J!5N)J"F)J()eK!(P)JG)JN)JN)5u]@0R1R( oF**JP**JG**JF)J\)JG)JJN)(T)K5u]@0R"S(*7H))"d(*]"#_"K"'J"aJp"$d)K"302vJO"0J'3]G)Ju]@0v"0R1(R"5J"1RJ"02vu]@0v"0J'[R($7&I&*7&L6*S.*d)W$U7L8*  I*UL9SQ/uS/u0$HQ/dV\#4L9S*k*vR#2*Uv#J($d>*Vk#LMB*J?#O?K{#2*UJ?#O.*?]s#nJ?#2*UJ#gB*K#J#F&*J#SD+7&I*7&a*g`*$]#7LB*I2*aF2*J#gB*K#7#_#n*nD+F*`$*G*`"*$ n!F&*I$*G&*$ n!O.*T*V$N*T)V"N)J"(T)]P$T]P$G$*JP$H$*nn"*ZK$JP$`"*6N*N*N$*OJ$Jw$Jf$O^T]$2+J$F/J$H"*g`*$K$'6b"*J$PN"*J$\*$j)H *F *$G)J(e)N)WX(\)O*F*P)e)V$N)N)N)eK!(F*J$2 \)J!(O)\)TK%TK%F)2 Js&J%J7(Jx%J1(G)J%j)"--St%Lv%Sr%--S)Ut%L4*7%M-S*N))l*Ut%&L4*%Mr%-Hp%M*-G=?J&'S)IJ;Z(P*u_5u5j)"--S*dV%J&LMB*J&O)j)"--J%J[&J%J:&(P*7L4*a&I*u5u_5\)J&(P*7L4*I*u5g(K%F**J%F)25N)N**J&O)^**X&O)P)O)P**F)J+&G**J%&a(J&\**J&b*\)G**\**J&2!oN*P*(P*u5u_5H*J&2>J%go&]V&L4*dW<&-JV&O)J&J&J&J<&2(J<&j)u_5u5"--7S*L<*a(T*K&b7--'H*&I*S *H*FJ&(T)]&dM/W&SM/dO/V&SO/I*4H)k*RD'F)JS'G*JL'7LB*I2*L97L9`$gB*KD'M2* S*gB*K'U"*a4$`"*J'2*UJ%'''J4'U) U)UG)S$*S'64$g(]'&d)]'d]'d]'U'6na*n"*Z($J'$H *2N)J&U$*4$`$*UL%M*%u)M*4H*& L(T)K'adVP(%M)%M)a**a**F/MP*4T](uF+bH *F *$s" `"*6J'(T)N*K$2J$\*J&)l*)_)"-H@*F)-$J&U2(J'O)F)2 'd)Kp(d)]p(2N)^)^)^)Y(2#(P*N)O)H)a**I*F*J(T)V(N)N)N)J(P)H)I)H**I)T*V(N*O)J(J(J(J(F*J(H)P*I*H)G*JM)$ILJ*u)M*S*F)MB*(T)K)gF*KX)a@*H)%MI'F)MB*H$*'F)JS'H*gB*KR)U"*a4J''J(U$*JH)2(J)(T)Km)F*s])H*LB*M)I5g`*Kj)bbbF5Jj)(T]j)'6Jj)  R) d)K)$J) I*s)H) I*s)? ``XM 1O?Ww*? (Kz*(ofX*sd*(T.+W +T0+W +'6'a:+d8+V +S6+I(*'6[(*F(*J*'O6+7T0+K*T.+K*T8+K+6a<+^J*'6^T.+K*T8+K+J*H4+d2+V+6b4+^T8+K+J*& 6J*2+J+6 6'[6H@+6HB+6'6s*ݪG>+JV+(T>+]+G)J0F)J+(N*Ry+gB*I*K+G)J+T)]+H*g0$]+F'0Js0O*j)J+J),JQ-J),J),F)20sF+20H*k)(R+R+L8*  I*k*v+2*$J+G'06J+eK,e],G)J,20N'0J+e]+'J,H)G)J,mbF!2''6 J+J,J+J+JW,JW,JW,JW,JW,H,&H,&%MJZ,r,7'd*Wj,Kj,US*6 O*o*P*ZZ,$J+j)"-O)o*Z,P*--#-_"--H)6 G*J+m*b*)J),'a*&-O*P)2'(J,00 ""H-'S)--S)-U--N)N)J]-00eF)[*K,eK+eV+H)n)S,U *&L4*S,U *gB*]-'n,I,L4*n,S,(H-Q-^T 0]-(o,P,H)-)-7Q-%[)G)J-^Q-_^[)F)J-$(o,oT,W-f-g-K-2'$(o,F)J.uQ.G)J .H**g`*$] .u?.N)f-'6 [*^F*J .G)sF+u?.J+H0F)U 0'6 s?.F)sQ.G**sQ.G)sQ.P.j.H**g`*Kz._*pr-g-K.a.t-sQ.U.J.}H *L4*S*g`*].ob*'F)n%P)j)_*t-f-%I.f-h.'6 ^j*pl*Z.J+u3Fs.F2)#u/s.G *s/OO/GPTK/2 OM/GPTK-/2 O>*PO/NM/j *"HH_"s/F/Ja/FsS/IQ/7&L6*dUQ/Kw/sS/F/J/dM/W/SM/dO/Vt/SO/Jt/d/Kt/2cJt/W $06>JNOQ  `$ - +G)J+F'0Js0O)P'0O)JK0J+J+J+JE0JE0JE0JE0Jx0P,*J+N,*'a)-'a)&7-#-O)P0*###J+2J+H,I,^JE0G'0s0H.*d'0$]0N'0G,*J0S0O,*f,'6 [0F0J0J0H0*nQ/Z0I0#H0*6 ('n0I0J03UQ/(J0\33]O)J3N3(T*V_1KY13102v1u]@01R1J1u]@01R10vl0R1N)c*R31F*J813J1O*TL*K_1TN*]M1\)JfTV*V31P)JfG)J1u]@0R1 'S *$H34u]@1 v11v121N35J1N35lF*JN2u]@u 2402v1u]@19v1 7a4u 27b302v1u]@J1H3M3402$v120J1H[6I3u]@u 2d3V1K120U37& I3L3MB*4J1N[60!R21vH230JH20vB20R2FJ2GJB2c[6R2m[6b[6JH2c[6R2H[6s 2 7a4u]@u2u]@19vl2u2u]@Jc2HB*402vy2u]@u2J1(T*]20v20v20!R21v230O3Pr(PNNH%GM%M%77GJ2ULd3I3K2a3J2H 0bbH&77Jk30!R31vz3O1R 330(f37Jo30R 3O*oYg3Z,3$J 3P3HLGb3U3&I3S3O3a3dV'3I3T3Kd3H^JU3H37777b302v1s23]u]@0R2(T] 3$L3&M3J3H@_H? 0+@N)u"s3L>*aJ3)"'$R4S'6gK4g56K3L4*'SIH%IOQp[FJ4H& 0R740(RA43J30(v74HH LSH'6& I'6O'6TK4fA6a$H'6g`*]3&I'6O'6f76% )_"J3a$ I$L)6d+6]74Ug-6]74J3s3L4*aJ3L4*dK4nS#_#H%IOQp[FJ4H&' 0v53J30(v5H H&LGJC5d$]Z5H&L4*FJZ5$HLFJZ5'$J3$J5G**s_5P5u5O5PrO5Pt3u6O5N**Jd5SIGNJUSTUSAGG)s5P5u5O5PrO5Pt3u6O5N)J5H)dK5g`*K5P5u5O5PrO5Pt3u6O5N)s5OP6OrP 6OtP 6(Ps5O6PO 6PrO 6Pts6 u]@0u9H& G.+I.+v6N/3a$JCO/TK6Jgu]@0Rw6 N/\/N>+H_66b_65IH& S2+u]@0Rw61'Rw6OoY6Zj8Jw6H/74I/H4'%MP*4' %M4N/N/N/N/N/N/N/N/N/N/N/N/02v75u]@0v70Rw6\/1.v71kv71v7OT/Vw6T/Ww6o/Jb7Jw7J7J|7J7J7J7u]@1v71v71v7Jw6'J7'J7'J7'J7'J7'J7'J7u]@1Rw6'J7u]@1(Rw6' J7u]@1(Rw6' J7' 5I/u802v75u]@J#7\/u802v7b/J7( T/Ww6N"*u]@0vH/6JQ'S8U8s8u]@0R\8O/f/I*F*Jw6'Q/\/ f/4f/M4'%MP*4f/%M4s81 Rw6F/J8Jw6'S/4H4'%MP*M4' %M4N/N/N/N/N/02ve9u]@0Rw61v81v81kv81/vQ91v91v9Jw6u]@1R8)J[9u]@1Rw6)J[9u]@1(Rw6)J[91v9)1v]90Rw6O 9Ph9Jr9_9)J[9u]@1v 9Jw6u]@1 Rw6u]@0Rw6c*Rw6[*F*Jw602ve9u]@0Rw61v8J8u]@1(Rw6)5uh902R8J7u]@0Rw6r/I*F*Jw6't/\/ r94r9M4'%MP*eW9M34r9%I*' M*4sh9  5u]@0R8S(*7'02R9J7HaIs9HM"*a>*LJ Gs:US9'H9 0v\:O9QpoXG:O9^9P3'v*:s:uu.\=?#u]@0v:1vq3Ju:c)R?(T)]? 7I+?u]@0R?\K?\I?u? '#4H)%4uW;bI?UIK?0RGA?JF;?J$=02vc=u]@1v=@0R=1v,=1vf=1vq=1v|=1v=1*v=1v=1 v=1 v>1v>1v>1~v>1R=5'JE=0vc>3_JJJ=0vc>0vQ>0vQ>1v>0!v2>N-?J=u]@0!v2>0R=O?]=$J8>Of,'%8 7#7F9?3l9?77JNM7$7J<(PH3?&F3'%`3?J( )J>)r-?F3$\u]@0Nv>eK=\-?J=Ht-?JH3?LF3$M3?I3?s>H+?!7N5?N7?NM?N3?N1?N;?N9?N-?N/?#$s?% IGsW? 7g@]?&L%MI*7L8+M*#7#L@#sW?3`1vqJu:3`0Jz:u?HI?H5?u?SI?%HK?H7?u?F7?J?F5?UIK?MK?#s?GJ?gQ?]?LU?aIs?$s?H)% M3?#s?6H@6)"#'##R#@#6J@H@6"'R:@6J.@s@3_Jqr5?F3't5?$02vc=0J<2.GJ@HL3GJ{@M[@Sy@2UNL<*F2b$04R@2Gs]@!BEw#¢@*"hE##":A(EO!"eE!BEFw“A:B!Ey@# @AH!jE :HE A!KE6 A!\E4!EE4WA![E4:YEXʬB:NE!eEB:HE8A:MEWA:SEeA:TEeA:UEeA!AeA:SE?A!gEA:gE2SE:LEA:eE!NEAw:HEʓA:eE!MEAw:WEʭA!gEʷAW:XE_V!RE4:gE2WE2XE!XE:eEw*PE*eE|A"PE:gE2ZE4E: D:BEžB:IEʻ@!]EͻWD:B!HE~A4:LEA!JE4!EE4ÓA:BB!HE~A4A:CEA!GE4A:SEaB:JEA!HE4:eE!MEAwA:HEA!LE6QBRwBB:OEA4E(E*CE+"CEA!eE6!BE4(EB!IE4û@!FE4ÓA>X2YE2gE*eE*PE|ʓAA:SEB:TEB :UEB !E !TE:gEwG:Bx-C y2OEB!UE:gEwG:TE9C:ʓA:TE!xBA:gE!UEAG:eA>2VEeA:gE!A+[C!OE4!IE4B:gE!A:TEA:gERC:gE!SEkA!A~!TEA!UEAsC!"eE4E:A(E)C0A A*eE! ͜_A"eEâC*eE|A+"eE:ZE!C !EC#CAO2gE*eE|A@:BEA:WEW:XE_V!RE4^:PEWV:YEʑD9A:LEA:EE!HE!JEA:FElD*PE*hE##"Ri`"!w#w#:rD:rDeD:SEA:LEʫD:ME!NEA:FE!EED:MEo&):GED#J!Jl8J,J,J,JL$J4"J; J-J,9J3JF-JF6J-JJJ)BJ;4Jc2J.JGJG\*3MOPWJi3\O*PJu0R0(vH $&>]$& a*g ]$02RrJA2/JG0Ru+H(,MJ'`(2PJE2NN*02R\*N JEFW2J.GJHL+ GJMS2UNL 'F2b$04R2GNW20$vEH>$K8G1F0v01Rt(P*28F J`O*J4JJ)JDJBJJJ8J)J8J8JJJJJ:JJJJJQAJJJJ3Ju/JJL3FJ$' uF >xNVS>W#HN% u2uFGu3JH-='uFNu3G0JN0+#G0J#N0'M0#+#G*J4H0uFN00 v !F*JHN*N Jz(T*K?JA27F JJ# >W#27(F JJ40"ROO fK=a L % I! '((L) M! (u*N N N JGW25u?=u[0RO fK=%aL(9I! HL/ M! M S L- b H g1 $K5H g5 $]H;H;'b J5u\ ui$0RF J3 N 02vG01vz0 v !u02Juz N 02RG JJ u1R H9 3]I! O fK=a! L9 b J1 R"H G0JGNJJO T]Eu0REO T]N uJ0 R^G JH# b [ JG#J1#RJ F)lF J (>KuAJ\ 5u?=u[0v1!v0R(TKHg1 Kg5 $KuAJQ\ ui$0RG J5u?=N u\ [1RuAJ1 v0 RuAJJ0R uU JQuAO T]^J+G JH ;I Y Z N J I u* n I b N 0!Rw I sU F J u*sz H b (g K W ;J M*> (7((H ;! I (sz @=N u(T*K!(T*]O?]uJ3u'6 nS+8nMW6G+J@!H8H+H+%6 Hu)H)"'6 ''6'66#'0M%M6'%6H;6H;86HHHHuFH.,8F8VH2"HHW*u$J02v"u0R!1R02v u0v!0R!\ G N uAuu$J!G J18R5Nuu+F2&'J 2]J $d0"']"u1+R3M$d."\2"K JRT Tu1>RG"(TK J0v0RV"F3ui$u*J u1R'% 3MJ#u0Re=\\ui$u*GJ"N H%u1v_"1vg"1Ru0R1*v"1v"O?K"?K"?]V%$GJN7L S$7L3I==uF7I9=7&S&I&('(7&L'I87&L&I$=O$=J%J%J%J%J%J%J$J'Of8E& I$=f>Ef8Ef2E'((si$G34JAg%K$g%]%F%J%G J$J%H%% M%(J0&g%K$G8J%'d%$K% $&L'd8$V%J%'I$=S'L'H$=% I&M&((H'L&(S%L % (U%L3I%F%J%G&si$b (?P&()H $&L'd&Wb&$e&]F&2JAI&L '>KT&  QH I'7&L&S&7L I&$U'P+O&J&J&J&J&8L'Z&M'O+Q#H9[&F&JT&JU'U*>J&L'&J&g&L'F&J&K&8J&8&J& ?8G J$3]N S'&% (7L '(H'L'M'(($ 7gQ'$]$%J@'??u0R]&)P&P&u0'tH'tG'a&Z'Y'J]&vO(0v'0v;(0v'0 R]&$&d0K'n0X]&I)u0R]&c)R]&G)J'm)b)H)tHF&Je'u0 R *J(tH'J(FJ]&FJ*c+R]&H+O&?W]&fHdW*R*$G+J*;'% t HtH:[&$F&Je'u0 Rj'J(lM(u+jM(H(,MJ'H@V]&0(R^(2 L'I+tHg*]]&S'L tG&L&GJ(>]]&U+&FJ]&U+L'% H+&L I+F+J(H'&g $K(rH8tHt HJ#(j&l&HL 'M0I[ (=N)N+r Hd*[&K)b)f#HMrHrGrH%M9=F&J(G)Ja)H)%a)RX)],)';!(U)%'((((Ja)JD)HL 'MI$G+si$ (((a+()"(si$OT)W)P)H)L'nd)W)S)s)H)a)) e V)88>V)%I)F)J))l)H)% M))##J8 SSE'J)rHf#Hk`+J)33Jm)\+32J'1(P$=vV*I)d)K1*d)]3*3]$[)F)J3*'% (H;(GP$=(si$u0R*3]U>]$&%M}*(H' Isi$ 0!R1vJ>*'% (7(((H(si$H*OP)qr(P$=b$' %M%(J*GJ*H*J*--++'( (7((b (s*N+0Rb+Nui$OG$=(P)G$=JP+H$=>$]+((S)&L'I(& L FJY+$G;u*s+mbJN+0v+0v+0!v+G J+0R+u+('(N$='('% M(,(G+JP+N+si$1v+1R+u1R+ui$OP)JP+2%JA)"'R#,I,,S*,L'd,,],],U*,&I(,$'F(,s+H.,8S.,S(,%s+'v+$JuN)N)um,u0!v9,0R9,F*Jx,1vd,1:R(T VJ,uum,J,u+u)sm,1RJ,\*J0,uu+u1Ruum,0R,N u1:R,\ 'u0RuFN u1;R,'u1R,\ u1O?}]J> =3]H;I0N0F0J0''' I0N0H0u0v.0v.0!v.0RO?].5u1/\ uO?]N0u0RO0f0FJ Q0(u+F3&[ J.)"'\0J )"H*%G0J/#H;=H'uE''HM*>' ##+#H;=H'''HM*>uEH0!#((fE("=('(F0J/H;H0'J/H08''(('('(H(uFupFJ'N0N0u0Rui$u*u1vv0O?]5u0vW00vW01RR0\0J:00!Rui$F0uFu*b*u1vv01 RJ:0u0RH0ui$u*N u0Ry0O?K0?K0J.L1 'G*JJ0L 'FJu0R01hRu0RJ0-+ 1`DNu1'R$(TK31W1'SY2J81$d0K,1'J13]'J1'J1u0Re8u7uF(NU2GJh1S $IU2&>Wf1J1$Hj8&L1 S0I+F+J1FU22GU2K1J&2)#H >VS#uFs2GU2J1N6O[2P6J7(gS2$KM2[+G+J1u*J172UY2J1\5=3]u0Re80(Rw23u7uFH%OPY2G5=N uO?Kw31TR2u1v2>K3Hj8L 3>K3F5=J31((P*R.45u0Ru6u*uJ.4OY2Ps3u0Rui$'()"((I3I3I3(uJ20Gs3Ja3H;=H''Hs3 L''(d'L'H'V@3JC3`%`$(LH3H3H3Ns3L'>W\u3J53]Hj8gGK'uJ21%R3u1.R'G5=J g3]g3K%M J u0Re8u7uFHj8gGK\u3Hj8&L1 >W4(IGJ4OPY2UIu6u*OY2PN u\*1TR.4(T]u1-R5(H*J3\5=3]u0Rui$)"()[8F8J5(I5j' I5G5J5(g5$K4(&L I5'R5G5Jq4&8&8R5Jq4(Iu7lHu*N l5u1vd5F5=J ( T*K51#R4(T]J51"R5(T]'J5'& >$]\ 5%uN 0vG1v?50R5c*R5H*>xV5%u1*RJ5u1%RR5uO?]3]H'J 'M;=H''((u0Rui$H5IOq3Pi$J$uFuJ4\*J.41|R'J;52:J?51-v5JJ53 JGu0Re8u7uFN u0v61Kv6Hj8gG]53]1Iv961vR5u1xv61LRu1wR'J6'J5'uu2uFHH'\ N J5u1,R'J63]u0Re8u7uFHj8gGKgGK\u3N u0R1((P*R.45u0R61$v61!Ru1$R(T]'J6'5(TK6VU*>54\ u0Ru6u*N uJ.4'J6N6dK73?\ JA ui$$'(((S6& >V6L&I5O5Hj8&I7G7J6[7JJ7J6J7J6JS7J6J6J6F7JY7J6F7J6H'&g ]6U6L'>V6S6U6%M6M6(s6H6&L'FJ6((& L'FJ6((U6L'Jo7H '7L'GJe8$7&I==7g/8]e8L'M7&g3=$]&=7L 'H&>$W8K83\J83]Sj87S1=L'787(FJ38$JR8 ''7% Mj8$b s73=JA\8uui$G&J8u*H;('(u*'!(uF'!u*u1Ru0Rui$ u*uFuF!N J8N8J#'(g(9K9U(9(T*K8'!(u*J9L3FpJ8)"U1 b )"g K ;'(uFJ3]u0Rui$u*u0v691;RP9'u0R$&n $XH;b N;\;-'-\;u0 R9u-;d;'K9$d;]J9u;-$u0v90v90v90!v90v90 v90 v%:J,G;JN;N (I;u+H; (nb($J9'-Jy9--R->K:u ;%M b u@;Ru;J9-[!-J9F;J\;\ u-;d;]@:U J:d;]L:U(9J:d;]X:U*>Jp:d;]d:U1 Jp:d;]U*JE--R:'-K:U*-K:U*>-K:U1 -K:U&-K:$-Jy9--R:'-]:$J:u:Jp:u:J:$-u ;%M b -[!-u@;u;s:-N;-v;u;H(9---R->Ku ;%M b u@;Ru;J:>]*;U s ;$d;];;U;&s-;('((R;(S;((R;(7[(((([H;(S;(((([H;[!(b b s@;H;H;''7((s; 0H;7(H;7('(b;b s;@-+*/^**^^uN =0Rui$u*N*u15RsN0>0Ru@u0v=0RO?]H7u0Ru+G$=JF3&H)L'>]J ui$u@u*N u1vRu0RO?W?K >Tc=K>?VK=?]>O$=?K?KOf~<J=\.>J=\0>J=@ g]N>7L3GJL>>WL>2Y$7u>>W\>2[$7&u>%>Wp>2Z$L,>F.>M#F0>MJLa=7Fs>U$=>K>>]>Us>U>s>@ >]N ;!'u*N u0Rui$FJ>JN.uNH-='b 0R+?3Mu@0v ?0 RJ(?c$=Ru0 RH$=L'M0Hu0vi?0v?0v?0v?0!v?0R3MO?K@?Q]'5vu0RJ?G.J?FJFHwS.I.b HM.8[.F.J?H.H.8%u@\ui$FJ>u@u*u@N u\ 0v>1Qv>1v>17R+?3]u0RH $g?]''J 'N u\ 0v>J+?(N+04v@.v]@0RT]H6u@04v@. R@$&d0KX@d0]\+.Rc$=RH u@F+m$=F+b$=H$=L 'M09. v@?N+0W$@s@0 v@J?K@&s@0R@(T$=]@'((d'V((L'd_=V$s@'8s@1'RT]u0R1Rs@u0vA0RuAsA0Re8u7Hj8&L1 >]GsA( T+=H/=KIA7&I/=s8AF JFJTA>KTAJ#H 7&L1 >]{A3\$7&L&>$]L'%N +u0R3]'!JiA7Mg$Hb sAG JN! H O! b! O! T ]Ab G sA I sAuAH b uz sA)##&L*GJGJ&BHJl3]'nI#H0b OP/=\5=\=Hu0vRBJe8u7N5=5u0RO?]5(OP+=u8Au0Rui$F&J~CH1=g7=]$( T WBu*5u0RBO?KjB1vC1v C1~RCN#uuAb#u0RB)#H##F#JDC'H#>$K'JDC3hJ0Ru8AJ}Bu1R5u1tRuJBG#J(u@5'uAu0R19RIC'uAu0R1:RWCuuAJ (u@5'uAN u0R19R\ 'uAJTC3,JB3]u\0H'IN1RCu'\N0RHS0 7L '  >K%7L&I% 7L % M% 7&L&% I% L'M% &L1 GJD% M%#'#N N0N0u0R16(TNK&Dv@D1%v3D1.v9DJuJ+D'JDF0Ju0vSD0R\ \;u+N;'((I0I0I0H0& >]DL'I0JDG0JDO0T0]DH0H0H0J)"S0L'8Rd0KD'$vDU0&''FJDU.,8S.,7%M(TNW'E(''M''H;H0'' ((uFG0JD'JD u0vbE0!vkE0R(T]ui$u*sFE'MOfwE''((JeE00 ""^PQQRRSSTTU_VVWWXXYYZZ[[\\]V^PU__PPPH0(((sE--RF'-KFU*-]Fu:JE$J:)#7&L1 >]!F#J$a## n#I#b#H#777j##7# n#!u#H#7H0b 7n#!7JG0spF\0H;=H'''H' ##H0!spFFJFF(G+(sFFJFFG+sFN0H0sF---'---RF-JF -Jz?sFGsFui$H$=>V>Ku*sF3]H6GH''((\;u+F3&N;uFJ?5YNGuMGFGuGGGJJt('g KeGIGsMG'&8&8vUGsMG5/hvG\W2sGNG.RGH 7&L'>$]GL'(g KGIG$sGH-=M'(HG(NGsi$(G2<$sG3]3]3JA0 I5'F58M=Hs)H#!7JG0spF\0H;=H'''H' ##H0!spFFJFF(G+(sFFJFFG+sFN0H0sF---'---RF-JF -Jz?sFGsFui$H$=>V>Ku*sF3]H6GH''((\;u+F3&N;uFJ?5YNGuMGFGuGGGJJt('g KeGIGsMG'JJ#J;JH& IOJ?JJJJJJJJH&SGJ;8HJ4UL)SOUQ+!J4GJ4 $[JP(H&7L)Q9?Wd$\u<OPOPOPG9J [I I INF3Ju<OPOPNF1JG/Ju<OPOPG)J#NF!Ju<OPOPu<OPOPN FJGJ#u<OPOP G9J[H'H\`;u<HuASH:uN`;HINu)HIHL)F9Ml;6HHuH6H6G9JH6HHuHHuG)JHHuHHuHH uG9J4HH H \`;uuK"HH'uN`;uz"J4IIu(s 0ݪlJHH8IM;sAH6u7!HF6u7!'%6GJz'6uA66HdVU&86 H6Ht6 H6Hj6GjJHh8GJ6J6Lh;6v'[6'6 6) r=ZYO*@@HOJ|J|OPPfOaPP #Id'%M#H#GJs u#[JOJnHd!#OfPPJP8@6J4[ uSE"IG" uuGGMHJ4HR)6HE"6H6GJ4uQH6J4FJ;H\)GJ MlI> uHuQHI#!IE"GJFlJG#!JH#!ux;H>6FlJ HE"6J4Hj6bjH%!%M#!HE"J4M&6Hj6bjH%!%'J4--N'[ uHuQHF\-[FJKu)I)" M\)6H66v~GJ4 --- -%6 J4'6sFJ'%J~u<H%MA"MV)6H6J4L);SFG$F-JPN~G|JH6N|u'I  R2u1JIg=H]uGJPdW0sSHg;$K-22H;22L)822Rz2g;KzL)d]N'2222]R#2l$HJ-L)($((( uGJP(HL)I2R2g;KL)dK82J28222]OPJ/$uP(JPL)IU)2 2IGJ2SL)dK822vuP(s28222K/HJ $'272s(G`; g0K'Q'Q'Q'Qv'Qg;Kg;Kg;K(gpKg;K0d:Kdr;K<*7& L)QvL;g)]vI7S& L)SQjQJJJ5JJJJ J1'Q'Q[JJss<s(J@(J@$'QJ'QH& L)QHLj;HLb;`$Q'QJHL)QH&7L)Q&L)H7& L)Q& L)IFmF8QJHLj;SQH&Qf@$K)7&I&L)JeHL)QJ'\'Q'QvQ7L)S&L)QnQ Iq5'Q)"K :J;adq5nVHq5!%Q$J'NJ'QSL)Ij@WPH&%JSrf'Gb'GJJ( 0 ""S7S& L)>$KL)Ibt7LIHtM^)66[HM6Ht%M)HJ$F)J%S'aH:J$uAQJg;7Mb)I] g'!K F5!J \5!H\)6'6\J NFHF6u7!Fu g'!]] F3!J] u \3!'6'%6(f+!S78F786G7869?WF 'a+!j+!"22H& I#!7L)%IlL)`+!b+!:"2S2FSFNGSFu 6u>H`)FM6HFU6GJ 2H%6 F u>J4FHF6Nu7!s H#!d%!K!>K!7ux;H\)67676GJ!7Mv;6I%!s Gs7! dj;Vy!Mb)6N!' n!Y~!>Wc!U)S`!H%6JS!'@uJ$s7! [uSE"SG"Ug="$]! [uIG"uGGMHJ4Hg!K!gA"K6"GJ!u)Hd)M)6HE"6HG"66J4u!J4Hd)6HE"6HG"6s!u'S;"6u.u'S H\)66  u1u!uFH;"H\)66H 6J4JFHHHHHI@)IB)ID)IF)IH)OxPs&OPu&sK"OPOPOPOPOPOPOPOzPvOF)P(POD)PN\xuAINNu)O@)POB)POD)POF)PPOH)POs&PvOu&PNu,>'MT)6H%M%M%M6u(u(H& >]`#NO@)POB)POD)POF)POH)POs&PxOu&Pu)sz"HN78g=KW%&gn;K# Lh;%I78U& gn;K# Lh;`78uAI \`;HL)GJ$U& L)GJ#>]$U& L)FJ#U&L)SU& Lo5M>W$U77u<NOG(P(PN\xOPNHNu)IUIuN`;Nz%'%GJ{$O?K@$?WK$UMf)6J$U%FxM)FM)?]s$H(L)IM)%MLj;\z%JC$H&L)IH&L)`U&L*>`U&L;`U&L)`U&LP)`U& gn;&Lf;%`K$U;`UFz%M>Fz%J$FM)6Fz%J%u(H786J4(T]"%FJ"%Ox^x^?W$H6NOG(P(PN\vOPNNH786u)J4g|%]JLf;>W#>WFu<H& M6J4x FJ{&\[L)I$(TK%W%HhbJ%$[J%Is&Iu&Iw&Iy&N!GJ%u<HFUO!QW&HQ0&b!J%H!Mr)FM)Gu&M&6Gu&JL&Hy&Hw&Hu&6(T!K4fW&g&]&6'6GJ+&f0&69J &Hs&\6J &\`;u<N`;OPs&Nu&J%(TK!K [L)IS'L)gn;]&O?F]&MQ1%MMV)H'7Lb)I7L>ILP)INGJ& %IGJ' Lh;MIN78GJ' L)%I78M78H'gA"L'I78]:'FJ:'6H786'6Jy'I'u<H'6HFJn'(T]n'GvJn'HLd;>$Kn'G8M786u([H6FJ'GJ4J&'J&FJJGJ4'%6\J4H'b's'L);SFG$F-s'G'u<N'(TK (P'%Mh)6'IJ3(H%Mv%M>KK(>KK(%MMt)6H)M6u(uASNu(NN\v$s'';HH-'sP(HINN(P(PNsk(GJ(HN6N'6s(H6s(GJ(HN6'6s(H6s(G'uN'(TK(P'%Mh)6'IJ)H%Mx%M>K/)>K/)%MMt)6H)M6u(uASu(NN\x$s((0Phpx`H@8X ?` @@pNu<FJHH)FMGJ)u,>FM)6u(btHt76s)\)u<uG=uHN=N)u)J4H&L)IHko5aIOJ\,J-J*Jv+Jv+J$+J*J-J*J*J$+J$+Jv+J-Jj+JN-J*J*J*J-J*J*J$+J$+JS+J-JS+JS+J$+J$+J$+J$+J*J$+J$+J$+FJv+FJv+FJv+H%MxIO?K*?]v+H%Mh)?KH+8JH+FJ*u-J$+HH*H*u'JPP(FJ+J*(FJ+ffHLd;>$K +8nQ$J$+Nf8&QHdK9+W0,FJ0,Ud)V0,Mj)FM)6u(u(s)(TW*\NvNNJy+FJv+GJ,u,>OJb,J*J+JN-J$+FJ+H%Mx>W,>K,GJ,OoY,Z+J,P[\'u''MT)6'%M%M6u(uAINu(H%MP)6OPO?K]-H%Mv%MMt)6Hn%M%Mx%M%MJH+$',M% 6u(u(H6HH%IGM6JP+Hh)JH+FJw,HMh)FM)JH+'MT)6Hk)%M%Ml;M)6u(uAS6N(PF['aZ,nnM)%FMP)6Jh,Uagn;],UnX,OT],U8nSIJ$+'MT)OoPY -86U%M%M%MMd)FMP)6u(u(GJK-HnZ .m88@%6JP+GJ]-OoZ+u,>HN8Zv-Yv-m8\%M%MMl)6u-FMb)JH+FJ*u,>\u-Mv)6HJH+j'tHs-H%Mv%M>K.>]-\NvJ.%MMt)6HM)6u(uASNu(\Nv$s-nFM;JG-N0N0F~u~>]Q/f>>]Q/j0:r>Q>r>Q>'t>'t>9T0VS/J./$s/uW1M6O0f>>]s/$u'7Q>6uF0G0J/u/N0FJ).J0u-J/T]/H%Mx%M>K/%MMt)6HM)6u(uASu(\Nx$OTG]/H% Mp)6u(u(\J.'Mp)oPZ0mbM)6HJ/OPJ 0Hu91uW1a6O0f>>]>0$u'7Q>6u{0Jx/G0sF0O0T0WZ0JK09f>>Kv06'Q>9T0VK0J\0$Jk0O0f>>K06'Q>9T0V0J0$J0s{0uW1M6F>H>G>u'7I>6[0\0uF0N0N0(f>>K0 'Q>b09T0V1J0$J0H0 s.OX)PU1OPHg0$K.Hu91IJ.FJQ?u.J4gQ1KG1nQ1s91MQ1s91@H%GUU1NOZ)PU1sW17LQ1I&\LA"Mn)(T]1HvFMQ1%M%M6u(J.H\)6N~\|H6  RPu1J4 I0 n0;!  ( 69T0]1s1NHg0$K1'IHLj;S'7HL)S`3U& I^3uOPG^3H`3F^3'%M^3GJ'3(TK2Hh36\F^3P`3Mp)6u(77L)Ib3gd3]{2'7&Md367[`3F`3JR2J.#7:#7Hb377Hb3 IH%Jk2M)\FJ2H%Mx>W2>K2%MMt)6HM*>6u(uASNNu(J2' J2$6F^3P`3H%M%Mu(67L)877I7H%6 [`37F`3J3J.M~)\6u(H6G^3JJ3H`3% M'6J.(G`3J.769[`3JL3@NJs3\OH& I%H&L)>]38I#<'(N:P(P'N GJ3'''''(u'Hu<5HHHH(['(T']4GJ4u'Hu<5HHHH'!((H%a!(J 4F'J3H;(^ Pk8%M)MT)6H)"(%M)[[(IIIII((IIIII%M%M%M%M6u(u(HuJ5H!8%a%HuJ5MF!M)6'H#%6F:J:HM;SN'a#`$6(R5[H%F M)%(IIIIIM%M#%M6u(u(G J4HuJ5HF!M)6J4(PO#PO%P\vNuu)u8J4d%KG5\ s<5N!Nd%]]5$sJ5n%Imb\!sJ5uy5J4\`;u<HGJ5FJ5G8M)6N`;u(sy58&J5Hx)\N6[MH%u<HFUFu6FJ5 g;K6\`;u<N`;N6O6P)J)IJQ65H)L)I!I[S78O!<Q<[!F!J6c!H78Hgn;$]?6&Lh;d58]N6m!b!\6'6vU6HF6U!6G6J4)"((7L)I&7&Ix7L)IN&L)II(PNO6PNu)(vs6O?K4H' H*u'JPF6J6uAI6'((Hv%M%M%M(H6s6u'u(u(P*9' MT)N,96' %M%M%M%M6u(u(HL)&IF:NHP)F,9J.96GJ{8(T]98FJ98N8H%MzIy&Oy&J7J7J98J7J7J98F,9Jn9HannY7Z7aNI!m!b!\)J7N)I!H%M%M)%M%M!6u7F:J:F8J8u8J4GJ7HN6'6s7H6s7Hgn;]8s8U186u>6H386F~u~<\~u]$Wc8uA$OPw&IOPy&NNJ7(PJ98Hw&Hu&Hs&IIIHIH*9IHSIHIOzPxOPOy&PN\v(PNHIu)u8J4H&Iu'u(u' MT)6GJ9(ffQQ9?W9' \,9F:(G:OP*9J7HnaaNl9ZC9Jg9Sl9`*9(T*9]T9b*9(T*9V_9P*9%Mb;`$JK7Hnal9J7--''-\{: [d:K9 -I/F/J97H&L)I-g:W9V:U& L)FJ9U&L)`-$- ->]9Ugn;K9-buy5J9 [g:]I;g:]:J^H&L)I:u'u(j:O [$J(:J:J:TV1:O?V8:(PP%(PP#H%MMP)uASNNNN(P' `\:' M{:N{:J:J 7J8MT)6'@]^4U)J^4O-TV8:OJ8:8Lj;(%J9^J1:@pP@u7N:FJ9HL)I:'--\`;u &;H:u<u)F:u4;N:-v:N`;Hgn;K4u>H\)66H6H386NJ4u'SH18MQ166s4;\`;u'H;u(N`;)OJ(:M6sx; (P!HG'%u=J;HL)GMA"S!U%u=Ius=HH!Mb;M6ui=J4u=us='H%M|)M6ui=H&L)NW@H\)66H<6J4 IFJp6J4(HL=8&IP!Hz)M6u=H!ui=Fu<HOP=h=6HLt;GJ4JV>$K=ss='$u=J=7&L)IN(=(T]=L)J=Lh;INI$s= [7S8$& I$s=U&gn;$K=ss=@GJEFJx>H%Mv>Ws>>Ks>%MMt)6HM*>6u(uASNu(N\v$s,>' NJN>H\|s>@ 1 HdIK>H6s>u'S>6u'S> ' '%6OP> $S>6H>6u>6H>6H>LA"I>G>J4 I>I>I>JA?uW?J31H\)6u>6  Rm?u1sW?%FJ@G>JuW?H>6H>6'6G>J?H>H>H>\`;uuK"H>'HuN`;uz"H\)6H>6N>J'((HL)I'OQJAH&Iu'%MuAHuAuAGJ,@ dd)K@\`;uHG`;Mb)N`;uAuA[J@ L)7SL)I&Iu(T]Z@NFJZ@OxPH%M% MOooXv@Mb)uAuAH%M%Mx%M%MuAGJ@uHuAuAGJ@uH%Mx%M%MuAuAFJ,@)"((F6(6$(v@J4H188 6u>6F~u~<\~u]KBd%!KAG%!JAHPB67S%!Mv;6H786>K B6Lh;6JB6'6$b78vA\%!7&d%!$K?Bv$BH%!Mv;6b%!e%!V BHPB6sA\ O L;I\DHgQ1]nBo\DJxB<g>KxB<<gDKB<P>H.DH&L);$XBM)M>6u=Hb)HI>HS>6I>u<OJBJBJBJBJBJICJICJICHA"JCHb)JBGJBH%8JBH%Mv% M6HL;I>H>7Lb)M>6%[>F>JBHgQ1KWCH>uCgn;KCHA"uCHD6NDJ4H'BH*u'JPH>u=' H(DH&D(&L)>$]|CM)HvEHHH>H>u^DJ2CH>8H;u='Hz)H,DHtEH>H>HH\\Du^DJ>CGDJCHD6NDI Du4DSG"IE"Hg DKCu4DIG"HuGGMHJ4Hd)6HE"6HG"6H)86u'SD6sCO @P [ uHg;$KYD$O$DPP(2'bJV(s4DI>I>I>I>I>I>I>GDJDHD6NDHd)6u'S>6u'S>6H)86u'SD6H>6H>H>uxEH>M6H6u'S>6M>6H>6u'S>6H>8d)VDMj)6JDHj)6$H>% 6H>% S786d)VE$JE7666H>6M786H\)6H>6H>6H0DM6H6[\DG\DJgEu=' HI>HI>JDH>6Hb)6s^D H(&L)I78G78sxE( ( ( ( u=HP)6H6H6sxEGJEu=H;HL2DM*DH&IJ;H>I!H(DJ<'S%Mh)6u(uAS6(PNNN\vs,>Lo5&Su$\M 6(PjrJST]VFFJVFGJVFFJVFd]VFu(J4uASN6\NvNNNu)J4'Md)6H766u<\`;HM;H>'uN`;u)GI"J4NI"JFH&II"GI"sFJF&L)I)<'  VH' G'7S6u( [$H%8MP)HJ:'d]Hd]HuSIJJIUgOI]IL;dWIuIJJIUgOI]'IL;dW'IuIJJIU>VJIU8YJIZJIU>KGI>]JIu!J$sHHI4)HI6)uAuIIN'Iu)HIHIHIHIN\H6)IH4)IsSIOPP4)OPP6)OPP8)OPP:)OvPxP<)OPP>)uIsIO?VIsI<^PJIO4)PO6)PO8)PO:)PO<)PvO>)PsIHI4)HI6)HI8)HI:)HI<)HnI'IN\xuAINNu)HIN'IHINNN\vH4)IH6)IH8)IH:)IH<)Is!Ju)'%66J4H-sJ& \>WKLQ1H:K86GJJu>6F~u~<\~u]2L"LG.#6:>I#6 =YK L!L~rK#iK#~zK33#~ҏK!K L+5I#~ʷK±K2L>/>W>/> •K"L L LzK!K )E*LK*#":LK*#"!|!.*L##"LFILE SECTION ASSUMED HERE.USING/GIVING FILE'S ACCESS MODE MUST BE SEQUENTIAL.DATA DIVISION ASSUMED HERE.AREA-A VIOLATION; RESUMPTION AT NEXT PARAGRAPH/SECTION/DIVISION/VERB. ERRONEOUS DEVICE ASSIGNMENT.INVALID SELECT-SENTENCE.UNRECOGNIZABLE ELEMENT IS IGNORED.ERRONEOUS RERUN-ENTRY IS IGNORED.ERRONEOUS FILE-NAME IS IGNORED. BLANK WHEN ZERO IS DISALLOWED. STATEMENT DELETED DUE TO ERRONEOUS SYNTAX. RECORD MIN/MAX DISAGREES WITH RECORD CONTAINS;LATTER SIZES PREVAIL. FILE NOT SELECTED; ENTRY BYPASSED. REDUNDANT FD PROCESSED AS IS.INVALID BLOCKING IS IGNORED.INVALID RECORD SIZE(S) IGNORED.'LABEL RECORD STANDARD' REQUIRED.SUBSCRIPT OR INDEX-NAME IS NOT UNIQUE.SOURCE BYPASSED UNTIL NEXT FD/SECTION.PROCEDURE DIVISION ASSUMED HERE.OMITTED WORD SECTION IS ASSUMED HERE.MISORDERED/REDUNDANT SECTION PROCESSED AS IS.ERRONEOUS SUBSCRIPTING; STATEMENT DELETED.ERRONEOUS QUALIFICATION; LAST DECLARATION USED.NO PICTURE; ELEMENTARY ITEM ASSUMED TO BE BINARY.REDUNDANT CLAUSE IGNORED.NAME OMITTED; ENTRY BYPASSED.IMPROPER REDEFINITION IGNORED.OCCURS DISALLOWED AT LEVEL 01/77, OR COUNT TOO HIGH.INVALID VALUE IGNORED.WORKING-STORAGE ASSUMED HERE. LEVEL 01 ASSUMED.!PICTURE IGNORED FOR INDEX ITEM."PERIOD ASSUMED AFTER PROCEDURE-NAME DEFINITION.#GROUP ITEM, THEREFORE PIC/JUST/BLANK/SYNC IS IGNORED.$FD-VALUE IGNORED SINCE LABELS ARE OMITTED.%STATEMENT DELETED DUE TO NON-NUMERIC OPERAND.&STATEMENT DELETED BECAUSE INTEGRAL ITEM IS REQUIRED.'LITERAL TRUNCATED TO SIZE OF ITEM.(EXCESSIVE OCCURS NESTING IS IGNORED.)DATA RECORDS CLAUSE WAS INACCURATE.*GROUP SIZE GREATER THAN 4095; LENGTH SET TO 1.+EXCESSIVE NUMBER OF FILES/4KB WORKING-STORAGE BLOCKS.,A FILE-ID NAME IS UNDEFINED.-VALUE OF FILE-ID REQUIRED..A PARAGRAPH DECLARATION IS REQUIRED HERE./USING-LIST ITEM LEVEL MUST BE 01/77/WORD-ALIGNED.0VALUE DISALLOWED--OCCURS/REDEFINES/TYPE/SIZE CONFLICT.1CLAUSES OTHER THAN VALUE DELETED.2SUBSCRIPT 0 OR OVER MAX. NO. OCCURRENCES; 1 USED.3RIGHT PARENTHESIS REQUIRED AFTER SUBSCRIPTS.4ITEM VALID ONLY 'WITH DEBUGGING MODE.'5EXTERNAL DECIMAL ITEM IS UNSIGNED.6LABEL RECORDS OMITTED ASSUMED FOR UNIT-RECORD FILE.7INCOMPLETE (OR TOO LONG) STATEMENT DELETED.8TERMINAL PERIOD ASSUMED ABOVE.9VARYING ITEM MAY NOT BE SUBSCRIPTED.:SINGLE-SPACING ASSUMED DUE TO IMPROPER ADVANCING COUNT.;PROCEDURE-NAME IS UNRESOLVABLE.'COMP' IGNORED FOR DECIMAL ITEM.?INVALID KEY SPECIFICATION. STATEMENT DELETED.@EXCESSIVE LITERAL POOL OR DISPLAY STRING LENGTH.AFIPS HIGH-INTERMEDIATE FEATURE: CONDITIONAL STATEMENT WITHIN 'IF'.BBAD SORT/RELEASE/RETURN USAGE.CPROCEDURE RANGE SPANS SEGMENTS.DPROCEDURE RANGE NOT IN CURRENT SEGMENT.E RESUMPTION OF ROOT SEGMENT.FFIPS LOW-INTERMEDIATE FEATURE: LIBRARY. (COPY VERB)GFIPS HIGH-INTERMEDIATE FEATURE: COMMA/SEMICOLON.HFIPS HIGH-INTERMEDIATE FEATURE: CONTINUATION.IFIPS HIGH-INTERMEDIATE FEATURE: QUALIFICATION.JFIPS HIGH-INTERMEDIATE FEATURE: DATA-NAME BEGINNING WITH NON-ALPHABETIC CHARACTER.KFIPS HIGH-INTERMEDIATE FEATURE: RELATIONAL/ARITHMETIC OPERATOR.LFIPS COBOL LANGUAGE EXTENSION: APOSTROPHE AS SUBSTITUTE FOR QUOTE.MFIPS COBOL LANGUAGE EXTENSION.NFRACTIONAL EXPONENT OR NEGATIVE SCALED BASE (99P).PILLEGAL MOVE OR COMPARISON IS DELETED.RFILE NEVER OPENED.SFILE NEVER CLOSED.TINCONSISTENT READ USAGE.UINCONSISTENT WRITE USAGE.VREWRITE VALID ONLY FOR DISK FILE.WINDEXED/RELATIVE REQUIRES DISK ASSIGNMENT.XKEYS MAY ONLY APPLY TO AN INDEXED/RELATIVE FILE.YCHECK-DIGIT CONFLICT.ZFILL CHARACTER CONFLICT.[JUSTIFICATION CONFLICT.\FIPS LOW-INTERMEDIATE FEATURE.]FIPS HIGH-INTERMEDIATE FEATURE.^FIPS HIGH LEVEL FEATURE._SYNTAX ERROR IN SCREEN SECTION.`SEMANTICAL ERROR IN SCREEN DESCRIPTION.aCOMMUNICATION/CD SYNTAX ERROR.bLOW-LEVEL FLAGS PRODUCED FOR THIS LINE.cIMPROPER SIZE OF COMMUNICATION '01'.dEXCESSIVE SEGMENT NUMBER.eEXCESSIVE SEGMENT NUMBER IN DECLARATIVES.gNON-CONTIGUOUS SEGMENT DISALLOWED.hMAX. # SORT KEYS IS 12.iIMPERATIVE STATEMENT REQUIRED. STATEMENT DELETED.NO MSG FOR MSG NO.FICATION CONFLICT.\FIPS LOW-INTERMEDIATE FEATURE.]FIPS HIGH-INTERMEDIATE FEATURE.^FIPS HIGH LEVEL FEATURE._SYNTAX ERROR IN SCREEN SECTION.`SEMANTICAL ERROR IN SCREEN DESCRIPTION.aCOMMUNICATION/CD SYNTAX ERROR.bLOW-LEVEL FLAGS PRODUCED FOR THIS) GJ lCHC%aCrrr6$$peZYPW'6)" GJcSdYWJUYSH%6 HnX>6 GJI)"$lsNIy(Iw(S{LcI}(SLqIu(N7777& I& LaIL]I&LiI&LiO?]de]\\J\J?](PI( I(I(I(IH&`~$(L_IjsuHs6HLe% MM}HFuMi%M6H{LSGJzLGGJUdy](PJUdy(]tJr(JtH% M6G}J3(I(&S_M"'u'6 _"_e"&S_H6FJ'6JH6H6H6H6uI[uHg|]iO[Pgi]ubgm]&ubgCK=SC7&aCge$KDub7&IC7&LiIF\HaCge$Koub7&geK(TKubGJ\A(TKuJbGJFubeWr6G~JHHH6'6GJHHH6GJHHH6GEJ,)"'R,gMLWKaqJ('6 6(6 aeJHW6 *'6 _KJbJo? R@D$PONEI$PONEnICYZ$bCFCJsHU[CFCJsHH-sLGae&d]WS]U]JI'a&I]H{gOKLGGUeSak]OTiKFTmKF(T]Iaaae(TS_VV%H_6H[6I]'6'6(T]|HeFUcag8 6 GJ'6 GUJd]VH]JH[6H]6 slY)"'RgMLWKaqJHsMINUjYsIG#_elE"'RdwKFGJRJjE"IGFGJ6HsMI7J9HG\UJ jOPgxKJBHgeKN|'gMKgQ](dw$KLaqvF|J\sLaeJ\|L(n%I'dq]HzJLn''7&Ladx$]7HJL7geK+UJ?&LiI7&LmM%I77LMOQQ$'J(f6'QoeZ^Y^'6sS$RCNIO$SVGEC$AHNIS$NE DA$PCTDP$WOREU$SNRTS$RTGNC$LA LL$LV88I$SNCPN$EMTDS$TE A$ENTDS$RO T>2"G.#6:>I#6 =!~0#'#~833#~M!N+5I#~uo2>/>W>/> S"zʦ! )E*ç*#":½*#"!|!.*##"FILE SECTION ASSUMED HERE.USING/GIVING FILE'S ACCESS MODE MUST BE SEQUENTIAL.DATA DIVISION ASSUMED HERE.AREA-A VIOLATION; RESUMPTION AT NEXT PARAGRAPH/SECTION/DIVISION/VERB. ERRONEOUS DEVICE ASSIGNMENT.INVALID SELECT-SENTENCE.UNRECOGNIZABLE ELEMENT IS IGNORED.ERRONEOUS RERUN-ENTRY IS IGNORED.ERRONEOUS FILE-NAME IS IGNORED. BLANK WHEN ZERO IS DISALLOWED. STATEMENT DELETED DUE TO ERRONEOUS SYNTAX. RECORD MIN/MAX DISAGREES WITH RECORD CONTAINS;LATTER SIZES PREVAIL. FILE NOT SELECTED; ENTRY BYPASSED. REDUNDANT FD PROCESSED AS IS.INVALID BLOCKING IS IGNORED.INVALID RECORD SIZE(S) IGNORED.'LABEL RECORD STANDARD' REQUIRED.SUBSCRIPT OR INDEX-NAME IS NOT UNIQUE.SOURCE BYPASSED UNTIL NEXT FD/SECTION.PROCEDURE DIVISION ASSUMED HERE.OMITTED WORD SECTION IS ASSUMED HERE.MISORDERED/REDUNDANT SECTION PROCESSED AS IS.ERRONEOUS SUBSCRIPTING; STATEMENT DELETED.ERRONEOUS QUALIFICATION; LAST DECLARATION USED.NO PICTURE; ELEMENTARY ITEM ASSUMED TO BE BINARY.REDUNDANT CLAUSE IGNORED.NAME OMITTED; ENTRY BYPASSED.IMPROPER REDEFINITION IGNORED.OCCURS DISALLOWED AT LEVEL 01/77, OR COUNT TOO HIGH.INVALID VALUE IGNORED.WORKING-STORAGE ASSUMED HERE. LEVEL 01 ASSUMED.!PICTURE IGNORED FOR INDEX ITEM."PERIOD ASSUMED AFTER PROCEDURE-NAME DEFINITION.#GROUP ITEM, THEREFORE PIC/JUST/BLANK/SYNC IS IGNORED.$FD-VALUE IGNORED SINCE LABELS ARE OMITTED.%STATEMENT DELETED DUE TO NON-NUMERIC OPERAND.&STATEMENT DELETED BECAUSE INTEGRAL ITEM IS REQUIRED.'LITERAL TRUNCATED TO SIZE OF ITEM.(EXCESSIVE OCCURS NESTING IS IGNORED.)DATA RECORDS CLAUSE WAS INACCURATE.*GROUP SIZE GREATER THAN 4095; LENGTH SET TO 1.+EXCESSIVE NUMBER OF FILES/4KB WORKING-STORAGE BLOCKS.,A FILE-ID NAME IS UNDEFINED.-VALUE OF FILE-ID REQUIRED..A PARAGRAPH DECLARATION IS REQUIRED HERE./USING-LIST ITEM LEVEL MUST BE 01/77/WORD-ALIGNED.0VALUE DISALLOWED--OCCURS/REDEFINES/TYPE/SIZE CONFLICT.1CLAUSES OTHER THAN VALUE DELETED.2SUBSCRIPT 0 OR OVER MAX. NO. OCCURRENCES; 1 USED.3RIGHT PARENTHESIS REQUIRED AFTER SUBSCRIPTS.4ITEM VALID ONLY 'WITH DEBUGGING MODE.'5EXTERNAL DECIMAL ITEM IS UNSIGNED.6LABEL RECORDS OMITTED ASSUMED FOR UNIT-RECORD FILE.7INCOMPLETE (OR TOO LONG) STATEMENT DELETED.8TERMINAL PERIOD ASSUMED ABOVE.9VARYING ITEM MAY NOT BE SUBSCRIPTED.:SINGLE-SPACING ASSUMED DUE TO IMPROPER ADVANCING COUNT.;PROCEDURE-NAME IS UNRESOLVABLE.'COMP' IGNORED FOR DECIMAL ITEM.?INVALID KEY SPECIFICATION. STATEMENT DELETED.@EXCESSIVE LITERAL POOL OR DISPLAY STRING LENGTH.AFIPS HIGH-INTERMEDIATE FEATURE: CONDITIONAL STATEMENT WITHIN 'IF'.BBAD SORT/RELEASE/RETURN USAGE.CPROCEDURE RANGE SPANS SEGMENTS.DPROCEDURE RANGE NOT IN CURRENT SEGMENT.E RESUMPTION OF ROOT SEGMENT.FFIPS LOW-INTERMEDIATE FEATURE: LIBRARY. (COPY VERB)GFIPS HIGH-INTERMEDIATE FEATURE: COMMA/SEMICOLON.HFIPS HIGH-INTERMEDIATE FEATURE: CONTINUATION.IFIPS HIGH-INTERMEDIATE FEATURE: QUALIFICATION.JFIPS HIGH-INTERMEDIATE FEATURE: DATA-NAME BEGINNING WITH NON-ALPHABETIC CHARACTER.KFIPS HIGH-INTERMEDIATE FEATURE: RELATIONAL/ARITHMETIC OPERATOR.LFIPS COBOL LANGUAGE EXTENSION: APOSTROPHE AS SUBSTITUTE FOR QUOTE.MFIPS COBOL LANGUAGE EXTENSION.NFRACTIONAL EXPONENT OR NEGATIVE SCALED BASE (99P).PILLEGAL MOVE OR COMPARISON IS DELETED.RFILE NEVER OPENED.SFILE NEVER CLOSED.TINCONSISTENT READ USAGE.UINCONSISTENT WRITE USAGE.VREWRITE VALID ONLY FOR DISK FILE.WINDEXED/RELATIVE REQUIRES DISK ASSIGNMENT.XKEYS MAY ONLY APPLY TO AN INDEXED/RELATIVE FILE.YCHECK-DIGIT CONFLICT.ZFILL CHARACTER CONFLICT.[JUSTIFICATION CONFLICT.\FIPS LOW-INTERMEDIATE FEATURE.]FIPS HIGH-INTERMEDIATE FEATURE.^FIPS HIGH LEVEL FEATURE._SYNTAX ERROR IN SCREEN SECTION.`SEMANTICAL ERROR IN SCREEN DESCRIPTION.aCOMMUNICATION/CD SYNTAX ERROR.bLOW-LEVEL FLAGS PRODUCED FOR THIS LINE.cIMPROPER SIZE OF COMMUNICATION '01'.dEXCESSIVE SEGMENT NUMBER.eEXCESSIVE SEGMENT NUMBER IN DECLARATIVES.gNON-CONTIGUOUS SEGMENT DISALLOWED.hMAX. # SORT KEYS IS 12.iIMPERATIVE STATEMENT REQUIRED. STATEMENT DELETED.NO MSG FOR MSG NO.INTERMEDIATE FEATURE.^FIPS HIGH LEVEL FEATURE._SYNTAX ERROR IN SCREEN SECTION.`SEMANTICAL ERROR IN SCREEN DESCRIPTION.aCOMMUNICATION/CD SYNTAX ERROR.bLOW-LEVEL FLAGS PRODUCED FOR THIS LINE.cIMPROPER SIZE OF COMMUNICATION '01'.dEXCESSIVE SEGMENT NU!  CR"*!"!"t``9tP*#"> Ht"H JG!y yw# f P"*!|”}~» ³# ¨»7~O  Í͆ }*s#r*xyw#*s#r#w#w#yw# "A:O>4G> H+H 72!"PX R|P>:*w#":<2*KB!~ʒ}|o|g>o|g}}}""*%T]##ó*++"ê*|}  ~GO  7#~#foN#F+w#wxy+͌*"*++## ~O#^#V"#^#V"#yn2͜~H #eͲ*>#H*|4A>22͜> H:<32Ԍ> H> H: ھ͜<2> H͌ͭ ͊ RELCRFPRNP?Command error?FILE NOT FOUND?CAN'T ENTER FILE~ # !  !  ! ; "`*+++"*`:2*@ :} ; 2222222<2 ů22F r) a:`2 2” :@2! y=7F 7o) `  7!? :! ! : : :2V *##:2G` ~  w# #  w# :!i~ D w#:  :7>b xF ͩ G҃ @2` x p  a ͩ w Tœ ͩ T7ͩ Y7b L¶ ͩ S7ͩ T7>b R7ͩ D7R7>b > 6 #= y.2 ix  ͩ  <2y/yͩ L72ͩ O ͩ [= 0= A9 := " O!~6Go #~ X J | x+#i ~^ 2Ï 2:‚ >*  { > :| !} " o>g6 #> w~# ʩ ʩ #" _* +~ #@ #" +~7ȷ> > y!"w!: w!"u!:Q ~Q s < s < !"y{!?~Q E  w#| w? {: :<ʪ 6> H> H>H*wy yá : : >ͯ*uw wá |}+ƀ)`i> H> H> H: :<ʿ '*w|w#"wxwy!>s =!w>!: : *u|=̤#"uvw:?< b*y|#"yz {>?= !=!>_! E C H~L]7ȷ! @@„> ! DISK FULL*uw wá |}+ƀ)`i> H> H> H: :<ʿ '*w|w#"wxwy!>s =!w>!: : *u|=̤#"uvw:?< b*y|#"yz {>ԕbD5$T I]%$CLISTT bDdĕ5H UI=:$CUROFUԠbD5U$$IM$EOLST`bDĕH1=1%R$INCRTPԕ%P@`$|a H Ĉ)*I HĈjI H ĈjHIqА H ĈjIРH ĈH*h H ĉ )*0 Hĉ)h1А HĉjJp H ĊhjQ H8IM$EOLST`bDĕH1=1%R$INCRTPԕ%PQPQbDBtAR$D.LIN QbDB5HA!P5kaՠ aaKE@%p hdZ4-  ipZ-vDynH $[-sd- D(`ሣ:1@ۆ:0T*'΂ɔ 4N)n:Lg9Mm4'CI: 1i B'qr0Ά@D2qc4 'CȀ@v"P9# t C 4Mr '3fid9Bq@D2q$f7n&(o:P@? &(B9L&n:PoΆe7h0I G#)p7MAs: SaN7 G#)p7MCe:G#)p7MCtB':擡u:S $t41e EI-7M#)@o9aN C -7MQ* i@n7cydidr3MSq@ n1 &p4 &C!s9@<2Nim2i9l:  r2`Qe0Is@ @  '3r2Mgyt9AD#k8&㠀@  &(u6@S2#k8&4C4Ms(@ t0Mi| 3Ag2 @c7Sq Ӏ@ @ @ m8 Sy:N`Qm8@ !e9@ Ӏe< G Ӏ@ xa2d9 FCm8 Sy:N`Qh4'A@ C -7MQ@ OIt 'Co7  #@ @ @ u6Dr0DSu:Mh(o:@ ae@ )t2gC i7i7AAp@ @ @ "Nga : '1x:ADI @  &(u6@R2Mc(r2Mgytfa@ @a6@ e6QlFS o40h(i7D@ @ @ a< gSn: qZn:At@ @ @ (M'Ao3&h(t2@ @ @ )t2 (t0 ) F@ @ @ LtF@m7 QPa1D@  c0@ @ ͆S @t9LfQd2ABh(o6L&!@m0D#(b1cIe2et2Qg:L@a9DC)m4 A 9 &3)\ fݑm>Q@{f ,f ͯ  [` ʋ2E@B3kk6决hpPvrmcdEfB]c,e]xʋ 6ІPꊀ-T(uK@+: v% Q K6 0HHۂ3kk6决hpPTHQP fm f۠U ফʭ*?l"2([ʪo;*? %[ʮAOk*Ň? ([ʯ!O*Džmp#6ET)ùaʊ0[620P-Vl)węVl(Cq 5ͻ, f؀Hꖀ-V(C} 5WРVm ^nV+6冰\,;~͹A,: vU ѠVm dn*n #6XU*@P+ XhC"*$#χF, %2#eX&f :,bm@sª!l$ʨo *숈j+6lxcnPcik!uU,CYY 5ͻ*ñahf` pVm dnsņk+6YH8|eYʌ2YI0m a[ Uu[U~Cm of ·ab*:QXjpt#ca4ͭF6ܧ0=ePPUf@U Xw- 0k :T| T1:mSPLŶ5 [T1{mSP#r=STt~U80&a@! ,* ڈʭ!7X:wP,F" m4 d `@m uk 6 ͱ cbFwgqCtٶ0C^@Y.Vh ,V÷!,0P9f3m@s #^@A66`H# `󁹜 `6m |[Y90Hh?0` ,یңAxڥ! ʥ!U) ?0ph#iPpdݕPD4hbUmaUP [fm a0(8~f@ʬO,ۼ ʮ ͱK6͈+vInf6~ f5`G =,m vT4CL 4CW4T@m fذ if؀[6(bY-Q fmW 6Y-QmfOK6U 46ü6>-okE!'!Cwٶ1^2";f!lT! %ayr@y<-UT8fak )Rϔ)T0+ :,KͭF{f「#`H`{`6sO<?M" ͱ64`d9#s$͸5j'F a[0K6?-l~ 0Ƕ䁹rx /ζҰJ }X`> r!C(pt@urUukaXF^f0! ,:*nP K`TUsl4=,"]>9s""LO`\R|s^Ł ;W, qs=6yL(}Xeeмxs?0ʴGaZaFxYnUug1#;o6kurvUA0xD#KG!F;1w"͵A:\7[6NB3%wOObA\CtB3"P g1Usg!F:Aq!l;T:`n`#*k B%ʅ6ĄBB|9sq+Ab@3f B%#Wgqꖈc`mP`bs> b3G #g0`6,gq^wnUug1 aڠH3iЋ6ʈecɕEYDF~0<:  fс@ l; dX1UFeXF?.TDF~]¤. "2axFͬ#8ç,P[DB*"fa0i'Q'O|x'й.g>uxuI&mlhY"WO1erg⸍)uq٠'XF^nug2\6JeK@,<$R!{Vʖ@0CK'1^f&ꖀFTxd5\XFg7CD, .Ty\21^n7[68XTI dphF@mMui3@X3@KCOj@ȊniH9>oz4  F<[VHj@ PK6҉i8FFgm &%H@T3mx+,H>GEj< bk`jkͦNUXl$iP0 y1yh_ VmcqoʤmFámR#jX+s UtM* ,.&ʨn[[[!(2" !2ådBkdg1#dVD" b*f3!#Fh"b bdeK!'FO"jfXC!&"GB@1"!r "t"&$G@1"!r:Lt "(#GC1"!rB$t0")*FA1"* af3#'FOı"J"e+&$*X"bzzZ4e'&Fs"jz,e'& Fq"zg+'!"}±"z*2 2Y:c2c ,/MEG@RSUXYE{ O :Ù&O†2WHO2WG:c2c:'>`͇Ax¹'"U _2:f Ğ2U!c~w:f ~w:f 2Yæ2Y*`|##yȷ#jC~@#I" #ͬ*`|#*U~ !:Y:c~ G@x k o Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft ?Command Error~P#~#  `{ +!~G #~ ex+#<~: /͔>*P d> P:e!fo>g6 7ʌʌ  y:+y#P2\2f g !  :\GO: " " " " * * " ";* * BK* * "=2 G<2 z6#z: O4ͅ {Ҏ!y yBKO!; s#r! s#r! s#rͅ ڬ! s#r!; s#ry ! ~#fo! ѵ! }_|W>2 * * <* * : <ͅ P* * W{_* #" " "=:WGO0ڗ xڗ)))ҖʌҖ)o>gdy +%Overlaying areaDataProgramÔ!! ~#fo!ͅ ͅ ͅ &}< = yy7yM7>,>#ͅ !M> _!h >?P~#P!yk!:!ʆ!; Not Found> P> P>2 g 28: _<2 !~g ! w#! wO |!y:!(͔*QDMÙ&[Begin execution]:Z:X* * ͅ ~`~¨@w+++o>GO ~+t>ʊ6 #=ƒ* ! ͮ 2X * ~O_+++y++:XK͔:c2c *Q>[P"N!C \* s#r!I   \! ~# != = = \* ͅ = *ͅ = s#r"N2 * * ͅ ʐ ʅ 2 M\: z x/Gy/O~w#~wM M" z _z! ^#V   $ 2 = ] m `i ^+V! 4* M ! 4Ð ! 5 PY\  s #r lg   # |/g}/o   DM!>= ))K K z zi  BK}o|g҄ : ʫ ͅ ҫ | >]P͔: : $>2*Q"!o&'  d   >0G /}o|g x0   > xPH>G~#' j~@+^+V$MEMRY$$PROG$COMNM*QA!Hw#] j{ ~@{ +^+V"Q! 2A! ?Start symbol - - undefinedg  ~#³ ͞ REL7*`}2X:c` j: j͔ p @p ͔`p p p * } , >wk  :`? !K * !b  Undefined Global(s) Bytes Free 2bP  ~O~>-ʑ > >/P+^+V+~P ™ /PN~ ʼ !ÿ "~ N+^+V>>PN:b?2b̔>wt :bȯ2bÔk [ M  ~++GOŸ& H+D ; & yE >  * [ S } 7~k ~~r <</_* Å |}! 6S#6Y#6M<$>* * ͅ ~O~@ +^+V > h%+~h% > h%= >~ <</O ß ͑&%|}G[h%> h%> h%:WG)0P) 60P3|L}U[P0:͔! ~#foN"N"N>>PÔRQUESTͬæ* : * ͅ ~_~@+++~#* BK" ö+++ö2!2 2 2 : go" " " 2X" <2 : * * * * *=͝QiEZͿE! ~#foBK#: =ʝ: ”* |ʊҔ}Ҕ͝p#: ”* |ʲҔ·}ҔÔ: =: Uw+p+q+p+q#Bi++s" ͇:7>[?@2g ԇx " h 5)> F6 #=>x2f y.̇p xanbʃ!p ~ ƒ6R#6E#6Ly[ҥ0ڥAҡ:ҥÊ[ʡ]ʡ@ʡ\ʡ^ʡ_ʡOb: : 2 BK|A~_q#Vp\AU: =>@w+r+s+@1: 2 r+sA: =* >jV/o/g ڮA~@w:]2^s+++~ s2^q+p:^O!;>2 }|!; s#rͅ y A!>/P͔A~W+++~P+%2nd COMMON Larger /*;" |2 * ͅ A> j~@wA7U: >8: =->G: =7>@w@w+w++1: 2 : : =r+sA!HIF5#wj~+ܾU6+6++r+sA*K:J2 fU: ;: =>@w+6++r+sA:!A>.2!2P* !J͞!g2!+}2_! w#!ڐ ‚! \" " : :Z!ګ!  w#! ¸+w2!͞A!!?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!aǗzʣ̈́"Qb! ^#V! ͪ!;ͪyک: * * ͅ * " * '* * * BK* " ͅ " " ";" " ͅ 7* * * ͅ ]!* * * BK* * * * * " * * BK* * " " " "; ~w#~wPYb>̈́BKj~@: ~@w+~_q+U: =>Cw+p+q+r+sA! ͔A%Mult. Def. Global ~@*`+"`PYb>̈́BKůj~+nN+F@‡: ›:B(b: =›zAA;|A: ›r#sA: ›|A\zA#U: =ʯ>Bw+r+s+r+sA*`#"`!7~#46+wxG ɯ2 7Y!HYH!Hw74#6 _Gw#;!T"7O<2 XP̊wwO!9 N#F 2[: ʚ2[AC( r>-: " *=>2 * ͅ A*=>j+^+V\"?Ab: =#<2 =A: A*= APY7* K" !*="=* !" }2 <2 A:[* * |G}ʼ~O©H©A+++¨+—~ y/O oHOx_Ow#2 +w+w+w+ w+w+" 7ɩ))'):B($: ̈́: r2 * * DM* " *= "=* BK" " " " * " Ͷ'* |‡}ʠ~_|!^#V* " (M\~#+>>><2Z=O! $! ^#V0y=Uy?\ͅ ?\|y! i! us#rx^#V͞! p#”* ! N#F#~#fo! ^#V  ! ~#foͅ H! {_{_~H! ^q#Vp! ~s#_~rW}&: $#qͅ {_! 6)`i{ڠ! #Yš* * 6* " * * " ͞* ͅ ҙ" ! yڬ! ^#V ڻ F#fh! ^#V ^#Vy! ^#V^#V! s#r Gyx! @s#r#1xS|W}_x2 * 2 yoxg* " *="=*?PYͅ ڙ"?: ʹ=¯* !" * * ͅ үï͝*={OzG* * DM7xw#  +x~+ xw+ : 7={O>: 7J?Intersecting wO* ͅ <26: ?Oʣ: Jͅ Jͅ J!M>,P*6&0M^#Vy!HF#~#P>(P>)P: " Start = External Public = %*"!2Z!:Z?!͙!͙! y-!* * ͅ #* " ͅ |!*Sͅ "yb!*Sͅ "ͅ ڵ!*Sͅ ڮ!!!ù!!!!!!!2 YxbelowaboveOrigin loader memory, move anyway(Y or N)?ͅ 0"ͅ D" "!ͅ D"yS": W"*Sʀ"a"Oͅ €"y*S€"! ͅ ҇"!9;;;;;;ͅ "ͅ ڣ"z"&'7"ڿ"""ͅ #ͅ #"z"7* ";* "=* *;)##+#KP*;";!* BK*;* *=l#ʮ#l#O* * " * *=BK* *="=#PY* " * " Ø#* *=#BK* * " * * " " *=" *;" ! 8$~R#~E#~L4$:c)$7$w+)$COMHEX`$  <%2 : $}$* * ͅ $!c~ʌ$ ~$:\ʲ$: µ$*Q\" " &yO: &w&%*Q|$ͅ $%ͅ $ͅ $.%>%7Ԓ%R%: %yO%>%R%: Ă% <%>h%*Q}h%|h%سȯh%zG%%z~#h%\%!: _w{<%2  %%"%yO#"%!%\%.%fh%¹%! ~+ x :_*Q:_*Q\!%?Can't save object file{{ _zW;&> A&{ H&O>:h%y Y~# c&+&>:h%G*Q >>h%!*'͞'!0'͞'!3'͞'!9'͞'##²&##͞'##¿&#͞'!z'͞'!'͞'* "'* "'* "'* "'* "'* "'&'m&'͓','V'G'V'l'|'V'l'|'V'l'|'!' N#F#^#V#~#fo|} +x~+ q'xw# |'xw# Ó'~#fo&'q#p:B(* ͅ ~'M(:J2A(*;" 2 U6+:A(wAMz(2A(7(:B((*;" :A(2B(*;r#s+:A(i(*;͢(" 2A(2B(!* p# P(!HN#*~# ^(Ar#s *){ʅ({ƀ_҅(zʞ()Å(ͣ) *)!.*ʹ)!.*V#^(((!((ʹ)(z(!.*ʹ)(ͣ)z{7.*z w#)0:ww:*!;) )+ )!1)?Segment , file not foundcan't create fileread errorDisk is full)!@))!O))ͣ)!a))ͣ)!l).***‹)*—).**">"B"&>"(>2B2,>2>2=">(?No Start Address?Loading Error?Nothing Loaded?Out of memory?Illegal Polish Exp: !!!2 !!!!2*! ~;4!>2a 2::2G ,/MsG@RSUXYE¢ ͜ w=O­2 H2 G:2:U>`xU" m/ _/2: L2!~w55:  ~wG: 2 2*|gPPyȷP>2B>2B|~@PP*|P* ~ O::ʴ G@±x ™$ å Link-80 Disk Vers. 3.55 10-Sep-82 Copyright (c) 1981 Microsoft ?Command Error~#~#  `5{5 +!~Ga#~ PBx+#}~V:a pB>* > :!o>g6 7  ʺ:+º#P22  !@  ͛o&: GOC:c C$0͆" " W."B>.͆."B"B" " "B"B"B2b G<2c ͼz6#z9w=:c NO$0T! s#r! s#rW.!B s#r>..!B s#r!B s#r! ~#fo!q É͏ͣͼѵ!y ͉͆ͣͼ͏}_|W>2b * * ͼ*q *} :c  *q *} ͼW{_*q #"{ "s ": GO0E &E)))D:D)o>gy +%Overlaying areabgDataProgramuB!K!^ ~#fo!XyW. >.  }<=o y˜y7yM7,W.# !͏$> _! >?~#!'!7: 4! Not Found> > >2o  ͞<>2:o _<2o !~ ! w#¥! w>2>͜ |!!w=[Begin execution]:: e*w * e~`~J@w+++>GO ~+>,6 #=%*w ͼ! 2  *w ͼ~O_ͼ+++y^++: B:2 *>[q *B! b ڕʕ"B! b ڥʥ"*>! b ڵʵ">q 2e )z  _z!^#V  _ h n w `i^+V!e 4ü-!e 4 !e 5 a%B  >1 <*y>#s#r#q#p#w7  s #r`i#. r  lg c  ́  ́ #|/g}/o  ͼ    DM!>=))ү ï   z   z BK}o|g * >| >]B:e ͯ%:A 6o&'C C dC  C >0G] /}o|gE x0] ]  > x>G~#i !B62B~@+^+V$MEMRY$$PROG$COMNM*!w#ª  ~@ +^+V"! 2! ?Start symbol - - undefined  ~# LG REL7*}2 :`5 F ͹ :c Ĺ BW ͽ @ͽ B`ͽ ͽ ͽ *w y >wͺ i E :ʌ  ! @ !  Undefined Global(s) Bytes Free 2͟ E Q ~O~>- > >/+^+V+~ /~ !  q ~* +^+V>< >>:?2B>w :ȯ2Bͺ ͪ ڜ V ~++GOŸu H+ړ Š u yڔ >S S *w ͪ â 7~º ~~ <</_* |}!I 6S#6Y#6M >*w * ? ~O~@, +^+VK > !+~ !  > !=+ g >~3 <</O g ! |P }a a Gͪ !> !> !: ʖ )0) … 0‚ |͛ }ͤ ͪ 0:B!^ ~#foW.q >.q ><͞5 >>BRQUEST:>6/ *w "B:d W* Q~_~@C+++~#C>#w#w2&>.ͼ+++"B*B" 2 2b 2d 2j :c go"k " " 2 " <2i :c *q *{ 1*s *} 1*Bgҭá¶á! ~#foBK#:i =: *q |}ʹBp#: *s |}ͱ:h =8:b 8s9#B++s" :7>a[?@2 x o  ʂv> ړ6 #=x2 y.% xڮʻï!% ~ 6R#6E#6Ly[0A:[]@\^_O͹:b A:i 2h BK|ʝ~_q#Vp0Ý:h =O>@BK@_:i 2h 9Ý:i =*k >ڙ/o/g Ý~@w:2ʶ+++~ ʶ2q+p:O!͉>2h }|! s#r͏ yԶÝ!>/BÝ~W+++~+ %2nd COMMON Larger /*" |2 *q ԴÝ> ~@wÝ7:b >x:i =m>G:h =w>@GJ:)Ý:b :i = >G2>2>t:i 2h :b 1:i =_:>BKW:>9J:)Ý!F5#wS~+:>J:)Ý*:2h :b ʑ:h “>GBK9J:)Ý: >.2 2* !GLn!2 +2n! w#!n ! "B" " :c 8:>n! !  w#!(n +w2 GLÝ!D!d?/D illegal with common runtime?No code can be loaded before program withcommon runtime not found, please create header file?End of file on common runtime header!Ë1z9"͹! ^#V! p!py :c P*q *y P!B ͝.* " P"BSͬ" " lͬ" ; ~w#~wPY͹>9BK~@¸:b ¦~@w+~_q+pÝ:h =ʰ>C9Ý!BÝ%Mult. Def. Global ~@*+"PY͹>9BKů~+:N+F@zʝ#:h =":b "$>Bѷ9J:)Ý*#"!~#4Sn6+wDxG \ɯ2h DvX7ZʄZڝZZ!w³4#6 _Xw#÷!"O<2h XXXPO! N#F 2:b 2ɝf!LyXY,|8:b _" *>2 *s ԱÝ*ü>+^+V"Ý͹:h =<2i =:b ʝ* Ýr$*{ !"k }2 <2i Ý:*w * |G}~OA++++~  y/O :BOx_ͼ!&>~ʇw *w * ͠.ʇ~X~_+~+<|>2&>y|>2'>Ë.CͫOw#›2d +w+w+w+ ¢w+w+:'>" 2'>7ɀ!:!:b 1:b F2b !{ s ͝.1*q *{ ͼDM*k "k * "*s ͼBK"{ "s ͬ" " "B"B"B:]>:%:Q!͑/ya3_!~#fo!Y/͟!~#+<q#p:D?7^q#Vp{œŷ2>x:!* * :>>2>s+r:!*y *{ T]N#Fü:!* * g#2(>|*2(>J:)w=#~@́G+^+VxT:(>̱)ma%mNs#Fr#.BFrB:!!d €*y>###q#p!B? Addr chain refers to undef symbol.~O@wy@+Ns+FrJ:)~+V+^+F+N+* @ DM*  DM@* BK!a`iq * 5*ͼq !q *u ͼq B%%Bad fixup offset entry, will be ignored Value Loc Entry A Entry rel. >>>><2=O!{ !o ^#Vͼyy? ͣ ? )y!q !y "s#r%^#VCͼ͚! p#A*y ! N#F#~#fo! ^#V  !} ~#fo ! {_{_~!{ ^q#Vp!s ~s#_~rWͼ}:j # Ԧܛ{_! 6)`i{M! #G* *} 6*w ͼ" * *y "q @" !q yQ!y ^#V ` F#fhkͼ!q ^#V ^#Vͼzy!q ^#V^#Vͼ½! s#r Gyx ! s#r#x|W}_ͼx2j *} ͮ2j yoxg*k "k *"*PY >":i ^=T*k !"k *k *{ TTB‡*{OzG*y ͼ* DM7xw# Û +xʍ~+ ìxw+ ù:h 7=)O:b 7ͣͼ͆?Intersecting ͓Oͣ͆ͼ0>2D?*q * џ<2:h ?OX:b ͆ ͬ !͏>,*&M^#Vy•ʹ$!F#~#š>(ʹ>)$:h ͣͼq Start = External Public = DHEX@ ͞@ <3!2o :o #!@ <3!g > !!:o _w{<#!2o @ 3!!9!?Can't save object file:d ͑/a3g|̲Z!ͮ!:2!*"q 2 >!!F9Ýzͮ!2!!:!ͮ!*"q :!2!͕*r#s+:!!*5""q 2!2!!C$ p# !!N#C$~# !Ýr#s͟#͂#{"{ƀ_"z1"Z#"6#͟#m#!#G#!#V#^͉"ڀ"͑"!͉"q"G#V"zʃ"!#G#͑"6#z{7#z w#Ô"0:ww:A$!"͟"+͟"!"?Segment , file not foundcan't create fileread errorDisk is fullͫ"!"ͫ"!"ͫ"6#!"ͫ"6#!"#B$B$#B$*##B$< ##B$B$<#2A$!M$͟"+͟"##2B$w# º# V *} ͠.!=`i"=I5$0*=* |#%+.##%"=*s c$>Ͷ*{ .DM*=*{ "ͦ!=B͝.$*{ ">*=">*=">B5*=" M%!B=."=*{ ">1*B">! B.">B5*="B" M%!=B.M%"=*s c$>Ͷ*s 1*="BI5!= ..:!>x%:d >x%:BO͆ͣ.ͣ͠.ڛ%͏͠.?Ҭ%:!7ʬ%>x%*U>͠.%! >͝.%!=4B!=̀9*>zW&..*>.">*>zW*>.">*>zW&..*>.">*>zW*>.">!? ~Y&!> yW0Y&< y9&>2C '&!0C@  ͞&>2,>**>|ʝ&! ~#‘&w{(*Cwr(*Cw=Ϳ'*C "C*C "C:Cʓ'(@(͞&*WC+*C"C*C"C*C}o"C"C*C.*C"C"C*C}o"C*C.*C"C*C*C͠.>((<2C *C͠.><(<2C*CT]:CO(*C.*C :Ce(*C#.!YC YC*C|*C ʝ(&}|}*C$ w w w(*C Nwy{(*C"C*C "C:C2C*C"C:C9)(!C~#ʰ)')r(*Cʧ)YC!C1(@(͞&*M>|w=+"M>*O>|w=+"O>:!)*M>#"M>:!)*O>#"O>|.:^>x:̘:* F.|W!F"E?:c 3****!*N+o***!BBͽ.W*+*K*?*i,N+o*K**+c*W*N+i,o*c*.3&́&083 c&B:>!>4!B*|ʴ*͠.ʴ*">2:=*!>:Y*͐1ͅ=2_>!BB.H+">*B+">2B -H+*>#"q *>#"B͍-*>#"y *>#" 3-&+B+x ;+;+*:+U-**M>|>2_>!BB.+">*B+">2B -+*>#"q *>#"B͍-*>#"y *>#" 3- ++x +++++ +w="-+ͱ-+-:’+U-m+*O>|ɯ2_>!BB.c,">*B+">>2B -c,*>#"s *>#"B͍-*>#"{ *>#" 3-A,],x V,V,*:3,U-,*M>|>2_>!BB.-">*B+">>2B --*>#"s *>#"B͍-*>#"{ *>#" 3-¼,,x ,,,,, ,w="-,ͱ-,-:®,U-‰,*O>|*>zW*E? ">ͬ/a%S-6-z/W{/_~w#~w`i#.L-~w-)*>*>*>*=">*>#">*>#">}">">*>|!"= 5ڰ-*>*="=*>F͠.ғ-"Q>"S>-)-*S>*Q>g:`>|a%-s-#rZ.-s-)*y>###s#r>2C '&&>2C '&&:!=.|<.|O!> !B͉ͬ:7U..!B͉͆:7n..*U>:*!BBͽ."W>"U>!BBͽ." >">ͦ..N#F^#V`iͦ.͠..ͦ.͠..ͦ..!.ͦ.}o|g.ͦ.W|$%.,-.&/:Bw=:><2>=wg.zW!B ͞&!B͞&! C͞&:,>g/!1C͞&>2>>2C '&=o/>2C ','=/!"a>*g>"e>|!H"i>!"m>!"q>*w>"u>|:_>*M>/*O>|/w=!F"y>!"}>!"c>"g>"o>!H"k>2]>!"s>"w>">!F"{>2^>*>|#0*>!B<">W."Y>>."">yOW."[>>."$>͠.!Y>">͝.o00![>$>>K30û0!Y>">>K3‰00ñ0!Y>[>͝.ҡ0*>͠.Һ0í0!>$>͝.ں00o0!͏$w=*{ ͠.0*s +͠.0*y ͠.0*q +͠.??*B͠. 1*B+͠.1*B͠.1*B+͠.??*G?DM*M?͠.  j@1_@1*B">">*B.">B5*B">">*B.">B5)3̅=*w1xw# _xw+ j*"w1!Y?N#F# xʲ1####3Ü1"G?!w  >.*G?͠.1!W>>.*G?͠.1*U>.*G?͠.1!>"M?*G?!"G?*M?"O?!"Q?!Y?"S?N#F#xS2^#V#*Q?͞&"Q?*O?s#r#"O?*G?"G?32*M?"O?!"Q?!Y?"S?^#V#z 3^#V#"U?^#V#"O?."I?*Q?."K?~#ʵ2O^#V#*K?#^#V*I?s#r ™2~#3O^#V#"U?#^#V!Y?"W?~##w=~#~#22##32^#V*K?*U?#s#r ¼2*Q?"Q?b2*G?͠.w=33~2C '&&*B|J3!U><'=͝._3'=͝.?*a>|¦333*m>:]>ʆ3!H>u4 "m>*F"a>!e>a>."e>!H"i>*i>~2B+F+N+V+^+"i>*a>+"a>|3*e>7.:B*q>|4=4D4*}>:^>3!F>u4 "}>*D*u>."u>* D"q>|2`>3!F"y>*y>~2B+F+N+V+^+"y>*q>+"q>|D4*u>7.:B"C"C`i"WC2C ','̈́(͓'*WCDM*C *C 2C"C`i"WC.#"C ','̈́(͓'*WC*C+*Cͺ5*WC*C*C+*>|7 52B*>.">%*>DM*>>H4">*>*>">*>.">:>5.5~%*>*>.#">*>.#">*>.">Ͷ4">">">Ͷ4B5ͬ"B*B* ."B*B*B.ژ5"Bͬ"B*B* ."B*B*B.ژ5"B!=>Ү5͏ͣõ5W.>..Fp#͠.ں5! !5!5xw+ 5:=(6B!>:Y%8n8:%8!9C~RR6#~ER6#~LR6!9C6C#6O#6M!">F!V1*|6"5p.͠.6>2B*>+"5#."5"5*W>* >+"5#."5"5*U>"5* >."5!F5@͞&62B!">p..">U7!>:B 7p.͠. 7*|7" F>2F:B#7*>.">">%*>*>DM!F>9">!"F" F!>>.">|#7:Bg7*>*>">p.">*>.">!F">*>Ͷ4ژ7*>DM!F>9w7:c n8!W>>.">7:B7*>">*W>">7F!V1%*>*>DM!F>9">!>>.">|7! >W>.">!F">*>Ͷ4n8*>DM!F>98!9C ͞&!"B:K8:c K8*"U>!>U>w8:c k8:k8! >W>w8E9: .D9">"B">"B!GT"B!"B*B .8*B͠.w=8*B*BDM!D"B͞&">Ͷ4*>"BÖ8*B."B*B."B>2>>:H;{(;*B;"B>(;*B~(;#9"B:>/<(;> H;> H;*w *B͠.99Q;*B|–8Q;>2>!GT"B>:H;>(;*;>(;:>/<(;> H;> H;>H;Q;B!ғ9&˜9.͖ *q>͖ *u>͖ B!B5¹9|69}%9*>.u;*>*k>w+p+q+r+s+"k>*c>#"c>d͠.I:*o>*c>"F|!HI:2]>>͢;*o> "o>*c>"F*g>"g>!H"k>!"c>g:!|9¿:*{>w+p+q+r+s+"{>*s>#"s>d͠.:*>*s>"D" D|!Fʿ:2^>>͢;*> ">*s>"D" D*w>"w>!F"{>!"s>* D|;DM!FT]+~+##<:>w+=:: + x:" D:^>;*}>.!F>͢;|(;}(;*Bͪ w#ͪ w#"B!>w*Bw#"B*BGT.t;DM*B!GT>u;"B"B"C"C`i"WC2C ','̈́(9)*WCDM*C *C 2C"C`i"WC.#"C +*Cͺ5 ','̈́(9)*WC*C*C+I5!B .">* ">*y ">}<;!B .">* ">*{ ">}<<*B" " *B" " :c J<" " "B*B"B"B"B! H"y ""q *} .zW{_! H"{ ""s 1*>|<*>.”<*>~>2B*>.">:><|W====&*>DM*>*>>u;">*>*>">*>.">"B*>*>*>*B">">`i">}<=">">">>u;BKy>= >=E=y͛ > ͖ B͛ >  [=BY=B͖ !,?? Max memory addr exceeded.? Not enough memory to buffer ASEG.? Final addresses overlap system memory.? Bad write: disk may be full.? Not enough memory for /G routines. /X is permitted. Do that? Still load memory now? ? Would overwrite system memory. = [PC] at fatal error.Z171=1s1@1C1F1J1M1P1S1V1Y1\1`1c1f1i1l1p1w1>%%%%%%>WC &&BBYC&&&&&&&&&&&&''B'B' C'0CC# ' '''' CCCCCg,'5'F'['n' ,'8'>'K'^'c'q'v'',''''''''''CC ''''N'''''''''''''''(( ((((($(8((((((0(3(<(2@(I(_( @(E(L(P(T([(b(h(l( r(t( {(d((( ((((((((( =>..... .....>>:./////CCCCCC>>CCCCCD?)3+3.31343BBB-H4 H4L4Q4T4W4Z4]4`4c4h4m4T44444444444444444444B5E5B5$P $FA$FBCOMBB C0C044444B5E5B5$P $FA!zs# x>2*""> 2*22m~ (!"!6=h!6# p#6#> w#\"!2,l 2 *"*" "2:G :!F#N#~ :!!y~#!~6L#~6I#~6B: : !!!"͊:#!_^#VJB:Į5:($W[[0[AW:[;O8*-l>w#p#}y+>‚͖wxʒ‰y:ұ0ڱOxGÙx+N#^,>. . *4 ^*44,> *xx y6<&*6#w#w#6#w#w# yͷ >&8:7>I@*6#6 #w#8xc2jzn> ڋ6 #=y.8xڢʯã"yɯ**͋ ~OA:,,++:@7~ DM:1^+V:+++++;#x+;y;@"{ J+~+ng~w*+r+s w@f"+1+w+w+p+q+r+s+' 7*}̊*"+1+++:,:Ͳ' >@w ҴxIJ:w+ :;@~*!@"DM+1: p+q+r+s+~ wF#~# x:!>/O ü++++:w+:w7_ > >:!o>g6 !~6Gʞ#~ …wx+#ʖ~Ë2\ͬ>*>O> >2> >:ʬ<2> >~>#G~>+ú~#  ` / +#27U@L CERO3H 2:2BByʀʍB2**͋ ʬ~ġ~/_bͷ~w×ͷ~w+++r+sB:̵~,+<2ͱ!ͬUnsatisfied external request(s)yͧ 'CBɯ3xG3 73x3x!~w#4H\!">2*!"YYy   Y!ͱͱ**͋ G ~@ҫ¦ $ ÕͬìSymbol Value Defined Reference"Y"Y>͸~w+1+r+sYͷ~!i ͱ*>2' !q !~#6@>>:> / ͱ!V *z ͬ!A *z ͱ2*͋ ʒ~{$ b:9 z ͺɯ2*͋ ~@ҮĴ$ Ø:L ͖ ͺɯ2*͋ ~@$ :] üO~++~2+V+^+++V+^ ~,+ ,~/_~>#/ <2ͬ!n ͱ<2ͱ! G <2ͱ! G Common block(s)Entry point(s)External reference(s)27v ʭ 2͖ ͺ' 7v  ͋ ~ ~ͬ¬ ë: ͺͺ  ͺͺú' ,+V+^: Length of Data areaLength of ProgramModule ofڈ ~ 7,+++~+ng~|}!~#4  t6+w͑ xG © ɯ2͑ ͥ 7ͧ ) Gͧ   ͧ )  ͧ !w 4#6 _ ͥ w# ! "O:G<2ͥ Xͥ P:\ )0>) K 0>H |a }Gl x0:w >PX  |} >:> '"!7 ! :O ~>'A> y > CBy :GW> !F# W> _x GxG3 :3 "*͋ ڧ "*$͋ * ^#V+*{ʧ :<2͠ ͠ xj ~# ] * "*  " * ^#V{ʗ r+s*͋ ʗ | *w#w}_|W! >?>ͬ(Out of memor! ê Command erro! ê File read erro! ê File not foun! ê Can't enter fil!" ê Module name/number not found in fil!M ê First module in Until clause after las!{ ê Library write erro>2I< >2< eu ͧ : e2ɯ2: Ie< 2I!"! w#P w: <2_!dw: ʤ: _<2!~*w#"*' * ~#" :# !~# !w#! w#2: .ʹ y%#2 >@͸ɯ2 go":IG:~2͊څxr͊͡͡2GG ͡BI:2x2#" G:<222 :E<2!"*" ##"ʹ VVyʙV?** s#r2 w#wډ~:=222>@͸V#~G#N#~±>@2͸>2+~, *~Ÿ,:,+++~++5#N+>5+~>5:5<2 ,'2 :G~x:͏ !w#Q* "w#w**͋ ~~vw/_:,d|2FORLIB REL,d|2FORLIB REL! ÏCMAC"<2:2<2;2\:2Y:2":2#:2;2$:2}<2;!; w#˜<2W:2]:2^:2;> 2 :: =2:>;2b:<2a:!"c:+"<+"e:*2<2<͑ >>g >>0>w#>!w: ʉ yw# ‰w:h:=2g:͑l:[:ʣTKЯ2[:͔KdIڪ!OC> 2w:NG> NG7+ !"r:2_:=2~<* ;" ;:w:*>$2w:$2t:T :ʃ:t::;=T !;~4#>$Nwy#*u:+~# ʴ T y~y#~"MM y*u:+"u::W:` k "*4Ö*"u: ô:W:ʮ "r:  " :ª@ T 5 :W: 5:W:a``#~! _^#V#N! ; !w:"u:*r:|T :W:a5%!;; Nwy#(!4;"(;!*; q#@5 J a;a::Œ:*;VʀMʀDʀX2;ͷ ACDEMNOPQRUVX!*;~ pNO END STATEMENT ENCOUNTERED IN INPUT FILEö:;.ʐ$ʘ[! Ók 2VW& - . / 0 G H *CIDCRDCDDRDD*DINARND*NISEG"SETZIT3ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN LOBALkvALTvLTF2FB9FDIFFEFF:FIDN3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*RIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RAZUB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL;LFCOND)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALLÒ <*p:~*<####~7_"<:;$.?=O# "n:͈ *;z :;O s#rw#  "n:;2 >wG#w#w#w###w#? "p:####p*<͂ >8*n:|>!n OCSymbol table full |}:=i:\:i::i*n:~@iڮ >>H!;F#~H¸ *; G~8 #~ +~w#~w#s#r#* ;s#r~w::# ~V~V#^#V#͂ G* ;x9{V#zV:*; *n:# :_:V*n:~*n:#~wxGê>)y)? O+)O5)OG)OG)yOO)y)yͿ*)ËOGOOGv̒)OGOO)y)O5Ϳ*)Ë5 ,ĶɷÒ@C͒ÒͿ*z^<^͒:;Ē{Y! ^#N! ^#VOԒx){?)O8Ē)Zܒo::à:;L::0::à>):: )>2:’::<=’<2:ů2: 5 (12:Ϳ*y,L::07a::8OͿ*y)Ëڏ:: ?a(g::ĒL>)Oү::Ԓ OͿ*ͻyH)y):;G¤xG * ;* ;͂  ##͞6zC<’xxͿ*ïů2: 5 (#2:Ϳ*::0̒o::}L(LzQ){)ZԒ::Ēo::=ĒZԒo>)ozAàZԒoz g:: Ē>)Ē?{)::=Ē>)@àZܒ^::rĒgZܒoL::(::Ē>)oZܒĒ>)oZܒ:: Ē::Ē>)OԒOw7::(>){)::̒ ::)oĒ>)gi;w::̒.(::::6oy & ::à::à>1{)::ul(g::Ē>);::)>F)?{)Zo:: Ē::Ē>)yBOZĒ̒o&::ĒAZo::(::Ē î::Zܒ̒o::̒GxĒ> à::Ē::g:::::ʟԒo#::Ēàg:;:; o::̒ ڷ::Oʧ>)yC͠2;2;Ë::(>")Û::Ē>2)Û:: :: Ē::`Ɲ)͠ËĒo::Ē>)2:O*y@>*)Ë>)yK͠Ëo::҃ ::d::?͠{):: y::񇇇@Oè #::Ē>)Gà:: o`Ɲ)p::ͨ@{)Ē>:)ËgĒ:: à?o>6)K@{)y)::O::Ē>)yWà::G::>*;#";ª%*(;@;͂ *(;:=ʅ`))0) m0j#"(;Ͷ{::k*;##";:;G5:;G"*(;¿#"(;CͪBêxx6!6**;##~#fo6"6'##"(;"x*ͽCͮBͮx*;++*;#:;G~w#s#r#* ;s#rCͪBͪi:;2;:;ix"Uz H2;*;#~2;*(;<;͂ *(;:=ʪ)0) “0"(;DͶEͶáxͿx0:ͷ:Y::X::W::^::*; :*; :7=<2; 2;<2Z:4:}+2D;a>+2D;:*; a:]:a:,; :`::[:m>C2C;:;Ÿ:^::*; !b:4:a::;Ÿ:=ʟ>H!*; ~#¤:Z::}<=:~<!h:~#0>:g:> !w:~#  > > O:;yHNG>2b::^:/> H!J;w!w*c:#|+:^:Fó*e:#"e::^:|`>-H́!;w>SHF~#HwPX چ|Ą>: MACRO-80 3.4 01-Dec-80 PAGE :*; Q*:#":*:#": ::i:,; i!,;"(;kO! ~*(;w!4;"(; '"!*;:;*;ѯ:;xE* ;* ;͂ "n:" ;HͽA>͎yo>͎CͮBͮy*n:~GW>͎######Fͮ#ƒW>ʞ_x˜GxGžɯxG ±7xx!;~w#4=I>2;T   'D"D(-)0+3-6*9/<;+,+ Ķ>>>> > > >!G( Z" z( o2;( p" xu( eo( ;„=xu*u:+G 2;*u:++"u:G "u:|Gg: :|o|DB|} ||BDHOQĶ=OQĶ ?!G B0԰)#&DVH!G 0)T]))_)!G 0԰)))_@!G Gv0 k))))_YHð:!:µ!G 0 ڙܰO: :=ܰ<_PV" Çþ&þ=5 5 :;2;@=`# @! @#;#! ~ 2:A ;: :1 &  15 ?*u: #n #n7 ̈́*#~G Īxw+â"u:# ::ʅ*::ʞ7͈ # ʢ*~8x##^#VO#^#V" ;y y??7͈ "n:~8$::Ķ2:##~2:+~+â#~+â#^xOB!V ~PJ2; A ?:;X|" '@ V'$@  O?XOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :: ::::Aa" ' ɯG og2;2;2;2:2:2:9";*<͂ ]1L ?O2;=yf ^ ^ ͙ y2;ʭx:;­̶í:;OG:;?5 ,©:;ʩ2;>? :;O:;f xG:;O&_y{* ;YG&!!_~x ͶůG|2;͙ y2;: '#:;O ? 2;:;G2;*u:+N{*;2;z̶̶V|=VyWx=zʐ zʐ &ʐ ʐ ʐ Ķ>GG&";z¬  !";";y2;  2;     !:;*;!9!o>g~#fo:;O*;Ķ!y" ;  s!}!!!!"S""#!!2#=#I#V#\#e###!###### $s"zW{_s"zW{_s"zW{_:;*; |/W}/_*;:;Ĥ|/W}/_:;Os"z!)!s"#+}zW{_!*;:;y!y":;""yO2;̓"!:;y5"2;5"yO:;L"yO# {_zWs"DM!>=o"))]"]" :; *;:; ʛ"y :;O*;" ;*;s"z̶zB"|G|"|"""|/G}/O!>" "7>{_zW}o|g="|g}oɯO_yWs"z$#|$#|͢"">O0 Gt#͂ P#t#͂ ?P#t#͂ W_ t#i#t#͂ P#t#͂ 7P#?P#:;#*;> O2;*;\W> O2;*;]Ws"}G_s"}G_s"}5_s"}+_s"}Go{G_s"}?_* ;*;͂ :;_ :*; O $> 2*;J*x 2;xGY$:;Y$* ;* ;͂ :;G* ;" ;::""; :;‡$::H:;$:;ȯ2;T $>G2;<2;2;*;]$$>2;G2;*;]$$>2;G2;*;]$:;J*:;;%o& ^#V*;͂ s#r2;* ;##$::/%:;/%*; H2; 5 "H%'%G( ( *u:++h% ( o%[% [%5 ,ʅ%;ʅ%ʅ% "u:%y%" G( ( ç%)( ȸŸ%" ʾ% ,5%)5%O:;i)y,5%x "%'ĒO( G" &x)%? " %&x) ,%x)y? %b&%:=W&z*;#";::Ī@&*;:;G]$%:::*;U<2*;%͋y,u&:":=&G2"::#:=ž&2#::#:<2W:&2$:? ͘:$:Ę:":̘!#:&=? 4=2W:<2$:? 5&:":_2>W!%:7~&$:&w!":4:W:i2W:!#:'4:":=2X:o'z&o'z/&&::? =&::? &7:W:v'T # ^'i' i'&?&:W:b&! "u:&7'v'"u:xi'd'7'v'~,'#"u:''"u:yd'd'# º'i'Ͷv' <Ē" ' " &' '*u:+#~>(T], (z( '#*u:z̒}O|G:*; T OĒ7 #~@w ~Īwy,'(J;O`(;; *u:+~# }(}(g(g(#"u: (’( '’O[(5 ( )Ē? >2^:? 2^:? 2\:? >2\:? >2]:? 2]:? >2]:? (>(:=/o::? }2=2Y:? >2:? 2:? >2!:b&2!:z’:*; {=ʒҒ<2 :gkb&z’::{X) ܒ:*; X){2a:4T ’:;u)>!;w::"n:H,a):[:¶ *u:+Jʧ)͔K=2[:*u:~#"u:!ҫ) (’( '’T ’'’( )’? :::;)>;!;G~ªw#)pJ* /’T B*/’? #~ª~$w$+" ;>2;!";Y$>2;:;üT u* ̈́*#~d{*~w,S*͒o*wͪn*~8~w#w#w#w"r:Ϳ*:*;2`:Ux¤x 2_:*r:"n: x:;"r:~w|2`:Ϳ*x¤*r:̈́*#~ª~@ w#s#r#* ;s#rH:}<,:":,!:4~=«+!;~4+!J;~4+!X=#;~# V+ V+V+ V+ :+!;p"n:H$!K"< ڒ+"n:~w#~@´,~k+#^#VHk+*; H *;{Hl*u:!"c:"e:!=-w!<>8:b:8!b:44!2-w!=<>8,*:|,́:7=<2;ā2;,!,-!,-*:|N,>,H:7=<>,NǴ:7=<2;ā2;!,-,\,"H*;|t,d,Hͮ:=ʋ,>H;H{HNo Fatal error(s) Warning(s):;GHk+-!,-,REPT/IRP/IRPC/MACROUnterminated -!&--> > :7=<> NG> NG!,w:7=&2<Ç.&.:<.>&y72<*<~T.;I.O+I. 9.x+~I.+.:<*<~ʅ.;z.O+z. l.x+~z.^.<*u:T &..G~# ʥ. ­..Ù.x.G .& .5 "u: . .5 ...Ͱ ´..Ͱ ... ;//8. 7 /88 / /+8"<7 7> y77:.!1!1?*0%0,0 0 0;0!( 1w+ /"00b&:*; 0: :w0W0PX D0|B0>:ï0)0͛0>)d00͛0=`00D͇0E͇0 >0ï0x͐0x0:ڛ0 ¯00O:گ0>0ͯ0y*0w+"05 *00Ow+ 0 10w+ 0/0w+00000{=*u:+~ 5 5 00!:͂ 41#6 +͇.&̇.:ʇ.! Y1iÇ.!c1h ?Stack overflow, try more P switches b&:*; ʘ1" Q1T :T ͑-1w:y7 1ɯy77!*<*&!ɷG-"<Ͳ/O:*; 2*<-y6+,Ē53( <Ēw+:*; 3GC3/ ʍ3>ʐ3$3" <2< 3 ʆ3:€3ʐ3À3À3 w+C3:<36+w-xĒ"<&i"<3å1>21*<>2<91͑-3 .;.'3"3͇.3G- .33"2<"<͂ V4: NG> NG:*; ? ʒ2w#w6c7s#rh7"<*<6s#r{_*<{6*<w{ʕ7̟7"<{_6z6*<}7}o~Ͱ7{7̟7{_6{ȯw#w*<s#r6*<6q#p*<{8*<"<~{_6{_{78̟7*<*{<:} H>*>M>C>UHÃ9*n:#{G#^#V#^#V" ;""n:#~ H>IH!*;"(;k*(;6!*;w~G#^#VHQAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPERELCRFPRNP?Command error?File not found?Can't enter file~NG#OC!CiC!-CiC!=COCCCOMSCNuC"=uCʿC:CG:CO*.µC# §CÿC µCÞC2uC*+++"=*=:=2=*=F:B C2=2 =2=2=2=2=2=2=<2 =2 =ZCů2=dE=GE= *D>2=!=;E> 2=2=2=y,2=TD:=2=dE=:=aD=GE=:=2 = 2 =~D:=@2=!7=;Ey=7dE 7GE=D 7!X=;E:=!=E!7=:=D@==> =DE: =D: =D: =2 = _2GͅG͛G*=##: =2=G= ~5E5Ew# +E #+E w#>E:=!=~ bEw#XEͭF:7>ˆExdE7GOx=y©E[A@2=ԭFx ږE =E7GÝETE7GT77GY7ÈELE7GS77GT7>ÈER77GD7R7>ÈE> F6 #=Ey.2=̭F=xF(F7GFy/y7GLAF2 =7GO)FNLF2=:FOWF2=:FRbF2=:FCpF2=2 =:FM{F2=:FI†F2 =:FX“F>2=:FZŸF2 =:FP7: =<2 =:F7G[F0FAF:FðFO!~6GF#~ FFBx+#F~F2=G2=:=G{G>*NG B> NG:B!B"Co>g6 #> w~# 7G 7G uG#"C_*C+~ #F#"C+~7ȷ> NG> NG>!">!7=: =îG=!"=!=:=G~GH H> H>H*>>7=ͮH>7=/H:=3E:=8H>=I*===ͮH==/H|}ʹHƀ)`i I> H> H> H: =3E:7=|I#">>w>!7=>J = I!=>!= I:=3E:=MG*=|=2I#"==w:X=<`GI*@|̅I#"@@sG@>X==ʮI!=ŠI!>êI_!= I I H~II7ȷ!!JOC@@J> NG!'JOC{GDISK FULL!-J:>J@PKw#2=.K!Kw#J2=.K!KK6 #K:=.+Kw#+KpQJ-JPK2MJ2NJ:NJ={KQJ-JڐK!QJ"OJ>2NJ*OJ~‹K7ÐK#"OJ!!JOC@@J> NG!'JOC{GDISK FULL!-J:>J@PKw#2=.K!Kw!L K ~+ x ì\ 000510XX000000012345000000000000000000 L\l| klll&l  Z,Z,Z9-REBUILLL"!\ b\&l\0$\\Dx]E`]]F@ 4\p\`^B_p\H`iiI10Kx]OhPh!Qh$Rh BSh'PThUh+xVh)Wh)Xh.Yh&ZhF REBUILD by Microsoft Corporation Indexed File Recovery Utility Version 1.00 (C)Copyright Microsoft Corporation 1982 Use this utility to recover Indexed files when they are damaged, or to reorganize Indexed files by removing unused space. Compatible Indexed files are those generated by MS-COBOL (C), for versions 4.64 and later. \xB_``J__b@ 4_c@ 4_p_`*ggp^ep&_f , 4h@ 4B_i`6hhjpB_000505mx_{h|h}h Y 7 6 6!!5 _p_`4`apz_@ 4<_XAI> E`f g`g0h@ 0@_p_`jj * 4p_! Record format specifications: ----------------------------000 00xa 6!!1 ` . 4@ 4l`@ 4p`pz`` bnbpT`@ 4`Y ; 6p`Y 8 6p` 6!!2 a . 4@ 4`@ 4`p``bPcp`@ 4 aY 7 6paY 9 6pa 6!!3 a . 4@ 4 Ha@ 4LapVa`cdp0a@ 4taY 7 6paY : 6pa 6!!4 að . 4@ 4a@ 4apa`^efpa@ 4aY 7 6paY ; 6pa 000505000505000505000505xnbhh h$"hFH@ ZPH ZV^b * 4pnbe Z $ ( 4, Input the key length (in bytes), or to return to terminate program -----> 0 xPchh)h,h)<hfH@ ZPH Zt$c * 4pPce Z & &P 0v.. & ( 4< Input the byte position of the key field, starting at 1, or to return to the Key Length prompt ----->0 1+xdhhhhh+4h&`h)hH` D Bd * 4pd8 n 0  @ 0hd! ( 4"pd@ 0d#`Bk\k$ . 4%pd&`jj' . 4a Source file specification:------------------------Input the file name of the source data file (should not have extension of .KEY), or to return to the Key Length prompt ----->0030*xf4h5h6h7h8h+69h&b:h)hD e? * 4@pfA8Mn $ & 2 F@ 2fG ( 4HpfI`zkkJ . 4a Target file specification:------------------------- Input the file name of the target data file (should not have extension of .KEY), or to return to the Key Length prompt ----->00Mx gRhSh h Thh  Now reading and creating Vxg[`gg\@ 2g]`g0h^@ 0bg`pga * 4c@ 0~gepgf`jjgpgh`i>ji 400001005kxgu8n "v@ 2gwYII EP )@.XJI. Expg001+{x0h8en "@ 00hYII <P )@.XJI. j`ijihhh&hF300 Conversion successfully completed.Additional recovery operations: ------------------------------- xjihYII <  Nhh NYII E  Nhh N Source records read: Target records written: xihh Program termination.x>jhh"@ 2$jh"&p>j@ 2H,jhJp>jh^h 28 --- Target file error detected ---22*** Attempt to write duplicate key24*** Target file full*** File status = xjh@ 0jhpjhh4h 0# 10*** End of source file--- Source file error --- *** File status = x\khh *** Source file not found xkhh *** No space for target fileЖpЖ6u<H6J4\L)I'%8M6u<u(J4H:K\6u<H6FJ!KJ4>2L"LG.#6:>I#6 =YK L!L~rK#iK#~zK0! ECTION/DIVISION/VERB. ERRONEOUS DEVICE ASSIGNMEN"l!&ly0Fna0Fn"l!lݖ*lxoo>͚Jo!lt*lxo"m!Nl""!9"n!n"n!n"͐o! |¥n͟oxžn>n oÄnͮo²noÄnͷoo p*mq#p_*lxo*n>n^#V:l_"l!l@w*lxo!lu*lxo!Nll!&lj*lxo~#fo p"mbk~#fo p"m`i^#V#"m^#V#"m^#V"m*mlҖ*m"l*m"l*m p"l*m"l{0G{0Oq#p!ÌO#ÌG!ÌO#ÌG!Ì *m!ͼxoy oo o!lҖԌl!Җ|eoxAOɯ2qF~#^#W{2*p>"xhqWq^#V#"q%"qV#^#{ G:q2q{&o))))):q2q:q2q>{2qV#~^#2q:qp:qGz2q:qG>{2q>:qppo&p/q:b=pq2qp:qPq:bq<2b2qqq!q w#_q"F#NV#^#q:­qʏq!5nqÛq:O #~#<2x2b:qʼq҃q##ʙqqڙqʙqÛqxqxجxyP PP PEVKEYMURE IGNORED FOR INDEX ITEM.PERIOD ASSUMED AFTER PROCEDURE-NAME DEFINITION.#GROUP ITEM, THEREFORE PIC/JUST/BLANK/SYNC IS IGNORED.$FD-VALUE IGNORED SINCE LABELS ARE OMITTED.%STATEMENT DELETED DUE TO NON-NUMERIC OPERAND.&STATEMENT DELETED BECAUSE INTEGRAL ITEM IS REQUIR.'LITERAL TRUNCATED TO SIZE OF ITEM.(EXCESSIVE OCCURS NESTING IS IGNORED.)DATA RECORDS CLAUSE WAS INACCURATE.*GROUP SIZE GREATER THAN 4095; LENGTH SET TO 1.+EXCESSIVE NUMBER OF FILES/4KB WORKING-STORAGE BLOCKS.,A FILE-ID NAME IS UNDEFINED.-Vz+z9tzutrttrtuGEtrt͓uGRtrt=zqtͬzz"sxqt͟zzx_tz*qy>4tg>4t*rr>|g>4t*r  7ݖ*rDM*q*rͅ{tt>t>0z*r$ ! r Җ*r   ݖ*r*r|uu>u>0tz*qy>0Žu+z=;ua>ud>0Žu*rr>|+z=]ua`ud>0Žu+z*rDM*q*rͭ{ҍuˆu>Îu>0Îuz{ʤu>0u+zGʼu*r~uu: r*r|*rk|u>0u>uz+zu*rblv͑z*r| v0"}v$*qj*rjYz2 rzͬzz͢x0ʓv_: rOvz{ʓvz>#Óvxv{avzÓv#ʓvxsvzÓv>#Óv>0“vz{ʓv>ʓvz>#_z͹zʣv>vz®v>#vWyvxv>0vz͟z_zͬzz͢xvv>#w#w>0wWywz=z>wͬzxw>0wz͟z_z͢x'w>!>w1w>!>w#;w>0>w͉y_zzQwy>0uw͢x\w>"uw0uw͉yuwzuw*yuw>0_z=zžwx>0wyw™ww>0wzʬwy>0w͢xw_z{0w>#wywww>0wzw*ywwwwz͟zw>0_z=zTxx>0ڞx?y>0ڞxy:,rO,r!#s^{>!žxy*r͑z͏>0ڞxxҞx>0žxÞxzbxy>0ڞx͢xwx_z{0ʞx>#Þx͑z*r1>0ڞxy͏>0ڞxzʞx*yҞx>0_y,rxx»x>#xx>x>0͑z*r^x͑z*r͛x͑z*rͪx͑z*r͹y!#s6*r͑zm~'y͑z#s*r͵~0ڄyKzfz++q#p+*rK҄y>0y*r͑z͍}Үy ¤y>$þy ʟy>0þyy͑z,r?~کyWzfz++q#p+j{~W ^% ~<2,r=O-rҖ"q( "q8 "r( "rZ "rj{~j{~j{F#Nj{~G#N j{^#Vj{^#V+zz##V#^%*rP~Rj{6Rj{6Rj{~Sj{6Sj{6Sj{~!rݖ$j{N#F!rq#p# F#Nq#p2 r*r*rk|8{W{$  r ^{W{: r;͂މbJrX`i"!"F߈{>76Jv>J ͂{rXb{^###~|>7͂2?>goͷ#k*|7͂4~||҉||߈Ҕ||*D ~ڬ||FJjx|Xb|^͎NJx7͂4|>nJJznnEEXbFnXb͂J~#9}>7!"Fjj;;j==jBBjEEXbllFjXb͂!"ˋkz#>"vU-~%~}:͋-~^%~ "vU-~%~}:͋-~^%~bk"XzL!Ì_#ÌW>#ÌzX%~͏^,rU"͂"ˋ4P~>".!Ìňʒ~^> 7~Oڪ~o{^^> 7^~G74VMň~%z%~#~^^F#~>7͂4/>7ňTD^> 7No{^^> 7͂"ˋ4q>vUڕ^ʒň^•>7>7͂4ҧ>͂4Ҷ>é͂4>L7!i"!"!Ì,=,ͽ!i"!Ì_#ÌW͏,!Ì,=,ͽ͂4=>XF> 7͂"kz Xڇ*q#p#$z!" !ͼ> 7͂"kz#>`i>DM]!Ì2`iT]X|؀}ހ ͏^:!Êz{  X͏^ ^U**͍}:!^UrU>!##y#x#Ê*!"!Ì2ͽ^"!ÌO#ÌG ^UԌ*!"!{#zͽ"!Ì_#ÌW#!"ˋ*>".*N#F#!yx### *"!ÌO#ÌG9y9z###ͼ!"|W} WT! W###ňq~%:U^^"ċ"Ƌ!9"ȋ2Ë!D~2ʋ!Ek>7*"p"ͫ*~#тƂ½++k^åz###ׂ+k^ª>ͦ^ͩň>ͦ2͋:Ë*Ƌ*ċ33^>##~7o,$"ދvҀ>NE>މrd*͈>ͦ*ˋNo{JUUX—^ňʯʃ^ňʯʵzõ~%>ͦͪ*"܋^#V"###k####"Ћ*ˋ"ˋNo{JU^NLňz"ԋ""ً>f>gyCCW>C~z%OV*ًXŒ>ڌ>O !ͧ܄U**܋s#r*܋"ňz~^!"׋Ԇ6͋*d>*͈*Ћo{*d"L܄"FLc"Ƌvr*"΋d^*|Lr΋dr΋"L*Ћ*͈No{:ʋn"*ҋNF#_ zЅ hR#}wBXd|©>*vދErދE*d"ͷ%"ً*#…ڹ"ԋ>ԅ*Ƌ>g!"׋ԆB͋6uv*Ћ~O*ًx%#*%y%*$++z{*ԋ:W}2֋O}z{:֋G*ԋ*ЋQ~# J᯼Xjd*%:ۋz=ؒ_~z%O{xڤ*:؋%:׋+*#k^?ͷ͈~ >ͦ^)> 7ň>7>+ň> 7}~%o{:Oo{~Xʁͩͩڜ7͐NLňE*͈}T]~%zO}>ͦ^*###k^ͷ͈~"*ҋԇ^ň>7>ׇԇ> 7އ*x"ҋ%G~+*Ћ~h&z%|z}2ۋ}o|gf|j>7G~#fo|x"!6!"`i"J ~#fo"2s#r!Lw#:w#:w#:g}w!L~#kͷ##~%7?*G ~##77?!ͷ*^<ͷ='*^#k7JP" kQ<7""*ȋ|z**!9DMoX>s#####^BnBE*B kԉͷ6#^#V+|ɉXó2XNEZZ*B ^#V+z>"R*~z#N#Fq#p 6# x/wB|ͣͣͣF2F2̈́̈́̈́RPRPRP"!9####"bk"`i"""F*:ʋϊF*ˋNފ# ي7x~=G%*ˋ~=O%#~+ x +7?y#ԓ ԓ ԓ$ԓ,ԓLԓMԓNԓlԓԓԓԓԓԓԓԓԓԓaڂj҂jAw#oj~# j ʈj j#"f_*f+~ #i#"f+~7ȷ> ͟j> ßj!fKfa!"`:` ">2)"**= Җ*s!^#V"# ^#V+" !͖*O " ‹4ÙʪN#F+q#p+̈́F5™* s#r> sͼ:`is>"`i"*U  Җ sbk!͖2**|<*}o|g"**R ~#fo"#ͣ:_!}o|g*jbkDM*"¡**:oҍ$2Җ"2*:_ү2*Җ":)*|؍2‘*ˍF*! "!*|J**|2)> s2*;N#F+x_q#p *q#p:)Z~#fop_> s*; * ~#~͑>͑* ^#V ^#V ~#fovَՎݖsގ> s> s*!Җ*"UҖ!,!Җ%!*=Җ!Җ!Җ"7?>! ͝ln7*{w#zwҒ #4’# „> s~#~#~#~±#~±> s~# x¶~+ x" "!*"##6#6!hO*+SJ*  SJ ~5####"͉ͯh##s#rbkG|xG}x}o|gG~#fo|x*G*x*DM**7"h"##**"͌K͐~˓6ͿsͪǓǓÓ 1:͂*ͻ*##hs#r"Ns#Fr*s#r#q#p͌K˓6͌K˓6 6P sR h!!"~#fo|ʻ {ƒ#zƒ##˓^#V+sÈ9͌Kޑ˓͉ w!h& N#F ^#Va h& DMs#r`is#r!h{####" ~ĉ6 6#6hG**"s#r͌"!6ͮ6*hw#Ÿ*|W’"s#r T] s#r#T]wͶ**|˓h####" 'h˓ wĉsͳ""!h7 *##O#d#bkhͫ*|’}’ͷbk##hʣͫͷԓ&ԓbԓlԓԓԓԓԓ#####~2"!I=f=nvAƔA͸:!*ʟ=ʓ=ʙͯ:Ɣ0:͸PYOͶ:͂"***͂Z͂`iZ͂ogZ""*ââ !9 N#F`iDMog=ה=ݔԔ=ה=ڔhݔhho$"9!9";!eg),ͥ:*;*9:y<2y:<>L: RUNCOB COM:|Aڲ@2<핯2!ѷ!:{͕ ** COBOL Executor not found $** COBOL Executor too large $0`!#w#w# B!Hw# WҖݖptu!vvv@wwwww̏ x ~#Җx r#ݖO zW{_PX[> tu!vvv@wwwww̏ x ~#Җx r#ݖO zW{_P000010 IDENTIFICATION DIVISION. 000020 PROGRAM-ID. RECOVR. 000030 SECURITY. 000040 THIS IS A SKELETON PROGRAM THAT DEMONSTRATES HOW 000050 TO COPY AN INDEXED FILE IN ORDER TO RECOVER ITS 000060 CONTENTS, REBUILD THE KEY TREE, OR COMPACT THE DATA. 000070 000080 REPLACE ALL OCCURRENCES OF THE STRING: 000090 "***ENTER data HERE***" 000100 WITH INFORMATION PERTINENT TO THE STRUCTURE OF YOUR 000110 DATA FILES. 000120 AUTHOR. MICROSOFT. 000130 000140 ENVIRONMENT DIVISION. 000150 INPUT-OUTPUT SECTION. 000160 FILE-CONTROL. 000170 SELECT INPUT-FILE 000180 ASSIGN TO DISK 000190 ORGANIZATION INDEXED 000200 ACCESS SEQUENTIAL 000210 RECORD KEY INPUT-KEY 000220 FILE STATUS INPUT-STATUS. 000230 000240 SELECT OUTPUT-FILE 000250 ASSIGN TO DISK 000260 ORGANIZATION INDEXED 000270 ACCESS SEQUENTIAL 000280 RECORD KEY OUTPUT-KEY 000290 FILE STATUS OUTPUT-STATUS. 000300 000310 DATA DIVISION. 000320 FILE SECTION. 000330 FD INPUT-FILE 000340 LABEL RECORD STANDARD 000350 VALUE OF FILE-ID INPUT-ID 000360 RECORD CONTAINS 000370*****ENTER RECORD LENGTH HERE***** 000380 CHARACTERS 000390 DATA RECORD INPUT-REC. 000400 01 INPUT-REC. 000410 05 INPUT-KEY PIC X. 000420 05 INPUT-DATA 000430*****ENTER PIC X(nnn) HERE. nnn + 1 SHOULD EQUAL RECORD LENGTH.*** 000440 . 000450 000460 FD OUTPUT-FILE 000470 LABEL RECORD STANDARD 000480 VALUE OF FILE-ID OUTPUT-ID 000490 RECORD CONTAINS 000500*****ENTER RECORD LENGTH HERE***** 000520 CHARACTERS 000530 DATA RECORD OUTPUT-REC. 000540 01 OUTPUT-REC. 000550 05 OUTPUT-KEY PIC X. 000560 05 OUTPUT-DATA 000570*****ENTER PIC X(nnn) HERE. nnn + 1 SHOULD EQUAL RECORD LENGTH.*** 000580 . 000590 000600 WORKING-STORAGE SECTION. 000610 01 FILE-STATUS-ITEMS. 000620 05 INPUT-STATUS PIC XX VALUE '00'. 000630 88 OK VALUE '00'. 000640 88 ATEND VALUE '10'. 000650 88 NOTFOUND VALUE '30'. 000660 88 DAMAGD VALUE '91'. 000670 05 OUTPUT-STATUS PIC XX VALUE '00'. 000680 88 OK VALUE '00'. 000690 88 INVSEQ VALUE '21'. 000700 88 DISKFULL VALUE '24'. 000710 88 DIRFULL VALUE '34'. 001000/ 001010 PROCEDURE DIVISION. 001020 MAIN-LINE. 001030 PERFORM 1000-INITIALIZE. 001040 001050 IF OK OF INPUT-STATUS 001060 AND OK OF OUTPUT-STATUS, 001070 PERFORM 3000-PROCESS 001080 UNTIL NOT OK OF INPUT-STATUS 001090 OR NOT OK OF OUTPUT-STATUS 001100 ELSE 001110 NEXT SENTENCE. 001120 001130 PERFORM 8000-TERMINATE. 001140 STOP RUN. 001150 001160 1000-INITIALIZE. 001170 DISPLAY 'Enter file-id of the input file ---->'. 001180 ACCEPT INPUT-ID. 001190 DISPLAY 'Enter file-id of the output file ---->'. 001200 ACCEPT OUTPUT-ID. 001210 OPEN INPUT INPUT-FILE. 001220 IF DAMAGD OF INPUT-STATUS, 001230 PERFORM 9010-INPUT-ERROR 001240 MOVE '00' TO INPUT-STATUS 001250 ELSE 001260 NEXT SENTENCE. 001270 001280 IF OK OF INPUT-STATUS 001290 OPEN OUTPUT OUTPUT-FILE 001300 IF OK OF OUTPUT-STATUS, 001310 PERFORM 3500-READ-INPUT 001320 ELSE 001330 PERFORM 9020-OUTPUT-ERROR 001340 ELSE 001350 PERFORM 9010-INPUT-ERROR. 001360 001370 3000-PROCESS. 001380 PERFORM 3700-WRITE-OUTPUT. 001390 IF OK OF OUTPUT-STATUS, 001400 PERFORM 3500-READ-INPUT 001410 ELSE 001420 NEXT SENTENCE. 001430 001440 3500-READ-INPUT. 001450 READ INPUT-FILE NEXT RECORD. 001460 IF OK OF INPUT-STATUS, 001470 OR ATEND OF INPUT-STATUS, 001480 NEXT SENTENCE 001490 ELSE 001500 PERFORM 9010-INPUT-ERROR. 001510 001520 3700-WRITE-OUTPUT. 001530 WRITE OUTPUT-REC. 001540 IF OK OF OUTPUT-STATUS, 001550 NEXT SENTENCE 001560 ELSE 001570 PERFORM 9020-OUTPUT-ERROR. 001580 001590 8000-TERMINATE. 001600 CLOSE INPUT-FILE, OUTPUT-FILE. 001610 IF OK OF OUTPUT-STATUS, 001620 NEXT SENTENCE 001630 ELSE 001640 PERFORM 9020-OUTPUT-ERROR. 001650 001660 9010-INPUT-ERROR. 001670 IF ATEND OF INPUT-STATUS, 001680 DISPLAY 'Error: End of input.' 001690 ELSE IF NOTFOUND OF INPUT-STATUS, 001700 DISPLAY 'Error: File not found on open.' 001710 ELSE IF DAMAGD OF INPUT-STATUS, 001720 DISPLAY 'Warning: Input file damaged.' 001730 ELSE 001740 NEXT SENTENCE. 001750 DISPLAY 'Input file status = ', INPUT-STATUS. 001760 001770 9020-OUTPUT-ERROR. 001780 IF INVSEQ OF OUTPUT-STATUS, 001790 DISPLAY 'Error: Invalid sequence of input records.' 001800 ELSE IF DISKFULL OF OUTPUT-STATUS, 001810 DISPLAY 'Error: Disk full on write.' 001820 ELSE IF DIRFULL OF OUTPUT-STATUS, 001830 DISPLAY 'Error: Directory full on open.' 001840 ELSE 001850 NEXT SENTENCE. 001860 DISPLAY 'Output file status = ', OUTPUT-STATUS. 001870* END OF SOURCE * TATUS. 001760 001770 9020-OUTPUT-ERROR. 001780 IF INVSEQ OF OUTPUT-STATUS, 001790 DISPLAY 'Error: Invalid sequence of input records.' 001800 ELSE IF DISKFULL OF OUTPUT-STATUS, 001810 DISPLAY 'Error: Disk full on write.' 00182Lø)(Ó !ÍioIJ J8Jíþ m#ú9EfD EDEWFjFàFFF G3GGÄEF~H%E0(Î)K)2AOA@A.t&8''*3 RYbGg!UEI231800 0000Ghr8yX`O! ^#V J ! !?I6e*B} Yud @"tV#~_)))U\!$^#Vdiy!#dddbddJdIdd}J~JJJ> ͓ #~2##ú0m#E!~=rw"{}2f"y"}""`"r\)~# ¯9ɯ2 *` ^#VO ""#~#V#^#2o"*: 2 o"*: Oͯú:9**:Oͯ**: Oͯr##iV#^"V#^~2#>͵*|s|wڕ:ʎ Û^#VÛ##^#Vú#F#~pxT]´##^#V?Ď)ú*y^#VV#^#zͯ> ü#~#?=^#V#"^#V#"}ú##^#V#2>i0p#p#:>d(1dp# ,:#wx/+wú~#~”#^#V#N#F#l#~_l##V#^q#p#ººw#wú2q#~2v#ú~†##~ʺ.ý:ú"W~2#~#^#Vú#V#^#F#Nxz_~º#~º+ú ^#V_~º#~º J##V#^^#VzH>͓ ##~*WĎ)ú#~#2!:c6B#~!O ^#V>  y *o#^#V~#W^#3"túz: >2  o: GxG{6#w# !A ; ͭ !| ú;!" ! ~ 1 z_zW# ( {2 Enter switch settings (blank=OFF, non-blank=ON) : 12345678H 92j!  :j=O!/  *r *t*` N#fir#s! úhz ~ #D _! ^#VD> D> Dkm** RUN-TIME ERR:REDUNDANT OPEN DATA UNAVAILABLESUBSCRIPT FAULT INPUT/OUTPUT NON-NUMERIC DATAPERFORM OVERLAP CALL PARAMETERS ILLEGAL READ ILLEGAL WRITE ILLEGAL REWRITE REWRITE; NO READREDUNDANT CLOSE OBJ. CODE ERROR FEATURE UNIMPL. GO TO (NOT SET)FILE LOCKED READ BEYOND EOF DELETE; NO READ ILLEGAL DELETE ILLEGAL START NO CRT DRIVER SEG LOAD ERR ILLEGAL RELEASE ILLEGAL RETURN NEED MORE MEMORYSORT ERROR NO I/O BUFFERS ~W#^"#V#^#"~2~?W#^#"*`& ^#V*)"~2V#^#zW"V#^#"o"*V#^zzW{_"~#"*j ڽ Ì :ʉ >+2͍:-Œ Ì V#^*+|ڽ * Jڽ |ڽ *":= 2* >͓ **r#sú#~#2i"V#^#{<2>͵">2b:+ *DM* ~#  A$ Z $ x !2b!: :8!F O ^#V T ` z **~h *~#"+ʷ -ʷ ʷ $ **+~Ï *~#"*+"0$ : A$ S {ʷ }ʷ $ *DM*x!~# 0$ :$ ÿ }<G*~#O $ y $ $ ! !!$ ~#2~#"V#^#"i"i"V#^>͵"~2#*|l:l*V*DM*l!*DM**I:b=!"*|!*:š*DM l!~2W#^#"i"i"!"*|2 ~#W^#"~#2W^#*|" : *"*":=**"*Vnú:O nZúZ nú*DM**ͯ"*DM*Ͳ"ɯ22~2V#^#{2)))z2ʳ®>2ó>2:>2>2i":i"V#^#":O:O! ^#V''*V#^*r#sú:O* "*V#^z+2-M":_*:w*|r! 8J"{0*+"w:=ʺ2_>+2:ʤ:O* ~2͍:-> ͓ ##V#^#{2>͵zW"V#^#"o":!"*)>V#^͵"~2#:2V:b=,*+"|>2b!V:b=NJV:bNP>2b!*V#^#"znSyloyI*DM*F]@1"" zel"&!FU@)"* dd#'FI@!"rjg)Fl1" $gH)G@1"r͓ :x< 2x=O! w#w#w#:e~##X##B#~#Bx=2xV#^#z‹{҈zW{_V#^zO*` N#FxʤzW >͓ *`~#µ*`w#*`s#r*`##s#r|/g}/o#z{*}"$)#+)*`^#Vɯ2x22w<2:OG:b<yB##úy6^#Vú>2bxV# Og>h2b>2bxw~# q_ d'!"*~#"{} >͓ >0>0!6-G:Ox! ^#V*G|"!5”0:>2b:=DD=2~#GOxG!d JkO k ~G! JkOx k j~##~#^#W#~2#"~#^#W"i"i":=2*V#N#"`i"zB2/404*xyDM**ͯ"**DM* Ͳ"!"æ**ͯ""**"æ *Ͳ"æ~2=2#~#2&o)V#^:jV#^"i*:=ʃÏDMV#^+ r#s:=r2nͦ2222222222<22! ^#Vl2\E\: <2:2> 2<2!4!4!4 >*2:?:2:-R> 2!5:-> 2:::ʆ>*È> 2::2:ʬ:²:2:> 2!4:::2:> 2!4-!5z͇Rú!5(*~#~#":2!v:0Y)O:q:,S ._ 9gRq:Ow::@::::!ʬ:  !N*Ͳú!N*~0>*w# ú!5*~#"212G:x:x0> 2:2x:O<2 * :wy; ;:@:: >*2:=e:z:y:-:=:z:==O* :w:=ʖ:=Ù:=O* :vwV#^#C))|2)|2x2~:/<2~#W^#"i"i"*~22##~2W#^#"K))):|/<2y2!3:!ʦ::!G:2:G:2:2:G:2ͭ*!"!!"o:b22bú:b2£:2b;:=:2O* ~->+2XVLx0 eA@nVm*` ^#V"o"#~#^#V#"]\2i*s#r#":=(*o:^#V#^#V#MD[N#Fú2c#~?2#V#^#"i":ʺ=2V#^#"i"#~#29:9~=29V#^#"i"*|DM*|}**I:b=ʡ*` ^#V"V#^z  *#>2cá*r#s**~#"*+|ʡ"ü#~#F2b~G:.2.V#^#C))):/2/xG:727^#V#"2^#V#"("0"8"@"F#~#&o))))):*2*:+2+):B2B:C2CV#^#V#^"" ͭ!".;! 5!,.*!:.;1+Pp?P P ?v{ۈ~P,NCfPw dʿLJyg[ʼ V#~2#i"ͽm#"0K)**0(>Ó :OJiDMq#p#F#N#q#p# cʸ+!J:-O~#fo"H##N#F#*Hxy{_zWͯ ɷbOcʸ+"Hi*HF+N}o|gͯ+"H BK)| 2l 3#%%2s#~2r~0O#&4&@&&~w~w#~+($v####~#H#is#r;&'%2svh~#v###~Owã$#:pʆ6+6+V+^!rN*` s#r:s£$!~#ʺ ###©ú+s#r#s#rú#+~=@##&4&~?Gw_ #~+ ;&: '%  ã$ ú###~w!##^#V@ #+ H w+w+w+w%&z  {0ʠ &!$%&:p~ zW o*&##%&:p›  súú#~2vN#&4&&y &!~&!ͯ% ;&% 0!:v=!#### &ú:v#### !##ú:vʣ$ &ã$~@6!4%!:pM!"%&++/&;&%2sq%:sm!~w !:v !w4!~2xG#~2y*#|ʫ!+:y2y!"x2t#"~&"|4&?G!x~ʚ"~h"!####:tʺ &úúx "0 &#~ʵ#+~w#N##~H"y$1"%&++/&T&;&%"q%!ͯ%T&;&%!:t!"#x0 &##~+++Š"~&wÍ"ͯ%T& ;&W"#x0&##~+++¼"~&wÿ"ͯ%;&%S#:tc#x#H#=H#:tʣ$ &ã$#~2t~#< #=2u#&4&&~=&ͯ%"|:uG;&%2sS#:tc### &ú##:t_###ú##*|ã$>2ͭ!~#V##ʛ#_+~#~!ú# {#;##"zúN&oG*`^#V2$y$:y*|+F $2$# $~+++C$G:y怰2y>w:y%E:$!:t!!~C$!B$%E !f$f$f$f$2ͭ!úþ%շ%%&" /&`2>2>22͗%!ú%:pF%& &|!/&x:xÓ &#~+p2p^#V#V#^#s#r#r#s####~!:pI&## &zP*~##%& /&2'W:w›&z!"l&"r&*T^#V*Vs#r&¼&2'*r&|>&*n&"h&"j&2'2'2'2w&*R~#fo#("n&K)("p&2''*R~#fo#("h&K)("j&2'*R~#fo#("h&K)("p&|g}o("j&##"n&'7?=h'*l&*n&['++"(DM "l&*n&*p&"r&'DM*r&|ʙ'*l&|€'*h&"l& '*n&?'*l&"l&'*l&|§'*h&"l& '*n&|*j&ʺ'*p&'*l&"l&!='"r&'"l&:w('*p&*n& (:w(*j&*h& (>Ó }o}o|gK)<(!\̈́E)\<)!(P)bx(n(otc(2h2|!LPSF&L\2|:L!3:L3*L*L\ѷ\!>3o 2=2> 2]**CHAIN: Out of Memory $) 1) )**CHAIN: Bad file name $**CHAIN: File not found $*+x~# P)...... Vu^@EV,x,:d0123456789ABCDEF*r"|)!\)ʣ)w# œ)):f)*|)*{ýx2f_!~)Nx_!~)VY"e)2[)!g)w# )!{)w[)M**yX* W _(*X*I* w#z>*y,*"*[)ý=>**e)"k>Ó [)~#W~#_2>͵{2~2W#^~#2>͵{2i"i":v+*:O *:O ~ *>+*>->2:Gx2:*<2>0:=2'+*O+>+G:+=2*x:=2'+O+>+G+O+L+0'+>2b2'+>0:=2>+ú:t+=2:G/2x~m++0u+7>+2:Gx2: +*~#"-³+2ó+³+*:O ~Õ+*:O +:,*:+#:O +":+<2>0w+:=2 ,+͙,ͪ,G: ,=2+:",p"+:=2+:<,͙,ͪ,0",>2b",:O!I, ^#VW,^,i,o,*#b,*+:wú*r,*~0},>{,w:-º~{“,>}Õ, wú:£,>0=2{²,>0}¼,>0,0,:0,: :,>͓ G>-2x:O* "> w2:O -O- -͙,ͪ, - -O-: -::-͙,ͪ,0 ->2b -:-L- *~wúG:2j-xG~w+k-p:=2/9D4h;?RU?9 '0AI@`C*hU@@`C*hч^b3 ʦ`n !:`C*4lh?9zܬ|Qpʂ8Y[5z{2s-.2b"t-*t-~2y-##`5"z-`5"|-!-w#8.*t-[5i5"v-]"-j"-zu.*z-*-~-q.!-4w5:-2-z .:y-ʠ.*|-*-~-.!-4w5z/*t-[5i5"-2-.!-F6!-~w.#6!v-~.w/!-F6!-~w.#6!w-~.w!-"-> 2-2-*z-"~-*-"-:v-2x-./*y-&^#VB/:/:/]412:-2-!-~#¸/!v-~#Gʕ/ 5O4!-6j/!-4 u/ !-4!-^/s*-wK/!-_:-wK/:-_0!-^/s*-6_0!-w_0!v-~#0 5G4!-N6!-q/ !-4/!-4!-^/5*-wø/G:-0> Ox2-!-wø/:-_0:-2-:y-1 !-6*- :-G +y_0^:-L0{ /<[050 / 2-:- 1!-:-2-w:-/1:->+1>-G:-> &1x*-*~-w:-B185B12-!x-5l185!-6 Z14 *-+"-*~-0wB1!-5~!-1_*-~!-6!-w:-ʗ1>2b*t-~ʷ1~ʷ1:y-ʷ1"t-:s-2s-.:-1<1:->12b×1 !-w#1:-!-2-:w-2-:-2-:-2->!2-:v-2!-5~2-2-42-2:-2w-:-2-:-2-:w-ʢ2 5G:-̓5_:-'G!-5g2^*-~'q2oÂ2G!-wxox2-:-2_}*-w?2:-!-w?2:-2:-=2_*-:-w2!-422-_0 !-"-"-:-!-2-{2-2-:- 34!-5^*-w2!-s2!-5^*-w> 2-2-2v-:-F3 5!-5^*-w%3!-s%3:- Z3!-4> 2-_0!-5^*-w> 2w-G!v-> 2-2-:-!42-2-:-3:w-G:-2-> 2-3E474!-63 4wá3:-‹3!-4Ë3!-^4*-:-w:w-G:-2-> 2-2-4E474!-6S4w3!-4|3:-2-> 2-!-5_0^*-~*-+"-w4*-+"-*-~*-+"-*-N !-4:v-ʊ44o4!-4*--4"-!-w]4!-w]4*|-"~-*-"-:-2-:w-2x-*t-~ʰ4>2-~0~0##~0>2-~0!-40:-4=2-:v-=2v-*-+"-*z-~05 >Ó :-5=2-:w-=2w-*-+"-*|-~05 5:-E5=2-:-=2-O!->G*- ~V#^#[5o{g)))zo +>Ó =5ʣ55ʧ5=O!5 ~ì5xì5<ì5 !$' $(26 %05@E$06BHT!(5BIVc$2@HVdr'6ETcre T`r@]b${s &g+-+˘INVALID NUMERIC INPUT -- PLEASE RETYPE2g25!00"h.:qa6,y2 6*L"6~w626 g o" o g>o|>ʖ6>o>g|>ʥ6g} >ʵ6>g"5`ii"5:5ʏAF#N#"!6!5ͨ<"6:525@6<6:525*":5@ 7 y25*5}@H7!E?"6*6w*6**%A?7|?7+"6÷7*6{U7#{\7#"6{*LLn7+"6{~7!:?Á7!-?"6{“7*6#å7²7*6+:5¥7+"6:6*6w÷7*6w*5 z7.{@70y260z@7 y2 6K=*6:57#"6>?*5}| 8g25:58825}L8>*6? :5F82g*5#N>-F8 >?}H@g8>*6?: 6O>?|8|8>*6?: 6*6*6:6 ”8> 2 6:6O*d%A§8: 6O>?*d%Aھ8Ô82 6d=*5#"5]9*6>?*5*d*6%A8: 6O8N#>?*d*6%A8:5@(9*6#"6*5"5*6#"6*5i9*5#*5+#%AJ9~0O: 6F9w1919*6+"6"5*5#`9*5:5i9+"5>?:5„9*d"6>2 6!5~•9#~ʧ9>#͟?: 6O>?*5#"5>e͟?ó9*5#"5*d"6:5j:>͟͟?*5w#"5*5%Aҳ9: 64:: 6O>?>e͟?: 6O>?>e͟?*5*5%A;>͟?*d%Aʗ;: 6O>?À;*5*d%A; O>?Û;*6>?*d*6%A;: 6O>?ü;:5{<*5*6*6*5%A{<DM*5%A < ;PY: 6%A{< <:5@^<*5*5%A^<:5W<*5#~+G<> *6>?> ?"5@0*5*5%A{<+Ah?>?*!6ú*6!5w##w~°<~¸<~͵:5=O},=!yOC=4=yO*%AC=yOy25"*5*+"5*"5*5*5: 6G+#p%Ap=:5ʃ=#6+:5—=:5257+ʡ=-=*5#ʛ *d*6>?O>?>?Û<>: 6›<*5N#"5>?*d*6%A: 6O¿>*6%Aʿ>=%>: 6ʛ<:5s>%>:5s>*5*5%Aқ<+"5>?*6*d%A7>:5ʿ>*5*5%As>: 6w:6O>?>?ô>*5*5%Aڛ<*5%Aҏ>"5DM+%Aڡ>~ +Ô>#: 6w#@>?"5*d"6>2 6*d*6%A>>>#͟͟25z(?'W*6: 6z:?r?+AE? r?ͺ?P? r?*L+#~p?T?6 *LV8r?"5:5ʴ?> ʰ?2g:5@ʰ?:5ʰ?>ʨ?> ¬?>0ʬ?|25.8&"5?c*N?#? #~??y ?:ox0g"h*P~Ⱥ?# ? @ @O@y/@:5y@>*/@/@ -@/@>?**6*d#I@%AI@"6"d@d@*d*d+"d@u@"d@A @„@*d@A@*5**%A@*5*6:5LL@*6%A@#"d*6%A@"6@A *6*d%A>@>2 6*6*5*5>?*5*5%AO>?A|}0:?M\*JVOA +*J^rA biBS>͵!xGeA>͵ ^AbkDM%AڋA< ~AWM##"!6>?:525@ʮA<>0öA*"> 2 6K=d=:5@7B*5*5fD Bw%AA#A:5ABÏ?:5@fC|WC2 6:525:5fCkCi:5@zC"!6âCF#N#"!6:5ʔC! 6ͨ<>?:5ʢC*d:5®CD*:5CN#>?+%ACDûCCP>%EPCPE᯸>%E:5D2 6Ô<ʏ<: 6>2 6< >? >?*d@A$.*H~HDg2A"d:5@ʏ<25fD B4D:D=D2DzD> *D~#"D!D"D++  :DrDDP_$E EG xXO> +7E.Eyŷ`ExSE^#DE bEwE =iE ͽE:£EE@ڢE>ùEw#. F ʸE  F$Ͳ#  Ͳ F!E E# E7?*,.:;<=>?[]a{EFw# ȸ F2EͽE:5FE@w#. F :EKFOͯ'I ~w͂F'I ~w#~w͂FSI<ʙFÜF>'IF ~w#~wͻFSISISI<GG>!Ͳ6I>2EG0G=H6I2ESGOG!͕G:EG_IuI}GSI{G͹I}G>ISI!:EºGSI´G͹IöG>?IG>GSI!6I>2EGG!=H:E)H_I>2EuI%HSI#H͹I%H>ISI":EbHSI\H͹I^H>?IpH>zHSI"'IHSI 6͂FH~HF 4! HHDM͂FʞHo& ڹH+|g}oDMFSI͂FHF>$IF#F!^#V#~I|g}oDM 2E7?yOxG7?!4PI4PI7y2EyOx7?2E:E ʫIF:Ew͂FʫI:E I>öIͻFʫI>öI:E w ~II͂FI:EI>IͻFI>!q#p#w##V#^#V#^"ú27J|2J|2JDM!>)).J 2J=#J:7JB|G||IJ|/G}/O!>dJ cJ7>{_zW}o|g=ZJ|g}oP G8̘:K8OG:G8U ͝ ,¿:H8ʿ2H8>U :K8O:G8|xG:K8O<_y{*u7YG<!) _~x͘ůG|2D8ͪy2K8P/":K8O) 2K8:K8G2C8*6+N{*I82G8z̘̘l|=lyWx=zʡzʡ<ʡʡ Ę>GG<"P8z½  "w7"L8y2K8  2O8 :O8*P8!C o>g~#fo:K8O*P8Ę y"u7  { !![!!" :"E"Q"^"d"m""" """"""{!zW{_{!zW{_{!zW{_:K8Ī*L8 |/W}/_*L8:K8ĆĪ|/W}/_:K8O{!z ) {!#+}zW{_ *L8:K8y y!:K8!!yO2>8͋! :K8y=!2>8=!yO:K8T!yOĪ" {_zW{!DM!>=w!))e!e! :K8Ī Ī*L8:K8 ʣ!y Ī:K8O*w7"u7*L8{!z̘zB"|G|!|"!"|/G}/O!>! !7>{_zW}o|g=!|g}oɯO_yW{!z,"|,"|ͪ!">OFGÿ|"6 X"|"6 ?X"|"6 W_ |"q"|"6 X"|"6 7X"?X":K8Ī"*L8> O2K8*L8\W> O2K8*L8]W{!}_{!}_{!}_{!}_{!}o{_{!}?_*u7*w76 Ī~("x ʶ2}7xGF#:h7ªF#*q7*u76 ª:h7G*q7"u7:6ă"i7 :}7m#:6ĩ:S8ȯ2S8 ʤ#3>G2h7<2S82}7*k7J##3>2S8G2h7*m7J##3>2S8G2h7*o7J#~(:h7k7#o& ^#V*i76 s#r2}7*q7###:6$:}7$*k7 ͩ2}73{ "*$'¦$G *6++J$ Q$=$͝ =$ { ,g$;g$g$ "6¦$yڦ$ G É$ͽ ȸ$ ʠ$͝ ,$ͽ$:@8ͽy,$"xĪ3{ "$'tO G $xͽ$xͽ ͝ ,$3%#*i7:h7GJ#ͼ$:6:7U<273#"y,'%:6=b%G26:6=P%26:6<26͏%26 z:6z:6z!6ʋ%= 4=26<26 5Á%:6_>W!67~͏%6Ҭ%w!64:626!64&zà%&z/ʠ%à%:6 =à%:6 à%7:6& & &à%?à%:6%!4 "6à%7{ U&T] L&#*6zt:7 y&6 "6 &&& Ot7ͨ #~@w ̰~Čwy,}&7Oö&8;{ *6+~# &&ʽ&ý&#"6{ (t 'tOͱ& )t >26 26 26 >26 >26 26 >26 >26 26 >26%26zt:7 {=tt<26gk6%zt:6{ʏ' t:7 '{26ar t:~7ک'ͤ>!y7w:6"6ĩ,ʕ':6˜{ *6+͇F'KGö=26*6~#"6!'{ (t 't t't )t :6:~7"(>7!T8G~Œw#.(p~({ /t v(/t ͨ #~Œ~$w#+"q7>2h7!"i7F#>2~7:z7Þ ©(ͨ ͸(#~d¯(~w,ʇ(tã(w͌â(~8~w#w#w#w"6(x†x 26*6"6̈́ x6":D8ä"6(x†*6͸(#~Œ~@ w#s#r#*u7s#r6C:8*:6+!64~=)!T8~W)!7~W)!9#T8~# y) y)y) y) ])!N8p"6ͩ#!LG"9z ڵ)"6~w#~@*~ʎ)#^#VͩÎ)*o7 ͩ *m7{ĩc*6"a!"6"6r!S+!i8>a5\!H+!8>a5\+*6|)*:9<2R82R8/*!*/+!*/+*6|d*>,͌D:9<>,C:9<2R82R8!*/++r*̓ͩ*E8|ʊ**z*ͩ:t9ʡ*>͌DC1DNo Fatal error(s) Warning(s):h7GͩÎ),+!*/+++REPT/IRP/IRPC/MACROUnterminated ,+!<+/++> \> \:9<> C> C!*:9<}?ConditionalSymbols: Macros: :8!" 9"9*8”+!9!* 9̓3zW{_6 >ڔ+<282828"8* 96  ~<=+:8<28:8:8=28<#~+:8+:8+7"8:8=28͝ &9,*6~ 7, 7, E,"67,>&28æ,&9,:8>,>&\428*8~s,~7h,O+h, X,x+~h,J,:8*8~ʤ,~7™,O+™, ‹,x+~ҙ,},<*6 E,,9,+,&+, "6͝ , , ,9,,d º,,d ,9,,͝ ;--49, ʿ4͝ -44 - -5"9ʿ4 ʿ4> \4ÿ4:8N-*94-*8~ʇ-G+r-~/_c-~ʕ-=G+~ʕ-̀.y-+<=ʒ-+Ê-~>.̀.̀.?*9O #*96 һ-"9+DJEJ -~7X.,b. b. b.;b.! u.w+͝ -Ow+͝ A. z.0.w+͝ 0.-T.w+).).g.'.'.{=*6+~g.ͼg.!a76 ғ.#6 +&̦,:ʦ,! ʵ.æ,%:7 ."8]+.> 3. : Ͱ+.6\4 .ɯ\4Ϳ4!* 9*8!!/o/6 :86/xK/ͷ3*8+28*8͓4~/6ͩ4̀.*+!#/††ʰʿڟ zʟ •ͻz*#"zͻ:ʲ>2âxg*}|2}2! ~#  2*+"|*! ":Gw#͊ͫ:7>&ͣGҕOͣx=y•@ԫx5=<ͣ<y.oͣ.Kͫ! xfͣfy=vͣ=v^#>=w# > w#’ww~# ʣ~# ʮ[0A:îO /<<:=2*~#">2*7*w#":=2I!">2/§ /r!!ø2l!\!ø!nò!%!ß!@!õ> ~#> _Command line error. Usage: SEQCVT OUTFILE=INFILECould not open input file.Could not open output file.Invalid device: Output file write error.Usage: SEQCVT OUTFILE=INFILECould not open input file.Could not open output file.Invalid device: Output file write :=2*~#">2*7*w#":=2I!">2/§ /r!!ø2l!\!ø!nò!%!ß!@!õ> ~#> _Command line IDENTIFICATION DIVISION. PROGRAM-ID. SQUAROOT. * REMARKS. CALCULATIONS BY NEWTON-RAPHSON METHOD. ENVIRONMENT DIVISION. CONFIGURATION SECTION. DATA DIVISION. WORKING-STORAGE SECTION. 77 NUM, PIC 9(7)V99. 01 NUMBERS. 02 Z PIC 99999V9(13). 02 A PIC 9(7)V9(11). 02 OLD-ROOT PIC S9(10)V9(7). 02 ROOT PIC S9(10)V9(7). 02 TEN-THOU PIC S99999 VALUE 10000. 02 COUNTERX PIC S999. 01 FLAG PIC X. 01 RESULTS. 8 FILLER PIC X(15) VALUE 'SQUARE ROOT OF '. 8 A-OUT PIC Z(7).9(9). 8 FILLER PIC XXXX VALUE ' IS '. 8 ANSWER PIC Z(7).9(9). 8 FILLER PIC X(15) VALUE ' # ITERATIONS ='. 8 IT PIC 99. 8 FILLER PIC X VALUE '.'. / PROCEDURE DIVISION. P. DISPLAY 'KEY IN "A" AS 9(7)V9(11):'. ACCEPT A. R. IF A IS NOT NUMERIC DISPLAY 'ILLEGAL DATA' GO TO P. IF A NOT GREATER THAN 0 DISPLAY '0 IS EOJ.' DISPLAY SPACE STOP RUN. S. IF A LESS THAN 1 COMPUTE A = A * TEN-THOU MOVE '*' TO FLAG ELSE MOVE SPACE TO FLAG. T. DIVIDE A BY 2 GIVING OLD-ROOT MOVE ZERO TO COUNTERX. CALCULATION. COMPUTE ROOT = (OLD-ROOT + A / OLD-ROOT) / 2 * COMPUTE Z = 1 - ROOT * ROOT / A COMPUTE Z = ROOT * ROOT COMPUTE Z = Z / A SUBTRACT Z FROM 1 GIVING Z * EXHIBIT NAMED ROOT OLD-ROOT Z ADD 1 TO COUNTERX. IF COUNTERX > 20 DISPLAY 'CONVERGENCE NOT ATTAINED WITHIN - ' 20 TERMS ***' GO TO DO-OUTPUT. IF Z < .00001 GO TO DO-OUTPUT. MOVE ROOT TO OLD-ROOT GO TO CALCULATION. DO-OUTPUT. IF FLAG NOT = SPACE COMPUTE A = A / TEN-THOU COMPUTE ROOT = ROOT / 100. MOVE A TO A-OUT MOVE COUNTERX TO IT MOVE ROOT TO ANSWER DISPLAY RESULTS GO TO P. ERGENCE NOT ATTAINED WITHIN - ' 20 TERMS ***' GO TO DO-OUTPUT. IF Z < .00001 GO TO DO-OUTPUT. MOVE ROOT TO OLD-ROOT GO TO CALCULATION. DO-OUTPUT. IF FLAG NOT = SPACE COMPUTE A = A / program CommandLine; { COMMANDLINE PARAMETERS DEMONSTRATION PROGRAM Version 1.00A This program gets parameters from the command line: INSTRUCTIONS 1. Load the TURBO compiler and compile to a .COM file 2. Quit the TURBO compiler and execute the program with parameters. Try: cmdlin abc def cmdlin Greetings from Frank Borland! cmdlin NOTE: For information about these functions, please refer to your TURBO 3.0 Reference Manual. } var i : integer; begin for i := 1 to ParamCount do writeln(ParamSTR(i)); end. 0 Reference Manual. } var i : integer; begin for i := 1 to ParamCount do writeln(ParamSTR(i)); end. nd execute the program with parameters. Try: cmdlin abc def cmdlin Greetings from Frank Borland! cmdlin NOTE: For information about these functions, please refer to your TURBO 3program SourceLister; { SOURCE LISTER DEMONSTRATION PROGRAM Version 1.00A This is a simple program to list your TURBO PASCAL source programs. PSEUDO CODE 1. Find Pascal source file to be listed 2. Initialize program variables 3. Open main source file 4. Process the file a. Read a character into line buffer until linebuffer full or eoln; b. Search line buffer for include file. c. If line contains include file command: Then process include file and extract command from line buffer Else print out the line buffer. d. Repeat step 4.a thru 4.c until eof(main file); INSTRUCTIONS 1. Compile and run the program using the TURBO.COM compiler. 2. Two ways to print a file a. Run from TURBO in memory: 1. Type "R" and enter a file name to print when prompted. 2. Specify a run-time parameter from the compiler options menu. b. Run the program from DOS 1. Type LISTER and enter a file name to print when prompted. 2. Specify a commandline parameter: A> LISTER filename } Const PageWidth = 80; PrintLength = 55; PathLength = 65; FormFeed = #12; VerticalTabLength = 3; Type WorkString = String[126]; FileName = String[PathLength]; Var CurRow : integer; MainFileName: FileName; MainFile: text; search1, search2, search3, search4: string[5]; Procedure Initialize; begin CurRow := 0; clrscr; search1 := '{$'+'I'; { So LISTER can list itself! } search2 := '{$'+'i'; search3 := '(*$'+'I'; search4 := '(*$'+'i'; end {initialize}; Function Open(var fp:text; name: Filename): boolean; begin Assign(fp,Name); {$I-} reset(fp); {$I+} If IOresult <> 0 then begin Open := False; close(fp); end else Open := True; end { Open }; Procedure OpenMain; begin If ParamCount = 0 then begin Write('Enter filename: '); readln(MainFileName); end else begin MainFileName := ParamStr(1); end; If Not Open(MainFile,MainFileName) Then begin Writeln('ERROR -- File not found: ',MainFileName); Halt; end; end {Open Main}; Procedure VerticalTab; var i: integer; begin for i := 1 to VerticalTabLength do writeln(lst); end {vertical tab}; Procedure ProcessLine(PrintStr: WorkString); begin CurRow := Succ(CurRow); if length(PrintStr) > PageWidth then CurRow := Succ(CurRow); if CurRow > PrintLength Then begin Write(lst,FormFeed); VerticalTab; CurRow := 1; end; Writeln(lst,PrintStr); end {Process line}; Procedure ProcessFile; var LineBuffer: WorkString; Function IncludeIn(VAR CurStr: WorkString): Boolean; Var ChkChar: char; column: integer; begin ChkChar := '-'; column := pos(search1,CurStr); if column <> 0 then chkchar := CurStr[column+3] else begin column := Pos(search3,CurStr); if column <> 0 then chkchar := CurStr[column+4] else begin column := Pos(search2,CurStr); if column <> 0 then chkchar := CurStr[column+3] else begin column := Pos(search4,CurStr); if column <> 0 then chkchar := CurStr[column+4] end; end; end; if ChkChar in ['+','-'] then IncludeIn := False Else IncludeIn := True; end { IncludeIn }; Procedure ProcessIncludeFile(VAR IncStr: WorkString); var NameStart, NameEnd: integer; IncludeFile: text; IncludeFileName: Filename; Function Parse(IncStr: WorkString): WorkString; begin NameStart := pos('$I',IncStr)+2; while IncStr[NameStart] = ' ' do NameStart := Succ(NameStart); NameEnd := NameStart; while (not (IncStr[NameEnd] in [' ','}','*'])) AND ((NameEnd - NameStart) <= PathLength) do NameEnd := Succ(NameEnd); NameEnd := Pred(NameEnd); Parse := copy(IncStr,NameStart,(NameEnd-NameStart+1)); end {Parse}; begin {Process include file} IncludeFileName := Parse(IncStr); If not Open(IncludeFile,IncludeFileName) then begin LineBuffer := 'ERROR -- Include file not found: ' + IncludeFileName; ProcessLine(LineBuffer); end Else begin while not eof(IncludeFile) do begin Readln(IncludeFile,LineBuffer); ProcessLine(LineBuffer); end; close(IncludeFile); end; end {Process include file}; begin {Process File} VerticalTab; Writeln('Printing . . . '); while not eof(mainfile) do begin Readln(MainFile,LineBuffer); if IncludeIn(LineBuffer) then ProcessIncludeFile(LineBuffer) else ProcessLine(LineBuffer); end; close(MainFile); write(lst,FormFeed); end {Process File}; BEGIN Initialize; OpenMain; ProcessFile; END. e}; BEGIN Initialize; OpenMain; ProcessFile; END.  INTRODUCTION MicroCalc is a tiny spread sheet program a la VisiCalc. It is provided with the TURBO-Pascal system as an example program. Since MicroCalc is only a demonstation program it has its limita- tions (which you may have fun eliminating): * You cannot copy formulas from one cell to others. * You cannot insert and delete lines or columns. In spite of its limitations MicroCalc does provide some interest- ing features among which are: * 11 digits floating point reals (Thanks to TURBO Pascal!) * Full set of mathematical functions (SIN,COS,LN,EXP etc.) * Built in line editor for text and formula editing. * Text can be entered across cells. * Once entered a formula is protected from accidental erasure. .PA In addition to this MicroCalc offers all the usual features of a spread sheet program: * Load a spread sheet from the disk. * Save a spread sheet on the disk. * Automatic recalculation after each entry. (May be disabled). * Print the spread sheet on the printer. * Clear the current spread sheet. The spread sheet is an electronic piece of paper on which you can enter text, numbers and formulas and have MicroCalc do calcula- tions automatically. The next page shows the electronic spread sheet. .PA ---------------------------------------------------------------- A B C D .... 1 22.00 2 1.00 3 2.00 4 3.00 5 28.00 . . A 5 Formula: (A1+A2+A3+A4+A5) ----------------------------------------------------------------- In the example the next last line shows that the active cell is cell A5 and that A5 contains a formula: (A1+A2+A3+A4) which means that the numbers in A1,A2,A3 and A4 should be added and placed in A5. The formula can be abbreviated to: (A1>A4) meaning: add all cells from A1 to A4. .PA You move the cursor around just like you do in the TURBO editor: (Up) Ctrl-E (Left) Ctrl-S Ctrl-G (Right) Ctrl-X (Down) A cell may contain a number, a formula or some text. The type of of the cell and its coordinates are shown in the bottom left corner of the screen: A 5 Formula: (Means that the current cell is A5 and that it contains a formula) A 1 Text (Cell A1 contains text) A 2 Numeric (Cell A2 contains a number and no cell references) .PA Summary of MicroCalc Cells are denoted A1 through G21 giving a total of 147 cells. Summary of standard functions and operators: SIN, COS, ARCT, ABS, FACT, EXP, LN, +,-,/,* Futhermore the operator '>' can be used to denote a range of cells to add. Entering data To enter data in any field move the cursor to the cell and enter the data. MicroCalc automatically determines if the field is numeric or a a text field. When moving between fields: ^S,^D,^E,^X move left right up and down. When editing a field ^S,^D moves left and right. ^A,^F moves to beginning/end of line. DEL,^G deletes left or right character. ESC makes it possible to regret changes and to edit an existing cell. .PA Summary of commands / will restore the screen Q will Quit MicroCalc L will Load a spread sheet from the disk. S will Save a spread sheet on the disk. R will Recalculate P will Print the spread sheet. F makes it possible to change the output format for numbers. A switches Autocalc ON and OFF Note: to use scientific notation use the the F command and enter minus one -1 for the number of decimals. .PA EXAMPLES The following are examples of valid cell formulas: A1+(B2-C7) subtract cell C7 from B2 and add the result to cell A1 (A1>A23) the sum of cells: A1,A2,A3..A23 (A1>B5) the sum of cells: A1..A5 and B1..B5 The formulas may be as complicated as you want:  SIN(A1)*COS(A2)/((1.2*A8)+LN(FACT(A8)+8.9E-3))+(C1>C5) To edit an existing formula or text simply move to the cell and press ESC, make your changes and press . If you make a mistake you may press ESC again, the old value of the cell will then be restored. To try MicroCalc now you may use the /L command and load the file: CALCDEMO.  try MicroCalc now you may use the /L command and load the file: CALCDEMO. A8)+LN(FACT(A8)+8.9E-3))+(C1>C5) To edit an existing formula or text simply move to the cell and press ESC, make your changes and press . If you make a mistake you may press ESC again, the old value of the cell will then be restored. To try MicroCalc now you may use the /L command and load the file: CALCDEMO. program MicroCalc; { MICROCALC DEMONSTRATION PROGRAM Version 1.00A This program is Copyrighted by Borland International, Inc. 1983, 1984, 1985 and is hereby donated to the public domain for non-commercial use only. Dot commands are for the program lister: LISTT.PAS (available with our TURBO TUTOR): .PA, .CP20, etc... INSTRUCTIONS 1. Compile this program using the TURBO.COM compiler. a. Use the O command from the main menu to select Options. b. Select the C option to generate a .COM file. c. Select the Q option to Quit the Options menu. d. Select the M option to specify the Main file e. Type "MC" and hit f. Type C to compile the program to disk g. Type R to run the program 2. Exit the program by typing: /Q } {$R-,U-,V-,X-,A+,C-} const FXMax: Char = 'G'; { Maximum number of columns } FYMax = 21; { Maximum number of lines } type Anystring = string[255]; ScreenIndex = 'A'..'G'; Attributes = (Constant,Formula,Txt,OverWritten,Locked,Calculated); { The spreadsheet is made out of Cells every Cell is defined as } { the following record: } CellRec = record CellStatus: set of Attributes; { Status of cell (see type def.) } Contents: String[70]; { Contains a formula or some text } Value: Real; { Last calculated cell value } DEC,FW: 0..20; { Decimals and Cell Whith } end; Cells = array[ScreenIndex,1..FYMax] of CellRec; const XPOS: array[ScreenIndex] of integer = (3,14,25,36,47,58,68); var Screen: Cells; { Definition of the spread sheet } FX: ScreenIndex; { Culumn of current cell } FY: Integer; { Line of current cell } Ch: Char; { Last read character } MCFile: file of CellRec; { File to store sheets in } AutoCalc: boolean; { Recalculate after each entry? } { The following include files contain procedures used in MicroCalc. } { In the following source code there is a reference after each } { procedure call indicating in which module the procedure is located.} { If you want a printer listing of the following modules then you } { must let the include directives start in column one and then use } { the TLIST program to generate a listing. } {$I MC-MOD00.INC Miscelaneous procedures } {$I MC-MOD01.INC Initialization procedures } {$I MC-MOD02.INC Commands to move between fields } {$I MC-MOD03.INC Commands to Load,Save,Print } {$I MC-MOD04.INC Evaluating an expression in a cell } {$I MC-MOD05.INC Reading a cell definition and Format command} {.PA} {*********************************************************************} {* START OF MAIN PROGRAM PROCEDURES *} {*********************************************************************} { Procedure Commands is activated from the main loop in this program } { when the user type a semicolon. Commands then activates a procedure} { which will execute the command. These procedures are located in the} { above modules. } { For easy reference the source code module number is shown in a } { comment on the right following the procedure call. } procedure Commands; begin GotoXY(1,24); HighVideo; Write('/ restore, Quit, Load, Save, Recalculate, Print, Format, AutoCalc, Help '); Read(Kbd,Ch); Ch:=UpCase(Ch); case Ch of { In module } 'Q': Halt; 'F': Format; { 04 } 'S': Save; { 03 } 'L': Load; { 03 } 'H': Help; { 03 } 'R': Recalculate; { 05 } 'A': Auto; { 00 } '/': Update; { 01 } 'C': Clear; { 01 } 'P': Print; { 03 } end; Grid; { 01 } GotoCell(FX,FY); { 02 } end; { Procedure Hello says hello and activates the help procedure if the } { user presses anything but Return } procedure Wellcome; procedure Center(S: AnyString); var I: integer; begin for I:=1 to (80-Length(S)) div 2 do Write(' '); writeln(S); end; begin { procedure Wellcome } ClrScr; GotoXY(1,9); Center('Welcome to MicroCalc. A Turbo demonstation program'); Center('Copyright 1983 by Borland International Inc. '); Center('Press any key for help or to start'); GotoXY(40,12); Read(Kbd,Ch); if Ch<>^M then Help; end; {.PA} {*********************************************************************} {* THIS IS WHERE THE PROGRAM STARTS EXECUTING *} {*********************************************************************} begin Init; { 01 } Wellcome; ClrScr; Grid; { 01 } GotoCell(FX,FY); repeat Read(Kbd,Ch); case Ch of ^E: MoveUp; { 02 } ^X,^J: MoveDown; { 02 } ^D,^M,^F: MoveRight; { 02 } ^S,^A: MoveLeft; { 02 } '/': Commands; ^[: GetCell(FX,FY); { 04 } else if Ch in [' '..'~'] then GetCell(FX,FY); { 04 } end; until true=false; { (program stops in procedure Commands) } end.  { 02 } ^D,^M,^F: MoveRight; { 02 } ^S,^A: MoveLeft; {.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD00 *} {* PURPOSE: Micellaneous utilities an commands. *} {*******************************************************************} procedure Msg(S: AnyString); begin GotoXY(1,24); ClrEol; Write(S); end; procedure Flash(X: integer; S: AnyString; Blink: boolean); begin HighVideo; GotoXY(X,23); Write(S); if Blink then begin repeat GotoXY(X,23); Blink:=not Blink; if Blink then HighVideo else LowVideo; Write(S); Delay(175); until KeyPressed; end; LowVideo; end; procedure Auto; begin AutoCalc:=not AutoCalc; if AutoCalc then Flash(65,'AutoCalc: ON ',false) else Flash(65,'AutoCalc: OFF',false); end; then Flash(65,'AutoCalc: ON ',false) else Flash(65,'AutoCalc: OFF',false); end; {.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD01 *} {* PURPOSE: Display grid and initialize all cells *} {* in the spread sheet. *} {*******************************************************************} procedure Grid; var I: integer; Count: Char; begin HighVideo; For Count:='A' to FXMax do begin GotoXY(XPos[Count],1); Write(Count); end; GotoXY(1,2); for I:=1 to FYMax do writeln(I:2); LowVideo; if AutoCalc then Flash(65,'AutoCalc: ON' ,false) else Flash(65,'AutoCalc: OFF',false); Flash(33,' Type / for Commands',false); end; procedure Init; var I: ScreenIndex; J: Integer; LastName: string[2]; begin for I:='A' to FXMAX do begin for J:=1 to FYMAX do begin with Screen[I,J] do begin CellStatus:=[Txt]; Contents:=''; Value:=0; DEC:=2; { Default number of decimals } FW:=10; { Default field whith } end; end; end; AutoCalc:=True; FX:='A'; FY:=1; { First field in upper left corner } end; procedure Clear; begin HighVideo; GotoXY(1,24); ClrEol; Write('Clear this worksheet? (Y/N) '); repeat Read(Kbd,Ch) until Upcase(Ch) in ['Y','N']; Write(Upcase(Ch)); if UpCase(Ch)='Y' then begin ClrScr; Init; Grid; end; end; nd; end;  procedure Clear; begin HighVideo; GotoXY(1,24); ClrEol; Write('Clear this worksheet? (Y/N) '); repeat Read(Kbd,Ch) until Upcase(Ch) in ['Y','N']; Write(Upcase(Ch)); if UpCase(Ch)='Y' then begin ClrScr; Init; Grid; {.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD02 *} {* PURPOSE: Display values in cells and move between *} {* cells in the spread sheet. *} {*******************************************************************} procedure FlashType; begin with Screen[FX,FY] do begin GotoXY(1,23); Write(FX,FY:2,' '); if Formula in CellStatus then write('Formula:') else if Constant in CellStatus then Write('Numeric ') else if Txt in CellStatus then Write('Text '); GotoXY(1,24); ClrEol; if Formula in CellStatus then Write(Contents); end; end; { The following procedures move between the Cells on the calc sheet.} { Each Cell has an associated record containing its X,Y coordinates } { and data. See the type definition for "Cell". } procedure GotoCell(GX: ScreenIndex; GY: integer); begin with Screen[GX,GY] do begin HighVideo; GotoXY(XPos[GX],GY+1); Write(' '); GotoXY(XPos[GX],GY+1); if Txt in CellStatus then Write(Contents) else begin if DEC>=0 then Write(Value:FW:DEC) else Write(Value:FW); end; FlashType; GotoXY(XPos[GX],GY+1); end; LowVideo; end; {.CP20} procedure LeaveCell(FX:ScreenIndex;FY: integer); begin with Screen[FX,FY] do begin GotoXY(XPos[FX],FY+1); LowVideo; if Txt in CellStatus then Write(Contents) else begin if DEC>=0 then Write(Value:FW:DEC) else Write(Value:FW); end; end; end; {.CP20} procedure Update; var UFX: ScreenIndex; UFY: integer; begin ClrScr; Grid; for UFX:='A' to FXMax do for UFY:=1 to FYMax do if Screen[UFX,UFY].Contents<>'' then LeaveCell(UFX,UFY); GotoCell(FX,FY); end; {.CP20} procedure MoveDown; var Start: integer; begin LeaveCell(FX,FY); Start:=FY; repeat FY:=FY+1; if FY>FYMax then FY:=1; until (Screen[FX,FY].CellStatus*[OverWritten,Locked]=[]) or (FY=Start); if FY<>Start then GotoCell(FX,FY); end; {.CP20} procedure MoveUp; var Start: integer; begin LeaveCell(FX,FY); Start:=FY; repeat FY:=FY-1; if FY<1 then FY:=FYMax; until (Screen[FX,FY].CellStatus*[OverWritten,Locked]=[]) or (FY=Start); if FY<>Start then GotoCell(FX,FY); end; {.CP20} procedure MoveRight; var Start: ScreenIndex; begin LeaveCell(FX,FY); Start:=FX; repeat FX:=Succ(FX); if FX>FXMax then begin FX:='A'; FY:=FY+1; if FY>FYMax then FY:=1; end; until (Screen[FX,FY].CellStatus*[OverWritten,Locked]=[]) or (FX=Start); if FX<>Start then GotoCell(FX,FY); end; {.CP20} procedure MoveLeft; var Start: ScreenIndex; begin LeaveCell(FX,FY); Start:=FX; repeat FX:=Pred(FX); if FX<'A' then begin FX:=FXMax; FY:=FY-1; if FY<1 then FY:=FYMax; end; until (Screen[FX,FY].CellStatus*[OverWritten,Locked]=[]) or (FX=Start); if FX<>Start then GotoCell(FX,FY); end; ellStatus*[OverWritten,Locked]=[]) or (FX=Start); if FX<>Start then GotoCell(FX,FY); end; CP20} procedure MoveLeft; var Start: ScreenIndex; begin LeaveCell(FX,FY); Start:=FX; repeat FX:=Pred(FX); if FX<'A' then begin FX:=FXMax; FY:=FY-1; if FY<1 then FY:=FYMax; end; until (Screen[FX,FY].{.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD03 *} {* PURPOSE: Read, Save and Print a spread sheet. *} {* Display on-line manual. *} {*******************************************************************} type String3 = string[3]; var FileName: string[14]; Line: string[100]; function Exist(FileN: AnyString): boolean; var F: file; begin {$I-} assign(F,FileN); reset(F); {$I+} if IOResult<>0 then Exist:=false else Exist:=true; end; procedure GetFileName(var Line: AnyString; FileType:String3); begin Line:=''; repeat Read(Kbd,Ch); if Upcase(Ch) in ['A'..'Z',^M] then begin write(Upcase(Ch)); Line:=Line+Ch; end; until (Ch=^M) or (length(Line)=8); if Ch=^M then Delete(Line,Length(Line),1); if Line<>'' then Line:=Line+'.'+FileType; end; {.CP20} procedure Save; var I: screenIndex; J: integer; begin HighVideo; Msg('Save: Enter filename '); GetFileName(Filename,'MCS'); if FileName<>'' then begin Assign(MCFile,FileName); Rewrite(MCFile); for I:='A' to FXmax do begin for J:=1 to FYmax do write(MCfile,Screen[I,J]); end; Grid; Close(MCFile); LowVideo; GotoCell(FX,FY); end; end; {.CP30} procedure Load; begin HighVideo; Msg('Load: Enter filename '); GetFileName(Filename,'MCS'); if (Filename<>'') then if (not exist(FileName)) then repeat Msg('File not Found: Enter another filename '); GetFileName(Filename,'MCS'); until exist(FileName) or (FileName=''); if FileName<>'' then begin ClrScr; Msg('Please Wait. Loading definition...'); Assign(MCFile,FileName); Reset(MCFile); for FX:='A' to FXmax do for FY:=1 to FYmax do read(MCFile,Screen[FX,FY]); FX:='A'; FY:=1; LowVideo; UpDate; end; GotoCell(FX,FY); end; {.PA} procedure Print; var I: screenIndex; J,Count, LeftMargin: Integer; P: string[20]; MCFile: Text; begin HighVideo; Msg('Print: Enter filename "P" for Printer> '); GetFileName(Filename,'LST'); Msg('Left margin > '); Read(LeftMargin); if FileName='P.LST' then FileName:='Printer'; Msg('Printing to: ' + FileName + '....'); Assign(MCFile,FileName); Rewrite(MCFile); For Count:=1 to 5 do Writeln(MCFile); for J:=1 to FYmax do begin Line:=''; for I:='A' to FXmax do begin with Screen[I,J] do begin while (Length(Line)0 then Str(Value:FW:DEC,P) else Str(Value:FW,P); Line:=Line+P; end; end else Line:=Line+Contents; end; { With } end; { One line } For Count:=1 to LeftMargin do Write(MCFile,' '); writeln(MCFile,Line); end; { End Column } Grid; Close(MCFile); LowVideo; GotoCell(FX,FY); end; {.PA} procedure Help; var H: text; HelpFileName: string[14]; Line: string[80]; I,J: integer; Bold: boolean; begin if Exist('MC.HLP') then begin Assign(H,'MC.HLP'); Reset(H); while not Eof(H) do begin Readln(H,Line); ClrScr; I:=1; Bold:=false; LowVideo; repeat For J:=1 to Length(Line) do begin if Line[J]=^B then begin Bold:=not Bold; if Bold then HighVideo else LowVideo; end else write(Line[J]); end; Writeln; I:=I+1; Readln(H,Line); until Eof(H) or (I>23) or (Copy(Line,1,3)='.PA'); GotoXY(26,24); HighVideo; write('<<< Please press any key to continue >>>'); LowVideo; read(Kbd,Ch); end; GotoXY(20,24); HighVideo; write('<<< Please press to start MicroCalc >>>'); LowVideo; Readln(Ch); UpDate; end else { Help file did not exist } begin Msg('To get help the file MC.HLP must be on your disk. Press '); repeat Read(kbd,Ch) until Ch=^M; GotoCell(FX,FY); end; end; toCell(FX,FY); end; end; {.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD04 *} {* PURPOSE: Evaluate formulas. *} {* Recalculate spread sheet. *} {* *} {* NOTE: This module contains recursive procedures *} {* and is for computer scientists only. *} {*******************************************************************} var Form: Boolean; {$A-} procedure Evaluate(var IsFormula: Boolean; { True if formula} var Formula: AnyString; { Fomula to evaluate} var Value: Real; { Result of formula } var ErrPos: Integer);{ Position of error } const Numbers: set of Char = ['0'..'9']; EofLine = ^M; var Pos: Integer; { Current position in formula } Ch: Char; { Current character being scanned } EXY: string[3]; { Intermidiate string for conversion } { Procedure NextCh returns the next character in the formula } { The variable Pos contains the position ann Ch the character } procedure NextCh; begin repeat Pos:=Pos+1; if Pos<=Length(Formula) then Ch:=Formula[Pos] else Ch:=eofline; until Ch<>' '; end { NextCh }; function Expression: Real; var E: Real; Opr: Char; function SimpleExpression: Real; var S: Real; Opr: Char; function Term: Real; var T: Real; function SignedFactor: Real; function Factor: Real; type StandardFunction = (fabs,fsqrt,fsqr,fsin,fcos, farctan,fln,flog,fexp,ffact); StandardFunctionList = array[StandardFunction] of string[6]; const StandardFunctionNames: StandardFunctionList =('ABS','SQRT','SQR','SIN','COS', 'ARCTAN','LN','LOG','EXP','FACT'); var E,EE,L: Integer; { intermidiate variables } Found:Boolean; F: Real; Sf:StandardFunction; OldEFY, { Current cell } EFY, SumFY, Start:Integer; OldEFX, EFX, SumFX:ScreenIndex; CellSum: Real; function Fact(I: Integer): Real; begin if I > 0 then begin Fact:=I*Fact(I-1); end else Fact:=1; end { Fact }; {.PA} begin { Function Factor } if Ch in Numbers then begin Start:=Pos; repeat NextCh until not (Ch in Numbers); if Ch='.' then repeat NextCh until not (Ch in Numbers); if Ch='E' then begin NextCh; repeat NextCh until not (Ch in Numbers); end; Val(Copy(Formula,Start,Pos-Start),F,ErrPos); end else if Ch='(' then begin NextCh; F:=Expression; if Ch=')' then NextCh else ErrPos:=Pos; end else if Ch in ['A'..'G'] then { Maybe a cell reference } begin EFX:=Ch; NextCh; if Ch in Numbers then begin F:=0; EXY:=Ch; NextCh; if Ch in Numbers then begin EXY:=EXY+Ch; NextCh; end; Val(EXY,EFY,ErrPos); IsFormula:=true; if (Constant in Screen[EFX,EFY].CellStatus) and not (Calculated in Screen[EFX,EFY].CellStatus) then begin Evaluate(Form,screen[EFX,EFY].contents,f,ErrPos); Screen[EFX,EFY].CellStatus:=Screen[EFX,EFY].CellStatus+[Calculated] end else if not (Txt in Screen[EFX,EFY].CellStatus) then F:=Screen[EFX,EFY].Value; if Ch='>' then begin OldEFX:=EFX; OldEFY:=EFY; NextCh; EFX:=Ch; NextCh; if Ch in Numbers then begin EXY:=Ch; NextCh; if Ch in Numbers then begin EXY:=EXY+Ch; NextCh; end; val(EXY,EFY,ErrPos); Cellsum:=0; for SumFY:=OldEFY to EFY do begin for SumFX:=OldEFX to EFX do begin F:=0; if (Constant in Screen[SumFX,SumFY].CellStatus) and not (Calculated in Screen[SumFX,SumFY].CellStatus) then begin Evaluate(Form,Screen[SumFX,SumFY].contents,f,errPos); Screen[SumFX,SumFY].CellStatus:= Screen[SumFX,SumFY].CellStatus+[Calculated]; end else if not (Txt in Screen[SumFX,SumFY].CellStatus) then F:=ScrEEn[SumFX,SumFY].Value; Cellsum:=Cellsum+f; f:=Cellsum; end; end; end; end; end; end else begin found:=false; for sf:=fabs to ffact do if not found then begin l:=Length(StandardFunctionNames[sf]); if copy(Formula,Pos,l)=StandardFunctionNames[sf] then begin Pos:=Pos+l-1; NextCh; F:=Factor; case sf of fabs: f:=abs(f); fsqrt: f:=sqrt(f); fsqr: f:=sqr(f); fsin: f:=sin(f); fcos: f:=cos(f); farctan: f:=arctan(f); fln : f:=ln(f); flog: f:=ln(f)/ln(10); fexp: f:=exp(f); ffact: f:=fact(trunc(f)); end; Found:=true; end; end; if not Found then ErrPos:=Pos; end; Factor:=F; end { function Factor}; {.PA} begin { SignedFactor } if Ch='-' then begin NextCh; SignedFactor:=-Factor; end else SignedFactor:=Factor; end { SignedFactor }; begin { Term } T:=SignedFactor; while Ch='^' do begin NextCh; t:=exp(ln(t)*SignedFactor); end; Term:=t; end { Term }; begin { SimpleExpression } s:=term; while Ch in ['*','/'] do begin Opr:=Ch; NextCh; case Opr of '*': s:=s*term; '/': s:=s/term; end; end; SimpleExpression:=s; end { SimpleExpression }; begin { Expression } E:=SimpleExpression; while Ch in ['+','-'] do begin Opr:=Ch; NextCh; case Opr of '+': e:=e+SimpleExpression; '-': e:=e-SimpleExpression; end; end; Expression:=E; end { Expression }; begin { procedure Evaluate } if Formula[1]='.' then Formula:='0'+Formula; if Formula[1]='+' then delete(Formula,1,1); IsFormula:=false; Pos:=0; NextCh; Value:=Expression; if Ch=EofLine then ErrPos:=0 else ErrPos:=Pos; end { Evaluate }; {.PA} procedure Recalculate; var RFX: ScreenIndex; RFY:integer; OldValue: real; Err: integer; begin LowVideo; GotoXY(1,24); ClrEol; Write('Calculating..'); for RFY:=1 to FYMax do begin for RFX:='A' to FXMax do begin with Screen[RFX,RFY] do begin if (Formula in CellStatus) then begin CellStatus:=CellStatus+[Calculated]; OldValue:=Value; Evaluate(Form,Contents,Value,Err); if OldValue<>Value then begin GotoXY(XPos[RFX],RFY+1); if (DEC>=0) then Write(Value:FW:DEC) else Write(Value:FW); end; end; end; end; end; GotoCell(FX,FY); end; FW); end; end; end; end; end; GotoCell(FX,FY); end; Calculated]; OldValue:=Value; Evaluate(Form,Contents,Value,Err); if OldValue<>Value then begin GotoXY(XPos[RFX],RFY+1); if (DEC>=0) then Write(Value:FW:DEC) else Write(Value{.PA} {*******************************************************************} {* SOURCE CODE MODULE: MC-MOD05 *} {* PURPOSE: Read the contents of a cell and update *} {* associated cells. *} {*******************************************************************} { Procedure GetLine will let the user type and/or edit a string of } { maximum length "MAX". The string will start at cursor position: } { ColNO,LineNO. If ErrPos <> 0 then the cursor will jump to position } { ErrPos in the string. If the last parameter is "True" then all } { characters entered will be translated to upper case. } { If the user at anytimes types then the string returned } { contain $FF to indicate that editing was aborted. } procedure GetLine(var S: AnyString; { String to edit } ColNO,LineNO, { Where start line } MAX, { Max length } ErrPos: integer; { Where to begin } UpperCase:Boolean); { True if auto Upcase } var X: integer; InsertOn: boolean; OkChars: set of Char; procedure GotoX; begin GotoXY(X+ColNo-1,LineNo); end; begin OkChars:=[' '..'}']; InsertOn:=true; X:=1; GotoX; Write(S); if Length(S)=1 then X:=2; if ErrPos<>0 then X:=ErrPos; GotoX; repeat Read(Kbd,Ch); if UpperCase then Ch:=UpCase(Ch); case Ch of ^[: begin S:=chr($FF); { abort editing } Ch:=^M; end; ^D: begin { Move cursor right } X:=X+1; if (X>length(S)+1) or (X>MAX) then X:=X-1; GotoX; end; ^G: begin { Delete right char } if X<=Length(S) then begin Delete(S,X,1); Write(copy(S,X,Length(S)-X+1),' '); GotoX; end; end; ^S,^H: begin { Move cursor left } X:=X-1; if X<1 then X:=1; GotoX; end; ^F: begin { Move cursor to end of line } X:=Length(S)+1; GotoX; end; ^A: begin { Move cursor to beginning of line } X:=1; GotoX; end; #127: begin { Delete left char } X:=X-1; if (Length(S)>0) and (X>0) then begin Delete(S,X,1); Write(copy(S,X,Length(S)-X+1),' '); GotoX; if X<1 then X:=1; end else X:=1; end; ^V: InsertOn:= not InsertOn; {.PA} else begin if Ch in OkChars then begin if InsertOn then begin insert(Ch,S,X); Write(copy(S,X,Length(S)-X+1),' '); end else begin write(Ch); if X=length(S) then S:=S+Ch else S[X]:=Ch; end; if Length(S)+1<=MAX then X:=X+1 else OkChars:=[]; { Line too Long } GotoX; end else if Length(S)+1<=Max then OkChars:= [' '..'}']; { Line ok again } end; end; until CH=^M; end; {.PA} procedure GetCell(FX: ScreenIndex;FY: Integer); var S: AnyString; NewStat: Set of Attributes; ErrorPosition: Integer; I: ScreenIndex; Result: Real; Abort: Boolean; IsForm: Boolean; { Procedure ClearCells clears the current cell and its associated } { cells. An associated cell is a cell overwritten by data from the } { current cell. The data can be text in which case the cell has the } { attribute "OverWritten". If the data is a result from an expression} { and the field with is larger tahn 11 then the cell is "Locked" } procedure ClearCells; begin I:=FX; repeat with Screen[I,FY] do begin GotoXY(XPos[I],FY+1); write(' '); I:=Succ(I); end; until ([OverWritten,Locked]*Screen[I,FY].CellStatus=[]); { Cell is not OVerWritten not Locked } end; {.CP20} { The new type of the cell is flashed at the bottom of the screen } { Notice that a constant of type array is used to indicate the type } procedure FlashType; begin HighVideo; GotoXY(5,23); LowVideo; end; {.CP20} { Procedure GetFormula repeats calling the procedure GetLine and } { Evaluate until the line read by GetLine contains a valid formula. } { Evaluate returns an error position in the string evaluated. If } { this position is non zero GetLine is called. If the user types } { ESC in GetLine to abort the editing then the string returned from } { Getline will contain $FF and te original value of the cell will } { be restored later. } procedure GetFormula; begin FlashType; repeat GetLine(S,1,24,70,ErrorPosition,True); if S<>Chr($FF) then begin Evaluate(IsForm,S,Result,ErrorPosition); if ErrorPosition<>0 then Flash(15,'Error at cursor'+^G,false) else Flash(15,' ',false); end; until (ErrorPosition=0) or (S=Chr($FF)); if IsForm then NewStat:=NewStat+[Formula]; end; {.CP20} { Procedure GetText calls the procedure GetLine with the current } { cells X,Y position as parameters. This means that text entering } { takes place direcly at the cells posion on the screen. } procedure GetText; begin FlashType; with Screen[FX,FY] do GetLine(S,XPos[FX],FY+1,70,ErrorPosition,False); end; {.CP20} { Procedure EditCell loads a copy of the current cells contents in } { in the variable S before calling either GetText or GetFormula. In } { this way no changes are made to the current cell. } procedure EditCell; begin with Screen[FX,FY] do begin S:=Contents; if Txt in CellStatus then GetText else GetFormula; end; end; {.PA} { Procedure UpdateCells is a little more complicated. Basically it } { makes sure to tag and untag cells which has been overwritten or } { cleared from data from another cell. It also updates the current } { with the new type and the contents which still is in the temporaly } { variable "S". } procedure UpdateCells; var Flength: Integer; begin Screen[FX,FY].Contents:=S; if Txt in NewStat {Screen[FX,FY].CellStatus} then begin I:=FX; FLength:=Length(S); repeat I:=Succ(I); with Screen[I,FY] do begin FLength:=Flength-11; if (Flength>0) then begin CellStatus:=[Overwritten,Txt]; Contents:=''; end else begin if OverWritten in CellStatus then begin CellStatus:=[Txt]; GotoCell(I,FY);LeaveCell(I,FY); end; end; end; until (I=FXMax) or (Screen[I,FY].Contents<>''); Screen[FX,FY].CellStatus:=[Txt]; end else { string changed to formula or constant } begin { Event number two } I:=FX; repeat with Screen[I,FY] do begin if OverWritten in CellStatus then begin CellStatus:=[Txt]; Contents:=''; end; I:=Succ(I); end; until not (OverWritten in Screen[I,FY].CellStatus); with Screen[FX,FY] do begin CellStatus:=[Constant]; if IsForm then CellStatus:=CellStatus+[Formula]; Value:=Result; end; end; end; {.PA} { Procedure GetCell finnaly starts here. This procedure uses all } { all the above local procedures. First it initializes the temporaly } { variable "S" with the last read character. It then depending on } { this character calls GetFormula, GetText, or EditCell. } begin { procedure GetCell } S:=Ch; ErrorPosition:=0; Abort:=false; NewStat:=[]; if Ch in ['0'..'9','+','-','.','(',')'] then begin NewStat:=[Constant]; if not (Formula in Screen[FX,FY].CellStatus) then begin GotoXY(11,24); ClrEol; ClearCells; GetFormula; end else begin Flash(15,'Edit formula Y/N?',true); repeat read(Kbd,Ch) until UpCase(CH) in ['Y','N']; Flash(15,' ',false); if UpCase(Ch)='Y' then EditCell Else Abort:=true; end; end else begin if Ch=^[ then begin NewStat:=(Screen[FX,FY].CellStatus)*[Txt,Constant]; EditCell; end else begin if formula in Screen[FX,FY].CellStatus then begin Flash(15,'Edit formula Y/N?',true); repeat read(Kbd,Ch) until UpCase(CH) in ['Y','N']; Flash(15,' ',false); if UpCase(Ch)='Y' then EditCell Else Abort:=true; end else begin NewStat:=[Txt]; ClearCells; GetText; end; end; end; if not Abort then begin if S<>Chr($FF) then UpDateCells; GotoCell(FX,FY); if AutoCalc and (Constant in Screen[FX,FY].CellStatus) then Recalculate; if Txt in NewStat then begin GotoXY(3,FY+1); Clreol; For I:='A' to FXMax do LeaveCell(I,FY); end; end; Flash(15,' ',False); GotoCell(FX,FY); end; {.PA} { Procedure Format is used to } procedure Format; var J,FW,DEC, FromLine,ToLine: integer; Lock: Boolean; procedure GetInt(var I: integer; Max: Integer); var S: string[8]; Err: Integer; Ch: Char; begin S:=''; repeat repeat Read(Kbd,Ch) until Ch in ['0'..'9','-',^M]; if Ch<>^M then begin Write(Ch); S:=S+Ch; Val(S,I,Err); end; until (I>=Max) or (Ch=^M); if I>Max then I:=Max; end; begin HighVideo; Msg('Format: Enter number of decimals (Max 11): '); GetInt(DEC,11); Msg('Enter Cell whith remember if larger than 10 next column will lock: '); GetInt(FW,20); Msg('From which line in column '+FX+': '); GetInt(FromLine,FYMax); Msg('To which line in column '+FX+': '); GetInt(ToLine,FYMax); if FW>10 then Lock:=true else Lock:=False; for J:=FromLine to ToLine do begin Screen[FX,J].DEC:=DEC; Screen[FX,J].FW:=FW; with Screen[Succ(FX),J] do begin if Lock then begin CellStatus:=CellStatus+[Locked,Txt]; Contents:=''; end else CellStatus:=CellStatus-[Locked]; end; end; NormVideo; UpDate; GotoCell(FX,FY); end; Video; UpDate; GotoCell(FX,FY); end; P To: B. Osss S: string[8]; Err: Integer; Ch: Char; b  From: O. P. Timistt (B3) kjhlkjfdsahfsdalkjhfksjhdafkjldshfalkjdsaf skajfs 034909 D As you requested I have compiled a sales budget for our three major E products covering next year by quaters. I have assumed an increase d > of 20% every quater for Super A and 10 pct for Super B and C. 1;r;r;r;r;r;r; A Product 1. Quater 2. Quater 3. Quater 4. Quater Year Totalal C -------------------------------------------------------  Super Adfskjdfskjlkjljlsafjfshdkljhfdsjfhkjfdkljfakljakjhkjlhfds  Super Bl{kjdl{kds{lkdjs{lksdjf{ldksfaj{lkdjsfl{kdjf{lkdjfl{kdjf{lkjfd  Super C A -------------------------------------------------------  Year total B =====================================================  22 B To simulate sales just change the numbers for the first quater.  (A1>A19) kjdsflkdjsalkdjfsklj{fdlkjfsdflk{dfl{kjdfkljsdkljsfkljsflkjsdkljfsdlkj 3 2354 (C3+A3+C3) 22 33 335  (A8)+A4 23 54 45dskdklfklfkldsalkdsfdklklfdlkfd !330fllkfdasklfkskfld !23308 !220000 45 # (B12>B14) 34 4 34 34 34 23 325 400 3332 11 33 35 (C3>C6) 32 23 23 # (B12*1.2)efff # (B13*1.1)efffJ # (B14*1.1)A 435 # (C12>C14)13332 34 43 34 43 43 2 32 543 45 345 3254 3 435 23 23 4 # (C12*1.2)Ez> # (C13*1.1): ף^ # (C14*1.1)YT 435 # (D12>D14)ףK 34 43 34 34 32 223 324 253 23 3454 234 l|{dsfa{dsf{l|dsa{lds{lfd{lkfd 32 32 23 43 # (D12*1.2)td # (D13*1.1)>lt # (D14*1.1)F7Aj 435 # (E12>E14)*i 3 43 34 43 32 23 32 543 435 54 543 (A1) 43 2 Year totalj k;2CAFkUSLLEC )䵱FMUS )䶱FE )䷱F # (B12>E12) jFMUS jFE jFEDLO Skƈ/$1 # (B13>E13)jȱ jʱEj̱1EMANNOITCNUFDRADNATS ~j|U # (B14>E14)SILNOITCNUFDRADNATS   CAFF XEF X94L FLF ATCRAF j1TGNELFooMELLECETAD # (F12>F14)LECTIDEooDXETTEGooC jC jL@  jAMj  AMjjjF FooOETNECooOMOCLLEWooMDNAMMOC oJAMROF!FjF)ooBLECTEG?SACREPPU kOPRRE NLOCjFoo>NILTEGoo=TALUCLACERAOPRRE LUMROFFLUMROFSI kooc1TAULAVE k+ROFo oo+NIRPoo)AOLoo )VAS-PYTEL Foo(MANELIFTEGELIFF^ k'SIXE e IL ĵMANELIF  GNIRTSoo& oo&HGIREVOMoow%UEVOMoo$WODEVO ooG$TADPU#FjF)ooY#LECEVAEL"GjG) ECOTOGoo !PYTHSALFoox AELCooI ooIRGooiTUA&NILB kFjooSA ooSM k*LACOTUA 0 +LIFCM j۸ F )޸F ߸EERCS )j OPX -)    LLEC P  2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!c$>,cCOM="|*|D"z*z! !!V !t!t,"r*r"p!*p:ͣfzʝ!"n*p*n*p*nn&s*n#o!P!!Eʺ!͛͛ͺ*** FATAL ERROR: !:!ͪ ""**E"*""*"*""**E?"*"E"*"*" "!* Eʁ"** !}2È"!}2*&" * :ͣ!* !n&! }oE"* !!Ö"* * :ͣn&! E#* !* !n&+s"/+"6"8!;*6*o !;*8*ͺ "2"4!;*2*o !;*4*; "/*/*"-*-!ԟ!)^#V*-!ԟ!)^#V}o*-!ԟ!)^#V}o}21*1&")"+*+*"'!}2&!ԟ*&&)^#V*'͒E8$*&&!}2& $!ڟ*&&)^#V*+*E**)s#r" """$*$|#}oEz%*$*"!}2*"*"* *"!ԟ*&)^#V*!ԟ*&)^#V*}oE%*&!}2÷$!џ*&n&E;%!ڟ*&)^#V!ԟ*&)^#V#!ڟ*&)^#V*I#!ԟ*&)*s#r!џ*&!s""**"!}2!ԟ*&)^#V*͒E%*&!}2Ü%**"!}2 !ԟ* &)^#V*͒E&* &!}2 %**E"**E"!ڟ*&)^#V**" !ڟ* &)^#V**" * *s*d* * *d*s* *d!џ*&!s!џ* &!s""***d***d*G!* &}2*&*!ED'!!+)!s#r!!+)*!Rs#r!"J'!"*!Eʠ)!*+)^#V"}!*+)^#V"{*!R"*}"y*{"w*y*w!"**y*wf$*!m#*m*u*d*y*w*f$*y!q#*q*uͼ&E((*y!"y*y*w*f$*y!q#'*w*y*f$*w!o#*u*oͼ&E~(*w!R"w*w*y*f$*w!o#B(*y*w͸E(*y*w͒Eʩ(*y*w{%*y!"y*w!R"w*y*wE'*w*}R*{*yREC)*y*{E:)*!"!*+)*ys#r!*+)*{s#r*w"{Í)*}*wEʇ)*!"!*+)*}s#r!*+)*ws#r*y"}*}*{ͥEʍ'J'*!*!ͥ}oES**!E*!;M $$$SOWRK.$$$p!;o !}2:!!#!!#!ڟ!)^#V!ԟ!)^#V#!ԟ!)!ԟ!)^#V!s#r*!El*!"r**"!ڟ*)^#V**"***d*!"*!"**E*!"*!"*k*!R*}/o|/g#f$*k!#***d*k!"k*k*ͥ}2""""""!!)"!*"!+"!"!,* * !!,! !! E+!@! !!,! !"*!EB,!*!"*!"**"*!͸Ew,!"-!ڟ!)*I"Eʔ,!"!ڟ!)*I"Eʷ,*!"!ڟ!)*I"E,*!"!s*I"E,*!"!u*I"E-*!"*!͒E+-!"-!"!}2:!"!"!"!ԟ!)!s#r!ԟ!)!s#r!ԟ!)!s#r*G!!џ!!s!џ!!s!џ!!s&!"k*G!*:&E-!;͓*!ͥE.!u*z*!R"*!ͥE,.!s*z*!R"*!ͥE\.!ڟ!)*z*!R"*!ͥEʌ.!ڟ!)*z*!R"*!ͥEʼ.!ڟ!)*z*!R"**G!*G!*G!*&}2*&"*"*0!s#r*2!s}2""*"**0^#V͒E40*2n&Eʉ/**0^#Vo **3!ͺ *2!s**]!RE0*&E/MSeek read error͞!/**]E/MSeek write error͞!**o $0**o **3!; *0*s#r"*"*2n&E|0**0^#Vo **3!ͺ *Ͱ "}2"""**!/!*&R"ߞ*"*3*&**ߞ*!d*ߞ*EL1**0^#V!!/*3**ߞ!**ߞR!d*ߞ!"ߞ0"֞}2؞"ٞ"۞"ݞ*ݞ*ٞ!/!*؞&R*֞!"Ҟ*ݞ"Ԟ*۞*Ԟ3*؞&*Ҟd*Ԟ2!s*Ҟ*֞E/2*ݞ*Ԟ0^#V!!/*۞*Ҟ*Ԟ3!*֞*ҞR!d*Ԟ2!s*Ҟ!"Ҟü1"̞"Ξ"О*О}oE2*Оͩ!̝͎ͫ!̝:ͣ!E2!̝:!! e.!̝:! e.=Ͳ+k!ʝ!ȝ*ȝ!*ʝ*Ξ}oE2!̝:! e.!̝:! e.=Ͳ#!k*̞2@2"ĝ"Ɲ*Ɲ}oEQ3*Ɲͩ*ĝ͎ͫ*ĝ:! e.*ĝ:Ͳ#!k*ĝç3*#"*!Eʑ3*#"!"**o*!9!;!9*n&}25*5&""!"!}28!"!"!8!!!n&s!!8:ͣfz4"6!8*6U3s*6#3!8:!:͍E<4!}28z4!8!!!8!!8!n&#s!8!8:ͣU3s*I*8&}oE4*8&}2Ý*!*!:ͣR!*s#r*!!:ͣR!!E*s#r*Ý&}24*4&!E RBR5  RBR5  RBR5 RBx5MCtrl-*4&!@e.=! 6  R–5M! 6 R³5M! 6R5M! 6 R5M! 6R6M! 6*4&e.!*4&!EM6!:M(+128)=!!:!5!5:8*:ͣ*ͥEʕ6!}2͛!" Ü6!}2*&6!:!!*!*!ͥ}o*!͸}o}2*&*&e.!*&͛" !ͩ!D !:*&e.=!*&́! ͑! ͑O!:ͣ!}oͥ6}o}oE6*&́! ͑! ͑OEʨ7!!!!n&+sͥ6E8*:*e.=**&! ͒E7*&͛"! " !ͩ!D V8͛!" !:ͣ!vzG8"͛!"! "!" *+8!ͩ!D i6*&́!$͑!0!9͛O}o}oE6*&! ͒E8͛*&4!ͪ! " *:*&e.=*i6E8! }28!ͩ!D Ä8 !""M*!}2!ͩ!D *&! ]OEP9*&}2Æ9*&́!0!9͛!$͑OEz9͢6}9̈́8͛ *&ã:*m+"m*m!Eʸ9!"m͛!*" !V!!oV!!:!o:}2 * *I}oEM:*U! E!E:͛!<" *ͤ!Ͷ *U!R*͒EJ:.9* .}oEʢ:*U! E!Eʍ:͛!>" .*ͤ! Z:"P!"!:͛!ͪ! " !"m!! !!9!9!N:!!o#!͒Eh;͛ ͛ͺ9*** WARNING: Unable to sort Terminal names - Press RETURN  ͛ mR"*!!s!ͩ!D *&! ͒Eʶ<*&́! !~͛OE<*&͛" *!*!n&#s**!n&*&sä<*&!*&!}o*:ͣ!}oE~<͛!"! "!" *!*!n&+sä<*&!*&}oEʤ!*n&n&͛"! "!i:!ͪ! " !ͩ!D *&*&! }oEʗ>!*n&n&}2ã>*&}2*&́!!n&͑!!n&͑OEV>*&͛" *&!!n&*s""""!}2X*&EP?*^#V͛!&! "!i:!ͪ! " *X&}oEG@!Zu;*&Er?G@!Z*!Y!X:=*Y&*&}oEʣ?!}2XD@*Y&E?**s#r*^#V**=E?!}2X?***L*Vs"J!*Jfzʲ@"F͛!_" *F#Ô@!*Jfz@"F͛!" *F#ý@"B"D*&EA!*D:ͣfz7A"͛*D*n&4!ͪ! " *#A*D:ͣ!EʮA͛ͺ ( !*D:ͣfzʜA"͛*D*n&!&! " *#kA͛!"ͺ)  ͛! "!i:!ͪ! " !*B́!-͑f6}2!:M͍*&}o}oEB!:*DHB*&!-EHBM*D!?:͛!ͪ """*&EʇB*n&!EʀB!}2ÇB!}2!=*&}oEʶB!*sM*=qD*&EB*n&!EB!}2B!}2!=!}2*&EKC*&*n&!͒}oE#C!}2KC*&}o*n&!}oEKC!}2*&E`C!*shC!*s*n&!EʷC*&EʑCM*!:͛!ͪ! " **@qD*&ECM*!:͛!ͪ! " *&*:M͠}oE+D*:͛!ͪ! "!i:!ͪ! " *+́@!@u;͛ !@:M͠*&}o}oEqD!@:*">*>"<*<:M͍EʪD*<6M÷E*<Fn&ED!e.!8DM000!*<^#Vk!8*<6*<:!8:=*<:=!8:=*<:=*<:ͣ!8:ͣ"6*6*<:ͣ!8:ͣ"4*<n&EʛE*<G*6s*<H*4s÷E*<G*4s*<H*6s"2*2!!N*2"0*0}!s*0~!s*0F!s!!ʗ:o !!͒EbFM6File Containing messages for this program is not found͞!!!e!?02!2͔=!͔=!i͔=!ԓ͔=!͔=!!!!n&s!͔=!!!!n&s!͔=!͔=!ǔ͔=!v͔=!%͔=!j"+!͔=!}2*&}oEG!:͛!ͪ! " *&EeG*+:͛!ͪ! "!i:!ͪ! " !+́@!u;!:M͠}2-!:M͠*&}oEG!}2!:M͠EG!:*+ G!!ȗ]OEʘH!!ȗ]OEH*+}*+!+IBÕH*+}n&!}2!=*&EsH*+}!s!:͛!ͪ! " *+!+@=ÕH*+}!s*+M=ßH!=!!ȗ]OElI!!ȗ]OEH*+~*+&!+IBiI*+~n&!}2!=*&EGI*+~!s!:͛!ͪ! " *+&!+@=iI*+~!s*+&M=sI!=!!ȗ]OEJͨ=*+!+@*+:M͍EJ!=*+M*+M*+J!s*+I!s*+!s*+F!sJͨ=*+!+@ͨ=*+!+@*+=ͨ=*+J!!!H@ͨ=*+I!!!H@*+F=*+Fn&}oEʵJͨ=*+!!!>J*+!s#r=J!=!!ȗ]OEʂKͨ=*+M!+@*+M:M͠EgK*+S:M͍}2!=*&}oEPKͨ=*+S!+@dK*+SM=K*+SM!=ÉK!=!!ȗ]OEKͨ=*+u!+@*+u:M͠EKͨ=*+o!+@K*+oM=K!=!!ȗ]OE&Lͨ=*+i!+@)L=!!ȗ]OEʔLͨ=*+[!+@*+[:M͠E}Lͨ=*+a!+@ÑL*+aM=ÛL!=! !ȗ]OELͨ=*+|!!!H@ͨ=*+{!!!H@L!=!!ȗ]O*+:M͠}oE6Mͨ=*+K!!'!>9M=!!ȗ]O*+M:M͠}o!!ȗ]O*+u:M͠}o}oEʬMͨ=*+Y!!'!>ÿM*+Y!s#r=!!ȗ]O*+i:M͠}o!!ȗ]O*+[:M͠}o}oE2Nͨ=*+g!!'!>EN*+g!s#r=*-&!!fzqN"'͛ *'#VN!:͛!ͪ ͛ íON"h**h"**EN!"N*!EN*"KN!}2m!}2m*!EʧO͛ !2:͛!ͪ !ͩ!jD *j&́!͑!͑!͑! ͑OEO*j&RfO!͖NçORzO!͖NçOR”O*&}o}2&çO R§O͛ *m&!}2&!*~!""*~!*R!EO*#"!͔=!!!!:ͣ!s!n͔=!n!!!n:ͣ!s! ]!""*"!EgR!"*"+!*#"*"+*#" * +!#"**͒EP** +"* "P*"+"*"*+* R"*+*#"!*+fz[R"!*+fzIR"*+* ***"**͸E@R͛*#!&ͺ)  **͒**R!ͥ}oEʺQ! * ! ͤ!jͶ !j:!Q**RRQ!:!QRQ!n:!!:͛!ͪ **+E@R͛M!!:ͣR!ͪ *#Q͛ *#P͓N}oEʙP*&&"Ɨ!ȗP!ʗP!!}2l! !:p! !͒ER!  E!}2!}2! ]!}2!"*&ES= S!͔=KN͐N}oE S!}2lsW!}2*&EAS!"!=S͛ ͨ=!!! ]!!>*&E}S!}2lsW*+"*! ]}2*! ]#ESͨ=!!! ]!>*&ES!}2lsW*+"!}2!}2jUS=!}2*&ET!j͸E=6T! * ! ͤ!jͶ !=*&*&}oEiTF}2!}2!=!jrD~T!}2!}2!=!}2*&ENU! !ȗ]O! !ȗ]O}oEGU*Ɨ"͛ ͛ ͨ=͛ ͛ ! !ȗ]OEUͨ=*!!!H@U=! !ȗ]OEAUͨ=*=DU=NU!=! * ! ͤ!j *&EʅU! !:*͌9*Ɨ0"*"—!j"ė*ė:***ė{n&s**ė|n&s*ė:*—*—*ė&:*— *ė6:*—0*ėFn&s*—1*ėIn&s*—2*ėJn&s*—3*ėGn&s*—4*ėHn&s*—5*ėK^#Vs#r*—7*ėM:*—=*ėS:*—C*ėo:*—I*ėu:*—O*ėY^#Vs#r*—Q*ėi:*—W*ė[:*—]*ėa:*—c*ėg^#Vs#r*&ER! z *l&TURBO.**!"***!E"*! "W!*!02!:͛!ͪ !!2!:͛!ͪ "*W͛ !}2!e.!e.=MCopy=P!!W:! :=!W!_!W:p!_p!͒EXMFile !W:=M not found=͞!!_!:!!R3}oEYMYou cannot install !W:=M with this program=͞!!M TINST.MSGo !!͒E|YM Message file M TINST.MSG=M not found=͞!*! "**!"*!E"!_.*&Y͛! "*&!!&!-"*&!!& !}2!!,fz[}2!*&)):!e.͠E[*&#!,fz[}2!*&))!n&!*&))!n&E [!*&))!n&!*&))!n&͒EZ!}2! XWͺY'[ [!*&)):!*&)):͍E [!}2! WͺY"[*&#=Z*&#Z,[[[*&}2!}2!*&"͛*&!!&ͺ:  *W͛ͺ  !*&))!n&!E[!:͛!ͪ ͛! " \!!*&)):ͣfz\"͛!*&))*n&4!ͪ! " *#[!=:͛!ͪ !C!́!B͑!Q͑!-͑f6BRc\!}2\QRw\!}2\ARBҍ\0\\ -R\!*&))!e.!:͛!ͪ \!C:M͠E\!*&))!C:*&ͷY}oE]!}2B^!}2B!"! e.!>!_!>͗WͯW!M1*!"!!,fz]}2A!*A&)):ͣ#}2@**@&!Eʦ]!}2B! X^!_!*A&))͗WͯW*@&M1**@&"*A&#[]!}2@!_!@͗WͯW!M1^^*B&=^!_!8͗WͯW!͆0*#"*8&}29*9&*!*!!"!"!_!͗WͯW!͆0!"*!R"!!,fzS_}2 14 CURSOR MOVEMENTS: 20 Character left 21 Alternative 22 Character right 23 Word left 24 Word right 25 Line up 26 Line down 27 Scroll down 28 Scroll up 29 Page up 30 Page down 31 To left on line 32 To right on line 33 To top of page 34 To bottom of page 35 To top of file 36 To end of file 37 To begining of block 38 To end of block 39 To last cursor position 15 INSERT & DELETE: 40 Insert mode on/off 41 Insert line 42 Delete line 43 Delete to end of line 44 Delete right word 45 Delete character under cursor 46 Delete left character 47 Alternative 16 BLOCK COMMANDS: 48 Mark block begin 49 Mark block end 50 Mark single word 51 Hide/display block 52 Copy block 53 Move block 54 Delete block 55 Read block from disk 56 Write block to disk 17 MISC. EDITING COMMANDS: 57 End edit 58 Tab 59 Auto tab on/off 60 Restore line 61 Find 62 Find & replace 63 Repeat last find 64 Control character prefix 101 Nothing ^Q: Quit, ^R: Last page, ^C: Next page, : Select terminal: Wait Sorting Definitions Change to: (Y/N)? y n Text file name: Command: Numeric entry expected Legal range is , please re-enter: Choose one of the following terminals: None of the above ( Max. 20 Characters ) Delete a definition ( Max. 20 Characters ) Which terminal? (Enter no. or ^Q to exit): Delete terminal? (Enter no. or ^Q to exit): Do you want to modify this definition before installation? Terminal type: Send an initialization string to the terminal? Initializaion defined as a command string? (No = a file) Send a reset string to the terminal Reset defined as a command? (No = a file) CURSOR LEAD-IN command: CURSOR POSITIONING COMMAND to send between line and column: CURSOR POSITIONING COMMAND to send after both line and column: Column first OFFSET to add to LINE: OFFSET to add to COLUMN: Binary address Number of ASCII digits (2 or 3): CLEAR SCREEN command: Does CLEAR SCREEN also HOME cursor HOME command: DELETE LINE command: INSERT LINE command: ERASE TO END OF LINE command: START HIGHLIGHTING command: END HIGHLIGHTING command: Number of rows (lines) on your screen: Number of columns on your screen: Delay after CURSOR ADDRESS (0-255 ms): Delay after CLEAR, DELETE and INSERT (0-255 ms): Delay after ERASE TO END OF LINE and HIGHLIGHT (0-255 ms): Is this definition correct? Hardware dependent information Operating frequency of your microprocessor in MHz (for delays): pendent information Operating frequency of your microprocessor in MHz (for delays): : Delay after CURSOR ADDRESS (0-255 ms): Delay after CLEAR, DELETE and INSERT (0-255 ms): ͫCopyright (C) 1985 BORLAND IncBSoroc 120/Apple CP/MP)(= *~~T)()~7#~=  oͦlԅ!!"~#(}:$= +*!6!*!!:(2!6:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k6!{6``o&  :(͠|(  *"x2y( >28!"9!! og2"">~22!:05+:!Co&ͦͣ} [ (!e|ͧA8Q0G: x@!\w# (̓ ?(*( .( x_. _!h6# (?( *( ̓( w#>?> w#ͧ 8 !ɿ .,;:=?*[]<>{}a{ |͵};Ɛ'@'7||}>2Ͱ*Bک  "og"2>2! ""*B"[Rv*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͻw}8( RB0 >( RrRR!+ ͱ R!+ ͱ s!+ ͱ s!+ ͱ s!# ͱ s!+ ͱ T]KB!z> S>))0 = | |́́DMgo>jB0 7?= H͓<z5b)b<z {0Gɯgo||}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } * W _}8(8J`9{T]=o`9y *  >( ͂ ͭ͘ }>( x‰ }} ˸T}ٕ(0D={ ,= ( ͓ 0%| , 7 ?(8ͭ x ͇ - s 8˸x ͐  ,-xG}s }مN 9s .>#n0͓ | = - nx ͈ ,-(-˸G,-s }ٕ?N 9.> 8ͭ ?= u+-(>͇ 0ͭ ͇ 8 ?x ͈ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցs <(s 7| = |٤g{٣_z٢Wy١Ox٠G| ͭ ͂ }x>( ͭ}ƀ/ƀo  -͂ }0͏-͂ ͏,}l˸ 8 5 ͘ x( - 8͂ - 8,͂ }l8;*!͘ ! >5ͭ͘ ͘ ͭ--- ͂ ,,,-xGg?+2n*8t z~,->( x( ͙}. ͇͂ , ! >5,ͣ- o&0% ,͘  }gs }؉}颋.:}8c~I$I~L*ͣٷx˸ }0G,<} ,-(-͂ !>J0 ͙͘ o8 ͇ >( m.`1pF,t6|!wS<.z}[|%FXc~ur1}͇ٯx(<˸ 8 !~J 0/O!>t 8 =  o t͘ ͇ /o 0 ͏-͂ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͭ͘ JØ oo ͘ = ͇ nf^VNF!DLT\I!!53!r1!͓!> x #-= o˸x͇(- }(x>8({ ,{ `iÄ!>( |s |́>)=|(DMbo˸88x(0 8> ́x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#~˸}րogM| .({ = ~> x0w#xG%͈ %͈ ZJDM%͈ = _~65+~hìx-Sx9?+{Η@}|{ { gZJDM0| ,7}o˸@ #yO!@9i&@  #@w#@/w#@w#!9! E9!!9~(+Fͻ!"9!(#>2*"| >"2:( ͷ *w*6 !\$![ (ͧ( #:~CONTRMKBDLSTCAUXUSR>2j:*ˮ~1:*:(@q##p[* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͻ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('l!0(ˮ]l!8ˮ!]~-#8~>27lˮw>O%7̄s #r%ͤ7̐ l ( (ˮ ql(ˮ ( l ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͻ>2}*|(̈́|( ̈́6-#[RM8( G> A~#*(C! !TRUEFALSE!9N#Z~#( G~#> >    "~(lѻ(( !0 (ˮ!!>2S{:1:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͯ*-w#ww##> ͯÂ""~>2:[R0 *4#4>2:[R> *4 #4(> >22*f(/˦:G(##~++ :O x yD!ͻ Q*:G(##~._.͛g<]=<͛*##w ͯ +4 #4x>>2:G("ͯ"*nˮ*0 S[ѷR8@* N#F#s#r- 0})jS\*##w+ N#FB ͯr+s>2!T]>)j)0 0= ^R!#^*^#V#N#F#^#V>2ͱ:1:*6 #-Nw#Fwq#p#6#w#w#w"~Â>">!DM!":*B:!>(>2>">!"2"~ʱ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pS[ѷR'* s#r$ s#rM <?*M!\  <( !\$>2>2M:>!(* \$\<(!4: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>* 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* vKB!1>( ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#L*L*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!G"" 'z*"*>2"*"!G"""!\*: Os!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͞O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%ã}ͧo*!~6o&|:2!2}:__{ѯ2*|KB " z ^C User break+=  I/O Run-time error {͵, PC=*ͰNot enough memory Program aborted :m'=!*"*E!ze lÅ :$E:#Eă-n-*-$:D=(2$E"'- *< "D<2D ?)!TURBO Pascal systeml5!Version 3.01A 5!CP/M-80, Z80 Copyright (C) 1983,84,85 ͅBORLAND Inc. )! Terminal: !S Include error messages-2#Eă-n-Y"{!"ͧ!?$Q$ /$8: z ?ogged drive:Aork file:1ain file:D-dit ompile un ave eecute ir uit compiler ptions Text: [&E*(E+#[(E**EFree: շR;. bytes (Ͱ>-Ͱ>)= compile ->  5!!X#?:D@#emory @#om-file @#cn-file :D(]tart address:*DͰ (min ! Ͱ) nd address:*DͰ (max *Ͱ) ind run-time error uit ͧ!J$g$/$(#7^#VLWMECRSXDQOMCHSEFQ,$y$*(v*& +r++X#'#'''/'M'z'u$Y" Main file name~-@">2D -D!\$!%"}%% Work file name@">2E n-" -D!\$!%"}%!%"\%n-D*&E"BD"DD"2D"6D":D"LDK*E%6 #"(E Loading -\ͻ&$Ͳ&WyGr<(.Cm{Km{B Ͳ&Wyw# File not foundU.%2 New File#!*(E File too bigͳ%2E"!e6B#6A#6K>:aD(,Workfile 1 not saved. Save2aD-/-!D\$ Saving \-*(E+6%͸&Gr!]l2aD<2D\Ͳ&*&E͸&Gr<(NWyGr~#GͲ& >Wyx xր> \Gr\! 6T] Directory  Disk fullU.͸&Ͳ&:D2aD!]l2D%Ͳ&">>>2D~-Start address@"! ĸ-"DEnd address@"*< ĸ-"D *| "Enter PC@"͸-"Ͷ'!"y>2y Searching~-ï(*-/-Y-!D /-^-(%!%"\%!%"}%D$>2D3y$2y*" y*(E6#"yͶ':D=ʉ(= >C!OM>C!HN22y*D"y*D" y3yͻ&GrGr<9*!(*y"y*y7R8&*y"Gr3yGr! "9*!> Compiling 3y(  --> -~-,E:y  Compilation aborted" lines :yO):y Y*not found "( *y R #Code: [y*y+#*y #* yData: #>2$E9*0sGError &h@.:#E(f*B~(^ 80O#0#( ~# #: ~ (7 0![B 0  ( #Y*found2D:y(?>.%D!y $ Error found in above include fileY-( D!D U.* y*Disk or directory fullU."Run-time error position :$E(:D=(;=+Y-!D(!D3y >C!OM2*i-&ͣ*B""%+'%\!>O!VR-!Ͳ&ѷ( Program@"!>C!OM-(!\:D!!!2D!!Dir mask@"Gr:\( =_GrA2l,WyGrͲ&O<(RyO!ay ~ =!Wy  :h=0:  #~x> (> ( No file ~<2q{nf"o{#ͥ,*o{̈́,`iͥ,Bytes Remaining On X: R@.>k_Gr |,,( ͜,0:q{)New drive@" : ͧA Gr2_Gr (Y/N)? ͧY(N N,>P!AS2e"f:\Gr<2\:E*- Y- ͨ$D!D$>2D:D%$:DD!D #*&E6 #"(E2aD2D2$E*B"&E\!>M!SG-2#EU.(!%"}%!%"\%\$*(E6#"&E!ͧ0 8 ))))o@@>:  x>.-!\0.:Dw0.>w0.6- not foundͲ&<͜'. Press   *(Er+sS{2VD<2WD!C"r{!ND?*&E͋3:dD=(!ͣ:dDG> x;//0.(!.z8 2aDW2$E!9D=Di/6SB2aD!$E6*4D{;0FAw#yA"4D?Ü.SB0 !dD6#w!dDBͣ/ !dDKCͣ/7=( !C ^#V7i/SB4#wi/BqB!ͣ!dD~#~͇/= < >^@ N#0O # >>O BqB!VD~ s6!"XD2ZDͣ;<:h88 !*ͣ1!ALine !ACol !:TD AInsert AOverwrite :[D AIndent:ND<*ZD(2ZD!ͣ0[XD*2D;ʆ7͆7[&E*2DRMDy(> 0BqB ! ͣ<>0*2D"XDÆ70G> |>0(-'11d1 1R8<00 D-: #V6#/0^ :eD>y 6 ~04J ~(~͇/#4 ͹1 - SB( (( ͹1_~ݾ04s~#͇/~8VÙ1~5+~ 1A>ɯ2`D12U=FindrD1=Replace withD=OptionsD1:hg%.ã>2`D112i/6">>#[4DsAt{R[2D"jD!DF6(C#~08:0 40_0.+ͧW U N G B { SlD*&E:_Dg(*(E_ *jD"jDf [(E;b3;b3tD:sDGf(=_0F(3~838T(3 K6F( 3~8386f̿;:`D4^ KlD ClDx E38f(*jD32͸3͋3^=Search string not found>͑3=[(E;8;"2DRt{"4D?@[&EsA*(E+sA08:A8 [a8{طf( Ϳ;?f(;ȾV( 30ɾkb)))qB(N a͋3x;N U=Replace (/): nfͣBqB  y !ͣBqB  y SB>ͧY( NƯ2$E:DO:sDO0f *jD>x(!DqB)A =Af F">=*BD[DD;6==Write block to fileH5 -Ͳ&<("=Overwrite old \-,(Ͳ&*DD~6=*BDq&wD1D=Read block from fileH5 -Ͳ&< =\.>6*(E[*E RDM*nD7>!5*nDR!5"\%?%"DD*nD"BD*m{RDM![nD5û>6=i6*nD[BD"BD "DD>*BD͋3D76=i6*nD"BD "DD@=D7F(>#[4DsA&>t{R[2D"nD[BD;[DD8;0 *BDR"pDMD>KpDy/Ox/G[nD*BDF">*BD;"2D*6D[BD;8[DD;0*2D"6D*DD[BDR=MD@>*2D"BD"DD=D7!bDx7D7*4D"HD*2D"DDNF A(>(*4D"FD*2D"BDF">*BDË3">*DDË3&͉7!t{;07)A">*(EË3!t{"4D?>#{;8!{"4D?6!TD~w6![Dfnã*2D͓A">*2D͓A"2D@=*2DͲA">*LD[&E;">*2D[LD;(ͲA[2D"2D:i ͲA*2DͲA͟7">*2D*LD:iG͓A͟78[LD;0͓A*LD[2D;">">*LD:iG͓A">:iOG*LD͓A"LDA*2D͓A"2D@)A=">:iGO*LDͲA"LDA*2DͲA*LD[&E;()A">*&E"2D"LD@=!t{"4D?F(͏7S7Ư2$E> 8͆7 FM:CAT:29*2D=">͓A"2D!t{"4D?@=29 *2D͓A;=">:cA>#[4DsAt{R*2D7>6 #6 *4D;"4D?*4D;">*:D;"2D*"2D@=>*4D;8 A8;8 A0#"4D*4D?>[4DկR0<2q{+;8+*2D͓A">*2D͓A"2D@=!t{"4D A8? A0;8 :q{ ># A8*2DͲAM::SD*4D"JD">*2DͲA"2D=!C"r{9!C"r{2SD"2D=F07*4D[JDRA6  07*4Dͧ?{6 ;(#yA!t{"4D?ʹ:">*2D͓A8 RMD;=&>*2D͓A=++>:( Z:i=͞;=A=>[4D;8~ (8 A8*UA A8%*2DͲAʹ7\7$;*4D *4D;8"4DUA?yAUA~ (qB†7͎;0Æ7͎;0Æ7:WD!i74 &oͣ*LDG( ͓A0<;;#[(ER#{+[&E> ;8 #+t{ ~Ϳ;:h=G<̓<͢<:NDG(~Ϳ;0; (:h=GF(̓<͢<>[4DsA#"hD;0+̓<͢<[hD;(~Ϳ;0; (m<~Ϳ;0  0@{<:(M>FF @[FD;87[HD;8!,FF ![BD;8[DD;(0 :Fl:FÅ:š> : 2VD:i=o&ͣ> !ͣZ*2DSFDSHD!t{6~[BD; "FD[DD; "HD X6 #(eͿ;0[DD;0!"HD[BD;0!"FD>2QD6 #*4D?F07:WD=07 (w# Ϳ;0&==Line too long - CR inserted>!}R9=͆;=A6!ͣ;!ͣ<> !{s{+; {;PYsA>#MD*FD>"FD*HD>"HDi`#t{R:QDO0*2D>*2D!t{A(%~[FD; "BD[HD; "DDw##+> w**ER8&B =0A byte(s) left>=ERROR: Out of space>Ü.=*** INTERRUPTED>Ü. BU.0z[(ERBһ>]T͍>S(Ex 8 G By(*BDp?"BD*DDp?"DD*LDp?"LD*2Dp?"2D*6Dp?"6D*:Dp?":D;طB [(ERMDx 8 G By(S(E[FDsAF("FDN[HDsA"HDt{:h=OR}88<2ND:h==2RDD72RD2ND6D7F*LD[&EsA"LD[2D;ʼ@8E[2D;( ͲAyB"LD6x :(:i=8 !ͣ c )A[2D;( ͓AyBx @:i=_yW81 F@0':WD8!(2WD*LDB͓A<"LDsq*LD :i_yO0͓A y "LD)A@ͷ@:WDo:i}(=(2WD*LD͓A"LD<:i=Þ;[r{Ⱦ(7:SD 02WD6 F( *FD;8 "FDN( *HD;8 "HD.A!{R(MDkb#!{6 ;͆7:h=*4DG#<*(E+RDMT]8 > A7MD> ;8 ;(8 #`i.A{R+MD{kb+y(6 ͣF(:%E2%E*>D"@D B*@DEB[>DR͠w"@D#m{R!Y{[>D*@DR( EB~">D[>D*@DR{ DCAB                <>,[].*+-/$:=(){}^#' 8f9f9s9997778~8T8S7\7/8A88J77'7|9q7κ$UZZ7696ݵU4*T}712-2t{t{t{Y{Y{  {{sq{*(E#"{$$$$"{* y"ygo2{2{2{2{2{2{2y2{2{"{"{qq+"Ty> 2{>2{>2{*&E"{"{!y6*yͤl**E+"w{T]B"s{"u{"{{ͩk!tE:y= xll"yrwoXn u tFn tFn(Po*o>1!vk!y:y(ltk:{(>~kyk!ehk>!~kyk>~kyk* ylk:yg.>yk!hk̀FR~.ͼr ! dk[y$l!l:{_$l*s{im"s{:{_lYkyk\mͨmn(*o*s{Wmimo 8ix\mx Wm !Wzy \m~# Wmͨm'"o\mTm*s{Wmͨm}O[Z{r+sXoIr*o Xnu iw+p+r+s*o6+p+:{( r+s~Ͷr+:{ͼrLxn*o:{*yW(!"{*{{*s{"{{~6+F+V+^+(#!l:{(%V+^+iR:\{2{*b{}2{l"{r+s+x(J~OF+~2{+V+^+"Z{iR*s{Wm~\m~+(\mWmWmͨm2{4OA*s{*{*{:{:{:{!{4̀F2{2{2{"{"{S{|(R( lktk! hkM2k#^#V++~+(XR:W{ 7:\{8(@(98(6 0/2k)Uk*X{pk*b{lk2k2W{>2\{!"b{Uke2kR!{5:{(F*{:{ G2k>!vk!;hk2k" >!vk!-hk>*vk:{= 2k&*{|('[{R(:{( :{>~klkpk!#dk2k*o"s{"u{"{{*s{[{{R#^#V~( ++~+(~ͼrI*s{:{_Wmim\mWmWmͨmn(*s{}OwRXnDu> #:{ͼrK6n ~2{+V+^i"{>2{ͪOͼr$2{:{:\{rC͗N"o2{ͿN:{(x=ͼrK:{! *b{:{ :{ l *{"{++~(+:{w+r+s+[Z{r+s+++ͪOXn$uͽOPP"QMQ͇QͧQQr$6nV+^"Z{iRXn*uoR*Z{*`{[^{R#|Ͷrbn(ojo}O*Z{"^{*b{|rͪrb"b{"`{>2\{6RXn6u:{:{!{4~2{*{*{!"{"{2{mP*{"b{"{"{:{2]{2{2{>2\{6RPXnu(O*{[{R8"{n(8ͪOOjoP*{in("oHo:{>2{mP2{"{n(:{PoXnur:{oXnuXn3ujoR*`{[^{|ͼrF===;;;}2\{6R oWm*s{͜mͨm"^{>2\{>2]{!"b{6RXn/uXnBu }O:\{80rD*Z{"^{>!>!02\{"b{6RXnn!Wmim:{\mWmͨmn(Po!{~42\{S^{"`{z!(#"b{6Rix ͪr3Xnbuͼr iͼr,orͪr4QͧQͪOͼr:\{ rWm*s{"Z{!\{~\m#ͨmi{~+2W{V+^+SX{V+^\{~+"y{*s{Ky{B #N#F ~ 6++~ @+~(;6+^+V*s{Kw{B Ͷr*#N#F ~ ++(~+(F+Nq+p}R2{2{YS"{dk*s{[u{R0I#N#F#~#^#VGz(+~O<Ͷr(+V+^[{x $lͪrG!lGUk>vk*{#R!l+älgSXnu2o>2{:{2{_(>2{~kvk!lgSXnVu(2o͒^2kEyk6nͼr)XR:W{ :\{ 0r m:\{`o^Qkͼr,*vk:b{= 2k&{~k2kyk###!l͝^2{2{jo!{~(2kf(2k i:{ͼr.pkXnbu "i:{ͼr.ѷR#lk2kRB> 2kR>2{n(:{~kyk@o($l:{˟~kyk:{:{gS2{2{n(Xnu(6Ykyk!lXnPu(U:{Ͷrr)gSXnu(2o!l6nͼr(:{ͼrHWm:{\mYkWmyk:{:{!{Ͷraag:\{ͼr!{^4!{:]{w*{>"vkn(XnTuͼr gS2{Ho>> o>( >< o>(2{goGi x (Ar!{~ 6>* o (6n XR*X{6n( 6nͼrJ++V+^ j>+ o(>- o(:{(0 $% }~kyk>/ o}VPo+F+V+^+V+^+++V+^+V+^+ʸWHoF+~+2W{V+^+H~+(AiR:W{ *:\{8f^FX:\{(* 8) $2k m+g mag?m:i{ħX+mQk(@o(@oPoz(tkpk>vk:\{(80r6:{O G(>*{"X{mgQk>2W{`o:\{Y m+g%mͧX:d{=(<(2k[2k*e{yk2k*o{lk2k:\{ x - ! # x 2ke. x  ! hk:\{  y*^{*{|[^{Rr,:\{(O 04 :{o '#000*`{| *m{~ !\{i{0 #r,V+^+V+^SX{iR2W{`of^FXeY!q !p7Y4Qk@oͲ^PohkY!7YY!!!YBYàZYͶr?!(!pQk@oy^Yͼr@!!Y!YY:\{ *^{SR*o{pkY!YPoY:\{_^#Vhkqp{jHoYr͔g7:\{8 0mg:\{ɯ=>2{n(ͬZsY8 ʺ[ͼrA!hkQmgͬZͬZag:\{8 ( 8rB :b{=g.yk!!s (!E ( !O:b{= !Nhkn(Po!:{hk:{G! hk!:{w(!:{(!2{hk>2{n( !hkô[Y8! ʿ[ͼrA!hkë[a!hk/!hk>j !x ~,() !hk@kë[a^x8 8rB n AͿ^*an y^x *n Qky^!x .tkx Qk!tkx!(!z (!' ( ! (!#hkn[Po!ÙZ!!"{:{ͼr#!hk*^{SRn mag%mͧX*{hkPoàZ!!Yͼr%Qk@oagQk@oy^n(Qkag:\{ :b{= rgYHo͏\Qk@oy^Qk@oy^!PohkHoͲ^@o͏\Qk:b{=g.@oy^yk!! ag:\{r"Hö́^*an y^Qkx (-n y^Qk!x (.tkQkx ( !tkQk@o͏\:b{=g.yk!x (!c\HoͲ^@oag:\{ ( :b{=> rQk@oag:\{ :b{= r! (!Hoy^!Qk@oy^.!IhkHoy^!]@oy^]*^{SR*o{tk!BY]@oy^]*^{SR*o{tk!{BY!!]]QkHoag:\{rHoy^!BYHoagQk@oag!eX]HoagQk@oy^Qk@o͝^!OÓ]! !!?hk!!!l!c!ZV! dkp^2ki`oy^2k m^+mͷe`oQk^x r^x r^x r^x ͼr ! hk^x ͼr!2ke.z_x  ( ͼr/2k|g2k}o}_ ( ͼr/2k|g2k}o}_`j 5:{_j2{x 1yO~kyk tk!Nhk@k6n WiR*^{"{:\{G͔g \:\{0( ͼf*^{"{:\{GiR:\{Oͼr>mg*^{~ ͼr>*`{~ ͼr>*b{|ͼr>e.yk!9hkn E!hkn͝^x Oͼr,Xnbu! Qk͝^xŹͼr,!hkn(on ^Po#>+e~ke2k&e2kl&e2k}lge! hk!Ho^Pox(͠^ e e!"{e !Ho!Ͳ^PoñcHoͲ^@o!HoͲ^@oy^@oQky^Po!lhkHoͲ^n Ͳ^!>hkPo!e!~hkn! y^Po!< hk!e!eY !!!eͼr#hk!VV!^^eͶr?(!>!E>Hoy^Qkn y^2kDM2k!Pohk 2ko&>Hoy^Qkn y^2k2k!Ho6n(6n ++V+^tkagPo Ho6n V+^iR agͤl*b{ͷe2kMh2k!9 oy^oHoy^PoHö́^Ho͝^n( !tk>2\{YͼrPoJJ:W{O*X{:\{ g!$ &:b{=g.yk! (>! (>**X{vkhk 2k! Uk(':{O( *^{[`{R(pkR#lk!Whk 2k2ks:b{=2k#r*X{ :b{=>" 2k}>2vk2k*yk:\{ 0 (mg!- ( !;(g!^hk:{ >**{vk:b{=2k&mg:b{= 2kn2k^#V*^{SR*b{:k{glki 1xͼr<.ayk"X{>2\{!t"^{!"`{i"b{Dk>!*X{vkigr)͔g:{*{O G>!(>*vkG >vk2kg("6n .XR:W{>!(>*!{p*X{"{h(i(Vi(́iXnxͷe> 2\{!"b{-"^{-"`{h:{GX!{~O6n x_*{"{!{6*i:\{nmgQkf^*`{SR:i{ͼr,*k{| }0!()2k+=< }8 2k#<  jpk2k:{O(*m{[k{R#pk!Mhk*^{iR*b{| }=(.= 2k)$ 2k)]T):{g pk!hkh2k:\{ n)ho>2{| }=(E(Qk2k)<2k:\{n:]{O6nͼr)XR*X{|!{F(mg6*X{"{*{[X{"{:\{ o!{~ 4mg62k^#V*^{iR:\{nmgQk*b{y^:{O( pk!Mhk2ko> 2\{!"b{+"^{-"`{>2{ir)ix rix ͼr j>j(ͼr,jx xGٯ|/g}/o#~-(+tox ( r{j6nFx+ 8V+^ F+N+V+^+~+ngNWz (+~~'(^(# f!Wz~^($#(6' B#~Ͷr7' #~' w# #~ͧͶr7@#w# #}ͪr8y= g:Wzo wo$(3hr0=hr0ͧE(. .()( ͤͪr9 ͪr8 F#~~k#y~k!Wz ~#~k>)>%>!{~kz>> >>>!~k}~k|G:y p#(=(*RͶrk:y([{= [{:y([{*s{7Rͪrc*y%%Rͪrb!{F(ˆl:{_!Wyp<ll*Ty#"Ty2{*yRͪrb"y:y=( ]k*{:{G(#^#VR8###+h&))DMT]+#s#r#s#r!{4:{G*{^#V#ͤlF#kF#k:y=[yR}2{)lg[{[TyR(l"Ty! !{Nˎ"WyGr3yGr=rd{W{"{!9 *{d{W{"{!9 d{W{!9 z\m{*s{w+"s{ék~Srͪr:Ͳn͚n~a8{0 \m#~dr0*s{#wo~Srͪr:*u{[s{RWm*s{"u{*{{*w{"}{:{(\y2{*u{[}{R 2{=#^#V~(+~# ++F+H˸a8{0 y(dr8"{S{~2{*{[{:{m[ o~(~.#to>] o~.~)>:>;>,>.>( >)>=>^ݾtonrnr nrnrn:{(r)nrnrororXndurXnBurq2{=2{~( ( ((({( ~* qF~$(!qx*~  ~) q} qq~ͧI(MR(GA(AU(;X(5V (/B@()C(#W(LK(D(F(RG(NP(Jr]q~+( -(ͼr]6!{~wq~,oq~hrͪr]02{q~hr0 q~:yͼr` -\Gr<ͶrZy$:y=( !Wy"{!y>!*s{[{S{R<|Ͷrc}o)|"{"{2{2y!"{:{2{:{2{*p~#:{ͼr[*{"{*{"{!yq ( ( ( 8w#2{`qqq`q6*{#"{}(> :y(>I> > *{@.͠(. *** Abort compilation,ͼr  :y *{~#"{*{[{R80[{:{GGryGr !>S{*{~#"{ 2y:{2{:{2{*{#"{A[?_a{?Sr0:?||zr}DM!>))0 = BKgo>jB0 7?= ## ##+~qq2y( yR[{:y [&ER[{" y:y= 3yGr{q{ tEGETNItAHCtAER tAELOOBtXETtTYB  URT SLAF  NIXAM !I P tUPTUO tUPNI tOC tRT tBK tSL tUA tSU tELFUBtTPPAEHtTPRUCERtTPTSNOCtTPNINOCtTPTUONOCtTPTUOTSLtTPNIXUAtTPTUOXUAtTPNIRSUtTPTUORSUtTPRORRE tAERBC      ufuuuuuvPROGRAENFORWAREXTERNAPACKEARRAFILSERECORSTRINOABSOLUTTHEELSDUNTINONI.:LABECONSTYPVABEGIOVERLAPROCEDURFUNCTIOBEGIYSISWHILTREPEA.TFOMTCASUGOTVWIT0VINLINzVT#DOWNT+ANDIMOSHSHOXO<>< (IWRITELZWRITZREADLZREAZDELETH\INSERi\ASSIG%YRESEԛYREWRITŠYCLOSŽYERASSYRENAMHYSEEnYGETMEv]NEׁ]FREEME͖]DISPOSš]MAR˶]RELEASŻ]OVRDRIV]CRTINI^CRTEXI^GOTOXO]CLRSC$^CLREO*^NORMVIDE/^HIGHVIDE/^LOWVIDE4^INSLIN9^DELLIN>^DELAk]BLOCKREA[BLOCKWRIT\RANDOMIZe]MOV]FILLCHA]EXIC^HALI^PORO^STACKPTZ^FLUSȍYEXECUT`YCHAI[YSTҜ\VA]BDO5eBIOeCHdORcCOPBdLENGT#dPO4dCONCAcdSUCöcPREĹcUPCASdTRUNàcROUNĥcODcABScSQBcSQRgcSIlcCOqcARCTAvcL{cEXЀcINԅcFRAÊcRANDO͎dPARAMCOUN~dPARAMST҃dLcHcSWAcPT dIORESULԦdEOƫdEOLdSEEKEOƷdSEEKEOLμdFILESIZdFILEPOdKEYPRESSEcMEMAVAIdMAXAVAIdPORԡeSTACKPTҬeADDXeSIZEOeBDOSH5eBDO6eBIOSHeBIOeME are not allowed  can not be  constant  does not  expression  identifier  file  here Integer File Illegal  or Undefined  match  real String Textfile  out of range  variable  overflow  expected  type Invalid  pointer 01';' 02':' 03',' 04'(' 05')' 06'=' 07':=' 08'[' 09']' 10'.' 11'..' 12BEGIN 13DO 14END 15OF 17THEN 18TO DOWNTO 20Boolean 21  22  23  24  25  26  27  28Pointer 29Record 30Simple 31Simple 32 33 34 35 36Type 37Untyped 40 label 41Unknown syntax error 42 in preceding definitions 43Duplicate label 44Type mismatch 45 46 and CASE selector 47Operand(s) operator 48 result 49  length 50 length 51 subrange base 52Lower bound > upper bound 53Reserved word 54 assignment 55 exceeds line 56Error in integer 57Error in 58 character in 60s 61 s ands 62Structureds 63s 64s and untypeds 65Untypeds 66I/O 67 s must be parameters 68 componentss 69dering of fields 70Set base 71 GOTO 72Label not within current block 73 FORWARD procedure(s) 74INLINE error 75 use of ABSOLUTE 90 not found 91Unexpected end of source 97Too many nested WITH's 98Memory 99Compilerd WITH's 98Memory 99Compiler!C"* *#s#r####g#s#r7!}!*!y 0&! ~#fo(:z <2z!f!z64!6">2{G:|2{x4!  ^C$qqqq1:2_ :_:@. '. !<.    7*"! *o"![K<!ѷ(  :{>> 2|TURBO COM TURBO.COM not found. Re-insert disk in drive X: and hit RETURN$"/"""@2Б!12 2*"*"rKB*"!ے &),HV]agqty Egmv"&^#V#{*N#F r+s!6#6q(6 #( {w#6x2q(#Q!\q(a!\\!Q  a{  &),HV]agqty Egmv"&^#V#{*N#F r+s!6#6q(6 #( {w#6x2q(#Q!\q(a!\\!Q  a{ program. NUMBER MESSAGE 5 Illegal function call A parameter that is out of range is passed to a math or string function. An FC error may also occur as the result of: 1. a negative or unreasonably large subscript 2. a negative or zero argument with LOG 3. a negative argument to SQR 4. a negative mantissa with a non-integer exponent 5. a call to a USR function for which the starting address has not yet been given 6. an improper argument to ASC, CHR$, MID$, LEFT$, RIGHT$, INP, OUT, WAIT, PEEK, POKE, TAB, SPC, STRING$, SPACE$, INSTR, or ON...GOTO 7. a string concatenation that is longer than 255 characters NUMBER MESSAGE 6 Floating overflow or integer overflow The result of a calculation is too large to be represented in BASIC-80's number format. If underflow occurs, the result is zero and execution continues without an error. 9 Subscript out of range An array element is referenced with a subscript that is outside the dimensions of the array. 11 Division by zero A division by zero is encountered in an expression, or the operation of involution results in zero being raised to a negative power. Machine infinity with the sign of the numerator is supplied as the result of the division, or positive machine infinity is supplied as the result of the involution, and execution continues. 14 Out of string space String variables exceed the allocated amount of string space. NUMBER MESSAGE 20 RESUME without error A RESUME statement is encountered before an error trapping routine is entered. 21 Unprintable error An error message is not available for the error condition which exists. This is usually caused by an ERROR with an undefined error code. 50 Field overflow A FIELD statement is attempting to allocate more bytes than were specified for the record length of a random file. 51 Internal error An internal malfunction has occurred in Disk BASIC-80. Report to Microsoft the conditions under which the message appeared. 52 Bad file number A statement or command references a file with a file number that is not OPEN or is out of the range of file numbers specified at initialization. NUMBER MESSAGE 53 File not found A RUN, CHAIN, KILL, or OPEN statement references a file that does not exist on the current disk. 54 Bad file mode An attempt is made to use PUT, GET, or LOF with a sequential or to execute an OPEN with a file mode other than I, O, R, D. 55 File already open A sequential output mode OPEN is issued for a file that is already open; or a KILL is given for a file that is open. 57 Disk I/O error An I/O error occurred on a disk I/O operation. It is a fatal error, i.e., theoperating system cannot recover from the error. 58 File already exists The filename specified is identical to a filename already in use on the disk. 61 Disk Full All disk storage space is in use. NUMBER MESSAGE 62 Input past end An INPUT statement is executed after all the data in the file has been INPUT, or for a null (empty) file. To avoid this error, use the EOF function to detect the end of file. 63 Bad record number In a PUT or GET statement, the record number is either greater than the maximum allowed (32767) or equal to zero. 64 Bad file name An illegal form is used for the filename with RUN, CHAIN, KILL, or OPEN (e.g., a filename with too many characters). 67 Too many files An attempt is made to create a new file (using OPEN) when the directory is full. ::M80.HQP  d file is .COM, and this file is called a "command file". Once saved either greater than the maximum allowed (32767) or equal to zero. 64 Bad file name An illegal form is used for the filename with RUN, CHAIN, KILL, or OPEN (e.g., a filename with too many characters). 67 Too many files An attempt is made to create a new file (using OPEN) when theRSV`BD@p1ZCUfq4X,p2.I  IMB: S" QQe%:2 T'S`RDĔQI:$TRFML@@SlV>-@hmpZ,$|PLdl#) G)!"btd*)#&FH1!"Att&$ B@!"t*)#GJ!"td**,F@@1"ʚԖ BE%IhP5UfZ h* :<͠ )  W-0)MCy@N:LFSe2hd7Cxf2\+ĄkI HHĄjJq HH)1 H* Q`HaKFѰHc8ԐSBE$IP5f C$UB=Y!PpBC,uE@`TCdrx%@#'3eO'0!@aV@0*f aqYVwa)ɁUf7H邛E2*kɃBČhLRFDhfà` HHĄƱp HHiĄIȋ0 HH>d(QH*`HeI HaH)ӀՔ BEeI@Ԅ >@P!O @KEɌbBDd($$RSPbBED$x$VPTdDDe8xDERBFNddBDIRE#)@$3@Ą J HH F1 H`8 RE#I@,5YFB@1!"d)))A@1"t()"NRE#i@$3@Ą J HH F H`8`bBE%XAIVP 5=f VF@- %0ma# CV@@-T4e@,2@GRT$da_ [h5GXn­fRV"EXyXTLvUf6Wp DXreXYWʶ60 p@m݅NXXrC|~@¼+ 8Hcͦ`Lv/ٴ~,06U(V>2# U_e_@6U_0`_U`*a^#mT6_\ud^È"p F2H Fʫ/c ʀ1{0 ʶ'Fʱ -Pj |5Fxk (#a`[D+9 +<-WX º#C+O,C< _ ==qsE `K6O6m<-WB ~O,2@ sGxY2 FXe/S|+bP'&\.K%@ HH(ĄjjQHHĄ*q HHĄ J0 HH(Ą ђ HHJjp HHĄjQ*HH J H] ꪑ 8SbBD4et 1]$$CSTR TbBDE(5=Z$$PADR U RBE%5M]$$TOS U bBEEDQQMR$$VSTRQ`bD4DT !:$COPYRP bDU$(I)QJ$ERRPRTbDDH=MaR$RSTCMRSbEEEQQe=R$TTYSTT BE$ A59RCPMREAUd5u$ A5]I6DERFNFTT dd95%2CPMORG QS`bBDU( 1N$$D0.0  `bBDDDQB$$DKCF  RBDEE8I$$ERRV VU bBDc$$FARG S bBDdH=Y$$FRPT ѐ`bBDt4H%9].$$IOVF TQ bBD41AI$$MOVF SbBDT==$$OPAD bBDEtA196$$PUDS QSbBETdIM$$RNDC  bBE%5(IMQ>$$RWOE QbBE4eD8M=Y$$STKPI ՔbBE5e%8Q J$$THBI bBED$xQ5J$$TRFL ӠbBEt4]I$$WRF1 BCC3Ը$530IQ`BDTH=$GETADSQ bDD4%82$RTMVR  bEu%D5(i!1INTERLS RBDe585$$SFPT `RBD54 QN$$LFMBPBDD8%8 $SASA.ЕQd%TeE(I 6DERBFNђSddD$I  2FRCINTӑdE48951=N$$SOBIS`RDT%AU VALTYP UbBDdI1$TYPLCIT`RDdD1 DERFOV U ddB4 15^$$WCH REcAX $PV0CI REcAX $PV1CIQ REc$AX $PV2CI DdUH]I&$$WRIIbE#3 5A FILOU3I`RE#XIJ$TBLSI`RD(A=M$POSBISRE54MA $TABAIPRD4 9i $CNZCIӖ BDd%9R$FAT BDH1J$FID Q`2DX%9$$CPXI `bBEd  $AUIP`RD%5T( MU$BSUDIQ`RD%5Th MU$BSUH2DEXY$DVDBIRDEdDHY$DVDFIRDEdD$FADBIQRDdDH$FADFIQRDdD5U$FMUBIUPRDdTH5U$FMUFIUQRDdT 5 $MUР2E5X NABS P DD%8U5$UMFBISQRETdHM1$FSLBIRDe4H A$$CPADIѐ`RE4td(M$SGFDI bBD5$HM$FASBIT`RDd4M6$FASNITRDd5 a "$LFHAIRDd15 $LTMAIPRE5DMQ5 $$DFB T RBE4d(*$$SFJRD4D $CISAI`RD4E( .$CSPAI2D5 $MODAISRDDH5=$MODF  RDEd%Y $IDVCIQ RDEdX%Y$IMUGISUR RDT%5U*$IMUKISUS 2DӘ &$UMIAIP`RD3 % $C8ICIQ RD4 %9 $CINCIS REc R$$CTSDI  RE44MM $MD$AIP`RE%4TQN$AD$A QBDԔHI%$S2$  BE5BH !J$STD `BE5E(5-$MKI RbBD45HEM$GESAI`RDU41QM$NESAITU`RDtUDQQ$LETAI`RDUD%L$IST PRDe"DI$NRLIS`RDT( Y$CVI ՔBEd !IQJ$$GSTRI bBE5E5X=M$OGTAI ѐ`2D4QeQ`$AB00 P bDD4M!J$FCPIPT BD$5I4$SAF BEUUA,ARGPTT48DFACLOѐPTd4FBUFFRSՐddtd8QeAJMAKINTRSd5D48=Y MQJOVERRQU U4U%(QQeA=N$DHD  BD5X 1I=YFRQINT T BDD8- $DKC0 BDD-:$DKR SѠBDd0$GETSBD81=$PUT  BE%HILCRDOUѐdDDe8 1,DERBRNT dDU$dXI>DERIOETQdDU%Dh IJFD.CHG ddB8A!fFILIFVSLddeh%1=URFILUPPS dddEH9i 1.GETєdE$951<NMLOFCTUDD=UQMFPOPAHTU e$dxM Q=JVARECSTUDT(%8 6$IN$SSd5E$H%9 !JLISPRTTPRBD3D( $$XFO  BBDJ$$EN TBBD$$A1L2D8 $AC2Q BD$xI$ARG2IT2D8 $BF 2D4H R$DAC0RDD4h $DE2DD B$DTBF`bDED$c8Q $DTBF7 bDED$d Z$DWQRDTdx $FL 2Dex $IM`2D( ($J4`2Dh ($J8QBDH A $PL RE3( AJ$PSBE$T8 M$SG2E5x Q$TSSbDD45YI$SAF1 Q`bDTE8UMN$DDIV0IUbDDEh=Y$DQRDE$HM!$DSHFL `BDhaI$DNRML`RDDDh F$ARUPQ BDDc(A&$DF4̠bDDs(4$DNGRԌ RDDXA!$DPHF `bDE(A%<$DPPAIbDE4$(M!I6$DSQR2TbDEE(5$MMFT`2D(5U1$MVRG0`BE5h MJ$SUBF BEDhi$CJ 2D5I9DBLERQS E4t 0$AINT1QV`RDu#%%bINTBDT#H9$AA P 2E4M$SB0  BD$5J$XAR ՑRE4#9J$DAI `BDD#$DB00IԌ BDC 5$MB01 P RD#(5$ZAC0I RE$C1R$PHA N`BDEh4$PPA `bE4#9=H$NOR RDdcI9$MAM `RE4cM!HP1(1ǀ(13&H9 qHa} (1ñhHl I108ZXF/7 RBE4d(x$EQCARDtT4$GTCARDT4$LTCARDT4РRDD4(Q $LECBIPРRDT4(E P5 #|bB>8ZXF/7 RBDDd(x$EQCBRDtT4($GTCBRDT4($LTCBRDT4)RDD48Q $LECCIPRDT48E P5#|bB>8ZXF 028I ѐ# :ITP  :I1 :I㡀9 p RDD4HQ $LECDIP RDT4HE P5#|bB>8ZXF 028I # :ITP#  :I#1 :I#9 p`RDD4XQ $LECEIP`RDT4XE P5#|bB>8Z@j1 HHd(q H h0 Hh H ȨhѠRDD4hQ $LECFIPѠRDT4hE P5#|bB>8Z@j1 HH(q H h0 Hh H ȨhӀRDD4xQ $LECGIPRDT4xE P5#|bB>8ZXFĄ HH(hА Hh` Hh H8 RDD4Q "$LECHIP RDT4E "P5#|bB>8ZXFĄ HH(iА Hi` Hi H8`RDD4Q &$LECIIP`RDT4E &$LTCJIҠRDT4 *$NECJITPҥRB>Ga!D#u$*@LZT|R@@d(q H(iQА H iQ0 HiQ` HiQ HiQ H ȨiS`RDDQ)$LEJAIR`RDTE)P5*tl|aѰF6Xtl|qK2^n6(hQѐ HH1P H H1 HȩH3RDD(Q) $LEJBIRRDT(E) P5*tl|aѰF6Xtl|qK2^n6(Qѐ HHQP H HQ HȩHSRDD8Q)$LEJCIRRDT8E)P5(tl|aѰF6Xtl|qK2!`d)%FH" td"!C)":*Rt#%!B)"b*Rt&*%!E)"r*R RDDHQ)$LEJDIR RDTHE)P5(tl|aѰF6Xtl|qK2!`d"#%FH!"" td""GC)":*R$t#%"GB)"b*R$t&*%"GE)"r*R$`RDDXQ)$LEJEIR`RDTXE)P5)tl|aѰF6Xtl|qK7+4 02BI c$M*2HP E):IRcQ):IRc1Q):(IRgRDDhQ)$LEJFIRRDThE)P5)tl|aѰF6Xtl|qK7+4 02BI c$*2H P E):IRQ):IR1Q):(IRRDDxQ)$LEJGIRRDTxE)P5)tl|aѰF6Xtl|qK2!l02F  #$M*:2ITR): I@1):I㢀9)p RDDQ)"$LEJHIR RDTE)"P5)tl|aѰF6Xtl|qK2!l02F  #$*:2ITR#)": I#@1)":I#9)"p`RDDQ)&$LEJIIR`RDTE)&P5'tl|aѰF6Xtl|q\B0$$F0.0RBE4d$ACRDUx$GEJIRDuDP$LEJIRDD$NEJIRDDQ)*$LEJJIRRDTE)*P5'tl|aѰF6Xtl|q\B0$$D0.0RBDDd$DACRDUx$GEJJRDuDP$LEJJRDD$NEJJS`RD4@<~ЦH/R<`d4$#G@)"Jr P`RDDT4@<KfJ/Z>`d4$#G@)""* PQ`RDD@(U>Jǃ bBDdh$IADATА`RD4$@D>ѝxĄ) H8SUP`RDT%5U$IMUBISUPRDTX%5UP5fuڥXFbYu\n jYh0juұ|S*~UY!Kj:.MOw\x*USzq*gdH1!"Jz4t$E)"Jjt\$@)"Jj$t\$E)"Jj4`RE4@P~ޯ> U* a HHi 3ԑP`RE$TI $REACIPQ RE%5DIMQ P5,f VyDt@@W+63@mf|amb\44|pYdixfX0 "r;*.UF aUh&yh( 2gd+<@4uX, 2a[ "b FVʹ6+T##ܢf~"|L46`qY0()ٖUs@zfͿ@DDb+S0ۀ+/:T`͠,02NI 2 QN2F U#`8QB2I Sգ `8==2I #>IMQ>2T Q 4M= 2 '` 2N P03FUQ#I:(IPPI:IPQ#IMQ;I3@MM3ђS#%9 22H#'I %9R2ӑ RE5uM]A $SWPCI%SK,t|zZ希#+:,F+9 nz¢ 4#᣹$XT-jQ HjQР Hj`RDt4IQP5&A9#r"~kNBDT$ɌbBDt4H$$RGSEbBE5D$GOSARE$UDԑU BE$UI@HQ BEtI@@a=@2@ɌbBED$x`$$TOUTBEtI`BDt@@a=@2@ɌbBEUHH$$TLRGBDtӕS BDT@(aѐɌbBDT8$$TLRGBDTS RD@8aєfp{&2 S `Q1I:ISgU`RDUD@4aє=8d,'+@1!"b 6*Tl$dX`dL$+G1!"b&m*hj ,"^. F& ,p` !4Uc d0 p\.FX1!" *b,t S"iUBDD@0$$SVRSBDD ATANBD49@0$$SVRSBD48 COSV BDU @0$$SVRSBDU EXPBDy@0$$SVRSBDx ALOGSBE4@0$$SVRSBE4 SINTBE5)@0$$SVRSBE5( SQRTSBED@@Ԭ1ZWX3@ @fаf- &\.FF@)!"d))FD" d"!G@!" td@GJtV`RD$U a$BEXEIVSU 2f h.6AmV)xFf :djK2f :j1@ HH Jj0 HHH1p HHҐ HdSU BDDI@0$$SVRSBDDH DATAN BD4I@0$$SVRSBD4H DCOSV BDUI@0$$SVRSBDUH DEXP BDI@0$$SVRSBDH DLOGQ BE4I@0$$SVRSBE4H DSINQ BE5I@0$$SVRSBE5H DSQRTQ BEDI@Ԭ1ZWX3@ @fаf- &\.FF@)!"d))FD!"" d"*@!" $d@"!G""JtVRD$U( a$BEXFIV%SU 2f h.6AmV)xFf :djK2f :Ąj(@ HH Jj0 HHHQp HHҐ HdQT!TE5%I0t)*3@C@}> |z@h4 Dz¢3B!0" 562 P%520I#`A!2<IU$ AA2HIQ$2TUc&AA2 T(52vITQUSTDDQ9P5#5> Bm>p> `V>EiQ8c>Ӑ?*iFc1L? RT?@3@:gٰ+4 ڔ 4eW0@+4 k4hC@`f!u2 P5 V2T #2`%X3Iӑc/A!38Ṣ4A%<32I#2AA3TQ92 L,@563Uc)93Dc3 MV2TP0 aQ:QUSDD49`t"!@`d"($FA" d(")@@!"j2lSbDE4QM%:ki)0 Hb 4f 3@h!4zpfѐhzR >a1~JaIZX]eXNWN rS (BB `&s3S(syMZ;qDhtZ1sTfBm(8$MFMbDDc%8$MURDEhh$DFLRRDEɰ$NURDDDhx$DF42E5X$SAFBDDc($DPLX2DYU`2DU( FDBLEXPGG"*t"GC"*8Y4a`+68Y4 B2hʬ@W!U8Y` ! N0Z~&r~&ZH~$$} vc0QTRTBDd$MMFBD38x$DSQR2RDDX$MAFBDD( $DIVF2DXɀ$DPLXbDD3(ɰ$SUbDED$cP$MUbDDs(ʘ$ERR2D49I RDEŘY 1A1fjx P H"4Pmf 0D4(8\/!Ѡhr@$2D $DPHFBE5hȀ$DPPARDTh$MMFBDdɐ$MU2DYT!E5%It)*3@C꜀Q.G#՚5X4`Yf =aQ0#hBDdHx$AC3BE$DB01RD# $FR22D(P$PPABD($ERRV RDUMaBjh 0 Hb#Dvf 02 U#!@52IV54HCOSING@z4 C# M%:: x&[Th"#Ef 3@Śj4z 3iՀmx*0+Cɔ9`h#CKT3lIAC@!"2 d($FR" d\")FH@)"jd($ I!"2bd(( K)"d)FS!"*eH(&,NUSbDDA%<$FONEUS"Ĉ*)1 HeȬC@9@  DTCTA'p͢` !Vh!` fCXͤ50P0 .@b!0yTP) P1HZFH3 1H>*Q`HKFHWdhSSDyxt '@h! BDdH $LOG20RD#)TV 2DT($EB3MT*=Y*8Yʑ1Zz@ >-.Ve?fhh@>?IQ,aЀ$AC3BDC$EBBDT#8X$EB4BDT#X$EXPBBDd5ȸ$FLR0RDs(P$MARRD#$MB0BD$ɐ$PHABE4iIVDU)t"(!!MƆ/f `YT3@D%0Q,h`, q1݈4:! c  2 c" 1J28 T#M2J c%52j PT'M2v P'=YpI̠bDs#1=LOG2G@)"bz94bDs# fP$LOG21 @!  t0Z,0w%JQ}LǷ(8Q( NPqHJQHg 1H ɊPHa8  BEŘQA=1fjr hf ͢ GE!"b˭@g稍" @L|M@HP 0($$CFWAbBD4tȈ$$FIPTbBDe%H0$$RSPbBE4et$$SLWAbBE5Dp$$STSURBED8($CLRBD4ňX$DKC0BDX$RTMINbEDYTSBE%T@9Y@Ȕ\0 P/ -Tt H2C10#K 4jڠ4)8(ͨ BGK60@o3&o '#9 FF)!"jzd))FB@1"jDd"%G@!"tet!&*FX2jl`""#'#F2"Jj`#$' 2r j2JdRS`BD =5$MEMRY @P K@D&  Dh F"0TI@XF^b) 3h8[BVUPDB Ąh10 HH<Ą)ѓ HHĈi(@HĉK1 H$ĊJ)ѐ HAj ʑ Dj Iђp 8S bBE$x =596$RTMLDMk@%@P[TH@XFĀ00 THEN 3310 1040 C=0 1050 FOR K=0 TO 3 1060 FOR J=1 TO 10 1070 C(J+10*K)=J 1080 NEXT J:NEXT K 1100 FOR J=41 TO 52:C(J)=10:NEXT J 1130 V$(1)=" A" 1140 V$(2)=" 2" 1150 V$(3)=" 3" 1160 V$(4)=" 4" 1170 V$(5)=" 5" 1180 V$(6)=" 6" 1190 V$(7)=" 7" 1200 V$(8)=" 8" 1210 V$(9)=" 9" 1220 V$(10)="10" 1230 L=40 1250 IF L<40 THEN 1340 1260 FOR J=1 TO 52 1270 Z=C(J) 1280 R=INT(RND(J)*52+1) 1290 C(J)=C(R) 1300 C(R)=Z 1310 NEXT J 1320 L=1 1330 PRINT "NEW DECK":PRINT 1340 T=0 1350 T1=0 1360 S=0 1370 S1=0 1380 INPUT"BET = ";B 1400 IF B=0 THEN 1260 1405 IF B=999 THEN END 1410 IF B>500 THEN 1380 1420 IF B<1 THEN 1380 1425 IF B<> INT(B) THEN 1380 1430 GOSUB 2940 1440 GOSUB 3090 1450 PRINT " ";V$(C(L-1)) 1460 GOSUB 2940 1470 GOSUB 3090 1480 H=C(L-1) 1490 IF C(L-3)=1 THEN 2820 1500 IF T=21 THEN 2690 1510 IF T1=21 THEN 2770 1520 INPUT D$ 1530 IF LEFT$(D$,1)="G" THEN 2400 1540 IF LEFT$(D$,1)="D" THEN 2370 1550 IF LEFT$(D$,1)="H" THEN 2270 1560 IF LEFT$(D$,1)="S" THEN 1590 1570 PRINT" RETYPE: "; 1580 GOTO 1520 1590 IF C(L-2)<>C(L-4) THEN 1570 1600 PRINT"FIRST HAND" 1610 B1=B 1620 PRINT V$(C(L-2)) 1630 X=C(L-2) 1640 T1=X 1650 GOSUB 2940 1660 IF X<>1 THEN 1690 1670 T1=T1+10 1680 GOTO 1900 1690 INPUT D1$ 1700 IF LEFT$(D1$,1)="G" THEN 1900 1710 IF LEFT$(D1$,1)="D" THEN 1870 1720 IF LEFT$(D1$,1)="H" THEN 1750 1730 PRINT" RETYPE: ";:GOTO 1690 1750 GOSUB 2940 1760 IF T1>0 THEN 1820 1770 X1=0 1780 C=C-B1 1790 B1=0 1800 PRINT"BUST" 1810 GOTO 1920 1820 INPUT D1$ 1830 IF LEFT$(D1$,1)="G" THEN 1900 1840 IF LEFT$(D1$,1)="H" THEN 1750 1850 PRINT" RETYPE: ";:GOTO 1820 1870 B1=2*B 1880 GOSUB 2940 1890 IF T1=0 THEN 1770 1900 PRINT:PRINT T1 1910 X1=T1 1920 PRINT"SECOND HAND" 1930 B2=B 1940 PRINT V$(X) 1950 T1=X 1960 GOSUB 2940 1970 IF X<>1 THEN 2000 1980 T1=T1+10 1990 GOTO 2230 2000 INPUT D1$ 2010 IF LEFT$(D1$,1)="G"THEN 2230 2020 IF LEFT$(D1$,1)="D" THEN 2200 2030 IF LEFT$(D1$,1)="H" THEN 2060 2040 PRINT " RETYPE: ";:GOTO 2000 2060 GOSUB 2940 2070 IF T1>0 THEN 2150 2080 X2=0 2090 C=C-B2 2100 B2=0 2110 PRINT"BUST"; 2120 IF X1>0 THEN 2410 2130 PRINT " ";V$(H) 2140 GOTO 2510 2150 INPUT D1$ 2160 IF LEFT$(D1$,1)="G" THEN 2230 2170 IF LEFT$(D1$,1)="H"THEN 2060 2180 PRINT " RETYPE: ";:GOTO 2150 2190 B2=2*B 2200 GOSUB 2940 2210 IF T1=0 THEN 2080 2230 PRINT:PRINT T1 2240 B=B1+B2 2250 X2=T1 2260 GOTO 2410 2270 GOSUB 2940 2280 IF T1>0 THEN 2320 2290 PRINT"BUST"; 2300 PRINT" ";V$(H) 2310 GOTO 2560 2320 INPUT D$ 2330 IF LEFT$(D$,1)="G" THEN 2400 2340 IF LEFT$(D$,1)="H" THEN 2270 2350 PRINT " RETYPE: ";:GOTO 2320 2370 B=2*B 2380 GOSUB 2940 2390 IF T1=0 THEN 2290 2400 PRINT:PRINT T1; 2410 PRINT" ";V$(H); 2420 GOTO 2450 2430 GOSUB 3090 2440 PRINT" ";V$(C(L-1)); 2450 IF T<17 THEN 2430 2460 IF T>21 THEN 2490 2470 PRINT":";T 2480 GOTO 2530 2490 PRINT": BUST" 2500 C=C+B 2510 PRINT"YOU HAVE $";C 2520 GOTO 1250 2530 IF LEFT$(D$,1)="S" THEN 2580 2540 IF T1>T THEN 2500 2550 IF T1=T THEN 2510 2560 B=-B 2570 GOTO 2500 2580 IF T>X1 THEN 2670 2590 IF T=X1 THEN 2610 2600 C=C+B1 2610 IF T>X2 THEN 2650 2620 IF T=X2 THEN 2510 2630 C=C+B2 2640 GOTO 2510 2650 C=C-B2 2660 GOTO 2510 2670 C=C-B1 2680 GOTO 2610 2690 IF T1=21 THEN 2740 2700 C=C-B 2710 PRINT" ";V$(H); 2720 PRINT" BLACKJACK" 2730 GOTO 2510 2740 PRINT"BLACKJACK" 2750 PRINT " "; 2760 GOTO 2710 2770 PRINT"BLACKJACK" 2780 PRINT" ";V$(H); 2790 PRINT 2800 C=C+1.5*B 2810 GOTO 2510 2820 INPUT" INSURANCE ";I$ 2840 IF LEFT$(I$,1)="Y" THEN 2870 2850 PRINT " "; 2860 GOTO 1500 2870 IF T=21 THEN 2900 2880 C=C-.5*B 2890 GOTO 2850 2900 PRINT " 10"; 2910 IF T1<>21 THEN 2720 2920 C=C+B 2930 GOTO 2720 2940 IF T1>10 THEN 2980 2950 IF C(L)<>1 THEN 2980 2960 T1=T1+10 2970 S1=1 2980 T1=T1+C(L) 2990 PRINT V$(C(L));" "; 3000 L=L+1 3010 IF T1<=21 THEN 3080 3020 IF S1=0 THEN 3060 3030 T1=T1-10 3040 S1=0 3050 GOTO 3080 3060 T1=0 3070 PRINT 3080 RETURN 3090 IF T>10 THEN 3130 3100 IF C(L)<>1 THEN 3130 3110 T=T+10 3120 S=1 3130 T=T+C(L) 3140 L=L+1 3150 IF T<=21 THEN 3190 3160 IF S=0 THEN 3190 3170 T=T-10 3180 S=0 3190 RETURN 3310 PRINT:PRINT:PRINT:PRINT"THIS BLACKJACK PROGRAM ENABLES THE OPERATOR TO PLAY HEAD-" 3320 PRINT"TO-HEAD WITH THE COMPUTER, SIMULATING THE EXACT RULES AS" 3330 PRINT"THOSE ON THE LAS VAGES STRIP. THE CARDS ARE DEALT FROM ONE" 3340 PRINT"52-CARD DECK UNTIL A HAND STARTS WITH LESS THAN 12 CARDS" 3350 PRINT"REMAINING IN WHICH CASE IT RESHUFFLES. THE DEALER MUST HIT" 3360 PRINT"THROUGH A TOTAL OF 16 AND STAND ON ALL TOTALS OF 17 AND ABOVE" 3365 INPUT"TYPE TO GO ON";W9 3370 PRINT:PRINT"THE INSURANCE BET IS OFFERED AT HALF THE PLAYERS BET WHEN" 3380 PRINT"THE DEALER'S UP-CARD IS AN ACE." 3390 PRINT"YOU MAY DOUBLE-DOWN ON ANY TWO CARDS, AND RECIEVE ONE MORE" 3395 PRINT"CARD WHILE THE ORIGINAL BET IS DOUBLED" 3400 PRINT"YOU MAY SPLIT ANY HAND BUT RESPLITTING IS NOT ALLOWED." 3410 PRINT"ALSO, ONLY ONE CARD IS DELT ON EACH OF A PAIR OF ACES." 3415 PRINT"YOUR CARDS APPEAR IN THE FAR LEFT COLUMN; THE DEALER ON THE" 3420 PRINT"FAR RIGHT. " 3430 PRINT" THE COMMANDS ARE AS FOLLOWS:" 3440 PRINT" HIT (DRAW ANOTHER CARD)" 3450 PRINT" GOOD (STAND ON CURRENT TOTAL)" 3460 PRINT" DOUBLE (DOUBLE YOUR BET AND DRAW ONE CARD)" 3470 PRINT" SPLIT (FORM TWO HANDS FROM A PAIR WITH THE ORIGINAL" 3480 PRINT" BET ON EACH HAND)" 3490 PRINT:PRINT"COMMANDS MAY BE TYPED IN AS THE FIRST LETTER" 3495 PRINT "TO EXIT PROGRAM ENTER 999 AS A BET":PRINT"GOOD LUCK":PRINT 3500 GOTO 1040  MAY BE TYPED IN AS THE FIRST LETTER" 3495 PRINT "TO EXIT PROGRAMMANDS ARE AS FOLLOWS:" 3440 PRINT" HIT (DRAW ANOTHER CARD)" 3450 PRINT" GOOD (STAND ON CURRENT TOTAL)" 3460 PRINT" DOUBLE (DOUBLE YOUR BET AND DRAW ONE CARD)" 3470 PRINT" SPLIT (FORM TWO HANDS FROM A PAIR WITH THE ORIGINAL" 3480 P!cA ~+ x cA!wASR@QAcAͣ !VR !VR !VR !VR !VR !VR !;R !)R ͉!@S@KhAR͵RB͵R B3AR Ä́))@}A AR͚A`SARA AR͚A`SARA͵RMB!AV))@}R AR͚A`SAR5B@!$Rj@!Rj@!Rj@!Rj@!Rj@! Rj@!Rj@!Rj@!Qj@!Qjh ARVS ARaC͵R:C!AV))@͚ͪA!AͫR7R R!2 ͚A!AV))@ͪ!AV))@Ϳ͐!AV))@}A AR͚A`SARBh AR !Q !VR hARhARh ARh$AR!Q ͉!(AS(ABjS(ARCk[S(AR}CVS(AR}C!(A ͔S(A}C`JK !Q AR̈́))@ͪ̈́@ `JK AR̈́))@͚ͪ,A A}R̈́))@͙ͪSRIoSAyR`IoSAyRI!VR ͉!0A0A!}!Q)H0A!}!QH0A!}!QG0A!}!QD !Q AmRA3A͚Ah3AmR !Q 5F!VR ͉!;A;A!}!QF;A!}!QE !Q E(A͚3A`JSAE !VR !A h>AA !Q hBA(A !7AV@ hA7A`JjS7AR|F AR͚AyG!VR ͉!;A;A!}!QyG;A!}!QoG;A!}!QF !Q |F`JSA"GhFAmRABA͚AhBAmR !Q S>A;H !Q !,AV@ H!VR ͉!;A;A!}!QyG;A!}!QF !Q "G(A͚BA`JSAF !VR !A 3ABA͚(AhFAA;H`JSAG !Q !Q !,AV@ H!VR ͉!0A0A!}!Q)H0A!}!QG !Q G(A͚(A`JSAG !VR !A !Q !,AV@ ÇHK !|Q AR̈́))@ͪ̈́@ VSAiRYH[SAyRH !xQ !A H !mQ A(A͚A !`Q !A üB0A!}!QI[SAAHoSAAH (A͚(AôH[SA>AQIoSA>A!I A3A͚A[SAFABIoSAFAH ABA͚AHABA͚AHA3A͚A!IoSAyRIA(A͚A !Q !,AV@ !MQ H ! TO GO ON=OTHROUGH A TOTAL OF 16 AND STAND ON ALL TOTALS OF 17 AND ABOVE;OREMAINING IN WHICH CASE IT RESHUFFLES. THE DEALER MUST HIT8 P52-CARD DECK UNTIL A HAND STARTS WITH LESS THAN 12 CARDS;[PTHOSE ON THE LAS VAGES STRIP. THE CARDS ARE DEALT FROM ONE8PTO-HEAD WITH THE COMPUTER, SIMULATING THE EXACT RULES AS9PTHIS BLACKJACK PROGRAM ENABLES THE OPERATOR TO PLAY HEAD- Q 10QY!Q INSURANCE 4Q ?QBLACKJACKPQ BLACKJACK cQYOU HAVE $pQ: BUST{Q:Q Q QBUSTQBUST QSECOND HANDQBUST QFIRST HAND Q RETYPE: QSQHQDQGQ QBET = QNEW DECKQ10Q 9R 8 R 7R 6R 5R 4R 3"R 2'R A,R(Type 0 for NO)>RDO YOU WANT INSTRUCTIONSYR@ (zy $P @:!S!:!Ȇw!!SO m8:<2!=SO l7!2^#V#N#F#{YOO6+F6!4~֫Sw 9!1w+w+wR5Jʙ9v" GSљ e͘w>hFhiuh!îR>qS>qS>qS>qS>qS>^#V#^#V#>ÛS>ÛS>ÛS>ÛS>ÛS>^#V#!2>S>S>S>S>S>^#2>S>S>S>S>S>^#V#!IU@DM*ST!9"t!S##"r TT%*^#V""##^#V"% 2'!JT!!""(@:M:PTA`T@2TT<ʜT!Tѷ:NT:OTڢT!wTTåTT BRUN.COM not found $BRUN.COM too large $BRUN COM:1U!cA"*NT"*S" "T!9""ÃDVersion mismatch M too large $BRUN COMqS>qS>qS>^#V#^#V#>ÛS>ÛS>ÛS>ÛS>ÛS>^#V#!2>S>S>S>S>S>^#2>S>S>S>S>S>^#V#!IU@DM*ST!9"t!S##"r TT%*^#V""##^#V"% 2'!JT!!""(@:M:PTA`T@2TT<ʜT!Tѷ:NT:OTڢT!wTTåTT BRUN.COM not found $BRUN.COM too large $BRUN COM1$1.5$.5$* d4d4d4d4d4d44   DO YOU WANT INSTRUCTIONS$d4(Type 0 for NO)n;"'p7`6 Ipp6p.7p6 p.7 p]!66o)p6̀4p.7]! p6! A! 2! 3! 4! 5! 6! 7! 8 ! 9 !10(p(p7g6ǀp64p.7]!O]!]!]!6ppNEW DECK$d4d4 p p p pBET = n; "' p76g p7TW p76 p76 B7,6C $p]!]!$d4C׀p]!p]!p7~6 p766 p76n;1'SG76!SD76SH76SS76 RETYPE: $d6p]!p]!76FIRST HAND$d4 p]!]!$d4p]! Cp7f6r p6Fn;1'SG76FSD76,SH76 RETYPE: $d6rC p76ppBUST$d46Rn;1'SG7 6FSH76 RETYPE: $d6 pC p7F6d4 #d4 SECOND HAND$d4 ]!$d4 Cp76 p6n;1'SG76SD76uSH76 RETYPE: $d6C p76/ppBUST$dp76' $]!$d46n;1'SG7H6SH7X6 RETYPE: $d6/ pC p76d4 #d4  6'C p76BUST$d $]!$d46Ԁn;1'SG76!SH76 RETYPE: $d6ˀ  pC p7!6d4 #d $]!$d6\ $p]!]!$d p7i6> p7v6:$ #d46: BUST$d4 YOU HAVE $$#d46ZSS76 76 76 06 76+ 76 7 6 76666 p7C6u  $]!$d BLACKJACK$d46BLACKJACK$d4 $d6KBLACKJACK$d4 $]!$dd4. 6 INSURANCE n;1'SY76 $d6~ p76. 6 10$d p786] 6] p7P6s]!p7d6s p p ]!]!]!$ $dp p76 p76΀ p p6ր pd4 p76 ]!p76  p p ]!p p7 ,6 H p7 96 H p pd4d4d4THIS BLACKJACK PROGRAM ENABLES THE OPERATOR TO PLAY HEAD-$d4TO-HEAD WITH THE COMPUTER, SIMULATING THE EXACT RULES AS$d4THOSE ON THE LAS VAGES STRIP. THE CARDS ARE DEALT FROM ONE$d452-CARD DECK UNTIL A HAND STARTS WITH LESS THAN 12 CARDS$d4REMAINING IN WHICH CASE IT RESHUFFLES. THE DEALER MUST HIT$d4THROUGH A TOTAL OF 16 AND STAND ON ALL TOTALS OF 17 AND ABOVE$d4TYPE TO GO ONn;"'d4THE INSURANCE BET IS OFFERED AT HALF THE PLAYERS BET WHEN$d4THE DEALER'S UP-CARD IS AN ACE.$d4YOU MAY DOUBLE-DOWN ON ANY TWO CARDS, AND RECIEVE ONE MORE$d4CARD WHILE THE ORIGINAL BET IS DOUBLED$d4YOU MAY SPLIT ANY HAND BUT RESPLITTING IS NOT ALLOWED.$d4ALSO, ONLY ONE CARD IS DELT ON EACH OF A PAIR OF ACES.$d4YOUR CARDS APPEAR IN THE FAR LEFT COLUMN; THE DEALER ON THE$d4FAR RIGHT. $d4 THE COMMANDS ARE AS FOLLOWS:$d4 HIT (DRAW ANOTHER CARD)$d4 GOOD (STAND ON CURRENT TOTAL)$d4 DOUBLE (DOUBLE YOUR BET AND DRAW ONE CARD)$d4 SPLIT (FORM TWO HANDS FROM A PAIR WITH THE ORIGINAL$d4 BET ON EACH HAND)$d4d4COMMANDS MAY BE TYPED IN AS THE FIRST LETTER$d4TO EXIT PROGRAM ENTER 999 AS A BET$d4GOOD LUCK$d4d46`NSURANCE BET IS OFFERED AT HALF THE PLAYERS BET WHEN$d4THE DEALER'S UP-CARD IS AN ACE.$d4YOU MAY DOUBLE-DOWN ON ANY TWO4FAR RIGHT. $d4 THE COMMANDS ARE AS FOLLOWS:$d4 HIT (DRAW ANOTHER CARD)$d4 GOOD (STAND ON CURRENT TOTAL)$d4 DOUBLE (DOUBLE YOUR BET AND DRAW ONE CARD)$d4 SPLIT (FORM TWO HANDS FROM A PAIR WITH THE ORIGINAL$d4 BET ON EACH HAND)$d4d4COMMANDS MAY BE TYPED IN AS THE FIRST LETTER$d4TO EXIT PROGRAM ENTER 999 AS A BET$d4GOOD LUCK$d4d46ÀÍ;Î;<FOUdP$\&[CP/M Version] !`$`X_  * !͏!*͏~~#j0*\%*$*$"͉1%*{z%\ѷ!:s<#^#V##^#V N#F+V+^*͉1S *͉1S%DBad load format DProgram too big DCOMMON mismatch ({!%6C#6O#6M!\>!͚2w%!\> {1$\<.LMBRUN 5.30 Copyright 1981 by Microsoft RO#* BK" ö+++*T!%T|> 6#s#r#=E6#}Q|QD STOV*.. . ........s*|q: * |  s#r  {w#6"** >2 h!9N#F~#~~+~#~+^#V####|%~#fo!-D Internal Error - No Line Number ~#D at lineu>ͩ<ڎ͢xͩ<ڎ00͢Ҋ}_|W!v1~#fo>D at address|h}h> 0> 0~#*v1~#fo!9",!*,".!$*.!:ey*r~#^#V#ȷN=GO [=b*{z*?w}|*p#N#F*r~#@ʞ^#V# ~#s#r_Ã6#6#6*r{OzG*tw+ x´#"r##6@#*r}o|g++s#r++"r"p|‡}p+ʿ.¼.`i"!"!"n ,ͦIX*2*2*2*2h@*2h*2*2 ,Zͦ~#wxAh !>Òͦ2Am'ډ ¶¦"G{,xPX'!R Oz"y 9 O{,yx' { ,> x'"$ L'L $,L D'L L*( 4:r{,r6!R 2O r+~ f#6!R ɷw#M2!2R*N#"!9""y2*|ʫ*!"A~#*R j1:~ʕP"R *2*2*2*2@*2*2*2*R j1C~#"R ,ʳ •:ʕó~•!"~,"[#"~oo# ^Õ"u#"R x"ʊ ʊ+~ yAD?Redo from Start *s! *:Oò*+~+ +w ++~#fom"!5*~2 #~#^#V6++i._:R *|N !R 2Am* ͅ 9* * * ͅ _!* * * BK* * * * * " * * BK* * " " " "= ~w#~wPYd>͆BKl!~@: ~@w+~_q+W: =>Cw+p+q+r+sA! ͔A%Mult. Def. Global ~@*b+"b}p+ʿ.¼.! ~#fo"T ! "V |‡*T }o|g."T *V "V #s#r++s ' 2   " ' " 2 " ͇ "  ' 2 ͇ 2= 2= "2F H~# > x2: v ͜2<. ~o 70#c  ͜~r 70#y >2: F#~#fox . ; ʵ ~#70é ; i >"70G:x 0*+~< = ###~ *#0!r * *~= /<.  = > 70 >,70W*#^ X R +=R :=R 0z{j {_\ >2|¬ }p+ʋ ¼.`i"++"! "#! "!2 Çå&(.}o|g > 70+| 0!"!"2 !"!"2 !~6#w~!& VN  i&Ò *&*&; -A -+͞ *{ 70e |‡}*t +6=^^#V#^#V#"1^#V#"11^#V#1x 11^# 1^#1&))) G6 G61~#fo3##@>M~+~?~X+#e+ eÐ6M96 1Ù66 1ù6^#V#ͺͺz||m99^#Vâ^#V#m9^#V^#V#%͹9|>|)g=|/g}/oF![G|WNo& Gȯ|g}o^ԧ~##++>{1+V+^+ʚ+r+s3m~R<28""*|‡}ʇ ڇ+<{*~#^#V`i#N#F {1*i#N#fiC~#N#fi{1iFO*G#~#fo#~#fox{1yCi6 #Cڇmmii~#~#fo{1|‡BKͷPY|‡BK Ҩ o_Ëz‡zʿ _o}`iRiDM ~ʇ#~#fon&iz}~s#  Ç|‡!9>A"2>b2>\2>{12>!31͜>3 1~#~xA>"!á>á>A>>>>>>!+>>>>>>~#fo##GN%y%#~#fo~#fo.#$  y.y<.8)8)iiQx‡ű\ y<2GF~ڦڦ#~#foyv1O #~#foxʪš#‰ê!G4 †2Gii*G&ɯ22e*p#V#NX!"29~io&~ʇ#^#V++io&~ڇ#~#fo~#foi2>2>=5#~#fo{1iÇ~<ʇ~#~#fo{16+#iiyx{~ʁUcO͙͜_!o4µ5*p"p~#N#F# v1øyx ø+++6@#yw#xw+++6###!o~6õe*p#~#~ҵ ~!*r"p~#^#V#bAv1(|M(++~_w#~Ww#(*rDM~#^#V#ڿn+zĜ+{Ĝ##{z~#q#p_ny´x´DMn~#´nYP+++"p6@###{_zW+r+sɷ*v| Áͥ^#V+"vw#s#r+++r+s##!*{z*?0}|~# 6yGx{1Gx#N#F& J3**͉1ʘlʒ3###y;D during G.C. ;D D Internal Error - String Space Corrup#N#F*ryx.*tyx.++`i+V+^͉1³##6+6+~6  >@++*v"vs#r+e*p#~_#~W\ Ír+s##6"t###!v~#foʀ͉1p<*r"p*t}o|g6@#s#r#6"t**"v}w>#w##͉1«++6+6xy>2| +})N#~#fo :!9"!4 ~v1#Ç:2,:2,!2l76~0#=8J~0#JG~#f#X++q0:|0y Y~# f&.&>:j%G$*2}/o|/g#"2|M9!2~wɯ22$͹6*2M9$͙6>>ä~#!2">!222)# (!25!2 ͪ2>>K>|}+!49+6!2>\622!7!4!24~_#~W#~O;o7!#l79¤ɇ<o&M9*2*2"2`i"2!2^#V#N#F#!m8 ;x{;!269wg>i;%; :Gw# "!2 2$2$*2||<$*2\!#2_͖:222:2$:2€Å|/g}/oß!$:2Ҩ"2>2͜ajÞ L}$>2`h̟~&$-++#.ʃeE2#l L q Q1:K>K~%ʐ#ʡ!ʢdKDbͫ#$#Pb_{_f̭$!ͨ$ bܫ#!!@bͫ#b$x=$rUDGK"2`i"2#~+-ʚ0OxG#~`xE¸y l>2|lðl"2`i"2#W!:   v"60͝"+~0 .E $>"w#6+6 6-/</ 8 :#p#w#6!#z i!n"zJ"5#{S=J"{ p#6!#:~ ʀ *ʀ + #-+_:{0 ## ++wʺ Á 6%p! #8 ͜+6%͜ !!_xJ"a"͝"Z"ĉ"h _y&!(!{_xD!J"a"U!J"y͍"OJ"GO͝"`!*=J"Pq ѯv!7!yOzWO!!/< ͉"/>">p#=½"!2"͖>#?͉"/{_#zW#yO++ #̈́#p#">;##>͉"N#F#*2/}o|gN#"2p#=;#͉"w1_cƤ~@zZrN vH Tʚ;@B''d #~: # # #0?<=:$7-++#ͧ$O0$H0$+<$E$͟H#q$K$ ÄM!]$[$}0?)))صo]$M!̓$ځ$}ͧ$0? ڙ$? ))))صoÃ$a{ @$:2:2Ð:22 Ä ÄX3@ @fаf- &\.FF@)!"d))FD" d"!G@!" td@GJtV`RD$U a$BEXEIVSU 2f h.6AmV)xFf :d}p+ʿ.ʼ.!' ~% %#~%`iͺ'ô%>O #~goPY!' ůw':)ʹ*.=.=&ѯ.<.!% ^#Vr+s}+!"%}p+g& PY]&!T&`i>ö&!' ~%',}p+ʿ.!&…&! ~+ng}p+ʿ.! n&*~ʹ.-DM'~%4N#V p&zw w+s#r#6#6DM:''!" s#r#6J'! {zVB'$w<@'<.!! {w:.W'ͺ'!! ~$!) x'%x'ð.~#{'*~-( ~ʥ'+~#5O ~+~ʱ'ͷ'‡'7>*T]% N#F+q#p###6 '':(ʹ*>'>w+w!(ͅ'7?*' 6#67~.#^#fk_7(N#~:;(++@.y@..w% #(~.e(x(7Q(#R(2%iz ..> x(l(> ‘(l(($w%<.!g%w%> {1(:w%!g%.w%<.g%*%~ʼ.#N#F++i O%)I%)R¼.*%|%)!"%}_p+8),{p+.z( J,"#w%> {166'~„)<.Ù)<™).x)!%w#w#w#w~ʵ)ͷ') p# »)+ _($w%<.!w%6# ͬ*,*(2%!x%ͨ*!%ͨ*$w%.O!$  ~#0y{*~ x*>.0 e*: W:ڔ*> 000w%U*~*6?# ¬*O!!4*#4*#4y"*.><"%>2!7.":<2*"%!/+""%(*|-+##n+&+.&&*%D+2%l,"%l,`+2%m,"%m,ʿ.<ʿ.=_!~#foʔ+##{ʪ+++À+*ͳ+"q#p#s#4#5++###DM !"%~#fo++V+^##*%{zڸ+BK^#V+*%s#r! DM+*% DMBs#r# 6# x, !T]~#foʿ.x,y,~#~+*"s#r2DY*%|Z,! s#r#wd,2I,}p+¼.! ^#V:%,*%{.+s#r! w#w! ~#fo!ͪ.¿,,BK>!),)#,)), ,#=,}_}la).,#x."C,! "E,!) "G,!}o|gͪ.'-bk:I,m-ͪ.<-͊-DM*G,*E,-"E,PY͉-}o|g*C,#"C, -͊-DM*E,*G,-"E,PYR-2.*C,! ~#foͪ.s#r°-:.ʽ-!-!& &~# x-DM*...! w!( V6 -zw(...! ~!.! ^#V! s#rDM..ͪ.}p+ʿ.J.¼.`i"!Z."Ç.' !>Ò|‡,ʁ.-:ʿ.*! "{f$%ʥ.!.*Ð.|}!">6>4>?>=>:>7>5>2>3>@>C> o&Ò!"!R "R .:  /D? /p10?/:0>\20%/ /0+9/~0M/+0M/00!R 20P/10O/:0f/>\020y/ 07 / / Š/ // 0 /¨/ /0> 0>2/²/>#9//60!R 0M/ M/x<>/yq#0 M/> 010/ M/P/: 0w0>^0@00~ *0> 00#0 R* N0#~+ 70~=½0*!"70"> 70> 70:=0> > *50^#V# 1ɷ!2&1!2!12&12&1w#w#w#w#2DL1>2R1>271 ~#=V1!71#~ i1 i1Ʌo$ɧGw#1{z)*3@C꜀Q.G#՚5X4`Yf =aQ0#hBDdHx$AC3BE$DB01RD# $FR22D(P$PPABD($ERRV RDUMaBjh 0 Hb#Dvf 02 U#!@52IV54HCOSING@z46#җ26X7622%;O2!-;!2y#2+2%;?-;3:͙623͐6ͥ3!26c3:2%;:2/N\6v522:25%;x/F+N+=3!23!2>q#p#=3!24"1333*16::2:!2N#F8E6qX4G܊5͈6x A4845!2d6P4j0 TeB׳]h!I.k 3:͙6ß43͐6!24 !2q#~++w+qº4%;DNn"~`35zr1{r1h!I6%;yO2256%;:2ʥ3+5/<ͥ39%;:2O9G22!2\6:222x!225͓5b54͈6:2v5!2~++w%;!24#{54ʥ4+6!22# “5ɯ#  5͠55/!2Oyw#»5G:25!2Vwz# 5x5:!255xb5!2w:b5~w# 63:͙6 63͐6!253:͙6<63͐6ͥ3!25y22!21~q+R6qs6NsY+h6^6 W~w+}6v6!2z6M9Ù6:!2w#Ÿ6%;Ͱ6}6͹6669!2F#^#V#Nü:6}2~#6G++Ny-;26!2:>(77 ;67 ;$7!269g>i;|Ԣ9!>6ak:X78X7%;:X7!2>w!X7!2~+>w%;_9o7;%;:2:҂7/<Ͱ9%;9gi;!27~_#~W#~OҼ:#4ʫ:.;ü:G~_#~W#~Oܜ99_97;%;>Or7_97;ʐ9%;ȯG8"r2y2t2Foͧ9Ͱ9!D*2:2O!824ʫ:98I8g.*r2:t2Oz"8I8g.*2:2/8x<=`8{_zWxG)yOHGü:_9p8;;%;8y+F+F+Fw`h|ʽ8gyҡ8:2O|g}oxG-|•8}89ElaOÏ8!2~Gx8ƀ:w9w+ɷ:: ;x{;!269wg9z9 >i;|:{>229/))9 =9!2~7w?##wy7O*2*2"2"2ajSXE::JS\E!2:/P; O;7>{_zW}o|g=F;|g}ox;CZQk; o-yOzW{_xG{;!;~<ʨ;=ʨ;#~#;Ô;#JSyntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File Already Exist=Disk Ful>Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Erroe9Disk I/O Erro:File AlreaOzW{_xG{;!;~<ʨ;=ʨ;#~#;Ô;#JSyntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File AlreaZ)------------------------------------------------- CBASIC Compiler CB-80 21 May 83 Version 2.0 Serial No. ACB-0000-000072 All rights reserved Copyright (c) 1982, 1983 Digital Research, Inc. ------------------------------------------------- $-}'d CB80could not open file: $invalid file name: $fatal compiler error $disk read error $create error: $end of pass $disk full on drive $CB80 v2.0 compilation of $invalid command line$close or delete error$page $symbol table overflow$bastmp$da$qcrellst$paincludes nested to deep: $Error is near source line $Missing source file name$ !*H!Vs+p+q+q:S=2Sʺ*T:Vw*T#"TÝ!Wq:WaO>/!Xq:XAO>/*XMͻH!Yq*YMͻ:Y_:Y*"@!"N!^s+p+q+p+q>!^Z*\!*Z!M!^5*\"\W*\6!^6:f>!5*N#"N~!_q*_&!!er+s+p+q+p+q*d+&!gs>!g#*b!*`!!g5*b"b !"h*h~$*hNs*h#"h*`~ !<*`w*`>a=Os:s͇æ!jq*j&!!kq**:kw*#"!5j*DM̓!"!lq:*lM$â:“*lMsâ:¢*lM4:l ²!6:l :!4!4!np+q*m~$*mNk*m#"m!pp+q!q6*o~!q*q&*oNk!q4!ur+s+p+q!6*rDM*tDM͇!yr+s+p+q!{6*x6!z6>!zڶ!|60*z&') vHڗ*z&') vH+s#r!{6#4e:{ү*x~,!p+q*|O"*|O"*}O"*}O"hk!q> !;:WOkD:0Ok!q!:[ kI!r+s+p+q!6:} k k`*DM k k>SʯN*DM͇: k!: k kÿ k k: OE*M!4!6 k k:O:.ͳ!s+p+q+p+q+p+q!6#6#6:^!6~:o!6~:~!6:Ҏ!6:2*DM*͐ /ұ*L:*~:*:w*:w : :*:w*:w : :  *: w *:w!:n  !0/!S * >* w*!k *6Ï *!*! *!r+s+p+q *#DM ͐*~2*#"#~: *N*~@H>!H *>*w*> >*##"!55 > *6!6>!/t HS *&**& *w*M >͑  >!#N* ~.Hң ͑ >! >**&* * -˜ :*&*~.H *n*# * - > * DM͐ * 6!6>!8 *& *N*& *w:<2 !6>!q *& *N*& *w:<2= >*&*~.:H!4+5!p+q!*! ͇!p+q: !*!::H : :=O*:02E1B\/\F&*DM :>!Hq \:| :‡ $:’ :!N! *! >!q*! >:Hw*! >!q*! >:Hw*! >*! >w*! >!q*! >:Hw*! ~*! >w*! ~*! >w *! ~ *! >w *! ~d Ҕ \ *! >w *! ~ *! >w *! ~͹  *! >w !p+qo *! *s#r*! ^#V!p+q*! *s#r*! ^#V!p+q̈́ *! *s#r*! ^#V!q*! :w*! ~!q͓ O!, ^#V"!>!Sʨ*!##:›ͫқ>*!^#V"!y>!6:!*& *!*& >!4ð>>!***Mc>c**Mc*#"!͸#+s#r%V:\:w#6*! w#6*! 6*! 6*! 6*!##:*w͓ O!, *!N#Fq#p͓ O!, *!s#r*& }<*!>1< *! ^"!1!9" [2b!6: :_[H:H:HM:<2O! :w[2:^i͇:_[:Hҁ[2^[2:_]:H: ¬b:B¼!6õ:C2õ:Dy2õ:F!6õ:I!6õ:Ly2õ:N!6õ:O/!6õ:P?!6õ:RP2 õ:S`!6õ:Tp!6õ:U€!)6õ:V!6õ:W¡y2õ:X²2õ)[2b:,[2:_][2b:_[!6][2Ç: k!6:2:<2!6ͳ v!6:^>k k:^*Mk[2F͇: x[2 xj[2b:(ʍ)!6[20O> ھ::H:H2Ò: b:)):[2b:([2)[)>!H):_og^#V|g}o &_{ozgO{ozgi`N#Fogo&ogBPov0ڔ *R>7* :%9!&~#~#V*z~==2%wo:LͰ* U2ʹHtHQH: p>42 *"X-͕1:#x1ʫBҫx1ʫʫP*Øx1P*e#Ø2#*: K3p#x1ÊP*:K3p#ÀK3K3: x1*.>?ú-**}|K3*L**K3x1VڕҕP*VL {#n rX +  NQg {#F. J4} D*^:`4 *bpXXXXXX>!>"P*7>2#>>2#P*|  > 2#2#!>K8e#7>2D"x1zoP*I&>7+xo#Ì(:>">7+K3>2#P*>2#>"*%>K+~wU,1G3͢1j#6 > >gI,1jyF *V|+"V6!Sͩ+6y=w>\ Ú+ !Sͩ+6AyO>i6*"_s#r#U!}*K3"ykx1 K3*͸-͍X-P*" ~#>2#6>2#* q#"yO]* +r+s 1b&F3!s#r.>`͟+e#͟7e# P*ֱ1 1g""x1…P*P*#~͸/##O+~s#r>" P*Iy!>!>!> @U,1E3 >}|pL+U,G31G3>2#P*!#6:%!%Ke#P*"\!e> "ý>"~> ""2:š~#~#fo#"f>2u./ P*sʱy<*x2*ͨI,F>!>"ynÕdU,ʕi@&sÕsÕ>_2 à+l2>71l2E3+l2-s2=7>7M-Z2E3]DM +͔+l2Fs>7K͑,M-ԑ,l2Z2D3+U,š-ÞM-PsI,Î͔+2Zx1sP*U|>dú-: >"Õ:>"P*)2|>@ú-͔+I&_sM->fu+́*͑,I&1Ԣ1>">Q :*x+́*x1g!hx1#~ʫe#x1>"#~+>"͢1G32- 1b&E3.: ʥ >\:*î>S6*x+1 F3x1P* E3!ͩ+ S̈́,w###s#r#s#r#́*: *͸-s#r#*s#rX-r+sm ?e# U,G *S|J ###~#fo~J P*>"!Vm s *S###Lʢ e# MMissing 'NEXT' for~#fo+++~E"+ʊ *L!S Q ͩ+3og"~ ͩ+3>".͊1>S6*x+́**S ^#V#: X-ͩ+6>T:*x+́*N#F++++V+^+++++~X *DM"z *~ !>͆ >͆ *"| ͸-*z X->͆ *| X-c >` >͆ !S K3I,G e# l *X-R&G3>Z 6*s#r#*s#rz* Ǘ,s#r#s#r*U|>"##^#V#^#V͸-X-!U *W| ]*^#V+"Wb&:- .: E5x ^,6 6 ~#fo!~P>4 ~@ ]*6#><2A (M##6#w+ͩ+6 >\:*x+́*++~+ng7###~m #~+m  6*ͩ+ .s#r#ͩ+s#r >Y6*s#r#q#pz*^#Vzw+wWÄ,͔+x1@&P*B A oa P*ƧB Aa 2f /Y U I, y":"1P*Lʍ L>"x2P*ʤ ʬ >">X2 ñ ͔+>W/G3ú-R&>Z 6*s#r#*s#rz*x1X 1* x1֠ *>X _ ͸-ѯX-$ P** X->2 $ 2B ͸-x1֢2#x1$ B8 I&ԑ,I&G3>a à+ K3: ʘ :5˜ *>Uͺ-͘ X-͢1 >< I,ʛ AyO>[6*" Xx+p+q = !+++~w++Á*e#y 1[> Ԣ1>">c6*s#r+}*U,e#2x1>M-ԑ,>62à+PP*!~wx1\.Á#~Ub&P*ʁ=z>"!~w:->52 à+x1\ʫ>"͢1x21b&F3.G3> Ú+P*1Ԣ1>"͑,I&G3I,I&F3-1F31b&E3!e#E3>> Ú+b&>.͑,I&G3>b à+2x1dM-ԑ, :x1>2P*l2 1yCgxO|u+́*:Tx1C!X,b&x1KX,P*|.xu+́*U,¤xGP*ư1@&G31G32d>2!N}ÕP*l2s1b&Jx1rrX,>"xu+́*U,P*:TU,T͢1>]:*x+#w+́*I,Ó2>^ +>Nú-*͸-*X-2#>2#>V6*#P*6 r# >w}*>Rѯ2#X-͢1ԑ,Ԣ1F30e# >eu+##~w++Á*I&ԑ,I&G3I,>O mI&F3>P à+U,ʕl2sl2s2ʝU,*¤ø-l2s͔+U,I,@&U,͑,>7E3+I,U,@&-͕$ RA$F$ A$ AD$    P Q @  @  @  {#{#ނ@"!D!9{zҩL"L"""8!3LҔ#*#6!936+}|! M:!OB"0{!X"0e~>?fM0!>1fM@ BASCOM 5.30a- Copyright 1979,80,81 (C) by MICROSOFT -HBCLOA! "0e~!"0e~!~~~~~*E~D~~ BASI$$MAIISISSPSTDS2INABABABATATCHCOCOEXEXFIFIREHEHXLEININRELOLOMIOCOCRARISISISQSQSTSTSTTATAVAEOLOLOMKMKMKCVCVCVDKERERERINTIDAGP53DKWILWTRTRDKPUGERPRGDKDKDKRSRSFORZRZENSTNUWRVPONRACLCLRUCHFLFIPAPAPRSTSTSTSTSTSTIN33:"x1 !(P*>2#P*>2#>"1 ###"P*H!e|pͳI,+>"x1P*1~>"͂;##~|w++>"^#V+DM!^#VyžxʢÑr+s:ø* w#w+DM^#Vzp+qG!~xjs6͹K3!"!3*=|~#fo|"*!"3X"~#fo|+F+N+s#r#*DM^q#Vp7** s#rqe~+~u"0^#V*u#ʞ"qe~*#"#ɯ2"& !#~kG!~k"#ڗʑ"ڟ|Q|g}YTͧ$(~w#6ͮ8oY:%%E>   Y— Yڗgʑ"‚!#4g:>:#>>Óơe#!%(0L%Fw#0LNw# G!9.2w#+~w:@:#!%yK~w:# !%~w!%#~%x2%0:?0LA[?#`i:N͟Lۥ¶2N1'"0LX%ʏAx[ڂ"T!CXK~#fo"OG~0Lʯ*OÓ#>o$VpT*O+~#x>2N1": +T͒>2NH>2N1 ͒T>2NH>2N + H2N=>>>#}OG!}| }}!K}~#fo4C0@Ÿ 6 >""’:#>2viV>2v./!0 lL>"_>!  > "w#  e#*7y3:ʆ>KyOʀ# Lʀ~#fo3>OxG!7͖,++##6#6#6 ###q#yK##~*~ "}E~}{ʽF#~ï !7͖,++##6#6#6#s#r#6À~# g:@|&%0L&@: 0&[A!#K~#fo7&+,- ()* / ,<'>'=';^\ .@:'#&@_[]@ֻt! K!G#####~#NK# yڞ?f ?!@Kf:%!X%!CXK~#fo%~7#~Ó~##:#!=\ >!%~F #~N+ ##~!%KF!3 &3 ! K3 FG!yQ :#Q [O (Q  :%!}K~#foʝ +%™ +j ##~™ #~™ :#’ #~ ##y] y! K:%O:%͖,+++%w+ q#p#:# 6@++y %#!$2#2#!#>ͭ! 6 #6>!$#K>":=S!:@C# 7! $!><#2=! F! F!!#~4͔!!$~# *L *LE"c!S!:=2#6 #6 #" &"" !&"!w#:-""2-":."7ȷ/"">"2-"2.":D"ʝI͋KK2D"/":X"I͉GBAS#~: c"0?<=:uҀ"7-++c"0LOʠ"Hʠ"+ͮ">"tQH#LêLe#> "L> "> "u!"2!4"5!!&G#~Q# E"##M^!#KM*L:=.b&>.b&>.6"*O*Q"O͍&Ԋ1҂&*O"Q"O#~+͢,͌)>"3x17ʖ& ?oxDMP*͍&y".Þ&'ʀ'1G3b&G31G3Ga'֤L''';'I'''!'!'!'('T'x|G#~+ʇ'e#>>>.xƁGÀ'/#~+ʇ'>.Ç'#~'€'(À'>.)Ç'#~*+‡''xֱoG!Cͩ+#6!p>+Ô'xÔ'']Tx2'u+#6~+ʚ(L'x1”(1b&G3#!9"B( ''+~#K#'+GO>#6*`iG/(*B( $(x1P*b&"B(E3@H(#~+H(!<"C.s#r#P*w(l(e#F3(e#F3ʤ(-s#r#(e#F3!>#6*q#p!w+~(1G3~GO#^#Vz>">06*xGx.)^#V#Ob&D3y.ͩ+6s#r#s#r#P*#)(>)>@)>)s#rw+>"E31x1t)͢1#6+>16*s#r>w+1M-1>#>+P*ʩ+ʩ+++)ʵ() )ʌ)F)?&ä'b&1)7͍&y".Ê1P*X)P*>"*6#~!*3]*s#r>#+6#6#6#6@="#wɧ;*7*w##K*4##p#x12#** "|w*”#}Ҕ#+++:~?ʟ*4ʟ*`ʟ*:XG3~2**s#r"##s#r:K3*}o|g"*>(K}|*!"!"e#*"*}|+"6# x+:`i* ">"/##~>;+> 6*s#r w+͊1>2 u+#w+>36*s#rw+6*xDM"+ڍ+s#r#À+! >2:*ã+6*x+Á*~#ʽ+#~+ҽ+~+x 6*s#rw+ɯ2,x_O:*+2,x_O6*9w#w+x,+r+s=,w>#w+Á*~7^#VE,E,!~ѧ7x1P*x1~7!~#fo~ʁ,7,#~+~w}D#wx#1]*KÄ,!9*?>":u,2g>2u:u, PJ-,O:u,-!l{Ps",͖Q!-gQH-*fx-͸QP'-͌Q!l>P͍PH-@]T}_|H-)>-x1P*I&>4ͺ-K3y=d-e#x2#~+Œ-x-xGe#>.xʛ-e#>.xG ʩ->.x#~+>.>X6*s#r+}*W!-K^#V#~.    !> .!> .! > .!> .!> .O*yK !.KF͊1q-x2.H.u+w.#N+͊1q-ڱ.xn.#~+j..n.y. u+w!~#fo#~#w:.ʏ.6~+ž.~ ž.6 «.~«.63ó.ɀ @ PPPPPP #..~.+u+w#w+e#*#~6+/]*6#s#r>6###s#r#6@"=#w:uGf?/b!/####~#B/F#N#~#fo~#fox/ LU/##~>O͖,6#p#6 ####yKͶ,+w~39;5!/K~2>"@&0:/3-3>".͊1P*/ 00`i)9^#V!~`-y0#~#fo##A:x03x>". U0^#V#ͩ+3> ".10#~͸/o&"f>2u./ͩ+3> "."0xGO>$6*H"0s#r# ‹0H +V+^ͩ+s#r#  0͸/w*0w+3yO0e#0e#0**}_|W09LM Bytes Free 201:#x1:>"~>"###^#V"*:Z1L>f1j1#{z+j1>""K3>?ú-:#*#Ͱ2#"#*O*QL{#+V+^"QP*ʴ1ʺ1e#ͩ+þ1++~=w21~#foP*~#!1K~"X[ P*#~+>>2#x1>2#P*|/2!~#@2~#fo32W2##~#~#3232.x1-P*@&b&e#> 2q" 3y2323O]*#s#r+++++++~ʩ2 }|x2!^#Vz< 3z3wL 3DM!35©2x3~͸/! 3=2DM++++r+s:3O 3e#!e#*Qs#r#"Q{z#~+e#*Q++"Q:!9"d3!c3"#̓3[1*"!"""#!"2*"!~#fo3"v=##~#fo]=i=ʷ3͈4͍4͒4å3~Yʿ3=3͋;: >*fM#r+s++Ï3*>$4!~#fo~~Z= ' 6* >K>K!N#F*v=~#fo##^#VX!~#fo"4++~+ng##^#V~4#####~#~*v=w#w#~#fo>wq#p>Ô4>Ô4>*323ͤ423~4]=i=ʼ4ͤ4ð44x¬4:3=444{8E55t654{8t6~5<5^#V><5><5H=5><5#~55####^#V<5>###w~2=H=G5N#^#V#~#fo ^,5^,|5F͙9Fx 5~5O!~#fo^,ڿ5"5"5~#F!5w#p+͙9! s#r`iF~ !N#F# 55! F+N+p+q ͈4s#r ~ 6 2k6^#V#~#fo7^,h6"p6!N#F#~#fo^,h6"r6!q#p!l6w+͙9͈4DM!q#p#q#pF~0![K~O6:3y ʭ6##~++!~#fo!,WyJ!L66717?7L77678~#fo~ 98y>!O8y98D8~#fo~98=wG-3##~#fo3> ".͊1͈46  s#ryP98D8~#fo~4Fy`98@`##~#fo ~#fo ~#foyL}zC5###pywG##^#V~ʧ77!,7@`7! ~<7#~7"7!7͙9! s#r`i4F##~#fo"828!8͙9s#r6F >͈4>6*s#rw+F##~#fo6 F5G2x8!5###yw> 6*s#r6+~H=O88ʚ8~ڱ8N#F#^#V ڵ8 +++p+q+r+s8##>w++F~!'K~wFFH 8yO^#V#~#fo:3 9~n9n999Í8:309x i9 H9DM!~#fo### i9i9! ~#~! {8r+sÖ9 Ns#Fr^q#Vp++xw{8r+sFF~2M:##~2N:##~#N#F#^#V=´9PY! N#F!^#V6: !:K~2u!lK!f9!bK:N:m;:M:!:!O:K^#Vs"!uw> "~./! s#r`i#w+! N#F!yw#xw:::: : : : : :::; ;;#;3;C;{#Q>͌Q>͸Q>Q:g> ">2uOT];ÊNU];NU;RU;@SҾS:U;R];{MҷS:U;ýR];xMU;åS*f:mg:lotQ*fL+tQ*f:mg:lotQ*f:mg:lotQ*l:g/g:f/otQ*f*l;P*l"f*n"h:uGl!f;!bNwy#;U=i=ʨ;ͷ;yʏ;;Ï; µ;;~4{####6+~++;]=i=;ͷ;;@<~#fo~;~#fo#~+~^#V2#<2=~#foG3##~#fo~0<#####~#~<<^#Vs#r<i<i"*##s#rq#p !#'()+,-.06#~6+E5#w+~=w!%=K~go A= *K!^[oR=$~##~O++###^#VBâ,r+sx##^#VRELCRFPRNP?Command error?File not found?Can't enter file~͉G#C!CC!CC!CCNDCOMSCNC"">C2D:DG:DO*.(D# D2D (DD2C*+++"y=*">:=2|=*y= G:?C ND2=2=2=2=2=2=2=<2=2=Ců2x=E.>ͷE#> šD>2x=!=ͫE> 2#>2+>2">y,2=D:x=2=E4>:=D1>ͷE#>:">2~= 2}=D:x=@2x=!=ͫEy=7E 7`"ͷE">E 7!=ͫE:x=!=܋E!=:=FE=1>> = ~¥EEw# ›E #ÛE w#®E:{=!+>~ Ew#EF:7>ExErGOx=yF[A@2">Fx F #>bFrG FT2FrGT7rGY7ELLFrGS7rGT7>ER7rGD7R7>E> sF6 #=kFy.2{=F+>xڋFʘFrGÌFy/yrGL±F2=rGOÙFͷFêF!FKF7~~!F#wE@4BX`ZNDSCT"OrG[G0GAG:GFO!~6G8G#~ !GG>Cx+#2G~'G2=XG2=:|=KGʹG>*͉G =C> ͉G:>C!?C"Co>g6 #> w~# rG rG ®G#"C_*C+~ # G#"C+~7ȷ> ͉G> ÉG;?!"9?!=:=G9>!"7>!=:=H~H:H I> I>I*9?;?=H;?=hH:=ʣE:=qH>vI*7>9>=H9>=hH|}Hƀ)`iFI> I> I> I:=ʣE:=<ʈGI*9?|>I#"9?:?w;?!=>8J =FI!9>>!=FI:=ʣE:=G*7>|=kI#"7>8>w:=<ʙG'J*;A|̾I#";A==I!=I!>I_!= J J<J~=w4{ J> I~J"J7ȷ!XJC@@IJ> ͉G!^JCʹGDISK FULL!dJ:>#K@҇Kw#2{=.NK!NKw#'K2{=.UK!2J*J~K7K#"JɅo$ɧGw#KG~#K#K++G~#L##K+++K~#fo{z|/g}/o## LM a{ >!`LK~#fo>P{M>POx:i0PҕM/< P0P]PgUN|!fM5NN#4 X.|NNG~_#~W#~OANhcGyNJTeoxM2i|MyMON)zWyOMx\EN!iwMMx!i(NF#~怩O0P 4X~_#~W#~O!j~/woG}_}W}OdNCZQWN ozxNy-OnN~N-yOzW{_xGxNO.͊Oy2N"NPX!M!N!f~#NWyNO|g}oxGNx Gz¶NCZQO P!FU-PO(X.͊O4W4W+~2'O+~2#O+~2OAOW_2*O}o|gxG>?8O2*O7y<=VO:*OxQO> N{_zWyO)xG:*O2*OyO!i5OM>.!rN#G.xʮO}!iGxOƀwN]Pw+O/MW;PxXG{M!i4X:i:h/<!iOp#6M Ps"Sw!h~w PogtQs"wO*f||O*f*h>P"f`i"h!f^#V#N#F#fTP:uGw#TP!h~7w?##wy7O!lOPÁP!lPPfs"bxO!OOy!hyͧP#x+y+z+{z|OP}O!lPPsO!OOO!hy#¤P+PPOs"*fw: QԖQcQ1Q{P!XuP;S͖Q4QlM:h2h:iҾ"Q:iUQZQ`Q|/g}/otQ!":i}QQ"f>2u͍PajsQs"Qw;PQx]P!eFN*fQ|UOs"wQ!"b"d>>yQs"wGOW_;P]PgQ>UN|(NANz< s"OROROs">RwgQ!i~:f~Q6{yM!i~bRO+~+NR!aRtQøQy;P]P+6+qR:hO!h>ͽTuT2a)T!b~5#ʕR!xʺR>)w)ҶR w=¨R|G͆SyR|GzsQͬQ P͠SW|tQzSDM!>)!S) S !S=R|SxÂS2SͬQ PͬQÊNxtQͬQO|wzS͆SDM!>cS bS7>{_zW}o|g=YSS|ǴS|tQOoygtQ*f͆S|QO@Sg{owQÂS!r~w!s~G+NirPS/<#Fwx+ SF+N9]P!kG>w2a!rͽTxT:k2a͒TcT4 XTcT>͔T!jܪTG:hRT!aVwz# 7Tx*TM!aTJTxcT!iwM:auT!j~++w!b4#zT4 X+6&!lÚT>!lb2T#  T~/w!aOyw#´TqTNsY+TÿT W~w+TT!hT~w# TO:sM̀O5Vq1UGܒTTx UU)T!hT)UL} :iA^U:U!lPPT:hnU2h!OͦUb!lPPͦU;Sb!lPP>ͮUͺU;S!rU=‹UͦUͦU!i5M!s>5=³U>!lN#F#=U>!sp+q+=U:s,X:iM}O44 X5V!&qA>͉T? V>͉T:h<=fT!bT!&TxU!i5UMy2r+&~q+@V{P+~ Xw;S4 XMQ">2`htQ~&ʏ"-ʑV+ʑV+c"xW.WeʣVEVc"lʻVLʻVqʻVQV:uV>V~%+W# "> "!fXpXXJPs"ڂX!bXJP*}|*"ʝXu#ʾ"w!6R#6S#6#ÕYYYTY}YYYYY][YY%Z>ZQZgZ][{ZZZ[7[A[Y[][][INCLUDpNBSéӗTUTϖASŘLEAҋALiLOS~INԤSNǥDB̦HROVVVONԖHAI΍OMMOrATVIqEFDBjEFINkEFSNlEFSTmELETŖE`NĉQLSŠRRO҂RRDIԖRASŕXOOҊIELfILEӎIRŧOSUWOTXEυEXYNPUTNPU[MNSTһNШNNKEYIL̇E\ISԖINcLISԖPRINzOAĖEFTOEΪSEgPOӭOOOERGŖIDKIKSKDEזEXsOULwAMňxUaPE΀CTPTIOnRINtOKbOӫUԁEEˮEA]EoETUR_ESUMdESTOR^UΌENU͖ESEԏSEhNIGHTANDOMIZņTOvPÝPACETRINGTRWAeGίIQTEПUšAVŖYSTE͉ϛAœAHEΞROF{RO|SRSRSRSRSRSRSRSRSRSRSұSINǡARPTҙAAIyIDT}HILŃENĄRITuOxhp@xh@QQQQQQAppAp@A!b!#%hIw"m"m:m2m:m2m!m>fM!~#fo[##~#fo[[Ât͢,*m"m*m*m~!o"m*m2mE\~g{#O!Z\ N#F']"m"m"m*m"m_oooo{#Pomnmmm$nnmppNpop8pFnInnkn{#nn>nqqq\opJqqqqquq`qqqqq5r8qqoo$srrp0t_ts~sss.s's!spsksrrrrrrs sssszsUsMf*m>Ks#r>]*m ^#V++++++r+s>] g~T^>[ͻh~2m gͱg v^}#f|#f>?Sfܱg}f>'Sf )f >6*s#r)f>?Sfܱg}*m##w>?Sf^!m4ܱg>7f>?Sf^!m4ܱgL>7f !mw>Âe& _& _& 2m2m|ÂeBf>Mf>27f!m4 2m2m og DM  o g DM  o g ++!p_5>"{#*q_q#p#"q_s_!p_4*q_+F+N"q_*_|¡_*"_ >ʫ_>"!_e!"_*mV#Me>##_MeW __ O>G_>2+`!m>fM!9~#~#`^#V#!mKs#r`4a:+`fx7g~@`#~!m~#~#R`\` yF`7xͤfxG*m*mLxggxʭ`####~``͢fxͤf͢f>e>ixg#>ͤf~!if>e>ixͤfxgn}a*m#~!q`!~ax!mK6#6###5&o)))!baxi*s#r#s#r)f:mQa> \eQa*m*m"m"m*m|_a/`*m|ma/`!m^#V#zʿaxg{‹az#ʿa/`ҿaʟaxhÿa!#~+<ʲay`ÿa͗h2Jb!,`a~]T#ab6,`W}Gz!Jbw bc"Kba*Kb/`a{#>!mmN#F#xBb {#{#{#= b *mi~db66|eb>*c:K_4_:K_4_: K_4_:@K_4_*m#~4_K_4_gßbg#~K_4_g!,K_`K_4_g!,K_K_4_ *m4_K_*m##~4_K_*m##54_K_*m##~w###^#V#~s_#~r++w+s >Mf7f!m5:mf>2m>2m:O!Q͊1ͿdMdMc*}c|>"7fz*_"}c!"_*c*c!m~4444*mK!c>K!c[*m55"c"c\:m2m|c:m2m:m2m>#f*m~#K>e fOxͤf͊1Ϳd:OW:Q<ѹdMdd5dx#f!6xi~6#6RId6Id6#6~ hdbhd hd*6@#Ns#Fr#z‹d6#6#6#zܸd6#ew#z©d6#6#zĸd6@#s#r6#6#*m~#@d~#fodK:md:m7~Pdd#{#~++dd!me!m~4>"~#ew^#VT]##~0#~#7#V#~@ez͸/O+#s#r~#fo~Ze>!mWKz!mK~e#!.g*m&ʺeʥe)ʺe#úe))ʺe#ʺe#ʺe#)*m&)g~#fo###{eBf>27fO*mf6@#@*s#r6=G~=q#xKw"m>!9e>fe>7f"@f!@fe>e#.Vfo g7%\f*m!ʚf#ʚf##ʚf*m##n&ʟf!m ʑf#7~4җf4o&~#fo>g^#Vzffѧf+^#Vm! o gLf$>-f%fͻh6+6f##Bf>27f<#f&g&GOxGpg)>gx>gy>g͇gpgxͤfx!tgK>eyg~#fo###~=kgyg6#6xiBKDMPY`i bkT]*m*m"m"m|ʠg##6|ʪg##6Bf^,^#V!~#fog&*m~#foɇ!mK*m~#fo~>K~#fo*m##n&ȇ*mK~#foGgO=0h#~+0h0h y|hxͤfxlhg~th#~Uhth~#fodh&>7fÒh#~!if)fÒh͢fBf*"m)f/`xiDM*O*QLʷh+x+¢hy¢h}7?!~ii6hRhr*m|h###~hb!9ye3i!ifdf##w++gs#riiiijjj%j0j;j@jEjJjOjTjYj^jcjhjmjrjwj|jjjjjjjjjjjjjjjjjjjkk+k>kQkdkokzkkkkkkkkllDl[lrlllllllllllllmm mmmm#m*m1m8m?mFmUm\mgmrm{mmmmmSTMLTMLFMLFHSWPREAPV0PV1PV2LIPUMIIADCISCIDAELSGIINPFREFR$RSELSERESOUTOEGOGTOGSWAIWA0MD$LINAD$DECINCSHLV8IGOSRETISBMODIDVIMUDVDFMUBSUFADBEXCNZC8ICINCSPCDPLTCGECLECGTCNECEQCFASLTJGEJLEJGTJNEJEQJFSLLTSGESLESGTSNESEQSLTTGETLETGTTNETEQTSASPOSROWLPOTABSPCIN0PR0IPUUMFSGFPEKPOKRSTFLDLEN( ogzzpH{,q{ō(Yz$)zƀǔȕɔ(% }o|gzRzzʀj(% $)zzˀP$)z̀E(}9o|=gz $)|g}oz(}9o|=gz $)|g}oz3pHI{,qI{0-r{8-sH{(}9o|=gz $)|g}oz%(|/g}/oz(|/g}/oz()"H %(s#r)$(%؃pHI!(tI-(v(-wH(,"H؄wH(zz΀̀σ(,pz({Ѓ(,{({р(Iz (^#Vy(z({g 1()a|ڀҁ)|80))%$)zz{z%(R⁞>)҃3pHIz,qIz0-rzsHztz܊ {?)Ӏgoz ?Ԁ$)z(|ځ$)z|}|  ?Հ 倭וO( a|| $)}o| vր z($) %*z{ ($) %*Mz{SSEDJz(zpH{,q{ 8o&z(zHzz{{(z(z(z(U#zEz(U+zEz(U)zEz߃pHE{,qE{$)$)$)UE' >928< )}28<(69%(s) :8<o&z(n&z?Hz,z>89(}9$)Њ(,ɞɅÅ(SDES()@((|‡(|ʇÇ͇‡()$$) ((((( ) &&)8ʁ"%( )8ʁ%(((UD 5ڇـ #҇ڀf$)% (|ڇʇ ҇ۀ63.(|ځ‡$)z|}|ڇ逝܃3 pHI ,qI 0-rsHt ʇRʇTހ(%$) `‡R‡%݀*m2}*mLtt~tL(uxx yyyyyyyyyAzJzyzz:D~! K!: u~ u4M ***[MM> E"!#u"u:"uMDW~~OyO>G~!u>t!~6!~@~uw:upu~W~2u>2uɯ2uW~:uW~:GLuuuv>}:.uD~.u>@>!wxMMOVwMwx!uKMwADDADCSUBSBBANAXRAORACMPLvvcv!vvvvvv!v$vLXIDAD!VvxEv6v####M!^vKM=xڪuMêuINXDCXSxwwêuxMINRwxMDCRwxڧuMMVIwMçuxwLvvvvvvvvxwxwêuxwʪuʧuʧuxwv2êuxwçu!ww#~ w#~w{##M*LHLD"SHLDRARA/CM7ST?CMPOP REPOP POP POP PSJNZJPOJZJNCJCJPJMJMPOUTINXTHXCHPUSH CALLPUSH PUSH SUISBIANIXRIORICPI:LDA2STAADI0JR NC8JR CSBC HL,Dxxx<AFxG>Hx>Lx>ME"}!N#F#^#Vx:px fx E" =x !vxK~E"|pxM[MpxMD~!%$#  (ʟx>zʟx e~!wKFN#~_#>Wyx#͂+}++~ x#*s#r}*~s_#~rWx͖|++~w: y}M:}^#V}*r+s:ڏy+++i}|ڀym{zڀy###|ymy=dyx͕y_yOEyGEyy͕yymyxG͕y~+ng{AGÂy M>MxE">D~!hK~#~#~#fo{#{#{#{#}*~#y^#V+^#V}r+s+:y}>D~"zzMSHLD T z*zzMLHLD T#~+W~##>D~~#^) e~*m}*#"m:~D~ e~{͜|:6{{22!0{"0e~e~:+{>2e~+{~BASLI*}c|K{>"7f>f͂t%}} ͖|*F|w{+}͖|͖|:m "*U|>">$22!"0###^#V#{~#K#L{! "0###^#V#{L|!|"0!.i!i|>K>2|^#V#Li|:|<2|^#V#{P|mL;|*t!|"0{*!|"0{ADA e~!3=L~#fo}###F#~ }#^#Vz}͖|##}}}+F~*##~E~D~>}^#{_}F#~}ç|##ß| e~ e~͖|!~}>}#~#fo.}~ډ}MLine###^#V9LM is undefined :=<{}!~6C}2!4ˆ}5#:Aʴ}~F~#F~#F~#F~>}÷}####.}~~*}"Ʌo$>"#^#V#x}z}~C~B~B~B~~~###M^#V9L!L:~~-~###~@{##~#fo~PYM9L!~>w:*L:a~GM~A>~yڌ~>~C~B~y *0:2›~~#~P>~:2ʶ~G~~G#~¶~W>~_x~GxG~>}xG ~7xx!~w#4vI>20ECOPYRIGHT (C) DIGITAL RESEARCH, 1979 and Pickles & Trout, 19801 ͻZ[WMY CP/M SYSTEM RESIZER Copyright PICKLES & TROUT 1980 Version 2.2e [>P͕[8System size must be in the range of Kbytes through:"͕*"#^#V>*s#r[CB80 COM,BASCOM COM?INIT?GETS?RELS?EROR?IFRE?MFRE?STOP?REST?ONER?ERRC?ERRL?ERRX?LNUM?BDOS3?COLUM?CMDL?DATA?SEED?IOBUL?IOBUF?SDAT?EDAT?SCOM?OVER?FSA?AVAIL?EXTER?MEMRY :?ARMM :?ARSM :?ARSS :?SRMM :?SRSM :?SRMS :?SRSS :?MRMM :?MRSM :?MRSS :?DRMM :?DRSM :?DRMS :?DRSS :?CRMM :?CRSM :?CRMS :?CRSS :?TRMM :?TRSM :?TRMS :?TRSS :?CRSH :?MIDH :?DIDH :?PIDH :?IMOD :?CIHS :?CIHM :?UMRM :?UMRS :?RABS :?RSGN :?RAND :?RRND :?IINT :?RINT :?SHFT :?ADDIT :?SUBTR :?RMULT :?DIVID :?MOVE8 :?SETOF :?ZREXP :?ROUND :?RUNDA :?FLOAT :?RLOAD :?STORE :?FIXCY :?RINTH :?BINAR :?XCOMP :?SACCM :?ACEXP :?EXTMN :?ACMAN :?CARRY :?DGCNT#"?PCRS#"?PCRN#"?PCRC#"?PCIS#"?PCIN#"?PCIC#"?PCSS#"?PCSN#"?PCSC#"?PCNL#"?IPOS#"?PCTS#"?PCTC#"?PCTN#"?FOINT#"?FOBCD#"?FOSTR#"?PUSS#"?CUSS#"?ECPR#"?ATTP#"?DETP#"?FORMO#"?LPRN9 ?PPMT9 ?ICLN9 ?ICIH9 ?ICRH9 ?ICSH9 ?IDIH9 ?IDRH9 ?IDSH9 ?CISI9 ?CRSI9 ?CONC9 ?CONS9 ?RVAL9 ?PEEK9 ?POKE9 ?POUT9 ?IINP9 ?INKYF?FINTF?BFCBF?FILEF?OPENF?CRETF?CLOSF?CAOFF?DELTF?DREFF?DRECF?IFEDF?IFIHF?IFRHF?IFSHF?IFLHF?EDFRF?PDIFF?PDRFF?PDSFF?PDIEF?PDREF?PDSEF?FRNMF?SIZEF?FGETF?FPUTF?LOCKF?UNLKfM?PCHNm9?ASMMm9?CSMMm9?TSMMm9?IASCm9?SCHRm9?LEFTm9?ILENm9?RIGTm9?SMIDm9?VARPm9?SADDm9?SSTRm9?UCASm9?CSTRm9?SCMDm9?MSTRx5?MPARy(?DIMA}?MATC4?RSIN4?RCOS4?RTAN4?RATN4?REXP4?RSQR4?RLOG4?PRMM4?PRSM4?PRMS4?PRSS r?SINUS r?KOSIN r?TWANG r?ARCTAdDRIVERdFPASSdFPGETdIASSdGSETd?GSETd?PMATdPMATd?GRPHdGRPHdGINSTRd?GASKdGASKl?TIMEl?DATE"DDOP"GSINI"GSCLS"WDNDC2"NDCWD2"?GPNL"?PLOT"PLYGON"GIN"?GCLR"GRPT"SCOLR"SLNST"SJUST"SPOSN"SCLIP"SBEAM"SVIEW"SWIND"SBOUN"SCHAN"SMRKH"SMRKT"SCHSZ"SMODE"ILNST"ISTCT"ICOCT"ILNCO"IJUST"ICHHT"IMRKH"ITXAN"IVIEW"IBOUN"IDEV"IWIND"IPOSN"IBEAM"ICLIP|SU SHQN?RELSOTԠSe$X5I?STOPOԑT SU(II?ERRLOT ST =L?COLUMOQ SDDM?IOBULSЕQS4DHR?SCOMOՑTCe4Y%2?EXTERQSTe3W)h%Ѐ hPZ-@/fؐU @zP`X0F&|M6MD (EBaX`@(B80ì#rٵlE@-4w XV*",a,`HEXH&2EX@d9D @6\dlDg $UDX0UOVUu ", *[i0 4 hA&h,L(#KAhlS6O (mxd@E JE"yH@$J @$P!4l7XQP=N3`!*FT4"[W4M>s@B/dUBUP{Y2( T&uecDzL-{kMJ]b;aM;ab32ql UO&+':T >&WCCT #3֌*{J+uO3iaQP#HF?aO?":6} ρ ت9Z1xFV O3iҧ G1#DgHh# 3#?"p48##31mV Rgj:хT@.Hꅀ? p\.ˁe2p` 8\ . D)JrJul)ti*bw'GRJ2,u$ )"d)zv$"Gd)zr*v)!f)*dv|),Ge)brlu "'ǀ1zblt&Gi" xG@1Jzdx*Gi" x GA)zlt,"GA!2 t8 Gq*¢*t,PTU S$IM6?ARSSOԓS`S5%4MI5N?SRSSOTS`S%45IMN?DRMMO`SE$8IMN?CRMMOԔ`S5$8 IMN?TRMMO`SE$8QIMN?CRSHORQ SDDA%"?IMODORS4U5I6?UMRSOԐPS%4tI9?RRNDORS S$HM!R?ADDITPc$TH%Y%?MOVE8UѠc$UI=U9?RUNDAѓU c$HMQ=I?FIXCYԒS c$(a =5B?SACCMPV cUD 5:?CARRYӕ%\yh!|?/+Kab!4BYxuD !$Ffg[EtinVm`\ rD&o+E\-E"YBHJ!5}D Mf`W Ehp63ipB_,R!5B\K,: D&o( 7K60 `AD&]nm7f@6fpm4a0mam7fҰ&fޠm+a0(  Vmp\nma@m fҰ' Ea؀09"\ !$Bkfpmamf0Ffp+fmaP!5vvBHmfw[B_.+$BY˭"X ǀo+KuAAb [6 BOvCwdZ'1tX. !+v@#D8$rB)Q3l0D 8:$ 6,`Z, F a\e@,Ͱ"fаg  (aRp &٠P ($|+Xu@ vFfpQb@qݒ [X8DB, ! : m$WXD+pYli_pSV\ f@Wʶ@Ao.8'15i"0+ +WX#s@mdfP0fpVm-7 gZ' Bb6apWX|D%9F>"δ0wl* : d3l8(b  s@HRݕuAZ#9bUHw'p"X8$ì*!@ FaW6mE8##rW4 x#XPV F4XVp `{*恑8dUH9&#f `+ q Ul+fpPfpQ?- lgp+ e@yp)̀WNc*g!& !|b@"@ ?8$UYֆu@LF>"Rδ3N JYֆuA1K:α8H&#)gZ' c%,C: |DhgX$.0ڥDfa8d; nX3j@(3j(+p@63l8(3o8+Hk^W ^2 Ù2 H 82 B0 L!`';* #Âp)l9 ~¦8ͷ G;$NBl4s<x<w * ~Cs$C@8 #gA15[ACNgL vU ͩ5xY"`8h+ XV! Q  _0`R+X,` `V /X)|1v1q;x)3 i"`݅EALC@l:D ~g~g~g~g8Nw H9&# #p4b08Nw H9&# #vH^HOhc* ƒF;O՛u bZ`cȤ.ҵH]l"JE!v B+ W(2) 0dRhY'ū*OUSϋweQp0@a_Peʓ Ry r9&xM6h9'#xSzq*gdSzɅ}Ao m`XTâ@uAH`!A| bG5JH2)<Ju)3XULuzTޜJ$Bh<,Y V6ʃ4X .3ۙa\@t!)p[PkWmA͂`|>¶;&AE p \.K%  q \N-S$h?ARSMS%58?SRMMS5%4?SRMSS5%58?MRMMS%4?MRSSE$@ ?DRSME$8 ?DRSSS5$?CRSMS5$8?CRSSSE$?TRSMSE$8?TRSS5%45?MIDHSDD=?PIDHH ?CIHS4 ?UMRMT%8x ?RABSۀ%4t?RAND%$H@ ?IINTS$H=?SHFTcDDHX?SUBTR$TH&?DIVIDcdS?SETOFc$U8.?ROUND%TD&?FLOAT$HX6?STOREd5x6?RINTH$(.?XCOMPc444?ACEXPcUDH?ACMANc4%% ?DGCNTSU$(ȸ?SEEDSdU)TS S5%8A I:?PCRCOTS4A %?PCSSOӠS548A 92?IPOSOS5D8A Q:?FOINTѓА cd5E(AUMN?CUSSOPSEEQB?FORMOO UpuD8DR@ f  rI@7t"  rD&@ Ebd ݕv,:` vX`6I:*?*ͫ#*d : :0P6?L>0x\´@ ڼ *aPpB_fgp[ W=BG a qWKd ͫ:2,x#e^aސ8 ,ͫ t<C ¥,ڼ _??X,W t*2, FaU[`e@X(n>1-+PݕbYlGX n! ` Z;*xwW8u@ha@a@*r@Z0cPqH hʌd a@ `!faP#Zubu *,ͼ@* 8j<``1u*^: DxUd,z§G{p=ڀ쪲tu@+:`a[&me[![ ?M>m+݁X0W Vl $aY p, ` [0`6`< ʶGma#6ݕXN`  pꥀW| f QlGB@mIf@!? (ͼ@d : Mbp@H  8 8@7 ^ lj sU y``>/`@[ d ìl Ͷ@=pVXiU,(!x\ܶ@!*ぎ@݅jX$: #v 2mV5*p0qٶ(lXv uu>"m(݅wƧ8@ b8ZG-Y;A݅_#,͡qMUX@"@0#Bʶ3*?ʼ b[ Vm^a؀Fmfe*?+LͲڼ ì ʷ Ͷ@;|͠ ;ͣ`hO` $tAV͠ : ͣ B > ͼ S3hh- 2T>3n#x¥ m$aVm$`0*ETLd1_ :V)d9Y >Y :R ͩ:@ ͩ: ! CuVAGJ `HՁ,?4(EvGmaڀVm (d@݀: `*l ǫͻ Œ* [ aP*+eT`aecFN:a*@F¥`g?쪤 23Bʪ@ g  6J?`ŅHXHUVraa{b,<2 V?X@*ū V" mlB7t" 4bCL WTWF@HͶ@;f 0(36?Lsfg2xnf Vm^a`aVbEl: -u00 ۘCPrqA#Vprj 8 a`a@ p \.K% pP,\. K%@0 pT\,. K% q; OԔ㿠A I::0 OԐ㹠A %N; OS@A %:H O㦠A M::v OA 92: OT㩀A QN: O@A Q::ѓS# = :N ѓAUMN;H OT  AJ:0OU#QB<ѓԓS1AI:3ԓS#(XIU93ђVc= 8I1=2ԑc"  IM"2 OԑS*I=J2OՑT+8aQ5:3 Pc x aB2dPPS)X IIf3 ӕ##%= U2 SgS SH% 1:?ICIHOPԒ S54%%"?IDRHOQ S44 IM&?CONCOӔS%dA.?POKEOU S%9-fP`5!H<@`e.K@% )jʥ`a8Fä W)9@,,aQp@,;-4bp!f *@8*A3h2Xnʼ &`9\xO/@{[ 6U}VO_UfԠm?02 $ͧ'o(DXvDO*ڀ+XV@Oc*3h }bpmWePx#@(#p;`Vh8Frdʣ+60V~pp D¦`#Bdk(8t2qhY'+CD@I݂.V4N#yrM@-Sqr q\H.%K% +6ށnjeZ0F;  #8Gp,aY#92\zͼ`'*Zò.rna0&ma0'+6ꁑ ]f0]u!4TR'jIG d"@.[&Z͠ g|odD mQ'=@&0-"fxɖFT 7 i=tO`&Z}pBNj8!|?/+T4?L>la9kC,Vybx8wXUV:,R2ŀ N2Vʳ@Ok ΁,Xʹo*s H}T,RyT< ib0ʢo+*mJ_CUXeWC& ,A)xXiv2 eQP2;XZ_eR60¦ lN3mjٶ lU, xCt aU 4u2 qP\X.-KW@,^yb+"3m8Vʱ`ok ,^ñ`nI)I`%ʹlfүc^eZ 3м{nɗK%cTdFX#dlt?l9*3i'ū m\6LT C È! X!!XM`&:OU#% 1:;OPR#`4% I";OP#4%%";OQ# 4%M":OTc`T IM&: OӐT =9N:OԕS#TA.:Oc`TA=UR:RORS#@T%9-f3QSTc? 4I=J3"OU:@tI1N2SЕS#g>,ú@f!5.n9K% ",m e`[PVV T$"qjʵT|N6x |XT;\E#pK6Rf@,U","ˠ03lH r*Dx~adDVTrx ;adZf` k` §.VTug7,b@OVU؀waؐd>%G@N#8XveQ03¢`nQFeQ 2;UR@eQ0&miW@'(#F@' Oa6§@P(iZTL  xJ3m[@UT¨`@VUm ?6Q-*ͷ@VUmm\@H:s9 b0+ ɀsf@ū BHrX(aZ' X@ʷ@C݇[@`p tX[|:Ҡ ?+#Xݒ0X6¦?ZTl?}ǶsæU TH ?eP3&d`=H@.m[)0FaްAٶU!KgvH+:Yt'Dp,9g EYt*`3Tl$e`ܬ<>h{@R,͡MX:e@X K+R*ʀ?=vmWٴxʹb*FV;\g&6ri0_@W K *>*̀* fcO"i`m)pX.7+6Gmf63j8&͠ ۪ڧŻ B:OvU>wfpm=0I iGW eU@ ê` txqnNb3%u@8^K0 ʫTf@HK2EUYBDYD@@9h} 8pYR!XV,R*Yj$V,VD&qYX?M0+r砹|+Y!YPs9h~",*ˠ,ñ ,SThB2\mlhpYcA¦m[X Pi0*fEum #6ldZ,VmiV0QrٵBDYf@Fm ٴn`lHͱ[ Ub3%D@EYP!. ?a3HC%u@Z\P+ !VUfѰe@eYXV" :l*ˠ,!@3ɗKK%ڠҠp͡ ",Ͳ࣬,(-op+eՕD%"+k` @/:YlF{J "`,+6ĀLd ´,p͡ ",Ͳ: -krf g\,gU#_&Uql: *ū{X! dh L?L ͢@*tX!Ӏ`σ eZ| a^fmWJٴHC̪&8Nb-:!Ӏxºڠù$ ;X¢:P*ū2j8L>-YaxeTw(dXU06sZ`Z`eUr#rjDb6mHiFs`Xu4#;g ݕe `iՉ\@ZhE2 tp]:.PKiAܢ|Za pٶ| f0g[#90H Ff7Wd#'Rdibe_v+fPVXfְw[#9:'!͇ڮVmpDgpf¾@ ͽ;- fְf-fְf-rmDʹ`η Frdjʱ , 0hCĀrC'W)2[՛D@EYl*|+砸ͩ@ vfѰXDiS`1Z?TvK6Ā@UP ʴn8V|! d=EY`e[pVj>-@$R*YTW!NYXEYĥ W!eEYP!I20,+8!@ ɖ4]n66@ȋ48O>ñ #*mQ ͳf |!LB6L!0HFɄ3@ +>S@{jNVmplC6H<|"jYl 0m( afR {pfՕdEb r >+>l@ͳ ñ "XB0h*`[wfؐVh|0j"Uͺ.PqXzYHeVU u6k 63h 68@8;;^- @ :DQHd#3֎% jPBTiPL]D-0 f`rU㸌w=,$B*ӅYPD@YU`B]br"U!ͽ 6$b Q@ m)poh8"͠U e@@ u$XV|)UvmfՠVս >-$R 脳mxQ6׀_K6׀ *3mxd˨%ԀЧ(fҐe,*ʀ`6caj@peڢ~[X3@HU ٠P3@ HU pd`("IPpE@U c *0'*ݕ]Bl#eVఘYv, ?XRDZa@mW`R0@K̅eԀ` mX4>Xt-ôq` ~HhQ@ ~a߀:~ iqА~0 舩J~HqJ~ ()~(iPz~%計QК~$ H@~f (К~= hՐ~ i+H`j~ Z~Vɉq~誊qz~j )ʑ~O jQ~m I~jJi1 ~)Jђм~ Hfq`*~8PRSS4@0 X,@e2 B\[4`#?? *X6'aؘë { k*HeF'+0&0EPDaX`ڮ@h<ɬ*b4³ @ý рl;NnWbʾQFz 0Uz{ŇpE(Yl4@g8 m] &ðuxH&{J*VU` "" ڼ©""1xFV` @`*zN:TxWEX#?9u ٠h Wl#?9q[ F^!X =OI[j1Oe]`t!@ӘaQP!L ³!'8ҷ`.piKpQ4D(eַeZmUd`+ 3@p 3@E!@.U=OI4 4 [Xa!@aA$XTtB\4uL("\(@+vR.h!E$"\ (`@ѕ]iRy8X31Xp\.S4P?BFCBSdXȘ?EROR$T8?EDAT44 ?OVERcT%?AVAILe4 ?CMDLS4 M56?TSMMOPTS44(1R?ILENOԒQ S4ԔHYIB?SADDOST48 MQJ?SCMDOTU@9hUͼNV+Yfp'+ >;rlE,hoͿNmKpjX2D )`\-FrOK6U>-YV|yey)24WYXDeWXi|¯@1,aVf԰7 6YV<d@J>@,ʯ@vzuo8* :=u[b'Ǖ ހL[ͧnՕtv[?9w[#92eVme^pf԰7 $A!Xu[ 8 q2Pɖ]n))WͼG4ң%˕ٷE,B%Y ͩ`bɗK%`'ū!y[6Y2Ԑ[zJe6ro8&O<& r]b16 E}@D68Y, U.Ր~ul \.Ā }^0͕xOVAl+Vͩ`bbo8&O<& Z'4Ҹ%˕ ٵE,B%Y ͩ`b l:!Xû`2` p@-W@F3@U16\#82@ ͿN_PK@Ѱ!x, 2 pHdJfp&UY MtҪ@G1|#,*dV mhoroV+d].1 >-V )wj,bYW| yW| 0YF#fP! ho <,XW$4GuX# l+|û@6@b+>-DX,hPRX$. K@%Gũ?9q8Fd}@OdFseG*Am'd9l@'15E'3Gp4w Gp4w *N/ >&m|ZvHd@) jlul@)jlw`{)Bt"*GNiJb*tu$$Gb@ijJ$w (G|i "$w)GM@ ul )G@@ij$u )FPj*jf 'Fi:*eD")A2z$d *FI@2zj|d&FhjJ"DRTS)@Z Պ TeRP#3٠#l:h0`~ `V,`#hZK:OTT#@QM56pS`SDAZ"XTRgӭF+3}TeR KP3p#O#,  +r6+4uFr2D&GXz©n3جڶ:_@ H1Y:X,2" HdEX4VF`l pnS1F:aSzq*ga0 ac0YXV^c0[U","`YVs`Vj¼F3bzTޜJXLu+`Xg! pZ#2te p\ .K% pL\*.3G@)"Jj f@)D)*bg$FA1j*jSPU SD9@Z" E", WPyͤ,`4 REUUʯHL`ŅQX(Uu#rlP^V X>&Up! ͣ`"ͣ`.H+X8B:X>&Vu0d.ppمnfݠX<U@b,"`&|M4$U@b # Uap*&xT\#aP`X`2_-Y;hdBk ?dœ.K% pP0\.K#5Q2BOԑS"I=JpSS%4I =N?RTANOԐUS$UIMEJ?RLOGOS`S%4AI5N?PRSSMA d3sH&ͣXͩ`4ͪ$ͤ8h`s0Zm&i͡b͠@@R mk Lx 3OTSc8tIM63OԓSc/4MIM62OԓT.t5I563~OTc"tIM62|OT9tIMN2F OSc=TQIM624 OT!` I562( OSTc~a[*9]l 9NF6Xul i[d2^np[ pn pn-InzrXf/C%Y[ pn-84` ~FU"fpVrjD69b[#9np 6b|Zmf 6j4q` ea)C,ۨ͸®,!!"HeH\CʀUY CR, Uŀ d2^ R) iC6 D K2E!mbfӰ2f dz`!@, D K2E!mz m@E\"C%XB E"6Ԅq 6ׄ+@ d#+@ HRf`f;`p  ea)C,!@,` B @ &c12f  *V6K2E"6q 6 D=M*xFVc@HRfԀ@fWu2^Y@R)Y$CY$UB *o=' W K2(E"6Ąr 6DŽq @Zf@Zfh!ˀ qP$h(G1q 6 H:XR/¬d)C,ے!,#D9 oBY CY4 CYCY &c*@"YY"Ҧpc`h#fpP@@mA udEEY*'Z)6Y7V>X@g P76pf$,0Bf"@"ED/8@vaEX`<@ TzNY@Ub) eaVxE!m p X<C%XB E"63@*@VxK2E!m  m$ p@X;C%XUE"He*.QVxr@+6h[6 UE!*"H2 m UE!*"H2ͩ!bgHd#+@ HRfm ygHd#+@ HRf bf0Wu2^Y@R)\g(riHK6j`X:YR/¬)C.bf`X<Yc?-+*"1vޅ_J߅ D K2E!m p@ ea)C,PͱVr=M祡*2/R)Y0U d2^ R) kc64OkSyhg>-Y@g@ `:f2L0| m/ bEE\*Ѐ"xFVh`HRfPbf@",0UEnW K2BE"6s 4m p`X;C%XUE"Hew9y:(A9hz9h@Y0$CH%t3o[ tP-ox Ihl4#D5hrP mH T*VK2E!(;b  ea)C,0*VvK2E!m g`[U!!"HefY(CYt_Bt,Ub) ea)C.QVv\2/R)Y4Ub) ea)C,*"XC%XB E"63mhImk6nhDZ b*VvK2BE"6s 6tP 60kSP֠mS *C` }@"ͬ@X@:Z R/R)\ g`Hd#+@HRfPm(pXDC%XB E"˔Ub) ea)C,^ͶA­#h(p;Ych LW$0UB *zN<Wu@2^ R) E\ "C%XB E"63np:Z R/R)\!!"HeLٴ>b!@,c u"@4ɘ}?PLOT:fCAVZ>-Y@ ‡ D K2E!X93ihh@d#+@ HRus6Ї D K2E!XYmx@ d#+@ HRuuP 6释 j`(e ;1pD Fa*2c`@d#+@HRfWxFV@H2ͥ ڤ*@2rx6'1U€ d2 mUuNb3@ d#+@HRf1W@xFV@H2Ͱb ڤ*@2rx6:'1U€ 0d2 muNb36L9CY<#:s -u &b1fװ !YhU\`@CD8U\͠","!@ "![  U\*"ͣ"l+6i6@Ef$.V>ωJDD -u &c Af ff m|m f!@,4"ͤCYDDCY3q!@ چ"!@Lx"ͪ@p!@ ۰ "D͹"͸B"$ͻ,ڤ"4ͺ!!@ "!@ "!@ "ͪ@!F6 PD \͠BͤbB4ͥ"BDͥL"ͦL9B!LF6 pD Fͽ`*2/Vm*f߁R m|p 1U€ d2m;mm mf֑mf'[#9 pD F*2Dc`6@(ro`8GyP6‰r@3omȐ$h h8)hh6h 3mxG u6q6`D K2TB9YCYdLCYLCʀ4LC̀LMZDYdLCLB9E\0"C%YͽpͫbͯbTͰbdͱBl"ͲbdͬbͲlCpLCMr6Չr6؉hh3n6ቈu63m03n3mИ!3nH6 q6oP_3hS6ꉈq6퉈q6qP!3m%3h@Gq6r6q4&m&m& !BfAbfӁA"ɘ CD0jFb(*2c`@ dlEX`:9EYͨ,&!Lڎ(*@NQVvrl6͊t6Њq3i@<3h`hG m6 t6 3l`C#6sE9 G8hClPCQc'3LAD9 k: CEYHU€ d2muNb3@ e!@ J*pg&mEf1Vv>ωc9 1Ta\>t6 `0H ϋV*NQVry`TUbYjZX *ҀNQVrjcEZX"ҧaYhKITy@E7EX`:YR/R)\(g`+6 3h60UE!!"He*@NQVvroX6 o;Yc*i`#LW8TUb-0*VK2E!(@d#+@HRf1fmp`XL C%XB E"˔U d2^ R) jг6 j`DXB g(rd ;Wu2^ R) E\ *"xFVH2Ͱ,*VvK2E!(:YR/R)Y|YxYF"3QgXDRg}h­"B@QVrl`g`*VvK2E!(:YR/R)Y0]C\*"xFV@H2pX;C%XB E"6kp;Yb.hLU \UDZ`UDb,1ᖕ D=OIöq",0Ub) ea)C,0.*VvK2E!mf qVv\(2rx6'1UE"7XC.Q"f[#9 Ef;V>ωw\8"C#`Hlp EZ`Fpg&m鋈t@&b*# %8| &mdb!pF6 pD F*2Dc`93h@=3mh6PD \4ͦc Frp D<qFnͽ`!p ef6yP6ٌ 0y6 BFEZ *@2/Vh!@L t4!W#\8"C#`lfްdLX`uXf#(*bpͯP Ue PEYe p#1wl&mG m2&m &mZfFm&ml&m m &m&mbfٱm`&ml&m&m&m&m&ml&m &m`&m &m`&ml!@-*̀ū(a+n &m&m `!RffqЇo3hxȇs3j`69E["ҧ>W/OjSyHg>-XTi E;8Cg3j0Gkr6v6čL\Ƅ;8 T;X g0!*NV>ωx>W/OjSyHg>-XUjb<4*NV=OIǐ&:CBEE[EX`:YRrU\3@[#9 EEYF"3AXwRg pD F*2Dc`@`e*.!LH4!Lښ6ͪ@!(3nís\("C.Q"fQ[#93oXThC3AhiC}3j UÀ d26W@#\@"C.Vug&mp 1z\8"C#`ȌlfްW(#C3ijl UÀ d26W@#\@"C.Vug&mq  egXIw&c6#cM)UMP|6m:CٷH#88 U8 1Aaaʦ>q06|Z.f1&fmuaar6m]&fɌ@f,0;F9TT>f(f@V>um4aE&7lɘЎ0`SBEAMD9 jGmaE&<@maE&>cɘ0SVIEW9H t@ B@f`WxFVH26mp ea)C.bfW@xFVH26mJp ea)C.Rf1Jd@X`vv"͡@ !YB0@d#+@HRut6D K2E!XEm諁@ d#+@HRut6掊D K2E!X=o09f0c0:=TГS!fر B@@XR) : E\`":"He!@lP#M5=|@6mdpD F*2c`@e*ހnͽ`ɘILNSTD; `bi +4`6L}GuGJ!ۀ>`G(k9Y0|C31(ij 3n Ufq d{`t,'!"8;1Vr@8P1 ab >q0#6b͵C¬PfafBV&ri2f$ 0:ARP2f3nf,dͨ$dfԂ*dS`u䂤%"xͪ1Vf>-Y@6b8h ZHXͮhɘ0 ITXAND9_bͲ$fق>dg`v$ʹ0 *2/R)YUj@*2/R)YtU@*2/R)YUB*2/R)YTU8B! Ԕ$TCqE!m1!f G+6DuE"6#WD9`1?!a>s`#6bͭ"f2fآVlrl22f/D,0;NCRUSAxf" p  ea)C,.B*Vm!p  ea)C,یB*πVm!p  ea)C,B*@Vm!p  ea)C,B*Vm"FLƔGJJzp!ZBs6 P#HH9NZ ͧBɘ0IBEAMehAVhAVdTȘ`u$ D =MEZHEZ@1j"SԔDͰ?CIHS4̐?ARMM S%4?ARSS S5$Xu?SRSM 5$8@?SRSSS$͘?MRSMS%58x?DRMMSE%4@5?DRMSE%588?CRSHE$)?TRSMSE$8ؽ?TRSSS5$m?CRSM5$8̨]?CRSSS54`?UMRMT%8?DIMAS( ?VARP$%8?IASCƏS$48(?ILEN S4ԔHh?RSINԈ%5(aFPASS TetUHIASSt5E(@DRIVERBNɘ0IBEAMehAVhAVdTȘ`u$ D =MEZHEZ@1j"SԔDͰ?CIHS4̐?ARMM S%4COPYRIGHT (C) 1981 DIGITAL RESEARCH, INC.bas1dW5!6!6!6@K><"!5"!5"!"sW5+"qW><"uW+"%!""*"!"nW*nW ~. !nWS/H*nW *nW w*nW#"nWÙ*nW+!s!pW6!*6!"X&!Xs!"XDM̀?!X6)yW/:yW2͓(9S*"P:HlX*DM*̓lX͘ !6 v!Xq:_҉!4*"*Xs#r*##:Xw* :Xw!Xq**:Xw*#"!5:0AlX/!6lX*DM̓!"!Xq**:Xw*#"*#"!56:! A/!6*DM̓!"2mW :X/H`!mW6 :X2Xg:X<2X:mW>!pWyW͘ :pW=2pW.!#*pW&SW DMyW -:pW*X"qW!&!Xs#q#pyW*qWDM*X #*pW&SW ! N#F `i"sW7:mW *X#"XDM̀?!X67*sW#"sW!XSe>!pWO.!#*pW&SW yW -GyW*qWDM*X !"sW*sW*qW~:pW¨.!#*pW&SW yW -Ž*qW"X!"X*uW"qW#*pW&SW ! *sWs#r!"sW}2X:pW<2pW4yW/!Xp+q!"X!lW6*XN! ~B)*X~=2X!X6}*XN! ~HI*X~=2X!X6}*X>*X~>3!HHq!lW6*X~2X!X6 !X6:X!X/:lW/H):XXKڳ!lW6*X)-_"X:XXK!lW6*X))))-_"X*X)))*X) -_"X5!lW6:X<2XÂ*X*X& ~2X:XAJ:X 2X:X*'"!#!F?ͥ 2X:XH:XH9O2X ͥ º ² ƀO÷  *DM :X+s#r*#"9:X#*DM:X+s#r͎9*DM :X+s#rV*#"" 2X:XHͥ Hy>:X„>e\!X6 2X*!"X!X6:X!XO!Xw:X<2X¤*X"!:X+s#r"X!X6:X!X OXS+s#rBK :X<2X*XM! ^#V!6:mW :mW H>7 :mW%N!X6 ø_![h!ø:mW? Hv!X6ø!:mW.Hґ!X6ø:mW"¡!X6ø)!ҳ!X6ø!X6 ͒!:X!X6:X!X6!X6 ͞"!X6 Z2X:mW !X6!X6 7 r"!X6 '!X6 R7!X6 R7!X6 &!X6 !6)!7 r)!7bZG!:mW ”R!6:mW :mW H:mWH)!7Ùh!o!mW6 h!Rh!!X6 !6G!_!h!l :mW% !X6 l :mW? H* !X6 l !:mW.HE !X6l :mW"U !X6l )!g !X6l !X6 ͒!:X‚ !X6 Ø :X’ !X6 Ø !X6 r"!X6f!X6 '!X6  +;KWo :mWaO>/:mWAO>/ H !:mW_:mW:mW0O> / AO>/ E:2F! :<2O! Hq:mW U!7G! H:mW\:mW :mWH҆!7h!:mWʑ!7:mW? !)!7 !H:mW.H!)!7à!:mW%!)!7!X6!:mW$!)!7!X6!!X6E"ͥ 2X"Z2XB":X:XH/"!X6UB":X="I"B"!X6QH"I":mW::XHl"7!X6Eq"!X6Q:mW :mWHҝ"_!җ"h!Ú"7r"!X6> !X[%*XM!7% ^#V:mW." &":mW2" &" &M%V!"!X6c# B# &c#:mW0:mW1H!#)!c# !0# &c#!?# &c#!N# &c#:mW.^# &c#!X6 M%!s#)!õ#:mW.ƒ# &õ# !Ғ# &õ#!ҡ# &õ#V!Ұ#!X6õ#!X6 M%!!H# &#V!#!X6#!X6 M%!# &C$!$ &C$:mW :mW+H:mW-H/$ &C$V!>$!X6C$!X6M%!!HZ$)!n$V!i$!X6n$!X6M%!~$)!Ò$ !ҍ$ &Ò$!X6M%!Ҥ$ &é$!X6M%!ҹ$)!7!X6M%:mW :mW+H:mW-H$ &%!$ &%!X6M%!%)!4%! % &4%V!/%!X64%!X6M%""f###F$q$$$$%:X X%7ã"::.Hx%!X6:X*& ~.HҠ%!X6 !5:X%V!ҵ%)!7"X:lW%:X %!X6%!X6%!X6R:X%!X6S &:X &R!"X!X6R!Xq:X2X)!!X6T#6#67!6!X6>!Xں&:Xh&:mW"R&!X6e&:mW b&!X6e&&÷&:X‰&7:mW"&&Æ&!X6÷&:mW":mW Hҧ&7É&:mW"²&7!X61&!X6:X&R:mW &!mW6 :&!X6':mW&!X6':<2O! :mWw7!X6!6!X6:Xk'G!_!7'h!h':mW"J'7!X6h':mW :mWHc'!X6B(:X»'_!Ҁ'h!ø':mW :mWHҟ'e(ø':mW,²'e(!X6õ'F(7B(:X':mW"'7:mW"'F('!X6'F(:X'7B(:XB(:mW :mWH(e(B(:mW,2(e(!X67B(_!?(h!B(7'!:2d(:<2O! :mWw!X6:!Xڍ(*X& N!X4o(!6!mW6 !X6!X6 RSTrtvuswy}zJy}JJ!Xp+q*X|O͊*X}O͊!X6:!X(*X& N͊!X4(!Xq*XMR:Xf) );)V?:XQ0)Rͼ(*T):)C)R *!##6*XM *!!9s#rBKͼ( I??)!96V?>͍/L??Ҙ)!94>͍/Á)"J?V?!9^#V"!ͥ )Ͷ !9N )ͥ  !9H)#Rͥ )%R*!9^#V"!ͥ *Ͷ ͥ *$R!9N#F#N#F@3(!9N#F'͗@҉*:XR`*V?*XDMͼ(Ã*:XSs*V?(Ã*:XTƒ*V?( Ö*V?*XDMͼ(!9N#F#N#F@;A3!9NV?*!!9s#rBKͼ(:*X!FH H*nR !96I??&+>͍/!94L??++"J?!9^#V"!ͥ <+ !9L+RV?O>!9N#F@;!96B>!9N#F!͗@",:Xo:XpHҸ+o??ҥ+õ+p??ҵ+!9~/wÁ+I??+!9N#F/"J?,:XQ+!9^#VO>),:XU,!9^#Vͪ*,!9^#VO>2*!9~,V?%,0@3B>!9N#F!͗@e,!9N#Fe+x??b,!9N#Fe+V?G,h,0@P>!9N#F@;B>!9N#F!͗@,!9N#F(,:X!9wn:XqH, !9N#F(,!9~n,V?,V?Ú,,0@R>!9N#F@3;9>!9N#F!͗@p-!9N#Fz,:Xo:XpHB>@Hm-p??K-!96X-!96 o?!9N#Fz,!9NV?-s-0@T>!9N#F@38>!9N#F!͗@Ҟ.{??Ү-!96ô-!96!9N#F,(@ҍ.:X!9w !9~r.t??-!96w-s??-!96v.!9~t.s??.!96u!9N#F,!9~r6.V?Í.!9~tH.V?Í.!9~vZ.V?Í.!9~ul. V?Í.!9~s~. V?Í.!9~w. V?!9~қ.V?á.0@(!9N#F@8>!9N#F!͗@.!9N#F͆-z??.!9N#F͆- V?..0@(!9N#F@;8>!9N#F!͗@w/!9N#Fʹ.:Xy:X}Ht/y??P/!96 _/}??_/!96!9N#Fʹ.!9NV?&/z/0@(!9N#F@3V?!9N#F/V?DEF@WHILEFORIF?OPENCREATECLOSEDELETE INITIALIZEINPUT READRESTOREPRINT LPRINTER CONSOLE CALLRETURNGOTOGOSUBONCHAINSTOP EXTERNALINTEGERAREALBSTRINGCCOMMOND(I)J;K,LPUTLOCKEDUNLOCKEDENDde f:g*n+o-p/qtGTt=sEQsGEuLEvNEwNEXTWENDFENDTHENELSEASBUFFRECLTOSTEPWIDTHLINEUSINGPUBLICRECS#ORyANDzNOT{^xLET<DIMPOKE RANDOMIZEREMREMARKDATATAB|%INCLUDE%NOLIST%LIST%EJECTERROROUTGO>XOR}%CHAIN%PAGESUB=READONLYDETACH%DEBUGPLOTMATFILLGRAPHICATSETSTYLEASKCOUNTCOLORJUSTIFY CHARACTERHEIGHTTEXTANGLEBOUNDSDEVICEWINDOWVIEWPORTMODECLEAR!CLIPBEAMPOSITIONMARKERTYPEBLINKINVERSEDISPLAYBORDER BACKGROUNDCOLORSRECEIVE$SEND%ALPHA"PLAY&SEGMENTFASTSLOWMUSIC#DISKKEYIN TIMEDATEABSaASCbATNcCHR$dCOMMAND$eCONCHAR%fCONSTAT%gCOShEXPiINPmINTnLEFT$oLENpLOGqMATCHrINT%MID$sPOStFLOATFREkMFRElRENAME`RIGHT$vSADDwSGNxSINySIZEzSTR${SQR|TAN}UCASE$~VALRNDuVARPTR_PEEKjGET^LOCK\INKEYZUNLOCK[ERRXERRLMODATTACHERRXSTRING$SHIFTTIME$DATE$COMSTATUS!/"X*X~55Ͷ *XN! *XNJ*X^*X##"X4! 3"X*X~55Ͷ *XN! *XN *XN! *XN *X^*X###"X*XN !X6*X~!Xڦ5 *!DM͐ Ͷ *X&*XN :X<2Xm5*!"#*X^*X#"X5*X~͍/L?>͍/J?L??c616K??q6jV?nV?NV???ҍ6V?ù6??Ҟ6V?ù6??ү6V?ù6RV?>͍/g?6L?6)V?:XQ6i?R7:)7R *!##6*XM Ͷ  ;7ͥ  H;7%R*!DMi? OV? ??ң7V???Ҏ7I?>͍/L?>͍/J?g?Ú7>@>@>͍/8??Һ7V?>͍/8??7V?8 ?V?6>)L?6>)L?6>):X8!X68:X"8!X6>!X/~ְ/H::Xְ2X PV?*XM!: ^#V?V?>͍/::??y8RV?>͍/:?V?>͍/:V?>͍/L?>͍/:?V?>͍/:V??>͍/: V?>͍/L?>͍/:: V?>͍/L?>͍/L?>͍/L?>͍/: V?>͍/L?>͍/L?>͍/L?>͍/:??Ҁ9 V?>͍/ß9??ڎ9RV?>͍/>͍/:??ҹ9V?>͍/:??9V?>͍/L?>͍/:??9RV?>͍/L?>͍/:V??>͍/:V?>͍/:V?>͍/:V?>͍/L?>͍/:V?>͍/:V?>͍/:??:V?Õ:??Ґ:V?Õ:R>͍/:S8h8k8888888849i99::):7:R:`:n::X:!X6::X":!X6>!X/~ְ/H=:Xְ2X QV?*XM!< ^#V?V?6>)=?V?6>)=??Z;V?_;V?6>)==V?6>)L?6>)=V??6>)=V??6>)= V?6>)L?6>)= V?6>)L?6>)= V?6>)L?6>)L?6>)L? 6>)= V?!6>)L?"6>)L?#6>)L?$6>)====V?%6>)=V?&6>)=V?'6>)L?(6>)===V??)6>)=;1;I;k;n;;;;;͍/L?>͍/L?>͍/L?*6>)SV?TV????p=>@v=>@??҈=>@Î=>@?>͍/L?>͍/L?>͍/UV?>͍/VV?+6>)WV?>͍/XV???>͍/L??1>??>>@.>??#>>@.>R>@7>>@{opQURSTIQURSTIopRSExnqoprtvuwszyQURTSIJ}ABCD   g@?    !"#$%&gfdeLgfdeKJLgfdeLQfABCDfABCDRSEedRSQRSQQRS>gfdegfsgdefgdef?xsRSQfRSQf!Xq!X:XS? >>!Xq*XM͊*XM͊!Xp+q*X|O͊*X}O͊!Xp+q͊*XDMi?!X6:!Xڷ?*X& N͊!X4™?!Xq*XMR:Xf? ?!Xs+q*XM???*XMRͥ  H@ !Xp+q*X:X-@*X~#@>*X#"X @>)V?*!DMi?!Xp+qV?V?*XDMi?V?!Xp+qV?V?!X6*X~!Xڑ@*X&*XN͊!X4q@V?!Xs+p+q+p+q*XDM@ҵ@>*XMR*XDM@*XDM@H@ ü@>!Xs+p+q+p+q*XDM@*XDM@H)A*XMR*XDM@*XDM@H)A  AGAͥ ?A DAQRRA Ͷ !Xp+qK>@ҠArA Ͷ ͠ ͥ HҍA4RàAͭ (V?*!DMi? >*XDM2@!Xp+q>@Ae>SA:XfA AAõA*X1>@>@C!X6:XAB!X6@B:XBB!X6@B:XC%B!X6@B!X6:X+w>!*@B+͸?)C :XUmBX!FbB*XM gBR ØB:Xf:XLHҍBRØB:XQ˜B9C:XL:XQH:XUHC*L?:XUBX!FB*XM BR C:XQB9CC:XL:XfHCRØB)C>@)C>)>@ ҔCͥ 2XSCRÑC:XoC iC/RlC ÑC :XHҌC*XM ÑC,RòC :XҫC *XM òC*XM *!"X I??D:XRC>!XSC!"X-RC0R!"X*X"!ͭ *XM Ͷ :XJD .J?8D*X"!ͥ  H8DͶ >*XM(@!Xq*XMV?>@kD*A*!DMi?vDi?QR:XEƒDV??@:XUHͥ HHүD :XQEDͥ DͶ Dͥ D]RE:)DR *!##6Ͷ *XM E^͸?ÏEͭ ,V?*!"XDMi? _I?>͍/!X6L??JE!X4>͍/4E`J?*X"!>!XeEaR*XM *XM>@ O>@V?L??ҏEðD:XUͥ HE:*X!FH HEnRE>Eͪ*EdR>!*FGV?*XDMi?FFV???+F?? FhR5V?ͽFüF4V??͍/??GFV?ÊF>??wF=??aFV?tF??oFsRV?ÊF??څFYRV?ͽFK>@:XLHҷFL??ڱFgRͽFÍFV?*A*!DMi? 0V??͍/:Xg:XfHF F;R S:?1V?:XQG<͸?H?G:).GR *!##6*XM 2V?*!!9s#rBKi?8>?)!9^#V"!ͥ ͥ H҅GcR=s??͍/V???!?͍/??ҶG>͍/üG>@:Xg:XfHG G?R S@?:XQHH!9!H HBRHBR 3V?rV?>͍/L??͍/JK?!X66V???iHkV?>͍/XK???}HH!X6ÂH!X68>@:X|HH|??HI?:XҼHqRlV?HmV?>͍/"J?HlV?>͍/H:XHpR,J:XL:XKH:X/H8>@H:X|HI!X6L??HI>@!XEIhV?×IK??wI:XoI>@lIoRhV?tIiV?×I8>@:X|HҗIGRhV?8>@:X|HI!X6|??II?:XIqRlV?ImV?>͍/"J?IlV?>͍/H:X!XJeR:XJlV?>@:X/!X,JjV?nV?!Xq*XMV???VJ>@VJ FJ!Xs+q*XMV?>>)?:XL:XQHҧJ*XL?*XMV?>>)?pJ;V?:XTJ>͍/HK?J)?\@??JpV?+?>)JIoWJqV?)͍/iL?>͍/!Xq!6*XMV?8>@҈K>͍/ãKlR-?\@>@ڣK ÓK??ҵK>͍/K>@>@K ûKN?8>@K>͍/LmR>@>@L K??+L>͍/??(L>@(L LAL>@>@AL 1L!X6:X֭:X֮H:X֯HҦL??~L:X2XãL??ҒL:X2XãL??ңL:X2XFL:XµLtR:X?:XHLuR*XMV?L??LnK!Xq*XMV?>͍/L??MLKV?>͍/bL?>͍/LV?>͍/bL?>͍/CV?8>@NM>͍/TM>@HV?>͍/;:XU¢Mͥ {M8RÝM:*X!FHҝM7R!X6Q:XQ??N:XM!X6N:X= N!X6NsR!X6>&!XڅO:X!9w !9N!7O ^#VÅOͰDÅO GÅOFÅODHDÅOEHDÅO FÅO͐EÅOEÅOIV?ÅODHÅO92JÅO82JÅOͨJÅOJÅO>eKÅO?eKÅO@LÅOALÅO6MÅO=V?ÅOUMÅOJV?ÅOMÅOLKÅOMÅO:V?ÅO,6ÅOw6ÅOG7ÅO8ÅO:ÅO=ÅOL=ÅOR=ÅOͶ=ÅO=ÅO=ÅO=ÅO8N;NANGNMNUN]NcNiNoNwN}NNNNNNNNNNNNNNNNNNNOO OOOO%O+O1O>!9N#F5@3:XQOҬO R !X4Ͷ *XM O R:*O͸?ðQ:XQ:XUHPP͸?ðQP *XM Ͷ *!"X&P͸?ðQ:+8P*Xg\:+<2+2* I??҅P!X6͘O:XL:XQH{P L?͘OVP J?ÊP!X6>!XҘPR*X"!*XM s??P*V?*XDMi?)V?*XDMi?>͍/V?ÖQ??P*X"!B P??P*X"!X f?? Q R*!!9s#r*X"!N 0Q*V?*XDMi?!9^#V"!>ͯA*!!9s#r*X"!N \QÏQ!9^#V"! S??~QC͸?\QÏQ??ҏQD͸?\Q?*X"!N ګQE+V?!*6-V?!9N#F͍/9????/Rd??QV?BV?1?͍/W?DHD,R>ͲQ!9N#FQ??'R.V?!9N#FQ/V?5R>aMg??ARQ7?!9N#F6@:/:*HqR!6V????Rd??ҤRV?BV?8?͍/W?DHDR>ͲQ:XR:XSHRDHDR>Q:XR.V? SR/V?R>aMg??RqR>6>?@>@8S>SA@??)SO,SSRf??5S S>ͯA S??SSC͸??S??dSD͸??S??uSE͸??S:Xed??HڏSR:Xd:XfHҭS ÏS:XeʺSRV?DM!>))S =S_{_z#W>ͲQ!9N#FQ??'R.V?!9N#FQ/V?5R>aMg??ARQ7?!9N#F6@:/:*HqR!6V????Rd??ҤRV?BV?8?͍/W?DHDR>ͲQ:XR:XSHRDHDR>Q:XR.V? SR/V?R>aMg??RqR>COPYRIGHT (C) 1981 DIGITAL RESEARCH, INC.tree$leaf$node$quad$unk$con$var$sub$lab$fun$usr$par$rwd$exp$unk$flg$bit$int$bcd$str$1$P!6K+"3P!"5P3P#Fڶ\*3P+"%$AXP/:0@7P/!"!"#XP*3PDM*5P̓XP͘ :7P :6*DM*̓͘ !6 v!yPq:_w!4*"*,Ps#r*##:.Pw* :yPw!zPq!{P6>!{Pڴ:zP2zP0Ok:zP2zP0Ok k!{P4!|Pq::|P2}P:)*P&P :}PڛE*}PM E*}PM4OE*}PMl4DME*}PMS4Ox(E*}PM͈4_!=DM2E*}PM͡4_!eDM3/HH!"P!P6*P~!P*P)))*P) *P&*P>_"P!P4£!"P*P!Pr+s+p+q+p+q+q+q*PM*PM*PDM͘*PDM͘*PDM͘:ʐ:7E8 E*PDME*PME*PMx#E*PDM-E*PDM7E*PDM*P#"P!Pp+q*P|O*P}O!P6 +6!P6!P6P͐!P6@͜2P:P :P0H͛:P-!P6 !P6:P-:P+H%͛͹9Z!P4͛%:P.v͛:P!Pf:P0f͛!P5T͹vZ͛f*PME͛:P-•!P6Ú!P6:P-:P+H:P H͛!P6͹:P:PH!P0#w͛:P:P/<2P:P!Pw:P!P!P6':P':P2P:P5͛'!P6>!PY*P&P N!P4::Pʚ:P:P*P&P wÓ*P&P :Pw`i+5:P/2P:P<2PO:Pڳ͜2Pø!P6:P0O> /:PH͜2PO!P6!P:P!P4͜O0123456789:<=>?@ACDE&'(KLM͜2P[͜O`iͭM͋͜M",P!R60͜2.P*P&ͭM:.P͋M"R!Rq!R:PŠ0>>:P<2P<ڣ*,P\:P:P=2P½*,P\!RqK*R&!Rs+qL>O*R&*RM! Rs+p+q+qM: RO*R&*RDM!P6>#w#62R!]R60:PY0:Ru*,P:p*,PDM!R6:Pƒ0V0:P(/>X!P/HL0:P(O!/ ^#V0b"!0͹ !!*!:*,PDMI0J;*^RMl4>:2! *^R&UM_R  >9w#6J *^RMl4>82J *^R&UM_R  >7w#60F:P[ ͷBe *,P\*^RM͵*P&P NF2!RͧI00͍2PE1b"!:ҽ *,PDM0 22RE!!"R6:2R!"R  !"R:2RO!$R Hq!"R4 >>H2"RJ*"R*2R&*!DM!"R6:2R!"RE!*"R&#R N!"R4'!I00J2ͧI00b"3R"!0vy!ͥF2!Rc!.*3RDMI00jh2*P&P ~2!R*!RMl4>,2!*!RM42!R!5R6D!!5R6C*5RM*!R1I00͍2PE1*P&Q) ^#V"6R:P=o&) *P&) N#Fq#p:P=O!Q *6Rs#rJ2ͧI00J2ͧI00kh2E1ͳ1I00J2*P&P ~2!R*!RMl4>,2"*!RM42!R!8R6CÆ"!8R6D*8RM*!RL1ͧI00HE1ͳ1I00ʹJJ2ͅKI00͍2PͥF2!R0*P&Q) *!s#r:P29R:.P2Rv#Y*P&Q) ^#Vq#vg#0*P&Q) *!s#rZ>O*P&Q) N#F*P&Q) ^#Vq#*,P\*P&Q) ^#V:P#b"!͠ Һ#*!#:R2.PR@0Î#0:9R#*P&Q) ^#VͧI0:.P2R0b"!:R2.P͠ %$Y*!DM*$R@0I00kvZ$!>R6ͥFR$F@/;_$!>R6rvҗ$ͥF2!RN;svҏ$ͥF2!RO;!;R6ð$nvҫ$;;%ð$!;R6nvڐ%mv$ͥF2R%!=R6:*,P\iv%!:R4C%jv0%!:R44C%hvC%*,P\*:R&UM :R҆%!=R6:*=RM;ð$::R::RH::RH::RH!>R%F;%::R::RH%*,P\I00ͥF2!RͥF2!R];I00WI00WI00;I00!?R6ͥFN&K@;pvo&J;sHl&L@Â&ov҂&!?R4J;o&*?RB!?R:P<2P#6:?R!@Rڽ&sHO! N;!P44!@R4™&!?R:P=2PO!P ~2]Rqv&*,P\I00rvj'ͥF2!RN;sv'ͥF2!RO;ev='J;sH5'T@);g':Pfg'fvb'J;sHO!$ N;E'P;Ç'dv҇'J;sHO!* N;j'gvښ'*,P\I00S;I00ͥFʼ'O@ͥF2!RͥF2!RͥF2!R*PG0I00ͥF'O@ͥF2!RͥF2!RͥF2!R*PH0I00ͥF2!RI;I00ͥF2!RJ;I00ͥF2!R:PD(:.P2R0b"!:R2.P͠ ڊ(U@0Q*!DMç(*,P\I00ͥF2!RT;I0:.P2R0b"!:R2.P͠ !KH)E*!)!K)R@0I00b"CR"AR0vQ)*CR"!*!"CR _ͥF2!R*)*AR"!͠ ͥ H!KHҖ)F>O*!DMè)!Kʨ)R@I00II00Ib0I00:);ͥF2!RV;I00:*;-;I00U;I00ͥF2!RͥF2!R;I00ͥF2!RͥF2!R;I00:PlŒ*0ͥF2!RͥF2!R;e*jvҚ*;nvڭ**,P\I00v*!ER6*v*!ER6*v*!ER6**,P|\ͥF2!R;sH +@;sH+@*ERMI00:P2FR0:FRk+ͥF2!RͥF2!RͥF2!R+:FR±+;yHʃ+@;yHʓ+@;sHʣ+@+:FR+ͥF2!R+:FR++*,P}\I00:P2GR0>!GR,*,P\-*GRM!- ^#V-ͥF2!R--ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!RͥF2!R-ͥF2!R-ͥF2!R-ͥF2!RͥF2!R--ͥF2!RͥF2!RͥF2!RͥF2!R-ͥF2!RͥF2!RͥF2!RͥF2!R-ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!R-ͥF2!RͥF2!R-ͥF2!R-ͥF2!R-ͥF2!RͥF2!R-ͥF2!R-ͥF2!R-&,),6,9,F,S,`,w,,,,,,---(-5-B-O-\-s-----*GRMI00:P2HR0>!HR%.*,P\.*HRM!. ^#V.ͅ0.ͅ0.ͅ0.ͅ0.ͅ0.ͧ0͖0.͖0.͖0.ͧ0͖0.ͧ0͖0.ͧ0ͧ0ͧ0͖0.ͧ0ͧ0ͧ0͖0......͸0.͸0.ͧ0͖0.͖0.5.8.>.D.J.P.V._.e.k.t.}...........*HRMI00ͥF2!RͥF2!RͥF2!R;sH3/@;I00;I00ͥF2!RͥF2!RͥF2!RͥF2!RͥF2!R;I00ͥF2!R;I00;sHʫ/@;I00ͥF2!R;I00ͥF2!RͥF2!R;I0 H!T!!!+"7"L""""#0$%&&*&5&&'''*(?(T((())))**$*C*b**+++./;/F/////V0*,P\::q0:l0;-;;sHʕ0@;sHʦ0@;yHʷ0@;sH0@!IR +|0 Ͷ  !OR6*OR& IR ~<*OR& IR w::ORH91*OR& IR 60:OR=2OR0:ORK1*,P\!QRs+q:QRh1!"RR!TR6Ì1*QRMF2TR‚1*\R&"RRÌ1*QRMl4"RR*PR:TRO*RR*P&Q) ^#V0*P&Q) *!s#r!VRs+q:VR1!"WR!YR62*VRMF2YR2*\R&"WR2*VRMl4"WR0*UR:YRO*WR*P&Q) *!s#r*P&Q) ^#V!ZRq0F*P&P ~2[R*[RM͡4’2*ZRM@2*[RM͡42*^R&UM_R  >*[R&UM_R  Hq*[RM͵ "#$%&'()+,;<;345;<;?!Wq*W&UM_R  ~!Wq*W&UM_R  ^#V!Wq*W&UM_R  ~!Wq*W&UM_R  ~!Xq*XM4Ol4! Xq* XM4Ol4*P&P ~!"Xs+q*!XMS4!"X+n&UM_R  Hq:\R<2\R#5*,P\:\R!#Xq*#XM͡42$X*#XMS42%XH:$X:%XHH!&Xq*&XM͈4*&XM'5H*&XMS4H:P=O!P ~2WO͡42W42WO͡42W!*Xs+q+p+q*)X&UM**X& *'X~2+X5@:*XÃ6:+Xʃ6:+X6:+X2+X:P2,X#6:P=2,X>!+X16ͨ6:+X/>!+X/HM6ͨ6:+X:+XH:+XHv6ͨ6:+Xƒ6ͨ6:+XҞ6*+X&3 ~2-Xä6:)X2-X:-X!.Xq*,X&P N*.X4:]R2/X<2]R6*,P\:/X!5Xs+q+q+p+q+q;62^Ro&UM_R :0Xw*^R&UM_R  :5Xw*^R&UM_R  *1Xs#r*^R&UM_R  :3Xw*^R&UM_R  :4Xw*^R&UM_R  6;A3!96+~*8;6!9w!9n&UM_R N|7!9n&UM_R Hq!9n&UM_R  N|7!9n&UM_R  Hq.!9n&UM_R  !9n&UM_R  -"8!9~!9Xs+q+p+q*6X*8X*9XM6͍O!P :^Rw*P&P :^Rw!=Xs+q+p+q:=X@:=XրH:=XHұ842?Xͧ42>Xü842>X!?X6*>X*:X *_2D:!9^#V"!##: O!K3 ~!9w: O!E3 ~!9w!9N34O͡4 _Hͻ5O n8ç:*^RMl4>:2p:*^R&UM_R  >9w#6ç:*^RMl4>82œ:*^R&UM_R  >7w#6ç:@ n8!9~=w###~ҿ:!96:n8â9!9^#V"!!9~:*!ͥ _H18*^RM4 ;*! On8)v?;b"!ͥ _H180v<;8I;*,P\)vz;b"!ͥ _H180vw;8;v҉;c9;vң;b180;:P;*!9s#rͯ!9N#F180;:P;*!9s#r!9N#F180;K;ͭ5*WMj5u<:P;<*WMl4yM*W&UM_R  q#pr<:Ph<*WMl4̈́M*W&UM_R  q#pr<*,P\D=:P:WHһ<*WMl4> <W3 *W&UM_R  w#6D=:P<:W<*WM4!W6=:P=:W<*WM4!W6:W=*WM4!W6*P&UM2 *W& ~2@X5=@*@X&*WM n8!CXr+s+qͧ!DX6BX:DXSx=*AX& n8:DX<2DXU=͖5ͭ5:W:WH@*W&UM_R  "FX*W&UM_R  "HX*WMj5*WMj5H:PHҖ?*PM!t? ^#VÒ?*FX*HXM*FXq#pÒ?*FX*HXH*FXq#pÒ?!MX6*FXN#F͑B*FXq#p*HXN#F͑B*HXq#p*HX>ͳMh>@*FX>w#6>*FX*HXN#F^#V8M*FXs#r:MXҔ>*FXlM*FXq#pÒ?*FX*HX^#VN#FWM*FXq#pÒ?Ò?*FX*HXHOAÒ?*FX*HXFOAÒ?*FX*HXF/OAÒ?*FX*HXH/OAÒ?*FX*HXHOAÒ?*FX*HXHOAÒ?*FX*HX+M*FXq#pÒ?*FX*HX͗M*FXq#pÒ?*FX*HXM*FXq#pÒ?==>$>>>>>>>??2?H?^?ͧ*WMj5*HX>ͳM/H?:P?*HX^#V1E=?:P?*HX^#V2E=*FX*HXH*WM͈4H @:P @SB*WMj5:PH^@*FX>ͳM7@SB^@*FX>ͳML@SB^@*FX>ͳM^@SB?B*WMj5H@*HX>ͳM/*HXK/H@:PO!Q3 ~2PX@*HX#~һ@*HXlM1E=@*HX^#V2E=*PX& n8:P :P H:PHSA:WA*WM4!W6:W$A*WM4!W6:W:A*WM4!W6:WPA*WM4!W6ëA:WiA*WM4!W6:WA*WM4!W6:W•A*WM4!W6:W«A*WM4!W6m3*WM*Wͻ52W*P&UM2 *W& ~2EXA@?BA!W6*EX&*WM@n8!JXq:JX%B*W&UM_R  q#p>B*W&UM_R  >w#6:P/> !P/H!KXq4:P=O!P Hqͧ!LX6:KX!LXڐB> n8:LX<2LXqB!OXp+q:NXͣMҳB*NXyM"NX:MX/2MX*NX>!P C>!PBy=C>!PB<C͖5ͭ53*WM*Wͻ52W*P&UM2 *W& N*WMn80÷B!TXs+q+q*RX:SXO*TXMl4 5_*TX&UM_R  :\Rw#6>;A3!9N4ʐC!9N4OlC!9w!9N4ʮC!9N4OlC!9w!9NS4!9w!9N34C!9N͈4C!9N͡4C!96C!96C!96dE!9NS4@HD!9Nl4!9~#~HO!9Nͺ4!9N4 5_BE!9NS4 ʅD!9Nl4!9~O!9Nͺ4 5_BE!9NS4D!9Nl4!9~+O!9N4!9Nͺ4BE!9NS4BE!9Nl4"!ͥ D!96F"E!9N͡4E!96G"E!9N͡4E!96H"E!96F!9N>O 5*!_DM!9n&UM_R  :\Rw#6!96>!9ʨE>!9E/!9N!9^!C*!9N!9^!C!9wE>!9E0!9N!9^!C!9w>!9E-!9N!9^!C>!9 F.!9N!9^!C!9~!UXq!\R6*P&P ~2]R*UXMlC:PRF0:PLFJ;ͷB;F0\F*,P\4O͵4OlC2WyF*\R&4Ol44O͵4OF2WF*\R&4Ol4!WXs+q:PʷF:WX0F4O͡42XX:XXHF:WXF!WX6:WXG3*XXM*WXͻ52XX!WXG*,P\́F"YX:VX.G*XX&K3 ~2[X;G*XX&E3 ~2[X:XXKGr@]G:[X]G*,P\*[X:WO*YX 5_ͧ:XX!\Xq4O͡42_X4Ol4>:24O͈4 HG4o&UM_R  >9w#6H4Ol4>824O͈4 HH4o&UM_R  >7w#64O͵*P&P ~2]R4OlC2W>H*\R&"]XHH4Ol4"]X*\X:WO*]X 5_!\R6ͧ:_X@̓G=̓G4Oj54Ol4|/H!`Xq*`XM͡4*`XMl4>2H*`XMS4H*`XM͈4Hb"aX"! 2cXHZ@0J;0FH2gX:PIͷBI*,P\4O͵4OF2W*P&Q) *aXs#r[I\I:P=O!W :gXw4O'5ҬIH/ҩI!\R64O|72hX]F"eX*P&P :hXwW:W2%K*lX1E=0K@n8!nX6NPK4O'5KK!nX6OPK!nX6T!\R6]F"lX*nX:WO*lX:P==O!Q ^#V*P&Q) ^#V"tX"wX*P&W ~2vX4O'52yX:P==O!P N͕H2zXͧ:yX/L:vX L*P&W HK!{X6P L*P&W ~L!{X6Q L!{X6RL!{X6S]F"oX:{XP,L*oX5"oX\L]F"oX:zXDL!{X6U\L!{X6V:P=O!Q ^#V"tX:{XQ:{XRH:{XSH:{XUHҧL!sX6:P=O!Q ^#V"qXòL!sX6!"qX*{X:W:sXH))덑o|gOM ==MDM!>))dM =\MYP뗖_>#WYP뗕o>gYP}/o|/g_{ozgi`N#Fog~ £M^#V) ­M_{_z#Wi`N#Fog@0000@0000COPYRIGHT (C) 1981 DIGITAL RESEARCH, INC.1PK"P!"P5"P><"P!"PPV"P:‹PK"!",/Ñ*P"#Fڴ!6\*+"%P/!" R&! Rs!"P:(!Q/ͱ:€$@Q/:3 @/!"9!"b;:P]"*PDMs<:PZͱ<͙F:}Q*PDM*P̓Q͘ *&)) *q#p!R6!0R6:P*R&))**P#~P/:H:20R!6"͗!:0R:0R2!0R6:Pͱã!"P:!6͗!:&:!9 Q :L ::Hl!6y:y!6&:&Ù*M':4'E*DME*DMD'E*DME*DMT'E*DME*DMu'#%FDM:Jk*DM*̓͘ :w!6:h&q*M'͇v!Rq:‰*P*P:Rw*P#"P!5ڻQ*PDM̓!"P*#"!5!&*DM !"**~*P#"P!5Q!&*PDM !"P*P*P~:Pa.!#*P&LPP P -G*P"R!" R*P"P#*P&LPP ! *Ps#r!"P}2 R:P<2Pڠ4P/R2PF>!PFP͘ :P=2P.!#*P&LPP DMP -:P*R"P!&! Rs!" R&P*PDM* R #*P&LPP ! ^#V"PR2P:P Qñ*P#"P! R~Pڡ>!Pҋ.!#*P&LPP P -ƒP*PDM* R !"P*P*P~!Rq:! k k>k:R :2RO::<2!R: k *RMk!R6!R6#6EW&*'"!e` Z:R/Wp&p!R6!R61:R~E& kp&p*'"!!R6#6e ͥ !R6 E& *! DM0E& DM!!RR :!R2!RO:2"R!%R6:%RO !%R6!#R6:"R!#RL :!R!#R#w͐ B (!:#R<2#R%  !&R6:!&Rڏ *&R&)) *>==*&R&)) *w:&R<2&RX *#R&))**$R&))*FҴ >*#R&))**$R&))*H >*#R&)) **$R&)) *~ >*#R&)) **$R&)) *%!>>!*#R&))*DM'R +|>!!*$R&))**#R&))* +|h!!*$R&))*'R +|‡!!%R6""&*R&)) *~!/"H!*R&)) *NE^ͫ*R&)) *N:R<2Rä!×!*R&))*PH/*P#"P]%:P :P HJ"*PMͫͱ%":P%$%ͫ!6ͱ*PM҉"*PMͫ:<2O! :Pwͱ_"& %#:P :P HҸ"*PMͫͱÓ"!6:P :P H:P H:PH #:<2O! :PwOͫͱý"$($& %:#$:2#:2!6!6$& %p#:2:W#!6!6]%%ͫ$$& %҃#$ͳ$' %#:P :P HҲ#*PMͫͱÍ#!.R6:P0O> #*PMͫ:.R:.RH:PH2.Rͱ÷#$:.R2$' %$:P :P H%$*PMͫͱ$!/R6:P :PH$*PMͫ*PMIq$:/Ri$!6!/R6n$!6$*PMN™$:/Rґ$!6!/R6Ö$!6$*PMV$:/Rҹ$!6!/R6þ$!6$:P-$!/R6ͱ*$$$$$$:P :PH %*PMͫͱ$!,Rp+q*+R:W%!-R6:!-RT%*-R& N*-R&*+RJ%>:-R<2-R"%Z%>>:h%'PKy% ͫPKҊ% ͫ>dPSҚ% ͫ> PSҪ% ͫ*PDM:P%:ͫ ͫ%=ͫ:P`Oͫ ͫ:%*DMEinteger$real$string$name$type$class$address$# subscrp$simple variable$subscripted variable$label$*****$symbol table information$variables in common$no$function: $at $returns $program contains no functions$global variables:$*** error$INCLUDENOLISTLISTEJECTend of compilation $ errors detected $cb80COMMON($DATA($CODE($code area size:$data area size:$common area size:$* + $parameter$symbol table space remaining: $PAGEDEBUG*@*@@!@@!@{}oz|g#*@@@!@!@"@s#r6#6@!@@!@ @!@@!@ !*@*@@!@@!@{oz}|"/>>go?/W_*@!@|z@@@@@@!@*@}{/o|z/g)#+g!@*@@*@)))^#V!@$%*@|z       $B @@UP $@ @@$B @||||||||@@A $@ @@A$B @@UP $@ @@@@A$B @||||||||$B @||||||||$B @ @ @@@A $@ @@$B @$B @$B @ @@ @0A @@ ` `f~~ @ @ @ @ @`  G @(@ B!B $8|????B $<?|  $@8????  $@8?????@ @ @ @ >!@@@@>!@"@@*@*@"@@ @@*@*@}|{z@*@*@!@{z}|@X @XXXX*@*@!@ }|@X X@*@@*@ 0X@@!@!@@!@@!@ @@@!@@!@ @@:@y~ @ @@@@@@@+)@~#fo+)@~#fo'**A(Z*+'*/+'*+A(Z*+'*,A(Z*x,'*,A(Z*-'*4-A(Z*-(*-(Z*.(*.(* .(Z*.(*.(* .(Z*.(*.(*-(Z*.(*.(*I.(Z*.(*.(*I.(Z*.(*.)*.()*.))*.*)*.+)Z*0'*.)Z*0'*R/)Z*0'*/O)*0$)*:0!(~*0#(~*c0%O)*F0$O)*v0!O)*0$(~*0%(~*0$O)*0$O)*0$'6*10'6*20'6*120)*\2)*2)*3)*2)*\2O)*J1!O)*1!O)*1!O)*1$O)*1$O)*-1$")*83@")*U3@33333r3x3~333*3 33*4"4*O4^4*44*44*44*54*4 5*N55^5@ ?cb80c!Vq*V&)V ^#V2V2V V͐:V2V2V:V2V2V:V2V2V!V6>!V88*V&)V q#p!V48O`iuP`P:V9:V:VVSH:V:VVSHH:V:VVSHHҿ9*V&V N!]8 ~2V›9*P-\ÿ9:Vʿ9*VMͩN*VM9I*V&V 6*'"!#!F9ͥ 9 H9 *! O9!"VVF&:ͼOͩN*V"V:!Vq*V&LP1R ^#V"V>2U:N^:*VN*++*V&LP1R q#p!VqͩN*VM'::V!`P9I!V6!V6#6?!V6>!V;*V&LP1R ^#V"V>2;.*V&LP1R  DMV -:*VDMVO:V<2Vª:*'"!#!Fa;ͥ N H[;>"V>2[; *! *VDMO;!"V!V6!V6V͐::>!HҾ;:==2VoV -¤;VO;O9 *DMO*DMz8O:< OO::r<*"VͩNN,x:!ͩNN"ͩN':"ͩN':!ͩN*N"ͩN':!Vp+qVVF/:V/HA͔8:V=9:V<:<*VDM>*DMO*V"V=:V>2g= >DMO*DM =:V=*V"!:Ҫ=EDkWkE *! DMd ҽ= N=>>2=>N*++DM$=*DM$NA:VN>:VY:VZH>9:VY">A:VQ:VRH:VSH:VUHW>AA|D:VY:VZH:VPH:VNHҭ>*V&LP5 ^#V"V'Fú>DjC@F!V6A:VK?*V&LP5 ^#V"VA:VK?:VM>9A'F́8Mx:!V6A:VC_A*V&LP5 ^#V"VA:VEB?'F\A:VF?A Z?9ͩNͥ ~? M': 9Iá?d /Ҏ?*DM$*VM*VN@9Iͥ  H?!W6?!W6ͥ :VH?!V6?́8!Vs!V:Ww\A:VG:VHHT@A #@9'F́8!Vs:VGF@*V&V 6Q@*V&V 6\A:VI¦@:Vʛ@́8"! |@!W6!Á@!W6**WMͩNN*WM@9I'F!V6\A:VJ@AAA'FRx::@EDkBkÉ8!Ws!W6:W!W%A2WOͩN:A:WA,k*WM:W<2W@:W!8A!V6\AADjC|D@F!V6A9DA:VwAAA:V“AjC|DôA:V ¥AjCôA:V0´AjC|D@F:V0A*V&LP5  >́8!Vs!VHqA!V6y>2FC CKC C!Wp+q*V& ) V *Ws#r!Ws+q:W‘C!W6*W& V ~2WóC*W& V ~2W*W& V ~2W:W:WHC*P/\*W&LP*W& *V~=2VD*P0\*V&LP5 ^#V"V*V&LP5  ^#V"V*V&LP5  ^#V"V*V&LP5  >2V*V~2V{D*P1\!Wq:W•D:V2WòD:W¬D:V2WòD:V2W:WD*WḾ8V 6*VNͩN*V#^#V" W}2 W* W|2 W@}E>! WeE* WḾ8"!ͥ ͥ H* W& V ~H>Ed />E*DM$* W& V * W& ) V ^#VNNzE: WO!t8 ^#VNF: W ™E: W##NF: WE>! WE: WE: WO! V #~OͩNE: WO! V nMͩNE: WO!q8 NͩNF: W F* WM':F: WF*P2\*VN* W9I*V~?FD*V###"V'F:VV#+s#r:VO!i8 ~2V*V~ʘF*V:V~FD*V###"V:VV+s#rfF:҉G*'"!#!F҉GN /9 /H H҃Gͥ 2W :W:WH:WHHG  *! OÃG:W:WH:WHUG  *! OÃG:W:WH҃G  *! OæFs<͝: *DMO:ҾG*VDMOGOOaassaxoc  6 ,X DT H,H,,3H$ # 5 " )$$. 2 2 0      M@A@PsP .5  8  !9 "9  #9 $9  9 %9  '9 &-1)(+0.-,)9+*.-1)5+0.-9)4+9.-1)2+0.-/)+9.-1)7+0.-3)6+9 . DGHLXNZZ NCC POPEP M BCDEHLMAPSW$SP$!Wr+s+q:IIE:W2W:W2W K"W*W>@Ok*W>2W*W#"W~2W*W>I*W>@Ok*W#"W>I*W>@Ok*W>O! I Nk*W+"W*W+"W:WIE:W` J*W&!I NkJ:W:J*W&)I Nk*W&)I  NkEJ:WNJ:W0OkJ:WJ:W :W@HvJ:W2W:W@:WHҗJ)IJ:W :WHҸJ-IJ*W&!I Nk:WJ,k*W&!I Nk:WK:W:WHK,k͎K:W@)K:W?_!H"W~2 WtK:WIK:WvAK! W6FK! W6 tK:WaK:W2 WtK:W?_!H"W~2 W* W&G * W& * W& *W|2#W}2$W:#WK?k!"W6>!"WK*$W&LP1R *"W& >_Ok!"W4«K~M:#W@M:$W2!WO>L:!WL:V2%W%L:!WL:V2%W%L:!W%L:V2%W*!W& ) V ^#V"&W:%WºL*!W&)V ^#V"! *! DMͥ ʷL#E*!W& V ~ˆL 'êL*!W& V ~¤L.'êL('*&WDM)kL:%WL.'*&WDM)kL:%WL*&WDML:$WO!3I N#F~M:#W Mf':$W<!$WCM:$WO!0I N~M:$WfM:$WO! V #~O~M:$WO! V nMɀ@ ?!*Wq:*WҪM*)W&M :(W2(W:)W<2)WM*(WM|!)W6+6!+Wq:+WO͏M*+WM͏M!,Wq:,WO͏M*,WMM!-Wq:)WN*-WM|7N*)WM!-WjPw*)W&M ~2.W:.W!-W!(WO|:.W/!-W2(W!0Wp+q*/W}OM*/W|OM!2Wp+q*1W~23WO>hN!3W6*3WMM!4W6:3W!4WڗN*4W&*1WNOM!4W4tN:)WʨN͏MØN!5Wq͏M*5WMM*#"!8Wr+s+q:6WN*7W}OͩN*7W|OͩNO͏M*6WMM*7WDM8N*##"!>Wr+s+p+q+q+qM:9WOM*9WMM*9WM!+P ^#V*=WDMONKP*=WDMONKP*=WDMONKP'ONKPKP*:WMM*;WDM8N*=WDMONKP*:WMM*;WDM8N*=WDMONKP*:WMM*;WDM8N*=WDMONKPKP*:WMM*;WDM8NKP*:WMM*;WDM8NKP*:WMM*;WDM8NKP*:WMM*;WDM8NKP*:WMM*;WDM8NKP*:WMM*;WDM8N͘NKP͘NKP8OCONOYObOeOOOOOOOOOP%PDM!>))[P =SP_{ozg~ kP^#V) uP_{_z#Wmidhdidhpidhcihscihmarmmarsmarsssrmmsrsmsrmssrssmrmmmrsmmrssdrmmdrsmdrmsdrssprmmprsmprmsprsscrshtrmmtrsmtrmstrsstsmmpokecrmmcrsmcrmscrsscsmmasmmumrmumrsifihifrhifshiflhgetsrelsinitstopdimapusspcicpcrcpcscpcispcrspcsspcinpcrnpcsnpctcpctspcnlpdifpdrfpdsfpdiepdrepdseiclnicihicrhicshecpropencretclosdeltidihidrhidshdrefdrecedfrifedmparrestfintrandpchnlprnerrconerinkyunlklockfputfgetvarpfrnmrabsiascratnschrscmdconcconsrcosrexppeekifremfreiinprintleftilenrlogmatcsmidiposrrndrigtsaddrsgnrsinsizesstrrsqrrtanucasrvalppmtpoutcaofsdatedatdatalnumerrlimodiintattpdetppctnplotgpnlgclrtimedatecomspmatgrphgsetgaskgkeygpalmuscrecvsendplay putperrxmstrshftCB80 COM,BASCOM COMCB80 IRLCB80 OV1zCB80 OV2wCB80 OV3; compile a Basic program with CB80 CB80 $1 LINK $1,CB80.IRL[S] ; clean up by erasing $1.REL and $1.SYM ERA $1.REL ERA $1.SYM $1 CB80 OV2wCB80 OV3CB80 SUBH2 COPYRIGHT 1977,1980 COMPILER SYSTEMS, INC'd  END # ()*+, -/: ;<= > ^ASEQ GEGOGT IFLELTNEONORTOABSANDASCATNCOSDEFDIMENDEXPFORFREINPINTLENLETLOGNOTOUT POSREMbRNDSGNSINSQRSUB!TABTANVALXOR"BUFF(CALL#CHR$DATAcELSE$FEND%FILE&GOTO'INT%LINE)MID$NEXT*OPEN+PEEKPOKE,READ-RECL.RECS/SADDSIZESTEP0STOP1STR$THEN2WEND3%LIST%PAGECHAINICLOSE4FLOATGOSUB5INPUT6LEFT$LOCAL7MATCHPRINT8USING9WHILE:WIDTH;%CHAIN%EJECTCOMMONREMARKbRENAMERETURN?RIGHT$UCASE$VARPTR%NOLISTCONSOLEBRESTORECSAVEMEMD%INCLUDECOMMAND$CONCHAR%CONSTAT%LPRINTERGRANDOMIZEHINITIALIZEIJh}>ku  PAGE$OUT OF DISK SPACE$OUT OF DIRECTORY SPACE$DISK ERROR $BASNO SOURCE FILE: $.BAS$ERROR $ IN LINE$ AT POSITION$WARNING: INVALID CHARACTER IGNORED IN LINE$INCLUDE NESTING TO DEEP NEAR LINE$FILE: $!Ns+q+p+q:N=2Nʏ*N:Nw*N#"NrMHN!GN6!Nq*GN&M :Nw:GN<2GN͐!Nq*N&!Nq: L!L:L*NM:N !tN4:L*NMͦ:L!*N&!Np+q*N~$B*NN*N#"N(!Np+q!N6+6>!Nڶ!N60*N&9) ŃKڑ*N&9) ŃK+s#r!N6#4_:N/!NҪ*NMï !N4Q:L2N:L2N!L6!L6 K"wN""*uN#"uNDMC!tN6   :N2L:N2L!Nq:N 6 :JL<2JL3A!JL4*NM:N V!sN:tNVͷ  !L6!L6W: €"×: ‘"×" . *NL -ª!BM6 *NL 6 *NL 6*NLN!L6#6! L6!L6"*NL~*NL>@O:!N6>!NE*N&*NL~ ;*N&*NLN:N<2N" :Lfͦ͐HN:L/vPL:L҇  :LM. *NLDMHN -£:EMʹ:EM2HNHNHNb!hN6!aR"CM. *NLDMPL -:FM:FM2PL:L PLPL$b!pL6*NLO>Eb: :LQ!aR"N*GM+_K!Ns+6:N!Nڣ*NPLʏb*N"N:N<2Nl!L6#6!N6!N6!L6!L6! L6!Nq:L*GM#"GM!nKI!"GM*GM*CM:Nw!Nr+s+q+p+q:L] *L#"L:L2N!L6"*N|O*N}O"*NDMC"*NMCW:N2L!N6!L6qNkNK!N҉ LU*jNM*kN*qNDMC*NM !JL6!N6:iN!N *N&IM N:N<2N§ W: L :L2N!L6"*qNDMCW:N2L! L6:N LU*jNM*kN>!AM !N6=% !N6::'L2(LP 2'L >!AMҙ :AM=2AM.!"*AM&:KtL DM*NL -` "*AM&:KtL ! ~2sL*ʉ v:AM– !N6: .*qLC -¤ !BM6:(L !sL6 !sL6L :'L :L h !iN6*qN#"qN :iN}:'L H :iN<2iNO!IM :'Lw:'L 4 :iN!pN!iN2pN!'L6 ; :pN<2pN:'L G :'L!pN6& :sL<2sLl !sL6*l >*sL&*qL~& :'LHғ x :'L ʥ & 2'LÔ :'L\ͦ ҿ ͔ x ï !Ns+p+q+p+q!N6qNNK :'L ͦ  !N6& 2'L :'L x *N*NM*N:NC & 2'L:'L C ͦ : ͯ @ & 2'L% !L6ͤ:Lұ !N6:!N/N! ~$HҠ :N&Җ *N& :N=O!wN w:N<2NX :N<2NO! ~2N :!N/Hұ :NA2NO>ڮ *NM! ^#V!L6î ! L6!L6î !L6î !L6î !L6î ! L6!L6*N& ~(n :N<2N!sN6:N<2NO! ~02NO> n :sN:sNH!N2sN9 î ! L6+6*N& ~( :N<<2NO! >2EMî   q à :l2FM͛!IL6#6!pN6!iN6!"qN!sL6!N6:!'L6 x !)L6!&L6!!L6#6:IL/:pN2oN*qN"mN:'L *mN+"mN:'L"!IL{!!L6F#6!IL6& "f:'L XSU*mNDM*pN /:ILc7x :'L"r/7+}͝H:!!L6E#6!LL6#6!N6:'L0©h:'L0º& 2'Lé͝:LL&!N6!"L6h:'LH:'LhH a:N&!LL6}:'L :'L+H:'L-HrEH}:LLz!"L6a}/W&h}gar:'L rx !LL6}&rB¼!N6:)L=!Nڼ*N&)L >1!Nҭ&!LL6:N<2NŠ:LL!ML!"L6:LL&r.:)L=2)L!"L6:"LP"$L:KL !"L6:)L"!&L60!)L6#60%NB*mNDM*pN +ͺNNhA:'L$a!"L6hy:'L%t!"L6hy!"L6U/ҹ:*LF:+LNH:)LHҭ!!L6Mò!!L6J%K:!Lb:'L ͦ ͯ & 2'LK:!Lc36:'L *'LM6& 2'L,66*L+"LK:!L!)L!)L6*)L*NL#*L -!sL6͛:AM<2AMp!'L6 x ͔ :L5!L6+6!L6: L2L: L2L: L2L͔ :L!L^ͷ͔ 4!sNs>uK!KL҃wÆ͔ !N6:'L :N<2NH4*N&L) q#p:KLw:'L & 2'LÎ͔ 8Pdw+ͦ ͯ p+/Ux :L! L6*iN&IM 6?x :IL/`:)L<2)LO!)L :'Lw:'L!&L?w:)L`!IL6/x /& 2'L*)L&)L ~:'L0O> /:'La/>z!'L/H:'L.͉!Lҹ:'L_2'Lͦ:'LAO>/͉H}ͺH͝H}hͺ :'LAO>:'LE!ML6h:LL<2LL!:'L 0x !IL6!Nq*L#"L:LO*NM!"N!KL6rH”!N6:)L=!Nڐ*N))))5_"N:N<2Nh*NrB!N6:)L=!N*N)5_"N:N<2N¡*N>!)L~>3#HH!KL6!!N6:)L!N#*N)))*N) 5_"N:N<2N*N|1!KL6*N*N&)L ~2NAO:N 2N:N> !)La>!N6*)L& ~2N:N!N1:N!N2N!N6*)L&) :N=:)Ló*N&)L :N=O*N ~':N<2N.:N=2Ns>:'L ?x !)L6:'LHRa:'L,:'L Hs& 2'LRPTI:)L!oN*mN_DM 1.CONSTANT AREA: $CODE SIZE: $DATA STMT AREA: $VARIABLE AREA: $AQGFKLPBTNOCDEIJHXRrU[qZWpS\YVsvwxq     && PROD $PROGRAM CONTAINS $ UNMATCHED $ STATEMENT$FOR$WHILE$DEF$NO$ ERROR$ DETECTED$:LҬ(O>@_e!aU"O*++"O"O#6!O6#6*&O~=!O*O& *&O:O2O!O4:O?*&O^*&O*&O ^"&O*N"&O^*&O"&O*O&(O) ^#V!Oq:OO-K!O͚Ka!L6OT*qNDM !Op+q*&O *Os#r*&O >w*&O >%"&O>&O͌K*&O~2O*O͂!O>*&O#^#V"&OÓ>:O=O! *&O*O&*O :O=2O>>*O>2OO4*O"&O*O*&O wo*O#*&O -8*&O :Ow%*&O#q#p*&O 6*O&(O) *&Os#r:OO-K+s#r*&O~!Oq*&O :O*&O w*&O ~*&O ^#V!Oq*&O :Ow*&O ~2O!O6:O!O'ͻo&(O"O*O&ÓK *ON#F`i"O*&O#*ON#Fq#p:O<2O2O!O6:O!OvͻO!(O *&O#N#Fq#pͻO!(O *&Os#r:O<2O3!Qq:L҉*QM!"N}2"O2N2%Oo&"No&"No&"L2Q2Qo&"N2N!N6!Q6#!"Nͤ:L͈!"O!O6#6 1w$wb!Qq:N/*N#"N:L/!*QM!Qp+q*Q|O*Q}O!Qp+q!QRKDM":!O/!L:N/Ho*qNDM9aN! Rq:L!LҕA"* RMCWͱ.* RM!, ^#Vð.ð./*QM 1ͦ͜N͏KLDi0*NDMb͇:N*NMͲͲ!N6*pð.ð.pð.:%O$!%O6)!N6ð.!N6ð.ð.!N6ð.!N6ð.!N6ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.ð.!%O6ð.ð.N!RK:RH2&4ð.:R*!RDM9*!R"&OͦDM/ð. 0*QM 1&ONKHD!N6*&ON#F9*&ON#F/JAF̀0ð.ð.*RM2ð. /ð._/ð.ð. 2ð.ð.1  0ð.ð.(2*RM0ð.ð.:Rʴ! R6(2ð.(2ð.:RFMi0* RM0*RM0ð.:R:R0FMi0 0*RM0ð.ð.! R6(2ð.(2ð.ð. (2ð.:Nv: Rn*RDM9!N6Î: R‰*RDMͶ0Îð./ð. /ð. /*RM0ð.:N*Q&P 6*QM 1/ͦ"RDMͯ/*QM͆6*QM͆6ð.:L IF̀02*!R"&O *RMͲ!R) NS̀0ͦDMͶ0*RMA3!͜/!LO SÌ0ð.0*QM1/m Ͳ͇0*&ODM/ð.2ð.~8*'R"%R]9ð.]9ð.Q8ð.~8Q8ð. /*QM 1 *&ODMO0*&ODMͯ/O=0 UFi0ð.*#L& N/:#L*#L& >HO/*#L& ~O=0:#L"!!N6/!:#L#/!!N6ð.X7ð.)L 7ð./ð.0ð./ð.0ð./ð./ð./ð.0ð./ð.:Q=O!P :R:RHұ!EF̀0*O ^#V"&O: R/:RH!.": R!ͦDMͶ0:R"": R"" : R*"ͦDM9: Rg"999899997*ON#F"*O##*Ns#rð.*Q&Q :Rw6*O##N#F"*O *Ns#r:R2RO0Nð.!L6>O͌K+s#r"O*O#>*O#w4: O<2 Oð.:R #FMi0:R:RH*#pG#:R:RHG#:0*RM0ð.:R:Q=O!P ~H#på#:R:Q=O!P ~Hҥ#::Q=O!P :Rw*O ^#V"&OͦDM9/ð.D1ð.D1ð.*Q&P ~#]`Ͳ5ͦDM"ð.ð.5ð.D16͎1ð.:R0$EI͗0:R=$:7͎1ð.*!R"&O:L\$*RMͲ:N/z$3* R"!RD1ð.*RM0ð.:LҜ$ͮ0*&Oq#p*N#"N!N6+6ð.:NҾ$MPi00%6 /͎1*&O" R*QM12QR*RM0*&O"N*&ODM/:L-%:QR%DFi0%4*O##"O*&O 6 ͇*NDMb0%(ð.ͮ9ð./ð./ð.ͮ9ð.ð.ð.ð.0*QM͆6:Rr%FÌ0*RDMͶ0-ð.1ð.9ð.ð.n3ð.n3ð.*!R"&O:N%:R%VC̀0!N6*#R}OͲ:R%*#R}!L6ð.m<4!L6ð.ð.'!L6ð.h<4ð.:Rʱ&PÌ0n14ð.9n14ð.p4ð.p4ð.!L6ð.ð.?!L6ð.:Q=O!P ~)'SM:Q=O!%Q :Q=O!Q ^N#F .'cð.ð.7ð.7ð.ð.7ð.7ð.dð.d4ð.!L61&ð.!L6:Q=O!P ~®'FM:Q=O!%Q :Q=O!Q ^N#F :Q=O!P ~']1%ð.ð.ð.ð.5ð.5ð.5ð.5D1:N(ð.4ð.d1ͦDM"b4ð.5/ð.5:R!TRڎ)*TR&L) N#F":TR<2TRk)*#ODM"t*!L6: L2L: L2L͔ : O)* O&p9:O)*O&t9:N)z9>!L͗K**LDMC *~"">L͌K"*S"!TR6>!TRc*W*TR&R) N#F"*TR&L) N#FC:TR<2TR-**DM9IO ð./ð.Mð.jð.ð.jð.ð.:Rʫ*SM̀0ð.1ð.9ð.1ð.ð.99ð.1ð.1ð.kð.ð.kð.ð.1eð.1eð.1ið.ð.l2ð.fð.ð.1oð.gð.:Nl+*N"&Ot* R"!RD1!N6+6r+DNi0ð.:O<2O ڊ+NWi0Ý+*O&N) *Ns#rNð.:R±+EWi0:R¾+:7͎1*O&O) *&Os#rð.:O+UWi0",6*O&N) N#F"*O&O) ^#V"&O*NDMb:O=2Oð.ð.:R9,SMi0>,yð.uð.ð.~!N6ð.:Ri,n,*QM͆6*N#"Nð.*N#"Nð.:R™,Þ,*QM͆6*N#"Nð.*N#"Nð.:R,CS͗0,*#R"#O:R,FSi0,z:"O,DS̀0,!"O6ð. ,47?GORUX[^adgjmpsvy|MPZbjmux%(:GJWR } 2!8!A!I!Q!Y!a!i!q!y!!!"""V#### $ $$"$H$}$$$3%9%A%I%O%R%U%X%%%%%%%%6&Q&T&_&j&~&&&&&&&&&&&&1'4':'@'C'I'O'W'd't''''''''(()(4(B(^(a(d(g(j(p(v(y(((((w*******************+ +++#+++.+9+A+u+++%,(,A,I,L,Y,,,,,*Q&P ~2 R*Q& ~2R*Q& ~2R*Q&P ~2R*Q& ~2R*Q& ~2R*Q&%P) ^#V"R*Q&) ^#V"#R*Q&) ^#V"!R*Q&P ~2R*Q& ~2R*Q& ~2R*Q&%Q) ^#V"R*Q&) ^#V"R*Q&) ^#V"R*Q&Q ~2R*Q& ~2R*Q& ~2R*Q&eP) ^#V"%R*Q&) ^#V"'R!*Rp+q*Q&%P) *)Rs#r!,Rp+q*Q&%P) *+Rs#r!-Rq*Q&P :-Rw!.Rq*Q&P :.Rw!/Rq*Q&P :/Rw!0Rq*Q&P :0Rw!1Rq*Q&P :1Rw!2Rq*Q&P :2Rw!4Rp+q*Q&eP) *3Rs#r!6Rp+q*5R*RDM*R !8Rp+q*7R*RDM*R !:Rp+q*9R*RDM*R *N#"N!Rq*>RM0"O*>R&P ~2O*>R&P ~2O!?Rq*?RM0͍!@Rq*@RM 1*1> >!Q"O:Q?2O!O6 !ARq:Lc1*!R"&O:ARN-KDMb:Q<2Qw1:Q<2Q01͍/҅1 *&ODM/d1ͦDM"!R:Rʭ1MMi0>>:R1FM̀0>:R1FMi0>͚1:R1FM͗01:R1]:R2FMi02:R2]01:R<2RO0!DRs+q+q 0!R:Rʧ2:R:RHb2pä2:R:RHҞ2p: R/ґ2!R60ä2MMi02:R:DRH2FM̀0:R2*BRM2:R2*CRM2*DRM! R6!ERq 0:R3:!R6:R23:!R60Ͱ1@3*ERM!FRq:FRV39m3:FRg39m392GR! R:GRHҔ3NSi0Û3* RMͲ*RMA3 * RM!HRq:HR33:HR33:R:RH3p%4:R:RH4:%4͚1%43*RMʹ3!L6;!IRq:RN4SMi0: R^4*RDM9*IRM!L6: R€4*RDM9:Lґ4"1;4é4:LҢ4)*;4é4=<;4:R¶4:*RMʹ3!KRs+q:R4*JRM4*KRM1:Q<2Q)4OOi0*Q&Q N9^9!!O6!!O6*Q&Q : Rw: O=2 O?5! O6UǸ0y56*O N#F"!NRK*Oq#p*O#>y5*O"Ob5*Q&P 6*QM 1*O &ÓKHҫ5%5ñ5IN͗0/*QM15͜/!L:N/H5:'L 5*qN+"kN5*qN"kN!N6:R2jNͲ5: L 666ͦDM"͜K6:N=6!N͗K:6FOi0K6K6FBi0:N҅6͜!Lj6bCMi0ͦnK!L҅6CMi0!LRq/*LRM16L6͂:N/H6UI*LR&%Q) *LR&Q ^N#F 6ͮ0DMb͇ͦ"RDMͯ/:L7!L6*O *&Os#r!NRp+q/!OR6*MR~!ORA7*OR&*MRN:OR<2OR7:ILN7 T77/:Ne7:R’7@R̈́K҄7*RDM9Ñ7*RDM"./*QM1/7!PR6:)L!PR7*PR&)L Nw:PR<2PR­7$w*N#"NDMb͇ͲͦDM":L8:R 8,8:R8p+P8:R.8$P8:N/K8:RC8p#P8!N6:R }8*!R"&O*&ODM/:R=2RO+0ͦDM9:R 8*!R"&O!R8:RH:RH8*Q&P 6!R6p8PF͗0*RMʹ3W9!RW9H@9:RW9H9:@9:RW9H:9p@9PF͗0:RO+0:R=2RO0:R:R ‡9:Rs9NF͗0*%R"&OͦDM":Rʗ9NF̀0:RO! ~2RO:L9*Q&P 6*QM0 ͮ0DMb*RMͲ:R!WR͗K4:SW*WR*L"LAE EFJLMJE !EFJLMEFJLMMJ JMEFJLM JEEFJ9;  EE #&'*+,-134568:=>?BCDEGHIJKM/E  J J  "2"'5 " "". "" " " """0"2""  EFJLM )J #%&'*+,-1345678:<=>?BCDGHIJKM( #&'*+,-134568:=>?BCDGHIJKM)J J  $   AE $ $J JEF9; $  $ """""""""0"""""""""/""  $ )J  $( )J     N%F  '(),./02679<E!&X  %*+-FN3: #Wdd8lhcdbaf$&cdba&cdba}>Dcdbaucd67[~@ p%'(,29:w:D/ ?CDyCD CD CDCD.Z\CDXCD]`CDCDCDCDCD0CD1CDCD&cdba*"#p%'(,2489::D)_p%'(,29::D+B!x egim kj--335;<=Y?@ACHHKIINJJOKKLLLMNQPRQSR[^_`bffhhiijjkllmmnn>uuvvvwwyyzz{{||}}{q     ^  ABvtIJa=o p~sxcdegtroqEFEHGTSYYYYYYUWTUVX!VFnsz#Z$%)&',PW(GM"\/+*-.2]O345601789;$&   #$%&(&&02356537899:;<9>&?@@@@@BCcdeeefghd(ijklmmmnopsxp{ppp~pppppppppppppppppp !#%')+.147:>@BDFHJLNQTWZ\_behlorux{~<<r<<| 33446688:::::<<<AADDDDFFSSTTUUVVWWZZZZZZZZZ[\]^^___``abcddeffgghiijkklmmnrrsttuuuvvwwxxx{{||}}}~~                     &    -3;<@N[kvCBASIC COMPILER VER 2.07$$1KG"WͤJͷ! L6:L!LҗJ!L6!Q6!"O!Q6!Q6!P6:LҔJ>!O͗KiIJ*Q&O) *Os#rͮJ"YRJͻJ*YR+"[R*YR"YR[RYRKfI*YRC: :!LkKJ!L6ÑJ>!O͗KvJͮJ"YRJ*YRU; n&"]R}!]R:!L͗KHdJ*YR#"YR0J*YR ?) ^#V"OÑJJͻJ*Q&O) q#pͮJ"OEHHͤJ!L6Hv͒L ͊*O/B) ^#V*OF n&:Q<2Q JOS*mNDM*oN :QJ !Q6:)L!oN!`Rq*Q&eQ :`Rw:Q<2QO>d,KOVJ*mN_DM _ogDM!>))IK =AK_og^#V|g}o _K_{ozgO{ozgi`N#Fogo&og_{_z#WCBASIC V2.07 COMPILATION OF $\ INT LST@ $:#wq#p7rYE!{q#p.s{.q#p{i`#"{{i`"{{i`"{*{6*{ *{s#r!{N*{q!{N,F*{q#p*{~#FHy+O~#V*{_~*{OwI-------------------------------------------------- CBAS Version 2.8 Serial No. 3504-0000-003284 All rights reserved Copyright (c) 1981-1983 Digital Research, Inc. -------------------------------------------------- $2COPYRIGHT 1977,1981 COMPILER SYSTEMS, INC'd  END # ()*+, -/: ;<= > ^ASEQ GEGOGT IFLELTNEONORTOABSANDASCATNCOSDEFDIMENDEXPFORFREINPINTLENLETLOGNOTOUT POSREMbRNDSGNSINSQRSUB!TABTANVALXOR"BUFF(CALL#CHR$DATAcELSE$FEND%FILE&GOTO'INT%LINE)MID$NEXT*OPEN+PEEKPOKE,READ-RECL.RECS/SADDSIZESTEP0STOP1STR$THEN2WEND3%LIST%PAGECHAINICLOSE4FLOATGOSUB5INPUT6LEFT$LO###7MATCHPRINT8USING9WHILE:WIDTH;%CHAIN%EJECTCOMMONREMARKbRENAMERETURN?RIGHT$UCASE$VARPTR%NOLISTCONSOLEBRESTORECSAVEMEMD%INCLUDECOMMAND$CONCHAR%CONSTAT%LPRINTERGRANDOMIZEHINITIALIZEIOm#Cpz  PAGE$OUT OF DISK SPACE$OUT OF DIRECTORY SPACE$DISK ERROR $BASNO SOURCE FILE: $.BAS$ERROR $ IN LINE$ AT POSITION$WARNING: INVALID CHARACTER IGNORED IN LINE$INCLUDE NESTING TO DEEP NEAR LINE$FILE: $!Ps+q+p+q:P=2Pʔ*P:Pw*P#"Pw7OO!O6!Pq*O&7O :Pw:O<2O͕!Pq*P&!Pq:}M!qM:wM*PM:P !O4:xM*PMͫ:sM&*P&!Pp+q*P~$G*PN*P#"P-!Pp+q!P6+6>!Pڻ!P60*P&>) PLږ*P&>) PL+s#r!P6#4d:P/!Pү*PMô !P4V:sM2P:xM2P!xM6!sM6 SM'O''*O#"ODMH!O6   :P2sM:P2xM! Pq: P ; :M<2M8"F!M4* PM: P [!O:O[ͼ  !qM6!sM6\:…'Ü:–'Ü'. *M -¯!N6 *M 6 *M 6*MS!wM6#6!}M6!sM6'*M~*M>@O:!!P6>!!PJ*!P&*M~ @*!P&*MN:!P<2!P':xMk͕ͫO:vM/{M:wMҌ  :xM7O. *MDMO -¨:Nʾ:N2OOOg!O6!S"N. *MDMM -:N :N2M:vM MM) g!M6*MO>J g::vMV !S"$P*N+L!#Ps+6:#P!"Pڨ *$PMʔ g*$P"$P:"P<2"Pq !M6#6!NP6!GP6!M6!M6!M6!&Pq:vM *N#"N!L N !"N*N*N:&Pw!+Pr+s+q+p+q:qMb *M#"M:sM2,P!sM6'*'P|O*'P}O'**PDMH '*)PMH\:,P2sM!FP6!~M6OOL!FPҎ LU*OM*O *ODMH*PM !M6!-P6:O!-P *-P&N N:-P<2-P¬ \:|M :sM2-P!sM6'*ODMH\:-P2sM!|M6:FP LU*OM*O >!N% !P6=* !P6::M2MU 2M >!NҞ :N=2N.!"*N&ͪLM DM*M -e "*N&ͪLM ! ~2M/ ʎ v:N› !P6: .*MH -© !N6:M !M6 !M6Q :M :qM m !O6*O#"O :O}:M H :O<2OO!N :Mw:M 9 :O!O!O2O!M6 @ :O<2O:M L :M!O6+ :M<2Mq !M6/ q >*M&*M~+ :MHҘ } :M ʪ + 2MÙ :M\ͫ  ͙ } ô !2Ps+p+q+p+q!3P6O0PL :M  ͫ  !3P6+ 2M :M  } *.P*2PM*0P :3PH + 2M:M H ͫ ? ʹ E + 2M* !M6ͩ :pMҴ!5P6:!5P/N! ~$Hҥ :5P&қ *5P& :5P=O!O w:5P<25P] :5P<25PO! ~24P :!5P/HҴ:4PA24PO>ڱ*4PM! ^#V!rM6ñ!{M6!sM6ñ!vM6ñ!uM6ñ!tM6ñ!zM6!wM6*5P& ~(q:5P<25P!O6:5P<25PO! ~026PO> q:O:OH!6P2O>ñ!yM6+6*5P& ~( :5P<<25PO! >2Nñ  tå :l2N͠!M6#6!O6!O6!"O!M6!P6:!M6 } !M6!M6!M6#6:M/:O2O*O"O:M *O+"O:M"!M~!M6F#6!M6+ "i:M [SU*ODM*O 2:Mf:} :M"u2:.̀͠H=!M6E#6!M6#6!CP6:M0¬k:M0½+ 2Mì͠:M)!CP6!M6k:MH:MhHd:CP)!M6À:M :M+H:M-HuEHҀ:M}!M6d̀/Z)k̀jdu:M u} !M6À)uB¿!BP6:M=!BPڿ*BP&M >1!CPҰ)!M6:BP<2BP:M!M!M6:M)u.:M=2M!M6:MS"M:M!M6:M%!M60!M6#60(NB*ODM*O .ͽQQkD:M$d!M6k|:M%w!M6k|!M6X/Ҽ:MF:MNH:MHҰ!M6Mõ!M6J(N:Mb:M ͫ ʹ + 2MN:Mc39:M *MM9+ 2M,99*M+"MN:M!M!M6*M*M#M -!M6͠:N<2N͛!M6 } ͙ :qM8!xM6+6!sM6:yM2xM:zM2wM:{M2sM͙ :qM!wMaͼ͙ 7!Os>L!M҆zÉ͙ !EP6:M :EP<2EPH7*EP&M) q#p:Mz:M + 2MÑ͙ !;Sgz.ͫ ʹ ͛.2X} :qM !|M6*O&N 6?} :M/c:M<2MO!M :Mw:M!M?w:Mc!M62} 2+ 2M*M&M ~:M0O> /:Ma/>z!M/H:M.͌!uMҼ:M_2Mͩ:MAO>/͌H̀ͽH͠H̀kͽ#:MAO>:ME!M6k:M<2M $:M 3} !M6!7Pq*M#"M:qMR*7PM !"9P!M6uH—!8P6:M=!8Pړ*9P))))8_"9P:8P<28Pk*9PuB!8P6:M=!8P*9P)8_"9P:8P<28P¤*9P>!M~>3#HH!M6!!8P6:M!8P&*9P)))*9P) 8_"9P:8P<28P*9P|4!M6*9P*8P&M ~2;PAR:;P 2;P:;P> !Md>!P!?P6*M&) :>P=:Mö*?P&M :?P=O*@P ~*:>P<2P=2=Pv>:M B} !M6:MHUd:M,:M Hv+ 2MUSTI:M!O*O_DM 1.CONSTANT AREA: $CODE SIZE: $DATA STMT AREA: $VARIABLE AREA: $AQGFKLPBTNOCDEIJHXRrU[qZWpS\YVsvwxq     && PROD $FUNCTION REFERENCE BEFORE DEF: $PROGRAM CONTAINS $ UNMATCHED $ STATEMENTS$FOR$WHILE$DEF$NO$ ERROR$ DETECTED$:pMP>@_j!V"Q*++"Q"P#6!!Q6#6*P~=!"Q*"Q& *P:!Q2!Q!"Q4:!Q?*P^*P*P ^"P*JP"P^*P"P!#Qq:#QQ͝L!Q Mv!qM6OT*ODM !%Qp+q*P *$Qs#r*P >w*P >*Q&P) ^#V"P>PL*P~2&Q*Q͗! Q>*P#^#V"Pó>:&Q=O! *P*&Q&*Q ':&Q=2&Q$>>*Q>2'QOI*Q"P*Q*P wo*Q#*P -X*P : Qw*Q&P) *P#N#Fq#p*P 6*Q&P) *Ps#r:'QQ͝L+s#r*P~!(Qq*P :(Q*P w*P ~*P ^#V!)Qq*P :)Qw*P ~2,Q!-Q6:,Q!-QRo&P"*Q**QPL8**QN#F`i"*Q*P#**QN#Fq#p:-Q<2-Q2/Q!.Q6:/Q!.QڡO!P *P#N#Fq#pO!P *Ps#r:.Q<2.Q^!gSq:pMҴ*gSM !"OP}2P2IP2Po&"VPo&"RPo&"M26S2fSo&"LP2NP!QP6!eS6#!"TPͩ :pM)͍ !"Q!Q6#6*1͢$͢w!hSq:NP/=*RP#"RP:pM/L*hSM !jSp+q*iS|O**iS}O*!lSp+q!kSLDMM:P/!tM:NP/HҚ*ODMda*y!wSq:rMҼD'*wSMH\͂0> !wSژ*wSM! ^#VÕÕU1*`SMg21 RPLLD1.*RPDMwͲ:IP)*LPM.6!P6*͛ÕÕ͛Õ:PT!P6Y!QP6Õ!QP6ÕÕ!QP6Õ!QP6Õ!QP6Õ<?E\dgowÁ0>+!wSڤÁ0:wS,O!'/ ^#V!P6Á0Á0OPSL:~SH2*̈́5Á0:{S*SDMd*S"PDM;1Á0 ͋1*aSMg2PJPLHC4*PN#Fd*PN#F;1IAF1Á0Á0*|SMT4Á0 U1Á0_U1Á0Á0 T4Á0Á0S3 * ͋1Á0Á0͆3*|SM*y1Á0Á0:~Sʳ!vS6͆3Á0͆3Á0:}SFM1*zSM͋1*}SMy1Á0:}S* :}S 0* FM1 ͋1*}SMy1Á0Á0!vS6͆3Á0͆3Á0Á0 ͆3Á0:GP} :zSu *`S&Q) N#Fd!GP6Ý :zS˜ *`S&Q) N#F2Ý *Á0U1Á0 U1Á0 U1*SMy1Á0:GP!*`S&2R 6*`SMg2 U1*`S&Q) q#p *`SM7!*`SM7Á0:M!IF1w3*S"P/!*{SM!{S?!NS1DM2*~SM͟4!*L!qMn!SI1Á0͋1*aSMv2/Ғ!Ͳw͋1*PDM;1Á0w3Á0:*aS&Q) *`S&) N#Fq#p:Á0:Á09Á0:9Á0 U1*`SMg28"JPPL!IP"FR15"*`S&Q) *Ps#r*`S&Q) s#rOͯ1Á":pM{"!}M6J'!S6:M!Sp"*S&M N:S<2SO"\!}M6Á"UF1Á0*M&  Ng1:M*M& >HOU1*M& ~Oͯ1:M"!HP6":M#"!GP6Á08Á0Ḿ8Á0U1Á0͋1Á0U1Á0͋1Á0U1Á0U1Á0U1Á0͋1Á0U1Á0:`S=O!RR :uS:uSH[#EF1*Q ^#V"P:zS/:~SH҈#.*M:zSҔ#*DM2:~S¬#*#:zSһ#*# *:zS#DMd**:zS$*d};*d8*};*d9*};*7**QN#FM*Q##*RPs#rÁ0*`S&rR *aS& w6**Q##N#FM*Q *RPs#r:}S2uSOy1yÁ0!M6>QL+s#r"P*P#>*P#wI:P<2PÁ0:}Sº$FM1:uS:}SH$p*$:uS:}SH$:*͋1*uSMy1Á0:uS:`S=O!RR ~H/%p*U%:uS:`S=O!RR ~HU%:*:`S=O!RR :uSw*Q ^#V"PDMdU1Á0͢2Á0͢2Á0*aS&UR ~¦%]*`* 7DMMÁ0Á0k7Á0͢26*2Á0:S%EI1:S%:*7*2Á0*S"P:pM &*|SM:IP/*&<5**xS"S͢2Á0*}SMy1Á0:pML&4 2*Pq#p*LP#"LP!IP6Á0:IPk&MP1&6* U12*P"xS*`SMv22S*}SMy1*P"JP*PDM;1:pM!Sұ&DF1&:pM&I*Q##"Q*P 6 Ͳ*RPDMw&RPL!qM&DF1&SÁ0I;Á0U1Á0U1Á0I;Á0Á0Á0Á0͋1*aSM7:~SA'FI1*`S&Q) N#F2-*Á043Á0dÁ0Á04Á04Á0*S"P:NP':|Sʗ'VC1!NP6*bS&Q) nM:~S'*bS&Q) n}*!M6Á0m͚5!M6Á0Á0'*!M6Á0h͚5Á0:~Sʮ(PI1n*͏5Á0dn*͏5Á05Á05Á0!M6Á0Á0?*!M6Á0:`S=O!RR ~&)SM:`S=O!R :`S=O!rR ^N#F +)c*Á0Á0͂9Á0͂9Á0Á0͂9Á0͂9Á0d*Á0d*4*Á0!M643&*Á0!M6:`S=O!RR ~«)FM:`S=O!R :`S=O!rR ^N#F :`S=O!RR ~)]**43%*Á0Á0Á0Á05*Á0k7Á0̀6Á0̀6͢2:IP**Á0L6Á02*DMMb*L6Á0k7U1Á0k7:{S!Sڋ+*S&M) N#FM:S<2Sh+*PDMM:IPң+*JP"P|,!sM6:zM2wM:yM2xM͙ :P+*P͓;:P+*P͓;:IP+͓;**>!MM ,*MDMH,''>ML*,S'!S6>!Sk,\*S&mS) N#F'*S&M) N#FH:S<2S5,*DMdN TÁ0/*Á0M*Á0j*Á0Á0j*Á0Á0:~Sʳ,SM1Á0S3Á0dÁ0S3Á0Á0ddÁ0S3Á0S3Á0k*Á0Á0k*Á0Á0S3e*Á0S3e*Á043i*Á0Á0lT4Á0f*Á0Á0S3o*Á0g*Á0:IPq-*JP"Pt**xS"S͢2!IP6w-DN1Á0:P<2P ڏ-NW1ò-*P&rP) >w#6*P&XP) *RPs#ryÁ0:}S-EW1:}S-:*7*2*P&rP) *Ps#rÁ0:P.UW1@.6**P&XP) N#FM*P&rP) ^#V"P>L9.*RPDMw:P=2PÁ0Á0:}SW.SM1\.y*Á0u*Á0Á0~*!NP6Á0:}S‡.*Ì.**`SM7*OP#"OPÁ0*OP#"OPÁ0:}S·.*ü.**`SM7*OP#"OPÁ0*OP#"OPÁ0:|S.CS1.*bS&Q) ^#V"P:}S /FS1/z*:P/DS1$/!P6Á0 LOYailtw$ ' 9 F I V !q!!!!!!!""""""# #####+#3#8${$$%%%%%%%%%-&7&[&'''''!'$'''Y'_'h'k'q'w''3(N(Q(\(g({((((((((((((.)1)7)=)@)F)L)T)a)q))))))))* *&*1*?*[*^*a*d*g*m*s*v*|****,,,,,,,,,,,,,,,,,,, -- -#-+-3-6-A-I-z---C.F._.g.j.w.....*`S&2R ~2zS*bS& ~2|S*aS& ~2{S*`S&RR ~2}S*bS& ~2S*aS& ~2~S*aS&Q) ^#V"S*aS&rQ ~2S*bS& ~2S*`S& ~2S*aS&R) ^#V"S*bS&) ^#V"S*`S&) ^#V"S*aS&rR ~2S*bS& ~2S!Sp+q*aS&Q) *Ss#r!Sq*`S&2R :Sw!Sq*`S&RR :Sw!Sq*aS&RR :Sw!Sq*aS&2R :Sw!Sq*aS&rQ :Sw!Sq*`S&rQ :Sw!Sp+q*S*`S&rR ^*SDM !Sp+q*S*SDM*S !Sp+q*S*SDM*S *TP#"TP!Sp+q!SLDMM!Sq*S&R n&R!Sq*SM)2"Q*S&rQ ~2Q*S&2R ~2 Q!Sq*SM>2͢!Sq*SMg2҈2>*>!dS"Q:fS?2Q! Q6 !Sq:pM2*S"P:SRP͝LDMw:fS<2fS2:eS<2eS͎2͢/2**PDM;12DMM!~S:}S 3MM1>>:~S3FM1>:}S03FM1>2:SE3FM1R3:SR3]*:}Sd3FM1q3:}Sq3]*y143:{S<2{SO͋1!Ss+q+q ͋1!}S:~S4:~S:}SH3p*4:~S:}SH3*p*:vS/3*!~S6y14MM1#4:~S:SH#4FM1:~S54*SM*N4:~SG4*SM*N4*SM*!vS6!Sq ͋1:}So4:*!}S6:~S4*:**!~S6y13Ҟ4*SM*!Sq:S´4d4:S4d4d2S!zS:SH4NS14*zSM*}SM͟4 **zSM**!Sq:S&5*;5:S65*;5*:~S:}SH\5p*Ã5:~S:}SH|5:*Ã52҃5<5*~SM5!M6;*!Sq:}Sʬ5SM1:zS5*`S&Q) N#Fd*SM**!M6:zS5*`S&Q) N#Fd:M5"1,66:M6)*,66=<,6:}S$6:**}SM5!Ss+q:}SD6*SM*K6*SM*43:6S<26S)a6OO1*6S&6S Nd^*9*!P6!P6*6S&6S :zSw:P=2P­6!P6UN166**P N#FM!RPL*Pq#p*P#>6*P"P6*bS&2R 6*bSMg2*P PLH7͓67IN1U1*`SMv2j7!FP/!qMj7:M R7*O+"OX7*O"O!FP6*`S&rR ~2O 7:M}7*Â76*DMMҼ7:IPҮ7!LPMʫ7FO1ü7ʼ7FB1:NP7!pM7wCM1L!qM7CM1!SqU1*SMv2E8ͽ7͗:GP/HB8UI*S&R) *S&rR ^N#F R8 2DMwͲ*`S&Q) q#p:MҀ8!M6*Q *Ps#r!Sp+qg1*!S6*S~!Sڹ8*S&*SN*:S<2S–8:M88*Ñ8U1:NP8:}S"9*`S&Q) @L 9*`S&Q) N#Fd!9**`S&Q) N#FM.*g1*`SMv2/y9!S6:M!S^9*S&M N͢:S<2S=9$͢*VP#"VPDMwͲDMM:MҮ9:}S™9,*ë9:}S¦9p*+*9:}S¾9$*9:HP/9:}S9p*#*9!HP6:{S :*S"P*PDM;1:S=2SO͝1DMd:{S p:*S"P!Sh::SH:|SHb:*bS&RR 6!S6p*h:PF1*SM5:!S:H::S:HҪ::*::S:H:p*:PF1:SO͝1:{S=2{SO͋1:S:{S ";:S;NF1**`S&Q) ^#V"PDMM:{S2;NF1:{SO! ~2{SO*:pM|;*bS&2R 6*bSM>2* 2DMw*SM:{S?BCDEGHIJKM/E  J J  "2"'5 " "". "" " " """0"2""  EFJLM )J #%&'*+,-1345678:<=>?BCDGHIJKM( #&'*+,-134568:=>?BCDGHIJKM)J J  $   AE $ $J JEF9; $  $ """""""""0"""""""""/""  $ )J  $( )J     N%F  '(),./02679<E!&X  %*+-FN3: #Wdd8lhcdbaf$&cdba&cdba}>Dcdbaucd67[~@ p%'(,29:w:D/ ?CDyCD CD CDCD.Z\CDXCD]`CDCDCDCDCD0CD1CDCD&cdba*"#p%'(,2489::D)_p%'(,29::D+B!x egim kj--335;<=Y?@ACHHKIINJJOKKLLLMNQPRQSR[^_`bffhhiijjkllmmnn>uuvvvwwyyzz{{||}}{q     ^  ABvtIJa=o p~sxcdegtroqEFEHGTSYYYYYYUWTUVX!VFnsz#Z$%)&',PW(GM"\/+*-.2]O345601789;$&   #$%&(&&02356537899:;<9>&?@@@@@BCcdeeefghd(ijklmmmnopsxp{ppp~pppppppppppppppppp !#%')+.147:>@BDFHJLNQTWZ\_behlorux{~<<r<<| 33446688:::::<<<AADDDDFFSSTTUUVVWWZZZZZZZZZ[\]^^___``abcddeffgghiijkklmmnrrsttuuuvvwwxxx{{||}}}~~                     &    -3;<@N[kv1SM'Lͼ!}M6:qM!pML!M6!cS6!"0Q!`S6!_S6!R6:ML>!0QMJ6L*`S&2Q) *0Qs#rL"SSL+L*S+"S*S"SSSLJ*S; :M¬J*`S&R :_Sw!S6:M!SBJ*S&M NmL!S4$J*`S&rQ :Mw*`S&RR :Mw*`S&R) *Os#rcL*`S&rR w*`S&Q) *Ms#r*St>) ^#V"0Q!cS6*S"SJSSLJEScL*O_DM *S"SIL!0Q MҌK+L:`SL!aSs:aS<2bS0QLM͟:M҉K:aS2`SL"S*`S&R ~2_S*`S&2Q) ^#V"S*S= n&"S}SSLHlK*S#"S8K*SPB) ^#V"0Q>L‰K!M6L>!0QMKL"SSL*S< n&"S}!S:MMHK*S#"SàK*S@) ^#V"0QL6L+L*`S&2Q) q#pL"0QõIËIL!qM6ËIvͶQ ͵*0QC) ^#V*0QG n&:`S<2`S RLOS*ODM*O :cSbL!cS6:M!O!Sq*_S&R :Sw:_S<2_SO>dҜLOVcL*O_DM _ogDM!>))ҹL =±L_og^#V|g}o L_{ozgO{ozgi`N#Fogo&og_{_z#WCBASIC V2.08 COMPILATION OF $\ INT LST@ $:#,F.ޖ,OxҖS.N,F.q#p.6#6*{+{!{,_zS-N,F*{ ~!{w.N,F! "{ÝS!rN,F!vq#p!{N,F!vq#prYP!{N,F͵7!rN,F!fwq#p7r; run a Basic program with CBASIC CBASIC $1 CRUN $1 CB80 OV2wCB80 OV3CB80 SUBCBASE2 COM$CBASIC COM(CBASIC SUBj-------------------------------------------------- CBAS Version 2.8 Serial No. 3504-0000-003284 All rights reserved Copyright (c) 1981-1983 Digital Research, Inc. -------------------------------------------------- $2d  # ()*+, -/: ;<= > ^ASEQ GEGOGT IFLELTNEONORTOABSANDASCATNCOSDEFDIMENDEXPFORFREINPINTLENLETLOGNOTOUT POSREMbRNDSGNSINSQRSUB!TABTANVALXOR"BUFF(CALL#CHR$DATAcELSE$FEND%FILE&GOTO'INT%LINE)MID$NEXT*OPEN+PEEKPOKE,READ-RECL.RECS/SADDSIZESTEP0STOP1STR$THEN2WEND3CHAINCLOSE4FLOATGOSUB5INPUT6LEFT$L#CALaMATCHPRINT7USING8WHILE9WIDTH:COMMONCREATE;DELETE@_:!(6>!(b*(&*y~ [*(&*y^!(40j͙:-҃:-n*y ͜:ʭ:2ͺ!6*y2)O>ͺ:) ` `  !+p+q!-6+6>!,|!.60*,&) *ͽW*,&) *ͽ+s#r!-6#4%:,/!-p*.M`u `!,4:2 # 2>!l!l5"*l&͍ *yDM!͜"*l&͍ ! ~2v:l!6:!m6: :  !6*#":  !6 :  :}:<2? !6? >*&*~} :Hf K : x }2g :\‡ g K !/6!16:1<21O! ~$*1& ~'H!:1H Ò *1& ~$ :1<21O! ~20'!:1H :0A20O> *0M! ^#V!,6 !-6 !,6#6 !.6!16P!o6$!/6 !/6 *1& ~(n !14!6:1<21O! ~023O> ڨ ::H!32s :Ҽ Uo͙*1& ~) !14 !06 !26 ! ) 1 < S [ !26+~!P :1<21O! ~':!1/H#~!/HP *1& *2&Z w!24 :l2!6!6 K ! 6!6!6!6:"® !6B}"ʜ : ™ È K :"ʨ È iͦHU !6A:0 }2  ͑ :H:hH ͊N : :+H:-H͛EHN ͊͑ͦC ͊N : N K :i i ͑\ :$w ͑ :%‚ ͑F : F: NH: Hҵ !6Hú !6F! ":2: :b : }2y  :c :  y }2  :i:%:  HHK ͑: IB: L }2; K ! 6: :.H: Hҁ ͑T g  *y 5:l<2lڬ U͙*DM *y:l=o&"͍ DM!͜:l=o&"͍ ! :w*y# : :: *yw : ==2 _ ͜>! ! 6 *y# _DM͜!6!6 K Eg i:\Vy imFe!6K g : <2 O!  :w:!?wmK m}2* &  ~:0O> /:a/>z!/H:.Ͳ!2:_2:AO>/ͲHͦHHͦ͑ 5:AO>1͑26 : EK > ! R>!46* &7 ~25:5!4:5!426!76* &!) =: á*7&  :7=O*8 ~:6<24:6=25d>G>@_!"*++"A!6#6*E~=!n*& *E:2!4F:?*E^*E"E> A+s#r!ҮU͙ò*A!p+q: *+"*C >*C ^#V"C*C~=O! *Cͽ H*C~ H͆*C q#p*C ^#V"C6*C >w#6*CN! *C*s#r*C4*&G) ^#V!q:̀!AژU͙!p+q*E *s#r*E >w*E >f"E>E*E~2*>*E#^#V"E>:=O! *E*&* 6:=23>>*>2Ou*"E*#*E **Ew_͜*E 6f*E#q#p*&G) *Es#r:̀+s#r!q*E :w*E~!q*E :w*E ~*E ^#V!q*E :w*E ~2!6:!Mt>o&G"*Eͽ6*N#F`i"*E#*N#Fq#p!4:mڢg :F/!Ұ9͆"CDM͙*C6*C >w#6:Ҧ!@4*:M͟ʹð͟ʹ"C*DMͳÙ:HA:)*:#":>ͱU͙9͆"CDM͙*C6*C >w#6!@6*:M͟ʹ!6*E">>"C*DMͳÙ: !k!=6*>"E*@M!6Ù:™:҄!6!<6:=ҙ*>"E!=6:2Nͪ *""!"!"EEͻ **Es#rt*##"*A+ʹU͙*DM *#"ÿ*++"*">!!͡+s#r"!6:!6!"ͻ**"*)**)*^#VN#F*)*^#V"*)**)*N#Fq#p*)**s#r!6*"TB*##"!r+s+p+q* * ~ >* * >* * ~3>* * H>** _*~2f*~2!6ͥ҆:<2!ƒ>k*& **& *~ᖟ*:*& *~2!6 *:*& *~2!6 !:!6!6*y~3*y>@:<2O!K Hq:<2O!K 6:!6>!t*&*y~ m*&*y:<2O!K w!48@*&L DM͜:0Ғ-*"!"ͻ*^#V"E!6*E~!:=O! *EN`!4¹*E>!O ͻDͻ OZ"C!6:/گ>Cʯ!6*C~!ڞ:S,` `X!6:1!+Ҁ!:/!0{-+ :=O! *CN#F !44*C ^#V"C#!:/!0-*##"*"Ҟ!p+q!6*&*~$ *&*N`!4!q!6:!, `!4 `3K Z:.U+ :<2O !6_ogDM!>))Ҝ =”^#V|g}o ¥_{ozgi`N#Fogo&og_{_z#WCBASIC XREF LISTING OF $ $ $\ INT XRF;:0 REM C H A S E V 1.0 1/16/77 GCC III 1 REM BY HERMAN DEMONSTOY FEB 77 ISSUE KILOBAUD MAG 5 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 20 Z2=0 50 PRINT"THIS IS THE GAME OF CHASE" 100 PRINT"YOU ARE IN A HIGH VOLTAGE MAZE WITH FIVE" 110 PRINT"SECURITY MACHINES (+) TRYING TO DESTROY YOU (X)." 120 PRINT"YOU MUST MANEUVER THE SECURITY MACHINES INTO" 130 PRINT"THE HIGH VOLTAGE FENCE POSTS (O), OR INTO EACH OTHER" 140 PRINT"IN ORDER TO SURVIVE. GOOD LUCK. 145 PRINT 160 PRINT"MOVES ARE: 1 2 3" 165 PRINT" 8 * 4 0 IS NO MOVE" 170 PRINT" 7 6 5 9 GIVE UP" 175 PRINT 199 REM .............SET UP THE GAME 200 DIM A(10,20),E(21),F(21) 210 G=5:M=0 220 FOR B=1 TO 10 230 FOR C=1 TO 20 240 LET A(B,C)=0 250 IF B=1 THEN A(B,C)=1 260 IF B=10 THEN A(B,C)=1 270 IF C=1 THEN A(B,C)=1 280 IF C=20 THEN A(B,C)=1 290 NEXT C 295 PRINT" . ";:REM ..........KEEPS SCREEN GOING WHILE TABLE SET UP 300 NEXT B 310 FOR D=1 TO 21 320 B=INT(RND(1)*8)+2 330 C=INT(RND(1)*18)+2:REM ....................... 340 IF A(B,C)<>0 GOTO 320 350 A(B,C)=1 360 IF D<6 THEN A(B,C)=2 370 IF D=6 THEN A(B,C)=3 380 E(D)=B 390 F(D)=C 400 NEXT D 410 PRINT:PRINT 499 REM ..........PRINT PATTERN 500 FOR B=1 TO 10 510 FOR C=1 TO 20 520 IF A(B,C)=0 THEN PRINT" "; 530 IF A(B,C)=1 THEN PRINT"O"; 540 IF A(B,C)=2 THEN PRINT"+"; 550 IF A(B,C)=3 THEN PRINT"X"; 560 NEXT C 565 IF B=3 THEN PRINT" ";G;"SECURITY MACHINE";:IF G>1 THEN PRINT"S"; 566 IF B=3 THEN PRINT" LEFT"; 567 IF B=7 THEN PRINT" 1 2 3"; 569 IF B=8 THEN PRINT" 8 * 4 0 IS NO MOVE"; 571 IF B=9 THEN PRINT" 7 6 5 9 GIVE UP"; 573 PRINT 580 NEXT B 599 REM .........MAKE MOVE 600 B=E(6) 610 C=F(6) 620 A(B,C)=0 630 INPUT"MOVE";Y 635 M=M+1 640 IF Y=0 GOTO 800 650 ON Y GOTO 660,660,660,690,680,680,680,690,1400 660 B=B-1 670 GOTO 690 680 B=B+1 690 ON Y GOTO 700,800,720,720,720,800,700,700 700 C=C-1 710 GOTO 800 720 C=C+1 799 REM ..........CALCULATE THE RESULTS 800 IF A(B,C)=1 GOTO 1500 810 IF A(B,C)=2 GOTO 1600 820 A(B,C)=3 830 E(6)=B 840 F(6)=C 850 FOR D=1 TO 5 860 IF A(E(D),F(D))<>2 GOTO 960 870 A(E(D),F(D))=0 880 IF E(D)B THEN E(D)=E(D)-1 900 IF F(D)C THEN F(D)=F(D)-1 920 IF A(E(D),F(D))=3 GOTO 1600 930 IF A(E(D),F(D))<>0 THEN G=G-1 940 IF A(E(D),F(D))=0 THEN A(E(D),F(D))=2 950 IF G=0 GOTO 1700 960 NEXT D 970 GOTO 500 1000 PRINT"TYPE Y OR N PLEASE...":GOTO 980 1400 PRINT:PRINT"SORRY TO SEE YOU QUIT" 1405 PRINT"AFTER ONLY ";M;"MOVE";:IF M>1 THEN PRINT"S";:PRINT"." 1410 PRINT:GOTO 1710 1500 PRINT:PRINT"YOU TOUCHED THE FENCE !!!!!!!!" 1505 PRINT" AFTER ONLY ";M;"MOVES." 1510 GOTO 1710 1600 PRINT:PRINT"** YOU HAVE BEEN DESTROYED BY A LUCKY COMPUTER**" 1605 PRINT"AFTER ONLY ";M;" MOVES. TOO BAD." 1610 GOTO 1710 1700 PRINT:PRINT"YOU ARE LUCKY * * YOU DESTROYED ALL THE ENEMY * *" 1705 PRINT"IN ONLY ";M;" MOVES." 1707 Z2=Z2+1 1710 PRINT"SO FAR YOU HAVE WON ";Z2;" GAME(S)!!!" 1715 PRINT:PRINT:PRINT"WANT TO PLAY AGAIN(Y OR N) 1720 INPUT Y$ 1725 PRINT:PRINT 1730 IF LEFT$(Y$,1)="Y" GOTO 210 1740 PRINT:PRINT"HOPE YOU DONT FEEL FENCED IN." 1750 PRINT"TRY AGAIN SOMETIME " 1760 PRINT"THIS TIME YOU WON ";Z2;" GAME(S)" 1765 Z2=Z2+1 1770 PRINT"NEXT TIME YOU MAY WIN ";Z2;", OR MORE!!!!!" 2000 END  1760 PRINT"THIS TIME YOU WON ";Z2;" GAME(S)" 17* YOU DESTROYED ALL THE ENEMY * *" 1705 PRINT"IN ONLY ";M;" MOVES." 1707 Z2=Z2+1 1710 PRINT"SO FAR YOU HAVE WON ";Z2;" GAME(y P-------------------------------------------------- CRUN Version 2.8 Serial No. 3504-0000-003284 All rights reserved Copyright (c) 1981-1983 Digital Research, Inc. -------------------------------------------------- $COPYRIGHT (C) 1978, 1979, 1980 COMPILER SYSTEMS INCxw #c        !q!q{`i!N#F+ͽ!!q#xw6 ɗyOxG~O#~G+~#q#0:?ɇ:=2:<2Я/2ɯ2!P +T]~ kG+~Vx+T] Gʑ#~|!~!G!Øz/g{/o# |>|>!  + ! > W!z#?>!> ' P'> '!~ȯw+6>+6=,)`i~G2x2#:W:d!ɯ' #g7>'w #s7>'w #Æ>Ý2n2:W¸6!:nw eN6!e!e:nw:eG2mxW!e6r777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778W!w#zW@68w`i#o͘!z@82 W2_!~ȓ_Aw8t{82z+w>2`i22?G!ҩr×f!~w:=2P:!PÔ!vÔ!͘ů2=>@2>2: =2 ~#ɯ :2?x{2  2  R+i-l>20iw.ʜEʪeʪ G+: )t: /2 t ʪG-_ʿx G OxG{G!~+ 2!xw2͘!"l |8|.}/o|/g#>2b^#V#}o|gG:*l+)"l{2Ø'd !~5*~+"0:ɷG>0͙x=Í*uw# ::s:r6,#"u:> >-!">2`i"u:nl : 2r2q2s2p2t> ͙ > 2!n~2pw͙:@2t!s T T 6>2r> 2q 6!tp_ 2r/<2q N:Oš 2r2t=:ʋ =2z:w> ęx :wʧ ͙:s!t6 y@Gʿ /%͙22w2x6 :2rGy@w:w!x>5 >5 4!r5<2z:r!qG:sN :tOxGxx W?< =[ zz!~x l :z¦ :x!w  :r : >-͙ G:yOW*ʺ $º $ :x!w  O z͙ y͙:n :  :w : :r>0̙͇ !r~" 5n͙ :r͌2:n7 !o~Қ 6>.͙:s[ :tG:qS GT 2qx͇͌s !q~s 5n͙[ :q͌:nš *u+~0 6 à .ʕ #6 "u:s >E͙!t:n± 5~ /<-Gy͙x/ Gy͙x0͙:x ͙2x2w:n > ͙:p2n*u 22`i#""GOW~# A /? &? !? \A #A NUc# y2z2~!~a :w*g 5*~#"2ɯ2o: NNc`i"u:# $¤ N $ >$͙:Ç *¶ N * >*Û . N #>.› 26 - N # .>-› >2w2O6 >2w \N ęN Ç 2y > 2y N # ,+ >2 !q.G >2oN #G ; !qq^Z N M !sq-k >2xN *uDM*|#"|~:{=2{>| > s Ù:~¡ SNc`i"|xʬ 2{bk"u:/ ! & \N ęN ÷ ͈ N ʛ / ͈ N *u|  s ͙ `i"u:#j/j!j&j$/N $j>$͙*AN *j>*)-XN #j.j>-)\N j͙N *u`i~Aҡ6G>Mw!:A<2)T])n_:=2:}/o|/g# W zQS͓6N6!~G w!o|g~x>NN6S͜=KN W2z6͔ D͗!2>bnN6Ϳ6|}!#:ĘN:28 2>Aj6KN2!>nN6!z>nSN:AO>~/G͜r͜NN6S :W z6͗/:Һ͜:͜/͗!~w::NSN>nN6͜Né6!~>w2:AVNNkKNC͜N6>;n:!wN07HWgtA1A@P\d5bEHyed"BA1PYTAE(('@ @@I@hfffff?hfffffA>533333>=ii<0$;9"sU':9"sU'9BT8!%8hxVg 7"hC60wYEG417Gv@`v'b1AAPX#C`QI"U&Àe(HBCTbDvRWaGv"C%T$a'ÙH%Csrb"(HdA1AAXS&YA1AIy&cypt dYd?Sh&&iyv&3uF=84SY592xXT(E133@P5D @cbe@(u?Bp6W>W"f(@E3SxN͜N6͗SNÃ͜! DM={ Üxʴ ʴ< O*D6|͊"q**Ds#r#6LScF#~ O͊*Ds#r~# "**D {_zW*wDs#r#w#w#w*wDw#w#s#r!wD^#V^#Vzʄ###~]#{_zW{_zW+++++ZMOcx!W"+6 #x—+6{z+++Fr+Nsq#p#s#r#6`i##s#r*+^#VN#Fx###~p+q`is#rR*c+6++++^#Vz!~*>D~2ND*>D#">Db:kF9 b :@DKþ:@D:ADTH:BDRHҸ!D6b ,͂"Db*>D~,¦b ͂"Dõ>DCµûb>2!ND!ND62:ND2 D D*NDM*>Da! D">D:ND=2ND*>D#">D!PDs+q!@D6:ND2MD*>D"KD:ND*>D:ODH:PDHa:@D [*>DNͼ:@D<2@DO!@D Hq:ND*>D~ Hҁb!"RD!QD6:@D!QD*QD&@D >9~0HҴ*RD!RDͦB*QD&@D >_"RD!QD4*RD:MD2ND*KD">D*D##~*DN#F!UDp+q>TDC>*TD~!VDq:VD_AO>/!WDq:WD0O> /!YDp+q*XD~2ZD:ZD=2ZDi*XD#"XD*XDNͼ*XDwHz*D"]DÄ*D^#V"]D Ҕ*D"[DÞ*D^#V"[D*[D~2`D!_D6:`D!_D*[D*]D >*[D*]D~>*[D#"[D*]D#"]D!_D4ª>%HPMc*D>*C!>*D~2iD*D^#V"dDDMͨ*D^#V"bDDMͨHT>*bD~2gD2fD!jD6:fD!jDڌ*jD&*bD~\…!jD4!gD5!jD4c*dD~2hD!iDҝ>:iD=2aD:gD!aDO:hD:aD<2aDO:aDä>!kDq!mD6+6:fD!lD+:hD!kD>:mD/*lD&*bD~\H!mD6$.!!kD4$>!lD4>*lD&*bD~2nD:mD|:nD?N>:nD#e*kD&*dDN+:nD!|*kD&*dDN!mD6*kD&*dD:nD!oDq!"tD:oD, HҹSSc*D^#V"tD*D*DN#Fq#p%SSc*DN#F!tD*C*DN#FͨH*D>w#63*D*DN#F*tDB!vDs-CQ:oDJ:vD<*DwQ*D:vDw:oDf*D^#V"rDÓ:oD†*D:vDdB*D~C"rDÓ*DtDXB+"rD*D>DCN6"pD>B¼DM͊"pD*pDDM*rDa*D*pD w*D*pDs#r3*DN#F`id @PEv2(<PdxPRINTER BUSY?$ IN LINE $ERROR $WARNING $IMPROPER INPUT - REENTER $AT LINE $1 D7&1 Dͧ&#v!Eq*E& !Eq:E!E6*D|E !E6E :E. !E6  ÿ*E& *D|:E/HE !E6!Eq:E1*EM͚<*E&   !Ep+q*E~$h*EN*E#"EN!Ep+q*E)))!Ep+q!E6>!E!E60*E&) ECھ*E&) EC+s#r!E4Ï*EM!E4!Fr+s+q+p+q*F+"FC*E:Fw*E#"E!Fp+q*F|O*F}O>!D*C.<H*DDMv==!"E>!E*CJ2:E_ ͊ ͊b2!Fp+q<:E{=!E6=FH*FDM !Fp+q:E2 F!E6=MH*FDM: F2E! Fq* FM: F_: F*D#"D*D"D>C"D*D"D"D! Fp+qD FC!Fp+q* FDC5* FN#Fi*D* Fq#p!Fr+s+q*D#~ž*F^#V"FD"Ck*FDMi*D"F*F^#V"FDMҞ*F~!Fڞ*F+"F~ž*F^#V!*DDM*Dn*DDM*Dn*DDMFnͯ*DFn*DDM *DN#F*Dn*D~*D~*D>*C*D>*C*D~*D~*D#~*D#~!Fq*D##:Fw!Fq*D:F`*Dq#pi*D>w#6:҆FO͓*Dn!6*DDM6ҟ͗å͜Ϳ*Dq#p*DDM6*DDM*wD"F!" F*F>*C *F ~ *FFC>C* F" F*F^#V"F* F*D~2+F!""F*D"%F*D"'F!$F6*D~!$Fe *DN#F*"FͳB+s#r""F!$F47 *%F"D*'F"D*"F*+F&ͱB*D~<_DM͊"%F")F*D*)F w#6!$F6*D~!$F *)F##")F*D*)FN#Fq#p!$F4¦ *D*%Fs#r*D~20F*D^#V",F>B!EAc*D^#V"1F*,FN#F!/Fq+6:/F!.FP!͂!*D*,F^#VN#FͳB*1F "1F!.F4!͂!*,F1FCe!BSc*,F##*1F*0F&ͱB *Dq#p*,F##",F*DDM *D^#V*DDMn*DDM 3*D^#V"3F*DC8"*3FN#F!*3FN#F `i"5F~=w!*3FN#F*DN#F'"*DN#F `i"5F~#"*5F#DM*DN#F `i"5F*5F4*DN#F*Da*DDXB++s#r Y"9"\"*D^#V"DD*DDM6:nҜ"Dn !DC!Dsî"D!DC!Ds!D:n"*DN#FD͔ !DC!Ds!D"*D^#V!8Fp+q7FEC# *E#"E"!:Fp+q*9FDMͨ#*9F~2;F!F6:>F<2>FO>#*>F&5) >*C#*>FM~;é#ͤ#< *D|$ $*D#"D#D :D:DH%$#!D"E*D& 6 *D&D E"C*E"D=VH*D#"D!D-Cu$DOc*D~*E#"E~:Eª$ECң$ͨ9*ED wͨ9$:E¶$z$:E$^$!"E̓$2?F $$:E$!D"E$:E$*E"E$*D"E:?F"%!@F6,)%!@F6":E#%*E#"E̓$2?F!@F:?F+~ HR%*E#"E̓$2?F)%:@F"x%̓$2?F,:?F Hx%Z%$>EC—%*D>w#6%*EM*D6"AF>Bº%*E#DM͊"AF*AF#*EDM*Ea*AF*Es*D*AFs#r3$>!E*C &>!E*C&!"E*EDM*ED*DDMNj6&:E1&H$6&*D6 "D=p&*DDwDC-5>_*yD"D"D*{D"D+"D*}D"D*D"D"wD"D*D"D"D*D~&*D#*D w*D>?*D#w*D~&5*DN!4 ^#V*DDM6*DDM͜*DDMNj5*DDM6*DDM͗*DDMNj5*DDM6*DDM*DDMNj5U55n'*Dn*D6A'҉'҆'*Dn'ҝ'EN͓*D>w*DDM*DDM6*DDM*DDMN*DDMyj5*D*DXBs#r5*D*DC+s#r55*D*D^#VN#FͳB+s#r:CF,(*DB#+s#r55K(ZD͓*Dq#pb(*D*DN#F^#V͉B+s#r:CFx(*DB#+s#r5Ҏ(*D>w#6(%ҡ(*D>w#6(*D^#V"FF!"DF*DDFC(*D^#V*FFͱB+s#r*DF"DFұ(5*DN#F+q#p5*DB+s#r5*D*D|B+s#r5*D*DB+s#r55͋!͢55ͯ5ͼ5͋!5ͱOA5jOA5*D*D^#VN#FͬOA5*DB+s#r5*D#"D*D*DN#Fq#p*D#"D5*DDM *D^#V"HF*D*HFN#Fq#p5͢!5*D*Ds#r*Dn&"D35*DN#Fͨ-*W**DN#FͨF*ͼW**D*D^#VN#FͶ5*D#:D<2DO!D q#p*D^#V"D5*D&D) ^#V"D:D=2Dҥ*GRc5 5 57$ھ*H$%5x"DM#5Ͳ"DM#:n*5*DN#Fʹ8*DN#F8X#5*DN#Fʹ8X#57$*+H$-+K5*D*D^N͔5!E6%5!E6|%5x"DM:5Ͳ"DMͮ::n|+5!JF6:JF<2JFO!5 >*Cʢ+Ç+ͮ6*DN#F*JF&7*DN#F͚85*DN#F*Dn5*D+"D5*D>w57$,H$|%5*D^#V"KFDM/>KFCH5,*KFDM5525:nڡ,!MF6:MF<2MFO!  ^#V"NF!E-Cp,M,NFC‡,*MFMá,ENFCҙ,2á,*NFDM"5`"5ҷ,`"ÿ,*D##"D5L"59"5͇5!E6*D"E#5!E6|%5!E6%595e#;5*DN#F~;5*D>w5*DDM͔5͟*DMS*DDMN5e-*Dq#pÁ-x-*D>w#6Á-*D>w#65*DDMͩ5*DDM5*DDM.5ͯ*DDM*DDMͩU55*DDM5*DEC>CH-LTc*DEC-<*DN#F"5*DDMy5"PFsBDM*PF|<.͜*DDMN5*D|t.E *E&B*E& >B"z.*D"5HҔ.NL͓Ü.*DDM5*D*Es#r5*DN͍*Dw#65*D^#V"RFDMͨ.CAc*RF#~2TF*D:TFw#65͊"UF*UF6*D*UF# w*D*UFs#r35͓5*DN#F2WF*WF&*Dq#p5͓5͓5:n2YF!n6x"!XFs!D5#~ …/:D=2DDË/D3:YF2n5*DN#F*DN#F_D*DDMN5*D*D^#VN#F3<"ZF*D*ZFs#r5*DN#Fz<"\F*D*\Fs#r5*D^#V"^FN*Dq#p52`F*D:`Fw#65͇5*D~=w*D~=HW0IOc*D~B›1!"E!E65n"K5*DN#F͜5*DN#Fͮ6*D*D^#VN#F7*DN#FN82cF:cF15*DN#Fͮ6*D*D^#VN#F7*DN#F͆85*D^#V"dF*D*dF w5Dͼ9n"5*D^#V"fF>Bʢ2*fF~2hF!iF6:hF!iFڟ2*iF&*fFN͊!iF4€2ç2?͊ ͊5*D^#V"E>B2!"E5*DN#F*DDMN5*DDM 5*DDM͔*DDM6Ϳ*Dq#p5*DN#Fͨ9303*DN#F3*DN#F;5XIc5 2jF *jF& 5*D*>Ds#r35 Ҙ3*Dq#pá3*D>w#65 *Dw#65ͤ#!D6!\"5*DN#Fd7 *D"D"D=!D6*yD+"D*D+"D5*D*D^#VN#F;5& '.'O'U''''/({((()),)2)>)?)E)N)T)`)j)t))))))*Z********++0+F+Q+\+j++++++ ,8,;,A,,,,,,,,,,---(-3-R-------..G.}..... /(/G/O/W////0090?0e0{001)1M1U1d1|1111282U2a222223<3E3f3}3334ç&!CF6%:5:CF/2CF*DB#+s#r,T5:CF/2CF*DB#+s#ro5ZD͓*DnÇ5*DDM6*DDMS*DDMNj*5*5!4#65555<ECc!56"56*5DM!"6>26zW{_!656*6g6 |g}o"6*6|g}o"6R6*6*6DM*5.͎6"5:6*5"5:6xʼ6>@>6NBc`i>)=6. DM͊"56 *5 "5"5}257Ö65*5$$*5 DM!56L75~#FDc*5r+s"5:5=7|7!5~@w7`i"5)x^7>>FNcx8*5#  *5G8ڕ7:–7w#>277ڬ7 ž7.ª7277 ù7:77.7# 77*7:5>*7>276?#`7{7_:8*8?8w#:58FIc>? 8*5*5}O|Gxr# 48*5*5#{z"5d76_8#8>?6*5)5w#w5^#VzEOc#"Dd766#8EMcd76<ʌ8#8L75 s#rL75 ^#VzUFc"5*5)5 ^#V"56*5"5!56Ö6!5~w9:5BR=cURcx9RIc *5G6*5{o>g+{z_yW9!*5 s#r!5~w"57͖6*5!,! ~#~!5>w:529*6#8!95͠6q9=8Җ99͎6"5N9:5N9*5~<;̈́9 *5|ʨ9ERc`i6̈́9 9V9r9 757*5|7̈́9 97!5~ЇwRWc͖6*5*5{_zW{z<26<:͠6=:͖6#8!5>w*5|WDc#"D*5"D*5"D7*5|w:*5|REc+"5=8҆:9*5"5:5¤:N9*5! N#F p+q*5q!5>w:n:,!5~6_:"_::"_::n:,!5~6_: `i#~ O_:=:x `i#N_:=;*5}_|W/;z/; _:; _: _:7*5|FEc#"D*5"D*5"D*5!,! w#w*5+"5!5~w7L75 ^w#Vwz—;UCc"5͖669͖66?65 w#wL75 ^w#VwzUDc"5͖665 w#w?6*}o|gyx"5:6$͊"5ͨ*25d7*5 6?5<`*5O ~O Ùx=VIc ͆A2F*=!F6͆A:F<2FO!F Hqy$ʦ=È=*FFD:ҽ=CNc*FDMN*F"F*D-C=Ax=:DT>ͪAyF"C=FCcͪA{F"C >CCcͪAwF"C>DCcͪAuF"C/>PCcͪAD"CB>SCc*yD"F*{D"}FAó>ͪA"yFF"F"yDͪA"{F*F"}F"{DͪA"wF*{D"}DͪA"uF*}D "D*D*DͪA"D"CCҳ>A*}D"F͆Aʳ@:F3>͆A*}Fw>*}F#"}F>ð@:F>tA+AtAð@:F)?tA*F"F*F6tA͆A&?tA*F~<*Fw?ð@:F~-@͆A~*@:D'@:F@*F"F*F^#V"FwD"C@>FC+s#r*F ~<*F w‰?*F 6:F=2F@*F*F& "F*F^#V"F*F##"F!"FFFC@*F^#V"FwD"C@>FC+s#r*F ~<*F w@*F 6*F###"F*F"Fҿ?*F"F1?ð@tA:F6:F7H:F`H:FH{@͑A*FyDXB+*Fq#p͡Að@:F.¢@͑A*F^#V)))F*Fq#p͡Að@:F°@͑A͡Aù>:D@A*FFwDC *F 6I*F 6N*F 6T*F 6 *F 6*F  A:DA  FCA*F 6*F^#V"FA*wD"F*F^#V"F>BUB*F>*CB*F ~*F ~HHB*F DMRB*F^#V"FAi`N#Fog_og_{ozgi`N#FogDM!>))덑o|gҠB =ŽB^#V))) DM!>))B =¸BYP뗖_>#Wi`/o/g_{ozgi`N#Fog^#V) B_{ozgO{ozgi`N#Fogo&og_{_z#Wi`N#FogPMXList YE!}wq.nN,F=!pww#p.nw#p*nw~!}w¹F*nw#KB=!nww#püFqF(̈́Fnw28!~ww#p)̈́F!~w~,F-N,F,q#p.nN,Fz=!nw,Ox.|q.y6.{6!yw& PCOPYRIGHT (C) 1978, 1979, 1980 COMPILER SYSTEMS INCxw #^        !q!q{`i!N#F+͸!!q#xw6 ɗyOxG~O#~G+~#q#0:?ɇ:=2:<2Я/2ɯ2!K +T]~ fG+~Qs+T] Gʌ#~w!~!BÓF)z/g{/o# |>|>!  + ! > W!z#?>!> ' P'> '!~ȯw+6>+6='$`i~G2x2#:W:_!ɯ' #b7>'w #n7>'w #Á>Ø2i2:W³1!:iw `I1!`!`:iw:`G2hxW!`1r!q= :hG:8!aa!>q$ a3!aTmÓ:h2Ó"I7!>!7!>H2E!!"F>2H*I~#"I7*Fa4=³>*Fa=!H5*F#"Fá: 3W!w#zW@.w`i#j͓ !z@3- W-_!~ȓ_Awi{3-z+w>2`i22?G!ҞmÌa!~w:=2K:!HÉ!qÉ!͓  WzQS(1I1!~G w!o|g~x>II1K͗=LI W2z12 D͒!2>a m I1]1|}!#:ęI:-3 2 >Ai 1J I2!  >m I 1!y  >m KI: AO>/Gͭ ͗q ͗II1K Wz1 ͒/:ҹ ͗:͗/͒!~w:<I KI >m I1 ͗Iê1!~>w2:AUIIjJ IB ͗I1>: m :!wI07HWgtA1A@P\d5bEHyed"BA1PYTAE(('@ @@I@hfffff?hfffffA>533333>=ii<0$;9"sU':9"sU'9BT8!%8hxVg 7"hC60wYEG417Gv@`v'b1AAPX#C`QI"U&Àe(HBCTbDvRWaGv"C%T$a'ÙH%Csrb"(HdA1AAXS&YA1AIy&cypt dYd?Sh&&iyv&3uF=84SY592xXT(E133@P5D @cbe@(u?Bp6W>W"f(@E3SxI͗I1͒K I ͗ ! DM=z  ×ů28>@2>2 : =2 ~#ɯ : 2 x{2 ͧ 2 ͽ + - >2ͽ 0  ͽ .: EH eH ځ G : $ : ځ /2  ͽ H G-_] x` ͽ ځ Gͽ z OxG{ G!~” + † 2!xw-͓ !" ͧ |3| }/o|/g#>2 ^#V#}o|g  * $" { Ó'd ! ~5*!~ +"!0: ɷG>07 x=+ *w#e :e :e :b b e 6,#":> >-!"!>2 s `i":  :¬ 22222> 7 x> 2  ! ~2wi 7 :@2!   6>2> 2x6!p 2/<2x*I:O8 228:) =2:> 7 :E i 7 :!6« y@G] n /%7 222*1ì :2Gy@w:!> i > 4!5<2:!G: :OxGxW?< = zz !~ :D:!xi x:“ :ړ >-7 xG:OW*X$X$ :!ii iOtz7 iy7 : ʙ:ʢ™:™:¢:>07 % ʺ!~5 7 â:* 2: ! ~86>.7 ::G:G2x* % !~5 7 :* : 8*+~0-6 !.3#6 ":u>E7 !: O5~ Z/<-Gy7 x/ b Gy7 x07 :ʆi 7 22: ›> 7 :2 * 2#2$`i#"%"'GOW~#¾/&!\#NU(#³y2z2!$~:#w*%5*'~#"'2)ɯ2 :NN(`i":)#ʬ$B$ʤ>$7 :)%*T*ʤ>*9.l#>.92-•#ʍ.>-9>22O>2ì\7 %2ô> 2 #ʳ,>2ó!q.>2 # !q^!q- >2*DM *#"~:=2>> 7 :?SN(`i"xJ 2bk":)/s!ʂ&ʌ\7 U&9/s&*҅7 Ì`i":)#/!&$$>$7 á**>*-#.>-\7 ä*`i~A?6G>Mws !:A<2)T]) _:=2o:}/o|/g#*QC##~͘ү*QCN#Fͻ!Bp+q>BͤA>*B~!Bq:B_AO>/!Bq:B0O> /!Bp+q*B~2B:B=2B*B#"B*BN$)*Bwg*+*QC"B5*QC^#V"Bt*E*SC"BO*SC^#V"B*B~2B!B6:B!Bڠ*B*B xͦ>*B*B~ҋͦ>*B#"B*B#"B!B4[ͦ>͟F)͟g*͍*HPM(*QC>ͯA>*QC~2BF)*QC^#V"BDMͬ>*SC^#V"BDMͬ>*B~2B2B!B6:B!B@*B&*B~\9!B4!B5!B4*B~2B!BQ>:B=2B:B!BO:B}:B<2BÒz:BX>!Bq!B6+6:B!B:B!Bң>:B/*B&*B~\H!B6!B4>!B4Œ>*B&*B~2B:B0:B?>:B#*B&*BN:B!0*B&*BN!B6*B&*B:B!Bq!"B:B‰͔*t*HmSS(*SC^#V"B*QC*SCN#Fq#pF)͍*ҖSS(*SCN#FͰ!BͯA*SCN#FͬHF)͟*QC>w#6͛**QC*SCN#FͰ*B̓A!BsͲA:B:B<*QCw*QC:Bw:B*SC^#V"BG:B:*SC:B@*QC~͍A"BG*SCB@+"B*QC>SCͤAN͞)"B>̓Ap͢DMW"B*B͢DM*B\*QC*B wF)͟*QC*Bs#r͛**QCN#F`ixʸ ʸ< O*SC͞)|W"q͟F)͟**QCs#r#6LS(F#~  OW*QCs#r~# &*B~2B*B#"Bs s :B\:B:BTH:BRH!LC6s ,͓"HCs*B~,·s ͓"JC>HCͤAs>2!B!B62:B2BB*BM*B\!B"B:B=2B*B#"B!Bs+q!B6:B2B*B"B:B*B:BH:BHr:B l*BN$):B<2BO!B Hq&:B*B~ HҒs!"B!B6:B!B*B&B >9~0H*B!B+A*B&B >_"B!B4ž*B:B2B*B"B**MC {_zW*2zW{_!5*ҽ |g}o"*|g}o"è**DM*8.":Ð*:":Ðx>@>NB(`i>)=. DMW"8I *8 "?"A}2CX<*8$$*8 DM!<I͢~#FD(*8r+s"<:C=X|X!>~@wX`i"D)xʴ>>FN(xn*8#  *8Gn:w#>2 .2 :A..# '7*G:O>*G>26?#`S{S_:n*n?gw#:OtFI(>?b*:*A}O|Gxr# Ê*A*?#{z"?ͺdʵy>͕*D)w#w^#VzEO(#"UCͺinyEM(ͺd<y͢ s#r͢ ^#VzUF("8*D) ^#V"FI*<"L!N6!>~w^:CBR=(UR(xiRI( *<͝*:{o>g+{z_yWJ!*8 s#r!>~w"?X*8!,! ~#~!>>w:C2̀y!5͓J"?ͤ:>Ԥ*?~ʒ *<|ER(`i6 -Vr X5X*<|X ?X!>~ЇwRW(*?*:{_zW{z<͈’=ry!>>w*F|WD(#"UC*H"QC*J"SCX&*<|*L|RE(+"L͓J*:"?:>ͤ*8! N#F p+q*?q!>>w: Q,!N~6Ե"͵Q"õ: Q,!N~6Ե `i#~ Oĵ=@x `i#N͵=Y*L}_|Wڅzʅ ͵u ͵ ͵X*F|FE(#"UC*H"QC*J"SC*8!,! w#w*?+"?!>~wX&͢ ^w#VwzUC("8IJs͕ w#w͢ ^w#VwzUD("8i w#wÕ*}o|gyx":͐$W"8ͬڀ ͺdOS(̀€ =p *8DMû*8"8ͺP<RF("8ͺP< P͕!͕!>2Oͺ*8 6?P!`*:O ~O  ͕2ONO INTERMEDIATE LANGUAGE FILE $CRUN VER 2.37$$ REQUIRES CP/M V2 OR MP/M$!".C!\"0C:OCڬ!/>!Ͱ' "PC}!M!Ͱ'  ̈́' ̈́'!6$!-E"C͉%O>!VI( ͉%2 C*#"! C6͉%: C<2 CO! C Hqy$!!* C C *CDMI*C"C*FCͲA "%!:OCҗ"ͭ%CͧA<"FC(ͭ%CͧAN"CC(ͭ%BͧA`"DC(ͭ%BͧAr"PC(ͭ%MCͧAʅ"SC(*>C"C*@C"C%"ͭ%"C-E"C">Cͭ%"C*C"C"@Cͭ%"B*@C"BCͭ%"B*BC "DC*DC*FCͭ%"MCͧA͆A"%*BC" C͉%$:C3%#͉%*Cw"#*C#"C #$:C9#w%R%w%$:Cg#w%*C",C*.C6w%͉%d#w%*,C4R#$:C~W$͉%~T$:OCQ$:CG$* C"2C^#V"2C2CͤA+s#r!~:CͤA+s#r!~C@+s#rͤ%$:C.$͔%*C^#V)))-E+s#rͤ%$:C$͔%ͤ%":OC$%* C C% ̈́' ̈́'!Ͱ' *0C *.C#".C!͆Av%!".CH%v%*.C6*.C*C w*C#"CR%*.C~2C͉%*C#w͉%*Cw*C##"C͉%O`i}A͉%_MN( *2CͤA%*2C 6*2C^#V"2C%*̓AX&*4C>ͯA&*2C ~*4C ~HK&*2C DMͻU&*2C^#V"2C%d @PEv2(<PdxPRINTER BUSY?$ IN LINE $ERROR $WARNING $IMPROPER INPUT - REENTER $AT LINE $1Bͥ'͏11B20/v!Dq*D& !Dq:DX'!D6*PC&|X'D !D6D X':D@'& !D6  %'*D& *PC&|:D/H҃'D !D6!Dq:Dҙ'*DM&ä'*D&  ̈́' ̈́'!Dp+q*D~$'*DN̈́'*D#"Dö'!Dp+q*D)))!Dp+q!D6>!D4(!D60*D&Y&) D͙A&(*D&Y&) D͙A+s#r!D4'*DM̈́'!D4'!Dr+s+q+p+q*D+"D͆Af(*D:Dw*D#"DD(!Dp+q*D|Ö́'*D}Ö́'>!CͯAҖ(&Ͱ'*CDM'ͥ'ͥ'!"D>!DͯAҲ(͚(:D( & &(͚(!Dp+qͤ(:D(ͥ'!D6ͥ'&Ͱ'*DDMg(d' !Dp+q:D2D!D6ͥ'&Ͱ'*DDMg(:D2D!Dq*DM9):D_:D*UC#"UC*SC"QC>͍A"SC*QC"SC"QC!Dp+qYCD͗A!Dp+q*D_C͙Aڝ)*DN#F'*[C*Dq#p!Dr+s+q*UC#~**D^#V"DYCͧA)*DDM'*[C"D*D^#V"DDMd)**D~!D**D+"D~**D^#V!*QCDM*SCi*SCDM*QCi*QCDMDi**SCDi*QCDMu)*QCN#F*QCi*QC~*SC~*QC>ͯA*SC>ͯA*QC~*SC~*QC#~*SC#~!Dq*QC##:Dw!Dq>)*UC:D**QCq#p**QC>w#6:*FO(*QCq&i!6*QCDM1́*+a&͒ +a&͗]*QCq#p*QCDM1F)*QCDM*ͯAw+*D ~j+*DD͗A>͍A*D"D*D^#V"D9+*D*QC~2DF)!"D>)*QC"D*SC"D!D6*UC~!D+*QCN#F*D8A+s#r"DF)!D4Ÿ+*D"QC*D"SC*D*D&6A*UC~<_DMW"D"D*UC*D w#6!D6*UC~!D:,*D##"D*QC*DN#Fq#pF)!D4,V)*QC*Ds#r*QC~2DF)*QC^#V"DF)*QC^#V"D*DN#F!Dq+6:D!Dک,F),*QC*D^#VN#F8A*D "D!D4x,,*DD͙Aھ,BS(*D##*D*D&6A *QCq#p*D##"D*SCDMu)*SC^#V*QCDMi*SCDMu)͛**SC^#V"D*QC͙Aʑ-*DN#Fd)H-*DN#F `i"D~=wH-*DN#Fͻ*QCN#Fd)Ҁ-*QCN#F `i"D~|-*D#DM*QCN#F `i"D*D4*SCN#F*QC\*QCUC@++s#rF)t*Ҳ-͒-õ-F)F)>)*UC^#V"UCV)C*QCDM1: -C !C͆A!Cs.C !C͆A!Cs!C: 4.*QCN#FC2!C͆A!Cs͟!C<.*QC^#V!Dp+qDD͗A^. ̈́'*D#"DC.!Dp+q*DDMͬr.*D~2D!E6:D!Eڰ.*D#"D*DN̈́'*D#"DDͧAҩ.͚(!E4~.*QC"H*SC"J!Eq: .C͜!C͆A!Cs:E.CQ.C_.͟F)! 6!E6:E<2EO>//*E&) >ͯA,/*EM/.ͤ(d' *PC&|]/ ]/*C#"CG/C :C:CHҀ/0/!C"D*C& 6 *C&C DͧAF)*D"UCͥ'&Ͱ'&*C#"C!WCͲA/DO(*C~*D#"D~:D0D͜A/*DC w:D0/:D0͹/!"D/2E /0!0:D@0!C"DW0:DQ0*D"DW0*C"D:E"g0!E6,Á0!E6":D{0*D#"D/2E!E:E+~ HҪ0*D#"D/2EÁ0:E"0/2E,:E H0ò0V)0>DͤA0*QC>w#691*DM*SC͞)"E>̓A1*D#DMW"E*E#*DDM*D\*E*Ds*QC*Es#r͛*0>!DͯAx1>!DͯA^1!"D*DDM*D *QCDMI*Î1:D‰1F)ͣ/Î1*QC6 !PCsg!1*[C[C_5(*>C"_C"UC*@C"]C+"C*BC"[C*DC"WC"?*QC#w*UC~02=*>)a@*UCN!k? ^#V*QCDM1F)*QCDM͗*QCDMI*a@*SCDM1*QCDM͒F)*QCDMI*a@*QCDM1F)*QCDM*QCDMI*a@͢@a@S*2*SCi&i*SC6A"3]*2́*2*SCq&i"3͇*2EN(*SC>w*SCDM *SCDM1*QCDM*SCDMI*SCDMz*F)a@*QC*SC@s#rF)a@*SC*QC͙A+s#rF)a@h@*SC*QC^#VN#F8A+s#rF):E҆3*QCYA#+s#ra@h@g*ҥ3ZD(*SCq#pü3*SC*QCN#F^#VA+s#rF):E3*QCYA#+s#ra@g*3*SC>w#684͍*3*SC>w#684*SC^#V" E!"E*QCE͗A84*SC^#V* E6A+s#r*E"E 4F)a@*QCN#F+q#pa@*QCYA+s#ra@*SC*QCA+s#rF)a@*SC*QCnA+s#rF)a@=*a@, *F)a@F)a@V)*a@$*a@,F)F)a@+Oͩ*a@Oͩ*a@*SC*QC^#VN#FͧOͩ*a@*QCMA+s#ra@*UC#"UCV)*UC*QCN#Fq#p*UC#"UCa@*SCDMu)*SC^#V" E*QC* EN#Fq#pF)F)a@,F)F)a@V)>)*QC*UCs#r*UCn&"UC͛*a@*QCN#Fͬ҇5͟F)ñ5*SCN#FͬҠ5$*͟F)ñ5*SC*QC^#VN#Fͺa@>)*UC#:C<2CO!aC q#p*UC^#V"UCa@*C&aC) ^#V"UC:C=2C5GR(a@{+a@J,a@͒/6ͣ/?1a@-DM_.F)a@ .DM_.: >6͟F)a@*QCN#F F)*QCN#F@F)ͱ.a@*QCN#F F)ͱ.a@͒/҄6V)ͣ/Ç6ͳ(a@*SC*QC^N͏F)F)a@!D6?1a@!D60a@-DM&F)a@ .DM: 6͟F)a@!E6:E<2EO! >ͯA66*SCN#F*E&i*QCN#F͟F)F)a@V)>)*UCN#F*QCi>)a@*]C+"Ca@*QC>wa@͒/]7ͣ/0a@*QC^#V"EDMd)/>EͤAHҏ7*EDMa@a@͚(a@: 7!E6:E<2EO!& D͗A7ç7*E&&) D͙A7͚(7*E&&) N#F=.a@͹-a@g*8͹- 8*UC##"UCF)a@ͥ-a@͒-a@*a@!D6*UC"D=/a@!D60a@!D6?1a@7a@;.ga@*QCN#FF)a@*QC>wa@*QCDM2a@͚V)*DMͭ y&K*QCDMIa@́*Ұ8*QCq#p8S*8*QC>w#68*QC>w#6a@*QCDMͪa@*QCDMa@*QCDM-a@V)**QCDM*SCDMͪ͢@a@*QCDMa@*QCD͙A>ͤAH:9LT(*QCD͗AJ9ͤ(*QCN#F=.F)a@*QCDMza@V)-+"E@DMͭ *E|҇9y&͗*QCDMIa@*PC&|9D *D&}A*D& >bA"9*C"a@S*́*H9NL(9*QCDM a@V)*QC*Ds#ra@*QCN͈*QCw#6a@*QC^#V"EDMͬ(:CA(*E#~2E͟*QC:Ew#6a@W"E*E6*QC*E# w*QC*Es#r͛*a@Ga@*QCN#FͰ2E͟*E&*QCq#pa@Ga@Ga@: 2E! 6-!Es!C5#~ ::C=2CC:C͛*:E2 a@*QCN#F*QCN#FͰ_ ͟*QCDMIa@*QC*SC^#VN#F͉ "E͟F)͟*QC*Es#ra@*QCN#F "E͟*QC*Es#ra@*QC^#V" EN*QCq#pa@Ͱ2"E͟F)͟*QC:"Ew#6a@*a@*SC~=w*QC~=HҤ;IO(F)*QC~)*QC*UC^#VN#F>)F)a@*QCC͙A2#E*QCN#F+q#p:LCN<CHC͗A/JC+͙A/H!#EN<:D2$E7̓A̓A=*(E~2*E!+E6:*E!+E=*+E&*(EN&!+E4==?& &F)a@*QC^#V"D>̓A>!"DF)a@*QCN#Fͭ *QCDMIa@*QCDMu)a@*QCDM2*QCDM1]*QCq#pa@*QCN#Fͬچ>͘}>*QCN#F͛**QCN#Fa@XI(a@ 2,E *,E& a@V)*QC*Bs#r͛*a@V) >*QCq#p>*QC>w#6a@V) *QCw#6a@.!OC6!\"8*QCN#Fͺ *WC"SC"QCd'g!!C6*>C+"UC*]C+"Ca@*SC*QC^#VN#F9 ͟F)F)a@F2g2222(3?3U333>4L4Z4p44444444444445A5M5q5556666,6D6b6t6666666&7?7I7S7c777777888"838>8I8O8Z8i8s8~888888 99Y9d99999:@:m:u::::: ;6;T;j;;;;;;T2>=>[>>>>>>?N?>)2!E6͍*҇@:E/2E*QCYA#+s#r͔*ҡ@:E/2E*SCYA#+s#rS*Ҽ@ZD(*SCq&i@*SCDM1*QCDMK*SCDMIF)*i`N#Fog_og_{ozgi`N#FogDM!>))덑o|g%A =A^#V))) DM!>))EA ==AYP뗖_>#Wi`/o/g_{ozgi`N#Fog^#V) }A_{ozgO{ozgi`N#Fogo&og_{_z#Wi`N#FogPMXList  REM THIS IS A DEMONSTRATION PROGRAM FOR REM CBASIC GRAPHICS EXTENSIONS REM REM PROGRAM NAME: DEMOGRAF REM %INCLUDE GRAPHCOM.BAS DEF PAUSE REM UTILITY TO SUSPEND PROGRAM EXECUTION UNTIL CHARACTER IS REM ENTERED AT CONSOLE, STOPPING PROGRAM IF CTRL-C IS ENTERED, REM OTHERWISE RETURNING INTEGER VALUE OF CHARACTER ENTERED. REM CHARACTER IS NOT DISPLAYED. INTEGER PAUSE,CHOICE CHOICE = INKEY IF CHOICE = 3 THEN STOP PAUSE = CHOICE FEND GRAPHIC OPEN 1 CLEAR BEEM: GRAPHIC PRINT AT (0,.9): "BEAM STATEMENT" SET BEAM "OFF" PLOT (0,1),(1,1),(1,0),(0,0) KEY% = PAUSE REM WAIT FOR CONSOLE INPUT CLEAR SET BEAM "ON" PLOT (0,1),(1,1),(1,0),(0,0) KEY% = PAUSE REM ILLUSTRATE TECHNIQUE OF SQUARING A DISPLAY BOWNDS: CLEAR GRAPHIC PRINT AT (0,.9): "BOUNDS STATEMENT" ASK DEVICE X.AXIS,Y.AXIS PRINT "THE ASPECT RATIO IS = ";Y.AXIS;"/";X.AXIS KEY% = PAUSE PLOT (0,0),(0,1),(1,1),(1,0),(0,0) KEY% = PAUSE CLEAR SET BOUNDS Y.AXIS,X.AXIS PLOT (0,0),(0,1),(1,1),(1,0),(0,0) SET BOUNDS 1,1 KEY% = PAUSE REM DEMONSTRATE CONTROL OF GRAPHIC CHARACTER HEIGHT REM AND MINIMUM HEIGHT FOR GRAPHIC CHARACTERS HIGH: CLEAR SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,.9): "CHARACTER HEIGHT STATEMENT" SET CHARACTER HEIGHT .1 GRAPHIC PRINT AT (0,.7): "10 PERCENT" KEY% = PAUSE SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 15 GRAPHIC PRINT AT (0,40): "15 PERCENT" KEY% = PAUSE SET CHARACTER HEIGHT 0 ASK CHARACTER HEIGHT CH PRINT "MINIMUM CHARACTER HEIGHT IS = "; CH GRAPHIC PRINT AT (0,20): "MINIMUM HEIGHT" REM DISPLAY SEVERAL RANDOM LINES ON SCREEN, THEN MAKE REM THEM DISAPPEAR VIA "CLEAR" STATEMENT INPUT ""; LINE SEED$ RANDOMIZE CLR: CLEAR GRAPHIC PRINT AT (0,90): "CLEAR STATEMENT" SET WINDOW 0,1,0,1 FOR I.INT% = 1 TO 10 PLOT (RND,RND),(RND,RND) NEXT I.INT% KEY% = PAUSE CLEAR REM ILLUSTRATE EFFECT OF AUTOMATIC CLIPPING WHEN FIGURE REM EXCEEDS ALLOWABLE BOUNDARIES CLP: SET WINDOW 0,100,0,100 GRAPHIC PRINT AT (0,90): "CLIP STATEMENT" PLOT (25,10),(50,150),(75,10),(25,10) KEY% = PAUSE REM DRAW BORDER IN EACH AVAILABLE COLOR (NUMBER OF REM COLORS VARIES WITH RESOLUTION) COLR: CLEAR GRAPHIC PRINT AT (0,90): \ "COLOR AND COLOR COUNT STATEMENTS" SET WINDOW 0,1,0,1 ASK COLOR COUNT CT% FOR I.INT% = 1 TO CT% SET COLOR I.INT% PLOT (0,0),(0,1),(1,1),(1,0),(0,0) KEY% = PAUSE NEXT I.INT% REM RETRIEVE AND DISPLAY SPECIFICATIONS FOR CURRENT DEVICE DEVC: CLEAR SET CHARACTER HEIGHT 0 SET COLOR 1 GRAPHIC PRINT AT (0,.8): "DEVICE STATEMENT" ASK DEVICE X.AXIS,Y.AXIS PRINT "THE VERTICAL AXIS IS "; \ Y.AXIS*100.0/X.AXIS;"PERCENT OF THE"; PRINT " HORIZONTAL AXIS" PRINT "X= ";X.AXIS;" Y= ";Y.AXIS KEY% = PAUSE REM MENTION "GRAPHIC CLOSE" STATEMENT GCLOSE: CLEAR GRAPHIC PRINT AT (0,.9): "GRAPHIC CLOSE STATEMENT" GRAPHIC PRINT AT (0,.5): "GRAPHIC CLOSE HAS NO DEMO" KEY% = PAUSE REM ILLUSTRATE GRAPHIC INPUT VIA CURSOR POSITIONING GIN: CLEAR SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,80): "GRAPHIC INPUT STATEMENT" GRAPHIC PRINT AT (0,25): "OPTION 1 ." SET COLOR 2 GRAPHIC PRINT AT (0,50): "OPTION 2 ." SET COLOR 3 GRAPHIC PRINT AT (0,75): "OPTION 3 ." GRAPHIC INPUT X.AXIS,Y.AXIS,A$ N = INT((Y.AXIS+5)/25) IF N = 0 THEN N = 1 REM NO OPTION ZERO IF N > 3 THEN N = 3 REM ONLY THREE OPTIONS PRINT "THE CURSOR WAS POSITIONED AT: "; X.AXIS,Y.AXIS PRINT "YOU SELECTED OPTION: "; N PRINT "THE TERMINATING KEY WAS: "; A$ KEY% = PAUSE REM MENTION "GRAPHIC OPEN" STATEMENT GOPEN: CLEAR SET COLOR 1 SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,90): "GRAPHIC OPEN STATEMENT" GRAPHIC PRINT AT (0,50): \ "THE GRAPHIC OPEN HAS NO DEMONSTRATION" KEY% = PAUSE REM DEMONSTRATE CENTERING AND JUSTIFICATION GPRT: CLEAR SET WINDOW 0,1,0,1 SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,.9): "GRAPHIC PRINT STATEMENT" SET JUSTIFY 0,0 GRAPHIC PRINT AT (.5,.5): "BEGINS AT CENTER" KEY% = PAUSE SET JUSTIFY .5,0 GRAPHIC PRINT AT (.5,.3): "THIS IS CENTERED" KEY% = PAUSE SET JUSTIFY .5,.5 GRAPHIC PRINT AT (.5,.3): "THIS IS CENTERED" KEY% = PAUSE SET JUSTIFY 1.0,1.0 GRAPHIC PRINT AT (.5,.5): "ENDS AT CENTER" KEY% = PAUSE JUST: CLEAR SET JUSTIFY 0,0 SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,90): "JUSTIFY STATEMENT" PLOT (20,80),(20,20),(80,20) PLOT (15,40),(20,40) PLOT (15,60),(20,60) PLOT (15,80),(20,80) PLOT (40,15),(40,20) PLOT (60,15),(60,20) PLOT (80,15),(80,20) SET JUSTIFY 1,.5 GRAPHIC PRINT AT (14,20): "20" GRAPHIC PRINT AT (14,40): "40" GRAPHIC PRINT AT (14,60): "60" GRAPHIC PRINT AT (14,80): "80" SET JUSTIFY .5,1 GRAPHIC PRINT AT (20,14): "20" GRAPHIC PRINT AT (40,14): "40" GRAPHIC PRINT AT (60,14): "60" GRAPHIC PRINT AT (80,14): "80" KEY% = PAUSE REM EXHIBIT VARIATION OF LINE STYLE STYL: CLEAR SET JUSTIFY 0,0 SET WINDOW 0,1,0,1 GRAPHIC PRINT AT (0,.9): "LINE STYLE STATEMENT" SET LINE STYLE 3 SET JUSTIFY 1,0 GRAPHIC PRINT AT (.5,.5): "Sign here" PLOT (0.5,0.5),(0.8,0.5) KEY% = PAUSE REM ILLUSTRATE VARIATION IN SIZE OF MARKERS MHIGH: CLEAR SET WINDOW 0,1,0,1 SET CHARACTER HEIGHT 0 SET LINE STYLE 1 SET JUSTIFY 0,0 GRAPHIC PRINT AT (0,.9): "MARKER HEIGHT STATEMENT" DIM MX(5) DIM MY(5) MX(0) = .3 : MY(0) = .7 MX(1) = .7 : MY(1) = .7 SET MARKER HEIGHT .1 MAT MARKER 1: MX,MY SET WINDOW 0,100,0,100 MX(0) = 30 : MY(0) = 50 MX(1) = 70 : MY(1) = 50 SET MARKER HEIGHT 15 MAT MARKER 1: MX,MY SET MARKER HEIGHT 0 ASK MARKER HEIGHT MK PRINT "MINIMUM MARKER HEIGHT IS = "; MK KEY% = PAUSE REM DEMONSTRATE ALL MARKER SHAPES MTYPE: CLEAR SET WINDOW 0,1,0,1 SET MARKER HEIGHT 0 GRAPHIC PRINT AT (0,.9): "MARKER TYPE STATEMENT" MX(0) = .5 : MY(0) = .7 FOR I.INT% = 1 TO 5 SET MARKER TYPE I.INT% MAT MARKER 0: MX,MY MY(0) = MY(0) - .1 NEXT I.INT% KEY% = PAUSE REM DEMONSTRATE FILLED POLYGON MFILL: CLEAR SET LINE STYLE 1 SET JUSTIFY 0,0 GRAPHIC PRINT AT (0,.9): "MAT FILL STATEMENT" SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 SET COLOR 1 DIM X.ARRAY(10) DIM Y.ARRAY(10) X.ARRAY(0) = 40 : Y.ARRAY(0) = 10 X.ARRAY(1) = 35 : Y.ARRAY(1) = 25 X.ARRAY(2) = 50 : Y.ARRAY(2) = 40 X.ARRAY(3) = 65 : Y.ARRAY(3) = 25 X.ARRAY(4) = 60 : Y.ARRAY(4) = 10 MAT FILL 4: X.ARRAY,Y.ARRAY KEY% = PAUSE REM ILLUSTRATE POSITIONING OF MARKERS VIA AN ARRAY MMARK: CLEAR SET WINDOW 0,100,0,100 GRAPHIC PRINT AT (0,90): "MAT MARKER STATEMENT" SET MARKER HEIGHT 0 SET MARKER TYPE 1 SET COLOR 1 MAT MARKER 4: X.ARRAY,Y.ARRAY KEY% = PAUSE REM DEMONSTRATE DRAWING POLYGON OUTLINE VIA AN ARRAY MPLOT: CLEAR GRAPHIC PRINT AT (0,90): "MAT PLOT STATEMENT" SET COLOR 1 SET WINDOW 0,1,0,1 SET CHARACTER HEIGHT 0 FOR I.INT% = 0 TO 4 X.ARRAY(I.INT%) = .01 * X.ARRAY(I.INT%) Y.ARRAY(I.INT%) = .01 * Y.ARRAY(I.INT%) NEXT I.INT% X.ARRAY(5) = .40 : Y.ARRAY(5) = .10 SET BEAM "OFF" MAT PLOT 4: X.ARRAY,Y.ARRAY KEY% = PAUSE CLEAR MAT PLOT 5: X.ARRAY,Y.ARRAY KEY% = PAUSE REM DO POLYGON VIA "PLOT" STATEMENTS PLT: CLEAR SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 SET COLOR 1 GRAPHIC PRINT AT (0,90): "PLOT STATEMENT" PLOT (40,10),(35,25); SET COLOR 2 PLOT (35,25),(50,40); SET LINE STYLE 2 PLOT (50,40),(65,25); SET LINE STYLE 1 SET COLOR 3 PLOT (65,25),(60,10),(40,10) KEY% = PAUSE REM EXERCISE ARBITRARY POSITIONING OF GRAPHIC BEAM POSIT: CLEAR GRAPHIC PRINT AT (0,90): "POSITION STATEMENT" SET BEAM "OFF" SET POSITION 50,50 SET POSITION 50,100 SET BEAM "ON" SET POSITION 0,0 SET POSITION 50,50 KEY% = PAUSE REM SHOW ALL LINE STYLES STCNT: CLEAR GRAPHIC PRINT AT (0,90): "STYLE COUNT STATEMENT" SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 ASK STYLE COUNT ST% PRINT "THE NUMBER OF LINE STYLES IS: "; ST% FOR I.INT% = 1 TO ST% SET LINE STYLE I.INT% SET BEAM "OFF" PLOT (10*I.INT%,10),(10*I.INT%,90) NEXT I.INT% KEY% = PAUSE SET LINE STYLE 1 REM DEMONSTRATE ROTATION OF TEXT ANGEL: CLEAR GRAPHIC PRINT AT (0,90): "TEXT ANGLE STATEMENT" SET WINDOW 0,1,0,1 SET CHARACTER HEIGHT 0 PI = 3.1415926 RAD = PI*2 DEG = RAD/360 FOR I.INT% = 90 TO 360 STEP 90 SET TEXT ANGLE I.INT%*DEG GRAPHIC PRINT AT (.5,.5): "ROTATE ME" NEXT I.INT% KEY% = PAUSE SET TEXT ANGLE 0 REM ILLUSTRATE EFFECT OF VARYING VIEWPORT VYOU: CLEAR GRAPHIC PRINT AT (0,.9): "VIEWPORT STATEMENT" X.ARRAY(0) = 0 : Y.ARRAY(0) = 0 X.ARRAY(1) = 0 : Y.ARRAY(1) = 100 X.ARRAY(2) = 100 : Y.ARRAY(2) = 100 X.ARRAY(3) = 100 : Y.ARRAY(3) = 0 X.ARRAY(4) = 0 : Y.ARRAY(4) = 0 SET VIEWPORT 0,1,0,1 SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 MAT PLOT 4: X.ARRAY,Y.ARRAY SET VIEWPORT .1,.9,.1,.9 MAT PLOT 4: X.ARRAY,Y.ARRAY SET VIEWPORT .2,.8,.2,.8 MAT PLOT 4: X.ARRAY,Y.ARRAY SET VIEWPORT .3,.5,.3,.5 MAT PLOT 4: X.ARRAY,Y.ARRAY SET VIEWPORT .5,.7,.5,.7 MAT PLOT 4: X.ARRAY,Y.ARRAY KEY% = PAUSE REM ILLUSTRATE EFFECT OF VARYING WINDOW WINDW: CLEAR SET VIEWPORT 0,1,0,1 SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 GRAPHIC PRINT AT (0,90): "WINDOW STATEMENT" PLOT (0,0),(60,60),(60,0),(0,0) SET WINDOW 0,200,0,200 SET CHARACTER HEIGHT 0 PLOT (0,0),(60,60),(60,0),(0,0) SET VIEWPORT 0,.5,.5,1.0 PLOT (0,0),(60,60),(60,0),(0,0) KEY% = PAUSE REM FINISH DEMONSTRATION AND END PROGRAM FIN: CLEAR SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 SET VIEWPORT 0,1,0,1 SET COLOR 1 FOR I.INT% = 1 TO CT% SET COLOR I.INT% MAT PLOT 5: X.ARRAY,Y.ARRAY SET VIEWPORT .01*I.INT%,1-(I.INT%*.01), \ .01*I.INT%,1-(I.INT%*.01) NEXT I.INT% SET JUSTIFY .5,.5 SET COLOR 1 SET VIEWPORT 0,1,0,1 GRAPHIC PRINT AT (50,50): "THANKS FOR THE VIEWING" KEY% = PAUSE STOP END  DEMONSTRATION AND END PROGRAM FIN: CLEAR SET WINDOW 0,100,0,100 SET CHARACTER HEIGHT 0 SET VIEWPORT 0,1,0,1 SET COLOR 1 FOR I.INT% = 1 TO CT% SET COLOR I.INT% MAT PLOT 5: X.ARRAY,Y.ARRAY SET VIEWPORT .01*I.INT%,1-(I.INT%*.01), \ .01*I.INT%,1-(I.INT%*.01) NEXT I.INT% SET JUSTIFY .5,.5 SET COLOR 1 SET VIEWPORT 0,1,0,1 GRAPHIC PRINT 5 PRINT TAB(16);"**************************" 10 PRINT TAB(26);"ELIZA" 20 PRINT TAB(20);"CREATIVE COMPUTING" 30 PRINT TAB(18);"MORRISTOWN, NEW JERSEY":PRINT 40 PRINT TAB(19);"ADAPTED FOR IBM PC BY" 50 PRINT TAB(20);"PATRICIA DANIELSON AND PAUL HASHFIELD" 52 PRINT TAB(21);"BE SURE THAT THE CAPS LOCK IS ON" 53 PRINT:PRINT TAB(16);"PLEASE DON'T USE COMMAS OR PERIODS IN YOUR INPUTS":PRINT 55 PRINT TAB(16);"*************************" 60 PRINT :PRINT :PRINT 80 REM*****INITIALIZATION********** 100 DIM S(36),R(36),N(36) 105 DIM KEYWORD$(36),WORDIN$(7),WORDOUT$(7),REPLIES$(112) 110 N1=36:N2=14:N3=112 112 FOR X = 1 TO N1: READ KEYWORD$(X): NEXT X 114 FOR X = 1 TO N2/2: READ WORDIN$(X):READ WORDOUT$(X): NEXT X 116 FOR X = 1 TO N3: READ REPLIES$(X): NEXT X 130 FOR X=1 TO N1 140 READ S(X),L:R(X)=S(X):N(X)=S(X)+L-1 150 NEXT X 160 PRINT "HI! I'M ELIZA. WHAT'S YOUR PROBLEM?" 170 REM *********************************** 180 REM *******USER INPUT SECTION********** 190 REM *********************************** 200 INPUT I$ 201 I$=" "+I$+" " 210 REM GET RID OF APOSTROPHES 220 FOR L=1 TO LEN(I$) 230 REM IF MID$(I$,L,1)="'" THEN I$=LEFT$(I$,L-1)+RIGHT$(I$,LEN(I$)-L):GOTO 230 240 IF L+4>LEN(I$) THEN 250 241 IF MID$(I$,L,4) <> "SHUT" THEN 250 242 PRINT "O.K. IF YOU FEEL THAT WAY I'LL SHUT UP...." 243 END 250 NEXT L 255 IF I$=P$ THEN PRINT "PLEASE DON'T REPEAT YOURSELF!":GOTO 170 260 REM *********************************** 270 REM ********FIND KEYWORD IN I$********* 280 REM *********************************** 300 FOR K=1 TO N1 320 FOR L=1 TO LEN(I$)-LEN(KEYWORD$(K))+1 340 IF MID$(I$,L,LEN(KEYWORD$(K)))<>KEYWORD$(K) THEN 350 341 IF K <> 13 THEN 349 342 IF MID$(I$,L,LEN(KEYWORD$(29)))=KEYWORD$(29) THEN K = 29 349 F$ = KEYWORD$(K): GOTO 390 350 NEXT L 360 NEXT K 370 K=36: GOTO 570:REM WE DIDN'T FIND ANY KEYWORDS 380 REM ****************************************** 390 REM **TAKE PART OF STRING AND CONJUGATE IT**** 400 REM **USING THE LIST OF STRINGS TO BE SWAPPED* 410 REM ****************************************** 430 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)+" " 440 FOR X=1 TO N2/2 460 FOR L=1 TO LEN(C$) 470 IF L+LEN(WORDIN$(X))>LEN(C$) THEN 510 480 IF MID$(C$,L,LEN(WORDIN$(X)))<>WORDIN$(X) THEN 510 490 C$=LEFT$(C$,L-1)+WORDOUT$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDIN$(X))+1) 495 L = L+LEN(WORDOUT$(X)) 500 GOTO 540 510 IF L+LEN(WORDOUT$(X))>LEN(C$)THEN 540 520 IF MID$(C$,L,LEN(WORDOUT$(X)))<>WORDOUT$(X) THEN 540 530 C$=LEFT$(C$,L-1)+WORDIN$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDOUT$(X))+1) 535 L=L+LEN(WORDIN$(X)) 540 NEXT L 550 NEXT X 555 IF MID$(C$,2,1)=" "THEN C$=RIGHT$(C$,LEN(C$)-1):REM ONLY 1 SPACE 556 FOR L=1 TO LEN(C$) 557 IF MID$(C$,L,1)="!" THEN C$=LEFT$(C$,L-1)+RIGHT$(C$,LEN(C$)-L):GOTO 557 558 NEXT L 560 REM ********************************************** 570 REM **NOW USING THE KEYWORD NUMBER (K) GET REPLY** 580 REM ********************************************** 600 F$ = REPLIES$(R(K)) 610 R(K)=R(K)+1:IF R(K)>N(K) THEN R(K)=S(K) 620 IF RIGHT$(F$,1)<>"*" THEN PRINT F$:P$=I$:GOTO 170 625 IF C$<>" " THEN 630 626 PRINT "YOU WILL HAVE TO ELABORATE MORE FOR ME TO HELP YOU" 627 GOTO 170 630 PRINT LEFT$(F$,LEN(F$)-1);C$ 640 P$=I$:GOTO 170 1000 REM ******************************* 1010 REM *****PROGRAM DATA FOLLOWS****** 1020 REM ******************************* 1030 REM *********KEYWORDS************** 1049 REM ******************************* 1050 DATA "CAN YOU ","CAN I ","YOU ARE ","YOU'RE ","I DON'T ","I FEEL " 1060 DATA "WHY DON'T YOU ","WHY CAN'T I ","ARE YOU ","I CAN'T ","I AM ","I'M " 1070 DATA "YOU ","I WANT ","WHAT ","HOW ","WHO ","WHERE ","WHEN ","WHY " 1080 DATA "NAME ","CAUSE ","SORRY ","DREAM ","HELLO ","HI ","MAYBE " 1090 DATA "NO","YOUR ","ALWAYS ","THINK ","ALIKE ","YES ","FRIEND " 1100 DATA "COMPUTER", "NOKEYFOUND" 1200 REM ********************************* 1210 REM ***STRING DATA FOR CONJUGATIONS** 1220 REM ********************************* 1230 DATA " ARE "," AM "," WERE "," WAS "," YOU "," I "," YOUR"," MY " 1235 DATA " I'VE "," YOU'VE "," I'M "," YOU'RE " 1240 DATA " ME "," YOU " 1300 REM ****************************** 1310 REM *********REPLIES************** 1320 REM ****************************** 1330 DATA "DON'T YOU BELIEVE THAT I CAN*" 1340 DATA "PERHAPS YOU WOULD LIKE TO BE LIKE ME*" 1350 DATA "YOU WANT ME TO BE ABLE TO*" 1360 DATA "PERHAPS YOU DON'T WANT TO*" 1365 DATA "DO YOU WANT TO BE ABLE TO*" 1370 DATA "WHAT MAKES YOU THINK I AM*" 1380 DATA "DOES IT PLEASE YOU TO BELIEVE I AM*" 1390 DATA "PERHAPS YOU WOULD LIKE TO BE*" 1400 DATA "DO YOU SOMETIMES WISH YOU WERE*" 1410 DATA "DON'T YOU REALLY*" 1420 DATA "WHY DON'T YOU*" 1430 DATA "DO YOU WISH TO BE ABLE TO*" 1440 DATA "DOES THAT TROUBLE YOU*" 1450 DATA "DO YOU OFTEN FEEL*" 1460 DATA "DO YOU OFTEN FEEL*" 1470 DATA "DO YOU ENJOY FEELING*" 1480 DATA "DO YOU REALLY BELIEVE I DON'T*" 1490 DATA "PERHAPS IN GOOD TIME I WILL*" 1500 DATA "DO YOU WANT ME TO*" 1510 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*" 1520 DATA "WHY CAN'T YOU*" 1530 DATA "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*" 1540 DATA "WOULD YOU PREFER IF I WERE NOT*" 1550 DATA "PERHAPS IN YOUR FANTASIES I AM*" 1560 DATA "HOW DO YOU KNOW YOU CAN'T*" 1570 DATA "HAVE YOU TRIED?" 1580 DATA "PERHAPS YOU CAN NOW*" 1590 DATA "DID YOU COME TO ME BECAUSE YOU ARE*" 1600 DATA "HOW LONG HAVE YOU BEEN*" 1610 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*" 1620 DATA "DO YOU ENJOY BEING*" 1630 DATA "WE WERE DISCUSSING YOU--NOT ME." 1640 DATA "OH, I*" 1650 DATA "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?" 1660 DATA "WHAT WOULD IT MEAN TO YOU IF YOU GOT*" 1670 DATA "WHY DO YOU WANT*" 1680 DATA "SUPPOSE YOU SOON GOT*" 1690 DATA "WHAT IF YOU NEVER GOT*" 1700 DATA "I SOMETIMES ALSO WANT*" 1710 DATA "WHY DO YOU ASK?" 1720 DATA "DOES THAT QUESTION INTEREST YOU?" 1730 DATA "WHAT ANSWER WOULD PLEASE YOU THE MOST?" 1740 DATA "WHAT DO YOU THINK?" 1750 DATA "ARE SUCH QUESTIONS ON YOUR MIND OFTEN?" 1760 DATA "WHAT IS IT THAT YOU REALLY WANT TO KNOW?" 1770 DATA "HAVE YOU ASKED ANYONE ELSE?" 1780 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?" 1790 DATA "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?" 1800 DATA "NAMES DON'T INTEREST ME." 1810 DATA "I DON'T CARE ABOUT NAMES --PLEASE GO ON." 1820 DATA "IS THAT THE REAL REASON?" 1830 DATA "DON'T ANY OTHER REASONS COME TO MIND?" 1840 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?" 1850 DATA "WHAT OTHER REASONS MIGHT THERE BE?" 1860 DATA "PLEASE DON'T APOLOGIZE!" 1870 DATA "APOLOGIES ARE NOT NECESSARY." 1880 DATA "WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?" 1890 DATA "DON'T BE SO DEFENSIVE!" 1900 DATA "WHAT DOES THAT DREAM SUGGEST TO YOU?" 1910 DATA "DO YOU DREAM OFTEN?" 1920 DATA "WHAT PERSONS APPEAR IN YOUR DREAMS?" 1930 DATA "ARE YOU DISTURBED BY YOUR DREAMS?" 1940 DATA "HOW DO YOU DO ...PLEASE STATE YOUR PROBLEM." 1950 DATA "YOU DON'T SEEM QUITE CERTAIN." 1960 DATA "WHY THE UNCERTAIN TONE?" 1970 DATA "CAN'T YOU BE MORE POSITIVE?" 1980 DATA "YOU AREN'T SURE?" 1990 DATA "DON'T YOU KNOW?" 2000 DATA "ARE YOU SAYING NO JUST TO BE NEGATIVE?" 2010 DATA "YOU ARE BEING A BIT NEGATIVE." 2020 DATA "WHY NOT?" 2030 DATA "ARE YOU SURE?" 2040 DATA "WHY NO?" 2050 DATA "WHY ARE YOU CONCERNED ABOUT MY*" 2060 DATA "WHAT ABOUT YOUR OWN*" 2070 DATA "CAN YOU THINK OF A SPECIFIC EXAMPLE?" 2080 DATA "WHEN?" 2090 DATA "WHAT ARE YOU THINKING OF?" 2100 DATA "REALLY, ALWAYS?" 2110 DATA "DO YOU REALLY THINK SO?" 2120 DATA "BUT YOU ARE NOT SURE YOU*" 2130 DATA "DO YOU DOUBT YOU*" 2140 DATA "IN WHAT WAY?" 2150 DATA "WHAT RESEMBLANCE DO YOU SEE?" 2160 DATA "WHAT DOES THE SIMILARITY SUGGEST TO YOU?" 2170 DATA "WHAT OTHER CONNECTIONS DO YOU SEE?" 2180 DATA "COULD THERE REALLY BE SOME CONNECTION?" 2190 DATA "HOW?" 2200 DATA "YOU SEEM QUITE POSITIVE." 2210 DATA "ARE YOU SURE?" 2220 DATA "I SEE." 2230 DATA "I UNDERSTAND." 2240 DATA "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?" 2250 DATA "DO YOUR FRIENDS WORRY YOU?" 2260 DATA "DO YOUR FRIENDS PICK ON YOU?" 2270 DATA "ARE YOU SURE YOU HAVE ANY FRIENDS?" 2280 DATA "DO YOU IMPOSE ON YOUR FRIENDS?" 2290 DATA "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU." 2300 DATA "DO COMPUTERS WORRY YOU?" 2310 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?" 2320 DATA "ARE YOU FRIGHTENED BY MACHINES?" 2330 DATA "WHY DO YOU MENTION COMPUTERS?" 2340 DATA "WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?" 2350 DATA "DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?" 2360 DATA "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?" 2370 DATA "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?" 2380 DATA "WHAT DOES THAT SUGGEST TO YOU?" 2390 DATA "I SEE." 2400 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY." 2410 DATA "COME COME ELUCIDATE YOUR THOUGHTS." 2420 DATA "CAN YOU ELABORATE ON THAT?" 2430 DATA "THAT IS QUITE INTERESTING." 2500 REM ************************* 2510 REM *****DATA FOR FINDING RIGHT REPLIES 2520 REM ************************* 2530 DATA 1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3 2540 DATA 28,4,28,4,32,3,35,5,40,9,40,9,40,9,40,9,40,9,40,9 2550 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,76,4 2560 DATA 80,3,83,7,90,3,93,6,99,7,106,6 COMMON ?VIEW(2),?WIND(2),?P(2),?P1(2),?KAPU(2) COMMON ?PTSI%(1),?PTSO%(1),?CONT%(1),?INTI%(1),?INTO%(1) COMMON ?VWTX(2),?RVIW(2),?VX(1),?XN,?YN,?XW,?YW REM THIS IS A DEMONSTRATION PROGRAM FOR DRAWING REM PIE AND BAR CHARTS. REM REM PROGRAM NAME: GRAPHR.BAS REM %INCLUDE GRAPHCOM.BAS GRAPHIC OPEN 1 CLEAR REM If the device supports color fill, MAT FILL REM statements are used. Otherwise, MAT PLOT REM is used to draw figures. IN.FL: INPUT "DOES THIS DEVICE SUPPORT COLOR FILL? Y/N: ";FILL.FLG$ IF FILL.FLG$ = "Y" OR FILL.FLG$ = "N" THEN GOTO OK.FL PRINT "ENTER Y OR N, PLEASE" GOTO IN.FL OK.FL: PRINT "THANK-YOU" REM Initialize the arrays used for drawing the REM slices in the pie chart. Two 100 element arrays REM are constructed for drawing a full circle. Each REM point in the arrays then represents one percent. PRINT "CALCULATING OCCURRING --- PLEASE WAIT" DIM X.ARRAY(100) DIM Y.ARRAY(100) DIM A.ARRAY(72) DIM B.ARRAY(72) A.ARRAY(0) = .5 B.ARRAY(0) = .5 L.CIR = 0 FOR I.ANGLE = 0 TO 6.28-.0628 STEP .0628 X.ARRAY(L.CIR) = .5 + (.5 * COS(I.ANGLE)) Y.ARRAY(L.CIR) = .5 + (.5 * SIN(I.ANGLE)) L.CIR = L.CIR + 1 NEXT I.ANGLE REM Close the circle X.ARRAY(L.CIR) = X.ARRAY(0) Y.ARRAY(L.CIR) = Y.ARRAY(0) GOTO START.IT REM This function draws a slice beginning at the REM point represented by BEG.PER and extending REM through PER.CENT points. The color is set to REM COL.OR and the ASCII.ID prints as an identifier REM for the slice. REM The function extracts the points from X.ARRAY REM and Y.ARRAY and places them in A.ARRAY and REM B.ARRAY. MAT FILL and MAT PLOT always begin REM drawing at the first elements of the arrays, so REM the slice must be extracted from the arrays. REM The function makes provision for slices that REM exceed 71 points. MAT FILL and MAT PLOT allow REM a maximum element number of 72. DEF DRAW.SLICE (BEG.PER,PER.CENT,COL.OR,ASCII.ID) REAL BEG.PER,PER.CENT,COL.OR STRING ASCII.ID L.CIR = 1 SET COLOR COL.OR OVR.FLOW = 0 REM Setup for slices greater than 71 percent. IF PER.CENT > 71 THEN SAVE.PER = 71:OVR.FLOW = 1\ ELSE SAVE.PER = PER.CENT REM Extract points from circle array. BAK.UP: FOR CNT.ER = BEG.PER TO BEG.PER + SAVE.PER IN.DEX = CNT.ER IF CNT.ER > 100 THEN IN.DEX = CNT.ER - 100 A.ARRAY(L.CIR) = X.ARRAY(IN.DEX) B.ARRAY(L.CIR) = Y.ARRAY(IN.DEX) L.CIR = L.CIR + 1 NEXT CNT.ER REM OVER.FLOW is 1 for a more than 71 percent slice. IF OVR.FLOW <> 1 THEN GOTO OVER.A REM FILL.FLG$ is "N" for non-color-fill devices. IF FILL.FLG$ = "N" THEN MAT PLOT L.CIR-1: A.ARRAY,B.ARRAY\ ELSE MAT FILL L.CIR-1: A.ARRAY,B.ARRAY OVR.FLOW = 0 BEG.PER = BEG.PER + 71 SAVE.PER = PER.CENT - 71 IF FILL.FLG$ = "N" THEN L.CIR = 0 ELSE L.CIR = 1 GOTO BAK.UP OVER.A: A.ARRAY(0) = .5 B.ARRAY(0) = .5 REM The slice must be closed for MAT PLOT. MAT FILL REM closes automatically. IF FILL.FLG$ = "N" THEN\ A.ARRAY(L.CIR) = .5: \ B.ARRAY(L.CIR) = .5: \ MAT PLOT L.CIR: A.ARRAY,B.ARRAY \ ELSE \ MAT FILL L.CIR-1: A.ARRAY,B.ARRAY REM Expand the viewport for printing the slice ID. REM The minimum character height is used to adjust REM the window so the slice ID will appear outside REM the slice perimeter. SET VIEWPORT 1.0-Y.AXIS,1,0,1 ADJ.IT = MIN.HGT/1.45 SET WINDOW -ADJ.IT,1+ADJ.IT,-ADJ.IT,1+ADJ.IT REM MID.PT is the center elements in the slice. This REM is the position where the ID is printed. MID.PT = INT(BEG.PER+(PER.CENT/2)) X.AXIS = X.ARRAY(MID.PT) Y.AXIS = Y.ARRAY(MID.PT) GRAPHIC PRINT AT (X.AXIS,Y.AXIS): ASCII.ID SET WINDOW 0,1,0,1 RETURN FEND REM The first portion of the program allows entry REM of up to 9 slices. Enter the item number (1-9) REM and press the return key. Then type the slice REM description (up to 6 characters), the dollar REM value of the slice, and the color code for REM the slice. REM The following entries are a good sample: REM 1 REM RENT,550,1 REM 2 REM FOOD,450,2 REM 3 REM CAR,225,3 REM 4 REM OTHER,750,4 REM This sets up a graph of four items--rent of REM $550 in color 1, food for $450 in color 2, etc. REM Terminate the input by typing 0 in response REM to the ITEM NUMBER(0 TO FINISH): prompt. REM After the 0 entry, the program calculates the REM percentages and prints a listing of the entries. REM Corrections may be made by entering the REM item number to be corrected and inputting REM the correct data. START.IT: PRINT DIM ITM.DESC$(9) DIM ITM.VALUE(9) DIM ITM.COLOR(9) DIM ITM.PERC(9) GO.A: PRINT "ENTER AN ITEM NUMBER FROM 1 TO 9 TO ADD OR CHANGE" PRINT PRINT "THEN ENTER--DESCRIPTION,AMOUNT,COLOR,RETURN" PRINT PRINT " DESCRIPTION IS THE SLICE DESCRIPTION" PRINT " AMOUNT IS THE QUANTITY/AMOUNT OF THE SLICE" PRINT " COLOR IS THE COLOR NUMBER TO USE FOR THE SLICE" PRINT " RETURN MEANS TO PRESS THE RETURN KEY" PRINT PRINT "THE FIELDS ARE SEPARATED BY COMMAS" PRINT IN.IT: INPUT "ITEM NUMBER(0 TO FINISH): "; ITM.NUMBER% IF ITM.NUMBER% = 0 THEN GOTO PRT.EM IF ITM.NUMBER% > 0 AND ITM.NUMBER% < 10 THEN GOTO OKAY.IN PRINT "THE ITEM NUMBER MUST BE FROM 1 TO 9" GOTO IN.IT OKAY.IN: IF ITM.VALUE(ITM.NUMBER%) = 0 THEN GOTO NEW.IN PRINT ITM.DESC$(ITM.NUMBER%),ITM.VALUE(ITM.NUMBER%), PRINT ITM.COLOR(ITM.NUMBER%) NEW.IN: INPUT "DESC,AMOUNT,COLOR: ";DESC.IN$,VAL.IN,CLR.IN% ITM.DESC$(ITM.NUMBER%) = DESC.IN$ ITM.VALUE(ITM.NUMBER%) = VAL.IN ITM.COLOR(ITM.NUMBER%) = CLR.IN% PRINT GOTO IN.IT PRT.EM: TOT.VAL = 0 REM Calculate the total for percentages. FOR CNT.R = 1 TO 9 TOT.VAL = TOT.VAL + ITM.VALUE(CNT.R) NEXT CNT.R PRINT REM Print the item list with percentages. FOR CNT.R = 1 TO 9 IF ITM.VALUE(CNT.R) <> 0 THEN\ ITM.PERC(CNT.R) = ITM.VALUE(CNT.R)/TOT.VAL:\ ITM.PERC(CNT.R) = INT((100*ITM.PERC(CNT.R))+.5):\ PRINT CNT.R;"-";ITM.DESC$(CNT.R),ITM.VALUE(CNT.R),:\ PRINT ITM.COLOR(CNT.R);" ";ITM.PERC(CNT.R);"%" NEXT CNT.R PRINT:PRINT "TOTAL VALUE: ";TOT.VAL PRINT:INPUT "DRAW THE GRAPH? ";Y.N$ IF Y.N$ <> "Y" THEN GOTO IN.IT CLEAR BEG.PER = 0 REM THE MINIMUM CHARACTER HEIGHT FOR THE DEVICE REM IS USED TO ESTABLISH A BORDER AROUND THE CIRCLE REM WHERE THE SLICE ID (THE ITEM NUMBER) CAN BE REM PRINTED. SET CHARACTER HEIGHT 0 ASK CHARACTER HEIGHT MIN.HGT MIN.HGT = 2 * MIN.HGT FOR CNT.R = 1 TO 9 IF ITM.VALUE(CNT.R) = 0 THEN GOTO NXT.CNT REM Determine the aspect ratio and square the device. REM A border is left around the viewport for the REM slice ID. The viewport is set to the right REM of the device. ASK DEVICE X.AXIS,Y.AXIS SET VIEWPORT 1-Y.AXIS+MIN.HGT,1-MIN.HGT,MIN.HGT,1-MIN.HGT DESC.IN$ = ITM.DESC$(CNT.R) VAL.IN = ITM.VALUE(CNT.R) CLR.IN% = ITM.COLOR(CNT.R) PER.CENT = ITM.PERC(CNT.R) CALL DRAW.SLICE (BEG.PER,PER.CENT,CLR.IN%,STR$(CNT.R)) BEG.PER = BEG.PER + PER.CENT SET VIEWPORT 0,1,0,1 S.1$ = DESC.IN$+" "+STR$(PER.CENT)+"%" GRAPHIC PRINT AT (0,1-(CNT.R/10)):S.1$ NXT.CNT: NEXT CNT.R REM Is the graph filled? The percentage calculation REM can be less than 100 percent due to roundoff. IF BEG.PER >= 100 THEN GOTO BAR.A PER.CENT = 100 - BEG.PER DESC.IN$ = " " ASK DEVICE X.AXIS,Y.AXIS SET VIEWPORT 1-Y.AXIS+MIN.HGT,1-MIN.HGT,MIN.HGT,1-MIN.HGT CALL DRAW.SLICE (BEG.PER,PER.CENT,CLR.IN%,DESC.IN$) REM This routine draws a simple bar chart of the REM data. The window range is set to 1/3 greater REM than the largest item in the array. This REM technique makes the largest bar draw across REM 75% of the viewport. BAR.A: KEY%=CONCHAR% DIM BAR.X(4) DIM BAR.Y(4) SET VIEWPORT 0,1,0,1 SET WINDOW 0,1,0,1 SET CHARACTER HEIGHT 0 ASK CHARACTER HEIGHT MIN.HGT CLEAR SET JUSTIFY .5,0 SET COLOR 1 GRAPHIC PRINT AT (.5,.99-MIN.HGT):"BAR CHART" SET JUSTIFY 0,0 MAX.VAL = 0 REM Determine the maximum percentage. FOR CNT.R = 1 TO 9 IF MAX.VAL < ITM.PERC(CNT.R) THEN\ MAX.VAL = ITM.PERC(CNT.R) NEXT CNT.R MAX.VAL = 1.33 * MAX.VAL REM Scale the window. The X axis is 1/3 larger REM than the largest item to be graphed. REM The Y axis is scaled to 10 lines. SET WINDOW 0,MAX.VAL,0,10 SET CHARACTER HEIGHT 0 ASK CHARACTER HEIGHT MIN.HGT REM Draw the items. FOR CNT.R = 1 TO 9 IF ITM.VALUE(CNT.R) = 0 THEN GOTO NXT.A SET COLOR ITM.COLOR(CNT.R) P.LINE = 10 - CNT.R S.1$ = ITM.DESC$(CNT.R)+"-"+STR$(ITM.PERC(CNT.R))+"%" IF ITM.VALUE(CNT.R) <> ITM.PERC(CNT.R) THEN\ S.1$ = S.1$+" $"+STR$(ITM.VALUE(CNT.R)) GRAPHIC PRINT AT (0,P.LINE): S.1$ REM Setup the BAR.X and BAR.Y arrays to draw the REM bar. MAX.VAL is the percentage for the item. REM The window scaling automatically scales the REM bar. No special calculations are required. MAX.VAL = ITM.PERC(CNT.R) TOP = P.LINE - .1 BOT = TOP - .4 BAR.Y(0) = BOT BAR.Y(1) = TOP BAR.X(2) = MAX.VAL BAR.Y(2) = TOP BAR.X(3) = MAX.VAL BAR.Y(3) = BOT BAR.Y(4) = BOT IF FILL.FLG$ = "N" THEN MAT PLOT 4: BAR.X,BAR.Y\ ELSE MAT FILL 3: BAR.X,BAR.Y NXT.A: NEXT CNT.R KEY% = CONCHAR% STOP END 100 REM GSXPREP.BAS 110 REM 120 REM 130 REM 140 GSX%=&H30 150 POKE GSX%+0, 160 POKE GSX%+1,&H59 170 POKE GSX%+2,&HE 180 POKE GSX%+3,115 190 POKE GSX%+4,&HC3 200 POKE GSX%+5,&H5 210 POKE GSX%+6,&H0 220 NEW SX%+1,&H59 170 POKE GSX%+2,&HE 180 100 PRINT "YOU ARE THE RULER OF THE ANCIENT KINGDOM OF SUMERIA." 101 PRINT "YOUR PEOPLE CALL YOU 'HAMURABI THE WISE'. YOUR TASK IS" 102 PRINT "TO DEVELOP A STABLE ECONOMY BY THE WISE MANAGEMENT OF" 103 PRINT "YOUR RESOURCES. YOU WILL BE BESET FROM TIME TO TIME" 104 PRINT "BY NATURAL EVENTS. THE ONLY HELP I CAN GIVE YOU IS THE " 105 PRINT "FACT THAT IT TAKES 2 BUSHELS OF GRAIN AS SEED TO PLANT" 106 PRINT "AN ACRE. MAY YOU JUDGE WELL, ALKNOWING HAMURABI." 107 PRINT "***********HAMURABI IS HERE***********" 110 P=95 111 S=2800 112 H=3000 113 E=H-S 114 Y=3 115 A=H/Y 116 I=5 117 Q=1 210 D=0 215 PRINT 217 PRINT "LAST YEAR ";D;" PEOPLE STARVED, ";I;" CAME TO THE CITY" 218 P=P+I 227 IF Q>0 THEN 230 228 P=INT(P/2) 229 PRINT "HALF DIED OF THE PLAGUE" 230 PRINT "POPULATION IS NOW ";P 232 PRINT "CITY OWNS ";A;" ACRES, ";Y;" BUSHELS HARVESTED PER ACRE" 250 PRINT "RATS DESTROYED ";E;" BUSHELS, ";S;" BUSHELS IN STORE" 260 PRINT :PRINT "DO YOU WISH TO ABDICATE"; 270 INPUT B$:PRINT 280 IF B$="NO" THEN 310 :IF B$<>"YES" THEN 260 290 STOP 310 C=INT(10*RND(0)) 311 Y=C+17 312 PRINT "LAND COSTS ";Y;" BUSHELS PER ACRE" 320 PRINT "BUY"; 321 INPUT Q 322 IF Y*Q=10*P THEN 452 510 S=S-INT(D/2) 511 GOSUB 800 512 Y=C 513 H=D*Y 520 E=0 521 GOSUB 800 522 IF INT(C/2)<>C/2 THEN 530 523 E=INT(S/C) 530 S=S-E+H 531 GOSUB 800 532 I=INT(C*(20*A+S)/P/100+1) 540 C=INT(Q/20) 541 Q=INT(10*(2*RND(0)-1)) 550 IF P=10*P THEN 452 510 S=S-INT(D/2) 511 GOSUB 800 512 Y=C 513 H=D*Y 520 E=0 521 GOSUB 800 522 IF INT(C/2)<>C/2 THEN 530 523 E=INT(S/C) 530 S=S-E+H 531 GOSUB 800 532 I=INT(C*(20*A+S)/P/100+1) 540 C=INT(Q/20) 541 Q=INT(10*(2*RND(0)-1)) 550 IF P8 THEN 26 22 IF T(S)<1 THEN 26 23 LET U(S)=ABS(INT(U(S))) 24 IF U(S)>3 THEN 26 25 IF U(S)>0 THEN 29 26 PRINT"HORSE NO. OR WIN-PLACE-SHOW BET IN ERROR" 27 LET R = 3*(J-1) 28 INPUT V(S) 29 IF V(S) -2=ABS(V(S)-2) THEN 32 30 PRINT"BET MUST BE >$2 AND <$300, BET AGAIN"; 31 GOTO 28 32 IF V(S)>300 THEN 30 33 IF Y1 = 1 THEN 17 34 PRINT 35 PRINT" THEY'RE OFF AND RUNNING -" 36 PRINT 37 LET M(1) = 62.25 38 M(2) = 60 39 M(3) = 350/6 40 M(4) = 500/9 41 M(5) = 55 42 M(6) = 650/12 43 M(7) = 1100/21 44 M(8) = 1600/31 45 LET O(1) = 6 46 O(2) = 8 47 O(3) = 10 48 O(4) = 16 49 O(5) = 18 50 O(6) = 22 51 O(7) = 40 52 O(8) = 60 53 FOR N = 1 TO 8 54 LET H(N)=0 55 NEXT N 56 LET K = 0 57 LET G=1 58 LET J = 1 59 LET N = 4*T(1)-U(1) 60 FOR Z5=S TO 5*V(S)+N 61 LET Z1=RND(1) 62 NEXT Z5 63 FOR Z5=1 TO 500000! 64 IF INT(Z5/N)-G<>0 THEN 82 65 LET H(J)=H(J)+RND(1)*M(J) 66 LET J=J+1 67 LET G=G+1 68 IF J <> 9 THEN 81 69 LET J = 1 70 GOSUB 134 71 LET D = H(B(1)) 72 LET K=K+1 73 PRINT 74 IF K = 8 THEN 78 75 GOSUB 194 76 GOSUB 159 77 GOTO 82 78 PRINT" FINISH" 79 LET Z5=500001! 80 GOSUB 159 81 LET Z1=RND(1) 82 NEXT Z5 83 PRINT 84 PRINT 85 PRINT"$2 MUTUELS PAID:" 86 PRINT" STRAIGHT PLACE SHOW" 87 LET K = 0 88 FOR I = 1 TO 3 89 GOSUB 165 90 LET J=I 91 IF J = 1 THEN 95 92 PRINT" "; 93 LET J=J-1 94 GOTO 91 95 FOR J = I TO 3 96 LET L=I+I+J 97 IF J > 1 THEN 100 98 LET R = 1 99 GOTO 101 100 LET R = 3*(J-1) 101 LET H(L)=1.5+.01*INT((O(B(I))/R+RND(1))*100) 102 PRINT H(L); 103 NEXT J 104 PRINT 105 NEXT I 106 PRINT 107 LET Q=0 108 FOR J=1 TO S 109 PRINT "BET NO. ";J 110 LET P=0 111 FOR I = 1 TO 3 112 IF B(I) <> T(J) THEN 119 113 IF U(J) < I THEN 125 114 LET P = .01*INT((V(J)*50)*H(I+I+U(J))) 115 PRINT "YOU COLLECT";P;"ON "; 116 GOSUB 165 117 PRINT 118 GOTO 127 119 NEXT I 120 LET I = T(J) 121 PRINT"TEAR UP YOUR TICKET ON "; 122 FOR I = 4 TO 8 123 IF B(I) = T(J) THEN 116 124 NEXT I 125 PRINT"NEXT TIME, PURCHASE A SHOW TICKET ON "; 126 GOTO 116 127 LET Q = Q+P-V(J) 128 NEXT J 129 GOTO 7000 130 PRINT"YOUR TOTAL WINNINGS AMOUNT TO $";Q2 131 GOTO 300 132 PRINT"YOUR TOTAL LOSSES AMOUNT TO $";ABS(Q2) 133 GOTO 300 134 LET Q = 1 135 FOR L1 = 1 TO 8 136 LET B(L1) = 1 137 LET A(L1) = 1 138 NEXT L1 139 FOR L1 = 1 TO 8 140 FOR L2 = 1 TO 8 141 IF L1=L2 THEN 145 142 IF H(L1)<>H(L2) THEN 145 143 PRINT"RERUN PLEASE" 144 STOP 145 IF H(L1)L1 THEN 156 153 LET B(Q) = L2 154 LET Q=Q+1 155 LET L2 = 9 156 NEXT L2 157 NEXT L1 158 RETURN 159 REM 160 IF K = 8 THEN 193 161 PRINT"POS. HORSE LENGTHS BEHIND" 162 PRINT 163 FOR I = 1 TO 8 164 PRINT I; 165 IF B(I)=1 THEN 186 166 IF B(I)=2 THEN 184 167 IF B(I)=3 THEN 182 168 IF B(I)=4 THEN 180 169 IF B(I)=5 THEN 178 170 IF B(I)=6 THEN 176 171 IF B(I)=7 THEN 174 172 PRINT"COALTOWN "; 173 GOTO 187 174 PRINT"STYMIE "; 175 GOTO 187 176 PRINT"GALLANT FOX"; 177 GOTO 187 178 PRINT"SEABISCUIT "; 179 GOTO 187 180 PRINT"ASSAULT "; 181 GOTO 187 182 PRINT"WHIRLAWAY "; 183 GOTO 187 184 PRINT"CITATION "; 185 GOTO 187 186 PRINT"MAN O'WAR "; 187 IF K = 0 THEN 193 188 IF I > 1 THEN 191 189 PRINT 190 GOTO 192 191 PRINT .1*INT(D-H(B(I))) 192 NEXT I 193 RETURN 194 IF K=1 THEN 204 195 IF K=2 THEN 206 196 IF K=3 THEN 208 197 IF K=4 THEN 210 198 IF K=5 THEN 212 199 IF K=6 THEN 214 200 IF K = 7 THEN 202 201 GOTO 215 202 PRINT" COMING DOWN THE STRETCH -" 203 GOTO 215 204 PRINT" AS THEY BREAK FROM THE GATE -" 205 GOTO 215 206 PRINT" AT THE 1/4 MILE POLE -" 207 GOTO 215 208 PRINT" NEARING THE HALFWAY MARK -" 209 GOTO 215 210 PRINT" MIDWAY IN THE RACE -" 211 GOTO 215 212 PRINT" AT 5/8 OF A MILE -" 213 GOTO 215 214 PRINT " ROUNDING THE TURN -" 215 RETURN 216 END 300 PRINT:INPUT"DO YOU WANT TO BET ON THE NEXT RACE (Y OR N)";W$ 305 PRINT:PRINT:PRINT 310 IF W$="N" THEN 340 320 IF W$="Y" THEN 5 330 GOTO 300 340 IF Q2>0 THEN 380 350 IF Q2<0 THEN 390 360 PRINT"BYE NOW!!!!" 370 GOTO 216 380 PRINT"PUT THE MONEY I OWE YOU ON MY TAB!!":GOTO 216 390 PRINT"PUT THE MONEY YOU OWE ME ON THE TERMINAL!!!" 400 GOTO 216 7000 Q2=Q+Q2 7010 IF Q2=0 THEN 7300 7020 IF Q2<0 THEN 132 7030 GOTO 130 7300 PRINT"WELL YOU BROKE EVEN!" 7310 GOTO 300  7000 Q2=Q+Q2 7010 IF Q2=0 THEN 7300 7020 IF Q2<0 THEN 132 7030 GOTO 130 7300 PRINT"WELL YOU BROKE EVEN!" 73F W$="N" THEN 340 320 IF W$="Y" THEN 5 330 GOTO 300 340 IF Q2>0 THEN 380 350 IF Q2<0 THEN 390 360 PRINT"BYE NOW!!!!" 370 GOTO 216 380 PRINT"PUT THE MONEY I OWE YOU ON MY TAB!!":GOTO 216 390 PRINT"PUT THE MONEY YOU OWE ME ON THE TERMINAL!!!"1 REM JIM STORER 2 PRINT "HOW MANY TIMES HAVE YOU PLAYED"; 3 INPUT Z 5 LET N5=8 6 REM (RANDOMIZE) 12 IF Z=500 THEN 47 14 IF Z=1000 THEN 1960 17 FOR Y1=1 TO 10 18 PRINT 19 NEXT Y1 20 PRINT "CONGRDULATIONS! YOU HAVE BEEN ELECTED PREMIER OF ETATS," 22 PRINT "A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR JOB IS TO" 24 PRINT "DECIDE UPON THE COUNTY'S BUDGET AND DISTIBUTE MONEY TO YOUR" 26 PRINT "COUNTRYMEN FROM THE COMMUNAL TRASURY."; 27 IF Z<>0 THEN 47 44 PRINT "GOOD LUCK!" 47 FOR Y1=1 TO 4 48 PRINT 49 NEXT Y1 50 LET A=INT(60000+(RND(1)*1000)-(RND(1)*1000)) 55 LET B=INT(500+(RND(1)*10)-(RND(1)*10)) 65 LET D=2000 100 LET W=INT(RND(1)*10+95) 101 FOR Y1=1 TO 8 102 PRINT 103 NEXT Y1 105 PRINT "YOU NOW HAVE"A"RALLODS IN THE TREASURY." 110 PRINT INT(B)"COUNTRYMEN,"; 115 LET V9=INT(((RND(1)/2)*10+10)) 120 IF C=0 THEN 140 130 PRINT INT(C)"FOREIGN WORKERS,"; 140 PRINT " AND"INT(D)"SQ. MILES OF LAND." 150 PRINT "THIS YEAR INDUSTRY WILL BUY LAND FOR"W"RALLODS PER SQ. MILE. 155 PRINT "LAND CURRENTLY COSTS"V9"RALLODS PER SQ. MILE TO PLANT." 160 FOR Y1=1 TO 3 162 PRINT 163 NEXT Y1 200 PRINT "HOW MANY SQ. MILES DO YOU WISH TO SELL TO INDUSTRY" 201 INPUT H 215 IF H<0 THEN 200 220 IF H<=D-1000 THEN 300 230 PRINT "...THINK AGAIN, YOU'VE ONLY"D-1000"SQ. MILES OF FARMLAND" 240 IF X<>0 THEN 200 250 PRINT "(FOREIGN INDUSTRY WILL ONLY BUY FARM LAND BECAUSE FOREST" 260 PRINT "LAND IS UNECONOMICAL TO STRIP MINE DUE TO TREES, ETC.)" 280 LET X=1 299 GOTO 200 300 LET D=INT(D-H) 310 LET A=INT(A+(H*W)) 320 PRINT "HOW MANY RALLODS DO YOU WISH TO DISTRIBUTE?" 321 INPUT I 342 IF I<0 THEN 320 350 IF I0 THEN 1002 602 IF I<>0 THEN 1002 604 IF J<>0 THEN 1002 606 IF K<>0 THEN 1002 608 FOR Y1=1 TO 5 609 PRINT 610 GOTO 1590 612 PRINT "GOODBYE." 1000 GOTO 600 1002 FOR Y1=1TO3:PRINT:NEXT Y1 1010 LET A=INT(A-K) 1020 LET A4=A 1100 IF INT(I/100-B)>=0 THEN 1120 1105 IF I/100<50 THEN 1700 1110 PRINT INT(B-(I/100));"COUNTRYMEN DIED OF STARVATION" 1120 LET F1=INT(RND(1))*(2000-D) 1122 IF K<25 THEN 1130 1125 LET F1=INT(F1/(K/25)) 1130 IF F1<=0 THEN 1150 1140 PRINT F1"COUNTRYMEN DIED FROM THE EFFECTS OF AIR POLLUTION" 1150 IF INT((I/100)-B)<0 THEN 1170 1160 IF F1<0 THEN 1180 1165 GOTO 1200 1170 PRINT " YOU WERE FORCED TO SPEND"INT((F1+(B-(I/100)))*9); 1172 PRINT "RALLODS ON FUNERAL EXPENSES." 1174 LET B5=INT(F1+(B-(I/100))) 1175 LET A=INT(A-((F1+(B-(I/100)))*9)) 1176 GOTO 1185 1180 PRINT " YOU WERE FORCED TO SPEND"INT(F1*9)"RALLODS ON "; 1181 PRINT "FUNERAL EXPENSES." 1182 LET B5=F1 1183 LET A=INT(A-(F1*9)) 1185 IF A>=0 THEN 1194 1187 PRINT " INSUFFICIENT RESERVES TO COVER COST -LAND WAS SOLD" 1189 LET D=INT(D+(A/W)) 1190 LET A=0 1194 LET B=INT(B-5) 1200 IF H=0 THEN 1250 1220 LET C1=INT(H+(RND(1)*10)-(RND(1)*20)) 1224 IF C>0 THEN 1230 1226 C1=C1+20 1230 PRINT C1"WORKERS CAME INTO THE COUNTRY AND"; 1250 LET P1=INT(((I/100-B)/10)+(K/25)-((2000-D)/50)-(F1/2)) 1255 PRINT ABS(P1)"COUNTRYMEN "; 1260 IF P1<0 THEN 1275 1265 PRINT "CAME TO"; 1270 GOTO 1280 1275 PRINT "LEFT"; 1280 PRINT "THE ISLAND." 1290 LET B=INT(B+P1) 1292 C=INT(C+C1) 1305 U2=INT(((2000-D)*((RND(1)*1.5)/2))) 1310 IF C=0 THEN 1324 1320 PRINT " OF"INT(J)"SQ. MILES PLANTED,"; 1324 IF J>U2 THEN 1330 1326 U2=J 1330 PRINT " YOU HARVESTED"INT(J-U2)"SQ. MILES OF CROPS." 1340 IF U2=0 THEN 1370 1344 IF T1>=2 THEN 1370 1350 PRINT " (DUE TO "; 1355 IF T1=0 THEN 1365 1360 PRINT "INCREASED "; 1365 PRINT "AIR AND WATER POLLUTION FROM FORIEGN INDUSTRY.)" 1367 LET T1=T1+1 1370 Q=INT((J-U2)*(W/2)) 1380 PRINT " MAKING"INT(Q)"RALLODS." 1390 LET A=INT(A+Q) 1400 V1=INT(((B-P1)*22)+(RND(1)*500)) 1405 V2=INT((2000-D)*15) 1410 PRINT " YOU MADE"ABS(INT(V1-V2))"RALLODS FROM TOURIST TRADE." 1420 IF V2=0 THEN 1450 1425 IF V1-V2>=V3 THEN 1450 1430 PRINT " DECREASE BECAUSE "; 1435 G1=RND(1)*10 1440 IF G1<=2 THEN 1460 1442 IF G1<=4 THEN 1465 1444 IF G1<=6 THEN 1470 1446 IF G1<=8 THEN 1475 1448 IF G1<=10 THEN 1480 1450 V3=INT(V1-V2) 1451 A=INT(A+V3) 1452 GOTO 1500 1460 PRINT "FISH POPULATION DWINDLED DUE TO WATER POLLUTION." 1462 GOTO 1450 1465 PRINT "AIR POLLUTION IS KILLING GAME BIRD POPULATION." 1467 GOTO 1450 1470 PRINT "MINERAL BATHS RUINED BY WATER POLLUTION." 1472 GOTO 1450 1475 PRINT "UNPLESANT SMOG IS DISCOURAGING SUNBATHERS." 1477 GOTO 1450 1480 PRINT "HOTELS ARE LOOKING SHABBY DUE TO SMOG GRIT." 1482 GOTO 1450 1500 IF B5>200 THEN 1600 1505 IF B<343 THEN 1700 1510 IF (A4/100)>5 THEN 1800 1515 IF C>B THEN 1550 1520 IF N5-1=X5 THEN 1900 1545 GOTO 2000 1550 FOR Y1=1 TO 8 1552 PRINT 1555 NEXT Y1 1560 PRINT "THE FORIEGN WORKERS HAVE REVOLTED AND TAKEN OVER THE " 1562 PRINT "COUNTRY." 1570 IF RND(1)>.5 THEN 1580 1574 PRINT "YOU ARE REMOVED FROM OFFICE AND ARE NOW RESIDING IN PRISON. 1578 GOTO 1590 1580 PRINT "YOU HAVE BEEN ASSASSINATED." 1590 REM--------END OF JOB-------- 1596 STOP 1600 FOR Y1=1 TO 8 1602 PRINT 1605 NEXT Y1 1610 PRINT B5"COUNTRYMEN HAVE DIED IN ONE YEAR!!!!" 1615 PRINT "YENDc HAVE BEEN IMPEACHETO AND REMOVED FOR MISMANAGEMENT" 1622 M6=INT(RND(1)*10) 1625 IF M6<=3 THEN 1670 1630 IF M6<=6 THEN 1680 1635 IF M6<=10 THEN 1690 1670 PRINT "ALSO HAD YOUR LEFT EYE GOUGED OUT." 1672 GOTO 1590 1680 PRINT "HAVE ALSO GAINED A VERY BAD REPUTATION." 1682 GOTO 1590 1690 PRINT "HAVE ALSO BEEN DECLARED NATIONAL FINK." 1692 GOTO 1590 1700 FOR Y1=1 TO 8 1702 PRINT 1705 NEXT Y1 1710 PRINT "OVER ONE THIRD OF THE POPULATION HAS DIED SINCE YOU" 1715 PRINT "WERE ELECTED TO OFFICE. THE PEOPLE (REMAINED)" 1720 PRINT "HATE YOUR GUTS." 1730 GOTO 1570 1800 IF B5-F1<2 THEN 1515 1805 FOR Y1=1 TO 8 1807 PRINT 1810 NEXT Y1 1815 PRINT "MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID" 1820 PRINT "DID NOT SPEND. AS A RESULT SOME OF YOUR COUNTRY DIED" 1825 PRINT "OF STARVATION. THE PUBIC IS ENRAGED AND YOU HAVE" 1830 PRINT "BEEN FORCED TO EITHER RESIGN OR COMMIT SUICIDE" 1835 PRINT "THE CHIOCE IS YOURS" 1850 GOTO 1590 1925 PRINT "YOU HAVE SUCCESSFULLY COMPLETED YOUR "N5"YEAR TERM" 1950 GOTO 1590 1960 INPUT "HOW MANY YEARS WERE YOU IN OFFICE WHEN INTERRUPTED";X5 1962 IF X5<0 THEN 1590 1963 IF X5<8 THEN 1969 1965 PRINT " COME ON, YOUR TERM IS ONLY"N5"YEARS" 1967 GOTO 1960 1969 INPUT "HOW MUCH DID YOU HAVE IN THE TREASURY";A 1971 IF A<0 THEN 1590 1975 INPUT "HOW MANY COUNTRYMEN";B 1977 IF B<0 THEN 1590 1980 INPUT "HOW MANY WORKERS";C 1982 IF C<0 THEN 1590 1990 INPUT "HOW MANY SQ. MILES OF LAND";D 1992 IF D<0 THEN 1590 1993 IF D>2000 THEN 1996 1994 IF D>1000 THEN 100 1996 PRINT " COME ON, YOU ONLY STARTED WITH 1000 SQ. MILES!" 1998 GOTO 1990 2000 X5=X5+1 2040 GOTO 100 2046 END 100 REM---------------------------------------------------- 101 REM L A N D E R 102 REM---------------------------------------------------- 103 REM JUNE 16, 1977 104 REMTHIS VERSION OF LUNAR LANDER IS COURTESY OF 105 REM THE IMSAI COMPANY. 106 REM 300 S3 =0 310 N3=0 320 H=500 430 IF H<=0 THEN 1560 1010 PRINT"LUNAR LANDING SIMULATION" 1020 PRINT"----- ------- ----------" 1030 PRINT"TYPE '1' FOR INSTRUCTIONS"; 1040 INPUT A 1050 IF A<>1 THEN 1260 1060 PRINT 1070 PRINT"YOU ARE LANDING ON THE MOON, YOUR HAVE HAD TO" 1075 PRINT"ABORT YOUR AUTOMATIC LANDING PLAN AND HAVE TAKEN" 1077 PRINT"OVER MANUAL CONTROL 500 FT. OVER A GOOD LANDING" 1080 PRINT"SPOT. YOU ARE FALLING AT 50 FT/SEC, WITH 120 LBS" 1090 PRINT"OF FUEL TOTAL; DEPLETED AS FOLLOWS:" 1120 PRINT"(1) AFTER EACH SECOND, THE HEIGHT,VELOCITY AND" 1130 PRINT"REMAINING FUEL WILL BE REPORTED." 1140 PRINT"(2) NEXT, A/?/ WILL BE TYPED. ENTER THE NUMBER" 1150 PRINT"OF LBS OF FUEL YOU WISH TO BURN DURING THE NEXT" 1160 PRINT"SECOND. EACH LB BURNED WILL SLOW THE DESCENT BY" 1170 PRINT"1 FT/SEC. 5 LBS OF FUEL WILL MAINTAIN YOUR CUR-" 1175 PRINT"RENT VELOCITY EXACTLY." 1180 PRINT"(3) MAXIMUM THRUST YOUR ENGINE CAN SUSTAIN IS" 1185 PRINT"30 FT/SEC OR 30 LBS OF FUEL/SEC." 1200 PRINT "(4) WHEN YOU CONTACT THE LUNAR SURFACE, YOUR" 1210 PRINT"DESCENT ENGINE WILL AUTO-SHUT OFF AND YOU WILL" 1220 PRINT"BE GIVEN A READOUT OF LANDING CONDITIONS." 1230 PRINT"(5) IF OUT OF FUEL, ONLY REPORTS UNTIL" 1235 PRINT"YOU CONTACT THE LUNAR SURFACE" 1240 T=0 1245 V1=-5 1250 PRINT 1260 PRINT"ALERT! ALERT! DESCENT PROCEEDURE INITIATED!" 1265 IF T>30 THEN PRINT "HINT; NO BURN TILL SECOND # 4" 1266 IF T=0 THEN 1290 1267 IF V1=0 THEN 1290 1268 IF T<12 THEN PRINT "HINT; YOU BURNED LATE FOR A NOVICE" 1290 PRINT"SEC FEET SPEED FUEL PLOT OF DISTANCE" 1300 PRINT 1310 T=0 1320 H=500 1330 V=50 1340 F=120 1350 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29); 1352 PRINT "I";TAB(H/15+29);"*";TAB(67); 1360 INPUT B 1370 IF B<0 THEN 1500 1380 IF B>30 THEN 1520 1390 IF B >F THEN 1540 1400 V1=V-B+5 1410 F=F-B 1420 H = H-.5*(V+V1) 1430 IF H<=0 THEN 1560 1440 T=T+1 1450 V=V1 1460 IF F>0 THEN 1350 1470 IF B=0 THEN 1490 1480 PRINT TAB(29);"***** OUT OF FUEL *****" 1490 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29); 1492 PRINT "I";TAB(H/15+29);"." 1500 B=0 1510 GOTO 1400 1520 B=30 1530 GOTO 1390 1540 B=F 1550 GOTO 1400 1560 PRINT "*** CONTACT ***"; 1562 IF V1>20 THEN PRINT TAB(29);"0" 1563 IF V1>25 THEN PRINT TAB(29);"00" 1564 IF V1>30 THEN PRINT TAB(29);"000" 1565 IF V1>35 THEN PRINT TAB(29);"0 ." 1566 IF V1>40 THEN PRINT TAB(29);". ." 1567 IF V1>45 THEN PRINT TAB(29);"." 1570 H =H+.5*(V+V1) 1580 IF B=5 THEN 1610 1585 Z=V*V+H*(10-2*B) 1587 IF Z<0 THEN 1770 1588 P=SQR(Z) 1590 D=(P-V)/(5-B) 1600 GOTO 1620 1610 D=H/V 1620 V1=V+(5-B)*D 1625 N3 =N3+1 1630 PRINT "TOUCHDOWN AT "; T+D;"SECONDS" 1640 PRINT"LANDING VELOCITY=";V1;"FT/SEC" 1641 IF V1>8 THEN PRINT "OR ";V1*.5938;" MPH, GROUNDHOG"; 1642 IF V1<>0 THEN 1648 1644 PRINT "CONGRATULATIONS! A PERFECT LANDING" 1645 S3=S3+8 1646 GOTO 1710 1648 IF V1<85 THEN 1654 1650 PRINT:PRINT"YOU HAD TO TRY FOR THAT! DO IT RIGHT" 1652 GOTO 1260 1654 FOR I1=1 TO 7 1656 GOTO 2000 1657 IF S1>V1 THEN 1660 1658 NEXT I1 1659 GOTO 1790 1660 PRINT"; SCORE = ";7-I1 1661 S3 =S3+7-I1 1662 GOTO 3000 1664 PRINT"NEARLY PERFECT: YOU MUST TRY AGAIN!" 1666 PRINT" ----" 1668 GOTO 1260 1670 PRINT "GOOD. ( YOU COULD WALK AWAY FROM IT )":GOTO 1710 1672 PRINT"ABOUT LIKE HITTING THE WALL RUNNING HARD.":GOTO 1710 1674 PRINT"OUCH! THAT HURT! ( THE LANDER )":GOTO 1710 1676 PRINT"PUH-LEEEZE! MY SOUFFLE'!":GOTO 1710 1678 PRINT " YOU SHOULD REREAD THIS: FOR EACH":GOTO 1160 1710 PRINT "*" 1720 PRINT " TYPE 1 FOR ANOTHER MISSION."; 1730 INPUT A 1740 IF A=1 THEN 1260 1745 PRINT "FOR";N3;"MISSIONS, AVERAGE SCORE =";S3/N3 1746 IF N3<3 THEN 1750 1747 IF S3/N3>4.5 THEN PRINT "GOOD WORK!" 1750 PRINT " CONTROL OUT" 1760 STOP 1770 PRINT "NEGATIVE ARGUMENT, END OF MISSION." 1780 GOTO 1710 1790 PRINT "LOOP OVERFLOW, END MISSION" 1800 GOTO 1710 1810 STOP 2000 REM POWER X^Y PATCH 2010 S1=2 2040 FOR I9=1 TO I1 STEP 1 2050 S1=S1*2 2060 NEXT I9 2070 GOTO 1657 3000 REM ON GOTO PATCH FOR LINE 1662 3005 IF I1=1 THEN 1664 3010 IF I1=2 THEN 1670 3015 IF I1=3 THEN 1672 3020 IF I1=4 THEN 1674 3025 IF I1=5 THEN 1676 3030 IF I1=6 THEN 1678 3035 IF I1=7 THEN 1710ÞCOPYRIGHT (C) 1980 DIGITAL RESEARCH RELIRLFATAL ERROR$l$l1 ͺ!"!6͓*~=:!ͣ !6:/::!ͣ !6:!!/ͣ < ͧv! s+p+q> ͍"̀ځ*>! q** DM* 1q>> ͍+s#r=>!r+s+q+q+p+q> ͍"!6> !*&*6!4¦:! *w* * * DM -* *s#r*"̀*":*. Tu -". u -2:~ l:\.~ -Ql.~ -dup. du -zT!"u*M: *M: !6>}!: :<2¨#u{u>!͘,T>͍)*DMTT"*%DMu{̀+s#r;'*DMu{̀N*"'ͅ>v":2T2u:ҙu͟!6>!ڙ: :<2:ҦT͟:!/Ҵ:͍ >>l͍ >!͘:/H*!*"'*DMT{T:lͪ : >>l?: &#*DMu{:2:2u͉Tp*>@O>*>@*w*~!s+q*&%*& *&%*2& "*DMT*+"*DM3T"!p+q!\#s>!s:+&:2̀&ͣ :22ͧ!s+q+q*M*͍"̀̀Hm*DM̀%*& "!6|*#:w*##:w* :w!6!6\2!:!H÷:!!6l+6**͍!6\* ^#V""!3"$"!o2ͣ :< J.< -B3!6#6!6*#s#r!6\wl!6!6!6\ʒÇ.  -›!&6:!&:&=O! N,:&<2&©**pH*#N*##* ^N0Jͭ1 Gͤͣ  <_1D**M*0G!'q:w**M0*"!6}!6:'҄Çͭ1Ҙ**͇H* >͘ҿ:'/**M*0} <_1K!6#6#6:  . - 12(:( T}L :2:2!:y :2̀y ͣ :22!""*"!6!6: *")*"*K: *: !6#6l: *)"ï !6l+6!6͔ :  G. - !"!\"!"*^#V" $!^q> !^] :^0O,h :^ AO,!_q:_OD :_OD !ap+q>`Mi !`\Mi !cp+q*bDMG!ep+q!d\+J<!hr+s+q*f&4 N,*gDM͵ DM̈́  ,*3&+) >>l!C9 < ,*3&+) ^#V*3M  ,!iq*# :iw*#"!͛o #*DMu{!"*!*"D*!s*D!s*D!s!6*!*"D*!s*D!s*D!s!6*M: *M: *M: O`iN928 "92;!j6:;!jU :j=O!< Hq!j40 *8M*9 !k6:;!kڇ :k=O!< N,!k4g  ,!lq*' :lw*#"!͛ '*DMT{*!*"!"!ns+q: ͪ :n!O> !>O:n2nO!mT!w& 8 !w:o2% & *M͍ !6!6:n!2oK :m!o>O!mC!pq*pM !rp+q*q}OY *q|OY *8M *9DMg *;M !s6:;!sھ :s=O!< NY !s4ž !t6:;!t :t=O!< N: !t4 : 2u: :* *uMi  ,*3&+) N#F+q#p!C6:? *uMY !vq "w:R:ҕ *vM*w *3&+) N#F+q#p*3&+) >>l2C:Ҵ *vM *wDMg !yq:y/:yH >!y# :y::::y8*;< -*:;2:@:<!C6*y&>) N#FG>!ykb :y/:yH҅V :y ¦:823*3&+) *9s#r:y!"+"-"/"1!36<::y<@ Gb :!:y<b :I:y/ *yM :y#~ >!y/͐ :yI:I 7:[:y[Ϳ o >á2zO>Ҏ*zM@:zá2z*zM͵:z,=>)-,),>,=*#"!|p+q*{~**{ >*{#"{>ʹ*~>~,H !6)!\""!o)ͣ !6!6ʹͼi**& w:<2cͣ ʹ7*~-w!6*~)…!6:ғͣ !6*"*~)*:º!6***̈́:*:!6!6lͼͣ Þ!6*~>ʤ*#"}!6*:3ͣ *~=X!6*#"}:X!"}**Ҁ* *}s#r*>wÑ**}̈́ͼҡͣ ʹ*~]*~D!6*~I!6*~M!6*~P!6ͣ ʹè!q!6!6*"ʹ!""!o8ͣ >͍J!"ͼҍ*~(c͆Ç*~_[],()!q: > :a/>z!/H:_2:!p+q*^#V"*##^#V"!6 !6+6:W: Q!6l<*6+: m+_Ax!!6Aڙ:ڐ!l+}::*~:Hھ!*#~A<*wO>!*&*6 '!6:.+A: !l+: !*&*\:<2O* N2!6> !i*& :b>!4F>:<2O* :w:!4~ʶ 6*#"*{zڶ!"ͧ*!~2xG:2G:p ˆx!4~ 6*#"*{z!"*!~2xG:2G x{_ C#5>ɯ$!p+q!6> !ڌ*&*~ x*&*N,:….,!4Q!r+s+p+q*DMG*DMFEͣ !s+p+q+p+q+p+qWͣ !">͍+s#r!oM*DM`:$*DM͐O>!>͍ ͣ !9*DM͠O>9ͣ *"*#"`!r+s+p+q+p+q***DMͮ*!r+s+p+q+p+q***DMͮ!p+q*DMp!6 > !*&*6!4²*DMͰͣ !p+q * 6 * 6*DM̀*͍!p+q*DM+ͣ !q*& , ,!p+q*  !p+q*!p+q*!p+q*! p+q*! p+q* ! p+q* !p+q`*!p+q*_{ozg_ogDM!>))덑o|g = DM!>))4 =,_{ozg~ D^#V) N~ U^#V|g}o `_{ozgO{ozgi`N#Fogo&og_{_z#WLIB 1.1 $REL $$$IRL $$$INDEX ERROR$NO MODULE: $SYNTAX ERROR$APDCentry symbol $select common block $program name $request $error 4 $define common size $chain external $define entry point $error 8 $external + offset $define data size $set program counter $chain address $define program size $end program $end file$FTiw(5ABORTED$DISK READ ERROR$DISK WRITE ERROR$CANNOT CLOSE$DIRECTORY FULL$NO FILE: $çCOPYRIGHT (C) 1980 DIGITAL RESEARCH ? OVL LINKING $ $ 1L9M9!96w:o9!9D:!""!""!"9*9^#V"9"q::u9 ͥ6**=;"`:"b:q:b:͞8.96`:q:͞8"9|!96wj1:9R,v!!]:ڤ*]:&f;) N#F͋41!]:4:u92:2:2;2E;2u;2;2;2;!D:6+6!E:6!"p9!"m9}2o9!z962v92x92w9!t96X!"y:"{:"}:":":":":":":":":":":":":":"i:"k:"m:"o:}2:!:6#6#6*9"q:2C:2D:2E:2R:!"X:o&"Z:|!"s:!"p;";";";":":";"7;*+":*+":*+" ;*+"9;!":":";"?;!":":";"A;:9*b::9=o&))9  ^#V!!<4*<&^<) <͞8-*<&^<) ^#V"d:M*<&^<) q#p!<4*9&))9  *`:s#r*A:)8"p9*9&))9 q#p:9<29O>D:9=29D:9ڗ*9&))9 ^#V"p9  ^#V"`:*`:DM!96#~ͬ . ":\ -:+: .+: -:9":5*.:~=ͬ :9('*.:~(*.:~)H^*.:~,NDͬ :9['(:9vC()!o96>5!B".:ͬ . ":\ -ˆ*.:~=Ÿͬ ï.+: -§:9ҹ'*.:~*.:~(H*.:~,Dͬ :9'ù:w92y9:9F:9(C(͆7:9):o9:o9H4!"p9>:o929*p9"95*.:~(*.:~ʐn*.:~)p̀^*.:~*.:~(HҍDO:9ʛD*Ͳ!6~̈́6*& 6:[],()?$! : @: <_2 <: !#<ڲ*#<& :<«>!#<4>*.:#".:*.:N2<&õ͵:< ͵!<6 !%<6+6:%< :%<  !<6͸ !\6͊ !!%<6͊> :%<5 !͸ ͵" :<:„ :\:%<Hb !:]A<2\O>v !*%<&\ 6 ô !%<6:<.° ͵͊ڰ :%< ڧ !͸ ͵Ô ! :%<<2% :<02<> : :>!"&<͵͊6 - *&<))))*<& "&<0 D͵ *&<:/͵: W :ZD͵:ڎ :!Q: D*Q:&J: : >!:*!^:6+":^:$t 8'> *0< ~L*0< DMB5*0< 6*0w#6!4w#6*0<##N#F*.< ~O`i~8p8!6Ͷ8ikS*0< DMv5*0< DMd5*0< *0<##N#Fq#pä*0<##q#p*u:#^#V*u: ^#V*u: ^#V*u:~*u:~*u:>*u:~*u: ^#V*w: ^#V!8:=<Hw!>:><Hw!?:?<Hw!@:@<Hw!B͔8>ͥG<ͮ8'*u:"w:*E<#"E<ͺ"u:>͔8$>ͥG<ͮ8!TJ<ͫ8:P<Hr:Q<ҁ!U<6 Æ!U<6:U<q:ͫ8+s#r!`:͹8ң96:T<Һ*JE<ͫ8*P<&i:) N#F,DM,*LE<ͫ8F*P<&i:) *q:s#rN*q:DMͷ!V<6>!V<ڷ!"Y<*V<&i:) ^#V"u:>u:ͫ8ʝͺ"W<*Y![<,*[<&i:) ^#V"u:*[<&<) N#F.>u:ͫ8%OkͥDMͪͮDMͪDMͪͺ"u:![<4!"i:"k:"m:"o:*d:##6*d: 6*d:^#V!`=p+q*d:*_=s#r*d: >!a=q*d: :a=w*d:##>?!b=q*d:##:b=w*d:##~*d:##>w*d:##~*d:##>w*d: ~!c=q*d: >:c=Hẅ́d:8++"\<*\<^#V!e=p+q̈́d:8++"\<*\<*d=s#r*d: ^#V!g=p+q*d: *f=s#r*d: ~!h=q*d: >:h=Hw!k=s+p+q!^=6:k==2k=ʱ*i=:^=2^=*i=#"i=Ñ:^=2^=!n=s+p+qͽ"d:`:d:͞8͹h!n=*l=*d: DM*n=>*>̈́d:8+s#r!r=s+q+p+q*o=DM*q=̈́*^=&^<) ^#V"d:>d:ͫ8ʆh!q=}*o=*d: DM*q=>*}U!r=}>M"d:<>!|=r+s+q+q+q+p+q+q+p+q:u=2}=:z=Һ!}=44*`:"d:*}=& "`:q:ͮ896<*s=DM*u=̈́*^=&^<) N#FU*^=&^<) *d:s#r*}=M͍*v=DM>*y=M*u=Ms*x=Mf*u=*d: *s=DM -B:z=Y*{=DM*d: ~#k!{96 MODULE TOP $UNDEFINED START SYMBOL: $YY???? $$$XX???? $$$RQST$ UNDEFINED SYMBOLS: $ABSOLUTE $CODE SIZE $DATA SIZE $COMMON SIZE $USE FACTOR $!=q*=MͲ!~=4!=q> !=8:=0OͲC:= AOͲ!=q:=O:=O!=p+q!=̈́8MD>=08MD:;!t;!;!;:u;2\. ] -Ÿ\ͩ6!t;6!;6!;6!;6!=6+6>!=*=&f;) ^#V"= *= ~ *= DMv5 *= 6!=6:=<2=:=7::2\. ] -)\ͩ6*p9###H:ͮ8!D:U!\:6*p9###F:ͮ8!C:r!\:6*p9###X:ͮ8҉!\:6:R:>S:ͫ8:U:H:C:/HҼ!\:6!\:6:E:!C:!\:6!\:6:C:*F:"::\:*p9###":*p9"::D:*H:":8*:*:"::r98*:)8":*:*:":Z:X:͞8_X:Z:͞8#"y:e!"y:!:6*X:":!=6>!=ڞ*=&y:) >Ͷ8Ҕͥ:=<2=v!":::2=!=6:=#w:==2= *=&:) *=&: N!: ͠8*=&: ~2=*=& :=w:=2=:=<2=õ*=&: :=w::<2:*b:"d:`:d:͞8q͜/!9H`2UO!: 8DM>ͪ̈́d:8+s#r&!]:6>!]:7*]:&f;) N#F͋4:*]:&<) N#F.B2=:="="=:=O>"=n2=ð-*]:&i:) ^#V"u:>u:ͫ8-2=ͥ"=ͮ"=!"=nͺ"u::]:<2]:w!=r+s+p+q*=}*=_DM͘4*=#*=|_͘4!=p+q*="d:2:=2=:=O>Ґ*=DM^"=ã*=&:) =8"=:=O>:=O>==͞8UO!: ͹8"=*=*="=*=DM*=8*d: ~*d: :!z9/H!"=ͽ"d:`:d:͞8HҴ>=08>͔8S6!~=6U`/wUp/>=08 \8 M`͹ҖÞ2DM_   *=#"=̈́d:8+s#r >!=Ͷ86!=6>#w#62~=ͽ"d:`:d:͞8N/=:=!=6>=08>͔8'6!~=6w*=#"=>&8)))M`̈́d:8+s#r>!=Ͷ8\66!=q!=:~=v d!=6h!=ڤ:==O! *d:N:=<2=|:E:J:*Q:M2"V:!"V:|!=6:Q:!=:==O!J: NͲ:=<2=6D:R:*U:&:) S:8"V:D>!{:Ͷ81*:"V:DX:ͣ8D*X:"V:Z:X:͞8mX:Z:͞8#DM*X:v6*:DM*:6*:DM*:6*:DM*:6`:s:͞89ͮ8*9|=ͫ8 Ͳ(Ͳ*=DM_-Ͳ*=*=+DM_)Ͳl*|9DM_68f ͥOr:t9Z^E.:n~:x9ZyU/?OVLAY?OVLA0RELIRLIRLREL))O`i~8p8>!:!>6::!>:>=O!: NͲ!>4½)2:͕":)2::: !:6!>6::!>. ):>=O!: Hq!>4 *h&\8*|& "9>*7:DM\͏5*9+"9!>q:>2]:*]:&f;) N#F͋4!>q:]:!f:Ҏ *]:&y:) N#F*>͘4:]: Z:y:͞8Ҽ *y:"Z:X:y:͞8 *y:"X:*]:&y:) N#F+q#p!>s+p+q::2>O!: :8">*>DM*>h!ͮ"!>2>:>>!>ͫ8HA!ͱ!">G!*!>">*>DM*>MC:>e!*]:M͋!*>*>*]:*>*>5:=Ҭ!ͱ!"!>>͔8ž!*!>">!>6í!!:]:2%>*>M^ *>DM4*>#DM4O`i~8p8"#>*%>M^ *#>*b:"d:`:d:͞8%"*d: ~#"*d: 6̈́d:8+s#r!!{96:*:MH"H"!^:6:*:Mi"2"g:͜2f:o"=6*:::: -y"::29:*::ͺ/Ҵ":*:͉:*:M"!:͹8"/Ͳͯ/Ͳ Ͳ=6#:*:*:*:*:͉*:*:"::*:M/I#:*:͉*d:DM :*:Mҟ#{#=ͯ6Ü#*:&:) :8DM>*:Mf#:*:*:&:) :8*:͉*]:&y:) N#F*]:*:DM5!=6#!=6*:":*:M^ :]:$$*g:*:":C$*]:&:) :8*]:&y:) q#p:]:P$!=6*]:&y:) N#F *:":>!:Ͷ8::HҲ$:R:Ҕ$=6ò$*:&:) :8"S:::2U:!R:6:0:$)$ò$!&>6>!&>%%*&>&:) *&>&:) 8*&>&:) q#p*&>&y:) q#p*&>&:) >w#6:&><2&>$s:q:͞87%*q:"s::G%͸*9"q:^ :_:/2^::{9]%!!)>s+p+q:)>ˆ%*g:*'>"'>:f:҅%!)>6Ý%*)>&:) '>8+s#r*]:&y:) N#F*]:%*'>DM*)>M͋%*]:&y:) N#F*'>*)>*]:5y y !*>q:*> &>!*>&:*>#&+"ÿ&:*>1&p"ÿ&:*>?&k$ÿ&:^:ҿ&:*>=O!& ^#VI"ÿ&ÿ&͈"ÿ&>ÿ&͵"ÿ&#ÿ&T#ÿ&#ÿ&#ÿ&$ÿ&$ÿ&Q$ÿ&d$ÿ&W&]&`&f&o&u&{&&&&&&&!+>6)&)2->:^:&*->My (')2,>')2+>:+> '*+>M%('͕".>:^:('*.>DM*,>^%:+>&7','!0:6&H'='!0:6!"1:"7::!:'*:͗8"1:"7:. 9\ -u')29!hʦ':92h\͕6¦'\=45)2|29!:6*7:"1:!"9"9^ :_:/2^::!:!_:' ',':e (.e -'e>*2!:\d5I'}/B(}͉ͽ"d:`:d:͞8)͹(:v92\!0>6>!0>گ(h!0>҈(*0>&\ 6 å(:0>=O! *d:*0>&\ w:0><20>g(!!:6.e -¼(\W5/(!!:6.e -(\d5*d:"1>!_:6I'*1>"d:̈́d:8+s#rI(.: -)!:6!:6^ ͽ"d:`:d:͞8)/)*{:DM>fy ^%y !":y y *d:"4>#*4>"d:!3>6>!3>)h!3>ڶ):3>=O! *d:Ny û) y :3><23>Œ)*:"::)͸*9"q:̈́d:8+s#r5)!0:4~ (*6*1:#"1:*7:{z*!"1:/ *1:!>~26>xG:6>26>G )x{_ P*#B*>ɯ`iq#zV*COMPRLRSPSPROVLSYM!;>q*5:> :;>w*5:#"5:!3:͹8ڦ*>*3:DM\͔5!"5:!<>q:8>!<>28>:7><27>*!7>6*8>Mq*!8>6!=>q*=>Mq**A:#"A:!?>p+q*>>}O**>>|O*::+:o9+h,*p9"A::\:,+**V:DM**X:":!@>6::=!@>q+*@>&: N!: p9͞8j+*@>&: N͍+!@>47+:o9:o9HҌ+ -!C>q:C>¢+*X:"D>ó+*C>&:) ^#V"D>D>A:͞8+96D>A:͞8+*+*C>&f;) N#F͋4*C>&y:) >Ͷ8,:C>,*X:DM',,',|9A:͞8&,*A:"|9!G>p+q*F>"H>*C>&y:) F>8+!H>͹8g,*H>DM4O**H>"H>3,::=O!: N!: !y: 8*p9͗8"A>**A>DM**:o9,***p9DM*,*m9DM****:r9,*:DM*,*!J>6>!J> -*!J>4,*p9"A::\:(-ͦ-ͦ-ͦ-!L>6::=!L>|-*L>&: ~2K>u-*K>&:) A:͠8e-ͦ-J-:r-.u--!L>4--*p9*A>A:ͮ8ҕ-ͦ-|-:7>ʥ-ͦ-Õ-!O>q*O>Mͧ**A:#"A:M>A:͞8-ͦ-ù-ͦ-*K>&i:) ^#V"u:>u:ͫ8.ͥ*K>&:) 8"M>͹-ͺ"u:-*K>&<) N#F.*0< ~R.*0< DMd5*0< *0<##N#Fq#p].*0<##q#p2P>:P>ʤ.*K>&:) 8"M>"9:P>O>Ҙ."9͹-2P>c.>5:08>͔8ʾ.q*å.>*5:DM\͔5\v5:w9Z.. \": -.:e /.*o9&\8_* DMe - /:w9#/:w92\\B5:9 A/. ~9\ -9/!"5:}28>27>*ͥ.:x9Z^/. \": -f/.en* -v/:x9ʌ/:x92\\B5!"5:}2R>ͽ"d:`:d:͞8(0͹/H02DMv0 q*!Q>6h!Q>/:Q>=O! *d:Nq*:Q><2Q>/:R><2R>0 q* q*0 q*̈́d:8+s#râ/ q* q*ͥ.!S>q> !S>O0:S>0Oq*Z0:S> AOq*!T>q:T>O60:T>O60!V>p+q*U>|O[0*U>}O[0*9>!=8"W>*W>!=8!Y>s:h0:Y>2h\͕60\>645*W>!=8!|s2*9͗8"9>. \~9 -0:9 1*9>"9>\d5͍0C\͏5!Z>s*9>!=8C "9*9*|9s#r͍0C*Z>&\8DM\͔5:j2j\v5:9ҁ1*|9)8"|9:y9ZŠ1a9ҟ10ñ1g9ұ10!_>q.*[> :_>w*[> ~!`>q*[> :`>w*[> *[> ^#VN#FR* *[> 6*[>^#V!=8"b>?8!a>s1!a>P2*[> DMv5*a>M1*[> DM͕6P2*[> DML5*b>!=8MͲ1*[>  *[> ͞8ҍ2*[>  *[> N#Fq#p *[> ~ڮ2*[> DMB5 *[> 61*[> N#F*[> *[> N#F͔51!e>p+q*[> N#F*d>?8^8*[>q#p*[>*[> 8+*[>##q#p*[>*[> N#F^#V?8*[> s#r *[> N#F`i"h>*[> N#F `i"j>*h>"f>j>f>͞8ڐ3*f>+*[> ^#V\8DM2_2*f>"f>\3*[> ^#V*j>\8DM2*[>  *[> ͞8Ҿ31*[> N#F*[> *[> N#F͏5!n>s+p+q*[>l>͠84 *[> ~4_2*l>DM2ͦ3Ê4*[>##l>͞8Ҋ4 *[> ~34_2*l>DM2:n>j4*[>  *[> N#FPY͹8d463g4ͦ3Ê4*[>  *[> ͞8҇41Ê4ͦ3!p>p+q*o>"[>!s>s+p+q*q>DM3*[> ^#V"]>*[> N#F*q>?8*]>:s>w *[> 6!u>p+q*t>DM3*[> ^#V"]>*[> N#F*t>?8*]>~   +5{>.+55OͲ5w66ͩ6́5;6<566́5͕6<>́5͕6<>645͜6<H66! w #ˆ5>Ö5>2,6""6"$6yo`"&6!"*6͋6-66*&6|6 "&6*"6MD6*$6DM:,65ͷ6g666Ͱ66**6|6U6*$645*"6""6**6#"*6ú56**6ABORTED$NO SPACE$NO FILE: $CANNOT CLOSE$DISK READ ERROR: $DISK WRITE ERROR$YYYP   YP6YPYPYPYPYPYP Ͳ ò!>6#6͐6">*>|$7>9ͫ8"|>##*|> ~!7!>6D7*>|?7!>66"|>D7!>6:>Y7!~>6#6#6Å7*|>~2~>*|> ~2>:>z7:>2>*|> ~2>!>6>!>ڰ7*>&v> ~/*>&: w!>4‹7:72"g:^ *:"|> *g:":*9My *9My *9My *~>My *>My *>My *|>":i`N#Fog_og_{ozg_ogDM!>))덑o|gV8 =D8DM!>))k8 =c8_{ozg^#V) ~8^#V|g}o ˆ8_{ozgi`N#Fogo&og_{_z#W LINK 1.31 $01/04/83?MEMRY$MEMRYX MEMORY OVERFLOW, USE [A] SWITCH$INSUFFICIENT MEMORY$OVERLAPPING SEGMENTS$ XXABS $$$XXPROG $$$XXDATA $$$XXCOMM $$$::;7;YYABS $$$YYPROG $$$YYDATA $$$YYCOMM $$$n;;;;INDEX ERROR$MULTIPLE DEFINITION: $MAIN MODULE ERROR$FIRST COMMON NOT LARGEST$COMMON ERROR$UNRECOGNIZED ITEM $! 6# x1)"&"")* "&}o|g"h%TH "(ͻ !"&2%>2%!"%"%͓*& "&*%m%&~!%4U*%*%{z҅"%*%*%{zҖ"%:{&5!%4:l%G>2%N;L͇!"&!Q"&!&"'j!"j%"$>͹:%C*%*)ͳ!"j%*)ͳ!"j%!$~͹# :}&YCe 2%*)"%* )"%!&"'<2%:}&RC*&**& "&:m%!%4R?:}&ʆC*&*)"%*)"j%"$* )"%!&"'j>2%>͹*%&DM) %~C*&#^#V*)ͳ**& "&*%m%&~!%4?*$"$@C*&:{&/!%4:l%s͏͠`*%*)6{*%*)6<{*%*)6C{͇!"&!Q"&2%sCH2*")"$*/}o"$"$:~&*)*)/")*%")*%")!$ w#6L#6N#6K#%!"$(!)*"){z"$G$@C!$2>6#='}o|g}|*&*"){z"&ZC8*&N #?!"$*& ~$ *&ˆ*&~#ˆ—"&:%<ª6C#6O#6Mò6O#6V#6L#%$!''>$w#=*$"$(<C!&"'*'*'{z!~#fo*' ~#fo*'"'!*&)*$"$G!*$#{zC:}&mqqbC*)}o|g6|>(~!6>-~*)+6>)~nC*$)*){ozg6|>(~*)6>-~*$)+6>)~|C*&)*$){ozg6|>(~*$)6>-~*&)+6>)~C*h%:{&0*")*&/6qU!(~~#>:!$\Q w#^6S#6Y#6M#%!$"e%"$(>2g%>$"$G!*e%{zڗ!$"$@U!(~#> F#~!g%5> 6> > *e%}e|%#!$"$G!}e|%!$w#"e%*%"%"j%*%"%<Lù!dʩ28"͹ó~   a*"#;͖ã͖ͣ͹|:{&ʯ>2%!C!?* * *:{&ȯ2%͖͹ͣ:{&>2%4:?(:|&4*;!!ĥW**͖͹*'}օ|'H*s#r*'*j%s#r*'"'͖*%"%͖͹"j%͖͹*j%*͖*%"%͖2&-!u!"o!!"#*#{z` gC*#2`2#2#̀ *"#:#=T 2$2#*#"#"&*"){z"#4 15*o!"s!*#"m!2&*m!###~| #o x !p *m!:O "m!d ʬ  Ë >#*o!*s!DM*m!yx >2# #:#= ʋ  ̀ ̀  Ë *s!"q!*o!*q!6@ ~3 5#͙  8! é2&*q! "q! :&Z >̀ *#*"){_zW*h%6f "h%l *"#;*# G*o!}|#ړ p#"o!V#^#~:# _:# z2##-16{2$*"#`*og"#   $ 7  G S . _ ͣ!!owC!#2͖ã͖ͣ!!o͖ͣ!͖*%"%͖*%"%5 *%"%*$)"%:#ʟ *o!++}u|!ڌ ~| #"q!*# "#!u!"q!! (*$*$/}_k*$+"$?*$"$*$yO*$w# +"$"#*#{z:}& CͲ 2#*%"%"j%*%"%Ͳ ʬ ͙ 6 F ù!^ ʩ28"͹ó~   a _ ͣ:}&q!?y*%6͖2&*q!###"q! l *q!~#"q! _*"# w# 6:]$l>2%!Q"&!"&!"#!6 #z 2%=2&!%4><N!%4*& "&}|`w2&e͕^ :f !&5*&#~+w=  ͢= :&ʻ>2&. e͕Ҝ  ͢| *& 6R#6E#6L!&6 = :%=7» ͢*&*& ~q# q#q#q"&8 G3)`>2{&$>%!"$-C*&2!)"$4!"$; *#>"#>E>!%5*& 6 # R"&x[eQt2|&åM2}&åSŠ2~&åL•2&åO»e@2&eʻ]ʽ,ife, )!&~ʻ6Me(:%:&»M [f»:&M:%2l%*& ~I#~R#~L*& ~L#~N#~K*& w# Dm%!%~o&:%w` ]` e e e e\]a :,[]().*?=!#54˜7O*&*&&#}2&һq*#6$*C>#~~@~>:~#~ ~>.~#~ ~*&0!>2&"&,!()_~#fo"&*&*&F#G:&*&:%g=>>2&N*")"& "")*&{zq Gw#Ÿww#w:%w,!()_N#Fr+s!q#p*&~*&~#fo*&~w*& s#r*&wF#.?*&F#~~@! "%*% }o")###")*% }o")*%"$)*%" )*%"&)8!ᇅog~#fo Lb *"#;ͣ!:{&!o>2%ͥ!o2%ͣ!F!#~6*#6#w2 6I#6R#6L#"#͖ͣ*%*{z"%͖ͣ:{&!!ʇ}!o͖ͣ:{&!8C8͖*%"%͖*%"%"%͖2&!~##%*%&DM) ~C*&:%=25**%#s#r*&2&*"#!# w#,%*"#-Q:#wTC!#2**#6*"#4!*6p*~#"#28"G!w#w«*:=*%=*%*)"!&56`2&!&~w`*&-O>_y"O2&7-,W|lgq$~H(|]}fƐ'@'> ~> > > |:(Ã_ œ2(å ʥ!(4:&}͹ͥ8 *$6?*$*$"$*$"$*${z"$w*j%#"j%}}2'"'ͨ8*$69 Ϳ2'ah"'!'":( :'!$n!$'~# c}2''-10:'2''!'w#‹'411!Y(":'<4ʾ2'*$~2Y(*'&'"'~#fo$$*$"(*'}G>o`"$!$20$×*'s#r*'ͨ!'":( U'12:'<:'B:Y(*$w!Y("'("$21$:'<:'ʄ:Y(*$wÖ!Y("$(*("$!$*j%*${ozg*$13*):{&:%<*'/14@ }" C2LK80 failure $:&<:(<.-------------------------------------------------- LK80 Linker 15 Apr 1983 Version 2.0 Serial No. ACB-0000-000072 All rights reserved Copyright (c) 1982,1983 Digital Research, Inc. --------------------------------------------------$ ----------- Load Map -----------$ Modules in library file: $ Modules in root: $ Modules in overlay: $unresolved external: $root has no entry point$no entry point defined for overlay : $out of directory space$disk full$multiple definition: $too many overlays$too many modules$symbol table overflow$multiple entry points in : $cannot open source file: $not enough memory$too many library modules$too many library files$cannot close file: $Code$ size exceeded. Short link aborted.$Common$Data$too many external-plus-offsets$index too big: $not a REL file: $expected module name?$toggle not supported?$expected ] at end of toggle definition?$unexpected (?$unexpected )?$invalid or unexpected character?$module name or type too long?$can only specify output name on 1st module$code size: $common size: $data size: $symbol table space remaining: $?MEMRY$$annot close file: $Code$ size exceeded. Short link aborted.$Common$Data$too many external-plus-offsets$index too big: $not a REL file: $expected module name?$toggle not supported?$expected ] at end of toggle definition?$unexpected (?$unexpected )?$invalid G:%:,}O!Uej"&- V.& 3(  (&b&K&  M,*',Q1i05O.N.43g410q1V5U54X1g$$$ 9:8DE)Fv7D#FFF< &f #"$#$,(J$!"` :=:i::222_--.222;LMx  C\o(267NBTSUTϫLOSONԚLEAҒINSNDBV+V,V-O HRATI͆EFSTҭEFINԮEFSNǯEFDB̰EƘELETŪNāLSŢRASŦDIԧRROҨRRX O/QO҂IELILERIOTωO TωOSUEEXNPUԅƋNSTNNMILEԈINűOASEPRINԞLISԟPOISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOUԝΕPEοCTUOKřRINԑOEEEAćUΊESTORŌETURΎE͏ESUMũSEIGHTNENUͬESETOАWAХAVPCTEGQI TRTRINGPACEYSTEͽROΣROFƤABHEA SINSAARPTIDTȡAIԗO۾yy||PF<2(z{i:::=:f<_<==:z6w6789q;e;;9NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeRedimensioned arrayDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflowFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file nameMode-mismatchDirect statement in fileToo many filesH8jII, in Ok Break!9~#N#F#i`zʳ ʹ Ý ʹ~ + *,  >>ƕo> g9*+++" $  0 *-|< :! $ à* "-  *-" " 6 * À {K2#* " * |/_#‰ * |"|2*X4! :#*!"-:  * ? >* >  2 â *  ʹ " +ڽ ͫ<=ʽ ~ K9ͦ " ҕ4ͫ" G ʯW-(ʆ *( ͼ "( t##s#r# w# y| ͮ !6"9*5"" A *7"9*" "5ý */bk~####~ Ҷ ڶ ͬͫø #s#rî   ͺ */DM~#+##~#foʹ`i~#fo?? :YG!9^#V# 5*/ 2 2 w#w#"( */+" !0 6#M 2! og" "& * " U*( "* ", 5*+++" ##! " ͆go2 * >?> 2 2 ;~"n Dw: ~D?>D8͗ڇ!AO ^#V#͗Oʢ#  +>͌2 ͌ó ! +``>2 ~t͊%͊>͌p~.ʗ:0: ~D.D>͌}͌|͌ó ~i>: *X |>}e. ҷü͌!X !T ~͌#=ó 7ʫý&DͫH> 8> ͌õ#͌:VJ\>2 2 U³ ~|wD~#͌b!@}O|G!>: y$ ~a{_w+=2 g~ ҽ ʽ ʽ> : \2)>+#~+!2)O:)J>\2)yʊ7  ʊ nÊ@#_ x<>ʕyq# 2 > oʥ 4|}~#ʫ *5|.:&) > :% :%<2%Oɯ2&:%> > 2%:*±" H> : 8 \:'G: <2 O*5|ʠz/7X4:1!FA ! |":*/2*>d2 ͙  "  *-ͺʈ:҈:̀:~d&94=:A9QZ~>5́=:A98OG* 3{" !9" ~:ʋ #~# #^#V"-:R ʊ>[?>]ͫFցL%O! N#F#~: ʫ : * ì#2 ~#o&" >2 <2  GZ9" !$  ҫ0?<=: F F* @###^#VC<! : 2 {9*/j `iү+". oo<Ó5" ! " !*-}<ʴ"$ * "& 2*! – á >2&2*>^@*& |$ *$ "-͆&:'G{<2">2R 1!J V9** ͺ,1ˆ:** ʹV9J V9>2 12 `i *, ʹe `i", ~,ͫM AOGͫ¯ͫAGͫx3À: * *-ʹ# ү > 2 N-`i$ ͙ " $ "-!F>:yHG+ͫȸ#"<֌W1ͺ" ̀ͧ!͈9P*X #^#V*/ʹD*+ʹL*( ʹL>#"#V9…ͫͺzs PYү" :! :#_- ͆&~Gʔͺ+K xʓ,Õ! " <2#~z€<ͫ* * "-~#####͆&$  ͺ,*  |" 2 " ý ̀~,̫4ͺ+9Lͫ} }ÒͫNN<>2&o\2+ͫʆa(BB,;̀?5"*5|*X :&ʿ:%:'G: "> "o: 6!> > *5|:"=2 *5|% ~9:&+:%p3:(G: 9/t̓&ͺ)+o*5|% ~o:&l:%o: / xͫv2&go"5ͺ#21̈́:ڝ8"?REDO FROM START : !|"* Z2!#">2*6"ͺ;"͙ ڝ#~+6,!*. 2 -ͺ,1~,U: >?͙ ڝ#~+*5|2‚ͫWG"u:,+9"!ͫxi>b>+ͫʝ,+ͫ): k*5|!|"Æ?Extra ignored #~#$ #^#V" ͫU1" ͙  " ~#~#.39n6M9D9͓9W####N#F#^#Vi`q;: 7r+s^#V#9D9i"-i`B" * ~,Fͫͺ(+ "" *" ~ڲҲW " ͫÖzG~" _: y#!MxVz-Q;z;!X : === !N#F#N#F#!T N#F#N#F*!KGd* Ã=:&9D&:&xdd!*X w&y2 xʗ: ʿWxzʈ:!w N#F*X i:́9"V "T 69i:!c: O ~#fó92 ʥ"X ê=:!mð&9]:A9"Z "X ]:&9]:8ͫ$ i> &<.=Ҷʨ"6"ʱ&Gͫ:#i Xͫ* C<‡ͫͺ(#t̓&͚2w1ͺ)|%:o $$ 6 |ͺ)}̓*" 81"X {9&ͫOH#:)0)G)7))))o7+ͫ)8 7)))0O %:#~ցOͫyY|ͺ,̈́:*X ͆&n͠} j=: N#fi#~#N#F#^#N#F{zد< #ʌ?8< 9Z̓:}/o|/g"X Ï: 7:zM<{;k F{o|P{o|< {o|2{/o|/}//o|//+ͫͺ,#2 F OͫJWOͫKK~%$!#xA_!0 V+z2 ͫ: =d~(1312 *( ** ʹo>&ã|wʹʹO*, ͼ ", `i"* +6ʹs#s#rW_2[ go"X /! "X * W*, ʹ: ʦ#‡~#ˆ~>##^#V#j:  DM7  $ w#_q#p#O ##" q#: y q#p#E;=BKڡ ", +6ʹW* ^) ++s#r#8 GO~#^#V#ʹҡE;=DM : DM)0 )5 )5 *" *, !9W #Ϳ"*+* }o|gC<:%i : og%:͎ ͠N#F!7: #!X ͫҦ ڦ ͫ: O! ͎ ͺg&s#rʭ !!s#r~(ͫ1~)ͺ, !: "" ~#fo ~(`!ͫ" !ͺ, >2 17҈:["ѯ~) !*" ͺ(* 1 ~)W!ͺ,ͺ,>!ͫͺ)>ͺ̀+ͫ ʶ!!Қ!p+qv!+p+qv!+p+q+p+qv! ["!YO q* *X ʹ!"u!! #~" w#q#pv!*-#| $ ͺ>2 G6QD "TD "?5"#$~#͕"N#F*"o͸#͕"! w#s#r+"P#~ K"K"<""̫#y*" >* "X >2 V9 ʹ" ~$ #5"#F9  Æ"*+* /O #ʹڳ"" #$ "* " !*+! * ʹ"0#*( ** ʹ#~###"1#_"*, ʹU#~#D9 #" N #* ʹ#"#ů#^#V#DM* ʹ`iʹ`i}+F+N+n& PY+DM* Ϳ q#pi`+"*X ̈́:~*X $ '"##* Ͱ#Ͱ#!W"~#N#Fo,- ù#̈́:*X #PYN* ʹ#G " * +F+N+ʹ" i #W~i ##^#V>'"͉&* sW"ͫͺ(͆&ͺ,̀ͺ)C$͉&F$$O$͉&> {'"_$* w#^$$$O>~w$x͕"#F#fh DM*"o͸##W"$k$~$ &o$=O~GC#i _#~#foFr~b>pͺ)Cͫ|> %͉&ͺ,̀̈́:ͺ,*X ̀ͺ)#7i #G=O>~x~#F#fh GN#^#Vt% k%#V%ѯx<#h%S%~ #~ #ͺ(1̈́:#^#V*+ʹڰ%"V9ͺ,͆&~ &ͺ̀#G!7y~<%yH #^#fk GN#~#foyw# %)&ͺ,͆&ͺ)͉&2$&i s&s&+ͫB&ͺ,͆&C&͆&2'V&/<2(ͫ̀:z͆&2D&2,&ͺ,Æ&ͫ̀j&+ͫ{>2& !"-N#F#xʢ *5|pN#F#ʹڡ " ?> &!&ß&~+#&&#~ ' c'&<~'#~#'' ̶:!:G@ #T]~5'#9'~6'y[R'~#_!+P'&+ͫ&' QD TD* ?: O ʕ' H '>&{: ڱ'!ʱ'#~ K9~#': ڷ' '.'D'E·'÷'{'* & W- (T]ʹ! |"! *( ʹ(`i"( E(~i ̀E(ͺ,͆&::[ :Z z6́̈́:ͺ;*X {(: ʅ(2 F#N#fiï(X~#\) ¥( ”(C>\*_W*W~#!)#))+>ʲ(+~#. )\ʐ(©($(*©(x#(~$> (#WV)~#.+)#),7)z@W)~#>.©(# V)~##+)T)T]^###xG#z+v)xv)~-q)v)>W)̀Cxz?|"+ͫ7ʮ)2 ;ʫ), ͫ~#N#fi_x¯()*r(#Æ>*)̀̈́:*X An$"*X G> ʕ) *z>+2#* <0*" ү`i##N#F#&|<>!?> ! ~#`*Gok*0ڇ* ҇*_zWk*!i*’*O++*1ڨ* ! ,#+#*c+-+J++(^+*[+>1*~+#*!D+7o_D+~!++ܡ++#~++&H*~>\+~D++͡+5+>\~ow+#J+6H*oʑ+ +ʓ+ ʱ+ʱ+ ʱ+ c+_±+>_ʹ+++c+ ~77#~+w#ã+y+>c+ o&DM#Ϳ w+#c+x+~++&z z G-!#-|"??+,Undefined line ,###N#F>!-* +p+q+w: ó,̀2ʡ1!$ ~}-#N>O #~ 9PY!$ 6i/ʞ1«-ѯÛ1<ʼ1!" ^#Vr+s̓2- PY-!-`i>".!$ ~Ć-i/&-̀2ʧ1!# ~+nk ̀2ʧ1! ~i *5~ʀDM$~̃-4~O#V pG.zw w23t2¡1!" ^#V~,+ͫ {ʶ1+s#r#6#6DM! {zV.w<.<ʼ1!! {w:3.9/!! ~!& .̓-.Æ~# .*5% ~#/+~#5O ~+~0/6/ /7>*5T]" N#F+q#p###6 N/i/=c/>w+w!% /7?*5$ 6#67̀#~ʳ1#^#fk_ڸ/N#~:ʼ/++@ʳ1y@ڳ1ҳ1l #0~.//7/#/z ʳ1ڳ1> //>  0/͕/l<ʤ1!\l w# 40ͺAͺS͕/:l!\l<¿1\̀#~ʡ1#N#F Oʓ0Iʓ0R¡1ͺ,#̫͆&ͺ,{ʧ1_̓2°1z͕/" 0{0!u~ 06B#6A#6S"5#l w# 0i/~ 1<ʼ1!17@?2C:$ 1!l6# R2ĕ/!mN2!uN2lʤ1O!  ~#y#2~ 2>. 2: W:'<2> l1~*6?# R2#t2ѻ¡1ͺ,`i"5+ͫ#̫͉̀&_:Yڧ1!9N#F ̈́2!& >>>ͧ!'"* ̈́9$>>>#<#N#fi2 {9x ,2Z2Z21̈́:W_z/ڭ1 33"%3G{,x%3PXz/s3!Oz"y^3 ʓ3 ^3O{,y3z/s3 ^3{ m3,> m3m3s3s33z/*3"~3 ¦3z/ڦ3 ~3,ʦ3 ž3z/ڦ3 ʦ3*5% 46!{ ʹ38"ͫi>ɷw#ç3ë03:Y22+ͫ3ͺ,ͺR 2Y21!6"9. :22Y*7"9"5z/<…4*/*+ ʹa4 /w#4ͪ ##"( !Y~226A :22Y:1ʢ F͆ͼ-Õ . 3+ͫz4X4 21z/<ʡ1*5% ~ʽ 4ý *5|B$ Ë3+ͫʻ4ͺ,ͺAÚ&ͳ,>.*( */ʹX4~#.4-:Y44=4~,ͫ͆&4ů4ѯt2ʧ1¡1& G~,̓&ͺAͺS1̈́:Oڹ1ҹ1q#s#r 571̈́:ͺ̀#F~O#^#V5*/ʹҶ5*( ʹڶ5Y*+* ʹ5y͕"##s#r#^#V#^#Vyx5yGyO55~#55> 56x'"W"ß5ͫͺ$ͺ(͆&~,06ͫt2¡1l2ͺ)}'"b6͡]6w# C6͆W"Éz/ڭ1P6!CD9z6D99x:[ 69Ҕ6/<&969c9gA7!X 6!77#47.W77G~_#~W#~O-7hcGy6JTeox62[ )zWyO6x\E7![ w6x![ 7F#~怩O69 4$ ~_#~W#~O!\ ~/woG}_}W}OP7CZQC7 o-yOzW{_xGS7V"vE88![ ~5pz68!e7t6!i7WEz6͸?1r8.͐8y27"7PX!6!7!X ~#8Wy7O|g}oxGz7CZQO&9!=398 .͐844+~2B8+~2>8+~2:8AOW_2E8}o|gxG>?S82E87y<=7{_zWyO)xG:E82E8y68![ 5687>.!d N#G.xʴ8}![ Gx8ƀw7c9w+8/67A9x7Gz6![ 47:[ :Z /<![ Op#6698<ʈ:!Z ~w9og%:ʈ:8*X ||8*X *Z D9"X `i"Z !X ^#V#N#F#X Z9: Gw#Z9!Z ~7w?##wy7O!^ U9Ç9!^ V9X T x8!88y!Z yͭ9#x+y+z+{z|88}8!^ V9e 8!88O!Z y#ª9+998*X ʈ:G:!7:[ .:͍:"X >2 ͓9aj$:Z:ʈ:A9:xc9!W F7*X :|U8ʈ:Z:!"T "V >>*: $ GOW_A9c9g:>A7|7-7z< 8:9:8:ʈ::![ ~:X ~͍:6{y6![ ~:;O+~+;!%:yA9c9+6:;!Z >_==2S )ڡ)^; ڡ=P;|G.);)ұ; ;=£;|;x*<;]:&9]:ô7x%:]:9| "<. < <7>{_zW}o|g=<÷;|G)<|%:Ooyg%:*X .<|:8;g{o(:*6=!\ L=G:Z !^ T 2C=# B=~/w!S Oyw#V=qv=NsY+k=a= W~w+€=y=!Z }=~w# •=8͆85>q=G4=͋=x µ=¬=! qA>+=? >>+=:Z <==!T ͕=! ͓=x=![ 5=7y2d + ~q+@>́9+~7wf<476|:`h%:~&-ʆ>+ʆ>+ͫP?.?E£>ͫL>·>~% ?#?!?D>?!>ͫ-++ͫ?>_{-?=?>8!7.: >?Æ> #>??=:i:8J>=8=yZ:7ҥ?t$͓9?ͻ8͸?}?s:J>́98s:f<}?&98z6{ ?0_2>! |"%:p@ @{"p@?6+9 @6-8#60: W: @@y@͜C!g F : _ =@x*=@Aqͫ]@E]@D]@0=@,=@.`@+60{i@+6${+p2 !g 6 WRB@Ҕ@B60K9C+~0ʣ@.K9@>"w#6+@6-/</ @:#p#w#6!g #zVAABzB͜C{̬8=B&@ Ap#6!f #:" ~ A*A+$Aͫ-+$0NA#ͫNA++wDAANA6%ArAC9A?+6%͓9iA8RBA_xBBCBB@_y;?A=?A{_xABBAByBOBGOCA*" =BPAZ:ѯB87RBy;?OzWO=? B.B/< B/>9=.C>9=p#=%C!T 39`Ck6<͍:69AD?BA9/{_#zW#yO++tC!7#69p#fC>âCGD>BN#F#*X /}o|gҵC"X p#=¢CBw1_cƤ~@zZrN vH Tʚ;@B''d GE(f կpD))))Dy=ʁDʍD0:ڊD ʚDlDjD!9&9!C39ñD=:8xDD 6yA9D:͓9|"Z "X ܝD9v7ʹ7&98;ʹ7:[ Ү8:ƀڮ8!e7n6ͮ7w69!6EfEJô7@.tpO.wnz*|P~&9;A9ʹ7&9~#39=ʹ7D9z6oE8!EE!F39!EȆw#O D9ʹ7:E<2E!FO n6A9{YOO6+F6!E4~֫Ew 6!FM9w+w+wE5Jʙ9v" GSљ e͘w>ROhFhiuh!mFn6&9I698&9:w6!qFt687YFk689!qFn69!uFWEId&X4#]I&9)F&969#F88D9:[ ڼFQY8!t6!FWE!mF J;xn{/|t1}=Z}~L~l */+6*Z~3â !I"+" * ^#V"t"H##^#V"##^#V"h##^#V" !"-2*2 2##"%! " *" !~>2Y"ZGF#~+w##lG+p"Z!ͫG/ʟG+6""Z#/ʟGͫGGpͫMʮGF ͫͺ:Gz{2YG" +ͫGͺ/ãG* +"  +:Y!F"792Y<s#r# =H#"/Iʹ "+" {ozg ?!pH|"!|"" ! "F Owned by Microsoft Memory size Bytes free BASIC Rev. 4.51 [CP/M Version] Copyright 1977 (C) by Microsoft 15 PRINT "THIS IS THE GAME OF MASTERMIND - WOULD YOU LIKE THE RULES(Y/N)"; : INPUT R5$ : IF R5$="Y" THEN GOSUB 1000 20 RANDOMIZE 30 DIM X(4) 40 REM RESTART FROM HERE 45 GOSUB 600 50 REM LETS GO GET 4 RANDOM NUMBERS 60 FOR I=1 TO 4 70 GOSUB 550 80 N(I)=A 90 NEXT I 100 PRINT " GUESS"," RESULT" : REM START GAME PROPER NOW 110 PRINT 120 FOR J=11 TO 20 : REM 11 TO 19 = 10 GUESSES 130 REM 140 PRINT " "; 160 PRINT "GUESS NUMBER ";J-10; 180 INPUT X$ : REM INPUT A 4 FIGURE NO. 190 REM NOW MAKE SURE IT IS 4 FIGURES 200 L=LEN(X$) 210 IF L<4 THEN 130 220 IF L>4 THEN 130 230 FOR I=1 TO 4 240 REM NOW MAKE SURE WE HAVE ONLY NUMERALS AND STORE IN ARRAY X() 250 X$(I)=MID$(X$,I,1) 260 IF X$(I)<"0" THEN 130 270 IF X$(I)>"9" THEN 130 280 X(I)=VAL(X$(I)) 290 NEXT I 300 REM NOW WE GO INTO CHECK GUESS MODE 320 C=0 330 FOR I=1 TO 4 : REM CLEAR MARKERS LOOP 340 N1(I)=0 : X1(I)=0 350 NEXT I 360 FOR I=1 TO 4 : REM CHECK FOR *'s LOOP 370 IF X(I)=N(I) THEN X1(I)=1 : N1(I)=1 : PRINT "*"; : C=C+1 380 IF C=4 THEN T=T+1 : G1=G1+(J-10) : G=G1/T : GOTO 480 390 NEXT I 400 FOR I=1 TO 4 : REM CHECK FOR ?'s LOOP 410 FOR K=1 TO 4 420 IF X1(I)=1 THEN 450 430 IF N1(K)=1 THEN 450 440 IF X(I)=N(K) THEN X1(I)=1 : N1(K)=1 : PRINT "?"; : GOTO 460 450 NEXT K 460 NEXT I 470 NEXT J 480 PRINT : PRINT : PRINT N(1);N(2);N(3);N(4);" WAS THE CORRECT NUMBER" 490 PRINT ," *** YOU WERE "; : IF C=4 THEN PRINT "RIGHT ***" : Y=Y+1 500 IF C<>4 THEN PRINT "WRONG ***" : M=M+1 505 GOSUB 600 510 REM AGAIN? 520 PRINT "AGAIN(Y/N)"; : INPUT Q1$ 530 IF Q1$="Y" THEN 40 540 GOTO 580 550 REM FIND A RANDOM NO. SUBROUTINE 560 A=INT(RND(1)*10) 570 RETURN 580 STOP 600 REM SUB TO PRINT SCORES 610 PRINT 620 PRINT " ** SCORES **" 625 PRINT 630 PRINT "MINE","YOURS","GUESSING AVERAGE" 635 PRINT " " 640 PRINT M,Y," ";G 695 RETURN 1000 REM SUB TO PRINT THE RULES 1005 PRINT 1010 PRINT:PRINT "I WILL THINK OF A 4 FIGURE NOUMBER ALL YOU HAVE TO DO IS GUESS IT" 1015 PRINT 1020 PRINT "I WILL LET YOU HAVE TEN GUESSES (IF YOU NEED THAT MANY)" 1025 PRINT 1030 PRINT "EACH TIME YOU MAKE A GUESS I WILL:-" 1040 PRINT "1) INDICATE HOW MANY ARE RIGHT AND IN THE RIGHT POSITION WITH A "; 1050 PRINT CHR$(34);"*";CHR$(34);" IN THE RESULTS COLUMN" 1060 PRINT "2) INDICATE HOW MANY ARE RIGHT BUT IN THE WRONG POSITION WITH A "; 1070 PRINT CHR$(34);"?";CHR$(34);" IN THE RESULTS COLUMN" 1080 PRINT : PRINT "I WILL ALSO KEEP A SCORE AND DISPLAY YOUR BATTING AVERAGE" 1085 PRINT 1090 PRINT "TYPE RETURN WHEN READY TO CONTINUE"; : INPUT R5$ 1095 RETURN INT "1) INDICATE HOW MANY ARE RIGHT AND IN THE RIGHT POSITION WITH A "; 1050 PRINT CHR$(34);"*";CHR$(34);" IN THE RESULTS COLUMN" 1060 PRINT "2) INDICATE HOW MANY ARE RIGHT BUT IN THE WRONG POSITION WITH A "; 1070 PRINT CHR$(34);"?";CHR$(34);" IN THE RESULTS COLUMN" 1080 PRINT : PRINT "I WILL ALSO KEEP A SCORE AND DISPLAY YOUR BATTING AVERAGE" 1085 PRINT 1090 PRINT "TYPE RE $1,000.00 $102.34 $2,000.00 $409.36 $3,000.00 $921.06 $4,000.00 $1,637.44 $5,000.00 $2,558.50 $6,000.00 $3,684.24 $7,000.00 $5,014.66 $8,000.00 $6,549.76 $9,000.00 $8,289.54 $10,000.00 $10,234.00 $11,000.00 $12,383.10 $12,000.00 $14,737.00 $13,000.00 $17,295.50 $14,000.00 $20,058.60 $15,000.00 $23,026.50 $16,000.00 $26,199.00 $17,000.00 $29,576.30 $18,000.00 $33,158.20 $19,000.00 $36,944.70 $20,000.00 $40,936.00 $5,000.00 $2,558.50 $6,000.00 $3,684.24 $7,000.00 $5,014.66 $8,000.00 $6,549.76 $9,000.00 $8,289.54 $10,000.00 $10,234.00 $11,000.00 $12,383.10 $12,000.00 $14,737.00 $13,000.00 $17,295.50 $14,000.00 $20,058.60 $15,000.00 $23,026.50 $16,000.00 $26,199.00 00100 defint i-n 00200 recsiz%=32 00300 open "R",1,"B:RANTEST.ASC",recsiz% 00400 for i=1 to 20 00500 print #1, using "$$#,###.## ";1000*i,102.34*i*i 00600 put 1,i 00700 next i 00800 for i=1 to 20 00900 get 1,i 01000 line input #1, prices$ 01100 print i,prices$ 01200 next i 01300 close 1 01400 end \T)) DEex9/oSCDE 'CtD("`D }  }D~DDD<j""OLrLLXPjM#$m$]YcXSrZqZSnR/SYX}YITHTiSdY9IjItIV(Z*A(678&,7{89#9JHFIHH"IzFFT)))G*WQZQ]Q]UVV>QAQDQ;LM$Xq"9BLdhiNBTSUTϫLOSONԚLEAҒINSNDBV+V,V-O HRAL̶OMMOθHAIιATI͆EFSTҭEFINԮEFSNǯEFDB̰EƘELETŪNāLSŢRASŦDIԧRROҨRRX O/QO҂IELILERIOTωO TωOSUEEXNPUԅƋNSTNNMNKEYILEԈINűOASEPRINԞLISԟPOISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOUԝΕPEοCTPTIOκUOKřRINԑOEEEAćUΊESTORŌETURΎE͏ESUMũSEIGHTNENUͬESEANDOMIZŻTOАWAХAVPCTEGQI TRTRINGPACEYSTEͽROΣROFƤABHEA SINSAARPTIDTȡAIԗHILŴENĵRITŷO۾yy||PF<2(z{)T)*)++<- .M)h%e%&I'( +*)+ )NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many files$$$$$$$$$$pP8__ :, in Ok Break!9~#_  Q N#F#i`zs C Q  *|<ʔ :  D=96543>7@?2C: * "   *" 2 2 |< "  * åC{K2* " * |< " " * |! 1 1 5wY2%B!{DM 2O R >(_#R * ~?l !M GC2B]Y|RA2 S%B!B :*ڿ > @K 2 Ä 2 *  C " :_ ʟ >Kڟ <=ʟ 4͵~ ̘(" YS\ " 8$ܐ"ʄ: Y*s " * ͽB" t##s#r#  w# yzͬ!6"*" >C*"* "ß *bk~####~ Ҵ ڴ  ö#s#rì)C) *DM~#+##~#foC`i~#fo??2f 2e ; ~"D M:e ~?>jXEZG#XO#X #X #eSʀTXO>ÎXU#XB>X!AO ^#V#XOm#y(~.!>m>b2f b"è+88>2f ``>bF~.j:0:f ~ʖ.>b4͵}b|b"~ͭ.͵:d * |>}e. ҊÏb! b! ~b#="iʗé& YH> > bgÈ#b:,J2>2e 2f U"~|M~#b8!@}O|G!>: y +=2f Xb#XEx:"0x.x"~ ҩ ʩ ʩ> :f <:=:+~ ʵ ʵ ʵ#>d2 }9C" :d ͨ! ͚(" !9Q  +V+^##* C" B* *Cb UT)~L l(x)͎(QZ~>y)͎((ObG+  $ * "* 3ÙE3qB" !9" ~: #~#ʂ #^#V": >[@)1>]@ ցLO! N#F#~: Ҋ څ*:i 5*g #2i jK_~#"g &o"k >2j !~##"g +fP<2j k Gͧ("g ! 0?<=:i Ҳ ڲ*k ¬###^#V+/:j 2d *k " *m " /!k (/E AOG  EAG xC| mRBCÜB4*>3à4:i *g *C# > 2 $`i M "  "!>:yHG+ ȸ#"<֌W0}9C" :d G:d x@ͨ:d  K ‚* #^#V*Cv* C~! C~>ͷH͓FͷHͣ(· C4zʥPY" : :_ n ~GC+K x5,  <2~4z < * * "~#####n $  ?)@C,* ?4 |$" 2 " ß ~, fC+`( ʝ *k  n>2âP+ 2B ?ff,';b81ͷF6 * 4*| * ::G< : ?:G< :b ?=2BGâ*|% ~]:J:G<:]W:G:b ]2B]/ O uz}*|ž::“:o<ʞ&+C)+*|% ~:::b /<2B{= @ é2go"C#ʄQ?Lq}9*'KDͺF>0?Redo from start #~ "6P: !#G* P!^ *#[?L">2>2 ͸F~,‘2 ÕC;G: ʭ>?@> @'KD6,+>2 }9~+(#  "6() , ~,D>2 S: =Db̙H+ ~,ʽ+ P6,4* 2 @C,}9~,R: 2 *|tQb• WG": W|:,+ͻFO: y!1 ڭ.Ҧ.+ ʰ,I+ <: C*|#~# #^#V" RCC(+B͑2 " * ~" ڍ_1:d {LH !xVzʫQڹzʹ! :d === N#F~#N#F~#! N#F#N#FKG* W " Ï)s(6ÆT)sÆxdd!@bU* MFÆy2e :d e*Wx'zNxbz m! N#F* )(" " ̓()!:e og~#fo(2d 5" :)!@s()͎(" " g)s()G'  ڭ.EH ڒ<=ʑ:"ʸFM&g : * + C(#k -Q}9C)|$Ͷ)ʼIʄBHTQC)}* E(}9" b(~a{_&4 YOʫHª#~YEҕ:0ÜG7))))o |+ 8  )))0O ëͶ)#~ց (7>O y C,** n '2} )F>2  N#fi-++2 }9:d " " ͨB!9(:d * ~)C,* C,}2K 2d !9(!9.,:d G:K Od$}!M Oͼ=* * C)>" : OBO/2 OÂ9~ #~ #QJq 2[ [ +  C,n  4 n 2A 2n 2A 2A /< T)zn 2 2C,n R $+ {>2\!"N#F#xʄ *|fBN#F#Cڃ " )1~ > @ !_ 2BÊ ~># _ 2 \ #~ ! _!>!_.!!!,!: *!<*!> >2 { :! ! <~G!#~#U! E*!:G@ #T]~c!#g!~d!}!y_!: >2 å![œ!2 ô!: >2 ʰ!> HG{÷!~#_HG!!2 E0:?+ ͒! ~6 ʁ6*k 81:i O " H">&{:j )"!)"#~ ̘(~#[":j /" L".V"DV"E/"/"{d"*g $҂"T]C$!B G!* C”"`i" "\~"\C,n T)b: : h% PX#,")BK#C,)#C,4 z$`iC$A# $!C$^{#VT#~#+1#w#^{#Vr##s#r [# 2 *+#~##^#V ʀ#O: y#º# Œ# Œ#?z##‰#? > $%B!#G)1!1+É#Undefined line ‰#?###N#F>!#*g +p+q+w: x#CBCACSCE: * * C ~0  2 <2 ~i$#_$jAz$T)Ó$!$GKD#b~{$"l87Random number seed (-32768- to 32767)$*" + $$$#~#Y #^#V" y~%$$$$$ $** "}9+ $C%C,+%": 2 2 !6͑(h%͑(N(x: ʃ(҂%/2 s(!{&ͩ7s(̓(!&ͩ7I's(.(h%(.'y2'"'PX!%!'! ~#9'Wy'O|g}oxG1'x Gz'CZQOs(!-̀((t0.'44+~2z'+~2v'+~2r'AOW_2}'}o|gxG>?ҋ'2}'7y<=':}'xʤ'> &{_zWyO)xG:}'2}'yn'! 5n'%>.! N#G.x(}! Gx(ƀw7'Ͱ(w+(/%D0͎(xd0Gh%! 4d0: : /<! Op#6÷%`(b+ ! ~w`(ogö)b (* ||)(* * ͑(" `i" ! ^#V#N#F# ç(:d Gw#§(! ~7w?##wy7O! ((! ( b x(!(((y! y(#x+y+z+{z|)(*(}*(! ͣ( (!(((O! y#(+@)#)((b* s)(!6(+)v)Y%: 2 : *: —)Ü))|/g}/oö)! : ҿ)*" >2d (ajõ)b) ͎(*xͰ(! F&* *|U3(b )!" " >>û)b GOW_͎(Ͱ(g@*>B&|&.&z< b(Z*N(Z*E(bҀ* ͩ)! ~: ~*6{yͷ%! ~¤*O+~+*!£*Ͷ))y͎(Ͱ(+6+q*: O! >,,2 i,! ~5#*!x*>);)* ;=*|G+y +|Gz))s(+&0|ʶ)ͺ+DM!>)a+)I+ a+=;+|Y+x+r+)s()&x))N(| ͺ++DM!>ã+ Ң+7>{_zW}o|g=™+O+|G+|)Ooygö)* +|*3(̀+g{o͹)+! ~w! ~G+N (*,/<#Fwx+ ,F+N9Ͱ(! G>w2 ! ,: 2 x^,,ң,4l0)-ã,>,! ,G: ’,! Vwz# w,xj,%! 1-,xʣ,! w%: ,! ~++w! 4#º,4l0+6- ! ,>!  2,# ,~/w! Oyw#,q-NsY+ -, W~w+--! -~w# 3-(: %'y.qq-G,)-x Z-Q-i,! -i-L} : AҞ-z-! ͣ(<-: -2 !N(- ! ͣ(-+ ! ͣ(>--+! .=----! 5%! >5=->! N#F#=.>! p+q+=.: x0: %'44l0y.!4 qA>,?P.>,: <=,! 3-!- 1-x>.! 5>.%y2 +3 ~q+„.(+~l0w+4l0% *J%>2 `h̶)~&g-.+.+ ڸ/.b/e.E/ l.L.q.Q/:d */>*/~%o/#~/!/d*/DA/͆/ 0 +0A/_{_//E/E(b!7'Ϳ)b A/܆/.#7'T)A/͆/#A/))b(.=b>'-2 *_$2b > i$> i$! 101͝(b0! 1͝(* |1* C! " ! "!= GGͶ)1U11C16+`(U16-E(#60: W:d 2215! F : _ ʎ1x*Ž1{Ž1Aq ʮ1Eʮ1Dʮ10ʎ1,ʎ1.±1+60{ʺ1+6${+p2 ! 6 s(* * 2 u2E~2:101 #~1>DG1" `i" #~+]2-420OxG]2#~2`xER2y 2>2 b2|2J22" `i" ̓(#Wk4: 2Ú22Ҟ2 560̘(15+~0ʭ2.Ę(2b>"w#6+26-/</ 2:#p#w#6! #z`335z45{'=4q13p#6! #: ~ 3*3+.3 -+$0X3# X3++wN33X36%4|3 6)381+6%(s3(k43_x4415453_yģ/3/3{_x34434y!5O4GO153* =4P 3)ѯ 4(7k4yģ/OzWO/*484/< 5/>,Z5>,p#=Q5! ̀(Í5Y%>*̓(n6?5͎(/{_#zW#yO++ҡ5"&#̓(p#ړ5>5t6>5N#F#* /}o|g5" p#=55w1_cƤ~@zZrN vH Tʚ;@B''d G" կʝ6))))®6y=ʮ6ʺ60:ڷ6 6ʙ6×6!N(s(!6̀(6)!R%>2 (x,76ʚ0%y͎(7g*(|" " 6N(͝&&8;&: a7hs7s(g*Ɓd7e%!}7ͩ7J&s(: p7%b0̓(|Yt&wz^Pc|u~r1s(m+͎(&s(~#̀(=&͑(h%ò7RO !w&̀(7*(!J8@8!k8̀(!J8Ȇw#O ͑(&:I8<2I8!k8O \%͎({YOO6+F6!H84~֫78w ͺ%!k8Ú(w+w+w85Jʙ9v" GSљ e͘w>ROhFhiuh!8\%: w"~&s(g*e%(8h%h%(N(h%N(: 82 !8͚7: 2 "~Ie&X4#]Is(́8s(̓({8G'(6N(: @9QYI'!b%!J9͚7!8 J;xn{/|t1}=Z}~L~l+ C,o92c NE G2#~.9ʧ9:ҡ90ҧ9E9G#~:ҿ90Ү9EҮ9.ʮ9x' 2~&99%$!#y_! V+z2d : =ʒ;:~(;3;2 : 2 o:*  " U:oM::d M::&* C;^#~#¸;:d ¸;~;#^^#V#˜;:c DM7']< #:¹;#ʾ;+͸<þ;:d w#_ʖ!@)1> @!_  ~#=GB"=Y0A= A=_zW"=! =L=ʺ>O>>ʨ=1g= !>=#ʻ=>>= >>(9>ʵ=6>>@2B<~>#¨=!>7B_>~=>܁>=#~== 2B<~>\>~>>́>=>\@~B +> +>+> +>>@ >w># >6Hͨ=Bq>s> >s> ʑ>ʑ> ʑ> >>_‘>>_ʙ>>+>> ~77'#~+w#Ã>yڡ>>@>> o&DM#Bw>#>>x+>>>x+~>> 2Bz @9B> z<-BÄ *C;* #?: -?2 F$#N#fiW?X~#\ʣ@ M? \@@_W@W~#!ʠ@#ʳ?&ʛ@y@+>Z?+~#.?_ʏ@\8?Q?$ʬ?*Q?x#ڤ?~$> °?#W@~#.?#ʳ?,?z@Wó?~#>.Q?# @~##?@T]^###xG#z+(@x(@~-#@(@>Wʄ@Cx$z91G+ 7`@2 ;]@, ~#N#fi_xW?@@@?2B͜H@~#@q@ä@>@ʄ@** A@IG* G@@@z>+@*|+V:jA A:=2EA A> @:A ;ADA:<:;A![ADA<2Oɯ2:> EA> EA2:HG‰A:b ʛA=2b >üA žA> @:b ŽA ڼA:G:b ʳA2BʼA<2b O*|BpW7' S: P:!>C!B G:DD/2DD:b 2B6!^ > @> @*|HB:TB2ɯ2b :=@[BBB2FDD ͱB˜BʤBBͧF* wF!A " >2d :2BC~ +B*s  >ƕo>Bg9*++"  CWGCB* C:G!^#V#CS*~D2 2 2 w#w#" *+" 2 2 : _C! 6#XC7!k8͝(!H8w#w#w2 og" " *s : ŠC" C* " " S*++" ##!w "u R%RAgo" 2 "K " " 2 * |}~C##~: *C4`i+" <DS" !w "u !*}<0D" * " 2RA%B!G _ à >RD22>^@@@2B* | * "n <2>2 }9! ͣ(* bC,}9b * C$ͣ( ͣ(>2 }9$2 `i D * CD `i" ~, D~A[?BC,E + BCC,BC*,9E"|$+ ~EC,~E +  !NCB͐EB*  CB"s "BC**s {_zWRE}_|W2 " }9" M ^#V#* C ~#~#È(: E! ̀(\%͚(͑(((F####N#F#^#Vi`: F* F +:d  r+s^#V# )͑(:F"i`ã" * ~,§ ͡E͖H~#N#F͝H^#N#F{zد< #bF?*(~6ÉF́6ÉF81ͷF͙HH~#,GN#FͬFo͌H>,G! w#s#r+"P#~ FF¾F" x,F F+~ F#yͬF >*u " >2d ͣ( C"u ~ #ͷF͙H͓( @ {ͩF_H* w#0IHͲIO>~IIx,G#F#fh DMͬFo͌H͝HFͲI=I~ͷI$JAI=O~GCH_#~#foFr+ ͦ.pC)C b>Iq $C,*C,* C)͖H7'͜HG=O>x~#F#fh GN#^#VFJ =J#(Jѯx<#:J%JC(}9*#^#V* C~J*C~J͓Fͣ(C,n $~J͖HG!7'y~$<ڱJyH #^#fk GN#~#foyw# J)JC,n C)* * b¿͙HWG* * ÿ>?@> @KAqK6/Kp22 AfK2B!=:>\2LKK@>+`K~@K+@K@2B!_ 2O8K:ʇK>\@2yKFD7 2L K «KKKFDKKK@> @>YKK>#`KK62B!_ K Kx<L*|>L!_ 4"hyq#@ K2b > @A#L KqK: -Bw!^ >2 ;2 " $ ͶL33fL " ** ÖL ͶLL" *" ##^#V#~#fo"`(ʪLA3ç* "ç!9~#L úLN#F`iC úL >2 }9b(T)"  B!9 + " UMC(}9s#r#~,3M MC)" >!=UM=UM=UM!9DM!`M* * * ç2 2 ~}M2 #+ gR!" + MC,,ʮM"" + MC,MCACLCL3OC, 2 $`i" MT]" C$3O*+#~#ʺN#^#V" N:N.N +N N>2 }9ʍNyO͒;>2 ZN~(`NéN~($}9zyNyO:d W:z$BK!N N 2 ~(`N ̀N+ N(³N C)NC,4N* * C ON#~w##͚< NN* " N* CNy_xW `i" * C3O#~w##͚2 : @S:2ÌR2 2 * DM* " * #* " C,P `i" * |*+ʧ `içP+ ʷPbʧP81ͷF* #^#V ‡Pr+s+5G+ ʷP;ʜPC,+ >,@dP>"@G>"@ÊP*|P~P/\}o|gP> @+|P2B#QѻP C,`i"+ # q _:ڣ !N#F Q!&;Q! >>>ͨͩF* (H>>>͖H$<#N#fi2d (b ,˜QZØQP}9*W_pWک «Q›Q"QG{,xQPXpWR!_ Oz"yQ .R QO{,y]RpWR Q{ R,> RRRR]RpWQ"R ARpWAR R,AR 9RpWAR AR*% 46!^ { URBͻF ͭ.ɷw#BRçXgR:2+ ʑRC,CR 22!6"(C:2*""*#|<¼R"pWڟ R2 RC:2: P:ʄ çUC(CBgR+ @S S 2pWڟ <ʝ *% 4ß *|B iR+ ʅSC,P>\CA x#\>-V* *C S~#-V×SU:SS=S~, ~# n SůͧSѯQʣ  ! ~#fo" !"\| G~,k CACS}9*O*\ "\* Cڵ q#s#rT7}9*͖HF~O#^#VT*CҥT* CڥTY* * CTy,G͖H#s#r#^#V#^#VyҺTGOTT~#TT> TTxͩFFÎT C$C(n ~,U Qʝ PC)}$ͩFTUͱB=UBOUw# /UFDpWک BUQʣ ʝ !$ ~ʌU#~U`i.WhU>O #~Y(PY!$ ůw_Wʚ ºUѯ× <ʸ !" ^#Vr+sQU PYU!U`i>>V!$ ~ĕU_W&UQʣ !#V! ~+nQʣ ! ~*~D[DM$~̒U4N#V pbVzw w+s#r#6#6DM! {zVʶVw<´V<ʸ !! {w:V.W!! ~!& V͒UV~# V*~\% ~W+~#5O ~+~%W+WV7>*T]" N#F+q#p###6 CW_W=XW>w+w!%V7?*$ 6#67͖H~ʯ #^#fk_ڮWN#~:ʲW++@ʯ y@گ ү  #W~.WW7W#W2 z ʯ گ > WW> XW͋W<ʠ ! w# .XCACS͋W:!$<» ͖H~ʝ #N#F OʏXIʏXR C,# n C,{ʣ _Q¬ z͋W AZ" X{X!~ X6B#6A#6S"# w# X66_W~Y<ʸ -Y<-Y   Y!"w#w#w#w~NYC+W* & p# TYCSS _͋W<ʠ ·Y!6# 9ZċW2 !5Z!5Zʠ O!  ~#@y Z~ Z>.@ Y:b W:#Z> @@2BY~*6?# 9Z+ TZ* C$! s#r#whZ2\Q ! ^#V~,+  {ʲ +s#r! w#w! ~#fo!CZ[BK>!)Z)#Z))Z Z#=Z}_}la)$[#x$"\! "\!& "\!}o|gC0[bk:\t[CE[͑[DM*\*\["\PY͐[}o|g*\#"\[͑[DM*\*\["\PY[[2*\! ~#foCs#r·[:[![!# iV~# x[DM1\ʵ &\! w!% V6 [zw/\ʵ &\! ~!!\! ^#V! s#rDM\\C " x#U\>͍S͏\C ** C!J9}o|g!8}o|g †\ \\ \\ ** C!8}o|g!J9}o|g \ –\ Ö\*|<: $C*+6*^~mRÄ !_"" * ^#V"B"jB"##^#V" B##^#V"A##^#V"KA!"22a 2 2 2!"!" !w "u ! "I *"s >2!^"^:^^<2^!~"^^F#~+w##Š]+6"^! ^/ʾ]+6""^#/ʾ] ¯]^6 S^M]F C:b]z${$2]"s + ^C/] C:b" ]+*s +"s +:!\"2<s#r# *  DM=:^#""" {_{ozgB|g}ok^|^!{ozgB"s "" " *B}o|g!^G)1!^G!G" 2B!| "\ Owned by Microsoft Bytes freeBASIC Rev. 5.1 [CP/M Version] Copyright 1977, 78, 79, 80 (C) by Microsoft Created: 14-Jan-80 ___________________________________________C/] C:b" ]+*s +"s +:!\"2<s#r# *  DM=:^#""" {_{ozgB|g}ok^|^!{ozgB"s "" " *B}o|g!^G)1!^G!G" 2B!| "\ Owned by Microsoft Bytes freeBASIC Rev. 5.1 [CP/M RSUBD%9*P59-eS&HB`0 f0 D8D"i$R'b@1GM@!"JrLd$$GM!"JrTPRSRDH%=%9&$TTYSTRSbEEEH1AQ=R$OSEXTUd5$T A5]I&P5"ER@*b11`0T`XF^b,3h-!@*D"! l H#*>jYnò Vv@?vڮWͧ Ea p \ .K@#*@=AQJ2 U#"M]2 c)Q=UR2.ISL#%9%R:2SSc`1AQ=R2QSTc=MaR:RSQQe=R:T#1 A59R<TPc A5YI:<UԒc2 A5]I6pQV d5$x A5]I6CPMENTG@2j*rp!&#2jlPBD4IU:P5f E2@lC14C$\h@"44)8ͦP!"Qp#Ym%[a0 2C10#W gjڠ6df0݀!@#Ep%^uTO*0E&EP4$RBDh$$RSPBD4@$DKC0BE%T$ZROd5TH̘CPMWRMdDU$dhXDIRTMPdd NAMFILSU RD9$STP VU bBDe4dA196$$OEIP TQ RBD48IMB$$RSP2 ՔRBE5e(Q J$530 "$$STKPUQ bBE$EI$$INWK bBDD4 UI:$$VSTR BD4ň1$$IOVF ՑbBED$x=Y$$OODE QbBE%tX=$$MOVF `bBEDU(MQ$$ERRV STdDU$Q1:$$MADRQST`bBDc$$F0.5  `bBD55E( 9R$$DATP UbBDdAQI%2$$DKCF bDDd%8$IN$CH  bBE%5D%AR$$FRPT TQ bBD4=A$WRTCR Q bBETT=AQJ$$TOUT U bBEu$c]I$$PUDS SbBE$D8YIM:P5ta 0 KA EJ ux63i(I[HB]l ɠͰE$%3i(@eU(#o1FrXU<|`@Lȇ`"!pEaf 0lWl+|]0%PffѰ!VtE0@"\p.E@UVb; jʢ-Vmui(0Nb3EI@{fqb V |2 hó` Q9'J SDF~L4p VeU@LF~M6p#+.QKDb1OVU`? $Bk@ Ͳ`Q$t2`r9Bho &(u6 j)[@ ~WZ@Di7T 8Ͷ,:66H 6Zzo dxڹ ,a4fXҸ,L|M"f?/6 'Ad9Ng5|fmqXtl| f)GgUM#3 p\0O"uYEmV+CXnQVdZ.Kdˀ%@@ kX\.K% pP0\.K%@@ p`\2. K@% q\L.'K%ŀ q\h.7K%` q\.B"K@%p r@0\Ą( HHIiq HH ĄjIְ,HH`\alĄƱ HHĄ* HHĄhi HH"ĄH(@ HHĄ *ְ,HH`\apĄƱ HHĄ) HHĄ HHĄh1 HHĄ)q۰ HH,Ą*( HHĄ H@,HH4Ą))@ HHDĄʩq HHĄ舱 HH<Ą Qp HHĄ ɱ HH4Ą q HH7Ą ɑڐ HHFĄIȈq HH8Jj ,HHe'ĄJj HHĄhqۀ HHĄi HHĄjj0*HHPĄjJqѰ*HHQHHĄH HH?Ąꪑ` HHLĄJi HH#Ąi HHa;ĄH1@Hh\afHj\afHi*HȑHĈJJ Q HP,Hĉ)Ĉ( HHĉ)Ĉɑ` Ha~ĉ))1`,Hĉh HĊ*  H]2ĊJjQր H)QTԠbDU%%E(IIAJP5d@ ?TlzeQN#yQ Ln:O)o9 &T`DRTN'CAt2T< im0 n!d(QH*`HeI HaH)ӀSRD)@քa rY(YTpaH!  `COV(Mh" 3n(eV]4hER@`*U`(HVaph,Papmif H\@`E; ,r84 0"3n(4f4uX,hڵ +0PWXf`8g<YT r aR0y,<, 66 ¤`'L_5LVdeS*l 6x"eT0ZYZ_UC U aV0mDmV)ZET|FeYX² #`CzOYVDV~VF6k %n; j@)!"bf!Fn)!"e#$(FI@1!"J $d$)C@1!"b2jd))F@1!"bЕQT`RDĕ@Ԍ1ZQP|Zf m $T:c"@ M22*I  %1B2@ Tc IMB:ITc# MM2ЕQЕQ4%Th UAQJP.ˀc U<Qѓ RDdD1 P5Xf+U@ $#3XBDX`e p @@vjX7Fv" b3V91 HHĄɨQ HH.ĄH H(ɈQ  ȈHHѓ ȅȈ*0 \8Ք BEeI@Ԅ >@P!O @KEɌbBDd($$RSPbBED$x$VPTdDDe8xDERBFNddBDIREcAX $PV0CI REcAX $PV1CIQ REc$AX $PV2CI bBD4y@3k`h60 63lh60 63k`i(60 63li60 63k`jH60 63lj60 `#ƀ1ZP0h1ZP0 e & aX vGfpf x3k Nʷ Fö` hY,P~S@ķ 6V`ufVQH3o< .̯,( Fͺ ;͡.3h |"a)t) K6(=eT0F~U *l 7*.QU(?8G`sJǀ 6@â,. dZRe2 =] 6 E§dOaXڷ@/S_x` œĄi HH Ą*q0HHMĄ ѝ HHdJjpHHyiHHĄH10H{(q H` Q H` @ Hb- (Q` Hb? (Ԁ HdQ HQՠ Hdc HHꪑ 8ԒTBEu$@| $$WRF0BEu$RE#)@$3@Ą J HH F1 H`8 RE#I@,5YFB@1!"d)))A@1"t()"NRE#8AH P5hfŻ 1ZS4TdaH@ @ - %01Z7FpiV  ϋVWh\,02vI #%1B2 P%=A2B & AU22I #'Q1I2I #,] 12hI ԒcAH:c$]IQ J2T"I 62SLRE#i@$3@Ą J HH F H`8`RE#@X!@ ,X$$FILPbBDE(x$$PUFLbBEDUHȐ$$WRIRE#`RE#Y@X!@ ,X$$FILPbBDE($$POUTbBETdȐ$$WRIRE#Y`bBE%XAIVP 5=f VF@- %0ma# CV@@-T4e@,2@GRT$da_ [h5GXn­fRV"EXyXTLvUf6Wp DXreXYWʶ60 p@m݅NXXrC|~@¼+ 8Hcͦ`Lv/ٴ~,06U(V>2# U_e_@6U_0`_U`*a^#mT6_\ud^È"p F2H Fʫ/c ʀ1{0 ʶ'Fʱ -Pj |5Fxk (#a`[D+9 +<-WX º#C+O,C< _ ==qsE `K6O6m<-WB ~O,2@ sGxY2 FXe/S|+bP'&\.K%@ HH(ĄjjQHHĄ*q HHĄ J0 HH(Ą ђ HHJjp HHĄjQ*HH J H] ꪑ 8ԒU RBEu$@$BݓĄH HH8S`RDĔQI:$TRFML@@SlV>-@hmpZ,$|PLdl#) G)!"btd*)#&FH1!"Att&$ B@!"t*)#GJ!"td**,F@@1"ʚTT BDU$I2P51j@`D %f `D eg[E41P HH+d(Q HIHĈ誈(Ԕ BE%3 @\t)@qYW2 TQ#!M2( RT# I]=: 'ԔӠBE%4@t)@T 14ҥZٕM0ڥ#tP^2 j+eH$$ERADbBDT($$RWOEbDtUDH$RSNdDU$T`RE$U4@Dt)@#+:*錇bBDT($$RWOERE$U4Q`RDTt=8P5+qK2"m%!T :Pf70Ș$$AOERbBDU$Hȸ$$OEIPBDdX$GETADRDTtp$ON0TBDU%)@԰~phNePsDZ, 0L x$$CLSBDU%(Ȩ$FOERED$8$TTYOTV BDU= R$HXF ѥXhj@hâ` jj 3hx͠ å 4jj jv2<8YEW@` 28)GQxaV[KvUzWj1 I^ eXp(V@u\$dH)!"2 d!)J)!"t8$"G@!"B4d|&#$ F@!"z4t'FR@2222RE41A=$POSBIХQ`P&2E@fk%A8$$POUTbBEDUH0$LPOARD($POSARE4)PRED$Q $SPCAIХV0VͩP{%TPF=z â$a W)UBͪF&m*hj ,"^. F& ,p` !4Uc d0 p\.FX1!" *b,t S"iUBDD@0$$SVRSBDD ATANBD49@0$$SVRSBD48 COSV BDU @0$$SVRSBDU EXPђV BDd@0$$SVRBDd AINTS BDI@(3@ ɌRBE5e( $FATBDd($INTBDy@0$$SVRSBDx ALOGSBE4@0$$SVRSBE4 SINTBE5)@0$$SVRSBE5( SQRTSBED@@Ԭ1ZWX3@ @fаf- &\.FF@)!"d))FD" d"!G@!" td@GJtV`RD$U a$BEXEIVSU 2f h.6AmV)xFf :djK2f :j1@ HH Jj0 HHH1p HHҐ HdSU BDDI@0$$SVRSBDDH DATAN BD4I@0$$SVRSBD4H DCOSV BDUI@0$$SVRSBDUH DEXPђQ BDdI@L3@C3@2c MYJ2I%2 Qc" 9VpS BDI@(3@ ɌRBE5e(8$DFLRBDH $MFM BDI@0$$SVRSBDH DLOGQ BE4I@0$$SVRSBE4H DSINQ BE5I@0$$SVRSBE5H DSQRTQ BEDI@Ԭ1ZWX3@ @fаf- &\.FF@)!"d))FD!"" d"*@!" $d@"!G""JtVRD$U( a$BEXFIV%SU 2f h.6AmV)xFf :djK2f :Ąj(@ HH Jj0 HHHQp HHҐ HdQRDdD $FADCIQ RDdDX$FADGIQ RD%5T MU $BSUCIQ RD%5TX MU$BSUGIR RDdT5U $FMUCIUQ RDdTX5U$FMUGIUR RDEdDY $DVDCI RDEdDXY$DVDGI%Pmp3l`d f6 ͱml\,f  6 Yͱ&m3k cL$f6ٶHͳ6mpAl` dl<fm/7+u",h\bdmh3mhxFf ;N͵XFun8X ? " 6hjEX * aXn ?o31ɗK@%`Px$$CPX̀RBD5D$$RSPbBEd$AB2DX$BSUARD%5T($BSUCRD%5TH$BSUERD%5Th $BSUGRD%5T$DADA2DD(Ϡ$DURDEdD$DVDBRDEdD8 $DVDDRDEdDX@$DVDFRDEdDx`$DVDHRDdD`$FADBRDdD8$FADDRDdDX$FADFRDdDx$FADHRDdT $FMUBRDdT8@$FMUDRDdTX`$FMUFRDdTx@$FMUH2D(ϐ$MU2E4(π$SUPBD%9@0$$SVRSBD%8 ABSP BD$I@0$$SVRSBD$H DABSSRSRETdU5 $UMFCISQ%Q`f qGR@ ܀I(p&2 I #"` :ISQcU5 :ISQ㡠U5pQ RDe4M1 $FSLCI%Qf u$*I(XaP HHĄё0Hi1 H iqА H8ѠRE4tdM $SGFCIё%RU0hLd`(+?9qV6XTɌRBD5X$$CPAD2D8$SGFARE4td($SGFCRE4tdITӠRDd4M $FASIITҠRDd4M:$FASOIT%T /6xFV٠dT#+nVmh\nK^r@ EWڥXFuihFH@)!"d!!"G@@)"2 t# GE)"2 LtT# GJ@)"2 lt# GL)"2 |t# NQ RDd1! $LFMAIPQPu@ EWڬdD)!"d!!$G@@)"b2B t&#$!GC)"b2j t,&#&NST RDD1Q5 $STMAIPR /ܬ-%qK7+63@RBD5D$$CXBDbBD5$$LTMARDD($STMARE5D)`RBD5D@L&PȤR)uY82d@)!" d4# N`RDD4Q $LECAIP`RDT4E P5 #|bB>8ZXF/7 RBE4d(x$EQCARDtT4$GTCARDT4$LTCARDT4РRDD4(Q $LECBIPРRDT4(E P5 #|bB>8ZXF/7 RBDDd(x$EQCBRDtT4($GTCBRDT4($LTCBRDT4)RDD48Q $LECCIPRDT48E P5#|bB>8ZXF 028I ѐ# :ITP  :I1 :I㡀9 p RDD4HQ $LECDIP RDT4HE P5#|bB>8ZXF 028I # :ITP#  :I#1 :I#9 p`RDD4XQ $LECEIP`RDT4XE P5#|bB>8Z@j1 HHd(q H h0 Hh H ȨhѠRDD4hQ $LECFIPѠRDT4hE P5#|bB>8Z@j1 HH(q H h0 Hh H ȨhӀRDD4xQ $LECGIPRDT4xE P5#|bB>8ZXFĄ HH(hА Hh` Hh H8 RDD4Q "$LECHIP RDT4E "P5#|bB>8ZXFĄ HH(iА Hi` Hi H8`RDD4Q &$LECIIP`RDT4E &$LTCJIҠRDT4 *$NECJITPҥRB>Ga!D#u$*@LZT|R@@d(q H(iQА H iQ0 HiQ` HiQ HiQ H ȨiS`RDDQ)$LEJAIR`RDTE)P5*tl|aѰF6Xtl|qK2^n6(hQѐ HH1P H H1 HȩH3RDD(Q) $LEJBIRRDT(E) P5*tl|aѰF6Xtl|qK2^n6(Qѐ HHQP H HQ HȩHSRDD8Q)$LEJCIRRDT8E)P5(tl|aѰF6Xtl|qK2!`d)%FH" td"!C)":*Rt#%!B)"b*Rt&*%!E)"r*R RDDHQ)$LEJDIR RDTHE)P5(tl|aѰF6Xtl|qK2!`d"#%FH!"" td""GC)":*R$t#%"GB)"b*R$t&*%"GE)"r*R$`RDDXQ)$LEJEIR`RDTXE)P5)tl|aѰF6Xtl|qK7+4 02BI c$M*2HP E):IRcQ):IRc1Q):(IRgRDDhQ)$LEJFIRRDThE)P5)tl|aѰF6Xtl|qK7+4 02BI c$*2H P E):IRQ):IR1Q):(IRRDDxQ)$LEJGIRRDTxE)P5)tl|aѰF6Xtl|qK2!l02F  #$M*:2ITR): I@1):I㢀9)p RDDQ)"$LEJHIR RDTE)"P5)tl|aѰF6Xtl|qK2!l02F  #$*:2ITR#)": I#@1)":I#9)"p`RDDQ)&$LEJIIR`RDTE)&P5'tl|aѰF6Xtl|q\B0$$F0.0RBE4d$ACRDUx$GEJIRDuDP$LEJIRDD$NEJIRDDQ)*$LEJJIRRDTE)*P5'tl|aѰF6Xtl|q\B0$$D0.0RBDDd$DACRDUx$GEJJRDuDP$LEJJRDD$NEJJѐRBE4d( P5b@` b@KGf DeQۅdA)!""2d@#!G@)!"2ђRBE4d*P5$b@` b@KGf  G31H@b6Q HHhSQ`RD4D@0$$SVR2D48$CIDAT`RD44@0$$SVR2D4$CISAQ RD4E A $CSPAIQ>[4a`@@BtT22 #"@MYJ:Ic A 2 MA: I# fpS`RD4@<~ЦH/R<`d4$#G@)"Jr P`RDDT4@<KfJ/Z>`d4$#G@)""* PQ`RDD@(U>Jǃ bBDdh$IADATА`RD4$@D>ѝxĄ) H8S RDD5= $MODFISRDDX5=P5HuڥXFf @plm jٴf@+TeSՕNwU/hY.T#+8l:Jj Hs10 Hq H舱0 H7蓀QRDEd%Y $IDVFIQRDEdX%YP53uڥXFf Bplm bYEf@E,[^nRBE%5$D9RDEd$IDVBRDEd8@$IDVDRDEdX$IDVFSUP`RDT%5U$IMUBISUPRDTX%5UP5fuڥXFbYu\n jYh0juұ|S*~UY!Kj:.MOw\x*USzq*gdH1!"Jz4t$E)"Jjt\$@)"Jj$t\$E)"Jj4SUQRDTx%5U*$IMUHISUR`RDT%5U2P5uڥXFf[dXd@)"Jj U* a HHi 3P`BD$@x0$ABIRETԔP`RE4t@,d Sqὀ-d@)":J SR`RETԔ@8@-Y@*oN%L($$IOVFRETԔ S BCBԸ$C8IAIPRD4 %9 $V8IAIPRD3H %9$CINDMG^/e{6=Xtdf^bYfE,Ő|[`^͢VG{+ٴWXڠå wgP0*΀@huuU@@!H-ޮcH]@R@0 H46`n²x9^odkHb-Fla[f 0@$R@0 Rg7qTpҼ@a^ X f@/3EK ڿ@6x |X >à@&0y>g>:$iq HH\ĄƱ HH`\kĄi HHCJjP HHhĄJiё HHHj\ard(QH_d*А Hpg (Qp Hp@g (Р Hi)QӀ HAi)ȑH1 (3T bBDd4 @BF=d*.~Sg~S !Xi\ /uج Lt#!NԑP`RE$TI $REACIPQ RE%5DIMQ P5,f VyDt@@W+63@mf|amb\44|pYdixfX0 "r;*.UF aUh&yh( 2gd+<@4uX, 2a[ "b FVʹ6+T##ܢf~"|L46`qY0()ٖUs@zfͿ@DDb+S0ۀ+/:T`͠,02NI 2 QN2F U#`8QB2I Sգ `8==2I #>IMQ>2T Q 4M= 2 '` 2N P03FUQ#I:(IPPI:IPQ#IMQ;I3@MM3ђS#%9 22H#'I %9R2ӑT`RE44MM$SASBMQ5)#[±[jlVVnݕLg!Y, ͠ W[64Y-Sx,($$CFTbBD5E4HȘ$$FSSRBDeD$$MOVRBE%5$SASAbE44$SASBSRQ RDBD@ E.1` ɄV JG%=K@2`423X8Z,L\.bBDDE8$$FARGRBDh$MD$A`RD4TIMP5R %Trdͩ #3]l`+UK*`#3ou31ͣ@mIpX,:@FQ1!""Jd&GH)"b* t))Q RDBD@͠j@68\lB.mu\#3.hpc!QN2: U%5=Z2I # Q1I:IQ gRQ BDԔH1$RIGMW@N"XDfӠef❅A"XD%ZToW3hh£` Vfʨ@RR 5JϦK4h٠dT1!"$e\"$)L)!"d*&)#@!"b*4t&GE@!"J<SBE5HMP$S2$MQ@T" :ٴ?)@F~0,u*~}j@Fæ@%0d )P)!"bdt"$)H@)!"e *&)#C@!"$t)GH!"$BD4)@P !# 4xc" QN2I # Q1I: BE5E(MQ&$STDMTjL:N͠ PtC@|z٠d1Gf >p4p@!FaT0Å0Z,p 2I &  a 2z #$5=Z22I #" 2: PMQ: cMQJ2hU#%Y1QeBpRBDԴ5-N$MKDMF!tH|f 0\.RBD5E8Ș$$RSPBDԴH$MKIBDԵ9`RDE4QM$LESAIT`RDU4EMP5$tl|aѰF6Xtl|f+dG1!"jtd"C)":* t#)B)"b* t&*)E)"r* `RDEDQQ$LETAIU`RDUDEQP5.tl|aѰF6Xtl|r@ J31l$$CMSTRDUDx$GETARDuEDP$LETARDED$NETAT bBD45I@8rCDrrK*vU, 31~ `VU+0yX2 -~)eSKJh^ͨLt!FR1!""JRSBD3(%MRP5rb@m `O vX-<X?$[Ux ګQFf7YĞ u31eV +U_0LFaTì@4pX!0k +X`@[6 ɗK@#-@%QN2 %: Ṭ %MRpє`RDe$THP5W`%3@P#+``B@ ( HHjQ H(fqP HHH1H8S`RDT@(fxɌbBDDE8$LENASRDT)@\e QxFVM4xLd@"$)@1!"bP)0&xM4%DXV6 )3;Z,XV6b6HX@DU@g䘌iQh eXFm[՜ 3i(D"5Xv |Z@a0L&2F~E7(e`-KU]X M?2ڣ@/+aܐY|ľ"}Db5x{@ #8r@+{JBX &|M4Y.V(9~+"y`Y,Vͦ.3í8Z,KjٴqDd&Xv]Z ڈñLVUGbBf ͸LͨNVmpb6pX,mf!i7qq \ E0mf߰j)CH $SlNG#y@-·#I ) &3(o9$F'QVgq#;lۨ bX+8$K0 p(` p`a p a p a p!b@ q 'b qP-c q3` $$ATSBD4eH͐$$CLSƀBD54 $$CTSրBD5E4H $$DITSBDEE8 $$FSSRBDeD$$GSTRRBDx8 $$MOVځbBDdh$$RSSbBE4eH($$SFTCbBE4et($$SLWAbBE4dh$$STKPbBE5E5XȐ$CDEHLRDDDȸ$OSEXTbEEE RE5uM]A $SWPCI%SK,t|zZ希#+:,F+9 nz¢ 4#᣹$XT-jQ HjQР Hj`RDuD=MP5LW02; ϢUN =uO31 caS!" B  K?!٠%P$$FARGbBDt4Hɰ$$STKPRDDD $OGSARDuD`RDt4IQP5&A9#r"~kNBDT$ɌbBDt4H$$RGSEbBE5D$GOSARE$UDԑU BE$UI@HQ BEtI@@a=@2@ɌbBED$x`$$TOUTBEtI`BDt@@a=@2@ɌbBEUHH$$TLRGBDtӕS BDT@(aѐɌbBDT8$$TLRGBDTS RD@8aєfp{&2 S `Q1I:ISgU`RDUD@4aє=8d,'+@1!"b 6*Tl$dX`dL$+G1!"b 1>; V63@!?wdT͠ <f ڤQmRam/h?)4##h#ap[îp@pe_pH&#$C\`3j 4 jvI$>"H0m$fC$`A+RO&!@L;X! ;~AgQ\F~D,nC f +dXpM`60UO@nQT8ܮK6T,iI? !`%XFNl a L@ >L$a`#X;`V`dj nFB4QfנSWpՐ| K6@ kYCua@lYu$+w20պ$@6 ݅t^.xWx/3E ( +ͦ.ˀC,N{Sˀ%  p\N- @fc0}K%@ qph J@< W2X0~ @ZeT'R@lLUYUl EaXP'+6?&2ʮ`O⋅aXeY!g+*?lʳO# ځ-ٷ X6с6Qm@2/(h򎁰fP 6f߰K6V u$ j@.Q rl öKvmf@&rXVe.x*(dۮrSڷpA'gAٶ fZ`΃Yʹ!`1(Jt_¦U^ fpGp], `¢6miQpaXVwxh3u^,.  Y.Pj20F3lXX  6VHl@`36)P;R$zYvmfuփؗp÷`݉Fo b_t ^'<>2I&VmaڀfmTHi0)l [ SxM\Xfِ[jˀR*v $4ͷ a6xX"?h?0(R-Kajo  a$1Yh:Is "`t ^2K6060$$CLSbBDddhϨ$$IOVFÀBDDH$DODހBD5XCHRGTRd4$d8ΨFACDdDHFINOVCddtd88FRCINTde%HGETYPRdHXMINPLSd5D488OVCSTRTdU%(SNERRedE \dD8%1=URFILOU3Sde8951=NMLO.CUєdDDd81= =NNAMFILːddB4A!fFD.LOG ddB8RFNZBLK SѠbBDd(=UQMF$DKCIˠRDD3YI2$LOC ѠddU%YARDIRTMPSS`BDD(%19$RS2 BDd%2$DKN `e4T5D(I91$PUT  BDtUHIRQx5f VsAY@"p$eSSʧ`3݅LK60XtD|KH 5)9d !1 bږ:DeP=aV$٠ 2B%K2L+9YeWV+U!Z>nh+*1AEM0؀9\H4â`"8~[*0ERmj`kX3dl}fVU "` UIVn3X,mbOۚ ʺn,Kz6PjHרDN +28F0FzӃ*A`NHlVscdlpȄ([Dg!ô"h{ e*π^V(GLۂjmyh^'vLjl Dx³ 6ƀU@ۘwp h!'Hr. 64\/ep(~`V`XQU??l(OvUcT<~[X,YnʡL(¼#w |d( T] DI8FF"3F c`5K,t3h*|aT@!wKX84Ͳ.ͼ@-hn?`1\*#`lX,)n2k/M(N* Â8eW#Xڳ@OJtï~ W u@#wb0 ׁ+Zpz@$(ڻ L P*ʹ Ca^&fް+Ufp X#m 218\:a hͦnbnʡ2p+n) U _ĖU &Qk0Յ`(Y8Z։}͹+*ͭ`Ƕma  jkEz"NQGH@6Bjٵ, ??L+ٵ  3nfXw f݀1 Z E@l;jDʼ#;3#f@&HR5F.V^AmzP/\hY,jY#m58ͩ@ƋU1*#Ţʾ`68Z,K61ZQ`[6H#61ZVmwWH ! 6p84ͬ m#ʬ `C`A_F?? >3n( 5p@WI@."|AmfF6Ղ?+dhY'6* jجhD"dh¥ 1 ƇO^+vC ʻo2^,p] .2D8G@<UW(kP UW &]b.ZKZYEV+6Z.KT # ^A\,p`Z.[KeAYaVmWa-paڀVm{XvlU-njX@\:w]n.]KsAT ̣iI>2* QS#&Y A5I2U*  A5]I&0Uԓc>@ I>8RUѐ Q=N9Rː.@yI 62 TI I:2T#'`yI3,TS6I92TSc;YI952j TQ%IQ5B2^QT !9d U#1=9` `A!f9R V=`9%1%Z=SL%1962 Sѕ@9%1=T:SU# 9%1UAB3S#9%YAR9d9`R:Sㄠ1= =N3RPVY95%28PSː951=8PSє㸀9Q=A93 SU`=UQMF2R#5yAQI%23^ U#I91=pPԣ4yYI NpUd4d$8YI NTEMPBSѕddĔeh RPUTM{@_6jPՕDbs8aQ%``4@BK2M:**nɔ b3myFwIFf7ڮQ ,*vKb)q@Fñ RiYpKen1 \X> "iZn´,`D $E $2"(>ѝf֐1Xnʤ`!uWͨ.)*Vfp(X,~>ѝj#`pZ,KP\,R!4Ubͮ.(X,:W+U* rfcxMz'1ɅYGUnʮ`"bD2@- %~ `Ņ^X,U"Y3nIn!!%a eZ3,fUfP C'Edjj$#+2Bb 9L!5s@Zێhj &\.K% HHJj@ HHiHq Ȉi Q IȈHJIћphJQ \ȅȈ* \ȅ q\ȅi+Q )ї#h誑`ɨ+ Iq"j BhjQ *HjsSU bDDD@>@P !` a # RBD48Ȱ$$FILPbBDd(p$FOEbDD4$IN$CMbDDDȈDERBFMdDU$$d INDSKCSUBDH%8 6P5Bfœ2t-@T8"D1Zh3 |riUG.H&å $*q HHĄHHIĉ)Ĉ(@ HH ĉ)Ĉi HHĊ))ё 8SPdD4(%9AIRPOPAHTT`dDU$$dI I:DERDFLTQ`dDU$dI9DERFOVTS`dDU$hIQ5FCERRPV SI}I\D8Y/ $|6>Gàn @#|3 >@x%ɰ$$CLSBDdXDCOMPRdDU$$dDERBFNdDU$%$DERDFLdDU$dXDERFAOdDU$dh8DERFOVdDU$XhDERNMFdDU%DhFCERRdd%HMAXTRKeHXPTRFILԓRBE$9@H@!@ bBDd$$RLCRBE5e(ȀBINLIN4%ThhBUFPTRRSSd$Ĕ@ t9L*"83@E qpeFT ʢ JuL +f SfӠh!eG,:͢@EU4nʭ6+Ut5@UV@ ʢ FYD@6 D>00·?L+jFmC`hhXuL mU0|e^Ffp)Tmf@*?ê.ɌbBDdH$TYPTXd$Ĕ0BUF5$D̘CTRLPTT4(HLISPRTTUDDPRUBSWUUS D5$D=UQ>CTRLPTT T4(IU M^P52a 0>/3h 3h61@ P($~b7E,dˀ% HHĄ HHd(qH8РRBE4)@4F~T ePLt)NQ`RDDD@ oh 1 H8SՠRBDi@8NbGp   Lt&NPR bD4DT@`$CDEHLԑU 2D $A3Q 2D$h 2$POS2ET $AC P̠BD38 $POS2 P`2D8 $CD 2DD8 $DE 2DEJ$DV2E$8 $REC  2DTh $FL TBBDT B$FWѠBBD$$IM`2D( ($J4Q2E( A2$PRRDTdx M$SG2ED8 QN$DTBFAIbDED$cQ $DTBF5bDED$cI1>FACQP4$x 1>DFAC PRDD3I$ARGIT̠RD$s8 ($J62D =P.K%` p@(\. K@%Ġ`\R.*K@% q\j.6K%  v].dK%٠ vD].kK% vl].oK% w].uK@% w].zK%  w].ˁe2pp@ x Nj@!!""{$"G!!"*{D$Ǵ!!"Ix ǀ@" x  Ǿ" { G!" { ǿ!" x Ga" <{ #Gi" 9x #ǂ" x(!"ǂ"4x4!&G"$xD!G!"" {" G@""x"!G""$x""NJ@""4x"&G""x"*!#G1""1x"*!#nj1""1x"*!#Ǎ1""1x"*!# ǯ""{"+ǰ"*4{ "&#DZ"2{#&G@"2{<#+Ǵ":4{T$ǵ"Q{\%G"Q{d%G"Q{l%G"Q{t%G"j4{|'*G"{(&G!"z{('G"{()Ǻ"{,)"ǻ@"4{)ǻ"\{)Ǽ"{*)ǽ"tx#ǀj :b|{"# ǽ2"2 b|{ Ǿ*2 b|֔BE$@$l-*ɎBE$QT!TE5%I0t)*3@C@}> |z@h4 Dz¢3B!0" 562 P%520I#`A!2<IU$ AA2HIQ$2TUc&AA2 T(52vITPDD%98t" )@Ɍ2DX$MFMQUSTDDQ9P5#5> Bm>p> `V>EiQ8c>Ӑ?*iFc1L? RT?@3@:gٰ+4 ڔ 4eW0@+4 k4hC@`f!u2 P5 V2T #2`%X3Iӑc/A!38Ṣ4A%<32I#2AA3TQ92 L,@563Uc)93Dc3 MV2TP0 aQ:QUSDD49`t"!@`d"($FA" d(")@@!"j2lSbDE4QM%:ki)0 Hb 4f 3@h!4zpfѐhzR >a1~JaIZX]eXNWN rS (BB `&s3S(syMZ;qDhtZ1sTfBm(8$MFMbDDc%8$MURDEhh$DFLRRDEɰ$NURDDDhx$DF42E5X$SAFBDDc($DPLX2DYU`2DU( FDBLEXPGG"*t"GC"*8Y4a`+68Y4 B2hʬ@W!U8Y` ! N0Z~&r~&ZH~$$} vc0QTRTBDd$MMFBD38x$DSQR2RDDX$MAFBDD( $DIVF2DXɀ$DPLXbDD3(ɰ$SUbDED$cP$MUbDDs(ʘ$ERR2D49T bDD4U =5BjtĈi H` inʦ@ 6'r@q `V"`CK6,:*(fQ0H*Hq H8h(3U2DEX%X$DIVF2DE@,0@,@hʰ@n@xGh4fA4Ijj3@{h$} 85<*~!`V?a \(fQHg4( H0*HQ HgUĈ*(q` HdhqHf(qҐ Ha*ѓ HHdQ HqĈiq HnĈH1 Hqd0Hd1Hĉ*HpHċ*H(sRDDd)@BdfhW3 Nf"H~llɌBD3(ɠ$DACRDD3$DFLRbDD$$DRNDARDE4(X$SAFBEUI RDEŘY 1A1fjx P H"4Pmf 0D4(8\/!Ѡhr@$2D $DPHFBE5hȀ$DPPARDTh$MMFBDdɐ$MU2DYU 2DXI9$SUS bDTDH$DSHFLbDTE8UMN$DRNDAIP2E5( MF$ART`bE$855$MAF Q`RDDu(9H$DPHAIRDEAA$SQF 2DXQ@$DSQR3 bDE(A%<$DONEIUSRDDdh$DF4`bDDs(19L$DM2TBDE 5J$MQMh  $XT hh @4 :t!FVNG*zti h`DgUn Oa`fԀm7f0Ugti(S*@p&kv*ـ Py@Y aYdtxB3@YE*XD&̺a*&<&l( rh3@rhjH3@̀{b +8XTTE Bq@ OL.rl.r $GO.ð Q (fՠ%ʟz!(cJ08~ `\dYtͽ@ ï`NVmpop G@,ͭL;.f 63h0 d  FT" g G^" ""4f( "\" u Ff" c% 2c 2t# *: b:Rc j2 P R2N Qc&I92, Q%@UA.: c%%9R:Lӑ'Q`bDd$x5YI$MFM QA1A@qX<à`H(qpHgɱ HĉHP Hc8T!E5%It)*3@C꜀Q.G#՚5X4`Yf =aQ0#hBDdHx$AC3BE$DB01RD# $FR22D(P$PPABD($ERRQV 2D4%%b$IFIXAS%T*44 3@[*: A@ RYxɌ2D8 $AC4bDC$CHBDU%( $FATbDd$MRARD$ɨ$NGR1BE4(H$UPK0DdINTV RDUMaBjh 0 Hb#Dvf 02 U#!@52IV54HCOSING@z4 C# M%:: x&[Th"#Ef 3@Śj4z 3iՀmx*0+Cɔ9`h#CKT3lIAC@!"2 d($FR" d\")FH@)"jd($ I!"2bd(( K)"d)FS!"*eH(&,NUSbDDA%<$FONEUS"Ĉ*)1 HeȬC@9@  DTCTA'p͢` !Vh!` fCXͤ50P0 .@b!0yTP) P1HZFH3 1H>*Q`HKFHWdhSRS bDCQ%9Rj$))ʑ0 HbW/ #! 9 2 U#! 1J2  QP4%98t)@ɌBDdH $EB4SDyxt '@h! BDdH $LOG20RD#)QѠRDTti@0B 㸄qc  :IQѣ! 9VpTV 2DT($EB3MT*=Y*8Yʑ1Zz@ >-.Ve?fhh@>?IQ,aЀ$AC3BDC$EBBDT#8X$EB4BDT#X$EXPBBDd5ȸ$FLR0RDs(P$MARRD#$MB0BD$ɐ$PHABE4iӑQ2D($NUMC n BD38$EB42D($NUBE4iIVDU)t"(!!MƆ/f `YT3@D%0Q,h`, q1݈4:! c  2 c" 1J28 T#M2J c%52j PT'M2v P'=YpI̠bDs#1=LOG2G@)"bz94bDs# fP$LOG21 @!  t0Z,0w%JQ}LǷ(8Q( NPqHJQHg 1H ɊPHa8  BEŘQA=1fjr hf ͢ GE!"b˭@g稍T$SaåpH *FH(pHI@H8 Qa4DYt "@TT`evhwV#  2IP#"`UA.26 Ց#ip RDd#M1JjtɊL:I@<zY46>L$.| 1H*FHi f H'IȆ1Hg3Iѐ BDd5 @Ըe͠`{ B+mY"3+?.X+?$ &2  P̣ B2 Q Mp`BDdHI"FLTG@" t#&* ``R!H @pa Hfm`Y&2 P!9J2  ##aJ2( g`BDCIDIVG@"!ˬeR00$D99=-O#@ Vh[(#& 葑H$JSQU`BDtH9J$NGR1IԌ%Qy=&_<~/SEsdɌBD3H$NGDBDu($NGR0RDu# T5)Ht, 3@hhc A!2IPT'N`BDӓQ%5U2j6d'ū!|Z#4M)u$z¡ TREUYU9A .j* bFwREUn'̘$AC2 `BEYAMA1j* "7Lt((( \b* q&2$P! pԓ`BD$9=H$NORMd &aQVPJ),ҡ@݆aSXp¥vKG >(4-TvtZɅYl*2e0!]a a@"ŻĀ\} ρs8]@@D1Hq5Ċi F1 HcdF1HgIp HaQPH(fqH8TQ bE4CM!)H$SHJR4MF<[quA,@*&Ɍ2D$SHJ41bE4#$SHJR4ՑBDdh=Y$RND0  RE$C@#F@&B<hhH3'(0A#"` 2  T$ 5J: Ց=Y:" # I9:FI g֐PRE3iP5 p"1PH(fQHH(f2EC5I$MRM1 PS`2D5I6$MAR0 U BD)@ͤ#8 :pͦVmpY"fHdUHIxFVdan<8$ACBD3(x$FAT2Dx$MAMBD($MAR0BD$$MRMRD$$SAF12ECQBE4hM$SAF1MD@ݐ:݀c  2 PM: IQ#MpQBDEi@/#E^vzA-*4'|+B\n3CLt$+NBE4(M!H$SHR1MI!Ce8à@ `I^-dC|{;G@!"Bt))GE)"BBD$$MRMRD$$SAF12ECQBE4hM$SAF1MD@ݐ:݀c  2 PM: IQ#MpQBDEi@/#E^vzA-*4'|+B\n3CLt$+NBE4(M!H$SHR1MI!Ce8! @ ~+ x  @!4@kCA@@ @ͣ! "@!A*@*@ +!Ï@@!A* @ * @v;7A!2 * @@+* @#" @* @|ڟ@)U@!@* @\+!! @/ * @ ! @ * @#" @* @|@)ڨ@!#&kk @$$#,###.## AB:RANTEST.ASCARLu -A9wCA Ç um>2!A" :7A2%A2$A2&A:%AG:*_xB:$A7ATA:&A’A:%ATA*(ADM*&A}A:=A|͝~A70#ìA:=A*(AEN#^#V` A A70A$A> 70Ai:%AeA2&AX:~#GC B AC:]C70_W]CW~#!BC#ʉB: +~#=C/C+>B+~#.ʨB_C:+~#AB:~ʂB*Bx#xB:~> †BÃB#WB~#.ʳB#ʉB,¿Bz@WÉB~#>.B# B~##ʳBBT]^###xG#Bz+CxC~-BC>Wx2%ACx7Azg."&A`i"(A2$A]C~#70xB5C]C70x2%A2&AHCHC]Cx2%Ay2(A>2&A2$Az>+70ɶD@DM*C!9"t!kC##"r͍ChD%*^#V""##^#V"% 2'!ʷC!!""(@::CAC@2DDDD< D!DDѷ:C:CD!CDD/D BRUN.COM not found $BRUN.COM too large $BRUN COM:žD! @"*C"*iC" "T!9""ÃDVersion mismatch M too large $BRUN COM:žD! @"*C"*iC" "T!9""ÃDC~#70xB5C]C70x2%A2&AHCHC]Cx2%Ay2(A>2&A2$Az>+70ɶD@DM*C!9"t!kC##"r͍ChD%*^#V""##^# ---------------------------------------------------------------- | | | | | | | | | ================================================ | | | | | | | | | | | ***** CBASIC Compiler (CB80) ***** | | | | | | | | for the CP/M Family of | | | | of Operating Systems | | | | | | | | --------------- | | | | | | | | READ.ME File Notes | | | | | | | | - June 1983 - | | | | | | | | Digital Research Inc. | | | | P.O. Box 579 | | | | Pacific Grove, CA 93950 | | | | | | | ================================================ | | | | | | | | This file presents enhancements and modifications | | made to CBASIC Compiler software and documentation. | | Changes described in this file apply to CBASIC | | Compiler (CB80) Version 2.0 and supercede existing | | product documentation. | | | | You can print the information in this file on your | | line printer using 8 by 11 inch paper with the | | printer set to 6 lines per inch. You can trim the | | pages along the dotted lines and place the pages | | in your product documentation binder. | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes June 1983 | | | | | | | | Table of Contents | | ================================================ | | | | Bug Fixes . . . . . . . . . . . . . . . . . . 1 | | CHAIN Statement . . . . . . . . . . . . . . . 4 | | DATE$ Function (NEW!) . . . . . . . . . . . . 5 | | TIME$ Function (NEW!) . . . . . . . . . . . . 6 | | Graphics Extension Error Messages (NEW!) . . 7 | | | | ================================================ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i. | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Bug Fixes | | | | | | | | Bug Fixes for CB80 | | =============================================== | | | | * The compiler would hang if you used toggle P and | | F together in the order PF (not FP). | | | | * The listing file would be empty if the %NOLIST | | directive appeared last in a %LIST / %NOLIST pair | | within the source code. | | | | * The system did not issue execution error NS | | causing the system to hang if a program attempted | | to format output for an unassigned string variable | | when no string field existed in the format string. | | | | * The compiler would issue error message 41 for an | | executable statement with a line number when that | | statement was preceded by a blank line or remark | | that had a line number. | | | | * Compiler toggle O did not work if used in the | | same command line with toggle I. | | | | * PRINT USING did not work if the output string was | | unassigned. | | | | * The run-time system did not trap integer division | | by zero. | | | | * The ERRX function returned MP/M extended error | | codes multiplied by 256. | | | | * The trigonometric functions have been rewritten | | to resolve certain parameter remove inaccuracies. | | | | * Compiler error 101 occured when a keyword was | | used as a formal parameter in a multiple-line | | function definition. | | | | | | | | | | Page 1 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Bug Fixes | | | | | | | | * The compiler did not do signed integer arithmetic | | correctly. For example, i% = -1 / 16000 would | | assign the value 4 to i%. | | | | * The first read of a fixed file, designed to | | position the file pointer to the desired record | | number, did not work. | | | | * The system did not close INCLUDE files after | | reading. | | | | * INCLUDE files were not opened in read-only mode. | | | | * DELETE and RENAME statements did not trap MP/M | | extended errors. | | | | * If a program attempted to open a file with an | | improper filename, the system marked that file ID | | as open. Therefore, if execution continued | | through an "ON ERROR" statement and a second open | | was attempted for that ID, the system issued a DF | | execution error message. Similarly, if a | | program attempted to open a file with a proper | | filename, but detected an MP/M extended error, | | the buffer space was released but the file ID was | | not released. Therefore, a close error resulted | | at the end of the program or when chaining. This | | problem also applied to the CREATE function. | | | | * The CREATE function did not trap extended errors. | | | | * Execution error TL was not detected for the TAB | | function. | | | | * Compiler error message 213 was issued for the | | following source lines: | | PRINT #1; T,OPEN | | PRINT #1; T,, | | | | | | | | | | Page 2 | | | |______________________________________________________________| ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Bug Fixes | | | | | | | | * The INITIALIZE function would return execution | | error message EX under MP/M II upon failure of | | BDOS functions 13 or 37. (disk system reset or | | drive reset). | | | | * If the first line in the body of a multiple-line | | function definition was an assignment statement | | with a built-in function name to the left of the | | equal sign, the compiler did not detect the error | | and generated bad code. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Page 3 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes CHAIN Statement | | | | | | | | CHAIN Statement | | =============================================== | | | | The CHAIN statement loads another program into | | memory and starts execution. | | | | | | Syntax: CHAIN | | | | | | Explanation: The CHAIN statement can load two types | | of programs - an overlay program generated by the | | linker, or a directly executable file. CHAIN can | | load files generated by languages other than CBASIC. | | However, before you chain to an overlay file, the | | linker must create that overlay and the root | | program at the same time. | | | | The filespec can be a string expression, a variable, | | or a constant. CB80 assumes a filetype of .OVL and | | CB86 assumes a filetype of .OVR if you do not | | specify otherwise in the filespec. | | | | When a program chains to a second program, all open | | files in the original program are closed and all | | data is reinitialized to 0. Refer to the | | Programming Guide for more information on chaining | | modules and programs. | | | | | | Examples: CHAIN "B:AVERAGES" | | | | CHAIN NEW.PROG$ | | | | TOTALS$ = "ACCOUNTS.OVL" | | | | CHAIN CDRIVE$ + TOTAL$ | | | | | | | | | | | | Page 4 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes DATE$ Function | | | | | | | | DATE$ Function (NEW!) | | =============================================== | | | | The DATE$ function returns a string indicating the | | current year, month, and day set through the | | operating system. | | | | | | Syntax: a$ = DATE$ | | | | | | Explanation: DATE$ returns a six character string | | in the form YYMMDD. YY is the last two digits of | | a year reference, such as 84 for 1984. MM is one | | of twelve digit combinations representing the | | month such as 02 for February or 11 for November. | | DD is one of thirty-one digit combinations | | representing the day of the month. The string that | | DATE$ returns is undefined if the operating system | | is set to a date later than December 31, 1999 or | | earlier than January 1, 1978. | | | | If your operating system does not support time and | | date functions, the CBASIC DATE$ function returns | | a string consisting of six blanks. Refer to your | | operating system manuals to see if your operating | | system supports time and date functions. | | | | | | Example: CURRDATE$ = DATE$ | | PRINT "Today's date is: "; CURRDATE$ | | | | | | | | | | | | | | | | | | | | | | | | Page 5 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes TIME$ Function | | | | | | | | TIME$ Function (NEW!) | | ================================================ | | | | The TIME$ function returns a string indicating the | | current time of day. | | | | | | Syntax: a$ = TIME$ | | | | | | Explanation: TIME$ returns a six character string | | of the form HHMMSS. HH is one of 24 digit | | combinations representing the hour, such as 06 for | | 6:00 AM or 15 for 3:00 PM. MM is one of sixty | | digit combinations representing the minute. SS is | | one of sixty digit combinations representing the | | second. | | | | If your operating system does not support time and | | date functions, the CBASIC TIME$ function returns a | | string consisting of six blanks. Refer to your | | operating system manuals to see if your operating | | system supports time and date functions. | | | | | | Example: CURRTIME$ = TIME$ | | PRINT "The current time is: "; CURRTIME$ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Page 6 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Graphics Errors | | | | | | | | Graphics Extension Error Messages (NEW!) | | ================================================ | | | | The following error messages indicate compilation | | errors that can occur during compilation of a | | graphics statement in a program. Compilation | | continues after the error is recorded. | | | | Error numbers 180 through 240 inclusive are | | reserved for use with the CBASIC Compiler | | graphics extention. | | | | | | Error Meaning | | | | 180 A left parenthesis is missing. A left | | parenthesis is inserted. | | | | 181 A right parenthesis is missing. A right | | parenthesis is inserted. | | | | 182 A comma is missing in a PLOT statement. | | A comma is inserted. | | | | 183 The keyword STYLE is missing in a SET or | | ASK statement. STYLE is inserted. | | | | 184 A comma is missing in a SET statement. A | | comma is inserted. | | | | 185 The keyword HEIGHT is missing in a SET or | | ASK CHARACTER statement. HEIGHT is | | inserted. | | | | 186 The keyword ANGLE is missing in a SET or | | ASK TEXT statement. ANGLE is inserted. | | | | 187 A comma is missing in a SET or ASK WINDOW | | statement. A comma is inserted. | | | | | | | | Page 7 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Graphics Errors | | | | | | | | 188 A comma is missing in a SET or ASK | | VIEWPORT statement. A comma is inserted. | | | | 189 The keyword PAGE is missing in a SET | | statement. PAGE is inserted. | | | | 190 Not used. | | | | 191 The keyword COUNT is missing in a ASK | | STYLE statement. COUNT is inserted. | | | | 192 A comma is missing in an ASK statement. | | A comma is inserted. | | | | 193 Not used. | | | | 194 Not used. | | | | 195 The keyword COUNT is missing in a SET | | COLOR statement. COLOR is inserted. | | | | 196 Not used. | | | | 197 Not used. | | | | 198 Not used. | | | | 199 Not used. | | | | 200 Not used. | | | | 201 Not used. | | | | 202 Not used. | | | | | | | | | | | | | | | | | | Page 8 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Graphics Errors | | | | | | | | 203 A comma is missing in an GRAPHIC statement. | | A comma is inserted. | | | | 204 The keyword following GRAPHIC is unexpected. | | INPUT is inserted. | | | | 205 A left parenthesis is missing in a GRAPHIC | | statement. A left parenthesis is inserted. | | | | 206 A right parenthesis is missing in a GRAPHIC | | statement. A right parenthesis is inserted. | | | | 207 A colon is missing in a GRAPHIC statement. | | A colon is inserted. | | | | 208 The variable in an ASK statement is of type | | real or string. An integer variable is | | required. | | | | 209 The variable in an ASK statement is of type | | integer or string. A real variable is | | required. | | | | 210 The variable in an ASK statement is of type | | integer or real. A string variable is | | required. | | | | 211 Not used. | | | | 212 Not used. | | | | 213 Not used. | | | | 214 Not used. | | | | 215 Not used. | | | | | | | | | | | | | | Page 9 | | | ---------------------------------------------------------------- ---------------------------------------------------------------- | CBASIC Compiler (CB80) READ.ME File Notes Graphics Errors | | | | | | | | 216 A comma is missing in a GRAPHIC statement. | | A comma is inserted. | | | | 217 The variable in a MAT statement is of type | | integer or string. A real variable is | | required. | | | | 218 Not used. | | | | 219 Not used. | | | | 220 Not used. | | | | 221 The keyword following MAT is unexpected. | | FILL is inserted. | | | | 222 A colon is missing in a MAT statement. A colon | | is inserted. | | | | 223 An identifier is missing in a MAT statement. | | An identifier is inserted. | | | | 224 A comma is missing in a MAT statement. A | | comma is inserted. | | | | | | | | | | VVVVVVV | | VVVVV | | VVV | | VVV | | VVV | | VVVVV | | VVV | | V | | | | END OF READ.ME FILE | | | | | | | | | | Page 10 | | | ---------------------------------------------------------------- | | V | | | | END OF READ.ME FILE | | | | | | | | | | Page 10 | | | 0 REM R O C K E T L A N D E R 2 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 5 OUT 2,26 10 P=1 11 REM ....P IS THE INPUT PORT NUMBER FOR YOUR KEYBOARD...... 15 REM 20 REM 70 PRINT "LUNER LANDING SIMULATIONS" 80 PRINT "----- ------- -----------" 100 PRINT:PRINT "DO YOU WANT INSTRUCTIONS" 110 INPUT "(Type 0 for NO)";A 120 IF A=0 THEN 390 160 PRINT 200 PRINT"YOU ARE LANDING ON THE MOON AND HAVE TAKEN OVER MANUAL" 210 PRINT"CONTROL 500 FEET ABOVE A GOOD LANDING SPOT. YOU HAVE A" 220 PRINT"DOWNWARD VELOCITY OF 50 FT/SEC. 120 UNITS OF FUEL REMAIN." 225 PRINT 230 PRINT"HERE ARE THE RULES THAT GOVERN YOUR SPACE VEHICLE:" 240 PRINT"(1) AFTER EACH SECOND, THE HEIGHT, VELOCITY, AND REMAINING" 250 PRINT" FUEL WILL BE REPORTED." 260 PRINT"(2) AFTER THE REPORT, A'?'WILL BE TYPED. ENTER THE" 270 PRINT" NUMBER OF UNITS OF FUEL YOU WISH TO BURN DURING THE " 280 PRINT" NEXT SECOND. EACH UNIT OF FUEL WILL SLOW YOUR DESCENT" 290 PRINT"(3) THE MAXIMUM THRUSTOF YOUR ENGINE IS 30 FT/SEC/SEC OR" 300 PRINT" 30 UNITS OF FUEL PER SECOND" 310 PRINT"(4) WHEN YOU CONTACT THE LUNAR SURFACE, YOUR DESCENT ENGINE" 320 PRINT" WILL AUTOMATICALLY SHUT OFF AND YOU WILL BE GIVEN A" 330 PRINT" REPORT OF YOUR LANDING SPEED AND REMAINING FUEL" 340 PRINT"(5) IF YOU RUN OUT OF FUEL, THE'?' WILL NO LONGER APPEAR" 350 PRINT" BUT YOU SECOND BY SECOND REPORT WILL CONTINUE UNTIL" 360 PRINT" YOU CONTACT LUNAR SURFACE.":PRINT 365 PRINT:INPUT "HIT TO CONTINUE...";W9 390 PRINT:PRINT:PRINT"BEGINING LANDING PROCEEDURE.........":PRINT 410 PRINT"G O O D L U C K ! ! ! " 420 PRINT:PRINT 440 PRINT"SEC FEET SPEED FUEL PLOT OF DISTANCE" 450 PRINT 455 T=0:H=500:V=50:F=120 490 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*" 500 INPUT B 510 IF B<0 THEN 650 520 IF B>30 THEN B=30 530 IF B>F THEN B=F 540 V1=V-B+5 560 F=F-B 570 H=H-.5*(V+V1) 580 IF H<=0 THEN 670 590 T=T+1 600 V=V1 610 IF F>0 THEN 490 615 IF B=0 THEN 640 620 PRINT:PRINT"***OUT OF FUEL***" 640 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*" 650 B=0 660 GOTO 540 670 PRINT:PRINT"****CONTACT****" 680 H=H+.5*(V+V1) 690 IF B=5 THEN 720 700 D=(-V+SQR(V*V+H*(10-2*B)))/(5-B) 710 GOTO 730 720 D=H/V 730 V1=V+(5-B)*D 760 PRINT" TOUCHDOWN AT";T+D;"SECONDS." 770 PRINT" LANDING VELOCITY =";V1;"FT/SEC" 780 PRINT F;"UNITS OF FUEL REMAINING." 790 IF V1<>0 THEN 810 800 PRINT:PRINT"CONGRADULATIONS!!! A PERFECT LANDING!" 805 PRINT"YOUR LICENSE WILL BE RENEWED.........LATER." 808 GOTO 845 810 IF ABS(V1)<2 THEN 840 820 PRINT:PRINT" ***** SORRY, BUT YOU BLEW IT KIDO!!!!!" 825 PRINT" THIS WAS OUR ONLY CHANCE TO MAKE CONTACT WITH EXTRATRESTRIAL" 827 PRINT" BEINGS. NON-APPROPRIATE CONDOLENCES MIGHT BE SENT TO YOUR" 830 PRINT" NEXT OF KIN." 835 GOTO 845 840 PRINT:PRINT"WELL......THAT WAS OK. BUT NOT TOO SPECTACULAR..." 845 PRINT:PRINT 850 PRINT "ANOTHER MISSION ANYONE" 860 INPUT "(Type 1 if YES)";A 870 IF A=1 THEN 390 880 PRINT:PRINT "CONTROL OUT. ":PRINT 999 END "ANOTH00010 PRINT "This is an example of BASIC-80" Ì]z))DEc9@gQC}DE CsD +"]D  $ |D}DDD<|""XL{LL{PtM=$$YXTZZSR\SZeXY{TzTSYHIyII|(*g(678&+7y8919JHFIHH"+IFFz)) *m*zQ}QQU@VXVaQdQgQ;LM$Xq"9BLdhiUTϫNBTSLOSONԚLEAҒINSNDBV+V,V-O HRAL̶OMMOθHAIιELETŪATI͆EFSTҭEFINԮEFSNǯEFDB̰EƘLSŢNāRASŦDIԧRROҨRRX O/QO҂IELILERIOTωO TωOSUEEXNPUԅƋNSTNNMNKEYILPRINԞLISԟPOEԈINűOASEISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOPEοUԝΕCTPTIOκRINԑUOKřOEEETURΎEAćUΊESTORŌE͏ESUMũSEIGHTNENUͬESEANDOMIZŻTOАWAХAVPCTEGQI TRTRINGPACEYSTEͽHEROΣROFƤABA SINSAARPTIDTȡAIԗHILŴENĵRITŷO۾yy||PF<2(z{ *z);*)&,,d-D.s)%%'i')1+%+Q+3)NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filespP8`@` :, in Ok Break!9~#b  T N#F#`izv C T  *|<ʗ :  D=96543>7@?2C: * "   *" 2 2 |< "  * âC{K2* " * |< " " * |! 4 4 5wY2B!{DP 2R U >(_#U * ~?o !P #GC!BʻY|<1>DA2MSB!E :* > @(K 2 Ç 2 *  C " :b ʢ >(Kڢ <=ʢ (ͬ~ ̾(" ҊSe]" ;5$ܢ"ʇ: \*v " * ͶB" t##s#r## w# y}ͯ!6"*" 7C*"* "â *bk~####~ ҷ ڷù#s#rïC *DM~#+##~#foC`i~#fo??2i 2h ;#~=!@}O|G!""y O:h ~ʂ#Y:aJg>2h 2i U%~|*O~#Ym?>HjZEڗ;;>ʸ;>HOZ#þGO TOUBZ!AO ^#V#ZOd#<y(!!!Z.!>dG>Y2i Y%=+ZOiMk֢ύ>2i W„Y>5W>Y{~.ʧ:"0":i ~O.O>Y(ͬ}Y|Y%~.ͬ:g * |>}e. Y! d! ~Y#=%iʎ%à&O[H> K> Yi>: y +=2i ZY#ZEo:ҋ0o.o%~ Ҡ ʠ ʠ> :i <ʩ=m+~ ʬ ʬ ʬ#>d2 ͋9C" :g ͬ! (" !9T  +V+^##* C" B* *Cd Nz)~S ͒(q)ʹ(QZ~>r)ʹ(E(OdG+ $* "* 3àE3\B" !9" ~: #~#ʅ #^#V": >[@1>]@ցLO! N#F#~: ҆ ځ#:l `#2l f>R~#"j &o"n >2m !~##"j +fC͎*j <2m n G("j ! 0?<=:l ҫ ګ*n ¨###^#V,:m 2g *n " *p " !n (E AOGEAGx3Ø(:l  *j #*C > 2 ,$`i P "  "!>:yHG+ȸ#"<֌W-͋9C" :g G:g x=ͬ:g  H * #^#V*Cs* C{! C{>HͣFH(µC(zʢPY" : {:_ u ~GC+K x),  <2~(z˜<* * "~ #####u   =>C,* =( |" 2 " â ~,dC+͆(~ʕ *n €€l>2á Q+!B>ee,%;d)1F6 * 4TF* ::G<:?=:G<:e ?=!B&Gá(* TF~\:I:G<:\V:G:e \!B\/V tz|TF›:::o<ʛ& ,C)+(* TF~:::e /<!B{= @è2go"C#ʧQHLo͋9;*0KDF>-?Redo from start #~ "4N: !!#G* Q!a ;#YHL">2>2 F~,2 ÓC;&G: ʫ>?@> @0KDů2 6,+>2 ͉:~+[(# "4([]), ~,B>2 d: =Bd̨H+~,ʿ+N6,E* 2 QC,͋9~,c: 2 TF—Qd¢WG"ʌ: Wʉ:,+FO: y!...+ʽ,G+M: C#~# #^#V" cCC(+B͓2 " * ~" ڎ_4:g {[H !xVzʬQںzʺ! :g  N#F#N#F! N#F#N#FKG* W " Ð)͙(6Çz)uÇxdd!BdX* \FÇy2h :g g+Wx(zOxdz o! N#F* *(" " ͩ( *!:h og~#fox(2g 6" ;)!A͙(*ʹ(" " i*͙(*g' .EJ ]<=ʓ<"FO&i:* ,C(#r PQ͉:C)|)IoBI'UTC)}* k(͋9" d(~a{_&([OʭH¬#~[Eҗ:0ÞG7))))o~ +8  )))0O í)#~ց(7>OyC,;** u )4} )H>2  N#fi-++<(aZz)}/o|/g" :g q7xz)z ,{ʨ+F•{o|P {o|<«{o|2¸{/o|/}//o|//}o|g,::e 2 ͋9:g " " ͬB!9(:g * ~)C,* C,Á2N 2g !9(!9.,:g G:N Od}!P O:* * C)>" : OBO/2 OÐ9~ #~#`J x 2b b + C,u W : u 2_H 2u 2_H 2H /<z)zu 2 2 C,u Y +{>2e]!"N#F#xʇ TFQBN#F#Cچ " 1~ > @ !b !BÑ ~ͥB# b 2 e] #~ ! _!A!_.!!!/!: -!<-!> >2 { =! ! <~J!#~#X! k*l!~#>l!+!:G@ #T]~u!#y!~v!ʏ!y_¢!: >2 ÷![®!2 !: >2 !> XG{!~#_XG!!2 E0:?+͎ " o6 r6*n )1:l O " H*">&{:m ;"!;"#~ ̾(~#m":m A" ^".h"Dh"EA"A"{v"*j 5$Ҕ"T]C!E #G!* C¦"`i" "\]~"\]C,u "z)d: E()È% PX/#,#BK/#C,/#C,( z`iC[# !C^#Vzn#~#+K#͑#^#Vzʌ##s#r u# 2 *+#~##^#Vʚ#O: y$#¦#¦#3z##£#3 > %$B!$#G11+ã#Undefined line #3###N#F>!#*j +p+q+w: Ò#CBCACSCE: * * C ~0  2 <2 ~̓$#y$\Aʔ$z)ð$!$#G KD#~.~•$z)"j87Random number seed (-32768 to 32767)$*" +%%$%#~#Y #^#V" y~.%$$$$$%** "͋9+%c%C,+8%": 2 2 ! 6ͷ(È%ͷ(t(x: ʩ(Ң%/<͙(ͩ((gb&|! %B&#ʈ0.͉&#&G~_#~W#~ON&hcGy&JTeox%2 |&y%O&)zWyO%x\E#&! w%%x! 5&F#~怩Oé( 4Ç0~_#~W#~O! ~/woG}_}W}Oq&CZQd& oz…&y-O{&Ë&-yOzW{_xGÅ&$cCu͍M r5E(&1r'ʹ(>2 ͙(!&ͧ7͙(ͩ(!&ͧ7i'͙(T(È%E(.(y2<'"7'PX!%!%'! ~#Y'Wy='O|g}oxGQ'x Gz/'CZQO͙(!-ͦ(E(ʐ0.(4g04g0+~2'+~2'+~2'AOW_2'}o|gxG>?ұ'2'7y<=':'x'> $&{_zWyO)xG:'2'y”'! 5”'%>.! N#G.x'(}! Gx&(ƀwW'(w+E(/%g0ʹ(xڀ0G͈%! 4À0: : /<! Op#6%͆(d+ ! ~w͆(og)d E(* ||O(* * ͷ(" `i" ! ^#V#N#F# (:g Gw#(! ~7w?##wy7O! ((! ( d xE(!N(E(y! y )#x+y+z+{z|O(@)}P(! ( E(!N(E(O! y#)+f)I)N(d* )(! 6(&,)Ü)y%: 2 : B*: ½)))|/g}/o)! : )B*" >2g )aj)d* ʹ(6*x(! F#&* 6*|UY(d *!" " >>)d GOW_ʹ((gf*>b&|5&N&z< dE(*t(̀*k(dҦ* )! ~: ~B*6{y%! ~*O+~+¶*!*) *yʹ((+6+q*: O! >%-,2 Ñ,! ~5#*!x"+>);)+ ;=+|G+y4+|Gz)*͙(,N0|)+DM!>)ډ+)q+ ډ+=c+|+x+ʚ+*͙(*'x)*t(| ++DM!>+ +7>{_zW}o|g=+w+|G+|)Ooyg)* +|6*Y(ͨ+g{o)+! ~w! ~G+N (R,/<#Fwx+ B,F+N9(! G>w2 ! %-x,: 2 ,,4ʈ0Q-,>,! -G: º,! Vwz# Ÿ,x’,%! Y-,x,! w%: ,! ~++w! 4#,4ʈ0+60 ! ->!  2 -# -~/w! Oyw#-q<-NsY+1-'- W~w+F-?-! C-~w# [-E(: %'͝.qʙ-G,Q-x ‚-y-Ñ,! --Ñ-L} : A--! (d-: -2 !t(. ! (.&, ! (>.".&,! 3.=-..! 5%! >5=.>! N#F#=(.>! p+q+=9.: ʔ0: %'44ʈ0͝.!7 qA>,?t.>,: <=,! [-!0 Y-xb.! 5b.%y2 +6 ~q+¨.(+~ڈ0w&,4È0%3*j%>2 `h)~&i-.+.+/.ʆ/e /E5/l#/L#/q#/Q4/:g N/>N/~%ʓ/#ʤ/!ʥ/dN/De/ͮ/2S0e/_{_//i/k(d!W')d e/ܮ/.!W'!z)e/ͮ/e/) *d.(.=d^'- ̓$> ̓$!  101(d0! 1(* |* "1C !@ #G"G)Ͳ1F1Ͳ1416+͆(F16-k(#60: W:g 22һ1ͺ5! F : _ 1x*1{1Aqʟ1Eʟ1Dʟ101,1.¢1+60{ʫ1+6${+p2 ! 6 ͙(* * 2 f2E~2:101 #~1>DG1" `i" #~+N2-%20OxGN2#~ 2`xEC2y 1>2 S2|1;21" `i" ͩ(#W\4: 2Ë22ҏ2460̾("5+~0ʞ2.ľ(2d>"w#6+26-/</ 2:#p#w#6! #zQ334z4ͺ5{(=4b13p#6! #: ~ 3* 3+3-+$0I3#I3++w?3 3I36%3m36C){3)1+6%)d3E(\43_x44"5452_y/3/3{_x34434y5O4GO"53* =4P2*ѯ3E(7\4y/OzWO/4)4/< 5/>,K5>,p#=B5! ͦ(~5y%>B*ͩ(_6?5ʹ(/{_#zW#yO++Ғ5B&#ͩ(p#ڄ5>5e6>5N#F#* /}o|g5" p#=55w1_cƤ~@zZrN vH Tʚ;@B''d G" կʎ6))))Ÿ6y=ʟ6ʫ60:ڨ6 ʸ6ʊ6È6!t(͙(! 6ͦ(6)!r%>2 E(x+76ʗ0%yʹ(7: 77͍*)|" " ܻ6t(ͽ&'8;': `7hr7͙(͍*Ɓc7ͅ%!{7ͧ7J'͙(: o7%~0é(|Yt&wz^Pc|u~r1͙(+ʹ('͙(~#ͦ(='ͷ(͈%ð7RO!&ͦ(76*E(!H8>8!i8ͦ(!H8Ȇw#O ͷ(':G8<2G8!i8O |%ʹ({YOO6+F6!F84~֫58w %!i8(w+w+w85Jʙ9v" GSљ e͘w>ROhFhiuh!8|%: w: 82 t("~'͙(͍*ͅ%)8͈%͈%E(t(͈%t(: 82 !9͘7: 2 "~Ie&X4#]I͙(8͙(ͩ(y8g'E(6t(: N9QYi'!%!X9͘7!8 J;xn{/|t1}=Z}~L~l+C,}92f NE G2#~.9ʵ9:ү90ҵ9E9G#~:90Ҽ9EҼ9.ʼ9x' 2~&9 :%$!#y_! V+z2g : =ʒ;):~(;3;2 : 2 }:*  " c:o[::g [::&* C;^#~#¸;:g ¸;~;#^^#V#˜;:f DMW']< #:¹;#ʾ;+͸<þ;:g w#_ʖ!@1> @!b  ~#=GA"=[0A= A=_zW"=! =L=ʺ>O>>ʨ=1g= !>=#ʻ=>>= >>(9>ʵ=6>>@!B<~ͥB#¨=!>7A_>~=ͥB܁>=#~== !B<~>\ͥB~>ͥB́>=>\@~A +> +>+> +>>@ >wͥB# >6Hͨ=Aq>s> >s> ʑ>ʑ> ʑ> >>_‘>>_ʙ>ͥB+>> ~7W'#~+w#Ã>yڡ>>@>> o&DM#͹BwͥB#Þ>x+>ͥB>x+~ͥB> !Bz\@@_W@W~#!ʎ@#ʡ?&ʉ@g@+>H?+~#.?_}@\&???$ʚ?*??x#ڒ?~$> ž?#W?~#.?#ʡ?,?z@Wá?~#>.??# ?~##??T]^###xG#z+@x@~-@@>Wr@Cxz*1#G+7N@2 ;K@, ~#_~#foxE?m@@@?!BͫH@~#@_@Ò@>@r@;** AxxOI&G* 5@G> 5@@@z>+@TFfV:\A@:@27A A> @:A 3A6A:<:-A!MA6A<2Oɯ2:> 7A> 7A2:XG{A:e ʍA=2e >îA A> @:e €A ڮA:G:e ʥA!BʮA<2e OTFAWMS: 0P:A!7C!E #G:AD/2AD:e !B6!a > @> @TF3B:?B2ɯ2e :=@FBAA2CDD͙BƒBʌBAͷF_H!D " >2g :2@ > @+B> BC~ +üB*v  >ƕo>gB9*++"  BgGBB* C:G!^#V#C T*}D2 2 2 w#w#" *+" : XC2 2 ! 6#QC7!i8(!F8w#w#w2 og" " *v : ƒC" C* " " : T*++" ##!z "x r%DAgo" 2 "N " " 2 * |}~C##~:  *C(`i+" < D T" !z "x !*}<-D" * " 2DAB!J b Æ >OD22>^@@@!B* | * "u <2>2 ͋9! (* dC,͋9Gd * CD( (>2 ͋9D2 `i D * CD `i" ~,D~A[?;C E, E+ EC, E*,4EyE+ʅEC,ʅEyE+ !NC҂E͗EڂE*  C҂E"v " E"zB**v {_zWME}_|W2 " ċ9" P ^#V#* C ~#~#Eͦ(: E! ͦ(|%(ͷ()/F####N#F#^#Vi`: F* F1+:g  r+s^#V#3)ͷ(AF"i`Ü" * ~, ͨE*|ͥH~#N#FͬHW^#N#F{zد< #rF?P(o6ÙFr6ÙF)1FͨHH~#*x " >2g ( C"x ~ #FͨH͹( @ +B-G* * /O #CZG" # >G*v " !* !z *x CxGH!L " * " * * CʹG~###͚<²GH_ÕG* ^#Vz* G" ##^#V#" ÕG* C7H~###͚ {͹FGH* w#?IHIO>~XIxIx C,;*C,* C)ͥHW'ͫHG=O>x~#F#fh GN#^#VUJ LJ#7Jѯx<#4JIJC(͋9;*#^#V* CڍJ*CҍJͣF(C,u ~JͥHG!W'y~?@> @(KͿAzK68Kp22 ͿAoK!B!=:>\2UK'K@+iK~@K+@K@!B!b 2OAK:ʐK>\@2yKCD7 ;L K ´K(KKCD(KK0K@> @>bKK>#iKK6!B!b K KxL*|>L!b ("_yq#@ K2e > @ͿA,L KzK: Bw!a >2 ;2 " $L33oL " ** áL LL" *" ##^#V#~#fo"͆(ʵLA3à* "à!9~#L L~#foC L >2 ͋9d(""  B!9 +" _MC(͋9s#r#~,=M #MC)" >!=_M=_M=_M!9DM!jM* * * à2 2 ~‡M2 #+͔R!" +NC,,ʸM"" +NC,MCACLCLNOC, 2 5$`i" NT]" CNO**+#~#N#^#V"N:N2 ͉:ʢNxG͒;>2 hN~(nNþN~(͉:zNxGN::g W):zBK!N N 2 ~(nN ͖N+"N(NC)"NC,BN"* * C#ON##~w#͚< NO* " N* C Oy_xW `i" * CNO##~w#͚2 : mS:2ùR2 2 * DM* " * #* " CNP `i" * *+zʠ `ià Q+PdP)1F* #^#V ªPr+s+5&G+P;ʿPC,+>,@ÇP>"@&G>"@íP*|Q~Q\}o|gQ> @+|P!B#*QѻQ  C,PY"+#x _:ڦ !N#F :Q!)^Q! >>>ͬ͹F* (H>>>ͥH<2g #~#fo(d ,»QZûQ Q͋9;*W_Wڬ Q¾Q"QG{,xQPXW1R!b Oz"yR QR RO{,yĊRW1R R{ +R,> +R+R1R1R͊RWQ"hV* *CMS~#hVSV:SS=S~,~#u SůSѯ*Qʦ   ! ~#fo" !"o]| G~,r CACS͋9;*O*o] "o]* Cڸ q#s#r9T7͋9;*ͥHF~O#^#VT*CT* CTY* * CUy  U!Ux͹FFTC$C(u ~,KU*Qʠ "QC)}͹FʅU͙BlUA~Uw# ^UF* DWڬ qU6Qʦ ʠ !' ~U U#~¸U`i}WÙU>O #~(PY!' ůwͱW:!͞Zʻ =ʝ =UѯÚ <ʻ !% ^#Vr+s9Q6V PY,V!#V`i>yV!' ~UͱW)9V6Qʦ !&QV! ~+n6Qʦ ! ~*~Ee\DM'~U4N#V pʝVzw w+s#r#6#6DM:V!" s#r#6 W! {zVWw<W<ʻ !! {w:W}W!! ~!) ;WU;W~#>W*~ʖ\( ~hW+~#5O ~+~tWzWJW7>*T]% N#F+q#p###6 ’WͱW: ͞Z>ªW>w+w!(HW7?*' 6#67ͥH~ʲ #^#fk_XN#~:X++@bXy@bXbX #RX~.0X>X7X#X2 z bXbX> >X7X> WX7Xò W<ʣ ! w#…XCACSW:!<¾ ͥH~ʠ #N#F OXIXR  C,#u C,{ʦ _9Q¯ WzZ" 1Y{1Y!~ 1Y6B#6A#6Sz"# w# >YwwͱWoY<ʻ ÅY<…Y£ cY!%w#w#w#w~ʨYCzW* ) p# ®YC T T _W<Yʣ Z!6# ͖ZW2 !͒Z!͒Zʣ O!  ~#@ygZ~ dZ>.@ QZ:e W:ڀZ> @@!BAZ~*6?# –ZO!!4¶Z#4¶Z#4y"Zʻ ><+Z* C! s#r#wZ2u]*Q  ! ^#V~,+ zʵ +s#r! w#w! ~#fo!CT[Ò[BK>!)g[)#h[))v[ u[#=][}_}la)ҍ[#x"o]! "q]!) "s]!}o|gCڼ[bk:u]\C[ \DM*s]*q]X\"q]PY\*o]#"o]}o|g|Ÿ[ \DM*q]*s]X\"q]PY[2*o]! ~#foCs#rG\:T\!T\!& äV~# xY\DM\ʓ\͹\! w!( V6 ʎ\zwø \ʓ\͹\! ~!ô\! ^#V! s#rDMͱ\ͫ\C" ͒#\>;S"]C ** C!X9}o|g!9}o|g ] \ \ ** C!9}o|g!X9}o|g S] )] )]*|<:  C*+6* ~šRÇ !?`2 "!"6:͗C2e " * ^#V"zB"UB"##^#V"A##^#V"A##^#V"=A 2!]!!"" !"22d 2 2 2!"!" !z "x ! "L *"v >2!^" :^^<2^!~" ^F#~+w##D^+6" !^/x^+6"" #/x^i^^6ZS^Mʐ^F C:dʯ^z{2ô^"v +^C/}^C:d" ô^+*v +"v +:!]"2<s#r# *  DM=^#"" {ozgB|g}o_|0_!{ozgB"v "" " *B}o|g++!_#G1!_#G!#G" !B! v] Owned by Microsoft Bytes freeBASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81 2!"!" !z "x ! "L *"v >2!^" :^^<2^!~" ^F#~+w##D^+6" !^/x^+6"" #/x^i^^6ZS^Mʐ^F C:dʯ^z{2ô^"v +^C/}^C:d" ô^+*v +"v +:!]"2<s#r# * era sample.int era sample.rel era sample.com dir sample.* type sample.bas cbasic sample dir sample.* crun sample era sample.int cb80 sample link sample,cb80.irl[s] dir sample.* era sample.rel era sample.sym sample cbase2 sample dir sample.* crun2 sample 5 DEFINT A-Z 10 DIM FLAGS(8190) 20 PRINT "10 iterations" 30 FOR M=1 TO 10 40 COUNT=0 50 FOR I=0 TO 8190 60 FLAGS(I)=1 70 NEXT 80 FOR I=0 TO 8190 90 IF FLAGS(I)=0 GOTO 170 100 PRIME=I+I+3 105 REM print prime 110 K=I+PRIME 120 IF K<=8190 THEN FLAGS(K)=0:K=K+PRIME:GOTO 120 160 COUNT=COUNT+1 170 NEXT 180 NEXT 190 PRINT COUNT,"primes" 195 PRINT CHR$(7) 200 END 210 REM done in 1363 seconds in MBASIC on ATR8000. 220 REM done in 1440 seconds in OBASIC on ATR8000. RINT CHR$(7) 200 END 210 RE10 'EXPANDED APRIL 1977 BY W.A. BURTON 20 'PIRATED JAN. 1978 BY ZOSO 30 DIM G(8,8),S(8,8),K(3,3) 40 PRINT CHR$(26) 50 GOSUB 5460 60 PRINT 70 INPUT "WHAT IS YOUR SECURITY CLEARANCE NUMBER (1 TO 1000)";T9 80 E8=T9 90 IF T9<1 OR T9>1000 THEN PRINT AR$;"INVALID!! REENTER!!":GOTO 70 100 FOR A=1 TO T9/2 110 R9=RND(1):R9=RND(2) 120 NEXT 130 CLEAR:PRINT CHR$(26):INPUT" ENTER RANK (1=LOW,12=HIGH)";R9 140 IF (R9<1 OR R9>12) THEN GOTO 130:RR=R9 150 X4=R9:R9=R9+.001:W1=W1+.001 160 PRINT CHR$(26) 170 PRINT "COMMAND ORDER : STAND BY !" 180 PRINT "YOU ARE PRESENTLY BEING ASSIGNED TO A MISSION..." 190 PRINT " WITH A FAILURE FACTOR OF"; (RR*20) 200 PRINT" GOOD-BYE, SIR..." 210 CX=.017453:AR$=" ---> " 220 XA=INT(X4*50):AC=(1/(X4+.1)) 230 IF X4>=9 THEN 3800 240 E=3000-XA+100:P=10:S9=200 250 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2) 260 Q1=INT(RND(1)*8+1):Q2=INT(RND(1)*8+1) 270 S1=INT(RND(1)*8+1):S2=INT(RND(1)*8+1) 280 DATA WARP ENGINES,SHORT RANGE SENSORS,LONG RANGE SENSORS 290 DATA PHASERS, PHOTON TORPEDOES,SHIELD CONTROL 300 DATA DAMAGE CONTROL, COMPUTER,DAMAGE REPAIR,COMMUNICATIONS 310 FOR A=1 TO 10:READ D$(A):NEXT A 320 A$(0)=" . ":A$(1)=" E ":A$(2)=" * ":A$(3)=" K ":A$(4)=" B " 330 F1=.86:F2=.01:F3=.95:F4=.99:K9=0:B9=K9 340 FOR I=1 TO 8:FOR J=1 TO 8:R1=RND(1):R2=RND(1):R3=INT(8*RND(1)+1) 350 K3=-(R1>F1-F2*R9)-(R1>F3-F2*R9)-(R1>F4-F2*R9):K9=K9+K3 360 B3=-(R2>F3):B9=B9+B3:G(I,J)=100*K3+10*B3+R3:NEXT J,I 370 IF NOT(B9>0 AND K9>0)THEN 330 380 PRINT"OBJECTIVE:DESTROY"K9"KLINGONS USING"B9"STARBASE"; 390 U=K9:Y=B9 400 IF B9=1 THEN PRINT" ";:GOTO 420 410 PRINT"S "; 420 T9=K9+RND(1)*K9/R9+10-R9:PR=T9/K9:PRINT"IN"T9"STARDAYS." 430 GOSUB 4260 440 S3=0:B3=S3:K3=B3:FOR A=1 TO 8:FOR B=1 TO 8:S(A,B)=0:NEXT B,A 450 FOR A=1 TO 3:FOR B=1 TO 3:K(A,B)=0:NEXT B,A:S(S1,S2)=1 460 X=.01*G(Q1,Q2):K3=INT(X):Y=(X-K3)*10:B3=INT(Y) 470 S3=G(Q1,Q2)-100*K3-10*B3 480 IF K3=0 THEN FOR A=1 TO 3:FOR B=1 TO 3:K(A,B)=0:NEXT B,A:GOTO 520 490 PRINT AR$;"CONDITION RED !!!!!":FOR A=1 TO K3 500 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IF S(R1,R2)<>0 THEN 500 510 S(R1,R2)=3:K(A,1)=R1:K(A,2)=R2:K(A,3)=S9:NEXT A:IF B3=0 THEN 550 520 IF B3=0 THEN 550 530 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IF S(R1,R2)<>0 THEN 530 540 S(R1,R2)=4 550 IF S3=0 THEN 590 560 FOR A=1 TO S3 570 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IF S(R1,R2)<>0 THEN 570 580 S(R1,R2)=2:NEXT A 590 G(Q1,Q2)=INT(G(Q1,Q2))+.5 600 PRINT 610 PRINT"QUADRANT (";MID$(STR$(Q1),2,1);",";MID$(STR$(Q2),2,1);")" 620 PRINT"SECTOR (";MID$(STR$(S1),2,1);",";MID$(STR$(S2),2,1);")" 630 IF KP<>0 THEN 4050 640 IF DT=1 THEN 2680 650 IF S<200*K3 THEN PRINT AR$;"SHIELD ENERGY TOO LOW":SL=1:A=6:GOTO 750 660 A=2: GOTO 750 670 PRINT 680 PRINT D$(2):FOR A=1 TO 8:FOR B=1 TO 8:PRINT A$(S(A,B));:NEXT B:PRINT:NEXT A 690 PRINT:PRINT"SHIELDS";S;SPC(4);"ENERGY";E;SPC(4);"PHOTONS";P; 700 PRINT SPC(4);"STARDAYS";T9-T 710 GOSUB 3220:INPUT"COMMAND";A 720 IF A>10 OR A<0 THEN INPUT" ----> COMMAND";A 730 IF A>10 OR A<0 THEN PRINT"WARNING - PROPER COMMANDS ONLY !! ":GOTO 710 740 IF A=1 THEN 780 750 IF D(A)>=0 THEN 780 760 PRINT AR$;"CAPTAIN, WE DON'T HAVE ";D$(A);" ANYMORE." 770 IF DT=1 THEN 2680 ELSE 710 780 ON A GOTO 820,670,1470,1530,1790,2140,2230,2680,4900,3900 790 PRINT:FOR A=1 TO 9:PRINT A;" = ";D$(A):NEXT A 800 A=10 810 PRINT A;"= ";D$(A):GOTO 710 820 INPUT"COURSE";C1:IF C1<0 OR C1>359.99 THEN 850 830 INPUT"WARP FACTOR";W1 840 SL=0:KP=0:GOTO 860 850 PRINT AR$"REJECTED ! COURSE MUST BE IN RANGE OF O TO 359.99 DGRS." 860 IF NOT(W1>0)THEN 710 870 IF D(1)>=0 OR W1<=AC THEN 900 880 PRINT AR$;"WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = ";AC 890 GOTO 820 900 TEC=TEC+1:C$="":IF K3>0 THEN GOSUB 2290 910 IF E>5*W1 THEN 980 920 IF S<1 THEN 2450 930 PRINT"CAPTAIN, YOU ONLY HAVE"E"UNITS OF ENERGY. " 940 PRINT"REFUEL FROM YOUR SHIELD RESERVES, WHICH HAVE"S"UNITS"; 950 Q9$="NO":INPUT " ";Q9$:IF (Q9$="Y" OR Q9$="YES") THEN GOSUB 6340 960 A=6:IF D(A)<0 THEN 2450 970 GOTO 710 980 FOR I=1 TO 10:IF D(I)>=0 THEN 1020 990 D(I)=D(I)+1:IF D(I)<0 THEN 1020 1000 IF D(7)<0 THEN 1020 1010 PRINT"DAMAGE CONTROL REPORT: "D$(I)" REPAIRED." 1020 NEXT I:IF RND(1)>.1 THEN 1130 1030 IF RND(1)>.1 THEN 1130 1040 GOTO 1100 1050 IF RND(1)>R9/10 THEN RETURN 1060 R1=INT(RND(1)*8+1):IF D(R1)<0 THEN RETURN 1070 D(R1)=D(R1)-10*RND(1)-1:IF D(7)<0 THEN RETURN 1080 IF D(7)<0 THEN RETURN 1090 PRINT:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" OUT.":PRINT:RETURN 1100 R1=INT(RND(1)*8+1):IF D(R1)>=0 THEN 1130 1110 IF D(7)<0 THEN 1130 1120 PRINT:D(R1)=0:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" REPAIRED.":PRINT 1130 W1=W1*8:A1=8*Q2+S2-9:B1=72-8*Q1-S1:IF W1<1 THEN W1=W1*1.25 1140 E=E-2*W1:T=T+W1/25:IF T>T9 THEN 2520 1150 A2=INT(A1+W1*COS(C1*CX)+.5) 1160 B2=INT(B1+W1*SIN(C1*CX)+.5) 1170 IF NOT(A2<0 OR A2>63 OR B2<0 OR B2>63)THEN 1200 1180 PRINT AR$;"CAPTAIN, HEED STARFLEET REGULATIONS! ( STAY IN GALAXY ) !! 1190 T=T+W1/24:GOTO 710 1200 DEF FNA1(X)=INT(.5+A1+X*COS(C1*CX)) 1210 DEF FNB1(X)=INT(.5+B1+X*SIN(C1*CX)) 1220 FOR X=0 TO INT(W1) 1230 IF NOT(Q1=8-INT(FNB1(X)/8)AND Q2=INT(FNA1(X)/8+1))THEN X=W1:GOTO 1400 1240 S3=8-FNB1(X)+8*INT(FNB1(X)/8):S4=FNA1(X)+1-8*INT(FNA1(X)/8) 1250 IF S(S3,S4)<2 THEN 1400 1260 S(S1,S2)=0:S1=8-FNB1(X-1)+8*INT(FNB1(X-1)/8) 1270 S2=FNA1(X-1)+1-8*INT(FNA1(X 1)/8):S(S1,S2)=1 1280 PRINT AR$;"NAVIGATIONAL ERROR :ENGINES SHUT DOWN AT ("; 1290 PRINT MID$(STR$(S1),2,1);","MID$(STR$(S2),2,1);")" 1300 T=T+(W1/24) 1310 PRINT" YOU LOST "T" UNITS STARTIME RESTARTING ENGINES." 1320 PRINT 1330 IF S(S3,S4)<>4 THEN 710 1340 PRINT"SHIELDS LOWERED FOR REFUELING" 1350 S=0:P=10:C$="D":E=3000-XA+100 1360 GOSUB 2290 1370 FOR R1=1 TO 10 1380 IF D(R1)>=0 THEN NEXT R1:GOTO 710 1390 D(R1)=D(R1)+(11*RND(1)/R9):NEXT R1:GOTO 710 1400 NEXT X:S(S1,S2)=0:S1=8-B2+8*INT(B2/8):S2=A2+1-8*INT(A2/8) 1410 Q3=8-INT(B2/8):Q4=INT(A2/8)+1 1420 IF NOT(Q1=Q3 AND Q2=Q4)THEN Q1=Q3:Q2=Q4:GOTO 440 1430 S(S1,S2)=1:FOR A=S1-1 TO S1+1:FOR B=S2-1 TO S2+1 1440 IF A>8 OR B>8 OR A<1 OR B<1 THEN 1460 1450 IF S(A,B)=4 THEN 1340 1460 NEXT B,A:GOTO 710 1470 PRINT 1480 FOR A=(Q1-1) TO (Q1+1):FOR B=(Q2-1) TO (Q2+1) 1490 IF A<1 OR B<1 OR A>8 OR B>8 THEN PRINT" ***";:NEXT B:PRINT" ":PRINT:NEXT A:GOTO 710 1500 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10)); 1510 PRINT MID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1); 1520 G(A,B)=INT(G(A,B))+.5:NEXT B:PRINT" ":PRINT:NEXT A:GOTO 710 1530 PRINT 1540 IF K3<=0 THEN 2270 1550 IF D(8)>=0 THEN 1570 1560 PRINT AR$;" COMPUTER FAILURE HAMPERS ACCURACY" 1570 PRINT"PHASERS LOCKED ON TARGET. ENERGY AVAILABLE="E 1580 PRINT"NUMBER OF UNITS TO FIRE:"; 1590 INPUT X 1600 IF E-X<0 THEN PRINT"NOT ENOUGH POWER":GOTO 710 1610 T=T+.05:IF T>T9 THEN 2520 1620 E=E-X 1630 IF C$<>"D"THEN GOSUB 2290 1640 IF D(8)>=0 THEN 1660 1650 X=X*RND(1) 1660 FOR I=1 TO 3 1670 IF K(I,3)<=0 THEN 1770 1680 H=(X/FND(0))+SGN(RND(1)-.5)*8*RND(1) 1690 K(I,3)=K(I,3)-H 1700 PRINT H"UNIT HIT ON VESSEL AT (";MID$(STR$(K(I,1)),2,1);","; 1710 PRINT MID$(STR$(K(I,2)),2,1);"), LEAVING"K(I,3)" 1720 IF K(I,3)>0 THEN 1770 1730 PRINT"KLINGON AT (";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1); 1740 PRINT") DESTROYED":K3=K3-1:K9=K9-1:IF K9=0 THEN 2650 1750 G(Q1,Q2)=G(Q1,Q2)-100:S(K(I,1),K(I,2))=0:K(I,1)=0:K(I,2)=0 1760 K(I,3)=0 1770 NEXT I 1780 GOTO 710 1790 PRINT 1800 IF P>0 THEN 1830 1810 PRINT AR$;"ALL PHOTON TORPEDOES EXPENDED" 1820 GOTO 710 1830 INPUT"DIRECTION";C1 1840 T=T+.05:IF T>T9 THEN 2520 1850 P=P-1:IF C$<>"D" THEN GOSUB 2290 1860 A1=8*Q2+S2-9:B1=72-8*Q1-S1:IF C1=90*INT(C1/90)THEN 2090 1870 DEF FNA1(W1)=INT(.5+A1+W1*COS(C1*CX)) 1880 DEF FNB1(W1)=INT(.5+B1+W1*SIN(C1*CX)) 1890 FOR W1=0 TO 10 STEP .9 1900 IF W1=0 THEN S3=S1:S4=S2:GOTO 1950 1910 IF NOT(Q1=8-INT(FNB1(W1)/8)AND Q2=INT(FNA1(W1)/8+1))THEN 710 1920 S3=8-FNB1(W1)+8*INT(FNB1(W1)/8):S4=FNA1(W1)+1-8*INT(FNA1(W1)/8) 1930 IF FNA1(W1)=A2 AND FNB1(W1)=B2 THEN 2070 1940 A2=FNA1(W1):B2=FNB1(W1) 1950 PRINT"(";MID$(STR$(S3),2,1);",";MID$(STR$(S4),2,1);")";A$(S(S3,S4)) 1960 ON S(S3,S4)+1 GOTO 2070,2070,2050,1970,2040 1970 IF RND(1)<(.1*X4) THEN PRINT"SHIELDS DEFLECT TORPEDO":GOTO 710 1980 PRINT"KLINGON DESTROYED":S(S3,S4)=0:G(Q1,Q2)=G(Q1,Q2)-100 1990 K3=K3-1:K9=K9-1:IF K9=0 THEN 2650 2000 FOR A=1 TO 3 2010 IF K(A,1)=S3 AND K(A,2)=S4 THEN K(A,1)=0:K(A,2)=0:K(A,3)=0 2020 NEXT A 2030 GOTO 710 2040 PRINT AR$;"STARBASE DESTROYED":B3=0:B9=B9-1:S(S3,S4)=0:GOTO 2060 2050 PRINT AR$;"YOU CAN'T DESTROY A STAR":GOTO 710 2060 G(Q1,Q2)=G(Q1,Q2)-10:GOTO 710 2070 NEXT W1 2080 GOTO 710 2090 FOR W1=0 TO 8 2100 S3=INT(S1-W1*SIN(C1*CX)) 2110 S4=INT(S2+W1*COS(C1*CX)) 2120 IF S3>8 OR S4>8 OR S3<1 OR S4<1 THEN 710 2130 GOTO 1950 2140 PRINT 2150 PRINT"ENERGY AVAILABLE="E+S" NUMBER OF UNITS TO SHIELDS"; 2160 INPUT X 2170 IF X<0 THEN 710 2180 IF E+S-X<0 THEN 2150 2190 E=E+S-X 2200 S=X 2210 IF SL=1 THEN 660 2220 GOTO 710 2230 PRINT 2240 PRINT"DEVICE STATE OF REPAIR" 2250 FOR R1=1 TO 10:PRINT D$(R1);TAB(21) D(R1):NEXT R1 2260 IF DT=1 THEN 2680 ELSE 710 2270 PRINT"SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT" 2280 IF DT=1 THEN 2680 ELSE 710 2290 IF C$="D" AND K3<>0 THEN PRINT"STARBASE PROTECTS ENTERPRISE" ELSE 2310 2300 GOTO 710 2310 PRINT 2320 FOR I=1 TO 3 2330 IF K(I,3)<=0 THEN 2430 2340 H=K(I,3)/FND(0)+SGN(RND(1)-.5)*RND(1)*7 2350 S=S-H:PRINT H"UNIT HIT FROM ("MID$(STR$(K(I,1)),2,1);","; 2360 PRINT MID$(STR$(K(I,2)),2,1);"), LEAVING"S 2370 IF S<0 THEN 2550 2380 GOSUB 1050 2390 IF RND(1)>R9/10 THEN 2430 2400 R1=INT(8*RND(1)+1):R2=INT(8*RND(1)+1) 2410 IF NOT(S(R1,R2)=0)THEN 2400 2420 S(R1,R2)=3:S(K(I,1),K(I,2))=0:K(I,1)=R1:K(I,2)=R2 2430 NEXT I 2440 RETURN 2450 PRINT AR$;" ENTERPRISE DEAD IN SPACE" 2460 PRINT 2470 CY=1:PRINT:GOTO 2590 2480 IF K3<=0 THEN 2590 2490 GOSUB 2290 2500 GOTO 2480 2510 PRINT 2520 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT AR$; 2530 PRINT"IT IS STARDATE"T:PRINT 2540 GOTO 2590 2550 PRINT 2560 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT AR$; 2570 PRINT"ENTERPRISE DISABLED !!":PRINT:PRINT 2580 CY=0 2590 PRINT"THERE ARE"K9"KLINGONS REMAINING.":IF CY<>0 THEN 3560 2600 PRINT"YOU HAVE FAILED !!":PRINT 2610 L=INT(RND(1)*5) 2620 ON L+1 GOTO 3440,3470,3490,3510,3540 2630 PRINT:INPUT"DO YOU WANT TO TRY AGAIN";X$ 2640 IF LEFT$(X$,1)="Y" THEN 130 ELSE 5420 2650 PRINT"THE FEDERATION IS SAVED !!" 2660 PRINT"YOU ARE HEREBY PROMOTED TO ADMIRAL!!!!":PRINT 2670 GOTO 2630 2680 DT=1 2690 INPUT"COMPUTER ON--COMMAND";A: IF A=0 THEN GOTO 2720 2700 IF A<0 OR A>=10 THEN PRINT AR$;" NO SUCH COMMAND !!":GOTO 2690 2710 ON A GOTO 2900,2950,3000,2840,600,3400,3420,5110,710 2720 PRINT"FUNCTIONS AVAILABLE FROM COMPUTER" 2730 PRINT" 1 = GALACTIC MEMORY MAP" 2740 PRINT" 2 = GENERAL STATUS REPORT" 2750 PRINT" 3 = PHOTON TRAJECTORY" 2760 PRINT" 4 = NEW MISSION" 2770 PRINT" 5 = PRESENT POSITION" 2780 PRINT" 6 = SELF-DESTRUCT" 2790 PRINT" 7 = WARP-COMPASS" 2800 PRINT" 8 = MISSION PROGRESS REPORT" 2810 PRINT" 9 = EXIT COMPUTER" 2820 GOTO 2680 2830 PRINT:PRINT"--TEMPORARY MALFUNCTION--":GOTO 710 2840 IF XM<0 THEN 2880 2850 PRINT AR$;"SAFETY CHECK -- DO YOU WISH TO ABORT MISSION":INPUT AN$ 2860 IF LEFT$(AN$,1)<>"Y" THEN 2890 ELSE 130 2870 PRINT 2880 PRINT"YOU HAVE NOT BEEN AUTHORIZED FOR NEW MISSION !!":PRINT 2890 GOTO 2680 2900 PRINT"QUADRANT CODE MEMORY MAP" 2910 FOR A=1 TO 8:FOR B=1 TO 8:IF G(A,B)=INT(G(A,B))THEN PRINT" ???";:GOTO 2940 2920 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10)); 2930 PRINT MID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1); 2940 NEXT B:PRINT" ":NEXT A:GOTO 2680 2950 PRINT" STATUS REPORT" 2960 PRINT"NUMBER OF KLINGONS LEFT ="K9 2970 PRINT"NUMBER OF STARDATES LEFT ="T9-T 2980 PRINT"NUMBER OF STARBASES LEFT ="B9 2990 A=7:GOTO 750 3000 IF K3=0 THEN 2270 3010 IF D(2)<0 THEN A=2:GOTO 740 3020 PRINT"COORD","LOWDIR","HIGHDIR","DIST" 3030 FOR A=1 TO 47:PRINT"-";:NEXT A 3040 PRINT 3050 FOR I=0 TO 3 3060 IF NOT(K(I,3)>0)THEN 3190 3070 W1=SQR((S1-K(I,1))^2+(S2-K(I,2))^2) 3080 IF W1=0 THEN PRINT"--->MALFUNCTION !":GOTO 710 3090 ON ERROR GOTO 2830 3100 C1=1.5708-ATN((K(I,2)-S2)/W1/SQR(1-((K(I,2)-S2)/W1)^2)) 3110 ON ERROR GOTO 2830 3120 C1=C1*SGN(S1-K(I,1))/CX 3130 C2(I)=C1-(10*RND(1)) 3140 C3(I)=C1+(10*RND(1)) 3150 IF C3(I)<0 THEN C3(I)=C3(I)+360 3160 IF C2(I)<0 THEN C2(I)=C2(I)+360 3170 PRINT"(";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1); 3180 PRINT")",C2(I),C3(I),W1 3190 NEXT I 3200 IF DT=1 THEN 2680 ELSE 710 3210 RETURN 3220 MR=(T9-T)/K9:DT=0 3230 XM=((MR-PR)/PR)*100 3240 IF KA=1 THEN PRINT TK-T"STARDATES LEFT TO SAVE STARBASE.":GOTO 3330 3250 IF RND(1)>.01*R9 OR B9=0 THEN RETURN 3260 KA=1:FOR A=1 TO 8:FOR B=1 TO 8 3270 IF G(A,B)-100*INT(G(A,B)/100)>9 THEN K1=A:K2=B:IF RND(1)>.5 THEN A=8:B=8 3280 NEXT B,A:TK=T+.09*SQR((Q1-K1)^2+(Q2-K2)^2)*(10-R9) 3290 TK=TK+1 3300 PRINT AR$;"!!! STARBASE IN QUADRANT ("MID$(STR$(K1),2,1)","; 3310 PRINT MID$(STR$(K2),2,1)") IS UNDER ATTACK!!" 3320 PRINT"YOU HAVE"TK-T"STARDATES TO SAVE IT!":RETURN 3330 IF T1 THEN 4220 ELSE 5310 3410 GOTO 710 3420 GOSUB 3660 3430 GOTO 2680 3440 PRINT"YOU HAVE SCREWED UP ONCE TOO OFTEN !" 3450 PRINT"OFF TO THE VULCAN TORTURE CAMPS !!" 3460 IF T<= 0 THEN 2630ELSE 3560 3470 PRINT"YOU WILL BE EXECUTED AT SUNRISE" 3480 GOTO 3560 3490 PRINT"YOU WILL BE PUT TO DEATH FOR YOUR INCOMPETENCE" 3500 GOTO 3560 3510 PRINT"YOU WILL BE CONFINED TO YOUR QUARTERS UNTIL" 3520 PRINT"VULCAN'S MOONS BECOME TOURIST TRAPS !!" 3530 IF T<=0 THEN 2630ELSE 3560 3540 PRINT"IMBECILE !! WE HOPE YOU CONSIDER SUICIDE!" 3550 IF T<=0 THEN 2630ELSE 3560 3560 L=(U-K9)*10+((U-K9)*500/T)-100*(Y-B9) 3570 IF E<=0 OR S<0 THEN L=L-200 3580 IF K9=0 THEN L=L+(R9*100) 3590 PRINT:PRINT 3600 PRINT"YOUR MISSION RATING IS: ";L 3610 PRINT:PRINT:PRINT:PRINT:PRINT 3620 GOSUB 5440 3630 PRINT CHR$(26) 3640 GOTO 5450 3650 GOTO 2630 3660 PRINT 3670 PRINT" O9O" 3680 PRINT" 135 . O45" 3690 PRINT" . . ." 3700 PRINT" . . ." 3710 PRINT"18O . . . . . . .OOO WARP-COMPASS" 3720 PRINT" . . ." 3730 PRINT" . . ." 3740 PRINT" 225 . 315" 3750 PRINT" 27O" 3760 PRINT 3770 RETURN 3780 XX=INT(RND(2)*10)+1 3790 RETURN 3800 PRINT:IF X4>12 THEN 3890 3810 PRINT"COMMAND CENTRAL ADVISES THAT YOUR RANKING-";X4;"-IS IN THE EXPERT" 3820 PRINT"CATEGORY. BE ADVISED THAT IF YOU ARE NOT PROPERLY QUALIFIED" 3830 PRINT"YOUR CHANCES OF AVOIDING FAILURE ARE NIL." 3840 PRINT 3850 PRINT"DO YOU WISH REASSIGNMENT TO A LESS HAZARDOUS MISSION (Y OR N)" 3860 INPUT AN$ 3870 IF LEFT$(AN$,1)="Y"THEN 130 3880 PRINT CHR$(26):GOTO 240 3890 PRINT"YOU HAVE REQUESTED A SUICIDE MISSION":GOTO 3840 3900 PRINT"--COMMUNICATIONS ACTIVE--" 3910 PRINT 3920 GOSUB 3780 3930 PD=XX 3940 GOSUB 3780 3950 PE=XX 3960 GOSUB 3780 3970 PF=XX 3980 GOSUB 3780 3990 PG=XX 4000 PH=PD*10+PE 4010 PJ=PF*10+PG 4020 IF PH=PJ THEN 2830 4030 KP=1:IF PD=PE OR PF=PG THEN 4040ELSE 4060 4040 PRINT"SUNSPOTS BLOCK TRANSMISSION AT : ":GOTO 610 4050 PRINT"MOVE ELSEWHERE AND TRY AGAIN":PRINT:GOTO 820 4060 PRINT"AUTHORIZED FREQUENCIES":PRINT 4070 PRINT"FEDERATION COMMAND BASE = ";PH 4080 PRINT"KLINGON COMMAND CENTRAL = ";PJ 4090 PRINT 4100 INPUT"COMMUNICATION ON CHANNEL ";XF 4110 IF XF=PH THEN 4330 4120 IF XF=PJ THEN 4620 4130 PRINT 4140 PRINT AR$;"ALERT !!" 4150 PRINT"ATTEMPTED COMMUNICATION ON UNAUTHORIZED FREQUENCY" 4160 PRINT 4170 PRINT"WHILE SECURITY CHECK IS CONDUCTED ON ENTERPRISE" 4180 GOSUB 3780:A=XX 4190 GOSUB 3780:I=(XX/2)+(X4/7) 4200 PRINT"YOUR ";D$(A);" WILL BE INOPERATIVE FOR ";I "UNITS OF STARTIME" 4210 D(A)=D(A)-I:GOTO 710 4220 PRINT 4230 PRINT"SECURITY CONTROL ADVISES THAT NO AUTHORIZATION HAS BEEN" 4240 PRINT"GIVEN TO ACTIVATE SELF- DESTRUCT SYSTEM." 4250 PRINT"PROCEED WITH ASSIGNED MISSION":PRINT:GOTO 2690 4260 PRINT 4270 PRINT"BE ADVISED, YOUR MISSION PROGRESS FACTOR IS";PR 4280 GOSUB 3780 4290 TF=(XX*X4)/1.6:IF TF<10 THEN TF=TF+10 4300 PRINT" THE TOLERANCE FACTOR FOR THIS MISSION IS [+/-]";TF;"PERCENT" 4310 PRINT 4320 RETURN 4330 ON SGN(XM)+2 GOTO 4340,4380,4400 4340 IF ABS(XM)>(TF*1.5)THEN 4460 4350 IF ABS(XM)>TF THEN 4430 4360 PRINT:PRINT"CAPTAIN, YOU ARE BEHIND SCHEDULE - LET'S GO !!" 4370 GOTO 710 4380 PRINT:PRINT"YOU ARE EXACTLY ON COMPUTED SCHEDULE; PROCEED WITH MISSION" 4390 GOTO 710 4400 IF XM>TF THEN 4550:IF XM>(TF*1.5)THEN 4580 4410 PRINT:PRINT"YOU ARE AHEAD OF COMPUTED SCHEDULE, KEEP UP THE GOOD WORK !!" 4420 GOTO 710 4430 PRINT:PRINT"YOU ARE BEHIND SCHEDULE AND OUT OF TOLERANCE FACTOR !!" 4440 PRINT"COMMAND CONTROL PROJECTS FAILURE...YOU MAY SURRENDER TO ENEMY" 4450 EQ=1:SD=1:GOTO 3900 4460 YY=AC^X4 4470 PRINT CHR$(26) 4480 PRINT AR$;"---------COMPUTER PROJECTION----------":PRINT 4490 PRINT"PROJECTED LIKELIHOOD OF SUCCESS FOR YOUR MISSION =";YY;"PERCENT" 4500 PRINT"WE HAVE AUTO ACTIVATED SELF-DESTRUCT SYSTEM ON YOUR VESSEL" 4510 PRINT"GOODBYE, CAPTAIN.............":PRINT 4520 PRINT"END OF MESSAGE FROM FEDERATION COMMAND":PRINT:PRINT 4530 GOSUB 5440 4540 GOTO 5310 4550 PRINT:PRINT"YOU ARE AHEAD OF SCHEDULE AND BEYOND TOLERANCE FACTOR" 4560 PRINT"CALL KLINGON LEADERS AND REQUEST THEIR SURRENDER":KQ=1 4570 PRINT:GOTO 3900 4580 PRINT AR$;"MESSAGE FROM COMMAND BASE" 4590 PRINT:PRINT"ENEMY HAS SURRENDERED TO FEDERATION COMMAND !!" 4600 PRINT:PRINT:PRINT:PRINT 4610 GOTO 2650 4620 IF KQ=1 THEN 4870:IF EQ=1 THEN 4650 4630 ON SGN(XM)+2 GOTO 4640,4700,4750 4640 IF ABS(XM)<=TF THEN 4700 4650 PRINT:PRINT"KLINGON COMMAND ON FREQUENCY" 4660 PRINT"NATURALLY, WE ARE PLEASED THAT YOU ARE CONCEDING, CAPTAIN" 4670 PRINT"WE ARE PRESENTLY BOARDING YOUR CRAFT" 4680 PRINT:PRINT"HERE IS A MESSAGE FROM YOUR LEADERS-":PRINT:GOSUB 5440 4690 PRINT CHR$(26):GOTO 2610 4700 GOSUB 3780 4710 IF XX<=5 THEN 4740 4720 PRINT:PRINT"MESSAGE FROM KLINGON COMMAND...." 4730 PRINT"NO FURTHER COMMUNICATIONS AT THIS TIME":GOTO 4830 4740 PRINT:PRINT"WE'LL TALK WITH OUR WEAPONS, EARTH-SWINE !!":GOTO 4830 4750 GOSUB 3780 4760 AQ=INT((XX+1)/2) 4770 ON AQ GOTO 4720,4740,4780,4780,4750 4780 GF=TF*1.5 4790 IF XM>GF THEN 4870 4800 IF XM>TF THEN 4840 4810 PRINT:PRINT"CAPTAIN, DESPITE YOUR SLIGHT ADVANTAGE, YOU ARE NO MATCH FOR" 4820 PRINT"THE GLORIOUS KLINGON FLEET" 4830 PRINT TAB(25)"END OF MESSAGE FROM KLINGON COMMAND":GOTO 710 4840 GOSUB 3780 4850 IF XX<=5 THEN PRINT" KLINGON COMMAND TO ENTERPRISE..":GOTO 4740 4860 GOTO 4880 4870 PRINT CHR$(26) 4880 PRINT:PRINT"MESSAGE FROM KLINGON LEADERS..." 4890 PRINT:PRINT"WE CONCEDE THE WAR, SIR, CONGRATULATIONS !!":GOTO 3610 4900 AV=INT(X4/2)+1:DR=-1 4910 IF TEC"D" THEN 4970 ELSE 4990 4930 AU=AV-TEC:IF AU=1 THEN KF$=""ELSE KF$="S" 4940 PRINT:PRINT"DAMAGE REPAIR INACTIVE !!" 4950 PRINT"REQUIRES";AU;"MORE RECHARGE UNIT";KF$ 4960 PRINT:GOTO 710 4970 PRINT:PRINT AR$"YOU MUST BE DOCKED AT STARBASE FOR DAMAGE REPAIR !!" 4980 PRINT:GOTO 710 4990 PRINT 5000 PRINT:FOR A=1 TO 10 5010 IF D(A)<0 THEN PRINT TAB(10)A;TAB(20)D$(A);TAB(40)"DAMAGED" 5020 NEXT 5030 PRINT:PRINT"IF NO DAMAGE INDICATED ABOVE, ANSWER WITH 0 (ZERO)" 5040 INPUT "WHICH ONE TO REPAIR ";A 5050 IF A<1 OR A>10 THEN PRINT AR$;:GOTO 710 5060 IF D(A)<0 THEN 5080 5070 PRINT:PRINT D$(A);" NOT DAMAGED !!":GOTO 5040 5080 PRINT:PRINT TAB(20)D$(A);"---REPAIRED":PRINT 5090 D(A)=0:TEC=0:GOTO 710 5100 PRINT:PRINT AR$;"NOTHING DAMAGED AT PRESENT":GOTO 710 5110 PRINT 5120 GOSUB 4300 5130 PRINT"INITIAL MISSION PROGRESS FACTOR WAS";PR 5140 PRINT"CURRENT MISSION PROGRESS FACTOR IS ";MR 5150 IF XM<0 THEN PW$=" WORSENED "ELSE PW$=" IMPROVED " 5160 PRINT 5170 PRINT"YOUR COMBAT SITUATION HAS";PW$;"BY A FACTOR OF";XM;"PERCENT" 5180 IF ABS(XM)>=TF THEN EG$=" NOT "ELSE EG$=" " 5190 IF EG$=" "THEN EH$=""ELSE EH$=AR$ 5200 PRINT EH$;"YOUR PROGRESS IS";EG$;"WITHIN TOLERANCE FOR THIS MISSION" 5210 PRINT 5220 IF EG$=" NOT "THEN 5230 ELSE 2680 5230 IF XM<0 THEN 5240 ELSE 5280 5240 PRINT:SD=1:KD=0 5250 PRINT"CAPTAIN, COMMAND CENTRAL PROJECTS DEFEAT BY ENEMY. YOU ARE NOW" 5260 PRINT"AUTHORIZED TO SURRENDER OR TO ACTIVATE SELF-DESTRUCT SYSTEM" 5270 GOTO 2680 5280 PRINT:SD=0:KD=1 5290 PRINT"CAPTAIN, FEDERATION COMMAND PROJECTS SUCCESS FOR YOUR MISSION." 5300 GOTO 4550 5310 PRINT CHR$(26) 5320 GOSUB 5430 5330 PRINT"SELF DESTRUCT SYSTEM ACTIVATED" 5340 PRINT:PRINT:PRINT:GOSUB 5430 5350 PRINT"COUNTDOWN BEGUN !":PRINT:PRINT 5360 PRINT TAB(25)"FIVE":PRINT:GOSUB 5430 5370 PRINT TAB(20)"FOUR":PRINT:GOSUB 5430 5380 PRINT TAB(15)"THREE":PRINT:GOSUB 5430 5390 PRINT TAB(10)"TWO":PRINT:GOSUB 5430 5400 PRINT TAB(5)"ONE":PRINT:GOSUB 5430 5410 PRINT"ZERO":GOSUB 5430 5420 PRINT CHR$(26):GOTO 5450 5430 FOR I=1 TO 50:A=A+1:NEXT:RETURN 5440 FOR I=1 TO 1200:A=A+1:NEXT:RETURN 5450 GOTO 6390 5460 REM INTRODUCTION TO GAME. R.SCHRADER, 1/12/83 5470 PRINT:PRINT:PRINT:PRINT 5480 PRINT " SPACE - THE FINAL FRONTIER!":PRINT 5490 PRINT " THESE ARE THE VOYAGES OF THE STARSHIP ENTERPISE. THE MISSION: " 5500 PRINT " TO SEEK NEW LIFE AND NEW CIVILIZATIONS; TO BOLDLY GO WHERE NO" 5510 PRINT " MAN HAS GONE BEFORE.":PRINT:PRINT:PRINT:PRINT 5520 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:INPUT "DO YOU NEED INSTRUCTIONS";Q9$ 5530 IF (Q9$ = "NO") THEN RETURN ELSE PRINT CHR$(26) 5540 PRINT:PRINT:PRINT:PRINT: 5550 PRINT " ********** WELCOME TO STARTREK **********":PRINT 5560 PRINT " YOU ARE IN CONTROL OF THE STARSHIP ENTRPRISE. YOUR MISSION" 5570 PRINT "WILL BE TO RID THE GALAXY OF KLINGONS." 5580 PRINT " THE KNOWN GALAXY IS MAPPED INTO 64 QUADRANTS (8 X 8). EACH" 5590 PRINT "QUADRANT IS COMPOSED OF 64 SECTORS (ALSO 8 X 8)." 5600 PRINT " A MAP OF THE GALAXY, AS REPRESENTED BY YOUR ON-BOARD COM-" 5610 PRINT "PUTER, LOOKS LIKE THIS:" 5620 FOR Q8=1 TO 3:PRINT " ??? ??? ??? ??? ??? ??? ??? ???":NEXT Q8 5630 PRINT " ??? ??? ??? ??? 316 ??? ??? ???" 5640 FOR Q8=1 TO 4:PRINT " ??? ??? ??? ??? ??? ??? ??? ???":NEXT Q8 5650 PRINT "THE QUESTION MARKS REPRESENT UNEXPLORED QUADRANTS. THE 3-DIGIT" 5660 PRINT "NUMBERS ENCODE INFORMATION ABOUT QUADRANTS. THE FIRST DIGIT" 5670 PRINT "TELLS HOW MANY KLINGONS ARE IN THE QUADRANT; THE SECOND, HOW" 5680 PRINT "MANY FRIENDLY BASES; THE THIRD, HOW MANY STARS." 5685 PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT 5690 PRINT " WHEN YOU ARE IN A QUADRANT, IT WILL BE DISPLAYED AS:" 5700 PRINT " . . . . . . . ." 5710 PRINT " . K . . . . * ." 5720 PRINT " . . . . . . . ." 5730 PRINT " * . . * . . . ." 5740 PRINT " . . . . . E . ." 5750 PRINT " . . . K . . . B" 5760 PRINT " . * K . . . . ." 5770 PRINT " . . . * . . . *" 5780 PRINT "THE KLINGONS ARE REPRESENTED BY 'K', STARS BY '*', YOUR SHIP BY" 5790 PRINT "AN 'E', BASES BY 'B', AND EMPTY SECTORS BY '.'" 5795 PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT 5800 PRINT " IN YOUR PURSUIT OF KLINGONS, YOU WILL HAVE A LARGE NUMBER OF" 5810 PRINT "UNITS OF ENERGY. THESE CAN BY USED TO MOVE THE SHIP, TO DEFEND" 5820 PRINT "THE SHIP, OR TO FIRE AT KLINGONS. IN EXECUTING ANY OF THE AFORE-" 5830 PRINT "MENTIONED FUNCTIONS, ENERGY IS EXPENDED. IF YOU EVER RUN OUT OF" 5840 PRINT "ENERGY, YOU WILL BE IMMOBILE AND DEFENSELESS." 5850 PRINT " A SUMMARY OF COMMANDS FOLLOWS:" 5860 PRINT 5870 PRINT "**WARP (ACTIVATED BY ENTERING A '1' IN RESPONSE TO 'COMMAND?')" 5880 PRINT " 'WARP' MOVES THE STARSHIP. UPON ENTERING THE COMMAND, YOU" 5890 PRINT "WILL BE ASKED FOR A DIRECTION OF TRAVEL ( 0 TO 360 DEGREES," 5900 PRINT "0 IS RIGHT, 90 IS UP, ETC), AND THE WARP SPEED." 5910 PRINT 5920 PRINT "**SHORT-RANGE SCAN (ACTIVATED BY A '2')" 5930 PRINT " DISPLAYS THE LOCAL QUADRANT." 5935 PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT 5940 PRINT 5950 PRINT "**LONG-RANGE SCAN ('3')" 5960 PRINT " DISPLAYS INFORMATION ABOUT YOUR QUADRANT AND IT'S EIGHT" 5970 PRINT "IMMEDIATE NEIGHBORS:" 5980 PRINT " 103 8 104 (NUMBERS ARE INTERPRTETED" 5990 PRINT " 203 316 4 LIKE ON A GALACTIC MAP)" 6000 PRINT " 106 505 207" 6010 PRINT "THE COMPUTER UPDATES YOUR GALACTIC MAP AFTER EVERY LONG-RANGE" 6020 PRINT "SCAN." 6030 PRINT 6040 PRINT "**PHASERS ('4')" 6050 PRINT " COMPUTER-CONTROLLED HIGH ENERGY BEAMS ARE FIRED AT ALL" 6060 PRINT "KLINGONS IN THE QUADRANT." 6070 PRINT 6080 PRINT "PHOTON TORPEDOES ('5')" 6090 PRINT " ONE OF TEN TORPEDOES CAN BE FIRED AT A KLINGON. THEY MUST BE" 6100 PRINT "MANUALLY AIMED." 6105 PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT 6110 PRINT 6120 PRINT "**SHIELDS ('6')" 6130 PRINT " AS THE KLINGONS HAVE WEAPONS LIKE YOURS, YOUR SHIP HAS" 6140 PRINT "SHIELDS TO PROTECT IT. THIS COMMAND CONTROLS THE ENERGY IN" 6150 PRINT "THE SHIELDS." 6160 PRINT 6170 PRINT "**DAMAGE CONTROL ('7')" 6180 PRINT " ENABLES YOU TO CHECK THE OPERATIONAL STATUS OF ANY OF THE" 6190 PRINT "SHIP'S FUNCTIONS. " 6200 PRINT 6210 PRINT "**COMPUTER ('8')" 6220 PRINT " ACCESSES THE ON-BOARD COMPUTER." 6230 PRINT:PRINT 6235 PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT 6240 PRINT " FOR A LIST OF AVAILABLE COMMANDS, TYPE A '0' WHEN ASKED FOR" 6250 PRINT "A COMMAND." 6260 PRINT 6270 PRINT " SOME FREE ADVICE FOR BEGINNERS:" 6280 PRINT " 1) PUT ENERY IN THE SHIELDS BEFORE WARPING." 6290 PRINT " 2) WHEN IN DOUBT, CONSULT THE COMPUTER (COMMAND 8)" 6300 PRINT " 3) CHOOSE A LOW SECURITY CLEARANCE AND A LOW RANK." 6310 PRINT 6320 INPUT "HIT RETURN TO START";Q8 6330 RETURN 6340 PRINT " AMOUNT TO TRANSFER FROM SHIELDS";: INPUT Q8 6350 IF Q8<0 OR Q8>S THEN GOTO 6340 6360 S=S-Q8:E=E+Q8:PRINT 6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN." 6380 RETURN 6390 RESET  OR Q8>S THEN GOTO 6340 6360 S=S-Q8:E=E+Q8:PRINT 6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN." 6380 RETURN 6390 RE 2) WHEN IN DOUBT, CONSULT THE COMPUTER (COMMAND 8)" 6300 PRINT " 3) CHOOSE A LOW SECURITY CLEARANCE AND A LOW RANK." 6310 PRINT 6320 INPUT "HIT RETURN TO START";Q8 6330 RETURN 6340 PRINT " AMOUNT TO TRANSFER FROM SHIELDS";: INPUT Q8 6350 IF Q8<0 OR Q8>S THEN GOTO 6340 6360 S=S-Q8:E=E+Q8:PRINT 6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN." 6380 RETURN 6390 RE10 DIM T(10) 20 DIM L(50) 101 PRINT 104 PRINT"HI, I'M THE TAXMAN" 106 PRINT"DO YOU WANT THE REGULATIONS" 108 INPUT "(Type 0 if NO)";R 110 IF R<>0 THEN 900 120 REM ***INITIALZATION 122 GOSUB 800 124 REM ***THE HUMAN TAKES A NUMBER 126 GOSUB 500 128 REM *** COMPUTE THE HUMAN'S AND TAXMANS TOTLES 130 GOSUB 570 132 REM *** PRINT THE NEW LIST 134 GOSUB 600 136 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS 138 GOSUB 650 140 IF M=1 THEN 126 142 REM *** FIND THE WINNER 144 GOSUB 700 146 REM *** AGAIN? 148 GOTO 750 496 REM 497 REM *** THE HUMAN MOVES 498 REM 500 PRINT 502 PRINT 504 PRINT"YOU TAKE"; 506 INPUT K 508 LET K=INT(K) 510 IF K <= 0 THEN 750 512 IF K <=N THEN 518 514 PRINT K;"IS NOT IN THE LIST -- TRY AGAIN." 516 GOTO 502 518 IF L(K)=0 THEN 514 520 REM FIND ALL THE FACTORS 522 IF K>1 THEN 530 524 PRINT"THERE ARE NO FACTORS OF";K;"FOR ME." 526 PRINT"ARE YOU TRYING TO SHORT-CHANGE THE TAXMAN?" 528 GOTO 502 530 LET M=0 532 FOR I=1 TO K/2 534 IF L(I)=0 THEN 544 536 IF K <> I*INT(K/I) THEN 544 538 LET M=M+1 540 LET T(M)=I 542 LET L(I)=0 544 NEXT I 546 REM CHECK WETHER THERE WERE ANY FACTORS 548 IF M=0 THEN 524 550 LET L(K)=0 552 RETURN 566 REM 567 REM *** COMPUTE THE HUMAN'S AND TAXMAN'S TOTALS 568 REM 570 LET Y=Y+K 572 PRINT"YOUR TOTAL IS";Y 574 PRINT"I GET"; 576 FOR I=1 TO M 578 PRINT T(I); 580 LET Z=Z+T(I) 582 NEXT I 584 PRINT 586 PRINT"MY TOTAL IS";Z 588 RETURN 596 REM 597 REM *** PRINT THE NEW LIST 598 REM 600 PRINT 602 PRINT"NEW LIST:"; 604 LET M=0 606 FOR I=1 TO N 608 IF L(I)=0 THEN 614 610 PRINT I; 612 LET M=1 614 NEXT I 616 RETURN 646 REM 647 REM *** CHECK IF ANY NUMBERS STILL HAVE FACTORS 648 REM 649 REM CHECK IF THE LIST IS EMPTY 650 IF M=0 THEN 690 652 FOR I=N TO 4 STEP -1 654 FOR J=2 TO I/2 656 IF L(J)=0 THEN 664 658 IF I<> J*INT(I/J) THEN 664 660 LET M=1 662 RETURN 664 NEXT J 666 NEXT I 668 REM THE TAXMAN GETS THE REST OF THE NUMBERS 670 PRINT 672 PRINT"I GET"; 674 FOR I=1 TO N 676 IF L(I)=0 THEN 682 678 PRINT I; 680 LET Z=Z+I 682 NEXT I 684 PRINT"BECAUSE NO FACTORS OF ANY NUMBER ARE LEFT." 686 PRINT"MY TOTAL IS";Z 688 LET M=0 690 RETURN 696 REM 697 REM *** FIND THE WINNER 698 REM 700 PRINT 702 IF Z>Y THEN 708 704 PRINT"YOU";Y;" TAXMAN";Z;" YOU WIN!!!" 706 RETURN 708 PRINT"TAXMAN";Z;" YOU";Y;" THE TAXMAN WINS." 710 RETURN 746 REM 747 REM *** AGAIN? 748 REM 750 PRINT 752 PRINT 754 PRINT"AGAIN (Type 0 for NO)"; 756 INPUT R 759 IF R=0 THEN 999 760 GOTO 122 796 REM 797 REM *** INITIALATION 798 REM 800 PRINT 802 PRINT"HOW MANY NUMBERS DO YOU WANT IN THE LIST"; 804 INPUT N 806 LET N=INT(N) 808 IF N <= 0 THEN 999 810 IF N=50 THEN 818 811 IF N<50 THEN 818 812 PRINT"AT THIS TIME, REGULATIONS ALLOW A MAXIMUM OF 50 NUMBERS." 814 GOTO 800 818 LET Y=0 820 LET Z=0 822 PRINT 824 PRINT"THE LIST IS:"; 826 FOR I=1 TO N 828 PRINT I; 830 LET L(I)=1 832 NEXT I 834 IF N>1 THEN 844 836 PRINT 838 PRINT"HOW VERY GENEROUS OF YOU TO FORFEIT ALL TO THE TAXMAN." 840 PRINT"TAXMAN 1 YOU 0 THE TAXMAN WINS." 842 GOTO 750 844 RETURN 896 REM 897 REM *** INSTRUCTIONS 898 REM 900 PRINT 901 PRINT"YOU TRY TO BEAT THE TAXMAN." 902 PRINT 904 PRINT"WE START WITH A LIST OF WHOLE NUMBERS IN NUMERICAL" 906 PRINT"ORDER (YOU DECIDE HOW MANY)." 908 PRINT 910 PRINT"YOU TAKE A NUMBER FROM THE LIST -- THE TAXMAN GETS" 912 PRINT"ALL THE FACTORS OF YOUR NUMBER THAT ARE STILL LEFT" 914 PRINT"YOUR NUMBER AND ALL OF ITS FACTORS ARE THEN DELETED" 916 PRINT"FROM THE LIST." 918 PRINT 920 PRINT"FOR EXAMPLE, SUPPOSE YOU WANT TEN NUMBERS TO BE IN THE LIST." 922 PRINT"THEN THE LIST WOULD BE: 1 2 3 4 5 6 7 8 9 10" 924 PRINT 926 PRINT"IF YOU TOOK 8, THE TAXMAN WOULD GET: 1, 2, AND 4" 928 PRINT"AND THE NEW LIST WOULD BE: 3 5 6 7 9 10" 929 INPUT"TYPE TO GO ON";W 932 PRINT"THE TAXMAN MUST GET SOMTHING EVERY TIME SO YOU CAN" 934 PRINT"ONLY PICK A NUMBER THAT HAS FACTORS LEFT," 936 PRINT 938 PRINT"WHEN NONE OF THE REMAINING FACTORS," 940 PRINT"THE TAXMAN GETS THEM!!!" 942 PRINT 944 PRINT"YOUR SCORE IS THE SUM OF NUMBERS YOU TAKE." 946 PRINT"IF YOU WANT TO GIVE UP, TAKE 0." 948 PRINT"GOOD LUCK !!!" 950 GOTO 122 999 END IS THE SUM OF NUMBERS YOU TAKE." 946 PRINT"IF YOU WANT TO GIVE UP, TAKE 0." 948 PRINT"GOOD LUCK !!" 929 INPUT"TYPE TO GO ON";W 932 PRINT"THE TAXMAN MUST GET SOMTHING EVERY TIME SO YOU CAN" 934 PRINT"ONLY PICK A NUMBER THAT HAS FACTORS LEFT," 936 PRINT 938 PRINT"WHEN NONE OF THE REMAINING FACTORS," 940 PRINT"THE TAXMAN GETS THEM!!!" 942 5 REM STAR TRADERS 10 REM - MODIFIED FOR 'ALTAIR BASIC 4.0' BY - S J SINGER 20 REM 30 REM 35 DEFINT C 36 DEFINT I 40 DIM M(10,13),S(5,4),N$(5),D1(5),S1(5),Q(5),M$(12),C$(25) 50 DIM C1$(25),C2$(25) 60 DATA 1,"'ALTAIR STARWAYS'" 70 DATA 2,"'BETELGEUSE,LTD.'" 80 DATA 3,"'CAPELLA FREIGHT CO.'" 90 DATA 4,"'DENEBOLA SHIPPERS'" 100 DATA 5,"'ERIDANI EXPEDITERS'" 110 Z1$=CHR$(26)+CHR$(0) 120 PRINT Z1$ 130 FOR I=1 TO 5 140 FOR J=1 TO 4 150 S(I,J)=0: D1(I)=0: S1(I)=100: Q(I)=0: B(I)=6000 160 NEXT J 170 NEXT I 180 L$=".+*ABCDE" 190 M$="ABCDEFGHIJKL" 195 PRINT" ********** STAR TRADERS **********":PRINT 197 PRINT:PRINT 200 INPUT "TYPE A 3 DIGIT NUMBER ";R1 220 R1=RND(-R1/1000) 230 FOR I=1 TO 9 240 FOR J=1 TO 12 250 IF INT(20*RND(R1)+1)<>10 THEN M(I,J)=1 ELSE M(I,J)=3 260 NEXT J 270 NEXT I 280 PRINT Z1$ 290 INPUT "HOW MANY PLAYERS (1-4) ";P1 300 PRINT:PRINT 310 PRINT "DOES ANY PLAYER NEED INSTRUCTIONS " 315 INPUT "(Type 0 for NO)";Q 320 IF Q<>0 THEN GOSUB 3410 330 PRINT Z1$ 340 FOR I=1 TO P1 350 PRINT "PLAYER",I, 370 INPUT " WHAT IS YOUR NAME ";P$ 380 IF I=1 THEN P1$=P$ 390 IF I=2 THEN P2$=P$ 400 IF I=3 THEN P3$=P$ 410 IF I=4 THEN P4$=P$ 420 NEXT I 430 PRINT Z1$ 440 PRINT TAB(10),"...NOW I WILL DECIDE WHO GOES FIRST...":: PRINT:PRINT 445 PRINT:PRINT 450 PRINT:PRINT:PRINT 460 I=INT(P1*RND(R1)+1) 470 GOSUB 490 480 GOTO 550 490 PRINT 500 ON I GOTO 510,520,530,540: REM - IDENTIFY PLAYER 510 PRINT P1$;:P5$=P1$: RETURN 520 PRINT P2$;:P5$=P2$: RETURN 530 PRINT P3$;:P5$=P3$: RETURN 540 PRINT P4$;:P5$=P4$: RETURN 550 PRINT " IS THE FIRST PLAYER TO MOVE." 560 FOR W=1 TO 2000: NEXT 570 K=0 580 P=I:GOTO 610 590 K=K+1: IF K=48 THEN 4450 600 P=P+1: IF P=P1+1 THEN P=1 610 FOR I=1 TO 5: REM SELECT 5 LEGAL MOVES 620 R(I)=INT(9*RND(R1)+1) 630 C(I)=INT(12*RND(R1)+1) 640 FOR I1=I-1 TO 0 STEP -1 650 IF R(I)=R(I1) AND C(I)=C(I1) THEN 620 660 NEXT I1 670 IF M(R(I),C(I))>1 THEN 620 680 FOR I1=1 TO 5 690 IF Q(I1)=0 THEN 870 700 NEXT I1 710 IF M(R(I),C(I)+1)>3 THEN 870 720 IF M(R(I),C(I)-1)>3 THEN 870 730 IF M(R(I)+1,C(I))>3 THEN 870 740 IF M(R(I)-1,C(I))>3 THEN 870 750 A1=M(R(I),C(I)+1) 760 A2=M(R(I),C(I)-1) 770 A3=M(R(I)+1,C(I)) 780 A4=M(R(I)-1,C(I)) 790 IF A1=2 AND A2<4 AND A3<4 AND A4<4 THEN 620 800 IF A2=2 AND A1<4 AND A3<4 AND A4<4 THEN 620 810 IF A3=2 AND A1<4 AND A2<4 AND A4<4 THEN 620 820 IF A4=2 AND A1<4 AND A2<4 AND A3<4 THEN 620 830 IF A1=3 AND A2<4 AND A3<4 AND A4<4 THEN 620 840 IF A2=3 AND A1<4 AND A3<4 AND A4<4 THEN 620 850 IF A3=3 AND A1<4 AND A2<4 AND A4<4 THEN 620 860 IF A4=3 AND A1<4 AND A2<4 AND A3<4 THEN 620 870 NEXT I 880 GOSUB 2060 890 PRINT 900 I=P 910 GOSUB 490 920 PRINT ", HERE ARE YOUR LEGAL MOVES FOR THIS TURN" 930 PRINT 940 FOR I=1 TO 5 950 PRINT R(I);MID$(M$,C(I),1);" "; 960 NEXT I 970 PRINT:PRINT 980 INPUT "WHAT IS YOUR MOVE ";R$ 990 IF LEN(R$)=0 THEN R$="S" 1000 IF LEFT$(R$,1)="M" THEN R$="" ELSE 1030 1010 GOSUB 2060 1020 GOTO 900 1030 IF LEFT$(R$,1)="S" THEN R$="" ELSE 1060 1040 GOSUB 3230 1050 GOTO 900 1060 IF LEN(R$)<>2 THEN 1110 1070 IF ASC(MID$(R$,2,1))-64<1 THEN 1110 1080 IF ASC(MID$(R$,2,1))-64>12 THEN 1110 ELSE 1120 1090 IF VAL(R$)<1 THEN 1110 1100 IF VAL(R$)>9 THEN 1110 1110 PRINT "I DIDN'T UNDERSTAND THAT - TRY AGAIN ": GOTO 980 1120 R=VAL(LEFT$(R$,1)) 1130 C=ASC(RIGHT$(R$,1))-64 1140 FOR I= 1 TO 5 1150 IF R=R(I) AND C=C(I) THEN 1190 1160 NEXT I 1170 PRINT "THAT SPACE WAS NOT INCLUDGD IN THE LIST..." 1180 GOTO 980 1190 A1=M(R-1,C) 1200 A2=M(R+1,C) 1210 A3=M(R,C+1) 1220 A4=M(R,C-1) 1230 IF A1<=1 AND A2<=1 AND A3<=1 AND A4<=1 THEN M(R,C)=2 ELSE 1250 1240 GOTO 1760 1250 IF A1>3 AND A2>3 AND A2<>A1 THEN GOSUB 2220:REM - LINE 2090 IS 1260 IF A1>3 AND A3>3 AND A3<>A1 THEN GOSUB 2220\REM THE MERGER SUB. 1270 IF A1>3 AND A4>3 AND A4<>A1 THEN GOSUB 2220 1280 IF A2>3 AND A3>3 AND A3<>A2 THEN GOSUB 2220 1290 IF A2>3 AND A4>3 AND A4<>A2 THEN GOSUB 2220 1300 IF A3>3 AND A4>3 AND A4<>A3 THEN GOSUB 2220 1310 IF A1<4 AND A2<4 AND A3<4 AND A4<4 THEN 1410 1320 IF M(R,C)>3 THEN 1760 1330 IF A1>3 THEN I=A1-3 1340 IF A2>3 THEN I=A2-3 1350 IF A3>3 THEN I=A3-3 1360 IF A4>3 THEN I=A4-3 1370 Q(I)=Q(I)+1 1380 S1(I)=S1(I)+100 1390 M(R,C)=I+3 1400 GOTO 1570 1410 FOR I=1 TO 5 1420 IF Q(I)=0 THEN 1460 1430 NEXT I 1440 IF M(R,C)<3 THEN M(R,C)=2 1450 GOTO 1760 1460 PRINT Z1$ 1470 GOSUB 3370 1480 PRINT "A NEW SHIPPING COMPANY HAS BEEN FORMED !" 1490 PRINT "IT'S NAME IS ", 1500 RESTORE 1510 READ N,C$ 1520 IF I<>N THEN 1510 1530 PRINT C$ 1540 S(I,P)=S(I,P)+5 1550 Q(I)=1 1560 PRINT:PRINT:PRINT:PRINT 1570 IF A1=3 THEN S1(I)=S1(I)+500 1580 IF A2=3 THEN S1(I)=S1(I)+500 1590 IF A3=3 THEN S1(I)=S1(I)+500 1600 IF A4=3 THEN S1(I)=S1(I)+500 1610 IF A1=2 THEN S1(I)=S1(I)+100 ELSE 1640 1620 Q(I)=Q(I)+1 1630 M(R-1,C)=I+3 1640 IF A2=2 THEN S1(I)=S1(I)+100 ELSE 1670 1650 Q(I)=Q(I)+1 1660 M(R+1,C)=I+3 1670 IF A3=2 THEN S1(I)=S1(I)+100 ELSE 1700 1680 Q(I)=Q(I)+1 1690 M(R,C+1)=I+3 1700 IF A4=2 THEN S1(I)=S1(I)+100 ELSE 1730 1710 Q(I)=Q(I)+1 1720 M(R,C-1)=I+3 1730 IF S1(I)>=3000 THEN T1=I ELSE 1750 1740 GOSUB 3100 1750 M(R,C)=I+3 1760 FOR I=1 TO 5 1770 B(P)=B(P)+INT(.05*S(I,P)*S1(I)) 1780 NEXT I 1790 FOR I=1 TO 5 1800 IF Q(I)=0 THEN 2040 1810 PRINT:PRINT "YOUR CURRENT CASH= $";B(P) 1820 PRINT:PRINT "BUY HOW MANY SHARES OF "; 1830 RESTORE 1840 READ N,C$ 1850 IF I<>N THEN 1840 1860 PRINT C$; 1870 PRINT " AT $";S1(I) 1880 PRINT TAB(5); "YOU NOW OWN ";S(I,P); 1890 INPUT R3$:IF LEN(R3$)=0 THEN R3$="0" 1900 IF R3$(1,1)="M" THEN R3$="" ELSE 1930 1910 GOSUB 2060 1920 GOTO 1810 1930 IF R3$(1,1)="S" THEN R3$="" ELSE 1960 1940 GOSUB 3230 1950 GOTO 1810 1960 R3=VAL(R3$) 1970 R3$="" 1980 IF R3*S1(I)<=B(P) THEN 2010 1990 PRINT "YOU ONLY HAVE $";B(P);" - TRY AGAIN" 2000 GOTO 1810 2010 IF R3=0 THEN 2040 2020 S(I,P)=S(I,P)+R3 2030 B(P)=B(P)-(R3*S1(I)) 2040 NEXT I 2050 GOTO 590 2060 PRINT Z1$: REM SUBROUTINE - PRINT MAP 2070 PRINT TAB(22);"MAP OF THE GALAXY" 2080 PRINT TAB(21);"*******************" 2090 PRINT TAB(13);" A B C D E F G H I J K L" 2100 FOR R2=1 TO 9 2110 PRINT" ";R2;" "; 2120 FOR C2=1 TO 12 2130 PRINT" "; 2140 Z2=M(R2,C2) 2150 IF Z2=0 THEN Z2=Z2+1 2160 PRINT MID$(L$,Z2,1)" "; 2180 NEXT 2190 PRINT 2200 NEXT 2210 RETURN 2220 F1=A1-3: IF F1<0 THEN F1=0:REM SUBROUTINE - CALCULATES THE 2230 F2=A2-3: IF F2<0 THEN F2=0:REM SURVIVOR IN THE EVENT 2240 F3=A3-3: IF F3<0 THEN F3=0:REM OF A MERGER 2250 F4=A4-3: IF F4<0 THEN F4=0 2260 T=Q(F1) 2270 T1=F1 2280 IF Q(F2)>Q(F1) THEN T=Q(F2) ELSE 2300 2290 T1=F2 2300 IF Q(F3)>T THEN T=Q(F3) ELSE 2320 2310 T1=F3 2320 IF Q(F4)>T THEN T=Q(F4) ELSE 2340 2330 T1=F4 2340 IF F1=T1 OR A1<4 THEN 2370 2350 X=F1 2360 GOSUB 2470 2370 IF F2=T1 OR A2<4 THEN 2400 2380 X=F2 2390 GOSUB 2470 2400 IF F3=T1 OR A3<4 THEN 2430 2410 X=F3 2420 GOSUB 2470 2430 IF F4=T1 OR A4<4 THEN 2460 2440 X=F4 2450 GOSUB 2470 2460 RETURN 2470 PRINT Z1$ 2480 GOSUB 3370: REM SUBROUTINE - PERFORMS CALCULATIONS 2490 RESTORE: REM TO ACCOMPLISH A MERGER 2500 READ N,C$ 2510 IF X<>N THEN 2500 2520 C1$=C$ 2530 PRINT C1$; 2540 PRINT " HAS JUST BEEN MERGED INTO "; 2550 RESTORE 2560 READ N,C$ 2570 IF T1<>N THEN 2560 2580 C2$=C$ 2590 PRINT C2$;"!" 2610 PRINT "PLEASE NOTE THE FOLLOWING TRANSACTIONS." 2620 PRINT 2630 PRINT TAB(3);"OLD STOCK = ";C1$;" NEW STOCK = "; 2640 PRINT C2$ 2650 PRINT 2660 PRINT "PLAYER";TAB(10);"OLD STOCK";TAB(22);"NEW STOCK"; 2670 PRINT TAB(34);"TOTAL HOLDINGS";TAB(53);"BONUS PAID" 2680 FOR I=1 TO P1 2690 GOSUB 490 2700 PRINT TAB(10);S(X,I);TAB(22);INT((.5*S(X,I))+.5); 2710 PRINT TAB(34);S(T1,I)+INT((.5*S(X,I))+.5); 2720 X1=0 2730 FOR I1=1 TO P1 2740 X1=X1+S(X,I1) 2750 NEXT 2760 PRINT TAB(53);" $";INT(10*((S(X,I)/X1)*S1(X))) 2770 NEXT I 2780 FOR I=1 TO P1 2790 S(T1,I)=S(T1,I)+INT((.5*S(X,I))+.5) 2800 B(I)=B(I)+INT(10*((S(X,I)/X1)*S1(X))) 2810 NEXT I 2820 FOR I=1 TO 9 2830 FOR J=1 TO 12 2840 IF M(I,J)=X+3 THEN M(I,J)=T1+3 2850 NEXT J 2860 NEXT I 2870 A1=M(R-1,C) 2880 A2=M(R+1,C) 2890 A3=M(R,C+1) 2900 A4=M(R,C-1) 2910 F1=A3-3 2920 IF F1<0 THEN F1=0 2930 F2=A2-3 2940 IF F2<0 THEN F2=0 2950 Q(T1)=Q(T1)+Q(X) 2960 S1(T1)=S1(T1)+S1(X) 2970 IF S1(T1)=>3000 THEN GOSUB 3100 2980 F3=A3-3 2990 IF F3<0 THEN F3=0 3000 F4=A4-3 3010 IF F4<0 THEN F4=0 3020 S1(X)=100 3030 Q(X)=0 3040 FOR I=1 TO P1 3050 S(X,I)=0 3060 NEXT I 3070 PRINT:PRINT 3080 M(R,C)=T1+3 3090 RETURN 3100 GOSUB 3370: REM SUBROUTINE - CALCULATES STOCK SPLITS 3110 PRINT "THE STOCK OF ", 3120 RESTORE 3130 READ N,C$ 3140 IF T1<>N THEN 3130 3150 PRINT C$, 3160 PRINT " HAS SPLIT 2 FOR 1 !" 3170 S1(T1)=INT(S1(T1)/2) 3180 PRINT:PRINT 3190 FOR I1=1 TO P1 3200 S(T1,I1)=2*S(T1,I1) 3210 NEXT I1 3220 RETURN 3230 PRINT Z1$ 3240 PRINT 3250 PRINT "STOCK";TAB(30);"PRICE PER SHARE"; 3260 PRINT TAB(50);"YOUR HOLDINGS" 3270 FOR I3=1 TO 5 3280 IF S1(I3)=100 THEN 3340 3290 RESTORE 3300 READ N,C$ 3310 IF I3<>N THEN 3300 3320 PRINT C$, 3330 PRINT TAB(30);S1(I3);TAB(50);S(I3,P) 3340 NEXT I3 3350 RESTORE 3360 RETURN 3370 PRINT CHR$(7) 3380 PRINT TAB(22);"SPECIAL ANNOUNCEMENT !!!":PRINT 3390 PRINT 3400 RETURN 3410 PRINT Z1$ 3420 PRINT " STAR LANES IS A GAME OF INTERSTELLAR TRADING." 3430 PRINT "THE OBJECT OF THE GAME IS TO AMASS THE GREATEST AMOUNT" 3440 PRINT "OF MONEY. THIS IS ACCOMPLISHED BY ESTABLISHING VAST," 3450 PRINT "INTERSTELLAR SHIPPING LANES, AND PURCHASING STOCK IN" 3460 PRINT "THE COMPANIES THAT CONTROL THOSE TRADE ROUTES. DURING" 3470 PRINT "THE COURSE OF THE GAME, STOCK APPRECIATES IN VALUE AS" 3480 PRINT "THE SHIPPING COMPANIES BECOME LARGER. ALSO, SMALLER" 3490 PRINT "COMPANIES CAN BE MERGED INTO LARGER ONES, AND STOCK" 3500 PRINT "IN THE SMALLER FIRM IS CONVERTED INTO STOCK IN THE" 3510 PRINT "LARGER ONE AS DESCRIBED BELOW.":PRINT 3520 PRINT "EACH TURN, THE COMPUTER WILL PRESENT THE PLAYER WITH" 3530 PRINT "FIVE PROSPECTIVE SPACES TO OCCUPY ON A 9X12 MATRIX" 3540 PRINT "(ROWS 1-9, COLUMNS A-L). THE PLAYER, AFTER EXAMINING" 3550 PRINT "THE MAP OF THE GALAXY TO DECIDE WHICH SPACE HE WISHES" 3560 PRINT "TO OCCUPY, RESPONDS WITH THE ROW AND COLUMN OF THAT" 3570 PRINT "SPACE, I.E., 7E, 8A, ETC. THERE ARE FOUR POSSIBLE" 3580 PRINT "MOVES A PLAYER CAN MAKE.":PRINT:PRINT 3590 PRINT 3600 GOSUB 3620 3610 GOTO 3660 3620 INPUT "PRESS RETURN TO CONTINUE";X2$ 3650 RETURN 3660 PRINT Z1$ 3670 PRINT " 1. HE CAN ESTABLISH AN UNATTACHED OUTPOST- IF HE" 3680 PRINT "SELECTS A SPACE THAT IS NOT ADJACENT TO A STAR, ANOTHER" 3690 PRINT "UNATTACHED OUTPOST, OR AN EXISTING SHIPPING LANE, THIS" 3700 PRINT "SPACE WILL BE DESIGNATED WITH A '+'. HE WILL THEN PROCEED" 3710 PRINT "WITH STOCK TRANSACTIONS, AS LISTED BELOW.":PRINT 3720 PRINT " 2. HE CAN ADD TO AN EXISTING LANE- IF HE SELECTS A" 3730 PRINT "SPACE THAT IS ADJACENT TO ONE - AND ONLY ONE EXISTING" 3740 PRINT "SHIPPING LANE, THE SPACE HE SELECTS WILL BE ADDED TO" 3750 PRINT "THAT SHIPPING LANE AND WILL BE DISIGNATED WITH THE FIRST" 3760 PRINT "LETTER OF THE COMPANY THAT OWNS THAT LANE. IF THERE ARE" 3770 PRINT "ANY STARS OR UNATTACHED OUTPOSTS ALSO ADJACENT TO THE" 3780 PRINT "SELECTED SPACE, THEY, TOO, WILL BE INCORPORATED INTO THE" 3790 PRINT "EXISTING LANE. EACH NEW SQUARE ADJACENT TO A STAR ADDS" 3800 PRINT "$500 PER SHARE, AND EACH NEW OUTPOST ADDS $100 PER SHARE" 3810 PRINT "TO THE MARKET VALUE OF THE STOCK OF THAT COMPANY." 3820 PRINT:PRINT 3830 GOSUB 3620 3840 PRINT Z1$ 3850 PRINT " 3. HE MAY ESTABLISH A NEW SHIPPING LANE- IF THERE" 3860 PRINT "ARE FIVE OR LESS EXISTING SHIPPING LANES ESTABLISHED," 3870 PRINT "THE PLAYER MAY, GIVEN THE PROPER SPACE TO PLAY, ESTABLISH" 3880 PRINT "A NEW SHIPPING LANE. HE MAY DO THIS BY OCCUPYING A SPACE" 3890 PRINT "ADJACENT TO A STAR OR ANOTHER UNATTACHED OUTPOST, BUT" 3900 PRINT "NOT ADJACENT TO AN EXISTING SHIPPING LANE. IF HE" 3910 PRINT "ESTABLISHES A NEW SHIPPING LANE, HE IS AUTOMATICALLY" 3920 PRINT "ISSUED 5 SHARES KN THE NEW COMPANY AS A REWARD. HE" 3930 PRINT "MAY THEN PROCEED TO BUY STOCK IN ANY ACTIVE COMPANY," 3940 PRINT "INCLUDKNG THE ONE JUST FORMED, AS DESCRIBED BELOW." 3950 PRINT "THG MARKET VALUE OF THE NEW STOCK IS ESTABLISHED BY" 3960 PRINT "THE NUMBER OF STARS AND OCCUPIED SPACES AS DESCRIBED" 3970 PRINT "IN #2 ABOVE." 3980 PRINT:PRINT 3990 GOSUB 3620 4000 PRINT Z1$ 4010 PRINT " 4. HE MAY MERGE TWO EXISTING COMPANIES- IF A PLAYER" 4020 PRINT "SELECTS A SPACE ADJACENT TO TWO EXISTING SHIPPING" 4030 PRINT "LANES, A MERGER OCCURS. THE LARGER COMPANY TAKES OVER THE" 4040 PRINT "SMALLER COMPANY - (IF BOTH COMPANIES ARE THE SAME SIZE" 4050 PRINT "PRIOR TO THE MERGER, THEN THE SURVIVOR IS DETERMINED BY" 4060 PRINT "ALPHABETICAL ORDER OF THE TWO COMPANY NAMES - THE EARLIER" 4070 PRINT "SURVIVES). THE STOCK OF THE SURVIVING COMPANY IS" 4080 PRINT "INCREASED IN VALUE ACCORDING TO THE NUMBER OF SPACES" 4090 PRINT "AND STARS ADDED TO ITS LANE. EACH PLAYERS STOCK IN" 4100 PRINT "THE DEFUNCT COMPANY IS EXCHANGED FOR SHARES KN THE" 4110 PRINT "SURVIVOR ON A RATIO OF 2 FOR 1. ALSO, EACH PLAYER" 4120 PRINT "IS PAID A CASH BONUS PROPORTIONAL TO THE PERCENTAGE" 4130 PRINT "OF OUTSTANDING STOCK HE HELD IN THE DEFUNCT COMPANY." 4140 PRINT "NOTE: AFTER A COMPANY BECOMES DEFUNCT THROUGH THE" 4150 PRINT "MERGER PROCESS, IT CAN REAPPEAR ELSEWHERE ON THE" 4160 PRINT "BOARD WHEN, AND IF, A NEW COMPANY IS ESTABLISHED." 4170 PRINT:PRINT 4180 GOSUB 3620 4190 PRINT Z1$ 4200 PRINT " NEXT THE COMPUTER CDDS STOCK DIVIDENDS TO THE PLAYER'S" 4210 PRINT "CASH ON HAND (5% OF THE MARKET VALUE OF THE STOCK IN HIS" 4220 PRINT "POSSESSION), AND OFFERS HIM THE OPPORTUNITY TO PURCHASE" 4230 PRINT "STOCK KN ANY OF THE ACTIVE COMPANIES ON THE BOARD." 4240 PRINT "STOCK MAY NOT BE SOLD, BUT THE MARKET VALUE OF EACH" 4250 PRINT "PLAYER'S STOCK IS TAKEN INTO ACCOUNT AT THE END OF THE" 4260 PRINT "GAME TO DETERMINE THE WINNER. IF THE OARKET VALUE OF A GIVEN" 4270 PRINT "STOCK EXCEEDS $3000 AT ANY TIME DURING THE GAME, THAT" 4280 PRINT "STOCK SPLITS 2 FOR 1. THE PRICE IS CUT IN HALF, AND" 4290 PRINT "THE NUMBER OF SHARES OWNED BY GACH PLAYER IS DOUBLED." 4300 PRINT 4310 PRINT "NOTE: THE PLAYER MAY LOOK AT HIS PORTFOLIO AT ANY TIME" 4320 PRINT "DURING THE COURSE OF HIS TURN BY RESPONDING WITH 'STOCK'" 4330 PRINT "TO AN INPUT STATEMENT. LIKEWISE, HE CAN REVIEW THE MAP" 4340 PRINT "OF THE GALAXY BY TYPING 'MAP' TO AN INPUT STATEMENT." 4350 PRINT:PRINT 4360 GOSUB 3620 4370 PRINT Z1$ 4380 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 4390 PRINT TAB(16);"** GAME ENDS AFTER 48 MOVES **" 4400 PRINT:PRINT:PRINT:PRINT 4410 PRINT "PLAYER WITH THE GREATEST NET WORTH AT THAT POINT IS THE WINNER." 4420 PRINT:PRINT 4430 FOR W=1 TO 2000:NEXT W 4440 RETURN 4450 PRINT Z1$ 4460 GOSUB 3370 4470 FOR W=1 TO 500:NEXT W:PRINT CHR$(7) 4480 FOR W=1 TO 500:NEXT W:PRINT CHR$(7) 4490 PRINT TAB(10)," THE GAME IS OVER - HERE ARE THE FINAL STANDINGS" 4500 PRINT:PRINT:PRINT:PRINT 4510 PRINT CHR$(7) 4520 PRINT "PLAYER";TAB(10);"CASH VALUE OF STOCK";TAB(33);"CASH ON HAND", 4530 PRINT TAB(50);"NET WORTH" 4540 PRINT 4550 FOR I=1 TO P1 4560 FOR J=1 TO 5 4570 D1(I)=D1(I)+(S1(J)*S(J,I)) 4580 NEXT J 4590 NEXT I 4600 FOR I=1 TO P1 4610 GOSUB 490 4620 PRINT TAB(10);"$";D1(I);TAB(33);"$";B(I); 4630 PRINT TAB(50);"$";D1(I)+B(I) 4640 NEXT I 4650 PRINT:PRINT:PRINT:PRINT 4660 END TAB(10);"$";D1(I);TAB(33);"$";B(I); 4630 PRINT TAB(50);"$";D0 PRINT:PRINT:PRINT:PRINT 4510 PRINT CHR$(7) 4520 PRINT "PLAYER";TAB(10);"CASH VALUE OF STOCK";TAB(33);"CASH ON HAND", 4530 PREM DEMONSTRATION PROGRAM FOR CIRCLE DRAWING FUNCTIONS REM REM PROGRAM NAME: TSTCIR.BAS REM %INCLUDE GRAPHCOM.BAS %INCLUDE CIRCOM.BAS GRAPHIC OPEN 1 CLEAR PRINT "COMPUTING" CALL BEG.CIR PRINT "ENDED" CALL PLOT.CIR KEY% = CONCHAR% REM WAIT FOR KEYBOARD REM SCALE THE WINDOW TO DRAW A PROPERLY PROPORTIONED CIRCLE ASK DEVICE X.AXIS,Y.AXIS PRINT X.AXIS,Y.AXIS SET WINDOW 0,X.AXIS/Y.AXIS,0,1 CALL PLOT.CIR KEY%=CONCHAR% CALL FILL.CIR KEY%=CONCHAR% REM CHANGE THE VIEWPORT TO REPOSITION THE CIRCLE SET VIEWPORT 0,.5,0,.5 REM LOWER LEFT QUARTER CLEAR CALL PLOT.CIR KEY%=CONCHAR% SET VIEWPORT .5,1,0,.5 REM LOWER RIGHT QUARTER CALL PLOT.CIR KEY%=CONCHAR% SET VIEWPORT 0,.5,.5,1 REM UPPER LEFT QUARTER CALL PLOT.CIR KEY%=CONCHAR% SET VIEWPORT .5,1,.5,1 REM UPPER RIGHT QUARTER CALL PLOT.CIR KEY%=CONCHAR% STOP END XIS SET WINDOW 0,X.AXIS/Y.AXIS,0,1 CALL PLOT.CIR KEY%=CONCHAR% CALL FILL.CIR KEY%=CONCHAR% REM CHANGE THE VIEWPORT 1 REM WUMPUS 1/28/77 2 REM MODIFIED FOR ALTAIR 4K BASIC 10/01 3 REM RECODED -> CHARACTERS, COMPUTED GOTOS, "OR" STATEMENTS, 2-D ARRAY 4 REM COMPUTED LOGICAL STATEMENTS 10 PRINT"WMP23-HUNT THE WUMPUS" 15 PRINT 20 PRINT "INSTRUCTIONS(1=YES OR 0=NO)"; 30 INPUT I 35 REM RANDOMIZE 40 IF I<>1 THEN 70 50 GOSUB 7000 70 REM SET UP CAVE 75 DIM M(8) 77 REM DIM S(20,3) - S() CONVERTED TO 1-D AND PROGRAM MODIFIED 80 DIM S(60) 90 FOR J=1 TO 60 100 READ S(J) 120 NEXT J 130 DATA 2,5,8,1,3,10,2,4,12,3,5,14,1,4,6 140 DATA 5,7,15,6,8,17,1,7,9,8,10,18,2,9,11 150 DATA 10,12,19,3,11,13,12,14,20,4,13,15,6,14,16 160 DATA 15,17,20,7,16,18,9,17,19,11,18,20,13,16,19 200 REM LOCATE M(J) ARRAY ITEMS 210 REM 1,YOU 2,WUMPUS 3&4,PITS 5&6,BATS 7,BLOCKAGE8,EXIT 240 LET W=0 245 LET M1=W 246 LET F=M1 250 FOR J=1 TO 7 260 LET M(J)=INT(1+RND(1)*20) 270 NEXT J 279 REM CHECK FOR CROSSOVERS (IE M(1)=M(2)ETC) 280 FOR J=1 TO 7 290 FOR K=J TO 7 300 IF J=K THEN 330 320 IF M(J)=M(K) THEN 240 330 NEXT K 340 NEXT J 350 LET A=5 360 LET M(8)=M(1) 370 PRINT 380 PRINT "ENTRANCE IS IN CAVE ";M(8) 389 REM MAIN LOOP 390 IF RND(1)<=0.4 THEN 485 400 GOSUB 3370 485 IF RND(1)>=0.08 THEN 2000 490 GOSUB 5000 1999 REM PRINT LOCATION AND HAZARD WARNINGS 2000 PRINT 2010 FOR K=1 TO 3 2020 FOR J=2 TO 6 2025 S0=M(1)+20*(K-1) 2030 IF S(S0) <>M(J) THEN 2110 2050 REM ON J-1 GOTO 2060,2080,2080,2100,2100,2060 2051 J0=J-1 2052 IF J0=1 THEN 2060 2053 IF J0=2 THEN 2080 2054 IF J0=3 THEN 2080 2055 IF J0=4 THEN 2100 2056 IF J0=5 THEN 2100 2057 IF J0=6 THEN 2060 2060 PRINT"I SMELL A WUMPUS" 2070 GOTO 2110 2080 PRINT"I FEEL A DRAFT" 2090 GOTO 2110 2100 PRINT"BATS NEARBY" 2110 NEXT J 2120 NEXT K 2130 PRINT"YOU ARE IN CAVE ";M(1) 2139 REM RINGER SUBROUTINES 2140 LET J=INT(RND(1)*40) 2145 IF J=0 THEN 2440 2146 IF J>7 THEN 2440 2150 REM ON J GOTO 2200,2200,2210,2220,2220,2230,2240,2250 2151 IF J=1 THEN 2200 2152 IF J=2 THEN 2200 2153 IF J=3 THEN 2210 2154 IF J=4 THEN 2220 2155 IF J=5 THEN 2220 2156 IF J=6 THEN 2230 2157 IF J=7 THEN 2240 2158 IF J=8 THEN 2250 2160 GOTO 2440 2200 PRINT"AHA!.WUMPUS TRACKS" 2205 GOTO 2440 2210 PRINT"AHA!..FOUND OLD ARROW, LUCKY YOU" 2213 LET A=A+1 2215 GOTO 2440 2220 PRINT"OOPS, SLIPPED ON SOME LOOSE GRAVEL" 2225 GOSUB 5900 2227 GOTO 2440 2230 PRINT"OOPS, YOU JUST FELL INTO AN UNDERGROUND POOL" 2235 GOSUB 5900 2237 GOTO 2440 2240 PRINT"THIS LOOKS LIKE A NICE CAVE,WHY NOT STOP FOR LUNCH" 2245 GOTO 2440 2250 PRINT"TAKE CARE WITH THAT FLASHLIGHT" 2255 GOTO 2440 2440 PRINT "TUNNELS LEAD TO CAVES ";S(M(1));S(M(1)+20);S(M(1)+40) 2445 PRINT 2449 REM FEARLESS FREDDY STRIKES HERE 2450 IF J<>38 THEN 2500 2460 LET L=M(5) 2470 GOTO 4260 2499 REM CHOOSE OPTION 2500 LET M1=M1+1 2510 PRINT"DO SOMETHING (1=MOVE 2=SHOOT 3=CHECK ARROWS 4=EXIT 5=HELP)"; 2520 INPUT I 2530 IF I=2 THEN 3000 2550 IF I=3 THEN 3220 2560 IF I=1 THEN 4000 2570 REM IF (I$="E")*(M(1)=M(8))=1 THEN 8800 2571 IF I<>4 THEN 2580 2572 IF M(1)=M(8) THEN 8800 2580 IF I=5 THEN 2595 2590 GOTO 2500 2595 GOSUB 7600 2597 GOTO 2000 2999 REM ARROW ROUTINE 3000 IF A>=1 THEN 3010 3003 PRINT"WHAT WITH? DUMMY" 3005 GOTO 390 3010 PRINT "CAVE #"; 3012 INPUT L 3015 FOR K=1 TO 3 3016 S0=M(1)+20*(K-1) 3018 IF S(S0)=L THEN 3130 3020 NEXT K 3025 PRINT"NOT POSSIBLE" 3027 GOTO 3010 3129 REM SHOOT ARROW 3130 LET A=A-1 3132 IF A>=0 THEN 3135 3133 LET A=0 3134 GOTO 3220 3135 IF L=M(2) THEN 3140 3137 PRINT "MISSED" 3138 GOTO 3215 3140 IF RND(1)>=0.8 THEN 3150 3142 PRINT "YOU GOT THE WUMPUS" 3144 LET F=F+1 3146 LET M(2)=0 3148 GOTO 4400 3150 PRINT"YOU WOUNDED THE WUMPUS" 3215 GOSUB 3370 3220 PRINT A;"ARROWS LEFT" 3230 GOTO 390 3369 REM MOVE WUMPUS ROUTINE 3370 IF W<>1 THEN 3380 3373 LET M(2)=0 3375 RETURN 3380 REM LET M(2)=S(M(2),(INT(3*RND+1))) 3381 S0=M(2)+20*(INT(3*RND(1))) 3382 M(2)=S(S0) 3385 REM IF (M(1)=M(2))+(L=M(2))+(M(2)=M(7))<>0 THEN 3380 3386 IF M(1)=M(2) THEN 3380 3387 IF L=M(2) THEN 3380 3388 IF M(2)=M(7) THEN 3380 3425 RETURN 3999 REM MOVE ROUTINE 4000 PRINT "WHERE TO"; 4010 INPUT L 4020 FOR K=1 TO 3 4025 S0=M(1)+20*(K-1) 4030 IF S(S0)=L THEN 4120 4080 NEXT K 4090 IF L=M(1) THEN 4120 4100 PRINT "NOT POSSIBLE" 4110 GOTO 4000 4119 REM CHECK FOR HAZARDS 4120 IF L<>M(2) THEN 4210 4130 PRINT "OOPS! BUMPED A WUMPUS!" 4140 GOTO 4500 4210 REM IF (L=M(3))+(L=M(4))=0 THEN 4220 4211 IF L=M(3) THEN 4214 4212 IF L=M(4) THEN 4214 4213 GOTO 4220 4214 PRINT"YYYIIIIEEEE...FELL IN PIT" 4216 GOTO 4520 4220 IF L<>M(7) THEN 4257 4230 PRINT "CAVE ENTRANCE IS BLOCKED" 4240 GOSUB 5900 4250 GOTO 390 4256 REM IF (L=M(5))+(L=M(6))=0 THEN 4265 4257 IF L=M(5) THEN 4261 4258 IF L=M(6) THEN 4261 4259 GOTO 4265 4261 PRINT "ZAP..SUPERBAT SNATCH!" 4263 GOTO 4280 4265 IF L<>M(8) THEN 4270 4267 PRINT "EXIT NEARBY" 4270 LET M(1)=L 4275 GOTO 390 4280 LET L=INT(1+RND(1)*20) 4285 REM IF (L=M(1))+(L=M(6))+(L=M(7))<>0 THEN 4280 4286 IF L=M(1) THEN 4280 4287 IF L=M(6) THEN 4280 4288 IF L=M(7) THEN 4280 4290 GOSUB 5900 4300 GOTO 4120 4400 IF RND(1)>=.75 THEN 4410 4402 PRINT "BEWARE OF ITS MATE" 4404 LET J=2 4406 GOSUB 6100 4408 GOTO 3220 4410 LET W=1 4420 PRINT "HEE HEE HEE--THE WUMPUS'L GET YOU NEXT TIME" 4430 GOTO 390 4499 REM EATEN SUBROUTINE 4500 IF RND(1)>=.75 THEN 4510 4502 GOSUB 3370 4504 GOSUB 5900 4506 GOTO 4270 4510 PRINT"TSK TSK TSK--THE WUMPUS GOT YOU" 4520 PRINT "HA HA HA--YOU LOSE!" 4530 GOTO 8810 4999 REM MOVE EVERYTHING 5000 PRINT"**EARTHQUAKE**" 5001 FOR J=3 TO 7 5002 GOSUB 6100 5003 NEXT J 5004 GOSUB 5900 5005 LET M(2)=INT(RND(1)*20+1) 5006 REM IF (M(1)=M(2))+(M(2)=M(7))<>0 THEN 5005 5007 IF M(1)=M(2) THEN 5005 5008 IF M(2)=M(7) THEN 5005 5009 REM MOVE CAVE ENTRANCE 5010 IF RND(1)<=.1 THEN 5020 5015 RETURN 5020 LET M(8)=INT(RND(1)*20+1) 5025 FOR J=3 TO 7 5030 IF M(8)<>M(J) THEN 5040 5033 LET M(8)=INT(RND(1)*20+1) 5036 GOTO 5030 5040 NEXT J 5050 RETURN 5899 REM DROPPED ARROWS SUBROUTINE 5900 LET J=INT(RND(1)*10) 5901 REM IF (J>A)+(A=0)=0 THEN 5910 5902 IF J>A THEN 5905 5903 IF A=0 THEN 5905 5904 GOTO 5910 5905 RETURN 5910 PRINT "DROPPED ARROWS" 5915 IF J<>0 THEN 5930 5920 PRINT "ALL ARROWS FOUND" 5925 RETURN 5930 LET A=A-J 5940 PRINT J;"ARROWS LOST";TAB(20);A;"ARROWS LEFT" 5950 RETURN 6099 REM RANDOM CAVE REARRANGEMENT SUBROUTINE 6100 LET M(J)=INT(RND(1)*20)+1 6110 REM IF (M(J)=M(1))+(M(J)=M(8))<>0 THEN 6100 6111 IF M(J)=M(1) THEN 6100 6112 IF M(J)=M(8) THEN 6100 6200 RETURN 6999 REM INSTRUCTIONS 7000 PRINT "WELCOME TO HUNT THE WUMPUS" 7005 PRINT 7010 PRINT "THE WUMPUS COLONY INHABIT A BURROW OF 20 CAVES" 7020 PRINT "EACH CAVE HAS THREE TUNNELS LEADING TO OTHER CAVES." 7030 PRINT "THE OBJECTIVE IS TO DESCEND INTO THE BURROW AND HUNT WUMPI. 7040 PRINT "AFTER YOU HAVE KILLED AT LEAST ONE, YOU MUST RETURN TO THE" 7050 PRINT"EXIT AND LEAVE THE BURROW. NOTE THAT THERE MAY BE MORE THAN" 7060 PRINT "ONE WUMPUS IN THE BURROW. " 7061 PRINT "YOU HAVE 5 ARROWS." 7062 PRINT"UNDER CONDITIONS OF STRESS, YOU MAY DROP YOUR ARROWS." 7065 PRINT"YOUR RATING IS A FUNCTION OF THE NUMBER OF WUMPI SHOT & THE" 7067 PRINT "TIME SPENT IN THE BURROW" 7070 PRINT 7072 GOSUB 7990 7074 PRINT"HAZARDS" 7076 PRINT 7080 PRINT"1---BOTTOMLESS PITS" 7090 PRINT"TWO ROOMS CONTAIN BOTTOMLESS PITS. IF YOU FALL IN A PIT" 7100 PRINT"YOU LOSE." 7110 PRINT 7112 PRINT 7114 PRINT"2---SUPERBATS" 7120 PRINT "TWO ROOMS CONTAIN NESTS OF SUPERBATS. THEY ARE PEACEFUL" 7130 PRINT"CREATURES WHEN LEFT ALONE. SHOULD YOU INADVERTENTLY" 7140 PRINT"STUMBLE ACROSS THEIR NEST YOU WILL BE PICKED UP AND" 7150 PRINT "BE DEPOSITED IN ANOTHER CAVE AT RANDOM." 7160 PRINT "TOO BAD IF IT CONTAINS ANOTHER HAZARD." 7162 PRINT 7164 GOSUB 7990 7170 PRINT 7175 PRINT"3---**EARTHQUAKES**" 7180 PRINT"EARTHQUAKES ARE A COMMON OCCURRENCE. SHOULD ONE OCCUR, THE" 7185 PRINT "BURROW ENTRANCE MAY BE BLOCKED AND A NEW ONE OPEN UP. THE" 7190 PRINT"GEOGRAPHY OF THE CAVES WILL BE CHANGED. THE PITS MAY FILL" 7200 PRINT "UP AND A CAVE MAY BE BLOCKED BY A ROCKFALL. THE BATS WILL" 7210 PRINT "BE DISTURBED AND MAY SEEK OUT A NEW CAVE. THE WUMPUS" 7220 PRINT "WILL ALSO BECOME ALARMED AND MAY MOVE TO A NEW CAVE." 7230 PRINT 7235 PRINT"4---WUMPUS" 7240 PRINT "THE WUMPUS IS NOT BOTHERED BY ANY HAZARDS (IT HAS SUCKERS" 7250 PRINT "ON ITS FEET AND IS TOO BIG FOR A BAT TO LIFT)." 7260 PRINT "THE WUMPUS IS MOVING IN THE CAVES LOOKING FOR FOOD. IT" 7270 PRINT "NORMALLY EATS A SPECIES OF MUSHROOM, BUT MAY EAT YOU SHOULD 7280 PRINT "YOU ENTER THE CAVE IN WHICH IT IS FEEDING" 7290 PRINT 7300 GOSUB 7990 7600 PRINT 7605 PRINT "EACH TURN YOU MAY:" 7610 PRINT " (1) MOVE TO AN ADJACENT CAVE THROUGH A CONNECTING TUNNEL" 7620 PRINT " (2) SHOOT AN ARROW THROUGH A TUNNEL TO TRY HIT THE WUMPUS" 7630 PRINT " IT IS BIG ENOUGH SO THAT AN ARROW ENTERING THE CAVE" 7640 PRINT " THAT IT IS OCCUPYING, WILL HIT IT." 7645 PRINT " (3) CHECK ON NUMBER OF ARROWS LEFT" 7650 PRINT " (4) EXIT FROM THE CAVES IF YOU ARE IN THE ENTRANCE CAVE" 7660 PRINT " (5) ASK FOR INSTRUCTIONS" 7662 PRINT 7664 GOSUB 7990 7666 PRINT "WARNINGS" 7670 PRINT "WHEN YOU ARE ONE CAVE AWAY FROM A HAZARD YOU WILL BE WARNED 7680 PRINT "AS FOLLOWS:" 7685 PRINT 7690 PRINT " WUMPUS.....I SMELL A WUMPUS" 7700 PRINT " BATS.....BATS NEARBY" 7710 PRINT " PIT.....I FEEL A DRAFT" 7715 PRINT 7720 PRINT "IF YOU TRY TO ENTER A CAVE BLOCKED BY A FALL OR IF YOU" 7730 PRINT "RETURN TO THE ENTRANCE CAVE, YOU WILL BE NOTIFIED" 7740 PRINT 7750 RETURN 7990 PRINT "TO CONTINUE, ENTER ANY NUMBER" 7992 INPUT I 7994 PRINT 7996 PRINT 7998 RETURN 8799 REM END GAME 8800 PRINT "OUT OF THE CAVES" 8801 IF F<=0 THEN 8805 8803 PRINT "GOOD HUNTING" 8805 LET W=INT((F*1000)/M1) 8807 PRINT "YOUR RATING IS ";W 8810 IF F<>0 THEN 8830 8820 PRINT"BETTER LUCK NEXT TIME" 8830 PRINT 8840 PRINT "WANT TO TRY AGAIN, IN SPITE OF YOUR INABILITY (1=YES 0=NO)" 8850 INPUT I 8860 IF I=1 THEN 240 9000 END " 7992 INPUT I 7994 PRINT 7996 PRINT 7998 RETURN 8799 REM END GAME 8800 PRINT "OUT OF THE CAVES" 8801 IF F<=0 THEN 8805 {@GEx H !( (\ +) _ - 3b3 **GV< 7--  v O  , t,0|6,344_ 6<|78.:b:6(8t5'8 -67h=>7 :s !2eD*p"x? .2!"x:(3*<[u "C>+ܠ2X5͒2͞1iDѷ((7͞1iD<=(@E!45D #gGҲ#~( ( ( (C0*RSʞCK WC"t##Ss#r#!] ÞCD>)2r_8C   oC+*x>͗C<9(!QY~> iD9(D(3*t3:<͠2X5>>͠2 .̓D.sրc #~ց? 3 l3? MO N#FiD2s"t(DCQ `i*+"4V7 3 *x|"t*x}<( "z"*t"|.! :!*||l *z"x(uK~*2+B,+:+=_̈́D(>,͗C? u)? *0RN BN *@ RN S~"2y2+6#6 = (D$D(D.oC[x3D-*xR#CC`i+Q ("8C !.*8CB ~#+<̱D"x!.:yHG~ȸ#"(8 8( ֊ 渊W#<=(#(jͯ>͗CKB8:.L8["t> (*##^#V!\R0*~R0*R0 >͕͕(iDͯ=>,͗C##^#V*~R8 qr+sk>H ~)(>,͗C>)͗C>͗C=0O~G8C##F#fh G*xx8~##N#Fk8 (6 #= u(%[6~G( (? K xʃD,͢EC (0? 8CŠ F#~#+<̱Dx2"x"!. !\Rú0~ +L~,iD(>͗C+D(( iDÂ+iD  -ʐ3ʼ ʐ3,(X;L:. ?*~Ԑ3\͒2'*~(>0 Ԑ3Ĕ2\Ĕ2̈́D~Ԑ306~(>,͠2'0/7>)͗C+>8~/02 u ֿiD-~ ͏-">2, >;͗C\5E1(4ͯ=!yØ̈́D>,͗Cr1# *2s>,͗Cͯ~,( :s [r1:.(!iDWG"( :,:s P+!ØiD>(̈́D(,̈́D :s! 2+ #~#E #^#VSp̓D ø"t0 D(>,͗Cį8C *t.̈́D+į"t8C< ~#ͺ(y$((S(( "xi`**t~,.iD_ ͩ̈́D>,͗C[!9:.( u͚[~*l2.R(5Es#r+iD( + #~#? #^#VSx̓D(+ %%2f/2. L̈́D? 8C{ ~#+<̱D"x:.<(= .0 7p+q+p+q+p+q!.~(wf:>[͕!f(͕~"4w##q#pU.29D(2!_w#w#w#w#w#6-*͐3[| }(;N#~# +͠2yĠ2>$yĠ2>=͠2y" ͺ(?\######ͯ!(*:.>,͗Cͯ:.` *RH ((ͬ8*R(S~,iDs +̈́D(>,͗C +*+r+s++> (H 2.(+>,͗C-L:. !NͲ#*NAͲ##~#fox(NͲ#ǘD>,͗C-ͯ:.("J1G(J1f:!T Ø!J1w#(̈́D>,͗C(>͗C iD-<-ͬڄ :.` ng)#RDM J1w ̈́D>,͗CNͲ iD0DCQ `i###iD֛H GG̈́D7( ,(;? iD*>FH ##N#fi͞͠2_W͞W~##Z '# +>(+~#.r $(* x#8~$> #W(F~#.(#(, ~#>. # (%~##(T]^  # # #x8G#+Z x(~-( (W9CxH z?Ÿ́D7( ;(,? iD~##N#fi_x ͞͠2(H ܐ3xL(~#E( R(L(C _ (~#(͞(G*A{E(.*xG{L(R(x8͖G\͖ x0͒2z>+Ġ29D(2-L:. ;(OͲ̈́D>,͗C*F##^#V(NͲ#u++ Invalid Input ++ Ready:++ Extra Ignored ++ ++ Break +"D(\)(F 33)*&2*&+%+++ M)22)22 655(6-5 Z#6$ 4#6$6<766F5((*CP!I!070707#.7H6y$y$|_&|&z${F))PF<2(<!(iDL<(ÄDL7:.` L+oC"v*vxx<~80W? "niDz~"n _:.={ʕ_!xV#<[KKKN#F*n2.iD>D0E((,"~&( #~06? 06>(͗CL>)×C}O*v͌(<ͯ":.̺(? 0OOiD!e ~#N#F(V=(P=(E=(0=(7G>,͗C*=(=G>)͗C->)͗C= <!( !'!6>>>>"(!(O! ~#foy! (ɣOxOxOx/Ox//Ox/!,:.z_dxé.y>!tS(2.uN#F#N#FyU{zد< #(?<<'ZO<!({/Oz/ ([^K=:>>2-FD? O2.iD8D8 OiD8D0$ <2.iD:-<ʅ:r((l2r**| }(y# x#(@######| }(,* WC"`i"+6| } s#r#2!c"*-W()͗C"v"-2-*>[| }(~# ~#^#V# :-W Ȗ(`T 7q#p#OoC##"nq#:-y 0q#p#u)8= BK8|C"+6| } W*n^) ++s#r#8(GO~#^#V#| }0u)8=DM ) ) *v̈́D:."v~#foo ~( qiD"n>,͗CoC>)2rͯ:.7 N#F#N#F#N#F:~) *v>(͗C*nͯk~)( >,͗C>,͗CiD>)͗C>̈́D(>͗CL̈́D? < oC[x3.>͗CG>)2rô>,͗CiDL<;(̈́D{ͯ%%_##~#foFr̈́D>pͯ>)͗C2.(iD9'ÄD+#~ [#]| }ځ ~G!" 8&  (.(08L:0H *>!#~  yy(8[A_!^#Vz(d# ~ #DG :5F Nw# (kp (g##x! =֒(u(q D8 (*,E8 !  < = 6:# ʁ # (:(I 7:f( T( G~( (# (!\Ɉկ]> W~#8 0_( ^#V#(!_z&{ ͺEC~0 #~0( + ͺE?#~(  ^#!V##~((~ ##~( #{ z(~ (#~((UTOBS (TN (SC (NDYTEPOLL (YTE$ (YTE (YTEYELEARALLOPYONTLOSEOS (HR$ (ATAIMEFELETEIRISKFREE (ATE$LSEXCHANGEDITXITRRORRASENDXP (RR (OF (OFQVERRRLORNENDNRETURNRE (IX (IX$ (NINDO TOO SUBEX$ (NPUTFNT (NP (NSTR (MPNTERRUPTILLETOADGOVARISTOADOG (OG10 (EN (EFT$ (OOKUP (OC (OF (INEATERGEID$ (ODEXTEWOTUTBYTEUTNPENPTIONROKERINTRECISIONOS (EEK (OLL (IRIVACYROTECTEADESTOREETURNEMANDOMIZEESUMEENAMEENUMBERUNELOCATEND (IGHT$ (NDESETEPLACEESAVETOPAVEETLOCGN (QR (IN (TR$ (PACE$ (TRING$ (TEPPC (RACEAN (OHENAB (IME$IMESR (SINGAL (ARADR (AITRITEORɀ?!'+-*/\^>=<΀+Q>Q]vPozC?u~##qN#F kq!fw##s#r+"P#~ (( "iD#y f>*4">2.(| }"4~i #u ͔2 ̚3*~*lOGB| }8"l#c s*2+"l[~!6[4| } ?*[| }( ~##*R(D{ (N #| }(~##^#V###ȷ*lBbkBPY*lO +bkrsÞ6~*f y\x[h>N#F#~#fox`iO=*͕PYN*l| } G "l*4+++F+N++| }"4(rW2.~ͯ(##^#V(>;(*hs0DGy~##N#Fk> xAO6~8xq##F#fh DM kyA~CH )(>,͗C>)͗C=0O~G8C[~, C(~, K>)͗CxxxD0O##~#foH y88ͤ%|\%܇%&D(\)͌(\)Ì(!~:~)6{y%!x>=))0 0x7>)jB0 !>=()j0 07!6#6y%!(͔(!)ͺ(D((Dx&%y(*\)S(|""")̌(&c&8!;\)c&:Ҥ'͔(\)ͨ$!l*͸*!e*?wä' EVj7'mqx!t!.wXXzmFXc|u~r1͔(_&(c&͔(~#ͺ(=c&(ͫ$<D(!(ͺ(5!zDc&(h!Fͫ$({YO!6+F6 %!(!q+y$͔(I!!(&͔(\)ͨ$!w+͊$D(7]+v$D((!w+y$Ԍ(!}+é*!I4vjKO;(1di65#$1]!I͔(%+͕((+&D()(:8!QY&!$!+ͩ*!q+ buQxL}>z#{: 4|6|a}]x`}Drc}bG~L~~fH8?$H8R2"p"O.h- 57͂,I vʟ 0O nʟ U RŸ ~Ÿ !,!,͏0͖-ø-pÄD,,,,,3Ͳ0>,͗C%4? ~,J(z? srww w ww3w4w5w261Q0N(<Vʖ F– <™ >W061<Í !.7.ڷ !8, ~<=( ͖.Vʫ !-͏0"ÄDF7R7 N7j/͖.Nʨ !-͏0"ÄD?7 J7 .ͮ-͌-f„Dô ͠.͠.--f.͙.ɯ2,2!?7"!F7"!,0!,G(  ɯ*2O:+Gy7~#? ~#>>,͗C{~#iD~#> ~@(>,͗C{{Y(>,͗C7U.!.ñ o.!.ڱ ~® yNFͥ)ں K#ں ;"ں :q r sq3r4s5~ (0(wQ0< 6&61~ 1(%&0w1~  w0= 617>51~6_~464 6 4 yF(~3w ~4w ~5w~ (0( wQ0W0<Ü 2F2~1 2>y0<ʍ ==ʐ =ʓ ý 2>o0O>6r0NN ~#fo(O.!.ڱ 0*2:+G0!0!0͏0͸-Ö-ÄD000003ͲͲ6VN0~0Ͳ!]x2J1(((# ( (Oxҁ q#گw!\<͵*x|ʃ3( ͞2͞2+~͔2 3(͞2 H(+~> (F~ (A Pz y +~ ( {/W!022 ê1  ͇2ͭ3OX+((#ʪ1~͔2 ( ʞ1 ڪ1Wx>0zw#͔2~ Oê1 .>^͠2@> ͐3> >\O:, Ry '~=8~/ G Ͳ4 +͐3 ~(5 80 ~Ԑ34Ͳy~˿͔2~#?777?̈́2:,/2,͖. 5? D>,͗CN(W75P("Q¥ ̈́D>"ww>,ẅ́D>?w P5> !]w#͇26!\> ͠2> ͠2~<=w~͠2͐3:*X5͒2~(Ox(yG(>,͗Cx(8 j7On7? Gj7!\42.4G*! 64.:*(W48: z@w4. > #r.(:#* 6? w483 .448.:#* 6? w 44u4!4#6 BAS7  (D\.4o0\.4>,͗Cl.44<™ Gu*~= ##~#fo~H wO0Dw!l52(!~6?2X @ Line\!5 ( -(.44< $!52File Not Foun????????BAS=`O~( 0͒2͒2͐3! #~͠2>.͠2#~͠24< Ð3>p7> p7O>p7^/ɯ(~® ^V ~ #"??'~® V _:(iD8# -̈́DͥEq p ͥEC#? ͠.̈́Dͮ-N1Nʨ !6͊0>6 6 6V7?6(-̈́D,>)͗C{_*h66w#Nʨ !-͊07N1\.4>,͗C? >*h6 #ɯu2.W_C6%%>X7> > >> >*_i7>>YOiE-C͐3N#F#x(6N#F#| }8!"X5͒27!]+\͵r DiE4iE8>O͂,( >,͗CAʜ8? -Ͳ**N#Ͳ| } 0~#>U.h-8>I͂,D7;? -*n8x(7n8q8(8 02X5*z3*s#r#̈́D##+€9[C`iK[##s#r++~+ng ~# (DiECC0T]RH !C*| } CiEDCH `i##N#F#CX5͒2!]~w# W 3:008 0OxG!: !:#N#F#F `8_>à2 ;QLH;F!;I;DR; ;Rk;E;X};K;Hz;;A;͐3j:~͔2#!f;7 3O54f;~͔20;#~( 7͐3À:~>\͠2~(͔2;>\à2~ 3͔2w#6Z; 3 (T (+~͔2; 0 ( {8>͠2ɒo&DM]C͔2w#z+~͔27͐37!]d~(#~+w#!\ !\O<88(((. (Oxy(#w w>2!]̈́D<=(~ \0$D͵8>I͂,(>,͗C? D? S>27 DC8<<<<5>$D[z<.iE0/DS , iDDS>͗CC`i!CH Kx? u)8![8[C8"`i~#( #~#foRu R+B8 BH PYK WC"`iͧCK^#V#q#p| }( * DMÞCiE=̈́D(>,͗CCC͐3͟=ͺ>^#Vbk~##7^#V#x y8]=!F#7(  ~,(O#~? (f > #iE=̈́D? =̈́D>,͗CCC"!"͐3*K͟="S]=ڤ>!]:G:80-HGRBDM[+#(O#R>*ͺ>f *ͺ>>27!]d"X5͒2ý7UNDEFINED STATEMENT&ʅ?8 x?-(+(+%%GW_/O,E8X.((E ',E8a-(+ ,E8R++,E8I _ ({@?͔(D!?ͺ(7ͷ? 0&̌(WxGͲ'0~${0_#ͺEÄD,E8 A8 0 .(0zK ))))o(Ͳ'=&<ɯ2!6 (6+D(?6-͌(#60:Wڟ@ʗ@B!45(QW B@(07G~KB60 #^B+~0(.(#(6E#6+@6-D/ 0:#p#w#6!#zڿA!S(@?+6% D(BtA_xBB^B CKB{ +=B!F :_ (x* AqiD(E( 0(,(. +60c(+6$S +p(p#6!#:~ (*(+iD-(+($(0 #iD0.( ++w((6%_y(=A? {_xABBByNBOBGO^B *=BP@D(7By(=OzWO ?AAD KB(/{_#zW#}o#|g#yO++++0o%#(p#= KBw Tʚ;@B'd =60#{͗CD %%!OD(6#= G'͐3*EX5͐3!F2!c,RDMw- Cx"~">,2\>222!E" .! ))DM!8,,>2+!6"4!"""!EG21iDAE/E< *!]̈́D>~? (++"0[| }N R8"26#6++"leRN 0@| }E0e| }8"~"|CR ͐3X5!x "A!TG2!2"DXitan Z-80 Disk BASIC by Neil Colvin Copyright June 1978 06/11/78 16:38:10 Highest Memor Bytes Free Welcome to Disk BASIC, Version 1.06 [C12500-0106 ] Lb@`BBg`~͠f ?Bbvb`j BAR…$* nʩZ`@,k JƯn8frBߡ>f[pZjJ@bh n` èb# b/C`D,` b`J@tbpfFBb Ȃ b`<0< PTAL@Khb  Mb``2lBbLvxzkfngr@@@Rb!N σ&Bb`B`eHbA,@@)B -j Lb@`BBg`~͠f ?Bbvb`j BAR…$* nʩZ`@,k JƯn8frBߡ>f[pZjJ@bh n` èb# b/C`D,` 1$100.0$0.5$.3$.7$.5$.1$.01$.40$.10$3.1415926$*Xp7! :! :THE ASPECT RATIO IS = $ #/$ #d4 :! :! : : :MINIMUM CHARACTER HEIGHT IS = $#d4n;hM6̀  7C]C]!6 : ! :6 7! :6THE VERTICAL AXIS IS $ . #PERCENT OF THE$d HORIZONTAL AXIS$d4X= $ # Y= $ #d4 : : ppBp7pp7pTHE CURSOR WAS POSITIONED AT: $ #5 #d4YOU SELECTED OPTION: $#d4THE TERMINATING KEY WAS: $$d4 : : : : : :P!(!<!P!(!<!P! :.].]! :  !  !.!!. !.!!. !p!!2p !Fp!!2pMINIMUM MARKER HEIGHT IS = $##d4 : !.!!.6] 7t!!!!.6P :&  '  &!(p'! p&!#p'!p&!2p'!(p&!Ap'!p&!  ڈ!X$B3jPHfͪ"@XD6!%zXB3k@Hfr@m@m`m" fͯ"hD7P!$Cy 3o@@fڐ h͹" f!L$B3oHfސͽ"`aD 0h͠L۔͡AL ͡Lۚ*1 ^J3oX03n8HfP ͦBO&@6Am  ڐ!-P(C}wBD!6A@mj f`ͮB^B(BK3kPf؀m @ !\)dBd)zXL 6΅K@m p(f@ͷBr 6@ m  ڜ!@Q ͱ"E`9D P6@m  ʹBBB 6h`Xfрͤ!l6!,B3i[6@m6  ~ͧ!lFͽ`,*1 :X>&G fͨb8B B3kXf )f٠ 1r@m `(9D 6j 6pp@f !@,P!@,CaY,C(-n6$s88tٶt%zXZ 6l 6l B3lXf0 fߐ r@m fްafб͡! J 6Lm4  !0B3j`f` @ͪA 2!`0B3k@`D 6@@( fͭb7!0B9D P6@m  P!NQͳ (9D 6@m h! @13@&fw80ͽLͽp ͿL; B3hHh3hlH4CD@l,C<1pp6o X3i h3ik6j6 6oX03i`r@m  0!4B3kPhf` qr@m  !04Cb@aYEh4B3lhfڰͶ!mD 6@m  ۆ!$4Cl4CngD 6ꆈ@m  ۞! L۶! L! NQͼ "͠a|CD `6o6h6hXB3hhs6 ipj8p fP -f 5fՐ =r@m;fްa6m_p6mu ڦ!l!l!nQͭ! " J!|8B3m0p f͵ n 6Lm d!(8B3npf` hͼA .! 8BP3os6Bm ͠!CC!@6h{6Am PͣK"6i{6Am= ڒͨS#6j{6Am^ ͬ!\%6k{6Em ͰA@dC!@6l{6‡Gm Xʹal!@6݇m{6Jm ۚ͸t!@6n{6㇈@ m 6m ۸!.01?@@$$.01)+g,,--)5g9.01:::3P.5 "".5"PP  !!"##$%%%O!%%2&((2)CCTHANKS FOR THE VIEWINGC)g(fI !'<())*l---.//0j0n0)g(f(iSP !!d"##$''d'P%'''';*********************************************************************** ; MICROCOSM ASSOCIATES "SUPER MEMORY DIAGNOSTIC" VERSION 1.01 (C) 1979 ;*********************************************************************** ; ;DONATED TO THE "SIG/M" CP/M USER'S GROUP BY: ;KELLY SMITH, MICROCOSM ASSOCIATES ;3055 WACO AVENUE ;SIMI VALLEY, CALIFORNIA, 93065 ;(805) 527-9321 (MODEM, CP/M-NET (TM)) ;(805) 527-0518 (VERBAL) ; ; ; ORG 0100H ; ; ; DI ;DISABLE INTERRUPTS LXI SP,STACK ;SET THE STACK POINTER JMP INIT ;INITIALIZE ; ; ; ; ; ; ;DEFINE CONSOLE I/O PARAMETERS FOR ALTAIR 2SI/O BOARD ; CCTRL EQU 010H ;CONSOLE COMMAND/STATUS PORT CDATA EQU 011H ;CONSOLE DATA PORT CRRDY EQU 001H ;RECEIVER READY BIT CTRDY EQU 002H ;TRANSMITTER READY BIT ; ; ; ;SUBROUTINE TO CONVERT TWO HEX CHARACTERS TO ONE BYTE ; NBL: SUI '0' RC ADI 0E9H RC ADI 6 JP NIO ADI 7 RC NIO: ADI 10 ORA A RET ; ; ; ;SUBROUTINE TO CONVERT A BYTE TO TWO HEX CHARACTERS ; LBYTE: PUSH PSW RRC RRC RRC RRC ANI 0FH CALL HXDA POP PSW ANI 0FH JMP HXDA ; ; ; HXDA: CPI 10 JM CNO ADI 7 CNO: ADI 30H MOV C,A JMP CO ; ; ; ;CONSOLE INPUT ROUTINE ; CI: IN CCTRL ANI CRRDY JZ CI IN CDATA ANI 7FH RET ; ; ; CRLF: MVI C,0DH CALL CO MVI C,0AH JMP CO ; ; ; CONO: CALL BYTEO CALL CRLF RET ; ; ; CONI: PUSH B CALL BYTEC POP B RET ; ; ; ;CONSOLE OUTPUT ROUTINE ; CO: IN CCTRL ANI CTRDY JZ CO MOV A,C OUT CDATA RET ; ; ; INIT: LXI H,01000H ;SET DELAY COUNT FOR 6850 SETTLE TIME DELAY: DCX H MOV A,H ORA L JNZ DELAY MVI A,003H ;RESET 6850 ACIA OUT CCTRL MVI A,015H OUT CCTRL LXI H,MSGN CALL MSG TOP: LXI H,MSG7 ;OUTPUT "TOP OF MEMORY=" TO CONSOLE CALL MSG LXI H,00FFFH ;SET BASE ADDRESS OF TEST RAM -1 FIND: INX H ;EXAMINE EACH BYTE MOV A,M CMA MOV M,A CMP M JZ FIND DCX H CALL HLOUT LXI H,QTMSG ;OUTPUT "MEMORY QUALIFICATION TEST ; IS IN PROGRESS" TO CONSOLE CALL MSG LXI H,01000H ;SET MEMORY "BOTTOM" ADDRESS SHLD MBOT LXI H,0C000H ;SET MEMORY "TOP" ADDRESS SHLD MTOP LXI H,TEST ;SAVE "FUNKY RETURN" ADDRESS SHLD MTEST JMP RNDSL ;GO DO RANDOM PATTERNS TEST ON 16K BYTE MEMORY TEST: LXI SP,STACK ;RE-SET THE STACK JMP MEMTS ; ; ; MNTR: LXI SP,STACK CALL CRLF MVI C,'-' ;OUTPUT PROMPT (- CHARACTER) CALL CO CALL CECHO ;ECHO KEY-BOARD INPUT OUT TO CONSOLE CPI 'M' JZ MEM ;JUMP TO MEMORY DISPLAY/ALTER,IF "M" CPI 'G' JZ GO ;JUMP TO GO TO MEMORY ADDRESS,IF "G" CPI 'T' JZ MEMTS ;JUMP TO MEMORY TEST START,IF "T" LER: CALL CRLF ;KEEP IT NEAT MVI C,'?' ;LINE INPUT ERROR,OUTPUT "?" TO CONSOLE CALL CO JMP MNTR ; ; ; CECHO: CALL CI MOV C,A CALL CO RET ; ; ; GO: LXI H,MSG2 ;OUTPUT "GO ADDRESS=" TO CONSOLE CALL MSG CALL PARAM CALL CRLF PCHL ; ; ; PARAM: LXI H,0 PARM1: CALL CECHO CPI 0DH RZ DAD H DAD H DAD H DAD H JC LER CALL NBL JC LER ORA L MOV L,A JMP PARM1 ; ; ; BYTEC: CALL CECHO BYTC1: CALL NBL JC LER RLC RLC RLC RLC PUSH PSW CALL CECHO CALL NBL JC LER POP B ORA B RET ; ; ; BYTEO: PUSH PSW CALL BYTO1 MOV C,A CALL CO POP PSW CALL BYTO2 MOV C,A JMP CO BYTO1: RRC RRC RRC RRC BYTO2: ANI 0FH CPI 0AH JM BYTO3 ADI 7 BYTO3: ADI 30H RET ; ; ; HLCO: CALL CRLF HLOUT: MOV A,H CALL BYTEO MOV A,L CALL BYTEO RET ; ; ; DSPYM: CALL HLCO MVI C,'=' CALL CO MOV A,M CALL BYTEO MVI C,20H CALL CO RET ; ; ; MEM: LXI H,MSG1 ;OUTPUT "MEMORY ADDRESS=" TO CONSOLE CALL MSG CALL PARAM MEM1: CALL DSPYM CALL CECHO CPI 00DH JZ MNTR CPI 020H JZ MEM9 CPI 05EH JZ MEM10 CALL BYTC1 MOV M,A CMP M JZ MEM9 MVI C,' ' CALL CO MVI C,'E' CALL CO MEM9: INX H JMP MEM1 MEM10: DCX H JMP MEM1 ; ; ; ;KEY-BOARD INTERRUPT ROUTINE,KEYED WITH "SPACE-BAR" ; KBINT: IN CCTRL ANI CRRDY RZ IN CDATA ANI 07FH ;MASK-OFF PARITY BIT CPI 020H ;GOT A "SPACE-BAR"? JZ MNTR ;GO TO COMMAND MONITOR,IF SO RET ; ; ; SP5: MVI C,20H CALL CO SP4: MVI C,20H CALL CO SP3: MVI C,20H CALL CO SP2: MVI C,20H CALL CO SP1: MVI C,20H CALL CO RET ; ; ; ; ; ; MSGN: DB 71,0DH,0AH,'MICROCOSM ASSOCIATES "SUPER MEMORY DIAGNOSTIC"' DB ' VERSION 1.01 (C) 1979' ; MSG1: DB 14,'EMORY ADDRESS=' ; MSG2: DB 10,'O ADDRESS=' ; MSG7: DB 17,0DH,0AH,0AH,'TOP OF MEMORY=' ; QTMSG: DB 43,0DH,0AH,0AH,'MEMORY QUALIFICATION TEST IS IN PROGRESS' ; AMMSG: DB 39,0DH,0AH,0AH,'TEST MEMORY IN "AUTO" MODE (Y OR N)?' ; DFMSG: DB 47,0DH,0AH,0AH,'TEST "ALL","SELECT",OR "MONITOR" (A,S OR M)?' ; TPMSG: DB 20,' TEST IS IN PROGRESS' ; TMSG: DB 17,0DH,0AH,0AH,'TESTING MEMORY' ; FMSG: DB 6,',FROM ' ; TOMSG: DB 4,' TO ' ; PSMSG: DB 7,0DH,0AH,'PASS=' ; ERMSG: DB 15,', TOTAL ERRORS=' ; PTSG: DB 25,0DH,0AH,'GALLOPING PATTERNS TEST' ; RFMSG: DB 25,0DH,0AH,'STATIC CHECK CYCLE TEST' ; CKMSG: DB 25,0DH,0AH,'CHECKING DATA RETENTION' ; CLMSG: DB 24,0DH,0AH,'GALLOPING COLUMNS TEST' ; RDMSG: DB 22,0DH,0AH,'RANDOM PATTERNS TEST' ; SATSG: DB 23,0DH,0AH,'WRITE SATURATION TEST' ; WMSG: DB 23,0DH,0AH,'WALKING PATTERNS TEST' ; NDMSG: DB 27,0DH,0AH,0AH,'NO MEMORY BLOCKS DROPPED' ; DMMSG: DB 27,0DH,0AH,0AH,'DROPPED MEMORY BLOCK(S)=' ; LMMSG: DB 22,0DH,0AH,0AH,'LOW MEMORY ADDRESS=' ; HMMSG: DB 22,0DH,0AH,'HIGH MEMORY ADDRESS=' ; NAMSG: DB 24,0DH,0AH,'INVALID MEMORY ADDRESS' ; OPMSG: DB 20,0DH,0AH,0AH,'TEST OPTIONS ARE:' ; TMSG1: DB 30,0DH,0AH,0DH,0AH,'01-GALLOPING PATTERNS TEST' ; TMSG2: DB 27,0DH,0AH,'02-GALLOPING COLUMNS TEST' ; TMSG3: DB 26,0DH,0AH,'03-WALKING PATTERNS TEST' ; TMSG4: DB 25,0DH,0AH,'04-RANDOM PATTERNS TEST' ; TMSG5: DB 26,0DH,0AH,'05-WRITE SATURATION TEST' ; TMSG6: DB 28,0DH,0AH,'06-STATIC CHECK CYCLE TEST' ; TMSGN: DB 44,0DH,0AH,0AH,'ENTER TEST NUMBER (01,02,03,04,05 OR 06)=' ; EPMSG: DB 24,0DH,0AH,0AH,'ENTER PATTERN(00-FF)=' ; REMSG: DB 29,0DH,0AH,'RETENTION ERROR AT ADDRESS=' ; EXMSG: DB 31,0DH,0AH,'EXPECTED "00" DATA,READ BACK ' ; MRER1: DB 20,0DH,0AH,'ERROR AT ADDRESS=',0 ; MRER2: DB 12,' READ BACK ' ; MRER3: DB 11,' ,EXPECTED ' ; MRER4: DB 27,0DH,0AH,'LAST ADDRESS WRITTEN WAS ' ; MRER5: DB 14,20H,',PATTERN WAS ' ; MRER6: DB 26,0DH,0AH,'ERROR READING OTHER CELL' ; MRER7: DB 25,0DH,0AH,'ERROR READING TEST CELL' ; MRER8: DB 12,0DH,0AH,'TEST CELL=' ; MRER9: DB 13,', OTHER CELL=' ; MER10: DB 18,20H,20H,'PATTERN STORED=',0 ; MER11: DB 16,20H,20H,'PATTERN READ=',0 ; MER12: DB 19,0DH,0AH,'BIT(S) IN ERROR=',0 ; ; ; ; ; MSG: PUSH PSW PUSH B MOV B,M INX H MSGA: MOV C,M CALL CO INX H DCR B JNZ MSGA POP B POP PSW RET ; ; ; ; ; ; ;ROUTINE TO FIND ALL 4K MEMORY BLOCKS AVAILABLE TO SYSTEM ; MEMTS: LXI H,00000H ;CLEAR THE PASS AND ERROR COUNTERS SHLD PCTR SHLD ECTR LXI B,MBUF ;POINT TO MEMORY BUFFER MVI E,1 ;SET-UP BASE RAM 1ST 4K BYTE TEST ADDRESS STAAD: MOV A,E STAX B ;SAVE IT IN BUFFER INX B INC4K: MVI A,00BH ;INCREMENT TO NEXT 4K MEMORY BLOCK,STOP IF ALL ; MEMORY BLOCKS TRIED,FOR 16 K BYTE MEMORY INR E ;BUMP FOR NEXT MEMORY BLOCK CMP E ;ALL DONE? JP STAAD ;IF NOT,GO TEST THIS NEW MEMORY BLOCK MVI A,080H ;YES,TAG WITH "END" IN BUFFER STAX B AUT: LXI H,AMMSG ;OUTPUT "TEST MEMORY IN "AUTO" MODE (Y OR N)?" CALL MSG CALL CECHO ;GET THE ANSWER CPI 'Y' JZ AUTO ;DO AUTO MODE,IF YES CPI 'N' JZ SELCT ;LET OPERATOR SELECT,IF NO JMP AUT ;OOPS...GAVE HIM TWO CHOICES,AND HE PICKED THIRD AUTO: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT LXI H,DROP ;SET-UP DROP LIST POINTER SHLD DROPP ;SET DROP LIST POINTER TO START XRA A ;CLEAR DROP COUNT AND ERROR FLAG DCX H MOV M,A DCX H MOV M,A AUTO0: LXI H,MBUF ;POINT TO MEMORY BUFFER SHLD MEMPT ;SAVE MEMORY POINTER FOR LOOPING AUTO1: LDA ERFLG ;GET ERROR FLAG,TO SEE IF WE DROP MEMORY ; BLOCK JUST TESTED OR NOT ORA A JZ AUTO3 ;IF NOT ZERO,DROP THIS BLOCK FROM TEST LHLD DROPP ;POINT TO NEXT DROP LIST SLOT XCHG LHLD BLKST ;GET MEMORY BLOCK START ADDRESS XCHG ;AND NOW WE HAVE H&L REGS.AS DROP LIST POINTER, ; AND D&E REGS. AS THE BLOCK START MOV M,E ;SAVE LOW BYTE OF BLOCK START INX H MOV M,D ;SAVE HIGH BYTE OF BLOCK START INX H ;GET H&L REGS. TO POINT TO NEXT DROP LIST SLOT SHLD DROPP ;SAVE THE NEW POINTER LXI H,DROPC ;+1 TO THE DROP COUNT INR M LHLD MEMPT ;GET THE MEMORY BLOCK POINTER DCX H ;BACK-UP TO MEMORY BLOCK JUST TESTED,AND LOG IT OUT MVI M,000H AUTO3: MVI A,9 ;SET ERROR DISPLAY COUNTER TO 8 PLUS 1 STA ERCNT XRA A ;CLEAR ERROR FLAG STA ERFLG LHLD MEMPT ;GET MEMORY BLOCK AND BLOCK NUMBER MOV A,M INX H ;UPDATE AND SAVE NEW POINTER SHLD MEMPT ORA A ;TEST THE MEMORY BLOCK NUMBER JM AUTO0 ;RE-START IF "END" OF BUFFER JZ AUTO3 ;TRY NEXT ONE,IF DROPPED MEMORY BLOCK RLC ;CONVERT MEMORY BLOCK NUMBER TO 4K BLOCK ADDRESS RLC RLC RLC MVI L,000H ;ZERO L REG. MOV H,A ;MAKE A 16 BIT BLOCK ADDRESS OUT OF THIS, ; AND SAVE AS BLOCK STARTING ADDRESS SHLD BLKST ADI 010H ;ADD 4K TO START MOV H,A SHLD MEND ;SAVE AS MEMORY BLOCK END ADDRESS +1 LXI H,AUTO1 ;SAVE "AUTO1" FOR LOOPING ADDRESS SHLD AUTOR LXI H,TMSG ;OUTPUT "TESTING MEMORY " TO CONSOLE CALL MSG LXI H,FMSG ;OUTPUT ", FROM " TO CONSOLE CALL MSG LHLD BLKST ;GET THE MEMORY BLOCK STARTING ADDRESS CALL HLOUT LXI H,TOMSG ;OUTPUT " TO " TO CONSOLE CALL MSG LHLD MEND ;GET THE MEMORY ENDING ADDRESS CALL HLOUT LXI H,PSMSG ;OUTPUT "PASS=" TO CONSOLE CALL MSG LHLD PCTR ;GET THE PASS COUNTER,AND UPDATE IT INX H SHLD PCTR CALL HLOUT LXI H,ERMSG ;OUTPUT ", ERRORS TOTAL=" TO CONSOLE CALL MSG LHLD ECTR ;GET THE ERROR COUNTER,AND SHOW IT ALSO CALL HLOUT LXI H,WRTSAT ;SAVE "NEXT TEST" ADDRESS SHLD MTEST JMP RANPT ;GO DO RANDOM PATTERNS MEMORY TEST ; ; ; ;ROUTINE TO DO WRITE AMPLIFIER SATURATION TEST IN "AUTO MODE" ; WRTSAT: LXI SP,STACK ;SET THE STACK POINTER LXI H,SATSG ;OUTPUT "WRITE SATURATION TEST" TO CONSOLE CALL MSG LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS SHLD MBOT ;SAVE AS MEMORY BOTTOM ADDRESS LHLD MEND ;GET MEMORY BLOCK END ADDRESS SHLD MTOP ;SAVE A MEMORY "TOP" ADDRESS MVI B,100 ;SET-UP FOR 100 WRITE SATURATION PASSES XRA A ;SATURATE WITH 0'S FIRST CALL SAT ;WRITE WITH PATTERN,100 TIMES MVI A,0FFH ;FLIP PATTERN TO 1'S CALL BAKPT ;WRITE 1 TIME ONLY CALL SATRD ;DO SATURATION READ MVI B,100 ;AGAIN SET-UP 100 WRITE SATURATION PASSES MVI A,0FFH ;NOW SATURATE WITH 1'S CALL SAT ;WRITE WITH PATTERN,100 TIMES XRA A ;FLIP PATTERN TO 0'S CALL BAKPT ;WRITE 1 TIME ONLY CALL SATRD ;DO SATURATION READ JMP GAL ;GO DO "GALLOPING PATTERNS" MEMORY TEST ; ; ; ;ROUTINE TO DO WRITE SATURATION TEST IN "SELECT MODE" ; WSATT: MVI B,100 ;SET-UP FOR 100 WRITE SATURATION PASSES CALL SAT ;WRITE WITH SELECTED PATTERN,100 TIMES CMA ;WRITE WITH COMPLEMENT,1 PASS CALL BAKPT CALL SATRD ;READ THE DATA LDA TPATT ;GET SAVED TEST PATTERN MVI B,100 ;NOW DO COMPLEMENT 100 TIMES CALL SAT ;....AND WE'RE OFF CMA ;WRITE WITH COMPLEMENT,1 PASS CALL BAKPT CALL SATRD ;READ THE DATA RET ; ; ; ;SUBROUTINE TO READ 1 PASS "BACKGROUND" PATTERN AS CONTAINED IN A REG. ; SATRD: LHLD MTOP ;GET MEMORY "TOP" ADDRESS XCHG ;SWAP H&L REGS. TO D&E REGS. LHLD MBOT ;TOP'S IN D&E REGS.,BOTTOM'S IN H&L REGS. MOV B,A ;SAVE PATTERN IN B REG. STA TPATT ;SAVE DATA PATTERN FOR POSSIBLE ERROR DISPLAY FSTRD: CALL COMP ;ALL DONE? RZ MOV A,M ;GET A BYTE FROM MEMORY CMP B ;GOT A MATCH? CNZ SATER ;INDICATE "WRITE SATURATION" ERROR IF NO MATCH INX H ;BUMP POINTER FOR NEXT BYTE JMP FSTRD ;DO FAST READ ON MORE MEMORY ; ; ; SAT: PUSH PSW ;EXILE THE A REG. CALL KBINT ;CHECK KEY-BOARD INTERRUPT POP PSW ;BACK FROM EXILE PUSH B ;SAVE PASSES ON STACK CALL BAKPT ;WRITE THE "BACKGROUND" PATTERN POP B ;GET PASS COUNT DCR B ;DE-BUMP THE PASS COUNT JNZ SAT ;CONTINUE WRITING 'TILL 100 PASSES COMPLETED RET ; ; ; ;SUBROUTINE TO INDICATE ERROR IN WRITE SATURATION TEST ; SATER: STA ERPAT ;SAVE "BAD" BYTE MVI A,0FFH ;SET ERROR FLAG STA ERFLG PUSH H ;SAVE BAD BYTE ADDRESS LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LDA ERCNT ;DONE DISPLAYING ALL ERRORS? DCR A JZ PTX ;DON'T DISPLAY ANY MORE ERRORS,IF SO STA ERCNT LXI H,MRER1 ;OUTPUT " ERROR AT ADDRESS=" TO CONSOLE CALL MSG POP H ;GET BAD BYTE ADDRESS,BUT DON'T ; CHANGE THE STACK PUSH H CALL HLOUT LXI H,MRER2 ;OUTPUT " READ BACK " TO CONSOLE CALL MSG LDA ERPAT ;GET ERROR PATTERN CALL BYTEO ;SHOW IT LXI H,MRER3 ;OUTPUT " , EXPECTED " TO CONSOLE JMP SATX ;DISPLAY EXPECTED DATA PATTERN AND EXIT ; ; ; ;ROUTINE TO DO STATIC CHECK CYCLE TEST IN "SELECT MODE" ; STATT: MVI A,0FFH ;ALL 1'S PATTERN FOR FIRST PORTION OF TEST PUSH PSW ;SAVE THE PATTERN CALL BAKPT ;WRITE IT LXI B,500*5 ;DO 5 MINUTE DELAY "DO NOTHING" CALL LOOP1 POP PSW ;GET PATTERN CALL SATRD ;READ AFTER DELAY TIME XRA A ;ALL 0'S PATTERN FOR SECOND PORTION OF TEST PUSH PSW ;SAVE THE PATTERN CALL BAKPT ;WRITE IT LXI B,500*5 ;DO 5 MINUTE DELAY "DO NOTHING" CALL LOOP1 POP PSW ;GET PATTERN CALL SATRD ;CHECK DATA AFTER 5 MINUTE DELAY RET ; ; ; ;ROUTINE TO DO "GALLOPING" MEMORY TEST IN 256 BYTE CHUNKS ; (MEMORY DATA WILL BE FF HEX AND THEN 00 HEX) ; GAL: LXI H,PTSG ;OUTPUT "GALLOPING PATTERN MEMORY TEST" TO CONSOLE CALL MSG LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS GAL1: SHLD MBOT ;SAVE AS "CHUNK" START INR H ;ADD 256 MVI L,000H ;CLEAN-UP L REG. SHLD MTOP ;SAVE AS "CHUNK" END +1 MVI A,0FFH ;ALL ONES BACK-GROUND PATTERN CALL GALPT ;TEST THE "CHUNK" WITH 1'S XRA A ;ALL ZEROS BACK-GROUND PATTERN CALL GALPT ;TEST THE "CHUNK" WITH 0'S LHLD MEND ;GET "CHUNK" AND MEMORY BLOCK END CALL COMP ;HAVE WE DONE ALL 16 "CHUNKS" IN THE MEMORY BLOCK? JZ STATIC ;IF DONE,GO DO 1 MINUTE STATIC TEST XCHG ;OH...GO DO NEXT "CHUNK" IN SAME MEMORY BLOCK JMP GAL1 ; ; ; STATIC: LXI H,RFMSG ;OUTPUT "STATIC CHECK CYCLE" TO CONSOLE CALL MSG LXI B,500 CALL LOOP1 ;DO ONE MINUTE DELAY FOR STATIC CHECK LXI H,CKMSG ;OUTPUT "CHECKING DATA RETENTION" TO CONSOLE CALL MSG LHLD MEND ;GET MEMORY BLOCK END XCHG ;SWAP TO D&E REGS. LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS XRA A ;MAKE A 0'S BYTE FOR COMPARE LOOP3: CMP M ;TEST "GALLOPING PATTERN" RESULT BYTE CNZ RFERR ;IF IT DIDN'T SURVIVE,REPORT RETENTION ERROR INX H ;BUMP FOR NEXT TEST BYTE CALL COMP ;HAVE WE CHECKED THE WHOLE MEMORY BLOCK? JC LOOP3 ;IF NOT,DO IT LXI H,CLMSG ;OUTPUT "GALLOPING COLUMN MEMORY TEST" TO CONSOLE CALL MSG LHLD BLKST ;GET MEMORY BLOCK START SHLD MBOT ;SAVE IT FOR FUTURE USE IN "GALLOPING COLUMN" LHLD MEND ;GET MEMORY BLOCK END SHLD MTOP ;SAVE FOR FUTURE USE IN "GALLOPING COLUMN" MVI A,0FFH ;SET-UP ALL ONES PATTERN CALL GALCL ;DO "GALLOPING COLUMN" XRA A ;SET-UP ALL ZEROS PATTERN CALL GALCL ;TEST THE MEMORY BLOCK AGAIN ; ; ; ;ROUTINE TO WALK PATTERNS THRU THE MEMORY BLOCK IN 256 BYTE "CHUNKS", ; (WRITES 1'S,WALKS 0'S,THEN WRITES 0'S,AND THEN WALKS 1'S) ; WALK: LXI H,WMSG ;OUTPUT "WALKING PATTERNS MEMORY TEST" TO CONSOLE CALL MSG LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS WALK1: SHLD MBOT ;SAVE AS "CHUNK" STARTING ADDRESS INR H ;ADD 256 MVI L,000H ;SCRUB L REG. SHLD MTOP ;SAVE RESULT AS "CHUNK" END +1 MVI A,0FFH ;MAKE AN ALL 1'S PATTERN BYTE CALL WALKT ;LET'S GO FOR A WALK XRA A ;MAKE AN ALL 0'S PATTERN BYTE CALL WALKT ;MAYBE WE COULD JOG FOR AWHILE? LHLD MEND ;GET "CHUNK" AND BLOCK END CALL COMP ;ALL THE "CHUNKS" DONE IN THE BLOCK? JZ TEND ;IF ZERO,GO TO NEXT MEMORY BLOCK IN AUTO SEQUENCE XCHG ;NO? GET NEW "CHUNK" START ADDRESS JMP WALK1 ;GO TEST NEW "CHUNK" TEND: CALL CDROP ;SHOW ANY "DROPPED BLOCKS" LHLD AUTOR ;GET "AUTO1" RETURN ADDRESS PCHL ;GO FOR IT ; ; ; ;ROUTINE TO DO RANDOM MEMORY TEST IN "SELECT MODE" ; RNDSL: LHLD MTOP ;GET OPERATOR SELECTED MEMORY "TOP" ADDRESS MOV B,H ;SAVE IT IN B&C REGS. MOV C,L DCX B ;DE-BUMP B&C REGS. TO GET PROPER "TOP" ; MEMORY BOUNDRY ADDRESS LHLD MBOT ;GET OPERATOR SELECTED MEMORY "BOTTOM" ADDRESS JMP RANST ;GO TO RANDOM PATTERNS TEST START ; ; ; ;ROUTINE TO DO RANDOM PATTERNS MEMORY TEST IN "AUTO MODE" ; RANPT: LXI H,RDMSG ;OUTPUT "RANDOM PATTERNS MEMORY TEST" TO CONSOLE CALL MSG RANMT: LHLD MEND ;GET MEMORY BLOCK END ADDRESS INTO B&C REGS. MOV B,H MOV C,L DCX B ;DE-BUMP B&C REGS. TO GET PROPER BLOCK END ; BOUNDRY ADDRESS DCX B DCX B LHLD BLKST ;GET MEMORY BLOCK START ADDRESS INTO H&L REGS., ; AND D&E REGS. RANST: MOV D,H MOV E,L SPHL ;STUFF H&L REGS. INTO SP REG. LXI H,1 ;MAKE A STARTING "SEED" FOR FIRST RANDOM PATTERN ; ; ; ;"STORR", STORES RANDOM NUMBERS THROUGHOUT THE MEMORY TEST AREA BY ;USING RANDOM NUMBERS,CAUSING MOST PATTERN SENSITIVE AND ADDRESSING ;PROBLEMS TO BE CAUGHT.THE NUMBERS ARE STORED USING THE ;8080/8085 "PUSH" COMMAND WHICH STORES TWO ADJACENT BYTES IN THE ;FASTEST MANNER POSSIBLE. ; STORR: INX SP ;BUMP STACK POINTER BY 2'S INX SP PUSH H ;STUFF THE RANDOM DATA BYTE INTO MEMORY POP H LXI H,0 ;SCRUB H&L REGS. DAD SP ;GET THE CURRENT TEST CELL ADDRESS MOV A,C ;GET LOW BYTE OF MEMORY TOP ADDRESS SUB L ;SUBTRACT LOW BYTE OF TEST CELL MOV A,B ;GET HIGH BYTE OF MEMORY TOP ADDRESS, ; AND SAVE CARRY ONLY SBB H ;SUBTRACT HIGH BYTE OF TEST CELL ADDRESS JC DONE1 ;IF WE GOT THE CARRY,WERE DONE DCX SP ;NO,NOT DONE YET DCX SP POP H MOV A,L ;MAKE MORE "HASH" FOR MEMORY PATTERNS ADD A MOV L,A MOV A,H RAL MOV H,A MVI A,0 ADC L MOV L,A MOV A,H RLC RLC RLC XRA L RRC RRC ANI 1 XRA L MOV L,A JMP STORR ; ; ; ;"DONE1" CHECKS THE FIRST TWO BYTES FOR ERRORS AND ALSO CHECKS ;TO SEE WHICH PASS-THROUGH THE PROGRAM IS ON. ; DONE1: MOV L,E MOV H,D MVI A,1 CMP M JNZ CHECK DCR A INX H CMP M JNZ ERROR JMP CHKR ; ; ; CHECK: MVI A,0FEH CMP M MVI A,1 JNZ ERROR DCR A DCR A INX H CMP M JNZ ERROR ; ; ; ;"CHKR" GOES BACK AND CHECKS TO SEE IF WHAT IS STORED ;THROUGHOUT MEMORY,IS STILL THE SAME AS WHEN IT WAS STORED. ; CHKR: MOV A,M RAL DCX H MOV A,M RAL MOV M,A INX H MOV A,M RAL MOV M,A INX H MOV A,C SUB L MOV A,B SBB H JC DONE2 DCX H MOV A,M RLC RLC RLC DCX H XRA M RRC RRC ANI 1 XRA M INX H INX H CMP M JNZ ERROR INX H MOV A,C SUB L MOV A,B SBB H JC DONE2 DCX H DCX H MOV A,M INX H INX H CMP M JNZ ERROR JMP CHKR ; ; ; ;"DONE2" CHECKS TO SEE WHICH TEST HAS JUST BEEN DONE. IF IT WAS ;THE FIRST TEST THEN IT SETS UP TO TEST THE COMPLIMENT, ELSE IT ;SETS UP FOR THE FINAL FOUR TESTS ; DONE2: MOV L,E MOV H,D SPHL LXI H,0FFFEH LDAX D CPI 2 JZ STORR MOV L,E MOV H,D LXI D,0AA55H ; ; ; ;"STOAL" STORES THE TWO BYTES IN THE D&E REGISTERS (AA HEX AND 55 HEX) ;THROUGHOUT THE TEST AREA ; STOAL: MOV M,D INX H MOV M,E INX H MOV A,C SUB L MOV A,B SBB H JNZ STOAL LXI H,0 DAD SP ; ; ; ;"CHKAL" TEST TO SEE IF THE DATA STORED THROUGHOUT MEMORY IS THE ;SAME AS THE D&E REGISTERS ; CHKAL: MOV A,D MOV D,E MOV E,A CMP M JNZ ERROR INX H MOV A,C SUB L MOV A,B SBB H JNZ CHKAL ; ; ; ;THIS ROUTINE FINDS OUT WHICH PASS THE TEST IS ON, ;AND THEN SETS UP TO DO THE NEXT TEST ; LXI H,0 DAD SP LXI D,055AAH MOV A,M CPI 0AAH JZ STOAL LXI D,0FFFFH CPI 055H JZ STOAL LXI D,0 INR A JZ STOAL LHLD MTEST ;GO DO NEXT MEMORY TEST,WERE DONE HERE PCHL ; ; ; ;THIS ROUTINE PRINTS OUT WHAT IS POINTED TO IN MEMORY BY ;THE B&C REGISTERS UNTIL A ZERO BYTE IS FOUND. ; MSGOUT: LDAX B ANA A JNZ AR1 ;CHECKS FOR '0' END OF MESSAGE FLAG PCHL AR1: IN CCTRL ANI CTRDY JZ AR1 ;CHECK IF CONSOLE READY LDAX B OUT CDATA INX B ;OUTPUT CHARACTER JMP MSGOUT ; ; ; ;THE "ERROR" ROUTINE PRINTS OUT THAT THERE HAS BEEN AN ERROR AT ;THE ADDRESS IN THE H&L REGISTERS.IT THEN TELLS THAT THE TEST ;BYTE IS THE BYTE IN THE ACCUMULATOR AND THE ERROR BYTE IS THE ;BYTE POINTED TO BY THE H&L REGISTERS.FINALLY IT PRINTS OUT THE ;BITS THAT ARE IN DISAGREEMENT IN THE TWO BYTES. ; ERROR: SPHL MVI A,0FFH ;SET ERROR FLAG STA ERFLG LDA ERCNT ;DONE SHOWING 8 ERRORS? DCR A JZ ER9 STA ERCNT LXI H,ER1 MOV D,A LXI B,MRER1 ;OUTPUT "ERROR AT ADDRESS=" TO CONSOLE JMP MSGOUT ; ER1: LXI H,0 DAD SP MOV B,D XCHG LXI H,ER2 JMP OUTER ; ER2: MOV D,E LXI H,ER3 JMP OUTER ; ER3: MOV D,B LXI B,MER10 ;OUTPUT "PATTERN STORED=" TO CONSOLE LXI H,ER4 JMP MSGOUT ; ER4: LXI H,ER5 JMP OUTER ; ER5: LXI B,MER11 ;OUTPUT "PATTERN READ=" TO CONSOLE LXI H,ER6 JMP MSGOUT ; ER6: LXI H,0 DAD SP MOV E,D MOV D,M LXI H,ER7 JMP OUTER ; ER7: LXI B,MER12 ;OUTPUT "BITS IN ERROR=" TO CONSOLE LXI H,ER8 JMP MSGOUT ; ER8: MVI D,0 MVI B,1 LXI H,0 DAD SP MOV A,E XRA M MOV E,A ; LOP: INR D MOV A,E RAR MOV E,A JNC NOERR ; DCR B JZ LOPE LUPE: IN CCTRL ANI CTRDY JZ LUPE MVI A,',' OUT CDATA LOPE: IN CCTRL ANI CTRDY JZ LOPE MOV A,D ADI 2FH OUT CDATA NOERR: MOV A,D CPI 8 JNZ LOP ER9: LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LHLD MTEST ;RETURN PCHL ; ; ; OUTER: IN CCTRL ANI CTRDY JZ OUTER MOV A,D RLC RLC RLC RLC ANI 0FH CPI 0AH JC OUTR1 ADI 7 OUTR1: ADI '0' OUT CDATA OUTR2: IN CCTRL ANI CTRDY JZ OUTR2 MOV A,D ANI 0FH CPI 0AH JC OUTR3 ADI 7 OUTR3: ADI '0' OUT CDATA PCHL ; ; ; ; ; ; ;ROUTINE TO SHOW THE "DROP LIST" TO THE OPERATOR ; CDROP: LDA DROPC ;GET THE DROP COUNT ORA A ;DID WE LOSE ANYBODY? JNZ PDROP LXI H,NDMSG ;OUTPUT "NO MEMORY BLOCKS DROPPED" TO CONSOLE CALL MSG RET PDROP: LXI H,DROP ;POINT TO START OF THE DROP LIST EDROP: PUSH PSW ;SAVE THE DROP COUNT PUSH H ;SAVE THE DROP POINTER LXI H,DMMSG ;OUTPUT "DROPPED MEMORY BLOCK(S)=" TO CONSOLE CALL MSG POP H ;GET THE DROP POINTER BACK MOV E,M INX H MOV D,M INX H ;WERE NOW POINTING TO THE NEXT DROP LIST SLOT XCHG ;GET THE ADDRESS OF THE DROPPED MEMORY BLOCK CALL HLOUT XCHG ;SWAP'EM POP PSW ;GET THE DROP COUNT DCR A ;DE-BUMP IT JNZ EDROP ;DO THEM ALL RET ; ; ; ;"SELECT" MODE ROUTINE (OPERATOR DEFINES ADDRESS RANGE,PATTERN,AND TEST) ; SELCT: MVI A,0FFH ;SET ERROR DISPLAY COUNT TO 256 STA ERCNT LXI H,SELCT ;MAKE A RETURN ADDRESS FOR END OF TEST SHLD MTEST MENU: LXI H,DFMSG ;OUTPUT "TEST "ALL","SELECT",OR "MONITOR" (Y OR N)?" ; TO CONSOLE CALL MSG CALL CECHO ;GET THE ANSWER CPI 'A' ;"ALL" CHOSEN? JZ ALL CPI 'S' ;"SELECT" CHOSEN? JZ SEL CPI 'M' ;"MONITOR" CHOSEN? JZ MNTR JMP MENU ;OOPS...NONE OF THE ABOVE,TRY AGAIN ALL: LXI H,01000H ;SET MEMORY "BOTTOM" SHLD MBOT LXI H,0C000H ;SET MEMORY "TOP" SHLD MTOP JMP SEL1 ;TEST "ALL"..... SEL: LXI H,LMMSG ;OUTPUT "LOW MEMORY ADDRESS=" TO CONSOLE CALL MSG CALL PARAM ;GET IT FROM OPERATOR MOV A,H ;IS THE REQUESTED ADDRESS <1000 HEX? CPI 010H JNC SEL0 LXI H,NAMSG ;OOPS...NOT ALLOWED,OUTPUT "INVALID ; MEMORY ADDRESS" TO CONSOLE CALL MSG JMP SEL ;GIVE'M ANOTHER CHANCE SEL0: SHLD MBOT ;SAVE IT AS MEMORY "BOTTOM" ADDRESS LXI H,HMMSG ;OUTPUT "HIGH MEMORY ADDRESS=" TO CONSOLE CALL MSG CALL PARAM ;GET IT FROM OPERATOR XCHG ;SWAP TO D&E REGS. MOV A,D ;GET THE HIGH BYTE OF "TOP" MEMORY ADDRESS LHLD MBOT ;GET MEMORY "BOTTOM" ADDRESS CMP H ;IS THE TOP < BOTTOM? JNC STOTOP ;IF NOT,STORE THE "TOP" FOR SAFE KEEPING LXI H,NAMSG ;ARE YOU POSSIBLY ATTEMPTING TO TRY MY PATIENCE? CALL MSG JMP SELCT ;TRY AGAIN,AND AGAIN,AND AGAIN,AND....... STOTOP: XCHG ;GET THE "TOP" BACK TO H&L REGS. INX H ;GO ONE PAST THE END,AND SAVE IT SHLD MTOP SEL1: LXI H,OPMSG ;OUTPUT "TEST OPTIONS ARE:" TO CONSOLE CALL MSG LXI H,TMSG1 ;OUTPUT " 01-GALLOPING PATTERNS TEST" TO CONSOLE CALL MSG LXI H,TMSG2 ;OUTPUT " 02-GALLOPING COLUMNS TEST" TO CONSOLE CALL MSG LXI H,TMSG3 ;OUTPUT " 03-WALKING PATTERNS TEST" TO CONSOLE CALL MSG LXI H,TMSG4 ;OUTPUT " 04-RANDOM PATTERNS TEST" TO CONSOLE CALL MSG LXI H,TMSG5 ;OUTPUT " 05-WRITE SATURATION TEST" TO CONSOLE CALL MSG LXI H,TMSG6 ;OUTPUT " 06-STATIC CHECK CYCLE TEST" TO CONSOLE CALL MSG LXI H,TMSGN ;OUTPUT " ENTER TEST NUMBER(01,02,03,04,05 OR 06)=" CALL MSG CALL CONI ;GET THE ANSWER CPI 000H ;HMMMM....DID HE PICK 00 HEX? JZ SEL1 ;IF SO,START HIM ALL OVER AGAIN CPI 007H ;TEST NUMBER SELECTED >6? JNC SEL1 ;IF YES,GIVE THE JERK ANOTHER CHANCE MOV B,A ;SAVE THE TEST NUMBER IN B REG. LXI H,EPMSG ;OUTPUT "ENTER PATTERN(00-FF)=" TO CONSOLE CALL MSG CALL CONI ;GET THE REQUESTED PATTERN MOV C,A ;SAVE IT IN C REG. PUSH B ;EXILE THE TEST NUMBER LXI H,TPMSG ;OUTPUT " TEST IS IN PROGRESS" TO CONSOLE CALL MSG POP B ;FROM WHENCE THY CAME... LXI D,SELCT ;GO BACK TO "SELECT MODE" AFTER TEST COMPLETION PUSH D DCR B ;ADJUST THE TEST NUMBER FOR THE TABLE JUMP MOV A,B RLC ADD B MOV E,A MVI D,000H ;MAKE A 16 BIT INDEX LXI H,BTAB ;GET THE TABLE BASE MOV A,C ;GET BACK THE SAVED PATTERN DAD D ;GET H&L REGS. TO EQUAL THE ADRESS OF THE JUMP PCHL ;GO FOR IT BTAB: JMP GALPT ;GO DO "GALLOPING PATTERNS TEST" JMP GALCL ;GO DO "GALLOPING COLUMNS TEST" JMP WALKT ;GO DO "WALKING PATTERNS TEST" JMP RNDSL ;GO DO "RANDOM PATTERNS TEST" JMP WSATT ;GO DO "WRITE SATURATION TEST" JMP STATT ;GO DO "STATIC CHECK CYCLE TEST" RET ;THIS SHOULD'NT GET USED ; ; ; ;SUBROUTINE TO INDICATE RETENTION ERROR (GALLOPING PATTERN BAD AFTER 1 MINUTE) ; RFERR: CMA ;MAKE ERROR FLAG NON-ZERO STA ERFLG CMA PUSH H ;SAVE ERROR BYTE ADDRESS LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LDA ERCNT ;DONE DISPLAYING ALL ERRORS? DCR A JZ RFX STA ERCNT LXI H,REMSG ;OUTPUT " RETENTION ERROR AT ADDRESS=" CALL MSG POP H ;GET THE ERROR BYTE ADDRESS CALL HLOUT PUSH H ;SAVE ERROR BYTE ADDRESS FOR EXIT CALL MSG LXI H,EXMSG ;OUTPUT "EXPECTED "00" DATA,READ BACK " TO CONSOLE CALL MSG POP H ;RESTORE POINTER TO BAD BYTE ADDRESS, ; BUT DON'T CHANGE THE STACK PUSH H MOV A,M ;GET THE BAD BYTE CALL BYTEO ;SHOW IT CALL CRLF RFX: POP H ;GET THE ERROR ADDRESS BACK FOR EXIT RET ;EXIT,AND CONTINUE TESTING ; ; ; ;SUBROUTINE TO INDICATE ERROR IN WALKING PATTERN ; PTERR: PUSH H ;SAVE BAD BYTE ADDRESS LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LDA ERCNT ;DONE DISPLAYING ERRORS? DCR A JZ PTX STA ERCNT LXI H,MRER1 ;OUTPUT " ERROR AT ADDRESS=" TO CONSOLE CALL MSG POP H ;GET THE BAD BYTE ADDRESS ,BUT DON'T ;CHANGE THE STACK PUSH H CALL HLOUT LXI H,MRER2 ;OUTPUT " READ BACK " TO CONSOLE CALL MSG POP H ;GET THAT ADDRESS AGAIN PUSH H MOV A,M ;GET THE ERROR BYTE CALL BYTEO ;SHOW IT LXI H,MRER3 ;OUTPUT " , EXPECTED " TO CONSOLE CALL MSG LDA ERPAT ;GET THE "GOOD" DATA BYTE CALL BYTEO ;SHOW IT ALSO LXI H,MRER4 ;OUTPUT "LAST ADDRESS WRITTEN WAS" TO CONSOLE CALL MSG LHLD LASTW ;GET THE LAST ADDRESS WRITTEN CALL HLOUT LXI H,MRER5 ;OUTPUT " PATTERN WAS " TO CONSOLE SATX: CALL MSG LDA TPATT ;GET THE TEST PATTERN AND OUTPUT IT TO CONSOLE CALL BYTEO CALL CRLF ;KEEP IT NEAT MVI A,0FFH ;SET THE ERROR FLAG STA ERFLG CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT PTX: POP H ;RESTORE THE "BAD" ADDRESS RET ;CONTINUE TESTING ; ; ; ;SUBROUTINE TO HANDLE ERRORS IN "GALLOPING PATTERN/COLUMN TESTS ; ERR1: PUSH H LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LDA ERCNT ;DONE DISPLAYING ERRORS? DCR A JZ COMEX STA ERCNT LXI H,MRER6 ;OUTPUT "ERROR READING OTHER CELL" TO CONSOLE CALL MSG POP H JMP COMER ;GO TO COMMON ERROR PROCESSING ; ; ; ERR2: PUSH H LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LDA ERCNT ;DONE DISPLAYING ERRORS? DCR A JZ COMEX STA ERCNT LXI H,MRER7 ;OUTPUT "ERROR READING TEST CELL" TO CONSOLE CALL MSG POP H COMER: PUSH H ;PROTECT THE INNOCENT PUSH D PUSH B PUSH PSW PUSH H LHLD ECTR ;UPDATE THE ERROR COUNTER INX H SHLD ECTR LXI H,MRER8 ;OUTPUT "TEST CELL=" TO CONSOLE CALL MSG POP H PUSH H XCHG CALL HLOUT XCHG POP H PUSH H LXI H,MRER9 ;OUTPUT ", OTHER CELL=" TO CONSOLE CALL MSG POP H CALL HLOUT PUSH H LXI H,MER10 ;OUTPUT "PATTERN STORED=" TO CONSOLE CALL MSG POP H ;BLOW-AWAY H&L REGS. TO ADJUST THE STACK MOV A,B CALL BYTEO ;SHOW IT LXI H,MER11 ;OUTPUT "PATTERN READ=" TO CONSOLE CALL MSG LDA TPATT CALL BYTEO ;SHOW IT ALSO CALL CRLF ;KEEP IT NEAT MVI A,0FFH ;SET THE ERROR FLAG STA ERFLG POP PSW ;EVERYBODY BACK FROM EXILE POP B POP D COMEX: POP H RET ; ; ; LOOP1: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT LXI D,10000 LOOP2: DCX D MOV A,D ORA E JNZ LOOP2 DCX B MOV A,B ORA C JNZ LOOP1 RET ; ; ; ;ROUTINES FOR MEMORY TEST ; GALPT: MOV B,A ;SAVE THE PATTERN CALL BAKPT ;WRITE THE "BACKGROUND" PATTERN GALST: LHLD MBOT ;GET THE TEST CELL ADDRESS XCHG ;SWAP FOR MEMORY TOP INTO H&L REGS. PNCEL: PUSH D ;SAVE TEST CELL ADDRESS LHLD MBOT ;GET ADDRESS OF OTHER CELL LDAX D ;GET CONTENTS OF TEST CELL CMA ;FLIP IT OVER STAX D ;STORE IT BACK GPLOP: CALL KBINT ;CHECK KEY-BOARD INTERRUPT POP D ;GET BACK ADDRESS OF TEST CELL PUSH D CALL COMP ;SEE IF TEST ADDRESS EQUALS OTHER ADDRESS JZ SKIP ;IF YES,SKIP TESTING MOV A,M ;GET THE OTHER CELL STA TPATT ;SAVE IT JUST IN CASE IT'S WRONG CMP B ;EQUAL TO PATTERN? LDAX D ;READ BACK THE TEST CELL CNZ ERR1 ;OOPS....REPORT THE ERROR CMA ;BACK TO ORIGINAL STATE......... STA TPATT ;SAVE IT CMP B ;STILL EQUAL TO PATTERN? CNZ ERR2 ;OOPS....WRONG HERE ALSO SKIP: INX H ;BUMP THE OTHER ADDRESS XCHG ;MEMORY TO D&E REGS. LHLD MTOP XCHG CALL COMP ;AT TOP OF MEMORY BLOCK? JNZ GPLOP ;IF NOT,CONTINUE "GALLOPING PATTERN" LOOP POP D ;WHOOPIE...TOP OF MEMORY BLOCK,GET BACK TEST ADDRESS LDAX D ;GET THE TEST CELL CMA ;BACK TO ORIGINAL,AND SAVE IT STAX D INX D ;BUMP FOR NEXT TEST ADDRESS CALL COMP ;TOP OF BLOCK YET? JNZ PNCEL ;IF NOT,GET THE NEXT CELL FOR TEST RET ; ; ; GALCL: MOV B,A ;SAVE THE PATTERN CALL BAKPT ;WRITE BACKGROUND LHLD MBOT CNCEL: PUSH H ;SAVE TEST CELL ADDRESS MOV A,M ;GET CONTENTS OF TEST CELL CMA ;FLIP IT MOV M,A ;CRAM IT BACK CLOOP: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT MVI E,64 ;GOLLY,A DECIMAL NUMBER MVI D,000H ;SCRUB D REG. DAD D XCHG ;NOW D&E REGS. EQUAL H&L REGS.+64 LHLD MTOP CALL COMP XCHG JM CINCR ;BUMP THE TEST CELL ADDRESS IF < MEMORY TOP ADDRESS JZ CINCR POP D ;GET AND SAVE THE TEST CELL PUSH D LDAX D CMA ;FLIP IT STA TPATT ;SAVE IT IN CASE IT'S WRONG CMP B ;EQUAL TO,PATTERN? CNZ ERR1 ;IF NOT,REPORT ERROR MOV A,M ;TEST OTHER CELL STA TPATT ;SAVE IT CMP B ;EQUAL TO PATTERN? CNZ ERR2 ;IF NOT,REPORT ERROR JMP CLOOP ;TRY NEXT OTHER CELL CINCR: POP H ;GET TEST CELL ADDRESS MOV A,M ;GET CONTENTS CMA ;FLIP BACK TO ORIGINAL MOV M,A ;RESAVE CALL INC64 ;BUMP TEST ADDRESS MODULO 64 MOV A,M ;EQUAL TO PATTERN? STA TPATT ;SAVE IT IN CASE IT'S WRONG CMP B CNZ ERR1 CALL INC64 MOV A,M STA TPATT CMP B CNZ ERR1 CALL INC64 ANI 63 RZ ;RETURN IF WRAPPED AROUND TO START ADDRESS JMP CNCEL ; ; ; WALKT: CALL BAKPT ;WRITE FULL BACKGROUND PATTERN LHLD MBOT ;POINT TO FIRST BYTE OF BLOCK ADDRESS PUSH H ;SAVE FOR INSTANT RESET CMA ;FLIP BACKGROUND PATTERN FOR TEST PATTERN STA TPATT ;SAVE IT WPAT: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT LDA TPATT ;GET THE TEST PATTERN MOV M,A ;STUFF PATTERN INTO MEMORY PUSH H ;SAVE "LAST WRITTEN" ADDRESS SHLD LASTW INX H CMA ;FLIP TO BACKGROUND PATTERN CPAT1: CALL COMP ;TEST BACKGROUND PATTERN FROM "LAST WRITTEN+1", ; TO "END OF BLOCK" ;TESTED ALL REMAINING BACKGROUND? JZ WKSET ;IF YES,GO TEST PATTERN BYTES CMP M ;NO...TEST BACKGROUND BYTE CNZ PTERR ;IF BAD BYTE,REPORT ERROR INX H ;BUMP THE POINTER JMP CPAT1 ;GO FOR MORE WKSET: XCHG ;SET-UP FOR NEXT SECTION,H&L REGS. EQUAL ; LAST ADDRESS IN BLOCK+1 POP D ;D&E REGS. EQUAL "LAST WRITTEN" ADDRESS XTHL ;H&L REGS. EQUAL FIRST ADDRESS IN BLOCK PUSH D ;JAM-ON "LAST WRITTEN" TO STACK CMA ;GET TEST PATTERN BACK CPAT2: CMP M ;TEST PATTERN BYTES FROM START OF BLOCK, ; TO "LAST WRITTEN" CNZ PTERR ;ERROR IN "WALKED" BYTE? CALL COMP ;NO,THEN ARE WE DONE? INX H JNZ CPAT2 ;GO FOR MORE IF NOT DONE YET POP H ;SET-UP FOR NEXT PATTERN BYTE,H&L REGS. EQUAL ; "LAST WRITTEN" ADDRESS POP D ;D&E REGS. EQUAL LAST ADDRESS IN BLOCK+1 INX H ;BUMP FOR NEXT ADDRESS TO WRITE CALL COMP ;DONE THE WHOLE THING? RZ PUSH H ;NO,PUT A COPY OF MEMORY BOTTOM ON THE STACK LHLD MBOT XTHL JMP WPAT ;GO DO SOME MORE ; ; ; ;SUBROUTINE TO GENERATE BACKGROUND PATTERN AS CONTAINED IN A REG. ; BAKPT: LHLD MTOP XCHG LHLD MBOT ;TOP'S IN D&E REGS.,BOTTOM'S IN H&L REGS. BAKGR: CALL COMP ;WE DONE? RZ MOV M,A ;STORE THE BACKGROUND PATTERN INX H ;BUMP FOR NEXT ADDRESS JMP BAKGR ;GO DO MORE 'TILL WE HIT TOP ; ; ; ;SUBROUTINE TO INCREMENT H&L REGS. MODULO 64 ; INC64: INX H ;TEST FOR WRAP-AROUND MOV A,L ANI 63 RNZ MOV A,L SUI 64 MOV L,A RNC DCR H ;BORROW IF NEEDED RET ; ; ; ;SUBROUTINE TO COMPARE H&L REGS. TO D&E REGS. FOR BLOCK COMPLETION ; COMP: PUSH B MOV B,A MOV A,H SUB D JNZ COMP1 MOV A,L SUB E COMP1: MOV A,B POP B RET ; ; ; ;STORAGE FOR VARIABLES AND STACK POINTERS ; DS 16 ;16 BYTE STACK POINTER STORAGE AREA STACK: DS 000H ERPAT: DS 1 ;STORAGE FOR ERROR PATTERN ERFLG: DS 1 ;STORAGE FOR BLOCK ERROR FLAG DROPC: DS 1 ;STORAGE FOR NUMBER OF "DROPPED" BLOCKS DROP: DS 28 ;DROP BUFFER DROPP: DS 2 ;POINTER TO NEXT FREE SLOT IN DROP LIST MBUF: DS 15 ;MEMORY BLOCK BUFFER DB 080H ;TERMINATOR FOR MEMORY BLOCK BUFFER POINTER MEMPT: DS 2 ;STORAGE FOR MEMORY BUFFER POINTER BLKST: DS 2 ;STORAGE FOR MEMORY BLOCK START ADDRESS MEND: DS 2 ;STORAGE FOR MEMORY BLOCK END ADDRESS MBOT: DS 2 ;STORAGE FOR 256 "CHUNK" START ADDRESS MTOP: DS 2 ;STORAGE FOR 256 "CHUNK" END ADDRESS TPATT: DS 1 ;STORAGE FOR LAST PATTERN WRITTEN LASTW: DS 2 ;STORAGE FOR LAST ADDRESS WRITTEN MTEST: DS 2 ;STORAGE FOR MEMORY TEST POINTER AUTOR: DS 2 ;STORAGE FOR "AUTO1" RETURN ADDRESS FOR LOOPING PCTR: DS 2 ;STORAGE FOR "PASS" COUNTER ECTR: DS 2 ;STORAGE FOR "ERROR" COUNTER ERCNT: DS 1 ;STORAGE FOR ERROR DISPLAY COUNTER ; ; ; END ND: DS 2 ;STORAGE FOR MEMORY BLOCK END ADDRESS MBOT: DS 2 ;STORAGE FOR 256 "CHUNK" START ADDRESS MTOP: DS 2 ;STORAGE FOR 256 "CHUNK" END ADDRESS TPATT: DS 1 ;STORAGE FOR LAST PATTERN WRITTEN LASTW: DS 2 ;STORAGE FOR LAST ADDRESS WRITTEN MTEST: DS 2 ;S ;*********************************************************************** ; MICROCOSM ASSOCIATES "SUPER MEMORY DIAGNOSTIC" VERSION 1.01 (C) 1979 ;*********************************************************************** ; ;DONATED TO THE "SIG/M" CP/M USER'S GROUP BY: ;KELLY SMITH, MICROCOSM ASSOCIATES ;3055 WACO AVENUE ;SIMI VALLEY, CALIFORNIA, 93065 ;(805) 527-9321 (MODEM, CP/M-NET (TM)) ;(805) 527-0518 (VERBAL) ; ; ; 0100 ORG 0100H ; ; ; 0100 F3 DI ;DISABLE INTERRUPTS 0101 31B80E LXI SP,STACK ;SET THE STACK POINTER 0104 C36401 JMP INIT ;INITIALIZE ; ; ; ; ; ; ;DEFINE CONSOLE I/O PARAMETERS FOR ALTAIR 2SI/O BOARD ; 0010 = CCTRL EQU 010H ;CONSOLE COMMAND/STATUS PORT 0011 = CDATA EQU 011H ;CONSOLE DATA PORT 0001 = CRRDY EQU 001H ;RECEIVER READY BIT 0002 = CTRDY EQU 002H ;TRANSMITTER READY BIT ; ; ; ;SUBROUTINE TO CONVERT TWO HEX CHARACTERS TO ONE BYTE ; 0107 D630 NBL: SUI '0' 0109 D8 RC 010A C6E9 ADI 0E9H 010C D8 RC 010D C606 ADI 6 010F F21501 JP NIO 0112 C607 ADI 7 0114 D8 RC 0115 C60A NIO: ADI 10 0117 B7 ORA A 0118 C9 RET ; ; ; ;SUBROUTINE TO CONVERT A BYTE TO TWO HEX CHARACTERS ; 0119 F5 LBYTE: PUSH PSW 011A 0F RRC 011B 0F RRC 011C 0F RRC 011D 0F RRC 011E E60F ANI 0FH 0120 CD2901 CALL HXDA 0123 F1 POP PSW 0124 E60F ANI 0FH 0126 C32901 JMP HXDA ; ; ; 0129 FE0A HXDA: CPI 10 012B FA3001 JM CNO 012E C607 ADI 7 0130 C630 CNO: ADI 30H 0132 4F MOV C,A 0133 C35901 JMP CO ; ; ; ;CONSOLE INPUT ROUTINE ; 0136 DB10 CI: IN CCTRL 0138 E601 ANI CRRDY 013A CA3601 JZ CI 013D DB11 IN CDATA 013F E67F ANI 7FH 0141 C9 RET ; ; ; 0142 0E0D CRLF: MVI C,0DH 0144 CD5901 CALL CO 0147 0E0A MVI C,0AH 0149 C35901 JMP CO ; ; ; 014C CD2302 CONO: CALL BYTEO 014F CD4201 CALL CRLF 0152 C9 RET ; ; ; 0153 C5 CONI: PUSH B 0154 CD0902 CALL BYTEC 0157 C1 POP B 0158 C9 RET ; ; ; ;CONSOLE OUTPUT ROUTINE ; 0159 DB10 CO: IN CCTRL 015B E602 ANI CTRDY 015D CA5901 JZ CO 0160 79 MOV A,C 0161 D311 OUT CDATA 0163 C9 RET ; ; ; 0164 210010 INIT: LXI H,01000H ;SET DELAY COUNT FOR 6850 SETTLE TIME 0167 2B DELAY: DCX H 0168 7C MOV A,H 0169 B5 ORA L 016A C26701 JNZ DELAY 016D 3E03 MVI A,003H ;RESET 6850 ACIA 016F D310 OUT CCTRL 0171 3E15 MVI A,015H 0173 D310 OUT CCTRL 0175 21C202 LXI H,MSGN 0178 CD5407 CALL MSG 017B 212403 TOP: LXI H,MSG7 ;OUTPUT "TOP OF MEMORY=" TO CONSOLE 017E CD5407 CALL MSG 0181 21FF0F LXI H,00FFFH ;SET BASE ADDRESS OF TEST RAM -1 0184 23 FIND: INX H ;EXAMINE EACH BYTE 0185 7E MOV A,M 0186 2F CMA 0187 77 MOV M,A 0188 BE CMP M 0189 CA8401 JZ FIND 018C 2B DCX H 018D CD4602 CALL HLOUT 0190 213603 LXI H,QTMSG ;OUTPUT "MEMORY QUALIFICATION TEST ; IS IN PROGRESS" TO CONSOLE 0193 CD5407 CALL MSG 0196 210010 LXI H,01000H ;SET MEMORY "BOTTOM" ADDRESS 0199 22EF0E SHLD MBOT 019C 2100C0 LXI H,0C000H ;SET MEMORY "TOP" ADDRESS 019F 22F10E SHLD MTOP 01A2 21AB01 LXI H,TEST ;SAVE "FUNKY RETURN" ADDRESS 01A5 22F60E SHLD MTEST 01A8 C39F09 JMP RNDSL ;GO DO RANDOM PATTERNS TEST ON 16K BYTE MEMORY 01AB 31B80E TEST: LXI SP,STACK ;RE-SET THE STACK 01AE C36407 JMP MEMTS ; ; ; 01B1 31B80E MNTR: LXI SP,STACK 01B4 CD4201 CALL CRLF 01B7 0E2D MVI C,'-' ;OUTPUT PROMPT (- CHARACTER) 01B9 CD5901 CALL CO 01BC CDD901 CALL CECHO ;ECHO KEY-BOARD INPUT OUT TO CONSOLE 01BF FE4D CPI 'M' 01C1 CA6102 JZ MEM ;JUMP TO MEMORY DISPLAY/ALTER,IF "M" 01C4 FE47 CPI 'G' 01C6 CAE101 JZ GO ;JUMP TO GO TO MEMORY ADDRESS,IF "G" 01C9 FE54 CPI 'T' 01CB CA6407 JZ MEMTS ;JUMP TO MEMORY TEST START,IF "T" 01CE CD4201 LER: CALL CRLF ;KEEP IT NEAT 01D1 0E3F MVI C,'?' ;LINE INPUT ERROR,OUTPUT "?" TO CONSOLE 01D3 CD5901 CALL CO 01D6 C3B101 JMP MNTR ; ; ; 01D9 CD3601 CECHO: CALL CI 01DC 4F MOV C,A 01DD CD5901 CALL CO 01E0 C9 RET ; ; ; 01E1 211903 GO: LXI H,MSG2 ;OUTPUT "GO ADDRESS=" TO CONSOLE 01E4 CD5407 CALL MSG 01E7 CDEE01 CALL PARAM 01EA CD4201 CALL CRLF 01ED E9 PCHL ; ; ; 01EE 210000 PARAM: LXI H,0 01F1 CDD901 PARM1: CALL CECHO 01F4 FE0D CPI 0DH 01F6 C8 RZ 01F7 29 DAD H 01F8 29 DAD H 01F9 29 DAD H 01FA 29 DAD H 01FB DACE01 JC LER 01FE CD0701 CALL NBL 0201 DACE01 JC LER 0204 B5 ORA L 0205 6F MOV L,A 0206 C3F101 JMP PARM1 ; ; ; 0209 CDD901 BYTEC: CALL CECHO 020C CD0701 BYTC1: CALL NBL 020F DACE01 JC LER 0212 07 RLC 0213 07 RLC 0214 07 RLC 0215 07 RLC 0216 F5 PUSH PSW 0217 CDD901 CALL CECHO 021A CD0701 CALL NBL 021D DACE01 JC LER 0220 C1 POP B 0221 B0 ORA B 0222 C9 RET ; ; ; 0223 F5 BYTEO: PUSH PSW 0224 CD3302 CALL BYTO1 0227 4F MOV C,A 0228 CD5901 CALL CO 022B F1 POP PSW 022C CD3702 CALL BYTO2 022F 4F MOV C,A 0230 C35901 JMP CO 0233 0F BYTO1: RRC 0234 0F RRC 0235 0F RRC 0236 0F RRC 0237 E60F BYTO2: ANI 0FH 0239 FE0A CPI 0AH 023B FA4002 JM BYTO3 023E C607 ADI 7 0240 C630 BYTO3: ADI 30H 0242 C9 RET ; ; ; 0243 CD4201 HLCO: CALL CRLF 0246 7C HLOUT: MOV A,H 0247 CD2302 CALL BYTEO 024A 7D MOV A,L 024B CD2302 CALL BYTEO 024E C9 RET ; ; ; 024F CD4302 DSPYM: CALL HLCO 0252 0E3D MVI C,'=' 0254 CD5901 CALL CO 0257 7E MOV A,M 0258 CD2302 CALL BYTEO 025B 0E20 MVI C,20H 025D CD5901 CALL CO 0260 C9 RET ; ; ; 0261 210A03 MEM: LXI H,MSG1 ;OUTPUT "MEMORY ADDRESS=" TO CONSOLE 0264 CD5407 CALL MSG 0267 CDEE01 CALL PARAM 026A CD4F02 MEM1: CALL DSPYM 026D CDD901 CALL CECHO 0270 FE0D CPI 00DH 0272 CAB101 JZ MNTR 0275 FE20 CPI 020H 0277 CA9102 JZ MEM9 027A FE5E CPI 05EH 027C CA9502 JZ MEM10 027F CD0C02 CALL BYTC1 0282 77 MOV M,A 0283 BE CMP M 0284 CA9102 JZ MEM9 02:10010000F331B80EC36401D630D8C6E9D8C606F2BA :100110001501C607D8C60AB7C9F50F0F0F0FE60FAE :10012000CD2901F1E60FC32901FE0AFA3001C60705 :10013000C6304FC35901DB10E601CA3601DB11E6B8 :100140007FC90E0DCD59010E0AC35901CD2302CD31 :100150004201C9C5CD0902C1C9DB10E602CA590175 :1001600079D311C92100102B7CB5C267013E03D39E :10017000103E15D31021C202CD5407212403CD54C3 :100180000721FF0F237E2F77BECA84012BCD4602A5 :10019000213603CD540721001022EF0E2100C0228A :1001A000F10E21AB0122F60EC39F0931B80EC364D4 :1001B0000731B80ECD42010E2DCD5901CDD901FE2A :1001C0004DCA6102FE47CAE101FE54CA6407CD422E :1001D000010E3FCD5901C3B101CD36014FCD5901BB :1001E000C9211903CD5407CDEE01CD4201E921000B :1001F00000CDD901FE0DC829292929DACE01CD0764 :1002000001DACE01B56FC3F101CDD901CD0701DA15 :10021000CE0107070707F5CDD901CD0701DACE01D9 :10022000C1B0C9F5CD33024FCD5901F1CD37024FE1 :10023000C359010F0F0F0FE60FFE0AFA4002C6075F :10024000C630C9CD42017CCD23027DCD2302C9CD6C :1002500043020E3DCD59017ECD23020E20CD590122 :10026000C9210A03CD5407CDEE01CD4F02CDD901EE :10027000FE0DCAB101FE20CA9102FE5ECA9502CDF2 :100280000C0277BECA91020E20CD59010E45CD5900 :100290000123C36A022BC36A02DB10E601C8DB112B :1002A000E67FFE20CAB101C90E20CD59010E20CD36 :1002B00059010E20CD59010E20CD59010E20CD59E6 :1002C00001C9470D0A4D4943524F434F534D2041F9 :1002D00053534F434941544553202253555045529F :1002E000204D454D4F525920444941474E4F53549C :1002F0004943222056455253494F4E20312E30312A :10030000202028432920313937390E454D4F525985 :1003100020414444524553533D0A4F2041444452E6 :100320004553533D110D0A0A544F50204F46204D5E :10033000454D4F52593D2B0D0A0A4D454D4F5259CF :10034000205155414C494649434154494F4E205450 :1003500045535420495320494E2050524F4752454F :100360005353270D0A0A54455354204D454D4F52BF :100370005920494E20224155544F22204D4F44458B :10038000202859204F52204E293F2F0D0A0A54454C :1003900053542022414C4C222C2253454C4543546B :1003A000222C4F5220224D4F4E49544F522220288A :1003B000412C53204F52204D293F14205445535473 :1003C00020495320494E2050524F47524553531114 :1003D0000D0A0A54455354494E47204D454D4F523E :1003E00059062C46524F4D200420544F20070D0A29 :1003F000504153533D0F2C20544F54414C204552F3 :10040000524F52533D190D0A47414C4C4F50494EE3 :1004100047205041545445524E532054455354198B :100420000D0A53544154494320434845434B20430C :1004300059434C452054455354190D0A43484543EC :100440004B494E47204441544120524554454E5457 :10045000494F4E180D0A47414C4C4F50494E4720CA :10046000434F4C554D4E532054455354160D0A528C :10047000414E444F4D205041545445524E53205408 :10048000455354170D0A575249544520534154556A :10049000524154494F4E2054455354170D0A574169 :1004A0004C4B494E47205041545445524E532054D2 :1004B0004553541B0D0A0A4E4F204D454D4F52597E :1004C00020424C4F434B532044524F505045441B05 :1004D0000D0A0A44524F50504544204D454D4F524D :1004E0005920424C4F434B2853293D160D0A0A4CC4 :1004F0004F57204D454D4F5259204144445245538A :10050000533D160D0A48494748204D454D4F525915 :1005100020414444524553533D180D0A494E56411B :100520004C4944204D454D4F525920414444524579 :100530005353140D0A0A54455354204F5054494FF5 :100540004E53204152453A1E0D0A0D0A30312D47B7 :10055000414C4C4F50494E47205041545445524E07 :100560005320544553541B0D0A30322D47414C4CF7 :100570004F50494E4720434F4C554D4E5320544504 :1005800053541A0D0A30332D57414C4B494E4720D6 :100590005041545445524E532054455354190D0A5A :1005A00030342D52414E444F4D2050415454455209 :1005B0004E5320544553541A0D0A30352D57524985 :1005C00054452053415455524154494F4E205445AF :1005D00053541C0D0A30362D535441544943204383 :1005E0004845434B204359434C4520544553542CD4 :1005F0000D0A0A454E5445522054455354204E5539 :100600004D424552202830312C30322C30332C30A2 :10061000342C3035204F52203036293D180D0A0A2F :10062000454E544552205041545445524E28303086 :100630002D4646293D1D0D0A524554454E54494FFD :100640004E204552524F522041542041444452457D :1006500053533D1F0D0A45585045435445442022ED :1006600030302220444154412C52454144204241E3 :10067000434B20140D0A4552524F52204154204101 :100680004444524553533D000C20205245414420E0 :100690004241434B200B202C455850454354454480 :1006A000201B0D0A4C41535420414444524553539E :1006B000205752495454454E20574153200E202C68 :1006C0005041545445524E20574153201A0D0A456B :1006D00052524F522052454144494E47204F5448B0 :1006E00045522043454C4C190D0A4552524F522059 :1006F00052454144494E4720544553542043454CAC :100700004C0C0D0A544553542043454C4C3D0D2C84 :10071000204F544845522043454C4C3D1220205018 :1007200041545445524E2053544F5245443D0010BD :1007300020205041545445524E20524541443D00E2 :10074000130D0A42495428532920494E204552523C :100750004F523D00F5C546234ECD59012305C258E1 :1007600007C1F1C921000022FA0E22FC0E01D90EA8 :100770001E017B02033E0B1CBBF272073E8002216E :100780006203CD5407CDD901FE59CA9507FE4ECA62 :10079000980BC37F07CD990221BB0E22D70EAF2B3A :1007A000772B7721D90E22E90E3AB90EB7CAC907BD :1007B0002AD70EEB2AEB0EEB7323722322D70E21DE :1007C000BA0E342AE90E2B36003E0932FE0EAF3245 :1007D000B90E2AE90E7E2322E90EB7FAA307CAC989 :1007E00007070707072E006722EB0EC6106722EDEA :1007F0000E21A90722F80E21CF03CD540721E103D2 :10080000CD54072AEB0ECD460221E803CD54072A2A :10081000ED0ECD460221ED03CD54072AFA0E232218 :10082000FA0ECD460221F503CD54072AFC0ECD4623 :1008300002213A0822F60EC3AB0931B80E21830417 :10084000CD54072AEB0E22EF0E2AED0E22F10E06F2 :1008500064AFCDA2083EFFCD800ECD8A0806643E6F :10086000FFCDA208AFCD800ECD8A08C3080906646B :10087000CDA2082FCD800ECD8A083AF30E0664CDA6 :10088000A2082FCD800ECD8A08C92AF10EEB2AEFDF :100890000E4732F30ECD9C0EC87EB8C4B10823C3F8 :1008A0009508F5CD9902F1C5CD800EC105C2A2080B :1008B000C932B80E3EFF32B90EE52AFC0E2322FCE7 :1008C0000E3AFE0E3DCA0A0D32FE0E217306CD54BD :1008D00007E1E5CD4602218806CD54073AB80ECD92 :1008E0002302219506C3F60C3EFFF5CD800E01C410 :1008F00009CD8B0DF1CD8A08AFF5CD800E01C4096D :10090000CD8B0DF1CD8A08C9210504CD54072AEB02 :100910000E22EF0E242E0022F10E3EFFCD9E0DAFD3 :10092000CD9E0D2AED0ECD9C0ECA3009EBC31109E8 :10093000211F04CD540701F401CD8B0D213904CDC5 :1009400054072AED0EEB2AEB0EAFBEC47C0C23CD70 :100950009C0EDA4A09215304CD54072AEB0E22EFEC :100960000E2AED0E22F10E3EFFCDE10DAFCDE10DD1 :10097000219B04CD54072AEB0E22EF0E242E0022D9 :10098000F10E3EFFCD3B0EAFCD3B0E2AED0ECD9CC2 :100990000ECA9809EBC37909CD6F0B2AF80EE92A24 :1009A000F10E444D0B2AEF0EC3BC09216C04CD544B :1009B000072AED0E444D0B0B0B2AEB0E545DF9216B :1009C00001003333E5E1210000397995789CDAECB8 :1009D000093B3BE17D876F7C17673E008D6F7C078D :1009E0000707AD0F0FE601AD6FC3C2096B623E0191 :1009F000BEC2FD093D23BEC2A70AC30C0A3EFEBE0D :100A00003E01C2A70A3D3D23BEC2A70A7E172B7E28 :100A10001777237E1777237995789CDA440A2B7E03 :100A20000707072BAE0F0FE601AE2323BEC2A70AAE :100A3000237995789CDA440A2B2B7E2323BEC2A708 :100A40000AC30C0A6B62F921FEFF1AFE02CAC20930 :100A50006B621155AA722373237995789CC2550A4B :100A6000210000397A535FBEC2A70A237995789C8A :100A7000C2640A2100003911AA557EFEAACA550A8D :100A800011FFFFFE55CA550A1100003CCA550A2A3B :100A9000F60EE90AA7C2990AE9DB10E602CA990A2A :100AA0000AD31103C3930AF93EFF32B90E3AFE0E80 :100AB0003DCA350B32FE0E21C10A57017306C3939E :100AC0000A2100003942EB21CD0AC3400B5321D447 :100AD0000AC3400B50011C0721DE0AC3930A21E41C :100AE0000AC3400B012F0721ED0AC3930A2100001E :100AF000395A5621F90AC3400B01400721020BC3A2 :100B0000930A16000601210000397BAE5F147B1F9B :100B10005FD22F0B05CA230BDB10E602CA180B3E6F :100B20002CD311DB10E602CA230B7AC62FD3117A1D :100B3000FE08C20D0B2AFC0E2322FC0E2AF60EE93B :100B4000DB10E602CA400B7A07070707E60FFE0A2A :100B5000DA550BC607C630D311DB10E602CA590BB3 :100B60007AE60FFE0ADA6A0BC607C630D311E93AF5 :100B7000BA0EB7C27D0B21B304CD5407C921BB0EF9 :100B8000F5E521CF04CD5407E15E235623EBCD4696 :100B900002EBF13DC2800BC93EFF32FE0E21980BE5 :100BA00022F60E218A03CD5407CDD901FE41CABEDB :100BB0000BFE53CACD0BFE4DCAB101C3A30B2100DE :100BC0001022EF0E2100C022F10EC3080C21EB040D :100BD000CD5407CDEE017CFE10D2E50B211905CDD9 :100BE0005407C3CD0B22EF0E210205CD5407CDEEE5 :100BF00001EB7A2AEF0EBCD2030C211905CD540764 :100C0000C3980BEB2322F10E213205CD5407214767 :100C100005CD5407216605CD5407218205CD540723 :100C2000219D05CD540721B705CD540721D205CD0F :100C3000540721EF05CD5407CD5301FE00CA080C1F :100C4000FE07D2080C47211C06CD5407CD53014F97 :100C5000C521BA03CD5407C111980BD5057807807B :187 0E20 MVI C,' ' 0289 CD5901 CALL CO 028C 0E45 MVI C,'E' 028E CD5901 CALL CO 0291 23 MEM9: INX H 0292 C36A02 JMP MEM1 0295 2B MEM10: DCX H 0296 C36A02 JMP MEM1 ; ; ; ;KEY-BOARD INTERRUPT ROUTINE,KEYED WITH "SPACE-BAR" ; 0299 DB10 KBINT: IN CCTRL 029B E601 ANI CRRDY 029D C8 RZ 029E DB11 IN CDATA 02A0 E67F ANI 07FH ;MASK-OFF PARITY BIT 02A2 FE20 CPI 020H ;GOT A "SPACE-BAR"? 02A4 CAB101 JZ MNTR ;GO TO COMMAND MONITOR,IF SO 02A7 C9 RET ; ; ; 02A8 0E20 SP5: MVI C,20H 02AA CD5901 CALL CO 02AD 0E20 SP4: MVI C,20H 02AF CD5901 CALL CO 02B2 0E20 SP3: MVI C,20H 02B4 CD5901 CALL CO 02B7 0E20 SP2: MVI C,20H 02B9 CD5901 CALL CO 02BC 0E20 SP1: MVI C,20H 02BE CD5901 CALL CO 02C1 C9 RET ; ; ; ; ; ; 02C2 470D0A4D49MSGN: DB 71,0DH,0AH,'MICROCOSM ASSOCIATES "SUPER MEMORY DIAGNOSTIC"' 02F3 2056455253 DB ' VERSION 1.01 (C) 1979' ; 030A 0E454D4F52MSG1: DB 14,'EMORY ADDRESS=' ; 0319 0A4F204144MSG2: DB 10,'O ADDRESS=' ; 0324 110D0A0A54MSG7: DB 17,0DH,0AH,0AH,'TOP OF MEMORY=' ; 0336 2B0D0A0A4DQTMSG: DB 43,0DH,0AH,0AH,'MEMORY QUALIFICATION TEST IS IN PROGRESS' ; 0362 270D0A0A54AMMSG: DB 39,0DH,0AH,0AH,'TEST MEMORY IN "AUTO" MODE (Y OR N)?' ; 038A 2F0D0A0A54DFMSG: DB 47,0DH,0AH,0AH,'TEST "ALL","SELECT",OR "MONITOR" (A,S OR M)?' ; 03BA 1420544553TPMSG: DB 20,' TEST IS IN PROGRESS' ; 03CF 110D0A0A54TMSG: DB 17,0DH,0AH,0AH,'TESTING MEMORY' ; 03E1 062C46524FFMSG: DB 6,',FROM ' ; 03E8 0420544F20TOMSG: DB 4,' TO ' ; 03ED 070D0A5041PSMSG: DB 7,0DH,0AH,'PASS=' ; 03F5 0F2C20544FERMSG: DB 15,', TOTAL ERRORS=' ; 0405 190D0A4741PTSG: DB 25,0DH,0AH,'GALLOPING PATTERNS TEST' ; 041F 190D0A5354RFMSG: DB 25,0DH,0AH,'STATIC CHECK CYCLE TEST' ; 0439 190D0A4348CKMSG: DB 25,0DH,0AH,'CHECKING DATA RETENTION' ; 0453 180D0A4741CLMSG: DB 24,0DH,0AH,'GALLOPING COLUMNS TEST' ; 046C 160D0A5241RDMSG: DB 22,0DH,0AH,'RANDOM PATTERNS TEST' ; 0483 170D0A5752SATSG: DB 23,0DH,0AH,'WRITE SATURATION TEST' ; 049B 170D0A5741WMSG: DB 23,0DH,0AH,'WALKING PATTERNS TEST' ; 04B3 1B0D0A0A4ENDMSG: DB 27,0DH,0AH,0AH,'NO MEMORY BLOCKS DROPPED' ; 04CF 1B0D0A0A44DMMSG: DB 27,0DH,0AH,0AH,'DROPPED MEMORY BLOCK(S)=' ; 04EB 160D0A0A4CLMMSG: DB 22,0DH,0AH,0AH,'LOW MEMORY ADDRESS=' ; 0502 160D0A4849HMMSG: DB 22,0DH,0AH,'HIGH MEMORY ADDRESS=' ; 0519 180D0A494ENAMSG: DB 24,0DH,0AH,'INVALID MEMORY ADDRESS' ; 0532 140D0A0A54OPMSG: DB 20,0DH,0AH,0AH,'TEST OPTIONS ARE:' ; 0547 1E0D0A0D0ATMSG1: DB 30,0DH,0AH,0DH,0AH,'01-GALLOPING PATTERNS TEST' ; 0566 1B0D0A3032TMSG2: DB 27,0DH,0AH,'02-GALLOPING COLUMNS TEST' ; 0582 1A0D0A3033TMSG3: DB 26,0DH,0AH,'03-WALKING PATTERNS TEST' ; 059D 190D0A3034TMSG4: DB 25,0DH,0AH,'04-RANDOM PATTERNS TEST' ; 05B7 1A0D0A3035TMSG5: DB 26,0DH,0AH,'05-WRITE SATURATION TEST' ; 05D2 1C0D0A3036TMSG6: DB 28,0DH,0AH,'06-STATIC CHECK CYCLE TEST' ; 05EF 2C0D0A0A45TMSGN: DB 44,0DH,0AH,0AH,'ENTER TEST NUMBER (01,02,03,04,05 OR 06)=' ; 061C 180D0A0A45EPMSG: DB 24,0DH,0AH,0AH,'ENTER PATTERN(00-FF)=' ; 0635 1D0D0A5245REMSG: DB 29,0DH,0AH,'RETENTION ERROR AT ADDRESS=' ; 0653 1F0D0A4558EXMSG: DB 31,0DH,0AH,'EXPECTED "00" DATA,READ BACK ' ; 0673 140D0A4552MRER1: DB 20,0DH,0AH,'ERROR AT ADDRESS=',0 ; 0688 0C20205245MRER2: DB 12,' READ BACK ' ; 0695 0B202C4558MRER3: DB 11,' ,EXPECTED ' ; 06A1 1B0D0A4C41MRER4: DB 27,0DH,0AH,'LAST ADDRESS WRITTEN WAS ' ; 06BD 0E202C5041MRER5: DB 14,20H,',PATTERN WAS ' ; 06CC 1A0D0A4552MRER6: DB 26,0DH,0AH,'ERROR READING OTHER CELL' ; 06E7 190D0A4552MRER7: DB 25,0DH,0AH,'ERROR READING TEST CELL' ; 0701 0C0D0A5445MRER8: DB 12,0DH,0AH,'TEST CELL=' ; 070E 0D2C204F54MRER9: DB 13,', OTHER CELL=' ; 071C 1220205041MER10: DB 18,20H,20H,'PATTERN STORED=',0 ; 072F 1020205041MER11: DB 16,20H,20H,'PATTERN READ=',0 ; 0740 130D0A4249MER12: DB 19,0DH,0AH,'BIT(S) IN ERROR=',0 ; ; ; ; ; 0754 F5 MSG: PUSH PSW 0755 C5 PUSH B 0756 46 MOV B,M 0757 23 INX H 0758 4E MSGA: MOV C,M 0759 CD5901 CALL CO 075C 23 INX H 075D 05 DCR B 075E C25807 JNZ MSGA 0761 C1 POP B 0762 F1 POP PSW 0763 C9 RET ; ; ; ; ; ; ;ROUTINE TO FIND ALL 4K MEMORY BLOCKS AVAILABLE TO SYSTEM ; 0764 210000 MEMTS: LXI H,00000H ;CLEAR THE PASS AND ERROR COUNTERS 0767 22FA0E SHLD PCTR 076A 22FC0E SHLD ECTR 076D 01D90E LXI B,MBUF ;POINT TO MEMORY BUFFER 0770 1E01 MVI E,1 ;SET-UP BASE RAM 1ST 4K BYTE TEST ADDRESS 0772 7B STAAD: MOV A,E 0773 02 STAX B ;SAVE IT IN BUFFER 0774 03 INX B 0775 3E0B INC4K: MVI A,00BH ;INCREMENT TO NEXT 4K MEMORY BLOCK,STOP IF ALL ; MEMORY BLOCKS TRIED,FOR 16 K BYTE MEMORY 0777 1C INR E ;BUMP FOR NEXT MEMORY BLOCK 0778 BB CMP E ;ALL DONE? 0779 F27207 JP STAAD ;IF NOT,GO TEST THIS NEW MEMORY BLOCK 077C 3E80 MVI A,080H ;YES,TAG WITH "END" IN BUFFER 077E 02 STAX B 077F 216203 AUT: LXI H,AMMSG ;OUTPUT "TEST MEMORY IN "AUTO" MODE (Y OR N)?" 0782 CD5407 CALL MSG 0785 CDD901 CALL CECHO ;GET THE ANSWER 0788 FE59 CPI 'Y' 078A CA9507 JZ AUTO ;DO AUTO MODE,IF YES 078D FE4E CPI 'N' 078F CA980B JZ SELCT ;LET OPERATOR SELECT,IF NO 0792 C37F07 JMP AUT ;OOPS...GAVE HIM TWO CHOICES,AND HE PICKED THIRD 0795 CD9902 AUTO: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT 0798 21BB0E LXI H,DROP ;SET-UP DROP LIST POINTER 079B 22D70E SHLD DROPP ;SET DROP LIST POINTER TO START 079E AF XRA A ;CLEAR DROP COUNT AND ERROR FLAG 079F 2B DCX H 07A0 77 MOV M,A 07A1 2B DCX H 07A2 77 MOV M,A 07A3 21D90E AUTO0: LXI H,MBUF ;POINT TO MEMORY BUFFER 07A6 22E90E SHLD MEMPT ;SAVE MEMORY POINTER FOR LOOPING 07A9 3AB90E AUTO1: LDA ERFLG ;GET ERROR FLAG,TO SEE IF WE DROP MEMORY ; BLOCK JUST TESTED OR NOT 07AC B7 ORA A 07AD CAC907 JZ AUTO3 ;IF NOT ZERO,DROP THIS BLOCK FROM TEST 07B0 2AD70E LHLD DROPP ;POINT TO NEXT DROP LIST SLOT 07B3 EB XCHG 07B4 2AEB0E LHLD BLKST ;GET MEMORY BLOCK START ADDRESS 07B7 EB XCHG ;AND NOW WE HAVE H&L REGS.AS DROP LIST POINTER, ; AND D&E REGS. AS THE BLOCK START 07B8 73 MOV M,E ;SAVE LOW BYTE OF BLOCK START 07B9 23 INX H 07BA 72 MOV M,D ;SAVE HIGH BYTE OF BLOCK START 07BB 23 INX H ;GET H&L REGS. TO POINT TO NEXT DROP LIST SLOT 07BC 22D70E SHLD DROPP ;SAVE THE NEW POINTER 07BF 21BA0E LXI H,DROPC ;+1 TO THE DROP COUNT 07C2 34 INR M 07C3 2AE90E LHLD MEMPT ;GET THE MEMORY BLOCK POINTER 07C6 2B DCX H ;BACK-UP TO MEMORY BLOCK JUST TESTED,AND LOG IT OUT 07C7 3600 MVI M,000H 07C9 3E09 AUTO3: MVI A,9 ;SET ERROR DISPLAY COUNTER TO 8 PLUS 1 07CB 32FE0E STA ERCNT 07CE AF XRA A ;CLEAR ERROR FLAG 07CF 32B90E STA ERFLG 07D2 2AE90E LHLD MEMPT ;GET MEMORY BLOCK AND BLOCK NUMBER 07D5 7E MOV A,M 07D6 23 INX H ;UPDATE AND SAVE NEW POINTER 07D7 22E90E SHLD MEMPT 07DA B7 ORA A ;TEST THE MEMORY BLOCK NUMBER 07DB FAA307 JM AUTO0 ;RE-START IF "END" OF BUFFER 07DE CAC907 JZ AUTO3 ;TRY NEXT ONE,IF DROPPED MEMORY BLOCK 07E1 07 RLC ;CONVERT MEMORY BLOCK NUMBER TO 4K BLOCK ADDRESS 07E2 07 RLC 07E3 07 RLC 07E4 07 RLC 07E5 2E00 MVI L,000H ;ZERO L REG. 07E7 67 MOV H,A ;MAKE A 16 BIT BLOCK ADDRESS OUT OF THIS, ; AND SAVE AS BLOCK STARTING ADDRESS 07E8 22EB0E SHLD BLKST 07EB C610 ADI 010H ;ADD 4K TO START 07ED 67 MOV H,A 07EE 22ED0E SHLD MEND ;SAVE AS MEMORY BLOCK END ADDRESS +1 07F1 21A907 LXI H,AUTO1 ;SAVE "AUTO1" FOR LOOPING ADDRESS 07F4 22F80E SHLD AUTOR 07F7 21CF03 LXI H,TMSG ;OUTPUT "TESTING MEMORY " TO CONSOLE 07FA CD5407 CALL MSG 07FD 21E103 LXI H,FMSG ;OUTPUT ", FROM " TO CONSOLE 0800 CD5407 CALL MSG 0803 2AEB0E LHLD BLKST ;GET THE MEMORY BLOCK STARTING ADDRESS 0806 CD4602 CALL HLOUT 0809 21E803 LXI H,TOMSG ;OUTPUT " TO " TO CONSOLE 080C CD5407 CALL MSG 080F 2AED0E LHLD MEND ;GET THE MEMORY ENDING ADDRESS 0812 CD4602 CALL HLOUT 0815 21ED03 LXI H,PSMSG ;OUTPUT "PASS=" TO CONSOLE 0818 CD5407 CALL MSG 081B 2AFA0E LHLD PCTR ;GET THE PASS COUNTER,AND UPDATE IT 081E 23 INX H 081F 22FA0E SHLD PCTR 0822 CD4602 CALL HLOUT 0825 21F503 LXI H,ERMSG ;OUTPUT ", ERRORS TOTAL=" TO CONSOLE 0828 CD5407 CALL MSG 082B 2AFC0E LHLD ECTR ;GET THE ERROR COUNTER,AND SHOW IT ALSO 082E CD4602 CALL HLOUT 0831 213A08 LXI H,WRTSAT ;SAVE "NEXT TEST" ADDRESS 0834 22F60E SHLD MTEST 0837 C3AB09 JMP RANPT ;GO DO RANDOM PATTERNS MEMORY TEST ; ; ; ;ROUTINE TO DO WRITE AMPLIFIER SATURATION TEST IN "AUTO MODE" ; 083A 31B80E WRTSAT: LXI SP,STACK ;SET THE STACK POINTER 083D 218304 LXI H,SATSG ;OUTPUT "WRITE SATURATION TEST" TO CONSOLE 0840 CD5407 CALL MSG 0843 2AEB0E LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS 0846 22EF0E SHLD MBOT ;SAVE AS MEMORY BOTTOM ADDRESS 0849 2AED0E LHLD MEND ;GET MEMORY BLOCK END ADDRESS 084C 22F10E SHLD MTOP ;SAVE A MEMORY "TOP" ADDRESS 084F 0664 MVI B,100 ;SET-UP FOR 100 WRITE SATURATION PASSES 0851 AF XRA A ;SATURATE WITH 0'S FIRST 0852 CDA208 CALL SAT ;WRITE WITH PATTERN,100 TIMES 0855 3EFF MVI A,0FFH ;FLIP PATTERN TO 1'S 0857 CD800E CALL BAKPT ;WRITE 1 TIME ONLY 085A CD8A08 CALL SATRD ;DO SATURATION READ 085D 0664 MVI B,100 ;AGAIN SET-UP 100 WRITE SATURATION PASSES 085F 3EFF MVI A,0FFH ;NOW SATURATE WITH 1'S 0861 CDA208 CALL SAT ;WRITE WITH PATTERN,100 TIMES 0864 AF XRA A ;FLIP PATTERN TO 0'S 0865 CD800E CALL BAKPT ;WRITE 1 TIME ONLY 0868 CD8A08 CALL SATRD ;DO SATURATION READ 086B C30809 JMP GAL ;GO DO "GALLOPING PATTERNS" MEMORY TEST ; ; ; ;ROUTINE TO DO WRITE SATURATION TEST IN "SELECT MODE" ; 086E 0664 WSATT: MVI B,100 ;SET-UP FOR 100 WRITE SATURATION PASSES 0870 CDA208 CALL SAT ;WRITE WITH SELECTED PATTERN,100 TIMES 0873 2F CMA ;WRITE WITH COMPLEMENT,1 PASS 0874 CD800E CALL BAKPT 0877 CD8A08 CALL SATRD ;READ THE DATA 087A 3AF30E LDA TPATT ;GET SAVED TEST PATTERN 087D 0664 MVI B,100 ;NOW DO COMPLEMENT 100 TIMES 087F CDA208 CALL SAT ;....AND WE'RE OFF 0882 2F CMA ;WRITE WITH COMPLEMENT,1 PASS 0883 CD800E CALL BAKPT 0886 CD8A08 CALL SATRD ;READ THE DATA 0889 C9 RET ; ; ; ;SUBROUTINE TO READ 1 PASS "BACKGROUND" PATTERN AS CONTAINED IN A REG. ; 088A 2AF10E SATRD: LHLD MTOP ;GET MEMORY "TOP" ADDRESS 088D EB XCHG ;SWAP H&L REGS. TO D&E REGS. 088E 2AEF0E LHLD MBOT ;TOP'S IN D&E REGS.,BOTTOM'S IN H&L REGS. 0891 47 MOV B,A ;SAVE PATTERN IN B REG. 0892 32F30E STA TPATT ;SAVE DATA PATTERN FOR POSSIBLE ERROR DISPLAY 0895 CD9C0E FSTRD: CALL COMP ;ALL DONE? 0898 C8 RZ 0899 7E MOV A,M ;GET A BYTE FROM MEMORY 089A B8 CMP B ;GOT A MATCH? 089B C4B108 CNZ SATER ;INDICATE "WRITE SATURATION" ERROR IF NO MATCH 089E 23 INX H ;BUMP POINTER FOR NEXT BYTE 089F C39508 JMP FSTRD ;DO FAST READ ON MORE MEMORY ; ; ; 08A2 F5 SAT: PUSH PSW ;EXILE THE A REG. 08A3 CD9902 CALL KBINT ;CHECK KEY-BOARD INTERRUPT 08A6 F1 POP PSW ;BACK FROM EXILE 08A7 C5 PUSH B ;SAVE PASSES ON STACK 08A8 CD800E CALL BAKPT ;WRITE THE "BACKGROUND" PATTERN 08AB C1 POP B ;GET PASS COUNT 08AC 05 DCR B ;DE-BUMP THE PASS COUNT 08AD C2A208 JNZ SAT ;CONTINUE WRITING 'TILL 100 PASSES COMPLETED 08B0 C9 RET ; ; ; ;SUBROUTINE TO INDICATE ERROR IN WRITE SATURATION TEST ; 08B1 32B80E SATER: STA ERPAT ;SAVE "BAD" BYTE 08B4 3EFF MVI A,0FFH ;SET ERROR FLAG 08B6 32B90E STA ERFLG 08B9 E5 PUSH H ;SAVE BAD BYTE ADDRESS 08BA 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 08BD 23 INX H 08BE 22FC0E SHLD ECTR 08C1 3AFE0E LDA ERCNT ;DONE DISPLAYING ALL ERRORS? 08C4 3D DCR A 08C5 CA0A0D JZ PTX ;DON'T DISPLAY ANY MORE ERRORS,IF SO 08C8 32FE0E STA ERCNT 08CB 217306 LXI H,MRER1 ;OUTPUT " ERROR AT ADDRESS=" TO CONSOLE 08CE CD5407 CALL MSG 08D1 E1 POP H ;GET BAD BYTE ADDRESS,BUT DON'T ; CHANGE THE STACK 08D2 E5 PUSH H 08D3 CD4602 CALL HLOUT 08D6 218806 LXI H,MRER2 ;OUTPUT " READ BACK " TO CONSOLE 08D9 CD5407 CALL MSG 08DC 3AB80E LDA ERPAT ;GET ERROR PATTERN 08DF CD2302 CALL BYTEO ;SHOW IT 08E2 219506 LXI H,MRER3 ;OUTPUT " , EXPECTED " TO CONSOLE 08E5 C3F60C JMP SATX ;DISPLAY EXPECTED DATA PATTERN AND EXIT ; ; ; ;ROUTINE TO DO STATIC CHECK CYCLE TEST IN "SELECT MODE" ; 08E8 3EFF STATT: MVI A,0FFH ;ALL 1'S PATTERN FOR FIRST PORTION OF TEST 08EA F5 PUSH PSW ;SAVE THE PATTERN 08EB CD800E CALL BAKPT ;WRITE IT 08EE 01C409 LXI B,500*5 ;DO 5 MINUTE DELAY "DO NOTHING" 08F1 CD8B0D CALL LOOP1 08F4 F1 POP PSW ;GET PATTERN 08F5 CD8A08 CALL SATRD ;READ AFTER DELAY TIME 08F8 AF XRA A ;ALL 0'S PATTERN FOR SECOND PORTION OF TEST 08F9 F5 PUSH PSW ;SAVE THE PATTERN 08FA CD800E CALL BAKPT ;WRITE IT 08FD 01C409 LXI B,500*5 ;DO 5 MINUTE DELAY "DO NOTHING" 0900 CD8B0D CALL LOOP1 0903 F1 POP PSW ;GET PATTERN 0904 CD8A08 CALL SATRD ;CHECK DATA AFTER 5 MINUTE DELAY 0907 C9 RET ; ; ; ;ROUTINE TO DO "GALLOPING" MEMORY TEST IN 256 BYTE CHUNKS ; (MEMORY DATA WILL BE FF HEX AND THEN 00 HEX) ; 0908 210504 GAL: LXI H,PTSG ;OUTPUT "GALLOPING PATTERN MEMORY TEST" TO CONSOLE 090B CD5407 CALL MSG 090E 2AEB0E LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS 0911 22EF0E GAL1: SHLD MBOT ;SAVE AS "CHUNK" START 0914 24 INR H ;ADD 256 0915 2E00 MVI L,000H ;CLEAN-UP L REG. 0917 22F10E SHLD MTOP ;SAVE AS "CHUNK" END +1 091A 3EFF MVI A,0FFH ;ALL ONES BACK-GROUND PATTERN 091C CD9E0D CALL GALPT ;TEST THE "CHUNK" WITH 1'S 091F AF XRA A ;ALL ZEROS BACK-GROUND PATTERN 0920 CD9E0D CALL GALPT ;TEST THE "CHUNK" WITH 0'S 0923 2AED0E LHLD MEND ;GET "CHUNK" AND MEMORY BLOCK END 0926 CD9C0E CALL COMP ;HAVE WE DONE ALL 16 "CHUNKS" IN THE MEMORY BLOCK? 0929 CA3009 JZ STATIC ;IF DONE,GO DO 1 MINUTE STATIC TEST 092C EB XCHG ;OH...GO DO NEXT "CHUNK" IN SAME MEMORY BLOCK 092D C31109 JMP GAL1 ; ; ; 0930 211F04 STATIC: LXI H,RFMSG ;OUTPUT "STATIC CHECK CYCLE" TO CONSOLE 0933 CD5407 CALL MSG 0936 01F401 LXI B,500 0939 CD8B0D CALL LOOP1 ;DO ONE MINUTE DELAY FOR STATIC CHECK 093C 213904 LXI H,CKMSG ;OUTPUT "CHECKING DATA RETENTION" TO CONSOLE 093F CD5407 CALL MSG 0942 2AED0E LHLD MEND ;GET MEMORY BLOCK END 0945 EB XCHG ;SWAP TO D&E REGS. 0946 2AEB0E LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS 0949 AF XRA A ;MAKE A 0'S BYTE FOR COMPARE 094A BE LOOP3: CMP M ;TEST "GALLOPING PATTERN" RESULT BYTE 094B C47C0C CNZ RFERR ;IF IT DIDN'T SURVIVE,REPORT RETENTION ERROR 094E 23 INX H ;BUMP FOR NEXT TEST BYTE 094F CD9C0E CALL COMP ;HAVE WE CHECKED THE WHOLE MEMORY BLOCK? 0952 DA4A09 JC LOOP3 ;IF NOT,DO IT 0955 215304 LXI H,CLMSG ;OUTPUT "GALLOPING COLUMN MEMORY TEST" TO CONSOLE 0958 CD5407 CALL MSG 095B 2AEB0E LHLD BLKST ;GET MEMORY BLOCK START 095E 22EF0E SHLD MBOT ;SAVE IT FOR FUTURE USE IN "GALLOPING COLUMN" 0961 2AED0E LHLD MEND ;GET MEMORY BLOCK END 0964 22F10E SHLD MTOP ;SAVE FOR FUTURE USE IN "GALLOPING COLUMN" 0967 3EFF MVI A,0FFH ;SET-UP ALL ONES PATTERN 0969 CDE10D CALL GALCL ;DO "GALLOPING COLUMN" 096C AF XRA A ;SET-UP ALL ZEROS PATTERN 096D CDE10D CALL GALCL ;TEST THE MEMORY BLOCK AGAIN ; ; ; ;ROUTINE TO WALK PATTERNS THRU THE MEMORY BLOCK IN 256 BYTE "CHUNKS", ; (WRITES 1'S,WALKS 0'S,THEN WRITES 0'S,AND THEN WALKS 1'S) ; 0970 219B04 WALK: LXI H,WMSG ;OUTPUT "WALKING PATTERNS MEMORY TEST" TO CONSOLE 0973 CD5407 CALL MSG 0976 2AEB0E LHLD BLKST ;GET MEMORY BLOCK STARTING ADDRESS 0979 22EF0E WALK1: SHLD MBOT ;SAVE AS "CHUNK" STARTING ADDRESS 097C 24 INR H ;ADD 256 097D 2E00 MVI L,000H ;SCRUB L REG. 097F 22F10E SHLD MTOP ;SAVE RESULT AS "CHUNK" END +1 0982 3EFF MVI A,0FFH ;MAKE AN ALL 1'S PATTERN BYTE 0984 CD3B0E CALL WALKT ;LET'S GO FOR A WALK 0987 AF XRA A ;MAKE AN ALL 0'S PATTERN BYTE 0988 CD3B0E CALL WALKT ;MAYBE WE COULD JOG FOR AWHILE? 098B 2AED0E LHLD MEND ;GET "CHUNK" AND BLOCK END 098E CD9C0E CALL COMP ;ALL THE "CHUNKS" DONE IN THE BLOCK? 0991 CA9809 JZ TEND ;IF ZERO,GO TO NEXT MEMORY BLOCK IN AUTO SEQUENCE 0994 EB XCHG ;NO? GET NEW "CHUNK" START ADDRESS 0995 C37909 JMP WALK1 ;GO TEST NEW "CHUNK" 0998 CD6F0B TEND: CALL CDROP ;SHOW ANY "DROPPED BLOCKS" 099B 2AF80E LHLD AUTOR ;GET "AUTO1" RETURN ADDRESS 099E E9 PCHL ;GO FOR IT ; ; ; ;ROUTINE TO DO RANDOM MEMORY TEST IN "SELECT MODE" ; 099F 2AF10E RNDSL: LHLD MTOP ;GET OPERATOR SELECTED MEMORY "TOP" ADDRESS 09A2 44 MOV B,H ;SAVE IT IN B&C REGS. 09A3 4D MOV C,L 09A4 0B DCX B ;DE-BUMP B&C REGS. TO GET PROPER "TOP" ; MEMORY BOUNDRY ADDRESS 09A5 2AEF0E LHLD MBOT ;GET OPERATOR SELECTED MEMORY "BOTTOM" ADDRESS 09A8 C3BC09 JMP RANST ;GO TO RANDOM PATTERNS TEST START ; ; ; ;ROUTINE TO DO RANDOM PATTERNS MEMORY TEST IN "AUTO MODE" ; 09AB 216C04 RANPT: LXI H,RDMSG ;OUTPUT "RANDOM PATTERNS MEMORY TEST" TO CONSOLE 09AE CD5407 CALL MSG 09B1 2AED0E RANMT: LHLD MEND ;GET MEMORY BLOCK END ADDRESS INTO B&C REGS. 09B4 44 MOV B,H 09B5 4D MOV C,L 09B6 0B DCX B ;DE-BUMP B&C REGS. TO GET PROPER BLOCK END ; BOUNDRY ADDRESS 09B7 0B DCX B 09B8 0B DCX B 09B9 2AEB0E LHLD BLKST ;GET MEMORY BLOCK START ADDRESS INTO H&L REGS., ; AND D&E REGS. 09BC 54 RANST: MOV D,H 09BD 5D MOV E,L 09BE F9 SPHL ;STUFF H&L REGS. INTO SP REG. 09BF 210100 LXI H,1 ;MAKE A STARTING "SEED" FOR FIRST RANDOM PATTERN ; ; ; ;"STORR", STORES RANDOM NUMBERS THROUGHOUT THE MEMORY TEST AREA BY ;USING RANDOM NUMBERS,CAUSING MOST PATTERN SENSITIVE AND ADDRESSING ;PROBLEMS TO BE CAUGHT.THE NUMBERS ARE STORED USING THE ;8080/8085 "PUSH" COMMAND WHICH STORES TWO ADJACENT BYTES IN THE ;FASTEST MANNER POSSIBLE. ; 09C2 33 STORR: INX SP ;BUMP STACK POINTER BY 2'S 09C3 33 INX SP 09C4 E5 PUSH H ;STUFF THE RANDOM DATA BYTE INTO MEMORY 09C5 E1 POP H 09C6 210000 LXI H,0 ;SCRUB H&L REGS. 09C9 39 DAD SP ;GET THE CURRENT TEST CELL ADDRESS 09CA 79 MOV A,C ;GET LOW BYTE OF MEMORY TOP ADDRESS 09CB 95 SUB L ;SUBTRACT LOW BYTE OF TEST CELL 09CC 78 MOV A,B ;GET HIGH BYTE OF MEMORY TOP ADDRESS, ; AND SAVE CARRY ONLY 09CD 9C SBB H ;SUBTRACT HIGH BYTE OF TEST CELL ADDRESS 09CE DAEC09 JC DONE1 ;IF WE GOT THE CARRY,WERE DONE 09D1 3B DCX SP ;NO,NOT DONE YET 09D2 3B DCX SP 09D3 E1 POP H 09D4 7D MOV A,L ;MAKE MORE "HASH" FOR MEMORY PATTERNS 09D5 87 ADD A 09D6 6F MOV L,A 09D7 7C MOV A,H 09D8 17 RAL 09D9 67 MOV H,A 09DA 3E00 MVI A,0 09DC 8D ADC L 09DD 6F MOV L,A 09DE 7C MOV A,H 09DF 07 RLC 09E0 07 RLC 09E1 07 RLC 09E2 AD XRA L 09E3 0F RRC 09E4 0F RRC 09E5 E601 ANI 1 09E7 AD XRA L 09E8 6F MOV L,A 09E9 C3C209 JMP STORR ; ; ; ;"DONE1" CHECKS THE FIRST TWO BYTES FOR ERRORS AND ALSO CHECKS ;TO SEE WHICH PASS-THROUGH THE PROGRAM IS ON. ; 09EC 6B DONE1: MOV L,E 09ED 62 MOV H,D 09EE 3E01 MVI A,1 09F0 BE CMP M 09F1 C2FD09 JNZ CHECK 09F4 3D DCR A 09F5 23 INX H 09F6 BE CMP M 09F7 C2A70A JNZ ERROR 09FA C30C0A JMP CHKR ; ; ; 09FD 3EFE CHECK: MVI A,0FEH 09FF BE CMP M 0A00 3E01 MVI A,1 0A02 C2A70A JNZ ERROR 0A05 3D DCR A 0A06 3D DCR A 0A07 23 INX H 0A08 BE CMP M 0A09 C2A70A JNZ ERROR ; ; ; ;"CHKR" GOES BACK AND CHECKS TO SEE IF WHAT IS STORED ;THROUGHOUT MEMORY,IS STILL THE SAME AS WHEN IT WAS STORED. ; 0A0C 7E CHKR: MOV A,M 0A0D 17 RAL 0A0E 2B DCX H 0A0F 7E MOV A,M 0A10 17 RAL 0A11 77 MOV M,A 0A12 23 INX H 0A13 7E MOV A,M 0A14 17 RAL 0A15 77 MOV M,A 0A16 23 INX H 0A17 79 MOV A,C 0A18 95 SUB L 0A19 78 MOV A,B 0A1A 9C SBB H 0A1B DA440A JC DONE2 0A1E 2B DCX H 0A1F 7E MOV A,M 0A20 07 RLC 0A21 07 RLC 0A22 07 RLC 0A23 2B DCX H 0A24 AE XRA M 0A25 0F RRC 0A26 0F RRC 0A27 E601 ANI 1 0A29 AE XRA M 0A2A 23 INX H 0A2B 23 INX H 0A2C BE CMP M 0A2D C2A70A JNZ ERROR 0A30 23 INX H 0A31 79 MOV A,C 0A32 95 SUB L 0A33 78 MOV A,B 0A34 9C SBB H 0A35 DA440A JC DONE2 0A38 2B DCX H 0A39 2B DCX H 0A3A 7E MOV A,M 0A3B 23 INX H 0A3C 23 INX H 0A3D BE CMP M 0A3E C2A70A JNZ ERROR 0A41 C30C0A JMP CHKR ; ; ; ;"DONE2" CHECKS TO SEE WHICH TEST HAS JUST BEEN DONE. IF IT WAS ;THE FIRST TEST THEN IT SETS UP TO TEST THE COMPLIMENT, ELSE IT ;SETS UP FOR THE FINAL FOUR TESTS ; 0A44 6B DONE2: MOV L,E 0A45 62 MOV H,D 0A46 F9 SPHL 0A47 21FEFF LXI H,0FFFEH 0A4A 1A LDAX D 0A4B FE02 CPI 2 0A4D CAC209 JZ STORR 0A50 6B MOV L,E 0A51 62 MOV H,D 0A52 1155AA LXI D,0AA55H ; ; ; ;"STOAL" STORES THE TWO BYTES IN THE D&E REGISTERS (AA HEX AND 55 HEX) ;THROUGHOUT THE TEST AREA ; 0A55 72 STOAL: MOV M,D 0A56 23 INX H 0A57 73 MOV M,E 0A58 23 INX H 0A59 79 MOV A,C 0A5A 95 SUB L 0A5B 78 MOV A,B 0A5C 9C SBB H 0A5D C2550A JNZ STOAL 0A60 210000 LXI H,0 0A63 39 DAD SP ; ; ; ;"CHKAL" TEST TO SEE IF THE DATA STORED THROUGHOUT MEMORY IS THE ;SAME AS THE D&E REGISTERS ; 0A64 7A CHKAL: MOV A,D 0A65 53 MOV D,E 0A66 5F MOV E,A 0A67 BE CMP M 0A68 C2A70A JNZ ERROR 0A6B 23 INX H 0A6C 79 MOV A,C 0A6D 95 SUB L 0A6E 78 MOV A,B 0A6F 9C SBB H 0A70 C2640A JNZ CHKAL ; ; ; ;THIS ROUTINE FINDS OUT WHICH PASS THE TEST IS ON, ;AND THEN SETS UP TO DO THE NEXT TEST ; 0A73 210000 LXI H,0 0A76 39 DAD SP 0A77 11AA55 LXI D,055AAH 0A7A 7E MOV A,M 0A7B FEAA CPI 0AAH 0A7D CA550A JZ STOAL 0A80 11FFFF LXI D,0FFFFH 0A83 FE55 CPI 055H 0A85 CA550A JZ STOAL 0A88 110000 LXI D,0 0A8B 3C INR A 0A8C CA550A JZ STOAL 0A8F 2AF60E LHLD MTEST ;GO DO NEXT MEMORY TEST,WERE DONE HERE 0A92 E9 PCHL ; ; ; ;THIS ROUTINE PRINTS OUT WHAT IS POINTED TO IN MEMORY BY ;THE B&C REGISTERS UNTIL A ZERO BYTE IS FOUND. ; 0A93 0A MSGOUT: LDAX B 0A94 A7 ANA A 0A95 C2990A JNZ AR1 ;CHECKS FOR '0' END OF MESSAGE FLAG 0A98 E9 PCHL 0A99 DB10 AR1: IN CCTRL 0A9B E602 ANI CTRDY 0A9D CA990A JZ AR1 ;CHECK IF CONSOLE READY 0AA0 0A LDAX B 0AA1 D311 OUT CDATA 0AA3 03 INX B ;OUTPUT CHARACTER 0AA4 C3930A JMP MSGOUT ; ; ; ;THE "ERROR" ROUTINE PRINTS OUT THAT THERE HAS BEEN AN ERROR AT ;THE ADDRESS IN THE H&L REGISTERS.IT THEN TELLS THAT THE TEST ;BYTE IS THE BYTE IN THE ACCUMULATOR AND THE ERROR BYTE IS THE ;BYTE POINTED TO BY THE H&L REGISTERS.FINALLY IT PRINTS OUT THE ;BITS THAT ARE IN DISAGREEMENT IN THE TWO BYTES. ; 0AA7 F9 ERROR: SPHL 0AA8 3EFF MVI A,0FFH ;SET ERROR FLAG 0AAA 32B90E STA ERFLG 0AAD 3AFE0E LDA ERCNT ;DONE SHOWING 8 ERRORS? 0AB0 3D DCR A 0AB1 CA350B JZ ER9 0AB4 32FE0E STA ERCNT 0AB7 21C10A LXI H,ER1 0ABA 57 MOV D,A 0ABB 017306 LXI B,MRER1 ;OUTPUT "ERROR AT ADDRESS=" TO CONSOLE 0ABE C3930A JMP MSGOUT ; 0AC1 210000 ER1: LXI H,0 0AC4 39 DAD SP 0AC5 42 MOV B,D 0AC6 EB XCHG 0AC7 21CD0A LXI H,ER2 0ACA C3400B JMP OUTER ; 0ACD 53 ER2: MOV D,E 0ACE 21D40A LXI H,ER3 0AD1 C3400B JMP OUTER ; 0AD4 50 ER3: MOV D,B 0AD5 011C07 LXI B,MER10 ;OUTPUT "PATTERN STORED=" TO CONSOLE 0AD8 21DE0A LXI H,ER4 0ADB C3930A JMP MSGOUT ; 0ADE 21E40A ER4: LXI H,ER5 0AE1 C3400B JMP OUTER ; 0AE4 012F07 ER5: LXI B,MER11 ;OUTPUT "PATTERN READ=" TO CONSOLE 0AE7 21ED0A LXI H,ER6 0AEA C3930A JMP MSGOUT ; 0AED 210000 ER6: LXI H,0 0AF0 39 DAD SP 0AF1 5A MOV E,D 0AF2 56 MOV D,M 0AF3 21F90A LXI H,ER7 0AF6 C3400B JMP OUTER ; 0AF9 014007 ER7: LXI B,MER12 ;OUTPUT "BITS IN ERROR=" TO CONSOLE 0AFC 21020B LXI H,ER8 0AFF C3930A JMP MSGOUT ; 0B02 1600 ER8: MVI D,0 0B04 0601 MVI B,1 0B06 210000 LXI H,0 0B09 39 DAD SP 0B0A 7B MOV A,E 0B0B AE XRA M 0B0C 5F MOV E,A ; 0B0D 14 LOP: INR D 0B0E 7B MOV A,E 0B0F 1F RAR 0B10 5F MOV E,A 0B11 D22F0B JNC NOERR ; 0B14 05 DCR B 0B15 CA230B JZ LOPE 0B18 DB10 LUPE: IN CCTRL 0B1A E602 ANI CTRDY 0B1C CA180B JZ LUPE 0B1F 3E2C MVI A,',' 0B21 D311 OUT CDATA 0B23 DB10 LOPE: IN CCTRL 0B25 E602 ANI CTRDY 0B27 CA230B JZ LOPE 0B2A 7A MOV A,D 0B2B C62F ADI 2FH 0B2D D311 OUT CDATA 0B2F 7A NOERR: MOV A,D 0B30 FE08 CPI 8 0B32 C20D0B JNZ LOP 0B35 2AFC0E ER9: LHLD ECTR ;UPDATE THE ERROR COUNTER 0B38 23 INX H 0B39 22FC0E SHLD ECTR 0B3C 2AF60E LHLD MTEST ;RETURN 0B3F E9 PCHL ; ; ; 0B40 DB10 OUTER: IN CCTRL 0B42 E602 ANI CTRDY 0B44 CA400B JZ OUTER 0B47 7A MOV A,D 0B48 07 RLC 0B49 07 RLC 0B4A 07 RLC 0B4B 07 RLC 0B4C E60F ANI 0FH 0B4E FE0A CPI 0AH 0B50 DA550B JC OUTR1 0B53 C607 ADI 7 0B55 C630 OUTR1: ADI '0' 0B57 D311 OUT CDATA 0B59 DB10 OUTR2: IN CCTRL 0B5B E602 ANI CTRDY 0B5D CA590B JZ OUTR2 0B60 7A MOV A,D 0B61 E60F ANI 0FH 0B63 FE0A CPI 0AH 0B65 DA6A0B JC OUTR3 0B68 C607 ADI 7 0B6A C630 OUTR3: ADI '0' 0B6C D311 OUT CDATA 0B6E E9 PCHL ; ; ; ; ; ; ;ROUTINE TO SHOW THE "DROP LIST" TO THE OPERATOR ; 0B6F 3ABA0E CDROP: LDA DROPC ;GET THE DROP COUNT 0B72 B7 ORA A ;DID WE LOSE ANYBODY? 0B73 C27D0B JNZ PDROP 0B76 21B304 LXI H,NDMSG ;OUTPUT "NO MEMORY BLOCKS DROPPED" TO CONSOLE 0B79 CD5407 CALL MSG 0B7C C9 RET 0B7D 21BB0E PDROP: LXI H,DROP ;POINT TO START OF THE DROP LIST 0B80 F5 EDROP: PUSH PSW ;SAVE THE DROP COUNT 0B81 E5 PUSH H ;SAVE THE DROP POINTER 0B82 21CF04 LXI H,DMMSG ;OUTPUT "DROPPED MEMORY BLOCK(S)=" TO CONSOLE 0B85 CD5407 CALL MSG 0B88 E1 POP H ;GET THE DROP POINTER BACK 0B89 5E MOV E,M 0B8A 23 INX H 0B8B 56 MOV D,M 0B8C 23 INX H ;WERE NOW POINTING TO THE NEXT DROP LIST SLOT 0B8D EB XCHG ;GET THE ADDRESS OF THE DROPPED MEMORY BLOCK 0B8E CD4602 CALL HLOUT 0B91 EB XCHG ;SWAP'EM 0B92 F1 POP PSW ;GET THE DROP COUNT 0B93 3D DCR A ;DE-BUMP IT 0B94 C2800B JNZ EDROP ;DO THEM ALL 0B97 C9 RET ; ; ; ;"SELECT" MODE ROUTINE (OPERATOR DEFINES ADDRESS RANGE,PATTERN,AND TEST) ; 0B98 3EFF SELCT: MVI A,0FFH ;SET ERROR DISPLAY COUNT TO 256 0B9A 32FE0E STA ERCNT 0B9D 21980B LXI H,SELCT ;MAKE A RETURN ADDRESS FOR END OF TEST 0BA0 22F60E SHLD MTEST 0BA3 218A03 MENU: LXI H,DFMSG ;OUTPUT "TEST "ALL","SELECT",OR "MONITOR" (Y OR N)?" ; TO CONSOLE 0BA6 CD5407 CALL MSG 0BA9 CDD901 CALL CECHO ;GET THE ANSWER 0BAC FE41 CPI 'A' ;"ALL" CHOSEN? 0BAE CABE0B JZ ALL 0BB1 FE53 CPI 'S' ;"SELECT" CHOSEN? 0BB3 CACD0B JZ SEL 0BB6 FE4D CPI 'M' ;"MONITOR" CHOSEN? 0BB8 CAB101 JZ MNTR 0BBB C3A30B JMP MENU ;OOPS...NONE OF THE ABOVE,TRY AGAIN 0BBE 210010 ALL: LXI H,01000H ;SET MEMORY "BOTTOM" 0BC1 22EF0E SHLD MBOT 0BC4 2100C0 LXI H,0C000H ;SET MEMORY "TOP" 0BC7 22F10E SHLD MTOP 0BCA C3080C JMP SEL1 ;TEST "ALL"..... 0BCD 21EB04 SEL: LXI H,LMMSG ;OUTPUT "LOW MEMORY ADDRESS=" TO CONSOLE 0BD0 CD5407 CALL MSG 0BD3 CDEE01 CALL PARAM ;GET IT FROM OPERATOR 0BD6 7C MOV A,H ;IS THE REQUESTED ADDRESS <1000 HEX? 0BD7 FE10 CPI 010H 0BD9 D2E50B JNC SEL0 0BDC 211905 LXI H,NAMSG ;OOPS...NOT ALLOWED,OUTPUT "INVALID ; MEMORY ADDRESS" TO CONSOLE 0BDF CD5407 CALL MSG 0BE2 C3CD0B JMP SEL ;GIVE'M ANOTHER CHANCE 0BE5 22EF0E SEL0: SHLD MBOT ;SAVE IT AS MEMORY "BOTTOM" ADDRESS 0BE8 210205 LXI H,HMMSG ;OUTPUT "HIGH MEMORY ADDRESS=" TO CONSOLE 0BEB CD5407 CALL MSG 0BEE CDEE01 CALL PARAM ;GET IT FROM OPERATOR 0BF1 EB XCHG ;SWAP TO D&E REGS. 0BF2 7A MOV A,D ;GET THE HIGH BYTE OF "TOP" MEMORY ADDRESS 0BF3 2AEF0E LHLD MBOT ;GET MEMORY "BOTTOM" ADDRESS 0BF6 BC CMP H ;IS THE TOP < BOTTOM? 0BF7 D2030C JNC STOTOP ;IF NOT,STORE THE "TOP" FOR SAFE KEEPING 0BFA 211905 LXI H,NAMSG ;ARE YOU POSSIBLY ATTEMPTING TO TRY MY PATIENCE? 0BFD CD5407 CALL MSG 0C00 C3980B JMP SELCT ;TRY AGAIN,AND AGAIN,AND AGAIN,AND....... 0C03 EB STOTOP: XCHG ;GET THE "TOP" BACK TO H&L REGS. 0C04 23 INX H ;GO ONE PAST THE END,AND SAVE IT 0C05 22F10E SHLD MTOP 0C08 213205 SEL1: LXI H,OPMSG ;OUTPUT "TEST OPTIONS ARE:" TO CONSOLE 0C0B CD5407 CALL MSG 0C0E 214705 LXI H,TMSG1 ;OUTPUT " 01-GALLOPING PATTERNS TEST" TO CONSOLE 0C11 CD5407 CALL MSG 0C14 216605 LXI H,TMSG2 ;OUTPUT " 02-GALLOPING COLUMNS TEST" TO CONSOLE 0C17 CD5407 CALL MSG 0C1A 218205 LXI H,TMSG3 ;OUTPUT " 03-WALKING PATTERNS TEST" TO CONSOLE 0C1D CD5407 CALL MSG 0C20 219D05 LXI H,TMSG4 ;OUTPUT " 04-RANDOM PATTERNS TEST" TO CONSOLE 0C23 CD5407 CALL MSG 0C26 21B705 LXI H,TMSG5 ;OUTPUT " 05-WRITE SATURATION TEST" TO CONSOLE 0C29 CD5407 CALL MSG 0C2C 21D205 LXI H,TMSG6 ;OUTPUT " 06-STATIC CHECK CYCLE TEST" TO CONSOLE 0C2F CD5407 CALL MSG 0C32 21EF05 LXI H,TMSGN ;OUTPUT " ENTER TEST NUMBER(01,02,03,04,05 OR 06)=" 0C35 CD5407 CALL MSG 0C38 CD5301 CALL CONI ;GET THE ANSWER 0C3B FE00 CPI 000H ;HMMMM....DID HE PICK 00 HEX? 0C3D CA080C JZ SEL1 ;IF SO,START HIM ALL OVER AGAIN 0C40 FE07 CPI 007H ;TEST NUMBER SELECTED >6? 0C42 D2080C JNC SEL1 ;IF YES,GIVE THE JERK ANOTHER CHANCE 0C45 47 MOV B,A ;SAVE THE TEST NUMBER IN B REG. 0C46 211C06 LXI H,EPMSG ;OUTPUT "ENTER PATTERN(00-FF)=" TO CONSOLE 0C49 CD5407 CALL MSG 0C4C CD5301 CALL CONI ;GET THE REQUESTED PATTERN 0C4F 4F MOV C,A ;SAVE IT IN C REG. 0C50 C5 PUSH B ;EXILE THE TEST NUMBER 0C51 21BA03 LXI H,TPMSG ;OUTPUT " TEST IS IN PROGRESS" TO CONSOLE 0C54 CD5407 CALL MSG 0C57 C1 POP B ;FROM WHENCE THY CAME... 0C58 11980B LXI D,SELCT ;GO BACK TO "SELECT MODE" AFTER TEST COMPLETION 0C5B D5 PUSH D 0C5C 05 DCR B ;ADJUST THE TEST NUMBER FOR THE TABLE JUMP 0C5D 78 MOV A,B 0C5E 07 RLC 0C5F 80 ADD B 0C60 5F MOV E,A 0C61 1600 MVI D,000H ;MAKE A 16 BIT INDEX 0C63 21690C LXI H,BTAB ;GET THE TABLE BASE 0C66 79 MOV A,C ;GET BACK THE SAVED PATTERN 0C67 19 DAD D ;GET H&L REGS. TO EQUAL THE ADRESS OF THE JUMP 0C68 E9 PCHL ;GO FOR IT 0C69 C39E0D BTAB: JMP GALPT ;GO DO "GALLOPING PATTERNS TEST" 0C6C C3E10D JMP GALCL ;GO DO "GALLOPING COLUMNS TEST" 0C6F C33B0E JMP WALKT ;GO DO "WALKING PATTERNS TEST" 0C72 C39F09 JMP RNDSL ;GO DO "RANDOM PATTERNS TEST" 0C75 C36E08 JMP WSATT ;GO DO "WRITE SATURATION TEST" 0C78 C3E808 JMP STATT ;GO DO "STATIC CHECK CYCLE TEST" 0C7B C9 RET ;THIS SHOULD'NT GET USED ; ; ; ;SUBROUTINE TO INDICATE RETENTION ERROR (GALLOPING PATTERN BAD AFTER 1 MINUTE) ; 0C7C 2F RFERR: CMA ;MAKE ERROR FLAG NON-ZERO 0C7D 32B90E STA ERFLG 0C80 2F CMA 0C81 E5 PUSH H ;SAVE ERROR BYTE ADDRESS 0C82 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 0C85 23 INX H 0C86 22FC0E SHLD ECTR 0C89 3AFE0E LDA ERCNT ;DONE DISPLAYING ALL ERRORS? 0C8C 3D DCR A 0C8D CAB00C JZ RFX 0C90 32FE0E STA ERCNT 0C93 213506 LXI H,REMSG ;OUTPUT " RETENTION ERROR AT ADDRESS=" 0C96 CD5407 CALL MSG 0C99 E1 POP H ;GET THE ERROR BYTE ADDRESS 0C9A CD4602 CALL HLOUT 0C9D E5 PUSH H ;SAVE ERROR BYTE ADDRESS FOR EXIT 0C9E CD5407 CALL MSG 0CA1 215306 LXI H,EXMSG ;OUTPUT "EXPECTED "00" DATA,READ BACK " TO CONSOLE 0CA4 CD5407 CALL MSG 0CA7 E1 POP H ;RESTORE POINTER TO BAD BYTE ADDRESS, ; BUT DON'T CHANGE THE STACK 0CA8 E5 PUSH H 0CA9 7E MOV A,M ;GET THE BAD BYTE 0CAA CD2302 CALL BYTEO ;SHOW IT 0CAD CD4201 CALL CRLF 0CB0 E1 RFX: POP H ;GET THE ERROR ADDRESS BACK FOR EXIT 0CB1 C9 RET ;EXIT,AND CONTINUE TESTING ; ; ; ;SUBROUTINE TO INDICATE ERROR IN WALKING PATTERN ; 0CB2 E5 PTERR: PUSH H ;SAVE BAD BYTE ADDRESS 0CB3 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 0CB6 23 INX H 0CB7 22FC0E SHLD ECTR 0CBA 3AFE0E LDA ERCNT ;DONE DISPLAYING ERRORS? 0CBD 3D DCR A 0CBE CA0A0D JZ PTX 0CC1 32FE0E STA ERCNT 0CC4 217306 LXI H,MRER1 ;OUTPUT " ERROR AT ADDRESS=" TO CONSOLE 0CC7 CD5407 CALL MSG 0CCA E1 POP H ;GET THE BAD BYTE ADDRESS ,BUT DON'T ;CHANGE THE STACK 0CCB E5 PUSH H 0CCC CD4602 CALL HLOUT 0CCF 218806 LXI H,MRER2 ;OUTPUT " READ BACK " TO CONSOLE 0CD2 CD5407 CALL MSG 0CD5 E1 POP H ;GET THAT ADDRESS AGAIN 0CD6 E5 PUSH H 0CD7 7E MOV A,M ;GET THE ERROR BYTE 0CD8 CD2302 CALL BYTEO ;SHOW IT 0CDB 219506 LXI H,MRER3 ;OUTPUT " , EXPECTED " TO CONSOLE 0CDE CD5407 CALL MSG 0CE1 3AB80E LDA ERPAT ;GET THE "GOOD" DATA BYTE 0CE4 CD2302 CALL BYTEO ;SHOW IT ALSO 0CE7 21A106 LXI H,MRER4 ;OUTPUT "LAST ADDRESS WRITTEN WAS" TO CONSOLE 0CEA CD5407 CALL MSG 0CED 2AF40E LHLD LASTW ;GET THE LAST ADDRESS WRITTEN 0CF0 CD4602 CALL HLOUT 0CF3 21BD06 LXI H,MRER5 ;OUTPUT " PATTERN WAS " TO CONSOLE 0CF6 CD5407 SATX: CALL MSG 0CF9 3AF30E LDA TPATT ;GET THE TEST PATTERN AND OUTPUT IT TO CONSOLE 0CFC CD2302 CALL BYTEO 0CFF CD4201 CALL CRLF ;KEEP IT NEAT 0D02 3EFF MVI A,0FFH ;SET THE ERROR FLAG 0D04 32B90E STA ERFLG 0D07 CD9902 CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT 0D0A E1 PTX: POP H ;RESTORE THE "BAD" ADDRESS 0D0B C9 RET ;CONTINUE TESTING ; ; ; ;SUBROUTINE TO HANDLE ERRORS IN "GALLOPING PATTERN/COLUMN TESTS ; 0D0C E5 ERR1: PUSH H 0D0D 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 0D10 23 INX H 0D11 22FC0E SHLD ECTR 0D14 3AFE0E LDA ERCNT ;DONE DISPLAYING ERRORS? 0D17 3D DCR A 0D18 CA890D JZ COMEX 0D1B 32FE0E STA ERCNT 0D1E 21CC06 LXI H,MRER6 ;OUTPUT "ERROR READING OTHER CELL" TO CONSOLE 0D21 CD5407 CALL MSG 0D24 E1 POP H 0D25 C3410D JMP COMER ;GO TO COMMON ERROR PROCESSING ; ; ; 0D28 E5 ERR2: PUSH H 0D29 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 0D2C 23 INX H 0D2D 22FC0E SHLD ECTR 0D30 3AFE0E LDA ERCNT ;DONE DISPLAYING ERRORS? 0D33 3D DCR A 0D34 CA890D JZ COMEX 0D37 32FE0E S00C60005F160021690C7919E9C39E0DC3E10DC31C :100C70003B0EC39F09C36E08C3E808C92F32B90EE3 :100C80002FE52AFC0E2322FC0E3AFE0E3DCAB00CC4 :100C900032FE0E213506CD5407E1CD4602E5CD5496 :100CA00007215306CD5407E1E57ECD2302CD420155 :100CB000E1C9E52AFC0E2322FC0E3AFE0E3DCA0ACB :100CC0000D32FE0E217306CD5407E1E5CD4602211B :100CD0008806CD5407E1E57ECD2302219506CD544B :100CE000073AB80ECD230221A106CD54072AF40EEF :100CF000CD460221BD06CD54073AF30ECD2302CDD9 :100D000042013EFF32B90ECD9902E1C9E52AFC0E3F :100D10002322FC0E3AFE0E3DCA890D32FE0E21CC76 :100D200006CD5407E1C3410DE52AFC0E2322FC0E3B :100D30003AFE0E3DCA890D32FE0E21E706CD54075C :100D4000E1E5D5C5F5E52AFC0E2322FC0E210107BD :100D5000CD5407E1E5EBCD4602EBE1E5210E07CDF1 :100D60005407E1CD4602E5211C07CD5407E178CDBB :100D70002302212F07CD54073AF30ECD2302CD4293 :100D8000013EFF32B90EF1C1D1E1C9CD9902111076 :100D9000271B7AB3C2910D0B78B1C28B0DC947CD19 :100DA000800E2AEF0EEBD52AEF0E1A2F12CD9902E4 :100DB000D1D5CD9C0ECAC90D7E32F30EB81AC40C23 :100DC0000D2F32F30EB8C4280D23EB2AF10EEBCD14 :100DD0009C0EC2AD0DD11A2F1213CD9C0EC2A60DC2 :100DE000C947CD800E2AEF0EE57E2F77CD99021EE2 :100DF00040160019EB2AF10ECD9C0EEBFA180ECA24 :100E0000180ED1D51A2F32F30EB8C40C0D7E32F362 :100E10000EB8C4280DC3EC0DE17E2F77CD900E7E69 :100E200032F30EB8C40C0DCD900E7E32F30EB8C462 :100E30000C0DCD900EE63FC8C3E80DCD800E2AEF15 :100E40000EE52F32F30ECD99023AF30E77E522F438 :100E50000E232FCD9C0ECA610EBEC4B20C23C35309 :100E60000EEBD1E3D52FBEC4B20CCD9C0E23C266CF :100E70000EE1D123CD9C0EC8E52AEF0EE3C3460E4A :100E80002AF10EEB2AEF0ECD9C0EC87723C3870EF6 :100E9000237DE63FC07DD6406FD025C9C5477C92F3 :080EA000C2A50E7D9378C1C9C3 :010EE8008089 :0000000000 TA ERCNT 0D3A 21E706 LXI H,MRER7 ;OUTPUT "ERROR READING TEST CELL" TO CONSOLE 0D3D CD5407 CALL MSG 0D40 E1 POP H 0D41 E5 COMER: PUSH H ;PROTECT THE INNOCENT 0D42 D5 PUSH D 0D43 C5 PUSH B 0D44 F5 PUSH PSW 0D45 E5 PUSH H 0D46 2AFC0E LHLD ECTR ;UPDATE THE ERROR COUNTER 0D49 23 INX H 0D4A 22FC0E SHLD ECTR 0D4D 210107 LXI H,MRER8 ;OUTPUT "TEST CELL=" TO CONSOLE 0D50 CD5407 CALL MSG 0D53 E1 POP H 0D54 E5 PUSH H 0D55 EB XCHG 0D56 CD4602 CALL HLOUT 0D59 EB XCHG 0D5A E1 POP H 0D5B E5 PUSH H 0D5C 210E07 LXI H,MRER9 ;OUTPUT ", OTHER CELL=" TO CONSOLE 0D5F CD5407 CALL MSG 0D62 E1 POP H 0D63 CD4602 CALL HLOUT 0D66 E5 PUSH H 0D67 211C07 LXI H,MER10 ;OUTPUT "PATTERN STORED=" TO CONSOLE 0D6A CD5407 CALL MSG 0D6D E1 POP H ;BLOW-AWAY H&L REGS. TO ADJUST THE STACK 0D6E 78 MOV A,B 0D6F CD2302 CALL BYTEO ;SHOW IT 0D72 212F07 LXI H,MER11 ;OUTPUT "PATTERN READ=" TO CONSOLE 0D75 CD5407 CALL MSG 0D78 3AF30E LDA TPATT 0D7B CD2302 CALL BYTEO ;SHOW IT ALSO 0D7E CD4201 CALL CRLF ;KEEP IT NEAT 0D81 3EFF MVI A,0FFH ;SET THE ERROR FLAG 0D83 32B90E STA ERFLG 0D86 F1 POP PSW ;EVERYBODY BACK FROM EXILE 0D87 C1 POP B 0D88 D1 POP D 0D89 E1 COMEX: POP H 0D8A C9 RET ; ; ; 0D8B CD9902 LOOP1: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT 0D8E 111027 LXI D,10000 0D91 1B LOOP2: DCX D 0D92 7A MOV A,D 0D93 B3 ORA E 0D94 C2910D JNZ LOOP2 0D97 0B DCX B 0D98 78 MOV A,B 0D99 B1 ORA C 0D9A C28B0D JNZ LOOP1 0D9D C9 RET ; ; ; ;ROUTINES FOR MEMORY TEST ; 0D9E 47 GALPT: MOV B,A ;SAVE THE PATTERN 0D9F CD800E CALL BAKPT ;WRITE THE "BACKGROUND" PATTERN 0DA2 2AEF0E GALST: LHLD MBOT ;GET THE TEST CELL ADDRESS 0DA5 EB XCHG ;SWAP FOR MEMORY TOP INTO H&L REGS. 0DA6 D5 PNCEL: PUSH D ;SAVE TEST CELL ADDRESS 0DA7 2AEF0E LHLD MBOT ;GET ADDRESS OF OTHER CELL 0DAA 1A LDAX D ;GET CONTENTS OF TEST CELL 0DAB 2F CMA ;FLIP IT OVER 0DAC 12 STAX D ;STORE IT BACK 0DAD CD9902 GPLOP: CALL KBINT ;CHECK KEY-BOARD INTERRUPT 0DB0 D1 POP D ;GET BACK ADDRESS OF TEST CELL 0DB1 D5 PUSH D 0DB2 CD9C0E CALL COMP ;SEE IF TEST ADDRESS EQUALS OTHER ADDRESS 0DB5 CAC90D JZ SKIP ;IF YES,SKIP TESTING 0DB8 7E MOV A,M ;GET THE OTHER CELL 0DB9 32F30E STA TPATT ;SAVE IT JUST IN CASE IT'S WRONG 0DBC B8 CMP B ;EQUAL TO PATTERN? 0DBD 1A LDAX D ;READ BACK THE TEST CELL 0DBE C40C0D CNZ ERR1 ;OOPS....REPORT THE ERROR 0DC1 2F CMA ;BACK TO ORIGINAL STATE......... 0DC2 32F30E STA TPATT ;SAVE IT 0DC5 B8 CMP B ;STILL EQUAL TO PATTERN? 0DC6 C4280D CNZ ERR2 ;OOPS....WRONG HERE ALSO 0DC9 23 SKIP: INX H ;BUMP THE OTHER ADDRESS 0DCA EB XCHG ;MEMORY TO D&E REGS. 0DCB 2AF10E LHLD MTOP 0DCE EB XCHG 0DCF CD9C0E CALL COMP ;AT TOP OF MEMORY BLOCK? 0DD2 C2AD0D JNZ GPLOP ;IF NOT,CONTINUE "GALLOPING PATTERN" LOOP 0DD5 D1 POP D ;WHOOPIE...TOP OF MEMORY BLOCK,GET BACK TEST ADDRESS 0DD6 1A LDAX D ;GET THE TEST CELL 0DD7 2F CMA ;BACK TO ORIGINAL,AND SAVE IT 0DD8 12 STAX D 0DD9 13 INX D ;BUMP FOR NEXT TEST ADDRESS 0DDA CD9C0E CALL COMP ;TOP OF BLOCK YET? 0DDD C2A60D JNZ PNCEL ;IF NOT,GET THE NEXT CELL FOR TEST 0DE0 C9 RET ; ; ; 0DE1 47 GALCL: MOV B,A ;SAVE THE PATTERN 0DE2 CD800E CALL BAKPT ;WRITE BACKGROUND 0DE5 2AEF0E LHLD MBOT 0DE8 E5 CNCEL: PUSH H ;SAVE TEST CELL ADDRESS 0DE9 7E MOV A,M ;GET CONTENTS OF TEST CELL 0DEA 2F CMA ;FLIP IT 0DEB 77 MOV M,A ;CRAM IT BACK 0DEC CD9902 CLOOP: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT 0DEF 1E40 MVI E,64 ;GOLLY,A DECIMAL NUMBER 0DF1 1600 MVI D,000H ;SCRUB D REG. 0DF3 19 DAD D 0DF4 EB XCHG ;NOW D&E REGS. EQUAL H&L REGS.+64 0DF5 2AF10E LHLD MTOP 0DF8 CD9C0E CALL COMP 0DFB EB XCHG 0DFC FA180E JM CINCR ;BUMP THE TEST CELL ADDRESS IF < MEMORY TOP ADDRESS 0DFF CA180E JZ CINCR 0E02 D1 POP D ;GET AND SAVE THE TEST CELL 0E03 D5 PUSH D 0E04 1A LDAX D 0E05 2F CMA ;FLIP IT 0E06 32F30E STA TPATT ;SAVE IT IN CASE IT'S WRONG 0E09 B8 CMP B ;EQUAL TO,PATTERN? 0E0A C40C0D CNZ ERR1 ;IF NOT,REPORT ERROR 0E0D 7E MOV A,M ;TEST OTHER CELL 0E0E 32F30E STA TPATT ;SAVE IT 0E11 B8 CMP B ;EQUAL TO PATTERN? 0E12 C4280D CNZ ERR2 ;IF NOT,REPORT ERROR 0E15 C3EC0D JMP CLOOP ;TRY NEXT OTHER CELL 0E18 E1 CINCR: POP H ;GET TEST CELL ADDRESS 0E19 7E MOV A,M ;GET CONTENTS 0E1A 2F CMA ;FLIP BACK TO ORIGINAL 0E1B 77 MOV M,A ;RESAVE 0E1C CD900E CALL INC64 ;BUMP TEST ADDRESS MODULO 64 0E1F 7E MOV A,M ;EQUAL TO PATTERN? 0E20 32F30E STA TPATT ;SAVE IT IN CASE IT'S WRONG 0E23 B8 CMP B 0E24 C40C0D CNZ ERR1 0E27 CD900E CALL INC64 0E2A 7E MOV A,M 0E2B 32F30E STA TPATT 0E2E B8 CMP B 0E2F C40C0D CNZ ERR1 0E32 CD900E CALL INC64 0E35 E63F ANI 63 0E37 C8 RZ ;RETURN IF WRAPPED AROUND TO START ADDRESS 0E38 C3E80D JMP CNCEL ; ; ; 0E3B CD800E WALKT: CALL BAKPT ;WRITE FULL BACKGROUND PATTERN 0E3E 2AEF0E LHLD MBOT ;POINT TO FIRST BYTE OF BLOCK ADDRESS 0E41 E5 PUSH H ;SAVE FOR INSTANT RESET 0E42 2F CMA ;FLIP BACKGROUND PATTERN FOR TEST PATTERN 0E43 32F30E STA TPATT ;SAVE IT 0E46 CD9902 WPAT: CALL KBINT ;CHECK FOR KEY-BOARD INTERRUPT 0E49 3AF30E LDA TPATT ;GET THE TEST PATTERN 0E4C 77 MOV M,A ;STUFF PATTERN INTO MEMORY 0E4D E5 PUSH H ;SAVE "LAST WRITTEN" ADDRESS 0E4E 22F40E SHLD LASTW 0E51 23 INX H 0E52 2F CMA ;FLIP TO BACKGROUND PATTERN 0E53 CD9C0E CPAT1: CALL COMP ;TEST BACKGROUND PATTERN FROM "LAST WRITTEN+1", ; TO "END OF BLOCK" ;TESTED ALL REMAINING BACKGROUND? 0E56 CA610E JZ WKSET ;IF YES,GO TEST PATTERN BYTES 0E59 BE CMP M ;NO...TEST BACKGROUND BYTE 0E5A C4B20C CNZ PTERR ;IF BAD BYTE,REPORT ERROR 0E5D 23 INX H ;BUMP THE POINTER 0E5E C3530E JMP CPAT1 ;GO FOR MORE 0E61 EB WKSET: XCHG ;SET-UP FOR NEXT SECTION,H&L REGS. EQUAL ; LAST ADDRESS IN BLOCK+1 0E62 D1 POP D ;D&E REGS. EQUAL "LAST WRITTEN" ADDRESS 0E63 E3 XTHL ;H&L REGS. EQUAL FIRST ADDRESS IN BLOCK 0E64 D5 PUSH D ;JAM-ON "LAST WRITTEN" TO STACK 0E65 2F CMA ;GET TEST PATTERN BACK 0E66 BE CPAT2: CMP M ;TEST PATTERN BYTES FROM START OF BLOCK, ; TO "LAST WRITTEN" 0E67 C4B20C CNZ PTERR ;ERROR IN "WALKED" BYTE? 0E6A CD9C0E CALL COMP ;NO,THEN ARE WE DONE? 0E6D 23 INX H 0E6E C2660E JNZ CPAT2 ;GO FOR MORE IF NOT DONE YET 0E71 E1 POP H ;SET-UP FOR NEXT PATTERN BYTE,H&L REGS. EQUAL ; "LAST WRITTEN" ADDRESS 0E72 D1 POP D ;D&E REGS. EQUAL LAST ADDRESS IN BLOCK+1 0E73 23 INX H ;BUMP FOR NEXT ADDRESS TO WRITE 0E74 CD9C0E CALL COMP ;DONE THE WHOLE THING? 0E77 C8 RZ 0E78 E5 PUSH H ;NO,PUT A COPY OF MEMORY BOTTOM ON THE STACK 0E79 2AEF0E LHLD MBOT 0E7C E3 XTHL 0E7D C3460E JMP WPAT ;GO DO SOME MORE ; ; ; ;SUBROUTINE TO GENERATE BACKGROUND PATTERN AS CONTAINED IN A REG. ; 0E80 2AF10E BAKPT: LHLD MTOP 0E83 EB XCHG 0E84 2AEF0E LHLD MBOT ;TOP'S IN D&E REGS.,BOTTOM'S IN H&L REGS. 0E87 CD9C0E BAKGR: CALL COMP ;WE DONE? 0E8A C8 RZ 0E8B 77 MOV M,A ;STORE THE BACKGROUND PATTERN 0E8C 23 INX H ;BUMP FOR NEXT ADDRESS 0E8D C3870E JMP BAKGR ;GO DO MORE 'TILL WE HIT TOP ; ; ; ;SUBROUTINE TO INCREMENT H&L REGS. MODULO 64 ; 0E90 23 INC64: INX H ;TEST FOR WRAP-AROUND 0E91 7D MOV A,L 0E92 E63F ANI 63 0E94 C0 RNZ 0E95 7D MOV A,L 0E96 D640 SUI 64 0E98 6F MOV L,A 0E99 D0 RNC 0E9A 25 DCR H ;BORROW IF NEEDED 0E9B C9 RET ; ; ; ;SUBROUTINE TO COMPARE H&L REGS. TO D&E REGS. FOR BLOCK COMPLETION ; 0E9C C5 COMP: PUSH B 0E9D 47 MOV B,A 0E9E 7C MOV A,H 0E9F 92 SUB D 0EA0 C2A50E JNZ COMP1 0EA3 7D MOV A,L 0EA4 93 SUB E 0EA5 78 COMP1: MOV A,B 0EA6 C1 POP B 0EA7 C9 RET ; ; ; ;STORAGE FOR VARIABLES AND STACK POINTERS ; 0EA8 DS 16 ;16 BYTE STACK POINTER STORAGE AREA 0EB8 STACK: DS 000H 0EB8 ERPAT: DS 1 ;STORAGE FOR ERROR PATTERN 0EB9 ERFLG: DS 1 ;STORAGE FOR BLOCK ERROR FLAG 0EBA DROPC: DS 1 ;STORAGE FOR NUMBER OF "DROPPED" BLOCKS 0EBB DROP: DS 28 ;DROP BUFFER 0ED7 DROPP: DS 2 ;POINTER TO NEXT FREE SLOT IN DROP LIST 0ED9 MBUF: DS 15 ;MEMORY BLOCK BUFFER 0EE8 80 DB 080H ;TERMINATOR FOR MEMORY BLOCK BUFFER POINTER 0EE9 MEMPT: DS 2 ;STORAGE FOR MEMORY BUFFER POINTER 0EEB BLKST: DS 2 ;STORAGE FOR MEMORY BLOCK START ADDRESS 0EED MEND: DS 2 ;STORAGE FOR MEMORY BLOCK END ADDRESS 0EEF MBOT: DS 2 ;STORAGE FOR 256 "CHUNK" START ADDRESS 0EF1 MTOP: DS 2 ;STORAGE FOR 256 "CHUNK" END ADDRESS 0EF3 TPATT: DS 1 ;STORAGE FOR LAST PATTERN WRITTEN 0EF4 LASTW: DS 2 ;STORAGE FOR LAST ADDRESS WRITTEN 0EF6 MTEST: DS 2 ;STORAGE FOR MEMORY TEST POINTER 0EF8 AUTOR: DS 2 ;STORAGE FOR "AUTO1" RETURN ADDRESS FOR LOOPING 0EFA PCTR: DS 2 ;STORAGE FOR "PASS" COUNTER 0EFC ECTR: DS 2 ;STORAGE FOR "ERROR" COUNTER 0EFE ERCNT: DS 1 ;STORAGE FOR ERROR DISPLAY COUNTER ; ; ; 0EFF END S 1 ;STORAGE FOR LAST PATTERN WRITTEN 0EF4 LASTW: DS 2 ;STORAGE FOR LAST ADDRESS WRITTEN 0EF6 MTEST: DS 2 ;STORAGE FOR MEMORY TEST POINTER 0EF8 AUTOR: DS 2 ;STORAGE FOR "AUTO1" RETURN ADDRESS FOR LOOPING 0EFA PCTR: DS 2 ;STORAGE FOR "PASS" COUNTER 0EFC ECTR: DS 2 ;STORAGE FOR "ERROR" COUNTER 0EFE ERCNT: DS 1 ;S1d0 )) 00OY6 Y Y#B Yy!+|g>>!T!$T!#~/wʄ+F!6T!"!"!"ß 1d1B-YMaGTdB?Yñ6OY!TB! ))))o3OY7OY @0B|#}#C=Y~# Y! TO ʱ ʑ^ʕ wʑ YEY#j+j ʱ Y Y Y Y YG MICROCOSM ASSOCIATES "SUPER MEMORY DIAGNOSTIC" VERSION 1.01 (C) 1979EMORY ADDRESS= O ADDRESS= TOP OF MEMORY=+ MEMORY QUALIFICATION TEST IS IN PROGRESS' TEST MEMORY IN "AUTO" MODE (Y OR N)?/ TEST "ALL","SELECT",OR "MONITOR" (A,S OR M)? TEST IS IN PROGRESS TESTING MEMORY,FROM  TO  PASS=, TOTAL ERRORS= GALLOPING PATTERNS TEST STATIC CHECK CYCLE TEST CHECKING DATA RETENTION GALLOPING COLUMNS TEST RANDOM PATTERNS TEST WRITE SATURATION TEST WALKING PATTERNS TEST NO MEMORY BLOCKS DROPPED DROPPED MEMORY BLOCK(S)= LOW MEMORY ADDRESS= HIGH MEMORY ADDRESS= INVALID MEMORY ADDRESS TEST OPTIONS ARE: 01-GALLOPING PATTERNS TEST 02-GALLOPING COLUMNS TEST 03-WALKING PATTERNS TEST 04-RANDOM PATTERNS TEST 05-WRITE SATURATION TEST 06-STATIC CHECK CYCLE TEST, ENTER TEST NUMBER (01,02,03,04,05 OR 06)= ENTER PATTERN(00-FF)= RETENTION ERROR AT ADDRESS= EXPECTED "00" DATA,READ BACK  ERROR AT ADDRESS= READ BACK ,EXPECTED  LAST ADDRESS WRITTEN WAS  ,PATTERN WAS  ERROR READING OTHER CELL ERROR READING TEST CELL TEST CELL= , OTHER CELL= PATTERN STORED= PATTERN READ= BIT(S) IN ERROR=F#NY#X!""{> r>!bTYʕNʘ ͙!"+w+w!":**s#r#"!4*+6> 22*~#".g"g"!"!T!T*F!T*F!T*#"F!T*F!:"ë 1!T*"*"d͢>̀͊d>̀͊͢ d͢/̀͊:d͢/̀͊**G2͜~ı#Õ͙̀¢2>2*#":= 2!sTF!T:#! >̀ ͋ ͊̀ ͋ ͊!T*"$.">͞ ͞ *͜0  !T͋ !9T**| #͜J !ST*"*"> !T*"$.">;;*͜ʘ y o **DM *ü !lT*DM *T]!33!9yx ;;}o|g>o|o kb> =#§ >>§ ==#§ ~+~w#~w#yxD +~+##§ #yxD ++~##§ kb! kbUr#s#yxU !9zS_§ #yxd !9U~U UU 2:=5 2! WsÓ !9B! @ S! @ P! Ó ! @ /! Ó !9ZV! @ @! Ó !9{_{_/ #  >,# z/z *#"*@ z U 0Y z j 0:} !T!!T^#V#F=€ >2! "!TAʾ S Mʱã !"!" !T| !T "!Tz* !TØ #"!2T!GT!fT!T!T!T!T!TS  G!TSO!T x_!i yÞ ;ß n/2/*#":=ʰ 2!5TFT!ST~#B*#":= 2!sTF!T~#!T:#!T*F!T:#B>2͙*#":=ʉ 2!TA *#":=ʉ 2!T*#"!TF!TF!Tx#!/T:#B>2͙'z‘ x‹ G̀**/͙͜ ~2 /2( #*͜­ /͜¦ G̀*~/w͙@*͜/2 ~2( ~/w͐~2 ͐~2 ͐? ̀*/2͙:w"#/͜aIJ #S/IJ ͜#f#͜*F**͜w#Ç#}?}@o%G|¥}x/͙͜ ~2 /2( #*͜­ /͜¦ G̀*;*********************************************************************** ; MICROCOSM MEMORY MAP DISPLAY PROGRAM VERSION 1.0 (C) 1979 ;*********************************************************************** ; (revised 5/5/80) ; ; COPYRIGHT (C) 1979 ,BY MICROCOSM.ALL RIGHTS RESERVED.NO PART MAY BE ; REPRODUCED,TRANSMITTED,TRANSCRIBED ,STORED IN RETRIEVAL SYSTEM, OR ; TRANSLATED INTO ANY LANGUAGE OR COMPUTER LANGUAGE, IN ANY FORM OR ; BY ANY MEANS,ELECTRONIC,MECHANICAL,MAGNETIC,OPTICAL,CHEMICAL,MANUAL ; OR OTHERWISE, WITHOUT THE PRIOR WRITTEN PERMISSION OF MICROCOSM, ; 3055 WACO ST.,SIMI VALLEY,CALIFORNIA 93063. ; ; DISCLAIMER ; ========== ; ; MICROCOSM MAKES NO REPRESENTATION OR WARRANTIES WITH RESPECT TO THE ; CONTENTS HEROF AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF ; MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. FURTHER , ; MICROCOSM RESERVES THE RIGHT TO REVISE AND TO MAKE CHANGES FROM ; TIME TO TIME IN THE CONTENT HEREOF WITHOUT OBLIGATION OF MICROCOSM ; TO NOTIFY ANY PERSON OF SUCH REVISION OR CHANGES. ; ;************************************************************************ ; ;05/05/80 MODIFIED TO WAIT FOR RETURN TO START SO ; DISKS CAN BE REMOVED. (THIS IS TO PREVENT ; POSSIBILITY OF DISK WRITES IN MEMORY-MAPPED ; DISK CONTROLLER SYSTEMS). KEITH PETERSEN, W8SDZ ; ; ORG 00100H ; ; ; BDOS EQU 5 ;BDOS ENTRY CHIF EQU 1 ;CP/M INPUT CHARACTER FUNCTION CHRF EQU 2 ;CP/M PRINT CHARACTER FUNCTION PRNF EQU 9 ;CP/M PRINT CHARACTER STRING FUNCTION CR EQU 00DH ;CARRIAGE-RETURN CHARACTER LF EQU 00AH ;LINE-FEED CHARACTER ; ; ; MAP: LXI H,0 ;SET-UP STACK DAD SP ;ENTRY STACK POINTER FROM CP/M CCP SHLD OLDSP ;SAVE IT LXI SP,STACK ;SET STACK TO LOCAL STACK AREA GETIT: MVI C,PRNF ;OUTPUT "PRESS RETURN TO START" LXI D,STRMSG CALL BDOS MVI C,CHIF ;GET CHARACTER CALL BDOS CPI CR ;CARRIAGE RETURN? JNZ GETIT ;NOPE, TRY AGAIN CALL CRLF ;KEEP IT NEAT MVI C,PRNF ;OUTPUT "BLOCK LOCATION" LXI D,BLKMSG CALL BDOS LXI H,0 ;POINT TO BLOCK 0 MVI B,1 ;"ITEMS TO A LINE" COUNTER MAP1: MVI E,'M' ;INDICATE "M" FOR RAM MOV A,M ;GET FIRST BYTE OF BLOCK CMA ;INVERT IT MOV M,A ;TRY TO MODIFY MEMORY CMP M ;WAS MEMORY MODIFIED? CMA ;RESTORE A REG. TO INITIALLY READ VALUE MOV M,A ;RESTORE MEMORY JNZ MAP2 ;SKIP,IF NOT RAM CMP M ;TEST IF RAM FOR SURE JZ PRINT ;YUP,IT'S RAM MAP2: MVI E,'P' ;INDICATE "P" FOR PROM MAP3: MVI A,0FFH ;ABSENCE OF MEMORY IS ALL ONE'S CMP M ;TEST FOR NO MEMORY JNZ PRINT ;YUP,IT'S PROM INR L ;DO CHECK ON NEXT BYTE XRA A ;CLEAR A REG. FOR 256 BYTE BLOCK COUNTER CMP L ;TEST IF BLOCK CHECK DONE JNZ MAP3 ;LOOP 256 TIMES MVI E,'.' ;INDICATE "." FOR NO MEMORY PRINT: MVI L,0 ;CLEAR LS BYTE OF MEMORY POINTER DCR B ;COUNT ITEMS TO A LINE JNZ NLINE ;SKIP IF NOT A NEW LINE MVI B,16 ;16 ITEMS TO A LINE CALL CRLF ;OUTPUT "CR/LF" CALL HEXO ;OUTPUT BLOCK ADDRESS NLINE: MVI A,' ' ;OUTPUT A SPACE CHARACTER CALL PCHAR MOV A,E ;GET MEMORY TYPE CHARACTER CALL PCHAR ;PRINT IT INR H ;BUMP FOR NEXT BLOCK JNZ MAP1 ;CONTINUE UNTIL LAST BLOCK CALL CRLF ;KEEP IT NEAT FOR RETURN TO CP/M LHLD OLDSP ;GET OLD STACK POINTER SPHL ;RESTORE IT RET ;STACK POINTER CONTAINS CCP'S STACK LOCATION ; ; ; HEXO: MOV C,H ;GET MS BYTE CALL HEXO1 ;OUTPUT MS BYTE MOV C,L ;GET LS BYTE HEXO1: MOV A,C ;GET BYTE TO BE CONVERTED RAR ! RAR ! RAR ! RAR ;ROTATE UPPER NIBBLE CALL HEXO2 ;OUTPUT UPPER NIBBLE MOV A,C HEXO2: ANI 00FH ;MASK UPPER NIBBLE CPI 10 ;TEST IF >10 JC HEXO3 ;SKIP IF <10 ADI 7 ;ADJUST ASCII HEXO3: ADI 030H ;ADD ASCII BIAS PCHAR: PUSH H ! PUSH D ! PUSH B ! PUSH PSW MVI C,CHRF ;DO CP/M PRINT CHARACTER FUNCTION MOV E,A ;CHARACTER TO E REG. CALL BDOS ;LET CP/M DO THE WORK POP PSW ! POP B ! POP D ! POP H RET ; ; ; CRLF: MVI A,CR ;PRINT "CARRIAGE-RETURN" CALL PCHAR MVI A,LF ;PRINT "LINE-FEED" CALL PCHAR RET ; ; ; BLKMSG DB CR,LF,' 0 1 2 3 4 5 6 7 8 9 A B C D E F$' ; STRMSG DB 'REMOVE DISKS & PRESS RETURN TO START > $' ; ; OLDSP DS 2 ;ENTRY STACK POINTER VALUE FROM CP/M CCP DS 32 ;RESERVE 16 LEVEL STACK STACK EQU $ ; ; ; END CP/M DO THE WORK POP PSW ! POP B ! POP D ! POP H RET ; ; ; CRLF: MVI A,CR ;PRINT "CARRIAGE-RETURN" CALL PCHAR MVI A,LF ;PRINT "LINE-FEED" CALL PCHAR RET ; ; ; BLKMSG DB CR,LF,' 0 1 2 3 4 5 6 7 8 9 A B C D E F$' ; STRMSG DB 'REMOVECBASIC in General CBASIC Compile-Time Toggled Options Compiler Error Messages Run-Time Error Messages -- Warnings Run-Time Error Messages -- Error Codes CBASIC Reserved Words :CBASIC: CBASIC in General CBASIà i compile BASI whic ma b execute o an flopp dis base CP/ syste havin a leas 20 byte o memory I orde t mak th bes us o th powe an flexibilit o CBASIC dua flopp dis syste an a leas 32 o memor i recommended I CBASI i execute in a system smaller than 20K, a CP/M LOAD ERROR may occur. Th CBASI syste consist o tw program -- CBASI an CRUN CBASI i th compiler an CRU i th run-tim intepreter I typica CBASI session th use wil writ th progra usin ED compil i usin CBASI (with the $B option to suppress listing), and run it using CRUN. Refer to the 84-page CBASIC manual -- C B A S I C A Commercially Oriented Compiler/Interpreter BASIC Language Facility for CP/M Systems February 17, 1978 :CBASIC: CBASIC Compile-Time Toggled Options Compile toggle ar serie o switche tha ca b se whe th compile i executed Th toggle ar se b typin dollar-sig ($ followe b th lette designation o th desire toggle startin on spac o mor afte th progra nam o th comman line Toggle ma onl be set for the compiler. Examples of compiler toggles and invocation forms are -- CBASIC INVENTRY $BGF B:CBASIC A:COMPARE $GEC CBASIC PAYROLL $B CBASIC B:VALIDATE $E CBASIC Compiler Toggles TOGGL B Suppresse th listin o th progra o th consol durin compilation I a erro i detected th sourc lin wit th erro an th erro messag wil b printe eve i Toggl i set Toggl doe not affect listing to the printer (Toggle F) or disk file (Toggle G). Toggle B is initially off. TOGGLŠ C Suppresse th generatio o a IN file Engagin thi toggl wil provid synta chec withou th overhea o writin th intermediat file. Toggle C is initially off. TOGGL D Suppresse translatio o lower-cas letter t upper-case Fo example i Toggl i on 'AMT wil no refe t th sam variabl as 'amt'. Toggle D is initially off. TOGGLŠ E Cause th run-tim progra (CRUN t accompan an erro message wit th CBASI lin numbe i whic th erro occurred Toggl mus b se i orde fo th TRAC optio (se sectio 13. o th manual to work. Toggle E is initially off. TOGGLŠ F Cause th compile outpu listin t b printe o th LST: device in addition to the system console. Toggle F is initially off. TOGGLŠ G Cause th compile outpu listin t b writte t diskette Th fil containin th compile listin ha th sam nam a the .BAS file, but its type is .LST. Toggle G is initially off. :CBASIC: Compiler Error Messages Text Messages NO SOURCE FILE: .BAS Th compile coul no locat sourc fil use i eithe CBASI command or an INCLUDE directive. PROGRAM CONTAINS n UNMATCHED FOR STATEMENT(S) There are n FOR statements for which a NEXT could not be found. PROGRAM CONTAINS n UNMATCHED WHILE STATEMENT(S) There are n WHILE statements for which a WEND could not be found. WARNING: INVALID CHARACTER IGNORED Th previou lin contain a invali ASCI character thi characte is ignored by the compiler, and a question mark is printed in its place. 2-Letter Error Codes CE -- Close Error The intermediate (.INT) file could not be closed. DE -- Disk Error A disk error occurred while trying to read the .BAS file. DF -- Disk Full Ther wa n spac o th dis o th dis director wa full Th .INT file was not created. DL -- Duplicate Line number Th sam lin numbe wa use o tw differen lines Othe compile error ma caus D erro messag t b printe eve i duplicat lin numbers do not exist. DP -- Defined Previously A variable in a DIM statement was previously defined. EF -- Exponential Format numbe i exponentia forma wa inpu wit n digit followin th E. FD -- Function Definition functio nam tha ha bee previousl define i bein redefine i a DEF statement. FI -- FOR Index A expressio whic i no a unsubscripte numeri variabl i bein used as a FOR loop index. FN -- Function parameter Number A function reference contains an incorrect number of parameters. FP -- Function Parameter type functio referenc paramete typ doe no matc th paramete typ used in the function's DEF statement. FU -- Function Undefined A function has been referenced before it has been defined. IE -- IF Expression A expressio use immediatel followin a IƠ evaluate t typ string. Only type numeric is permitted. IF -- In File variabl use i FIL statemen i o typ numeri wher typ string is required. IP -- Input Prompt An input prompt string is not surrounded by quotes. IS -- Invalid Subscript A subscripted variable was referenced before it was dimensioned. IU -- Invalid Use A variable defined as an array is used with no subscripts. MF -- Mixed Format An expression evaluates to type string when type numeric is required. MM -- Mixed Mode Variable o typ strin an typ numeri ar combine i th sam expression. NI -- NEXT Index variabl reference b NEX statemen doe no matc th variabl referenced by the associated FOR statement. NU -- NEXT Unexpected A NEXT statement occurs without an associated FOR statement. OO -- ON Overflow More than 25 ON statements were used in the program. SE -- Syntax Error The source line contains a syntax error. SN -- Subscript Number A subscripted variable contains an incorrect number of subscripts. SO -- Syntax Overflow Th expressio i to comple an shoul b simplifie an place o more than one line. TO -- Table Overflow Th progra i to larg fo th system Th progra mus b simplified or the system size increased. UL -- Undefined Line number A line number that does not exist has been referenced. US -- Undefined String A string has been terminated by a carriage return rather than quotes. VO -- Variable Overflow Variable names are too long for one statement. This should not occur. WE -- WHILE Error The expression immediately following a WHILE statement is not numeric. WU -- WHILE Undefined A WEND statement occurs without an associated WHILE statement. :CBASIC: Run-Time Error Messages -- Warnings Tw textua run-tim erro message ar presente b CRUN: NO INTERMEDIATE FILE fil nam wa no specifie wit th CRU command o n fil o typ .IN an th specifie fil nam wa foun o disk. IMPROPER INPUT - REENTER Thi messag occur whe th field entere fro th consol d no matc th fiel specifie i th INPU statement Thi ca occu whe fiel type d no matc o th numbe o field entere i differen fro th numbe o field specified Al field specifie b th INPU statemen mus b reentered. 2-Letter Warning Codes DZ -- Divide by Zero numbe wa divide b zero Th resul i se t th larges vali CBASI number. FL -- Field Length fiel lengt greate tha 25 byte wa encountere durin REA LINE Onl th firs 25 character o th recor ar retained. LN -- Logarithm error Th argumen give i th LO functio wa zer o negative Th valu o th argumen i returned. NE -- NEgative number negativ numbe wa specifie followin th rais t powe operato (^) Th absolut valu i use i th calculation. OF -- OverFlow calculatio produce numbe to large Th resul i se o th larges vali CBASI number. SQ -- SQuare root error negativ numbe wa specifie i th SQ function Th absolut valu i used. :CBASIC: Run-Time Error Messages -- Error Codes AC -- AsCii error Th strin use a th argumen i a AS functio evaluate t nul string. CE -- Close Error An error occurred upon closing a file. CU -- Close Undefined file clos statemen specifie fil numbe tha wa no active. DF -- Defined File A OPE o CREAT wa specifie wit fil numbe tha wa alread active. DU -- Delete Undefined file DELET statemen specifie fil numbe tha wa no active. DW -- Disk Write error A erro occurre whil writin t file Thi occur whe eithe th director o th dis i full. EF -- End of File rea pas th en o fil occurre o fil fo whic n IƠ EN statemen ha bee executed. ER -- Error in Record A attemp wa mad t writ recor o lengt greate tha th maximu recor siz specifie i th associate OPEN CREATE o FIL statement. FR -- File Rename A attemp wa mad t renam fil t a existin fil name. FU -- File Undefined A attemp wa mad t rea o writ t fil tha wa no active. IR -- Invalid Record number A record number less than one was specified. LW -- Line Width lin widt les tha o greate tha 13 wa specifie i a LPRINTE WIDT statement. ME -- MAKE Error A erro occurre whil creatin o extendin fil becaus th dis director wa full. MP -- MATCH Parameter Th thir paramete i MATC functio wa zer o negative. NF -- Number of FILE Th fil numbe specifie wa les tha o greate tha 20. NM -- No Memory There was insufficient memory to load the program. NN -- No Number field A attemp wa mad t prin numbe wit PRIN USIN statemen bu ther wa no numeri dat fiel i th USIN string. NS -- No String field A attemp wa mad t prin strin wit PRIN USIN statemen bu ther wa no strin fiel i th USIN string. OD -- Overflow Data REAĠ statemen wa execute wit n DAT available. OE -- OPEN Error A attemp wa mad t OPE fil tha didn' exis an fo whic n I EN statemen ha bee previousl executed. OI -- ON Index Th expressio specifie i a O .. GOSU o a OΠ .. GOT statemen evaluate t numbe les tha o greate tha th numbe o lin number containe i th statement. OM -- Overflow Memory The program ran out of memory during execution. QE -- Quote Error A attemp wa mad t PRIN t fil strin containin quotatio mark. RE -- READ Error A attemp wa mad t rea pas th en o recor i fixe file. RG -- RETURN with no GOSUB A RETURN occurred for which there was no GOSUB. RU -- Random Undefined rando rea o prin wa attempte t othe tha fixe file. SB -- SuBscript A arra subscrip wa use whic exceede th boundarie fo whic th arra wa defined. SL -- String Length concatenatio operatio resulte i strin o mor tha 25 bytes. SS -- SubString error Th secon paramete o MID functio wa zer o negative. TF -- Too many Files A attemp wa mad t hav mor tha 2 activ file simultaneously. TL -- TAB Length TA statemen containe paramete les tha o greate tha th curren lin width. UN -- UNdefined edit string PRIN USIN statemen wa execute wit nul edi string. WR -- WRite error A attemp wa mad t writ t fil afte i ha bee read bu befor i ha bee rea t th en o th file. :CBASIC: CBASIC Reserved Words CBASIC Reserved Words ABS EQ LEN POS STOP AND EXP LET PRINT STR$ AS FEND LINE RANDOMIZE SUB ASC FILE LOG READ TAB ATN FOR LPRINTER RECL TAN CALL FRE LT REM THEN CHR$ GE MATCH REMARK TO CLOSE GO MID$ RENAME USING CONSOLE GOSUB NE RESTORE VAL COS GOTO NEXT RETURN WEND CREATE GT NOT RIGHT$ WHILE DATA IF ON RND WIDTH DEF INP OPEN SGN XOR DELETE INPUT OR SIN DIM INT OUT SIZE ELSE LE PEEK SQR END LEFT$ POKE STEP  RESTORE VAL COS GOTO NEXT RETURN WEND CREATE GT NOT RIGHT$ WHILE CBASIC in General CBASIC2 Compile-Time Toggled Options XREF Cross Reference Facility Compiler Error Messages Run-Time Error Messages -- Warnings Run-Time Error Messages -- Error Codes CBASIC2 Reserved Words CBASIC2 Expression Hierarchy CBASIC2 Predefined Functions :CBASIC2: CBASIC in General CBASIà i compile BASI whic ma b execute o an flopp dis base CP/ syste havin a leas 20 byte o memory I orde t mak th bes us o th powe an flexibilit o CBASIC dua flopp dis syste an a leas 32 o memor i recommended I CBASI i execute in a system smaller than 20K, a CP/M LOAD ERROR may occur. Th CBASI syste consist o tw program -- CBASI an CRUN CBASI i th compiler an CRU i th run-tim intepreter I typica CBASI session th use wil writ th progra usin ED compil i usin CBASI (with the $B option to suppress listing), and run it using CRUN. Refer to the 84-page CBASIC manual -- C B A S I C A Commercially Oriented Compiler/Interpreter BASIC Language Facility for CP/M Systems February 17, 1978 CBASIC i a upward-compatabl (i term o sourc code extensio o th origina CBASIC I additio t al o th feature o th origina CBASIC, CBASIC2 adds the following: 1. Integer variables 2. Chaining with common variables 3. Additional pre-defined functions 4. Cross Reference capability Not tha CBASIC i upward-compatabl wit CBASI onl i term o th sourc cod files A IN fil create unde CBASI wil no execut with the Version 2 Run-Time Monitor (CRUN2). For further information, refer to the 100-page reference manual -- C B A S I C A Commercially Oriented Compiler/Interpreter BASIC Language Facility for CP/M Systems Version 2 May 1, 1979 :CBASIC2: CBASIC2 Compile-Time Toggled Options Compile toggle ar serie o switche tha ca b se whe th compile i executed Th toggle ar se b typin dollar-sig ($ followe b th lette designation o th desire toggle startin on spac o mor afte th progra nam o th comman line Toggle ma onl be set for the compiler. Examples of compiler toggles and invocation forms are -- CBAS2 INVENTRY $BGF B:CBAS2 A:COMPARE $GEC CBAS2 PAYROLL $B CBAS2 B:VALIDATE $E CBASIC Compiler Toggles TOGGL B Suppresse th listin o th progra o th consol durin compilation I a erro i detected th sourc lin wit th erro an th erro messag wil b printe eve i Toggl i set Toggl doe not affect listing to the printer (Toggle F) or disk file (Toggle G). Toggle B is initially off. TOGGLŠ C Suppresse th generatio o a IN file Engagin thi toggl wil provid synta chec withou th overhea o writin th intermediat file. Toggle C is initially off. TOGGL D Suppresse translatio o lower-cas letter t upper-case Fo example i Toggl i on 'AMT wil no refe t th sam variabl as 'amt'. Toggle D is initially off. TOGGLŠ E Cause th run-tim progra (CRUN2 t accompan an erro message wit th CBASI lin numbe i whic th erro occurred Toggl mus b se i orde fo th TRAC optio (se sectio 13. o th manual t work. Toggle E is initially off. TOGGLŠ F Cause th compile outpu listin t b printe o th LST: device in addition to the system console. Toggle F is initially off. TOGGLŠ G Cause th compile outpu listin t b writte t diskette Th fil containin th compile listin ha th sam nam a the .BAS file, but its type is .LST. Normall th dis listin wil b place o th sam sourc driv a th sourc file Th operato ma selec anothe driv b specifyin th desired drive, enclosed in parens, following the G toggle; for example, CBAS2 B:TAX $G(A:) extracts the source from drive B: and sends the listing to drive A:. Toggle G is initially off. :CBASIC2: XREF Cross Reference Facility Th XREF.CO͠ Cros Referenc utilit progra produce fil whic contain a alphabetize lis o al identifier use i CBASIà program Th usag o th identifie (function parameter o global i provided a wel a lis o eac lin i whic tha identifie i used Th fil create ha th sam nam a th CBASI sourc fil an i o typ XRF The standard output is 132 columns wide. The following command is used to invoke XREF -- XREF [disk ref] [$] ['title'] I th dis referenc i specified i instruct XRE a t wha dis to place the output on. The toggles are described on the next display. Th optiona titl fiel mus b th las fiel i th comman line Al character followin th firs apostroph o th comman lin u t th secon apostroph o unti th en o th comman lin becom th title Th titl i truncate t 3 character i th listin i 13 column wid and 20 characters if the D toggle (80 column listing) is specified. XREF Toggles Toggl A Cause th listin t b otpu t th lis devic a wel as the disk file. Toggl B Suppresse outpu t th disk I onl th toggl i specified, no output is produced. Toggl C Suppresse outpu t th dis an permit outpu t th list device; same as A and B combined. Toggle D: Causes output to be 80 columns wide instead of 132. Toggle E: Produces output with only the identifiers and their usage. Fo example th followin comman produce cros referenc listin on the list device which is 80 columns wide -- XREF PROG $CD :CBASIC: Compiler Error Messages Text Messages NO SOURCE FILE: .BAS Th compile coul no locat sourc fil use i eithe CBASI command or an INCLUDE directive. PROGRAM CONTAINS n UNMATCHED FOR STATEMENT(S) There are n FOR statements for which a NEXT could not be found. PROGRAM CONTAINS n UNMATCHED WHILE STATEMENT(S) There are n WHILE statements for which a WEND could not be found. WARNING: INVALID CHARACTER IGNORED Th previou lin contain a invali ASCI character thi characte is ignored by the compiler, and a question mark is printed in its place. OUT OF DISK SPACE Th compile ha ru ou o dis spac whil attemptin t writ either the INT or LST files. Text Messages (Con't) OUT OF DIRECTORY SPACE Th compile ha ru ou o director entrie whil attemptin t create or extend a file. DISK ERROR A disk error occurred while trying to read or write to a disk file. INCLUDE NESTING TOO DEEP NEAR LINE n A includ statemen nea lin i th sourc progra exceed th maximum level of nesting of source files. 2-Letter Error Codes BF -- Branch into Function A branch into a multiple line function from outside was attempted. BN -- Bad Number An invalid numeric constant was encountered. CE -- Close Error The intermediate (.INT) file could not be closed. CI -- Close Include An invalid file name in an %INCLUDE statement. CS -- COMMON Statement error COMMO statemen whic wa no th firs statemen i th progra wa detected. CV -- COMMON Variable error An improper reference to a subscripte variable in a COMMON statement. DE -- Disk Error A disk error occurred while trying to read the .BAS file. DF -- Disk Full Ther wa n spac o th dis o th dis director wa full Th .INT file was not created. DL -- Duplicate Line number Th sam lin numbe wa use o tw differen lines Othe compile error ma caus D erro messag t b printe eve i duplicat lin numbers do not exist. DP -- Defined Previously A variable in a DIM statement was previously defined. EF -- Exponential Format numbe i exponentia forma wa inpu wit n digit followin th E. FA -- Function Attribute functio nam appear o th lef sid o a assignmen statemen but is not within that function. FD -- Function Definition functio nam tha ha bee previousl define i bein redefine i a DEF statement. FE -- FOR Error mixe mod expressio exist i FO statemen whic th compile cannot correct. FI -- FOR Index A expressio whic i no a unsubscripte numeri variabl i bein used as a FOR loop index. FN -- Function parameter Number A function reference contains an incorrect number of parameters. FP -- Function Parameter type functio referenc paramete typ doe no matc th paramete typ used in the function's DEF statement. FU -- Function Undefined A function has been referenced before it has been defined. IE -- IF Expression A expressio use immediatel followin a IƠ evaluate t typ string. Only type numeric is permitted. IF -- In File variabl use i FIL statemen i o typ numeri wher typ string is required. IP -- Input Prompt An input prompt string is not surrounded by quotes. IS -- Invalid Subscript A subscripted variable was referenced before it was dimensioned. IT -- Invalid Toggle An invalid compiler directive was encountered. IU -- Invalid Use A variable defined as an array is used with no subscripts. MF -- Mixed Format An expression evaluates to type string when type numeric is required. MM -- Mixed Mode Variable o typ strin an typ numeri ar combine i th sam expression. MS -- Mixed String A numeric expression was used where a string expression is required. ND -- No DEFFN A FEND statement was encountered without a corresponding DEF. NI -- NEXT Index variabl reference b NEX statemen doe no matc th variabl referenced by the associated FOR statement. NU -- NEXT Unexpected A NEXT statement occurs without an associated FOR statement. OF -- Out of Function branc ou o multipl lin functio fro insid th functio wa attempted. OO -- ON Overflow More than 25 ON statements were used in the program. PM -- ?? DE statemen appeare withi multipl lin function Function may not be nested. SE -- Syntax Error The source line contains a syntax error. SF -- SAVEMEM File SAVEME statemen use a expressio o typ numeri t specif th fil t b loaded Thi expressio mus b string Possibl th quotation marks were left off a string constant. SN -- Subscript Number A subscripted variable contains an incorrect number of subscripts. SO -- Syntax Overflow Th expressio i to comple an shoul b simplifie an place o more than one line. TO -- Table Overflow Th progra i to larg fo th system Th progra mus b simplified or the system size increased. UL -- Undefined Line number A line number that does not exist has been referenced. US -- Undefined String A string has been terminated by a carriage return rather than quotes. VO -- Variable Overflow Variable names are too long for one statement. This should not occur. WE -- WHILE Error The expression immediately following a WHILE statement is not numeric. WU -- WHILE Undefined A WEND statement occurs without an associated WHILE statement. :CBASIC: Run-Time Error Messages -- Warnings Tw textua run-tim erro message ar presente b CRUN: NO INTERMEDIATE FILE fil nam wa no specifie wit th CRU command o n fil o typ .IN an th specifie fil nam wa foun o disk. IMPROPER INPUT - REENTER Thi messag occur whe th field entere fro th consol d no matc th fiel specifie i th INPU statement Thi ca occu whe fiel type d no matc o th numbe o field entere i differen fro th numbe o field specified Al field specifie b th INPU statemen mus b reentered. 2-Letter Warning Codes DZ -- Divide by Zero numbe wa divide b zero Th resul i se t th larges vali CBASI number. FL -- Field Length fiel lengt greate tha 25 byte wa encountere durin REA LINE Onl th firs 25 character o th recor ar retained. LN -- Logarithm error Th argumen give i th LO functio wa zer o negative Th valu o th argumen i returned. NE -- NEgative number negativ numbe wa specifie followin th rais t powe operato (^) Th absolut valu i use i th calculation. OF -- OverFlow calculatio produce numbe to large Th resul i se o th larges vali CBASI number. SQ -- SQuare root error negativ numbe wa specifie i th SQ function Th absolut valu i used. :CBASIC: Run-Time Error Messages -- Error Codes AC -- AsCii error Th strin use a th argumen i a AS functio evaluate t nul string. BN -- BUFF Number Th valu followin th BUF optio i a OPE o CREAT statemen i less than 1 or greater than 52. CC -- Chain Code chaine program' cod are i large tha th mai program' cod area. CD -- Chain Data chaine program' dat are i large tha th mai program' dat area. CE -- Close Error An error occurred upon closing a file. CF -- Chain Function chaine program' constan are i large tha th mai program' constant area. CP -- Chain Var Storage chaine program' variabl storag are i large tha th mai program's variable storage area. CS -- Chain SAVEMEM chaine progr reserve differenc amoun o memor wit SAVEME statement than the main program. CU -- Close Undefined file clos statemen specifie fil numbe tha wa no active. DF -- Defined File A OPE o CREAT wa specifie wit fil numbe tha wa alread active. DU -- Delete Undefined file DELET statemen specifie fil numbe tha wa no active. DW -- Disk Write error A erro occurre whil writin t file Thi occur whe eithe th director o th dis i full. EF -- End of File rea pas th en o fil occurre o fil fo whic n IƠ EN statemen ha bee executed. ER -- Error in Record A attemp wa mad t writ recor o lengt greate tha th maximu recor siz specifie i th associate OPEN CREATE o FIL statement. FR -- File Rename A attemp wa mad t renam fil t a existin fil name. FT -- File Toggle A FILE statement was executed when 20 files were already active. FU -- File Undefined A attemp wa mad t rea o writ t fil tha wa no active. IF -- Invalid File name A file name was invalid. IR -- Invalid Record number A record number less than one was specified. IV -- Invalid Version A attemp wa mad t execut a IN fil create b Versio Compiler. IX -- ?? FENĠ statemen wa encountere prio t executin RETUR statement. LW -- Line Width lin widt les tha o greate tha 13 wa specifie i a LPRINTE WIDT statement. ME -- MAKE Error A erro occurre whil creatin o extendin fil becaus th dis director wa full. MP -- MATCH Parameter Th thir paramete i MATC functio wa zer o negative. NF -- Number of FILE Th fil numbe specifie wa les tha o greate tha 20. NM -- No Memory There was insufficient memory to load the program. NN -- No Number field A attemp wa mad t prin numbe wit PRIN USIN statemen bu ther wa no numeri dat fiel i th USIN string. NS -- No String field A attemp wa mad t prin strin wit PRIN USIN statemen bu ther wa no strin fiel i th USIN string. OD -- Overflow Data REAĠ statemen wa execute wit n DAT available. OE -- OPEN Error A attemp wa mad t OPE fil tha didn' exis an fo whic n I EN statemen ha bee previousl executed. OI -- ON Index Th expressio specifie i a O .. GOSU o a OΠ .. GOT statemen evaluate t numbe les tha o greate tha th numbe o lin number containe i th statement. OM -- Overflow Memory The program ran out of memory during execution. QE -- Quote Error A attemp wa mad t PRIN t fil strin containin quotatio mark. RB -- Random BUFF Rando acces wa attempte t fil activate wit th BUFƠ optio specifying more than 1 buffer. RE -- READ Error A attemp wa mad t rea pas th en o recor i fixe file. RG -- RETURN with no GOSUB A RETURN occurred for which there was no GOSUB. RU -- Random Undefined rando rea o prin wa attempte t othe tha fixe file. SB -- SuBscript A arra subscrip wa use whic exceede th boundarie fo whic th arra wa defined. SL -- String Length concatenatio operatio resulte i strin o mor tha 25 bytes. SO -- SAVEMEM Th fil specifie i SAVEME statemen coul no b locate o th referenced disk. SS -- SubString error Th secon paramete o MID functio wa zer o negative. TF -- Too many Files A attemp wa mad t hav mor tha 2 activ file simultaneously. TL -- TAB Length TA statemen containe paramete les tha o greate tha th curren lin width. UN -- UNdefined edit string PRIN USIN statemen wa execute wit nul edi string. WR -- WRite error A attemp wa mad t writ t fil afte i ha bee read bu befor i ha bee rea t th en o th file. :CBASIC: CBASIC Reserved Words ABS AND AS ASC ATN BUFF CALL CHAIN CHR$ CLOSE COMMAND$ COMMON CONCHAR% CONSOLE CONSTAT% COS CREATE DATA DEF DELETE DIM ELSE END EQ EXP FEND FILE FOR FRE GE GO GOSUB GOTO GT IF INITIALIZE INP INPUT INT INT% LE LEFT$ LEN LET LINE LOG LPRINTER LT MATCH MID$ NE NEXT NOT ON OPEN OR OUT PEEK POKE POS PRINT RANDOMIZE READ RECL RECS REM REMARK RENAME RESTORE RETURN RIGHT$ RND SADD SGN SIN SIZE SQR STEP STOP STR$ SUB TAB TAN THEN TO UCASE$ USING VAL WEND WHILE WIDTH XOR :CBASIC2: Expression Hierarchy The Hierarchy for expression evaluation is a follows -- 1. nested parentheses () 2. power operator ^ 3. * / 4. + - concatenation[+] unary[+ -] 5. relational operators: < <= > >= = <> LT LE GT GE EQ NE 6. NOT 7. AND 8. OR XOR :CBASIC2: Predefined Functions I/O Functions CONSTAT - Return th consol statu a a integer I ready logica TRUE is returned. CONCHAR% - Reads one character from the console device. Machine-Language Functions PEEK () - Return th content o th memor locatio give b th expression. POKE , - Low-orde eigh bit o secon expressio ar store i memor location selected by first expression. CALL - CALL a machine language program at address specified. SAVEMEM , - Reserv into the reserved area. Numeric Functions FRE ABS(x) INT(x) INT%(x) FLOAT(i%) RND SGN(x) ATN(x) COS(x) EXP(x) LOG(x) [e] SIN(x) SQR(x) TAN(x) String Functions ASC(a$) CHR$(i%) LEFT$(a$,i%) LEN(a$) UCASE$(a$) MATCH(a$,b$,i%) MID$(a$,i%,j%) RIGHT$(a$,i%) STR$(x) VAL(a$) COMMAND$ SADD(a$) Disk Functions RENAME(a$,b$) SIZE(a$) User-Defined Functions The general forms are -- [] DEF [] = and [] DEF [] . . . [] FEND  Disk Functions RENAME(a$,b$) SIZE(a$) User-Defined Functions Invoking FORTRAN-80 and MACRO-80 FORTRAN-80 Compilation Switches FORTRAN-80 Library Subroutines FORTRAN-80 Logical Device Assignments Invoking LINK-80 LINK-80 Switches Creating a FORTRAN-80 .COM File :Invoking FORTRAN-80 and MACRO-80 Th FORTRAN-8 compile an th MACRO-8 assembler name F8 an M8 respectively ar invoke i simila fashion I bot cases th nam o th progra i give followe b a argumen list Thi argumen lis i of the general form -- obj-dev:filename.ext,list-dev:filename.ext= source-dev:filename.ext These symbols are defined as follows -- obj-dev: The device on which the object program is to be written. list-dev: The device on which the program listing is written. source-dev Th devic fro whic th sourc progra inpu t FORTRAN-80 or MACRO-80 is obtained. filename.ext Th filenam an filenam extensio o th objec progra file th listin file an th sourc progra file Th defaul extensions are -- FOR FORTRAN-80 Source File MAC MACRO-80 Source File PRN Print (Listing) File REL Relocatable Object File COM Absolute Object File ORGed to 100H Th specification fo eithe th objec file th listin file o bot ma b omitted I neithe listin fil no a objec fil i desired plac onl comm t th lef o th equa sign I th name o th objec fil an th listin fil ar omitted th defaul i th nam of the source file. Logical CP/M devices may be specified as follows -- A:, B: Disk Drives (Only A: or B:) HSR: High Speed Reader LST: Line Printer TTY: Teletype or CRT Examples -- A>F80 *=TEST Compile the program TEST.FOR and place the object in TEST.REL *,TTY:=TEST Compil th progra TEST.FOҠ an lis th progra o th terminal. No object is generated. *TESTOBJ=TEST.FOR Compile the program TEST.FOR and put object in TESTOBJ.REL *TEST,TEST=TEST Compil TEST.FOR an pu objec i TEST.RE an listin i TEST.PRN *,=TEST.FOR Compil TEST.FO bu produc n objec o listin file Usefu for checking for errors. I al cases th i th promp fro FORTRAN-80 Th indicate operation ma als b performe b typin 'F80 followe b th option like 'F80 =TEST'. Refer to the 'FORTRAN-80 User's Manual', Copyright 1977, by Microsoft. :FORTRAN-80: FORTRAN-80 Compilation Switches numbe o differen switche ma b give i th comman strin tha wil affec th forma o th listin file Eac switc shoul b precede by a slash (/): Switch Function ------ -------- O Print all listing addresses in octal H Print all listing addresses in hexadecimal (default) N Do not list generated code R Force generation of an object file L Force generation of a listing file P Each /P allocates an extra 100 bytes of runtime stack space ͠ Specifie t th compile tha th generate cod shoul b i a form which can be loaded into ROM. :FORTRAN-80: FORTRAN-80 Library Subroutines Th standar librar (FORLIB.REL include th followin subroutine and functions -- ABS IABS DABS AINT INT IDINT AMOD MOD AMAX0 AMAX1 MAX0 MAX1 DMAX1 AMIN0 AMIN1 MIN0 MIN1 DMIN1 FLOAT IFIX SIGN ISIGN DSIGN DIM IDIM SNGL DBLE EXP DEXP ALOG DLOG ALOG10 DLOG10 SIN DSIN COS DCOS TANH SQRT DSQRT ATAN DATAN ATAN2 DATAN2 DMOD PEEK POKE INP OUT :FORTRAN-80: FORTRAN-80 Logical Device Assignments LUN* Device ---- ------ 1,3,4,5 Preassigned to CON: 2 Preassigned to LST: 6-10 Preassigned to Disk Files (Reassignable) 11-255 User-Assignable * LUN = Logical Unit Number :LINK-80: Invoking LINK-80 Eac comman t LINK-8 consist o numbe o filename an switche separated by commas -- obj-dev1:filename.ext/sw1,obj-dev2:filename.ext, ... I th inpu devic fo fil i omitted th defaul i th currentl logge disk I th extensio o fil i omitted th defaul i .REL Afte eac lin i typed LINK-8 wil loa o searc th specifie files and whe finished i wil lis al symbol tha remai undefine followe b a asterisk LINK-8 i invoke b th progra nam 'L80'. LINK-8 ca b use t generat .CO fil o FORTRAN-8 program This can be done by typing -- L80 program/E LINK-80 will respond with a string of the form -- [aaaa bbbb nn] The user may then create the .COM file by typing -- SAVE nn program.COM :LINK-80: LINK-80 Switches Th followin ar th switche fo LINK-80 A fo FORTRAN-80 thes switches are preceeded by a slash (/). Switch Function ------ -------- R Reset. Initialize loader. E,E:nam Exi LINK-80 FORLIB.RE wil b searche t satisf existin undefine references I 'name i specified th valu o thi symbol is used as the start address of the program. G,G:nam Go Star executio o program FORLIB.RE wil b searche t satisfy any existing undefined references. U List all undefined references. Map Lis al define reference an thei values al undefine references are followed by an asterisk. Search Searc th fil specifie befor thi switc t satisf references. I filename/ i specified th progra wil b save o dis under the selected name with a default extension of .COM. P and D See Addenda to Section 2 of documentation. Thre number ar specifie afte th / an / switche ar executed They are given in the form -- [aaaa bbbb nn] aaaa - start address of program bbbb - address of next available byte nn - number of 256-byte pages used :Creating a FORTRAN-80 .COM File Ther ar tw basi way t creat .CO͠ fil o FORTRAN-8 program Fo example t generat PROG.CO fro PROG.FOR procee i on of the following ways -- I. Using SAVE F80 =PROG L80 PROG/E [aaaa bbbb nn] -- response from LINK-80 (necessary data) SAVE nn PROG.COM II. Using /N LINK-80 Switch F80 =PROG L80 PROG/E,PROG/N  pages used :Creating a FORTRAN-80 .COM File Ther ar tw basi way t creat .CO͠ fil o FORTRAN-8 proIntroduction to the Microsoft BASIC Interpreter Special Characters Variable Type Declaration Chars Commands Edit Mode Subcommands Program Statements (except I/O) PRINT USING Format Field Specifiers Input/Output Statements Operators Arithmetic Functions String Functions I/O and Special Functions Interpreter Error Codes Introduction to the Microsoft BASIC Compiler Compiler Commands and Switches Compiler Error Messages :Introduction to the Microsoft BASIC Interpreter Thi HEL Fil i derive fro th "Microsof BASI Referenc Book" an i i divide int tw part -- on coverin th Interprete an th othe coverin th Compiler Thes program proces program writte i almos exactl th sam languag -- Microsof BASIC ther ar mino difference betwee th two however an thes ar discusse i th fil under the Compiler Introduction. The MBASIC (Microsoft BASIC) Interpreter is invoked as follows -- MBASIC [][/F:<# files>][/M:] I at terminal ^H Deletes last char typed ^I Tab (every 8) ^O Halts/resumes program output ^R Retypes the line currently being typed ^S Suspends program execution ^Q Resumes execution after ^S ^U,^X Deletes line being typed Ends every line being typed in Breaks a logical line into physical lines Deletes last char typed Escapes Edit Mode Subcommands . Current line for EDIT, RENUM, DELETE, LIST, LLIST commands &O,& Prefix for Octal Constant &H Prefix for Hex Constant : Separates statements typed on the same line ? Equivalent to PRINT statement :Variable Type Declaration Characters $ String 0 to 255 chars % Integer -32768 to 32767 ! Single Precision 7.1 digit floating point # Double Precision 17.8 digit floating point :Commands Command Syntax Function AUTO AUTO [line][,inc] Generate line numbers CLEA CLEA [,[exp1][,exp2] Clea progra variables Exp set en o memor an Exp set amoun of stack space CONT CONT Continue program execution DELETE DELETE [[start][-[end]]] Delete program lines EDIT EDIT line Edit a program line FILES FILES [filename] Directory LIST LIST [line[-[line]]] List program line(s) LLIST LLIST [line[-[line]]] List program line(s) on printer LOAD LOAD filename[,R] Load program; ,R means RUN MERGE MERGE filename Merge prog on disk with that in mem NAME NAME old AS new Change the name of a disk file NEW NEW Delete current prog and vars NULL NULL exp Set num of s after each line RENUM RENUM [[new][,[old][,inc]]] Renumber program lines RESET RESET Init CP/M; use after disk change Command Syntax Function RUN RUN [line number] Run a prog (from a particular line) RUN filename[,R] Run a prog on disk SAV SAV filename[, o ,P Sav pro ont disk , save pro in ASCII and ,P protects file SYSTEM SYSTEM Return to CP/M TROFF TROFF Turn trace off TRON TRON Turn trace on WIDT WIDT [LPRINT ex Se ter o printe carriag width default is 80 (term) and 132 (prin) :Edit Mode Subcommands A Abort -- restore original line and restart Edit nCc Change n characters nD Delete n characters E End edit and save changes; don't type rest of line Hstr Delete rest of line and insert string Istr Insert string at current pos nKc Kill all chars up to the nth occurrance of c L Print the rest of the line and go to the start of the line Q Quit edit and restore original line nSc Search for nth occurrance of c Xstr Goto the end of the line and insert string Backspace over chars; in insert mode, delete chars End edit and save changes :Program Statements (except I/O) Statement Syntax Function CALL CALL variable [(arg list)] Call assembly or FORTRAN routine CHAIN CHAIN [MERGE] filename [,[line exp][,ALL][,DELETE range]] Cal progra an pas variable t it MERG wit ASCI file allow overlays star a lin ex i given AL mean al variable wil b passe (otherwis COMMO only) DELET allows deletion of an overlay before CHAIN is executed COMMON COMMON list of vars Pass vars to a CHAINed prog DEF DEF FNx[(arg list)]=exp Arith or String Function DEF USRn=address Define adr for nth assembly routine DEFINT range(s) of letters Define default var type INTeger DEFSNG " " " " " " " Single DEFDBL " " " " " " " Double DEFSTR " " " " " " " String DIM DIM list of subscripted vars Allocate arrays END END Stop prog and close files ERASE ERASE var [,var ... ] Release space and var names ERROR ERROR code Generate error code/message FOR FOR var=exp TO exp [STEP exp] FOR loop Statement Syntax Function GOSUB GOSUB line number Call BASIC subroutine GOTO GOTO line number Branch to specified line IF/GOTO IF exp GOTO line [ELSE stmt ... ] IF exp <> 0 then GOTO IF/THEN IF exp THEN stmt[:stmt] [ELSE stmt ... ] IF exp <> 0 then ... else ... LET [LET] var=exp Assignment MID MID$(string,n[,m])=string Replac portio o strin wit string2; start at pos n for m chars NEXT NEXT var[,var ... ] End FOR ON ERROR ON ERROR GOTO line Error trap subroutine GOTO ON/GOSUB ON exp GOSUB line[,line] Computed GOSUB ON/GOTO ON exp GOTO line[,line] Computed GOTO Statement Syntax Function OPTION OPTION BASE n Min val for subscripts (n=0,1) BASE OUT OUT port,byte Output byte to port POKE POKE address,byte Memory put RANDOMIZE RANDOMIZE [exp] Reseed random number generator REM REM any text Remark -- comment RESTORE RESTORE [line] Reset DATA pointer RESUME RESUME or RESUME 0 Return from ON ERROR GOTO RESUME NEXT Return to stmt after error line RESUME line Return to specified line RETURN RETURN Return from subroutine STOP STOP Stop prog and print BREAK msg WAI WAI prot,mask[,select Paus unti inpu por [XO select AND mask <> 0 WHILE/ WHILE exp stmts ... WEND Execute stmts as long as exp is T WEND :PRINT USING Format Field Specifiers Numeric Specifiers Specifier Digits Chars Definition # 1 1 Numeric field . 0 1 Decimal point + 0 1 Print leading or trailing sign - 0 1 Trailing sign (- if neg, otherwise) ** 2 2 Leading asterisk $ Floatin dolla sign place i fron o leading digit **$ 2 3 Asterisk fill and floating dollar sign , 1 1 Use comma every three digits ^^^^ 0 4 Exponential format _ 0 1 Next character is literal String Specifiers Specifier Definition ! Single character // Character field; width=2+number of & Variable length field :Input/Output Statements Statement Syntax/Function CLOSE CLOSE [[#]f[,[#]f ... ]] Close disk files; if no arg, close all DATA DATA constant list List data for READ statement FIELD FIELD [#]f,n AS string var [,n AS string var ...] Define fields in random file buffer GET GET [#]f[,record number] Read a record from a random disk file INPUT INPUT [;] [prompt string;] var [,var ...] INPUT [;] [prompt string,] var [,var ...] Rea dat fro th terminal leadin semicolo suppresse ech o // LINE INPUT #f,string var Read an entire line from a disk file LSET LSET field var=string exp Stor dat i rando fil buffe left-justifie o left-justif a non-disk string in a given field OPEN OPEN mode,[#] f,filename Open a disk file; mode must be one of -- I = sequential input file O = sequential output file R = random input/output file Statement Syntax/Function PRINT PRINT [USING format string;] exp [,exp ...] Print data at the terminal using the format specified PRINT #f, [USING format string;] exp [,exp ...] Write data to a disk file LPRINT [USING format string;] var [,var ...] Write data to a line printer PUT PUT [#] f [,record number] Write data from a random buffer to a data file READ READ var [,var ...] Read data from a DATA statement into the specified vars RSET RSET field var = string exp Stor dat i rando fil buffe righ justifie o righ justify a non-disk string in a given field WRITE WRITE [list of exps] Output data to the terminal WRITE #f, list of exps Output data to a sequential file or a random field buffer :Operators Symbol Function = Assignment or equality test - Negation or subtraction + Addition or string concatenation * Multiplication / Division (floating point result) ^ Exponentiation \ Integer division (integer result) MOD Integer modulus (integer result) NOT One's complement (integer) AND Bitwise AND (integer) OR Bitwise OR (integer) XOR Bitwise exclusive OR (integer) EQV Bitwise equivalence (integer) IMP Bitwise implication (integer) =,>,<, Relational tests (TRUE=-1, FALSE=0) <=,=<, >=,=>, <> The precedence of operators is -- 1. Expressions in parentheses 8. Relational Operators 2. Exponentiation 9. NOT 3. Negation (Unary -) 10. AND 4. *,/ 11. OR 5. \ 12. XOR 6. MOD 13. IMP 7. +,- 14. EQV :Arithmetic Functions Function Action ABS(exp) Absolute value of expression ATN(exp) Arctangent of expression (in radians) CDBL(exp) Convert the expression to a double precision number CINT(exp) Convert the expression to an integer COS(exp) Cosine of the expression (in radians) CSNG(exp) Convert the expression to a single precision number EXP(exp) Raises the constant E to the power of the expression FIX(exp) Returns truncated integer of expression FRE(exp) Gives memory free space not used by MBASIC INT(exp) Evaluates the expression for the largest integer LOG(exp) Gives the natural log of the expression RND[(exp)] Generates a random number exp <0 seeds new sequence exp =0 returns previous number exp >0 or omitted returns new random number Function Action SGN(exp) 1 if exp >0 0 if exp =0 -1 if exp <0 SIN(exp) Sine of the expression (in radians) SQR(exp) Square root of expression TAN(exp) Tangent of the expression (in radians) :String Functions Function Action ASC(str) Returns ASCII value of first char in string CHR$(exp) Returns a 1-char string whose char has ASCII code of exp FRE(str) Returns remaining memory free space HEX$(exp) Converts a number to a hexadecimal string INPUT$(length [,[#]f]) Return strin o lengt char rea fro consol o fro disk file; characters are not echoed INSTR([exp,]str1,str2) Return th firs positio o th firs occurrenc o str in str1 starting at position exp LEFT$(str,len) Returns leftmost length chars of the string expression LEN(str) Returns the length of a string MID$(string,start[,length]) Return char fro th middl o th strin startin a th positio specifie t th en o th strin o fo lengt characters Function Action OCT$(exp) Converts an expression to an Octal string RIGHT$(str,len) Returns rightmost length chars of the string expression SPACE$(exp) Returns a string of exp spaces STR$(exp) Converts a numeric expression to a string STRING$(length,str) Return strin lengt lon containin th firs cha o the str STRING$(length,exp) Return strin lengt lon containin char wit numeri value exp VAL(str Convert th strin representatio o numbe t it numeric value :I/O and Special Functions Function Action CVI(str) Converts a 2-char string to an integer CVS(str) Converts a 4-char string to a single precision number CVD(str) Converts an 8-char string to a double precision number EOF(f) Returns TRUE (-1) if file is positioned at its end ERL Error Line Number ERR Error Code Number INP(port) Inputs a byte from an input port LOC(f Return nex recor numbe t rea o writ (rando file o number of sectors read or written (sequential file) LPOS(n) Returns carriage position of line printer (n is dummy) MKI$(value) Converts an integer to a 2-char string MKS$(value) Converts a single precision values to a 4-char string MKD$(value) Converts a double precision value to an 8-char string Function Action PEEK(exp) Reads a byte from memory location specified by exp POS(n) Returns carriage position of terminal (n is dummy) SPC(exp) Used in PRINT statements to print spaces TAB(exp) Used in PRINT statements to tab to specified position USR[n](arg) Calls the user's machine language subroutine with the arg VARPTR(var Return addres o va i memor o zer i va ha no bee assigned a value VARPTR(#f Return th addres o th dis I/ buffe assigne t fil number :Interpreter Error Codes Code Error Code Error 1 NEXT without FOR 14 Out of string space 2 Syntax error 15 String too long 3 RETURN without GOSUB 16 String formula too complex 4 Out of data 17 Can't continue 5 Illegal function call 18 Undefined user function 6 Overflow 19 No RESUME 7 Out of memory 20 RESUME without error 8 Undefined line 21 Unprintable error 9 Subscript out of range 22 Missing operand 10 Redimensioned array 23 Line buffer overflow 11 Division by zero 26 FOR without NEXT 12 Illegal direct 29 WHILE without WEND 13 Type mismatch 30 WEND without WHILE Disk Errors -- Code Error Code Error 50 Field overflow 58 File already exists 51 Internal error 61 Disk full 52 Bad file number 62 Input past end 53 File not found 63 Bad record number 54 Bad file mode 64 Bad file name 55 File already open 66 Direct statement in file 57 Disk I/O error 67 Too many files :Introduction to the Microsoft BASIC Compiler Th followin direc mod command ar NO implemente o th compile and will generate an error message -- AUTO CLEAR CLOAD CSAVE CONT DELETE EDIT LIST LLIST RENUM COMMON SAVE LOAD MERGE NEW ERASE Th followin statement ar use differentl wit th compile tha with the interpreter (refer to the manual for details) -- CALL DEFINT DEFSNG DEFDBL DEFSTR DIM ERASE END ON ERROR GOTO RESUME STOP TRON TROFF USRn :BASIC Compiler Commands and Switches The compiler is invoked by the BASCOM command; it may be called by -- BASCOM or BASCOM command line where "command line" is -- [dev:][obj file][,[dev:][lst file]]=[dev:]source file[/switch ...] I jus BASCO i used th use wil b prompte wit a asterisk after which he should enter the command line. Switches -- /E Use this switch if ON ERROR GOTO with RESUME is used / Us thi switc i O ERRO GOT wit RESUME RESUM 0 o RESUM NEX is used /N Do not list generated object code /D Generate debug/checking code at runtime /S Write quoted strings of more than 4 chars as they are encountered /4 Recognize Microsoft 4.51 BASIC Interpreter conventions /à Rela lin numberin constraints line nee no b numbere sequentially; /4 and /C may not be used together /Z Use Z80 opcodes :BASIC Compiler Error Messages Compile-Time Fatal Errors SN Syntax error OM Out of memory SQ Sequence error TM Type mismatch TC Too complex BS Bad subscript LL Line too long UC Unrecognizable command OV Math overflow /0 Division by zero DD Array already dim'ed FN FOR/NEXT error FD Function already def UF Function not defined WE WHILE/WEND error /E Missing /E switch /X Missing /X switch Compile-Time Warning Errors ND Array not dimensioned SI Statement ignored Run-Time Error Messages 2 Syntax error 52 Bad file number 3 RETURN without GOSUB 53 File not found 4 Out of data 54 Bad file mode 5 Illegal function call 55 File already open 6 Floating/Integer ovfl 57 Disk I/O error 9 Subscript out of range 58 File already exists 11 Division by zero 61 Disk full 14 Out of string space 62 Input past end 20 RESUME without error 63 Bad record number 21 Unprintable error 64 Bad filename 50 Field overflow 67 Too many files 51 Internal error  mode 5 Illegal function call 55 File already open 6 Floating/Integer ovfl 57 Disk I/O error 9 Subscript out of range 58 File already exists 11 Division by zero 61 Disk full 14 Out of strCOPYRIGHT(C) 1980 DIGITAL RESEARCH  $ PL/I-80 V1.3 COMPILATION OF: $ NCLUDEUNEXPECTED EOF$OUT OF MEMORY$TERMINATED.$NO FILE $READ ONLY $DIR FULL $ LOAD OVL DISK, TYPE RETURN$ $INVALID %INCLUDE$TRUNC$DISK FULL$EOF ON INT FILE$RELINTPLILENGTH$VALUE$PRNEND COMPILATION $1e!>}P:\Fu"Ru":l2G!q6!M6!K6!A6u""B:ZҠ !6>}+s#r!"j*+"l"n"rK!*f1e*:K<2K:M!_!Y6!b6:b/>!M!e!K6>!Kó ͭv!p+q*!p+q.*!p+q*!p+q* !q*&A3!9NZ3!p+q* !q*&!q:f: !q6:q<!q6 z: !q4*Mz:Z*M͊*MͰ  !p+q!6*&*~2$P*M!4/!q> !k:A 2s:02*M!q:OQ:OQ!p+q*|O{*}O{!9N#F$:!ZZû:Z>!K5!p+q:A 5*DMͭXgu!r+s+p+q!Z6*DM$*~2Th2X!5:AO:!6> !ڢ: .*&*~2 ʛ*M!4kqҰͦ!p+qͱ*DM$!p+qjp*"j!p+q.**%.!9^#V'!9^#V%!p+q.*J*%!J6+6+6:K02!6!6:m~͗͠͠! "DMH»*"r̀Ұ*DMÏ.:N>*D#"Di*D*B~ͦ!"DDu0*D*BDM\H#*D*B6!"D-*D"D!"D*B~!q:dG:KP:aX*MͿ2O;::ҏ!4N!I ~2öIH®!6:I2ó!6.: :2:!q>_!:_:`2 :!6>! *&R :>!42 .>!6+6 !6:\2: \: V!6U A!6 ! ڀ>!w>U d::»:!қ>!6:A<2O>ҳ>!6 !6:. ! : >U   ; : :G2>>\`O2:' + >::6 >:;A >:?L >:.:<2O! :wr n!6:JŒ \ Ü :J22!J6:I¸ :'± !I6:X :I :* :͜ / !I6>*X :' !I6>':/ ͜ * !I6>/:H ::%T ͜ OI2HN  ; ;%;*JM;h !J6Q >%X :~ :Hҍ u2Š !H6Ϳ2 Š Ϳ2Ϳ2Ó Ϳ2:2\ :2J:D¹ ~ 2 *E&E ~2!D5#4: !N6::F3 !"|t͸:K *hDM͖  '$!6*& ~23 *M!4 !F6!p+q!6:=2ʕ *&*~2 h !60:<*&*wO>9ҍ *&*60Ò !6D 9 :M<2M« !"|͖ !p+q: !6 |p *"|DM͸: !4  !~6͖ :<2!B !:Bw !6:~!+ !~:2:=2O>O !~4 5 !~4?!p+q:Lg *DMͶ !L6!p+q:L҃ *DMͶ :KŸ :dҞ :K± :bұ ͸ͱ͌ :Z2!Z6: !6N#6O:K12Ͳ :2Z Ͳ !6͌ !B6!D6+6ͨ 2ʿ *r#"rt9 !x6 : :Hڮ : M  Ç : r  :B!L*&\ ~2 B*M:<2 ͱ!6>!s*&W 6:<2U:m$´!6>!ڴ*&l ~A2O>ڪ*&W 6:<2€:K:e/  !A6!6#6:K !H6:K1:b:Hͩ!6!6!H6.e -9\!L6!N6!F6!"r"|!|6!"D!6>!ژ*&t 6 *& 6 :<2o!{6$ !q:eҭ*&F ~:H*&F w:<2:<2F XS!6!s+q>!#:2O͡:=2!p+q*}O*|O!p+q@*}O*|O!p+q*}O*|O!p+q*}O*|O:eҴ:A:͡û:A:e 5::H͡ !D:B) :N&>:B<2B=O! ~O*#^*##"*##:a>!6:=!ڜ*& *& *ʒ>:<2f>!6:!:=O! N:=O! Hq:<2¤!6+6:N!6!6+~!6!6:j: :H/:2g6>!6g-M!6g:'b!6!6g!6 :uz:22:ʓ*M2: ³:.-Hҳ!6:L/*&t) ^#V">}B *~2*#~:?6V>-`>:_!q*ME*& :w:!w <`iwO>ҪY !6!6!6!D6!6!6!6!D6#6:B2C!6#6#6:2: : H ̀|:=:/H2:2̀|:::HM>:;Y::d>:(|̀:<2|:)™̀:=22|:'!6!6!6:̀:'̀:'!6ð|:/*̀:*$!6̀:!:*̀:/!6̀̀'|: 8̀|*M2[:S>!6y!6:_:0O> /H+ẁ:D!6!D:CҰ:C<2C=O! ~2~ 2:D<2D=O!E :w:2:!6::!#w+6!6+6:A>:?>!D!+:!62:B!C>!DH!6>#w#6!6:=!ڿ*|²*)))*) "Ҋ*& ~02:Y+s#rүõ:<2\:!*:u !6!~# *6!L *> !L!~# (;  COMPILER ERROR$##_og_{ozgi`N#Fogo&ogɐ!!!!!1!!"""""""""""""""""""""""""""""""""""""""""""!""!!""""""!!!!!!)!!!!!!)!""!!!!!!"#"#"#!!!!!"  #!!!""""! PLI OVL ERROR(S) IN PASS $4!C p  7 7 7$ @!$( @ D B10 A"PLILIBSYMBOL TABLE OVERFLOW$BALANCE$SYNTAX$NESTED REP$NOT IMP$DUPLIC$CONFLICT$NOT VARIABLE$LABEL$STRUCTURE$NOT BIF$ON BODY$RECUR PROC$ ⩝1fp`!"O}2Qo&"fͫͥ>͵!y6aWb274Vͼ `þvy !fp+q Y  Y  Y  u  u  u  u  u  u  u  u  u :L!!L6:;!b:!!!fp+q!f6:f<2fO*f ~2f">!f:%">!!fq!f:="b>>:-2f:+H^"b:‚"K"f:f|"*fͦf"fb>>::ց/H*(h"fͅ"":9"p(hp"*(h >w*f"(h:;"͙"b"b:L""!L6!fq:fn}+s#r!&hf#l!*n"r#"f:!h/H/d#͈!$$:,$$b!L6ͅ"/҂#́!!$:9қ#p(hpڛ#͖!:O":g2gO!t *fN#Fq#p*f##"f#b)"/#́! !/#́!:L/!$:<ր!fs+q+p+q*f"(h:һ$I$/ҵ$*(h ~*(h ~Hҡ$͝!õ$*(h :fw*(h :fwQ=l$!fr+s+q!f6#6:C%K!fs:ff$͏!!f6b,)"$%:!%K!fs>f%͏!!f6b$%́!*f*fM*fY$))"/@%z!F%́!!fp+q!f6:“%K!fs>fs%͏!!f6b*f*fMY$))"/Ґ%z!Ö%́!@"%*f"f:)"%@"ҽ%*f"f%́!%*f"f!"f%́!ffp|%́!:L%!"f"f*fDM*fͨ&*&h!9s#r;=()"&!9N#F(Қ&É&!9^#V"(h*(h >ʷ&͝!*(h >*(h w!9N#F*))"/&z!&́!!9^#VA3:)7':;'z!3͙"!9~'<()"1'!9N&!9~1',_Y$))"/(z!b)b)()"(!9^#Vͼ$b)()"(!9N#FG%b)b);:.)[:`i2>!fp+q!! *:f*f_DMu'b*fM!) ^#V*`;\'=**f"(h:):/)͹!Q=ò)*͏!;\'=**I'*****))))))))))>*fDM(!9^#V"(h::,*(h##~!9w*(h ~!9w*(h ~!9w*(h ~!9w+++~!*>!9s*>!9w>!9ʇ*>!9w!9~#~H*!9~³*!96*!9~*!96*!96!9~*>(!9(>$$H*!96!9~@~AH~DH>@#@Hy+>!9n+>!9G+>!9w<Y+ͤ!>@!9w!9~Dk+>!9wv+>@!9w+!9~+>!9>Hҧ+>!9w>!9»+>!9w>!9+>@!9w>!9+>!9w*(h##!9~w>!9*(h w*(h !9~w*(h !9~w!9~>##H4,͏!Q=!*:f!9w:f#w:f#w!f6!f6#6*&h!9s#r-!9w!9N#F*!9~2f#~2f#~2f!9~!f6:ʦ,:fʱ,Ͳ!K"fb*f|*f}2fO>H,Ͳ!:f!9w*&h#s#r-!9w,)"2f -͘,-!f6!9~-->!f%-Ͳ!!9~!9~!fN-!9~F-Ͳ!!9~!9N#Fu'!9^#V"(h*(h wQ=:}-Ͳ!!96!9~!f#ҟ-,!9wÃ-!9^#V"(h*(h wQ=*(hDM>>;͘,>!f-Ͳ!,!9w:f-,!9w-!9~3;!96*&h##s#r>!f/>!f/H!9w:fY.;=!9~J.!9N#Fu'V.!9N#Fu'.()"Ґ.:f!9w:f2f-!9w!9~2f))"/ҍ.z!.ͅ".:9Ҥ.͖!9!9wd;!9~.*(h 6=b>!f>!fH.!9N#Fu'.́!!()"/!9N#F&!9N#Fj)//!9~37/2/2/́!7B/͙"b2/!fq:fR/>:f;)"//"/"1)"0 /=W/e>1)"+0>!9%0!"1)"Ҙ0!9~A0! /:ִ:;He0͙"bD0)"Ғ0W//ҏ0)"ҏ0W/Õ0́!1)" 1!9~®0!9$;)"0!9N#F!9^1;)"/0"1ͅ"1"!9N#F!9^1;)"/0"1A$"1́!"3;S3>!9w#6+1ͅ"::H2:9!9w/Q1d;*(h!9s#rb:)"ң1!9~w1͖!à1=!9N#Fu'!9^#V"(h*(h >*(h w2()"2!9~/1=!9N#Fu'h<ͨ<=!9^#V"(h*(h *+hs#r*(h 6 2*(h##~B/2͖!!9f&3ͫ!bC9!f6#6*&h!9s#r-!9w!9N#F*!9^#V"(h:x3*(h >*(h wQ=\3;)"/҅3́!P4:3!9^#V"(h>f­3́!"3<ҽ3ͫ!"3b()"/3́!ͼ^;)"/3́!P4:249$!9^#V"(h>f4́!4<4ͫ!4*(h##6@*(h 6b!9N#F4P4%)"A43#P4!9N#F!9^W/1!fqͅ"҆4:9o4͖!d;*(h :fw=b>>()"Ҵ4W4Ү4))"/Ҩ4́!>ñ4́!>W4:f4͖!!f6!96#6!f6@!96#6()"15͉4!5!96,)"5͉45!9~O}ʪ5͖!K"Ob))"/5́!5́!5́!5́!b,)"2g_5))"/5́!5́!m6!9~6͖!#6!96n&"(h!9^#V"(h*(h##6Am6!9~26͖!!96m6ͺ4!9^#V"(h*(h >*(h wm6ͺ4m6Q55&6;6]645;)"/}6́!"!9^#V"(h*(h !9~w:f!9w2f*(h :fw6!96!9~!96Q=:6*(h 6!9~!hr+s+q>!h҄8!h6:hO>!hҲ8*hN*h#"h!h5Ò8!hp+q*(h"h*h"(hf8 *(h On8*h"(h!g6:2h>!h9:h=2hO! :g2g8:g2g!hq!*h>!h'98:h!*hw(hY!rfB9l!*h&ph) ^#V"hh&hpx9*&h+"&h*r w*r+"rT9!h6!j"phC9!hqC9*&h"(h!*h6*hM9*(h##6*(h 6*(h 6*(h 6*(h >w#6>(h}nh(hp/99>*nh~9>:h=O!0h (hp&h(hp*(h#~2h!h6>8!h:*h&i) ^#V"h:h2h#::h::h=2hO! *(h*h& *h::h:*h >w*(h :hw!h6*h##~´:*h ~2h*(h :hw>:!h6M:!h4(:*(h 6*(h 6>8*g&g) ^#V"(h9c;*(h#:R;:2h:hR;:h=2hO! *h& *(hJ;:hG;O;!h6;*(h ^#V"(h:͈9*(h#:w͢9:<f<>*+h*nh".h*.h#>2-h>*(h:*hw&hY*h&ph) q#p+q#pnrpP=*r#"r*r*&h w*&h#"&h)=:s=*(h^*(h"(h*(h#>p=Q=:h<2hO>҈=$8:h!hҘ=:h2h!hq*&h"nh*h&ph) *&hs#r*h&0h) s#r:h!hO͈9=:h *(h#w*(h *rs#r*(h##>w#6t=)=͙=!hp+q!h6>!hd>*h&g) ^#V"(hh(hpZ>*(h ^#V"(h*h&g) +N#Fq#p*>:h<2h>*nhDM>>!hҌ>:h=2hO!0h ^#V"nh!j"&h!h6*&h"ph"nh"0h͍>!h6>!h>*h&h) >w#6:h<2h­>!h6>!h>*h&g) >w#6:h<2h>!"r!h6+6=!h6>#w#6@2@**h*d DM -1?:hY+s#r8d;*h&i) *(hs#r@2h*(h##w@2h*(h w:hŠ?!h6Ó?*(h 6=:hA?;@*(h##w@*(h w*(h 6=:h?:h=2h;@*(h##w@*(h w*(h 6=?:h<2h?*&h"p*h#"h+*d ~t=͙=!hs+qt=)=*hM͙=*(h##:hw#638͸*rDMP*(h#>2]@* *(h DM -n@ *& 6$$ͬ >@B8$M@w@M8$!hr+s+p+q*h|@*h"h*h"h*h"h*h|,A*h}*h}_l&͏f"h*h}*h|_l&͏f"h*h|,A!h͸f+s#r*h*h"h/,A*h͎@!!"h*.h#>2h>!h҈A:h==2h*h&) *.h*h&) *.hr#*hDMͧ@"hDA*h!hp+q*h*h"hҫA͎@!"h*h*(h##~2h*(h ~2h*(h ~2h:hA:h<:hA:h<<:hA>:h$$B>!hB>>:h((/B:h""+B:h<:h:h0:B>:h@:hAH:h@@HcB>:hB•B:h@@xB>:h…B>:hʒB>ðB:hD°B:h@@ªB>f8 >nhp/*h#> H!hqͳB/B*h^*h"h*h#>!hBB!hqͳB C>*h >!h!hp+q*hu/C*h##>@=C*h*hs#r*hN͈9*hn*hDM*(h -`C=*(h##~CzC>*(h >@@lCҔC>*(h ^#V".h>f!9A3!"h!9s#rͳBC!9*h!9s#r*h >*h w! 9w*h##~! 9w*h ~! 9w!9~E:h D*h~2h%D!h6*hM͈9*h*hDM*(h -:D:h/PD*(h#6=ͯA!9w#6>!9w#6͊CD*h*.h".h:hҐD*(h >*(h w*(h"h*.hN͈9*.hn*.hDM*(h -¬D=[<*h"(h:hD3A!9s#rD*(h *+hs#r:hElC/E*h*(h N#Fq#p!9~xE! 9~1:EBJC*(h##~!9w#6+++^#V"hBKE`BbEB\EBbE*n"hͳB/mEJC!9^#V"hB:h!9ҟE*hN#F! 9q#p*h>w#6! 9~pF>! 9E*h!9N#Fq#p>! 9FBF! 9~=w>!9OͬC:h!9F!9^#V"(h!9N#F͌A!9s#rFͬCE:h!9MF!9^#V"(h!9N#F!9^#Vͧ@!9s#r>!9w#6#q#p#~AF!9~ʼF*h!9s#rͳBBH/ҜF!9DMCͬCzF>!9OͬC*h!9s#r+++^#V"h! 96@! 9~@'G!9~'G>! 9GBF! 9~=w>!9OͬC G!9DMCͬCFh!9r'G!9^#V"h!9~IG!9hpIG!9^#V"h!9^#V"h:h!9҅G!9^#V"(h*h!9N#Fq#p͌A*hq#p!9*(h#>*(h#>*(h >*(h w*(h >*(h w!"r!"h!i6͍>!h6#6*r#"h0hpp*h +s#r*h"(h!nfJ͋G H*(h~2i͓G2i>!h#HK:i2hO!ph *&hs#r"nh*h&0h) *&hs#r*h"h*iM͈9*i*hDM*(h -lH=*(h ^#V"r*(h##^#V" i"h͜K:i2iO*h "h:i=2h2hH!i6:h!iHKͱfDMͫK:i<2iHJ͋GJ!"h*(h"i!i6:hҎI!h6!i6:h!iڎI*nh"(hK|҄IKifhhpiInh&hpDMͫK*h"(h͛G*(h >@@2i:i iY"hÄI!h6:i<2iI!h6BҥI!h"hIB*h >HI!f"hI!h"h!h6php2hJ0h&hp*i&i) q#p:i<2i*h >J!h6*&h"i*hMͬC:hҢJ*i"(h*(h ~2i*(h##~2iDYJ:i@@YJ!K:iPPiJJâJ:iր:h/HҢJ*i"(h*(h N!i *(h N#Fq#p:iJ*r#"h*h"(hͫG*(h >D*(h w!h"hͬCJ͜K*h+"rGK!j"nh*f"hK*hDM$*iDMͳ8! iq͡* iMJ*i"(hDMͳ8͊!i6>!i`KK:i<2iHKf82 iOK!i6>! iқK: i=2 i*i& *(hNK:i<2ioK:ihY+s#r!ip+q*i&) *(h*is#r*i&) *(h^#V*nh"(h*(h##*hs#r!i6*(h##~2i*(h ~2i!i6:i!iڷLQ=*(h"i*(h ~2iM@:9^LͫG*(h :i*(h wnh(hp"iÇL :i<2iyLͬ ^8͸~L,w@!"i*nh"(h:i=O! *(h*is#r*i"(h:i<2iLQ=*(h"i&hrp*nh #"he>C9*nh"&he>:iAM;.*iDM*(h -L=!i6:i!i~M*h"(h*&h"i:i=O! *(h^#V"i>feM!h6*i*(h"h!"h!h"hͬCkM;=*i"(h͛G:i<2i MɳMMMMMN0NJNiN}NNNNNNN O"O;OOOcOAnalysis Trace$Built-In Subroutine Trace$Code Trace Only$Disk Print$Expression Optimizer Trace$Full Compiler Stack Size (2K)$Interlist Source and Code$Kill Parm and %include Listing$List Source Program$Memory Map$Nesting Level Display$Object Code Off$Page Mode Print$Quick Compile, Optimizer Off$Restart 7 for Sign Extension$Symbol Table List$Trace Optimizer Actions$Verify Intermediate File$Wait Between Passes$Compiler Extensions$Parameter Summary$ (BAD TYPE)$ FLOAT$ FIXED$ DECIMAL$ BINARY$ CHAR$ BIT$ VARYING$ ALIGNED$ POINTER$ PICTURED$ ENTRY$ FUNCTION$ PARAMETERS($ RECURSIVE$ LABEL$ FORMAT$ FILE$ STRUCTURE$ LEVEL $, MEMBERS $ BUILTIN$ CONDITION$ INITIAL$ EXTERNAL$ CONSTANT$ STATIC$ MEMBER$ PARAMETER$ AUTOMATIC$ BASED$ DEFINED$ RETURNED$ SYMBOLS: $, AUTO STORAGE $ BYTES$, PARAMETERS$!ip+q! i6*i!'pfBK$Q*i!pfBK$Q*i!dpfBK$Q*i! pfBK$Q! i6*iDM$Q!"ip+q*!i! pf"!i>f! iwTQ0*!iM!#iq*#i&DMP!%ip+q*$i|ҁQ-*$iͦf"$i*$iDMP!&iq*&i&) *.hN#FdQ*(h^*(h".h(!(i6*.h#>2-h!'i6:-hO:'iR:(iQ,*'iM͊Q::'iHR**i&+i 5**i&+i ~qR>!)iaR:*ijR!*i5HR!Nir+s+q:LiŠR*ïR!Oi6:Li=!OiگR*Oi&*MiN!Oi4R!Piq:Pi(hY+s#r*(hNͰR!Qiq*(h"Ti:;S͋G!Qi5S͓G2SiͰR(!Ri6:Si!Ri'S*(h#*(h##NrR*(h#~<!XiSTkUjU:Wi@T:XilTO$:XizTO$:XiҶTO$*(h ~2)iOUQ:Xi!)iw)*(h ~ҶTO$:XiTO$:XiTP$:XiTP$>!XiTkUjU:Wip4U:Xi.UP$P$*(h NUQ!P$*(h ~2)iOUQ1UkUjU:WigU:XiJU,P$:XiXU5P$>!XidUkUjUkUuO$*(h ~2ZiҊU@P$:ZiқUIP$:Zi2Zi®USP$:Zi¼U]P$:ZiUeP$/R:ZiUmP$/R:ZiUxP$:ZiUP$`R:ZiVP$R:Zi#VP$/R͓G *(h OrRy9ͻGy9jruDM:iWP͸*r#"(h"0h*n#"&h!*i6:W͋G 1W*(h"nh͓G2hO!0h *(hs#r*(h ^#V"r>@P$*(h##N#FPP$*(h~2\iO>.WP$![i6:\i=![i(W:[iV, *nh"(hW|W?!WW*nh"(h$V![i4V*nh"(hW͋GWͱ:haO :[yW![i6>![iyW*[i&*(hN{ ![i4VW*(h N#F͖ ![i6:*i![iڦW.![i4W$V*(h ~ҹWͤQBSrU*)iMRRnV*[i&) *(h^#V:aW!]i6>!]iGX*]i&W :p@X*]i&M) ^#V"^i>f@Xͱ:]iAO: *^iDM$!]i4WͱPICTURE$NUMBER$BAD VAL$FITMTFMTFEX FEX,FEY PSTRABSXABSXRID FSPCREP#FSP(FSCLFSC,Õ[Xu cXY jXu !eis+p+q!ii6!ai6#6:ei2`iX͟!ei5#6Z:gi2fiZZͽZ2hiH[H0Y:gi2fiZ!ki6!fi:giZͽZ2hiHH[HҜYZ2ji:gi2fiZU[:ji$ͽZVHZ!jiHҙY͸[YͽZ*ͽZZHYͽZ2jiU[ͽZVZ!jiHY͸[:kiZͽZ9ͽZVHZ!ji69U[ͽZVZ9HZ͸[ͽZ2hi*:hiZH:hi9H[HfZ!gi:fiUZZ2hi[cZ÷Z*fi& *ci~2hi!fi:giͽZC:hiRHͽZD:hiBHHHҷZ!ai6*fi&*ci~*gi&*ci~:fi<2gi:ei!gi/Z2hiB:gi=O*ci ~DHH:hi,H:hi.H:hi:H:hi/HD[!gi4Z:ei!giT[:fi2giͽZ!ji!fi:giHҌ[:gi2fi!ai4:ii҆[!bi4ZU[ͽZ!ji!gi:fiHҷ[!ai4:iiҷ[!bi4!ii6:gi2fiZU[!ki6:hiS:hi+H:hi-H:hi$H*X:ai\X!6*fDMh!liq͡*liM*f#"fK"mi|P\X*mi}\\Xb*mi}A\2oir\X:oi))"ڂ\z!!pi6#6rXs!vX!ڡ\́!6^Xs!*fM'\b*f&KX N!,^ ^#V()"#]:]Xs!d\2pi,)"]Xs!:]Xs!A\2qi:pi!qi]X]X ]Xv\*piM'\*qiM'\6^!`i6:Š]Xs![*aiM'\*biM'\*`iM'\!pi6:`i!piڄ]:pi=O! N'\!pi4d]bÍ]́!6^()"Ҷ]:°]Xs!A\2pió]Xv\*piM'\6^()"]:]Xs!A\2pi]Xv\]́!*piM'\6^()"^:^Xs!͏!^́!v\^́!'\'\6^\4]]]];Xs!!96:Z^Xs!d\!9w>!9q^'\!9N'\()"҉^Xs!͝^v\Ì^̓\>!9қ^'\3Xs!7^,)"һ^Xs!7^æ^*(h##6C*(h 6 *(h *fs#r\'\'\͝^'\v\!riqX!_b()"_9'^)"Ң_()"ҟ_9'()"ҙ_;=*(h##6C)"҆_*(h 6 `;()"}_:q_!yi\`*yi&_ ~/O!yi4;`!ziq͡*ziM!e6!ui6͸_"{i*{i|¦`>}"si ~ʣ`!e6`*{i|½`!ui6_"si`!e6:e`!vi6#6#6`*si~2vi*si ~2wi*si ~2xi !$%/17 !!!!!8#.(%&..-!(-!(3".+#"+#$"#$%$-#$73&$3(-3/("/31/433 !5 1 43." ++"' 1$#(3$+2$%(+$%1$$&.3.(-(3+(-$, (--4++./$-/ &$/1."1$ #2*(/23./3'$- ! 2$#!$&(-"+.2$$-318%(7$#%+. 3+ !$+23 "*61(3$!(- 18".+4,-#$+$3$%.1, 31$341-1$5$132(&- +23 3(" +(&-$#!4(+3(-#$"+ 1$#$"(, +#$%(-$#(-(3( +./3(.-2/("341$/.(-3$11$/+ "$1$341-21$61(3$5 18(-& ++." 3$$73$1- +(-3$1- +5 1( !+$ 43., 3(""' 1 "3$1/1."$#41$1$"412(5$``a a]aaa-bbbbb: :/H:*H_c!6::*2/HHTc*c!6c: nc:2:wc> !ҁc*&b) ^#V"i~2i:Q!P"}i>!id!i5:#w>!i~=O! *i&*i:}iHc!i5òc:<iY+s#r:id*i~2àc!6!~iq!~i:#w&d!6:iABSACOSAADDRASCIIASINAATANAATANDABINBINARYBITBOOL CEILCHAR CHARACTERCOLLATEA(COSACOSDACOSHADATEA(DECDECIMALDIM DIMENSION DIVIDE EXPAFIXED FLOAT FLOOR HBOUNDINDEXLBOUNDLENGTHLINENOADLOGALOG2ALOG10AMAXMINMODNULLONCODEAONFILEA*ONKEYAPAGENOADRANKROUNDSIGNSINASINDASINHASQRTASTRINGSUBSTRTANATANDATANHATIMEA( TRANSLATETRUNCUNSPECVALIDVERIFY_{ozgDM!>))덑o|g҉f =wfDM!>))Ҟf =–fYP뗕o>g_{ozg^#V) ¼f_{_z#W EXPAFIXED FLOAT FLOOR HBOUNDINDEXLBOUNDLENGTHLINENOADLOGALOG2ALOG10AMAXMINMODNULLONCODEAONFILEA*ONKEYAPAGENOADRANKROUNDSIGNSINASINDASINHASQRTASTRx PTR REQ$BASED REQ$BALANCE$CONVERT$SYNTAX$LABEL$QUALIFY$NOT LABEL$RET EXP$RETURN$ID REQ$#VALUES$NOT STATIC$CLOSURE$1!!I6!K6!H6!J6!76ͫ͂f͵!y6a!6PM~+—sru#DMͼ þvc͟d u  u !p+q Y  u % Y , u 2 u :L!!L6~:;=!M::!&!!q!:R!M>>:;c!MU!M:Lq!U!!L6!":/pʆ!!8:囖O!& ^#V"::ց/H:):;H!(>!!ͱ!!Mñ!:)!M! !y4!y5!86#6#6!"<*<"@:82:*">:29O!66j|*6M̈́*<":82=>!U""X"!+"w!O@ OA;>!t"!!!m"Λ՗x"!͛6Ҙ"Y"%;>!Ҥ"%:փ:֗H!#>!":"!M!66a|*6M̈́:/B": u *o"f\@@ #AA#A;>!#!%>!<#v|;>!9#!%>!҈#aOl—>!}#"z#>!z#—"À#!—%>!#!ҹ#Y"!9N#F͵);>!ڶ#U!#;>!#!9N#F͵);>!#U!#͝!#!9N#F51#!!%>!҃$*"f\@)$|A:;&$D u t$\A:$L u t$t]*f"DMys!6:(q$!"ܖO@~OAt$!;>!ڀ$!%>!$:;$!M K—!9N#F͵);>!ں$U!—$U!%>!$—;>!$!%>!Ҡ%t!o"Λ!͛6X%S u *+MyO:+!Қ%(>!Ҕ%X|\0t% u—)>!څ%!;>!ڑ%!×%!Ý%!%>!%j|*+ML{%:+2šOL%:š=2šOL%%*šM͒0% % A%͚}ʎ&Z u *њ(>!ҳ&K"ԚM)>!ڰ&!ù&!"Ԛ!ݚ6:+:-H&:2ݚM:ݚ'::H:H'!:ݚ-'!ݚ6+:2ܚ*Ś"f͚]ǚfp/H'*f"ؚ*ɚ*Ԛ"֚\ 'ɚ֚p'*ؚ"f!"ښ\‰'*f ^#V"ښÏ'*ؚ"Ú*֚+*ؚDM%*ښ"ښ*ݚ*ؚ*Ú*ښ*M*ܚȋ' *֚+"֚X'*ؚ"ft]''*Ԛ*ɚ"ɚM͝![(>!1((>!.(!"ɚ͒&,>!"(͒&()>!.(!L(>!I(>!F(!L(M(>!X(ͱ!';A3*Ś!9s#r!"Ś!9~!9w:(K!9sM(>!Ұ(!9N͎))>!ڭ(U!n)͝!k)!9~(x"!͛6(:͛*͛& ~!9/H(!͛5(t*͛& !9~wX)!>Ś}()*<"Ś*<"ǚ!9~>)*<"Ú*Ú"f\b)*<"f\ b)b u M~n)!!(>!})ͱ!'!9^#V"ŚA3!9N\(*ǚ"Ś,>!ҳ)!9N\(ß)3;S3>!9w#6x")͝!::H0* a*f!9s#r\B!*a|\*A*Aͼ::!*!:>!0*M!*D*!9N#F"*%>!S*U!*>!ү*!9~k*—!9~x* ͝!ҙ* a!9frʖ*m u M:;ʤ*!!*>!*͎);>!*!*:*U!*:*!M!9N#F͞+*!9N#F"ü)*f ~2!6:!ڑ+*"f:=O! *fƙ""f\@@ʊ+a͚]Ҋ+*f*fDM͛U*——͒+S͒+R!4+*+M*&*!9s#r+++^#V"U!! !9N#Fys}A!9^#V"f+!9N#F͵)M!9^#V"!6:Ҟ,͝!{, a*f"M:>!r,>!l,!(>!;,ͱ!:QG,—:;U,MG,*DM͞+:Qi,—o,!u,! ~,!:Ž,!6Û,:LҘ,M!+NOT SCALAR$CONFLICT$BAD TYPE$,u ,u */*2M*5^*f"DMysO@pOA*!s+p+q*DM!/6:22!56A,:/0-!/6M-:/@-!/6M-:/M-!/6Ϳ@!q:b-ͼ!6!6+6!6#6:ַH:;H-g/>!Ҵ-0>!ұ-0->!-0>!-0-:->!-1]2:.2:ʾ.:.!6*DMs*DMs:. -6N::HF.O@9OAê.:Z.O@4OAê.ͽ?OAͽ?xOA!/6!26!56Ϳ@*DMsͽ?xOA!/6!26!56Ϳ@BA!/6$!26!56Ϳ@/*M̈́::H.kA/::H/OFAS*MjA!6f/:ַ:;Hf/!6M(>!T/!)>!c/!aO!6j|>1!/:8HҌ/,u *+My!+Ÿ/!6*Λ##^#V":/2:22:52*<">:829=>!/!*<"@:82:OO@ OA!6]2*M̈́*B"͔M:1:1H:1HM0*+My:+=HJ0!6È0:1ւ:1փH:1քH҈0*+My:+=Hˆ0!6!;6:2/:22:25!86́I:*+My:+=HH00!6:/2*":0,"/2*":1,"ͼ!6*DMysOܖ]2S3͝!u2!9NS-!9~e1;>!e1!!:!9w*!9s#r:!9w*! 9s#r:!9w:#w!9~¯1*M͓2þ1!9N#F!9^͵)!9~*2!9N#Fys!9N#Fs!9~1-1! 9N#Fs!9~2 -6N:322:625ͽ?OAOO@ OAO2!9~O2!9Nr!9N#FysO@pOAA!9~i2]!wu2;>!u2U!! 9<b @NOT FILE$NOT KEY$NOT FORMAT$ȕ,);2u 2u 2u ;>! 3!!:;3M!/6*!26XP,!q*& :w:_3:<2O! 6!qs*Mrͼ:.2!6:4!6:.24!6:!4!:#wO! ~2! ~23!6*& :w*& :w!:.2+N_:!#w:2.:24!4™3:2.3:=Oy2!q*M!͑}!q*M'4I4!!4*M!͋Z+s#r:(n4!)>!{4 c4:/Dʍ42c4zx!q͝!ҽ4:½4:_!½4M͎4>>!6s:;52ur5:8! 5|4635>!53635>!25͎4635>!F5͎4635>!Ҡ5c4MF͕4ҁ5!6,>!{5B͕4x5!~5-3Ð5-3B͕4ڐ5!o4—635!8> =O!{2 ݙ>f5,M5 34!6>!6!> O'45*&2) J+s#r!45!6>!H6*&2) ݙ>fA6*&2) J+s#r!4 6'4!a6'4a62!6 > !ڍ6*M'4چ6-3: O63!4f6'4ڦ6-3-3—63*DM,63t3—`3;A3: !9w! 6!76:(.772": 2!!9~2 :!! 7:"2ur7:"*"M̈́*#M!76:u7j|:/pD7ͼ,*/Mb>R7=!/6*!26AOO@ OA—û7!$6͞>ҋ7!$6>ҙ7!$6!/6*!26:+2#XP*$MA!#:+w!9~7]ͼ>;A3! 6!9Ns(>!t8!9~L86!9w,>!8! 66!9w7!9~2>!D8! 6͝!A851D8!o4:6O`3,>!j86O`3U8o4>w8!>:+2'—63:%ҡ8 74ç8-{8*'M*t3`3>!8!%674|4{8>>!(q:(2s:;99:8!—>! 997O`3—>!҃99?e͚]<92N9\N9|fN92*fDMys!"A—7O`3—:;ʂ9Mt9ͻ8ҍ99>!ҳ9:(¡9!74—639>!974:(9͎49-A639 38!":(974:7474͒8(>!P:j|:/p$:w!3:*<"f]o&":/*:8H2&o4S:!!*6#6s:;¾:'4u:!:&҅:!"é::%ڏ:!!":+Ҥ:74é:74:*ҵ:74͒8—ͻ8:{;2urI;M74!*6:&:!:82+;͎4—A;(>!;!j|o4:/:2H:5H<;2—63{;>!x;74 :A63:&u;:*u;!{; 3a:!,6#6s:;;'4ڠ;!:&Ұ;!P";:%ں;!!@":-;74;74:,;74͒8—ͻ8;U<>!#<74!-6+6:&<!͎4—63U<>!R<74 :A63:&O<:,O<!U< 3Ì;!.qM2urң w —" —<3!%6!6!6>#w#62ur=*8MY!=8u=>!%=8u=>!4=T:u=>!C=;u=>!R=4u=>!r=>!g=!|4—u=!3 #&)-03INT REQ$BIT REQ$COMP REQ$TYPES NOT=$SCALE>0$=u =u =u =u =u !Lq:L>>:L >>:L>>:L!>>:L,>>:L7>>>!Mq:MK>>*MM=Y>>:M1!Nq:N0>1!N/Hҁ>>*NM=:9::H!Oq*O&/ ~(´>>*O&/ ~*>>*O&/ ~!Pq*P&/ ~$>>*P&/ ~%>>*P&/ ~͉>2Q*0Mb>4?*1Mb>4?:Q4?>!1:0_?:00*0MͫrH_?:Q_?>*>DM*@:Qr?=>͉>?=!Rq*R&/ ~–?>*R&/ ~¨?>*R&/ ~º?>>̀?!Sq*S&/ ~$~%H?>*S&/ ~(?>*SM̀?<<?!Tq*T&/ Nb>"@>*T&/ ~14@>*T&/ ~*F@>*TM? @!Vs+q!V:Ui@:U:V!Xs+q:X!W҂@:W:X!Yq*Y&/ ^*+M*Y&2 ^*+M-*Y&5 ^*+MH!Zq*Z&/ ~ A*Z&2 ^*IMU@*Z&2 w*Z&5 ~ A=*Z&5 6ÊA*Z&/ ~UA*Z&2 ^*HMU@*Z&2 w*Z&5 ^*HMU@*Z&5 wÊA*Z&/ ~ŠA*Z&2 ^*JMU@*Z&2 w*Z&5 6*Z&B) ^#V*+M*ZM͇@![q*[MS*;MͿ@:;AZA3!9NSͿ@!9N˕3!\q*\MSͿ@A3!9Nc$B!9NS*+M*͇@!9N˕,B!9NA3!_r+s+q*]&*^NA!`q*`MU@O!y= ~!aq*aMU@O!= ~*;&/ 6(XͦA*;&/ 6*;&2 :IwYͦA*;&/ 6$ZͦA*;&/ 6*;&2 :Hw*;&5 w[ͦA*;&/ 6*\ͦA*;&/ 6(*;&2 >w]ͦA*;&5 'C*;&5 wͦA:/3C C C*;&/ 6*;&2 N[B<*I_MU@*;&2 w^ͦA*;&/ 61*;&2 6*;&5 6_ͦA*;&/ 6(*;&2 ^*JMU@OEB*;&2 w`ͦA*;&/ 6*;&2 ^*IMU@*;&2 waͦA*;&/ 6$bͦA*;&/ 6(*;&2 NEB<*H_MU@*;&2 wcͦA*;&/ 6*;&2 NEB<*H_MU@*;&2 wdͦA*;&/ 6*;&2 N*JU@*;&2 weͦA*;&/ 6(*;&2 6*;&5 6fͦA*;&/ 6gͦA*;&/ 6(hͦA!bq*;&/ ~ւ2eD*;&/ 6WE*;&/ ~փ2e#E*;&/ 6WE*;&/ ~ք2eGE*;&/ 6WE*;&/ > WE*;&B) ^#V"f:ewE!e6-|E!e6+*/M:>*e*;&B) N#F *f *f~ *;&/ ^OʹHE*;&/ w*;&2 w*;&5 wF*;&/ ~2d*;& ~~HF*;&/ 6øF*;&/ ~QF*;&2 N[B*JOU@*;&2 w*;&/ 6øF*;&/ ~œF:/(:/*H҆F*;&/ 6(ÙF:/$™F*;&/ 6$øF*;&/ ~ҸF*;&/ 6$*e*;&B) N#F*; *f *f~ *dOʹF *;&/ ~~%H~$H!bDG!d6 *K&"f:JAG*L&͋fZ+s#rëG!d6*;&/ Nb>f}«G*;&/ NQb*f 6)*;&2 *f w*;&5 *f w*fDM"*;&B) *fs#r*+My2c:;G:c=Oy2c*cM*f*;&/ ^*cM*;&2 ^*cM-*;&5 ^*cMH:d,H*;M @<2d*cM*dԑ!c4*;&/ ^*cM*;&2 ^*cM-*;&5 ^*cMH*;M @*c_MԑD̀H*;&/ Nb>}I*;&/ ~*¬HD*;&/ ~(¾HͱB*;&/ ~$~%HH͂B*;&/ ~1H͵D:/*;&/ >HI4C:/*;&/ >HҦJ*;&/ ~*IJD*;&/ ~([J͠B*;&/ ~mJC*;&/ ~1J͵D*;&/ ~‘J4C*;&/ ~£JCéJ=̀H*;&/ Nb>8K*;&/ J*;&/ ~$~%HJqB*;&/ ~JB*;&/ ~K͏C*;&/ ~#KC*;&/ ~15K͎D;K=:/((LKͪJOK&J:42f:72g:/:1*1M=HHҕK*fM[B2f*gM[B2g!5:222!g:f+w*5M*gn@25*2M*fn@!522:/K!56:/K*2M*IU@22-L:/L*2M*HU@22*5M*HU@25-L:/-L*2M*JU@22u?:0:0H:0քH:1H:1H:1քHҁL!/6øL:0>H:1H>HҳL!/6øL!/6:32h:62i:/:0*0M=HHL*hM[B2h*iM[B2i:h22:i25PK>>H'M!/6$,M!/6(:+2j*jM͒21*jMͨ24*jM;27*jMx"F*jMy=2j*jM͒20*jMͨ23*jM;26*jMx"D!;6!06!36!66*+M͒21*+Mͨ24*+M;27*+Mx"F!;6*3M*4n@22!56-M.L:/M:322:625!/:0 N͆H!;6:/%N:422:725!/:12N͆HM-M.L!/:0IN͆H(C!;6!/:1^N͆H(CM͔M.L!/:1xN͆H(CM:/ŒN:725!kq!;6:/1±N!/6́IhC!/61N*kMD*/M:>N͈IN͞>>HN*0M:>*1M:>HO.L!/:0O͆H(C!;6!/:1O͆H(C>(P*0Mb>*1Mb>H%P M̀H!/:0 P(P>-M M̀H!/:0?P!ћ6}PҤP!ћ6\2Лp:Л@H:ЛAHP*f :ћ2ћ:ЛAP!ћ4:Л1P!ћ4\2Л:ЛHQ!ћ4:ћ;͈P!9wf]"f>!98QQ!95#Q3!՛r+s+p+q::28!9TQ>!؛6#6#6*қ"f}PҜQ*ԛ"f}PҔQ:8ŒQ!؛6#6ÑQ!ڛ6ÙQ!؛6úQ*ԛ"f}PҺQ*қ"ԛ*f"қ!؛6!֛6#6>!֛>#HS*ԛ"fSQ!כ5Q*f"ԛ*қ"fSR!֛5Q*f"қD]dR*қ##~2ۛ*ԛ##)R>:ۛpFR*қ *ԛ FR>*қ *ԛ [R>*f~2ޛ:82ܛO:ݛ2ݛ:ޛ2ޛhSR>R:؛R!؛6#6#6RhSR>Q:֛:כHD]2ߛր:ߛ`H9Sf]"f>>*қ"f͈P!֛=wf]"қ*ԛ"f͈P!כ=wf]"ԛ>!ܛқS!ܛ5:ݛO*қ :ܛ!ޛO*ԛ ʘS>hS!r+s+p+qpҽS>*"f\pS>͈P2>!䛾Sf]̀S>͈P!䛆=wS>;A3!9~T>!9~=###wo&)*ΛN#F!9q#p͚]!9N#F!9^#VͤS/HdT!9N#Fa*f!9s#r/T͚]~T!9N!9^#VS>!9^#V"f\pʬT]o&>!9w#6*f ~! 9wt]*f!9s#r>! 9ҍU>!9w#6}PHU@t]!96L]=!9HU!9~!9O! *fO! *fr#!9N#F!!9s#r#4T!9N#F͈T!9N#F!!9]+s#r! 95!9^#V"fQ*f!9s#rT!9^#V!Gp+q*F"H"f\¸Uͦb"H!6*FDM͈T"&*H"f͚]Ffp/HWFHp*HDM*FͤSH W*H"f}P W@t]:2J!M6L]=!MژV:<2O>CVvP!6:M!MO! *f*&) N#Fq#p:M!MO! *f*&) N#Fq#p!M4"V*HDM͈T*&&) q#p:2K:K=2LO:J W*K&&) *K&) *K&) r#N#F!*L&&) q#p:L2KõV*H"ft]*f"HU::Wp#*("&!Op+qNuQW*N*N6!Sr+s+p+qRPpsW*P*R!Up+q!V6*TDM;W"T!T͑+s#r>fҫW!V4ÎW:V;A3*###w#6>!9X!9~=Oy!9~==H!9~==OL HkX!9~==Ox!9N! ͮ!& ^#V!9]+s#r!9~==:+_H!9~wX!9N!& ^#V"B*BDMxW22 AA!9N! !& ^#VN#F!!9u+s#r!9N#FxW22TA!9N!9~=Oy=!9w!95W!9^#V!Xs+q*Λ^#V"f*Λ^#V"]*͛&)*Λ^#V"_\:͛HhZ*͛&)*Λ^#V"f͚]*͛&)*Λ^#V*͛MS/HҝY*͛&)*ΛN#Fa*͛&)*Λ*fs#rTY͚]ڧY>ͦb"Y*͛&)*ΛN#Fa*f"[͚]ͦbỲHY*͛M*[SY>Y*Λ^#V"f*͛&)*Λ^#V"_\hZ*Y"[_[phZ*["fD]YZ\pYZ*[DM*_ͤSYZ*["]*_"[*["ff]"[Z:Xʚ[*_"<*WMͯW"[*]"f*Λ*fs#r*+My2a̓\*aM*b*f ^*aM-*f ^*aMH*f ~22*f ~25O@<*a_Mԑ*aM*f*_"f]̀[*f [ƙ+s#r]_p>[}Hy[̓\*f ~22*f ~25 —*+M*[*+M*K-*+MHi—ͣ*+M*/*+M*2-*+M*5H!a6*]"[_[p\*["fD]\*[DM*_ͤS_[pH\*["f}P\D]@[f]"f[L]!aw*f^*f"[å[:XU\D]@6\!a:W3\vPU\:a!W:aL]HHU\vP!W:a28*]"f\:8HҀ\vP>\2b!:Wʘ\!b6p:b2/SYMBOL TABLE OVERFLOW$BLOCK OVERFLOW$*f##~*f ~*f >!p+q*f"*"f#>2O>]!6:O!6>!=]*& *fN!4#5]*"f*f#>*f#>*c&d) ^#V"f*f^*f"f!qf]!dͮғ]D]!]x]!"ffp/>f}*f ^#V"f\2\2*f ~2:]:<:]:<<:^>:$$^>!^>>:((<^:""8^:<::0G^>:@:AH:@@Hp^>:D{^>:Bª^:@@^>:^>:ʪ^>>!q*r#++>͡:͡"f!si^\*f+"r: *fw*f#6!s+q+qͭ^*f##:w*f 6L*f :w*f :w]2*&) *f N#Fq#p*&) ^#V"f##^#V"*f##:Z+s#r*r#"f *s#r!s+q+p+q*Mͭ^*f##:w*f 6*f 6*f 6*f >w#6*f w#6>!_!5N* *& *fw_T]ͦ]`*r#*c&d) q#p<`*f >ͫ,`ͳ]`*r#*f q#p*r#"f!s+p+q!c6>!r`:=2O* :c2cQ`:c2c*D`fp/dfp! s+p+qrfpa*f~==! a: 2 : a! 5N* * & *f`: ``! 6`ͳ]å`{`T]*͝`! p+q* "fL]2 *f " ͳ]* DM*͝`!s+p+q*DM*D`T]*DM*͝`!q{`T]͚]ҁaͳ]taͦ]ҫa*͝`ͦ]ښa\!¥aͳ]Áa!q*M*́_!q*Mjaͦ]a*Mͬa *f "L]2*DM*D`T]*DM*͝`!q*JKD`T]͚]$bͳ]bͦ]Pb*JK͝`ͦ]=b*f##:Jbͳ]$b!q*Mbͦ]ڥbK*JM*́_*"f##^#V"*f##:JZ+s#r*r#"f *s#r!6:!b!:+wO! ^#V">fbfpb*!4«b*ͦb" ::<2O>c\\@@!"6ndp-c*d"ͩc*f >w#6L]O:dcb*&) >w#6Cc*&) *s#r*&p) s#r*d"f!nͮD] HҨcͩcÄc*d"f*f^*d"d:"c\ccc!"6:"c͈P!"=wAdD]L]O>HAd *f L]_D`*c&d) *f N#Fq#p*c&d) *fs#r!$p+q!%6>!%ڞd*%&d) ^#V"f#fpڗd*f ^#V"f*%&d) +N#Fq#pgd!%4Md*DMBd>!~=O! >ͫHd!5çd>!d:=2O! ^#V"ͦb"f*f >ͫ>e*f"':2&:20^:&2*'"f*r#*f q#p*&p) ^#V"ft]͚]]e\Cˆec҈eL]ˆe*&p) *fs#rPe!)qb2*`t]͚]ڥe>L]2+³e>:)e:+e*f~=O*f ~)e>*f *f ^FabO:*eͳ]e͚]f>:)f\Cf>>\01f:+.f>>\Asf*f >If>*f",t]\0_f>:+jf>*,"f>>͌e͌e*r#"d!siҖf!6*d"""p!.6>!.f*.&d) >w#6!.4¬f0^*f"n*"f##N#F +q#pBIT CON$NO BUILTIN$BAD VALUE$NOT IMP$UNSPEC$fu fu gu  gu !"/:Qg/g`gK"/|`g/g*/}Ϳ@:/!/6!26!56!/6!26(>!gX|ʣggr*+MyOx"B)>!ڽg!g!!/60!86!"(g>(>!g>!>)>!g!,>!h>!>A3gvhX|!hgr*i::i=,>!!i=g22M>> i9i:26i/g>>!1:/!56$iҐi:2!2fi:222ii/gkgҍi iҍi:2!2ڊi:225Íi/gîi*/M:>*1M:>HҮi!26PK:/20:223:526*+ML{i>!4:2!4:2iiiegiA!4:2!7:5HjA͍NegkgBj!5:2>͔M!/6(ͪJ̀͞>Ҩj͊j>`r>gj͖jj:223gj͖j>!4q!/6(:322*4MA:1j:4j>>A3g!k̀eǸHͽ?!9OAg!563A3mjGk:725ͽ?!9OAg!563S3A3* !9ykg!9N!zq ^#Vgjüq͏gg*n!9s#reg!56üqhtg:1k!/6!26GiͯimaÒ>maO—m=n͞>n͊j͖j n—n`rtgegg!56üq h!56üq(>!҃n}XPtg*4&"B:1*on*+MyO:+!Ҷn)>!ڶn!g!26!56*n!9s#rA!56üqh̀Hg ozx-M:02/ͽ?OAͿ@g!56üqxjtg!26egüqggYpX|@o`r!96#6:/(Zo!96Ño:/*ko!96Ño:/$:/%Hґo!96#6A!9~žo`r:/!9w:2#w,>!ڷo!͔̀MJ,>!o>!9ẁ͔MJ!9~"p͵!9wo!g"p!9~p!9~!9p!g!9~!9w!9Ng.B>(!9(Ap!/6(Fp!/6$!9~22!56egg!56üqͮj҅p,>!Ҁp͖j}pjÅpjg!56üq͏g!/6$*<"f]o&)))!2s>fһpgu !56Ϳ@!56üqgͮjptgAg!56üqgq͖jq:2q/gtgoAg!56üqj"jüqgwq̀goq̀O:2!9wgoq͔̀MjlqaO!9~22Aoq/gg!56üqkkkkk+l6l\llll*mkmmmm"n/nnnnnno&o.oapppppq&q!9^#V"<:5STR REQ$VAR REQ$BASE$ NO DCL$COMPILER$AGG VAL$NOT PROC$+-^LMN*/RSTUVW+- !><="#$%&&&&'()*++++,-./0123>?@ABCDE9:;<====45678888qu qu qu !:p+q!86:8<28O*9 ~2;šr>!;:§r>Àr!:
:<@r>::ks\"s>!9snrs!9~p+q*="f"B\2/*f ~22*f ~25O@f}+uͬa*f 6!͛4n&)*ΛiXu*͛&)*Λ*fs#r_u!͛5!eu!!1:0u!4:3u!7:6u*+ML2C¯u:+=OL2C¦u>:C֖:C/>!C/H>;!9S3^#V#Ns#Fr!9~uvP̀>u!͛6*Λ!9N#Fq#pXvqu :829*<">Ϳ@*"f:( !9ẁ:82:*<"@-M:::1pH!9|vqu !9NNfu/!9vܖ*0*3M*6^*fDMysw!O@pOA*+My=Oo!6w*fDMysvܖ!9N#FysA*+My=Oo!6w!9~=!9*Λ! 9s#r*͛&) "Λ:͛! 9w!9^#V"f ~!9w\ATwt]t]*f!9s#r>###w#6##6!9~! 9ګw0^! 9~£w*f!9s#r+++s#r! 94qw:):;HAx!9N#F#N#F! 9^u!9w,>!>x>!9"x!9^#V"fQ*f!9s#r#^#V"f*f~f}!9s#r!9N#F#N#F! 9^u!9wwëw!9~NxvP)>!Zx!! 9^#V"Λ2͛!9^#V3:K2Ì-M!;6J;:I!9wzx—Ϳ@!9~2I3;!96:):;Hx!94͏x:,xMöx:)xMx!!9~3\@@xy>\Oͫr!Eq*E&)*Λ^#V"f!/6:I22!56Ϳ@0y!͛6!96+6!9~*{:!9wtM͚] {*f!9s#r\!9w@~AH~րHz!9NXz*͛My\!9wy!9NXy!*f ^!9NNk!9~@~AHz:(:8H1zMͯx!9w(>!z!9NXKz!*͛&)*Λ*zmA>!9N#Fawy(>!{ͯx!9w.>!!9w`y!9NX;{!y\Bk{\k{͆`!Dk{\ *f wdyyғ{!"\{>>>;*Λ!9s#r*͛&) "Λ:͛!9w!96Ly!9wy\{psy!9~{\{ |\|r>!9|!96*<"f\0'| !9~6|AQ|!9^#V"Λ2͛3{3!D6͙{!D6͙{X|u|grR!66X|2Gʵ|:/@¯|:G¡|w!AmAõ|ru *6M̈́RX|2H|>:H͝!|||w!O@OA}sO@OÀ)>!}!:7*}(>!'}}*}|!76>!}:©}=g2IO,>!I\}!I6MܖeN:Iu}!26Ê}:4<_*I&+!2s*I&*7&!5sͽ?OOA}͔M!/6!26͆H}6NnA/};:7}}À~rur}~M:8!9w}!9~~aOHAz~͔M:1%~!9~~!16Ϳ@z~:1D~!9~<~!16Ϳ@z~:1c~!9~[~!16Ϳ@z~eN!9~z~ͽ?Or.BÀ~}3:/“~:I22Ù~:H22!3:2!6+w:/¶~!;6 C!7:525;}rur):8!9wM}M:/ !9~ :4!3<+w:7!6+w ͂~!9~!9ͽ?HOr.B~3;~rurҤ:8!9wM~6N:/ˆ!6:3:4#*6M*7n@H<_Hn@22*6M*7n@25!9~!9ͽ?HO!r.B/3+>!+)P:/$IAJA:4!3+w:/$*2U@22*2U@22Ϳ@éͦ'rurҪ:8!9wM**<"@>++[!955͐Oy!9~>Hy=!9~O@H!9w!/6$!26!56!9N0r.B&>!̀OF—Ϳ@ðͭ\>!ͭOG—Ϳ@Ѐ!66̀*6M̈́!֞p+q՞Ӟp!*՞DM\!ڞr+s+p+q*מ"f\2۞:۞ WͦDMhzy:۞y*מDMͦDM͊z!ܞ6:J=!ܞڥ͡*ܞ&K N!ܞ4*f ٞƙ!s+q+p+q+q+p+q+q*ޞ"f*&/ >((j:>!6#6*&/ >"":2K!4*&2 :枾W!:枾<*&*~2A!6 *&K :w!4#4:2J!:枖/å*&/ ~$~%Hҝ::Hҧ!6ڂ:·!6ڂ:ǂ!6ڂ: ׂ!6ڂ>!"K*&*&!syQ!6:=!垾Q*&*Nͦ*M>́O*>*M!K͇*&*Nͦ>"K!4:k!>O!K͇+s#r!J6*&2 >ډ!J6:L#w*&2 ~!枖/å::H:H: HЃ>*&/ ~!6#6!""}222!:垾D:a*&*~.$!6^*&*~E W>*Mڈ=:ª*&*~E!6ç*&*NЈ2O> Ҝ>*Mڈ!5=:*&*~-ʄ!6-τ!6+*&*~+~-H!5!6=:=> ! >*&*NЈ2O> (>*&*& !s!4! ":-Z:/<2:!w>}>}HҺ>2P:Ҩ:ʥ͕!5Óú:ʺ!4èՊå:̅>*&/ ~߆!"K!6+6:=!垾ڐ*&*~.!枦!6É*&*~0>9H1>:҉ !Kͮ u*&*>7HHj>!K*&*^>0͡"K!4*&2 N!͋K̀ڬ>:ݞ-½*K6"K*&2 >Ԇ!J6ن!J6>å*&/ ~1~Hv!6>!垾*&K 6!4!6#6!6+6:=!垾Ň*&*~.\:V!6Y>þ*&*~0>9Hy>:Rʄ>*&5 :!架Ҿn*&*~0!Kw!4:ھ!4!4,*&5 :n!4#4Ň*&2 ~!>*&/ ~p!6!6:ݞ-Y!6>!枾Y*&K ~2:垷2!>#'+w/2+n& :w!4*&2 ~<<2J>s>å*&/ ~0¢:ʐ>!J6>#w#6>å>!q:0 Һ:0:Ä:A >!q:0!q!ͮ!4*)"!b+s#r*)"e")"e"*"*ͼ+s#r:Y+s#r>ͷ+s#rɟs*)"!b+s#r*+"P!q+s#r!q+s#r*#"*###"!͑"!q"!͑+s#r!q+s#r*"*ͼ+s#rP*+"!6>!鞾!͑+s#r!q+s#r!4!͑"!q"^+s#r"*ͼ+s#r"!6: ҹ!6:!Ꞿڏ!͑+s#r!q+s#r!4d**""*ͼ+s#r":鞇2W**">ͷ+s#rP!K6#6#6#6!J6>}>}H >*}.*">ͷ+s#rP*"}2N*|2M:ݞ-U:M2M*}2L*|2Ku!6:ʧ*&K ~:=o& ~Hw!5s:K2K!q*&S :w!4! s+q+p+q+p+q+p+q+p+q+q*"f##~2/*f ~22*f ~25*** * M* ʹ(>*DM*">DOIFGOONTOBYBINBITDCLDECDEFENDENVEXTGETINTKEYOFLPICPTRPUTSETUFLVARADDRAUTOCALLCHAREDITELSEFILEFOFLFREEFROMGOTOINITINTOLINELISTMAINNULLOPENPAGEPROCREADSKIPSTOPTHENUNDFZDIVBASEDBEGINCLOSEENTRYERRORFIXEDFLOATINPUTKEYEDKEYTOLABELPRINTTITLEWRITEWHILEBINARYDELETEDIRECTFORMATOUTPUTRECORDREPEATRETURNREVERTSTREAMSIGNALSTATICSTRINGUPDATEUNSPECLENGTHLBOUNDHBOUNDSUBSTRALIGNEDBUILTINDECLAREDECIMALDEFINEDINITIALENDFILEENDPAGEKEYFROMOPTIONSPICTUREPOINTERRETURNSREWRITEVARYINGALLOCATEEXTERNALINTERNALLINESIZEOVERFLOWPAGESIZEVARIABLEAUTOMATICCHARACTERPROCEDURERECURSIVEDIMENSIONUNDERFLOWSEQUENTIALZERODIVIDEENVIRONMENTFIXEDOVERFLOWUNDEFINEDFILE789Lsr: :/H:*HҢ!6:*2/Hڗy!6P: :Hһ: ‹:2!ӏ!6\:\*M!6Ê:**!6Ê:- >!6Ê:<9=6!6Ê:>R=O!6Ê:^Š=k!6Ê>|!6Ê<Ҋ!6> !ҕ*&1) ^#V"~2>!!5:#w>!~=O! *&* H!5ü:<Y+s#r: *~2ê!6! q! :#w-!6:EXPRESSION OVERFLOW$1!/q*/& N! ~!0q*0MLO! >!1q*1& N!B ^#V!2q*2& N!l ~!3q*3& N! ~!4q*4& N! ~!6s+q*5& N! :6w!9r+s+q*7& N!B *8s#r!;s+q*:& N!l :;w!=s+q*<& N! :=w!?s+q*>& N! :?w!@q*@& ~!Aq!B6*AMb!B=wO>ҝ!A5Â:A!Cq*CM*,ԑ*C& ~2,!Dq!E6*DMx"F>!E!Fbk+ƙ+s#r!ԙiH !E5ђ*DM*E-:EA3!9NL!9w =!9N;3!9~~!HҶ!9~=O!9w!9~=Oy=O!9w!9~!9ҏ!9~!9w!94>Ҡ!96!9N!9^-!9~3!9~!9~=OL ۓ!9Nͨ3!9~=O!9w!9N!9^-!9~3!9Nͨ!9w!9Nb!9w>!9I!9~=wO!9w!9Ny!9w!95!9~3!-:.]:e:.2H:gگ:M¯:H=2H:-=Hʯ*HMLҬ*HM2I*HMy2Hz:-2H:.=!HJ*HML2IOͩ:I<*IMc2IQ:Ia<*HMͨ2J:I*HM;:JH2J:I.*JMͩ:I!.~E*.& :,w*,& ~2,*.M*Mԑ*.M*N*.M-*.MH:.2+!.4!Pq*P& ~R!Rs+q!Q:.2U!S6:R!SY:.=O! ~2X!T6:U!TE!T:.2V<2W*V& o& w!T4*Q& :Xw!S4!Yq:.=Oy*YO!Zq:.=!Z†:.2-=!Z:.=w*-_M:Z!-w:Z:.=Oy2[:.![»:[!cҁ:t*cMj~R*cMͩû*cMj:+=O͒*+_M:+=Oͨ*+_M-:+=O;*+_MHS!dq*dMS*dM˕:ݗrp*r"jR!eq*eM—*r}Oͩ*r|Oͩ!fq!f:.#w2.R>!fV!f5#N! *-& w!-4!g4):-2.!-:.2h*hM:h!iqR!i:-2-!jq!j:-2-!kq]2l!k2m!m:-+^O:m*+MLĘ>:+=OL Ԙ>:+=Ox"n>f>*n}*+MLև!pq>!p!p5:+2.O͡!+5:.=Oy2q:q=*qM͒_H:q=*qMͨ_H-:q=*qM;_HH!q:.=N_!rq:r2!,6>!,ڡ:,<*,& w!,4ƒ!6>#w#62.2-2,_ogi`N#Fog_{ozgi`N#Fog_ogDM!>))덑o|g =^#V))) DM!>)). =&YP뗕o>g_{ozgi`N#Fog_og^#V}o|g f^#V|g}o u~ ^#V) ‹^#V|g}o •O{ozg_{_z#Wû#LIOBIDCIDDIDFIDIIDNIDPIDVIDASCC2 BASCASDASFASIASNASPASVASBLDCLDDLDFLDILDNLDPLDVLDSB DADFADIADDSUFSUISUBGTCGTDGTFGTIGTBLTCLTDLTFLTILTBEQCEQDEQFEQIEQNEQPEQVEQBGECGEDGEFGEIGEBLECLEDLEFLEILEBNECNEDNEFNEINENNEPNEVNEBANBORBNGBCTCCTBLKDMIFMIIMIDEXFEXIEXDMUFMUIMUDDVFDVIDVQBCQBIQCBQCDQCVQDCQDIQDPQFCQFIQIBQICQFDQIFQPCQPDQVCOFFDOWDLPIFCCALFFXRNKBSTCSTDSTFSTISTNSTPSTVSTDSIFSIISIFUNRETENTBRTCRTDRTFTRIRTNRTPRTVRTASTALDQBBQCCQDDQIIQVVBEGSTPDFLDFVGTLGTGCS2CS3BS2BS3VS2VS3VALVSLALLFREQCIQCFOIOCIOSIOENVGNBGNCGNDGNFGNIWHLGNPGNVPNBPNCPNDPNFPNIEDFPNPPNVRNIWNISKPPAGQIOENLKEYKTOBOLONCREVSIGENCDABFABIABDCEFCEICEDFOFFOIFODMXFMXIMXDMNFMNIMNDMDFMDIMDDRNFRNIRNXL2XL3BIXCIXVERDTRFTRITR ## P O C W PR SF CS SZ$EXPRESSION OVERFLOW$CTL $BAD INT FILE$1>!M#!e6!y6a!46!6aͫ:9͵ͪ4ruDM þv#!$q*$&ܟ N!5 ~!%q*%&ܟ N! ~!&q*&&ܟ N! ~!'q*'M$O! ~!(q*(&ܟ N!^ ~!)q*)&ܟ N! ~!*q**&ܟ N!$ ~!,s+q*,&:+Ě!-q*-M͆$*-Mp$_H͜$!.q*.&ܟ N! ~!/q*/&ܟ N! ~!0q*0&ܟ N!M ~!1q*1&ܟ N! ~!2q*2&ܟ N! ~!3q*3&ܟ N!v ~!5s+q*4&ܟ N!5 :5w!7s+q*6&ܟ N! :7w!9s+q*8&ܟ N! :9w!;s+q*:&ܟ N!^ :;w!=s+q*<&ܟ N! :=w!?s+q*>&ܟ N!$ :?w!As+q*@&ܟ N! :Aw!Cs+q*B&ܟ N! :Cw!Es+q*D&ܟ N!M :Ew!Gs+q*F&ܟ N! :Gw!Is+q*H&ܟ N! :Iw!Ks+q*J&ܟ N!v :Kw!Lq*L&! ͐0M!Mq *MM͕&!Nq*N&! ͐Kͮ&*NM͕&!Pp+q*O!d͐KͿ&*O! ͐K͕&*OM͕& !Sr+s+qͱ'*QMͿ&'*R*R"R*R N*R N*R N!Up+q:b_'̀'t':Nn' _'rTprTp/!Xs+q+q*ˡ"c!Y6:W!_/~H()(*ˡ#~2[O>('o5('#*ˡDM͖!V4â'*c"ˡ:]/>!]/H!gq!h6*gM0$!h=wO>=)!g5"):g*ڟM)2{2ٟ:ڟڻ)*{M*rQ%):g)!i6!j6:jo*!j6:s2r:{=2u*{MZ$2k>!rl**uM)2v:iA*>!rA**uMZ$:v=OZ$HA*!j6"+:x!u!w+w*uMZ$!r=2lO:k^*:l2k:v=2u!r5))*{M*k͢%!{4N)*u&ܟ ~2t!p6:y!p*!p:u2|<2}*|&ܟ o& w!p4”**x&ܟ :tw*w&ܟ ~2t!p6:y!p+:p!w2~=2*~&ܟ o& w!p4**u&ܟ :tw:v=2w*wM)2x!x:u#w!w:u2z!o6:z!o_+͂*!o4K+>!Mj+:ڟ<2:ٟ2!:ʑ+*M)&!4w+:gҙ+!ٟ:2۟!6>!+*& N*۟/*& w!4¨+:۟!ߠw!6:ٟ+w!:/*M$2*M0$2*MZ$2*MF$2:6,*Mp$2*M͆$2b,>!E,͈0b,*& ~22*& ~2:{s,͈0/f.:m„,͈0/f.*& ~ҵ,:=O! ~2/:2:2f.:,:=O! ~2! ~2!6:O! ~2: .:ߠ! .!:+w*M$O9/*M$2͌/.*Mp$2*M͆$2!:\-:2\-!:2:ڄ-:„-!::#H2:.*M$2:O! ~2:ߠ!.!:+w*M$O9/*M$!.*M)O:2!:!*_M)&:<*_MD&!6å-,:(.:<2".!6:2:/>!/HH.:2f.:Y.:2f.:f.!6*M*ͽ%*M*%*M*%:2 />!/Hҫ.: 2:OͲ/*_Ml%:OͲ/*_M&!:2+~ />/H/:<2O>.#*& :w*& :w!4+!s+q:!w5/>:!q*M*/2:/>!/H~ />/HH:}/>*M͆$!:/>!/Hҧ/L/!:!q*& ~2!:*& w:ߠ!/!:O:>:0!6>!0*& ~230!4/20: O! ~230:ߠ!ڇ0!:+w*M$O9/*M$2L/҄0r/҄0*Mͽ%*M%*M%30!6#6!6!6!q:<:#´0# 1!#5*!& ~2ٟ*!M͛02!O! ~=2ڟ!ٟ:ڟ<2۟O:ܠ2ܠ:ߠ2ߠ:[ 1*ٟ*ڟM͌'ʹ@!6>!81*& 6*& 6!41!6+6!ܠ6#6#6!!6#6#6!6_H͜$"ǡ:¡ҩ4:ġ1!ġ6:ޠ<*"& 2O>1!š6:ޠ<*"M͛02"O! Hq*#M͛02#1ͦ0æ4:š#2!š6:ޠ<2ٟ>!M1!:ٟ2ٟ2>!2:ٟ=2ڟA)!ڟ:+=21:ޠ2ڟ`+æ4:á>2>!#2á;2ͦ0æ4:ơ3!ơ6:O!2 ^#V6\1* "ˡ*ǡ+DMQ':4қ2*ˡ#>a2y:4<24O! Hq*ǡDMQ'3\1*ǡ+DMQ'>!42:4=24O! ~2y=7*ǡDMQ'333!¡6:b2:N2 23\2]2^2_2`22222æ4:ܠc 3ͦ0æ42O>ܹe4:ޠ<2ޠO!ܟ :ݠw:ݠ<2ݠO>bR3!ݠ6!ܠ4!6#6#6#6#6*ޠM*Q%*& ~2*ޠ_M͇%:2ġ:232:3>!ھ3!6242:3:2:24:4224:4:22*ޠM*͢%*ޠM*ͽ%*ޠM*%*ޠM*_&*ޠM*z&:lb4*ޠ*ޠM͌'æ4:ڠ4:l҃4#͸*M&!á6#6!ơ6:4!á6æ4#m1!¡6#6#6#6#6 1m1BLOCK OVERFLOW$*** AUTOMATIC STORAGE OVERFLOW ***$!p+q*ˡ"*"ˡ#>2O>5!6:O!6>!R5*& *ˡN!4#5,5*"ˡ*ˡ#>*ˡ#> >ˡ}|5*ˡ##~2p:@H:CH5*ˡ >»5!6S5!6A5!6a525*6!6:=!6*& *ˡ>2 6!6?*M!45: 6i5*M(*ˡ N#F͖)!p+q*"ˡ >*ˡ^*ˡ"ˡ*ˡ >2~6>:>*ɡ"ˡ*ˡ~2ɡY+s#r:<2O>ҷ64* "ˡ ^#Vnɡp6*ɡ" ͊6a5O:6ͣ6*&ϡ) >w#66*&ϡ) * s#r*ɡ"ˡ!n Y5 H57͊67!p+q* DM67>!~=O!ϡ >Hn7!5E7>!ҍ7:=2O!ϡ ^#V" *ˡ  ns#r*ˡ##~2"@:"AH7*ˡ ~2#@@7:#7:#2#7:#2#*ˡ :#w* "ˡ##^#V"$[6nˡp+8Y5 %858[6 8*ϡ"ˡ58*ˡ##$p* "ˡ##^#V"+[6nˡp8Y52& ¿8*+" *ˡ##^#V")*ˡ##*+s#r*+i!) ұ84͸!M4!" "+*)*+"+8:&8͢7i68͎7[6T8* "ˡ##*+s#r*r#"ˡ ˡp69Y509i609*ˡ"' ^#V"ˡ##^#V" *'"ˡ͎7[68ș*r#"ˡ"ɡ!iQ9Y5 l9*ˡ^*ˡ"ˡ"ɡQ9!6*ɡ" "ϡB89999999~9h }jfc9TCJ~9 }~9@h}lfc:TDJ~9}h }kfcPTEJ~9 }@mfcWTnfc`Th|ofcSh|pfcSh|qfcmTFJ~9~9h|rfcSh|sfcSh|tfcmTFJ~9~9hhhh:}~9ufcTvf~9~9wfcTxfcTsNtNuNvNwNxNyNzN{NNNNNNNNN@@@@@~9[}~9~9~9~9~9~9~9~9yfcT@@@@@@@T@@@GJNJNNNNN@@@@@~9C}H}hhC}H}~9Z}@@NN~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9~9T~9~9~9~9~9~9|~9~9~9~9@mgdY`KDHbBGp 'gdn\Kv@r g6e\Lv@fBIgEe]PgKe^sWgQeW_s]gWe[_ tcg]e_kMv@v@tǁigce`t́ogie`tӁugoe`qMv@v@Nttu@vفJ{gue`gfbg{eageaQEQpQQQQQQQ!Mr=$=͸*."0DM&*=$!Mq*I~2Q!A6#6#6#6#6!N6+~27:Q=?!Q5*N& *I~2R:M=2M:N<2NO!7 Hq:R>*MM$!R>>:?:R>*MM*A>>:?:R'>:?:R>*MM$ >>>*MMͳ$"T:Rh>:ROTue>>|>:ROTu|>>:?:R>*MM%%2S:Rҭ>:R!SҪ>>ÿ>:RO:Sҿ>>!M4:?:R2RO!A ~2O#?*MM$!M*O&7 N)2PH?>*MM%*O&7 ~!P*R&A :Nw*MM)2Mð=>!9A3. !97 -T?:6! 9w!9N$2HO!9 ^#V"I!66*I~2F*H&j;) ^#V"K!G6:F?:F=2F:6<26*I#"I!9N͊=?!F6#6*I^*I"Ià?:G/@!66*H& >O!9 N#F`i"I!9N͊=2G:j7@!9~!ٟ*H&O '*6MͿ&!?@*K:jS@:YS@G=͸. !9DM7 -`@! 9~26! 9:p/ҁ@Z=*7Mͳ$".:bҞ@*.DMQ'ó@:Yҳ@S=͸*.DM&:۟@!"0!46#6*ڟM@? OFCOPRSBLKIE12NSVBLKDCRETVCRETFPRETSTARTSTOPXRECOVALLOPFREOP!Vq*VM$2V/>!V/H!Wq*WM*A[A>*WMͳ$"ˡ͇6A3!9N@?!9^#V"X>ҧA>X}ʤA*X+"XsÉAA*XͲ>A>X}Aͱ*X#"XöAA*X͞ޗ3A3!9NIAB!9N!9^#ViAB!9N#F!9^]3A3!9NA3A3!9NIARB!9NiAŒ`B!9N͡3Z=;:4!9w!46*9M*AҡB*8M@?TҐBjU*9]ޗB*9M@?*8M@?TҼBjUϑޗ!9~243*8Mͳ$*9MA͑"Z*Z!9s#r:6C*8Mi26:65C!56*8M@?ͰP2\͑!9s#r*\Mqm1!9^#V ͒:6UC!9N#F̈́͑!9s#rm1!9^#V ͒!56*8M@?ͰP2]͑!9s#r*]Mqm1:C q!9N#F̈́͑+++!9s#rm1!9N#F̈́!^q*^Mͳ$"ˡ*ˡ >ր*9M$*9Mͳ$DMB6HҀD*8Mͳ$>f1D*8]*9MCHD*9 ֘}D*ˡ >cD lD*ˡ ͳ͑++*ˡ q#pD͑!9s#r͞*9M$¬D*9MóD*9M@?*8Mͳ$>fD *8] D.!9N#F̈́C*7M%%23E!36:3E!26E!26!_q*_Mͳ$"ˡ*ˡ >IE*ˡ N#FF*ˡ >w͑*ˡ q#p͸6>fʅE͞ޗ͸6DM:>!ҒE>:*c"ˡ͆EҤE*ˡ > ¹E@t* "ˡ##^#V:eE@t:e!9w*c++s#r*7Mͳ$"ˡ"c*ˡ ~2e͆E1F:h1F105@h1_e/>!H!9w͑!9s#r!9~aF q*7ME*c"ˡ>!ҝF*ˡ >F͑DMF*ˡDM4:eҵF7>fµF!e6:eF7͞ͺE@t* "ˡ~2`O>aG*ˡ  n"ˡ:`$GŒsŒ.*ˡDM:aG*ˡ1:`_1͑"aŒs,s*a͒dEm1͆EڀGeڀG͖EE !9~ғG!9N#F̈́!9^#V"c2e͖EE ͖E*8M@?E ͖E*8M@?E*c"ˡ[6*ˡ##~2fGAQ"H:f(( HAQ"H:fH AQ"H s͖EͨbE ͖Eͭ|E *7]!6>O}eH!"O*O͞Ate}HAts*8ME*8Mͳ$"ˡ*ˡ > ºH͸6DMޒ.At!"g*8Mͳ$"ˡ*8M$iH:8=29=2:*:Mͳ$"ˡ*9Mͳ$"g͑"i*ˡ gnDMh*iDM͗*iDM͛*8M@?.*8M*AҸI*8Mͳ$"ˡ*ˡ >©I*8MCnI*8 [æI*ˡ >‰I qÒI*ˡ :͑++*ˡ q#psõI*8M.I*8M@?ŒsŒ..:8=Oͳ$͞ At*8M@?%AtdEm1͑!9s#r q͑!9s#rJe6J !9N#F̈́NSTOPNCOMPNC22NŒsŒ!oq*oM%%2lO`i*oM;%2kĚ"m!pq*pMsJ*m*m͞*ˡ ~2q@@J>:qJ>*ˡ##~2qBJ>:q@J>:qA!ss+q*sMͳ$"ˡͷJTK7*ˡ >5K*rM͞@K*rM*ˡ1͑++*ˡ q#p_K*rM*s]*7JͭJPJt*8]jK!tq*tM$ *9M$4L*9M͞J>fK:9=ÓKK͞K*9M@?*8M*AK*8MNK*8M@?ϑ_J1L*8M@?:9=O*AL:9=_]'L:9=O@?.Ͷ*9MsJjKÃL*8M*APL*9M@?*8MNÃL*8M@?*9M*AnL*9JÀL*9M@?.Ͷ_J*8M*AҙL*8ML*8ḾKүL͞L*8M@?ŒsŒ.A3*8M$*M*9M$*M*8M͞J>f*M:9=O@?:8=O@?ϑ*8MsJͭJUJt!9~223*9M@?:8=ÓKNMŒGaM*8M@?ϑZJt!9~223LL*8M$M*9M*AM͑"u*8Mͳ$"ˡ*ˡ N#Fh*9Mͳ$DM*uDM͛*6M!N ^#V*9M@?*8M@?ϑ_JN*9]*8MNN*9M@?*8MNNMMN*8M*A1N*8MPN*8M@?ŒsŒ.88 00QB08CQB16CQB08IQB16IQCB08QCB16QCDOPQDCOPQDI07QDI15QFCSSQFCMSQFI07QFI15QI07BQI15BQICOPQI07DQI15DQI07FQI15FQCIOPQCFOPQCCOPQDDSRQDDSL!wq!w>O>֚_ͥ>!21O:22x DO:x 2x:xQO!36*2M!P ^#V.&P&P&P'P&P'P&P>!3ڌO/.òOŒ/.ŒŒ/.Œ&P/.:3O*3MO&P&P&P&P?..&P/.&P/.&P6P&P6P&P&P&PaOiOlOoOuO{OOOOOOOOOOOPͥGͥG>!2OP:2 bP:2 22jP:2 22>!3ҖPŒ:3ҌP:3OOGïP:3¨PGïP*3MO!yq>!2P> :yPEP*2&QN ~P*2&QN ~PGPkP*2&bN ~!26*7M%%23Q!26*8Mj*7M%%_1͓j>QNtDQNt*8Mj*8M%%_1͓jiQNtoQNt*8M@?xj҇QNtÍQNtQ*8M@?*7M;%_1Nt*8M@?*8M@?*7M%%_1*8M;%_1Nt*8M@?TQNtQNtZ=:6R*8M@?R*9M@?*7M%%_1:65RNt;RNt*8M@?TSRNtYRNt*8M@?*7M%%_1T~RNtÄRNtQ*8M@?TҙRjU*7M%%_1Nt*8M@?TRNtRNt*8M@?TRNtRNtZ=Z=*8M@?*8M@?Nt*8M@?Nt*8Mj͆o*8M@?*7M%%_1Ot*8M@?*7M;%*8M;%O2zpS:z/<_1OtÇS:zʇS*z1 Ot*8M@?TҧSTڤSŒñSTұSjUZ=       !     ! i         @ IS22NIN20NIM22NIM22NID22NIE10NIE20NIAB07IAB15IMAXFIMINFIMDOPIROUNIEXOP:4T>*7M%%:4 U>*8M%%:4U>*9M%%:43U>*:M%%*7M%%*8M%%*9M%%*:M%%:hyU$ÕUŒGGŒ:9=O͆$_1TүUjUUҺUjU)UUjU*8M@?ͥU*9M@?ͰU*:M@?ͻUTUŒŒGGŒTt!{q*{M%%LV:{=O͆$2{FV*{&ǚ*{&:{=Oͳ$;A3!9N$!9woV>!9~N}V>!9~~!HҴV!9~=OUVҴV!9~=O)=OUV>!s+p+q+q:}ϚV*}Ͳ"}:|/2|:}}W*}!s>!W!5:|WsWͱV:W:|,W*}Ͳ"}*}͞ޗ!s+q*9M͆$2gW:_WdWÃW:zW*ͥÃW*ͥ*jUUϑ>ͰUUϑ>*6M!Y ^#VͿW+XG.XVY*>;A3T4[*;M͆$!9wZ*=M@?>!9Z!95+~ZZZ1[*=M@?Œ!9~ [!9^ͥ*[!9^ͥŒØ[*!9O\GŒsŒk\!9n1s!9#~_13T\*9MUV24*6M!\ ^#VZÿ\͚[ÿ\ͱZÿ\ͱZÿ\Zÿ\\\\\\:6D]*8M$ ]T]*8M͆$\G\*8M͆$_1]*8Mͳ$͞A]*8M@?T)]ŒA]ŒsŒ.]:6U]:82g]*9Mͳ$DM::2Tx]*M͡]*MA3*:M@?TҤ]*9M͆$!9N_;Wû]ͻU!9N*8MVDM͸V3:6;^*9M@?T]*8M@?͓G8^U*^T^*8M@?͓GjU'^jU*8M@?ϑޗ8^UϑޗÆ^:6K^̀]Æ^*:M@?Tl^*9]GÆ^)Uy^U~^.Uޗ:6^Tһ^*9M@?*8M@?ŒzG^UUϑVV_:6^̀]V_:6_T _*8M@?/.*:M͆$<_ͥ_U*9MV͞VV_*:M@?T>_*9M@?GV_)UK_UP_.UV X XS3A3!9N@?!9N@?zG!26*6M!` ^#V*9M@?TUH_*8M@?ŒzG_U_jUUϑVŒG!26`G*9M͆$*;M͆$H`!26`)U7`*:M@?!26V`*;M@?ŒsG!26`)Uw`*:M@?*8M͆$_;WÙ`U*8MVDM͸VŒG!26`*!9ڈa!9N!T !9n €a!9~da͞}aU!9~=wO>}aޗga3!94.aU!9^#V͞Tt3:6®aaaUUϑTtUUUϑTtU*8M@?TaTtaTt*8M@?TbTtbTtU*8M@?*8M@?UUϑ!9N#FtUT)bT)bT)b*8M@?U*8M@?T}bŒͶTtU*8M@?TқbjU͖UTtU:6bTb*9M͆$_1b*8MV͞c*8M@?TbTbŒcTcjUFL40MFX44SFX44MFA44SFA44MFA44LFA44RFS44SFS44MFS44LFS44RFM44SFM44MFM44LFM44RFD44SFD44MFD44LFD44RFC44SFC44MFC44LFC44RFN40SFN40MFE40SFE40Mccc$c8cLc`ctc~cFABSFFCEILFFLORFMAXFFMINFFMODFFROUNFTRNCFEX07FEX07FEX15FFXOP!q*M$!s+q*&c) :ZDMtA3*8Mc5d:8=O@?!9NcFd*8M@?!9Nc3A3*9McҠd*8Mc҄d:9=O@?:8=O@?ϑ!9NcÝd*8M@?:9=O@?!9Ncd*9M@?*8Mcd:8=O@?!9N cd*8M@?!9Nc3A3Hd!9~223*7]*9Mc e:9=O@?*8M@?ϑc5e*9M@?*8M@?c*8M@?cHdHdddd d dddHdHdd*9M@?*8M@?*8M@?ct*8M@?ct*8M@?ct͍ect͍ect͍ect*9M@?*8M@?TfŒct*8M@?ct*8M@?͖Uct*8M$e`f*9M@?:8=O@?:8=O%%Wfct]fctif͍ectDCMOPDLDOPDSTOPDADOPDSUOPDNGOPDEXOPDMUOPDDVOPDSIOPDABSFDCEILDFLORDMAXFDMINFDMODFDROUNQDDSR*9M@?*8M@?!9N#FtA3zff!9~223*7]*8M@?*7M%%_1ft*9M@?*8M@?*7M%%_1ftfffffff f ff*8M@?ft*8M@?͖Uftffff*8M@?ft*8M@?ft!p+q*8M@?*8M;%2g*1*DMtfgfgffffff*9M@?*9M;%2:8=O$ Ih:8=O͆$O:_1mh*8M@?T^hŒ:<_ͥ/.ft*8M@?*8M;%2ʙh*1ft               G F i     BST08BST16BST08BST16BC22NBC12NBSL16BSL08BSL16BIX08BIX16BOOLF!q:XiGai*1!q*M%%O>}i:=O͆$:=Op$!q*&!s+q*M͆i:Ě!q*M͆$O͆i!q*M%%O>i:=Oͩi:=Oͳ$!q*M%%O>i>:=O͆$!q*M%%O>j:=O͆$:=Op$!q:/j!!>O!!q:Pj*MO!q:2wjŒ*MOŒ*7M%%2Šj>>!/*8M%%2¥j>>!/*9M%%2j>>!/*:M%%2j>>!/!q*M@?'O*3M=jŒ1!36A3!9Nj!9N%%*7M%%OVkxj@k*3M=jVk>!3OkjVk*3MQj3*}2|2*}2|2!s+q+q*M%%2Oj"*M͹i͈":=O͆$2O>k:=O!+s#rH!+s#r*ͽ"Xk!s+q:l*Œ*ͥ*MŒ!q*3Mj͈+s#rXk!36*M%%O>ҍl:RlŒ:2:2!6Íl:dlŒÍl*Mk*Mk.*͞V!36:¡l*ͥûl*ͥ:ʻl*ͥ*9Mjͮjm*3M=j͓jl*8Mj*3M=jŒz>j*8Mj*3MQjϑ>*3MQj*8Mj͓j5m*3M=jjA3*6M!m ^#VͼlgmGjmVm*@Mj*>*;M*8ok*@Mlm*>Mj*<*;M*8ok*>Mlm*:Mj!"*8M͹i"*:MlmUmmmmm!9~223*7]*8M$2m>:֖;S3A3!96*;Mp$!9w*;M͆$!9wxjMnjCn!9~!9w*8M@?änj!9~!9HҀnjvn!9~!9w*8MBän!9~!9—n*8M@?än*8M@?!96!9~=wn!9~/##n!9^1n!9NBi!9NGŒ!9~n!9~!9wsän3!q!26xjEo>!34o*7M%%O:31o*3MOBo*Œ!36Åo>!3TojÅo*7M%%O:3҅o:<_Œ:3OO:!گpitpxjpŒ1 itq͆oxjpp*8M@?xjpzŒqϑŒsŒr*;*8M*?okk*=Mor*9*8M*=okk*;Morxjjq*8M@?*9Mbi_1~q*9M͹i͞*8MNrmq*8M@?>!ڮq*9Mbi_1itq*9M͹i͞it.r*8M@?xjq*9Mbi_1.r*:Mͳ$>frGŒsŒ.r*9Mi_1s*9Mi_1rnrnrxj]r*;M.B*8MÊr*;M*7M%%*:M%%23H҃r*3MQj*8MNr*9Mj͆oxjҨr*8Mïr*8MNrWpq0qLqq1r;rErr:3r:2r:2r!26r!26:6ˆs*8M$ 5sxjs!36*8M͆$OBi-s!36*8Mͳ$͞!26ÅsmFs*8M@?Ås*8M@?xj^sŒvsŒsŒ.*7M%%23!26s:6™s:82ës*9Mͳ$DM::2xjҼs*M͡s*M*7M%%23!26rBmBmA3!9NBm>!3sG*7M%%233s Bm Bms*7M%%238t!26Mt:3Ht!26Mt!26*9Mkxjbtet*8MkxjҀt͓GítϑŒGŒŒGŒ!t*9Mkxjtt*8Mkxjt͓GuϑŒGŒŒGŒ!t*8M@?EPA3!9Nj!9N$ICu!9N%%O=j!363!q!6>+du!6>+w>!{u!5*M.du!q*M%%2O>ҳu:2uuĚ͞ituuu/Ě͞it*&!>O>֚=*8M$ v:8=O$ v͓jv:8=O@?v:8=OBŒ*8Mj͓j8vŒ?vŒ*6M!1y ^#VxjҀv*9Mu*8Mu*9M%%OJu͓Gv*9M%%¦v*9M@?uzŒv*9MjͮjһvŒ*8Mjϑ͓jvŒ*9M|u;yxj w*8Mu*9M%%OJu*:M͆$_ͥQw*9M%%(wu*9Mbi_1Qw*8Mj͓j=wŒ*9M͹i͞*9M|u;yxjw*:Mu*9M͆$*:M%%O_ͥw*:M%%©w*:M@?Œ*8Mbi_1w*:MjjwŒw.*8M͹i͞*:M|u;yxjx*:MuŒ*8Mu*:M%%OJuGmx*:M%%4x*:M@?uzŒmx*:MjjLxŒQx.*8Mj͓jfxŒ*:M|u;yxjҡx*8Mu*9M%%OJuŒ*9MuG.y*9M%%xu*9M@?Œ.y*8Mj͓jyͮjxŒ*9M@?ŒyŒ*9M@?.'y*9MjͮjyŒ$y.Ͷ*9M|u;yPvvTwwpx*7M%%23O>Yy!36!26cy!36!26:7Үy:–yGÛyޗ:3!#«y!34vyS3A3dyy!9~=O@?!9~=Oͩi*7M%%Ě͞!9N%%2!9Nj!9~=O͆$2*7M%%23!9N%%O>҄z>!uz>!`z>![z*1$it:3!Xz!36`zry!26xjszŒŒ:2!26>!z>!ڣzry÷z:<2 ҷz.ãz:3z!26:3z!26*7M%%O:3z:3z*3MO!26!36*8M*9ͯy:6!|dyb{::=O@?*9M@?*9M%%@{ŒG{ŒͶ*7M%%_1*:M%%2*:Mjjv{y{*9M$µ{:9=O$ £{:9=O͆$_1ò{:9=O@?Œ{*9M@?*9M%%O>{Œ{Œ*7M%%23!26j|z)itxj|j|Ͷ.itxj|Œ,|*:M*<ͯy!q*9M%%*8M%%_H͕i*M͞ͼle|-|3itp|-|8it*:Mjj҂|j*9MjͮjҖ|jϑ*8Mbi_1=it*8Mj͆oSCSTSSCCCMSCCVMSCVCMSCVVMSCSCMSCSVMSCCMSSCVMSJJJ     CXSTSCXCCMCXCVMCXVCMCXVVMCXSCMCXSVMCXCMSCXVMSSLCTSSLVTSSSCFSSMCCMSMVCMSSVFSSMCVMSMVVMSACVMSAVVMSASVMSJSTSSJSCMSJSVMCS2ADCS3ADVS2ADVS3ADVEROPXL2OPXL3OP!q*M$2~>>!/S3A3!9N*A=~!9N@?!9^]!9N@?!9N*At~.!9N}i~Œ!9N@?ß~!9N}Ҕ~!9N@?͓Ü~!9N@?ϑ!s+q:=O}~*M%%*_M1*;M*9~*:M@?*9M@?*9M}~Œz*8M@?*:M@?*:M}Œz*9M@?*8M@?*6M! ^#Vý~*:͡~*8͡~ý~*:͡~ý~*8͡~ý~ý~*8͡~ý~ý~*9͡~ý~ý?E]l{:6!6A3/;O!| DMt!9~223*7]*7]*8M@?*7͡~}t*8M@?}t:6j*9M@?*8M@?*8M}QŒzaz*7M%%_1}tÞ*:M*8~*7͡~:6˜*9͡~}tÞ}t:6р*9M@?*8M@?z*7M%%_1}tô:6A:6*9M%%H*8M@?1>*:M*8~*7M%%_1:68*9͡~}t>}tô:6ҍ*=M@?*8M@?ϑ*7M%%_1:6„*<͡~}tÊ}tô*:=O$ A3!9N@ҁ!9NV͞Ý!9N@?!9N%%ҝŒ3*f2ʢD*9M@?*Ȣ͑͞"Ƣ͞:ʢkׄtË>Ȣ̓>fʅ܄tËt*8Ma *9Ma:ŢҮtt͑"0qt*8M@?:Ţtt*8M@?:ŢÆt*8M@?:ŢÆt!Ţ6:8=_] t*8M@?*7M͞J͞4t4t*8M@?TrŒtt"t*ƢDM̈́:Ţڞ*DM̈́*8M@?TҰjU't*8M@?,t:9=O͆$2ˢ*8M@:8=Oͳ$͞*8M@?:ˢTŒ1*ˢMBiŇ1tŇ6tŇ;tRET $JMP $CALL$RC $RM $RNC $RNZ $RP $RPE $RPE $RZ $JC $JM $JNC $JNZ $JP $JPE $JPO $JZ $CC $CM $CNC $CNZ $CP $CPE $CPO $CZ $PCHL$RLC $RRC $RAL $NOP $vHLT $DI $EI $XTHL$SPHL$'DAA $/CMA $7STC $?CMC $IN $OUT $ADI $ACI $SUI $SBI $ANI $XRI $ORI $CPI $ADD $ADC $SUB $SBB $ANA $XRA $ORA $CMP $LXI $ LDAX$STAX$ DAD $POP $PUSH$INX $ DCX $MVI $INR $DCR $RST $@MOV $:LDA $2STA $*LHLD$"SHLD$XCHG$RAR $????$BCDEHLMA $'/PSW$SP$MEMORY AREA OVERFLOW AT LINE$==== $ CODE SIZE = $DATA AREA = $FREE SYMS = $!s+q!Т6*& 6*&٢ :w!r+s+q:°*|*_M{:<*}_H{!s+q:g܊>*&Ѣ ~>*&٢ :碖!q*&Ѣ 6!q:*M:!ꢾd*&Ѣ 6!4Ih̢p*h"̢!q: ‰s!"̢7͊*h!p+q*"hDMF:,͸*hDM͖$!q:Y-!"u6q:H*"*7 DM$ !6!q:Yvʹ:L($i:\,$i*& N!6#6!6!p+q:Yҏʹ*DM͖/͸*rDM&!M4*h#"h>f¶͐ͣͣ!q͡*Mͣ!s+q:: H!6:!O֋:!O;!q:Y#ʹ*M{͡*Mͣ!s+q*M֋*M.:!O;!p+q͡*}O͡*|Oͷ!p+q*DMw*DMX!p+q͡*DMFͷ!p+q*DMw*DM͗!p+q͡*DMhͷ! p+q*DMw*DMō! p+q ΢p* "΢DM4! p+q* DM͡*ˡ nDM͊ͷ!p+qX*h++DMF*DM4!p+qX*h++DMF:YҞʹ?è:XҨ?!6>!*&*~2O:X!Y*M!4´!p+q*"!p+q*"ˡ##~2*ˡ ~2*ˡ n": :*DMōÁ:O*ˡDMÁ:d*DM͗Á:y*ˡDMBÁ*DMō!"!p+q*" *DM:Yʹo5> }+* DM͖!"q:ТϏ!#6>!#*#& :" :#>!# 1 +!#4ԏ!$q*$MÏ*$M֋*$M;!&s+q:&2:%\:U+\*&M*%M*&5!(s+q:(„*'&Ѣ 6×*(&Ѣ *'& w*(&٢ *'& w@֋*'M.*(M.:'@!(O;!)6#6#6//!,q*,/:+<2+2*:+<2+2):*:*9ڐ:)/!)6!*6#5Bڐΐ:)L:)p:*d!*6!)6!+5yڐΐ:*‡:)2+!*6:*£êh:)2+!*6:)Ñ:*2+!)6:)ߑ:*2+!)6!-q:-!.q:.C!/q*/M*/M:/-C!0q*0M:0F z!2s+q:1֨:2H~̊t{Ë:1ʋ*1M֋*2M.:2!1O;!4s+q:3ʶ+*3M.*4M!6s+q*5M*5M*6h!8p+qC1*.*7DM͈!9q*9Mͳ$DMޒ!;p+qC1*.*:DM̀!=p+q1*.*DM͈!@q*@Mͳ$DM:!Bp+q".*ADM̀!Dp+q".*CDM܍!Fp+q+:.*EDM͈!Gq*GMͳ$DM͇!Ip+q+:.*HDM̀!Kp+q2.*JDM͈!Lq*LMͳ$DM̓!Np+q2.*MDM̀!Qr+s+q:OC*OM*O5*PDM܍!Tr+s+q:RDC*RM*R5*SDM͈!Vs+q*VMͳ$*UM1!Wq:WŒ!65*W5*W&ڢ ~!^*^&Ѣ ~ߕ:^ߕ*^&٢ :\ߕ*[M*^h!^4¤*[M*\{*[5*\M!ar+s+q:g>:Т>:_)>*_&Ѣ *_& ~Ӗ*_&٢ N`i*_&ڢ ~Ě"c`̀>қc`p>fʘ*_Ms*c#"cu>`cp>Ӗ`cp>fЖ*_Mͱ*c+"cí>*`|2e}2f*_M*e̊:_<*fO1>:_<*fO̊*_M*e1>!g6#6!b6>!bڛ:bʔ*`|*b_M̊N:b2g*`}*b_M̊n!_:bn:b2h:h!gڔ*_M*gh:_<*hOh>!b4'>!kr+s+q:i±C*iM*j*iM*j͟*i5*jDM̀!lq1:l!6*l 5!mq*m/!nq*n/!oq+*o 5!pq*p5!sr+s+q*qԌ*rDM͈*qMz!us+q*uMͳ$*tM:!xr+s+q*vԌ*wDM̀*vMz!{r+s+q*yԌ*zDMͮ*yMz!~r+s+qC7*|Ԍ*}DM͈!s+q*Mͳ$*Mͳ!r+s+qC7*Ԍ*DM̀!q*Ԍ*Mz!qC7:YD֋*M{:O;!r+s+qC7*M Ԍ*DMh!p+q*Q!p+q7*h"*#DM͛:YҴL$*DM͖*DM͗*DM͛͊*ϡ"ˡ*ˡ##N#F$!Т67!"΢͛͊!6#6!6ΐ*hDMF:/F5$ͬR͸*hDM͖a͸*ϡ"ˡ*ˡ##N#F͖n͸*jDM͖i`N#Fog_{ozg_ogDM!>))덑o|gҩ =—YP뗕o>gYP}/o|/g_{ozg~ Ϛ~ ֚^#V) ~ ^#V|g}o O{ozg_{_z#WÞCOPYRIGHT (C) 1980 DIGITAL RESEARCH RELIRLFATAL ERROR$l$l1 ͺ!"!6͓*~=:!ͣ !6:/::!ͣ !6:!!/ͣ < ͧv! s+p+q> ͍"̀ځ*>! q** DM* 1q>> ͍+s#r=>!r+s+q+q+p+q> ͍"!6> !*&*6!4¦:! *w* * * DM -* *s#r*"̀*":*. Tu -". u -2:~ l:\.~ -Ql.~ -dup. du -zT!"u*M: *M: !6>}!: :<2¨#u{u>!͘,T>͍)*DMTT"*%DMu{̀+s#r;'*DMu{̀N*"'ͅ>v":2T2u:ҙu͟!6>!ڙ: :<2:ҦT͟:!/Ҵ:͍ >>l͍ >!͘:/H*!*"'*DMT{T:lͪ : >>l?: &#*DMu{:2:2u͉Tp*>@O>*>@*w*~!s+q*&%*& *&%*2& "*DMT*+"*DM3T"!p+q!\#s>!s:+&:2̀&ͣ :22ͧ!s+q+q*M*͍"̀̀Hm*DM̀%*& "!6|*#:w*##:w* :w!6!6\2!:!H÷:!!6l+6**͍!6\* ^#V""!3"$"!o2ͣ :< J.< -B3!6#6!6*#s#r!6\wl!6!6!6\ʒÇ.  -›!&6:!&:&=O! N,:&<2&©**pH*#N*##* ^N0Jͭ1 Gͤͣ  <_1D**M*0G!'q:w**M0*"!6}!6:'҄Çͭ1Ҙ**͇H* >͘ҿ:'/**M*0} <_1K!6#6#6:  . - 12(:( T}L :2:2!:y :2̀y ͣ :22!""*"!6!6: *")*"*K: *: !6#6l: *)"ï !6l+6!6͔ :  G. - !"!\"!"*^#V" $!^q> !^] :^0O,h :^ AO,!_q:_OD :_OD !ap+q>`Mi !`\Mi !cp+q*bDMG!ep+q!d\+J<!hr+s+q*f&4 N,*gDM͵ DM̈́  ,*3&+) >>l!C9 < ,*3&+) ^#V*3M  ,!iq*# :iw*#"!͛o #*DMu{!"*!*"D*!s*D!s*D!s!6*!*"D*!s*D!s*D!s!6*M: *M: *M: O`iN928 "92;!j6:;!jU :j=O!< Hq!j40 *8M*9 !k6:;!kڇ :k=O!< N,!k4g  ,!lq*' :lw*#"!͛ '*DMT{*!*"!"!ns+q: ͪ :n!O> !>O:n2nO!mT!w& 8 !w:o2% & *M͍ !6!6:n!2oK :m!o>O!mC!pq*pM !rp+q*q}OY *q|OY *8M *9DMg *;M !s6:;!sھ :s=O!< NY !s4ž !t6:;!t :t=O!< N: !t4 : 2u: :* *uMi  ,*3&+) N#F+q#p!C6:? *uMY !vq "w:R:ҕ *vM*w *3&+) N#F+q#p*3&+) >>l2C:Ҵ *vM *wDMg !yq:y/:yH >!y# :y::::y8*;< -*:;2:@:<!C6*y&>) N#FG>!ykb :y/:yH҅V :y ¦:823*3&+) *9s#r:y!"+"-"/"1!36<::y<@ Gb :!:y<b :I:y/ *yM :y#~ >!y/͐ :yI:I 7:[:y[Ϳ o >á2zO>Ҏ*zM@:zá2z*zM͵:z,=>)-,),>,=*#"!|p+q*{~**{ >*{#"{>ʹ*~>~,H !6)!\""!o)ͣ !6!6ʹͼi**& w:<2cͣ ʹ7*~-w!6*~)…!6:ғͣ !6*"*~)*:º!6***̈́:*:!6!6lͼͣ Þ!6*~>ʤ*#"}!6*:3ͣ *~=X!6*#"}:X!"}**Ҁ* *}s#r*>wÑ**}̈́ͼҡͣ ʹ*~]*~D!6*~I!6*~M!6*~P!6ͣ ʹè!q!6!6*"ʹ!""!o8ͣ >͍J!"ͼҍ*~(c͆Ç*~_[],()!q: > :a/>z!/H:_2:!p+q*^#V"*##^#V"!6 !6+6:W: Q!6l<*6+: m+_Ax!!6Aڙ:ڐ!l+}::*~:Hھ!*#~A<*wO>!*&*6 '!6:.+A: !l+: !*&*\:<2O* N2!6> !i*& :b>!4F>:<2O* :w:!4~ʶ 6*#"*{zڶ!"ͧ*!~2xG:2G:p ˆx!4~ 6*#"*{z!"*!~2xG:2G x{_ C#5>ɯ$!p+q!6> !ڌ*&*~ x*&*N,:….,!4Q!r+s+p+q*DMG*DMFEͣ !s+p+q+p+q+p+qWͣ !">͍+s#r!oM*DM`:$*DM͐O>!>͍ ͣ !9*DM͠O>9ͣ *"*#"`!r+s+p+q+p+q***DMͮ*!r+s+p+q+p+q***DMͮ!p+q*DMp!6 > !*&*6!4²*DMͰͣ !p+q * 6 * 6*DM̀*͍!p+q*DM+ͣ !q*& , ,!p+q*  !p+q*!p+q*!p+q*! p+q*! p+q* ! p+q* !p+q`*!p+q*_{ozg_ogDM!>))덑o|g = DM!>))4 =,_{ozg~ D^#V) N~ U^#V|g}o `_{ozgO{ozgi`N#Fogo&og_{_z#WLIB 1.1 $REL $$$IRL $$$INDEX ERROR$NO MODULE: $SYNTAX ERROR$ APDCentry symbol $select common block $program name $request $error 4 $define common size $chain external $define entry point $error 8 $external + offset $define data size $set program counter $chain address $define program size $end program $end file$FTiw(5ABORTED$DISK READ ERROR$DISK WRITE ERROR$CANNOT CLOSE$DIRECTORY FULL$NO FILE: $çCOPYRIGHT (C) 1980 DIGITAL RESEARCH ? OVL LINKING $ $ 188!86u:8!8<:!""!""!"8*8^#V"8"9:8 ͥF6**:"9"9997.9@6997"8|!86u0:8Rv!j;q:8Xm*j;M5|:8Y|*j;M5!l;p+q*k;~$ʝ*k;NW*k;#"k;Ã:8Y±!868}!m;q:8͞*m;MW!o;p+q:8͞*n;DM}: *9#":*: ":*: ";*; ":;*+":*"::,*>;*:;":3*9#":*+"/:*"1:**:"3:*+"^:*"`:**3:"b:*+":*":**b:":!96>!9ڤ*9&:) N#F3?1!94:82 :2;:2j:2:2:2:2;2A;!96+6!96!"8!"8}28!8628+w+w!86X!"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9"9}29!96#6#6*8"929292929!"9o&"9|!"9!":":";"<;"9"-:"\:":*+":*+"/:*+"^:*+":!":"5:"d:":!":"7:"f:"::8*9:8=o&))8  ^#V!q;p+q!r;6>!r;2*r;&;) p;7+*r;&;) ^#V"9-*r;&;) q#p!r;4*8&))8  *9s#r*9͇7"8*8&))8 q#p:8<28O>}<:8=28<:8ڕ*8&))8 ^#V"8  ^#V"9*9DM!86#~͌ . v9\ -:9 .9 -:8v9p4*9~=͌ :8&^'*9~(*9~)H\*9~,L<͌ :8Y^'&:8tͻ'͈(!863!A"9͌ . v9\ -†*9~=͌ í.9 -¥:8ҷ^'*9~*9~(H*9~,<͌ :8^'÷:8>:8͑'ͻ'6:8͈(:8:8H,!"8:828*8"83*9~(ˆ*9~ʈl;*9~)h~V*9~*9~(H҅<G:8ʓ<*Ͳ!6~5*& 6:[],()?$!t;q:t; $> :t;aO>8:t;_2t;:t;!A"u;9u;7{*u;NOͲ*u;~&q Ͳ Ͳ*Ͳ*u;#"u;B@6!w;6> !w;ڪ*w;& :s;£>!w;4‡>*9#"9*9N2s;&íͭ:s; ͭ!s;6 !y;6+6:y; :y; !s;6Ͱ !\6͂ !!y;6͂6 :y;- !Ͱ ͭ :s;:| :\:y;HZ !:]A<2\O>n !*y;&\ 6 ì !y;6:s;.¨ ͭ͂ڨ :y; ڟ !Ͱ ͭÌ ! :y;<2y;O!\ :s;w:s;0O> :s;02s;> :s;AO> :s;A 2s;>>!"z;ͭ͂. % *z;))))*s;& "z;( <ͭ *z;:s;AO>/ͭ2 O :s;A<<ͭ2 d :s;A<:s;Zo >Z<ͭ:s;XO>چ :s;<:s;]:s; HҀ :s;S¸ !96ͭ} :s;P !96 "9} :s;D !96 "9} :s;L "8} :s;M "8} :s;OZ ͭ:s;P! !86T :s;C1 !86T :s;RA !86T :s;SQ !86T <ͭ} :s;Am !6ͭ} :s;Q€ !86ͭ} :s;G !96ͭ!96͂ڿ >!9Ҩ <*9&9 :s;w!94ͭÕ } :s;$F :s;,:s;]HC :s;C s 28= :s;I > 28= :s;L > 28= :s;O) S 28= :s;S: S 28= < } :s;Nz ͭ:s;La !86Zt :s;Rq !86Zt <ͭ} <Ê :s; ʋ ͭ!967¡ <:s; ¬ :s;[· ͊ :s; *q9#"q9!s98 !"q9?*s9DMP94*q9? ~ !N92|; !O92}; :};ր2};!|;4 2~; !96 2;S *9&9 :;w:9<29P <@6& *|;&ͺ7*};& ";!J98/L9;7/HҤ J9;7ͺ7*~;& +"9 !h:|; :|;2h\5 <@6!|6:};2|*~;&+"9*s9"q9 >!9 !96ͣ!:9T Ͱ& *; ~,*; DM͠4*; 6*;N#F*; *; N#F4!;q*;##N#F*; :;w*;##N#F+q#p*; 8ډ *;##>w#6!;p+q*;}OK*;|OK*;N#F*; *; N#F4*;##N#F+q#p*; 8͡*;##>w#6*;##N#F*; ~O`i77!;p+q*;";^#V";K*; ~y*;##>8IK3*; DM4*; DM4*; *;##N#Fq#pÄ*;##q#p*9#^#V*9 ^#V*9 ^#V*9~*9~*9>*9~*9 ^#V*9 ^#V!;p+q*9#*;s#r!;p+q*9 *;s#r!;p+q*9 *;s#r!;q*9>:;Hw!;q*9>:;Hw!;q*9>:;Hw!;q*9>:;Hw!;p+q*9 *;s#r!;p+q*9 *;s#r!;s+p+q!";*;&9) ^#V"9>7>ͅ; 8*9"9*;#";͚"9>7>ͅ; 8!;s+p+q+q+q+q+q+p+q+p+q>; 8:;HR:;a!;6 f!;6:;9 8+s#r!98҃8@6:;Қ*;DM*;ͮҚ*9"96*;DM>; 8*;&9) N#F DM *;DM:;*;DM̀*;M#*;Mk*;M:*; 8&*;&9) *9s#r.*9DM͗!;6>!;ڗ!";*;&9) ^#V"9>9 8}͚";*;DM *9";*;"9T*;&9) *;s#r!;44/!;6>!; *;&9) ^#V"9*;&b;) N#F>9 8OKͅDM͎͊DM͊ͱDM͚͊"9!;4 !"9"9"9"9*9##6*9 6*9^#V!!?!w*9##~*9##>w*9 ~!:<Hwd9w7++";*;^#V!:<Hw!d9w7+s#rè!9 8fH!<]*<*9 DM*<Ͷ)]5!<]>-"9>! !<:<0OͲ#:< AOͲ!<͎7M$::!:!;!@;ҡ::2\. ]u -\6!:6!:6!;6!@;6:::! :!i:!:. ] -½: :2\\6! :6!::6!i:6!:6*8###9 8!9!96Ê*8###9 8!9 !96Ê*8###9 87!96Ê:9r>9 8:9H:9/Hj!96o!96Ê:9!9҅!96Ê!96:9қ*9"9ô:9Ү*8###"9ô*8"9:9*9"9*9*9"9*9*9"9997997#"9!"9!96!<6>!<3*<&9) >8):9<29:<<2<*9"9!<6!<6>!<ڰ*<&9 N!9 *<&9 N!9 7Ҧ*<&9 ~2<*<& *<& w*<& :!9*9&:) N#F3:҈*9&b;) N#F"2<:<ʅ"<"<:<O>y"<29 82<ͅ"<͎"<ͱ"<͚"9Ù:9<29!3*҈:<O>}<<75O!9 8"<È*<*<"<*<͎7>766!<65/5/><͎7 ͺ7 M͙9ADM?   *<#"!<8v66!<6>#w#62<ͻ"9997ʹ/:<ұ!<6><͎7>766!<6*<#"<>̈́7)))Md9w7+s#rË>!<86666!!98*9"998*9"9997997#DM*9ͅͅ66*9DM*9ͅ66*9DM*9ͅ66*9DM*9ͅ669978 8*8|< 8¤ Ͳ(Ͳ*!9Ҁ!e=6:9!e=ڀ:e==O!9 NͲ!e=4`i)298"9i)29:9¥!96!f=6:9!f=i):f==O!9 Hq!f=4ª*h&ͺ7*|& "J9=*9DM\4*J9+"L9!g=q:g=29*9&:) N#F3!h=q:9!91 *9&9) N#F*h=3:9q 997_ *9"9997q *9"9*9&9) N#F+q#p!k=s+p+q:92l=O!9 9l7"m=*m=DM*l=ͮ ͎"m=ͽ2l=*i=DM*k=M#:k= *9Mkã *m=*i=*9*k=*l=:<$!)!"o=>7!*o="m=!l=6%!ã :92s=*l=M *m=DM:4*m=#DM:4O`i77"q=*s=M *q=*9"9997ҝ!*9 ~#Œ!*9 6d9w7+s#rj!!869*9M!ʹ!!969*9M!"9|29!D=@6*999 -!:929*99͚/,"9*9iͦ9*9Mi"!98f"/ͲR/Ͳ Ͳ+=66Ô"9*9*9*9*9i*9*9"99*9M/"9*9i*9DM̈́ 9*9M#ʹ"=R66#*9&9) 9l7DM*9MF?#9*9*9&9) 9l7*9i*9&9) N#F*9*9DM!<6@#!<6*9"9*9M :9œ#*9*9"9û#*9&9) 9l7*9&9) q#p:9#!<6*9&9) N#F̈́ *9"9>!98:9H*$:9 $=@6*$*9&9) 9l7"9:929!96:9>$i);$*$!t=6>!t=ڝ$*t=&9) *t=&9) l7*t=&9) q#p*t=&9) q#p*t=&9) >w#6:t=<2t=C$997ү$*9"9:ҿ$͘*8"9 :9/29:8$d!!w=s+p+q:w=%*9*u="u=:9$!w=6%*w=&9) u=l7+s#r*9&9) N#F*9ͮ?%*u=DM*w=Mkg%*9&9) N#F*u=*w=*9  !x=q:x=ځ%́>!x=ڍ%͐:x=›%ͣ!7&:x=©%!7&:x=·%#7&:97&:x==O!& ^#V!7&7&"7&Q=7&-"7&͕"7&"7&j#7&@#7&x#7&#7&%%%%%%%%%& &&&!y=6i)`&i)2{=:9]&*{=M à&i)2z=‡&i)2y=:y=҄&*y=Mr%à&8"|=:9Ҡ&*|=DM*z=$:y=8&ʯ&ä&!968&&õ&!96!"9"9:u9='*s97"9"9. P9\ -&i)2N9!h':N92h\5'\<͒4i)2|2O9!p96*9"9!"J9"L9 :9/29:u9!9Z' ]'ͤ&:e x'.e, -p'/eͶ)2u9\4& /Һ' iͻ"9997҇(͙v(:82\!~=6>!~='(H!~=(*~=&\ 6 (:~==O! *9*~=&\ w:~=<2~='!u96.e2 -4(\͵4/b(!u96.e5 -T(\4*9"=!96&*="9d9w7+s#r'.9& -(!96!96 ͻ"9997h)ʹ/W)*9DMF $ !"9  *9"=͕"*="9!=6>!==)H!=.):==O! *9N 3)  :=<2=)*9"9:W)͘*8"9d9w7+s#rí(!94~ ڠ)6*9#"9*9{zڔ)!"9*9!=~2=xG:=2=G k)x{_ )#º)>ɯ`iq#z)COMPRLRSPSPROVLSYM!=q*9= :=w*9#"9!98*=*9DM\4!"9!=q:=!=2=:=<2=K*!=6*=M)!=6!=q*=M)*9#"9!=p+q*=}OL**=|OL*:9*:8ʊ*+*8"9:9Ҥ*L**9DM_*!=6:9=!=**=&9 N!9 87/ H**=&9 N+!=4©*:8:8H +p,!=q:=#+*9"=4+*=&9) ^#V"==97F+29@6=97Z+L*F+*=&:) N#F3*=&9) >8ҕ+:=+*9DMͨ+Õ+ͨ+897ҧ+*9"8!=p+q*="=*=&9) =l7+!=8+*=DM:4OL**="=Ҵ+:9=O!9 N!9 !9 l7*87"=L**=DM_*L*:8B,_*L**8DM_*U,*8DM_*L*_*!=6>!=o,L*!=4Z,*8"9:9Ҍ, - - -!=6:9=!=,*=&9 ~2=,*=&9) 97, -î,:,v-,7-!=4‘,*8*=9 8, -,:= - -,!=q*=M**9#"9=971- -- -*=&9) ^#V"9>9 8u-ͅ*=&9) {7"=-͚"9H-*=&b;) N#F*; ~Ҷ-*; DM4*; *;##N#Fq#p-*;##q#p2=:=.*=&9) {7"="8:=O>-"8-2=->9͎7>7".) .=*9DM\4\4:8ZA.. \v9 -I.:e y..*8&ͺ7) DMe -q.:\‡.:82\\͠4:8 ¥.. 8\ -.!"9}2=2=v* .:8Z.. \v9 -..e) -.:\.:82\\͠4!"9}2=ͻ"9997Ҍ/͙/͕H{/DM/ )!=6H!=[/:==O! *9N):=<2=3/:=<2=v/ ) ){/ )d9w7+s#r/ ) ) .!=q> !=ڳ/:=0O)þ/:= AO)!=q:=O͚/:=O͚/!=p+q*=|OͿ/*=}OͿ/*=!͛7"=*=!͛7!=s:h.0:=2h\5.0\5͒4*=!͛7!|s*87"=. \8 -S0:8m0*="=\4/TB\4!=s*=!͛7TB "8*8*8s#r/TB*=&ͺ7DM\4:j2j\4:80*8͇7"8:8Z081>0181>0!=q.*= :=w*= ~!=q*= :=w*= *= ^#VN#F) *= 6*=^#V!͛7"=͝7!=s&1!=ʮ1*= DM4*=M/1*= DM5®15@6*=!͛7M1*=  *= 71*=  *= N#Fq#p *= ~ 2*= DM͠4 *= 6b1*= N#F*= *= N#F4?1!=p+q*= N#F*=͝7ͼ7*=q#p*=*= l7+*=##q#p*=*= N#F^#V͝7*= s#r *= N#F`i"=*= N#F `i"=*="===72*=+*= ^#Vͺ7DM52ͽ1*="=Һ2*= ^#V*=ͺ7DM52*=  *= 73b1*= N#F*= *= N#F4!=s+p+q*==7s3 *= ~e3ͽ1*=DM5233*=##=73 *= ~ґ3ͽ1*=DM52:=3*=  *= N#FPY83͔2333*=  *= 73?133!=p+q*="=!=s+p+q*=DMB3*= ^#V"=*= N#F*=͝7*=:=w *= 6!=p+q*=DMB3*= ^#V"=*= N#F*=͝7*=~   ĉ4{>.̉4s4OͲp45@6646<5@645<>45<5͒45<5@6! w #4>4>25"5"5yo`"5!"555@6*5|v5 "5*5MD*6*5DM:5I565@6b56b5*5|v55*5͒4*5"5*5#"55*6*5ABORTED$NO SPACE$NO FILE: $CANNOT CLOSE$DISK READ ERROR: $DISK WRITE ERROR$YYYP   YP*6YPYPYPYPYPYP Ͳ ò!=6#65"=*=|‚6>8 8"=##*= ~6!=6â6*=|6!=616"=â6!=6:=ҷ6!=6#6#66*=~2=*= ~2=:=6:=2=*= ~2=!=6>!=7*=&= ~/*=&9 w!=4697"9 *9"= *9"9*G9M *H9M *I9M *=M *=M *=M *="9i`N#Fog_og_{ozg_ogDM!>))덑o|gҴ7 =¢7DM!>))7 =7_{ozg^#V) 7^#V|g}o 7_{ozgi`N#Fogo&og_{_z#W LINK 1.3 $?MEMRY$MEMRYX MEMORY OVERFLOW, USE [A] SWITCH$INSUFFICIENT MEMORY$OVERLAPPING SEGMENTS$  XXABS $$$XXPROG $$$XXDATA $$$XXCOMM $$$9-:\::YYABS $$$YYPROG $$$YYDATA $$$YYCOMM $$$::;:;INDEX ERROR$MULTIPLE DEFINITION: $MAIN MODULE ERROR$FIRST COMMON NOT LARGEST$COMMON ERROR$UNRECOGNIZED ITEM $INDEX ERR>R"J>͵!W> zͺ!b>l!!n&͟G!c>͸ʈeF` b! Iͺ!!b> !!I/!!;> !> !I!!;> 3|!d>l!"* |b!* ͓͜"!~#X!!* ͜n&*͟ !* ͜!*+M͚G!I*#"RJ!! zͺRJ>͵ͺG~#ÛO¾# ©¦gl &#~w!9_#F#O >l~ b[#O#DH o&áO:y!9Gʚ~#'‹ËyáO:,{*|j& **#> 4> 4,> 4{=>'4!9=~#'{>'44{=>'4{>b4*++|2!TɯQ>Q>2""`i"!9"!m  ~# r* ~* ~¶!> G3!!!@:!@"!!> G3!R.!!e:!e"!*"!!!!#Y*^#V! s#r*^#V!s#r*^#V͉|*͉|G8!'͛*^#V}*}G[!)͛:*^#V}*}G!+͛:*^#V}!-͛^#V"/!-"5*/"9!1Y2=!;þ^#V"B::*B*B5!D6:D &%!ET*B%*B5! 6!GT: "*B6 2D:DS!-"M!"Q!IY!6#6!D6 ^#V"W!"]*W"[!Y;!-"c!"g!_Y+:+*W~ ڤ*#"+*W~ ¸!6#6+:+*W~ *#"!6#6+*W~ +*#"!#!6#6**#|+!-"m!"q!iY&,! 6:9!tT"v!9"x!vY! 9^~# ^*^#V|s** ͏* nb* !>y!z> *!3*~#*^#V)))|*6P#6*~#(*^#V))|*6#6(*6<#6*6#6*6#6*6#6* 6*^#V}o}2*^#V}!44*^#V}>2*^#V}*~#*6#6*"*"*"!͛*^#V|*"!"!Y^#V^#V:/ !@ Y2/O!* 6/ +~#w!0 s#r!/4H I -J L I/O Stack Overflow!9"!͝ !9$> %~T]O ʓ +~È >x^#V"*6 ͮ !-"!"!Y 2: ̓  :> b ̓  Y >̓ ͮ  ͷ  $ :@ = ̓ = P ͷ H P ͊ ̓  ! 6 f n ͷ } :! w̓ ^ 2*~” :*#*~ogw*4:: :,: ?:':  !"!ͫ !6 : 2! 6:  *#": $ !6#6:""*^#V#"^#V2 > "> "|C |~2 > yas A =.:;<>[]y *e ͏ Û e $͏ e 1ڽ  o&))))\xH  #w ͏ ͕ *# A G͏ e : 6 p4͏ +ͧ 8 #e D #*0 6?4 w͏  e K ͏ 8 #6 D .„ ͏  ͧ x e ʄ #*p 6?t w͏ _ e ʋ ͏ x #6 „ %#6 *##^ ~?¤ #  xCON CON RDR PUN LST M! ~͕ $< ͏ e 1 \ l< $< !~ < ͏ ! e # 1 ͏ # x=G ͏ >ɯ*+> ^#VF #{#z> 6#6F  r+s!F#~ڝ !6P  $ $!^r+s6 #6 !4^N*| }=º m O>~ >N*|Y = y $>~=>q2*/"M r{W F **#:O[F #s#rd` M 4W F r+s{ƒ!4*+>|ʒ+}o( 2 ~22 "C :ҡ G:ҡ*p4#6Â^ :͌*++"}+͒}|2"^ ͌"1|ʡ##"6*s#r { *:w?6b*"Â*w#wÂ( C ʂͧ 2 qÂ( C ʂ2 N Â*~" 4#4#4( C ʂ~5;ʂW >DÂ( C ʂ~W >Dʂ*~,>Â5Â*!*~!/2*|Y(^#V^ ^ {zlz2zʛ:ͧ qÖN #v*|*~=!:wí>( C ʂ|}ʂ~> ҂<Â( C ʂ|*w=Â**^#V6+6++͛Â( U ʂ>҂"N#F#~2 q#p#w>Â( U ʂ>‚*~^ !q=c>!*" s#r#w=Â* }! 6 4>2 * !4#4#4~#N#F#y#x#: * !!: Һ: ~G~#~O?:#~:! p! y! q<><ͺɯ~#N#F#w#q#pͱ͡~h#!!@! 6?<ʣ= _!xڗFNvwxG>O>G!$q#p#6" " 2 x2 ͡2 ͱ! ~5i =6: 6* <  6* : O* : 'y OB: º* w# <: \* !\@* " : /g.>Gx|g}ovȇÃ)Éyw# Ï~#æ~#W #F#" x * !9G_>WObk++~+y~#/F=N=N#F=^#V"y2x҄i&~ʻx›>ھ!-{#z* *ͺxyx"_!Z^#Vy>(yU>)|| y͋Ç>,> _$ $ $0:,,|:}: edg grix,N #~{!Ly*r !9{_z¬{ڬ ;>#*r >=^#V#F>: >?!Dyy>=^#V|} .))y#F>A> #1~ >.~ ="^#V# File: Traceback:jq ERROR FIXED OVERFLOW OVERFLOW UNDERFLOW ZERO DIVIDE END OF FILE UNDEFINED FILE KEYNULCONCONRDRPUNLSTBADG!~ â Condition Stack Overflow$4Ox!" w#s#r#s#r!9! s#r!N!" +++++F#{_#zd++~F++!5!~# so!N!" +++++Ž#~#ʲ+{­#zʲ++~Î#^#V=!/~5:/_!0^#V"-.~# *))))) )| *|}*":/*-w# *{ 5 9!#"kCopyright (c) 1980 Digital Research, v1.3 !"v "t "z 22/*} ڪ"r q#p##}o"x *}o|Ұâ+w+w+r+s4w#w#s#r<2| ++*v s#r"v *t #"t *t DM!v x~}#~+}+F+Nq#p*t +"t x{=.!+~O~#~G!>w!/xVys >O6# M ==ɯ ~#fo++!t ~#ʟ*v ‡â  Insufficient Memory$ Invalid I/O List End of Execution$   SYSINSYSPRINT never  none  nothing not  no  always  all something  some ABCDEFGHIJKLMNOPQRSTUVWXYZ. abcdefghijklmnopqrstuvwxyz. What's up? . that's an interesting idea.Actually, Stream/Record Sequen/Direct Input/Output Keyed Access P< $con  9= >?@AQ]STgUVq s.dat~ Š #zʏ ++~q ++!]#5!~# ž Ú !]#N!< +++++¹ #~# +{ #z ++~ù #^#V=!L#~9!5:L#_!M#^optimist: proc options(main); %replace true by '1'b, false by '0'b, nwords by 5; dcl negative (1:nwords) char(8) var static initial (' never',' none',' nothing',' not',' no'), positive (1:nwords) char(10) var static initial (' always',' all',' something','',' some'), upper char(28) static initial ('ABCDEFGHIJKLMNOPQRSTUVWXYZ. '), lower char(28) static initial ('abcdefghijklmnopqrstuvwxyz. '); dcl sent char(254) var, word char(32) var; dcl (i,j) fixed; do while(true); put skip list('What''s up? '); sent = ' '; do while (substr(sent,length(sent)) ^= '.'); get list (word); sent = sent !! ' ' !! word; end; sent = translate(sent,lower,upper); if verify(sent,lower) ^= 0 then sent = ' that''s an interesting idea.'; do i = 1 to nwords; j = index(sent,negative(i)); if j ^= 0 then sent = substr(sent,1,j-1) !! positive(i) !! substr(sent,j+length(negative(i))); end; put list('Actually,'!!sent); put skip; end; end optimist; Y+:+*W~ ڤ*#"9 ~ ¸6+#" !    w!a4ACOSEASIN ATAND oATAN TANITAND TANHkSINH4COSH}COSD|SIND{COSvSIN#LOG2#LOG10$iLOG%6EXP&SQRT+!TOTWDS+!MAXWDS+!ALLWDS+!STKSIZ- FTC.>?IMAXF.>?IMINF/ ?IMDOP/T?IROUN0/?IEXOP0q?DMAXF0q?DMINF1d?DABSF2?DROUN3F?DFLOR3F?DCEIL4R?DEXOP5\?FMODF6c?FABSF7?FMAXF7?FMINF8 ?FROUN9)?FTRNC:?FEX07:?FEX15;G?IAB07;G?IAB15<?FFXOP=?LOGDV?EXPI?CHEBYL?FFLORL?FCEILMh?FPSHFN0?FPEX2O7?CXVMSO}?CXSCMO}?CXSVMPU?CXCVMQ?CXCMSQI?CXSTSR?CXVCMRD?CXVVMRw?CXCCMSZ?QCCOPTO?XL2OPU'?XL3OPV2COLLATVd?BIX08Vd?BIX16Wh?VEROPXS?BOOLFY?EDTOVY?GETNDa;?ENPOPiw?EDTOBkY?OUTFMkY?PNCo?EDTIVt^?INPFMvf?BADFMwe?EDITFwe?GNFMTz@?KEYOPz@?KEYTO{8?KEYPR?CIOOPD?CIOPR?PNBOP?PNCOP?PNVOPq?SIOOPq?SYSINq?SYSPR ONCODE ONFILE ONKEY PAGENO LINENOC?SIOPRM?WNIOP?WNIPR(?RNIOPp?RNIPRI?SKPOP?SKPPRH?PAGOP4?PNCPR!.?PAGOP"?OIOOP"u?OIOPR)?FPBIO+?GNVOP, ?GNVPR1D?GNCPR3?OPNFI3?RDBYT3?WRBYT3?RDBUF3?WRBUF3?CLOSE3?GETKY3?SETKY3?PATHD=?RFSIZD=?RRFCBD=?RWFCBI:?QB08CI:?QB16CJ?QB08IJ?QB16IJW?QCB08JW?QCB16Kf?QCDOPN ?QCFOPR+?QDDOPRz?QDDSLT"?QDDSRU2?QDI07U2?QDI15V5?QCIOPW}?QI07DW}?QI15DY?QDCOPZl?QFCSS[E?QFCMS[E?USLOP[E?UADOP[E?UML10[E?UDV10_B?QFI07`?QFI15a ?QI07Ba ?QI15Ban?QICOPc;?QI07Fc;?QI15Fd?DLDOPdl?DSTOPea?DNGOPf?DADOPfp?DSUOPg5?DMUOPia?DDVOPia?DMODFlT?DCMOPlT?DCOMPm@?DSIOPm?DOVERn@?DCRETn}?BC22Nn}?BC12NoT?BSL08oT?BSL16p?BST08p?BST16q-?NC22NqU?NCOMPr?NSTOPr3?CS2ADr3?VS2ADr3?CS3ADr3?VS3ADs(?SCVMSsl?SCVVMt?SCSTSte?SCCVMu?SCVCMuG?SCSCMuG?SCSVMv?SCCMSv_?SCCCMw4?SASVMwy?SACVMwy?SAVVMxV?SJSVMxV?SJSCMy7?SJSTSz?SLVTSz?SLCTSzT?SSCFS{?SSVFS{d?SMCVM{d?SMVVM|2?SMCCM|2?SMVCM} ?VCRET}K?FD44M~?FD44S~;?FD44L~s?FD44R+?FD44$?FM44M\?FM44S?FM44LL?FM44R?FM44?FC44MN?FC44S?FC44Lm?FC44R=?FC44Ch?FS44M ?FS44S X?FS44L ?FS44R H?FA44L ?FA44R 8?FA44M p?FA44S (?S44MM j?S44SM 3?S44MS }?S44SSA?FA44A?FS44j?FU402?FP40J?IM22J?IM22NɆ 2QLMDXUe(q4ce3CE!0f` ~hh*ƀYnX^<c`V4XV%Z*ƀՄx2`P4ǀce3CD0fP ~hh-|p q ˀK@1\Cfl("q4ЀcdCD)fp ~hh! 3Zі `[^.EŠ r8׀r4ـc4T%6f ~`n#74MFo12*pSĔĔ( M%::S.gRGp@=KÄy\ Ͳ@9e 1p %)q"?K@\RR44Z^b,\.;p!rpEFD12ik4cdd!?f ~hh.=ѰrpEFI12ih3@P?FPEX2f ~hh! 2fі :h>Ɇ 2QLMDXUe(q4ce3CE!0f` ~hh*YnX^<cV8XV%Z*Մx2@`P4ǀce3CD0fP ~hh-|p0rqEFh12l Kh%Ƞ[D!` 3LєV 8Fk12i`3@͐?FS44Lhrp `-$b m,KnXFo1I03@ ?FM44LphiK,3ѓM `g@()"Mt'̡ĔĔ(1=:̥P(egX p044qfp ~hh##@AIRj88SL!ĔĔ(1=:SL% x(egX p044qfp ~hh##@AIRj88ĔĔ( 1=:`V` f~#"AIRj,8V!ĔĔ( aB:V%`V` f~#"AIRj,8T!ĔĔ(MEIR:T%.p@ \r8(@ P. %Y".4ceCDrpEFF12k h%i( N-'(4Yd!&f ~h`#'AIRZfO% "(4Ye,!&"ˈ0@P\J@%F#+A`C@ex,)8KX8$! hlf Cp -ua k3@?FPEX2hl:-o@rppEFc@12 h 3@̘?FM44Lhc3_In%`X[`! Qh@?FD44Mh&^#8`N\Z%V#9`A`C@gD,)qчh%h[.3@ݠ qq4ceU& H^0 UԑeDEtE85a]NALLWDSVVm uY,id@dT*F#fczхD.VF^g|iSB \/OIH%![F 2#+:,0T: 7vLt*'+)A@2j º"u< &+)V2ZJep D@1*:Jted&'Nѕ4eD9@#+0D.uB]bx2;D d#?5t:!1X`G*T(x:'8uYɎch?IMINFRSQ cD @4zBk:1 ~ (FQ0 ~d`*fFIӀRTSc$T@ԬnŻ9B )u2=M! ?IROUNc#RQV cU @Xn¡hY W4xXt(:QV#!%4pQPVcDh5%9P51f**ͣ :*͠ *ͣ  9|" rp 4w *PɎcDh`?DMINFcD4 QPѠcD%4i@(B Ow cD%4h@?DNGOPQScE$T@ Xe@e@B9\Qp: XiT| z@@5Pux¡ B_,ڒ!#VU9XY$0 R@o$ a0k 2ca=B2hUS'QScdDi@Ԭ" B_. !L¢` 3@h*p:ѓS  M2DѓM #N2>ёԣ$LNpQPѠcd%4i@,BOwwd@12 4QPVcdh5%9P58fh ::ͤ  Ej].! A$# XTɨ+ ~fsQSce$T@@!,>@==G"1ZrhpZr͠`P-`ʣ nj/鎀ce$T@?FP40SeSC8?FA44ce4iQceE$9@ԴBYՊ`+w6#T|H@4p^,V:ѕ$@2 OѕM #$ AM!pQV cdUx`P5N7vh¢D@K,V  D+U4X.Yj£f3XB@D f  t@12*t"I12ide")E1J d'NRPP c#x%P5 [Ina ~`o((F& ~d`8Q cde @B OvE- B\r @˔BYE!/ xZ?FFXOPcdCE(?LOGCU ĔĔ(1=: Հ.1*p@y9˃mQ9\ wM@,zc p %.$ˉ@ \R./ ( B#+:XUrf ~hh!Q9h@?FC44M}^#$M%=BZ<I%04ceCDrqEFN12k(4Ye$)&q4ceCE9rp$K1DCeT("q4ceCE62V k9D8#-  5qC,2ѐM D8F_@12HK_%ʀZ!@ 3єV 8Fb@12K[,p8C@@fp ~hh!@ 3:ѓM 8! h&3Vё 8Fl@12XKl%[f! 3nєV 8Fo@12i`3@?FS44Lhb04ceCDrr(EFw12h 2ɠ}4ceCDArr(EF@@q2h9D9#!844C@dH)&h3E!f ~hh! 2Pі 94w[Me"z4dCDArr(EFRq2h3@p?FM44Lf~hh#*8AIRj8V!ĔĔ(aB:V%.J.p@`/=˃u \ R@m >SDprZP.$yq@DK\`(OegXqU,2 ѓM D8FE129D8#$  5@ FK1J:zKK8! h7f Bl2Q%@Z! 2ѓ Ye,!3@p?QFI15> 3@?QI07Fh^fp#,`N\%0 X-fhjBx#.`N\%@p p-rPhvBb#/L0Cf,)˒@1\@% -hiK"x#141Fd@12*LpPaĔĔ( ! f:Pe.% a 5A@8! h`p3E-˔C,2\і EX=` [rpEFR12h9D8@#*``4U@ f ~hh!€ 2є X$u:|)C,2ѐM 80F_12KO@,@ \0%@4Ȁce3CDfp ~hh.Àِf ~d#4AIRkD8QԠcdd( %2P5lhz\lYnzç`J<^ʺ> $Y ں§d /pX.V+U3h64X.+U|b^W0&:ёԣ %22 OѕM #(@2\є*8NpQce4i@Ԍ[s||#xV/wD1 ~8QV ceU)@#+2/2peRI*d! :VmS f y\GpZp@L a $0?FPEX2c4tPTc5d9@d: qds4uX/[k ɪq ~8P`c544 aMY6P5#br'KAf bc@ aM 6:Փc"  a 6pPՓ`c55d@#a ~khiPTc549@\!.V)< \l`]lVLt!C1lPc55E9@l@@˔#'ܠn d@1šdH!P`c5d4@Fu`t+!A@1lP`c5ed@ 4#l0:c  a 6pP`c544@nʥ KV4aR0ʦVpX,:VhB`V `Kx0khiTP c44 @(!+Cj9K`eX XY$aQ@D' gej\|, Z&@ XTx_.LtNV c$ @BJx r7[68Z/OY}r>4XX -MF#a0=BpV c4 @xr@@_ "1F^ a~¶YbDb4)J+Ti0 eU*l:nrkT@aEwpXtdx1 ~f8P d4I@<!@?/yF3oԀ@:@ ; CO`0m``1evu ; Lí+0h9 :c3k 퀎@: ; C ?8e ]@X :@ n¤@C @0h?L.ã C ?L2>3o60XCeS'u*>3o1|@uu6Wf `; L:; @ |@ \uu@X!A2_6CV Y#!G`@yUk@²CHͰLak626md {!,d?̇ !WY [H_ X&O\2#+d@Hrwd8닀-TH U&T 0ZT |+d*#K%@ xP^*/K%  x\.K@%p p@$:S#.Q922ӕT 6pQQРcTED)@.k@D#J rzmR a*o(<]px§E쪦=z èUw!F@ë@Sj1a60U2 pt*'F1:r2je'!@1z2ldX #&P@1r*SU`cUDdA9(\є^hz`t:#l@?L*:єݕJ@ t!*66ۀ04a-UVUb ۀa`1YF`Y@qf؀# +vUYï`@+*ڀ<,ҳ Vm`@늀-Vpڶd ۀóp b\Q[/Wp| f@)y,hY#,! 0\%`\ (!K%@@ x0 ^/ K% P xd^6/K% ~ q ~ij Q ~ j SQQUcTEDh?FPBSTM|Y¢£`c?,+R'-fېF#x_-W]h@XTl0XuEaT0# *?*f@O#KA`e #Ս<_V4?M 1#cGpk ̀ <^U=yVEtl*(<WB_ v_eYWd e] e $nQ9`6;E<:I|O/fݠUYW e_FiQp|ʤ RZڤ ,7ٶF#x^VmeX`[X`ڠ`/Sjb4H=?XUln« $c 05ZO vUn @¨,XI=HRXh8;"h]nݐf@Ud+6( Ҧ>glme[@5q_UW jY4½"ջdˀ0@ є8 8A MR^/K#Q%Z0ӑU#;89 AJ2Sc%8 63ӕT= 8M%9pRS`cdءp?FPBMZ¢@+*1YB@'<T|fX `à@+*0a2K4(W@,:`: vUP\6. Vm`(2@%\(!K%@@ x0 ^/ K% P xd^6/K% ~ɪ` ~Wj SPQ`c$Ddؠ?FPBSTMA8K0@ є8 `n;M o9L'A$e6 e%5Ix^/c$Dd ?SIGNAQQUcTDDh95R(OѓU`A MRQ@5u@6Ԁ#+UA T|Zt##9_6:pW N"7+TZ"7YVspBmQxFVBD U 6Ԁ Khqt& ڬR4?? + _f@Frg!Œ! 0YP8A MSY`tSo;\Z&`dE>d C!L]@&)%q2^/G@1*"J4t#&Fb1J:r V`cU-eQ>P5(W8eXC`^2,! * Frdˀ0 K% ~h* ~8VTĔĔ(-eAJ:VTA (&є e%5Ix\ $a %O2 4.˃<Z !F XTU@w!є K@0lUX\C@d%@lKJ8lKJ@)KD)CX\:@%@&":#(Q-en%`4Z!` ^%LZ*`1n%Ġ8Z.' ~XBhKZ@8F[@1J:r lK[% Z-2L8#+:X\b%^"`"Ơ" p r-hi(, PSc4 @ $Z"@%\i)p ~8SĔĔ( %=AJ:S`V` f ~}P .-dF'T c$A9 =B?PNVOPcdHp?FPBMt% K@ 8%1S-/T!eR`'aQpXt"=I}Sð`6>( 0h *єjʮ0rUf0ܸSr3m@NĸVz?v=C;23nŇb,S|'b\|bf\H gŻ%jFXCxe\$ K%  x^ /K% a2^/K%@ xh<^"/K@%` x^\ I` ~*  ~i*fFIӀ TSc4MeM%:?SYSPR MI%  Xt,|` uh"r" %(` @%` pxD\& i) ~k*j QP ~8SӐ d4DX=9%1ONKEYQSdĔTp?FPBc4I@ՄU!p0* ջ "X*Xʣ@grb``5K@gMH W>-YY|[dASY^`dˀ e)x^/K€% xxD^*/K% y?ONCODONCODEddXxONKEYetTLINENOSĔĔ(M%=AJ:S %1R(\є`A MR(JTTS54x)LS$MeMAI&SYSPRI%2HN*K3a6FSdJfSn '#).M^O:S\T %O&S c1Ng1~/K q.<% " ft .IJ%a 5A@Y(<VJ?-@"2HQ r@+k*i)FN1zJzzX,KP9XFQ12J{ T jH"2Q.r@+k*j I<FX1zJzzh.KZ9hF[12J|K\@`PK]Y0E9xF_12J| ?FPB s8s4c)k xFVuD<4sYH#+:ܢ9B^``;4c%4c㙀*`;՚Fn1a#R \%%`,[*Y}Cf=Ot:#R \%͹ ` -A)*nY8#+:Ϯf ?FPBS뙀Gx@KCD9{%@4HZ$-@2 ~U 2@KID9De4ZZ-2LĬ#+:Y\%2 -5JjEYE%΀Z! 2QӐY3TUӒS ct @04Z".`@ p0t$FB1rJӒTĔĔ(]9%AJ:ӒTA (ђSU"`A MR?FPBST%YpP@- p# * :ђSU8  f ~`p`@Fr@, *Y"``h=*fFIϠUnQVC",!@ 2XF" :j-@-`0 ~XH\% "€ (-o`@hyHJw. p`e%5N"@E%Àx[! 3QӐeD["-a LHpTS c$ @04Z".`@ p0t'$FB1rJԓTĔĔ(I9%AJ:ԓTA (ђSU"`A MR?FPBST%YpP:- p# * :ђSU83@hy -@ h!Y}` &Z$L%@0A x$KNXE@%`DZ|*,! 2ԑQG%DZɘ@fрdW@+Ub, :r0D2;0U 2Vf@ ~dd|ZL$KcX  a lʀ3hLefp!) @&b: `XdS%`[V. ڰ ~X\Bd Km8LFn1J:r &k|8 T c4 @$e8K0 :# M-AAJpĔĔ(M-AAJ:A (ђSU"`A MR?FPBST%p*\e`@~- [VW@ D8l``)3@'SP iKG)KE)\%`#'A9 AHUg*Q ~ pHpH4c5! [V%Zè p -gVp k8&b`#- 9 AHeXa -v`0 k?FPBST,!XL\"%@#0M%9C(!p@F6p0-tPLXpQ!ĔĔ(A=B:Q" %1R\ K@Pq2Jb [ pp4c5)h( 2fĔĔ(A9 AJ:A (ђSU"`A MR?FPBST%Yp \e`@ ~X(\ %" #"]I eQn%Z:.  ~X@BH KJ@80FK@1J:r KL@)KF)u$ p`@X@Pa2  U j!`lap -dA)* nX0T~b.!`la -`@X\F" _ϠC-ڀWr#6@%L8a` - `0 m?FPBST,4!Xx\8%,#9 M%9ng@ Ks@.HC(!p[nu% -]p nKu%@\[-Np iKM.\5Q!ĔĔ(A=B:Q" %1R\ K@Pq2Jb [ pp4c5)h( 2f SSc @ |Z" 9` b@edˀ%@@?OIOOPc)SĔĔ(=%=AJ:S`A MR?FPBST%!.K@2 hGH& aPPV/γՔ2ehZ4*2`[ 3@X?NSTOP`(7`(upX#)@M5Y 5KN*x<CFhUijb ,2ҔՓD8, fp ~-M ֐V@lX"K2R)U!PdlPp *-YP lBFa %Y) U!pdl0[dp%`  #al\ nxKsX"F*dl  F*`dl``t2^g8#!8E$2@ %Y}Cw!@A|IEX"K2Ce%4Zx*2^gx<X "O5`Dc`dYe5Z.@pp 0K@1U @dEX &  3@ ?OPNFI``>-X@Kde[$*,Z.)Šـ" ^-Phi(2H-di@gQSce$@?FMTS ce%5I@Ո#+:2Ue%5N63@xˁ ~*X6$V~"8A MSA'1CR*XNELa1f645QN^/є% xL:єS"M%92єc'A %:p Qӕctd @Z|D84D HTJ~zJС< Af+ L:PhGtˀ%@ ~ SӕĔĔ(9YAJ:ӕA (&є e%5Ix\e` V4[ p0K0XC(!)p ,.  f` ~dE)P-@-/`0h2 y  | `&ͨ  -Va -Yf@ j\3@1 f@m[LK[@3@d^@+Z_% :1Zfda,8u@ M X<n2 @-ɀZ m Z0 m6-@&[Pj%` Vy mـKh@-3lLW@0a2 n2` -fds.Diu<0ɖ^ o6ۀ0DŽFy1:r2f6~k?@&[}%*@7U:| N4dYXkS왎5 ` }1`@Of9@왌5` }5=ӐĔĔ(9 AJ:ӐA P-A\0a" -` hp3@Ȑ?RDBYT[tZ:%Z@:,!`xKJX m#p@ i:X<l -J`L8pScdI eR?WRBYTԑQcu$%Th 1=M?GETKYU`SDBEZA.kuEU#+U/ζK63h3hmd%BXy[Mc 4ҩ` b $42C\!$, ݒd0DV YX#+2YxF{KIK6 1ͣN ug6Hgjpؠxm]Xrg0#8h^ $L)K%B |[(z²@Lڊô L:eY pi^fՀ"xd&U[> 3o9*`Ż Ytzʹ@JIa]`&mbaݐ&m?ʽ CUWX60YHʼ 0D^ 366Pdf&mWP`ˬfp!UsU͢kvU3f!Fra6m8fP& f ph"3i3hL+9[ aEcݒ|ZP"Od͠ ~Wfm VfmWg^Ak 4 +L4 : ͦ 686EUV+Vg VUf֠3V@abf`mdVp`fū*b* 6U#93n UW0aq;M.6:n`  80VmEhU@u\AFaF8&ͥpYO !UU\"d#Xp&# o0W0fh>0+33h62363hPŇVFUhB pë@ª ~k4`ƌђ͠ 6ʫ@ u42368 ë@ͣ` ~|fVUZW0cʠ3hh+4aՠaUsuE@B/BlwW0`|[(DP ef68ܬlpҧj'UeW0Vu]Fgf' EqaRs68Z,mSEUeZP?-Vz!@եz3՛|V )ð %jA%@lVs*!VZfmeUc݅wEU^w03@Uo/`lulVK@UhUh""I20͡@Fw?uh@V!V"dͦeTaeNW0` 9B3Vb u2@ik(4Z -kK[ ik4Z -xG\zr2Lv "!,Ge1ʤv"!*Gw14w '~Aq:*Zt|%ki De"'oq"2g#!P"24g&'F}q2*ze"$xqJ|gD !)F[12Jg<)#!FBq2S c$e4II ?RWFCBMsec4>p86ph"3h$|``$U"dh1%~daX#Oi $uVuD ?ͥ *2: vA#3\aY8A,bAmhD dl(g@md'8FFgfm?-,+ٶD!,> PpEo#Uht:c `O a_0D 4\*>Gx#DFp 0QI@QuX@, ͢~W OUz²# 8,*`m0P 70:m^`Px:Xn°'04ͮ +vU`PQF@XW`f[D 66 6π E 0nɗK%`P p0\Hi+Q~"JhQp~JӀTP c#8EP53 p@}Q =Fg7XTt@1t !TPS c#E&P53@x[9>o8t$@1LTPГ c4#E P5J^@"`ppB]b2L@!Kl:*yTR aM7`4cE : PЌM%  9YJpTP c4D @,VTArG`Fbnb|G'࣭ U(a\?v0p:¹  W :y\8eV<\`p<-W H"Hr~H0<'`peWXd  Gp+ 4X/0?QCDOPc4dU(0?QDDOP΀cDt TPѓ c4d @x\Z2@,`P,"`, "r" ژ2 [*?*~6@3j` \ª@aahVUf@7QVr u@msf ͯ In§,`0[ X O0+aZa`jvSYe0YEX]C"X``mLaԐ`` YU",`x9|EX !D&`0 )"]b[J"+ @@nʧ/lt0 Y(0GX8\,Vu*a `F" v@çgk 1 ~liȪQp ~daE ~|i~ba7ꨊ&TQ cDD @`CE쇕 A^ncDDȠ?QDDSLcDE5)TQ cDE4@ռnz@Xyzs< C@U,$@J+vCB ]bLpi' p:Ğ\` *F=aVpLt")FU1"z*TQԠcDE5)@h1nS>iR498+'*8[|,kE r @$# ^#C *[P&:Qԣ*9=BpTQS cDxE$P5-"` X` mfp63hUlx?QDI07cDXH?QDCOPc4 TPS c4 @ =Xq9u@ݕWO*?l*R X@êk*?D<X`*E-l)mSj [U o>3vKh:=L$[@vf=?`>cE %=B2OS#- 9YJpTRQ ctHE$P5G7w[1XV+9KwVU@b^h<Tç:X78aѠ 1 ~`n)&&@ ~de)F є@ ~8TQ cD4 @p!!s|@&#pl0Hr~ *z@@|9FaRBC62>l¨`Prh :0@#>$M`y|.W"7`V&:Q'TQcd559@ԤBYLef+ `d4w *0xpc1f鎀cd558(?QFCMSTQTcd48UM1=B?UADOPSS L cTEc @Հw?džsx&_-R@# xfW+6@>!TD@Xt>!Uut+ܮՕTnVmDaPgx\`L1}qUl-caگ `Pч\| 1\+Bg "3\ʳtVmRf eҷ 7$Mf Ùa<9vxY" r4pbXbYJ@XVmDf@mDf@m)bKE@ͥ ,V@!#W F#ܬV6j 6\.0˭iS0$MBFђ<<+J/s\x 1 ~RiҐ~ꩩ&` ~baʦTQS cdy@X`XVhgV葐%d0`t$A12IdP+"NTQLM`cdY@BY!*,hX-VK xz[Unx!{ /`Z?QFI15SeSCɠ?IN20c4dU)TRP ct(E$ P57s * [@C?QI07BcT(8?IN20c4dU)TRP c4 @` g/ft0zD p\az¤`  "Oqͬ`R@n@©hI\4 QVRt2) Z!c \>' qҰ~`HГ` o| 2cE% =BpTRQ cthE$P57s̀zx4u@@f+U)&@ ~bj ~da8Q cDD @Ԝxu_xhY[/@; cDD Q cE5D @xn#)y$XT<T>U.X@2 eS t!/[:#&=YJpQ cDt @\BX`@|9FaP &:'QQ cDD @ԔB]b@2-H9&#`ʤu_.Lt 'FG1"z*QS cE5T @ԀB]b@2 cMδ0'Bb0+ !d|@&:S# =5BpQS cE4 @l! BXT [;cM%=BpQՑTcDdU)@PCA`@@ ȪQ@ ~8QԑU cD5$UI@dBIB#jX(aP鎀cD5$UIP̌c$3#$ :P5!uESyaP` =(Js|}*$zZ1 ~ddHf&IӀP c%4 M0P5 :d Xt:Д # M0pP c%5C MPP5\+S0ͣ@%~49L(R$k* Xt+Te0 ʨ .o>:by`O"ȮyVe{s|é ~`q Jj&ӀŠc3#$@`L?NC22NST c4 @8d0-@Lt!NS c5D @,d1-@#9MQ=BpP̐Q c53$HYL?CS3ADՔQ%QC2LxO=.TDEi1G Lt GA@1 $t0G@1 $TՓTc45d9@\: qds4p_.Lt&D1lTՕ`c45ed@ 4#l0:Օc M 6pTc455E9@d@@˔#'ܠ-˭hjjq ~8TՓ`c445d@#a ~hhhiTՐ`c45d4@Fu`t!A@1lT`c4544M MY6P5#br'KAf鎁c4544?SCSVMc4444TTc4449@T!.V)< \l|1 ~hhhiT`c4444@Ըd40i, H aPX@ XTh d fI#M 6pTTՓ`c45d@`!.Rz># 7Y8Z/[:TՓc" M Y6pTPՓ`c45dMYY6P5 ܯSF79႐#W *.Gf1ݓh(jɱ ~ihiTҔ`c45dM)M 6P5#nuO  \G@1Rlt)B1bd8))TҔc45E9@ԐBHR+Hy+@~ `VpO.?SJSTSTc4eE8M1 QNP5? ^<7^<#@Lt+*)@1bdHTєc544e9@XO<]b rf`]n?SSCFSc444TՑc55de9@|pҠwFYg>?FD44SeC?FU40S#?IM22cU$IQM `cdCD@ ~hhɦ ~hh8QM cdCE9@ ~hhɦ ~hh8QM  cdCD@ ~hhɦ ~hh8QM cdCE)@ ~hhɦ ~hh8M SdCI@Hք\5Yg͠@ WXDX! 2!!Fp`@83@(XMG`mBr u4:qfՀ(X Xn%^lKJ.0KJ€'( iX&]c* BkG@)2ieE)2f|(NQ `cd3CD@,A`4# 62Oє # L562ѐ Q cd3CE9@dB]b 2fPr|XVfq ~hifsQ  cd3CD@Dx^Vm a cd3CDx?FS44c3CE4P?FC44CQ cd3CE)@Dx^Vm a cd3CE(x?FS44c3CD8P?FC44CQ cd3CD9@$<-œfsQ `ce3CD@ ~hhf ~hh8Q ce3CE9@ ~hhf ~hh8Q  ce3CD@ ~hhf ~hh8Q ce3CE)@ ~hhf ~hh8QM  cdCD@ ~hh& ~hh8QM cdCE)@ ~hh& ~hh8QM `cdCD@ ~hh& ~hh8QM cdCE9@ ~hh& ~hh8T S`c3CD@X\K@XCDmRhEXb]1 ~hh8T `c3CE4@p\K@XCEeY!.VdFc1͊t@1lT Tc3CD9@t\K@XCE@eY!.Vu\#1fjcL5NpT c3CE59@|CDeY!.u\#1f3lV: M SdCHLP5A, AlF#bX6Hu@axeF#q^L*m'9jiucg-I`Xë vU}79>O=|Z­W?-2phD&ۀ<]e+3mHn#C|{*||M<|L1P ~hif ~ha QM SeSC @ԐF#*G's{%/G?9p.:1 ~ha8 Q SeC @dzY* z[-)uZT@&â;J T8¦F6@¥ReT,0@*rS.2c@2ST)`=YIpSLS#(%4:P54=\"3h z"hP͢ (M iRLe 3 c%4:SL"%4pSLL`S@Ը\$L▕ ZT<)iQ@HF@"ZT)iRHK@,?IM11RQ cC#$@`z@Mu /ɎcC#$Ȉ?ID22c#Q SC#)@ԘxXlBKJnPKJn* Xt4ɎSC#(0?ZERODS S#%8:P5WMpɎS#?IN20NQ `cdC@,#+23t@12alQ `cdC@<#+23@حWLt'&Q cdC9@$BOݓƆ sQ `ceCD@<4wGqL4wGvLt,&Q ceCE9@086 Fpuc`NpQM cdSC9@0!,hcN2 ёM gQM `cdSC@<F#Y^sXLt"&ŤS3#(%L:P5=Mᝓ*fFQ ~dd8 RQL`cS$@އO1 ~bd8RQLLcS@$n(& ӀRQLcS#@,dw0=d@1J)tQU ce$UI@pZ?FPRETPӕTc4dU)@ԀCA`@ 㱔s4?CNVERc4tVT cU$I@\eD4$Q $D( ~i(3SՑTcdU$hU9JP5"t Qʎh tR hx#=YI: ST"@M%9pTՐc5d$Ĺ@:@EC@b3!.#`Nb3#8,n gv*pY1 ~Hiq ~8TPՠc$T4h= =B?RSBLK ce%5H?CONSPCe)@lū*9K2E@b1#+21bʥ@$a 4xY" |Z#+20RㅥVb*df1AJjnʮr\<=ͪu`B0Pqzr[ ` XFzO6<jð8A MR^/K 45 x^B(!K%@@ x0 ^/ K% P xd^6/K% ~{i ~p))0 ~OHisPScI=BP5DϮg<*B31h¡ <)0')`r2D3eO t2Q#+iR8WmPDzL-4=-U6F#/0Kb3sn#9 bY93F#'գ!*ԙ4Ҡ" {J* dYXV5/{J*}H *{Y2(h>ڼ93F#8``'2?T,4nIF#9LaZá QE" FSs: Sf&9H FS(p0̢yr;'C(:S#I=B2TT3` %:3JOБ#M%9p SՓ cd=Y1Q5ur 4X C@G@h>Ա ddaxFVà[ @` i`0e@AVfՠac#(qXݐ~[͸@, ݅` du,ì@@2^b, !uGX(Hm(fѠ! /αrd #+8C"?XFX*iSqw:RQ[ nʢ!@2^dUEEXi03iX j* `2" =`>ωH*@:R %M@\M"m8wì**WXRdhmwd\b,f˙o0X5v@?",*ң6 HPͭ`KpbT!Vgga؀ f&Hx f0 ꀈaY*H)xN0uú/ a{h9 -WuHl:`0S2XFdo 6(mwdY f`!E ڐ!*pT $20 CGq :ª@L! 0a֐ pi[ p\. @  bd%  sh;g >?b)HA, tD)JQ@ )KDQ@ 2$G L"")  ~Ɉ&,~騩K1P~dIꑗ0*~JӀTRSc4tM%9(&є"A (Ӑ%Y)h"V(&l:P;$fm'1Y##1Y#+8X"(8=9 =F\rV;4 \5pX'!TK ڮ ~if` e.p+4p_.K<5 vCUznľhd2^l`ͺ`C60O,>ne[`mf jʸ@ ېͦ,ڄc63n>`xͺS9atں `;=Ax=x,;f0 ; ?M82.Zx fp \H Dä/S6?SUBIOPcT%IZ(&є"A 9b(BӔ%Zhg4@1!i:Me0f`1 EXE(8 =9MC e%5N*`lhDX"3F}s?, I@os>gJk` gqYVrƎ#9@6X(b9N` 2]bD&p b?.TFdk?uEdaY98+` ݕN_6=O?gBGwn£'*A#D6 *XP q]`6À4Z6\,* XUYFf7l;\!@ٕX@EXi@U$#`Xu#eAm8ah(n9LcIe7)r<Ia6LH &Ng@h(n2 ae1NyI(!',p p\.K%`,?FPBSTK%`08A 9b^/aix`<?CONSPK@%  ~Ij @~H) ~()P ~j(iq ~ ȊJі~gHsT S$H =N?DFCB0Ќ`cD%Tdi@X,K%` `8pX,l6K %  ~Hq ~alhF1 ~8:: OzäIjɫG>ÙzG'vV”zOxϵyʏ >(ʠOxà: Ox¯>*ä>>{ ߮IO>ϵV̫yHÂͪ͟A>2Ó'>"è COPYRIGHT (C) 1980 DIGITAL RESEARCH 15252'5h+U"!""*"5j"2u3>2v3*5"3-ͩ-:5Z!""$"5"5"5"5"5" " 522>2 5:4 b:4$M:(5-C+C*M:(5!,5M[!35PMp%M(ʡͣ#v#ƒ$:5}% }!"&:5ʦ>%*#5}| V AX*|:5(#$*#5"A*#5"&#v#% RØV AR*&*R"A*5"%5!4NA#~ͫ% p"5*5N"%5!4q#͢%w 3:4(x *#5:,5o"#5V%2*5Ô; !:V :4:4{%͉"">2!:4:424*o,kÊo:4:4{,ʊ:k*%5#!(5~́ w23@:2(4y""3"323>2v3 :u3L!P46+(0>24:u3:v3"U24͋$͇%ͩ$!5*}*#5":4:4: =X!^#fk:Vj&AW y ~   8 ; C :4:4=G!4F#I ,*5͘EIr,o͉n2"5~2 r,Yo :K4 ͉:K4 " : 52> 2K4::4M:4 Mg %U!P46+:v3Ϳ$ý*3*3"3Ϳ$"3½:v3*3^#V{ʽr+s*3^#V ʽ-:v3:r+s!46#w4> 24͋$í!94~6!(5~6"3~,_#!4w͋$ÏV *3o6͋$*3~6 Þ*3:4,"3~ š62:4*3s#r2(5294*3#"%5͇%ͩ$@*3"5":(42:32(5Ģ >24*3"32(5 ͉r!Q4wM>=n2*5~2%! 5%~2͉:K4 v }>v S M:5p*#5*gu>%"u> %2 :5O%:4©:5[%! 4:4©:4,ʀ>:5: O%% 2)5:4:4 !*%5"-5>2'5*%5"&:4:4(:)5N:5N:4=N N*&"%52)ͫ%:(5ī%x;c!'54!'55:)5ž!":*5ʍ!5%Ù*5%*#5":5*%5~ *%56 ͫ%<͉:K4 "5~2o M%@>@%>#*55%!"!/5",:4M:'5M*,~#T :5T !4N*5*,s#r+"%5yP  ͫ%> ͫ%%g >v % 222:4¦ :4 – ì !ʬ ¦ À :4:4€ ( :4 :4:€ :4€ (€ € x !4À  :€ :>S %2 !~5€ :%j B !4À € !~5€ úG!~4_!p!~5^!~>À >2)5:4 *5" +"%5:4ڥ >ͫ%ͫ%[%:4 :4, V :4  + !4N#~ͫ% > ͫ%ͫ%*5"#5:)5- :)5%͉}*5" +"%5ͫ%ͫ%*5"#5>@:2(4:(5 H 23y"*5"3*%5! {#zt ~+"%5*5+"5wT #"5*5"3:)5ʑ N]T s#r+*#5* {_zW"3:)52v3 > > >2 5n2"5 %: 5*#5* 5"#5*55%"#5:5KBn2: 5O0!*", ++ *5:K4 0@:5Ĩ/ú>2) :u3ʭ :4­ *5+"%5[%2!<24*$#"$""*:40!??"4͋$"5+"%5͇%ͩ$+:4­ :4,J "*} :*5 :5%:4 +:25Ĩ/:4 :4  @S+ >2):4„ ͣ#v#: :5$:)%k %G I k :)%:)c %k %+:4„ :4, " :4 :4/ :4 :5 $*#5^#V*S"s#r*5*#5s#r+"5 |#v#*#5" 5:4 :4/ !"5:5> %AB,#*#5 :4:4 !;*M_!Q^#fkox Iͻ8ʗy0IͻGͰͻHIͻ(yIͰͻͻy0ͻIH'd ! ^#V#*"0}o|gF 9"":!`x=`y0l2!!4^4!4q/:4:4,; *5͉: 5ª|}$ªo͕Ͱ8Oͻy0H͕H͉: 5në:4:4,>C0:4M:4  ;C:4#:4 ! #! #{ozgBB**}j!]~ } #ymy>2(>2v3͖*5|EB"#5>%0,# ^#VÕJB*50MB*50!".*5} "#5^#V"5*.s#r+".*."5:u32'5!5~4P!"*|"#5>%*5%"".o!P46 !L4*>2(>2v3͖>2(>2v3͖NB:O* 0:+5ʘ0*5*!5S*5*!5S\gr!P4w#þH USE FACTOR !M4** "5A1z{*5~2*"#5v#!":5(%! 5%n25%%%>%n2G:5x:L4 o:x_*5#"5:5ʽ*5|ʉIB0>%%O%O: 5%*55%ý:5ʽ: 5O*5*5ESS͎2O=>O͎2N=#y{#* 5* 5 "#5" 5͎21͎2=HÎ2Î20:G!^4!K4wOOn2!6z_{_4A_A?*!5"#5*#5*5{z*/5+"%5**+"%5% V%=͇%͢%*%5#þ!v3ʲ:(O! ^#V4@B%GFB>%%O0*#5##~<##ò*#5"|3#"%5͇%:15^:4^!4~?^#ʲ:4͆!~3"z3^#V"#5}ʝ##~2v32w322(!~38w# ͖!~3"z3>2y3*z3^#V#"z3"#5*#5}ʩ##~<2x3G*#5###"%5:w37> ͺ!w3~w7>w> ͺ:w3Pd!5^!K4~ B!~624(02w3%!>%|_}_> ͺ!w3~w:x3ʜ=͢%ͺ!w34È*#5^#V"#5!y35:24(0!^4!K4w>R0>V0>D>P>L>O>B>S>N0!u~ڇK6N4!E s#r!U :mw* 5!] s#r!t~ ڹ6K^4!1w!;p!u~K!5N!E ~#fo!U ~2n!] ^#V"pK2oo&) ^#fkN]ivKzV{K>ɯo>g"!6ů{_zW5>)D*OxGғ !?uDM!xGyOڱò)â͝ddJ)=J|g}o=2o2o*p"rOxKxGyKxGy0KG*p*r}|K\\z{W¢Ü}|ڜâWʜllyWœâ!!#Qzg{ozg{ozg{ol&:oO:n2m*p" 52n2ox:4:4 ;!,ɯ2t2u2 52o=20!"5" 52m{!t~Q5_!1~9:uK:K4 *E"5:U2 5*]" 5*v"#5:K4 $:4§:4KK!4^#=ʣV²*4(—ҌV :4:4V !!*/O:0K>20y_j:t:_!;~:!ts!1~y_!t~X=w_!1~[Kdͪ>20$y$zU0!%2m*#5"v:mP>U0%4>%:m!>2m*202m!" 5/:0Kx*#5DM*5" 5}|^#V<>E0:u3ʛ*3~Œ:v3ʁ!\4>A!(0":3]#"3,ž"3Þ-2\  :4x_<24!K4w:94͜:94ɯ2:4284]294:4:94K)2:4;4~#!͜,!:4~*4!;4_:94w]294ɯ<*#5"W͉#4#*W"#5ɯ2[![4Y5!!:46"3!:4~q5!84^4!;4~â:u3:94†G³]âʻ^¨^·:94&·!:44#wó&G294xâG:94&:4G/G&ʷ/&ʷG/G!94~&>623y"!v36*5"3$"32:4*W"#5GJ2:42942(524> 2S(0>24ɯ242T!4~@`65!^4#:(5O:4yD(w~$w:(50 |:(5D(A:(5?ʱ@ʱD(Aɷ͙| ;!Cͻ2(5:'5:)5:5:(5ͫ%:(5 !J24:(5 ʞ;{>24:'5ʋ:)5.:5‹;Ž*-5*%5++{Iz]~ T++]!]+?"%5:'52'5hͫ%2'5ä:(5*—:S —ʤË ¤24͙ʳ>|ʾ>:(5'2(5> :u3>+2P4(0!K46 >24>24:(52SR:4Z:'5:4=!EQM<8!LE:(5=I!NE>I!LTM>!GT:(5=M!GE2(5"4!44>24!(5:4ruͳ u͇:(5D(OʓQ˜>ßH©>2T2(5:SD(B¹>D> !452T!"4!4N#~#A07O!T/!~*4! ) "4 :(5 5!'':(5 :(5,;%:(5 !:(5; ,J242Z$ l ` / ‰ >24#!:(52S:4; ¡ :4/!:Z/!)!:4 :(5'#!R:(5'z 24É :(5' >24#!^ :(5 #! #!;!)!<!!Z~4z #!>!!Z~#!5z #!:Z#!G )!Rz >24>VG!>OG!>IG!>BG!0!P!w#w#["!"#5!U3w#w#p"!u3~#4^!v3~w!3ͷ"!3ͷ"!3ͷ"!3~w!3ͷ"!4~w!(4~wN#Fp+q!u3~#^!v3"!3#!3#!3#!3"!3#!4"!(4"5~wN#Fq#p>B0!4"%*%F# #2P"*#5##~G=#w#6#w]$*5!4n& {ozg"#5!5{#z$"5f$*5!4N#yʦ$ ~Ù$f$!U3"Q"/$:P"%*5!3{#z"#5%_!U3*#5~#~&%~#$"5ÿ$&%!%*A1SYMBOL TABLE OVERFLOW *#5###w*#5###~,#*#5_####&%s#r&%^#V&%##"%5F%wF%~#!4~l%6~=ͫ%ͫ%!4N#~ͫ% y%͢%͢%2P"*ÿ*:?*ÿ*:@*ÿ*~x/~# *> x/\ ?-$-w#+!\64 #+>GO#w %+>O # <+6 2+6L#6I#6B#w2|*\+>2*5!"B*!(5~2A*w͹*!1*>826*27*!"/5*"5!5"h*"*"*#"5"!5\, _#~ͨ+ ¶+:;*Aͨ+>:ͨ+Ͷ+>.ͨ+Ͷ+>-ͨ+*!1+!32*!1+:=* D,> D,:D*6,_!D* W,6 4ɯ2D*2*522521528*:\ -2;*2@*O:\ʋ,=Ì,y!<*w#w#w#w#>2+52,5:m$>-!~#$ª,~>-# ʱ,<*A-P-S-R-L-*,+,-,-+5~S-M-25L-15Q-8*1,-x#ñ,~A,-#ñ,#6 !1*!*!E**e !N*+-!j**%,r-6* ,,:=*ʂ-:>*…-2:?*ʨ-!***ѯ2:*29* ,,!3*60#60#60#>235!"*:5ͨ/-!"f*2Q*2e**E*+!1*z{:*5G.*B*-.!"B**\..*B*#"B*+~¤.:u32*5G.*\!F2+*f*-•.*!"f**h*ʹ*E*€.a.Ò.Ҫ.ʒ.6# ‹.͹**h**f*#"f*~!2*G:=*..xx/.x.1,..****w#"*!-*!"***j*!*-/~5/ʹ*9//͹*!2*1L/****w#"*!-*!"****/_!5*~ ͳ.27**/5}!1~ /ͳ.#/> ͳ.>#ͳ.ͅ/> ͳ.*/5~/ͳ.#/> ͳ.> ͳ.> ó.}26*!7*è/Oͳ.:K4 :5:=*yx/:8*!5I0:25!*5—0~0:K4 0!K4~ —0:350:P4+—0:,50ʗ0:Q4#0:L4 0:,5=ʗ0!K4~ ʇ0!4s!7*~!6*Ԩ/4:4!K4ʺ0G~ 0#x=ë0> 0> 024!K4>x6 #=0G!K4~ p%,**}0>ͳ.0*j*+:+5ʨ/0!s*6S#6Y#6M#w!*w:>*2=*!"*%,ʨ/26**j*կ ,,0:?*1::*Z1ͬ2L1͎2**}1}w1>B/a1}|Gd/0:?*ʓ1**+![2*CP/M RMAC ASSEM 1.1 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR INVALID PARAMETER: SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES UNBALANCED MACRO LIB END OF ASSEMBLY  : 5O!5 ~#fo: 5O!5 s#r:?*yʟ2š2ͬ2Ž2G:9*29*!:*4>6:9*L/29*2%#333/3 3333#332E3 3   MXList WAITING FOR PRINTER $PRINTER READY $i!v"/!Q/+>c!K-6*/K>XG!+>yC!Q/+>c!+Q/>r–!}o|g}ʖ!#"/!/–!/ʖ!/+>c!/ͷ~g"B,U"G-!,,> c!o0ͷX:F-!,,> c!q0ͷ~*G-w#w:F-X!s0͡!F-6*G-*G-^#V#)))"I-*B,*G-^#V))W+"B,*B,>og"@,:F-f!,,> c!y0ͷ~!{0!+Q/>r2K-*I-w#w2P/>2O/2N/!/(,>t!"N-:F-X!D,LG!),>y :#!#6!Q/D,>_:O/!N/:N/2O/2N/!P/4!}0!0*L-#"L-!0A !/*!/>X!/>Xt!D,KLG!.,>y:O/!N/f:N/2O/2N/!/>X!.,!,@!D,KL(,tî!N/4!,/>c!0!0!0n !N-~#!0̓ ã!0ͬ!D,/,>c!0~U!9"0:#Z!#6!#"/r*/>$Gt!##>Gt!#0,>Gt!#6!#6!#"0!0T!F-6!"#!D,6!06:0}͐3>!D,ͧd*0!F-6!#6*##"#*# |.!"0}20!0>!#*0"0!0U!#"0!0+!#*06*0 "0!04í!"#:+.!+6:# :# :#.~!#*#~20:0 20:0Q~:0Þ:K-z"/!0Ur"/*/ 3,>Gt!0#!D,6,> c!0ͷ~Ͳ"0~# ¦*0^#V"0*0^#V"0͕!1"1!216>261251:!12:1::1!51!!1:51og~271:21!216{:71!61281*0:61o:81OLG!1>c:81og>og}281*0:81ogW"0*0:81og####"0*0*0W*00>c*0";1!;1ͷ~>291!1n&}2=1:=1!91*1:91og"1*1~og |*1>ߦw*1~?*16_*1~@*16`!914å*0++*0)"1*11>_*0^#V"31*0^#V#r+s*1*0*0^#V)))s#r*0:61_L*0*0^#V)))>t*0*0^#V)))w#w!31#`*0*31)))^#V1j`*0*0^#V)))"1*1!1>Gt*0*31)))"1*1*1>Gt*31+"31*0*31)))^#V1j!31#T*1"1*0*31)))"1*1*1>Gt*31+"31*11>Gt:71%^}2C1:C1!A1$ *0:A1_LG!>1>t!0>1xy!0>1xy !B14:A1!!1:B1ogw!0>1xy :B12!1!A14ì*00>c*0"D1!D1ͷ~^#V"F1*F1^#V> ͍!H1 *!H1> XÓ1~# s !9"2!1"1!16*1w#w*1ng | *1KLG!1>yº !1**1~ogQ1~og)1^#V*1^#V#r+sH !11>c !1*>22*1~ogQ1~Y !11xyK !24H :2K !1!1> !1* *1*1^#Vͯ1>_ *1~ogQ1~ !1*{ !1*!11xy !1*é !1**1~ogQ1~ !1* *2:1 !16!"1*1n&"1*1"1' *1#"1*1*1W7 *1*1>Ó*1~og |c !1>ߦw !1~?t !16_ !1~@‚ !16`Y2 ~# ˆ *_2^#V"e2*c2^#V"g2!"2*[2^#V"2*2*2W *]2*2ͯ"2!2 :2 *e2*2)))~# *g2^#V#*e2*2)))s#rc *e2*2)))^#V"2*g2*2))~#K *g2*2))^#V"2% *g2^#V#*g2*2))s#r*g2^#V#r+s*a2^#V*g2^#VW !i272>!c!2ͷ~*2+|´ *Y2^#VO"2þ *Y2^#V"2*2*g2++*g2^#V))s#r*g2*g2^#V))w#w*2#"2ô 2~# *26*2LG!X2>yC *2"3*3#~>!3w:3og2~C :2 !26*e2^#V#"3!3"323!3> *3++| !"3Ñ *3>og"3*3:3og)2s#r!34d !" 3*e2^#V" 323*2"3!3"3* 3* 3W_!34:3og)2^#V" 3*e2*3)))^#V"3*2*3j/*3+" 3* 3* 3"3!36\*3*2jY*3#" 3* 3* 3W"3!36\Û :3o* 3"3u* 3"3*e2*3)))^#V"3*2*3jʛ*26*3*2s#r3 ~# ±*3^#V"#3*!3^#V"%3! ÷>2.3*3~ʟ*34*3~og"3!3A !/3*!/3>XG!3>y.!/3>X3t!/3>XG!3>y[!/3>X3t*3!3>}23:3ʐ!/3>S*3:3<_Lt*3"3!3ö*33>_*3"3!3!;3"93!3*3>!t!<3"53!L33>Gt!Q33>Gt!"'32.3*'3*#3^#VW*'3#"'3*#3*'3)))^#V!<3>p!")3*)3 |*53+*)3"73*73~ ]Æ*73~_n*736?|*73~`|*736@*)3#")38*#3*'3)))!M3>Gt*#3*'3)))^#V")32-3!)3~#ʖ:-3 ͟!<33>t!M33>t2-3!-34*%3++*)3))^#V"+3:,31!Q3:-3ogͯ3>Gt*+3O"+3M!Q3:-3ogͯ3>Gt!3A !/3*!/3>S!L3:-3ogͯ>t*%3*)3))^#V")3ø͟!.34*3~!.3!t:-3ogͯ}!;3w!;3~w*93:;3=_L3t*93!3>_!3^#V"<:F4!F46*<KLG!H<>y+!E46ð!E46!4"$Gt!'4I<>Gt!*46!>46z"!4*<@*<"r2<:E4:<>2<>2<*Gt!^<<xy;!<8!<5!<͛#E!<͛!<5:22%^}2<:!4*<@*<"!4*<@*<"2<*t!<͆!<4!<͆^#V^#V  $ "/  Later CP/M or MP/M Version Required$*#=**#={ozgY|g}o!\!l!ÍÝ3>Ý!*3>K* !*   >    !"#$%(^#V^#VF3O3*# 72gl*<"?'w#-!9~sG~#s4! 9~.Y+60e0e6 #M+r>o&9y>o&90w+Š6./G! >0 >-3T]))寕iO>`G>0 <  DM0 > Ew#E~#X~#W #Ý!9Oo>gy~#o>gxGGtwF#"WObk++~+ y~#/~!>)< D=M)6ɯo>g{ozg!dÄlmnpr Conversion2!Ä*%=|^#V"%=###^#V#N#Fxʿ #~ò*%=|^#V#N#F!9yx"%=:L# !9!#{z#  !!9:]#O!^# {#z!]#5#}OD*#=~r##~#fo9!NÄVWXZ\ Free Space Exhausted##^#V#{_zW;{_zW>4z˜{##^#V# ##s#rs#r#s#r+++~sw#r####}*#=}|5*{z5+F+N+V+5^{;{z;}|;{i`~sw#r##q#p i`N#F#^#V~;q4#p+i`##s#rA"]" FREE Request Out-of-Range$ Free Space Overwrite$GKҜMbkÜiFhNhN#Fh^#V"#y2#xүi&ͩ x>!J#{#z*#*# xyxM_!^#VͤG>(Iỳ>)I|*<|6<ͤͶò">,IG> _O! O! O!0:IIWWG|e}e ڐdԒ ͒ڝÔxWN #~Iæ!wͤ*=!9{_z{ G>#I*=>=^#V#q>: >?I!oͤͤ>=I^#V|A}8.))ä#F>A> #\~ >.~ =M^#V# File: Traceback: ERROR FIXED OVERFLOW OVERFLOW UNDERFLOW ZERO DIVIDE END OF FILE UNDEFINED FILE KEYNULCONCONRDRPUNLSTBADG!]#~8  " Condition Stack Overflow$4Ox!< w#s#r#s#r!9!^# s#r!]#N!< +++++q #{Š #zʏ ++~q ++!]#5!~# ž Ú !]#N!< +++++¹ #~# +{ #z ++~ù #^#V=!L#~9!5:L#_!M#^#V"J#~#.~# !*#)))))# )| !*~#|}*#"#:L#*J#~#w# F!*#{ `! d!!#"#Ö!Copyright (c) 1980 Digital Research, v1.3 !"!="="%=2]#2L#*'= !"=q#p##}o"#=*}o|!""+w+w+r+s4w#w#s#r<2)=++*!=s#r"!=*=#"=*=DM!!=x~¨"#~+¨"+F+Nq#p*=+"=ʣ"Ҧ"=Y"!+~O~#~G!>w!/x"yʞ" >O6# x" h"=ɯ ~#fo++"!=~#"*!="²""""  Insufficient Memory$ Invalid I/O List End of Execution$#dd(Copyright (c) 1980 Digital Research V1.3MXList SYMd$PlPRINTER busy XREF 1.3 no SYM file no PRN file CP/M PRNXRFABORTED. V́ + 1@+>  FG1"z*QS cE5T @///,,D,B,G-,Q/D,D,L-,D,D,N-P-L-N-P-G-@,I-P/O/Q/G-I-D,000//D,symbol table overflow ' invalid SYM file format  { *$'symbol table reference overflow 22i2 0# +333lXRF.XRF make error  '.XRF close error .XRF write error <<<_<<b stacksize then stacksize = curstack; if m = 0 then return(n+1); if n = 0 then return(ackermann(m-1,1)); return(ackermann(m-1,ackermann(m,n-1))); end ackermann; end ack;  entry (ptr) returns (fixed(7)), rename entry (ptr), logvec entry returns (bit(16)), curdsk entry ncalls = ncalls + 1; curstack = stksiz(); if curstack > stacksize then stacksize = curstack; if m = 0 then return(n+1); if n = 0 then return(ackermann(m-1,1)); return(ackealltst: proc options(main); /* assembly language interface to dynamic storage allocation module */ dcl totwds returns(fixed(15)), maxwds returns(fixed(15)), allwds entry(fixed(15)) returns(ptr); dcl allreq fixed(15), memptr ptr, meminx fixed(15), memory (0:0) bit(16) based(memptr); do while('1'b); put edit (totwds(),' Total Words Available', maxwds(),' Maximum Segment Size', 'Allocation Size? ') (2(skip,f(6),a),skip,a); get list(allreq); memptr = allwds(allreq); put edit('Allocated',allreq, ' Words at ',unspec(memptr)) (skip,a,f(6),a,b4); /* clear memory as example */ do meminx = 0 to allreq-1; memory(meminx) = '0000'b4; end; end; end alltst;  meminx fixed(15), memory (0:0) bit(16) based(memptr); do while('1'b); put edit (totwds(),' Total Words Available', maxwds(),' Maximum Segment Size', 'Allocation Size? ') (2(skip,f(6),a),skip,a); get list(allreq); memptr = alchess: procedure options(main); /**************************************************************** * * * This program has served as a timing test case throughout * * the PL/I development. We expect that this program will be * * extensively changed as various programmers work with it - * * if you make any great improvements, let us know and we'll * * send your updated version with our next release (you'll * * also go in line in the list below, for eternal fame). * * Feel free to distribute this program, or altered versions * * thereof, but please keep the list of names intact. Oh, by * * the way, CHESS currently plays against itself, and reads a * * value to determine the search depth (don't make the value * * too large, or you'll wait quite a while for the moves). * * * * Programmer Address Date * * ---------- ------------------- ------ * * JWB Digital Research 3/79 * * * * * * (P.S., in its current state, this program takes 1:58 to * * compile on a 4-mhz Z-80 with a hard disk attached, and 1:45 * * if the $Q compile toggle is enabled.) * ****************************************************************/ declare (white initial (1), none initial (0), black initial (-1)) static fixed (1); declare (empty_square initial (0), illegal_square initial (1), white_pawn initial (2), white_knight initial (3), white_bishop initial (4), white_rook initial (5), white_queen initial (6), white_king initial (7), black_pawn initial (8), black_knight initial (9), black_bishop initial (10), black_rook initial (11), black_queen initial (12), black_king initial (13)) static fixed (4); declare piece_value (0 : 13) static fixed initial (0,0,100,290,310,500,900,8000,-100,-290,-310,-500,-900,-8000); declare piece_picture (0 : 13) static char (4) varying initial (' |','___|',' P |',' N |',' B |',' R |',' Q |',' K |', '

|','|','|','|','|','|'); declare bishop_like (0 : 13) static bit initial ('0','0','0','0','1','0','1','0','0','0','1','0','1','0'); declare rook_like (0 : 13) static bit initial ('0','0','0','0','0','1','1','0','0','0','0','1','1','0'); declare board (0 : 119) static fixed (4) initial (01,01,01,01,01,01,01,01,01,01, 01,01,01,01,01,01,01,01,01,01, 01,11,09,10,12,13,10,09,11,01, 01,08,08,08,08,08,08,08,08,01, 01,00,00,00,00,00,00,00,00,01, 01,00,00,00,00,00,00,00,00,01, 01,00,00,00,00,00,00,00,00,01, 01,00,00,00,00,00,00,00,00,01, 01,02,02,02,02,02,02,02,02,01, 01,05,03,04,06,07,04,03,05,01, 01,01,01,01,01,01,01,01,01,01, 01,01,01,01,01,01,01,01,01,01); declare center (0 : 119) static fixed (2) initial (00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00, 00,00,01,01,01,01,01,01,00,00, 00,00,01,02,02,02,02,01,00,00, 00,00,01,02,03,03,02,01,00,00, 00,00,01,02,03,03,02,01,00,00, 00,00,01,02,02,02,02,01,00,00, 00,00,01,01,01,01,01,01,00,00, 00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00); declare bonus (0 : 119) static fixed (4) initial ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 1,-9, 3, 4, 1, 0, 0, 1, 1, 1, 6, 7, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 6, 7, 1, 1, 1, 0, 0, 1, 3, 2, 1,-9, 3, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); declare (((max_stage,max_cap) initial (3), ply, max_ply) fixed (3), ((move_index, best_move, first_move, last_move) fixed, (stage_lim, stage_lst) fixed (3), move_color fixed (1), cur_piece fixed (4), move_bonus fixed (4)) (0 : 5), next fixed, /* index to next available of */ ((est_score, move_score) fixed, (move_from, move_to, move_dir) fixed (7)) (0 : 350)) static; /**************************************************************** * * * * * * ****************************************************************/ display: procedure; declare (i, j) fixed; declare dashes static varying character (41) initial (' +---+---+---+---+---+---+---+---+'), spaces static varying character (9) initial (' |'); put skip(2); do i = 20 to 90 by 10; write from(dashes); put skip; write from(spaces); do j = 1 to 8; write from(piece_picture (board (i + j))); end; put skip; end; write from(dashes); put skip(2); end display; /**************************************************************** * * * * * * ****************************************************************/ display_move: procedure (move); declare move fixed; declare spaces varying character (6) static initial (' '), dash varying character (1) static initial ('-'), takes varying character (1) static initial ('x'), names (0 : 119) varying character (2) static initial (' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', ' ','a8','b8','c8','d8','e8','f8','g8','h8',' ', ' ','a7','b7','c7','d7','e7','f7','g7','h7',' ', ' ','a6','b6','c6','d6','e6','f6','g6','h6',' ', ' ','a5','b5','c5','d5','e5','f5','g5','h5',' ', ' ','a4','b4','c4','d4','e4','f4','g4','h4',' ', ' ','a3','b3','c3','d3','e3','f3','g3','h3',' ', ' ','a2','b2','c2','d2','e2','f2','g2','h2',' ', ' ','a1','b1','c1','d1','e1','f1','g1','h1',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' '); write from(spaces); write from(names (move_from (move))); if cur_piece (ply) = empty_square then write from(dash); if cur_piece (ply) ~= empty_square then write from(takes); write from(names (move_to (move))); end display_move; /**************************************************************** * * * * * * ****************************************************************/ color: procedure (square) returns (fixed (1)); declare square fixed (7); if board (square) >= black_pawn then return (black); if board (square) <= illegal_square then return (none); return (white); end color; /**************************************************************** * * * * * * ****************************************************************/ sort_moves: procedure; declare ((i, j, t) fixed, s fixed (7), color fixed (1), switched bit) static; color = move_color (ply); do switched = '1' while (switched); switched = '0'; do i = first_move (ply) repeat (j) while (i < last_move (ply)); j = i + 1; t = move_score (i) - move_score (j); if t < 0 & color = white | t > 0 & color = black then do; switched = '1'; t = est_score (i); est_score (i) = est_score (j); est_score (j) = t; t = move_score (i); move_score (i) = move_score (j); move_score (j) = t; s = move_from (i); move_from (i) = move_from (j); move_from (j) = s; s = move_to (i); move_to (i) = move_to (j); move_to (j) = s; s = move_dir (i); move_dir (i) = move_dir (j); move_dir (j) = s; if i > first_move (ply) then j = j - 2; end; end; end; best_move (ply) = first_move (ply); end sort_moves; /**************************************************************** * * * * * * ****************************************************************/ generate_moves: procedure; declare (move_piece fixed (4), from_square fixed (7), castle_bonus fixed (4), move fixed) static; /**************************************************************** * * * * * * ****************************************************************/ add_move: procedure (to_square, direction); declare to_square fixed (7), direction fixed (5); declare (current_piece fixed (4), score fixed) static; current_piece = board (to_square); if current_piece = illegal_square then return; if color (to_square) = move_color (ply) then return; move_from (next) = from_square; move_to (next) = to_square; move_dir (next) = direction; score = center (to_square) - center (from_square) + bonus (from_square); if color (from_square) = black then score = - score; score = score - piece_value (current_piece); est_score (next) = score; move_score (next) = score; if move_color (ply) = white then do; if score > move_score (best_move (ply)) then best_move (ply) = next; end; else do; if score < move_score (best_move (ply)) then best_move (ply) = next; end; last_move (ply) = next; next = next + 1; end add_move; /**************************************************************** * * * * * * ****************************************************************/ multi_move: procedure (dir); declare dir fixed (5); declare ts fixed (7) static; do ts = from_square + dir repeat (ts + dir) while (board (ts) = empty_square); call add_move (ts, dir); end; call add_move (ts, dir); /* adds captures */ end multi_move; /**************************************************************** * * * * * * ****************************************************************/ generate_piece_moves: procedure; move_piece = board (from_square); if move_piece = white_pawn then do; if board (from_square - 10) = empty_square then do; call add_move (from_square - 10, -10); if board (from_square - 20) = empty_square then if bonus (from_square) ~= 0 then call add_move (from_square - 20, -10); end; if color (from_square - 9) = -move_color (ply) then call add_move (from_square - 9, -9); if color (from_square-11) = -move_color (ply) then call add_move (from_square - 11, -11); end; else if move_piece = black_pawn then do; if board (from_square + 10) = empty_square then do; call add_move (from_square + 10, 10); if board (from_square + 20) = empty_square then if bonus (from_square) ~= 0 then call add_move (from_square + 20, 10); end; if color (from_square + 9) = -move_color (ply) then call add_move (from_square + 9, 9); if color (from_square+11) = -move_color (ply) then call add_move (from_square + 11, 11); end; else if move_piece = white_knight | move_piece = black_knight then do; call add_move (from_square - 21, -21); call add_move (from_square - 19, -19); call add_move (from_square - 12, -12); call add_move (from_square - 8, -8); call add_move (from_square + 8, 8); call add_move (from_square + 12, 12); call add_move (from_square + 19, 19); call add_move (from_square + 21, 21); end; else if move_piece = white_king | move_piece = black_king then do; call add_move (from_square - 11, -11); call add_move (from_square - 10, -10); call add_move (from_square - 9, -9); call add_move (from_square - 1, -1); call add_move (from_square + 1, 1); call add_move (from_square + 9, 9); call add_move (from_square + 10, 10); call add_move (from_square + 11, 11); castle_bonus = 0; if bonus (from_square) ~= 0 then do; if move_piece = white_king then if from_square = 95 then castle_bonus = 15; end; else do; if move_piece = black_king then if from_square = 25 then castle_bonus = -15; end; if castle_bonus ~= 0 then do; if bonus (from_square + 3) ~= 0 then if board (from_square + 3) = move_piece-2 then if board (from_square + 1) = empty_square then if board (from_square + 2) = empty_square then do; call add_move (from_square + 2, 2); est_score (next - 1) = est_score (next - 1) + castle_bonus; move_score (next - 1) = move_score (next - 1) + castle_bonus; end; if bonus (from_square - 4) ~= 0 then if board (from_square - 4) = move_piece-2 then if board (from_square - 3) = empty_square then if board (from_square - 2) = empty_square then if board (from_square - 1) = empty_square then do; call add_move (from_square - 2, -2); est_score (next - 1) = est_score (next - 1) + castle_bonus; move_score (next - 1) = move_score (next - 1) + castle_bonus; end; end; end; else do; if bishop_like (move_piece) then do; call multi_move (-11); call multi_move (-9); call multi_move (9); call multi_move (11); end; if rook_like (move_piece) then do; call multi_move (-10); call multi_move (10); call multi_move (1); call multi_move (-1); end; end; end generate_piece_moves; /**************************************************************** * * * * * * ****************************************************************/ move_prohibited: procedure (best_move, move) returns (bit); declare (best_move, move) fixed; declare to_sq fixed (7) static; do to_sq = move_from (best_move) repeat (to_sq + move_dir (best_move)) while (to_sq ~= move_to (best_move)); if move_to (move) = to_sq then return ('1'); end; if move_to (move) = to_sq then return ('1'); return ('0'); end move_prohibited; first_move (ply) = next; best_move (ply) = next; move_index (ply) = next - 1; move = best_move (ply - 2); if ply >= max_ply then if ply >= 2 then if move_from (move_index (ply - 2)) ~= move_from (move) then if move_from (move) ~= move_to (move_index (ply - 1)) then if move_to (move) ~= move_from (move_index (ply - 1)) then if ~ move_prohibited (move, move_index (ply - 1)) then if ~ move_prohibited (move, move_index (ply - 2)) then do; from_square = move_from (move); call add_move (move_to (move), move_dir (move)); return; end; do from_square = 21 to 98; if color (from_square) = move_color (ply) then call generate_piece_moves(); if ply >= max_ply then if alpha_beta_cutoff (best_move (ply)) then do; last_move (ply) = next - 1; return; end; end; return; end generate_moves; /**************************************************************** * * * * * * ****************************************************************/ alpha_beta_cutoff: procedure (move) returns (bit); declare move fixed (7); declare score fixed static; if ply = 0 then return ('0'); if move_index (ply - 1) = first_move (ply - 1) then return ('0'); if move_index (ply) < first_move (ply) then return ('0'); score = move_score (move) + move_score (move_index (ply - 1)) - move_score (best_move (ply - 1)); if move_color (ply) = white then return (score > 0); return (score < 0); end alpha_beta_cutoff; /**************************************************************** * * * * * * ****************************************************************/ select_next_move: procedure returns (bit); declare (to, from) fixed (7) static; if alpha_beta_cutoff (move_index (ply)) then return ('0'); move_index (ply) = move_index (ply) + 1; if move_index (ply) > last_move (ply) then return ('0'); to = move_to (move_index (ply)); from = move_from (move_index (ply)); cur_piece (ply) = board (to); if ply >= max_cap & cur_piece (ply) = empty_square then return ('0'); board (to) = board (from); board (from) = empty_square; move_bonus (ply) = bonus (from); bonus (from) = 0; if board (to) = white_king | board (to) = black_king then do; if to = from + 2 then do; board (to - 1) = board (to) - 2; board (to + 1) = empty_square; end; else if to = from - 2 then do; board (to + 1) = board (to) - 2; board (to - 2) = empty_square; end; end; return ('1'); end select_next_move; /**************************************************************** * * * * * * ****************************************************************/ retract_move: procedure; declare (to, from) fixed (7) static; to = move_to (move_index (ply)); from = move_from (move_index (ply)); board (from) = board (to); board (to) = cur_piece (ply); bonus (from) = move_bonus (ply); if board (from) = white_king | board (from) = black_king then do; if to = from + 2 then do; board (to + 1) = board (from) - 2; board (to - 1) = empty_square; end; else if to = from - 2 then do; board (to - 2) = board (from) - 2; board (to + 1) = empty_square; end; end; end retract_move; /**************************************************************** * * * * * * ****************************************************************/ score_ply_moves: procedure recursive; do while (select_next_move ()); call stage(); move_score (move_index (ply)) = move_score (move_index (ply)) + move_score (best_move (ply + 1)); if move_color (ply) = white then do; if move_score (move_index (ply)) > move_score (best_move (ply)) then best_move (ply) = move_index (ply); end; else do; if move_score (move_index (ply)) < move_score (best_move (ply)) then best_move (ply) = move_index (ply); end; call retract_move(); end; end score_ply_moves; /**************************************************************** * * * * * * ****************************************************************/ stage: procedure recursive; declare i fixed static; ply = ply + 1; if ply ~= 0 then move_color (ply) = -move_color (ply - 1); stage_lst (ply) = max_ply; stage_lim (ply) = ply + 2; if stage_lim (ply) > max_stage then stage_lim (ply) = max_stage; call generate_moves(); if ply ~= 0 then if cur_piece (ply - 1) = white_king | cur_piece (ply - 1) = black_king then do; move_score (best_move (ply)) = 0; next = first_move (ply); ply = ply - 1; return; end; if ply < max_ply then do max_ply = stage_lim (ply) repeat (stage_lim (ply) + 1) while (max_ply <= stage_lst (ply)); stage_lim (ply) = max_ply; do i = first_move (ply) to last_move (ply); move_score (i) = est_score (i); end; move_index (ply) = first_move (ply) - 1; call score_ply_moves(); call sort_moves(); end; next = first_move (ply); max_ply = stage_lst (ply); ply = ply - 1; end stage; /**************************************************************** * * * * * * ****************************************************************/ make_move: procedure (color); declare color fixed (1); declare (to, from) fixed static; next = 0; ply = -1; max_ply = max_stage; move_color (0) = color; call stage(); ply = 0; to = move_to (best_move (0)); from = move_from (best_move (0)); cur_piece (0) = board (to); board (to) = board (from); board (from) = empty_square; bonus (from) = 0; bonus (to) = 0; if board (to) = white_king | board (to) = black_king then do; if to = from + 2 then do; board (to - 1) = board (to) - 2; board (to + 1) = empty_square; bonus (to + 1) = 0; end; else if to = from - 2 then do; board (to + 1) = board (to) - 2; board (to - 2) = empty_square; bonus (to - 2) = 0; end; end; call display_move (best_move (0)); end make_move; declare (move_number, move_display) fixed (7) static initial(1); put skip list('Chess Program Version 1.0'); put skip list('Type Search Depth '); get list(max_cap); max_stage = max_cap; put list('Type Number of Moves Between Displays '); get list(move_display); do while ('1'); call make_move (white); call make_move (black); put skip; move_number = move_number + 1; if move_number > move_display then do; move_number = 1; call display(); end; end; end chess; 0\H_display); do while ('1'); call make_move (white); call make_move (black); put skip; move_number = move_number + 1; if move_number > move_display then do; move_number = 1; f: proc options(main); dcl i fixed; do i = 0 repeat(i+1); put skip list('Factorial(',i,')=',fact(i)); end; stop; fact: proc (i) returns(fixed dec(15,0)) recursive; dcl i fixed; dcl f fixed dec(15,0); if i = 0 then return (1); return (decimal(i,15) * fact(i-1)); end fact; end f;  RAND Calls: '); get list(max); put list('Seed Value (or comma) '); xseed = dseed; get list(xseed); do k = lbound(sdiocopy: proc options(main); /* file to file copy program */ /* (all source lines begin with tabs) */ %replace bufwds by 64, /* words per buffer */ quest by 63, /* ASCII '?' */ true by '1'b, false by '0'b; %include 'diomod.dcl'; dcl 1 destfile, %include 'fcb.dcl'; dcl dfcb0p ptr, 1 sourcefile based(dfcb0p), %include 'fcb.dcl'; dcl 1 dfcb1file based(dfcb1()), %include 'fcb.dcl'; dcl 1 renfile, %include 'fcb.dcl'; dcl answer char(1), extcnt fixed(7); dcl /* buffer management */ eofile bit(8), i fixed(15), m fixed(15), nbuffs fixed(15), memory (0:0) bit(16) based(memptr()); /* compute number of buffs, 64 words each */ nbuffs = divide(memwds(),bufwds,15); if nbuffs = 0 then do; put skip list('No Buffer Space'); call reboot(); end; /* initialize fcb's */ dfcb0p = dfcb0(); destfile = dfcb1file; /* copy fcb to rename file, count extents */ renfile = destfile; /* search all extents by inserting '?' */ renfile.fext = quest; if sear(addr(renfile)) ^= -1 then do; extcnt = 1; do while(searn() ^= -1); extcnt = extcnt + 1; end; put edit ('OK to Delete ',extcnt,' Extent(s)?(Y/N)') (skip,a,f(3),a); get list(answer); if ^ (answer = 'Y' ! answer = 'y') then call reboot(); end; /* destination file will be deleted later */ destfile.ftype = '$$$'; /* delete any existing x.$$$ file */ call delete(addr(destfile)); /* open the source file, if possible */ if open(addr(sourcefile)) = -1 then do; put skip list('No Source File'); call reboot(); end; /* source file opened, create $$$ file */ destfile.fext = 0; destfile.crec = 0; if make(addr(destfile)) = -1 then do; put skip list('No Directory Space'); call reboot(); end; /* $$$ temp file created, now copy from source */ eofile = false; do while (^eofile); m = 0; /* fill buffers */ do i = 0 repeat (i+1) while (i= '22'b4; /* read and process file name */ put skip list('Data Base Name: '); get list(fn); fn = translate(fn,upper,lower); /* process optional drive prefix */ i = index(fn,':'); if i = 0 then drive = 0; else if i = 2 then do; /* convert character to drive code */ drive = index(upper,substr(fn,1,1)); if drive = 0 ! drive > 16 then do; put skip list('Bad Drive Name'); stop; end; fn = substr(fn,i+1); end; /* get file name and optional type */ i = index(fn,'.'); if i = 0 then do; /* no file type specified, use .DAT */ fname = fn; ftype = 'DAT'; end; else do; fname = substr(fn,1,i-1); ftype = substr(fn,i+1); end; /* clear the extent field */ fext = 0; if open(addr(database)) = -1 then do; put skip list('Creating New Database'); if make(addr(database)) = -1 then do; put skip list('No Directory Space'); stop; end; end; else do; call filsiz(addr(database)); put skip list('File Size:',rrec,' Records'); end; /* main processing loop */ do while('1'b); call setrec(addr(database)); put skip list('Current Record',rrec); put skip list('Read(0),Write(1),Quit(2)? '); get list(mode); if mode < 2 then do; put skip list('Record Number? '); get list(rrec); rovf = 0; end; if mode = 0 then do; code = rdran(addr(database)); if code = 0 then do; if bitbuf(1) = '00'b4 then put skip list('Zero Record'); else put skip list(buffer); end; else put skip list('Return Code',code); end; else if mode = 1 then do; put skip list('Data: '); get list(buffer); if zerofill then code = wrranz(addr(database)); else code = wrran (addr(database)); if code ^= 0 then put skip list('Return Code',code); end; else if mode = 2 then do; if close(addr(database)) = -1 then put skip list('Read/Only'); stop; end; end; end diorand; poly: procedure options(main); /* evaluate polynomial */ %replace true by '1'b; dcl (x,y,z) fixed decimal(15,4); do while(true); put skip(2) list('Type x,y,z: '); get list(x,y,z); if x = 0 & y = 0 & z = 0 then stop; put skip list(' 2'); put skip list(' x + 2y + z =',p(x,y,z)); end; p: proc (x,y,z) returns (fixed decimal(15,4)); dcl (x,y,z) fixed decimal(15,4); return (x * x + 2 * y + z); end p; end poly;  newnode->next = sentence; sentence = newnode; word = newword; if x = 0 & y = 0 & z = 0 then stop; put skip list(' 2'); put skip list(' x + 2y + z =',p(x,y,z)); end; p: proc (x,y,z) returns (fixed decimal(15,4)); dcl (x,ydump: proc options(main); /* dump file in hex at terminal */ dcl sysprint file, input file; dcl bit(254) bit(8), c char, i fixed, ibuff char(254) varying; open file(input) stream title('$1.$1'); open file(sysprint) stream output linesize(78) pagesize(0) title('$con'); on endfile(input) stop; do while('1'b); read file(input) into(ibuff); do i = 1 to length(ibuff); c = substr(ibuff,i,1); bit(i) = unspec(c); end; put edit((bit(i) do i = 1 to length(ibuff))) (b4(2)); end; end dump; m title('$1.$1'); open file(sysprint) stream output linesize(78) pagesize(0) title('$con'); on endfile(input) stop; do while('1'b); read file(input) into(ibuff); do i = 1 to length(ibuff); " \ $1w2u2Ĩ2;jHGm  <<i(u(Ĩ(;j  R enter: proc options(main); %replace true by '1'b, false by '0'b; dcl 1 employee static, 2 name char(30) varying, 2 addr, 3 street char(30) varying, 3 city char(10) varying, 3 state char(7) varying, 3 zip fixed dec(5), 2 age fixed dec(3), 2 wage fixed dec(5,2), 2 hours fixed dec(5,1); dcl 1 default static, 2 street char (30) varying initial('(no street)'), 2 city char(10) varying initial('(no city)'), 2 state char(7) varying initial('(no st)'), 2 zip fixed dec(5) initial(00000); dcl emp file; open file(emp) keyed output environment(f(100),b(8000)) title ('$1.EMP'); do while(true); put list('Employee: '); get list(name); if name = 'EOF' then do; call write(); stop; end; addr = default; put list (' Age, Wage: '); get list (age,wage); hours = 0; call write(); end; write: procedure; write file(emp) from(employee); end write; end enter; st(street, city, state, zip); put list('Hours:',hours,': '); get list(hours); poly: procedure options(main); /* evaluate polynomial */ %replace false by '0'b, true by '1'b; dcl (x,y,z) float binary; dcl eofile bit(1) static initial(false), sysin file; on endfile(sysin) eofile = true; do while(true); put skip(2) list('Type x,y,z: '); get list(x,y,z); if eofile then stop; put skip list(' 2'); put skip list(' x + 2y + z =',p(x,y,z)); end; p: proc (x,y,z) returns (float binary); dcl (x,y,z) float binary; return (x * x + 2 * y + z); end p; end poly;  on endfile(sysin) eofile = true; do while(true); put skip(2) list('Type x,y,z: '); get list(x,y,z); if eofile then stop; put skip list(' 2'); put skip list(' x f: proc options(main); dcl i fixed; do i = 0 repeat(i+1); put skip list('factorial(',i,')=',fact(i)); end; stop; fact: procedure(i) returns(fixed) recursive; dcl i fixed; if i = 0 then return (1); return (i * fact(i-1)); end fact; end f; , 2 hours fixed dec(5,1); dcl dashes character(15) static initial ('$-------------- 2 name1, 3 drive fixed(7), /* drive number */ 3 fname char(8), /* file name */ 3 ftype char(3), /* file type */ 3 fext fixed(7), /* file extent */ 3 space (3) bit(8),/* filler */ 2 name2, /* used in rename */ 3 drive2 fixed(7), 3 fname2 char(8), 3 ftype2 char(3), 3 fext2 fixed(7), 3 space2 (3) bit(8), 2 crec fixed(7), /* current record */ 2 rrec fixed(15), /* random record */ 2 rovf fixed(7); /* random rec overflow */  newnode->next = sentence; sentence = newnode; word = newword; ed in rename */ 3 drive2 fixed(7), 3 fname2 char(8), 3 ftype2 char(3), 3 fext2 fixed(7), 3 space2 (3) bit(8), 2 crec fixed(7), /* current record */ 2 rrec fixed(15), /* random record */ 2 rovf fixef: proc options(main); dcl i fixed; do i = 0 repeat(i+1); put skip list('factorial(',i,')=',fact(i)); end; stop; fact: procedure(i) returns(float) recursive; dcl i fixed; if i = 0 then return(1); return (i * fact(i-1)); end fact; end f; present one or more heading digits * * and xxxxx represents a heading title, optionally followed by * * a period. Headifibonacci: proc options(main); dcl i fixed; do i = 0 to 100; put list(fib(i)); end; fib: proc(n) returns(fixed) recursive; dcl n fixed; if n = 0 then return(1); if n = 1 then return(1); return(fib(n-1) + fib(n-2)); end fib; end fibonacci;  stop; do while('1'b); read file(input) into(ibuff); do i = 1 to length(ibuff); average: proc options (main); /* grade averaging program */ dcl sysin file, (grade,total,n) fixed; on error (1) /* conversion */ begin; put skip list('Bad Value, Try Again.'); get skip; go to retry; end; on endfile (sysin) begin; if n ^= 0 then put skip list ('Average is',total/n); stop; end; put skip list ('Type a List of Grades, End with Ctl-Z'); total = 0; n = 0; retry: put skip; do while('1'b); get list (grade); total = total + grade; n = n + 1; end; end average; no city)'), 2 state char(7) varying initial('(no st)'), 2 zip fixed dec(5) sysin) begin; if n ^= 0 then put skip list ('Average is',total/n); stop; end; put skip list ('Type a List of Grades, End with Ctl-Z'); total = 0; n = 0; retry: put skip; do while('1'b); get list (grade); totalinv: procedure options(main); %replace true by '1'b, false by '0'b; %include 'matsize.lib'; dcl mat(maxrow,maxcol) float (24); dcl (i,j,n,m) fixed(6); dcl var char(26) static initial ('abcdefghijklmnopqrstuvwxyz'); dcl invert entry ((maxrow,maxcol) float(24), fixed(6), fixed(6)); put list('Solution of Simultaneous Equations'); do while(true); put skip(2) list('Type rows, columns: '); get list(n); if n = 0 then stop; get list(m); if n > maxrow ! m > maxcol then put skip list('Matrix is Too Large'); else do; put skip list('Type Matrix of Coefficients'); put skip; do i = 1 to n; put list('Row',i,':'); get list((mat(i,j) do j = 1 to n)); end; put skip list('Type Solution Vectors'); put skip; do j = n + 1 to m; put list('Variable',substr(var,j-n,1),':'); get list((mat(i,j) do i = 1 to n)); end; call invert(mat,n,m); put skip(2) list('Solutions:'); do i = 1 to n; put skip list(substr(var,i,1),'='); put edit((mat(i,j) do j = 1 to m-n)) (f(8,2)); end; put skip(2) list('Inverse Matrix is'); do i = 1 to n; put skip edit ((mat(i,j) do j = m-n+1 to m)) (x(3),6f(8,2),skip); end; end; end; end inv; Solutions:'); do i = 1 to n; put skip list(substr(var,i,1),'='); put edit((mat(i,j) do j = 1 to m-n)) (f(8,2)); end; put skip(2) list('Inverse Matrix isinvert: proc (a,r,c); %include 'matsize.lib'; dcl (d, a(maxrow,maxcol)) float (24), (i,j,k,l,r,c) fixed (6); do i = 1 to r; d = a(i,1); do j = 1 to c - 1; a(i,j) = a(i,j+1)/d; end; a(i,c) = 1/d; do k = 1 to r; if k ^= i then do; d = a(k,1); do l = 1 to c - 1; a(k,l) = a(k,l+1) - a(i,l) * d; end; a(k,c) = - a(i,c) * d; end; end; end; end invert;  thereof, but please keep the list of names intact. Oh, by * * the way, CHESS currently plays against itself, and reads a c) = 1/d; do k = 1 to r; if k ^= i then do; d = a(k,1); do l = 1 to c - 1; a(k,l) = a(k,l+1) - a(i,l) * d; end; a(k,c) = - a(i,c) * d; keypr: proc options(main); /* create key from employee file */ dcl 1 employee static, 2 name char(30) varying; dcl (input, keys) file; dcl k fixed; open title('$1.emp') keyed env(f(100),b(10000)) file(input); open file (keys) stream output linesize (60) title('$1.key'); do while('1'); read file(input) into(employee) keyto(k); put skip list(k,name); put file(keys) list(name,k); if name = 'EOF' then stop; end; end keypr; no city)'), 2 state char(7) varying initial('(no st)'), 2 zip fixed dec(5) env(f(100),b(10000)) file(input); open file (keys) stream output linesize (60) title('$1.key'); do while('1'); read file(input) into(employee) keyto(k); put skip list(k,name); put file(keys) list(naxl: proc options(main); /************************************************ * (Another Sample Program....) * * * * this program aids in the translation of files * * in the microsoft assembly language format, to * * a form acceptable by RMAC. In particular, * * RMAC requires quotes around the title string * * and does not allow parentheses around the * * operand of the NAME pseudo-op. Although these* * differences only produce warnings, this pro- * * gram can be used to automatically change these* * elements. Note that upper case letters are * * also changed to lower case outside of string * * quotes. The program is initiated by typing: * * MACASM commandfile listing * * where "commandfile" is a file containing a * * list of file names to process, with the file * * type MAC, and "listing" is the name of a * * file to receive a listing of the changes. * * the source files must be on drive A, and the * * resulting files, with the new file type ASM * * are placed on drive B (this can be easily * * generalized by making simple changes to the * * program). Note that the listing file can be * * $LST which sends output to the printer. * * * ************************************************/ %replace true by '1'b, false by '0'b; dcl (input, output, command, listing) file, i fixed, column fixed, c char, line char(254) var, lineno fixed, title char (254) var; open file (listing) print title('$2.$2'); open file (command) title('$1.$1'); on endfile(command) stop; on undefinedfile(input) begin; put skip list('***** file not found *****'); go to retry; end; retry: do while('1'b); get file(command) list(title); open file (input) title('a:'||title||'.mac') env(b(5000)); open file (output) stream output title('b:'||title||'.asm') env(b(5000)); put file(listing) skip list('Processing:',title); on endfile(input) go to nextfile; do lineno = 1 by 1; get file(input) edit(line) (a); if translate() then do; put skip file(listing) list(lineno,':'); column = 1; do i = 1 to length(line); c = substr(line,i,1); if c = '^i' then do while(mod(column,8)^=0); put file(listing) edit(' ')(a); column = column + 1; end; else do; put file(listing) edit(c) (a); column = column + 1; end; end; end; put file(output) edit(line) (a); put file(output) skip; end; nextfile: put skip(3) file(listing); revert endfile(input); close file(input); close file(output); end; translate: proc returns(bit); /* translate current line */ dcl (i,j) fixed, xl bit, linelen fixed; xl = lowercase(); i = index(line,'name^i'); if i ^= 0 then do; /* look for ('xxx') */ i = i + 5; if substr(line,i,1) = '(' then do; line = substr(line,1,length(line)-1); line = substr(line,1,i-1) || substr(line,i+1); end; xl = true; end; i = index(line,'title^i'); if i ^= 0 then do; /* look for missing parens */ i = i + 6; if substr(line,i,1) ^= '''' then line = substr(line,1,i-1) || '''' || substr(line,i) || ''''; xl = true; end; return (xl); end translate; lowercase: proc returns(bit); /* translate to lower case */ dcl q bit, i fixed, rc fixed, c char, lc bit; lc = false; q = false; do i = 1 to length(line); c = substr(line,i,1); if c = '''' then q = ^q; rc = rank(c) - rank('A'); if ^q then if rc >= 0 then if rc <= 25 then do; lc = true; substr(line,i,1) = ascii(rc+rank('a')); end; end; return (lc); end lowercase; end xl; input); end; numeric: proc returns(bit(1)); dcl i fixed; i = index(line,'.'); if i <= 1 then return ( c char, lc bit; lc = false; q = false; do i = 1 to length(line); c = substr(line,i,1); if c = '''' then q = ^q; rc = rank(c) - rank('A'); if ^q then if rc >= 0 then if rc <= 25 then do; lc = true; %replace maxrow by 26, maxcol by 40; ,y,z) fixed decimal(15,4); do while(true); put skip(2) list('Type x,y,z: '); get list(x,y,z); tFFACT PLIWFIB PLIXGRADE PLIYINVERT1 PLIZINVERT2 PLI[KEYFILE PLI\MACASM PLI"]MATSIZ LIB %replace maxrow by 26, maxcol by 40;  * * This program has served as a timing test case throughout * * the PL/I develotgraph: proc options(main); %replace true by '1'b, false by '0'b, citysize by 20, infinite by 32767; dcl sysin file; dcl 1 city_node based, 2 city_name char(citysize) var, 2 total_dist fixed, 2 investigate bit, 2 city_list ptr, 2 route_head ptr; dcl 1 route_node based, 2 next_city ptr, 2 route_dist fixed, 2 route_list ptr; dcl city_head ptr; do while(true); call setup(); if city_head = null then stop; call print_all(); call print_paths(); call free_all(); end; setup: proc; dcl dist fixed, (city1, city2) char(citysize) var; on endfile(sysin) go to eof; city_head = null; put skip list('Type "City1, Dist, City2"'); put skip; do while(true); get list(city1, dist, city2); call connect(city1, dist, city2); call connect(city2, dist, city1); end; eof: end setup; connect: proc(source_city, dist, dest_city); dcl source_city char(citysize) var, dist fixed, dest_city char(citysize) var; dcl (r, s, d) ptr; s = find(source_city); d = find(dest_city); allocate route_node set (r); r->route_dist = dist; r->next_city = d; r->route_list = s->route_head; s->route_head = r; end connect; find: proc(city) returns(ptr); dcl city char(citysize) var; dcl (p, q) ptr; do p = city_head repeat(p->city_list) while(p^=null); if city = p->city_name then return(p); end; allocate city_node set(p); p->city_name = city; p->city_list = city_head; city_head = p; p->total_dist = infinite; p->route_head = null; return(p); end find; print_all: proc; dcl (p, q) ptr; do p = city_head repeat(p->city_list) while(p^=null); put skip list(p->city_name,':'); do q = p->route_head repeat(q->route_list) while(q^=null); put skip list(q->route_dist,'miles to', q->next_city->city_name); end; end; end print_all; print_paths: proc; dcl city char(citysize) var; on endfile(sysin) go to eof; do while(true); put skip list('Type Destination '); get list(city); call shortest_dist(city); on endfile(sysin) go to eol; do while(true); put skip list('Type Start '); get list(city); call print_route(city); end; eol: revert endfile(sysin); end; eof: end print_paths; shortest_dist: proc(city); dcl city char(citysize) var; dcl bestp ptr, (d, bestd) fixed, (p, q, r) ptr; do p = city_head repeat(p->city_list) while(p^=null); p->total_dist = infinite; p->investigate = false; end; p = find(city); p->total_dist = 0; p->investigate = true; do while(true); bestp = null; bestd = infinite; do p = city_head repeat(p->city_list) while(p^=null); if p->investigate then do; if p->total_dist < bestd then do; bestd = p->total_dist; bestp = p; end; end; end; if bestp = null then return; bestp->investigate = false; do q = bestp->route_head repeat(q->route_list) while(q^=null); r = q->next_city; d = bestd + q->route_dist; if d < r->total_dist then do; r->total_dist = d; r->investigate = true; end; end; end; end shortest_dist; print_route: proc(city); dcl city char(citysize) var; dcl (p, q) ptr, (t, d) fixed; p = find(city); do while(true); t = p->total_dist; if t = infinite then do; put skip list('(No Connection)'); return; end; if t = 0 then return; put skip list(t,'miles remain,'); q = p->route_head; do while(q^=null); p = q->next_city; d = q->route_dist; if t = d + p->total_dist then do; put list(d,'miles to',p->city_name); q = null; end; else q = q->route_list; end; end; end print_route; free_all: proc; dcl (p, q) ptr; do p = city_head repeat(p->city_list) while(p^=null); do q = p->route_head repeat(q->route_list) while(q^=null); free q->route_node; end; free p->city_node; end; end free_all; end graph;  free p->city_node; egraph: proc options(main); %replace true by '1'b, false by '0'b, citysize by 20, infinite by 32767; dcl (twords, mwords) entry returns(fixed); dcl sysin file; dcl 1 city_node based, 2 city_name char(citysize) var, 2 total_dist fixed, 2 investigate bit, 2 city_list ptr, 2 route_head ptr; dcl 1 route_node based, 2 next_city ptr, 2 route_dist fixed, 2 route_list ptr; dcl city_head ptr; do while(true); put skip edit ('^gTotal Storage = ',twords(),' Words', 'Max Available = ',mwords(),' Words') (2(column(10),a,f(6),a,skip),skip(4)); call setup(); if city_head = null then stop; call print_all(); call print_paths(); call free_all(); end; setup: proc; dcl dist fixed, (city1, city2) char(citysize) var; on endfile(sysin) go to eof; city_head = null; put skip list('Type "City1, Dist, City2"'); put skip; do while(true); get list(city1, dist, city2); call connect(city1, dist, city2); call connect(city2, dist, city1); end; eof: end setup; connect: proc(source_city, dist, dest_city); dcl source_city char(citysize) var, dist fixed, dest_city char(citysize) var; dcl (r, s, d) ptr; s = find(source_city); d = find(dest_city); allocate route_node set (r); r->route_dist = dist; r->next_city = d; r->route_list = s->route_head; s->route_head = r; end connect; find: proc(city) returns(ptr); dcl city char(citysize) var; dcl (p, q) ptr; do p = city_head repeat(p->city_list) while(p^=null); if city = p->city_name then return(p); end; allocate city_node set(p); p->city_name = city; p->city_list = city_head; city_head = p; p->total_dist = infinite; p->route_head = null; return(p); end find; print_all: proc; dcl (p, q) ptr; do p = city_head repeat(p->city_list) while(p^=null); put skip list(p->city_name,':'); do q = p->route_head repeat(q->route_list) while(q^=null); put skip list(q->route_dist,'miles to', q->next_city->city_name); end; end; end print_all; print_paths: proc; dcl city char(citysize) var; on endfile(sysin) go to eof; do while(true); put skip list('Type Destination '); get list(city); call shortest_dist(city); on endfile(sysin) go to eol; do while(true); put skip list('Type Start '); get list(city); call print_route(city); end; eol: revert endfile(sysin); end; eof: end print_paths; shortest_dist: proc(city); dcl city char(citysize) var; dcl bestp ptr, (d, bestd) fixed, (p, q, r) ptr; do p = city_head repeat(p->city_list) while(p^=null); p->total_dist = infinite; p->investigate = false; end; p = find(city); p->total_dist = 0; p->investigate = true; do while(true); bestp = null; bestd = infinite; do p = city_head repeat(p->city_list) while(p^=null); if p->investigate then do; if p->total_dist < bestd then do; bestd = p->total_dist; bestp = p; end; end; end; if bestp = null then return; bestp->investigate = false; do q = bestp->route_head repeat(q->route_list) while(q^=null); r = q->next_city; d = bestd + q->route_dist; if d < r->total_dist then do; r->total_dist = d; r->investigate = true; end; end; end; end shortest_dist; print_route: proc(city); dcl city char(citysize) var; dcl (p, q) ptr, (t, d) fixed; p = find(city); do while(true); t = p->total_dist; if t = infinite then do; put skip list('(No Connection)'); return; end; if t = 0 then return; put skip list(t,'miles remain,'); q = p->route_head; do while(q^=null); p = q->next_city; d = q->route_dist; if t = d + p->total_dist then do; put list(d,'miles to',p->city_name); q = null; end; else q = q->route_list; end; end; end print_route; free_all: proc; dcl (p, px, q, qx) ptr; do p = city_head repeat(px) while(p^=null); do q = p->route_head repeat(qx) while(q^=null); qx = q->route_list; free q->route_node; end; px = p->city_list; free p->city_node; end; end free_all; end graph; nt_route; free_all: proc; dcl (p, px, q, qx) ptr; do p = city_head repeat(px) while(p^=null); do q = p->route_head repeat(qx) while(q^=null); qx = q->route_list; Abercrombie (no street) (no city) (no st)%pg Fairweather 345-W-8th#304 Bloomberg Wao st)U42Eggbertther (no street) (no city) (no st)EP Willowander (no street)w (no city) (no st)'P Millywatzer 345 6th St) Mipviley) Ca. st)D ' Quagmirezer 321 W Q st) Quincyty) Ca. st)" #0tEOFgmirezer (no street) (no city) (no st)#0 if m = 0 then return(n+1); if n = 0 then return(ackermann(m-1,1)); return(acke Abercrombie (no street) (no city) (no st)%p Fairweather (no street) (no city) (no st)2Eggbertther (no street) (no city) (no st)EP Willowander (no street) (no city) (no st)'P Millywatzer (no street) (no city) (no st)' Quagmirezer (no street) (no city) (no st)#0EOFgmirezer (no street) (no city) (no st)#0 if m = 0 then return(n+1); if n = 0 then return(ackermann(m-1,1)); return(ackepoly: procedure options(main); /* evaluate polynomial */ %replace false by '0'b, true by '1'b; dcl (x,y,z) float binary; do while(true); put skip(2) list('Type x,y,z: '); get list(x,y,z); if x = 0 & y = 0 & z = 0 then stop; put skip list(' 2'); put skip list(' x + 2y + z =',p(x,y,z)); end; p: proc (x,y,z) returns (float binary); dcl (x,y,z) float binary; return (x * x + 2 * y + z); end p; end poly;  newnode->next = sentence; sentence = newnode; word = newword; list(x,y,z); if x = 0 & y = 0 & z = 0 then stop; put skip list(' 2'); put skip list(' x + 2y + z =',p(x,y,z)); end; p: proc (x,y,z) returns (float binary); dcl random: procedure options(main); /* test random number generator */ %replace dseed by 899, /* default seed */ clear by '^z', /* clear screen character */ width by 70, /* histogram width */ nslots by 20; /* length of histogram */ dcl xseed fixed static initial(899); dcl k fixed, (n, max) decimal, slot(nslots) decimal; put list('Number of RAND Calls: '); get list(max); put list('Seed Value (or comma) '); xseed = dseed; get list(xseed); do k = lbound(slot,1) to hbound(slot,1); slot(k) = 0; end; do n = 1 to max; k = rand(xseed) * nslots + 1; if k < lbound(slot,1) | k > hbound(slot,1) then put skip list(k,'Out of Range'); slot(k) = slot(k) + 1; if mod(n,100) = 0 then call histogram(); end; call histogram(); stop; histogram: procedure; dcl largest decimal, (i, j) fixed; largest = 0; do i = lbound(slot,1) to hbound(slot,1); if slot(i) > largest then largest = slot(i); end; if largest = 0 then return; put skip list(clear,'Largest Value',largest); if largest < width then largest = width; do i = lbound(slot,1) to hbound(slot,1); put edit(slot(i), ('*' do j = 1 to slot(i)*width/largest)) (skip,f(7),x(1),width(a)); end; end histogram; rand: proc (seed) returns(float); dcl seed fixed; seed = seed * 899; unspec(seed)=unspec(seed) & '7FFF'b4; return (float(seed)/32768.); end rand; end random;  dcl 1 record, 2 name character(30) varying, 2 addr character(30) varying, 2 city character(20) varying, 2 state character(10) varying, 2 zip fixed decimal(6), 2 phone character(12) varying;  code fixed(7), mode fixed(2), zerofill bit(1), version bit(16); dcl /* overlays on default bufferreport: procedure options(main); dcl 1 employee static, 2 name character(30) varying, 2 addr, 3 street character(30) varying, 3 city character(10) varying, 3 state character(7) varying, 3 zip fixed dec(5), 2 age fixed dec(3), 2 wage fixed dec(5,2), 2 hours fixed dec(5,1); dcl dashes character(15) static initial ('$--------------'), buff character(20) varying; dcl i fixed, (grosspay, withhold) fixed dec(7,2); dcl (repfile, empfile) file; open file(empfile) keyed env(f(100),b(4000)) title ('$1.EMP'); open file(repfile) stream print title('$2.$2') environment(b(2000)); put list('Set Top of Forms, Type Return'); get skip; do while('1'b); read file(empfile) into(employee); if name = 'EOF' then stop; put file(repfile) skip(2); buff = '[' !! name !! ']^m^j'; write file(repfile) from (buff); grosspay = wage * hours; withhold = grosspay * .15; buff = grosspay - withhold; do i = 1 to 15 while (substr(buff,i,1) = ' '); end; i = i - 1; substr(buff,1,i) = substr(dashes,1,i); write file (repfile) from(buff); end; end report; reverse: proc options(main); dcl sentence ptr, 1 wordnode based (sentence), 2 word char(30) varying, 2 next ptr; do while('1'b); call read(); if sentence = null then stop; call write(); end; read: proc; dcl newword char(30) varying, newnode ptr; sentence = null; put skip list('What''s up? '); do while('1'b); get list(newword); if newword = '.' then return; allocate wordnode set (newnode); newnode->next = sentence; sentence = newnode; word = newword; end; end read; write: proc; dcl p ptr; put skip list('Actually, '); do while (sentence ^= null); put list(word); p = sentence; sentence = next; free p->wordnode; end; put list('.'); put skip; end write; end reverse; end; end read; write: proc; dcl p ptr; put skip list('Actually, '); do while (sentence ^= null); put list(word); p = sentence; sentence = next; title: proc options(main); /*************************************************************** * This program prepares a title page from a series of print * * files constructed using the TEX Text formatter. This program* * scans the files, looking for headings of the form: * * aa.bb.cc.ee. xxxxxxxxxxxxxxxxxxxxxxx. * * where aa through ee represent one or more heading digits * * and xxxxx represents a heading title, optionally followed by * * a period. Headings of the form: * * aa. XXXXXXXXXX * * are taken as chapter titles, and are preceded by a blank * * line. The operator enters the page size and starting page * * number (or a comma, if default values are to be used), along * * with the name of a file which, in turn, lists the names of * * files to be scanned. This file, called the command file, * * is read with a GET LIST statement, and normally contains the * * names of TEX files with the extension PRN. The output from * * this program appears as: * * 10. MAJOR TITLE . . . . . . . . . . . . . . . . . . . 100 * * 10.1. Minor Title . . . . . . . . . . . . . . . . 102 * * 10.1.1. Paragraph Title . . . . . . . . . 103 * * * * The Table of Contents shown in the "PL/I-80 Reference Manual"* * was prepared using this program, so it provides a good exam- * * of the input and output forms. * ***************************************************************/ %replace fw by 3, /* starting field width */ fi by 2, /* field increment */ fm by 30, /* max field width */ lpp by 66, /* lines per page */ true by '1'b, false by '0'b; dcl blanks char(30) static initial (' '), dots char(80) var static initial ('. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . '); dcl (commd, input, output) file, page decimal(3), fv fixed, fn fixed, lppv fixed, linc fixed, line char(254) var, pref char(254) var, title char(254) var; put list ('Output File Name ? '); get list(title); open file (output) title(title) stream output env (b(1000)); put list ('Command File Name? '); get list (title); on undefinedfile(commd) begin; put list (title,'command file not present'); stop; end; open file (commd) title(title) stream input; lppv = lpp; put list ('Lines Per Page ? '); get list (lppv); page = 1; put list ('Start Page Number? '); get list (page); page = page - 1; linc = lppv; put file(output) edit('.ce','TABLE OF CONTENTS','.sp 2','.li') (a,skip); on endfile(commd) begin; put file(output) edit('.br') (skip,a); put file(output) skip; stop; end; on undefinedfile(input) begin; put skip list(title,'Not Found, Continue? (Y/N)'); get list(title); if title = 'y' | title = 'Y' then go to retry; stop; end; retry: do while(true); get file(commd) list(title); open file (input) title(title) stream input env(b(1000)); put skip list('Processing: ',title); on endfile(input) go to nextfile; do while(true); get file(input) edit(line) (a); call deblank(); linc = linc + 1; if linc > lpp then do; linc = 1; page = page + 1; end; title = ''; fv = 0; fn = fw; do while(numeric()); title = title || pref; fn = fn + fi; fv = fv + fn; end; if title ^= '' then if fv <= fm then if substr(line,1,1) = ' ' then do; fv = fv - fn; if fv = 0 then put file(output) skip; else title = substr(blanks,1,fv) || title; fv = fv + fn; if length(title) < fv then title = title || substr(blanks,1,fv-length(title)); title = title || heading(); line = title || substr(dots,length(title)+1); put file(output) edit(line,page) (skip,a,f(3)); end; end; nextfile: linc = lpp; revert endfile(input); close file(input); end; numeric: proc returns(bit(1)); dcl i fixed; i = index(line,'.'); if i <= 1 then return (false); if verify(substr(line,1,i-1),'0123456789') = 0 then do; pref = substr(line,1,i); line = substr(line,i+1); return (true); end; return (false); end numeric; heading: proc returns (char(254) var); dcl i fixed; call deblank(); i = index(line,'.'); if i ^= 0 then line = substr(line,1,i-1); i = index(line,' '); do while (i ^= 0); line = substr(line,1,i) || substr(line,i+2); i = index(line,' '); end; return (line || ' '); end heading; deblank: proc; dcl i fixed; i = verify(line,' '); if i = 0 then return; line = substr(line,i); end deblank; end title; update: proc options(main); dcl 1 employee static, 2 name char(30) var, 2 addr, 3 street char(30) var, 3 city char(10) var, 3 state char(7) var, 3 zip fixed dec(5), 2 age fixed dec(3), 2 wage fixed dec(5,2), 2 hours fixed dec(5,1); dcl (emp, keys) file; dcl 1 keylist (100), 2 keyname char(30) var, 2 keyval fixed binary; dcl (i, endlist) fixed, eolist bit(1) static initial('0'b), matchname char(30) var; open file(emp) update direct env(f(100)) title ('$1.EMP'); open file(keys) stream env(b(4000)) title('$1.key'); do i = 1 to 100 while(^eolist); get file(keys) list(keyname(i),keyval(i)); eolist = keyname(i) = 'EOF'; end; do while('1'b); put skip list('Employee: '); get list(matchname); if matchname = 'EOF' then stop; do i = 1 to 100; if matchname = keyname(i) then do; read file(emp) into(employee) key(keyval(i)); put skip list('Address: ', street, city, state, zip); put skip list(' '); get list(street, city, state, zip); put list('Hours:',hours,': '); get list(hours); write file(emp) from (employee) keyfrom(keyval(i)); end; end; end; end update; Address: ', street, city, state, zip); put skip list(' '); get list(street, city, state, zip); put list('Hours:',hours,': '); get list(hours); vOOVi2j580_95E5577i-555QiJ7Hj@vhB6>Bio o B7@G@5iiijjb66oB6B44448{5qq0ru5rD]D}|xbaxw)x3~| ~>y=ybx}EE@EEEEEBFxFFFJ:K;HF"GUnnn~NzPiN\]:^L\4^^^o.>mknmnBvOOPgPzv}vvJzz{avdvgvFCGFRcn(Llmr  KNBTSUTϧUTTO6EELOSżONԘLEAҒINSNDBV*V+V,O HRAḺOMMOγHAIδOLOATI͆EFSTҩEFINԪEFSNǫEFDB̬EƖELETŦE̦NāLSŞRASŢDIԣRROҤRRX O.QO҂IELĹILEӿRIOTωO TωOSUEԺOMLIGCOLOPLOTASCREXNPUԅƋNSTNMNKEYNVERSILEԈINŭOAĽSEPRINԛLISԜPOISԓO O/EEFTO0ERGžOKI1KS2KD3IDEXԃORMAOTRACŠAMEהOΕPEθCTPTIOεUԻOKŗRINԑOEELOD5OЮEAćUΊESTORŌETURΎE͏ESUMťSEIGHTNENUͨESEANDOMIZŶTOАWAСAVPCTEGQI TRTRINGPACEYSTEͷCRRACşABHEA EXSINSAARPTLITAPO4IDTȝAIHILůENİRITŲOyy||PF<2(z{PvO5POR R>SToOKKMuMO#QQCQ;0ONEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEReset errorFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filesDisk Read OnlyDrive select errorFile Read Only4444444444pP8,Ʉw:, *^ ËK in Ok Break!9~#  N#F#i`z(i "á *D|<(:h  Kii=96543>7@?2C: *P "D   *D"` 2 2 |<("b  *^ h{K25*\ "d *` |<("k "m *f |!h ( 5Å3wY2?{g!!{G020 8>'_Ͷ5# *` ~? !!@lïg}|< W>yf2?x{g! :5]b!"D:W (C*X W͈>*8> f#p0 2W 2W *Z 8i0"X : (Cd#p83<=(42~ ̿N0"\ Rxͬ3"b ͈8v5 DܔB(7: *# "H *o h"o t##s#r# w# y =!6"P*@"i ͍h*N"P*i "@>*Fbk~####~( 0 833#s#r(4(~,(o 34o *FDM~#+##~#foi`i~#fo??3#u:=(7vl5_=4(#^#V*o i8 >Xlk6#^#Vg$g!dTӁ2 2 ;~"2 12: ~1?>000y((((<.(A>?20>422 42 00+1>2 22122>422~.( :ҿ10ڿ1: ~1(.1>4242}42|42 0~ͧT2:  * |> }e. 042! =8! ~42#= 0e2 t2& 3 > 422 2 U 0~|( (~#42!@}O|G!>: yÉ +=2 <42# : <(=1+~ ( ( (#>d2R 5_%i"T : u:?!m Nʹ5"N !9  +V+^##*N i2"^ !h*N *D%i=ʇ ҇ u:3vO~̅@͔N"O͵NQZ~> v:O͵NGNO=G+3o ͶD3*q "D*T 3j3Ĺg"\ s^ ~:()o #~#. #^#V"D: (>[fW>]f3k3ց5[4@O! N#F#~: (0i 8^ :  * #2 0(0 ~#" &o" >2 !C4~##" +f<2  GN" !C4 30?<=: 0 8* ###^#VQ3: 2 (* " * " 3! N3@jo AOG3 3@jAG3x3H54: * Ͷ5#*Di܋Ԉ0 > 2V D`iÉ "T  "^ !9"^ *T k3 "^ ‰ "D!k3>:yHG+3ȸ#"(<(֌ 츊W5_%i"T : u:G: x(?:  8  .* #^#V*Fi0*s i0!E i0 >mkmN *3%i4z( ͆PYv5"f :h {:5_Þ ͗@~G(%i+K xʱ34,h ~ <25~( 4zH5<3*d *` "D~ #####ô5͗@4É  (4(%i,*Z (4o |4"Z 2W "X >u:~,3(%i+͈N(3E5 ±3* ʹ53  >28O7v+3̈g8Xd88,(^;x8u:=( "Wk6 * 4*@| 5* :8(::G<7:77?0:;G<(: ( ?0=ԈgClO7*@|( ~ &:8(:9G<:7(7:=G: (Ԉgx80/o83͈@(z8*@| :8:: :;o<(&Q%i)+(*@|( ~ :8]8:7: /8 <(͈g{=x8 f3V728go"@%i#ʥv.q95_5P+pfik>5?Redo from start #~o " b98:S i !8@l*\ v! ó9#8.q,9">2?>2 k~, 2 3%i;Cl: ( >?f> f+pfi6,+>2R 35_~+( #3o "8(() 3(,o ~,8>2 9: =8=̼m+3~,(+386,*u 2S %i,5_~,(:S H:2i *@|—v= +3WG"( :S W(:,+kO:i y!':53:ڧTàT+3(,8+39:S Li8ʹ5 #~#ʉ #^#V"P 3 9%iu:%i(+!h;2 "i *i ~"J ;_ : {pm !xV:z;Q+;z+;! : ʇ N#F:#N#F:#! N#F#N#FKGR;*J x:6;6;Wo "J 3O͚N\vO=xdd!==:* ky2 : (;0+Wx("z(Dx(Qzʇ 0S! N#F* PN" " ͪNP!: og~#foN2 (" O! ͚NP͵N" " P͚NPsM3ʄ ڧTAjҼ< E4<;==(ʮ<"kʳ=&< 3:52> 3*` Q )3%i(# ͔@Qvd<5_%i)|4O8>nxGG]GGgnyʭ>q:%i)}x:*i mN5_" =N~a{_&43O3yu=q:%i,5P* ͗@ͦ<} 8O<>2  N#fi-++<́NZx:vO}/o|/g" È:: 07vOzQ{ʖQ4>F {o|P {o|< {o|2 {/o|/}//o|//}o|gQ:7: ͦ%i͈@s#r(&@@s#r~(´535_~)ʴ5%i,&@: "i ~#fo{ ~(s?3"J *i %i(>2R 5_: u:"i "J ?!h!9N: *i ~)(%i,*J %i,2 (?2 !9N!9.,7?: G: Od4}! O@?5*i 3*J %i)>"J : O!hO/2R O:_~o #~o #coo 3͗@2:_{@29,(͗@2;_{@2=~,3͗@2<0/<3u:vOz3u:͋@4+3{>28aͬ!"DN#F#x#*@|̮gN#F#i""b W~ (> f A! A͈g~h# 2 ͬ#~ 8 _8[A_.( A:A: ( < > >2 { 8 A<~ #~#  eP!QG@ #T]~(#A~ (y_ : >2 [ 2 : >2 (> sl{~#_slA 2 AAj0:?+3E4 B >\ A\* "W: O ( H >&{: 8!(#~ ̿N~#( : 8  .(D(E {(* Aa D͈0T]i4! @l!*o i `i"o Bͣ~2>u:Bͣ%i,͗@vO=: : æK PX(*,( 4BK(%i,4(%i,4o z4͈͈`ii4 4!i4^{#V(~#+ qC^{#V( #s#r "2V *F+#~##^#V3(O:V y(W 3 3 4z ' 4͈ > 8={g!C@lW W+Undefined line ƒC4###N#F>!C* +p+q+w:V rC%iB%iA%iS%iE:t x *q *s ix ~0o o 2s <2t 3~YD#ODÑf( u:vO!D@l pfi#~ͧT~ vO"%^͌]Random number seed (-32768- to 32767)*D"q +3(( #~#Yʉ #^#V"q 3y~( ( ( 3(*D*q "D5_+3D(%i,+E"D: 2 2 ͎E!<GE2 TEuE* :hE]lc_o{g}!~E:gg͗@4=͎E!;E2 !" uE!/E:<=g." :Q:T:K(!XE2K"2>20ė@0c>2"!" TE:V2VG #͗@IF>'2,B2Gx=2E2K!E%i͗@{020ͦF44W%iA%iT͗@00(WF2E{2Gz2,ͦF<2E{<2F! WF0E WF`͈@%i,͗@(%i,͗@W~(͚@{42F!E:G2>3%i(ͳF%i)!qE:EF3:0F!Ew#w#w3(,%i(E~)(, 3͗@~,3%i)* F2P!S(0-0u~,3:GF3%i( K%i)*G*G*G!H!J"IyÀIIE A~(>F"G"G"G%i͗@ 42G0!J_^#V ( 0go"G!H"H͑JæI!H"HEÎH©HyʠH~wxʿH,~w-xʸH~wyʿH,~w-HyHywxʿH,w-xHxwyʿH,yw-͑J:G!I0/ė@42WG> #͗@BHx (!*G"!z0 ͈@{z0%i,͗@0O I KsII͈H33 KH~(:G/<2Gi`"G*GI9DEF{ :_É P![͸N͸NvNx: ʪN0 /<͚NͪNNgwL|! KWL8L#4VV.͙LSG~_#~W#~OcLhcGy 'JTeox 2 | y0O )zWyOLx\E( ! w0 Lx! JLF#~怩OêN 4UV~_#~W#~O! ~/woG}_}W}O8CZQ oz y-O0-yOzW{_xG$cCu͍M r5GN4L1rM͵N>2 ͚N!Le]͚NͪN!Le]uM͚NVNæKGN.Ny2IM"DMPX!K!4M! ~#(,Wy0O|g}oxG^Mx Gz CZQO͚N!SͧNGN^V.N44+~2M+~2M+~2MAOW_2M}o|gxG>?02M7y<=M:MxM> 9L{_zWyO)xG:M2My ! 5 L>.! N#G.x(}! Gx(NƀwcMNw+GN/ L.V͵NxNVGͦK! 4NV: : /<! Op#6K͈N=Qʇ ! ~w͈NogO=ʇ GN* ||* * ͸N" `i" ! ^#V#N#F# : Gw#! ~7w?##wy7O! N! N = xGN!PNGNy! yO#x+y+z+{z|QNRN}RN! N GN!PNGNO! y#O+ FOPN=* ʇ ON![NROØO͘K: 2 : ҁ 2 Oaj= Pʇ ͵N0PxN! F8L* 0P|U[N=ʇ P!" " >>O=Ç GOW_͵NNg`P>wL|JLcLz< =GNzPvNzPmN=0ʇ O! ~: ~SR2 yR! ~5#(!x(>)la)0 la= |GQy|GzOP͚NQV|OQDM!>)8)0 wQ= |pQxQ(P͚NPMxOPvN|r QQDM!> 07>{_zW}o|g= fQ|GQ|OOoygO* Q|0P[N͖Qg{oO! ~w! ~G+N N0/<#Fwx+ F+N9N! G>w2 ! S: 2 xnRRүR4VV-SïR>R! RG: ! Vwz# x L! 4SRx( ! w L: R! ~++w! 4# 4VV+6 ! R>!  2R# ~/w! Oyw# q8NsY+  W~w+ ! ~w# GN: LMtTq(GR-Sx  yR! SL} : AҜSxS! N>S: S2 !vNS ! NSR ! N>SSR! T=SSSS! 5 L! >5=S>! N#F#=T>! p+q+=T: bV: LM44VVtT! qA>R?8>R: <=R! 6S! 4Sx ! 5 Ly2 + ~q+ N+~VVwR4VV L-P1E>2 `hO~&<-T+(+3ڧU.PUe(EU3l( L(q(Q( : (>~%\U#lU!mUd(D uU3͗=3V _{_UU mN=!cMO= uUT3!cM!vOķuU3OP=0NT==jMSV: ?VyËV: ZV: ËV: /ËVyÄV! WN:W2 =V: ÂV: !"H*f |¼V: ʩV¼V>2 *HOD2 > YD> YD! WVWN=V! WN*f |V*Hwi!w"Hʁ r !w"H! @l?lO͡W>W͡W(6+͈N>W6-mN#60:J W: XʺXҪW͋[! F :J _ ( x* {uWAq3(E(D( 0(,(. +60{(+6${+p2J ! 6 ͚N* * 2 UXE~W:W0W #~W>DGW" `i" #~+=X-X0OxG=X#~W`xE2Xy W>2 BX|W*XW" `i" ͪN#WZ60̿NZ+~0(.ĿN(!=>"w#6+X6-/</ 0:#p#w#6! #z5YYZzZ͋[{!N=ZZW(p#6! #:i ~ (*(+Y3-+$0 #30 ++w(X(6%Y([@O^Y"W+6%OGYGNS ͏Z=sZCOO[@OZͅU͔U͏Z=Zt#O[@OZ=60# Z60#={ Z/>R0>Rp#= ! ͧN ͘K>4\>ZN#F#* /}o|g0" p#= Zw1_cƤ~@zZrN vH Tʚ;@B''d GB կ())))m\y=m\y\0:v\ (X\V\!vN͚N![ͧNO!9E>2 GNx(<\ʄV Ly͵N\͆PO|" " ܈\vNLM8;M: ]h/]͚N͆PƁ ]ͣK!9]e]JM͚N: ,] LLVͪN|Yt&wz^Pc|u~r1͚NQ͵NM͚N~#ͧN=M͸NͦKRO3!LͧN͚]0PGN!^]!$^ͧN!^Ȇw#O ͸NM:^<2^!$^O ͛K͵N{YOO6+F6!^4~֫ w K!$^Nw+w+w5Jʙ9v" GSљ e͘w>ROhFhiuh!^͛K: w"~M͚N͆PͣKO^ͦKͦKGNvNͦKvN: ^2 !^V]: 2 "~Ie&X4#]I͚N:^͚NͪN4^sMGN\vN: 8 QYuM!K!_V]!^ J;xn{/|t1}=Z}~L~l+3%i,'_2 N@jo G2q#~.89( :000Aj8*Gq#~:000Aj0.(x'o 2q~&0_%$!#y_!6 V+z2 3:R =-a_~(ʷ`3ʷ`2R :d 2a (@*  "b o : ʈ`&*s i(E^#~# : ~(##^^#V# : x DMcMa É #:q #(+Bb: w#_!bq#p.b#O!h##"J q#: y8 :s O0q#p#P= BK6hDh"s +6i W*J ^) ++s#r#82GO~#^#V#ilaP=DM : DM)8)()b *i 7~#O qG#w rG#( #(x='b=25*` <4"b ͈v5`i##N#F# A|<>!fW> f!  ~# G\g(<08 0 _zW!bb dO+d8d(E18 !Md\c#(Cʰcfcʁc;d(ʫc( ʨc>f͈gob~h# !{c7\g_{c~Zchc8#~  A͈gÆb~>\h~( hc >\f~\g 0 (( (>fwh# 6H&c\g($(" 8d( (.(* (& 8_ >_(h+c ~7cM#~+w#y8>f o&DM#hwh#dxEq x+~h A͈gz\ ff_W fW~#!e#(A&eʪe+>(+~#.(E_e\( $(* x#8~$> #W(H~#.(#(, z@W~#>.šd# (%~##(?eT]^###xG#z+ x(~-( >W(Tu:Cx4z#W@l+37(2S ;(,o 3~#N#fi_x d ffhd܈gͿm8 f~#f> f(u:5P* A\nCl* <{e=G> {efz>+f*@| {:8ʑf :7=277 > f:7 (8::<:7( !:̂f((<27Oɯ28:7> lf> lf27:?sl g>  : : (=2 :;=2 > > f:  8g 8:;<(=G: <(2 :KgĈgO͒g:<G: <02 *@|(/ |cMx: ?u:J!k3h! @l:?̐i/2?ʐi: Èg6! > f> f*@|(:8(27ɯ2 \g\g24̒iQi3g ( \gk_ n! " >2 :424f > f͒g> Dhi~ +*#  >ƕo>8g9*B++"^ É Wh͂lWh*H i:pG!P^#V#x*Fi2 2W 2V w#w#"o *F+"T : 2t 2s !w 6#]!$^N!^w#w#w2h og"f "m *# : "H 7i*o "q "s : x*B++"^ ##!' "% 9Eyf8go" 2d " "g " 2R *T |}~ ##~:3o *F(4͈`iv5+"u <\ix"\ !' "% !*D}<( "k *\ "m 2?yf{g! "> 282?>^f@fÈg*m |ʉ *k "D>2 5_! N*q =%i,5_=‡ *q i4N N>2R 5_42R `i j *s i `i"s ~,3~A[?ʑh,( 4+3ʑh%i,ʑh*B,(u:B|4+3(<%i,(64+3o !Ni6hj6h*o  i6h"# "BÑh*B*# {_zW}_|W2l "j 5_"T u ^#V#*j iu ~#~#+kͧN:l !m ͧNěKN͸NO4####N#F#^#Vi`:l *m  #Q: ʁ r+s^#V#0O͸N( "Di`g3"^ *T ~,k33j͹m~#N#Fm^#N#F{zد< #(?RN>\A\"Wkͼmn~#XlN#FkoͰm>Xl!E w#s#r+"P#~ (( "3x, (+~ (#ykE >*% " >2 NH i"% ~É #kͼmͺN f ̒g*s *H /O #i8"H #ʉ Zl*# "H !*s !' *% il'm! "e *q "b *o *b i(~###%b (m_*e ~#fo*q ("e ##^#V#"b *s iLm~###%bN#F#  "L N #*L i(mů#^#V#DM*H i`ii`i}+F+N+n& PY+DM*H hq#pi`+Ål* ;5P~* ډ kmͿm*F ͨmͨm!:l~#N#Fo,- 5P* mPYN*H i G "H *% +F+N+i"% 2>͹mW~2>m4#^#Vk͚@*F sl3%i(͗@%i,u:%i)=(͚@mAn͚@> {kG(*F w#nO>~8xXl#F#fh DMkoͰmmln~n4o]n=O~GCm2>_#~#foFr+3͠Tp%i)C3q:=>(͚@4%i,u:5P%i,* u:%i)͹mcM2>ͿmG=O>x~#F#fh GN#^#V  ( #ѯx<#%i(5_5P#^#V*s i8*Fi0 kN%i,͗@4~oj:͹mG!cMy~4<8yH #^#fk GN#~#foyw# )(%i,͗@%i)=oͼm͂l*s *H >>?f> f#p$grp6p242 >q$g 2͈g!Çb:>>\2> (f+( ~f+f f͈g! 2>O(:>( >\f2>y(X̒i7 !q (H #p=̒i#p +pEqpp>#ap 6͈g! Ap px< *@|>(! 4"D:2yq#f p2 > f$g( prp: ʃgw! >2 ;2 3: 2q+~ ( ! ~f# '+~ ( ( (:qWz/ ͈q>G>f> f>f"N ͲD3r33  "^ *D*N $o r*r"^ *D"q ##^#V#~#fo"Du:͈N( A3k3*q "Dk3!9~#  N#F`ii É >2R ~%35_=NvO" ʃG !h!9 +3"T (;%i(5_s#r#~,  3%i)"T >!=(=( =( !9DM!r* *^ *T k32 2 ~ 2 #+3yw!" +3Gs%i,,(u:B" +3(M%i,(%iA%iL%iLkt%i,o 2 3a D`i" ͈0 T]" i4kt*F+#~#s#^#V"D3(:(( 3ʹ5+3(>2R 5_(HxG-a>2R ~( K~(45_z xG: W_z4BK!s s 2R ~( s+3^s( 3%i)^s%i,ys*q *o i(@N##~w#%b s(t*q "q *s i y_xW `i"s *s i(##~w#%bN#F# Gt(t*o *q i(~###%b t_*s i(U~###%bN#F#  "J N #*J i(tů#^#V#*o i*Fi+++kN͂l*s DM*o *q }o|g"e *H " h`i+"H : (* DM* ͔B9>2 : 9x:p2KÝw2 2 *o DM*e "q *H #* "H i `i"s * |*F+k3͈v5 `ik3ô5v+3(Mu:=(5"Wk* #^#V r+s+5Cl+3(";(%i,+3>,f>"fCl>"f*@|(~ }o|g0 > f+| ͈g8#+vѻ(G %i,`i"@+3#3u:͚@_:pM !PN#F ;v!) ! >>>?k*F Nn>>>͹m4<#N#fi2 N=: , Z v5_5P85W_ |S  " G{,x PX |8C! Oz"y(& (M O{,ypw |8 { (,> ( ( ( (pw |0"( # |8 (,Kw |8 (*@( 46! { (Bk=3ܧTԠTɷw#5}yw:p2K+3(%i,%iRo 2p2J!6"Pwh:K2p*N"P"@*D#|< "D |> 2 *@|B‰ é3{w+3(%i,P%iAë@rCͬ>"{*o *Fix~#"{z:p x=x~,3~#3͗@xů͞xѯ+vM G ! ~#fo" !"| G~,͔@%iA%iS5_5PO* "* i_ q#s#r75_5Pj:͹mF~O#^#Vʽy*Fi00*o i8(Y*s *H iyyXl͹m#s#r#^#V#^#Vy0GOy( ~#óyy>  xklÁy3%i$%i(͗@~, 3+vG #v%i)}4k( g \g:zw# 8l*^ ii |S .z7vM G !' ~( (#~ `i{>O #~ÁNPY!' ůw{:~b =D =­zѯA T!' ~Ąz{) 7vM !& ! ~+n4>7vM ! ~2>*@~=jʸDM'~́z4N#V p(zw w+s#r#6#6DM!" s#r#6:L {́z8*@~( ~( +~#5O ~+~({ 7>*@T]% N#F+q#p##6T]{:~> >w+w!(͒{7?*@' 6#67u:͹m~Y #^#fk_8 N#~:(++@Y y@Y Y  #|~. ̀|7# 2z Y Y > (>  &|.f : W:;8> ff܈g ~*6?# O!!4 #4 #4y" b ><%*@* ͊{! 4%*@#!*H * i#x+3(4* i4! s#r#w 2̧+vG ! ^#V~,4+3o {\ +s#r! w#w! ~#fo!i 8BK>!)0)#))0 0#= }_}la)40#x4"! "!) "!}o|gi8bk:(;i0wDM**ͬ"PYv}o|g*#" wDM**ͬ"PY2L*! ~#fois#r :L( !!& ]{~# x DM_ ! w!( V6 (zw_ ! ~!! ^#V! s#rDMi3"T rC6>ͅxmi *F*o i!_}o|g!^}o|g     *F*o i!^}o|g!_}o|g   *D|<: 4bh*F+6*P~w#!Ȅ2 "B"^ *"}|2 ^#V"g"g"m3##^#V"`g##^#V" g##^#V"rf}Ks#r#Ks#r#Ks#r#Ks#r!zK"*"E 2!X!!""!"D2?2 2 2 25!"720:(=(>(>P2Kc@!" !' "% ! " *"# >2p!O"P:RS<2R!~"PSF#~+w##ʂ+6"P!3S/(+6""P#/( 3 S63S(:MFo 3%i:<(z4{42p"# +3(%i/3%i:<" +*# +"# +:p!с"NP2p<s#r# *  DM= #"F"^ {ozg6h|g}o|8!{ozg6h"# "B"H "^ *FDh}o|g++ͨE!@lW!@l!@l"4͈g!( "ý Owned by Microsoft Bytes free BASIC-80 Rev. 5.2 [Apple CP/M Version] Copyright (C) 1980 by Microsoft Created: 12-Nov-80 Q^+U,EPG;`4EHEeF D]")F ] b =F>FCFF>""N=NNR7O.$x$dZqYYU[[USTZYZUUTnZ%%[%%%% &]&&&&((('='JK K*,* 9::J)f9:E;Z;qLIgJ7H-KsJJ"J-H2HD+l,,,RRRVyWWRRR'^'&Rcn(Llmr  KNBTSUTϧUTTO6EELOSżONԘLEAҒINSNDBV*V+V,O HRAḺOMMOγHAIδOLOATI͆EFSTҩEFINԪEFSNǫEFDB̬EƖELETŦE̦NāLSŞRASŢDIԣRROҤRRX O.QO҂IELĹILEӿRIOTωO TωOSUEԺOMLIGCOLOPLOTASCREXNPUԅƋNSTNMNKEYNVERSILEԈINŭOAĽSEPRINԛLISԜPOISԓO O/EEFTO0ERGžOKI1KS2KD3IDEXԃORMAOTRACŠAMEהOΕPEθCTPTIOεUԻOKŗRINԑOEELOD5OЮEAćUΊESTORŌETURΎE͏ESUMťSEIGHTNENUͨESEANDOMIZŶTOАWAСAVPCTEGQI TRTRINGPACEYSTEͷCRRACşABHEA EXSINSAARPTLITAPO4IDTȝAIHILůENİRITŲOyy||PF<2(z{,+,l,../0+$(!())+---+NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numberSubscript out of rangeDuplicate DefinitionDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflow??FOR Without NEXT??WHILE without WENDWEND without WHILEReset errorGraphics statement not implementedFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file name?Direct statement in fileToo many filesDisk Read OnlyDrive select errorFile Read OnlypP8aGaw:, * ( in Ok Break!9~#  N#F#i`z(͝E E *g|<(:  KE=96543>7@?2C: *s "g   *g" 2 2 |<("  * rE{K2X* " * |<(" " * |! ( 5àwY2bC!!{G020!8>&_# * ~? !!;H͝EDkZ|<ĉ3>B2b͘TC! :X>!"g:z (C*{ ͑3ͫ>*8> ͑B͡L0 2z 2z *} 8͝E0"{ :1 (@͡L8<=(͚~ =+" T*^" ͫ8ʑ&$ܯ"(7: *F "k * ͏D" t##s#r# w# y `!6"s*c" E*q"s* "ca*ibk~####~( 0 8#s#r((~,(’ ’ *iDM~#+##~#fo͝E`i~#fo??#͐(͵R[ͳ;(#^#V* ͝E8 >H`H6#^#VrD̢Cɯ29 28 ;~"2 ::8 ~ ?>ͿFWG#O# ## (S( TO>U#B>!AO ^#V#OZ# >y((((.(!>Z>O29 O(+5>29 MM>O4~.( :0:9 ~ (. >O͚}O|O(~%1͚:7  * |> }e. 0O! 8! ~O#= (ʀ Ï& H> > OÃ#O:(J >28 29 U(~|( (~#O!@}O|G!>: yì +=29 O#ͿF0:000.((~ 0 ( (> :9 <(=7+~ ( ( (#>d2u ͳ;ͣE"w :7 ͐ ! ?+"q !9$  +V+^##*q ͝E" ͟D*q *gͣEʪ Ҫ ͐5+~̠ +"l,3+QZ~> ͑l,3+*OG+’ $* "g*w 3RG37D" s ~:()’ #~#Q #^#V"g: (>[͑B͑3>]͑Bց[O O! N#F#~: (0i 8^ :<  *: #2< 0(0 ~#": &o"> >2= !^~##": +f<2= > GK+": !^ 0?<=:< 0 8*> ###^#Vl.:= 27 (*> " *@ " !> j+;F AOG ;FAGx +!͝E8bk))0_ E( SE͟D*g>3c:< *: #*g͝Eܮԫ0 > 2y $`iì "w  " !9" *w Æ " ¬ "g!>:yHG+ȸ#"(<(֌ 츊Wͳ;ͣE"w :7 ͐G:7 x( :7  8  .* #^#V*i͝E0* ͝E0!h ͝E0 >WJDHWJG+ *ͣEz( ͩPYґ" : {:X_ Ͳ ~G(ͣE+K x, ʡ <2X~( zc<* * "g~ #####Ͳ ì  ((ͣE,*} (’ |"} 2z "{ a͐~,(ͣE++(` *>   >2[j͍R+Dʚ@  ,(^;ʓ͐( ͠3hH6 * 4*c| 5* :[(:]G<:Z?0:^G<(:4 ( ?0=DHj*c|( ~ &:[(:\G<:Z(:`G:4 (Dғ0/Êͣ (z6*c| :[:] :^o<(&v.ͣE)+(*c|( ~ :[x:Z:4 /8 <(D{= ͑Bq2[go"cͣE##SͬMͳ;ͳ,ͩLEkH> ?Redo from start #~ʒ " }:v Œ !;H* ͋R!0 # ͬMG">2b>2 iH~, 2 ͣE;H: ( >?͑B> ͑BͩLE6,+>2u ͳ;~+( #ʒ "(() (,’ ~,>2 : =:J+~,(+6,* 2v ͣE,ͳ;~,(:v c2 *c|S +WG"( :v W(:,+lHO: y!B  %11+(,+:v EÚ #~#ʬ #^#V"s  ͣEÐͣE(+͟D2 " * ~"m _ :7 {I !xVz9QFzF! :7 ʪ N#F #N#F #! N#F#N#FKGm*m ÓQQWڒ "m l,+9+xdd!* Hy28 :7 (0+Wx("z(Dx(Qzʪ 0S! N#F* ͘,o+" " (+͘,!:8 og~#foo+27 (" l,! +͌,3+" " ͌,+͌,)ʧ %1ͿF `OyҐ͌ͣE,ͳ,* Ͳ } 8l,>2  N#fi-++<*Z͓+}/o|/g" ã:7 07+zv.{.OF {o|P {o|< {o|2 {/o|/}//o|//}o|gl.:Z:4 O!B rͣEͣ s#r(A 3 s#r~(ͳ;~)ͣE,A :7 " ~#foʞ ~(Ž"m * ͣE(>2u ͳ;:7 ͐" "m  ͟D!9r+:7 * ~)(ͣE,*m ͣE,2 (?27 !9j+!9.,R:7 G: Od}! O. 8* *m ͣE)>"m : O͟DO/2u Oø;~’ #~’ #KÒ Ͳ 2]_͖ 2\,(Ͳ 2^_͖ 2`~,Ͳ 2_0/<͐+z͐ͦ +{>2[̈́*^!"gN#F#xF*c|,DN#F#͝EE" ͑3~ (> ͑B$!!1 !D~~D#1 2 *^#~ 8 _8v!_.( !U!: ( < > >2 { 8 "<~ #~#  ,!QG@ #T]~(#!~ (y_ : >2 [ 2 : >2 (> H{~#_H! 2 6!ͿF0:?+`&" ʼ8 ʿ8*> à3:< O ( H >&{:= 8!(#~ =+~#( := 8  .(D(E {(*: 6!̈́&$ͫ0T]͝E! ;H!8* ͝E `i" "!^~M͐"!^ͣE,Ͳ +: : $( PX(*,( BK(ͣE,(ͣE,’ zͫͫ`i͝E !͝E^{#V(~#+ ͌#^{#V( #s#r E2y *i+#~##^#V(O:y y(W   z ' ͫ > 8=C!#;H͑3͉3+Undefined line ž####N#F>!#*: +p+q+w:y Í#ͣEBͣEAͣESͣEE: › * * ͝E› ~0ڒ Ғ 2 <2 ~t$#j$C( ͐+!$;H͇LE#~%1~ +": :Random number seed (-32768- to 32767)*g" +(( #~#Yʬ #^#V" y~( ( ( (*g* "gͳ;+$(ͣE,+%"g: 2 2 ͩ%!_b%25 o%͐%*4 :%]lc_o{͂C}!~%:͂CÂCͲ =ͩ%!^%24 !"4 ͐%!/&:_=g."4 :Q:T:((!X&2("2>20IJ 0c>2"!"4 o%:V2V' #Ͳ d&>'2,B2Gx=2EW&>2(!&ͣEͲ {020&WͣEAͣETͲ 00(r&2E{2Gz2,W&(0r&2G{2Ez2-!('Ͳ ͣE,Ͳ &002E{(02G&!&͵ {0oz k!a~ogU,:5 2 +!()9+(+!9)9)+*$(*.̈́*y2)")PX!t(!)! ~#(,Wy0O|g}oxG)x Gz CZQO+!0%+*2.̈́*44+~2$*+~2 *+~2*AOW_2'*}o|gxG>?02'*7y<=R*:'*xM*> ÷({_zWyO)xG:'*2'*y ! 5 Ç(>.! N#G.x(}! Gx*ƀw)R+w+*/(ì23+x2G$(! 42: : /<! Op#6q(+a.ʪ ! ~w+ogU,ʪ ** ||* * 6+" `i" ! ^#V#N#F# :7 Gw#! ~7w?##wy7O! F+! G+  x*!**y! y͛+#x+y+z+{z|**}*! G+ *!**O! y#˜++ +** ʪ ,o+!V8j+͎.v,,(: 2 : Ҥ ͺ,: 7,<,B,|/g}/oU,! : 0ͺ," >27 ́+aj,ʪ 3+ͮ,xR+! Fö(* ͮ,|U*ʪ ,!" " >>Z,ê GOW_3+R+g,>(|((z< *,*,*0ʪ I,! ~: ~ͺ,6{yq(! ~ O+~+ !>-U,Ø,y3+R++6+qo-: O! >̈́/?/2 .! ~5#(!x(>)=)0 == |GW.y|GzT,͌,+q.Ï2|U,K.DM!>)8)0 -= |-xS.(͌,+͌,Ð)xU,͌,*|ʕ K.W.DM!> 07>{_zW}o|g= -|GR.|U,OoygU,* W.|ͮ,*.g{oX,! ~w! ~G+N g+0/<#Fwx+ F+N9R+! G>w2 ! ̈́/: 2 x.[/-/42ͫ/-/>]/! r/G: ! Vwz# x Ç(! Ͳ//x( ! w҇(: ?/! ~++w! 4# 42+6 ! c/>!  2j/# ~/w! Oyw# q8NsY+  W~w+ ! ~w# *: ʇ(z*0q(G[/ͫ/x  .! ͋/L} : A0/! G+ü/: *02 !*f0 ! G+f0͎. ! G+>n0z0͎.! ͋0=G0f0f0f0! 5Ç(! >5=s0>! N#F#=€0>! p+q+=‘0: 2: ʇ(w*4420! qA>R/?8>R/: <=0/! ʹ/! Ͳ/x ! 5 Ç(y2 + ~q+ o++~2w͎.42͇(ͫ,L%>2 `hU,~&-L1+(+%2.1e(E1l( L(q(Q( :7 (>~%1#1!1d(D 1Ͳڔ2 _{_22 *!)^, 1L1!)!+ķ1l,Ę,*1=)02 *kj$24 > t$> t$! 3G33B+Y3! 3B+* |v3*kw͝E!w"kʤ Õ !w"k! ;HHU,4ü34(6++36-*#60:m W:7 @585(4 8! F :m _ ( x* {3Aq(E(D( 0(,(. +60{(+6${+p2m ! 6 +* * 2 4E~t4:T40T4 #~E4>DGC4" `i" #~+ʻ4-ʒ40OxGһ4#~y4`xE°4y d4>2 4|d4è4d4" `i" (+#Wͺ6: 4440Q760=+w7+~0(.=+(!>"w#6++56-/</ 0:#p#w#6! #zҳ5M6I7z)7 8{̟*=)73(p#6! #: ~ (*(+5-+$0 #0 ++w(t5(6%T6(^8;+5͠3+6%́+5*ĺ66_x)7=7w777d7\5_y2 626{_x)6)7=7)7yg7O)7GOw7 * =)7Pe5͉,ѯZ6*7ĺ6y2OzWO2z66/<8! G+ͼ/  76CÓ+F8;+ 722 77t#́+N8;+7=60# d760#={ d7/>`/0>`/p#= ! %+ (>ͺ,(+8?d73+/{_#zW#yO++0(#(+p#8>8>d7N#F#* /}o|g0" p#= d7w1_cƤ~@zZrN vH Tʚ;@B''d G" կ())))8y=880:8 (88!*+!Z8%+l,!T%>2 *x(<193ʈ(y3+N9-́+|" " 9*J)͐)8;͐): қ9hڭ9+-Ɓʞ9!(!99JÐ)+: 9Ç(2(+|Yt&wz^Pc|u~r1+.3+͐)+~#%+=͐)6+$(RO!$)%+:î,*!:x:!:%+!:Ȇw#O 6+͐)::<2:!:O (3+{YOO6+F6!:4~֫ w t(!:?+w+w+w5Jʙ9v" GSљ e͘w>ROhFhiuh!(;(: w"~͐)+-!(́+;$($(**$(*: ;2 !0;9: 2 "~Ie&X4#]I+͸:+(+Ͳ:)*9*: 8 QY)!(!;9!(; J;xn{/|t1}=Z}~L~l+ͣE,;26 N;Fڒ G2#~.89( :000ͿF8*G#~:000ͿF0.(x'Ғ 2~&0+<%$!#y_!Y V+z27 :u =ʫ=G<~(5=35=2u : 2 (@*  " o :7 =&:gv< >w<2 go"  ! " *6 W(/O͟DyN#F#= :"+p+q= *2: (z=* ͝E(E^#~# :7 ~(##^^#V# :6 › DM)i> ì #: #(+>:7 w#_ʟ>q#pͬ>#O͟D##"m q#:6 y8 : O0q#p#y-= BKڴDD" +6͝E W*m ^) ++s#r#82GO~#^#V#͝E=y-=DM :7 DM)8)()> * 7~#O G#w G#( #(x=ĥ>=2X* <" ͫґ`i##N#F#$!|<>!̑Bđ3> ͑B!1  ~# GC(08 0 _zW!$?L?ʞ@Oʩ@ʶ@(E18 !@?#(C.@??ʹ@()@( &@>‘BD>~~D# !?7C_?~?~Dh@8#~  !D?~>\~D~( ~Dh@ >\͑B~C 0 (( (>͑Bw~D# 6Hͤ?C($(" ʶ@( (.(* (& 8_ >_(~D+.@ ~7)#~+w#y8>͑B o&DM#͒Dw~D#Ã@xM x+~~D !Dz\͇B͑B_W͇BW~#!MB#(A&IB(B+>(+~#.(E_>B\( $(* x#8~$> #W(H~#.(#(, z@W~#>.A# (%~##(AT]^###xG#z+ x(~-( >W(T͐Cxz͡3;H+7(2v ;(,’ ~#N#fi_xA͇B͑B@D=JÚ͇B~#͑B>͇B(͐ͳ,* AJH* A͑Bz>+đB*c|žW:[C :Z=2Z7 > ͑B:Z (8:]<:Z( !]C((<2ZOɯ2[:Z> B> B2Z:bH ͒C>  :4 :5 (=25 :^=24 > > ͑B:4  8͂C 8:^<(=G:4 <(24 :(̏CDOD:_G:5 <025 *c|(/͉X)͘T: ½Q:m! E! ;H:bF/2bF:4 D6!0 > ͑B> ͑B*c|(:[(2Zɯ24 CC2WFErD ( CXH_͉J! " >27 :W2W͑B > ͑BD> D͝E~ +*F  >ƕo>8g9*e++" ì DID*k ͝E:G!s^#V#OU*i>F2 2z 2y w#w#" *i+"w : 2 2 ! 6#:!:B+!:w#w#w2 og" " *F : "k ͵E* " " : OU*e++" ##!J "H T%B͚go" 2 " " " 2u *w |}~ ##~:Ò *i(ͫ`iґ+"  2[2b>^͑B@͑BD* |ʬ * "g>2 ͳ;! G+* ͣE,ͳ;ª * ͝EG+ G+>2u ͳ;2u `i F * ͝E `i" ~,~A[?E,( +EͣE,E*e,(͐"|+(<ͣE,(6+’ !N͝EҴDIGڴD*  ͝EҴD"F "eE*e*F {_zW}_|W2 " ij;"w ˜ ^#V#* ͝E˜ ~#~#G%+: ! %+(?+6+́+4####N#F#^#Vi`: *  ͡-:7 ʤ r+s^#V#ͮ+6+( "gi`Â" *w ~,†ZG7J~#N#F>J^#N#F{zد< #(?*ͼ8Ϳ8͠3hH:JJ~#HN#F]Ho.J>H!h w#s#r+"P#~ (( "x, (+~ (#y]Hh >*H " >27 G+k ͝E"H ~ì #hH:J8+ ͑B D* *k /O #͝E8"k #ʬ H*F "k !* !J *H ͝EI¥I! " * " * * ͝E(~###ͣ> ͦI_* ~#fo* (" ##^#V#" * ͝EI~###ͣ>N#F#  "o N #*o ͝E(Iů#^#V#DM*k ͝E`i͝E`i}+F+N+n& PY+DM*k ͒Dq#pi`+I* ͳ,~* ڬ ZH>J=J*i &J&J!ØH~#N#Fo,- ͳ,* WJPYN*k ͝E G "k *H +F+N+͝E"H M7JW~MkJ#^#VXH͵ *i sØHͣE(Ͳ ͣE,͐ͣE)(͵ wJͿJ͵ > {ZHG(*i w#JKO>~8xH#F#fh DM]Ho.J>JØHJK~OK_LJ=O~GCkJM_#~#foFr+1pͣE)C͌>(͵ ͣE,͐ͳ,ͣE,* ͐ͣE)7J)M=JG=O>x~#F#fh GN#^#V  ( #ѯx<#ͣE(ͳ;ͳ,#^#V* ͝E8*i͝E0 DHG+ͣE,Ͳ ~_Lͅ7JG!)y~<8yH #^#fk GN#~#foyw# )(ͣE,Ͳ ͣE)}L:JI* *k ;>?͑B> ͑BáL͢CL6p2W2 ͼM͢C 2D!?:a>\2a (͑B+( ~͑B+͑B ͑BD!1 2aO(:a( >\͑B2ay(XF7 ʟM (H ʡL=FʡL ʩLMÔLDM>#L 6D!1 !ÔL ڔLx< *c|>(!1 "gUyq#͑B ”L24 > ͑B͢C( ʔLL: Dw!0 >2 ;2 :4 2N+~ ( !1 ~͑B# '+~ ( ( (:NWz/ N>G>͑B> ͑B>͑B"q $̀N33  " *g*q $’ ̀N¨N" *g" ##^#V#~#fo"g͐+( A3Æ* "gÆ!9~#  N#F`i͝E ì >2u ~%ͳ;j++" ʞ' ͟D!9 +"w (;ͣE(ͳ;s#r#~,  ͣE)"w >!=(=( =( !9DM!-O* * *w Æ2 2 ~ 2 #+S!" +OͣE,,(͐"" +(MͣE,(ͣEAͣELͣELPͣE,’ 2 ̈́&$`i" ͫ0 T]" ͝EP*i+#~#uP#^#V"g(:(( +(>2u ͳ;(HxGͫ=>2u ~( K~(ͳ;z xG:7 WGP+O( ͣE)OͣE,O* * ͝E(@N##~w#ͣ> |PͦP* " * ͝E y_xW `i" * ͝E(##~w#ͣ>N#F# PͦP* * ͝E(~###ͣ> CQ_* ͝E(U~###ͣ>N#F#  "m N #*m ͝E(5Qů#^#V#* ͝E*i͝E+++DHK+I* DM* * }o|g" *k " ͒D`i+"k : (* DM* ͯ"\>2 : ·T:2nT2 2 * DM* " *k #* "k ͝E `i" * |*i+ʆͫґ `iÆ͍R+(M͐(5͠3hH* #^#V r+s+5H+(";(ͣE,+>,͑B>"͑BH>"͑B*c|(~ ͎]}o|g0 > ͑B+| DÚ#ͩRѻ(j ͣE,`i"c+#͐͵ _:p !sN#F ͹R!) ! >>> ZH*i r+ÍJ>>>7J<#N#fi27 j+  , Z͋Rͳ;ͳ,W_͉Xv  " G{,x PX͉X8C!1 Oz"y(& (M O{,yS͉X8 { (,> ( ( ( (S͉X0"( #͉X8 (,S ͉X8 (*c( 46!0 { (BlH%11ɷw#óYS:2n+(ͣE,ͣER’ 22m!6"sD:n2*q"s"c*g#|< "g͉Xa 2 ͠W* *i͝EʘT~#͠W  xZH͘HUͣE$ͣE(Ͳ ~, ͩRj ͡RͣE)}ZH( rD CʸVw# ͚ØH* E͉Xv ìV͵Rp j !' ~( (#~ `iBX>O #~*PY!' ůwxX:D[ʅ =g =+Wѯd <ʅ !% ^#Vr+s͸R(/k PY ,- !]W`i>T!' ~WxX) ͵Rp !& ! ~+nO͵Rp ! ~M*c~ʻF6]DM'~V4N#V p(zw w+s#r#6#6DM!" s#r#6:o BXVÚ*c~c]( ~( +~#5O ~+~(?X 7>*cT]% N#F+q#p##6T]xX:D[> >w+w!(X7?*c' 6#67͐7J~| #^#fk_8 N#~:(++@| y@| |  #Y~. X7# 2z | | > (>  ͤX.͑B :4 W:^8> ͑B͑BD ~*6?# O!!4 #4 #4y" ʅ ><ͣ[*c* X! 4ͣ[*c#!*k * ͝EáT+(* ͝E! s#r#w 2:^ͩRj ! ^#V~,+’ { +s#r! w#w! ~#fo!͝E 8BK>!)0)#))0 0#= }_}la)0#x"4^! "6^!) "8^!}o|g͝E8bk::^(;͝E0\DM*8^*6^*]"6^PY\}o|g*4^#"4^ \DM*6^*8^*]"6^PY2o*4^! ~#fo͝Es#r :o( !&]!& W~# x DM͐]ʂ ͅ]! w!( V6 (zw͎]ʂ ͅ]! ~!! ^#V! s#rDM}]x]͝E"w ͍#ʹ]>U]ÙE *i* ͝E!;}o|g!0;}o|g     *i* ͝E!0;}o|g!;}o|g   *g|<: D*i+6*_~SF!Fa2 "e" *"lZ|2 ^#V"TD"0D"##^#V"C##^#V"C##^#V"B's#r#'s#r#'s#r#(s#r!'"*"& 2!^!!""!"g2b23 2 2 2X!"Z20:(=(>(>P2(~ !" !J "H ! " *"F >2!_"_:__<2_!~"__F#~+w##H_+6"_!_/(+6""_#/(  _6S(:Mʍ_F’ ͣE:(z{2"F +(ͣE/~_ͣE:" +*F +"F +:!O^"qs2<s#r# *  DM= #"i" {ozgڴD|g}o|8!{ozgڴD"F "e"k " *iD}o|g++%!`;H͑3!`;H!H"WD!K ";^ Owned by Microsoft Bytes free BASIC-80 Rev. 5.2 [Apple CP/M Version] Copyright (C) 1980 by Microsoft Created: 12-Nov-80 ;*********************************************************************** ; MICROCOSM MEMORY MAP DISPLAY PROGRAM VERSION 1.0 (C) 1979 ;*********************************************************************** ; (revised 5/5/80) ; ; COPYRIGHT (C) 1979 ,BY MICROCOSM.ALL RIGHTS RESERVED.NO PART MAY BE ; REPRODUCED,TRANSMITTED,TRANSCRIBED ,STORED IN RETRIEVAL SYSTEM, OR ; TRANSLATED INTO ANY LANGUAGE OR COMPUTER LANGUAGE, IN ANY FORM OR ; BY ANY MEANS,ELECTRONIC,MECHANICAL,MAGNETIC,OPTICAL,CHEMICAL,MANUAL ; OR OTHERWISE, WITHOUT THE PRIOR WRITTEN PERMISSION OF MICROCOSM, ; 3055 WACO ST.,SIMI VALLEY,CALIFORNIA 93063. ; ; DISCLAIMER ; ========== ; ; MICROCOSM MAKES NO REPRESENTATION OR WARRANTIES WITH RESPECT TO THE ; CONTENTS HEROF AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF ; MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. FURTHER , ; MICROCOSM RESERVES THE RIGHT TO REVISE AND TO MAKE CHANGES FROM ; TIME TO TIME IN THE CONTENT HEREOF WITHOUT OBLIGATION OF MICROCOSM ; TO NOTIFY ANY PERSON OF SUCH REVISION OR CHANGES. ; ;************************************************************************ ; ;05/05/80 MODIFIED TO WAIT FOR RETURN TO START SO ; DISKS CAN BE REMOVED. (THIS IS TO PREVENT ; POSSIBILITY OF DISK WRITES IN MEMORY-MAPPED ; DISK CONTROLLER SYSTEMS). KEITH PETERSEN, W8SDZ ; ; 0100 ORG 00100H ; ; ; 0005 = BDOS EQU 5 ;BDOS ENTRY 0001 = CHIF EQU 1 ;CP/M INPUT CHARACTER FUNCTION 0002 = CHRF EQU 2 ;CP/M PRINT CHARACTER FUNCTION 0009 = PRNF EQU 9 ;CP/M PRINT CHARACTER STRING FUNCTION 000D = CR EQU 00DH ;CARRIAGE-RETURN CHARACTER 000A = LF EQU 00AH ;LINE-FEED CHARACTER ; ; ; 0100 210000 MAP: LXI H,0 ;SET-UP STACK 0103 39 DAD SP ;ENTRY STACK POINTER FROM CP/M CCP 0104 22F001 SHLD OLDSP ;SAVE IT 0107 311202 LXI SP,STACK ;SET STACK TO LOCAL STACK AREA 010A 0E09 GETIT: MVI C,PRNF ;OUTPUT "PRESS RETURN TO START" 010C 11C801 LXI D,STRMSG 010F CD0500 CALL BDOS 0112 0E01 MVI C,CHIF ;GET CHARACTER 0114 CD0500 CALL BDOS 0117 FE0D CPI CR ;CARRIAGE RETURN? 0119 C20A01 JNZ GETIT ;NOPE, TRY AGAIN 011C CD9601 CALL CRLF ;KEEP IT NEAT 011F 0E09 MVI C,PRNF ;OUTPUT "BLOCK LOCATION" 0121 11A101 LXI D,BLKMSG 0124 CD0500 CALL BDOS 0127 210000 LXI H,0 ;POINT TO BLOCK 0 012A 0601 MVI B,1 ;"ITEMS TO A LINE" COUNTER 012C 1E4D MAP1: MVI E,'M' ;INDICATE "M" FOR RAM 012E 7E MOV A,M ;GET FIRST BYTE OF BLOCK 012F 2F CMA ;INVERT IT 0130 77 MOV M,A ;TRY TO MODIFY MEMORY 0131 BE CMP M ;WAS MEMORY MODIFIED? 0132 2F CMA ;RESTORE A REG. TO INITIALLY READ VALUE 0133 77 MOV M,A ;RESTORE MEMORY 0134 C23B01 JNZ MAP2 ;SKIP,IF NOT RAM 0137 BE CMP M ;TEST IF RAM FOR SURE 0138 CA4B01 JZ PRINT ;YUP,IT'S RAM 013B 1E50 MAP2: MVI E,'P' ;INDICATE "P" FOR PROM 013D 3EFF MAP3: MVI A,0FFH ;ABSENCE OF MEMORY IS ALL ONE'S 013F BE CMP M ;TEST FOR NO MEMORY 0140 C24B01 JNZ PRINT ;YUP,IT'S PROM 0143 2C INR L ;DO CHECK ON NEXT BYTE 0144 AF XRA A ;CLEAR A REG. FOR 256 BYTE BLOCK COUNTER 0145 BD CMP L ;TEST IF BLOCK CHECK DONE 0146 C23D01 JNZ MAP3 ;LOOP 256 TIMES 0149 1E2E MVI E,'.' ;INDICATE "." FOR NO MEMORY 014B 2E00 PRINT: MVI L,0 ;CLEAR LS BYTE OF MEMORY POINTER 014D 05 DCR B ;COUNT ITEMS TO A LINE 014E C25901 JNZ NLINE ;SKIP IF NOT A NEW LINE 0151 0610 MVI B,16 ;16 ITEMS TO A LINE 0153 CD9601 CALL CRLF ;OUTPUT "CR/LF" 0156 CD6E01 CALL HEXO ;OUTPUT BLOCK ADDRESS 0159 3E20 NLINE: MVI A,' ' ;OUTPUT A SPACE CHARACTER 015B CD8701 CALL PCHAR 015E 7B MOV A,E ;GET MEMORY TYPE CHARACTER 015F CD8701 CALL PCHAR ;PRINT IT 0162 24 INR H ;BUMP FOR NEXT BLOCK 0163 C22C01 JNZ MAP1 ;CONTINUE UNTIL LAST BLOCK 0166 CD9601 CALL CRLF ;KEEP IT NEAT FOR RETURN TO CP/M 0169 2AF001 LHLD OLDSP ;GET OLD STACK POINTER 016C F9 SPHL ;RESTORE IT 016D C9 RET ;STACK POINTER CONTAINS CCP'S STACK LOCATION ; ; ; 016E 4C HEXO: MOV C,H ;GET MS BYTE 016F CD7301 CALL HEXO1 ;OUTPUT MS BYTE 0172 4D MOV C,L ;GET LS BYTE 0173 79 HEXO1: MOV A,C ;GET BYTE TO BE CONVERTED 0174 1F1F1F1F RAR ! RAR ! RAR ! RAR ;ROTATE UPPER NIBBLE 0178 CD7C01 CALL HEXO2 ;OUTPUT UPPER NIBBLE 017B 79 MOV A,C 017C E60F HEXO2: ANI 00FH ;MASK UPPER NIBBLE 017E FE0A CPI 10 ;TEST IF >10 0180 DA8501 JC HEXO3 ;SKIP IF <10 0183 C607 ADI 7 ;ADJUST ASCII 0185 C630 HEXO3: ADI 030H ;ADD ASCII BIAS 0187 E5D5C5F5 PCHAR: PUSH H ! PUSH D ! PUSH B ! PUSH PSW 018B 0E02 MVI C,CHRF ;DO CP/M PRINT CHARACTER FUNCTION 018D 5F MOV E,A ;CHARACTER TO E REG. 018E CD0500 CALL BDOS ;LET CP/M DO THE WORK 0191 F1C1D1E1 POP PSW ! POP B ! POP D ! POP H 0195 C9 RET ; ; ; 0196 3E0D CRLF: MVI A,CR ;PRINT "CARRIAGE-RETURN" 0198 CD8701 CALL PCHAR 019B 3E0A MVI A,LF ;PRINT "LINE-FEED" 019D CD8701 CALL PCHAR 01A0 C9 RET ; ; ; 01A1 0D0A202020BLKMSG DB CR,LF,' 0 1 2 3 4 5 6 7 8 9 A B C D E F$' ; 01C8 52454D4F56STRMSG DB 'REMOVE DISKS & PRESS RETURN TO START > $' ; ; 01F0 OLDSP DS 2 ;ENTRY STACK POINTER VALUE FROM CP/M CCP 01F2 DS 32 ;RESERVE 16 LEVEL STACK 0212 = STACK EQU $ ; ; ; 0212 END :100100002100003922F0013112020E0911C801CD7F :1001100005000E01CD0500FE0DC20A01CD96010EAF :100120000911A101CD050021000006011E4D7E2F01 :1001300077BE2F77C23B01BECA4B011E503EFFBEA9 :10014000C24B012CAFBDC23D011E2E2E0005C2596F :10015000010610CD9601CD6E013E20CD87017BCDED :10016000870124C22C01CD96012AF001F9C94CCD9A :1001700073014D791F1F1F1FCD7C0179E60FFE0A09 :10018000DA8501C607C630E5D5C5F50E025FCD0597 :1001900000F1C1D1E1C93E0DCD87013E0ACD8701F5 :1001A000C90D0A2020202020302031203220332089 :1001B0003420352036203720382039204120422075 :1001C000432044204520462452454D4F5645204467 :1001D00049534B53202620505245535320524554E7 :1001E00055524E20544F205354415254203E202407 :0000000000 CD87017BCDED :10016000870124C22C01CD96012AF001F9C94CCD9A :1001700073014D791F1F1F1FCD7C0179E60FFE0A09 :10018000DA8501C607C630E5D5C5F50E025FCD0597 :1001900000F1C1D1E1C93E0DCD87013E0ACD8701F5 :1001A000C90D0A2020202020302031203220332089 :1001B00034203520!9"1  ͖ !M~/w/w;KP>K,=..Y͖n> ͇{͇$,͖*LsMy|y څ0_> ͇> ͇ 0 1 2 3 4 5 6 7 8 9 A B C D E F$REMOVE DISKS & PRESS RETURN TO START > $CD87017BCDED :10016000870124C22C01CD96012AF001F9C94CCD9A :1001700073014D791F1F1F1FCD7C0179E60FFE0A09 :10018000DA8501C607C630E5D5C5F50E025FCD0597 :1001900000F1C1D1E1C93E0DCD87013E0ACD8701F5 :1001A000C90D0A2020202020302031203220332089 :1001B00034203520!!TIME&T C1988 NZCOM VERS1 2H ALIAS CMDARUNZ COM1CLEDINSTCOM'CLEDSAVECOMCPSET COMEDITNDR COM3FF COM HELP COM% IF COM# JETLDR COMG LBREXT COM@LBRHELP COM(LDIR COMLPUT COM0LSH COMDLSHHELP COMLSHINST COMULX COMMKZCM COM/NAME COM NZBLITZ COMNZBLTZ14CFG NZBLTZ14HZP#NZCOM COMSNZCOM LBRi NZCPR LBR'!"#$%PATH COM&PUBLIC COM'PWD COM(RELEASE NOTd)*SAINST COM&+SALIAS COM>,SAVENDR COM -SDZ COM/.SHOW COMV/0SUB COM1TCAP LBR2ZLT COM/3BGZRDS19LBR4CONFIG LBR*567COPY COM58CRUNCH COM,9DOCFILESLBR :;<FCP LBRR=>HLPFILESLBR?@ALSH WZ ^BCNZDBASE INFDRCP LBREFGTCSELECTCOMHTY3ERA COMITY4REN COM JTY4SAVE COMKTY4SP COMLZ3LOC COMMZ3TCAP TCPWNOZERR COMPZEX COMVQRZFDIM COMtSTZFILEB38LZT|UVZFILER CMDWZFREV COMtXYZSYSTEM IZFZTCJ25 WZ ![TCJ26 WZ ^\]TCJ27 WZ x^_TCJ28 WZ `abTCJ29 WZ IcdefTCJ30 WZ  ghiTCJ31UPDWZ jklmnTCJ32 WZ 3opqTCJ33UPDWZ FrstuUNCRUNCHCOM?vVIEW COM:wXTCAP COMxZCNFG COM0yZHELPERSLZTzZNODES66LZT{TCJ INF |$$TEMP$$$$1@|!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME!!!TIME NZ-COM COPYRIGHT (c) 1988 by Joe Wright NZ-COM(tm) - The Z-System for CP/M-2.2, is copyright 1988 by Joe Wright, all rights reserved. The NZ-COM files and the NZ-COM User's Manual may not be reproduced or distributed in any form. A licensed user may make backup/archival copies for his or her own use only.  SAMPLE ALIAS.CMD FILE FOR USE WITH NZCOM ---------------------------------------- ; This alias provides a response to the DIR command when there is no ; resident DIR or transient DIR.COM. DIR sdz $* ; This alias provides a directory-display command in which the file ; specification is automatically wildcarded. It saves the trouble of ; having to type asterisks manually. D=SD/ sdz $td1$tu1:$tn1*.$tt1* $-1 ; This alias is used with the syntax NAME DU:DIR PW or NAME DIR PW to assign ; the named directory DIR to the designated (or current) drive/user. The ; second token is optional; if present, it will assign a password as well. NAME=SETNAME editndr $td1$tu1:$tn1 $2 \x ; This alias will save the currently defined named directories in the file ; A0:NZCOM.NDR. If a command tail beginning with 'L' (for library) is ; included, the file will be put into NZCOM.LBR so that it will automatically ; be loaded at Z-System cold boot and the individual NDR file will be erased. PUTNDR savendr a0:nzcom;if eq $1 l*;lput a0:nzcom a0:nzcom.ndr;era a0:nzcom.ndr;fi ; This alias will allow you to examine a file. It loads the file into the ; TPA and then uses the RCP peek command to examine it. It will load a file ; from the current directory even if that directory is not on the path. LOOK get 100 $td1$tu1:$tf1;p 100 ; This alias removes NZCOM and restores the operation of CP/M. OFF=CPM=EXIT a15:nzcpm ; This alias provides a shorthand for the CRUNCH command. CR,UNC crunch $* ; The following pair of aliases automates a recursive invocation of some ; other command line. It is invoked as RECURSE COMMANDLINE. REC,URSE if nu $1;echo;echo %< s%>yntax: %<$0 cmdname [parameters];echo;else; recurse2 $*;fi RECURSE2 fi;$*;if in r%>un %<"$1" %>again? ; $0 $* ; The following pair of aliases automates the repeated invocation of a ; command that takes a single argument. It is invoked as ; REPEAT COMMAND ARG1 ARG2 ... ARGN. The command COMMAND is executed ; in sequence, first with ARG1, then with ARG2, and so on. REP,EAT if nu $2;echo;echo %< s%>yntax: %<$0 cmdname arg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p $ap $+p000f PRCP=RCP p $ar PSHL=PSHELL=SHL=SHELL p $as $+s007f PXFCB=XFCB=PFCB=FCB p $ax $+x0023 rg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH pǐZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1iZ3ENVSIZE TABFLAGMSGFLAGSREGPATHROOTSCANCURDUALIAS CMD!~6w;;sR( Bad load address$* ͺs1 :( 0G!-G !2O !:W 2>2ͩ2(:#2$*:ā"ʽO|ʽi&"!#""2"EͅR0ͥInsufficient TPAà ́ a *i ( ( (i ʇ$ ^*~(/:<( (#~*RDM!s#r*ͥ ***> MCL Overflow <*** à 8!Ri ̲ʇri ʇWrG08 0 :G~ ȸ#xc$^!*-DqHTSZ"<'0I7MRA+@i ʲ2;!:WcYMDHCNSA:>A8>P>M:):$:::$ x8 '::Gx0!6L;E6FNTZQDUCPSòi ʲW2i ʲ1ڲ!Ҳ<͜::E!:G;~xL(~xE ~ #>2͗i ̲WA(+(ò22:(~͜i ʲWc B CDEFIL!M%N)P-R1S5X9dFU""   $*  ~#fo7r* :r* =r*+++*  ~ N#fi͗{ ҲG*i ʲW2AHFDTOò͗O:A yGH(+F(!yexD("~0²#xT(~0²# ykyͲ~#H!i ʲw#6}ր²ɯ2i ʲ"(^ i ʲ $ i ʲ!6}ʹ:̓>2!~Ҳ$>^͔/ :(: ͆-@>:͔I!e~ >.2i ʲW2:C(F(U(0N(5T(:Z(CQ(;P(`S(UD²͔:\=7:A͔:i͔!]͔!eQZ͔!f~p+(~ ##pp͔:͔!~ȸ#: i ʲO ʲ w#:(!0!6\] 4 İ !F#Ni ʲWcDUB::A088 دi ʲWn|N(T(Z("Q(F²>. QZ eci 1ڲҲ% ~#>2ͥwarning -- script line format error à ~ (# 08 0Gy0(xɯ22*!:~#W͑ T (\WG(X ( :x(zV#͘ (. z͘ :(x=(_((i ( !8=(T =( :(=i ͘ Է :Gʭ xͼ 9pý*+#~  .?*!  .?*: ( :-(5:2(W(*~(&++##~ +~2>+~=2=GO::*8 :=G:>O!p#q?#8 i , 2>2?[ , 2*!~(/ #~(/ #~( :$ĩ ͩ ͥ Syntax: ARUNZ NAME [PARAMETERS] Runs alias script NAME from text file ALIAS.CMD ý(66:$ʠ ͥAlias "ͅ ͥ" Not Found à :$ʠ ͥALIAS.CMD File Not Found à :$ͥRunning Alias "ͅ ͥ" *!~ ܟ #>^@ͥ ARUNZ, Version 0.9U :!͍ ?[( ( =* : w# !p#q S | ͙ ͙###~ ##~0̈́ ̈́ ˞9###ͥ(Type 3ͥ at ͧͥH)  2C :> &#:(U ĵ ͵ U xy2  ~. #& ::ɯ2 (#* +>?? !4 ( #> (QKi!8BWA8G!8!!8 8*O}o%  M*B( 18 H8KP(#K($(G$(O #( 0 ?~_.,>:0 Яɿɯ q#w#q#w#CCW( < ~(͖o##(CKK$}2W:(͖##x y K~$(=G#~+$O9###~9e>9n90Xe9###w*^#V*~#fo~#fo~.^GR*,^"*~#fo-^t t*|(~*w*|(^#V#~ѷ͙[z0.+*~( 7^#V*"3(S(D !>S((>D2:S(#3(("i2!cb= | 1} 8&08@8!""0|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm R8(>!^ R8(#<`G}iOdR0}w#p#q#AI*||D " |D(" 0 Ox2* O3 ZA]* O%(E##^#V+z(s#r#^#V2r+s Z *~2#"*+"A:2##^#V+z(s#r#^#V:͢ *:w#"*+" *}(+"*6#"͢[ .X<"~2#~2#^#VS#^#VS#^#VS#" *#:w[#s#r[#s#r:*:GE[ ; >2*":g.<"!E| D*):G*x(E[ @(*"2:g.<"!EC K Y X OG3>5>5>>>> rr# F#"##( ###*#~#fo #~#_6+~#ͫ~#  (  ( ( ( y/  ѷO> > >^@ 0  8 ɿ&dI& I].,0g} |> (0G|n&d́& ͕́.,0g} |> (0G||Ͳ}Ͳ|}txtxO>bB~W08!0 88O)8)8 )8 )8 #?{~(Ww#~#(<(+~#(< (( (80a{_jo*oƐ'@'*j $II@ $D H@!@$HH$I$I$D"$I$B!B@$HH@II$I$H @AI "@H"H IDBB$I$HA@H @"$I$B "@!$" !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H H @@ !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H H Z3ENVCLED Lead-in KeBackspacChar LefChar RighWord LefWord RighLine End/ StarLine StarLine EnDelete ChaDelete LefDelete Word RDelete Word LDelete to SODelete LinDelete to EOToggle InserEnter ControRecall PreRecall NexExecute LinESC Menu * =s *q0" " 1* o:]/C (e ͛4 * [ t ͨ 1y2~Ih * " >26 ~#ͨ [MI># > :< DE ES C TA :G!(~# : gK#oFɯ: 0G(C6 7_ͨ   g.g !ҩAH [TAA: H  s7#(  GA{ DE[ ESI TAM  C[* K#G:26ɯ222!!4{6!!~(5s DEFAULT INSTALLATION to skip a fiel.͈ͺ>͊ HEX strings are terminated by 00 or high bit seͻ1 All OK? (Y/n)7N.F* " & Insert vs. Overwrite (Y/N) | 7Y(N66~>N>Y& History recording ON (Y/N) ]&  Erase stored line on exit (Y/N) ]&  Minimum line to save (DEC) ~jͅ(=* w&  DU:DIR separator (1 char) ~ >jͅ[ &  Time string separator (1 char) & Dim video ON (HEX) &.$F > j* ͅ(s#* ~ #&  Dim video OFF (HEX) &!w #^#6~# (+ NOTES ON RCPCLED INSTALLATION Default Settings: The last command line executed is saved to the top of the history stack if it is as long as the minimum size you set. To reduce cluttering the small stack, "minsave" is set fairly high (6). For secure systems, a flag may be set to automatically erase the history when the CLED shell is exited. Key Installation: "Recall Prev" reloads successive lines going back into the history stack. "Recall Next" reverses direction in the history stack. The ESC key accesses a separate control list: ESC-Q quits the shell. ESC-S toggles history recording ON/OFF. There may be more line editing functions available than you want to use. You may assign the ones you like to convenient control keys and disable the others. Strike Any Key -- $g Letters in the table below represent CONTROL KEYS. Those followed by a "#" are shifted keys which are scanned only after the lead-in key has been pressed. Each command must be assigned a unique key. Cursor Movement: ^E Up, ^D Rt, ^X Dn, ^S Lt (Or Arrow Keys)  Quit: "." Skip: To Enter CR/ ESC/ DEL/ TAB Use Key Disable = "-" * ESC Sub-menu: Q - Quit shell, S - Toggle Sav >>> RCPCLED 1.3 INSTALLATION <<< : W Installing memory History Buffer Size &&^#Vͮ byte͒ 1 Set default options 2 Install control keys I Information S Save changes X Quit Choice:7ͨ X . S#( ## #^#VBG ( # 0=#  ~#( ( _($a{_:i2 : 2i!hw#J\<\2y n File: \3xAytͲĿ R ~#  No fil6 >;>2t * [ :2:(" Save Changes? (Y/n)7N7{ RCPCLED (Command Line Editor) Installation, Version 1.3b Syntax: CLEDINST Install CLED in loaded RCP package. CLEDINST Install CLED in RCPxxx.ZRL disk file.;*  ^#V#~m > m" " *  >K ( CLED not found in RCP disk file.; CLED not found in current RCP package.;C\>`* t" !_B" l=2Q\>K * tl!ZRLV#^#F: * * * * : W~(*( * *" [ ( f: %-%( \ XD(K2(B3(:.(-+('>(R(I(N ү$,}lg0ge.||d 008z0 A~( #\ ~#zO*M |( +~(G/ 5 "M |(" |(&~!8!  ͡͡! 6# s#r#6#s#r#s#r#~#\ # ~(# ~ # ###w"*M ~#fo*M ^#V#~ѷ"M 3(G! N Y JXJJ JOGh>.h &d͊& ͊͏͖00|.,0g} @(> 7'd }0= ˀ7cg~080 0bk)))_#{~X08!G0:8A80 8))))O #{a{_Ɛ'@'!O }($. 6# s#r#6#s#r#s#r#~#\ # ~(# ~ # ###w"*M ~#fo*M ^#V#~Z3ENVTYPE>VAR? Te !!m>L#`*3~( ˿w#6 #6 #+> #6(-ͿFile exists. Erase? (Y/n)͝_NʙͿ -*3>ͿSavedÙ>*3>` *3˾~( (%ͿBuffer OVFL ͿLoadedÙ+###*  ^#V#~p>op"1*1$^#V#N#FBG͐( # 0=# (_~#ͮ\T\T<\2 > !h6#ͿDisk Ful> ÎͿFile Not Foun> ÎͿAmbiguous file spec>ÎͿCLED v.1.3 is not loaded>Aw>5{/Ϳ CLEDSAVE, Version 1.1 - Save RCPCLED History Buffer Syntax: CLEDSAVE DIR:UFN [L] Option: L -- Load RCP from file ÙͿNeed Z3A###w"*~#fo"̀(G! NmY ͗X͗͗ ͗OG!,-$.ɭZ3ENVCPSET13 !~6w;;R( Not Z33+$s 1 * 3:2 2 : * ~/C(2PFLF!  *** Bad Device Specified *** y-: G: " Current console data: width.............͛" lines on screen...͛" lines of text.....͛c y-: G: " Current printer data: width...........͛" lines on page...͛" lines of text...͛" formfeed used...( "YES" NOc(x{ ! 6> ! Fx  > > ͅ>^@ 0  8 ɿä&dͷ& ͷ.,0g} |> (0G||}͐ ͔ O>~ B~s 08:8A8 G0G#O 8yH(!X(O(/Q(+xB(8́8~s D 9#6ͬ8 ~s #H((X(${78~s #O(Q 8~s #B {B~0?0 0Obk)8)88 )8 8#{B~s 08!0 88O)8)8 )8 )8 #?{B~0?00O)8 )8)8 #{~0?00 j8#{OF##X (#s#r#(f (y(x f X (~#w ( ( a{_͆ o*oƐ'@'B~s 08:8A8 G0G#O 8yH(!X(O(/Q(+xB(8́8~s D 9#6ͬ8 ~s #H((X(${78~s #O(Q 8~s #B {B~0?0 0Obk)8)88 )8 8#{B~s 08!0 88O)8)8 )8 )8 #?{B~0?00O)8 )8)8 #{Z3ENV\* s 1 jă>2[̓ ={ *#[Os#rͤ::̤::‡:l!~2#Ox2=( ͘ :(=ɯ!="t"v"x!"|"~r!|ͺ> 6:s( (F(#q(K}:|!s2͒(2=22!~G~ > #*t#~ +~/(>8!s2|=~/(>2s>2|>*t~A87>CQy2_(++"M2=ɯ>P>,*x *v *z( >8C}=ɯ>2?/QRX5SlZ"a5AR[ {>*wT]K =2:(+*MT] (T]!5*B"=2ɯ>:(**M "xa:(!="x:(*M##"va!="xa*z"x:ʟ!=b*vb*xj!b[M=2!:(4*MKQp#q#h2ɯ>>25*T]K w![*4 S*"*["*R":<! N[!((,P: > w#=2x2wS=6 #6,#> :(9: (:(%type ? or / for error diagnosis Command (? for help): 2=!͇"2hh: No Entries in DirectoryEntries -* Maximum -:*hh DU : DIR Name - Password  h---- -------- -------- Jh*~(TʊGh~@͢#~*: # -   yhy~͢#yhh=*#~#fo"O5s#r* ###fm hr"2""*S }o"[""["2: : 2( #=!!8!5*t#~2͒#~ =: /2 : /2 :/2! !*t##~(O!!y2 2>ɯ>F###~> ###/HBEO0CS:(F=O!x ~#fo ???????--->!<--- h2!:  =!Q:5!*"ͣ*[KCCC=K%C͌fɾ> O~͢# =Sorry - Wheel privileges are required for this pgm. Can't find System Named Directory! This is a ZCPR3 program which must be installed with Z3INS.  P 2 q ERROR CODE DESCRIPTIONS Code 1 - First argument is invalid. Missing space? Code 2 - First arg interpreted as invalid DU or DIR form. Code 3 - For this command, the DU must exist in the NDR. Code 4 - NDR buffer is full. The append was not performed. Code 5 - Too many arguments. Missing command separator? Code 6 - Too many commas. Only one has syntactic meaning. Code 7 - New command separator was not supplied. Code 8 - Invalid option character. Missing command separator? Code 9 - Invalid separater. It's a command or option char! One of these code values will be placed in the ZCPR3 program error byte (where IF can find it) when an error occurs in a command in the invoking command line. In the interactive mode no errors are reported to the operating system. COMMAND OPTIONS (preceded by "/") / Display Help. If error, show error diagnostic H Toggle display of help after error diagnostic B Toggle audible notice of command error E Toggle visual notice of command error S Change command separator to character O Display this screen of option selections C Display the list of error codes Option commands start with '/' and end with a carriage return or command separator. Multiple options from the list above may be included in any order. For example, /hbeo is perfectly acceptable. Note that if you assign a new separator, the assignment takes place immediately, and your next separator must be the one you assigned! EDITND version 1.1b EDIT resident Named Directory SYNTAX: EDITND [ [ \ ]...] = [name] [,] [password] Typical Commands ( [xxx] means xxx is optional) (DU/DIR)[:] delete Named Directory entry (DU/DIR)[:] NAME add/change a directory name only (DU/DIR)[:] NAME,[PW] add/change name & password (DU/DIR)[:] ,[PW] Change password only (DU/DIR)[:] [NAME], Password is deleted. ? or / or // Display Help & Explain last error. empty cmd shows current NDR. Q or q Quit & return to Z (no changes) R or r Restart with original NDR S or s Sort the NDR entries X or x eXit to Z with .NDR updated Z or z Zap (erase) ALL NDR entries /oo... Other options. Type /O to see them. ~.#~+.##= 2o:]͆iiki͆Y>4}#o> }ͳͶx2y2G~Aڷ2#4͍4͍#º4O Y2:G:O=$$# ( OG=~͇!W=_.:,<>ȷ;ɯ~4ʆ#͍ڊWyڊڊڊڊڊO]y70 җ?7w*#.~*#$~#fo|*#,~*#"~#fo*#-~*#^#V#~ѷ*#)~#fo~"#"pr "z*t}o|gi*z}o|gi"r*p!r *r>*zr *t"~DMx¬y:|*r*zx s#r#*vú*~"*|g}o3""*#"*~}|*"**}o|g"|*";**:|*t"*z"*r"*DM**cʅ yX SORT Pointer Error*~#~*vDM**~#foNq# x *v*"*##"*+"|L:| *vDMNwy# x"**vDM!z *r*zDM+) +) Nq#Nq:|H`*zDM+) +) N#F^#V`i*xHo# xrʃ?2" *#~#o|g6:ʻ~ʺ͇w#í+~#~#  u   y yG>GO> ͢/dB B0͢L D_y^^> ͢{y0͢{> ͢> ͢ Ңʢʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~# x ~+ xկ2!"hM*}o|g"L>2v1*:e7|g}oeb}o|geba{_bkF#"##ʯ###ž*ð#~#foOF##s#r# yx ~#w    *)}'$.+ʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~6Z3ENVFF24>* J |(UF  s2cͭͪ:E4 (v NO Files Found: 0G*B|> }@ {2  Requires ZCPR3$ Requires Z80$(R"4!67(6 0>8 -2^ͤ"6N #~=2J>2E:2L>2K4 (2\(:2A:>?(> 2M*f,Z~0 +"T: SRP "Pd[Td"Nv Find File (FF) v. 2.4 (compatible with Z3PLUS & DosDisk) [ZSIG] !Q~( /#~/#45v Find all files matching a list of file specs on all drives, a specific drive, or a list of drives. Syntax: FF [D: or DIR:]afn[,afn].. [d..][/o..] Options (d) before slash: List of drives to scan Options (o) after slash: :M?!(!|:L!(!| (-v S - :A!#(! |vclude SYS Filesv Error flag set if no files found: 0)Gv. Number of files put in REG x06v. Auto-scanned drives are: ͪT])8A<>_0y6 v. :M?ʗvAll file specs are automatically made wild ("A.B" -> "A*.B*"). ×!Q[6a :?<2?~#, ~!0S8+Q~% /(*2\~A0^0 [Vm"V#~/( (% #Q~/(% P(%E(S &:\G:A2A:M?> (>?2M:L/2Lv Invalid Option -- ~6*X| *V| *| ![Nd"N>2](͔ͣ*N:]<( =<<?E(2]"N%(J(*8":!"<2D=G( ~=( > :^:] O*.~|:]_<####~2I\>?<=!o~͸2@:?G[6!  :[N:] :: :\/O:!:@"F# ( :M(~?# (G:I8B(:A *F>8$*<#"<*:*F S:*4R82Ev ABORT -- Not Enough Memory for Buffers×*<|"(*8"&*:".&͢ ( # N˹#̀K<x2>*.:Dͣ #:D :L:JG:Kv [SP=line ^C=abort RETURN=page] O> 6>  6yl :K=2K> 6( ( (Â:> ::]A2vDisk --w~#fov :]GA6~O͹  (>:6##~ (6#:6~ > 6#*B#"B:D<2D0v l:K<2Kɷ., !G)Kf! ~!4 ^#V!:O:\>͊ v bk# KXx=0 "X2_A ͟ v2b2aMy2c~: # ~2`: 3#:_(= (͐ ( :_ = :b ѯ2a ~2`:` . #  :c:a #* +>??6  #!a4E Z (s#b G~A8@0b2b#~ ~ ( 8#~ y O 052c-͘ ( #( #(  2c2b~ (# 8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯ  q#w#Mq#w#j  j 0X *f1. , "*f~#fo- "d (~(͡ (F#N+##[d͇ # (~(ܸ #~+( *f)^#V*f|(~*fw*f|(^#V#~ѷ% [z0.+*f~( 7^#V*"f|>Z ̀ (*>O>G>Z| ̀ |  !~#~3ENV Sr*l|(9DM)8481*R8)*j|(*rs#r#*n x "j=ɯ*r :t(]:u W*l|(P"v!"x*v+|(?"v*x#"xT] ~#fo͛ R0z *x s#r#~## +~# +r+s :t ͗ Kn +) +w# ͛ +T]Kn! !0>))0 =  x [j :t ͗  +) N#F^#V`i*p+)Kr "hj !j[h*l"x*x<}E +"x"v*v#"v*lR8*xR8( 0k ͷ ͷOG}o|g}o|g|~#  ( 6 ( ( ( ~y/ 6 ѷ> 6> 6>͒>͒/1>.11&d& ).,0g} |> (0G6|O>͒~(͇w#~#(l(+~#(l (( (80a{_͚o*o*jz E - Exact (no auto wildcarding) E - Use auto wildcarding ("A.B" -> "A*.B*") P - No Paging P - PagingExIn ~#  ( 6 ( ( ( ~y/ 6 ѷ> 6> 6>͒>͒/1>.11*Z3ENVHELPC14HELP HELP H?P* p 1 T *"b2`:]/l HELPC, Version 1.4 Syntax: l [dir:][help_:)>aĭ l fn] Default Filename :  l Alternate DIR : !T] (  * |Aͭ } l :  ]!\ :) !>? l AFN Not Allowed e!%1 \͸ ! K  ͸ l Help File  l Not Found Ɓo&g ]fX A :pZa*bMD!"dfN I x˾#GB < !N 1*d2a~: #r ͧ:`>U b (B ,l Enter Selection J 1 r (.^G:V;(=x@G(0,  0*]#ͧ l EOF on Help File*]#~ (:(2 (.(* #~#(:( ( ~ #+ͧ f~# ( ~ #~: ~ ( ((#( ( ͭ B J ##:_=2_~: ]LS"ZB ,:a<2al M=Menu S=Start L=Last ʹ ( l P=Print J 1 r Gʹ x( Pʑʛ.^M*d~::`l ^=Level .=Root *X>2aW(+~(:a==2aW> ͭ > í a #~=2_ɯ2a2_>A2\r l HELPC 1.4 ] l Index *d~2V; #~:(" :V;(:\ͭ <2\l . "]:_G"Xm"Z>2a~(:( #:_GġH:_Gġl EOI ]L(S(*XW>2a(*X*Zz{, 2a~ (& (#( # ( 8{> {x ##s:_=2_b͝ ##~2_> {> _*Z>2W*X2Wr :Ub1*ZW:a=2aú:((O>! G=2Ul  Printer Off Line - Press Any Key To Recheck (Q=Quit) Q r l Printing g2U)~: :W#X >-{XXs> 2U{~::` r l Node Level Limit #!!]<2`]l Loading HELP File ] ;~#.(!8~#.!O> y:` :` , =2`!]o&))):`(l Level :` :a>/ĭ :a> ʭ :a l : !`."d[d͋f< =(l Invalid crunched filel File needs newer revision ٷ  fI 7*bRl Memory Overflow, File too largef<  (ͭ >í ([[ Z [ h [ *:W~(͑ *[( :͢ ͯ &O[    :g:g gɠg [( %-%( \ . D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|. e||dw  w 0/0Gz0 A(. x~( #\ ~#. zO*|( +~(G  "|("|(D~!8? ~2#~2#~2_ :O _  Y !6#s#r#6#s#r# 6#s#r#~#\ #!~Z #~3 !~ #~(   Program Requires Z System$! ~m (#͹ ( ~ (. #~? 8#~#? 0+> ͇ (~(## #F#N> 0:8 A[877?t  *1$x "*|(~#fo͖ 0x *0~_*)^#V*w*|(^#V#~% (G! N "% CK Y ͸ X͸ ͸  ͸ OG>C > > >  rr# r ~#  ( . ( ( ( t y/ . _> ѷO >&d & .,0g} |> (0G. |a{_!o*oCopyright (c) Steven Greenberg 8/31/86 201-670-8724. May be reproduced for non-profit use only..">0g">(gR"|gs!u[R"='v '(> >>>7{ɯ' '''' ҪS:!>8 *:̈́:(:*9:gk~ >2*:̈́~V|g^z :|g~|g~2~g:gOD~(|0g~( G|gn`Ò`/r|gs|gqK Cx>2!8'W'2::::_ '_:Wz?!"!̈́< *T]>w6@>*w}eo0 $: :g:G}/< OT]>(*:GzGK>+|0gr|gsBO ,L}Z8 90)))))l <S.!>8 *:͏:( <2S.*:{('!"2<> 2>2>2õ:g*9:gk~ >2*> 2:͏2~V|g^z ˪8|g~|g~2͋*:g:w|gs|gw*#"#:'2:< (2>2:G:O!y2z={(('7OK88( OC1Cɷ(=G2y2y1>C1d> 2!͏< !͏2*T]66 *T](6*6G L~(ͯ[r|gs:gyg"[:W|0G>2x L~( : V|gn:gn "ͯ*|[:Gr|gs|gp]))))o{g:g#["!I  U|g~2͋*:g:w|gs|gw*#"#:'2:< (2>2:G:O!y2z={(('7OK88( OC1Cɷ(=G2y2y1>C1d> 2!͏< !͏2*T]66 *T](6*6G L~(ͯ[r|gs:gyg"[:W|0G>2x L~( : V|gn:gn "ͯ*|[:GpZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1ǚZ3ENVT F AM#ARBGCO3DSEMEREXIN:LI@NUPA6RE=ROSHTSYTATCVAWHZEEQNE GE1GT LT,LE<> >< >=1> < ,<=s(1(͎2!͞T]~(M<(>(~(+#~!8 = !]/(+~ bͭ(͓ Bad IF Condition͓ Z33IF 1.5 (C) (Type :0a ͓ loaded at !C ͓ H) SYNTAX: (1) IF ARG1=ARG2 (2) IF REGISTER# [VALUE] (3) IF CONDITION ARGUMENTS CONDITIONS: T, F, AMBIG, ARCHIVE, BG, COMPR, DS, EMPTY, ERROR, EXIST, INPUT, LIST NULL, PAUSE, REG, RO, SHELL, SYS, TAG, TCAP, VALUE, WHEEL, ZEX EQ NE GT GE LT LE <> >< > >= < <= Only first 2 letters of condition are significant. A leading '~' negates all forms except (1). (T ~( 7~#fo[*X ##BGiiD " |D  þ(8(8,>0͓ Bad register numberW G͞ʹ͞,z{=( >( 8 ((8þx 5͞ʹ͞x 5͹Y~O#=>(<('͓ Bad operator>< ~=(<>=O#~=(>(>> ~!8-~(?( # (þ!m >?(#:vZ(Q(~#!8, ~!0 ~(\] ʾl] !e6?#!]ͧ 8(#,x( 8͓ Bad tagS!"**~ʾ   !5"!,"ʾU \] F\!c~¾ƀ__ ~#,~!!~ʾ>2z> a > a ? :z(x 55#~( ͓ IF True? >( (  z - D T(#Y( ( ("(,4  : d  : l ͓  IF Overflow͔{(͓  --- Setting FALSE if State!w# ͬ͞͞~x 8Cz͓ Bad number:\ <=_:i_ bkE Xx ~!{ 0z CW ,ʾ͓ Bad register number! ~F#  > #~#fo= !m] #l] !]m ?(O~?(#:/2ɯ=2T_^ _' e k% _<(> 2TOA8[0 W>y za ~#*5*7z*/:,W~(ͣ*A*9*;ͣ~( #\ ~#a zO*k|( +~(G  "k|("*|(&~!8!, L L F !,6# s#r#6#s#r#s#r#~#\ #2f͎ r v2i2h| y2j~: # ~2g: 3#:f( (h ( :f  :i ѯ2h ~2g:g . #  :j:hͤ * >? #? ͤ #!h4 (s# G~A8@0b2i#~ ~ ( 8#~  O 052j-p ( #( #(  2j2i~!8=_.:,<>ȷ;ɯ~ͤ (# 8Wy888 8 8Oy70 ?ɯ  >  | y >G2   5 >K > 0X5 t t #~((# G+~wGO> a  a .  *. /:g ( a >^a @a  0 Oy|N }N a a . g O:gw 2o~08 80>2o#~O+~G:o(VyH(X(O(+Q('xB(4~D 5#2(~#H(&X("{7X~#O(Q(t~#B {~080 0bk)))_#{~08!G0:8A80 8))))O #{~080 )))O #{~080 )O #{~(w#~#(Ϳ(+~#(Ϳ |}O !y  a{_Ɛ'@'  $B@$$$ $IHD@ @ @B$B$$@@!$D@B$D@$"BH  @H"@ A@@H@AA !@@A@  @ @ @@@   H@ @$@$H@@@@"  $B@$$$ $IHD@ @ @Z3ENVQUIETIDPATHROOTSCANCURDU JetLDR for Z-Systems (ZCPR3), Version 1.00 Copyright (c) 1988 Bridger Mitchell st$1t$/K (Rd $}2%$>25$26$ }29$*%$3͇" S":!$(* "~#fo:2w###6:&${t$9c 2!$go"&$2$I":=o܆ !v$w$62#$* !!|2#$![o!/"$!4"%!"!~!?"#('*%/*'"*."-"'""*>2)>2,*o,F!)"/*$w#w!'[#*!~6!/[%!3g!5k:(":(2͓!(~(++##~ +~2(+~=2':'G:(O]"͌ <:$ ʃ ʗ  ʳv$S!!$E(Gs($2&!'>@(a@(X2$$"7$g Uj(PW Hg (C"$3ͼ 8Qy21{($:8$0( S!  d0!!$4:!$:0$ !#$~6+͟!k(@ (ʺ((:0$ (  ͌ :7$>2$@ (ʺʏ(o:0$ʏ ʏʏ  ~#fo"["5:7$ !'G ɯ2$͖½!G""!!7>:$!'a¥:$<2$(ԯ~#ٷS#C%:$((X>TFy20$ ( :"$@ (1ʺʏ   > ^#VS1$͑*[".$!G"*"*ͬ 0Y*ͬ 0@*ͬ M!~ #("SC2S(͛ named-common error code: !#͇" (bc,de,hl:) *G*G*G͇" in file at offset:'RG͇", last symbol: ͍"ü͇" #͛ has bad/unsupported op͇" bios addr. error at 0001!&"*}(q."<$":"$( *P".^#V S[*SS>$[oS !N#FC !"N#FC !$N#FC!N#FC!&N#FC*":)2*"2$*<$ZQd | * ##~2$2NZ-COM*o""͢!f!_!!R ͩ#͌!G|( x *'"":)22**":,2*-"2!s#r#w!"$* ͌!͢!_!͓!u!f!*$[Rz < #"$ͻ [ͬ [$ͬ "$d |(Pd * :0$w!!$4:8$( :7$(>!͘ (4!͘ (*!͘ ( !͘ (!|͘ ( !͘ (x20$:#$xL*G" !+ (AxG!ʘ !ʘ !ʘ  !HØ (-()![= >0[# ##!G~###~#~0@ (ʺʏ :0$ !gG!"*$",$ ###G!G( ~###:0$ !G (#og| >22ÿ~2;$:0$ :#$(!G~#fo"3$Rz͊ :0$  !G#"3$^#V#ͪ 8EX(%(!!"$ 45(EG 45 ;= ( (/!G~O#45(# "3$^#Vͪ 0*3$GR#>22=  ^#V#S@$f.<"B$|+*@$ͬ 8*B$ͬ ?*$"1$:;$G:7$(*.$8BҢ :$$(ҢG8@ (ʺʏ(:0$ʏ!G:0$ :0$ *. 2&$ 2&$:0$!g!u#Z#~?/#~+/*$"$*$ [R0 "$*R!͢ #z{g.<)|ɷ&o)T])))#)}|< ͌ 0!"$6w1N͌ ."P.) .^#VS."͇" Z3PLUS not in memoryú:GN>Vz>!\ d b.> W8>Z3LDR #2$͌ Ϳ E()>Ϳ E(:$(ͬ ͱ {8ͱ  ͌ :$_Ì :$! %<=<<=)ͩ!C$xl ͍" ͌ K$]":$( !  ͌  ͌ <(  ͌ 2#͇" file: ::$ :9$( Ç"Ç"!$F#NxA2#y">:2# > 2# >.$! Aē $ 2#͇" code/data in common segmentý͇" No active environment. First file must be .ENVñ͛ is ambiguousý2:$͛ not found2:$!!$4͛ error seeking to member.ý:7$(ý͛ is not a valid typeý͛ too large or package address error at offset: ý͛ is emptyý͇" _INIT_͇" _CFG_͇" _ID_͇͛" is too large (symbols?)ý͇" Insufficient memoryú͛ is too large!!$4> 22ɯ͛ not defined in env.͛ is empty͛ error in package id͇" ͇" not found in library: ͚!!)Í"/(͚!͇" Syntax: JetLDR [du:][library][.lbr] member1.typ member2.typ ... or JetLDR [du:]file1.typ [du:]file2.typ [du:]file3.typ ... ENV - environment FCP - flow commands IOP - input/output RCP - resident commands NDR - named directories Z3T - terminal capabilities ZRL or REL - module in SLR or MS-relocatable (REL) format with member name: RCP, FCP, IOP, CCP, CP3, DOS, DO3, BIO, CFG or BSX Notes: If first file is a library, extract remaining files from it. An ENV file must be the first loaded. Preceed special modules (DOS, RSX, BSX, ...) with appropriate CFG file. Use Path: :;͇" Root Only: :;͇" Scan Current: :$;͇" Explicit Directory: :'G:(Oɷ!G !KÍ"YESNO: RCPFCPIOPCCPCP3DOSDO3BIOCFGRSXBSXENVZ3ENVZ3T NDR RCPZ3RCPFCPZ3FCPIOPZ3IOPCCP CP3 DOS DO3 BIO CFGZ3CFGgRSX UNKÍ"j &k'G7_ID__BIOS__SCB__BDOS__ENV__MCL__MSG__FCB__SSTK__XSTK__CCP__RSX__CBIO__INIT__CFG_G&kg&kg ɯ>>> >>>!;N{B*D!F2726"SCSCsB"D͉(¦G ͼY(ix^kz(O;G!F͙q"*q",͕X?:6*">*"<[7x s#n7)HqxG80!SNFqq=[.([0)vq"`q"b͖og͖!S&K*q#"q1!Sw#< +w_ S8!Ͳ Ͱ!:F w#Ͳ(:: u#|##Ͳ(4=(N=((-(#(f=(jʌ=ʢ=ʭG!FS6Ky<<*Ss#rKy<<*S^#VS&*S~#fo"(", ( [2( [4([("*!*[>297;[8S8_ͲͰoͰgͲOy=[.( =[0([&!SͲOWͰw# y2;C"<*|( ~G(#[< ~# ~# Ʌo$ɯ*[KF`"SCͩ2:ɯ2:!":6 hg)DM*_*"<*">.*"@`iR*@s#r#"@2*.[2*F*<N#F#"<*>^#V#">>2o͞"oͷ~# ( (, Z#~( ͮ!o4*o:oɯ2o!F$!$:oG0*oZ# " ?2o2o2o2o͞:o("! ~   >2op" = ":o(GVGN q&p%6]"͌ ( w-s.r/":o ʹ w,2o͚S":o ͮ:o*o !o~=2o6( (!o:o(!$G~+ "0Ò:o<2oɯ2o͟œ~œ #> #œ^#~œ#^#Vzʜ)))+"o!*o|}+"o ͟~(<T!$:oG# ( 03 ~w'#~w(#~w)#~w*6+!o4ͷ w,2o͚ ͫV&F%N&]"! #͌ ͌ 8>2o2o=2o"o!"oͫ:o(^[o͌ ~'w!~(w"6#!͌ ѷ( "GOon)f*}R(0!>"o2o "o8>2o2o0b[o !!o4:o(0:o!o~6(,*o~(:o(ͷ :o> w,w,2oKo*o:o_,͌ [o:o(|,Ì  ͌ 0ͫ͌͞ ͮLBRRELZRL2oJ#Ͷ 7:oɯ2o2op"y2oͬ~2o: 3#:o((' ( :o :oͼ ѯ2oͬ~2o:o . #ͬ :o:oc * >?#?c #!o4W!(s#m!G~A8@0b2o#~ ͯ ~ ( ͯ 8#~ ̈́!O ̈́ 052o-/ ͌!( #( #(  =2o2o~!8=_.:,<>ȷ;ɯ~c (#ͯ 8Wy888 8 8Oy70 ?ɯͼ  > p"yp"CoCo͓!( "< ~(D!!##(Co]"߯=Ko]"Ko%}2o͓!:o(D!##x y =Ko~$(=G#~+$O.!!!,!*o"~#fo-!! !(! !*o ^#Vp"|(~(p"$(G#~#$(O*o~*o^#V#~ѷ"o|>Z '"(*>O>G>Z#"'" |E"-"!~#~3ENVp"CoKo]"Y "X"" "OG͍"~#(9 ("$ ( ((({({G>G_> 2#&d"& """002#|.,0g} @(> 7|!#}!##2##2#. 8#O:gE#~(#w#~#(#(+~#(# oF#x(~# y!oͩ#H Ͳ# HͲ#}|8 O !#y  a{_Ɛ'@'!p}($.OG͍"~#(9 ("$ ( ((({({G>G_> 2#&d"& """002#|.Z3ENVLBREXT33sX!1!* P" 2 L* " p͟$$" ." G|2 ![ *  >>: c/LbrExtract, Version 3.3 Syntax: ͣ (#~ : /LBREXT/ dir:library dir:afn1,dir:afn2,... o Options: U - : V/Uncompress squeezed/crunched/LZH-encoded files O - : V/Overwrite existing files /Don't 8C* ~():/ ---> * o" 2 <2 E!Z!F4: (N* ~v F#~#8?2 w#w#: <(+~(' #!~ /#~([ / 5K ̈́4!1< /Directory full!: <( <`(< (r: |* 8(? /Not enough memoryTG2 g" 2 g: <(<(<(ͩ{m͕{/File expansion error/, deleting partial output file ̈́5!ͼ}̴~#͞:Z!=2Z!: DK ̈́: G*  . .  $2 y2Z!ѧ(~N# 7Ï : : G2[ K ̈́x* 4!W( .W$. /Disk or directory fullp{D(G>K B)D2* ^#VlR(/CRC Error 4!("! !:*!(!.!$!4!!!͢K ̈́ 5! ~(U:#.(> K xA:y>::!: <(6(1/ File exists, overwrite (y/n)?͒Y ͅͅ" C !! N#F!ͪ# x !~# -~ ($*  ̀ [ : (S ! 4ȯɷ/Abort requestedpOF##B(#s#r#(P(y(x PB(~#w ( ( =: ( ʅ  <==|r }r yr xr }r LBR:!S(D ! 8x g< 4 3(S(D !!) >S(Y (>D2!:!S(#3(K ("!i2!!!y b= p| 1} 8&08@8!""!0p|S(D(>R *!>2>1>3>g"!^#V#z(X!R8Qm R8(>! ^ R8(#<r `G}ir OdR0}r w#p#q#AI2!"!>B (.͑ h  :!_*!>͑ (h  <2!  < :!(!'  ˾ ' :!( ! !˾  < :!(' !! s#r!! ! ! :! w" !! <ɯ' !!# '  8x z  < Ͱ2i"þ:i"Oy:GGy!!!TIME&DAT*T ||D " |D("T  0 Oxͨ !8 !  ,=;<>_  >  + +###~ ##~0 ˞Ͳ ###E}  2j"͙Cl"q :> &#:j"(ͦ & & Ħ xy2l"̓ q  ~. #w :l":k"ɯ2k"e (#* +>?? !k"4e ( #> ͛ (qKl"i!8bUA8G!8!!8^ 8JO}o%  9M*l"B(,ͪ 8* 8$*n"|(~(,~#fo>=) 0Kl" (#Kl"($(G$(O #( 0 ?~_.,>:0 Яɿɯ̓  q#w#͙q#w#. $ö , "*n"|(~#fo- 0x *n"|(~*n"|(^#V#~͙(G! N̈́+[z0*n"~( 7^#V*"n"|>Z ͆(*>O>G>Z͆ |!~#~3ENV##++>/:~$N_R8 (x y +| . x 8 }"p"!!N#F! e(# x "r" ##t"*r"# !~ #[p" ̀   !N#Fy( p+q+F+Nq#p(!!6#!> '> !~ #>  #~##> !6#"~"!yg)0>g>!or$s%# !"|"[|"O*~" ~W$^S|"*|"͙C"K"̈́Y pXpp pOG _ p>!!!s#r#6y>y<>y>>>y>y>y>y rr# 5~#  ( : ( ( ( 7y/ : ѷO> :> :͘:ͨUͱ/è>`>`/ >.:y  :> : &d& .,0g} |> (0G:|͒:͖:O>`~(Uw#a{_ho*o*.:g~?(O#Ɛ'@'*jɨ"8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. :>9>9>9>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xH!;s#r# x[!;s#r# xp!;: N#F#~#~# x…!:s#r# x¤!' :vs#r#s#r# x»!"% #"*# >>̇*m)~#fo"m!;N4#"F4#y#xy#y#x++~p+~q"S *m 2`Nwy#2aFwx!' yxs#r_#s#r!' yxq#py#q#p!' ~#fo!u!;^#>ڧ>{! w#w~#fo#|g}!; w#r#+|•!:v!;^#V#~#fo!; +z+{PY}O|GB!; T]+~+ x"! T]+~+ x8!; s#r! s#r+| ! ^#V!' q#p>ڇƒ>ڇ#q#pxd>7Ø >2"f7Q2"2v-2- 22!( >7>222>!6 # x!|1}M!qzW:}}|2DḾ#{ozg!~w#|g#|g xW$ >N ڔ Ô> n&)))))ڹ>ü)>?o*oDMyx) N#F! |g}o"m>272>goWo&!9";!q*#{zM*;+}|I}|Nѷ7"!rx N#F#^#V#! s#rW;@Sh;} ' % # ;.' I' c' z;;;;;0;DLg' n$Yaoͩ!"5Copyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only.""s"1m!["*"qv q( >7{"ɧ q(8%8>>qOqGҟ*"  x BqOq!!!!G:"G6,q,p,(y/,w,,DqG7*"BI33ç88 (Oͅɷ( =Gyͅ>ͩͅCopyright (c) Steven Greenberg 8/31/86 201-670-8724. May be reproduced for non-profit use only.."">0g"">(gR""|gs"!u["R""ͭ ͗ v ͗ (> >>>7{"ɯ͗ ͗ ͗ ͗ ͗ mS";Vͪ!">8 *":":"(;Vͪ*"9B:"gk~ >2"*":"~FV|g^z ͪ|g~s|g~2"g:"gOD~(|0g~( G|gn``͟r|gs|gqK" C"x>2"!"8͗ W͗ 2"::::_ ͗ _:"Wz?!""̓!< *"T]>w6@>*"w}eo0 $:" :"g:"G}/< OT]>(*":"GzGK>J+|0gr|gsBO ,L}Z8 90)))))l NͬS"An͞!">8 *":":"( <2"S"An͞*":"1 {('J!""2"ͬ> 2">2">2"%V:"g*"9B:"gk~ >2"*"> 2":"2"~FV|g^z ˪ͨ|g~s|g~2"*":"g:"w|gs|gw*"#""#:"'2":"< (2">2":"G:"O!ly2"z={((͗ 7OK"88( OC"͡ C"ɷ(=G2"y2"y͡ >C"͡ > 2"!< !2"*"T]66 *"T](6*"6G{ L~( ["r|gs:"gyg""[":"W|0G>2"x{ L~( :" V|gn:"gn "" *"|[":"Gr|gs|gp]))))o{g:"g#["""ͩ! "  U4Z3ENVLBRHLP19HELP MENU HLPFILESH?PLBR* 1=T *"2:]/k͞Lbrhlp, Version 1.9 Syntax: V͞ [-[dir:]library] [helpfn] Everything in brackets [] is optional The (-) MUST be included if Lbr specified Default LBR name : % ͞ Default Filename :  ͞ Alternate DIR : !T]m(  * |A}0͞:  (!r~- 2]#!%>!0l ;!m K ,l '͞ Library File  ͞ Not Found!]~ (- !m~ (? !,1=4!-!,e(&͞ Help File ,͞ Not Found:Q(1Z0 *MD!"̀9 Kx˾#GB ң ͞ Sorry only crunched files used with this version."1=*2~: # v:>m  ͞Enter Selection ͧ ͨ (.^G:;(=x@G(0  0*#vͷ ͞ EOF on Help File*#~ͨ (:(2 (.(* #~#(:( ( ~ #+vͷ 4~# ( ~ #~: ~ ( ((#( (   ##:=2~: +LS" :<2ͧ͞M=Menu S=Start L=Last ( ͞P=Print ͨ Gx( P`j.^M*~:÷:͞^=Level .=Root *>2%(+~(:==2%> > y#~=2ɯ22>A2 ͞Lbrhlp 1.9 , ͞ Index *~2; #~:(" :;(:<2͞. ":G"<">2~(:( #͡:Gp:Gp͞EOI +L(S(*%>2(**z{ 2~ (& (#( # ( 8J> Jx ##B:=21##~2> J> _*>2*2͑ :11;*%:=2É:3(O>ͻ G=2͞ Printer Off Line - Press Any Key To Recheck (Q=Quit)Q ͞ Printing 62~: :#' >-J''B> 2J~::  ͞ Node Level Limit#!,<2,ͣ͞ Loading HELP File , ~#.(!8ͨ~#.!O> y:ʷ :  ÷=2,o&)))9:(͞Level :0:>/:> :0͞: !w ҷ=(͞ Invalid crunched file͞ File needs newer revisionٷ,̇ ~9!7*R͞Memory Overflow, File too large"![ (>(s71wͫ ~ v ~ (>> >>>7{7ɯ~ ~ ~ ~ ~ 8( So 8> !>8 *:. :( <2So 8 *:H {(% !"2 > 2>2>20 |g!9 zgk~ >2*> 2:. 2~( V|g^z ˪ |g~ͤ |g~2 *|g:w|gs|gw*#"#:'2:< (2>2:G:'̙ 2z={((7~ 87$ 88 (O͕ ɷ(=Gy͕ >͕ > 2!. < !. 2!66 !GG(6>2GG͓ L~(9 [r|gs[|G0G>2x͓ L~(: V|gnzgn "9 *|([:Gr|gs|gp]))))o{Gg#u"!   [M[Oq [Q [Sq *G:DW~(*Y[I( z :E - &O[]U U U U :Cg:Cg gɠgj [[(| %-%( \  ͨD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g| e||d  0/0Gz0 A( x~( #\ ~# zO*|( +~(GF L "|("?|(D~!8? ~2A#~2B#~2CD:AO  !D6#s#r#6#s#r# 6#s#r#~#\ #!~Z #~3 !~ #~(  Program Requires Z System$!N~͍(#7( ~ ( #y~ͽ8#~#ͽ0+> yͷ(~(## #F#N> ͨ0:8 A[877?bO2ACC:> &#:(xxxy2UC ~. #I::ɯ27(#* +>?? !47( #> ͅ(qKi!8bͨA8G!8!!808JO}o%  9M*B(,͔8*ͯ8$*|(~(,~#fo>=) 0Kͷ(#K($(G$(O #( 0 ?~_.,>:0 ЯɿɯU q#w#Aq#w#͜*1.$à,"*|(~#fo-0x *0~_*)^#V*|(~*w*|(^#V#~A(G! N,"!N#Fy( p+q+F+Nq#pX("!̀!N#F!X ͳ( # x " *# !~ #[    !̀!6#!͊s> '{> !~ #>  #~##> Y X OG>!!!s#r#6><>>> rr# ͤ~#  ( ( ( ( y/ _>ѷOè>ͳ$>. $ &dF& FZ.,0g} |> (0G |~(ͨw#~#(͍(+~#(͍ (( (80a{_ͻo*o~?(O#Z3ENV>s 1 * }(+:]/():i_ )^#VS ~(~2 :] ^: 2 : ==2 !BR"f>L2e!m  h! w#\<6:f(* ~6T!]G! ~ ()G>)(!~.#T#~#foT" " ;*1*1  !͕M!͕M!͕M!͕M* +}(&" (###* #" " : T* }! : =2 G;^#V#S ^#V#{2 i>r:i" `o2 2 22: @!>v ~2 <(! w<(  w<(;*844> 2*8*4+: [ :þ: <(: < .!~#([(͕~#(](  * +" |* y! 5N! 5!]G2 .* }i9* ~(9B* iE* iO* iW* ))+ib/(NK\ f> 4* "}2!\~>i* | G* |("~#fo(p: { )!: < ## ~#8>)> > >  > > > _A[  : : 2   ( (( ( s>2 S>.~#(  >_ͧ}ͧ}ͧ}ͧ}: (00 !>j 8B= 0:8|(l>xmR(8'2x2 _WR(8yT ^>tC } 8 .8*82 : <7! <#(0:o~<(=2#F#~<(=2 x<(= 8Go&0$?" R~(< * #" =* #" [ S   (# ?( # ͹>-;;; >=Jan$Feb$Mar$Apr$May$Jun$Jul$Aug$Sep$Oct$Nov$Dec$Library: $ ERR!$Library file not found.$ +++Library file is corrupt+++$-- --- -- $[more] $Created $Modified $.00k $ .12k $ .25k $ .37k $ .50k $ .62k $ .75k $ .87k $ Stored $Squeezed$Crunched$ Cr-lzh $(-> $ members: $ matched$, $ active, $ free, $ deleted, $ total$LDIR-B, Version 2.20 SGG Syntax: LDIR {d$ir:}lbrname {afn.typ}$ Name Length Method Created Modified Comments $ Z3ENVPs* $}($."&ͨz!N@#* ;" 27Ĕ2 ͟~(\ͪ ͟~(lͪ ͮ :m ($>+ T]++~/ +~!0pDMd~ B ST]+">,!+("͇LPUT, Version 2.2] (/͇ Syntax: ͅ(#~ ͇LPUT͇ dir:lbrfile [dir:afn1.typ,dir:afn2.typ...etc[ [/]+nn]] Omitting the input filespec results in an LBR directory format check and CRC update. An input filespec of dir: defaults to dir:*.*. If "lbrfile" is not found, LPUT will create it. In that case, an input filespec of "/nn" makes an empty LBR for "nn" members and an optional trailing "+nn" creates one with "nn" extra member slots.% 0 -͇ No ambiguous LBR filenames allowed. 226 ͓ͣC:< 6L#6B#6RI-(]:m (1K:͇ Making library:  >,>26} %͇ No input file(s), aborting! :|22:m!0`*$$"5͇ No input file specified, checking LBR directory format & updating its CRC.5}ʨ"8l̈́ͣC`b I- (E*":2! ~:2!=  #<ÞI- (kK`͇ Input file  ͇ not found.: > K:͎<͇ Aborting, saving what we have...5" [*+r+s!b ~#K:͎<!!~¨ #~ ¨#¨#¨#~G#fʨh!!: y ́  D+}( < (͇ No more room left in K: =͇, reorganize it or create a new LBR file.> 5K: =͇ is not a valid LBR file, not supported, aborting. ͇ Putting file K`͎ c*}! č͇ in library,*}(9O*o # K:͎<# y( K`͎bv"K:͎<*[!(ʐ*+}" r*~(x͟>, o͟~(hKB 0_:6< 265"<!!N#F!:2 y( #<ͳ (*l̈́͞ "ͮ K`͎b !!¨> 2 ¨ **!N#F#^w#VwO!:2:6<(:m! # y( #<ͳ (`vѷR<(DM! ICCC 6# 0K: ͇ closed, operation complete.-͇ BDOS file access error, aborting.= ̈́{*$$""ͥ(/""* { ($j"Ky=( * =:* ͒ (= BK"*"?5  : `i?*:* (=( BK"*"?  : `i?*!!M4# 4#6xAi&!>:!~X, >?bk   /#S!N#F*B ! N#FC<"> ~<"ͽBK*j{(#B8:͇ Insufficient disk space for K`c >,:[8S*"8g !27 2[ # "N#F*~#foB( 55>27* "[{S> g  D:7<*KB"*"m/ w#dg*"4C2̈́I*$$ͥ(K2 "2*4͟>, %͟~(KB 0̈́͞ "4!~ ̾ [2{ʜ K:͎*j}(!w #6 #wS 6CB <<:!w+Fw+Nw=2`i))+ y(:(#:m =͇ for !͇ members.:(ͧ[!m~ +:u#6?#~6?#G:xq:Z(< 15! 6!~v ##< #(0~<(=#?:(-!Z:3I-( :G: !!( !6#4͎ "C!͎ "C:! ͳ :ͳ :ͳ !?::g::o)))DM!:!MDGͽ +x0#w#:!͎ s#r###q#p (00/00/00)"SCC*<"} *R"!""- x """~G &# x *#""*R8*[0Fwx# x [*7R8#"[*{ozg""![ƀo&S#~<#~#N#!N(0dG>m< # y8#AN66o$W_z;;;:S(83(D ;82x -*f<(  MM?f< 3(S(D !>S(!(>D2:S(#3(("i2!Mb= | 1} 8&08@8!""0|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm R8(>!^ R8(#<H`G}iHOdR0}Hw#p#q#AI2" (#Y 0:_[0<2͜<:(! ˾͜:( ! !˾͜<:(!! s#r!? !͜ !͢:͢w"͜! <ɯ!#8x z <ͺ2b:bOy:GGy!!!TIME&DAT*||D " |D("' x 0 Ox~!8 !x ,=;<>_;I > ͝ ###~ ##~0˞͔###͏S2cͣCeG:> &#:c(||xy2eYG ~. #M:e:dɯ2d;(#* +>?? !d4;( #> }(qKei!8bA8G!8!!848JO}o%  9M*eB(,͌8*ͧ8$*g|(~(,~#fo>=) 0Keͯ(#Ke($(G$(O #( 0 ?~_.,>:0 ЯɿɯY q#w#ͣq#w#͔.$Ø,"*g|(~#fo-;0x*g|(~*gw*g|(^#V#~ͣ(G! N͎[z0*g~( 7^#V*"g|>Z q(*>O>G>Zmq |w!~#~3ENV##l^#VSo#^#VSq 005*o8W+}(z i`:l()= i_.!k+ *i"v!yg)0>g>!or$s%# !"tO*v ~W$^St*tͣCxKx͎Y X OG _ >#>$!z$!!^#V#~ѷ>">!!!s#r#6(>>/>/>>>> rr# jjBK!>jB0 ?j= ͍~#  ( ( ( ( y/ >> _>ѷO> > >.  'MMdM M}^R<0 > (0G B~0?0 0Obk)8)88 )8 8#{~(w#~#(ͺ(+~#(ͺ (( (80a{_*.:g Z3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǼZ3ENV =LS : CMD:F   - ڨ , ;:/=.... , ;:/=.B0:LSH-HELP991 R. FriefeldUSR>1{\.TCAP͞.SH STAC{ 8[k#xAy>:# !] >? 6>2é!\~2^#~ (/ x2\e :i2_ͣ B:_2i:^ ͽͣ (Ͱ!6#: Gͫͼ"!\ :_6#61[ sͣ=:"w!+'wx<2\y2i2_#]~#!'s'~!686#~2"IE6ͣ "j[dRs#r^#V*d$: ͢*k#K >A86# x ͼ*k#"d"\ ͐ͣ.LOGå:͢" [ #R[k#SdR#"d [jR6+~# *d>K ʼ.DISK FULå93 0:>-(>+(ͣAy(:*ͣ_~# ȃ,FˆͿ3 Strike Any Key --,\H;<;\2y ;!h6#(_!/ 8 ,0g}'|0(3 9~#sv#1 "y#R8*d"y#R0Sy#:"2;2l#:! ! "7*d"{###:G0>( :` ͻ  A :#2#2#!!: 8q2#6!-7 !: !h>6O N#F> >>>2:vz o p j -* SC di lS ,  f\ wC Kj(z Ϳo ~o ͺ(ͿͿ~ (y(z~ (+ͺ#  ~!dx(!l"HXy9 8 xKbW !l"O Q,  zx0 , 6x=z0կO_:b<(G~(( ( #3>͵y Kb͆ J ; !k"F#OW!k"p[ # t D , V ç V ' "{#(͗ V A ͦ ͦ xðy Ͷ A V K{# *{# V A *{# DM V  D } A O *{# R--:k"80K{#YP =}H V "{# "{#*{# b V 1 A 6AV äV ' (' D :"=D *{# "{#A V 1 ( *{#͆ *{# D V 1 :"=(! "{# ͆ *{# x2<"{#D "{#͵D *d"{# *{#~(K;y=((C; ("{#C;*{#:<(=2< *{#l"~ ( (x2k"2}#!k"N #>=(G6#*{#Kk":}#( 8+!l"[{#( ~ :k"1 *`6*{#6 #6 #" BR8 <~# ~[dR(++R8~ #G *d>Kf+" *dR( +~ ( (# U ѯ6#"~#S#C#ɯ*~#[#K# a V K;yG*{#͜    ("{#:<G  ͜ D D 2<:<.gyo,:< õ> > 0@a{_ 0@>  !^#r~#(08 0 OzWWz:#G>dV *y#"{# :"=ʧ=ʧ*{# "{#͆ (G (D ê' V ͬ D "{#A *{# 1 *{#+~#( =ɯ+~ !l"~( *{# 1 ˾ !l"˾# ͣ -a yx2k"[{#5 m :k"G B !l":#G[#[ ~ O } o:/2 3[Back!  ! 3[Fwrd"7@a ͥA:/2} !͸+3[Line Seq ~/w(3N]3FF͵L i n } 3Text Lines: G:c8x(O2"GC;0A !(͵>!:!O:".gO :&G:i_(Oõ >-͵:<G:cG͵ !lͩ~q#18":00G!l"l(6!lɯ xO;ѷ+#~ (~#   !p} #3[Q Clear]͓!"ka 2x#V Cr [k*k"&##B0#"k!m*{#~( ( :x#73 [Q Full]7?V ͟D A *k|K{# Kk[{#!m7#, :>G>OÕ͵~ ȷ!=!"6>2;:=V :$ 1 !<:%_:;8 >.~ #m ͕a A[ :#_:aʔ>2q#m ͪ"o#(: y=( 2q#+ ͪ . # "o#:#(O!0 !q# ˎ!4͗!\$(áH:q#!\Ɓog"m#=+ ~ ( :(=(, #  * ^#V#~St#*t#~#$(=G~#"t#$(O:q#(*r#B(Cr#͗͌(:l":(.( *.**.COM~(:(*y#" "{#êk |\`fC %"G7dl Ck  $ej+ >~# ͺ ~ (~ (+ͺ# +yQxQͺ(~;(ݷ(Sxx(  f!k"p[ t l _l l*dlͬ ͗ yl GlWl\b l1 J ͵\fl "{#J -fJ `'͵y= x(ؑG> >:l *{#ʂ "{#=:H l "{#rN:=r:$ 5forͥ>f!͸ rz:/2r>:09:G:+>># 2x#lC*{#l͟l#C*{# "{# SØ D}00 |D!Y!#i#~#F=:Ŀ!#:>(~ >$8'<'w͈:> ͔:#>oĜo0*X ^#VO> ȯ>BGii#~#)3!#( !#=(!#J~P))3> V#^#F#N#y(}<8o G.*#*#:#*#*#5!#ͩ(*#~(!#ͩ(!# ͡(y~# ^#V#:#*#[#[#R*#:#W~(*#[#( [:#&O[#6666:#g:#g gɠgK[#(]%-%( \  D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|e||d 0/0Gz0 A(x~( #\ ~#zO*#|( +~(G' - "#|("#|(D~!8? ~2##~2##~2##;:#O ; !#6#s#r#6#s#r# 6#s#r#~#\ # N#F!~. N#F-1 ~(# ~ # ̀62#ͬC#͔:> &#:#())xy2#͔͆ ~. #͚:#:#ɯ2#h(#* +>?? !#4h( #> (QK#i!8B A8G!8!!8a8*O}o%  M*#B( 8 8K#(#K#($(G$(O #( 0 ?~_.,>:0 Яɿɯ͆ q#w#ͬq#w#O>(~>(X6 ( w#>(J~#( ><~(>.x=(K+x( w+ w# ###~###w*#|("~#fo( ~7ͳ(FG~(#9~;( (>;( ~#(6ͳs#r~# >*#^#V#~ͳ~#fo~*#1.*$,*"*#~#fo-*7XG*#^#V#~#Fѷ*#|(~*#|(^#V#~ѷͬ(G! N͗r[z0*#~( 7^#V*"#Y X OG>ѷO> > O> ~( w#o*o# $D@B A @ BA"""DDAHD@@H$ $$@A H" B!@$"HD@"BI$DAUUUUUUUUUUUUUT$HB D!!$$ " @@ IHI HI$I$ D$@"$H $!"I$I!$II$$ !$ @$A$ BAD @@$"@ I $BB"D!$D D$ !$  $I I"A "DI"AB! $  B$"@BA$ $AHI "H"$A$$BBI  @H@@  H BIUUUUUUUUUUUUUTI @I HD$I$I$!$$$@@$$!$"$$ IHD $I$II$!$ $@  @!DD B@ IA@@ @@  @@ D "@@A@@@  @@ @@Z3ENVLS :]/ksn *h <*  " <[  #~v"j ~-"l ͦ >>> LSH 1.1 CONTROL LIST <<< 7Ҿ2ͱp:<Ü:ͬ͑~#-**l (?( ((~ ~~~@bb[ <i[͉_@!_@_1([<(IG( MR(͉iͦDEͦESͦTAͦCͦͦͦͦ :G!(~#ͬ:gKo : 0GC%.& *j ͦRecordinPl#ͦInserPl####ͦString Search ~( ͦFORWAR ͦBACKWARl*j $ͦMinimum Save ~1͉ͦ ~(ͦONͦOFF> ͉*B >+ Ⱦ =( #(=ͬ~#( (͉ͦNeed CRT with at least 23 lines0ͦLSH 1.1 must be running when HELPLSH is runMM*j ~{n ͦNo ZCPR3 ENͦ Strike Any Key --Ýͦ HELPLSH 1.1b - Command Key Display for LSH, Version 1.1 Syntax: HELPLSH Looks for LSH command table in memory. LSH must be active when this program is run. LEAD-IN KEY #1 LEAD-IN KEY #2 LEAD-IN KEY #3 LEAD-IN KEY #4 ENTRY KEY Backspace Char Left Char Right Line Up Line Down Word Right Word Left Line End/ StartLine End Line Start Up Screen Down Screen First Screen Last Screen Delete Char Delete Left Delete Word Rt Delete Word LefDelete Line Delete to EOL Delete Command Insert CR Insert/OverwritUnkill DeletionUndo Line ChangControl Key Clear to EOF Yank Line to Q Yank & Kill LinInsert Q & CleaInsert Q Clear Q Duplicate Line Old Line SearchToggle DirectioRecall Next LinAuto Line RecalToggle Save Quit Shell Toggle Mode Warm Boot Shell Pause Text Lines/ TimRepeat Token # Set Place Mark Go To Next MarkClear Markers Complete Name HELP (Run Cmd) User Patch _( /:w *| [~ [ x [  [ x *x :u W~( * [z ( ́ :v ' 4 &O[ \ \ \ \ :t g:t g gɠgq [ (̓ %-%( \ ͎] D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|͎e||d  0/0Gz0 A(͎x~( #\ ~#͎zO* |( +~(GM S  " |("p |(D~!8? ~2r #~2s #~2t u  :r O    !u 6#s#r#6#s#r# 6#s#r#~#\ #* 1" |>Z ; (*>O>G>Z7 ; |Y A !~#~3ENVa{_ɬ %-%( \ ͎] D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|͎e||d  0/0Gz0 A(͎x~( #\ ~#͎zO* |( +~(GM S  " |("p |(D~!8? ~2r #~2s #~2t u  :r O    !u 6#s#r#6#s#r# 6#s#r#~#\ #* 1Z3ENVLS * )̀'si+*S+0"l+]/$ !E'e !M'ͪ&ͼ&ʶ$>*l+&*l+"n+9%(2D'*l+"n+9%J%* C ~(͞'% M A I N M E N U Installing &P'% 1 Set default options 2 Install editor 3 User patch area S Save changes X Quit q%%X$.$ $SS$1v23͞'% ===== SET DEFAULT OPTIONS ================================= 1 Flag Options 2 Numeric Options 3 Character Options 4 Time Display Options X Main MenuP' q%%1P2534X. ͞'% ----- FLAG OPTIONS ---------------------------------------P'% 0. Recording On 1. Insert (vs. overwrite) 2. Auto sequence - SCREEN mode 3. Auto sequence - LINE mode 4. Start in SCREEN mode 5. String match forward (vs. reverse) 6. Show time in LINE mode prompt 7. Clear screen on entry to SCREEN mode 8. LINE mode - permit line concatenation with del left and del right 9. Line duplication command - replace first token with GO? A. Line sequencing goes to next line (vs. same line)? X Done R Re-Start*n+"Z+\+ O >gf P'q%%0123&4.566>7F8N9VA^X. R[Z+!\+ v&}&}&}&}& }& }& }& }& }& }& }.͹'!\+Y~>N(>Y%.͹'!\+͏ͨ%~/wn'rv'͞'% ----- TIME OPTIONS ---------------------------------------P'% 1. Civil 12-hour time (vs. military 24-hour) 2. Use standout video mode for time display 3. Show time in line mode prompt 4. Time string separator character X Doner r'r.~%P' q%%1234Xv.v vͨ%͏ '.h* (wn'~%v'&.͹'*n+&&&͞'% ----- NUMERIC OPTIONS ------------------------------------P'% 1. Kbytes to read from log file 2. Screen mode text lines 3. Message time delay (1/10's) 4. Command line length to discard 5. Automatic shell pause line limit 6. Screen divider length X Done ͠%~???w#6!-%͹'͓*$P'q%%1 2 3u 4)56X .  ͠%~wv Ͱ%H &Q ,*n+~FR %KBYTES TO READ: The more of the history file is read, the more is available to use - but the slower the program load. The default compromise is to read the last 5k of the file. The history may grow in size (to disk capacity) without further slowing LSH. The type 4 version may report "LOG OVFL" if the buffer size is too large. There should be room for 5-15k. " %KBYTES TO READ: Fixed Log version always reads and writes to a file of fixed size. Reserve outer tracks on your disk for fastest access. File size should depend upon disk's block size: 1,2, or 4k. %Kbytes to read from log:̈́%#r` :D'u ͂ ~#foѯR"p+:D'u [p+͂ s#r*g+~#fo)*n+ "Ͱ%͘ &Q %TEXT LINES: The initial number of lines in the screen mode text window may be set from a minimum of 1 up to the number of lines on your CRT (less 3). Text Lines (1 to CRT): Ä%ͳ%\  .-%͹'d'n'*g+~͓*v'#Ͱ%̓ &Q %TIME DELAY: When some of LSH's functions are toggled, a display of the new state is flashed. The default setting is 4/10 second. Message Delay (TENTHS): Ä%$Ͱ%7&Q %MINIMUM SAVE: Sets the line length LSH will discard rather than recording to the log. Default 0 saves everything. A 1 would discard single character command lines. Line length to discard: Ä%%Ͱ%& Q %SHELL PAUSE LIMIT: The number of lines on display in the text window that automatically cause a CLS and shell pause on command execution. To force a pause every time, set the limit to 0. To disable this function, use 99. Shell pause limit (LINES): Ä%&Ͱ%%& Q %DIVIDER LENGTH: In full screen mode, the log text appears between two divider lines. You can change the length of the divider. Divider length (chars): Ä%͞'% ----- CHARACTER OPTIONS ----------------------------------P'% 1. Log file type 2. Default command line 3. DU:DIR separator 4. Line mode prompt (SAVE ON) X DoneP'#'͠%P'#x͠%P'#*͠%P'#+͠%~P' q%%12g34 Xv.v v& &&&.#%͹'d'n'*g+v'~%#'Ͱ%.ͳ%% Log file default TYP: >z&~ͨ%[g+~)+ #xͰ%xͳ%%DEFAULT COMMAND: LSH will run a pre-installed command line on request. The default is HELPLSH, the help screen display program. It should be installed with a DIR reference so ZCPR33 can find it. The command line may also be set to run an alias or a useful program like ZFILER. Default command line (16 char max): >z&͡&ͨ%V*Ͱ%ͳ%% DU:DIR divider: >z&͡&ͨ%V+Ͱ%2"g+ͳ%!. !0%>>% Line mode prompt Save ON *g+~% Save OFF ~(==<% Reverse? (y/N)b*Y~ ͨ%(== X Main Menu͠P'% A small user's routine can be installed in the 32 byte patch area. Code here is run when the User Patch key is pressed. HEX code can be entered directly, but it would be safer to assemble the patch and use BCOMP to overlay it directly onto LSH. The patch code location is at ENTRY + 98h. See LSH documentation for more information.P' q%%1X. P'P'd'P'%Hex Bytes:>a͠% ͨ͠%Æ͠%d'*g+~+%#z&*g+͡&&='s#6͞'% ===== EDITOR INSTALLATION ================================= 1. Editing keys 2. Word separator characters 3. Token separator characters I Information X Main MenuP' q%%123IX. ͞'% COMMAND KEY INSTALLATION The control key bindings are listed in a table. Letters represent CONTROL KEYS entered while editing. Those preceeded by a control character are shifted keys scanned only after one of four lead-in keys has been pressed. To change a key binding, move the cursor to the function you want to change. To make it a shifted command, first enter a number 1-4 corresponding to the lead-in key you want to assign. Enter a character "A" through "^" for the base control key. If you don't want a function implemented, enter a "-" for it. For example, if lead-in key #3 is ^Q and you want to assign the control sequence ^QZ to a function, first enter "3" then enter "Z". The display then shows the current key assignment. DEL is converted to ^_ by LSH, so that control key is not available. %Any key... h*dͰ% ͙ͳ%%Install characters recognized as word separators. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->> %% Change to ->z&͡&ͨ%~pͰ%ͭͳ%%Install characters recognized as token separators for the token replication command. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->>o͞'% Each command must have a unique key. Letters represent control keys. Enter a number 1-4 BEFORE entering the key to bind it to one of the lead-in keys. To disable a function use "-". ESC CR DEL are entered directly. TAB is "I". % Quit - ^C or "." Skip - ^E Up, ^D Rt, ^X Dn, ^S Lt (& Arrow Keys)ͩ *n+-"U+*U+  72W+ :W+< :W+ ~#-ʁ*U+(3(#(#(#~@͵͵[ ͒ͮ%_@_@%_[IM%ͼ%DE%ES%TA%C%%%%:W+G!!(~#%:Y+gKX+o͹'ɯ:W+ 0GCX+ h*%  . t  X f t  X f !  ͮ   ͮ 0 ͮ 0 ͮ 0 :Y+ ͮ  [W+*U+KX+G:Y+2W+7ɯ2X+2Y+2W+!Y+!X+4{6!Y+!X+~(57?s7ͨ%ͣ ^618'50#0G*U++#= ~-=' >` wh*)+-(w% :W+ {̩*U+ 2W+i!  ͣ ~-:W+` _7*U+~ >72W+ % ?#2W+Lead-in Key #Lead-in Key #Lead-in Key #Lead-in Key #Execute LinBackspacChar LefChar RighLine ULine DowWord RighWord LefLine End/ StarLine EnLine StarUp ScreeDown ScreeFirst ScreeLast ScreeDelete ChaDelete LefDelete Word RDelete Word LDelete LinDelete to EODelete CommanNew LinInsert/OverwritUnkill DeletioUndo Line ChangControl KeClear to EOYank Line to Yank & Kill LinInsert Q & CleaInsert Clear Duplicate LinOld Line SearcToggle DirectioRecall Next LinTog Line RecalToggle SavQuit ShelToggle ModWarm BooShell PausText Lines/ TimRepeat Token Set Place MarkeGo to Next MarkeClear MarkerComplete FilenamHELP (Run CmdUser PatcY$% Saving...ͱ&ͼ&>*l+&&!%ˆ!%F %Save Changes? (Y/n)b*NY$v'͞'͎'{i+% No fil)6 >;)%LSHINST - Default option and command key installation for LSH 1.1 Syntax: LSHINST [dir:][lsh.com]î$  #% Installs only LSH, Version 1.1 î$% Choice: d'b*>z&͡&6I&ͨ%*g+s*n+"g+2%͠%P'ͳ'd'%P'%~#( ( %n'v'> +% #( ## #^#V~#()~)+ #08p:8 A8hG0d0))))o#~# #~)+ 08<:080#bk)))o|g!w!6< #^#6~# (+:i2k+!hw#:k+2i\*<\2&y &%File: \B*xA%y͓*͜)'%q*%~# % 0%)+%%LSH COMV'V#^#͹':y+*~+å'[+[+(͆'[+ ͔'[+(*z+:w+W~(ͽ(*+[|+( ((:x+('&O[+((((:v+g:v+g gɠg([+(*(%-%( \ +)+D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|+e||dͣ( ͣ(0/0Gz0 A(+x~( #\ ~#+zO*+|( +~(G( ( "+|("r+|(D~!8? ~2t+#~2u+#~2v+w+͋):t+O ͋) )!w+6#s#r#6#s#r# 6#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > (0G+F++J++O>4+a{_<+o*oƐ'@'ɮ+#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > (Ǘ Z3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1GZ3ENV LX22 ROOT:COMMAND.LBR ROOT:USERCMD.LBR LBRCOMs 1 * ͪ x " > 2 ! " !:0 !-" ͡ ! 6 : G(* ~/2 ~H9WĈ ' LX, Version 2.2 !:' Syntax: LX [/] [-[dir:]library] command_line (Use "/" option when chaining from ARUNZ default alias){  ! " * ~ - "ʡ[ #~ ((#p[ ! p#p##^#V! 6 #~(#x2 !\!l~#fo >  : 8>G  og^ 0! F(^ !7…͞ʅͫ ! ! BK* >Ǿ 6: (/< B| * [ T] : ڿ : ڿ!o!o:{ [ K * : * <( { :« ^#V###RDM+>;# #: (GW -͡ : Lx  * ~- * ~# 6# > w#q#w#ogy\(l^ 00 !^ 6 q!^ *  0 !C _  <ͫ n 0( :' Library File  ͕ ' Not Found͵  R  !_ !" !2 R" !  ͮ !V#~V[!"  ͮ N#Fx * Bڿ!S* >͉" " * [ *  6#[ s#r\#[ s#r# ^#VS bk * R8 2 ( 3:' File _ ͕ ' Not Found in Library  ͕ ɯK 8AOC h ' ͡U͡: WÈ  wx!8 !r ,=;<>_͸  > ͉͗  ͉ ###~ ##~0˞ ###-(Type ͷ - at -H) P2 C d:> &#: (͙ęxy2 Vd ~. #j: : ɯ2 8(#* +>?? ! 48( #> (QK i!8Bm A8G!8!!818*O}o%  M* B( 8  8K  (#K ($(G$(O #( 0 ?~_.,>:0 ЯɿɯV q#w# q#w# C C ! ( s < ͞ K ͵ K ~#K $(=G~#$(O* B(C õ  ###~ ###w* ^#V#~.A $ ,A "* ~#fo-A N  N (A * )^#V* |(~* |(^#V#~ѷ (G! N͵ ͉ [z0* ~( 7^#V*" !N#Fy( p+q+F+Nq#p (" ! !N#F! ( ( # x "  * # !~ #[  x   ! !6#! > ' > !~ #>  #~##>  C K ͵ Y s Xs s  s OG>!!!s#r#6| >| <>| >| >|  rr# - ~#  ( * ( ( ( / y/ * _>| ѷO> *> *ͫ >.*ͫ  *&d & .,0g} |> (0G*|| } ͊ *͎ *~(m w#OF##R (#s#r#(` (y(x ` R (~#w ( ( a{_~?(O#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @Z3ENV  PPB:SH VAR MKZCM, NZCOM, NZ-COM, (New) Z-Com are Copyright 1987, 1988 by Joe Wright and Alpha Systems Corp. 001-11255s1!*.">2.Z #>2* ":2*.:n"&0"+")" "$"":n"S: (*!&\n"S:(!\n"S:(n"S :(n" S:2(n":n."E:Dn"B:An"?!]~/(? 6 U͸ 1. Command Processor CPR *?:A"͸2. Disk Operating System DOS *B:D"͸3. NZ-COM Bios BIO *E#"͸ 4. In/Output Processor IOP *:"͸5. Resident Command Proc RCP * :"͸6. Flow Control Processor FCP *:"͸7. Named Directory Reg NDR *:?͸ Names 8. Shell Stack SHS *: ?͸ x :!͸ Bytes 9.* Environment Descriptor ENV *:"͸ U. User's Memory Area UMA *$*.R|2 !"͸ Customer's CBIOS TOP *.͜͸ Effective TPA size*B%<<|ͯ>.o}}!=TO͸k * Item 9 is not changeable in this version. ^ʕQʕXʕH/?S 1 2 3j 4 5Z 6ʓ 7 8ʦ U6 >o:͸Selection: (or ave, uit or elp) *F* F*F*F*F*|R|2͸ MKZCM Version 1.0 System Generator for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !;͸ U͸ Syntax: MKZCM [name] MKZCM will display the current system configuration and addresses and prompt you to change something, save this configuration, or quit. You may select changes to the size of certain of the system segments. As changes are made, the system is re-calculated and re-displayed to reflect your last change and prompt you for more changes or to save this configuration in name.ZCM and name.ENV or quit. This version allows you to change the sizes of CPR, DOS and BIO segments as well as the configuration of the Shell Stack. You may specify the output file name when you invoke MKZCM. If you do not, the Save function will prompt you for the file name. Press any key to return to MKZCM or ^C to Quit now. ^ʕ,͸ CPR size? (Now :A͸) ͯ2AO͸ DOS size? (Now :D͸) ͯ2DO͸ User's area size? (Now :͸) ͯ2O͸ Bios size? (Now :͸) ͯ>0{<22O͸ Entries? (Now : ͸) ͯ(H2 ͸ Shell Size? (Now :!͸) ͯ(2!* &\Q2 O!" O͸ How many IOP records? (Now :͸) ͯ22O͸ How many RCP records? (Now :͸) ͯ!sO͸ How many FCP records? (Now :͸) ͯ!sO͸ How many names? (Now :͸) ͯ!s>o><82O> 2]:] W ͸ Output Filename? (^C to Quit) ͯ(\]/ /(?((!͸ Making ] ͦ !"!#͆ >Ĺ ~ ~ ~ ~ ~ ~ ~ ~ ́ ͆ ͆ ͆ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ~ ~ ͆ >7Ĺ ́ Ͱ e!͸, Making \ 5|<}!͚}͊<}!]~# ( >. !eÞ ͆ ͷ ͕ ~# ~# \%}A}z { >  0:83}*͕ "! 5 6  > > > ^#V#^#(> o> o?͸ Record=>so͸ ͜͸ ïo$/<_<s>o|!=:(*."~#fo6 ###>w{ ENVZCMNZ-COMCBIOSENVTYPEXPATHEXPATHSRCPRCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKSSHSIZEZ3MSGEXTFCBEXTSTKQUIETZ3WHLSPEEDMAXDRVMAXUSRDUOKCRTPRTCOLSROWSLINSDRVECSPAR1PCOLPROWPLINFORMSPAR2SPAR3SPAR4SPAR5CCPCCPSDOSDOSSBIOPUBDRVPUBUSR>22$կ~#:,`!`~AA<2#~:a?62#~:aG~#:T0 OxG8x 2a~:h#~,s!ҋ >?x:G:O>ͥ~.Ÿ#ͥ~~*·>?ù#¥#ý> ~!=_.:;,<>ɾ~00 bk)))_zW#{!H !G!Hj!ï!H!>ø>ø>ø>ø>ø>ø>*2!(*2####*2!(*2####~¶"2####$;5J¢ͽ§*26#6#!&s#rø~¶"2####$;5b1ì~ʘ"2##^#Vzʧ24r+s+5§6#!&s#rͽʧ*2##6#6:424~ʘ"2##^#V:4r+s+5§6#!&s#rʧÝ~ʸ"2~ʸ"2#~>+~+*26####ʱø*2ïw ͋̓]>^̓]̓]Wͥ̓̓ʗ̓̓~2} !~#o|g6:}ʯ!~ʯw#â!:;~#  1   y yG>GO> od. .0o8 0_yEE{y0o{'xxdx x}0o}o|gڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{ 7o0o#>.o# o# oooo o o>^o@o*. kO*. ~H͔W͵HͪW͵r# xµH  H|}~# x ~+ xa{_ڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{  Z3ENV!~6w;;R( Not Z33+$* ́Ͳ5(.(i!} B = _]/[bk>?k~+Fͅp N(##~#~ +m !> ! >!%>/!><IJâ!Illegal wildcard charactersNo room for any new namesNDR buffer not implementedInvalid ZCPR3 drive/user, directory change failed.͜NAME, Version 1.2 :!Y͜ Syntax: ͛͜ [du: or dir:][newname] [password] Changes the directory name of the specified or default directory. Execution without "newname" deletes the current name, if any. Ü:k`###~ ##~0:(Type : at :H)!~;(#|( ~ (9#I$"*w~#fo2n"o"q.( G~( *o~ ͅx ~#r> :n(*qr.>(!D!~(%8 #+8(Nwy# ~D#"s.(G~(͜( ##[sD #~(~#"u.(~((F#N+##[uD #.(~(ܸ #~+(.0xO*w)^#V*ww*w|(^#V#~*w~( 7^#V*"w OG͢~#  ( 9 ( ( ( y/ 9 ѷ&d& .,0g} |> (0G9||#}#a9e9O>Oa{_Wo*oƐ'@'"s.(G~(͜( ##[sD #~(~#"u.(~((F#N+##[uD #Z3ENVNZBLTZ14* "0|ʋ2$####‹~ҋ*>Wo‹#? :] z?z/ze!*"2*"4* ^?V@~AS628R";*"=: .f8&8*R"9DM!>2#:i\ )|Ox(!\ # <#2$\!] ~#:$:#* |~#fo.s#r##w#w: ¨2$͜] Can't save with RSX's loaded!$Not NZ-COM system!$NZBLITZ, Version 1.4 $ Saves running NZCOM system as .COM file. Any commands remaining on the ZCPR multiple command line will execute each time the program image is loaded. Syntax: NZBLITZ [dir:]sysname[.com][;trailing;commands] $Disk write error - Aborting! $ System saved as $_\  ?Z3ENVnzcom ccp1*[R|>2ͺ2:]?ʐ/ :^FÐ::Ox(!ͭp n"bKal9A,m tWL76lKٿ>d7pw.datRb?ea`b_4Ju)0bbm3%s 7TkVX*j*+!ŗ C(+l,VU]MRPhE\cםn0=(PBN!4"^)^1o7T,84sjr:(Fzc3fKAS1MY! eb.D 7hk3iWzʀE AP yٺF?,9iaq̠γu9zXp ҈@3"y)>'8.*_vp[_Yvՠ@@CiH,AD 1UL Ń ɍ}&չ]n<[&E:mL] 0 Ǧ*R@dQi 1s[ gpBDUxi4SaLT#-c\鼸XVY^k_.KS\92U]mL7J9Y0@BU4!^A_ ()$(t54%Àt&t2VN^keb[/U)0ЭC7rq5jb-N"L쾆3etDwhgP-g I,U]$Co$^fˏQn Cy)v ˑM%P~y )2?twCl è0sKm[cA6bE6؂ZCb<2ˆIy3J;-h74Q!sz{P7{Z=:w!3qHb]nnpt+†-z3wAggvrlkiS'%jdQEnr&B#C 4| J T-FEy@@%{Z/@-!9)#8ǁl/nir1j#1Fb9,#Ks)yB%?Pg>T.X9+aE`f0nRqA\Is4֞c_FZUv Ys'&0WB()p'F v'IT7E456}CEy hg*5XՏY?eYxƆj72Z"ZG.wEuZvu3պjtw[\6$\x\yva![!:ls U0 0;bg&;^gDLi2C(HE6=Pc(D81 8&%Ѣ7NjOF&x~MR!]8Y6B12م+E&aeA2L iݛv_n8rfHٴ(yRdTB5v7gtt@yb'LuKLEKM4Mv)zEr"89Y69*؅{s_ pu A w ;gvk}'9+vS4\xqA)sY!R6X QP\v yAEw782qs~i$0e ;kO5.x9qktmQD!ȤVP&+v%]qJm饵&pf0V` (2Լ&,=I}i/.TBT@E&4#+]HD WWNw!b3"">w'V4~uCTZ&W&wJ:OG2^=kE_YDB>c%#Y-kĵwa4LTM!TQkx՜LC @I mǣ]P6;dfI10&R-RQW  a 55pt]d)f]D r6k&ju9*&vH ,d=qlYzPH"qN""?,n&jEŬu*bq.w\z5nw1#*paUfIh´`'u*wB2K8maHQEzAl'pVTnvMHFW_]xFip7( 2I"jKO fsQnZ?:y{'h0r-O(7''`떃WZ?Wu\q\q{ش" 7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'Ƽ-!pӞ>QBP5;ps@ @*M%š]\AŪ~̞Zi rxP(B@(r!Ū&|Ⱦ+W`& Lg%-uY,l2,neoŜ[c&6uuɼ3ؐE+lary6uyI"6ư+l*y4AZPb*2Á,0ra%r>-ܠ `BR{g2v.|J*1j?'aVރӊOB9n\qi L)9%ܵU{&F=JuD(AZ7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'ƼZ3ENVSH VAR Dumb Terminal =%+ %+ $$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[%{$z7$#(Aʉ#ړ#($8lʋ$s#o$ (t # #w$͐#͚$*&| Ã$͓#͚$y*%|*%[%"%"%#_#o#g"&%͖#s#&#( o#- {=w$[%( [%=([%[%"%[%"%[%"%*%-( "%Og$g.y{$z!&~('6[%*%K%>Wʍ$S%"% "%2&*%w#"%:&+[%R}/>2%=>>> >>>[%!%{&!$& (#~# ~{$ !% ~#fo"%_ID__CCP__BDOS__BIOS__ENV__SSTK__MSG__FCB__MCL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}(((   NZBIO ZRL]NZBIO+ ZRL9NZCOM NDR :NZCPR ZRL  r@rNZDOS ZRL"%>NZFCP ZRLGhfNZIOP ZRLOϼNZRCP ZRLQJ BIO15_ENV__CBIO_ÁÁÁÁÁÁÁÁÄÄÄÄ!Ä$Ä'Ä*ÁÄ0ZNZ-COMNZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS WORK "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2!0q*%"1́D ́́3 ́ (a[1(́ 0Q́ :0 (Á(* ~^#:-< 0́ ^(~ 0 (́ 2) W> ɯ2́́ *%  ~<w(G:R!(́ú Á ##4~(́6 ́  :<(́:́  ́Á 2$[%@!!~~#~O~G#~0GV. S! w! y ##x(2́.: <((! q##ṕi: < . (́:.:<(Á́ 6}2́ +wN! ~G##~?oG}W*% ~=_0 ~2ẃy:,w>2!*~6̄   :*̄́F :*̈́ (2*̈́ ʁ,́x  ́  ́  ́R ̈́ :Ą!+y4 5~y 5 6$ (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!FCPT_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_|{Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): ERror NUll Use root:IF.COM Z3FCPIF AND OR ELSEYFI PIFQ gXIF EZIF CERNU4́!6́+(>́ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8w  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngG \jNZCPR DZC NZCPR ZRL  r@rNZCPRL ZRL$irrNZCPRQ ZRL<ttNZCPRQL ZRLTttNZCPRQU ZRLl`s`sNZCPRU ZRLssLONGSUB COM ;LONGSUB ZZ0w@r`\ vNZCPR.DOC#### * '1b9NGn:M&9v2  7N؂6r9bPsy@t4bin2#ys9Bh*O7Mb3}@QByMAy8S*\3Aeif3 -ټwHPhtQlqI6xC( ɢ1:Ӄ9NgS?1Je4e!ɢt<ل½`Y*v31Ȍ]ǃN/sWDCM8e(ېHYg%N)bFU lqcHxHDYxtͽAV4BXtz8MSx1gUH1iV]ὄdaYāwF>qԽ1Uaj:7R(\D `UAvp*KhQMa6 ֡S[XQeƘRuW5.m`d ]BP4y WQ_u"oOIgxƪazǹfu$ ATeiqTg٦Oz!YAN`BTdpn*XGMEFDa$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[ka$5!WTp keȠ+8ݦq^Ͱ k6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYW\ jkxPjjbr #[\ Ox>Tf℃(F?b1CV:WT,  V#fAE/ 6 Te$͸64uEm T  **WS`6 ` (h6 #5} ?h탉DPjj:.fv#6 b+:``#22.X!(T?ٶtP 5Fد 8N,چ* , WS$ 3* '@0l00jj:e1edaeN Y k@l?-!wHU+/)q^*p(+ᐃMuC.ՀI[ADU@m#fѠEƀ`d4%f0Fʠ3l@,>-k #@OV!eIAܢl2"+.FfـF%QmdMxʴ;Ipjj:.;Hwl{@áeZ@mPf7 ρ\#*OfڐCl6h8I{@`@;`N ]s/ؠ #D!nWPfߐ&%FP #( #L$sh3 F|Y\W0ršZ'X_BIOS_fK6 a0Lkf0Q 3h"2a0^ATfOqAb0@   FNfp1Yr Vm`c5}5M2 uG _ENV_H0;Hwl%h Gf Vz[ lێ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-NpN 0ǶfѠ@j)͢ 6m#qY#e #!/pQr@ EdPph0 l! p=N@pD0hd+ ar>#+/0FL ?2DgP?-%^ mH >3m"$Ah$ Au@fvlLmvp _ENV_ q@t i`!B//bP`BϬX|c ͣ-æ%,gPf@ՇF\Td2~[k`4u/c.K2, n@#*ր2 ~[B(5}5 10 _ENV_RUǀQ@=W3!h]63h _MSG_ Fͣ@hKʹ`@f؀!X|[# B@G@%^2 CʕD4;VePDV8"\5YͳK" 0 iv4u\v;6?B(ʴڡ7+Uͩn%hFU͵ l$^ p6: %.b00 |`(: wY!_ñ@FCݒ^ 0!Ϳ MK62¡@FQ 8GH ff@0rh!@?P`5DN ̖m80aͽ a f0E da*WSj(7$a>.0͸c622Pjj:e뀏)T`*v;%KWTpA#@-Ϳ$`ٷ `{?"\$v 8 (3ox" O u+/-z\\R~[Y [6X 69!al?m1}ͣ@S%DAlFdi`!Fcъ5K8F _FCB_f@naf C| 9.@{6!a!WThnWٶ#N@0|/F _ENV_`1  /0A~d~[öJ$fڐ@0,| f۰ExH&:WTpH&A0@͒-X=,"%ˀAfCȄ^ ^bĠ3Y3i` GEa.[LJX ͥ j !dd" xY#5}5M-Wu@2`A #N@lPQٴUVb*i c65NUYA`(Ahr0ݫ([LۦiH ͭ;*WSj( H#/@i. _ENV_ ;` 4u@PAn 3n" ixFͽ `% oh " D%8B k P u#rD d /.a~lih0v[,\:05} 3ox9(r@ k4o]{%#??H~| fQ٪͢ B 60h괁 rxv, !WT-ͽ|Xqf0Gin _ENV_ 9}aMQ- P AhK#pl!)FqKq@KWTp$H0M$I r`5D~["5F {.D0LC~3 _FCB_9}aMQ-4u+@(C6~sve4#!/0X 4uͭBceiNٵ(U Fm3Pj2  * "8 `@|Xq @F;`m3?ȄЍ3i 耎8POfV G*뀺ٵͦ`0E !Pj2 v4u\é`dX;tɖ'"}9Y~(}5M~(WѐЗ}5 1~(} %=M~)4QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQu4N1g3o4̢Ai2ca)a7 '# U!I%Aq MA U! &H:K@uh0U?n8^0[v"O+3(M(V@`M"O&DA @  eR-Z jk|AI)k0C. ˑ@VqWL33k 8ͦrĭ.Z `5D`Ah x2.X!WP Vm1pñCU. @@2.X!`Z9sfUe0ršZ0fpqTm;C^ q f@E ،P4u'b.ٶd@AiͥB5}9Y3m ͢è5}5MQA=q! n Teͷ+6 2͢H _FCB_ *@Qˀk ͳ̢ 8˖@6mB0`A fѐ@9 ƀK6ς4YPaTDe`^2N\ˀf'@%V!T&jY4 ijmʟٶ #f'XCFoGW??#Kv(|[U+5Y f fCT(!! CG~  .Vm(  I!ВS`ْͦfL41ٷ(l pCL`? L WEPj*r>-EPcr@4;aEF `f@FCF"X _MSG_` |a`E *WSR ~ NdIpjj:.?5#3 0`C@(Yd8[6Og$Uˀ!FEm`A dTe\X{\6KKU@w $ fpAfpG1d?-/Yddh#Hlm+?`vC,~0z1A&|0hKb\(`! ;z/"e<fpA$# <0jj:-?- Fa_ Pb1 _0a0Cd?lxH&ʹ`X@ͶLuL Wa%!'%[ {Q2Y@K5}9Y-ͥ`ʼnAg>iX!0fҰ@#6î\ @JVqPՐB nSD@GPjj:[Z#N@hP;ԀeV@@.(`4!@( _ENV_@ X@@ fF _MCL_ D;lmlaTǀQ@\A5}5 1;Ipj*r!WݫXe0u0 _ENV_ qsPF _MCL_@ (C6m(S{@H@` !.f fCX`WEG!!|uC dCC bdX( `ghK{@ +" LF\@`fcx.Q G,XX@`> 6炎VmpbEtY@cGUeOD&# `f԰a mfm0cʰ 6;Kpj*r  jkuOVP _FCB_q놀c` N3[.\ˀ G o OfqC/)%P1r ybpFPj2 jku0Y\@@ 8@0 > -!5} AjU@mlݐp#/;JwFͩ ڦ(b3i 2WѐЗf AU 1T ʰyͦ@1T3i D&h _ENV_ HLW@uXAǂxǫ2a$5!WTp keȠ+8ݦquˀ fp@9bVA- 0ršZ0W4u<pp,iE+6Oء*WTp փ |pp,0-K93*9}aMQ-3n8 _MCL_S6kq~ !/ʃl"PF(p Pjj:e1rl2 }4f!TĀPfa(͸pEPj*r fA@DA fa@u!/@ [q( _MSG_ ۂõ|fِa EtG\ fQAs\e Ej@6̂ !0 h v3;' śPW@`0j*r!@8FsW@cCf _MSG_` 2 , 62`-!帠D"WP Te@E.+\xܥs92~ eڰ 3k`#6 4uͤ@2a>S&m: a DxHi U*> 0;CM 0`TEc@B%Ug,(İB*"ͲV'i. _MSG_Gio`t @rZښbY6eOJy Mս 3o`_!#ٷ #xwu%;Do>-*do+!*Doސ!|? vmd+6 _XSTK_P$I)k0lfpA & lۈ 68@m_0@&y"5}9Yx` pB@In(1Z`@F_0#ی0 3n #!ͣl@,u0Y}>"Az)?i]5}5M0! جۦ OKv-q *Gi ͣc6 d2Pj*r.k[,=%* 廅i i#s,2 E2Y@ͤ@6K6l;!?=T`d4% 1ZVhhV쐊 Vm~=Ñ^2i a5}5My#N@0|/F _ENV_`1  /0A~d~[öJ$fP@0,| fpExH&:WTpH&A0@͒-X=, %ˀAfҰCȄ^ ^bĠ3Y3iX FEa.[LJV ͥ` j !dd" xY#5}5M--[ ڄ ڴ(j@z2 j  Egvmd 0jjbu+/Ov\n 3nx#tC/@m"f`660` _ENV_Ũ.~G 5}9Y+Ճx2WT`4: qsPF _MCL_@ (C6m(S{@H@` !.fVCX`WEG!!|uC dCB bdX( `ghK{@ +" LF\@`fcx.Q G,XX@`> 6䂎VmpbEtY@cGUeOD&# `fPa mfm0cʭ 6;Kpj*r  jkuOVP _FCB_q놀c` N3[.\ˀ G o Of܀qC/)%P1r ybpFPj2 jku0Y\@@  @0 > -!5} AjU@ml0p#/;JvFͩ ڦ(b3i 2WѐЗf AU 1T ʭyͦ@1T3i D&h _ENV_ HLW@uVǂxǫ22#~B>2~# 6 (AS6~#7 A A+**~s#r#"~#ʂ ʂ ʂl"p7?:ͭ Strike ^C to Abort Command File -   ͭ ... Abortedͭ ... Continuing:(!+|$  !":/^ͭ Input Command Linesͨíͭ Processing SUB File\(=G:iOn ͘ ͘ >͋ n \<́A*#"**"s#r##L  w# 0" qí" q*#"**"s#r### ~#foF6x;*#~/E w# 0." q:/]͑|:ṕp>|_<2!~ɯ2\>*~#" ͨʥ> >ͭ Command Line? *(  *( #~#"o|g6 : ͭ Writing Command File to Disk  2E6#̀o^ ̀S^ @S S$&:/>$&ͤ$,̀͒CͤSS̀0OxG7x=ͭG~#͒_!5 !~=7w*~#"?!40*w#":7~? o&)^#Vz~##0:?`Disk Full`Dir Full`Mem Full`SUB File Not Found`Param`Too Many Params`Line too Long`SUB File Empty`Ctrl Char ͳ ͭ Error on Line *B   !46# x”!"!" ** "ͭ Syntax: LONGSUB - Print this HELP Message LONGSUB /A - Abort of SUBMIT File LONGSUB /AB - Abort and Ring Bell LONGSUB /I - Go into Interactive mode LONGSUB - Process .SUB File* $$$ SUBA (j  Fj ###~ ~06 -~* ~0 7^#V*́ C C E (  < ~( ##(C n ߯=K n K %}2 E : ( ##x y =K ~$(=G#~+$OL ( ~# í * ^#V* "~#fo ] (T * ~* ^#V#~ѷ" Y X   OGw ͢ ͳ ~#(9 (" ( ((({({G>G_> ͊ > ͊ > ͊ $ ʊ >^͊ @͊ 0 Oy'i i di  i }n s 00Ê = ˀ7. Ð O:g ͮ ͵ w#Wr# x a{_! }($.vLONGSUB.Z85 7 #  !i2b0@J0Jf9@f7Si:\ Nc5Cxa5NgS K 3ido7RChfQFX=C2/Mp9fSI2%u7 W0N#ʤ!ЃB͎CIWˈegVԪíz 6]L`@T4[3,ȇtFI$`f0`#oÔIbCsf5@(0Dl;'#)?39KL9MBCYU%РfGq%SF1 fdn]0ƷlT58iTxYW9 \GZ[Cgo3kZʷfDCYS/QicAV\Ug fc_C)8̲o0~OYF@K+f{6%FvVɒ&-JpA 1Ր̹S'ǜFA; !(*aOH )2&8Ä@O Q,)R!v22!.%$4xw5pBS &*%0\ (唅3hlu0 ȖEQA (VT)N2? Q BhA 2PȤ\<&@HNjNIA3 n 05*̈A^I'dy!8)v<Ќ8( X#5ڔ&*oL0\p@1"ҪVh{$L)Ω(ؗnQO`@ tDmf{l]EQ hT١% &@D(D'!8'j[K1'0N#39CTGTp ij"RڣHd.5Rj*PTV*p#T" Mdy3LILQ3|倥He_$A4/u=O$ښPbtnIp&`Af I;09o ӛ0a= +83 ј B&ϝ+)w82P !m92fJ%|4HÔP F"J%a%p2{D2 G~^G+Q}aYR7 $J-,)Ofhcg3 0 cTט^aj"df=VƢ匱:Dž,WںIc(Z$@5#I'%2䈃2)Tl9`86k u='eL!8"FZ4<,pAp26)ֽ|J ? BJpλgX2qáƺ;C5{QO+ xW z8#@Dk>% v3 ЕQ.r2t+wE9c1ON<+s 'J"Pn/3.RaghI--% 65b ^'߀PHzA.mԬ K.]`KKѪs-YLQwB]MoM("Jt O4ظ6+ktP5 OuMӑ:W 2DdZ gIr\faEb$ѧ#:Ƹb^zb fu321\fj5N\ʹ-@ Hx *~tjh q`NNOuQ U\5Qm`o2jրt2`gW?&2Qcv1)hb4Vb%+yP.MjV"kgek]jbMI 3U@\32i%rvdK7rW)Vھ6fd$# @lwFms n6haoZh_aet wTr@&@2$awvTB+lg&\yNDThF`jd'|Ou frBQ$m7vc`YB2' rB_`[mQ }`QaTNʨRE'y$n N1#? >X" ``NN]Q(\A`8[*1zb\ qyd34lpPSH})A qg*Obo8mj[)f~~X]vGQo؝ e揎(,Nl 8f@ၫAx.r 8 mtU %6T $A]`t iJ~`@ (;g3(W8A1\$,CC,> 8mTC4$ ,tw&G%$B ruR \禼@x 3VkIggGlzRb/Nlc4,hy\'Z#f'A-F:RGNf.%!$ȼ eZ9f7l6͗_yNѧ{737- 0^br[=QCK x|:Qv]|X+1_|F,@VN>2$NU+Ό:zao2U%k:S.;{z 2%;G,P[DŽ5]< 05 @Y^4B0]*-^Np4qFjZܶ$+'Owb+p|¢r@.7ү|[WǼR Ȩ,"lԱ`#1JP&PQm]%qӀgd[٨F (xup͒n@ [`j`93m|NNBhˑP\2:9( q &=%[B$G cQ]U}KFzx} ]x&]o #w{C<>  ~pH@AHYxC# 00~M1\Y @82<> H }Z-C1 1Jı$$CÁ1!2$ |钧અi>`懾{ڜX %u ՖZ^I1\ { 90;{^Ժ<:0-*1mUz Y;p˛Gen f.ձ䙺 ՜Erǔzuu[*!ql'tBtKߖ πZ>(vZ{/m~zvf ]m ߬qWXR@gzL뱎 Z`N 6}o}iB"1_glbW WW׽\ CZ믛Ym~]:9Jx/`NV|U=w;@Bg7fa#{r\òuk/\jOW(+ofMQq6[QM8(<s[7_1G9Ya#R;ļ.h9Cl'-'7B3-%hNDF:Ŗ%Mt$h(XW V ݧA0iX  xPD \?IY_)86 _590@ iz-# P hH/RNo`28z@s=}@P+G&_0%{"Z%i\2%)IrYou3YPf_J$OL+n$[6֌OT<~Z R6;,JZk p@ .=&[m.zf&Xe|lAw537B[2)Bˀ9)Kp-SKr>_^r[QA[:b,0#@M:q\U3\MP\ F<'wbzI+~L7\B Z#ǔYH]xiDK-a̧rI2`=|LȮX#Z,ڌ qŽ=e@@؀~-)@ &O@ӛu%Tŭd n; b2X( F@ׂ KPЕL)Z>a㋣%Cl6 `YéZW{+mf5x8Rck U'; "b >1 zufpGP*hî,q @4 #ʼnFe|w4)YR ʍF  ^9'˸CѦ 1[-:$[ $2Q  @H*QQHqC4S16j. ᩒ8y#7Ȟ~U Z)R^k_foq+Q0,3T\QBZc|2A5=C*mlB:[BS$lE~VbBu~~WyW^)td5 ~HV O(z@@ @}?:9.Q㸳? ~_7W22P|TI2)oI ~Ss~ *â7Ճ-HA)ȕWVdek4VcbMZB}^X258%u7rGYo0+#DI}}FMW AЫ1VrAiR\xCLCL?v t lخ*懪7t*~iXV1\yHHn,`\L mYQ׶~Ųtu^4D)٣Nc(X"U[QC%уfl¨$ a[sג;+^$$@gU1+C)P f}FnWH*raHXB$ V9NҌ5=\ȬM7gӱb@[z&sX5Rg D [&z[@+fr7F]4Bc9Y`R.=({PmGG4STZ+-r'&}g*4 g㚱 07قw#$ %R |u$9@XmiҲ md▪G!C[r) ٠j2$#[K *OL0N @I`=- $/@P`//@؀| {܃ j lr6AXCo"梣lEܞq[gKe̙Yy]@o͂ɕ5("m\>$)D+F t3gm"j+YW`Q]aHKFX W3CŭuX,DLsz\I&*.a vhʁ"oQ`! 2w*:ץ|$ߙc_GBu#]yDVYfW3=Yr5[B8wB =$ N =rD-z[)J(2Ò VvS`-WȨ-@Tmr^2--^`DNd?Z#Zɹ^Iu;iDt/vdpj@;&k_"u*:1P63j ` I2hr{Ro@[ \m߲D5 [#L%=^.ڲ3 e[)-\X Y}'<`s~ Mֻ H: T"*Yʓ`PA)91Wd+52fXHD-j@._9+ ؝uȱ8|-}J 6̫`Q85DN~m~$v)  J&)~\ p$>Hik؄ f;SދX'j>)%>a^MgvyfJ+-Br%Vv4 qd;}#- Qzx( 5D T J1 eIqB "wpԁ>96mEflv$*TR l߻5ۡH"^BB 6T_7B,E#(ei' >,>mym=+yʅVhPc@`$zP_Xb 1J@ǫ wx(*">H^9s~5+zW8U1\^> aKʓS}` > SLt Vo~*`Nf;s񚜟Oa)ujsv+5)U4!b$* cWzT}FEK9/$#-W>[>Fyn\t `͉B ~97K;T pAQ}`dF"BoEzf::ngߞ [i%:>i%x)͓߳J. w㋣\TDˇ[QKRv|I0͒3jN Y=,h(;~O~?C1.W9:J>-bi=E{)2[QG@ZYf;HZLb@@ƈ,v{~GS3k0O+H>4Y EW9:ә%W _Wt+[%V$ R:Ï/C @@HK¨H,ZM-j(t@z%p~­5ݒ&t;ΒiFQQɸ=` ΔzD`(`M0Ns5ѳ]W?(FNgvrE4(a@4,IRg Ʃ}' LήزݢG$X[~9SV ΤMR[Kv`mf/wի٧OVuy[25zYzK/5::LL2_6)@ :EEV '( f#[`s\0jP-m5~#p{#@YvY{` `zE b8ovcQR8(^ Ͼ j𔷋@o*=\lLxB0%[+CG S5s]ϩ,`eDuv+?ߖ%ADMc p;K'ᠨ cߏeb6\ >j,g&kqj\V>di @L${L nE<5ԨW ABJQmbQ< A7SbG#f$U:=X@K"`v3ٰLXƫH\RJ.&ULlE"G&i[F@q+D[lL{;3KaE(l:g}: ' &6{P ְ%'WS_`&C'{BP!P昝j/ĬpcgU1'bF%dq蹼X73lb/$ZKEhW`NP'1=V_ehڴ P)S;q c8Qa$Qc6{OFZF"BhgU@zmi&`WH=3W5<89gNN(wjS`K;E0.ZDH49y{Yú~\PjDs q]dOt5>נ%ch4mt] všxSUXS5 ^s=puf]ykE {E&9>:1Z1vF])[.5 mxWU!DE|ăf0FTomJ D#-NM ]`߰o"ںś0'D ֎&_׉˵rT)'J'a2ϱfL;>`bBAtW\6)äR(lnD ֞OnG+$OZ#@@X:ǣ^C!ͅ2\ăYF*8 7PXE]z</ϒߛ.5U ,T3 +:?"h+ezo6?n+O6R'D LrP wtClI0YyeUR>`C־ &)2[K) ?AK<'. O PA zM9u~DbH qkA)-aK?F1􇀜81* UQ69ɛ&}rlmP!bU̦RGt=c;Pmqew@%&C8{Pfpev`@mQgP`px^2NҖL"h'U@@ɩtX isO\ \ qx~gC6燺U;4 `uǮ8bKE<Nll .:@.P- (UXX&~(SmCI<2Rup@]=I LƵ?Q1ᰇ`L$#B$>ٚGgG=f [46&Xl8oYh ޸sRbQCPj ]T3Ep5q zpA,C-=‰T3D;Ybx)yg0] 2ͣyz!Yv3gH ^MD ~\:=EU(H^GuiMD XzH⠂鷳tσԋ /#~Cp82O5 1Bh1NNc86B$%hym`X)W3^BN }X@[//>pg9-z;]G8:+`.#6X:[@p&4$ ghHZcG{m{U3X1Q0h5?(BcQ\k=8wBu~$p]1chk >u y/oZ8]zUWVhWC bv)7UZ&y`PƞTd.p}4 `'4qCEz7P6*F;#&xcMQq<ZG»E@S;98:+ޢ㵠or(Dk?p/VRW:+;zXZ#'v/>1^M¢Yi{9  *0BrL$TjYC7:L!65)ym] J BD'$Jt:lcQQT p!]?K|^EQEz,NM@½e<3ws*R'D&G@N4_QXp)XJ,UsOOPKʏ:؇6>F?>ڏ3y1rnc R*t@}^-mE_G=w$2~6/KT #+E,\JW1D'P+ _"t6hWWCck|PIp 7,@ݦ1a`9\t };H_O 2?J[D  ɹU;X&~R[7@PPc{O;(@BH^ oA?`0' EG#B$%5:**zXj0*Q^ r[<`۫93S]q|tw7T nD B$$>m~B5@_Ǭ5~[SU$x6G!`5^ @!cW,' ~HGD e3Soբ6cI۶/|t2RK57^ē7$sgD itT#T ~.Dh%Zu(Þ "Ͽڋ@7>({؋. ֌0۞'G둗ի٦ ϰ;$K&:{~m^a &8]IKЕ+o;GT Y'D ׬G- e?9F*| ֌j8x(iVj mWD ֩+ qSar Y!YtkԺnQPt@قw,a,r6(RQ 5d l&%!7Iu? OUU$^2@ȲЊV)5*Ӹf?0( Eיhc[vo $7帚f> N͛yR.3po7x>?v$)&j\֯|Ӹf> %P7w ;20(A?n=w~(H*7wo}lM@L=w[Y^;ؙ*(*zE&)9&sy#fXf+$ !٧7e^L))ٙ*(,zmf5[^x8Rcpjc~a- ` IԅhZ ȴ ?A)Y-7P*P 9R,_Sb|:E}7|-7U8=]zhOg?#hsc]s U 5=@E0,+^5uP. MZZdeEr^UԵ1@F+S hIaH(@QdbVh*cQ9v RVJ@ЩTinZ'GZOcXo&f]}%eg%_}wyF{ Fr8a}w~7_}wi`Uz;lgkKˈo4j 4K;E1qT9NNL6vD R^ƟqR@ 0,fCӻ D-@ջE#+2fyI =TB '2>A)Y-7P*P 9R,_Sb|:E}7|-7U8=]zhOg?# Z3ENV*  !9" !" Cw SETPATH Version 1.0 :]/P:^ X/P w SETPATH allows the user to display or modify the symbolic search path for transient programs. Path elements may be expressed using drive-user (DU) or named-directory (DIR) form. The character '$' may be used with the DU form to indicate the current drive or user (e.g., "B$" or "$2" or "$$"). SETPATH sets or clears the program error flag. Command syntax is: SETPATH <-- Display Current Path SETPATH // <-- Print This Help Screen SETPATH element-list <-- Set New Path to element-list SETPATH [option element-list]....[option element-list] Where the option may be any of the following: /c <-- Clear path and set to new element-list /p <-- Prefix element-list to beginning of path /a <-- Append element-list to end of path /d <-- Delete element-list from path starting at beginning /r <-- Remove element-list from path starting from the end /p/P/a/A/d/D/c/C/r/R 2 " |” |w - Abort: No Path> ‹w ͑ * - ¸w - Abort: No Wheel>~ w - Abort: Illegal option - !} >~ w Input resulted in null path>~ Tw - Abort: Too many paths for buffer!} >~ †w - Abort: to many paths - !} >~ ½w - Abort: to many head paths - !} >~ w - Abort: to many tail paths - !} >~ w Bad Expression at * } > ~>  x": o&)*)" " " " #" ##" #" * * "* w2 2 2 2 2 * " * " * " * y2 2 * * y * R " R * >c2 o !<N * ~/ʽ2 " o : 2 2 * 6* " : cp!d}rʭaRý< : _: 2 ! ҋ* _" * y * ~ò: _: 2 ! * * y " * ~ò* * : GN ̚Šâ~w* * ~ò* yʹ+* : =O : G͏  +~w* * ~òO~## ~* : O": c I * * : O~ D @ #xY~#& < ##& * : O* i w# xX  b * R " ~: ! * <2 " ~$ A G͠ Ox #~$ : 0 : #~ô * * ~$ @#~#$ +2 ͽ :  * ~$ x<@#~$ y >: * ~$ G#~$ O#" [ >:w ~… w ~0P P Gy؇؁؇؀O#4 ~# R +h d !r ~ #f Noname ~#~#y ~#Æ xڲ ª + ™ +‘ >` ~< # ~#< + >  `  ѯ~ ##3 # F#Nѯ=  0S :Y AS [Y GxG=x r ~o ˆ #~+ˆ ##= r ͮ w* ,~* "~#fo* -~* ^#V#~ѷ*  ^#V#~ѷ* (~* )~#fo~" d-  - 0K 7 / _yA {y0K {w#xq i # X #P >} ~# ʻ ʨ ʭ ʭ ʱ    yʂ  yG>GO>   O*.   OG}o|g 7a{_*)}'$.+ ##= r ͮ w* ,~* "~#fo* -~* ^#V#~ѷ*  ^#V#~ѷ* (~* Z3ENV* ?c!9"1* ~"~2#~2* (~2 ͿPUBLIC, Version 1.0:]/ :^/ ͒* )^#V Ϳ - Abort: No Wheel ͒!#~/ʧ#~/(,CD:Uʈ,(ͿNot a valid Option:ͿSyntax: PUBLIC or PUBLIC /oooo... Options: Cc - Clear PUBLIC declarations c=A Clear All PUBLIC declarations c=D Clear PUBLIC User Area Drive c=U Clear PUBLIC User Dd - Declare Drive=d, PUBLIC Uu - Declare User=u, PUBLIC #~A&D,U322ç2ç#~ͳ J0?G:O>2çͿInvalid Drive Specified, Range is A - H #~ 0(90/G:O>2çͿInvalid User Specified, Range is 1 - 8 ::(O>A <Ϳ Public User Drive(s): f:(O>1 <Ϳ Public User Area(s): ͒:: (:(2AGͿ DIR Form: Drive : >2f( (:(0OR*:w#:w*>:> >:> !v !{:<2T2Ϳ ~ (͟# >:͟y  > ͟ NoneNoname V#^#͐~#͟ 5*P~!V###~=*P~!1222~1=*P~!_2222~_=*P~!ڌ22222~ʌ*P~!~2##2~:=%-22%\͟͟dz2t3[.R+=>*r"i͟>2>2͋O9ͩG͋͟:2͋͟G͋d 0͟G͋e͋d i:ʜ::ʗÜO:ʸiaʶø0z0yz͟~#\~#͟zO*+~>G! )! +~#\2#2""P"P{\~Yr#~+r##= \*^#V#~ѷ"> ͟> ͟O*. OA[y>yO0:y>ya{_S!~# S!"Z3ENVPWD ~-!~6w;;$R( Not Z33+$*  s 1 ͡8͆f{ * ~K (GyC : 2 az͕ͭͅ ! 4! 4N: (: *  " i#2 Q : =2 : 2 ͅ (more) C(ͅ aaaaCa4(>=_* ! :WM  7~=! _(#ͧ 7#F+: 0 ##( #~( (~@R#~^ ͅ : ###ͅ Nͅ - ~R#E N: <: Gͅ DU : DIR Name ͅ ---- -------- Gͅ DU : DIR Name - Password ͅ ---- -------- -------- E ͅ PWD, Version 2.0 ͫ ͮ!T K xK x( !BDM! y #x !  6̓! :w*"%  ^##~2 2 {͔2 {͔2 *" *" M (6 2  2 =ͽ ͞*  ~( , N#F͞> " ͅ Named Directory Buffer Not Availablea  #8 y! y #x ͊ͅ Displays DU and Directory Names with paging. Passwords may be included if WHEEL is on. Display may be limited to specified drives and/or to automatically wildcarded name specifications. SYNTAX: PWD [...] (delimiters are Space/Tab/Comma) Auto-wildcarded names to display : Display names for drives listed in ONLY ~: Exclude names for drives listed in / Honor an option or display help and quit. EXAMPLES: Displays (none) All Directory Names CA All Dir names starting with "CA" D:CA Dir names "CA??????" for drive D: only B-F: Dir names for drives B,C,D,E, and F BCML: Dir names for drives B,C,M, and L ~M: Dir names for all EXCEPT drive M: M (Dͅ /P Directory Names & Passwords (WHEEL only)7^#fkN#w + ^#V#N#Fq#p!0 "P 6!N#G wB(#". *. ~#".  ,:/    Z  P   ,     ~- " " 7 = " PA8Q0G:R OxA2R >P2S * #w" * ++~2R M ݮw Æ ë ! [P SP ͪÆ 0 * * *  !j y } ! * ! K " " " 2 F͚ y yG7G OXGA=OG7ww~q* 1.^ $+ ,^ "* ~#fo-^ k (^ * )^#V* |(~* |(^#V#~ѷ" ͮ ͍ ~#( ( Rͼ  ͮ V#^# ** * : W~(͗ *[(  : ͨ %-%( \ R͖ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0gRe.||d   008z0 AR~( #\ ~#RzO* |( +~(G  " |(" |(&~!8!  @ @ : ! 6# s#r#6#s#r#s#r#~#\ #> R> Rg &dz & z ͎ .,0g} |> (0GR|a{_%-%( \ R͖ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0gRe.||d   008z0 AR~( #\ ~#RzO* |( +~(G  " |(" |(&~!8!  RELEASE.NOT - UPDATE INFORMATION ON NZCOM Please understand that unlike purely commercial enterprises, Z-System is mainly the work of enthusiasts. As such, Z-System never truly reaches completion; each new development is more of a plateau upon which further innovation occurs. Though we have done our best, the printed documentation inevitably lags behind the most recent enhancements. Try to consult as much material as possible about a given command before proceeding; if there is a help or document file pertaining to the command, it supercedes printed instructions, especially with regard to such matters as syntax or technical specifications. Notes of September 12, 1991 =========================== Release 1.2H involves a significant updating of the support utilities that we distribute as a courtesy with NZCOM. We suggest that any Z-System user who is not in regular contact with a Z-Node consider taking advantage of the Z- System Software Update Service (ZSUS). Here are some of the important changes with this release. ZCNFG.COM, CONFIG.LBR: Al Hawley has introduced a powerful and convenient method for configuring programs. ZCNFG works either with individual CFG files or with CFG files stored in the CONFIG.LBR library. For example, try running the command "ZCNFG ZLT". ZCNFG will automatically extract ZLT15.CFG from CONFIG.LBR. NZBLITZ.COM, NZBLTZ14.HZP, NZBLTZ14.CFG: These programs can be used to coldboot an NZCOM system very rapidly with the complete system, including error handlers, shells, and TCAPs already in place. Run "HELP NZBLTZ14" to learn more about it. Some of its features can be tailored by running "ZCNFG NZBLITZ" with the CFG file in the same directory. LBREXT.COM: This replaces LGET for extracting member files from LBR library files. HELP.COM, LBRHELP.COM, HLPFILES.LBR: HELP (actually HELPC14) is an improved version of the help utility. It can work with normal help files (HLP) and crunched help files (HZP). LBRHELP can work with normal or crunched help files that are stored in a library (which is where we have put all the help files distributed with NZCOM and Z3PLUS). DOCFILES.LBR: Documentation and help files have been collected into an LBR file. ZLT.COM: This is a full Z-System replacement for LT, and it handles the latest LZH-compressed files. COPY.COM: This is the version of COPY from the ZSDOS/ZDDOS release. Enter "COPY //" for syntax information. It replaces a dangerously defective copy program provided with earlier releases. LSH.COM, LSH.WZ, LSH-HELP.COM, LSHINST.COM, ZERR.COM: These are the latest LSH command history shell and command-line editor and the associated error handler (fixed-log versions). These completely replace EASE. CLEDINST.COM, CLEDSAVE.COM: A transient history shell like LSH can be slow on floppy systems with sluggish disk drives, even if the files have been placed in optimal locations. Some of the RCP modules supplied no include an RCP- resident command-line editor called CLED. Its features can be configured using CLEDINST.COM, and the history can be saved to a file using CLEDSAVE.COM. TCAP.LBR, XTCAP.COM: A number of programs now require a terminal capabilities descriptor (TCAP) with extended functions. The standard TCAPs loaded with TCSELECT do not have these functions. TCAP.LBR is a collection of extended TCAPs for some terminals. XTCAP.COM is a program that can add the most important extensions to a standard TCAP (it is a quick- and-dirty fix until the full set of TCAPs is updated). VIEW.COM: This is Bridger Mitchell's file viewing utility. It is very powerful (but it requires an extended TCAP). NAME.COM: This program can quickly add or remove a name for a single directory. TCJ.INF: TCJ has a new publisher (one of our own Z-Node sysops), and this file tells how to take out a subscription (which all Z-System users absolutely should do!). ZFILEB38.LZT: This is the BRIEF listing of all the support programs currently available for use with Z-System. There is another file which includes descriptions of all the programs, but it would fill up an entire diskette! Notes of November 5, 1989 ========================= 1. NEW FILES: NZCPR.LBR, FCP.LBR, RCP.LBR. 2. TCSELECT PROBLEM. 3. ERA.COM, REN.COM, SAVE.COM, ETC. 4. LSH REPLACES EASE. 5. NZBLITZ IS HERE! 6. MINOR UPDATE NOTES. 7. TO NEW Z-SYSTEM USERS. 8. ALERT ABOUT NZCPM.COM AND NZCOM.CCP 9. CHANGE IN MKZCM DEFAULT AND STANDARD RCP 10. NZBIO+.ZRL 1. NEW FILES: NZCPR.LBR, FCP.LBR, RCP.LBR. The main NZCOM.LBR now contains only the standard configurations of the CPR, FCP, and RCP modules to minimize disk space requirements. Alternative versions of these modules are now supplied in separate libraries. Modules can be loaded directly from these libraries, or individual files can be extracted and put into NZCOM.LBR to replace the default files. Each library has a brief DOC file describing the modules (one of which is the default version included in NZCOM.LBR). 2. TCSELECT PROBLEM. A problem has been discovered with the operation of TCSELECT as described in the manual. TCSELECT is a Z-System program and does not function reliably under CP/M (on some systems it causes a crash). Fortunately there is a simple fix: reverse the order of the instructions in the manual. Boot up NZ-COM before attempting to create MYTERM.Z3T, and run TCSELECT only after NZ-COM is running. Remember that you need both TCSELECT.COM and Z3TCAP.TCP to generate your .Z3T file. The entries in the Z3TCAP library for the Xerox computers has been patched to correct a long-standing error. 3. ERA.COM, REN.COM, SAVE.COM, ETC. The standard configuration of Z-System does not include resident commands for REN, DIR, or SAVE. These are provided instead as transient programs (COM files), and you should copy any that you need to your working disk. Several other functions that are often resident (but not always) are also provided as COM files. Many of these are type-4 programs (see the manual). We recommend using SDZ.COM as your standard directory display utility. It is far more functional than the resident DIR commands in either Z-System or CP/M, and it is designed to work properly under both. 4. LSH REPLACES EASE. EASE has been replaced by a newer, more versatile, and well-behaved program named LSH (Log SHell). Like EASE, LSH allows you to edit command lines using WordStar-like control. Consult LSH.WZ before use for general information and/or run HELPLSH while running LSH for a display of LSH's capabilities. LSHINST installs and customizes LSH to taste. Error handling is now taken care of by ZERR.COM, a separate program. Our great thanks to Rob Friefeld for writing these superb Z-System tools and for allowing us to include them with NZ-COM. 5. NZBLITZ IS HERE! NZBLITZ is now included with NZ-COM. True to its name, NZBLITZ loads NZCOM (and ZSDOS/ZDDOS, if present) in a flash, making it extremely helpful in saving and reloading a given system configuration. Once you have configured your system as wanted, log to drive A0: and type NZBLITZ NZLOAD. From now on, your startup to Z-System is MUCH faster; just type "NZLOAD". Be forewarned that NZBLITZ saves EVERYTHING as currently active, so be sure you are at the directory (usually A0:) you wish the system to start in, and be sure all active shells, flow states, terminal definitions, and so on are the desired ones before proceeding. See NZBLITZ.NZT for more information. 6. MINOR UPDATE NOTES. - The RCP WHLQ command no longer used. "WHL" alone displays the current wheel status. As before, "WHL password" turns the wheel byte on. "WHL xxx" now turns the wheel byte OFF if xxx is something other than the correct password. - ARUNZ is now a type-4 program which loads at the highest possible memory location so as to save lower memory for immediate re-execution with GO. See ARUNZ09R.DZC and TCJ31.MZG (as well as your NZ-COM or Z3PLUS manual) for more on the amazing ARUNZ. - VLU is no longer included, as it was not reliable. Please use LDIR, LGET, LPUT, and LT instead to manipulate library files. - At this writing, we are sorry to note that both Z-Node Central and the Lillipute Z-Nodes mentioned in Chapter 7 of your manual are out of service. Z-Nodes 2 and 3 are still going strong, however, as are the many others listed in ZNODES.LST. Z-Node 2 is the new Z-Node Central. We cannot recommend highly enough that you get a modem and investigate at least one Z-Node as a source of inspiration and support. - Version 5.0 of the ZEX batch processor replaces earlier versions. ZEX now runs under both NZ-COM and Z3PLUS and is a very powerful means of customizing programs and commands. The ZEX.RSX file mentioned in the manual is no longer required. See ZEX50.DZC for help. 7. TO NEW Z-SYSTEM USERS. - All files whose middle filetype character is "Z" (e.g., SAMPLE.DZC) are "crunched" files which must be uncompressed with LT.COM or UNCRUNCH.COM before use. - As outlined in section 4.3.2 of your manual, most Z-System programs have built-in help; type the name of any program followed by "//" for a short description if you are confused. - Finally, it is not at all necessary to master every nuance of the system before it becomes useful. Please don't try to devour all of Z-System at once. Instead, we suggest that you decide what aspects of the system you will find most helpful and try to master one or two of those before exploring further. We think you will find that if you choose wisely, learning one aspect fully not only makes that aspect of your computing world easier, it also equips you with the skills and confidence with which to surmount other aspects of Z-System more confidently. 8. ALERT ABOUT NZCPM.COM AND NZCOM.CCP Some users have been tripped up by the way NZCOM handles the generation of an NZCPM.COM file: it writes such a file only if one does not already exist. This speeds up loading of the system. However, should you ever make any change to your base CP/M system (such as installing ZSDOS/ZDDOS or a new version of the BIOS), you should be sure to erase the NZCPM.COM file so that NZCOM will create a new one the next time it is run. You should also be sure to use NZCOM and not NZBLITZ to load the system the first time after such a change. You should also be aware that warmboots of the NZ-COM Z-System are performed by loading the NZCOM.CCP file containing the image of the current command processor. This means that you must not change the diskette in the A: drive unless you have copied the **CURRENT** NZCOM.CCP file (if you only use one system configuration, the current version will not change) to the diskette you are going to place in the A: drive. 9. CHANGE IN MKZCM DEFAULT AND STANDARD RCP Carson Wilson and Rob Friefeld have made some major changes in the RCP code (see the DOC file in RCP.LBR). The standard RCP module is now 18 records long instead of 16. MKZCM.COM has been patched to provide this value as a default. 10. NZBIO+.ZRL The BIOS in some computers uses the Z80 index and alternate registers without saving them on the stack and restoring them. These computers include the TeleVideo 80x machines, the Oneac On!, the Zorba, and a number of other machines. Some programs (JETLDR and EDITNDR, for example) will not function properly under these conditions. The file NZBIO+.ZRL in NZCOM.LBR is a special version of the NZ-COM virtual BIOS that protects the Zilog registers across all BIOS calls. To use this BIOS, you much use MKZCM to allocate 4 records to the BIOS. If you observe strange behavior on your system with NZ-COM, you might want to try using this special BIOS. - End of RELEASE.NOT - Z3ENVSALIAS* ͚$s*0"]/ʭ !e !1ʕ *dL*."[R%l&"* = ~(6 SALIAS 1.5 INSTALLATION Installing q 1 Install Editing Keys 2 Install Word Separator Chars 3 Install Insert/Overwrite Flag I Information S Save Changes X Quit ͅX^ .^ S4 I123<6 COMMAND KEY INSTALLATION The control key bindings are listed in a table. Letters represent CONTROL KEYS entered while editing. Those preceeded by a control character are shifted keys scanned only after one of four lead-in keys has been pressed. To change a key binding, move the cursor to the function you want to change. To make it a shifted command, first enter a number 1-3 corresponding to the lead-in key you want to assign. Enter a character "A" through "^" for the base control key. If you don't want a function implemented, enter a "-" for it. For example, if lead-in key #2 is ^Q and you want to assign the control sequence ^QZ to a function, first enter "2" then enter "Z". The display then shows the current key assignment. DEL is converted to ^_ by SALIAS, so that control key is not available. Strike Any key -- Õ ͭKͰDefault Insert On? ~͉ --> Y(Nw=wͤɷ>Nʽ>Yý5ͭͣͰInstall characters recognized as word separators. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->  ~ͽ# Change to -> > ͤ~6 Each command must have a unique key. Letters represent control keys. Enter a number 1-3 BEFORE entering the key to bind it to one of the lead-in keys. To disable a function use "-". ESC CR DEL are entered directly. TAB is "I". Quit - ^C or "." Skip - ^E Up, ^D Rt, ^X Dn, ^S Lt (& Arrow Keys)ͬ͗ * "*  )2 ; :< : ~#-{ *(-(#(#~@ʹ ʹ [ ͍ ͬ ͽ_@_@_ [ I M ͽ͹ DELESCTABCR>^ͽ>> ͹ :G! (~# :gK oQɯ: 0G C͗   . j \ a R W \ a R W !  ͩ  ͼ ͵ ͢ ̓  ͢ : ͩ [*K G:2)د222! !4{6! !~(5sͤx ^618'50#0G*+#= ~-̹ >` w -(w : {̬* 2<   x ~-:` _)*~ >)2  ?#2Lead-in Key #Lead-in Key #Lead-in Key #BackspacCursor LCursor RCursor UCursor DWord RWord LEnd/Start of LinLine StarLine EnUp ScreeDown ScreeDelete ChaDelete Char LDelete Word RDelete LinDelete to EOCarriage ReturInsert LinIndent LinIndent ScripInsert/OverwritControl ChaFinReplacRepeat Find/ReClear (ZapSave & ResumSave & CleaSave & QuiQuiFILE ModRenamRead FilToggle ModUndo ChangePrint ScripHel:  Saving... &1*dD2:(#Save Changes? (Y/n) N: 6,{ No filen6 >VSAINST - Default option and command key installation for SALIAS 1.5 Syntax: SAINST [salias.com] Í d  >W Installs only SALIAS, Version 1.5Í BGx( # 0=#  Choice:  *"=2͜~#ͽ> ý#( ## #^#V!w!6< #^#6~# (+:i2!hw#:2i\͕<\y F"*"}File: \xAͽy54ě>:ͽ>/ͽ~# Ľ 0ͬ ý>ͽSALIAS COM~#( ( ͽV#^#Q: *=[[÷[[÷* : W~(U*[( : fs&O["̛ܛܛܛ:g:g gɠgͰ[ (%-%( \ ͽD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|ͽe||d; ;0/0Gz0 A(ͽx~( #\ ~#ͽzO*>|( +~(G͌ ͒ ">|("|(D~!8? ~2#~2#~2 #:O # ! 6#s#r#6#s#r# 6#s#r#~#\ #} ~(# ~ # n###w*>1"*>~#foÄ*>|(^#V#~ѷ(G! NͲ">Y X OG>ѷO> ͽ> ͽ>)>.ͽ) Ľ&dK& K_.,0g} |> (0Gͽ|'͓͓d͓ ͓}ͤR<0 > (0GýͽͽO>a{_o*oƐ'@'@s#r#6#s#r# 6#s#r#~#\ #} ~(# ~ # n###w*>1"*>~#foÄ*>|(^#V#~ѷ(G! NͲ">Y X OG>ѷO> ÀZ3ENVF* |Z3 ALIAS!\~ʒ$$~#S.*DUF(1N(@T(H0( G!/(~!8 #ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_SALIAS --    , ;:./=$%*"jnryy4 , < E 0G W< B g uvm b & . > I L X s1͓1(s * [(L~2~O8.#~8(22G !G"K 2F d*")CRT < 79xTCAP:]?( /:^ (/SALIAS, Version 1.5 - Screen Oriented Alias Editor Syntax: SALIAS [dir:][filename] { Ü͔ ͚  :x̋ !!!xx 8څd!!) >(O N#FC`6>>>2x( >͍>= 4 y(}~ (+~#Ͷ ! x, Ͷ >>=Ͷ x, G~Ͷ( Ͷ yOͶ ~ (x , ' 6x=(ɯ }x ~Ͷ(x xG6#A>>͡= :/2ͤ x(: x8wͶ xxx(ͽwͶ  O T]+#x(*I #XNH{0Y *I #gzN _+ Å!! #zFind:!O!%  Global Replac>22 Change to:*M KO [Q Y >F2= X ͔ : 2+  *M := R(#! ~( qݾ(8#ͥ # : !x͔ *S "I :U 2H ^Not Found"; : O (##~qݾ *; "M *I F[; R-MCO [Q {8N(8SQ ^:= R(: (=!& :% ((~ͦ#=ʹ=>R2= X  ͔ ̈́:X X : ÄgN ~E#>{= ~E# y + Z>N8_{'WN_J*I # g :H gyo,*I F#N *I p #Ę + ͥ  :(y 9 KG y(2H ͘ "I [I :H *I 6 l  ͤ W, F ͹  g*)=x2> Oz :> +w#!z O KG [I ͥ ( "I CG l  :H 7 ͤ 4 :> Ȁ8>:> z G x ͚   ͚ ~ ͥ  "M *I p"S CO SQ :H 2U :U 2H KO [Q *S "I *M X Fq :2 ! :͵L(ONOFF - FILE MODE -- EDITING -- INSERTKG x͘ #͘ rx qB q(:͝2 q(*  X _͔ q X O X !t (CleaX q  ͬ*)"I 2H KG y=(CG *I "I :H (=2H *I R"I *I N #>=(G6#{Gͥ ͚ !y!*)[)!C 6~;((&~04O +~S (>6~#w6ͥ 6!q xALIAS CHOPPEDy!͚ ~(G#~(#>;ͥ  KF !y!>( #;(*):G G!~(##~  #((#S? *F gR"D 8ɯ!][D !R͈ CHARS!f![? R0 CAN'T! xͯ CL OVFL - SAVE ANYWAKK *)"I 6# x :X ͡*S "I :U 2H ^ :Gr  Strike Any Key --x !)2ͣ:<:~#-]!(0(#(#~@͕͕[ o͎͜V_@!_@_d([o(Iz( M̅(V͜DEESTAC :G!(~#:gKo: 0GCMeta-key #Meta-key #Meta-key #BackspacCursor LCursor RCursor UCursor DWord RWord LEnd/Start of LinLine StarLine EnUp ScreeDown ScreeDelete ChaDelete Char LDelete Word RDelete LinDelete to EOCarriage ReturInsert LinIndent LinIndent ScripInsert/OverwritControl ChaFinReplacRepeat Find/ReClear (ZapSave & ResumSave & CleaSave & QuiQuiFILE ModRenamRead FilToggle ModUndo ChangePrint ScripHelAxq!! > O ^#VACEFILMPNSUXHIYk"!Add Clear Edit Form Help Ind Load Mode Name Print Save Undo eXit*.NOÜ!\V $ *? }(?s ʓ"͚ ~(ͥ (4* !V \$ov(:W lNo roomxßs͝F}ß s ͚ ß2 (V>8Q!!͌ ~(5!͌ 6~(g=   ~ #!z͌(!~͌(ͥ !4IF :IF FIZIFF#~qݾ #((ÜAlias Name: ß! ~/wÜ͚ ~!$x_QDʗ!G͉!<!\͚͛ rr͓rͥ ʏAlias: Print to List/Disk/Quit? (L/d/q)Is printer ON no_Ü!}qÜ ͧ ̜s F:] ( }ÊFͬßs͚ ! FÜ! QuiSALIAS 1.5F}&.͚ #͘ ͥ r͵Mode:! ~ NormalRecurs͵Free:  ( *D ͈[D !RÈ͵-!{͡Ü>DV Line or Text? (L/t)x_2͚ #~(#~(:T>; > > ͥ :T(>!\y# !y#">!#H@TXTSC! w#BB<B<\2SB>  2A :i2B :B _ :B 2i͗<\!\6 #6 !i~+#62i!6# y !y!!e6C#6O#6M!]>? ͹oyï oͩ!]~ (v͆(!%PH(lͮ is not an aliasx͕͝*%&%!g~ݾ ##ɯZ3 ALIASy!~!% ~F#~2 !{ͩv͆(͑͊! "!R%DUSaving  ... Replac(!!#~:A 2B v!% *#~ ( +\$!%~2\ ~2io File?x>`>`͕2l͗:] (&ͺ=G:B O(~ V#ͱͺ\8:B \<@V 8  0>0V0V V͑ DISK FULLx~#( ( V<~#E 0 @2Rx_> Vg (>2[>KF#~ ܮV ̻ ̻@ >:O:g.l? (Y/n)x_N(>YVrN>-V͵H#Ax (((($_wE##6ywx0+>Vy(G>VxA[@ 0@a{_~(qw#d͜ ͜}0V/ R0y10xy VͻV#^#:)*)[)[)x[)[)x*):)W~(*)[)( ́:)'4&O[)\\\\:)g:)g gɠgq[)(̓%-%( \ k͆D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|ke||d 0/0Gz0 A(kx~( #\ ~#kzO*)|( +~(GM S ")|(")|(D~!8? ~2)#~2)#~2)):)O  !)6#s#r#6#s#r# 6#s#r#~#\ #  ~(# ~ # 2)vͣ,v2)2)Iy2)~: #ͧ~2): 3#:)((( :) :)ͩѯ2)ͧ~2):) . #ͧ :):)͋#* +>??͋#!)4(s#G~A8@0b2)#~ ̈́~ ( ̈́8#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,'-'4*)0~_*)|(~*)|(^#V#~ѷ")` `OGѷO>͑~(͆w#a{_͙o*o)#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,' Z3ENV!~6w;;R( Not Z33+$SAVED NDR* "s12_s͇b:_{:]?(/(!v* ###c> J>(C"`2b>(6( >ob)"d|>(:  ( # 2_7bk!] >?>35E\(͜Kd*`\T>  Ͷ<>(] !7e ! >.!?:_&o~#fo> O~P# =ɓ/ocode 1 - Wheel privileges are required. code 2 - Can't find System Named Directory! code 3 - This is a ZCPR3 program which must be installed with Z3INS. code 4 - Can't close file. Program may be munched. Replace it. code 5 - Wild cards not allowed. code 6 - Disk full, file not saved. code 7 - SAVNDR, Version 1.2 Writes the Named DiRectory to disk Syntax: SAVNDR [DIR:][FN][.FT] ? or / or // display this help screen. If no argument given, the NDR will be saved in SAVED.NDR Any existing file with the same name will be replaced without backup. w*&$~#fo|*&"~#fo*&^#V#~ѷ*&)~#fo~"&Ø——Ñ2 2:_:_ ~#/+~#/ O !GC#9y  _Z3ENVWHEELMAXUSER DRVTBLLCFLAGFILE ATTR:ONOFFSUMM DATA:ONOFFOPTIONSACDHLNQTVXDISK DIR SDZ132B -- 06/12/88, ZCPR34/ARC/ARK Version!9"n1n* |2ʉ~$ *n!^#V2N:O~#fo/>)#y* T]|<^#V#~<2"* ~~NumuCubuÉ~#u~#~~:–:>2!]~/µ#~/µ#~ µ:e X* |~~2#~2+>w#w!btw# :>2m|w# !0}2 }22  F 222 F M2:J:i2:k2w!F#~[ʶ$ʮ/™+~# ™ ʷ]ʷ!a# :~_w6÷ʹ P V !~ #>? ʹ ÷:e,T:,>2\:cA:gA22:d>kL>r2:q:b]/2b:mi F 1:\=Y_! ~e G:xʖ:ҖxÖG2!Yxe !]~$/[  6?#>?2hͬ !\^F ͅ##~2#~2##^#V"#^#V#*.;^#~2#~2#^"R":0R:\=_.F !~w+@ :*É*#hW+}yzc_i`:ʉ)=„"*#)p""*{zuͅ:_ F >?!hw#w#w!"""ͬ \F <ʅ=! o:l#~+:j~:n~} o:#* w#&o&o|go|gr#s#"*#"! *{zYMemory)͙ *}ʖ 2*!p s#r# +}ž*"+}$*|g}o$}o"#"*{ozg"*"** **{ozg**#{z*ý:f!5uF 2:p ʹ *"!""!p"":b*O *""*+"|D:b *> D##"*^#V#":bn* " }; >. ; *"*#":d™*:b±|}*|ʖ : *|ʖ ľ ʹ V#^":_zW/_zW{_ɯ2:2% 2% % % >0 01 ' x0I :>0 : 2 T])))e ܾ *~; >. ; V#^: *+"| 7:bʬ :h¬ *|ı2*| 2:b : 2 ʹ  :\@ ͅ ͒ > : } ~ : bͲ   * ʹ := mͲ :b y/_*  R y22o&O "*>w#n !4ʹ *W ʤ *W ʤ *W ʤ *W * "*|ʽ !5x :h *|ı:c :g ͅ :!4Ҍ:w!~6' !t~6  *r6#= uF PuF !~6e !f5w Z :\@ ͅS ͒  ʹ :bĴ 4:e| >!\4| i:kn F  F n: گ 2/ Ҡ Gy x0 > > >: >  G :f *r:t ͙ uF P!>p#"r=2tx_:kF { { :i{ :k{ :f{ :<2.{ <  ʰ ʰʰ n o _CʰKʰXʰ2D ɷ CͲ _:6{ʢ Aڢ [Ң ͬ NͲ _ͬ ò ~ #¾   *. E  8 _ S < _, , , 8 < C, K, X8  Å  :l G:0xh h |‹xx ͋ h 2 !4ͅ:_ F ï F  * :bô ͬ  ^#V#N#F_ #  n) ) Nq#Nqn) ) N#FYPN#fi :oK KK####K>2fʹ O ʹ :e… >!\4څi:b̴  F F :·:0ڰ-F ÷:eT:_F :_ F *n* ~:w#:w>2*:\*:#*>[ #~ >]  y> :2!H*=@ > J::0i-F *#^#V. ^>FNpq#=x: 1nn>22$կž~#:ʺ,!æ~ͨAA<2#~:?2#~:G~#: 0 OxGx 2~:#~,(!@ >?-:G:O>Z~.T#Z3z3̓z*l>?n#Z̓#r> z~ͨ!ڦ=_.:;,<>ɾa{ !p"2*+"| *> ##"û*|2:.Ĵ   * >2*^#V#"!>22:.Ĵ :J :\@ ͒ >: ; >. ;   :\ 6#F F ͙ !~:¿~!$:!>; *|ûF ͅ:_ F F  > #¿#^#~¿#^#Vzʿ"*#">2!T*}+"F ͙ !~i: T5 !>zÅ >: #; >. ; ##^#V*":d!{_j))))): *#":=2Y>2ʹ Y~#ɯ=2*#">2¿((! 6 #66#?!~#w._N~.k#~w#k!^#V#N{z_yW"!i!~*!ڨրwz$F *+ڿ"!¿!4 :<2o&~=2ÿF ͙ !\:# #C:K!YT# G t :P  Available Options (after '$' or '/' or '[' character): A - all user areas N - no page pause [more] C - file sizes in records Q - show non-archived files D - all drives T - order by file type H - current area to highest V - show version number L - list LBR/ARC/ARK members X - toggle horiz/vert format Example - to list all drives and user areas, no pauses: B0>SD /DAN * * * Special SYSOP Options (WHEEL SET) * * * F - file output (DISK.DIR) R - reset disk system O - show only SYS files S - include SYS files P - printer output ++ ABORTED ++ Bad ENV TypeDrive/User[more] $ $ Error ->>> No detectable file(s) on : Drive /k Files: Free: k There are member files in library(s) and/or archive(s) Archive directory for Library directory for k ++ Not a library file ++ ++ Not an archive file ++ LBRAR F - file output (DISK.DIR) R - reset disk system O - show only SYS files S - include SYS files P - priZ3ENV'* `'"+~8͵) Extended ENV required.V%(i% ͵) TCAP inadequate.!m~ ( / #~Ed!]~/#~Ed͵) SHOW, Version 1.4 Syntax: SHOW <-- Invoke Normally with Main Menu SHOW C <-- Invoke with Menu Choice C SHOW /E <-- Install "SHOW" as Error Handler SHOW C /E <-- Install "SHOW C" as Error Handler ' =͵) Cannot install SHOW as error handler using GO or JUMPͣ(' x@y*>:Ϳ(#~ (!] ( /(6 #w#6͵) Error handling command line set to: ͣ(ͻ)͋(͹'Ͳ%:] (%-->  SHOW Main Menu  <--!"+$ PACKAGE DATA$ F --  Flow Command Package $ R --  Resident Command Pkg $ C --  CPR Commands $ I --  Input/Output Package Ͷ$$ ENVIRONMENT$ E --  Error Handler $ M --  Memory Utility $ N --  Named Directory $ P --  Path Expression $ S --  Shell Stack !("+$ ZCPR3 SYSTEM DATA$ 1 --  Module Data $ 2 --  Message Buffers $ 3 --  Environment Data $ 4 --  System File Names Ͷ$$ CPR OPTIONS$ 5 --  CPR Facilities $ 6 --  Special Options $ 7 --  Access Options Ͷ$$ X --  Exit (% SHOW Command:  *u5%V%(%>>>> SHOW Version 1.4 <<<<1 2 3 4c 567!C$F4RE@IMNP{SX $ $$!5O~ȹ(####~#fo7(õ%(%  Memory Display :+O(% x> +y +> + 5%| y0:8+ 5% *+*+5% --$ (% Command ( <=down, >=up, A=addr, P=poke, CR=menu)?  i%*P(!A(v>(.(+<(,(-͵)oke addr (hex)? 0=T]K+B8-| )%4i%͵) Value (hex)? 0 | }">+ ͵)ddress (Hex)? 0"+Ñ>w)d+~4+7*+$"+*+%"+(% ZCPR3 Message Buffer Data !"+$ Shell Control Data$ Enable Shell Comment:   Z G$$ Enable Shell Echo:  N$$ Enable Shell Wait:  ~$Ͷ$$ Command Error Code:  Z +  !-"+$ Command Status Flag$ Shell Status:  Z G$$ Error Status:  N$$ Extended Cmd Status:  V$$ External Cmd Status:  ^$Ͷ$$ ZEX Running:  Z $' '$ SUBMIT Running:  -Z $Ͷ$$ Current IF Level:  Z N8xͥ*!"+$ User Registers (decimal) Ͷ$0Z  5% >:+5%=~#~*$ System Reserved Bytes (hex) Ͷ$5% ~# +$ User-Defined Bytes (hex) Ͷ$5% ~# +$ Program Error Code:  Z +$ Error Handler Defined:  Z $$ Error Command Line:  û)(~(% System File Names !"+$ Shell Variable File:  >G͍ Ͷ$Ͷ$1! $ System File Name y+5%:   ^*!~ ^*͵)-undefined-(% Data from Environment (% I/O DEVICE: LST CON (% width (% total lines (%  text lines (%  formfeed !&>7͌ !4>1n (%  DU OK:  >.͍~$5%  Max DU:  >,͍~@+#~ͥ*5%  Speed:  >+͍~ͥ*5% MHz5%  Quiet:  >(͍~$(% Drive Map:  >4͍^#VA-{0z+"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*Ͷ$#~$(% System Component (%- Address (%> Size !"+$Multiple Command Line Buffer (MCL)$Command Search Path (PATH)$Shell Stack (SHL)$Named Directory Register (NDR)$Flow Command Package (FCP)$Resident Command Package (RCP)$Input/Output Package (IOP)$Environment Descriptor (ENV)Ͷ$$Message Buffer (MSG)$External File Control Block (XFCB)$System Stack (STK)$Wheel Security Byte (WHL)Ͷ$$Basic I/O System (BIOS)$Disk Operating System (DOS)$Console Command Processor (CCP)!0"+Ͷ$>hͶ$> hͶ$>hͶ$>hͶ$>hͶ$> hͶ$>hͶ$>hͶ$Ͷ$>"hͶ$>$hͶ$>&hͶ$>)hͶ$Ͷ$>EhͶ$>BhͶ$>?h!;"+>̈́ characters> ̈́ elements> ̈́ >!͍~ͥ*5%-byte entries>̈́ names>̈́ records>̈́ records>̈́ records>̈́ records!;"+>D̈́ records>Ä́ records͍^#V|+5%----͍~Ã*Ͷ$}5%*+o|g(% Input/Output Package (| ,(%Input/Output Packages Not Availablei /(%Input/Output Redirection Not Availableyͧ(% Strike Any Key For Next Screen - *(% Input/Output Package ;͐5%  Console>C5%  Printer>,5%  Reader >5%  Punch >G5%  Assignment is i+## NP5% Devices --  Gi++##Ny( ͵) > P5% - ͻ)v~# (+> +((% Path Expressions (~ (%!Path is Empty(% Symbolic Form (%# DU Form (%2 DIR Form !"+(~(!Ͷ$Ͷ$~$(@+#~$ +ͥ*#!&"+@)(~(Ͷ$Ͷ$~$ x@+#~$ yͥ*#!4"+(~Ͷ$Ͷ$@)~$(G#~$(Oy#i(( ~+#5%noname(% Named Directory Data ( -(%Named Directory Buffer Not AvailableS+Ͷ$~( W{Ķ$Ͷ$~@+#~̓*5%: #~+# 5% {̶$(% Flow Command Package ( -(%Flow Command Package not implemented(% Flow (FCP) Commands: ! "+(#(% Resident IF Options: ! "+#~3#(% FCP Configuration Options !#"+$COMIF processing: F$F(M$Use root of path: N$$Specific DU: #~A+~+V(ͥ*(% Resident Command Package ( 0(%Resident Command Package not implemented5(% Resident (RCP) Commands: ! "+((% CPR Resident Commands '(;(%Command Processor is not ZCPR33 or is not in memory8(% Command Processor Commands ! "+H((%&(wheel-restricted cmds in lowercase)^#~~ ##*+%> oD8$. "+>2+C:+~ A8[0 +#(% Error Processing Data !-"+ !"+ Ͷ$$ Command Error Status: Z O 5% NO ERROR'( 5% ERROR! "+$Error Source: Z _(5%EXTERNAL 5%CPR/ECP$Command Error Code: Z ͥ*$Description: !W) h> a ~  5%Illegal attempt to change directory5%Invalid directory specification5%Incorrect password5%Bad command form (file type / wild card)5%Command not found by CCP or ECP5%Requested load file not found5%Ambiguous or missing file name5%Bad numerical expression5%Requested operand file not found5%Disk full5%TPA full (program too big)5%Unknown error type(% Defective Command:  ͯ(~(;+#(% Shell Stack Data ) 1(%Shell Stack NOT Available on this System!"+)XG1$ Element y+5%  ~ 5%NOT USED5%Command line: ͻ)$ $ Ͷ$ ͚$^$(% Facilities & Addresses (% Command Processor (% Executable Object Files (%  Extended Command Processor (% SUBMIT/ZEX Facility !$"+$version number:Ͷ$$file type:$check attributes:$accept DIR files:$accept SYS files:Ͷ$$file name:$rootonly:Ͷ$$SUBMIT available:$command filename:$LONGSUB option:$echo commands:$use DOS clue:$ZEX prompt:!:"+$3.:+02++Ͷ$Ͷ$͠'͠#:+gQ$:+oQ$:+wQ$Ͷ$Ͷ$͠#:+wQ$ }2+Ͷ$:+GQ$Ͷ$ W$Ͷ$W$Ͷ$W$Ͷ$W$`͏'~@@ >$+:+0>08>$+>:+#͠#>.+͠#0:+40Ͷ$W$:+Q$Ͷ$:+G͗:+OQ$Ͷ$:+48:+08W$ :+G͗P(5%QUIET FLAGX$͚$^$(% Environment & Special Options (% Information from Environment (%  Special Processing Features ! "+$Maximum DU values:$Accept DU form:$Show DU in prompt:$Get RCP address:$Get FCP address:$Get NDR address:! "+$Invoke ECP for bad DU/DIR change:$Invoke ECP for bad command form:$User areas 16..31 loggable:$Direct access to ECP:$Prefix for direct ECP access:$Prefix for current directory:$Skip path for explicit DU/DIR prefix:$Allow IF processing in shell aliases:!7"+:+G0$:+O0$:+W0$:+_0$:+g0$:+o0$Ͷ$Ͷ$:+Q$:+Q$:+Q$:+OQ$Ͷ$(>>"+:+G(#+x 5%" or space5%" only5%space onlyͶ$>"+:+(+5%" or ":" 5%:" only:+GQ$:+Q$͚$^$(% Directories, Paths, and Security (% Directory References (%  Command Prompt (%  Path Search (% Security Features !"+$accept DU:Ͷ$5%accept DIR:Ͷ$5%DU before DIR:Ͷ$$include DU:$include DIR:Ͷ$$allow DU/DIR prefixes:$include current directory:Ͷ$$password checking:$password echoing:$allow directory change:!:"+:+Gͪ#:+OQ$:+WQ$Ͷ$:+_ͪ#:+gQ$Ͷ$:+w#:+o#Ͷ$Ͷ$:+w#:+/oQ$Ͷ$:+/g$~ +#Ͷ$$:+/W$5%follow ENV DUOK flagͶ$$:+/W$5%ONLY IF WHEEL ON$:+/_$5%ONLY IF WHEEL OFF$5%ONLY IF WHEEL ONͶ$( 5%FROM ENV5%HARD CODEDͶ$$5%--(%Command Processor is not ZCPR33 or is not in memory'H( +~  *+%$"+Ͷ$5% ͵)NO͵)YES"+x> +~ +#> +͵)| *+~ 0>.+#SHOW V#^#%V#^#%~#(( ( +̀%̓%t'ڮ%V###á%t'ڮ%V#U'U'á%7t'8!8U'U'U'U'~( '=77?t'88U'U'~( 't'8#~2+##U'~(&:+!'=ɯ%-2+2+%(\(++͛+D(y2(p3(T.(H+(0>(R(I(+>2+>2+&O0&G&+:+2+&+&d& &0+&&d& :+&(:+:+(O:+&(ia(08z0 y(z+~( #\ ~#+z!'Ot'8y(+~ >GG' M' ~#\ #"+|("+*+|7~!Ϳ( N#F'͠' =H(^#R ##>'(,)' H( FɯH(###~ ##~0!~#Z~3 !~#~( ͵)Program Requires Z System=?(˞(###*+~( 7^#V*( ~(# ~ #= >͗(()(~ѷ(~#fo$())"*+~#fo) ) ))XG*+^#V#~#Fѷ*+w*+^#V#~ѷ"+Y )X)) )OGF#"+##( ###*+#~#fo2,!"+2,+ !+N# 6:,(!+~(͛+w#!+:+ͻ)~#(3 ( 0* ( ( (  y( yG>GO> +> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7| +} +ͦ++ͪ++. "+O:g/+~͛+08!G0:8A80 8))))O #{~#(+(+~#(+ O !+y  a{_Ɛ'@'> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7 Z3ENV*  !9"$n SUB Version 3.4? "J6"L:] ͍#pz~ ͘ -6N!e~ z!/̈́~#„ɯ2!2/½#~AʭI>2#~B>2~#  ½~#7  +**~[s#r#"~#  "p7?: Strike ^C to Abort Command File - ͑{ & ... Aborted ... Continuing:ʽ!+|œ¹Ù4 4 !":/ Input Command Lines=B Processing SUB File\(=G:iO  >͜< \<<*#"**"s#r##ʇ4 [ ~w#p n[" qB" ͓q*#"**"s#r##ͅ ~#foF6x;¿#~4 w#p n" q:/&:>_<2!~ɯ2\>*~#" =:> > Command Line? *J *J#~#"o|g6 : 0 Writing Command File to Disk &<ʷ:52F&<$*|^#V#"~*+"*|^#V#" *+"&~#2"!">2E6# ;ڭ^G;ڑ^G@ڑ ґ$d:/>$dR$j;'RÁڑڑ;0OxGux=RRG'~#Ý!5&!~=7w*~#"?!4n*w#":7~? [o&)^#Vz~##0:?͞Disk Full͞Dir Full͞Mem Full͞SUB File Not Found͞Param͞Too Many Params͞Line too Long͞SUB File Empty͞Ctrl Char͜ Error on Line *H ͜ &!46# x!"!""*L" Syntax: SUB - Print this HELP Message SUB /A - Abort of SUBMIT File SUB /AB - Abort and Ring Bell SUB /I - Go into Interactive mode SUB - Standard SUB File*$$$$ SUBc(͌ F͌###~ ~0͘ -~*2f 22 f 22ͧ :f <~ M ##x2_f y2_ f = :_:_ :G:O}2ͧ :G M ##x* y* =~$W :<=G#~+$d :O͸ ʁ ~#x * ^#V* "~#fo*  ^#V#~ѷ* (~" w  ~#; % ͩ      y yG>GO> 1 N 'q q dq  q }0 }o|gڀ s }o|gy” ʔ > y0 > >   >^ @ O*.  Y XH W+ H W+ r# x+ a{_*M }K $.O * ^#V* "~#fo*  ^#V#~ѷ* (~" w  ~#; % ͩ      y yG>GO> 1 N 'q q dq  q }0 }o|gڀ s }o|gy” ʔ > y0 > >   >^ @ O*.  Y X  \\ANSI Z3TK``BB2 Z3TC128-DLCZ3THDS-AVT Z3T eeHP150 Z3TxAINFOTON Z3T WW i iSBRAIN Z3T NF @TRS2-12 Z3T 6VCCTRS80-MMZ3T ϙUU@`TRSMODIVZ3T ms@@WYSE50 Z3TN22@@XEROX Z3T <<  KAYPRO84Z3TYkk x x ANSI Standard %I[%d;%dHBig Board II *=%+ %+ tG5G0C128 Commodore 2=%+ %+ T#''6'6concept avt [%i%2;%i%2HHP150ii HJ%r&a%2c%2YK&dH&d@General Trm 100A f%r%+ %+ K43SuperBrain Y%+ %+ ~K~H~hTRS80 Model 2/12 Y%+ %+ @ACBVT^?FDLEGTRS80 MONTEZUMA =%+ %+ TRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7Kaypro-10/4 @ =%+ %+ B1B0C0C1REGAC4B4fced`isuatvTRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7XZ3ENVZLT15 XABSARCARKBADBINC?ME?EENVI?TLBRNDRO?JP?DR?LS?RSYSTX#ZIPZIPZIPs 1 * } S !]~ ʓ>/ “ ##~2d!"h"f!"j#"s\: 2c:2e*"m>!ͩ (5>Q͛ (:m/2m>P͛ (:n/2n~/ #~( ͠ (#2e%2l *s} :md:l ͂͞>v|<($<(<t*h͑ t*h+ ͂t͹O :mg! 6 #pDѷ(@[(#. [([[D([ > [>[[D]( :m;244: }|D(g1 :l&:c 2b:d2c!w# !\u22!m~ ړ(U>͓ !LB"~>R2t<ʎz*: z!!/!O!o+| \̓ !"qh ʎ"o*q { "h>͓*o}+"ou*q"q̓ ͑<ʎ =:m > g!ͩ^#V#^#V#"j"22t<>!͓>2`!"^:`<2`bo*j+"j}(z *^#"^~ɯ2`!"^>uÓDDgo5 gd% gE g: g: d{ 7:e͠ ̩  :<2G:(M :n(*:bG:c=702b ge x=2b g>͓ :c:d(2c͠ 2ey(_S>͓(y2c(# (( _C(K(͠ (X> d0G !}= +}  _ ($  := 8:<2{E : :{ 0  ɿ:!#~(~? #! g~E#" : v vط >=(=2:2:O: DO>=2yO!0##^#Vz(y2z>7{?/͂|͂s#r#͂s#r#+~# ~ #( ?( #[hSh*s#"s*s}7+"s*f"f:m(>> E> _ :b<2b>͓O:my>(E> ͓0u8 ?/(>O:l4!v~ [#>.[~ [#> E  (#~ EE> E g gMember Not found ZLT Version 1.5 ^S pauses, ^C aborts, ^X goes to next file, ^Z disables/restores paging, Space goes to next line, 0-9 sets inter-character delay, others page. Types normal, squeezed, crunched, LZH files and LBR members, wildcard (*,?) filespecs permitted. Syntax: [du: or dir:]afn.typ [. opts] [du: or dir:]lbrname afn.typ [opts] Options: 0-9 - set speed Q - quiet P - paging on off Early EOF, <> --> LBR file corruptMember: [more] ZCPR3 requiredZLT  Can't type a "" file  Corrupt or unknown format fileToo long, download file "͗ ! ͗ [ƀo`S#54( +~ɷG >8  ( x#~ ( (#~ ( *1$ "*|(~#fo+- *)^#V*|(~l (G! NW "Y ͗ X͗ ͗  ͗ OG rr# ѷO08:8y8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. = >< >< >< >71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;s#r# xK!L;s#r# x^!;s#r# xs!:v N#F#~#~# xˆ!:s#r# x§! :vs#r#s#r# x¾!" #"* >>̊*p)~#fo"p!N4#" F 4#y#x|#y#x++~p+~q"VL *p 2cNwy#2dFwx! yxs#rb#s#r! yxq#p|#q#p! ~#fo!u!L^#>ڪ>{!L w#w~#fo#|g}! w#r#+|˜!:v!^#V#~#fo! +z+ {PY}O|GE! T]+~+ x%!L T]+~+ x;! s#r!L s#r+| !L ^#V! q#p>ڊ†>ڊ#q#pxg>7Û!>2"h: S25 v0 5 0  5 5 !+ >7> 2x22A!6 # x!|9}M!qzWB}ʅ|5 DM͉#{ozg!~w#|g#|g x_' A N ÖA n&)))))ڻ>þ)>?o*4DMyx) LN#F! |g}o"p>5 72>goWo&!9"> !6*#{zO*> +}|K}|Pѷ7"!tx N#F#^#V#! s#rYCLVkv    L1 L f }LLL3GLOLj q ,ai4LD!5 Copyright (c) 86/11/24 by Steven Greenberg 201-670-8724 and C.B. Falconer 203-281-1438. May be reproduced for non-profit use only.$ڿvº >>>>7*ɯڿ'!9"!.">0g">(g/g$"|g.*|:*gz? 0! HNÝq!"k> 22!2> 2`!ƒ2go"",;!~6:ʝ,;ý";!~6:<2";*:ͪ{ºgo"2q> 2>2>2:N:g~ w*9ҿ:gk~|>2> 22~V|g^zWN|g~Þ|g~2O*$%¶ʱo%$$"&"=g}$%>$*:G:x)g:gOD~ |0g~G|gn``͇"|gq*+"|=2r|gsu*:g:w|gs|gw*#"#:2:< e2>2*6#~@s# x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> )))).))  =))))l,z={:G:OyPO{_zW7y2z77*~ |*6#(~GL~ʆ͙y*r|gs:gyg*:W|G>2xL~:V|gn:g~ "͙ô*|*#"*:G"|gp]))))o{g:g#*"D*u{ozg"!S ~# xH  x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> )))) BGZRDS19HEXBGZRDS19DOC :100F6F005A52444F5320312E390000000000000028 :100F7F000000000000000000000000000000000062 :100F8F000603840DCD520D000001030C05CDE807BB :100F9F0000000103AD03CD0A0D00000103E807CDEA :100FAF00F609000001030A0D2A2500000001035273 :100FBF000DCD460D000001000000000000000000F4 :1011CF00850D0D05AE032A006000150015004600C1 :1011DF002A001A002D002500E8070A0D520D2C00D9 :0000000000To make version 1.13 of BGii work with ZRDOS19, apply the patch BGZRDS19.HEX using the following commands: REN LOADBG0.COM=LOADBG.COM save old version just in case MLOAD LOADBG=LOADBG0.COM,BGZRDS19 make new version of LOADBG.COM The patch is courtesy of Cameron Cotrill. This file prepared by Jay Sage. 000000000000F4 :1011CF00850D0D05AE032A006000150015004600C1 :1011DF002A001A002D002500E8070A0D520D2C00D9 :0000000000 , l{FF24 CFG/rrHELPC14 CFG4 >rrLBREXT33CFG?VQ>>S SLBRHLP19CFGF [+LX22 CFGR Brr@@PWD CFG_rr@@ZF10P CFGvnZLT15 CFGdERASE56 CFG trr  T AqBqCqDqEqF qG@qHqIqJqKqLqMqN qO@qPqR>uSeTVeWFe0e1e2 e3 -e4!Ne FF CONFIGURATION MENU Drives which may be searched by FF. Type drive letter to toggle. A B C D E F G H I J K L M N O P z z z z z z z z z z z z z z z z R) Return number of files found in register number z S) include System files in the search ? zzz T) Terminator following DIR/DU for found files is z V) View console screen with Paging enabled? zzz W) auto-Wildcarding in the search argument? zzz 0) Limit default drives to logged-in ones? zzz 1) display drive # headers for found files? zzz 2) Use NDR to control search? zzz 3) Wheel control? zzz 4) NDR for wheel user? zzz FF CONFIGURATION OPTIONS DEFAULT DRIVE LIST The search for files named in the command tail defaults to those selected here. This default list is not used if a drive list is included on the command line. In addition, the default list of drives is also limited to those which are marked accessible in the Drive Vector in the Z33/34 extended System Environment module if it exists. This prevents FF from attempting to access non-existent or unauthorized drives. R) Number of files is returned in .... defines one of the user registers (0...9) in the ZCPR3 Environment. The number of files found in the current search is returned there for possible use in an Alias or Zex script. This function is turned off by entering 10, an illegal number. T) Terminator .... This is the character following a DU or DIR form in the list of files found. You may wish to use a distinctive character here to differentiate the list from a CPR prompt. V) View in Paging mode. This is a toggle. When yes, FF will paginate its display. When NO, scrolling is continuous. The invokation command line 'P' option temporarily selects the opposite state. Most users prefer the paging by default. W) Auto-wildcarding/Exact mode switch. This is a toggle. When YES is selected, the filename argument is treated as if '*' and '?' wildcard characters had been included. You don't have to include wildcards in the (partial) filename. When NO is selected, FF will only find files that EXACTly match the argument you provided. The 'E' command line option temporarily reverses the default mode. Here's how auto-wildcards work: You specify: FF searches for: AL AL*.* AL. AL*.* ZCPR33.C ZCPR33??.C?? .COM *.COM 0) Use BDOS login vector - Toggles between YES and NO. If YES, then the default list of drives for FF to search is restricted to those which are currently logged in AND within the Z3ENV MAX drive limit AND listed in the Extended Environment drive vector. If NO, then the BDOS login vector is not used. The result vector is ANDed with the Configured drive vector to produce a word whose set bits identify the drives to search. (Drives specified in the command tail replace the configured drive vector with one that reflects those drives.) Control word: example: PONMLKJI HGFEDCBA Configured drive vector 00010000 00001111 Max Drive from Env. 00011111 11111111 Vector from Extended Env. 00010000 11111111 Login vector from BDOS 00000000 00000011 (this option) In this example, FF will search drives A and B because those bits are set in all four control words. Drive C or D will be included in the search after they have been logged in by ZCPR or a program. If an extended environment vector is not available, it is ignored. 1) Use headers in the list of found files. This option toggles between YES and NO. When YES is selected, a single line showing the Disk number is inserted on the screen just above the list of files found on that drive. Some like this 'dressing up'. Others find that it just needlessly clutters the screen. In either case, the DU: and DIR:(if defined) for each file found are displayed in the list of files found. Try it both ways - it's easy to change to your liking! 2) Use NDR to control search - When toggled to YES, only named directories with NO PASSWORD are searched. When toggled to NO, all user areas up to MAXUSR from the Z3 Environment are searched. In either case, the drives to be searched are limited to those allowed by the logic of the previous screen. This option is WHEEL sensitive; it is only used when the wheel is reset (non-privileged user). When the WHEEL is SET (privileged user, like a BBS sysop) this option is ignored, and ALL user areas of the selected drives are searched. For a BBS, this option provides precise control of what the caller can find: only those files in the Named Directories shown in his current NDR. For private use, you can avoid accessing floppy drives (whose doors may be open) if none of the FD's have named directories. 3) WHEEL CONTROL - This option is only relevant if Named Directory Register (item 2) is YES. When WHEEL CONTROL is toggled to NO, then FF limits the search to named directories for both wheel and non-wheel users. When toggled to YES, then the named directory limitation applies only to the privilege group (wheel or non-wheel) selected by the next option. 4) NDR for wheel user - When toggled to YES, FF limits the search to Named Directories (non-passworded) for wheel users; non-wheels get MAXUSR from the environment as their limitation. When set to NO, NON-wheels are limited to a search of non-passworded named directories and wheel users are not limited by MAXUSR or named directories. YES NOYESY K N NT%DA W)FP(@F HELPC CONFIGURATION N) Default file name T) File extension D) Alternate directory A) Alternate DU W) Allow wildcard help filenames P) Do printer-ready test YES NO Option N defines the default file name that HELPC will search for if none is given on the command line when the program is invoked. Option T specifies the file type used for all help files. Usually this will be set to "H?P". The "?" indicates a wildcard character, allowing for both "HLP" and "HZP" Options D and A define the alternate named directory and alternate DU to be searched. Helpc first searches the directory specified on the command line, (the current directory if none specified), for the requested help file. If the file cannot be found, HELPC attempts to search for it in the directory specified at option D. If the system does not contain a directory with this name, then the DU defined by option A is searched. Option W specifies whether HELPC will accept wildcard help filenames. Option P specifies whether a printer-ready test will be made before printing. If your system has trouble with the bios listst call, set this to OFF. #  OgU  LBREXT CONFIGURATION O) Overwrite existing files U) Uncompress member files YESNO YES The O option determines whether LBREXT will overwrite existing files without asking permission first. Set this option to "NO" if you want LBREXT to pause and prompt if a file with the same name as the one being extracted already exists in the destination directory. Set it to "YES" to automatically overwrite existing files. The U option determines how compressed files are to be treated. Set this option to "YES" if you want LBREXT to expand, (uncompress), squeezed, crunched or LZH encoded member files as they are extracted from the library. Set it to "NO" if you want the files to be extracted from the library but left in compressed form. U n L%E0NT-DA ;P3`f LHC/LHQ CONFIGURATION L) Default LBR name E) LBR extension N) Default file name T) File extension D) Alternate directory A) Alternate DU P) Do printer-ready test YES NO Option L defines the default library name that LHC/LHQ will search for if none is given on the command line when the program is invoked. Option E specifies the file type or extension of the library. In most cases, this will be "LBR." Option N defines the default member name that LHC/LHQ will search for within the library if none is given on the command line. Option T specifies the file type used for all library members. Usually this will be set to "H?P". The "?" indicates a wildcard character, allowing for "HLP," "HQP," and "HZP." Options D and A define the alternate named directory and alternate DU to be searched. LHC/LHQ first searches the directory specified on the command line, (the current directory if none specified), for the requested help library. If the file cannot be found, LHC/LHQ attempts to search for it in the directory specified at option D. If the system does not contain a directory with this name, then the DU defined by option A is searched. Option P specifies whether a printer-ready test will be made before printing. If your system has trouble with the bios listst call, set this to OFF. 7 _ WWSR-C D CONFIGURATION OPTIONS FOR LX22 W) Respond to Wheel Byte? YES Command Library File to Use: S) With Wheel Set .....ROOT:COMMAND.LBR R) With Wheel Reset .....ROOT:USERCMD.LBR C) Default FileName for LX22's .CFG file .........CFG YES NOYES W) Respond to Wheel Byte When 'YES', LX uses the command library according to the status of the Wheel Byte. When 'NO', then LX uses the command library named for 'Wheel Set' below at all times. This option is of use in secure systems like a RAS or BBS where the commands available to non-privileged users must be restricted. S) Library to use when Wheel is Set The name given here is a full unambiguous ZCPR filespec. There are NO defaults, as this name IS the default used by LX. This library contains command files for use by a user who has full system privileges, like a Sysop. R) Library to use when Wheel is Reset (or OFF) This library contains only those commands safe for a non-privileged user C) Default FileName for LX22's .CFG file If you choose to rename the configuration file provided with LX, then the same change here will allow ZCNFG to find the .cfg file without its being named on the command line. Only the name is changed; ZCNFG still expects the filetype of the configuration file to be .CFG. This configuration option does NOT have to be changed when/if you rename LX itself to some other name. This option is only for your convenience in selecting a name of your choice for the .CFG file.  B 0J 1 23A- B. C/ D0 E1 F 2 G@3 H4 I5 J6 K7 L8 M9 N : O@; P< PWD CONFIGURATION 0) Show passworded directories to non-wheels? YES 1) Control display of DU with DUOK (non-wheel)? YES 2) EXCLUDE character for drive list is .... ~ 3) Range designator for drive list is ..... - PWD is allowed to display named directories for the following drives if they are marked with '+'. Permission for each drive may be toggled by entering the drive letter. ABCDEFGHIJKLMNOP ________________ EXPLANATION OF PWD CONFIGURATION CHOICES 0) Show passworded directories to non-wheels? NO means that PWD will not display DU or Directory Names for directories to which a password has been assigned when the WHEEL byte is reset. This is useful as a security measure on multi-user systems like a Remote Access System. YES means that the DU and Directory Names will always be displayed, disregarding the WHEEL byte. Display of Passwords is never allowed to non-privileged (Wheel reset) users. 1) Control display of DU with DUOK (non-wheel)? NO The DU part of the Named Directory is always included in the display when the Wheel Byte is set. A YES response to this question causes PWD to display DU to non-privileged users only if the DUOK flag in the Z3 Environment is set. Some Remote Systems prefer to inhibit any reference to DU, using only directory names. 2) EXCLUDE character for drive list is .... ~ 3) Range designator for drive list is ..... - These characters are used in the PWD command tail in a drive list expression, which may be an undelimited list of drive letters. The RANGE DESIGNATOR is the character that separates the first and last members of a range of drives, like B-H. The EXCLUDE character inverts the logic for the rest of the drive list, causing the named drives to be excluded from the display. You may change these if you are more comfortable with some other pair of characters. For example, one might prefer a '-' for the EXCLUDE character and '.' (period) for range. ABCDEFGHIJKLMNOP is a drive permission vector. ++++++++____+___ Set them all '+' to enable display of all possible NDR entries. During execution, this vector is ANDed with the drive vector from the Z3 extended environment (if it's present). Further, the Maximum Drive from any Z3 environment is used to reset bits in this vector for drives greater than the maximum. YES NOYES+_@O ;!   10+21+32+439+54q+65+76+87+98Q+A9+B:+ 112l3+4:+5+6X3778+9  3A!F7B=+C<3 1%+2"`+3#+YES NO OPTION LIST 1) Single file replace query ................. 2) Multiple file replace query ............... 3) Query on archive replacement .............. 4) Verify query .............................. 5) Verify default if no query or answer ...... 6) Suppress display of SYS files ............. 7) Alpha sort by name (vs. type) ............. 8) Set attributes in copied files ............ 9) Use attributes of dest file (if exists) ... A) Set ARC attribute in dest file ............ B) Use path to search for CMD file ........... MACRO RELATED CONFIGURATION 1) Macro leadin character (HEX) ................. 2) Time delay on screen refresh after error ..... 3) Allow immediate execution of macros 0-9 ...... 4) Use path to search for CMD file .............. 5) Use root if no path search for CMD file ...... 6) Fixed user area for CMD file ................. 7) Fixed drive for CMD file (A=0) ............... 8) Use root of path for ZEX batch file .......... 9) Fixed user area for ZEX file ................. A) Fixed drive for ZEX file (A=0) ............... B) Erase ZEX file after use ..................... C) User Register for tagged # storage ........... GENERAL CONFIGURATION 1) Log in current directory with "Z" command .... 2) Upper case for display of file names ......... 3) Clear screen on exit ......................... FURTHER PATCHING These strings at labelled patch points can be altered with ZPATCH, or by editing and assembling the overlay file ZF10POVL.Z80. MACROCMD: db 'ZEX' ; Command must be 3 letters LEADIN: db '|"|* * * ZFILER Group Macro * * *|crlf||lf||"|' ds 64 + macleadstr - $ , 0 MACROFCB: db 0 ; Drive db 'ZFILER ' ; File name db 'ZEX' ; File type ds 36 + gmacrofcb - $   +]Uz  MT#C#Q#PT#D ABC!D$<E'^F*G-H0I3J6K9'L<HM?jNBOEPHQKRNSQ3TTTYES NO ZLT Installation Menu One M) Max. lines to type for nonwheel ........... T) Restrict file types ....................... C) Restrict control character print .......... Q) Default to Quiet output ................... P) Default to paged output ................... D) Default typing delay (0..9 or "X" for none) ZLT Installation Menu Two A) Exclude filetype A ..... B) Exclude filetype B ..... C) Exclude filetype C ..... D) Exclude filetype D ..... E) Exclude filetype E ..... F) Exclude filetype F ..... G) Exclude filetype G ..... H) Exclude filetype H ..... I) Exclude filetype I ..... J) Exclude filetype J ..... K) Exclude filetype K ..... L) Exclude filetype L ..... M) Exclude filetype M ..... N) Exclude filetype N ..... O) Exclude filetype O ..... P) Exclude filetype P ..... Q) Exclude filetype Q ..... R) Exclude filetype R ..... S) Exclude filetype S ..... T) Exclude filetype T ..... ZLT Installation Menu One Help M) Max. lines to type for nonwheel. The number of lines ZLT will display when the wheel byte is off. Set to zero for no limit. T) Restrict file types. Set to YES to restrict viewing of files with the types shown in Menu Two. C) Restrict control character print. Set to NO to allow ZLT to display all control characters. Q) Default to Quiet output. Set to YES to tell ZLT to display quietly by default. The "Q" option will now result in verbose display. P) Default to paged output. Set to NO to tell ZLT not to page the display. The "P" option will now result in paging. D) Default typing delay. The speed at which ZLT sends characters to the screen. "9" is slowest, "0" is fastest, "X" disables delay. ZLT Installation Menu Two Help You may install up to 20 file types for ZLT to exclude. ZLT will not display files with these types. You may use "?" to match any character at this position, e.g., "C?M" matches files with type "COM" and "CQM". To use less than 20 entries, simply copy the last type to be excluded to the remaining entries. ? ; 172@737407YES NO ERASE Installation Menu (1) Default to quiet mode? . . . . . . . .  (2) Include system files by default? . . .  (3) Erase read-only files without asking?  (4) Erase all files without asking first?  Option (1) -- This option determines whether ERASE defaults to quiet mode. Whatever is chosen here can be toggled with a "Q" option on the command line. Option (2) -- Normally ERASE does not find or erase system files unless the S option is used on the command line. If "YES" is chosen here, all matching files, including system files, will be found and erased by default. Option (3) -- If ERASE finds a matching read-only file, it asks before doing anything, unless the R option is included on the command line. Select "YES" if you want to erase read-only files by default. Since read- only files are supposed to be hard to erase, "NO" is highly recommended unless you are fully aware of the implications. Option (4) -- If the command line contains an "all files" file specifica- tion (*.*), ERASE will ask "Erase all files?" Answering "YES" here will bypass the prompt and ERASE will delete all the files it finds without further ado. A "NO" will help prevent wiping out all the files in a directory by mistake. y recommended unless you are fully aware of the implications. Option (4) -- If the command line contains an "all files" file specifica- tion (*.*), ERASE will ask "Erase all files?" Answering "YES" here will bypass the prompt and ERASE ÃZ3ENVCOPY BACKUP !!?????????[??????]???????????$?$ s1!fg6Wf$$"."{."}$." COPY Version 1.71 (for ZSDOS)* ͼ" ͸͉:  =2͹W2 >2ͭ!l͎x2t:(: (!" K Cwe[!22~# (+/"f:OG++~:(>  ##͉ ~( #!ͭ:r :s(2:o(2G~(8# ^#V}~/w## ArEpImMoNQSnVlXRsOq:>  Option error!  Syntax: Y  dir:[filename.typ]=[dir:]filename.typ,... [/]o... (or) Y  [dir:]filename.typ dir:[filename.typ],... [/]o... (or) Y  [dir:]filename.typ,... /o... (Copies to KwJ : 7(#b ) Options: A -- :rĿ Archive Bit Control E -- :pĿ Existence Test I -- :mĿ Inspect Files M -- :oĿ Multiple Copy N -- NO Copy if Destination Exists O -- :qĿ Existence test - R/O files Q -- :Ŀ Quiet R -- :Ŀ Replace Only Files existing S -- :nĿ System Files excluded V -- :lĿ Verify X -- Delete Source After Copy NOTES: "R" and/or "A" turns off "N", "M" turns off "X": NO 1:R * ~^w#VwS[{( * ~ s#ro{:o(3  ...Any key starts copy, ^C Quits - _*f"h22*h~!0+:l(  :(:ͨ  Errors:o, # *}#6 #~!ڽ o[{3ͩ ~,(L=(" D#~,(>!ڽ [}3ͩ Cw&Cw[}*{ #~!ڽ [{3ͩ "hCu*}> { 2(*}y *{y !Ku*wB   Src=Dest Errï :r(  Archiving   Copying   : ͈ *:O:n>(>2 x(G :r+ x 02ͯ  NO Files -- ^C to Abort LD:mĸ x2( x "j$ .8}0>22Ͱ 2:2z :(J:(:  (Dated)Ͱ ::l(&\ :(: ͈ ! ~   (X) x D2:[} [{ "͞ bk #˾ J ͊|= Ɖo&~2G:qG:p2: y: s!ͺ  Replac! : ! :(J*͖ (5!͖ (,8 # Same! Newer Older Undated:(  R/O!~(  (Public):(  Can't!:(  (Y/[N])? Y:( ! ˾̈́  ..>22< ͏͈ ͔ *j& :('ͩ *j[} :=2 : ͔ ͥ !ʹ *!*͵ Ͷ"y[{*}#͌ #͌ yĄ :r͔ ! J0 #! ~#+ ~#+ :t<=G! N  Error:   TPA Ovfl,  Disk Full or Write Error !ͥ ͯ   Directory Full22:l( ~͘# :<2G: 2:   Verify..͏͞ *j[}& :(: Ͷ[yR !4  ..Bad>2:/í  Inspect -- Yes, No (def), Skip Rest˾ x _͊  - (Y/N/S)? S(Y  x ˾! ~ kb! x *_ (! x #  (?( # [{:v<[{Ku[}[}Kwyl  Abortv:: :  Already Present Ok!  Can't Rename Ambiguously -- KuJ [{͊  to KwJ :[}ÊxAyͨ>:: (#~  COPY>?#  #y~/ w+w##T] ((  ! (#W 2* }Ć;|AEIMNOQRSVXe ing 2"yG(͡(-(2$ <*"!"!"-w(e" !"ͺ"V [*K"*:o>? w# w#og"(i[] :0T͊K*x(? ~#~#foR(կ"  w#񇇇O*   ͰK2`o&~ʛ қ: ~((r[S[:0 p#s#r# =!~ #  !ʹ'!~! :OS(͡(>D2:S(#3(͓("i2!.b= J| 1} 8&08@8!""0J|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm͢ R8(>!^̢ R8(#<ͺ`G}iͺOdR0}ͺw#p#q#AI##N#Fx(Hx?b0A0dyy++F+Nxxͺѯ=2"͊(# Ͱ:_[ͰI<2">͊(. Ͱ :_*>(ͰI<2N P(~(## #F#N> 0:8 A[877?͏E2͎Cͣ:> &#:(88xy2͕ͣ ~. #ͩ::ɯ2w(#* +>?? !4w( #> (QKi!8BA8G!8!!8p8*O}o%  M*B( 8 8KP(#K($(G$(O #( 0 ?~_.,>:0 Яɿɯ͕ q#w#͎q#w#o>o._$,_"*~#fo-_"P(~((F#N+##[ #P(~(ܸ #~+(u(_*|(~*w*|(^#V#~ѷ͗[z0*~( 7^#V*"|>Z (*>O>G>Z |!~#~3ENV<*"!"!"!"ͺ##^#VS#^#VS"!yg)0>g>!or$s%# !"[O* ~W$^S*S*|(9DM)8481*R8)*|(*s#r#* x "=ɯ*$:(]: W*|(P"!"*+|(?"*#"T]~#foͳR0͒*s#r#~## +~# +r+s: ͯK +) +w#ͳ+T]K! !0>))0 =  x [: ͯ+) N#F^#V`i*+)K " ![*"*<}E +""*#"*R8*R8(0͎̓CKyY JXJJ JOG _ J>S>>>S>S>S>S rr# ~#  (  ( ( ( y/  ѷO> > /v>)>)/>.&d;& ;.,0g} |> (0G|O>)~(w#H}|8 a{_1o*o*.:g~O#*djJXJJ JOG _ J>S>>>S>S>S>S rr# ~#  (  ( ( ( y/  ѷO> > /v>)>)/>.&d;& ;.,0g} |> (0G|O>)~(w#H|Z3ENVCRUNCH28 ARCARKLBRFORARKARKARKARKARKARKCRUNCH Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |Š@sm1 \ 1 2U2 ;*k~  "kr# "k>2 :(:ʔ:eh$:ehc 0X͘0,v ~<(<( <(2U,l,> ! 1;Z !:> >Z(# # ++ 8,w#w#w9 ^͡>v>!  !~# >(> >:e d!1!%8ͩ0%!>!0uô%!%:(::͡ ͗ :H[*RH:8W ڔ:ʔo *#"ͣ ͭ ÔÔ͗ Ô͡ 1ͨ͗ Ô2!%!""2͡> 22>2>2!:ùG:?L~0ߺ !|g{ |gx |gV|g^axa[o|(0÷r|gs|gp[|gr|gs7x[S:'2:< (2>2L~0ߺ 5|g{ -|gx %:w:w:(|gV|g^axan "[o|(0EL~0ߺ 5|g{ -|gx %:::(|gV|g^axa[o|(0æ*#"*Sx2r|gs|gp!6!:~LA)0 O[y>2:2:O/G):@ :n>2ɯ2y >2L)Ҋ@Ͷ 0!ͩ< !ͩͩͩͩ2!((>w6Ox]))))o{(g#u"o #~(x >.O:U>!V~ /#+:W͘8((2z!X!z!z͘8((!1>!qZ͘8((л(!͘8(!1>!͘8(7~( #]( ~ #ѷ !~ȷ(.!###~($?(ݾ #~?(ݾ #~?(ݾ >w GEL Cruncher Version 2.8 $ [ Can't crunch .ZZZ files ]$ [ Already crunched ] $ [ Already squeezed ] $ [ Result not smaller ] $Result not smaller--Save anyway (Y/[N])? $Usage: $CRUNCH {d$:}afn {d$:} {[text]} {/options} Second parameter is destination. "[text]" is any text enclosed in brackets. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files A Archive mode o$ S $clude System files$:?! Nc 1;Z 9 0͗ 7>$2:eͶ 8͡ ͗ ! 2 ~#v!"!*#"T]~ *ͤ>.> #. >.. >:(>*8 U !>> 8 T >*>B *+}T n +"8 Nn Y(>>Y~#J  1o*[ :ְ80 +!"o@8>@2|ƥ2}* }(!~ !$^#V{( #:2e:2f:2g:2h:2j:2i222:x2w2 20!]~/ + ;:i2 :kD :y20:{D :l21!N>[+xİ :  :y2zG:1 :y2{J 2G: O:02>?!  (22v:g/2u >/82u0|S(D 2v S o :hk !"k:Gƀo&> ++~/ +~ #( yA6# ~S("Q(#I($T( C(E("O(A(v!j!e !h!i!f(66[=S:v( ! V>2UN ͨ<7 ͨ:i !ͨ}' ~#:=2  .:u ( ,( ,}2(! 7ͨ,ͨ ͨ >:tͨ ͨѷP:u([!1:f #ͨ1ͨ<('Do(7:e( :f 1ͨͨ< o1ͨ:vN !  !=N1! >f>gͨOͨ={' 8:} :|'G,x:uLͶͶͨX,ͨ1ͨ KQ: ro:z=_ͨ%[ͨ:y=_ͨ*k"kÔ oͨ1ͨ{/<(G>B%D,ha:x :0: _:w( {2w ͨ ͨ2xͨ<2y*O " > ͡ ͗ !11ͨͨ 1oYyx/Gy/O>j 8B= !"s ͨ > > _ͨ?:Ī̥:Ī̥:IJ:Ī̥:̸':e*ͤ*+}>s{m:>n>fo>I>n>E>x* }>u>i>r!~ !~ #+F#~# :y@ x 8  0x00>: C>.C> ~# ( !"~ͨ ͨ͌ ͨ(͌*~|ɇƀo&:j  ~:hG:i(> ~O#:i(yw*~#"~Bo*#"!Q ͨ(ͨ Q1o:e :=G:(Ux:( :=*#"!Q>$2> 2:e x: C[*"q> ͤa: !: *++ͤ> *ͤ*[R"q*[R:8}2<>2*"*"!DM)jJ)j)j)jJ)j)j)jKq̈́<#~ *͋>)<<<ͤ>k͟}͟}͟}͟}(00!(!  Nq# # 7K~Cbk x{ _zWK Cx ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$ VЇSSARUNZ09UDZC:(3 vRCPCLED DZC< =:>jSALIAS15DZCI ZEX50 DZCi7p`` vARUNZ09U.DOC " IRR#  yLm6NG Ѐ 0LC) 0Ȣ"i7pAD [i9((ky!)-XM,-*CU6txC-/Ҹ.ƮևOц6 @&H1!H[1"tM~"+2;ҞՎ!.gR)r(2Mdʩ|:]8© JS`_$)D&ߔ׬ђ ,Q$,cl^A7uԪWzL̦1h7R%i@<hOd (afהb!^=p%n%?Bz)&l׈1Ze 2LYM5ZhfPKts ɔl.uln`b$@Sj Y s) p"MMAb ેh%7Tꮐ9-cC<șgQIhf|@r^_ )!]Y+C9@(+oK0r)f9p Htv!+kpcC.gx1m(ac@Oh+~XO!4"%@s9+U98IV;{AD?;xYBH+bK-UfL0rh$u~c$gY+t[*8䋵KIыNR c@B(-(%B1V4#؋22-&(o/yAZ:i Ok)8}8E(Xa,d/2/g$&c;X*0 C1ccD"iHL9 x3tKJ8Ә,[?H%uG (2-@(T=aBUYlcC(2.Yof(20("5`AB?ITq<(2(6eaD!kX0#6?)C8O1#kH0#c1)IA"w^Qb!W?T')1\)_ԹVg<)тs՘фYyBa!?dtu]OEKq t6%{E`o_!CGTF"!u!iu6Pxѫ=\`T ل@gpG<42@=MI93?4CSJ$\1lD9IPZrbIr d7@eU5sYc@Qx$5p,rT3k6wX2#4%`g2*|OaP 3#T}Qq)qd{N=qdcH4΁,Ka,P v6Gu4KmbUtPcI7Cv%@7gAcK'Glc"4Y)oQC-e\7TnTژ)#eltyC&cEVx>"d !GX~c<{4KUz;?e>(RWb˜ѡ[7j[YiPYq|LIuz!k'}KKT`sufKf[Jc}G$ME1a(Y9$!8="WLM:(3>;c1״f}j+о9!3}Cٚ6uvA(q$ὑtN^{ Gҵ&q}-IvQoKd؇q0|0fq+f꩞(9KnkQfn`3(tea Ȳ]+pOC%U`uo#p71<]y 2QsW.@wTZ7M^~Q"d >Yei@TK>WÝIwp-P MIiR>Wt@&tNO} V2$Q<1!!)P g v*B7\ȼLlCV7{@)b|sSS‘I¯!"qU[E_ʱk+Mf=U6!,@)!lcCݨ9 ΊHi3*ĦИ} |O*7-c_4P+#z++@K°>lVZyİ <1KYi,[I>44!gP&#2>AyOXK_*xZS}mr "\p$q[ps\יՠMV+7[?؄CĂ }K~|Yٝ@ 02ё}:hk Ya-D0# 9@W ǙɆeӄ ^]d%!.FQqez}#^dNq-u*xD$>HcU{8Ɓ˴9~T%xᧀ )47%.= ]DZ>f JS4 `k!+oU |WGrT:s`o]w̺^Mȑ\)M&ƭ1{|!< ΉQU@(IF8FfQD1AjD}u!ab"0mU<}Cϭ&tvh2#`$ .(6eQ *_sUj"Y tK&kpu5{fM߱[ft(&/ldF} 6IN7KU{xʸ1;1OR]2;qtLe_6<0`Pr(!d$s[eϩ^.TdKarBQeM/e 1~AR$D>+1`$܏C9p$Dp^{OD//'):Tox l}) D'A1=pC p=ןNҍ2.iՒ2[Z$P=^!&74F >  oUb)SWDGN<?6'7`E:sE%jrLg3l{8[q-_18!QQoVH=XWPE2>SVW9D"bcfMp$pp;bCf*~7Y5|@+@i/z*taWq?ef^xs -96ٽhoÌդ!痿|>$>f&n4/+ S"u 0erÂA"5>Z0PU=ک*•%gIQYċPrBMoFRw$juu_+҈KIKQv1NP`d AN( q%}!Gd[)q:~U{^>)LgZHDi*9ܟt:ZF$d'+~AKSCѓJoMTЎ_ F0A$׭*+o* m!gGoz$NwƤG`fHDZQF"uYl>!=ӝw,ބgtw!mt#FW^ 5\l'YTSF7vIZ"|/ 2@D/@uL 3Vk:R*j%DpS?c 81dsI{Y1F} V4Y0MG1MӗDJ@D9pH|:9A?aL`0-"Hsb-5!11eas1Ӕ4e9pAt@mpBRJ2S"tD8fMzdf@Deh)J„[s ȫ%#ް8ؼõqIϭ}ʙ~Kpq1pMqItS{ON+c^dݥћZ2P'9E 1`N}9rjC IOA`D#Ip=u)t7\z t=& ̱]Bcbu;)r3>IVJu~[ۀZS7@Ih1>i߷=.%3N-Axg2V7v^OLS(7 &8Inwu|1^;jPE0;>IF/% /S22KcCX5W@16#"n$/@"lq@ߧS,ژƹ$1M^8jVO y%qdϾN{a?֒-8 d>]AO !*c>ZnWB>OYe~qodcwO/D`[e㚯 I})\֐=xOU桦ۊE~BFE4c}2Ѡ57sC>2ՕjNM"}OŘ'Y"In%>o+J .u+\ŒV;IIb9Q;aubI=wç5X|24bVtT 9Q`+H SvRCPCLED.DOU R"[GUIDE TO CLED]# )2a fin2 q@E2Ns8%$NgCy ) `(cH!@b1'SP:$e#y@F9LiqxV2fy s!eT s tpcUbm}j3WUkk I]erE3?}IQ`UWatyXmi{Kc(ʀ\5Fmֆqact DDLT| #7aJ&Ow,9TsxNH Z/vmNPEȠS?Xa9m N.!1w=bAiۮ)@Jh h!'.;B H,cM8pHTR[0tn)B16r>T*Ƙ8/1ęGMd7uP0XS)d(سm0(w)d3ByR2>~'8,G#0ekN-eqVafwDVG`bH ( v"F] ?Y1;$t+Ze#~MgHulVA#'>3\tR!(QfGTQGf%9eBr ԘAw0wHt4(e!E<ƄѼpU,FHtNu*)!H*P A(eX d o+QE X@b6`Q $"LT 0y`pVTJuC|}h-AH y?G$84T.(FӃPkE1:tdqjdJ x%k#D{ ")(Y]o]ovP@__k-P1ϡF9黏b@QS'`t͸ vSALIAS15.DOC  U #  A&H%5`e9M\5 D2HE' "LE"!pҘVI*IHS1䃁 fSm1^B@b9 h-b  3Mr2])t7ӌAa:MqC6&c90.Aj4a6ELa9Njh&̱;j4,CFXst;> !egS["tw-f.'ڂ $\H&4,w{mmv &F6x!LnƞTJԼ@[-NCumECt]whuG8HlQ``h]Ô&nDc1E0rph*i:d8սfRXe9a#g/{9@yI[7U^ ~~廄"}S'`Hd/b9(Z}CAh01N""!HAPpksFwEqO{bŜsizeY"U$HFY2{n;f]脓PeG]E^DqNYw {$ 7C`(^VTTSY;(AwEMq{351FL1zC3N|dї@K(H3qz f_T102]:TCX@26B|(.ls:1B8:aJ*M B1WF)v'c'#I5\mgakPx BSY6?@^VRq&bC!{aEz@ 7m2/zG#]rCeBAH!FwxKy]d?Qt51 wYSqWѝ+2!t8z hK)%&R:&.gUa!\Xx+K`x* ?mYn-T*{:}/%fDp!zE1[)=f(0"aHx&,MHrUn FPW%vJ1m?@AYpA?p20A',psU$(JdKQ&5Y C!$%*p$x3_ b,lrR=n&-rBF␒4B!EG1BG!@t%5#+p*ݮvz]5\/rtS oad!)ǵ$˫P,.W!COP40 j!z(*q\#"R'5YA H`(e$"Ո'Q˖psćJPM YpG˲Ik"s|pɢ%+TRJ)`o!3lBprJ6t!r2p.ѓ02D%2_mKDRr"[ȼ43Da`a#!%*uC$W$*/0T&;CќOVW " 􄳥"qGс9:ZCO=]C_kӽXyJ@67**@U0t$Lh$T1BW1,71710,vZEX50.DOCC XC# $)`@5  8U Ȣ!< D#)s2c :C1*#xp9 yF!rM2Al èJ3LgALs:M9R2Nn:֒жc MeaTT7D2Hf.< Dzq@e>#eai2edglzSK$ca(tw!6}r)dT~$7+SŇuAI* mQrrRQ݌G Rhp\_($W(vuƚguyfzw}Qur֣BpvqyJOq'qW )R %RԦ-KdžHð@I~%)G. n&nM%HfWp7)d|Q#.kp { *=1#2X2g'])A$ -mG\sp`: P뜢Ûe|[ dQ#ib2R-1MzIR77aWk(2$Z9_dO$Y"j$>Cr.-ؙb^ܨS)`Gp@ҧa$$u "d_(Lyv}:%QJ4fGلl7Q+9yKڅ-dL@1U~v̼ <3?U] ($CI%_IaY#$ØՀiض@U'<} PX A3ld8 JR ._IwF+t'̹zrƭ Eؔ*4Ovr>܁e8׸P| 8*JZ3jқ !@NL}|2>$!چnףli2ӇΒLɳ,<H`{}X䜘&rXrsxm+W6\sz/~Mޓ0C99D`$;R`p-Zk t KKi*e*a춹kM6.;t3#)\ 󽳔 AQ0o}(Kyr,=ΌkࣶF-2ܻq.FyW7kC}rB%r#G7>17L¨}Wohf*F`KD9IT%'Ү0hGOkF#x q*>SFQ`U]=5=u2tqeIc UU<&`|T^+%kG.TVX |Ie?rPrWf^e@%$Hôg< `ASUq(QrA&J0fQ#&oN2C`|>#qqC߈-YYoȫ7onhHPIox<(ʉNXr#&r,渍hύ&vՈ RMG jvs(P iIHpAUfhMw>x4RtiY| QNk8EH0d%[Kpw/F؟'3usePA3q|B#\[0PX@ATy])`wljY;yVlt`Os#>,PhhI=N@sn e0MH0/TPCjO`F02ynAIvTPlὈ"Sa@|9uyyT |℗1e4!X̖k 8Yai{ywC*wq?X}H7'o]NTYit3in9ԛVx7AK[ڎ|rTc%(V`'Zi|B* dMt7Y9sdE5HOUEQ|GqK pi4\R3u8Ed6VY(e#f0rSife)fe fOJ/'F*fCK?kf7r;2K(Uv"!C9eZUȉi53=f@Eq(pFwS828a}BzYuD{UCQqSAw*(0U M!Bq!bT'E4{"~)$P$$1*$Mv1f%#xgzdP =h#9Yd I1jl@PCRz}G1i"q1e=fDW# ڶ.1b`!yFG.0l;b1V%.Э "{J:J\@"}tl1.,*Pu2paZgZ6eCVx% TrEC71% tEl@^@n)Tg$Z{P3}K ,;Ow4PAź [A;I0)F:bRj.[ILI(G1NנOH$ʑTr@Q5ZژZ2DAJtlr9a$='{o#!_7ᰇ}S`vi4tEd;3d78PNvU*5b.`^q}.G>TDJC-ƭ.pa9ʤS,TjTc+5-QXtdi#(\&^u?$cx s1KB =Rxx9DPEiAq\G3eY҂$m}~dR&!쨔iX&<5Pilo3ӎk"26P\w>:9^=},A58_B7T³M;!W`y/,4w+R+q+1*3YE3#:ĭ<=OcD>*.\d6(syTmՋȝq(ܝ1rsIʂFy=yK r"(}(u)04 ͂}#NR8#l2v}2"=B1mk9JF Gډ/Ͷ cFĻ92Ȓx1 5~ kP4W9Ļ+Lg2G=2HTeNBI-XGD|;7v\tigBK>B_xr^9A(%QJZQIV- 61{;!-`Xb $T!ېQ^F1 1W]b3!9m$R2n/&%{L!>RDjdPpr4xmP MtϷ3 ʘ2 >>1,*zss6*G#rW'~^/.. m/`dIk'ybƐ. M!~I ioxɾoc7q(q|Z+v'9LǻjfiM9鋚%5h拵5g<|&J4sp36uVz'"4 |/NSAO3Z03_U|r9Am~_BOF?rp~>?BýyZ|^D`ۖܤ9D7^m:J5RQmAUEv'5_ho6 }qEkVdx%NC%>4 ; d((?EӆQ 𚊩O`VEY!/4 5R\=`词fkek΄_O4|1F| Z}?꭯rN|# Ag/lQ eo4Wdoϥ&jjRQp!01*E841IdT{Ysʒl]j +=S,1[*)/+l+o_ /n$M|e2]c)e^;pU%T0G5R0stt?z/0DylO".stgZי]l?5oiCNk@mȆ?sfSj7GC._In@3^3_\$O$yx8p_|Zk[GS6.`Hx'C#/F[*I]ȒyEpym-p[ ӹ7Y]v 1|]Td5ʁoU"BR9e*`.@sxF[::ւ"#[[ ])]9 -#ՆlW.(C΀xL%ñ$M~%F>|@ y-KK1dBO͐)>xk EӆP}NRi;Tbh9)Z %9(0)a]\gsk T^<n,*cXig*Ta.n$"S,nӆ;FwfwM'.ߏ|Vfx2fOqgǦ?2Ȃ45HTVReUEneT&X csXk9ɏpSiC?I¸صE'q.IFn!jIϺKwיMٽ6ܜ!#ΝR[IҰ՞^naieTBn=x=qi+'=gs؋e Mq7"XnU\ȂYX̊TXь#Hxe1mXqEWA0t8i3!%/if ރݜ9n| J8ѡPQGKN3Q%`*%Zz/P4  3T@SGv.MG0@0(0/L&A-023-`7-4`5^T99@.]ڻ(iwmVLlt]  XFCP DZC FCP-4 ZRL'FCP-4T ZRLFCP-5 ZRL%<FCP-5T ZRL-hfFCP-6 ZRL5 tFCP-6T ZRL> FCP-7T ZRLG R vFCP.DOC!X""# $iHl7'C egq n:@c5LS4 F"yo1NB@b< '#h@W4(Lḩc)@p9E3yD2"hj9HcPF!1HQ: 6arO A)LT'!y9 tD2y4Y R6%N!KES78ju3&3M@ 9$Q3A4 &\7+]"v g6E+l*ˍo TsE+vq]M@ZYDl GTnmoEtmG1'!ԵDnUupaTѝ{e߇ D`\ ѽ`yT]{-20\cUT\_wEA"Sn ( O(c"QOcBZ-a!"zDtRzK{$=Q4MWETGV)NhTTe)PaSvY?JXڤEA+g{WEҖ%tQh{GԱpٸBXaWX_҈) Lv+51˕. ZǬFsM;$Sk (W]q+ sBO-W+RaVϖ4}a˄mOO%fU8%cj5R IVSI|_*~Xdv} y~7MVXzIU69X{hoac\|kaB%cZ(Q9tO!-:Gr+ʨ!hBo&U18aC#*"fh}9P&<'Z &P:PMx+/(e!mDN <7x NTܪ3Z<'WC-"ۨn-6Tܑ'94݃5)(2cF$FcAQ  , !C o[b25%Spw`0@hd ,% ewĀbwIhQ:.|P@K@;K.^ %$9$Vs5RS >gKDHi{/21VID^0Š')̻K@aڢ6SˈtKjD8 a )3ras8K>f6f X}r%F'iUdMO6 hg!HP٢8*}-;a»SŢ"S+'fUP@Nc  q3m86nPu u9AȪ$9yGznU͠)B7ʤZ fЗ%l`pj'thHPh8KƃWK*t\a2h:$;Sj-1T`BU Ax~ a$"Zdp:H((( )B .@`)!4" IMu&bb%́ G?(~ẃ́́G ́Non~F(Tý8 ́ ́((́+>́ʁ1!~(&!0#~#(!8= !]m  0#]2~ ́ ́( ́( Á(́(Á:́h l<́ (Y/N)?!6(6_Y ́N ́>́*:m :l <=_:y_ >~́(!~#!7~#  #~#fo###́+(8ẃ G?(~ẃx́́G ́Non~F(Tý8 ́ ́ʁ:]́ ÁÁÁ́(!~#!+~#  #~#fo###́+(8wAMCO%ERHEXNIN\NUTCWH4́!6́ +(>́  G?(~ẃ́J́ G ́QNon~F(Tý`8 ́Q ́ ((́+>́ʁC1!~(&!0#~#(!8= !]m  T#B]2~ ́ ́ ́Q́$!m >?:vZ(Q ( ́( Á-(́(Á-:́ l<́Q (Y/N)?!6(6_Y ́`N ́`>́` :m :!ځ>Á2*)~Á0A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́ (!~#!7~#  #~#fo###́ +(8ẃ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8ẃ) G?(~ẃ́j́)G ́qNon~F(Tý8 ́q ́)((́+>́ʁG1!~(&!0#~#(!8= !]m  T#B]2~ ́ ́0 ́q́$!m >?:vZ(Q ( ́( ÁM(́(ÁḾl<(2:́ l<́q (Y/N)?!6(6_Y ́N ́>́ :m :!ځBÁ6*)~Á4A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́)(!~#!7~#  #~#fo###́)+(8w:/ > w2͊ʷ((;#(+:O "+#͏ ")*Ͳ(:8(Jͺ(2: (.> *Ͳ(()!FCP_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): AMbig COmpr x=y ERror NUll REgs  Use root:IF.COM Z3FCPIF AND OR ELSEaFI XIFQ oXIF MZIF KAMCOER@NUF4́!6́+(>́ G?(~ẃ́́G ́Non~F(Tý8 ́ ́((́+>!́ʁ;:1!~(&!0#~#(!8= !]m  R#@]2e~ ́i ́ Á́M$!m >?:vZ(Q ( ́d( Á(́d(Á:/:m !m~#0 OxG>~08 0 !0 o|g=~ɯ́(!~#!7~#  #~#fo###́+(8ẃ G?(~ẃ́ĆG ́JNon~F(TýY8 ́J ́((́+>!́ʁS:Z1!~(&!0#~#(!8= !]m  R#@]2~ ́ ́  ÁŹ$!m >?:vZ(Q ( ́( Á=(́(Á=:́ l<́J (Y/N)?!6(6_Y ́YN ́Y>́Y :m :!ځNÁB*)~Á@A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́(!~#!7~#  #~#fo###́+(8w7vIF.HLP X X( A@PF!#)d2@(I#F(,0 )OFXIc9e"`V2&t`A: 󐼘a:DIuCI!H `V$u}  Ё@SHutHFhaOJoñPQMAfI@֑%OtxѳVtPE&ׂK B̥mdo_t;P!HOGuDP5yEYr"O4=D /M4D E$S97Gwq= xvi?;Ӗ|4IW<$WIV7{}\.hئk.ʐ4wˋ8XPA9&x8*[xyΈ&LB yam[wMi9FAP!FL$x}pM!,eBAܴ(jlPlpB, }Q DžtRdB/|C ⻑JYC `FVԏ)` AdzYS e-EPQ"5* 'aH-X k@y<:vB0N.hb e _ as1L(j$oS 0q@l`yx]iͦ&V,H.Y1rwOTag5uz\7Bh a-i(ڝ7AedtBPZskYF` ޼Q>ډT49E!2dTMB*zwQ2R" h0yo B*M:4%9M h1U[5e[-{VРMnQ}r垑l^|ZDѢ"`-5T灅;dNbK-Ͳ $j& Â*)T(I0A '7q@\`d"R(*J!@*RCbO(ghM]Jq*juO*ƛ*z*g":4;i$ۊo(-0`(eJ0)"pD$FEO a;>iN8'pɸ7`Tp?@ ^FXD! G `8-`F( pAXq~8 vIFCOM.HLP# A@J@ $2y4APH$@NCA:'Lg21s41\5 &d2C  hf4c@2atNC :R!p9hv&Sb4NG*y6sQ-+Ln:Ox0N fNrU@3Il `wV C,,~t9u7lXo:' ʷ)Db@Zrh|Y6xAp'm&l5TA>2Lv)5ia gU !TE`f1FQuwAE61a. Rߧp xF4xe Bp_jX 0SaY IVH}|Vy[ *Lbx2MFĜF o$EAc< zgn|;_W!Y^i d yh gQUr3ydIݿWO|hP*la~^Ad!̔EaGklu4eLnIv#nyRq̎Io+ͳ pFW}. \c@2kf%cC d E!1yh( RDq$SQH#bz€ϧxP8DEA$O|UDQ8T` I傘BBtqbmFQ3u5OlG'꫔mguǔtƄt(dijrg<12R^{7saOE3 5HQq M3Đn0@ތ3=軅p~ZIB(Qxnl@fUI>'9e(Ԃځ2)GMPvI (@'$@¢&G @j] pCHr <Ԑc|4.=BE@nI 5' U *>Z/i.v<8GC61>Ƞd ҹKA:#DCj)'lP@Dt + $7N (b'@d<RYHF\:>2!H!MVl8gfCslHAAED ӄ3PBA?uIc]SRdC)5)aY3]rq`Lj-PbP(Dy #N($M uPJIQƪ_m%BhB 3@3R+IV5UhS R^]D0B Wg_+5V)RbhQuQ9B a†`i1eAe Q IgloSrT2UQ܆bT2*MBhP eW`X ݖܪz|ϩ?*Jzh(&w=;m۪iUF/@RX-fo1cRڊ,]`rA$b[51h@3%+3JݜethMaOba֟O.O)f"X  Or+Eˉ%ĉeWBpP (-0ʤ<ԲV5ˊēEfJ0'"-H|֕VnDeRN_> lܖ԰/RJ1D9ZYKR)}wq3w)Uz\hٟIYQy8f2C "_azvNA>Z\R¥b[ã@7? -vh|C3cwZ'eM`?$6!-DXPSSzxp{\y/ZGTAWWvpU{'Z'ZW^ s΁0EL0A(`[1+ap3T2|"iv im7bABDM~3BPQH:Dh2s.P19ڀ}X-HgX?hA1$M4P'/+d`rGa,Gr`j}h-o71w1dJccډ'v*k3 ,"i(jyGytIG8yU2Sgzu-u w|3Wp7fRrFl"&o|K|A|Zeeڀuebw]0nRDx;v1w<-3(r_6'ׄ 5UEy(N#MWcqP2YtQ =5JS6#ibE<++A,b3?BSpS燎.%7rNuqL)PWDG: pR⑤oxFr+ G:ʈaB軙ƛNRiM Q2@TZLς ) B 4hQKpl ao k+T4oݞe!(Aʴ4Ko̩Q?J! dh޽[q+3짦5q,frp6nӁw(fNkQieꚩ.Qu䜩rJ\ e&\<@rn{LgS\۪lNJ1/_/7TE~ ;*vܵ)5 p䪙qB9fz`*ŌW 䩨W>(BZ0;>]1fk*)Sc!KSAy-P∐$`dH9yõ.^ -9>E~r!y/njA: [0B^\;M Hg Mrʄ9#xJE2]M5@ԃbxjP1y.`3J:+倦![fBhz*o95"+ En RB Nh Ä`f`6HDl@HFUd9rFȂA%aLdP@Hk4bB,KCo r ȾC ςrYT-5ɠd j\yR׬5 .ǝ0sTK5 BJhԴo&\nj8,B ʚE%$PDSED)=+E_i, ܠ7Z Zl*TzPBҀ AnSXnH0@ZU &@ m|iP2Ƚ _HLZ<pl/5e'J~p p-&c܇-u.v-zҪ n![pλ*H;LuBbE.:LFKCl-wTtx ؋A0 ˇN(mi]um( ,"tl<t@'@J, MJaLDPCeG6t#)Nwb- ݚ-릠*!mWUTme2 >^ 6ke2y"[Иڭ !@*4r|AʐeY-^\A?xpE7N:¤j0\`RR𪅸exf6(:·n4i`,(2`S2U/$IeXR ca-›2Ãsi'+xkO]"/.'ARN[zCIrA3cfy_- \ `Oc9p1$oV1_Ry.@t_́8=g[.2\`b ֙˴]n:ݴb rE!w.C,ڔ|hԌ" XCxh.x\Q|0^(&M5mT,Vy+q-9-E|J bĦ=fz#0蟣\ż߅[,n'[3{ a ZZfJDR9Gh`a@FR(ZdQe5 CЖB@ ʓ ؾŞrFT29J@P:b% + (Lzv.k oђqGP(2"ʄU,LŦ (9( 6h|'&:Ch@@ 3D @A `D Q&dB& '@#,," F9 -X^nZ`,"B/:#8+J  RI$DR#R\ DHh^b!)Z @X>1(rh0vҐ C"2o" z?G1.#"*^3.@&biՅ&U4 fc|[ o `崔eh(*c-˜nF6y1~ܹBh :<%4!S2Et@\Ӡ9+=ж pC?12,3*| b 6VLVr>jڊQ^WZ"g$ ²cSBeKD@v,F_woF*gJ[М\ xB# Vݦ%UA_(B?G Dl)q . 6) 9 D6Ch7u?- 2PFt*FS % @ 4tn 35IZe{t)t9R!eTR*5 $)Rh[Ti6uNFڅ_(qUTvH. 5Вݴ$z` .%B'L%UNrђH12hOm.R[BM0ZHed @V[Pg8PSzHiGd0 o&HfZph P?UFb䓚 Pu;"0@h"V6bcFgcd ,v1L :Uq<Sη1=s2  =e27>f!ND(4v֖iPȢڍ b&ԟQ|JCF\:Y(R%@p(fH1obU=v!2/KK2<`g>eO4r;3ꮔV Zh"KkeVxal&@%l؅g]RrBOj+"2tkB\_@3$+֥E*ЅrJBZQ e`f.H70[_@UZbn`\cU@bApea)2j |X@E Dwx Jeeʃ<]_8BB&s/쇆fP~;z" BXFvF^I5'Vt{@+j`K3׋X WXpz}(RIr;K86*^5{1D[ `wo*)3j 8\ 8v7u脙Lwuxr+Ԇ` 㿒8N a d]'yPeӦjS:׏z5BjW@ ) L I(RDE҄aқoq MyGۖ9UY[BYC|޻8ō``h@kYH7Y A`9oW+#"-:Kn/ h C)yt [2נRcSy6ݏgb%JGaA8 Ox X?_A9O̓>xBbntQYDZɫ 1:mgÞ z)%@d:HAMjSj0Kk4UW)$SB+雥99UF+`?f ےJЛ%Zi)"S {M3ɺ&\jgw_QjNfh ] D`QD[D @D,^؛:w*Vvŵ_;߯n&EPo!"gAiQV&zF$< zY6U8E-ЧpE) &SGU fZK#%:AHC0@b@F.cؕQfvFu:B7kzηbT /If lS;S*FdȌL<"G.0is)$ `5*(<!&.CI7$NBEp *J1<&rF^Ydcg$'D_ƭ::Tz[E4GT5n-^G4hJMVft-Q wև n̽$ͽ[y3>xvwe~}Ϣ<&)NLp2ҾͲ-wiG U(b oP&RΤdJs ZhT@2jY8f0nb1%. r3hN Zƶb+>;^ @uot Du춤i3˜He7USd|S~Bb}lBbHu@@ Pf'v ŒP|TqUiњn(P|e(ۮ1`). d ;p" b7M`+(,? 2H3$~bX`HZI@U_<^Ħp+Yq}Far]MwLYȅuXI196s|2hBuq 48g=dzطK,IΪ"AN`D`zՏ)oݥ􌶴@\YnΜ֐2 Gh `t%ڝʄq8n91d=©Ӄ@ˌ%ץz@ {{ ̯9>Ǒͤ ʩpqY٭ݑ_&=N$"D̻?K`2L(WC)* Lj7@Mi Tף0p+b&t)OB$5^ø6FKHC€3opdL@VQiC ;HHh;m'cZetN1]* ")~OI {%Eقb Qog'}lߢ/2HOe-<*ҤҢH 2ri (Uo@Mq%mh 4HcS([JE>&" *bK3.*366DJ9>8KO=(;*HCa=s:>ڕg#~R@3A|A1A²T:T F rGb%Hc褖$NbjI^ħ#_1"lU@ߢ7WA QAf9QGvrMc֠^RzEH*gpȐ_K"фdrF8 cSI}چ)1h`}_(E) 9 (@|A vALIAS.HLP  V # APQ@8A&H-1\5B -! )i:b@X 1Ԉ$!ͦ BYs$" &Ӂsh)g@o3HaZi059p.+Ae*ɸa<W<[2NCA7Sۙn1 &u9opO)DhҜg#I 2y :eGMiפh(PeF^ P8{d2{7Q)팦 1kT-/RPF9`gѼryAleo{`mʗlt;ݱtvƗ XQ vBFaeWFcF!uiakFBU~XvzWQOq`bH(Vݹ`Fa+vZ9Q@zQRFtn9e= 8&91HP:?`ڍF7R 1DZXsVsPG7lME3R+摔mtFMLYCބ2@@c5r* i|wUB9sn&ߤ!bp!ؕW c' ݅)5f6S` 1TBGlvZE Qdvt9,"qꧦrmT(.8(P`z9W˃IQsgGJ] ŷ,H 3j5e֗h]!f.n 3Jmf56H*9eZҼ2[U)P$12 Zs~WmoXncUDt'*5c3 _w"Ag\!Y/vd ]@5֗š V[ t1.@ Y'A $A_DDR5aU{GtIФ̓(($ A.^2@B a嶆S23;!EMB5gòf7$M*t^^1&Wnz T:q|hЕYӽ & Fg! %Oo,<J@. iT\Rz„acC,s6H4x h cLDFt=X%@CWBj(T$&FL:|.蒩ZI/kT9 $xwXgs0;Tv(piMEC3;v6e 2*%nMʗf R HAm2VMР DAUk((ߒҫq! `o\ E Y@ !dB8(8 +d \B=htlTV ޕ Gד?P}hFMA| Ex'a`b0E 31> e]s.La2 `*0%u8T`WI,i%Ab[@eKdq)}3m bbi`ڍ8dTb=QQRh *R(h2]ڥ#@2dM 즅iSdFr Z| &a ,3t v42`%v^QX:tH:A[O%>U))%l)^TtF "ffXe&~ew`bQUz~I@B0FU$4ru:mͨwc4!;P}6$ nUDBUM¥Pbĩ*8ފ#: ~$ԪĊ9Ctw+{=賬:Bu~{i#:"\' k-;vڟT겑INTEN) =ƺ 򄥒lAlFlH=Dsi}nG5FnI44Ho eoAiodIVqA%Lp PqFqjGj7j7h7o+Jh/1qn"KrQrxr+r.i7072h4h779w<?P:Q}@œ}Rh 312:.'sm&NS_>Sr$'Md?%R.5X%(qla0M yP. BLxX% Hxo)9'/Tg!R+:@$;蠋dkh{NBRtPY.Mok. MR@"Pq1Ito"6ؘ‰m#Xm! (+SeTœ'R#Vl%ENR)zMf#_A:l3QU 9"lpI*`w@m7:&s`PG ="/+OUII5'&SEQ$0Y:wlN!?U*^[[ly4X@II`C 2BHj:a$-R`cB"kㅴ.%@XNpJPMJ0~6 lvLSH.WS $"U$#&$## & Xr9M\e7 'Hl=  LS@2# LS!@<4*p&)LNb{H@Z! C1pΎY)ҜցbҙTM 3yȴZD  2 K@g#)o9cgC+@c7MvDi79DS!>nsߎf)~; &7@ ;xhםP`ĥAbS-f]91y 0Xo&cI3 u8A 9ɁtlGAu'O&yB8d]foѼv}~G`ޱAȔ<"F/dXafuBЁ_lGhXgBxONky5m%"|gxk?ǐ}H(.w/ 7X`t8%3:lmtU:?` A(( bxQ wrs`n}4P%g<9g7xLb  l x I72|MS=ΟePoePEhcʣFhA 5K(m Dˆx݄!%2a3X1v(<"0zC:RE) \%2H5s>\'!N`Ufvf c2I&W]i%,L4@+ x5QNԗ%)y>e2̽/<'4fvx&؋n~7r3.ihY x49]e%.t,[_K$|DU`ɛ_47 D. .dBaz):|NaYkZC3$ݤڒ! 476cX Ds/+4 !2gu%!ޠxPi1tP.ԦPA [[TA_a׵|Cz:.ޫ Rrben#1M,; 1۾0,Mi4S(,s3 OH 0s2 [=a7To ~l*iN2bC<#A떲0@X%AI@ ?a%'PI2ˇ@G-ٗ^`b2gLnb?࡝3wTꏃ":'# ;hyCJ6FlІiUP)eFaQukU;Z!Kx4| WBqFT'6-A8a Ll.!2l~dAL(`.uA '1C%"@zrO2>t2}Hg +u[@];cXGz(v!-d ܐay]qޜ】Nq2 ,Ș7B.#"VW2RqTi$$ ZNg'`q  OQvמg{?)2NZtC!=ۂ\O|_9|,r jXe/nn߼9[-6o1x zpL00<(LAL=04偈70ޟ/mFrS v ; c;Vw])W|P$'fp@@Eoo3Wo8ol6GWwqHDdE^ v.bD5W&HE ueb0 x'rE e+-˃r5tg enn1u65] ,JRf}u7" U`xXP ^ W!\"]15SMLPNi4ScJPnvn6Xv6]sq2e!S_[t>b#[@E%(8t #S3~2TGrLrSQV$ft _dhȩ@3]68@u1se a-2@%.WЅKr8RPUrmf)pQw0PKp,e6Q !v5_]Ixa_nJGx eDPЉ5,(F/I o',2rwvSyPK )uPua(33 l  +4i8z2LC.Q<1&P%C)5oPE0I;&7bml@ `3#e8@oH!Zh^c܂#xsم29|ZaPfwȘ ~@gS=QSc]ю&WprAwPi X r5a2&  AˁKҨ4@w68K)I.XT[u\'|'P(e1+1&UQ­ B  o'sRx#raNN+i%V%c$$ZapEIGZI2_Mjz[EZ1kCEN%Gt[}: s#bi;;0obu!fSʗ{w\HY@.bb"ՎPrv/` j{crDNC"zPKajj- -cj%6%FUm'4+!W*ѱڗq t @- \<b`g 3\1D4 *4Idv$Lz33Ӌph.PxMEbVr0Yο,7<Á)r!EQJ ;$PO{, oC:cu@/e#.`6p dE/'MFLPǩ0p:'2eX fQ?DL o̰~ka聃a]W>w l'm:h2ƕzN`ktCFmG\JnrqkQ/֕jX+ wCu)+Y]QeOyv-ز9R$yHѽSnVƞ[(+]g`."W+ y S"[`P#Q+0F~[8O hvN)%%'b!р );MUnM؀kd[aM$SR;ad\OT rc7JΜrG=J2K'@i=w&uO<d7Hg?E oVuE4RN.rS/pU/C'x$/w۱64|*+kO`B"=ʼnW;sgrUSUK5Ys|x(T(z}}̫ɰoIb۲J6>bwqLJ܇%Lqv)F[ /&0bN(z"Tҡ~7݄cr-ս5J[V짘9C_!sq!ݰy:: E & 8z.)d%DRyؽctTߢMc[H֐abxSHKm7ɯ=& a~I\yEᧅԜ'3pf6&͍=wƮo!Ӑg8Dӑ䜈%Lb/[xf;H[7Ñ's{$JϨqvk΁.%K1W!Wr[XCr^ReHKA>Mlx X$B?%6`emEz5\"%Ҫ,ځ-aH(xO‘v&Inψ's_`NoiXӴI2~""=Zɴb ooX1$!$#假$I2.[VHq IA;bi!PD$N%wxxLqs#qtV{L16Mxa;^.5I5%rь"P(H^ 1BDݤ$Ѳ#so#k.@Q1)ӦlX$9P.Y5mX Wn5znw;_Fg, G2H#$ ]ю5!kyƳUEf*N%ō!ɼ 2é&A4~{?y$L& ױeJE^0l+p qlC_ 2N⡻579j"T㝿A|p0) OClavV:f kyE)BMVsr) \ WQ/ed SlTg .gc%V5u#vڗ7>/H~ r=uOA6 hZ(E0H^sc'RIT.@P UEv6_qRAٳ=E0G7;{8]O>d' b BOLuiAe"s;9#&KEDc}VQM۟Dj,rY0D>0EldݩXټA7(ᱵrt=ܗa~K6CKfX RC e+#!~ O:nnZ=R< xѧud2Dݺ$LcZm$XL7bA;#5}٢oR!((XO±׃AGZi!sgCak"e,w<".Wsd,G}G.&N\R3]k[o7 A[r+atqX] ;mǓLQ%C@obAޒ`E>[":$""DDrFq g_ZDaZiC)Pqlm & tr#1Jg|TѲB"b$xF!ɬ!Z ݜJKfFgYP-?svl"Fo^1&b!r0ч_Pl"<EeIH|l&*TW;k0QR ^U3W';=dT]x}S\raxI?ޒ`|2 ܑ@RlC7lmW\h/3"YZ! 1ֱ֓سNFEs#$N5־1rĖ./b4Piy`ETR08x0ta\RV!$zE49'>шDBQ#25++,u2 FqiF~lrJ*x@Ş[bkIsL \I8ZrqqzTXpKue-_rm]xyM-^-D˒i 19!u IMt,ao1YJw{%IRJu"yrgrY[?!N"9h"jxA/L3rer(}Vr;3O>7ْM'wّqk3Aㄳc\rrCrQ‡Zk?ׂ2G>Mݒ |23E*?j -')W/ju1QPwaz61[`(H'7#HdôO<ϒ5{k.K l偡aIR~`JEr>)g* 0P@O^[/`PTl0q#Gsc-VV!sS׾񵥫z."`(7|!88=Pqxh=cL<)n7P+2e(AcP9FQjAjĔNYT%.rĖG;_XMݿ"Y7,1F_5dҿmPDt/IwK16MS Ez`m;R*pmz0;'B t+X ެ! 0C miEk3~;b:ac+tBW%!tVr[SכL֤(#A ba)sJ~:lNLvTU4}N $Ϝ)6vRct _T*33b4qo[BZB"\JZfoVz+_'A9ч|V/U_U'[/`TA.2{$?ʘaƫw $@o Z'Rw[AUEv6^"2f&642@AuLK&d4AV#AOA 2Z6v=yy#UKŲ;kf4 / q~!QQC/+4G-#4|HGi־,=i1}4Gqұ~FC.i[gn']Ix$"o$.8HxBX6.Y]$VnsO^&_&zHCE9}ޝcUe4bH2s]4xuSQT۴źz׭17:$1]EO`V Sox0u`"e:l Si^HmёzՊuj6"ʓ%ט˝FSm%p4d$]]K " s&'%EsSf)#|^(.CmY%B;3GGok'ւ[/_rD6+7i-Njg,3Ñ6>-'[]~/΅^'.v!Uw[!lsNȺ\Lx'=Q(p (@kŭ$҇C+?Cd%R)'ugGk*5p捆$`#x Bcòynm'zsRt3.־[2h7%DdlVv6"5 tg225f4BXFW%5tv:It6:ҝM΁+ҥ|"i;ZBPHsÅXda[>%ōf1Z} mhG<͈2ֻ21fmv4]POH*h!orz] 19)6zPZQ0S~ 5A锄ī%[.Xg>EXTREME CAUTION<<. dBase II maintains internal buffers containing database information and does a certain amount of housekeeping -- including disk writes -- on exit. If the user area has been changed, databases can be lost or corrupted. IF YOU USE THIS PROCEDURE, BE SURE TO EXPLICITLY CLOSE ALL OPEN FILES PRIOR TO CHANGING USER AREAS. The USE command, with no arguments, applied to both the primary and (if any) secondary databases will accomplish this, and I would advise using the CLEAR command as well. Lindsay Haisley (Sysop, Z-node 77) e user area has been changed, databases can be lost or corrupted. IF YOU USE THIS PROCEDURE, BE SURE TO EXPLICITLY CLOSE ALL OPEN FILES PRIOR TO CHANGING USER AREAS. The USE command, with no arguments, applied to both the primary and (if any) seconda URCP DZC pRCP-09H ZRL RCP-20HCZRLRCP-26 ZRL4"qRCP-36 ZRLV/RCP-DFLTZRLJ vRCP.DOC!9!R!P# $E"@\L! $i1'#Ȁf3In:fin2 g 󐀜ZXZ R:Dp98n&ɺb :i7Z'qaaQ\Z)1E$J(2|ghAswURx0eCIP6F )8hZуe9-OIG)ИD) vTZD# , ϱو$&c $x#~u VOKE5R SP :k!{>! w>wÁ*)~oā] o0>d́t ́t}0-/ R0y0 x(ý -:(>2ɯ> _́~#́́ "́! (́ atź{Á&~!#08 80))))_> Á;~# (+ 0́ FC*|( ́q́ CP*? ́q́!ú!́ ^#~ >ā0 ́M >ǴC~́# ́##:!0Á!Á:( ́ Resé100| % ́1:\ :/()= '́t́t́ćk free on ́9:A_.!++*2==22!́J́J (3^ ́J#% ́J P(C 2= <(> 22́%:=(́> > :=> ́%!> OA8[0 W> J >(́Q~#*́!́(ā  0!́(ā́}́#́ }́(#́́́ -́ ́́"]Áý|́}́́~́y(|O}O#́ ~. 8(Oý#́́́Ó( y0:8Á́!́(ʁ#́́́ Poḱ́́(ʁ"( ́ {#~ʁ #RCP-09H́ FC*|( ́q́ CP*? ́q́!uRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_~Copr. 1989 ZSA. Enabled Commands: Cled Cls (TC) Echo (lst) Help Peek (hdr) Poke Reset (sp) Space Spop Z3RCPCLEDCLS ECHO#H \ OKE R !SP POPu:k!{>! w>wÁ*)~oāi o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́~#́́ "́v! (́ atź {Á &~!#08 80))))_> ÁG~# (+**?R8 0́ FC*|( ́́ CP*? ́́! ́!́ ^#~ >ā0 ́Y >ǴC~́# ́/##CLED /.QHSDAFBGTLXYKVPWEM[É="Aw!E"C:]/(:=(!́́ SH ST́`́2u:0́ OVFL Á,S*AH́K.xÁyā́Q(:́~ ā#́:́!/ 8 ,0g}́|Ái(*A GO# ́śC!́! 6 8ځ́ ! !  >O N#FC  _́d>2LLW_p+ >Á~# ÁX́L~ (+́# ́(́ẂW~ (́ĹÁCyȸ(_́́ ÁĆ_́(x(́́́?AÁs:/2́x(: x8ẃW xxx(́4ẃCÁWx(́W ́L ~!5 ,;:.6x==(Gw#́́dQ(%S:/2́́`Á::܁=HG!B(%8#! B*A! +~(#6́1[A ~(("C6+˾Á́1́́+ER8+~(#:É*C7! # # ́>*~ ɸ# ~ #= :(2ÉK~́ (3~(*́(K+x( ́~ >*: G[! D}00 |D! !;i< ~#F=!́!>~ >$8'<'ẃa:́#>́a!́ÁEL:!0Á!Á:( ́ ReséO00| % ́=:\ :/()= '́́́ók free on ́W:A_.!++*2=2!́́ (3^ ́#% ́ P(C 2 <(> 2́:(́> > :> ́!> OA8[0 W> J >(́~#*́!́4ā   0!́4ā ́}́{ #́ }́ #́́́ -́ ́́- "Áý|́{ }́ ́~́{ y(|O}O#́ ~. 8(Oý#́́́Ó y0:8Á́!́4ʁ/́ ́́ Poḱ́́4ʁ"( ́  {#~ʁ #RCP-20HCRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cls (TC) Cp (stp) Dir (sp) Echo (lst) Era (sp) Help List Note Peek (hdpr) Poke Port Protect Quiet Register Rename Reset (sp) Space Type (cls) Wheel Z3RCPCLS >P bD PECHORA H IST=NOTE * OKE ORTI ROTW Q #R NEG EN SP YPEJWHL V > > > :k!{>! w>wÁ*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(! ~#́́ a_"  ~!Zā is R/́ - Eraś (Y/N/Q)? Ń-Q(Ý! (́ atź {Á &~!#08 80))))_> Á ~# (+́́s(́>́]́H ́a' \=ɯ!] ~?(#>Á !\ ́9&w#=`_ _:i_ ́́ḱ~#́́\<~#́ No FileÁ**? R8"""1" > Á2ŔT́6́ś>( ́!x8y0́ 6*~́=`i"<"& !}"&#!}|8"M[&!R|"M8ߵ(*&́8[Ḿś́! Nq#ɯG!N>=\!ĺ́ N˹#+DM)) ) DM*  0́ FC*|( ́́ CP*? ́́'! ́!́' ^#~ >ā'0 ́ >ǴC~́# ́'##:!0Á'!Á:( ́ Resé00| % ́:\ :/()= '́́́́k free on ́:(A_.!++*́@!!]~/ #~2m+> :e  >?́9́(:mA(S(x́ʁ~ʁ{ ́'{(́ ́]́́@:m2>́ʁ́́́]"́́H>> (́a ] ́́)*~ʁ́'́@́́!ḿ!\l( w:ýW~́T <(́>#́H ́( ́|<ʁyÁ́@́́ ] !m ́ !\l# ́ :/= [́́)g:( ́ DonÁ>>ÁW2 =2!́́ (3^ ́#% ́ P(C 2  <(> 2́: (́> > : > ́!> OA8[0 W> J >(́~#*:]S(R x2(:(Á:]2 ʁ2́@:m2 >́ʁy:32V *~ʁ:(> ́́] ́"́)<ʁy> ́> ́y8́)\ !~( ( ( ( 8́́ > ́"x #> _>({ Ḱʁg: ?!V 5 9:3w>P(/́ Typing!]́]́́-́́>ʁg >P2 ɡW ́@́2 !mI(R(S(A(2 goO" y2 >́ʁy *~ʁ́'́́́]"́ Set to R* W|(Oý}(́, SY: (́, AŔ>(́l ] ́+>́# +{́# +ź# \Á ˾́@!́ā  0!́ā́}́ #́ }́ #́'́́ -́ ́́ "1 Áý'|́ }́ ́~́ y(|O}O#́ ~. 8(Oý#́́́Ó y0:8Á́@!́ʁ́́́ Poḱ́́ʁ"( ́ {#~ʁ#́@!́ʁ́! s+6+r#́́ Por{́ ́(́6́: OU{́ : Iί́ ́Á^́= S(?P(M( (D( ́= Á 4-5*́ !Á ǴP x ́ x́'#ḿ) p:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É) x >0x!0 o!]~ (x ́ >*)ẃÁSYSTEM RCP-26H!mI(R(S(A(2 goO" y2 >RCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cled Cls (TC) Cp (stp) Dir (sp) Echo (lst) Era (sp) Help List Note ~ Peek (hdr) Poke Port Protect Quiet Register Rename Reset (sp) Space Spop Type (cls) Wheel Z3RCPCLEDxCLS P D ECHO RA  H IST NOTE {OKEZORTROTQ t R EG EN \ SP POPYPE WHL > > > :k!{>! w>wÁ*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́) O Of!(!~#́́ a_"  ~!fā) is R/́ - Eraś (Y/N/Q)? Ń9Q(Ý ! (́ atźB{ÁB&~!#08 80))))_> Á ~# (+́́(́J́íT ́m' \=ɯ!] ~?(#>Á !\ ́E&w#=`_ _:i_ ́́ẃ~#́́\<~#́ No FileÁ**? R8" "& " " > Á2^́`́6́́J( ́!x8y0́ 6*~́)=`i"H"2 !}"2#!}|8"Y[2!R|"Y8ߵ(*2́8[Ý́́! Nq#ɯG!N>=\!ĺ́ N˹#+DM)) ) DM*  0́ FC*|( ́ ́ CP*? ́ ́3!́)!́3 ^#~ >ā30 ́ >ǴC~́# ́3/##CLED /.QHSDAFBGTLXYKVPWEM[́"w!":]/(:=(!J́́ SH ST́́82:0́ OVFL ÁS*H́`K.xÁyā́(:Ṕ~ ā#́:T́!/ 8 ,0g}́|Á(* GO# ́́!Ĺ'! 6 8ځÉ!V ! >O N#FC _́>2uy  .18@n' + >Á~# Á́~ (+́# ́(́́~ (́́Áyȸ(_́́ Á́́(x(́́́AÁ:Q/2Q́'x(:Q x8ẃ xxx(́ẃÁx(́ ́ ~!5 ,;:.6x==(Gw#́'́Q(%S:T/2T́3́Á8:T:R܁<=HG!B(%8#! B*! +~(#6́[ ~(("6+˾Á8́́́+R8+~(#:́*7! # # ́)>*~ ɸ# ~ #= :S(2́QK~́Q (3~(*́Q(K+x( ́Q~ >*: G[! D}00 |D!!i ~#F=!ĺ)!~ >$8'<'ẃ:Ú#>́!ṕ)ÁL:!0Á3!Á):( ́ Resé00| % ́:\ :/()= '́́́́k free on ́:y A_.!++*́L!!]~/ #~2m+> :e  >?́É(:mA(S(x́ʁ~ʁ{ ́3{(́ ́í́L:m25 >́ʁ́́́i"́́T>> (́m ] ́́5*~ʁ́3́Ĺ́!ḿ!\l( w:ýc~́` <(́J#́T ́( ́<ʁÁ́Ĺ́ ] !m ́ !\l# ́ :/= [& ́́5g:( ́ DonÁ>>Ác2[ =2P !́h ́h  (3^ ́h #% ́h P(C 2[ <(> 2P ́C :[ (́< > > :[ > ́C !> OA8[0 W> J >(́o ~#*:]S(R x2(:(Á :]2I ʁA2ÍL:m2p>́ʁ:32*~ʁ:I(> ́ĆA] ́"́5<ʁ> ́C> ́Cy8́)\ !~( ( ( ( 8́ĆC > ́C"x #> _>({ Ḱʁ :I ?!5 9:3w>P(/́ Typing!]́í́9́́ ʁ  >P2pɡ́Ĺ2C !mI(R(S(A(2C goO"^y2X>́ʁ *~ʁ́3́́́i"́ Set to R*^ W|(Oý}(́, SY:X(́, AŔ>(́x ] ́+>́t+{́t+źt\Á˾́L!́ā  0!́ā́}́=#́ }́M#́3́́ -́ ́́"Áý3|́=}́B́~́=y(|O}O#́ ~. 8(Oý#́́́ÓM y0:8Á́L!́ʁ́́́ Poḱ́́ʁ"( ́ {#~ʁ#́L!́ʁ́!s+6+r#́́ Por{́=́(́6́: OU{́ : Iί́=́Á^́S(?P(M( (D( ́ÁH4-5*́"!ÁHǴx ́Hx́3#ḿzp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!Éz x >0x!0 o!]~ (́ >*)ẃÁ SYSTEM RCP-36HCmI(R(S(A(2C goO"^y2X>́ʁRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cls (TC) Echo (lst) Era (sp) Help Note Peek (hdr) Poke Port Register Res*et (sp) Space Type (cls) Wheel Z3RCPCLS ECHORA H 2NOTE OKEkORTR EG SP YPEWHL >  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngG Z3ENV* v * TCSELECT, Version 1.2 2N!]~/?#~/(!182P#~A802O>2N> 2]?͝ TCSELECT - SELECT TERMINAL DESCRIPTION FROM Z3TCAP.TCP SYNTAX: TCSELECT A terminal is selected interactively and its descprition is stored in the Z3 terminal descriptor. SYNTAX (WHEELS ONLY): TCSELECT OUTFILE A terminal is selected interactively and its descprition is placed in the file OUTFILE.Z3T for loading by LDR.COM SYNTAX: TCSELECT /#L The terminal selected by letter L on menu number # is stored in the Z3 terminal descriptor. e! `  >X‡͝ FILE 4 ͝ NOT FOUND - ABORTING " ^  } ` ~ ³Ø͝ FILE READ ERROR"E"Jy2Qy2Cm :N( :OO:Pò>2D "LV ͕ ͝ Enter Selection: !̣ ̈́!̣ ͝ CR to redraw menu OR ^C to exit : ͉ (+[>[.[-x{V :D=!_º :Q=0>ͭ !N~6 :CO  " ͧ m *J` 2G"H͝ Selected Terminal is: :G*He:N(V " ͝ Confirm (Y/N)? ͉ (NY(V d ":] " \| T ʴͮ ʱ͝ FILE ]4 ͝ IS READ/ONLY͓ _ ͝ FILE CREATE ERROR*J` \͈ m ͝ FILE ]4 ͝ CREATED ͝ FILE WRITE ERRORA *J` ͝ ZCPR3 TERMINAL DESCRIPTOR LOADED ̈́d{*L"L:D<2Dʁ{*L`"L:D=2D͝ ** TERMINAL MENU :D ͝ FOR Z3TCAP VERSION *E#~#ͭ ͝ ** 2?2@ *Lͨ >2?~ >2@!"A ~ ,"A*A*L A~ y[|Q~ Qy [ V 7ͭ ͝ . ~#ͭ h͝ :?:@͖  ͝ No Terminal Selected   0> ͭ >ͭ Z3TCAP TCPZ3T "+", ">", or "." for NEXT SCREEN "-", "<", or "," for PREVIOUS SCREEN 2S" 2T2V " 2U2WE :Sʌ" <·~ʼ ##ʌx2V_" y2W_ " Ã=ý:T_:U_ :VG:WO}2RE :R ##xy=~$ :T<=G#~+$ :UOV = ~#4 Ý *z *z  ^#V#~ѷ*z (~*z )~#fo~"z w   5 >6  5  5 /  <͓   z    ͣ ~# c   è è è yʨ è yG>GO> ͭ  è d   0ͭ   _y* * {y0ͭ {J >.ͭ J ͭ J > ͭ > ͭ ҭ ʭ ʭ ʭ ʭ ʭ >^ͭ @ͭ ͖ í ͜ Ü *.  O*.  2  2 : _: _ Y XH W@ H5 W@ r# x@ ` H i Hi |ډ z }ډ ~# xz ~+ x Ä a{_! s#r#6!* } $. 2f:f@0N2f!]f:`!'8 !*0!-Z3ENVERASE56 !~6w;;!R( Not Z33+$* Tsnj""ߌ"8‡!"݌֌) :!:] ( /):^/)͙ERASE Version 5.6 (loaded at !H͙h) Usage: ܅͙ {dir:}afn.aft{,...} {{/}options} Options: I Inspect mode (confirm each erasure). A :͙Erase all (*.*) ͙ R :͙Erase read/only ͙ S :w ͙In͙Ex͙clude system files. Q Toggle quiet mode o:׌ ͙n.͙ff.ͫG(#{͙Don't ͙ files without asking. [!*ͬÂ#~( ( (ͬ(o/ #~Â# (/ʙI(5R(AQ(FA(0S‡:،@2،͙ Invalid option.>>2֌:ڌ/2ڌ:ٌ/2ٌ:׌/2׌*ͬʙ :׌ B\:k(͙ Invalid directory.>"ی!] ~#? G:֌ ?:ڌ 9͙Erase all files on :\ ax<@f:io&!ăq\X*:،\͒͋*ی~#,ςĄ*݌}> x:֌ :׌ :֌ :׌ :֌D!ăDà́͟Y( Qۃ>Qf{ Erase (Y/N/Q)? N Read-Only, Erase? N: ? N> faxAfi&>:f#ͺ>.fͺ ~(1:ٌ :׌(!ă ~w#*ߌկ ͅx*݌#"݌ x~# ( (+~f#*݌}ڇ:׌| ͙No͙ File| }>sf͙ Erased, ͤΉ͙k Free͍Aŷ(ͷx8 wd!8 !^ ,=;<>_ͤͅ > ̓ͬq q###~ ##~0ʹʹ˞ ###!ԅ~(#ͽ( ~ (f#2q͍v22ay2~: #̓~2: 3#:猷(ͫ(( :猷 ͫ:͓ѯ2̓~2: . #̓ ::錷:* >?ͤ#?̤:#!4ͳ(s#G~A8@0b2#~ ͆~ ( ͆8#~ O [052댯-"( #( #(  22ꌯ~!8=_.:,<>ȷ;ɯ~:(#͆8Wy888 8 8Oy70 ?ɯ͓ > ͦay A ###~>· A 0XA ###w.1$,1"*~#fo-1G(1*|(~*w*^#V#~ѷ"a(G! NL*~( 7^#V*2."$ rͯ7*6# w#w#!"([ Kɯ`o&"([1S1͞|=*#" ~:.(@K/+) +) N#F^#V`i:. ( ͬ #ͬ"/ͤ[,*/͐͐"1*z0##'^#VS*#^#VS, 005**8W+}(z i`:'()= _.!+ *x"1C*/s#r#! x *"*<}(F""*#"*R8*"[*R"8(*"58[* K*/"*1"[* ( y ***^#V*S!*##" y K/+) +) Nq#NqaC3K3LY ڋXڋڋ ڋOG>> rr# ͟~#  ( f ( ( ( y/ f ѷO> f> f>͌'11d1 1}BR<0 > (0Gf|S}Sͺf;fO>͌~(́w#a{_͔o*o*.:g~O#Ɛ'@'*Ԍj5S!*##" y K/+) +) Nq#NqaC3K3LY ڋXڋڋ ڋOG>> rr# ͟~#  ( f ( ( ( y/ f ѷO> f> f>Z3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0Z3ENV͒, Version 1.5 (Type :0͹͒ at !͒͡h) File Rename Utility ͒ Syntax: ͒ [DIR:] No Ambiguous Filespecs Allowed!]>/ #a: (*E<:!]Y!mY:{<E:l(=_:y_ l!o~(;<:( Q(: ͒ Source is R/O, Rename?l\(G<:( Q(: $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @  @  ! $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @ Z3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1Z3ENVͳ SAVE, Version 1.6 (Type :0ͳ at * ͋ͳH) File Save Utility ͳ Syntax: ͳ nn[H] FILE.TYP [o] Where nn is the decimal or [H]exadecimal length in pages. Any character in the third token switches from page mode to sector/record mode, or.. ͳ from-till FILE.TYP Where 'from' and 'till' are hexadecimal addresses of the start and end of the memory block you wish to save. <:]/(?( ]!m~ 6? ͳ Not Wheels:{<!6!": )": R0|!l\ʹs<(gK*x( ͕͐(~ Eͳ Saved *Hͳ record+|>sͳ as &bk>?   q###~w{#͟lͳ Erase existing &ͳ ? _Y !ͧ͵ͧ͵ͧ~(2ͤ ('22pS͝p*R)\!d>H# 6 !] ͫ0 8?#A!_Pͫ#ͫ#~! =_.:;<>,-/\|~!~(#( ~ (#$"*~#fo*)^#VU(G! N@"Y X OG> <̓> >Ê>Ê> > >  rr# ͹~#  (  ( ( ( y/  > _> ѷO> > <>.< 'ttdt t}ͅR<0 > (0G|͖}͖~#((+~#( (( (80Ɛ'@' $ H @ $@$$@ $ $@I "@ @A !@!"!HHZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǡZ3ENV͵n, Version 1.3 (Type :0ͨn at !Tnh) Disk Space Utility Syntax: ͵n [d:] Where 'd' is Drive Letter A through P!]~ +~ <=_2A2: 08!.*:?##~2$###^#VDM 8O+}(y>()= n Space on A: '͕͕̈́>kè|Y}b0:8>:t~#ͨn d͕ ͕}0/ R0y0 xy_* $~#fo#~ ͨ ! $ @B@!A'd' is Drive Letter A through P!]~ +~ <=_2A2: 08!.*:?##~2$###^#V Z3ENV!9"/ 1/ ! * |)~2, Version 1.9 Z-System Address Locator:]Z  Syntax:BͿ Gives the addresses of the CCP, BDOS, BIOS, and, if active, the lowest RSX and the DateStamper.BͿ Z Adds all key ZCPR3 addresses.2 System Elements Base Addresses >-IG>-Ik?$r*BCCP͖Qҥ͙?$<B$ì*BBDOS͙͙B$<E$*.BBIOS͙ͻ!*.Z!#͙ͥNZ-COM):O*y9?$|ڄBRSX (lowest) 1 ^#V*}|„ ~#fo^#V!Vͬ£BDateStamper 1:]Z: Non-ZCPR3 system or Z3LOC is uninstalledBIOP͖ 5<BRCP͖ %<BFCP͖@<BNDR͖c< names)BSHSTK͙ʙ<> w-byte entries) Z3ENV  (Type :ͻh)BZ3TCAP͙* ~!BZ3MSG͙"BEXTFCB͙$BEXPATH͙ 8< elements)BZ3WHL͙)h (O~>nb>f͑BZ3CL͙ʌ< chars)BEXTSTK͙&BCBIOS͙* ##f.$$|Z3LOC#~ ěͥ~#!ڑÑ$G}1[Not implemented]* ^#VͰ>hͥw> I* }^=j^#V###Ž2~Ž (ZCPR##n{X­#— (BGii):>0!o{#^#V##~#fo>ù  "0}>" (CP/Mo{|lSBDL8VOa (UNKNOWN BDOS - ID: ͻ4{ (ZS( (ZD (Z80 (ZOS (ZRDOS> }͞>.}͞>)͙> 0 (D DͥLZ80/NSC800)HD64180/Z180)8080/8085) recs):*/ |}~#s ] ͛ J OOS$$ $y$ $yG>GO> ͛i$d͏ ͏0͛ڙ Ñ_y¦ʦ{y0͛{|ͻ}ͻ 7Û0Û> ͛> ͛_(None requested)AA Ambassador ADDS Consul 980 ADDS Regent 20 ADDS Viewpoint ADM 2 ADM 3A ADM 20 ADM 31 ADM 42 Apple //e ALS Apple //e MS Apple //e PCPI Apple /// Bantam 550 CDC 456 Commodore C128 Concept 100 Concept 108 CT82 Datapoint 1560 DEC VT52 DEC VT100 Dialogue 80 Direct 800/A Epson GENEVA Epson QX-10 General TerminalHazeltine 1420 Hazeltine 1500 Hazeltine 1510 Hazeltine 1520 Heath H19 Heath H19 (ANSI)HP 2621 IBM 3101 IBM PC Color IBM PC Mono Kaypro II Kaypro 4 or 10 Liberty Free50 Liberty Free100 Micro Bee Microterm ACT IVMicroterm ACT V Morrow MDT-20 Morrow MDT-60 Morrow MDT-70 NorthStar AdvantOsborne I Perkins Elm 1100Perkins Elm 1200Phillips 2000C Qume QVT 102 SOROC 120 Super Bee TAB 132 Teleray 1061 Teleray 3800 TERM-MITE ST1000TRS80-12 P&T 2.2TTY 4424 TVI 905 TVI 912 TVI 920 TVI 950 TVI 955 TVI 970 VC 404 VC 415 Visual 200 WYSE 50 WYSE 100 Xerox 820-I Xerox 820-II Xerox 8-16 2.6 None 2AA-Ambassador [%i%d;%dHADDS-Consul 980 2 @ %+@%2ADDS-20 Regent  2 Y%+ %+ KADDS-V Viewpoint 2 Y%+ %+ K0AADM-2 2=%+ %+ ADM-3A 2=%+ %+ ADM-20 2%R=%+ %+ T)(ADM-31 2=%+ %+ TG6G0ADM-42  2=%+ %+ TG4G0A2E-ALS Apple 2 =%+ %+ A2E-MS Apple 2Y=%+ %+ T()A2E-PCPI Apple 2*=%+ %+ T)(A3 Apple /// 2%r%+%+B550 Bantam 2KX%+ Y%+ ICDC-456 21%+ %+ C128 Commodore 2=%+ %+ T)(C100 Concept 2 a%+ %+ EDdeUv 8pp v p C108 Concept 2?a%+ %+ DdCT82 2 %r %.%.DP1560 Datapoint 2=%+ %+ TABVT52 DEC 2HJY%+ %+ KVT100 DEC 2[%i%d;%dHD-80 Dialogue K*=%+ %+ tjkDIR-800 Direct 2[%i%d;%dHGENEVA Epson 2*=%+ %+ TQX-10 Epson 2=%+ %+ T)(GT-100A Gen Trm 2 f%r%+ %+ KbaH1420 Hazeltine 2%r%.%+ H1500 Hazeltine 2~~%r%.%+ ~H1510 Hazeltine 2%r%.%+ H1520 Hazeltine 2~~%r%.%+ ~~~H19-H Heath Mode 2EY%+ %+ KpqH19-A ANSI Mode 2[%d;%dHHP-2621 2HJ&a%r%dc%dY&dD&d@IBM-3101 2KY%+ %+ IIBM PC Color 2[%i%d;%dHIBM PC Mono 2[%i%d;%dHKP-2 Kaypro II 2=%+ %+ KP10 Kaypro 4/10 2=%+ %+ B0C0FREE50 Liberty 2+=%+ %+ T)(FREE100 Liberty 2+=%+ %+ T)(MBEE Micro Bee 2EF%+ %+ KdPd@ACT-IV Microterm2 %.%.ACT-V Microterm  2 %.%.MDT-20 2%R=%+ %+ T)(MDT-60 2=%+ %+ T)(MDT-70 2=%+ %+ T)(ADVANT Northstar2=%+ %+ OSBORNE I 2=%+ %+ T)(PE-1100 Perkin EHJX%+ Y%+ IPE-1200 Perkin EHJX%+ Y%+ IP2000C Phillips  2 Y%+ %+ K0q0@QVT-102 Qume 2=%+ %+ T)(SOROC 120 2*=%+ %+ TSBEE Super Bee 2HJF%r%3%3K_1_0TAB-132 2[%i%d;%dHT-1601 Teleray 2 Y%+ %+ KRDR@T-3800 Teleray 2 Y%+ %+ KST-1000 TermMITE2 %rM%+ %+ TIITRS80-12 P&T 2.22 Y%+ %+ TTY-4424 2[%i%2;%2HTVI905  2+=%+ %+ T)(TVI912 2=%+ %+ T)(TVI920 2=%+ %+ T)(TVI950  2*=%+ %+ t)(TVI955  2+=%+ %+ T)(TVI970 2[%2;%2HVC-404  2%+ %+ VC-415  2 %.%.V200 Visual 200 2vY%+ %+ xxxxWYSE-50 2%ia%dR%dCT)(WYSE-100 2%ia%dR%dCT)(820-I Xerox 2*=%+ %+ T820-II Xerox 2*=%+ %+ T)(16/8 Xerox 2*=%+ %+ T)( 2.4 2820-I Xerox 2*=%+ %+ TDZ3ENVZERR+LS QHSDAFJGTLXYVPM[IK:LSHsn1n}ߋʜ!]~/ #~/y y xAy؄>:͌# Installe:1(ʹf̀`Ԍ~8>_!<^#V4%:1(ʹft( !1(~(;(#~ ~2r6"p:1(ʹffu+ :,. - Cance:r(. /:-. - Ski.%:.$ ,!tU +:Oۉ_~# ȃO(2+҃ !s#~(;  ~# ʃ^#V*'"0t; ".Ђ~#;( (̈́O~̈́ >:;~O(#F =ɯ~ >(2*%"':+:*.e( Ͳ̓!t[.r6 #6 r+~# !t~ # yͤBR8 <*'>+~# ~=ͷσ*'K>͜A86# x ͔\ڍ\ xͤ[#R['R8.#R"' [0Rʃq#p+~# *'>K͔͜σ\6͖<\ڍ͖\2y Ѝ͖O",> 0@a{_!/ 8 ,0g}|0O[(I((.H.ES.TA.DE:>*. %4~#O(_.Command Line Error: - Z34 Error Handler Syntax: ZERR <-- Set error handler ZERR <-- Remove error handle Remove6{n4! f. Fixed Lo., Version 1.6h-KcxƇIllegal attempt to change directorInvalid directorIncorrect passworUnknown erroBad command name (file type or wild card) useCommand not found (even by ECPRequested load file not found on disAmbiguous or missing file namBad numerical expressioSource file not founDisk fulTPA overfloSegment too largBad segment addresCommand line overfloDuplicate file specificatioFile is R/Disk is R/Invalid optioCan't load RSCan't remove RS!tGO# ͡!5>!6 8(o!K/ !:/=O N#F_щ>2{ňֈdnh#: 7+ >O~# ʼnͲ~ (+t# t(ͽͽ~ (Ͳ͊áňt(x(͊~;(x(͊nA6:/2>x(: ywͽx6xx(OG T]#w++w͡ý ͽ Ͳ ~! ,;:.=6x=>> 0@O ̈́@̈́*X ^#VO> (>BGii#:*$*:W~(8*~( #\ ~#zO*|( +~(Go u "|("||(D~!8? ~2~#~2#~2:~O  !6#s#r#6#s#r# 6#s#r#~#\ #͌ N#FԌ. N#FͱͿSͿ͈d `^#R ##Ԍ-͝ ` Fɯ`###~ ##~0Ԍ### ~(# ~ # Ԍ###~Ԍ~ѷԌ~#fo*|("~#fo( w7*|("~#fo( ~7ʹ(FG~(#9ͪ~;( (>;( ~#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOO>o*oɸ#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOsZ3ENVZEX2 DEBUG>NOISE>SHORT>LONG>ZEXMSG>CCPCMD>SILENCE>QUIETEXIT>FLOW>BELL>PATH>SCANCUR>DU>s1͆  q ͽ  )͊ /  ʹ  B͈ QǗ Requires Z80!$*K " 0>8=2!  1."q.~2s:*| o* RSX image missing!6*KBo"ɯ2[*s#r*s#r*|#~#fo":':-:5:=:F:Q:W: 2!:(*q.h~2t ~2u ~2v ~2w*-!q.: '*###~ ##~48v n >>>: : XK! [s#r! [s#r*ѷR( ! ! ! !([! s#r6*q.f.[.  s#rr+>w*q.w#r*#^#V*.s#r*DM."!! [ Nwy#::s*q.h>!w w w w~>*~#w*ɯ2!"*[:{ ;}>{ 4:}( ^ ^6"[R:OAO:- y( i͉ }(> 5;ʰO} >2y<2, > >Iy Iy|H͏: _:8 I:i͆:8 I:i Q 2- i O2- yi :- ( 2- >i>2- >i ):. (2. 2- >q>i>2. 2- >q>i > q> i.!^(#$  Oy ͂ } > q :$(::, :1Q:Q1!O F 5 ;(>;vO:- y#~͉(+ ͂:^: ͂5}> IQ08$:0 02! 0>((qq!:e=> _^#V{[RگOq+I*#"!6SI !4a{ ! !I" I(c| (!w !(S8= > I> q(>|Q^  qt$ q* R+}wѷ<!!O|7y(0̀#( ( +~ #(+~( (~# #~< <77#~! !8O| > 2| y77! !8)O |(|(xG0Gx2y77SAYEND SAY"'WAIT RINGRING WAITWAITABORTQUIET ONQUIET YESQUIET OFFQUIET NOEND QUIETQUIETSILENCE ONSILENCE YESSILENCE OFFSILENCE NOEND SILENCESILENCEAGAINCCPCMD ONCCPCMD YESCCPCMD OFFCCPCMD NOEND CCPCMDCCPCMDZEXMSG ONZEXMSG YESZEXMSG OFFZEXMSG NOEND ZEXMSGZEXMSGFALSECMD ONFALSECMD YESFALSECMD NOFALSECMD OFFEND FALSECMDFALSECMDIF TRUEEND IFIF FALSEELSEJOINRINGBELLCR LFCR LF TABSPACENULDELESCUNTIL WATCH FOR PAUSE RING PAUSE :*~ 80 g+> g+T+> g++(ͼ*! u** Hit any key...*6o&6 ! x2S (́ (s#r#:́ ( ͉ ֯O ;*~#~ o* ZEX Already Present 4͒)~; #~# +[CS͒)6: o* ZEX cannot be rerun using GO. 4!͖ (1ͼ)2ͦ)(&"|)(|("x##n&""͵) o* Aborting: inadequate ZCPR3 facilities. A|([ R )K ! ~!? ^#VS##^#VS##^#VS*+++Ri=[ !"~#fo"| "~##"##"!("z!6+""":]>g+*|2l !">2ͼ**#" +>:g+> g+ G*6~+6 #6 #""!e~ (C #~C #~P  ! ! ) o* No ZEX or SUB script file found.  6e~+)!K*\ :p( Kq):c  *=G:iO ( :l) % )Z*) **6K* "6KB0@*(~)O) o* TPA overflow 6*[R8+""[z=2!KDMN#0:w#z(*z~2 *z~o* ZEX Version 5.0 :]/:^/o*** ZEX v.5.0 Syntax: ZEX [ [dir:]subfile[.typ][ parameters] ] ** $N N-th command-line param. '{' (col. 1) thru '}' Comment lines $$, $| ... Becomes '$','|'... ;; Remainder of line is a comment '<' (1st char) Input line to program ^X Control-char 'X' (any char.) |ABORT| Quit script |AGAIN| Repeat script |WAIT| Wait until a is typed |RING WAIT| Ring bell, wait for |PAUSE nn| or |RING PAUSE nn| Wait nn secs. for keypress |RING| or |BELL| Ring console bell |UNTIL X| Use console input until 'X' (any char.) is typed |WATCHFOR string| Use console input until "string" is output, then script |JOIN| Omit and continue on next line |CR|, |LF|, |CR LF|, |NUL|, |SPACE|, |TAB|, |DEL|, |ESC| The character(s) |CCPCMD| / |CCPCMD OFF| Show/ Don't show: CCP command output |ZEXMSG| / |ZEXMSG OFF| Show/ Don't show: ZEX command prompt |FALSECMD| / |FALSECMD OFF| Show/ Don't show: commands in false flow state |SILENCE| / |SILENCE OFF| Suppress/ resume: console output |SAY| / |END SAY| Begin/ end: direct message to console output |"| = toggle |SAY| |'| = toggle |IF TRUE||SAY| |IF TRUE| or |IF FALSE| / |END IF| Do script if true(false) flow state |IF TRUE| .. |ELSE| .. |END IF| Do script per command flow state synonyms: |... ON| or |... YES| / |... NO| or |... OFF| or |END ...|A:5:=O:F"ɷbk(~|(+w#! ~|"w#~|("w#! ~|+w#A[ a{ *|q###>w{*R"Fo* DirectivecFo* Parameter number out of range;Fo* Expression or ParameterFo* Script too long. o* Error Line # * +ͼ**~(# 6u*ͼ*K> (g+o*^6 o* Too many parameters: *> 6~ ȷ > g+#o* Text Buffer Empty4o* Incompatible RSX has altered (0001h).4ZEXSUBÌÁuå KZEX v. 5.0 ͹7?71*"r<(͹ *"K:K*#~#fo R>2*:#6͹*"*! Nwy#*K%K!4!41?!^^'_Y*8#[Us#r*:#6͆*4###KD#~( y [@*BR6;#j#~# *6:Fw2W2R2]2^/2Q2Q2\r+~͵<>$$. NF G"O((($:_G(y(:` :Y!X5=2Yx:'(N'F("( !~68s16(Q( ""O"y0 2b!:t :Z("":a >2a:a(z-(ˆ( :Z(>2`:` >2`(O(KO88̈́(:^ :] y<1̈́(:^ :] :Wy(?*'O:Z < 6>(2a2`6y(2t {*I l&"X:*. * 6 (((#:Z :Z( !_ˆͷ:b(38>O!k T]+#qbO +G +>2`2b*:~G(!" y 2R/2Q2\:Q(*6~  y 2*G?:T($(' '?:Z!_F*:#F+*:Fɷ_!K^#Vagms  39<CFLOUX^|6( >2a>2`6(>>6>(!bwG#w>' (# ($ ͸'  * **&̈́*<~#fo~2Z{͆!KP?å>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2G͸>$ '>:GG2  '![2[̈́<(:\/:R:W/r+{~2Z#~2Z{>2a2`͆'r#~2Z{:S38P!:H( = *6~(3!!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done (HBA  @ I$H B@B@D@I "@@$@ B@ I I! @DHI@H@$ H$@H  BDHBII!  D! !"!DBI $ $" ZEX 5.0 Òuî81_< :8͕*-.~>2͊>2; *! Nwy#:/(*-.h0w w w w*u88͕!!!!1,!KK'_Y*8#[Us#r*:#6s*4###KD#~( y [@*BR6;#W#~# *6:Fw2W2R2]2^/2Q2Q2\_+~͢)>$$NF GO((($:_G(y(:` :Y!X5=2Yx:'ͮ(N'F(( !~6%s1#(Q Oy 2b!:t :Z(:a ͺ>2a:a(z-ˆ( :Z(>2`:` ͺ>2`(O(KO88q(:^ :] y)q(:^ :] :Wy(,*'O:Z ) #>(2a2`#y(2t {*I l&"X:* *# ((#:Z :Z( !_ˆͤ:b(38>O!k T]+#qbO +G +>2`2b*:~G(! y 2R/2Q2\:Q(*6~  y 2*G,:T($(' ',:Z!_F*:#F+*:Fɷ_!8^#VNTZ`t &)039<BEKiory}#( >2a>2`#(>>#>(!bwG#w>' (# ($ ͥ'  * **q*<~#fo~2Zhs!KP,Ò>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2Gͥ>$ '>:GG2  '![2[q<(:\/:R:W/_+h~2Z#~2Zh>2a2`s'_#~2Zh:S %=!:H( = *6~( !!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done H  H I D B@$BH@ A D$D @@H!H@AHD$ "BHB@$@@ IA "A@UUUUUUUR $@BBHH @!$ $ A" $$HI!!@@ *C+C+͵)( ʹ*< ~(l)E)##(C+)K+)K+$}2+͵):+(l)##x y K+~$(=G#~+$O*+^#V*+~#fo~#fo~"*+~#fo )+)*+|(~*+^#V#~ѷ"+ *C+K+)Y ʹ*Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0 Oy'4+4+d4+ 4+}8+=+0g+= ˀ7ͻ+g+Ϳ+g+. m+O:g}+͓+H ͜+ H͜+|8 }8 Ɛ'@'!+}($.Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0Z3ENV.CONFIG: $$|<OPT:MACROCMD:ZEX LEADIN:|"|* * * ZFILER Group Macro * * *|crlf||lf||"|MACROFCB:ZFILER ZEXZ33OPT:H* (1G0.~:~6#~61 }5>2:2:s:0|2:͠3ʱ9z1($1; 0x<(@y͏8>:͇&!;E3(r.Shell Stk Full͈7C;\d5͈7C ;%2;f'(. ͇&"(0 3 <4(õ ͺ3%ʹ%T(:=%:]/ {(U!.& :;&2;#c+()$+H#(::((: ͇&2:)R*,(ʹ%2:2:n,q1'ˆ2U;G^,n,:(2>#(2:( x08:8#^,B,Invalid Cmd: Hͫͬ:<G>ͬ3*:J!*:K ;s7͞ :(%3.:#({( !.ͩ.'%* ~!:~#~1{:: {:H#!.( !~ !~ȸ#(###4 B,Not Wheel!(#~#fo4 r.No Shell Stk>8r.Sh Stk too smallF4 r.No Cmd Buf.r.Bad TCAPd d    +.>-[[,[<[A7 CkDsFG GJ  MPPRTUVWGYEHE N O S XZ7 L ? / *f;Z͟&(!";*`;*O;͟&("Q;n"O;"d;*O;*`;͟&(!n7*b;͟&(8n!*f;Z͟&(!";*Q;*b;͟&( *Q;l+c+>2:*d;";@2:2:+,Jump to Filename: :*'!:? ~ q#*d;";*`;"d;,*O;*d; "d;::(*;͟&(5*b;͟&('!: /+*O;͟& ::()2:,%:: *;"d;::>9,*O;"d;̈́+,%,͍+,*Q;"d;%,*O;*`;"d;/+*O;͟&),%,*Q;*b;"d;/+*Q;͟&),%,ͤ,%,,%,=8 IL8+"d;*;$";*d;*O;͟&*d;A[Q;͟&L8,L8&ͤ,%*;}>8*O;"d;̈́+=8"d;*;%";*d; *Q;͟& ̈́+*O;"d;*d; "d;ú+*O;*d;͟& ͥ+*Q;"d;+*d;"d;# *d; p*d; >#6':"2:%>2::M;,*d; ~#ij.#)~9û.+,Tag/Untag (T/U)? 'T#(U( +,Match (filename.ext)? $;*'*d;";*b;*d;͟&(*! "d;!$; *d;+y(~# ( #(p*;"d;# ~?( #*d;";*;"p;*`;"d;*d; "d;*b;͟&(*d; ~' 6#*;"d;*p;";:( * ;0 }8*;^,͡(r.>D'(C;z!0{2;%͞ (}(B,Command too long3 B,Cmd Line Errͻ%"( 2:+,Login [DIR][:MASK] @'(:(&.("͡'(78SC ;&>2:*;###~:( #\/9~ ( G::&f'B,Directory Entry Invalid9B,Directory Access DeniedB,Invalid Mask - Ignored(:52::62:{(r.OPTIONS A. single replace query B. group replace query C. archive replace query D. verify query E. verify default F. suppress SYS files G. sort by file name H. set copied file attributes I. use dest file attributes J. archive destination K. search path for CMD file m.Option to Toggle (or RET): I8q:A8 0 0o&~/w"(!5::!6::Ĭ#0 !!., $>N(>Y9:6/26"(ͬ#{ n *d;#)r. is >2.98>K9(B,Size of %#r;*;"X;!";::o*X;ͥ&/o+,Status of Disk (Letter): ' (\2)A8[!V;0U2 .K ;Gs7͟)8$.*:"H;/&R&ͧ)K ;s7/&(n,(B,Invalid Drive(+,Read Help File (Y/N)? 'Y(B,Chaining to Help File ...!-͞ (:M;/2M;H#A Alpha SortCCopyDDeleteJJumpTTagF File SizeMMovePPrintRRenameUUntagW Wild TagVViewYRetag  ^R Top of ScreenXeXit ZFILER^C End of ScreenLLogin DU:/DIR:^T First FileSdisk Status^B Last FileZZCPR3 command+/^F Next ScreenHHelp ZFILER-/^A Prev ScreenErefresh scrEenSP/CR Next FileOOption togglesBS Prev Filem.-- Filer Commands --͕.! ͳm.G - Group: Archive/Copy/Delete/Fsize/Move/Print/Reverse/Tag/Untag/Viewm. -- Misc --m. --- Cursor --͕. !<ͳm. 9WS diamondm. =^Em.=^Xm.9^S <-+-> ^Dm. >^m.>vm.-- Macros --m.# : Display Menum.ESC : Lead-in Charm.70-9 : Direct Macros{2:::_~Gn(#~(r. - ͳ.ͻ. %8 #Fn(#F#~#n(92:2:{(>2N;>W2:2:"^,(:: +,Print (Y/N)? 'Y(2:!":B,Printing *d;#)2L;>2N;>2.92:%5r;5(9 ͕ͨ7::B,File NOT FoundB,Empty Fileɯ2;2 ;Ͷ5 (?8Ġ:.9(2L;s{ 2 ;:.9(m:::N;<2N;د2N;r.  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  '.n(> 9 >2: A>=2N;::G:N;<2N;:N;G::G>2N;:: 2828> #9:L;( ' !-!s;:.9 !-*:#":8!- ~Ź#2 ;>._{  {9! ;4~ 9! ;4!.r. EOF !.r.[^x:next ^c:abort]  ' :: 2:2:B,Copy File͈^,(!7:͘&2:2o:92L;K ;s7!"Z;*:":*:r;(=(C'B,Read ErrorI::( *:~"#*:":*Z;#"Z;*\;͟& >2L;*:":Iʑ::p@'( ͡'( 8/C ;^,(B,Destination Dir Entry Invalid(B,Destination Dir Access Denied(K ;s7$;<ͦI$;%;::*::(:U;A :2(R:1(J:0(Bn,* ;|A9}]8>:9!%;)r. Exists. Erase (Y/N)?  'PY 6!$;(.$;$;S;2;::(!/;*:|($;*;";!";'$;7<(k2D;r. Vfy$;(=('B,Verify Read ErrorI!~"#[;*;͟& r. OK >2::o<=Đ,'K ;s7pB, -- CRC ErrorI!$;~B,Public File Conflict ~(8^,#)r. is R/O. Erase (Y/N)?  '^,PY( ~# ˾#!˴":*: w#B,Move File2:2:͈:: ^,(2:%X(:;(*Q;[O;͟& "Q;[b;͟& 0[d;͟& "d;+*;"p;͍+> 9*p;";"Q;^,2;%::(:U;M( :W;V X+,Deleting )!r;r;< ͕I>2;::*d; *b;͟&( ͘&Sb;*f;+"f;^,+,Delete )r. (Y/N)? 'n,PY*d; >05n,*d;#)r. is R/O. Rename anyway (Y/N)?  'Y(^,+,Rename File to: $;*'!%; ~#?(|$;<(ͦ B,File Exists!$;4; ͘&*d;$; ͇& ~([d;!4; #怶w ~(4;B,AFN NOT Allowed2:2+,Group: (A,C,D,F,M,P,R,T,U,V) :G'2U;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:":2;M[:*:J!w=2::a6 #6 #6":!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͈7K>Ay͏8>:!!G:<G:;ͬ3~ Ͱ&K :5s7ʹ7# $;!. ͘&ÏK,!":*d;";*`;"d;`"(# { *:":*;"d;n r.Tagged Files is *:^ +,Group Delete (Yes/No/Verify)? 'Y(V(2W;M*d;";*;"p;2:*`;"d;`"(# *d; > >2:#6'*;"d;*p;";::R*(B,Group ArchivedB,All Tagged Files ARE Archived.(B,Group Copy/B,Group MoveB,Group PrintB,Group View*d;";*;"p;,!";*`;"d;2:=2: ͺ+`"[d;*b;͟&a͜P*d; ~# *d;*O;͟&8*Q;͟&8/+),(:G:U;08:C(:P(bV(dM("A(0D(:;v*d; #6.v͈:: v͈v͈::v*d; >wr;>wv"vv::''K ;s7::(*;"d;,*p;";,:G:U;G08:GDMV^,% Or. Macro: ' # !(q:Gx9^,2x!-r; ͐&7::(>2 -K:5s7͟7 ^,!-)r. NOT FoundPs75r;5O25 Dq:( 5 7 >#(j5 % (! >2;, 5 2a K ;s7B,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͳ. ͻ.9 ( > 9 y r.File Name : K ;s7*d;#)K ;s7r. Enter Macro Choice or RETURN - 'q:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~t,5 G^ 5 <_@8/$ 5 +* 2{(!.'("( ( (9>D'G~(#x'r "r Ê q:G!͢5!D"U"H"R{"C"=::G:2Kd;Cw$(#KCd;w^!q:͢5!P!F!N6"T "$!!!*!::::6G#6O#!;6$#w#w#ͳ":(!`"# :w#͗"͟"6:#ͳ":("`"# :w#R"6.#ͳ":(%"`"# :w#*d; ͻ"ͳ":(R"`"# :w#*d;#ͻ"*d; [b;"d;͟& ~K;K ;Ͱ1 ! .ͻ": ;Aw#: ;͏8:;͚":;*f;|~ #*;!yg)0>g>!or$s%# [;O*; ~W$^S;^*;";/&*`;"d;"b;":!"f;>f'2h2|\< <2;*f;|=ƀo&4(:5(  ~> 8#:\w[d; ͘&> w#"d;::G$*f;#"f;\< H#(*d;"b;":*f;+|(s!)͟&0+"h;W*h;7"h;*f;[h;}o|g"j;!"n;*j;͟&0/*n;"l;|<(*h;V$8͠$[h;z/W{/_*l;8*n;#*h;8"*+*:{ozg8 ͥ&| <<2;"\;2;͒$͒$:6( ͬ$" ͬ$ #ͬ$ ͵$ 7[`; Nwy#͵$#~G:; B,List Empty= B,No File FoundB,No Room for file list*d;r; ͘&r;7͛:";";"J;$.":W4~2:~2:4#~2:#~2:#~2:*<~#2M;*:"`;!";̈́42V;: 2:K ;*:|(%x0 y( 0Q7 (P7%(=ɯ*;%K ;%K;[ ;s#r#q#p%N#F#^#VS;C ;s74 ͌4. K;s7q#py2͟)0  ::K ;s7<2\##~2:#~2:##^#V":*:#8W+}(z i`::()= "H;~#͇&~#z{|g}o4G*&}6:+,Verify (Y/N)? '(Y( N(:4Gx2:r. Strike Any Key -- I8q:'9 O>w#@'( /9~ ȷ^,(*;p#6 ^#6V:~4] ( ͕'~#͕'O~#~ (/!.>1 7?c4( ̈́4=8͟40;Ͱ1(;~ (-:w(&_ 4 +,Password: @'( ( 7 ~ q:#x4 :: (*d;# ͇&>2:40 ~O怱w#4 !00/w#> 9.W4#F%8ͩ.> ͛(>9|A9}DM]8>:9Ͱ1(~ (9# r.NonameH#!?.*d;#(>.9~8 >_ͳ.9ͻ.#!s;)ɯ> O+)>.9~9)9#G::xA[ ͟)8 i ,g)!!.!~~8'<'w~͎:0 > ͕)>:9#~͎:9~͒:9 0^,*H;>2.98r.K Bytes free on Disk X:*;"p;*d;";̓*ͯ*:M;(U ̈́+*O;*̈́+!.r.Command? (/=:M;( r.Files, r.Help,r. X=Quit): *p;";*;"d;H#,*;"p;*d;";*`;"d;ͯ*:M; ̈́+*O;**p;";*;"d;{(!!.r.ZFILER 1.0p Current File:!.* ;͡(͂%( r. [PUBLIC]!?.*f;Z͟&0r.[More Files]r. n(:"2: +>2:"S;*Q;*S;͟&r. 0 "S;͖+*`;[d;͟&8o+!";*O;[d;͟& ͺ+!";*`;"d;"O;[b;͟&0"Q;!";.ͥ+*;.ͺ+++*d; *Q;͟&ͺ+*;}>0o";|!g";!D*;$|8}!o";*;͟&(}(o";{:M;*;.r. !::G.͎(.r.!::B,Working ... !.::G͎(K)!.::G͎(!!!TIME&DAT,!,; K ;s7*;:;ͽ-,K ;s7*;:;ͽ-=,r.(date)--( b-(O-!;;6#D " |D |ɯ!;#;;S;2;"-<:;(!; ˾"-<;! "-<2;;!![;s#r-!"- =- 7:;!;o0$:; ; Page HELP ZFILERZFILER CMD???????????noname 2p<^.E(0>^.E(:p< x8 XY.:p(R(I(N ү$,}lg0g|9e||d/ /0/0Gz0 A(9x~( #\ ~#9zO*<|( +~(G90 ?0 "<|("q<|(D~!8? ~2s<#~2t<#~2u<v<0:s c4(O͈7ͫ2(Fq:A8G#ͫ2(ͫ2(ͤ28,O{_# ͫ2 Ki`͈7B( ̈́4=8͟48ͧ4(1͈7()$(=G$(O #( 0 ?~_.,>:0 Яɿ͈7C(~>(X6 ( w#4>(J~#( ><4~(>.4x=(K+x( w+ 4w# ͌4###~͌40XM5͌4###w*<|("~#fo( ~7F4(FG~(#9<4~;( (>;( ~#(6F4s#r~# >F4~#fo~*<^#V#~*<1.=5$Ð4GR*<,=5"*<|(~#fo-=5Ͷ40xS5 S5*<0~_4XG*<^#V#~#Fѷ+=5*<)^#V*< ^#V͈7|(~(͈7$(G#~#$(O*<|(~*<w*<|(^#V#~͈7(G! Ns7*<~( 7^#V*" 3" >####$7͹7> =7> * >6#6#!&s#r97~> " >####$7ͦ7(>~>(q" >##^#Vz>(c2 >r+s+5 6#!&s#r=7( * >##6#6: >7* >2 >~>('" >##^#V: >r+s+5 6#!&s#rT7(>~(6" >~(+" >#~(>6~(6* >6####ͯ7> * >(7[ >7* >(7[ >7!7Y 8X88 8OG>8<͹7>û7>û7>û7>8>8>8>8 rr# <7zz7DM!>)j0 = ѷO> 9> 9> #9> #9R8/I8>|:>|:/&ds8& s8͇8.,0g} |> (0G9|&dͥ8& ͥ8͹8.,0g} |> (0G|'88d8 8}8R<0 > (0G9!.9~#9F9O>|:O>|:C>$կ9~#:( ,(U!8Q~q:A8A8<2>#~:(4? 2>#~:('G~#:(08 0OxGx 02>~: #~,(!0 >?9K>9~. #999(* >?#9#> ~q:!8=_.:;,<>ɾ~#(V:(+~#(V: HAz +| (( (80a{_̈́:o*oƐ'@'*:j>vZFILEB38.LST[4/1/91 -WAT]& l-)JeB)4@F$88h`4" PpaHm0g1y@p9# ^u7 !t0NSn3ɒT@c7McIl|JgS.Vۨ(@2j4A/-ʱrIu'/!sYL[/RIx{g9t 8j &G" Apa5gBosQˎB^$"yH |61_dR77,NOt1w;AvYApABZeQs_e !OEp"D14DEDQ 6o@5pW3MCQ3 XtCe ɾEi6o -PB#HEP>ne ]ȵHP (AI}u_mMCp9p߉bM CE&6 D(G8r)8nnW)U@V}ݔ85MDi(H2 D:q8o1/i HoZZ18Dtp$gx@:9DYgzp v EaV `Jmp꧂ 8 Q5 Dg UA5q@AraQNlmDb;!TN9SXV Zo9+2f5r0EZ‡|r+q =DIAŭF (t ӦvRCy.xfz\Wb46ӄ&N$gV@$0 y&Kx6Eqi TAvKTkt. pp Ǎ"ZlT QGuX1P,u^ɗ*D9 N pPE$κ폯/,(@` V!@UnFL#AC(` WO vDÈF0rD;Bu7$/ 'J)SaP-RAz>#aha FT!A@h8 ĀdOAa:񃢴 H(Z0iA΍S{.(-7"z\ϛGQYgC w+ VnDc#)5AR)Be(FI'Bo:g}I7 6EZХk6)`-HhH RY|:U)*eb#V,DjE  poМ(H)0T`R\f$ %Hyk_VsƬ1@`kH l><7ؖ9(PX5rD11T FTor\1&+Jbja8*ɂ[Ԇ1ߕV!4"]f(ұ 'lTbA8Q5q: [Ť7AkeT!8ø-W <<Y^Nv:* É9:\8˔B ܽS@.DY+~E,/lGqhɃi]޿@ %\1Vws J t1#0@ v r =kp3nm$wS 1Cj?& rj $q/>q[32X{F 9]DTNtU>w0LlW |Gmڎ"/Bhѕ^nxZe#1lʎ$߿U@#vHb_#i(5쌬!Yd< 4XCJ^<-@9՝+L0lȢ4Yʢ% "" @bҪ'1VKAҀeb @EOHUZ]nrGu@$lHe=LdJ lzf@*ǘTl^.xJ?8"$\GF:݈A>Xd D lu-0d"^Cz?LdMm- I *~mN? e^ρXݕ]Y fRIr؀. a. ޿4l6aN߮a-fAʡl0-%h:IgX"elLg -ޥxJ J.,]s@ֳ * ?Ou,E\@ro>`~+UFoY"œ,LQ/ ſO])]X0WſeQ~0Jl Y h0GlDޞ$AaRA>0퟿<1ZPA%ΐ1k ?beڵ m >uP0mނlUqZCnӤ,>oY]DTT$\rQ"r~gqkIY`H[Gg~')H2Iwg@DA@Xɓ8EZ8jZ/O\@ؕL.N1ݸ3҇ruȖ9h|e ݄9K R-Uu FO.$( L&+WaL S3) يLhIK\ |HaE~T5CIFrAPtMW l̫ ~\ H1ŅXj~_.MRQێ+ dHȁXUF{oT 5ٛ旽(^RX΁E{b gduF8e j6r 쬦..MNBƘ?_DŽt^@ pfmK%T AL-A2sldoY.ZX ݜYj[;[YW1Cx@c;xw +!@wN7}}neGr23LRxA1Q|Ϻf4)KxM%xRJ~O`E: Hρ000PL "6{#*A8|6z֯~` D92mę{ >x7_wb\ @`L8=rЎ2!m(Z*@8 T-) s5Fa' }-ND:ˢӼ|,0ńZ@<m''Ԫ{ܽoA1ϓ=e$@Ĵ@ɱc)3c0 ENpWxJ]-E_)aTTSPDZWЈPT8Atn(0uyOQ !MIH`` ;^jjl# )A} 'gZLf-SZLguȉ IdIqU%~wㅪ[4!~8|ҮejB{PE|;ዻxՋDžWy IyqE-HS@uNp5B+6>\ \w E^ʁ^ˈY0mRzs RDܽ:O dV&ᡖ P e{XHC@|*j™hHW^[xԥݥ=Iwe tH4v4R_.,*Yc ;a? " JRD;UH;[8GHDKA&\H@N6}֠;#0rB4w{nнKD^@ X$A٬HFnUr։$R4HCylmNUKݨъ,LPHCaI0p2?R5}=]89eTڒ(JY­$;XH@^ )2hG_ݾ8ʶK6RDM_N-ݱbbXҞ+8)܊!~:^r/6GG;Ő" H*P# 3 ABI*N~ͽ@nR"ςO'9%2 4\Ϗt b2ƉD)$#.mLGD\ITNIsjcA2nDpv01vP] (iGE=IsoXՐYB& GGl~npAGnwo퐺?v~cjFbm';#AvFAQA)J3/؈r@mF۩ZH+H@ P}~cțH@wb;Lg"^6;@25PQH@ANIC AAQP` 5/J&W-+ܙGkun]-wBl:KLLEX E@LyA9הI[6 ,0ʼnQyJN)`Om믝NЙ}DSwzӷ5ISy^f,@F@މPTl TJ[lй1hXw|uCu =،azlT z H @O8Kp EyrKޑFw(,)%TNEI`M] '< ļjRw;qqa{JGܩMh\HKuayȰIJ}珴YhhEdF}Ȳ^V&KQ ַ'+qA$)%ĒD^1&K,EKܥmȁVlEP_Vp|gx3 fm=iVygM1Wxh ^ٟYwsf [@A NxAZy(wknֿ|?gWM?;I %jBhFi܉w"0 T# 7L^Wu)w{0ȳVw!fߑWL 5bnϨ:3ڭnj 9vwťA\S XAwȺ?*e˓Hr%hAR!Gqފ\߿PuH^U&]^'xEUKp^,&w153հߍn_P l14LAlzf^avI4yh$eĨ4KHw(Il x@t̄AipMkd)hWE ZD4MEvz M$1eW>JcMkdҬ)cH%28б 6#ZzJ@HLE;4l)"Yz|՘wʿqbȔLdn3y&OGqބmA%dG >lٮ md.w~ŲvI/ZaI@yr{]кHeyGDMqPY' hH!$_}iQ$DDΉKUKLYx݁=vF.Z;!r;/U>_„T|5]Ꝩ!w,0,QXwW|^sW|Loi~fY%b,V Ձ'l~0J#ۑ?B5g cWtQdhjuP]LA88DE`iT]'wgxks ]Tԏ 50MMX-WPKk^y(HCU=ϕUO^DV̀ O'}X܁;gs]TڨKJLfh,O1k^LCU<">杝]`\w OHE98_g/,>2T v AA5tS*Q"ΉIj (oI4 pծX JaYwnBbURh&É1sD=9"!0-^Ur."cHgI*3*_פyrnB{A Vdbr7O\xxH][̓Y-9_+UR0ec5̬e\ PH^] Eɽ)iZuac[7sZS$?napEO=(aU- 9)M<-Ձ::Nyqmo]Z1^1ΓNH`s#A HTdHr,z gc2J}.*=@ ѲފBtJ$& hhHG ^mF@+^AI ˺;(?4߭}Ƕ'FI<1].xԤ_r-w11Ga?0n`yo:bp@O񤴓,%/'6Gz&0 *ӸRǔMAa2dΈp!R_VI/\njܽIn/}8̪4kBɩN އG&XJ$6m/-ؾl+zՍbOK:4XpOp= k"K b@C4bI*9W;yAL\[%*9pN5It k$-n Ek8i.$|עƀ`О0A|s\̰Dq?h vDn_'+.nNĈc kʣ,}4Hn0#y&).Pl(Uv4Ħ51[P A <#oosU\y!ɡ>S GH36&1:U k2ckqWIGHo)n^%V@g@*3䓮V}E9 ċ#/XLoO(HniܶU?QmSҰHn'Sȟ5j#mYHl ގ#ʍKb6k6EoFLp*WwPk /> k5LYMoVb@/V@6H6y%Lșf~ ^+ŏ4u_6R0&6IwIhlA#WȍX 6J"^V&duގQM= 4t .v(+Xux;ni)0TrdMHRhjO 0'sĉŲ_'Ѓm99`YFUVU@sRV RȀ+S'`jHksۊ:MRTNAKP )f"l[@ )HRF9[*%oQt@7Y`}yV^Ƙ UQ宷>z"H0S;^U?>RR^T\E{ʔ @^ZLo"S $IebMXu>h smW)>ܽP ] rgI-Njآ4X97gpĈQH`A:'% ~u EIqĊ#DmF5Q^ӊW݃2]]Лs%!v⣞-IAA>)ؑu >49]hMRh9wY&A 'Kqvv6"D o_ LRUCg.l}OR^}LٟD'd|Ai8_툱ċ) %R$Z 2RrGMW2'=η7Co?]8 {ܭ.TO HN1,"MQ>5gEQa*FO+SChvXMHTlH[_6Gx0ChvpDa+$u1!!w70rʶ+%%聱<CU=4kSe%0 6 !&&y|;|%P5DW03o40ٟD P1Hٌܼ.,:zؒm nӁidۮG hJqڕk?2PǪ7}9%Gs!ED:{ ]]uv|PE0y~GP }NH [|[Py){Rˌ NG Aӹ͝, \@AUDxGI b GOF)͍Id b h`dp@))͌F[ b h ))͎ 尻@)͌€ b3@)͌I[H b W\ b)͍e6|_1mNH)")eb wZ [r`b `JH%)͌F@)͌F ȶ)͎wwb'GmΌ_1mvѹҌ_1m7jۂ_1m7j bbК0㾔 bٞG&)G ;L@)`Go䍠b t`Gm尰@)͌Gxŝ, Yhȯ [Fv6/[mN:b ܸ Y$yhAR͌F:İmEAt8YVȃCQX܂4_K _|T ҃SA`[R VU@e76| eDUeYPUZm(=7NAKpYm QF6hw YyWQp(T℄-;ӈ 0 @Vx8xozz(_HZJĴm(=IwY14@Dt Z System Distribution ZFILER.CMD, 11 Oct 89 by Carson Wilson 0 ! $"Enter ZFILER macro script: " E ! echo f%>ull file spec:%< $p;echo f%>ile directory:%< $d$u:;echo f%>ile name.....:%< $n;echo f%>ile type.....:%< $t K ! $d$u:;$!crunch $f $"Destination directory: ";$h: L ! $!if eq $t lbr;ldir $p;else;echo f%>ile %<$f%> is not a library;fi T ! $!lt $p U ! $d$u:;uncr $f;$h: X ! if ~eq $t com;echo n%>ot a % file;else;$d$u:;:$n $" Command Tail: ";$h:;fi Z ! $d$u:;$" Command to perform on file: " $f $" Tail: ";$h: # SAMPLE ZFILER COMMAND MACROS FOR USE WITH NZCOM AND Z3PLUS macros: 0. on-line macro E. Echo data about file name K. Krunch the file L. display directory of Library T. Type the file U. Uncrunch the file X. eXecute the file Z. perform command on file ZFILER parameters for use with macro '0' $! ZEX 'GO' $P DU:FN.FT $D DRIVE $".." PROMPT $F FN.FT $U USER $'..' PROMPT $N FN $H HOME DU $T FT Z3ENV.CONFIG: $$|<OPT:MACROCMD:ZEX LEADIN:|"|* * * ZFILER Group Macro * * *|crlf||lf||"|MACROFCB:ZFILER ZEXZ33OPT:H* *1I0.~:~6#~61 5>2:2:s:0|2:͢3ʱ9|1($1; 0x<(@y͑8>:͇&!;G3(t.Shell Stk Full͊7C ;\f5͊7C ;%2;f'(. ͇&"(0 3 >4(õ ͼ3%ʹ%T(:=%:]/ {(U!/& :;&2;#_+()$+H#(::((: ͇&2:)O*,(ʹ%2:2:p,s1'ˆ2W;G`,p,:(2>#(2:( x08:8#`,D,Invalid Cmd: Hͫͬ:<G>ͮ3*:J!*:K ;u7͞ :(%3.:#({( !/ͫ.'%* ~!:~#~1{:: {:H#!.( !~ !~ȸ#(###5 D,Not Wheel!(#~#fo4 t.No Shell Stk>8t.Sh Stk too smallH4 t.No Cmd Buf.t.Bad TCAPd d    +.>-[[,[<[A7 CkDsFG GJ  MPPRTUVWGYEHE N O S XZ7 L ? / *h;H͟&(!";*b;*Q;͟&("S;X"Q;"f;*Q;*b;͟&(!X7*d;͟&(8X!*h;H͟&(!";*S;*d;͟&( *S;h+_+>2:*f;";@2:2:-,Jump to Filename: :*'!:? ~ q#*f;";*b;"f;,*Q;*f; "f;::(*;͟&(5*d;͟&('!: ++*Q;͟& ::()2:,%:: *;"f;::>9,*Q;"f;̀+,%,͉+,*S;"f;%,*Q;*b;"f;++*Q;͟&),%,*S;*d;"f;++*S;͟&),%,ͤ,%,,%,=8 IL8+"f;*;$";*f;*Q;͟&*f;4[S;͟&L8,L8&ͤ,%*;};8*Q;"f;̀+=8"f;*;%";*f; *S;͟& ̀+*Q;"f;*f; "f;ö+*Q;*f;͟& ͡+*S;"f;+*f;"f;# *f; p*f; >#6':"2:%>2::O;,*f; ~#̵.#)~9ý.-,Tag/Untag (T/U)? 'T#(U( -,Match (filename.ext)? &;*'*f;";*d;*f;͟&(*! "f;!&; *f;+y(~# ( #(p*;"f;# ~?( #*f;";*;"r;*b;"f;*f; "f;*d;͟&(*f; ~' 6#*;"f;*r;";:( * ;0 }8* ;`,͡(t.>D'(C ;z!0{2;%͞ (}(D,Command too long3 D,Cmd Line Errͻ%"( 2:-,Login [DIR][:MASK] @'(:(&.("͡'(78SC ;&>2:*;###~:( #\19~ ( G::&f'D,Directory Entry Invalid9D,Directory Access DeniedD,Invalid Mask - Ignored(:52::62:{(t.OPTIONS A. single replace query B. group replace query C. archive replace query D. verify query E. verify default F. suppress SYS files G. sort by file name H. set copied file attributes I. use dest file attributes J. archive destination K. search path for CMD file o.Option to Toggle (or RET): K8s:A8 0 0o&~/w"(!5::!6::Ĭ#0 !!/, $>N(>Y9:6/26"(ͬ#{ n *f;#)t. is >2098>K9(D,Size of %#t;*;"Z;!";::o*Z;ͥ&/o-,Status of Disk (Letter): ' (\2)A8[!X;0U2 .K ;Gu7͟)8$.*:"J;/&R&ͧ)K ;u7/&(p,(D,Invalid Drive(-,Read Help File (Y/N)? 'Y(D,Chaining to Help File ...!-͞ (:O;/2O;H#A Alpha SortCCopyDDeleteJJumpTTagF File SizeMMovePPrintRRenameUUntagW Wild TagVViewYRetag  ^R Top of ScreenXeXit ZFILER^C End of ScreenLLogin DU:/DIR:^T First FileSdisk Status^B Last FileZZCPR3 command+/^F Next ScreenHHelp ZFILER-/^A Prev ScreenErefresh scrEenSP/CR Next FileOOption togglesBS Prev Fileo.-- Filer Commands --͗.! ͳo.G - Group: Archive/Copy/Delete/Fsize/Move/Print/Reverse/Tag/Untag/Viewo. -- Misc --o. --- Cursor --͗. !<ͳo. 9WS diamondo. =^Eo.=^Xo.9^S <-+-> ^Do. >^o.>vo.-- Macros --o.# : Display Menuo.ESC : Lead-in Charo.70-9 : Direct Macros{2:::_~Gn(#~(t. - ͵.ͽ. '8 #Fn(#F#~#n(92:2:{(>2P;>W2:2:"`,(:: -,Print (Y/N)? 'Y(2:!":D,Printing *f;#)2N;>2P;>2092:%5t;5(9 ͕ͨ7::D,File NOT FoundD,Empty Fileɯ2;2;Ͷ5 (A8Ġ:09(2N;s{ 2;:09(m:::P;<2P;د2P;t.  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  '.n(> 9 >2: A>=2P;::G:P;<2P;:P;G::G>2P;:: 4848> %9:N;( ' !-!u;:09 !-*:#":8!- ~Ź#2;>._{  {9!;4~ 9!;4!/t. EOF !/t.[^x:next ^c:abort]  ' :: 2:2:D,Copy File͈`,(!7:͘&2:2q:92N;K ;u7!"\;*:":*:t;(=(C'D,Read ErrorI::( *:~"#*:":*\;#"\;*^;͟& >2N;*:":Iʑ::p@'( ͡'( 8/C ;`,(D,Destination Dir Entry Invalid(D,Destination Dir Access Denied(K ;u7&;<ͦI&;';::*::(:W;A :2(R:1(J:0(Bp,* ;|A9}_8>:9!';)t. Exists. Erase (Y/N)?  'PY 6!&;(.&;&;S;2;::(!1;*:|(&;*;";!";'&;7<(k2F;t. Vfy&;(=('D,Verify Read ErrorI!~"#[;*;͟& t. OK >2::q<=Ē,'K ;u7pD, -- CRC ErrorI!&;~D,Public File Conflict ~(8`,#)t. is R/O. Erase (Y/N)?  '`,PY( ~# ˾#!˴":*: w#D,Move File2:2:͈:: `,(2:%X(:;(*S;[Q;͟& "S;[d;͟& 0[f;͟& "f;+*;"r;͉+> 9*r;";"S;`,2;%::(:W;M( :Y;V X-,Deleting )!t;t;< ͕I>2;::*f; *d;͟&( ͘&Sd;*h;+"h;`,-,Delete )t. (Y/N)? 'p,PY*f; >05p,*f;#)t. is R/O. Rename anyway (Y/N)?  'Y(`,-,Rename File to: &;*'!'; ~#?(|&;<(ͦ D,File Exists!&;6; ͘&*f;&; ͇& ~([f;!6; #怶w ~(6;D,AFN NOT Allowed2:2-,Group: (A,C,D,F,M,P,R,T,U,V) :G'2W;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:";2;M[:*;J!w=2::a6 #6 #6";!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͊7K>Ay͑8>:!!G:<G:;ͮ3~ Ͱ&K :5u7Ͷ7# &;!. ͘&ÏM,!":*f;";*b;"f;`"(# { *:":*;"f;n t.Tagged Files is *:^ -,Group Delete (Yes/No/Verify)? 'Y(V(2Y;M*f;";*;"r;2:*b;"f;`"(# *f; > >2:#6'*;"f;*r;";::O*(D,Group ArchivedD,All Tagged Files ARE Archived.(D,Group Copy/D,Group MoveD,Group PrintD,Group View*f;";*;"r;,!";*b;"f;2:=2: Ͷ+`"[f;*d;͟&a͜P*f; ~# *f;*Q;͟&8*S;͟&8++),(:G:W;08:C(:P(bV(dM("A(0D(:;v*f; #6.v͈:: v͈v͈::v*f; >wt;>wv"vv::''K ;u7::(*;"f;,*r;";,:G:W;G08:GDMV`,% Ot. Macro: ' # !(s:Gx9`,2x!-t; ͐&7::(>2 -K:5u7͡7 `,!-)t. NOT FoundPu75t;5O25 Ds:( 5 7 >#(j5 % (! >2;, 5 2a K ;u7D,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͵. ͽ.9 ( > 9 y t.File Name : K ;u7*f;#)K ;u7t. Enter Macro Choice or RETURN - 's:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~v,5 G^ 5 <_@8/$ 5 +* 2{(!/'("( ( (9>D'G~(#x'r "r Ê s:G!ͤ5!D"U"H"R{"C"=::G:2Kf;Cw$(#KCf;w^!s:ͤ5!P!F!N6"T "$!!!*!::::6G#6O#!;6$#w#w#ͳ":(!`"# :w#͗"͟"6:#ͳ":("`"# :w#R"6.#ͳ":(%"`"# :w#*f; ͻ"ͳ":(R"`"# :w#*f;#ͻ"*f; [d;"f;͟& ~K ;K ;Ͳ1 ! .ͻ": ;Aw#: ;͑8: ;͚": ;*h;|~ #*;!yg)0>g>!or$s%# [;O*; ~W$^S;^*;";/&*b;"f;"d;":!"h;>f'2h2|\< <2;*h;|=ƀo&5(:5(  ~> 8#:\w[f; ͘&> w#"f;::G$*h;#"h;\< H#(*f;"d;":*h;+|(s!)͟&0+"j;W*j;7"j;*h;[j;}o|g"l;!"p;*l;͟&0/*p;"n;|<(*j;V$8͠$[j;z/W{/_*n;8*p;#*j;8"*+*:{ozg8 ͥ&| <<2;"^;2;͒$͒$:6( ͬ$" ͬ$ #ͬ$ ͵$ 7[b; Nwy#͵$#~G:; D,List Empty= D,No File FoundD,No Room for file list*f;t; ͘&t;7͝:";";"L;$.":Y4~2:~2:4#~2:#~2:#~2:*<~#2O;*:"b;!";͆42X;: 2:K ;*:|(%x0 y( 0Q7 (P7%(=ɯ*;%K ;%K ;[ ;s#r#q#p%N#F#^#VS ;C ;u74 ͎4. K ;u7q#py2͟)0  ::K ;u7<2\##~2:#~2:##^#V":*:#8W+}(z i`::()= "J;~#͇&~#z{|g}o4G*&}8:-,Verify (Y/N)? '(Y( N(:4Gx2:t. Strike Any Key -- K8s:'9 O>w#@'( 19~ ȷ`,(*;p#6 ^#6V:~4] ( ͕'~#͕'O~#~ (/!.>1 7?e4( ͆4=8͡40;Ͳ1(;~ (-:w(&_ 5 -,Password: @'( ( 7 ~ s:#z4 :: (*f;# ͇&>2:40 ~O怱w#4 !00/w#> 9.Y4#F'8ͫ.> ͛(>9͵.|A9}DM_8>:9Ͳ1(~ (9# t.Nonameͽ.H#!>/*f;#(>.9~8͵.9ͽ.#!u;)ɯ> O+)>.9~9)9#G::xA[ ͟)8 i ,g)!!/!~~8'<'w~͐:0 > ͕)>:9#~͐:9~͔:9 0`,*J;>2098t.K Bytes free on Disk X:*;"r;*f;";̀*ͫ*:O;(U ̀+*Q;*̀+!/t.Command? (/=:O;( t.Files, t.Help,t. X=Quit): *r;";*;"f;H#,*;"r;*f;";*b;"f;ͫ*:O; ̀+*Q;**r;";*;"f;{(!/t.ZFILER 1.0p Current File:!/* ;͡(͂%( t. [PUBLIC]!>/*h;H͟&0t.[More Files]t. n(:"2:+>2:"U;*S;*U;͟&t. 0 "U;͒+*b;[f;͟&8k+!";*Q;[f;͟& Ͷ+!";*b;"f;"Q;[d;͟&0"S;!";/͡+*;/Ͷ+++*f; *S;͟&Ͷ+*;};0o";|!g";!D*;$|8}!o";*;͟&(}(o";{9o%";:O;*;/t.--> :O;*;/t. !::G/͎(/t.!::D,Working ... !/::G͎(K)!/::G͎(!!!TIME&DAT,!,; K ;u7*;:;Ϳ-,K ;u7*;:;Ϳ-=,t.(date)/-( d-(Q-!;;6#D " |D |ɯ!;#;;S;2;$-<:;(!; ˾$-<;! $-<2;;!![;s#r-!$- =- 7:;!;o0$:; ; Page HELP ZFILERZFILER CMD???????????noname 2r<`.E(0>`.E(:r< x8 X[.:r(R(I(N ү$,}lg0g|9e||d/ /0/0Gz0 A(9x~( #\ ~#9zO*<|( +~(G;0 A0 "<|("s<|(D~!8? ~2u<#~2v<#~2w<x<0:u e4(O͊7ͭ2(Fs:A8G#ͭ2(ͭ2(ͦ28,O{_# ͭ2 Ki`͊7B( ͆4=8͡48ͩ4(1͊7()$(=G$(O #( 0 ?~_.,>:0 Яɿ͊7C(~>(X6 ( w#4>(J~#( ><4~(>.4x=(K+x( w+ 4w# ͎4###~͎40XO5͎4###w*<|("~#fo( ~7H4(FG~(#9>4~;( (>;( ~#(6H4s#r~# >H4~#fo~*<^#V#~*<1.?5$Ò4GR*<,?5"*<|(~#fo-?5͸40xU5 U5*<0~_4XG*<^#V#~#Fѷ+?5*<)^#V*< ^#V͊7|(~(͊7$(G#~#$(O*<|(~*<w*<|(^#V#~͊7(G! Nu7*<~( 7^#V*" 3" >####$7ͻ7> ?7> * >6#6#!&s#r;7~> " >####$7ͨ7(>~>(q" >##^#Vz>(c2>r+s+5 6#!&s#r?7( * >##6#6:>7* >2>~>('" >##^#V:>r+s+5 6#!&s#rV7(>~(6" >~(+" >#~(>6~(6* >6####ͱ7> * >(7[ >7* >(7[ >7!7Y 8X88 8OG>8<ͻ7>ý7>ý7>ý7>8>8>8>8 rr# <7zz7DM!>)j0 = ѷO> 9> 9> %9> %9T8/K8>~:>~:/&du8& u8͉8.,0g} |> (0G9|&dͧ8& ͧ8ͻ8.,0g} |> (0G|'88d8 8}8R<0 > (0G9!09~%9F9O>~:O>~:C>$կ9~#:( ,(U!8Q~s:A8A8<2>#~:(4? 2>#~:('G~#:(08 0OxGx 02>~: #~,(!0 >?9K>9~. #999(* >?#9#> ~s:!8=_.:;,<>ɾ~#(X:(+~#(X: HAz +| (( (80a{_͆:o*oƐ'@'*:j>vZSYSTEM.INF#S  #S(  hZS<ΆShp3&C)@C( ɰH$& 11 a4ӡ-0 <2 o:#qc4MQpA) Ɉe7' c- e&Ydo;&%v ׍3.o6Dr73gNYpB {Fhsx^7<Ir ]FfFX}ETg``F(mч瑸gK5]GQ.CctdQq>غxsKa#bM`&MHaFA_d1zgIG1'Ojon5!|Xer-W-(J@)ئ+zbؼafpT ZM_HtKgz!hw1 F -DYr[Wʓƹ?`džpہuzu)VULa1o4ȲHŤY!j)5IVAjQAUFyiQ!=EHew2Z% ptQ3zG5Pp)ID A7VepZyU? Fbfl\-j\ZA?_o䷎'vQe1TT{ouD4`T`Y'ӸFxrmE:~ˡ FꍏƔ2jM;L:"A"dfHfGwRGh'v&@JR!*,:|#?]MnŰvO <|aSGX Q19%ۘA5/ BP1*m4JЗhaE0" 1PJDU=9 a y€"BTyA^;)PA3OvG"!A !{ KJݦx2A%YA̵(yKz$Rq6.Ȗ]i<\UHB *)ŀLɶ#!$"^(N%B`C%*SlЍ 1SͰg .,XuoYSB ) t)c}3EUUfeh_9FsW6ތ/~wV@e%㳕VQJ;O^jaw:9FHiS[*J$OwBeAdce!3A,z LAk炏frҨP+㺸,zOda*Sq<4&b{͐D=L Ө;\oϫ,4S`00rYkHC 0,ŐkjGomƍ̂ڶDIwZ I^Vm46bb_)Gd6fD:[bo4*h<@sԬ:Qp#9N:CF֒]ސȢClE Fr&]P׹P ݛ.,P-ρpKv66H9@ `d8fIVziv'$9( a n7&Am;?4Ro>{54;=Jۀ z~R2H93*eYaӂV \Kڔbt]UФslgJ>5)PM?'1'H:PB\!Le~41Z S@.N6R"W3N00 1P94`9~VxP:679`5Q9TV13p)~MA($h(7(/a* wd  @D@)MB?~CLSgÕPS$ԇiV>q4VxgqA{c9SӑrYF6M@̈R%AS#s1921/`I0A.Cn(a_o'@ %!RxP$V!~A# =Wpl@-1<3g='D25"u03:sxoN09((0/090-@0L(r*DRT.I"8@Cxq\ o@>uA/m!/AQ~qQ,B2jq)(v֖N$L50+0.P%'0aX-A@a "DPvH&=fJ]lR;~almbpiIAd [ &4DT=>88Sl|ьm0 K^%3@B}7EGx79vy^D'=BtfeiX#x40POB=}#Q((dJ08p8eTtɂ$`8Fde=".FQ}>L|5Q5Κu s#da-v5O87AvbRӌ@(Q0&0U1Q&c3zY& 3噞9\\  ~'D25"u03:sxoN09((0/090-@0L(r*DRT.I"8@Cxq\ o@>uA/m!/AQ~qQ,B2jq)(v֖N$L50+0.P%'0aX-A@a "DPvH&=fJ]lR;~almbpiIAd [ &4DT=>88Sl|ьm0 K^%3@B}7EGx79vy^D'=BtfeiX#x40POB=}#Q((dJ08p8eTtɂ$`8Fde=".FQ}>vTCJ25.MAG!!!# xh2 E2I@C7S "%O"et;NParL&$ aFZt4͐Iu3fgC- c)MJDdLp:BQI6 (0Cu6C)O2.c4:tˌfSq3E [P64&}a6QI1\ Nag|I^ <,*![|\ G=r:>6`C|[Nt2b R|FSm5swQil1cu $pEṷg"!];/Z kg|.%`IԆ@($%[;8 ?--r&qP ]缃*Ƞ"2Ybkt`w=e'2ءH"Nu6#0s5'Đoq DІb M)ɋ s#Uw&DЛԼ"(8mq"?+3`֒d .f!2J+ dHkmVbUUp☉i}IJw%'R )ȽXae)֧ḞTY)ؿ؏-*]gmn(ERh#-J5?VLI%X 3eRt8DJ&'RHS_wY7 WFI</=yH"vp^\7H~ZxR&TVU <' :RL"JM:)#`!ly11 ' @kneK9rKM!$ڃS5פˋj $G)}P04_҄r2B\ѻL%N-=-#j)886mEH*j%:Èi#Pfr 5QlnMyf0&-1ͤ$ MQ:&ҙCƣhP%NgvB,5_?e4 `= -<(D\H ,ppO8fėL^,G)mo80Jn2ڟOY=NOY>,sUZPZzؐN36W^B?&mE32`/_gْj⣜YrHoAm&4Ft. eL`lIXes,i"D)p2Ne'dюY ܣ]ʉ@r1ԝ:!nmջwcty"BKp!@t싶85/Es \.$haq1->a)Y]5P_ᡫJ7l w%u:VVA|%)J1xu["~7+dWrAA"&v"I}ԓ_z#A>YPsvnOAutafWP e'nN3Tj*Gl!0-BE,-BJ+g|A/Vkgs&a bDTFAq 3Q(Z0EVqdSETR5L%3BiaU>aQmLDSj@I(+'@y( ZQ6iXjC>d*lb4k>HH#9dX<>T0A`IDo5Co-H1HmTeNT1SSI!msjh-!18C}$g1"E >DryBWUp ^&tu"TuDI~dk&SRד6Qh-BQ%fGXOb( Iw!;J9AeTѹ92URfmZNPwu4AO 8FM1`s?#"Q679`57l9'. `o46iLegR>' Pp Fƅt>43b$Ta]MDRAMHGvI#e)~YqGgot6)`,#lD#b" 01m-3?"sw`y8LA3oa02bL@zil@2c`7 qIsbE$KKF$T 5)}4wt . oMJr sR(UD)6!6i$X5]^ueIIĄ+^ү1G)^t8Y=y@eMg0`5""e0DX5D`2hI#`I!;_UTD0KZ'TX >Mq5ahTV$`M0P0/TTc8wAG I<scQt`540䗲j*kCG6rtihhd+xFj#!w< 5OZ:P(1msF1JfI=M^:2V&M&42q jQ!F @O:A Hc$$V >J"{JQ,cXZ^a33R*G]hGAq$I*ez>Hװ1V!Z(n:BT@BT:,1hAsclZQyT"jGsf7(;9K?3(3NG`qsre):E_rbpŮ A"u"@yC,ъBa2Ҏ{ehC@C(Dz#IT*qVb"Hx"tw)H)AU2vQB6Dck+5 %8.vG )KoMP!:Kb"Aa.`"}}=,q5#KkKIU@bY]M..^q1S;A;%UM!6W utUΒWoB9/QBq(gՈ$T%gurlU`)%|(#u,Ac9IGzV`qպRn{(bq@&݌.Z-d8Ǔu5!is'|"fzhRCb(TKV(0lam65."TmhζnAF_ab>g&k9RIgI6|mbWƘX6zy2!W\l P)3 Ac`nV yS A"u"@yC,ъBa2Ҏ{ehC@C(Dz#IT*qVb"Hx"tw)H)AU2vQB6Dck+5 %8.vG )KoMP!:Kb"Aa.`"}}=,q5#KkKIU@bY]M..^q1S;A;%UM!6W utUΒWoB9/QBq(gՈ$T%gurlU`)%|(#u,Ac9IGzV`qպRn{(bq@&݌.Z-d8Ǔu5!is'|"fzhRCb(TKV(0lam6vTCJ26.MAG!!!# * '1@t4aFS@o3 c7 i1!p !ͧrSl )2 Q̤s dr7i c:fJ)L&T'C3 qlt.m@;awkiVͷS NQHePSAIm@e2 neUHv0e:k1g(Rs)fHQϭץwPU\D{67RXvq&pSJ81;EB?w8 (DE AdP(C &'a<&vB $*"xP 4"D PT"0A`/3Ju 89^LCWĎ:Bc$ -cCМyix3s2UlZ5gL9nϐ :+!!pVQ̰)q/f-NxiwEBl_fMLCD4C0{MQt) e#y2׌L?yU~C(q5]Iճ%7 \Pa@0( s,2PBl s#ң1' 6Zl sޥ )D#K/:.Py1#˜vT!]<H(*ƠËKd׎E% tS`SC 5Q",T; x40۫yWq&&b"V\( !Cnڑu@42P{FOCBQJlhң 1}Rn@֊IU%:ePK;˟ (@ h-;q9+.PRׅehRiAiR74Da 9y%r&8B +<^$38ĄKenѷj솛NJc1m3xL)IlmJ,'IJbdu²{Fh.[lKF6kYFC:GP#wJP",s{Z = X17o:k̲?B="`jy5deD6|ʛ`PEDݳGuJlV"j"/8'64vG&'0F-y=xr(+3K#JJ ) >A=)4}AL3',9:yF4Jb=&e#r\X-e ^н$z](3h/x{i5ZL1tyUb)$Db.Q3z7%"Y%r7T NQ:1Zo`qc{1 nAY"W]R;$Qs7L3Qa"Xk=70 `un*@+G8,rBsBpW7@b5Xv.Gzf8n0y$9gO&7aP0w!bBK3mwx'@!sSa_!n1swIlR(EM^rri#b3R]aO?] kAd#uwZ3`-g GwAfc}wqEVRHT#]!^EHT%{oGj9hT\S ([^xQY"V=w/!r@)YG#&7Y}r"T++@tEq'=![+cahmv8ݘ8vIG0!Fs)uP mafV1㕔5a,5vF<4C3=8HRy{c97SWK(GMu/x5X4 ƻpajLI]q jx yeh=LH32tz%:!Pza c$0pbWFlfs!FUAiV3zXjv48J"S> 31Q27V͂Wёs<!SPP9~r7ȡa>=\A}!Hc3VT &U$# xT}(%vR0(e t7|6SOtz(3C1 }#d{ڃC}RPNl&OU,cu1Cs.1QFpvS"Ux 'QPAISCD2kUxj$reY-tڲQF9ѥ?Js*_JPLMZT'{#( "IZ94f+tkx=X7@FpV/28Vs@u^[wTPvV34eA'a%gD9P X,N :dS6_qfcdRi"*KAzBI;B LcRKoc7gh=DbNU”ALҽB >zt1NQr eRSoKBf$;P Y.kM"6'n YƵ;q1QYa |lˑ8j=Z?wX;ڮ0W/ g |˂(-IᲑE 1G}~6p|3)mq@Р =b̬E}'wQ*+;ґ_7>yp(0Y`Rr|.0VPt0.*r[M*Wg3dq_ͥ)I!͵3cK\&wEq%ex;1pE6Ethߡ3yV'8Gv K8mr~ae 1'F6X7]u~KHYD6$d Qc3^h!M2%(=TW! 0ޮt +"CI8x"l~ 3B`;l0;rÑJX5/Ha0eluNT-7j>+tTx63w>W#OF7ۏzk8e$m%8=#{fEQؑP]ic.(ۤf>!]83^=+>-E7̰SPB^ MBU0ZPX*EGaFKMfnyjaG"Tr=!hLpVq Fe>cx!dK0g4ـ!= NXM=7$."$uɞ'xj6^[K. ;!HVdR#q6_RcI˦2x7oLOOtmJ(q_.%j0@ MA,?:h*?pOP=Zp,÷'/}2/=ٿNs0L#1@}WE=}>o#1Z3f Z7W*u]5(`( p$"w *1[PX`j:`DW:7Ta94e9"{c;qR{ &;` EQR.Xt%23|9讨Q;qp"b&Y,ZiB"+ܗʈ^{U_Lga3458:~5 BnXY,OF'|1 ]nj>r ľR5| "30 a[Bfˬs!lwDH$2: j#,da{ynF$3$J|; >"T0NZ.e2}TyՆ:ώ(F̈́>' k`OA@s2&YfE?!$Z/V主iqɴhMHD)s%9A|G|*C>$}#y4 ,]0qAQ0 G_cB]iO U7zi);ѽYp/|ӈI+޷LlVUy3 Ӓdv'N| '.|J;FB(SaQxlq01=!(ؔ.3# @@SJMDTS'qyjyC/d%X'٩v_K>_}GܦMf﬒!'G8T'лrvt4O?d^Qp'0ǀ NUy)V{LG2av>.L{cp11@ RmRJ޹Bn}dXeҕ`y{N+9 "'LZXbEr+ p1FyLP!XZv渢[W:Q5D~ը6<1QcǕB8W$#W{ \5i'],"Hl2_Q >HqAݚu-j ^BekqDH Q"k4 ~Q xznkBhB8N*cylF%,\T)5:zW_jA,{ @b%GusOia(!I >aLh@ nqfpԬg4PdB-%J*aa3o2 //#PNC?'*n"hJq vעrarC]"dÃ#g3>g睺g q,Be9r)(p 38.f[!m2ԠBCU!$Q_>p88*sa+&N/2tUv>%PRU!Rh`&yci;U`Ap"$W"q5)\9hY%V%"SH2;# +u"@|iLZ>/}msˉw|PTƤ~VkzB? 5ÚT$oN[KEF7QryP3mOD&kAT8*=5_ h4:vDP:;OZRu`U[lRf N RUNJE3(=B@U[lVJE?")7o#2x!+jҪv׳OF55xzN [l^!>PS}5y&D=Bu0 4a-NB779>Ո/`~nrCbMvm^V\?PMR>qڱq`ϢD301 ɃaKW])Y cǕqw4z]02=>+Gxh%72?*q:+NWyf0)0P,WX*>+T^G;lQRѱ6.#bmQ vV2_@4V6 dv}H;D8Q(n,%`"k,?W=Aoculy:Œ~$#u9" &Pg'Z"($(1D6*[\Bf~$8$E!2۸wQr!JI)*H[snq20bbsJ :M BSOw_Q`=9%'Is]VU$j7'rH">h>E\o^"dr>:~H"4 0Jo%HT6i/¶=`GlSR3r!Ag ?J~)=_^+ 5lHиF5s- uA=l63c/(PT"@UW=BUGLGDr(D `^>oi-{ *8vN/td^3F5y>aGdQ3U lzf9,QQc ~UjA5&h!Sq $%(Sn<==_iؿj p~\<ӞxTf$Wlb(P x;<0lwn!0K,K] k* ޤ7Uğ¨xӱjhv8; g4Kgvhy>417W>(ܽܽX;-SC|`Z6\T1o-\4Gb/rEFaPAF2,֕0Y6Q -Q[|RJZĶa8-w(PxOVV\t(KaAc)7$Bu'Di (c)7d'_s(6c=lo?K}5uU7y^+$zMjf`aio΃ykɗm g-L >94~GFU iDvN=dH Ϙ!^v}5E/)PMT@ԡm>G6{W$rr%g?L$ CAGw FúDѲ} L eTL#TGeZҏL$te W'xM'@Nњ_h x"@Nѝ{ܖuz_Gs*)5#z)d@J20JkVi v5(uwehU9#'kbv,!s%β[6@:A>@:%O=V@;PL@@oO)LFE0O1Ϙ*;\wO:^~[gqr:kd~\b#ܳx">eMB 2%~r;/v`:roꉚ)._Q"ѴP^4ueh+=關E$T%ͺ͇;0S5 N̻GR+ޤcAyV_ UEË\) 7[JgELT77fҧ $(<L ʛ{1LOk,i QQ(I-CC.Roc^6e$$WaDt: OCZTMC՟0BK!=Zz*άRHƨы@\_Qɽ&,_97 jRͅ|50hM"0h5eCqCF~5";D0cneW43!sTuF<:qSVivd^PQ=8nZ!s <qZ>$˜<8ӑ8 (`=Ӌ'?`!s3!s")UC(93q!Cd,7!s^. $LOg~fs1pb)7!ss C"YLz@"B0"_;b+u-"E։9!s Kη+WT!c5O)3Pn+i++BC ֙J"s8e1B\t!ɓ.+fcR4'wX xV7$˜<8ӑ8 (`=Ӌ'?`!s3!s")UC(93q!Cd,7!s^. $LOg~fs1pb)7!ss C"YLz@"BvTCJ27.MAG!!!#  (S$3ym7c1`a7L'#Ȁb0 G#4 Ɠi6Be8GAt4(p4T"L}B7lX90 )`i7f3Al3p8OTl4 F9P*ɼm9bA$@h0[nDKXÝ9kga%0Q)pg30)n+f3eRh6Lela$q)$hD*Dҟ@E&s/;aV:5eGGQtq7F0 9{iEtfS!wre}TtB:$x hQM1`wmXr#@)qfGv_FzJ\W6iBgQц@Z匋gQjK։Ceq$n]UmY4eDuhF!ɿq tgᩁo VUXDfX 5 /uB)Ր kѵ?9X4pF1,"hĀr邭ƄꂡځH! cUQ:薉0WZek$Fհf8(FmQ6~`&dK1s\{xf)^D$&Zm C2yUuoQmS$ѳtiu2hy7_^6Ƹ-3Ĩ酿oz~BшuLgr$C$^H q.PfĎJ54pC 5$1\!,$a 4\ (MڛURs UZ "  2S:E'%LD@㖴)9O ք6shV1y_S%AUV鲱 ʟN/ȇIn$MYg,ꍃ~ 27׌*R`(VZ)QEXǬXV6/K\6֯Q:_VvO,>)Sv;Y JMQ2E70 Ӱ P#.e7֐ pqV 1j[hdMRV1?'D㬗Kk7i:G'Uλ/}p׹TCek d&E0lVX`EKcP}'$EtQH-TLgMEBUFPT]˟o JsmHBU L1hWE0Ժ,PS ,6*J_M:NJJmMꈪ:ZMa.(84Q4jgf"pդ(48UpY} KZn6Eɖ{B38b@d4 srX 6k*&+VW0j@4?/{vrWjTIVaGC3[\*U0&Ԍk;º vF/GԾw߉B_'-W:?;[0¢n!wkɤGAO!1 >,"4JM@O(^1NBTLwpP &z#&:Ɂ&:"|tdf fUkR^_ (kßSĄ Er==@co "mkT/j P`?UPJDmvp萉+xq1[QPKaTsV2?(s:@y[1YB߀ի+ "#hD%#YEE-u-E3 Ac,HRor,"լ{ b5](_q"-gV!a6E1%mD$\aB"'6ceoV)ad2QtN3t1/3wjc%Az@brS'9&/sfT4i¦toAu,ST$ueWg8]!oR_s/-3vn}5g9^\aRX@Q^8sXK!W~kv,o҅n o2SQ|}Qo%3,3D3}l1Tb&G"HbqClvUp-"Qy`7c`NPL @1|Hscg EN@v]CqP6Y p:^yI%m92OE(ii'~))t*bfx(ċ*"_TzH9#Ne#dy5p"6W~weE,E "ePT6&DP0``l>Uguf@r{0uvry3t~Lh$vofқmM! fu"g^Afn>)%)\c,٩-@eH`QP5Bs$2EV`1.3QX".q=uIw2?҉SS^! OWA]apPQcaQS#,P*[P1]&=:2+$ BRTP3`-16h{L>_p/`'ody:jLh`*b=r9ZɄ}Br%F28Ќ^0!dq#AW 0ykE9()AeF9 '9".TeB*ZwQ~ i&s#pOHha+Qӏ`RbljCԋP`62r1RZl}3a;AG[claa("FV]{MyjZӘ; qT'ٗB2sS%>H^TV%._f$&YXB9E SQJf)mh#:v~EDv8BG>c#RAYA *WCMC(惶Kxv3R0;w8dZc`(RňĘIdidxf(>bOJ>kÜ*G{xdbs.[cg&8 >5g_f9@0*Z{k+]vWsZq?C;`d-ejM"n< dFP;NeOG6TTՏW% A\@P''Qi&iL{zP^XleCV1ьnt>bl`qԱT$ATi(b"?b:!2e59r*a|7-eڊ65nYw;=UgTM @"s:(:iSǽl@sd/3Yx$&jѡGE_u73D#8#r u7`kQ6(EpE§*>+j C u jx.c#(C4t*L(Bs$$T*3XsB{Cutq8YqSAGL B?S@A'yTP -Z` rK~Kq،')'Ld(N?"Ը}OysUr ,oexYtTeW@Z]3 %N}IJ"pZ@N0)Bb[h⥟Sw;Y}sX5Q*]:?mq.14X(V/q{C\ZZR8ICقϗB;pߖD ثP PM$-6pMGs'5Ӫj?+,d̿ ̣1a#T>(b"['%¶Ȋm$. 53َ=dF2Q~*R'ojwae2L#1v8 ! +3CVS`qEOs?7:QNoٺxU$/S߶'O}2{rY3#$P S:p{0jZ0%6QPPCb:[?*ď1 ieΣ{y<2b!z*da!H_K6_ sQwE>2J40 CP1 |*[y>*(ݿ^-To^r`@x.ϡ5VkOnEO z)]ϿjΡ]M):zA^Eute58S"N-aDg?rn;͍8*]!i?qWKcec: b00y5Hܤ(LD[T6 T=>T);YMo__I"ahsW"j1AoTMvbfD+}*LfH opC ᵼ+d"-y7-4h? ZYA^qîT#W]W[9;k 9t' 8i_Dgu8lpEv.Lpl{=f;%$wtb~Cij񒔞kZGWcV=J.!4G,~`dKE[pWwB@QPbse$ishtc0#0@(=($ BdrwpG`bxB ¢tڡ?Y0K?ӆH<]I4:cqQyC$'8nKPW~Ot^s`f_Vf]!BQֻb*Hh_y:y~I-XM"͍fE|(w`W, E'ȣct RHFJ$-N[VݳśnUP|7嗙Go 5\ Et:ìMob%R)Sb%{D9xw߰WA}ZKPHkoLadU^yp-(X) 9q/"d10I!;yyÄ6lA: gf 3},h(Tj9XH.hw/uz;7(ջp`d{T:|~ER&p~Q ~|l:d ,NUfJ Mާ'+getF\wS]|_Phj)APnsN+Q29^1,  L !D)w4QW2̻;@W9 aeDrrWQ;,?q NB1c'ǡ*A*Q/i{WsQ\J?nbIX֎)=/e>b4U2)p/]Oy5.t}*h_p"_+aY%9p`0:~9nY W!.2^6Yan)ay&@n/yw$&DbRpisNמA+ Ëd1[<9dVR(Jf>)ZE ~Xx^Qpوd:ŏ"!kUFt$ c1=6Zid LWlTWcxt~A.7_Ei&.>^6TK!?"p2W<-%Fư ;TqSQ;d n^6S65oH.8{k\"(U'AJчrKn%/sBpYwmPpT&*~Y@Q^xR:it^e|d[j9Xb\R%H3Io ؘBLAYu.z3MY -jA?^B>'1˶3gas@(io'#;nd teHf!n#~|qk^} ַZpBQLSjr#n)?T/Sv;}ɠ"> ukz*_A-&\WAuL2Ç_%/3V?{ #^-T*_dQTmughs:ҬÉ9bac*Ҷ AYA|FBN? 4deCrޮ` ڝԊv.k]r֐C 2zǭ]"(dTHcazR8'Ò;2[yrXޢ7n~h{]B?`Fc`r9Zdc*Yu.t~LR23#WCfB"ʱ3ᾂZEq,sdW +a-@1-jOǧw+m"0'VȷdpAP3l%L/,885My]"VgIZg07I/1'3|ve@:lhӶ[l*ާ#6Aݚ<'H«~9@+@t7/Qk@c`m|/1ᵭ +C㮑Hr3p1'tE3DėÕkPH03Ck~W+K~)))sةu3RY#̿eWv/~oO]OWXRy`k0y@HdaS.Aq+q=Tl/r掋"|K`rgqb%SbS/An_NyijQT]`j>&K Dqpj"| j=>Y `ַZDa"FC;2j?pSMxRaUEX[7/ْdޣ]u,.3ba c"lLD4-Okyp`93.w,}P"Wrޢ)cU:pxb&"K!Zlt Č`;)? 1cp9ǥv st4_uRPN019x!jK*1a!^:!8& :EG \VWG#0 -L77;y"KbIl}1z(tsd nQ~AdY8Ӝ1`HS8lI}\B3)xn٬41.X1F#)XI7:D L1P-%-uv!nF}{f1 :S%p`d胕:@H<3J%O/R pTPT1W 7`/ׂ^@dMd^6Cn#tRl*nnctiLj.|VcpJڲ|ĵT'T$V86qr dYݛ~LN&4tYmYY9F]C[= !ʟU~z+ts[侚'&i"A݋Z=v$!^2)x3z J΋-6& CNxF9DgDv0EO ~Y&r}7| TN t[n ƌ5xړalK> up攷h"G [YlY܃}Z jJj&&RqqVYNs[;LiZ}nr0{Q^US-ٷa" դY53s_D:]ģ50-ʅEVp$?זP)rT")4Z0UsZ, 9疖/8a/Z]. f|Tz:V#| Q`,$ .>1eyϋԀ/;^Y\(f"ǦOQ @[]:g}8{OzF$I&GY/XR΢`L yUvoыzA)\h$; f^QJ}!!6`/w#!bJ#ny1fS-11`dJ]4qqjF.#~1S Lwj1bcm;(D&i0uF2$d;I|1QKR K"P;%#**@/*J()7Zћgg%w28VwaG!?= x:riSr !cv•}!kqTKe1FgQ?0!a38IqKmh. L#9B.Aha)25HSAR)b0)e5xHc,K1R'"hhGHk1XAW2;?"z6x7'N)s7+CՕ_$MSN@A:0OH0N`E_r0TES^L^G2^+)6M5ߗC_@I*N"'?_Oe$S9N;o(F!o/!R;e/D'h(q׉"cSU<S* N ENx+A[Kr x] pO KMDO).8栐0*A /_4YP~ERiO)IAC`yv&"W?l`H2x83cH+@E)9*PRy':%"j(*ypY+Op"b&}}Q!hg8!p;0 cFsgr;uy]+7^G@W4+$zOih6FDub;eUapYVKC8-2Y:ѷv0 rSs75:;n0Y*bpA9h!T%yvo'J"5G41ʦzA*p-iQ-r$SBoio cX|/Xj7n2ڄxIaQ/eSN1׮3+d`aAAAI8]1p3v&fik6'0h&Q'3h6Բt |` ARbJWL#r.KvaSvI?f7]8їfmӞ ;1k|JZ[/h o ''}QaI4I ;.h0ҨKGW(8QMJr)uZoaKKge1&d&gx&pNF68Vc36aiU¢[@FZeq%E< 'jEσ!WK-19I` bYtl(vZb0B 7&tRxw.0MGsB&I7ki$-#K0IAg1[mЯg"<٧m6 S'# ,".'ÐZ zJhŁ6j.r)N'(nSRVO%SP p uSֶԛ!"PNV@ %`Ǡt11EC9SPG!g ,%9}O\ ̉룩;1?*Iٔ y^Ap-& KkIzR%A(0-%`%LW,Z'("Z&ƶYZ%^&N(yLfy uEu[ R}@CM+m)}&2"-F!#2Җq!'NKbG"zf`iZr6RtS!g!S!Hc(_5jb,Ŧ$(!X޼ap(U;[$ǞRnTxQzX" R -!NŗnڅDp!_ȱ]6yGLfs06+Pa; [ nŃkBIzn(- Z.szN*vqfIh](r[,RbQxkgfaQM֑@p&?@Gk-d -@kҜZHΜB6]aL=ЈK{V`KSMA$bp.B_2Quz4VLu0(PP182AkhHqK7+‚x0PG9H30T~,:"-hO"YJecJ1Uy,AK3j5 1GH~i;ՊAryK#4S ܓ/"e-1eWND! I(_bqŻ(sbWIA$c29#[[nzцr-nZt@wF!cpp'‚xfYCTFMF!pWgd;%-2eyfŕ:?W^v,ӌbiwH ܳv($ WxAb0!WRTUp-@l?,tw+w"Htx&|cP,Q4/oSYġBTUmHx Z%5|$et$ (3i 7 W1>y&Gp"jb2DSr4b6\2*~~*n3Jfϙ*V,IBRq0j!K7K;;f2#(U's<,nP>Qf+ Ze"fv,S|=? Em[|J/Bm'$ʸ,wAfY87V{eIfi+MC@UNF@"i2cEbfLVR.,QiChi2TBp:( CSNXmJ5AI׊u%"bQh1n%%$Kg32Ցwc/HpCY]ChQmRPpNDP*RU1݋tp$TjF~6uĨ߁'Lq[PtfS,(ǵ6nٚWW&@OhV/n律f䂵4zzCc1/ bWaf& c7A5`FB]QZ,=>(E$6k%U@F},F\h;X6ǐWoUU46ؑf߽Tg>6(QVH]bq5)AKMg2]eLl0e/wH1D[˻)L'yݏ*8h{N +,lb v =>48ɦ ITX+c61fX|QNT23#!o{ALI@d;%i~kn&espbc-"b&+]< SJX,of,öi*9;e; J9@**fʶѤ(PD{PR}܌!XSȅn}0DĊϒJ=jPP5H&OQOtό&L_yA,y#+011a_2˜ObDcka&'>?\+&-R o,fڑ6[ /Vp̃n} ar讨jK}?y;ʉBʈoaPn)p,2VX Iar1AQ;N,n#bۅ zJ.1kF-!Y8EyNhveU/e BVQhغfRI_0< =%J}i3>kRiA!҂{3~=kk(uUvk>acV/qVm[E QT1 :y+мQox%&kj}Pu}qK1P:a) q]>*e t @U0);fWZ&V@oShl7j\(툂ke_B&cxFn5 ߨAcE!b|dqj1);BB[`$@ 7m6,~IEx9P 9:3,P-(Tf.{,ڈ J1R_#X, EezqS$Uk3B|1vjjjxu\"_F/M0*µ"iiU׏^Y4Qqb5hWr; ΋7`1gUAQPub7BM;."l"p,a+;ssWXa0Fu ("|@iJ-4(f~rFAo#4MZdXm= +ţqFJλnFit@&XA_(Vx6Z3)B,ݻS#4B Jvu_Qa|q_eM)ᡞus2VV /aipZ5TWjq}$&~BONA]검w|Y 6<2tKA--WVIWxP(U~4X!leR,bgy!R^ Sa;b0f` uCP12+ΚԂa_*l0J>1 3ُ<8w+ AbЭWr(;!\g TE`A;|xA潯H5V,#U"0PZ DSR|)6o/#`tރ%QxB@SK !}p7rS9fhX k,JWLѵ_[n=ZgF (PNc!¼"0bŤq?6U0oQL^MB<<&)9&SZ| !~L<_tH\CA\؅kpiBTp<;2ar&EҿEZ3WҦHufXo7Y-*-R:ǎ$lyQ_o e5sCh}Asr,jlyF"75QG}+J,Mpnj"ba;;\;n8q$ -2Q@n؆:,7;j}0ob!B3AK4z ]EXH+V;g_SV Ah+SI"\PIOΑ)2T.UEe=<U_,Tc_VW12lAN(&QQyEe %h>RUԳF2 s+F$3p0IrxSޤF{\gQQE(|A,qm:2btt!Lr1za_e1iXr9y{r( X-jiE=Pui)6jlpɘ M3O?SuY>[{gv QbN#6I7o(+jGV#AYќp!' Iʩ@yNJՕ+ƕ8KMtK]D!T+S(SaIR ~;3bi0(} qUD9"ܑw$hߤF1e3^XCoW¿+1IR `v'ʔR:oQ.,]6bHU| EEX8._[bD+撰Nv(2|6jo6g1Y7YD?Ԃ6/4)@R ︪-&"/#UQqj!m6"_my j8ӊo4)n%V1x~ 8vc>sF>ͫxKà/Ås1kbTӍE"UY7lW3X@q;"rY].T9_2b(QWbvAD+2ޖw>-,h,RTʙaY(55;ĴH9rq2c H}(hQ1Abn6:8b&4k IV1e={2ҒQxo"ewN*tT?S3a6=.dz2>Y`"EXs*Ljf5e`lwApcÒg6V4LtITw(.yE[ :>KM&1ܣkf<100W̅$@Epff=Q_>FWOoELTove|XGsH6>`93B+X&sXU62y@!f1;-a,>.!3qW;#'Q25yy5!K(4#ՇK- !}~W7_Z Z(Rmﳕ%\./4A~kkn'[&V2CA\TWT!bu h"ǕșԳj(&"tE~$6#3=h/2HYx:vui(Y|LEs8(Y!/na8#V5}tx셃#@) A.o}3KEʡUHAIm>[8a! 4\d\$(sYDQLE\ge)p1[m .= u%7p  EVnh2]B( %`MYTltqCTCTABV=%`BRRN2.bU0CѸ Ck -3a'pR@SrY7Ɏۭ{04"yVf R%KSQ9xGy FNgpFlˋ$dFrAyO"@4o6YgYB 1%&yX1U&ZEM@E󣾻* k)'2?` Z1ZoE/D9`32K@5pHh-F[ F-%eBxO-FsO-?5EiPDD.CCP Dh1n5vP@CFync Mll٠LPDD'77bVeQPD$k DDRo5HvQa?_"#k'>$%?c` 6 2P`0%28!(:CWVBΑ'ɇb|3|a Mmo7}߁f$ilm"$bo,B1f!kZCb-L!\$* ^ގ[K8*TK3ht%Տs@B˝KA齡$F;E6~W}C?&+bIǃ0:l] Q6Feȃ58 ~W6*UA|DfehWC&YQbe[QFe1Q4P6m"h{sh~WG0BCT`WO3YN35OaO\/*"=ee®W`f uQm2c쑡K+gRt6RdIeR I;.= onoߩ|pS}DB]EA[go+*:m7 .%ojl;ޖ\,^A7=|do!)Q/?;)5tii/u#t"o}.FIxG㒉/wI9!+Ï0cPBj+@l&( 64p]/gU"m x+oh,!XArTL[3,xQRf6,Qd·S8;0bwhf-D y1?hHͪcvcO!/t˸%lb&qDru^r3UIx=y#{r܅u+v;_*lT^$ec}aKٍx!ulb)b]8( p7#h,ݱRԠ;+QI>WxˏAuT$YA6b !h>"g6ߎ!rJ f)]\+m3'ę43nPX7eZi੘Nw1(pHT733"X~.a gˡ{]TF&DQzF*&~Ukb߮'Rzu!,MxaZƱT+-!g TqiimU}RaKSZg S93lԙ3,o>)βa։0eyZlXs /S"a]_D0D<΋,5^3I9$fev40uTT{f^$+81)kaa[13s2y@TSsb ZgQfHQ#0D@T\+8,SNϢwANۀ)_{o5#V>vSqW;#'EgYx=YQLw@gyo%qFNT-j bKʞKА 7:>t cC%$&"ǕbY+՛ym@4.`,@6S,a.d="Q "p,UF`SfULpSt"P.1pHH_[fvPNb%.٩Hg"_B4puY7:>  dz3{!l%>d+5`2%\?Uھ?NL{?f-YCH|SVKX,\&BoT{Fymuɢ.Ph aZcILB~hm"<1|+R#vvʘ(@5I5 2;f0->"#.1SagFT9-pF |3,C ysVqf!v[kn $qi0ezw ZPX?l|/c37*x3uQC`Wbk/Su{He`/^lF&:E-RUΉ>x7j^]~eHWbMH2_4o;:f \P(caSLfs(2&2B&-D]Pm=ķvC!%N&Apg2RϤ[uTA3gko@Kǒb<( k01)Tf@E~b13h bU}LƤo._K+2;dFnK1 $1v'룓9krX2Ӌ9k<,vb!uo)Uǜ$4<1ڰtc:+n7ZPc2q*Fwqo &U!bup-*FVi*/Mh)NGAhn6|Gl S*F"1<OS7o%<)3d7,SzEºaB2ʡUi[.㿒{+HW%Yao9zb&a_[lsmVZ>~W<7_bB.XRVAךSZ tEWΞ^ޟP.~NWQD.|l^̓>lyӘӠC" /y)k,r;a%9p5Bi>tU>uҿ9HZFG3TǕXY pWHRU<>@-u WQJ)UV׫>-jw&aY ó΋OBE;! ,(0Gc{!lC%$&puWNu>ـэ2Yơ=GC%ҖB&WaA3egY|z[ "RHvvǒe0b@tNb%.W;+W[2a_Ph-rE2%q'.\ey_|^`2Aײ$νi!EnEm>, :C˖F+LÈ &ia8t,GujFt>d&pZF.VT7؀79k/[cQX)tg_mAJSWLц! ,x耶yL,%$LUnkgZ;G%ju$Y*F9mHU^PHi>0 ײ$`&'Hw 3;ĝK+ -smm. wIT:8@tiKGYK.0]&HF4pRqhoO=KGl^_:<}4UA<1}{1/%OS6nVuqo1so ?{pFBb8UϺE>~`22eB138`bcJ%ڝd{,Cq[P_Y\| +Ïi'F[fvP`R+PPH/C+(56a,׬B0$QwfՏ) ǛtyPŒ!/zMN9y`PPTF YZ\bQCࣩ$NT`-q0EْrQC%>BQoO;gRQ.`.F% Ds^Qݙ=~5M%P:yvL g7qF(3X"|"sPP*$a/NI[bSY03*2tE?_e΃9p4;N?< V?(>;ڮܓa&F"3GVW?".!"aRߖ^(tǓ?Y2v:LSY⼮{EUx(FwA0Br,N9ѐ|h1b%\h_]Ƣjc K5Rt_pg7 QhGYxl -5Lo*">I& x@!ay,R! T'SڍR![{xNrE*S}n9@ oK?#E t1H4>B|*1N >Bu*XA&u/f-Utz|Cy r'1:HA_03I taUbLbͅUno[--*Bp \|IC92$󌥽<쌳W!bųnK"c[F4#("&28b6zvD.ĆFqrxʒD%q>3+:1c0ls%IZH83osD?31?ҕ9Jj6T?Tnds-+ưp/.B"lC`u>3ž|cpc,5A{mKdqF+R+zF/E6uJ&5 * B~3J* B01J* BFrk=x-$eA1H W̅E`|7ZPclaV} OS4@+L~ SRK/+R+NZWھc92 .aF/,(W̦+_/c3 bK> ,΅i+1P:pu<:î\2])|*>uw߱ p!h~$,GP*"HVi;6rہ`"ʈ=.G'徘+BSrlYI9:Je , RU`$Ku%T5|(pUh0rI-nTwR"Tg192e;.:F!ryߏjE+Ï]wѧwAfWAK~㊑ rx+gÎP+08$Cך{h nN:ez'{e9p8{vHYo" m^̓3l-"ʻ>[jRUξuaMZjVP'zU;.1Xyabz2̊2N"dkHqdҙHĤTkdui(hq31|Gʶ}{$%|Gwh{:H >/#z[{!lP`Doa#u@FdsR)ġm&SEbp%0A(yV뚨I]bް잌]Yxݷ!jf!WƇ> lĒ; 'YN`8J(FcD4#tO<1|2;Ŝ!R|)L64B;3/;Ll{N唰TbNi#(bxfqц$Fۯ $mF<qF8j@i?ב6 1j:!(fT!uuX8B|'ș(PhV:r;RB&UﴐrkaF@aד$uS\7m0*KA9a9_,-qf[12%)&ks<'!):Eʲab'R]o3E4#zw9]y/b:&Ig`k;קrµ">BW/gremѴW[/.0"xRoel/`pkCc # Ljܞc2zXCAH "ܰ6'1016&A}{ HHQ=QF" ^a@SK_ ZɒɡFځ5#iv&kS')xO:uQwMiZ(BSM_4h05PqC!4,lb3|QI :ֶtU \LnY>Fj載v@9"P!E,w̠VH5W*.uŜN-aČf0qSuV) r>_DpUD#ϱP}Nhd8X!Q<'?) )´D URd(r)hr0fR+VԈb @'Jȼr G=a8ßHp1,5 '2^rۑeɥܹVvl_ECrKEt>| lWs9ͳX!B[ I+)-#Q/>v߱9ZEd V3zvQZ$# u8=dBi~#  X:TɆYYrW6oMIl/_!Ț,Y|P{SDa/@fB%HĸTy5Vh,dYthY~O! ߻ cZ*!eEf74c%(>h`(@ #9 "av`'pk=#Cxg;rJau|'a/nv3R*6s"JA UZ{1E7 r:}U]El!}!B!u'>Aj}0Pll>1ZtF4Ce@-f p!d31e}px5 t(djb%,Y10J!(7N%2(#r8"#Q5jVqK B66yyWf-7+#MTaR9 vPD'!1pOhAoq(yc{qM]=6"9%QBnrD."E!mnuJ|mm51J Prr%scrW#)JT3fw9REu2 4_;ǕSE;%Bu-M5<7`SxK;CuB6QZsEx%φH 8"yYXxxA6-e ~ d  ,7cIM0U MTM[y~/Dx%v!W"u|r|6x51[x9K|>uzẁK<R$ x%T[fyf$EYyWIevG+6cj+ԶVZgra'*xY11]{,Sb)Q(p/WFŎ(D+6Jv*q,v,0(00*]&w#1(QO&B+YBJ] I}F"PuBGgr4sr9aI hp5t)5Q"+@ @PfAx_Rх%<22C[c7A֜yt5d5w;kq3oK`gY5iI3&IL{qt-eD"{%0kUٙ')R/9ޏcw$HH|^Ih864$1;!MG%{7e? Z'*z~DZEzm%!oE$yj$FR1""O7IeB Bxᆧl#8Z7h4J9Aa >JX4\uK'$rC9?aj<% vd\ x;F;#PF'fd?XQ =ꅘDQ8_7/9{2߬=}$c)mHalSV\o!eP3vsSe$bI57b}vi]il}VOA*VQ14#RFcF"-#/EY6b3-KbTIE8[77U#qNr"⏒nTCQ!o:IcEQN`r891NrPy-J b_34r &2a G6 o |̒` #^J5IDnHpyufӼp+th{RP’%sI16ҏ ҶdH.K /2?g(RI%FCgՁD;ɋ e@8 )p7‹kG+d"'xGl'C/2t)<P:5 .?1aa[VR3+ۄssLys"NJ4[lE8Lx՛"\Df9D\+*4/Pw3+w`5Ꚕ-Fⰱ  svlvJiNڛݛc*\X PY .(sc0i9)EO^,Z4Ly=3c* plW-'1 ك5uX@͝axFZ0R&{4vGg< Uz~2c111DSE":o$MBKBH4&>-&weWu@Yě[!76, b xeY+"xџ/;Vx,_,_,-9I#{"L@i_IqI>0"1-nJ.:]>M;Lɖd-@1>u8,DcY_f4۾/6:|;:ܔNbF`ו9#gm2r>=VtuAqu`l'S6~4ŤUF $/ejsk!"z];S!f${{ZS6:3M9CFT<n#nҡ 6T,qpt( &pwP"8d3z%͍qFUo%T'BD6Rdua!wBl½o &6ѕO:X {!SȈD nd¬*;S4fȀ(jCRw| (*>=5953^t#BHbЁ!M ߹\H04 "/ϒ(:qjbE(NL$0RDu/Ro50c_0;|q.?PT?aio3QP(i0e))$tdqQp?kc5^ɾ#һl;>,Z7S=6r05BqV}[F_͂҅ ۞H ++=n XI;YmȘ]M4o8fQV3O2pH;Fjb=.})!dH1E+SbQ`%;/g%r7"t:==dE&pP1&nX:9h@4f[P ޿-BfX+N1 C@3{ER VE`C+z@D@B`3X:=睱 @HI1[e3e'4`E $P۩Zi1Y@FѡwGW1n:/wzqo17 C'YCvn0A0CUU)'k 8v WXڌERX:YSTA9ePDY]~RWV%gS 5<}tpFt- :|o2 1&nY!}ltpIí:+N2o)1_tqx.pCQ)g]C鸀 6hvMA9Q.j'Q#kl1(?7oXTdz*ֽ=XOߎ\ӦL{%a!vEeF4Mvg*~NC'dLst^@AdPn;dVA^rcwoXhAKhOXoS/sr+M?cEV:=a_3!q~ыlۉ$/>W[=<p{ 8b2} V{"4L$_\6@#NPK$OQdN$ˏ"ܬMUp5@W8xyVinP bմLf ;sVmFKDwÕ@2h0[A 61%v A0 #WY.SMf`0Կ.@dFAyGSimAS>0G)oB1:2L@SJ1ٶQ<ltpViҕy;}1@1ez:GBeVG e1 <(*2q 8`*-<.K4f[P 3ڣ{eHPB:F{ZVI0BbI۶X:}3 ɇEI1X:FWG3۩b@1ԫeu1Lt.g:OFn#h&X{X{.]"W_D@L<}S?ZzI˟D*t 2@b]:ّ# HPwG$?o4\:ٚxpP2?pFS íh+NÈȫi1TwG07ǦWK ;w*pQ%qqb1Q&T[G>0rF[u:^wSe'Ov2TNL_V=U}Մȶ#+^.ʣMPNe3g_sG=$Jr R7#Vn7 x6a&sd!5ok׿1Z]X2g!^|z60 i7#0PBRNi}gQN!.-s@dۋ0P3S'g6o{\p3RV, Iz6V\sA0:2@?`_ض U:Y31 p@W[$TZ!C׽0n2@[D' 31s 3 !hY - )zK$&` 2=Y0Y0.G PZU@?N^$Y_.Ye;^[X.nB3v^=S2SrFY>!hVmR|tDBП110(S|@`I-X``1~AdΦ|v1kk[e9dp 5W}B,b֍|s[eC,w?00\i`cI%] ` rR1.1%X/2f{R4fps[e5̠z1iRޏATq%Y}03!+RA>Q%[tXH/3s[eẸM k,5 ޓts,5 IQ%\5U lS19q%\5 o@f0b[eP6̧!%\5oNDrI%\50l[eXa[puoL[ePC[0x/O@Ap7y],5K~at%qG ˚>FUtl&#hM1L@iZG( 䳸3LRY qt(В#*2,܁$Fl4\}!`z3i Tب#gim;ԫFtAgUS6BO(.&N. ͤ+VIȃG+ʻ<pW^kt V/vCی W 5x7UbB71[s,3.O¤E>5/#9X6|ߌpM0Lz7pH%<4 q`<0CHqm@ 2y60%w;q*R-ybzU 2sqB-`(hc"{ *Y_ 7/Q`:h(ӊr1'<#KgfR>$3əcvyZ~~=°f;_ t#3`cG$ %QqQh&Ed`ÙV5=BlRxDB#Phxᧄ4]89>=TK#hNGT+W7[0B;}d|p! >?M$P.etr7L~`r*!E6 ݫ˒ nxJ7AjxN ˜:Kٚ-aѴ54@)(Z{@t$HT$_5>L9S> shaF Rczɕ}q]cYG=uͼA~i(Yݫh]"v9#|CIX_VƭPd TWc,Ȇkxa&M$2z2g^aӄ@S!i0!.!2HF%RB9 Ѓ|p-&j4! }՚:n8m46U#1! ,*ܪ\+e+եmA>wXro1l aB x>s&a;"{c#klW+qr9l:ce>L/d7vK(s3N]3eA"WAP?EUOdaڿɭS .ls'Rb1SH@1Gݫ}*] 'EUԕK5K0BР6qmi2y6>7ĵ |*bosPg9H=Q(1a`8r"b{"%?)sx4TgL7Q0TFcgU% /=GEq;H[d?TuSeH.6f]G{B(1audV \ݛ9@4j,C:<+Xڲ#9{sWַ201''kpS0I 0հP#HS_JT浻<-?jH^  S.jN0mi5O/0seq/*W+*`ـ1#9/ȉ£7+=t rh? '/c/Q'bAX3e! SN֑DгH 6+9 }L:(+vzbEEoqSA ?m,D{%T"$F\U+2oPg59{%71>.͌⮁ڀP, @D0&V:iVg+ڜ7ǩXM]"v9Ew8fv4H_Cb  >;n Ml%LW=w*$˺T^.[7U3#QDV dTC% $˄YJdśJiwo6Vd+sM1h40X{ b1"6ŇP RNC+b+ߡ!ыl&Aex0YR3]{gX e<12h VfU]V{&9BPS8!QHmQFsxd}, m!m+;8:rjˡ`"YRD7125>;&8JM1܈B;ҶS!8a91L{p,knZ2g#$2s!ZCQ*ZfQZxW'#lVVi"1?AX wӵ}sflQl\dˑ0f@.Sf!'6=+=71xQ,c4J"%'`μx\FRfZ\Mgnd4BRFX52\cȕ2sg" ok+Biq /1\n`rH2B,r2˸#z\ݛmrb['5q:y!i5/#pW7>!gĒ(SɄ!zw&VNAAQo8%5ss/b@jb.A6]RczkoCaL"ӄ}Y݆ؽ4L{əbxV.i(j ͬrNC'7I c2{h[9GQrg15c`o/%1{q1´jD9{l_S KBș+HgL 4p5X#.,(m<#(%JgR>*c^a<P0s2@Ԁ}!e>:F(Mv~$wpP>``|`(" ŒE s6@*6@4x4Y*-JS2lU|_Y,YGƘ(m7nrف|s)5aCr` pE+@1g~j-t|O -t|Vo0nF - - -͢ʐ(Z!̫ |Ւ|Ed2O3)vrȵ|UFq~LPO 1CAZ1R^!cz!͸iqAi7#5yglnL[3 LQX.Sb:V ʗ5M4W!&=詺ZY9- /2(m$;}D^^'hTOq4ԳukVy֌`؋v7/gM~du'6RMaCrqf% 9XBnsfv7.x7YHAv=g3rGe<.Ɵ2@2s*C dz ͛0!.4f1!(:֐u+>@-6;|6v߉12 h%g}6ؾȨ^ؼ]O*7Cdu~Jeۭ {L@SJ1h 8*#FGf)^גhNH1X:mԻ#+-sYG1'$Bí1M X::=V%í}cpUY}ltx3 í玴8?[<0N|ze{#:@rx1*#t/O&sGrC 4i`cm$Ij *dsOPtAUo;qj5XK1qBԽEz0@0TY@S- a,_ HHԽNUa_18K2URR?,_ tKjWe`K4 0SHK3!A9xK݅H' N_qf9TYP_hԽ\|fOe֍|rTV1ȍK݅TY@V+du_ ATxK1L@rԽOāj$Aj:1T,gtN_C)aCpԽj?I*_r)P Z!rK?ȇ *gQpOv_ dk0eK.0etd{ϡXg_VT:ߡe 6^e9%d2 Hu1}ͯ~4i 3 {|ABG Seu%Q`3>߻T^mGXw?g"1[:h$2dL11ʑ;Sh"o r<`$frj:Z̼R.}&]t1sSi=^zM\,q D&uٿ+XR81&Q,]-K1GXc Jn+S5`/ X*<*1m'34C_F°Z11%(0)J zXc+s,Z 7))o {)]<PYq .F0pE.F&'= *_ і1bqXI5N03biIE{ aJ^!1ʔ##LUqjqr 諉wk*'m\o#, )B1iost1Zrz252"VEWdNܲ-(sJ'<\b14++A`G11;n F3lup sr1# %{"2K]Yِ (=Q%{`E R>"#3>Sp+ks@2 9=0=S3.WC.+hr413{Jz`!%frU Mi_MxϝYx$D'4׹]')/#vG1O!K.C(A#m@׿>4-Pmo;1PMQQh\' 4,,6|A SQCudW0mUFQ ZY(GxVhıegf3/#&dYzC6L$xs\ve 'RYܦ9sG}#2ofs@S'hD*J ѼO"q22;703Uh4LY9-oY}o81zQQ0tbqN4vUu0 5Ef򸎓DܴqeY =$rjM ༴x3t9 o)O ;#NQ:Hg;A5{{g7R "IEsQ_&@k:. @ъ1D9h1`R O1r3D\TCߦ_Zp"Q$ѻag;8TPΏ{t--r1G)gˏX*6|aMR%g)!=Ձ+Cȗv`μsq`zO/jl"[SH S'4ܷQ.?)PlRUqrGrgd9k<72 Qx~;ۤ<4Q~:сF=//;_ZA@9 9*zzlî|5/Q7sC}`%c i_PQfy%?po^?b0[>1"B5yg^tՍ^ tBȆ|mA$9Ha_b$p5VNr A/s61t:c^S1!4YA5T*1Q)׳T>T̙1Bs(iҕĴԃe#fE@:tpS=>?\M1HFn;Ɂ xGXPA}=DAga^19۶_E3 ɇ3Y10F[eEt|Bϔ 1;[EW1HEx)@BԂ<hP4f34(]J[! ),kej9ÖbAVE\ƿr y^-{ 2HO/t8!a||nji3d_ ATez̢@r5fwH? j?I? CX𝀈.}m.CQd*q%k0eK݅H' a_:؍KvKgeVTg NVKosS~}iO#nt2Ck&͠3sYGPKr?9Ac4J"m )=Y8hpkd9U Y Aψ O*+wqxt% wJ1z2t( G^qZ=S1kgQϓoY2{$D*D'~?g#<Ɫ9e VuSMky|o9jҝ<':i ',BQrEٙz¾JgZ[pt3sf*+zJC+\%Z #-7$YlFvW^:W߮@?\ǿŚ<ț|Uj  C{s:s/02!h +3ͯۙ=VN*vjS" Fkt|c:x#**0TE a/|PTˌ֕4ܷ:h⺩bӋ[/QD7_ B2HL `7>{pbdyD -v4(E?ZFŬkڴtϼ!p"3!+џJ-u_#rMA}>$ <v!rOŤÌyEG[:>$ʲrc^c*;&ʘRgbӊP joTGQx֕l9@'@' &_NHV)GR36-fтM77uQB0Y1" G͊"s'خD͉Ns*, ;I>NQR24DB6pH|1h!QLM{)=(?/43c@ /|1q&aE9her?,-ٶ X^:?Sr7Vck#ux8>"/~jaMOJkFXK%7GMb/*XPgbӏPsDmе>TVJ-;kmy$HG78WLweun?}.1C(\5d_pE.T=i_ITg؃ Sޱ@Iʛ|e %*e YKi3bJM$;Ý -f|o`GdxTi!.:x,kr֊ԧ.N\0tq`}fM''6$r7r HdpxF:$ٞ6N7#KAR}oOّ#"qLJE'g6{(`I85lJc (LPۡln~@Siqz5ϰ[&ʘi_ǀTGB; ml{$y⪃6G!L\1漐e5Ș?@D&֕'d?GS)@A=0U\ݛOG(`1r:3"n(E~s4Iu8S͒*4n#2 #e T]U5Yv?>:Ft?0Y,Q11io u3Hg? )S#=&1n<{s*Gڀ0619ݶ tm "up#0Bg%PK]!,+dY@SBȀJ d,+sjH^B \5۠9;Kge,ڎ//0BPO-.1 ^E524bg?k${Pf,cs}3PE%+"y* =ÚT+F|`b;k :0!.9Ja[/xg0T 4s;QQPf101D1p0$xF;Eܮ9r!wQj_թo %7GMWTZI&EsNK=2d([\,kb/{s+As'Qc_F,ē0B*DY{KvU|boka F^fj1TE("MJϙB2B1=PSZkLQO§#9+s'Zts%(<&Lu0Hu.{k}K^LҮ8gJ"|L@SV`/ Y}K{ S .׸f%iY/<wL`,E< )6,H)Tя.=Ft#VʹZDC%g}KRAyYG3DӸڛ8f0Lu4XĠAΐ"S1}5cYC6՝"|s}Z-v,ͺ6ǒָɧڛ01\ B}gCڛ>2PZxg5:DTFcmP7ڛ:,PR&HmgͰ7Л:,=;mFT"nv` 9B$PH:snb7`}+[A'E?\ 3.&+$_5^F)߇p#FK}xa =0݁0C5^4Pc[]^1͇}kzgGveT>$f)S;B/.37݄Zx"$=6!8X:%ÅdOs $O2Yu}6Af#XbR89>9'S0 OaEI#ő#d3|8`1fkez$)cgMIWEMU 0uSJM;A3L@.oHywҺ3zR/ޏKa'Ψi_"Tex`ɳ&X*\uq s/2VOI,h!:! S/=I^YsSiI҂ȋB~y[/xw2C9:d}CdWSQʣ5ҬKn_,7R & Sƍ#oU?[ҊTA?|/PpZhyh 0o n#2j&1 2 4s `"P, 9CR2uMA+]56O|hި3!dѓ VEpFV;snwcBL/t A0GS@?PdٸkjTUMR2` Lu0H"䭢C cW2V{sPSt}\ lSd28\3^ NlD(XP|"$CLu<Z `7v1 /dkc2 Rk4A`MXg*~[?\ $i֌mՁL%飧ڂ1kuLM[: P^Ñ=8@[d+mAgFTn#9ZYɁ)ഉcܸѕO4FXL cQ&n$21ʝ;lun=Q\a6;4&VJFɘ#2*ݠbs'YNip+ HWRY0dSB V2/0A%3%LL^Q.35: +ݎ{~q%4tPd  X"mkY(ݽ*p"v_@:)[^'%A Ö?؀w{M.Whi{sFYQx3Ey5q֏=N&83_Fr>Qŀu!,T9&C8KҪlXvDvB;%;nuuÙV4%7 YR3z$st^5rX& &Vg2NGgd^mA>LK'kS`}m3 6Pd$.ZV V_QzQ;6WQr &NMkŊ#.ͯ|cA-EeCu25rh6! /S[Jq #+74..N+=55^x1{qRy]v7IQ4'V;:aFQZx,wf)щ͆0( G.;QFsdNPso( *{=q4i ss8+{F= wμ|a~)a%1eav-+^O/<02O??Gwc$QX: (Ä^K7^$whA1G|4n)d_77Qe~Ye T+ҷ'SXt S_m:P  Uc0;&$;c*|Ds'WJ?Y>0Po\{jqxcoMۧXr>7dZE%Kɳl4[_GP!gm>POF&}Tٰ0IT/ \A1+ȷ=JŚ(_H,.mq*6^\=MDY\80krZf'R3Z*ɕHgl?VQ!7#}:+:bEDEҒeH4&S1F0Yt_+jMh/yL xvZUE1ʀa+߂t5WF)inI 1J#2@0wEu (B uYG:*x\ǁ\3ՃH8է&^GVG05j{JEQ#8hZK\yvuf&-c&" }#M!Q:TNIbt r0MۧXr>7dZE%Kɳl4[_GP!gm>POF&}Tٰ0IT/ \A1+ȷ=JŚ(_H,.mq*6^\=MDY\80krZf'R3Z*ɕHgl?VQ!7#}:+:bEDEҒeH4&S1F0Yt_+jMh/yL xvZUE1ʀa+߂t5WF)inI 1J#2@0wEu (B uYG:*x\ǁ\3ՃH8է&vTCJ30.WS  "#Y # ## $1r Xam2@e3# 8dq#9̇S 6D @c7pFD2Hf3qya;LD}&3 WHDy"a6&#e2Uh0d\Cal FHa.g4H &(,3&mVlVsh4l įFsY ȯwLz_MMuOD3K%c6B aZCGBdN96]/x!lLD9q]dFA'Hq M`uZaWiutTsVPfjD1)gtAS%0ejW}[_F5YQkFF*H1DN dqPF URrlYIN.@Z=SftRGFhHw#7OcQAs!55h0(e-\D6!|Eg@GdH {3S!gFRtZ^0CT(rhAE5cMLo]#GyMoZѫcTj[S_Y'fVe! |- I2jTܦ5%t"q9rU97N]>eIQUހLY-b)AށXAoWLt=j"SU&V4nxHqeB5lJj `D{aqFj r%ĕnJt՞YkJrQ"a0s>'v7e_zP28fCatch[9Q4I,UW i->5Pg )sUSclGDfcFDf%hcupZ8ka!%Lai(Ik NkURYTFQ@ ˔Th'('̓3x"Y3;VB*Nђy]i<l!G4&|X!aN+@idKdM_ b >0C" q (&(B%2&,Fթ!E!`udN@4`%1C % ഓ- nBI N"-"q7HM\.@A10 A8'A4a!n4JhVA#R8Rٻ :c"}SHkVdW!(V!M p_Q!rbQ( #=L)G2 4P 9ťA漀|jh!$2FU}$t&T@F^ \YDMH4.Hb$ :Q Zá5TgCŌCL\k"# !< l'QR>߉dZDJ 0AnS4i,J)f=e#T銻fX2FTb).Jp fO| XLwuxE4cp*"_{$eVH[%9 ŴJs}V-VEjs.ڒcz;܇dH y50D\G)햢{4T lgǝ;fE'*PCZj]y~q2U ;NpHD'ɞ7,0䇼Cd81I gWSn-r/ 5g"DArar+2TPha$Eʔ\QW,vŔ!V*nc^SBn7#!Y)^}(:Pҷ)лپef=Y(t2DI}J9lݩF)($Z- $TL]Q:"֌4"#O]J 0w=_g~SO4y0ys)Tg $c!m(%XS]q8%Ț*4:cdb2F6d6U2+"AR#tI CGhW5kxb_Z0P"e8Yga2#ėKc\j)/W] : Mއzu/.t˴&x.*Nڈ,̡]%f-q{Ii/HrR~2AQXriy꣋ jaY>X2!03#.ښ,E!E<-p"!8|-Ȩd[L*MfQu<#a4sPJeuVo,Z)l"eO.T-eߙTK7n´;|?rF0%n%B3fvO"Uz`(QRED~HAd}G3Wc@B/'qAAQo6#ĊeE`o!E@q7n=#=U.5EwQS %^yf:Ubo'#1tky- Py6J,3+s5b/R7'Dd.g\p>hFX_PC#Hx0RAQ:F2u>>_w- / VbcIA9 PpQpFyybà '520x@bEa@4rXH)SM>hW0hWQO`sAT@P !-Kor/"3|$bHGbVqpw1DgpE#ϗւ5XHPhz9t-iWYeh 9, IfxPF]W@ Rb qB) Iw5>p G 689%W\g^f MNE15R SڅMU@t!hdfih]!%?ޚV1ޕ1+Q٫0)2]U@8GlTk$b7@7Rc-W#hakxZt @1Fy;! gv9Zd\0NR%ᴝvCbGE!0 k%S^sxRC<ذf W*"!4<-@-SddK*-mPA@ER@xs!52_`1RESqK&}pS"&6D*G{c*EPɧdb7%$ oGT%#zepUiM8$54d(8Q4Sp5W9;5j|%gB X!_j>agR119{#sPEwZ6[CU%K m7t:[(+mGô*9=r.Bi)%kN+v.'e2pl=1>e4=BD¬|^XSQ} 'idFFucܠ)V#3`|R@50v6b9EmӢ~o?)29rl}J+ӽ#rWv9_TD."(u@›hgQQ"TKFMx6!'s+E0/LN}{JyB@ lhƣHB3"TCO/1(/s#*664j ڦ!d%ڜxdB'r%(S*ѿ+6d:R0Ҥ|{OWò#:#9#tscaB#4z(KH֢PT#8d+Fv cbMdHdj1**{[Ge*B|qF_LG!䢰@h6QL0 LPwLwR3HluaZѣjz0aA-QTe/NFO69'#rH1z[(,6>v/slry4ѝUvZ "Ё:E W0Mf oa{¨zA^[ ͰSkG8d'^d7{Q [qQ&*߰l䛉DY,#dЂsl1"$ ͒ղ2r#}G>zRTߒDdv@a|du:,sA: 5ƞX(#CL}X<ɛ -gs+qQ㔢7NsU)b1MQ*?s؜ 蕙#'VNԐ<΃8O1lb5UiGQAeٓczTIַhc80n9j^QSJ"srͶ`,!+!*>T8Dd&EQ0Hr4Xwf.$RM8RA(bf$@D aZq!9 Bd931eA;g=/[)g+J''n87C{%Ca#fyrn>Cy}#ϱå+QػP~#ŇqB {qA!4C/E;;Gu>O3h7[Ʉ@"IPu1oW>bpuiHy,E3 xb|ap(^1`4cuG$2BD@7Hu]!gJЕV!duXCPFY^~J%y,d.~㴛@5Ӯ08_17@ TAOUA!_Qs-bQAo17c[f8['hV!s)c ,"_ƸTGW즃vI16GhQ |d6$6J#Z@ېr*z'}5Z-A*E/t+IRzl2\ LP3g['I9dt'Ft NuN@R?yy[1F3o[G1U7{:nѬ:9G5u+ zy*%V>J%LvCtؒDӛmӮddxOl^ eP-쮯t=r>)9Mnja  S D++[kǪ,l0aXI N'(G),s"a`!Hhͅ:Y\!h:@ gPrp`AU6 (]׋7uMw]pZ%ƀBa -aD0>qyyWYe æQ b,?KCqd0SF xI9q2wPI v#$xjD@FƐD,;KKmj-j0!T~n!b G:yE$.~#Ee`PTΰe{X.`x\Jrbm}$:S!vnJ~azaqrRQ]Q@=!_ZeW$R6jgv(!s;J(Жb5HG]k lz1|(%lnG7*H"m*4~9KzE'-;6r6dd80[Ձ62q#ʖmr"rm-71muA_*40]MIJC/TYG_U nćR.R>0i}EE1'fWw#JuqF^*‘9  UIt`  q2f ;`eK#x1d;z"4"D40"~]Wy(~4_}9GtXu=!!Jסm7@#VsnF/VG'e? 0\*p9@l1k:O}`|TrhléȻJ ')-qf] JZdiɕiG' #Y`c6e` GCq&dO ;p:@Q rۑM2.?'Q})T'X\9u'Z(+o.pA"7ea'WS@,peVɠtqVArd=(_c(17]V$IJ,1 j[>[7vHA:9")bqM5pmBp0h,JJuXJ@y%t]I5_H8K?aP`3:/-E bpu[.'`b[jUbPkK9ڼ%PJ b3¾ d;"XG˥DnC&g(Uqk8U05: *م)`V,Rp/ +!*yҚ' 7&TxkA1-O x{*M&R..էG# xNꏂ9RpTPX@:.@?0 T7T**QbFIН1tՏcK0sJn0-Cv,R )$`1B[p~@d!x<;۳)xM'' S?#J2T .T`!9$x[zGoBޑUx @Q@(1$4LUDds.C$x:)x]AOJ@3)0/ɻ[ Qah|ѱE}nTqHjLT+O%ӎnuA+J)@DoG0Z CR瞵zR-$).=N>3@@+r&;a5*]HlǦ^T(]JHJPTli@ W :A E.4F.>:BSL0TQ᪀9áIE^[N@(*`<G?H:߄YPg)n5Z7 B T`hM*_|],/'=dIk@M)hxHupJ} Az{F‡Je4B(~?@4+/ SGG{ Qmu҅ dTS׼7Cl^i6q4sZ[-dqeQLDa5ˤyǗ9^RTL?Bqu]d%E#A#\{xVPR O(AY!+#˪^FAƄKB:VSn=-':IV<껼ooLED3r<:8vr,h:K/3;42Cf"w-_Ij֔ӣՌ9hۀ\fm4DCU+NS* _rFm@L@RAB$Qd:DezWZxi+@0AƌʀSL3Erv O5,ɑ\dh;mLN@YTa&`س3?)df5JH!ysBY A")f<=v,d"S˴3'VfwQQ]Gu ){rk#j'Ws;~ pF1rjYԀtE&S*Pq VT/_aR7{$ژXEse"z[ihN#ia|6&j'X>!oۑ)'3ס=A#&%PIiu>Ⱞ7 H ߨYKP1Ru @1/pUY@1`E0HN@A!OP. o<0Ej'5",AӐ iOE :E Pk2nn&:VSd'˕.;V9!jq50!0]i8! i΂[:HRV;4 N#:!"]暁2H'QQ[0" DɫS<_`s<%'2L5%O!'Hc!xVxaUu偊)k5$'a1T#)fHw-yd&2N?c|[C)*Ʊ.ddNT6r~|qd oݧ>(q2ͽ(~J)ԀtdT?_# Y+^+PbSDpL{b:%U)6C)K hX˒5ذY{FU96=S$?DeB:"i' +h4;rFmtRu`) Q34_1@[.<-r$*&81|T0J1rgGփzk@U>ziM%Vn!pPxw0S9fJ)` G~ֱhHDW;]R1 [_]>%Mξ_YԋĐVm>)mdAaItkI&z+ kpS@ I'|6jԇfk-d!7>[7A5ߵm@OIu27َdCh5 UR1; P0a )8"t='UbfyOeSta=}qbfND\- !~5k߷d4d \Hy}dv9dA$ad,-EuՈ0q~;c--B:_K!Ԝ.^VPoъ1( *mu龌@UKOV4QHVsZqh_ KTFʈZ2Pd'- KF]Nn΃OPa9Q^N@.x~b.ﴢHc-QQ<&H2h4Ѳefԁ#rAa aV^7^u/GWiNkn>=0OaH_t-F4g0ha{$;H1rbe ֺZZpK& damM1V]P2U Ʊ+l%qHŒK@6q'ԇ&^xhT;g-M@z\q@u2@˓뇔sq!cq!EP Q1D4{%^xDQ#t3YPYK#6Q?7m;NVML3xvAQ< M(r<ދEbpuh5"/^AQqJ.127 㢥aItSU;yYf ;Vb-0-8IsBԝh 9hLeB~ij!^)pg+\q@3Y/@z|(tcT)(*qsM'd"DHJnBq e2WB6,0L"`r|x\xqVߊ7"wfU+mIԑln9ڼI%cx(tʨd `w,O~a>xkU"V(v@[XJ $:dpA jGHVSD]ak5F6btf>c$ث+(aIteݪыucR^UnQ38tX^I5rec j'0!l c"楉~I!@DH2MV,;c1sjm(;dqri%\q㷮J%2V좨0-5϶Y(OִG.uw:,q u9ҁ|ec itҋu8F9 ێʜ c>2}{.\,|WuUl |Lrx!%w+_DH7$$1tM!!Za5ڳM/Aa2qyj~M,-EEwd[xs,=?VrWf-+Lf(CRP[pE#}-tD.I!ݒݓ:ǒ^2a~4:uw,!fvv#~ \f1eO0ȦLB,E 03XG>a6wy)$0p,h\&U<>hq)YsITϕ2-FI2pV'2aItvEviCW1fP(,c ezu ,1@/9^Տrqf3=,+n[1bf◔lWD#?"xoڦOTzSdh"qLL,Kx +ͽ'.X\!LhNu,) YIM(0$܍(q)DwR/վ?LƄrB*ʒ|rrL{iIM& x,A7PM:A?ƄCB3cy*֔hUwl*@fئeVl71dk#^:fS?Ÿcrx\xPqՅ,(Qܭ#!LIMPM@Eyʌ,0vFmr@@)z+䬐R?$r 61tG2II pd$z.yj7pGD MxWLpW@pwnhU+A*)(;#xԙIQ k0x$~DTVیjgjdqtmD?xyS|$e36FcpF@qL ȶh\\f(Ctڨ2M\fL@EH%F*xk!l.ʠNh$~S"h+<$q K֫G!ZnW"0)ܜC%;vB@G-zΈV k0xx4)<^oiU[)44%:!M=;MD%h-BY∴ٴ$Ʀ{p`"H֐h:(UqKhMwq;AZ$e2-#ٴ20eq ff>詇lZy4.sitf#p'6fO!d(Z12aWQ;-;_DZocqXMdld>qpR@⢈9* ey!'U -YrD'M" RAt %nNG' 퓑yɝHl*@rGu"I6t\-O4|0QyIt.^o$PF[MoIqT䑈(\МB9`jQ_*40]C:)~N㔢up'?Z;z{joBU> U?l23Dڂfw迓Y++dnhTUbaB;aPSJB*x|+' o[)A2[1(DՏAfՌY@:.ND s OkQVrbz۸A(w,'Q@cehS2x᪑q*;u-ʨx2VQ_$8E} ^S(!,vgk:z2Ppn+EqJ.px%[D,x"T +nɪI{d59Q*uRcVkF/ Qrm=#`)a71iG&v(.S V+-4uµcjpl1"9|;"S)=t}{zbEJ{[%=4a 7d)- 4uQ9ҁrEc4%HW!8%D23)!PZ;52f#BmnWsu#DJqLiUh yR0XG8O+S@2=|_eBqy+P)!jRR;CL36ү'C_gj*J&c1,/a:+!cDu1_6m@a}m͞HQ`ehS2x᪑q*;u-ʨx2VQ_$8E} ^S(!,vgk:z2Ppn+EqJ.px%[D,x"T +nɪI{d59Q*uRcVkF/vTCJ31UPD.WS """# -  6D3ym7 #yA2qe9 Fa6BNg3pF3c Ѓ i1 Qp2 A`{# 'heO#qWUMs, o#TZ(iDr9D=h y>P(THlg9dZͦI8djF7*Ts u.׋Ђp9Z,9CIL÷Sao'fIcVΆFT!y|f3Ua^- Lxͬ69I]𤜵}7Vqt X $Q%CrPEsYׅ݄aDKqv&UYVwkNFx|iOXnGpW^dPohEI ^qy F&UN%1cD];KUQš P5ABaqLURqAToTDbVe\UcGnաpHh9W݁}Ԝg^ qaBŝZy&{DlAxM!XQBaщ  ldVzrUSZa mIAzBI=aihiUg_&$afTK,%ɑakTVFۯGIڱ3dS٩Fg~G(VGH^+oBdL [ƙp\>Q8 :}Ė%fcuWdAh-u@DU4cG&- ao|:LaC֌϶aYu@q*UXE'O!dZXGOaعVG4cTtׇ?E.x9\fi$m^"7fHI%$䤕nPH "THPBᘜ7^`*f4䏢$Id72VC5(P9}q [hR~ U]퐄CPʈ]E-6.IүRVޚ$t+`iSfb0ΑZo3R\XPy(Q-&/!;8 hcb)1ccmhIUU#(Xr I8?&&TY{MgB@PӤǙ,B,oQ2l#)sHӉB!Ҋ[OV2aN,_`BQ"$i,fr y#[ AܚC^Rr E:(jB8y)D-)h斤H\MB 7ƕ$A`C崊Rd>i{sd4WF" J" PA1كiFx#UV-j88Q!0-Hqɰ$7 )R++. 9!֐jɠ9;BuEu3|X br)=9OYI2{)\ʰoCa)^ ejz%8tK3!~nw ARPb`Z!H5H(пs\SvWBʺd 2MA['j."ˀ;C!I0u6 ߋ0ƙ!V3Vb'gAA%#Nc}ra= HZaR:K:srճ[!n&qAjÓY'N#zeI+y SIMNP`~9MhnCN A BfRbq  S@)@!5/ N40cpu& $*b'%B~fZ"X,ʧjk"hɅ%U-%]3 ٭-eeEY@p,5ᰬ)7Ur`X`EQ'0m}X(KS ,OH=iYSŭaf:Ԍ@ &l٤0`)e1aYdv;pеM'xWt;5"iQM#6זI@m TKRZ"I@tz_BF !0"m\`( ,P_:HmaH\sS䫑D2CmLVlPC@Ďv8GE?!RPH_jP 8\U\!"G#^8C6T뒂 ODQ0(NDi:c(C>X+-jV5Td Sy[0zW9jZbM U[Y+#1FfEGzPޮOd $-&T# hUDiHb~ɬC9D(7X P4X+!"9PI0|)B.6нn&T"M zdC"ipw'F Ž8N>2/;-atާ$*HαnMu1.z+\H²:¢ % 1˲UQ{b̕D:J`Ȍ@F6C0d~@949.# Fɰ'f p`ԙ.O$QHcF bǂ_D(2zƻ6+Բ1{< 슭 L/8 cJ&BkXfFw)ba_Z%LQխ9'6) bKGnY(~F"Yr!T.!"%:-s|0 EUjm"'e#68Ld߀20y0>RoJr*YZ%t .$()q68}$9cr9M8a.ȒJWspApMq%Ow!4/CD$"0>^5d cL5gr*Dո(Vj4|N:[m(P>+4fGծ9-T7XQ>B 9S(h zZ檕羰tf$1WI^8ffLF'Dkr%*bumpxN: P W * =CbujTѾ/\-F 33P[GTw$ICs&7*Mv+%y޷ͭ& Ii%uh!74'US⮷ɢ"2~G'2bb$o+*vww~}0TKD+tgxxRq$D LۍT+F"'+WV@wCj8h5Ć%UG,6/33z&\l8USD2~&" 6-]My *6t:3;Ig vJ7B:zfZbQ'xosML)d"W6*$JIagz-JM27]L|[EDԤyc %yoL\0/D#K΁yj(j RJZ"/fI0J"X9=fYZkdr6- xK Ngk^s?Hf¶p. dZ%"KP ͘[1JaW ]enYc' ³6 HL/8‡IÖwl\%-WKX4 ®u}1&M"*èKɛbHQS"Q$;Zx-WX=0U!##d(ˋ7v["=G;*E%?@? $#=q՝[@Q,kjZQGB~.NpMyJ)La&"*H' |`ߕ;Fp?4t_`Fp %è<̵(8¤Ȫg8{f^&yGJpDU"(aRrU@.Q,cMP8f)&_g]"X~֎BS`ޚ7 "7Xhk)y(\B. 0($w+@nJ~@b*HRor˸W%u$Iف\RM Q ` }GS=t![&fg?  p$  @@ N^ t `Y^ /@wW `X ` @^ .gwwdhdh{$b./l2j\`[5U=O1u|\bK:~BrД[}*>xBN_t_jH;-kG ޑ;rG$$pCbefq$j6zZ'e*`j $ g @SѠE4DCb6RH\KQ[g.{[,."ErwمN15nx)+AgxQd# aM8UC#Kb/e=cؖ++M¼u (sdrKYjBv/u*,0IR-^_$ PيS.Я)Yj-pݟuN9r WY_dȒaQF}HWsM(6 `m`>ZoB~B]g Ӆs *z&(.ցgdԏ1V.n"+BauXx(p"4."FF{i[{zk$̴:, 7;۝zs}cR ¯_b8[{[ï48zzF5RBl/=-@gTW""ČEc_"sb6LqG'#? Jſ<i]@F<<".Bn2(pw#Ll; FY]R Fo"^grPN/B!8&_dGݺ@ ҳ Gi6`N ?9fޢ o/HP'* u.7 2>/B%7bHgg!*VXaB&ƠG^Ƅ醂IUa&w] t)B@_?#M eo@Q ‹Dp=r%oЄ ѕ]w~ R4a\,C4yG 2${22OwMh, "QˋF[;ϑHG%>WXp-8[{ )'!wm2l+{dF^f` zd1f/X,ԁeCsAcyG N%}B#f)\Gm&~[>6468J:P_%`P~;GZV/:(~ ʳ_`Of#&Iq_؊> If(+{eWf`*ѱ@AR;?K;1@Cv_P7^> \w*7ePj:UPX_*-dw= %_FW\%iD.>|b,7UṀaG^X,B3`מRq/́ Z=ʭ!lSIDuSvƶb+,[Q. &( f;`'񛂄Qn-ihŨKzxpޗk!s 8TNGeP pC9?z+0E 8[{ \ng<{։x+{eXm$~w@ t(BР;;.O Dp%2u_bE ? qc `Ŀp>9&xo;#*tMA߲ȃB}~[%"0GBG|'B8W `~Mድp. Kp$D-M@O3D k/2QύSB #{X[b 7GΦ ҼB 2H9#VVH,{{ن ` x" ^uv̄y‹Y[` /8F-@ب֕{x%gІ-??NtPQH]PԂÊ{GSUG$O##(K浡24Ftxtz?3!]1@1(fb&5B,I!'8wVOSG-+ j 1vO{Y2'N"*YZH̠Givoy@@\NX}tOpazQ"!IC[Q&Ơu t 0yD>S} g 0)g謥MߟtNQh"!Irٺ%ҲM2ΜFĚ%ƺwj#hIysU"EV㈠NߋG7z~(j6rЋq5R򂲍#B-J%_=!/&7X!Ut-?4ΦX+sFHčF//#i>^)Ѡq9|P%n3Ϊ$I*$LߘDb) p Xف -|(0ƹ]\,*N0\R`@p9^/PQ|kAm6 ڸFhbUV) L}YokF ojWp Z`1ALlTg,}{j6`H[q\vOţ*2N( HQ ʌJGxlx,V*)axYޮUSD\Lh8a2DQt@1,Ֆ%jbH^I <:j&vwahSAjȍ*FE ,7B#FIkvI5 >]hUKyEaxW8=e{z l C. X*8UEب1(rG):C$! sq*JXyҺJblľ?iB #ԤF LUGoi͇32ӏp> hc/q+t'- J^,pPb(e +Ad1(A "H-@ &3#7W1Jp7"|cXp>7ȹcLL bp^^< [xbB;'~43}x54kP̚#b,^Iӌ ̇aV)i#z̬؄ݗ.b_QH-ZUg̡X穫_=30Ud܄P|ލvO:oDuZIfb;R' ̈„6&⛼ռ)e•^+=p jt}Dy2vBxX6B7  串粈Z/B $kN)'{)!R_"!D@W.߅Čn XFS$_ZR4,UjdɁw  p8/<Ο&V%a>~%L 8%Ġ[>豧DQύDmc, y]i]A hށoi/ IR-^t"X7kZ}DyTh/^Ku u P*a7׵ Ve@A n6#&@˸V@ˁ2OV6bD@ m"H%S- Pj֬TFC6WK۪}B[PC$7DrI(p[ub8>eu(-c܂”7oCEuN14¸B( &1`ŃJB `tg  /BM"7&6 ~[LJZj&wTON=8.%o,4~j&sˀN1%aC++k _q^ }m%o˸V\Co):އ&XÉF(/oţUH1 5Y>ǩ1%:@XUe{5aQsqbGcTŎ,/A@HVҹBf8Y?fbT2p"v m#L ` 4Tv_8!H /kI{=|Wχ^ˍ Zxcٱ5<)^ˊP,)=9j>q_DQJKUV@Tu#Bl^/9._]ު͓(Ə.@a/k@L z`keR %R .׌K)yt5/,1x\vP?ƿ0V'b715L6L=JvTz4,_B{9qQ"iPJ7lqYvGFH).~^lVQ̛KLoA*1$SURG+E~~KWDR3x ExTIH 3.#%:0O"LլZ9lȘcbͭ\v߲-;%1!Dŗo" wO@ME*>Bڂ)+p *V=zL"tпe;d//$4u MMH q+z H@G@Dk9 Q-\ R@ @ 4@W N@@Bഘ`=D奱GQx2&@N `hzo|Gj&vdZVUMiB ߂?@N2w4tˊaCPo\ 09H4`\kȮ.M"@BU:9_FE+Ûn{kd2|P*fyybp` 0ml4ʐB?BW.j#to:-`O yѬ P MlIT z~}{x9[ \BFDvä%u&%I&Ru,#1 @4`ghp6ǟ~K:Rb9dpRCBYJkQ@N]`[@N7qgq;>,1IH "92'-Sc)qP$˸V/Hw8Y]+JVT2_myX%?,-T䠥ҳdM_ E-:R-ɰPHUdt-mbbTOX+} p#`TA \٩f2D 2@mpX+`i]Zl @X@D;(Էv.\ V(ԷFmLĵ2}5er_okX;[>*ۥgfuiTyeR+_lkf;bbªoTF'ڹ%TL:6WUpAt$ᆴT?%ľp('0zC(A? p{M)o\cbrЋ0 X%E5s+@Ebm#&U*RC"f ۔ڕ KsJDԚoBRY +Q#2)؆Ӆ_DRoՎ!-Kה +ks!obK"4e(C|/"Q3+98W4k(Q({Un&ƹxvi4!c(9!˲o9u(DP6:SG\NRyo܍^FGe @g>"/ KQ)I^ǥ "+]@6v6vǀ=u|gT( »@OC%h_`k~7D *>,C5׽EuB-dkN.yEuǚKFe^79Lƾy4ˤ'_Y$G %+^"!OE,("% -? PY1 l6(e p^Qdd  ਹ@hVPcz(7PfDT,oV8=e~8]{=WB @( j.J% 8aVdƶdжo(Ĭ̫+ T le6Fq۷ρO>(NkyR7:5):+G2,1)(0˫k%EOM(z4hO˫! R]Xm#( oHb WH'cҪ_JK:(Qmh-a'U9b5(G"bY/"Lz*-a Qɝ_.\F1W|m|%vZeOY02uJtv^BMo TN $KidZ"/taDb"Z1&XT'L*1>opZߌ\}s+f]lԘWQ3eA{?RH2c@HE0\ qA,Їq8 (zFW28]Cc+{eXMhТ#_@b@ `}.Ot &~"ݥd@\fg$MT7[.GFj~-jL[/=Bʏ8#MD=u* EiЦ% b"X)ua^GeLXNp_x|\Ȧ D@Ek(-d^@@\d@@@ h8b(7^ b^@b(׿u\(ҍ-7X(| ew^ XkcXk ݉]H# ~K!NN*O`:d|N_l)Tyۊ.-phk8Xں H5kJv8 rAWV^/Jdcq|`rKDb"6$ca邎qq ie1bWMYb|ij2S'&_Ry872MR-(sWOR9W+^UTN0Fvҏ6ռ.O$kxi9`eMy!<zQ^3aRj{̇aV/dTu9<d e0)D8gWՋ^&VNj0짒ҟd'&k, #QY$&)wڋX͕b쨹o /$2 z ƧT [£K7"x{qJXB"O|(\ZGC 8&>fI‡_YqFQ;xW-D&>t*) c&D+NXB Ī\?|]:Eދ''(E5\ݵB2nBag ,b|/ErXv-u14qbaB^r2nBW[W:jX*I"t7Z*&w`zl_}{N~q-y>y/9.b8lJ85!MjN9Vb9bXW:=[S _JY|V%"F3Ma 屨`u, v\E>@ eϟK+gt`˔Fpj~r.^>.1da#Uz D @m 0B<͕>/hu`Qh~]utޣpq잙( !D2* C%O8갲I:}JF(0 R. A* R/^<K^y\k֌ >z. TOZ B*Fi@ * @ G%Gj~ɽĥF-%8̀OOdP~AgKRZq87ZA H!Τr7Fsw>慷qh^XXM[C[-EZ 9HI$(o۸o@9JP"푇)հdH˪Z&O]kC10njチ[K:Ћ),jzjqE`Y,kz 3 ^PΊEvvS^Fjm>-EcKk^R($< f,`HBP 6K1&HjVIW$Zj&y(_iΖ,bR$2%GPj{Vv|pE14@80-?%^| )H%虞.o$xUrKs*hm% Je :jdZc Pϴ@jתKy 6W[fN 3X5>+ /ke{;]V@! #0CXk%=Dd?¿ +]p )_"A$Ja%aSLSq&FTV %]|pNzXXB/=c ߨ9 bg@b% z 8OBs[O!]b[Q<iੌCf jG~t[P 7Vh @ IwUMO3^b$hgd@O][N&(!#bAX_J#Ϧ`T7qE>>3 - H RC2Y\-z3g*Ї6ґ46O hI2 zH|*ugN S@OI܆撢PT+_lkgxQ _)-!ag)A%@e3Nu.GvSN>4Z6X#Zc7U^f%]O>oQ*hb^FDwG*eMImaaZIRdN.+S[qłR~+^#r eJ1ЄF./e~Bp pIږ^رD-E(j%sƬ0( z^B  BabLP {vl#%u6c.08:6v_ܤ}WB a @{DQi;昹lݴ_\Hд\ @p17`[o[6(˫U 6y٤kȮ(B41k^Aʠ vvxů; 63k܂L"|X\0EDi׺xV@H#~&E47 F!lvvqCN <6hZg-'U=eM[! \cPb@Ha`FlX#PZL#F)ȉ$:.`l g 4ט)0I¶vNDgMGzxb*N N*~WKz ƧJ5t!@N QOe&۬"Ä8c;TOdGe>#GTI oy9Wo&m7@ƥ6;WC<}m. +3"Q8)KE`3;l˵``p-R2$T~0(@7tOgbsմ16Mݓ:9#& ,S!gqD(Seu&fy$B3#rejs׫T$a p_q\qC Do(j47HFb#WbD 2',o; `C @ 7"l aeĥa&p  Q ݻC[3l9ɼ7:T+f][+YL#&6 I/NG ^!NI9olCu )#E #C;{)HD aeQdsm DX ^H @-|ޠ\q@ BoBv82jX!#6_(|HA;Pex#K6wK=>(o[0whb 9LW8ꤌ@IZz,#eɫZ#/)Y%G^ J(g.\@B( | A7jb QCj+_+î j~AϨ˦etQ$wTu0Bh'bETēdŸi'8Vtj-k "T0Gn$"HH$w"" j Uͨ: nBg'>J4+BObvȳLXP?4%3xcٰdE[`$_TW_n9-֗FXS-Ǝo#H̠pO@M %vYg| v*C$Q8 Wvu/P4O|G$0b:r(p]5B-u  q t`C@ 9X6BFHdz7:4$e8Dۡ|ڵ4iZL$cDhhXYfҋ*yu ̉^/wU֬[z L& @ p`Ȩ/j"OGGC{g&2;Hy0rCWT3Je,?ܢQb[ {ቍ` @ J `a&pjb|2bKQr#$!iMO3`KI @W9E.U= =4FdsVG{]WY\/MO3^ B) )Ib<{jG{YGu}I:̤,/vQM9dOQxxClK]<%9"7etdƄΊȅb+î nPw Q8_!\.J`G+wH(F.tP0*xq0X+잙ӣbz,\ ` `1p? "̲: -tlp(uxY+ oFŮDk%H-Kqb;A$Xem)G%i"FtOVCV?_z+0T}9g:U$!02j?%jZBDd;0k0 ^AlnRzfә(o=;S*k0t/La:(؜k##JJk׼ECjTPTo‹"n*WV 37@>Zn92oj0'J<}CN8`2$SxU#8 O06VEH"抄sX&7R F13uCxNf h N`B&kc>} u " ! 4gQ+6 *BYDB0mR##bl Ff@KRq3]v }ۄO>B6QF!b͑0 Anw5µ3ޠ6 ( a&4XŽµ,drb! D0@/׫%LĎl,X#`p¾/52_49fޱJg/JV DyO 1kmϛ*+AѧQ)F8<_ [0`ۮ WZj8i>QSoX24b5`ͺb&ͺK^@9>]/` H_ۮ@{ٛ@{ٛ f@f0Gtg*4ƕH8cyA6/$]0NV 6a%ߨb*t)oۮL&;V7U _8R9lLpZ_TaVgn(u,"s五nfA X`uܢ𰎼]הO+SBsX5Ax sc o9|I%u>k,w۬1Hͺ!@şQHͺ\^ٛ=\JۯtƏmTQ9уrQVYKu"Fp 8' D- QYh>sggeF,y%.JxTZ9lLOy[^>6pcTNQfúIDj#0)NZ7 p ~Xcq^@ t^n#: 31dH-ɕqxTZ3:Q۰?7 [RqxTJ@6.pZFp f[DpLX1 @ |s^b bCM$@NN-`抓LU[n$t ̇`M",@ _g$ 7\[RDic+,b V"|ՠ EB B ~" %Hҡ"#qڣi4BD הJMl!2GQ,_(+>t PkL\h KDr3hnV@og&dbA;)JC/ Fj( wU0ǎ;չ"!$@9"G$nŽ@y`t B2B(>T>u rt .gG/¢5 8onFޅ`OC:⤾o"4OGnk'(pBg|*C+]LӆF77i@_ IJC'1`L\~1q2I›Xbj.( ]=9|/'rKEW(YkU@5I eFq A56JW=8>Dm`=-?`z~z @ Dtngg B#rd0b{W+V!bzR.G (`V&(ḦQ8 WD֛Rۓ:1tG$м(Nd<6Gp)KLQADCO+S=G{T2F*{TQbbBB*,WHtľ&-}$EEN)_9D-2  H acEP TZ:ZK*qZ*X2!HZ~čәOzJ/RW W*8TQD1)F9#<7D \ ^ W P"`^.-UK `L-5(-i!8رu(ҊA cb('~pL@AD/D+4G#'t(z{ˋ@\(Ҁ>(^j&|b(>rϠh-^zIO`Lg0m3aT\T^ H BBLbW}P:@2ҵ$߂$n/uZ f*hn䪵d#nd\k0 Suſ1+@ZJ||2"  4 h&'=[AJk0L<,t2 d `g.%rbws( u^xHn/ɴjEA2s3oBzN), [6dtN L@0OR׼ b@:m]|2UGX7T}"qNx<Jb۵~<k1rΆ*疭 J'{ה),j\`ϭ6 ? d;Aj`v2oZE`>zMLf8)*C@4z&c+.Mf E`QfWek%@2 N9/D[yBtTޱ(6FF r: Ҿ(k4qfFfnPW\['P滀ZjPgNHb2Ox#5cu07: Z4hltPã3gnC=2vjU9{T?$; E }SxN:wB;L ϊqK=0Dc2jZuHBԪcx(F"(Th~J(UOgoߤqh"XJ8!=G'=[h׫aDr]DW4q^od%e30zܫ?f%2&Ѫ)Q?POd$;"T޺ ZwO܋RY%zJfy\ao V@", Fd lC# GyC ~(b{1yopb`,%ht J%V0R-&s ZD ސ@in)p rQ:et ` `D,H:)K=w+Ch'-|Q . OѴjd+{dShUGib.j/ %hl 滃 `]wP u&2(ao" '@x#pb `@ 5 @a"* v p @/CK!Q&1~Z8 =ҎH4d5Oz-TH`@%LJ`@ ./ar>B ~PgNq ?ӤLl@ -M&&b{$|'cKh㚿[M/8wcigJt8 Kդ>DC `(y+i9hxtC<"Xd,lE@@qqrg3G|'e9#&ȳ #W[fThz滈HhU$rKϩFdUdFo30"2b DzsI9#[hP JXX\Br'=[3޻0D N@W2V%ijZhB#1N0ę+{e _Hx10@72&:h 8෦ D '1$ 0@㚿˥@p;sըQ]tN72v\kb ][ D* @CUKXl)TFf4:?Tz&jNyxCZ(F6QbGҁqh gH-dz'yQ¯_ u Ґc 1bHk֍oa/ X8O٭)D9FŚrRKNې6vh>M/x6 &{5ĊD+{e[H\u8XHNnyDa5rs~@/a&p;BNIOAV',[w{5ěp+>Gէ"sr/`]$Eaʈ{5ğN|x>"|qr149+^]P:AgC0@Pms)nx)cFq_IJE′JM* zGؠ"@r%T  E @ N{)?c>{uD`@H@Ҵd@72bi 0i 8@H@Ҵf@/:/@rߚLZDd>(9#lwE5n^Wo)"0W$!WOD`NAQD0"E=Zr4~#@bhfgÄܚYI Nx%8-+{eX_Dy@H@Ҵ $ 0s!B ɶ b@! h@$ 8@H@Ҵ ϰ`02! h@ϥ f@rגJPZ솦bJ>PcihҀ-Mq*Dj ,jҦ}&ԃ8#"oxؠ,9e @Ҁ#@X-y$]y( /|NF$H@cr2# )J( Yh'I*#p3%W <+Z>vV @ D1~pdj(`yFH[er7[;Da5`fVNkXrtޣ{)2 F |Xw6(4Ti@L` 4GS72Hlnot綀 b ϥ` D '1$ 03@״``8Yi 4+Od 0b[fr;y#b_鏗OCÔkE0d]e3q& @ db-SM5zzio′ @ Y^R 0bZ[SKWB0)op ( .:Bjyk ܂릸`Q#!OD+4G#JP0/ED0)[ #*%lHӍXm;*@Q0ZSVpʵr/qBQ0ig&Q \W2 mQ0Z|beʵs>2&Ofy4Np^u*cp'1#-rN$A%:#Jq jM;$6V0R17YV=Bߕmrpo@Lj8o" Fo$xtn.!}#08H;`cQ&/Τ8u>ƞ_ ZN2& :< AW:LߑV^ KO1z*-`; s@7g,9M1^›&)_0BW 7(s(S)\jv ]M1F ZB{~e#zk~' 09?167 {@(,#h F ݆k#l+BWnt@bN671d7E ^8!D b !WkѶX+G%-h'.kԮZYqS@RodW7@( !Wk NlOTK`l8Nޟ$T7/7I)JjZLl$^q8J<|1d7=D( W(!WkѶ*"Q^vq$%/5c'SC73l1 2>O"P%naI$4o7M<Gw2|9=Z nsyu4Ǖ} 5_ <"05۠ĩA=F~p&@<곮Q9aKm42BdF'=Zr'7^5 B!bt@W40`ѐ3qjnԒ[׶*"Q ܺKw/21d}czk)잙@W4P/JHύ^D='v@k'!ex*?$%벖ùڇ *6Ĵ HZ)&26j#h)ITrbP%ܺ˞UmAbsթFGm]\I~,]1c?8  nIo(KsH#hyA6Q,P-f^s͂okBhr##Qɧ@X䘸sQ㌎ :y>m,+Ea\p4 .~Z!%0膗Rw?;0UL cINz;Ҝ W;L"{L>k.z0*y:6E`>d3oCN^"FIO屚l!D J$ r`Du yˤH@@W".U"9BGTi;"q<ʌHGZ `WO//(QScJY1DF[ZsF']tsQc INz$D J$ s@.*h"TQ-c[SFR:СiDL-X3,HGZ `Wṉ8 %eɾ1RΤ"G]>|1JnƫO܅Tvf:3choUS4H(F.z݋?M~ *0qGpޣG̦.G~":G"63`*";wQD4H`8wh4\GB<9W97g| :1#_s_Ix. +? )D @r:KFH}0_xS{ߞ ~.u1Ln.! ª$ u MD_^ 38WQɭO3+&oBVIsL%ag0X[pH_.'KcBM?5-l Q _=x0o`i+ʌ70^%x[17}Gd`u/09 a 0vR0b(.z$ /09 cढY`$nRњb(" @Yu L`$nRGPϚb {>og !MH9u0^ow| ȮVUFz~.47z efhGe, B *$/.:(-¯Z2 FbTqBe@e9gm 䴐^$~'W#7ƿP9q, ȾHx}g:*+ƣٞGM)v%ee`\i ,ɧ(zE]Oɏ/h(z)= l+ʲa! Y_(I-?UGe 7Gy _` 2 OgP͑ qRBHvH(o[S~Zm&z ˫.%?@ A̛'K?M ; #Oڕ9`z&RGr]vs!R:Xae^DtDU]4wU\vGj4Z%cۈt_F7 eIN B7:7/'•zmIbH(Oh_2iz䯥 }Z )`ZBdvfZm&+{n?j*OCbHAc- @&@F P.zd>qbЁ37/̍ʳ;0&G}Dhrqϰ$(BA$yL5.KI jgm:b,K@Mj5B 0/B-&eTjw)I* ~hIg2+{n?j RKN݆X=A>>?̚ryg8')#U|sgmAEH* r-h\=@_>v7b3U4W@:xyq$x;x*9 gfMQ(k.n5+]@v7KD"xTPsd 04[o@Y"##y3fB5KK@o4Njp'(pINfR-'w+{n?ҟ=^-h\=Pr tFEu%H'c%\L! X ]HVve@ (o}We G"[\wߧj6 C92}5eQh})$SK:jt;FYW0e" hWYP>B ss2=VĠ 蓬IUUe;/O ek$pAC0&޼F~AgF@ 98\N_AH2E:xoyy,Z澖g&W!1- b@]’e|zab㼫'X?/8RsBHkCs*#}?_(#nU-4WOR:b/]^as8hxF223v^F/_|Jz'ihjIz rz#fz' DR-&UF6$o͡T5QDn9$X" ԍ#,zet"MG]B'1#aIR+PgE0'=Zmp5d:3&yAg^1MdtNG(u[3 ,IL B1>Y-PM88Ҁ W4M9|/3"o G ' OJ{~era/$$ ˁԥe_$<#ֶ?OBF_ ` @ `BlcF HXa:Ee i@h-d|N/.[dTpŽd|NK["PT亾N qN캱 >+1.vI =OxN H0B+EHƺ[$4&BX%$s/tXN޳z0ʷq4?*P!:7Y9!Re@`y+i I| ˑ\R˟|5)bF'}:PfN{0,^%6Y<V^'g A?|c09HYpQ3G.0vyga@ iU9wȖ|5 wvHĀN9.Hs (qp&`*T 8HkQ d!څqe8I0HxI袣|q%n3#I4rdGl{d7v(WQt"(i RQjx ȂNPtɽr(GБW; R)vMs7J6 Ԣ px(zKNmD9Wjd@a tT$BAƓ"g$ڋ@*_A)ղv3bMPndևKa;Ƙ0]t7Ε'C>b4'$\uwϫO c {CjE(㚵qMTm">|¹8REZ[hahT9}{@wq *^$y(Evd&`^β4 GXC3g0<4>,sxQbl%Dig dkyHHqw #4z-b?NH.jV@2;Xptt M3'SsLw96Ղ۳Ɇ创J ":=BӀb5AD9,|iSĻ @ݸCHu} D?kj]UsNT`/83%p(&( p I&FvF6<dS݈#'?>;,V"pkl;W6zr^"r'u #%T+5h h1=hz v /xZh7se G΢qO`jN_Lv=J8>6̐x{T}9"Ɔ4_;Q@HS'q#AOBgw0( / +;!*1jF0O"%A?]fBfHGP$e#Wb.qbr U^&TV_ӤQ#RוB._TdA$FQ H1@(,2btu$3? %b< _?q6x%-v:'7o/c(Ck6 ZE`w ;TYBkz0CzԹi19 ҈vb)Y2cwoBMY5m.ä8G@H%$vxaGI-53dOGx'Z(Ugdv }@&[l#'1]GSUbopo$5 "0P-Ga!$}hctGaJrE9S^O7GB"v",7TTbFQ.zSkB9Xe3K>a4-25~6Iҵnv2>`x">n V/5,SIV~F w0S#X#TdtxhzO.`h.W(0c{2=_ H'?f% %z[0d-BUBɧ4 ׍a'p8cr-XY6IR jӜ49v.C!h/Fc&i9y4@e ]L#?RC)P!g0`|#L;(V/q!86cixeu dqĄHF4i;6YU ]Mw| |{hcR|V5mXTaT0An V#x$)Gmq(I:E=Cu:e8>\T{' z*JAb]b\b$k~a0q8q$f7/ rX/qzmKze&!oma2C$ J/4eISeұC5W;~@Y*j@(x{{{1P {Zi]KvϐsYKq DB9G.e!(tX5H4S(Um rȁ#B]V@F3,_1bS5h4r$ZsM+$tv^ɑovexzd|TA?(%EC68ceW{5(Qhm$GTO:H%ͥ#c @90 /$/e k2a;{¼@".喻P !'u0 yO4@0 4Vyr0oQLP P01p6 A=H9c[)!͖gg8HŒ*Z5CPkC̔aUpy:; QB.f`1-fJTq-_T"3qii!`qWv䲨}Q)|z za+a5bՏ^GӍcB:A"/q]'\,P<>X\% id0Kվg5mO/=[#gsԒ6}DUrC2GW([ B}GǶ ttHѫu6h.7!FB3j53YxVy`!WpAGsb-mIqV7g4629&`faUpF_PQ/qe`ngaBr"Y2,3/)rs8 k4##qQOvdN2(ǕMGGd"M@9 YZA(TE_-rB%j0NNLZQ{I{կHP1en>8xdpS"nOJU>%39e$>S+, mrCUt{_=Lg;ŨR,DDNAfU0㸞cMdp [w\y"wuEug#U>_i%zz>iz"vh| q?)h30K8[]Iז/"?vs'NN')5'%(v$ƹEOe%g>CBW6A1Tbl%Q.$:VL2A/#0TpT&ȴ !.Z~kcy8I;|ZKt|36Ӯ_R*S RAyC!,1W)a#́JԳOhpv`H/k)p- .g_,-*[v%R#2V8U @SU(4>,CLpyvFt*Y(*;Y'HeZ3z44#oiv9B!Ljb a,zeE^5wMi>?7(:6Y8S+%C6F>>tœ?ͱ۷MELt#[L(a i=}gۍь?B#_:p.~'Ty#+R*Fa9˜ãs8c,R^{Ӥz)nQB;d߁ ~긒&J +_$d}[mBoj2vϪyJ꫱{"eC RU?>;d/?L0IrQw*c"olZ"ƁTV)d!\Z%Lj\rQ!BVjIU+<_X=AT\^y7OͶ%MDe^6V8ɲ꫁і;<_iܑoJ F{I93xCe_-'Zt7/Radi4u@j/R&B9\*27NIS3>~!y<]2{`l93c+M!{̽ܕw2~AqKiߴo7V: %Q?ʋ;tvӿ-҃`uIER~HqsA2룀wkF.0A)g=;vg1ҋWO؅9+!w2E32RG%\2W#_ϝ>ѧi(a1mGOuO4(Q ,dDUþbڏp=b%%]H$xٕ>%~Q>jC*bbh,+DO1ZٱɠSR{ĕ\;]F Q}|R.֖FXi.33s7ENJQ,+%a?k/:Ty(:B .2þus!OqWt.nӨD.)6wQ/̵?>;>M.I%)v!FsCHgf,7!j I~E>)Y_pS#o_0S@K1M}2&$X4pSB"Cp1GnlQ<\lx ߷XH"ɸbij{SPMMhgn_Pk<+Jxv5_Px, ( #V?[h)4Uڲu{4RqOk/@T!tR>Fam:C+#Miy₶P l*.~ҿZzvX'7Qo!~(ڋY(]Uf--Lj]:xYEsV*Qa)"jw2!{̚psgD: y,Z7j1e>tAAEx'ePP9c#跾@!/R[^%M>TV/a,*S7gHrU OY#[֙p2]PJz(Ui=a"$1FbC^kUrD!TWsɧO.VKrg;NH%75N.ȸXUlBO[Yjn@I'H]=@N/0AgH7Xli TVERW%"!~̚6Z0Tr0+ J*4"c0SPLPCAetI(VzS(`[$th{m2"Cwu%e"rO+@:;"Ps $-OL}Eܼ%I@*1q9E[Q1?N#axP%"V2a1T-yԇCt RQ`xᯣ!0$5*1PC_oY6/tyOkeb!|NE=F^\Rb&HJkh"r! `Dz32Ffb[k%xhg ?0O֎u:FmY׃P C=*sjpY Ú~┡Cئ"lOUTqocлA}RRRu (̍OƫH]Z"<@R1tza.cV*#m3eƆOAq (rz6zq^Y9Ĭ!­J!'IdM>ETi~0 (ߤ#_ %Ih"9 /lo3Zut5>]F~F5Dc7[Y`#'g޿R]Fvb9@?(OaA""p>1S T;NUqMMW2ziTo4WM< g3/V(sG!}%dbg4T'35M)UQEmmENM#%CI&:q:z%>*; c'hd} (VN20} xZr2?˕"XD.vDMD$=ÙSYEI n/x_~CR ^Ȃ [- I:'4T(Vp3Fb9-P?YR[,6g! g} x%Dz.;äbLD:Fhqwb@5WH2w}}/NnQ%g-KlG!BViphEXʅOaBqjAn$^'t7+GmcuJyST6,@\w(䲶!HAQͪQ#lvM3s)FaXY鬔sd!t1$g;,0A8L1sBA.p[vcw!kN/.ϓ6.K3MJ"c~Zeʦ0RH$hϩg8 TYV@B.eAi9MDd SPcl..`5'@dϨFїv&U?*(6>1A-((UٺG m"''#x43D;A`(Pl+g,U#O2 PS'ߗ5fTx4gT2q@?ũpBg<+~k+fZe\_ՏmVVvvO1JZf6.1rnQǶ@Q3ky\azG|(ӉK?b9bs A*g[|)WRZǶm/b݇pp3 kod\q3-.2f`ln$:65D>Y$5LU&Fl0OAdnOf22>޶Б3LCg+g1 ,,W}>d@䲡LzFußY@]^mUS RMg2|AGϳSwT`)ebaTb7~IӪ%E]ȣM&3Q?!#B6`ͣ([{ѪT1('Gߓu>O"ƍNB0rH%O8'Qf,"L2cW*ne[&>>{c"!q䮗=i~͕RR-^k (96旇·NiRz\ທJ JU*ȃ&BfX~T7Z/yZlB&p3G;恍M&M_B[? k[B8B$NF/)J+3&=ں ~{._ݼO†J"}*@E Up.2e+bzkHJiHUְR!U(!$2LVƨ;A㼻XX%ڕFRiG#MBip8跳qtL7GVu8xi(1>89^#2baOQF#t0c1b~{TcZBU:#Tx+ɠ ~r/_Hêl'҈&\,n(Q?c>O4[Jk T_>i[`5<y6{Tzaju+ϧ$3RnT.2n%Fj{*,!%TCݣԋpS$ɰ I+<r8;2hQcg=?vxڇ 7∝vUh xvְRulo4g k%RJXv"Nk<HC喈vLdB_Q; ^hK&1a|TqI9ZITFiD b-Ja8A ֺꝼ\gpkl7b;%OkO:UU!(.&WUa:9bʲ 271.TRP q6J.7M}#4J:{"2P,^n!J6mx-x^)Kȃiz ӱ"E"еxsFd̘-WD#CyxylGJ'7-"g?M~GYT39+\g6kaϫE+|^Ȃ~v.aᏤ1V%jաu1oC}WTӣ:OI"rkB5( S IQ?0LrM`nM{C4VEdHH S  YUWLf eD-OuIJF((Uѯ81bbvb9rrfL6TfV!mڳ=%CI!9iֆ*dV؋bi';O(3h oq^ #MU}X v0U  q XQyQ(5Y^ȋ:Fp mYEdb!|4-ۤ)Qب^qb/g,9)53"U"0Z*82oB[t]"$P Y(ĮEv3b=QRdRY6vF@T+K BܱN'i3 fEv'_҇g ̗kWL Ƕ+/ ܂\bxy*?1_F jQjcsV*An&re\? wMFz}.nRR7||ZQ9[њg.v٘B͈)m}V"W8Erw`(\/!sp3uIOeeFyW$aYC#FM9zaF-22UT0ކLL!R௬1t%a(*~!U4{2~:J&Fw(1ږ#&󴼡)|oڭa!*M#D@Q?Ҷay3K'Y5,91`L*T!]kOw0Nbrjݖԕ*+)"Irս6GjJ3)Dghhg \,4uRpy vn ȻMMDhm77ͣ(0 020=۔_::KZ-eMAh$U$iZ,F) ;KOM6ҒD*.T39" z>:?&CO`Ik'B[>cj\{|ѤY$1qk+EM8Q1|&kPob MCkLl12W~d£Gag$3楔ױ}k, MCb9a:[GCգ5qJQ9S)ڔp2<_^8?"'2(\3B+Rr{Z(Ž\ȋ#?9Y#Aqk:Ž!|">YgNISJĮNmg7">]b B߲՛r?azTU ]ϹA29@%6rC{1q,UWVO.zM֫# !(w 10I7'93ղcrD时c$FQΈѺ n)_7#5'GX34!.Aoh$/>tc+L?JODJ*\dN"CO"g0.~{&.iv'BAt%1JEdA$nK~RUY<WDӾM`v\]6E?t-̾5X3Agn2~( I0LɀLݾDMˣRPtu=0!}CFshUp&r+ry}$ YcCRiF6ɥ&:?\ZnQjl$41Fh9#rFU #ppbLZ7Lǣآr!?pZ0`193ICtّ$hQWFXR=+x+/8@!Ǔ)C!_()ùG]+T:Yk@ p,vE_S.!L:؅@$Jx+qr澤k1=G2AC|V1b/i(Mh1 y%ڙ# Cɬ PcG&!3\9'Lx1:F:B\$l+#"`]BFPMFz8 X2ղ?9'u_  #+Ō-{(#[6Rښ+@lrR3<C 6hAA!?_!`wN?npԋr@XRI%5EJ|{Y͖JH㲇;G̢r/|ޚFhAdZ #Ar[SRTT#j0'l?n SR[=JJ`k@3#d4 k%]BUy< :j%VCjKrVE$##1!V>Wxf?pC(ƣ1>&=(u(e 䝆s!q͒V1pyN; GqWM"VI:3|ԝx/3%'QxRujO2D#+8?B%L RUO 8A0e}&A$FMak9Olʶp!,Q![B rI~w[!h1wu:bQh&M1rn#2sݜp3~K<6xױOJ-{mR9riŅvqK Cct'\gk3uCv7\B H(&(4͵RTr9Fg<8NF/Զs 34, `o$kӇjO!#B6aE*$OլOڱt9ƈ'ٱ|J݋dɫ,/4b(XvWv3hJ\K2 >vfIb,B=Q?f@Y3.8 Ugi/=%>sլxO''I=(zxc1:R̀ bLF Wt%P,8O8}8!pG9"j+8*2w8圚ji@[ (2biXr3鰮R7t4]2"/\-](I?#9XWT^?#T *qk̞ &W{Bq:*L\ .=S&t#Q->ҩw/HDAvHoI[}Bzz3EkL|33!TxS\6h:,rBX:Ht%@ť@QmY\g,b+=:DbQt Hb#[,v糌ʄ?};!C!1{drRs~6lehjEgϹ*.aذ 'Cg=ZbIjwIoZrV~C!M=>Jٛ>pΈSwMhmϊw8[R+\ T>fr9g⇼%'8@e%IX}@J!.޶LK)Hc6Ro o!i 1 Se(vpn%U. o}e\;/p(gԵE>*mhKΨ|H'rl uLllr*KY] Pn)O`D{(PDq=u0 8 MIǿ}tTK@iqG=:'1Q)-fR,TiXD&mAT G86Uw~$Ab f7,l\&hmef0/!7x%%(so'R,2J!>9y[):8 ,SUZqTSD,1"t9X< ?2 g8 P/{*UjvP N|IW3Wf]˓ǃc}^r$=Q%]*91#iy .y]$=ÿ!y: C9=Mn߶=AkbUGj7ѯT39'rAVK73JS'+!ȇ&ПC26q2%٧-҈Ag{,, 4 l(WxZY܉Ҟ2R7uyu/Sήn?-/w#jB=&Mx;YuN o>1ǭGeh$ XUuu٘:#)d))b!|Rnԙe=N%}uxvR M~|T,U L %oN\1WTx1J,B M?JtRT@*1U~TG# ?"6*zV9ITxaBzrݯ5oO(Z$ Z\XÇ7]|U2 5+']޽\e,Ea*=?mB-9z6t.̶, [h_tO+䁵m$8L_.:fW9R}=6&ENܮ\mOb4Et3pI~CGUBv!$kxL2L Ruz[=5ޖ9w? N`LVgϱOj;Y}וXfMeFySy+yr0TI28 @H(/:ce̖ĠnPNij톺Z0S/:`SR}X0N1~͢-˾?(#--Cxt8:7MjB$UH$k*3hJU;ͥ=>}F@P:NTY~l8řF_BS+b~$~vcySrAB޿e;a3H,xH8Q3+(iSZ,;KD~>Z?'''tr%OH(/E(tw("A$VC,<:V7]>ZY`Rc],!!Tf9~9Q6hF07yp_JǍlr@Jf7$#0'sWaaBhvܱ!æs!PI}EϢ?ڍ*O dza&6$$#5Q4Axj.M0xѡ'5%,B=t5,1ix  G #erJ2yw‰0Elޥxk?6jK7:S:chAn?"!) 1R0ku!,jdl 5C}lk1*CKh@xBDn` 6r)~7*OQ 'lOj], ` 4-B"1. x=0` *).kR`~p/+K(DJhsy Q 2C_#;K3&Akj6c:caD Dž5aP2 +.q3Nq;'L\$0n N(An)EX;*SQ` 0H+P6Sr`2PG^`Tn  ^ rެMA8FEw{L*$=40$0203=('9X9 D]-1@+BD'Q@<0>?bQCNε%b#_) m[mfXR򦲅&П$B5l1PE0iv1dn0l-!h~)KX'nG)FD0VDn0VA+ MHl`LSz1<\RnmP7m70N@E_y5&q7s0^!S`n= 6KDn 0Z8Nz06@0M$pD T4n UED`FfNpH~yL0PPEBg10XV1l`U=PO^3:Ft>n=wBBgb`0`Otn(PW)B/+B+Ft0j`2C_$o`eA+F  ^ف[3Ũ;K̜x^n0j3Nq;o ܟ^۴Ub7L/nbC yt3&p-(Y~}arJ2  (1` ~r>T>G@CF*3f3MC1Dn0WCMC3Dn0Lc!x:"2):~{.BM,43DnM4T05@5F<3pKp.~(@D=0?5=0;s@0EZH.~(Q <3EEZ2`.~( s?5=<3EEZ.~(L`2F<3EE@E0?60;T\+v@EP8`500Wx1T\(91x31[0ߵ({b2bXݠ""]…3)UՀ͑gObl`Զ.pO4k&0HU]\Bs. MS3եJS]k(Bś_pS/Iv2u -'R(a_^p3^u ud Pn6pnR>j PQQ0b;x/\ s0+Q2k@EE UuG&/ t8$=B_Ew55k@E [qP Q?6!b$=ñ \Aq\ sX2P q8E[?6!b$=1]e0Ew5Xsbe#]+\ sX6(+\ sX6{ Sdw5ibj췍6\ sX6ҋ SxQw5`9bz(_0SKVKu uCi>SQͪXe`   J!w(e` \ 3 3=t`_Dm0M}u u3 TMK  \ 8b02cD,`_B@ TB'PbW IXWĐ TBE9  3m.TNT \ AXM +TB Eg)FE{?q@9jWёSL AXT+T`*M+jCk!DٞaљE118l_G0u  MvNy~vn _ qS0uN"qFpZTn QvBk P1@UT|2,xM,`_S/z0X@SKub_&@STL N(  SٖCG`/uQSEPgBYB>MB1[ y@|%_{pǬ`BG (,|R.#T:֠ %V}A >"1Y'ߗ>i9MD/ͱ70֠y׍3P8p-7}.XN2r@8(MC14n=3f3MC1Dn0WCMC3Dn;P:_l|%2@.~(@C0?3Dn;T\p@5F<3EEZp.~(@E0?5=0;T\+v@E0?5@8SY3T\V91Ν3%[P784#_#M)DTGxOʺO"Ŏ/Հ%>z;@R~x7wb_O~*V7@W`Cؑgi:ta%.MSG7UazEy%('f=Ta+EL<_qd1aXtaAޔtC6QVUc WG~yFfIBDWֶ%_PJL#t!J{ >i#&pۡ,A3r Q3"QYJ H$Be"XQk鉚VrP:mlpUq<}Exa|GU( D /,H<٬mɔ*q-2/Jya`Īf %8ضr+dl@P7(BQ˽hϮ-0RU"TjXdxSk?ahf f1K7;Þ 2ȇд €L 3iK)%9J^%- ;X B򒧊GФudQFQk4C4sZ&HTzu a % &E]d*D)2塑ra/+IJ8qscCC5E7!g%ѐ24"El#9hDC1!#=5366A:TѵԘT_ s4^+}IA5 u"Eq$YyUl8U԰b~Iy5+4GwK{>dK$2Px@SE&7!A%8fI2*젺|~7}ZFiD`FST t<"6/@+) _ { T !X0ADA*y}T",g_ !"KPhȃ,kچae\pP[Dؓs iBF"_3P01Am2(F!DD 1<^pEC#/d~!F0H.RM.k*3#PTa5b`*>|JTiy NR@_Eh9B8%ZeCQF #KNx90ә3Kib6`B `XB%1A*4#jgHI>bH]"|Db(+.2Dbн1#rhAfUli ?Dzl"<rn|a Nq9}r0X0 lWu&ԣŠ&r֏ЦuwY5Yh" %dSf PiB1(0ZށRTûfBO |^-K), ˱-iHP jsalHC'6'Io".#9#ͩyd=AiX]=[1$t>!p7(;|^2;$Bg׏ SE R ɀ/aG"/-'`79_8f*4UrZrQ #H"gI#A!L!QQڽ'8@6J{/)#L"q#ru1yW42;yF8GQ"0mn @3R(Q 'AgpqI>Bi#3eEZEjD0Ȁ"4&# 0-P8-04D?ggG@[a \/m3P95P)X"@!l6&iƉsE$!@zD@4QtR`r`y@*Qdtme1;qYqei*pqA@. p\VPR7p(Vrq5d:fzsnfPg-\t`DqpU p:\h42B JrDjL D"lSqC0:@E0T.z1 :Yr'kd+lq \fHY)7%l|Q#n .MML).’>{@S܈;6NA"''dHh2# :@$@D  Tܔ&DgL^ U.dtYl@N qQiΐN<~wTsΐTΰe桵@H1ZnIpNFCNCpE"SQK꾞 E`Uu OdFݲE^mJ{3,W!#g`dYs*# Jt/f]O ͑1p#=!df@#ݴS#eNW.,Va>Nb͎0ѱ X n/AFYn!Dd|o9gP2=R˯j1buO(O1Z+Rd茥'|d?Sk?qg"%q&m(*#~3EnI9!<#KM!TrNObzPUC*d9Rt.Z P ϜQe  FoQHO'D$UWSU8|A /e i DN~b|pXJ ys_أ5dیM~;.zI0" eLޯ&[i$C ﯼ*iHdp'@!tvd 0ype/OMDL K0@JaT;6V{P0loJآ{zB%N`ao bZU uױ'pǜ:1z& ,I4ӟlBcۛ9dH&S7?)8RAoo g*eA *;,+zAسQ^{ir\"{,9g_Ӱ@U(BQ A$s-VA׺)# 7H9Y T1QՊwpW!"Y[^ap_4u#ׄHU;?)#=x3No2lA2{b(Q3/Dkn̆9V0 ~Ҳ5dG3g*SL*"mDE:;;0l&>U8D](;1aLjFr&S [V}iwE#C6TDkC :'qQI;4~֐Rt(ўfͼbm;==RFzz`)a3EV&sbqW 3%n_" "W;=Q~pCQ@Mu`Sr|,+PfrG@NN@REEV@PPF PI0 K'ǥ)w0XX@B'&\]A-z1cWeE<}v$9a1|mT-2jsp'3ZrlԒu2PLE>xq!,\*ìpL0(w3@ E(Wbhl~WkQr<ҲښX]1sU*|?!s8mDw7}1aQqλm?}[XR\GcJtrHDsJz_,<kL=&x)i$Mi3?b'X!B NMfԖ?d"k+v^(3һנbR?3?4O_*O `ZO6`P=tt`Q0v+Z+6㣭3 nճE!!`!8@qBtMO:&ʗ20̦@CS<ʮ9PCr3~W\)!_o8uA8_\)-tE; ra2D+:6b}oSYs@/ N/ծΔdxn,#aaDiڠ&rʼc<eašHd"T/7V2p5. h1$bdqͿZ/J-*]nqad %]_Rb4-X3C5-hK[ML/=T![#q,bG@h,Ϟ$RIq4Re[ICkW77.D}kOSF6&32%e|#!GZIBNGOJx#q<% r˨!Gv/c|_R)iSIb59P:O,9f=s&@`?vOwg'}u@q#R)7v/赃LY,o]Q7!w6[bjG֭Ah#/(y=uuy?D6S0`ilBwo-vBd|g'xߧJzgoD+Xu2rQv`Gt@kN\ ;RXر|*fy#z`u@ f{Ql qt̏4.#QF..3 ҭ'D CXp  D}uQwbD3pyQƻZ–ġΔ/G1N&QwW{Jp(ir10P  GH22-Z;/ ~i/#J|2ѓ8{ʣm?>GV<eя$ٲ|7IE.1&.PSV࿄ ̀EŗXE&L<B<kuԧ-V1oB_/b4ziP? ,2M&ɑ**pq pܒZ8TȰlEf?fAq" 0C &0P" KSϠ%֘o)m(*#w9%# qVqy:qԤӴBxh!Z8MP&fr1߼b&톓 ~Υd=OZGQn®:݂@"#$R#Sҟ'7]#t/ oYgP\D\CryrB{Ƅױ#h'h\vT\wz,6q2ZKx- `]S_; L-bF=*/n}xJg'Z9qZ!qqy-!G%›5}='g.ynAy3 gj!Gf!8&6f{RJ\C`=l3r#Buz7ZV .w- QU37No; nY1~kUvC)AfD8`M+lC>uFUŞ^E-K_ b. P$幷"|r7%W1Y czYKccM$K,ؘkLN&d5@A8bw&9@"s@IS|eDQ%HBD+ S, L."gJ&ek= _%6dr{Y6FՉo/ MւDpԊf'ټvNYٰMD`Xj:fd~bk\ǐ zG/N7pt" `.v+.%9Anʠ?MjķRJ*'8=SڨUP^`VPD ZIRgbF>,W.,036:mL_*<ux#{=MM|#|y+yLUV⽗w-٨)ʁQ{9 ΛAٹ|u gb^0U!:]C9zˆaBh`LInOWV` /`XeDA$o0Ko)c2fv88 z+%[˨;UJ-Fap(ef@/>$@ou/3:bvy[삣o$G?o#ؐrdn=vTDyѝh\lD˦hQdAo!{ղ1Zq t]!ePIc<mgk-R-.1WXg%d9a#8Wހ!QQI6h mQd¬!!lqBJ6>"%!U"29w|:Jy04Rk*G/j0RYߌ"w^lMCJ?~ , pP:RŻ t@1Ai@fK@2NPu1!PjQ;RgP BҍyoHعt5+l@UIV&!]ek`8``DSpEPP0o2B>c^D#gr: qܳ6Es9p,PD0=7R:n~"""9*gV7Rx5Y~K`Tk4&@=#@AAs񝙋գM's;P Vġiqt`RSGCkN>ST)SG7e6ܧ "i0 0BcN/k~n9*A{SRGe?0P:M`TP#N-u#o:qD*)XR!.2=VfԂ!f&Â]XpbW>՚,vU@p&!.-^X*e^x{1W/aGZD0/KE@8^.枩TS*NaqLl_.4fy߳GdtJdȽ܍1L!HhBH1Ԅ3S[^bΔµSƋ N3r:~ë}kG?*PShtiH-f:)Lq/|OyH#Ac%* ttfzGpqWM *]J1:rv3 baY>TzZBe'v0"ˇ$Jp$,mR@=@T`Gx R@.NC\yBE t=,2\:>&&2'31\4abl3{X&6 k6߭qLBwdTPM*UԼM˟xfnS!ΙmW3&xCq6i^ٸjKKuqF!c[-us&l =!Q>QVw5g{u,{Mq5 q"mZCcYKeޱ/x(.ӛ≞S=*/nHhOV ӖFۖ7!3.+|2od1:o9~`v42Uo~M13ϘDaMH=&BDl'Xy&52mHҪN#z¹][y)qkK0vK+69$$" Aqx;&MHf|-`E0eDpNao.?5G &*'f@ ޟq]{tAg-DnCx>r(MHbO^Q@ԩ!>l@`*e=#jeW _Xj@g$ 0)/7@euc)h`Bv 2 9:*f!56 eE эL[NWab>s>5rf76|G)!А Y\PWP) PKS"GPP1I=RRKGAD}=SмAEVEAuP`=gCfPP}P [MC=,[4>N>[ѵ8xdŰnPP ԘpQ, [!SPHPL|ǛwX=0B[ּ%SRY\)OǹGza7P,a|X<`ԶtrKL1,,zjw~=WP*YVDe)`GmnRo?ˇ`G.呵U{pVpP:ȋҖI)a3wPu/ =PPTEFT=WQI`=NbDGDX@=EU`=dW%PP_P=HwPFMGpOJMJ 7N@UPs0A`EbPxVF =XCp=8bZ[ꓭK@!PB;FjKTtWP==D^@=`I@=ZqMLPT0ODLCn0T40T 34C'PMV=M^ AKİP RsP UI:@DQPVUpVM-.F-C@Rz,v--K:S|-Z&M]t^GX?ьwNQjI@=@PtNԸO3 RPӆ> S'PF`C;HF@=UJD1ENb@FT[Du dZcEKя_VtY2POCISBzʡQ1:@T Tn| Gb@=TNPQ&J?ӭ F45N@4SD?K=gERCG\ ObR{3PXӭD-RK}@RSLj@T DRPKY`MOXZ:b 8bU8E?%PX˩=J`=hp3' JlHLSOI-Z8Bni Nf#`Kć JlH`%bʚI#O-Qʕ{qITCf#@SNQޱ7n/^:  )J"8P'ɄRA*R)BD"Ca%H4C$ I'ʄa0zM"$WA2 N#G*Tc3IhH&10s:Mq\  Qc7AfKPfI 2i@f4-fc 6D2p07`I'ňQi3̉o9 -qlg @$;QsmE}yt݈ F\I p܀)InnZc)Ao6M`ru]wwјw]v}x٥ghX,nf ^ֱ P aǽlѱ\Z E1_X#BX1lnfIx"-a%}FioF]c0goXongk(ɱcn[FehWyy-6Zc]0Hh×^+xl쵞k:{l"*f02Rb2 RpVQ3ǚBJ e.# y Q,㚮EE}C392H\ kCB[WzRm†qK3ǼMe4xϋ0J {l]H&bMԷ~fMK|mKP6]4,奼XaWfZt2,@%Q3,D&2,Ƹӳo e-/!5pV"O Zl>dK8SG" Ix1|hSq8AG'Ғ-2j N˪!Њ`)s+h9.Ϩ|hцY[ŨN_%$vt&y\aCh 4oVSF )%rEuMS/GW \' Оlϱ.fbC3 >!}i%EU嘔@Zrĕ6aޛlVl]+uV'[ >kz "?N׹%Ng\Cڸ+S2Wxge^oU,{C볱RsiMl$'u })n^y6: +8ʟBi2.5;J` ILx9\l%[*S[X1O-9t}h.\`܅KdgzH=_^٠)KI:ȅZbO:e𓱣 >̪ VK yubN$A+%R_fCHs*+tR" WEDnX3s%mjΨDj2:zO惶u8FQ ˲* !#bSRZc4aɻlOxr;t2!Y$ZUɌe3\yKkKFL"Y|6a:ZuQ C#0ԂAPT䦢. fU3l=~RNZRbm _\.*ykwI+^C6|3^CL|5'0޷S]W&nߨjusՋ@Ta&3{o=vm49VU ƪA`ʦvNzu=%0|F}*IRbETjՙ܎4s,7&PN/]'4ij2Z֬7=}ԞCju=:[tD\H5@:q̗ps]m:Aa>S{$`nlq2CmoCymur!Z&IQ|e^baV2e3f81VakS.eUb{'TC,C5$3pXZf5 $2lP 2+tǺ8pFP–cG*~iC6uyy7&r/rDgn!ϛ |kwB!I>-2QP#qBQqCEC$Bs6JJg{-PTS22h4c@ԩV9Tn ')n,y ! ;3+DOYb\LqWf*7cD%*Wcg+n(r>V |y~3Kb3g!uIr⨖ Q5;{lUs<!VwMZ&Glh7%mxaY-`?pIt|saW/0' 'J uS*fo!e4G >C|! -Bw{;=nZÀ%(RzC!*.pZ8#J`dXUC/[kC Hu`A{Di!q-PfYȪ&1,n6C=!nfa3zQ|HB~FqŮ{vMoA,mĈQR.U$&YdbdEƆJ;7O+VF2n҄%r8Y C6E= i|0"a,ؚ2n0ƄR0Xg~tQk@Pw*ѕ\tCoФb K( Za{ {-}D⟧QpE;3dc5Eԭ#GQ,ube7I+ŠJ 1x pX g[AFOQn2:kѴ{ '%B'N!Q!\A\Dsc"Mlci9F4߅k{J%MD4g]y0gsڞ?å6j "E+>w{XT+M[c0 $J;CYkh7pb+8ә D"96gT)}k=Qr xuW|+cRleݮz\uU.%-Sq3mbά763SVRq'LĤC&A"'{87"$2,g]%ǽ|ˬ #+|)ƶ}+#"\q FĐXckSm+b_F/4"ۙ3'/D"CW]-fĈ#D#`r$nzH!kVJҦ o|M2g⾒8TJGbM-YZ'֥V |1uѱ2?,企'X sB@ K-n(~*݄ oc7"֏pݳ|f;lYGH8U5"aD❜RԤgNZ"`F@L]ٱhpQ "BݏY}qPTvFUkq:/!{SӤ|18 ` /mu S͌AH EM4.2]S(.uܯ9"} n.ȑ]A.T {AoaEEuIԆBQПF W,VaqwiP2,Ռ%Hldc%#B-1JRw(kyaqq!{p V3ޗDcBGWOt0 f>aoJ;=z}8eAeSzn°TOoBk5BP?q#cö%mXnlkypFcȿxO=6z>IkW:2o@S-CmAAB]%a~hj5/=؍%Gz{TEID:$L"9.5dz6jOaco=/1Jݝ~ 7n'?G.N|ELQk$e<Ϯ-[Ƥ0e ahҏuPs6Svk1Ƚx_wʎ/c%6ZG[InPm+pAJˋIEZ%챤Z 9!#>uIIE7ۄ<0sߞGj&IA/Rk-j聆R-/Y(Y|p3{m/:p dJ~;1$^.7O#3@Jvd'y. M>&Qk{{${{ֵar= aw  C UDF.`TѣS*3'0C^NLIөI'2C;OT!ztLHW/(G$.C<Ǡ =qq`7効4crFCfAfmb]?x@ZǸ;x=c*I/EkH;&DB:6&CE_Ĝa;tkD{E()%b$!O6v~*~jׇ”Z rIX@=yNEVIACE 5Q*uMb6Rc#-:Zͻ4(UqK}H`iFYLƆ f#*O*ī0r[b~Qċd-i6'1ndEa5Z_4l'?a\LO~A!`sbEQȚNlVx~vXyEʫ9&I;4ȳJ4wt o,rv„Mi!!|tSunv6(WW'1l:6rPd,~7 %o%d?21*QCcn,\%1 , qI._Cy)'dQ|UVk>=LZɠob‹u@EDEFڟ1gٕZ|ڤ3&D,R8.0b+1?m{6k!Z҉Il4F>tCK✇żo㴯'ZdBHZrm{Q!~A^u{{ujGUq?7ڧ랛{KC)҇_WC$G;⪢[56H%g?qUpau|EE#f&aJ7t'b!Ckﻭ[&nZ!Qh 4)b|U L[DBJB Y5CYi}W)E˝{>m TB-rUM[)n,bތLb̪ -W^ ,7Q4?BB2"ty%JWnGA!7^5SqйD9DN2KuJvc@oe4GM&-^&aZWchDwb9h,6Ɂ*wNFATRS)_` !3#Nk{܈N!yoEB՚0K5AZ| _l&#Rh:*=%S=ab [ơ@R>Ragbj~5%Wiu"=xry*uhәL1d,t',3'VDzc_|YъOIdOrD>XGMp.?pqԿ)Q2fh ʋE;svay[sI:X!z)v nZ]u髱2H]Xܠ.g(&AL;U&mJK.6WVQ/ZfgY~8EQ0zXI|I4 n#5'JBV~xrÖ́#cWd1*SE9=6@<D~Tl9,am&+H}Cryu+rsè&ARZE!Ő4B^ٶlw5Iz /R;C=wTwY7KutvXҝ/tY:jS3qc&QeR|`iűC7q[")1f~PnrМB˛N'_ _]|ZA^+kiev@e+%86bT1tN]B.=JML0HPL/vcrʏcuFԔK-QeRi}]ڏ+{MZYgw)ӷnv$m;jG@S6E_a:*b9"ո\Òˌ%s[ԟՎa#o5(_`U#y`=;1s1ƺ<' k?YOq}L+rc("ԁgE_o惏KDg^u=!|\\2Hw9g<\}w^0o^ XР+=.ʊ`auWuBq!!GLfpkCL4{w{awǸR<_h5-]^{'j#nͻRru޸ONYeʎsI1z ']IȥegO!kquJu=w2,;V VwBB Ҙ;6G[|e4}~v00oL˯8[n*$ uVsr'D9P2%*&F*%@dIJCy9N 0}"^4}8 &{? FWD_xI-soB7\A"+cKulӹݪOqY|ǦQ׶<͆pZ%#HC81LAIVDD2,R*Ԧ8f %vcC!lR=&CjP)VBCM#L10u!_B'u;u|˭{F'gu?Q׻u(Ruut`1I u% mVD^>׸,g<~͆ppg@I !DaHXqَ}RS#@ (>s/JrFE H pɞjqE;ah+61|pbbĦi P(L-TRawG?]ϒU(l=pka>W-³ J7aL1DsPV%.f=B':H{\qh81"+3!FaB\)%:dA綋*ȦijWȤ'd+{G^юP M%ed:@S9\A3΂`J`S\D)6&{ 618GJ1pw{0of?ϗVeɅ76=4.;o_:j"nf|w4ןDQ\I3rd{8ݳ~]gee(3Lvae!3"$Omu\7#GՐ ;ҭ~uԕLSghe&Ʊ|sga4CH>56*K- N%bhP 3 b uW M {i-u| 1l =UGvL0HßoHfݡk Sg24H2BktC.3 wϜogfgϗZMyu7DŽEkPz۾8.)_4g$ڋ\˧PnLh2}t[k%)eɹ}SUjDž p@J@S2\Z/1g~A^[chCiFA\b^t(Jj yYLΝL^Aa)\8JD,:bI'3"yJQz6:ΡY 'hn.Lzȷ*,=pAT=„puz[ uW ꦼk(P ~a]ITrGWȘhku?]톀 p~kuDGuW%'-TRawG?]\tjG愚a, r" g8%~a5& ig.GM0 {u6*soNN) \GG=\Db0Hd1% &|se`C@5 4se& l?].  09p() mXh g8` %O22Ue U^#h2  7ї$ $ ge 9=ᘠS~a*hjܓ?]H!Vܓ?](^ z g8CP60 `7U360 `3=]B`9-H02 *s崸K}?N8L#w;'A| 4?*#TD&3w mlˢ1iP>=\Db0Hd1% &|se`C@5 4se& l?].  09p() mXh g8` %O22Ue U^#h2  7ї$ $ ge 9=ᘠS~a*hjܓ?]H!Vܓ?](^ z gyZ3ENVCRUNCH28Z UNCR Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |‡ås 1P 1> Ͷ2 2 = * ~  " 5: ̝# " />2  : –K 0,éb > Ͷ!= ͻ2g 0v g (.('([ ͝: –Ñ2' g og g" 2 c  g (Zb.(k :' g 8(5  g 8($ />2 [ g $ g : g (ïg  g 2 g ڲ: ͚/S" bA͸!$ >8 *" : !: ( <2 S" bA͸*" : ͧ{(*!" " 2 /> 2 >2 >2$ g _g W: * R(͚͖ R [ ڑ^ * #" Ñ͚Ñ͚[ Ñ|Ag!f9&zAgk~ >2$ *" > 2 : !2 ~(#V|g^z ˪|g~͠|g~2 ͚Ë~* |Ag: w|gs|gw* #" #: '2 : < (2 >2 : G: '̌2 z={((7g 871͚Ë88 (Oɷ(=Gy> : !G >?:w !!~ȷ(~ Z( Y( Q(>w !(~> Ͷ~Ͷ]#1W> 2 !!< !!2 !AA66!qq(6>2qGL~(͘[ r|gs[ |q0~V|gnzAgn(͘[ S [" : Gr|gs|gp]))))o{qg#u{" g 2 g >2% :' ڲ: ̫!9! 4* +" >02- !A: :' ͏p6[ ~a GEL Uncruncher Version 2.8 $Checksum error. $ [ Not compressed ] $Invalid Crunched File. $Requires newer version. $Stack Overflow. $Unexpected EOF. $Usage: $UNCR {d$:}afn {d$:} {/options} Second parameter is destination. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files$ S $clude System files$/: ? ͝!= ͻI K b N 0[ 7>$2& : ̫g 8 ͖ R [ !> c  ~#͚!" !!* #" T]~* >.Ͷ> Ͷ#" >.Ͷ" >:Ͷ(>*Ͷ, U !>Ͷ> Ͷ, T >*Ͷ>ͫB * +}T Hb+" ͫ2͚, INbY(>Ͷ>YͶͫ~#Ͷ>  2*O :֬80 !" 2@8>@2 ơ2 * }(!~ !$^#V{( #:2 :2 :2 :2 :2 22 2 : 2 2< 2a !]~/ += :i2< :k, :y2a :{, :l2b !N>[+x\ͳ := : 2 G:b : 2 2 2 G:< O:a 2 >?!>  (2 2 : /2  >/82 0|S(D 2 h͝ =  ,2f: _!!" :Gƀo&> ++~/ +~ #( yA6# ~S(Q(I( T(C(E(O(!  ! ! ! (66=S = u<7 = u}'s ~#: =2 ̄ ͫ 9.: ¹  , ,}2 (!97u,u= u >: u= uѷ : (͝!b ͻ: #ub u<('͝<(ͫ7: ( : ͫb uu< <2 b u: I = !͵ : (! !  ! n b !ͼ >f>guOu={' ͗8: : 'G  x:  ̓ ̓ uX,ub u KQ͚: ͫ5M͚<ͫ: =_u%[ u: =_u* " Ñg2ub u{/<(G> B%D ͻ:  :a :< _: ( {2  u u2 u<2 * O "  > R [ ͝!b ͻ b uu 2Yyx/Gy/O>j 8B= !" ͫ u > Ͷ> Ͷ_u͝>͝ ͣ͝"͝͏&͝͏/͝:mh͝:mh͝:u͝͝:{ą͝'͝: ̫* ͝* +}>sĶ͝Ϳ { :>nö>fͶöÝ>IͶ>nö>EͶ>xö* }>uʶ>iͶ>rö!~ !~ Ͷ#+F#~# : @Ͷ x 8  0x0Ͷ0Ͷ>:Ͷ >.Ͷ> Ͷ~# ( Ͷ!" u= u!O= u(O* |ɇƀo&:  ~: G(> ~O#* #" Bu2* #" !3 ͫ u(u ͫ2: : =G:& (* #" !- ͫ>$2. ( ͝> 2. : ( ͝:& A[ * " p> Ͷ͝:% !: * > ͶͶ* !DM)jJ)j)j)jJ)j)j)jK Q<#~ Ͷ* >)Ͷͫ<<<>kͶl}l}l}l}(0Ͷ0Ͷ! (!9 Nq# # 7K C !bkVF xs{ _zWK C x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$." !w[ * 2v 2(7ɧ22 2(88>>2O2Ga*  ͬͬ x B2O2!!!!G: G6,q,p,(y/,w,,2G7*  33c88 (OFɷ( =GyF>Fg LZH coding Copyright (c) 1989 by Roger Warren. May be used or reproduced on a non-profit basis only. >>>>7*  !;;s#r# xˆ!;us#r# x›!;s#r# x¯!;: N#F#~#~# x!:s#r# x!' :;s#r#s#r# x!"% #"*# >%>%!9N#F! N#F!; 4^#@4V##~+Q~###~+Se~S+w+ws#r)^#V!' q#pzڕ™{uҙ#q#p! ~s_#~rWDM!' q#pz{u#q#p! s#r!' N#Fx4!u!;^#>>t{! w#w~#fo#|g}!; w#r#+|!:v!;^#V#~#fo!; +z+K\{KPY}O|Gʘ!; T]+~+ xx! T]+~+ xŽ!; s#r! s#r+|5u ! ^#V!' q#p>>t#q#px¸>2 " 2 : 1g vg w1  g g g g ~2 !" !6 # xU!|}́M!qzWbˆ}DM#{ozg!~ẃ#|g#|g xœb*oDMxyu) )N#F! SN ) n&))))))>?o: @w! 6#w>=2 * )" >o&wo&: O>l)=g* }o|e." eo!9" !q*#zڟ{* +|ھ±}ھ|¾}ѷ7$!x N#F#^#V#* s#r;; ' % # -;5w' ' ' ;;;8;H;p;' Srog ! 5." >PgR" |gs 2 >2 !" v (>> >>>7{ ɯ G>8%S @! >8 * : ͌: (@* 9: gk~ >2 * : ͌~V|g^z @|g~|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 (Oɷ(=Gy>!9!͌< * T]>w6@>* w}eo0 $:  : g: G}/< OT]>(* : GzGK>(+|0gr|gsBO ,L}Z8 90)))))lg UU|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 ØZ3ENV V version 0.6 __UP:,PGUP:< __DN:. PGDN:> LEFT:LRGHT:RBEGN:B_END:EGOTO:GSNXTF:PRVF:EXIT:V commands (in addition to Z-System arrow keys): 1 line down . SP ^N 1 line up , ^P 1 page down > CR ^V 1 page up < ^Z n pages digit n pages digit right R left L beginning B end E next file ^X prev. file ^R goto/search G exit ^C !!!TIME&DAT????????SWP????????BIN????????C?M????????R?L????????Z?L?????????Y?????????LBR????????BSX????????RSX|}/!aRU!1H[!9>R!!4X!)*!Q$!Y!A!I!i !q!y(#(#~?#$0.O *:=2%*À>2*À2*À* À* À*2*2$,͐[Ġ%-%( \ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0ge.||d 008z0 A~#\ ~#* !8O! *͚*͚*͚*͚* ͚*͚* ͚* 1~2#~22X45!z Insufficient terminal suppors#r#~#\ #. O:ga{_r:Y :Y<:Z2WÅ:Z=* |~2Y#~2\#~2V#~2S4( (1:=Wͅ+1~#s:] / :^4A!Hx<2x>vE>(>p<!|^#V#|( >_0!6"2 22>2+ * ":l!_~ :x=#͘>|d(s#r#~( ( (#6#6~# ( (+!~G ~a8{0_w#w!_2 < N#F#5_͘\͘î: !o$ #"z:O !  *z?( # *zG (*"~x DM~ `i": zx!d4YzView files again?:+ 8"(8*͞> 22+ õ8 *͞2> 2=͍:( ͍(͘2 ɯ2͍͍(((͘!~W   i { / , >2 Ç   Checksum erroInvalid Crunched FilCan only uncrunch version Stack OverfloFile shortInsuff. memor* ~#" }+\͑}o ٷ* %w#" %}  2%*}#" :%> s { { !*" %s : R 2%2h2i2j2|=2 !" *."!+" !*" %2h2i2j2! v  ( -.( 8ٷ([ ! 8 ~ @ @ 2 p >2 ͜ =s : >2 & 14S 1 G ͍ ! > :  , <2 S 1 G ͍ * :  , {("= 2 go" ͜ > 2 >2 =2 _ W* : R[ @ 1z|2 > 2 2 ~= V|g^z ˪͖ |g~d |g~2 * : * |2 : G: '[ 2 z={((7 3 788(Ou * O " ɷ(=Gyo >o > 2 ! < ! 2 !2 xX L~( : V|gnz==2:2:O: A]O>=2yO*0##^#Vz(y2z>({/=2%n*: |go"%.|g""9ͣ>0=2 *k.)| >2%swx2\2:2]:=2Z!Y2^=2_se!f~Q> =2m~Z> =2n!m2o2k:92[!"`:m(Ͳ  +2m2o:n(!(n4  2n2oX*.{e![~6^Oͩͬ/2xy18:څͲʇͼ:myDʨʫʷ*b:n(:% &* "`>w+6 #1ʿOx ګ ‹¿Õ:mY:O!\~0N~w#~wxx:^<>:!\w#w}*}|:kx(x(k<:d=2dx+>>Õ:X:k>2k«x ;.ddk}"d>2d3:Xxʮګdd.k d.kx2k"x;:mĠ:^Áx *:^*:_*:_=Gk( 7}&}o:^G}W+O> #  #TC͎A.:m(-*~!#>2k+ɯO_:\Wyұ{( k  :]=Wy01{(  k  (" ( >  8 k  :_y/<_> O_> 0 $:<2> $:m( fwͻ:nx;>>w}}*`0#2i"g!(2l<>ȯ2x< ÿG͎:lG!> #«  y2j:lGk6 !?a~a0 A8_($!:lG͎k(3 :mĻ#2kG=2x:m :j>ÿ̓M!Y^:m(f*g+"`&:io2kGÿ*"*"*+"`&*"*"*"*+"`&*"*"*"*"*`"*"*"*`"*"M!Y Goto ==> ? Can't find it! "`2%"}#| "}"`*<:n *b#ͣ0 2[=2kÜ*}͏*:%G!%6#6#6#s#r#{ƀ_0:% :n((n4 2[2[*[!%F# ~# ~#(##T]~#fo:%G:%(x2%!!%.͒:%([ %ͣ(0[ % [ %ͣ8[ %q:n( !*\!)͑[}s#r!zz Internal cache erro!%F##z+8 ~8^#V+####S %!%F##z+8 ~?8^#V+####S %ɾ# ɾ+ a{_! "!"b\կ2h2< !"z Can't open#*}"b|!"`!Mz Nul filͅM!ͱ:o( !!YFV vers. 0.6 -- type '/' for help. File: -->H( xA.yg>:.!]>..~ .#:Q2[x!|4! !!|Ç - quad-directional file viewer (Plu*Perfect Systems) usage: V filespec1 ... filespecN filespec = [du:|dir:]filename.typ, '?' and '*' ok To search forward: "Gstring", or "G" for next match UPPERcase matches exactly lowercase matches lower or upper '?' matches any character  ~(# ~ # 2͡Ev22Hy2~: #~2: 3#:((;( : :ѯ2~2: . # ::w* >?#?w#!4(s#G~A8@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-* |(~* ^#V#~ѷHCK5Y _X__ _OG&d}& }͉͂00|.,0g} @(> 7~(w#@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-Z3ENV!!!s1*  :]/Y XTCAP is an interactive utility for adding the following extended TCAP functions for ZMATE to a standard TCAP: delete line insert line clear to end of screen Before invoking XTCAP, make sure you have looked up the screen codes for these functions on your terminal.  < The current TCAP is inadequate to run this program. ! ( XTCAP Interactive Extended TCAP Installer for ZMATE* ~ 0[͌The current TCAP appears to be an extended TCAP already. XTCAP is terminating. ͌Sequences are entered, in general, by pressing the actual keys. Thus control keys can be entered directly. The two exceptions are (1) control-M or carriage return and (2) backspace. Carriage return is used to complete and terminate string entry, and backspace is used to correct errors. If you need to enter either of these characters, press the double-quote character first and then the special character. A double-quote character can be entered by pressing it twice.t*  Enter terminal sequences (CR to end):*  DELETE LINE ............. > ** INSERT LINE ............. > ** CLEAR-TO-END-OF-SCREEN .. > ** Enter [DIR:]NAME for new TCAP file (CR to abort) > !>w ~ #\g (Z* *** NO WILDCARD FILENAMES, PLEASE (press key to continue) *** ?!e6Z#63#6T\ _ (F* File exists -- erase it (Y/N)? 3NY \U \p (3* No room in directory -- aborting *  ͕ \͊ (A* Error writing the file (disk full?) -- aborting ?E * New TCAP file successfully written to disk {"!6OGx(G?w#w ?ͤ  "y( +w˯w*w# "*!~#ͤ ];=G Q DEL  ESC  SPACE  0 _>^ͅ>@ͅ> ͅ* ͆"~# ͺ͙~#( ( ͅͺV#^#:****:W~(ͭ *[(  :; %-%( \ ͬͅD(K2(B3(:.(-+('>(R(I(N ү$,}lg0gͅe.||d͕  ͕ 008z0 Aą~( #\ ~#ͅzO* |( +~(G  " |("|(&~!8! V V P !6# s#r#6#s#r#s#r#~#\ #2ͧ͜ ѯ2 Í ͪ *~n (#p*:2͜>2ͧ \ͧ  :2!Q :2"~n (#"I \ I l222. y2 ͒ ~2: 62#:(ͺ ( ( : ͺ :ͭ ѯ2͒ ~2: . #͒  : :(~!8 n (#= :T * >?ͳ #?̳ T #!4 (s# G~A8@0b2#~ ͠ ~ ( ͠ 8#~  O u 052 - ( #( #(  2 2~# (+COM~!8=_.:,<>ȷ;ɯ~T (#͠ 8Wy888 8 8Oy70 ?ɯͭ  > . y. , -  * |(~* ^#V#~ѷ" . (G! N Y +X++ +OG+(++< +< +< +F#" ##( ###* #~#fo #~#_6Ĝ+~# ~#(3 ( S ( ( (  y( yG>GO> ͅ9Å?ì. E:gRhʅ>^ͅ@ͅ 0 Oy. ËO:g͛~(ͬw#a{_/Z3ENVZCNFGCOMCFGCFG LBRs@1@͸ ͔ڇ [R͔:_(ͳ ͔( ;*Tͥ8+7MzQuz:0! #N#F#BKXF#^#O~y7! Bڑ !! N#Fg*X "XB$%‘ [f*["[*]"]*NV*PVN [fsR1N331:oW:n((8z2n ͔7:"(* "p:h2c!gJC!J:_{@[V*fR~: #~#8 (. 7:!G:_(ͳ ͔(:_!e6:( (:_7> .7*X:ZOw *X:ZO~[[*]̡Ú>:ZF Ͱ6 ͔KZ3![X*X[[KZ ʑ ͸*  ͔ :ZĔu ͔1F*Xq#p+*XN#F#[[:Z>A(>@> yİ>?ɯ!""h ͔͂u ͔1!sPY:ZG*XsZ#KZ![[*X[[:Z(( ‘ ~͐~#foz!""V ͔͂u :ZG*Xs#Z*X[[:Z(( ‘ ~ͪ~#fo$>O OlK:ZW !5:Z +>:(#w#6:Zґ OO!. N#~#fo[X  :ZW !4![[:Z(=(= p+~=?AH @*[ *X:Z^G/O/W ((yW~wz:ZG=xʑ *X@ *]OA ͡ [[͚*X~(>/w@:Z=‘ *X~@͔>h7 sPY[]*fR( N#F#~#fo>h7~ ! 9:Z(>? 6A#  60#(>:Z(xGyO[]*fRy ͔^#V#~#fo ͔:Z=…}ß!"d! >0w##> 0w!G>[w+>w+>w * |2_O#~2!:]å ͔:!22a{͙C͙!n"l C`*> i `"p"t%"bC!K`l~ :.(K`CnCv!: ͧ2i{Knl~ :i(CnCtb"p"v!# Kb͝2Cʨ !j(2")!g>":c2h!gJCڨ !Jè !{Q!D|Ͷ͐{oʨ * ͙|!Ͷ !t"l*lN#F#"lxp+q#y wB(:i:Kb!|% * J (K`!tͪ7w#~( * ~(7#^#V#DMR"f`i2n=2o4*P*T@ ڌ :o<2o,*PR 2nF#^#Sx Sf ~2 #N#F#X!t  ͔  =@ 8!| @:n Ͱ !ͽ >.;ͽ .   (;͔åt ZCNFG, Z-SYSTEM CONFIGURATION UTILITY Version . , / / Invalid command. Try Again: ) -Enter up to 3 characters: ) Enter a number ) Enter HEX =>from to Check for possible Drive or user error.. ) New DU ('?' for default) (Space or CR to continue, ^C for Menu) BAD CFG FILE - Does not start with RST 0 or RET code. was not found. Target data inappropriate for this overlay - WRONG CONFIGURATION OVERLAY? ) Enter filespec option BAD DATA IN in the case table for menu # , item ZCNFG INSTALLATION CONTROL X or Esc =Save changes & eXit Q,^C =Quit with no changes saved / or ? =Explain Options > or . =Next Menu < or , =Previous Menu Which choice? /?Q >,.,<","Xxxp Configures option data in Executable files. Syntax: ZCNFG [du/dir:][.] [du/dir:][][.] du/dir: defaults to the current drive and user is the Executable file to configure. is the configuration overlay file. defaults to COM, defaults to CFG Example: ZCNFG ZCNFG ;configures itself. A related configuration data file must be present to provide Screen layout, Menus, and configuration data.   > ɷRB d0d 0 ~͐#(>=0 =M_!dN (  #4+ ?? qy/͞ 7~$ȷ #˿͘~~# ~7( ͪ(#A~# 7 >͞>͞<?F:`J >͞02YK>͞'02j[0͔åDIRECTORY FULLCLOSE ERROR READ ERROR = WRITE ERROR = Cn͙͇bkp+q!: ##<(͝!w:o~ . #>Knɯ2ͪ* >? #?ͪ#!4('(# #( +N+F/=#Kn~A80G#~ ( p8xD>8>8Cn ͪ0 8?#&o MD͝ > ~! !Я~,/:.=;<>_~# (+a{_* }^#Vz|M!0GyȷȯWX+YRxOA6 +# yA> +  Gp>: d>. A> ~# ( +~=?8A+~ ?8ͰO͹͘~#( ( ;͹V#^#[u[wl[y[{l*o:lW~( *[q( u:m(&O[PPPP:kg:kg gɠge[(w%-%( \ ;D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|;e||d 0/0Gz0 A(;x~( #\ ~#;zO*|( +~(GA G "|("g|(D~!8? ~2i#~2j#~2kl:iO  !l6#s#r#6#s#r# 6#s#r#~#\ #*1"!N#Fy( p+q+F+Nq#p)("!J!N#F!) s( # x " *# !~ #[ &   !J!6#!T=> 'E> !~ #>  #~##> Y ͕X͕͕ ͕OG_ ͕>!!!s#r#6Þ>͞>Þ>͞ rr# !"2q !N# 6!İ:ѷOó&d& .,0g} |> (0G|'  d  }R<0 > (0G;-Sr'[Sr[d[ [}lR<0 > (0G[rSr|͐}͐|͟}͟8<8;<;~(w#H (+?OA8[8yO08:8yO 8 ya{_~?(O#Ɛ'@'vZHELPERS.LS#  MBy &p7fh@H-7!l(@! s:E#*R 2LE&yZN"H< $I-HO' Q4r5 fa* es9ʁp< %Ah0 I !At # 㱤w $`2ʂeCya7̹@9 v(f1 Cb5ʃ#!^3 WG#Ne< @Md@o2 s9iVmȲMOAeSB@ рCsځhakR 8THYZZſ *7e2( [Р16sC0+qX( Ҡ5^VaF1[֧AT ާSdageG%.o< &a$SjݰR 3l(5g4CYڊ \n6ONʂ3 $r@7 !Wa0Axy pE/lwGQdRw]VF7trQZhF1`A t*FfZ(RFꅌ*&5nÖSXpV}f\-$|5 P2 kL0-`]$saoeiƞ IR$S%7Kl1bj4hPA)Mehb$4b ^$@fn^bhѲ ]agf~C~x=߬' /MY-BmB )*@3H̲LfbbA©^;;! 'ꂥ&VVHSRJSsY$dW)j 55ʗ$UrZ!\0NKBXn '#&Pd+3H^!0Bxr7*\7"2C|сbe@^Z2=l* pPG]|S!(.&rf"!d|&('%PD53QP*SNƬќK~*3` m;VNN p@̳W悽v,gpY"xx@-bدlH@4 ΃%Ĩ(PXnhODNi#W"nXA@B!Z>@V iG0t:eT`)`rQ @CC> "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱE`{Gjna0BpC "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱEvZNODES66.LST000(  hZN7 atX$@M0D1@1FQTo9 A:S:e aQyc4Ms, *""dF&i7͇XiAS3JͳSI 0Xc2u38hBauFyZc7ĄIe96 @-(NG3&(Ȕ"+՛Mi1!pYCyc7KǃImb)89'c)> C| c1ԀUb20S:ˤ4Y~Ҵnޫˮ&UUZG0y!r. %EOtNF'VWT B!;Qݤp1lROa1(oAoZpn1@fƈƘl zcާ=FQ+|mFxH  R)OFdMUՉS"Ci[5'esQ&-)䄴mVDomGHRGhF[&aUJәy`Mc&%aQ)k9P ІF 0)D* 9BkNZ C@GLNGFTMB2 CP- @9g' yb}pKU!|hg튐Ð0 YSpR8OTőLO`$CEAe1PA2yIˉRE6hXP@g`VbƑiK <\q I9J` 2 HGv$1تY$Qd5 1 7߃"O0A ^,9 U*.KaetY$-t*hRzWrH!Q@:+0#x| tA' 8<2y0+^ǤM=,LQF9 -;Nv.cW pa~e;!9e$ c r%4/:HA}pLnIh1Ͱ NH@ [L37>- 8džFL yc 4"CE?N [j2cdGnXPi$7da('(\sQMC :g6ʙ  nOPc1 9hA&4ʞ@@#q!7@pY0AEc D^QxC !PN[H lXވ96DR7PTRd0 ?ƾޱ"aCNCī!IR9[EhB;թAW^}_sR"9[&sm | !X`⩸Z QAp %z1p@ 0DjT6LoD$-p5Y ­ZyB4 $&9Vc;A62rNH A@[UnSB+CN7xaZ>Cd]nA=`h U [AA{&'T~&=G.bt35 Da:(o 9#Mz1+Py|@!Z LIBd`kYZm'Xyܾvf844)ϙ߉^ cB`$`qEz7'a:1k~ݥi) 6  (@32Ȁ%<0NS_Vr7 Pab/M 䭣pb9y$!<'3P Bi KZ yɨA!BOPY 'u,u5βB!K%XqBzZG ]х@Mj״W{$`4͑V7`AP!63ZXc +XUf&vI׌q;K9peL[rذN F4Nl| 铄pQ_WM|&xHB8E K'3A gpBhun 1 PѰ4 Vϙ߉^ cB`$`qEz7'a:1k~ݥi) 6  (@32Ȁ%<0NS_Vr7 Pab/M 䭣pb9y$!<'3P Bi KZ yɨA!BOPY 'u,u5βB!K%XqBzZG ]х@Mj״W{$`4͑V7`AP!63ZXc + Information About Subscriptions to The Computer Journal The subscription rates for TCJ as of September 1, 1991, are as follows: 1 year 2 years ------ ------- U.S. $18 $32 Foreign (surface mail) $24 $44 Foreign (air mail) $38 $72 There are six issues per year. To place a subscription, contact the new publisher (as of July 1992): The Computer Journal P.O. Box 535 Lincoln, CA 95658 916-645-1670 (answering machine and FAX) You may order a trial subscription. Just place an order. If you decide that TCJ is not for you, then just mark the invoice "cancel" and send it back. Payments for TCJ must normally be in the form of a money order or a check drawn on a U.S. bank in U.S. funds or a postal money order in U.S. funds. It is expected that MasterCard and VISA will again be acceptable in the future. ncoln, CA 95658 916-645-1670 (answering machine and FAX) You may order a trial subscription. Just place an order. If you decide that TCJ is not for you, then just mark the invoice "cancel" and send it back. Payments for TCJ must normally be in the form of a money order or a check drawn on a U.S. bank in U.S. funds or a postal money order in U.S. funds. It is expecte!VERS--12H ALIAS CMDARUNZ COM1BGZRDS19LBRCLEDINSTCOM'CLEDSAVECOMCONFIG LBR* COPY COM5 CPSET COM CRUNCH COM, DOCFILESLBR EDITNDR COM3FCP LBRRFF COMHELP COM%HLPFILESLBRIF COM#!(C)1988 !NZ-COM JETLDR COMGLBREXT COM@LBRHELP COM(LDIR COMLPUT COM0 LSH-HELPCOM!LSH COMD"#LSH WZ ^$%LSHINST COMU&'LX COM(MKZCM COM/)NAME COM *NZ-DBASEINF+NZBLITZ COM,NZBLTZ14CFG -NZBLTZ14HZP#.NZCOM COMS/0NZCOM LBRi12NZCPR LBR'34567PATH COM8PUBLIC COM9PWD COM:RCP LBR;<=RELEASE NOTd>?SAINST COM&@SALIAS COM>ASAVENDR COM BSDZ COM/CSHOW COMVDETCAP LBRFTCJ INF GTCJ25 WZ !HTCJ26 WZ ^IJTCJ27 WZ xKLTCJ28 WZ MNOTCJ29 WZ IPQRSTCJ30 WZ  TUVTCJ31UPDWZ WXYZ[TCJ32 WZ 3\]^TCJ33UPDWZ F_`abTCSELECTCOMcTY3ERA COMdTY3REN COMeTY4ERA COM fTY4REN COM gTY4SAVE COMhTY4SP COMiUNCRUNCHCOM?jSUB COMkVIEW COM:lXTCAP COMmZ3LOC COMnZ3TCAP TCPWopZCNFG COM0qZERR COMrZEX COMVstZF-DIM COMtuvZF-REV COMtwxZFILEB38LZT|yzZFILER CMD{ZHELPERSLZT|ZLT COM/}ZNODES66LZT~ZSYSTEM IZFAPPLEII Z3TQT-PCPIEO QT-PCPIEZ AQT43EFX1O QT43EFX1Z QT43EFX2O QT43EFX2Z QTERM CBKQTERM COMQTERM DOC6QTERM PATxREAD ME SEND O SEND Z ZPATCH COMZSM COMuSAVED NDRZF11 CFGZF11-D5 COM|ZF11-R4 COM|ZFHIST HLP8ZFILER HLPZFMACRO HLP1TCSELE32COM(UCRLZH20COMDVLU HLP#VLU108D COMVLU108R COMZ3TCAP LYR@LSH CMDPCPIAS11AZM-PCPIBDOSMZCPCPICOLRLBR3PCPIDVR6LZTPCPIFST6ARK*PCPIGRF2LBRJ SAMPLE ALIAS.CMD FILE FOR USE WITH NZCOM ---------------------------------------- ; This alias provides a response to the DIR command when there is no ; resident DIR or transient DIR.COM. DIR sdz $* ; This alias provides a directory-display command in which the file ; specification is automatically wildcarded. It saves the trouble of ; having to type asterisks manually. D=SD/ sdz $td1$tu1:$tn1*.$tt1* $-1 ; This alias is used with the syntax NAME DU:DIR PW or NAME DIR PW to assign ; the named directory DIR to the designated (or current) drive/user. The ; second token is optional; if present, it will assign a password as well. NAME=SETNAME editndr $td1$tu1:$tn1 $2 \x ; This alias will save the currently defined named directories in the file ; A0:NZCOM.NDR. If a command tail beginning with 'L' (for library) is ; included, the file will be put into NZCOM.LBR so that it will automatically ; be loaded at Z-System cold boot and the individual NDR file will be erased. PUTNDR savendr a0:nzcom;if eq $1 l*;lput a0:nzcom a0:nzcom.ndr;era a0:nzcom.ndr;fi ; This alias will allow you to examine a file. It loads the file into the ; TPA and then uses the RCP peek command to examine it. It will load a file ; from the current directory even if that directory is not on the path. LOOK get 100 $td1$tu1:$tf1;p 100 ; This alias removes NZCOM and restores the operation of CP/M. OFF=CPM=EXIT a15:nzcpm ; This alias provides a shorthand for the CRUNCH command. CR,UNC crunch $* ; The following pair of aliases automates a recursive invocation of some ; other command line. It is invoked as RECURSE COMMANDLINE. REC,URSE if nu $1;echo;echo %< s%>yntax: %<$0 cmdname [parameters];echo;else; recurse2 $*;fi RECURSE2 fi;$*;if in r%>un %<"$1" %>again? ; $0 $* ; The following pair of aliases automates the repeated invocation of a ; command that takes a single argument. It is invoked as ; REPEAT COMMAND ARG1 ARG2 ... ARGN. The command COMMAND is executed ; in sequence, first with ARG1, then with ARG2, and so on. REP,EAT if nu $2;echo;echo %< s%>yntax: %<$0 cmdname arg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH p $ap $+p000f PRCP=RCP p $ar PSHL=PSHELL=SHL=SHELL p $as $+s007f PXFCB=XFCB=PFCB=FCB p $ax $+x0023 rg1 arg2 ...;echo;else; repeat2 $*;fi REPEAT2 fi;$1 $2;if ~nu $3; repeat2 $1 $-2 ; Memory display aliases -- these aliases use the peek command to show the ; contents of various system modules PBIOS=BIOS p $ab PCCP=CCP=PCPR=CPR p $ac PDOS=DOS p $ad PENV=ENV p $ae PFCP=FCP p $af PIOP=IOP p $ai PMCL=MCL p $al PMSG=MSG p $am $+m004f PNDR=NDR p $an PPATH pǐZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1iZ3ENVSIZE TABFLAGMSGFLAGSREGPATHROOTSCANCURDUALIAS CMD!~6w;;sR( Bad load address$* ͺs1 :( 0G!-G !2O !:W 2>2ͩ2(:#2$*:ā"ʽO|ʽi&"!#""2"EͅR0ͥInsufficient TPAà ́ a *i ( ( (i ʇ$ ^*~(/:<( (#~*RDM!s#r*ͥ ***> MCL Overflow <*** à 8!Ri ̲ʇri ʇWrG08 0 :G~ ȸ#xc$^!*-DqHTSZ"<'0I7MRA+@i ʲ2;!:WcYMDHCNSA:>A8>P>M:):$:::$ x8 '::Gx0!6L;E6FNTZQDUCPSòi ʲW2i ʲ1ڲ!Ҳ<͜::E!:G;~xL(~xE ~ #>2͗i ̲WA(+(ò22:(~͜i ʲWc B CDEFIL!M%N)P-R1S5X9dFU""   $*  ~#fo7r* :r* =r*+++*  ~ N#fi͗{ ҲG*i ʲW2AHFDTOò͗O:A yGH(+F(!yexD("~0²#xT(~0²# ykyͲ~#H!i ʲw#6}ր²ɯ2i ʲ"(^ i ʲ $ i ʲ!6}ʹ:̓>2!~Ҳ$>^͔/ :(: ͆-@>:͔I!e~ >.2i ʲW2:C(F(U(0N(5T(:Z(CQ(;P(`S(UD²͔:\=7:A͔:i͔!]͔!eQZ͔!f~p+(~ ##pp͔:͔!~ȸ#: i ʲO ʲ w#:(!0!6\] 4 İ !F#Ni ʲWcDUB::A088 دi ʲWn|N(T(Z("Q(F²>. QZ eci 1ڲҲ% ~#>2ͥwarning -- script line format error à ~ (# 08 0Gy0(xɯ22*!:~#W͑ T (\WG(X ( :x(zV#͘ (. z͘ :(x=(_((i ( !8=(T =( :(=i ͘ Է :Gʭ xͼ 9pý*+#~  .?*!  .?*: ( :-(5:2(W(*~(&++##~ +~2>+~=2=GO::*8 :=G:>O!p#q?#8 i , 2>2?[ , 2*!~(/ #~(/ #~( :$ĩ ͩ ͥ Syntax: ARUNZ NAME [PARAMETERS] Runs alias script NAME from text file ALIAS.CMD ý(66:$ʠ ͥAlias "ͅ ͥ" Not Found à :$ʠ ͥALIAS.CMD File Not Found à :$ͥRunning Alias "ͅ ͥ" *!~ ܟ #>^@ͥ ARUNZ, Version 0.9U :!͍ ?[( ( =* : w# !p#q S | ͙ ͙###~ ##~0̈́ ̈́ ˞9###ͥ(Type 3ͥ at ͧͥH)  2C :> &#:(U ĵ ͵ U xy2  ~. #& ::ɯ2 (#* +>?? !4 ( #> (QKi!8BWA8G!8!!8 8*O}o%  M*B( 18 H8KP(#K($(G$(O #( 0 ?~_.,>:0 Яɿɯ q#w#q#w#CCW( < ~(͖o##(CKK$}2W:(͖##x y K~$(=G#~+$O9###~9e>9n90Xe9###w*^#V*~#fo~#fo~.^GR*,^"*~#fo-^t t*|(~*w*|(^#V#~ѷ͙[z0.+*~( 7^#V*"3(S(D !>S((>D2:S(#3(("i2!cb= | 1} 8&08@8!""0|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm R8(>!^ R8(#<`G}iOdR0}w#p#q#AI*||D " |D(" 0 Ox2* O3 ZA]* O%(E##^#V+z(s#r#^#V2r+s Z *~2#"*+"A:2##^#V+z(s#r#^#V:͢ *:w#"*+" *}(+"*6#"͢[ .X<"~2#~2#^#VS#^#VS#^#VS#" *#:w[#s#r[#s#r:*:GE[ ; >2*":g.<"!E| D*):G*x(E[ @(*"2:g.<"!EC K Y X OG3>5>5>>>> rr# F#"##( ###*#~#fo #~#_6+~#ͫ~#  (  ( ( ( y/  ѷO> > >^@ 0  8 ɿ&dI& I].,0g} |> (0G|n&d́& ͕́.,0g} |> (0G||Ͳ}Ͳ|}txtxO>bB~W08!0 88O)8)8 )8 )8 #?{~(Ww#~#(<(+~#(< (( (80a{_jo*oƐ'@'*j $II@ $D H@!@$HH$I$I$D"$I$B!B@$HH@II$I$H @AI "@H"H IDBB$I$HA@H @"$I$B "@!$" !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H H @@ !$  I$I" ! @  IA@$$@$  A! B  A@ @@@  $@@@$$! @$!@ D"HI @H   ! $ H H BGZRDS19HEXBGZRDS19DOC :100F6F005A52444F5320312E390000000000000028 :100F7F000000000000000000000000000000000062 :100F8F000603840DCD520D000001030C05CDE807BB :100F9F0000000103AD03CD0A0D00000103E807CDEA :100FAF00F609000001030A0D2A2500000001035273 :100FBF000DCD460D000001000000000000000000F4 :1011CF00850D0D05AE032A006000150015004600C1 :1011DF002A001A002D002500E8070A0D520D2C00D9 :0000000000To make version 1.13 of BGii work with ZRDOS19, apply the patch BGZRDS19.HEX using the following commands: REN LOADBG0.COM=LOADBG.COM save old version just in case MLOAD LOADBG=LOADBG0.COM,BGZRDS19 make new version of LOADBG.COM The patch is courtesy of Cameron Cotrill. This file prepared by Jay Sage. 000000000000F4 :1011CF00850D0D05AE032A006000150015004600C1 :1011DF002A001A002D002500E8070A0D520D2C00D9 :0000000000 Z3ENVCLED Lead-in KeBackspacChar LefChar RighWord LefWord RighLine End/ StarLine StarLine EnDelete ChaDelete LefDelete Word RDelete Word LDelete to SODelete LinDelete to EOToggle InserEnter ControRecall PreRecall NexExecute LinESC Menu * =s *q0" " 1* o:]/C (e ͛4 * [ t ͨ 1y2~Ih * " >26 ~#ͨ [MI># > :< DE ES C TA :G!(~# : gK#oFɯ: 0G(C6 7_ͨ   g.g !ҩAH [TAA: H  s7#(  GA{ DE[ ESI TAM  C[* K#G:26ɯ222!!4{6!!~(5s DEFAULT INSTALLATION to skip a fiel.͈ͺ>͊ HEX strings are terminated by 00 or high bit seͻ1 All OK? (Y/n)7N.F* " & Insert vs. Overwrite (Y/N) | 7Y(N66~>N>Y& History recording ON (Y/N) ]&  Erase stored line on exit (Y/N) ]&  Minimum line to save (DEC) ~jͅ(=* w&  DU:DIR separator (1 char) ~ >jͅ[ &  Time string separator (1 char) & Dim video ON (HEX) &.$F > j* ͅ(s#* ~ #&  Dim video OFF (HEX) &!w #^#6~# (+ NOTES ON RCPCLED INSTALLATION Default Settings: The last command line executed is saved to the top of the history stack if it is as long as the minimum size you set. To reduce cluttering the small stack, "minsave" is set fairly high (6). For secure systems, a flag may be set to automatically erase the history when the CLED shell is exited. Key Installation: "Recall Prev" reloads successive lines going back into the history stack. "Recall Next" reverses direction in the history stack. The ESC key accesses a separate control list: ESC-Q quits the shell. ESC-S toggles history recording ON/OFF. There may be more line editing functions available than you want to use. You may assign the ones you like to convenient control keys and disable the others. Strike Any Key -- $g Letters in the table below represent CONTROL KEYS. Those followed by a "#" are shifted keys which are scanned only after the lead-in key has been pressed. Each command must be assigned a unique key. Cursor Movement: ^E Up, ^D Rt, ^X Dn, ^S Lt (Or Arrow Keys)  Quit: "." Skip: To Enter CR/ ESC/ DEL/ TAB Use Key Disable = "-" * ESC Sub-menu: Q - Quit shell, S - Toggle Sav >>> RCPCLED 1.3 INSTALLATION <<< : W Installing memory History Buffer Size &&^#Vͮ byte͒ 1 Set default options 2 Install control keys I Information S Save changes X Quit Choice:7ͨ X . S#( ## #^#VBG ( # 0=#  ~#( ( _($a{_:i2 : 2i!hw#J\<\2y n File: \3xAytͲĿ R ~#  No fil6 >;>2t * [ :2:(" Save Changes? (Y/n)7N7{ RCPCLED (Command Line Editor) Installation, Version 1.3b Syntax: CLEDINST Install CLED in loaded RCP package. CLEDINST Install CLED in RCPxxx.ZRL disk file.;*  ^#V#~m > m" " *  >K ( CLED not found in RCP disk file.; CLED not found in current RCP package.;C\>`* t" !_B" l=2Q\>K * tl!ZRLV#^#F: * * * * : W~(*( * *" [ ( f: %-%( \ XD(K2(B3(:.(-+('>(R(I(N ү$,}lg0ge.||d 008z0 A~( #\ ~#zO*M |( +~(G/ 5 "M |(" |(&~!8!  ͡͡! 6# s#r#6#s#r#s#r#~#\ # ~(# ~ # ###w"*M ~#fo*M ^#V#~ѷ"M 3(G! N Y JXJJ JOGh>.h &d͊& ͊͏͖00|.,0g} @(> 7'd }0= ˀ7cg~080 0bk)))_#{~X08!G0:8A80 8))))O #{a{_Ɛ'@'!O }($. 6# s#r#6#s#r#s#r#~#\ # ~(# ~ # ###w"*M ~#fo*M ^#V#~Z3ENVTYPE>VAR? Te !!m>L#`*3~( ˿w#6 #6 #+> #6(-ͿFile exists. Erase? (Y/n)͝_NʙͿ -*3>ͿSavedÙ>*3>` *3˾~( (%ͿBuffer OVFL ͿLoadedÙ+###*  ^#V#~p>op"1*1$^#V#N#FBG͐( # 0=# (_~#ͮ\T\T<\2 > !h6#ͿDisk Ful> ÎͿFile Not Foun> ÎͿAmbiguous file spec>ÎͿCLED v.1.3 is not loaded>Aw>5{/Ϳ CLEDSAVE, Version 1.1 - Save RCPCLED History Buffer Syntax: CLEDSAVE DIR:UFN [L] Option: L -- Load RCP from file ÙͿNeed Z3A###w"*~#fo"̀(G! NmY ͗X͗͗ ͗OG!,-$.ɭ , l{FF24 CFG/rrHELPC14 CFG4 >rrLBREXT33CFG?VQ>>S SLBRHLP19CFGF [+LX22 CFGR Brr@@PWD CFG_rr@@ZF10P CFGvnZLT15 CFGdERASE56 CFG trr  T AqBqCqDqEqF qG@qHqIqJqKqLqMqN qO@qPqR>uSeTVeWFe0e1e2 e3 -e4!Ne FF CONFIGURATION MENU Drives which may be searched by FF. Type drive letter to toggle. A B C D E F G H I J K L M N O P z z z z z z z z z z z z z z z z R) Return number of files found in register number z S) include System files in the search ? zzz T) Terminator following DIR/DU for found files is z V) View console screen with Paging enabled? zzz W) auto-Wildcarding in the search argument? zzz 0) Limit default drives to logged-in ones? zzz 1) display drive # headers for found files? zzz 2) Use NDR to control search? zzz 3) Wheel control? zzz 4) NDR for wheel user? zzz FF CONFIGURATION OPTIONS DEFAULT DRIVE LIST The search for files named in the command tail defaults to those selected here. This default list is not used if a drive list is included on the command line. In addition, the default list of drives is also limited to those which are marked accessible in the Drive Vector in the Z33/34 extended System Environment module if it exists. This prevents FF from attempting to access non-existent or unauthorized drives. R) Number of files is returned in .... defines one of the user registers (0...9) in the ZCPR3 Environment. The number of files found in the current search is returned there for possible use in an Alias or Zex script. This function is turned off by entering 10, an illegal number. T) Terminator .... This is the character following a DU or DIR form in the list of files found. You may wish to use a distinctive character here to differentiate the list from a CPR prompt. V) View in Paging mode. This is a toggle. When yes, FF will paginate its display. When NO, scrolling is continuous. The invokation command line 'P' option temporarily selects the opposite state. Most users prefer the paging by default. W) Auto-wildcarding/Exact mode switch. This is a toggle. When YES is selected, the filename argument is treated as if '*' and '?' wildcard characters had been included. You don't have to include wildcards in the (partial) filename. When NO is selected, FF will only find files that EXACTly match the argument you provided. The 'E' command line option temporarily reverses the default mode. Here's how auto-wildcards work: You specify: FF searches for: AL AL*.* AL. AL*.* ZCPR33.C ZCPR33??.C?? .COM *.COM 0) Use BDOS login vector - Toggles between YES and NO. If YES, then the default list of drives for FF to search is restricted to those which are currently logged in AND within the Z3ENV MAX drive limit AND listed in the Extended Environment drive vector. If NO, then the BDOS login vector is not used. The result vector is ANDed with the Configured drive vector to produce a word whose set bits identify the drives to search. (Drives specified in the command tail replace the configured drive vector with one that reflects those drives.) Control word: example: PONMLKJI HGFEDCBA Configured drive vector 00010000 00001111 Max Drive from Env. 00011111 11111111 Vector from Extended Env. 00010000 11111111 Login vector from BDOS 00000000 00000011 (this option) In this example, FF will search drives A and B because those bits are set in all four control words. Drive C or D will be included in the search after they have been logged in by ZCPR or a program. If an extended environment vector is not available, it is ignored. 1) Use headers in the list of found files. This option toggles between YES and NO. When YES is selected, a single line showing the Disk number is inserted on the screen just above the list of files found on that drive. Some like this 'dressing up'. Others find that it just needlessly clutters the screen. In either case, the DU: and DIR:(if defined) for each file found are displayed in the list of files found. Try it both ways - it's easy to change to your liking! 2) Use NDR to control search - When toggled to YES, only named directories with NO PASSWORD are searched. When toggled to NO, all user areas up to MAXUSR from the Z3 Environment are searched. In either case, the drives to be searched are limited to those allowed by the logic of the previous screen. This option is WHEEL sensitive; it is only used when the wheel is reset (non-privileged user). When the WHEEL is SET (privileged user, like a BBS sysop) this option is ignored, and ALL user areas of the selected drives are searched. For a BBS, this option provides precise control of what the caller can find: only those files in the Named Directories shown in his current NDR. For private use, you can avoid accessing floppy drives (whose doors may be open) if none of the FD's have named directories. 3) WHEEL CONTROL - This option is only relevant if Named Directory Register (item 2) is YES. When WHEEL CONTROL is toggled to NO, then FF limits the search to named directories for both wheel and non-wheel users. When toggled to YES, then the named directory limitation applies only to the privilege group (wheel or non-wheel) selected by the next option. 4) NDR for wheel user - When toggled to YES, FF limits the search to Named Directories (non-passworded) for wheel users; non-wheels get MAXUSR from the environment as their limitation. When set to NO, NON-wheels are limited to a search of non-passworded named directories and wheel users are not limited by MAXUSR or named directories. YES NOYESY K N NT%DA W)FP(@F HELPC CONFIGURATION N) Default file name T) File extension D) Alternate directory A) Alternate DU W) Allow wildcard help filenames P) Do printer-ready test YES NO Option N defines the default file name that HELPC will search for if none is given on the command line when the program is invoked. Option T specifies the file type used for all help files. Usually this will be set to "H?P". The "?" indicates a wildcard character, allowing for both "HLP" and "HZP" Options D and A define the alternate named directory and alternate DU to be searched. Helpc first searches the directory specified on the command line, (the current directory if none specified), for the requested help file. If the file cannot be found, HELPC attempts to search for it in the directory specified at option D. If the system does not contain a directory with this name, then the DU defined by option A is searched. Option W specifies whether HELPC will accept wildcard help filenames. Option P specifies whether a printer-ready test will be made before printing. If your system has trouble with the bios listst call, set this to OFF. #  OgU  LBREXT CONFIGURATION O) Overwrite existing files U) Uncompress member files YESNO YES The O option determines whether LBREXT will overwrite existing files without asking permission first. Set this option to "NO" if you want LBREXT to pause and prompt if a file with the same name as the one being extracted already exists in the destination directory. Set it to "YES" to automatically overwrite existing files. The U option determines how compressed files are to be treated. Set this option to "YES" if you want LBREXT to expand, (uncompress), squeezed, crunched or LZH encoded member files as they are extracted from the library. Set it to "NO" if you want the files to be extracted from the library but left in compressed form. U n L%E0NT-DA ;P3`f LHC/LHQ CONFIGURATION L) Default LBR name E) LBR extension N) Default file name T) File extension D) Alternate directory A) Alternate DU P) Do printer-ready test YES NO Option L defines the default library name that LHC/LHQ will search for if none is given on the command line when the program is invoked. Option E specifies the file type or extension of the library. In most cases, this will be "LBR." Option N defines the default member name that LHC/LHQ will search for within the library if none is given on the command line. Option T specifies the file type used for all library members. Usually this will be set to "H?P". The "?" indicates a wildcard character, allowing for "HLP," "HQP," and "HZP." Options D and A define the alternate named directory and alternate DU to be searched. LHC/LHQ first searches the directory specified on the command line, (the current directory if none specified), for the requested help library. If the file cannot be found, LHC/LHQ attempts to search for it in the directory specified at option D. If the system does not contain a directory with this name, then the DU defined by option A is searched. Option P specifies whether a printer-ready test will be made before printing. If your system has trouble with the bios listst call, set this to OFF. 7 _ WWSR-C D CONFIGURATION OPTIONS FOR LX22 W) Respond to Wheel Byte? YES Command Library File to Use: S) With Wheel Set .....ROOT:COMMAND.LBR R) With Wheel Reset .....ROOT:USERCMD.LBR C) Default FileName for LX22's .CFG file .........CFG YES NOYES W) Respond to Wheel Byte When 'YES', LX uses the command library according to the status of the Wheel Byte. When 'NO', then LX uses the command library named for 'Wheel Set' below at all times. This option is of use in secure systems like a RAS or BBS where the commands available to non-privileged users must be restricted. S) Library to use when Wheel is Set The name given here is a full unambiguous ZCPR filespec. There are NO defaults, as this name IS the default used by LX. This library contains command files for use by a user who has full system privileges, like a Sysop. R) Library to use when Wheel is Reset (or OFF) This library contains only those commands safe for a non-privileged user C) Default FileName for LX22's .CFG file If you choose to rename the configuration file provided with LX, then the same change here will allow ZCNFG to find the .cfg file without its being named on the command line. Only the name is changed; ZCNFG still expects the filetype of the configuration file to be .CFG. This configuration option does NOT have to be changed when/if you rename LX itself to some other name. This option is only for your convenience in selecting a name of your choice for the .CFG file.  B 0J 1 23A- B. C/ D0 E1 F 2 G@3 H4 I5 J6 K7 L8 M9 N : O@; P< PWD CONFIGURATION 0) Show passworded directories to non-wheels? YES 1) Control display of DU with DUOK (non-wheel)? YES 2) EXCLUDE character for drive list is .... ~ 3) Range designator for drive list is ..... - PWD is allowed to display named directories for the following drives if they are marked with '+'. Permission for each drive may be toggled by entering the drive letter. ABCDEFGHIJKLMNOP ________________ EXPLANATION OF PWD CONFIGURATION CHOICES 0) Show passworded directories to non-wheels? NO means that PWD will not display DU or Directory Names for directories to which a password has been assigned when the WHEEL byte is reset. This is useful as a security measure on multi-user systems like a Remote Access System. YES means that the DU and Directory Names will always be displayed, disregarding the WHEEL byte. Display of Passwords is never allowed to non-privileged (Wheel reset) users. 1) Control display of DU with DUOK (non-wheel)? NO The DU part of the Named Directory is always included in the display when the Wheel Byte is set. A YES response to this question causes PWD to display DU to non-privileged users only if the DUOK flag in the Z3 Environment is set. Some Remote Systems prefer to inhibit any reference to DU, using only directory names. 2) EXCLUDE character for drive list is .... ~ 3) Range designator for drive list is ..... - These characters are used in the PWD command tail in a drive list expression, which may be an undelimited list of drive letters. The RANGE DESIGNATOR is the character that separates the first and last members of a range of drives, like B-H. The EXCLUDE character inverts the logic for the rest of the drive list, causing the named drives to be excluded from the display. You may change these if you are more comfortable with some other pair of characters. For example, one might prefer a '-' for the EXCLUDE character and '.' (period) for range. ABCDEFGHIJKLMNOP is a drive permission vector. ++++++++____+___ Set them all '+' to enable display of all possible NDR entries. During execution, this vector is ANDed with the drive vector from the Z3 extended environment (if it's present). Further, the Maximum Drive from any Z3 environment is used to reset bits in this vector for drives greater than the maximum. YES NOYES+_@O ;!   10+21+32+439+54q+65+76+87+98Q+A9+B:+ 112l3+4:+5+6X3778+9  3A!F7B=+C<3 1%+2"`+3#+YES NO OPTION LIST 1) Single file replace query ................. 2) Multiple file replace query ............... 3) Query on archive replacement .............. 4) Verify query .............................. 5) Verify default if no query or answer ...... 6) Suppress display of SYS files ............. 7) Alpha sort by name (vs. type) ............. 8) Set attributes in copied files ............ 9) Use attributes of dest file (if exists) ... A) Set ARC attribute in dest file ............ B) Use path to search for CMD file ........... MACRO RELATED CONFIGURATION 1) Macro leadin character (HEX) ................. 2) Time delay on screen refresh after error ..... 3) Allow immediate execution of macros 0-9 ...... 4) Use path to search for CMD file .............. 5) Use root if no path search for CMD file ...... 6) Fixed user area for CMD file ................. 7) Fixed drive for CMD file (A=0) ............... 8) Use root of path for ZEX batch file .......... 9) Fixed user area for ZEX file ................. A) Fixed drive for ZEX file (A=0) ............... B) Erase ZEX file after use ..................... C) User Register for tagged # storage ........... GENERAL CONFIGURATION 1) Log in current directory with "Z" command .... 2) Upper case for display of file names ......... 3) Clear screen on exit ......................... FURTHER PATCHING These strings at labelled patch points can be altered with ZPATCH, or by editing and assembling the overlay file ZF10POVL.Z80. MACROCMD: db 'ZEX' ; Command must be 3 letters LEADIN: db '|"|* * * ZFILER Group Macro * * *|crlf||lf||"|' ds 64 + macleadstr - $ , 0 MACROFCB: db 0 ; Drive db 'ZFILER ' ; File name db 'ZEX' ; File type ds 36 + gmacrofcb - $   +]Uz  MT#C#Q#PT#D ABC!D$<E'^F*G-H0I3J6K9'L<HM?jNBOEPHQKRNSQ3TTTYES NO ZLT Installation Menu One M) Max. lines to type for nonwheel ........... T) Restrict file types ....................... C) Restrict control character print .......... Q) Default to Quiet output ................... P) Default to paged output ................... D) Default typing delay (0..9 or "X" for none) ZLT Installation Menu Two A) Exclude filetype A ..... B) Exclude filetype B ..... C) Exclude filetype C ..... D) Exclude filetype D ..... E) Exclude filetype E ..... F) Exclude filetype F ..... G) Exclude filetype G ..... H) Exclude filetype H ..... I) Exclude filetype I ..... J) Exclude filetype J ..... K) Exclude filetype K ..... L) Exclude filetype L ..... M) Exclude filetype M ..... N) Exclude filetype N ..... O) Exclude filetype O ..... P) Exclude filetype P ..... Q) Exclude filetype Q ..... R) Exclude filetype R ..... S) Exclude filetype S ..... T) Exclude filetype T ..... ZLT Installation Menu One Help M) Max. lines to type for nonwheel. The number of lines ZLT will display when the wheel byte is off. Set to zero for no limit. T) Restrict file types. Set to YES to restrict viewing of files with the types shown in Menu Two. C) Restrict control character print. Set to NO to allow ZLT to display all control characters. Q) Default to Quiet output. Set to YES to tell ZLT to display quietly by default. The "Q" option will now result in verbose display. P) Default to paged output. Set to NO to tell ZLT not to page the display. The "P" option will now result in paging. D) Default typing delay. The speed at which ZLT sends characters to the screen. "9" is slowest, "0" is fastest, "X" disables delay. ZLT Installation Menu Two Help You may install up to 20 file types for ZLT to exclude. ZLT will not display files with these types. You may use "?" to match any character at this position, e.g., "C?M" matches files with type "COM" and "CQM". To use less than 20 entries, simply copy the last type to be excluded to the remaining entries. ? ; 172@737407YES NO ERASE Installation Menu (1) Default to quiet mode? . . . . . . . .  (2) Include system files by default? . . .  (3) Erase read-only files without asking?  (4) Erase all files without asking first?  Option (1) -- This option determines whether ERASE defaults to quiet mode. Whatever is chosen here can be toggled with a "Q" option on the command line. Option (2) -- Normally ERASE does not find or erase system files unless the S option is used on the command line. If "YES" is chosen here, all matching files, including system files, will be found and erased by default. Option (3) -- If ERASE finds a matching read-only file, it asks before doing anything, unless the R option is included on the command line. Select "YES" if you want to erase read-only files by default. Since read- only files are supposed to be hard to erase, "NO" is highly recommended unless you are fully aware of the implications. Option (4) -- If the command line contains an "all files" file specifica- tion (*.*), ERASE will ask "Erase all files?" Answering "YES" here will bypass the prompt and ERASE will delete all the files it finds without further ado. A "NO" will help prevent wiping out all the files in a directory by mistake. y recommended unless you are fully aware of the implications. Option (4) -- If the command line contains an "all files" file specifica- tion (*.*), ERASE will ask "Erase all files?" Answering "YES" here will bypass the prompt and ERASE ÃZ3ENVCOPY BACKUP !!?????????[??????]???????????$?$ s1!fg6Wf$$"."{."}$." COPY Version 1.71 (for ZSDOS)* ͼ" ͸͉:  =2͹W2 >2ͭ!l͎x2t:(: (!" K Cwe[!22~# (+/"f:OG++~:(>  ##͉ ~( #!ͭ:r :s(2:o(2G~(8# ^#V}~/w## ArEpImMoNQSnVlXRsOq:>  Option error!  Syntax: Y  dir:[filename.typ]=[dir:]filename.typ,... [/]o... (or) Y  [dir:]filename.typ dir:[filename.typ],... [/]o... (or) Y  [dir:]filename.typ,... /o... (Copies to KwJ : 7(#b ) Options: A -- :rĿ Archive Bit Control E -- :pĿ Existence Test I -- :mĿ Inspect Files M -- :oĿ Multiple Copy N -- NO Copy if Destination Exists O -- :qĿ Existence test - R/O files Q -- :Ŀ Quiet R -- :Ŀ Replace Only Files existing S -- :nĿ System Files excluded V -- :lĿ Verify X -- Delete Source After Copy NOTES: "R" and/or "A" turns off "N", "M" turns off "X": NO 1:R * ~^w#VwS[{( * ~ s#ro{:o(3  ...Any key starts copy, ^C Quits - _*f"h22*h~!0+:l(  :(:ͨ  Errors:o, # *}#6 #~!ڽ o[{3ͩ ~,(L=(" D#~,(>!ڽ [}3ͩ Cw&Cw[}*{ #~!ڽ [{3ͩ "hCu*}> { 2(*}y *{y !Ku*wB   Src=Dest Errï :r(  Archiving   Copying   : ͈ *:O:n>(>2 x(G :r+ x 02ͯ  NO Files -- ^C to Abort LD:mĸ x2( x "j$ .8}0>22Ͱ 2:2z :(J:(:  (Dated)Ͱ ::l(&\ :(: ͈ ! ~   (X) x D2:[} [{ "͞ bk #˾ J ͊|= Ɖo&~2G:qG:p2: y: s!ͺ  Replac! : ! :(J*͖ (5!͖ (,8 # Same! Newer Older Undated:(  R/O!~(  (Public):(  Can't!:(  (Y/[N])? Y:( ! ˾̈́  ..>22< ͏͈ ͔ *j& :('ͩ *j[} :=2 : ͔ ͥ !ʹ *!*͵ Ͷ"y[{*}#͌ #͌ yĄ :r͔ ! J0 #! ~#+ ~#+ :t<=G! N  Error:   TPA Ovfl,  Disk Full or Write Error !ͥ ͯ   Directory Full22:l( ~͘# :<2G: 2:   Verify..͏͞ *j[}& :(: Ͷ[yR !4  ..Bad>2:/í  Inspect -- Yes, No (def), Skip Rest˾ x _͊  - (Y/N/S)? S(Y  x ˾! ~ kb! x *_ (! x #  (?( # [{:v<[{Ku[}[}Kwyl  Abortv:: :  Already Present Ok!  Can't Rename Ambiguously -- KuJ [{͊  to KwJ :[}ÊxAyͨ>:: (#~  COPY>?#  #y~/ w+w##T] ((  ! (#W 2* }Ć;|AEIMNOQRSVXe ing 2"yG(͡(-(2$ <*"!"!"-w(e" !"ͺ"V [*K"*:o>? w# w#og"(i[] :0T͊K*x(? ~#~#foR(կ"  w#񇇇O*   ͰK2`o&~ʛ қ: ~((r[S[:0 p#s#r# =!~ #  !ʹ'!~! :OS(͡(>D2:S(#3(͓("i2!.b= J| 1} 8&08@8!""0J|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm͢ R8(>!^̢ R8(#<ͺ`G}iͺOdR0}ͺw#p#q#AI##N#Fx(Hx?b0A0dyy++F+Nxxͺѯ=2"͊(# Ͱ:_[ͰI<2">͊(. Ͱ :_*>(ͰI<2N P(~(## #F#N> 0:8 A[877?͏E2͎Cͣ:> &#:(88xy2͕ͣ ~. #ͩ::ɯ2w(#* +>?? !4w( #> (QKi!8BA8G!8!!8p8*O}o%  M*B( 8 8KP(#K($(G$(O #( 0 ?~_.,>:0 Яɿɯ͕ q#w#͎q#w#o>o._$,_"*~#fo-_"P(~((F#N+##[ #P(~(ܸ #~+(u(_*|(~*w*|(^#V#~ѷ͗[z0*~( 7^#V*"|>Z (*>O>G>Z |!~#~3ENV<*"!"!"!"ͺ##^#VS#^#VS"!yg)0>g>!or$s%# !"[O* ~W$^S*S*|(9DM)8481*R8)*|(*s#r#* x "=ɯ*$:(]: W*|(P"!"*+|(?"*#"T]~#foͳR0͒*s#r#~## +~# +r+s: ͯK +) +w#ͳ+T]K! !0>))0 =  x [: ͯ+) N#F^#V`i*+)K " ![*"*<}E +""*#"*R8*R8(0͎̓CKyY JXJJ JOG _ J>S>>>S>S>S>S rr# ~#  (  ( ( ( y/  ѷO> > /v>)>)/>.&d;& ;.,0g} |> (0G|O>)~(w#H}|8 a{_1o*o*.:g~O#*djJXJJ JOG _ J>S>>>S>S>S>S rr# ~#  (  ( ( ( y/  ѷO> > /v>)>)/>.&d;& ;.,0g} |> (0G|O>)~(w#HZ3ENVCPSET13 !~6w;;R( Not Z33+$s 1 * 3:2 2 : * ~/C(2PFLF!  *** Bad Device Specified *** y-: G: " Current console data: width.............͛" lines on screen...͛" lines of text.....͛c y-: G: " Current printer data: width...........͛" lines on page...͛" lines of text...͛" formfeed used...( "YES" NOc(x{ ! 6> ! Fx  > > ͅ>^@ 0  8 ɿä&dͷ& ͷ.,0g} |> (0G||}͐ ͔ O>~ B~s 08:8A8 G0G#O 8yH(!X(O(/Q(+xB(8́8~s D 9#6ͬ8 ~s #H((X(${78~s #O(Q 8~s #B {B~0?0 0Obk)8)88 )8 8#{B~s 08!0 88O)8)8 )8 )8 #?{B~0?00O)8 )8)8 #{~0?00 j8#{OF##X (#s#r#(f (y(x f X (~#w ( ( a{_͆ o*oƐ'@'B~s 08:8A8 G0G#O 8yH(!X(O(/Q(+xB(8́8~s D 9#6ͬ8 ~s #H((X(${78~s #O(Q 8~s #B {B~0?0 0Obk)8)88 )8 8#{B~s 08!0 88O)8)8 )8 )8 #?{B~0?00O)8 )8)8 #{|Z3ENVCRUNCH28 ARCARKLBRFORARKARKARKARKARKARKCRUNCH Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |Š@sm1 \ 1 2U2 ;*k~  "kr# "k>2 :(:ʔ:eh$:ehc 0X͘0,v ~<(<( <(2U,l,> ! 1;Z !:> >Z(# # ++ 8,w#w#w9 ^͡>v>!  !~# >(> >:e d!1!%8ͩ0%!>!0uô%!%:(::͡ ͗ :H[*RH:8W ڔ:ʔo *#"ͣ ͭ ÔÔ͗ Ô͡ 1ͨ͗ Ô2!%!""2͡> 22>2>2!:ùG:?L~0ߺ !|g{ |gx |gV|g^axa[o|(0÷r|gs|gp[|gr|gs7x[S:'2:< (2>2L~0ߺ 5|g{ -|gx %:w:w:(|gV|g^axan "[o|(0EL~0ߺ 5|g{ -|gx %:::(|gV|g^axa[o|(0æ*#"*Sx2r|gs|gp!6!:~LA)0 O[y>2:2:O/G):@ :n>2ɯ2y >2L)Ҋ@Ͷ 0!ͩ< !ͩͩͩͩ2!((>w6Ox]))))o{(g#u"o #~(x >.O:U>!V~ /#+:W͘8((2z!X!z!z͘8((!1>!qZ͘8((л(!͘8(!1>!͘8(7~( #]( ~ #ѷ !~ȷ(.!###~($?(ݾ #~?(ݾ #~?(ݾ >w GEL Cruncher Version 2.8 $ [ Can't crunch .ZZZ files ]$ [ Already crunched ] $ [ Already squeezed ] $ [ Result not smaller ] $Result not smaller--Save anyway (Y/[N])? $Usage: $CRUNCH {d$:}afn {d$:} {[text]} {/options} Second parameter is destination. "[text]" is any text enclosed in brackets. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files A Archive mode o$ S $clude System files$:?! Nc 1;Z 9 0͗ 7>$2:eͶ 8͡ ͗ ! 2 ~#v!"!*#"T]~ *ͤ>.> #. >.. >:(>*8 U !>> 8 T >*>B *+}T n +"8 Nn Y(>>Y~#J  1o*[ :ְ80 +!"o@8>@2|ƥ2}* }(!~ !$^#V{( #:2e:2f:2g:2h:2j:2i222:x2w2 20!]~/ + ;:i2 :kD :y20:{D :l21!N>[+xİ :  :y2zG:1 :y2{J 2G: O:02>?!  (22v:g/2u >/82u0|S(D 2v S o :hk !"k:Gƀo&> ++~/ +~ #( yA6# ~S("Q(#I($T( C(E("O(A(v!j!e !h!i!f(66[=S:v( ! V>2UN ͨ<7 ͨ:i !ͨ}' ~#:=2  .:u ( ,( ,}2(! 7ͨ,ͨ ͨ >:tͨ ͨѷP:u([!1:f #ͨ1ͨ<('Do(7:e( :f 1ͨͨ< o1ͨ:vN !  !=N1! >f>gͨOͨ={' 8:} :|'G,x:uLͶͶͨX,ͨ1ͨ KQ: ro:z=_ͨ%[ͨ:y=_ͨ*k"kÔ oͨ1ͨ{/<(G>B%D,ha:x :0: _:w( {2w ͨ ͨ2xͨ<2y*O " > ͡ ͗ !11ͨͨ 1oYyx/Gy/O>j 8B= !"s ͨ > > _ͨ?:Ī̥:Ī̥:IJ:Ī̥:̸':e*ͤ*+}>s{m:>n>fo>I>n>E>x* }>u>i>r!~ !~ #+F#~# :y@ x 8  0x00>: C>.C> ~# ( !"~ͨ ͨ͌ ͨ(͌*~|ɇƀo&:j  ~:hG:i(> ~O#:i(yw*~#"~Bo*#"!Q ͨ(ͨ Q1o:e :=G:(Ux:( :=*#"!Q>$2> 2:e x: C[*"q> ͤa: !: *++ͤ> *ͤ*[R"q*[R:8}2<>2*"*"!DM)jJ)j)j)jJ)j)j)jKq̈́<#~ *͋>)<<<ͤ>k͟}͟}͟}͟}(00!(!  Nq# # 7K~Cbk x{ _zWK Cx ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$ VЇSSARUNZ09UDZC:(3 vRCPCLED DZC< =:>jSALIAS15DZCI ZEX50 DZCi7p`` vARUNZ09U.DOC " IRR#  yLm6NG Ѐ 0LC) 0Ȣ"i7pAD [i9((ky!)-XM,-*CU6txC-/Ҹ.ƮևOц6 @&H1!H[1"tM~"+2;ҞՎ!.gR)r(2Mdʩ|:]8© JS`_$)D&ߔ׬ђ ,Q$,cl^A7uԪWzL̦1h7R%i@<hOd (afהb!^=p%n%?Bz)&l׈1Ze 2LYM5ZhfPKts ɔl.uln`b$@Sj Y s) p"MMAb ેh%7Tꮐ9-cC<șgQIhf|@r^_ )!]Y+C9@(+oK0r)f9p Htv!+kpcC.gx1m(ac@Oh+~XO!4"%@s9+U98IV;{AD?;xYBH+bK-UfL0rh$u~c$gY+t[*8䋵KIыNR c@B(-(%B1V4#؋22-&(o/yAZ:i Ok)8}8E(Xa,d/2/g$&c;X*0 C1ccD"iHL9 x3tKJ8Ә,[?H%uG (2-@(T=aBUYlcC(2.Yof(20("5`AB?ITq<(2(6eaD!kX0#6?)C8O1#kH0#c1)IA"w^Qb!W?T')1\)_ԹVg<)тs՘фYyBa!?dtu]OEKq t6%{E`o_!CGTF"!u!iu6Pxѫ=\`T ل@gpG<42@=MI93?4CSJ$\1lD9IPZrbIr d7@eU5sYc@Qx$5p,rT3k6wX2#4%`g2*|OaP 3#T}Qq)qd{N=qdcH4΁,Ka,P v6Gu4KmbUtPcI7Cv%@7gAcK'Glc"4Y)oQC-e\7TnTژ)#eltyC&cEVx>"d !GX~c<{4KUz;?e>(RWb˜ѡ[7j[YiPYq|LIuz!k'}KKT`sufKf[Jc}G$ME1a(Y9$!8="WLM:(3>;c1״f}j+о9!3}Cٚ6uvA(q$ὑtN^{ Gҵ&q}-IvQoKd؇q0|0fq+f꩞(9KnkQfn`3(tea Ȳ]+pOC%U`uo#p71<]y 2QsW.@wTZ7M^~Q"d >Yei@TK>WÝIwp-P MIiR>Wt@&tNO} V2$Q<1!!)P g v*B7\ȼLlCV7{@)b|sSS‘I¯!"qU[E_ʱk+Mf=U6!,@)!lcCݨ9 ΊHi3*ĦИ} |O*7-c_4P+#z++@K°>lVZyİ <1KYi,[I>44!gP&#2>AyOXK_*xZS}mr "\p$q[ps\יՠMV+7[?؄CĂ }K~|Yٝ@ 02ё}:hk Ya-D0# 9@W ǙɆeӄ ^]d%!.FQqez}#^dNq-u*xD$>HcU{8Ɓ˴9~T%xᧀ )47%.= ]DZ>f JS4 `k!+oU |WGrT:s`o]w̺^Mȑ\)M&ƭ1{|!< ΉQU@(IF8FfQD1AjD}u!ab"0mU<}Cϭ&tvh2#`$ .(6eQ *_sUj"Y tK&kpu5{fM߱[ft(&/ldF} 6IN7KU{xʸ1;1OR]2;qtLe_6<0`Pr(!d$s[eϩ^.TdKarBQeM/e 1~AR$D>+1`$܏C9p$Dp^{OD//'):Tox l}) D'A1=pC p=ןNҍ2.iՒ2[Z$P=^!&74F >  oUb)SWDGN<?6'7`E:sE%jrLg3l{8[q-_18!QQoVH=XWPE2>SVW9D"bcfMp$pp;bCf*~7Y5|@+@i/z*taWq?ef^xs -96ٽhoÌդ!痿|>$>f&n4/+ S"u 0erÂA"5>Z0PU=ک*•%gIQYċPrBMoFRw$juu_+҈KIKQv1NP`d AN( q%}!Gd[)q:~U{^>)LgZHDi*9ܟt:ZF$d'+~AKSCѓJoMTЎ_ F0A$׭*+o* m!gGoz$NwƤG`fHDZQF"uYl>!=ӝw,ބgtw!mt#FW^ 5\l'YTSF7vIZ"|/ 2@D/@uL 3Vk:R*j%DpS?c 81dsI{Y1F} V4Y0MG1MӗDJ@D9pH|:9A?aL`0-"Hsb-5!11eas1Ӕ4e9pAt@mpBRJ2S"tD8fMzdf@Deh)J„[s ȫ%#ް8ؼõqIϭ}ʙ~Kpq1pMqItS{ON+c^dݥћZ2P'9E 1`N}9rjC IOA`D#Ip=u)t7\z t=& ̱]Bcbu;)r3>IVJu~[ۀZS7@Ih1>i߷=.%3N-Axg2V7v^OLS(7 &8Inwu|1^;jPE0;>IF/% /S22KcCX5W@16#"n$/@"lq@ߧS,ژƹ$1M^8jVO y%qdϾN{a?֒-8 d>]AO !*c>ZnWB>OYe~qodcwO/D`[e㚯 I})\֐=xOU桦ۊE~BFE4c}2Ѡ57sC>2ՕjNM"}OŘ'Y"In%>o+J .u+\ŒV;IIb9Q;aubI=wç5X|24bVtT 9Q`+H SvRCPCLED.DOU R"[GUIDE TO CLED]# )2a fin2 q@E2Ns8%$NgCy ) `(cH!@b1'SP:$e#y@F9LiqxV2fy s!eT s tpcUbm}j3WUkk I]erE3?}IQ`UWatyXmi{Kc(ʀ\5Fmֆqact DDLT| #7aJ&Ow,9TsxNH Z/vmNPEȠS?Xa9m N.!1w=bAiۮ)@Jh h!'.;B H,cM8pHTR[0tn)B16r>T*Ƙ8/1ęGMd7uP0XS)d(سm0(w)d3ByR2>~'8,G#0ekN-eqVafwDVG`bH ( v"F] ?Y1;$t+Ze#~MgHulVA#'>3\tR!(QfGTQGf%9eBr ԘAw0wHt4(e!E<ƄѼpU,FHtNu*)!H*P A(eX d o+QE X@b6`Q $"LT 0y`pVTJuC|}h-AH y?G$84T.(FӃPkE1:tdqjdJ x%k#D{ ")(Y]o]ovP@__k-P1ϡF9黏b@QS'`t͸ vSALIAS15.DOC  U #  A&H%5`e9M\5 D2HE' "LE"!pҘVI*IHS1䃁 fSm1^B@b9 h-b  3Mr2])t7ӌAa:MqC6&c90.Aj4a6ELa9Njh&̱;j4,CFXst;> !egS["tw-f.'ڂ $\H&4,w{mmv &F6x!LnƞTJԼ@[-NCumECt]whuG8HlQ``h]Ô&nDc1E0rph*i:d8սfRXe9a#g/{9@yI[7U^ ~~廄"}S'`Hd/b9(Z}CAh01N""!HAPpksFwEqO{bŜsizeY"U$HFY2{n;f]脓PeG]E^DqNYw {$ 7C`(^VTTSY;(AwEMq{351FL1zC3N|dї@K(H3qz f_T102]:TCX@26B|(.ls:1B8:aJ*M B1WF)v'c'#I5\mgakPx BSY6?@^VRq&bC!{aEz@ 7m2/zG#]rCeBAH!FwxKy]d?Qt51 wYSqWѝ+2!t8z hK)%&R:&.gUa!\Xx+K`x* ?mYn-T*{:}/%fDp!zE1[)=f(0"aHx&,MHrUn FPW%vJ1m?@AYpA?p20A',psU$(JdKQ&5Y C!$%*p$x3_ b,lrR=n&-rBF␒4B!EG1BG!@t%5#+p*ݮvz]5\/rtS oad!)ǵ$˫P,.W!COP40 j!z(*q\#"R'5YA H`(e$"Ո'Q˖psćJPM YpG˲Ik"s|pɢ%+TRJ)`o!3lBprJ6t!r2p.ѓ02D%2_mKDRr"[ȼ43Da`a#!%*uC$W$*/0T&;CќOVW " 􄳥"qGс9:ZCO=]C_kӽXyJ@67**@U0t$Lh$T1BW1,71710,vZEX50.DOCC XC# $)`@5  8U Ȣ!< D#)s2c :C1*#xp9 yF!rM2Al èJ3LgALs:M9R2Nn:֒жc MeaTT7D2Hf.< Dzq@e>#eai2edglzSK$ca(tw!6}r)dT~$7+SŇuAI* mQrrRQ݌G Rhp\_($W(vuƚguyfzw}Qur֣BpvqyJOq'qW )R %RԦ-KdžHð@I~%)G. n&nM%HfWp7)d|Q#.kp { *=1#2X2g'])A$ -mG\sp`: P뜢Ûe|[ dQ#ib2R-1MzIR77aWk(2$Z9_dO$Y"j$>Cr.-ؙb^ܨS)`Gp@ҧa$$u "d_(Lyv}:%QJ4fGلl7Q+9yKڅ-dL@1U~v̼ <3?U] ($CI%_IaY#$ØՀiض@U'<} PX A3ld8 JR ._IwF+t'̹zrƭ Eؔ*4Ovr>܁e8׸P| 8*JZ3jқ !@NL}|2>$!چnףli2ӇΒLɳ,<H`{}X䜘&rXrsxm+W6\sz/~Mޓ0C99D`$;R`p-Zk t KKi*e*a춹kM6.;t3#)\ 󽳔 AQ0o}(Kyr,=ΌkࣶF-2ܻq.FyW7kC}rB%r#G7>17L¨}Wohf*F`KD9IT%'Ү0hGOkF#x q*>SFQ`U]=5=u2tqeIc UU<&`|T^+%kG.TVX |Ie?rPrWf^e@%$Hôg< `ASUq(QrA&J0fQ#&oN2C`|>#qqC߈-YYoȫ7onhHPIox<(ʉNXr#&r,渍hύ&vՈ RMG jvs(P iIHpAUfhMw>x4RtiY| QNk8EH0d%[Kpw/F؟'3usePA3q|B#\[0PX@ATy])`wljY;yVlt`Os#>,PhhI=N@sn e0MH0/TPCjO`F02ynAIvTPlὈ"Sa@|9uyyT |℗1e4!X̖k 8Yai{ywC*wq?X}H7'o]NTYit3in9ԛVx7AK[ڎ|rTc%(V`'Zi|B* dMt7Y9sdE5HOUEQ|GqK pi4\R3u8Ed6VY(e#f0rSife)fe fOJ/'F*fCK?kf7r;2K(Uv"!C9eZUȉi53=f@Eq(pFwS828a}BzYuD{UCQqSAw*(0U M!Bq!bT'E4{"~)$P$$1*$Mv1f%#xgzdP =h#9Yd I1jl@PCRz}G1i"q1e=fDW# ڶ.1b`!yFG.0l;b1V%.Э "{J:J\@"}tl1.,*Pu2paZgZ6eCVx% TrEC71% tEl@^@n)Tg$Z{P3}K ,;Ow4PAź [A;I0)F:bRj.[ILI(G1NנOH$ʑTr@Q5ZژZ2DAJtlr9a$='{o#!_7ᰇ}S`vi4tEd;3d78PNvU*5b.`^q}.G>TDJC-ƭ.pa9ʤS,TjTc+5-QXtdi#(\&^u?$cx s1KB =Rxx9DPEiAq\G3eY҂$m}~dR&!쨔iX&<5Pilo3ӎk"26P\w>:9^=},A58_B7T³M;!W`y/,4w+R+q+1*3YE3#:ĭ<=OcD>*.\d6(syTmՋȝq(ܝ1rsIʂFy=yK r"(}(u)04 ͂}#NR8#l2v}2"=B1mk9JF Gډ/Ͷ cFĻ92Ȓx1 5~ kP4W9Ļ+Lg2G=2HTeNBI-XGD|;7v\tigBK>B_xr^9A(%QJZQIV- 61{;!-`Xb $T!ېQ^F1 1W]b3!9m$R2n/&%{L!>RDjdPpr4xmP MtϷ3 ʘ2 >>1,*zss6*G#rW'~^/.. m/`dIk'ybƐ. M!~I ioxɾoc7q(q|Z+v'9LǻjfiM9鋚%5h拵5g<|&J4sp36uVz'"4 |/NSAO3Z03_U|r9Am~_BOF?rp~>?BýyZ|^D`ۖܤ9D7^m:J5RQmAUEv'5_ho6 }qEkVdx%NC%>4 ; d((?EӆQ 𚊩O`VEY!/4 5R\=`词fkek΄_O4|1F| Z}?꭯rN|# Ag/lQ eo4Wdoϥ&jjRQp!01*E841IdT{Ysʒl]j +=S,1[*)/+l+o_ /n$M|e2]c)e^;pU%T0G5R0stt?z/0DylO".stgZי]l?5oiCNk@mȆ?sfSj7GC._In@3^3_\$O$yx8p_|Zk[GS6.`Hx'C#/F[*I]ȒyEpym-p[ ӹ7Y]v 1|]Td5ʁoU"BR9e*`.@sxF[::ւ"#[[ ])]9 -#ՆlW.(C΀xL%ñ$M~%F>|@ y-KK1dBO͐)>xk EӆP}NRi;Tbh9)Z %9(0)a]\gsk T^<n,*cXig*Ta.n$"S,nӆ;FwfwM'.ߏ|Vfx2fOqgǦ?2Ȃ45HTVReUEneT&X csXk9ɏpSiC?I¸صE'q.IFn!jIϺKwיMٽ6ܜ!#ΝR[IҰ՞^naieTBn=x=qi+'=gs؋e Mq7"XnU\ȂYX̊TXь#Hxe1mXqEWA0t8i3!%/if ރݜ9n| J8ѡPQGKN3Q%`*%Zz/P4  3T@SGv.MG0@0(0/L&A-023-`7-4`5^T99@.]ڻ(iwmVLlt] Z3ENV\* s 1 jă>2[̓ ={ *#[Os#rͤ::̤::‡:l!~2#Ox2=( ͘ :(=ɯ!="t"v"x!"|"~r!|ͺ> 6:s( (F(#q(K}:|!s2͒(2=22!~G~ > #*t#~ +~/(>8!s2|=~/(>2s>2|>*t~A87>CQy2_(++"M2=ɯ>P>,*x *v *z( >8C}=ɯ>2?/QRX5SlZ"a5AR[ {>*wT]K =2:(+*MT] (T]!5*B"=2ɯ>:(**M "xa:(!="x:(*M##"va!="xa*z"x:ʟ!=b*vb*xj!b[M=2!:(4*MKQp#q#h2ɯ>>25*T]K w![*4 S*"*["*R":<! N[!((,P: > w#=2x2wS=6 #6,#> :(9: (:(%type ? or / for error diagnosis Command (? for help): 2=!͇"2hh: No Entries in DirectoryEntries -* Maximum -:*hh DU : DIR Name - Password  h---- -------- -------- Jh*~(TʊGh~@͢#~*: # -   yhy~͢#yhh=*#~#fo"O5s#r* ###fm hr"2""*S }o"[""["2: : 2( #=!!8!5*t#~2͒#~ =: /2 : /2 :/2! !*t##~(O!!y2 2>ɯ>F###~> ###/HBEO0CS:(F=O!x ~#fo ???????--->!<--- h2!:  =!Q:5!*"ͣ*[KCCC=K%C͌fɾ> O~͢# =Sorry - Wheel privileges are required for this pgm. Can't find System Named Directory! This is a ZCPR3 program which must be installed with Z3INS.  P 2 q ERROR CODE DESCRIPTIONS Code 1 - First argument is invalid. Missing space? Code 2 - First arg interpreted as invalid DU or DIR form. Code 3 - For this command, the DU must exist in the NDR. Code 4 - NDR buffer is full. The append was not performed. Code 5 - Too many arguments. Missing command separator? Code 6 - Too many commas. Only one has syntactic meaning. Code 7 - New command separator was not supplied. Code 8 - Invalid option character. Missing command separator? Code 9 - Invalid separater. It's a command or option char! One of these code values will be placed in the ZCPR3 program error byte (where IF can find it) when an error occurs in a command in the invoking command line. In the interactive mode no errors are reported to the operating system. COMMAND OPTIONS (preceded by "/") / Display Help. If error, show error diagnostic H Toggle display of help after error diagnostic B Toggle audible notice of command error E Toggle visual notice of command error S Change command separator to character O Display this screen of option selections C Display the list of error codes Option commands start with '/' and end with a carriage return or command separator. Multiple options from the list above may be included in any order. For example, /hbeo is perfectly acceptable. Note that if you assign a new separator, the assignment takes place immediately, and your next separator must be the one you assigned! EDITND version 1.1b EDIT resident Named Directory SYNTAX: EDITND [ [ \ ]...] = [name] [,] [password] Typical Commands ( [xxx] means xxx is optional) (DU/DIR)[:] delete Named Directory entry (DU/DIR)[:] NAME add/change a directory name only (DU/DIR)[:] NAME,[PW] add/change name & password (DU/DIR)[:] ,[PW] Change password only (DU/DIR)[:] [NAME], Password is deleted. ? or / or // Display Help & Explain last error. empty cmd shows current NDR. Q or q Quit & return to Z (no changes) R or r Restart with original NDR S or s Sort the NDR entries X or x eXit to Z with .NDR updated Z or z Zap (erase) ALL NDR entries /oo... Other options. Type /O to see them. ~.#~+.##= 2o:]͆iiki͆Y>4}#o> }ͳͶx2y2G~Aڷ2#4͍4͍#º4O Y2:G:O=$$# ( OG=~͇!W=_.:,<>ȷ;ɯ~4ʆ#͍ڊWyڊڊڊڊڊO]y70 җ?7w*#.~*#$~#fo|*#,~*#"~#fo*#-~*#^#V#~ѷ*#)~#fo~"#"pr "z*t}o|gi*z}o|gi"r*p!r *r>*zr *t"~DMx¬y:|*r*zx s#r#*vú*~"*|g}o3""*#"*~}|*"**}o|g"|*";**:|*t"*z"*r"*DM**cʅ yX SORT Pointer Error*~#~*vDM**~#foNq# x *v*"*##"*+"|L:| *vDMNwy# x"**vDM!z *r*zDM+) +) Nq#Nq:|H`*zDM+) +) N#F^#V`i*xHo# xrʃ?2" *#~#o|g6:ʻ~ʺ͇w#í+~#~#  u   y yG>GO> ͢/dB B0͢L D_y^^> ͢{y0͢{> ͢> ͢ Ңʢʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~# x ~+ xկ2!"hM*}o|g"L>2v1*:e7|g}oeb}o|geba{_bkF#"##ʯ###ž*ð#~#foOF##s#r# yx ~#w    *)}'$.+ʢʢ ʢ ʢ>^͢@͢O*.  OGH  H| } ~ XFCP DZC FCP-4 ZRL'FCP-4T ZRLFCP-5 ZRL%<FCP-5T ZRL-hfFCP-6 ZRL5 tFCP-6T ZRL> FCP-7T ZRLG R vFCP.DOC!X""# $iHl7'C egq n:@c5LS4 F"yo1NB@b< '#h@W4(Lḩc)@p9E3yD2"hj9HcPF!1HQ: 6arO A)LT'!y9 tD2y4Y R6%N!KES78ju3&3M@ 9$Q3A4 &\7+]"v g6E+l*ˍo TsE+vq]M@ZYDl GTnmoEtmG1'!ԵDnUupaTѝ{e߇ D`\ ѽ`yT]{-20\cUT\_wEA"Sn ( O(c"QOcBZ-a!"zDtRzK{$=Q4MWETGV)NhTTe)PaSvY?JXڤEA+g{WEҖ%tQh{GԱpٸBXaWX_҈) Lv+51˕. ZǬFsM;$Sk (W]q+ sBO-W+RaVϖ4}a˄mOO%fU8%cj5R IVSI|_*~Xdv} y~7MVXzIU69X{hoac\|kaB%cZ(Q9tO!-:Gr+ʨ!hBo&U18aC#*"fh}9P&<'Z &P:PMx+/(e!mDN <7x NTܪ3Z<'WC-"ۨn-6Tܑ'94݃5)(2cF$FcAQ  , !C o[b25%Spw`0@hd ,% ewĀbwIhQ:.|P@K@;K.^ %$9$Vs5RS >gKDHi{/21VID^0Š')̻K@aڢ6SˈtKjD8 a )3ras8K>f6f X}r%F'iUdMO6 hg!HP٢8*}-;a»SŢ"S+'fUP@Nc  q3m86nPu u9AȪ$9yGznU͠)B7ʤZ fЗ%l`pj'thHPh8KƃWK*t\a2h:$;Sj-1T`BU Ax~ a$"Zdp:H((( )B .@`)!4" IMu&bb%́ G?(~ẃ́́G ́Non~F(Tý8 ́ ́((́+>́ʁ1!~(&!0#~#(!8= !]m  0#]2~ ́ ́( ́( Á(́(Á:́h l<́ (Y/N)?!6(6_Y ́N ́>́*:m :l <=_:y_ >~́(!~#!7~#  #~#fo###́+(8ẃ G?(~ẃx́́G ́Non~F(Tý8 ́ ́ʁ:]́ ÁÁÁ́(!~#!+~#  #~#fo###́+(8wAMCO%ERHEXNIN\NUTCWH4́!6́ +(>́  G?(~ẃ́J́ G ́QNon~F(Tý`8 ́Q ́ ((́+>́ʁC1!~(&!0#~#(!8= !]m  T#B]2~ ́ ́ ́Q́$!m >?:vZ(Q ( ́( Á-(́(Á-:́ l<́Q (Y/N)?!6(6_Y ́`N ́`>́` :m :!ځ>Á2*)~Á0A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́ (!~#!7~#  #~#fo###́ +(8ẃ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8ẃ) G?(~ẃ́j́)G ́qNon~F(Tý8 ́q ́)((́+>́ʁG1!~(&!0#~#(!8= !]m  T#B]2~ ́ ́0 ́q́$!m >?:vZ(Q ( ́( ÁM(́(ÁḾl<(2:́ l<́q (Y/N)?!6(6_Y ́N ́>́ :m :!ځBÁ6*)~Á4A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́)(!~#!7~#  #~#fo###́)+(8w:/ > w2͊ʷ((;#(+:O "+#͏ ")*Ͳ(:8(Jͺ(2: (.> *Ͳ(()!FCP_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): AMbig COmpr x=y ERror NUll REgs  Use root:IF.COM Z3FCPIF AND OR ELSEaFI XIFQ oXIF MZIF KAMCOER@NUF4́!6́+(>́ G?(~ẃ́́G ́Non~F(Tý8 ́ ́((́+>!́ʁ;:1!~(&!0#~#(!8= !]m  R#@]2e~ ́i ́ Á́M$!m >?:vZ(Q ( ́d( Á(́d(Á:/:m !m~#0 OxG>~08 0 !0 o|g=~ɯ́(!~#!7~#  #~#fo###́+(8ẃ G?(~ẃ́ĆG ́JNon~F(TýY8 ́J ́((́+>!́ʁS:Z1!~(&!0#~#(!8= !]m  R#@]2~ ́ ́  ÁŹ$!m >?:vZ(Q ( ́( Á=(́(Á=:́ l<́J (Y/N)?!6(6_Y ́YN ́Y>́Y :m :!ځNÁB*)~Á@A!m~#0 OxG:l <=_:y_ >~08 0 !0 o|g=~ɯ́(!~#!7~#  #~#fo###́+(8w* J |(UF  s2cͭͪ:E4 (v NO Files Found: 0G*B|> }@ {2  Requires ZCPR3$ Requires Z80$(R"4!67(6 0>8 -2^ͤ"6N #~=2J>2E:2L>2K4 (2\(:2A:>?(> 2M*f,Z~0 +"T: SRP "Pd[Td"Nv Find File (FF) v. 2.4 (compatible with Z3PLUS & DosDisk) [ZSIG] !Q~( /#~/#45v Find all files matching a list of file specs on all drives, a specific drive, or a list of drives. Syntax: FF [D: or DIR:]afn[,afn].. [d..][/o..] Options (d) before slash: List of drives to scan Options (o) after slash: :M?!(!|:L!(!| (-v S - :A!#(! |vclude SYS Filesv Error flag set if no files found: 0)Gv. Number of files put in REG x06v. Auto-scanned drives are: ͪT])8A<>_0y6 v. :M?ʗvAll file specs are automatically made wild ("A.B" -> "A*.B*"). ×!Q[6a :?<2?~#, ~!0S8+Q~% /(*2\~A0^0 [Vm"V#~/( (% #Q~/(% P(%E(S &:\G:A2A:M?> (>?2M:L/2Lv Invalid Option -- ~6*X| *V| *| ![Nd"N>2](͔ͣ*N:]<( =<<?E(2]"N%(J(*8":!"<2D=G( ~=( > :^:] O*.~|:]_<####~2I\>?<=!o~͸2@:?G[6!  :[N:] :: :\/O:!:@"F# ( :M(~?# (G:I8B(:A *F>8$*<#"<*:*F S:*4R82Ev ABORT -- Not Enough Memory for Buffers×*<|"(*8"&*:".&͢ ( # N˹#̀K<x2>*.:Dͣ #:D :L:JG:Kv [SP=line ^C=abort RETURN=page] O> 6>  6yl :K=2K> 6( ( (Â:> ::]A2vDisk --w~#fov :]GA6~O͹  (>:6##~ (6#:6~ > 6#*B#"B:D<2D0v l:K<2Kɷ., !G)Kf! ~!4 ^#V!:O:\>͊ v bk# KXx=0 "X2_A ͟ v2b2aMy2c~: # ~2`: 3#:_(= (͐ ( :_ = :b ѯ2a ~2`:` . #  :c:a #* +>??6  #!a4E Z (s#b G~A8@0b2b#~ ~ ( 8#~ y O 052c-͘ ( #( #(  2c2b~ (# 8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯ  q#w#Mq#w#j  j 0X *f1. , "*f~#fo- "d (~(͡ (F#N+##[d͇ # (~(ܸ #~+( *f)^#V*f|(~*fw*f|(^#V#~ѷ% [z0.+*f~( 7^#V*"f|>Z ̀ (*>O>G>Z| ̀ |  !~#~3ENV Sr*l|(9DM)8481*R8)*j|(*rs#r#*n x "j=ɯ*r :t(]:u W*l|(P"v!"x*v+|(?"v*x#"xT] ~#fo͛ R0z *x s#r#~## +~# +r+s :t ͗ Kn +) +w# ͛ +T]Kn! !0>))0 =  x [j :t ͗  +) N#F^#V`i*p+)Kr "hj !j[h*l"x*x<}E +"x"v*v#"v*lR8*xR8( 0k ͷ ͷOG}o|g}o|g|~#  ( 6 ( ( ( ~y/ 6 ѷ> 6> 6>͒>͒/1>.11&d& ).,0g} |> (0G6|O>͒~(͇w#~#(l(+~#(l (( (80a{_͚o*o*jz E - Exact (no auto wildcarding) E - Use auto wildcarding ("A.B" -> "A*.B*") P - No Paging P - PagingExIn ~#  ( 6 ( ( ( ~y/ 6 ѷ> 6> 6>͒>͒/1>.11*Z3ENVHELPC14HELP HELP H?P* p 1 T *"b2`:]/l HELPC, Version 1.4 Syntax: l [dir:][help_:)>aĭ l fn] Default Filename :  l Alternate DIR : !T] (  * |Aͭ } l :  ]!\ :) !>? l AFN Not Allowed e!%1 \͸ ! K  ͸ l Help File  l Not Found Ɓo&g ]fX A :pZa*bMD!"dfN I x˾#GB < !N 1*d2a~: #r ͧ:`>U b (B ,l Enter Selection J 1 r (.^G:V;(=x@G(0,  0*]#ͧ l EOF on Help File*]#~ (:(2 (.(* #~#(:( ( ~ #+ͧ f~# ( ~ #~: ~ ( ((#( ( ͭ B J ##:_=2_~: ]LS"ZB ,:a<2al M=Menu S=Start L=Last ʹ ( l P=Print J 1 r Gʹ x( Pʑʛ.^M*d~::`l ^=Level .=Root *X>2aW(+~(:a==2aW> ͭ > í a #~=2_ɯ2a2_>A2\r l HELPC 1.4 ] l Index *d~2V; #~:(" :V;(:\ͭ <2\l . "]:_G"Xm"Z>2a~(:( #:_GġH:_Gġl EOI ]L(S(*XW>2a(*X*Zz{, 2a~ (& (#( # ( 8{> {x ##s:_=2_b͝ ##~2_> {> _*Z>2W*X2Wr :Ub1*ZW:a=2aú:((O>! G=2Ul  Printer Off Line - Press Any Key To Recheck (Q=Quit) Q r l Printing g2U)~: :W#X >-{XXs> 2U{~::` r l Node Level Limit #!!]<2`]l Loading HELP File ] ;~#.(!8~#.!O> y:` :` , =2`!]o&))):`(l Level :` :a>/ĭ :a> ʭ :a l : !`."d[d͋f< =(l Invalid crunched filel File needs newer revision ٷ  fI 7*bRl Memory Overflow, File too largef<  (ͭ >í ([[ Z [ h [ *:W~(͑ *[( :͢ ͯ &O[    :g:g gɠg [( %-%( \ . D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|. e||dw  w 0/0Gz0 A(. x~( #\ ~#. zO*|( +~(G  "|("|(D~!8? ~2#~2#~2_ :O _  Y !6#s#r#6#s#r# 6#s#r#~#\ #!~Z #~3 !~ #~(   Program Requires Z System$! ~m (#͹ ( ~ (. #~? 8#~#? 0+> ͇ (~(## #F#N> 0:8 A[877?t  *1$x "*|(~#fo͖ 0x *0~_*)^#V*w*|(^#V#~% (G! N "% CK Y ͸ X͸ ͸  ͸ OG>C > > >  rr# r ~#  ( . ( ( ( t y/ . _> ѷO >&d & .,0g} |> (0G. |a{_!o*oCopyright (c) Steven Greenberg 8/31/86 201-670-8724. May be reproduced for non-profit use only..">0g">(gR"|gs!u[R"='v '(> >>>7{ɯ' '''' ҪS:!>8 *:̈́:(:*9:gk~ >2*:̈́~V|g^z :|g~|g~2~g:gOD~(|0g~( G|gn`Ò`/r|gs|gqK Cx>2!8'W'2::::_ '_:Wz?!"!̈́< *T]>w6@>*w}eo0 $: :g:G}/< OT]>(*:GzGK>+|0gr|gsBO ,L}Z8 90)))))l <S.!>8 *:͏:( <2S.*:{('!"2<> 2>2>2õ:g*9:gk~ >2*> 2:͏2~V|g^z ˪8|g~|g~2͋*:g:w|gs|gw*#"#:'2:< (2>2:G:O!y2z={(('7OK88( OC1Cɷ(=G2y2y1>C1d> 2!͏< !͏2*T]66 *T](6*6G L~(ͯ[r|gs:gyg"[:W|0G>2x L~( : V|gn:gn "ͯ*|[:Gr|gs|gp]))))o{g:g#["!I  U|g~2͋*:g:w|gs|gw*#"#:'2:< (2>2:G:O!y2z={(('7OK88( OC1Cɷ(=G2y2y1>C1d> 2!͏< !͏2*T]66 *T](6*6G L~(ͯ[r|gs:gyg"[:W|0G>2x L~( : V|gn:gn "ͯ*|[:G *Q QHELP HZPqq IF HZP qq@@IFCOM HZPqq@@MENU HLP8ч@DPRCP HZP;5qq``SALIAS HZPp vHELP.HLP W ' W( A@@@H" <X@4i=Dse" V2fy Ny^L0 3s9c1s5<2I2!dB BZ H1 gqx⠫E4T4Gapm6MAo;Li7GLeO%t@2R cIAp̜a1 'hP :w,LMoJEM[D M!b[+p37vi{0r1M%KVx0GP8 Ay&})Vpx%q~kT,i6ŠB! S@u4 }"fh.\ h0c  !'dѤtOF@BHѭsܗ)`Ur'AaFFua&x [wbFV0orBſ!RRZ BJpVhnY A_琂{rPA}'nʮR jIcj!aԀtG$۱$\VPxP,hI ([ipbCI-KZqE P:[ JLd .6i$}+W~}lPZa>7vIF.HLP X X( A@PF!#)d2@(I#F(,0 )OFXIc9e"`V2&t`A: 󐼘a:DIuCI!H `V$u}  Ё@SHutHFhaOJoñPQMAfI@֑%OtxѳVtPE&ׂK B̥mdo_t;P!HOGuDP5yEYr"O4=D /M4D E$S97Gwq= xvi?;Ӗ|4IW<$WIV7{}\.hئk.ʐ4wˋ8XPA9&x8*[xyΈ&LB yam[wMi9FAP!FL$x}pM!,eBAܴ(jlPlpB, }Q DžtRdB/|C ⻑JYC `FVԏ)` AdzYS e-EPQ"5* 'aH-X k@y<:vB0N.hb e _ as1L(j$oS 0q@l`yx]iͦ&V,H.Y1rwOTag5uz\7Bh a-i(ڝ7AedtBPZskYF` ޼Q>ډT49E!2dTMB*zwQ2R" h0yo B*M:4%9M h1U[5e[-{VРMnQ}r垑l^|ZDѢ"`-5T灅;dNbK-Ͳ $j& Â*)T(I0A '7q@\`d"R(*J!@*RCbO(ghM]Jq*juO*ƛ*z*g":4;i$ۊo(-0`(eJ0)"pD$FEO a;>iN8'pɸ7`Tp?@ ^FXD! G `8-`F( pAXq~8 vIFCOM.HLP# A@J@ $2y4APH$@NCA:'Lg21s41\5 &d2C  hf4c@2atNC :R!p9hv&Sb4NG*y6sQ-+Ln:Ox0N fNrU@3Il `wV C,,~t9u7lXo:' ʷ)Db@Zrh|Y6xAp'm&l5TA>2Lv)5ia gU !TE`f1FQuwAE61a. Rߧp xF4xe Bp_jX 0SaY IVH}|Vy[ *Lbx2MFĜF o$EAc< zgn|;_W!Y^i d yh gQUr3ydIݿWO|hP*la~^Ad!̔EaGklu4eLnIv#nyRq̎Io+ͳ pFW}. \c@2kf%cC d E!1yh( RDq$SQH#bz€ϧxP8DEA$O|UDQ8T` I傘BBtqbmFQ3u5OlG'꫔mguǔtƄt(dijrg<12R^{7saOE3 5HQq M3Đn0@ތ3=軅p~ZIB(Qxnl@fUI>'9e(Ԃځ2)GMPvI (@'$@¢&G @j] pCHr <Ԑc|4.=BE@nI 5' U *>Z/i.v<8GC61>Ƞd ҹKA:#DCj)'lP@Dt + $7N (b'@d<RYHF\:>2!H!MVl8gfCslHAAED ӄ3PBA?uIc]SRdC)5)aY3]rq`Lj-PbP(Dy #N($M uPJIQƪ_m%BhB 3@3R+IV5UhS R^]D0B Wg_+5V)RbhQuQ9B a†`i1eAe Q IgloSrT2UQ܆bT2*MBhP eW`X ݖܪz|ϩ?*Jzh(&w=;m۪iUF/@RX-fo1cRڊ,]`rA$b[51h@3%+3JݜethMaOba֟O.O)f"X  Or+Eˉ%ĉeWBpP (-0ʤ<ԲV5ˊēEfJ0'"-H|֕VnDeRN_> lܖ԰/RJ1D9ZYKR)}wq3w)Uz\hٟIYQy8f2C "_azvNA>Z\R¥b[ã@7? -vh|C3cwZ'eM`?$6!-DXPSSzxp{\y/ZGTAWWvpU{'Z'ZW^ s΁0EL0A(`[1+ap3T2|"iv im7bABDM~3BPQH:Dh2s.P19ڀ}X-HgX?hA1$M4P'/+d`rGa,Gr`j}h-o71w1dJccډ'v*k3 ,"i(jyGytIG8yU2Sgzu-u w|3Wp7fRrFl"&o|K|A|Zeeڀuebw]0nRDx;v1w<-3(r_6'ׄ 5UEy(N#MWcqP2YtQ =5JS6#ibE<++A,b3?BSpS燎.%7rNuqL)PWDG: pR⑤oxFr+ G:ʈaB軙ƛNRiM Q2@TZLς ) B 4hQKpl ao k+T4oݞe!(Aʴ4Ko̩Q?J! dh޽[q+3짦5q,frp6nӁw(fNkQieꚩ.Qu䜩rJ\ e&\<@rn{LgS\۪lNJ1/_/7TE~ ;*vܵ)5 p䪙qB9fz`*ŌW 䩨W>(BZ0;>]1fk*)Sc!KSAy-P∐$`dH9yõ.^ -9>E~r!y/njA: [0B^\;M Hg Mrʄ9#xJE2]M5@ԃbxjP1y.`3J:+倦![fBhz*o95"+ En RB Nh Ä`f`6HDl@HFUd9rFȂA%aLdP@Hk4bB,KCo r ȾC ςrYT-5ɠd j\yR׬5 .ǝ0sTK5 BJhԴo&\nj8,B ʚE%$PDSED)=+E_i, ܠ7Z Zl*TzPBҀ AnSXnH0@ZU &@ m|iP2Ƚ _HLZ<pl/5e'J~p p-&c܇-u.v-zҪ n![pλ*H;LuBbE.:LFKCl-wTtx ؋A0 ˇN(mi]um( ,"tl<t@'@J, MJaLDPCeG6t#)Nwb- ݚ-릠*!mWUTme2 >^ 6ke2y"[Иڭ !@*4r|AʐeY-^\A?xpE7N:¤j0\`RR𪅸exf6(:·n4i`,(2`S2U/$IeXR ca-›2Ãsi'+xkO]"/.'ARN[zCIrA3cfy_- \ `Oc9p1$oV1_Ry.@t_́8=g[.2\`b ֙˴]n:ݴb rE!w.C,ڔ|hԌ" XCxh.x\Q|0^(&M5mT,Vy+q-9-E|J bĦ=fz#0蟣\ż߅[,n'[3{ a ZZfJDR9Gh`a@FR(ZdQe5 CЖB@ ʓ ؾŞrFT29J@P:b% + (Lzv.k oђqGP(2"ʄU,LŦ (9( 6h|'&:Ch@@ 3D @A `D Q&dB& '@#,," F9 -X^nZ`,"B/:#8+J  RI$DR#R\ DHh^b!)Z @X>1(rh0vҐ C"2o" z?G1.#"*^3.@&biՅ&U4 fc|[ o `崔eh(*c-˜nF6y1~ܹBh :<%4!S2Et@\Ӡ9+=ж pC?12,3*| b 6VLVr>jڊQ^WZ"g$ ²cSBeKD@v,F_woF*gJ[М\ xB# Vݦ%UA_(B?G Dl)q . 6) 9 D6Ch7u?- 2PFt*FS % @ 4tn 35IZe{t)t9R!eTR*5 $)Rh[Ti6uNFڅ_(qUTvH. 5Вݴ$z` .%B'L%UNrђH12hOm.R[BM0ZHed @V[Pg8PSzHiGd0 o&HfZph P?UFb䓚 Pu;"0@h"V6bcFgcd ,v1L :Uq<Sη1=s2  =e27>f!ND(4v֖iPȢڍ b&ԟQ|JCF\:Y(R%@p(fH1obU=v!2/KK2<`g>eO4r;3ꮔV Zh"KkeVxal&@%l؅g]RrBOj+"2tkB\_@3$+֥E*ЅrJBZQ e`f.H70[_@UZbn`\cU@bApea)2j |X@E Dwx Jeeʃ<]_8BB&s/쇆fP~;z" BXFvF^I5'Vt{@+j`K3׋X WXpz}(RIr;K86*^5{1D[ `wo*)3j 8\ 8v7u脙Lwuxr+Ԇ` 㿒8N a d]'yPeӦjS:׏z5BjW@ ) L I(RDE҄aқoq MyGۖ9UY[BYC|޻8ō``h@kYH7Y A`9oW+#"-:Kn/ h C)yt [2נRcSy6ݏgb%JGaA8 Ox X?_A9O̓>xBbntQYDZɫ 1:mgÞ z)%@d:HAMjSj0Kk4UW)$SB+雥99UF+`?f ےJЛ%Zi)"S {M3ɺ&\jgw_QjNfh ] D`QD[D @D,^؛:w*Vvŵ_;߯n&EPo!"gAiQV&zF$< zY6U8E-ЧpE) &SGU fZK#%:AHC0@b@F.cؕQfvFu:B7kzηbT /If lS;S*FdȌL<"G.0is)$ `5*(<!&.CI7$NBEp *J1<&rF^Ydcg$'D_ƭ::Tz[E4GT5n-^G4hJMVft-Q wև n̽$ͽ[y3>xvwe~}Ϣ<&)NLp2ҾͲ-wiG U(b oP&RΤdJs ZhT@2jY8f0nb1%. r3hN Zƶb+>;^ @uot Du춤i3˜He7USd|S~Bb}lBbHu@@ Pf'v ŒP|TqUiњn(P|e(ۮ1`). d ;p" b7M`+(,? 2H3$~bX`HZI@U_<^Ħp+Yq}Far]MwLYȅuXI196s|2hBuq 48g=dzطK,IΪ"AN`D`zՏ)oݥ􌶴@\YnΜ֐2 Gh `t%ڝʄq8n91d=©Ӄ@ˌ%ץz@ {{ ̯9>Ǒͤ ʩpqY٭ݑ_&=N$"D̻?K`2L(WC)* Lj7@Mi Tף0p+b&t)OB$5^ø6FKHC€3opdL@VQiC ;HHh;m'cZetN1]* ")~OI {%Eقb Qog'}lߢ/2HOe-<*ҤҢH 2ri (Uo@Mq%mh 4HcS([JE>&" *bK3.*366DJ9>8KO=(;*HCa=s:>ڕg#~R@3A|A1A²T:T F rGb%Hc褖$NbjI^ħ#_1"lU@ߢ7WA QAf9QGvrMc֠^RzEH*gpȐ_K"фdrF8 cSI}چ)1h`}_(E) 9 (@|A vALIAS.HLP  V # APQ@8A&H-1\5B -! )i:b@X 1Ԉ$!ͦ BYs$" &Ӂsh)g@o3HaZi059p.+Ae*ɸa<W<[2NCA7Sۙn1 &u9opO)DhҜg#I 2y :eGMiפh(PeF^ P8{d2{7Q)팦 1kT-/RPF9`gѼryAleo{`mʗlt;ݱtvƗ XQ vBFaeWFcF!uiakFBU~XvzWQOq`bH(Vݹ`Fa+vZ9Q@zQRFtn9e= 8&91HP:?`ڍF7R 1DZXsVsPG7lME3R+摔mtFMLYCބ2@@c5r* i|wUB9sn&ߤ!bp!ؕW c' ݅)5f6S` 1TBGlvZE Qdvt9,"qꧦrmT(.8(P`z9W˃IQsgGJ] ŷ,H 3j5e֗h]!f.n 3Jmf56H*9eZҼ2[U)P$12 Zs~WmoXncUDt'*5c3 _w"Ag\!Y/vd ]@5֗š V[ t1.@ Y'A $A_DDR5aU{GtIФ̓(($ A.^2@B a嶆S23;!EMB5gòf7$M*t^^1&Wnz T:q|hЕYӽ & Fg! %Oo,<J@. iT\Rz„acC,s6H4x h cLDFt=X%@CWBj(T$&FL:|.蒩ZI/kT9 $xwXgs0;Tv(piMEC3;v6e 2*%nMʗf R HAm2VMР DAUk((ߒҫq! `o\ E Y@ !dB8(8 +d \B=htlTV ޕ Gד?P}hFMA| Ex'a`b0E 31> e]s.La2 `*0%u8T`WI,i%Ab[@eKdq)}3m bbi`ڍ8dTb=QQRh *R(h2]ڥ#@2dM 즅iSdFr Z| &a ,3t v42`%v^QX:tH:A[O%>U))%l)^TtF "ffXe&~ew`bQUz~I@B0FU$4ru:mͨwc4!;P}6$ nUDBUM¥Pbĩ*8ފ#: ~$ԪĊ9Ctw+{=賬:Bu~{i#:"\' k-;vڟT겑INTEN) =ƺ 򄥒lAlFlH=Dsi}nG5FnI44Ho eoAiodIVqA%Lp PqFqjGj7j7h7o+Jh/1qn"KrQrxr+r.i7072h4h779w<?P:Q}@œ}Rh 312:.'sm&NS_>Sr$'Md?%R.5X%(qla0M yP. BLxX% Hxo)9'/Tg!R+:@$;蠋dkh{NBRtPY.Mok. MR@"Pq1Ito"6ؘ‰m#Xm! (+SeTœ'R#Vl%ENR)zMf#_A:l3QU 9"lpI*`w@m7:&s`PG ="/+OUII5'&SEQ$0Y:wlN!?U*^[[ly4X@II`C 2BHj:a$-R`cB"kㅴ.%@XNpJPMJ0~6 lpZ3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1ǚZ3ENVT F AM#ARBGCO3DSEMEREXIN:LI@NUPA6RE=ROSHTSYTATCVAWHZEEQNE GE1GT LT,LE<> >< >=1> < ,<=s(1(͎2!͞T]~(M<(>(~(+#~!8 = !]/(+~ bͭ(͓ Bad IF Condition͓ Z33IF 1.5 (C) (Type :0a ͓ loaded at !C ͓ H) SYNTAX: (1) IF ARG1=ARG2 (2) IF REGISTER# [VALUE] (3) IF CONDITION ARGUMENTS CONDITIONS: T, F, AMBIG, ARCHIVE, BG, COMPR, DS, EMPTY, ERROR, EXIST, INPUT, LIST NULL, PAUSE, REG, RO, SHELL, SYS, TAG, TCAP, VALUE, WHEEL, ZEX EQ NE GT GE LT LE <> >< > >= < <= Only first 2 letters of condition are significant. A leading '~' negates all forms except (1). (T ~( 7~#fo[*X ##BGiiD " |D  þ(8(8,>0͓ Bad register numberW G͞ʹ͞,z{=( >( 8 ((8þx 5͞ʹ͞x 5͹Y~O#=>(<('͓ Bad operator>< ~=(<>=O#~=(>(>> ~!8-~(?( # (þ!m >?(#:vZ(Q(~#!8, ~!0 ~(\] ʾl] !e6?#!]ͧ 8(#,x( 8͓ Bad tagS!"**~ʾ   !5"!,"ʾU \] F\!c~¾ƀ__ ~#,~!!~ʾ>2z> a > a ? :z(x 55#~( ͓ IF True? >( (  z - D T(#Y( ( ("(,4  : d  : l ͓  IF Overflow͔{(͓  --- Setting FALSE if State!w# ͬ͞͞~x 8Cz͓ Bad number:\ <=_:i_ bkE Xx ~!{ 0z CW ,ʾ͓ Bad register number! ~F#  > #~#fo= !m] #l] !]m ?(O~?(#:/2ɯ=2T_^ _' e k% _<(> 2TOA8[0 W>y za ~#*5*7z*/:,W~(ͣ*A*9*;ͣ~( #\ ~#a zO*k|( +~(G  "k|("*|(&~!8!, L L F !,6# s#r#6#s#r#s#r#~#\ #2f͎ r v2i2h| y2j~: # ~2g: 3#:f( (h ( :f  :i ѯ2h ~2g:g . #  :j:hͤ * >? #? ͤ #!h4 (s# G~A8@0b2i#~ ~ ( 8#~  O 052j-p ( #( #(  2j2i~!8=_.:,<>ȷ;ɯ~ͤ (# 8Wy888 8 8Oy70 ?ɯ  >  | y >G2   5 >K > 0X5 t t #~((# G+~wGO> a  a .  *. /:g ( a >^a @a  0 Oy|N }N a a . g O:gw 2o~08 80>2o#~O+~G:o(VyH(X(O(+Q('xB(4~D 5#2(~#H(&X("{7X~#O(Q(t~#B {~080 0bk)))_#{~08!G0:8A80 8))))O #{~080 )))O #{~080 )O #{~(w#~#(Ϳ(+~#(Ϳ |}O !y  a{_Ɛ'@'  $B@$$$ $IHD@ @ @B$B$$@@!$D@B$D@$"BH  @H"@ A@@H@AA !@@A@  @ @ @@@   H@ @$@$H@@@@"  $B@$$$ $IHD@ @ @ NZ-COM COPYRIGHT (c) 1988 by Joe Wright NZ-COM(tm) - The Z-System for CP/M-2.2, is copyright 1988 by Joe Wright, all rights reserved. The NZ-COM files and the NZ-COM User's Manual may not be reproduced or distributed in any form. A licensed user may make backup/archival copies for his or her own use only. Z3ENVQUIETIDPATHROOTSCANCURDU JetLDR for Z-Systems (ZCPR3), Version 1.00 Copyright (c) 1988 Bridger Mitchell st$1t$/K (Rd $}2%$>25$26$ }29$*%$3͇" S":!$(* "~#fo:2w###6:&${t$9c 2!$go"&$2$I":=o܆ !v$w$62#$* !!|2#$![o!/"$!4"%!"!~!?"#('*%/*'"*."-"'""*>2)>2,*o,F!)"/*$w#w!'[#*!~6!/[%!3g!5k:(":(2͓!(~(++##~ +~2(+~=2':'G:(O]"͌ <:$ ʃ ʗ  ʳv$S!!$E(Gs($2&!'>@(a@(X2$$"7$g Uj(PW Hg (C"$3ͼ 8Qy21{($:8$0( S!  d0!!$4:!$:0$ !#$~6+͟!k(@ (ʺ((:0$ (  ͌ :7$>2$@ (ʺʏ(o:0$ʏ ʏʏ  ~#fo"["5:7$ !'G ɯ2$͖½!G""!!7>:$!'a¥:$<2$(ԯ~#ٷS#C%:$((X>TFy20$ ( :"$@ (1ʺʏ   > ^#VS1$͑*[".$!G"*"*ͬ 0Y*ͬ 0@*ͬ M!~ #("SC2S(͛ named-common error code: !#͇" (bc,de,hl:) *G*G*G͇" in file at offset:'RG͇", last symbol: ͍"ü͇" #͛ has bad/unsupported op͇" bios addr. error at 0001!&"*}(q."<$":"$( *P".^#V S[*SS>$[oS !N#FC !"N#FC !$N#FC!N#FC!&N#FC*":)2*"2$*<$ZQd | * ##~2$2NZ-COM*o""͢!f!_!!R ͩ#͌!G|( x *'"":)22**":,2*-"2!s#r#w!"$* ͌!͢!_!͓!u!f!*$[Rz < #"$ͻ [ͬ [$ͬ "$d |(Pd * :0$w!!$4:8$( :7$(>!͘ (4!͘ (*!͘ ( !͘ (!|͘ ( !͘ (x20$:#$xL*G" !+ (AxG!ʘ !ʘ !ʘ  !HØ (-()![= >0[# ##!G~###~#~0@ (ʺʏ :0$ !gG!"*$",$ ###G!G( ~###:0$ !G (#og| >22ÿ~2;$:0$ :#$(!G~#fo"3$Rz͊ :0$  !G#"3$^#V#ͪ 8EX(%(!!"$ 45(EG 45 ;= ( (/!G~O#45(# "3$^#Vͪ 0*3$GR#>22=  ^#V#S@$f.<"B$|+*@$ͬ 8*B$ͬ ?*$"1$:;$G:7$(*.$8BҢ :$$(ҢG8@ (ʺʏ(:0$ʏ!G:0$ :0$ *. 2&$ 2&$:0$!g!u#Z#~?/#~+/*$"$*$ [R0 "$*R!͢ #z{g.<)|ɷ&o)T])))#)}|< ͌ 0!"$6w1N͌ ."P.) .^#VS."͇" Z3PLUS not in memoryú:GN>Vz>!\ d b.> W8>Z3LDR #2$͌ Ϳ E()>Ϳ E(:$(ͬ ͱ {8ͱ  ͌ :$_Ì :$! %<=<<=)ͩ!C$xl ͍" ͌ K$]":$( !  ͌  ͌ <(  ͌ 2#͇" file: ::$ :9$( Ç"Ç"!$F#NxA2#y">:2# > 2# >.$! Aē $ 2#͇" code/data in common segmentý͇" No active environment. First file must be .ENVñ͛ is ambiguousý2:$͛ not found2:$!!$4͛ error seeking to member.ý:7$(ý͛ is not a valid typeý͛ too large or package address error at offset: ý͛ is emptyý͇" _INIT_͇" _CFG_͇" _ID_͇͛" is too large (symbols?)ý͇" Insufficient memoryú͛ is too large!!$4> 22ɯ͛ not defined in env.͛ is empty͛ error in package id͇" ͇" not found in library: ͚!!)Í"/(͚!͇" Syntax: JetLDR [du:][library][.lbr] member1.typ member2.typ ... or JetLDR [du:]file1.typ [du:]file2.typ [du:]file3.typ ... ENV - environment FCP - flow commands IOP - input/output RCP - resident commands NDR - named directories Z3T - terminal capabilities ZRL or REL - module in SLR or MS-relocatable (REL) format with member name: RCP, FCP, IOP, CCP, CP3, DOS, DO3, BIO, CFG or BSX Notes: If first file is a library, extract remaining files from it. An ENV file must be the first loaded. Preceed special modules (DOS, RSX, BSX, ...) with appropriate CFG file. Use Path: :;͇" Root Only: :;͇" Scan Current: :$;͇" Explicit Directory: :'G:(Oɷ!G !KÍ"YESNO: RCPFCPIOPCCPCP3DOSDO3BIOCFGRSXBSXENVZ3ENVZ3T NDR RCPZ3RCPFCPZ3FCPIOPZ3IOPCCP CP3 DOS DO3 BIO CFGZ3CFGgRSX UNKÍ"j &k'G7_ID__BIOS__SCB__BDOS__ENV__MCL__MSG__FCB__SSTK__XSTK__CCP__RSX__CBIO__INIT__CFG_G&kg&kg ɯ>>> >>>!;N{B*D!F2726"SCSCsB"D͉(¦G ͼY(ix^kz(O;G!F͙q"*q",͕X?:6*">*"<[7x s#n7)HqxG80!SNFqq=[.([0)vq"`q"b͖og͖!S&K*q#"q1!Sw#< +w_ S8!Ͳ Ͱ!:F w#Ͳ(:: u#|##Ͳ(4=(N=((-(#(f=(jʌ=ʢ=ʭG!FS6Ky<<*Ss#rKy<<*S^#VS&*S~#fo"(", ( [2( [4([("*!*[>297;[8S8_ͲͰoͰgͲOy=[.( =[0([&!SͲOWͰw# y2;C"<*|( ~G(#[< ~# ~# Ʌo$ɯ*[KF`"SCͩ2:ɯ2:!":6 hg)DM*_*"<*">.*"@`iR*@s#r#"@2*.[2*F*<N#F#"<*>^#V#">>2o͞"oͷ~# ( (, Z#~( ͮ!o4*o:oɯ2o!F$!$:oG0*oZ# " ?2o2o2o2o͞:o("! ~   >2op" = ":o(GVGN q&p%6]"͌ ( w-s.r/":o ʹ w,2o͚S":o ͮ:o*o !o~=2o6( (!o:o(!$G~+ "0Ò:o<2oɯ2o͟œ~œ #> #œ^#~œ#^#Vzʜ)))+"o!*o|}+"o ͟~(<T!$:oG# ( 03 ~w'#~w(#~w)#~w*6+!o4ͷ w,2o͚ ͫV&F%N&]"! #͌ ͌ 8>2o2o=2o"o!"oͫ:o(^[o͌ ~'w!~(w"6#!͌ ѷ( "GOon)f*}R(0!>"o2o "o8>2o2o0b[o !!o4:o(0:o!o~6(,*o~(:o(ͷ :o> w,w,2oKo*o:o_,͌ [o:o(|,Ì  ͌ 0ͫ͌͞ ͮLBRRELZRL2oJ#Ͷ 7:oɯ2o2op"y2oͬ~2o: 3#:o((' ( :o :oͼ ѯ2oͬ~2o:o . #ͬ :o:oc * >?#?c #!o4W!(s#m!G~A8@0b2o#~ ͯ ~ ( ͯ 8#~ ̈́!O ̈́ 052o-/ ͌!( #( #(  =2o2o~!8=_.:,<>ȷ;ɯ~c (#ͯ 8Wy888 8 8Oy70 ?ɯͼ  > p"yp"CoCo͓!( "< ~(D!!##(Co]"߯=Ko]"Ko%}2o͓!:o(D!##x y =Ko~$(=G#~+$O.!!!,!*o"~#fo-!! !(! !*o ^#Vp"|(~(p"$(G#~#$(O*o~*o^#V#~ѷ"o|>Z '"(*>O>G>Z#"'" |E"-"!~#~3ENVp"CoKo]"Y "X"" "OG͍"~#(9 ("$ ( ((({({G>G_> 2#&d"& """002#|.,0g} @(> 7|!#}!##2##2#. 8#O:gE#~(#w#~#(#(+~#(# oF#x(~# y!oͩ#H Ͳ# HͲ#}|8 O !#y  a{_Ɛ'@'!p}($.OG͍"~#(9 ("$ ( ((({({G>G_> 2#&d"& """002#|.Z3ENVLBREXT33sX!1!* P" 2 L* " p͟$$" ." G|2 ![ *  >>: c/LbrExtract, Version 3.3 Syntax: ͣ (#~ : /LBREXT/ dir:library dir:afn1,dir:afn2,... o Options: U - : V/Uncompress squeezed/crunched/LZH-encoded files O - : V/Overwrite existing files /Don't 8C* ~():/ ---> * o" 2 <2 E!Z!F4: (N* ~v F#~#8?2 w#w#: <(+~(' #!~ /#~([ / 5K ̈́4!1< /Directory full!: <( <`(< (r: |* 8(? /Not enough memoryTG2 g" 2 g: <(<(<(ͩ{m͕{/File expansion error/, deleting partial output file ̈́5!ͼ}̴~#͞:Z!=2Z!: DK ̈́: G*  . .  $2 y2Z!ѧ(~N# 7Ï : : G2[ K ̈́x* 4!W( .W$. /Disk or directory fullp{D(G>K B)D2* ^#VlR(/CRC Error 4!("! !:*!(!.!$!4!!!͢K ̈́ 5! ~(U:#.(> K xA:y>::!: <(6(1/ File exists, overwrite (y/n)?͒Y ͅͅ" C !! N#F!ͪ# x !~# -~ ($*  ̀ [ : (S ! 4ȯɷ/Abort requestedpOF##B(#s#r#(P(y(x PB(~#w ( ( =: ( ʅ  <==|r }r yr xr }r LBR:!S(D ! 8x g< 4 3(S(D !!) >S(Y (>D2!:!S(#3(K ("!i2!!!y b= p| 1} 8&08@8!""!0p|S(D(>R *!>2>1>3>g"!^#V#z(X!R8Qm R8(>! ^ R8(#<r `G}ir OdR0}r w#p#q#AI2!"!>B (.͑ h  :!_*!>͑ (h  <2!  < :!(!'  ˾ ' :!( ! !˾  < :!(' !! s#r!! ! ! :! w" !! <ɯ' !!# '  8x z  < Ͱ2i"þ:i"Oy:GGy!!!TIME&DAT*T ||D " |D("T  0 Oxͨ !8 !  ,=;<>_  >  + +###~ ##~0 ˞Ͳ ###E}  2j"͙Cl"q :> &#:j"(ͦ & & Ħ xy2l"̓ q  ~. #w :l":k"ɯ2k"e (#* +>?? !k"4e ( #> ͛ (qKl"i!8bUA8G!8!!8^ 8JO}o%  9M*l"B(,ͪ 8* 8$*n"|(~(,~#fo>=) 0Kl" (#Kl"($(G$(O #( 0 ?~_.,>:0 Яɿɯ̓  q#w#͙q#w#. $ö , "*n"|(~#fo- 0x *n"|(~*n"|(^#V#~͙(G! N̈́+[z0*n"~( 7^#V*"n"|>Z ͆(*>O>G>Z͆ |!~#~3ENV##++>/:~$N_R8 (x y +| . x 8 }"p"!!N#F! e(# x "r" ##t"*r"# !~ #[p" ̀   !N#Fy( p+q+F+Nq#p(!!6#!> '> !~ #>  #~##> !6#"~"!yg)0>g>!or$s%# !"|"[|"O*~" ~W$^S|"*|"͙C"K"̈́Y pXpp pOG _ p>!!!s#r#6y>y<>y>>>y>y>y>y rr# 5~#  ( : ( ( ( 7y/ : ѷO> :> :͘:ͨUͱ/è>`>`/ >.:y  :> : &d& .,0g} |> (0G:|͒:͖:O>`~(Uw#a{_ho*o*.:g~?(O#Ɛ'@'*jɨ"8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. :>9>9>9>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xH!;s#r# x[!;s#r# xp!;: N#F#~#~# x…!:s#r# x¤!' :vs#r#s#r# x»!"% #"*# >>̇*m)~#fo"m!;N4#"F4#y#xy#y#x++~p+~q"S *m 2`Nwy#2aFwx!' yxs#r_#s#r!' yxq#py#q#p!' ~#fo!u!;^#>ڧ>{! w#w~#fo#|g}!; w#r#+|•!:v!;^#V#~#fo!; +z+{PY}O|GB!; T]+~+ x"! T]+~+ x8!; s#r! s#r+| ! ^#V!' q#p>ڇƒ>ڇ#q#pxd>7Ø >2"f7Q2"2v-2- 22!( >7>222>!6 # x!|1}M!qzW:}}|2DḾ#{ozg!~w#|g#|g xW$ >N ڔ Ô> n&)))))ڹ>ü)>?o*oDMyx) N#F! |g}o"m>272>goWo&!9";!q*#{zM*;+}|I}|Nѷ7"!rx N#F#^#V#! s#rW;@Sh;} ' % # ;.' I' c' z;;;;;0;DLg' n$Yaoͩ!"5Copyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only.""s"1m!["*"qv q( >7{"ɧ q(8%8>>qOqGҟ*"  x BqOq!!!!G:"G6,q,p,(y/,w,,DqG7*"BI33ç88 (Oͅɷ( =Gyͅ>ͩͅCopyright (c) Steven Greenberg 8/31/86 201-670-8724. May be reproduced for non-profit use only.."">0g"">(gR""|gs"!u["R""ͭ ͗ v ͗ (> >>>7{"ɯ͗ ͗ ͗ ͗ ͗ mS";Vͪ!">8 *":":"(;Vͪ*"9B:"gk~ >2"*":"~FV|g^z ͪ|g~s|g~2"g:"gOD~(|0g~( G|gn``͟r|gs|gqK" C"x>2"!"8͗ W͗ 2"::::_ ͗ _:"Wz?!""̓!< *"T]>w6@>*"w}eo0 $:" :"g:"G}/< OT]>(*":"GzGK>J+|0gr|gsBO ,L}Z8 90)))))l NͬS"An͞!">8 *":":"( <2"S"An͞*":"1 {('J!""2"ͬ> 2">2">2"%V:"g*"9B:"gk~ >2"*"> 2":"2"~FV|g^z ˪ͨ|g~s|g~2"*":"g:"w|gs|gw*"#""#:"'2":"< (2">2":"G:"O!ly2"z={((͗ 7OK"88( OC"͡ C"ɷ(=G2"y2"y͡ >C"͡ > 2"!< !2"*"T]66 *"T](6*"6G{ L~( ["r|gs:"gyg""[":"W|0G>2"x{ L~( :" V|gn:"gn "" *"|[":"Gr|gs|gp]))))o{g:"g#["""ͩ! "  U4Z3ENVLBRHLP19HELP MENU HLPFILESH?PLBR* 1=T *"2:]/k͞Lbrhlp, Version 1.9 Syntax: V͞ [-[dir:]library] [helpfn] Everything in brackets [] is optional The (-) MUST be included if Lbr specified Default LBR name : % ͞ Default Filename :  ͞ Alternate DIR : !T]m(  * |A}0͞:  (!r~- 2]#!%>!0l ;!m K ,l '͞ Library File  ͞ Not Found!]~ (- !m~ (? !,1=4!-!,e(&͞ Help File ,͞ Not Found:Q(1Z0 *MD!"̀9 Kx˾#GB ң ͞ Sorry only crunched files used with this version."1=*2~: # v:>m  ͞Enter Selection ͧ ͨ (.^G:;(=x@G(0  0*#vͷ ͞ EOF on Help File*#~ͨ (:(2 (.(* #~#(:( ( ~ #+vͷ 4~# ( ~ #~: ~ ( ((#( (   ##:=2~: +LS" :<2ͧ͞M=Menu S=Start L=Last ( ͞P=Print ͨ Gx( P`j.^M*~:÷:͞^=Level .=Root *>2%(+~(:==2%> > y#~=2ɯ22>A2 ͞Lbrhlp 1.9 , ͞ Index *~2; #~:(" :;(:<2͞. ":G"<">2~(:( #͡:Gp:Gp͞EOI +L(S(*%>2(**z{ 2~ (& (#( # ( 8J> Jx ##B:=21##~2> J> _*>2*2͑ :11;*%:=2É:3(O>ͻ G=2͞ Printer Off Line - Press Any Key To Recheck (Q=Quit)Q ͞ Printing 62~: :#' >-J''B> 2J~::  ͞ Node Level Limit#!,<2,ͣ͞ Loading HELP File , ~#.(!8ͨ~#.!O> y:ʷ :  ÷=2,o&)))9:(͞Level :0:>/:> :0͞: !w ҷ=(͞ Invalid crunched file͞ File needs newer revisionٷ,̇ ~9!7*R͞Memory Overflow, File too large"![ (>(s71wͫ ~ v ~ (>> >>>7{7ɯ~ ~ ~ ~ ~ 8( So 8> !>8 *:. :( <2So 8 *:H {(% !"2 > 2>2>20 |g!9 zgk~ >2*> 2:. 2~( V|g^z ˪ |g~ͤ |g~2 *|g:w|gs|gw*#"#:'2:< (2>2:G:'̙ 2z={((7~ 87$ 88 (O͕ ɷ(=Gy͕ >͕ > 2!. < !. 2!66 !GG(6>2GG͓ L~(9 [r|gs[|G0G>2x͓ L~(: V|gnzgn "9 *|([:Gr|gs|gp]))))o{Gg#u"!   [M[Oq [Q [Sq *G:DW~(*Y[I( z :E - &O[]U U U U :Cg:Cg gɠgj [[(| %-%( \  ͨD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g| e||d  0/0Gz0 A( x~( #\ ~# zO*|( +~(GF L "|("?|(D~!8? ~2A#~2B#~2CD:AO  !D6#s#r#6#s#r# 6#s#r#~#\ #!~Z #~3 !~ #~(  Program Requires Z System$!N~͍(#7( ~ ( #y~ͽ8#~#ͽ0+> yͷ(~(## #F#N> ͨ0:8 A[877?bO2ACC:> &#:(xxxy2UC ~. #I::ɯ27(#* +>?? !47( #> ͅ(qKi!8bͨA8G!8!!808JO}o%  9M*B(,͔8*ͯ8$*|(~(,~#fo>=) 0Kͷ(#K($(G$(O #( 0 ?~_.,>:0 ЯɿɯU q#w#Aq#w#͜*1.$à,"*|(~#fo-0x *0~_*)^#V*|(~*w*|(^#V#~A(G! N,"!N#Fy( p+q+F+Nq#pX("!̀!N#F!X ͳ( # x " *# !~ #[    !̀!6#!͊s> '{> !~ #>  #~##> Y X OG>!!!s#r#6><>>> rr# ͤ~#  ( ( ( ( y/ _>ѷOè>ͳ$>. $ &dF& FZ.,0g} |> (0G |~(ͨw#~#(͍(+~#(͍ (( (80a{_ͻo*o~?(O#Z3ENV>s 1 * }(+:]/():i_ )^#VS ~(~2 :] ^: 2 : ==2 !BR"f>L2e!m  h! w#\<6:f(* ~6T!]G! ~ ()G>)(!~.#T#~#foT" " ;*1*1  !͕M!͕M!͕M!͕M* +}(&" (###* #" " : T* }! : =2 G;^#V#S ^#V#{2 i>r:i" `o2 2 22: @!>v ~2 <(! w<(  w<(;*844> 2*8*4+: [ :þ: <(: < .!~#([(͕~#(](  * +" |* y! 5N! 5!]G2 .* }i9* ~(9B* iE* iO* iW* ))+ib/(NK\ f> 4* "}2!\~>i* | G* |("~#fo(p: { )!: < ## ~#8>)> > >  > > > _A[  : : 2   ( (( ( s>2 S>.~#(  >_ͧ}ͧ}ͧ}ͧ}: (00 !>j 8B= 0:8|(l>xmR(8'2x2 _WR(8yT ^>tC } 8 .8*82 : <7! <#(0:o~<(=2#F#~<(=2 x<(= 8Go&0$?" R~(< * #" =* #" [ S   (# ?( # ͹>-;;; >=Jan$Feb$Mar$Apr$May$Jun$Jul$Aug$Sep$Oct$Nov$Dec$Library: $ ERR!$Library file not found.$ +++Library file is corrupt+++$-- --- -- $[more] $Created $Modified $.00k $ .12k $ .25k $ .37k $ .50k $ .62k $ .75k $ .87k $ Stored $Squeezed$Crunched$ Cr-lzh $(-> $ members: $ matched$, $ active, $ free, $ deleted, $ total$LDIR-B, Version 2.20 SGG Syntax: LDIR {d$ir:}lbrname {afn.typ}$ Name Length Method Created Modified Comments $ Z3ENVPs* $}($."&ͨz!N@#* ;" 27Ĕ2 ͟~(\ͪ ͟~(lͪ ͮ :m ($>+ T]++~/ +~!0pDMd~ B ST]+">,!+("͇LPUT, Version 2.2] (/͇ Syntax: ͅ(#~ ͇LPUT͇ dir:lbrfile [dir:afn1.typ,dir:afn2.typ...etc[ [/]+nn]] Omitting the input filespec results in an LBR directory format check and CRC update. An input filespec of dir: defaults to dir:*.*. If "lbrfile" is not found, LPUT will create it. In that case, an input filespec of "/nn" makes an empty LBR for "nn" members and an optional trailing "+nn" creates one with "nn" extra member slots.% 0 -͇ No ambiguous LBR filenames allowed. 226 ͓ͣC:< 6L#6B#6RI-(]:m (1K:͇ Making library:  >,>26} %͇ No input file(s), aborting! :|22:m!0`*$$"5͇ No input file specified, checking LBR directory format & updating its CRC.5}ʨ"8l̈́ͣC`b I- (E*":2! ~:2!=  #<ÞI- (kK`͇ Input file  ͇ not found.: > K:͎<͇ Aborting, saving what we have...5" [*+r+s!b ~#K:͎<!!~¨ #~ ¨#¨#¨#~G#fʨh!!: y ́  D+}( < (͇ No more room left in K: =͇, reorganize it or create a new LBR file.> 5K: =͇ is not a valid LBR file, not supported, aborting. ͇ Putting file K`͎ c*}! č͇ in library,*}(9O*o # K:͎<# y( K`͎bv"K:͎<*[!(ʐ*+}" r*~(x͟>, o͟~(hKB 0_:6< 265"<!!N#F!:2 y( #<ͳ (*l̈́͞ "ͮ K`͎b !!¨> 2 ¨ **!N#F#^w#VwO!:2:6<(:m! # y( #<ͳ (`vѷR<(DM! ICCC 6# 0K: ͇ closed, operation complete.-͇ BDOS file access error, aborting.= ̈́{*$$""ͥ(/""* { ($j"Ky=( * =:* ͒ (= BK"*"?5  : `i?*:* (=( BK"*"?  : `i?*!!M4# 4#6xAi&!>:!~X, >?bk   /#S!N#F*B ! N#FC<"> ~<"ͽBK*j{(#B8:͇ Insufficient disk space for K`c >,:[8S*"8g !27 2[ # "N#F*~#foB( 55>27* "[{S> g  D:7<*KB"*"m/ w#dg*"4C2̈́I*$$ͥ(K2 "2*4͟>, %͟~(KB 0̈́͞ "4!~ ̾ [2{ʜ K:͎*j}(!w #6 #wS 6CB <<:!w+Fw+Nw=2`i))+ y(:(#:m =͇ for !͇ members.:(ͧ[!m~ +:u#6?#~6?#G:xq:Z(< 15! 6!~v ##< #(0~<(=#?:(-!Z:3I-( :G: !!( !6#4͎ "C!͎ "C:! ͳ :ͳ :ͳ !?::g::o)))DM!:!MDGͽ +x0#w#:!͎ s#r###q#p (00/00/00)"SCC*<"} *R"!""- x """~G &# x *#""*R8*[0Fwx# x [*7R8#"[*{ozg""![ƀo&S#~<#~#N#!N(0dG>m< # y8#AN66o$W_z;;;:S(83(D ;82x -*f<(  MM?f< 3(S(D !>S(!(>D2:S(#3(("i2!Mb= | 1} 8&08@8!""0|S(D(>R *>2>1>3>g"^#V#z(X!R8Qm R8(>!^ R8(#<H`G}iHOdR0}Hw#p#q#AI2" (#Y 0:_[0<2͜<:(! ˾͜:( ! !˾͜<:(!! s#r!? !͜ !͢:͢w"͜! <ɯ!#8x z <ͺ2b:bOy:GGy!!!TIME&DAT*||D " |D("' x 0 Ox~!8 !x ,=;<>_;I > ͝ ###~ ##~0˞͔###͏S2cͣCeG:> &#:c(||xy2eYG ~. #M:e:dɯ2d;(#* +>?? !d4;( #> }(qKei!8bA8G!8!!848JO}o%  9M*eB(,͌8*ͧ8$*g|(~(,~#fo>=) 0Keͯ(#Ke($(G$(O #( 0 ?~_.,>:0 ЯɿɯY q#w#ͣq#w#͔.$Ø,"*g|(~#fo-;0x*g|(~*gw*g|(^#V#~ͣ(G! N͎[z0*g~( 7^#V*"g|>Z q(*>O>G>Zmq |w!~#~3ENV##l^#VSo#^#VSq 005*o8W+}(z i`:l()= i_.!k+ *i"v!yg)0>g>!or$s%# !"tO*v ~W$^St*tͣCxKx͎Y X OG _ >#>$!z$!!^#V#~ѷ>">!!!s#r#6(>>/>/>>>> rr# jjBK!>jB0 ?j= ͍~#  ( ( ( ( y/ >> _>ѷO> > >.  'MMdM M}^R<0 > (0G B~0?0 0Obk)8)88 )8 8#{~(w#~#(ͺ(+~#(ͺ (( (80a{_*.:gZ3ENVLS :]/ksn *h <*  " <[  #~v"j ~-"l ͦ >>> LSH 1.1 CONTROL LIST <<< 7Ҿ2ͱp:<Ü:ͬ͑~#-**l (?( ((~ ~~~@bb[ <i[͉_@!_@_1([<(IG( MR(͉iͦDEͦESͦTAͦCͦͦͦͦ :G!(~#ͬ:gKo : 0GC%.& *j ͦRecordinPl#ͦInserPl####ͦString Search ~( ͦFORWAR ͦBACKWARl*j $ͦMinimum Save ~1͉ͦ ~(ͦONͦOFF> ͉*B >+ Ⱦ =( #(=ͬ~#( (͉ͦNeed CRT with at least 23 lines0ͦLSH 1.1 must be running when HELPLSH is runMM*j ~{n ͦNo ZCPR3 ENͦ Strike Any Key --Ýͦ HELPLSH 1.1b - Command Key Display for LSH, Version 1.1 Syntax: HELPLSH Looks for LSH command table in memory. LSH must be active when this program is run. LEAD-IN KEY #1 LEAD-IN KEY #2 LEAD-IN KEY #3 LEAD-IN KEY #4 ENTRY KEY Backspace Char Left Char Right Line Up Line Down Word Right Word Left Line End/ StartLine End Line Start Up Screen Down Screen First Screen Last Screen Delete Char Delete Left Delete Word Rt Delete Word LefDelete Line Delete to EOL Delete Command Insert CR Insert/OverwritUnkill DeletionUndo Line ChangControl Key Clear to EOF Yank Line to Q Yank & Kill LinInsert Q & CleaInsert Q Clear Q Duplicate Line Old Line SearchToggle DirectioRecall Next LinAuto Line RecalToggle Save Quit Shell Toggle Mode Warm Boot Shell Pause Text Lines/ TimRepeat Token # Set Place Mark Go To Next MarkClear Markers Complete Name HELP (Run Cmd) User Patch _( /:w *| [~ [ x [  [ x *x :u W~( * [z ( ́ :v ' 4 &O[ \ \ \ \ :t g:t g gɠgq [ (̓ %-%( \ ͎] D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|͎e||d  0/0Gz0 A(͎x~( #\ ~#͎zO* |( +~(GM S  " |("p |(D~!8? ~2r #~2s #~2t u  :r O    !u 6#s#r#6#s#r# 6#s#r#~#\ #* 1" |>Z ; (*>O>G>Z7 ; |Y A !~#~3ENVa{_ɬ %-%( \ ͎] D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|͎e||d  0/0Gz0 A(͎x~( #\ ~#͎zO* |( +~(GM S  " |("p |(D~!8? ~2r #~2s #~2t u  :r O    !u 6#s#r#6#s#r# 6#s#r#~#\ #* 1 Z3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǼZ3ENV =LS : CMD:F   - ڨ , ;:/=.... , ;:/=.B0:LSH-HELP991 R. FriefeldUSR>1{\.TCAP͞.SH STAC{ 8[k#xAy>:# !] >? 6>2é!\~2^#~ (/ x2\e :i2_ͣ B:_2i:^ ͽͣ (Ͱ!6#: Gͫͼ"!\ :_6#61[ sͣ=:"w!+'wx<2\y2i2_#]~#!'s'~!686#~2"IE6ͣ "j[dRs#r^#V*d$: ͢*k#K >A86# x ͼ*k#"d"\ ͐ͣ.LOGå:͢" [ #R[k#SdR#"d [jR6+~# *d>K ʼ.DISK FULå93 0:>-(>+(ͣAy(:*ͣ_~# ȃ,FˆͿ3 Strike Any Key --,\H;<;\2y ;!h6#(_!/ 8 ,0g}'|0(3 9~#sv#1 "y#R8*d"y#R0Sy#:"2;2l#:! ! "7*d"{###:G0>( :` ͻ  A :#2#2#!!: 8q2#6!-7 !: !h>6O N#F> >>>2:vz o p j -* SC di lS ,  f\ wC Kj(z Ϳo ~o ͺ(ͿͿ~ (y(z~ (+ͺ#  ~!dx(!l"HXy9 8 xKbW !l"O Q,  zx0 , 6x=z0կO_:b<(G~(( ( #3>͵y Kb͆ J ; !k"F#OW!k"p[ # t D , V ç V ' "{#(͗ V A ͦ ͦ xðy Ͷ A V K{# *{# V A *{# DM V  D } A O *{# R--:k"80K{#YP =}H V "{# "{#*{# b V 1 A 6AV äV ' (' D :"=D *{# "{#A V 1 ( *{#͆ *{# D V 1 :"=(! "{# ͆ *{# x2<"{#D "{#͵D *d"{# *{#~(K;y=((C; ("{#C;*{#:<(=2< *{#l"~ ( (x2k"2}#!k"N #>=(G6#*{#Kk":}#( 8+!l"[{#( ~ :k"1 *`6*{#6 #6 #" BR8 <~# ~[dR(++R8~ #G *d>Kf+" *dR( +~ ( (# U ѯ6#"~#S#C#ɯ*~#[#K# a V K;yG*{#͜    ("{#:<G  ͜ D D 2<:<.gyo,:< õ> > 0@a{_ 0@>  !^#r~#(08 0 OzWWz:#G>dV *y#"{# :"=ʧ=ʧ*{# "{#͆ (G (D ê' V ͬ D "{#A *{# 1 *{#+~#( =ɯ+~ !l"~( *{# 1 ˾ !l"˾# ͣ -a yx2k"[{#5 m :k"G B !l":#G[#[ ~ O } o:/2 3[Back!  ! 3[Fwrd"7@a ͥA:/2} !͸+3[Line Seq ~/w(3N]3FF͵L i n } 3Text Lines: G:c8x(O2"GC;0A !(͵>!:!O:".gO :&G:i_(Oõ >-͵:<G:cG͵ !lͩ~q#18":00G!l"l(6!lɯ xO;ѷ+#~ (~#   !p} #3[Q Clear]͓!"ka 2x#V Cr [k*k"&##B0#"k!m*{#~( ( :x#73 [Q Full]7?V ͟D A *k|K{# Kk[{#!m7#, :>G>OÕ͵~ ȷ!=!"6>2;:=V :$ 1 !<:%_:;8 >.~ #m ͕a A[ :#_:aʔ>2q#m ͪ"o#(: y=( 2q#+ ͪ . # "o#:#(O!0 !q# ˎ!4͗!\$(áH:q#!\Ɓog"m#=+ ~ ( :(=(, #  * ^#V#~St#*t#~#$(=G~#"t#$(O:q#(*r#B(Cr#͗͌(:l":(.( *.**.COM~(:(*y#" "{#êk |\`fC %"G7dl Ck  $ej+ >~# ͺ ~ (~ (+ͺ# +yQxQͺ(~;(ݷ(Sxx(  f!k"p[ t l _l l*dlͬ ͗ yl GlWl\b l1 J ͵\fl "{#J -fJ `'͵y= x(ؑG> >:l *{#ʂ "{#=:H l "{#rN:=r:$ 5forͥ>f!͸ rz:/2r>:09:G:+>># 2x#lC*{#l͟l#C*{# "{# SØ D}00 |D!Y!#i#~#F=:Ŀ!#:>(~ >$8'<'w͈:> ͔:#>oĜo0*X ^#VO> ȯ>BGii#~#)3!#( !#=(!#J~P))3> V#^#F#N#y(}<8o G.*#*#:#*#*#5!#ͩ(*#~(!#ͩ(!# ͡(y~# ^#V#:#*#[#[#R*#:#W~(*#[#( [:#&O[#6666:#g:#g gɠgK[#(]%-%( \  D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|e||d 0/0Gz0 A(x~( #\ ~#zO*#|( +~(G' - "#|("#|(D~!8? ~2##~2##~2##;:#O ; !#6#s#r#6#s#r# 6#s#r#~#\ # N#F!~. N#F-1 ~(# ~ # ̀62#ͬC#͔:> &#:#())xy2#͔͆ ~. #͚:#:#ɯ2#h(#* +>?? !#4h( #> (QK#i!8B A8G!8!!8a8*O}o%  M*#B( 8 8K#(#K#($(G$(O #( 0 ?~_.,>:0 Яɿɯ͆ q#w#ͬq#w#O>(~>(X6 ( w#>(J~#( ><~(>.x=(K+x( w+ w# ###~###w*#|("~#fo( ~7ͳ(FG~(#9~;( (>;( ~#(6ͳs#r~# >*#^#V#~ͳ~#fo~*#1.*$,*"*#~#fo-*7XG*#^#V#~#Fѷ*#|(~*#|(^#V#~ѷͬ(G! N͗r[z0*#~( 7^#V*"#Y X OG>ѷO> > O> ~( w#o*o# $D@B A @ BA"""DDAHD@@H$ $$@A H" B!@$"HD@"BI$DAUUUUUUUUUUUUUT$HB D!!$$ " @@ IHI HI$I$ D$@"$H $!"I$I!$II$$ !$ @$A$ BAD @@$"@ I $BB"D!$D D$ !$  $I I"A "DI"AB! $  B$"@BA$ $AHI "H"$A$$BBI  @H@@  H BIUUUUUUUUUUUUUTI @I HD$I$I$!$$$@@$$!$"$$ IHD $I$II$!$ $@  @!DD B@ IA@@ @@  @@ D "@@A@@@  @@ @@vLSH.WS $"U$#&$## & Xr9M\e7 'Hl=  LS@2# LS!@<4*p&)LNb{H@Z! C1pΎY)ҜցbҙTM 3yȴZD  2 K@g#)o9cgC+@c7MvDi79DS!>nsߎf)~; &7@ ;xhםP`ĥAbS-f]91y 0Xo&cI3 u8A 9ɁtlGAu'O&yB8d]foѼv}~G`ޱAȔ<"F/dXafuBЁ_lGhXgBxONky5m%"|gxk?ǐ}H(.w/ 7X`t8%3:lmtU:?` A(( bxQ wrs`n}4P%g<9g7xLb  l x I72|MS=ΟePoePEhcʣFhA 5K(m Dˆx݄!%2a3X1v(<"0zC:RE) \%2H5s>\'!N`Ufvf c2I&W]i%,L4@+ x5QNԗ%)y>e2̽/<'4fvx&؋n~7r3.ihY x49]e%.t,[_K$|DU`ɛ_47 D. .dBaz):|NaYkZC3$ݤڒ! 476cX Ds/+4 !2gu%!ޠxPi1tP.ԦPA [[TA_a׵|Cz:.ޫ Rrben#1M,; 1۾0,Mi4S(,s3 OH 0s2 [=a7To ~l*iN2bC<#A떲0@X%AI@ ?a%'PI2ˇ@G-ٗ^`b2gLnb?࡝3wTꏃ":'# ;hyCJ6FlІiUP)eFaQukU;Z!Kx4| WBqFT'6-A8a Ll.!2l~dAL(`.uA '1C%"@zrO2>t2}Hg +u[@];cXGz(v!-d ܐay]qޜ】Nq2 ,Ș7B.#"VW2RqTi$$ ZNg'`q  OQvמg{?)2NZtC!=ۂ\O|_9|,r jXe/nn߼9[-6o1x zpL00<(LAL=04偈70ޟ/mFrS v ; c;Vw])W|P$'fp@@Eoo3Wo8ol6GWwqHDdE^ v.bD5W&HE ueb0 x'rE e+-˃r5tg enn1u65] ,JRf}u7" U`xXP ^ W!\"]15SMLPNi4ScJPnvn6Xv6]sq2e!S_[t>b#[@E%(8t #S3~2TGrLrSQV$ft _dhȩ@3]68@u1se a-2@%.WЅKr8RPUrmf)pQw0PKp,e6Q !v5_]Ixa_nJGx eDPЉ5,(F/I o',2rwvSyPK )uPua(33 l  +4i8z2LC.Q<1&P%C)5oPE0I;&7bml@ `3#e8@oH!Zh^c܂#xsم29|ZaPfwȘ ~@gS=QSc]ю&WprAwPi X r5a2&  AˁKҨ4@w68K)I.XT[u\'|'P(e1+1&UQ­ B  o'sRx#raNN+i%V%c$$ZapEIGZI2_Mjz[EZ1kCEN%Gt[}: s#bi;;0obu!fSʗ{w\HY@.bb"ՎPrv/` j{crDNC"zPKajj- -cj%6%FUm'4+!W*ѱڗq t @- \<b`g 3\1D4 *4Idv$Lz33Ӌph.PxMEbVr0Yο,7<Á)r!EQJ ;$PO{, oC:cu@/e#.`6p dE/'MFLPǩ0p:'2eX fQ?DL o̰~ka聃a]W>w l'm:h2ƕzN`ktCFmG\JnrqkQ/֕jX+ wCu)+Y]QeOyv-ز9R$yHѽSnVƞ[(+]g`."W+ y S"[`P#Q+0F~[8O hvN)%%'b!р );MUnM؀kd[aM$SR;ad\OT rc7JΜrG=J2K'@i=w&uO<d7Hg?E oVuE4RN.rS/pU/C'x$/w۱64|*+kO`B"=ʼnW;sgrUSUK5Ys|x(T(z}}̫ɰoIb۲J6>bwqLJ܇%Lqv)F[ /&0bN(z"Tҡ~7݄cr-ս5J[V짘9C_!sq!ݰy:: E & 8z.)d%DRyؽctTߢMc[H֐abxSHKm7ɯ=& a~I\yEᧅԜ'3pf6&͍=wƮo!Ӑg8Dӑ䜈%Lb/[xf;H[7Ñ's{$JϨqvk΁.%K1W!Wr[XCr^ReHKA>Mlx X$B?%6`emEz5\"%Ҫ,ځ-aH(xO‘v&Inψ's_`NoiXӴI2~""=Zɴb ooX1$!$#假$I2.[VHq IA;bi!PD$N%wxxLqs#qtV{L16Mxa;^.5I5%rь"P(H^ 1BDݤ$Ѳ#so#k.@Q1)ӦlX$9P.Y5mX Wn5znw;_Fg, G2H#$ ]ю5!kyƳUEf*N%ō!ɼ 2é&A4~{?y$L& ױeJE^0l+p qlC_ 2N⡻579j"T㝿A|p0) OClavV:f kyE)BMVsr) \ WQ/ed SlTg .gc%V5u#vڗ7>/H~ r=uOA6 hZ(E0H^sc'RIT.@P UEv6_qRAٳ=E0G7;{8]O>d' b BOLuiAe"s;9#&KEDc}VQM۟Dj,rY0D>0EldݩXټA7(ᱵrt=ܗa~K6CKfX RC e+#!~ O:nnZ=R< xѧud2Dݺ$LcZm$XL7bA;#5}٢oR!((XO±׃AGZi!sgCak"e,w<".Wsd,G}G.&N\R3]k[o7 A[r+atqX] ;mǓLQ%C@obAޒ`E>[":$""DDrFq g_ZDaZiC)Pqlm & tr#1Jg|TѲB"b$xF!ɬ!Z ݜJKfFgYP-?svl"Fo^1&b!r0ч_Pl"<EeIH|l&*TW;k0QR ^U3W';=dT]x}S\raxI?ޒ`|2 ܑ@RlC7lmW\h/3"YZ! 1ֱ֓سNFEs#$N5־1rĖ./b4Piy`ETR08x0ta\RV!$zE49'>шDBQ#25++,u2 FqiF~lrJ*x@Ş[bkIsL \I8ZrqqzTXpKue-_rm]xyM-^-D˒i 19!u IMt,ao1YJw{%IRJu"yrgrY[?!N"9h"jxA/L3rer(}Vr;3O>7ْM'wّqk3Aㄳc\rrCrQ‡Zk?ׂ2G>Mݒ |23E*?j -')W/ju1QPwaz61[`(H'7#HdôO<ϒ5{k.K l偡aIR~`JEr>)g* 0P@O^[/`PTl0q#Gsc-VV!sS׾񵥫z."`(7|!88=Pqxh=cL<)n7P+2e(AcP9FQjAjĔNYT%.rĖG;_XMݿ"Y7,1F_5dҿmPDt/IwK16MS Ez`m;R*pmz0;'B t+X ެ! 0C miEk3~;b:ac+tBW%!tVr[SכL֤(#A ba)sJ~:lNLvTU4}N $Ϝ)6vRct _T*33b4qo[BZB"\JZfoVz+_'A9ч|V/U_U'[/`TA.2{$?ʘaƫw $@o Z'Rw[AUEv6^"2f&642@AuLK&d4AV#AOA 2Z6v=yy#UKŲ;kf4 / q~!QQC/+4G-#4|HGi־,=i1}4Gqұ~FC.i[gn']Ix$"o$.8HxBX6.Y]$VnsO^&_&zHCE9}ޝcUe4bH2s]4xuSQT۴źz׭17:$1]EO`V Sox0u`"e:l Si^HmёzՊuj6"ʓ%ט˝FSm%p4d$]]K " s&'%EsSf)#|^(.CmY%B;3GGok'ւ[/_rD6+7i-Njg,3Ñ6>-'[]~/΅^'.v!Uw[!lsNȺ\Lx'=Q(p (@kŭ$҇C+?Cd%R)'ugGk*5p捆$`#x Bcòynm'zsRt3.־[2h7%DdlVv6"5 tg225f4BXFW%5tv:It6:ҝM΁+ҥ|"i;ZBPHsÅXda[>%ōf1Z} mhG<͈2ֻ21fmv4]POH*h!orz] 19)6zPZQ0S~ 5A锄ī%[.Xg*l+&*l+"n+9%(2D'*l+"n+9%J%* C ~(͞'% M A I N M E N U Installing &P'% 1 Set default options 2 Install editor 3 User patch area S Save changes X Quit q%%X$.$ $SS$1v23͞'% ===== SET DEFAULT OPTIONS ================================= 1 Flag Options 2 Numeric Options 3 Character Options 4 Time Display Options X Main MenuP' q%%1P2534X. ͞'% ----- FLAG OPTIONS ---------------------------------------P'% 0. Recording On 1. Insert (vs. overwrite) 2. Auto sequence - SCREEN mode 3. Auto sequence - LINE mode 4. Start in SCREEN mode 5. String match forward (vs. reverse) 6. Show time in LINE mode prompt 7. Clear screen on entry to SCREEN mode 8. LINE mode - permit line concatenation with del left and del right 9. Line duplication command - replace first token with GO? A. Line sequencing goes to next line (vs. same line)? X Done R Re-Start*n+"Z+\+ O >gf P'q%%0123&4.566>7F8N9VA^X. R[Z+!\+ v&}&}&}&}& }& }& }& }& }& }& }.͹'!\+Y~>N(>Y%.͹'!\+͏ͨ%~/wn'rv'͞'% ----- TIME OPTIONS ---------------------------------------P'% 1. Civil 12-hour time (vs. military 24-hour) 2. Use standout video mode for time display 3. Show time in line mode prompt 4. Time string separator character X Doner r'r.~%P' q%%1234Xv.v vͨ%͏ '.h* (wn'~%v'&.͹'*n+&&&͞'% ----- NUMERIC OPTIONS ------------------------------------P'% 1. Kbytes to read from log file 2. Screen mode text lines 3. Message time delay (1/10's) 4. Command line length to discard 5. Automatic shell pause line limit 6. Screen divider length X Done ͠%~???w#6!-%͹'͓*$P'q%%1 2 3u 4)56X .  ͠%~wv Ͱ%H &Q ,*n+~FR %KBYTES TO READ: The more of the history file is read, the more is available to use - but the slower the program load. The default compromise is to read the last 5k of the file. The history may grow in size (to disk capacity) without further slowing LSH. The type 4 version may report "LOG OVFL" if the buffer size is too large. There should be room for 5-15k. " %KBYTES TO READ: Fixed Log version always reads and writes to a file of fixed size. Reserve outer tracks on your disk for fastest access. File size should depend upon disk's block size: 1,2, or 4k. %Kbytes to read from log:̈́%#r` :D'u ͂ ~#foѯR"p+:D'u [p+͂ s#r*g+~#fo)*n+ "Ͱ%͘ &Q %TEXT LINES: The initial number of lines in the screen mode text window may be set from a minimum of 1 up to the number of lines on your CRT (less 3). Text Lines (1 to CRT): Ä%ͳ%\  .-%͹'d'n'*g+~͓*v'#Ͱ%̓ &Q %TIME DELAY: When some of LSH's functions are toggled, a display of the new state is flashed. The default setting is 4/10 second. Message Delay (TENTHS): Ä%$Ͱ%7&Q %MINIMUM SAVE: Sets the line length LSH will discard rather than recording to the log. Default 0 saves everything. A 1 would discard single character command lines. Line length to discard: Ä%%Ͱ%& Q %SHELL PAUSE LIMIT: The number of lines on display in the text window that automatically cause a CLS and shell pause on command execution. To force a pause every time, set the limit to 0. To disable this function, use 99. Shell pause limit (LINES): Ä%&Ͱ%%& Q %DIVIDER LENGTH: In full screen mode, the log text appears between two divider lines. You can change the length of the divider. Divider length (chars): Ä%͞'% ----- CHARACTER OPTIONS ----------------------------------P'% 1. Log file type 2. Default command line 3. DU:DIR separator 4. Line mode prompt (SAVE ON) X DoneP'#'͠%P'#x͠%P'#*͠%P'#+͠%~P' q%%12g34 Xv.v v& &&&.#%͹'d'n'*g+v'~%#'Ͱ%.ͳ%% Log file default TYP: >z&~ͨ%[g+~)+ #xͰ%xͳ%%DEFAULT COMMAND: LSH will run a pre-installed command line on request. The default is HELPLSH, the help screen display program. It should be installed with a DIR reference so ZCPR33 can find it. The command line may also be set to run an alias or a useful program like ZFILER. Default command line (16 char max): >z&͡&ͨ%V*Ͱ%ͳ%% DU:DIR divider: >z&͡&ͨ%V+Ͱ%2"g+ͳ%!. !0%>>% Line mode prompt Save ON *g+~% Save OFF ~(==<% Reverse? (y/N)b*Y~ ͨ%(== X Main Menu͠P'% A small user's routine can be installed in the 32 byte patch area. Code here is run when the User Patch key is pressed. HEX code can be entered directly, but it would be safer to assemble the patch and use BCOMP to overlay it directly onto LSH. The patch code location is at ENTRY + 98h. See LSH documentation for more information.P' q%%1X. P'P'd'P'%Hex Bytes:>a͠% ͨ͠%Æ͠%d'*g+~+%#z&*g+͡&&='s#6͞'% ===== EDITOR INSTALLATION ================================= 1. Editing keys 2. Word separator characters 3. Token separator characters I Information X Main MenuP' q%%123IX. ͞'% COMMAND KEY INSTALLATION The control key bindings are listed in a table. Letters represent CONTROL KEYS entered while editing. Those preceeded by a control character are shifted keys scanned only after one of four lead-in keys has been pressed. To change a key binding, move the cursor to the function you want to change. To make it a shifted command, first enter a number 1-4 corresponding to the lead-in key you want to assign. Enter a character "A" through "^" for the base control key. If you don't want a function implemented, enter a "-" for it. For example, if lead-in key #3 is ^Q and you want to assign the control sequence ^QZ to a function, first enter "3" then enter "Z". The display then shows the current key assignment. DEL is converted to ^_ by LSH, so that control key is not available. %Any key... h*dͰ% ͙ͳ%%Install characters recognized as word separators. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->> %% Change to ->z&͡&ͨ%~pͰ%ͭͳ%%Install characters recognized as token separators for the token replication command. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->>o͞'% Each command must have a unique key. Letters represent control keys. Enter a number 1-4 BEFORE entering the key to bind it to one of the lead-in keys. To disable a function use "-". ESC CR DEL are entered directly. TAB is "I". % Quit - ^C or "." Skip - ^E Up, ^D Rt, ^X Dn, ^S Lt (& Arrow Keys)ͩ *n+-"U+*U+  72W+ :W+< :W+ ~#-ʁ*U+(3(#(#(#~@͵͵[ ͒ͮ%_@_@%_[IM%ͼ%DE%ES%TA%C%%%%:W+G!!(~#%:Y+gKX+o͹'ɯ:W+ 0GCX+ h*%  . t  X f t  X f !  ͮ   ͮ 0 ͮ 0 ͮ 0 :Y+ ͮ  [W+*U+KX+G:Y+2W+7ɯ2X+2Y+2W+!Y+!X+4{6!Y+!X+~(57?s7ͨ%ͣ ^618'50#0G*U++#= ~-=' >` wh*)+-(w% :W+ {̩*U+ 2W+i!  ͣ ~-:W+` _7*U+~ >72W+ % ?#2W+Lead-in Key #Lead-in Key #Lead-in Key #Lead-in Key #Execute LinBackspacChar LefChar RighLine ULine DowWord RighWord LefLine End/ StarLine EnLine StarUp ScreeDown ScreeFirst ScreeLast ScreeDelete ChaDelete LefDelete Word RDelete Word LDelete LinDelete to EODelete CommanNew LinInsert/OverwritUnkill DeletioUndo Line ChangControl KeClear to EOYank Line to Yank & Kill LinInsert Q & CleaInsert Clear Duplicate LinOld Line SearcToggle DirectioRecall Next LinTog Line RecalToggle SavQuit ShelToggle ModWarm BooShell PausText Lines/ TimRepeat Token Set Place MarkeGo to Next MarkeClear MarkerComplete FilenamHELP (Run CmdUser PatcY$% Saving...ͱ&ͼ&>*l+&&!%ˆ!%F %Save Changes? (Y/n)b*NY$v'͞'͎'{i+% No fil)6 >;)%LSHINST - Default option and command key installation for LSH 1.1 Syntax: LSHINST [dir:][lsh.com]î$  #% Installs only LSH, Version 1.1 î$% Choice: d'b*>z&͡&6I&ͨ%*g+s*n+"g+2%͠%P'ͳ'd'%P'%~#( ( %n'v'> +% #( ## #^#V~#()~)+ #08p:8 A8hG0d0))))o#~# #~)+ 08<:080#bk)))o|g!w!6< #^#6~# (+:i2k+!hw#:k+2i\*<\2&y &%File: \B*xA%y͓*͜)'%q*%~# % 0%)+%%LSH COMV'V#^#͹':y+*~+å'[+[+(͆'[+ ͔'[+(*z+:w+W~(ͽ(*+[|+( ((:x+('&O[+((((:v+g:v+g gɠg([+(*(%-%( \ +)+D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|+e||dͣ( ͣ(0/0Gz0 A(+x~( #\ ~#+zO*+|( +~(G( ( "+|("r+|(D~!8? ~2t+#~2u+#~2v+w+͋):t+O ͋) )!w+6#s#r#6#s#r# 6#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > (0G+F++J++O>4+a{_<+o*oƐ'@'ɮ+#s#r#~#\ #) ~(# ~ # )###w*+1"*+|(~#fo)0x)*+|(^#V#~B*(G! N-*"+Y Y*XY*Y* Y*OGѷh*)+>4+͇*>.+͇* +&dͩ*& ͩ*ͽ*.,0g} |> (0G+|'**d* *}+R<0 > (Ǘ Z3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1GZ3ENV LX22 ROOT:COMMAND.LBR ROOT:USERCMD.LBR LBRCOMs 1 * ͪ x " > 2 ! " !:0 !-" ͡ ! 6 : G(* ~/2 ~H9WĈ ' LX, Version 2.2 !:' Syntax: LX [/] [-[dir:]library] command_line (Use "/" option when chaining from ARUNZ default alias){  ! " * ~ - "ʡ[ #~ ((#p[ ! p#p##^#V! 6 #~(#x2 !\!l~#fo >  : 8>G  og^ 0! F(^ !7…͞ʅͫ ! ! BK* >Ǿ 6: (/< B| * [ T] : ڿ : ڿ!o!o:{ [ K * : * <( { :« ^#V###RDM+>;# #: (GW -͡ : Lx  * ~- * ~# 6# > w#q#w#ogy\(l^ 00 !^ 6 q!^ *  0 !C _  <ͫ n 0( :' Library File  ͕ ' Not Found͵  R  !_ !" !2 R" !  ͮ !V#~V[!"  ͮ N#Fx * Bڿ!S* >͉" " * [ *  6#[ s#r\#[ s#r# ^#VS bk * R8 2 ( 3:' File _ ͕ ' Not Found in Library  ͕ ɯK 8AOC h ' ͡U͡: WÈ  wx!8 !r ,=;<>_͸  > ͉͗  ͉ ###~ ##~0˞ ###-(Type ͷ - at -H) P2 C d:> &#: (͙ęxy2 Vd ~. #j: : ɯ2 8(#* +>?? ! 48( #> (QK i!8Bm A8G!8!!818*O}o%  M* B( 8  8K  (#K ($(G$(O #( 0 ?~_.,>:0 ЯɿɯV q#w# q#w# C C ! ( s < ͞ K ͵ K ~#K $(=G~#$(O* B(C õ  ###~ ###w* ^#V#~.A $ ,A "* ~#fo-A N  N (A * )^#V* |(~* |(^#V#~ѷ (G! N͵ ͉ [z0* ~( 7^#V*" !N#Fy( p+q+F+Nq#p (" ! !N#F! ( ( # x "  * # !~ #[  x   ! !6#! > ' > !~ #>  #~##>  C K ͵ Y s Xs s  s OG>!!!s#r#6| >| <>| >| >|  rr# - ~#  ( * ( ( ( / y/ * _>| ѷO> *> *ͫ >.*ͫ  *&d & .,0g} |> (0G*|| } ͊ *͎ *~(m w#OF##R (#s#r#(` (y(x ` R (~#w ( ( a{_~?(O#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @#Ɛ'@' $H@ @H !AH@BI H H" @HHI$ A B BBI  H@ DIB@$$$H @@ @ "@@A@@@"$  @@@  @@@   B A! @Z3ENV  PPB:SH VAR MKZCM, NZCOM, NZ-COM, (New) Z-Com are Copyright 1987, 1988 by Joe Wright and Alpha Systems Corp. 001-11255s1!*.">2.Z #>2* ":2*.:n"&0"+")" "$"":n"S: (*!&\n"S:(!\n"S:(n"S :(n" S:2(n":n."E:Dn"B:An"?!]~/(? 6 U͸ 1. Command Processor CPR *?:A"͸2. Disk Operating System DOS *B:D"͸3. NZ-COM Bios BIO *E#"͸ 4. In/Output Processor IOP *:"͸5. Resident Command Proc RCP * :"͸6. Flow Control Processor FCP *:"͸7. Named Directory Reg NDR *:?͸ Names 8. Shell Stack SHS *: ?͸ x :!͸ Bytes 9.* Environment Descriptor ENV *:"͸ U. User's Memory Area UMA *$*.R|2 !"͸ Customer's CBIOS TOP *.͜͸ Effective TPA size*B%<<|ͯ>.o}}!=TO͸k * Item 9 is not changeable in this version. ^ʕQʕXʕH/?S 1 2 3j 4 5Z 6ʓ 7 8ʦ U6 >o:͸Selection: (or ave, uit or elp) *F* F*F*F*F*|R|2͸ MKZCM Version 1.0 System Generator for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !;͸ U͸ Syntax: MKZCM [name] MKZCM will display the current system configuration and addresses and prompt you to change something, save this configuration, or quit. You may select changes to the size of certain of the system segments. As changes are made, the system is re-calculated and re-displayed to reflect your last change and prompt you for more changes or to save this configuration in name.ZCM and name.ENV or quit. This version allows you to change the sizes of CPR, DOS and BIO segments as well as the configuration of the Shell Stack. You may specify the output file name when you invoke MKZCM. If you do not, the Save function will prompt you for the file name. Press any key to return to MKZCM or ^C to Quit now. ^ʕ,͸ CPR size? (Now :A͸) ͯ2AO͸ DOS size? (Now :D͸) ͯ2DO͸ User's area size? (Now :͸) ͯ2O͸ Bios size? (Now :͸) ͯ>0{<22O͸ Entries? (Now : ͸) ͯ(H2 ͸ Shell Size? (Now :!͸) ͯ(2!* &\Q2 O!" O͸ How many IOP records? (Now :͸) ͯ22O͸ How many RCP records? (Now :͸) ͯ!sO͸ How many FCP records? (Now :͸) ͯ!sO͸ How many names? (Now :͸) ͯ!s>o><82O> 2]:] W ͸ Output Filename? (^C to Quit) ͯ(\]/ /(?((!͸ Making ] ͦ !"!#͆ >Ĺ ~ ~ ~ ~ ~ ~ ~ ~ ́ ͆ ͆ ͆ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ͆ ́ ́ ́ ́ ́ ́ ́ ́ ́ ~ ~ ͆ >7Ĺ ́ Ͱ e!͸, Making \ 5|<}!͚}͊<}!]~# ( >. !eÞ ͆ ͷ ͕ ~# ~# \%}A}z { >  0:83}*͕ "! 5 6  > > > ^#V#^#(> o> o?͸ Record=>so͸ ͜͸ ïo$/<_<s>o|!=:(*."~#fo6 ###>w{ ENVZCMNZ-COMCBIOSENVTYPEXPATHEXPATHSRCPRCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKSSHSIZEZ3MSGEXTFCBEXTSTKQUIETZ3WHLSPEEDMAXDRVMAXUSRDUOKCRTPRTCOLSROWSLINSDRVECSPAR1PCOLPROWPLINFORMSPAR2SPAR3SPAR4SPAR5CCPCCPSDOSDOSSBIOPUBDRVPUBUSR>22$կ~#:,`!`~AA<2#~:a?62#~:aG~#:T0 OxG8x 2a~:h#~,s!ҋ >?x:G:O>ͥ~.Ÿ#ͥ~~*·>?ù#¥#ý> ~!=_.:;,<>ɾ~00 bk)))_zW#{!H !G!Hj!ï!H!>ø>ø>ø>ø>ø>ø>*2!(*2####*2!(*2####~¶"2####$;5J¢ͽ§*26#6#!&s#rø~¶"2####$;5b1ì~ʘ"2##^#Vzʧ24r+s+5§6#!&s#rͽʧ*2##6#6:424~ʘ"2##^#V:4r+s+5§6#!&s#rʧÝ~ʸ"2~ʸ"2#~>+~+*26####ʱø*2ïw ͋̓]>^̓]̓]Wͥ̓̓ʗ̓̓~2} !~#o|g6:}ʯ!~ʯw#â!:;~#  1   y yG>GO> od. .0o8 0_yEE{y0o{'xxdx x}0o}o|gڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{ 7o0o#>.o# o# oooo o o>^o@o*. kO*. ~H͔W͵HͪW͵r# xµH  H|}~# x ~+ xa{_ڇ z}o|gy”y0o|}ôd 0o _y> o{y0o{  Z3ENV!~6w;;R( Not Z33+$* ́Ͳ5(.(i!} B = _]/[bk>?k~+Fͅp N(##~#~ +m !> ! >!%>/!><IJâ!Illegal wildcard charactersNo room for any new namesNDR buffer not implementedInvalid ZCPR3 drive/user, directory change failed.͜NAME, Version 1.2 :!Y͜ Syntax: ͛͜ [du: or dir:][newname] [password] Changes the directory name of the specified or default directory. Execution without "newname" deletes the current name, if any. Ü:k`###~ ##~0:(Type : at :H)!~;(#|( ~ (9#I$"*w~#fo2n"o"q.( G~( *o~ ͅx ~#r> :n(*qr.>(!D!~(%8 #+8(Nwy# ~D#"s.(G~(͜( ##[sD #~(~#"u.(~((F#N+##[uD #.(~(ܸ #~+(.0xO*w)^#V*ww*w|(^#V#~*w~( 7^#V*"w OG͢~#  ( 9 ( ( ( y/ 9 ѷ&d& .,0g} |> (0G9||#}#a9e9O>Oa{_Wo*oƐ'@'"s.(G~(͜( ##[sD #~(~#"u.(~((F#N+##[uD # Note from Bruce Morgen: dBaseII's $$$.SUB Placement Under ZCPR versions 3.3 and 3.4, the submit command file $$$.SUB is executed only from directory A0: instead of from the current user area in drive A. That causes a problem with command chaining under dBaseII, which uses $$$.SUB files for its chaining. Here is a suggestion from Bruce Morgen. You can solve the problem from dBaseII using the dBaseII machine code interface before the "QUIT TO ????". The following line should do it: ORG 0A400H MVI C,32 MVI E,0 JP 5 END That way dBaseII will temporarily be logged into user 0 when it writes $$$.SUB. On exit, the CCP will reassert the entry drive and user, so all will be OK under Z33/Z34. -------------------------------------------------- Additional comments from Lindsay Haisley: Message; #340 Date: 04/30/91 From: LINDSAY HAISLEY To: ALL Subject: NZCOM - DBASE II WARNING..... I just reviewed Bruce Morgen's suggestion for solving the problem of the placement of the $$$.SUB file when using dBase II with ZCPR 3.3 and ZCPR 3.4. This suggestion came packaged with a recent release of NZCOM and suggests that the user use a small binary file with the dBase CALL command which will switch to user 0 prior to exiting dBase with the "QUIT TO" command. Bruce correctly points out that switching to user 0 will cause dBase to write the $$$.SUB file to a0:, which is where ZCPR 3.3 and 3.4 look for it. THIS METHOD SHOULD BE USED WITH >>EXTREME CAUTION<<. dBase II maintains internal buffers containing database information and does a certain amount of housekeeping -- including disk writes -- on exit. If the user area has been changed, databases can be lost or corrupted. IF YOU USE THIS PROCEDURE, BE SURE TO EXPLICITLY CLOSE ALL OPEN FILES PRIOR TO CHANGING USER AREAS. The USE command, with no arguments, applied to both the primary and (if any) secondary databases will accomplish this, and I would advise using the CLEAR command as well. Lindsay Haisley (Sysop, Z-node 77) e user area has been changed, databases can be lost or corrupted. IF YOU USE THIS PROCEDURE, BE SURE TO EXPLICITLY CLOSE ALL OPEN FILES PRIOR TO CHANGING USER AREAS. The USE command, with no arguments, applied to both the primary and (if any) secondaZ3ENVNZBLTZ14* "0|ʋ2$####‹~ҋ*>Wo‹#? :] z?z/ze!*"2*"4* ^?V@~AS628R";*"=: .f8&8*R"9DM!>2#:i\ )|Ox(!\ # <#2$\!] ~#:$:#* |~#fo.s#r##w#w: ¨2$͜] Can't save with RSX's loaded!$Not NZ-COM system!$NZBLITZ, Version 1.4 $ Saves running NZCOM system as .COM file. Any commands remaining on the ZCPR multiple command line will execute each time the program image is loaded. Syntax: NZBLITZ [dir:]sysname[.com][;trailing;commands] $Disk write error - Aborting! $ System saved as $_\  ?Z3ENVnzcom ccp1*[R|>2ͺ2:]?ʐ/ :^FÐ::Ox(!ͭp n"bKal9A,m tWL76lKٿ>d7pw.datRb?ea`b_4Ju)0bbm3%s 7TkVX*j*+!ŗ C(+l,VU]MRPhE\cםn0=(PBN!4"^)^1o7T,84sjr:(Fzc3fKAS1MY! eb.D 7hk3iWzʀE AP yٺF?,9iaq̠γu9zXp ҈@3"y)>'8.*_vp[_Yvՠ@@CiH,AD 1UL Ń ɍ}&չ]n<[&E:mL] 0 Ǧ*R@dQi 1s[ gpBDUxi4SaLT#-c\鼸XVY^k_.KS\92U]mL7J9Y0@BU4!^A_ ()$(t54%Àt&t2VN^keb[/U)0ЭC7rq5jb-N"L쾆3etDwhgP-g I,U]$Co$^fˏQn Cy)v ˑM%P~y )2?twCl è0sKm[cA6bE6؂ZCb<2ˆIy3J;-h74Q!sz{P7{Z=:w!3qHb]nnpt+†-z3wAggvrlkiS'%jdQEnr&B#C 4| J T-FEy@@%{Z/@-!9)#8ǁl/nir1j#1Fb9,#Ks)yB%?Pg>T.X9+aE`f0nRqA\Is4֞c_FZUv Ys'&0WB()p'F v'IT7E456}CEy hg*5XՏY?eYxƆj72Z"ZG.wEuZvu3պjtw[\6$\x\yva![!:ls U0 0;bg&;^gDLi2C(HE6=Pc(D81 8&%Ѣ7NjOF&x~MR!]8Y6B12م+E&aeA2L iݛv_n8rfHٴ(yRdTB5v7gtt@yb'LuKLEKM4Mv)zEr"89Y69*؅{s_ pu A w ;gvk}'9+vS4\xqA)sY!R6X QP\v yAEw782qs~i$0e ;kO5.x9qktmQD!ȤVP&+v%]qJm饵&pf0V` (2Լ&,=I}i/.TBT@E&4#+]HD WWNw!b3"">w'V4~uCTZ&W&wJ:OG2^=kE_YDB>c%#Y-kĵwa4LTM!TQkx՜LC @I mǣ]P6;dfI10&R-RQW  a 55pt]d)f]D r6k&ju9*&vH ,d=qlYzPH"qN""?,n&jEŬu*bq.w\z5nw1#*paUfIh´`'u*wB2K8maHQEzAl'pVTnvMHFW_]xFip7( 2I"jKO fsQnZ?:y{'h0r-O(7''`떃WZ?Wu\q\q{ش" 7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'Ƽ-!pӞ>QBP5;ps@ @*M%š]\AŪ~̞Zi rxP(B@(r!Ū&|Ⱦ+W`& Lg%-uY,l2,neoŜ[c&6uuɼ3ؐE+lary6uyI"6ư+l*y4AZPb*2Á,0ra%r>-ܠ `BR{g2v.|J*1j?'aVރӊOB9n\qi L)9%ܵU{&F=JuD(AZ7$ d|@"aPe8$C/L sc,?jp'r@d4gGv+`Tu0o6a{~S?֒b7pSIS׌i'ƼZ3ENVSH VAR Dumb Terminal =%+ %+ $$STARTZCM(C) Copyright 1987-88 by Joe Wright and Alpha Systems Corp. San Jose, CA. All rights reserved.I(NZCOM Version 1.2 System Loader for Z-Com v2.0 Copyright (C) 1987-88 Alpha Systems !O(I(  001-11255s~1~͐!]>?ʭ>/ #ʭ> ʭ͔)Cs!)"{!"}!$"! "!T]_6*.Z ̓ * U&?^#V!" Sy!z=2 !( !"*;~(;# ~(#=!n"q!; ~#(C;(?/ +6[#~(+;('/ʭC 2 Q V Z R WS*q!}"q!!!̓ }u (%:\(!@ (=( ! ! *q!n !  :(i*}!I( Input buffer start (/)*!I( Read buffer start (/)*!I( Write buffer start (/)} !![}! S}!:|!<0*{!"}!1~! !'*}!~  ^#V#"}!"u!u !@,\ʨ  ʍ ʨ RKs!|(%DM})#!!ʹ ʹ ʹ ͽ Rͽ *w#: ‡̓/)[y!:   *! +2 ! ~( 6: > : (@: ʠ!  Ks!})# *!%!*&̈́>0.RDv : ![ : _ : ? : (: (>5( >o͋ ͌ : 2 :A#*? :D#*B : #*E 0+>2 *.3[E] ~ ?*E.`q#p:#* 0K*=[EM > _D * *Y&" *> o͋ " .EM .-#s#r#:#*  :#* :H* > : *E: 2 ![K !y.DM* P*" $*$  *  *) *! >ͬ7>2 :!  9# *!:AGv6!' !:I( Writing ͟/):I( Booting NZ-COM...!  6!: e# *.̈́!2*." ! !v: ( *"q###>w: (%Ks!}) : {~*! À}"*.̈́"!R[?R[BR[ER[R[R["R[$R[R[&RRRs#r#C!:p!>2p!>>ɷk~; /#*q!n=!: (( > ͚µ "q!~2\6g:!o"!j&F"q! ?ʵ ! 8*s!$y<(ix<(`|2\"!g.<RV[E** ****R|2 :/̓**!0 ̓ R*!>þ #ͫ#_*!l! y/w"K! "*!̓ R^#~(ͫ*N#F*Bn*Bn:/̓*  ͋_*!lw:/̓* ͋_*! lw:/H̓RV*_*!@lwo&)T])))>OD̓*_!lw*#: I( Loading ͟Æ̓>2p!N@OG*?:A *B:D *E:  *: * : *:/#`i[!RVx   8lw7O w"!_*!"!! ~6 *![!͇": EI( for (ͬI( at (/)[?|( R[!I( Address Error. ̈́"!!: :@ :̓/)ͳ[y!ͳ! ~6e*Y&##~*y!##n!!  !  : ?(l?(l?(l?( l?(@l?( l?(lD(lDD(lD(lDID(lLL(l: 0+?l:(l:(l:( l: 2 y! ~6[}!!:(!; : O8> .*!RDM !}|: ( wO# Ow#y! ~w#~w: Iw: @(H*Y&~(=2!:2!+V+^@: ((w*̈́(w#!!5( !!5 ó: 0U*Y&^#Vz(G(C#N#F:!pC!: 2!*̈́(":!Gw#!!5(!!5ʓ[!P*Y&"^#V*"̈́E*$ͬͳ * ͬ!͹*)ͬ>*ͬ>|:!͹͹~#*!w#"!!Z! ( 8w#6̓'`*y!os#zrk|}/)O0i)> i)G>O>o$> *Y&.~#fo! #y,~= !T_!# ( } =~~# #~*!: 3ͨ [!R"!"!!!!3!4 #4Ͳ*![ K 2 ͲS3!x ͨ2 !'*͔)Cw!:  I( Open ͟Ͳ/)2 <:v! : !':v!'Ks!})Kw!})Ͳ*!.N#F .w#w ~<(<(#~(   ̓ (2 Ͳ*u!u >2 !! $Nwy#_!: (3կ2(6Ks!`$(gi$(oB(DM!~( #~# p#q#w!~=# :t!G#~$ :s!O#}) ((?})Ks!!: ( :(3~F#N#*![&_ (*!~#"!6!?((<[&4( $(RBͳMͳ I( Syntax: NZCOM [library] [descriptor] [filelist] [/options] [;commands] library = [DU:|DIR:]lbrname.LBR descriptor = [DU:|DIR:]descname[.ZCI | .ZCM | .ENV] module = [DU:|DIR:]modname.typ typ = ZRL | REL | Z3T | NDR | FCP | RCP | IOP item = library | module filelist = item [item [item...]] options = Q (Quiet), V (Verbose), Z (ZRL), R (REL), C (Clone) commands = Multiple Command Line (CP/M or NZ-COM) If no library given: assume NZCOM.LBR If no descriptor: assume NZCOM If no descriptor type: assume .ZCI then .ZCM then .ENV If no DU/DIR prefix: search library, then current DU, then path If DU/DIR prefix: search that directory only, not library :>V >Q2:>Z >R2I(Default Options: X and Y Default Path (CP/M): !~(!~#$(@i)~#$( ͧ(I(: i)I( I( Bad DU: Specificationõ I( Only one descriptor allowedI( Can't clone ZCI õ I( Can't clone with no descriptorI( No more directory space õ I( Disk FullI( Memory is protected, perhaps by an RSX. You must remove it before loading a new system./)͟I( is too big õ I( New Shell Size is too small.I( New Shell Stack overflow.I( New Z3NDIR Register overflow.I( Expanded command line is too long. õ ͟I( not properly named.! @  I( Can't find ͟ õ I( is an invalid typeI( ͟I( Contains an Invalid Addressõ ͔)>Ai)yͧ(&(~# (i)>>i): ! ) )>|>:>.i)I( ͟I( is running. I( REL Error ͧ(I( in file ͟ õ I( No Space Allocated for  õ CBIOSENVTYPEXPATH EXPATHS RCP RCPSIOPIOPSFCPFCPSZ3NDIRZ3NDIRSZ3CLZ3CLSZ3ENVZ3ENVSSHSTKSHSTKS SHSIZE!Z3MSG"EXTFCB$EXTSTK&QUIET(Z3WHL)SPEED+MAXDRV,MAXUSR-DUOK.CRT/PRT0COLS1ROWS2LINS3DRVEC4SPAR16PCOL7PROW8PLIN9FORM:SPAR2;SPAR3CCP?CCPSADOSBDOSSDBIOEPUBDRV~PUBUSRCCPDOSBIOIOPRCPFCPNDRZ3TRELZCMENVBINSPRPRL COMZRLLBRPATZCINZCPR RELNZDOS RELNZBIO RELNZIOP RELNZRCP RELNZFCP RELNZCOM NDRNZCOM Z3TNZCPR ZRLNZDOS ZRLNZBIO ZRLNZIOP ZRLNZRCP ZRLNZFCP ZRLNZCOM NDRNZCOM Z3TNZ-COMZ3IOPZ3RCPZ3FCPNZCOMNZCOM LBRNZCOM CCPNZCPM COMNZCOM ZCI!%"%!%["q"#q"#!!g$_ g$$ (Z(D{f"k"((ʋ$w$n"o$X"͚$y ^#*%s#r#"%q"| Ã${_8>"_q"ë#{( ((8>"q"#"_!%^#VS%>g$!&g$w#< +wq"X"g$g$og$g"&!$%%s&"%"%S%!"%"%"%"%>2&g$ʓ!g. w$"%!"# #$#(3o#_#W}*%=(*%=(*%#[%{$z7$#(Aʉ#ړ#($8lʋ$s#o$ (t # #w$͐#͚$*&| Ã$͓#͚$y*%|*%[%"%"%#_#o#g"&%͖#s#&#( o#- {=w$[%( [%=([%[%"%[%"%[%"%*%-( "%Og$g.y{$z!&~('6[%*%K%>Wʍ$S%"% "%2&*%w#"%:&+[%R}/>2%=>>> >>>[%!%{&!$& (#~# ~{$ !% ~#fo"%_ID__CCP__BDOS__BIOS__ENV__SSTK__MSG__FCB__MCL__XSTK__SCB__RSX__CBIO_D&%&~"&;&#~+;&##= %&*Y&^#V#~ѷ"Y&>2\'2]'$կw&~#:ʓ&,&!&&~)Aڬ&Aڧ&<2\'#~:&?&2]'#~:&ä&G~#:&0ڤ& Ҥ&OxG&x Ҥ&2]'&~:&#~,'!' >?':\'G:]'O>3'~.-'#3' 'S' '^'S'*E'>?G'#3'^'#K'> S'~)!ځ'=_.:;,<>ɾ~)0'G':ڟ'A'0 ڨ'!¯'T]_z#Ç'{w ͳ)ͫ)'>'ͫ)'ͫ)''ͫ)GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}((( )7i)0i)!)>.i)!) i)!)> i)> i) i)i)i)i) i) i)>^i)@i)O*. x)Y X OGHͼ)W)H)W)r# x)a{_*)})$.*T(yT( T(yG>GO> i)™(T(dͿ( Ϳ(0i)( (_y(({y0i){|(}(((   NZBIO ZRL]NZBIO+ ZRL9NZCOM NDR :NZCPR ZRL  r@rNZDOS ZRL"%>NZFCP ZRLGhfNZIOP ZRLOϼNZRCP ZRLQJ BIO15_ENV__CBIO_ÁÁÁÁÁÁÁÁÄÄÄÄ!Ä$Ä'Ä*ÁÄ0ZNZ-COMNZCOM CCPÄÄ Ä ÄÄÄÄ-!">2!"2*B ":O*?1 ́[` ́2́*?́́ a*B>oS֌L}9Y~(ВSW5}9Y~_CBIO_0ހ0€0@ŀ0pȀ0   X 0 hZZ!ɢC(~w@XtBXt<KD6E@@1!` d Te" 0t\1Amv8@;` ٷUpi|Fmp 0 :5UЀd)>H`d>x`T> `D> `4>`$>8`>h`>`4$7DUS.nn E][ !~"-i.EU*-CɜCOMMANDS WORK "}9Y~(}5M~(WѐЗ}5 1~(} %=M~)&QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQf3 En7NfQu4N1gABt0@S*O&A \S*p0% :*Y\/í@L; cJ 'U&+0C& ERp@C'@"A @ 2 `5D`>a$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[k"Á! ˆ!"-""."́  !-~2.s*:-Ó ̈́|ʁ^#VS>#"@"B"DF*HN:T! 6(4Ḱ "*Y| *:-́ 8Ź "*S>́ #DM*L 6# x [W*Ls#ŕ*@6#6́D ́V́3 ́ (́ >(#>$́Ŕ ́* :_2*,|y2_́ ́ ́`́6 ́ ́ ~́ [% ́ ! N!Fwyx(>8>́ ẃ  ~(́́22<2=́ ́ ́6 ́ ́  *% A: (~ w ~(!5́7́7% # # 8 w ~>2Á ~#+w#w+~?(́ ~?ā ́ ́6  *1"%́ ́K *F[́ ́V́ ́ ́6 ́ ʁ́́́ 6́ ́ ́K ́ >2$>2́ :4!38 2́ 24: %́t ( ́ ́ ́́ :$ O:4w:3w>Á́ >2$>2́́*%  ~ẃ́ :40́t  {́O 2/(O ́] DMPYy( ́ 0*S {z0KB́ 0< wy !} >Á"6*% : :/(́ sO s#r:́ :$ == :y== 3*FWw#́ *9"6́ ́*6:QG# "6́ ́ ́:4!38w4́ w :$ ́́ !~ =246Á́ ́ ́*%!"%́6 ́ S%́ ́R!w#! ẃ* ́ Á ́ ́ ́6 *%~ẃ́ (́ ́ ́K :*L:-ÁSÁ *L:K ́ " [U*@s#r* ́  ́6 ́ (́ ́ ́K *H"{< :,=2,́ ́R ́́ ́R ́́  ́6 !́ r#r#ŕ (!́ !́ _y#x#{8s+p+q́K ! ́ !!q#p#w!́!́! {w#zw*́ ́V >́*Á>Á["*C| T]S""C"2!́!'>w(:(ʁk:! ŃEwÁf >5́ (s>,́  ~0>́ * )^#V~>2'ā́E:-_:' :._́y{:!:'02:-A2Á́ ́> *:-́^2-"*%́ "628"]KN[6*8&>B?8 =(j*[DM̈́[>̈́0DMÄ!*4:P<́ }́  : (n& ~#fóO Ó] "6|:P*6)= "9y28:QO:4o"6 *%́ !́ ~2423́ :R25 <=<́ yoxg:- !<=)** :-́ }*F:;o$́ ~́ r+r[<*@{#ź r+s*U[<S<R0!"<:<2;́ ́ *][YR*F#[J*] (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!!FN#FÄ$!<~#8= *L ~ ́  : (N N#Fy(*SB8 ́ Bw#>2!0q*%"1́D ́́3 ́ (a[1(́ 0Q́ :0 (Á(* ~^#:-< 0́ ^(~ 0 (́ 2) W> ɯ2́́ *%  ~<w(G:R!(́ú Á ##4~(́6 ́  :<(́:́  ́Á 2$[%@!!~~#~O~G#~0GV. S! w! y ##x(2́.: <((! q##ṕi: < . (́:.:<(Á́ 6}2́ +wN! ~G##~?oG}W*% ~=_0 ~2ẃy:,w>2!*~6̄   :*̄́F :*̈́ (2*̈́ ʁ,́x  ́  ́  ́R ̈́ :Ą!+y4 5~y 5 6$ (́ !N#F́ "Á w *% ́ ́ ́b ́ ́́ ́!FCPT_ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_|{Copyright 1989 ZSA Commands: IF ELSE FI XIF AND OR IFQ ZIF Options (use "~" to negate): ERror NUll Use root:IF.COM Z3FCPIF AND OR ELSEYFI PIFQ gXIF EZIF CERNU4́!6́+(>́ G?(~ẃ́-́G ́4Non~F(TýC8 ́4 ́((́+>!́ʁ:D]2~ ́  ÁD( ́( Á'(́(Á'::m >~́(!~#!7~#  #~#fo###́+(8w  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngG \jNZCPR DZC NZCPR ZRL  r@rNZCPRL ZRL$irrNZCPRQ ZRL<ttNZCPRQL ZRLTttNZCPRQU ZRLl`s`sNZCPRU ZRLssLONGSUB COM ;LONGSUB ZZ0w@r`\ vNZCPR.DOC#### * '1b9NGn:M&9v2  7N؂6r9bPsy@t4bin2#ys9Bh*O7Mb3}@QByMAy8S*\3Aeif3 -ټwHPhtQlqI6xC( ɢ1:Ӄ9NgS?1Je4e!ɢt<ل½`Y*v31Ȍ]ǃN/sWDCM8e(ېHYg%N)bFU lqcHxHDYxtͽAV4BXtz8MSx1gUH1iV]ὄdaYāwF>qԽ1Uaj:7R(\D `UAvp*KhQMa6 ֡S[XQeƘRuW5.m`d ]BP4y WQ_u"oOIgxƪazǹfu$ ATeiqTg٦Oz!YAN`BTdpn*XGMEFDa$5!WTp keȠ+8ݦq^ͯk6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYWP jkqPjjbr#[\ Ox>T,eA℃(F?b1CV:WT,  V#f٠AE/ 6 Te$ͷ64uEm T,  **WS`6ނ , (h6 #5} ?hDPjj:.f`v#6 b+:``#22.X!(T?ٶhP 5Eد 8N,ڀ*,WS$ 3*'@0l00jj:e1edaeN Yjl?-!w<U+/)q^*p(+ᐃMuC.ՀIZ8U@m fpE`d4%fFʞ3l(,>-k #@OV`!eBܢl2"+.@fPF%QmdMxʳ;Ipjj:.;HwzáeYmPf԰7 \#*zOf`Cl6h8Iz`@;N \s/ؠ #D!nW8f`&%@AP #( #L$sh3 F|YPW0ršZ'X_BIOS_fK6 a0LkfܐQ 3h"2a0^ATfOqAb0@   FNf@1YqA Vm`c5}5M2 uG _ENV_H0;Hw%h Gf݀Vz[ lۈ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-MApMA 0Ƕfp@j)͡6m qY#e #!/pQr@ EdPph0 k! p=MA@pD0hd+ ar>#+/0FL ?2DgP?-%^ m0 >3m"$Ah$ Au@fvlLmvp _ENV_ q@t iH!B//bP`BϬR|c ͣ -æ%)gPfҐ@ՇE\Td2~[ka$5!WTp keȠ+8ݦq^Ͱ k6i h`@1e0˃ ` _MCL_.69Y~Tˀp\.˃ `hZYW\ jkxPjjbr #[\ Ox>Tf℃(F?b1CV:WT,  V#fAE/ 6 Te$͸64uEm T  **WS`6 ` (h6 #5} ?h탉DPjj:.fv#6 b+:``#22.X!(T?ٶtP 5Fد 8N,چ* , WS$ 3* '@0l00jj:e1edaeN Y k@l?-!wHU+/)q^*p(+ᐃMuC.ՀI[ADU@m#fѠEƀ`d4%f0Fʠ3l@,>-k #@OV!eIAܢl2"+.FfـF%QmdMxʴ;Ipjj:.;Hwl{@áeZ@mPf7 ρ\#*OfڐCl6h8I{@`@;`N ]s/ؠ #D!nWPfߐ&%FP #( #L$sh3 F|Y\W0ršZ'X_BIOS_fK6 a0Lkf0Q 3h"2a0^ATfOqAb0@   FNfp1Yr Vm`c5}5M2 uG _ENV_H0;Hwl%h Gf Vz[ lێ0e=W.;HLm ':WSpXv`p=.Y.QW)?-,p-NpN 0ǶfѠ@j)͢ 6m#qY#e #!/pQr@ EdPph0 l! p=N@pD0hd+ ar>#+/0FL ?2DgP?-%^ mH >3m"$Ah$ Au@fvlLmvp _ENV_ q@t i`!B//bP`BϬX|c ͣ-æ%,gPf@ՇF\Td2~[k`4u/c.K2, n@#*ր2 ~[B(5}5 10 _ENV_RUǀQ@=W3!h]63h _MSG_ Fͣ@hKʹ`@f؀!X|[# B@G@%^2 CʕD4;VePDV8"\5YͳK" 0 iv4u\v;6?B(ʴڡ7+Uͩn%hFU͵ l$^ p6: %.b00 |`(: wY!_ñ@FCݒ^ 0!Ϳ MK62¡@FQ 8GH ff@0rh!@?P`5DN ̖m80aͽ a f0E da*WSj(7$a>.0͸c622Pjj:e뀏)T`*v;%KWTpA#@-Ϳ$`ٷ `{?"\$v 8 (3ox" O u+/-z\\R~[Y [6X 69!al?m1}ͣ@S%DAlFdi`!Fcъ5K8F _FCB_f@naf C| 9.@{6!a!WThnWٶ#N@0|/F _ENV_`1  /0A~d~[öJ$fڐ@0,| f۰ExH&:WTpH&A0@͒-X=,"%ˀAfCȄ^ ^bĠ3Y3i` GEa.[LJX ͥ j !dd" xY#5}5M-Wu@2`A #N@lPQٴUVb*i c65NUYA`(Ahr0ݫ([LۦiH ͭ;*WSj( H#/@i. _ENV_ ;` 4u@PAn 3n" ixFͽ `% oh " D%8B k P u#rD d /.a~lih0v[,\:05} 3ox9(r@ k4o]{%#??H~| fQ٪͢ B 60h괁 rxv, !WT-ͽ|Xqf0Gin _ENV_ 9}aMQ- P AhK#pl!)FqKq@KWTp$H0M$I r`5D~["5F {.D0LC~3 _FCB_9}aMQ-4u+@(C6~sve4#!/0X 4uͭBceiNٵ(U Fm3Pj2  * "8 `@|Xq @F;`m3?ȄЍ3i 耎8POfV G*뀺ٵͦ`0E !Pj2 v4u\é`dX;tɖ'"}9Y~(}5M~(WѐЗ}5 1~(} %=M~)4QP1}%~^Z! C1@V2fy@3 h(@ ȥAu6 Snrx@J*Je9hb єn7NfQu4N1g3o4̢Ai2ca)a7 '# U!I%Aq MA U! &H:K@uh0U?n8^0[v"O+3(M(V@`M"O&DA @  eR-Z jk|AI)k0C. ˑ@VqWL33k 8ͦrĭ.Z `5D`Ah x2.X!WP Vm1pñCU. @@2.X!`Z9sfUe0ršZ0fpqTm;C^ q f@E ،P4u'b.ٶd@AiͥB5}9Y3m ͢è5}5MQA=q! n Teͷ+6 2͢H _FCB_ *@Qˀk ͳ̢ 8˖@6mB0`A fѐ@9 ƀK6ς4YPaTDe`^2N\ˀf'@%V!T&jY4 ijmʟٶ #f'XCFoGW??#Kv(|[U+5Y f fCT(!! CG~  .Vm(  I!ВS`ْͦfL41ٷ(l pCL`? L WEPj*r>-EPcr@4;aEF `f@FCF"X _MSG_` |a`E *WSR ~ NdIpjj:.?5#3 0`C@(Yd8[6Og$Uˀ!FEm`A dTe\X{\6KKU@w $ fpAfpG1d?-/Yddh#Hlm+?`vC,~0z1A&|0hKb\(`! ;z/"e<fpA$# <0jj:-?- Fa_ Pb1 _0a0Cd?lxH&ʹ`X@ͶLuL Wa%!'%[ {Q2Y@K5}9Y-ͥ`ʼnAg>iX!0fҰ@#6î\ @JVqPՐB nSD@GPjj:[Z#N@hP;ԀeV@@.(`4!@( _ENV_@ X@@ fF _MCL_ D;lmlaTǀQ@\A5}5 1;Ipj*r!WݫXe0u0 _ENV_ qsPF _MCL_@ (C6m(S{@H@` !.f fCX`WEG!!|uC dCC bdX( `ghK{@ +" LF\@`fcx.Q G,XX@`> 6炎VmpbEtY@cGUeOD&# `f԰a mfm0cʰ 6;Kpj*r  jkuOVP _FCB_q놀c` N3[.\ˀ G o OfqC/)%P1r ybpFPj2 jku0Y\@@ 8@0 > -!5} AjU@mlݐp#/;JwFͩ ڦ(b3i 2WѐЗf AU 1T ʰyͦ@1T3i D&h _ENV_ HLW@uXAǂxǫ2a$5!WTp keȠ+8ݦquˀ fp@9bVA- 0ršZ0W4u<pp,iE+6Oء*WTp փ |pp,0-K93*9}aMQ-3n8 _MCL_S6kq~ !/ʃl"PF(p Pjj:e1rl2 }4f!TĀPfa(͸pEPj*r fA@DA fa@u!/@ [q( _MSG_ ۂõ|fِa EtG\ fQAs\e Ej@6̂ !0 h v3;' śPW@`0j*r!@8FsW@cCf _MSG_` 2 , 62`-!帠D"WP Te@E.+\xܥs92~ eڰ 3k`#6 4uͤ@2a>S&m: a DxHi U*> 0;CM 0`TEc@B%Ug,(İB*"ͲV'i. _MSG_Gio`t @rZښbY6eOJy Mս 3o`_!#ٷ #xwu%;Do>-*do+!*Doސ!|? vmd+6 _XSTK_P$I)k0lfpA & lۈ 68@m_0@&y"5}9Yx` pB@In(1Z`@F_0#ی0 3n #!ͣl@,u0Y}>"Az)?i]5}5M0! جۦ OKv-q *Gi ͣc6 d2Pj*r.k[,=%* 廅i i#s,2 E2Y@ͤ@6K6l;!?=T`d4% 1ZVhhV쐊 Vm~=Ñ^2i a5}5My#N@0|/F _ENV_`1  /0A~d~[öJ$fP@0,| fpExH&:WTpH&A0@͒-X=, %ˀAfҰCȄ^ ^bĠ3Y3iX FEa.[LJV ͥ` j !dd" xY#5}5M--[ ڄ ڴ(j@z2 j  Egvmd 0jjbu+/Ov\n 3nx#tC/@m"f`660` _ENV_Ũ.~G 5}9Y+Ճx2WT`4: qsPF _MCL_@ (C6m(S{@H@` !.fVCX`WEG!!|uC dCB bdX( `ghK{@ +" LF\@`fcx.Q G,XX@`> 6䂎VmpbEtY@cGUeOD&# `fPa mfm0cʭ 6;Kpj*r  jkuOVP _FCB_q놀c` N3[.\ˀ G o Of܀qC/)%P1r ybpFPj2 jku0Y\@@  @0 > -!5} AjU@ml0p#/;JvFͩ ڦ(b3i 2WѐЗf AU 1T ʭyͦ@1T3i D&h _ENV_ HLW@uVǂxǫ22#~B>2~# 6 (AS6~#7 A A+**~s#r#"~#ʂ ʂ ʂl"p7?:ͭ Strike ^C to Abort Command File -   ͭ ... Abortedͭ ... Continuing:(!+|$  !":/^ͭ Input Command Linesͨíͭ Processing SUB File\(=G:iOn ͘ ͘ >͋ n \<́A*#"**"s#r##L  w# 0" qí" q*#"**"s#r### ~#foF6x;*#~/E w# 0." q:/]͑|:ṕp>|_<2!~ɯ2\>*~#" ͨʥ> >ͭ Command Line? *(  *( #~#"o|g6 : ͭ Writing Command File to Disk  2E6#̀o^ ̀S^ @S S$&:/>$&ͤ$,̀͒CͤSS̀0OxG7x=ͭG~#͒_!5 !~=7w*~#"?!40*w#":7~? o&)^#Vz~##0:?`Disk Full`Dir Full`Mem Full`SUB File Not Found`Param`Too Many Params`Line too Long`SUB File Empty`Ctrl Char ͳ ͭ Error on Line *B   !46# x”!"!" ** "ͭ Syntax: LONGSUB - Print this HELP Message LONGSUB /A - Abort of SUBMIT File LONGSUB /AB - Abort and Ring Bell LONGSUB /I - Go into Interactive mode LONGSUB - Process .SUB File* $$$ SUBA (j  Fj ###~ ~06 -~* ~0 7^#V*́ C C E (  < ~( ##(C n ߯=K n K %}2 E : ( ##x y =K ~$(=G#~+$OL ( ~# í * ^#V* "~#fo ] (T * ~* ^#V#~ѷ" Y X   OGw ͢ ͳ ~#(9 (" ( ((({({G>G_> ͊ > ͊ > ͊ $ ʊ >^͊ @͊ 0 Oy'i i di  i }n s 00Ê = ˀ7. Ð O:g ͮ ͵ w#Wr# x a{_! }($.vLONGSUB.Z85 7 #  !i2b0@J0Jf9@f7Si:\ Nc5Cxa5NgS K 3ido7RChfQFX=C2/Mp9fSI2%u7 W0N#ʤ!ЃB͎CIWˈegVԪíz 6]L`@T4[3,ȇtFI$`f0`#oÔIbCsf5@(0Dl;'#)?39KL9MBCYU%РfGq%SF1 fdn]0ƷlT58iTxYW9 \GZ[Cgo3kZʷfDCYS/QicAV\Ug fc_C)8̲o0~OYF@K+f{6%FvVɒ&-JpA 1Ր̹S'ǜFA; !(*aOH )2&8Ä@O Q,)R!v22!.%$4xw5pBS &*%0\ (唅3hlu0 ȖEQA (VT)N2? Q BhA 2PȤ\<&@HNjNIA3 n 05*̈A^I'dy!8)v<Ќ8( X#5ڔ&*oL0\p@1"ҪVh{$L)Ω(ؗnQO`@ tDmf{l]EQ hT١% &@D(D'!8'j[K1'0N#39CTGTp ij"RڣHd.5Rj*PTV*p#T" Mdy3LILQ3|倥He_$A4/u=O$ښPbtnIp&`Af I;09o ӛ0a= +83 ј B&ϝ+)w82P !m92fJ%|4HÔP F"J%a%p2{D2 G~^G+Q}aYR7 $J-,)Ofhcg3 0 cTט^aj"df=VƢ匱:Dž,WںIc(Z$@5#I'%2䈃2)Tl9`86k u='eL!8"FZ4<,pAp26)ֽ|J ? BJpλgX2qáƺ;C5{QO+ xW z8#@Dk>% v3 ЕQ.r2t+wE9c1ON<+s 'J"Pn/3.RaghI--% 65b ^'߀PHzA.mԬ K.]`KKѪs-YLQwB]MoM("Jt O4ظ6+ktP5 OuMӑ:W 2DdZ gIr\faEb$ѧ#:Ƹb^zb fu321\fj5N\ʹ-@ Hx *~tjh q`NNOuQ U\5Qm`o2jրt2`gW?&2Qcv1)hb4Vb%+yP.MjV"kgek]jbMI 3U@\32i%rvdK7rW)Vھ6fd$# @lwFms n6haoZh_aet wTr@&@2$awvTB+lg&\yNDThF`jd'|Ou frBQ$m7vc`YB2' rB_`[mQ }`QaTNʨRE'y$n N1#? >X" ``NN]Q(\A`8[*1zb\ qyd34lpPSH})A qg*Obo8mj[)f~~X]vGQo؝ e揎(,Nl 8f@ၫAx.r 8 mtU %6T $A]`t iJ~`@ (;g3(W8A1\$,CC,> 8mTC4$ ,tw&G%$B ruR \禼@x 3VkIggGlzRb/Nlc4,hy\'Z#f'A-F:RGNf.%!$ȼ eZ9f7l6͗_yNѧ{737- 0^br[=QCK x|:Qv]|X+1_|F,@VN>2$NU+Ό:zao2U%k:S.;{z 2%;G,P[DŽ5]< 05 @Y^4B0]*-^Np4qFjZܶ$+'Owb+p|¢r@.7ү|[WǼR Ȩ,"lԱ`#1JP&PQm]%qӀgd[٨F (xup͒n@ [`j`93m|NNBhˑP\2:9( q &=%[B$G cQ]U}KFzx} ]x&]o #w{C<>  ~pH@AHYxC# 00~M1\Y @82<> H }Z-C1 1Jı$$CÁ1!2$ |钧અi>`懾{ڜX %u ՖZ^I1\ { 90;{^Ժ<:0-*1mUz Y;p˛Gen f.ձ䙺 ՜Erǔzuu[*!ql'tBtKߖ πZ>(vZ{/m~zvf ]m ߬qWXR@gzL뱎 Z`N 6}o}iB"1_glbW WW׽\ CZ믛Ym~]:9Jx/`NV|U=w;@Bg7fa#{r\òuk/\jOW(+ofMQq6[QM8(<s[7_1G9Ya#R;ļ.h9Cl'-'7B3-%hNDF:Ŗ%Mt$h(XW V ݧA0iX  xPD \?IY_)86 _590@ iz-# P hH/RNo`28z@s=}@P+G&_0%{"Z%i\2%)IrYou3YPf_J$OL+n$[6֌OT<~Z R6;,JZk p@ .=&[m.zf&Xe|lAw537B[2)Bˀ9)Kp-SKr>_^r[QA[:b,0#@M:q\U3\MP\ F<'wbzI+~L7\B Z#ǔYH]xiDK-a̧rI2`=|LȮX#Z,ڌ qŽ=e@@؀~-)@ &O@ӛu%Tŭd n; b2X( F@ׂ KPЕL)Z>a㋣%Cl6 `YéZW{+mf5x8Rck U'; "b >1 zufpGP*hî,q @4 #ʼnFe|w4)YR ʍF  ^9'˸CѦ 1[-:$[ $2Q  @H*QQHqC4S16j. ᩒ8y#7Ȟ~U Z)R^k_foq+Q0,3T\QBZc|2A5=C*mlB:[BS$lE~VbBu~~WyW^)td5 ~HV O(z@@ @}?:9.Q㸳? ~_7W22P|TI2)oI ~Ss~ *â7Ճ-HA)ȕWVdek4VcbMZB}^X258%u7rGYo0+#DI}}FMW AЫ1VrAiR\xCLCL?v t lخ*懪7t*~iXV1\yHHn,`\L mYQ׶~Ųtu^4D)٣Nc(X"U[QC%уfl¨$ a[sג;+^$$@gU1+C)P f}FnWH*raHXB$ V9NҌ5=\ȬM7gӱb@[z&sX5Rg D [&z[@+fr7F]4Bc9Y`R.=({PmGG4STZ+-r'&}g*4 g㚱 07قw#$ %R |u$9@XmiҲ md▪G!C[r) ٠j2$#[K *OL0N @I`=- $/@P`//@؀| {܃ j lr6AXCo"梣lEܞq[gKe̙Yy]@o͂ɕ5("m\>$)D+F t3gm"j+YW`Q]aHKFX W3CŭuX,DLsz\I&*.a vhʁ"oQ`! 2w*:ץ|$ߙc_GBu#]yDVYfW3=Yr5[B8wB =$ N =rD-z[)J(2Ò VvS`-WȨ-@Tmr^2--^`DNd?Z#Zɹ^Iu;iDt/vdpj@;&k_"u*:1P63j ` I2hr{Ro@[ \m߲D5 [#L%=^.ڲ3 e[)-\X Y}'<`s~ Mֻ H: T"*Yʓ`PA)91Wd+52fXHD-j@._9+ ؝uȱ8|-}J 6̫`Q85DN~m~$v)  J&)~\ p$>Hik؄ f;SދX'j>)%>a^MgvyfJ+-Br%Vv4 qd;}#- Qzx( 5D T J1 eIqB "wpԁ>96mEflv$*TR l߻5ۡH"^BB 6T_7B,E#(ei' >,>mym=+yʅVhPc@`$zP_Xb 1J@ǫ wx(*">H^9s~5+zW8U1\^> aKʓS}` > SLt Vo~*`Nf;s񚜟Oa)ujsv+5)U4!b$* cWzT}FEK9/$#-W>[>Fyn\t `͉B ~97K;T pAQ}`dF"BoEzf::ngߞ [i%:>i%x)͓߳J. w㋣\TDˇ[QKRv|I0͒3jN Y=,h(;~O~?C1.W9:J>-bi=E{)2[QG@ZYf;HZLb@@ƈ,v{~GS3k0O+H>4Y EW9:ә%W _Wt+[%V$ R:Ï/C @@HK¨H,ZM-j(t@z%p~­5ݒ&t;ΒiFQQɸ=` ΔzD`(`M0Ns5ѳ]W?(FNgvrE4(a@4,IRg Ʃ}' LήزݢG$X[~9SV ΤMR[Kv`mf/wի٧OVuy[25zYzK/5::LL2_6)@ :EEV '( f#[`s\0jP-m5~#p{#@YvY{` `zE b8ovcQR8(^ Ͼ j𔷋@o*=\lLxB0%[+CG S5s]ϩ,`eDuv+?ߖ%ADMc p;K'ᠨ cߏeb6\ >j,g&kqj\V>di @L${L nE<5ԨW ABJQmbQ< A7SbG#f$U:=X@K"`v3ٰLXƫH\RJ.&ULlE"G&i[F@q+D[lL{;3KaE(l:g}: ' &6{P ְ%'WS_`&C'{BP!P昝j/ĬpcgU1'bF%dq蹼X73lb/$ZKEhW`NP'1=V_ehڴ P)S;q c8Qa$Qc6{OFZF"BhgU@zmi&`WH=3W5<89gNN(wjS`K;E0.ZDH49y{Yú~\PjDs q]dOt5>נ%ch4mt] všxSUXS5 ^s=puf]ykE {E&9>:1Z1vF])[.5 mxWU!DE|ăf0FTomJ D#-NM ]`߰o"ںś0'D ֎&_׉˵rT)'J'a2ϱfL;>`bBAtW\6)äR(lnD ֞OnG+$OZ#@@X:ǣ^C!ͅ2\ăYF*8 7PXE]z</ϒߛ.5U ,T3 +:?"h+ezo6?n+O6R'D LrP wtClI0YyeUR>`C־ &)2[K) ?AK<'. O PA zM9u~DbH qkA)-aK?F1􇀜81* UQ69ɛ&}rlmP!bU̦RGt=c;Pmqew@%&C8{Pfpev`@mQgP`px^2NҖL"h'U@@ɩtX isO\ \ qx~gC6燺U;4 `uǮ8bKE<Nll .:@.P- (UXX&~(SmCI<2Rup@]=I LƵ?Q1ᰇ`L$#B$>ٚGgG=f [46&Xl8oYh ޸sRbQCPj ]T3Ep5q zpA,C-=‰T3D;Ybx)yg0] 2ͣyz!Yv3gH ^MD ~\:=EU(H^GuiMD XzH⠂鷳tσԋ /#~Cp82O5 1Bh1NNc86B$%hym`X)W3^BN }X@[//>pg9-z;]G8:+`.#6X:[@p&4$ ghHZcG{m{U3X1Q0h5?(BcQ\k=8wBu~$p]1chk >u y/oZ8]zUWVhWC bv)7UZ&y`PƞTd.p}4 `'4qCEz7P6*F;#&xcMQq<ZG»E@S;98:+ޢ㵠or(Dk?p/VRW:+;zXZ#'v/>1^M¢Yi{9  *0BrL$TjYC7:L!65)ym] J BD'$Jt:lcQQT p!]?K|^EQEz,NM@½e<3ws*R'D&G@N4_QXp)XJ,UsOOPKʏ:؇6>F?>ڏ3y1rnc R*t@}^-mE_G=w$2~6/KT #+E,\JW1D'P+ _"t6hWWCck|PIp 7,@ݦ1a`9\t };H_O 2?J[D  ɹU;X&~R[7@PPc{O;(@BH^ oA?`0' EG#B$%5:**zXj0*Q^ r[<`۫93S]q|tw7T nD B$$>m~B5@_Ǭ5~[SU$x6G!`5^ @!cW,' ~HGD e3Soբ6cI۶/|t2RK57^ē7$sgD itT#T ~.Dh%Zu(Þ "Ͽڋ@7>({؋. ֌0۞'G둗ի٦ ϰ;$K&:{~m^a &8]IKЕ+o;GT Y'D ׬G- e?9F*| ֌j8x(iVj mWD ֩+ qSar Y!YtkԺnQPt@قw,a,r6(RQ 5d l&%!7Iu? OUU$^2@ȲЊV)5*Ӹf?0( Eיhc[vo $7帚f> N͛yR.3po7x>?v$)&j\֯|Ӹf> %P7w ;20(A?n=w~(H*7wo}lM@L=w[Y^;ؙ*(*zE&)9&sy#fXf+$ !٧7e^L))ٙ*(,zmf5[^x8Rcpjc~a- ` IԅhZ ȴ ?A)Y-7P*P 9R,_Sb|:E}7|-7U8=]zhOg?#hsc]s U 5=@E0,+^5uP. MZZdeEr^UԵ1@F+S hIaH(@QdbVh*cQ9v RVJ@ЩTinZ'GZOcXo&f]}%eg%_}wyF{ Fr8a}w~7_}wi`Uz;lgkKˈo4j 4K;E1qT9NNL6vD R^ƟqR@ 0,fCӻ D-@ջE#+2fyI =TB '2>A)Y-7P*P 9R,_Sb|:E}7|-7U8=]zhOg?# Z3ENV*  !9" !" Cw SETPATH Version 1.0 :]/P:^ X/P w SETPATH allows the user to display or modify the symbolic search path for transient programs. Path elements may be expressed using drive-user (DU) or named-directory (DIR) form. The character '$' may be used with the DU form to indicate the current drive or user (e.g., "B$" or "$2" or "$$"). SETPATH sets or clears the program error flag. Command syntax is: SETPATH <-- Display Current Path SETPATH // <-- Print This Help Screen SETPATH element-list <-- Set New Path to element-list SETPATH [option element-list]....[option element-list] Where the option may be any of the following: /c <-- Clear path and set to new element-list /p <-- Prefix element-list to beginning of path /a <-- Append element-list to end of path /d <-- Delete element-list from path starting at beginning /r <-- Remove element-list from path starting from the end /p/P/a/A/d/D/c/C/r/R 2 " |” |w - Abort: No Path> ‹w ͑ * - ¸w - Abort: No Wheel>~ w - Abort: Illegal option - !} >~ w Input resulted in null path>~ Tw - Abort: Too many paths for buffer!} >~ †w - Abort: to many paths - !} >~ ½w - Abort: to many head paths - !} >~ w - Abort: to many tail paths - !} >~ w Bad Expression at * } > ~>  x": o&)*)" " " " #" ##" #" * * "* w2 2 2 2 2 * " * " * " * y2 2 * * y * R " R * >c2 o !<N * ~/ʽ2 " o : 2 2 * 6* " : cp!d}rʭaRý< : _: 2 ! ҋ* _" * y * ~ò: _: 2 ! * * y " * ~ò* * : GN ̚Šâ~w* * ~ò* yʹ+* : =O : G͏  +~w* * ~òO~## ~* : O": c I * * : O~ D @ #xY~#& < ##& * : O* i w# xX  b * R " ~: ! * <2 " ~$ A G͠ Ox #~$ : 0 : #~ô * * ~$ @#~#$ +2 ͽ :  * ~$ x<@#~$ y >: * ~$ G#~$ O#" [ >:w ~… w ~0P P Gy؇؁؇؀O#4 ~# R +h d !r ~ #f Noname ~#~#y ~#Æ xڲ ª + ™ +‘ >` ~< # ~#< + >  `  ѯ~ ##3 # F#Nѯ=  0S :Y AS [Y GxG=x r ~o ˆ #~+ˆ ##= r ͮ w* ,~* "~#fo* -~* ^#V#~ѷ*  ^#V#~ѷ* (~* )~#fo~" d-  - 0K 7 / _yA {y0K {w#xq i # X #P >} ~# ʻ ʨ ʭ ʭ ʱ    yʂ  yG>GO>   O*.   OG}o|g 7a{_*)}'$.+ ##= r ͮ w* ,~* "~#fo* -~* ^#V#~ѷ*  ^#V#~ѷ* (~* Z3ENV* ?c!9"1* ~"~2#~2* (~2 ͿPUBLIC, Version 1.0:]/ :^/ ͒* )^#V Ϳ - Abort: No Wheel ͒!#~/ʧ#~/(,CD:Uʈ,(ͿNot a valid Option:ͿSyntax: PUBLIC or PUBLIC /oooo... Options: Cc - Clear PUBLIC declarations c=A Clear All PUBLIC declarations c=D Clear PUBLIC User Area Drive c=U Clear PUBLIC User Dd - Declare Drive=d, PUBLIC Uu - Declare User=u, PUBLIC #~A&D,U322ç2ç#~ͳ J0?G:O>2çͿInvalid Drive Specified, Range is A - H #~ 0(90/G:O>2çͿInvalid User Specified, Range is 1 - 8 ::(O>A <Ϳ Public User Drive(s): f:(O>1 <Ϳ Public User Area(s): ͒:: (:(2AGͿ DIR Form: Drive : >2f( (:(0OR*:w#:w*>:> >:> !v !{:<2T2Ϳ ~ (͟# >:͟y  > ͟ NoneNoname V#^#͐~#͟ 5*P~!V###~=*P~!1222~1=*P~!_2222~_=*P~!ڌ22222~ʌ*P~!~2##2~:=%-22%\͟͟dz2t3[.R+=>*r"i͟>2>2͋O9ͩG͋͟:2͋͟G͋d 0͟G͋e͋d i:ʜ::ʗÜO:ʸiaʶø0z0yz͟~#\~#͟zO*+~>G! )! +~#\2#2""P"P{\~Yr#~+r##= \*^#V#~ѷ"> ͟> ͟O*. OA[y>yO0:y>ya{_S!~# S!"Z3ENVPWD ~-!~6w;;$R( Not Z33+$*  s 1 ͡8͆f{ * ~K (GyC : 2 az͕ͭͅ ! 4! 4N: (: *  " i#2 Q : =2 : 2 ͅ (more) C(ͅ aaaaCa4(>=_* ! :WM  7~=! _(#ͧ 7#F+: 0 ##( #~( (~@R#~^ ͅ : ###ͅ Nͅ - ~R#E N: <: Gͅ DU : DIR Name ͅ ---- -------- Gͅ DU : DIR Name - Password ͅ ---- -------- -------- E ͅ PWD, Version 2.0 ͫ ͮ!T K xK x( !BDM! y #x !  6̓! :w*"%  ^##~2 2 {͔2 {͔2 *" *" M (6 2  2 =ͽ ͞*  ~( , N#F͞> " ͅ Named Directory Buffer Not Availablea  #8 y! y #x ͊ͅ Displays DU and Directory Names with paging. Passwords may be included if WHEEL is on. Display may be limited to specified drives and/or to automatically wildcarded name specifications. SYNTAX: PWD [...] (delimiters are Space/Tab/Comma) Auto-wildcarded names to display : Display names for drives listed in ONLY ~: Exclude names for drives listed in / Honor an option or display help and quit. EXAMPLES: Displays (none) All Directory Names CA All Dir names starting with "CA" D:CA Dir names "CA??????" for drive D: only B-F: Dir names for drives B,C,D,E, and F BCML: Dir names for drives B,C,M, and L ~M: Dir names for all EXCEPT drive M: M (Dͅ /P Directory Names & Passwords (WHEEL only)7^#fkN#w + ^#V#N#Fq#p!0 "P 6!N#G wB(#". *. ~#".  ,:/    Z  P   ,     ~- " " 7 = " PA8Q0G:R OxA2R >P2S * #w" * ++~2R M ݮw Æ ë ! [P SP ͪÆ 0 * * *  !j y } ! * ! K " " " 2 F͚ y yG7G OXGA=OG7ww~q* 1.^ $+ ,^ "* ~#fo-^ k (^ * )^#V* |(~* |(^#V#~ѷ" ͮ ͍ ~#( ( Rͼ  ͮ V#^# ** * : W~(͗ *[(  : ͨ %-%( \ R͖ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0gRe.||d   008z0 AR~( #\ ~#RzO* |( +~(G  " |(" |(&~!8!  @ @ : ! 6# s#r#6#s#r#s#r#~#\ #> R> Rg &dz & z ͎ .,0g} |> (0GR|a{_%-%( \ R͖ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0gRe.||d   008z0 AR~( #\ ~#RzO* |( +~(G  " |(" |(&~!8!  URCP DZC pRCP-09H ZRL RCP-20HCZRLRCP-26 ZRL4"qRCP-36 ZRLV/RCP-DFLTZRLJ vRCP.DOC!9!R!P# $E"@\L! $i1'#Ȁf3In:fin2 g 󐀜ZXZ R:Dp98n&ɺb :i7Z'qaaQ\Z)1E$J(2|ghAswURx0eCIP6F )8hZуe9-OIG)ИD) vTZD# , ϱو$&c $x#~u VOKE5R SP :k!{>! w>wÁ*)~oā] o0>d́t ́t}0-/ R0y0 x(ý -:(>2ɯ> _́~#́́ "́! (́ atź{Á&~!#08 80))))_> Á;~# (+ 0́ FC*|( ́q́ CP*? ́q́!ú!́ ^#~ >ā0 ́M >ǴC~́# ́##:!0Á!Á:( ́ Resé100| % ́1:\ :/()= '́t́t́ćk free on ́9:A_.!++*2==22!́J́J (3^ ́J#% ́J P(C 2= <(> 22́%:=(́> > :=> ́%!> OA8[0 W> J >(́Q~#*́!́(ā  0!́(ā́}́#́ }́(#́́́ -́ ́́"]Áý|́}́́~́y(|O}O#́ ~. 8(Oý#́́́Ó( y0:8Á́!́(ʁ#́́́ Poḱ́́(ʁ"( ́ {#~ʁ #RCP-09H́ FC*|( ́q́ CP*? ́q́!uRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_~Copr. 1989 ZSA. Enabled Commands: Cled Cls (TC) Echo (lst) Help Peek (hdr) Poke Reset (sp) Space Spop Z3RCPCLEDCLS ECHO#H \ OKE R !SP POPu:k!{>! w>wÁ*)~oāi o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́~#́́ "́v! (́ atź {Á &~!#08 80))))_> ÁG~# (+**?R8 0́ FC*|( ́́ CP*? ́́! ́!́ ^#~ >ā0 ́Y >ǴC~́# ́/##CLED /.QHSDAFBGTLXYKVPWEM[É="Aw!E"C:]/(:=(!́́ SH ST́`́2u:0́ OVFL Á,S*AH́K.xÁyā́Q(:́~ ā#́:́!/ 8 ,0g}́|Ái(*A GO# ́śC!́! 6 8ځ́ ! !  >O N#FC  _́d>2LLW_p+ >Á~# ÁX́L~ (+́# ́(́ẂW~ (́ĹÁCyȸ(_́́ ÁĆ_́(x(́́́?AÁs:/2́x(: x8ẃW xxx(́4ẃCÁWx(́W ́L ~!5 ,;:.6x==(Gw#́́dQ(%S:/2́́`Á::܁=HG!B(%8#! B*A! +~(#6́1[A ~(("C6+˾Á́1́́+ER8+~(#:É*C7! # # ́>*~ ɸ# ~ #= :(2ÉK~́ (3~(*́(K+x( ́~ >*: G[! D}00 |D! !;i< ~#F=!́!>~ >$8'<'ẃa:́#>́a!́ÁEL:!0Á!Á:( ́ ReséO00| % ́=:\ :/()= '́́́ók free on ́W:A_.!++*2=2!́́ (3^ ́#% ́ P(C 2 <(> 2́:(́> > :> ́!> OA8[0 W> J >(́~#*́!́4ā   0!́4ā ́}́{ #́ }́ #́́́ -́ ́́- "Áý|́{ }́ ́~́{ y(|O}O#́ ~. 8(Oý#́́́Ó y0:8Á́!́4ʁ/́ ́́ Poḱ́́4ʁ"( ́  {#~ʁ #RCP-20HCRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cls (TC) Cp (stp) Dir (sp) Echo (lst) Era (sp) Help List Note Peek (hdpr) Poke Port Protect Quiet Register Rename Reset (sp) Space Type (cls) Wheel Z3RCPCLS >P bD PECHORA H IST=NOTE * OKE ORTI ROTW Q #R NEG EN SP YPEJWHL V > > > :k!{>! w>wÁ*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(! ~#́́ a_"  ~!Zā is R/́ - Eraś (Y/N/Q)? Ń-Q(Ý! (́ atź {Á &~!#08 80))))_> Á ~# (+́́s(́>́]́H ́a' \=ɯ!] ~?(#>Á !\ ́9&w#=`_ _:i_ ́́ḱ~#́́\<~#́ No FileÁ**? R8"""1" > Á2ŔT́6́ś>( ́!x8y0́ 6*~́=`i"<"& !}"&#!}|8"M[&!R|"M8ߵ(*&́8[Ḿś́! Nq#ɯG!N>=\!ĺ́ N˹#+DM)) ) DM*  0́ FC*|( ́́ CP*? ́́'! ́!́' ^#~ >ā'0 ́ >ǴC~́# ́'##:!0Á'!Á:( ́ Resé00| % ́:\ :/()= '́́́́k free on ́:(A_.!++*́@!!]~/ #~2m+> :e  >?́9́(:mA(S(x́ʁ~ʁ{ ́'{(́ ́]́́@:m2>́ʁ́́́]"́́H>> (́a ] ́́)*~ʁ́'́@́́!ḿ!\l( w:ýW~́T <(́>#́H ́( ́|<ʁyÁ́@́́ ] !m ́ !\l# ́ :/= [́́)g:( ́ DonÁ>>ÁW2 =2!́́ (3^ ́#% ́ P(C 2  <(> 2́: (́> > : > ́!> OA8[0 W> J >(́~#*:]S(R x2(:(Á:]2 ʁ2́@:m2 >́ʁy:32V *~ʁ:(> ́́] ́"́)<ʁy> ́> ́y8́)\ !~( ( ( ( 8́́ > ́"x #> _>({ Ḱʁg: ?!V 5 9:3w>P(/́ Typing!]́]́́-́́>ʁg >P2 ɡW ́@́2 !mI(R(S(A(2 goO" y2 >́ʁy *~ʁ́'́́́]"́ Set to R* W|(Oý}(́, SY: (́, AŔ>(́l ] ́+>́# +{́# +ź# \Á ˾́@!́ā  0!́ā́}́ #́ }́ #́'́́ -́ ́́ "1 Áý'|́ }́ ́~́ y(|O}O#́ ~. 8(Oý#́́́Ó y0:8Á́@!́ʁ́́́ Poḱ́́ʁ"( ́ {#~ʁ#́@!́ʁ́! s+6+r#́́ Por{́ ́(́6́: OU{́ : Iί́ ́Á^́= S(?P(M( (D( ́= Á 4-5*́ !Á ǴP x ́ x́'#ḿ) p:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É) x >0x!0 o!]~ (x ́ >*)ẃÁSYSTEM RCP-26H!mI(R(S(A(2 goO" y2 >RCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cled Cls (TC) Cp (stp) Dir (sp) Echo (lst) Era (sp) Help List Note ~ Peek (hdr) Poke Port Protect Quiet Register Rename Reset (sp) Space Spop Type (cls) Wheel Z3RCPCLEDxCLS P D ECHO RA  H IST NOTE {OKEZORTROTQ t R EG EN \ SP POPYPE WHL > > > :k!{>! w>wÁ*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́) O Of!(!~#́́ a_"  ~!fā) is R/́ - Eraś (Y/N/Q)? Ń9Q(Ý ! (́ atźB{ÁB&~!#08 80))))_> Á ~# (+́́(́J́íT ́m' \=ɯ!] ~?(#>Á !\ ́E&w#=`_ _:i_ ́́ẃ~#́́\<~#́ No FileÁ**? R8" "& " " > Á2^́`́6́́J( ́!x8y0́ 6*~́)=`i"H"2 !}"2#!}|8"Y[2!R|"Y8ߵ(*2́8[Ý́́! Nq#ɯG!N>=\!ĺ́ N˹#+DM)) ) DM*  0́ FC*|( ́ ́ CP*? ́ ́3!́)!́3 ^#~ >ā30 ́ >ǴC~́# ́3/##CLED /.QHSDAFBGTLXYKVPWEM[́"w!":]/(:=(!J́́ SH ST́́82:0́ OVFL ÁS*H́`K.xÁyā́(:Ṕ~ ā#́:T́!/ 8 ,0g}́|Á(* GO# ́́!Ĺ'! 6 8ځÉ!V ! >O N#FC _́>2uy  .18@n' + >Á~# Á́~ (+́# ́(́́~ (́́Áyȸ(_́́ Á́́(x(́́́AÁ:Q/2Q́'x(:Q x8ẃ xxx(́ẃÁx(́ ́ ~!5 ,;:.6x==(Gw#́'́Q(%S:T/2T́3́Á8:T:R܁<=HG!B(%8#! B*! +~(#6́[ ~(("6+˾Á8́́́+R8+~(#:́*7! # # ́)>*~ ɸ# ~ #= :S(2́QK~́Q (3~(*́Q(K+x( ́Q~ >*: G[! D}00 |D!!i ~#F=!ĺ)!~ >$8'<'ẃ:Ú#>́!ṕ)ÁL:!0Á3!Á):( ́ Resé00| % ́:\ :/()= '́́́́k free on ́:y A_.!++*́L!!]~/ #~2m+> :e  >?́É(:mA(S(x́ʁ~ʁ{ ́3{(́ ́í́L:m25 >́ʁ́́́i"́́T>> (́m ] ́́5*~ʁ́3́Ĺ́!ḿ!\l( w:ýc~́` <(́J#́T ́( ́<ʁÁ́Ĺ́ ] !m ́ !\l# ́ :/= [& ́́5g:( ́ DonÁ>>Ác2[ =2P !́h ́h  (3^ ́h #% ́h P(C 2[ <(> 2P ́C :[ (́< > > :[ > ́C !> OA8[0 W> J >(́o ~#*:]S(R x2(:(Á :]2I ʁA2ÍL:m2p>́ʁ:32*~ʁ:I(> ́ĆA] ́"́5<ʁ> ́C> ́Cy8́)\ !~( ( ( ( 8́ĆC > ́C"x #> _>({ Ḱʁ :I ?!5 9:3w>P(/́ Typing!]́í́9́́ ʁ  >P2pɡ́Ĺ2C !mI(R(S(A(2C goO"^y2X>́ʁ *~ʁ́3́́́i"́ Set to R*^ W|(Oý}(́, SY:X(́, AŔ>(́x ] ́+>́t+{́t+źt\Á˾́L!́ā  0!́ā́}́=#́ }́M#́3́́ -́ ́́"Áý3|́=}́B́~́=y(|O}O#́ ~. 8(Oý#́́́ÓM y0:8Á́L!́ʁ́́́ Poḱ́́ʁ"( ́ {#~ʁ#́L!́ʁ́!s+6+r#́́ Por{́=́(́6́: OU{́ : Iί́=́Á^́S(?P(M( (D( ́ÁH4-5*́"!ÁHǴx ́Hx́3#ḿzp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!Éz x >0x!0 o!]~ (́ >*)ẃÁ SYSTEM RCP-36HCmI(R(S(A(2C goO"^y2X>́ʁRCP11 _ENV__SSTK__MSG__FCB__MCL__XSTK__BIOS__ID_Copr. 1989 ZSA. Enabled Commands: Cls (TC) Echo (lst) Era (sp) Help Note Peek (hdr) Poke Port Register Res*et (sp) Space Type (cls) Wheel Z3RCPCLS ECHORA H 2NOTE OKEkORTR EG SP YPEWHL >  :k!{>! w>wÁ\*)~oā o0>d́ ́}0-/ R0y0 x(ý -:(>2ɯ> _́ O Of!(!~#́́ a_"]  ~!.ā is R/́ - Eraś (Y/N/Q)? ŃQ(Ý! (́ atźS{ÁS&~!#08 80))))_> Ác~# (+!\ ́&w#=`_ _:i_ ́́́~#́́Y\<~#́ No FileÁ\.**? R8"* > Ác2́́.6́́( ́!x8y0́G 6**~́=`i"" !}"#!}|8"[!R|"8ߵ(*́8[́́́  Nq#́́ N˹#+DM)) ) DM**  0́ FC*|( ́é CP*? ́é!́!́ ^#~ >ā0 ́u >ǴC~́# ́##:!0Á!Á:( ́ Resé%00| % ́Y:\ :/()= '́́́́k free on ́-:A_.!++*́:m2>́Rʁ́`́́",́́>e> (́5 ] ́́*,~ʁÝ2=2z!́́ (3^ ́#% ́ P(C 2 <(> 2źm:(́f> > :> ́m!> OA8[0 W> J >(́~#*́:m2T>́RʁU:32 *,~ʁ\] ́",́<ʁU> ́4> ́4y8́`)\ !~( ( ( ( 8́4́4 > ́4x #> _{ É`ʁ!5 9:3w>P(/́ Typing!]́́́́q́ʁ >P2Tɡ́!́ā  0!́ā́}́N#́ }́^#́́́ -́ ́́"Á\ý|́N}́Ś~́Ny(|O}O#́ ~. 8(Oý#́́`́Ó^ y0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngGÁ0 OxG!É x >0x!0 o!]~ (́  >*)ẃuÁSYSTEM RCP-18F] ́0:8Á́!́ʁ́́́ Poḱx́́ʁ\"( ́ {#~ʁ\#́!́ʁ́!s+6+r#́́ Por{́Ń(́6́: OU{́ : Iί́ŃÁ\^́S(?P(M( (D( ́ÁY4-5*́3!ÁYǴx ́Yx́#ḿp:(́ Reg0R} 8́  ́́ =ngG RELEASE.NOT - UPDATE INFORMATION ON NZCOM Please understand that unlike purely commercial enterprises, Z-System is mainly the work of enthusiasts. As such, Z-System never truly reaches completion; each new development is more of a plateau upon which further innovation occurs. Though we have done our best, the printed documentation inevitably lags behind the most recent enhancements. Try to consult as much material as possible about a given command before proceeding; if there is a help or document file pertaining to the command, it supercedes printed instructions, especially with regard to such matters as syntax or technical specifications. Notes of September 12, 1991 =========================== Release 1.2H involves a significant updating of the support utilities that we distribute as a courtesy with NZCOM. We suggest that any Z-System user who is not in regular contact with a Z-Node consider taking advantage of the Z- System Software Update Service (ZSUS). Here are some of the important changes with this release. ZCNFG.COM, CONFIG.LBR: Al Hawley has introduced a powerful and convenient method for configuring programs. ZCNFG works either with individual CFG files or with CFG files stored in the CONFIG.LBR library. For example, try running the command "ZCNFG ZLT". ZCNFG will automatically extract ZLT15.CFG from CONFIG.LBR. NZBLITZ.COM, NZBLTZ14.HZP, NZBLTZ14.CFG: These programs can be used to coldboot an NZCOM system very rapidly with the complete system, including error handlers, shells, and TCAPs already in place. Run "HELP NZBLTZ14" to learn more about it. Some of its features can be tailored by running "ZCNFG NZBLITZ" with the CFG file in the same directory. LBREXT.COM: This replaces LGET for extracting member files from LBR library files. HELP.COM, LBRHELP.COM, HLPFILES.LBR: HELP (actually HELPC14) is an improved version of the help utility. It can work with normal help files (HLP) and crunched help files (HZP). LBRHELP can work with normal or crunched help files that are stored in a library (which is where we have put all the help files distributed with NZCOM and Z3PLUS). DOCFILES.LBR: Documentation and help files have been collected into an LBR file. ZLT.COM: This is a full Z-System replacement for LT, and it handles the latest LZH-compressed files. COPY.COM: This is the version of COPY from the ZSDOS/ZDDOS release. Enter "COPY //" for syntax information. It replaces a dangerously defective copy program provided with earlier releases. LSH.COM, LSH.WZ, LSH-HELP.COM, LSHINST.COM, ZERR.COM: These are the latest LSH command history shell and command-line editor and the associated error handler (fixed-log versions). These completely replace EASE. CLEDINST.COM, CLEDSAVE.COM: A transient history shell like LSH can be slow on floppy systems with sluggish disk drives, even if the files have been placed in optimal locations. Some of the RCP modules supplied no include an RCP- resident command-line editor called CLED. Its features can be configured using CLEDINST.COM, and the history can be saved to a file using CLEDSAVE.COM. TCAP.LBR, XTCAP.COM: A number of programs now require a terminal capabilities descriptor (TCAP) with extended functions. The standard TCAPs loaded with TCSELECT do not have these functions. TCAP.LBR is a collection of extended TCAPs for some terminals. XTCAP.COM is a program that can add the most important extensions to a standard TCAP (it is a quick- and-dirty fix until the full set of TCAPs is updated). VIEW.COM: This is Bridger Mitchell's file viewing utility. It is very powerful (but it requires an extended TCAP). NAME.COM: This program can quickly add or remove a name for a single directory. TCJ.INF: TCJ has a new publisher (one of our own Z-Node sysops), and this file tells how to take out a subscription (which all Z-System users absolutely should do!). ZFILEB38.LZT: This is the BRIEF listing of all the support programs currently available for use with Z-System. There is another file which includes descriptions of all the programs, but it would fill up an entire diskette! Notes of November 5, 1989 ========================= 1. NEW FILES: NZCPR.LBR, FCP.LBR, RCP.LBR. 2. TCSELECT PROBLEM. 3. ERA.COM, REN.COM, SAVE.COM, ETC. 4. LSH REPLACES EASE. 5. NZBLITZ IS HERE! 6. MINOR UPDATE NOTES. 7. TO NEW Z-SYSTEM USERS. 8. ALERT ABOUT NZCPM.COM AND NZCOM.CCP 9. CHANGE IN MKZCM DEFAULT AND STANDARD RCP 10. NZBIO+.ZRL 1. NEW FILES: NZCPR.LBR, FCP.LBR, RCP.LBR. The main NZCOM.LBR now contains only the standard configurations of the CPR, FCP, and RCP modules to minimize disk space requirements. Alternative versions of these modules are now supplied in separate libraries. Modules can be loaded directly from these libraries, or individual files can be extracted and put into NZCOM.LBR to replace the default files. Each library has a brief DOC file describing the modules (one of which is the default version included in NZCOM.LBR). 2. TCSELECT PROBLEM. A problem has been discovered with the operation of TCSELECT as described in the manual. TCSELECT is a Z-System program and does not function reliably under CP/M (on some systems it causes a crash). Fortunately there is a simple fix: reverse the order of the instructions in the manual. Boot up NZ-COM before attempting to create MYTERM.Z3T, and run TCSELECT only after NZ-COM is running. Remember that you need both TCSELECT.COM and Z3TCAP.TCP to generate your .Z3T file. The entries in the Z3TCAP library for the Xerox computers has been patched to correct a long-standing error. 3. ERA.COM, REN.COM, SAVE.COM, ETC. The standard configuration of Z-System does not include resident commands for REN, DIR, or SAVE. These are provided instead as transient programs (COM files), and you should copy any that you need to your working disk. Several other functions that are often resident (but not always) are also provided as COM files. Many of these are type-4 programs (see the manual). We recommend using SDZ.COM as your standard directory display utility. It is far more functional than the resident DIR commands in either Z-System or CP/M, and it is designed to work properly under both. 4. LSH REPLACES EASE. EASE has been replaced by a newer, more versatile, and well-behaved program named LSH (Log SHell). Like EASE, LSH allows you to edit command lines using WordStar-like control. Consult LSH.WZ before use for general information and/or run HELPLSH while running LSH for a display of LSH's capabilities. LSHINST installs and customizes LSH to taste. Error handling is now taken care of by ZERR.COM, a separate program. Our great thanks to Rob Friefeld for writing these superb Z-System tools and for allowing us to include them with NZ-COM. 5. NZBLITZ IS HERE! NZBLITZ is now included with NZ-COM. True to its name, NZBLITZ loads NZCOM (and ZSDOS/ZDDOS, if present) in a flash, making it extremely helpful in saving and reloading a given system configuration. Once you have configured your system as wanted, log to drive A0: and type NZBLITZ NZLOAD. From now on, your startup to Z-System is MUCH faster; just type "NZLOAD". Be forewarned that NZBLITZ saves EVERYTHING as currently active, so be sure you are at the directory (usually A0:) you wish the system to start in, and be sure all active shells, flow states, terminal definitions, and so on are the desired ones before proceeding. See NZBLITZ.NZT for more information. 6. MINOR UPDATE NOTES. - The RCP WHLQ command no longer used. "WHL" alone displays the current wheel status. As before, "WHL password" turns the wheel byte on. "WHL xxx" now turns the wheel byte OFF if xxx is something other than the correct password. - ARUNZ is now a type-4 program which loads at the highest possible memory location so as to save lower memory for immediate re-execution with GO. See ARUNZ09R.DZC and TCJ31.MZG (as well as your NZ-COM or Z3PLUS manual) for more on the amazing ARUNZ. - VLU is no longer included, as it was not reliable. Please use LDIR, LGET, LPUT, and LT instead to manipulate library files. - At this writing, we are sorry to note that both Z-Node Central and the Lillipute Z-Nodes mentioned in Chapter 7 of your manual are out of service. Z-Nodes 2 and 3 are still going strong, however, as are the many others listed in ZNODES.LST. Z-Node 2 is the new Z-Node Central. We cannot recommend highly enough that you get a modem and investigate at least one Z-Node as a source of inspiration and support. - Version 5.0 of the ZEX batch processor replaces earlier versions. ZEX now runs under both NZ-COM and Z3PLUS and is a very powerful means of customizing programs and commands. The ZEX.RSX file mentioned in the manual is no longer required. See ZEX50.DZC for help. 7. TO NEW Z-SYSTEM USERS. - All files whose middle filetype character is "Z" (e.g., SAMPLE.DZC) are "crunched" files which must be uncompressed with LT.COM or UNCRUNCH.COM before use. - As outlined in section 4.3.2 of your manual, most Z-System programs have built-in help; type the name of any program followed by "//" for a short description if you are confused. - Finally, it is not at all necessary to master every nuance of the system before it becomes useful. Please don't try to devour all of Z-System at once. Instead, we suggest that you decide what aspects of the system you will find most helpful and try to master one or two of those before exploring further. We think you will find that if you choose wisely, learning one aspect fully not only makes that aspect of your computing world easier, it also equips you with the skills and confidence with which to surmount other aspects of Z-System more confidently. 8. ALERT ABOUT NZCPM.COM AND NZCOM.CCP Some users have been tripped up by the way NZCOM handles the generation of an NZCPM.COM file: it writes such a file only if one does not already exist. This speeds up loading of the system. However, should you ever make any change to your base CP/M system (such as installing ZSDOS/ZDDOS or a new version of the BIOS), you should be sure to erase the NZCPM.COM file so that NZCOM will create a new one the next time it is run. You should also be sure to use NZCOM and not NZBLITZ to load the system the first time after such a change. You should also be aware that warmboots of the NZ-COM Z-System are performed by loading the NZCOM.CCP file containing the image of the current command processor. This means that you must not change the diskette in the A: drive unless you have copied the **CURRENT** NZCOM.CCP file (if you only use one system configuration, the current version will not change) to the diskette you are going to place in the A: drive. 9. CHANGE IN MKZCM DEFAULT AND STANDARD RCP Carson Wilson and Rob Friefeld have made some major changes in the RCP code (see the DOC file in RCP.LBR). The standard RCP module is now 18 records long instead of 16. MKZCM.COM has been patched to provide this value as a default. 10. NZBIO+.ZRL The BIOS in some computers uses the Z80 index and alternate registers without saving them on the stack and restoring them. These computers include the TeleVideo 80x machines, the Oneac On!, the Zorba, and a number of other machines. Some programs (JETLDR and EDITNDR, for example) will not function properly under these conditions. The file NZBIO+.ZRL in NZCOM.LBR is a special version of the NZ-COM virtual BIOS that protects the Zilog registers across all BIOS calls. To use this BIOS, you much use MKZCM to allocate 4 records to the BIOS. If you observe strange behavior on your system with NZ-COM, you might want to try using this special BIOS. - End of RELEASE.NOT - Z3ENVSALIAS* ͚$s*0"]/ʭ !e !1ʕ *dL*."[R%l&"* = ~(6 SALIAS 1.5 INSTALLATION Installing q 1 Install Editing Keys 2 Install Word Separator Chars 3 Install Insert/Overwrite Flag I Information S Save Changes X Quit ͅX^ .^ S4 I123<6 COMMAND KEY INSTALLATION The control key bindings are listed in a table. Letters represent CONTROL KEYS entered while editing. Those preceeded by a control character are shifted keys scanned only after one of four lead-in keys has been pressed. To change a key binding, move the cursor to the function you want to change. To make it a shifted command, first enter a number 1-3 corresponding to the lead-in key you want to assign. Enter a character "A" through "^" for the base control key. If you don't want a function implemented, enter a "-" for it. For example, if lead-in key #2 is ^Q and you want to assign the control sequence ^QZ to a function, first enter "2" then enter "Z". The display then shows the current key assignment. DEL is converted to ^_ by SALIAS, so that control key is not available. Strike Any key -- Õ ͭKͰDefault Insert On? ~͉ --> Y(Nw=wͤɷ>Nʽ>Yý5ͭͣͰInstall characters recognized as word separators. You can use no more than the number below. To use fewer, just repeat some of them. Do not start with a space. [ to skip installation] Current ->  ~ͽ# Change to -> > ͤ~6 Each command must have a unique key. Letters represent control keys. Enter a number 1-3 BEFORE entering the key to bind it to one of the lead-in keys. To disable a function use "-". ESC CR DEL are entered directly. TAB is "I". Quit - ^C or "." Skip - ^E Up, ^D Rt, ^X Dn, ^S Lt (& Arrow Keys)ͬ͗ * "*  )2 ; :< : ~#-{ *(-(#(#~@ʹ ʹ [ ͍ ͬ ͽ_@_@_ [ I M ͽ͹ DELESCTABCR>^ͽ>> ͹ :G! (~# :gK oQɯ: 0G C͗   . j \ a R W \ a R W !  ͩ  ͼ ͵ ͢ ̓  ͢ : ͩ [*K G:2)د222! !4{6! !~(5sͤx ^618'50#0G*+#= ~-̹ >` w -(w : {̬* 2<   x ~-:` _)*~ >)2  ?#2Lead-in Key #Lead-in Key #Lead-in Key #BackspacCursor LCursor RCursor UCursor DWord RWord LEnd/Start of LinLine StarLine EnUp ScreeDown ScreeDelete ChaDelete Char LDelete Word RDelete LinDelete to EOCarriage ReturInsert LinIndent LinIndent ScripInsert/OverwritControl ChaFinReplacRepeat Find/ReClear (ZapSave & ResumSave & CleaSave & QuiQuiFILE ModRenamRead FilToggle ModUndo ChangePrint ScripHel:  Saving... &1*dD2:(#Save Changes? (Y/n) N: 6,{ No filen6 >VSAINST - Default option and command key installation for SALIAS 1.5 Syntax: SAINST [salias.com] Í d  >W Installs only SALIAS, Version 1.5Í BGx( # 0=#  Choice:  *"=2͜~#ͽ> ý#( ## #^#V!w!6< #^#6~# (+:i2!hw#:2i\͕<\y F"*"}File: \xAͽy54ě>:ͽ>/ͽ~# Ľ 0ͬ ý>ͽSALIAS COM~#( ( ͽV#^#Q: *=[[÷[[÷* : W~(U*[( : fs&O["̛ܛܛܛ:g:g gɠgͰ[ (%-%( \ ͽD(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|ͽe||d; ;0/0Gz0 A(ͽx~( #\ ~#ͽzO*>|( +~(G͌ ͒ ">|("|(D~!8? ~2#~2#~2 #:O # ! 6#s#r#6#s#r# 6#s#r#~#\ #} ~(# ~ # n###w*>1"*>~#foÄ*>|(^#V#~ѷ(G! NͲ">Y X OG>ѷO> ͽ> ͽ>)>.ͽ) Ľ&dK& K_.,0g} |> (0Gͽ|'͓͓d͓ ͓}ͤR<0 > (0GýͽͽO>a{_o*oƐ'@'@s#r#6#s#r# 6#s#r#~#\ #} ~(# ~ # n###w*>1"*>~#foÄ*>|(^#V#~ѷ(G! NͲ">Y X OG>ѷO> ÀZ3ENVF* |Z3 ALIAS!\~ʒ$$~#S.*DUF(1N(@T(H0( G!/(~!8 #ͱͼ>.ͱͼͱͼ>*~00#G%x = ~ (#>xA>y/ 00Gy0(x!~(#~ 0^ ~+8,(/0.Y BKxEyNƐ'@'#.8~.0#- u!R~0 8 #))))o!\~ͮ Ovfl$##F( ~;( (~#+ : (6~;( (>;( ~#(s#r~ =>$>'~#fo>G* o$~# ~ # OGa{_SALIAS --    , ;:./=$%*"jnryy4 , < E 0G W< B g uvm b & . > I L X s1͓1(s * [(L~2~O8.#~8(22G !G"K 2F d*")CRT < 79xTCAP:]?( /:^ (/SALIAS, Version 1.5 - Screen Oriented Alias Editor Syntax: SALIAS [dir:][filename] { Ü͔ ͚  :x̋ !!!xx 8څd!!) >(O N#FC`6>>>2x( >͍>= 4 y(}~ (+~#Ͷ ! x, Ͷ >>=Ͷ x, G~Ͷ( Ͷ yOͶ ~ (x , ' 6x=(ɯ }x ~Ͷ(x xG6#A>>͡= :/2ͤ x(: x8wͶ xxx(ͽwͶ  O T]+#x(*I #XNH{0Y *I #gzN _+ Å!! #zFind:!O!%  Global Replac>22 Change to:*M KO [Q Y >F2= X ͔ : 2+  *M := R(#! ~( qݾ(8#ͥ # : !x͔ *S "I :U 2H ^Not Found"; : O (##~qݾ *; "M *I F[; R-MCO [Q {8N(8SQ ^:= R(: (=!& :% ((~ͦ#=ʹ=>R2= X  ͔ ̈́:X X : ÄgN ~E#>{= ~E# y + Z>N8_{'WN_J*I # g :H gyo,*I F#N *I p #Ę + ͥ  :(y 9 KG y(2H ͘ "I [I :H *I 6 l  ͤ W, F ͹  g*)=x2> Oz :> +w#!z O KG [I ͥ ( "I CG l  :H 7 ͤ 4 :> Ȁ8>:> z G x ͚   ͚ ~ ͥ  "M *I p"S CO SQ :H 2U :U 2H KO [Q *S "I *M X Fq :2 ! :͵L(ONOFF - FILE MODE -- EDITING -- INSERTKG x͘ #͘ rx qB q(:͝2 q(*  X _͔ q X O X !t (CleaX q  ͬ*)"I 2H KG y=(CG *I "I :H (=2H *I R"I *I N #>=(G6#{Gͥ ͚ !y!*)[)!C 6~;((&~04O +~S (>6~#w6ͥ 6!q xALIAS CHOPPEDy!͚ ~(G#~(#>;ͥ  KF !y!>( #;(*):G G!~(##~  #((#S? *F gR"D 8ɯ!][D !R͈ CHARS!f![? R0 CAN'T! xͯ CL OVFL - SAVE ANYWAKK *)"I 6# x :X ͡*S "I :U 2H ^ :Gr  Strike Any Key --x !)2ͣ:<:~#-]!(0(#(#~@͕͕[ o͎͜V_@!_@_d([o(Iz( M̅(V͜DEESTAC :G!(~#:gKo: 0GCMeta-key #Meta-key #Meta-key #BackspacCursor LCursor RCursor UCursor DWord RWord LEnd/Start of LinLine StarLine EnUp ScreeDown ScreeDelete ChaDelete Char LDelete Word RDelete LinDelete to EOCarriage ReturInsert LinIndent LinIndent ScripInsert/OverwritControl ChaFinReplacRepeat Find/ReClear (ZapSave & ResumSave & CleaSave & QuiQuiFILE ModRenamRead FilToggle ModUndo ChangePrint ScripHelAxq!! > O ^#VACEFILMPNSUXHIYk"!Add Clear Edit Form Help Ind Load Mode Name Print Save Undo eXit*.NOÜ!\V $ *? }(?s ʓ"͚ ~(ͥ (4* !V \$ov(:W lNo roomxßs͝F}ß s ͚ ß2 (V>8Q!!͌ ~(5!͌ 6~(g=   ~ #!z͌(!~͌(ͥ !4IF :IF FIZIFF#~qݾ #((ÜAlias Name: ß! ~/wÜ͚ ~!$x_QDʗ!G͉!<!\͚͛ rr͓rͥ ʏAlias: Print to List/Disk/Quit? (L/d/q)Is printer ON no_Ü!}qÜ ͧ ̜s F:] ( }ÊFͬßs͚ ! FÜ! QuiSALIAS 1.5F}&.͚ #͘ ͥ r͵Mode:! ~ NormalRecurs͵Free:  ( *D ͈[D !RÈ͵-!{͡Ü>DV Line or Text? (L/t)x_2͚ #~(#~(:T>; > > ͥ :T(>!\y# !y#">!#H@TXTSC! w#BB<B<\2SB>  2A :i2B :B _ :B 2i͗<\!\6 #6 !i~+#62i!6# y !y!!e6C#6O#6M!]>? ͹oyï oͩ!]~ (v͆(!%PH(lͮ is not an aliasx͕͝*%&%!g~ݾ ##ɯZ3 ALIASy!~!% ~F#~2 !{ͩv͆(͑͊! "!R%DUSaving  ... Replac(!!#~:A 2B v!% *#~ ( +\$!%~2\ ~2io File?x>`>`͕2l͗:] (&ͺ=G:B O(~ V#ͱͺ\8:B \<@V 8  0>0V0V V͑ DISK FULLx~#( ( V<~#E 0 @2Rx_> Vg (>2[>KF#~ ܮV ̻ ̻@ >:O:g.l? (Y/n)x_N(>YVrN>-V͵H#Ax (((($_wE##6ywx0+>Vy(G>VxA[@ 0@a{_~(qw#d͜ ͜}0V/ R0y10xy VͻV#^#:)*)[)[)x[)[)x*):)W~(*)[)( ́:)'4&O[)\\\\:)g:)g gɠgq[)(̓%-%( \ k͆D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|ke||d 0/0Gz0 A(kx~( #\ ~#kzO*)|( +~(GM S ")|(")|(D~!8? ~2)#~2)#~2)):)O  !)6#s#r#6#s#r# 6#s#r#~#\ #  ~(# ~ # 2)vͣ,v2)2)Iy2)~: #ͧ~2): 3#:)((( :) :)ͩѯ2)ͧ~2):) . #ͧ :):)͋#* +>??͋#!)4(s#G~A8@0b2)#~ ̈́~ ( ̈́8#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,'-'4*)0~_*)|(~*)|(^#V#~ѷ")` `OGѷO>͑~(͆w#a{_͙o*o)#~ O Y052)-% ( #( #(  2)2)~͋(#̈́8Wy888 8 8Oy70 ?~_.,>:0 Яɿɯͩ q#w#Iq#w#*)^#V*)1.'*)~!8,' Z3ENV!~6w;;R( Not Z33+$SAVED NDR* "s12_s͇b:_{:]?(/(!v* ###c> J>(C"`2b>(6( >ob)"d|>(:  ( # 2_7bk!] >?>35E\(͜Kd*`\T>  Ͷ<>(] !7e ! >.!?:_&o~#fo> O~P# =ɓ/ocode 1 - Wheel privileges are required. code 2 - Can't find System Named Directory! code 3 - This is a ZCPR3 program which must be installed with Z3INS. code 4 - Can't close file. Program may be munched. Replace it. code 5 - Wild cards not allowed. code 6 - Disk full, file not saved. code 7 - SAVNDR, Version 1.2 Writes the Named DiRectory to disk Syntax: SAVNDR [DIR:][FN][.FT] ? or / or // display this help screen. If no argument given, the NDR will be saved in SAVED.NDR Any existing file with the same name will be replaced without backup. w*&$~#fo|*&"~#fo*&^#V#~ѷ*&)~#fo~"&Ø——Ñ2 2:_:_ ~#/+~#/ O !GC#9y  _Z3ENVWHEELMAXUSER DRVTBLLCFLAGFILE ATTR:ONOFFSUMM DATA:ONOFFOPTIONSACDHLNQTVXDISK DIR SDZ132B -- 06/12/88, ZCPR34/ARC/ARK Version!9"n1n* |2ʉ~$ *n!^#V2N:O~#fo/>)#y* T]|<^#V#~<2"* ~~NumuCubuÉ~#u~#~~:–:>2!]~/µ#~/µ#~ µ:e X* |~~2#~2+>w#w!btw# :>2m|w# !0}2 }22  F 222 F M2:J:i2:k2w!F#~[ʶ$ʮ/™+~# ™ ʷ]ʷ!a# :~_w6÷ʹ P V !~ #>? ʹ ÷:e,T:,>2\:cA:gA22:d>kL>r2:q:b]/2b:mi F 1:\=Y_! ~e G:xʖ:ҖxÖG2!Yxe !]~$/[  6?#>?2hͬ !\^F ͅ##~2#~2##^#V"#^#V#*.;^#~2#~2#^"R":0R:\=_.F !~w+@ :*É*#hW+}yzc_i`:ʉ)=„"*#)p""*{zuͅ:_ F >?!hw#w#w!"""ͬ \F <ʅ=! o:l#~+:j~:n~} o:#* w#&o&o|go|gr#s#"*#"! *{zYMemory)͙ *}ʖ 2*!p s#r# +}ž*"+}$*|g}o$}o"#"*{ozg"*"** **{ozg**#{z*ý:f!5uF 2:p ʹ *"!""!p"":b*O *""*+"|D:b *> D##"*^#V#":bn* " }; >. ; *"*#":d™*:b±|}*|ʖ : *|ʖ ľ ʹ V#^":_zW/_zW{_ɯ2:2% 2% % % >0 01 ' x0I :>0 : 2 T])))e ܾ *~; >. ; V#^: *+"| 7:bʬ :h¬ *|ı2*| 2:b : 2 ʹ  :\@ ͅ ͒ > : } ~ : bͲ   * ʹ := mͲ :b y/_*  R y22o&O "*>w#n !4ʹ *W ʤ *W ʤ *W ʤ *W * "*|ʽ !5x :h *|ı:c :g ͅ :!4Ҍ:w!~6' !t~6  *r6#= uF PuF !~6e !f5w Z :\@ ͅS ͒  ʹ :bĴ 4:e| >!\4| i:kn F  F n: گ 2/ Ҡ Gy x0 > > >: >  G :f *r:t ͙ uF P!>p#"r=2tx_:kF { { :i{ :k{ :f{ :<2.{ <  ʰ ʰʰ n o _CʰKʰXʰ2D ɷ CͲ _:6{ʢ Aڢ [Ң ͬ NͲ _ͬ ò ~ #¾   *. E  8 _ S < _, , , 8 < C, K, X8  Å  :l G:0xh h |‹xx ͋ h 2 !4ͅ:_ F ï F  * :bô ͬ  ^#V#N#F_ #  n) ) Nq#Nqn) ) N#FYPN#fi :oK KK####K>2fʹ O ʹ :e… >!\4څi:b̴  F F :·:0ڰ-F ÷:eT:_F :_ F *n* ~:w#:w>2*:\*:#*>[ #~ >]  y> :2!H*=@ > J::0i-F *#^#V. ^>FNpq#=x: 1nn>22$կž~#:ʺ,!æ~ͨAA<2#~:?2#~:G~#: 0 OxGx 2~:#~,(!@ >?-:G:O>Z~.T#Z3z3̓z*l>?n#Z̓#r> z~ͨ!ڦ=_.:;,<>ɾa{ !p"2*+"| *> ##"û*|2:.Ĵ   * >2*^#V#"!>22:.Ĵ :J :\@ ͒ >: ; >. ;   :\ 6#F F ͙ !~:¿~!$:!>; *|ûF ͅ:_ F F  > #¿#^#~¿#^#Vzʿ"*#">2!T*}+"F ͙ !~i: T5 !>zÅ >: #; >. ; ##^#V*":d!{_j))))): *#":=2Y>2ʹ Y~#ɯ=2*#">2¿((! 6 #66#?!~#w._N~.k#~w#k!^#V#N{z_yW"!i!~*!ڨրwz$F *+ڿ"!¿!4 :<2o&~=2ÿF ͙ !\:# #C:K!YT# G t :P  Available Options (after '$' or '/' or '[' character): A - all user areas N - no page pause [more] C - file sizes in records Q - show non-archived files D - all drives T - order by file type H - current area to highest V - show version number L - list LBR/ARC/ARK members X - toggle horiz/vert format Example - to list all drives and user areas, no pauses: B0>SD /DAN * * * Special SYSOP Options (WHEEL SET) * * * F - file output (DISK.DIR) R - reset disk system O - show only SYS files S - include SYS files P - printer output ++ ABORTED ++ Bad ENV TypeDrive/User[more] $ $ Error ->>> No detectable file(s) on : Drive /k Files: Free: k There are member files in library(s) and/or archive(s) Archive directory for Library directory for k ++ Not a library file ++ ++ Not an archive file ++ LBRAR F - file output (DISK.DIR) R - reset disk system O - show only SYS files S - include SYS files P - priZ3ENV'* `'"+~8͵) Extended ENV required.V%(i% ͵) TCAP inadequate.!m~ ( / #~Ed!]~/#~Ed͵) SHOW, Version 1.4 Syntax: SHOW <-- Invoke Normally with Main Menu SHOW C <-- Invoke with Menu Choice C SHOW /E <-- Install "SHOW" as Error Handler SHOW C /E <-- Install "SHOW C" as Error Handler ' =͵) Cannot install SHOW as error handler using GO or JUMPͣ(' x@y*>:Ϳ(#~ (!] ( /(6 #w#6͵) Error handling command line set to: ͣ(ͻ)͋(͹'Ͳ%:] (%-->  SHOW Main Menu  <--!"+$ PACKAGE DATA$ F --  Flow Command Package $ R --  Resident Command Pkg $ C --  CPR Commands $ I --  Input/Output Package Ͷ$$ ENVIRONMENT$ E --  Error Handler $ M --  Memory Utility $ N --  Named Directory $ P --  Path Expression $ S --  Shell Stack !("+$ ZCPR3 SYSTEM DATA$ 1 --  Module Data $ 2 --  Message Buffers $ 3 --  Environment Data $ 4 --  System File Names Ͷ$$ CPR OPTIONS$ 5 --  CPR Facilities $ 6 --  Special Options $ 7 --  Access Options Ͷ$$ X --  Exit (% SHOW Command:  *u5%V%(%>>>> SHOW Version 1.4 <<<<1 2 3 4c 567!C$F4RE@IMNP{SX $ $$!5O~ȹ(####~#fo7(õ%(%  Memory Display :+O(% x> +y +> + 5%| y0:8+ 5% *+*+5% --$ (% Command ( <=down, >=up, A=addr, P=poke, CR=menu)?  i%*P(!A(v>(.(+<(,(-͵)oke addr (hex)? 0=T]K+B8-| )%4i%͵) Value (hex)? 0 | }">+ ͵)ddress (Hex)? 0"+Ñ>w)d+~4+7*+$"+*+%"+(% ZCPR3 Message Buffer Data !"+$ Shell Control Data$ Enable Shell Comment:   Z G$$ Enable Shell Echo:  N$$ Enable Shell Wait:  ~$Ͷ$$ Command Error Code:  Z +  !-"+$ Command Status Flag$ Shell Status:  Z G$$ Error Status:  N$$ Extended Cmd Status:  V$$ External Cmd Status:  ^$Ͷ$$ ZEX Running:  Z $' '$ SUBMIT Running:  -Z $Ͷ$$ Current IF Level:  Z N8xͥ*!"+$ User Registers (decimal) Ͷ$0Z  5% >:+5%=~#~*$ System Reserved Bytes (hex) Ͷ$5% ~# +$ User-Defined Bytes (hex) Ͷ$5% ~# +$ Program Error Code:  Z +$ Error Handler Defined:  Z $$ Error Command Line:  û)(~(% System File Names !"+$ Shell Variable File:  >G͍ Ͷ$Ͷ$1! $ System File Name y+5%:   ^*!~ ^*͵)-undefined-(% Data from Environment (% I/O DEVICE: LST CON (% width (% total lines (%  text lines (%  formfeed !&>7͌ !4>1n (%  DU OK:  >.͍~$5%  Max DU:  >,͍~@+#~ͥ*5%  Speed:  >+͍~ͥ*5% MHz5%  Quiet:  >(͍~$(% Drive Map:  >4͍^#VA-{0z+"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*"+͍Ͷ$~̓*Ͷ$#~̓*Ͷ$#~̓*Ͷ$#~$(% System Component (%- Address (%> Size !"+$Multiple Command Line Buffer (MCL)$Command Search Path (PATH)$Shell Stack (SHL)$Named Directory Register (NDR)$Flow Command Package (FCP)$Resident Command Package (RCP)$Input/Output Package (IOP)$Environment Descriptor (ENV)Ͷ$$Message Buffer (MSG)$External File Control Block (XFCB)$System Stack (STK)$Wheel Security Byte (WHL)Ͷ$$Basic I/O System (BIOS)$Disk Operating System (DOS)$Console Command Processor (CCP)!0"+Ͷ$>hͶ$> hͶ$>hͶ$>hͶ$>hͶ$> hͶ$>hͶ$>hͶ$Ͷ$>"hͶ$>$hͶ$>&hͶ$>)hͶ$Ͷ$>EhͶ$>BhͶ$>?h!;"+>̈́ characters> ̈́ elements> ̈́ >!͍~ͥ*5%-byte entries>̈́ names>̈́ records>̈́ records>̈́ records>̈́ records!;"+>D̈́ records>Ä́ records͍^#V|+5%----͍~Ã*Ͷ$}5%*+o|g(% Input/Output Package (| ,(%Input/Output Packages Not Availablei /(%Input/Output Redirection Not Availableyͧ(% Strike Any Key For Next Screen - *(% Input/Output Package ;͐5%  Console>C5%  Printer>,5%  Reader >5%  Punch >G5%  Assignment is i+## NP5% Devices --  Gi++##Ny( ͵) > P5% - ͻ)v~# (+> +((% Path Expressions (~ (%!Path is Empty(% Symbolic Form (%# DU Form (%2 DIR Form !"+(~(!Ͷ$Ͷ$~$(@+#~$ +ͥ*#!&"+@)(~(Ͷ$Ͷ$~$ x@+#~$ yͥ*#!4"+(~Ͷ$Ͷ$@)~$(G#~$(Oy#i(( ~+#5%noname(% Named Directory Data ( -(%Named Directory Buffer Not AvailableS+Ͷ$~( W{Ķ$Ͷ$~@+#~̓*5%: #~+# 5% {̶$(% Flow Command Package ( -(%Flow Command Package not implemented(% Flow (FCP) Commands: ! "+(#(% Resident IF Options: ! "+#~3#(% FCP Configuration Options !#"+$COMIF processing: F$F(M$Use root of path: N$$Specific DU: #~A+~+V(ͥ*(% Resident Command Package ( 0(%Resident Command Package not implemented5(% Resident (RCP) Commands: ! "+((% CPR Resident Commands '(;(%Command Processor is not ZCPR33 or is not in memory8(% Command Processor Commands ! "+H((%&(wheel-restricted cmds in lowercase)^#~~ ##*+%> oD8$. "+>2+C:+~ A8[0 +#(% Error Processing Data !-"+ !"+ Ͷ$$ Command Error Status: Z O 5% NO ERROR'( 5% ERROR! "+$Error Source: Z _(5%EXTERNAL 5%CPR/ECP$Command Error Code: Z ͥ*$Description: !W) h> a ~  5%Illegal attempt to change directory5%Invalid directory specification5%Incorrect password5%Bad command form (file type / wild card)5%Command not found by CCP or ECP5%Requested load file not found5%Ambiguous or missing file name5%Bad numerical expression5%Requested operand file not found5%Disk full5%TPA full (program too big)5%Unknown error type(% Defective Command:  ͯ(~(;+#(% Shell Stack Data ) 1(%Shell Stack NOT Available on this System!"+)XG1$ Element y+5%  ~ 5%NOT USED5%Command line: ͻ)$ $ Ͷ$ ͚$^$(% Facilities & Addresses (% Command Processor (% Executable Object Files (%  Extended Command Processor (% SUBMIT/ZEX Facility !$"+$version number:Ͷ$$file type:$check attributes:$accept DIR files:$accept SYS files:Ͷ$$file name:$rootonly:Ͷ$$SUBMIT available:$command filename:$LONGSUB option:$echo commands:$use DOS clue:$ZEX prompt:!:"+$3.:+02++Ͷ$Ͷ$͠'͠#:+gQ$:+oQ$:+wQ$Ͷ$Ͷ$͠#:+wQ$ }2+Ͷ$:+GQ$Ͷ$ W$Ͷ$W$Ͷ$W$Ͷ$W$`͏'~@@ >$+:+0>08>$+>:+#͠#>.+͠#0:+40Ͷ$W$:+Q$Ͷ$:+G͗:+OQ$Ͷ$:+48:+08W$ :+G͗P(5%QUIET FLAGX$͚$^$(% Environment & Special Options (% Information from Environment (%  Special Processing Features ! "+$Maximum DU values:$Accept DU form:$Show DU in prompt:$Get RCP address:$Get FCP address:$Get NDR address:! "+$Invoke ECP for bad DU/DIR change:$Invoke ECP for bad command form:$User areas 16..31 loggable:$Direct access to ECP:$Prefix for direct ECP access:$Prefix for current directory:$Skip path for explicit DU/DIR prefix:$Allow IF processing in shell aliases:!7"+:+G0$:+O0$:+W0$:+_0$:+g0$:+o0$Ͷ$Ͷ$:+Q$:+Q$:+Q$:+OQ$Ͷ$(>>"+:+G(#+x 5%" or space5%" only5%space onlyͶ$>"+:+(+5%" or ":" 5%:" only:+GQ$:+Q$͚$^$(% Directories, Paths, and Security (% Directory References (%  Command Prompt (%  Path Search (% Security Features !"+$accept DU:Ͷ$5%accept DIR:Ͷ$5%DU before DIR:Ͷ$$include DU:$include DIR:Ͷ$$allow DU/DIR prefixes:$include current directory:Ͷ$$password checking:$password echoing:$allow directory change:!:"+:+Gͪ#:+OQ$:+WQ$Ͷ$:+_ͪ#:+gQ$Ͷ$:+w#:+o#Ͷ$Ͷ$:+w#:+/oQ$Ͷ$:+/g$~ +#Ͷ$$:+/W$5%follow ENV DUOK flagͶ$$:+/W$5%ONLY IF WHEEL ON$:+/_$5%ONLY IF WHEEL OFF$5%ONLY IF WHEEL ONͶ$( 5%FROM ENV5%HARD CODEDͶ$$5%--(%Command Processor is not ZCPR33 or is not in memory'H( +~  *+%$"+Ͷ$5% ͵)NO͵)YES"+x> +~ +#> +͵)| *+~ 0>.+#SHOW V#^#%V#^#%~#(( ( +̀%̓%t'ڮ%V###á%t'ڮ%V#U'U'á%7t'8!8U'U'U'U'~( '=77?t'88U'U'~( 't'8#~2+##U'~(&:+!'=ɯ%-2+2+%(\(++͛+D(y2(p3(T.(H+(0>(R(I(+>2+>2+&O0&G&+:+2+&+&d& &0+&&d& :+&(:+:+(O:+&(ia(08z0 y(z+~( #\ ~#+z!'Ot'8y(+~ >GG' M' ~#\ #"+|("+*+|7~!Ϳ( N#F'͠' =H(^#R ##>'(,)' H( FɯH(###~ ##~0!~#Z~3 !~#~( ͵)Program Requires Z System=?(˞(###*+~( 7^#V*( ~(# ~ #= >͗(()(~ѷ(~#fo$())"*+~#fo) ) ))XG*+^#V#~#Fѷ*+w*+^#V#~ѷ"+Y )X)) )OGF#"+##( ###*+#~#fo2,!"+2,+ !+N# 6:,(!+~(͛+w#!+:+ͻ)~#(3 ( 0* ( ( (  y( yG>GO> +> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7| +} +ͦ++ͪ++. "+O:g/+~͛+08!G0:8A80 8))))O #{~#(+(+~#(+ O !+y  a{_Ɛ'@'> +> +*+*Û+. !*:g,*E*+>^+@+ 0 Oyt*>.+t*+&d͙*& ͙*͞**00+|&dͻ*& ͻ***00+|&d*& ***00|.,0g} @(> 7  \\ANSI Z3TK``BB2 Z3TC128-DLCZ3THDS-AVT Z3T eeHP150 Z3TxAINFOTON Z3T WW i iSBRAIN Z3T NF @TRS2-12 Z3T 6VCCTRS80-MMZ3T ϙUU@`TRSMODIVZ3T ms@@WYSE50 Z3TN22@@XEROX Z3T <<  KAYPRO84Z3TYkk x x ANSI Standard %I[%d;%dHBig Board II *=%+ %+ tG5G0C128 Commodore 2=%+ %+ T#''6'6concept avt [%i%2;%i%2HHP150ii HJ%r&a%2c%2YK&dH&d@General Trm 100A f%r%+ %+ K43SuperBrain Y%+ %+ ~K~H~hTRS80 Model 2/12 Y%+ %+ @ACBVT^?FDLEGTRS80 MONTEZUMA =%+ %+ TRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7Kaypro-10/4 @ =%+ %+ B1B0C0C1REGAC4B4fced`isuatvTRS-80 Model IV =%+ %+ WYSE-50D G +=%+ %+ T)((REYG0248?6HH`0`12315:67;0=894Xerox 16/8 =%+ %+ )(7 Information About Subscriptions to The Computer Journal The subscription rates for TCJ as of September 1, 1991, are as follows: 1 year 2 years ------ ------- U.S. $18 $32 Foreign (surface mail) $24 $44 Foreign (air mail) $38 $72 There are six issues per year. To place a subscription, contact the new publisher (as of July 1992): The Computer Journal P.O. Box 535 Lincoln, CA 95658 916-645-1670 (answering machine and FAX) You may order a trial subscription. Just place an order. If you decide that TCJ is not for you, then just mark the invoice "cancel" and send it back. Payments for TCJ must normally be in the form of a money order or a check drawn on a U.S. bank in U.S. funds or a postal money order in U.S. funds. It is expected that MasterCard and VISA will again be acceptable in the future. ncoln, CA 95658 916-645-1670 (answering machine and FAX) You may order a trial subscription. Just place an order. If you decide that TCJ is not for you, then just mark the invoice "cancel" and send it back. Payments for TCJ must normally be in the form of a money order or a check drawn on a U.S. bank in U.S. funds or a postal money order in U.S. funds. It is expectevTCJ25.MAG!!!# xh2 E2I@C7S "%O"et;NParL&$ aFZt4͐Iu3fgC- c)MJDdLp:BQI6 (0Cu6C)O2.c4:tˌfSq3E [P64&}a6QI1\ Nag|I^ <,*![|\ G=r:>6`C|[Nt2b R|FSm5swQil1cu $pEṷg"!];/Z kg|.%`IԆ@($%[;8 ?--r&qP ]缃*Ƞ"2Ybkt`w=e'2ءH"Nu6#0s5'Đoq DІb M)ɋ s#Uw&DЛԼ"(8mq"?+3`֒d .f!2J+ dHkmVbUUp☉i}IJw%'R )ȽXae)֧ḞTY)ؿ؏-*]gmn(ERh#-J5?VLI%X 3eRt8DJ&'RHS_wY7 WFI</=yH"vp^\7H~ZxR&TVU <' :RL"JM:)#`!ly11 ' @kneK9rKM!$ڃS5פˋj $G)}P04_҄r2B\ѻL%N-=-#j)886mEH*j%:Èi#Pfr 5QlnMyf0&-1ͤ$ MQ:&ҙCƣhP%NgvB,5_?e4 `= -<(D\H ,ppO8fėL^,G)mo80Jn2ڟOY=NOY>,sUZPZzؐN36W^B?&mE32`/_gْj⣜YrHoAm&4Ft. eL`lIXes,i"D)p2Ne'dюY ܣ]ʉ@r1ԝ:!nmջwcty"BKp!@t싶85/Es \.$haq1->a)Y]5P_ᡫJ7l w%u:VVA|%)J1xu["~7+dWrAA"&v"I}ԓ_z#A>YPsvnOAutafWP e'nN3Tj*Gl!0-BE,-BJ+g|A/Vkgs&a bDTFAq 3Q(Z0EVqdSETR5L%3BiaU>aQmLDSj@I(+'@y( ZQ6iXjC>d*lb4k>HH#9dX<>T0A`IDo5Co-H1HmTeNT1SSI!msjh-!18C}$g1"E >DryBWUp ^&tu"TuDI~dk&SRד6Qh-BQ%fGXOb( Iw!;J9AeTѹ92URfmZNPwu4AO 8FM1`s?#"Q679`57l9'. `o46iLegR>' Pp Fƅt>43b$Ta]MDRAMHGvI#e)~YqGgot6)`,#lD#b" 01m-3?"sw`y8LA3oa02bL@zil@2c`7 qIsbE$KKF$T 5)}4wt . oMJr sR(UD)6!6i$X5]^ueIIĄ+^ү1G)^t8Y=y@eMg0`5""e0DX5D`2hI#`I!;_UTD0KZ'TX >Mq5ahTV$`M0P0/TTc8wAG I<scQt`540䗲j*kCG6rtihhd+xFj#!w< 5OZ:P(1msF1JfI=M^:2V&M&42q jQ!F @O:A Hc$$V >J"{JQ,cXZ^a33R*G]hGAq$I*ez>Hװ1V!Z(n:BT@BT:,1hAsclZQyT"jGsf7(;9K?3(3NG`qsre):E_rbpŮ A"u"@yC,ъBa2Ҏ{ehC@C(Dz#IT*qVb"Hx"tw)H)AU2vQB6Dck+5 %8.vG )KoMP!:Kb"Aa.`"}}=,q5#KkKIU@bY]M..^q1S;A;%UM!6W utUΒWoB9/QBq(gՈ$T%gurlU`)%|(#u,Ac9IGzV`qպRn{(bq@&݌.Z-d8Ǔu5!is'|"fzhRCb(TKV(0lam65."TmhζnAF_ab>g&k9RIgI6|mbWƘX6zy2!W\l P)3 Ac`nV yS A"u"@yC,ъBa2Ҏ{ehC@C(Dz#IT*qVb"Hx"tw)H)AU2vQB6Dck+5 %8.vG )KoMP!:Kb"Aa.`"}}=,q5#KkKIU@bY]M..^q1S;A;%UM!6W utUΒWoB9/QBq(gՈ$T%gurlU`)%|(#u,Ac9IGzV`qպRn{(bq@&݌.Z-d8Ǔu5!is'|"fzhRCb(TKV(0lam6vTCJ26.MAG!!!# * '1@t4aFS@o3 c7 i1!p !ͧrSl )2 Q̤s dr7i c:fJ)L&T'C3 qlt.m@;awkiVͷS NQHePSAIm@e2 neUHv0e:k1g(Rs)fHQϭץwPU\D{67RXvq&pSJ81;EB?w8 (DE AdP(C &'a<&vB $*"xP 4"D PT"0A`/3Ju 89^LCWĎ:Bc$ -cCМyix3s2UlZ5gL9nϐ :+!!pVQ̰)q/f-NxiwEBl_fMLCD4C0{MQt) e#y2׌L?yU~C(q5]Iճ%7 \Pa@0( s,2PBl s#ң1' 6Zl sޥ )D#K/:.Py1#˜vT!]<H(*ƠËKd׎E% tS`SC 5Q",T; x40۫yWq&&b"V\( !Cnڑu@42P{FOCBQJlhң 1}Rn@֊IU%:ePK;˟ (@ h-;q9+.PRׅehRiAiR74Da 9y%r&8B +<^$38ĄKenѷj솛NJc1m3xL)IlmJ,'IJbdu²{Fh.[lKF6kYFC:GP#wJP",s{Z = X17o:k̲?B="`jy5deD6|ʛ`PEDݳGuJlV"j"/8'64vG&'0F-y=xr(+3K#JJ ) >A=)4}AL3',9:yF4Jb=&e#r\X-e ^н$z](3h/x{i5ZL1tyUb)$Db.Q3z7%"Y%r7T NQ:1Zo`qc{1 nAY"W]R;$Qs7L3Qa"Xk=70 `un*@+G8,rBsBpW7@b5Xv.Gzf8n0y$9gO&7aP0w!bBK3mwx'@!sSa_!n1swIlR(EM^rri#b3R]aO?] kAd#uwZ3`-g GwAfc}wqEVRHT#]!^EHT%{oGj9hT\S ([^xQY"V=w/!r@)YG#&7Y}r"T++@tEq'=![+cahmv8ݘ8vIG0!Fs)uP mafV1㕔5a,5vF<4C3=8HRy{c97SWK(GMu/x5X4 ƻpajLI]q jx yeh=LH32tz%:!Pza c$0pbWFlfs!FUAiV3zXjv48J"S> 31Q27V͂Wёs<!SPP9~r7ȡa>=\A}!Hc3VT &U$# xT}(%vR0(e t7|6SOtz(3C1 }#d{ڃC}RPNl&OU,cu1Cs.1QFpvS"Ux 'QPAISCD2kUxj$reY-tڲQF9ѥ?Js*_JPLMZT'{#( "IZ94f+tkx=X7@FpV/28Vs@u^[wTPvV34eA'a%gD9P X,N :dS6_qfcdRi"*KAzBI;B LcRKoc7gh=DbNU”ALҽB >zt1NQr eRSoKBf$;P Y.kM"6'n YƵ;q1QYa |lˑ8j=Z?wX;ڮ0W/ g |˂(-IᲑE 1G}~6p|3)mq@Р =b̬E}'wQ*+;ґ_7>yp(0Y`Rr|.0VPt0.*r[M*Wg3dq_ͥ)I!͵3cK\&wEq%ex;1pE6Ethߡ3yV'8Gv K8mr~ae 1'F6X7]u~KHYD6$d Qc3^h!M2%(=TW! 0ޮt +"CI8x"l~ 3B`;l0;rÑJX5/Ha0eluNT-7j>+tTx63w>W#OF7ۏzk8e$m%8=#{fEQؑP]ic.(ۤf>!]83^=+>-E7̰SPB^ MBU0ZPX*EGaFKMfnyjaG"Tr=!hLpVq Fe>cx!dK0g4ـ!= NXM=7$."$uɞ'xj6^[K. ;!HVdR#q6_RcI˦2x7oLOOtmJ(q_.%j0@ MA,?:h*?pOP=Zp,÷'/}2/=ٿNs0L#1@}WE=}>o#1Z3f Z7W*u]5(`( p$"w *1[PX`j:`DW:7Ta94e9"{c;qR{ &;` EQR.Xt%23|9讨Q;qp"b&Y,ZiB"+ܗʈ^{U_Lga3458:~5 BnXY,OF'|1 ]nj>r ľR5| "30 a[Bfˬs!lwDH$2: j#,da{ynF$3$J|; >"T0NZ.e2}TyՆ:ώ(F̈́>' k`OA@s2&YfE?!$Z/V主iqɴhMHD)s%9A|G|*C>$}#y4 ,]0qAQ0 G_cB]iO U7zi);ѽYp/|ӈI+޷LlVUy3 Ӓdv'N| '.|J;FB(SaQxlq01=!(ؔ.3# @@SJMDTS'qyjyC/d%X'٩v_K>_}GܦMf﬒!'G8T'лrvt4O?d^Qp'0ǀ NUy)V{LG2av>.L{cp11@ RmRJ޹Bn}dXeҕ`y{N+9 "'LZXbEr+ p1FyLP!XZv渢[W:Q5D~ը6<1QcǕB8W$#W{ \5i'],"Hl2_Q >HqAݚu-j ^BekqDH Q"k4 ~Q xznkBhB8N*cylF%,\T)5:zW_jA,{ @b%GusOia(!I >aLh@ nqfpԬg4PdB-%J*aa3o2 //#PNC?'*n"hJq vעrarC]"dÃ#g3>g睺g q,Be9r)(p 38.f[!m2ԠBCU!$Q_>p88*sa+&N/2tUv>%PRU!Rh`&yci;U`Ap"$W"q5)\9hY%V%"SH2;# +u"@|iLZ>/}msˉw|PTƤ~VkzB? 5ÚT$oN[KEF7QryP3mOD&kAT8*=5_ h4:vDP:;OZRu`U[lRf N RUNJE3(=B@U[lVJE?")7o#2x!+jҪv׳OF55xzN [l^!>PS}5y&D=Bu0 4a-NB779>Ո/`~nrCbMvm^V\?PMR>qڱq`ϢD301 ɃaKW])Y cǕqw4z]02=>+Gxh%72?*q:+NWyf0)0P,WX*>+T^G;lQRѱ6.#bmQ vV2_@4V6 dv}H;D8Q(n,%`"k,?W=Aoculy:Œ~$#u9" &Pg'Z"($(1D6*[\Bf~$8$E!2۸wQr!JI)*H[snq20bbsJ :M BSOw_Q`=9%'Is]VU$j7'rH">h>E\o^"dr>:~H"4 0Jo%HT6i/¶=`GlSR3r!Ag ?J~)=_^+ 5lHиF5s- uA=l63c/(PT"@UW=BUGLGDr(D `^>oi-{ *8vN/td^3F5y>aGdQ3U lzf9,QQc ~UjA5&h!Sq $%(Sn<==_iؿj p~\<ӞxTf$Wlb(P x;<0lwn!0K,K] k* ޤ7Uğ¨xӱjhv8; g4Kgvhy>417W>(ܽܽX;-SC|`Z6\T1o-\4Gb/rEFaPAF2,֕0Y6Q -Q[|RJZĶa8-w(PxOVV\t(KaAc)7$Bu'Di (c)7d'_s(6c=lo?K}5uU7y^+$zMjf`aio΃ykɗm g-L >94~GFU iDvN=dH Ϙ!^v}5E/)PMT@ԡm>G6{W$rr%g?L$ CAGw FúDѲ} L eTL#TGeZҏL$te W'xM'@Nњ_h x"@Nѝ{ܖuz_Gs*)5#z)d@J20JkVi v5(uwehU9#'kbv,!s%β[6@:A>@:%O=V@;PL@@oO)LFE0O1Ϙ*;\wO:^~[gqr:kd~\b#ܳx">eMB 2%~r;/v`:roꉚ)._Q"ѴP^4ueh+=關E$T%ͺ͇;0S5 N̻GR+ޤcAyV_ UEË\) 7[JgELT77fҧ $(<L ʛ{1LOk,i QQ(I-CC.Roc^6e$$WaDt: OCZTMC՟0BK!=Zz*άRHƨы@\_Qɽ&,_97 jRͅ|50hM"0h5eCqCF~5";D0cneW43!sTuF<:qSVivd^PQ=8nZ!s <qZ>$˜<8ӑ8 (`=Ӌ'?`!s3!s")UC(93q!Cd,7!s^. $LOg~fs1pb)7!ss C"YLz@"B0"_;b+u-"E։9!s Kη+WT!c5O)3Pn+i++BC ֙J"s8e1B\t!ɓ.+fcR4'wX xV7$˜<8ӑ8 (`=Ӌ'?`!s3!s")UC(93q!Cd,7!s^. $LOg~fs1pb)7!ss C"YLz@"BvTCJ27.MAG!!!#  (S$3ym7c1`a7L'#Ȁb0 G#4 Ɠi6Be8GAt4(p4T"L}B7lX90 )`i7f3Al3p8OTl4 F9P*ɼm9bA$@h0[nDKXÝ9kga%0Q)pg30)n+f3eRh6Lela$q)$hD*Dҟ@E&s/;aV:5eGGQtq7F0 9{iEtfS!wre}TtB:$x hQM1`wmXr#@)qfGv_FzJ\W6iBgQц@Z匋gQjK։Ceq$n]UmY4eDuhF!ɿq tgᩁo VUXDfX 5 /uB)Ր kѵ?9X4pF1,"hĀr邭ƄꂡځH! cUQ:薉0WZek$Fհf8(FmQ6~`&dK1s\{xf)^D$&Zm C2yUuoQmS$ѳtiu2hy7_^6Ƹ-3Ĩ酿oz~BшuLgr$C$^H q.PfĎJ54pC 5$1\!,$a 4\ (MڛURs UZ "  2S:E'%LD@㖴)9O ք6shV1y_S%AUV鲱 ʟN/ȇIn$MYg,ꍃ~ 27׌*R`(VZ)QEXǬXV6/K\6֯Q:_VvO,>)Sv;Y JMQ2E70 Ӱ P#.e7֐ pqV 1j[hdMRV1?'D㬗Kk7i:G'Uλ/}p׹TCek d&E0lVX`EKcP}'$EtQH-TLgMEBUFPT]˟o JsmHBU L1hWE0Ժ,PS ,6*J_M:NJJmMꈪ:ZMa.(84Q4jgf"pդ(48UpY} KZn6Eɖ{B38b@d4 srX 6k*&+VW0j@4?/{vrWjTIVaGC3[\*U0&Ԍk;º vF/GԾw߉B_'-W:?;[0¢n!wkɤGAO!1 >,"4JM@O(^1NBTLwpP &z#&:Ɂ&:"|tdf fUkR^_ (kßSĄ Er==@co "mkT/j P`?UPJDmvp萉+xq1[QPKaTsV2?(s:@y[1YB߀ի+ "#hD%#YEE-u-E3 Ac,HRor,"լ{ b5](_q"-gV!a6E1%mD$\aB"'6ceoV)ad2QtN3t1/3wjc%Az@brS'9&/sfT4i¦toAu,ST$ueWg8]!oR_s/-3vn}5g9^\aRX@Q^8sXK!W~kv,o҅n o2SQ|}Qo%3,3D3}l1Tb&G"HbqClvUp-"Qy`7c`NPL @1|Hscg EN@v]CqP6Y p:^yI%m92OE(ii'~))t*bfx(ċ*"_TzH9#Ne#dy5p"6W~weE,E "ePT6&DP0``l>Uguf@r{0uvry3t~Lh$vofқmM! fu"g^Afn>)%)\c,٩-@eH`QP5Bs$2EV`1.3QX".q=uIw2?҉SS^! OWA]apPQcaQS#,P*[P1]&=:2+$ BRTP3`-16h{L>_p/`'ody:jLh`*b=r9ZɄ}Br%F28Ќ^0!dq#AW 0ykE9()AeF9 '9".TeB*ZwQ~ i&s#pOHha+Qӏ`RbljCԋP`62r1RZl}3a;AG[claa("FV]{MyjZӘ; qT'ٗB2sS%>H^TV%._f$&YXB9E SQJf)mh#:v~EDv8BG>c#RAYA *WCMC(惶Kxv3R0;w8dZc`(RňĘIdidxf(>bOJ>kÜ*G{xdbs.[cg&8 >5g_f9@0*Z{k+]vWsZq?C;`d-ejM"n< dFP;NeOG6TTՏW% A\@P''Qi&iL{zP^XleCV1ьnt>bl`qԱT$ATi(b"?b:!2e59r*a|7-eڊ65nYw;=UgTM @"s:(:iSǽl@sd/3Yx$&jѡGE_u73D#8#r u7`kQ6(EpE§*>+j C u jx.c#(C4t*L(Bs$$T*3XsB{Cutq8YqSAGL B?S@A'yTP -Z` rK~Kq،')'Ld(N?"Ը}OysUr ,oexYtTeW@Z]3 %N}IJ"pZ@N0)Bb[h⥟Sw;Y}sX5Q*]:?mq.14X(V/q{C\ZZR8ICقϗB;pߖD ثP PM$-6pMGs'5Ӫj?+,d̿ ̣1a#T>(b"['%¶Ȋm$. 53َ=dF2Q~*R'ojwae2L#1v8 ! +3CVS`qEOs?7:QNoٺxU$/S߶'O}2{rY3#$P S:p{0jZ0%6QPPCb:[?*ď1 ieΣ{y<2b!z*da!H_K6_ sQwE>2J40 CP1 |*[y>*(ݿ^-To^r`@x.ϡ5VkOnEO z)]ϿjΡ]M):zA^Eute58S"N-aDg?rn;͍8*]!i?qWKcec: b00y5Hܤ(LD[T6 T=>T);YMo__I"ahsW"j1AoTMvbfD+}*LfH opC ᵼ+d"-y7-4h? ZYA^qîT#W]W[9;k 9t' 8i_Dgu8lpEv.Lpl{=f;%$wtb~Cij񒔞kZGWcV=J.!4G,~`dKE[pWwB@QPbse$ishtc0#0@(=($ BdrwpG`bxB ¢tڡ?Y0K?ӆH<]I4:cqQyC$'8nKPW~Ot^s`f_Vf]!BQֻb*Hh_y:y~I-XM"͍fE|(w`W, E'ȣct RHFJ$-N[VݳśnUP|7嗙Go 5\ Et:ìMob%R)Sb%{D9xw߰WA}ZKPHkoLadU^yp-(X) 9q/"d10I!;yyÄ6lA: gf 3},h(Tj9XH.hw/uz;7(ջp`d{T:|~ER&p~Q ~|l:d ,NUfJ Mާ'+getF\wS]|_Phj)APnsN+Q29^1,  L !D)w4QW2̻;@W9 aeDrrWQ;,?q NB1c'ǡ*A*Q/i{WsQ\J?nbIX֎)=/e>b4U2)p/]Oy5.t}*h_p"_+aY%9p`0:~9nY W!.2^6Yan)ay&@n/yw$&DbRpisNמA+ Ëd1[<9dVR(Jf>)ZE ~Xx^Qpوd:ŏ"!kUFt$ c1=6Zid LWlTWcxt~A.7_Ei&.>^6TK!?"p2W<-%Fư ;TqSQ;d n^6S65oH.8{k\"(U'AJчrKn%/sBpYwmPpT&*~Y@Q^xR:it^e|d[j9Xb\R%H3Io ؘBLAYu.z3MY -jA?^B>'1˶3gas@(io'#;nd teHf!n#~|qk^} ַZpBQLSjr#n)?T/Sv;}ɠ"> ukz*_A-&\WAuL2Ç_%/3V?{ #^-T*_dQTmughs:ҬÉ9bac*Ҷ AYA|FBN? 4deCrޮ` ڝԊv.k]r֐C 2zǭ]"(dTHcazR8'Ò;2[yrXޢ7n~h{]B?`Fc`r9Zdc*Yu.t~LR23#WCfB"ʱ3ᾂZEq,sdW +a-@1-jOǧw+m"0'VȷdpAP3l%L/,885My]"VgIZg07I/1'3|ve@:lhӶ[l*ާ#6Aݚ<'H«~9@+@t7/Qk@c`m|/1ᵭ +C㮑Hr3p1'tE3DėÕkPH03Ck~W+K~)))sةu3RY#̿eWv/~oO]OWXRy`k0y@HdaS.Aq+q=Tl/r掋"|K`rgqb%SbS/An_NyijQT]`j>&K Dqpj"| j=>Y `ַZDa"FC;2j?pSMxRaUEX[7/ْdޣ]u,.3ba c"lLD4-Okyp`93.w,}P"Wrޢ)cU:pxb&"K!Zlt Č`;)? 1cp9ǥv st4_uRPN019x!jK*1a!^:!8& :EG \VWG#0 -L77;y"KbIl}1z(tsd nQ~AdY8Ӝ1`HS8lI}\B3)xn٬41.X1F#)XI7:D L1P-%-uv!nF}{f1 :S%p`d胕:@H<3J%O/R pTPT1W 7`/ׂ^@dMd^6Cn#tRl*nnctiLj.|VcpJڲ|ĵT'T$V86qr dYݛ~LN&4tYmYY9F]C[= !ʟU~z+ts[侚'&i"A݋Z=v$!^2)x3z J΋-6& CNxF9DgDv0EO ~Y&r}7| TN t[n ƌ5xړalK> up攷h"G [YlY܃}Z jJj&&RqqVYNs[;LiZ}nr0{Q^US-ٷa" դY53s_D:]ģ50-ʅEVp$?זP)rT")4Z0UsZ, 9疖/8a/Z]. f|Tz:V#| Q`,$ .>1eyϋԀ/;^Y\(f"ǦOQ @[]:g}8{OzF$I&GY/XR΢`L yUvoыzA)\h$; f^QJ}!!6`/w#!bJ#ny1fS-11`dJ]4qqjF.#~1S Lwj1bcm;(D&i0uF2$d;I|1QKR K"P;%#**@/*J()7Zћgg%w28VwaG!?= x:riSr !cv•}!kqTKe1FgQ?0!a38IqKmh. L#9B.Aha)25HSAR)b0)e5xHc,K1R'"hhGHk1XAW2;?"z6x7'N)s7+CՕ_$MSN@A:0OH0N`E_r0TES^L^G2^+)6M5ߗC_@I*N"'?_Oe$S9N;o(F!o/!R;e/D'h(q׉"cSU<S* N ENx+A[Kr x] pO KMDO).8栐0*A /_4YP~ERiO)IAC`yv&"W?l`H2x83cH+@E)9*PRy':%"j(*ypY+Op"b&}}Q!hg8!p;0 cFsgr;uy]+7^G@W4+$zOih6FDub;eUapYVKC8-2Y:ѷv0 rSs75:;n0Y*bpA9h!T%yvo'J"5G41ʦzA*p-iQ-r$SBoio cX|/Xj7n2ڄxIaQ/eSN1׮3+d`aAAAI8]1p3v&fik6'0h&Q'3h6Բt |` ARbJWL#r.KvaSvI?f7]8їfmӞ ;1k|JZ[/h o ''}QaI4I ;.h0ҨKGW(8QMJr)uZoaKKge1&d&gx&pNF68Vc36aiU¢[@FZeq%E< 'jEσ!WK-19I` bYtl(vZb0B 7&tRxw.0MGsB&I7ki$-#K0IAg1[mЯg"<٧m6 S'# ,".'ÐZ zJhŁ6j.r)N'(nSRVO%SP p uSֶԛ!"PNV@ %`Ǡt11EC9SPG!g ,%9}O\ ̉룩;1?*Iٔ y^Ap-& KkIzR%A(0-%`%LW,Z'("Z&ƶYZ%^&N(yLfy uEu[ R}@CM+m)}&2"-F!#2Җq!'NKbG"zf`iZr6RtS!g!S!Hc(_5jb,Ŧ$(!X޼ap(U;[$ǞRnTxQzX" R -!NŗnڅDp!_ȱ]6yGLfs06+Pa; [ nŃkBIzn(- Z.szN*vqfIh](r[,RbQxkgfaQM֑@p&?@Gk-d -@kҜZHΜB6]aL=ЈK{V`KSMA$bp.B_2Quz4VLu0(PP182AkhHqK7+‚x0PG9H30T~,:"-hO"YJecJ1Uy,AK3j5 1GH~i;ՊAryK#4S ܓ/"e-1eWND! I(_bqŻ(sbWIA$c29#[[nzцr-nZt@wF!cpp'‚xfYCTFMF!pWgd;%-2eyfŕ:?W^v,ӌbiwH ܳv($ WxAb0!WRTUp-@l?,tw+w"Htx&|cP,Q4/oSYġBTUmHx Z%5|$et$ (3i 7 W1>y&Gp"jb2DSr4b6\2*~~*n3Jfϙ*V,IBRq0j!K7K;;f2#(U's<,nP>Qf+ Ze"fv,S|=? Em[|J/Bm'$ʸ,wAfY87V{eIfi+MC@UNF@"i2cEbfLVR.,QiChi2TBp:( CSNXmJ5AI׊u%"bQh1n%%$Kg32Ցwc/HpCY]ChQmRPpNDP*RU1݋tp$TjF~6uĨ߁'Lq[PtfS,(ǵ6nٚWW&@OhV/n律f䂵4zzCc1/ bWaf& c7A5`FB]QZ,=>(E$6k%U@F},F\h;X6ǐWoUU46ؑf߽Tg>6(QVH]bq5)AKMg2]eLl0e/wH1D[˻)L'yݏ*8h{N +,lb v =>48ɦ ITX+c61fX|QNT23#!o{ALI@d;%i~kn&espbc-"b&+]< SJX,of,öi*9;e; J9@**fʶѤ(PD{PR}܌!XSȅn}0DĊϒJ=jPP5H&OQOtό&L_yA,y#+011a_2˜ObDcka&'>?\+&-R o,fڑ6[ /Vp̃n} ar讨jK}?y;ʉBʈoaPn)p,2VX Iar1AQ;N,n#bۅ zJ.1kF-!Y8EyNhveU/e BVQhغfRI_0< =%J}i3>kRiA!҂{3~=kk(uUvk>acV/qVm[E QT1 :y+мQox%&kj}Pu}qK1P:a) q]>*e t @U0);fWZ&V@oShl7j\(툂ke_B&cxFn5 ߨAcE!b|dqj1);BB[`$@ 7m6,~IEx9P 9:3,P-(Tf.{,ڈ J1R_#X, EezqS$Uk3B|1vjjjxu\"_F/M0*µ"iiU׏^Y4Qqb5hWr; ΋7`1gUAQPub7BM;."l"p,a+;ssWXa0Fu ("|@iJ-4(f~rFAo#4MZdXm= +ţqFJλnFit@&XA_(Vx6Z3)B,ݻS#4B Jvu_Qa|q_eM)ᡞus2VV /aipZ5TWjq}$&~BONA]검w|Y 6<2tKA--WVIWxP(U~4X!leR,bgy!R^ Sa;b0f` uCP12+ΚԂa_*l0J>1 3ُ<8w+ AbЭWr(;!\g TE`A;|xA潯H5V,#U"0PZ DSR|)6o/#`tރ%QxB@SK !}p7rS9fhX k,JWLѵ_[n=ZgF (PNc!¼"0bŤq?6U0oQL^MB<<&)9&SZ| !~L<_tH\CA\؅kpiBTp<;2ar&EҿEZ3WҦHufXo7Y-*-R:ǎ$lyQ_o e5sCh}Asr,jlyF"75QG}+J,Mpnj"ba;;\;n8q$ -2Q@n؆:,7;j}0ob!B3AK4z ]EXH+V;g_SV Ah+SI"\PIOΑ)2T.UEe=<U_,Tc_VW12lAN(&QQyEe %h>RUԳF2 s+F$3p0IrxSޤF{\gQQE(|A,qm:2btt!Lr1za_e1iXr9y{r( X-jiE=Pui)6jlpɘ M3O?SuY>[{gv QbN#6I7o(+jGV#AYќp!' Iʩ@yNJՕ+ƕ8KMtK]D!T+S(SaIR ~;3bi0(} qUD9"ܑw$hߤF1e3^XCoW¿+1IR `v'ʔR:oQ.,]6bHU| EEX8._[bD+撰Nv(2|6jo6g1Y7YD?Ԃ6/4)@R ︪-&"/#UQqj!m6"_my j8ӊo4)n%V1x~ 8vc>sF>ͫxKà/Ås1kbTӍE"UY7lW3X@q;"rY].T9_2b(QWbvAD+2ޖw>-,h,RTʙaY(55;ĴH9rq2c H}(hQ1Abn6:8b&4k IV1e={2ҒQxo"ewN*tT?S3a6=.dz2>Y`"EXs*Ljf5e`lwApcÒg6V4LtITw(.yE[ :>KM&1ܣkf<100W̅$@Epff=Q_>FWOoELTove|XGsH6>`93B+X&sXU62y@!f1;-a,>.!3qW;#'Q25yy5!K(4#ՇK- !}~W7_Z Z(Rmﳕ%\./4A~kkn'[&V2CA\TWT!bu h"ǕșԳj(&"tE~$6#3=h/2HYx:vui(Y|LEs8(Y!/na8#V5}tx셃#@) A.o}3KEʡUHAIm>[8a! 4\d\$(sYDQLE\ge)p1[m .= u%7p  EVnh2]B( %`MYTltqCTCTABV=%`BRRN2.bU0CѸ Ck -3a'pR@SrY7Ɏۭ{04"yVf R%KSQ9xGy FNgpFlˋ$dFrAyO"@4o6YgYB 1%&yX1U&ZEM@E󣾻* k)'2?` Z1ZoE/D9`32K@5pHh-F[ F-%eBxO-FsO-?5EiPDD.CCP Dh1n5vP@CFync Mll٠LPDD'77bVeQPD$k DDRo5HvQa?_"#k'>$%?c` 6 2P`0%28!(:CWVBΑ'ɇb|3|a Mmo7}߁f$ilm"$bo,B1f!kZCb-L!\$* ^ގ[K8*TK3ht%Տs@B˝KA齡$F;E6~W}C?&+bIǃ0:l] Q6Feȃ58 ~W6*UA|DfehWC&YQbe[QFe1Q4P6m"h{sh~WG0BCT`WO3YN35OaO\/*"=ee®W`f uQm2c쑡K+gRt6RdIeR I;.= onoߩ|pS}DB]EA[go+*:m7 .%ojl;ޖ\,^A7=|do!)Q/?;)5tii/u#t"o}.FIxG㒉/wI9!+Ï0cPBj+@l&( 64p]/gU"m x+oh,!XArTL[3,xQRf6,Qd·S8;0bwhf-D y1?hHͪcvcO!/t˸%lb&qDru^r3UIx=y#{r܅u+v;_*lT^$ec}aKٍx!ulb)b]8( p7#h,ݱRԠ;+QI>WxˏAuT$YA6b !h>"g6ߎ!rJ f)]\+m3'ę43nPX7eZi੘Nw1(pHT733"X~.a gˡ{]TF&DQzF*&~Ukb߮'Rzu!,MxaZƱT+-!g TqiimU}RaKSZg S93lԙ3,o>)βa։0eyZlXs /S"a]_D0D<΋,5^3I9$fev40uTT{f^$+81)kaa[13s2y@TSsb ZgQfHQ#0D@T\+8,SNϢwANۀ)_{o5#V>vSqW;#'EgYx=YQLw@gyo%qFNT-j bKʞKА 7:>t cC%$&"ǕbY+՛ym@4.`,@6S,a.d="Q "p,UF`SfULpSt"P.1pHH_[fvPNb%.٩Hg"_B4puY7:>  dz3{!l%>d+5`2%\?Uھ?NL{?f-YCH|SVKX,\&BoT{Fymuɢ.Ph aZcILB~hm"<1|+R#vvʘ(@5I5 2;f0->"#.1SagFT9-pF |3,C ysVqf!v[kn $qi0ezw ZPX?l|/c37*x3uQC`Wbk/Su{He`/^lF&:E-RUΉ>x7j^]~eHWbMH2_4o;:f \P(caSLfs(2&2B&-D]Pm=ķvC!%N&Apg2RϤ[uTA3gko@Kǒb<( k01)Tf@E~b13h bU}LƤo._K+2;dFnK1 $1v'룓9krX2Ӌ9k<,vb!uo)Uǜ$4<1ڰtc:+n7ZPc2q*Fwqo &U!bup-*FVi*/Mh)NGAhn6|Gl S*F"1<OS7o%<)3d7,SzEºaB2ʡUi[.㿒{+HW%Yao9zb&a_[lsmVZ>~W<7_bB.XRVAךSZ tEWΞ^ޟP.~NWQD.|l^̓>lyӘӠC" /y)k,r;a%9p5Bi>tU>uҿ9HZFG3TǕXY pWHRU<>@-u WQJ)UV׫>-jw&aY ó΋OBE;! ,(0Gc{!lC%$&puWNu>ـэ2Yơ=GC%ҖB&WaA3egY|z[ "RHvvǒe0b@tNb%.W;+W[2a_Ph-rE2%q'.\ey_|^`2Aײ$νi!EnEm>, :C˖F+LÈ &ia8t,GujFt>d&pZF.VT7؀79k/[cQX)tg_mAJSWLц! ,x耶yL,%$LUnkgZ;G%ju$Y*F9mHU^PHi>0 ײ$`&'Hw 3;ĝK+ -smm. wIT:8@tiKGYK.0]&HF4pRqhoO=KGl^_:<}4UA<1}{1/%OS6nVuqo1so ?{pFBb8UϺE>~`22eB138`bcJ%ڝd{,Cq[P_Y\| +Ïi'F[fvP`R+PPH/C+(56a,׬B0$QwfՏ) ǛtyPŒ!/zMN9y`PPTF YZ\bQCࣩ$NT`-q0EْrQC%>BQoO;gRQ.`.F% Ds^Qݙ=~5M%P:yvL g7qF(3X"|"sPP*$a/NI[bSY03*2tE?_e΃9p4;N?< V?(>;ڮܓa&F"3GVW?".!"aRߖ^(tǓ?Y2v:LSY⼮{EUx(FwA0Br,N9ѐ|h1b%\h_]Ƣjc K5Rt_pg7 QhGYxl -5Lo*">I& x@!ay,R! T'SڍR![{xNrE*S}n9@ oK?#E t1H4>B|*1N >Bu*XA&u/f-Utz|Cy r'1:HA_03I taUbLbͅUno[--*Bp \|IC92$󌥽<쌳W!bųnK"c[F4#("&28b6zvD.ĆFqrxʒD%q>3+:1c0ls%IZH83osD?31?ҕ9Jj6T?Tnds-+ưp/.B"lC`u>3ž|cpc,5A{mKdqF+R+zF/E6uJ&5 * B~3J* B01J* BFrk=x-$eA1H W̅E`|7ZPclaV} OS4@+L~ SRK/+R+NZWھc92 .aF/,(W̦+_/c3 bK> ,΅i+1P:pu<:î\2])|*>uw߱ p!h~$,GP*"HVi;6rہ`"ʈ=.G'徘+BSrlYI9:Je , RU`$Ku%T5|(pUh0rI-nTwR"Tg192e;.:F!ryߏjE+Ï]wѧwAfWAK~㊑ rx+gÎP+08$Cך{h nN:ez'{e9p8{vHYo" m^̓3l-"ʻ>[jRUξuaMZjVP'zU;.1Xyabz2̊2N"dkHqdҙHĤTkdui(hq31|Gʶ}{$%|Gwh{:H >/#z[{!lP`Doa#u@FdsR)ġm&SEbp%0A(yV뚨I]bް잌]Yxݷ!jf!WƇ> lĒ; 'YN`8J(FcD4#tO<1|2;Ŝ!R|)L64B;3/;Ll{N唰TbNi#(bxfqц$Fۯ $mF<qF8j@i?ב6 1j:!(fT!uuX8B|'ș(PhV:r;RB&UﴐrkaF@aד$uS\7m0*KA9a9_,-qf[12%)&ks<'!):Eʲab'R]o3E4#zw9]y/b:&Ig`k;קrµ">BW/gremѴW[/.0"xRoel/`pkCc # Ljܞc2zXCAH "ܰ6'1016&A}{ HHQ=QF" ^a@SK_ ZɒɡFځ5#iv&kS')xO:uQwMiZ(BSM_4h05PqC!4,lb3|QI :ֶtU \LnY>Fj載v@9"P!E,w̠VH5W*.uŜN-aČf0qSuV) r>_DpUD#ϱP}Nhd8X!Q<'?) )´D URd(r)hr0fR+VԈb @'Jȼr G=a8ßHp1,5 '2^rۑeɥܹVvl_ECrKEt>| lWs9ͳX!B[ I+)-#Q/>v߱9ZEd V3zvQZ$# u8=dBi~#  X:TɆYYrW6oMIl/_!Ț,Y|P{SDa/@fB%HĸTy5Vh,dYthY~O! ߻ cZ*!eEf74c%(>h`(@ #9 "av`'pk=#Cxg;rJau|'a/nv3R*6s"JA UZ{1E7 r:}U]El!}!B!u'>Aj}0Pll>1ZtF4Ce@-f p!d31e}px5 t(djb%,Y10J!(7N%2(#r8"#Q5jVqK B66yyWf-7+#MTaR9 vPD'!1pOhAoq(yc{qM]=6"9%QBnrD."E!mnuJ|mm51J Prr%scrW#)JT3fw9REu2 4_;ǕSE;%Bu-M5<7`SxK;CuB6QZsEx%φH 8"yYXxxA6-e ~ d  ,7cIM0U MTM[y~/Dx%v!W"u|r|6x51[x9K|>uzẁK<R$ x%T[fyf$EYyWIevG+6cj+ԶVZgra'*xY11]{,Sb)Q(p/WFŎ(D+6Jv*q,v,0(00*]&w#1(QO&B+YBJ] I}F"PuBGgr4sr9aI hp5t)5Q"+@ @PfAx_Rх%<22C[c7A֜yt5d5w;kq3oK`gY5iI3&IL{qt-eD"{%0kUٙ')R/9ޏcw$HH|^Ih864$1;!MG%{7e? Z'*z~DZEzm%!oE$yj$FR1""O7IeB Bxᆧl#8Z7h4J9Aa >JX4\uK'$rC9?aj<% vd\ x;F;#PF'fd?XQ =ꅘDQ8_7/9{2߬=}$c)mHalSV\o!eP3vsSe$bI57b}vi]il}VOA*VQ14#RFcF"-#/EY6b3-KbTIE8[77U#qNr"⏒nTCQ!o:IcEQN`r891NrPy-J b_34r &2a G6 o |̒` #^J5IDnHpyufӼp+th{RP’%sI16ҏ ҶdH.K /2?g(RI%FCgՁD;ɋ e@8 )p7‹kG+d"'xGl'C/2t)<P:5 .?1aa[VR3+ۄssLys"NJ4[lE8Lx՛"\Df9D\+*4/Pw3+w`5Ꚕ-Fⰱ  svlvJiNڛݛc*\X PY .(sc0i9)EO^,Z4Ly=3c* plW-'1 ك5uX@͝axFZ0R&{4vGg< Uz~2c111DSE":o$MBKBH4&>-&weWu@Yě[!76, b xeY+"xџ/;Vx,_,_,-9I#{"L@i_IqI>0"1-nJ.:]>M;Lɖd-@1>u8,DcY_f4۾/6:|;:ܔNbF`ו9#gm2r>=VtuAqu`l'S6~4ŤUF $/ejsk!"z];S!f${{ZS6:3M9CFT<n#nҡ 6T,qpt( &pwP"8d3z%͍qFUo%T'BD6Rdua!wBl½o &6ѕO:X {!SȈD nd¬*;S4fȀ(jCRw| (*>=5953^t#BHbЁ!M ߹\H04 "/ϒ(:qjbE(NL$0RDu/Ro50c_0;|q.?PT?aio3QP(i0e))$tdqQp?kc5^ɾ#һl;>,Z7S=6r05BqV}[F_͂҅ ۞H ++=n XI;YmȘ]M4o8fQV3O2pH;Fjb=.})!dH1E+SbQ`%;/g%r7"t:==dE&pP1&nX:9h@4f[P ޿-BfX+N1 C@3{ER VE`C+z@D@B`3X:=睱 @HI1[e3e'4`E $P۩Zi1Y@FѡwGW1n:/wzqo17 C'YCvn0A0CUU)'k 8v WXڌERX:YSTA9ePDY]~RWV%gS 5<}tpFt- :|o2 1&nY!}ltpIí:+N2o)1_tqx.pCQ)g]C鸀 6hvMA9Q.j'Q#kl1(?7oXTdz*ֽ=XOߎ\ӦL{%a!vEeF4Mvg*~NC'dLst^@AdPn;dVA^rcwoXhAKhOXoS/sr+M?cEV:=a_3!q~ыlۉ$/>W[=<p{ 8b2} V{"4L$_\6@#NPK$OQdN$ˏ"ܬMUp5@W8xyVinP bմLf ;sVmFKDwÕ@2h0[A 61%v A0 #WY.SMf`0Կ.@dFAyGSimAS>0G)oB1:2L@SJ1ٶQ<ltpViҕy;}1@1ez:GBeVG e1 <(*2q 8`*-<.K4f[P 3ڣ{eHPB:F{ZVI0BbI۶X:}3 ɇEI1X:FWG3۩b@1ԫeu1Lt.g:OFn#h&X{X{.]"W_D@L<}S?ZzI˟D*t 2@b]:ّ# HPwG$?o4\:ٚxpP2?pFS íh+NÈȫi1TwG07ǦWK ;w*pQ%qqb1Q&T[G>0rF[u:^wSe'Ov2TNL_V=U}Մȶ#+^.ʣMPNe3g_sG=$Jr R7#Vn7 x6a&sd!5ok׿1Z]X2g!^|z60 i7#0PBRNi}gQN!.-s@dۋ0P3S'g6o{\p3RV, Iz6V\sA0:2@?`_ض U:Y31 p@W[$TZ!C׽0n2@[D' 31s 3 !hY - )zK$&` 2=Y0Y0.G PZU@?N^$Y_.Ye;^[X.nB3v^=S2SrFY>!hVmR|tDBП110(S|@`I-X``1~AdΦ|v1kk[e9dp 5W}B,b֍|s[eC,w?00\i`cI%] ` rR1.1%X/2f{R4fps[e5̠z1iRޏATq%Y}03!+RA>Q%[tXH/3s[eẸM k,5 ޓts,5 IQ%\5U lS19q%\5 o@f0b[eP6̧!%\5oNDrI%\50l[eXa[puoL[ePC[0x/O@Ap7y],5K~at%qG ˚>FUtl&#hM1L@iZG( 䳸3LRY qt(В#*2,܁$Fl4\}!`z3i Tب#gim;ԫFtAgUS6BO(.&N. ͤ+VIȃG+ʻ<pW^kt V/vCی W 5x7UbB71[s,3.O¤E>5/#9X6|ߌpM0Lz7pH%<4 q`<0CHqm@ 2y60%w;q*R-ybzU 2sqB-`(hc"{ *Y_ 7/Q`:h(ӊr1'<#KgfR>$3əcvyZ~~=°f;_ t#3`cG$ %QqQh&Ed`ÙV5=BlRxDB#Phxᧄ4]89>=TK#hNGT+W7[0B;}d|p! >?M$P.etr7L~`r*!E6 ݫ˒ nxJ7AjxN ˜:Kٚ-aѴ54@)(Z{@t$HT$_5>L9S> shaF Rczɕ}q]cYG=uͼA~i(Yݫh]"v9#|CIX_VƭPd TWc,Ȇkxa&M$2z2g^aӄ@S!i0!.!2HF%RB9 Ѓ|p-&j4! }՚:n8m46U#1! ,*ܪ\+e+եmA>wXro1l aB x>s&a;"{c#klW+qr9l:ce>L/d7vK(s3N]3eA"WAP?EUOdaڿɭS .ls'Rb1SH@1Gݫ}*] 'EUԕK5K0BР6qmi2y6>7ĵ |*bosPg9H=Q(1a`8r"b{"%?)sx4TgL7Q0TFcgU% /=GEq;H[d?TuSeH.6f]G{B(1audV \ݛ9@4j,C:<+Xڲ#9{sWַ201''kpS0I 0հP#HS_JT浻<-?jH^  S.jN0mi5O/0seq/*W+*`ـ1#9/ȉ£7+=t rh? '/c/Q'bAX3e! SN֑DгH 6+9 }L:(+vzbEEoqSA ?m,D{%T"$F\U+2oPg59{%71>.͌⮁ڀP, @D0&V:iVg+ڜ7ǩXM]"v9Ew8fv4H_Cb  >;n Ml%LW=w*$˺T^.[7U3#QDV dTC% $˄YJdśJiwo6Vd+sM1h40X{ b1"6ŇP RNC+b+ߡ!ыl&Aex0YR3]{gX e<12h VfU]V{&9BPS8!QHmQFsxd}, m!m+;8:rjˡ`"YRD7125>;&8JM1܈B;ҶS!8a91L{p,knZ2g#$2s!ZCQ*ZfQZxW'#lVVi"1?AX wӵ}sflQl\dˑ0f@.Sf!'6=+=71xQ,c4J"%'`μx\FRfZ\Mgnd4BRFX52\cȕ2sg" ok+Biq /1\n`rH2B,r2˸#z\ݛmrb['5q:y!i5/#pW7>!gĒ(SɄ!zw&VNAAQo8%5ss/b@jb.A6]RczkoCaL"ӄ}Y݆ؽ4L{əbxV.i(j ͬrNC'7I c2{h[9GQrg15c`o/%1{q1´jD9{l_S KBș+HgL 4p5X#.,(m<#(%JgR>*c^a<P0s2@Ԁ}!e>:F(Mv~$wpP>``|`(" ŒE s6@*6@4x4Y*-JS2lU|_Y,YGƘ(m7nrف|s)5aCr` pE+@1g~j-t|O -t|Vo0nF - - -͢ʐ(Z!̫ |Ւ|Ed2O3)vrȵ|UFq~LPO 1CAZ1R^!cz!͸iqAi7#5yglnL[3 LQX.Sb:V ʗ5M4W!&=詺ZY9- /2(m$;}D^^'hTOq4ԳukVy֌`؋v7/gM~du'6RMaCrqf% 9XBnsfv7.x7YHAv=g3rGe<.Ɵ2@2s*C dz ͛0!.4f1!(:֐u+>@-6;|6v߉12 h%g}6ؾȨ^ؼ]O*7Cdu~Jeۭ {L@SJ1h 8*#FGf)^גhNH1X:mԻ#+-sYG1'$Bí1M X::=V%í}cpUY}ltx3 í玴8?[<0N|ze{#:@rx1*#t/O&sGrC 4i`cm$Ij *dsOPtAUo;qj5XK1qBԽEz0@0TY@S- a,_ HHԽNUa_18K2URR?,_ tKjWe`K4 0SHK3!A9xK݅H' N_qf9TYP_hԽ\|fOe֍|rTV1ȍK݅TY@V+du_ ATxK1L@rԽOāj$Aj:1T,gtN_C)aCpԽj?I*_r)P Z!rK?ȇ *gQpOv_ dk0eK.0etd{ϡXg_VT:ߡe 6^e9%d2 Hu1}ͯ~4i 3 {|ABG Seu%Q`3>߻T^mGXw?g"1[:h$2dL11ʑ;Sh"o r<`$frj:Z̼R.}&]t1sSi=^zM\,q D&uٿ+XR81&Q,]-K1GXc Jn+S5`/ X*<*1m'34C_F°Z11%(0)J zXc+s,Z 7))o {)]<PYq .F0pE.F&'= *_ і1bqXI5N03biIE{ aJ^!1ʔ##LUqjqr 諉wk*'m\o#, )B1iost1Zrz252"VEWdNܲ-(sJ'<\b14++A`G11;n F3lup sr1# %{"2K]Yِ (=Q%{`E R>"#3>Sp+ks@2 9=0=S3.WC.+hr413{Jz`!%frU Mi_MxϝYx$D'4׹]')/#vG1O!K.C(A#m@׿>4-Pmo;1PMQQh\' 4,,6|A SQCudW0mUFQ ZY(GxVhıegf3/#&dYzC6L$xs\ve 'RYܦ9sG}#2ofs@S'hD*J ѼO"q22;703Uh4LY9-oY}o81zQQ0tbqN4vUu0 5Ef򸎓DܴqeY =$rjM ༴x3t9 o)O ;#NQ:Hg;A5{{g7R "IEsQ_&@k:. @ъ1D9h1`R O1r3D\TCߦ_Zp"Q$ѻag;8TPΏ{t--r1G)gˏX*6|aMR%g)!=Ձ+Cȗv`μsq`zO/jl"[SH S'4ܷQ.?)PlRUqrGrgd9k<72 Qx~;ۤ<4Q~:сF=//;_ZA@9 9*zzlî|5/Q7sC}`%c i_PQfy%?po^?b0[>1"B5yg^tՍ^ tBȆ|mA$9Ha_b$p5VNr A/s61t:c^S1!4YA5T*1Q)׳T>T̙1Bs(iҕĴԃe#fE@:tpS=>?\M1HFn;Ɂ xGXPA}=DAga^19۶_E3 ɇ3Y10F[eEt|Bϔ 1;[EW1HEx)@BԂ<hP4f34(]J[! ),kej9ÖbAVE\ƿr y^-{ 2HO/t8!a||nji3d_ ATez̢@r5fwH? j?I? CX𝀈.}m.CQd*q%k0eK݅H' a_:؍KvKgeVTg NVKosS~}iO#nt2Ck&͠3sYGPKr?9Ac4J"m )=Y8hpkd9U Y Aψ O*+wqxt% wJ1z2t( G^qZ=S1kgQϓoY2{$D*D'~?g#<Ɫ9e VuSMky|o9jҝ<':i ',BQrEٙz¾JgZ[pt3sf*+zJC+\%Z #-7$YlFvW^:W߮@?\ǿŚ<ț|Uj  C{s:s/02!h +3ͯۙ=VN*vjS" Fkt|c:x#**0TE a/|PTˌ֕4ܷ:h⺩bӋ[/QD7_ B2HL `7>{pbdyD -v4(E?ZFŬkڴtϼ!p"3!+џJ-u_#rMA}>$ <v!rOŤÌyEG[:>$ʲrc^c*;&ʘRgbӊP joTGQx֕l9@'@' &_NHV)GR36-fтM77uQB0Y1" G͊"s'خD͉Ns*, ;I>NQR24DB6pH|1h!QLM{)=(?/43c@ /|1q&aE9her?,-ٶ X^:?Sr7Vck#ux8>"/~jaMOJkFXK%7GMb/*XPgbӏPsDmе>TVJ-;kmy$HG78WLweun?}.1C(\5d_pE.T=i_ITg؃ Sޱ@Iʛ|e %*e YKi3bJM$;Ý -f|o`GdxTi!.:x,kr֊ԧ.N\0tq`}fM''6$r7r HdpxF:$ٞ6N7#KAR}oOّ#"qLJE'g6{(`I85lJc (LPۡln~@Siqz5ϰ[&ʘi_ǀTGB; ml{$y⪃6G!L\1漐e5Ș?@D&֕'d?GS)@A=0U\ݛOG(`1r:3"n(E~s4Iu8S͒*4n#2 #e T]U5Yv?>:Ft?0Y,Q11io u3Hg? )S#=&1n<{s*Gڀ0619ݶ tm "up#0Bg%PK]!,+dY@SBȀJ d,+sjH^B \5۠9;Kge,ڎ//0BPO-.1 ^E524bg?k${Pf,cs}3PE%+"y* =ÚT+F|`b;k :0!.9Ja[/xg0T 4s;QQPf101D1p0$xF;Eܮ9r!wQj_թo %7GMWTZI&EsNK=2d([\,kb/{s+As'Qc_F,ē0B*DY{KvU|boka F^fj1TE("MJϙB2B1=PSZkLQO§#9+s'Zts%(<&Lu0Hu.{k}K^LҮ8gJ"|L@SV`/ Y}K{ S .׸f%iY/<wL`,E< )6,H)Tя.=Ft#VʹZDC%g}KRAyYG3DӸڛ8f0Lu4XĠAΐ"S1}5cYC6՝"|s}Z-v,ͺ6ǒָɧڛ01\ B}gCڛ>2PZxg5:DTFcmP7ڛ:,PR&HmgͰ7Л:,=;mFT"nv` 9B$PH:snb7`}+[A'E?\ 3.&+$_5^F)߇p#FK}xa =0݁0C5^4Pc[]^1͇}kzgGveT>$f)S;B/.37݄Zx"$=6!8X:%ÅdOs $O2Yu}6Af#XbR89>9'S0 OaEI#ő#d3|8`1fkez$)cgMIWEMU 0uSJM;A3L@.oHywҺ3zR/ޏKa'Ψi_"Tex`ɳ&X*\uq s/2VOI,h!:! S/=I^YsSiI҂ȋB~y[/xw2C9:d}CdWSQʣ5ҬKn_,7R & Sƍ#oU?[ҊTA?|/PpZhyh 0o n#2j&1 2 4s `"P, 9CR2uMA+]56O|hި3!dѓ VEpFV;snwcBL/t A0GS@?PdٸkjTUMR2` Lu0H"䭢C cW2V{sPSt}\ lSd28\3^ NlD(XP|"$CLu<Z `7v1 /dkc2 Rk4A`MXg*~[?\ $i֌mՁL%飧ڂ1kuLM[: P^Ñ=8@[d+mAgFTn#9ZYɁ)ഉcܸѕO4FXL cQ&n$21ʝ;lun=Q\a6;4&VJFɘ#2*ݠbs'YNip+ HWRY0dSB V2/0A%3%LL^Q.35: +ݎ{~q%4tPd  X"mkY(ݽ*p"v_@:)[^'%A Ö?؀w{M.Whi{sFYQx3Ey5q֏=N&83_Fr>Qŀu!,T9&C8KҪlXvDvB;%;nuuÙV4%7 YR3z$st^5rX& &Vg2NGgd^mA>LK'kS`}m3 6Pd$.ZV V_QzQ;6WQr &NMkŊ#.ͯ|cA-EeCu25rh6! /S[Jq #+74..N+=55^x1{qRy]v7IQ4'V;:aFQZx,wf)щ͆0( G.;QFsdNPso( *{=q4i ss8+{F= wμ|a~)a%1eav-+^O/<02O??Gwc$QX: (Ä^K7^$whA1G|4n)d_77Qe~Ye T+ҷ'SXt S_m:P  Uc0;&$;c*|Ds'WJ?Y>0Po\{jqxcoMۧXr>7dZE%Kɳl4[_GP!gm>POF&}Tٰ0IT/ \A1+ȷ=JŚ(_H,.mq*6^\=MDY\80krZf'R3Z*ɕHgl?VQ!7#}:+:bEDEҒeH4&S1F0Yt_+jMh/yL xvZUE1ʀa+߂t5WF)inI 1J#2@0wEu (B uYG:*x\ǁ\3ՃH8է&^GVG05j{JEQ#8hZK\yvuf&-c&" }#M!Q:TNIbt r0MۧXr>7dZE%Kɳl4[_GP!gm>POF&}Tٰ0IT/ \A1+ȷ=JŚ(_H,.mq*6^\=MDY\80krZf'R3Z*ɕHgl?VQ!7#}:+:bEDEҒeH4&S1F0Yt_+jMh/yL xvZUE1ʀa+߂t5WF)inI 1J#2@0wEu (B uYG:*x\ǁ\3ՃH8է&vTCJ30.WS  "#Y # ## $1r Xam2@e3# 8dq#9̇S 6D @c7pFD2Hf3qya;LD}&3 WHDy"a6&#e2Uh0d\Cal FHa.g4H &(,3&mVlVsh4l įFsY ȯwLz_MMuOD3K%c6B aZCGBdN96]/x!lLD9q]dFA'Hq M`uZaWiutTsVPfjD1)gtAS%0ejW}[_F5YQkFF*H1DN dqPF URrlYIN.@Z=SftRGFhHw#7OcQAs!55h0(e-\D6!|Eg@GdH {3S!gFRtZ^0CT(rhAE5cMLo]#GyMoZѫcTj[S_Y'fVe! |- I2jTܦ5%t"q9rU97N]>eIQUހLY-b)AށXAoWLt=j"SU&V4nxHqeB5lJj `D{aqFj r%ĕnJt՞YkJrQ"a0s>'v7e_zP28fCatch[9Q4I,UW i->5Pg )sUSclGDfcFDf%hcupZ8ka!%Lai(Ik NkURYTFQ@ ˔Th'('̓3x"Y3;VB*Nђy]i<l!G4&|X!aN+@idKdM_ b >0C" q (&(B%2&,Fթ!E!`udN@4`%1C % ഓ- nBI N"-"q7HM\.@A10 A8'A4a!n4JhVA#R8Rٻ :c"}SHkVdW!(V!M p_Q!rbQ( #=L)G2 4P 9ťA漀|jh!$2FU}$t&T@F^ \YDMH4.Hb$ :Q Zá5TgCŌCL\k"# !< l'QR>߉dZDJ 0AnS4i,J)f=e#T銻fX2FTb).Jp fO| XLwuxE4cp*"_{$eVH[%9 ŴJs}V-VEjs.ڒcz;܇dH y50D\G)햢{4T lgǝ;fE'*PCZj]y~q2U ;NpHD'ɞ7,0䇼Cd81I gWSn-r/ 5g"DArar+2TPha$Eʔ\QW,vŔ!V*nc^SBn7#!Y)^}(:Pҷ)лپef=Y(t2DI}J9lݩF)($Z- $TL]Q:"֌4"#O]J 0w=_g~SO4y0ys)Tg $c!m(%XS]q8%Ț*4:cdb2F6d6U2+"AR#tI CGhW5kxb_Z0P"e8Yga2#ėKc\j)/W] : Mއzu/.t˴&x.*Nڈ,̡]%f-q{Ii/HrR~2AQXriy꣋ jaY>X2!03#.ښ,E!E<-p"!8|-Ȩd[L*MfQu<#a4sPJeuVo,Z)l"eO.T-eߙTK7n´;|?rF0%n%B3fvO"Uz`(QRED~HAd}G3Wc@B/'qAAQo6#ĊeE`o!E@q7n=#=U.5EwQS %^yf:Ubo'#1tky- Py6J,3+s5b/R7'Dd.g\p>hFX_PC#Hx0RAQ:F2u>>_w- / VbcIA9 PpQpFyybà '520x@bEa@4rXH)SM>hW0hWQO`sAT@P !-Kor/"3|$bHGbVqpw1DgpE#ϗւ5XHPhz9t-iWYeh 9, IfxPF]W@ Rb qB) Iw5>p G 689%W\g^f MNE15R SڅMU@t!hdfih]!%?ޚV1ޕ1+Q٫0)2]U@8GlTk$b7@7Rc-W#hakxZt @1Fy;! gv9Zd\0NR%ᴝvCbGE!0 k%S^sxRC<ذf W*"!4<-@-SddK*-mPA@ER@xs!52_`1RESqK&}pS"&6D*G{c*EPɧdb7%$ oGT%#zepUiM8$54d(8Q4Sp5W9;5j|%gB X!_j>agR119{#sPEwZ6[CU%K m7t:[(+mGô*9=r.Bi)%kN+v.'e2pl=1>e4=BD¬|^XSQ} 'idFFucܠ)V#3`|R@50v6b9EmӢ~o?)29rl}J+ӽ#rWv9_TD."(u@›hgQQ"TKFMx6!'s+E0/LN}{JyB@ lhƣHB3"TCO/1(/s#*664j ڦ!d%ڜxdB'r%(S*ѿ+6d:R0Ҥ|{OWò#:#9#tscaB#4z(KH֢PT#8d+Fv cbMdHdj1**{[Ge*B|qF_LG!䢰@h6QL0 LPwLwR3HluaZѣjz0aA-QTe/NFO69'#rH1z[(,6>v/slry4ѝUvZ "Ё:E W0Mf oa{¨zA^[ ͰSkG8d'^d7{Q [qQ&*߰l䛉DY,#dЂsl1"$ ͒ղ2r#}G>zRTߒDdv@a|du:,sA: 5ƞX(#CL}X<ɛ -gs+qQ㔢7NsU)b1MQ*?s؜ 蕙#'VNԐ<΃8O1lb5UiGQAeٓczTIַhc80n9j^QSJ"srͶ`,!+!*>T8Dd&EQ0Hr4Xwf.$RM8RA(bf$@D aZq!9 Bd931eA;g=/[)g+J''n87C{%Ca#fyrn>Cy}#ϱå+QػP~#ŇqB {qA!4C/E;;Gu>O3h7[Ʉ@"IPu1oW>bpuiHy,E3 xb|ap(^1`4cuG$2BD@7Hu]!gJЕV!duXCPFY^~J%y,d.~㴛@5Ӯ08_17@ TAOUA!_Qs-bQAo17c[f8['hV!s)c ,"_ƸTGW즃vI16GhQ |d6$6J#Z@ېr*z'}5Z-A*E/t+IRzl2\ LP3g['I9dt'Ft NuN@R?yy[1F3o[G1U7{:nѬ:9G5u+ zy*%V>J%LvCtؒDӛmӮddxOl^ eP-쮯t=r>)9Mnja  S D++[kǪ,l0aXI N'(G),s"a`!Hhͅ:Y\!h:@ gPrp`AU6 (]׋7uMw]pZ%ƀBa -aD0>qyyWYe æQ b,?KCqd0SF xI9q2wPI v#$xjD@FƐD,;KKmj-j0!T~n!b G:yE$.~#Ee`PTΰe{X.`x\Jrbm}$:S!vnJ~azaqrRQ]Q@=!_ZeW$R6jgv(!s;J(Жb5HG]k lz1|(%lnG7*H"m*4~9KzE'-;6r6dd80[Ձ62q#ʖmr"rm-71muA_*40]MIJC/TYG_U nćR.R>0i}EE1'fWw#JuqF^*‘9  UIt`  q2f ;`eK#x1d;z"4"D40"~]Wy(~4_}9GtXu=!!Jסm7@#VsnF/VG'e? 0\*p9@l1k:O}`|TrhléȻJ ')-qf] JZdiɕiG' #Y`c6e` GCq&dO ;p:@Q rۑM2.?'Q})T'X\9u'Z(+o.pA"7ea'WS@,peVɠtqVArd=(_c(17]V$IJ,1 j[>[7vHA:9")bqM5pmBp0h,JJuXJ@y%t]I5_H8K?aP`3:/-E bpu[.'`b[jUbPkK9ڼ%PJ b3¾ d;"XG˥DnC&g(Uqk8U05: *م)`V,Rp/ +!*yҚ' 7&TxkA1-O x{*M&R..էG# xNꏂ9RpTPX@:.@?0 T7T**QbFIН1tՏcK0sJn0-Cv,R )$`1B[p~@d!x<;۳)xM'' S?#J2T .T`!9$x[zGoBޑUx @Q@(1$4LUDds.C$x:)x]AOJ@3)0/ɻ[ Qah|ѱE}nTqHjLT+O%ӎnuA+J)@DoG0Z CR瞵zR-$).=N>3@@+r&;a5*]HlǦ^T(]JHJPTli@ W :A E.4F.>:BSL0TQ᪀9áIE^[N@(*`<G?H:߄YPg)n5Z7 B T`hM*_|],/'=dIk@M)hxHupJ} Az{F‡Je4B(~?@4+/ SGG{ Qmu҅ dTS׼7Cl^i6q4sZ[-dqeQLDa5ˤyǗ9^RTL?Bqu]d%E#A#\{xVPR O(AY!+#˪^FAƄKB:VSn=-':IV<껼ooLED3r<:8vr,h:K/3;42Cf"w-_Ij֔ӣՌ9hۀ\fm4DCU+NS* _rFm@L@RAB$Qd:DezWZxi+@0AƌʀSL3Erv O5,ɑ\dh;mLN@YTa&`س3?)df5JH!ysBY A")f<=v,d"S˴3'VfwQQ]Gu ){rk#j'Ws;~ pF1rjYԀtE&S*Pq VT/_aR7{$ژXEse"z[ihN#ia|6&j'X>!oۑ)'3ס=A#&%PIiu>Ⱞ7 H ߨYKP1Ru @1/pUY@1`E0HN@A!OP. o<0Ej'5",AӐ iOE :E Pk2nn&:VSd'˕.;V9!jq50!0]i8! i΂[:HRV;4 N#:!"]暁2H'QQ[0" DɫS<_`s<%'2L5%O!'Hc!xVxaUu偊)k5$'a1T#)fHw-yd&2N?c|[C)*Ʊ.ddNT6r~|qd oݧ>(q2ͽ(~J)ԀtdT?_# Y+^+PbSDpL{b:%U)6C)K hX˒5ذY{FU96=S$?DeB:"i' +h4;rFmtRu`) Q34_1@[.<-r$*&81|T0J1rgGփzk@U>ziM%Vn!pPxw0S9fJ)` G~ֱhHDW;]R1 [_]>%Mξ_YԋĐVm>)mdAaItkI&z+ kpS@ I'|6jԇfk-d!7>[7A5ߵm@OIu27َdCh5 UR1; P0a )8"t='UbfyOeSta=}qbfND\- !~5k߷d4d \Hy}dv9dA$ad,-EuՈ0q~;c--B:_K!Ԝ.^VPoъ1( *mu龌@UKOV4QHVsZqh_ KTFʈZ2Pd'- KF]Nn΃OPa9Q^N@.x~b.ﴢHc-QQ<&H2h4Ѳefԁ#rAa aV^7^u/GWiNkn>=0OaH_t-F4g0ha{$;H1rbe ֺZZpK& damM1V]P2U Ʊ+l%qHŒK@6q'ԇ&^xhT;g-M@z\q@u2@˓뇔sq!cq!EP Q1D4{%^xDQ#t3YPYK#6Q?7m;NVML3xvAQ< M(r<ދEbpuh5"/^AQqJ.127 㢥aItSU;yYf ;Vb-0-8IsBԝh 9hLeB~ij!^)pg+\q@3Y/@z|(tcT)(*qsM'd"DHJnBq e2WB6,0L"`r|x\xqVߊ7"wfU+mIԑln9ڼI%cx(tʨd `w,O~a>xkU"V(v@[XJ $:dpA jGHVSD]ak5F6btf>c$ث+(aIteݪыucR^UnQ38tX^I5rec j'0!l c"楉~I!@DH2MV,;c1sjm(;dqri%\q㷮J%2V좨0-5϶Y(OִG.uw:,q u9ҁ|ec itҋu8F9 ێʜ c>2}{.\,|WuUl |Lrx!%w+_DH7$$1tM!!Za5ڳM/Aa2qyj~M,-EEwd[xs,=?VrWf-+Lf(CRP[pE#}-tD.I!ݒݓ:ǒ^2a~4:uw,!fvv#~ \f1eO0ȦLB,E 03XG>a6wy)$0p,h\&U<>hq)YsITϕ2-FI2pV'2aItvEviCW1fP(,c ezu ,1@/9^Տrqf3=,+n[1bf◔lWD#?"xoڦOTzSdh"qLL,Kx +ͽ'.X\!LhNu,) YIM(0$܍(q)DwR/վ?LƄrB*ʒ|rrL{iIM& x,A7PM:A?ƄCB3cy*֔hUwl*@fئeVl71dk#^:fS?Ÿcrx\xPqՅ,(Qܭ#!LIMPM@Eyʌ,0vFmr@@)z+䬐R?$r 61tG2II pd$z.yj7pGD MxWLpW@pwnhU+A*)(;#xԙIQ k0x$~DTVیjgjdqtmD?xyS|$e36FcpF@qL ȶh\\f(Ctڨ2M\fL@EH%F*xk!l.ʠNh$~S"h+<$q K֫G!ZnW"0)ܜC%;vB@G-zΈV k0xx4)<^oiU[)44%:!M=;MD%h-BY∴ٴ$Ʀ{p`"H֐h:(UqKhMwq;AZ$e2-#ٴ20eq ff>詇lZy4.sitf#p'6fO!d(Z12aWQ;-;_DZocqXMdld>qpR@⢈9* ey!'U -YrD'M" RAt %nNG' 퓑yɝHl*@rGu"I6t\-O4|0QyIt.^o$PF[MoIqT䑈(\МB9`jQ_*40]C:)~N㔢up'?Z;z{joBU> U?l23Dڂfw迓Y++dnhTUbaB;aPSJB*x|+' o[)A2[1(DՏAfՌY@:.ND s OkQVrbz۸A(w,'Q@cehS2x᪑q*;u-ʨx2VQ_$8E} ^S(!,vgk:z2Ppn+EqJ.px%[D,x"T +nɪI{d59Q*uRcVkF/ Qrm=#`)a71iG&v(.S V+-4uµcjpl1"9|;"S)=t}{zbEJ{[%=4a 7d)- 4uQ9ҁrEc4%HW!8%D23)!PZ;52f#BmnWsu#DJqLiUh yR0XG8O+S@2=|_eBqy+P)!jRR;CL36ү'C_gj*J&c1,/a:+!cDu1_6m@a}m͞HQ`ehS2x᪑q*;u-ʨx2VQ_$8E} ^S(!,vgk:z2Ppn+EqJ.px%[D,x"T +nɪI{d59Q*uRcVkF/vTCJ31UPD.WS """# -  6D3ym7 #yA2qe9 Fa6BNg3pF3c Ѓ i1 Qp2 A`{# 'heO#qWUMs, o#TZ(iDr9D=h y>P(THlg9dZͦI8djF7*Ts u.׋Ђp9Z,9CIL÷Sao'fIcVΆFT!y|f3Ua^- Lxͬ69I]𤜵}7Vqt X $Q%CrPEsYׅ݄aDKqv&UYVwkNFx|iOXnGpW^dPohEI ^qy F&UN%1cD];KUQš P5ABaqLURqAToTDbVe\UcGnաpHh9W݁}Ԝg^ qaBŝZy&{DlAxM!XQBaщ  ldVzrUSZa mIAzBI=aihiUg_&$afTK,%ɑakTVFۯGIڱ3dS٩Fg~G(VGH^+oBdL [ƙp\>Q8 :}Ė%fcuWdAh-u@DU4cG&- ao|:LaC֌϶aYu@q*UXE'O!dZXGOaعVG4cTtׇ?E.x9\fi$m^"7fHI%$䤕nPH "THPBᘜ7^`*f4䏢$Id72VC5(P9}q [hR~ U]퐄CPʈ]E-6.IүRVޚ$t+`iSfb0ΑZo3R\XPy(Q-&/!;8 hcb)1ccmhIUU#(Xr I8?&&TY{MgB@PӤǙ,B,oQ2l#)sHӉB!Ҋ[OV2aN,_`BQ"$i,fr y#[ AܚC^Rr E:(jB8y)D-)h斤H\MB 7ƕ$A`C崊Rd>i{sd4WF" J" PA1كiFx#UV-j88Q!0-Hqɰ$7 )R++. 9!֐jɠ9;BuEu3|X br)=9OYI2{)\ʰoCa)^ ejz%8tK3!~nw ARPb`Z!H5H(пs\SvWBʺd 2MA['j."ˀ;C!I0u6 ߋ0ƙ!V3Vb'gAA%#Nc}ra= HZaR:K:srճ[!n&qAjÓY'N#zeI+y SIMNP`~9MhnCN A BfRbq  S@)@!5/ N40cpu& $*b'%B~fZ"X,ʧjk"hɅ%U-%]3 ٭-eeEY@p,5ᰬ)7Ur`X`EQ'0m}X(KS ,OH=iYSŭaf:Ԍ@ &l٤0`)e1aYdv;pеM'xWt;5"iQM#6זI@m TKRZ"I@tz_BF !0"m\`( ,P_:HmaH\sS䫑D2CmLVlPC@Ďv8GE?!RPH_jP 8\U\!"G#^8C6T뒂 ODQ0(NDi:c(C>X+-jV5Td Sy[0zW9jZbM U[Y+#1FfEGzPޮOd $-&T# hUDiHb~ɬC9D(7X P4X+!"9PI0|)B.6нn&T"M zdC"ipw'F Ž8N>2/;-atާ$*HαnMu1.z+\H²:¢ % 1˲UQ{b̕D:J`Ȍ@F6C0d~@949.# Fɰ'f p`ԙ.O$QHcF bǂ_D(2zƻ6+Բ1{< 슭 L/8 cJ&BkXfFw)ba_Z%LQխ9'6) bKGnY(~F"Yr!T.!"%:-s|0 EUjm"'e#68Ld߀20y0>RoJr*YZ%t .$()q68}$9cr9M8a.ȒJWspApMq%Ow!4/CD$"0>^5d cL5gr*Dո(Vj4|N:[m(P>+4fGծ9-T7XQ>B 9S(h zZ檕羰tf$1WI^8ffLF'Dkr%*bumpxN: P W * =CbujTѾ/\-F 33P[GTw$ICs&7*Mv+%y޷ͭ& Ii%uh!74'US⮷ɢ"2~G'2bb$o+*vww~}0TKD+tgxxRq$D LۍT+F"'+WV@wCj8h5Ć%UG,6/33z&\l8USD2~&" 6-]My *6t:3;Ig vJ7B:zfZbQ'xosML)d"W6*$JIagz-JM27]L|[EDԤyc %yoL\0/D#K΁yj(j RJZ"/fI0J"X9=fYZkdr6- xK Ngk^s?Hf¶p. dZ%"KP ͘[1JaW ]enYc' ³6 HL/8‡IÖwl\%-WKX4 ®u}1&M"*èKɛbHQS"Q$;Zx-WX=0U!##d(ˋ7v["=G;*E%?@? $#=q՝[@Q,kjZQGB~.NpMyJ)La&"*H' |`ߕ;Fp?4t_`Fp %è<̵(8¤Ȫg8{f^&yGJpDU"(aRrU@.Q,cMP8f)&_g]"X~֎BS`ޚ7 "7Xhk)y(\B. 0($w+@nJ~@b*HRor˸W%u$Iف\RM Q ` }GS=t![&fg?  p$  @@ N^ t `Y^ /@wW `X ` @^ .gwwdhdh{$b./l2j\`[5U=O1u|\bK:~BrД[}*>xBN_t_jH;-kG ޑ;rG$$pCbefq$j6zZ'e*`j $ g @SѠE4DCb6RH\KQ[g.{[,."ErwمN15nx)+AgxQd# aM8UC#Kb/e=cؖ++M¼u (sdrKYjBv/u*,0IR-^_$ PيS.Я)Yj-pݟuN9r WY_dȒaQF}HWsM(6 `m`>ZoB~B]g Ӆs *z&(.ցgdԏ1V.n"+BauXx(p"4."FF{i[{zk$̴:, 7;۝zs}cR ¯_b8[{[ï48zzF5RBl/=-@gTW""ČEc_"sb6LqG'#? Jſ<i]@F<<".Bn2(pw#Ll; FY]R Fo"^grPN/B!8&_dGݺ@ ҳ Gi6`N ?9fޢ o/HP'* u.7 2>/B%7bHgg!*VXaB&ƠG^Ƅ醂IUa&w] t)B@_?#M eo@Q ‹Dp=r%oЄ ѕ]w~ R4a\,C4yG 2${22OwMh, "QˋF[;ϑHG%>WXp-8[{ )'!wm2l+{dF^f` zd1f/X,ԁeCsAcyG N%}B#f)\Gm&~[>6468J:P_%`P~;GZV/:(~ ʳ_`Of#&Iq_؊> If(+{eWf`*ѱ@AR;?K;1@Cv_P7^> \w*7ePj:UPX_*-dw= %_FW\%iD.>|b,7UṀaG^X,B3`מRq/́ Z=ʭ!lSIDuSvƶb+,[Q. &( f;`'񛂄Qn-ihŨKzxpޗk!s 8TNGeP pC9?z+0E 8[{ \ng<{։x+{eXm$~w@ t(BР;;.O Dp%2u_bE ? qc `Ŀp>9&xo;#*tMA߲ȃB}~[%"0GBG|'B8W `~Mድp. Kp$D-M@O3D k/2QύSB #{X[b 7GΦ ҼB 2H9#VVH,{{ن ` x" ^uv̄y‹Y[` /8F-@ب֕{x%gІ-??NtPQH]PԂÊ{GSUG$O##(K浡24Ftxtz?3!]1@1(fb&5B,I!'8wVOSG-+ j 1vO{Y2'N"*YZH̠Givoy@@\NX}tOpazQ"!IC[Q&Ơu t 0yD>S} g 0)g謥MߟtNQh"!Irٺ%ҲM2ΜFĚ%ƺwj#hIysU"EV㈠NߋG7z~(j6rЋq5R򂲍#B-J%_=!/&7X!Ut-?4ΦX+sFHčF//#i>^)Ѡq9|P%n3Ϊ$I*$LߘDb) p Xف -|(0ƹ]\,*N0\R`@p9^/PQ|kAm6 ڸFhbUV) L}YokF ojWp Z`1ALlTg,}{j6`H[q\vOţ*2N( HQ ʌJGxlx,V*)axYޮUSD\Lh8a2DQt@1,Ֆ%jbH^I <:j&vwahSAjȍ*FE ,7B#FIkvI5 >]hUKyEaxW8=e{z l C. X*8UEب1(rG):C$! sq*JXyҺJblľ?iB #ԤF LUGoi͇32ӏp> hc/q+t'- J^,pPb(e +Ad1(A "H-@ &3#7W1Jp7"|cXp>7ȹcLL bp^^< [xbB;'~43}x54kP̚#b,^Iӌ ̇aV)i#z̬؄ݗ.b_QH-ZUg̡X穫_=30Ud܄P|ލvO:oDuZIfb;R' ̈„6&⛼ռ)e•^+=p jt}Dy2vBxX6B7  串粈Z/B $kN)'{)!R_"!D@W.߅Čn XFS$_ZR4,UjdɁw  p8/<Ο&V%a>~%L 8%Ġ[>豧DQύDmc, y]i]A hށoi/ IR-^t"X7kZ}DyTh/^Ku u P*a7׵ Ve@A n6#&@˸V@ˁ2OV6bD@ m"H%S- Pj֬TFC6WK۪}B[PC$7DrI(p[ub8>eu(-c܂”7oCEuN14¸B( &1`ŃJB `tg  /BM"7&6 ~[LJZj&wTON=8.%o,4~j&sˀN1%aC++k _q^ }m%o˸V\Co):އ&XÉF(/oţUH1 5Y>ǩ1%:@XUe{5aQsqbGcTŎ,/A@HVҹBf8Y?fbT2p"v m#L ` 4Tv_8!H /kI{=|Wχ^ˍ Zxcٱ5<)^ˊP,)=9j>q_DQJKUV@Tu#Bl^/9._]ު͓(Ə.@a/k@L z`keR %R .׌K)yt5/,1x\vP?ƿ0V'b715L6L=JvTz4,_B{9qQ"iPJ7lqYvGFH).~^lVQ̛KLoA*1$SURG+E~~KWDR3x ExTIH 3.#%:0O"LլZ9lȘcbͭ\v߲-;%1!Dŗo" wO@ME*>Bڂ)+p *V=zL"tпe;d//$4u MMH q+z H@G@Dk9 Q-\ R@ @ 4@W N@@Bഘ`=D奱GQx2&@N `hzo|Gj&vdZVUMiB ߂?@N2w4tˊaCPo\ 09H4`\kȮ.M"@BU:9_FE+Ûn{kd2|P*fyybp` 0ml4ʐB?BW.j#to:-`O yѬ P MlIT z~}{x9[ \BFDvä%u&%I&Ru,#1 @4`ghp6ǟ~K:Rb9dpRCBYJkQ@N]`[@N7qgq;>,1IH "92'-Sc)qP$˸V/Hw8Y]+JVT2_myX%?,-T䠥ҳdM_ E-:R-ɰPHUdt-mbbTOX+} p#`TA \٩f2D 2@mpX+`i]Zl @X@D;(Էv.\ V(ԷFmLĵ2}5er_okX;[>*ۥgfuiTyeR+_lkf;bbªoTF'ڹ%TL:6WUpAt$ᆴT?%ľp('0zC(A? p{M)o\cbrЋ0 X%E5s+@Ebm#&U*RC"f ۔ڕ KsJDԚoBRY +Q#2)؆Ӆ_DRoՎ!-Kה +ks!obK"4e(C|/"Q3+98W4k(Q({Un&ƹxvi4!c(9!˲o9u(DP6:SG\NRyo܍^FGe @g>"/ KQ)I^ǥ "+]@6v6vǀ=u|gT( »@OC%h_`k~7D *>,C5׽EuB-dkN.yEuǚKFe^79Lƾy4ˤ'_Y$G %+^"!OE,("% -? PY1 l6(e p^Qdd  ਹ@hVPcz(7PfDT,oV8=e~8]{=WB @( j.J% 8aVdƶdжo(Ĭ̫+ T le6Fq۷ρO>(NkyR7:5):+G2,1)(0˫k%EOM(z4hO˫! R]Xm#( oHb WH'cҪ_JK:(Qmh-a'U9b5(G"bY/"Lz*-a Qɝ_.\F1W|m|%vZeOY02uJtv^BMo TN $KidZ"/taDb"Z1&XT'L*1>opZߌ\}s+f]lԘWQ3eA{?RH2c@HE0\ qA,Їq8 (zFW28]Cc+{eXMhТ#_@b@ `}.Ot &~"ݥd@\fg$MT7[.GFj~-jL[/=Bʏ8#MD=u* EiЦ% b"X)ua^GeLXNp_x|\Ȧ D@Ek(-d^@@\d@@@ h8b(7^ b^@b(׿u\(ҍ-7X(| ew^ XkcXk ݉]H# ~K!NN*O`:d|N_l)Tyۊ.-phk8Xں H5kJv8 rAWV^/Jdcq|`rKDb"6$ca邎qq ie1bWMYb|ij2S'&_Ry872MR-(sWOR9W+^UTN0Fvҏ6ռ.O$kxi9`eMy!<zQ^3aRj{̇aV/dTu9<d e0)D8gWՋ^&VNj0짒ҟd'&k, #QY$&)wڋX͕b쨹o /$2 z ƧT [£K7"x{qJXB"O|(\ZGC 8&>fI‡_YqFQ;xW-D&>t*) c&D+NXB Ī\?|]:Eދ''(E5\ݵB2nBag ,b|/ErXv-u14qbaB^r2nBW[W:jX*I"t7Z*&w`zl_}{N~q-y>y/9.b8lJ85!MjN9Vb9bXW:=[S _JY|V%"F3Ma 屨`u, v\E>@ eϟK+gt`˔Fpj~r.^>.1da#Uz D @m 0B<͕>/hu`Qh~]utޣpq잙( !D2* C%O8갲I:}JF(0 R. A* R/^<K^y\k֌ >z. TOZ B*Fi@ * @ G%Gj~ɽĥF-%8̀OOdP~AgKRZq87ZA H!Τr7Fsw>慷qh^XXM[C[-EZ 9HI$(o۸o@9JP"푇)հdH˪Z&O]kC10njチ[K:Ћ),jzjqE`Y,kz 3 ^PΊEvvS^Fjm>-EcKk^R($< f,`HBP 6K1&HjVIW$Zj&y(_iΖ,bR$2%GPj{Vv|pE14@80-?%^| )H%虞.o$xUrKs*hm% Je :jdZc Pϴ@jתKy 6W[fN 3X5>+ /ke{;]V@! #0CXk%=Dd?¿ +]p )_"A$Ja%aSLSq&FTV %]|pNzXXB/=c ߨ9 bg@b% z 8OBs[O!]b[Q<iੌCf jG~t[P 7Vh @ IwUMO3^b$hgd@O][N&(!#bAX_J#Ϧ`T7qE>>3 - H RC2Y\-z3g*Ї6ґ46O hI2 zH|*ugN S@OI܆撢PT+_lkgxQ _)-!ag)A%@e3Nu.GvSN>4Z6X#Zc7U^f%]O>oQ*hb^FDwG*eMImaaZIRdN.+S[qłR~+^#r eJ1ЄF./e~Bp pIږ^رD-E(j%sƬ0( z^B  BabLP {vl#%u6c.08:6v_ܤ}WB a @{DQi;昹lݴ_\Hд\ @p17`[o[6(˫U 6y٤kȮ(B41k^Aʠ vvxů; 63k܂L"|X\0EDi׺xV@H#~&E47 F!lvvqCN <6hZg-'U=eM[! \cPb@Ha`FlX#PZL#F)ȉ$:.`l g 4ט)0I¶vNDgMGzxb*N N*~WKz ƧJ5t!@N QOe&۬"Ä8c;TOdGe>#GTI oy9Wo&m7@ƥ6;WC<}m. +3"Q8)KE`3;l˵``p-R2$T~0(@7tOgbsմ16Mݓ:9#& ,S!gqD(Seu&fy$B3#rejs׫T$a p_q\qC Do(j47HFb#WbD 2',o; `C @ 7"l aeĥa&p  Q ݻC[3l9ɼ7:T+f][+YL#&6 I/NG ^!NI9olCu )#E #C;{)HD aeQdsm DX ^H @-|ޠ\q@ BoBv82jX!#6_(|HA;Pex#K6wK=>(o[0whb 9LW8ꤌ@IZz,#eɫZ#/)Y%G^ J(g.\@B( | A7jb QCj+_+î j~AϨ˦etQ$wTu0Bh'bETēdŸi'8Vtj-k "T0Gn$"HH$w"" j Uͨ: nBg'>J4+BObvȳLXP?4%3xcٰdE[`$_TW_n9-֗FXS-Ǝo#H̠pO@M %vYg| v*C$Q8 Wvu/P4O|G$0b:r(p]5B-u  q t`C@ 9X6BFHdz7:4$e8Dۡ|ڵ4iZL$cDhhXYfҋ*yu ̉^/wU֬[z L& @ p`Ȩ/j"OGGC{g&2;Hy0rCWT3Je,?ܢQb[ {ቍ` @ J `a&pjb|2bKQr#$!iMO3`KI @W9E.U= =4FdsVG{]WY\/MO3^ B) )Ib<{jG{YGu}I:̤,/vQM9dOQxxClK]<%9"7etdƄΊȅb+î nPw Q8_!\.J`G+wH(F.tP0*xq0X+잙ӣbz,\ ` `1p? "̲: -tlp(uxY+ oFŮDk%H-Kqb;A$Xem)G%i"FtOVCV?_z+0T}9g:U$!02j?%jZBDd;0k0 ^AlnRzfә(o=;S*k0t/La:(؜k##JJk׼ECjTPTo‹"n*WV 37@>Zn92oj0'J<}CN8`2$SxU#8 O06VEH"抄sX&7R F13uCxNf h N`B&kc>} u " ! 4gQ+6 *BYDB0mR##bl Ff@KRq3]v }ۄO>B6QF!b͑0 Anw5µ3ޠ6 ( a&4XŽµ,drb! D0@/׫%LĎl,X#`p¾/52_49fޱJg/JV DyO 1kmϛ*+AѧQ)F8<_ [0`ۮ WZj8i>QSoX24b5`ͺb&ͺK^@9>]/` H_ۮ@{ٛ@{ٛ f@f0Gtg*4ƕH8cyA6/$]0NV 6a%ߨb*t)oۮL&;V7U _8R9lLpZ_TaVgn(u,"s五nfA X`uܢ𰎼]הO+SBsX5Ax sc o9|I%u>k,w۬1Hͺ!@şQHͺ\^ٛ=\JۯtƏmTQ9уrQVYKu"Fp 8' D- QYh>sggeF,y%.JxTZ9lLOy[^>6pcTNQfúIDj#0)NZ7 p ~Xcq^@ t^n#: 31dH-ɕqxTZ3:Q۰?7 [RqxTJ@6.pZFp f[DpLX1 @ |s^b bCM$@NN-`抓LU[n$t ̇`M",@ _g$ 7\[RDic+,b V"|ՠ EB B ~" %Hҡ"#qڣi4BD הJMl!2GQ,_(+>t PkL\h KDr3hnV@og&dbA;)JC/ Fj( wU0ǎ;չ"!$@9"G$nŽ@y`t B2B(>T>u rt .gG/¢5 8onFޅ`OC:⤾o"4OGnk'(pBg|*C+]LӆF77i@_ IJC'1`L\~1q2I›Xbj.( ]=9|/'rKEW(YkU@5I eFq A56JW=8>Dm`=-?`z~z @ Dtngg B#rd0b{W+V!bzR.G (`V&(ḦQ8 WD֛Rۓ:1tG$м(Nd<6Gp)KLQADCO+S=G{T2F*{TQbbBB*,WHtľ&-}$EEN)_9D-2  H acEP TZ:ZK*qZ*X2!HZ~čәOzJ/RW W*8TQD1)F9#<7D \ ^ W P"`^.-UK `L-5(-i!8رu(ҊA cb('~pL@AD/D+4G#'t(z{ˋ@\(Ҁ>(^j&|b(>rϠh-^zIO`Lg0m3aT\T^ H BBLbW}P:@2ҵ$߂$n/uZ f*hn䪵d#nd\k0 Suſ1+@ZJ||2"  4 h&'=[AJk0L<,t2 d `g.%rbws( u^xHn/ɴjEA2s3oBzN), [6dtN L@0OR׼ b@:m]|2UGX7T}"qNx<Jb۵~<k1rΆ*疭 J'{ה),j\`ϭ6 ? d;Aj`v2oZE`>zMLf8)*C@4z&c+.Mf E`QfWek%@2 N9/D[yBtTޱ(6FF r: Ҿ(k4qfFfnPW\['P滀ZjPgNHb2Ox#5cu07: Z4hltPã3gnC=2vjU9{T?$; E }SxN:wB;L ϊqK=0Dc2jZuHBԪcx(F"(Th~J(UOgoߤqh"XJ8!=G'=[h׫aDr]DW4q^od%e30zܫ?f%2&Ѫ)Q?POd$;"T޺ ZwO܋RY%zJfy\ao V@", Fd lC# GyC ~(b{1yopb`,%ht J%V0R-&s ZD ސ@in)p rQ:et ` `D,H:)K=w+Ch'-|Q . OѴjd+{dShUGib.j/ %hl 滃 `]wP u&2(ao" '@x#pb `@ 5 @a"* v p @/CK!Q&1~Z8 =ҎH4d5Oz-TH`@%LJ`@ ./ar>B ~PgNq ?ӤLl@ -M&&b{$|'cKh㚿[M/8wcigJt8 Kդ>DC `(y+i9hxtC<"Xd,lE@@qqrg3G|'e9#&ȳ #W[fThz滈HhU$rKϩFdUdFo30"2b DzsI9#[hP JXX\Br'=[3޻0D N@W2V%ijZhB#1N0ę+{e _Hx10@72&:h 8෦ D '1$ 0@㚿˥@p;sըQ]tN72v\kb ][ D* @CUKXl)TFf4:?Tz&jNyxCZ(F6QbGҁqh gH-dz'yQ¯_ u Ґc 1bHk֍oa/ X8O٭)D9FŚrRKNې6vh>M/x6 &{5ĊD+{e[H\u8XHNnyDa5rs~@/a&p;BNIOAV',[w{5ěp+>Gէ"sr/`]$Eaʈ{5ğN|x>"|qr149+^]P:AgC0@Pms)nx)cFq_IJE′JM* zGؠ"@r%T  E @ N{)?c>{uD`@H@Ҵd@72bi 0i 8@H@Ҵf@/:/@rߚLZDd>(9#lwE5n^Wo)"0W$!WOD`NAQD0"E=Zr4~#@bhfgÄܚYI Nx%8-+{eX_Dy@H@Ҵ $ 0s!B ɶ b@! h@$ 8@H@Ҵ ϰ`02! h@ϥ f@rגJPZ솦bJ>PcihҀ-Mq*Dj ,jҦ}&ԃ8#"oxؠ,9e @Ҁ#@X-y$]y( /|NF$H@cr2# )J( Yh'I*#p3%W <+Z>vV @ D1~pdj(`yFH[er7[;Da5`fVNkXrtޣ{)2 F |Xw6(4Ti@L` 4GS72Hlnot綀 b ϥ` D '1$ 03@״``8Yi 4+Od 0b[fr;y#b_鏗OCÔkE0d]e3q& @ db-SM5zzio′ @ Y^R 0bZ[SKWB0)op ( .:Bjyk ܂릸`Q#!OD+4G#JP0/ED0)[ #*%lHӍXm;*@Q0ZSVpʵr/qBQ0ig&Q \W2 mQ0Z|beʵs>2&Ofy4Np^u*cp'1#-rN$A%:#Jq jM;$6V0R17YV=Bߕmrpo@Lj8o" Fo$xtn.!}#08H;`cQ&/Τ8u>ƞ_ ZN2& :< AW:LߑV^ KO1z*-`; s@7g,9M1^›&)_0BW 7(s(S)\jv ]M1F ZB{~e#zk~' 09?167 {@(,#h F ݆k#l+BWnt@bN671d7E ^8!D b !WkѶX+G%-h'.kԮZYqS@RodW7@( !Wk NlOTK`l8Nޟ$T7/7I)JjZLl$^q8J<|1d7=D( W(!WkѶ*"Q^vq$%/5c'SC73l1 2>O"P%naI$4o7M<Gw2|9=Z nsyu4Ǖ} 5_ <"05۠ĩA=F~p&@<곮Q9aKm42BdF'=Zr'7^5 B!bt@W40`ѐ3qjnԒ[׶*"Q ܺKw/21d}czk)잙@W4P/JHύ^D='v@k'!ex*?$%벖ùڇ *6Ĵ HZ)&26j#h)ITrbP%ܺ˞UmAbsթFGm]\I~,]1c?8  nIo(KsH#hyA6Q,P-f^s͂okBhr##Qɧ@X䘸sQ㌎ :y>m,+Ea\p4 .~Z!%0膗Rw?;0UL cINz;Ҝ W;L"{L>k.z0*y:6E`>d3oCN^"FIO屚l!D J$ r`Du yˤH@@W".U"9BGTi;"q<ʌHGZ `WO//(QScJY1DF[ZsF']tsQc INz$D J$ s@.*h"TQ-c[SFR:СiDL-X3,HGZ `Wṉ8 %eɾ1RΤ"G]>|1JnƫO܅Tvf:3choUS4H(F.z݋?M~ *0qGpޣG̦.G~":G"63`*";wQD4H`8wh4\GB<9W97g| :1#_s_Ix. +? )D @r:KFH}0_xS{ߞ ~.u1Ln.! ª$ u MD_^ 38WQɭO3+&oBVIsL%ag0X[pH_.'KcBM?5-l Q _=x0o`i+ʌ70^%x[17}Gd`u/09 a 0vR0b(.z$ /09 cढY`$nRњb(" @Yu L`$nRGPϚb {>og !MH9u0^ow| ȮVUFz~.47z efhGe, B *$/.:(-¯Z2 FbTqBe@e9gm 䴐^$~'W#7ƿP9q, ȾHx}g:*+ƣٞGM)v%ee`\i ,ɧ(zE]Oɏ/h(z)= l+ʲa! Y_(I-?UGe 7Gy _` 2 OgP͑ qRBHvH(o[S~Zm&z ˫.%?@ A̛'K?M ; #Oڕ9`z&RGr]vs!R:Xae^DtDU]4wU\vGj4Z%cۈt_F7 eIN B7:7/'•zmIbH(Oh_2iz䯥 }Z )`ZBdvfZm&+{n?j*OCbHAc- @&@F P.zd>qbЁ37/̍ʳ;0&G}Dhrqϰ$(BA$yL5.KI jgm:b,K@Mj5B 0/B-&eTjw)I* ~hIg2+{n?j RKN݆X=A>>?̚ryg8')#U|sgmAEH* r-h\=@_>v7b3U4W@:xyq$x;x*9 gfMQ(k.n5+]@v7KD"xTPsd 04[o@Y"##y3fB5KK@o4Njp'(pINfR-'w+{n?ҟ=^-h\=Pr tFEu%H'c%\L! X ]HVve@ (o}We G"[\wߧj6 C92}5eQh})$SK:jt;FYW0e" hWYP>B ss2=VĠ 蓬IUUe;/O ek$pAC0&޼F~AgF@ 98\N_AH2E:xoyy,Z澖g&W!1- b@]’e|zab㼫'X?/8RsBHkCs*#}?_(#nU-4WOR:b/]^as8hxF223v^F/_|Jz'ihjIz rz#fz' DR-&UF6$o͡T5QDn9$X" ԍ#,zet"MG]B'1#aIR+PgE0'=Zmp5d:3&yAg^1MdtNG(u[3 ,IL B1>Y-PM88Ҁ W4M9|/3"o G ' OJ{~era/$$ ˁԥe_$<#ֶ?OBF_ ` @ `BlcF HXa:Ee i@h-d|N/.[dTpŽd|NK["PT亾N qN캱 >+1.vI =OxN H0B+EHƺ[$4&BX%$s/tXN޳z0ʷq4?*P!:7Y9!Re@`y+i I| ˑ\R˟|5)bF'}:PfN{0,^%6Y<V^'g A?|c09HYpQ3G.0vyga@ iU9wȖ|5 wvHĀN9.Hs (qp&`*T 8HkQ d!څqe8I0HxI袣|q%n3#I4rdGl{d7v(WQt"(i RQjx ȂNPtɽr(GБW; R)vMs7J6 Ԣ px(zKNmD9Wjd@a tT$BAƓ"g$ڋ@*_A)ղv3bMPndևKa;Ƙ0]t7Ε'C>b4'$\uwϫO c {CjE(㚵qMTm">|¹8REZ[hahT9}{@wq *^$y(Evd&`^β4 GXC3g0<4>,sxQbl%Dig dkyHHqw #4z-b?NH.jV@2;Xptt M3'SsLw96Ղ۳Ɇ创J ":=BӀb5AD9,|iSĻ @ݸCHu} D?kj]UsNT`/83%p(&( p I&FvF6<dS݈#'?>;,V"pkl;W6zr^"r'u #%T+5h h1=hz v /xZh7se G΢qO`jN_Lv=J8>6̐x{T}9"Ɔ4_;Q@HS'q#AOBgw0( / +;!*1jF0O"%A?]fBfHGP$e#Wb.qbr U^&TV_ӤQ#RוB._TdA$FQ H1@(,2btu$3? %b< _?q6x%-v:'7o/c(Ck6 ZE`w ;TYBkz0CzԹi19 ҈vb)Y2cwoBMY5m.ä8G@H%$vxaGI-53dOGx'Z(Ugdv }@&[l#'1]GSUbopo$5 "0P-Ga!$}hctGaJrE9S^O7GB"v",7TTbFQ.zSkB9Xe3K>a4-25~6Iҵnv2>`x">n V/5,SIV~F w0S#X#TdtxhzO.`h.W(0c{2=_ H'?f% %z[0d-BUBɧ4 ׍a'p8cr-XY6IR jӜ49v.C!h/Fc&i9y4@e ]L#?RC)P!g0`|#L;(V/q!86cixeu dqĄHF4i;6YU ]Mw| |{hcR|V5mXTaT0An V#x$)Gmq(I:E=Cu:e8>\T{' z*JAb]b\b$k~a0q8q$f7/ rX/qzmKze&!oma2C$ J/4eISeұC5W;~@Y*j@(x{{{1P {Zi]KvϐsYKq DB9G.e!(tX5H4S(Um rȁ#B]V@F3,_1bS5h4r$ZsM+$tv^ɑovexzd|TA?(%EC68ceW{5(Qhm$GTO:H%ͥ#c @90 /$/e k2a;{¼@".喻P !'u0 yO4@0 4Vyr0oQLP P01p6 A=H9c[)!͖gg8HŒ*Z5CPkC̔aUpy:; QB.f`1-fJTq-_T"3qii!`qWv䲨}Q)|z za+a5bՏ^GӍcB:A"/q]'\,P<>X\% id0Kվg5mO/=[#gsԒ6}DUrC2GW([ B}GǶ ttHѫu6h.7!FB3j53YxVy`!WpAGsb-mIqV7g4629&`faUpF_PQ/qe`ngaBr"Y2,3/)rs8 k4##qQOvdN2(ǕMGGd"M@9 YZA(TE_-rB%j0NNLZQ{I{կHP1en>8xdpS"nOJU>%39e$>S+, mrCUt{_=Lg;ŨR,DDNAfU0㸞cMdp [w\y"wuEug#U>_i%zz>iz"vh| q?)h30K8[]Iז/"?vs'NN')5'%(v$ƹEOe%g>CBW6A1Tbl%Q.$:VL2A/#0TpT&ȴ !.Z~kcy8I;|ZKt|36Ӯ_R*S RAyC!,1W)a#́JԳOhpv`H/k)p- .g_,-*[v%R#2V8U @SU(4>,CLpyvFt*Y(*;Y'HeZ3z44#oiv9B!Ljb a,zeE^5wMi>?7(:6Y8S+%C6F>>tœ?ͱ۷MELt#[L(a i=}gۍь?B#_:p.~'Ty#+R*Fa9˜ãs8c,R^{Ӥz)nQB;d߁ ~긒&J +_$d}[mBoj2vϪyJ꫱{"eC RU?>;d/?L0IrQw*c"olZ"ƁTV)d!\Z%Lj\rQ!BVjIU+<_X=AT\^y7OͶ%MDe^6V8ɲ꫁і;<_iܑoJ F{I93xCe_-'Zt7/Radi4u@j/R&B9\*27NIS3>~!y<]2{`l93c+M!{̽ܕw2~AqKiߴo7V: %Q?ʋ;tvӿ-҃`uIER~HqsA2룀wkF.0A)g=;vg1ҋWO؅9+!w2E32RG%\2W#_ϝ>ѧi(a1mGOuO4(Q ,dDUþbڏp=b%%]H$xٕ>%~Q>jC*bbh,+DO1ZٱɠSR{ĕ\;]F Q}|R.֖FXi.33s7ENJQ,+%a?k/:Ty(:B .2þus!OqWt.nӨD.)6wQ/̵?>;>M.I%)v!FsCHgf,7!j I~E>)Y_pS#o_0S@K1M}2&$X4pSB"Cp1GnlQ<\lx ߷XH"ɸbij{SPMMhgn_Pk<+Jxv5_Px, ( #V?[h)4Uڲu{4RqOk/@T!tR>Fam:C+#Miy₶P l*.~ҿZzvX'7Qo!~(ڋY(]Uf--Lj]:xYEsV*Qa)"jw2!{̚psgD: y,Z7j1e>tAAEx'ePP9c#跾@!/R[^%M>TV/a,*S7gHrU OY#[֙p2]PJz(Ui=a"$1FbC^kUrD!TWsɧO.VKrg;NH%75N.ȸXUlBO[Yjn@I'H]=@N/0AgH7Xli TVERW%"!~̚6Z0Tr0+ J*4"c0SPLPCAetI(VzS(`[$th{m2"Cwu%e"rO+@:;"Ps $-OL}Eܼ%I@*1q9E[Q1?N#axP%"V2a1T-yԇCt RQ`xᯣ!0$5*1PC_oY6/tyOkeb!|NE=F^\Rb&HJkh"r! `Dz32Ffb[k%xhg ?0O֎u:FmY׃P C=*sjpY Ú~┡Cئ"lOUTqocлA}RRRu (̍OƫH]Z"<@R1tza.cV*#m3eƆOAq (rz6zq^Y9Ĭ!­J!'IdM>ETi~0 (ߤ#_ %Ih"9 /lo3Zut5>]F~F5Dc7[Y`#'g޿R]Fvb9@?(OaA""p>1S T;NUqMMW2ziTo4WM< g3/V(sG!}%dbg4T'35M)UQEmmENM#%CI&:q:z%>*; c'hd} (VN20} xZr2?˕"XD.vDMD$=ÙSYEI n/x_~CR ^Ȃ [- I:'4T(Vp3Fb9-P?YR[,6g! g} x%Dz.;äbLD:Fhqwb@5WH2w}}/NnQ%g-KlG!BViphEXʅOaBqjAn$^'t7+GmcuJyST6,@\w(䲶!HAQͪQ#lvM3s)FaXY鬔sd!t1$g;,0A8L1sBA.p[vcw!kN/.ϓ6.K3MJ"c~Zeʦ0RH$hϩg8 TYV@B.eAi9MDd SPcl..`5'@dϨFїv&U?*(6>1A-((UٺG m"''#x43D;A`(Pl+g,U#O2 PS'ߗ5fTx4gT2q@?ũpBg<+~k+fZe\_ՏmVVvvO1JZf6.1rnQǶ@Q3ky\azG|(ӉK?b9bs A*g[|)WRZǶm/b݇pp3 kod\q3-.2f`ln$:65D>Y$5LU&Fl0OAdnOf22>޶Б3LCg+g1 ,,W}>d@䲡LzFußY@]^mUS RMg2|AGϳSwT`)ebaTb7~IӪ%E]ȣM&3Q?!#B6`ͣ([{ѪT1('Gߓu>O"ƍNB0rH%O8'Qf,"L2cW*ne[&>>{c"!q䮗=i~͕RR-^k (96旇·NiRz\ທJ JU*ȃ&BfX~T7Z/yZlB&p3G;恍M&M_B[? k[B8B$NF/)J+3&=ں ~{._ݼO†J"}*@E Up.2e+bzkHJiHUְR!U(!$2LVƨ;A㼻XX%ڕFRiG#MBip8跳qtL7GVu8xi(1>89^#2baOQF#t0c1b~{TcZBU:#Tx+ɠ ~r/_Hêl'҈&\,n(Q?c>O4[Jk T_>i[`5<y6{Tzaju+ϧ$3RnT.2n%Fj{*,!%TCݣԋpS$ɰ I+<r8;2hQcg=?vxڇ 7∝vUh xvְRulo4g k%RJXv"Nk<HC喈vLdB_Q; ^hK&1a|TqI9ZITFiD b-Ja8A ֺꝼ\gpkl7b;%OkO:UU!(.&WUa:9bʲ 271.TRP q6J.7M}#4J:{"2P,^n!J6mx-x^)Kȃiz ӱ"E"еxsFd̘-WD#CyxylGJ'7-"g?M~GYT39+\g6kaϫE+|^Ȃ~v.aᏤ1V%jաu1oC}WTӣ:OI"rkB5( S IQ?0LrM`nM{C4VEdHH S  YUWLf eD-OuIJF((Uѯ81bbvb9rrfL6TfV!mڳ=%CI!9iֆ*dV؋bi';O(3h oq^ #MU}X v0U  q XQyQ(5Y^ȋ:Fp mYEdb!|4-ۤ)Qب^qb/g,9)53"U"0Z*82oB[t]"$P Y(ĮEv3b=QRdRY6vF@T+K BܱN'i3 fEv'_҇g ̗kWL Ƕ+/ ܂\bxy*?1_F jQjcsV*An&re\? wMFz}.nRR7||ZQ9[њg.v٘B͈)m}V"W8Erw`(\/!sp3uIOeeFyW$aYC#FM9zaF-22UT0ކLL!R௬1t%a(*~!U4{2~:J&Fw(1ږ#&󴼡)|oڭa!*M#D@Q?Ҷay3K'Y5,91`L*T!]kOw0Nbrjݖԕ*+)"Irս6GjJ3)Dghhg \,4uRpy vn ȻMMDhm77ͣ(0 020=۔_::KZ-eMAh$U$iZ,F) ;KOM6ҒD*.T39" z>:?&CO`Ik'B[>cj\{|ѤY$1qk+EM8Q1|&kPob MCkLl12W~d£Gag$3楔ױ}k, MCb9a:[GCգ5qJQ9S)ڔp2<_^8?"'2(\3B+Rr{Z(Ž\ȋ#?9Y#Aqk:Ž!|">YgNISJĮNmg7">]b B߲՛r?azTU ]ϹA29@%6rC{1q,UWVO.zM֫# !(w 10I7'93ղcrD时c$FQΈѺ n)_7#5'GX34!.Aoh$/>tc+L?JODJ*\dN"CO"g0.~{&.iv'BAt%1JEdA$nK~RUY<WDӾM`v\]6E?t-̾5X3Agn2~( I0LɀLݾDMˣRPtu=0!}CFshUp&r+ry}$ YcCRiF6ɥ&:?\ZnQjl$41Fh9#rFU #ppbLZ7Lǣآr!?pZ0`193ICtّ$hQWFXR=+x+/8@!Ǔ)C!_()ùG]+T:Yk@ p,vE_S.!L:؅@$Jx+qr澤k1=G2AC|V1b/i(Mh1 y%ڙ# Cɬ PcG&!3\9'Lx1:F:B\$l+#"`]BFPMFz8 X2ղ?9'u_  #+Ō-{(#[6Rښ+@lrR3<C 6hAA!?_!`wN?npԋr@XRI%5EJ|{Y͖JH㲇;G̢r/|ޚFhAdZ #Ar[SRTT#j0'l?n SR[=JJ`k@3#d4 k%]BUy< :j%VCjKrVE$##1!V>Wxf?pC(ƣ1>&=(u(e 䝆s!q͒V1pyN; GqWM"VI:3|ԝx/3%'QxRujO2D#+8?B%L RUO 8A0e}&A$FMak9Olʶp!,Q![B rI~w[!h1wu:bQh&M1rn#2sݜp3~K<6xױOJ-{mR9riŅvqK Cct'\gk3uCv7\B H(&(4͵RTr9Fg<8NF/Զs 34, `o$kӇjO!#B6aE*$OլOڱt9ƈ'ٱ|J݋dɫ,/4b(XvWv3hJ\K2 >vfIb,B=Q?f@Y3.8 Ugi/=%>sլxO''I=(zxc1:R̀ bLF Wt%P,8O8}8!pG9"j+8*2w8圚ji@[ (2biXr3鰮R7t4]2"/\-](I?#9XWT^?#T *qk̞ &W{Bq:*L\ .=S&t#Q->ҩw/HDAvHoI[}Bzz3EkL|33!TxS\6h:,rBX:Ht%@ť@QmY\g,b+=:DbQt Hb#[,v糌ʄ?};!C!1{drRs~6lehjEgϹ*.aذ 'Cg=ZbIjwIoZrV~C!M=>Jٛ>pΈSwMhmϊw8[R+\ T>fr9g⇼%'8@e%IX}@J!.޶LK)Hc6Ro o!i 1 Se(vpn%U. o}e\;/p(gԵE>*mhKΨ|H'rl uLllr*KY] Pn)O`D{(PDq=u0 8 MIǿ}tTK@iqG=:'1Q)-fR,TiXD&mAT G86Uw~$Ab f7,l\&hmef0/!7x%%(so'R,2J!>9y[):8 ,SUZqTSD,1"t9X< ?2 g8 P/{*UjvP N|IW3Wf]˓ǃc}^r$=Q%]*91#iy .y]$=ÿ!y: C9=Mn߶=AkbUGj7ѯT39'rAVK73JS'+!ȇ&ПC26q2%٧-҈Ag{,, 4 l(WxZY܉Ҟ2R7uyu/Sήn?-/w#jB=&Mx;YuN o>1ǭGeh$ XUuu٘:#)d))b!|Rnԙe=N%}uxvR M~|T,U L %oN\1WTx1J,B M?JtRT@*1U~TG# ?"6*zV9ITxaBzrݯ5oO(Z$ Z\XÇ7]|U2 5+']޽\e,Ea*=?mB-9z6t.̶, [h_tO+䁵m$8L_.:fW9R}=6&ENܮ\mOb4Et3pI~CGUBv!$kxL2L Ruz[=5ޖ9w? N`LVgϱOj;Y}וXfMeFySy+yr0TI28 @H(/:ce̖ĠnPNij톺Z0S/:`SR}X0N1~͢-˾?(#--Cxt8:7MjB$UH$k*3hJU;ͥ=>}F@P:NTY~l8řF_BS+b~$~vcySrAB޿e;a3H,xH8Q3+(iSZ,;KD~>Z?'''tr%OH(/E(tw("A$VC,<:V7]>ZY`Rc],!!Tf9~9Q6hF07yp_JǍlr@Jf7$#0'sWaaBhvܱ!æs!PI}EϢ?ڍ*O dza&6$$#5Q4Axj.M0xѡ'5%,B=t5,1ix  G #erJ2yw‰0Elޥxk?6jK7:S:chAn?"!) 1R0ku!,jdl 5C}lk1*CKh@xBDn` 6r)~7*OQ 'lOj], ` 4-B"1. x=0` *).kR`~p/+K(DJhsy Q 2C_#;K3&Akj6c:caD Dž5aP2 +.q3Nq;'L\$0n N(An)EX;*SQ` 0H+P6Sr`2PG^`Tn  ^ rެMA8FEw{L*$=40$0203=('9X9 D]-1@+BD'Q@<0>?bQCNε%b#_) m[mfXR򦲅&П$B5l1PE0iv1dn0l-!h~)KX'nG)FD0VDn0VA+ MHl`LSz1<\RnmP7m70N@E_y5&q7s0^!S`n= 6KDn 0Z8Nz06@0M$pD T4n UED`FfNpH~yL0PPEBg10XV1l`U=PO^3:Ft>n=wBBgb`0`Otn(PW)B/+B+Ft0j`2C_$o`eA+F  ^ف[3Ũ;K̜x^n0j3Nq;o ܟ^۴Ub7L/nbC yt3&p-(Y~}arJ2  (1` ~r>T>G@CF*3f3MC1Dn0WCMC3Dn0Lc!x:"2):~{.BM,43DnM4T05@5F<3pKp.~(@D=0?5=0;s@0EZH.~(Q <3EEZ2`.~( s?5=<3EEZ.~(L`2F<3EE@E0?60;T\+v@EP8`500Wx1T\(91x31[0ߵ({b2bXݠ""]…3)UՀ͑gObl`Զ.pO4k&0HU]\Bs. MS3եJS]k(Bś_pS/Iv2u -'R(a_^p3^u ud Pn6pnR>j PQQ0b;x/\ s0+Q2k@EE UuG&/ t8$=B_Ew55k@E [qP Q?6!b$=ñ \Aq\ sX2P q8E[?6!b$=1]e0Ew5Xsbe#]+\ sX6(+\ sX6{ Sdw5ibj췍6\ sX6ҋ SxQw5`9bz(_0SKVKu uCi>SQͪXe`   J!w(e` \ 3 3=t`_Dm0M}u u3 TMK  \ 8b02cD,`_B@ TB'PbW IXWĐ TBE9  3m.TNT \ AXM +TB Eg)FE{?q@9jWёSL AXT+T`*M+jCk!DٞaљE118l_G0u  MvNy~vn _ qS0uN"qFpZTn QvBk P1@UT|2,xM,`_S/z0X@SKub_&@STL N(  SٖCG`/uQSEPgBYB>MB1[ y@|%_{pǬ`BG (,|R.#T:֠ %V}A >"1Y'ߗ>i9MD/ͱ70֠y׍3P8p-7}.XN2r@8(MC14n=3f3MC1Dn0WCMC3Dn;P:_l|%2@.~(@C0?3Dn;T\p@5F<3EEZp.~(@E0?5=0;T\+v@E0?5@8SY3T\V91Ν3%[P784#_#M)DTGxOʺO"Ŏ/Հ%>z;@R~x7wb_O~*V7@W`Cؑgi:ta%.MSG7UazEy%('f=Ta+EL<_qd1aXtaAޔtC6QVUc WG~yFfIBDWֶ%_PJL#t!J{ >i#&pۡ,A3r Q3"QYJ H$Be"XQk鉚VrP:mlpUq<}Exa|GU( D /,H<٬mɔ*q-2/Jya`Īf %8ضr+dl@P7(BQ˽hϮ-0RU"TjXdxSk?ahf f1K7;Þ 2ȇд €L 3iK)%9J^%- ;X B򒧊GФudQFQk4C4sZ&HTzu a % &E]d*D)2塑ra/+IJ8qscCC5E7!g%ѐ24"El#9hDC1!#=5366A:TѵԘT_ s4^+}IA5 u"Eq$YyUl8U԰b~Iy5+4GwK{>dK$2Px@SE&7!A%8fI2*젺|~7}ZFiD`FST t<"6/@+) _ { T !X0ADA*y}T",g_ !"KPhȃ,kچae\pP[Dؓs iBF"_3P01Am2(F!DD 1<^pEC#/d~!F0H.RM.k*3#PTa5b`*>|JTiy NR@_Eh9B8%ZeCQF #KNx90ә3Kib6`B `XB%1A*4#jgHI>bH]"|Db(+.2Dbн1#rhAfUli ?Dzl"<rn|a Nq9}r0X0 lWu&ԣŠ&r֏ЦuwY5Yh" %dSf PiB1(0ZށRTûfBO |^-K), ˱-iHP jsalHC'6'Io".#9#ͩyd=AiX]=[1$t>!p7(;|^2;$Bg׏ SE R ɀ/aG"/-'`79_8f*4UrZrQ #H"gI#A!L!QQڽ'8@6J{/)#L"q#ru1yW42;yF8GQ"0mn @3R(Q 'AgpqI>Bi#3eEZEjD0Ȁ"4&# 0-P8-04D?ggG@[a \/m3P95P)X"@!l6&iƉsE$!@zD@4QtR`r`y@*Qdtme1;qYqei*pqA@. p\VPR7p(Vrq5d:fzsnfPg-\t`DqpU p:\h42B JrDjL D"lSqC0:@E0T.z1 :Yr'kd+lq \fHY)7%l|Q#n .MML).’>{@S܈;6NA"''dHh2# :@$@D  Tܔ&DgL^ U.dtYl@N qQiΐN<~wTsΐTΰe桵@H1ZnIpNFCNCpE"SQK꾞 E`Uu OdFݲE^mJ{3,W!#g`dYs*# Jt/f]O ͑1p#=!df@#ݴS#eNW.,Va>Nb͎0ѱ X n/AFYn!Dd|o9gP2=R˯j1buO(O1Z+Rd茥'|d?Sk?qg"%q&m(*#~3EnI9!<#KM!TrNObzPUC*d9Rt.Z P ϜQe  FoQHO'D$UWSU8|A /e i DN~b|pXJ ys_أ5dیM~;.zI0" eLޯ&[i$C ﯼ*iHdp'@!tvd 0ype/OMDL K0@JaT;6V{P0loJآ{zB%N`ao bZU uױ'pǜ:1z& ,I4ӟlBcۛ9dH&S7?)8RAoo g*eA *;,+zAسQ^{ir\"{,9g_Ӱ@U(BQ A$s-VA׺)# 7H9Y T1QՊwpW!"Y[^ap_4u#ׄHU;?)#=x3No2lA2{b(Q3/Dkn̆9V0 ~Ҳ5dG3g*SL*"mDE:;;0l&>U8D](;1aLjFr&S [V}iwE#C6TDkC :'qQI;4~֐Rt(ўfͼbm;==RFzz`)a3EV&sbqW 3%n_" "W;=Q~pCQ@Mu`Sr|,+PfrG@NN@REEV@PPF PI0 K'ǥ)w0XX@B'&\]A-z1cWeE<}v$9a1|mT-2jsp'3ZrlԒu2PLE>xq!,\*ìpL0(w3@ E(Wbhl~WkQr<ҲښX]1sU*|?!s8mDw7}1aQqλm?}[XR\GcJtrHDsJz_,<kL=&x)i$Mi3?b'X!B NMfԖ?d"k+v^(3һנbR?3?4O_*O `ZO6`P=tt`Q0v+Z+6㣭3 nճE!!`!8@qBtMO:&ʗ20̦@CS<ʮ9PCr3~W\)!_o8uA8_\)-tE; ra2D+:6b}oSYs@/ N/ծΔdxn,#aaDiڠ&rʼc<eašHd"T/7V2p5. h1$bdqͿZ/J-*]nqad %]_Rb4-X3C5-hK[ML/=T![#q,bG@h,Ϟ$RIq4Re[ICkW77.D}kOSF6&32%e|#!GZIBNGOJx#q<% r˨!Gv/c|_R)iSIb59P:O,9f=s&@`?vOwg'}u@q#R)7v/赃LY,o]Q7!w6[bjG֭Ah#/(y=uuy?D6S0`ilBwo-vBd|g'xߧJzgoD+Xu2rQv`Gt@kN\ ;RXر|*fy#z`u@ f{Ql qt̏4.#QF..3 ҭ'D CXp  D}uQwbD3pyQƻZ–ġΔ/G1N&QwW{Jp(ir10P  GH22-Z;/ ~i/#J|2ѓ8{ʣm?>GV<eя$ٲ|7IE.1&.PSV࿄ ̀EŗXE&L<B<kuԧ-V1oB_/b4ziP? ,2M&ɑ**pq pܒZ8TȰlEf?fAq" 0C &0P" KSϠ%֘o)m(*#w9%# qVqy:qԤӴBxh!Z8MP&fr1߼b&톓 ~Υd=OZGQn®:݂@"#$R#Sҟ'7]#t/ oYgP\D\CryrB{Ƅױ#h'h\vT\wz,6q2ZKx- `]S_; L-bF=*/n}xJg'Z9qZ!qqy-!G%›5}='g.ynAy3 gj!Gf!8&6f{RJ\C`=l3r#Buz7ZV .w- QU37No; nY1~kUvC)AfD8`M+lC>uFUŞ^E-K_ b. P$幷"|r7%W1Y czYKccM$K,ؘkLN&d5@A8bw&9@"s@IS|eDQ%HBD+ S, L."gJ&ek= _%6dr{Y6FՉo/ MւDpԊf'ټvNYٰMD`Xj:fd~bk\ǐ zG/N7pt" `.v+.%9Anʠ?MjķRJ*'8=SڨUP^`VPD ZIRgbF>,W.,036:mL_*<ux#{=MM|#|y+yLUV⽗w-٨)ʁQ{9 ΛAٹ|u gb^0U!:]C9zˆaBh`LInOWV` /`XeDA$o0Ko)c2fv88 z+%[˨;UJ-Fap(ef@/>$@ou/3:bvy[삣o$G?o#ؐrdn=vTDyѝh\lD˦hQdAo!{ղ1Zq t]!ePIc<mgk-R-.1WXg%d9a#8Wހ!QQI6h mQd¬!!lqBJ6>"%!U"29w|:Jy04Rk*G/j0RYߌ"w^lMCJ?~ , pP:RŻ t@1Ai@fK@2NPu1!PjQ;RgP BҍyoHعt5+l@UIV&!]ek`8``DSpEPP0o2B>c^D#gr: qܳ6Es9p,PD0=7R:n~"""9*gV7Rx5Y~K`Tk4&@=#@AAs񝙋գM's;P Vġiqt`RSGCkN>ST)SG7e6ܧ "i0 0BcN/k~n9*A{SRGe?0P:M`TP#N-u#o:qD*)XR!.2=VfԂ!f&Â]XpbW>՚,vU@p&!.-^X*e^x{1W/aGZD0/KE@8^.枩TS*NaqLl_.4fy߳GdtJdȽ܍1L!HhBH1Ԅ3S[^bΔµSƋ N3r:~ë}kG?*PShtiH-f:)Lq/|OyH#Ac%* ttfzGpqWM *]J1:rv3 baY>TzZBe'v0"ˇ$Jp$,mR@=@T`Gx R@.NC\yBE t=,2\:>&&2'31\4abl3{X&6 k6߭qLBwdTPM*UԼM˟xfnS!ΙmW3&xCq6i^ٸjKKuqF!c[-us&l =!Q>QVw5g{u,{Mq5 q"mZCcYKeޱ/x(.ӛ≞S=*/nHhOV ӖFۖ7!3.+|2od1:o9~`v42Uo~M13ϘDaMH=&BDl'Xy&52mHҪN#z¹][y)qkK0vK+69$$" Aqx;&MHf|-`E0eDpNao.?5G &*'f@ ޟq]{tAg-DnCx>r(MHbO^Q@ԩ!>l@`*e=#jeW _Xj@g$ 0)/7@euc)h`Bv 2 9:*f!56 eE эL[NWab>s>5rf76|G)!А Y\PWP) PKS"GPP1I=RRKGAD}=SмAEVEAuP`=gCfPP}P [MC=,[4>N>[ѵ8xdŰnPP ԘpQ, [!SPHPL|ǛwX=0B[ּ%SRY\)OǹGza7P,a|X<`ԶtrKL1,,zjw~=WP*YVDe)`GmnRo?ˇ`G.呵U{pVpP:ȋҖI)a3wPu/ =PPTEFT=WQI`=NbDGDX@=EU`=dW%PP_P=HwPFMGpOJMJ 7N@UPs0A`EbPxVF =XCp=8bZ[ꓭK@!PB;FjKTtWP==D^@=`I@=ZqMLPT0ODLCn0T40T 34C'PMV=M^ AKİP RsP UI:@DQPVUpVM-.F-C@Rz,v--K:S|-Z&M]t^GX?ьwNQjI@=@PtNԸO3 RPӆ> S'PF`C;HF@=UJD1ENb@FT[Du dZcEKя_VtY2POCISBzʡQ1:@T Tn| Gb@=TNPQ&J?ӭ F45N@4SD?K=gERCG\ ObR{3PXӭD-RK}@RSLj@T DRPKY`MOXZ:b 8bU8E?%PX˩=J`=hp3' JlHLSOI-Z8Bni Nf#`Kć JlH`%bʚI#O-Qʕ{qITCf#@SNQޱ7n/^:  )J"8P'ɄRA*R)BD"Ca%H4C$ I'ʄa0zM"$WA2 N#G*Tc3IhH&10s:Mq\  Qc7AfKPfI 2i@f4-fc 6D2p07`I'ňQi3̉o9 -qlg @$;QsmE}yt݈ F\I p܀)InnZc)Ao6M`ru]wwјw]v}x٥ghX,nf ^ֱ P aǽlѱ\Z E1_X#BX1lnfIx"-a%}FioF]c0goXongk(ɱcn[FehWyy-6Zc]0Hh×^+xl쵞k:{l"*f02Rb2 RpVQ3ǚBJ e.# y Q,㚮EE}C392H\ kCB[WzRm†qK3ǼMe4xϋ0J {l]H&bMԷ~fMK|mKP6]4,奼XaWfZt2,@%Q3,D&2,Ƹӳo e-/!5pV"O Zl>dK8SG" Ix1|hSq8AG'Ғ-2j N˪!Њ`)s+h9.Ϩ|hцY[ŨN_%$vt&y\aCh 4oVSF )%rEuMS/GW \' Оlϱ.fbC3 >!}i%EU嘔@Zrĕ6aޛlVl]+uV'[ >kz "?N׹%Ng\Cڸ+S2Wxge^oU,{C볱RsiMl$'u })n^y6: +8ʟBi2.5;J` ILx9\l%[*S[X1O-9t}h.\`܅KdgzH=_^٠)KI:ȅZbO:e𓱣 >̪ VK yubN$A+%R_fCHs*+tR" WEDnX3s%mjΨDj2:zO惶u8FQ ˲* !#bSRZc4aɻlOxr;t2!Y$ZUɌe3\yKkKFL"Y|6a:ZuQ C#0ԂAPT䦢. fU3l=~RNZRbm _\.*ykwI+^C6|3^CL|5'0޷S]W&nߨjusՋ@Ta&3{o=vm49VU ƪA`ʦvNzu=%0|F}*IRbETjՙ܎4s,7&PN/]'4ij2Z֬7=}ԞCju=:[tD\H5@:q̗ps]m:Aa>S{$`nlq2CmoCymur!Z&IQ|e^baV2e3f81VakS.eUb{'TC,C5$3pXZf5 $2lP 2+tǺ8pFP–cG*~iC6uyy7&r/rDgn!ϛ |kwB!I>-2QP#qBQqCEC$Bs6JJg{-PTS22h4c@ԩV9Tn ')n,y ! ;3+DOYb\LqWf*7cD%*Wcg+n(r>V |y~3Kb3g!uIr⨖ Q5;{lUs<!VwMZ&Glh7%mxaY-`?pIt|saW/0' 'J uS*fo!e4G >C|! -Bw{;=nZÀ%(RzC!*.pZ8#J`dXUC/[kC Hu`A{Di!q-PfYȪ&1,n6C=!nfa3zQ|HB~FqŮ{vMoA,mĈQR.U$&YdbdEƆJ;7O+VF2n҄%r8Y C6E= i|0"a,ؚ2n0ƄR0Xg~tQk@Pw*ѕ\tCoФb K( Za{ {-}D⟧QpE;3dc5Eԭ#GQ,ube7I+ŠJ 1x pX g[AFOQn2:kѴ{ '%B'N!Q!\A\Dsc"Mlci9F4߅k{J%MD4g]y0gsڞ?å6j "E+>w{XT+M[c0 $J;CYkh7pb+8ә D"96gT)}k=Qr xuW|+cRleݮz\uU.%-Sq3mbά763SVRq'LĤC&A"'{87"$2,g]%ǽ|ˬ #+|)ƶ}+#"\q FĐXckSm+b_F/4"ۙ3'/D"CW]-fĈ#D#`r$nzH!kVJҦ o|M2g⾒8TJGbM-YZ'֥V |1uѱ2?,企'X sB@ K-n(~*݄ oc7"֏pݳ|f;lYGH8U5"aD❜RԤgNZ"`F@L]ٱhpQ "BݏY}qPTvFUkq:/!{SӤ|18 ` /mu S͌AH EM4.2]S(.uܯ9"} n.ȑ]A.T {AoaEEuIԆBQПF W,VaqwiP2,Ռ%Hldc%#B-1JRw(kyaqq!{p V3ޗDcBGWOt0 f>aoJ;=z}8eAeSzn°TOoBk5BP?q#cö%mXnlkypFcȿxO=6z>IkW:2o@S-CmAAB]%a~hj5/=؍%Gz{TEID:$L"9.5dz6jOaco=/1Jݝ~ 7n'?G.N|ELQk$e<Ϯ-[Ƥ0e ahҏuPs6Svk1Ƚx_wʎ/c%6ZG[InPm+pAJˋIEZ%챤Z 9!#>uIIE7ۄ<0sߞGj&IA/Rk-j聆R-/Y(Y|p3{m/:p dJ~;1$^.7O#3@Jvd'y. M>&Qk{{${{ֵar= aw  C UDF.`TѣS*3'0C^NLIөI'2C;OT!ztLHW/(G$.C<Ǡ =qq`7効4crFCfAfmb]?x@ZǸ;x=c*I/EkH;&DB:6&CE_Ĝa;tkD{E()%b$!O6v~*~jׇ”Z rIX@=yNEVIACE 5Q*uMb6Rc#-:Zͻ4(UqK}H`iFYLƆ f#*O*ī0r[b~Qċd-i6'1ndEa5Z_4l'?a\LO~A!`sbEQȚNlVx~vXyEʫ9&I;4ȳJ4wt o,rv„Mi!!|tSunv6(WW'1l:6rPd,~7 %o%d?21*QCcn,\%1 , qI._Cy)'dQ|UVk>=LZɠob‹u@EDEFڟ1gٕZ|ڤ3&D,R8.0b+1?m{6k!Z҉Il4F>tCK✇żo㴯'ZdBHZrm{Q!~A^u{{ujGUq?7ڧ랛{KC)҇_WC$G;⪢[56H%g?qUpau|EE#f&aJ7t'b!Ckﻭ[&nZ!Qh 4)b|U L[DBJB Y5CYi}W)E˝{>m TB-rUM[)n,bތLb̪ -W^ ,7Q4?BB2"ty%JWnGA!7^5SqйD9DN2KuJvc@oe4GM&-^&aZWchDwb9h,6Ɂ*wNFATRS)_` !3#Nk{܈N!yoEB՚0K5AZ| _l&#Rh:*=%S=ab [ơ@R>Ragbj~5%Wiu"=xry*uhәL1d,t',3'VDzc_|YъOIdOrD>XGMp.?pqԿ)Q2fh ʋE;svay[sI:X!z)v nZ]u髱2H]Xܠ.g(&AL;U&mJK.6WVQ/ZfgY~8EQ0zXI|I4 n#5'JBV~xrÖ́#cWd1*SE9=6@<D~Tl9,am&+H}Cryu+rsè&ARZE!Ő4B^ٶlw5Iz /R;C=wTwY7KutvXҝ/tY:jS3qc&QeR|`iűC7q[")1f~PnrМB˛N'_ _]|ZA^+kiev@e+%86bT1tN]B.=JML0HPL/vcrʏcuFԔK-QeRi}]ڏ+{MZYgw)ӷnv$m;jG@S6E_a:*b9"ո\Òˌ%s[ԟՎa#o5(_`U#y`=;1s1ƺ<' k?YOq}L+rc("ԁgE_o惏KDg^u=!|\\2Hw9g<\}w^0o^ XР+=.ʊ`auWuBq!!GLfpkCL4{w{awǸR<_h5-]^{'j#nͻRru޸ONYeʎsI1z ']IȥegO!kquJu=w2,;V VwBB Ҙ;6G[|e4}~v00oL˯8[n*$ uVsr'D9P2%*&F*%@dIJCy9N 0}"^4}8 &{? FWD_xI-soB7\A"+cKulӹݪOqY|ǦQ׶<͆pZ%#HC81LAIVDD2,R*Ԧ8f %vcC!lR=&CjP)VBCM#L10u!_B'u;u|˭{F'gu?Q׻u(Ruut`1I u% mVD^>׸,g<~͆ppg@I !DaHXqَ}RS#@ (>s/JrFE H pɞjqE;ah+61|pbbĦi P(L-TRawG?]ϒU(l=pka>W-³ J7aL1DsPV%.f=B':H{\qh81"+3!FaB\)%:dA綋*ȦijWȤ'd+{G^юP M%ed:@S9\A3΂`J`S\D)6&{ 618GJ1pw{0of?ϗVeɅ76=4.;o_:j"nf|w4ןDQ\I3rd{8ݳ~]gee(3Lvae!3"$Omu\7#GՐ ;ҭ~uԕLSghe&Ʊ|sga4CH>56*K- N%bhP 3 b uW M {i-u| 1l =UGvL0HßoHfݡk Sg24H2BktC.3 wϜogfgϗZMyu7DŽEkPz۾8.)_4g$ڋ\˧PnLh2}t[k%)eɹ}SUjDž p@J@S2\Z/1g~A^[chCiFA\b^t(Jj yYLΝL^Aa)\8JD,:bI'3"yJQz6:ΡY 'hn.Lzȷ*,=pAT=„puz[ uW ꦼk(P ~a]ITrGWȘhku?]톀 p~kuDGuW%'-TRawG?]\tjG愚a, r" g8%~a5& ig.GM0 {u6*soNN) \GG=\Db0Hd1% &|se`C@5 4se& l?].  09p() mXh g8` %O22Ue U^#h2  7ї$ $ ge 9=ᘠS~a*hjܓ?]H!Vܓ?](^ z g8CP60 `7U360 `3=]B`9-H02 *s崸K}?N8L#w;'A| 4?*#TD&3w mlˢ1iP>=\Db0Hd1% &|se`C@5 4se& l?].  09p() mXh g8` %O22Ue U^#h2  7ї$ $ ge 9=ᘠS~a*hjܓ?]H!Vܓ?](^ z g Z3ENV* v * TCSELECT, Version 1.2 2N!]~/?#~/(!182P#~A802O>2N> 2]?͝ TCSELECT - SELECT TERMINAL DESCRIPTION FROM Z3TCAP.TCP SYNTAX: TCSELECT A terminal is selected interactively and its descprition is stored in the Z3 terminal descriptor. SYNTAX (WHEELS ONLY): TCSELECT OUTFILE A terminal is selected interactively and its descprition is placed in the file OUTFILE.Z3T for loading by LDR.COM SYNTAX: TCSELECT /#L The terminal selected by letter L on menu number # is stored in the Z3 terminal descriptor. e! `  >X‡͝ FILE 4 ͝ NOT FOUND - ABORTING " ^  } ` ~ ³Ø͝ FILE READ ERROR"E"Jy2Qy2Cm :N( :OO:Pò>2D "LV ͕ ͝ Enter Selection: !̣ ̈́!̣ ͝ CR to redraw menu OR ^C to exit : ͉ (+[>[.[-x{V :D=!_º :Q=0>ͭ !N~6 :CO  " ͧ m *J` 2G"H͝ Selected Terminal is: :G*He:N(V " ͝ Confirm (Y/N)? ͉ (NY(V d ":] " \| T ʴͮ ʱ͝ FILE ]4 ͝ IS READ/ONLY͓ _ ͝ FILE CREATE ERROR*J` \͈ m ͝ FILE ]4 ͝ CREATED ͝ FILE WRITE ERRORA *J` ͝ ZCPR3 TERMINAL DESCRIPTOR LOADED ̈́d{*L"L:D<2Dʁ{*L`"L:D=2D͝ ** TERMINAL MENU :D ͝ FOR Z3TCAP VERSION *E#~#ͭ ͝ ** 2?2@ *Lͨ >2?~ >2@!"A ~ ,"A*A*L A~ y[|Q~ Qy [ V 7ͭ ͝ . ~#ͭ h͝ :?:@͖  ͝ No Terminal Selected   0> ͭ >ͭ Z3TCAP TCPZ3T "+", ">", or "." for NEXT SCREEN "-", "<", or "," for PREVIOUS SCREEN 2S" 2T2V " 2U2WE :Sʌ" <·~ʼ ##ʌx2V_" y2W_ " Ã=ý:T_:U_ :VG:WO}2RE :R ##xy=~$ :T<=G#~+$ :UOV = ~#4 Ý *z *z  ^#V#~ѷ*z (~*z )~#fo~"z w   5 >6  5  5 /  <͓   z    ͣ ~# c   è è è yʨ è yG>GO> ͭ  è d   0ͭ   _y* * {y0ͭ {J >.ͭ J ͭ J > ͭ > ͭ ҭ ʭ ʭ ʭ ʭ ʭ >^ͭ @ͭ ͖ í ͜ Ü *.  O*.  2  2 : _: _ Y XH W@ H5 W@ r# x@ ` H i Hi |ډ z }ډ ~# xz ~+ x Ä a{_! s#r#6!* } $. 2f:f@0N2f!]f:`!'8 !*0!-Z3ENVERASE56 !~6w;;!R( Not Z33+$* Tsnj""ߌ"8‡!"݌֌) :!:] ( /):^/)͙ERASE Version 5.6 (loaded at !H͙h) Usage: ܅͙ {dir:}afn.aft{,...} {{/}options} Options: I Inspect mode (confirm each erasure). A :͙Erase all (*.*) ͙ R :͙Erase read/only ͙ S :w ͙In͙Ex͙clude system files. Q Toggle quiet mode o:׌ ͙n.͙ff.ͫG(#{͙Don't ͙ files without asking. [!*ͬÂ#~( ( (ͬ(o/ #~Â# (/ʙI(5R(AQ(FA(0S‡:،@2،͙ Invalid option.>>2֌:ڌ/2ڌ:ٌ/2ٌ:׌/2׌*ͬʙ :׌ B\:k(͙ Invalid directory.>"ی!] ~#? G:֌ ?:ڌ 9͙Erase all files on :\ ax<@f:io&!ăq\X*:،\͒͋*ی~#,ςĄ*݌}> x:֌ :׌ :֌ :׌ :֌D!ăDà́͟Y( Qۃ>Qf{ Erase (Y/N/Q)? N Read-Only, Erase? N: ? N> faxAfi&>:f#ͺ>.fͺ ~(1:ٌ :׌(!ă ~w#*ߌկ ͅx*݌#"݌ x~# ( (+~f#*݌}ڇ:׌| ͙No͙ File| }>sf͙ Erased, ͤΉ͙k Free͍Aŷ(ͷx8 wd!8 !^ ,=;<>_ͤͅ > ̓ͬq q###~ ##~0ʹʹ˞ ###!ԅ~(#ͽ( ~ (f#2q͍v22ay2~: #̓~2: 3#:猷(ͫ(( :猷 ͫ:͓ѯ2̓~2: . #̓ ::錷:* >?ͤ#?̤:#!4ͳ(s#G~A8@0b2#~ ͆~ ( ͆8#~ O [052댯-"( #( #(  22ꌯ~!8=_.:,<>ȷ;ɯ~:(#͆8Wy888 8 8Oy70 ?ɯ͓ > ͦay A ###~>· A 0XA ###w.1$,1"*~#fo-1G(1*|(~*w*^#V#~ѷ"a(G! NL*~( 7^#V*2."$ rͯ7*6# w#w#!"([ Kɯ`o&"([1S1͞|=*#" ~:.(@K/+) +) N#F^#V`i:. ( ͬ #ͬ"/ͤ[,*/͐͐"1*z0##'^#VS*#^#VS, 005**8W+}(z i`:'()= _.!+ *x"1C*/s#r#! x *"*<}(F""*#"*R8*"[*R"8(*"58[* K*/"*1"[* ( y ***^#V*S!*##" y K/+) +) Nq#NqaC3K3LY ڋXڋڋ ڋOG>> rr# ͟~#  ( f ( ( ( y/ f ѷO> f> f>͌'11d1 1}BR<0 > (0Gf|S}Sͺf;fO>͌~(́w#a{_͔o*o*.:g~O#Ɛ'@'*Ԍj5S!*##" y K/+) +) Nq#NqaC3K3LY ڋXڋڋ ڋOG>> rr# ͟~#  ( f ( ( ( y/ f ѷO> f> f>Z3ENVRENAME37!~6w;;!R( Not Z33+$sQ"$"$"("* ފYL!"rhͳ :!:] ( /:^/RENAME Version 3.7 (loaded at !Ŏh) Usage: Old style: newname=oldname f {dir:}afn.aft=؂ New style: oldname newname f {dir:}afn.aft ؂ Interactive mode: oldname f {dir:}؂ Forms may be mixed in command line. Options: I Inspect mode (confirm each rename). E :İErase existingͻ R :İErase even R/Oͻ S :w InExclude system files. Q Toggle quiet mode o:j n.ff.5G( ĭ{Don't  files without asking. afn.aft{,...} {{/}options} [!:O >,(*##`>~¡( }*d+~#=(sM n+w# *f~/ #~(\#M E(9R(ß>2hm/n/j/:h(2j*#~ (:iG:jl( :h :k2j2ic[U"p[**p~=( ( >2i2j#[U"p=(*[S"[*:l[*p~#,ƒ݆*r}ž> ßx :iW:jl*t6 #? ~:j !:i  to !t<:i +:h(x!9(p:iՅ Not Renamed Յ New Name (=Skip)? >l tU >?  No Wild Cards,tՍWG<(@:n ,:m !:ilxƉo&~(!(! ˾W͙[! ~2o(˾W!tͦ W00 0W|(:o(!u͇tW*r#"r x`:j( l!t!y Y( Q(>Q݆Þ Exists, erase? N R/O, erase? N Rename (Y/N/Q)? N~/ w+w##T](( !y(#EIRSQOF##ͻ(#s#r#(͆(y(x ͆ͻ(~#w ( (=( =*r}d:k:il| NoĂ File| }>s Renamed> ͂xAi&͂>:#I>.~ # )ˇ!~ Invalid directory.>ß}͢#͢͢###͢怶w#ŷ(Arx‡͕w!8 ! ,=;<>_.Ս >  6 ###~ ##~0>>˞͕###!^~͆(#G( ~ (#2͒v22͂y2~: # ~2: 3#:(5(͈( : 5:ѯ2 ~2: . #  ::ĉ* >?.#?.ĉ#!4=~(s#͍G~A8@0b2#~ ~ ( 8#~ ͤO 剹052-͐ͬ( #( #(  22~!8=_.:,<>ȷ;ɯ~ĉ(#8Wy888 8 8Oy70 ?ɯ > 0͂y͕ˊ͕###~>X͕ˊ͕0Xˊ͕###w.û$Ù,û"*~#fo-ûъ(û*|(~*w*^#V#~ѷ"͂(G! Nm*~( 7^#V*2"$ 9X*6# w#w#!"}([ Kɯ`o&ͬ([S(|=*#" ~:(@K+) +) N#F^#V`i: ( 6 #6".[*"*z0##^#VS#^#VSx"C*s#r#! x *"*<}(F""*#"*R8*"[*R"8(*"Ϳ8[*AK*"*"[* ( y ***^#V*S!*##" y K+) +) Nq#Nq͂CKmY WXWW WOG>à>`!$# # W< rr# !"2ߐ !N# 6!:~#  ( ( ( ( y/ ѷO> > >'ͮͮdͮ ͮ}ͿR<0 > (0G|Ў}ЎDHO>~( w#w#a{_o*o*.:g~O#Ɛ'@'*^jW WOG>à>`!$# # W< rr# !"2ߐ !ǒZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǼZ3ENVA͢, Version 1.4 (Type :0͢ at !ͱ͢h) File Erase Utility ͢ Syntax: [dir:]A͢ [I] Where 'I' is the Inspect optionU!]>/ #^: (z^:(n :mI >2 ::k<^͈!] 6> 2 [SS : Z!o[ Sy! 5 =2:(n :( !&*~ !~] "()˿U:(n &͢ is R/O &: Nx͢ Erase? (Yes, No or Quit) _YU:(n͢ No Files͢ 9>.~#>$|#~ j}oqjq###>w>"* }(o~>)* o~#fo~:\( =_2\:i_ ͨ~#|Ͷ}Ϳ0:8_\\!"??????????? $$$@$"$ I A $!  BA@ o~#fo~:\( =_2\:i_ ͨ~#|Ͷ}Ϳ0:8_\\!"???Z3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0Z3ENV͒, Version 1.5 (Type :0͹͒ at !͒͡h) File Rename Utility ͒ Syntax: ͒ [DIR:] No Ambiguous Filespecs Allowed!]>/ #a: (*E<:!]Y!mY:{<E:l(=_:y_ l!o~(;<:( Q(: ͒ Source is R/O, Rename?l\(G<:( Q(: $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @  @  ! $͒ Destination exists, Delete?\\!lw Nwy#͒ (Y or N) _Y͒ <:(Q͒ No Source>$0#~ ͹>)>"* o~#fo~.>oq.q###>w>(0} >?(# <E:(Q͒ Ambiguous filespec͘~#͹|ͦ}ͯ0:8_  $  @ Z3ENV"*շ!><= >o {z0PY* .)\W!R*RS!6!9; x( 0V#03 TYP4LDR Ver 1.1Z3ENVͳ SAVE, Version 1.6 (Type :0ͳ at * ͋ͳH) File Save Utility ͳ Syntax: ͳ nn[H] FILE.TYP [o] Where nn is the decimal or [H]exadecimal length in pages. Any character in the third token switches from page mode to sector/record mode, or.. ͳ from-till FILE.TYP Where 'from' and 'till' are hexadecimal addresses of the start and end of the memory block you wish to save. <:]/(?( ]!m~ 6? ͳ Not Wheels:{<!6!": )": R0|!l\ʹs<(gK*x( ͕͐(~ Eͳ Saved *Hͳ record+|>sͳ as &bk>?   q###~w{#͟lͳ Erase existing &ͳ ? _Y !ͧ͵ͧ͵ͧ~(2ͤ ('22pS͝p*R)\!d>H# 6 !] ͫ0 8?#A!_Pͫ#ͫ#~! =_.:;<>,-/\|~!~(#( ~ (#$"*~#fo*)^#VU(G! N@"Y X OG> <̓> >Ê>Ê> > >  rr# ͹~#  (  ( ( ( y/  > _> ѷO> > <>.< 'ttdt t}ͅR<0 > (0G|͖}͖~#((+~#( (( (80Ɛ'@' $ H @ $@$$@ $ $@I "@ @A !@!"!HHZ3ENV"*շ><= >o {z0PY* .)\W!R*RS6!9; x( 0V#03 TYP4LDR Ver 1.0ǡZ3ENV͵n, Version 1.3 (Type :0ͨn at !Tnh) Disk Space Utility Syntax: ͵n [d:] Where 'd' is Drive Letter A through P!]~ +~ <=_2A2: 08!.*:?##~2$###^#VDM 8O+}(y>()= n Space on A: '͕͕̈́>kè|Y}b0:8>:t~#ͨn d͕ ͕}0/ R0y0 xy_* $~#fo#~ ͨ ! $ @B@!A'd' is Drive Letter A through P!]~ +~ <=_2A2: 08!.*:?##~2$###^#VyZ3ENVCRUNCH28Z UNCR Z-Version 2.8 Copyright (c) 1987 by S. Greenberg $* |‡ås 1P 1> Ͷ2 2 = * ~  " 5: ̝# " />2  : –K 0,éb > Ͷ!= ͻ2g 0v g (.('([ ͝: –Ñ2' g og g" 2 c  g (Zb.(k :' g 8(5  g 8($ />2 [ g $ g : g (ïg  g 2 g ڲ: ͚/S" bA͸!$ >8 *" : !: ( <2 S" bA͸*" : ͧ{(*!" " 2 /> 2 >2 >2$ g _g W: * R(͚͖ R [ ڑ^ * #" Ñ͚Ñ͚[ Ñ|Ag!f9&zAgk~ >2$ *" > 2 : !2 ~(#V|g^z ˪|g~͠|g~2 ͚Ë~* |Ag: w|gs|gw* #" #: '2 : < (2 >2 : G: '̌2 z={((7g 871͚Ë88 (Oɷ(=Gy> : !G >?:w !!~ȷ(~ Z( Y( Q(>w !(~> Ͷ~Ͷ]#1W> 2 !!< !!2 !AA66!qq(6>2qGL~(͘[ r|gs[ |q0~V|gnzAgn(͘[ S [" : Gr|gs|gp]))))o{qg#u{" g 2 g >2% :' ڲ: ̫!9! 4* +" >02- !A: :' ͏p6[ ~a GEL Uncruncher Version 2.8 $Checksum error. $ [ Not compressed ] $Invalid Crunched File. $Requires newer version. $Stack Overflow. $Unexpected EOF. $Usage: $UNCR {d$:}afn {d$:} {/options} Second parameter is destination. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files$ S $clude System files$/: ? ͝!= ͻI K b N 0[ 7>$2& : ̫g 8 ͖ R [ !> c  ~#͚!" !!* #" T]~* >.Ͷ> Ͷ#" >.Ͷ" >:Ͷ(>*Ͷ, U !>Ͷ> Ͷ, T >*Ͷ>ͫB * +}T Hb+" ͫ2͚, INbY(>Ͷ>YͶͫ~#Ͷ>  2*O :֬80 !" 2@8>@2 ơ2 * }(!~ !$^#V{( #:2 :2 :2 :2 :2 22 2 : 2 2< 2a !]~/ += :i2< :k, :y2a :{, :l2b !N>[+x\ͳ := : 2 G:b : 2 2 2 G:< O:a 2 >?!>  (2 2 : /2  >/82 0|S(D 2 h͝ =  ,2f: _!!" :Gƀo&> ++~/ +~ #( yA6# ~S(Q(I( T(C(E(O(!  ! ! ! (66=S = u<7 = u}'s ~#: =2 ̄ ͫ 9.: ¹  , ,}2 (!97u,u= u >: u= uѷ : (͝!b ͻ: #ub u<('͝<(ͫ7: ( : ͫb uu< <2 b u: I = !͵ : (! !  ! n b !ͼ >f>guOu={' ͗8: : 'G  x:  ̓ ̓ uX,ub u KQ͚: ͫ5M͚<ͫ: =_u%[ u: =_u* " Ñg2ub u{/<(G> B%D ͻ:  :a :< _: ( {2  u u2 u<2 * O "  > R [ ͝!b ͻ b uu 2Yyx/Gy/O>j 8B= !" ͫ u > Ͷ> Ͷ_u͝>͝ ͣ͝"͝͏&͝͏/͝:mh͝:mh͝:u͝͝:{ą͝'͝: ̫* ͝* +}>sĶ͝Ϳ { :>nö>fͶöÝ>IͶ>nö>EͶ>xö* }>uʶ>iͶ>rö!~ !~ Ͷ#+F#~# : @Ͷ x 8  0x0Ͷ0Ͷ>:Ͷ >.Ͷ> Ͷ~# ( Ͷ!" u= u!O= u(O* |ɇƀo&:  ~: G(> ~O#* #" Bu2* #" !3 ͫ u(u ͫ2: : =G:& (* #" !- ͫ>$2. ( ͝> 2. : ( ͝:& A[ * " p> Ͷ͝:% !: * > ͶͶ* !DM)jJ)j)j)jJ)j)j)jK Q<#~ Ͷ* >)Ͷͫ<<<>kͶl}l}l}l}(0Ͷ0Ͷ! (!9 Nq# # 7K C !bkVF xs{ _zWK C x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $ZCPR3 required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ file$ processed.$   0 / 0$." !w[ * 2v 2(7ɧ22 2(88>>2O2Ga*  ͬͬ x B2O2!!!!G: G6,q,p,(y/,w,,2G7*  33c88 (OFɷ( =GyF>Fg LZH coding Copyright (c) 1989 by Roger Warren. May be used or reproduced on a non-profit basis only. >>>>7*  !;;s#r# xˆ!;us#r# x›!;s#r# x¯!;: N#F#~#~# x!:s#r# x!' :;s#r#s#r# x!"% #"*# >%>%!9N#F! N#F!; 4^#@4V##~+Q~###~+Se~S+w+ws#r)^#V!' q#pzڕ™{uҙ#q#p! ~s_#~rWDM!' q#pz{u#q#p! s#r!' N#Fx4!u!;^#>>t{! w#w~#fo#|g}!; w#r#+|!:v!;^#V#~#fo!; +z+K\{KPY}O|Gʘ!; T]+~+ xx! T]+~+ xŽ!; s#r! s#r+|5u ! ^#V!' q#p>>t#q#px¸>2 " 2 : 1g vg w1  g g g g ~2 !" !6 # xU!|}́M!qzWbˆ}DM#{ozg!~ẃ#|g#|g xœb*oDMxyu) )N#F! SN ) n&))))))>?o: @w! 6#w>=2 * )" >o&wo&: O>l)=g* }o|e." eo!9" !q*#zڟ{* +|ھ±}ھ|¾}ѷ7$!x N#F#^#V#* s#r;; ' % # -;5w' ' ' ;;;8;H;p;' Srog ! 5." >PgR" |gs 2 >2 !" v (>> >>>7{ ɯ G>8%S @! >8 * : ͌: (@* 9: gk~ >2 * : ͌~V|g^z @|g~|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 (Oɷ(=Gy>!9!͌< * T]>w6@>* w}eo0 $:  : g: G}/< OT]>(* : GzGK>(+|0gr|gsBO ,L}Z8 90)))))lg UU|g~2 ͦg: gOD~(|0g~( G|gn`Ú`Ur|gs|gq x2 ?0W2 ::::_ _: Wz?88 Z3ENV*  !9"$n SUB Version 3.4? "J6"L:] ͍#pz~ ͘ -6N!e~ z!/̈́~#„ɯ2!2/½#~AʭI>2#~B>2~#  ½~#7  +**~[s#r#"~#  "p7?: Strike ^C to Abort Command File - ͑{ & ... Aborted ... Continuing:ʽ!+|œ¹Ù4 4 !":/ Input Command Lines=B Processing SUB File\(=G:iO  >͜< \<<*#"**"s#r##ʇ4 [ ~w#p n[" qB" ͓q*#"**"s#r##ͅ ~#foF6x;¿#~4 w#p n" q:/&:>_<2!~ɯ2\>*~#" =:> > Command Line? *J *J#~#"o|g6 : 0 Writing Command File to Disk &<ʷ:52F&<$*|^#V#"~*+"*|^#V#" *+"&~#2"!">2E6# ;ڭ^G;ڑ^G@ڑ ґ$d:/>$dR$j;'RÁڑڑ;0OxGux=RRG'~#Ý!5&!~=7w*~#"?!4n*w#":7~? [o&)^#Vz~##0:?͞Disk Full͞Dir Full͞Mem Full͞SUB File Not Found͞Param͞Too Many Params͞Line too Long͞SUB File Empty͞Ctrl Char͜ Error on Line *H ͜ &!46# x!"!""*L" Syntax: SUB - Print this HELP Message SUB /A - Abort of SUBMIT File SUB /AB - Abort and Ring Bell SUB /I - Go into Interactive mode SUB - Standard SUB File*$$$$ SUBc(͌ F͌###~ ~0͘ -~*2f 22 f 22ͧ :f <~ M ##x2_f y2_ f = :_:_ :G:O}2ͧ :G M ##x* y* =~$W :<=G#~+$d :O͸ ʁ ~#x * ^#V* "~#fo*  ^#V#~ѷ* (~" w  ~#; % ͩ      y yG>GO> 1 N 'q q dq  q }0 }o|gڀ s }o|gy” ʔ > y0 > >   >^ @ O*.  Y XH W+ H W+ r# x+ a{_*M }K $.O * ^#V* "~#fo*  ^#V#~ѷ* (~" w  ~#; % ͩ      y yG>GO> 1 N 'q q dq  q }0 }o|gڀ s }o|gy” ʔ > y0 > >   >^ @ O*.  Y XØZ3ENV V version 0.6 __UP:,PGUP:< __DN:. PGDN:> LEFT:LRGHT:RBEGN:B_END:EGOTO:GSNXTF:PRVF:EXIT:V commands (in addition to Z-System arrow keys): 1 line down . SP ^N 1 line up , ^P 1 page down > CR ^V 1 page up < ^Z n pages digit n pages digit right R left L beginning B end E next file ^X prev. file ^R goto/search G exit ^C !!!TIME&DAT????????SWP????????BIN????????C?M????????R?L????????Z?L?????????Y?????????LBR????????BSX????????RSX|}/!aRU!1H[!9>R!!4X!)*!Q$!Y!A!I!i !q!y(#(#~?#$0.O *:=2%*À>2*À2*À* À* À*2*2$,͐[Ġ%-%( \ D(K2(B3(:.(-+('>(R(I(N ү$,}lg0ge.||d 008z0 A~#\ ~#* !8O! *͚*͚*͚*͚* ͚*͚* ͚* 1~2#~22X45!z Insufficient terminal suppors#r#~#\ #. O:ga{_r:Y :Y<:Z2WÅ:Z=* |~2Y#~2\#~2V#~2S4( (1:=Wͅ+1~#s:] / :^4A!Hx<2x>vE>(>p<!|^#V#|( >_0!6"2 22>2+ * ":l!_~ :x=#͘>|d(s#r#~( ( (#6#6~# ( (+!~G ~a8{0_w#w!_2 < N#F#5_͘\͘î: !o$ #"z:O !  *z?( # *zG (*"~x DM~ `i": zx!d4YzView files again?:+ 8"(8*͞> 22+ õ8 *͞2> 2=͍:( ͍(͘2 ɯ2͍͍(((͘!~W   i { / , >2 Ç   Checksum erroInvalid Crunched FilCan only uncrunch version Stack OverfloFile shortInsuff. memor* ~#" }+\͑}o ٷ* %w#" %}  2%*}#" :%> s { { !*" %s : R 2%2h2i2j2|=2 !" *."!+" !*" %2h2i2j2! v  ( -.( 8ٷ([ ! 8 ~ @ @ 2 p >2 ͜ =s : >2 & 14S 1 G ͍ ! > :  , <2 S 1 G ͍ * :  , {("= 2 go" ͜ > 2 >2 =2 _ W* : R[ @ 1z|2 > 2 2 ~= V|g^z ˪͖ |g~d |g~2 * : * |2 : G: '[ 2 z={((7 3 788(Ou * O " ɷ(=Gyo >o > 2 ! < ! 2 !2 xX L~( : V|gnz==2:2:O: A]O>=2yO*0##^#Vz(y2z>({/=2%n*: |go"%.|g""9ͣ>0=2 *k.)| >2%swx2\2:2]:=2Z!Y2^=2_se!f~Q> =2m~Z> =2n!m2o2k:92[!"`:m(Ͳ  +2m2o:n(!(n4  2n2oX*.{e![~6^Oͩͬ/2xy18:څͲʇͼ:myDʨʫʷ*b:n(:% &* "`>w+6 #1ʿOx ګ ‹¿Õ:mY:O!\~0N~w#~wxx:^<>:!\w#w}*}|:kx(x(k<:d=2dx+>>Õ:X:k>2k«x ;.ddk}"d>2d3:Xxʮګdd.k d.kx2k"x;:mĠ:^Áx *:^*:_*:_=Gk( 7}&}o:^G}W+O> #  #TC͎A.:m(-*~!#>2k+ɯO_:\Wyұ{( k  :]=Wy01{(  k  (" ( >  8 k  :_y/<_> O_> 0 $:<2> $:m( fwͻ:nx;>>w}}*`0#2i"g!(2l<>ȯ2x< ÿG͎:lG!> #«  y2j:lGk6 !?a~a0 A8_($!:lG͎k(3 :mĻ#2kG=2x:m :j>ÿ̓M!Y^:m(f*g+"`&:io2kGÿ*"*"*+"`&*"*"*"*+"`&*"*"*"*"*`"*"*"*`"*"M!Y Goto ==> ? Can't find it! "`2%"}#| "}"`*<:n *b#ͣ0 2[=2kÜ*}͏*:%G!%6#6#6#s#r#{ƀ_0:% :n((n4 2[2[*[!%F# ~# ~#(##T]~#fo:%G:%(x2%!!%.͒:%([ %ͣ(0[ % [ %ͣ8[ %q:n( !*\!)͑[}s#r!zz Internal cache erro!%F##z+8 ~8^#V+####S %!%F##z+8 ~?8^#V+####S %ɾ# ɾ+ a{_! "!"b\կ2h2< !"z Can't open#*}"b|!"`!Mz Nul filͅM!ͱ:o( !!YFV vers. 0.6 -- type '/' for help. File: -->H( xA.yg>:.!]>..~ .#:Q2[x!|4! !!|Ç - quad-directional file viewer (Plu*Perfect Systems) usage: V filespec1 ... filespecN filespec = [du:|dir:]filename.typ, '?' and '*' ok To search forward: "Gstring", or "G" for next match UPPERcase matches exactly lowercase matches lower or upper '?' matches any character  ~(# ~ # 2͡Ev22Hy2~: #~2: 3#:((;( : :ѯ2~2: . # ::w* >?#?w#!4(s#G~A8@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-* |(~* ^#V#~ѷHCK5Y _X__ _OG&d}& }͉͂00|.,0g} @(> 7~(w#@0b2#~ ~ ( 8#~ O ͘052-C( #( #(  22~!8=_.:,<>ȷ;ɯ~w(#8Wy888 8 8Oy70 ?ɯ > Hy.,-Z3ENV!!!s1*  :]/Y XTCAP is an interactive utility for adding the following extended TCAP functions for ZMATE to a standard TCAP: delete line insert line clear to end of screen Before invoking XTCAP, make sure you have looked up the screen codes for these functions on your terminal.  < The current TCAP is inadequate to run this program. ! ( XTCAP Interactive Extended TCAP Installer for ZMATE* ~ 0[͌The current TCAP appears to be an extended TCAP already. XTCAP is terminating. ͌Sequences are entered, in general, by pressing the actual keys. Thus control keys can be entered directly. The two exceptions are (1) control-M or carriage return and (2) backspace. Carriage return is used to complete and terminate string entry, and backspace is used to correct errors. If you need to enter either of these characters, press the double-quote character first and then the special character. A double-quote character can be entered by pressing it twice.t*  Enter terminal sequences (CR to end):*  DELETE LINE ............. > ** INSERT LINE ............. > ** CLEAR-TO-END-OF-SCREEN .. > ** Enter [DIR:]NAME for new TCAP file (CR to abort) > !>w ~ #\g (Z* *** NO WILDCARD FILENAMES, PLEASE (press key to continue) *** ?!e6Z#63#6T\ _ (F* File exists -- erase it (Y/N)? 3NY \U \p (3* No room in directory -- aborting *  ͕ \͊ (A* Error writing the file (disk full?) -- aborting ?E * New TCAP file successfully written to disk {"!6OGx(G?w#w ?ͤ  "y( +w˯w*w# "*!~#ͤ ];=G Q DEL  ESC  SPACE  0 _>^ͅ>@ͅ> ͅ* ͆"~# ͺ͙~#( ( ͅͺV#^#:****:W~(ͭ *[(  :; %-%( \ ͬͅD(K2(B3(:.(-+('>(R(I(N ү$,}lg0gͅe.||d͕  ͕ 008z0 Aą~( #\ ~#ͅzO* |( +~(G  " |("|(&~!8! V V P !6# s#r#6#s#r#s#r#~#\ #2ͧ͜ ѯ2 Í ͪ *~n (#p*:2͜>2ͧ \ͧ  :2!Q :2"~n (#"I \ I l222. y2 ͒ ~2: 62#:(ͺ ( ( : ͺ :ͭ ѯ2͒ ~2: . #͒  : :(~!8 n (#= :T * >?ͳ #?̳ T #!4 (s# G~A8@0b2#~ ͠ ~ ( ͠ 8#~  O u 052 - ( #( #(  2 2~# (+COM~!8=_.:,<>ȷ;ɯ~T (#͠ 8Wy888 8 8Oy70 ?ɯͭ  > . y. , -  * |(~* ^#V#~ѷ" . (G! N Y +X++ +OG+(++< +< +< +F#" ##( ###* #~#fo #~#_6Ĝ+~# ~#(3 ( S ( ( (  y( yG>GO> ͅ9Å?ì. E:gRhʅ>^ͅ@ͅ 0 Oy. ËO:g͛~(ͬw#a{_ Z3ENV!9"/ 1/ ! * |)~2, Version 1.9 Z-System Address Locator:]Z  Syntax:BͿ Gives the addresses of the CCP, BDOS, BIOS, and, if active, the lowest RSX and the DateStamper.BͿ Z Adds all key ZCPR3 addresses.2 System Elements Base Addresses >-IG>-Ik?$r*BCCP͖Qҥ͙?$<B$ì*BBDOS͙͙B$<E$*.BBIOS͙ͻ!*.Z!#͙ͥNZ-COM):O*y9?$|ڄBRSX (lowest) 1 ^#V*}|„ ~#fo^#V!Vͬ£BDateStamper 1:]Z: Non-ZCPR3 system or Z3LOC is uninstalledBIOP͖ 5<BRCP͖ %<BFCP͖@<BNDR͖c< names)BSHSTK͙ʙ<> w-byte entries) Z3ENV  (Type :ͻh)BZ3TCAP͙* ~!BZ3MSG͙"BEXTFCB͙$BEXPATH͙ 8< elements)BZ3WHL͙)h (O~>nb>f͑BZ3CL͙ʌ< chars)BEXTSTK͙&BCBIOS͙* ##f.$$|Z3LOC#~ ěͥ~#!ڑÑ$G}1[Not implemented]* ^#VͰ>hͥw> I* }^=j^#V###Ž2~Ž (ZCPR##n{X­#— (BGii):>0!o{#^#V##~#fo>ù  "0}>" (CP/Mo{|lSBDL8VOa (UNKNOWN BDOS - ID: ͻ4{ (ZS( (ZD (Z80 (ZOS (ZRDOS> }͞>.}͞>)͙> 0 (D DͥLZ80/NSC800)HD64180/Z180)8080/8085) recs):*/ |}~#s ] ͛ J OOS$$ $y$ $yG>GO> ͛i$d͏ ͏0͛ڙ Ñ_y¦ʦ{y0͛{|ͻ}ͻ 7Û0Û> ͛> ͛_(None requested)AA Ambassador ADDS Consul 980 ADDS Regent 20 ADDS Viewpoint ADM 2 ADM 3A ADM 20 ADM 31 ADM 42 Apple //e ALS Apple //e MS Apple //e PCPI Apple /// Bantam 550 CDC 456 Commodore C128 Concept 100 Concept 108 CT82 Datapoint 1560 DEC VT52 DEC VT100 Dialogue 80 Direct 800/A Epson GENEVA Epson QX-10 General TerminalHazeltine 1420 Hazeltine 1500 Hazeltine 1510 Hazeltine 1520 Heath H19 Heath H19 (ANSI)HP 2621 IBM 3101 IBM PC Color IBM PC Mono Kaypro II Kaypro 4 or 10 Liberty Free50 Liberty Free100 Micro Bee Microterm ACT IVMicroterm ACT V Morrow MDT-20 Morrow MDT-60 Morrow MDT-70 NorthStar AdvantOsborne I Perkins Elm 1100Perkins Elm 1200Phillips 2000C Qume QVT 102 SOROC 120 Super Bee TAB 132 Teleray 1061 Teleray 3800 TERM-MITE ST1000TRS80-12 P&T 2.2TTY 4424 TVI 905 TVI 912 TVI 920 TVI 950 TVI 955 TVI 970 VC 404 VC 415 Visual 200 WYSE 50 WYSE 100 Xerox 820-I Xerox 820-II Xerox 8-16 2.6 None 2AA-Ambassador [%i%d;%dHADDS-Consul 980 2 @ %+@%2ADDS-20 Regent  2 Y%+ %+ KADDS-V Viewpoint 2 Y%+ %+ K0AADM-2 2=%+ %+ ADM-3A 2=%+ %+ ADM-20 2%R=%+ %+ T)(ADM-31 2=%+ %+ TG6G0ADM-42  2=%+ %+ TG4G0A2E-ALS Apple 2 =%+ %+ A2E-MS Apple 2Y=%+ %+ T()A2E-PCPI Apple 2*=%+ %+ T)(A3 Apple /// 2%r%+%+B550 Bantam 2KX%+ Y%+ ICDC-456 21%+ %+ C128 Commodore 2=%+ %+ T)(C100 Concept 2 a%+ %+ EDdeUv 8pp v p C108 Concept 2?a%+ %+ DdCT82 2 %r %.%.DP1560 Datapoint 2=%+ %+ TABVT52 DEC 2HJY%+ %+ KVT100 DEC 2[%i%d;%dHD-80 Dialogue K*=%+ %+ tjkDIR-800 Direct 2[%i%d;%dHGENEVA Epson 2*=%+ %+ TQX-10 Epson 2=%+ %+ T)(GT-100A Gen Trm 2 f%r%+ %+ KbaH1420 Hazeltine 2%r%.%+ H1500 Hazeltine 2~~%r%.%+ ~H1510 Hazeltine 2%r%.%+ H1520 Hazeltine 2~~%r%.%+ ~~~H19-H Heath Mode 2EY%+ %+ KpqH19-A ANSI Mode 2[%d;%dHHP-2621 2HJ&a%r%dc%dY&dD&d@IBM-3101 2KY%+ %+ IIBM PC Color 2[%i%d;%dHIBM PC Mono 2[%i%d;%dHKP-2 Kaypro II 2=%+ %+ KP10 Kaypro 4/10 2=%+ %+ B0C0FREE50 Liberty 2+=%+ %+ T)(FREE100 Liberty 2+=%+ %+ T)(MBEE Micro Bee 2EF%+ %+ KdPd@ACT-IV Microterm2 %.%.ACT-V Microterm  2 %.%.MDT-20 2%R=%+ %+ T)(MDT-60 2=%+ %+ T)(MDT-70 2=%+ %+ T)(ADVANT Northstar2=%+ %+ OSBORNE I 2=%+ %+ T)(PE-1100 Perkin EHJX%+ Y%+ IPE-1200 Perkin EHJX%+ Y%+ IP2000C Phillips  2 Y%+ %+ K0q0@QVT-102 Qume 2=%+ %+ T)(SOROC 120 2*=%+ %+ TSBEE Super Bee 2HJF%r%3%3K_1_0TAB-132 2[%i%d;%dHT-1601 Teleray 2 Y%+ %+ KRDR@T-3800 Teleray 2 Y%+ %+ KST-1000 TermMITE2 %rM%+ %+ TIITRS80-12 P&T 2.22 Y%+ %+ TTY-4424 2[%i%2;%2HTVI905  2+=%+ %+ T)(TVI912 2=%+ %+ T)(TVI920 2=%+ %+ T)(TVI950  2*=%+ %+ t)(TVI955  2+=%+ %+ T)(TVI970 2[%2;%2HVC-404  2%+ %+ VC-415  2 %.%.V200 Visual 200 2vY%+ %+ xxxxWYSE-50 2%ia%dR%dCT)(WYSE-100 2%ia%dR%dCT)(820-I Xerox 2*=%+ %+ T820-II Xerox 2*=%+ %+ T)(16/8 Xerox 2*=%+ %+ T)( 2.4 2820-I Xerox 2*=%+ %+ T/Z3ENVZCNFGCOMCFGCFG LBRs@1@͸ ͔ڇ [R͔:_(ͳ ͔( ;*Tͥ8+7MzQuz:0! #N#F#BKXF#^#O~y7! Bڑ !! N#Fg*X "XB$%‘ [f*["[*]"]*NV*PVN [fsR1N331:oW:n((8z2n ͔7:"(* "p:h2c!gJC!J:_{@[V*fR~: #~#8 (. 7:!G:_(ͳ ͔(:_!e6:( (:_7> .7*X:ZOw *X:ZO~[[*]̡Ú>:ZF Ͱ6 ͔KZ3![X*X[[KZ ʑ ͸*  ͔ :ZĔu ͔1F*Xq#p+*XN#F#[[:Z>A(>@> yİ>?ɯ!""h ͔͂u ͔1!sPY:ZG*XsZ#KZ![[*X[[:Z(( ‘ ~͐~#foz!""V ͔͂u :ZG*Xs#Z*X[[:Z(( ‘ ~ͪ~#fo$>O OlK:ZW !5:Z +>:(#w#6:Zґ OO!. N#~#fo[X  :ZW !4![[:Z(=(= p+~=?AH @*[ *X:Z^G/O/W ((yW~wz:ZG=xʑ *X@ *]OA ͡ [[͚*X~(>/w@:Z=‘ *X~@͔>h7 sPY[]*fR( N#F#~#fo>h7~ ! 9:Z(>? 6A#  60#(>:Z(xGyO[]*fRy ͔^#V#~#fo ͔:Z=…}ß!"d! >0w##> 0w!G>[w+>w+>w * |2_O#~2!:]å ͔:!22a{͙C͙!n"l C`*> i `"p"t%"bC!K`l~ :.(K`CnCv!: ͧ2i{Knl~ :i(CnCtb"p"v!# Kb͝2Cʨ !j(2")!g>":c2h!gJCڨ !Jè !{Q!D|Ͷ͐{oʨ * ͙|!Ͷ !t"l*lN#F#"lxp+q#y wB(:i:Kb!|% * J (K`!tͪ7w#~( * ~(7#^#V#DMR"f`i2n=2o4*P*T@ ڌ :o<2o,*PR 2nF#^#Sx Sf ~2 #N#F#X!t  ͔  =@ 8!| @:n Ͱ !ͽ >.;ͽ .   (;͔åt ZCNFG, Z-SYSTEM CONFIGURATION UTILITY Version . , / / Invalid command. Try Again: ) -Enter up to 3 characters: ) Enter a number ) Enter HEX =>from to Check for possible Drive or user error.. ) New DU ('?' for default) (Space or CR to continue, ^C for Menu) BAD CFG FILE - Does not start with RST 0 or RET code. was not found. Target data inappropriate for this overlay - WRONG CONFIGURATION OVERLAY? ) Enter filespec option BAD DATA IN in the case table for menu # , item ZCNFG INSTALLATION CONTROL X or Esc =Save changes & eXit Q,^C =Quit with no changes saved / or ? =Explain Options > or . =Next Menu < or , =Previous Menu Which choice? /?Q >,.,<","Xxxp Configures option data in Executable files. Syntax: ZCNFG [du/dir:][.] [du/dir:][][.] du/dir: defaults to the current drive and user is the Executable file to configure. is the configuration overlay file. defaults to COM, defaults to CFG Example: ZCNFG ZCNFG ;configures itself. A related configuration data file must be present to provide Screen layout, Menus, and configuration data.   > ɷRB d0d 0 ~͐#(>=0 =M_!dN (  #4+ ?? qy/͞ 7~$ȷ #˿͘~~# ~7( ͪ(#A~# 7 >͞>͞<?F:`J >͞02YK>͞'02j[0͔åDIRECTORY FULLCLOSE ERROR READ ERROR = WRITE ERROR = Cn͙͇bkp+q!: ##<(͝!w:o~ . #>Knɯ2ͪ* >? #?ͪ#!4('(# #( +N+F/=#Kn~A80G#~ ( p8xD>8>8Cn ͪ0 8?#&o MD͝ > ~! !Я~,/:.=;<>_~# (+a{_* }^#Vz|M!0GyȷȯWX+YRxOA6 +# yA> +  Gp>: d>. A> ~# ( +~=?8A+~ ?8ͰO͹͘~#( ( ;͹V#^#[u[wl[y[{l*o:lW~( *[q( u:m(&O[PPPP:kg:kg gɠge[(w%-%( \ ;D(L2(C3(;.(++(*>(R(I(N ү$,}lg0g|;e||d 0/0Gz0 A(;x~( #\ ~#;zO*|( +~(GA G "|("g|(D~!8? ~2i#~2j#~2kl:iO  !l6#s#r#6#s#r# 6#s#r#~#\ #*1"!N#Fy( p+q+F+Nq#p)("!J!N#F!) s( # x " *# !~ #[ &   !J!6#!T=> 'E> !~ #>  #~##> Y ͕X͕͕ ͕OG_ ͕>!!!s#r#6Þ>͞>Þ>͞ rr# !"2q !N# 6!İ:ѷOó&d& .,0g} |> (0G|'  d  }R<0 > (0G;-Sr'[Sr[d[ [}lR<0 > (0G[rSr|͐}͐|͟}͟8<8;<;~(w#H (+?OA8[8yO08:8yO 8 ya{_~?(O#Ɛ'@'DZ3ENVZERR+LS QHSDAFJGTLXYVPM[IK:LSHsn1n}ߋʜ!]~/ #~/y y xAy؄>:͌# Installe:1(ʹf̀`Ԍ~8>_!<^#V4%:1(ʹft( !1(~(;(#~ ~2r6"p:1(ʹffu+ :,. - Cance:r(. /:-. - Ski.%:.$ ,!tU +:Oۉ_~# ȃO(2+҃ !s#~(;  ~# ʃ^#V*'"0t; ".Ђ~#;( (̈́O~̈́ >:;~O(#F =ɯ~ >(2*%"':+:*.e( Ͳ̓!t[.r6 #6 r+~# !t~ # yͤBR8 <*'>+~# ~=ͷσ*'K>͜A86# x ͔\ڍ\ xͤ[#R['R8.#R"' [0Rʃq#p+~# *'>K͔͜σ\6͖<\ڍ͖\2y Ѝ͖O",> 0@a{_!/ 8 ,0g}|0O[(I((.H.ES.TA.DE:>*. %4~#O(_.Command Line Error: - Z34 Error Handler Syntax: ZERR <-- Set error handler ZERR <-- Remove error handle Remove6{n4! f. Fixed Lo., Version 1.6h-KcxƇIllegal attempt to change directorInvalid directorIncorrect passworUnknown erroBad command name (file type or wild card) useCommand not found (even by ECPRequested load file not found on disAmbiguous or missing file namBad numerical expressioSource file not founDisk fulTPA overfloSegment too largBad segment addresCommand line overfloDuplicate file specificatioFile is R/Disk is R/Invalid optioCan't load RSCan't remove RS!tGO# ͡!5>!6 8(o!K/ !:/=O N#F_щ>2{ňֈdnh#: 7+ >O~# ʼnͲ~ (+t# t(ͽͽ~ (Ͳ͊áňt(x(͊~;(x(͊nA6:/2>x(: ywͽx6xx(OG T]#w++w͡ý ͽ Ͳ ~! ,;:.=6x=>> 0@O ̈́@̈́*X ^#VO> (>BGii#:*$*:W~(8*~( #\ ~#zO*|( +~(Go u "|("||(D~!8? ~2~#~2#~2:~O  !6#s#r#6#s#r# 6#s#r#~#\ #͌ N#FԌ. N#FͱͿSͿ͈d `^#R ##Ԍ-͝ ` Fɯ`###~ ##~0Ԍ### ~(# ~ # Ԍ###~Ԍ~ѷԌ~#fo*|("~#fo( w7*|("~#fo( ~7ʹ(FG~(#9ͪ~;( (>;( ~#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOO>o*oɸ#(6ʹs#r~# >ʹ~#fo~*^#V#~.$،"*|(~#fo0x%XG*^#V#~#Fѷ*|(~*|(^#V#~͚(G! Nͅ`[z0*~( 7^#V*"Y X OG _ > rr# ѷOsZ3ENVZEX2 DEBUG>NOISE>SHORT>LONG>ZEXMSG>CCPCMD>SILENCE>QUIETEXIT>FLOW>BELL>PATH>SCANCUR>DU>s1͆  q ͽ  )͊ /  ʹ  B͈ QǗ Requires Z80!$*K " 0>8=2!  1."q.~2s:*| o* RSX image missing!6*KBo"ɯ2[*s#r*s#r*|#~#fo":':-:5:=:F:Q:W: 2!:(*q.h~2t ~2u ~2v ~2w*-!q.: '*###~ ##~48v n >>>: : XK! [s#r! [s#r*ѷR( ! ! ! !([! s#r6*q.f.[.  s#rr+>w*q.w#r*#^#V*.s#r*DM."!! [ Nwy#::s*q.h>!w w w w~>*~#w*ɯ2!"*[:{ ;}>{ 4:}( ^ ^6"[R:OAO:- y( i͉ }(> 5;ʰO} >2y<2, > >Iy Iy|H͏: _:8 I:i͆:8 I:i Q 2- i O2- yi :- ( 2- >i>2- >i ):. (2. 2- >q>i>2. 2- >q>i > q> i.!^(#$  Oy ͂ } > q :$(::, :1Q:Q1!O F 5 ;(>;vO:- y#~͉(+ ͂:^: ͂5}> IQ08$:0 02! 0>((qq!:e=> _^#V{[RگOq+I*#"!6SI !4a{ ! !I" I(c| (!w !(S8= > I> q(>|Q^  qt$ q* R+}wѷ<!!O|7y(0̀#( ( +~ #(+~( (~# #~< <77#~! !8O| > 2| y77! !8)O |(|(xG0Gx2y77SAYEND SAY"'WAIT RINGRING WAITWAITABORTQUIET ONQUIET YESQUIET OFFQUIET NOEND QUIETQUIETSILENCE ONSILENCE YESSILENCE OFFSILENCE NOEND SILENCESILENCEAGAINCCPCMD ONCCPCMD YESCCPCMD OFFCCPCMD NOEND CCPCMDCCPCMDZEXMSG ONZEXMSG YESZEXMSG OFFZEXMSG NOEND ZEXMSGZEXMSGFALSECMD ONFALSECMD YESFALSECMD NOFALSECMD OFFEND FALSECMDFALSECMDIF TRUEEND IFIF FALSEELSEJOINRINGBELLCR LFCR LF TABSPACENULDELESCUNTIL WATCH FOR PAUSE RING PAUSE :*~ 80 g+> g+T+> g++(ͼ*! u** Hit any key...*6o&6 ! x2S (́ (s#r#:́ ( ͉ ֯O ;*~#~ o* ZEX Already Present 4͒)~; #~# +[CS͒)6: o* ZEX cannot be rerun using GO. 4!͖ (1ͼ)2ͦ)(&"|)(|("x##n&""͵) o* Aborting: inadequate ZCPR3 facilities. A|([ R )K ! ~!? ^#VS##^#VS##^#VS*+++Ri=[ !"~#fo"| "~##"##"!("z!6+""":]>g+*|2l !">2ͼ**#" +>:g+> g+ G*6~+6 #6 #""!e~ (C #~C #~P  ! ! ) o* No ZEX or SUB script file found.  6e~+)!K*\ :p( Kq):c  *=G:iO ( :l) % )Z*) **6K* "6KB0@*(~)O) o* TPA overflow 6*[R8+""[z=2!KDMN#0:w#z(*z~2 *z~o* ZEX Version 5.0 :]/:^/o*** ZEX v.5.0 Syntax: ZEX [ [dir:]subfile[.typ][ parameters] ] ** $N N-th command-line param. '{' (col. 1) thru '}' Comment lines $$, $| ... Becomes '$','|'... ;; Remainder of line is a comment '<' (1st char) Input line to program ^X Control-char 'X' (any char.) |ABORT| Quit script |AGAIN| Repeat script |WAIT| Wait until a is typed |RING WAIT| Ring bell, wait for |PAUSE nn| or |RING PAUSE nn| Wait nn secs. for keypress |RING| or |BELL| Ring console bell |UNTIL X| Use console input until 'X' (any char.) is typed |WATCHFOR string| Use console input until "string" is output, then script |JOIN| Omit and continue on next line |CR|, |LF|, |CR LF|, |NUL|, |SPACE|, |TAB|, |DEL|, |ESC| The character(s) |CCPCMD| / |CCPCMD OFF| Show/ Don't show: CCP command output |ZEXMSG| / |ZEXMSG OFF| Show/ Don't show: ZEX command prompt |FALSECMD| / |FALSECMD OFF| Show/ Don't show: commands in false flow state |SILENCE| / |SILENCE OFF| Suppress/ resume: console output |SAY| / |END SAY| Begin/ end: direct message to console output |"| = toggle |SAY| |'| = toggle |IF TRUE||SAY| |IF TRUE| or |IF FALSE| / |END IF| Do script if true(false) flow state |IF TRUE| .. |ELSE| .. |END IF| Do script per command flow state synonyms: |... ON| or |... YES| / |... NO| or |... OFF| or |END ...|A:5:=O:F"ɷbk(~|(+w#! ~|"w#~|("w#! ~|+w#A[ a{ *|q###>w{*R"Fo* DirectivecFo* Parameter number out of range;Fo* Expression or ParameterFo* Script too long. o* Error Line # * +ͼ**~(# 6u*ͼ*K> (g+o*^6 o* Too many parameters: *> 6~ ȷ > g+#o* Text Buffer Empty4o* Incompatible RSX has altered (0001h).4ZEXSUBÌÁuå KZEX v. 5.0 ͹7?71*"r<(͹ *"K:K*#~#fo R>2*:#6͹*"*! Nwy#*K%K!4!41?!^^'_Y*8#[Us#r*:#6͆*4###KD#~( y [@*BR6;#j#~# *6:Fw2W2R2]2^/2Q2Q2\r+~͵<>$$. NF G"O((($:_G(y(:` :Y!X5=2Yx:'(N'F("( !~68s16(Q( ""O"y0 2b!:t :Z("":a >2a:a(z-(ˆ( :Z(>2`:` >2`(O(KO88̈́(:^ :] y<1̈́(:^ :] :Wy(?*'O:Z < 6>(2a2`6y(2t {*I l&"X:*. * 6 (((#:Z :Z( !_ˆͷ:b(38>O!k T]+#qbO +G +>2`2b*:~G(!" y 2R/2Q2\:Q(*6~  y 2*G?:T($(' '?:Z!_F*:#F+*:Fɷ_!K^#Vagms  39<CFLOUX^|6( >2a>2`6(>>6>(!bwG#w>' (# ($ ͸'  * **&̈́*<~#fo~2Z{͆!KP?å>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2G͸>$ '>:GG2  '![2[̈́<(:\/:R:W/r+{~2Z#~2Z{>2a2`͆'r#~2Z{:S38P!:H( = *6~(3!!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done (HBA  @ I$H B@B@D@I "@@$@ B@ I I! @DHI@H@$ H$@H  BDHBII!  D! !"!DBI $ $" ZEX 5.0 Òuî81_< :8͕*-.~>2͊>2; *! Nwy#:/(*-.h0w w w w*u88͕!!!!1,!KK'_Y*8#[Us#r*:#6s*4###KD#~( y [@*BR6;#W#~# *6:Fw2W2R2]2^/2Q2Q2\_+~͢)>$$NF GO((($:_G(y(:` :Y!X5=2Yx:'ͮ(N'F(( !~6%s1#(Q Oy 2b!:t :Z(:a ͺ>2a:a(z-ˆ( :Z(>2`:` ͺ>2`(O(KO88q(:^ :] y)q(:^ :] :Wy(,*'O:Z ) #>(2a2`#y(2t {*I l&"X:* *# ((#:Z :Z( !_ˆͤ:b(38>O!k T]+#qbO +G +>2`2b*:~G(! y 2R/2Q2\:Q(*6~  y 2*G,:T($(' ',:Z!_F*:#F+*:Fɷ_!8^#VNTZ`t &)039<BEKiory}#( >2a>2`#(>>#>(!bwG#w>' (# ($ ͥ'  * **q*<~#fo~2Zhs!KP,Ò>2Wɯ>*6wɯ>2Rɯ>2Qɯ>2Pɯ>2]ɯ2^>2^:^2]/>2\ɯ> O> >2Gͥ>$ '>:GG2  '![2[q<(:\/:R:W/_+h~2Z#~2Zh>2a2`s'_#~2Zh:S %=!:H( = *6~( !!:P~#O**<~#fo*>~#fo~*>s#r*8#~(# Cancel(y/n)? Entire script(y/n)? [ZEX Cancelled] ZEX:Done H  H I D B@$BH@ A D$D @@H!H@AHD$ "BHB@$@@ IA "A@UUUUUUUR $@BBHH @!$ $ A" $$HI!!@@ *C+C+͵)( ʹ*< ~(l)E)##(C+)K+)K+$}2+͵):+(l)##x y K+~$(=G#~+$O*+^#V*+~#fo~#fo~"*+~#fo )+)*+|(~*+^#V#~ѷ"+ *C+K+)Y ʹ*Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0 Oy'4+4+d4+ 4+}8+=+0g+= ˀ7ͻ+g+Ϳ+g+. m+O:g}+͓+H ͜+ H͜+|8 }8 Ɛ'@'!+}($.Xʹ*ʹ* ʹ*OG ʹ*< ʹ*< ʹ*w w#u*~#(3 ( * ( ( (  y( yG>GO> g+> g+> g+. *:g**g+>^g+@g+ 0Z3ENV.CONFIG: $$|<OPT:MACROCMD:ZEX LEADIN:|"|* * * ZFILER Group Macro * * *|crlf||lf||"|MACROFCB:ZFILER ZEXZ33OPT:H* (1G0.~:~6#~61 }5>2:2:s:0|2:͠3ʱ9z1($1; 0x<(@y͏8>:͇&!;E3(r.Shell Stk Full͈7C;\d5͈7C ;%2;f'(. ͇&"(0 3 <4(õ ͺ3%ʹ%T(:=%:]/ {(U!.& :;&2;#c+()$+H#(::((: ͇&2:)R*,(ʹ%2:2:n,q1'ˆ2U;G^,n,:(2>#(2:( x08:8#^,B,Invalid Cmd: Hͫͬ:<G>ͬ3*:J!*:K ;s7͞ :(%3.:#({( !.ͩ.'%* ~!:~#~1{:: {:H#!.( !~ !~ȸ#(###4 B,Not Wheel!(#~#fo4 r.No Shell Stk>8r.Sh Stk too smallF4 r.No Cmd Buf.r.Bad TCAPd d    +.>-[[,[<[A7 CkDsFG GJ  MPPRTUVWGYEHE N O S XZ7 L ? / *f;Z͟&(!";*`;*O;͟&("Q;n"O;"d;*O;*`;͟&(!n7*b;͟&(8n!*f;Z͟&(!";*Q;*b;͟&( *Q;l+c+>2:*d;";@2:2:+,Jump to Filename: :*'!:? ~ q#*d;";*`;"d;,*O;*d; "d;::(*;͟&(5*b;͟&('!: /+*O;͟& ::()2:,%:: *;"d;::>9,*O;"d;̈́+,%,͍+,*Q;"d;%,*O;*`;"d;/+*O;͟&),%,*Q;*b;"d;/+*Q;͟&),%,ͤ,%,,%,=8 IL8+"d;*;$";*d;*O;͟&*d;A[Q;͟&L8,L8&ͤ,%*;}>8*O;"d;̈́+=8"d;*;%";*d; *Q;͟& ̈́+*O;"d;*d; "d;ú+*O;*d;͟& ͥ+*Q;"d;+*d;"d;# *d; p*d; >#6':"2:%>2::M;,*d; ~#ij.#)~9û.+,Tag/Untag (T/U)? 'T#(U( +,Match (filename.ext)? $;*'*d;";*b;*d;͟&(*! "d;!$; *d;+y(~# ( #(p*;"d;# ~?( #*d;";*;"p;*`;"d;*d; "d;*b;͟&(*d; ~' 6#*;"d;*p;";:( * ;0 }8*;^,͡(r.>D'(C;z!0{2;%͞ (}(B,Command too long3 B,Cmd Line Errͻ%"( 2:+,Login [DIR][:MASK] @'(:(&.("͡'(78SC ;&>2:*;###~:( #\/9~ ( G::&f'B,Directory Entry Invalid9B,Directory Access DeniedB,Invalid Mask - Ignored(:52::62:{(r.OPTIONS A. single replace query B. group replace query C. archive replace query D. verify query E. verify default F. suppress SYS files G. sort by file name H. set copied file attributes I. use dest file attributes J. archive destination K. search path for CMD file m.Option to Toggle (or RET): I8q:A8 0 0o&~/w"(!5::!6::Ĭ#0 !!., $>N(>Y9:6/26"(ͬ#{ n *d;#)r. is >2.98>K9(B,Size of %#r;*;"X;!";::o*X;ͥ&/o+,Status of Disk (Letter): ' (\2)A8[!V;0U2 .K ;Gs7͟)8$.*:"H;/&R&ͧ)K ;s7/&(n,(B,Invalid Drive(+,Read Help File (Y/N)? 'Y(B,Chaining to Help File ...!-͞ (:M;/2M;H#A Alpha SortCCopyDDeleteJJumpTTagF File SizeMMovePPrintRRenameUUntagW Wild TagVViewYRetag  ^R Top of ScreenXeXit ZFILER^C End of ScreenLLogin DU:/DIR:^T First FileSdisk Status^B Last FileZZCPR3 command+/^F Next ScreenHHelp ZFILER-/^A Prev ScreenErefresh scrEenSP/CR Next FileOOption togglesBS Prev Filem.-- Filer Commands --͕.! ͳm.G - Group: Archive/Copy/Delete/Fsize/Move/Print/Reverse/Tag/Untag/Viewm. -- Misc --m. --- Cursor --͕. !<ͳm. 9WS diamondm. =^Em.=^Xm.9^S <-+-> ^Dm. >^m.>vm.-- Macros --m.# : Display Menum.ESC : Lead-in Charm.70-9 : Direct Macros{2:::_~Gn(#~(r. - ͳ.ͻ. %8 #Fn(#F#~#n(92:2:{(>2N;>W2:2:"^,(:: +,Print (Y/N)? 'Y(2:!":B,Printing *d;#)2L;>2N;>2.92:%5r;5(9 ͕ͨ7::B,File NOT FoundB,Empty Fileɯ2;2 ;Ͷ5 (?8Ġ:.9(2L;s{ 2 ;:.9(m:::N;<2N;د2N;r.  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  '.n(> 9 >2: A>=2N;::G:N;<2N;:N;G::G>2N;:: 2828> #9:L;( ' !-!s;:.9 !-*:#":8!- ~Ź#2 ;>._{  {9! ;4~ 9! ;4!.r. EOF !.r.[^x:next ^c:abort]  ' :: 2:2:B,Copy File͈^,(!7:͘&2:2o:92L;K ;s7!"Z;*:":*:r;(=(C'B,Read ErrorI::( *:~"#*:":*Z;#"Z;*\;͟& >2L;*:":Iʑ::p@'( ͡'( 8/C ;^,(B,Destination Dir Entry Invalid(B,Destination Dir Access Denied(K ;s7$;<ͦI$;%;::*::(:U;A :2(R:1(J:0(Bn,* ;|A9}]8>:9!%;)r. Exists. Erase (Y/N)?  'PY 6!$;(.$;$;S;2;::(!/;*:|($;*;";!";'$;7<(k2D;r. Vfy$;(=('B,Verify Read ErrorI!~"#[;*;͟& r. OK >2::o<=Đ,'K ;s7pB, -- CRC ErrorI!$;~B,Public File Conflict ~(8^,#)r. is R/O. Erase (Y/N)?  '^,PY( ~# ˾#!˴":*: w#B,Move File2:2:͈:: ^,(2:%X(:;(*Q;[O;͟& "Q;[b;͟& 0[d;͟& "d;+*;"p;͍+> 9*p;";"Q;^,2;%::(:U;M( :W;V X+,Deleting )!r;r;< ͕I>2;::*d; *b;͟&( ͘&Sb;*f;+"f;^,+,Delete )r. (Y/N)? 'n,PY*d; >05n,*d;#)r. is R/O. Rename anyway (Y/N)?  'Y(^,+,Rename File to: $;*'!%; ~#?(|$;<(ͦ B,File Exists!$;4; ͘&*d;$; ͇& ~([d;!4; #怶w ~(4;B,AFN NOT Allowed2:2+,Group: (A,C,D,F,M,P,R,T,U,V) :G'2U;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:":2;M[:*:J!w=2::a6 #6 #6":!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͈7K>Ay͏8>:!!G:<G:;ͬ3~ Ͱ&K :5s7ʹ7# $;!. ͘&ÏK,!":*d;";*`;"d;`"(# { *:":*;"d;n r.Tagged Files is *:^ +,Group Delete (Yes/No/Verify)? 'Y(V(2W;M*d;";*;"p;2:*`;"d;`"(# *d; > >2:#6'*;"d;*p;";::R*(B,Group ArchivedB,All Tagged Files ARE Archived.(B,Group Copy/B,Group MoveB,Group PrintB,Group View*d;";*;"p;,!";*`;"d;2:=2: ͺ+`"[d;*b;͟&a͜P*d; ~# *d;*O;͟&8*Q;͟&8/+),(:G:U;08:C(:P(bV(dM("A(0D(:;v*d; #6.v͈:: v͈v͈::v*d; >wr;>wv"vv::''K ;s7::(*;"d;,*p;";,:G:U;G08:GDMV^,% Or. Macro: ' # !(q:Gx9^,2x!-r; ͐&7::(>2 -K:5s7͟7 ^,!-)r. NOT FoundPs75r;5O25 Dq:( 5 7 >#(j5 % (! >2;, 5 2a K ;s7B,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͳ. ͻ.9 ( > 9 y r.File Name : K ;s7*d;#)K ;s7r. Enter Macro Choice or RETURN - 'q:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~t,5 G^ 5 <_@8/$ 5 +* 2{(!.'("( ( (9>D'G~(#x'r "r Ê q:G!͢5!D"U"H"R{"C"=::G:2Kd;Cw$(#KCd;w^!q:͢5!P!F!N6"T "$!!!*!::::6G#6O#!;6$#w#w#ͳ":(!`"# :w#͗"͟"6:#ͳ":("`"# :w#R"6.#ͳ":(%"`"# :w#*d; ͻ"ͳ":(R"`"# :w#*d;#ͻ"*d; [b;"d;͟& ~K;K ;Ͱ1 ! .ͻ": ;Aw#: ;͏8:;͚":;*f;|~ #*;!yg)0>g>!or$s%# [;O*; ~W$^S;^*;";/&*`;"d;"b;":!"f;>f'2h2|\< <2;*f;|=ƀo&4(:5(  ~> 8#:\w[d; ͘&> w#"d;::G$*f;#"f;\< H#(*d;"b;":*f;+|(s!)͟&0+"h;W*h;7"h;*f;[h;}o|g"j;!"n;*j;͟&0/*n;"l;|<(*h;V$8͠$[h;z/W{/_*l;8*n;#*h;8"*+*:{ozg8 ͥ&| <<2;"\;2;͒$͒$:6( ͬ$" ͬ$ #ͬ$ ͵$ 7[`; Nwy#͵$#~G:; B,List Empty= B,No File FoundB,No Room for file list*d;r; ͘&r;7͛:";";"J;$.":W4~2:~2:4#~2:#~2:#~2:*<~#2M;*:"`;!";̈́42V;: 2:K ;*:|(%x0 y( 0Q7 (P7%(=ɯ*;%K ;%K;[ ;s#r#q#p%N#F#^#VS;C ;s74 ͌4. K;s7q#py2͟)0  ::K ;s7<2\##~2:#~2:##^#V":*:#8W+}(z i`::()= "H;~#͇&~#z{|g}o4G*&}6:+,Verify (Y/N)? '(Y( N(:4Gx2:r. Strike Any Key -- I8q:'9 O>w#@'( /9~ ȷ^,(*;p#6 ^#6V:~4] ( ͕'~#͕'O~#~ (/!.>1 7?c4( ̈́4=8͟40;Ͱ1(;~ (-:w(&_ 4 +,Password: @'( ( 7 ~ q:#x4 :: (*d;# ͇&>2:40 ~O怱w#4 !00/w#> 9.W4#F%8ͩ.> ͛(>9|A9}DM]8>:9Ͱ1(~ (9# r.NonameH#!?.*d;#(>.9~8 >_ͳ.9ͻ.#!s;)ɯ> O+)>.9~9)9#G::xA[ ͟)8 i ,g)!!.!~~8'<'w~͎:0 > ͕)>:9#~͎:9~͒:9 0^,*H;>2.98r.K Bytes free on Disk X:*;"p;*d;";̓*ͯ*:M;(U ̈́+*O;*̈́+!.r.Command? (/=:M;( r.Files, r.Help,r. X=Quit): *p;";*;"d;H#,*;"p;*d;";*`;"d;ͯ*:M; ̈́+*O;**p;";*;"d;{(!!.r.ZFILER 1.0p Current File:!.* ;͡(͂%( r. [PUBLIC]!?.*f;Z͟&0r.[More Files]r. n(:"2: +>2:"S;*Q;*S;͟&r. 0 "S;͖+*`;[d;͟&8o+!";*O;[d;͟& ͺ+!";*`;"d;"O;[b;͟&0"Q;!";.ͥ+*;.ͺ+++*d; *Q;͟&ͺ+*;}>0o";|!g";!D*;$|8}!o";*;͟&(}(o";{:M;*;.r. !::G.͎(.r.!::B,Working ... !.::G͎(K)!.::G͎(!!!TIME&DAT,!,; K ;s7*;:;ͽ-,K ;s7*;:;ͽ-=,r.(date)--( b-(O-!;;6#D " |D |ɯ!;#;;S;2;"-<:;(!; ˾"-<;! "-<2;;!![;s#r-!"- =- 7:;!;o0$:; ; Page HELP ZFILERZFILER CMD???????????noname 2p<^.E(0>^.E(:p< x8 XY.:p(R(I(N ү$,}lg0g|9e||d/ /0/0Gz0 A(9x~( #\ ~#9zO*<|( +~(G90 ?0 "<|("q<|(D~!8? ~2s<#~2t<#~2u<v<0:s c4(O͈7ͫ2(Fq:A8G#ͫ2(ͫ2(ͤ28,O{_# ͫ2 Ki`͈7B( ̈́4=8͟48ͧ4(1͈7()$(=G$(O #( 0 ?~_.,>:0 Яɿ͈7C(~>(X6 ( w#4>(J~#( ><4~(>.4x=(K+x( w+ 4w# ͌4###~͌40XM5͌4###w*<|("~#fo( ~7F4(FG~(#9<4~;( (>;( ~#(6F4s#r~# >F4~#fo~*<^#V#~*<1.=5$Ð4GR*<,=5"*<|(~#fo-=5Ͷ40xS5 S5*<0~_4XG*<^#V#~#Fѷ+=5*<)^#V*< ^#V͈7|(~(͈7$(G#~#$(O*<|(~*<w*<|(^#V#~͈7(G! Ns7*<~( 7^#V*" 3" >####$7͹7> =7> * >6#6#!&s#r97~> " >####$7ͦ7(>~>(q" >##^#Vz>(c2 >r+s+5 6#!&s#r=7( * >##6#6: >7* >2 >~>('" >##^#V: >r+s+5 6#!&s#rT7(>~(6" >~(+" >#~(>6~(6* >6####ͯ7> * >(7[ >7* >(7[ >7!7Y 8X88 8OG>8<͹7>û7>û7>û7>8>8>8>8 rr# <7zz7DM!>)j0 = ѷO> 9> 9> #9> #9R8/I8>|:>|:/&ds8& s8͇8.,0g} |> (0G9|&dͥ8& ͥ8͹8.,0g} |> (0G|'88d8 8}8R<0 > (0G9!.9~#9F9O>|:O>|:C>$կ9~#:( ,(U!8Q~q:A8A8<2>#~:(4? 2>#~:('G~#:(08 0OxGx 02>~: #~,(!0 >?9K>9~. #999(* >?#9#> ~q:!8=_.:;,<>ɾ~#(V:(+~#(V: HAz +| (( (80a{_̈́:o*oƐ'@'*:j>Z3ENV.CONFIG: $$|<OPT:MACROCMD:ZEX LEADIN:|"|* * * ZFILER Group Macro * * *|crlf||lf||"|MACROFCB:ZFILER ZEXZ33OPT:H* *1I0.~:~6#~61 5>2:2:s:0|2:͢3ʱ9|1($1; 0x<(@y͑8>:͇&!;G3(t.Shell Stk Full͊7C ;\f5͊7C ;%2;f'(. ͇&"(0 3 >4(õ ͼ3%ʹ%T(:=%:]/ {(U!/& :;&2;#_+()$+H#(::((: ͇&2:)O*,(ʹ%2:2:p,s1'ˆ2W;G`,p,:(2>#(2:( x08:8#`,D,Invalid Cmd: Hͫͬ:<G>ͮ3*:J!*:K ;u7͞ :(%3.:#({( !/ͫ.'%* ~!:~#~1{:: {:H#!.( !~ !~ȸ#(###5 D,Not Wheel!(#~#fo4 t.No Shell Stk>8t.Sh Stk too smallH4 t.No Cmd Buf.t.Bad TCAPd d    +.>-[[,[<[A7 CkDsFG GJ  MPPRTUVWGYEHE N O S XZ7 L ? / *h;H͟&(!";*b;*Q;͟&("S;X"Q;"f;*Q;*b;͟&(!X7*d;͟&(8X!*h;H͟&(!";*S;*d;͟&( *S;h+_+>2:*f;";@2:2:-,Jump to Filename: :*'!:? ~ q#*f;";*b;"f;,*Q;*f; "f;::(*;͟&(5*d;͟&('!: ++*Q;͟& ::()2:,%:: *;"f;::>9,*Q;"f;̀+,%,͉+,*S;"f;%,*Q;*b;"f;++*Q;͟&),%,*S;*d;"f;++*S;͟&),%,ͤ,%,,%,=8 IL8+"f;*;$";*f;*Q;͟&*f;4[S;͟&L8,L8&ͤ,%*;};8*Q;"f;̀+=8"f;*;%";*f; *S;͟& ̀+*Q;"f;*f; "f;ö+*Q;*f;͟& ͡+*S;"f;+*f;"f;# *f; p*f; >#6':"2:%>2::O;,*f; ~#̵.#)~9ý.-,Tag/Untag (T/U)? 'T#(U( -,Match (filename.ext)? &;*'*f;";*d;*f;͟&(*! "f;!&; *f;+y(~# ( #(p*;"f;# ~?( #*f;";*;"r;*b;"f;*f; "f;*d;͟&(*f; ~' 6#*;"f;*r;";:( * ;0 }8* ;`,͡(t.>D'(C ;z!0{2;%͞ (}(D,Command too long3 D,Cmd Line Errͻ%"( 2:-,Login [DIR][:MASK] @'(:(&.("͡'(78SC ;&>2:*;###~:( #\19~ ( G::&f'D,Directory Entry Invalid9D,Directory Access DeniedD,Invalid Mask - Ignored(:52::62:{(t.OPTIONS A. single replace query B. group replace query C. archive replace query D. verify query E. verify default F. suppress SYS files G. sort by file name H. set copied file attributes I. use dest file attributes J. archive destination K. search path for CMD file o.Option to Toggle (or RET): K8s:A8 0 0o&~/w"(!5::!6::Ĭ#0 !!/, $>N(>Y9:6/26"(ͬ#{ n *f;#)t. is >2098>K9(D,Size of %#t;*;"Z;!";::o*Z;ͥ&/o-,Status of Disk (Letter): ' (\2)A8[!X;0U2 .K ;Gu7͟)8$.*:"J;/&R&ͧ)K ;u7/&(p,(D,Invalid Drive(-,Read Help File (Y/N)? 'Y(D,Chaining to Help File ...!-͞ (:O;/2O;H#A Alpha SortCCopyDDeleteJJumpTTagF File SizeMMovePPrintRRenameUUntagW Wild TagVViewYRetag  ^R Top of ScreenXeXit ZFILER^C End of ScreenLLogin DU:/DIR:^T First FileSdisk Status^B Last FileZZCPR3 command+/^F Next ScreenHHelp ZFILER-/^A Prev ScreenErefresh scrEenSP/CR Next FileOOption togglesBS Prev Fileo.-- Filer Commands --͗.! ͳo.G - Group: Archive/Copy/Delete/Fsize/Move/Print/Reverse/Tag/Untag/Viewo. -- Misc --o. --- Cursor --͗. !<ͳo. 9WS diamondo. =^Eo.=^Xo.9^S <-+-> ^Do. >^o.>vo.-- Macros --o.# : Display Menuo.ESC : Lead-in Charo.70-9 : Direct Macros{2:::_~Gn(#~(t. - ͵.ͽ. '8 #Fn(#F#~#n(92:2:{(>2P;>W2:2:"`,(:: -,Print (Y/N)? 'Y(2:!":D,Printing *f;#)2N;>2P;>2092:%5t;5(9 ͕ͨ7::D,File NOT FoundD,Empty Fileɯ2;2;Ͷ5 (A8Ġ:09(2N;s{ 2;:09(m:::P;<2P;د2P;t.  [sp=line cr=screen ^x=file ^c:abort ^z:eof]  '.n(> 9 >2: A>=2P;::G:P;<2P;:P;G::G>2P;:: 4848> %9:N;( ' !-!u;:09 !-*:#":8!- ~Ź#2;>._{  {9!;4~ 9!;4!/t. EOF !/t.[^x:next ^c:abort]  ' :: 2:2:D,Copy File͈`,(!7:͘&2:2q:92N;K ;u7!"\;*:":*:t;(=(C'D,Read ErrorI::( *:~"#*:":*\;#"\;*^;͟& >2N;*:":Iʑ::p@'( ͡'( 8/C ;`,(D,Destination Dir Entry Invalid(D,Destination Dir Access Denied(K ;u7&;<ͦI&;';::*::(:W;A :2(R:1(J:0(Bp,* ;|A9}_8>:9!';)t. Exists. Erase (Y/N)?  'PY 6!&;(.&;&;S;2;::(!1;*:|(&;*;";!";'&;7<(k2F;t. Vfy&;(=('D,Verify Read ErrorI!~"#[;*;͟& t. OK >2::q<=Ē,'K ;u7pD, -- CRC ErrorI!&;~D,Public File Conflict ~(8`,#)t. is R/O. Erase (Y/N)?  '`,PY( ~# ˾#!˴":*: w#D,Move File2:2:͈:: `,(2:%X(:;(*S;[Q;͟& "S;[d;͟& 0[f;͟& "f;+*;"r;͉+> 9*r;";"S;`,2;%::(:W;M( :Y;V X-,Deleting )!t;t;< ͕I>2;::*f; *d;͟&( ͘&Sd;*h;+"h;`,-,Delete )t. (Y/N)? 'p,PY*f; >05p,*f;#)t. is R/O. Rename anyway (Y/N)?  'Y(`,-,Rename File to: &;*'!'; ~#?(|&;<(ͦ D,File Exists!&;6; ͘&*f;&; ͇& ~([f;!6; #怶w ~(6;D,AFN NOT Allowed2:2-,Group: (A,C,D,F,M,P,R,T,U,V) :G'2W;G:x(08:869G!(CMDPAFP.TUV?Rͬ:/G:)*:";2;M[:*;J!w=2::a6 #6 #6";!;4v::(:(.*:Z5!f~#(5[:!%(45((#G:$5x55.͊7K>Ay͑8>:!!G:<G:;ͮ3~ Ͱ&K :5u7Ͷ7# &;!. ͘&ÏM,!":*f;";*b;"f;`"(# { *:":*;"f;n t.Tagged Files is *:^ -,Group Delete (Yes/No/Verify)? 'Y(V(2Y;M*f;";*;"r;2:*b;"f;`"(# *f; > >2:#6'*;"f;*r;";::O*(D,Group ArchivedD,All Tagged Files ARE Archived.(D,Group Copy/D,Group MoveD,Group PrintD,Group View*f;";*;"r;,!";*b;"f;2:=2: Ͷ+`"[f;*d;͟&a͜P*f; ~# *f;*Q;͟&8*S;͟&8++),(:G:W;08:C(:P(bV(dM("A(0D(:;v*f; #6.v͈:: v͈v͈::v*f; >wt;>wv"vv::''K ;u7::(*;"f;,*r;";,:G:W;G08:GDMV`,% Ot. Macro: ' # !(s:Gx9`,2x!-t; ͐&7::(>2 -K:5u7͡7 `,!-)t. NOT FoundPu75t;5O25 Ds:( 5 7 >#(j5 % (! >2;, 5 2a K ;u7D,No User Function: ͫ:(Ͱ&y 0>^9y@9>2{(5 8(2 (! ͵. ͽ.9 ( > 9 y t.File Name : K ;u7*f;#)K ;u7t. Enter Macro Choice or RETURN - 's:!9*: ("($( w#5 w5'(1"(-#6#":[:($(w#%!(6#":*:~v,5 G^ 5 <_@8/$ 5 +* 2{(!/'("( ( (9>D'G~(#x'r "r Ê s:G!ͤ5!D"U"H"R{"C"=::G:2Kf;Cw$(#KCf;w^!s:ͤ5!P!F!N6"T "$!!!*!::::6G#6O#!;6$#w#w#ͳ":(!`"# :w#͗"͟"6:#ͳ":("`"# :w#R"6.#ͳ":(%"`"# :w#*f; ͻ"ͳ":(R"`"# :w#*f;#ͻ"*f; [d;"f;͟& ~K ;K ;Ͳ1 ! .ͻ": ;Aw#: ;͑8: ;͚": ;*h;|~ #*;!yg)0>g>!or$s%# [;O*; ~W$^S;^*;";/&*b;"f;"d;":!"h;>f'2h2|\< <2;*h;|=ƀo&5(:5(  ~> 8#:\w[f; ͘&> w#"f;::G$*h;#"h;\< H#(*f;"d;":*h;+|(s!)͟&0+"j;W*j;7"j;*h;[j;}o|g"l;!"p;*l;͟&0/*p;"n;|<(*j;V$8͠$[j;z/W{/_*n;8*p;#*j;8"*+*:{ozg8 ͥ&| <<2;"^;2;͒$͒$:6( ͬ$" ͬ$ #ͬ$ ͵$ 7[b; Nwy#͵$#~G:; D,List Empty= D,No File FoundD,No Room for file list*f;t; ͘&t;7͝:";";"L;$.":Y4~2:~2:4#~2:#~2:#~2:*<~#2O;*:"b;!";͆42X;: 2:K ;*:|(%x0 y( 0Q7 (P7%(=ɯ*;%K ;%K ;[ ;s#r#q#p%N#F#^#VS ;C ;u74 ͎4. K ;u7q#py2͟)0  ::K ;u7<2\##~2:#~2:##^#V":*:#8W+}(z i`::()= "J;~#͇&~#z{|g}o4G*&}8:-,Verify (Y/N)? '(Y( N(:4Gx2:t. Strike Any Key -- K8s:'9 O>w#@'( 19~ ȷ`,(*;p#6 ^#6V:~4] ( ͕'~#͕'O~#~ (/!.>1 7?e4( ͆4=8͡40;Ͳ1(;~ (-:w(&_ 5 -,Password: @'( ( 7 ~ s:#z4 :: (*f;# ͇&>2:40 ~O怱w#4 !00/w#> 9.Y4#F'8ͫ.> ͛(>9͵.|A9}DM_8>:9Ͳ1(~ (9# t.Nonameͽ.H#!>/*f;#(>.9~8͵.9ͽ.#!u;)ɯ> O+)>.9~9)9#G::xA[ ͟)8 i ,g)!!/!~~8'<'w~͐:0 > ͕)>:9#~͐:9~͔:9 0`,*J;>2098t.K Bytes free on Disk X:*;"r;*f;";̀*ͫ*:O;(U ̀+*Q;*̀+!/t.Command? (/=:O;( t.Files, t.Help,t. X=Quit): *r;";*;"f;H#,*;"r;*f;";*b;"f;ͫ*:O; ̀+*Q;**r;";*;"f;{(!/t.ZFILER 1.0p Current File:!/* ;͡(͂%( t. [PUBLIC]!>/*h;H͟&0t.[More Files]t. n(:"2:+>2:"U;*S;*U;͟&t. 0 "U;͒+*b;[f;͟&8k+!";*Q;[f;͟& Ͷ+!";*b;"f;"Q;[d;͟&0"S;!";/͡+*;/Ͷ+++*f; *S;͟&Ͷ+*;};0o";|!g";!D*;$|8}!o";*;͟&(}(o";{9o%";:O;*;/t.--> :O;*;/t. !::G/͎(/t.!::D,Working ... !/::G͎(K)!/::G͎(!!!TIME&DAT,!,; K ;u7*;:;Ϳ-,K ;u7*;:;Ϳ-=,t.(date)/-( d-(Q-!;;6#D " |D |ɯ!;#;;S;2;$-<:;(!; ˾$-<;! $-<2;;!![;s#r-!$- =- 7:;!;o0$:; ; Page HELP ZFILERZFILER CMD???????????noname 2r<`.E(0>`.E(:r< x8 X[.:r(R(I(N ү$,}lg0g|9e||d/ /0/0Gz0 A(9x~( #\ ~#9zO*<|( +~(G;0 A0 "<|("s<|(D~!8? ~2u<#~2v<#~2w<x<0:u e4(O͊7ͭ2(Fs:A8G#ͭ2(ͭ2(ͦ28,O{_# ͭ2 Ki`͊7B( ͆4=8͡48ͩ4(1͊7()$(=G$(O #( 0 ?~_.,>:0 Яɿ͊7C(~>(X6 ( w#4>(J~#( ><4~(>.4x=(K+x( w+ 4w# ͎4###~͎40XO5͎4###w*<|("~#fo( ~7H4(FG~(#9>4~;( (>;( ~#(6H4s#r~# >H4~#fo~*<^#V#~*<1.?5$Ò4GR*<,?5"*<|(~#fo-?5͸40xU5 U5*<0~_4XG*<^#V#~#Fѷ+?5*<)^#V*< ^#V͊7|(~(͊7$(G#~#$(O*<|(~*<w*<|(^#V#~͊7(G! Nu7*<~( 7^#V*" 3" >####$7ͻ7> ?7> * >6#6#!&s#r;7~> " >####$7ͨ7(>~>(q" >##^#Vz>(c2>r+s+5 6#!&s#r?7( * >##6#6:>7* >2>~>('" >##^#V:>r+s+5 6#!&s#rV7(>~(6" >~(+" >#~(>6~(6* >6####ͱ7> * >(7[ >7* >(7[ >7!7Y 8X88 8OG>8<ͻ7>ý7>ý7>ý7>8>8>8>8 rr# <7zz7DM!>)j0 = ѷO> 9> 9> %9> %9T8/K8>~:>~:/&du8& u8͉8.,0g} |> (0G9|&dͧ8& ͧ8ͻ8.,0g} |> (0G|'88d8 8}8R<0 > (0G9!09~%9F9O>~:O>~:C>$կ9~#:( ,(U!8Q~s:A8A8<2>#~:(4? 2>#~:('G~#:(08 0OxGx 02>~: #~,(!0 >?9K>9~. #999(* >?#9#> ~s:!8=_.:;,<>ɾ~#(X:(+~#(X: HAz +| (( (80a{_͆:o*oƐ'@'*:j>vZFILEB38.LST[4/1/91 -WAT]& l-)JeB)4@F$88h`4" PpaHm0g1y@p9# ^u7 !t0NSn3ɒT@c7McIl|JgS.Vۨ(@2j4A/-ʱrIu'/!sYL[/RIx{g9t 8j &G" Apa5gBosQˎB^$"yH |61_dR77,NOt1w;AvYApABZeQs_e !OEp"D14DEDQ 6o@5pW3MCQ3 XtCe ɾEi6o -PB#HEP>ne ]ȵHP (AI}u_mMCp9p߉bM CE&6 D(G8r)8nnW)U@V}ݔ85MDi(H2 D:q8o1/i HoZZ18Dtp$gx@:9DYgzp v EaV `Jmp꧂ 8 Q5 Dg UA5q@AraQNlmDb;!TN9SXV Zo9+2f5r0EZ‡|r+q =DIAŭF (t ӦvRCy.xfz\Wb46ӄ&N$gV@$0 y&Kx6Eqi TAvKTkt. pp Ǎ"ZlT QGuX1P,u^ɗ*D9 N pPE$κ폯/,(@` V!@UnFL#AC(` WO vDÈF0rD;Bu7$/ 'J)SaP-RAz>#aha FT!A@h8 ĀdOAa:񃢴 H(Z0iA΍S{.(-7"z\ϛGQYgC w+ VnDc#)5AR)Be(FI'Bo:g}I7 6EZХk6)`-HhH RY|:U)*eb#V,DjE  poМ(H)0T`R\f$ %Hyk_VsƬ1@`kH l><7ؖ9(PX5rD11T FTor\1&+Jbja8*ɂ[Ԇ1ߕV!4"]f(ұ 'lTbA8Q5q: [Ť7AkeT!8ø-W <<Y^Nv:* É9:\8˔B ܽS@.DY+~E,/lGqhɃi]޿@ %\1Vws J t1#0@ v r =kp3nm$wS 1Cj?& rj $q/>q[32X{F 9]DTNtU>w0LlW |Gmڎ"/Bhѕ^nxZe#1lʎ$߿U@#vHb_#i(5쌬!Yd< 4XCJ^<-@9՝+L0lȢ4Yʢ% "" @bҪ'1VKAҀeb @EOHUZ]nrGu@$lHe=LdJ lzf@*ǘTl^.xJ?8"$\GF:݈A>Xd D lu-0d"^Cz?LdMm- I *~mN? e^ρXݕ]Y fRIr؀. a. ޿4l6aN߮a-fAʡl0-%h:IgX"elLg -ޥxJ J.,]s@ֳ * ?Ou,E\@ro>`~+UFoY"œ,LQ/ ſO])]X0WſeQ~0Jl Y h0GlDޞ$AaRA>0퟿<1ZPA%ΐ1k ?beڵ m >uP0mނlUqZCnӤ,>oY]DTT$\rQ"r~gqkIY`H[Gg~')H2Iwg@DA@Xɓ8EZ8jZ/O\@ؕL.N1ݸ3҇ruȖ9h|e ݄9K R-Uu FO.$( L&+WaL S3) يLhIK\ |HaE~T5CIFrAPtMW l̫ ~\ H1ŅXj~_.MRQێ+ dHȁXUF{oT 5ٛ旽(^RX΁E{b gduF8e j6r 쬦..MNBƘ?_DŽt^@ pfmK%T AL-A2sldoY.ZX ݜYj[;[YW1Cx@c;xw +!@wN7}}neGr23LRxA1Q|Ϻf4)KxM%xRJ~O`E: Hρ000PL "6{#*A8|6z֯~` D92mę{ >x7_wb\ @`L8=rЎ2!m(Z*@8 T-) s5Fa' }-ND:ˢӼ|,0ńZ@<m''Ԫ{ܽoA1ϓ=e$@Ĵ@ɱc)3c0 ENpWxJ]-E_)aTTSPDZWЈPT8Atn(0uyOQ !MIH`` ;^jjl# )A} 'gZLf-SZLguȉ IdIqU%~wㅪ[4!~8|ҮejB{PE|;ዻxՋDžWy IyqE-HS@uNp5B+6>\ \w E^ʁ^ˈY0mRzs RDܽ:O dV&ᡖ P e{XHC@|*j™hHW^[xԥݥ=Iwe tH4v4R_.,*Yc ;a? " JRD;UH;[8GHDKA&\H@N6}֠;#0rB4w{nнKD^@ X$A٬HFnUr։$R4HCylmNUKݨъ,LPHCaI0p2?R5}=]89eTڒ(JY­$;XH@^ )2hG_ݾ8ʶK6RDM_N-ݱbbXҞ+8)܊!~:^r/6GG;Ő" H*P# 3 ABI*N~ͽ@nR"ςO'9%2 4\Ϗt b2ƉD)$#.mLGD\ITNIsjcA2nDpv01vP] (iGE=IsoXՐYB& GGl~npAGnwo퐺?v~cjFbm';#AvFAQA)J3/؈r@mF۩ZH+H@ P}~cțH@wb;Lg"^6;@25PQH@ANIC AAQP` 5/J&W-+ܙGkun]-wBl:KLLEX E@LyA9הI[6 ,0ʼnQyJN)`Om믝NЙ}DSwzӷ5ISy^f,@F@މPTl TJ[lй1hXw|uCu =،azlT z H @O8Kp EyrKޑFw(,)%TNEI`M] '< ļjRw;qqa{JGܩMh\HKuayȰIJ}珴YhhEdF}Ȳ^V&KQ ַ'+qA$)%ĒD^1&K,EKܥmȁVlEP_Vp|gx3 fm=iVygM1Wxh ^ٟYwsf [@A NxAZy(wknֿ|?gWM?;I %jBhFi܉w"0 T# 7L^Wu)w{0ȳVw!fߑWL 5bnϨ:3ڭnj 9vwťA\S XAwȺ?*e˓Hr%hAR!Gqފ\߿PuH^U&]^'xEUKp^,&w153հߍn_P l14LAlzf^avI4yh$eĨ4KHw(Il x@t̄AipMkd)hWE ZD4MEvz M$1eW>JcMkdҬ)cH%28б 6#ZzJ@HLE;4l)"Yz|՘wʿqbȔLdn3y&OGqބmA%dG >lٮ md.w~ŲvI/ZaI@yr{]кHeyGDMqPY' hH!$_}iQ$DDΉKUKLYx݁=vF.Z;!r;/U>_„T|5]Ꝩ!w,0,QXwW|^sW|Loi~fY%b,V Ձ'l~0J#ۑ?B5g cWtQdhjuP]LA88DE`iT]'wgxks ]Tԏ 50MMX-WPKk^y(HCU=ϕUO^DV̀ O'}X܁;gs]TڨKJLfh,O1k^LCU<">杝]`\w OHE98_g/,>2T v AA5tS*Q"ΉIj (oI4 pծX JaYwnBbURh&É1sD=9"!0-^Ur."cHgI*3*_פyrnB{A Vdbr7O\xxH][̓Y-9_+UR0ec5̬e\ PH^] Eɽ)iZuac[7sZS$?napEO=(aU- 9)M<-Ձ::Nyqmo]Z1^1ΓNH`s#A HTdHr,z gc2J}.*=@ ѲފBtJ$& hhHG ^mF@+^AI ˺;(?4߭}Ƕ'FI<1].xԤ_r-w11Ga?0n`yo:bp@O񤴓,%/'6Gz&0 *ӸRǔMAa2dΈp!R_VI/\njܽIn/}8̪4kBɩN އG&XJ$6m/-ؾl+zՍbOK:4XpOp= k"K b@C4bI*9W;yAL\[%*9pN5It k$-n Ek8i.$|עƀ`О0A|s\̰Dq?h vDn_'+.nNĈc kʣ,}4Hn0#y&).Pl(Uv4Ħ51[P A <#oosU\y!ɡ>S GH36&1:U k2ckqWIGHo)n^%V@g@*3䓮V}E9 ċ#/XLoO(HniܶU?QmSҰHn'Sȟ5j#mYHl ގ#ʍKb6k6EoFLp*WwPk /> k5LYMoVb@/V@6H6y%Lșf~ ^+ŏ4u_6R0&6IwIhlA#WȍX 6J"^V&duގQM= 4t .v(+Xux;ni)0TrdMHRhjO 0'sĉŲ_'Ѓm99`YFUVU@sRV RȀ+S'`jHksۊ:MRTNAKP )f"l[@ )HRF9[*%oQt@7Y`}yV^Ƙ UQ宷>z"H0S;^U?>RR^T\E{ʔ @^ZLo"S $IebMXu>h smW)>ܽP ] rgI-Njآ4X97gpĈQH`A:'% ~u EIqĊ#DmF5Q^ӊW݃2]]Лs%!v⣞-IAA>)ؑu >49]hMRh9wY&A 'Kqvv6"D o_ LRUCg.l}OR^}LٟD'd|Ai8_툱ċ) %R$Z 2RrGMW2'=η7Co?]8 {ܭ.TO HN1,"MQ>5gEQa*FO+SChvXMHTlH[_6Gx0ChvpDa+$u1!!w70rʶ+%%聱<CU=4kSe%0 6 !&&y|;|%P5DW03o40ٟD P1Hٌܼ.,:zؒm nӁidۮG hJqڕk?2PǪ7}9%Gs!ED:{ ]]uv|PE0y~GP }NH [|[Py){Rˌ NG Aӹ͝, \@AUDxGI b GOF)͍Id b h`dp@))͌F[ b h ))͎ 尻@)͌€ b3@)͌I[H b W\ b)͍e6|_1mNH)")eb wZ [r`b `JH%)͌F@)͌F ȶ)͎wwb'GmΌ_1mvѹҌ_1m7jۂ_1m7j bbК0㾔 bٞG&)G ;L@)`Go䍠b t`Gm尰@)͌Gxŝ, Yhȯ [Fv6/[mN:b ܸ Y$yhAR͌F:İmEAt8YVȃCQX܂4_K _|T ҃SA`[R VU@e76| eDUeYPUZm(=7NAKpYm QF6hw YyWQp(T℄-;ӈ 0 @Vx8xozz(_HZJĴm(=IwY14@Dt Z System Distribution ZFILER.CMD, 11 Oct 89 by Carson Wilson 0 ! $"Enter ZFILER macro script: " E ! echo f%>ull file spec:%< $p;echo f%>ile directory:%< $d$u:;echo f%>ile name.....:%< $n;echo f%>ile type.....:%< $t K ! $d$u:;$!crunch $f $"Destination directory: ";$h: L ! $!if eq $t lbr;ldir $p;else;echo f%>ile %<$f%> is not a library;fi T ! $!lt $p U ! $d$u:;uncr $f;$h: X ! if ~eq $t com;echo n%>ot a % file;else;$d$u:;:$n $" Command Tail: ";$h:;fi Z ! $d$u:;$" Command to perform on file: " $f $" Tail: ";$h: # SAMPLE ZFILER COMMAND MACROS FOR USE WITH NZCOM AND Z3PLUS macros: 0. on-line macro E. Echo data about file name K. Krunch the file L. display directory of Library T. Type the file U. Uncrunch the file X. eXecute the file Z. perform command on file ZFILER parameters for use with macro '0' $! ZEX 'GO' $P DU:FN.FT $D DRIVE $".." PROMPT $F FN.FT $U USER $'..' PROMPT $N FN $H HOME DU $T FT vZHELPERS.LS#  MBy &p7fh@H-7!l(@! s:E#*R 2LE&yZN"H< $I-HO' Q4r5 fa* es9ʁp< %Ah0 I !At # 㱤w $`2ʂeCya7̹@9 v(f1 Cb5ʃ#!^3 WG#Ne< @Md@o2 s9iVmȲMOAeSB@ рCsځhakR 8THYZZſ *7e2( [Р16sC0+qX( Ҡ5^VaF1[֧AT ާSdageG%.o< &a$SjݰR 3l(5g4CYڊ \n6ONʂ3 $r@7 !Wa0Axy pE/lwGQdRw]VF7trQZhF1`A t*FfZ(RFꅌ*&5nÖSXpV}f\-$|5 P2 kL0-`]$saoeiƞ IR$S%7Kl1bj4hPA)Mehb$4b ^$@fn^bhѲ ]agf~C~x=߬' /MY-BmB )*@3H̲LfbbA©^;;! 'ꂥ&VVHSRJSsY$dW)j 55ʗ$UrZ!\0NKBXn '#&Pd+3H^!0Bxr7*\7"2C|сbe@^Z2=l* pPG]|S!(.&rf"!d|&('%PD53QP*SNƬќK~*3` m;VNN p@̳W悽v,gpY"xx@-bدlH@4 ΃%Ĩ(PXnhODNi#W"nXA@B!Z>@V iG0t:eT`)`rQ @CC> "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱE`{Gjna0BpC "! )xK@ti6pLgqo$N/I +Hd=`Śx1 !ԱEXZ3ENVZLT15 XABSARCARKBADBINC?ME?EENVI?TLBRNDRO?JP?DR?LS?RSYSTX#ZIPZIPZIPs 1 * } S !]~ ʓ>/ “ ##~2d!"h"f!"j#"s\: 2c:2e*"m>!ͩ (5>Q͛ (:m/2m>P͛ (:n/2n~/ #~( ͠ (#2e%2l *s} :md:l ͂͞>v|<($<(<t*h͑ t*h+ ͂t͹O :mg! 6 #pDѷ(@[(#. [([[D([ > [>[[D]( :m;244: }|D(g1 :l&:c 2b:d2c!w# !\u22!m~ ړ(U>͓ !LB"~>R2t<ʎz*: z!!/!O!o+| \̓ !"qh ʎ"o*q { "h>͓*o}+"ou*q"q̓ ͑<ʎ =:m > g!ͩ^#V#^#V#"j"22t<>!͓>2`!"^:`<2`bo*j+"j}(z *^#"^~ɯ2`!"^>uÓDDgo5 gd% gE g: g: d{ 7:e͠ ̩  :<2G:(M :n(*:bG:c=702b ge x=2b g>͓ :c:d(2c͠ 2ey(_S>͓(y2c(# (( _C(K(͠ (X> d0G !}= +}  _ ($  := 8:<2{E : :{ 0  ɿ:!#~(~? #! g~E#" : v vط >=(=2:2:O: DO>=2yO!0##^#Vz(y2z>7{?/͂|͂s#r#͂s#r#+~# ~ #( ?( #[hSh*s#"s*s}7+"s*f"f:m(>> E> _ :b<2b>͓O:my>(E> ͓0u8 ?/(>O:l4!v~ [#>.[~ [#> E  (#~ EE> E g gMember Not found ZLT Version 1.5 ^S pauses, ^C aborts, ^X goes to next file, ^Z disables/restores paging, Space goes to next line, 0-9 sets inter-character delay, others page. Types normal, squeezed, crunched, LZH files and LBR members, wildcard (*,?) filespecs permitted. Syntax: [du: or dir:]afn.typ [. opts] [du: or dir:]lbrname afn.typ [opts] Options: 0-9 - set speed Q - quiet P - paging on off Early EOF, <> --> LBR file corruptMember: [more] ZCPR3 requiredZLT  Can't type a "" file  Corrupt or unknown format fileToo long, download file "͗ ! ͗ [ƀo`S#54( +~ɷG >8  ( x#~ ( (#~ ( *1$ "*|(~#fo+- *)^#V*|(~l (G! NW "Y ͗ X͗ ͗  ͗ OG rr# ѷO08:8y8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. = >< >< >< >71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;s#r# xK!L;s#r# x^!;s#r# xs!:v N#F#~#~# xˆ!:s#r# x§! :vs#r#s#r# x¾!" #"* >>̊*p)~#fo"p!N4#" F 4#y#x|#y#x++~p+~q"VL *p 2cNwy#2dFwx! yxs#rb#s#r! yxq#p|#q#p! ~#fo!u!L^#>ڪ>{!L w#w~#fo#|g}! w#r#+|˜!:v!^#V#~#fo! +z+ {PY}O|GE! T]+~+ x%!L T]+~+ x;! s#r!L s#r+| !L ^#V! q#p>ڊ†>ڊ#q#pxg>7Û!>2"h: S25 v0 5 0  5 5 !+ >7> 2x22A!6 # x!|9}M!qzWB}ʅ|5 DM͉#{ozg!~w#|g#|g x_' A N ÖA n&)))))ڻ>þ)>?o*4DMyx) LN#F! |g}o"p>5 72>goWo&!9"> !6*#{zO*> +}|K}|Pѷ7"!tx N#F#^#V#! s#rYCLVkv    L1 L f }LLL3GLOLj q ,ai4LD!5 Copyright (c) 86/11/24 by Steven Greenberg 201-670-8724 and C.B. Falconer 203-281-1438. May be reproduced for non-profit use only.$ڿvº >>>>7*ɯڿ'!9"!.">0g">(g/g$"|g.*|:*gz? 0! HNÝq!"k> 22!2> 2`!ƒ2go"",;!~6:ʝ,;ý";!~6:<2";*:ͪ{ºgo"2q> 2>2>2:N:g~ w*9ҿ:gk~|>2> 22~V|g^zWN|g~Þ|g~2O*$%¶ʱo%$$"&"=g}$%>$*:G:x)g:gOD~ |0g~G|gn``͇"|gq*+"|=2r|gsu*:g:w|gs|gw*#"#:2:< e2>2*6#~@s# x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> )))).))  =))))l,z={:G:OyPO{_zW7y2z77*~ |*6#(~GL~ʆ͙y*r|gs:gyg*:W|G>2xL~:V|gn:g~ "͙ô*|*#"*:G"|gp]))))o{g:g#*"D*u{ozg"!S ~# xH  x~}eoҟ$:Ÿ:g:G}/<­OT]*:GzGKں|0g"~# x7ɅoWgG}oO#z|> ))))vZNODES66.LST000(  hZN7 atX$@M0D1@1FQTo9 A:S:e aQyc4Ms, *""dF&i7͇XiAS3JͳSI 0Xc2u38hBauFyZc7ĄIe96 @-(NG3&(Ȕ"+՛Mi1!pYCyc7KǃImb)89'c)> C| c1ԀUb20S:ˤ4Y~Ҵnޫˮ&UUZG0y!r. %EOtNF'VWT B!;Qݤp1lROa1(oAoZpn1@fƈƘl zcާ=FQ+|mFxH  R)OFdMUՉS"Ci[5'esQ&-)䄴mVDomGHRGhF[&aUJәy`Mc&%aQ)k9P ІF 0)D* 9BkNZ C@GLNGFTMB2 CP- @9g' yb}pKU!|hg튐Ð0 YSpR8OTőLO`$CEAe1PA2yIˉRE6hXP@g`VbƑiK <\q I9J` 2 HGv$1تY$Qd5 1 7߃"O0A ^,9 U*.KaetY$-t*hRzWrH!Q@:+0#x| tA' 8<2y0+^ǤM=,LQF9 -;Nv.cW pa~e;!9e$ c r%4/:HA}pLnIh1Ͱ NH@ [L37>- 8džFL yc 4"CE?N [j2cdGnXPi$7da('(\sQMC :g6ʙ  nOPc1 9hA&4ʞ@@#q!7@pY0AEc D^QxC !PN[H lXވ96DR7PTRd0 ?ƾޱ"aCNCī!IR9[EhB;թAW^}_sR"9[&sm | !X`⩸Z QAp %z1p@ 0DjT6LoD$-p5Y ­ZyB4 $&9Vc;A62rNH A@[UnSB+CN7xaZ>Cd]nA=`h U [AA{&'T~&=G.bt35 Da:(o 9#Mz1+Py|@!Z LIBd`kYZm'Xyܾvf844)ϙ߉^ cB`$`qEz7'a:1k~ݥi) 6  (@32Ȁ%<0NS_Vr7 Pab/M 䭣pb9y$!<'3P Bi KZ yɨA!BOPY 'u,u5βB!K%XqBzZG ]х@Mj״W{$`4͑V7`AP!63ZXc +XUf&vI׌q;K9peL[rذN F4Nl| 铄pQ_WM|&xHB8E K'3A gpBhun 1 PѰ4 Vϙ߉^ cB`$`qEz7'a:1k~ݥi) 6  (@32Ȁ%<0NS_Vr7 Pab/M 䭣pb9y$!<'3P Bi KZ yɨA!BOPY 'u,u5βB!K%XqBzZG ]х@Mj״W{$`4͑V7`AP!63ZXc +vZSYSTEM.INF#S  #S(  hZS<ΆShp3&C)@C( ɰH$& 11 a4ӡ-0 <2 o:#qc4MQpA) Ɉe7' c- e&Ydo;&%v ׍3.o6Dr73gNYpB {Fhsx^7<Ir ]FfFX}ETg``F(mч瑸gK5]GQ.CctdQq>غxsKa#bM`&MHaFA_d1zgIG1'Ojon5!|Xer-W-(J@)ئ+zbؼafpT ZM_HtKgz!hw1 F -DYr[Wʓƹ?`džpہuzu)VULa1o4ȲHŤY!j)5IVAjQAUFyiQ!=EHew2Z% ptQ3zG5Pp)ID A7VepZyU? Fbfl\-j\ZA?_o䷎'vQe1TT{ouD4`T`Y'ӸFxrmE:~ˡ FꍏƔ2jM;L:"A"dfHfGwRGh'v&@JR!*,:|#?]MnŰvO <|aSGX Q19%ۘA5/ BP1*m4JЗhaE0" 1PJDU=9 a y€"BTyA^;)PA3OvG"!A !{ KJݦx2A%YA̵(yKz$Rq6.Ȗ]i<\UHB *)ŀLɶ#!$"^(N%B`C%*SlЍ 1SͰg .,XuoYSB ) t)c}3EUUfeh_9FsW6ތ/~wV@e%㳕VQJ;O^jaw:9FHiS[*J$OwBeAdce!3A,z LAk炏frҨP+㺸,zOda*Sq<4&b{͐D=L Ө;\oϫ,4S`00rYkHC 0,ŐkjGomƍ̂ڶDIwZ I^Vm46bb_)Gd6fD:[bo4*h<@sԬ:Qp#9N:CF֒]ސȢClE Fr&]P׹P ݛ.,P-ρpKv66H9@ `d8fIVziv'$9( a n7&Am;?4Ro>{54;=Jۀ z~R2H93*eYaӂV \Kڔbt]UФslgJ>5)PM?'1'H:PB\!Le~41Z S@.N6R"W3N00 1P94`9~VxP:679`5Q9TV13p)~MA($h(7(/a* wd  @D@)MB?~CLSgÕPS$ԇiV>q4VxgqA{c9SӑrYF6M@̈R%AS#s1921/`I0A.Cn(a_o'@ %!RxP$V!~A# =Wpl@-1<3g='D25"u03:sxoN09((0/090-@0L(r*DRT.I"8@Cxq\ o@>uA/m!/AQ~qQ,B2jq)(v֖N$L50+0.P%'0aX-A@a "DPvH&=fJ]lR;~almbpiIAd [ &4DT=>88Sl|ьm0 K^%3@B}7EGx79vy^D'=BtfeiX#x40POB=}#Q((dJ08p8eTtɂ$`8Fde=".FQ}>L|5Q5Κu s#da-v5O87AvbRӌ@(Q0&0U1Q&c3zY& 3噞9\\  ~'D25"u03:sxoN09((0/090-@0L(r*DRT.I"8@Cxq\ o@>uA/m!/AQ~qQ,B2jq)(v֖N$L50+0.P%'0aX-A@a "DPvH&=fJ]lR;~almbpiIAd [ &4DT=>88Sl|ьm0 K^%3@B}7EGx79vy^D'=BtfeiX#x40POB=}#Q((dJ08p8eTtɂ$`8Fde=".FQ}>A2E-PCPI Apple 2*=%+ %+ T)(->͂'ɂ> ͂'ɂ>0͂'ɂ>@͂'ɂ>P͂'͂'͂'˗͂'͂'ˇ͂'͂'͂'͂'Â'> 2'͂'Â'>062jApple //e, PCPI, SerialProk>*> = |͂'} O >/(>8)>@R>HE>PW>XQ>`T>hY>pÂ'>sɂ>vÂ'>yɂ>ɂ>GHɂ>͂'ɂ>g:'͂':' ͂'!'" Y:'/2'/ɂ+*@͂'͂'͂'Â'> 2'͂'Â'>062jApple //e, PCPI, SerialProk>*> = |͂'} O >/(>8)>@R>HE>PW>XQ>`T>hY>pÂ'>sɂ>vÂ'>yɂ>ɂ>GHɂ>͂'ɂ>g:'͂':' ͂'!'" Y:'/; QTERM Version 4.x Patch Area for Apple II w/ super serial card ; This is a ZSM version of patch, created by disassembling QT-PCPI.COM ; as provided by Tom Bopp. ; The overlay assumes that you have selected either Soroc or TVI software ; codes for your video driver, so that -* will clear the screen and ; -= is the leadin for cursor addressing. You can check this by typing ; * at the CP/M prompt and see if your screen clears. If your screen ; does not clear, either change your driver using CONFIGSV and INSTALL, or ; use DDT to change the code in the overlay to the appropriate screen codes. ; See PATCH.DOC for details on patching QTERM. ; The overlay contains code to allow you to set the baud rate and ; communications mode, as well as send a break and drop DTR (hang up). ; Inverse video is disabled because I find it distracting; you may reenable ; it by changing the byte at 022FH from C0H to C3H. You should also check ; the other video strings and 0230H and 0238H for your terminal. ; Since the Apple video system does not have hardware insert/delete for lines ; or characters, you cannot use the Split-Screen option of QTERM. However the ; VT-100 emulation will work. ; PATCHING FOR APPLE II+ ; I have used QTERM with this overlay on my Apple II+, with only one change ; needed. This is to change the byte at 01CFH, which specifies the escape ; character. The Apple II+ keyboard does not have the \ symbol, so ^\ ; cannot be typed. I would suggest a change to either 1BH (ESC) or 1EH(^^). ; PATCHING FOR OTHER SLOTS ; To use a Super Serial Card in some slot other than slot 2, some of the ; addresses used in the overlay have to be changed. In particular, all ; routines that access the serial card (addresses C0A8, C0A9, C0AA, and C0AB) ; will need to refer to offset addresses. These one-for-one substitutions ; depend on the slot used, and can be made easily with DDT. For example, if ; slot 1 is used, the addresses are C098, 99, 9A, and 9B; for slot 4 they ; would be C0C8, C9, CA, and CB. ; This has now been automated by selection of the slot number with the ; variable slot - D. Goodenough 7-22-89 .var slot 1 ; stick your slot number here .var base 0xc088 + 16 * slot ; base address to access super serial card .var data base ; serial card data port .var status base + 1 ; serial card status port .var control base + 2 ; serial card control port .var modep base + 3 ; serial card mode port .var yes 0xff ; true value .var no 0 ; false value .org 0x0110 modist: push de ld de,status call MODGET and 8 pop de ret .org 0x0120 modin: push de ld de,data call MODGET pop de ret .org 0x0130 modost: push de ld de,status call MODGET and 0x10 pop de ret .org 0x0140 modout: push de ld de,data call MODPUT pop de ret .org 0x0150 sbreak: push de ld de,control push de call MODGET set 2,a pop de call MODPUT pop de ret ;.org 0x0160 ; not needed - the above is 16 bytes ebreak: push de ld de,control push de call MODGET res 2,a pop de call MODPUT pop de ret ;.org 0x0170 ; not needed - the above is 16 bytes dtroff: push de ld de,control push de call MODGET res 0,a pop de call MODPUT pop de ret ;.org 0x0180 ; not needed - the above is 16 bytes dtron: push de ld de,control push de call MODGET set 0,a pop de call MODPUT pop de ret ;.org 0x0190 ; not needed - the above is 16 bytes setbd: push de push hl ld de,modep push de push af call MODGET ; 0x0280 jp FINBD ; 0x02a0 .org 0x01a0 baudtb: b38400: db 0,no b19200: db 0x0f,yes b9600: db 0x0e,yes b4800: db 0x0c,yes b2400: db 0x0a,yes b1200: db 8,yes b600: db 7,yes b300: db 6,yes ;.org 0x01b0 setmod: ld (MODSAV),a push de ld de,modep push de call MODGET jp FINMOD MODSAV: db 0x96 .org 0x01c0 modtab: n17: db 0b00110000 ;0x30, 7n1 n18: db 0b00010000 ;0x10, 8n1 n27: db 0b10110000 ;0xb0, 7n2 n28: db 0b10010000 ;0x90, 8n2 e17: db 0b00110110 ;0x36, 7e1 e18: db 0b00010110 ;0x16, 8e1 e27: db 0b10110110 ;0xb6, 7e2 e28: db 0b10010110 ;0x96, 8e2 o17: db 0b00110010 ;0x32, 7o1 o18: db 0b00010010 ;0x12, 8o1 o27: db 0b10110010 ;0xb2, 7o2 o28: db 0b10010010 ;0x92, 8o2 ;.org 0x01cc ; don't need this - we're contiguous resrvd: db 0 ; reserved for future use ;.org 0x01cd xfersz: db 8 ;number of K to read/write during file xfers ;.org 0x01ce speed: db 6 ;cpu speed ;.org 0x01cf escape: db '\\' & 0x1f ;escape character ;.org 0x01d0 signon: ;signon message db '\ejApple //e, PCPI, SerialPro\ek\0' .org 0x01f0 clrs: ; string to clear the screen db '\e*\0' .var scrout 0x0109 ;(a routine to print to CON: the ; character in C) .var decout 0x010c ;(a routine to print to CON: a decimal value ; in HL. Is available for VT100 and the like.) .org 0x0200 moveto: push hl ;move cursor to position in HL (Row,Col) ld c,'\e' ; lead-in with Esc (the ASCII one; not QTERM's) call scrout ld c,'=' ; 2nd lead-in is '=' call scrout pop hl push hl ld a,h ; row value (top row is 0.) call poff ; add offset and send it to screen pop hl ld a,l ; col value (leftmost col is 0.) poff: add a,' ' ; (adds 20h) ld c,a jp scrout ; (scrout returns from 'moveto's call) ; Terminal Capability Bits. The eight bits stand for each of the following ; strings. They count from 01h=bright to 80h=clear-to-end-of-screen. .var b_brit 0b00000001 ; 0: bright (1.) -- NOT mandatory .var b_dim 0b00000010 ; 1: dim (2.) -- NOT mandatory .var b_dlln 0b00000100 ; 2: delete line (4.) -- important .var b_inln 0b00001000 ; 3: insert line (8.) -- important .var b_dlch 0b00010000 ; 4: delete character (16.)-- unused by QTERM .var b_inch 0b00100000 ; 5: insert character (32.)-- NOT mandatory .var b_clel 0b01000000 ; 6: clear to end-of-line(64.) -- important .var b_cles 0b10000000 ; 7: clear to end-of-screen(128.)-- important .org 0x022f tcbits: db b_clel + b_cles + b_dlln + b_inln ; capability bits ;.org 0x0230 brites: db '\e(\0' ;bright string .org 0x0238 dims: db '\e)\0' ;dim string .org 0x0240 dlstr: db '\eR\0' ;delete line - not available on ][+ .org 0x0248 ilstr: db '\eE\0' ;insert line - not available on ][+ .org 0x0250 dcstr: db '\eW\0' ;delete character - not available .org 0x0258 icstr: db '\eQ\0' ;insert character - not available .org 0x0260 ceol: db '\eT\0' ;clear to end of line .org 0x0268 ceos: db '\eY\0' ;clear to end-of-screen ; Entry and Exit hooks. These are provided to perform custom initialisation ; on startup and on exit from QTERM. They are invoked before any use is made ; of the screen or the port hardware. .org 0x0270 entry: jp do_ent ; entry hook (270h .. 272h) .org 0x0273 exit: ret ; exit hook (273h .. 275h) .org 0x0276 user: jp usr0 ;user's (U or !U) routine .org 0x0279 kbmap: ret ;keyboard mapping routine .var ilprmt 0x027c ;In-Line Prompt routine lives at 27c .org 0x280 MODGET: push bc ld c,6 call 0xffe3 call 0xffe9 call 0xffe0 pop bc ret .org 0x290 MODPUT: push bc ld b,a ld c,7 call 0xffe3 call 0xffe9 ld c,b call 0xffe3 pop bc ret .org 0x2a0 FINBD: and 0xf0 pop hl or h pop de call MODPUT pop hl pop de ret .org 0x2b0 FINMOD: and 0x0f push hl ld h,a ld a,(MODSAV) and 0xf0 or h pop hl pop de call MODPUT ld a,(MODSAV) and 0x0f rlca rlca rlca rlca or 0x0b ld de,control call MODPUT pop de ret do_ent: ld hl,doscout ;get address of bdos console out ld (scrout + 1),hl ;make DPG's jmp point to it instead ret ;pretend nothing happened doscout: ld e,c ;get char in E ld c,2 ;bdos conout in C push bc ;save extended reg's push de push hl call 5 ;do it pop hl ;get ex reg's back pop de pop bc ret ;done usr0: ld a,(tcbits) xor 0x03 ld (tcbits),a ret  jmp point to it instead ret ;pretend nothing happened doscout: ld e,c ;get char in E ld c,2 ;bdos conout in C push bc ;save extended reg's push de push hl call 5 ;do it pop hl ;get ex reg's back pop de pop bc ret ;done usr0: ld a,(tcbits) xor 0x03 ld (tcbits),a ret ->):-g+*@QT-PCPIEZ AZSM COMuQTERM CBKSEND Z QT43EFX1$$$; QT43EFX1.Z - Patch to fix True Ymodem send problem in QTERM v43E ; ; Author: Mike Freeman; 301 N.E. 107th Street; Vancouver, WA 98685; ; Telephone (206)574-8221; Internet freeman@watsun.cc.columbia.edu ; ; This file, when compiled with ZSM and patched over QTERM.COM (version ; 43E) will fix a bug which causes QTERM v43E to fail to send files ; via True Ymodem protocol properly. This patch was suggested by QTERM's ; author, David Goodenough. When the patch is applied, MODEM7 batch transfers ; will no longer work. ; To patch QTERM.COM (v43E): Extract QTERM.COM from QTERM43E.LBR, then: ; A>ZSM QT43EFX1.Z ; A>ZPATCH QTERM.COM QT43EFX1.O ; and voila, you have QTERM.COM with the bug fixed! ; Note: ZSM.COM and ZPATCH.COM may be obtained from ZSM23.LBR or QTZP.LBR. ; -- Mike Freeman K7UIJ -- 12-May-1991 ; .org 0x29c9 ld a,(0x672d) or a nop erly. This patch was suggested by QTERM's ; author, David Goodenough. When the patch is applied, MODEM7 batch transfers ; will->*%g:-gɂ>)+*@QT-PCPIEZ AZSM COMuQTERM CBKSEND Z QT43EFX1O QT43EFX2$$$; QT43EFX2.Z - Patch to fix True Ymodem send problem in QTERM v43E ; ; Author: Mike Freeman; 301 N.E. 107th Street; Vancouver, WA 98685; ; Telephone (206)574-8221; Internet freeman@watsun.cc.columbia.edu ; ; This file, when compiled with ZSM and patched over QTERM.COM (version ; 43E) will fix a bug which causes QTERM v43E to fail to send files ; via True Ymodem protocol properly. This patch uses a small portion of ; the high portion of QTERM's patch area, starting at 0x04e0. ; To patch QTERM.COM (v43E): Extract QTERM.COM from QTERM43E.LBR, then: ; A>ZSM QT43EFX2.Z ; A>ZPATCH QTERM.COM QT43EFX2.O ; and voila, you have QTERM.COM with the bug fixed! ; Note: ZSM.COM and ZPATCH.COM may be obtained from ZSM23.LBR or QTZP.LBR. ; **Note** This patch allows MODEM7 batch transfers to function properly. ; -- Mike Freeman K7UIJ -- 12-May-1991 ; ; Adapted D. Goodenough 5/22/91 to put .org's in the correct order (ZSM and ; ZPATCH can't .org backwards) ; .org 0x04e0 ld hl,(0x6725) ld a,(0x672d) ret .org 0x29c9 call 0x04e0 nop RM.COM with the bug fixed! ; Note: ZSM.COM and ZPATCH.COM may be obtained from ZSM23.LBR or QTZP.LBR. ; **Note** This patch allows MODEM7 batch transfers to function properly. ; -- Mike Freeman K7UIJ -- 12-May-1991 ; ; Adapted D. Goodenough 5/22/91 to put .org's in the correct order (ZSM and ; ZPATCH can't .org backwards) ; .org 0x04e0 ld hl,(0x6725) ld a,(0x672d) ret *~#*4ˮ^##~./> .>.>$!!+ ,Televideo TS803 = |} O ()REWQTYÀá*w"#w"!![Wg.x~s_#~rWS>e(y '>d(/-8-0!4ˮ~#o0$/wM*%g:-gö{:222 `:2B[B:!)0ok"#g!bdcdpp{QTERM V4.3e (C) Copyright DPG 1991 - All rights reserved Version for !D Escape character is 6#:pT2M2M T2M2M!^6 #Tr͜#E{!>2rD*pD~(a#2oD:B8͛<y8Ox2BB=y(3!C̒#(!nD45!B Ď# *pD~:B( :SDy; 45y!B^#V##y0 Їo&bd~2ad#"pD  0@P`p̀͐Ͱ͛_ T*} o~ ! ËÝå!B~w͋(6˹Y7(_w_:B!B45(F5(F{,.>1 :SD|(j :UD> :TD| a:UD|(Z\> N({>4ͯ!ZD54( 6!ND7!WD45(F  7( ˆ7!UD45( W> 1 O:ODy; / !CF*Mw#"M[ER7?3) ͳͿ[B*B˒RSB! Ew ͐[B*BR7˒SB! E~!QDF*B[C˒R q# 0) *C#˔"C Iw[B*CR7>- $ѷ! I˒SBN> $:nD:C(? 7 W ignored - insufficient terminal capabilities !+:// 2M(:/@(!SD(5ͶWindow size (b / s)? 4!͜# s!C(! C Mbkp:M * M: M* M:M2M}2M2M5* M%.+-Pͧ P ~  ~5A  ͧç ( ͧ64~P(,! M! MO!M~(wnf+y ( wtt:M .~f. !+ ͧ .g+!|.+&~ w g.++(<~!MM p!* M}O o| g:M ([M|0cz0b" M* M+O:rD:SDd :RDʧy! M ~=wç ( ~Pw #:M > ~(4 (!M~(5:M }y 2#M2"M<2M 8+!C^(#V# J! M~O04#~ :M(:M@ !O+ͧ ͧ:M@(!!M:M(  54+6[= ~y[>(2My#((() !M4!!MM :M  )5) 4"E +w#= :M(>  ~04) q * M"M:M2M|*M" M:M; = k!$M"'M!"$M>2My? U2"M50= !+x( + ͧA ͧç ͧ++=  ͧy; .:"M(!$M~Gw7+w*'M$MR #"'M!&M60 0 *'M_~w!M6!C #^#V#(* M$M D g D o g:M (:Mg o%- O >G!B Ay CM!*'M~2M :#M!Mw :#M/!Mwɷ ɻ{<*M}. eé :M( ( g.+!*M.+&%>2C!C5!C40O!͜#*M$"M%!n͜#"MJ:CD2C!C6#50#n![M"O~q#+ *MBK5!^N"M_Nw>2VDt8l!M~(#! !^͛#{;(:E!M$ >w@ >wM*Mw# "M Z^R8Script is too large (4K maximum) ɯ*Mw=2D/Bad line in file !M~( Oͧ#>2VD2M>  Done O=G!^N(~# "MT882M!)M:zMGݶP(xĴ~P(O(:rD  Looking for: NRXl`ͭ8<(!lNPBQM ):}M:yM(:rD  Match: b+| :rD  Fail4W:MݾS0:rD , retry Ø:~M Cancelled y2oD!:{M!{Mط <}<<(~O#r>((ɯ~ȷ?#\̉(~#7k >d >f > b >t > n > r > e >x -~0 88 8x1 #!!!!O 080O~00 #!!!Oy~(#O~ ~((#0 ?xGGx!Vb~ ( (w#6#q#w2Vd!Vb ~( ( #~~(!e_~# {=~]T#~ ~< 6#~A '#͜ 0~ Hͫ͜#G(( G( !g #RDMg1  7xͫ͜͜#> x *M~7M~$(@()`(=~ "M#'0#͜~(#A0#_!e~#p<6/4d0d6/4 0:w# O~0y#D!QMKxM~ 8 Oܧ#:C(`>2C!C~w Catch file =(on hold reactivated :C" File closed V!:] 7͐![M"H<(Z! ~(Can't append file #H!$~++(H~5#([ETa!H*E+#~ "M#H< Can't create file aFile opened <2C3MH) *M[ER+)$Dq#TMH!*E"MT]KE6ͶBaud rate? !#~(+ w#Cr!#~(]- w͛#(R*( Y{2C͛#(>*(0 YD0+#Y{2C͛#(*(XD0 0+#,YSC!͜#DM *  0(!! 0 ]T0)))_ w#z(> w#w#w ( (Specify !C~# ~(%###Error: invalid baud rate #^#VG(xBaud rate set to  (!Pw7(#8(Modes are [87][EON][12]  _wN(O(E  w1(2  (L!~Mode set to , , ~0 0~0 kbk)))_#?!M~ M 6?MT2MMH<(Y:M@R*M>:R!M_">.R"++~+~!C_~R<!C !G(No files ~#R*M[MR["M:[(x2h2|!ND(0˾(~w<C4!UDC)!TDC!!ODC!PDD!QD+D !RD=DD( enabled  disabled(0(ˆ~w:oD͘#?(* +MH:CFile not found 7Can't handle wildcards 7V͜#"M"![MͶFilename? :7!͜#![\!pKMC[A8 Q0-@G#~:(0 0O#~:(0 0_y#C[]~. #!]>? (.( (#(*( > >?͘#~a{_͜#nJ*M"MMTMH<(,[M!^bR(*Ms#r#o&M SM~ ȷ#M*+7 (( 8!]NR(!MR >2VD>2WD7(o:WD8*+8d(^ :PD(> 8 !YD45(#w:C_ [C:XD2ZD2[Dl)| ,:ZD=(+| 2ZD![D~dr( Sent 0>2VD*+8( > 82MR0:M 2WD=2VDͶDrive? !n*[%"M:C (:M!\=_T:\!%=T):oD(t#~ !DD~{ T!^T#r D:/!mD~=w!0):/!mD~4!8!@!H !`!h!|2lDD2lD~#R >O2^d> >2^d> (͇ > ͇:^d !^d~P̣O:lDy§!rD^6/ s!^d4w#4~:`d5!\DG<!cD((2_dGG7>2`d!"^d^#V#+D& 8B|{0Oͧ?9!p~( 99!#F#ô??dl<͐+| dzl<+| !:G6# ̧ - Transmit escape character ? - Print this help . - Send a break , - Hang up modem B - Change baud rate and mode C - Open an input catch file D - Display local directory E - Toggle remote echo H - Toggle half duplex I - Print settings information J - Junk control characters K - Load a function key L - Toggle linefeed transmit for 'P' M - Toggle bit 7 mask N - Select new default drive / user O - Toggle output to printer P - Print a file to remote Q - Quit R - Receive a file using protocol S - Send a file using protocol T - Type a local file U - Invoke user function V - Toggle VT100 Emulation W - Toggle split window mode X - Activate a chat script Y - Put catch file on hold Z - Close catch file 0-9 - Send function key string  Escape character: 6# Current drive / user: *M|AOͧ: : (Baud rate: !D:P (!Communication Mode: !PD^S delay: *C second(s) Half duplex: :TD #Local echo: :UD #Control char. discard: :OD #Linefeed in 'P': :PD #Character delay: *C msec. :YD( echo check New line delay: *C msec. :XD(" newline echo: 'Oͧ'ͧ Bit 7 masking: :ND< #VT100 emulation: :RD #Printer output: :QD #:C Not catching Current catch file: !MA:C= (on hold) ɷ( on off :B 8 ^ͧ@OͧJ!+s:adT*pD~#"pD:nD:C1 :CGG?2nD!nD6!(M#~ #!"pDͶKey value: !͜#0 8O#~0 8"Invalid function key number #凇_!bdq#r$*o2e͘##( =(2eb͛#!okpkp(MpkZ8@#!pkk( .~(*##-(`=(&+(qY(Nn[H<(%8%*M"[[H<:eMH(#(= # &8_ 1&=# > W{>2C>A2g!ee=ppo&e͜# a0#&͜#~0 ?W{_#~-(+( { O( L(M͛#!rD( 0 ~y/~w͘#fgrDR(W>">!2%g͛# a͛#0!Cn!ST"e*M$"[!hi2}[H( T!pk^#r ͫ͜bk~#( 8(:%gB)(OeC)y(A2%g͛#!plfgB'gr*&g@gB)   ͘#O͛#2ey^(:)-(F+( (t2e>=fg (r!l+~fg(  %( #1& >!okpkq͜#(pkZ8!pk("_l!k("al!k("cl!k("elO Xl`ͭ8$(*_l((!*al((*cl((*el(( +| !qlpl@!olplFp~#+~# <+~((:e(O~(1& >(GH Xl`ͭ8(+| $% B 7?o*#(x(Unknown mode ~ f(0l(,k[,*M^^R No files to send :#0{2Ex(͊-=?͵?@(:'g2Sg*( ͔8 :Sg2'g2M * ;@<͔8:E2EJ*o*(x])#kn*["M!͐>k ͇/?͵?À< :Wg:,g Transfer !sD(!DDs6gͶMode? !͜# k:;g͝*>O*7 *D_WSD|(Ll*<+| 7ͳ7Ϳ*00JMHeч#H[Mz<:M =͝A<2"g*g" g[g* gR!nk(R| :"g2E!VD~#"g:EG#"gTMH !D4(55!(" gokR?*g+w"g*gw#"g[#gR(|ʹ+AB*gokSgR+)$DTMH!!ok"gpkKE6fgTMH7!D~(:tgw4 0!]  "#^#V#SM~2D2MM!H7! !gR !D5 57^^SMSM͜#!MM 6 KM!M!Mq#p#> >- .((?(*(w#xG+!MMpMH<(!D +4~:8 6A[860H:-g(*g,!MÝABNAK receivedBBad packet numberBTimeout errorBChecksum errorBCRC errorBToo many retries$7@:5g.G *.S2:g2gS -F V.D .Z .B ,/G n/C!Aw5*>SK:g B͋1F2GN x( N -,-}A:>gɷ(E 78>AY ::g 52F!A5M!fg8 (6.#8pfgRK:g]B>F͋1F2GN  ˹˱>YY!.::g .2Z>D!A[8gK:g{Z>D0B!A>ZK:gC͋1F2GN  ˹˱>YY!.::g .2F>B!A>BK:gB͋1F2GN  ˹˱>YY!.::g .2C!A:5g_2fg>G$7A2:g2R2>gR /F F0D 1C!YK:g B͋1!Fɷ "B-:3g(g1 K:gC>N͋1}A:>gE 7 ,-8u->A!YZ !=g~4 0::g=? _WGF M::g !fgZi:&g(j8!Zip,2-g;,!M͝A2A>YK:gC͋1!DB0::g 2A>YK:gC͋1>C!Y͋1>FK4g!fg w:(# #w# BJ>RË1!fg:(g( G:)g1 >}3go2Rg"`g :Bg{3y{3}3x():Bg0#= z<8R{3{{3!Rg3{3z( ~#}3z 3:Bg3 :ag 1 >22 *`g))|? 1 :`g? 1 *:?g1 >1 ͎*8q go"`g2Rgn38_(!Bg_n38M( On38A(G{(A382(:Bg0= {!fg(n38(w#z w3:Bg3 ͎*8f(_:ag  5>22 ͎*8F(_*`g))|?  ͎*8-(_:`g? (!T-*1g| }8"1gxB-*xY [1g*/gRS1gn3 _n3 7!Rg3n3 <͎*͆3 1 O!Rgw:Bg3( *`g "`gͯ3yOͯ3!agg+go&Dw#w:Bg1!`g~?w!fgb40 x=:&gw#b4w#b4_:+g :%g({(w#˻{ 8(:@g(:%g( :&g( {@_:@gw#s#*1gB {0:Dg=(=(:&g 41!Dg~ 6Eg4!Dg~(5o&Fg~+~Z*Eg|8S}!Gg 0#~ +#>2DgT48!Eg(͎+ y 2Ig7>Fg!Gg 4og"Og*+8 **g,- 7ɷɯ2Dg!fg~#_:&g( ~# G^#:+g :%g ^#{# ~_W##{(:%g{( :&g{(@͗+fg!D :Qg(:+g>N(2lg:-g(E!mg5?:%g!+gAg Y>N 6>Y >&2%g2lg!Cg~2(61~2mg:&g > 2ng:'g! "og"qg!fg~ 6 #6+#~ Z8>Z2/g21g#~ 0>8>2;g#~ 2(g#~@2)g#~ > 2?g#~70>#2@g#~ 2Ag(/78:Qg( :+g :Ag& :Ag:AgY :+g >&2%g2+g#:Qg~ 2(3(>1:-g>2 <(>12Cg#:Qg~ 78 ~ 2&g:'g#~~#8#~ _#~ 7|(!|(}[0!(!8o"/g"1g!=?`?kb))))))R_> 2?g>#2@g> 2;g>12Bgͅ8~ (Pb 2*gDg 23g;8 2+g22 2-g)q !.g4a 2,gl(f 25gx 2'g#:3g(,͜# #Need filename for get optionb8"4g!78"D!DÕ@{[:gW>E͋1 Local error: D!fg Error from remote:  (w#BInvalid packet type͛*0:Qg[:g(>A͋1BTransfer aborted{6g:&g(~ #~ G#~#!%g&gpɯ2Ug2Tg:M <2UgM#H*M"bg:'g!(!"^g>͝*K((C((!Tg4~8f@XG@ Q2+g:%g{9:Ug( >1 >1 2Tg&<00}A:Tg<8BMODEM7 batch filename error;@<2A>͝*K(C(&("BMODEM7 error: NAK/C expected2+g!"\g:-g( !"^gl"\g2)ggo"dg2Tg:-g(c*\g+| [:Ug(:'g(&"^g͛*(3K(C(2!Tg4~8BYMODEM error: C expected;@(<1 :\g1 /1 !"`g*^gfg1 :+g(@!`gw+| *:+g:ag1 :`g1 !Tg4> ͝*83(z G@?9̀@2;̀@2;BNon-ACK: 0xZZ BTimeout}A!)g4:Tg0~:BToo many errorsBToo many retries<92A*\g#"\g+|(:_g *dg"dgÚ9>1 >͝*((BEOT not ackedf@<ɯ!MM  >x͑* >͑* 7 #6t<> ͑* >1 >u1 7~O~1 ɯ2Xg2-g2Vg2)g2*g2Wg2[g2Yg2Zggo"\g"dg."^gͣ?ͫ?2Wg͛*!Zg89>6('(V= *dg| 2`gM >͑*8 G@c>~,? !MR}>uu(!`gw>1 ͛* !`g1 ͛* *M"M!MMp;,2Xg2[g2AÌ>!(!"^g*dg| 2)g͛*͛*O<`>:\g< i<2YgA?g>2A2)g:_g(*dg"dg!\g4+~ !4 MM !D ;,;@*^gfg͗++| >1 ñ<*dg|(6:\g #BDuplicate sector flushed͛*0,->2Vg;@:A?892A:fg >1 2-g!fgp,;,>2Xg2[g1 ?,,-!Wg4}A!)g4*dg:Yg(:Wg(^:Vg>͛*0M!)g~ @w#4~>#~(6BSwitching to checksum4BSwitching to CRCͣ?ͫ?:)gڱ<;@>͝*8*BEOT followed by character - ignoredc>!Zg~ 4:)g0î<ʹ+MH>1 :Xg!"`g*^gfg͛*0 B-!Wg47:+g(@!`gw+| :+gě*8W͛*8_*`gR:+g T-g-:+g>C >*1 !@"D!DÕ@ͅ8>2+g~ #b 2%g2-gy 2-g2%gk 2'gq !.g4a 2,gc 2+gO@!`gyOo#oo&Dw+w>1 ͛*BCancelled by remoteBRemote not responding0:'͛*0;@N8!"gk"ik"kk5!+D!DD Packet:0 Packet Errors: 0 Total Errors: 0 Sending: Sent: Receiving: Received:!E~(5AB!fk~( 5 B2fk*kk|(0 !"kk:.g!+*gk#"gk!+*kk#"kk! +*ik#"ikz<(" out of !AD!"mk 0K !+ARN#~#@Oͧ:ͧB~ .ͧ~# Oħ>2fk! +DR>2G:/@/B ͧ:.g! +*mk#"mkKç*oR!!o{"E!o"E!"E> 2E2E! Insufficient memory w?.,sBC{DpExH IJ#KLVMxNOPT#Q*RS)S?TvUV WX YJZ  =|-|` g v o } } 6   B = 8 <.,Q%%#$%W&&'<&>o$~'[&(sBCpExHJ#KLVMxNOPT#Q*RS)SvUV WX YJZ/QTERM.LBRK%` X,, -+* Bit 7 maskingRemote echoHalf duplexControl character discardLine feed in printOutput to printerVT-100 emulation[more] complete error --XFER--000z, @-#&3~" *aKermit!1BRcs ƍXmodem!B c0@P`p)Jk File Transfer ̀̀~̀͐̀͐̀˗͐̀ˇ͐̀͐̀à 2̀ð062jApple //e, PCPI, SerialProk* = |} O ()REWQTYɡ!GH͐.x~s_g:͐: ͐!" Y:/2/*%g:-gö{:222 `:2B[B:!)0ok"#g!bdcdpp{QTERM V4.3e (C) Copyright DPG 1991 - All rights reserved Version for !D Escape character is 6#:pT2M2M T2M2M!^6 #Tr͜#E{!>2rD*pD~(a#2oD:B8͛<y8Ox2BB=y(3!C̒#(!nD45!B Ď# *pD~:B( :SDy; 45y!B^#V##y0 Їo&bd~2ad#"pD  0@P`p̀͐Ͱ͛_ T*} o~ ! ËÝå!B~w͋(6˹Y7(_w_:B!B45(F5(F{,.>1 :SD|(j :UD> :TD| a:UD|(Z\> N({>4ͯ!ZD54( 6!ND7!WD45(F  7( ˆ7!UD45( W> 1 O:ODy; / !CF*Mw#"M[ER7?3) ͳͿ[B*B˒RSB! Ew ͐[B*BR7˒SB! E~!QDF*B[C˒R q# 0) *C#˔"C Iw[B*CR7>- $ѷ! I˒SBN> $:nD:C(? 7 W ignored - insufficient terminal capabilities !+:// 2M(:/@(!SD(5ͶWindow size (b / s)? 4!͜# s!C(! C Mbkp:M * M: M* M:M2M}2M2M5* M%.+-Pͧ P ~  ~5A  ͧç ( ͧ64~P(,! M! MO!M~(wnf+y ( wtt:M .~f. !+ ͧ .g+!|.+&~ w g.++(<~!MM p!* M}O o| g:M ([M|0cz0b" M* M+O:rD:SDd :RDʧy! M ~=wç ( ~Pw #:M > ~(4 (!M~(5:M }y 2#M2"M<2M 8+!C^(#V# J! M~O04#~ :M(:M@ !O+ͧ ͧ:M@(!!M:M(  54+6[= ~y[>(2My#((() !M4!!MM :M  )5) 4"E +w#= :M(>  ~04) q * M"M:M2M|*M" M:M; = k!$M"'M!"$M>2My? U2"M50= !+x( + ͧA ͧç ͧ++=  ͧy; .:"M(!$M~Gw7+w*'M$MR #"'M!&M60 0 *'M_~w!M6!C #^#V#(* M$M D g D o g:M (:Mg o%- O >G!B Ay CM!*'M~2M :#M!Mw :#M/!Mwɷ ɻ{<*M}. eé :M( ( g.+!*M.+&%>2C!C5!C40O!͜#*M$"M%!n͜#"MJ:CD2C!C6#50#n![M"O~q#+ *MBK5!^N"M_Nw>2VDt8l!M~(#! !^͛#{;(:E!M$ >w@ >wM*Mw# "M Z^R8Script is too large (4K maximum) ɯ*Mw=2D/Bad line in file !M~( Oͧ#>2VD2M>  Done O=G!^N(~# "MT882M!)M:zMGݶP(xĴ~P(O(:rD  Looking for: NRXl`ͭ8<(!lNPBQM ):}M:yM(:rD  Match: b+| :rD  Fail4W:MݾS0:rD , retry Ø:~M Cancelled y2oD!:{M!{Mط <}<<(~O#r>((ɯ~ȷ?#\̉(~#7k >d >f > b >t > n > r > e >x -~0 88 8x1 #!!!!O 080O~00 #!!!Oy~(#O~ ~((#0 ?xGGx!Vb~ ( (w#6#q#w2Vd!Vb ~( ( #~~(!e_~# {=~]T#~ ~< 6#~A '#͜ 0~ Hͫ͜#G(( G( !g #RDMg1  7xͫ͜͜#> x *M~7M~$(@()`(=~ "M#'0#͜~(#A0#_!e~#p<6/4d0d6/4 0:w# O~0y#D!QMKxM~ 8 Oܧ#:C(`>2C!C~w Catch file =(on hold reactivated :C" File closed V!:] 7͐![M"H<(Z! ~(Can't append file #H!$~++(H~5#([ETa!H*E+#~ "M#H< Can't create file aFile opened <2C3MH) *M[ER+)$Dq#TMH!*E"MT]KE6ͶBaud rate? !#~(+ w#Cr!#~(]- w͛#(R*( Y{2C͛#(>*(0 YD0+#Y{2C͛#(*(XD0 0+#,YSC!͜#DM *  0(!! 0 ]T0)))_ w#z(> w#w#w ( (Specify !C~# ~(%###Error: invalid baud rate #^#VG(xBaud rate set to  (!Pw7(#8(Modes are [87][EON][12]  _wN(O(E  w1(2  (L!~Mode set to , , ~0 0~0 kbk)))_#?!M~ M 6?MT2MMH<(Y:M@R*M>:R!M_">.R"++~+~!C_~R<!C !G(No files ~#R*M[MR["M:[(x2h2|!ND(0˾(~w<C4!UDC)!TDC!!ODC!PDD!QD+D !RD=DD( enabled  disabled(0(ˆ~w:oD͘#?(* +MH:CFile not found 7Can't handle wildcards 7V͜#"M"![MͶFilename? :7!͜#![\!pKMC[A8 Q0-@G#~:(0 0O#~:(0 0_y#C[]~. #!]>? (.( (#(*( > >?͘#~a{_͜#nJ*M"MMTMH<(,[M!^bR(*Ms#r#o&M SM~ ȷ#M*+7 (( 8!]NR(!MR >2VD>2WD7(o:WD8*+8d(^ :PD(> 8 !YD45(#w:C_ [C:XD2ZD2[Dl)| ,:ZD=(+| 2ZD![D~dr( Sent 0>2VD*+8( > 82MR0:M 2WD=2VDͶDrive? !n*[%"M:C (:M!\=_T:\!%=T):oD(t#~ !DD~{ T!^T#r D:/!mD~=w!0):/!mD~4!8!@!H !`!h!|2lDD2lD~#R >O2^d> >2^d> (͇ > ͇:^d !^d~P̣O:lDy§!rD^6/ s!^d4w#4~:`d5!\DG<!cD((2_dGG7>2`d!"^d^#V#+D& 8B|{0Oͧ?9!p~( 99!#F#ô??dl<͐+| dzl<+| !:G6# ̧ - Transmit escape character ? - Print this help . - Send a break , - Hang up modem B - Change baud rate and mode C - Open an input catch file D - Display local directory E - Toggle remote echo H - Toggle half duplex I - Print settings information J - Junk control characters K - Load a function key L - Toggle linefeed transmit for 'P' M - Toggle bit 7 mask N - Select new default drive / user O - Toggle output to printer P - Print a file to remote Q - Quit R - Receive a file using protocol S - Send a file using protocol T - Type a local file U - Invoke user function V - Toggle VT100 Emulation W - Toggle split window mode X - Activate a chat script Y - Put catch file on hold Z - Close catch file 0-9 - Send function key string  Escape character: 6# Current drive / user: *M|AOͧ: : (Baud rate: !D:P (!Communication Mode: !PD^S delay: *C second(s) Half duplex: :TD #Local echo: :UD #Control char. discard: :OD #Linefeed in 'P': :PD #Character delay: *C msec. :YD( echo check New line delay: *C msec. :XD(" newline echo: 'Oͧ'ͧ Bit 7 masking: :ND< #VT100 emulation: :RD #Printer output: :QD #:C Not catching Current catch file: !MA:C= (on hold) ɷ( on off :B 8 ^ͧ@OͧJ!+s:adT*pD~#"pD:nD:C1 :CGG?2nD!nD6!(M#~ #!"pDͶKey value: !͜#0 8O#~0 8"Invalid function key number #凇_!bdq#r$*o2e͘##( =(2eb͛#!okpkp(MpkZ8@#!pkk( .~(*##-(`=(&+(qY(Nn[H<(%8%*M"[[H<:eMH(#(= # &8_ 1&=# > W{>2C>A2g!ee=ppo&e͜# a0#&͜#~0 ?W{_#~-(+( { O( L(M͛#!rD( 0 ~y/~w͘#fgrDR(W>">!2%g͛# a͛#0!Cn!ST"e*M$"[!hi2}[H( T!pk^#r ͫ͜bk~#( 8(:%gB)(OeC)y(A2%g͛#!plfgB'gr*&g@gB)   ͘#O͛#2ey^(:)-(F+( (t2e>=fg (r!l+~fg(  %( #1& >!okpkq͜#(pkZ8!pk("_l!k("al!k("cl!k("elO Xl`ͭ8$(*_l((!*al((*cl((*el(( +| !qlpl@!olplFp~#+~# <+~((:e(O~(1& >(GH Xl`ͭ8(+| $% B 7?o*#(x(Unknown mode ~ f(0l(,k[,*M^^R No files to send :#0{2Ex(͊-=?͵?@(:'g2Sg*( ͔8 :Sg2'g2M * ;@<͔8:E2EJ*o*(x])#kn*["M!͐>k ͇/?͵?À< :Wg:,g Transfer !sD(!DDs6gͶMode? !͜# k:;g͝*>O*7 *D_WSD|(Ll*<+| 7ͳ7Ϳ*00JMHeч#H[Mz<:M =͝A<2"g*g" g[g* gR!nk(R| :"g2E!VD~#"g:EG#"gTMH !D4(55!(" gokR?*g+w"g*gw#"g[#gR(|ʹ+AB*gokSgR+)$DTMH!!ok"gpkKE6fgTMH7!D~(:tgw4 0!]  "#^#V#SM~2D2MM!H7! !gR !D5 57^^SMSM͜#!MM 6 KM!M!Mq#p#> >- .((?(*(w#xG+!MMpMH<(!D +4~:8 6A[860H:-g(*g,!MÝABNAK receivedBBad packet numberBTimeout errorBChecksum errorBCRC errorBToo many retries$7@:5g.G *.S2:g2gS -F V.D .Z .B ,/G n/C!Aw5*>SK:g B͋1F2GN x( N -,-}A:>gɷ(E 78>AY ::g 52F!A5M!fg8 (6.#8pfgRK:g]B>F͋1F2GN  ˹˱>YY!.::g .2Z>D!A[8gK:g{Z>D0B!A>ZK:gC͋1F2GN  ˹˱>YY!.::g .2F>B!A>BK:gB͋1F2GN  ˹˱>YY!.::g .2C!A:5g_2fg>G$7A2:g2R2>gR /F F0D 1C!YK:g B͋1!Fɷ "B-:3g(g1 K:gC>N͋1}A:>gE 7 ,-8u->A!YZ !=g~4 0::g=? _WGF M::g !fgZi:&g(j8!Zip,2-g;,!M͝A2A>YK:gC͋1!DB0::g 2A>YK:gC͋1>C!Y͋1>FK4g!fg w:(# #w# BJ>RË1!fg:(g( G:)g1 >}3go2Rg"`g :Bg{3y{3}3x():Bg0#= z<8R{3{{3!Rg3{3z( ~#}3z 3:Bg3 :ag 1 >22 *`g))|? 1 :`g? 1 *:?g1 >1 ͎*8q go"`g2Rgn38_(!Bg_n38M( On38A(G{(A382(:Bg0= {!fg(n38(w#z w3:Bg3 ͎*8f(_:ag  5>22 ͎*8F(_*`g))|?  ͎*8-(_:`g? (!T-*1g| }8"1gxB-*xY [1g*/gRS1gn3 _n3 7!Rg3n3 <͎*͆3 1 O!Rgw:Bg3( *`g "`gͯ3yOͯ3!agg+go&Dw#w:Bg1!`g~?w!fgb40 x=:&gw#b4w#b4_:+g :%g({(w#˻{ 8(:@g(:%g( :&g( {@_:@gw#s#*1gB {0:Dg=(=(:&g 41!Dg~ 6Eg4!Dg~(5o&Fg~+~Z*Eg|8S}!Gg 0#~ +#>2DgT48!Eg(͎+ y 2Ig7>Fg!Gg 4og"Og*+8 **g,- 7ɷɯ2Dg!fg~#_:&g( ~# G^#:+g :%g ^#{# ~_W##{(:%g{( :&g{(@͗+fg!D :Qg(:+g>N(2lg:-g(E!mg5?:%g!+gAg Y>N 6>Y >&2%g2lg!Cg~2(61~2mg:&g > 2ng:'g! "og"qg!fg~ 6 #6+#~ Z8>Z2/g21g#~ 0>8>2;g#~ 2(g#~@2)g#~ > 2?g#~70>#2@g#~ 2Ag(/78:Qg( :+g :Ag& :Ag:AgY :+g >&2%g2+g#:Qg~ 2(3(>1:-g>2 <(>12Cg#:Qg~ 78 ~ 2&g:'g#~~#8#~ _#~ 7|(!|(}[0!(!8o"/g"1g!=?`?kb))))))R_> 2?g>#2@g> 2;g>12Bgͅ8~ (Pb 2*gDg 23g;8 2+g22 2-g)q !.g4a 2,gl(f 25gx 2'g#:3g(,͜# #Need filename for get optionb8"4g!78"D!DÕ@{[:gW>E͋1 Local error: D!fg Error from remote:  (w#BInvalid packet type͛*0:Qg[:g(>A͋1BTransfer aborted{6g:&g(~ #~ G#~#!%g&gpɯ2Ug2Tg:M <2UgM#H*M"bg:'g!(!"^g>͝*K((C((!Tg4~8f@XG@ Q2+g:%g{9:Ug( >1 >1 2Tg&<00}A:Tg<8BMODEM7 batch filename error;@<2A>͝*K(C(&("BMODEM7 error: NAK/C expected2+g!"\g:-g( !"^gl"\g2)ggo"dg2Tg:-g(c*\g+| [:Ug(:'g(&"^g͛*(3K(C(2!Tg4~8BYMODEM error: C expected;@(<1 :\g1 /1 !"`g*^gfg1 :+g(@!`gw+| *:+g:ag1 :`g1 !Tg4> ͝*83(z G@?9̀@2;̀@2;BNon-ACK: 0xZZ BTimeout}A!)g4:Tg0~:BToo many errorsBToo many retries<92A*\g#"\g+|(:_g *dg"dgÚ9>1 >͝*((BEOT not ackedf@<ɯ!MM  >x͑* >͑* 7 #6t<> ͑* >1 >u1 7~O~1 ɯ2Xg2-g2Vg2)g2*g2Wg2[g2Yg2Zggo"\g"dg."^gͣ?ͫ?2Wg͛*!Zg89>6('(V= *dg| 2`gM >͑*8 G@c>~,? !MR}>uu(!`gw>1 ͛* !`g1 ͛* *M"M!MMp;,2Xg2[g2AÌ>!(!"^g*dg| 2)g͛*͛*O<`>:\g< i<2YgA?g>2A2)g:_g(*dg"dg!\g4+~ !4 MM !D ;,;@*^gfg͗++| >1 ñ<*dg|(6:\g #BDuplicate sector flushed͛*0,->2Vg;@:A?892A:fg >1 2-g!fgp,;,>2Xg2[g1 ?,,-!Wg4}A!)g4*dg:Yg(:Wg(^:Vg>͛*0M!)g~ @w#4~>#~(6BSwitching to checksum4BSwitching to CRCͣ?ͫ?:)gڱ<;@>͝*8*BEOT followed by character - ignoredc>!Zg~ 4:)g0î<ʹ+MH>1 :Xg!"`g*^gfg͛*0 B-!Wg47:+g(@!`gw+| :+gě*8W͛*8_*`gR:+g T-g-:+g>C >*1 !@"D!DÕ@ͅ8>2+g~ #b 2%g2-gy 2-g2%gk 2'gq !.g4a 2,gc 2+gO@!`gyOo#oo&Dw+w>1 ͛*BCancelled by remoteBRemote not responding0:'͛*0;@N8!"gk"ik"kk5!+D!DD Packet:0 Packet Errors: 0 Total Errors: 0 Sending: Sent: Receiving: Received:!E~(5AB!fk~( 5 B2fk*kk|(0 !"kk:.g!+*gk#"gk!+*kk#"kk! +*ik#"ikz<(" out of !AD!"mk 0K !+ARN#~#@Oͧ:ͧB~ .ͧ~# Oħ>2fk! +DR>2G:/@/B ͧ:.g! +*mk#"mkKç*oR!!o{"E!o"E!"E> 2E2E! Insufficient memory w?.,sBC{DpExH IJ#KLVMxNOPT#Q*RS)S?TvUV WX YJZ  =|-|` g v o } } 6   B = 8 <.,Q%%#$%W&&'<&>o$~'[&(sBCpExHJ#KLVMxNOPT#Q*RS)SvUV WX YJZ/QTERM.LBRK%` X,, -+* Bit 7 maskingRemote echoHalf duplexControl character discardLine feed in printOutput to printerVT-100 emulation[more] complete error --XFER--000z, @-#&3~" *aKermit!1BRcs ƍXmodem!B c0@P`p)Jk File TransferQTERM ===== If QTERM is invoked with no arguments, it starts up, and after signing on, you are immediately connected with the modem. If an argument file is provided, then it is assumed to be a chat script (see 'X'), and the chat script is immediately activated. With this file as with all others that can be entered, user numbers can be included in the filespecification: B3:CHAT.XYZ will look for the file in user area 3 on drive B: Either the drive or the user alone can be given: A:FOO.FOO and 7:BAZ.BAR are both acceptable, anything not given defaults to the current values. On completion of the chat script, command passes to normal connected operation. All special actions are initiated by typing the escape character, what happens next is determined by the next character typed. Note that while all letters here are shown in upper case, lower case works equally well: so b also activates the code to set the baud rate. As delivered, the escape character is set to control backslash, however it can be changed by patching QTERM: see QTERM.PAT for details, so to print help type '^\' '?', etc. In all the descriptions that follow, references to the escape character refer to this (i.e. '^\' and not the ESC key - '^[') At several places in QTERM it is necessary to be able to encode control characters and other "non-printing" characters in a visible mode, to do this a special escape mechanism is used. To start one of these escape sequences a backslash '\' is used, followed by one or more characters to define the desired character. The following are provided: '\r' carriage return (0x0d), '\n' linefeed (0x0a), '\t' tab (0x09), '\b' backspace (0x08), '\e' escape (0x1b), '\k' break, and '\d' delay. '\k' causes a break to be sent if this string is subsequently sent to the modem (as in a chat script), and '\d' causes a delay of one second when used in a chat script. In addition a backslash can be followed by up to three octal digits to send the character with that representation: so '\177' would send a delete, and '\003' or '\3' would send a control C; this can also be done for hexadecimal representations: in this case '\x' is the leadin, and it is followed by up to two hexadecimal digits: so '\x7f' would again send a delete, and '\xd' could be used in place of '\r' to send a carriage return. The rule for determining how many characters are used when scanning an octal or hex number is as follows: octal has a maximum of three, hex a maximum of two (not including the \ or \x respectively): use at most that many characters, or stop early if an inappropriate character is encountered. Retyping the escape character (i.e. typing it twice) sends a single copy of the escape character to the remote system. Other characters and what they do are: ? - Print help - QTERM provides a brief synopsis of the available commands. . - Send a break - If QTERM has been patched to do it, this will transmit a 3/10th second break. , - Hang up modem - This is done by deactivating DTR for a short time, which causes most modems to hang up. Again QTERM has to be patched to do this. Alternatively, if your modem doesn't respond to DTR, it is possible to have QTERM transmit a string to cause a hangup: for example the: ' +++ ATH0' as required by a HAYES compatible modem. See the patch documentatin for details. B - Change baud rate and mode - This will first prompt you, your response must look like the following: nnnn nnnn mmm * mmm nnnn mmm -3 20 500 +AB where 'nnnn' is a number specifying the baud rate. Up to eight options are available: 300 600 1200 2400 4800 9600 19200 and 38400, although not all of these may be enabled. 'mmm' is a byte format specifier made up of three characters. The first must be '7 ' or '8' to specify the number of data bits; the second 'E', 'O', or 'N' for even, odd, or no parity; and the third '1' or '2' for the number of stop bits. The * in the third example is used as a place holder when the mode is to be changed, but not the baud rate. So, for example: '1200' would change to 1200 baud leaving the mode as is; '300 8n1' would switch to 300 baud, and select 8 data bits, no parity, and 1 stop bit; and '* 7E2' would change the format to 7 data bits, even parity, and 2 stop bits, while leaving the baud rate alone. Two other options can be added to this line: the '-' option is a way of specifying three delays that can be set, and the '+' option can set the characters used to enable and disable character transmission from the remote system. If both the '-' and '+' options are used, then the '+' must follow the '-' (as above in the example). The '+' option changes the characters that QTERM will use for flow control. When a system is sending text to QTERM, which is being saved in a file, QTERM needs to be able to stop the remote system from sending when it writes to disk. Most of the time ^S and ^Q are recognised, but for the few systems that use other characters, this option allows them to be changed. Following the '+' should be exactly two characters ('A' and 'B' in the example), the first becomes the "stop" character, and the second the "start" character. These characters can be '\' escapes if needed. If the '-' option is used, it should be followed by up to three numbers. The first is a delay in seconds after the "stop" character is sent. Since some systems take longer to respond to the "stop" character than others, the delay time can be changed. QTERM starts up with one second of delay, but by specifying -3 or -6 or whatever, this delay can be changed. -0 is possible, but not recommended unless your remote system responds instantly. The second number is a delay in milliseconds between character sends in 'P' transmits (see below). Note that this time is the time between the start of each character transmission, rather than a time between the end of one and the start of the next. So if this delay was set to 15 milliseconds at 1200 BPS, where each character takes about 8 milliseconds to transmit, there would be 8 milliseconds spent sending the character, and then 7 milliseconds of idle time: the total being 15. As an addition to this, if a non-numeric character precedes the number (as in .20), "echo-check" pacing will be used for printable characters. What that means is that when a printable character is sent, i.e. between space: ' ' (20H) and tilde '~' (07EH) inclusive, the next will be sent either when the delay runs out, or when a copy of the sent character is seen returning from the remote system. This can be useful when the delay would normally need fine tuning for maximum performance, by using "echo-check" pacing the throughput becomes close to optimal. The third number is the delay at the end of a line in 'P' transmission: this is also a count of milliseconds, and this delay occurs after transmission of a carriage return. As with the character delay, a non-numeric character can precede the number, this is a "new-line prompt" character that will terminate the wait early. So if 'P' transmission is being used to upload text to a BBS that prompts for each line with a string like ' 23:', then by giving the number as :300, that would provide a 300 millisecond delay, but when a ':' was seen after sending a new line, transmission would begin again immediately. So, in that case, a string like: -2 .20 :300 would get close to optimal throughput for 'P' transmission. Note that it is possible to selectively set these values: if a '*' is entered as a place holder then the delay value for that position will not be changed, i.e. -* 20 would leave the stop delay alone, set the character delay to 20 milliseconds, and leave the end of line delay alone. Although QTERM always claims to have made the changes to the baud rate and communication mode, they will only happen if the necessary patches are applied. Note that for the second character of the mode specifier, both lower and upper case are accepted. C - Open an input catch file - This prompts for a filename, and then opens that file for output. All subsequent data received up the line from the modem port will be written to the file. Y - Put catch file on hold - This keeps the output file open, but temporarily disables transfer of data. A second 'Y' will re-enable capture of data. Z - Close a catch file - This closes the output file, and disables data capture until another catch file is opened. D - Display local directory - This prompts for a single CP/M wildcard file specificier, and then lists all files that match. Note that an empty filename is assumed to be '*.*'. When the files are being printed, QTERM will stop after each screenful (23 lines), hitting return will print a single line, any other key will print a full page. E - Toggle remote echo - This toggles echo to the remote system. This will most likely be used when the remote system is a terminal or another computer running a terminal program. It causes all characters received from the modem to be re-transmitted back to the modem, creating the impression that the far end is running in half duplex mode. Caution should be used to make sure that you don't set up an 'infinite loop' where the remote system is also echoing: because then the first character that returns will be sent out again by QTERM, to be returned by the remote, to be sent out again by QTERM ..... H - Toggle half duplex - This simply causes all keyboard input to be echoed to the screen. I - Print status information - This prints a summary of QTERM's current state, showing the state of the various toggles, delays, what the current drive and user are, etc. J - Junk control characters - This causes QTERM to discard all control characters received from the remote system that are not considered important. Important control characters are: carriage return (0x0d); linefeed (0x0a); backspace (0x08); and tab (0x09). In this mode, if the remote system is sending characters with the MSB set, and bit 7 masking is not enabled (see 'M'), then all characters with bit 7 set will also be discarded. L - Toggle linefeed transmit for 'P' - When 'P' is used to send a file to a remote system, it normally transmits all useful characters: i.e. all printable ascii characters from ' ' to '~', tabs, and carriage returns. This toggle ensables the transmission of line feeds, for cases where it is needed. Note that when QTERM starts, this is off, i.e. the default is not to transmit linefeeds. M - Toggle bit 7 mask - When this is enabled, all characters received from the remote have the most significant bit stripped. This may be useful when QTERM is running in 8n1 mode, but the remote is transmitting in 7e1 mode - the top bit will contain parity, and this strips it off. N - New default drive and user. This will prompt, and allow entry of a drive user specification (i.e 'A7:' or 'B14:' or 'C:' or '9:'), this then becomes the default for all file operations. Note that it is possible to user the CP/M BDOS functions to set drive and user during the entry hook code (see QTERM.PAT), so if the entry code selects D2:, and all scripts are on D2: just entering QTERM SCRIPT at the CCP prompt would find SCRIPT on D2:. Also note that after the entry hook code, QTERM makes a note of where it is (i.e. in the above case D2: ) When a chat script is invoked with the 'X' command, QTERM will first look at the drive given, or on the default if no drive is specified. If that fails, then QTERM will take a second look in the drive/user area as saved after the entry hook. The rationale behind this is to place all chat scripts in one place: these can subsequently move the default around (see the '!' section of chat scripts), or 'N' commands can be used to move around. However it does not matter what the current default drive/user is, QTERM can always find the scripts by lookng back at the area it noted. O - Toggle output to the printer - This simply toggles a switch that causes all data received to be transmitted to the printer. P - Print a file to remote - This prompts for a filename, and then transmits that file to the remote system. While this transfer is in progress, the keyboard is ignored, except that typing control 'X' will cancel the transfer. Note that the 'L' command may come in useful with this command, check how your remote system behaves. T - Type a local file - This also prompts for a filename, and then prints that file to the screen locally. While this is in progress, a control 'X' will cancel it, Output can also be paused by typing control 'S', which will halt until another character is typed. If this character is control 'X' the output will be aborted, any other continues the printout. U - Invoke user function - QTERM can be patched to include a user defined function, this is the command to call it. This subroutine can be used for any purpose required, for example keyboard mapping can be enabled, or some special screen sequence can be printed, or whatever is needed. The patch documentation provides information on how to patch this into QTERM, and also explains how it is possible to prompt for information from within this subroutine. V - Toggle VT100 emulation - This function requires the following screen abilities be specified for full operation (see QTERM.PAT for details): clear to end of line, clear to end of screen, insert and delete line. If only the first two are available (partial screen clears), then all functions will work, except for reverse index (scroll backwards), and scrolling regions. Note that the VT100 emulation is as complete as it can be, however the alternate character sets are not recognised, and all the display attribute commands are mapped to the single highlight mode encoded in the patch area. Also note that QTERM does not check if a screen capability is present, so if insert and delete line are missing, QTERM will still try to emulate a scrolling region, probably causing somewhat confusing output. As a final comment, (especially for people without interrupt drivers), try to set the delays after the special functions as big as you can: to do some operations (like odd things with scrolling regions, and some of the partial screen clears) require sending a collection of screen codes that'd probably make you lose your lunch if you saw them. In particular, ^[[1J - clear from start of screen to current position will take forever if you're at the bottom of the screen or towards the right margin. Caveat Emptor! W - Toggle split window mode - This requires either the insert line and delete line screen abilities be specified, or it can also function with just clear to end of line. (see QTERM.PAT for details). It puts QTERM into a mode where send and receive text are shown in two separate windows. This can be useful when using QTERM to communicate with another communication program running in terminal mode, because it keeps what is typed on the keyboard separate from what is received from the remote system. After selecting window mode, QTERM prompts for window size: there are two options, 'b' or 's' (big or small). This refers to the receive window: when small, the screen is split exactly in half: 11 lines for both send and receive. Big mode makes the receive window 18 lines deep, the send window is only 4 lines: this will be useful when far more text is being received than is being sent. R - Receive a file using protocol - This option prompts for a mode and optional receive file information. Xmodem and Kermit are both supported. Respond with 'k' to go into Kermit receive, or 'x' to go into Xmodem receive. Normally files are received on the current default drive, however by entering a drive or a user (e.g. 'k b7:') files will be received in the specified location. In addition, if Xmodem is not being used in batch mode, a filename can be given here. Non-batch Xmodem has a default filename, this can be used to override it. Note that a space MUST be present between the k or the x and the filename / drive specification for proper operation. While the transfer is in progress, a control 'X' will abort it. Options can be given by adding them right after the 'k' or 'x' protocol specifier, before the space that precedes the filename. Some options are applicable to both protocols: 'a': Normally QTERM is silent, however if this option is given, QTERM will alert on termination of transfer by ringing the terminal bell. 'q': QTERM normally keeps the screen active, displaying the status of a transfer, however by using one or two 'q' characters, the amount of output can be reduced. A single 'q' just turns off the packet count and the data transfer count (how many K have been received), whereas two 'q's turn off everything. Xmodem only has one receive option: 'c': Xmodem starts by trying CRC mode, and will switch automatically to Checksum if CRC fails. However some very naive implementations will work better if QTERM starts in checksum mode, this option causes QTERM to do so. Note that information for Xmodem 1K, Ymodem, Modem7 batch etc. need not be given for a receive (in fact QTERM ignores any such options on an Xmodem receive), instead QTERM determines what the transfer type is by inspecting the data received from the remote, and it then acts as appropriate. Kermit receive recognises the following options: 'b': binary file transfer - by default QTERM treats files as text files when doing a Kermit transfer, this causes files to received as binary, useful when transferring an executable program. '8': try full 8 bit data transfer - normally QTERM tries to negotiate the use of 8th bit prefixing with the remote, however if both ends can handle 8 bit transfers, this considerably improves throughput. 'x': use extended packet size - if not given QTERM will use the standard maximum packet size (about 90 characters), this allows the packet size to increase to about 1K, thereby providing a performance boost. 'g': request files from a server - a typical use might be: kg a3:*.txt This will request a server to send all files that match *.txt, and they will be received on a3: S - Send a file using protocol - This also prompts, the response should be 'k filelist ....' or 'x filelist ....' where 'filelist ....' is a list of CP/M filespecifiers: wildcards are permitted. Single filespecifiers are separated from one another by spaces, and as with receive, there must be a space between the 'x' / 'k' / options, and the first filespecifier. As with receive, a control 'X' will abort the transfer. Options are given right after the 'x' or 'k', the following are available: 'a' and 'q' work for both Xmodem and Kermit, and in the same manner as in a receive. Xmodem takes these options: 'b': use Xmodem batch (AKA Modem7 batch mode) 'y': use Ymodem batch mode 'k': use 1K packets. So 'xyk a12:*.com' would send all .COM files on drive A:, user area 12, using Ymodem batch mode and 1K packets. To match names to various combinations: xyk will give true Ymodem (known sometimes as ymodem batch), xk gives Xmodem 1K (sometimes incorrectly called ymodem), xy gives Ymodem batch, but forces 128 byte packets, xbk will use Modem7 batch mode, but with 1K packets. For Kermit, the options available are: 'b': Kermit usually sends files in text mode, i.e. 0x1a is taken as end of file. If you want to transfer a binary file, specify the mode as 'kb filename.com'. '2': when Kermit is sending data, it will ask for type 3 block checks during the Send-Init negotiation. Unfortunately, the only fall back from a type 3 request is to type 1 (i.e. if the receiver does not agree to use type 3). This means that if QTERM is trying to send to a system that can do type 1 and type 2, but not type 3 checks, it'll be limited to type 1. However, if the '2' option is used, Kermit will attempt to negotiate type 2 block checks, thus allowing it to communicate with a remote using type 2 checks. It should be noted that this is only useful when sending: when receiving Kermit data, QTERM will see the remote's Send-Init request first, and will agree to whatever the remote asks for. '8': this will cause QTERM to send data with the high bit set as is, on the assumption that the data channel can transfer full 8 bit data. Use this only if the remote Kermit can also handle 8 bit transfers. If the '8' option is not given QTERM will try to negotiate high bit prefixing to send 8 bit data. 'x': allow extended packets, this is the same as for receive. The last two send options are used to issue server requests: 'f': finish the server, 'l': finish server operations and logoff. These two do not need filename, and they should not be used with any other options, i.e. the response to the 'Mode?' prompt from QTERM should simply be 'kf' or 'kl'. K - Program a function key - This prompts for a key number and a string to be loaded under that key. The first character entered may be an 's' to specify the string should be sent slowly. Normally function key strings are transmitted at full speed, however the 's' creates a tenth second delay between characters. Following the 's' (if given) or as the first character if no 's' is given, must be a digit between '0' and '9': this specifies the key number. Finally comes the string that will be loaded under the key. Maximum string length is 14 characters, longer strings are truncated. Backslash escape sequences are permitted, see the description in the section on chat scripts for a full explanation of what is available. As a few examples: s2hello\r would program function key 2 to send 'hello ' slowly, and: 3userid = 17\e would program function key 3 to send 'userid = 17 ' at full speed. 0-9 - Send function key string - After 'K' has been used to load strings into the function keys, '0' etc. will activate the function key, causing the string it contains to be sent. Note that if a function key string contains the QTERM character, it will not invoke the function in question. So loading \x1c,\x1cq ( , q) under a key cannot be used to provide a "hangup and exit" from QTERM. X - Activate a chat script - This prompts for a filename, then it reads the file, and does the chat script given. Following the filename can be parameters for use in the script, much as SUBMIT.COM allows parameters to be passed to a .SUB file. If a chat script is given to QTERM as a command line argument when it is invoked from the CCP, then the following command line arguments will become the parameters to the chat script. A chat script is a means for getting QTERM to automatically send and receive text, this can be used to auto-dial, connect to remote systems, log in to them, and do whatever else is wanted. A companion file QTCHAT.DOC explains the workings of chat scripts. be passed to a .SUB file. If a chat script is given to QTERM as a command line argument when it is invoked from the CCP, then the following command line arguments will become the parameters to the chat script. A chat script is a means for getting QTERPatching QTERM for your system. This explains the patches in QTERM, and can be used to patch QTERM directly (it is written as if being used in that manner), however it also provides an explanation of the subroutines that would be needed if a QT-?????.Z patch source were to be written, based on the template QT-PATCH.Z provided. The first thing to do is to back QTERM up, and then invoke DDT, SID, ZSID, Z8E, or whatever your local patch utility is, in the following way: A>DDT QTERM.COM DDT (etc.) will read in QTERM, and then prompt. The following is a list of patch areas where QTERM should be changed to reflect your system. Some of these are mandatory (i.e. QTERM won't work without them), whereas others can be changed to null subroutines or empty data without preventing QTERM from working, it just won't have all the features available. 1. Modem input status: 0110 - 011F QTERM calls here to check modem input status. Return with the zero flag set if no character is available, or with the zero flag clear if a char is available. Generally this can be an input from the usart / sio / dart status port followed by an 'and'. 2. Read modem character: 0120 - 012F This gets a character from the modem input port once the input status has decided it's there. Return the character in the a register. Generally this can be an input from the usart / sio / dart data port. 3. Modem output status: 0130 - 013F Check if the modem output port can accept another character. Return with the zero flag set if the output port can't receive a character, or with the zero flag clear if the output port is ready. Generally this can be an input from the usart / sio / dart status port followed by an 'and'. 4. Write modem character: 0140 - 014F Send the character in the a register to the modem output port. This will only be called after the output status routine has returned a non-zero status. Generally this can be an output to the usart / sio / dart data port. These first four patches are all necessary for QTERM to work. The next few are not necessary, but they will be useful. 5. Start break: 0150 - 015F End break: 0160 - 016F The start break subroutine at 0150 should initiate a break condition on the modem output line, and 0160 should clear the break condition. If these are to be omitted, then just put return (C9) instructions at 0150 and 0160. Note that the Start Break routine need not check that the transmit buffer is empty, since there will always be a 1/10th. second delay after the last character is sent, before calling this subroutine. 6. Drop DTR: 0170 - 017F Restore DTR: 0180 - 018F The drop DTR subroutine causes DTR to be made inactive, and restore DTR returns DTR to an active state. If your modem does not respond to DTR, but can be made to hang up by sending a string, then put a return (C9) at 0170. Use the space from 0171 to 018F to contain the string, with the following notes: at 0171 should be the length of the string, to transmit a break, use an 0FFH byte, to cause a two second delay use an 0FEH byte. Hence the following could be used to hang up a Hayes compatible: 0C FE FE 2B 2B 2B FE FE 41 54 48 30 0D 0C - length: 12 bytes follow FE - delay (twice) 2B - '+' sent three times FE - delay (twice) 41 54 48 30 0D - ATH0 If neither DTR nor a string is to be used, then place a return (C9) at 0180 and 0171, and a nop (00) at 0170. The string is used only if a C9 is found at 0170, so by placing the C9 at 0171 the string print is inhibited. 7. Baud rate setting: 0190 - 019F Baud rate table: 01A0 - 01AF These two patch areas work together to allow QTERM to change the baud rate of the modem port. The baud rate table holds pairs of bytes for setting the baud rate to eight different values: 38400, 19200, 9600, 4800, 2400, 1200, 600 and 300, in that order. In these pairs, the first byte will be passed to the subroutine at 0190, and the second byte is used to enable that baud rate: an 0FFH in the second byte enables the rate, and a zero disables. So if your system only went up to 9600, (using a value of 1 to get 9600) the first six bytes in the table would be: 00 00 no value for 38400: disable by the 00 00 00 no value for 19200: disable by the 00 01 FF 01 is the value for 9600: enable by the FF In all cases of enabled baud rates, the subroutine at 0190 gets the appropriate value in the a register and should use it to set the baud rate. If this is to be omitted, then just put a return (C9) instruction at 0190, and fill the table from 01A0 to 01AF with 00's. 8. Communication mode setting: 01B0 - 01BF Communication mode table: 01C0 - 01CB These two patch areas work together to allow QTERM to change the communications format of the modem port. The mode table holds bytes for setting 12 different formats, selecting number of data bits (7 or 8) parity (odd, even, or none) and number of stop bits (1 or 2). In order the 12 values are for 7n1, 8n1, 7n2, 8n2, 7e1, 8e1, 7e2, 8e2, 7o1, 8o1, 7o2, and 8o2. The subroutine at 01B0 gets one of these values in the a register and should use it to set the communications mode. If this is to be omitted, then just put a return (C9) instruction at 01B0. 9. Reserved for later use: 01CC This byte is reserved for later expansion, and should not be used. 10. Protocol transfer size: 01CD During protocol transfers, disk reads and writes take place every 8K. This is normally possible without causing a timeout, and reduces disk access to a minimum. However if your disk is slow, you can drop this to 4, 2 or even 1 to reduce the size of transfer, and hence prevent timeouts. 11. Processor speed: 01CE This is the speed in Mhz that your Z80 runs at: 4, 6 or whatever. For a 2.5Mhz cpu, use 3. 12. Escape character: 01CF All special functions of QTERM are activated by the use of escape sequences. At 01CF is the byte used for the escape character (the default is ^\). Any byte can be used, but a little used value is best selected, also using a printable character (' ' thru '~') may have undesirable results. Note that to transmit the escape value itself, just type it twice. These previous three are necessary. 13. Signon message: 01D0 - 01EF This must be a string that identifies your system / terminal. It must be present, and is printed when QTERM first starts. It should be composed of printable characters, and terminated by a zero byte. 14. Clear screen: 01F0 - 01FF This must be a string that clears the terminal screen, and leaves the cursor in the top left hand corner. This should also be terminated by a zero byte. 15. Moveto: 0200 - 022E QTERM requires the ability to move the cursor around the screen. It calls this subroutine with the required coordinates in hl: where h is the row, and l the column to move to. The top left hand corner of the screen is 0,0; and the bottom right corner is 23,79. This subroutine will have to do terminal output: at 0109H is a routine that prints a character in the c register, and at 010CH is a routine to print a decimal number in hl (mainly for the use of vt100 and vt220 compatibles). Note that the above two subroutines may destroy all registers, so appropriate action should be taken if needed. 16. Teminal capability bit map: 022F This byte contains one bit set for each of the following terminal capabilities: bit 0: (01H) end highlight mode bit 1: (02H) start highlight mode bit 2: (04H) delete line bit 3: (08H) insert line bit 4: (10H) delete character bit 5: (20H) insert character bit 6: (40H) clear to end of line bit 7: (80H) clear to end of screen 17. Terminal capability strings: 0230 - 026F In this area are eight strings, each of which can be at most seven characters long. They are the strings to be printed to perform the terminal capabilities mentioned above. Each one of them should be terminated by a zero byte. Hence at 0230 is the string for end highlight, at 0238 is the string for start highlight, etc., with 0268 being the string for clear to end of screen. Programs that use these will check the terminal capability bitmap at 022F before using them, to determine if they are available. 18. Entry subroutine: 0270 - 0272 Upon entry to QTERM, this subroutine will be called. If it is not needed then a return instruction (0C9H) should be placed at 0270, otherwise there is enough space to put in a jump to code that is to be executed when QTERM starts. This can be used for several purposes: if custom initialisation is needed to enable communications, or select a particular baud rate, or whatever, this can be done here. In addition, if all chat scripts and disk access is to be done on a specific drive, then by using the CP/M BDOS functions to set drive (and set user if desired), QTERM can be made to automatically be in the correct place to find scripts. This is explained in QTCHAT.DOC 19. Exit subroutine: 0273 - 0275 After an Q has been issued to exit QTERM, this subroutine will be called immediately before exiting back to CP/M. As with the entry subroutine, if not needed, a return instruction (0C9H) should be placed at 0273H, otherwise any termination code can be added. 20. User subroutine: 0276 - 0278 The U command from terminal mode, and !U in chat scripts cause a call to this location. This can be used to do whatever is wanted, enabling special features, selecting different ports for communication whatever. Note that at 027C is a jump to ilprmt: an inline prompt subroutine. If the user subroutine is invoked from terminal mode, then calling this subroutine will prompt, and read a line of text into the buffer at 0080, it is terminated with a zero byte. If invoked with a !u from a chat script, then the remaining text on the line will be moved to the buffer, creating the impression it had just come from the keyboard. Following the call to ilprmt should be a prompt message, terminated by a null byte. NOTE: if no prompt is required, then two zero bytes are needed. call ilprmt db 'Prompt message\0' call ilprmt db 0,0 are examples. This subroutine should only be called once per invocation of the user subroutine, since a second call when used in a chat script may have unpredictable results. 21. Keyboard map: 0279 - 027B All keystrokes read from the keyboard are passed through the keyboard map subroutine, so that actions like mapping arrow keys to VT100 escape sequences can be performed. When this is called, the value of the key just pressed is in the a register, and the b register is zero. On exit the value in b determines what action is to be taken. If b is zero, then the value passed on to QTERM is whatever vaule is in the a register, so that placing a 'RET' instruction at 0279H causes no effect at all. If b contains 1, then QTERM will assume that the keyboard map routine "swallowed" the character, and instead of passing it on, QTERM immediately polls the keyboard for another character. If b contains 2, then QTERM takes this to mean that the keyboard map routine wishes to output another character without further input from the keyboard. In this case, QTERM passes the current value in a along, then calls straight into the keyboard map routine again, without polling the keyboard. To provide some examples: A. Assume that your system has some function keys that send the following strings: ^A 1, ^A 2, ^A 3, ^A 4, and you wish to map those keys to ^H ^J ^K and ^L, with ^A followed by any other character being mapped to just the second character. The keyboard map would start by looking for ^A, if it saw any other character, it would return it unchanged with b equal to zero. On getting a ^A, it wants to see the next character from the keyboard without sending anything on, so it sets b to 1, and is at liberty to return any value in a. QTERM immediately gets the next key value, and passes it to the keyboard map. If it's one of 1, 2, 3, or 4, then the keyboard map sets a to ^H, ^J, ^K, or ^L as appropriate, and returns with zero in b, otherwise it simply returns the value in a, again with b holding zero. B. Assume you want to do the reverse mapping: ^H ^J ^K and ^L to ^A 1, ^A 2 etc. Here, the keyboard map is looking for ^H ^J etc., passing all other characters unchanged, with b zero. Assume it sees a ^H, which is to be mapped to ^A 1. It sets b to 2 (to say that there is more to come) and returns a ^A in the a register. QTERM will pass the ^A on, and then call te map again, at which point it would return 1, with b set to zero this time: this is because there are no more characters to be sent. C. In the most complex case, assume that ^E followed by any other character is to be mapped to two copies of the character, followed by ^A. In this case, all characters save ^E are passed unchanged, with zero in b. When a ^E is detected, b is returned with 1, to say that the ^E was swallowed, and when the next character is passed to the map, it should be saved, but also returned, however b should be 2. QTERM will process the character, then since b was 2, it will call the map subroutine. The map routine returns the character again, with b set to 2 a second time. On the third call to the map routine, it should return the terminating ^A, with b equal to zero to say all the work is done. 22. ILPRMT subroutine jump: 027C - 027E These three bytes are reserved to hold a jump to the in line prompt subroutine, and should not be overwritten by the patch. 23. Patch area: 0280 - 04FF Since the area provided for the above patches is limited, it may be necessary to use more space. The block of memory from 0280 to 04FF is set aside for custom patches, this can be used if the individual spaces are not big enough. Once all the patches have been made, exit the patch program (usually by typing ^C), and finish up by saving a new copy of QTERM: A>SAVE 69 QTERMNEW.COM In addition, the patch area only can be saved as follows: A>SAVE 4 QTERMPAT.XXX Which will create a 1K file containing all the patches needed to make this particular version of QTERM work. By doing this, when a new release of QTERM needs to be patched, all that is necessary is to read in the new unpatched version with DDT or whatever, then overlay the patch area. This is typically done by typing: IQTERMPAT.XXX to DDT, SID, ZSID etc. to set up the command line to read QTERMPAT.XXX, then follow this with a: R to read it. This should overlay the saved patch area on the new version, hence doing all the patches at once. Then exit DDT with ^C, and do the first save shown above to save the new working version. NOTE: With V4.2 and later, the patch area has grown yet again, so again the overlaying of earlier patches will not work. By and large, overlaying patches in this manner is not recommended, it is far easier to work with the patch sources available, applying them with ZSM and ZPATCH as needed. However, the V4.3 patch area is the same as the V4.2 patch area, so no changes are needed to convert from V4.2 to V4.3 This is a fully patched QTerm disk image specifically for the PCPI Applicard using the super serial card in slot 1 of your Apple II as your terminal connection. You can change the slot number by following these steps: (Only do this if you want to use a slot other than 1) 1. edit QT-PCPIE.Z 2. ZSM QT-PCPIE.Z 3. ZPATCH QTERM.com QT-PCPIE.O 4. Run QTERM.COM Maximum baud rate I have been able to use for kermit transfers is 9600 over a serial cable. To receive a kermit binary file at maximum possible speed with QTerm: 1. Ctrl-\ 2. R 3. kb8 <---kb8 means (k)ermit, (b)inary, (8)-bit file transfers Eric Neilson November 28, 2010e a slot other than 1) 1. edit QT-PCPIE.Z 2. ZSM QT-PCPIE.Z 3. ZPATCH QTERM.com QT-PCPIE.O 4. Run QTERM.COM Maximum baud rate I have been able to use for kermit transfers is 9600 over a serial cable. To receive a kermit binary file at maximum pos-:send͂$pmode#(x(:moderr͂$ilprtUnknown mode ~ f(0l(,͂$unbyp͂$scnswl*$fnbspt$workR ͂$ilprtNo files to send :$xfersz#0{2$btxfx(͂$sendk?͂$xmflgs͂$initx͂$initsn*$mdm7b:$ymdmb(:$longpk2$olp͂$srnxt( ͂$xsfile :$olp2$longpk2$auxfcb ͂$srnxt ͂$can3<͂$xsfile:$obtxf2$btxfÂ$xferd+*@; send.z - protocol send code for qterm .var ipbuf 0x80 .extern send send: call pmode inc hl jr z,modokk cp 'x' jr z,modok ; k & x are the only legal modes (for now) .extern moderr moderr: call ilprt db 'Unknown mode\r\n\0' ret modokk: ld a,(hl) or 0x20 cp 'f' jr z,arefil cp 'l' jr z,arefil xor a modok: push hl ; save pointer push af ; and mode character call unbyp ; step over flags call scnswl ; parse names ld hl,(fnbspt) ld de,work pop af sbc hl,de pop hl jr nz,arefil ; any files found? call ilprt ; tell if not db 'No files to send\r\n\0' ret arefil: ex af,af' ld a,(xfersz) ; get proposed transfer size ld e,4 sizlp: sla e ; shift size around in e rra jr nc,sizlp ; loop till we hit a bit ld a,e ld (btxf),a ; and save it away ex af,af' cp 'x' ; Kermit or Xmodem jr z,sendx call sendk ; send kermit jr xferdj ; and unwrap sendx: call xmflgs ; parse xmodem flags call initx call initsn ; set up screen ld hl,(mdm7b) ; ld a,h ld a,(ymdmb) or l ; batch send? jr z,nosb ; no - just send one file ld a,(longpk) ld (olp),a ; save 1K packet flag sblp: call srnxt jr z,doneb ; loop till all names done call xsfile ; send a file jr nz,xferdj ; terminate on an error ld a,(olp) ld (longpk),a ; reset 1K packet flag jr sblp doneb: xor a ld (auxfcb + 2),a ; set flag for end of transfer jr xjsf nosb: call srnxt ; single file send - get it jr nz,xjsf ; send it if it exists call can3 ; kill the far end xor a inc a jr xferdj ; and return error xjsf: call xsfile ; send single file or batch close xferdj: push af ld a,(obtxf) ld (btxf),a ; reset transfer size to whatever pop af jp xferd erminate on an error ld a,(olp) ld (longpk),a ; reset 1K packet flag jr sblp doneb: xor a ld (auxfcb + 2),a ; set flag for end of transfer jr xjsf nosb: call srnxt ; single file send - get it jr nz,xjsf ; send it if it exists call can3 ;{!~OG(M#~\ @T]HD#~N > &R > T > B >F > E >w  wPX}8~+(##+!*"bj9͈*F !s t~( ! tÄnf ##^#Vh#^#V͈ ͈ ! ! !!?! $| ! Ü! ! h$|(!|͈ !͈ z MD! !x ͈ ! ! ͈ !! |$|! (:r =H!?$( }(':r (>2r V ! *p #"p :r =0!?! N ) ^#V> >>>2r H!?ME*p BH!! $ lV *p #"p !!?V ! *p ##"p H!?$(} H!.V ! *p #"p H:r =ҡo&)' ^#V!/ :!\ 5?} }* } }@(!  2r ! t:r  ! $( V D:r ( !|h!|Q F ..NFe -, nf ͓ Q - nf | ! 1 N! ' gh,, UW !)MD+p+q+w+w+w+w# o 6 +F#r(-! ~ a(*w W W <( !(4! 6(#W !#~++(~5#(!)W !W !$~! !(#~ !%q#p#q#p`iT]6!)]T6O#:O_y#z!$N#^#V)$(DW !W W  DM!9 9W <(/! ~ '  ~W < W <(T\!09!9 W <(! ~ W <(T\! 9T]pT]6  !8B0>: y=+~@+w%. xy(# g x(=8w #!"l"͂F !++!96"! 9N#F#ͱ##Q %( ͺ}ͺN+w+w %(0 4ut^#V# (c(s(x( o(b(Jd(:u(@~(#~_~W0z(> ͺ~(ͺ#|(4  rK^V^ͥ {0:8'͵| ݶ(>-͵z(~( - ͺ ~> (>0ͺ (ͺ z#_*|(|<(s#r"!**V * ^#V# ! :00)T]))_z {= {[ !$F(E#N#Fx 5#]Ts#rW !W >G(!%q#px ++! +q#p#^#Vr+s+++~ L  C ?! ~r 0#r W : W (w>  : >(o& ! ~r #( 5#^4!~:  "!6P W YW #^P6 ! r+s=O "W }    W > W ( | -- * K!$N(wy ~ . V y#N#Fp+q##N#Fp+qO+~ :###W !W !!%p#p#]Ts#r#6i&!$!E! ! !M: {  W  W  ~( (#(x(  `i# E!((#! ( `i!#$ ~# $ (~#z bjz bjz| | !{z8))0??!x(R8 33 +|/g}/o!!9^#V#~#fo! 9F+N+V+^+~+ng!9s{aZPATCH V2.3 - (C) Copyright DPG 1987 Usage: A>zpatch file[.com] file[.o] Bad filename %s Can't find %s .COM.Oorow.$$$.CBKCan't create %s -"^$+>':,^chError - no .dseg / .useg references allowed Error - no external references allowed Error - no .dseg / .useg code allowed Error - bad .O file format NULrNULwCONrLSTwPUNwRDRrCONwO :7(! 8.!8/ѯ27 ).=0.6| 20.~6 +2HwwI!QRʡ!I^#V#utzʡ˜(}!9!sFͩ3ʹ3!F6V_!5~!Fw+..^#Vͣ,!sF(wx9 !: !"H9 *Hut*H^Vut!";0M0Enf$ l: .: 9 !";0}(: !";0K=-2*H#"H1Q!F(#p+PX}8~+(##+BK!9{#~ͳ4w w͡ 6##6##6Z#6`i+#~. #~Z͒42F͎ }M(ͼ)-ʝ4{,:H(2Hy(.on! R( :H.g(\{2sFZ! :^#V.J,J,6 1P ,K ' "͛ SkR/ ͺ.o ͎ }(.s͖,Ý4͒4͎ } ͎ }, z {  Ý4k(:sFO!"R( !bR.(.J,y (.J,By(J*F͎ } R(!R(!R(!R {oJ,Ý4͒4KF͎ }( )| ( ("(C !sFoJ,Ý4͒4͎ } | }8!Ý4͒4͎ } Mz Hk(D!"R(.*FGO!bR(͎ })(.s"F+( -(͖,M͎ }) `i!Ý4͒4!C!8!Q$-2Hgo"H"H"H"H}ʝ4!K=:HO( !AG(!"F!F"F@(<͎ ͎ ^+#V(>m2F^(%!9F<:+/*F| ʹ 2F :H!H4~2%!E!i8!t? 2F !H!";0s{ Fx A!C0L!C0!";0}( loe!C0!";0}($e#:H.,g0"F!";0}2I!HB!EE'6 :H(!E!. oͣ,>/2E!E.. *Hͣ,*H|<(:H_!5~!Fw+ͣ,:H2F:H(_!FR6& KFx(_!F..X!Hnͣ,KFy(!_Շ_!FH^#Vͣ, :H!H(w^!H"H~#fo"H:H2FF:I !";0}(( !C0}<( l2F*H#"H!00"F!E!i8/Feͣ,Ý4*F,,"F&H^+^ee!F"F͎ }, *F"F͎ "F͒4!F~#6 ( @ b:HKHo+|(!:Hƀ #f(~#N#F_!5~2F:!F!V:͈3|(!H~6(!H>$2F!FsF*F"F DM*F,,"F&]T)F:Fw +(*Fo͟-2Jͣ,:F$ !sF*F FFy$( :(&(; F} y* *F"HKFx( n # CF![:!K= ( !R> o͎ }) !J,CF|<CF͎ })G .:J,f,L.G( % .J,.~J,J,/ !!R>W( ! R>_ o.J,J, CFÝ4͒4*F{@O͎ }( (|,, d*F͎ }' =*F~#'"F(E\ ǹ}#!Xw"F I> .q"F}!Xw͎ }(.s͖,O:Hw y(;!_nJ,<( .2Fgo2E"H> 2H!H4J#{,~ 2HÝ4͒4KF͎ }(>,CF I , !Hf˦(yG͎ }G !Hxwzʝ4 f,|( .v͖,!H*HN#Ff, r+s &͒4n}00+O^V 00sr _yOiy Z<2IT}ͼ4x 7O^V ͼ40 810 sr _yOiy <2I!n:q3$(!u9nÝ4!I45WKF|͎ }( GW|(!z(x}(oCFͬKF͎ !{:q3:| 1DMͬ!: N#FR! 8#8(+8( 0#CFKF͎ }( "G|( C4x(x(4 4CF%KF͎ }|(&(^ %a4%Z4%S4CFRKF͎ }+(- RRRCF͐KF͎ }*(/(% ͐,͐3͐,CF͎ ~ :^#V:I(/͎ }(@ ͎ }- ͎ }(@ ͎ }} v!Hy͎ :HG[H}@( [^+|(W#F#^#V͎ }- E͎ }!H@( 5^+|(/#~ #N#FB͎ }} .g͎ }].e.u͖,!͐K4͐C4͐D4͐ͥ*|.u(*F}2F!:q3)͒4*F+#~ ( ("F(; .Ý4!OD́$|J!YH́$|(y(!Q s *F#^"F!Q p!QF63:Qa8H`o)5^#Vz(:~85#F#!Q #0~ ^#V.bˢ(.SFÝ40.Ý43|!*F#"FFx(#y' #x\ ǹE#~ #"Fh&!"x=( |(/&()>(#<(iÝ4y=(!( >(< *F#"FÝ4KF! T\ 0   .b( .x( .  08( 018'0 3_ :0 .c͖,CF"F.Ý4:H 2E2Fog"H+"H> 2H:H!H w*H#"H͎"|4"J#:H i#| .!H~ .n͖,4#.͒4:H(*H|2F!H~(w2H2H!H"H{,>2H2H!H"H{,>2H2H!H"H{,{,f,*Hs#r!H:H<2F:H ͎ }%!+͒4*H";R.n 9.*|%!:Fʹ3!A!8$-|("H*H"H!"H.f͖,Ý4͒4!9͎ }%o+|.m N!F!ͩ3 y("͎ }(* *!F&i)))!ͩ3͎ },(η  y( .p͖,Ý4 qy(&i )))!6.!H4!!Fͩ3.!F͛3[H+)"-'ECF͎ }. ͎ } {'J#.CFKF͎ }(H {ݾ()))!!F͈3|  ( ({ƀ*FB(>`E*FB( `(o͇)͇)F'!H5.͇)Ý4͒4!9͎ }%!Ff,*H^#Vr+sFo*!H &Ý4!HH(H(!H~4 :H%.*| 2H &!H.)"}ESF(=(!H5 )} !H~(5*H+"Hgo"H"H"H<2H2H2H!H"H!Q~#. 6L:H .n͖,f,*H^#Vr+s|(>!H4n&hFw͒4*Hg( hFNQ(.i͖,%f,*H^#Vr+s|(>Gy(pÝ4͒4*Hg( hFNQ(.i͖,6y 4Ý4!H54.i͖,͒4*F#"F*H~w#"H[HR !"H3|< <2HÝ4*H&|!hFF .͒4͎ }. &͎ } !R ͎ } 5 J#!+ &..Ý4͒4*F~# ( ("F" >x(6*F^#"F3}"(): x=  ~}(hFw!:q3$(! hgFwgoÝ4͒4o+|(~@(.m͖,@nf+ ##^Vs#rÝ4o+|~@> ##^#VSF: y=+~@+w%. xy(# ͳ4x(=8w #!"Ql"QK/!"Q6"QK/!"Q"QK/͒4!++!96"Q! 9N#F#z/##Ý4 %( ̓0}̓0N+w+w %(0 4ʹ0ut^#V# (c(s(x( o(b(Jd(:u(@~(#~_~W0z(> ̓0~(̓0#|(4C4 rKQ^V^,{0:8'~0| ݶ(>-~0z(~( - ̓0 ~> (>0̓0 (̓0 z#_*Q|(|<(s#r"Q!0*Q*Q-2* ^#V# ! :00)T]))_-2z {= {[;!$F(E#N#Fx 5#]Ts#rͣ4!ͣ4 >G(!%q#px ++! +q#p#^#Vr+s+++~ L 0 C ?!;~r 0#r ͣ4 :!; ͣ4 (w>  :!;>(o& !;~r #( 5#^4!Q~:!; "!Q6P ͣ4Yͣ4#^P6 !;r+s=O "ͣ4}    ͣ4> ͣ4(h4| --2*;K!$N(wy ~ . -2y#N#Fp+q##N#Fp+qO+~ :###ͣ4!ͣ4 !!%p#p#]Ts#r#6i&!$!E! ! !M:!; {  ͣ4 ͣ4h4Mͣ4*K;BDM*;B8!";~ͳ4w#~ͼ4w#h4~( (#(x(  `i#h4E!((#!p4 (#og!#p4~# p4(~#}ͳ4o&}!0 ,}!A -}!4-DM!x 80)C4LyC4E{ (y <)!+|/g}/o|!#|g}o|g}o|g}o!!9^#V#~#fo! 9F+N+V+^+~+ng!9sQ{a[A ͒4~ ݶ (^V !R0)#:zʝ4nf Rn f 3DM^VNFx  qpx5|N F ('+w#I5nf7R0 bkB DM !5n f ";Hzsm file [-l] [-s] [-x] Can't create %s Error - temp. file lost .ZBad filename %s OLST$$$$$SYMCOMorowCan't find %s Out of memory Symbol table full -L ignored: inline code -S ignored: errors in source -S ignored: .lib encountered -X ignored: errors in source -X ignored: .lib encountered -X ignored: undefined labels %d Errors @@@@@@@@@@@@%sLabels: Variables: Macros: %d Errors 0005 &BDOS %04x #END %04x %s :$+>^"'9 f u   < <  #  - 2 7   ( :%s;%s&%s.->#end@&z~Ptnrbfe  ><D 6 S [ c k s p {[!-~+Error - inline code not allowed in macros %%%%%%%%%%%%%%.I*?;.NULrNULwCONrLSTwPUNwRDRrCONwQ undefined labels %d Errors @@@@@@@@@@@@%sLabels: Variables: Macros: %d Errors 0005 &BDOS %04x #END %04x %s :$+>^"'9 f u   < <  #  - 2 7   ( :%s;%s&%s.->#end@&z~Ptnrbfe  ><D 6 S [ c k s p {[!-~+Error - inline code not allowed in macros %%%%%%%%%%%%%%.I*?;.NULrNULwCOMMANDS WORK DEV NZCOM  w!$ $ $ A+gB,9gC-gD.gE/ gF0SgG1gH6gI2&gJ3lgK4g A3BygC)oD*gE5LgFgGoHsIfgJoKs A8r gB9 gC7 gDD gE oF  sGL gH gI gJ YES NO RUN-TIME OPTIONS ("O" COMMAND) A) Single file replace query ............................. B) Multiple file replace query ........................... C) Archive replacement query ............................. D) Verify query .......................................... E) Verify default if no query or answer .................. F) Suppress display of SYS files ......................... G) Sort files by name (YES) or type (NO) ................. H) Filter VIEW and PRINT output .......................... I) Set attributes in copied files ........................ J) Use attributes of destination file (if one exists) .... K) Set archive attribute in destination file ............. MACRO RELATED CONFIGURATION A) Macro leadin character (HEX) .......................... B) Allow immediate execution of macros 0-9 ............... C) User Register for tagged # storage .................... D) Erase ZEX file after use .............................. E) Use path to search for CMD file ....................... F) Use root if no path search for CMD file ............... G) Fixed user area for CMD file .......................... H) Fixed drive for CMD file (A=0) ........................ I) Use root of path for ZEX batch file ................... J) Fixed user area for ZEX file .......................... K) Fixed drive for ZEX file (A=0) ........................ FILE TAGGING CONFIGURATION A) Start wild tag from file pointer ...................... B) Start group tag from file pointer ..................... C) Remember file tags between shell runs ................. D) Use root of path for tag file ......................... E) Fixed user area for tag file .......................... F) Fixed drive for tag file (A=0) ........................ GENERAL CONFIGURATION G) Log in current directory with "Z" command ............. H) Upper case for display of file names .................. I) Clear screen on exit .................................. J) Time delay on screen refresh after error .............. ......... F) Fixed drive for tag file (A=0) ........................ GENERAL CONFIGZ3ENVZF11 $$|<MACROCMD:ZEX LEADIN:|"||crlf||lf|------> ZFILER Group Macro <------|crlf||lf||"| MACROFCB:ZFILER ZEXTAGFILE:ZFILER TAGZ3TXTZFILER11ENG YNXbu <<<<Q#-<Gy 0?JW\o~%6Vd '5KRhsz   +.>-,>2)?20?s3?0|2,?6Cg4($4? 3x<(@y~<>:ͫ+!?͇6(1Shell Stk Full͡:CU?\͟8͡:CW?*2:g,,1 ͫ+-3 7 ͑7(B6;**6-:*!*:]/ N2I!i2, ::,2:f(͉/(+.*.͝0͗((:)?(,> ͫ+2>+.͍.-0͐-*2.?2-?͍0^4,ˆ2?GR0͍0:(&>#(&:( x08:8R0!́0H!%A$[$:)G>6*K?͕&*K?KW?͎:7:=$/=*[6?2:(N2 !i2!2,+* ~!*?~#~4{3?: {3?͗(!,(! !~ȸ#(#98 !́0=~#fo8 1No Shell Stk>81Sh Stk too small~7 1No Cmd BufN21Bad TCAP͢!^#V!1O!F!fY( ((72>*?"?02>2)?!u0>+,!>? ~ q#*?"?*?"??0*?Ϳ':>(*?+(5*?+('!>ͅ U/*?+ :)?(+.2)?-0::> *?"?:)?>=?0*?"?ͪ/-0:?0ͳ/-0*?"?:?0*?*?"?U/*?++.-0:?0*?*?"?U/*?++.-0:?0`-0:?0̀-0:?08 ̀I8+"?*c?$"c?*?*?+*?A[?+̀8?08&`-0:*c?}>8*?"?ͪ/8"?*c?%"c?*? *?+ ͪ/*?"?Ϳ'/[?*?+ /*?"?0*?"?# *? pý*? >#6':20?>20?:??0*? ~#+2#-~=12!u0 ,T#(U= !u0r?+,*?"?:8(*?"?y :9 *?"?[?*?+(*! "?!r?ͅ *?+y(~# ( #(p*?"?# ~?( #*?"?*c?"?*?"?Ϳ'*?+(*? ~' 6#*?"?*?"c?4:( *W?3 }8*U?R0]-1>E,=CU?z!0{2:+7=}(!Á0)7 ! Á0*-1T2 ?!"u0A,=:(&.("͌,(78=CW?7+>2 ?*Q?###~:( #\.=~ ( : ?7+g,!$́0!&́0!(́0=:02?:12?N2!*͢ 2!,͢A80 +o&~/w-!0:?!1:?(/+!'i2+$>N(>Y=:1/21-(qk*?#-!.͢>2-=ͷ<>K==!0Á0**#?*?"?!"?:A?o*?+/o!2u0 , (\2(.A8[!?0U2͉>KW?G͎:.8$.*:"?S+v+.KW?͎:S+=͍0=!4́0=!6{0,ͬ(=!8́0!17=:?/2?͗( 2!@͢ 2!͢ 2!B͢ 2 !D͢ 2 -!F͢ 2 !͢ 2 =!H͢1 A^E1A^X1=^S <-+-> ^D1 B^1Bv 2!J͢ 2!L͢ 2!N͢ 27!Pâ2-?2.?N2>2?>H2-?2.?R0=:-? !R{0 ,ͬ(=2-?!"9?!T́0*?#-2?>2?>2-=2?**9?8(# ͈͂:.?/!VÁ0!XÁ02?2[?^8 (ͭ;H:-=2?{ 2[?:-=(>:?:?<2?د2?!Z͢, = >2? A>=2?:5?G:?<2?:?G:6?G>2?:7? ;;> =:?( , !1͊!?͟:-= !1͊*9?#"9?ͷ.ͭ_{  {:=2?KW?͎:!"?*G?"E?*E??(=(:,!ĺ0#:?( *E?~=(#*E?"E?*?#"?*?+ >2?*G?"E?@:?*A,( ͌,( 8CY?R0=!ń0=!ṕ0=KY?͎:r?<$M#r?s?:?Ī:.?(:?A :-(@:,(8:+(0͍0*Y?|A=}\<>:=!s?-!r͢ ,#ͬ(#!r?_(r?r?2?,KW?Î:*!~́0#!r?~!́0 ~($R0#-!͢ ,R0#ͬ( ~# ˾#!˴"?*? w#!́02.?2-?5:? R0=2.?**=X:e?=*?[?+ "?ë[?+ 0[?+ "?0*c?"?ͳ/> =*?"c?"?R042e?**:.?(:?M( :?V !u0-!?_?< ͂#>2e?:.?*? *?+( ͼ+S?*?+"?R0!u0-!͢ ,͍0#ì*? >0͍0*?#-!͢ ,ͬ(=R0!u0r?+,!s? ~#?(rr?<( M !́0!r?? ͼ+*?r? ͫ+ ~([?!? #怶w ~(?4!́0 2/?2>$!u0:G,2? G:x(08:8$=G !C!=""@"Y"!"!!"![$ A$:=$+.*K?"M?2S?"[I?*M?͕&w=2-?:>$#6 #6 #6"M?!S?4#:-?=:>$(>,2?"N2*K?Z!8!c~#(8[K?!"(45((#G:!8x89N2͡:H>Ay~<>:!!D:)G:S?6'+/K:J8͎::# r?!1 ͼ+0͇0!"1?*?"?*?"?ͫ'(# q*1?"1?*?"?k!͢*1?[!u0 ,ͬ(V=2?"*?"?*c?"?2/?*?"?ͫ'(# *? > >2/?#6'*?"?*?"c?:/?͍.(!́0'!́0=!́0!́0!́0!́0*?"?*c?"??0!"c?*?"?2-?=2.?;/ͫ'[?*?+#1$#*? ~# [?*?+8*?+8U/+.-0͐-:G:?,#!08:!C(:P(bV(dM("A(0D(/X:e?#*? #6.#5:? #5#5:?#*? >w?>w###:.?,,KW?͎::.?=*?"??0*?"c?-0:G:?,ȸGx=R02=$x!1? ʹ+";:5(>5 %K:J8͎:: R0!1-!͢#͎:9?8O2%8 Dq>( 8 7 >#(Y8 % (! >2:, 8 2>$ͬ%KW?͎:!́0!%:=$=+/y 0>^=y@=>2=$N28 8(2 (! +2 12= ( > = y !͢KW?͎:*?#-KW?͎:!͢,q>!/=g$*G? ("($( w#8 w8'(1"(-#6#"I?[G?($(w#p&(6#"K?*I?~͍08 G^ 8 <_@8/$ 8 +* 2=$N2!i2'("( ( (=>E,G~(#x'ʽ%"ʽ%%q>&y;'D'U'H'R'C'=:.?G:>$2>$K?C?$w$(#K?$C?w&q>y;'P 'F0'N'TT'$'!&*':.?:-?6G#6O#!;6$#w#w#(:>$(%'ͫ'# :>$w#''6:#(:>$(L'ͫ'# :>$w#͝'6.#(:>$(p'ͫ'# :>$w#*?  ((:>$(͝'ͫ'# :>$w#*?# (Ϳ'[?+ ~*? "?KU?KW?͝4 !1 (:X?Aw#:W?~<:V?':U?*?|~ #*]?!yg)0>g>!or$s%# [_?O*]? ~W$^S_?^*?"?S+*?"?"?"G?!"?>g,2h2|\< <2T?*?|=ƀo&98(:0(  ~> 8#:\w[? ͼ+> w#"?:;?ږ)*?#"?\< ͗((*?"?"G?*?+|(s!)+0+"?W*?7;"?*?[?}o|g"?!"?*?+0/*?"?|<(*?ͥ)8)[?z/W{/_*?8*?#*?8(*+*G?{ozg8 +| <<2T?"?2T?)):1( )" ) #) * <;[? Nwy#*#~G:T? !Á0= !Á0!Á0*?? ͼ+?";|>"]?"Q?"?$."C?ͥ7~2!{0 ,=ͬ:/8 =2?!͢,= O>w#A,( .=~ ȷR0=*Q?p#6 ^#6V>~8] ̀,ʹ+~ (/!1>Ϳ4 7?ͱ7( 7=8703͝4(3~ (%:>w(_ 98 !u0A,( , 7 ~ q>#7 :)? ,*?# ͫ+>2)?+8s+r8^+V!+0=w#> =12|A=}DM\<>:=͝4(~ (=#!͗͢(!?i2*?#ͪ->.=~8 >_+2=12#!?-ɯ> O->.=~-=#G:0?xA[  0R0*?>2-=ͷ20?"?*?*?+1  "?ͼ/*?[?+8͕/!"c?*?[?+ /!"c?*?"?"?[?+0"?!"c?i2/*c?i2/0/*? *?+/*c?}>0o"c?|!g"c?!D*c?$|8}!o"c?*c?+(}(o"c?{:?*c?i21 !:=?!:w#*?"?*?"?Ϳ'*?+*?+(!?ͅ ! 6'Ϳ':7ȯ2&?*?"?*?"?E1*?"?:&?9ͫ'# S1(:&? ́182&? *?#~8#> 8> 8K:J8͎:,!] \";File: --> Page HELP ZFILERZFILER CMD???????????noname 21~#( ( =+2122V#^#i2:@*@U2* @* @U2* @*@3*@:@W~(3*@[@( ͉2:@,3%-%( \ =q>D(K2(B3(:.(-+('>(R(I(N ү$,}lg0g=e.||d3 3008z0 A=~( #\ ~#=zO*J@|( +~(GR3 X3 "J@|("?|(&~!8!@ 333!@6# s#r#6#s#r#s#r#~#\ #͹7 N#F7-84 ͸8~ɯ͸8###~ ##~0!~Z #~3 !~ #~( ͙;Program Requires Z System7###!~4~͹7(#g4( ~ (=#7 ~(# ~ # 2:@;@4::@( 5 Y5Y5 5(͉5( q>#> ͱ7(͡:CC@7G~A802D@#͉5(+58͉5( 58#͉5 7O ͪ5802C@KC@7(( #( N+F4~!8=_.:,<>ȷ;ɯ~͉5(#58Wy888 8 8Oy70 ?͡:CF@CH@7( ;< ~(H6!6##(CH@͎:KF@͎:KH@$}2E@7:E@(H6##x y KF@~$(=G#~+$O8O>(~>(X6 ( w#8>(J~#( ><8~(>.8x=(K+x( w+ 8w# 7###~70XÈ87###w*J@|("~#fo( ~7~7(FG~(#9͑7~;( (>;( ~#(6~7s#r~# >*J@^#V*J@~#fo~#fo~*J@1.x8$7GR*J@,x8"*J@~#fo-x8Î8 Î8*J@0~_8XG*J@^#V#~#Fѷ+x8*J@)^#V*J@ ^#V͡:|(~(͡:$(G#~#$(O*J@|(~*J@w*J@^#V#~ѷ"J@͡:(G! N͎:*J@~( 7^#V*!959/239/*9t9/249/!9Ø9*99!9:239*9#:249!L@:39w!@:49w~> 4"A####$";:> X:> *A6#6#!&s#rT:~> "A####$";:(>~>(s"A##^#Vz>(e2Ar+s+5 6#!&s#rX:( *A##6#6:A*A2A~>('"A##^#V:Ar+s+5 6#!&s#ro:(>~(6"A~(+"A#~(>9~(9*A6####͸:> *A(;[A:*A(;[A;!;Y ;X;; ;OG;(;;< ;< ;< ;;w w#<կ2A!"A<0*A"A0>2A)*A:A(7F#"A##( ###*A#~#fo͟;~#(3 ( ,< ( ( (  y( yG>GO> => => = <^=@= 0 Oy&dr<& r 7'<<d< <}<<0<= ˀ7!-=~=F=. =.=O:g,=CA$կ=~#:( ,(U!8Q~q>A8A8<2A#~:(4? 2A#~:('G~#:(08 0OxGx 02A~: #~,(!0 >?=KA=~. #===(* >?#=#> ~q>!8=_.:;,<>ɾ~#(U>(+~#(U> HAz +| O !h>y  a{_!A}($.2A>E(0>>E(:A x8 X>:A!>%:A_<=<<=)Z3ENVZF11 $$|<MACROCMD:ZEX LEADIN:|"||crlf||lf|------> ZFILER Group Macro <------|crlf||lf||"| MACROFCB:ZFILER ZEXTAGFILE:ZFILER TAGZ3TXTZFILER11ENG YNXbu <<<<Q#-<Gy 0?JW\o~%6Vd '5KRhsz  +.>-,>21?28?s;?0|24?6Co4($ 4? 3x<(@y͆<>:ͫ+!?͏6(1Shell Stk Fullͩ:C]?\ͧ8ͩ:C_?*2:g,,1 ͫ+-3 7 ͙7(B7;**6-:*!*:]/ V2I!q2, ::,2:f(͋/(-.*.ͥ0͗((:1?(,> ͫ+2>-.͏./0͓-*26?25?͕0f4,ˆ2?GZ0͕0:(&>#(&:( x08:8Z0!͉0H!%A$[$:)G>6*S?͕&*S?K_?͖:7:=$/=*c6G2:(V2 !q2)2,+* ~!2?~#~ 4{;?: {;?͗(!,(! !~ȸ#(#A8 !͉0=~#fo8 1No Shell Stk>81Sh Stk too small͆7 1No Cmd BufV21Bad TCAP͢!^#V!1O!F!fY( ((72>*?"?02>21?!}0>+,!>? ~ q#*?"?*?"?E0*?Ϳ':>(*?+(5*?+('!>ͅ W/*?+ :1?(-.21?/0::> *?"?:1?>=E0*?"?ͬ//0:E0͵//0*?"?:E0*?*?"?W/*?+-./0:E0*?*?"?W/*?+-./0:E0`/0:E0̀/0:E08 ̀I8+"?*k?$"k?*?*?+*?4[?+̀8E08&`/0:*k?};8*?"?ͬ/8"?*k?%"k?*? *?+ ͬ/*?"?Ϳ'/[?*?+ /*?"?0*?"?# *? pý*? >#6':28?>28?:?E0*? ~#32#-~=92!}0 ,T#(U= !}0z?+,*?"?:8(*?"?y :9 *?"?[?*?+(*! "?!z?ͅ *?+y(~# ( #(p*?"?# ~?( #*?"?*k?"?*?"?Ϳ'*?+(*? ~' 6#*?"?*?"k?4:( *_?3 }8*]?Z0]-1>E,=C]?z!0{2:+7=}(!É017 ! É0*-#1T2?!"}0A,=:(&.("͌,(78=C_?7+>2?*Y?###~:( #\6=~ ( :?7+g,!$͉0!&͉0!(͉0=:02?:12?V2!*͢2!,͢ A80 +o&~/w-!0:?!1:?(/+!'q2+$>N(>Y=:1/21-(qk*?#-!.͢>25=Ϳ<>K==!0É0**#?*?"?!"?:I?o*?+/o!2}0 , (\2*.A8[!?0U2͑>K_?G͖:.8$.*:"?S+v+.K_?͖:S+=͕0=!4͉0=!6̓0,ͬ(=!8͉0!17=:?/2?͗(2!@͢2!͢2!B͢2 !D͢2 -!F͢2 !͢2 =!H͢1 A^E1A^X1=^S <-+-> ^D1 B^1Bv2!J͢2!L͢2!N͢27!Pâ25?26?V2>2?>H25?26?Z0=:5? !R̓0 ,ͬ(=25?!"A?!T͉0*?#-2?>2?>25=2?**9?8(# ͈͂:6?/!VÉ0!XÉ02?2c?^8 (ͭ;H:5=2?{ 2c?:5=(>:?:?<2?د2?!Z͢,<)2> = >2? A>=2?:=?G:?<2?:?G:>?G>2?:?? ;;> =:?( , !1͊!?͟:5= !1͊*A?#"A?Ϳ.ͭ_{  {=!c?4~ !c?4:6( 0 ( (=!q21 EOF !q2!\͢, :6?ľ25?26?!^͉05Z0=!2?ͼ+2?!"g?** !?{?ͫ+?:=2?K_?͖:!"?*O?"M?*M??(=(:,!l͉0#: ?( *M?~=(#*M?"M?*?#"?*?+ >2?*O?"M?@: ?*A,( ͌,( 8Ca?Z0=!n͉0=!p͉0=Ka?͖:z?<$M#z?{?:?Ī:6?(:?A :-(@:,(8:+(0͕0*a?|A=}d<>:=!{?-!r͢ ,#ͬ(#!z?_(z?z?2?,K_?Ö:*!~͉0#!z?~!͉0 ~($Z0#-!͢ ,Z0#ͬ( ~# ˾#!˴"?*? w#!͉026?25?5:? Z0=26?**=X:m?=*?[?+ "?ë[?+ 0[?+ "?0*k?"?͵/> =*?"k?"?Z042m?**:6?(:?M( :?V !}0-!?_?< ͂#>2m?:6?*? *?+( ͼ+S?*?+"?Z0!}0-!͢ ,͕0#ì*? >0͕0*?#-!͢ ,ͬ(=Z0!}0z?+,!{? ~#?(rz?<( M !͉0!z?? ͼ+*?z? ͫ+ ~([?!? #怶w ~(?4!͉0 27?2>$!}0:G,2? G:x(08:8$=G !C!=""@"Y"!"!!"![$ A$:=$-.*S?"U?2[?"[Q?*U?͕&w=25?:>$#6 #6 #6"U?![?4#:5?=:>$(>,2?"V2*S?Z!8!c~#(9[S?!"(45((#G:!9x99V2ͩ:H>Ay͆<>:!!D:)G:[?6'+/K:R8͖::# z?!1 ͼ+0͏0!"9?*?"?*?"?ͫ'(# q*9?"9?*?"?k!͢*9?[!}0 ,ͬ(V=2?"*?"?*k?"?27?*?"?ͫ'(# *? > >27?#6'*?"?*?"k?:7?͏.(!͉0'!͉0=!͉0!͉0!͉0!͉0*?"?*k?"?E0!"k?*?"?25?=26?;/ͫ'[?*?+#1$#*? ~# [?*?+8*?+8W/-./0͓-:G:?,#!08:!C(:P(bV(dM("A(0D(/X:m?#*? #6.#5:? #5#5:?#*? >w?>w###:6?,,K_?͖::6?=*?"?E0*?"k?/0:G:?,ȸGx=Z02=$x!1? ʹ+*;:5(>5 %K:R8͖:: Z0!1-!͢#͖:9?8O2%8 Dy>( 8 7 >#(Y8 % (! >2:, 8 2>$ͬ%K_?͖:!͉0!%:=$=+/y 0>^=y@=>2=$V28 8(2 (! 32 92= ( > = y !͢K_?͖:*?#-K_?͖:!͢,y>!/=g$*O? ("($( w#8 w8'(1"(-#6#"Q?[O?($(w#p&(6#"S?*Q?~͕08 G^ 8 <_@8/$ 8 +* 2=$V2!q2'("( ( (=>E,G~(#x'ʽ%"ʽ%%y>&́;'D'U'H'R'C'=:6?G:>$2>$K?C?$w$(#K?$C?w&y>́;'P 'F0'N'TT'$'!&*':6?:5?6G#6O#!;6$#w#w#(:>$(%'ͫ'# :>$w#''6:#(:>$(L'ͫ'# :>$w#͝'6.#(:>$(p'ͫ'# :>$w#*?  ((:>$(͝'ͫ'# :>$w#*?# (Ϳ'[?+ ~*? "?K]?K_?ͥ4 !1 (:`?Aw#:_?͆<:^?':]?*?|~ #*e?!yg)0>g>!or$s%# [g?O*e? ~W$^Sg?^*?"?S+*?"?"?"O?!"?>g,2h2|\< <2\?*?|=ƀo&A8(:0(  ~> 8#:\w[? ͼ+> w#"?:C?ږ)*?#"?\< ͗((*?"?"O?*?+|(s!)+0+"?W*??;"?*?[?}o|g"?!"?*?+0/*?"?|<(*?ͥ)8)[?z/W{/_*?8*?#*?8(*+*O?{ozg8 +| <<2\?"?2\?)):1( )" ) #) * D;[? Nwy#*#~G:\? !É0= !É0!É0*?? ͼ+?*;̈́>"e?"Y?"?$."K?ͭ7~2D?~2E?8#~2>?#~2=?#~2??*R@~#2?*K?"?!"k?72?: 2C?K_?*2?|(%x0 y( 0Q7 (P7*(=ɯ*e?+K_?+K]?[_?s#r#q#p+N#F#^#VS]?C_?Ö:8 7. K]?͖:q#py2.0  :4?K_?͖:<2\##~2J?#~2I?##^#V"G?*G?#8W+}(z i`:J?()= "?~#ͫ+~#z{|g}o98G*&}=>!̓0 ,=ͬ:/8 =2 ?!͢ ,= O>w#A,( 6=~ ȷZ0=*Y?p#6 ^#6V">~8] ̀,ʹ+~ (/!1>4 7?͹7( 7=8703ͥ4(3~ (%:>w(_ A8 !}0A,( , 7 ~ y>#7 :1? ,*?# ͫ+>21?+8s+r8^+V!+0=w#> =32|A=}DMd<>:=ͥ4(~ (=#!͢92͗(!>q2*?#32Ͳ->.=~892=32#!?-ɯ> O->.=~-=#G:8?xA[  0Z0*?>25=Ϳq2*?H+0!â1 P-:28?0/>28?"?*?*?+1  "?;/*?[?+8͗/!"k?*?[?+ /!"k?*?"?"?[?+0"?!"k?q2/*k?q2/0/*? *?+/*k?};0o"k?|!g"k?!D*k?$|8}!o"k?*k?+(}(o"k?{9o%"k?:?*k?q21--> :?*k?q21 !:E?!:D?Gq292)2q2c0âc0ÜZ0â!É0!q2:D?G)2:7ͩ:C/?͉18 *?"?0(09\:K/?͖:!!? 8y>w#*?"?*?"?Ϳ'*?+*?+(! ?ͅ ! 6'Ϳ':7ȯ2.?*?"?*?"?M1*?"?:.?9ͫ'# [1(:.? ͉182.? *?#~9#> 9> 9K:R8͖:,!] \*;File: --> Page HELP ZFILERZFILER CMD???????????noname 21~#( ( =32922V#^#q2: @*@]2*@*@]2*@*@#3* @:@W~(#3*@[ @( ͑2: @43%-%( \ =y>D(K2(B3(:.(-+('>(R(I(N ү$,}lg0g=e.||d 3 3008z0 A=~( #\ ~#=zO*R@|( +~(GZ3 `3 "R@|("@|(&~!8!@ 333!@6# s#r#6#s#r#s#r#~#\ #7 N#F7-Ç8 4 8~ɯ8###~ ##~0!~Z #~3 !~ #~( ͡;Program Requires Z System7###!4~7(#o4( ~ (=#7 ~(# ~ # 2B@C@4:B@( 5 a5a5  5(͑5( y>#> ͹7(ͩ:CK@7G~A802L@#͑5(+58͑5( 58#͑5 7O Ͳ5802K@KK@7(( #( N+F4~!8=_.:,<>ȷ;ɯ~͑5(#58Wy888 8 8Oy70 ?ͩ:CN@CP@8( ;< ~(P6)6##(CP@͖:KN@͖:KP@$}2M@8:M@(P6##x y KN@~$(=G#~+$O&8O>(~>(X6 ( w#8>(J~#( ><8~(>.8x=(K+x( w+ 8w# 7###~70XÐ87###w*R@|("~#fo( ~7͆7(FG~(#9͙7~;( (>;( ~#(6͆7s#r~# >*R@^#V*R@~#fo~#fo~*R@1.À8$7GR*R@,À8"*R@~#fo-À8Ö8 Ö8*R@0~_&8XG*R@^#V#~#Fѷ+À8*R@)^#V*R@ ^#Vͩ:|(~(ͩ:$(G#~#$(O*R@|(~*R@w*R@^#V#~ѷ"R@ͩ:(G! N͖:*R@~( 7^#V*)9=9/2;9/29|9/2<9/)9à9299)9 :2;929+:2<9!T@:;9w!@:<9w~> 4"A####$*;:> `:> *A6#6#!&s#r\:~> "A####$*;:(>~>(s"A##^#Vz>(e2Ar+s+5 6#!&s#r`:( *A##6#6:A*A2A~>('"A##^#V:Ar+s+5 6#!&s#rw:(>~(6"A~(+"A#~(>9~(9*A6####:> *A(;[A;*A(;[A;!;Y ;X;; ;OG;(;;< ;< ;< ;;w w#<կ2A!"A<0*A"A0>2A)*A:A(7F#"A##( ###*A#~#foͧ;~#(3 ( 4< ( ( (  y( yG>GO> => => =< ^=@= 0 Oy&dz<& z<<ͧ<00=|&d͜<& ͜<͡<ͧ<00|.,0g} @(> 7'<<d< <}<<0== ˀ7!5=~=F=. $=.$=O:g4=CA$կ=~#:( ,(U!8Q~y>A8A8<2A#~:(4? 2A#~:('G~#:(08 0OxGx 02A~: #~,(!0 >?=KA=~. #===(* >?#=#> ~y>!8=_.:;,<>ɾ~#(]>(+~#(]> HAz +| O !p>y  a{_!A}($.2A>E(0>>E(:A x8 X>:A!>%:A_<=<<=):  ZFILER HISTORY   Version 1.1 Jan 9, 1993 Jay Sage  1. Tex message wer gathere int bloc i orde t suppor languag overlay a explaine i m articl i Th Compute Journal Englis an Germa version ar supplie wit th initia release. 2. The CFG configuration file for use with ZCNFG was extensively overhauled. 3. The source code is now being released. Versio 1.0 Ja 9 199 Ro Friefel Ja Sage 1. Adde optio t filte VIE an PRIN output I ON th filte remove th hig bit the print onl alphanumerics CR an LF I assembl optio EXPTA i false TAB ar als output Th filte settin ma b toggle fro th Option command. 2. ZFILEҠ ca remembe al th fil tag whe i return afte comman o macr run Th fil lis i writte t temporar dis fil (ZFILER.TAG i configurabl directory) an automaticall rea back Thi featur ca b turne off i desired fro th Option command. 3. Grou Tag/Unta an Wil Tag/Unta ma b separatel se t wor o th entir ring o jus fro th fil pointer Grou Revers alway work o th entir ring Toggle ar o Option list Lis macro no sof ta file jus lik regula grou macros. 4. Th Option lis i no 1 item long Thes flag wer previousl save wit th fil mask s onl 1 item coul b reliabl saved The ar no bit-encode i th las tw byte o th shel stac entry (Th NOԠ USESTˠ assembl optio ha no bee recode t reflec thi change It limit wer lon ag exceeded.) 5. Z33OP ar fla byte copie fro ZCP t loca buffer use fo controllin passwor checking Previou versio wa checkin th wron bits Sinc th loca buffe i loade a runtime i wa move t DSEG.  Version 1.0p May 16, 1991 Rob Friefeld  --- BUGS FIXED: 1. Cop t existin r/ fil failed Th destinatio attribute wer neve checke i "Se Des Att optio wa false 2.O dis full partiall copie fil i close befor deletio s tha dis spac repor i no correct. 3. I th ZE batc fil i locate i specifi D no o th path ZEؠ won' fin it Althoug th MACROCMD patc poin coul b altere t "ZE DU:ZFILER" Z wil no d thi automaticall afte creatin th .ZE file A result th MACROCM entr MUS us lette comman nam i yo patc i t ru somethin othe tha 'ZEX'. --- ALTERATIONS: 1. DINIT called on exit. 2. Installatio optio availabl t eras finishe ZFILER.ZE o shel run Yo ma wan t se thi fla afte debuggin you macr comman file. 3. Clear screen on exit (EXITCLS) is config option now. 4. Grou Ta an Grou Unta operat fro th fil pointe t th en o th list rathe tha o th entir list (Thi i restoratio o somethin Z use t do. --- NEW: 1. ZF10P.CF configuratio fil fo us wit ZCNFG.COM Handle al th configuratio excep macr strin installation. 2. Grou Macr put tagge fil coun int (configurable use registe # befor running Th macr ca the dow coun an tak som additiona actio afte i ha ru o eac tagge file Th intende us fo thi i t creat librarie o crunche file wit on macr command Fo example th script 1 ! $d$u:;$!crunch $f M1:;reg m5;if reg 5= 0;$"Library DU ":; lput $"Library Name: " M1:*.* +1;era M1:*.?Z?;fi;$h: crunche tagge file t fixe director M1 (o th RA͠ disk) make librar ou o the (leavin roo fo mor file wit inpu fo librar nam an location the erase al젠 th "crunchettes". Fo consistency singl macro pu "1 coun i th use reg Ther i n cod t enforc th 0.. use registe range i cas yo wan t us 18..3 (10-1 ar reserved 16-1 ar use b othe programs). REǠ mus b Type o Type (o RCP fo th ZE G "$! t ru CRUNC repeatedly.  Version 1.0o September 21, 1989 Carson Wilson  --- Implemente lis capabilit fo grou macros I ZFILER.CM scrip begin wit comm (befor o afte th leadin "! shel paus parameter) ZFILEҠ wil alway expan th macr directl t ZCPR' multipl comman line I th cas o grou macro $P $F an $ parameter ar expande t lis o al tagge files separate b th characte followin th leadin comma Fo example th script !ech th tagge file ar $F display "TH TAGGE FILE AR " followe b lis o th tagge file separate b o th consol (assumin ECH i vali ZCP command) ZFILEҠ the prompt fo keypres befor returning Pleas not tha thi macr buffer th entir lis o tagge file t CP/M' comman lin buffer whic i onl 12 byte i length Th abov comman therefor normall cause "Comman to long erro i mor tha abou file ar tagged dependin o th length o th tagge names. --- Mad th escap characte an th character t quot wit i whe writin grou macr comman t ZE o SUBMI file installabl (se ZFCNFN.Z8 fo details) Escap characte i currentl "$" an quote character ar currentl "$" "|" an "<" a require b ZE versio 5. --- I i no possibl t answe ZFILER' "Logi [DIR][:MASKݠ promp wit ". (sam a ":" t lo i al file i th curren directory Previousl thi logge i al file a use zer o th curren drive Th Logi comman no als seem t accep ".afn instea o ":afn". --- Shel bi se whil waitin fo use commands the immediatel rese whe comman ke i received Thi shoul allo Bridge Mitchell' AԠ comman schedule RS t interrup ZFILE a i woul th CC whil ZFILE i promptin fo commands. --- Fixe bu whic prevente an Grou command fro operatin whe th configuratio byt MACFLA wa patche t false. --- Remove cod whic attempte t us th ZCP Environmen t determin ho man line o tex t displa wit th command a thi wa onl partiall implemented resultin i difficult o terminal wit ove 2 rows Tex line no hard-code t 22 s ZFILE shoul wor o an termina wit 2 o mor scree rows. --- Fixe smal bu whic cause "Publi Fil Error messag堠 t disappear. --- Control- i no a alia fo control- (jum t fil again) fo us wit termina definition (TCAPs whic defin control- a a arro key. --- Ide fo futur versions i woul b ver difficul t allo fil rin sortin base o fil date (woul nee t stor dat stamp wit ring requirin majo rewrite) I woul b relativel simpl t allo th Logi an startu command t accep an matc file t datespec though...  Version 1.0n March 20, 1989 Carson Wilson  --- Adde $ scrip paramete t clea th scree during an rebuil i afte scrip prompt Usag i $"$*..text.. Promp tex appear a th to o cleare screen. --- I anticipatio o th ZE 4.0x '$ an '| ar no th onl character whic ar quote whe ZFILE build th ZFILER.ZEؠ file I the appea i ZFILER.CM scrip thes character ar quote wit leadin dolla sig whe ZFILER.ZEؠ i built Al othe character ar passe "a is t th ZE file Thi mean tha yo canno us ZE directive suc a $1 |crlf| etc dynamically bu thi wa neve th intentio o th interfac betwee ZFILE an ZE - th ide wa simpl t provid multipl execution o ZFILE comman script. --- For efficiency ZFILER no longer resets disks under Z3PLUS. Version 1.0m January 24, 1989 Carson Wilson --- Cop an Mov command no wor properl wit Z3PLUS an th curren 12-hou tim show a th to o th scree unde Z3PLUS. --- Pat file conflict ar n longe reporte unde ZSDOS Thi produce problem whe user trie t backu directorie alon th path ZSDO publi conflict ar stil reported. --- Grou Mov an Grou Cop erro message ar no sustaine unti th use strike key rathe tha disappearin immediately. --- Prompt i script ma no contai contro character a "^x wher i an characte fro t z. --- Th dolla sig i no a "escap character fo scrip prompts an ca b use t includ th $ ^ " an character i prompts. Examples: Script Result $"Enter name or $^C: " Enter name or ^C: $"Type $"//$" for help: " Type "//" for help: --- Mov an Grou Mov no us th optio men selection whe movin file instea o alway copyin fil attributes. --- Cleaned up help screen. --- T sav debuggin tim hav change th defaul optio men setting t m preferences.  Version 1.0l September 13, 1988 Carson Wilson  --- Bug i th Grou Copy Grou Move an Grou Delet command whic occurre whe th use aborte certai prompt wit control-à hav bee corrected. --- bu whic resulte i errati behavio i ZFILER.CM wa no foun wa fixed. --- Th unsQueez comman wa remove t reduc progra size Sinc fe ne file ar squeeze an UNCRUNC no support unsqueezin i seem preferabl t expor thi functio b callin UNCRUNC wit ZFILE macro A additiona benefi o thi techniqu i tha singl comman no ma b use fo bot uncrunchin an unsqueezing ZFILE wil stil displa an prin squeeze files --- ZFILEҠ no perform consistentl whe invoke wit ZCPR' G o JUM commands Previou version faile whe mor tha on ڠ o macr comman wa use afte invokin ZFILE wit GO/JUMP. --- (DateStampe version only) I DateStampe (BDOӠ functio 12 real-tim cloc i available th curren 12-hou tim i printe t th lef o th "ZFILER nam a th to o th screen. --- I runnin unde ZSDO o ZDDOS dis reset ar skippe fo al command excep Space Thi considerabl increase performanc o flopp dis systems. --- Th environmen addres i loade fro locatio 10 a ru tim fo compatibilit wit ZCP 3. systems. --- Th performanc o th Delete Copy Move Archive an Renam command ha bee improve b minimizin dis accesses. --- Th Spac comman no reset individua drives Thi i mor efficien an make th comman practica wit virtua drives. --- Th Spac an Filesiz command no wor properl afte printin files. --- ZFILEҠ no check fo an report Publi o Pat conflict whe Copying Renaming Moving an Archivin file unde ZSDOS I addition file create wit Copy/Move/Archiv ar alway se t Privat (hig bi o f2=0 t avoi possibl ZSDO Publi conflicts. --- Single file View no longer affects file tags. --- Single file Copy or Move no longer skip to the next file afterwards. --- (DateStampe version only) I available Copy/Move/Archiv us ZSDOS' mor efficien Ge Stam an Se Stam functio call t preserv fil datestamp acros copies Th olde metho䠠 o datestampin i retaine fo non-ZSDO systems. --- Rename error messages no longer disappear before they can be read.  Version 1.0k May 3, 1988 Jay Sage  --- Fixe som mino bug i th cod (slipu o usin D  wher intende D t allocat spac fo longe string t b patchable)  Version 1.0j May 1, 1988 Jay Sage  --- Improve flexibilit o grou macr operatio b puttin thre item i th configuratio page Th strin MACROCM i null-terminate strin wit th grou macr comman line Th strin MACLEADST i null-terminate strin o character t b writte a th beginnin o th grou macr batc fil (ZE o SUBMIT) Th strin MACROFC mark th fil contro bloc fo th fil wit th grou macr commands. --- Fixe bu i th expansio o fil name i macr parameters Th cod wa no maskin ou fil attributes I happene tha thi di no matte excep fo blank wit attribute set bu no th cod i correct. --- Ther i a additiona configuratio optio (las byt i CONFI sectio jus befor OP string tha allow fil name t b show i lowe case Se th byt t F fo uppe case fo lowe case.  Version 1.0i April 14, 1988 Jay Sage  --- Th sourc cod t 1.0 wa los i dis crash Th feature hav bee recreated Th operatio wit G o JUM ha bee improved. --- Th shel stac entr no include th explici director wher th fil wa foun i Z3 o late i running.  Version 1.0h September 16, 1987 Jay Sage  --- Fixe bu i th cod fo loggin i th displaye director whe th ڠ comman i executed I wa no workin correctl unde standar ZCPR3 o BackGrounder. --- Adde option t contro ho th ZFILER.CM macr fil i located choic o th optio men allow on t tur o o of searchin o th entir pat (includin curren directory) I tha optio i off eithe th roo director o specifie director wil b used dependin o th configuratio o th program. --- ZFILE ca no b reexecute usin th G command borrowe tric fro A Hawley Whe invoke originally ZFILE check th nam use t invok it I th nam i 'GO' the defaul nam store i a interna buffe i used Otherwise i th nam i copie t tha buffe fro th externa FCB believ thi chang wil allo ZFILE t b reconfigure usin th 'O comman an the clone usin SAVE. --- mor extensiv use configuratio fil ha bee provide whic comprise section o ZFHDR.Z8 (th definition file an ZFMAIN.Z8 (th beginnin o th mai code) A before reconfiguratio ca b carrie ou b editin ZFCNFH.Z8 an assemblin i t HEؠ file The "MLOA ZFNEW=ZF0LD.COM,ZFCNFH wil instal th changes.  Version 1.0g August 23, 1987 Carson Wilson  --- Revers video dim o '_ ar no use o th statu lin t displa al curren fil attributes 'r read-onl tag wer interferin wit th taggin command an ar n longe used. --- Corrected bug preventing view/unsqueeze of squeezed system files. --- Correcte bu causin squeeze read-onl file t b unsqueeze a syste file whe copyin attributes. --- Made invalid command display show actual command. --- Remove ZFILEҠ comman promp o exi t avoi confusio betwee syste an ZFILER' 'Z command --- Fixe initia hel scree fro comman line. --- Added space before 'OK' after copy/unsqueeze.  Version 1.0f June 12, 1987 Jay Sage  --- Adde rudimentar grou macr capabilit b havin ZFILEҠ construc an invok ZE script.  Version 1.0c April 27, 1987 Jay Sage  --- Mad change fo compatibilit wit ZCPR33 No o manua invocatio ZFILE return t th comman processo i ZE i runnin s tha ZE ca continu t suppl command eve i ther ar n mor command o th curren comman line.  Version 1.0b January 13, 1987 Jay Sage  --- Adde DateStampe support No o fil copie an moves th tim an dat stam o th sourc fil i carrie t th destination. --- Modifie handlin o directorie wit 'L (o 'N' command Th cod no respect th DUO fla i th environment I i i set the an attemp t lo i director i checke agains th maxdriv an maxuse value i th environment I th reques passe tha test the th director i logge i eve i i ha bee specifie usin DIҠ for an eve i passwor i associate wit it I th requeste director i beyon th maxdrive/maxuse rang o i DUO i no set the th name director registe i checked Password ar checke a neede usin improve cod (shorte an䠠 mor accurate). --- Adde smal bi o cod t th ZFILE initializatio t chang th J opcod a 100 t RE s tha ZFILE canno b reru usin th "GO comman (thi ha ba consequences sinc th shel stac entr the woul hav th comman "GO store i it!).  Version 1.0a January 1, 1987 Jay Sage  --- IMPORTANԠ CHANGE T mak ZFILEҠ consisten wit othe scrip processin programs th defaul paramete designatio characte ha bee change fro '% t '$' Th paramete '$' a alternat fo 'P (complete䠠 Pointed-to-fil堠 spec du:name.typ wa therefor eliminated Thes change wil requir editin o an VFILER.CM fil whe convertin t ZFILER.CM (th macr fil use b ZFILER). --- Modifie th wa th shel stac entr i used I no keep bot th origina director an th requeste director o th stack Thi ha tw majo advantages B keepin th origina director o th stack o exi wit th 'X comman ZFILE ca retur t th director fro whic i wa originall invoke n matte ho man othe directorie hav bee logge i b us o th 'Z comman o macro Keepin th requeste (displayed director o th shel stac avoid th proble wit passworde director o havin t reente th passwor ever tim ZFILE returne fro macr o 'Z operation. --- Adde featur wit 'Z comman t allo avoidanc o th "Strik an Key messag o retur t ZFILER I th comman lin entere wit th 'Z comman begin wit space the shel waitin wil b disabled. --- Fixe bu cause b th G command Onc tha comman wa used a archivin fla wa se an neve cleared late G comman the use th group-archiv promptin option instea o th group-cop options Thi fla i no rese befor al grou operations. --- Adde optio o fil cop an unsqueez function t allo th destinatio fil attribute t b se t thos o fil tha i bein overwritten I ther i n suc fil an th attribut settin optio i engaged the th sourc fil attribute wil b used. --- Change cod fo fil viewin s tha scrollin wil sto a th en o fil (carriag retur an spac wil no caus th nex fil t start) Onl control- o control- wil b effectiv a th en o file Als adde control- optio t g straigh t th en o fil withou paging. --- Change th cod tha allow interruptio o grou operation s tha carriag retur wil no caus a abor (man user answe som prompt tha requir n retur wit retur an foun tha grou operation worke onl o th firs file) An characte othe tha carriag retur wil abor mas operations. --- Mad i possibl t ge th macr hel scree b pressin th leadi characte secon tim i respons t th 'Macro promp (thi i muc easie an mor natura tha enterin th '# command). --- Fixe bu i th macr hel displa tha wa echoin contro character t th screen Thes ar no filtered On ca no ente ES ES t se th macr hel scree an thir ES t retur t th fil display. --- Adde ^ʠ comman t jum t nex fil tha matche th las mas specifie i "J command Thi allow on t jum easil t th secon o thir fil tha matche simpl fil spec. --- Fixe bu i "M an "GM command tha allowe sourc fil t b delete, eve whe cop ha no bee performed. --- Adde "GR grou revers functio t revers fil tags Tagge file becom untagged untagge file becom tagged an soft-tagge file remai soft-tagged. --- Cleane u lo comman ("L o "N") Remove specia handlin o answe "x fo director nam (n longe needed an change erro handlin code. --- Adde configuratio optio t automaticall lo i th displaye director fo th "Z comman i th use numbe i les tha 16 I thi optio i configure in the th dis syste i rese befor th comman lin i ru (thi i th disadvantag o usin thi option). --- Made rename command preserve all file attributes. --- Adde option t cop attribute wit file an t alway se th archiv attribut i th destinatio file I th fil i bein moved th attribute ar alway copie an th archiv bi i lef a i was i th fil i bein unsqueezed th attribute ar no copie an th archiv bi i se accordin t it optio setting. --------------------------------------------------------------------------- See the VFHIST.DOC file in VFILER Version 4.1 for the history of the development of VFILER. ; ------------------------------------- | | | ZFILER, The Point-and-Shoot Shell | | | ------------------------------------- Z >> Introduction to Z-System Shells F >> What is ZFILER for? I >> Invoking ZFILER  C >> ZFILER Commands  D >> The ZFILER Display S >> Single-File Built-In Functions O >> Th Optio Comman G >> Built-In Group Commands J >> Credits P >> Pointe Command H >> History of ZFILER N >> Othe Non-Fil Command M >> ZFILER's Script Macro Facility :Z  Z-System Shells  Z-Syste shel i progra tha take ove th user-inpu functio o th comman processor Th wa thi work i tha th Z-Syste environmen include specia are i memor calle th shel stac wher shel comman line ca b kept Wheneve th ZCPR comman processo i finishe processin al th command tha hav bee passe t i i th comman lin buffe (anothe specia are i memory) i check th shel stack Onl i n comman lin i presen ther doe th comman processo itsel promp th use fo th nex comman line I ther i a entr i th shel stack the tha comman lin i ru instead an th use n longe see th comman processo directly. Som shells lik th EAS o LS histor shell whil makin bi chang i ho th syste i actually running mak relativel littl chang i ho i appears t run comman promp i stil presented an on enter command mor o les a usual Th differenc i tha on ha mor capabl edito a one' disposal an th command ar save t histor fil fro whic the ca b recalled edited an ru again A w shal see th ZFILE shel present th use wit dramaticall differen use interface. :F Wha i ZFILE For  Historically ZFILEҠ i descendan i th lin o fil maintenanc utilitie lik SWEE an NSW (henc th "filer par o th name) Fil maintenanc i generall concerne wit copyin files lookin a thei contents renamin them erasin them an s on ZFILE provide al thes function an more. ZFILER' immediat paren wa VFILER wher th "V stoo fo video Th TCA facilit i Z-Syste make i eas fo program t tak advantag o th full-scree capabilitie o whateve vide displa termina happen t b i us a an time I contras t application unde CP/M Z-Syste program nee no b configure t matc th terminal I was therefore natura t buil fil maintenanc progra i whic th file ar displaye graphicall o th screen Whe decide t explor som ne direction wit VFILER t avoi confusio gav th progra th ne nam ZFILER fo Z-Syste Filer. Th fil maintenanc task describe abov woul no requir shell Makin th progra shell however allow i t g beyon th function include i th program' ow code Becaus shel ca pas comman line t th operatin system ZFILE ca perfor an operatio tha th compute i capabl of Lik men system however i help th use b generatin th command automaticall a th touc o key. Whe ZFILEҠ i running th scree i fille wit a alphabetize displa o th file i specifie directory an ther i pointe tha th use ca manipulat usin curso contro keys I w ha mous t mov th pointer i woul b littl lik havin Macintosh Actually i woul b lo more I woul b lik havin mous wit fift buttons Onc th pointe ha bee positione o file pressin ke (o tw o three cause an o grea numbe o function t b invoke t ac o tha file W wil describ ho thi work i mor detai shortly. :I Invokin ZFILE  Sinc ZFILEҠ perform full-scree operations prope Z-Syste termina descripto (TCAP mus hav bee loaded I yo hav no don that o i yo hav selecte termina tha doe no suppor al th function ZFILE needs the ZFILE wil giv yo a erro message Th TCAP unfortunately doe no includ informatio abou whethe di o revers vide i use b th terminal an sinc thes tw mode fo highlightin region o th scree ar s different ZFILEҠ i mad availabl i separat version fo each. Ther i als a optio t hav eithe fou o fiv column o fil name i th display Personally prefe th four-colum version whic give a uncluttere scree wit plent o restfu whit spac an ver distinct easy-to-spo pointer Other thin i i mor importan t b abl t se th maximu numbe o file o eac scree an prefe th five- colum display. The ther i th issu o suppor fo tim an dat stampin o files ZFILEҠ contain th cod fo preservin th tim stamp whe file ar copied S a no t inflic th overhea o thi cod o thos wh hav no implemente DateStampe (thoug the shoul d that!) ZFILE i als provide i version wit an withou th DateStampe code. I w supporte al combination o th abov choices ther woul b eigh differen version o ZFILER Typically th distributio librar contain fou o fiv o th combinations Fo example five-colum fil displa i no particularl compatibl wit revers vide highlighting becaus th revers vide o tagge file run int th reverse-vide pointer. Whe yo ge ZFILER yo hav t choos whic versio yo prefer extrac i fo th distributio library an giv i workin nam (som o th earl Z-Syste shell ha t hav specifi name bu yo ca giv ZFILE an nam yo like) prefe th nam ZF sinc i i ver quic an eas t type an wil us tha nam i al th example tha follow. Th genera synta fo invokin ZFILE is: Z filespec wher "filespec i standar Z-Syste ambiguou fil specificatio (tha is i ma contai th wildcar character "? an "*") Th filespe select th director are an th file fro tha are t b include i th scree display. Variou part o th filespe ca b omitted I n filespe i give a all the "*.* fo th currentl logge director i assumed Similarly i onl director i specifie (e.g. B o 3 o B3 o WORK:) the al th file ("*.*" i tha director ar displayed I fil name/typ i included the i wil serv a mas o th file t b displayed Thu "Z WORK:*.DOC wil sho onl file o typ DO i th director WORK:. Th director an fil mas ca bot b change fro inside ZFILEҠ a wel usin th "L o LO command brin thi u no becaus ther i confusin differenc i th wa th "L comman works VFILEҠ originall allowe on t chang onl th director an no th fil mas fro insid th program T sav th use th troubl o typin th colo afte directory it inclusio wa mad optional Sinc user becam s accustome t thi shorthand i wa carrie ove int ZFILER Becaus o this i yo wan t chang onl th fil mask yo mus remembe t preced i wit colon Otherwis you mas wil b take a th nam o director (whic generall result i a erro message). I i no possibl t answe ZFILER' "Logi [DIR][:MASK promp wit ". (sam a ":" t lo i al file i th curren directory Previousl thi logge i al file a use zer o th curren drive Th Logi comman no als seem t accep ".afn instea o ":afn". On brie asid fo programme types ZFILE ca b loade fro an directory On o th specia feature o Z-Syste sinc versio 3. o th comman processo allow progra t fin ou bot it ow nam an th director fro whic i wa actuall loaded perhap a th resul o pat search ZFILEҠ build th shel stac entr t invok ZFILEҠ unde it curren nam fro th director i whic i i actuall located Thi sometime make i ru faster an i allow ZFILE t b invoke fro director tha i no o th searc path. :D Th ZFILE Displa  Th mai ZFILE displa contain thre parts A th to o th scree ther i messag line I th versio o ZFILE tha i curren a th tim a writin thi colum (versio 1.0L) thi lin contains fro lef t right th followin information: (1) th director tha ha bee selected i bot D an DIҠ (name directory format; (2) th indicato "[PUBLIC], i tha director i ZRDOӠ publi director (i yo don' kno wha thi is jus ignor it); (3) th curren tim o da i DateStampe o on o th ne DOS (ZSDO o ZDDOS i running; (4) th program' officia nam an version; (5) th tex strin "Curren File:"; and (6) th nam o th fil currentl bein pointe t (thi change a th pointe i moved). A th botto o th scree i comman promp o th form Command (/=Help X=Quit)  Th curso (don' confus thi wit th fil pointer i positione afte thi comman promp t indicat tha ZFILE i waitin fo yo t pres key. Th cente 2 line o th scree sho th selecte files Th characte strin "--> (onl "-> i th five-colum display float betwee th row o fil name an designate th so-calle "pointed-to file Man o th ZFILE command automaticall operat o thi file. Wha w hav describe s fa i th mai ZFILE screen bu i i no th onl one A th comman promp suggests pressin th slas characte (o "? i yo prefer bring u hel scree tha summarize th built-i command o ZFILER Thi hel scree replace th fil displa bu leave th statu lin a th to an th comman lin a th bottom excep tha "/=Help change t "/=Files" A yo might therefore guess pressin slas agai wil tak yo bac t th fil displa screen. ɠ d no kno i anyon make us o thi feature bu al ZFILE comman operation ca b invoke fro th hel screen Althoug yo canno se th fil pointer yo ca manipulat i i th usua way an yo ca tel wha fil yo ar pointin t fro th nam displaye a th uppe righ o th statu line. :C ZFILE Command  Basically th command fal int severa classes On classificatio reflect wher th cod fo th comman resides Ther ar tw categories: A Built-I Commands B Macr Commands Clas include th function fo whic th cod i par o ZFILER Macr command ar lik aliase i tha the generat comman line tha ar passe t th comman processo fo execution Thes command mak ZFILE shell secon classificatio depend o wha th comman act upon Thre categorie describ th objec o th commands: 1 th pointed-t file 2 grou o tagge files 3 neithe o th above Hel fo command i clas A3 residen command tha d no perfor an actio o th files ma b foun b selectin fro th mai menu Help for the others may be found by selecting  N . :P Pointe Command  Clas A include th command tha mov th fil pointer Thes ar show o th hel screen an wil no lis the here On ca mov th pointe t th nex fil o th scree o t th previou on (wit wraparound) up down left o righ (wit wraparound) t th firs o las fil o th curren screen o t th ver firs o ver las fil o thos selecte b th fil mask On ca advanc t th nex scree o file o t th previou screen Obviously som o thes function wil b redundan i som cases suc a whe al th selecte file ca fi o on scree (thin wha happen whe ther i exactl on fil selected). ZFILEҠ learn fro th TCA th contro character sen b an specia curso key o th keyboar (provide the sen singl contro characte an provide th TCA ha bee se u correctly) an i make the generat th up down left an righ functions I th curso key generat contro code normall use fo anothe function the tha functio wil b los (th curso key tak precedence) Tha ca caus problems On solutio i t eliminat th definitio o th curso key i th TCAР an simpl us th defaul WordSta diamon key fo thos堠 functions Alternatively on ca patc ZFILE t us differen key fo it ow functions bu thi i no straightforwar t do an wil no describ i here. Th "J (Jump comman allow yo t jum t fil tha yo name Thi i ver hand whe ther ar man file i th displa o whe th fil yo wan i no o th curren screen Pres th "J key an yo wil b prompte fo fil name Yo d no hav t ente th exac name ZFILE automaticall convert wha yo typ int wildcar filespec an i find th firs fil tha matches Fo example i yo ente onl "Z followe b return thi i equivalen t "Z*.*" an ZFILE wil mov th pointe t th firs fil tha start wit "Z" Similarly i yo ente ".D" ZFILE wil mov t th firs fil wit fil typ tha start wit "D". Th "J functio i ver handy however ther i more Man peopl ar no awar tha yo ma pres control- t repea th sam searc an fin th nex matchin file Th searc wil wra aroun fro th en o th file bac t th beginning Thi functio i no liste o th hel scree becaus coul no fin roo fo it. Control- (TAB i a alia fo control- (jum t fil again) fo us wit termina definition (TCAPs whic defin control- a a arro key. :N Othe Non-Fil Command  Som othe command tha d no ac o file are X L A S E H Z an O "X" a th comman promp remind you i use t exi fro ZFILER Beside terminatin th curren executio o th program i als remove ZFILER' entr i th shel stac (i i di not yo woul jus reente i righ away). W alread spok abou th "L (Log comman earlier Th "A (Alphabetiz o Arrang o Alph sort toggle th wa i whic th file ar sorted namel alphabeticall b th fil nam o b th fil type Th "S (Status comman prompt yo fo dis driv lette an the tell yo th amoun o spac remainin o tha disk. Th "E comman (refres scrEE -- kno that' stretchin things bu "R wa alread used redraw th screen Yo migh thin tha thi woul neve b needed bu ther ar tw circumstance i whic i come i ver handy On i whe ZFILE i bein use o remot system I i tru tha ver fe RAS mak ZFILE available bu d o Z-Nod #3 I yo ge som lin noise th scree ca becom garbled The th "E ke ca b use t dra fres screen. Th othe circumstanc i whic th "E comman save th da i wit Backgrounder-i i yo d no hav scree drive ( don' fo m Concep 10 termina -- neve go aroun t writin one partl becaus al th program us frequentl hav redra ke lik thi one) simpl defin BGi ke macr specifyin "E a th "redraw key sav th ke definition t ZFILER.BG an attac tha definitio t ZF.COM The wheneve swa task bac int ZFILER BGi simulate m pressin th "E key an th scree i redrawn Thi ofte give faste scree refres tha on get wit full-fledge scree driver. Th "H (Help comman generate macr comman t invok th Z-Syste HELР facility T tel th truth hav no use thi an don' eve remembe precisel wha i does woul hav t loo a th sourc code. Th "Z (Z-system comman prompt yo fo command an whateve yo ente i passe o t th Z-Syste multipl comman lin buffe fo execution Whe tha comman lin i complete ZFILEҠ i reinvoke automatically. Whe yo us th "Z command yo wil normall b logge int th director tha i currentl displayed However thi wil no alway b possible ZFILE allow yo t selec directorie wit use number fro t 31 Unles yo ar usin versio o ZCPR3 o ZCPR3 wit th HIGHUSE optio enabled yo canno lo int use area abov 15 I tha cas ZFILEҠ wil pu yo i th director you wer i whe yo invoke ZFILER I an case th comman promp wil indicat th director fro whic you comman lin wil b executed. Sinc command yo ru usin th "Z functio ma pu som informatio o th scree tha yo woul no wan ZFILEҠ t obliterat immediately ther i fla se tha signal ZFILE t promp yo an t wai fo yo t pres ke befor puttin u it display Her i ti fo advance users I yo ente you comman lin wit on o mor leadin spaces thi shell-wai fla wil no b set an ZFILE wil retur withou you havin t pres key Th leadin space ar strippe fro th comman lin befor i i passe t th comman processor Thi mean tha yo canno us leadin spac t forc invocatio o th extende comman processo (ECP) yo hav t us th slas prefi instead spac an slas wil forc invocatio o th EC an wil disabl th shell-wai flag. Th堠 fina comman i clas A i th "O (Options command Informatio regarding it can be found in the  O  menu. :S Single-Fil Built-I Function  No let' discus th command i clas A1 th built-i command tha ac o th pointed-t file Thes ar invoke b pressin on o th followin keys whos meanin i indicate i parentheses à (Copy) (Move) (Delete) (Rename) (View) (Print) (Fil size) (Tag) an (Untag) Som o thes ar self-explanatory an wil no discus them. Th "C comman copie fil t anothe director unde th sam name i doe no allo on t giv ne nam fo th destinatio fil (however yo ca d tha wit macr command) Th "M comman doe no reall mov file i copie th fil an then i th cop wa successful delete th origina file I i reall combinatio o "C an "D" Movin fil thi wa i inefficien i th destinatio director i o th sam driv a th sourc file macr comman tha invoke a ARUN alia ca ge aroun thi limitatio (an almos al othe ZFILE limitations). Th "V (View an "P (Print command no hav switchabl filte whic onl passe printabl characters carriag return an lin feeds. Th ta an unta command ar use t selec grou o file o whic operation ca b performed Tagge file ar indicate i tw ways specia characte ("#" i place afte th fil nam i th display and i th termina support vide highlighting th fil i highlighted. Tw relate command ar (Wil tag an (Yan back?) "W allow yo t ta o unta group o file designate b a ambiguou fil spec Afte tagge file ar operate o b th built-i grou command describe below th ta marke "# i change t "' ( sof tag) Th "Y comman change th sof tag bac int har tag s tha furthe grou operation ca b performe o thos files. ZFILEҠ no remember al th fil tag whe i return fro macr o ڠ comman (i write temporar file ZFILER.TAG t configurabl director whic contain th fil list). :G Built-I Grou Command  Grou command ar initiate b pressin th "G (Group key Th comman promp a th botto o th scree change to Command (/=Help X=Quit Group (A,C,D,F,M,P,R,T,U,V) Fo no w wil conside onl th built-i grou function (clas A2 an wil tak u grou macr command (clas B2 nex time. Excep fo th fou function describe below th letter invok th sam actio a th individua comman correspondin t tha letter bu th functio i performe o al th tagge files W wil no discus thos further Not i particula tha th key "A an "R" however hav grou functio tha i completel differen fro th individua function. Th "U an "T grou function d no ac o th tagge files the chang th tagging Th forme untag al files th latte tag the all. Grou Tag/Unta an Wil Ta ca b independentl se t operat fro th fil pointe t th en o th ring rathe tha o th entir ring Grou Tag/Unta see t b th mos usefu i a th star a th fil pointer Us th Option comman t contro this. Th "R grou functio i anothe on tha doe not strictl speaking ac o th tagge files I reverse th tags taggin th file tha ha bee untagge an untaggin th one tha ha bee tagged Thi ca b ver hand i severa circumstances Fo example yo migh wan t cop al th file excep two I i easie t ta thos tw an the t revers th tags A anothe example yo migh wan t cop som o th displaye file t on diskett an th other t secon diskette ɠ d thi frequently begi b taggin th one t g t th firs diskette The grou cop ("GC" the t th destinatio diskette Next yan bac th tag usin th "Y comman an the revers th tag wit "GR" No ɠ ca grou cop th res t th secon diskette. Th "A (Archive grou comman i ver hand fo automatin backups Whe i i entered th tag ar remove fro an tagge fil whos archiv fla i set A result onl file tha hav bee modifie sinc th fla wa las se wil remai tagged I addition th "A grou comman automaticall initiate grou cop operatio bu wit on specia feature Afte th fil ha bee copie successfully th archiv fla o th sourc fil i se t indicat tha th fil ha bee backe up. Unde late version o VFILER th grou "A comman automaticall tagge al unarchive files unde ZFILE i untag th archive ones Thi differenc i ver important Wit VFILER yo wer force t bac u al th file selecte b th VFILE fil mask Unde ZFILE yo ca selec th file tha wil b candidate fo backin up I yo wan th achiev th sam functio a unde VFILER jus ta al th file firs wit "GT an the archiv the wit "GA" O th othe hand i yo wan t exlud BA file fro th backup yo ca "GT al files unta th "*.BAK file usin th "W command an the us th "GA command. Afte yo ente th comman "GA" yo wil b prompte fo destinatio directory Yo d no hav t suppl one I yo simpl ente carriag return th cop operatio wil b skipped an yo wil b lef wit tag o th file tha nee t b backe up Yo ca the us macr functio t bac the u i specialize way suc a crunchin (compressing the t th backu dis (instea o copyin the a the are o puttin the int librar o th backu diskette Th macr technique require t d thi ar i th FILE Scrip Macr Facility section. :O Th Optio Comman  Whe th optio comman lette "O i pressed specia option scree i displayed Eleve operatin characteristic ca b change fro men wit th followin appearanc (approximately): A singl replac quer Y B grou replac quer Y C archiv replac quer N D verif quer Y E verif defaul Y F suppres SY file Y G sor b fil nam N H se copie fil attribute Y I us des fil attribute Y J archiv destinatio Y K searc pat fo CM fil N W wil explai th meanin o eac o thes option i moment Firs fe word abou th mechanics Whil th option men i displayed pressin th inde lette a th lef wil caus th settin o th correspondin optio t b toggled an th ne stat wil b show i th colum a th right Th listin abov show th initia stat o th option i m persona versio o ZFILER Whe yo ar finishe togglin options jus pres carriag retur t retur t th mai ZFILE menu Thes optio setting ar store i th ZFILE shel stac entr an wil thu continu i effec throug al ZFILE operation unti th comman "X i use t terminat th shell. Th firs thre option concer ho ZFILE respond whe copyin (o moving file an fil o th sam nam alread exist i th destinatio directory Ite applie whe individua file ar copie (command "C an "M") ite applie whe grou cop i performe (command "GC an "GM") an ite applie whe performin a archivin operatio (comman "GA") I th optio i "YES" the ZFILE wil promp on befor existin file ar erase an giv on th chanc t cance th operatio fo tha file leavin th existin fil intact I th optio i toggle t "NO" the existin file wil b overwritte withou eve message. Th nex tw option affec th verificatio o th copie fil i th destinatio directory Ite determine whethe o no th use wil b aske abou verification I thi optio i se t "N" the th stat o optio Š wil determin whethe o no verificatio i performe o fil copies I thi optio i se t "Y" the befor eac copy move grou copy o grou move ZFILE wil pu u th promp "Verif (Y/N)?". Th nex tw option affec th wa file ar displaye o th screen I ite i se t "Y" the file wit th "system o SY attribut wil b suppressed tha is no include amon th selecte file o whic ZFILE acts Thi i reasonabl choic fo thi option sinc th mos commo us o th SYӠ attribut i t mak th file disappea fro consideratio durin fil maintenanc an displa operations Ite o th option men determine whethe file ar sorte firs b nam an the b typ o vic versa Changin thi optio i presentl equivalen t th "A comman fro th mai ZFILE comman menu. Th nex thre option concer ho fil attribute ar treate whe file ar copied On possibilit i t creat ne file wit clea slat o attribute (tha is al attribute reset no read-only no SYS no archived) Thi i wha wil happe whe optio i se t "N (bu not optio J whic ma overrid this) Whe th attribute o th destinatio fil ar t b set the ca b se i tw possibl ways I fil o th sam nam existe i th destinatio directory the it fil attribute coul b use fo th cop tha replace it Thi i wha wil b don i optio ɠ i se t "Y" I optio i se t "N o i ther wa n matchin fil i th destinatio directory the th attribute wil b se t matc thos o th sourc file. Optio ca se specia overrid fo th archiv o ARà attribute I th optio i se t "N" the th AR attribut i treate jus lik th othe attribute accordin t option an I I optio i se t YES the th destinatio fil alway ha it AR attribut set. Ther wa a on tim grea dea o controvers ove th wa th AR attribut i handle unde ZFILER A on tim i wa alway reset s tha th destinatio fil woul b marke a no backe up Anothe schoo o though asserte that o th contrary th fil wa backe up sinc ther wa cop o i o th sourc dis fro whic th fil wa copied Tha latte argumen mad considerabl sens i th cas o copyin file fro maste dis t RA dis befor wor session Her i wa certainl importan t star wit al file marke wit th AR attribut s tha on coul easil tel a th en o th sessio whic file ha bee modifie s tha the coul b copie bac t th permanen storag medium. Al i all neve understoo thi controversy Bot approache clearl hav merit an sinc ZFILE support both sa n reaso fo al th argument I futur versio o ZFILER thin woul lik t ad fla wor tha woul indicat whic drive shoul automaticall se th AR fla whe th optio i se t YES Tha way th optio coul b mad t appl t RA drive only. Th fina ite o th optio menu optio K determine ho th macr comman fil ZFILER.CM (se discussio below wil b located Ther ar tw choices I optio i se t YES the ZFILE wil loo fo i firs i th currentl displaye director an the alon th entir ZCPR searc path Thi optio i usefu i on want t hav differen macr comman file tha appl t specifi director areas Alternatively i optio i se t NO the ZFILEҠ locate th CM fil withou usin th path Dependin o ho ZFILE i configure (thi wil b discusse anothe time) th fil wil b sough eithe i th roo director o th pat (th las director specifie o th searc path o i specifi drive/use are code int ZF.COM Thi alternativ result i faste operation especiall i th specifie director reside o RA disk. Th option controlle b th optio men ca als b permanentl change i th ZFILE progra fil usin patchin utilit lik ZPATCH I th firs pag o th file yo wil se th asci strin "OPT:" Th eleve byte followin thi strin contai th startu value fo th eleve options Patc byt t 0 fo N o F fo YES. On ma als us A Hawley' Zconfig alon wit th .CF fil provide wit you cop o ZFILER i orde t instal ZFILER t you tastes Handle al th configuratio normall needed Yo ma als us fil patche t chang th defaul name o som o ZFILER' temporar file, i yo wish. :M:ZFMACRO :H:ZFHIST :J Credit  Thi documen contain th tex o tw article o ZFILE b Ja Sag whic originall appeare i Th Compute Journa issue #3 an #37 Reprinte wit permissio o th publisher: Th Compute Journal P.O Bo 12 S Plainfield N 07080-0012 Thes .HL file fo ZFILE wer edite b Le M Cavanaug IIɠ fro th documentatio provide wit ZFILER. wish. :M:ZFMACRO :H:ZFHIST :J Credit  Thi documen contain th tex o tw article o ZFILE b Ja Sag ; ---------------------------------- | | | ZFILER's Script Macro Facility | | | ---------------------------------- M >> Introduction to ZFILE's Macros  << Macro Execution >>   << Macro Writing >>  I >> Invokin Macros S >> Macr Scripts G >> Group Macros D >> Definin Macro -- Th CM File R >> Rule fo Scrip Expansion E >> Macr Examples L >> Sample Macro CMD Listing :M  Introduction to ZFILE's Macros  Althoug ZFILE ca accomplis man task usin it built-i functions it rea powe come fro th macr facility whic allow i t b extende t includ an function tha ca b performe usin combination o othe programs Thi i wher ZFILE reall make us o it powe a shell Firs ɠ wil describ ho th macr facilit i used an the ɠ wil describ ho th use define th macr functions A wit th built-i functions macr function ca operat eithe o singl file o o group o files Th single-fil macr facilit i wel develope an wa alread presen i nearl th sam for i VFILER th grou macr facilit i ne wit ZFILE and has been greatly expanded. :I  Invokin Macros  On wa t initiat macr operatio o th pointed-t fil i t pres th macr invocatio key whic i normall th escap key promp o "Macro: wil appea afte th norma ZFILE comman prompt A thi poin yo hav severa choices I yo kno th ke correspondin t th macr yo wan t run the yo ca simpl pres tha key ZFILE wil the construc comman lin an pas i o t th comman processo fo execution I ZFILEҠ i configure fo instan macr operatio (i generall is) the macro associate wit th numbe key "0 throug "9 ca b initiate withou th macr invocatio key tha is th numbe ke entere alon a th mai ZFILE comman promp wil generat th macr function. I yo pres th macr invocatio ke secon time user-create hel scree wil b displayed Thi scree generall list th availabl macr functions Yo ca no pres th ke fo th desire function o yo ca pres carriag retur t cance th macr operatio an retur t th mai ZFILE menu Th hel men scree wil als b displaye i yo pres th "# key Thi i holdove fro VFILE an arise i par becaus o th structur o th fil i whic th macro ar define (mor o thi shortly). :G  Group Macros  Grou macro ar invoke i simila wa fro th grou functio comman line Afte yo hav tagge grou o files pres th "G ke t ente grou mode Th promp wil lis onl th built-i grou functions bu i yo pres th macr invocatio key yo ca procee a describe abov fo single-fil macr operations excep tha th macr functio wil b performe o eac o th tagge files. Th grou macr facilit work littl differentl tha th single- fil macr facility Sinc th comman lin woul generall no b lon enoug t contai th command fo al th tagge files th grou macr facilit work b writin ou batc fil fo processin b ZE o SUBMIT I thi wa ther i virtuall n limi t th numbe o file o whic grou macro ca operate. Ther ar man configurabl option (describe below tha ar associate wit th grou macr operation Thes includ th nam o th ZE o SU batc file th director t whic i i written an th comman lin tha ZFILEҠ generate t initiat th batc operation Th NZ-CO versio o ZFILE use fil calle ZFILER.ZE an th comman lin "ZE ZFILER" Th Z3PLU version unde whic ZE wil no run use fil calle ZFILER.SU an comman lin o "SUBMI ZFILER". Sinc macro (an th mai men "Z function wor b passin command t th comman processor fil tag wer onc los b olde version o ZFILER whe thes olde version resume operation th proces starte afresh ZFILE no remember al th fil tag whe i return fro macr o comman (i write temporar file "ZFILER.TAG" t configurabl director whic contain th fil list).  List Capability for Group Macros  I ZFILER.CM scrip begin wit comm (befor o afte th leadin "! shel paus parameter) ZFILE wil alway expan th macr directl t ZCPR' multipl comman line I th cas o grou macro $P $F an $ parameter ar expande t lis o al tagge files separate b th characte followin th leadin comma For example, the script: 1 , !echo the tagged files are $F display "THŠ TAGGE FILE AR " followe b lis o th tagge file separate b o th consol (assumin ECH i vali ZCPҠ command) ZFILE the prompt fo keypres befor returning Pleas not tha thi macr buffer th entir lis o tagge file t CP/M' comman lin buffer whic i onl 12 byte i length Th abov command therefore normall cause "Comman to long erro i mor tha abou file ar tagged dependin o th length o th tagge names. Lis capabilit allow program whic accep fil list suc a LPU o V t ru o tagge files ZE i NO involved.  Group Macro Tagged File Count  Th numbe o file tagge i pu int Use Registe # (configurable befor runnin ZEX Th macr ca the dow coun an tak som additiona actio afte i ha ru o eac tagge file. For example, if you press "G1", the script: 1 ! $d$u:;$!crunch $f B1:;reg m5;if reg 5= 0;$"Library DU ":; lput $"Library Name: " B1:*.* +1;era B1:*.?Z?;fi;$h: crunche tagge file t fixe empt director B1: make librar ou o the (leavin roo fo mor file wit inpu fo librar nam an location the erase al "th crunchettes" Thi macr require REǠ t decremen Registe 5. Not tha RE mus b Type o Type (o RCP fo th ZE G "$! t ru CRUNC repeatedly Als not tha register onl hol 25 count Fo consistency singl macro pu "1 coun i th Use Register Use registe rang 0.. i no enforced s yo ca us register 10..3 i yo wish However 10-1 ar reserved while 16-1 ar use b other programs. :S Macr Script  ZFILEҠ macr script ar simila t thos i ARUN an i th othe men shell (MENU VMENU FMANAGER i tha paramete expression ca appear Th critica parameter -- th one tha implemen function tha canno b achieve an othe wa -- ar thos tha conve informatio abou th director currentl displaye b ZFILE an abou th pointed-t file Parameter consis o "$ characte followe b on o th character liste below. Use promp parameters: Use inpu prompt Use inpu prompt * Clear screen in user prompt $ Escape character (example: '$"' for double quote) ^ Control character (example: '^x' for control-X) Parameter fo directories: - currentl displaye directory DI form Driv letter Use number - hom director (fro where ZFILE wa invoked) D form Hom DIR Parameter fo pointed-t file: Ful informatio (DU:FN.FT) Fil nam (FN.FT) Fil nam only Fil typ only Specia parameters: G substitutio indicator Th dolla character Th parameter ar liste i specia orde above an w wil explai tha later Firs w wil jus presen th meanin fo eac parameter. Th paramete expression $ an $ ar use t displa promp messag t th use an t rea i respons string Singl an doubl quote ar equivalent Onc th promp paramete ha bee detected al subsequen character u t on o th quot character ar displaye a th use prompt Thus i a no mistaken ther i presentl n wa t pu eithe quot characte int th prompt Th en o th lin o th en o th fil wil als terminat th prompt. I yo wan t mak fanc screens yo ca includ escap sequence an som contro character (obviousl carriag retur won' work) Prompt i script ma contai contro character a "^x" wher i an characte fro t z. Th dolla sig ma b use a "escap character fo scrip prompts an ca be used to include the $, ^, ", and ' characters in prompts. Examples: Script Result $"Enter name or $^C: " Enter name or ^C: $"Type $"//$" for help: " Type "//" for help: Th $ scrip paramete clear th scree during an rebuild i afte scrip prompt Usag i $"$*..text.." Promp tex appear a th to o cleared screen. No fo th director parameters Parameter C D an ՠ retur informatio abou th currentl displaye directory whil an Ҡ retur informatio abou th hom directory th on fro whic ZFILEҠ wa originall invoked PLEASŠ NOTE macro alway operat fro th hom directory Th reaso fo thi i tha ZFILE ca displa directorie wit use number highe tha 1 eve whe i i no possibl t lo int thes areas I yo wan t operat i th displaye directory the you scrip mus includ a explici directory-chang comman o th for "$D$U: a th beginnin (o "$C: i you syste require th us o name directories an comman o th for "$H: (o "$R:" a th end. On specia not abou th parameter tha retur director names I th director ha n name the th strin "Noname i returned Thi wil presumabl no matc an actua nam an wil lead on hopes t benig erro condition Thes parameter ar include onl fo system tha d no allo directorie t b indicate usin th D for ( hop tha fe i an system ar se u thi way). No w com t th fou fil nam parameters The allo u t generat easil th complet fil specificatio o an par o it Not tha "$F i no quit th sam a "$N.$T" Th latte alway contain dot th forme doe no i th fil ha n fil type. Finally w hav tw specia parameters "$$ i include t allo dolla sig characte t b entere int th script "$! i contro paramete tha i use onl whe grou macr i executed I i i place immediatel befor toke (strin o contiguou characters) the tha toke wil b replace b th strin "GO o al bu th firs expansio o th script Thi allow grou macr script t operat faste b avoidin repetitiv loadin o CO file I mus b use wit grea car an consideration however fo reason tha wil no g int here. :D Definin Macro -- Th CM File No let' lear ho t defin th macr function w want A indicate earlier th macro ar define i fil calle "ZFILER.CMD (th ZFILE ComMan file) I th versio o ZFILE distribute wit NZ-CO an Z3PLUS th CMĠ fil i searche fo i th roo director o th ZCPR comman searc path A describe earlier th optio men allow th entir pat t b used Ther ar als som additiona configurabl option tha wil b discusse anothe time Yo mus b sur t pu you ZFILER.CMĠ fil i th appropriat directory I th fil canno b located yo wil stil ge th macr prompt but afte yo hav specifie macr key th erro messag "ZFILER.CM NO Found wil b displayed. Th ZFILER.CM fil i a ordinar tex fil tha yo ca creat wit an edito o wordprocesso tha ca mak plai ASCI file (WordSta i nondocumen mode fo example) Th CM fil ha tw parts Th firs par contain th macr comman definitions th secon contain th hel scree (describe earlier). I th firs par o th CM file eac lin define macro Th characte i th firs colum i th ke associate wit tha definitio (cas doe no matter) Macro ca b associate wit th 1 numbe keys 2 lette keys an al printabl specia character excep fo "# (explaine below) Th spac characte an al contro character ar no allowed Owin t a oversight th rubou (DEL characte ca b associate wit macro! Afte th characte tha name th macr ther ma b an numbe o blank (includin zero) I th firs non-blan characte i "!" the th "strik an key (shell-wait promp wil appea befor ZFILE put u th fil displa afte macr comman i run Thi shoul b use wheneve th macr wil leav informatio o th scree tha yo wil wan t read Afte th "! ther ca agai b an numbe o spaces An remainin tex o th lin i take a th scrip fo th macr command. Th secon par o th CM fil start whe "# characte i foun i th firs colum (henc th exclusio o tha characte a macr name) Onc tha characte appears al remainin text includin tex o th line wil b use a th hel screen Sinc ZFILE wil ad som informatio t th displa (th nam o th pointed-t fil an prompt) yo wil generall wan t kee th hel scree t n mor tha 2 lines includin a extr blan lin a th en fo spacing Wit som experimentatio yo wil ge th han o designin thi screen. Here is a parameter reminder you can include in your ZFILER.CMD file: $! ZEX 'GO' $P DU:FN.FT $D Current Drive $".." PROMPT $F FN.FT $U Current User $'..' PROMPT $N FN $C Current DIR $* CLS on Prompt $T FT $H Home DU $R Home DIR :R Rule fo Scrip Expansio  ZFILEҠ follow specifi sequenc o step whe expandin script on tha give i specia featur that woul guess fe user ar awar of Th firs ste i th expansio i t proces onl th user-inpu promp parameters substitutin fo th promp whateve th use entere i response Thi result i modifie scrip tha i the processe b th secon ste i th expansion Becaus th expansio i handle thi way th use inpu ca includ ZFILE scrip parameters Thus th scrip ca b use t writ script Yo wil se a exampl o thi later. Th secon ste i th expansio i t substitut value fo th director parameters whic ar somewha lik constants The d no chang a functio o th pointed-t file Finally i thir step th remainin parameter ar expanded Fo grou macros thi fina ste i th expansio i repeate fo eac o th tagge files Th fil parameter ar expande differentl fo eac file and startin wit th secon tagge file th "$! paramete cause "GO substitution. :E Macr Example  Th macr CM listin i sectio show a exampl o ZFILER.CM file on designe t illustrat som technique o macr writing Whil writin thi article discovere tha on ca includ blan line a show t mak th CM fil easie t read Th hel scree par o th listin i take fro m persona scrip fil (o which hav t confess hav no reall worke ver hard) Th macr definitio par o th listin include onl fe o th definitions Yo ma wis t us th Prin functio o th HEL utilit t prin ou thi section i orde t follo alon wit thi discussion. Th macr "Q i include t illustrat ver simple bu useful typ o macro I invoke th ver powerfu fil typin progra Q (quic look o th pointed-t file Thi i hand whe yo wan mor powerfu viewin capabilit tha tha offere b th built-i "V command Q̠ ca handl crunche file an libraries an i ca displa tex o he forwar o backward. Macr "U uncompresse file I illustrate mor comple scrip tha involve flo contro an parameter tha extrac individua component o th pointed-t fil name I test th fil typ t se i th middl lette i "Q o "Z" I th forme case i unsqueeze th file i th latter i uncrunche it Th uncompresse fil i pu int th sourc file' directory. Macro S K an illustrat th us o inpu prompting Th firs on allow th use t specif th fil attribute t b set Not tha th promp include helpfu reminde o th synta require b SFA. Macr ˠ crunche file t user-specifie destination I als illustrate ho on log int th currentl displaye directory d thi her s tha nul answe t th promp (i.e. jus carriag return wil resul i th crunche file bein place i th currentl displaye director rathe tha i th hom directory a woul otherwis b th cas (sinc tha i wher th macr run from remember) A result however thi macr wil no operat properl i use area abov 1 unde BGi o version o th comman processo tha d no allo loggin int hig use areas. Macr   perform slightl mor comple function I no onl compresse th pointed-t fil t specifie destinatio directory bu i the mark th sourc fil a havin bee backe up combinatio o th grou archiv built-i comman (t ta file tha nee backin up an grou macr (t perfor th backup give th ZFILE use wa t bac u file i crunche for o th backu disk. Macr i include t sho tha ZFILE macro whe i need t d somethin mor comple tha i i capabl o doin al b itself ca pas th tas t a ARUN alias Th MOV alia firs determine whethe th sourc an destinatio ar o th sam drive I tha case MOVE.CO͠ i use t perfor th move Otherwise th sourc fil i copie t th destinatio an the deleted Wha w have therefore i MOV comman tha free th use o th responsibilit o worryin abou whic drive ar involve -- anothe exampl o ho Z-Syste ca fre yo fro consideration tha nee no concer you tha d no requir huma intelligenc t decide. Th fina thre macr example ar executio macros Macr ؠ cause th pointed-t fil t b executed mor sophisticate versio migh chec t mak sur tha th fil typ i COM opte fo th flexibilit o pointing fo example t PROGRAM.Z8 an havin PROGRAM.CO͠ run I ther i n CO fil wit matchin name th erro handle wil tak car o things Yo wil not th leadin colo befor th "$n parameter I make sur tha th curren director i searche eve i i i no o th path Prompte inpu i use t allo comman tai t b included. Th macr perform user-specifie functio o th pointed-t file Tw separat use prompt allo bot th comman an comman tai t b given Fo example i yo wante t squeez th fil t A0: yo woul ente "SQ i respons t th firs promp an "A0: i respons t th second. Th macr illustrate ho th respons t promp ca b use a ZFILEҠ script Thi macr take car o al thos function w forgo t includ i ZFILER.CMD Th whol macr i jus prompte input an whateve w answe wil b ru a script us thi functio s ofte tha pu i o numbe ke s tha i ca b invoke wit singl ke rathe tha th usua pair Also a yo ma hav noticed includ i th macr hel scree lis o th parameter tha ca b used. Th onl rea limitatio o thi macro-to-write-a-macr approac i tha prompte inpu canno b include i th response A writ this however i occur t m tha thi limitatio coul b overcom b recursivel parsin th promp parameter unti non remain an onl the goin o t th subsequen macr expansio steps. :L SAMPLE MACRO LISTIN  -------------------- q $p i $t=?q?;$!sys:u $ $d$u:;else;$!sys:unc $ $d$u:;fi $!sf $ $ SF Option (/o,o. o=ARC,-ARC,R/O,R/W,SYS,DIR) " $d$u:;$!crunc $ $"Destinatio director (DU: -- ";$h: $d$u:;crunc $ $"Destinatio director (DU: -- ";sf $ /arc;$h: /mov $ $"Destinatio director fo move " $d$u:;:$ $ Comman Tail ";$h: $d$u:;$ Comman t perfor o file $ $ Tail ";$h: $"Ente ZFILE macr script " SAMPL ZFILE MACRO FO TCJ 0 on-lin macr A se Archiv bi N NULU 1 LPU B Backu (cr/sfa O. 2 Z80AS t CO C CR P Protect 3 Z80AS t RE D Dat displa Q QL 4 Compar File E Edi R. 5 F S SFA 6 G T Type 7 H U Uncompress 8 I V VLU 9 J W. K Krunc X eXecute L LDI Y. M Mov Z ru command $ ZEؠ 'GO $ DRIV $Р DU:FN.F $ FN.FT $".. PROMP $ USE $ F $ FT $'.. PROMP $ HOME CO C CR P Protect 3 Z80AS t RE D Dat displa Q QL 4 Compar File E Edi R. 5 F S SFA 6 G T Type 7 H U Uncompress 8 I V VLU 9 J W. K Krunc X eXecute L LDI Y. M Mov Z ru command $ ZEؠ 'GO $ DRIV $Р DU:FN.F $ FN.FT $".. PROMP $ USE $ F 7Z3ENVTCSELE30Z3TCOMZ3TCAP LBRTCAPMENUTXTs1* |2 ! )C=ͦ *]| !6!%~(s-(+ # >2# ̀ GDM~( 8z {2>2Bad TCAP number! Must be <= 255 `i :G:( $!:´:¡͹ 2:HR)ͬQA8!(0Ao&))))))[̀(+  (3+(/=(+-(;>(#.(,(/<(+0O::y2:O:<2:=2͹ :O:G*@~(+Selected TCAP not found in .LBR! ~2 Selecting E#~ > #!:6(7 Is this the right selection? (y/N) RͬYE!;!AͤÕCould not find TCAP.!26=# (w#6=#6͹8 ô!2@= 7 = 7̀ 0GyOx(y2 8X!6=#Nw#(= (D͑ 6=#6=  Fatal error: TCAP Alias string too long!7Not Wheel!.COM file not found!:4:`(v !͚ͤ !§#*|ʧ"@|e. [Rڧ!l&%+k!Aͤ#k!A:_>Wf+!ͤf͈Installed TCAP into K:*  !A !TCAP loaded into environment.:G: .COM file not compatible with TCSELECT. Name of file to install (^C to abort) : %. v ʭFile doesn't exist!i:  !:=2: :><=G:OC: !͒ PK exists. Overwrite? (y/N)RͬY( Extraction cancelled.͍!A͈ͤ͟K extracted.{ ( #~ ͆͌(##~ ( x@yͨ>: Terminal Menu #ͨ of :ͨ g.))["@T8  Choose from the above (A-y@2), or Q to quit the process. (%',' or '<' to go to prior menu O:("'.' or '>' to go to next menu. Your choice:  ~(! yA) E7Could not find TCAP library file ( ͆). !  :(ͼ( ͻ Kͳ !+; 2Could not find menu file! >2*"""=  ̀ 0OxGWy *p =  ͑ #w#=  (Je w#w# * w#7= ((,w#w*@":<2[R0= .  * 6Out of memory!!= ( (͑(7ɯ. Ambiguous filenames not allowed! :(=2*?~#"?!Aͤ >!A"?>7: :><=G:OC: !͒:(TCSELECT v3.2b 93-4-22 BEMoore  Usage: TCSELECT menu-driven TCap selection/installation :ʷ  TCSELECT 12 load terminal #12's definition into ENV TCSELECT TVI914 load TVI914 TCAP into ENV o  TCSELECT -filename menu-driven selection, install into filename.COM TCSELECT -filename 12 load terminal #12's definition into filename.COM TCSELECT -filename TVI914 load TVI914 TCAP into filename.COM TCSELECT + menu-driven selection, extract chosen .Z3T TCSELECT +filename ANSI extract ANSI TCAP into filename.Z3T TCSELECT + ANSI extract ANSI TCAP into ANSI.Z3T  TCSELECT // display this message Z3ENV PPB:SH VAR ͝@2!)C#͞:> &#:!(RRxy2#ͣ͞ ~. #ͤ:#:"ɯ2"ͅ(#* +>?? !"4ͅ( #> )(pK#!8bͬA8G!8!!8~8JO}o%  9M*#B(,18*L8$*+|(~(,~#fo>=) 0K#͵(#(GO #( 0 ?~_.,>:0 Яɿɯͣ q#w#)q#w#)C%C'ͼ( 0< |( K%K'~#K%$(=G~#$(O*'B(C'9(0X.,"*+|(~#fo-")͵(~(t(F#N+##[)ͬ #͵(~(ܸ #~+(͵=0x (*+|*+)^#V*+|(~*+w*+|(^#V#~"+!N#Fy( p+q+F+Nq#pk("-!ͤ!N#F!k ͉( # x "/ */# !~ #[-    !ͤ!6#!ͮ͒> '͚> !~ #>  #~##> !6#Y 0X00 0OG>#>$!1$9!!^#V#~ѷ>"m>!!!s#r#69͒>Ô>Ô>Ô>9>9>9>9 rr# !"U2U !VN# 6!W:V~#  ( [ ( ( ( y/  ѷO> > >ͷp>^@ 0  8 ɿ͜>.͜ &d;& ;.,0g} |> (0G|O>ͷB~0?0 0Obk)8)88 )8 8#{~(ͬw#~#(͑(+~#(͑ (G~( ##̀lOͬA8[8yO08:8y(( (80a{_Ϳo*o~?(O#*j Z3ENVCRLZH20 Y UNCRLZH Version 2.0 Copyright (c) 1987 by S. Greenberg Portions Copyright (c) 1991 by R. Warren May be used/reproduced for non-profit use only $Ûs#1Ͷ 1> ͬ2h#2##*~#~  "~#+:x#̓# "~#%>2# :#A 0" D#> ͬ!#ͱ2] 0v ] (.('(Q ͓:#2 #] o] g"#2#E# ] (Z.(M#: #b] 8(5 i#] 8($ />2h#[ ] ڄ ] :# ] Y(.] !0Y] 2#] l:x# ͐͏S#ڡ!#>8 *#:#́:"( <2"S#ڡ*#:#{(*x!"""#2"͏> 2">2">2#X] _] W:# *"R(͐͌H Q `T *##"#͐͐Q |9g!n9҆z9gk~ >2#*#> 2#:#́2#~(#V|g^z ˪!|g~|g~2#͐*"|9g:#w|gs|gw*"#""#:"'2":"< (2">2":"G:#'2#z={((7] 871Z͐88 (O,ɷ(=Gy,>, :#!)#>?:w !%~ȷ(~ Z( Y( Q(>w !(~> ͬ~ͬ]#H1xͷ> 2#!́< !́2#!9966!ii(6>2iGAL~(["r|gs[#|i0A~V|gnz9gn([#S#[#:#Gr|gs|gp]))))o{ig#u"#] 2#] >2# : #l:x#̐!1!"4*"+"">02#!9:# : # Vx8 [#xͻùa LZH Uncruncher Version 2.0 $Checksum error. $ [ Not compressed ] $Invalid Crunched File. $Requires newer version. $Stack Overflow. $Unexpected EOF. $Usage: $UNCRLZH {d$:}afn {d$:} {/options} Second parameter is destination. Options following slash: Q Quiet mode o$ I Inspect (Tag) mode o$ T Same as I E $Erase existing files$ S $clude System files$%:#?͓!#ͱ+#A D#ʹ 0Q 7>$2#:x#̡] 8 ͌H Q ! #E# ~#͐!"#!%*##"#T]~c *#>.ͬ> ͬ#͈ >.͈ͬ >:ͬ(>*ͬ͒ U !>ͬ> ͬ͒ T >*ͬ>͡B *#+}T A+"#͡+͐͒ BNY(>ͬ>Yͬ͡~#ͬͤ  (*͵ :֤80 {!"#(@8>@2#ƙ2#* }(!~ !$^#V{( #:2x#:2y#:2z#:2{#:2}#22#2#:#2#2#2C#* | Ee ! "D#!#^!!# : # ʼ 8j!D#^!!D#  :E# (Sù!]~/ʼ ʼ+#:i2#:k :y2C#:{ :l2D#!N>[+xĿe :# :#2#G:D# :#2#( 2#G:#O:C#2#>?! # (2#2#:z#/2# >/82#0|S(D 2#͓3#  "(\:{#D!%"~#:Gƀo&> ++~/ +~ #( yA6#͚ ~S(Q(I( T(C(E(O(ù!}# !x#!{#!y#(66|<('~ :#w*,0 ~$ùùùù|(~[ Ϳ7#=S##k<7#k}'i ~#:"=2"z ͡1.:#¯  , ,}2"(!17k,k#k >:#k#kѷͼ:#(͓!D#ͱ:y# #kD#k<('͓2(͡7:x#( :y# ͡D#kk< 2(ͼD#k:#+##!ͫ :h#(!i#!s# !ͼP#D#!Ͳ >f>gkOk={' ͍8:# :#'G ͼx:#yykX,kD#k KG͐:# ͡+F͐2͡:#=_k%[#k:#=_k*~#"~#](kD#k{/<(G> B%D ͱ:# :C#:#_:#( {2# k k2#k<2#*"O "" > H Q ͓!D#ͱͼD#kk (Yyx/Gy/O>j 8B= !"#͡ k > ͬ> ͬ_k͓>͓l͓͙͓͓͓ͅͅ:c^͓:c^͓:k.͓C͓:q{M͓'͓:x#̡*#͓*#+}>sĬ"͓͵{#:>nì>fͬìÓ>Iͬ>nì>Eͬ>xì* }>uʬ>iͬ>rì!~ !x~ ͬ#+F#~# :#@ͬ x 8  0x0ͬ0ͬ>:ͬ >.ͬ> ͬ~# ( ͬ!"#k#k%E#k(E*#|ɇƀo&:}#  ~:{#G(> ~O#*##"#Bk(*"#""!#͡ k(k ͡(:x# :"=G:#(*"#""!#͡>$2# #͓> 2#:x#  #͓:# A["*""#f> ͓ͬ:# !:" *"> ͬͬ*#!DM)jJ)j)j)jJ)j)j)jK#G<#~ ͬ*">)ͬ͡<<<>kͬb}b}b}b}(0ͬ0ͬ!."(!1 Nq# # 7K#C#%bkL< xi{ _zWK# C#x ++ Invalid argument ++ $++ Invalid directory ++ $++ Invalid option ++ $++ [text] to long ++ $ Erasing: $ Copying... $ [ File empty ]$File not found.$File creation error.$ ++ Disk Full ++ $Output error.$Too many files.$Not enough memory. $Z-80 CPU required.$ --> $ -->$ ==> $% $ ($---- $Don't $ T to Tag files for processing, RETURN to skip. B = Back one U = Untag ^C = Abort $Selections OK (Y/N)? $ $Change output disk and press RETURN to continue (^C aborts). $ ++ Aborted ++$ Erase existing file (Y/[N])? $ in out rat ca cr ==== ==== ==== ==== ==== $ in out rat ==== ==== ==== $ file$ processed.$   0 / 0$."#>PgR"#|gs#2#>2#!"#͙v ͙(>> >>>7{#ɯ͙ ͙͙G>8͙͙S#͓ڲ!#>8 *#:#S:#(͓ڲ*#9Ҟ:#gk~ >2#*#:#S~ʢV|g^z |g~|g~2#mg:#gOD~(|0g~( G|gn`a`r|gs|gq x2#?0͙W͙2#::::_ ͙_:#Wz?88 (OͶɷ(=GyͶ>Ͷ!!S< *#T]>w6@>*#w}eo0 $:# :#g:#G}/< OT]>(*#:#GzGK>(æ+|0gr|gsBO ,L}Z8 90)))))l] ښ,UU8080/Z80 LZH coding Copyright (c) 1989, 1991 by Roger Warren. May be used or reproduced on a non-profit basis only. `>_>_>_>71  !!""##$$%%&&''(())**++,,--..//0123456789:;<=>?!;;s#r# xn!;s#r# x!;s#r# x–!;: N#F#~#~# x«!:s#r# x!' :vs#r#s#r# x!"% #"*# > >̭*)~#fo"!;N4#"CF,4#y#xڟ#y#x5++~p+~q"y * 2Nwy#2Fwx!' yxs#r҅#s#r!' yxq#pҟ#q#p!' ~#fo!u!;^#>>{! w#w~#fo#|g}!; w#r#+|»!:v!;^#V#~#fo!; +z+,{PY}O|Gh!; T]+~+ xH! T]+~+ x^!; s#r! s#r+| ! ^#V!' q#p>ڭ©>ڭ#q#pxŠ>7þ >2"B]w2# XvS XS  XX !N >7>22 2d!6 # x-!|W}* M!qzW:`}ʣ|XDMͧ#{ozg!~w* #|g#|g x}:J1dN ں úd n&)))))>)>?o*oDMyx) N#F! |g}o">( X72>goW4o&!9"a!q*#{zs*a+}|o}|tѷ7"!x N#F#^#V#! s#r};fy; ' % # ;T' o' ' ;;; ;;@V;jr' +Jo] !#5,."#!y [#*#4!v 4!(7ɧ4!4! 4!(8 8>>4!O4!Gc *# ͮ ͮ  x B4!O4! !!!!G:#G6,q,p,(y/,w,,!4!G7*#! !33e 88 (OH!ɷ( =GyH!>H!] ,+6#͵""͖"7"͖"ʄ!u!":"͖"!0M" ҷ!GyOM"+~# w7"͖" L"L" ‰"*ʎ"w#6?#"!"ʦ"45#›"a{Ҳ"_ɯw# "" " p# " " " .,:;[]=<>|:VLU106 Copyright 1987, 1988 Esoteric Software Michal Carson This program is distributed through ZSIG. VLU is a ZCPR3-specific library utility with crunch, uncrunch, and unsqueeze capabilities. It will allow the user to view, uncompress, or extract library members or to view, uncompress (uncrunch or unsqueeze, VLU will decide), or crunch disk files. VLU will build libraries from disk files, crunching the files as they are added. Date and time stamping is supported. The utility will display a list of disk files on the screen along with a cursor and other information. Placing the cursor next to the name of a file with the extension .LBR and pressing 'O' for Open will display the contents of the library and shift the cursor into that directory. What is a Library? The Library file format was developed to overcome two persistent limitations of CP/M disk storage capacity: limited directory entries and large blocking. Although CP/M writes files in units of 128 bytes (sectors), most manufacturers have used larger blocks for storage on disk. On a Kaypro with double-sided disks, for instance, all files are stored in 2K blocks; even a file one sector in length will occupy 2K on the disk. Because the Kaypro disk format allows only 64 directory entries (files) on one disk, 64 of these 1-sector files (8K) will fill a 390K disk. In a library, a one sector file occupies one sector (plus 32 bytes for internal directory information). The library itself occupies only one directory entry on the disk. If 64 one-sector files are placed into a library, the library will occupy 10K. This is obviously an extreme example but illustrates the usefulness of libraries. Other reasons exist; for instance, libraries keep related files together. VLU will make files within libraries more accessible. What is an ARC? Which is better? An ARC is another popular format for storing files in reduced space. ARCs store files sequentially each preceded by its own header of information which may be 18 to 29 bytes. LBRs use a 32 byte directory entry at the beginning of the LBR; the directory indicates where the matching file may be found. The information stored in an ARC file header is similar to the information stored in an LBR directory. Both formats store the file name, exact file length, the last modification date and time, and a CRC-16 for integrity. LBRs also store the file's creation date and time. There are many arguments in favor of each format. To the casual user, these arguments are not important and either format will serve for any purpose--long-term or short, organizational, archival, or for transfer. Neither format is an effective storage format for sequential access devices such as tape. Anyone who insists on the absolute superiority of one format over the other is behaving parochially. VLU is the best effort to date in supporting the complete Novosielski LBR definition. A like effort expended on behalf of the ARC format might make it similarly useful. In this Library Two executable versions are distributed: VLUxxx-R.COM is for machines using reverse video as highlighting. VLUxxx-D.COM is for machines using dim video as highlighting. VLU.FOR is a short description of the utility; VLU.HLP is full documentation compatible with the ZCPR3 HELP text display utility. VLU.UPD contains a trail of the changes in VLU since its initial release. The Help display Pressing "/" or "?" will evoke a display summarizing the commands available to the user. These commands change according to Wheel status and directory choice (e.g., Delete is not available in the library and is never available to non-wheels). Pressing either of these keys a second time will clear the display. Invoking VLU Use VLU as an extension to a ZCPR3 shell, such as ZFiler, invoked through a macro. To install it, one need only open the ZFILER.CMD file with a word processor and enter a line of the form "1 vlu". Thereafter, positioning ZFiler's cursor beside a library file and pressing "1" (possibly preceded by [esc]) will bring up VLU with the library already open. A better thought is to assign this macro to the "O" key--"O $d1$u1:;vlu" in ZFILER.CMD--so that [esc] "O" will open the indicated library. Some aspects of VLU were designed to make it an extension of tools like ZFiler. Most of these tools use the ZCPR system files to store the name of the current file (the file the cursor was pointing to on exit). VLU checks these filenames and interprets the current file (sys file 2) as a library. On starting up, VLU will try to open a library file of this name in the current directory. This allows the user to invoke VLU from the "Z" prompt of ZFiler or through a macro, pass no parameters, yet open the current file if it is a library (or shares the same name as a library though it may have a different extension). If a different library is opened before returning to ZFiler, VLU will modify the filename in system file 2 (and thus cause ZFiler to believe it was pointing to this library when it exited). As a command file, VLU can, of course, be invoked from the system command prompt. If a library name is entered on the command line, that name will take priority over any name currently in system file 2 and the library will be opened if it exists. Even from ZFiler's "Z" prompt, with the pointer on ABC.LBR, entering the command "VLU DEF" will open DEF.LBR and place that name into system file 2. If the invocation is followed by a DU: specification or by the name of a ZCPR named directory (DIR:), VLU will display the filenames in that directory instead of the default directory. That is, "VLU TOOLS:" will display the contents of the TOOLS: directory. VLU can be re-entered with the GO command. Changing libraries When a library is opened, when VLU is invoked with a library name in the command line, or when a new directory is logged in with a library open, the VLU cursor will point into the library directory. Pressing the [esc] key will shift the cursor back into the disk directory. Opening a different library is as simple as positioning the cursor in front of the name and pressing "O". Cursor motion Moving the cursor (pointer) in VLU is effected using the WordStar cursor motion controls. Ctrl-E moves the cursor up one line, ctrl- X moves it down. Ctrl-S moves the cursor left one file, ctrl-D moves it right. Ctrl-F brings a new directory onscreen if there are more files in the directory (as if the display were moving right by a directory), ctrl-A moves back toward the beginning of the file list. Ctrl-F will wrap around from the final directory to the original. The arrow keys will also function if they are properly defined in the users Environment descriptor. The symbols "+" and "-" (and "=", the usual non-shifted counterpart of "+") have the same effect on the directories as ctrl-F and ctrl-A, respectively. The [esc] key shifts directories: from the library to the disk, from the disk to library. In most instances the cursor will "remember" where it was when it last pointed into that directory. Extracting and Uncompressing library members Positioning the cursor beside the name of a member file within a library and pressing "E" for Extract will cause the file to be copied from the library to the disk with no change in form. If it is crunched or squeezed within the library, it will be crunched or squeezed on the disk. Pressing "U" for Uncompress will cause a crunched file to be uncrunched onto the disk, a squeezed file to be unsqueezed onto the disk, or an uncompressed file to be extracted sic. Changing directories Library members may be extracted to a disk and/or user area other than the one which contains the library. Open the library first, then use the Login command to move to the destination directory and perform the extraction or decompression. The move is accomplished by pressing "L" (cursor position makes no difference with this command) and answering the prompt "Directory ". The user may enter a DU: specification (e.g., A0:, B14:, F:) or the name of a ZCPR3 named directory to be found in the current system (e.g., MODEM:, DUNGEON:). The colon is not necessary in any case and an invalid directory or denied access will relog the current area. No entry at all will also relog the current area to facilitate disk changes. Tagging files The "T" command will tag an untagged file and the "Y" command will remove the tag from a tagged file. The tag appears as a hash (#) immediately following the filename. After a group operation (actually, during the group operation) hard tags represented by the hash are replaced by soft tags which appear as an apostrophe ('). Soft tags may be transformed back into hard tags by the retag command: "#". Wildcard tagging is accomplished by pressing "W" and providing a wildcard file specification in response to the prompt. All files in the directory, starting from the beginning, which match the file spec will be tagged. Group Tag ("GT") is equivalent to a *.* wildcard tag. It may be convenient at times to untag all files. This can be accomplished by relogging the directory with the Login command. Certain file operations which affect the disk directory (anything that adds or deletes files) will also end by relogging the directory and any remaining tags will be erased. Group operations obviously prevent this relogging until all files have been operated upon. Group operations "G" will evoke the Group prompt. From this prompt, several commands are available to wheels. Only the View and Tag commands are available to non-wheels. If the wheel byte is not zero, the prompt will indicate by the first letter of each command that View, Tag, Uncompress, crunch, and either Extract or Delete and Build are available. Any selection is carried out on all tagged files. The Group manager will check for ctrl-C between each file and abort if it is seen. Viewing files and library members Crunched, squeezed, and uncompressed files may be viewed by pressing "V" at the VLU prompt. The screen will clear and the file's name will appear at the top of the screen. Just below the filename, the file's datestamps, if present, will be shown. These will be taken from the disk in the case of ordinary text files, from the library directory if the file is a member, or from the internal datestamp of a compressed file. The display will stop with the prompt "[strike any key]" after, in general, 22 lines. The number of lines (the size of a screen page) is taken from the ZCPR3 Environment descriptor. The number provided there, by convention, is two lines less than the screen height. This should give the viewer two lines of overlap with each page. If this is unsatisfactory, the user's Environment descriptor can be adjusted. At any time during the viewing, pressing ctrl-S will pause the display. Pressing ctrl-C will abort the operation. Under Group control, ctrl-C will abort the entire operation and no more files will be presented; the user will be returned to the file directory display. Unscreened files will remain tagged. Ctrl-X may be used to skip to the next file under Group execution; it has the same effect as ctrl-C if only one file is being viewed; id est, we abort. At the "[strike any key]" prompt, pressing the period will bring one more logical line to the screen. Ctrl-Z will suppress the "[strike any key]" prompt and the file will scroll continuously. The viewer is then left with ctrl-S to stop the display (and any key except ctrl-X and ctrl-C will restart it). Another Ctrl-Z will restore the paging mode and stop the screen immediately. This is handy for long files when the interesting text is near the end. Certain file extensions are proscripted (e.g., COM, LBR, ARK, SYS, RCP, REL, PRL, etc.) and VLU will give the message "may not type" followed by the file name. Crunched files of proscripted types may have a "stamp" of interest to the user. If a proscripted file is crunched, VLU will give the filename as it appears and attempt to extract the original filename and any stamp contained in the first record of the file. Thus, the datestamps of COM and REL files may be inspected using the View command. Crunching disk files The crunching faculty of VLU is incidental. Because of the Group operations, it is quite useful but, ab ovo, crunching files on disk has been secondary to the project of crunching files into libraries. Selecting "K" at the command prompt will cause VLU to crunch the file pointed to by its cursor. VLU will first prompt for a "stamp." By convention, this is a message of up to 40 characters enclosed in square brackets. The message is imbedded in the first record of the crunched file to be displayed when the file is either uncrunched or viewed. Often, the message reports the date of the crunching, the author or origin of the file, or its expanded size. VLU will allow the entry of up to 38 characters. Two characters are reserved so that VLU can insert the square brackets if the user omits one or both. VLU will remove any trailing spaces from the message; if the user wishes the spaces to appear, the user must enter at least the final closing bracket. VLU will also imbed the current datestamp of the file, if present, in the form established by CRUNCH23D. To use the datestamp in place of a text stamp simply type a return at the "Enter stamp" prompt. The crunching operation will be aborted if the file is already compressed (either crunched or squeezed) or is of a proscripted filetype. Proscripted filetypes are ARC, ARK, BAD, and, if the target is a library, FOR and CIM (vide infra). VLU will allow the user to crunch a member out of a library onto the disk. There seems no harm in such an operation (and as little use). File size report The size of a file in kilobytes and sectors (records) is reported when the user presses either "F" or carriage return. If the file is a library member, size is reported to the nearest higher 1K. If the file is on disk, size is reported according to the blocking factor of the disk. Renaming files To rename a library member or a disk file, position the cursor beside the file and press "R". Enter the new name at the prompt. Deleting files To delete a library member or a disk file, position the cursor beside the file and press "D". The user will be prompted to confirm that the file is to be deleted. Under Group Delete, the first prompt applies to all tagged files. Answering Yes to this prompt will delete all files with no further prompts. Answering No will abort the operation entirely (no files deleted). Answering Verify will cause a prompt to appear for each file in the group. Building libraries In order for VLU to build a library, all files to be included must be located in the same directory. The library may, if necessary, be built in a foreign directory. As distributed, VLU will crunch all files as they are added to the library (unless the extension is unacceptable as previously stated). See the configuration section for possible attenuation of this practice. VLU does have limits governing the maximum size library it may build or deal with. Those limits will vary with the size of the current TPA. Most users will never approach VLU's limits, but for curiosity's sake, a TPA of 58K is sufficient to manipulate a library of over 1200 members. To initiate the construction, tag the files which are to be included and then type "GB" for Group and Build. VLU will prompt for the name and directory of the "new library" and the number of entries to allow. A carriage return at the "entries" prompt will build a library with the minimum directory size, only large enough to accommodate the currently tagged files. If you specify the number of members (say, 40), VLU will build a library large enough to hold at least this many members and will report the actual number of possible entries ("initializing 43 entries"). Rather than count the number of members you have tagged and add to that the number of members you expect to add in the future, you may simply enter "+40" to have VLU make the calculation. VLU will build a library large enough to hold the presently tagged files and 40 more. If no files are currently tagged, VLU will build an empty library large enough to hold at least 40 members. VLU will then initialize the library directory area. The directory list (onscreen) will be reset to the first screen; the cursor will move to the first tagged file and a message will display that the file is being crunched or added as appropriate. If any files are to be crunched, the "stamp" prompt will appear and the stamp thus entered will be in effect for all files crunched into the library. Under this operation, as under the Wildcard and other Group operations, the directory list onscreen will shift through all files searching for tags. This will be more noticeable in larger directories (which require more than one display) and during the Building of libraries (because of the pause to close the library). The datestamps for file creation date/time and file modification date/time will be copied into the library directory if they are available on the disk. They may also be imbedded in crunched members (if no stamp is entered). The current time/date will be placed in the library directory to indicate when the library was originally constructed. Adding files to a Library Adding files to an existing library is a simple as constructing the library in the first place and the files will be compressed according to the same rules. Date/time stamps will be preserved. The current date/time will be written into the library directory to indicate the library's last modification. Files may be added individually or tagged and added in a Group operation. The library to which they will be added must be open and must have unused directory entries (deleted entries will not be overwritten). Configuration Several configuration bytes are located in the first sector of the VLU command file where they may be easily patched. For the exact location and function of these bytes, see the accompanying file, VLUxxxC.Z80. Option menu The Option menu, accessed by typing "M" at the command prompt, will toggle many of the configuration bytes. This allows temporary assignment of the options. Security The Login command of VLU will use the Z33 parser when it is available, thus behaving exactly as the operating system would in allowing admittance to directory areas. When Z33 is not available, VLU allows immediate entry to any du: or dir: within the MAXDSK and MAXUSR limits of the environment. Dir: forms outside these limits are also accepted; passwords, if present, are enforced. Commands Delete and Rename and any commands that would create new files are available only while the wheel byte is set. Contributors VLU directly incorporates the work of many "better makers." My thanks to all of them as much and more for the opportunity to read and learn from their code as well as for their library releases. Among them, the following: Richard Conn, Howard Goldstein, Jay Sage, Al Dunsmuir et al. for SYSLIB, Z3LIB, Z33LIB and VLIB--and ZCPR, itself. C.B. Falconer and Steven Greenberg for USQREL, UNCREL, CRN, and BUFFERS. Steven Cohen for M24. Carson Wilson for DATEHL and Z80DOS. Bridger Mitchell for FRESET and CRUNCH23D. Martin Murray for NULU, the standard for these efforts. And Gary Novosielski for the library format. Note from the programmer VLU, its source code, and its documentation are copyright 1987, 1988 by Esoteric Software. VLU is distributed for non-commercial use only; any commercial use or any re-distribution in association with a commercial product or package requires the prior written permission of the author. I may be reached on Z-nodes 2 and 3--Al Hawley's Ladera and Jay Sage's Newton Centre; both are available via PC-Pursuit. I log into these nodes approximately semi-weekly. If it is important to reach me sooner, my home Z-node is #58, operated by Kent Mason in Oklahoma City (405/943-8638). mercial use only; any commercial use or any re-distribution in association with a commercial product or package requires thetZ3ENVFCFORCIM copyright 1987, 1988, Esoteric Software  i67V3[R8sZKbx K^͚5o3!m~!8>ͼ4 / * "X!  /6! "' !"7 !LB">R2>2% 2E 25 !"^ +PG ' [͡ :G(H͡ H#!˞W: :W >͚4~!j:2!(́1 G!0B7  o3* oG:G(xH7ͤ77?~/~+=-3C(FGJL O&QT8Va WXYL#i@LG͈4Rx7RA!DE"K|"MGRU#j!́1  K`o3͈3>͚4W([!   Ͳ{Z:j} !́1 !́1 b} File operations O - Open LBR E - Extract D - Delete F - File size C - Close LBR U - Uncompress R - Rename  A - Add to LBR K - Crunch V - View  Other functionse 7^E / - Help T - Tag W - Wildcard tag ^A < ^S < > ^D > ^F X - Exit Y - Untag G - Group execution ^X J - Jump # - Retag Q - Screen refresh ESC switches dir L - Login M - Options Group operations T - Tag (*.*) E - Extract B - Build new LBR V - View U - Uncompress A - Add to LBR D - Delete K - Crunch e Command? [/ files, eXit] - G77 ?F/FXb j!0̓ R??????????????͢3&#͸3"*3~!8N~2#~2#~2#~2#~2 ##~2 #" " " " " " } Insufficient TCAP͋Rͣ͵̃R tR̛Rͣ ͣR͋̓ܵRt0R͛tR͋0W(::W*# ́1} ->*# ́1} * [% \5[ [ R0* "! " * "# ( ͡ L* [ R08 ͡ LW(! 7 !' ! ' !7  W *! "! *# $"# *! W R"! *# %"#  *! [% R"! *# }o"# *! [% "! *# }o"# *! W [ R7*! W R[ R*! [% [ R*! [ RW R* " "! * "# * W !\5R" "! * "# *% \5^#V#́1 ̓ !ͭ ̓ ~# ( (ͤ7~#/ ~#ͤ7Ϳ >.ͤ7Ϳ ~#ͤ7!͞ >2!͞ >2!͞ !͞ !͞ !͞ ɯͥ++~##/(!!6!#ˆ*X" "! 6 6(͆ [% [ S :24-6Ɓ_:(! ~ ##~++##> !˖WH H*7 " "# * " "! K x 0( I  *% 6#"X!" " * [% ~ ́ (*% * #" : (K% ! 6 C [%  ́ ܏ y [% K y [% 6O~#:% GO~q#* " ́1* " >2 >2 ~(7 [% " ~((: =2 * $" ́1: =2 (>2 : G } [% ~# ͭ ~ͤ7 * $" ́1>06*E6  * #" * #" W(?~W#~_W{_#~_bk͚ : G(#: G##~#foT]#W(:O(˄ra6w=/52b,M("4Ϳ(!r :2 ,a6t=/52͸7L(4Ϳ(! :2"M([z T7p!!6:͢5r5 ͭ5>M* !z6ͭ5 M>f r } "l ( *"w( *"*[XR0*[ R>"X!RR j <}o>"[XS "*rK: .>l .L *u }("͗!M *"2&!,3͙3*LL Dl |vI()>K)>K: w<W<:(~*:w c\a6!(́1 } [DU][DIR]:!3 }́1 (C!͸7\,3͙3 2: :]!8 !] :\g:io"|(2}(2:͢55ͭ5ėI( d)4=:͢566ͻ,͓6ͭ5>*M(*|ʶi* *K: .*L:͢55>(!!6*"v6>ͭ5:?2V3[R8:G°_R*L D( *&.>!"9%""!*f.*M4|}*O "*T :OM!y*L4O*͗.>D ZF#~(> 8+q#q#q!&6!>[ +&)!> ;-~< w#7yw#!6#`3} Directory !2 }R6:#6ͻ(o3>͚4 Ͳ!ˆxX͚5ö2ͫE()>ͫE(:(͘͝{8͝ :_:!ʹ%<=<<=)!͸7\,3͙3 =/=G:iOɯGORt!~( v((f uW:(:(ej> ͤ7͗0X!˦A:(FdGroup Delete? (Y/N/V) G7Y("N( V !˦:?2> ͤ7 R!W(!͸766d)}  done!ˆ*:(=g"\*! [% ~>ļ4öRrwtr ename  to !?yR!>ͼ4jW(5ė0jR66!r5^)ėRd)!rl)![!  *# ́1 RR͛>#*^ (#R͛>#> *^ +"^ ͋ûRB͛~' >#͋*^ #"^ 0GR} ildcard tag !5yRB͡ *! 8͛>#( ͋*^ #"^ 0>͚4 R} ump to !0yd*! L*! >ü4R*! ~Rjͭ  N P7>Kͤ7 P7} recordsR[) * R:v::v: ͤ7 K_p*Hcannot close filechecksum errorfile not found: Rdir/hdr format error Rinadequate tpa Run-written data: cannot type Rinvalid format: Rdisk/directory fullRdisk error: already compressed: Rmember exists; cannot add Rmay not crunch R!́1 } ͠ ͎> ͤ7} VLU 1.08 $5P7} K free`384 > ͤ7##Ϳ y > ܤ7x5Aͤ7y6>:ä7* %.?́1 #*  } [more files](R} [empty dir:]e 7open: :G:O!ÿ b!́1} VLU Options Menu: ʹ a. system file suppression  b. prompt to crunch sys segm  c. prompt before load to lbr  d. if c is off, auto-crunch  e. prompt delete on extract  f. prompt delete on lbr add  g. prompt each on group del  h. transfer datestamps  i. exit with warm boot  j. discard not-smaller files  k. allow un/crunch to alt du: l. multiple filestamps/crunch} letter to toggle, [CR] quits G77 ARBWC\DaEfFkGpHuIzJKL !5!0!+!&!!!!!! !!!~/wMb:ʶ ( } on } off} ̓ ^#V#͟~ #`3C`!"b"\\=/ V ^z( @S\S^#~!>8 ͼ4*`"^m4~Z 8/@zSbS^###d ͸73=83ra6!d!́1 } ́1 }7!͸7,3͙37:!}  Delete !:O(!ͭ } ? !~(} (R/O file) ͐7!͸7 ?( 7O~ #*! 0*! [% [ R8~ 7ͣ t( :(:` V(͡ * "# * " "! *! ([% " ~! ~!06?#*!  ͸7͛w*# ́1*! *! [% HOq#~?(O #}oREͲ}  [strike any key] G> ͤ7 !́1 } Command? [Open, View, / help, eXit] - M>06=WRdNew library [DIR:][NAME] !}(ͻ!\# >? #~!C\x<2y2͢5!LB>R"25(͗ڣ͸7>ͼ4dHow many entries? (or CR) !}(!~+ #͘68*^ + R0#H""))+"\ }  initializing 6#}  entriesa6!T ,3͙3=/͐6>5ͭ5!>B÷ͭ5:!2dclosing library:͢5>͚4!LB>R"2665ͭ5ö*\ #DM*X$4 x w##*3/##*3/y)6 #6 #6#ɯ#*X$^6#V64͈*X$~4# x 53/*\ # \5}OD!~!:2͸72s r)76## !NF* ":(G>wG>453/ͭ*3/Ϳ*3/Ͷ*3/*3/y)R>*! ͼ4} roup ͈4 &} (View,Tag) - G7ͤ7TE >VW} (V,T,D,K,UW( } ,B,A)} ,E)} - G7ͤ77RVTE UKBXDAE2` !B͡ R!~ ˎ:` V( *# ́1*! M((1͛~# "6'*^ +"^ :` V(j33Bʩú0B>͚4>ͼ4:/2:` Bʩ!? ͲBû$$$.LBRR!ͳ 8!T&ͩ!8! u$͝ >ܲr$>} 2&2&<<2&:*¬9w_88 ( P!GMG?!x 00F8B ̍! 2&>  :&=(2&> (G:&O:&<2&x P!>2&ͤ7:&/2&:&=2&:&<2&G:& +:& 33?!. :&=>2&:&> ͤ7:&<2&* S *! ?(O~ #7RWR*!  ́ R!FRj&ͩ!8Xͩ!8P*!  ~ # #~8;:(/&ͩ!0"&8(O} crunch *! ͭ } ? ͐ /: )!ͳ dAdding !ͭ %͜öR!"ͳ &ͩ!> 8 > u }(L$#\#*>D͖>>͙ܲ#́%:OĜöRWR!ͳ jr Extracting  to :G:O%;R!"ͳ } u M > r$*_8 r$*ͬ9>ܲͦ#öj*! ͭ H&!:O W K:=G!ͭ } !&̓ *}Q|Q[z:O w _W* 05R>IJ>vQ>Q!:O !s b$>.Q!:O !{b$:& *2-} !&(b$Q!:>-0">-:C-0"C-:H-0"H-!;-[( :*2%":*%RdNot smaller; :(} save anyway? ͐} not saved33:OS"6öj#*"r:R.2J-:R.2F/͸-0>:dcrunch system segment? ͐7}  ==> ABSC?MCRLE?EI?TIRLLOGO?JOV?P?DP?LRBMR?LS?RSYSTX#FCPIOPRCPLBRARCARKBADENVFCPRCPIOPZ3TNDRpage '0IJR#͡ RW7*!  :G K>͚4V((9*\|G'"\*^|G'"^*b|(E"b`3DM͚5V(͚5!733H'H; !*:=g"\!>ͼ4s! (7:͢5K![X>06z6> (#*R>8 x ͭ5ͭ5Ͳ7!*X" 6͙'*))+"\ Wx(B>IJ!" *' "# " *X") " ! $DM~(0!#K% +6 #* #" !˖! w!""!$6a66((65>(/:!#> "*"=/52>#06*"66*!  ~6͸7W  !Ͳ(LWH>͚4 Ͳ!ˆ!56!LB>R"2*) !' (  6") ! "' %́1 $!7́1 ))6 )# *))+"\ DM*% ! "% *X$ I "% *3/##*3/W!K$6v6# x 6"9*K;*͙'*))DM[X(<($# ͷ(!  x ܯ=7="9*C;*:;-(}  cre *;-:=-͓*:@-(}  acc *@-:B-͓*:E-(}  mod *E-:G-͓*> ͤ7 |ͧ*>/ͤ7ͧ*>/ͤ7}+6!;-*!>-m+!E-*!H-m+!@-*!C-m+,!5-*,!8-m+#~+(b+d0XNG!m_\5x( x #+ 03=(G[+x_0o0$+ 0o0$!~#()8&+0W~#+?<0 _W{_|(6|0,/_|W}<0/W}0 /_}{ɯG7OOx!>606*E6"2-|!ˎ!;-6#)L,(2=-";-L,(2G-"E-X,(">-X,"H-^#V#b/^#V#͟+6:4-! =*-(8:r06[E6L,2=-";-L,2G-"E-!H-L,2B-"@-!C- !;-w#:*-*2-ͭ*3/Ϳ*3/!H-*3/!C-:s06*-:q06[z(L,27-"5-!8-7*2-|~7~͢5.y怰(Q##N#F#8/*E *|(+"(+####8/!65(!~ƀw#~w###/~wí5~͢5##N#F#8/~#(2*L(*#"+~րw#~w#/###!6ͻ,57 í5w#6#q#p#3/T]w~.͸-~͢5####8/ͻ,5ͭ57Fw####~#Nr+sQ_x. J-0##N#F###$/#^#V/r+s####~.̸-##N#F###./###^#V/r+s##q.Wx(>͠.~ ##8/##{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_W5~#<54#4s#r#^#V#5<N#F~#4 x |"/N/t/҄/|ʄ/"/j/x/2//>•/>2/*//O"/ <ڡ/G*/|¾// ͤ7:}1<2}1i1 Ϳ0>(#+~( (#r1G ʿ0 7 M0 000000000> w#:}1<2}1 -1(e1(-1(e1 B1B1(e1 B1(e1(T1-1Y1:1O:}1Gy2}1r1 XR6#*}1T]B1(e1 B1"}1r1~(ͤ7##6 "}1M0:1G:}1+!}156i1~#!}14>ͤ76> ͤ7>ä7~ :1G:}1*}1́1**3~!ڱ1~22## 3~ʱ1Ͷ1:22=%-2222%1\1ͤ7ÿ1ͤ7ÿ1dk22e23L2.C2+.2>2r2i 2ͤ7ÿ1>22ÿ1>22ÿ1|2O*2͚2ÿ1G|2ͤ7:222ÿ1|2ͤ782|2dͳ2 ͳ20ͤ782|2V2|2dͳ2 Z2:22ʍ2:2:2ʈ2Í2O:22ʩ2iaʧ2é20ھ2ö2z02y2zͤ7O2* +~2>G2 232 3~#\ 3# 3" "*3"*3̀3a6 > N3V3 ͈3*3. N#F3. q#p͐3͐3˞3###!~* /F##x_* ~!3=ɯ* ,~* "~#fo* -~"Z4\44~4444F#N+##*Z4~7O54#%4\44~4S4#~+S4?4* ^#V#~ѷu4XG* ^#V#~#Fѷ* )~#fo~=Һ4<* R =ʶ4î4ɯ=4<* R =44 w#4ɯ!""5*"5j0 O}!o|gy""5g44|*"5* 8W+}(z i`: ()= կ252525=<0*5"5025)*5:5ʔ57xͷ5y5525:55_>06>06=>_> 06=>06>G6>G6>06!# >06>06>>06=G=x>06*.6".6>06OSC6"E6<OG =x6 6#>">!u!t"6#G66>06~0ھ60 Ҿ6bk)))_zW#Ü6{d6 60ͤ76 6_y66{y0ͤ7{'#7#7d#7 #7}0ͤ7}o|g27 %7}o|gy?7y0ä7V7'y7y7dy7 y7}0ͤ7}o|gڈ7 {7}o|gyœ7ʜ7> ä7y0ä7O*. 7~77w#ú7a{_F#"7##7###7*77#~#foCopyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only."8s81_8!8[8*8c9v c9( >7{8ɧ c9(898>>c9Oc9Gґ8*8 88 x Bc9Oc99!!!!G:8G6,q,p,(y/,w,,69c9G7*849;933Ù888 (Ow9ɷ( =Gyw9>w9F99#>v9#>):>9>9>9>7*9ɯ9990:!9"9!."9>0g"9>(g/g$"9|g.*|:9*9&:gz?#>):9>#>#>#>#>!9 Q:W:æ:z::!"9t<> 2929!;29> 29i:!;Œ:29go"9"95=9D;!9~6;:9ʦ:5=9D;:"9$=;D;!9~6;:9:;<29:"9$=;D;*9:9ͳ=;{99go"929z:> 29>29>29::9W;:9g~ w*999:9gk~…;>29> 29;29~9V|g^z;WW;|g~ç;|g~29O*9$%¿;ʺ;o%->$"9&"9;=g}->%;>->*9:9G:9x2<29*96#͇<@s# x‡<}eoҨ<$:9¨<:9g:9G}/<¶<OT]<<*9:9GzGK<9|0g+<~# x<7ɅoWgG}oO=#z|> )))).))= = =))))l5=z={$=:9G:9OyY=O{_zW@=y29z7#>7*9͇< ͅ<*96#(ÇL~ʏ=͢=Â=*9r|gs:9gyg*9:9W|G>29x>L~=:9=V|gn:9g~ ="9͢=ý=*9|*9#"9*9:9G+<|gp]))))o{g:9g#*9"9F*9u{ozg"9!\>9 ~# xQ> %2>!9">B>!g>$A>%ͥA> ͥA:>0ͥA>ͥA;A?;A?o:>>|v>} ? ?>2i>> 2h>|!@"k>?*>>?>7?> 2g>!A2r>go"o>"s>>2q>n?>2>!͇?R?A>??͇@A?A!A:i>>ĥAA!͇?BL~<@ʣ?ߺ?|g{?|gx?:r>?:>?:>?:>?|gV|g^a~ wxa:r>?~ ?:>?">*m>|!>@Õ?*o>#"o>:q>2q>:g>< 6@2g>>2r>:r>k@*>|ʄ@*s>#"s>">x2>r|gs|gp7xr|gs|gp@|gr|gs7x:j>W*k>͗@"k>;Aڭ@Aª@!@z!Az;Aڭ@A!@ª@>!@Z;Aڭ@@A@!@z;Aڭ@A!@z>!A;Aڭ@@!@z7!>6!:>ĊA.A7VAA)GAOgAyͥAEA7>2A2i>:g>2h>:h>O/G)^A:i>@zA:>zA>ÆA2>y >2>AAVA)ҖA@A!y>4AQ!>4eB!u>4A!}>4A2j>A#4#4#4*>AOs# xA]))))o{!>g#*>"m>!.">uyoxg">:>@JB>dW!9:>>dg: :>*>:>A:>ʐBʕBG O:g>?x O:t>?ÕB:r>*~>*>dBBz¶B:>BA7{2>{B|BW_B}gBbjȇB )BB{zCC_C_7>CzS )5C&C# /CC33<C:C# C y/Ox/G >2>AAVA)ҖA@A!y>4AQ!>4eB!u>4A!}>4A2j>A#4#4#4*>AOs# xA]))))o{!>g#*>"m>!.">uyoxg">:>@JB>dW!9:>>dg: :>*>:>A:>ʐBʕBG O:g>?x O:t>?ÕB:r>*~>*>dBBz¶B:>BA7{2>{B|BW_B}gBbjȇB )BB{ztZ3ENVCFORCIM copyright 1987, 1988, Esoteric Software  i67)3[R8sG;KOx KKm5B3!m~!8>͏4ͮ͸ ͮ * "E!  /6! " !"& !LB">R2>2 24 2$ !"> +;6 ͼ &͸ ͮF͐ :G(7͐ 7 !˞>: :W >m4~!jͮ:2!'T1 0!0Bͭ7  \v"* \vG:G(x7͢7w7ͭ7?~/~+=-"C(FGJLO&QT#VA W~XY7#T@9G[4Rxͭ7RA!DE"K_"M2RU"j!T1 ͸ KMB3[3>m4>([   ͜{G:jl !T1 !T1 Ml File operations  O - Open LBR  E - Extract  D - Delete  F - File size  C - Close LBR  U - Uncompress  R - Rename  A - Add to LBR  K - Crunch  V - View Other functionsT 7^E  / - Help  T - Tag  W - Wildcard tag ^A < ^S < > ^D > ^F  X - Exit  Y - Untag  G - Group execution ^X  J - Jump  # - Retag  Q - Screen refresh  ESC switches dir  L - Login  M - Options Group operations  T - Tag (*.*)  E - Extract  B - Build new LBR  V - View  U - Uncompress  A - Add to LBR  D - Delete  K - Crunch T Command? [/ files, eXit] - 0͢7ͭ7?3/3XM j!0r R??????????????u3&#͋3"2~!8N~2#~2#~2#~2#~2 ##~2 #" " " " " " l Insufficient TCAPzR͒͢pRͰ cRͺͰ̈R͒ ͒RzpܢRc0ͰR͈cܺRz0>(::W* T1l ->* T1l * [ /5[ [ R0* " " * "  ͐ L* [ R0' ͐ L>(! & ! !  !&  F * " * $" * F R" * %"  * [ R" * }o" * [ " * }o" * F [ R7* F R[ R* [ [ R* [ RF R* " " * " * F !/5R" " * " * /5^#V#T1 r !͜ r ~# ( (w7~#/ ~#w7ͮ >.w7ͮ ~#w7!͍ >ͨ2!͍ >ͨ2!͍ !͍ !͍ !͍ ɯ͏++~##/(!5!#ˆ*E" " 55(u [ [ S :2-6Ɓ_:(! ~ ##~++##> !˖>7 7*& " " * " " K x 0( 8 * 6#"E!" " * [ ~ p (* * #" : (K ! 6 C [  p ~ y [ K y [ 6O~#: GO~q#* " T1* " >2 >2 ~(7 [ " ~((: =2 * $" T1: =2 (>2 : G l [ ~# ͜ ~w7 * $" T1>6*6  * #" * #" >(?~W#~_W{_#~_bk͉ : G(#: G##~#foT]#>(:O(˄_46a/͚525,M("4͒(!_ :2+46^/͚52͋7L(4͒(! :2"M([z T7_!5:u5_ͦ5 ̀5>ïM* !M6̀5 M>¯M Y } "l ( *"w( *"*[ER0*[ R>گ"E!RR j <}o>ʯ"[ES "*_K:->گl .L *u }("͆!M *"2&!2l3*LL Dl |eI()>گ:ͷ)>گ:: w+>+:(~*:w c\46!'T1 l [DU][DIR]:!2 dT1 (C!͋7\2l3 2: :]!8 !] :\g:io"|(2}(2:u5ͦ5̀5ĂI( 7)4=:u555͎,f6̀5>ʯ*M(*|ʶi* *K:-*L:u5ͦ5>(!5*"I6>̀5ʯ:?2)3[R8:G°_R*L D( *->گ!"9%""!*9.*M4|}*O "*T« )O6ʾ!y*L4O*j.>ïD ZF#~(> 8+q#q#q!&6!>[ +&)!> -~< w#7yw#!6#33l Directory !1 dR6:#6ͪ(B3>m4 ͜!ˆxGm5ö2͚E()>͚E(:(͇͌{8͌ :_:!ͣ%<=<<=)!͋7\2l3 /=G:iOɯGOR^!~( v((f u>:(:(ej> w7͂0X!˦A:(FdGroup Delete? (Y/N/V) 0͢7Y("N( V !˦:?2> w7 R!>(!͋7557)l done!ˆ*:(=g"I* [ ~>ď4öR_a^a ename to !>dR!>͏4j>(ͦ5Ă0jR55!_ͺ51)ĂR7)!_?)![  * T1 RRͅ>#*> (#Rͅ>#> *> +"> uèR,ͅ~' >#u*> #"> 0GRl ildcard tag !4dR,͐ * 8ͅ>#( u*> #"> 0>m4 Rl ump to !/dN* L* >Ï4R* ~Rj͜  = #7>Kw7#7l recordsR[ * R:v::v:(~#`#ɇ_^#V*T(:w j!> w7 6J[o3cannot close filechecksum errorfile not found: Rdir/hdr format error Rinadequate tpa Run-written data: cannot type Rinvalid format: Rdisk/directory fullRdisk error: already compressed: Rmember exists; cannot add Rmay not crunch R!T1 l ͍ {> w7l VLU 1.08 4#7l K free33Ͷ 4 > w7##ͮ y > w7x̓5Aw7y͔6>:w7* %.?T1 !*  l [more files](Rl [empty dir:]T 7open: :G:OͶ!ͮ M!T1l VLU Options Menu: ͥ a. system file suppression  b. prompt to crunch sys segm  c. prompt before load to lbr  d. if c is off, auto-crunch  e. prompt delete on extract  f. prompt delete on lbr add  g. prompt each on group del  h. transfer datestamps  i. exit with warm boot  j. discard not-smaller files  k. allow un/crunch to alt du: l. multiple filestamps/crunchl letter to toggle, [CR] quits 0͢7ͭ7 A=BBCGDLEQFVG[H`IeJjKoLt }!5!0!+!&!!!!!! !!!~/w8M:ʶ ( l  on l  off l r ^#V#͊~ #33CM!"O"I\/ V ^z( +SISK#~!>8 ͏4*M"K@4~Z /+zSOSK###Q ͋7͟3=8ͼ3_46!Q!T1 l T1 d7!͋72l37:!l Delete !:O(!͜ l ? !~(l (R/O file) w7!͋7 ?( ͢7O~ #* 0* [ [ R8~ 7Ͱ͒ c :(:@ V(͐ * " * " " * ([ " ~! ~!06?#*  ͋7ͅw* T1* * [ HOq#~?(O #}oRE͜l  [strike any key] 0> w7 !T1 l Command? [Open, View, / help, eXit]  6>6=>RdNew library [DIR:][NAME] !d(ͪʾ!\# >?ʾ #~!ھCIx<2y2u5!LB>R"2ͦ5(͂چ͋7>͏4dHow many entries? (or CR) !d(!~+ #k68*> + R0#)""))+"< l initializing 6#l entries46!4 2l3/c6>ʯ͵5̀5!>B×̀5þ:!2dclosing library:u5>m4!LB>R"255ͺ5̀5ö*< #DM*E$ x w##Ͷ*/##*/L)6 #6 #6#ɯ#*E$^6#V64i*E$~4# x 4/*< # /5}OD!~!:2͋72` _)76## !NF* ":(G>wG>44/̀*/͒*/͉*/͛*/L)R>* ͏4l roup [4 &l (View,Tag) - 0͢7w7T% >VWl (V,T,D,K,U>( l ,B,A)l ,E)l - 0͢7w7ͭ7RVT% UKBADAE2@ !,͐ ͺR!~ ˎ:@ V( * T1* 6((1ͅ~# "6'*> +"> :@ V(j33Bʌú0,>m4>͏4:/2:@ Bʌ!? ͜,æ$$$.LBRR!͢ 8!'&͉!8!͸ V$} >ܝS$>گl 2&2&<<2&:*9w288ͫ ( 0!G60ʾ!x 00F8B m! 2&>  :&=(2&> (G:&O:&<2&x 0!>2&w7:&/2&:&=2&:&<2&G:& +:& 33ʾ!. :&=>2&:&> w7:&<2&* S * ?(O~ #7R>R*  p R!FRjc&͉!8V͉!8N*  ~ # #~89:(-m&͉!0%8&Rl crunch * ͜ l ? w 4: .!͢ dAdding !͜ l %}öR!"͢ c&͉!> 8 > u }(Lʯͮ$ͻ#=#*>Di>>ܝz#X%:O}öR>R!͢ ja Extracting to :G:OͶ%;R!"͢ } u M > ïS$*28 S$*9>ܝ͇#öj* ͜ &!:O W K:=GͶ!͜ l !&r *}@|@[z:O w _W* 04R>ĝ>v@>@!:O !` C$>.@!:O !hC$:& *-} !&(C$@!:-0"-:-0"-:-0"-!-<@~# =@~@#j* ͜ *} uF#l *l Erase stamp? (y/n) w !&6l Use old stamp? w: :(g:&(7dCurrent stamp is !&r l Accept this? (y/n) wdEnter stamp: &!d :Ot$!&6!~:(2+~](#6]#6!&(>[( :*2%":*%RdNot smaller; :(l save anyway? wl not saved33:O1"5öj#*"_:%.2-:%.2/͋-0>ï:dcrunch system segment? w7l ==> ABSC?MCRLE?EI?TIRLLOGO?JOV?P?DP?LRBMR?LS?RSYSTX#FCPIOPRCPLBRARCARKBADENVFCPRCPIOPZ3TNDRpage &0ĝR ͐ R>7*  :G K>m4)((9*I|'"I*K|'"K*O|(E"O33DMm5)(m5!7337Ͳ'7ͭ !*:=g"I!>͏4`! (7:u5K![E>6M6> (#*R>8 x ̀5̀5͝7!*E" 6l'*))+"< 8x(B>ĝ!" * " " *E" " ! $DM~(0!#K +6 #* #" !˖! w!""!5465((6Ͱ5>(/:!#> "*"/͚52>#6*"55*  ~6͋7>  !͜(L>7>m4 ͜!ˆ!56!LB>R"2* !   6" ! " %T1 $!7T1 ))6 )# *))+"< DM* ! " *E$ 8 " Ͷ*/##*/8!K5I6# x 5" *K*l'*))DM[E(<($# ͡(!  x ܯ=7=" *C*:-(l  cre *-:-f*:-(l  acc *-:-f*:-(l  mod *-:-f*> w7 |z*>/w7z*>/w7}Ͱ+Ô6!-*!-@+!-*!-@+!-*!-@+,!-*,! -@+#~+(bͰ+d0XNG!m_/5x( x #Ͱ+ 03=(G.+x_0o0$Ͱ+ 0o0$!~#()8&Ͱ+0W~#Ͱ+?<0 _W{_|(6|0,ͪ/_|W}<0ͪ/W}0 ͪ/_}{ɯG͝7OOx!>66*6"-|!ˎ!-6#),(2-"-,(2-"-+,("-+,"-^#V#5/^#V#r+5:-! =,(8:r6[6,2-"-,2-"-!-,2-"-!- !-w#:,*-̀*/͒*/!-ͤ*/!-:s6,:q6[z(,2 -"-! -7*-|~7~u5ͺ.y怰(Q##N#F# /*E *|(+"(+#### /5Ͱ5(!~ƀw#~w###.~wÀ5~u5##N#F# /~#(2*L(*#"+~րw#~w#.###5͎,ͫ57 À5w#6#q#p#/T]w~ͬ.͋-~u5#### /͎,͵5̀57Fw####~#Nr+sQ_x͗. -0##N#F###.#^#V.r+s####~͗.̋-##N#F###/###^#V.r+s##qͺ.Wx(>s.~ ## /##{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_W5~#<54#4s#r#^#V#͓5<N#F~#4 x |"/Nͥ/G/W/|W/"/=/xͪ/2/ͥ/>h/>2/*//O"/  w7:P1<2P1<1 ͒0>(#+~( (#E10 ʒ0 ͭ7 0 R00c0w0|00000> w#:P1<2P1 1(81(1(81 11(81 1(81('11,1:R1O:P1Gy2P1E1 XR6#*P1T]1(81 1"P1E1~(w7##6 "P1 0:R1G:P1+!P156<1~#!P14>w76> w7>w7~ :S1G:P1*P1T1*2~!ڄ1~22##2~ʄ1͉1:2ͨ2=%-2222%ʮ1\ʦ1w7Ò1w7Ò1d>228232.2+2>1r1i1w7Ò1>22Ò1>22Ò1O2O1m2Ò1GO2w7:222Ò1O2w7 2O2d͆2 ͆20w7 2O2)2O2d͆2 -2:2e2`2:2:2[2`2O:2~2|2iaz2|20ڑ2É2z0ž2yʢ2zw7O2* +~¿2>G2 222 2~#\2#2" "2"2S346 > !3)3 [3*ͭ3. N#Fͭ3. q#pc3c3˞ͭ3###!~* /F##x_* ~!ڝ3=ɯ* ,~* "~#fo* -~"-4/43~3333F#N+##*-4~͢7O4#3/43~3&4#~+&44* ^#V#~ѷH4XG* ^#V#~#Fѷ* )~#fo~=ҍ4<* R =ʉ4Á4ɯ=ҿ4<* R =ʬ4ä4 w#±4ɯ!"4*4j0 O}!o|gy"4g44|*4* 8W+}(z i`: ()= կ2l52j52k5=<0*j5"j502l5)*j5:l5g57x͊5yÜ5͚525:5͜5_>6>6=>_> 6=>6>6>6>6!# >6>6>>6=G=x>6*6"6>6OS6"6<OG =x6 6#>">!u!t"6#65>6~0ڑ60 ґ6bk)))_zW#o6{dͬ6 ͬ60w7ڶ6 î6_y66{y0w7{'66d6 6}0w7}o|g7 6}o|gy7y0w7)7'L7L7dL7 L7}0w7}o|g[7 N7}o|gyo7o7> w7y0w7O*. 7~ʚ7͢7w#Í7a{_F#"7##7###·7*77#~#foCopyright (c) Steven Greenberg 6/28/86 201-670-8724; may be copied for non-profit use only."7s7128!{8[7*769v 69( >7{7ɧ 69(888>>69O69Gd8*7 Ͱ8Ͱ8 x B69O698!!!!G:7G6,q,p,(y/,w,, 969G7*79933l888 (OJ9ɷ( =GyJ9>J95ͻ9ڛ9=v–9=9>ç9>ç9>ç9>7*k9ɯè9ͻ9ڛ9:!9"k9!."t9>0g"v9>(g/g$"|9|g.*|:l9*t99gz?=9 >====!ҥ9 $:*:y:M:ç:!"z9G<> 2g92m9!Ͳ;<@:2=>2m9> 2q9<:!Ͳ;_:2q9go"z9"a9=ڭ9;!c9~6̬;:`9y:=ڭ9;Ù:"a9<:;!c9~6̬;:`9ʧ::<2`9ç:"a9<:;*a9:n9͆=:{ʭ9–9go"d92`9M:> 2g9>2h9>2c9ç::m9*;:u9g~ w*|99қ9:u9gk~X;>2c9> 2q9ͬ;2q9~ʠ9V|g^zr;W*;|g~z;|g~2n9O*i9$%’;ʍ;o%>$"i9&"i9ʧ;=g}>%Ÿ;>>*a9:n9G:m9x<ͽ2`9*t96#Z<@s# xZ<}eo{<$:u9{<:u9g:u9G}/<‰<OT]Ͱ<ң<*t9:u9GzGKͰ<ږ9|0g;~# x°<7ɅoWgG}oO<#z|> )))).))< =<))))l=z={<:g9G:f9Oy,=O{_zW=y2f9z7=7*t9Z< X<*v96#(Z2p9x=L~ʻ=:p9µ=V|gn:u9g~ ´="o9u=Ð=*o9|*z9#"z9*a9:n9G;|gp]))))o{g:w9g#*x9"r95*v9u{ozg"x9!/>`9 ~# x$> %2f>!9"d>A>!:>$A>%xA> xA:f>0xA>xA͑A>͑A>o:f>>|v>}>>>2<>> 2;>|!k@">>>*d>>>>7>> 2:>!@2E>go"B>"F>>2D>A?>2X>!Z?%?@?>Z@?@!@:<>>xAͻA!Z?AL~@v?ߺº?|g{º?|gxº?:E>ʨ?:Z>¨?:Y>¨?:[>ʺ?|gV|g^a~ wxa:E>?~ ?:a>?"`>*@>|!_>?h?*B>#"B>:D>2D>::>< @2:>>2E>:E>>@*`>|W@*F>#"F>"Z>x2Y>r|gs|gp7xr|gs|gp?|gr|gs7x:=>W*>>j@">>͑Aڀ@@}@!@z!@z͑Aڀ@@!k@}@>!@Z͑Aڀ@ʶ@@ʡ@!@z͑Aڀ@@!k@z>!@͑Aڀ@·@!@z7!\>6!:\>]AA7)AA)AO:AyxAA7>A2<>::>2;>:;>O/G)1A:<>@MA:\>MA>YA2\>y >2\>fA@)A)iA@@!L>4̬A@!T>48B!H>4̲A!P>4̲A2=>ͲA#4#4#4*^>AOs# xA]))))o{!_>g#*b>"@>!."^>uyoxg"b>:f>@B>dW!9:e>>dg: :e>*d>:_>ͲA:f>cBhBG O::>?x O:G>?hB:E>*Q>*U>d͙BBz‰B:X>ҔBA7{2X>{ͷB|ͷBW_ҭB}gҵBbjȇB )BB{zBB_B_7CzS )CB# CB3348B!H>4̲A!P>4̲A2=>ͲA#4#4#4*^>AOs# xA]))))o{!_>g#*b>"@>!."^>uyoxg"b>:f>@B>dW!9:e>>dg: :e>*d>:_>ͲA:f>cBhBG O::>?x O:G>?hB:E>*Q>*U>d͙BBz‰B:X>ҔBA7{2X>{ͷB|ͷBW_ҭB}gҵBbjȇB )BB{zBB_B_7CzS )CB# CvZ3TCAP.LBRJ4X9 %o{y7XU!ԧ;p^^uITk~`CZA+ž>?2mvK(CDF~"c"h?kV_J|?p_A(N[4A#=dJ㩏an^*rFX}`!m@;n@?~$7#6@?wcL[0[n8?Q ؟ځ%?lwAAMˣpBS 7xP''0{ O׮U!vdjYMVoۡ-ʻ2?2~~Ƕ?qIiSsaݦ}?g󶟥Gm6n6? OAߒ?ߵێ6$/4>qpcZs 69\Ӓ?NO?CY}vaG.,>ŏ`%R3~$'(B 5|P?E%V,>|c#8'aUAӿ*Hwadk~ %'?, '1{7+)'_/ UO\y?aWo$ ?@9K|>/H!#^ c?i~?NdstG~|{6W٠ߓ o뒻[m]z]v徕Q{Ng-O_I^5`r3O|Jk@C}*"0}+~R ?mG#mϸ>@X@C"v?6 `[0l?X 3:EǞDqAok?`RZ8<yqB\~C}Pg8?hL>JѴ;|ٺpvEa !H?Yt?yyT?Oܲ:3#.x[%$V݀?KA}*v,?$)imSU}1 N.;n æ p;t$RrLVw6<ni11eo}hKVWRݪ\>Xd|Jʩ~U`n RtO^fz9_~$Xas x/7eϜ>)bKz='ܢS3%\??+OYg{ONssY#BZ{5+e+uC4QnA~Ku9 e[Z@zasKaQʋ  _? >'/v~ˀb`MnL>ZiaKx}vrRYGx<(a2?xڙ '\h+PˤNOl'BjXHĀbӵGRI3fJכu J̻ev7ܲ ҌB= @2X=Kp4/t$BDYRQ*b_2@*Z閤7`r?xd_/F~^%@K}%A}'9Ϡ0*[c! D m$`|U<~z WlO M /Wf e)_ `/7oP=īeeɂ+/f!hd1umJ?2[9}4~/pf+YOSe ?Xle:G/-1vlsd TN0)S)Q2GrG_!5ؿؿ )TwqX运tp,~_wL_Hm/+垽MJIC;_pab_#tx4%r\?}O݊QXhMN?h!s.#F MΉm)w `T/ \̠ٿ`- d.?{"XdW_RXr^sTܿ k{440-2v鷳xF>9>wC(u1m1]r%Kঈs3.ryo}UR/'` m4܀[ۚ6NߨfS 7 +uede/|/R ű,]1ާp=Em#lhIHҊ:k ^؀Q#@m>T^f Rŕ Dܟt6l+ׇ?pdO/MrnUvXmw]uJmYe iHoG@j S@σ(SuTn,.G0?2*V?/ϟ/Ah/ /uǚt];\ءn&><xᩂO ip0qVh j_㲴P7PSET)mܧ 7of0~+-̿t@`R>l[|i.}cF!9{/һf@`fԝь ϫClߗ 1&*跇Ńܸ 2<Ҏd=XR~ 50ガ!TN&X+KJgHtn>m 7N Xy-㨙VGHQ[ tY$6tፖ}ǵiD Ikq~.Ap4}SnjE{{ i-+ufE;5=BU6=3T*an'j`aVW!W1 hfgH2C[^0l4G 9N-BkxòŊ^7C! X 7ŸÞT*.G@iM-X.A6^гWوR/Al|*֞f#K\Ai"S .OOXn%!yaF /"Go73"ʽCsw姤fyg Y-<8lo"tcW:pM|_vZvҹP[ 찎)˂c,ߔ_Kj0|8b8+%W՝xx  )־xa/5̵Yr<"֒T`'d ޳L>mUû#<3L,Xz2 ^)dBe/+"6MC_p~-f<=8΃I}dE*}R -$HE=Q aEAhR!6!M-]5؝#[L1*N0eg9%CnN29FXN_ _?pCtySp 0^y 61fPUhh d!E^}PV[Wut'yNB<0򬞃DyNvY>  6ǎHDʀX  e`R#ވ": ?ͫ*喧˩^/p$eY0(lǓ1ڭ\; s wB7ꯏle1)`RWբa5kA09#W8&^d@1 (΅\'O$ 'iu$DI"$Cyչ(F'iOTϔW h=:(k`1Älr]vZ6K]_4M"z\Բjy!W@#H*f\R@!t!@!zF4"q|$[_wZI.k5 ܅{Mt7 CVK ?*h  xUM:@s4 zU@9TH@8dY"֓E3HA  *^/ Fѯ׊$ɜ 2`[g+lӕ & >F%P#>D# WT,]2#vL:-:ȏ[tz@#cL z/ѭn\T-0@#%#$pʷ%*чACXWV ~Cș޹1󫄲qנfH$1EFls!Dړ&]gikIn Ιdp֯m0]!S#&益b,ǒl !Y 7%I/>]!jYF ;I- fŀogJ L%Ap )UNE{$ACM.Tz3i BYRr"zgP V(dM藨Cx?ɿ>Zk+,+f{@])e5E,c+εʯoRiW?nuA=SrB*]`V1^Sv_;~(v)wNɥʚb`-5jd'Tɶ"}.a?j>+DaYņE=%i3_*o/ 3G\GK'PCeW6Tߙ"Tp̐79EL[ $]U*GJqR(Ԝ"(a'o`dž&Mb,*Q+htUM OH 9>\B<ȲC.uĜ]̳ S+ a4s9WPA*0? qp=(YSCA?t^e?6wIr?ESô`Nc%5Gv룱w8kHL=Cgg]zsXYog+q''@[3ɱ&;N~pMM%K IC[CzqQ_szC6{d_V[AJ HE0$Z, 8obNrL"as 4$݊j9{`I4ӃoߖS]t\"^{3:W{tCDEpeI" ]!mLٹ2(Ab84W=eEړ^VSmqaˁœZbuʇ XȿB1@?iW%ͭ ' +80OuX8 0Jxx̝a#ǭ@ys5 2*Hyfl%Lv\SǡyS(rAVd 5|@)P7R 5҃p.pi oR#bpɞi) !شh=aHrOi> l_ؓFS Hf_A Prf˚b8d td[[ebXsQ][b>ՇXeUieFWYs# B#<ہg庿(?CU\%DbfFĠw iDԁ0E=j0E&Ac@G}V~AN}m $~Gy|7? /+ vqy"Iej%k< _? help \ dir lsh*.* quit lsh-help zfiler dir function ir dir ? view p bye vPCPIAS11.ASM#  2$3 h 9Nb êH& y7 1'S8p7` Zw4Mn$L0@o9 jAL@t7 qC RM&NR*J1ۯeVBչl2$c-0x2Q7 Fyܐp 4 xy &Cp 5ٍqʗUmIap@VPM@jfWy\sYιm ;hgu(FWL6ߝ@s7kF5p/!(s f8lxu-Gjv!$ivEAƥ aGLWOqv~Va0De rV |LZlvhu^iG%hltHuS7cV"aJAPCE]vp1 C6XQQMx] L p8Mq1QdNQ4Aϖ=hDEfm a3MX0UU^JS h e !&!eVpۇ]SFZϥlGwK`qi!ʥZA ?G4 IhpVhJxPQTTiVE.]C1PFϤIa_bZ)MBTsn ZV]xQAu h0SrzEΈL3HKo T 1?2PAdGfItܐe aCU6 8 ̥d5ewO`sݸyj.nTJ!4$TOT Fk)Z,-_F{&o\ &ڃVnwQxcytbFa 4s`cYtm!GD,>*߂Q㦇ڎ&`Їxx|(~ab1PQEГΎXu܆",010t=bΉ>{ZJYy:Cyw~35 \$C\[! 8Be! \pM[@Z Bd U!AH"`BU BoqBE D&2bDJ H( ϷN51L?(9BAȡ@ r$4fAwF7$[zaMx < TNb2ft7t3b0T#P"N( @#k9Iܑ'(FA$x~QFF)PV]r8XAs=BpueBZ Sl mT 8xSBg+OLз'hp"pB ά$]; 41 kzjAAڽ=oZq 2ldj.w['er;qw3*紤,ᄖIX39=*{#Tla[ o]q5,Rj<o`lx06xQ$QCk&yƭHdۇٚhwLpTVY-T84LTVips&AsHإMͥSeZ³7agW EG׈T1Fw_G5ReT%PA0([FVVA 1L@rP"/0xwVpw"ɶIJ7M1>NDA&)dXeX>x9cuM"+A<))1òd%Tx|)uuwvZ"'YSG(D\~"x~P2_miFBڜ5Sty) LWd9 N? Y琳Rh4'.QQfSnK0PS1hVYvUDLk|FyڽK*AKD5'6h0 0V0BapO7MNɫ T1U۸ q4UiZiVRjS#KlF\UATa`QddrS.O[R39A7L'p`Sh''''OWU%dWaR?0"+!^[Ǥ0;Pvn^<^"Rq:tF:ǐp D01ZUDR X?GPRKr0Ц6I3T'@:DRTu1昱5 IɡI(F; UMyLjU Zp X @,T%V;E,TTU`M~  ,V&MV3PMuiu[HwE I~GjE;*:9X‡c?zb5 D6]7CBK2_B`jp͵=$2\H&`5Q=aKp1`d {jS%wUEڃ !*c&c%#pM`1u!z9dp м0V.`sOH MwIn׍\S몛wt.]΅ -MOQޱ.f=f > Xt.3]X" IMMy𦇉.K]qeRM6,!>at438yy{j|>Ԋ.+޺ިS{kϰ;kMhAM@t9*;F4nET2nhOsnz~J~Nüm.J8cռ8ٸeI ^=C$)!m"ެREg51;莲YqYY@ ю]fG19HpMȚ B>1S PH'OkCzm4^ӑN^!AcRj@cx =}&]bޕHn %Ini $d|?Z~>)^ZAGF2~#%6}o狈1ooo -Aݘo4~o-//1Oo3>?S|?N`6j.01כ^?MNo1L]Su$•ڻm<=֨Q*:WQLpK>g/jY)s(Ϝ?V[I3ٙ݀?hbtg֥(|HO/͝p3Κ,o/ĿF}T2>į\S Ӂ)&{,4P'PRh8>)r`@y^k a/Aj,aZfՖA@_Rዊ os/S@d_XEè>vZ>ma%{(@-+0)0a.4ISԃ\! @(ӆ: }st3G JPdл7z>a|+\^![WQLpK>g/jY)s(Ϝ?V[I3ٙ݀?hbtg֥(|HO/͝p3Κ,o/ĿF}T2>į\S Ӂ)&{,4P'PRh8>)r`@y^k a/Aj,aZfՖA@_Rዊ os/S@d_XEè>vZ>ma%{(@-+0)0a.4ISԃ\! @(ӆ: }st3G JPdvPCPIBDOS.MAC# ó@TH$0h(wLGLe;MAۊs1p5ŀ$cι 0&C)AMΗ e<yf4L1 : ̪˯i'#$#CԭS"Ή1s2L& :ڵkІn7)b2ts&|A# pU#.h iQ\f:o:cFC2I@y7fg*n4ԗ1 -M v/2q{Ϊn3ތf2U.S h.s=CxրeD ANZMw]ERFf$Oet [m0+fZLoz9htFxopa3X;$tqqeLQUAosQ $NB>Q BlD"X`2n]c ;q) s5YjPaM)P'qstyFhq%˥hQ B&YiteQz#E# Me:c`v Kjٯ 2QAAdS ,$ag+Pt``@&o@I IeA`X0V("Q~> D$ ( 0 L@5'b2ʁ(!4E#I`$ݺ;|:D"xdZ c6267=ޝ 9-`kaʓ7y~A<4,f (p-$,̺PH){&L(c2%=%RZG R7LA*ow](Ԍ͇6h0X &³Kr7`9"X6R }{Fb0̳2g% k7taQi{p hF,0aNBA 0ڝC?,a9ƙ I0<0HC·XoQe$ ' ɭH|{fMY dڌҼRho>vd:M]^u'I7%d1}&-$3-`75FŰIVXl3C5L۾v}ZjZe551(2&QO)7B$e=/U^Us8Yz%ϳ L^H[P"D7_qGD\̺I6LWVH@Q8&dO"R\CR&ֵXmᐮXsWQ  @5=a_V(f^r%UuЯiw7R?5a*%`'&g+n_-uNv b:nA"X1>_FAh۲E?ʫLbF) 7FRH'jԥf+ᐮXsWQ  @5=a_V(f^r%UuЯiw7R?5a*%`'&g+n_-uN #-READ MZ /CELLAUTOPZS.COLORS PZSPCPISTUFIZC S vCOLORS.PAS! 8پsγ !꺿A;a8 A #NG(h7꾇9E&%R<@b0aۯl#!xj/ hxs2@A8 AxV 2$@cCR,$43۾t:qڇbaHV,*PO'A@ y2GHEŭSq@ $/mW4MDwpn`/# MCyeNMH@B'ンR ;1= -oՄGt d,Hv_' }'r`(8TDqR5ZmH xnX{ AQTCEKm]F sF!g_uoY1^ A 0 C0 QGtdXH/c?U{wF^der^if dfi5 f 'FEHOQUW^G,ePFrDEi$:sL^  W YQMls B9J@ZAN'*~ZS nv⹭KGPBFKƑzڌՐ ۩WnzE Q%oDnrB@5FAzcz i/H  yrpзd:gH(B( CkX+0-Ft)N`;n-Q~.QҪgυ|H,dg a兜ffY ;%rKX*<0yy٤haitquS8sLlG K!fjq}Ijx8 `j[ sSDℲj;].VpmWV,dlF.δMƻTi)Z MdeiPeFn)aO$C.pGR>{I <* k4=\s \evM$ @2N.ŗZ[Z4x ?k[dgm|07 y-L)x?]Vrg6'r!E AH޿C:afX0xq&HanL2#D H $S"y4.l$tSAKBBF4de-=] ٿsVJ /e'|oOfi %5ԮlMx+behK%aA&9%QiWΏe74l\_]rG P l d?O|:cNVKDd| 4( CiL+0)l*eI"-)Vkae[ؼl{&xVV* Z%yK(ҔP)&gkA$V*$I|B->OQM %1PHN˴t[\ۖ,( %rzJdo**YjjyWu,nj7\ eha$e]d\R`i v5)٪o\drr 4N9DHޯj.Fea0U4E ;6C˞t=N.t,6Q$iԁ>c2ږ{`is ee`3" Κd a:pCqblT9 6ʮUQxn*K2p*? 1,P=pMTnЍ(Jtp2@Ss}ϫJ|HT*ԍ6Pmu0ʀ !1 ΋ 7iP?Z%D0stFaV4 $9TχF}6hU;kQ!`ٯ Ae kL`raHe̪5I*[/e7cW& +M'o-MK2v! F=fzjkOY >,+1Vjά yљ!fSʓmSB B @P@h c4۠I(~5}1 HIH&bht1)cDNUF6>FD17d !h4STlS6[zV8X[m1UW@jC$:.LC,|V˝;4{$nU( jFH̤MÇ$ 0pC*l̤^#A8DAsVe<6{W,Nufya%KnHD P*D{pI`N A8,G5*; lB/z6KfV);7;{Mg72&(po ;:GO&O,,P4>YT@ToZBF`h (pNP/%X1q*1sn?`o{e1R;[*qd(RiO*.rV_,%rZR8[\ ^8|[<CkƂ( ib21A`&ko csnԅnogJikm|<[o~Ep,c占t 8n]w}!{VRldynʍ2 _x7k\_i %26 BL[>%rrŎ?(%|JqP /W `,EZa6%% R@Tv-READ.ME ! $d1GI #NO(h7꾇;@C" P2ayhz"aۏt69D3y Fڗc@ 19iFIzswCJa4s0|P$V5(iRAtnaEf"@ *'#)ld3c->FcǡA9&xE!Ԏ0T#yav"CVp27# $)XyYA; в /Qt $AjBT Q !BffX)!mQ!spFa@(Wi)w|zGV.GDoGBB=Hwf_y=  TsNA!q(iB2eư @8 !ESP $M]}v-READ.ME ! $d1GI #NO(h7꾇;@C" P2ayhz"aۏt69D3y Fڗc@ 19iFIzswCJa4s0vPCPIDVR6.LST[2/10/88 Jim Lill]% M i:MS@t4DCۓe9& re2ݣDv(AJ fX DQIPa7D| v0M(f9 I ƥE&ye`ҩuLqZ,. 1l6ϋ8PscΖMfeƃ:z߷cir0QW 9Dc@sMsD*nG-ca=Ʒrs$hC:#3 $fHSb[_ qs.BT l>0P2Ap=R&)ʬj*ڋ!/ˆ?OD<` kplp!/BŶ.56+a@T-JjA@&*$ C! k`!¡@+1$A:E;p;2ٽAd`:J'Bz&R!e9\ӹ eTUT[3U{5J@Ae-VR9¾N0eA0@  `;aP"8hhgûdQ6H)r"H"H^!bn &rԢ3("9/OJ 9l Jê !8,d &6j6ҁV1b::V|njE`k4c(p\" @-ًH)n2ަ$!/ ^44$J' " %Rahbo`n c ʄOoL>D8ڹ"e)H k8 1e0IzA87 QHf%$֦9|(j~(>unziH4$k(@de WgH e\IB30P(K*4)˜&R!u#-A ),ʪu cP(Iy5&pPH4++)+tXDp0n[<#@uV|MI<xS0a!V0]oTȂ|{>PHI ^D#FsE CbX6kA6pPP9ݎa9P*`ѵ3 LBȋ.v.bMD w`+Գ.U'Z-M1"JQc١FIaHP&`8M B1gI|@AJ`ư$/qW*$.U$GC'Mb7hrÀ9c(pLNOSj/2 wRSN&niJ% ,8Kp z`ÿe#ҹCF[wzNSJ:!"Mr֭k[ FKsܛJ,WCҊB|ԊnfM&K\2 i Ίu*,"*TH޳@r‚)/9{9ۘ- 芀1(T+:q O+$p vzΓXHBxJ&` T @Z$.Ech!148Lc,w/ j [`o&u Cx ji -̮BL X \7ˡ2*Fa0*thcDAq.Hn9T'IQpp@CdSOvVT@P܈7 C1B 2Q9鱤sKr"%_ mZe>ś~?53fQ'WEv'K>#:r2,jN"2I"1rݧB L!$!q )A?=ZE 5 zxPXah,S}:6rlX2I'p^2'ڏHge|,&0#EAuD#(bOtٱj1'0l],B00A@it8@UDe_U1/E5bqPEHEɘ8*{&bHm0AumQcBB* 3(HuIbiMQ5$0wpcZETֳxT',]E9 s,mq,D&\aX-  /nus !NmRa1ۯ<6%:hFYv*BVıai@{1Bj*7E^4At%aQi]fCyDP/vaPfIJ#vp(n3A0l@qc&# Bac }FPI2vv5ژA%*XrT!(*bq'o&ֶqDEA&)~!@@c(PS18Eҙ&"a( K|9kQd8*IUM!FV(W&ݿOw1!ZH9_ R Rorv7P$*%6F_A\ajP0^X^Ryۚ8X^t5,ZaUw0:keG&/{iBTFaCy1 QU1 ZOY "b#A\5P\6\@ 99q5_)%r,Ft*y1|2%5v7S4iQs%J|D*8fx7&:YR2B,nW*9;FtUDm@8SK $/1O\jQS@ RMA B z$GE*D$8r'z/5t,*ZC"x)tIFx58`8e .\wyTRa:*a^5$r**#sԪAet9GŪ~kaEEhiƎ9S,Nݮ2A0o bF52$)DP-k 2FG&٣ͻ495@e"0jlDM-b~i,+&QV {bD$8xr11#{c,$eݺ(U-&z++V!0}&b08n3$ `2@f*%?vΦw&y0{8e"StLU|s3'x@ʯ(D~~;UDT63w*4Xm8ͭ83E%npBN7X2&4DBQs`Jgpf1.5v6WfHf~rH":Y eSmqP5!F|'HPߺI" XUyDa/ޖWz$gWqOٜQ+r%Qc#a+/υs&b1tZ_XAz8h+Q%0|4wqShLcm;QF#ת7~Wt٦HLcUEm-4Y1x(e^2B+'êR e[.hj`tFʖ-*(#!JXW9^z2D+GѝMbk[1!"p{ana6P-My1}.UX,?UCݯRڑ3|R½D P6z]!kj*_?T7GA2w)ZXBmn긭ǘj4y 5qI\OSB6Dpau$qWq~AFfUnT@lfx ̓hXxVv.L6/BZ΂fQeNy^ס4AbHb}1tYB29 [{MPX`z{1 y\zZUs(*LCT90V^S/E`MN \j`tFʖ-*(#!JXW9^z2D+GѝMbk[1!"p{ana6P-My1}.UX,?UCݯRڑ3|R½D P6z]!kj*_?T7GA2w)ZXBmn긭ǘj4y 5qI\OSB6Dpau$qWq~AFfUnT@l CGRAF CZ uCGRAF CZM $ؒDHIRES AZ5-ZDHIRES DZCDHIRES DZRPDHR CZ '[DHR IZC)3FAST2E DZR ]FRAC CZM PƕFRAC PZS[PGRAF CZMkJ3PGRAF PZSSOFTIIE DZR& vCGRAF.C # M3aeԋ!ʊ.1êʬ O XcXh0HoffqDo6TA*P%3[ٺcv}6`@,{F#i ۜ6g9Lb l!AÔ)AWC0`xqjpc .Fc|PmD1b8ژXA[H,*Zt԰)fytzP1p6BÓ|$߫ }iq} ٺ_'d 1f7P ڣkmo'QpGH{Yf UpdUeIv\vB;Q%_}Px X-mX fiW<H=xg]3 C@'fKzer^h& JTeey[]}fZe%iAn'`DqLܢRbucbqtQWUWr`h vCGRAF.COM#   0`Eap2K 3+!KH\,xa%`3 C0%eBU>Ԅ=%XF@!odA`2PU(]42nVuW+LTjb+da ݯ@ ^هdo< 'e…7&}]K™`׼3GU<7`vzzK@'_;㈹}rQ &4t6eG{C'O<:?ٙ2LS4q$DXQ2|GA< d N vx ( #qq - \{ L4J|Ly2zײ\w15.ٺjt+} qs )0Gy@p|AL04@&@2) @j1@`8~0L0 aCw@3pd00*OP"R")jlB! ١^M0aL`!ٔsKD +D jl3!!B@F4 p2@08F76xJqq6yT<2悶@@,0+c; 1Dp,- L@L p/t<ڴC4A! 3Y3OmdC&̱l{&B2CAJ 0'q$8d0 @GH9C(L03CP`?^sX6$?6 Q}Wpd c4NPL숏> #x5L` @^\0@`^eˈF ~20|Z@xF`@l&@q 488̺z8a0F&%j``;@w j F p pd>x?p#$!2*" :݁A8}`l V /7b]n̠+swf;_F]\ek]vϑ@Eiuwxc48q@ضOQFh!>KR(2XhPJ FP4mbF3@*B8 x))k 1 F@ e 70)D0a'xDa|@9h;VA` |! VAd ICA K<8\@i  L4s^a=c  j@< ˆ`56 C!?@hp ި2+d=4:kC)W5hȵXP2w>i198 @~4;\ y%\k3#CnC '= vJn_YH{hD D8}c4H^w=ր9@`ԧ}3/3?눥bB1=P^ =؀O>W}7}g}}hf! ܎~G&M{v{Wk 27xx!vΪgr` yQѪ86(:ʶ vݮ1{g7K#KvݝװG z`}3@!n[ <xpbs lˑ"pshʄ50oD{VwcƷxpHj{Ά `ioWýI( |Hwf 1C 8xpCfc ɿ  @N"e\ 0eJ 6Lwc巤 0a `˕ɽe 1! 8 F MX HB_݌px ܛAs(] Uh'[  "x(0{0antp3x`c7Pri  lc-dwi@emdP.xiCYGKOA L%<(jl*q@/!,_!m0Pi +kY[tlA(,lHXXl|L2G LH 2A0 xvpà|@  [W#f Wr<9 È薈<꿃 `@ =}q@z8M"vƥmDp + ? Fu-2{]!{  @7ܤ }zh Earg  ] ܜ P033@ t po (7Ar c ; X ou0Pp  _Kb `07;P*7Vb R)K)KBvv㵯  0] 1…P#Mv  GQ:vDHIRES.A6# cwŌR$E" \A A)0AAJR@t ( A< * BY6$8L %")N+(QHtE'd@y <`R@3H"IXRJ9y mn"rLDXUzb)I\D+ji"nW"I"I`BN'dXIAji$ 8C$qoG 9KSn9Ϛg򒦖AᑿwljBͭl\͢ 'IYPOLb@zA{9C}QU6`&m^$g / ݈7,)GqaT]"rBt%A0S@EEP$0@ƒ_a0YL56ڋTX@ƥ/䣏 P ʥ.d 8kFGM`"AHNVdRYƍ)E΀4GA|&Z˭ZIwXՌǒjtE*9V(KM$\YA1:e.$6WR'Ix5!QyLeA=)A#֏R$J.BMgRꭓ:  .ܦ07pB TF D;uX5YUo4I҃'pE,T Z|W#0 TBQ@Fދ$;'!MHC:Gi&c}qY%Y]wǣzԊ DW%E;w ; z裹R/t8T2M= G@5ZZ߶;9lȐ\O:I1t(Js D E($ u(26w`a@&vI0@ON -&`qԿY-&@Z9IRC T$l\I6^n%bS| yP. A+uPAԞ3(C '*J AR`88rP#45ƻתI3 Z<y E"PzʼnNpNe*eV HE%2Z[+',$"NlI sL a Shx/2776fHs!!6u '0۬Iq>^stN$u("HlM G?BhN*O` p܎=KKRF+ St[L@Eɽ F2pC\-ISeC161*Ɂ0dʅ:AV|G7t|ܜ\qSU޵WkCk*e45*reLvJ`#fLl,0ņlMT6J]&_mE)vp8 dkqXϳPddVKmσh}̰.2tnVi"$M7ɖY&% "DAƊP I }"\U&)H LxL `ˍm66PA 4;!{ۅl2uQ9`%ۖ@LPB G͏O}7@Av÷o'Ε14W"@1q"bsji1[Ʒ%Mqq: x2V0xBfaK93Xc eis r/ܴ\,| IX$R%/ (E${, )!e(F\%XW(/|AoI7eRHXTafZšn$1fv` DPKT,9PJ0wJPE#Lve_3!ڀMY^_šW|¡3G;@LH yG~VPǠmj, L²9ʈYdQAL)anପY  e21ˁ|wN<,*pHM a,˱qȪrL?BϘS0Rmdl^>Ƀa## p!P>Q];uBpNrq}0K|7F6O&r2= Z2uu%~|'VdKZqVngoX}GG8BRQ/pFaury+"+6.7' M+gz03"/AV&vcg2Sm 8]ErpP3+a3K2gQY'GjogeSwa1e@7X50qA~xC&* K6h46Ij2u%Bj QjEB.1@!*dV{V$8D0 æ-J g~_8&((I7B2c6c}rGf5_vsygG0X$fc.ٍ{f Rr1akPs./GA/0k}HzHj}Kx೉.gP-41h̶]|2H[7δ{f 5c8((?z]tpQ6A=3a}71Zϻ$y'L-3G07ס'Rwx(yRѺ}y)GmBfW(9Y'0 TjI6(&;q>@G",&ZPv@F7HK9NNx Gp2sQٚD%}IWYe2)If+IMz|֪897>GP}/DAG )8 /roA,]pEDGXM1XdΖoi6̊irvFF^Er0?vԊ9awtpNh8^OvF=YmgNz,w.qS!ldfš/?8GAk_6JQF_]`.IqgJL{cp u9Żn}NfGAu7tWGI'qrSgg2+5W70sqltG!$㝡o=RxU-GWuu:uvZnw-GvOvqb1'zwex>d{)mF<_qyrt|}~~(Ar=]i=W}-0Ms0unQiAihN}zca*%Z_ׇ:`Nk`C4*KjD6_^nD?XvGX`x&!ve^ur68k4Wa W`ۏa7a#ʔE`Շ[X z\QNUkX\@ -R~ Kxwƣ})y&f 5 #[xbq!s^V4wDyGy[#x]toBG#\IvȉzyϪP1RkA66Nj}.?("8 'd'gfOyS`_g;NnRhzw70dLx />f,nA0Rh`d gssge2ZFgeY +m(^? ZFVE!+vWEgoMxާy ;18+^n.S&;GG6!4prbEɗ DJDΔw6OK9dZnP$P&7STHצ^a_nʙz"o2 X(1d"W^rgj1(&ք8B'mϗ9]2Vn{gpG9+DMyx'?p;(y'jNC(S=h,g }KӣK`/Bp1p/s`4[ B3IL6d6yz_e@2wpQ2(zflGc=K9&+paX7VSa[HK7^m-I7ybB$/'IP :>@=Jp+7AyqS0?Ņ@Y^/鐇?#؎ a(vї/E;ۉluqy9Sv7{J-$48 e/,݋ X9`I2';~صQE0D&؟f[я/{ [R/sLUẗ.-zk;rvBpSD21Dn"7q*_g΋F%}$.4* LKs OtdEH5072JTޛ+O@ z2K"*rAn ~33P* I2&'rS]'QK6'OmKp sHr&E@b d V 1Ω屓\^v4Y/q4%P#5@pPv.^AJ!q!tCVPTQGKSp/Aw.U:v\h]|Jg8#@^}UIEMzQ$Zq/]ԉ>LۡKS9ypL4 ,CP#imm3A01CPm;ki M VV VV V;m VV VB$x>;+ev65i0m;kim)`1;kACPm;kA)W;kiCPm;kim!d|T3"1AH)m VV VB$x>k瞗+^(35 Vΐm;kAĻ- V()XCPm;kimp*#΀r;kimm"Gy>qiT2u//8`.7$m;kiCU(dIm;kA([1Im %mpk3 1)^6 VV VB$x>m*^g`JH7iL;kA̒)m;ki"] VVUV VB$x>dM"9pY67Cem;kiNaWk[m;k\))=$3] VVY;k\M VV VB$x>WC"&[$95[T V]"|t7ki% m;kimp;kAM VV VB$x>ͣ+^nPYѫЇ/ۦ{)L4kC<>\ jVVVY;k\k8m;kimm"G\*\qBA~x$E tФVV΀x$Ed4m;kA*) VV VB$x>1R$uI V1 V΀CC:jVVhUY|= VV VB$x>޺/0Y$sԽrDV2Ǽ;kA)HXkim;kip+;kA] VV VB$x>w\*.0N^$Im;kiОVV΀3ϩd4'EBk`hm;kimm"GtUWh$A?lrDZV? V8m;ki"D4ܭj] VV VB$x>޽K@L%$u\m;kiK;klm;k?Huem;kipڲzx$D>GtT`AAxЖ=½t1m;koP=IcOkA1VVV VB$x>޽KFzzxuWGVVӻG 8LFIcO#k`5VVV VB$x>޽K.9P}B}= {(az8>zC? >xKk|4#;ki2 ^C=p1p'qg-A7)^yQ*g\ +FcAL}'q|7|7}kRB>@,jdAd`,J$@7q,,,,`aa{c|01 aAQ_@1@1@1@1S w1w1K e[{Ȣ|02|02|02|02}`2}`2U*Ѣl6A`2 0@2@2@2@2T4+ 8 8 8 8'}!w3HkTCĘ9:zq`3LTLT45:$:$:$:$1 78888}7}?2"5]0s$$9;E-*xaټ! i|Q$Oj$*kiHKH+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki+ki. &/|Hta7QukX.t{65iА̍V/eɪ$32z/gVYi'h;.zI%";H ޶;BRChǤj{= 0G^4 Z ,vRC@\";Iu@S+BOh(НW IٽP1֢G_8\2VR;ىwI%К3+@G4] [_t,ɲ1i_zy\l;$\КVl"VISW zp1iX0A̫ɲ= V o] #8u?bj9 9F&m˸ \ytW ,ՉHi0Hi0Hi6~.c_[.k.k.nIHw'{Hw'{Hw'{rDTTTTTTt'JHt'JHt'JRC.e.e.e.e.e.d3'p0Lm'p0Lm'p0LaTTTTTYD54' tf'F`Htf'F`Htf|$.l.l.l.l.l.i5'UHu\'UHu\'UHu\|$YYYYYY6' )p0' )p0' )p0͢eeeeeeYM'WHuz'WHuz'WHuz|$.o.o.o.o.o.e8'.`Hr'.`Hr'.`Hr|$[[[[[[9'9@`0 , BHY*A#.7BdYzCŁb1-KEy!')u!CUNXU5ɠe eX5T8\$7F!e }^7jqq;Ec6LagLqt<~6 Fi6[jk!HQo`a̋ot/.ꭗ帮._ޒsc;q"Aܖ2X@2GMfu=WͱG%-s^uN$b7v= C-vw|N5}82Gŀ¼NxG7 .cyNrf1 B K8Dq IF@IQ0 DLKHB|!$DKqƍ0qCLk[sޙUO~COm C?_|m# 'Ađ})>Ꮮ`{/V * Jpj!@]1"xXJ'p B0a 0v\D1P?(} Jp#x`7Q.xmaGQ&*̯TZ.DN6bq%H oOH(>EG /#tpI "4QO C4VK$ۀ9S)cxG}%42]Kiy.%H^,|"=;3$B?J-1LrhbsL.TLy8al}O8=gjBf* ;I^B ˇa C} G)%&=z2 OZ1Lq]3SL@y+RE$J"ÅXg3yog9S\@C9M3@gDȋ|^t9aRl7cl6JDRZ)zp~wF`rzQA@E|_7AQt QLOA$I_'d toaU--ď\ I4<ArQ@a1FHdа.fYwܮLzO $xi76lIY\PC+@q̢4$]S\ `erƮS F-Q ^à0dcOlmtb0ӡLIx<21I/:g3=36cXW:}qE("Md 11e ^GN1M9WPhic#)uaTLU"|tt?2rQr-6(! d%g0DluVa83C18!Apg{!3qAhx=!Qq Z8SsxssX=%W}r5/@f8&5>@zI9hS /"/aZ:b~j0 @A }1jf譖/70EBG۷y&ɺ[lK~Hb2"fhiTO7;in`a<Pw(@$;VڦxUS4$hhk]q`_w0o\tPGAQKN @`fGFgT>RuN4P/^kkIk0NaAmFه)?ZhgS63E7qώ3sX+q2ٺDY&nXBU336Y7x1JñU 5C1&xh4(`Sܑ5*XR,J@l4RRRHI  ^`݈QUh1Q HPJD.-2LK7Wt/uAM0 v ε5=LF`)e4c: jyfЃMT+/al]l'u]}_ a,cW=dTeFD$Yhr!hZ0HU 0 Znm`)Mm@(r5!9@":"!$<$<s$<3%uL<`LD8!Sۖ>D=۪#EDPEzEF\(4_GDQzj}̊˩H+ϻ3@N#O` W"q @((J9@94:FF8vQGf"edbwxXF4rc)fHxyO|1fԥIX1]f"pV $tIV n3 {c$c!'gu"doXMB)_@ cpV)hhux8"xry j](.yG!wL xfC*}l EbB 9мbQKFJy m6Őnk qkJxpe%Ny|w(6 O_˪P\JN")%Sk!0j9WfGψ,EM KiWM |&2$PQa2uǽocY'Upjxcиs05 DaEJ`rF@Qgw]gLy@)gcz'/B{;Lcd)e+Bwp( r7Fw g, 䁛2\˰4%rejP\S or4[plRDaw{egNkHK|c`Ao E0rK!i !Ɔ|!M28AP)0 Wcűz0Ch_J4Eb!f&9 l`|9 (\bX?eqi( 9 -12GY Q71v:RGc 4|,h`_*F-sDs~Ki4eL[:I P[x,U0"#ܭs  D3@XAm K eM |hƻW)\riQ2]RKS SW.F-)ܵ R|tqlR+J2P>u76A0iBDd2]@Ã\j$3L9M{\r` A_!IZr!@!Z" C oRVáxsv22cl+-sW6߁BY|d1(@1,ϘY1ƱGM d O޺ s`PCc,u+l޺X\P,c^@?el=Vƍ\8o9U.jFv -8^[ƿlokO03`P3F !AKA]f]n!Z^{:gcL1bLuz~})?- הF_Gg붣"é<$ΏLI126Kc<+0]'xf,K֩}|ldy.p,s5إ` )(!eV 3-\U<Ӯn5b!gd܁ӘzZnL^npmBXJVNxKl۪-i>suDwS EdaHEMBze=tE[$ H%'S)AtH+6"I/=wIp|0) ůR%(V:I#8f:f"a&==T(ڿBL!"8t~UD"p"h<{Dɝw' &tƄѿ2n(C)Jgο%!2.q2H"N)+>[%xxI0xoT=/B1I>8;>ڎ? F Mc;+!T%)MVCgI2IQ}=ȩ権 H kՈ))aؽAv&Ci7 9ki3 A;Oө B!`(>&x50j=y+k12ɬf:iRVhpfwhc +(<ܡ  TZ $..uBtyyt8+wmD5>4[tcQ.:'At 5:>{;@~T1;jĨ{,1Fӯ ZՑpy;{м;s 1*I{G L# K B蹡Ȳ 8y?wE[MSJ!{LUU!1G=00txD*ګr ,%"2_oa q#24,)8S@gDCj5Ri:~g#q 9 t o!}IttEG \* mMrtDo](q[.DvIadzT^_w0 da y]`6sqH> a.T1CGIs^`A.xhbCGv3}%GxgDyvwt&-&EI$3e:2ax}y'C.gUyJm#vyaU(Cͅ hatXd@1xR31l`GawhXe4]{V'l]$7uYc$c%᎟j@*z HrY`$g/@ jTy8\ /9Ix`*bL5a:v>}JME!R'FQ ݱ?2hsE|#F\w@\rV,DQ5b&lҘg=yok|ӸKHܫ6EtJs $ϛ!׫=0tm#d89t$p)½s|.4E_ ArPʎu[#tGQ!u@{zOm{+7dDchGEڃa,.dG%KVe: ]g$% zfaf]$;z`1+_cyDFi"۫>+Y /7E#`6SD)l0ˏ [Q+*TB,Pb,Q!($haB*TӼgANݍ aA  =Q!uPahBJ?9pJ:`Gz6Gygq(G]IVzlt_gqf9P:J2B3Q7l&Pw!Y02@R(%6km"(:Sa'#c-P-Gb`1gI (uRz!x=#&@'QyAh9~9A  H2LapyR䎡Scjƴ]cɪAcpB"2=tE=ա];BһTdڈl#x.ARn- sB $t`{?vd( &=c+ptw>1-*JD>'PC|TDQGtPJTùeAQT6Q e=$jq?hrO>p'AF"fv9h(5EaC8@ڇ DZiPX+CFtyJG@c%SQ]*9LAH5N:Vj!a qKw9څ(zFXů*;M>*-h'J`d`j91q\s`in4wqu^wS\dAJ=SF^T0R!(>qq-6K)yVuc{`Ar@( ii8a.P(ۡ,fc1^n9zag&wNPm.T=VC%}Ϊ<Ž}wtRpEB.y{:ڥޭ!͠|=Anx:1=~YZvI}NĠtu6k<,ެ^瑓^>tV&n.vɑN#W[ׂH m "vFAST2E.V# $`P & z@0F I$  2a5@ ( %KG4dM"=-N"RPG(2<2 ϰRFb+@@(# ` DhvVYB2"9cl @XYehY"D &@* 1en@/-} @RF ansgL (` Sk|Ы 4$leFt0px̄PY Bk+ R),2@X6:`O` ы $b0 b#VΪ]ZM- ZEö)Zt#r]"5g SP4VRNy`|Ĭ=yą4506&t3;R( v tĐ(c^Zu: ¡JW}濨W * l Xgz&LZn5t|;$R0F@ 5R˭ j#C,/ ( `m l zN`tc{5ӓL|?150( ?D4{N5-SV;{vZƒ  [a0 {&2±[cs973U[8#Lˠl2g5167Ou3Uͧ}gs;6Cchvm<xxģ2@32@C'2@&`0; 0gk<`Ȇ'YcW0*\1qH ` b<-DLP@.HH # T :(^p-dx`&,   AaBG hF`@ :p*0A,C  !/!$  I[H F@H! @DD$HAAD\8HB@@ I E t  J $q `0@A !&4@~ ."-@n1<$,x vFRAC.CO# a Y p<&sA@(!Dj !D 8 $`0BB$` @L"(p8 @^M(% l{,D RP46Ee)`TJ)$#zO@6mL 2MVj@7 `&?Q e zZP!EqOF@HCn7i#Vt3Z˩ou@5T]ptjt;'Zf> 4z HCJWԲ!v}@ g>?!0ٜKhzPDݳ4Cx̢p S4b~)uBy`6a :l Pl@ 8/ `˟!Q @2@(dFvtvD3}A @0@0@0NP}h1L P3N "3( D*@d x ̋ 2!@jFj#,. g "5.CX $3 /K*; C @09OkV |(v-ꅚMP$8>5@@2s¹8NS!&@);K2K$ ˓:Cݬ[C˿{O?@ -A41'32@272|-" 2C#c3Jx ⭆٢ :?D1 g.V@Bx!X"tPU_B @GXAA#$/0.8gZGX qGhnΣ?1 rG@CPPEzis`$A@iԮbS˥WE`}`{ W1ڈ֢ẍ9`F@n˥#lڱrcFT桉̥c!% Bp qpCi5H8Gy[vƊ4(p < X(C>L80J\E0| ٥|'~ @F}OXA0G*C$j?*d<7X4X0<(|fGIi84)m/SJmGF:COh` QE5ϛ z<] a [-^LR:@0 $g-FPAURAX"^x>#5?P`H7, ԡ$q4<$q$X<`th^FXz/f2LsdY8܃uW'G&g]C] .H/d^̓>@1!;BXeC! PBPSԡ02C, B8GhJ˳t 2J +_I( @ԄÏf @8XE^(@0`dpF@t;S~X(X@SA )(p Z#c&dVL Y]ܱ.plhrp;͈b`í6 `e0 q3F /G4(`J9b ܧ۰``0k |t._oM^ `rƹa p?@h_ Ó*f' |n |=C(GD88@HO#)ڳ T1q0!\/np^xz` @xs0xj@[/ '[wB). 5<s= 8I4u5;lp@lQ BK˯0@'XZ[ku6 ^CTtP@=`sUEˡy!۞SXDg|W8o+q2˥pʁcW>> @=4=XqLe@D n ` `(lԄX #4C[)   q,߳aFݯ- xpz` rzƷ~`M  .zfc0nY }g - P~ +|p-&p- p px  w P`ܠ+pg~X(ˠP +Vg}0+ phqP}?$7P` w P8``8po ܋  Ƭ`W0ܠTʃ-GWg ^u^ pEX Ƴ gz Ws| X zԈz p8 8 z x\F 0 ?P }} ` z+Hw|0 8 Ƣ  Ԉz־ ~g28z>0x /`o `Yw x ל$0 ˋ -`,yP˯{0R 8~D@ ⶰ5(g0!I;l;  * !ݻ š!p {@g,oI,Tʃp+ 8@ .9 mP>G` ~`} U$yi+y` )W~a1%k}P CYJg P ܯ܎ :08cI $`L*~i ';Gy UĈRIX9|CRG0A ~gf~ 7P`m`p`,t`|Ƴw0<z }|P`X˕up 1# + mYRIv|GA( !J~e!{O{rbp s)v(( {Iɬ9yz1*z3nH:Bp"X0bpf2` NFRE0DTn n@530!}{y1煱CYQ. 8-YouzI% ɥ}z">ݸh|`,` 0SePbϥ֎W)Wb egqP8ן rg@V P><p ]bq1Ƅ5 {76P 0 "ݥXPT) yE0   `. 靲PP {>s>`||g|`/cp a)pbp#2pbO+$bf( P 70{P `pRR߭bg @#  P{@>@8k|Y qCb1p*+E",qW`>"@:oa@*Ћv 07BQ-$-V`!` P%ƒ24S036 `(b5 2: ~ CN T M \@S@CUPS `2ox-  @ ˧pLP4KP p  E i ,BًE78 pաv >3Ʈ`j(!P 70"@1 "3Ў-ʐ. vx0 NρʨR@M7LR!O`~.fU+wn2((cڠ5p8209) 0/ Ƽ@+ *( GE`( EaO`` p 0".uA~ ;#1o PA !__n@  55qU.n .p\.a.Rq 2 d>! S!@u5dۧ! `P֖T[ZCbv+(PˡNv4b7JO^E``O* P $`ppp6`P 6OJʑ9?p/  S$]W6^Yƨ ʇߔ < T1_&"M!uoHE{(p= Ś  0Aʐ 4UĎ3~G@>ݑ}@+} < lݑ' 7-b/ `m0܇AMp9⢏AEo~)2G"'`+rg0! \ ! PUPF/G6}udCP?Ň p~PVwv`>{L -o"ض ߮08nE7$[r#0az(x.J `ܗ wST@T@܅ b P$5`*I>ב5CTJv)4 5G ܨ]F_#T?.PǏ NpZP} P]@04P0~M@AŹ~]`48i4hܘ2@f/  G ~+ {Z pxPP,@0P; O?6r?F _H @ƒ `˘& ?20w$0 P̓ d( B>l.tCd ܾ"@ nZ0+$3E:^+v?(@$5`#Jv VVʑ0\w+t?UB` +5  Y JUbVp1sPJ]cC41ۄBЋ= ]!]#?^moVTd \K_u_ =a]9!_B$:0 !> P;L >"qmC ޲@@ Pw99^]>_?OPP ^]3c XB*Id(R Ȝ ?Kp#V^p9 mtjP`V49Lnh^q?1~݇0s`hP(݄s` Bwőaʯ{D>R0( !0--U` "h'B@c9Q~7> "Io"NJF)'ԭ1&͍e95#M6;t }"0Koߘj *#7P.v幕ًx[ 2@~! _.@bp*(0c f1HaӬ/,1 'k+PMH0M &'K+2 0Rd+(J҃0p*!t3  B@]?\T 1`o90: _"!*(/R~\աΨ S]q Xw sbpr2c5@8Ơ[1 1W 1U&(M1ubv6'ˠX ]P(fb\q+ &2C#`78 ʙH @EJ#!K9up#y (C?KOCo6\  _HPoK][0xC40p"(cP0"onޢG] !F@&5ߝw˓.Fء')"G]߿*GP:2NfS@@X)Po`_ M))ƇNsWNUZ4W纍NE0 $ID@D`UN5 1<>NAK8PO6U>F 0 #2#;O?|]8kvvTp} 7m ]uaP :(+܎>79*a)ܛ 201+@ eAL`"z0 R]"0Bt0" )pkV O kPsPrb ek(+sj /  RPntm3?   o0҃O }P0=>mgSoGoQpo yahr.rmaեr@eApp"  "@ B 7 @.ܒ ܈`PF!vph20p()10!p Y! 0/JP*rR < - @p# &$(*H7S5#s'Syb ؄p"(Sx"2#'SyHl 'Sy^  ܓ=S>N}|(*'Syzp(ƈ* S|! ep"}R}wS{C{XXTʄ a4]r{ } 0o "y^] <]71% { @ *`4 ' `I1 y u9],j S dA`sʪ6@&kfb5"nIUMI祄O:J'ku<(Uk ܄ 2qT KSS >> ""q4H\+f `  n v{>tq lP j "E!S׼7 Μq+ ! Np!L!P~~'ruy ƨM`!tKzc~9HzZ79pzI퉸b H)`!OrZop*-u_ !;$Px 59״ORZIwD!P/ٚkbx }xИ-uAZYx kށ-+ܳ'?*{xYC#ώ-swpԥx ktn 4 b ktB}@! xotK}xMq{HG}ҘŊMZ+Z "׳E#X "׳A@ =}|؛M$*Zx؅2Jo-pH‹~iXS-x?] "٩TԪR rR7! @++@ns-wy?P!E|(` !S .I1@-֕LD!P}ҘL:y5liᕨ '?-bzK@*ǝ 0X(wZ0P*B׳Eרl-uv{2j5S&jDPv'&+\qe8  '+MЊ`! IMIe܄pIи*`*Ej&p$ +P*RsJ#PiR :sWE*#iК1 u|]D Բ ijD6\q@yUo7 Rs3 qsꆋ! TR 0()OS|^# 0-$PߛՓUb-RL;b+$LR+xrLrXwT"a ,  dψ 4 ,  bһ1:wؼ,: *u qʁW)0Z aj_T#J VҨ0`݈%J}pju2+- 0g s5 O Ȉ@oW Yr{mB_g_ʉh{(S{ 2Tϋ-g1@uL2lZY}L-8PDb@vFRAC.PA# 8پsγ 3B ch* {  Bھr4S o;t(4't{!3H@t4N X2HSA f$. Cxn0ωm4Ԙ HDqc1v0N]a3k" 7hq 4NsmgèM;  dl,n[ (9HFE)~r8n l tHCQeXa^\l664s$9vl1+B it,y"Sd VN!h`WinW|$=c) MGx'a@l(YQ@nUyo:N ۤxLCRTQ 䐄ZQ@:teQo"QξjpJ.u1uYZۉ$*a&QoƄQB9(b\St DA$d'VՐ :eh fknw)F*t B8N'ߪ̇ ^qP  l^ TlT/S0"]"/7\ѣkOD7L\4Dm&;Ӫ6v%W [;Ԑ(,s@r!w-'~ۢ! cбv`h^wrCi #47 ; ѢVbJi{56}[V@Su;MVlNZj"*Y *"]=} (+Yd[B0i ޽-  0~5ƅlXSBU4*7U Wqxex&Rz*COI2rFOYk_`OrX."hH0vPGRAF.CO# a Y p<&sA@(!Dj !D 8 $`0BB$` @L"(p8 @^M(% l{,D RP46Ee)`TJ)$#zO@6mL 2MVj@7 `&?Q e zZP!EqOF@HCn7i#Vt3Z˩ou@5T]ptjt;'Zf> 4z HCJWԲ!v}@ g>?!0ٜKhzPDݳ4Cx̢p S4b~)uBy`6a :l Pl@ 8/ `˟!Q @2@(dFvtvD3}A @0@0@0NP}h1L P3N "3( D*@d x ̋ 2!@jFj#,. g "5.CX $3 /K*; C @09OkV |(v-ꅚMP$8>5@@2s¹8NS!&@);K2K$ ˓:Cݬ[C˿{O?@ -A41'32@272|-" 2C#c3Jx ⭆٢ :?D1 g.V@Bx!X"tPU_B @GXAA#$/0.8gZGX qGhnΣ?1 rG@CPPEzis`$A@iԮbS˥WE`}`{ W1ڈ֢ẍ9`F@n˥#lڱrcFT桉̥c!% Bp qpCi5H8Gy[vƊ4(p < X(C>L80J\E0| ٥|'~ @F}OXA0G*C$j?*d<7X4X0<(|fGIi84)m/SJmGF:COh` QE5ϛ z<] a [-^LR:@0 $g-FPAURAX"^x>#5?P`H7, ԡ$q4<$q$X<`th^FXz/f2LsdY8܃uW'G&g]C] .H/d^̓>@1!;BXeC! PBPSԡ02C, B8GhJ˳t 2J +_I( @ԄÏf @8XE^(@0`dpF@t;S~X(X@SA )(p Z#c&dVL Y]ܱ.plhrp;͈b`í6 `e0 q3F /G4(`J9b ܧ۰``0k |t._oM^ `rƹa p?@h_ Ó*f' |n |=C(GD88@HO#)ڳ T1q0!\/np^xz` @xs0xj@[/ '[wB). 5<s= 8I4u5;lp@lQ BK˯0@'XZ[ku6 ^CTtP@=`sUEˡy!۞SXDg|W8o+q2˥pʁcW>> @=4=XqLe@D n ` `(lԄX #4C[)   q,߳aFݯ- xpz` rzƷ~`M  .zfc0nY }g - P~ +|p-&p- p px  w P`ܠ+pg~X(ˠP +Vg}0+ phqP}?$7P` w P8``8po ܋  Ƭ`W0ܠTʃ-GWg ^u^ pEX Ƴ gz Ws| X zԈz p8 8 z x\F 0 ?P }} ` z+Hw|0 8 Ƣ  Ԉz־ ~g28z>0x /`o `Yw x ל$0 ˋ -`,yP˯{0R 8~D@ ⶰ5(g0!I;l;  * !ݻ š!p {@g,oI,Tʃp+ 8@ .9 mP>G` ~`} U$yi+y` )W~a1%k}P CYJg P ܯ܎ :08cI $`L*~i ';Gy UĈRIX9|CRG0A ~gf~ 7P`m`p`,t`|Ƴw0<z }|P`X˕up 1# + mYRIv|GA( !J~e!{O{rbp s)v(( {Iɬ9yz1*z3nH:Bp"X0bpf2` NFRE0DTn n@530!}{y1煱CYQ. 8-YouzI% ɥ}z">ݸh|`,` 0SePbϥ֎W)Wb egqP8ן rg@V P><p ]bq1Ƅ5 {76P 0 "ݥXPT) yE0   `. 靲PP {>s>`||g|`/cp a)pbp#2pbO+$bf( P 70{P `pRR߭bg @#  P{@>@8k|Y qCb1p*+E",qW`>"@:oa@*Ћv 07BQ-$-V`!` P%ƒ24S036 `(b5 2: ~ CN T M \@S@CUPS `2ox-  @ ˧pLP4KP p  E i ,BًE78 pաv >3Ʈ`j(!P 70"@1 "3Ў-ʐ. vx0 NρʨR@M7LR!O`~.fU+wn2((cڠ5p8209) 0/ Ƽ@+ *( GE`( EaO`` p 0".uA~ ;#1o PA !__n@  55qU.n .p\.a.Rq 2 d>! S!@u5dۧ! `P֖T[ZCbv+(PˡNv4b7JO^E``O* P $`ppp6`P 6OJʑ9?p/  S$]W6^Yƨ ʇߔ < T1_&"M!uoHE{(p= Ś  0Aʐ 4UĎ3~G@>ݑ}@+} < lݑ' 7-b/ `m0܇AMp9⢏AEo~)2G"'`+rg0! \ ! PUPF/G6}udCP?Ň p~PVwv`>{L -o"ض ߮08nE7$[r#0az(x.J `ܗ wST@T@܅ b P$5`*I>ב5CTJv)4 5G ܨ]F_#T?.PǏ NpZP} P]@04P0~M@AŹ~]`48i4hܘ2@f/  G ~+ {Z pxPP,@0P; O?6r?F _H @ƒ `˘& ?20w$0 P̓ d( B>l.tCd ܾ"@ nZ0+$3E:^+v?(@$5`#Jv VVʑ0\w+t?UB` +5  Y JUbVp1sPJ]cC41ۄBЋ= ]!]#?^moVTd \K_u_ =a]9!_B$:0 !> P;L >"qmC ޲@@ Pw99^]>_?OPP ^]3c XB*Id(R Ȝ ?Kp#V^p9 mtjP`V49Lnh^q?1~݇0s`hP(݄s` Bwőaʯ{D>R0( !0--U` "h'B@c9Q~7> "Io"NJF)'ԭ1&͍e95#M6;t }"0Koߘj *#7P.v幕ًx[ 2@~! _.@bp*(0c f1HaӬ/,1 'k+PMH0M &'K+2 0Rd+(J҃0p*!t3  B@]?\T 1`o90: _"!*(/R~\աΨ S]q Xw sbpr2c5@8Ơ[1 1W 1U&(M1ubv6'ˠX ]P(fb\q+ &2C#`78 ʙH @EJ#!K9up#y (C?KOCo6\  _HPoK][0xC40p"(cP0"onޢG] !F@&5ߝw˓.Fء')"G]߿*GP:2NfS@@X)Po`_ M))ƇNsWNUZ4W纍NE0 $ID@D`UN5 1<>NAK8PO6U>F 0 #2#;O?|]8kvvTp} 7m ]uaP :(+܎>79*a)ܛ 201+@ eAL`"z0 R]"0Bt0" )pkV O kPsPrb ek(+sj /  RPntm3?   o0҃O }P0=>mgSoGoQpo yahr.rmaեr@eApp"  "@  x @ 7ܒ ܈`PF!vph2 ()1 0!p Y! 0/JP*b  - @ *# &/(*gS5sSy ؄p"@ -¢^/u< $u<.ʳ 1py -yĻu<((ƈ*n-n'S|! Yk d *RGЩGS{C{0^Tʄ a4ssSw/Ƅ  !(֨ Rprpסc\m? `tpcȈ E0C+uPs}"k"hl@s@=bE$ < a@!N/4 }˽1*sTR ܨ *p`)* .^1p@ s@# 0@*܆%qƴCz !2# } 0o@(j ?ccj! 5܄1?!- u< (`u@ -f@ rPsjk>p*?r,nIRMIRqnI1p'*?u<(R?[ 7qT2p*pLU?JxL.X. uT±R~.F݄o|>p!x;FopM|8u4vFJ0)EJ͈"jJ %Jpqf`z 0( P" s{ݛ`" :p! P 7@" m LMp@* r_M0(@JCp 6!{v (*X$& һ/(ag j(* 0$ r" T6 0zN6 0Q舻jCC)/@ ) [  Q9`X7@$ !MZ_%r0>P1lHy|6}00$6 kf֜qP&y>u I~( ʍiWg7j'qy(*B}hA"(c8SôlbL QPQsb,KD|hvWx".DA@,@vSOFTIIE.V# $` (,@HP@ G &@ *@˥? " h ,2@LQ0<lkbx##(J$ۡ>Kn)al0H8#X(" *H<I4 ۃH*ActV)0Q@B!B<%B@ +A`B0*@ )@1) 1@<${B52AC@ K2iLT)5۴)3B(@H'M2 z.@# .th4Ԩ =Fv 'Ӛ> `i# 큃rs@2 tJrP* ¯iL @R4'+SBJz*ڒLkoUt3x#@j;xR+#x7[y"g@zSP>Rۥz W06U<8"4,O.̈!b =f t&aP  "ac")a;ܒft* /8Х(d`G_GF3CXxV# ܥw3 8٥bBM  Jh/PB&P ɪr VD#"hL0+ADbDp@8)N Ab`02B Dj l_ b˒ B< ܬ efk`A-VXBH@{ҡ#N>4]X&O ,#I.ŏ"d94X# ӾH *\]2GK,$\pwyB^P/f' i.@.!1f1 |bQ7E dF3tTM:t Έ2A%Px(f1ET~Π6HDZ,V8 H 6{hxUtVTl(2U  ,K= Tt DxV$|ݥ\\`&a(}d" B ? PZ %x`|@U 1D0ϳv1D OX'D"jy0$( (G;8u,'4H#@" h2S.2Q%K6BEl<&x!HиhxhJEy p8 `U 0S @{. AI,DLQE"iQ& zQzЇ p`ax`PvAk0vd, (N(E  @$ $$X{}`DhVp^X "@δΖ\L   Ha)'=ƥ $E5HY^ x A 0ӥԔ  "He6N@! !g`@FU D 1D0ϳv1D OX'D"jy0$( (G;8u,'4H#@" h2S.2Q%K6BEl<&x!HиhxhJEy p8 `U 0S @{. AI,DLQE"iQ& zQzЇ p`ax`PvAk0vd, (N(CP/M.id@?@?@?@?