IMD 1.18: 2/06/2016 18:18:57   7\XMASMENU MASMENUCOPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<د2? ه!߶2:2a{_:߷ʖ:߷>Ľʖ:=2–!B!6#5ʖ: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:!ʎ ݯw4!Y~ʆ͌†t=ʆf ^ T ݯ2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Y޸psp2mÆÆf ͧÆFILE EXISTS _: É: :߷ʉ=2)ͽÉ T!@k!B}|q=qf^!~2>`~2߯2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOO*!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*Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ "ڷ"͌#>?͌͘ =_.:;<> Oڅo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USER!yO#< Ty#O 3ۯ21y_͸2y2ͽ:طì 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<ʄADCOMf^: !߶ Â$$$ SUB"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*{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#:A#~$=2Ek͌::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# 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!~ڇҐ^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#"##"##"##"!A     -BOSKUG 131-NEWSWAP D COMDISK COMFILT7 LBR0FTNT14 COM FTNT14 DQCNEWSWAP BASNEWSWAP CQM9NEWSWAP DQC PW SQP!"#$%&'()*+,-./0PW SQPd1234567PW-RESETDOC 89T COM$:;<T DQC=>WINDEX LBR6?@ABÕOd8$$!9"V1T } ̀MP/M or CP/M version 2 required$  _:h!o|g~#fo#(-:i!o|gs<2ij :hk:g̀ \\\\$:!~#$t~#$\̒À̀ $#Ͱ>.Ͱ> ~# °z{:e=2e  |:e=2e> {0{V  :g|KxGs1%VKW{MLLLh  1234567890-=`qwy[]a;'\zm,./eiou!@#$%^&*()_+WORDSTARLBRkCDEFGHIJKLMNOPQWS33LBLSTXT/RSTWSDOCON COM UWSFAST17LBREVWXYZWSPAT-DMASM[\]^_`abcWSPATCH 3/3 dWC1 LBR@efghVDO25A LBRijklmnopqrstuvwxVDO25A LBR*yz{PAIRX12 COM|PAIRX12 DQC}~ANYCODE ASMANYCODE DOCCOPY2WS LBRsENSOFT LBR2PFHLP LBR\ 6?#  ~/# 6 # !N# 6~#ʚ/,~#ʚNJ>2d7E_>2c! "\7Pt*">2g722h̀Invalid option "" error$ 2`:\ʰ=_##~2#~2#~2#^#V"#^#V":>2!]~/  !m~/5 5  ~#? !jlw# 6# )>2h>?2h \!o:\O~# b*T#"TG:hʘ:g̀printer\$>2hj<& :h2h̀file: $!j͙͒2h:g>2d̀Output directed to the $>*T}®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~QWY{}A:"|ZM<>?EIOU16T!336&*D+2:$2(Iu1 ## #### ###^^nfut ###TXTTOWS LBR:WANYCODELBRzZODEM C 2CRSOFT DQC5MICROEDTBQS,:ʑw:2E**E}DQ>2Ó5ELV_hqx|ÀÄÈÌÓÚÞâ$ͷtE(tͷtͷtͷtͷttt t!t"t#ͪt$ͪt%t&t'z2t!("R!"T:C*R|+"R|*T"R!"Tt4t012P2Q2<:P(2Q+2:P+:<:Q+:P+_ 1!"3"5)>22!"!"!~~jwO1!VsV1!  2h̀File not found$ ͒:=G:c+:bG>--Ò:_> =:>2e:cd̀ Records,$::/o}:2e:cʨ̀ Kbytes, $x=7v:H-HP y2_*T"X}o|g:_ͺ"ZDM*T!!a4 ͺFyO+:_Oy2b>2f:c! ¿P:aG!\͙̀ RECS KBS$x=7J:aG:\|)t ͙##V#^G*X+"X}E *Z*Tͺo͒:f<2f!Fj:d1U0U3: #~U#u>.U~U#…~2#"3 : dBCO D3F3 ʳ ʳLM P> RSTUVWG XʷO*"@2*~*6 7ó*~*ʳ6*>22{72{>U#*"!":Ko*/o:{ʒ:ʅ*"Ò*}o|g"+3k :{ʳ>(U*+3k)**@N!"@* N* "3 <- *"I3to error$:`_*V#w6 R 1**!W~4ʼ #~#F#¼ x¼ ~#s#r#w>Qʅ = =Uͧᯕo>gͧ 'd ;P Copyright (c) 1983 by Frank Gaude' All Rights Reserved!9"G1G2X2}:\a=2R O:] :e !] 2h2|/2Q\ 3Log-in drive/user: :2X> 2]2e!"3 a!͒ :ʧ~2::h0h:҄0V::T0T6҄&2h>G::d0҄x2:2è Extent,$}o~o>gG̀Attributes: $} o~t̀R/O $ #~҂̀SYS$ y“̀NONE SET$̀\Block size: $:G>ìo&̀K Last block: $*̀ $!:)̀-bit DM pointers in derage remaining on drive: 3 O:R 3elete? (Y/N): dYw# k:Y2 !j!<3 ++ File already exists ++  *!j Y<\3 cancels, or advances cursor -- B backs up !"=ƀo&:\w* 6 #"\2eV }\ &>2e|\ l&>2e{ ̀ |$*\~E ̀\\$:f<<2f!2f:d *\~7ʴ # ʨ ɯ2h̀** WARNING **\Multiple directories for file: $͙ 2h̀Output file is ambiguous$ 2h̀Disk or $2h̀Directory full error$ ̀DEVICE: $A*Tͺ{ ̀ FILES: $̀ FREE SPACE: $*F#xGҦ +zʳ  Ù := )ù >K:h ͒:i > j< 2h̀File closeA     e> turns up one line, other keys page screen. >2|2>M 2>M 2>2S!< 3++ UNABLE TO OPEN FILE ++2!~_:SO:  #¢ Ñ { :|<2|د2|3 [more...] r 3  >2|ʧʧ! ">*#"K **@ *# 2/2:2!"T!2 !Z< 3 ++ Unable to Open Source ++ó: 3Copy to drive/user: :\G: :G:X 3 ++ Drives or User Areas must be diff<¤ CANNOT CLOSE OUTPUTä *Z ͧ lines *^ ͧ original spaces *d ͧ original tabs *b ͧ current spaces *f ͧ current tabs *T ͧ form feeds :F 3c deletedn present *V ͧ high-order bits zeroed *P ͧ imbedded control chars. deleted *\ ͧ orphan LF's fixed *h ͧ trailing spaces deleted :F 3ʾ  *R ͧ dot commands :F 2M retainedY deleted  *N ͧ soft CR's fixed *X2R :~__ z{|g}o 5 |+{0U<2\@2##~2L#~2K##^#V"I*I#ڌW+}ʝz‡Ãi`:Lʭ)=¨+3k bytes free on drive : ??????????? #"^ ¤*d #"d > x” û> >   ͅ> > =!j ~ NŽ:J ~Ž:E :L :K > ÷:M <2M :G <2G :M E:E <:L E2M > 2M >  } } p2M :G 2G >  6Y2G 2K 2L 2M .' :K /2K ;·:L ·:K ·<2L :G <2G :M > X=2M X# j :H > 2I ,7O:I y } -> > *\ #"\ y*N #"N *P #"P *T #"T :F 3L> *V #"V *X #"X :F 3>-*` #"` :F 3erent ++:\2Y::f Y Copy exists, erase? (Y/N): dYf :XóYY<£ 3 ++ Destination Directory Full ++ó!Z :> U3 ---> Copying file . 2z:X!"*O"M*MU =ʁ 3 ++ Source Read Error ++ó*M~ͮ #Z *M"M*#"* Æ >2z:*O"M*| +"*M"MYʒ 3 ++ Copy Disk Full ++Y2ó:z Y< 3 ++ ͧ soft hyphens fixed *` ͧ space breaks fixed : $)!\ 4!] 4!\.  4.  !] 4 )_ 1) Wordstar, normal files 2) Wordstar, w/dot commands 3) ASCII text files select:  ʲ 1ʲ 2ک 4ҩ 2F ò   :E  tabs (y/n):  _YN² 2J $$$ BAK BAK -27APR85 FILT7 COMFILT7 DQC4!9" 1  FILT - Irv Hoff - copyright 1985 - 04/27/85 :] ) To use: B>FILT A:HELLO.TXT 1) B>FILT HELLO.TXT A:NAME.NEW 2) 1) uses original name for new file, original now named .BAK 2) original file stays intact, new file has new name):m Z!\  4 !\.  4. e!l 42|2 \<œ ++ > {*h #"h *Z #"Z *b #"b *f #"f  ڰ |ħ{0 :G ·:F 3ʷ2#~_P#~_A#~ > X*T #"T *R #"R :F 2ʷ \ * ~#4*Z : *Z ͧ> ̗ ̏ ̟*A *C }|!"C *A {z*?  ª*C "C | DISK FULL: OUTPUT!"C *? *C #"C ~#  >> ++ ABORTED, OUTPUT FILE DELETED ++2H Ĵ *Z ͧ *C }h"A >X\\  Copy Close Error ++ *T"V!"T!eY<2yYr = 3 ++ Copy Read Error ++ó!~ͮ #w C !T!yg)Ҟ >g>!o’ r$s%# ˆ *TO!T ~W$^"T:X*T*V3 ---> Copy CRC verified :³>2- 3 ++ Error on CRC compare ++ó~U#~4> UD> U> _a{_r!Fxʧ#~iw‡6 #’  ʧÚ [*,:;<=>?7* ~#6#SOURCE FILE NOT FOUND ++)2 2 !"A !"C  <File exists - erase? (Y/N):  ʻ_Y  [Returning to CP/M]!   ?@ABCDEFGHIJKLMN17\₄!ff8z gzGNP5:~~ۻ_b!Ry ww%R ?Ao\__j1x]xӣsI3M,bhnʨxS<`Ӊcd9C;l.kt.lMSvviʄw"d1/!>btx h&{ !~!nN#F{p+pH#x¯ ڽ+!9~ !~b!5> 6> *e w`i#Q᯾%,!$|!!9n&:ʟɯ2>[!9L):|!PwL#4!^w>2>2-:Ecx:-O”! DMi:- !Write error - Disk full $`i7.!9~=+SV+^+F+N "I> w+ 3s e!J 13i-cӁ<evs"FRJFz4cqLY[Yk# g.R:ak% *.qĩ5)- c&Yl.k= 7`|%TC0n.LP>"+1 @$c(YuRO]0غiH E"`*PI@d 0jRLNȏ1NXv}ux#jqsWBL8g[ 'f`*1c(3ɖ_'G8 c,!Z!,8g6u)a& ^+1SƼUߛxHf c;B^'q$U3x0m#O͉bq?Χ5rJ%F\b(zp$`*q PΚ13P :yOVL%ubf!Rt{*+%"H%"F%"D " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*! * |ʴ!ͯ"r! ͯ" R Can't open > or < file.$èw*6 )! 9!"6ɟD*:B<*C 2B ́F  €> _*C~+#4N s> > !+:EºF2B_~ý   > G ʘG!* ͟> !+e @%f.G`Ո 4ed eT56M|Dsv9;&9˶Y>jwfA$||# 1$u,kI&%idI0hoU`g+Agİ*09;,>}wvGH#LL(3D!ˁ`y9Sc`Z!,\#%TyfB74eg01Oov%X'_ U3a\=/YMbS*1/3Sl4?w1gѹD|'12LJ*f%X{BS dSm0+퇉w w##w w #~+:&~##K@~#.7K&*I++Kw#=a O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!­­,ɯ|ʙ!|}!-z{!,zz{!-|!|g|}! -ɵz{!-||g}o).{ozg+|/g}/o~og~#fos#rN#F#xr~#~#[[`iDM!z>‚S\))Ҋ =‚ɯßz>|>MD!x<³z>ڸjS\>))#  =¸>>#]BJ.DOC.NOT.PRN.D#C.N#T!9FtD1xbC)[K~>y}8Ϸ^=mO7?b7w;!ff8 %5=e _con:rdr:pun:lst: ==_~O7 !"# !  #¾i& ~º!h~#~#F6%pw6237!9Ly=S>wD<!gs 6#6 ~+|s#r{{ ڟ!+#^{!!Pw#w!g~<6 !|~r!N!nL}*eyb>w#%!=)${=S>g;8C^sU[tAdw$gG`PgJTũc ƻDҔ 1q7 Bς%1JZ6INĩ}ZU3vAO׸%~Arxw5n@~/H>5n@~_~FrxQFj4DaurCOVF`Ȃ́b^0Ӕta K$d N-I :S˯1tqsitp{ nI u@GH# OaRc(/;x@ c%ʔ!޸!9Fͯʓ!9F͓ͯʢ!96>!9Fͯ!9F͓ͯ!9F͓ͯ!9F͓ͯ!9F͓ͯ,!9!9Fͯ! &!9F}>!9FͯK!9F͓ͯ_!9F͓ͯs!9F͓ͯ‡!9F͓ͯ›!9F͓ͯ¯!9F͓ͯ!9F|!9!9F}!9F|!9!9F}!B!F͟!C!9F?!C!9F?* " !" * * eX* #" >* * 6N* " !" * * ʝÐ* #" v* * 6Æ!" " " !" !9!9!}}!9!9!9!9!9!9!9!}}}}}}}!96 !c" !96!9!9!9FN }!͹}!9F|c!9F!9FN :G͉͛}!9!9FN }!͹+c!9Fͯʳ!9Fͯ°!9F͓͓ͯ!9!9FN &}_o}!9!9FN &}_o}!96!9Fͯͯ !9!9! }}!9F|B !9!9FN }!9F|f !9!9FN }!9F|ʏ !9FN ! ͹ʏ v !9F0¬ !9F9͓ʸ !3!9F0 !9F9͓ !9Fõ !9F0 !9F9͓. !9F s!9Fõ !9Fds!9F s!9Fõ ;!9!9L!9Lͯ}!͛ʭ ! B!?!9L!?ͨ!9F3!@9* * * * * * * * * * * !!P?!uC!9F?* !9FP?!zC!9F?!9Fͯ\!9F͓ͯ!9!9F }!9F!9F!9F|ʢ!å!!9F4!9F!96P!96A! !9F͟!96!9Fͯ!9F͓ͯʊ!9!9F }ʊ!9:G#:G!9F4}!96!C!9F?!9F!9FP?! !9F͟!9Fͯʩ!9F͓ͯS!9F|!9F͓!9F!9F!9F##!9F4}P!9F!?!9F!ͨ͟>!B!?!9F!ͨ͟%!9F|W!9F͓ͯʂ!B!?!9F@!ͨ͟!9F|ʜ!9F͓͓ʰ!9F͓͓!9F͓͓!B!?!9F!ͨ͟!" !9* !9* !9* !9* *  +!?!9L##L* F}}}}*  q!9L##L* #" +F͓!9!"A!9!"A!9!"A!9!B"A!9#F|!~9!9F}!~96!9!9!9F|!B!Bd }!9F͓ͯ!LC!?!9!9FN }ͯF%!" !~9F|ʊ!9!9!9F}}!9#!9#!:}}!" !9* !9* !9F_ʾ!9F&}_o!9F}}!9!9FN }* #"  !9F͓͓!9F ͓Š!9* !9* !}}!9!?!B!?!9!"A!9!"A!9F!9F!9!9!Bd }!9!9!Bd }!9!9FN }!9!9F!9F͛!9FN :G͓͛}!96 !9:G#:G:G4}!" !" * 4V D * #" + * )!96#6: !B!?!BB!?:G ‹ :G ͓ :G͓¯ :G͓ :G͓ :G͓ :G͓ :G͓ :G͓:G͓-:G͓C!jB!?ͨ!9Lc!{B!?ͨ!96!" !9!9!9!9!9!}}}}}!96-!9LA!9LLF|%!9LL##F|!9!9LL#F}ͯ!9F|8!9!9!9F|,!B/!Bd }!9F|†!9!Bͯ!͹p!B!?ͨ!9!9!Bd }!9Fͯʩ!9!9!Bd }!9Fͯ!9F͓ͯ!9!9!Bd }!9Fͯʻ-!B!?!9!?!B!?!B!?!B!9F?!B!9F?!B!9F?:G1!9F͟!B!9F?:G0!9F͟!C!9F?:G0!9F͟!C!9F?!" :G*  * #" ! !9  9F!9F|!!!9F4P! !9F͟!9F#}!9F|!9F!9F͟!9Fͯʓ!9F͓ͯ!9Fͯ!9Fͯ!9F͓͓͓ͯ!9Fͯ!9F͓͓ͯ3!9Fͯ0!9Fͯ-!9F͓͓͓ͯʟ!C!?!9F!͟!9F!͟!9F|ʁ!C!?! !͟!C!9F?!9F!9F͟!9F!9F͟!9F|! !9F͟!9!9FN }! #" +* F!9F͟,!9F|@-!9F!9F͟!9F|Y-!D!?!D!?!9!?!9F!9F+|»-!D!?!9F!9F!96!9F|§1!.D!?!9!?!B!?!9!9!9F}}!9!9F}!96!" !9F!͹I.!9F!͹͓1!9!9F}c!9F!9F͛ʉ.!9F͓͓ʚ.!9F#͓͓.!9F!9F͛¿.!9F͓͓ͯ.!9F͓ͯ/!9F!9F͟!9!9F * #!9F!1͓͛.#!9F!1͓͛:#!" !9F* |^#!9F* cʦ#!9* !d͔0}!9F͟* #" +* !9F}*  #!9* !d͔! ͔0}!9F͟* #" +* !9F}!9* ! ͔0}!9F͟* #" +* !9F}* |S$!9!9FN }!9F!9F͟* #" +* !9FN }*  ʱ$! !9F͟* #" +* 6 * c$* ͓ͯ$! !9F͟* #" +* 6 !9!9FN } ͓ʉ)* * F|7)!9F#}!9F+}!9F|M)!9F͓ͯh)!9F!9F͟* #" +* F!9F͟(* * ʺ)* #" +* * #" +* F}É)* " * * )* * F͓͓)* #" +* 6)!9F/*! !9F͟!9F#}!9F+})!9F!9F+!9FͯX*!" !9!9!}}!nC!?* #" !P?!C!9F?!" :G* *** #" à*!-!9F͟÷*!C!9F?* !9FP?! !99F͟!9F͓+:G!9F͛!!9F|R!96!C!?!9!9FN }!9!9FN }:G!9F͛ʚ!9F͓[ !9F+|? !9!9F}!9FZ!9F}!9F}!9F)!9L|* !C!?!9F!͟!96Y-!9F)!9* Q!9! }!9F͟!!9F!9F͛| !9F͓ʦ!!9FN !9F͹ʟ æ!!9!9FN }!9FZ !9F} !9F}!9F++ͯ!!9F)!9}!9!9F}:G!9F͛R/:G!9F͛O/!9F͓͓ͯʹ/!9Fͯt/!9!9F}!9F!9F͟!9!9F}!9!9F}!9!9F}/!9F!9F͟!9!9F}!9!9F}!9F!9F͛0!9F͓ͯ,0!9F&}o:G͓͛0!9F!9F͟!9F!9F͟!9!9F}!9!9F}!9F͓ʠ0!9F#͓͓ʽ0!9!9F}0!96!9F!9F͟!9!9F}!9!9F}* #" * !͹&!96!9F!9F͛4%!9F͓ͯd%!9!9FN }:G͛d%!96&* #" +* !9!9F}}!9F| %!9F#}!9F|%* #" +* !9!9F}}!9F|%!9F#}* * &!_C!?!96Y-$N&!9F!9F͟!9F!9F͟!9!9F}+!9Fͯl&!9F͓͓ʇ&!9F!9F͟!9!9F}!9F|ʰ&!9F͓ͯʼ&!96X!96!9F|+!9F#}!9!9F}!9F|'!9FF͟!" !9F!9F.+* * ͓u+* * F!9F͟* #" +* F|r+!9F#}+!" * * ʢ+Õ+* #" {+* * 6Ë+!" !96!9F!9F+E*c!9F|@-!9Fͯ$,!9F!9F!9F++$,! !9F͟!9F#}+!9F|E,! !9F͟!" :G* ʀ,h,* #" K,!9F!9F͟^,!9F|¡,! !9F͟! !9F͟!" !9F|,!9F!9F͟* * F͓,* * ͓-*L͓ͯ.!!C!?!9F!͟Y-!9F)!9L!9FP?!9F)!9Ldx!! !9F͟!9F)!9L ʣ!! !9F͟!!C!?:G@!͟!9F!͟!96Y-+:G!9F͛"!9F!9F͛"!9F͓͓ͯQ&!9!9FN }:G!9F͛V"!9F͓ͯ&!9Fͯ"!C!?!96Y-!96!9!9FN }* #" +* !9F}!9Fͯ"!9!9F}:G!9F͛"!9F͓ͯ"!" * #"++!9F͓J'!9F!9FJ'! !9F͟!9F#}'!9F|ʌ'!9F!9F!9F|y'!|'!!9F4͓ʾ'! !9F͟!9F#}!9F+}J'!96!9F|'!9F!9F!9F++͓(!9F!9F͓(!9F͓/*!9F##}!9F|N(! !9F͟!" :G* ʉ(q(* #" T(!9F!9F͟g(!9F|ª(! !9F͟! !9F͟!" " !9F|(!9F!9F͟!9F!9F)* *A     1!.!͟!" *.!D!?!9!?!ED!?!!9F͟!9F!9!?!!9F͟!9F!9ͺA!9!9jA!9F|-7!HD!?!9!?!B!?!9!9F}!9!9F}!" !9!9!9!}}}!9!9F}!9!9F#͓X2!9F͓͓}!9F|ʏ2!9F!9F:G͉͛}!9F͓ʫ2!9F#͓͓ʠ6!9!9F}c!9F!9F͛2!9F͓ͯ2:G!9F͓͔͛Q!9L0!9L͟3!9LF|@A!9L#Q"A!9L#Q+!9L#Q+F}|iA@A!9!89L!9A!:9L!9A!!A!!9A!69!9!&9L!9A!!A!!9A!$9o&% ! can't open FTNOTE 1.4 :: (c) E.Meyer :: 84/08/27 ===================================== ! bad user patch! no file ! bad option -?.$$$rbr! NOT file existswbwFormatting , ^C to abort... page 1.IG ===== Formatted by .MT .HM 9!?!9ͺA!9ͺA!9!9jA!9F|>!" !" !9* F!.͹i7* #" I7!9* !9* !}}!c" !9!"A!9!"A!9!9!Bd }!9!9!Bd }!9!9F}!9!9F}!9" !9" * " !9!9F}ͯ8!9!9F&}_o}!9!9F&}_o}!9Fͯw8!9F͓ͯʮ8!9F " ʞ8* " ë8!jD!?8!.!9F͟!9F!9F͟!9F!9F͟)9!9F#ͯ9!9F=!9F͓ͯ =* * ͓,=!" * !P?* !9FP?* |j=!9!9F}!9F!9F͟* dʕ=* ͓ͯʬ=! !9F͟* #" + =! !9F͟!9!9F}!9F!9F͟!9!9F}!9!9F}!9!9F}Ë9!9F!9F͛}>! !͟!9!9F}!9!9F}!9" !9" )9!D!?!9!?!!9F͟!9F!ED!?!9!?!!9F͟!9F" " " " ")3:G!9F͛&3!9F͓͓ͯ>3!9!9F}!9F!9F͛e3!9F!9F͓͛|3:G!9F͓͛ʧ3:G!9F͛¤3!9F͓͓ͯʹ3!9F#}!9F!9F͛3!9F͓ͯ3!9F͓b4!9Fͯ 4!C!?ͨ!9!9F}!9F!9F͟!9F!9F͟!9!9F}!9:G}!9F!9F͛ʅ4!9F͓ͯD6!9!9F}!96!9!9F#͓4!9F͓͓}!9FͯH5!9F+}|4!C!?ͨ:G .MB .OP .HE# .IG ===== ---> For PRINTING ONLY; do not reformat! ===== Chaining to file ! buffer full page .PN .OP .PL ? ignored .; bad argtIG Scanning ahead... ! duplicate ref ! not set: ref ! bad ref ^ ! missing notes.IG page ? extra notes Closing Scan complete. Extracting notes from , Replacing notes into , deleting ? ignored .FN; bad argt Numbering notes in note ͓ͯ9}>)9!9F!9F͟!D!?* !?!B!?!96 !9!9!9!}}}* " !9!9F}!9F͓ʧ9!9F#͓͓,>c!9F!9F͛9!9F͓ͯ9!9F͓ͯ;!9F ͓¸:!9* !9* !}}!9!?!B!?!9!"A!9!"A!9F!9F!9!9!Bd }!9!9!Bd }* " 7/ٻ@ߺ⧞~! OZ⦾ZA<^5hw]^YE{-ZAB@^h g}S'ή,q !v/=ѷB;K<RKϷ!~E ;6aZS !֛[4^%C^8mՐ~ ;/quFؽ ( e9}?Mf2%bJB _oly CyNp,~!w1{.M=A?ZAJ=dAga/߭bYzϒ{;MT;kLxƣ<SYzB(My7uzY?gir`G =LwZP/Nka{?kLx1Fv> )I5uz;^~gir`Gߒga coԏv]=ī'*CAS7t+rkszYYFr|9b [{ϑWKyEXԽY.w b>80[`gxPǪmNI(JMfaWFwXI-)bYolya#Ƴ;fOS{zP/./vv=g fg1|?Zz.׃@rK],JW,]] xT.w,C_z9T[R ]Qėi,*h)~!~ 9|mk{ r[+8/7uWC>11^I.@}^r]IoڮAvy^r]IvM vd&uYU;ZZS{bakSB?]wAq `gY7ug?Vwv_+ +j&C잢 dO,r[;M]Њy%%=vfBw)=eٝZ]i^Q3b*& f;3nM-r1]t(?7kWU@e(SCԊO@J!;A};ۈ(]} M]aPؽ~ =s->w/[!v*tXw补NSYzѷ,lߝxqb!&:zS7u!ګZڊW< e3~+^VR@) 0禖xGWw{cϳ,(󸩥+^VR@,wy4tū<:`g-JVNGW* U禖xGޥ៝|۝כ[./rSKWʣS*Z|SKWʣ+vJvfiq)e=~"7tū<:J hRr~?ijWytwV2=Vx=8yw"xG;7PUu]r]/U Ī>iZYnn">In^2/=x X~!Sr~_x^_g pğݩ%!~ZY`<^z?]~Y_gCYo5=.Xt,%w+vXFTNT14.DOCf   !"#$%'&()+*,-./o1024356879:<;=?>@ACBDEFGIHJKLMNOPQRTSUVWXYZ[\^]`_bacde5 ~WܚZZwnjtūܭvVhU+nHDU}OSK+, ƓQ{QK`nV^!~.]>sm;7wuѓ}ݫ-KFU0Op,HX7׽hYrڻnꦖx%)I_:znUG_[U;Z3O70I&ZZ>+V,]]~M$hWUK/]Q3PJß Z:;+]]~M$hWUdiqqū{;%E;M6pn A} x!~]^keI_ ~WPjw>/&D V A} 繻:Mwu;sGq̏G?ʣ4=x],$%(Ue^MNWUhkM>!?1=PyIhwu+$/.^JlC!(]k互mx^r]I8+^r]IGοΒ, 0λJ:כRVvmq,/OA     7/ŀ~G ~W4ʟؙmx~Ww=ϫA z`Ȿ%'sDSN΀WЊR+B4+~X/غ6}[|,OڕPj;vn]ݦAH'=!G֛zEͪ!vT*orW!=bYg}7u_kjfJÿN}K K<;zPVLP۴((ڦ͂-~-);#ƣQA^u3?w~ae.NSQAGngxb!>*b]-[ߺG}M݃U@x}ZgtFG /v7uS{ݛQOUWѓC~$Wa%?Lj)9YQ5SR4uiGJY%{a;BZOY?xXh|?~OS+k)8xg ._TlXkei;^oC@Zn-~֯5ȝ`ga&Ƴv~ַ®EJ^]OYKyaJ:w`?畄TZz+ 0n${F6ʣUW%V1r^B|M-]u[U^Q^_(gh7FV%7Z"6 ? U+^PS{yX +^PS/ÊtB,ğ bYOp2yl֋W;PGySjx0<ï?,B2j՛zEMYa?kqPj!w)!>z`-J׃z}KR)C^ԭq3M^zݮwhkMl1vo3r}oIW!|5_.Mr[;#;7wu#^QS?׃<:ta+y_ ~^rM yqW?"3®EĻηV^NSIk,qgv#͂-~|?y-./lgwvGZY㼰{jRW 4=滼vM]tkꦖJWL*^ї|+t~W-M]$B\U^Q3AVVZ+?-Zz9T ~W=l󏍽e94u cx%1 A1 9sY!n,3փz{-?xXb9FyT^_J9^QSx?C 8z`*j'^vgش((ڵ'[lGgΏ-W|V~-1;#*y)9?-;3b<|KT}v {Ƴ~!~=K)gZ>Uumc?g^VKtl#X>rJ炦n][KJ3jR_[Q}W4HSj픤RM9Wwn^KimgxrZ.l[ך:gZ/mgbɯ*ԔW'$;c}ZeؙVFm^]^Qo!vOPփyu%uw*Z1eNL/kMR^z3<)7_j(6ʣUW%V1r^B|M-ɝQ^rvqcdUBAq6 ? U+jJ.^3A; B B ϗzJS751bUh=\WRhŔoR:15uSK=xE_W@ϝYj:Ȝ YB,7Ö:܊%Kj UAg4,IItEM 5ÊWPPUOϾ#Ɠ秒.dI P,L+ԛ7秀꟏cmgpM2y Q)nB`R ~W=i{;%v_Zz /HhK+;7.c=2s>VMcUӁ_op|KUWUV9?e+鱋2/}KOPOBRʡ7hO*Sv.zp, 5uïlyɯ;4&h[W*Fϫ@ocR[U^Q^_(gh7FVDʸYyhjMϾyx~*xՊZAY?ĸ(dS~7_ oZa~ ,C Cm@y G\;zQ_QCSK=lūxeEMM-I uaܙk>;9OU B桩MV,YRT :kgOJҥ+jzhj$P_$ ;!f0ex Yol񹩻C^KYogIe36kL`V)3^_!)9 2yBUGo5{-He[+__I?ΏwAVΠ_ogIeLM|Wi]nZ}nA} 繻:󻺝;sGq451;JӧX9|K(–Pb^QZ+ []Xkg ~W,FGw禮xvG_UUk,qr5 U Tv˅bǷ˷t_aysvAW^MfWZ+Kbbt~l1R*G/*v+;MW'%_o`g]av+>ª酮U;M˼ޙ^Έ]}K[vt?#sYحbߝ7C?z`jn?ΈY%1Νv.zPjMMa`gLwF4=BZ+KboIwBV#t{-C,Gο_b*z`?g [$ƫ@IU.x1Y?*Z1;_Z[w,|UJ5uzB+!K]Γo W,]]HeذZ+Kbg ךZVBpBY[X5#))YK)]@A mVf] vPjw7 XkeIsgvg)9:/3fhWwvF͂-^ ~W9  Ky!&$zSB@Qėi,l? 9c%?sћMR銚ݮܼdJ)MU]ZSnwQ/?AmW%P-ZY;sc:x%1YBwuѝΏ-FJY]cĘsNGxd]xҪ7u\vGzzPo]ܪ>2W b◒SN}K\[KWW/ؒb%!Mmm{+dwFtM-կ;}:#}\H x8c;%}l?h?=*&A}(֚K n>̫R3~xZܪn,sgXIZ󏖒'=x~2W b⧀9ؙ #CJtPbKU~B@^zMh99ܪ彪+jvc9vV~|ԉzP/]d~L/B :1KtEԓAwHZ8 ;z;%, 0^N4ubwu׃'+j&k_s_?azP_ԉمg)E+VD=x;[ŪI?Ay^Jъ.h5Ώ{ Ra`gLg vQ/ŲYIHS._`g=xƏb'V6ؽ d7Gxz/x%fjO.-ZYウȁvOO|%؅8U㻼t7Bgza2;3_CcRW/gw3MfW|9v*ZSRNH?9zP (xt9w YE9vV/_Tl]XkeIM#V蒫ս+jvOz;%z;+]] 8vM-)]JQ )K M yw+F+ g'ΈfgKH;@Yl4}:^?LKp4zS'bJB& #bXk+j;PM9 M); ZS{ˡ7wtW2LtdN_e-&Mrڻ(ͻ(ͻx5JK(]uQ Vh ץf?˟񧩗PץK%XD^d(.ut?+;{Ƴ~l(k}z %{].חqW&>%x]*.xFK֯W-h%^uJd+^IPu /įSR㦶;;:ܱ (5T͂->Pe`GrJc}-9;kw@}?wvg!(Ԋ*.VM*x >9&S~9ћZ&͏]nQ^S?r[;Rk/ig8c=ϝѲ^UѺmx~lWUwu;P 4u_gwwɹ@ߺC^KyMq~ڻ|Ú:Rsgx!~vGzZ+/K(dwjNI45o]#;BtBZ+KbG!~wؙ{jRӅz`O451^zGS+?C ѥza*v|fJ?R$DSC8l.ȴޯ1h#/H>JMvDx!~>P?;gWLeʏO/L9P 5Ԧ?/׷$^MRv.zMJ!Kp%zSkWMY_9f=c K]V ,7u(Gw>zN9!v8[R?UcaM}픹|b!?Գb%!|Syj>2ZYٝ,h%C잠pRqS˶*b4=*SNY? A

2w?K)Z9+]]y)9?X9&[<7uzY= 8ǹۘl;X>,lwvΠ_<bnzS ~!~a.aJ:p^IHe b.SV|ַky-1[+ ?]=v-ZY!(vyx{OGο_[GF}m,/%秞|S_Γo^nwSEcKVWWZSna,A     汍-~z;f=JIWD={ ]ގcşG͂-3| Z~_Q3{q–?J:F_ԉ[,\~_dŁ st|,*YX(hBxi銨'W_IE|FAS'f-1KW5XXlg Ȃ[zP_M-+ZN>$K.kMfW@^z9TBy_Yx#+_PkL hj7Wzɶ<=B䭏 _LU]]bµVMww+ez2p):+d;S ۝j}[>=OxϪd0nwi^keJ19_LV%gi[`gM+W'qb)\ԯ!V'$uTvNEWSWAP.COM 2 !"#$%&'()*+,-./012345678<=5H9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ6:[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7>*o PJqgU( ΒC%zSK7aK(h';s2T$*T Hz02M핗 bYK9A^;#KؽbwVzS_W !vbS {sbYN3W֊o}ۙGH&\.Zw ǟǻkC^Y ƹ3bxv🵖Y?E9V'WZn,WC,MvJ<"{jM]rS_ E|Ə-ZYc7MWv.zz+^LTM-Z]~wQ֎b)rbR߼0~<7kzE𯷳ޔo^E*ıgڕ?_[=#%x!W [{cx7,O[%kIJvV9ΒqSxc``OƏ-ZYc7MWv.zz+^LTM-Z]~wQ֎b)rbR߼0~<7kzE𯷳ޔo^E*ıgMEϻxjJexzkohBRr~ ћz Q$*]]$uw.-('9j)Q~[F;gL?%}v_ED0aB8UN@xqme4+ {rlki\ZWTSRIG,&#  utsdcXVOMCA1$!|yh^]Y3nfbK/ \z׷REM FILE NAME = "NEWSWAP.BAS" REM SBASIC PROGRAM TO RECONFIGURE PW.SWP SIZE BEGIN VAR HOWBIG,I,J = INTEGER VAR ONECHAR = CHAR FILES S(2),S(2) CREATE "B:PW.SWP" OPEN #1;"A:PW.SWP" OPEN #0;"B:PW.SWP" PRINT "DESIRED SIZE FOR SWAP FILE IN K'S"; INPUT HOWBIG PRINT FOR I = 0H TO 7BH READ #1; ONECHAR WRITE #0; ONECHAR NEXT I READ #1; ONECHAR ONECHAR = CHR(HOWBIG) WRITE #0; ONECHAR FOR I = 7DH TO 3FFH READ #1; ONECHAR WRITE #0; ONECHAR NEXT I W",Z*>H9v D9R*y_.giq^ogrWg[sɺ Ka~ꖦ[Ok@j *RRUr[@G=x#VVOTS (%@UXUPM"@Na^[uFNU@)fU4% tԃ7bUA{hPJ<MjcA'&<$r`O$*zJI&0 `;gg0Ӈ;H:f#- /wĘm>(/{ڟ^2 b-ݒv^ti䱕gzNVe{zbU2Sa g QʓF1NQcmѦn7yr :5&'VOM]l!A~mgW((Gy*ї.7/_) 9 ;><*XZܛo&>PWq5}#|qs ;ǏG;"_w $Fi=|vx+% K sǎ_v}Xnx$$ ~Boïl -zHg 4˯t!$o+[AF['ԾX̌fuΆYM.YhѺ;uAB 8rH+ RM'p*<$։1jpdmWEH#\cN7"]heKs!1C͚] 9|[YSs!Yy #2Q%ɐ_!6"~UKUĻD;ZEܠj  $2Qx9!w^*#k}py}kQ3;Yl'Θ3 0 ?wȓc\Eev|J9͎YM> WcGD诰lҏʏpb)5f `Ŵ !M$*o:uAj]7 ͼ7>tRүW)E|  t_k. t_.b訇/^&17PO7:A1 (%*Tb܇M/~{1 =obqW8Ԇ45 ԩo_?y.j~ã[_?:uj~ az&M%^OQ?OM<~wBKi>3bLb+lybbf& `+jn > W!f Am'zG>?#7y9O(= C=F,;|!Vp53Ѵ^ @M2M=; 7bZu0ɞrOěZBk*Z1#N,ZD1Njj1Ek(6̦$L0k6̦By0VOUS' &c[SZǨ++FttE_uhCd]7/oW,v^Ңd]p;kVZ?Fd;Toh7iѽE/n˚-ѴmCufC;}hD,z=oGmgCvw_n3vl?4xLsQOgiGwѹ>.GL="KV-f׶Fm4{UF4ˍrS|QQƍ\6†ƵU ChM2?k Wl`@|!Tb E`Kͤg%9oN:D1@vvsBG mmG)@i?DcӦI343 6RoZ@,:9$t jM+.˦F.v1.t2k RM;ܩ.B˧S]kpnOK-pu !-v<Lv!"a5ACkǓ4Db~f#6-?ktMKܩ R@B[iG%Hqk7Hf0}!L^6۳Vv@vr#/к,w1۬5p}ik7n7dI͚MA]vxQHY+@;tMAJtMΊ !aM;B7 )0n~f&7 о^ 6Ȩ5Koݿ[>P+oUfjmenΰ3#\_vm?ϲ3 ŗ̀i$|Whf@̀COU'T=1u?DerKศ@$ADNZXMv4[4soK39 4\]LV45W4Ҙ/evi]MG/歚]9/Gh7nЋ%&-g[}x(B4[vnՂav/}9?MQ1ݵ[{`UQ1/]Pb ;:F 083s X VOu\,wꂄtAD șk]( FOܩ R`!>|iA}t5_v{t ``ժ69"x%R+BV 9ȸ ĝ !HrH<]3%x DB V%UA{Fm%*F['T%Qxx."C[0Kmsr9H-p+m^4s܀D͙ɑrs9\ &;9\.ĚA     lx<#@t Eo a6 u&VGkɣ>U ZJ#O%}I-E?(YitZNr7H6pt䕵k}V5(-o&]?vJ%Xg(R *\: (X ʙFlzPʃ<^*QQjey(~舁}1КP jAkx: 9;7z &X&t z$bY3$6kZ6HGkAC拲U bІ@蘰퇞C‚J5Y7hMPFkw 뾵 W] pxJO;W Ns_y"0 >6N gj]L뽷p^.7hZG'd~3CQ1KlՔ"ЍRl}kuoso20d2 ,n_ .in1Xt N.='"<~Sw?~=SLqn-N>wU@0 {:q;/5;Kp~2R,lYAo3F1 F͉b[^*QQjey(~舁}1КP jAkx: 9;7z &X&t zQP8g8d:xS08?aud:^HP)AMap ƯzM g=$Ĉ˰59,! x#?z (E۸48 q|"l/RL ȣpΰH e!`kPs8 CR]ޙ]c =@Yj+xrVBQggJJ˷I1E?M `o\6@ ;lq jdajT\פ;9 +kRbB'k/g7^{+d: y'&Ś36 C DH%p&8xu [\3(Ӆ/A(7(,!ʍ( آw荷\ ya%Tl7-A͙|VӪH>XX7a2݇ 7 )ya㩂;>EWU,l<@AiS-A`]HG .<'Wy.|Qb":'h`_PU} zܡ aLDȜx\`C2UXLD2'^?RYq>X/,#ؑ>h+cY3Fnw5}M#|_yWX@1^*`.1R xef@zpJ%1AU.[!YG1f|bB1S3f4̬)F3f0#`FB)Dn+E\mR}N{-r3\FZXT'*)$=ʈ1cz2(BE\f;sj+nj.#HA1PQ)CI'gB)`L縠 :B)X< ! fz\ HHJx;܀4>}OC$ᝆKZ+ R vNEWSWAP.DOCR  !"#$%&'()*+,-./0123456789o:;<=>?@ABCDEFGHIJKLMNOPQX]SLx~wswZ5nۻġׇ;ǻ5va^ÛS*h,f 1,`jl.ﯱ.FBtS,g5]O Ye8O6o9gRyޢ͙`L KLZS/CxF 7)#Kn'Wp8g7{F'B*ǭr^ %lq j{&gS/@`oE^x w6'jSL nnV{FgjpH -:2@`eUb_VWq=n+9!8x*{xu [\3){(y7X]M1E/pM9$*ǭ򉰅NCłY $noS3Sc2{ڣ7 _`kPs&/uq NU C%*)ɻ '^}ljSL/7akPs& 11PZΤdȣ7~I 1LG*Tl7{`謠f3Ai@VخywIl!Ps&x7J>`&B9#Am% 8 10 jSLC{7%mmG)@i?DcӦI343 6RoZ@,:9$t jM+.˦F.v1.t2k RM;ܩ.B˧S]kpnOK-{Fr-pMvMc,Ubteaj̤5QYH!AMNjx0ܿY.a"H5pT`kPs=)}( &ӡ2oRLn)$NנL LIkPM1E/.0g$EvC"U>pJsTڮaN#\gou>A[΁BfQ*08]úFm"|Y6K9'TTڮaN#\gou>A[΁Bf*֨08]úFm"|Y6K9M48huV =}\ٞ(d S!E48huV =}\ٞ(dTRapb{ku;<rEsOmlr; 'kTv vy:xig> .lw2OvS! [5iqЖ,Χ<{8hc+=9P(w>A[΁B93 #TڮaN#\gou>A[΁Bf*N*DZPj`N=liPN/ x?J9*A-f[ZTKF Qnc|dLB;)! YVSED1+('%$# g.rmk{heba@"tp`\WUGC40 /1P_t8:^:;_~ZzsZ{92wg5-6 o;za/cǬc_;v±7\kJ i`J0fBfx* *9Dюu;-tV >J@{ &Xh*)`0&'TjTȵ6F{VIi6-dwB=C\kJ i`J0fBf9*Tȵ6F{VIi6-dh0xl`Nks,VXw8$mC2hP!"ڄRva;X% dZB="rM(5nUR,.*`MF TA\kJ i`J0fBf Q!"ڄRva;X% dZB=O*DZPj`N=lX\T42]GhM\kJ i`J0fBf Y*DZPj`N=lX\T42]GhBD 4vJE%Lh!3X\T42OR!/Tȵ6F{VIi6-d?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]567>Hu:^_`abcdefghijklmnopqrstuvwxyz{|}~,,c;{7em7e,cX2e,cX2tXe,cX2ZmSX{X?e _ `yX ݯbX2e,ro,c`Xla,X~Y,cX2e,cX~P4ԧ> iOC}P4ԧ> iOC}P4ԧ> iOC}P4ԧ> iOC}CCV:s6dmh4i/aN9eh(0aKv[t-nŜ24'lt=LM*DZPj`N=lX\T42û **DZPj`N=lX\T42ûרhThoyin=Ίm}>]688>#Bfxn*%*DZPj`N=lX\T42ûhIA     A1*E" iukmlGl)dm?u\{ֹ^ϭQ!p [F3Rú^6bcBxn7 *4Ç-iCIr VrBx  &Xh*)`0&**( N bNO(T:ĥt.4VB@\jF"[X66ic+aK';٧8bKF'k ڳBx %*t'nb.s駹Bybvڝ.vR:~K?+3sG 'D.s駹B~ *L4K&t{Hy!='lC颭1B{6h`NmlŖÍNV5*,'n\]WmK2=T)'n=\1nÇ\1wS!ALM'nV*l9dJ*Y@s6[`qQ l2Z]TB\kb;u;mW[xSak*䛍==4y>Jb(Bfx^BD 4vJE%Lh!f ә "rM(5nUR,.*`MF 5à3n*nkXTg Wf3[mBfX3v*DZPj`N=lX\T42kn:آBD 4vJE%Lh!ftљ@ &Xh*)`0&̚Jg'߬hk4n >94ەAY3ҙ6"rM(5nUR,.*`MF 5 kmBu;bqQ l2ZȬGL mmX6vݖCBfm9:8F\kJ i`J0fBfmmSz[sveUlrrt6dp矷 ښAg *DZPj`N=lX\T42kkkt& PapkKXd JN[ +gNuI%]Ǭm׋9-i6-dGHQ].5+-g{s1Vwә@{ O\kJ i`J0fBX3M*7k~ikpE_/dU:8ilR!"ڄRva;X% d1Vҙ@{:"rM(5nUR,.*`MF c Tȵ6F{VIi6-d#t&p}b [͆ o5n[![ņ%i  7:+q9:hDkmBu;bqQ l2ZGL= S!"ڄRva;X% d1t&(Q!"ڄRva;X% d1љ@{O*DZPj`N=lX\T42t&‰Fs9u;D琭1vљ@{ ' vJE%Lh!n:x &Xh*)`0&s]t&0L9<ºʬ dJ JVȬ=Jgjm-i-ÝlRIaAI ҙZFȵ6F{VIi6-d֞{BgkmBu;bqQ l2ZȬ=wkmBu;bqQ l2ZȬ ?GgTȵ6F{VIi6-dֆL("rM(5nUR,.*`MF aP!"ڄRva;X% dY^3#Tȵ6F{VIi6-dֆwә &Xh*)`0&p "rM(5nUR,.*`MF U:8NV6u;a6'lO;Y>JgJmZIƺrl?llJ2kOL` mHmbv&mlO؞v*l!6|UR,.*`MF c͠BA۩uϔ!.s駹BX[B &Xh*)`0& mHv&ml?~ac[[Jht6ܟ:=\/d.*:l7#5Ρ!oc+6h+dU*А'n %e6|X% c(A*DZPj`N=lX\T42*X*( N bNO(T:ĥt.4VkGP M nN)Rp:hÃs1v?G<KXtҹ\zY!cB5*hk4JXCCΥ cA@ Rcu;R^H Ph+dkTS=RhEn6bF'k+dݻP`9d+dt&Q!"ڄRva;X% d13@"rM(5nUR,.*`MF :hlP!2Sk F-3[:٤c6PŜ2#t&8Lm6\gņOt st&B0qvڟJVpMb!(d't& &Xh*)`0&Ġ3?hE%Lh!c<1L=*&6Z~viKa̖éN6x>gSy׋94!XӍN[ +gNuI%]9u^llcL=lX\T42Ɠt&'"rM(5nUR,.*`MF I BD 4vJE%Lh!cEYƋsp7 k ,>Sq a˭w*,NI 6LWlر .gpsק֋v\gņ'lO;W|琭_X?#DvjcVuoN!\؀_i_ݏޖ+@q;AxDvy&:tDKP/MؒCV GG^}>_ڂy &K⚂:NMZNi8 4/#M8?o‚gi VrpNi8 4pNi8_jn4 aAIpI57pNi8 4pNi8_7%mCCXP6mmh4pNi8 4pNi_jێMmCCXP6Ur6|X% pNi8 4prBfx y8u;mRmg~Yϧ6';٧xY M@{D\kJ i`J0fBfxw?kmBu;bqQ l2Z ^B=0A?'(5ڱn>Zx6?. GhS!"ڄRva;X% d @ &Xh*)`0&#TzkmBu;bqQ l2Z w=G@{` &Xh*)`0&p0T7 iq wNm2]*DZPj`N=lX\T42]kTBD 4vJE%Lh!3ܵ ?kmBu;bqQ l2Z wuQ!7*DZPj`N=lX\T42]TI\kJ i`J0fBf(X\T42kkt&AmFw mV?o2kL` &Xh*)`0&j 0%[M`2%i5 J҆BfmuX*DZPj`N=lX\T42kGL@B?Y)>+gNuI%UȬ>3y*DZPj`N=lX\T42kGL5*DZPj`N=lX\T42kG3O&#XùΊ O؞v*,(![!vt֩-==4kl64>l[)A\:\Ȭ5LB\kJ i`J0fBf gSy׋9-X\T42F0oR!"ڄRva;X% d1 *^BD 4vJE%Lh!ctQ!Tȵ6F{VIi6-dTP!"ڄRva;X% d18llRab8,O`Nw RGxVrBZ3KTȵ6F{VIi6-dt&BD 4vJ&Xh*)`0&()*˥&#Xve'lO;W|shw?~y[1v?B` &Xh*)`0&=>IHp-u;mOr6V*6,K+\!3&iobN'lr6oK #=OH{spvzBɥҹ$sgmԨxԞĺriv}^Yg\X cz08u;a;Cx0qVp)g{s1 ؠp%hg n:۱B{z B[.ذ$m;]颭4pNi8 4P(u7mr\gņ%iݶ,>xwTnWdunL(5#[\*YaAIpMby< TnU9 ]3T(hN@xQÖK:+6,(I>R\kmBu;bqQ l2Z w=B=0K\kJ i`J0fBf큝Tȵ6F{VIi6-dWBxi ͚0qvo3s8]g6ŇuVl颭wTnWWP;,nl\-ÝlRIaAI _l}9AZ[H׽9tu̻ !?@'MlÍ6ic+xSa P n۱ν1!e5a}6P#[ꙟu?KŊ-WpNi8 4B)?n2û8>I\kJ i`J0fBfxA@{ B\kJ i`J0fA     -*DZPj`N=lX,&6Z~viKa̖éN6x>gSy׋9-da*ޤBD 4vJE%Lh!ctTN\kJ i`J0fBZB_kmBu;bqQ l2Z]BD 4vJE%Lh!ctuQ!p|ؤVqX^¥N:>䒅ѵJg큗kmBu;bqQ l2Z]GL=0H\kJ i`J0fBzBgn*4k='N`NmB:Bgv*4gjXOL=oTȵ6F{VIi6-d'L=O*DZPj`N=lX\T42Ɠ.:hM\kJ i`J0fBxJgY*DZPj`N=lX\T42Ɠt&I\kJ L*SEBU΁u9VMtp_B22Kg ~}xu"BPfr)/WBn$/g޹OD/Կ{U {Y{pYI;]iTkG7E ¹&:2 }AB*żqຶ-<ϟn\nGu5Uw?7`#i~`1a'bJ!1bL&$^⠸- Ȏ>5D|SwA֮J=I I=IM">;f.ec'N'qXQr![2~sȆ'ޕ} ʠqEr|'' @UQ<!rfz v;=(a5SWaBU U }nÃ6ng %@xAc q}y>6{R!洵9G7n@ Ϝ:x`Z_YC@•ὑɬP}JG{"C]-ޔ=(G)8\м*@㮃qטU2&\9s _sW-n/0Ƚ!Ye/eOAѯ.WDjSҬw_:Jٍdw;W;~;za/44|oqu8;5tG+헪sA8DGvA8(_ZE7\׶ލyVx0,Z{| )U+2tI8N>Bݸ]6"2 Bqn9c(1bZ uYxxSO& a֧WG>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0wͰy\1%ɘvi`J0fBx6kmBu;bqQ l2ZOЙF\kJ i`J0fB8 Q!"ڄRva;X% d1 ә &Xh*)`0&qĠ3q*DZPj`N=lX\T42Ƒ5:Tȵ6F{VIi6-d#L"rM(5nUR,.*`MF H DkmBu;bqQ l2ZGVLP!"ڄRva;X% d137kmBu;bqQ l2ZGЙe*6Xf񙲎+l[nSaqMmȖ^db+d#GL`"rM(5nUR,.*`MF 瞣3kmBu;bqQ l2ZȬ=7Lg*DZPj`N=lX\T42kt&PBjbN&y2O˃3geCӏ)tE1Gh(Δ]qc q}y>6{R!洵9G7n@ Ϝ:x`Z_YC@•ὑɬP}JG{"C]-ޔ=(G)8\м*@㮃qטU2&\9s _sW-n/0Ƚ!Ye/e@\rE01 6%z7˩S^H&/_ z7s^BayN^]nIw~:׎osMtdnDUD_yum[y??ݸ܎j!߫R%o!#Gfc5OAsŔC&cŘxM|-qI$Aq[D/ڑ},j.$Э].G_& ?b~d6;]3ld4WL$>7S30CLon%& c#Lʜ*SwAmxЦ팡/g_geloi~Čw3@H"bzr3 "gMCY}_[ I8he[įzz9< n#m 8$S&yqycLtp1.7>HZ ř+31Wgzs@…ӏyfԺ$\LI(7gL!0ZyާѦcO*!v!"ᙳVO^k>KxȗH272QsC WhC6b˺s}g}21&^{K\/qPcvdGK"> tkW%$&A؝Tq32wV(~ېX?9d>nteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hS΁YsqAkm&ml+Cl! K\kJ i`J0fBft&"rM(5nUR,.*`MF L` ry-u;Y>&Y{n *ˇ"[XZJ;٤‚2k35Zp+lx^d+r0 mԿ{U {Y{pYI;]iTkG7E ¹&:2 }AB*żqຶ-<ϟn\nGu5Uw?7`#i~`1a'bJ!1bL&$^⠸- Ȏ>5D|SwA֮J=I I=IM">;f.ec'N'qXQr![2~sȆ'ޕ} ʠqEr|'' @UQ<!rfz v;=(a5SWaBU U }nÃ6ng %@xA < cs rVuu?S9JԄ}Ps grk-F7W ;P? E )h=abBmJnTS\ 9L^T_nx>PjUqG/f"-Ný|g&ݒHwRuU4>5.4<E QƁڶ<~ֻqU0CWݥKCG̦̏yǼk̃͟)Lƴ1v[xI (_#;X\IL[*q$-$q$7$Yx;bEɍۆl!xW7pv+D@,̓FVaGUH"gχdCfa&fh 3dL]q USV7 Te. t1^Y,񬳌R-͏nI[L]n&va[ Cp3KKr  {{D|awRY\,N<ޝN~[mCbeD O+8ѕAN" NA#0q*y$3C2!s30 34vzPj28„)2u܆m:JX/,xxYFvGhx7t$-j.7 -r!8%y%P+<ӏV=ML/N?ҦЍLBݸ]6"2 Bqn9c(1bZ uYxxSO& a֧ ѯ.WDjSҬw_:Jٍdw;W;~;za/44|oqu8;5tG+헪sA8DGvA8(_ZE7\׶ލy.G_& ?b~d6;]3ld4WL$>7S30CLon%& c يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|ׇW+"I)i*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hS΁YsqAkL*SEBU΁u9VMtp_B22Kga=abBmJnTS\ 9L^T_nx>PjUqG|B K^DK.-=abBmJnTS\ 9L^T_nx>PjUqG/f"-Ný|g&ݒHwRuU4>5.4<E QƁڶ<~ֻqU0CWݥKCG̦̏yǼk̃͟)Lƴ1v[xI (_#;X\IL[*q$-$q$7$Yx;bEɍۆl!xW7pv+D@,̓FVaGUH"gχdCfa&fh 3dL]q USV7 Te. t1^Y,񬳌R-͏nI[L]n&va[ Cp3KKrVx0,Z{| HZ ř+31Wgzs@…ӏyfԺ$\LI(7gL!0ZyާѦcO*!v!"ᙳVO^k>KxȗH272QsC WhC6b˺s}g}2S> < cs rVuu?S9JԄ}Ps grk-F7W ;P? E Y~}xu"BPfr)/WBn$/g޹OD/Կ{U {Y{pYI;]iTkG7Q}/_Nr%F2yQ}bxֻDBWˋp8 :EtK#ݕKչvT}\ k#s g/D"ZksYvT}PWü^u#/y1?262+d2.k}oK%1 ۢ z~юcQsI'1unݓݓ$8:nrXf1vtۊ%7o+':lx]yGٍ W$wYq4Y U#?A)Xa7`ӃV1u&TeNY݀P 65.4<E QƁڶ<~ֻqU0CWݥKCG̦̏yǼk̃͟)Lƴ1v[xI (_#;X\IL[*q$-$q$7$Yx;bEɍۆl!xW7pv+D@,̓FVaGUH"gχdCfa&fh 3dL]q USV7 Te. t1^Y,񬳌R-͏nI[L]n&va[ Cp3KKrVx0,Z{| )U+2tI8GI+8Svy&LuHtC<όZ 7<3i>)U+2tI8N>Bݸ]6"2 Bqn9c(1bZ uYxxSO& a֧q{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ.F&wp̤u3WMٳ>P|X_{\199r::w_%cjH995wUܛ΁+U^Z"ZZpi,׿G>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0wͰy\1%ɘv1&^{K\/qPcvdGK"> tkW%$&A؝Tq32wV(~ېX?9d>nteи"9y A     E ¹&:2 }AB*żqຶ-<ϟn\nGu5Uw?7`#i~`1a'bJ!1bL&$^⠸- Ȏ>5D|SwA֮J=I I=IM">;f.ec'N'qXQr![2~sȆ'ޕ} ʠqEr|'' @UQ<!rfz v;=(a5SWaBU U }nÃ6ng %@xAc q}y>6{R!洵9G7n@ Ϝ:x`Z_Yz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|׿G>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0wͰy\1%ɘv1&^{K\/qPcvd.ꃺu~yɛ|04?0wͰy\1%ɘv1&^{K\/qPcvdGK"> tkW%$&A؝Tq32wV(~ېX?9d>nteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.y\1%ɘv1&^{K\/qPcvdGK"> tkW%$&A؝Tq32wV(~ېX?9d>nteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hSC@•ὑɬP}JG{"C]-ޔ=(G)8\м*@㮃qטU2&\9s _sW-n/0Ƚ!Ye/e|{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYGK"> tkW%$&A؝Tq32wV(~ېX?9d>nteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hS΁YsqAkL*SEBU΁u9Voʞd#L}g.@hS΁YsqAkL*SEBU΁u9VMtp_B22K|{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSYsqAkL*SEBU΁u9VMtp_B22K|{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|׿G>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7gA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|׿G>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0w  Mtp_B22KoPrE01 6%z7˩S^H&/_ z7s^BayN^]nIw~:׎osMtdnDUD_yum[y??ݸ܎j!߫R%o!#Gfc5OAsŔC&cŘxM|-qI$Aq[D/ڑ},j.$Э]{{D|awRY\,N<ޝN~[mCbeD O+8ѕAN" NA#0q*y$3C2!s30 34vzPj28„)2u܆m:JX/,xxYFvGhx7t$-j.7 -r!8%y%P+<ӏV=ML/N?ҦЍL#nϘB\`^O+MǞTC9mC)э!En.3g!.|/;pexod2# x3>#mPu7ed2 B>`}3A 4)sy@@9P 5r~ "*@:HUa[ &ro:8@wV~zi‹hi¥B{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{ѯ.WDjSҬw_:Jٍdw;W;~;za/44|oqu8;5tG+헪sA8DGvA8(_ZE7\׶ލy.G_& ?b~d6;]3ld4WL$>7S30CLon%& c#Lʜ*SwAmxЦ팡/g_geloi~Čw3@H"bzr3 "gMCY}_[ I8he[įzz9< n#m 8$S&yqycLtp1.7>HZ ř+31Wgzs_ z7s^BayN^]nIw~:׎osMtdnDUD_yum[y??ݸ܎j!߫R%o!#Gfc5OAsŔC&cŘxM|-qI$Aq[D/ڑ},j.$Э]{{D|awRY\,N<ޝN~[mCbeD O+8ѕAN" NA#0q*y$3C2!s30 34vzPj28„)2u܆m:JX/,xxYFvGhx7t$-j.7 -r!8%y%P+<ӏV=ML/N?ҦЍL/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(KxȗH272QsC WhC6b˺s}g}2S> < cs rVuu?S9JԄ}Ps grk-F7W ;P? E [?ԿG>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0wͰy\1%ɘv1&^{K\/qPcvdGK"> tkW%$&A؝Tq32wV(~ېX?9d>}Zm:Bik'rN!͏n .rp9kud?q!쵾d?|ف+{#Y871p͏1Dn-[<){'Q0Sq yO28"gU΁Z]1dLM U9r!@Z [ ^`4{9|B K^DK.-ߣ_^]&&!ԦYF~9u˕EYw v^w^hV?,/i4pwk-tW/UQMsQpBÃhqP4k1omK;gQA] :?{]~lw̻fۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--Cnteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hS΁YsqAkL*SEBU΁u9VMtp_B22KoPrE01 6%z7˩S^H&/ A     Ex ąϒ e Lf}dsP4?c n\YLFA(>Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|^~}xu"BPfr)/WBn$/g޹OD/Կ{U {Y{pYI;]iTkG7E ¹&:2 }AB*żqຶ-<ϟn\nGu5Uw?7`#i~`1a'bJ!1bL&$^⠸- Ȏ>5D|SwA֮J=I I=IM">;f.ec'N'qXQr![2~sȆ'ޕ} ʠqEr|'' @UQ<!rfz v;=(a5SWaBU U }nķKb@EAǢ撈Ob.U'i!'iI'qv'ub$+Jn6d+VOtĻ򸏸]4H$dh4 8G9~>$>7S30CLon%& c#Lʜ*SwAmxЦ팡/g_geloi~Čw3@H"bzr3 "gMCY}_[ I8he[įzz9< n#m 8$S&yqycLtp1.7>HZ ř+31Wgzs@…ӏyfԺ$\LI(7gL!0ZyާѦcO*!v!"ᙳVO^k>KxȗH272QsC WhC6b˺s}g}2S> < cs rVuu?S9C WhC6b˺s}g}2S> < cs rVuu?S9JԄ}Ps grk-F7W ;P? E ix=abBmJnTS\ 9L^T_nx>PjUqG/f"-Ný|g&ݒHwRuU4>5.4<E QƁڶ<~ֻqU0CWݥKCG̦̏yǼk̃͟)Lƴ1v[xI (_#;X\IL[*q$-$q$7$Yx;bEɍۆl!xW7pv+D@,̓FVaGUH"gχdCfa&fh 3dL]q USV7 Te. t1^Y,񬳌R-͏nOy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C|ׇW+"I)iֻQ}/_Nr%F2yQ}bxֻDBWˋp8 :EtK#ݕKչvT}\ k#s g/D"ZksYvT}PWü^u#/y1?262+d2.k}oK%1 ۢ z~юcQsI'1unݓݓ$8:nrXf1vtۊ%7o+':lx]yGٍ W$wYq4Y U#?A)Xa7`ӃV1u&TeNY݀P 6c q}y>6{R!洵9G7n@ Ϝ:x`Z_YC@•ὑɬP}JG{"C]-ޔ=(G)8\м*@㮃qטU2&\9s _sW-n/0Ƚ!Ye/eO ѯ.WDjSҬw_:Jٍdw;W;~;za/44|oqu8;5tG+헪sA8DGvA8(_JԄ}Ps grk-F7W ;P? E yߣ_^]&&!ԦYF~9u˕EYw v^w^hV?,/i4pwk-tW/UQMsQpBÃhqP4k1omK;gQA] :?{]~lw̻f)U+2tI8N>Bݸ]6"2 Bqn9c(1bZ uYxxSO& a֧S{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~K$~hn-`W=_xI7p6n`})<ĸ<1zV&:qn8ȘBQYy$L癘+39~ B`GF q<3j].F&wp̤u3WMٳ>P|X_{\199r::w_%cjH995wUܛ΁+U^Z"ZZpi$>7S30CLon%& c#Lʜ*SwAmxЦ팡/g_geloi~Čw3@H"bzr3 "gMCY}_[ I8he[įzz9< n#m 8$S&yqycLtp1.7>HZ ř+31Wgzs@…ӏyfԺ$\LI(7gL!0ZyާѦcO*!v!"ᙳVO^k>KxȗH272QsɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8YD΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(  IpL ƌYĹ#c ]nGo f}䑴23eWgb8Z I1̨uH}3Q>#nϘB\`^O+MǞTC9mC)э!En.3g!.|/;pexod2# x3>#mPu7ed2 B>`}3A 4)sy@@9P 5r~ "*@:HUa[ &ro:8@wV~zi‹hi¥?տG>\!LLBMIލ9rꔗ+!g7ɋó '_*腽Ь~X^i,rפ[鮴_ε\ۅ>h|!jb8p]ۖvz7.ꃺu~yɛ|04?0wͰy\1%ɘv1&^{K\/qPcvdGK"> tkWUqG/f"-Ný|g&ݒHwRuU4>5.4<E QƁڶ<~ֻqU0CWݥKCG̦̏yǼk̃͟)Lƴ1v[xI (_#;X\IL[*q$-$q$7$Yx;bEɍۆl!xW7pv+D@,̓FVaGUH"gχdCfa&fh 3dL]q USV7 Te. t1^Y,񬳌R-͏nI[L]n&va[ Cp3KKrVx0,Z{| )U+2tIf}䑴23eWgb8Z I1̨uH}3Q>#nϘB\`^O+MǞTC9mC)э!En.3g!.|/;pexod2# x3>#mPu7ed2 B>`}3A 4)sy@@9P 5r~ "*@:HUa[ &ro:8@wV~zi‹hi¥ѯ.WDjSҬw_:Jٍdw;W;~;za/44|oqu8;5tG+헪sA8DGvA8(_ZE7\׶ލy.G_& ?b~d6;]3ld4WLMٳ>P|X_{\199r::w_%cjH995wUܛ΁+U^Z"ZZpie{ë$ڔ4ݨ>/Nyrv#~1<}"zՎ߫^ E8 [{"wM%ݑJ\;i|.j5ё]hx3V}-׵mi9xwr;>a^~KɇÏMy ?S2ic5%mQ=fhGv$ⓘ BvUIZHIoIIe7s9,;xw:mŊ يC6<<#nFW+;,8Y%$&A؝Tq32wV(~ېX?9d>nteи"9y*L\JI LtL9 3a+0*sL>A3 K %~5uQ]j3]#pZ.Bw7uyfI=|In1&yEkpoK򀸁ӏ)t<O'A׳2!s G܎"^#ie4gʮ8\q N?2bQ?p!02g&|G`1>jyVF=sɇSH7C\gZ<B\0{,!_v dGFA( >g %\}@=F @.oʞd#L}g.@hS΁YsqAkL*SEBU΁u9VMtp8N>Bݸ]6"2 Bqn9c(1bZ uYxxSO& a֧~}xu"BPfr)/WBn$/g޹OD/Կ{U {Y{pYI;]iTkG7E ¹&:2 }AB*żqຶ-<ϟn\nGu5Uw?7`#i~`1a'bJ!1bL&$^⠸- Ȏ>5D|SwA֮J=I I=IM">;f.ec'N'qXQr![2~sȆ'ޕ} ʠqEr|'' @UQ<!rfz v;=(an6d+VOtĻ򸏸]4H$dh4 8G9~>$>7S30CLon%& c#Lʜ*SwAmxЦ팡/g_geloi~Čw3@H"bzr3 "gMCY}_[ I8he[įzz9< n#m 8$S&yqycLtp1.7>HZ ř+31Wgzs@…ӏyfԺ$\LI(7gL!0ZyާѦcO*!v!"ᙳVO^k>KxȗH272QsC WhC6b˺s}g}2S> < cs rVuu?S9JԄ}Ps grk-F7W ;P? E UׇW+"I)D΀D͔L,0fA Ș2n@]sp;c(a YWYg%>ۥ[1 >5^L*tpSgA×C<`N?ZY7x0^ίz$8HB7x0>Ixb\Ęp=+8~dL(Oy/=e.U9jw䏻Tί15z_$TYiu*lq xDM@*O/-Cx--C2|=abBmJnTS\ 9L^T_nx>Pj_B22K/Wߣ_^]&&!ԦYF~9u˕EYw v^w^hV?,/i4pwk-tW/UQMsQpBÃhqP4k1omK;gQA] :?{]~lw̻fc q}y>6{R!洵9G7n@ Ϝ:x`Z_YC@•ὑɬP}JG{"C]-ޔ=(G)8\м*@㮃qטU2&\9s _sW-n/0Ƚ!Ye/e_Oߣ_^]&&!ԦYF~9u˕EYwqIpL ƌYĹ#c ]nGo e, type: @P[a:ddt pw.com] Presently, your screen will read: DDT VER 2.2 NEXT PC 8800 0100 - 4. Type @P[a] followed by the HEX address of the command you want changed. For our example, you'd type: -@P[a5EC9] Note the lower case "a" and the upper case "E." From here on, you must type upper and lower case exactly as printed here. 5. You will be given a series of addresses, to which you must reply exactly as written. We have numbered thdisks.) Below is a patch to insert a disk reset to replace one of the present Perfect Writer commands... 1. Look at Appendix A-43 in the PW manual and find a function that you do not use. The example below uses -x s = "MGOSPELL", because I don't use Perfect Speller. If you do use it, select another function from the Appendix. 2. Find the HEX address of the function command: @ux{(Note: this step is only for those choosing a different function command. If you are using @P[-xem for clarity. (The addresses are printed in regular type; your replies are printed in boldface.) (Note again that the first address (5EC9) is for replacing and will be different if you've chosen a different command to change.) Here we go: 1. 5EC9 @P[LXI B,000D] 2. 5ECC @P[CALL 005] 3. 5ECF @P[LXI B,000E] 4. 5ED2 @P[LXI D,0001] 5. 5ED5 @P[CALL 005] 6. 5ED8 @P[RET] (you type the (Word Processing Tip) RESETTING DISKS IN PERFECT WRITER [If you use Perfect Writer, you've known the frustration of needing to reset the disk in the B drive. Maybe you've written off more than the disk can chew; or maybe you simply have a file which you'd like to write onto more than one disk. The effect is the same: PW won't let you save to a second disk without first exiting to CP/M and executing a "warm boot." Users of that ingenious program, Pluperfect Writer, don't have that worry;  s], you won't need to bother.)) Put your PW Installation disk in Drive A and enter: @P[PW.SYM] Be prepared to use -s to stop the screen's scrolling. You'll see columns of function names with numbers which are the HEX addresses of PW's routines. Find the replaceable function you want, and write down the HEX number. The HEX address of @P[-x] s is 5EC9. 3. Now put your CP/M disk in Drive A and a working copy of PW.COM in Drive B. After logging onto the B driva disk reset command is among its many clever features. Now, however, there is relief for users of plain vanilla PW. This tip appeared first in the @UX{Kappa Hacker}, newsletter of the XXXX KUG (Karen--get name from Diana). We've tried it, and it works. And it's easy to do. -- LL.] Why Perfect Writer left out a disk reset is a mystery to me: nothing is easier to program than the BDOS 13 call (Note: the BDOS 13 call in CP/M is a built-in function to reset    letters "RET", not a .) 7. 5ED9 @P[.] (you type a period.) For safety, I ordinarily work on Drive B in PW. If you wish the default drive to be Drive A, change the 4th command to: 5ED2 @P[LXI D,0000] 6. At the @P[-] prompt, type: -@P[g0] (lower case g; zero) You'll get a "warm boot message." 7. Save all the changes by!!!!!0!_!x!!ͧ!9##" !9* }# !9'ʲ !9!-}!9!9&}o}!9f| !9'!9͵!9 * ͉3*!9! ͼ"*!?L*"!!9ͧE!9! Cʇ!9!D ›!9' ¯!9' *!9!?!9! N !"*!9ͼD  !ͦ}  > _ !"# con:rdr:pun:lst: ڸ_~O7!  #i& ~!N~#~#F6,pw62=!9y=͛:>wN<!Ms 6#6 ~+† s#r{{ ڧ!ͦ#^!!/w#w!M~<6 !b~rG!T}*Kxu>w#%{=͛2 *++"}2:*++"l *++""**++"ͅ !!9l !9}2!9"͡ !9"!!9l * ʺ *   *#"+ á :! !91 *#"+!9}*61 !9:͗1 1   *#"+'D !"*!0Ci *!9D ʖ u J * ͼ*#"+"r ! }2! ""!"*#"+R !"!9 o !0}2!"!9 o !0}2!"!9 typing: A>@P[save 137 pw.com] That's all. Try it out by putting the PW disk in A and a data disk in B. Call up a file. Take the disk out of B and insert a new one. Type @P[-x s], then give the save command (@P[-s]. If PW writes the file to the new disk, you're in business. Don't forget to copy the new version of PW onto every disk or user area where you have the old version installed. 6. 5ED8 @P[RET] (you type the *#"";**!"!"!9! 9}'V!9' k!9#,!9'ʏ!"!9#+!9! 9#+}|* ͼ!9"Ï**ͼ""3!9!0C!9!9D  T.COM Ver. 2.0 by Harvey G. Lord This version placed in the Public Domain as of 4/29/83 Original by Leslie Johnson. Reads an ASCII file. Removes high bits and control characters and replaces soft hyphens with hard ones. Displays the outbox h&{ !~~!TN#FwG+wO#s{ ک+!9~ !i~b!5> 6> *K w`i#᯾%,!|!!9n&:ʗɯ2>D!9!=:w!/xw;#4>2>2:Gexʰ:O}! DMR:° !öWrite error - Disk full $`iͭ!9~=+͛V+^+F+N~og~#fos#r}o|g}o|g o !9 o !9|D !9#+ *+" ! ͨ o o  d u o x c s͡ !9! Nʓ !90â !9A *+"!C : è * !9" *+"#*' * .|g| *+"#* ʹ" !"* *z( * !k L ͨ *|A !- * s ú *'f * !͖Ê *'ʀ * ! Ê * !͖ *'ʪ * ! õ *+* s " ;!9++  !9+++  k ! !.!f*+%"'%"%%"# "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 y'! 9k!"4 *}ʝ:D<*E 2D ̓H  ‚> _*E~+#4N s> > !ͦ:G¼H2D_~ÿ   >  ʚ!* }͗>}o|g|!,|}!%%,ɯ|!|}!-N|N}zc!_--{!-ze{eze{e!||g}oÉ|g}o×)ä{ozg+|/g}/oDM!z>S\)) =ɯz|MD!x<z>jS\>)) #  =ʹôN#F#x9~#~#"" "> w+ Cw w##w w #~+:n~##͓@~#.͓n*++͓w#Åa O!p ~_#V!$ r+sbk#|!9"*++"Z *!9y *++" A     put on the CRT. Usage: T d:filename.typ {n} Where n is an optional delay value from 1-9. ^S pauses. ^C aborts. Output may be redirected to a disk file by executing T d:filename.typ >d:outfile.typ Like TYPE, T outputs nonsense if handed a non-ASCII file. r Can't open: %s ][əL6UT/c] )cu/h"؃<K|tdކɆvr,^!j:IDPsvNanʴr$,QVZyɎ9jp“(f.A^U[VhN_~;'&GW%.E;NUoZBXMfGwJnV"pa]-vԸ{ͣQJJ+8j]BgHn'ΫׅW5 ;GZٜf-[6]:TfwGxUYMGՔVlEfC\@5%%.ᗿKmSHhzq7'rDe&8qZbsJ{ic$4 68?ܜ \-j1.VL:K+\j]0<ߩKB̲~ *VZ9d.7ب|AA!JwQ&uI+NQ~ .J_gBY'۰DYhtjD /5{*nZ!AsPiv~GG 1aBǭmhvi')iGKQ[Zi|͂ :ꪠYHa4;#$iqPX]#hlqPVWUy=w,8(Đ/DY-ʑn^/ߏ oZiBL*tՙGэheZ:Mf^[O";AK*E4\g4ˌOޥ0$1$lN3hՙ?r.av![T.DOCS  !"#$%&'()*+,-./0123456789:;<o=>?@ABCDEFGHIJKLMNOPQRÉDž? v; Vx>"/dTέr<8V~k}ZIH_-d- #!V'[əVnZ0!$.hΫtlPGl0Y8O+h \˭DR.l0YHA& 0F%oÔi.AY4;;CYэhn4i%,+DV,L5Z)&`nnhecu;ӌfa|I77̖V{KFu4lU~J+p =%L)SݝᷯiE^L2*N2ۭ$V^;4evLaHmiZ'J؟4D[$=Y"OB+A,LUY(&#j[bojj4tZٜfز2XÞ0bZ''$7Zyvyx"*qv>Txe #8%ejgxyZ ~՗wYސIe^Zi?S0ˢJ+D.<63*Ϋ$F|-)J%md>YKc Yn%Y|U4 &Bu^a%ḌY MQ/p%7Y 0D0_%&!$Ҋ IsU"Ǽ,r:|p   lCQ1KUj&/Jᰁ-FIW- dC Ӹd䴞8/wM#o KUH>a*Bw .]%% څ֫lqA ٥ LBAfhrfZ-_DQI ]R󸰹v.L>a*4N?~W8dԘ50{4 wrl[Æ W)7xiФzf-’?{<_s ^%%"W4FZ.l[W1եbI&ER.İ^%c35OH;"r+ EeA{ 3W)l^+[N lCAqM\HÃ<萅{-xK>u)fL !/V@,yd oHJW <)iP ե'8g'6+څrzQ⚪!i,rFGHIJKLMNOPQ~l?Ͼe{,)*OVxRn|_}M#{?9_4ίqXRK*|͟guWhOlbH0{Ը M^JOOl]ic Hdi0g[a(V_w'|r/ fLt{BΧiw~WW8>x'gI*|˼܊ObuMN`7څ=f%T W)l5AY.t0yAUV ’浒eK%.|i{[vU HhF]+6\ŕfR⵲w(C. peZC0{2x'fAFYSIu*{\ K <2EJ=N}jqTD 4g M^J1եbIuZ5"hDZ3 LeBIм=ఁ=>|vYQvl˜F"BIBSfltIRNqy~<я K1WɅk*xYRoS،v)r^t2/A9l`ZIGcS]`ɶHH<8l^oC3)ZaϒT 1E WuPSdǡoÇ760= t,nz?=|,ï~d}[,$;x0p~럞NxyOնJTIͶt)7ci||yJ6fˤŊf[s@4VBY.4N׾&ulv BKH*r+Xf k2I݂ǴXlKr#ϧi[,kg*A}X%՚+H+Lv/̖q-,"owB%iy~T+W)?@ABCDE.KSYuHL]_?}v^qaʍ5EV߭Z؏K,s)ʍEH"KI-^tT)ʖ A]` liV i'JTe]nc?.Qn+mR"yuUi'TQ\=WaOk4R46,khlePSnå]")y]݂⵲*n{Z\S/ ?@41LPh6˭&{.,.9l^+.=]E A'L. {vny|氁%,5$T2 rzQqζ]j)s7/`.2{S-څVe'60ONxLcZl/}M*ҕ56ؼVBj]4Ծz]ؼV4֤fS= WaOU*͵r+2)Ӹ[KVi36@;5*ZxI EdeӲd['fˤ6 A     s1 [!~o~/ >2\<! _s# x \\ѷ!:(6~ *#"_A8 [0 #| 1{(!wr#| ~ *#"_A8[0>2\ѷ!:((~˿A8 {0 #| &{(!#| ~A8{0>2>2v:(:*e":g2!KW"e>D2g\<ͽ22|*"e*"gY !~#    !G)T]))08хo0$"'R!" ,G*)[Ss#rx~[0 ˯#~yS!4~  WS30CUSTDQC:6WS30PTCHDQT<[WS3H19 AQM0WSPROPORDQC$3g>[~K8{8xkPԷv\93μZcMlX֠b|c>w5~<4]ο`oP vXWS30CUST.DOCo o! "$#%&'()*+,-/.0213546879:;<=>?A@BCDFEGIHJ not found.$Enter page offset (9999 max) >>$You have reached the maximum of 254 keywords.$Cannot create index file.$ Enter keyword (CR ends) >>$[More] $ =  i =s1# *!_s# x !~ʭo~/ >2\<(p\ѷ’!:(? :< ~~'( _A8 [0 #| ){( [!#| ~_A8[0>2>2 :ʒ!O*)[Ss#ry>S*#"*<(:ȯ2*I*DOF0G#8 #y *"!5(>2>2 *SK ~ :w*S:w22*IDOF0G#8, ##y *:w#[s#r#>w"(>2>2 *SK ~2!:@̓͞2 *S#~(S2*S##~(2++~o&S#:(## *S~2*S~o&S##:(*S~2̓*IF#X~(^^͖#ͦ*6*#"KBb*s#"!4!"> 2!! :W~Ⱥ# N#F*B( C+##* R0x2dR0x2KLMONQPSRTUVXWYZ[\]^_b`acdfeghijlmknXlz:0 ` x7sdNaʓ&6ke9I G{g_e;>YǿN>q@_G C'*keS_u=l)=/Ȑ1u)r\xD,ǿ2)Nԥ\u2d,_P|R)ue$2&>v2U' hbR ,} '5`urkOLNFU~k_@Q')kNq#C|**DOF0G#8' #y 4*"*+"( CC*K NFx *utKq#pC*|%!"*##N#Fx(C*NFx(CnfKnfB(8nfB -*N#FC*N#FnfKB(*N#FC*)^#VF#^#̈́*#"KB%>8 G :@2ø~d0_x2{ 02x2!~ # ~0_#)^#V) ) !4~w  } 02x2!~ # ͖:?~~0_͖#>,2!)^#V)  t!4~w (>2!^͖#2>2[S!!]~# (!e>.~# (6"!ND"e!X"g2|\\<( Z>!"  .[!"bkKB0\(\*B~###{WINDEX v1.1 (c) Eric Gans 04/03/85 Indexes WS Doc fn.ft to fn.NDX fn.ft [/] / = keys in fn.KWD Maximums: 254 keys, 9999 pages $ Index of File KWD File([More] $  { ALPHA v1.0 (c) Eric Gans 03/17/85 Alphabetizes & counts words Format: alpha [fn.ft] [/] /=Caps only Input from console if no file entered $ >>$ Alphabetized List $ $F  ?eHS$M>vOLNFlx&SwKnVI2i} %J7MISI\赝ǝ_G,gu /uGlNخ ~$›h9B]Du=[v3}8)M~ u!Iﺎ*Nek@l yُ&$a]GF'J(,1Gl ߔb]53xZ$ r]:XQIiq# cIR'/Ɔ'FeP?G|X]]3ky+߆uى~gf٩I53Th&Iu=3kDxw4nMe& 纶՜әLe& u},qW4;L$›6Y&80X$zBݷ^:!SMӿnx`sviZ?Hҏ~c1& %戵UotάX]~*yߜw]TI9o.O^}7k@'яOQٺwwY-W|ëv`s]Fu+*28Vl]6#f>wY\b'g^4׈zD^k둵Q#~uMbXŠx=>Ukmz=;lg$5[:)i:m]Q.7#~YbCD?wDCzwa*?hܑ// ΕW$u/3w]W??ws5ju͕oC8Qn4.? ʫk zܑ>ƍsPMnuMa=C^1 .u~tI4ufF6uG$|8ú(k ui5Nv1eT?#~W^]m]Šl (ceT?O tg&1.[jY>+1˕W'15[ ǮQf;ZOGs>q5T0pOP~@5QvW6&{Nv`JG2\V$Ẇ#tl @T?Hg~?bk``uMRPPl([rFT?Hg~Ԥ5ֈuMR05"]匨~4~ INUIa5NuHLÏdux˓N赶:)lƩ~`>#}h?sU$Jukd5^^w4Ʃ3 ?g~44HGXuMaXFf5^w4Ʃ~Q M?5VLº&) :Wf]c8W}ͺD?JƊIX$`]ʬٸʓY7օD?J"뚤X,]~Ybt,]8$ƓX$ek ,Wx_#zJD?뚤l˪fn^m2^wyD?2a]R]KݷI`ާJ5<.^qfYU~dki]gkk׋\STfgD?RV$b]KuCx_]SᴮGbzm~b} /6sNҏp~uMiR] 1o2H-c͑?f :Ʃ6<8t8wuIP )-O:ƩN(|xY]&>?D-M?T`NgTWT5)ϾGI|ӺҸa]'^m2^wiSV͐j3i!QTRN"dRS;33V͐j34QXR:jNJ(OPR$«M+GouMi5W8Amf/ouH4 uMi 5W8Am27[axG=%># ~45֮kJ`]8u߮l^|?# >#?#iЇhXuMi~ko75BƝ+ub Q]hT?#1:n\׉5:M7HnD~BA\י$b]kweTD?R5peTdʫkC6 u~kkyZOGZE𻮹_^kwլ?dkCúJ~oxM":4|c]v 8֨~Fb+e5kk^ې]nH .4u͕2D Ʊ. Q]hT?#1r~ƕ2D5jg(G~D链?/QDh\&{Nv1؜)G*u!QB<$B}f-ѸZ{X~GuQD:& y5NѸZ{X.4q]9O?q?Hn0яM˓u},טk3kphq;ꈨ~=y5X;t$f/~JGw|jѵ.я6ׁ$bA]{$eUksSku$bz0܆*ax ׮$B&)}WYV'/ }T331~_a]յݷ![øPZO^k(qdm=kTHa~+ skY>}z=zǑuQ]hT?#㵻jV`Բ|Z{D#k.4mX׊jkY>}z=zǑsGuQ\[c߱eJ~ӧ#JwY[Z[?Ш~FwX/aրgU^k(qdm]&kTHu=4|a3{Gօ.4z'h 8Z{D#k2YШ~F75[8KՅF3A     ed`xl5NuuMAu͓uGk'q_[cg6Ʃя~J]Sp tF7sGlQU4uDU7]s!OOñ:ΕC>zM&qSI~~]U9{;Iu͇| 8WU~x yN!|$}fx2k|@>o ({=(d7X/֐eoHp Sb*.xĪu_o H}=+]Yߥjs!p41~̞Y9~o i~([C>S>Z xk MhYdӳ7@GV֐[;.fkJES#K%kt$_~sW{˱!lyo 8hbCZ9ڰ)]^2^gCN摒bSvk'ޚc3U~XYw{Nf#Rslf;2Vӓ~kdX \ݷF omvws30ptch.datp   o! "#%$'&(*)+,-./1032456789:<;=>?@BADCFEHGJILKNMOPQSRTVUWY[XZ]\_^`abcedfghijkmlonwͥ.t콉b(8mMic#*?|<+E*t{ -v6Tn/~{.} ֙L[C^6̊iƧ5]ro-A77@5\r*ǹN?Z3߅,y$H8p 8p u֐SZ3_!yHp@ p@ p@$7`[{.' /V^xkHp@ p@ -I;i\ޚK [ [/ /UXY.-c})Aoj&|Z55yo>;*z1hMaknͥI[`)b})APoZ36Waeͻͧ|!@ 5OiܚL &>rؚ[siaR{ eoZ36Waeͻ~o97\ɊK#_e#de.dœ2K~2n(.nY+$%Zv.2]e豖2dJMD2.C.S/ۋ2#Y^d!心liN˖%/[/S?%s%+vNB;t%߾L_e#Lɜ _e%|Y򓬸|n/e{˞ ː9r%+KV X[^dŅ`॔Kd@N(# b}KXX[]l_ RR$N(e-aBc}oԅ.kyK\RXc]1wКm2P&wfm2oޚ0{ϱoyzBxk>}Mjc#*%&!E*yω\Ug~򋙿sf6.rKroMO:r Z?Z殪~fb'֐ҷV'cOwPS.e@ Kؒ7D୭)͗q_ا<|w1X֐-sWU,eӓNV;w1XL!'dojM.NO:r Zߡb]krw{'P\5'qwX3G!~݆ 51W |],kmșrw{'P\5'qw@`Wo 9:&slɰ  76c3Hubbdқo\oQ96dXZ]ο%9ZC>:&yk批Ď3H*?p@ p@1qP6>'[3v?GZݧqI8{88W5[?U+oӺ6Xfb+bPܔ~ )źkw~k캁$}G0ׅua7x"?"3 ?"s|̸}9s3M?~> R]O̡8~G(뚭3M?u!C^E([jp@>#Jy]SOz~kJsP,Q $k rǾf_d $CQ?c~75X116395N;>Z[D?&º<Z]g\%q/jfVѸZ{ٮGG&䝼~v_f Xq^Q u~e?˹x\Q("rɯ0SwuMAטݸNbv@R|׈uMA1 eq]v Hҏ̺"k{_ט].`Zk.;wo׿XR)g^0c}WH[Zo89V;CF ߥ]!%ofk̷ c}WHG[?ݜ|z?CX}|k7e1ےgH+~ߚ yNŴᅿ5_쥔z+ ~hwhIo͆<|H+GR2b֩F[CNRo=p|7Sּ c֩F[C. eNL8«5],p@ p ge׷\YwʮbҺrYw|OCZX ՚o leľZ3MuHk\e>Ӿ!*6pyz2Knb)Fw@KUZm^Fz,廉=Tvӓeޡ\XE~k˨o=p|7q̓DOw9%p w  {JޚiܚL"-S&|Z5¤-w Wkӆ*y [{g^QB;/ޒ-SoaR9[cͧ|!@ZB;/nͥrlͧ|!@o|w6PX~XouakN.}K5g[[cU /i|]zνOw#C{˱Zc=o@ު# 3Ν ٺ9뭹0)x ̓@ {ZcNB X֎)wӾbKOw{o>;ಷcWvxw^l[}ͧ|!L}"y}Ua}Ŗ ﾿X|wo(w|_Uiy'ûoX|wo(wXӾbKOwX|w5ŽE3 {#D Uo{;R"FX2jKE\X!b}WȨ㛿ցKE\X!b}WȂos[[/8p!b}o]! mo-{oT${k"w,vn{KEeo 7Bos[S[/Q8p!b}o]!+moz("FXٛﭗ 8p!b}o]!+\X!bu3gM+3ޚ9d%7BҷLL7KE!8p!b}oCFzLfR0U2)\64;.o 7BoTɤpsR{k"V1"sܧpT[.D9kAa3y]~w襢o*p@o> 8Oi$"wzѲvOw9q[k|7xo97@5s5[>[bX|w֌s<{ʴޚk|7ͧ|!0o*;idIwޡb})T 7Mb})T V} 0JZ|ƹn}O>ɼM]X V䚷F` wUxp413s8xq}j=mC} 0ޚCNr۽a}MMj=a7 K1<oQlw&p}}b}oX \2WK5c[s3O%j&{o-b%qɿ5c[s3O kbs|ZŔc}oXKTҷF`$z~90KTX'{;e<,o88WK[?B-d/Q*bPb}oXKTNo{moM}7B 7[o{mo.8p!b}o]Aeo޺]pBi/xk:tܧ][[.D:T2Ӊ}vb.-8p!b}o]!wkw(XZnk"w ޭ >OwU|Ky"FX?dR[!u͇d5\ZK95pBL*{k6䴮wАK[qi5pBB&-xk:̳!iιOf~f[Zޛ8p!b}o]!oMy69hj|\X!buɥo͆cr4gCx)y"FX?dr[!u=羃ؐ4;%^< {#D ǹN??,TVl"wL>liP}_Uiy'ûoOB x̭3f~]UӾbKOw{o>;]'TEFyӾbKOw}ͧ|!;Ki(rihs:E b5Ɍixk o=<i|.?x48|yM2c>GN q"5`iM g~oQ>c}oXE~k do=,TO'fؚoaL~ M+3+a6Py3W Br){c,F;"p)bhZC b],/A@]LMC~f̛lbuK=Axk5y2$9^|KC{!7[q̓&y!2^|"$GF`ku>/I CB!d1[?Oi(OW&:u"Vg~C68qϫvz;8p!buv7_X?dwΏ6\d }wv\X"V(}k7[㯾u:[}k١|!bu2翦Gˊ>f[2"Vg~C68!:8p!buv7_X?dyEϫv֟o :;/D)ui֜MtC/"Vg~C6e?ŸV9lN;Ro :;/DY"Φwv;Ro :;/D9:TAKɼ5pBt=¿%Yo"V୭a3iOpK%o"Vi|Oe&pBBV&}%].D+de^q-sWU~Z9XP&gh {#D YY[*^qXPtb1ք,o 7BoM\tbMCѧd/5pBBFseob5 ɼ5^|oa(Ngfob}ob}obiP[O3>:*|J}XF@ͷ&fcMin}ṴᷤozjS&}Uwr"TxT2_W~oU>ƺ"y oZ3?nӇ}Uw$"5*<* !5DY}Uu8F BC!}"5Ó*47@, zX?96)Q.aX]o=,TV<*bocE Be5ϱ9~O̫kػ䱾 ⭇j3csk؛Oo*O j3cs96iػ{#D$55J.Ϲ.wpB5J.׹*yǥ7BA"doM,iƧ5"w(x,t"ylsw\Z.7B R" "FXAY'4Q3l&.vi9\X!b}W[\f)XPD1&{i8p!b}o]A z2Knbd($Vfr"FXa|,tZ殪N|^J[.D 뻢 [/4'S8;. {#D2b/>i[/[.D+ʤvUVŽ"[YJ\X!b}WI ޚV9l\bMR {#D24~w!Kixk"wE\֫5U<[~o[.D+䲷v5sdB8p!b}o]Q&/x]5g^y}f%Y 5pB뻢L> ʚ VB8p!b}o]Q ʚiffoBu8p!b}o]QZ uxk"wEYgHwU+]akRϟna'6eIr3)^U}?}zu5V Uפ<ߍNOlʊxTY㙜"羪M}] * Ϊ{Z~<bS~\EAlMYp33 ™=m?=!| yM[`6|_{g!5:1&6Lak׏gL"84L?JȳÊ=Ćؔ}c+3>=!oh@ܢ_vs3?~9U[~K8{8xkPԷv\<4]ο`oP O?)s⼇]οM35]X?OWYb桠uA*~BAVUnc%3y9i|.8yTy['λ?sn[,V7ъ5vX=<inJ|ly]ZHcuf|kPvS-lBOs1 uʫ)wAMָoPԷvS-ָP\x$bu-ʿ5෶WcwSBaEo jxkDž'eO3O!B,zOָPycuu|PIҷGݔ| r+Jz&k9aqcu96֠v5Be5,+-/.01o23456789;:<=>?A@BCDEFGIHKJLMNOPQRTSUVWXZ[YFFkM>XOGGAlM 'Ưrl?>ir{(!&&62Zm&a͟pGܴ'+^'6u4 n|HCpJLlMm4Wp5|Pu "&usӞ?O=&6rB=~L<)`1!6u?B)DcMľu |G᳆T!h#>Z1;.J"FXeDʌf![Y վ5pB뻢$}]5S5ҿ%Y 䭁"FXe$[ϐy֙Z3[/8p!b}o5Xc̤XcuQV*l~7[g~o J#QV }kO϶h)H븫ab(+hbg[4?&X'ͷxKUZmeC^FYA[3 ߧDaާf!(Sҷf>[Os|P9[,orb}ob}oX]P(So]!oZL}EXX VPC{kl?"a8{8V棌5j3燅j3ю~.&p@ p VG:O6WfTyPY ~;/bi7ʈsZOȿWQ+bbо]Z-oJFKZ~<>;|fr⫵^8ݑ@ɨLbk@ɨLvȫUㅽ%楎ARK 11) ΪG4MvfKaxamP2j^CdW걇Ft&b)6"/쵼 z4ٕz=3!/쵼(5/Yi+'=K1MZ^X@ɨycx>ڡL D{~q/쵼Q;)?/쵼A%楎AA1/쵼e ~ԈV^V^y5${[ㅽ(5o9zKJcKlo jik,KhwI ڮA"edZO'o5 uњ3 CC %dcザjִ ii:ߥGB"T%}kKsm.=)bwUޚM=egbCljoTפN箹~vżV,bbSem>K`?ڿ_*_G"6U{/KbS%zlAl$@ {*ҏ{lu$bS\RRbS%z$6Uxǿ#[FbShp?՟I7?Gb bbb#̞Vסơ=( )|"{nrYyؔKT^L%*/FbSP\/@TE;UcwLNl ȪO7nBjÊ?4H<#{n2)HvQ齙Ԙ_x*˱Sz<j M__ʆ;go;7X9o>[slMbX&(ߚc3m2@z8p 8k[lzX(j3燴l "797X%Ҿ5ʦ2yNj(z[RX@.F٤5ٚ}5[ͻ?[bXXXXX@.ۭo=ք̴5ϻoM-1p@ p@ p@ p@ p@ p XceiX7 zX?|E3qE+[ g93μZcMlX֠b|c>w5~[cքߒ֠J|fk3Gǻ.-R!0c U惪ߚMB E*w5]R!0:2T5㙫Hu$;4 598 hܜ[:ޚq'cWz7'73W քdiuCu$@VIbu-ʿ5෶WcwSBvWS3H19.ASM\   !#"$&%('*)  @ɨkZWfA=5~^K݇@ɨkZWfA$x5^ky(5<)i\3و7Zㅽ@ɨL33 ™=:y&Um/쵼DJFo<f gg<3{zGc׶ {-/HdԼ8Y11ȞHlƘNZe  0>8^?uxa[.Q4 gRϟna'nxa[%i(43OLau5^k :D~{ĭ{^KJF==_s\N^q }M}hZ~<+ba[ㅽ(')*,+-/.0124356789:;=<>?@ABCEFDoGHIJLKNMPOQUSRTWVYZ\]^[X_abcd`7=K7Ȟpw"Ì "s#ra0 Goz.r-tgNJbz*қO=>m@k(Ftra{.}`ŀeќ~kW1O=\ {>vd4V|ߚW3C|̇P {ROؓxMy<챬"E%[_`s#rafƵ<ռa5싉 ԸC`a]nV U=ɉ T쪷1qYú܎"*c?x&'&.pwSovl_|n?'&.kX۱Z2e6k IL\ְ.c+m]BxV+ IL\1&[bⲆ,5/Yi+OL\1qmֲd7c11qn1CL\ְ.KF_<3cbbb#u\7͋53kRo͆jgRz+OoDyf?|t ;11Ѻnڽ_<3=oVuvaP2j>AȶJ[JFCqnjy{(Mv~m&bⲆ5V%Kbbw7.JFͷa?޿sQo!&.kXc+mP2jKLL\"8d|V5BBɨy611qZ -d<":&vbⲆ5VJFC"njy(5C;1qY[i+%vbbw7QcjCMe klp!yCLL\%"&.kXc+mP2j>Rlj RvP2jr䟧M;e klXdrbbw7-_7NL\6JL\ְD\ְV [i+vl-11x[.:<3 ٓ[FwE51q"+1qYú܎FFky0S?<3 +8:wbbCljMg&Չ+?h"G{<H7Sq'6^s+lGbbbw7u_[SN)5Xx_ѹg&'&&.pwSN!&mKFͫ?p͉c EEjfgÎsp=c*xsUd-9P;xX]O7i3cV%('ӱ0cV_=wޤyIo3r[Eƹ*l9yjWO7iJyU?YE:H6P\gu܃3@X6ykJ4njgΡ";3;o<s2wޤydňfgÎM:230?MXVx}uc3FN.,P{fZ|'_o?M_ce40Oǜ*ҏly#y|2GZ=rlHs#ra;0']D͌YEtZ!khe/s2s~kI͌YE_s1{R3"Zƚp0ɘ* ;XCdU׃klffjþj i?D uc֎aQ4 oZOLLldPGu'xY=MLlM~}0ϯ?h)uo 0>y"63l;_<:tf u艉fgKF̓y~l D{V`#&&62Z!_8z>9^8ϴ̞ĆTdM+?DV=7 Of5Ħ+\`_Gǩ3{8_7M)?})B~JTl_MElbbw7naHdɨyk5kc_q>n{ILLld}ˡ󧿾'ѦၧP2jC}M-o/Qiz&&.kXc+mI(56|ȹE"@ɨCpV=5%9t>W R"d5)Z~<5bJF_%bbw7k!LL\ְV zdԼ%%Iy>grbⲆ5V %1bbw7+391qY[i+D%11qzx1'bⲆ5V%Kbbw7.JFͷa?޿sQo!&.kXc+mP2jKLL\"8d||L\ZikLL\ְDJF==_s\FF =!5v;_WSPROPOR.DOCe  !#"%$&bA\=ĵ3qIX@FvuQq-6Bb CLƮ15VX:)}OMOqNt=!ZΣZsAO'W1ILL\ZikLL\ְDJF==_s\FF =!5Cp+1!6Ѧz3{{O'̤>`p?=h4'6~fOW>srzALHUt75">8c+34#ry,s3G}|1wy?=cfUKsXf/Z*¼ POun-ӿߚs+U+<ѿdߨ9?V/Xi o th useles 'reserved patc area the kep leavin i 2. an 3.0 Thi lis wa extracte fro WS.IN usin ZSI an smal MBASI utilit whippe u fo th occasion. On hand thin abou th lis i thi form i yo wan t writ assembl languag patche tha yo ca za i wit DDT jus writ you cod o D statement precede b th appropriat ORG Fo example i yo wante t writ som specia startu sequenc an pu i int th MORPA area yo coulQ"nocIpN-D kj!jRw5j!ZvCF %Zv"lpG]Zv#D-DpDQk9+kJTwJ ղrPj8p|j(FS-;O he;e-;qKMF k-;I ֨[vj(FtPPѨejj2BZv RkԻdka@PBݽmO>yx6'ײÀ5ZU j(FPjZv+5Z#ֲ9j2j(Zv JSQCIka@5ZRC5ڪe Q"PjԲòj(FZvXRkZvX&!f-;,CjaY]ZvX" ֈXOn[_Gw=r{-B7o+\X]aGMcu gwdSK̭<5[7c%$̾ˋ`xKU|\_]7x-r@ ֝0_|aHd#7}kfYEZUPj!q-;O rײC}}B ocI7x{-;wK-D "e:Iny(R ]w"{Gk388gNN/i`yXI&Sˈ^_1_4~ǓxM'J6w~fwp-7o+-ly;f/qVMciq2hOM9*V-ȭ<KM\? GMT뷊]f:jQ?wU<572/(&1gVkxؑ}SFgDDT WS.COM DDT VERS. 2.2 NEXT PC 4600 0100 -IWSPAT.HEX -R NEXT PC 4600 0100 -G0 A>SAVE 69 WSNEW.COM ...o whateve yo wan t cal it Thi i muc nice wa t creat larg o complicate patche tha usin th INSTAL facilit o eve DDT. 'nuff said. Here is the list! 77AH DVMITR EQU 077FH DVMMIN EQU 0784H DVMRNG EQU 0786H DHMILE EQU 0788H DHMIFG EQU 078DH DHMIN EQU 078EH DHRNG EQU 0790H DFWD EQU 0792H DBAK EQU 0797H DSP EQU 079CH DBS EQU 07A1H DLF EQU 07A6H DRLF EQU 07ABH DPHSPC EQU 07B0H DPHRUB EQU 07B4H DNPROS EQU 07B8H DMJWB EQU 07B9H PSTAB EQU 07BAH QU 028DH DELCUS EQU 028EH DELMIS EQU 028FH MEMAPV EQU 0290H MEMADR EQU 0291H HIBIV EQU 0293H HIBCUR EQU 0294H CRBLIV EQU 0295H ZAFCIN EQU 0296H RUBFXF EQU 0298H RFIXER EQU 0299H UCNSTA EQU 029AH UCONI EQU 029DH UCONO EQU 02A0H SWIN EQU 02A3H SWOUT EQU 02A9H DEL1 EQU 02AFH DEL2 EQU 02B0H DEL3 EQU 02B1H DEL4 EQU 02B2H DEL5 EQU 02B3H TRSCRS EQU 02B4H TRSCIF EQU 02B5H HETHBS EQU 02B6H APLFLG EQU 02B7H MPMFLG EQU 02B8H DEFDSK EQU 02B9H SCRLSZ EQU 02BAH CNVTBL EQU 02BBH1H CRCHR EQU 0692H LITCHR EQU 0693H DIRCH EQU 0694H STPCHR EQU 0697H ERELCH EQU 0698H POSMTH EQU 0699H BLDSTR EQU 069AH DBLSTR EQU 069BH PSCRLF EQU 069CH PSCR EQU 06A7H PSHALF EQU 06AEH PBACKS EQU 06B5H PALT EQU 06BBH PSTD EQU 06C0H ROLUP EQU 06C5H ROLDOW EQU 06CAH USR1 EQU 06CFH USR2 EQU 06D4H USR3 EQU 06D9H USR4 EQU 06DEH RIBBON EQU 06E3H RIBOFF EQU 06E8H PSINIT EQU 06EDH PSFINI EQU 06FEH SOCHR EQU 070FH ULCHR EQU 0710H PRINIT EQU 0711H PRFINI EQU 0714H CSWT Jeffrey J. Nonken ; ; List of Wordstar 3.3 labels ; PATVER EQU 010CH MSGVER EQU 010EH WSVER EQU 0110H COPRIT EQU 0112H SIGNON EQU 014EH IDTEX EQU 018AH PIDTEX EQU 01AEH PROTTX EQU 01D2H PDRVTX EQU 01F6H ABSVAR EQU 021BH WFLAGS EQU 021BH WRAPF EQU 021BH JUSTF EQU 021CH VTABF EQU 021DH SHYPF EQU 021EH HYPF EQU 021FH SHOWCF EQU 0220H SHOWDF EQU 0220H SHOWHF EQU 0220H SHOWMF EQU 0221H PAGON EQU 0222H PAGDIS EQU 0223H LSPACE EQU 0224H MOVETY EQU 0225H  MORPAT EQU 02CBH PBGMEM EQU 034BH ITHELP EQU 034DH NITHLF EQU 034EH ITITOG EQU 034FH ITDSDR EQU 0350H INITPF EQU 0351H INITLM EQU 036AH INITRM EQU 036BH INITSR EQU 036CH INITWF EQU 036DH NONDOC EQU 0378H DOTSON EQU 0379H DECCHR EQU 037AH DOTCHR EQU 037BH BLNCHR EQU 0386H CMTCHR EQU 0387H ENDEXP EQU 0388H RVELIM EQU 0389H RVQUOT EQU 038AH TXBACK EQU 038CH VARCH1 EQU 038EH VARCH2 EQU 038FH VAROPC EQU 0390H COMPOP EQU 0396H LOGICP EQU 03B7H HZONE EQU 03C9H VOWTAB EQU 03CEH NONCONA     wWordStar NonDoc <--> Doc File Conversion Program Ver. 1.0 (c) 1984 William C. Parke !9"s"u1l!=!\͇>>!l\$!\<>!\ͯ\!\b#!\!^#V"n"p!\b!"*.|o>g"lͣ%*l"l!"u!\͇>!\ʁ!\\ x!\\!\$!b!N>/«~_N̯T̻X!\f!=!f+~/#~N!{: !j{ͣ!r>w4"p*p'Ca!EShVڇq|ܰXU3'rۇU>ˈ_}@>93{}z]KAJ]0HE!*8=cVd0˷x:>>J; :%4V |H&A*F׆(]1+̵TP]Jn -#dS%sT _X)N(#^܅xLeS/Ř8>YFh_> `]  :%4V Xu6NjC*J;>HZAKVu hC2.coXvMg1thurȇ ˘ /Ř8>YFwC> `UiC2N:(LؔzJd jVbr|`92pLJ]AڦI}X0DYJ " 6kpHiVxna\4IS\KOo 鄌>>o>ƺΦ~v7[X42G|@6$[HJ0A|7>~ޭ21V:G2QAc 0¼҉@EV+HEpv$ :ѿ?~ckC*)\ NU> >9GBnlẦI XNhD/|AkWjjnz;Ҋ58l+бVNlJT0Aϝ#&% l=w> ^\ClsP,X2akؔ%w>`ޭlGπu0hYGdf vhl}c'ʀ̭I+R̍!,{BV2j6j"`^ h /\Kx'u <`bMp.@e$RTeUM`!\>!v# x:r+ !>:r*l*n}o|g#"n!\!^#Vr+s!w#w#w~w~! ̸ †6 +~# ~+~w#~ ++~ ##~##~ ++~6~!q"6> 2>">!2y>>!!^#Vr+s O*s*u$!O N#F!==!= ~[ R[#=> [> P_#{>.[{> [x~[#{~7#~ +/,[?}o|g*l*n{z ͼɯw#½y~# 2~# y>:#  Destination file eHxVYeq'/tw}pBQHCca0ƚ5eW_R 'w6XB0lJ<| +Th5m1Rq'H&JwW@*Bc23J]aM/RxW}t8$4+ lh4ewq =aE78:ݙ]^^ ~q't$hV -0!>$ssE zҢY9Oo uM4,|}ٮW=j9*`9nGA+-0>NvnXwv5^ݣfc1L4f_}؋>11˗61GGlj1\^6j[9&4d4 zjBce࠲jn\hDR0>Ec7EdDRY WSFAST17CRC`eWSFAST17DQCWSFAST17HEXjWSFAST17SQB5EX COM1)---> EX .COM CRC = 02 E3 ---> WSFAST17.HEX CRC = B5 47 ---> WSFAST17.DOC CRC = 50 53 ---> WSFAST17.SUB CRC = 0E BD M&D+r%=je 6N6DʡI$-`S9"4F+j`E(\w#)҉-ZM"*[p#MIi5"HExC vu`u WքE7[f|bޭ2Unݮf} |(FX6X*!Ŀ[xuE{nWKG点N !+E{7x:,|UzO[Ha,|U}?pr=j |q<&2fy:$V2џvfG;^rmEr+&*o?HMRr=4!,Z,VCk `$DOnnzJXtM(l'˧6D CBd{> >= %Bug|H#)Axists. Erase it?--> Error detecte Command format: >WSDOCON SOURCE {DESTIN.} {/s} Valid switches: /T :Tabs Preserved and /N :Produce Non-doc File: Format o, Cannot Ope Writin ReadinvN5WSFAST17.DOCb o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a> ^aޭ2|v=|@g\w#)YsthVt|_ݺ].g'YA*)\ NE{nW>zc  ->[% l?}؋>8I /G; ?@ABCDEFGHͤ zͤ|`ڣ{G @;:?$.#<>G@G$^|1Y:Y12+!U _^#V{ w+#~!A:+P_^#V{P w#&*2#"2!)6!86kb"0"9 :(:&:8<28", ʜ os#r#:*b ʜ ‰o>  ~ µ> #_ê!ͤ@ͤ*2*0~# 6 ~#_   |{0_~#'_x{ w#0SUB error line # $ (Ex Already Present)$ Text buffer empty$ Inpu,NJ#&eضIk^d aYÝls&#|{Nhnf aY(CWU'2ñׅ2ͤ*?*}_|W!x< ~#/bkxp :/<2/Z~#2.:.2.lA+";#:o&6 !S0> 2*h:!"2>2!"4*2#"2:  G*4H'6 #6 #"4òe!='2|\<%!]&6.#e&6$z*4!"4\%*46"6}|q2&2'2(28!"2*;"9"= „2IJKLMNOPQRSTUVWXYZ[\]^_`abcd*,ewꎚ{ BBg MDNӔ%[7 ^4-oz晅9yc;C/-]!^*Țӈ)P/'»B=  MD\tdk,{"k2O#§B!p@s=PB83TGv~m!=4hfNn ^3 `;+|֗pDmMX5'hTUrd @;Cu1+"PfN9֨* f,BЅjH2Q.n zvCG5^p'È8PNeL_ 䍓C_Bgp;\'zQwfkf [f晅pHSgF%ۤJJrBOO-i*] 9%pY(3ﴳ$ W4BMCgvH?Ө%̸߯Xvqَ,e;Xů;OЦr+N;i ėD%P,D`ݮ$~yVzO6%iܭY(y us~֝u| > 2O:&yʯ;A^$2) O:8yuNu͒:; ?|$%.ʘ#ʓ<ʪ>ù>ù>ù>ù> > 2)u!A0> 2*h> ~!)w¹O:(yʹ:&yʹ#!):8=28ʏ jw:8ʉ> > ~> ~>ù>!(£w>ù>2)!&u2&2'ù>2)!'u2'2&ù*6}|ʉw+*###>E#>X#>Oͤ*$:6+6} %. 6+6X+6E+:w+:w+6*'ͤͤͤͤ*,ͪ fͤ ͤ!#PB!|^ ~<]uG =PBLc I\o#pQQ2MFc=6@,t!ÝK8 -zdkf aY&5hK#<,*:2́a OC[[ 2> O:y½ͨÚ*"222Úͥ͢ʽ 7ͨOu u!Kw!Ww2*"x: :y2è*~+"*#"**{z­og"!m*å1!J!m*! (~#:!0:A[a{2:~$#Oͨ!A!!u >>>Ex Aborted<<< $ (Ex Active)$ (Ex Completed) >$ßâåèBDOS>U 028BH ; Highlighting off. DELMIS EQU 02AFH ; Delay for non-cursor set functions. TRMINI EQU 0292H ; Terminal init string. TRMUNI EQU 029BH ; Terminal de-init string. UCRPOS EQU 0264H ; User cursor positioning routine. INISUB EQU 02A4H ; User init routine. MORPAT EQU 02E0H ; WordStar user patch area. PBGMEM EQU 035CH ; Contains beginning of text buffer address. OCHAR EQU 0267H ; Contains address of WordStar outchr routine. ; ; The following equate is the base address of the patch routine. Modifies ; ; Wordstar to use the current terminal ; ; characteristics defined in Z3TCAP. ; ; ; ; Copyright (c) 1985 by Dennis Wright ; ; and Echelon, Inc. ; ; ; ; Contains selected routines from ; ; Echelon's VLIB. ; ; ; ; VLIB is Copyrighted by Richard Conn ; ; and Echelon Inc. ; ; ; ; Note: It may be possable to install ; ; this patch on other versions of Word- ; ; Star if the equates below are changed ; ; to agree with versions' addresses. ; ; ; ;    "IH! !B"$$HB!$BD$$$$H"D $$I """~+"21*|s. ; PATCH EQU 7849H ; Get this address from original PBGMEM. ; ORG UCRPOS ; User-patchable cursor positioning routine. JMP XYPOS ; Use VLIB cursor positioning routine. ; ORG INISUB ; User-patchable init subroutine. JMP INIT ; Use patch init routine. ; ORG MORPAT ; WordStar user patch area. INIT: LXI H,Z3ENV ; Point to 'Z' System environment descriptors. LXI D,80H SHLD ENVPTR ; Save pointer. PUSH H ; Save for later. DAD D ; Displace to Z3TCAP. SHLD VIDPTR ; Save pointer.; ; WSPAT-DM.ASM ; ; Combines WSPATCH.ASM and WS-ZCPR.ASM into one handy patch file ; ; WSPATCH.ASM allows WordStar to use the ZCPR3 TCAP segment to achieve ; "terminal independence" (In other words, no need to patch it every time ; you use change terminals). ; ; WS-ZCPR.ASM allows WordStar to look for the *.OVR files on another user ; area than the current one. Currently this is set for A15:. ; ; I have minimized any changes or deletions to these files, but some small ; changes were required  WordStar is a trademark of ; ; MicroPro International Corporation ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MACLIB Z3BASE ; ; WordStar 3.0 USER1 Patch Addresses from Installation manual. ; TNAME EQU 0190H ; Terminal name (not documented in manual). HITE EQU 0248H ; Number of lines. WID EQU 0249H ; Number of columns. ERAEOL EQU 026DH ; Erase to end of line. LINDEL EQU 0274H ; Delete line. LININS EQU 027BH ; Insert line. IVON EQU 0284H ; Highlighting on. IVOFF EQto WS-ZCPR.ASM in order to relocate it. The ; length of the SAVE command used after the .HEX patch file is read is ; currently 7Ah records (remember, ZCPR3 understands hex parameters for the ; SAVE command). ; ; Thanks for writing these patches, guys. They sure take a lot of the ; headaches out of using WordStar! ; ; -David McCord 1-27-85 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; WSPATCH.ASM ; ; ; ; Patch for Wordstar 3.0 running under ; ; The Echelon 'Z' System   LHLD OCHAR ; Address of WS outchr routine is kept here. SHLD COUT1+1 ; Inline modify patch cout to use WS outchr. POP H ; Restore env pointer. LXI D,47 ; Offset to Z3TCAP crt select byte. DAD D MOV A,M ; Get it. LXI D,2 ; Set offset to crt 0 data area. ORA A ; Crt 0? JZ GETCRT ; Yes move crt 0 data to WS patch area. LXI D,5 ; No, move crt 1 data. GETCRT: DAD D ; Offset to selected Z3TCAP crt data area. MOV A,M ; Get Z3TCAPs terminal width. STA WID ; Patch WS width. IN Send char JMP GXYLOOP ; ; Escape - output following byte literally ; GXYESC: LDAX D ; Get next char CALL COUT ; Output literally INX D ; Pt to next JMP GXYLOOP ; ; Interpret next character as a command character ; GXYCMD: LDAX D ; Get command char INX D ; Pt to next CPI 'd' ; %d JZ GXYOUT1 CPI '2' ; %2 JZ GXYOUT2 CPI '3' ; %3 JZ GXYOUT3 CPI '.' ; %. JZ GXYOUT4 CPI '+' ; %+v JZ GXYOUT5 CPI '>' ; %>xy JZ GXYGT CPI 'r' ; %r JZ GXYREV CPI 'i' ; %i The beginning of the text memory is DW BEGMEM ; ..moved up to accommidate our patch. ; ORG PATCH ; Extended patch area. NAMIT: LHLD VIDPTR ; Point to Z3TCAPs terminal name LXI D,TNAME ; ..and WS terminal name. MVI C,16 ; Move our 16 bytes. NFILL: MOV A,M STAX D INX H INX D DCR C JNZ NFILL XCHG NFILL2: MOV A,M ; Pad out the remainder with spaces. CPI 0FH ; Till this. RZ ORA A ; Or zero. RZ MVI A,20H MOV M,A INX H JMP NFILL2 ; ; This routine moves Z3TCAP data USH D PUSH H LHLD VIDPTR ; Pt to environment MOV A,M ; No terminal? CPI ' '+1 JC ERR LXI D,15H ; Pt to CM delay DAD D MOV A,M ; Get it STA CMDELAY ; Save it INX H ; Pt to CL string INX H CALL VIDSKP ; Skip CL string MOV A,M ; Get first char of CM string ORA A ; If no string, error JZ ERR XCHG ; DE=address of CM string POP H ; Get coordinates in HL PUSH H CALL GXY ; Output xy string with delay LDA CMDELAY ; Pause CALL VIDELAY POP H ; Done POP D PX H ; Bump to Z3TCAPs number of lines. MOV A,M ; Get number of lines. STA HITE ; Patch WS hite. XRA A ; Clear following WS patchs. STA LINDEL ; Line delete STA LININS ; ..and line insert (we don't support these). LHLD VIDPTR ; Get Z3TCAP pointer. LXI D,22 ; Offset to CE delay. DAD D MOV A,M ; Get CE delay. STA DELMIS ; Patch WS misc delay. INX H CALL VIDSKP ; Skip past CL string. CALL VIDSKP ; Skip past CM string. LXI D,ERAEOL ; Point to WS eol string. CALL FILL ;  JZ GXYINC CALL COUT ; Output char if nothing else JMP GXYLOOP ; ; Set row/col home to 0,0 ; GXYINC: MVI A,1 ; Set rcbase to 1 STA RCBASE JMP GXYLOOP ; ; Reverse order of output to column then row (default is row then column) ; GXYREV: MVI A,1 ; Set column and row order STA RCORDER JMP GXYLOOP ; ; Command: >xy ; If value of row/col is greater than x, add y to it ; GXYGT: CALL GETVAL ; Get value MOV C,A ; Save value LDAX D ; Get value to test INX D ; Pt to next CMP into the WordStar patch area. ; Because WordStar requires the number of bytes for each entry ; we must count the bytes we patch and place the number at the ; beginning of the patch. ; FILL: PUSH D MVI C,-1 ; Set byte counter. FIL1: INX D MOV A,M ; Replace WS data with Z3TCAPs. STAX D INX H INR C ORA A ; Reached end? JNZ FIL1 POP D ; Yes, restore pointer to first byte. MOV A,C ; Insert number of bytes in string. STAX D RET ; COUT: PUSH H PUSH D COUT1: CALL 0000H ; This OP B XRA A ; Return NZ DCR A RET ERR: POP H ; Done POP D POP B XRA A ; Return Z RET ; ; GOTOXY (From VLIB) ; On input, H=Row and L=Column to Position To (0,0 is Home) ; On input, DE=address of CM string ; GXY: XRA A ; Set row/column STA RCORDER ; Row before column STA RCBASE ; Add 0 to base ; ; Cycle thru string ; GXYLOOP:LDAX D ; Get next char INX D ; Pt to next ORA A ; Done? RZ CPI '%' ; Command? JZ GXYCMD CPI '\' ; Escape? JZ GXYESC CALL COUT ;Replace with Z3TCAPs eol string. LXI D,IVON ; Point to WS turn on highlighting. CALL FILL ; Replace with Z3TCAPs string. LXI D,IVOFF ; Point to WS turn off highlighting. CALL FILL ; Replace with Z3TCAPs string. LXI D,TRMINI ; Point to WS terminal init string. CALL FILL ; Replace with Z3TCAPs string. LXI D,TRMUNI ; Point to WS terminal de-init string. CALL FILL ; Replace with Z3TCAPs string. CALL NAMIT ; Replace WS terminal name with Z3TCAPs. RET ; We're done. ; ORG PBGMEM ; is inline modified by the INIT. POP D ; Routine to call WordStars outchr POP H ; ..routine. RET ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; The following routines are from VLIB by Richard Conn. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; GOTO XY (From VLIB) ; HL = Row/Col, with Home=0/0 ; Return with A=0 and Zero Flag Set if not done ; XYPOS: MOV D,L ; Swap row & column MOV E,H ; ..for vlib XCHG GOTOXY: PUSH B ; Save regs PA     C ; If carry, value>x JNC GXYGT1 LDAX D ; Get value to add ADD C CALL PUTVAL ; Put value back GXYGT1: INX D ; Pt to next JMP GXYLOOP ; Resume ; ; Command: +n ; Add n to next value and output ; GXYOUT5:LDAX D ; Get value to add INX D ; Pt to next MOV B,A ; Save in B CALL GETVAL ; Get value ADD B ; Add in B CALL COUT ; Output value RCMARK: LDA RCORDER ; Mark output ORI 80H STA RCORDER JMP GXYLOOP ; ; Command: . ; Output next value ; GXYOUT4:CALL GETVAL ;  'ZCPR II patches for Wordstar Overlay Files' ; ;****************************************************************************** ; ; WS.COM can be made to work with ZCPR II 04/17/84 ; ; You know how irritating the @@@@'s get when you try to open a file in a ; user area that does not have the *.OVR files present ????? I had been ; pipping everything to a given user area to edit and then back again. ARRGH. ; To make a long story short, a few hours with DDT revealed several key areas ; within Get row RET ; GETVAL2:ANI 1 ; Look at lsb JZ GETVALC JMP GETVALR ; ; Store A as next value ; PUTVAL: MOV C,A ; Save value LDA RCORDER ; Get order flag ORA A ; Already output the first value? JM PUTVAL2 ANI 1 ; Look at lsb JZ PUTVALR ; If 0, row first PUTVALC:MOV L,C ; Set column RET ; PUTVALR:MOV H,C ; Set row RET ; PUTVAL2:ANI 1 ; Look at lsb JZ PUTVALC JMP PUTVALR ; ; Output A as decimal digit char ; B=Quantity to Subtract from A, C=0 if no leading zero ; 4 MHz VID1: MOV B,A ; Processor speed in B VID2: PUSH B ; Delay 1 ms CALL DELAY POP B DCR C ; Count down JNZ VID2 DONE: POP H ; Restore regs POP D POP B POP PSW RET ; ; Delay 1 ms at Clock speed ; DELAY: CALL DEL1 ; Delay 1 ms at 1MHz DCR B ; Count down clock speed JNZ DELAY RET ; ; Delay 1 ms at 1MHz ; DEL1: MVI C,20 ; 20 loops of 51 cycles each ~ 1000 cycles DEL1A: XTHL ; 18 cycles XTHL ; +18 = 36 cycles DCR C ; + 5 = 41 cycles JNZ DEL1A ; +10 = 51 cyGet value CALL COUT ; Output value JMP RCMARK ; ; Command: 3 ; Output next value as 3 decimal digits ; GXYOUT3:CALL GETVAL ; Get value MVI B,100 ; Output 100's MVI C,1 ; Leading zeroes CALL DIGOUT GXYOT3: MVI B,10 ; Output 10's MVI C,1 ; Leading zeroes GXYOT2: CALL DIGOUT ADI '0' ; Output 1's CALL COUT JMP RCMARK ; ; Command: 2 ; Output next value as 2 decimal digits ; GXYOUT2:CALL GETVAL ; Get value JMP GXYOT3 ; ; Command: d ; Output next value as n decimal WS.COM that should interest a true hacker. Seems as how the FCB for ; WSOVLY1.OVR is at 364Dh, WSMSGS.OVR is at 3784h, the only BDOS entry vector ; is at 1823h and finally, the area between 02E0h and 035Bh inclusive is a ; safe patch area. Well, well well....... A real simple kludge of mushware will ; set a default drive and user area every time WS.COM looks for an *.OVR file ; and then set it back again after the DOS operation. The infernal thing can ; find the *.OVR files from any drive and user a DIGOUT: PUSH D ; Save DE MVI D,'0' ; Char DECOT1: SUB B ; Subtract JC DECOT2 INR D ; Increment char JMP DECOT1 ; DECOT2: ADD B ; Add back in PUSH PSW ; Save result MOV A,D ; Get digit CPI '0' ; Zero? JNZ DECOT3 MOV A,C ; Get zero flag ORA A ; 0=no zero JZ DECOT4 DECOT3: MOV A,D ; Get digit CALL COUT ; Print it DECOT4: POP PSW ; Get A POP D ; Restore DE RET ; ; GXY Buffers ; RCORDER:DS 1 ; 0=row/col, else col/row RCBASE: DS 1 ; 0=org is 0,0, else org is cles RET ; ; VIDSKP - Skip over video string pted to by HL; pt to byte after string ; VIDSKP: MOV A,M ; Get next char INX H ; Pt to next ORA A ; Done if zero RZ CPI '\' ; Literal value? JNZ VIDSKP ; Continue if not INX H ; Pt to after literal value JMP VIDSKP ; ; ZCPR3 Pointer save area ; VIDPTR: DS 2 ; First byte of termcap entry ENVPTR: DS 2 ; 'Z' System environment package. ; ;****************************************************************************** ; title digits with no leading zeroes ; GXYOUT1:CALL GETVAL ; Get value MVI B,100 ; Output 100's MVI C,0 ; No leading zeroes CALL DIGOUT MVI B,10 ; Output 10's MVI C,0 ; No leading zeroes JMP GXYOT2 ; ; Return next value in A ; GETVAL: LDA RCORDER ; Get order flag ORA A ; Already output the first value? JM GETVAL2 ANI 1 ; Look at lsb JZ GETVALR ; If 0, row first GETVALC:LDA RCBASE ; Get base offset ADD L ; Get column RET ; GETVALR:LDA RCBASE ; Get base offset ADD H ; 1,1 CMDELAY:DS 1 ; Number of milliseconds to delay for CM ; ; VIDELAY pauses for the number of milliseconds indicated by the A ; register. VIDELAY assumes a ZCPR3 environment and uses it to determine ; processor speed. ; VIDELAY:PUSH PSW ; Save regs PUSH B PUSH D PUSH H MOV C,A ; Save count in C ORA A ; No delay? JZ DONE LHLD ENVPTR ; Pt to environment LXI D,2BH ; Offset to processor speed DAD D MOV A,M ; Get processor speed ORA A ; Zero? JNZ VID1 MVI A,4 ; Assume   rea A dream come true and ; it is really painless...... ; ; ;////////////////////////////////////////////////////////////////////////////// ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ; ; ; Copyright (c) 1984 .... Oak Brook Design ; ; All rights reserved. ; ; Permission is hereby granted to copy and distribute this ; program for any non-commercial purpose. Any use of this ; material for commercial advantage without prior wush d ; save the FCB mvi c,32 ; get the current user number mvi e,0FFh call bdos ani 00111111b sta user mvi c,32 mvi e,ovruser ; find the overlays in this user call bdos pop d ; now fix the drive specification ldax d sta nowdrive mvi a,ovrdrv ; find the overlays on this drive stax d lda nowfun ; original function call mov c,a push d call bdos pop d push psw ; save the result flags for later lda nowdrive stax d mvi c,32 0 00 00 00 00 00 00 00 00 57 53 ..............WS ; 3650: 4F 56 4C 59 31 20 4F 56 52 00 00 00 00 00 OVLY1 OVR....... ; 3660: 00 . ; ; ;> #L1820 ; 1820 INX H ; 1821 PUSH D ; 1822 PUSH H ; 1823 CALL 0005 --- here is the DOS entry @ 1823h ; 1826 POP H ; 1827 POP D ; 1829 XTHL ; 182A RET ; ;> #-P ; clear the pass point at warmboot ;> #G0 ; and exit to CCP ; ; A0> ; ; Now you can assemble the file, I used Mac. M80 / L80 has a problem with ; extranious 00 between the two ORGs. Don********************************************* ; ; the patcher starts here ; ;****************************************************************************** ; bdosvec equ $ ; intercept the call to DOS before actual entry ... mov a,c sta nowfun cpi 15 ; open file jz chkit cpi 16 ; close jz chkit cpi 17 ; search first jz chkit cpi 18 ; search next jz chkit cpi 20 ; read next jz chkit cpi 33 ; read random jz chkit ; pass the call on without furthritten ; consent of John P Sojak acting on behalf of Oak Brook Design ; is prohibited. ; ;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ;////////////////////////////////////////////////////////////////////////////// ; ; You MUST examine your Wordstar under SID or DCON to verify several ; locations within the memory image.... > denotes a console input ; ; ;> A0>DCON ; ; --- dcon banner and some other gook --- ; ;> #F100 5000 00 ; clear the ram out ;> #IWS.C ; set the old user... maybe funnies lda user mov e,a push d ; save original FCB ... call bdos pop d ; ... restore lda nowfun mov c,a ; restore c pop psw ; get error flags ret ; back to Wordstar user: db 15 nowdrive: db 00 nowfun: db 00 BEGMEM EQU $ ; org 1823h ; remove the existing DOS hook call bdosvec END t use it. ; ; Use the same procedure to load WS.COM into memory again but this time, ; dont set any pass point at 0000. Set up for the read with IWSUSER.HEX ; and then do a R to overlay the hex file. Exit to the CCP and then ; ; A0>SAVE 64 WS-TEST.COM ; ; Thats it..... WS will, or should now, work with all user areas and ; drives. ; ; ;****************************************************************************** ; bdos equ 0005 ; DOS entry ; ;======================================er hassle, its not for us passit: jmp bdos ;****************************************************************************** ; ; check for the two OVR fcb addresses, set if not found ; chkit: mvi a,(LOW msgfcb) ; fcb for WSMSGS.OVR cmp e jnz nogood mvi a,(HIGH msgfcb) cmp d jz good nogood: mvi a,(LOW ovrfcb) ; fcb for WSOVLY1.OVR cmp e jnz bdos mvi a,(HIGH ovrfcb) cmp d jnz bdos ; found one of the FCB's... set the user and drive good: pOM ; set up for read ;> #R ; ;> #P0000 ; set a break at warmboot ;> #G100 ; ; --- you will get the usual WS menu.... Just eXit with 'X' ; ; 01 PASS 0000 ; -Z-E- A=00 B=1800 D=0006 H=3441 S=3443 P=0000 ; ----- A'=00 B'=00 D'0000 H'0000 X=0000 Y=0000 JMP XXXX ; *XXXX ; ;> #D3780 3790 ; 3780: 00 00 00 00 03 57 53 47 53 20 20 4F 56 52 .....WSMSGS OVR ; 3790: 00 \ ; there it is... ; ; here it is... ;> #D3640 3660 / ; 3640: 00 00 00 0======================================== ; The WSMSGS.OVR fcb... msgfcb equ 3784h ;============================================================================== ; The WSOVR1.OVR fcb... ovrfcb equ 364Dh ;============================================================================== ; ; set these to your desired default drive and user for the *.OVR files ovruser equ 15 ; User area... 0-31 ovrdrv equ 01 ; Drive Spec... A:-> 01, B:-> 02 etc ; ;*********************************A     WordStar 3.3 patch 14 February 1984 Tired of the gigantic MICRO PRO logo each time you use WordStar? Hate being threatened with legalistic gibberish every time Word- Star boots? Well then you'll love this patch... [Before implementing the following please make a backup copy of WS.COM]... Also, a work- ing knowledge of DDT.COM is assumed. Proceed as follows: A0>DDT WS.COM DDT VERS 2.2 NEXT PC 4600 0100 -S3F1C 3F1C 0E 0D 3F1D 20 0A 3F1E 54 0A 3F1F 68 00 3F".". This prevents dot commands from being counted as words. Also I found and corrected a small error at the beginning of MLOOP. WC will give a slightly larger count than WC1 because of this. Comprre ASM files for details. WC.Doc follows: Documentation file (23 lines) for WC (Word Counter program) David Coons (CIS [72435,136]) February, 1984 --------------------------------------------------------78, page 18) I found a simple word count algorithm, which I converted to 8080 assembler code. It's not fancy, but it works. It does need one feature to work better with WordStar files, however: ignore all lines beginning with a "." (e.g., .MT 6). WC counts words in any text file, and displays the count on the console in the form, "File contains 00000 words". A word is defined as any character sequence surrounded by 'white space' (i.e., spaces, tabs, carriage returns, or line feeds. (WC wi20 69 . -S3CF4 3CF4 CD 00 3CF5 2A 00 3CF6 1B 00 3CF7 CD 00 3CF8 3F 00 3CF9 25 00 3CFA CD 00 3CFB E5 00 3CFC 3D 00 3CFD 21 00 3CFE 02 00 3CFF 00 00 3D00 CD 00 3D01 98 00 3D02 21 00 3D03 21 . -S3CE8 3CE8 CD 00 3CE9 E5 00 3CEA 3D 00 3CEB 21 . -^C A0>SAVE 69 WSTEST.COM After you have made certain that this version works properly, rename it to WS.COM. Enjoy... Charles Dread NOTE: Added by Paul Foote - 10/26/84 Before using W-------------- My wife writes short stories, and was in need of a way to get an approximate word count of a WordStar file. To my delight, in K&R ("The C Programming Language", BW Kernighan and DM Ritchie, Englewood Cliffs, NJ: Prentice-Hall, 1978, page 18) I found a simple word count algorithm, which I converted to 8080 assembler code. It's not fancy, but it works. It does need one feature to work better with WordStar files, however: ignore all lines beginning with a "." (e.g., .MT 6).  }VWC1 DOCWC1 OBJWC1 AQM# >WC1.COM DOCUMENTATION FILE By B.A.Hacker WC1 is almost the same as WC.COM except WC1 ignores lines beginning with ".". This prevents dot commands from being counted as words. Also I found and corrected a small error at the beginning of MLOOP. WC will give a slightly larger count than WC1 because of this. Comprre ASM files for details. WC.Doc follows:ll ignore the high order bit in all file characters.) To run WC, simply type: WC filename.ext WC cannot process wildcard filenames (e.g., WC B:*.TXT is illegal). As far as performance goes, a 3200-word file took approximately seven seconds, including the one or two seconds CP/M took to load the WC program. WC1.COM DOCUMENTATION FILE By B.A.Hacker WC1 is almost the same as WC.COM except WC1 ignores lines beginning with SPATCH.3/3 be sure to check the size of your WS3.3 using STAT. For example, my WS3.3 (distibuted by Xerox for it's 820-II and 16/8) is 142 records in size, so I had to SAVE 71 WSTEST.COM rather than the SAVE 69 WSTEST.COM indicated in WSPATCH.3/3. Otherwise the patch is great, i.e., it works !  Documentation file (23 lines) for WC (Word Counter program) David Coons (CIS [72435,136]) February, 1984 ---------------------------------------------------------------------- My wife writes short stories, and was in need of a way to get an approximate word count of a WordStar file. To my delight, in K&R ("The C Programming Language", BW Kernighan and DM Ritchie, Englewood Cliffs, NJ: Prentice-Hall, 19   WC counts words in any text file, and displays the count on the console in the form, "File contains 00000 words". A word is defined as any character sequence surrounded by 'white space' (i.e., spaces, tabs, carriage returns, or line feeds. (WC will ignore the high order bit in all file characters.) To run WC, simply type: WC filename.ext WC cannot process wildcard filenames (e.g., WC B:*.TXT is illegal). As far as performance goes, a 3200-word file took approximately seven ss8(W)Y+Z5ECYGNjQ%J1S5^r5%JIazMP|tvYGݔ3-Q2,%Jl;Fy.*dg?6iNEY> +ɠh_6zGdESo]Fyy#Q|9HY9DU}#|ﻳe{f Uɰ:zw]"!R ɠtr@}7; ,+N mU )YxLϨO@yer@ ЊH%/΢ W:yS ɠ0Vɐr8[%΢a+@+"8<0\j喝EÁE¶H, -hNTꃳrp`gbOUs2Te&,XDVE쬔b4TIỳr@ dE?;Ъ!# ~|Lvv(~x=-d|(2ih -s V 1.৉uڨ ٨৉QEvvB?M|ف6|aJ|5 ib/4l\O.y=@S!*]৉yZ-s VgMXO_;vQ,ɄB&,V?MT}82)2O4y O7-+~}܀z_O,h98ӿh&;Yqϻ5wgXx@:ϴ*gN|*_E/g"!RLJ:YhP ]Aߜ㊺D=FGs6gQqK2|a"!RG 1dhKLcj$,j(K zĪY<')ҪrНKFV?(\)?0}F}#QJYhG6YEQ΢\=.s8. [wutxLԋ,ӾE1s,oY<*_M|5QS,>rt],,)Ez7N4YPp]Է,Ӿ2rugQWO;g)F1ⱯPH1\=[3J8:~rgWEdu՝ Q:05Tv6ro,(lY#2*9gp'@{QݹI4:zTZ >,ٌ@{QݹI4:z`o(՝ D LXޜ38œF=pި\_$mTw/S5F~P2 )R(1hڑ } FY# |&oH9ys@KPYm΢\=3ЊH7g倰-@r`2BٝE6>D#вe|#l#rdLBr0TDVgQeconds, including the one or two seconds CP/M took to load the WC program. vr&WC1.ASM?  !"#$%&'()*+,-o./0123456789:;<=> 'A2u"޶[".} -D)I⏯ nel?oΆ _B_q4|aJs$B)rxsqAխq)ك ߜE\Pu+cysV9b. n*2ݶ۟7g,qN1߶[ϛFو#SPeemc*>Vg}:FIAuOto- ?hasbNttB:Ǿb38EZUuIߝmt` _RL>2#gJB(W}.hEB Je\VJﯿ|,#l2;=8[DYtU|2d_ =}EFrdޜ3sU}2ĪYĪX*wNdXczFY/@{+A]Ax+Rs}()HlЗ(W _ЊHJ=)Ĩ΢D#Д3)x+zYr0TDVgkwgQquZiԅB,nɌD4fK˷,Q2j4|ag,lZ  g1:,#nysA+"]=A=E?x&E[d3U%/gQC)XdK62磳k f_XIDcve/"!I4R(W]s5o*sK6gQqggQC)pڪR9gzM?z,#nYP ?\TΙHqYP ?\TΙiv荳(W]E hJf8(@H{(drd N0UI&m8N1(I4yđBm{P +e~*ȑk72aɛ jPȤlD4?&Q6hdBz հ~8@D3sh*3 (itٙ QC>tD/(H;۠FO"jcVd|gPF_L6I1'}}3

i%&_w-Q2q2@!FuV9?MNʙUL~xZ044Ξd৉_@;7L٨OGgM0৉hG6T%e)L3CVN৉_&+'yhr"yys 6gQq>_ЊHJ=)Ĩ΢ѪrЩ΢%b#Dڑ au][ڑ Z',*@I-s 7gqd<%hU3-m΢\=mc 9+e8ehʙ -s VZ:rۨ ЊH.bTgu!miTDggQC)XdP!*E]=Yh]I _Y ́: >^́@́ G:N:QGx;Ͳ:̴:X&$ Abandon changes? (Y/N)_Y:X pͩͮ88* >2X0>2X*"#ͮ:] ͊:X*+*+8*O͇ :X *S##*S#8O>2Xp \!ͩ !\$ Filename: !E!~(b > :: ~[ @2##2~[ .( (# (+#~(.# ~([ #!\"""0"> ;N#F#>0 0<330 z0; (F(((w# 0 @>^;;>(+~!N5 05d> ;> ;55d6*+6 *%6 +6 "+"!"S"UBDM.[*"S#[*"S*R[R0 [R[R*DM*ø**DMø*DM*++ø0(:n :M> ͩ> O;0"(:v :P=G:M> ͩ> A O!"**" ͩ* *> :P=_> (##" * [R|(DM* > S ("U[S` ͜[S*URDM[#S` ͜*͞ :X[SR8 *URRm ` ͜E *U` *S"ͮ͜$ Erase all (Y/N)_Y*+"*#"ͮ2\ !]6 # ͩ~#:PG:M  N  ʹ [Hit any key to continue]$ͩ 0 ( (>2X[ *#R0 GO2c8~# :c<2cy:c<:PG82My2dxP8ͦ ́2NdxMW>2e *> #~#yx82NGd8~#N:NnL!M52Nd2N<2M !!~ !~#_VCT2VDO25 Kaypro, no hilite P =ER(:(!:( !4 (^V r s~ ~ V^sr 4 4~5 5^ V r s ~ ~ V^s r 4 4~5 5$ Tab stop (2,4,8,16): !E!~0 0 W{__#{((( (> 2X=21>2X_ɯ!hw#\ >2X$ Printer Setup codes: !E!~(#+*  > :  >  x ʹ$ Currently logged drive is :Á$ : Set drive to: [ A8Q0́A2 :_ʹ$ Disk directory for :Á  8 >1́ 0́$ : : óx(=G o&"բ($ { $ $ |  ;́x(  >.́G> $ *~ ʹ$ Available help levels are: 1 Expert | 2 N  !8ɷ;  ; (A ͗ :G;0 ͩZO0(;:d_y8;(y:G8ͩ0 O*> (##" :P= ==_8(* KBDMx7*+"* ++> (*" ##" >2[ - H 2[ H $ Find: !E$ Replace with: !E$ Ignore U/L case? ((>Y>YN>2Y!~([ w#>NN2Y$ Backwards? ( >NN>2Z>YN>2Z:[(3 :X[!>(#S[!~(#Sͩ:Yd2N<2Md* ^ɯ2N<2Md2N:P=2MdZ=^* 0*~# :P== 0*~# N ( 8   : :P=G:M<2M:N2Nd2N:P=2Md=^2N2Md́> 2W2W ́:\ ;0 * ͮ(ͮ*#":Ww>2X ( :dONn:M:P=G:M LA > NA n*#"* ~ # " *~# N:e(2e2N *> ##d^*[RDM+|*[R[~ ́#"S 7*[+R* ́+w<(;\ 0 \ )Ͳ ( (#w+|(7 6 _!\l !Pl\\<(*~~ > # \<>2X>2X(\Ͳʹ$ VDO25 Ln Cl Insert FC Space ͩr :M:N>2M>2Nd[c*#>$2Nd*d&#>F2Nd8`i>82Nd*[R#2N2Md > 2N2Md:\( @;>:;!]~ (;#!e>.;~# :N0> ; "G:Z(*+G (+8"͜*#G (#0+͜>2X>2XO~[ #G +a{_:\2\>02N2Md:\(!]!`~;# +ͮ*~#" ͐:dOnLA :dOn͗ A *~# ( ( ( (~#+":dOnLͮ0 ;*;0 "2N:P=2Md=^*"S:̯*"U:̯*U|( *S|(R8>2X7*R8#[R[+*S*U| >2X` ͜E ͮ*U[SRB8>2X*R8*R0F>2X*S[R[*U[SRDM*S "S*U   ormal | 3 Novice Help level is currently set at :0́$ Set help level to: 184002ʹa:N ʹ :N ʹN ʹ:N >2fɯ2f$ Selection: >^;:Lɯ2N2Md:N2:M2:2N:2Mͩ0F#^#V## ^#V## :Gʹ :Nʹ>K;F ' 6  = m  oÏ:ͯ:d> ;> ;> ;:ʹa:Nʹ>Q;  sÏ: ʹ\n+`FMrج&>D9[z Z3b7M F"5 DyҫQ&?{mvE,8?ԨIXmG`a@;Gt<Wغ3Iv@NkqF1Ț6v(!Ij0Q#SS6$+ٵ+`+֕^MΨ> Error: :Xo&i~_#~W $ Press ESCAPE to continue2X BAKOn Off}File too bigInvalid keyInput/Output FailureString not foundDisk fullBlock not markedBlock staddles cursorBlock too bigIllegal tab stopRRQ(((???????????N9OS;h}ێj#% j(TA$MN@v%6E/>I@q l1GLNz7aqkq{5 pTIv+β&ku Pȁ+N͐\ *ng\&a9^T#m|pտb ՆF# JY\JjЪ +m!>G/>W 9ڇ/5jκiāɍ>1BC$ eb$,;،BثIXw8`(oYV+Vx ˌPfl^MrcH#:Nʹ>J; {i  Ï 0 >^N@N:($ $ - Basic editing functions - ^A Word left ^F Word right ^G Delete char ^Y Delete line ^T Delete word DEL Destruct/BS ^C Page down ^R Page up ^V Toggle insert ^L Repeat find ^P Enter printer code ^N Insert C/R ^K Block cmd menu ^Q Quick cmd menu $ ^Q Commands [Quick Menu] R Top of file C Bottom of file F Find a string A Find and replace B Find block start K Find block end T Change tabgq"09$R@;GQM"-BWF5jԨQF5jԨQF5jԨQF5jԨQF5iy5jԨQNؐ=x؞~xwKGp&#P@SF mΖoԨIXSd ֞+0K@TH *ݤ&w{#;KdޮM[",B7nA >SWj0=n'l=pQ iD X)H 95 sda!T,^mgg6g@p%4na"'#뷏w@}XVM:ftk6ŗ_vxegO<qըIX^]KM9Cp% >Sqo,#tч^|y$`h6tm P.&2hG؏gD+I8Qc!i|A 9j$,~1;.+ >SvZVDO25A.MAN`  o!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ iwWtdog2: =Z 95jԨQ7X^&-o*EMZ`yU6`ySc _jRJf`,JIHQR]׸sԫIXw)"m&T2m(ÆJyHxR v$1Cٳq`r6GpM8^Mrýq4R%@X^vfJ` ^x~8>& 4 x;plj ĕ$gq \ τ-T(B#x6HM.?2h1Lo [xyW3ak3&'[3H#qsg;e5 nU,L6T\9cz5jt"`8ڜm$ @du%=W:`Osd'{R&hC=#`6=͑),m7 pRY`yWB#F T\9cz5jԨQF5jԨQF5jԨQF5j5jԨQNؐ=x؞~xwKGp&#P@SF stop $ ^K Commands [Block Menu] S Save/continue X Save/exit Q Abandon Z Zap file B Mark block start K Mark block end C Copy block V Move block Y Delete block W Write block R Read file P Print file L Set logged drive F Show disk directory $ ^J Commands [Help Menu] H Adjust Help level K Block menu Q Quick menu J Help menu M Basic editing menu ͗:] (QA ;, 'gE2} , ,    j d , :X(ʹ$ `W)X^$&f_W _jԨQR¿_ޫI)',o=xO7/ܼNWR¿_ޫQ&- p))pT&wˍΨs&|+RF66֐SOVMJUn+S৚ 8h+S(SMJ mΖo?ԤLi"gK Q'$/5)3V9=8Pbw Gq~w5)6Kۣ8Pb;>Sn%'4GJ+5)6jC>p{w0eb/P&7DFQ\}}~o}F5jԨQF5jԨQFpF5j$6b']ґe!k6<8k5/ԨQ&=ӆZx~8}!>N8A     mM\ap%f–{5)ϝ)aBԤ-_դNW/o _Sy&%ދwg铚?]? 5)˛͋M慚Mtu~8]_.ԨIX^'FmT#|lsAyr4E5 X{1Ϟ}X7!ٲs,C *q&i m8?ӧD8?^>O=pQ}qJjCd3F)]&gAxEr\)`r2NLEMqWB#Ap%D\# >zp/O`GdP >LJ!͙ 6䢗@ų8}ON/\ `ϽxQ}F;A8rWh9oW8΅)ScV8?9=qJ|XYdAr%5 =["~·ՓD\ R(F<~p燓93`~,>V8B7M`CIYf#IX9 b0K"˜ň k38IX+ɳo*ݷ 1Kf'6$u+b5 1aէώba;~9.'EMrdGM9PeMFB&fr6y/7{5jRp~8as{tXX,ֶںɨ&a9r%Eq$zz0K"°!; ﯿߩIX>gd=*;p LD\ qOހ |&8Q󃧂`GNM'`sS3l9'#hWԧa3# NFe5 6p%;D >gl ]D!p%Zcz5 7+a'j~TlY'}b  65 mp%u.ep%D!Ol!WRsgK;asƖȖ,lgVJ|^x~8}@qDXG:S,sh)X9 \&I; %YqD\8Pb&g!g30 h26XG9 8e)0 3WV@4 $UlcrXW* _[LnrT`#, k3&g`Ͻ5 &gcJvsW~@`]$5 #0`q{ZgJp%0g`$,GgWPć,;2{DβW&XVL"9(  àFM/H `-\ ί*U#1 S ebZ6&tZ碸 @LLY>$,lVE<,B1|erWM;@䢚X|<tw@LL$gYºz&6maaCQvѪu1tā6B(;{5jp@LLֹ(>B5 721Ulcrp~U Eqj$5P(Z6&LCEqj$,ǧ0Ƈֹ(np%lg}ΰ]d%q%5 hIg/K420ʆֹ(aH\ 5 Bms{,"XB`# ;x&94ph7uֹ(r i`5 PQ`s+p%tX)ScX0"ۜqj@='LNVΎ=pof_Fl@L WRH{ hF*JY>gl >D9SsWB0$&J"9}|čT`CWdeG5 XF,SFMe]: VrQ`d!'8e \ ,S8G.p~8 ,l3)4Wv`7I:/]Dqܪ+p%8]P#p *ũId"Cd373P _"{U%HM"m LS{ vFƖCd3 DNMe,цfP0=!v0KT!5 1+=pogD9,@l.q%5 `r6g/%ٗ7`5Wwr%&,+J9+a v nqk '#Z8LKըI ˫p~8aDp%u+bDv>YMreCJh1I% 9'](>$,G+!a1H8`튀YMr,>NɆp%u.-w.P ֱ+5 qKըIΆrhʶQ੸}EN hb+ĕ$,·| ](;"a0KЪFF1 $,GnE·UFMr|!LaSVu;"0$,HֵJmǀ 3 \ɥ&dUlcrhg`Kj-w |W["FdêípPp5jp8#-"{pYl,"1Xn~ vjs xק#|E}Q;&a9v FC1)v >ld8` >IH6DeҡHʨvC`z \ TfVX+X`L EM.m!w|X+a "F;[R,S+pdKv)X0j\ v@NMtEXG`|`r8jԨQF5jԨQF5jԨQF5iy5jԨQNؐ=x؞~xwKGp&#P@SF\v.åvըIXنb]Sq匭C\&p};vjpw/a ?NFb*;P`sZ#c*l,ע&t=p^BuKx}` u.ELQFZ8XjmL,Jp~UYx}` u.E%4Ф J@d]}jhJsȲfIXlbR;jЪu1"hֺia,+lF܍WF5jԨQF5jԨQF5iy_ԨQFp†\qտû+\:73xmg5j$]c26FMr||Rцa H`K $}$Bh3l|#dP#k3S3b+c^Mdb/!E%cMцwso4l΀RQ6>:Ł9 Ig/>+>_;yըImֹ(: J`Ͻ5 x L6Jh`\ [a2+>j$[`ʶQ:2F0W–V>V +IX,mGGDbamڰ"p%یH>"dWVkUMlWBS#Qp% EƆ\v#3;|D.Nj99L3a])`tq 8p% >S#p؏p%Dj 6䢗EZ\ 2 FMr~` u.Z\ _UV&a9^?0ʆ:š`} 5j0ʆ:š:"@j$,F,&"l}ըIk&md\|qxF"||ۣ8P ю&a9^BըIg`ФpQ 3Z6&g`Kj#&G% |?3<JNMr~ U\~,_  acLj[bF5jԨQ7ީQF5 iwWtdog2: =Z 95jԨI,mKGJT&a9^TYMцa H`K $=$7 qx!6wH ;Md֞+I(wj9=A&bI{&hC(F|([&5 `hݞ Y>xdm(!ϐedVI{ QMds,m>"Rc/2+>li+5 X{+o=p1Fv +=W+o}zUa3"1,Æ\ LW&a908+@&r`]}pw`&u{*VY&?$l}Ѻ=5 L;zp%liCaqP1Z8p%l=(5 ۓGJ싚nܒOz5jԨQF5jԨQFnԨQFp†\qտû+\:73xmg5j$w9lCT&a9>wh׈!g3Vbs#TvɎVJ#dC&Lnfb͈4cȀgV;僧C{ Wn^BܥmM8J %1mGjc x 0W)[ʲ0#vE"F[X$Q#!t&!Bβj>z 6J\A0f5 X%q4R`*-qiVBW&-mGxZű5iy';޽TFMκՊ"{ q&㔭wh28"VrPTK޾=c gsd$gWOǟWIgϾ^={=OÏ_Ϟ'qҹ5ўBjpa9>>gظ |`GըQ7>QF5 iwWtdog2: =Z 95j$GfkCglѪ +`W3a2ňY:_`qLMr`6 Tz܄=6䢗!Z3:BV0Pc*5 ~t &}pf70La#杚hCA>t@ų+DK%Rh6d`}j$s 僧\ sȲZQErjud{5jp5pYmXVTPP$25vWB뜣yFՊX#P|.SqWJjcq~C`AUF\ZaE(>p4ʆ 'fHh C5 ~6dY+!=1S "qWBq8G[đgV|+hgjÊhWaR&~.N'oֹu,3c+T"9}p%40K4GFTj$ދE+ f4 l}]5i$T;MP: LXW ](4@M;@$G Ud֕@)ؑ"`+.I@"#P`rT`#&2+a _}lO NMg v$42D.čTz5jp/N_.>HopisJTg _ؒ ҅|mF[ ׏qXW aF`>w$@Z\CW}:{8+a:hݞ\F\?z c:hݞ\FM=ΈP0Z'׫QGL30Zm Z8`K$,Ѻ=Xq~͘$zvh2͐\ ,m;Md]T-+u.\ sQ|$ѳ@: JjciըIslS6Kۃ\ sQ&Ѻ=l#D^l(DEXWB\קJjhݞ\LG;Mdl(Jh#lXWBdAMrJeCer7fi{42Q6Tx5 ~8P&&`{0Zmp4ʆ 'cJj3ֹ(FCĺ#x5 ~xb {3\@E5 _mGxZű5jԨQF5jԨQF5jԨQF5jԨQFMZ?ըQFp†\qտû+\:73xmg5j$pAnfըIXAr+0##n1lgp(>ێ5 lR&%,yrCT=S摝''X{>{&5)ayu[qp7Sf/=SWSf<',o^uwgVnI ˫dݙU&çXL_Hۇg>\I ˫O✬pqw,ay(xjRߒ9%,oΑg߮=35)ay`ohc7SSW7}z糄pϾy&%,n3{ZO$,o>v#I ˫3qp{4eo kG35 ڍ+X >l$Ȁ8Gsԯz=/_$g./NjԨQF5jԨQF5jԨQF5jԨQF5jԨQFMZԨQFp†\qտû+\:73xmg5j$Y&hCj$,NjJ'4GJuH`q)=pojBh3l|#dP#k34uX{$=͑IMdb/!s'#4 ؜! .@Ѳ&vc}LW'ݪt#.E%T2m([R[EҫQ&׿L=pQ sRiC6|%DXGjcqvR>+LNƉ`* ȴ&a9Q運J`#c*(4.s B6 AMrlwS WQ 挑Bw-;yz9x.mQ uNM֕>G8gըI{/ Ez~AZ\J|X >;ʝ)Fj 9^B֭B+cK,SըI#<5)Sw0>Dr +9ݬ&ve}ըIקGxqǏpisJƉ}Xb!9^շ&`0Z?`+\lÆlP(hݞ\u2FT ~W19/,JlC5 Jfi^}}|7gw:na!Xl=xZ碸l|YJ!5fV85 e ,m߫Q{_?׸ygAZ\ĺR@$fV(so`Edf$0(09؀;eB-9<?vxXũIXD^B!N0+aW&׏> gK[{*ar>09DnBBq&a9o(09*tXXFD q .>V5 ˑB˛,JL>z|v#i\)+-4?E ߥ &a9n L`AP`Ì&"qXW*9=%olQMr,2@}`Cf9#cKL`AP.<~&a96)7g;j~?j$"9 gdHPDjl$,rK\ d H\ H5 ~2s" ](:(0HɆ&a96G)&mn3ؐ^|͎l{ޠ&a9NF`Jǰ|`G?|$&wŇ6EqjcN2|:Bqvu@rt)*h26&a9[׏v'5 ^ q6ֹ(M;a>"v(F*5 ^9(`sHir#0R"#D9IXvc}L[Up%Tv %p{Фsz5jppqv,mKG F ]FM>Nǥ #W&׿?lglm sQv1Rz5jp7pqvFԨIXPmP 䜸ub3ue.q%5 P|a1RvE;AfQJxpvsi Z&@ΉCqvqQ #A     9' PjRf\={7/qln+RW'v,nm9P+5j;GG/!k3iǀu+r@L$ɍ>{ಋ,#(4`s؍ǽ>09Le&MJWq5j ˛@<ԨQF5jԨQF5jԨQF5jԨQF5jԤ pC5jԨ?! +$}v$VDO25A.NOTB  !"#$%&'()*o+,-./0123456789:;<=͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxuͫCopyright (C) 1984 BORLAND IncAKaypro, old styletedP= ER~7#~=% o&ͦoͦܐԩͣ}!!"8~#(}:$= +*!Z!*B!!:(=2!Z: <2!!!:O::O:!*BH\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y ?@Au=pp?=\}xēQP66!/uT`ƑMѳA:xVU,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>! !45(!.+/ 0y0( d!kZ!{Z͈͈o&  :(y ͠|( *"x2y( >28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#xW^8/w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 81HJ6zu9t>Ъ" E[Ch'D1m(naG&mF]N8x7aBuD=UQ7)µqdSl(RE/+lPA|ZµqdSv9iBN[s[M :n53!Ѥ/0麰){%={h! LwpmYȩwB$`+d4 0wɂ IwB6xV@ rJ 2JZ1eh!m/uT1p:ϟ79߬wNq_@ׅM^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?=   u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| .(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!6yͲL3VDO25!!5z "zR͐b*z#!vzͲ!!vz m5zd "}!vz*}!vz*}n&(s*}#6 !vz !zͲ!z }2pzVINSTALL*|!5` }2kz*pz&*kz&|g}o}2pz*|!"|*|VINSTALLm͛E !"|*pz&}2qz*qz&!{"gz*gzn: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp(C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w#&} *gzs!!5z_!"ez*gz*ezn&}2dz*dz&} }2dz*gz*ez*dz&s*ez#!*gz*gzn&} s*gz*gzn&} s!!5z!"ez*gz*ez+*gz*ez+n&} s*ez#Ü!*gz"*gz"n&} s*gz#*gz#n&} s*gz$*gz$n&} s!!5zd""ez*gz%*ez+*gz%*ez+n&} s*ez#+"!!5zʨ""ez*gz-*ez+*gz-*ez+n&} s*ez#o"!!5z""ez*gz5*ez+*gz5*ez+n&} s*ez#ó"!!5z0#"ez J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\A     *gz=*ez+*gz=*ez+n&} s*ez#"!!5zt#"ez*gzE*ez+*gzE*ez+n&} s*ez#;#!!5zʸ#"ez*gzM*ez+*gzM*ez+n&} s*ez##!!5z#"ez*gzU*ez+*gzU*ez+n&} s*ez##!!5z@$"ez*gz]*ez+*gz]*ez+n&} s*ez#$!!5zʄ$"ez*gze*ez+*gze*ez+n&} s*ez#K$!yͲR͐bR!bŔ ** Error - !y !q́. **͐bR͐b!{!z =!{z5!aE*}+! }*|+))))))]*}+n&s*}!"}*}#2!"|ŔVDO Installation Module vers. ́1.1bŔ by James Whorton * Setup *͐bR͐b&R͐bŔ0Enter the source filename to be installed : b!z+._b!z  !zͲR͐bŔDEntering RETURN to the next question will overwrite the source file.͐bR͐bŔ0Enter the destination file name to be written : b!z+._b!z  !zͲ!z \E4!z !zͲhorton * Terminal Menu *͐bR͐b!! 5z+"}*}R!! b! }*}+))))))n&!͛E)!!5z)"}! }*}+))))))*}n&Rb*}#Ê))!!5z)"}R! b*}#)Ŕ b*}! R!! b! }*}! +))))))n&!͛Eʬ*!!5zʩ*"}! }*}! +))))))*}n&Rb*}#_**!!5z*"}R! b*}#÷*Ŕ b*}!R!! b! }s*}!"}!|*}+!s*}!"}!!5zʌ/"}!|*}+! }*|+))))))*}+n&s*}!"}*}#6/!|*}+! }*|+))))))"n&s*}!"}!|*}+! }*|+))))))#n&s*}!"}!|*}+! }*|+))))))$n&s*}!"}!!5zʤ0"}!|*}+! }*|+))))))%*}+n&s*}!"}*}#N0!!5z1"}!|*}+! }*|+))))))-*}+n&s*}!"}*}#2% source file !z  not foundͅ$ñ%!{U!NEq% source file !z  emptyͅ$ñ%!{U!P͛Eʱ% source file !z  too largeͅ$!{U"|!{!|*|kb!{Sb!{!z =!{z5!N!z !z o}oEʸ&R͐bŔDestination file !z !q́ exists. Overwrite(Y/N)? b!8! }b* }&(!YaEʒ&ŔNo͐bø&ŔYes͐b!{\b!{!z =!{yb!{!|*|gb!{Sb!D| VTERM.DAT=!D|y5!$!|Ͳ,!|ͪ(R͐b*|!NE+5ŔYou have selected terminal *|!́ - b!!5zʰ5"}! }*|+))))))*}n&Rb*}#l5R!.͐bŔ5Are you SURE you want to install this terminal(Y/N)? b!8! }b* }&(!YaE%65Ŕ Installing !z !q́... b-%R͐bŔFile installed as !z !q!.͐b!YaEacxŔ Installing !z !q́... b-%R͐bŔFile installed as !z !*}!+))))))n&!͛Eʇ+!!5zʄ+"}! }*}!+))))))*}n&Rb*}#:+ð+!!5zʰ+"}R! b*}#Ò+R͐b*}#4)R͐bR͐bŔ< Enter the number of the terminal desired (RETURN to quit): b!}+_b*}!NEF,!*ys#rÉ,*}!͛*}*|͇}oEs,*}*ys#rÉ,!*ys#rR!b*y^#V!t*y^#V*|ͯ}oEʼ("yVCT2m!R"}!*ys#r!*|!*}R5zʠ-"}ï0!!5zf1"}!|*}+! }*|+))))))5*}+n&s*}!"}*}#1!!5z1"}!|*}+! }*|+))))))=*}+n&s*}!"}*}#q1!!5z(2"}!|*}+! }*|+))))))E*}+n&s*}!"}*}#1!!5zʉ2"}!|*}+! }*|+))))))M*}+n&s*}!"}*}#32!!5z2"}!|*}+! }*|+))))))U*}+n&s*}!"}*}#Ô2!!5zK3"}!|aEM'terminal definition file  VTERM.DAT not foundͅ$à'!D|U!NEʠ'terminal definition file  VTERM.DAT is emptyͅ$!"}!D|A}oE'!D|8!{ͳb ! }*}+))))))!{y*}!"}æ'*}!R"|*|!'ͯEʩ(*|!!'5zʩ("}! }*}+))))))!s! }*}+)))))) *}#,("y!*ys#rŔVDO Installation Module vers. ́1.1bŔ% by James W*y^#V!NEʗ-!zͲ*}*}!5ze-"}!z !|*}+n&e.!zͲ*}#1-!z VCT2\Eʗ-*}*}!!*ys#r*}#,*y^#V!NE- source file !z  invalid, cannot be installedͅ$*|"}!|*}+! }*|+))))))n&s*}!"}!!5zʔ."}!|*}+! }*|+))))))*}n&s*}!"}*}#?.!|*}+! }*|+))))))n&s*}!"}!|*}+! }*|+))))))n&  vaVTERMC.DATq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop|qť{9}bk}e? ЮM,@2EOcm9$u&$nr+@vIdIdIP߽v.wϝ34֖@2@~(GArIdu[&n&n&}=wni-~kٰ ЮM,@ݤ@ݤIuҁIdIdI.77'W6vwS[ΆdvPnRIdI@ݤ샺IdIdI|ͽ{?X[ΆdvPnb&e&e M>M2@$M2@$M2oٍͭv4]?l(]?nRI9&$IdIdIdzgsskݙ{W~sq-g?dvPn @ݤurM~ P7u P7u P7u :{wfv;;mX[ΆAMps1=:m ( 08 0:<2/2? :\<ʨd\²!~.(6ʲ {2d ( ˿0͠O,         @2.y(% O}2xG͖(s#r͠z( 0:O}}O{8*s#r:G:2|!8}!B d0P 0P0wɁx +~# (0w#!z8 >O!o0$~2͖͠y!o$"~#fo y3z!8x( z :   { PAIRX v1.2 (c) Eric G@ݤIdIdIdId}zؽms޸i-gdvPnb&e&e M痮>6)O?IdIdIXgg7vwi-~kٰ ЮM,@ݤ@ݤIuҁIdIdI ;7Ϭy\?EOcm9;&1ucA&.ɱOA$M2@$M2@$~yzg3/8X[Ά ЮP7)?I &eu)ˠn&n&nڳW/#篟?kٰ Ю2u P7)+P7)knRAݤtn&n&nԃS/g뻯/^G_?cm9CIy&e&e M>M2@$M2@$M2S6ؽ'֖a)]?9XIYIYu&P7)'Aݤ\Q7)W& MՆIdIX=rxቮڢ맱 C9 &Of&n&eM}P7u P7u P7ɀ맱i-~kM2@&n&n&n&n&nnjOcmmX[[t4v뽛d0,j7g P|5 h[ X{,]&Wr-خ Yans 04/24/85 Checks unmatched ^S^B^D^T^V^X^P^Y MaxLin ^*-^*: 0 (Default at 102H) Form: pairx [d:]filename [maxlin] $Can't open file. $Unmatched ^ page 000 line 00 $Reading page 000 $No unmatched characters. Pages read: 000 $Gas 04/24/85 Checks SBDTVXPYu P7u P7u W]mn^x׮Y^]?lXJhK5P7)nR:P7u P7u P7ɀֵSgϾ]?EOcm9$rM MP7)'AݤlI&n&n&S={͢맱i-gR2@~(sP7uu&eMJ&n&n&p~{|k^+L<kٰ ЮM#P7)+P7)knRAݤtn&n&ns[{۟woZS[[t4lXJhe&dIdIdIdId:;8yڢ맱 KAݤ\uu&_M&n&n&z;ɓoi-gÁdvnr9@$M2@$M2@$M2@$M2@$>wݩA     v /PAIRX.DOCS  !"#$%&'()*+,-./0123o456789:;<=>?@ABCDEFGHIJKLMNOPQR?/˯z?>~wr~ %! |W-#D`sJ` W~>d>`@oI\OEnuʑ^N!!h`!ȋ V*G2Kv[ btQQ_r\J2فgɎ"6m>0p S)9hHX%x%H@oYܓ{oaD*T5aH̩\9A SI~o }tGÙSdW;W~;_/<_1^?=Q% Uozbk^?GE7쳿r;Û#~7xg|w76-E"lZdSQo;:'Е7yʏ^<~x`~zJNA*6׫^?'޾yz~'z덷N4KbM?1⬳TVəyq{rRq/7~\3 E i:O k$szAI&b)z W4C̓C.j9U Ra},RwEgq~O~ƈFT Wa,DëۏA2TukIFI& lX51f.P \o?~iyJ2xH90-{oso 1/Ⱥ9 S#ĕK~+d-/Bo"+1SP󠅱K$k #a_H eG|FHଡ>YC%f:%H7_-YnE76 L[E*ӪLnpR8h Gï_*U%/1OAʅE%eNAEdCE2ȋy#cG _<ۏ?J6X/pN@UPP% 8kO in accumulator sta fl ;set fl flag ret ;get another character ;without printing ncheck: cpi '~' ;is it other code character? jnz hcheck ;no, so check if part of ;code sequence sta lead ;yes so store temporarily mvi a,1 ;get a 1 in accumulator sta fl ;set fl flag mvi a,1bh ;~ means escape required so jmp pout ;send it. hcheck: mov b,a ;set input char aside lda lead ;get contents of lead cpi '`' ;are we in a code seq? mov a,b ;char back in accumulator jz flchk ;yes, so chGp)|"5~RۏO~:s"jTӑ*#`sJq* 9?)D'ky W|,p z-x)BJI&\45XPC.!n7x w/og$ꘫjT$|; S9R:Q~~6 /.BI&y ^2HSikHI 6׫tGh$aKEnp"O:W^%%dt#)INb)z7:@%Л/)çjTӑ\` PZ-ʏA}pNY*[9R*0[4#Y  eck if flag set mov b,a ;no, so char back to b lda lead ;check lead again cpi '~' ;are we in a code seq? mov a,b ;char back in accumulator jz flchk ;yes, so check if flag set jmp pout ;no, so print char normally flchk: mov b,a ;set char aside again lda fl ;get fl flag cpi 00h ;1 if set set mov a,b ;char back in accumulator jz addsnd ;not set, so last char in seq mov b,a ;yes, so set char aside again mvi a,00h ;no, so place 00h in accumulator sta fl ;and lower the flag mov a,b ANYCODE doe thi withou enlargin th siz o th mai WordSta progra WS.COM Thi i ver importan point B keeping WS.CO confine t it "stock size i ma installe o reinstalle usin INSTALL.CO a wil withou affectin o havin t reinstal ANYCODE. INTRODUCTION. Th EPSO FX M (w/Graftrax an R series a wel a man othe brand o printers hav man mor mode o operatio availabl tha ca b accesse b normall installe WordStar eve i on uo- ;cess. end  ANYCODE Doug Hurst IMPORTAN NOTE Th documentatio fo ANYCOD i base o a articl submitte t th newl revive "Portabl Companion magazin fo Osborn Compute Owners Th referenc ar Osborn oriented I reality th progra i mor WordSta tha Osborn oriented an i u an runnin o Heat an Zorb machine an i adaptabl t al WordStars Version 2.26 3.0 an 3.3X B absolutel certai tha yo caref ;char back in accumulator cpi 39h ;is code char a letter? jm nolet1 ;no, so never mind sui 07h ;yes, so make it a number nolet1: sui 30h ;now down it form ASCII rlc ;first char in code so rlc ;move 4 low bits to high rlc rlc ani 0f0h ;0 4 lower bits sta first ;store it ret ;go get second char code addsnd: mov b,a ;set 2nd code char aside mvi a,00 ;0 the accumulator lxi h,lead ;get lead addr pointer in hl mov m,a ;0 out the lead inx h ;up the hl mose al th built-i an use define prin contro cod facilitie available No onl ca thes built-i an use define code NO kee pac wit th printer' capability onc installed the ar no alterabl withou usin DDT/SID.CO o WordStar' INSTALL.COM Ther ar severa commerciall availabl program tha wil le yo sen al th contro code printe wil accept The diffe fro th on presente i thi articl i tha thi on i free Thi articl i als designe tull mak AL substitution fo you versio o WordStar Ther ar severa throughout Questions comment an bug shoul b reporte t m a 680 Estrell Ave. Twentynin Palms C 92277 evening (619) 367-1090 (evenings). PLEASE! Giv thi articl loo eve i i seem somewha complicated I i useful valuabl modificatio t WordSta an i quit simpl i yo wil tak i ste b step VALUE. Make WordSta mor powerfu an tex file more flexibl an portablev m,a ;also 0 the flag mov a,b ;get char back cpi 39h ;was 2nd code char a letter? jm nolet2 ;so so skip it sui 07h ;yes so make it a number nolet2: sui 30h ;now down either from ASCII lxi h,first ;point to first code char addr mov b,m ;move actual char to b add b ;add a to b (result in a) pout: mvi c,5 ;print full code char mov e,a call 5 ret ;back for next real char ; lead ds 1 ;space for lead code fl ds 1 ;flag space first ds 1 ;store first code while ;waiting for 2nd to prA      serv th dua purpos o displayin ho muc untappe potentia ther i i standar WordStar USING ANYCODE. Befor gettin int th codin an installatio o ANYCODE i i importan t se wha th outcom o you effort wil be Thi will it is hoped, piqu you interes an kee yo fro givin up I yo regularl us WordSta wit CHARTEC o simila progra installed yo alread posses th functio tha ANYCOD wil perform You'r welcom t continu anyway A cautions an yo ma a wel kno the now 1 Us al capita letter (`0A NO `0a)(an that' zer not o). 2 Eac he cod mus b tw digits ( entere a 05 entere a 0E etc.) 3 Du t spac limitation an desir o th par o th autho t kee ANYCOD confine t th MORPAT are (explaine later) n provision wer mad t b abl t prin th lead-i character an ~ I yo us eithe o thes character frequentl i you wor n concer t yo thoug becaus ANYCOD code ar non-printin jus lik WordStar' prin contro codes Th actua lin wil fi withi th margin i i di prio t cod insertion. ANYCOD code wil usuall tak on o th thre form show below jus a mos printer accep code i on o thes thre forms. straight hex code escape + hex code escap + he cod + traile code 1 + traile code 2....+ trailer code n Belo ar ANYCOD example o eac typ fo EPSO printers:  Yo wil no fin the o you keyboard T mak "~" typ ^ (contro +) T plac "` o th screen typ ^ (contro ?) I yo haven' see th obviou advantag t sendin th printe code i th ANYCOD forma ove WordStar' code yet her ar two First yo ca sen an cod t th printer (Okay th cat ou o th bag no yo kno wher th nam o th progra cam from. Second sa yo tak WordSta an documen dis wit yo somewher (lik fro hom mentione earlier nic featur o ANYCOD i tha i doe no enlarg th siz o WS.CO a man simila commerciall availabl product do. Onc installed use of ANYCOD code ha th sam functiona effec a WordStar' prin contro codes Instea o embeddin the i th tex wit prin contro cod suc a ^PS however yo ente ANYCOD ver muc a th code actuall appear i you printer' user' manual ANYCOD codes however ar no invisibl t th editor I otheprocessin operations yo shoul conside pickin othe character tha yo d no us often Th comment t ANYCODE.AS belo indicat wher t mak substitution t th defaul lead-i characters. 4 Th MORPAT are mus b free Late i th articl DDT.CO i use t mak som modification t WordSta an chec t se tha th MORPAT are i clear I i i not ABORT 5 ANYCOD a installe belo i fo WordStar' installe t us th CP/ Primar Lis Devic `0F Would transmit 0Fh (turn condensed print mode on). ~45 Would transmit ,45h (turn emphasized print on). ~2D`0 Woul transmi ,2Dh,0 (tur o continuou underline). As a further example, a short section of text, first without codes and then with ANYCODE codes embedded. Dear Bob, Just wanted to let you know I was thrilled with the modified BIOS you sent me. It worked SUPER. Dear Bob, Just wanted to let you know I was ~34thrilled~35 with the t work an want/nee t prin fil usin anothe compute (obviousl anothe Osborn o Osborn dis forma compatible) Yo prepare th documen o you Osborn whic i installe wit Prin Control t sen EPSO codes Th compute a work however i drivin NE printer Wit ANYCOD code embedde i th text wouldn' i b eas t us th Fin an Replac (^QA comman t fin th EPSO code an substitut NE codes Answe ye so we can continue. Ther ar fe  words whe yo plac ANYCODE' code i you text the ar treate jus lik norma tex b WordStar Thi mean the wil b include i suc function a wordwra an paragrap reformatting Fo thi reason i i suggeste tha yo ente al you text ge i formatte jus th wa yo want the g bac an inser th ANYCOD codes Thi ma forc yo t us th ^O (releas margin comman mor tha yo ar use t (som line wil exten fa beyon th margin) Thi shoul b o modified ~2D`01BIOS~2D`00 you sent me. It worked `0ESUPER!`14. I th lowe exampl wit th embedde (agai EPSON codes ~3 an ~3 tur italic on/off ~2D`0 an ~2D`0 turn underlin on/of an `0 an `1 tur expande prin on/off. Notic ho th firs lin no extend pas th norma margin Again i WIL NO whe th printin actuall take plac sinc ANYCOD cod i non-printing Th tw lea character fo ANYCOD cod wer picke especiall fo th Osborn computer  e Yo ca chec thi whe yo firs boo WordSta an observ th sign-o messag (Als whe runnin INSTALL.CO o WordStar chec th labe CSWTCH: I mus b 0 fo ANYCOD t b guarantee t work) Her ar wrong the righ exampl o ANYCOD syntax. WRONG `FNo i th tim fo ...... th ai o thei countries.`12 Meanin t tur compresse prin on/off N zer betwee th an a beginnin o th sentence PROMISE Thi wil no work. RIGHT `0FNo io, so check if part of ;code sequence sta lead ;yes so store temporarily mvi a,1 ;get a 1 in accumulator sta fl ;set fl flag mvi a,1bh ;~ means escape required so jmp pout ;send it. hcheck: mov b,a ;set input char aside lda lead ;get contents of lead cpi '`' ;are we in a code seq? ;NOTE: if you changed this code ;above, change it here too. mov a,b ;char back in accumulator jz flchk ;yes, so check if flag set mov b,a ;no, so on know t hav ANYCOD successfull installed i reside a th addresse show below: WordSta Version 2.26 3.0 3.3 02DEh 02DEh 02BBh THE CODE AND ASSEMBLY. Th comment t th cod ma see littl crypti s thi narrativ explanatio i supplie i advance W wil modif on o WordStar' printe driver t diver al character t b sen t th CP/ Primar Lis Devic YCOD t work Her i th code B sur t us th "N non-documen mod i yo us WordStar. ; ANYCODE.ASM - A program to allow printer codes to be ; transmitted to EPSON or other dot matrix ; printer from within WordStar text. ; ; Author: D. M. Hurst ; Date: April 23, 1984 ; ORG XXXXh ;Where XXXX is 02DEh for WS 2.26/3.0 ;and 02BBh for WS 3.3 mysub: cpi '`' ;is it a code character? ;you may substitut th tim fo ...... th ai o thei countries.`12 PROMISE Thi wil work. Follo th simpl rule lai ou above an yo wil hav n problem No fo th work. WHA D W MODIF AN WHER D TH MODIFICATION GO? MicroPr and/o Osborne i thei infinit wisdom decide t includ INSTALL.CO wit WordStar bu no t includ th complet termina an printe patc areas (Earl Osborn user' di receiv thi trea befor Osborn converte t th "improved referchar back to b lda lead ;check lead again cpi '~' ;are we in a code seq? ;NOTE: if you changed this code ;above, change it here too. ;char back in accumulator mov a,b ;char back in accumulator jz flchk ;yes, so check if flag set jmp pout ;no, so print char normally flchk: mov b,a ;set char aside again lda fl ;get fl flag cpi 00h ;1 if set set mov a,b ;char back in accumulator jz addsnd ;not set, so last t ou ANYCOD subroutine Eac characte i firs checke t se i i i a ANYCOD lead-i character I i is i i stored fla i se an th nex characte i read I thi characte wasn' lead-i character i i checke t se i i i th firs o secon characte followin lead-i character I i wasn't i i sen ou t th primar lis devic normally I th lea characte i bein store an th fla i set i mean th curren characte i th firs characte fole another ;character if you use the ;" ` " often in your text jnz ncheck ;no, so next check sta lead ;yes, so store temporarily mvi a,1 ;get a 1 in accumulator sta fl ;set fl flag ret ;get another character ;without printing ncheck: cpi '~' ;is it a code character? ;you may substitute another ;character if you use the ;" ~ " often in your text jnz hcheck ;nenc manuals) Luckily th autho wa abl t fin complet manua fo WordSta 3.0 A an rate ther i a are withi WordStar labele MORPAT tha contain 12 empt byte an exist fo th sol purpos o use define sub-routines ANYCOD wil b installe i thi MORPAT area (B enlargin th siz o WS.COM eve mor are ca b mad availabl fo use supplie code Stand-b t us som o i i late article. Wher i th MORPAT area Fo thre WordSta versilowin th lea character Th fla i lowered an th characte processe t becom hal o th tota follow-o code The th las characte i read I to i checke t se i i i lead-i characte o i th firs o secon follow-o character I i i th secon follow-o character i i adde t th firs follow-o character an th resul sen t th lis devic (printer) I yo didn' understan mos o tha don' worr abou it Understandin i no requiremen fo ANA     char in seq mov b,a ;yes, so set char aside again mvi a,00h ;no, so place 00h in accumulator sta fl ;and lower the flag mov a,b ;char back in accumulator cpi 39h ;is code char a letter? jm nolet1 ;no, so never mind sui 07h ;yes, so make it a number nolet1: sui 30h ;now down it form ASCII rlc ;first char in code so rlc ;move 4 low bits to high rlc rlc ani 0f0h ;0 4 lower bits sta first ;store it ret ;go get second char code addsnd: mov b,a ;set 2nd ................ 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ - Now, from the "-" prompt type the following: -IANYCODE.HEX -R Now type: -d2bb (WS.COM 2.26 and 3.0 type -d2de) Yo shoul se somethin lik this (WS.CO 2.2 an 3. wil star a -d2de) 02BB FE 60 C2 23 01 .`.#. 02C0  article I fact th cod wa rea int th articl fro ANYCODE.AS usin WordStar' ^K command I ther ar error i assembly g bac an chec you typing I i di assembl withou error yo shoul b lef wit ANYCODE.ASM ANYCODE.HE an ANYCODE.PR o driv B D no us LOAD.CO an attemp t loa ANYCODE.HE int .CO file Thi i no necessar an woul serv n usefu purpose. INSTALLATION: Very ver simple Althoug havin al thes file presen isn' sion 3.0 Version 3.30 -d2de -d2de -d2bb Yo shoul se somethin lik th followin provide you WS.CO ha no bee previousl modifie b anothe add-o program I ther i anythin beside zero i thi area ABORT! You WordSta ha alread bee modifie b someone Continuin wil overwrit th cod i thi area 02BB 00 00 00 00 00 ..... (WS.COM 2.26 and 3.0 will start at 02DE) 02C0 00 00 00 00 00 00 00 00 00 00 00 code char aside mvi a,00 ;0 the accumulator lxi h,lead ;get lead addr pointer in hl mov m,a ;0 out the lead inx h ;up the hl mov m,a ;also 0 the flag mov a,b ;get char back cpi 39h ;was 2nd code char a letter? jm nolet2 ;so so skip it sui 07h ;yes so make it a number nolet2: sui 30h ;now down either from ASCII lxi h,first ;point to first code char addr mov b,m ;move actual char to b add b ;add a to b (result in a) pout: mvi c,5 ;print full code char mov e,a call 5 ret ;back 32 92 01 3E 01 32 93 01 C9 FE 7E C2 35 01 32 92 2..>.2....~.5.2. 02D0 01 3E 01 32 93 01 3E 1B C3 8B 01 47 3A 92 01 FE .>.2..>....G:... 02E 6 7 C 4 0 4 3 9 0 F 7 7 C 4 0 C `x.L.G:...~x.L.. 02F0 8B 01 47 3A 93 01 fE 00 78 CA 70 01 47 3E 00 32 ..G:....x.p.G>.2 0300 93 01 78 FE 39 FA 64 01 D6 07 D6 30 07 07 07 07 ..X.9.D....0.... 031 E F 3 9 0 C 4 3 0 2 9 0 7 2 7 7 ..2...G>.!..w#wx 0320 FE 39 FA 81 01 D6 07 D6 30 21 94 01 46 80 C3 8B .9......0!..F... 0330 01 0e 05 5F CD  necessary plac WS.COM WSMSGS.OVR WSOVLY1.OVR MAILMRGE.OV (MRGEPRIN.OVR) DDT.CO an ANYCODE.HE o SYSGEN' dis i driv . (Singl densit user' leav th thre .OV program of fo no an ad the afte th installatio o ANYCOD an th deletio o DDT.CO an ANYCODE.HEX (Remembe ANYCODE.HE wa generate durin th assembl o ANYCODE.ASM) Whe yo hav performe thi task ente th following: Version 2.26 Version 3.0 Version 3.30 A>DDT WS00 00 00 00 00 ................ 02D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 for next real char ; lead ds 1 ;space for lead code fl ds 1 ;flag space first ds 1 ;store first code while ;waiting for 2nd to pro- ;cess. end Havin entere ANYCODE.AS above i mus b assembled Plac you CP/ syste dis i driv an th dis containin ANYCODE.AS i driv B Ente th followin comman lin fro th A prompt: A>ASM ANYCODE.BBB I ther ar n errors anothe ste complete Th autho ha successfull assemble thi cod exactl a i appear i thi.COM A>DDT WS.COM A>DDT WS.COM You should see: A>DDT WS.COM A>DDT WS.COM A>DDT WS.COM DDT Vers 2.2 DDT Vers 2.2 DDT Vers 2.2 NEXT PC NEXT PC NEXT PC 400 010 3F00 0100 4600 0100 - - - Th MORPAT are mus b clear So fro th "- promp typ th following: Version 2.26 Ver  05 00 C9 00 00 00 00 00 00 00 00 ................ 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ - Th cod fo ANYCOD no reside i th MORPAT are previousl occupied by all those 00's. Th las modificatio insid WS.CO i t alte th printe drive t jum t ou sub-routin rathe tha simpl sen eac characte directl [ң@{\ЎLtXڢYHWlR}gǾ14VTFCG)Fi\bfZ{uTa̶i *=FWě`m:>}:i~xh* [yi1!ÐDŽpȋ|igO+T!a68&,{Ѿot!% xk`'+YHmqjM{βT8u?+1FHf[HvC50;B\Q NiYU=pRz̥(3M {3[:<@]PWcYH(loj vjF+`ܚfTI`{h-UpD׆Y :-˜wd0E^HL#[I>uh 68&8ZӞ= cyp?@ABCDEFGHIJKLt th primar lis device W d thi b overwritin th assembl languag startin a th addres correspondin t you versio o WS.COM. Version 2.26 Version 3.0 Version 3.30 -a71d -a71d -a71c 071D call 2de 071D call 2de 071C call 2bb 0720 jmp 723 0720 jmp 723 071f jmp 722 0723 0723 0722 -  utˣ`1ѫ,('pLp;`nU /PQwK12{`'VipTSQق7V:pLp'.6)*^X[eQv \$qU(vb;m00pE:؟U 49t v5COPY2WS.COM 2 !"#$%&'()*+,-./01234r~48~54`01script " ******************************************************************* Doug Hurst Hi-Desert Osborne Group (HOGS) 6808 Estrella Ave. 29 Palms, CA 92277 (619) 367-1090 (evenings) MNOPQRSoS6 VODTUVWXYZ[\]^ZX勗/.O"/2n1;323\50 yq'x4>/"?KjrMu 8&,6X;zHj'cfsL7J4Bk.XiCcvnR".ÿ&6$Les ضI.![q  St^ݭ`'ЎA=| jNiY7DpNuc.[ =ھdڐp]Z-qӍңѐ or -^C Then type A>save XX WS.COM (Wher X i 63 fo versio 2.26 62 fo versio 3.0 an 69 fo versio 3.30) That' it Yo ma no eras ANYCODE.HE an DDT.CO fro th dis containin th WS.CO yo jus modified (Singl densit user' shoul PI WSMSGS.OVR WSOVLY1.OV an MAILMRGE.OV (MRGEPRIN.OVR bac ont th dis containin th modifie WS.COA     567"&64H89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`.>:*7 G<abcdefghijklmnopqrstuvwxyz{|}~P/?EO9'~oF5q,+Ú tQ ޞg6 z "M_uF̅m/{mw\A!h5Xz \y5|tʨIM6wQSI)'He ޞRfX5ɣ#Eo,6)\%K/ nj%4j% +k|K9v6(] vF*cѬX ݦa@ͣK%R;j,M0Rb45#*# -VfֻDSM3{ yQ/[4n:4) +aurS3aI!kxo 4'7bP4^4ej9j*-8rxm{ .G ՠLJ=Y _Oޞ%KҲ.je!iScToP ->F"}V=ۧ2/+7#]T%P`ϮjC\׌,[OdlT#v*ᚭ\:Q,~^K+\3%aqB;y,rpBEcFf+!N#v_%B4[vj{X vUA]+^ff횭̨iudĵ% vOvҖ] xxw^p" kiZ o ,kxқp8rP&U ')w^4uM2+n[v ^P kBZnhV_jɎ9zMך+Z-p210GPkiVOnڍ?=vLj8X֗'Z%N7̱P՜0]KF5]KfϧF[OaqJ\F5WM/em+ST; emoJyWr;- ׷(.OphU9t-͖ V~fOwP0YBABڧ;`~M fe' svrX@vӵ:d1nJS4um2u|Ya/eaV-a~ܿZ|ͬb/eeV-a~`_|ϴ112&/f61KN~)S?|LΕAA*S,?>[0?2Z<{E?Rj``90yfo23f}~ yL1X38*=Z\*39nM)Otw.}Rى7w~]'/Ts J.P%sKAO(8PYB!)r2;EZSyX`X:}P5brVՀM ʨAW:t>[#d?'@,Җz吨pQʚ `be6;}ݔϟLJkꐞ:DDO x/;$Oi~Rc~9!y KDI4v), #WawH K > x/_!., F&<6VOh&/ngPu0fub8>|ydS?Vfݡ[fK ҷLɿ4*-315k@| 4*-K4*:kB8&6Yy@垓INKA.p˯lWKd*:֠gW%_qCs3+Xݍۄ}W}۬șQu({`xo:J(71 CX٘ȡXf73g1C71YYZŇoh=5,[ZOkyڭg'ZjN͡kMf1nE:=+)MŦW,eG6J~ٰXPе4Gb]\mloMIe7.xf澝ƴS ε<3 3V50mygd-)f3֖`Ov@V|#^f29ǵ_7#Z橽㛙\_G{=qo /6>wEwM*KK9L[=a~֤xiTZajVf58J4V"xof[4ߥ{e]v.Ě2a>wM19?jM38i&+.XAHx7oݶQ~''3fpӔ'DVh<ǣ'oo=(^ntQWMX#c`'x!bo^f́! sQM<9(xaA qq@>i`7MW=&QK7oķM7u͚- Yq5_#V1Yy÷؟hh} qb&p#l Gl)>JT uTY˱f*`։`u^eU4,)_Urjg9l(M~tr 6]\^UΛyL*3T=BɑG#ő9 <#p   ih)4˚B0|rc%] ! `w\w%[>QRC'dw]9\cF1$;Ya%7,<ūm F2ԕ@ޟl4աf1noebc3b:v ΄ZF[nٽl]KHZ ۋ\Q,o䒷)qȍjnV-k93V5g%EqT&!=U&& sZeoyZ XU ^xSo -)MTlk. VG%Oh&[~kIpUN)jh h:Hcmz̶Gk@ :8>8ć,pkF0)Q+hD#F˪j@&"=.8}kKKS mA!:F0+hv2j>SǓVs>}NHz>SzSy)Mt0-@Vd 3\nS'7C &"JkR%+ͮ:eBqe\Ҡ)G랂|S9r5Iw21.QyNۍB +d+<Ш1)IlKQ3Ӯ<:NDx z*-3sUP]:p55]TfP;:T4Zv7'.6)*^X[eQv \$qU(vb;m00pE:؟U 49t Εw(?o9lЌBL?,Fµ)30ET!t`Z+Ld` ̔@!L,۞d7V:E"@9#O@e~#1$P5_&<<؈'P>]~ė -x釧7߿/:;O_bk?5LwygN:n <}ʲw'˛?GSy`V@<K+`D6ҿλ GVCt}BMTrV@V]Y*z;:%fuĕw66͹f&1K S˕wCl'v 0bz]߫;LWX'v 6,W;PY+cX0I$6Q-%*ޡkf Q/.>Tޡ|hg+0-thm6XvbjaCsI V؁CFWF؁2II @ЀګLiM<3]a4BE ZZn Եh-{m&l Ybme]Wse) peA[#ZhE#- [(7L׵myl`X]1m86\;PkkgBnAǭfMB1\I<\I5A_@#˳ rxg,g :(zl`ݶPB#*  n (z(b•h~lG#8R+A-7QU5 8@>z+u%U9~ jE.OxPB#Gٺ6pz@4pe* (_G~t>ePK|`0nwj9zy%$mW'hݓ@/P6ECiJY VynM͈cs:'q׭uO(0Fs>yHLJ7sNRaԨ[E3"]>RȡϨ;OnM<ׄ5aE`۠!1)ޜ=Ak$ɲ5sMXG&|'f"HFHnF}$ԉ>c ubԈډ툃XGَ8um\vF:Z䭪[o'dSykDS< 4/{k@1C^yx)a4bd.F^_ 00peB6&ϳgaBIH]V%Pw \V-t>hրVkKQ^c3p2%+.2@|6]n{- pVbZ*a!nm r 5+Ұ·h0]4j^bҸ7QAm x_`_ Ml`rn^ĸ]:E~;Xi~O~7Xis>8Ƹa4 lӔ MlkMm2YM(gl# Qv*)P EtP "@0WM pu>j \jۡiCt4P!q u6Եqj/96XX&ۉͽ+N@-th53 ޏOmC1S\aV@|pIw(7H2;P%y1w(7LlJ\3p;-̔;Y+53C٦kV\'(ä̔D!1IfHҩ$bcUvޡ>3]a½ͦ½53Cy%*lCb\\`9LB$ʹ;P^/Hқi3C k/JI͹f&1 ޏ/fϸq9njzLIpd59h\,o0C ޡ|ND.&Q)"j6H c/#A$⅊5Խw6ޡ 2L!pZ *6Cy}3j9h\,o0C w;P[y`{C *`Ô ,PĆ:{J3%}4* w0 $R@#*l'j&Y = zl'zw(k|z "6wY7AfJX̺+aWh58v| tmKenJŸD"*s tOO:ǀ!:Ӭ<ņ zi g݅mP%+.4 :ڷ)!z!׊ay^9@_+u'A$i ]zi nzCԡp=:b@WC!&ba]ѷ]rY`=.m@Ktw@WnuOMs,V鮂* 6kWO ;Df]/ǧCuuWyMQ z㰂+ k$X=y VWW@YSjXS6f(#v \?@ABCDEFGHIJKLMNOPQRSTU(ݮ˄1λ 4G>dp Vǃl`(m7O9NIĐsOAzh h5ȀyF#X?XD}UZt'(?;cd+ȕu趱]ߺԢR)Y`)~nGpϢvy{Arh,y[ݚ,-wƺ\^:r+udiעW3V<k6׾"Uq¶&'$MkG>܄>c'x9k>RȡHDɇ0j3,ywv.D>l2:S&;̀7Zx\3n=瓼nMxB7Z̞I^w8<-xxB7Z̞I^&<5,Y#&̞Iݤtz3KH!QnA     VCV 1.)@|LiCٿ#Ei.CY{i'˛Fz j+P(i'mjߊ!!w2FZbl+PvQFz j+P_r^4O7`Vޡ5q}VޡY Ei'mw(sہ+P%{̟;Pf|Գ]]-ҏmw({&Ei'˛Y񼭼C (&h,w(?_R_l9h,ofu;Hқi3C ^~xrhUqzP^Y񼭼Cy!ϱ\aV@Cy$հmVAT!\2Zi%*ޡ<Y = 5:y[yxd59h\,w(GVCQr[y8C c¬x]yHm)fy򉤫SIw25Ad^  ENSOFT OBJENSOFT DOCA*͚ !9!}2!}2! ͊ !lt ! ͊ !t ! ͊ ! ͊ !|ʼ!t !9" !9!"*!|ʐü!t !9t !t ! ͊ ! ͊ S! ͊ !t !9" !9!"*!|! ͊ !ǹu9hZ/3WvCxZ[k^ioAi‹bݜg_\pޜe G2sH~.y}<ȔX 1PKL搫ݹ% Hq~4MeF_FzoH}Ĥ~n#^IXKpP?< eF/{$,Nѹۆn(o~y 7& K>{ͱoK~[,՝d^\ftO5VV=Z[k;Jq{VlN >m旡/=@Fww(ႇg?@ACBEDGFKIHJLMoSNOQPTRUVS6 YZX^\]W[ODVt !9t !t !9* Ͳ!D|T!9ͪ8*t *͟ *͟ !"9ENSOFT version 1.0:Converts text files to Wordstar document format.Input file's name? rCan't open '' for input.Output file's name? wCan't open '' for output. The disk directory is probably full.!9ͪ! | :ͥ|b!9ͪ!9* Ͳ!9ͪ! |ʗ! *t !9ͪ! !9ͪ!D͸|! *t ! !͸*t ! *t !}2!9X_ixJM!֥ Y"_ڝJ3{~KtC3%OPKL҄C]J.2#=KDMxW ?ܪ43pgs=<ݕEݐrؐG҄{s+kXnH5d}ݥ|ps[{eo[t|"4iB?6[xVXyܷm̓'K Z[k6v`"V+x1RLן*u2 wp s ^]٪>r$/ojB 4~9 4ϭ8.wؓ{ %o1a7[TSwi {VVuZXic&ʴFj2+}-VX̓Tdz˰? ׺Zˆ#aENceݖyCMf MhFVm4Hn% NE؋\sC Kc)Q؊Bf$[VUL|{>gPs-BS,~nE28FL5qO3axd{%&#i xVs:Gxo#`g+x1RLן*u2 wp s ^]٪>r$/ojB 4~9 4ϭ8.wؓ{ %o1a7[TSwi {VVu w',@Hd9)y/ˆ Vp%ew];5%~lUɐ²ifsnݮgCKC^Aŕ@2Jé:  8Ó!9ͪ! |_:ͥ|9!}2!9ͪ:ͥ|L!9ͪ!9ͪ!͸Ó!9ͪ!D|}!Ó!}2!}2!9ͪ!<2~og~#fo}}|}o|g}o|g}o|g++++++{_z!ɳ7++++z${!||g}o))7{ozgI#|/g}/oDM!y[xGyOȯ{_zWUDMzzx>)ʝ}o{_zW=ʦÆͱͱz/W{/_x/Gy/O{_zW{z+++:_å!Gsses about which returns and spaces it should make 'soft'. For instance, if there are multiple spaces between words, it leaves the first one after the word 'hard', and 'softens' the others up to the beginning of the next word. The program is written in Ron Cain's Small-C, so if you have a C compiler you should be able to modify the program to your heart's content. A good test is to run this documentation file through the program, and then reform it to 80 columns.#" !*ͬ | !"*3 !"**:\ @ _ _ :& .{ .{ &.ͳ ! 6}ʞ .ʞ ʞ aڗ {җ -{ .ʭ ʭ Þ .³ }ʿ |-ó } "!~ !*$"^#V"*~#; !*ͬ |$ !*s#r*"*^#Vr+s*#* s#r*~p *!~w!o&͡ | } š ! ͡ | !""$"^#V"*~# !*ͬ | !*s#r*"*ext to a different column width without a lot of pain. Not especially important, you might say, but try it some time with a file that has 'hard' carriage returns at the end of each line! Operation: The program is very simple to use. Run the program by typing "ENSOFT". Answer the "Input file's name?" question by typing the name of the original text file you want to convert. Then answer the "Output file's name?" question by typing the name you want to use for the new docu>!6!6!||g}o))7{ozgI/g}/oDM!y[xGyOȯ{_zWUDMzzx>)ʝ}o{_zW=ʦÆͱͱz/W{/_x/Gy/O{_zW{z+++:_å!G>!6!6!||g}o))7{ozgI/g}/oDM!y[xGyOȯ{_zWUDMzzx>)ʝ}ozW=ʦÆͱͱz/W{/_x/Gy/O{_zW{z+++:_å!G If everything works, you should get good-looking text without any garbage characters or strange looking paragraphs. Possible bugs: I've only used this program on my own Wordstar-produced files and some public domain documentation files. I don't know how well it will stand up if you run weird files through it (e.g. 100 carriage returns in a row, strange embedded control characters, etc.). If by mistake you process a file that's already in document f^#Vr+s*#* s#r:*w&o"+V6+^6O *+^#6s#r# *o&e ! s  ~ʉ ^#x ": ¦  *&""*n& *$*M*ͥ"*| ! !}  ENSOFT A program to convert text files to Wordstar 'document' format by Gordon ment file. By the way, if you want to go the other way (document file to text file), an easy way is to "PIP TEXT.FIL=DOCUMENT.FIL[Z]" (the 'Z' option turns off the high bit in each byte in the document file). How it works: Wordstar represents 'soft' carriage returns and spaces (i.e. those that can appear or disappear when you reform a paragraph) by turning on the highest bit of the appropriate return or space code. ENSOFT makes some educated gue>!6!6!||g}o))7{gI/g}/oDM!y[xGyOȯ{_zWUDMzzx>)ʝ}ozW=ʦÆͱͱz/W{/_x/Gy/O{_z"""|$"** s#r**? *n& *~r RD *4 *!*s#rÛ *~wR W **t *!*s#r*!>wÛ *!*"!"*!~ !*t *$"*^#V"*"**z  { *6Brandly R.R. 2 Fort Saskatchewan, Alberta, CANADA T8L 2N8 Introduction: Wordstar owners, have you ever wanted to improve on someone's dismal .DOC file? Have you ever printed a Wordstar file to disk, stripped off the high bits, then lost the original document file? Both these things happen to me occasionally, so I wrote this program to convert a regular CP/M text file to Wordstar's 'document' mode. This allows me to reform the tA     ormat the program won't mess it up too badly. The original file is left alone, so you can always recover if things don't work out right. :{ߦ&3^F S}pEзJs#M:{|^η?|%lo~:3+F7>H!a*Be`?9lJ<΄(5 uR<4ȷS7ggdb?uʹL) 6hHDWV{J|%pE5F2:8].v =8'gL/YgӶWG.Zx(=T/1j;{5\aD(@3t1hb]YgMvP+ଳCZ~008b%t1Lu6}C,ZӃ:.YgZO.ZMk`ěBP\Q,u6|6? 7:{Pa+SA T mUOCJ]5"VJ|J`ҦaGgHp>`Z>FgM)ĺ=ANQ!SLj'S⬳)/9E!pW`;|12nsoΦ_9iCuR4t2:3S lHo; 'XgƚU·ڐ_gO)#=(2c, & T ֬/R>PFpH:{ܦ4lYi?@AB[#V#P 0Ph4:ҠmK<+o,7o} fԱ|@ٳ ) נmK*ə2:s67) 7:{h5hh[y)$LeuszL) +a|;Ό`Qk'_=J6L/) g m+^OoCDEFGHIJKLMNOPQRSTUVWXYZ[7X(kbBG K 2SpÂ=^M,ŗjeĺV)? ܙ&aĺV)~tfpk<&ֵJo ͩNMkGgÅ6Qwb_ jD1>Ez@HGg_ _bdL~t}B/Y{;i1{|~t Fzi0f`0i0f򣳷 Yk=#|6Þ4:}&Ht&ߡc&e/nitypߌΞ >eYa+wg 5/1L39a gM=^M,ŗjeĺV):JBA3jegMoCsW*XOΦX*  oiytߦ4< }P{pH#H0Mo *ٔoτk eu;nRc5FgOm0FzpD ?#pMiSK`b@ J6L/nbm#lJCpe^c.6lXiP+/:[l暄aHox'-\y}dR(d#Tv+\ W1j @ *XO) U"!.T謳x8kMPt>wXgFB!e2+#2:p>Ooi5_ 7Yguvs64酟ڶQcet%ЋmgM}\$L7XS^kzp6vs6N_ĺV)Φei0f鯞;ͦ04>=8l:>N_; FL5:S)h,L5yhgMC=T2<5lS&탶nt6 ڶ$żmKR̋MYgHp3iŝk&p0RƝk&sM\NLWW6a\i؁+Bga rYgSJ7q-vn6=0ܚ 5l _9t1x|oߖُ/:~[l暄aHox'-֬շ2:묳qzKÞh֬y@;1et=?O5 +sczvXgDG]jO謳ݿ|%|?tx_wXg`*_J] _SXFg䬳)O^)P;i1{|e^+bwYgZ#=p!O)*;S22uZCoduvH6Jl|xStypLvǧR0}t|y3=oǟ_χߞFg?Ygӯp0k&דּCJg 5/1LszpE=!v=o5i0fC2`zp0w<ޛ^wghtvHqEZ@VBBp9uRYgS:^6k&њiP9s0NLӃΦty^qW0:l: 2(#"8i*pE8^ b́ ~8R:>N_o7ӗ?9lJ7q; FL\4]3ygM3j=!'Wfqy&*'\dfM)xgfoWeڠuR>uvHx6W0:l OC adW _u6dzF֬ՆuYguux $OXWړvL\9F=Φ1<՞<&gTzG@EZ~7:RHwP)X 2+*謳?_·^R)Ǔ֬շ2:lJ:{|xokkVleBAkb ٔp59Cۖ4|:R@R;pE(k!ٔp(+c؁+B=PsbM) "d#ÞrI#X6_2:Φ__ݿM9; FL5:lzѺʹ)h uF\4]3)m~pٔvz6 p"QWGj5FCbmDƧgMJW$QGzpٔNqF6_p)9?6 r6tPg .;ljw+! <#=4wP.YgonnfT2Lf}o)C axjD4:{qn6fR9WO (`ÙFgχnnfj>h[ g=mfR9-I1/`ÙFgvn6f!0mIyML:)28fOpl7X*Ϊ;pEbjp!ݼΛqt>w|L7~x8p8vn6A     6`h.F6/ryyO'H߼SGbdL^)xh Y*)%0l;. ?|LT sR)%, J$M ` |%謳mz7kd#twd#_Rf#=^xuvM?h* a/FAml2:}^6/ۛfO'Hl;.?͞Mg@$2:e'ASi;JGW#SǠbV[ m0Fetv9ݾD~KK yt1ԈZ m+#~Nbgmeءՠ}ж0t!Xc9!vCJ @AmeO謳vt"Ͷ2j>h[yBv9ݢVCJ BTЅXeO쟜ݾmޓ TXTTOWS COM 2 TXTTOWS MQCTXTTOWS DQC*WILDEX REL81 ---------------------------------------- | TXT-TO-WS version 1.10 (c) 1984 ESKAY | | Converts text files to WordStar format | | Released to Public Domain | ---------------------------------------- "\ͤ(" | No f Michael Bate BOSKUG If you find any inaccuracies, please leave me a message on the BOSKUG board, 617-232-0919.e approximations of theformatted output. They do not utilize individual printer characteristics.For instance, they do not dovPFRUN.HLPB  !"#$%&'()*+,-./012o3456789:;<=> 0E3wbun5b|#N 3&Q'j> xiunWaF7Fg^tn@L8qI4p2g:a4xc cq~$ԫ?z#IYq:$)6Nk 1ĀǻfB1z&Cg<[c5Enbu=B\J}.Bс'55V NhC NMԳ##x!/~[MsG³ӁVܑ^b'#0j)$ֹuF3֛fxn"XA36uv=ؠ>0 n(ME=ckٚRh<>H`ٚRzD1İC u&)dr$MlDiSQ 'pE8n MkQGgUN"t1x58nel;\>\yxx}SǨ5F?,7%52"#.-53fm&a],Fgҵ"(@52z&b02:po= 4y;bYgχ۷{i*5+Yg> JOT<kd6a*h* 0W<:R0P C-et9^Ӊ/aatvl<42u ]Rٔ-Ӳϫoi/^·5%A6Bn|_y[m<,^Ώ-%A6B~G6B+Hj>h[etuOl0l<kpl;RGt&xF6BlJ ;i\h'THaTُǏϽxJS6BO@a.4Y쟜M)'TH.F6ile found  z ""*."0*" Now processing ) (%-- unable to open, skipping -- "(.-- fatal error - unable to create file --Bͫ:(0< <L* +" |( *** END OF EXECUTION *** *"22[!"͌0ͫ(2!4[*R *[~ (# ():<2 (82~ 2#| } ɯO2 ++˾##:(8  :(*"[!"͌ Ͷ(.-- fatal error - disk/directory full -- !5 ?@ACULR(3N&c&#fB1z&!bb3ʌIpPf̢I1XULR(3N&c&ya!ݹuF0ʌI1\ULR(3fQ$b3I8LМ0LR(3e4oݑM,SJ0ZyF6N#m޾.$v1*/u}$GB4"/N\fM9 x!4Q$ƞ)@x]4/΃8gqa&)g5LR(3N&c&AvnH'qA9P&6Lb㫦60ưC|YԳu>&6A13x*tưr; _YeG/$hbGqSZ1PgB1z&A @hbc4LR(3N&c&Yc!x`P[LR(3N&c&COxj> D1Āǻ PF.HLP and PFRUN.HLP are ZCPR3-style help files for the original (previously bundled with Kaypro) Perfect Formatter, which is part of Perfect Writer. PF.HLP gives quick reference to all the document formatting commands. It is not intended to replace the user's manual. PFRUN.HLP, which is referred to by PF.HLP, tells how to run Perfect Formatter and Perfect Printer without using the menu system supplied with them. These help files are probably mainly of interest to hard disk owners. oL>yhQ/QLp-:w]ϸRh\cw '!M}"ϰέ3 !O6~[k1ldrbQK!!颙ZH<{7`fzaS xqF*(kQi6M}"ϰέ3D=퇮wZoZ M^ֹuFс0j)$yջ^b/N`kB_TOyBrpS :lPH掄az\OC 1PgBQL&Lƞ .:bE/ gwfB1z&9dC ZߠLFIYE:oc a/謃R#4)a!MOY͌͌͌Is!O$͔`# P# O͌ʩ>ɯ͌͌͌~#%  K  JYk' Gf'U,ʴ9GiS' *1.NU.tR JZc. ~±޽|o_ |۟TrN LQPa]^/* ]YkTz* Ry*q菵I*08Rgv TXTTOWS.DOCK  !"#$%&'()*+,-./0123456789:;<=>?@ABG%qh\aĘ.C`*.=\Bx4<9eͷ_r{j4kgģLU6`]q eoWâi^sԬC쬇,/nDS=DבETg7z%y@ist CPy욕A䱳5A4@nZ^P}N{,Ts\5gs*JK9@ ݴ)=iS \yZs6VwӚئ5/ls<9 x6o<taSfbPyLؚE6.2g gGG`s,uqC1*-H'G*(3(TsOΘFlUPf:Zq*׶ dG* GO> x?>.x?x? xxxx x x>^x@xO*. H͝W;HͳW;r# x¾H  H|}~# x ~+ x *(}&$.*vЇTXTTOWS.MACT  !CDEFGoHIJp^+/ =[IT[\S>\?JZy1OJ"HL:XSw APrGL~GXzD؈<^[kMV^\8ܠʋy' a'! "Y%sCx=lQu4q0!ޥpʒ([r |(z(nQY""pk7$mFu%'GI, R7bГD,UFU=l% z'o%9lOǫ׏(}z\㒿_ݽD$1-=woL> O2 H\ۄ]pA$bՇ˷o\^{ z4nC#+UKιɧ{2ۃʦ2yȣ͵PUPf7zTP\?Ꭿ~*e w7/W/_]}_͵:^yW|w?'o7̟*e w_"A8&:9&9C]-RVp),4N4 atϟ*e w|W)WPl[ .riٜ cw}]H\`JsTP.==̡{ %8TpX{d* ]Ik^KZ{Ty 9%t~VC%lq%8j*=eJ F*KvWQEU6z<.JL%$oݫV:!xTT #T`*q c7yn_«l4z4MkRׅj<9)Ř*  ȃQ䱋ivᰯ PJ 2< ?+Kpm_JOŝ0zB* P^7#?@ABCDEFGHIoJKLMNOPQRS7//_}_|+~5F|{}{TTU6٥ K"*'w=D΃c_'J:!Leh e4]:pC-hl!r\{N RU6n/4boC-mڵʦ2.]8!b. J B~Nu8<4t0ѣ +^{8&N~gGʦO o51I%asTP!UpXҽ J F*8͹&2 㫫zTkGM-ݟP 2AӚ91"#u1"̫;O՝5gs* Pw^!½{ˤ f*(Y4ՅT@jZc. J B~."gg=LC'BuW^ RyJZ{ׅT@.*HRJ J F*+e w߿O'ﯾ*zTkGMe<8.Ӛ91l*yMX5O)U A     G%m{8cQwg=ƨ u&DZm o3NgH+6hE/J.=o㩇'MipP5F]6ld?P%v ANYCODE.DOC  ! #"%$'&()+*-,/.0214357698:; =<>@?AB orCEDGF IHKJLMNOQPSQSRUTVWXZY[\]_^a`bdcegfhij kl:nmopqsr2tuwvxy{z~|}OE'NVM)]۽䁋wopv= //l/5J!WF݋D}[@vKv{KK\p݇w1 lN4G%\>K {+ye~ydD}oQ 4ڮŽ.:5Q}n9o /|^F>rfUWW+#AeUmqQjiv/..y_j8ۅ$ܵ]aKƦc 9Ip֣{qqA6yM4s0Sr]K((7^).$&b:`"o*Cj4)qL}ds+vܫ=AyMm1զ^_5Qo.Mr خa0z(ٍbv5OֆrI>Gfn_\S@ASck~mïw6—K~yu g4}zM,F\_JP̬K?3NןD!  TryO=5nFVpC 4xOE=8XT8iFH0x ,!8%WO ǖx7q uqF(ShxKCJBb Jw:ahxB:p#a$1^-+HG@p䔓L x=61\,uػ݂ǢJ{)!J|=ǂ~7ėFWcg7@1v^Z8EUD^ <" EoX -":J8JoEU7d 1r]|+9 mH/{z%{I@{vC|3ϱ+^-cdxny%h%g7 wE+9 o=!E>~Vz ~{<)~w&U{<30s^JcC mc ikANYCODE AQMKmANYCODE DQCjxs2 }L*LW¹n6XKv(ANYCODE.ASMK  !"#$%(&')+*-,/.0o3215467:89;<=>?@BCEADIGFHJEka5OWZ#hj+Be#lPxzE;|1j=.?Y-}l[YM+ǞtqnӠnjeiYmt^\i"ϭYm.%_싼).$8Kvqe`ɔmA8p{qq/ŽD,Ym7$&jy1DET\v/..yHY}hS"8Gf>Rl s.ND4ݸ>g"Ȧ&ͥiR{۵9 FE7q}!X N6V՚'kÃWq/ǞtH*Ǟ}n%c{qq^|qaO]}[jd쀋ɘRȶpGk{>EhG*]۽8㳶q[m_-g0m}bmpqBM%nKj+ñyː+M(V=ؼpʱ'#3V=s4J%n9&BA9osvXm\{^r :s0 H),,Ymqp.6SV etDU@DES@ ,d3iH8$͡*3iH-U<T:C0,`0 hDUSb*ȸBDOSetDU7iOϽ=VxNfO(`X[<=#XPu nO-dz^k S\|Xۭ=\ǟ \-~z` `H^88Np >2޵No4;@I5JS7M6=sዓ K2n T羷D9!}oYM "&DBsŸ.zp IkIye8T!W6+#C}d{w~ݻ+t=oy!Rem1~di=:sjIy]DMm"{!ܹG{2RA).$&4RT\vb\^K7e'd֣ۘ&+|Ӡzqq:s0 H),,Ymqp.6!  oQuJ ;yyx`O4t3M 4}_XT^AgYa:8٩O2B =j<zUBZq{V:8Uu .NL-4-3INjcHg`#D߳tZrZL?S|&UE7gi{n?f{=Wr^n}Uco۱FqR(L00K^76cI{!>/$n E /lm9˟|}kHN 18y{QJkP^gΏGΞgf <;MhsQ#goA5, b9 =kəy-h/=ۊUn,S3f_{|퇝!}^r-س^x '+҂.Ǥ!ߐ>F-EIy=l_TѺ{3?MG^-ۀFZ8Tl#KPgQ&xw/<}QvJg3lm9_댥ǢGRz^ X.rs\R7S))=v6p"fz:Ա~9ߘ]{H݂Ǣh<#g}ig^c̗~# a^Yxm!>BX:^Ti9&وkZiv$Zrf\,<왁4L-< `k{r4R?>?^YxZx_*잧!=fO K[y5Qf\b鐶|Tc<~+:{vC|/!=[gy왢3ϐ~إ@~/{#ggWr_ r3UE׳ i/%>^gh$vEy$ƞuJr-+EtrH|7`ϐ {K]bn/ZRCzG.G^.|;3: 9x1,IcQeBGi1=[yZ%< ;I_ۢ*%Cz̼)qDBmHEtp<Pf~؅\T[y #nϷXa5!8f lKH^`Ji /9hi8{HiRDBϐK4KX<9L-Ԃo%ONK>9ǰ{ZB‰!=Pl*rlm]y{p\>cJ9v1-h^hi  `k{f*SS׈1}ETczJqҲ"/{v6KrXn\1-'?g ΋TlK߀J=~̼y+̗gor=.cQG.{cZK9/+絠J[z&pacQiCz,A{7i-~ PZHX7lYT]mMr_r/#=#Hc<-oA#/t_T8v%| c@i\ߐѳȱ4gHy /?J!}^rnČSYƯ=rƞm~,g`֩=r|;RE-Ǵ\ؑgRH P^ggHorBz\>K4b);^8U@-%-&}±Yo}v 6kEurѭ3H|=-:rć|TczcK4_ygHD+&'  `k{r&f*S~IʔC^gHa3mߘc·m=!fy^D:q3rC 'CG ZJ ɽ7pҽ/%a1*7tZ87Ǵ@|K9kNi~؅o2jqɧʔ ] 1ls-7l# XC'nLu`qk}k?|}3Řzcx|󒻩~,t/S@y_ ]نo2) >˝-x3]qu9.w6bea7ZD.N8*stczҖݐl+AzC*Ͷ-4PZ@)]BH\>kp cHbo2IqT\2%\@QI怔EUx|\r樸Б3=\Ά| ]$~VY\NJg3A坩Tfa4pɱ />!DEr챇pKroHE>۰{n"lm]oA!=v6p"PmA/Jݳ ʃ7^'ycؽԱaBrHrs\R>s!zY~ ܻ<}-o/ߙ9sQ %`C*X^Yx2Yf[#F7SZ)rS[8{Hpb7ׂcGgQL!9잖c>zCzyHy<ۤ?v)9NigQpM>@r͟1lkND;~y[818,xUE:y>h~,9SسM76r] K޳b<;xZ 鱾қlm]~RܗcQ哟<v-xn`.|3|fJ'MJ-4r/r- `k{r37\y 18#g~f<_ۢ<ӔB]mMǀrgf*S1r%e?1y|FgHk{`{. (-$G^BJbY5e\nȇT| `k{y艙Vi9Le(Kd*S1uQn@ɇoϛ[xYwZFZKn7!/o&2ektX[DXVFi 8SsX9r\ӡo2ecm!=&fJ\Kx;oc'x{f4vC|Qe^7 ~gVF5!>\Wg^ȥ-{ Er7 4^aO7PZH_Tc ~1cVtr w%W'Xxż3ol|*Cmg-9? f.bHG=ǀpbwyx3n*1yYx(-` )=r#KPgglm].ˏ!A     Pl.3w\}[~Etp,-"DXT!ma\J+y.%>ci4(.9(V/E9U 51[=CzzHmMǰ{K4L&bCn/d*Sur>iKKwQB,:R˅Cz ictP^ggϷ-<wC|Qu}ېkAf[#F!>rch<#g,nGb `k{I|N R.J|WZ81Ǣj-fwlm9_,͏ {R^3 (EcB'Le!Er, ^Xﷷf*S~FX_{#]cjg4ΏG:9Mo1~FX_{#]2)MLeh<k],33O#g ŠL!E.!E.!E.4S`[Zb. qtKk_̅9ni홲\kWj먗WN.֑e+:U ; )=v6p"fz:1-cswHJ (eJ[TX Wl~wW4f Z,AƋdq{aē9˙q= r01 uQ)2c[ӫ\#X~V@ыuCϟXfdh/"@;tu5#/z%(QZ̝.f^ƴC ej1wy dj1wҘåG ka畡$-SP(* f-HbB2i/7a4"C1Wni?#S oЅq:wv LJ P\_ uu T)(|!}(-` qc24ȽUPWk;r\RZ̝.f^ƴC L-N\RcJX c< %1n@P!nPWx0o q[bw˴ӓ@$S rs!zM+2x3)Ȅ78A]sZ F-Q2%`B\K7ր5b~3gd*_^z+-0iH_9na)O oE#poEe޲%SP Ƅ]G-÷TP y;|K-avyg x2LxLPPZy[2 DCif *ԕmW$1G-/7r 9A]De|咩r.L[r4"뷢q2md 1 [\qC>|cLALe o$Gung-9ɥ]LoiK1g[Tӂ~4CiKKn鱼iKG^B 'f[#F:cKqmH?_ 'Fi±~y1;<@&ʔuv=b|ǘT,Tʱ[I)mű#~A9N!,{u1f*SuTF]LUCS˟?T2uz2g389˟7SZ)=FiJϰ{H3󴈻K!Ha!mEU\lco{3$79;=E+9 oqPZ@-/ .3^R?v/uLKHXTӂ~Җf~+:9BI|=-Zr˞lm]4rY%tϢ%>=KO}%Cz,HgEn~> !mE\b>D =Bo%>#Tćr%>*mZ z%(?_ 'hG-͂o-]cZr3-!%Cz (ͼyoXxż8,XTr#KPlkwC|H{b3-س@r!=UB'Le^˵XCn/[s|Rt{aޚL\q圦 淘\q圦 淘TWi`~1LY?y|Zg NonǐN (rs@}vܞG\O|~m~,YTݿ͝a|y7/M\2;]73Bo5"u,SE-K]v Lbd>8taRP,uZ%3+pA] 0o q[iA(SP&C+<7#WLBݘ@C) uizˮnv2?);3ARi?-8-)|p}YTiѺb~i$Zr{HgQu 6f^c|"7{H݂;1r*Opb~,gm f7RrLJyZYg*u!>BX:lCBf\Z%'3y|c51ri]A^^XT?ߌ /9Oc1!(&v7>1r'sұ{GXT/)mK.oq ǧyZO7SN ̘N-"`&bLyHa .y/G3G/?쐊>o|k:O.Fπc~=rg~Xמ"^J3 鱨‡v#/ {HW'G->+r"9|kEB$>잖co-Yrs\b۳}XܳM y!>\R7 gHi!/| =Bo%>v~+:yz%(g7ćXi ar7r,!PZ@)7 1-B.E O'&>RwSK~ȥh!og%hE"61v/|o'K9>Cz\7ǴWa<} 4Xx$3%$gX[T1y+9 of*S]3#k` ,2r÷,S]b r67NZVWJYp/S]b ¤.BoYKgzW2%t\ aq޲şR0b~ӂ#]r-@P ޠ S+ƒ~KdҵKgzW2iPn?!ۙ)|p¤.BoYKgzWL- 4'y[v Gej%`BN[Wx0oARf/S%H{ ( 3f^7YLITxH{  Ϸ9na)h[2\fy-Ph뤙O2dnhPW uY|Rj3iPPWd 3A|B>Boyd9|p(s.-8nG^.#]rdtaj.!_'nPW~nFLAC&̅ꞇC*時ZH QTFLAC&̅d>8taRPWeK2A<)zܐ\"  պoL^ZWj]uպZWj]uպoL^n]uպZWj]uպZWj7Qjoo]uպZWj]uպZWj7QjZWj]uպZWj]uպoL4j]uպZWj]uպZW뾱2U{պZWj]uպZWj]u}ce $S?C*K$ ZdLX=#]2+4}W0Le |C L2)J99Mo%c}푳~VvCo2HWi`~LY?y|Zg Nonǐ6%c}3rAs7|퇝[EHͅw2UgVq{Wu2U^xrWYuZ/w<{Wf9^u]oN'wߗu7/5UrVUr1i/ /* ZODEM compiled under DeSmet-C running under Z-dos (MS-dos) for the Z100 by: Richard Bono WA1WMB 19 Commonwealth Avenue North Andover, Ma. 01845 ALL RIGHTS RESERVED November 1983 */ /* referenced: lmodem - little modem program from BYTE, November 1983, page 414 by Jack M. Wierda & Roderick W. Hart (original cmodem13.c) & David D. Clark (original lmodem.c) */ /**************************************************************************/ #incl3+mQ?Rt{~{+Le^tYڬy;)W3#{2'!>k~y鱼iKU-pbHc,xG/Xߗ"!J (!'xm3cEf*S. char ViewMode, BFlag, KbData, MoData, tflag, filtrlf; char AsciiFlg, ShowTrans, ShowRecv, View, Echo, funckey; char ansr, split, Recho; char Bufr[BUFSIZ]; /* receive & transmit buffer */ char Bufbuf[BUFSIZ]; /* buffer text mode buffer */ char FileName[65]; /* room for DOS vers 2 filenames */ char BFileName[65]; /* buffer file name */ int userfor; /* color that the user wants his text */ int userbak; /* color that the user wants his background */ int promptlin; int FdiauҤ4si,|2e5^<@UYMӲIi.Qʔ 3):wW4fb-ѩW<` O)+UX pfsioj ve*'kSYPZԼ3@R|a 'XT]Lon1` 'vCzyy^[81yE\n7?9TxHq\+e>>NON-PROFIT<<< PUBLIC DOMAIN *** R.J.Bono V 0.9 31-May-84 fixed problem with run external program option for DOS 2.0 R.J.Bono */ /**************************************************************************yw^T=Bһ .E˵"A     , tdelay, BFd; int lfcount; int charaddr, lineaddr; int ascbaud, baudot, figs; /* user's baudrate, baudot & figures flag */ int dosbaud; /* baudrate of DOS when entering ZODEM */ unsigned TxtPtr; main(argc,argv) int argc; char *argv[]; { int bad1, bad2; bad1 = bad2 = FALSE; userfor = CYAN; userbak = BLACK; if (argc > 1) { switch (*argv[1]) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': userfor = (*argv[1]ndprompt(); } printf("%cz", ESC); /* set back to power up defaults */ auxcnfg(dosbaud); /* restore DOS baud rate to it's default */ printf("\n\n\t*BREAK* exiting from ZODEM!\n\n"); exit(0); } /* end of ZODEM.C */ (); rev(); color(YELLOW, BLACK); printf(" ZODEM "); color(CYAN, BLACK); printf(" - a remote communications program. By: Rich Bono WA1WMB"); printf(" Vers. %1d.%1d \n", MAJREV, MINREV); nor(); delay(100); /* set up default values */ AsciiFlg = ShowRecv = ShowTrans = tflag = BFlag = View = filtrlf = FALSE; Recho = Echo = split = baudot = figs = FALSE; funckey = ~FALSE; /* start in function key mode */ TxtPtr = 0; lfcount = 0; charaddr = 1; /* start user characters at positData; else if (BFlag) { mcharout(XOFF); write(BFd, Bufbuf, TxtPtr); TxtPtr = 0; Bufbuf[TxtPtr++]=MoData; mcharout(XON); } if (MoData == LF) { if (split) { lfcount++; if (lfcount >= 12) { lfcount = 12; curaddr(1, 13); deline(); if (BFlag) curaddr(2, 24); else curaddr(1, 24); } else { co(MoData); } } else { co(MoData); } } else co(MoData); /* if ((MoData == CR - '0'); break; default: bad1 = TRUE; break; } if (argc > 2) { switch (*argv[2]) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': userbak = (*argv[2] - '0'); break; default: bad2 = TRUE; break; } } } if ((userfor == userbak) || bad1 || bad2) { co(7); color(CYAN, BLACK); cls(); printf("ZODEM:\n\t Invalid color options: %S", argv[1]); if (argc > 2) printf(" %s\n", argv[2]); ion 1 */ lineaddr = 1; /* start user screen at line 1 */ promptlin = 1; tdelay = 0; /* turn-around delay set to 0 */ ViewMode = KbData = NULL; dosbaud = auxcnfg(ERR); /* set up default user's baudrate */ ascbaud = dosbaud; /* start ZODEM baud rate the same */ color(userfor, userbak); cleanscr(); printf("\n\nUse the HELP key for intructions!\n\n"); initializemodem(); /* the I/O loop */ /* get a character from the keyboard */ while (ctsready() && (KbData != BREAK)) { if (c) && Echo && !split) co(LF); */ if (BFlag) { if (MoData == LF) { cursav(); co(CR); rev(); co('{'); /* show buffer active */ nor(); curres(); } if (MoData == CR) { co(ESC); co('C'); /* cursor forward */ } } } } if (TxtPtr) { Bufbuf[TxtPtr] = CTRLZ; write(BFd, Bufbuf, 1 + (TxtPtr)); close(BFd); color(BLACK, CYAN); begprompt(); printf("Buffer auto-saved as %s", BFileName); color(CYAN, BLACK); eprintf("\n\n\n Arguments to ZODEM are text color & background color!\n"); printf("\n\n\tTry: ZODEM 6 1\n"); printf("\n\n\t\t0 = Black\n\t\t1 = Blue\n\t\t2 = Red\n\t\t3 = Magenta"); printf("\n\t\t4 = Green\n\t\t5 = Cyan\n\t\t6 = Yellow\n\t\t7 = White\n"); printf("\nIt is illegal to have both the text and the background the same color!\n"); exit(1); } setnoc(); /* **** do NOT allow user's control-C to abort ANYTHING */ printf("%cv", ESC); /* enable wrap at end of line */ /* sign on */ clssts()) { /* get any char at kbd */ if (funckey) KbData = getkey(); /* decode function keys */ else KbData = ci(); /* pass function keys */ zodemkey(KbData); /* handle key kit */ } /* get a character from the AUX port */ if (minprdy()) { MoData = mcharinp(); if ((Recho) && (!split)) { mcharout(MoData); /* when in echo mode, auto LF on CR */ /* if (MoData == CR) mcharout(LF); */ } if (BFlag && (TxtPtr < BUFSIZ)) Bufbuf[TxtPtr++] = Mo#  P(rWL@h0YΆXٜG0;) &J︾=yrcY%>'Ly >B͓ƈT43 zz{O~x7{wq<{ow)JCV#A{؈W"JF(40zgsjWO0yDAIcDN*!2[f뱪sWGa !g䤢I#ad½r&9퀫L֣Q>'xvӻn] gxvsdzo}ۮ>x.=t]\<ç88"2Ũ2Ía^fh'$6.D|({l=c}$p"l1"'LH@i"JFS#5 b 8VHb0 DBNb԰͸=yruGd%j2cw)&H8`FL#b3"AGⱫ8Ro(D z609=8zЂ"&-l#q"u8pp",}`Ibٜ rR$*I(35*x50 $U L ۲6 @\KWq|5 ><"(3$0 ̵`5KywgR2ig;zܘ"8.K#]RF<JWD#m`d :P'y ɌN]Tt I!HБ Ľxy NްDIEG)=DBDX%0 F$L h8A{q\ҼN)Įn|D=8&EdQ#-zObؐI#!pj$B#C##BlP$"AG;¡xD2Pf\I`6B{FJЭs11@`֤LHY|5P?#0VG6+ S9Qn(%0¤0,|H 7p qLˮ]qª3l@#-G8&Ђ>LG܉[W`JlZ@RT B܋pJ!"c6scK_8Lc#C/}n(#\F[ $ǮrRə<BmC ͖M#NUcW,amY)!8^ߞ<9퀳~, .S=fr39kpjD[4FyWca./ c8{,3RX!x>BHyomt<Bbca@eFE%'5'`|VyW?N7Ͼn>ۻ_^<ӽųo]ű{{ǟ~_^p/^wzz{.??O}}8{7p{ׯ8ˋǿvz񯯿ˋ8ϿծX/%a8Q$dRf,*1i)0]ű##2fr"Y#![):E(ᒺcDz 5lZ#0BCa Iȩ8l>F Uc^PfdE9cv]ä Sfp [=fxm4F䤢I Nʉ0 ejGL*:N "(sWq|u%Ip皥{zgծ]^&]=%d`on"0h%2E=$rsDR5p#2Jzq"jMbb >bENʘZ b s|6\3VA4pR'ձEaZdծvV9k]pIXgΓlu5q#2J@ʤBʆIh #2J`0G7\3V`dQ]2ig6 &2Hʌ+ Lf_!"4pRG`X?&6w5JNVhAX'p"d :v@q%I#VnJPI8!zSiwv}q՜T43I`"AGx 05]1 4d :{7>P0N$k2S{h&pk+v*60B܋=8^B``(c g A"c#8c'j!998E%,aիD ;D,&N0'd :Gp>g1k(r N`C=8P$9|q"c܃uѢyF9&EwSGB`LBrPG(~dQ#f, 9#8 ydL*:NiN!b ^!vUͬᔂ;t]=%yqT43vHk(PF4F)V(BKz5f뱚3Vu*'BRi*t$q/DL1tm`rjxvDDCRSOFT.DOC^  !"#$%&'o()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]8jWq͓\HБpK܋&'yU3I x{_?n2F{Ąx%rI*B܋=&gjf< Ľ8.iCN HБ Ľxw5x$ajfp"& As(pJ$T\L؁ZWUm'`(sٖE=0,$njW?FpeX*>R"QI!HБ ĽxĢrI *aLXdd+9'l38舜T43spf#HБ*Ľx E. Hʌ+ LrU$H^8%yA3M"DBPn`h !9au$"!4d :RWG3?g 6 P'y Dh55f뱚3 lX(ʤ vMICROEDT.BAS` ! "#%$'&)(*+,.-/0123456789:;<=>@?BADCEFGHIJoKLNMOPQRSUTVXWYZ]^\[_.I]kX`TNuyIe ~wիk_?r#$^<*c;j3M gLvOYlO ~i>QkWD6 ϋMծ_~zr?b@suN$APlDB!..ÖDpN!*5J`&98#5/pâ$X $@u͓%ThծÓZʼly)/! Ǫ`CN#a'9hf]WѠ}=6͗hL{lId0`A$Pd!Ӯ]D(izs!dc^LC(ׅ"yf&*1Hl]^7M{lVڠ ;CaS"D]SAK$LUN aUcNSwծl ׷g7ONϻd Nh=^Zd؀H9HA7; H_"86)p d :`$t gp"LbAlA$ >28|.L1vw`4EIZӛ,gvl>3evy3&ٌm4\߾Ȟ2cfdfS(Ɠcfg54ާfl\^$Qpяjz',1؍ʼnʣ2;㺼$4,4jz4̼4@c7?`~76cQN~>}N(ƓяM26('g3볼FG6gf[C*jð%xr:[OY>c3ΏffZ(gY&ff}|SK&ff}lc̢Dόc8Y^]';5tFi;Uuyoi_f3fvtzbeifx?Yle35(S./^yTj[O~2|FΨiFiG_'Wֳ9>>7=̨i?هYfI=06͗PozG$D N$t>s >bq0[B0 t?08&Qt28ɂ]p/ ,'N 6q0{(.i,vIXC)D]0 8"8Vzzly)Hz q > ;]TJl=G CLv] B`iPDl:42IXC)بV 0l f!pJ!"D?g,}N`C1[fI{!փ2-)1Zh&rp"4 P!Pydy)laMD2ň11QN`rЂ1j"T<5ㇻv|x|Hz (V 6R >bMt BǨB=̻&e:xzL=#0wI/ bv e8ʤ`d}i]-fH_ɼ.F3~{TJA$Ϲծ1?g[WRa5`NHSW [9p"/#F[?&ق ٦6u#2J`h#&1lzQ [=غ $&p"1  Az#onv'BZʌU Iya)(bXAB`Cd*;vwD~//1-Ds}{v,zg<ܹ=yrzY€z$=sW>R'B8%B2!f!=€zd l(fPF=PJW@"&&zCa8fyծ~BxI 8\ DxD2Pf\I` k 9aK6t@^"@5swŀD(6Bܣ3l]0 >8!x YlDB!. 8&Qtj~*6 ջu 8xgg8?] |aNbH ᩭ]}H.GqW(2{]}<߽qWlu r 6`Pz6O#rR$]099gFæ BșhA?>$  ˯z/۱-*vKvd7fuk(#zF?Zr|~#k|zKym]^N庼dD? 4t|<,&Oo>k0?K-;ڏMfS%./o|QءOߌM(&^Ooi9^*uy=5';|zKd̻4W+*Eˏf5+ůnuK(GtLFEib}񚌍鍜>uyJ'ddͨo;m(Gt@ϋ G?6fv잠I}Ѭ7cޕUi./#+fӛD^C䒥0e-G6!ѾؙpckfIhd#[Mo_3QpѾfv0^جJ 5w툊.xѽd6.x婯vĹ ^@y_䮇'F$IDusvStyTgrOLĈd۩n>PR vܼLg޵$.pS%UĄ TNU˾7_/q1MpS}7r}x J I''gBśwtUvJt +"'F${bD*B۩eXy50Ĉ$_ =USUE˰" vj>P&FB>NU.3/>r]I'F|&NU%.x%{zmRwś7N%:*N|v*QuͫtUv*vOSչ̋Ͽm\{bDʼnɶSU ^@Iykb$䃞*B۩E|yͻSΥ| Wz+<'WvR/A׽(rIx{b~۫${y%} W" ]IU} Lu51Do&3f=,p>kv6}샅Pl4-pMٌ3t>/7_>2Qkb\v6eXy50n; ^@ć&FB>5`!{bD/zbTF} ", ^@ T>PQuCtÁ}5xU?,xfQ91Q(pM_7/+tU<"^gUB}*#:l0\:Vp].Êȫ!wH\">t51Д=1"v6RSEhskx_Y̿?τ{z5)?¾HK/ +Sz2ԛٗ _eXA&%'sKٚ} 2UdˬH.fk%ėSdKSz2W]̝k>@ʪTت=x=*ՔXa_sG%O<xדk9e_L|y.'x-{0*(ꆅb +"t_R w=.fk}jBPH'F$N\N$TzUANI.xѽd@l~D6#GOob5O G?#3uԐ3@:YLU$.x>&ބɲ|Gy|F&VxelfyۧD}l~Gg|hT+ԗN3bCyui; ^@=A{?яMzf3>O'l#M˪ \P>{fN>eXټrdI.=~51 WɶH\dQ>Ot_ _J]O$v˾A&^^'WvR/A׽(rIx{b~۫${y%} W" ]IU} Lu51Do&>Pn }6֭!aXd|ii;}<Ce&G4F:Oii;}<հFƙRodyJ{u.xi|W2s|OD_Q<-m}B23jfɧ7?v|F6G<-mJtk(OK{}uk(O}{Ut +WC}*B۽ڸ3rXϗ-|HNP^Ol煣^Ooii~vFXa_sG%ėz>@۳rl[Ѣ?J !7ݗ&]O^m\0urR>@(^kx}샅Pj9czI!ͨ4aL9cXLX=iTU0@ݗ(P x}f՘M2'ԛkaE䟟C(x Yh@2w.x}?*aRZhՔXa_sG%ėxדEu(^@0} ~xU>+PR#TaYcdVc4jʃ/ҹds I :x%ۗ("&TEP۸Pփ TC}j꺚+t\2 _+[z}u7[?ܵ|>@B(/1TԆB%?}AHxדܵݜ>P>&,o5jʃ/ҹd) 2)'x`}`ܹK\(^@&FB'!)^kнHBS*#D ӣl ^@{zr}.x%ЛYVcP> 1svRE˰y50䮇'!I>{b~۫䃞*B6kh; ^k([˧p K/%'ҹKٚ} 2]zL|y.} pԛk2= \\B9?J;#ɧ7[U 5/@(^@A,qO B{b/0d\I%.x}D^%K|?_I]kX'><% kx%׼0dK`Ȫ,X=^yTȲ'51QнHG! k +uJ]Xp۩W@^,"T˰"j`v#{Sݫ˾'hdء2cƿAGZNQukxmHtAms817v.xm>@J{['=h(Yixmh>PvOޏoҌJK[Zf}f^oq kxR>vszSBg4I7a$EG+@],@&/A&xŹKٚ#/PS˾+K(^Ne&>PN}fh@%ė2 _%'x}P,UAK`ȪT./*\DVp])J\(^@yJO3o_&G6O}9~lqdcZO](^@4 gek5Y4|z՘Wi߾XZ8o>3χ13VNQ>P^_/pFާf,t_ށw=0d\0d\ͥ.xt,ltVc|^(Tğ> $\ڎ\DE7˰C.xQнHBSާf,{bK=a?bYw=9U]n^0d\q_]~(xkĵWe,u>PWAʲǑi;eXy507^@IzTڎ;wkx%\y TPᆫ)?¾H} 2TPkꁽjp5AV} 2p]0d\q.'e{:Q>rwMy\]Gn8@$A     %  %A     &  &A     '  'A