IMD 1.16: 1/06/2007 9:54:16 FOGCPM.162 --FOGCPM162AF5 COM AF5 COM !"AF5 COM6#$%&'()-03-00 87 -CPM162 DOCAF5 DOCX*+,-./01234AF5SORT COM56789:;<=>?@ABCDAF5SORT COM=EFGHIJKLLITCIT BAS%MNOPQREFIND BAS0RSTUVWREFIND DOCWXYZ[\]^_`abQREFIND COM*cdefghREFSRT COM.HPL PRF 7fCLSB12 FONe 7c3CLS14 FON\) u@ ͫCopyright (C) 1985 BORLAND IncBKaypro, no hiliteeedP=  E RC1B1~7#~=  oͦlԅ!!"~#(}:$= +*!6!*!!:(2!6:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k6!{6``o&  :(͠|(  *"x2y( >28!"9!! og2"">~22!:05+:!Co&ͦͣ} [ (!e|ͧA8Q0G: x@!\w# (̓ ?(*( .( x_. _!h6# (?( *( ̓( w#>?> w#ͧ 8 !ɿ .,;:=?*[]<>{}a{ |͵};Ɛ'@'7||}>2Ͱ*Bک  "og"2>2! ""*B"[Rv*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͻw}8( RB0 >( RrRR!+ ͱ R!+ ͱ s!+ ͱ s!+ ͱ s!# ͱ s!+ ͱ T]KB!z> S>))0 = | |́́DMgo>jB0 7?= H͓<z5b)b<z {0Gɯgo||}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } * W _}8(8J`9{T]=o`9y *  >( ͂ ͭ͘ }>( x‰ }} ˸T}ٕ(0D={ ,= ( ͓ 0%| , 7 ?(8ͭ x ͇ - s 8˸x ͐  ,-xG}s }مN 9s .>#n0͓ | = - nx ͈ ,-(-˸G,-s }ٕ?N 9.> 8ͭ ?= u+-(>͇ 0ͭ ͇ 8 ?x ͈ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցs <(s 7| = |٤g{٣_z٢Wy١Ox٠G| ͭ ͂ }x>( ͭ}ƀ/ƀo  -͂ }0͏-͂ ͏,}l˸ 8 5 ͘ x( - 8͂ - 8,͂ }l8;*!͘ ! >5ͭ͘ ͘ ͭ---  ,,,-xGg?+2n*8t z~,->( x( ͙}. ͇͂ , ! >5,ͣ- o&0% ,͘  }gs }؉}颋.:}8c~I$I~L*ͣٷx˸ }0G,<} ,-(-͂ !>J0 ͙͘ o8 ͇ >( m.`1pF,t6|!wS<.z}[|%FXc~ur1}͇ٯx(<˸ 8 !~J 0/O!>t 8 =  o t͘ ͇ /o 0 ͏-͂ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͭ͘ JØ oo ͘ = ͇ nf^VNF!DLT\I!!53!r1!͓!> x #-= o˸x͇(- }(x>8({ ,{ `iÄ!>( |s |́>)=|(DMbo˸88x(0 8> ́x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#~˸}րogM| .({ = ~> x0w#xG%͈ %͈ ZJDM%͈ = _~65+~hìx-Sx9?+{Η@}|{ { gZJDM0| ,7}o˸@ #yO!@9i&@  #@w#@/w#@w#!9! E9!!9~(+Fͻ!"9!(#>2*"| >"2:( ͷ *w*6 !\$![ (ͧ( #:~CONTRMKBDLSTCAUXUSR>2j:*ˮ~1:*:(@q##p[* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͻ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('l!0(ˮ]l!8ˮ!]~-#8~>27lˮw>O%7̄s #r%ͤ7̐ l ( (ˮ ql(ˮ ( l ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͻ>2}*|(̈́|( ̈́6-#[RM8( G> A~#*(C! !TRUEFALSE!9N#Z~#( G~#> >    "~(lѻ(( !0 (ˮ!!>2S{:1:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͯ*-w#ww##> ͯÂ""~>2:[R0 *4#4>2:[R> *4 #4(> >22*f(/˦:G(##~++ :O x yD!ͻ Q*:G(##~._.͛g<]=<͛*##w ͯ +4 #4x>>2:G("ͯ"*nˮ*0 S[ѷR8@* N#F#s#r- 0})jS\*##w+ N#FB ͯr+s>2!T]>)j)0 0= ^R!#^*^#V#N#F#^#V>2ͱ:1:*6 #-Nw#Fwq#p#6#w#w#w"~Â>">!DM!":*B:!>(>2>">!"2"~ʱ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pS[ѷR'* s#r$ s#rM <?*M!\  <( !\$>2>2M:>!(* \$\<(!4: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>* 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* vKB!1>( ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#L*L*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!G"" 'z*"*>2"*"!G"""!\*: Os!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͞O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%ã}ͧo*!~6o&|:2!2}:__{ѯ2*|KB " z ^C User break+=  I/O Run-time error {͵, PC=*ͰNot enough memory Program aborted :m'1!e!՛B>Ò!"!;! e.>!%!;ͤ!E!!"!%*n&! ̀E]!*#":!!}2*!%;ͤgz!"!%*n&! ̀Eʶ!*&}oEʬ!*#"!}2ý!!}2*#u!*"*"NP!s!;! e.>!!*ͦE"!"!*n&! ̀E5"*#""!*!Rgzʡ""!*n&! ͓Eu"*#"R"!*n&! ̀Eʘ"*#"u"*#I"*"!*n&! ͓E"*#"ç"!;***RlP!s!s;P!!;""*!͓E#*"͜͜ͻTURBO-access I/O error *!'͜ͻfile * n&!@#!:#* 9!ͫ!.#*9!ͫͻ record *!'͜ͻProgram terminated """***ͥ*ͷ"**#"t"v"x*x*v*xͥ*t"*x*v#"Y!["j*j![;q*j"*!̀Eʙ$!}2%*j!#*j*Ys#r*j!s#r*j!s#r*j!s#r*j!s#r*j!\!e*j!!\$!}2">!@"O*O!@;q*O"*!̀*!̀}o}2*&Eʧ%*O*>s#r*O!!\#!\*O!e"4*4!\!e*4!!\$*4{"*4!#"&"("***^#V!̀E&&**^#V*(s#r~&**^#V*(s#r***(^#V!\#!\**!e****^#V!Rs#r***(^#V*&$""*!\!e**!\$**s#r**^#V!s#r"*^#V"*"*^#V*^#VR!R"*!! gzʽ'"!*+)))))))))!s#r!*+)))))))))!s!*+)*s#r*#G'""*!͓EC(!!gzC("**+))))**!R*!!*!e*#'"޶"*޶!͓E(!!wz("Զ**Զ!R*޶!!**Զ+))))*޶!e*Զ+k(""!ö"Ҷ*!!!"*Ҷ!ö;*O$*Ҷ*!͓s*Ҷ*s#r*Ҷ!s#r*Ҷ!s#r""!"*!!!"*!;*%**!͓s**s#r**^#Vs#r*!s#r"!! gzʋ*"!*+)))))))))"*^#V*̀Eʂ**!s#r*n&Eʂ***^#V;'**^#V*$*#)**^#Vs#r*ͨ%"!"~!*~+)^#V*͓*~! }oE**~!"~ù**~! !Rgz@+"|!*|+)!*|!+)^#Vs#r*|#+!! +)*s#r"v"x"z!}2g!! gz+"j*g&}oE+!*j+)))))))))"n*n^#V*z̀*n^#V*x̀}oE+*j"l!}2g*j#w+*g&}oE,!!+)^#V"l!*l+)))))))))"n*nn&E{,*n*n^#V^#V;'*n^#V*n^#V*n$*z*x*n#*n*z^#VD(*n*zs#r*n*xs#r*n!s*lͫ*!*l+)))))))))*vs#r"a"c"e!!+)^#V"W!*W+)))))))))"Y*Yn&Eʀ-*Y*Y^#V^#V;'*Y^#V*Y^#V*Y$*e*c*Y%*Y*es#r*Y*c^#Vs#r*Y!s*Wͫ*!*W+)))))))))*as#r"U*U!s"K*K^#V"C*C^#V*C^#V͒&*C!s#r*C!s"?"A*A!n&*?Eʄ.*A!*?s}2,"-"/"1"3*3;*1;͎E.*,&E.*/*-R"5.!"5.*3;*1;E.!"5.!"5*5""*"!s#r"""*"*^#V!̀EV/*^#V" ï/**^#V+))"**^#V! U+* *^#V+))))^#V" * !͓E20**^#V!s#r**^#V+))"* *s#r*!s#r** ! U+* ^#V" ï/*^#V!͓Eʝ1*^#V!**^#V+))^#V* n&̀}oE0**^#V!Rs#r***^#V+))^#V! U+J0**^#V+))^#V* n&Eʍ1**^#V+))"**^#V!s#r* *^#V+))))"*;**^#V*s#rÝ1*!s#r*^#V!͓}2"""*"*^#V!̀E1*^#V"×2**^#V+))"**^#V!U+**^#V!Rs#r*^#V!̀El2*^#V"×2**^#V+))))^#V"*!͓E;3**!U+**^#V!s#r**^#V+))"**s#r**n&s#r*"**n&+))))^#V"×2*^#V!͓E|4*^#V!**^#V+))^#V!̀}oE3**^#V!Rs#r***^#V+))^#V!U+S3**^#V+))^#V!El4***^#V+))^#V+))))"*;**^#V*s#r|4*!s#r*^#V!͓}2"""*"**^#VO.!}2*!s#r*^#V"*!͓*&}o}oE6**^#V!s#r**^#V+))*s#r**!͵U+*͵"!"*n&"**!"***+))))!**+))))^#V*n&ͅ."*!͹E5*!R"*!ͦE6*!"**Ec5**R!E^6**+))))^#V*s#r*"!}2*!̀E6*^#V"â6**+))))^#V"**^#V+))*s#r4*&}o*^#V!}oEʖ7*^#V!**^#V+))^#V!̀}oEY7**^#V!Rs#r6**^#V+))^#V!̀Eʖ7*!s#r"ǵ"ɵ"˵*˵*ɵ*ǵ͔4*&}o*˵n&}oE 8*ǵ;!*˵*ɵ*ǵ/*&*ǵ;!;͎}o}2"""***͔4*&}oEJ8***/É=;**M!U+*";*;n&!E"9*;n&!*;s*;n&*C!wz8"*;*+))))*;*!R+))))*+Þ8*;*C!+))))!h!}2ÿ;*!!,*C! ͹Eg:*C! ̀E_9!hO :*;! +))))O! *C!wz9"*;*+))))*;*!R+))))*+Ð9*;*C!+))))!h!! gzd:"**+))))*;*! +))))*#:Ç;*C! R"C*;! !+))))O!*C!Rgz;"**+))))*;*! !+))))*#ð:**C+))))!h*C!! gzʇ;"**+))))*;*! +))))*#8;! *;s! *s**Qs#r*"Q!Oh*-*- !C "M*M!̀E)*^#V"**!,*"!*s**s#r*!+))))!h*-8IF" ""*9*!U+*9*!U+* *n&EA* !" ** +))))^#V"*9*!U+*n&! R!!"*! +))))** +))))*! +))))*^#Vs#r*!E@!*!Rgzʷ?"**! +))))**+))))*#h?** +))))**+))))** +))))*s#r***+))))^#Vs#r*n&*R*s!*n&gzʱ@"**+))))***+))))*#b@! !R**s!}2,*-A!! gz3A"**! +))))**+))))*#@* *n&!RgzʙA"**+))))**!+))))*#JA!*s*n&!R*s!.*n&! }2,*-hE* !̀EA*^#V"%B** !R+))))^#V"*9*!U+*n&!"*! R!"*!EeD! !R!wzB"***+))))**+))))*+~B**+))))** +))))**+))))*^#Vs#r**R"*!R!wzʣC"**+))))***+))))*+TC***+))))^#Vs#r** +))))**+))))** +))))*s#r*!R*s! !R**s!}2,*-aE**+))))** +))))**+))))*^#Vs#r!! !Rgz,E"***+))))**+))))*#D!*s*n&!R*s!.*n&! }2,*-*-! "*9*!U+*"**n&+))))^#V"*!͓EE*n&"*pE*,&EE***A>úF*9*(!U+**n&+))))**+))))^#Vs#r**+))))**n&+))))*n&!R*s*n&! }2,*-*-#! "(*(!̀EF!}2!}2,/I*9*(!U+*" !"* n&"**!"*5* *+))))*7^#V* *+))))^#V*9n&ͅ."*!͹EʣG*!R"*!ͦEʿG*!"**EG*!̀EG* ^#V"H* *+))))^#V"**R!EI* *+))))^#V*7s#r*!̀EH* n&!R* s* n&! }2,** n&gzH"* *+))))* *!+))))*#ÓH*- I*pE*,&E I*(**A>/I*>>*,&E/I*(**A>#"5"7"9*9"-*5*-^#VO.!}2*-^#V>>*,&EI*9*-^#V!*U+**n&!̀EI*-**^#Vs#r!*."|!"r*|"t*tG;N͎EJN!m J*tG;!.e.>!m!ͻ*tI;!ͫ! #*t5;!ͫ! #!m;!ͫ! #*t ;!ͫ *tT;N͡EʯJ!ͻ*tT;!ͫ ûJ*r!"r*t;N͡EJ!ͻ*t;!ͫ J*r!"r*t;N͡E1K!ͻ*t;!ͫ =K*r!"r!ͻ*t;!ͫ! #*t;!ͫ! #*t;!ͫ !ͻ *r!͓EK!*rgzK"p!ͻ *p#ìK"k!"a*k"c*cG;N͎ELN!\ L*cG;!.e.>!\!ɱͻͻ Id: *c;!ͫN!1*c;ͤRͫ*c;!ͫ!-#*c;!ͫ!-#*c;!ͫ !ɱͻ*c ;!ͫ! #*c5;!ͫ! #!\;!ͫ! #*cI;!ͫ *cT;N͡E1M!ɱͻ*cT;!ͫ =M*a!"a*c;N͡ErM!ɱͻ*c;!ͫ ~M*a!"a*c;N͡EʳM!ɱͻ*c;!ͫ ÿM*a!"a!ɱͻͻ *c;!ͫͻ, *c;!ͫͻ *c;!ͫͻ H-Ph: *c;!ͫͻ O-Ph: *c,;!ͫ !ɱͻͻ *c9;!ͫ !ɱͻͻ *a!͓EʷN!*agzʷN"_!ɱͻͻ *_#ÕN"Z!"P*Z"R*RG;N͎ENN!K O*RG;!.e.>!K!ɱͻ*R ;!ͫ! #*R5;!ͫ! #!K;!ͫ! #*RI;!ͫ *RT;N͡EʢO!ɱͻ! #*RT;!ͫ îO*P!"P*R;N͡EO!ɱͻ! #*R;!ͫ O*P!"P*R;N͡E0P!ɱͻ! #*R;!ͫ !0!ɱͻ*7I;!ͫ! #*75;!ͫ! #!0;!ͫ! #*7 ;!ͫ *7T;N͡EʙS!ɱͻ*7T;!ͫ åS*5!"5*7;N͡ES!ɱͻ*7;!ͫ S*5!"5*7;N͡ET!ɱͻ*7;!ͫ 'T*5!"5!ɱͻ*7;!ͫͻ, *7;!ͫ! #*7;!ͫ !ɱͻ *5!͓EʴT!*5gzʴT"3!ɱͻ *3#ÖT".*."&*&G;N͎ETN!!U*&G;!.e.>!!!ɱͻ*& ;!ͫ! #*&5;!ͫ! #!!;!ͫ! #*&I;!ͫ !!2*& ;ͤ*&5;ͤ!!;ͤ*&I;ͤRgzU"$!ɱͻ!.# *$#åU!ɱͻ*&;!ͫ !P!ϰ!ϰ;!;͎EV!}2 V!}2 * &!KP!`!K;!`;ͳ!̀E\V!}2cV!}2*&!گP!!}2@!*e.!گ;ͳ"Я*Я!̀EʶV!;ͤ"ЯV*Я!R"Я!;ͤ!͓!;ͤ*Яͦ}oESW!*ЯgzPW"ί!گ*ίn&!?͓EGW!*ίn&!گ*ίn&͓EGW!}2@*ί#VZW!}2@*@&P!,!!,;ͤgzʫW""!,*"!,*"n&s*"#}W!,;P!}!};"ή}2Ю*ή!EW!"ή!u!*ήs!u!*ή*Ю&O!u;P!Ѯ!Ѯ;͜!# " !P!!!!;͜!ͫͻ?  ͚!ͪ!E *&*s*n&! ^P}oEʬX&X*n&! ^PEqX*&͜# ""P!!;ͤ!͓E*Y!;!!l! e.͎E*Y!!!!;ͤ!̀!;!!l! e.͡}oEX!;ͤ!̀EʌY!*s#r!*s#rÜY!;**"="?P!A!A;ͤ!͓EY!A;!!l! e.͎EY!A!!!A;ͤ!̀!A;!!l! e.͡}oEʱY!A;ͤ!̀EYZ!*=s#r! *?iZ!A;*?*="/"1*1;ͤ"%*%!͓EZ! e.*1;ͳ"#*#!͓EZ*1*#!*#!̀EʒZ*1;ͤ"%*%!͓*/n&!Z͓}oEC[!0e.*1;ͳ"#*#!̀E3[*1*#!*#!͓E[*1;ͤ"%*%!͓E)\!.e.*1;ͳ"#*#!͓*#*%͓}oE)\*1;!*#lP!Ҭ*1;*#!*%*#RlP!!.e.!;ͳ"#*#!͓E\!*#!*#!̀E[!Ҭ;!;>P*1"m"o!q!w}2}"~!}2R*}&IR]*~!}jZ*~;!W!UX*U!̀*W!w- ͯ}o*W!q- }oE\!}2R*~;ͤ*oE ]! *~;ͣ >P*~*~;ͤ*òE\A`ZR$]RR^*~!}jZ*~;!_!U͝Y*U!̀!_-!w-ͯ}o!_-!q-}oE]!}2R*}&!Z̀*~;ͤ*o}o*~;ͤ!͓}oE]!}2R*~;ͤ*oE^! *~;ͣ >P*~*~;ͤ*òE]A`DRA`*~!}jZ!.e.*~;ͳ"S*S*o*mREd^!}2RA`*S!̀*~;ͤ*m*oͦ}oEʖ^A`^*S!̀*~;ͤ*m*o}oE^*~;!.e.>P*~!.e.*~;ͳ"S*~;ͤ*SR*mE'_*~;!0e.>P*~m_*~;ͤ*SR*mEm_*~;!*~;ͤ!RlP*~!.e.*~;ͳ"S*~;ͤ*SR*m̀E.^*~;!_!U͝Y*U!̀!_-!w-ͯ}o!_-!q-}oEA`!}2R*~;ͤ*oEA`! *~;ͣ >P*~*~;ͤ*òE`*R&!̀EV`&X*R&}2*&"'}2) !*"J"L"N"P*L*J*P;͜!ͫ!_*N*P;ͤRW!ͫ !"*L**J!ͪ!E *& _RB1c*)&SRˆa**NEʂa*P;ͤ*ǸEBa*P*N!*!"*&e.*P*P! ͜*P;**Nl!ͫ Åa&X.cZRʜaIR†b*)&!Ì**N}o*&͂!0!9͜!-͒P}o*)&!Z̀**N}o*&͂!0!9͜P}o}oEʀb*P;ͤ*ǸE@b*P*N!*!"*&e.*P*P! ͜*P;**Nl!ͫ Ãb&X.cRR.c**N*&͂!0!9͜!-͒!.͒P}oE+c*P;ͤ*ǸEb*P*N!*!"*&e.*P*P! ͜*P;**Nl!ͫ .c&Xe RFcRnc*!Ehc*!R"kc&XeRʂc R­c**P;ͤEʧc*!"êc&XeRc!"eRc*P;ͤ"eR8d**P;ͤE5d*P*!!͜*P;*!*Nl!ͫ!_# eRLdRªd*!Eʤd*P*!͜!#*P;**Nl!ͫ!_# *!R"çd&XeRd͜!_*P;ͤ*RW!ͫ *P*!*Ne*&!* ^P}oEe&X*&!* ^PE`*P;ͤ"*L**J͜N*N*Rͫ *&*'s!!͚͜ͻ AF5: !;!ͫͻ ...database !(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available ͚!!͚͜!-!OW!ͫ !!͚͜!-!OW!ͫ !!͚!!gzf" !* !͚* #Zf!!͜ͻIDcode : !#!͜ͻdate mm-dd-yy: !5!͜!-# !8!͜!-# !!͜ͻlname : !!͜ͻfname : !4!͜ͻ initial : !>!͜ͻ title : !!͜ͻ address1 : !! ͜ͻ address2 : !! ͜ͻ address3 : !!͜ͻcity : !%!͜ͻstate : !3!͜ͻzip : !!͜ͻ home phone : !(!͜ͻoffice phone : !!͜ͻ remarks : ! !͜N!ͫ !3!͜N!ͫ !6!͜N!ͫ !9!͚!!͜N!ͫ !#!͜N!ͫ !=!͜N!ͫ !G!͜N! ͫ ! !͚! ! ͚! ! ͚!!͜N!ͫ !,!͜N!ͫ !8!͜N!ͫ ! !͜N! ͫ !6!͜N! ͫ ! !͚j .S"!"!"*"*RUj*!! !!i ^*j&!e`oRj*!!3!!i ^!I!e`*!I! ! !!*\!̀E_j!3!*;͜!ͫ oRkk*!!6!!i ^!I!e`*!I! ! !!*\!̀Ej!6!*;͜!ͫ oRk*!!9!!i ^!I!e`*!I! !c !!*\!̀Euk!9!*;͜!ͫ oR-l* !!!!i ^*j&!e`oRdl*5!!#!!i ^*j&!e`oR›l*G!!=!!i ^*j&!e`oRl*I! !G!!i ^*j&!e`o R m*T!7! !!i ^*j&! e`o R@m*!7! ! !i ^*j&!e`o Rwm*!7! ! !i ^*j&!e`o R®m*!!!!i ^*j&!e`o Rm*!!,!!i ^*j&!e`oRsn*!!8!!i ^!Z!e`*!Z! ![!!*\!̀Em!8!*;͜!ͫ oRªn*! ! !!i ^*j&!e`oRn*,! !6!!i ^*j&!e`oRo*9!A! !!i ^*j&!e`*&! ̀*&! ̀}o*&!̀}o*&! ̀}oEʅo**̀Evo!"Âo*!"o*&!̀*&! ̀}oEo*!̀Eo*"o*!R"*&! ̀*!̀}o*&!̀}oEj"*"! !*;͜!ͫN!*;ͤRͫ !3!*;͜!ͫN!*;ͤRͫ !6!*;͜!ͫN!*;ͤRͫ !9!*;͜!ͫN!*;ͤRͫ !!* ;͜!ͫN!* ;ͤRͫ !#!*5;͜!ͫN!*5;ͤRͫ !=!*G;͜!ͫN!*G;ͤRͫ !G!*I;͜!ͫN! *I;ͤRͫ ! !*T;͜!ͫ ͚! ! *;͜!ͫ ͚! ! *;͜!ͫ ͚!!*;͜!ͫN!*;ͤRͫ !,!*;͜!ͫN!*;ͤRͫ !8!*;͜!ͫN!*;ͤRͫ ! !*;͜!ͫN! *;ͤRͫ !6!*,;͜!ͫ ͚! !*9;͜!ͫ ͚!!!;!!l`W!;!!l`W> !֫!֫;!!͚͜ͻEnter OutPut File Name ... !y͏!ɱ!y;p!ɱ"DZ*DZ!Eʜt&X!!͚͜ͻ&Improper File Name ... Press Any Key !ͪ!E*DZ!̀Es!"}2!.'!͓Eu*&IRju![!|!8!.*|*^#V͓E1u![!|!/*|*^#V̀Eu![!|!/*&}oEXu![.gu![!|!͵1uNRu!!|!8![.*|*^#V͓Eu!!|!/*|*^#V̀Eʞu!!|!/*&}oEu!.u!!|!͵1!}2!.'!EpyN.Enter Letter for Phone Directory .. A thru Z ͂!A!Z͜!a!z͜!s3X*s&}2s*s&e. !h!!f!h8*&}oEʶv!!f!h͵1*&EʝvOf!"d!!͚!6!͜ͻHome Phone Office Phone !.*f!#!"t*t ;!!l͗ }2*&}2*&*s&̀Ey!*d*t ;͜!ͫ! #*t5;!ͫ! #*tG;!ͫ! #*tI;!ͫ !!2*t ;ͤ*t5;ͤ*tG;ͤ*tI;ͤRgzx"b͜!.# *b#w*t;͜!ͫ !!*t;ͤRgzjx"b͜! # *b#Lx*t,;͜!ͫ *d!"d*d!̀EyN, to continue ... to abort ͂! ͒!͒!3X*&!̀ExpyyOf!"d!!f!h/*&Ey\yN)END of LIST: Press to continue ͂! ͒!s3X*&*s&͓EvOfð"ة"کN$Find : E)dit ... D)elete ... Q)uit ͂!E͒!D͒!Q͒!3X*ک"Щ*&ERF{*Щ ;*Щ5;͠s !*Щ;`W!*کiN4Find Edit: S)ave changes ... Q)uit without saving ͂!S͒!Q͒!3X*&!S̀EC{!.*ة*ک$*Щ;`W!;͡Ez![!ة!;>![.*Щ;`W!![!ة!K8*Щ ;*Щ5;͠s!;͡EC{!!ة!;>!.*Щ ;*Щ5;͠s !!!ة!K8 |DR |N1Find Delete: Y)es delete ... N)o do not delete ͂!Y͒!N͒!3X*&!ỲE |*Щ;`W!*Щ ;*Щ5;͠s !![!ة!;>!!ة!;>!.*ة͒&fe!*"!*!{!O!*i* ;*5;͠s ! *;`W!!.!!*%![!!K8!!! K8![.!.!(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚!.'!EʬN!Find Options: N)ame ... I)dcode ͂!N͒!I͒!3X*&NRV!"N!çN!*R}!ç!!!͂! ͒! ͒!͒!S!e`}R}!!!#!͂! ͒! ͒!͒!S!e`!*R"*&! ̀*!̀}o*&!̀}oEʄ}!ç;!;͠s !ا!!!ا8*&}oEʃ~!!!ا͵1!.*!6#!6p!(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚NJFind : N)ext ... P)revious ... Q)uit ... ^P)quickprint ... ^E)edit delete͂!N͒!P͒!Q͒!͒!͒!3X*&NR©!!!ا/*&EʍAPR!!!ا͵1*&EʳAR!6IARA*"!!!ا͵1*&E!6*wy!N!!ا;ͭt!!!ا/*&E(*&!Q̀Eʃ~éIR©N!!!! !͂! ͒! ͒!͒!S!e`!;`W!![!!8*&}oEـ![!!͵1!.*!6#!6p!(!͜!. '!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚NJFind : N)ext ... P)revious ... Q)uit ... ^P)quickprint ... ^E)edit-delete͂!N͒!P͒!Q͒!͒!͒!3X*&NR![!!/*&E×PR%![!!͵1*&E ×R9!6I×R—*"![!!͵1*&EI!6*wy!I!!;ͭt![!!/*&E~*&!Q̀Eـï&X̀f!(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚N#Update : A)dd ... F)ind ... Q)uit ͂!A͒!F͒!Q͒!ܩ3X*ܩ&ARz|ÇFR‡ }*ܩ&!Q͓Eʟfedh*ܩ&!Q̀Eʳ!N}2NDOutput device : P)rinter ... S)creen ... F)ile ... D)b move-delete ͂!P͒!S͒!F͒!D͒!3X*&PRńNLST:!y!!͚͜ͻ.Enter Page Length in # of Lines .. 4 to 200 ? !:O"DZ*DZ!̀*:!ͦ}o*:!͹}oEA,SRNCON:!y,FRDR,*&!F̀E sN#Option Not to Include Records Y/N ͂!Y͒!N͒!3X*&!D̀E,N$M)ove records ..... D)elete records ͂!M͒!D͒!3X*&!D̀ENECAUTION ... DELETING RECORDS FROM CURRENT DATABASE !!! Q)uit ... O)k ͂!Q͒!O͒!3X*&!Q̀EÙ*&!M̀E,!!͚͜ͻEnter DataBase File Name:  ! ͏ !;`W !!;!;͡E0!!͚*&!D̀E͜ͻDeleting Recs from ... !;!ͫ ͜ͻMoving Recs from !;!ͫͻ to !;!ͫ N.5DA!N.5IN!N.5II!!;!;>!!;!;>!!;!;>!!v!;!{%*&Eć!У!;! !T)*&E!!;!!T)*&}oE,!v!;!{O$!У!;! !(!!;!!(*&͂!P͒!S͒PEb!ɱ!y;p !ɱ N+Sort by : N)ame ... I)dcode ... U)nsorted ͂!N͒!I͒!U͒!3X*&!ÌEʲ![.NKSubset of IdCode . .. N)o .. M)atch exact .. W)ild cards .. S)earch string ͂!M͒!N͒!W͒!S͒!3X*&͂!M͒!W͒!S͒PEʲ!!͚͜ͻ"Enter Subset of IdCode to Match..  !S͏ !S;`W!S*&!ǸEʢ!.N8Do you want to select a STARTING POINT ... Y)es ... N)o ͂!Y͒!N͒!3X*&!ỲEʢN,Enter Starting Character ... B thru Z ... ͂!B!Z͜!3X*&e. !!!ȣ!8!!ȣ!͵1*&!D͓E,NLType of OutPut: C)omplete ... A)ddress ... M)erge ... L)abels ... N)ame Id ͂!C͒!A͒!M͒!L͒!N͒!3X!!͜ͻPress to abort ͚*&CRn!"îAR!"îMRʕNRž!"îLR®!"!"!"ȣ!.&!R"ģ!"ƣ*&!M̀E![!ȣ!S͗7*&E![!ȣ!͵1Ù͠EP!ͪ!E *&͂!͒!X͒!x͒PEPÙ*&NRp!!ȣ!/ÚIR>![!ȣ!/!}2=*&E*&MRƌ!;!S;U}oEÌÙSR!;!S;"V}oE!}2=WR!;!S;iV}oE!}2=*&}o*=&!̀}oEzÚURš!}2*ȣ*ģ*&}o}oEʚ*ȣ!"ȣ!.*ȣ!#*!̀}2O*&Eʋ!".*&!U͓Eˍ!.*ȣ!#*&PRµ*&CR!K>AR!͸N>MR!Q>LR-!͵R>NR>!͵T*ƣ*"ƣ*ƣ**:Eʲ*:*ƣR"ƣ*ƣ!͓Eʬ!*ƣgzʬ"8!ͻͻ *8#Ê!"ƣËSR@*ƣ!̀Eَ!!*ƣ!̀*ƣ!̀}oȄ!!͜ͻPress to continue ͜ͻ or to abort ͚!ͪ!E *&! ̀*&!̀}oEF*&!̀EʎÙ!!͜ͻPress to abort ͚Of!"ƣ!!*&CR!K1AR!͸N1MR !Q1LR !͵R1NR1!͵T*ƣ*"ƣËFRTDR‹!O}2*&!ỲEOf!p*&!D̀*&!M̀}oENHReject Option: O)k move record R)eject do not move record eX)it ͂!O͒!R͒!X͒!3X*&!D̀*&!D̀}oEʓNLReject Option: O)k delete record R)eject do not delete record eX)it ͂!O͒!R͒!X͒!3X*&!F̀ENJReject Option: O)k write record R)eject do not write record eX)it ͂!O͒!R͒!X͒!3X*&!X̀E$Ù*&!ÒEʋ!!͚͜ͻ -- WORKING -- *!' *!"*&FR*&CR™!KAR­!͸NMR!QLRՒ!͵RNR!͵TËDR‹*. ;*.5;͠s !}*.;`W!h*ȣ"ʣ*&!D̀Eʒ*&!ÌEr![!ȣ!͵1*&!̀EQ*&!ǸEʥ!!ȣ!͵1*&!̀Eʄ!!ʣ!};>![!ʣ!h;>!.*ʣ͒&!(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚!.'!̀EUÙ*&IRw!I!ȣ!;ͭtÒNR’!N!ȣ!;ͭt*&!M̀Eʋ*&!ÙE*.!I! ! !!*\!̀E*.N * .!I! ! !!*\!̀EH*.N *.!I! !c !!*\!̀Eʑ*.N *.!Z! ![!!*\!̀E*.N !(!͜!.'!'ͻ Used of: !.&!R!'ͻ Available FP:!.V!R!' ͚!v!£!%!У!£!}K8!!£!hK8!У.!.*&}oE*&!D̀*&!M̀}oEҖ!vͨ%!У)!)*&!S̀E*!!͜ͻPress  ͚!ͪ!E *&! ̀E *&!P̀*ƣ!͓}oEʈ*:*ƣR"ƣ!*ƣgzʈ"8!ͻͻ *8#f!ɱj !!Eʻ!! !!}2~—!}2~?<'*~&!̀E!!͜ͻEnter DataBase File Name:  ! ͏ !}2~N.5DA!N.5IN!N.5II!!;`W !!;!;>!!;!;>!!;!;>!!.!;!{%*&EԘ!!;! !T)*&E![!;!!T)*&}oEN=Data files missing. Create new files (Y/N) or R)e-enter name ͂!Y͒!N͒!R͒!Ʊ3X*Ʊ&!R̀Es—*Ʊ&!ỲEÙ!.!;!{O$!!;! !(![!;!!(ƙښfeNHSelect : U)pdate ... L)ist ... Q)uit ... R)un new database ... P)hone#͂!U͒!L͒!Q͒!R͒!P͒!Ʊ3X*Ʊ&URQtynLRaͲnPRnu*Ʊ&!Q͓EʃOf*Ʊ&!Q̀*Ʊ&!R̀}oEƙ!.ͨ%!)![)*Ʊ&!R̀Eښ—?͜ͻAF5 ............ address filer ͜ͻ% Written By: Roger S. McKee ͜ͻ 1107 2nd ͜ͻ' Perry, IA 50220 ͜ͻ 11/9/86 ͜ͻ 1107 2nd ͜ͻ'  AF5.COM & AF5SORT.COM (address filer) 11/9/86 ============================================= AF i ! NO ! compatibl wit AF3,AF4,AF42 o AF4 dat files Thi revise versio wa initiate fro th suggestion fro John-Mar Stensvaag. 1. Th dat outpu o th M)erg optio i inclose i quote s tha comma ca b use i th dat field an stil b compatabl wit MailMerge, Etc.. 2. I ther i a Initia outpu o th M)erg optio perio wil b adde after the initial. 3. Th optio P)hone ha bee adde t th firs men t giv quic listin o phon number fo an beginnin lette o th las nam field. 4. Tw addres field wer adde t hav tota o thre addres fields. 5. On phon numbe fiel wa adde fo tota o tw phon fields and the fields are labeled for H home phone and O office phone. 6.Tw o th commen field hav bee eliminate an th remanin commen fiel ha bee re-labele t "remarks". AF wil allo th numeri field o MONTH,DAY,YEAR,ZI t b eithe nul strings(empty o al spaces o lega numbers Th zi fiel mus hav ful digit t b lega number. AF5 ca b calle usin perimete fil nam Ex A>AF5 TES Yo wil no b aske fo th nam o th databas t run typ TEST I th progra doesn' fin al thre necessar file TEST.5DA TEST.5IN TEST.5I yo wil b aske i yo wan t star ne files. TEST.5DA test.5da holds the data entries TEST.5IN test.5in holds the index file for name TEST.5II test.5ii holds the index file for idcodes Never type in the extension, as the program automatically adds the extensions .5DA, .5IN, and .5II . The program must find all three files to run. If only one file is found and you start a new database with the same name the old file will be lost. Multiple mailing list may be kept on the same disk as long as they have different names. Enter DataBase File Name:TEST If the database if found you will be taken to the "Select:" mode. You will be given these five options: 1. U)pdate -- takes you into the "Find:" mode where you can ADD a record, FIND a record  by Idcode or Name and EDIT or DELETE a record that has been found. If an exact match isn't found then it will bring up the next closest record. Once a record is found you can BROWSE thru the file looking at the NEXT record or the PREVIOUS record. When browsing through the file you will be in alpha- betical or sorted order of either the Idcode or the Name, depending on which one you did the initial find on. All IDCODES for the Idcode and the Name are con- verted to UPPERCASE, so using lower case letters will not create a different Id or Name Code. The name id is from the first five characters of the last name plus the first five characters of the first name. QUICKPRINT sends to the printer output for one inch one across labels, this makes it possible to browse through a database and get any set of addresses you need on labels. Make sure your printer is on and connected before using QUICKPRINT. Edit and Delete are self ex- planitory. The month, day, year, and zip code are checked to see that they are proper numerically and to allow proper sorting of these fields using AF3SORT.COM. 2. L)ist -- first gives you the option to send the output to the SCREEN, to the PRINTER, to a FILE, or to DB MOVE-DELETE. If the output is sent to a file care should be taken as the program doesn't check to see if the file exists and will overwrite the current file. The next option is whether to sort by N)ame, I)dcode, or U)sorted. If you sort by Idcode you will have the option to pick a subset of the Idcode or use wild cards to pick the subset of the Idcode, or to do a string search of the Idcode. Wild cards are the CPM standard ?=don't check single character, and *=don't check for match from this point on. The next option is the type of output --C)omplete .. A)ddress .. M)erge .. L)abels .. N)ame Id. Merge ca b use wit mos type o wor prcessor an th field ar inclose i quote an separate b comma t allo comma t b entere int fields an no confus th progra mergin th data L)abe print standar inc on acros labels D MOVE-DELET ca b use t creat anothe dat bas o t merg informatio fro on dat bas t another Whe as fo databas nam don' us th extension I al thre file ar foun the th mov wil appen th record t th database i les tha al thre o th file ar foun the ne file wil b create o ol one wil b over- written Yo wil hav th optio t rejec record i yo wish an t selec record b th Idcod usin exact wil cards o strin search I yo us th DELET optio yo ca hav th optio t rejec record (no delet them an t selec record b th Idcod usin exact wil cards o strin search Delet i basiciall designe t delet record tha hav bee move t anothe dat base Mov i designe t spli dat bas o t merg tw dat base o part o on databas wit another WildCard Matches .. ??other finds brother but not brothers br?t* finds brother,brothers,broth & brats 3. Q)uit -- Closes all files and returns you to CPM. 4. R)un new database ------ Closes all files then starts program over. Saves time having to exit then reload the program into memory. 5. P)hone#----Yo wil b aske t ente th firs lette o th las nam fiel tha yo wan phon numbe listin of This option dumps only to the screen. CURSOR MOVEMENT ... ADD: FIND: & EDIT: MODES ================================================== back a character = left arrow or ^S forward a character = right arrow or ^D or backspace beginning of f ield = ^A end of field ^F delete character = delete delete to end of field = ^Y next field = down arrow or ^X previous field = up arrow or ^E finished = ^Z or a while in last field Note: Arrow Keys are defined for Kaypro 83 =============================================================================== The KEY to using this program and extracting the information you want is in how the Idcodes are used. You could keep track of birthdays and anniversaries by using Idcodes like B7 (birthday in July) and A11 (anni- versary in November). The string search will find Birthdays in July no matter where it is entered in the IdCode. By pre-thinking what type of information you want you can set up IdCodes that will do exactly what you want. This program was written using "Turbo Pascal" and "Turbo Tool Box". The below commands ca als b use t rebuil AF5 databas tha ha corrupted Indexes, as long as is is only read U)nsorted. 1. AF5 DataBaseName {calling program} 2. L)ist {select list option} 3. D)ata base move/delete {select the move/delete option} 4. N {select no to reject option} 5. M)ove {select move option} 6. NewDataBaseName {enter new data base name} 7. U)nsorted {select to move unsorted} AF5SORT.COM ======================================== AF5SORT.CO͠ ca b use wit an databas create b AF5.CO t d thre leve sort ascendin o decending Th sor i limite t th firs character o eac sor field Th sor limitatio wa don s tha u t 90 record coul b sorte withou usin dis spac an t kee th spee o th sor a fas a possible AF5SOR wil allo u t subset t b define usin exac matches wildcard o strin searc o an o th subsets Th define subset ignor th case example subse 'MOm wil fin 'MOM' o 'mom o an uppe lowe cas combination Th subset wil allo fo exactin extractio o data Th sor routin wil us dis spac i needed bu thi wil slo dow th sor considerably Sinc th sor routin onl use th firs character o th sortin field thi shoul no happe unles th sor get t approximatel 90 records Record tha don' fal unde th define subset ar no sen t th sor routine AF5SOR doe no hav th abilit t b calle usin perimete file thi i t sav spac fo sorting. AF5.COM & AF5SORT.COM ----------- Written By: Roger S. McKee (using 'Borlands' Turbo Pascal 1107 2nd St. & Turbo Tool Box) Perry, Iowa 50220 11/9/86 For Public Use File: AF45.DOC  ͫCopyright (C) 1985 BORLAND IncBKaypro, no hiliteeedP=  E RC1B1~7#~=  oͦlԅ!!"~#(}:$= +*!6!*!!:(2!6:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k6!{6``o&  :(͠|(  *"x2y( >28!"9!! og2"">~22!:05+:!Co&ͦͣ} [ (!e|ͧA8Q0G: x@!\w# (̓ ?(*( .( x_. _!h6# (?( *( ̓( w#>?> w#ͧ 8 !ɿ .,;:=?*[]<>{}a{ |͵};Ɛ'@'7||}>2Ͱ*Bک  "og"2>2! ""*B"[Rv*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͻw}8( RB0 >( RrRR!+ ͱ R!+ ͱ s!+ ͱ s!+ ͱ s!# ͱ s!+ ͱ T]KB!z> S>))0 = | |́́DMgo>jB0 7?= H͓<z5b)b<z {0Gɯgo||}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } * W _}8(8J`9{T]=o`9y *  >( ͂ ͭ͘ }>( x‰ }} ˸T}ٕ(0D={ ,= ( ͓ 0%| , 7 ?(8ͭ x ͇ - s 8˸x ͐  ,-xG}s }مN 9s .>#n0͓ | = - nx ͈ ,-(-˸G,-s }ٕ?N 9.> 8ͭ ?= u+-(>͇ 0ͭ ͇ 8 ?x ͈ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցs <(s 7| = |٤g{٣_z٢Wy١Ox٠G| ͭ ͂ }x>( ͭ}ƀ/ƀo  -͂ }0͏-͂ ͏,}l˸ 8 5 ͘ x( - 8͂ - 8,͂ }l8;*!͘ ! >5ͭ͘ ͘ ͭ---  ,,,-xGg?+2n*8t z~,->( x( ͙}. ͇͂ , ! >5,ͣ- o&0% ,͘  }gs }؉}颋.:}8c~I$I~L*ͣٷx˸ }0G,<} ,-(-͂ !>J0 ͙͘ o8 ͇ >( m.`1pF,t6|!wS<.z}[|%FXc~ur1}͇ٯx(<˸ 8 !~J 0/O!>t 8 =  o t͘ ͇ /o 0 ͏-͂ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͭ͘ JØ oo ͘ = ͇ nf^VNF!DLT\I!!53!r1!͓!> x #-= o˸x͇(- }(x>8({ ,{ `iÄ!>( |s |́>)=|(DMbo˸88x(0 8> ́x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#~˸}րogM| .({ = ~> x0w#xG%͈ %͈ ZJDM%͈ = _~65+~hìx-Sx9?+{Η@}|{ { gZJDM0| ,7}o˸@ #yO!@9i&@  #@w#@/w#@w#!9! E9!!9~(+Fͻ!"9!(#>2*"| >"2:( ͷ *w*6 !\$![ (ͧ( #:~CONTRMKBDLSTCAUXUSR>2j:*ˮ~1:*:(@q##p[* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͻ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('l!0(ˮ]l!8ˮ!]~-#8~>27lˮw>O%7̄s #r%ͤ7̐ l ( (ˮ ql(ˮ ( l ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͻ>2}*|(̈́|( ̈́6-#[RM8( G> A~#*(C! !TRUEFALSE!9N#Z~#( G~#> >    "~(lѻ(( !0 (ˮ!!>2S{:1:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͯ*-w#ww##> ͯÂ""~>2:[R0 *4#4>2:[R> *4 #4(> >22*f(/˦:G(##~++ :O x yD!ͻ Q*:G(##~._.͛g<]=<͛*##w ͯ +4 #4x>>2:G("ͯ"*nˮ*0 S[ѷR8@* N#F#s#r- 0})jS\*##w+ N#FB ͯr+s>2!T]>)j)0 0= ^R!#^*^#V#N#F#^#V>2ͱ:1:*6 #-Nw#Fwq#p#6#w#w#w"~Â>">!DM!":*B:!>(>2>">!"2"~ʱ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pS[ѷR'* s#r$ s#rM <?*M!\  <( !\$>2>2M:>!(* \$\<(!4: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>* 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* vKB!1>( ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#L*L*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!G"" 'z*"*>2"*"!G"""!\*: Os!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͞O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%ã}ͧo*!~6o&|:2!2}:__{ѯ2*|KB " z ^C User break+=  I/O Run-time error {͵, PC=*ͰNot enough memory Program aborted :m'1!e!Z_B>[ES@"="?*!̀E[!!*=*Fp!*?*Fͻ!͓E[!! ""9";*;*C"7!}26!b*6&)^#V*7͓Eʬ!*6&!}26}!!L*6&)^#V*;*CF**9s#ræ""%"'*!̀E/"!*%*Fp!*'*FͿ!͓E/"! """*"*C"!}2!*E&!Rgzʗ"" *!b* )^#V̀Eʎ"!}2* #c"*&}2$*$&"0"2"4*40"}oEʺ#*4*C"*!}2)*2*C".*0*C",!b*)&)^#V*.̀!b*)&)^#V*,̀}oEC#*)&!}2)"!x*)&n&E{#!L*)&)^#V!b*)&)^#V !!L*)&)^#V**!!b*)&)**s#r!x*)&!s("*! E#*!  ! $* !!-E;#!!-!!-y%""**C"!}2!b*&)^#V*͓Eʈ$*&!}2Y$**C"!}2!b*&)^#V*͓E$*&!}2Ý$**CF"**CF"!L*&)^#V**"!L*&)^#V**"***e***e***e!x*&!s!x*&!s*A!E%!!+)!s#r!!+)*A!Rs#r!"%!"*!E~(!*+)^#V"!*+)^#V"*!R"*"*"**!W"***!*!͓EN&~(*!\!***e***!*!͓Eʉ&~(*!\!**!E&*!"***!*!\!*!͓E&~(Ô&***!*!͓E'~(*!\!**!E\'*!R"***!*!\!*!͓EY'~( '**͹Eʢ'**͓Eʇ'**8$*!"*!R"**Eg&**R**RE!(**E(*!"!*+)*s#r!*+)*s#r*"k(**Ee(*!"!*+)*s#r!*+)*s#r*"**ͦE &%"*!E}+*"$*  *  ! ! -!!  ! }2E*E&!E#)!}2E! -!  *E&"F*F!Eo)!*F!"F*F!"*!̀*F!}oEʰ)!!þ)*;#!!-*  "C*C!Et+!*!*!*E&!Rgz7*"!L*)**#*!"!"!}2!"A!"J!"H!*E&!Rgzʗ*"!b*)*s#r*#r*!*!̀E+!*E&!Rgz*"!x*!s*#**!̀E*5$!"*!̀E+!*&E$+!ͱ!͔*E&!R!wz]+"!L*)*{*+:+!*{!*{z+!"Ã+!"*"*"}*!̀E`-*A!̀Eʻ+! "*J!̀*H*E&ͦ}oE,*H*E&̀E\,!N SOWRK.$$$q!p!͓E",! "),!}2!*E&!Rgz\,"{!*{ !*{#?,!L*E&!R)^#V!b*E&!R)^#V !!b*E&!R)!b*E&!R)^#V!s#r*H*E&ͦE,*E&!R"y,*H"y!L*y)^#V*J*"w*}*w*e*A!"A*J!"J*J*C̀E`-!"J*H!"H"u*!̀Eʽ-**A!R*C}/o|/g#!*!s\!*s*u*e*!"**Aͦ*!͓}o}2r*r&"!"*"*G;N͎E.N!8.*G;!.e.>!!ͻͻ Id: *;!ͫN!1*;ͤRͫ*;!ͫ!-#*;!ͫ!-#*;!ͫ !ͻ* ;!ͫ! #*5;!ͫ! #!;!ͫ! #*I;!ͫ *T;N͡EI/!ͻ*T;!ͫ U/*!"*;N͡Eʊ/!ͻ*;!ͫ Ö/*!"*;N͡E/!ͻ*;!ͫ /*!"!ͻͻ *;!ͫͻ, *;!ͫͻ *;!ͫͻ H-Ph: *;!ͫͻ O-Ph: *,;!ͫ !ͻͻ *9;!ͫ !ͻͻ *!͓E0!*gz0"!ͻͻ *#í0"!"*"*G;N͎E 1N!%1*G;!.e.>!!ͻ* ;!ͫ! #*5;!ͫ! #!;!ͫ! #*I;!ͫ *T;N͡Eʺ1!ͻ! #*T;!ͫ 1*!"*;N͡E2!ͻ! #*;!ͫ 2*!"*;N͡EH2!ͻ! #*;!ͫ T2*!"!ͻ! #*;!ͫͻ, *;!ͫͻ *;!ͫͻ H-Ph: *;!ͫͻ O-Ph: *,;!ͫ !ͻͻ *!͓E*3!*gz*3"!ͻͻ *#3"*"!ͻ!"#* ;!ͫͻ","*5;!ͫͻ","*G;!ͫ *G;N͡Eʫ3!ͻ!.# !ͻͻ","*I;!ͫͻ","*T;!ͫͻ","*;!ͫͻ"," !ͻ*;!ͫͻ","*;!ͫͻ","*;!ͫͻ","*;!ͫͻ","*;!ͫ !ͻͻ","*;!ͫͻ","*;!ͫͻ","*;!ͫ!"# "!"*"*G;N͎E5N!"5*G;!.e.>!!ͻ*I;!ͫ! #*5;!ͫ! #!;!ͫ! #* ;!ͫ *T;N͡Eʱ5!ͻ*T;!ͫ ý5*!"*;N͡E5!ͻ*;!ͫ 5*!"*;N͡E36!ͻ*;!ͫ ?6*!"!ͻ*;!ͫͻ, *;!ͫ! #*;!ͫ !ͻ *!͓E6!*gz6"!ͻ *#î6"*"*G;N͎E7N!7*G;!.e.>!!ͻ* ;!ͫ! #*5;!ͫ! #!;!ͫ! #*I;!ͫ !!2* ;ͤ*5;ͤ!;ͤ*I;ͤRgz7"!ͻ!.# *#ý7!ͻ*;!ͫ P!!!;ͤgzF8"!*!*n&s*#8!;P!;!;;"}2*!Eʂ8!"!3!*s!3!**&O!3;P!!;͜!# " !P!!!!;͜!ͫͻ?  ͚!ͪ!E *&*s*n&! ^P}oEG98*n&! ^PE 9*&͜# !!͚͜ͻAF4SORT version 2: !;!ͫͻ ...database !!͚͜!-!O_8!ͫ !!͚͜!-!O_8!ͫ !!͚!!gz9:"!*!͚*#:"*"! !*;͜!ͫN!*;ͤRͫ !3!*;͜!ͫN!*;ͤRͫ !6!*;͜!ͫN!*;ͤRͫ !9!*;͜!ͫN!*;ͤRͫ !!* ;͜!ͫN!* ;ͤRͫ !#!*5;͜!ͫN!*5;ͤRͫ !=!*G;͜!ͫN!*G;ͤRͫ !G!*I;͜!ͫN! *I;ͤRͫ ! !*T;͜!ͫ ͚! ! *;͜!ͫ ͚! ! *;͜!ͫ ͚!!*;͜!ͫN!*;ͤRͫ !,!*;͜!ͫN!*;ͤRͫ !8!*;͜!ͫN!*;ͤRͫ ! !*;͜!ͫN! *;ͤRͫ !6!*,;͜!ͫ ͚! !*9;͜!ͫ ͚!!͚͜ͻEnter OutPut File Name ... !͏!!;p!"*!Eʀ>8!!͚͜ͻ&Improper File Name ... Press Any Key !ͪ!E*!̀E=!#P!8!8;!#;͎E>!}2>!}2*&!P!!;!;ͳ!̀E ?!}2?!}2*&!CP!X!}2!*e.!C;ͳ"9*9!̀Ed?!X;ͤ"9s?*9!R"9!X;ͤ!͓!X;ͤ*9ͦ}oE@!*9gz?"7!C*7n&!?͓E?!X*7n&!C*7n&͓E?!}2*7#ê?@!}2*&"2"4*&ARB*Rd@*4!+)));*2!+)));}26BR@*4!+)));*2!+)));*4!+)));*2!+)));͎*4!+)));*2!+)));}o}o}26BRB*4!+)));*2!+)));*4!+)));*2!+)));͎*4!+)));*2!+)));}o}o*4!+)));*2!+)));͎*4!+)));*2!+)));͎}o*4!+)));*2!+)));}o}o}26DDRD*R`B*4!+)));*2!+)));}26DRB*4!+)));*2!+)));*4!+)));*2!+)));͎*4!+)));*2!+)));}o}o}26DRD*4!+)));*2!+)));*4!+)));*2!+)));͎*4!+)));*2!+)));}o}o*4!+)));*2!+)));͎*4!+)));*2!+)));͎}o*4!+)));*2!+)));}o}o}26*6& :!!͜ͻ I)dcode ͜ͻ M)onth ͜ͻ D)ay ͜ͻ Y)ear ͜ͻ L)ast name ͜ͻ F)irst name ͜ͻ T)itle ͜ͻ  1) 2) or 3) address ͜ͻ C)ity ͜ͻ S)tate ͜ͻ Z)ip ͜ͻ" H)ome ph: or O)ffice ph: ͜ͻ R)emarks !"!"!"!"!"{!}2NUse Subsets: Y)es .. N)o ͂!N͒!Y͒!H8*H&!ỲEII!"!!͚͜ͻHow Many Subsets 1 thru 5  !F͏ !F;N͎EʚF!0e.!F!F;!D!*!̀*D͂!!͜P}oE9FD!"*!"NEnter Subset Field .. ͂!I͒!M͒!D͒!Y͒!L͒!F͒!T͒!R͒!C͒!S͒!Z͒!H͒!O͒!1͒!2͒!3͒!?*+8!!*͜ͻ..Subset Choice: *!'ͻ = !?*+n&# NAEnter Type of Subset .. M)atch .. W)ildcard .. S)tring search ͂!M͒!W͒!S͒!:*+8!!*͜ͻ Type Subset: !:*+n&# !!͚͜ͻEnter Subset String:  !*+))))͏ !*+))))!*+))));7!(!*!*+))));͜!ͫ **D̀EFNPress C)ontinue ͂!C͒!z8?N A)cending or D)ecending sort ͂!A͒!D͒!8N'How Many Levels of Sorting ... 1 to 3 ͂!1͒!2͒!3͒!s8*s&e.!!!"D*!"NEnter Sort Choice .. ͂!I͒!M͒!D͒!Y͒!L͒!F͒!T͒!R͒!C͒!S͒!Z͒!H͒!O͒!1͒!2͒!3͒!*+8!!*͜ͻ Sort Choice *!'ͻ = !*+n&# **̀EI*H&!ỲEʞK!"*!"!!*͜ͻ..Sub Choice: *!'ͻ = !?*+n&# ͜ͻ Type Sub: !:*+n&# ͜ͻ :!*+))));!ͫ **D̀EJ!{ !ͥ!ͷ !"!!͚!}2~!}2}!J}o*}&}o}oES*{!"{!ͥ!ͷ *!̀E,L!}2}8L*!"!!͜ͻ Reading Rec: *{!'ͻ Deleted Records: *!' *}&!̀ES*H&!ỲEʵO!"!}2~*!"!"!?*+n&IRL*;P!NDRM*;P!NMR2M*;P!NYRQM*;P!NLRpM* ;P!NFRM*5;P!NTR®M*I;P!NRRM*9;P!NCRM*;P!NSR N*;P!NZR*N*;P!NHRIN*;P!NORhN*,;P!N1R‡N*T;P!N2R¦N*;P!N3RN*;P!!;7P!!:*+n&MRO!;!*+))));͑>}oEO!}2~ÓOWRYO!;!*+))));?}oEVO!}2~ÓOSR“O!;!*+))));>}oEʓO!}2~**D̀*~&!̀}oEʷL*~&!̀*}&!̀}oES*!"!<!͜ͻ Sorting *!' !"!t"!t!!O*!"!"!*+n&IR|P!t*+)))*;!!lòSMR³P!t*+)))*;!!lòSDRP!t*+)))*;!!lòSYR!Q!t*+)))*;!!lòSLRXQ!t*+)))* ;!!lòSFRQ!t*+)))*5;!!lòSTRQ!t*+)))*I;!!lòSRRQ!t*+)))*9;!!lòSCR4R!t*+)))*;!!lòSSRkR!t*+)))*;!!lòSZR¢R!t*+)))*;!!lòSHRR!t*+)))*;!!lòSORS!t*+)))*,;!!lòS1RGS!t*+)))*T;!!lòS2R~S!t*+)))*;!!lòS3R²S!t*+)))*;!!l**̀E'P*{"!t͍+!}2K!JEK*&Eʂ[N1Output device : P)rinter ... S)creen ... F)ile ͂!P͒!S͒!F͒!^8*^&PRTNLST:!!!͚͜ͻ.Enter Page Length in # of Lines .. 4 to 200 ? !QO"*!̀*Q!ͦ}o*Q!͹}oE^T[USRTNCON:![UFR[U*^&!F̀EU=N#Option Not to Include Records Y/N ͂!Y͒!N͒!b8*^&͂!P͒!S͒PEʑU!!;p ! NLType of OutPut: C)omplete ... A)ddress ... M)erge ... L)abels ... N)ame Id ͂!C͒!A͒!M͒!L͒!N͒!a8!!͜ͻPress to abort ͚!"l!"d*a&CRWV!"f×VARjV!"f×VMR~VNR‡V!"f×VLR—V!"f :͠EV!ͪ!_E *_&͂!͒!X͒!x͒PEVZ!a-!* !ͥ!ͷ !"r*^&PRW*a&CR&W!-sWAR:W!0sWMRNW!+3sWLRbW!4sWNRsW!6*l*f"l*l*f*QEW*Q*lR"l*l!͓EW!*lgzW"O!ͻͻ *O#ÿW!"løZSRuY*l!̀EX!!*l!̀*l!̀}oEY!!͜ͻPress to continue ͜ͻ or to abort ͚!ͪ!_E *_&! ̀*_&!̀}oE{X*_&!̀EXZ!!͜ͻPress to abort ͚ :!"l!!*a&CRY!-fYAR-Y!0fYMRAY!+3fYLRUY!4fYNRfY!6*l*f"løZFR¸Z!O}2c*b&!ỲEZ :!::NHReject Option: ... O)k write record ... R)eject do not write record ͂!O͒!R͒!c8*c&!ÒEʸZ!!͚͜ͻ -- WORKING -- *d!' *d!"d*a&CRkZ!-øZARZ!0øZMR“Z!+3øZLR§Z!4øZNR¸Z!6;-EʚV*^&!S̀E[!!͜ͻPress  ͚!ͪ!_E *_&! ̀EZ*^&!P̀*l!͓}oEv[*Q*lR"l!*lgzv["O!ͻͻ *O#T[!j [!!͚͜ͻL============================= NO RECORDS FOUND ============================= ?!!͜ͻEnter DataBase File Name: ! ͏N.5DA!!;7 !!;!;>!!!;q!{"*!E\N2Data file missing. Do you want to try again (Y/N) ͂!Y͒!N͒!8*&!ỲE\[\t^n9 :N9Select : S)uperSort ... Q)uit ... R)un another database ͂!S͒!Q͒!R͒!8*&SR^!ͻ#"!!͚͜ͻ! Sort Result =  *!̀E]͜ͻGOOD *!' ]͜ͻBAD *!' N C)ontinue ... Q)uit ... ͂!C͒!Q͒!8*&!Q͓E)^ :*&!Q̀*&!R̀}oE\!{ *&!R̀Et^[?͜ͻ AF5SORT  ͜ͻ% Written By: Roger S. McKee ͜ͻ 1107 2nd ͜ͻ' Perry, IA 50220 ͜ͻ 11/9/86 ͜ͻ 1107 2nd ͜ͻ' CLAS10 FON ͩ)CLAS8 FON\ CLAS9 FONT #'CLASB10 FONr(CLASB8 FONx6 CLASB9 FONq6 $#CLASI10 FONr'CLASI8 FONx6 : CLASI9 FONp6 !ROMNL10 FON8v 5$ROMNL12 FONE{ t0FONTCONVEXEMY P10 REM This program written by John Porter 20 REM copyright (c) 1984 by John Porter 30 REM NOT TO BE SOLD 40 REM 3/13/84 50 VERSION= 2 60 DIM ISTR$(30),AUTH$(200),DATE$(200) 70 DEFINT I-N 80 REM DEFINE CLEAR SCREEN CHARACTER 90 CLS$=CHR$(26) 100 REM DEFINE BELL CHARACTER 110 BELL$=CHR$(7) 120 REM DEFINE DELIMITER USED TO SEPARATE COMMENTS FROM THE REFERENCES 130 NCHAR$="|" 135 IF ASC(NCHAR$)<128 THEN ICHAR$= CHR$(ASC(NCHAR$)+128) ELSE ICHAR$=CHR$(ASC(NCHAR$)-128) 140 REM SET SUBROUTINE TO CAPTURE ERROR CODES FOR INPUT FILES 150 ON ERROR GOTO 3000 160 PRINT CLS$:PRINT:PRINT "LITCIT - VERSION ";VERSION:PRINT 170 PRINT "This program locates references based on the first author and date" 180 PRINT " References should have single vertical spacing and" 190 PRINT " be separated from one another by double spacing." 200 PRINT 210 PRINT "References will be written to another file in the same format." 220 PRINT " and comments will be stripped off when they follow a: ";NCHAR$:PRINT 230 PRINT:PRINT "You will be able to use multiple input files on different" 240 PRINT " disks (or, if you want, the same disk). BUT YOU CAN NOT " 250 PRINT " CHANGE THE DISK THE OUTPUT FILE IS ON!!!!!" 260 IFILE=1 270 PRINT:PRINT:PRINT "PUT IN THE DISKS YOU WANT TO READ FROM OR WRITE TO" 280 INPUT " AND HIT A CARRIAGE RETURN";A$ 290 RESET 300 PRINT:PRINT 310 INPUT "What is the file name for INPUT";F1$ 320 DUM$=F1$ 330 GOSUB 1000 340 F1$=DUM$ 350 INPUT "What is the file name for OUTPUT";F2$ 360 DUM$=F2$ 370 GOSUB 1000 380 F2$=DUM$ 390 OPEN "I",#1,F1$ 400 OPEN "O",#2,F2$ 410 REM go read in authors and dates 420 PRINT 430 PRINT "Input the first author's last name and the year" 440 PRINT " for references to be listed" 450 PRINT 460 PRINT "Separate them by a comma" 470 PRINT "When done, put in just a comma" 480 PRINT 490 NKEY=1 500 INPUT "Author,date (just , to end)";AUTH$(NKEY),DATE$(NKEY) 510 IF AUTH$(NKEY)="" THEN 560 520 IF LEN(DATE$(NKEY))<4 THEN DATE$(NKEY)="19"+ DATE$(NKEY) 530 IF LEN(DATE$(NKEY))<>4 THEN PRINT "BAD DATE - REDO":GOTO 500 540 NKEY=NKEY+1 550 GOTO 500 560 PRINT CLS$ 570 NKEY=NKEY-1 580 REM this section reads in the references 590 REM the raw references are stored in array istr$ 600 WHILE NOT EOF(1) 610 NB=1 620 NREF=NREF+1 630 LINE INPUT #1, ISTR$(NB) 640 IF ISTR$(NB)="" OR ISTR$(NB)=SPACE$(LEN(ISTR$(NB))) THEN 670 650 NB=NB+1 660 GOTO 630 670 GOSUB 2000 680 PRINT CLS$:PRINT:PRINT :PRINT 690 PRINT ,"REFS CHECKED = ";NREF,"NUMBER OF MATCHES = ";NFOU 700 IF MC < 1 THEN GOTO 850 710 NFOU=NFOU+1 720 PRINT CLS$:PRINT:PRINT :PRINT 730 PRINT ,"REFS CHECKED = ";NREF,"NUMBER OF MATCHES = ";NFOU 740 PRINT:PRINT:PRINT 750 FOR I1=1 TO NB 760 I2=INSTR(ISTR$(I1),NCHAR$) 770 IF I2=0 THEN I2=INSTR(ISTR$(I1),ICHAR$) 775 IF I2=0 THEN 820 780 PRINT #2, LEFT$(ISTR$(I1),I2-1) 790 PRINT LEFT$(ISTR$(I1),(I2-1)) 800 IF I2>1 THEN PRINT #2 810 GOTO 600 820 IF LEN(ISTR$(I1))=255 THEN PRINT #2,ISTR$(I1); :ELSE PRINT #2, ISTR$(I1) 830 IF LEN(ISTR$(I1))=255 THEN PRINT ISTR$(I1); :ELSE PRINT ISTR$(I1) 840 NEXT I1 850 WEND 860 CLOSE #1 870 FOR I= 1 TO 10:PRINT BELL$:NEXT I : PRINT CLS$ 880 IFILE=IFILE+1 890 PRINT:PRINT:PRINT "Place the disk with input file #";IFILE;" in a disk drive" 900 PRINT" DO NOT remove the disk containing the output file!!!!!" 910 PRINT: PRINT 920 PRINT:INPUT "What is the new INPUT file name (Hit 'RETURN' to end)";F1$ 930 DUM$=F1$: GOSUB 1000: F1$=DUM$ 940 IF F1$ = "" THEN CLOSE:PRINT BELL$,BELL$:PRINT "FINISHED":PRINT:PRINT NREF;"References checked",NFOU;"put on output file: ";F2$:PRINT:PRINT:SYSTEM:END 950 OPEN "I",#1,F1$ 960 GOTO 600 970 END 1000 REM this subroutine converts strings to upper case. It also eliminates 1005 REM spaces and resets the high order bit to 0 1010 REM input the string to be cleaned as DUM$ 1020 DUM1$="" 1030 FOR I1=1 TO LEN(DUM$) 1040 I2=ASC(MID$(DUM$,I1,1)) 1050 IF I2>90 THEN IF I2>127 THEN I2=I2-128:GOTO 1050:ELSE I2=I2-32: GOTO 1050 1060 DUM1$=DUM1$ + CHR$(I2) 1070 NEXT I1 1080 DUM$=DUM1$ 1090 RETURN 2000 REM this section checks for matches with keys 2010 MC=0 2020 FOR I2=1 TO NKEY 2030 IF AUTH$(I2)=LEFT$(ISTR$(1),LEN(AUTH$(I2))) THEN IF INSTR(ISTR$(1),DATE$(I2))<>0 THEN:MC=MC+1:GOTO 2050 2040 NEXT I2 2050 RETURN 3000 REM ERROR TRAPPING ROUTINE 3010 IF ERR=53 AND ERL=950 THEN PRINT "INPUT FILE NOT FOUND - TRY AGAIN":PRINT:RESUME 890 3015 IF ERR=62 THEN CLOSE #1:PRINT"IMPROPER END TO FILE - LAST REF MAY HAVE BEEN MISSED":RESUME 880 3020 REM RE-ENABLE ERROR TRAPPING FOR OTHER FATAL ERRORS 3030 ON ERROR GOTO 0 E - LAST REF MAY HAVE BEEN MISSED":RESUME 880 3020 REM RE-ENABLE ERROR TRAPPING FOR OTHER F10 REM This program written by John Porter 20 REM Dept. Environmental Sciences, Univ. of Virginia 30 REM Charlottesville, VA 22903 40 REM copyright (c) 1984 by John Porter 50 REM NOT TO BE SOLD 60 REM 3/13/84 70 CLEAR,46999! 80 VERSI$ =" 9" 90 DIM ISTR$(30),CSTR$(30),KEY$(30,5,15),NKEY(15) 100 DEFINT I-N 110 DEF USR1=47000! 120 REM DEFINE CLEAR SCREEN CHARACTER 130 CLS$=CHR$(26) 140 REM DEFINE BELL CHARACTER (SET TO "" IF YOU DON'T WANT THE BELL) 150 BELL$=CHR$(7) 160 REM DEFINE ERROR TRAPPING ROUTINE FOR INPUT FILE ERRORS 170 ON ERROR GOTO 4000 180 PRINT CLS$:PRINT:PRINT "REFFIND - VERSION ";VERSI$:PRINT 190 PRINT "This program locates key strings within references." 200 PRINT " References should have single vertical spacing and" 210 PRINT " be separated from one another by double spacing." 220 PRINT 230 PRINT "References that contain the appropriate key strings will" 240 PRINT " be written to another file in the same format." 250 PRINT:PRINT "You will be able to use multiple input files on different" 260 PRINT " disks (or, if you want, the same disk). BUT YOU CAN NOT " 270 PRINT " CHANGE THE DISK THE OUTPUT FILE IS ON!!!!!" 280 IFILE=1 290 PRINT:PRINT:PRINT "PUT IN THE DISKS YOU WANT TO READ FROM OR WRITE TO" 300 INPUT " AND HIT A CARRIAGE RETURN";A$ 310 RESET 320 PRINT:PRINT 330 REM THIS READS IN THE MACHINE LANGUAGE SUBROUTINE USR1 340 FOR I=0 TO 70 350 READ J 360 POKE I+47000!,J 370 NEXT I 380 INPUT "What is the file name for INPUT";F1$ 390 DUM$=F1$ 400 GOSUB 2000 410 F1$=DUM$ 420 INPUT "What is the file name for OUTPUT";F2$ 430 DUM$=F2$ 440 GOSUB 2000 450 F2$=DUM$ 460 OPEN "I",#1,F1$ 470 OPEN "O",#2,F2$ 480 REM *************** go read in key strings 490 NSET=1 500 NKEY(NSET)=1 510 PRINT 520 PRINT "Input KEY STRINGS" 530 PRINT "Up to 5 keys may be input on a single line, separated by commas." 540 PRINT "When more than one key string is input per line, ALL of the " 550 PRINT "key strings in the line MUST OCCUR in a reference for it to be" 560 PRINT "included. " 570 OLDK$=K$ 580 PRINT 590 PRINT "Input key string (Input 2 empty key strings to start search) " 600 LINE INPUT K$ 610 ICOM=0 620 IKEY=1 630 IF K$="" THEN 670 640 NCOM=ICOM: ICOM=INSTR(ICOM+1,K$,","):IF IKEY>5 THEN PRINT"EXTRA KEY(S) IGNORED":GOTO 570 650 IF ICOM><0 THEN KEY$(NSET,IKEY,NKEY(NSET))=MID$(K$,NCOM+1,(ICOM-NCOM-1)):IKEY=IKEY+1:GOTO 640 660 KEY$(NSET,IKEY,NKEY(NSET))=MID$(K$,NCOM+1):NKEY(NSET)=NKEY(NSET)+1:PRINT:PRINT " OR":GOTO 570 670 IF OLDK$<>""THEN NKEY(NSET)=NKEY(NSET)-1:NSET=NSET+1:NKEY(NSET)=1:PRINT:PRINT "***** AND *****":GOTO 570 680 NSET=NSET-1 690 PRINT #2, "-SET"," KEY" 700 FOR I1=1 TO NSET 710 FOR I2=1 TO NKEY(I1) 720 FOR I3=1 TO 5 730 DUM$=KEY$(I1,I3,I2) 740 GOSUB 2000 750 KEY$(I1,I3,I2)=DUM$ 760 NEXT I3 770 PRINT #2,I1,KEY$(I1,1,I2);",";KEY$(I1,2,I2);",";KEY$(I1,3,I2);",";KEY$(I1,4,I2);",";KEY$(I1,5,I2) 780 NEXT I2 790 NEXT I1 800 PRINT #2,"" 810 PRINT CLS$ 820 REM this section reads in the references 830 REM the raw references are stored in array istr$ 840 REM compressed, upper case refs are stored in cstr$ 850 REM overlapping words are stored in ostr$ 860 WHILE NOT EOF(1) 870 NB=1 880 NREF=NREF+1 890 ISTR$(1)="" 900 OSTR$="" 910 LINE INPUT #1, ISTR$(NB) 920 DUM$=ISTR$(NB):GOSUB 2000:CSTR$(NB)=DUM$ 930 IF CSTR$(NB)<>"" THEN NB=NB+1:GOTO 910 940 FOR I1=1 TO NB 950 IF LEN(ISTR$(I1))=255 THEN OSTR$=OSTR$+RIGHT$(ISTR$(I1),12)+LEFT$(ISTR$(I1+1),12) 960 NEXT I1 970 DUM$=OSTR$:GOSUB 2000: OSTR$=DUM$ 980 GOSUB 3000 990 PRINT CLS$:PRINT:PRINT :PRINT 1000 PRINT ,"REFS CHECKED = ";NREF,"NUMBER OF MATCHES = ";NFOU 1010 IF MC0 THEN GOTO 3110 3090 NEXT I3 3100 IF INSTR(OSTR$,KEY$(I1,I4,I2))=0 THEN GOTO 3130 3110 NEXT I4 3120 MC=MC+1: GOTO 3150 3130 NEXT I2 3140 RETURN 3150 NEXT I1 3160 RETURN 4000 REM ERROR TRAPPING ROUTINE 4010 IF ERR=53 AND ERL=1180 THEN PRINT "INPUT FILE NOT FOUND - TRY AGAIN":PRINT:RESUME 1120 4020 IF ERR=62 THEN CLOSE #1:PRINT "IMPROPER FILE END - LAST REFERENCE MAY BE IGNORED":RESUME 1110 4030 REM RE-ENABLE ERROR TRAPPING FOR OTHER FATAL ERRORS 4040 ON ERROR GOTO 0 5000 REM THIS IS THE DATA FOR THE ASSEMBLY LANGUAGE SUBROUTINE 5010 DATA &HEB,&H46,&H0E,&H00,&HE5,&H23,&H5E,&H23,&H56,&HEB,&H11 5020 DATA &HDF,&HB7,&H78,&HA7,&HCA,&HD0,&HB7,&H7E,&HE6,&H7F,&HFE 5030 DATA &H5B,&HDA,&HB7,&HB7,&HD6,&H20,&HC3,&HAD,&HB7,&HFE,&H2D 5040 DATA &HDA,&HCB,&HB7,&HFE,&H41,&HD2,&HC6,&HB7,&HFE,&H3B,&HD2 5050 DATA &HCB,&HB7,&HEB,&H77,&H23,&H0C,&HEB,&H05,&H23,&HC3,&HA5 5060 DATA &HB7,&HE1,&HE5,&H71,&H11,&HDF,&HB7,&H23,&H73,&H23,&H72 5070 DATA &H3E,&H03,&HE1,&HEB,&HC9 HEB,&H05,&H23,&HC3,&HA5 5060 DATA &HB7,&HE1,&HE5,&H71,&H11,&HDF,&HB7,&H23,&H73,&H23,&H72 5070 DATA &H3E,&H0 REFIND, LITCIT and REFSRT USER'S GUIDE ed. 4 2/85 Introduction Th REFIN progra an th accompanyin LITCI progra ar designe t hel yo kee trac o references Whil ther i n limi t th numbe o reference tha ca b handle b th system wit reall lon list th searc tim coul becom prohibitive I orde t reduc th limitation o referenc lengt an format th program bot sca throug you referenc data-bas on referenc a time Thi i no th fastes possibl way bu i beat doin th sam wor b han ( hope!!!) Befor usin eithe progra o data-bas MAKŠ SUR THAԠ YO HAV MAD BACKU COP OƠ THŠ DATA-BASE Hopefully thi wil no b necessary bu it bette t b safe. Settin u you referenc data-base Reference ma b se u i an forma tha yo desir fo th REFIN program Th LITCI progra currentl require tha th firs author' las nam appea first Reference ma als b fairl lon (3 lines 500 characters) I additio t th referenc itself yo ma wan t includ keyword an note abou th content o reference Thes ma b appende t th referenc followin delimite character us a m delimite characte an th LITCI progra i se u t recogniz it However i thi cause problem i i easil changed. Reference ar entere usin an wor processin program Th onl limitatio i tha the mus b singl space withi referenc an double-space betwee references An "control o othe non-printin character tha occu i th data-bas fil wil b properl copie t th outpu file. SAMPLE Correct:  Beacham T.D 1980 Growt rate o th vol Microtu townsendii durin populatio cycle Oiko 35:99-106. Beacham T.D an C.J Krebs 1980 Growt rate o aggressiv an docil vole Microtu townsendii Amer Midl Nat 104:387-389. Aren trial - docil vole 50 gre faster Incorrect: Fisher A.R an R.G Anthony 1980 Th effec o soi textur o distributio o pin vole i Pennsylvani orchards Am Midl Nat 104:39-46. |Microtu pinetoru an M pennsylvanicus 1 REFIND, LITCIT and REFSRT USER'S GUIDE ed. 4 2/85 Al o th data-bas nee not b i th sam file o fo tha matter eve o th sam dis fo us wit REFINĠ an LITCIT Bot program permi multipl inpu files. Usin REFIND Bot REFINĠ an LITCI ar writte i Microsof BASIC-8 (usuall know a MBASIC) Therefore th dis wit th REFIN an LITCI program mus als hav cop o MBASI o it Th utilit program REFSRԠ an QREFIN ar writte i machin languag an REFIN als ha machin languag subroutin i it Thi mean tha REFSRT QREFIN an REFIN onl ru o machine wit 808 o Z-8 microprocessors. T ru REFIN type: MBASI REFIND Th progra wil the loa an ru automatically Onc th progra ha loaded yo ma remov th dis containin th progra an MBASI interprete an substitut dis containin data. REFIND' instruction ar prett straigh forwar wit respec t definin inpu an outpu files I shoul b note tha character othe tha letter an number ma ge "lost i th fil names Don't forget to specify drives, if necessary. Settin u yo searc key i mor complex bu onc yo ge th han o it i shoul g prett easily REFIN allow yo t pu u t searc key o line separate b commas I mor tha on ke i o line tha all key o lin mus b i referenc fo matc t occur Mos o th tim onl on ke i inpu pe line A exampl o multipl ke is "Niche,overlap - onl reference containin both "niche an "overlap woul matc thi multipl key Key (multipl an single ma b OR'e together Fo instanc堠 i栠 yo inpu a keys "Niche,overlap an "competition" reference wit either "competition O nich an overlap Key that are OR'e togethe ar calle SETӠ o keys. Finally set o key ma b AND'e together Thi mean tha matc t a leas on ke (multipl o single mus b foun䠠 withi every set Fo example "niche,overlap O "competition ANĠ "1980 OҠ "1981 woul outpu cop o reference fro 198 an 1981 tha containe eithe th wor "competition o bot th word "niche an "overlap". I orde t g t ne se o keys jus inpu blan key Whe you'r finall read t star th search jus inpu tw blan key i row. 2 REFIND, LITCIT and REFSRT USER'S GUIDE ed. 4 2/85 N distinctio i mad betwee uppe an lowe cas letter b REFINĠ an QREFIN (thi i no th cas fo LITCIԠ an REFSRT) s key ma b inpu i an case o mixe cases. Whe puttin i th keys ther ar fe thing yo ca d t mak th progra ru slightl faster Firs pu set o key tha ar likel t hav fe matche i first Secondly whe usin multipl keys pu th "rarest ke i first Th outpu fil fro REFIN wil contai lis o th key use t creat th fil a wel a al th reference tha matche th keys You wor processo ca b use t edi o prin ou th file jus a yo woul an othe file Th outpu fil ma eve b use a th inpu fil t futur REFINĠ o LITCIT run or sorted using the REFSRT program. Usin LITCIT LITCIԠ i companio progra t REFIND It purpos i t hel compos bibliograph directl fro you data-base It' searche ar base solel o th firs author' las nam an o th yea o publication I als strip of al comment an keyword tha follo th delimite "|"  LITCI i ru basicall th sam wa a REFIND excep tha i wil as onl fo th firs author' las nam an th yea a keys Whe puttin i th year i i onl necessar t specif th las digit i it i i th twentiet century Unlik REFIND LITCI pay attentio t uppe an lowe cas letters B sur t capitaliz th fir lette o authors names! Usin REFSRT Thi i utilit tha sort th file inpu t an outpu fro REFIN an LITCIT I operate ver simply jus type: REFSR infil outfile fro CP/ wher infil i th unsorte fil nam an outfil i th fil o whic yo wan th sorte fil placed REFSRԠ doe sor base o th entir reference I doe no pa an particula attentio t authors names Thi mean tha th sorte fil wil b correctl sorte b th firs  author' las nam (sinc i appear first) bu wil probabl no b correctl sorte fo additiona authors Th tota lengt o th inpu fil ca b u t 42 an take abou minute t b processed. 3 REFIND, LITCIT and REFSRT USER'S GUIDE ed. 4 2/85 Using QREFIND Thi i utilit fo doin quic sca o dat fil fo singl key Reference tha contai th ke wil b liste t th scree only an no t file It primar us i fo determinin i referenc ha alread bee entered t sav th time and trouble of entering it again. To run type: QREFIND infile key wher infil i th dat fil containin th reference an ke i th ke strin t b searche for I th ke contain spaces it must be enclosed in quotes. Potentia BUGS 1 I non-printin character occu betwee th carriag return use t separat references extraneou reference ma b "carrie along sinc th progra wil thin th tw reference ar reall on lon reference. 2 Sometime WORDSTA hook non-printin character t th fron o lines Thi ma caus LITCI t mis som firs authors' names. 3 I doin it searches REFINĠ ignore blank an mos punctuation A resul i wil occasionall fin matche tha resul fro puttin togethe th las par o on wor wit th beginnin o another. 4 REFIN an LITCI ma mis th las referenc i fil i th fina referenc i eac fil i no terminate properl wit tw carriag returns Thi i becaus the onl chec fo th en o fil marke between no within references messag informin you of the condition will be printed on the console. 5 I reference ar lef an righ justified REFSR ma no sort as well since the extra spaces are counted in the sort. If you have any problems/comments/suggestions write or call: John Porter Department of Environmental Sciences Clark Hall University of Virginia Charlottesville, VA 22903 Phone: (804) 924-6846 REFIN and LITCI copyrigh (c 198 b Joh Porter QREFIND copyright (c) 1985 by John Porter MBASI refer t BASIC-8 2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#.¶66*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y*:":l.3::2:":|!}Ž!.3ʤ!‘!/3>G>)͢3é!#ͫ'͜))̓(Ͱ0!͐&+ͽ1#͜%! /3,(r&͐&͜))̓(G(~m7#^#V#"Ͱ0)))R~+̽1G~`2:2:#~2:~?>S"=2:#^#V#^#V#":^#V":::}"*:!::@ʎ"":*:#w":*:~ʪ"µ"*ͽ19+":*:+":!=":6!=":*:~*:*:s#r#*:s#r#*:s#r#*:s#r#*:s#r#::w#":*:*:s#r#*:s#r#*:s#r#*:s#r#*:s#r#::w#":*:+~2:+V+^+":V+^+":V+^+":VÎ Þ k  Z ×  '!9DM! QREFIND v1.2 ͡! ~#fo+++|(!Usage: qrefind ͤ͡*! ~#fo##~#foͧ#|m!LcCan't open input file ͤ͡! w#w!{Ð Reading Input File ͡*! ͪ|Z ! ! ͭ! Ͱ *! ͪ| ! ! ͳ! Ͱ  ÷! ^#Vr+s! # Searching %dͶ! ~#fo~#fo! !͹|W ! ͼÕ*Ϳ!9t J@!9DM`i6#6! ~#fo! s#r! ~#fon ! s#r!ʿ ! ~#fo#| ! ! ^#Vr+s! ~#fos{ ! ~#foS ! ~#fo! ~#fo#P ! ~#fo++n} P ! ~#fo A ! ^#Vr+s6 P ! ^#Vr+s6Î `i^#Vr+szʎ ! ~#fon ! s#rzʎ ! ~#fo ! ~#fo¶ ! ~#fo! ~#foq ! ~#fo6! ~#fo !9 õZ !9DM! w#w! ~#fo+`is#r! ~#fo! ~#fo! s#r! ^#Vr+sn! s{ ! ~#fo| `i^#Vr+s! ~#fon! s! w#w! n& ! n&  ! ^#Vr+s! ~#fo! ~#fon! s! ~#fo! ~#fo+n! s! n} ! 6#6]  ! ~#fo| `i6#6`i~#fo !9 áZ !9DM! ! ^#Vr+sn`is{Q `in& `is`in&  !9!9DM! n&҃ ! n&! s! n&Ô á!9DM͐n}ʾ ! ^#Vr+sn&͑ Ü !9DM! ~#fo!͐ s#rz !! ~#fo##w#w! ~#fo~#fo!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{J $ ͐Q !9!9DM`iw#w! ^#Vr+sn}ʇ `i^#Vr+sh ͐Î !9!9DM͐`is#r͐n} ! ^#Vr+sé ! ^#Vr+s͐ns! ^#Vr+sn} ͐ !9Î !y9DM! `i `i !9-!9DM! ~#fo~#fo*VSf!9DM͐|mM7͐+++|„!P7! ~#fo##^#Vr+szʶ! ~#fo^#Vr+sn&7!! ~#fo! ~#fo~#foS`is#r!!7! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&7!9F!9DM͐|e! n&C! ~#fo##~#fo!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!û3!9DM! n&͸|! n&! n&b ;õ!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{$`in}%! ! s#r! 6#6! s! s͐n}-‡! ^#Vr+s! 4͐n&}ʤ! ç!! s#r! ^#Vr+sn`is{.! ! s#r! 4! ^#Vr+sn`is`in&}DUWX`OiCʯS͐~#fo|W! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 o! 6o! 6! ~#fo! n&! ^#Vr+s~#fo! ѯgs#rX! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sX! n}! 6#6! ^#Vr+s~#fo! s#r͐n}X͐|X! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}›! ^#Vr+s!қ! ^#Vr+s6 t͐! ^#Vr+sns{! ^#Vr+sÛ! n}! ^#Vr+s!! ^#Vr+s6  ! ^#Vr+s`ins!! ^#Vr+s`ins+͐6!9!9DM! n&aͯ^! n&zͯhb!9DM͐͐ Ҹ͐^#Vr+s͐ ҥ͐0í͐7s!&͐ ͐͐ ͉͐e`is͐ ͐͐ )͐e`in&#&!9!9DM! n&0ͯ7! n&9ͯA !9DM`iw#w͐~#fon&>}ʎ͐ ?͐^#Vr+snѯg`is#rO͐Õ!9   »  ÿ_ 7,2q*&:q):==r:qo&#:wo-2w&!o P . &7:O*o`7:)~:,"s!"u*|ʼ**s! ~¼6*u*+"*"*u#"uÈ:wo2w&"*K͞+&'+FÎr7 :2!q: ʊ *M8 ^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#.¶66*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y*:":l.3::2:":|!}Ž!.3ʤ!‘!/3>G>)͢3é!#ͫ'͜))̓(Ͱ0!͐&+ͽ1#͜%! /3,(r&͐&͜))̓(G(~m7#^#V#"Ͱ0)))R~+̽1G~`2:2:#~2:~?>S"=2:#^#V#^#V#":^#V":::}"*:!::@ʎ"":*:#w":*:~ʪ"µ"*ͽ19+":*:+":!=":6!=":*:~*:*:s#r#*:s#r#*:s#r#*:s#r#*:s#r#::w#":*:*:s#r#*:s#r#*:s#r#*:s#r#*:s#r#::w#":*:+~2:+V+^+":V+^+":V+^+":V ß ^æEsÖ  uÚ!9DM! REFSRT v1.2 ͡! ~#fo+++|5! +Usage: refsrt ͤ͡*! ~#fo##~#foͧ#|z!YpCan't open input file ͤ͡*w#w!à Reading Input File ͡`iw#w`i^#Vr+s! *! ͪ| ! ! ͭ! Ͱ^ *! ͪ|^ ! ! ͳ! Ͱ[ `i~#fo!6 R Ref. %d too long, broken upͶ^ ! Ͱ#͹*s#rz ! Out of allocation space File too large, try splitting the file ͤ͡*^#Vr+s)**~#fos#r! *~#foͭë*ͼ`i~#foc !2 Y Too many refs. Try splitting the file ͤ͡`i~#fo!p à Sorting %d Refs. Ͷ*!*~#fo*Ϳ! Outputing Sorted Refs. ͡*! ~#fo~#fo#| !  Can't creat output file ͤ͡`iw#w`i~#fo*~#foc *`i~#fo)*~#fo`i^#Vr+s *!**ͼ! Ñ All done. ͡!9è !9DM`i6#6! ~#fo! s#r! ~#fo͢ ! s#r! ! ~#fo#| ! ! ^#Vr+s! ~#fos{ ( ! ~#fo‡ ! ~#fo! ~#fo#҄ ! ~#fo++n} „ ! ~#fo u ! ^#Vr+s6 Ä ! ^#Vr+s6 `i^#Vr+sz ! ~#fo͢ ! s#rz ! ~#fo ! ~#fo ! ~#fo! ~#foͥ ! ~#fo6! ~#fo !9 æ!9DM! ~#fo~#fo`is#r! ~#fo~#fo! s#r! w#w`i~#fo! ~#fon& ! ~#fo! ~#fon& ¥ `i~#fo! ^#Vr+sn}¢ ! D `i~#fo! ~#fon& ! ~#fo! ~#fon&  !9 u!9DM! 6! ^#Vr+sn`is{ʗ`in} (`in}E! n}E! ~#fo! ! n} k`in} k! ~#fo! `in! s! ~#fo`in& #|”!Ý !Ý!9!9DM! n&! n&! s! n&!9DM͐n} ! ^#Vr+sn&/!9DM! ~#fo!͐s#rz@!! ~#fo##w#w! ~#fo~#fo!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʖp͐Ý!9!9DM`iw#w! ^#Vr+sn}`i^#Vr+sô͐!9!9DM͐`is#r͐n} ! ^#Vr+s! ^#Vr+s͐ns! ^#Vr+sn} ͐<!9NÆ!y9DM! `iH`iK!9ys!9DM! ~#fo~#fovÜ!9DM͐͐?! s#r͐! s#r͐͐͐?`is#r͐͐! s#r͐! s#r͐ ! s#r͐͐ ͐͐ ! s#r͐|͐͐͐͐͐!w!9~#foچ͙͐͐͐͐͐! ~#fo͐s#rD! ~#fo͐s#r! ~#fos#r!9vË!9DM͐! ~#fo͐s#rz8!! ~#fo! ~#fos#r! ~#fo##6#6! ~#fo~#foÁü!9DM͐+|¡! n&x͐++|¿! n&!{͐+++|! n&!{! ~#fo##^#Vr+sz! ~#fo^#Vr+s! ns&!! ~#fo! ~#fo~#fo~I!! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+s! ns&æ7È!9DM͐!! ~#fo##~#fo!! ~#fo##~#fo`is#r͐! ~#fo! ~#fo~#fo͐͝7!͐+?`is#r! ~#fo##~#fo|!! ~#fo! ~#fo͐͠! ~#fo##~#fo͐s#r! ~#fo~#fo͐s#r!!! ~#fo~#foͣ! ~#fo##6#6! ~#fo! ~#fos#r!!9'ü(!9DM͐|>͐+++|U!!! ~#fo##^#Vr+szʇ! ~#fo^#Vr+sn&!! ~#fo! ~#fo~#fo$`is#r!!! ~#fo##6#6! ~#fo! ~#fos#r! ~#fo^#Vr+sn&!9Þ!9DM͐|6! n&! ~#fo##~#foR!! ~#fo^#Vr+s! ns! ~#fo##^#Vr+s!Õ"^!i9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʽ`in}%§! ! s#r! 6#6! s! s͐n}- ! ^#Vr+s! 4͐n&͌}=! ͏@!! s#r! ^#Vr+sn`is{.ˆ! ͏! s#r! 4! ^#Vr+sn`is`in&͒}DʴUXOCHSyÑ͐~#fo|! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ! 6! 6! ~#fo! n&! ^#Vr+s~#fo! ͉ѯgs#r! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s! n}Œ! 6#6! ^#Vr+s~#fo! s#r͐n}͐|! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sç͐6! ! s#r! n}4! ^#Vr+s!4! ^#Vr+s6 ͐! ^#Vr+sns{]! ^#Vr+s4! n}ʎ! ^#Vr+s!Ҏ! ^#Vr+s6 gä! ^#Vr+s`insú! ^#Vr+s`ins͐6!9!9DM! ^#Vr+sz͐n`is! ^#Vr+s͐ ns! ^#Vr+s`ins!9("!9DM͐͐ x͐^#Vr+s͐ e͐0m͐7s!&͐ ͐͐ ͉͐%`is͐ ͐͐ )͐%`in&#&!9!9DM! n&0ͯ! n&9ͯ!9DM`iw#w͐~#fon&}N͐ ?͐^#Vr+snѯg`is#r͐U!9dÖ!9DM! n&a|ʋ! n&Ð! n&!9DM! n&aͯ! n&zͯ  *+*|/g}/o#9#"z{    _ #7,2q*&:q):k=k=r:qo&# !\&!Ôv/7*͎\!*͑7:O*o`7:)~:,"s!"u*|*u5*~# "*s*u5#"u*+"7*|DM**͂f>Goy$u2MAST CATX!9"&1&͂ͱ:] !] \](#bR"*!a#˾ x ͂:1(͒::1/21ͱ:1K!~a8ˮ#!bK*(K(?( #+bR~( (  >-_̈́# x~ ͱ*&ͣ  !w#  x !U+| ( *** LOOKUP3 *** )Copyright 1987 Jim Schenkel, Seamless Web Software Revision date: March 6, 1987( $ +++Cannot find the data file+++ $ +++File overflow+++ Data file has been truncated $ )--> ($ )==> ($ $ T$FOG20 FON70FOG46 FON^FOG75 FONn 4FOG9 FON Z FOG90 FONGin hMATH12 FON iMAC-AD18FON1O\tROMN7 FON:m O *** LOOKUP3.DOC *** Copyright 1987 Jim Schenkel, Seamless Web Software (may be copied freely for noncommercial use) LOOKUP i stripped down versio o DIALER21 whic wa i tur reworkin o th firs versio o LOOKUP bot o whic wer previousl submitte t th FO library Yo ca us LOOKUP i yo wan jus it speed looku featur withou th clutte o a autodialer LOOKUP i general-purpos searc routine an wil wor wit an asci file usin carriag return a recor delimiters I i particularl usefu fo searchin throug th MAST.CA fil generate b NCAT LOOKUP wil als wor properl wit file create i WordSta "documen mode, an contain a "exac match toggl t permi searchin fo bot uppe an lowe case. Th dat fil ca hav line o an length Th "records ar delimite wit carriag returns LOOKUP use MAST.CA a it defaul dat file I yo jus type A>LOOKUP3 th progra wil loo fo fil name MAST.CAT o th currentl activ dis drive Yo ca als specif th fil t use Fo example: A>LOOKUP3 B:FONEBOOK.DAT wil loa th fil FONEBOOK.DA fro dis driv B a th dat file Alternatively yo ca chang th defaul fil name (Se PATCHES.) LOOKUP3 trie t loa th entir dat fil int memory Roughl 48 wil fit I th dat fil i to larg i i truncated B alway addin ne informatio t th TO o you dat fil yo wil ensur tha onl th oldes dat get loppe off Yo wil als reduc th searc tim (althoug th searc i s fas tha thi rarel matters). LOOKUP3 allows two alternate search criteria: 1. UPPER CASE Prompt: '--> Input: upper or lower case--converte t al uppe case. Outpu: line tha contai th searc strin i FUL UPPE CAS ONLY. 2. Exact Match Prompt: '==>' Input: upper, lower or mixed case--no conversion is done Outpu: line tha contai th searc strin wit a Exact Match. Hitting RETURN toggles you between the two modes. (NOTE Earlie version o LOOKUP wer limite t th uppe cas search an coul no fin lowe cas i th dat fil withou patching Th ide wa t requir th searchabl dat t b i uppe cas only s tha lowe cas coul b use a non-searchabl comments Th exac matc toggl allow fo lowe cas searches bu ma requir severa attempt t ge th righ combinatio i uppe an lowe cas ar mixed.) Th searc strin ma b u t 12 byte long questio mar i "wil card tha wil matc an character (Bu i questio mar i th firs characte i th strin i i treate literally.) Th entir fil i searched Whe matc i found th lin containin th strin appear o th screen Th outpu ca als b sen t th printe usin th CP/ convention ^P. T exit typ CONTROL- (^C a th arro prompt. PATCHES ======= Defaul fil nam 0103 - 010Dh Default='MAST CAT' --------------------------------- Mus b exactl 1 byte long i th for 'FILENAMETYP -- n perio betwee nam an type Pa th nam an typ wit blank (asci 20h) Autostart byte = 0149h Default=20h ---------------------- Chang thi locatio t 43 i yo wan DIALE t execut automaticall afte col boot readin th defaul dat file Renam th progra a AUTOST.COM. (Hackers note Thi i necessar becaus th 'comman tail i NO cleare upo col boot bu contain copyrigh notice DIALE look fo spac a th firs characte o comman tai t decid whethe o no t us th defaul dat file o col boo i wil fin lette 'C instead an wil dro ou wit a erro message Thi chang i neede t fak i int loadin th defaul dat file Not tha yo mus thereafte specif fil nam i yo re-ente withou col boot bette wa aroun thi hassl i t modif th col boo autostar comman wit AUTOMOD or DU.) Wil car characte 0233 Default=3Fh ('?') --------------------------- Force matc wit an characte i th dat file Ji Schenke 415/553-4000 March 6, 1987 *+++++++++++++++++++++++++++++++++++++++++ * * *** LOOKUP.ASM *** * Ver. 3 * * COPYRIGHT (C) 1985 JIM SCHENKEL * SEAMLESS WEB SOFTWARE * 415/553-4000 * * Revision date: MARCH 6, 1987 * * RELEASED INTO THE PUBLIC DOMAIN * FOR NONCOMMERCIAL USE ONLY * *+++++++++++++++++++++++++++++++++++++++++ ORG 100H BDOS EQU 0005H FCB EQU 005CH ;FILE CONTROL BLOCK BUFF EQU 80H ;DEFAULT INPUT BUFFER CONSF EQU 1 ;READ CONSOLE TYPEF EQU 2 ;TYPE CHAR TO CONSOLE LISTF EQU 5 ;LIST CHAR TO PRINTER DIRIOF EQU 6 ;DIRECT CONSOLE I/O PRINTF EQU 9 ;PRINT STRING RDBUFF EQU 10 ;READ CONSOLE BUFFER OPENF EQU 15 ;OPEN FILE READF EQU 20 ;SEQUENTIAL READ DMAF EQU 26 ;SET DMA BEL EQU 07 BS EQU 08 TAB EQU 09 LF EQU 0AH UP EQU 0BH CR EQU 0DH EOF EQU 1AH ESC EQU 1BH DEL EQU 07FH DIM EQU 29H ;SET HALF INTENSITY BRITE EQU 28H ;SET FULL INTENSITY BLANK EQU 54H ;ERASE TO END OF LINE MAXLEN EQU 7FH ;MAXIMUM LENGTH OF INCOMING STRING WIDTH EQU 128 ;WIDTH OF OSBORNE 1 LINE SCRWID EQU 80 ;WIDTH OF SCREEN  JP START *CODES ;FILE NAME MUST BE EXACTLY 11 BYTES (NAMENAMETYP) FILNAM DB 'MAST CAT' ;NAME OF DEFAULT FILE ;DELAY TIMERS (SECONDS *100) SHORT DW 600 LONG DW 2000 *STORAGE DS 20 ;STACK AREA STACK DW 0 ;OLD STACK POINTER TOP DW 0 ;TOP OF MEMORY BUFLEN DW 0 ;LENGTH OF DATA BUFFER BDMA DW 0 ;CURRENT DMA POINTER TIMER DW 0 ;DELAY FACTOR FLAG DB 0 ;INPUT FLAG EFLAG DB 0 ;EXACT MATCH TOGGLE (FF=EXACT) *MAIN PROGRAM ;INITIALIZE LOCAL STACK START LD HL,0 ADD HL,SP LD (STACK),HL LD SP,STACK ;FLASH COPYRIGHT NOTICE CALL CLEAR LD DE,MINE CALL PRINT ;CHECK FOR COMMAND LINE FILE NAME LD A,(FCB+1) ;GET FIRST CHARACTER CP ' ' ;IF IT'S NOT A SPACE JR NZ,OPEN ;THEN USE THAT NAME ;MOVE THE DEFAULT FILE NAME INTO THE FCB LD HL,FILNAM LD DE,FCB+1 LD BC,11 LDIR ;OPEN THE FILE OPEN LD DE,FCB LD C,OPENF CALL BDOS LD DE,NOFILE INC A ;FF-->0 IF NO FILE JP Z,ERROR ;CALCULATE THE TOP OF MEMORY LD HL,(BDOS+1) ;GET BDOS LOCATION LD DE,100H ;LEAVE ENOUGH ROOM SBC HL,DE ;TO AVOID TROUBLE LD (TOP),HL ;INITIALIZE THE POINTER TO THE DMA LD DE,BUFFER ;POINT TO DATA AREA LD (BDMA),DE ;STORE CURRENT POINTER LD C,DMAF ;SET THE DMA CALL BDOS XOR A ;ZERO A LD (FCB+32),A ;CLEAR "CR" IN DMA ;READ DATA INTO MEMORY READ LD DE,FCB ;GET RECORD LD C,READF CALL BDOS OR A ;ZERO IF READ OK JR NZ,BUFSIZ ;ELSE ENTIRE FILE WAS READ ;INCREMENT THE BUFFER POINTER LD HL,(BDMA) ;GET THE CURRENT POINTER LD DE,80H ;ADD 128 BYTES ADD HL,DE ;AS OFFSET LD (BDMA),HL ;STORE NEW POINTER PUSH HL ;STORE ON STACK LD DE,(TOP) ;GET UPPER BOUND SBC HL,DE ;SUBTRACT FROM POINTER JR C,XBF ;DE>HL, SO PROCEED LD DE,OVRFLW ;HL>DE, SO GIVE CALL PRINT ;MESSAGE AND JR BUFSIZ ;DON'T READ ANY MORE XBF POP DE ;PICK UP POINTER IN DE LD C,DMAF ;UPDATE THE DMA CALL BDOS JR READ ;DO IT AGAIN ;CALCULATE SIZE OF DATA BUFFER BUFSIZ LD HL,(BDMA) ;GET LAST DMA LD B,80H LD DE,-80H ;SUBTRACT TO LOOK AT LAST BLOCK ADD HL,DE LD A,EOF ;CHECK FOR END OF FILE CHEKEOF CP (HL) JR Z,GOTEOF ;HL POINTS TO EOF NOW INC HL DJNZ CHEKEOF GOTEOF LD DE,BUFFER ;GET START OF BUFFER OR A ;CLEAR CARRY SBC HL,DE ;SUBTRACT START FROM END LD (BUFLEN),HL ;STORE BUFFER LENGTH ;FIX UP THE HIGH ORDER BITS PUSH HL ;GET BUFFER LENGTH POP BC ; COUNTER INTO BC LD HL,BUFFER-1 ;INITIALIZE POINTER FIXBIT INC HL ;BUMP POINTER RES 7,(HL) ;ZERO HIGH BIT DEC BC ;LOOP THROUGH LD A,B ; THE ENTIRE OR C ; BUFFER JR NZ,FIXBIT CALL CLEAR ;CLEAR THE SCREEN ;GET INPUT STRING NEWSTR LD A,(EFLAG) ;TEST EXACT MATCH FLAG OR A ;EXACT MATCH REQUIRED? JR Z,PRU ;NO, USE NORMAL PROMPT LD DE,EPROMPT ;YES, USE EXACT PROMPT JR PRE PRU LD DE,PROMPT PRE CALL GETSTR LD A,(MX+1) ;GET STRING LENGTH OR A ;TEST FOR ZERO JP NZ,EXACT ;0 = TOGGLE EXACT MATCH FLAG LD A,(EFLAG) CPL LD (EFLAG),A LD DE,CLRPMT ;CLEAR PROMPT CALL PRINT ;TEST EXACT MATCH FLAG EXACT LD A,(EFLAG) OR A ;IF FLAG=FF JP NZ,SEARCH ;THEN DON'T MAKE UPPER CASE ;CONVERT TO UPPER CASE LD BC,(MX) ;GET CX IN B LD HL,STRING ;POINT TO STRING UPPER LD A,(HL) ;GET A CHARACTER CP 'a' ;CHECK FOR LOWER CASE JR C,NOLO RES 5,(HL) ;CHANGE TO UPPER CASE NOLO INC HL DJNZ UPPER ;SEARCH FOR THE STRING SEARCH LD HL,BUFFER ;POINT TO BUFFER LD BC,(BUFLEN) ;COUNTER FOR LENGTH LOOK LD DE,STRING ;POINT TO SEARCH STRING LD A,(DE) ;GET FIRST CHARACTER CPIR ;LOOK FOR A MATCH JR Z,GOT1 ;FOUND A MATCH JP PO,NEWSTR ;COUNTER HAS REACHED ZERO ;SO ASK FOR ANOTHER STRING ;FOUND MATCH FOR FIRST CHARACTER, SO ;CHECK THE REST OF THE SEARCH STRING GOT1 PUSH BC ;SAVE BUFLEN COUNTER LD BC,(MX) ;GET CX IN B DEC B ;ALLOW FOR FIRST CHARACTER JR Z,SHOW ;PRINT IF ONLY 1 GOT2 INC DE ;BUMP POINTER TO STRING LD A,(DE) ;GET A CHARACTER CP '?' ;WILD CARD? JR Z,WILD ;YES, SO IGNORE MATCH CP (HL) ;DOES IT MATCH? JR NZ,NOPE ;NO, TRY AGAIN WILD INC HL DJNZ GOT2 JR SHOW ;ALL CHARACTERS MATCH NOPE POP BC ;RESTORE BUFLEN COUNTER JR LOOK ;AND KEEP LOOKING ;PRINT THE RECORD ;AND UPDATE THE DATA POINTER AND COUNTER TO ;THE END OF THE RECORD SHOW CALL CONSIO ;ABORT? JP NZ,NEWSTR ;YES POP BC ;RESTORE BUFLEN COUNTER SHOW1 DEC HL ;BACK UP A CHARACTER PUSH HL ;SAVE POINTER TO BUFFER LD DE,BUFFER ;BEGINNING OF BUFFER OR A ;CLEAR THE CARRY SBC HL,DE ;ARE WE AT THE BEGINNING? POP HL ;(RESTORE THE POINTER) LD A,(HL) ;(PICK UP A CHARACTER) JR Z,NEXTCH ;YES, SO PRINT 1ST RECORD INC BC ;ELSE INCREMENT COUNTER CP EOF ;END OF FILE? JR Z,NEWSTR ;MUST BE A MISTAKE CP CR ;GOT A CARRIAGE RETURN? JR NZ,SHOW1 ;NO, SO GO BACK FURTHER NEXTCH CP EOF ;END OF FILE? JP Z,NEWSTR ;THEN GET ANOTHER STRING CP 1EH ;GET RID OF WORDSTAR'S JR NZ,NOSOFT ;SOFT HYPHENS LD A,'-' NOSOFT LD E,A ;READY TO PRINT CHARACTER CALL PRCHR ;START PRINTING THE RECORD INC HL ; BYTE BY BYTE DEC BC ; KEEPING TRACK OF LENGTH LD A,B ;IF BC GOES TO ZERO OR C ; THEN WE'RE AT THE JP Z,NEWSTR ; END OF THE DATA BUFFER LD A,(HL) ;GET ANOTHER CHARACTER CP CR ;END OF RECORD? JR NZ,NEXTCH ;NO, GET ANOTHER CHARACTER JR LOOK ;YES, SO GO LOOK SOME MORE ;WRAP IT UP AND BAIL OUT ERROR CALL PRINT ;PRINT ERROR MESSAGE QUIT LD HL,(STACK) ;RESTORE OLD STACK POINTER LD SP,HL RET ;RETURN TO CCP *SUBROUTINES ;CLEAR THE SCREEN (falls into prchr) CLEAR LD E,26 ;CLEAR SCREEN CHARACTER ;PRINT CHARACTER IN REGISTER E PRCHR PUSH AF PUSH BC PUSH DE PUSH HL LD C,TYPEF CALL BDOS POP HL POP DE POP BC POP AF RET ;PRINT A PROMPT AND READ A STRING INTO INPUT BUFFER ; ENTRY: DE POINTS TO PROMPT ; EXIT: NEW STRING IN INPUT BUFFER ; DE CLOBBERED, MAYBE OTHER REGISTERS TOO GETSTR CALL CLSTR ;CLEAR THE SEARCH STRING LD C,PRINTF CALL BDOS LD DE,MX LD C,RDBUFF CALL BDOS RET ;CLEAR THE INPUT STRING ; CLOBBERS A, BC, HL CLSTR LD B,MAXLEN ;MAXIMUM STRING LENGTH LD HL,STRING XOR A CLR2 LD (HL),A ;ZERO A BYTE INC HL ;BUMP POINTER DJNZ CLR2 ;AND LOOP RET ;CLEAR A PROMPT LINE ; CLOBBERS DE CLINE LD DE,CLRLIN ;FALLS INTO PRINT SUBRT. ;PRINT A STRING TERMINATED BY '$' PRINT PUSH AF PUSH BC PUSH DE PUSH HL LD C,PRINTF CALL BDOS POP HL POP DE POP BC POP AF RET ;LONG DELAY ; INPUT: BC = HUNDREDTHS OF A SECOND SLOWER PUSH AF SLOWEST CALL SLOW DEC BC LD A,B OR C JR NZ,SLOWEST POP AF RET ;SHORT DELAY ; (ABOUT .01 SECOND) SLOW PUSH AF PUSH HL LD HL,1365 SLOW1 DEC HL LD A,H OR L JR NZ,SLOW1 POP HL POP AF RET ;SUBROUTINE TO DO DIRECT CONSOLE INPUT, NO SCREEN ECHO ; WAITS UNTIL ANY KEY PRESSED ; EXIT: A = CHARACTER TYPED GETD CALL CONSIO JR Z,GETD ;Z = NO INPUT RET ;DIRECT I/O INPUT ; EXIT: Z FLAG SET IF NO INPUT CONSIO PUSH BC PUSH DE PUSH HL LD E,0FFH LD C,DIRIOF CALL BDOS OR A ;SET FLAGS POP HL POP DE POP BC RET *MESSAGES MINE DB CR,LF,LF,LF,LF,LF,TAB,TAB,'*** LOOKUP3 ***',CR,LF,LF,ESC,')' DB 'Copyright 1987 Jim Schenkel, Seamless Web Software' DB CR,LF,TAB,'Revision date: March 6, 1987',ESC,'(' DB CR,'$' NOFILE DB BEL,CR,LF,TAB,'+++Cannot find the data file+++',CR,LF,'$' OVRFLW DB BEL,CR,LF,LF,TAB,' +++File overflow+++',CR,LF DB TAB,'Data file has been truncated',CR,LF,'$' PROMPT DB CR,LF,LF,ESC,DIM,'--> ',ESC,BRITE,'$' EPROMPT DB CR,LF,LF,ESC,DIM,'==> ',ESC,BRITE,'$' CLRPMT DB CR,UP,UP,'$' CLRLIN DB CR,ESC,BLANK,'$' *BUFFER SPACE ;READ BUFFER--MX,CX AND STRING MUST BE IN THIS ORDER MX DB MAXLEN ;MAX LENGTH OF INPUT STRING CX DB 0 ;RESERVED FOR ACTUAL LENGTH STRING EQU $ ;INPUT STRING GOES HERE BUFFER EQU $+MAXLEN ;BEGIN DATA BUFFER HERE END DIALER DAT ATC0E0M2Q1DT $ $ $ $ $ $ATH $; $ ATZ $X !9"1=:] !] \4<**R" S2|\ #*"[R8Y=*>(# R"! #˾ x :(:S 2:KR !T ~a8ˮ#! KT (KR (?( #̓–+ R~( ( ʖ >-_# xʖ~ =**Z":=*͠2*"}(a8˯D6 -H c=J+K+L+M+S+A+N &ͨ:8=R   *Z"͠>N_(C(?(; (4 (0(, (% (( ((ES:/2ͨ|0g"͠S2*"P~08 8#:N(::A ="!K:((!JK!<KK!ZLK!xMK!SKͨ*~͒( _Yp#!K*:A(N(e=}:Ͱ8̓p x Ͱ*6Ͱ8ͨY=Ö!K/ R  !T w#_ ~$_Yp#p x !U+| ̓(  ȷ~2>w*:w!K*~˾#͒ *** DIALER *** )Copyright 1986 Jim Schenkel, Seamless Web Software Revision date: March 17, 1986( $ +++Cannot find the data file+++ $ +++File overflow+++ Data file has been truncated $ )--> ($ )==> ($ ) | (A)uto | (D)ial | (E)xact | (H)elp | (N)umber( | (J K L M S $ )Hit any key($ )===Auto redial active===( $ )Number to auto redial --> ($ T $ T$ Arrow keys move the block cursor. TAB key moves the block nine spaces right. Put the block anywhere to the left of the number to be dialed, then press: D = Dial the number A = Automatic redialing J, K, L, M or S = Dial the number using alternate long distance dialing codes. N = New number input -- sets autodial active E = Exact match toggle. Changes search criteria: --> search for UPPER CASE only ==> exact match required (upper/lower case) $ *** DIALER2.DOC *** Copyright 1986 Jim Schenkel, Seamless Web Software (may be copied freely for noncommercial use) INTRODUCTION: ============= DIALER i revise versio o DIALER previousl submitte t th FO library DIALER replace th origina DIALER s reference t "DIALER throughou thi documentatio actuall mea DIALER2. DIALER stil support alternat lon distanc dialing althoug th telephon compan her n longe does Th featur i preserve a sor o softwar vermifor appendix perhap i wil b o us i som part o th country I i als possibl t inser othe mode contro code int th spac reserve for the alternate long distance codes. ENHANCEMENTS: ============= DIALER2 has been improved in the following respects: 1. On-line help is provided from the dialer menu. 2. WordStar "document mode" files can be searched. 3 A "exac match toggl allow bot uppe an lowe cas t b searched. 4 U t fiv separat alternat lon distanc dialin code ca b installed. 5. Mos patc location hav bee move t th beginnin o th file t facilitat changin the wit D o EDFILE. USE: ==== DIALE allow yo t us th Osborn a a electroni telephon book I yo hav Haye compatibl modem DIALE ca also ac a a automati dialer. DIALE permit rapi retrieva an dialin o number vi computer Yo wil nee a extensio telephon o th sam lin a th modem I i no intende fo us wit telecommunication program suc a MODEM o OTERM. DIALE USE general-purpos searc routine an wil wor wit an asci file usin carriag return a recor delimiters I i particularl usefu fo searchin throug th MAST.CA fil generate b NCAT. T exit typ CONTROL- (^C a th arro prompt. NOTE DIALE use ordinar BDO call t writ character t th "list devic (i thi case th modem) Fo DIALE t wor correctly LST outpu mus b directe t th seria port Us th "Printer men fro SETU t se you printe t Standar Serial. CREATING A DATA FILE: ==================== Us you wor processo o tex edito (e.g. WordSta o VDO t creat fil containin lis o names telephon numbers an othe information Th dat fil ca hav line o an length Th "records ar delimite wit carriag returns. Number ca hav punctuatio character withi the fo readability bu no spaces D no pu spac afte are codes Th followin form ar fine: 1234567890 123/456-7890 123-456-7890 (123)456-7890 The following forms will not be dialed correctly: 123 456-7890 (123) 456-7890 (Only the "123" will be dialed.) DIALE use defaul dat fil name "DIALER.DAT. I yo jus type A>DIALER th progra wil loo fo fil name DIALER.DA o th currentl activ dis drive Yo ca als specif th fil t use Fo example: A>DIALE B:FONEBOOK.DAT wil loa th fil FONEBOOK.DA fro dis driv B a th dat file Alternatively yo ca chang th defaul fil name (Se MODIFICATIONS.) THE LOOKUP MODULE: ================= DIALE trie t loa th entir dat fil int memory Roughl 48 wil fit I th dat fil i to larg i i truncated B alway addin ne informatio t th TO o you dat fil yo wil ensur tha onl th oldes dat get loppe off Yo wil als reduc th searc tim (althoug th searc i s fas tha thi rarel matters). DIALER allows two alternate search criteria: 1. UPPER CASE Prompt: '--> Input: upper or lower case--converte t al uppe case. Outpu: line tha contai th searc strin i FUL UPPE CAS ONLY. 2. Exact Match Prompt: '==>' Input: upper, lower or mixed case--no conversion is done Outpu: line tha contai th searc strin wit a Exact Match. (NOTE Earlie version o DIALE wer limite t th uppe cas search an coul no fin lowe cas i th dat fil withou patching Th ide wa t requir th searchabl dat t b i uppe cas only s tha lowe cas coul b use a non-searchabl comments Th exac matc toggl allow fo lowe cas searches bu ma requir severa attempt t ge th righ combinatio i uppe an lowe cas ar mixed.) Th searc strin ma b u t 12 byte long questio mar i "wil card tha wil matc an character (Bu i questio mar i th firs characte i th strin i i treate literally.) Th entir fil i searched Whe matc i found th lin containin th strin appear o th screen Th outpu ca als b sen t th printe usin th CP/ convention ^P. Suppose we have the following data file: ALFRED ALDEHYDE 345-6789 318 Jones St. SF FRED FRIENDLY 234-4567 225 Hyde St. SF CHARLIE SMITH 408/123-9876 CHARLES SMYTH-WUTHERINGTON Hyde Park, London WINIFRED WU 234-6789 Mother's best friend EXAMPLES: -->fred (or Fred or FRED or even fReD) ALFRED ALDEHYDE 345-6789 318 Jones St. SF FRED FRIENDLY 234-4567 225 Hyde St. SF WINIFRED WU 234-6789 Mother's best friend ==>fred (doesn't match anything) -->friend (or FRIEND, etc.) FRED FRIENDLY 234-4567 225 Hyde St. SF ==>friend WINIFRED WU 234-6789 Mother's best friend -->Charl?? Sm?th CHARLIE SMITH 408/123-9876 CHARLES SMYTH-WUTHERINGTON Hyde Park, London THE DIALER MODULE: ================= Whe th telephon numbe yo wan i o th screen typ AT attention C0 transmitter off E0 do not echo characters M2 speaker always on Q1 do not send result codes DT dial, using touch tones, the number that follows Number end = 01BAh Sen followin th number ------------------t tel th mode t sta i ;comman mode after dialing Hang up = 01B4h Sen afte keypres a 'Hi ---------------an key prompt t tel th ATH mode t ge of th line Reset = 01BEh Sen whe returnin t -------------looku module to reset the modem ATZ Wit littl work thes code coul probabl b modifie fo othe modems. Ji Schenke 415/553-4000 March 18, 1986 vDIALER21.ASMZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCoDEFGHIJKLMNOPQRSTUVWXY?|5ÇS.Ck~'˯w]XК|wpw?GY1NԚɭJ9-$gɚow߾YКz/:P/5IeJXxNƢ%`+њ0ycJSG5?|MfI>=pss[3рo<% > {E}8fhs , eL5ap h M\9 ΞѥĔ3NhL.a1{%khKc1{%kd ,cKbkR'G~s*LA0zk(У?ܸD,\n eLУw703pDlo'GE5L.M@9ӣAQSdrɚ р9`Z5 )У7f@|Fhh֌hag PK$kX 0 8{F.{\ k Ws_WS,=pYQEskr@}֜р ֭ hM֐ sр[H ԭIez4L% \ښУ/t3 NCKȵ5xhu]& DfuJр?Lݗuw',1p5g%Iz4J~BϑD&>+ р/70$90Q&Y ho:;K3F:08{8dq,X0Dk(at+:BH.^.B[)]X3nSbd[ &7Tp*J8iU9 7t|t_mi ??⟟}|l͹CZ`Oxn/Qqjooxsiͪ>?^m0y-||Y[kCZ`Ox.%n6_k;6'}Nu{YJ1AZ`TW5LNusrjS^m̉]8Ucš= 3͍5 ^Xc,NX)pYŅsHgpׄY\8Kbk7Hgp~•V,cRfKG?arpDl͒V n``Z6_[^_K1 ΞѥĔ5RVbHgps"u8 c]!tssa΁"rF?aB1xMCZ` (b]bdͤn %!8ۭIiI(~ߕj^ӽ ra5<\]VkK,RpnMk\Jеf h,._Ԯր&ȭfqkI]|wSZ"YBk)_WjSQV4WSX>]T8 !B 7LXd\ k`EY:EPn%kWP:a F(Na4A:n4A:Ý5 PMf"J'5QMNa4AQTaI>[ Q~*J@bέM^o0$8Z#ŏZy,.NWlD!P `Nۮ>%k@$ Ozs&= YB`^)gaS.'9 2.^Ꙭ_&hA"pa% 1MjZ0J'LS% `  L.ct+k4 uBˉO8\4[)hjIy'AuY0KrӭMr<aţzNP]\ԇsk]k"k@J~CpgO8%kBsW]/Tw/'b%JFH~ϬtO:ٽ@$˘&bwXOi"<c K5"`ǂ)&k@\-cR+Y<.cQ)ҭf= {;zNĸ@CWy'eL1*]5|%B%%Xk]4"i96_[3+a% 5|"q)b $ Yo(ػ5 \]fNHQ 5˘&bk`:5@pA1J'́"ZcC|4\}JX3$XbYݚHgY4W4/`ʂt$tրgp3ݻ : ”~Sm<+L=N_X Q~m5#ҽ 85hD_XӘ 8UI5 \Z?]`.qGK<O8j*NaטStǺ[c,I8ۭMM k38L8_O5p4q0KMpu焣5b .5'ĂqFe4z0$D\Mеfw/QPI`~׭Sր&pu{Y}&f&Q<6.Q0t.5*4,(%()xN@̸\ r˵5(f<'j%(9 ..sp {(O `F6&t8j, 3RL'N8\4[իN.zc  5p0St/}ŝ]҉1t.5p05Q?W3Yc|Ʈa ]LXC̞!8Uh\̍K$fϸRn'k" ֫,._̔3ׄY\8Kbk@VZL3 (ChX 8%էd53E!NL8_Q? W58%Mе^; LQ0_g'Gk@\aE svOXcc'&X2=fM*N_BpDcl&%5 T̩8%ƕrv;YB]z_zap.%T! 0!Ng#D `>{tր&tIn ;t4Azg9`ր&_Ԯ@ LY<6_x\1 Ξf.Q`m5N!BD 0'7] ˄gL$d  ?B0N'Ϩd  c ˄`:yu焣5b .5s YGSJL0Q< [GS>0Ow,b 5p48Sq y'"@h/k 8U8ULa> {}*fL8Q`ND+pqEBoO5NڬMv0 a'mh  Kkh}*N&N 4؎ `$8ql  N5Lv qtB>@hos*Y\ 8-qI&u5lYGS$ uI&u5lyI&u5lnI&u;̙'u;N ȔSk˄[ܰd(Ĕ*؆HgǺxtC|*N`5p0SI`bqapB+ES 0OG 8b"08{S%دMpl hD5Y+ǺxLũ5*4.QMր&2 f&22BNpDl  K`ƒ3wqbbL/M@50ܸDA12q'|Vk 8Uh:g(&AJ;0&ր&Z`(Њap.%Mp^+=!,b  ap&9twBgր&puIpnGTZC&X33 _WSf$e;Yi07 l  'a5$Rk`8? ,/8NuO`kM\.#an.5XéIl np[YfS]0k@$\l k`8? 4AzVt?#H@h5p!0Ꞔ@hpSS]0k@$Jh#H@h05p0Ꞔ@hpGS]0k 4hҽ qR[Gx0 ˄} (׍5 \I~a ր&I~Q5p4>X3 t08{:s<#1{fO`NF 3<{ Cw㈉p)Aך`v)tB?M' 'Gk@{Zap.%fsѥĔ5p0P}́anQ2mL#D"i&k3L7`FL1&n4As`Wu|QœHggRbNLTq4Ng N # !ƚ9nGJYqngJũ5dR&Ym]Mе^5 5|X30. ݱ BJLĠ s# 1Ƴ0&L%8V^u[ 8: ݱ Bs`h vefPcQ:EXb&B?e׭!ɏfNlƱ.D % 0/cm|Bl $ ̡S8dz[GS>0'7A'8S5̓18օؚɏ@z5/`N>nA16k d [ftq 15p0jn5*-6k^M CpgtC<2 6YC<k@$nS%5ѻ! X6_x́"rF?aBl5sP:a& OQ@hJaek 8U8L1Ü2J3ńEO sqpk 47k 8U8L1[kUqBM7k 8U8L1[k] uSS5 ֬>@hNN5SLX3g Ʊ.(>jM 8U1 Tq4 ݱ B#&b gk@tWq LY<6_xc]Ǵ5bz իs+GC;vAT!t:CpgOǺ[éfb2 ^uGLZ"ak@PuNL.]x'ZTAKb9SLXN39ktED(1@WykKbk`KYoX)& 4AJ1|ƮaN2Dl5swqP:8RT R5F]땔Dꮭ6r@ 0?ck]Mդn9t 8yF7#S*N`s5p0_Z7k`8U7ĿStm  Kk 8UI|KlCT!h0%دMT8} 0gq,[c_Bp|̡S83ųXGxnaSH` ր&pu*gy*8!1ٳ5 ՠV9(9F鄍N( Yw (pi(Yc5X)5L>j S&ɠ VLb  b"kD~37_X&7sPr90Q X37.Q0t.1L{BdMd ;,h#wHd ;t4ArhS%l 4ߠ5|D@ ` 4MXcܸDA]L:%Xx, eL53Pa%JFدM0 cXb˘&bkfD/ 1^tbdK5;IT!hcNq蘅KܭMjeS%l hDu4A1M@p$&ƚ9(9F%!Kܭ!_⌮*v&hM+EWw_ֱb.qGK4AךKܭ{ /A\u`>{t\ Y% 0/cm|Bl # (]L7kIfJac6A-!_⌉ Z"&HTT3((k% :%(kN(r͚۫% ;h#wX5Fh#wj hP(5*,gk]$oknkL1a]qVr1x́b]/taMAz`n%h0t.5l6bB?a.q`8ה+fL28ZWP<2_t/%..c(3u'[ƅJ1SOZ3Cp8t3ńEPj,Fk!5Fj2Y’|ohA"kKkfqDꮭ6\>bbJ3 f >&k3bh#wp5YeT!?X5 \]!jVFY`ks,H5fObpωf͌p?ac&?6r7Ym]Mе7߬ Qր&p[A!jVvg 4ߠ5|7YLb5s !%1 |^ KlC*F90QD [3Ù+qD).^9]ccʙ53}_k ݱ Br(Y$Nxk`8՝$'|cm5$X3?=؆X3N81`0z, &6r%Xm6rր&z3MO@p$L=[7j 4 5|%XLb5sq Xbkf" pRc&2a !4p˄@ c.n'd`8Y `FH1p*J -3zFq5$pS3ژ,Ǻ[̤) 'u5$Xc͜B Cw tap>bL6kt)1l Agt!cGLgX"zM[gMU k@\yM_Tg hW#ր&zQ5$X3!5a]b\\8G'^c=h t_k gTk ݱ B#&b gkF 3hj/M5 ^Tg 05GC~pD%[3C,3].E@tN2Dl h*u!fġ \za 0eCza 5*NOuġXcÕrv;ekYK$H :UNUSTqK>|8%Ƈn5pթT)]l@Z` ~O}w? O`~/W̗~<|.c~ۿ>x|YiU*n_ۧ^xw?V)]m@Z p^mD?%H ,5pթn>|^xv{3޾n>VWj?I -US_>|0=}~twϟÇ[ \u[zp%_^_yp{yNu{YدM -TuCMeۻwŭRu"TW5دM -TuCMe׿ŭRu"TW58@V)Z77񳿾-J9ԅPV)ZYiʡ.\ꖶJ9Tֺ=}[EnUʡſf (p[*PSYvw*P.Bu[j*k>~xC] 5Enyjs@*nCMe[z^xRu"TW5n@*nCMeׯgۧ|V)pj&Y+WqKj*k/3|>s|Uʡ.\j&(U -RuQhuڬ Z"Wʡ.y^mtiU5[Ox?jઓ5-?g|/go/ķ->~ۯ[ \u[x/go^/_3}/w~/d ||%~~犷/__}VWN@Z`OI%:Yi ?ktoxp >/~jઓ5_c׈x_|1~|ů[ \u?6^>~?{+~~7O_o}|uNU'k -E|w[|7OtU5_#7x__~E -|{|~jSH l/^>x=ccpًjઓ5_^-^7>>}|>_/o//6k -Tu:f51MĘ d53Ki"~n]LKqYp!,5=Vwa^=*]: KlC0 [!-p3S&~B ' wdwG^\bYwO;1Yc2рWVwa^h/˘&bd5@1Y?3"* b͸{777w{ÖüH!K]jU 2͵ ^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2hZZk:h|/g}/o#|/g}/o#:h<2hqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2hZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! P!9~#A!9"w**w"j!z*"d!"f!Y"H>2^>2a>2`2c>2s2t>2r>2v!"@!"D!@"B!"F !F#x:~#!|2i~# :" 2i +}|~#:G:ix."2i+w# +6#!6#@A2n2?*j**|+`"d!"f!!>ڌo&͖=}  w~2ʸͼ56!+W ?_!~7z?ͧ:>͞@w#5.ww#w#w#w*>?@͌>w#͌5> w#@ͧ͵g 2q&0OxG͵j/ʆSx\͞.7:77!a{  ʨ ʨ0:?ŷO !y$ 7o&))T])))!y 2p_ :p6)))Y~0̿7G~`2@2@#~2@~?>&=2@#^#V#^#V#"@^#V"@:@ '*{@!:@@'"@*@#w"@*@~9'D'/Ϳ7͈?+"@*@+"@!6D"@6!^D"@*@~*@*@s#r#*@s#r#*@s#r#*@s#r#*@s#r#:@w#"@'*@*@s#r#*@s#r#*@s#r#*@s#r#*@s#r#:@w#"@'|E'}X27*@+~2@+V+^+"@V+^+"@V+^+"@V+^+"@V+^"@"@*@+~2@+V+^+"@V+^+"@V+^+"@V+^+"@V+^"@"@p';(ͯ''͋(!"@"K@2@<2@2@2@ͥ)()(*¾(2@2@(S*(#)2@2@)l*8GGKNö$jÜ!9DM!, n&| !!! 6!" 6!" n!, nѯgWҎ;! s#rͻ! s#r͐͐! s#r͐|z ! 6#6͐! s#r!!. ~#fo!" n&)~#fo! s#rz !. ~#fo##~#fo!!Æ͐! s#r! s! s`is#6͐#|ʆ! n}ʩ ͐͐?! s#r!͐͐͐! s#r!͐?͐͐͐͐! s#r! 6#6! ~#fo s#r !͐?͐͐͐͐! s#r! w#w͐! s#r! n} !!$ 6͐͐?~! n&|= !$ n}! 6`iw#w! ! n}j ͐ ! s#r ! s! n}ʩ Nʬ Tʯ  R Bʣ S LʳÆ! w#w͐! s#r! ͐Ê ͐͐ !!$ n} ! 6 ! 6! ^#Vr+s! ^#Vr+s! n&|f ͐͐f ͐n!% s!% n&|g}o|o !& 6!% n&|g}o|D ! 4!& n} ͐#! s#r!' 6! ^#Vr+sn&|g}o| !' 4͐n&|g}o| `i~#fo!' n&s#rê !& 6͐|= ! n͐Ps`i6#6`i^#Vr+s! ^#Vr+s! ^#Vr+s% ͐͐ʘ ! ~#fo###s#r! ~#fo###s#r!͐?+++! s#r͐͐?+++! s#r! 6% ! 6! s#r! s#r͐ |ʰ!|ʢ!|g}o! s! n&|F! n&|p! n} ^gNjm! 6óÆó! n&s! ng ?! s#r! s#r! ^#Vr+s ó! 6! ^#Vr+s! ^#Vr+s! ^#Vr+s! ^#Vr+s!$ 6`i^#Vr+s͐n&|g}o!% s!% n&|/!% n&e!% n} V    A͐#n&|g}o|}!! 4! 4͐|ڨ! n͐Ps͐! s#r!% n&`i6#6e!% n&`i~#fo͐s#re!% n&e!~e!!$ 6! ^#Vr+s! ^#Vr+s! 6" !^!% n&@`i^#Vr+se! ^#Vr+s! ^#Vr+s ! 4 !" 4 !(9%s Usage: Read Specified File.%s Can't find '%s'. - END OF FILE. ('N' for Next File) !9DM!|!!|g}o`is`in&>!9P!9DM*K! Mp!9DM͐n}ʚ! ^#Vr+sn&mxâ!9DM! n&͟|! n&! n&&æÜ!Y9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{`in}%‘! ! s#r! 6#6! s! s! s͐n}-u! ^#Vr+s! 4͐n}0…! 4͐n&}ʢ! å!! s#r! ^#Vr+sn`is{.! ! s#r! 4! ^#Vr+sn`is`in&}DUZXcOlCʲS\b͐~#fo|Z! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 r! 6r! 6! ~#fo! n&! ^#Vr+s~#fo! ѯgs#r[! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s[! n}! 6#6! ^#Vr+s~#fo! s#r͐n}[͐|[! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}! ^#Vr+s!|͐͐! n}ʦ!0é! !!9~#fo#|!w͐n} ͐͐! ^#Vr+sn&!!9~#fo#|# !! n}Y! ^#Vr+s!|Y͐͐! !G!9~#fo#|V!Î!͐͐`in&!!9~#fo#|Ž!ý͐͐`in&!!9~#fo#|½!!!9!9DM! n&|ͯ! n&|ͩ!9DM͐͐ R͐^#Vr+s͐?͐0G͐7s!&Ý͐ ͐͐ ͉͐`is͐ ͐͐ )͐`in&#&Ý!9!9DM! n&|ͯ! n&|ͩæ!9DM`iw#w͐~#fon&}(͐ ?͐^#Vr+snѯg`is#r͐/!9*:+* 7,]> 2h*P/:q2> ʭ:h):Rʙ=ʙ=> ­:qw#w#w:ho&552?7*T|DM*R*P><~# x ><~+ x|}7*R*P:TOzq#7:P)V>z>z2:P,"j!"l*T|*l_5*R*j!ѷʐ2?ʊʊ!Z*lZ*T+"T*R"R*l#"l*j! N#Fp+qxO##6>2?T2?   > _   ) >2?6!7*+++:PG_*RDM!2o&ROMNFB16FONeZ ;ROMNFB18FON\ JROMNFB20FONc_ `ROMNFB24FONb zCLAS10B FON] [,CLAS10P FONx{ +CLAS12B FON| E3CLAS12P FONc 83CLAS14B FONfj O:CLAS14P FON=c '?CLAS3B FON |  CLAS3P FON=h{ !@  READ.C Version 2.0 Written: 4/11/82 by Gerald W. Wilkins Revised: 5/18/82 by GWW This program is in the public domain, and may not be sold for profit under any circumstances. It is intended solely for public distribution. To invoke this program type 'READ [D:]FILENAM1.TYP [D:]FILENAM2.TYP...', etc. The program will load the first file to be read ('FILENAM1.TYP') from optionally designated disk, 'D'. A typical command thus becomes 'READ FOO.ZOT' or 'READ B:FOO.ZOT B:ANY.FIL' if 'FOO.ZOT' and 'ANY.FIL' reside on a drive other than 'READ.COM'. Of course it is presumed that any file to be 'read' is an ASCII file such as a text file or program assembly source file. READ.COM will try to read ANY file, but the garbage output from .COM files before the first '^Z' is encountered is rather uninteresting. The length of the command line used to invoke READ.COM should not exceed 80 characters. This program handles WordStar created files correctly, so if you wish to review the contents of a text file created on this word processing system (and probably most others) without running the word processor itself, READ.COM will show you the file nearly as you would see it with WordStar. The only difference is the display of 'soft hyphens' for which 'READ.COM' substitutes a tilde (which is the '~' character). All control characters are shown onscreen. Once the file to be read is loaded into memory, type any character but '^C', 'B', 'L', 'N', 'R', 'S' 'T', or '^T' in order to scroll to the next 'page' of text (the space bar works nicely). Type 'L' if you wish to display then next line. If you wish to back up to the previous page of text type 'R' or 'r'. To move to the end of the text buffer type 'B'. To move to the beginning of the text buffer type 'T'. A '^T' will move back to the beginning of the text file. To load and view the next file, enter 'N'. To exit the program type '^C'. This version of READ.C contains an 'autoscroll' feature which allows the user to automatically scroll through the text line by line. This option is invoked by typing 'S' during viewing of any file. The program will begin scrolling with a default "medium" speed that naturally varies according to your CPU clock speed. To change the speed of autoscroll type any number, one through nine, and the program will respond by speeding up for higher numbers or slowing down for lower numbers. The default speed is set equivalent to five. Continuous rapid line display will occur if you hold down any auto-repeat key other than the space bar or 'N' during autoscrolling. Remember, the number entered corresponds to the SPEED of scrolling, NOT to the delay. During autoscroll most of the normal keyboard functions of READ.COM wi$ll be disabled, i.e. typing 'B', 'L', 'R', 'T', or '^T' will be ignored. Three keys (other than numeric keys '1' through '9') are active. The space bar, if typed, exits autoscroll into normal 'page' viewing. The 'N' key, if typed, will load and view the next file that was entered on the command line, if any. NOTE that this next file will ALSO be viewed in autoscroll from the top. And a '^C' will still exit READ.COM. This version of READ.C also contains enhanced algorithms for handling of text lines which are longer than the terminal width, including improved processing of horizontal tabs. That's all there is to it. Good reading!  This is the release date of the disk. DIALER21DOC 2DIALER21AQM ,READ COM READ DOC LOOKUP3 .DOC E2 36 4480 35 LOOKUP3 .ASM 5B B8 8960 70 DIALER21.COM 4A 99 2304 18 DIALER21.DOC 0B A3 12928 101 DIALER21.AQM 39 3B 11264 88 READ .COM D1 6F 6272 49 READ .DOC BC D6 3840 30  Fog Library Disk FOG-CPM.162 Copyright (1987) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Small database, as well as Text utility programs. Filename Description -03-00 .87 This is the release date of the disk. -CPM162 .DOC This is the description of the disk contents. AF5 .COM 17A5 39K ver. 5 [Address Filer 1 of 3] This allows you to create & maintain mail lists, it is also menu-driven. It also contains a sort module. AF5 .DOC 8E66 11K ver. 5 [Address Filer 2 of 3] AF5SORT .COM B983 24K ver. 5 [Address Filer 3 of 3] LITCIT .BAS 1CB4 5K Basic source code to help compose a bibliography. Can be used with REFIND. REFIND .BAS E787 6K [Refind 1 of 4] This set Keeps track of references & uses key words with logical AND and OR searches. REFIND .DOC B045 11K [Refind 2 of 4] QREFIND .COM DC58 6K [Refind 3 of 4] REFSRT .COM 4770 8K [Refind 4 of 4] LOOKUP3 .COM 61E1 1K ver. 3 [Lookup 1 of 3] Searches a text file for matching string. Ideal for fast name/phone number lookup. 8080 assembler is included. LOOKUP3 .DOC E236 5K ver. 3 [Lookup 2 of 3] LOOKUP3 .ASM 5BB8 9K ver. 3 [Lookup 3 of 3] DIALER21.COM 4A99 3K ver. 2.21 [Dialer 1 of 3] Combination of LOOKUP and an auto dialer for Hayes compatible modem. 8080 Assembler source is included. Works with any standard ASCII delimited text file. DIALER21.DOC 0BA3 13K ver. 2.21 [Dialer 2 of 3] DIALER21.AQM 393B 11K ver. 2.21 [Dialer 3 of 3] READ .COM D16F 7K [READ 1 of 2] Allows you to read multiple text files, moving forward and backward in the file. READ .DOC BCD6 4K [READ 2 of 2]  Combination of LOOKUP and an auto dialer for Hayes compatible modem. 8080 Assembler source is included. Works with any standard ASCII delimited text file. DIALER21.DOC 0BA3 13K ver. 2.21 [Dialer 2 of 3] DIALER21.AQM 393B 11K ver. 2.21 [Dialer 3 of 3] READ .COM D16F 7K [READ 1 of 2] %&'