`8 HN0p `Hz ?< NA\aNuBgNA <QNuETDZ Bootsector : Version 2.08 : 01/05/92 p~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { ---> Virus Free Disk!! <--- } { } { PD.ST, 95 Elton Road, Sandbach, } { Cheshire, CW11 9NF. } { } { The Danger Zone (c) 1992 } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ q$o  @`! #@%`')+-/1 3@579;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gkmq s@u`wy{}@` @ ` @ ` @ ` O ` ǀ ɠ @ ` ׀ ٠ @` @`!Aa   !Aa!%a)+-/1!3A5a79;=?A!CAEaMOQSo  @`! #@%`')+-/1 3@579;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gkmq s@u`wy{}@` @ ` @ ` @ ` O ` ǀ ɠ @ ` ׀ ٠ @` @`!Aa   !Aa!%a)+-/1!3A5a79;=?A!CAEaMOQS324 't DESKTOP INF $X. ' t.. ' tADLOG )t . ) t.. ) tADDRESS +t ADDRSBK ;t hDISKCAT Gt LABELS Zt LIBRARY {t REMIND t "VCR_LOG t G. + t.. + tADDRESS ACC,t ~ADDRESS DOC2t .ADDRESS PRG5t 6`8C.I(###ByĝNc/,HNV6A>-HNbBnN=n P?< BgBg?<HnHnHnfHnNHn6BgNnN^,_ _TN/,HNVA-HNbp=@p=@p=@Bnp=@=|@=|=|=|=|J=|w=| =|7=| =|w=| =|Bn=|=|=|=|H=|=| L=|=|H=|=|N=|Bn=|BnBnBnBnBnBnHnNZN^,_Nu/,HNVA-HNbp=@p=@p=@Bnp=@=|@=|=|0=|=|D(=|=|(=|=|(=|=|0=|Bn=|=|8=|=|=|=|=|=|=|=|=|Bn=|BnBnBnBnBnBnHnNZN^,_Nu/,HNVA>-HNb0. raA\0. rzA_CBd0. @=@`=n 0.N^,_ _TN/,HNVA-HNb0. 2|AC@2. 4|AEAA40RBA10. 2|AC@A20pHHAJAf40. @A@2. ACAAf40RBAf1N^,_ _TN/,HNVA-HNb0. 2|AC@2. 4|AEAA40SBA10. 2|AC@A20pHHAp@f40. @A@2. ACAAf40SBAf1N^,_ _TN/,HNVAB-HNb?. N,rAA\/?. N$rZA_CBd p=@`Bn0.N^,_ _TN/,HNVA,-HNb"n $Q/ N%yj"n #jN^,_ _XN/,HNVA,-HNb"n $Q/ N%yn"n #nN^,_ _XN/,HNVAZ-HNb"np)rAo8"np)?N8=@?.N@d =n`=n `=n 0.N^,_ _\N/,HNVA>-HNb"n "n"n $Q/ N#n"n $Q/ NBN^,_ _XN/,HNVA-HNb0.2|AC@A"0Jf@0.2|AC@AHpN\0.2|AC@A-p`n0.2|AC@A-p"n/ N )Jg"n/ N-i`"n/ NX/ N"n/ N-i"n/ N" N^,_ _\N/,HNVA-HNb0.2|AC@A-p-n"n/ N  f.0.2|AC@"n/ NA!`X"n/ N  g-n"n/ N-i`"n/ N$n/ N#jHnN4N^,_ _\N/,HNVA-HNb . Jg"n / NT/ ?.N2=@0.2|AC@A-p-n . f.0.2|AC@"n/ NA!`F . g-n"n/ N-i`"n/ N$n/ N#j0.ng?./. N6Hn NN^,_ _\N/,HNVA-HNb 9jJg"n "j"n $Q/ N#j"n $Q/ N-J"nET"nE""nE6"nEJ"nEt"nE"nE"nB"nB`>pHyz?NXC2O$OGpFQ?<N=@"n BN^,_ _XN[1][Not enough memory|Use the program to add | lots of addresses][ OK ]/,HNVA-HNb"n ?</ NB"n $Q/ N-J"nET"nE""nEn6"nE\J"nEJt"nE8"nE&"nB"nBN^,_ _XN/,HNVA-HNbBgN"n / N-I V0(P@e VHhL"n/ NN@XNJ@f" VHhL"n?<T/ NzN@XNJ@f& VHhL"n?<"/ NzN@XNJ@f& VHhL"n?<6/ NzN@XNJ@f& VHhL"n?<(J/ NzN@XNJ@f& VHhL"n?<(t/ NzN@XNJ@f& VHhL"n?</ NzN@XNJ@f& VHhL"n?</ NzN@XN^,_ _XN/,HNV4A-HNbAL01|pA=@H nZHnp0.H@A@rAf10.H2|AC@AB0.H2|AC@AB0.H2|AC@ABpRnH`BgNHnLHzV?< NNJ@fNp]=@F0.P@e:Hn>N/.> NNn"n>/ N?NnFgF"n>/ N?N=@F0.F2|AC@A!>?.FN-n>B`4?.FN"nB/ N#n>"n>/ N#nB-n>B"n>/ NT/ ?.FN=@J0.JnFf0?<Hn:NB"n:/ N#yn#:n`>0.J2|AC@A"0Jf~?.JNL0.J2|AC@?<AHpNB0.J2|AC@A"p/ N">0.J2|AC@A"p/ NB`?.JN0.J2|AC@A-p:"n:/ N )Jg"n:/ N-i:`"n:/ N?<X/ NB"n:/ N$i/ N$>"n:/ N$i/ NB``Hn>Np"n>/ N-I4"n4pB2"n4ET p Q"n4E""n4E6"n4EpJpQ"n4E@tpQ"n4EpQ"n4EpQ"n4B#>?<BNV?<Hn:NB#:"n:/ N">?<JN("n:/ NB?<NBjBnp=@8 n 8nVHn>N2"n>/ N#yj#>j?<Hn:NB"n:/ N#yn#:nRn8`HnLNDN^,_NuM5S 1A1Toronto, OntarioUniversity of TorontoDept. of Comp. Sci.John Buchanana:\stfind.dat/,HNVDA-HNbAL01|HnLHz?< Np=@DpA=@F nZFn0.F2|AC@A"0JgzBnD0.F2|AC@A-pH .HJgPHnL?.FNNXHnL"nH/ NT/ ?CBEhpQCBEC4EC&ECEC E:N^N$p???9/9N 9JfHyzHz?< NX?9N\"y/ NT/ "y/ N?N309"y/ NQg>?9/9NV 9JfHyzHz^?< NX?9N*`>"y/ NE"/ ?<Np"Q` "y/ NE6/ ?<Np"Q`"y/ NEJ2p "Q`"y/ NEt2p "Q`"y/ NE/ ?<Np"Q`X"y/ NE/ ?<N""""`&@ @b@0;N^6N^,_Nublast insertblast remove/,HNVA-HNb09|rAoN0. @dN$Hy??.?.?<0.@T@??<?<=ND@d"n 2p=@Rn`Bn nnB?.?.?<0.@T@??<?<=N@d"n 0.X@2p=@Rn`0.N^,_ _PN/,HNVA-HNbp3z#0.2|C33 0.`Lp3xp3"n/ NTEp$Qp9309rAoF"n/ Np)?N3?9Nƾ@e"n/ N3`"n/ N33|p30. rHH@@@ 3~0. rHH@@3t0. rAl$p9xX@3vp3`"p9x@3v3?<N`:p3xp3"n/ N"Ep$Qp93p33|0. rHH@@@3~0. rHH@@@ 3t0. rAl$p9xV@3vp3`"p9x@3v3`hp3xp3"n/ N6Ep$Qp93p33|0. rHH@@@3~0. rHH@@@ 3t0. rAl&p9x@3v3`"p9x@3v3`p3xp3"n/ NJE4p $Qp93p(33|0. rHH@@@#3~0. rHH@@@3t0. rAl$p9xV@3vp3`"p9x@3v3?<NP`p3xp3"n/ NtE4p $Qp93p(33|0. rHH@@@/3~0. rHH@@@$3t0. rAl$p9xV@3vp3`"p9x@3v3?<Nt`p3xp3"n/ NEp$Qp3p933|0. rHH@@@;3~0. rHH@@@03t0. rAl$p9xV@3vp3`"p9x@3v3` p3xp3"n/ NE$$$$p3p 3#p933|0. rHH@@@;3~0. rHH@@@03t0. rAl&p9x@3v3`"p9x@3v3`&@ @b@0;N4X|?<NN^,_ _PN/,HNVA-HNb09z@dBgN\0.A@AJ-p .JfByzBgN~`\0. 2.tHHAATAA A]0. 2.vHHAATAA^CBdX"n/ N029AAAf/.?/9?p33p3N׾N`x09аngjNByzBgN~09аn^?Np3?.N?.Nn?9NJ?9NZ3N:NŀNN^,_Nu/,HNVAB-HNb09z@d09|KfBgNBgN?<N`09|f(BgNޮ?<NۤN?<Nޚp3`09|MfBgNzN*?<Nn`n09|M6fBgNVN@?<NJ`J09|K4fBgN2Nݖ?<N&`&09| W09|PWÄCBdBgNN?<N`09|SfBgNNByzNX`09|Rf$BgNݲNByByzBgN~`09|HfBgN݂N?<Nv`v09|=@0.r A\0.r~A_C09y]CBd*BgN20.?Np3?<NNZ`pHyz?NX`>09|=@0.r`A^0.r{A]CBd0.@=@0.r@A^0.r[A]CBd0.@=@0.rAA\0.rZA_CBd09rAf4NBgNp33p3NxN`j09аng\N09аn^?Np3?.NӬ?.N6?9N?9N"3NNHN`09rAg 09|RWyBdByzByBgN~N`09|SWyBd Nl`09|sW09|KWÄC09|K4WÄCBd N`09|MW09|tWÄC09|M6WÄCBd N`J09|wW09|G7WÄC09|GWÄCBd Nh`pHyz?NXN^,_Nu/,HNVA-HNbBn?<BgBgBgp/BgBgBgBgBgBgBgBgBgBgHnHnHnHnHnHnHnN=@0.`HnNByBgN~`@( @b@0;N0.r(AfpN^,_Nu/,HNVAd-HNbBn?< N$prArA??<?<Bgp/BgBgBgBgBgBgBgBgBgBgHnHyHnHnHyHyHnN=@0.rAJ@gN<0.rAJ@gNb0.rAJ@g0.`p?9Nq`?.Nq?9?9?<?<,Nz`z?9?9?<?<,Nz?.?.?.?.?.ND`D30.@3?9?9?<?<,Nz?.?.?.?.?.Nr`?.Nq?.Ns09@d.CO$O=p<Q?<NrAfNp3dBgN~N`p3d09@d.CO$O=p<Q?<NrAfNByN4`D@ @b8@0;N8,,,,,,,,,,,,,,,,|p@dN^,_Nu[2][Addresses have|been changed|save the changes][ YES | NO ]A#A0B1|Az01|N309J@kNNCVEpQ?9HyNe~3N&09@eNNHyzNDBgNA STreet finderNu/,HNVtNbA8-H=n0. rA=@-nx?<HnHnHnxHntNN^,_ _PN/,HNVtNbA2-H=n p=@-nx?< HnHnHnxHntNN^,_ _\N/,HNVtNbA0-H=n Bn-nx?< HnHnHnxHntNN^,_ _\N/,HNVNbA*-H/.?. A O"Op?"QBgBgNhN^,_ _ON/,HNVnNbAL-H"n $n p*R@r=n"n / N-@r?<#HnHnzHnrHnnN0.N^,_ _\NNu/,HNVtNbAV-H=n=n=n=n=n=n=n=n=n ?<3HnHnHnxHntNN^,_ _ON/,HNVnNbA@-H0. J@jBn =n -nr?<2HnHnzHnrHnnN=nz0.N^,_ _\N/,HNVNbAp-H/.BgHnHnHnHnNm~BgBgBgBgBg?.?.?.?.N/.Bg?<?.?.?.?.Nkl/.?. N(=@0.N^,_ _\N/,HNVNbAB-H/. BgHnHnHnHnNm~?<BgBgBgBg?.?.?.?.NRN^,_ _XN/,HNVtNbA&-H-n x?<6HnHnHnxHntNN^,_ _XN/,HNVNbAR-HBn"n0.r1JAg*"n 0.R@$n2.t20.R@=@`"n 0.@N^,_ _PN/,HNVNbAz-H"n Jfp. R@?"n / Np=@p. =@0.nn&"n $Q0.S@2.tA 0Rn`"n $Qp. rN^,_ _ON/,HNVNbAv-H"n0.-I"n0)rAW"n0)r AWÄC"n0)rAWÄCBd("n / AO"Op?"QN`"n0)rAW"n0)rAWÄC"n0)rAWÄC"n0)rAWÄCBd"n$i -J"n0)rAW"n0)rAWÄCp."ni\CBd"n0)S@@"n Jf"np.R@3@"n/ AO"Op?"QN"n0)rAW"n0)rAWÄCBd"n3n "n3n N^,_ _O N/,HNVNbAT-H"n0.-I"n0)rAW"n0)rAWÄCBd"n$i /"n / N`N^,_ _O NNu/,HNVxNb=n=n -n|?<(HnHnHn|HnxNN^,_ _PN/,HNVxNb=n -n|?<rHnHnHn|HnxNN^,_ _\N/,HNVxNb-n|=n=n=n=n=n=n ?<*HnHnHn|HnxNN^,_ _ON/,HNVNb"n0. =i 0.N^,_ _\N/,HNVxNb-n|=nBn=n=n=n=n=n0. rA=@?</HnHnHn|HnxNN^,_ _ON/,HNVNb/.?.HnHnHnHnNm~/.?.?.?.?.?.?.?. NDN^,_ _O N/,HNVNb"n0. =i0.N^,_ _\N/,HNVNb"n0.3n N^,_ _PN/,HNVrNb-nv=n=n=n=n ?<+HnHn~HnvHnrN=n~0.N^,_ _O NNu/,HNVtNb/.?."n/ "n/ Nn("n0.-It"n$nt2"n $nt2"nt0) rAJ@g:"n$n0W@2"n$n0W@2"n$n0\@2"n $n 0\@2N^,_ _ONNu/,HNVxNb=n-n|?<,HnHnHn|HnxN"n2"n 2N^,_ _ONNu/,HNVtNbAD-H=n=n=n=n=n=n ?<iHnHnHnxHntNN^,_ _O N/,HNVtNbAL-H=n=n?<hHnHnHnxHntN"n2"n2"n2"n 2N^,_ _ON/,HNVNbA*-H?.?<"n/ "n/ "n/ "n / N`N^,_ _ON/,HNVNbA*-H?.?<"n/ "n/ "n/ "n / NN^,_ _ON/,HNVNbA*-H?.?< "n/ "n/ "n/ "n / NN^,_ _ON/,HNVNbA*-H?.?< "n/ "n/ "n/ "n / NN^,_ _ON/,HNVNbAP-H?. N,0. rAfBgBgN>`(?. HnHnHnHnN?.?.N>N^,_ _TN/,HNVNbA&-HBg?< HnHnHnHnN=n0.N^,_Nu/,HNVNbA-H?. ?< BgBgBgBgNNN^,_ _TN/,HNVtNbAl-H0.J@W0. J@WÄCBdBgHnHnHnHn N=n=n=n=n=n ?<eHnHnHnxHntNN^,_ _O N/,HNVtNbA&-H=n ?<fHnHnHnxHntNN^,_ _TN/,HNVNbA"-H?.?<?.?.?.?. NJN^,_ _O N/,HNVNbAH-H"n $n p*R@r"n / HnHnNt?.?<?.?.BgBgNN^,_ _\N/,HNVNbAH-H"n $n p*R@r"n / HnHnNt?.?<?.?.BgBgNN^,_ _\N/,HNVlNbA-H0.J@W0. J@WÄCBdBgHnHnHnHn N=n=n=n=n=n ?<dHnHnzHnrHnnN=nzl0.lrAg?.l"n/ N=nl0.N^,_ _ON/,HNVtNbA&-H=n ?<gHnHnHnxHntNN^,_ _TN/,HNVnNbA2-H=n=n ?<jHnHnzHnrHnnN=nz0.N^,_ _XN/,HNVtNbAd-H=n&=n$=n"=n =n=n?<lHnHnHnxHntN"n2"n2"n2"n 2N^,_ _ONNu/,HNVNb .R-@"n ."<//NF"2"n .r2N^,_ _O NNu/,HNVVNb=nt=n vp. |o =|X` p. =@Xp=@Z=nXV0.ZnVn$0.Z@2.ZtA 0A1RnZ`?<Bg?.X?<HnHnHnHntHn\?<NnN^,_ _ONNu/,HNV8NbAn-H?<%BgBgBgHnHnHnhHnPHn8BgNn0.hrAm"n0.lR@20.hrAf"n$n0@2"n 0.pJ@V2N^,_ _PN/,HNVNbA-H?.?. NbN^,_ _XN/,HNV8NbAV-H=nP=nR=nT=n V?<BgBg?<HnHnHnhHnPHn8?<Nn?.?. NbN^,_ _PN/,HNVNbA6-HHnHnNr?.?.?.?. NZ?.?. NbN^,_ _XN/,HNVNbA-H?.?. ?.?. NN^,_ _XN/,HNV8NbAZ-H=nP=nR0.nS@=@T0.n S@=@V?< ?<Bg?<HnHnHnhHnPHn8?<NnN^,_ _PN/,HNV8NbA-H=nP=nR0.nS@=@T=nV0.nS@=@X0.n S@=@Z=n\0.n S@=@^=n`=nb?<BgBg?<HnHnHnhHnPHn8?<NnN^,_ _PN/,HNV8NbAX-H=n=n =nP=nR=nT=nV?< ?.?<?<HnHnHnhHnPHn8?<NnN^,_ _ON/,HNVNbA&-H?<?.?.?.?.?.?. NXN^,_ _O N/,HNVNbA&-H?<?.?.?.?.?.?. NN^,_ _O N/,HNV8NbAJ-H=nP=nR=nT=n V?< ?<Bg?<HnHnHnhHnPHn8?<NnN^,_ _PN/,HNVNbA -H?.?.?.?. Bg?<N,N^,_ _PN/,HNV8NbAZ-H=nP=nR0.nS@=@T0.n S@=@V?< ?< Bg?<HnHnHnhHnPHn8?<NnN^,_ _PN/,HNVNbAL-HHnHnNBgN ?<N~?.?.?.?. NF?.N ?.N~N^,_ _PNNu/,HNV8NbA~-H=nP=nR0.nS@=@T0.n S@=@V0.J@V0. J@VCBd p=@`Bn?<Bg?<?<HnHnHnhHnPHn8BgNnN^,_ _PN/,HNVNbA"-H0.n n =n`=n 0.N^,_ _XN/,HNVNbA"-H0.n m =n`=n 0.N^,_ _XN/,HNVNbA-H0."n?"n0"nQ? NNN=@0. n?"n0"n Q? NN,=@"n/ ?."$n? NNR"_2"n/ ?. $n? NN8"_2"n0.$nR2"n 0.$nR2"n0rA^"n 0rA^C=B0.N^,_ _ON/,HNVtNbA&-Hp=@?<kHnHnHnxHntNN^,_Nu/,HNVtNbA$-HBn?<kHnHnHnxHntNN^,_NuNu/,HNV=n<-n$?<HnHnHnHnN=n"n2"n2"n2"n 2"n 2"n20.N^,_ _OBgBgNb=np0.N^,_Nu/,HNVvN=@0.J@g ?.N|?<HnHnHnzHnvNN^,_Nu/,HNVNbp. R@rA Hn N/NZN^,_ _ON _(N _0/Ho |*3JyfXNX/"_/$|a."|(a&Hy?<NJyg _9NBgNAg`NuNu/,HNV-n=n ?<4HnHnHnHnN=n0.N^,_ _\N _#.#*#&#"##0/3| H |X"|H2H2H209 @pf2<`2<3"<0<NBNu _<#B#:#>#6"_#2:3E3_3_ 2/3yF Jg( y:8DSEk0 yN00 yL0Q?"<20<sNBJ_`.:9H yBSEk0 yN00 yN0QNu _3FN09FNu _3HN09HNu _3N3LN _"_$_2N4LN _3R3PN _"_$_2R4PN _3JN09JNu _ RNB9T`PTBy _0g$_jp"_// HVNDLVJ@fP)J9Tf" f |` f|` f |` f|`4<G BQB) @ef *:f^&Jrt `e QGtWJBk4G3 J9Tf g g`> g8 fp@`*S@rG   e gRAQJ9Tg`tJ)f8a J9Tg| _0< HyND|#|3|Nu )bJ) g )g )g ) f J9TfgHBNu|/ BgHi ?<ANA>3|NAXNu _4` _t6 Bo r aSB`2aNH? _r ar a/L?Nu _r aN _4` _t"x0HgJJjDxvCzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Ct`CtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH "oA/ NL NuBy(_ _/ C( g  f4t4(H / /?(?<@NA LJkn gffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHy` Hy0< LNDREWRITE required prior to WRITE or PUTDisk or directory fullBy _$_"Wp )f)H/ N`L4NH/ N`Lp)`By _"WJyf8J)f )f)H/ N`L )g)J)fJgBy )g J)fBiNz`zBy _$_"WptvH/ Hyba029bXL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHyA0<` Hy!0<NDBy _$_0"Wt )gJ&JRJ)f4H/ HybaP29bXL )gJ)f RBBe`ưBe`N&|dH/ ?< NA\Hy?< NA\LS@kQ3N Bad digit in number encounteredOverflow during READ of numberBy(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHy0<` Hy0< LNDReset required prior to Read or GetAttempt to read past end-of-file Nu# _ ged 9NHy`HyNZt`t _"_0gR@| e.G$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9g0$A#`""9g$A#`"9g $A#"`"E&R"$b HyNZJgr"QHd2S@k"QN _"_0" ged gR@ @mz @ e@E"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"#` |f"#` "#NHeap overruns stackPointer NILPointer not in heapHh _0"_e /LhNuHy*NZ/B9ѐ/|ѐNuHh _0 @f0"|ffp` "_J@jpEѐr4@ BbBS@kQ/LhNuHh _4SBkt82$_rAdd0 @f0"|ffp` "_J@jp6ADb6CG0IS@k$eQ/LhNuHh _4k2SAk0"_p6B@bE0)CS@kQ/LhNuHh _2$_r0 @f0"|ffp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LhNuHh _4kF2SAk>0 @f0"|ffp` "_J@jp6B@bEѐSBkQ/LhNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"ye HyNZN#Ҙ#Ҕ .f -|`-| nNнҔf yҘNStack overruns heapH?Ҝ _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?ҜNu0NvDNHҜ|` HҜ| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LҜNu09Nu _3NByNu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. 2 V& 4 $& 6 $Z  r $  $& .&4( F"r """"""""44 ,*  ,   &   $   z ,$* |&T&     TJ4  X     " ** * * ** N    $0>((H             ( (     $                    " " " " "  :  """  """"" &0*    ( (                 d              t                          PL& 8      F         &:>&6>  P." $ .           <   $*> 4 *"`          F0    j   &* $$$ * $$" z        HDD D $ && $:42,0X<"$>,$8(l*lr,&D0T>0,8&&,F.:FFFF*@4n(>2020nD(."F<"..ZJ"4\ZBBL:\  @@(&.$@$$2$*|4$&&$$6   $LD"2 T &( 0&  >         HB@6 2J X D   ( 0"L2 T  <   , FR ( *@ B @ B V   STreet finder 1.0 Written by John Buchanan Dept of Computer Science University of Toronto Toronto, Ontario M5S 1A4 This program is shareware If you like it a lot then send me some money Introduction STreet finder is an address book that was developed with the user interface in mind. In fact the interface was completed before the program had the ability to handle any addresses. The idea was to simulate an address book. Notice that address books are extremely user friendly. When was the last time that your address book told you that you entered a wrong entry into it? STreet finder incorporates a feature that is not found in ordinary address books. If the first character in the name field is not the same as the current page then a cross referenced entry can be seen on the appropriate page. i.e. If John Buchanan appears in the name field of an entry in page B then this entry can be seen on Page J Pages for particular letters are accessed by either clicking the mouse in the appropriate chicklet (Rectangle with the letter in it) or by depressing the appropriate key on the keyboard. When the book is opened there are several things that must be noticed. 1) The current page is indicated by highlighting the page chicklet. Also there is a superscript above the letter in the highlighted chicklet. This indicates the page number for the current letter. i.e. a letter can have more than 8 entries. 2) On the right hand side of the new command line there are two chicklets with a left arrow and a right arrow in them. With these chicklets you can flip through the book. The above action can also be accomplished by using the left and right arrows on the key board. 3) On the left hand side of the command line there are two commands. Insert This inserts a new address blank at the end of the current page. (before any cross referenced entries for this page) This can also be accomplished by using the insert key on the keyboard. Delete This places you in delete mode. The mouse cursor says DELETE in it and you have to point at the address that you want to delete. If you point at a valid address an alert box comes up asking you if you are sure that you want to delete the address. If you point at an invalid address you will exit delete mode. You can enter the delete mode by using the delete key on the keyboard. 4) CLOSE. This simply closes the book and redisplays the cover of the box. This can also be done using the Clr Home key 5) You are wondering how to edit an address field. In order to edit point at the address field that you want to edit. A cursor appears at the end of the line that you pointed at and the mouse cursor now says edit. ( There is a slight bug here. If you point at the line between two entries in a address field the cursor says edit but no editing cursor appears. Simply point the cross that is now on the mouse cursor at the entry that you want to edit.) Because of the cross referencing feature you can edit all entries in a cross referenced address exept the name. If you want to edit the name you must edit the original entry. (as you change the first letter its cross reference will move from page to page.) EDIT MODE key interpretation Left Arrow Move edit cursor one character to the left. Right Arrow Move edit cursor one character to the right. Up Arrow Move to previous entry in address field. Down Arrow Move to next entry in the address field. Shift Left Arrow Move to the beginning of current entry. Shift Right Arrow Move to the end of current entry. Alphabetical/ Numerical/ Shifted Numeric Insert into the current entry. 8) ending the program or exiting the desk accesory Clicking in the upper left close box will cause you to exit the address book. If you have edited any address then you will be asked wether you want to save the changes. If you say no an internal flag is set and you will not be prompted again. Also My disk i/o is not to intelligent so I have not figured out what to do with empty files so if you atempt to save an empty book I have made it so that it saves my address. If you have another address in the book you can delete my address and be done with me. 8b) File format All data is stored in stfind.dat which has to be on the root directory of the a: drive (I will allow this to change later on). The Data is stored in ascii format. Not terribly eficient but one of my main beefs against all the other address book managers is that it is hard to access the data. each address line fits on one line of the output file. For example John Buchanan tel1 tel2 line1 line2 line3 code on page B is stored B John Buchanan tel1 tel2 line1<>cr> ... and so on. you get the idea 7) PRINT This is something that I've just started playing with. It is only accessible from the program. I assumed that printing out 26+ pages of stuff is not something that you will want to do all the time. Right now it just prints out all the pages that are required. >=27 One for the tile page. What you do with this output is to cut all the pages at the dotted line and fold each page so that the addresses are on the outside of the page. Now staple all the pages together in order to form a little booklet. Voil you have a little address book. In six months print out an updated one. I do not claim that this part of the program is very clean. (I have a Roland 1011) printer which I think is 100% compatible with an Epson LX-80 printer. In the next version (May) I Hope to have a better interface to this part of the program. I have developed two versions of the program. One is a Desk accessory and the other is a program. I read somewhere that a DA could not dynamically allocate memory, this forced me to develop different data structure management schemes. The DA will only let you 10 new addresses per session. The program allow you to add as many as you want in one session. The DA runs best if you close the window before you exit a particular application. I hope that this is useful. I find it very useful and I have had a lot of fun developing it. I don't think that I'd be willing to let the source code float around right now. I want to retain some control on this for now. Maybe even get it to run on a color monitor ( Probability ~=0) some day. I'm In the process of finishing my course requirements for my masters so don't expect any immediate updates. Enjoy Pardon the hacked up documentation above. It is midnight after a long day. ` o"h###,Oc.N//Bg?<JNA Bb3NNTEXT_HEIGH?Hz~/,HNV6AH-HPN:BnN~=nP~?< BgBg?<HnHnHnfHnNHn6BgNF~N^,_X> _TNM_DEL ?Hz~/,HNVA2-HPN:p=@~p=@~p=@~ Bn~ p=@~ =|@~ =|~ =|~=|~=|J~=|w~=| ~=|7~=| ~=|w~=| ~=|~Bn~=|~=|~=|~=|H~=|~=| L~=|~=|H~ =|~!=|N~"=|~#Bn~$=|~%Bn~&Bn~'Bn~(Bn~)Bn~*Bn~+HnNF~,N^,_X>NuM_ED ?Hz~2/,HNVA2-HPN:p=@~3p=@~4p=@~5Bn~6p=@~7=|@~8=|~9=|0~:=|~;=|D(~<=|~==|(~>=|~?=|(~@=|~A=|0~B=|~CBn~D=|~E=|8~F=|~G=|~H=|~I=|~J=|~K=|~L=|~M=|~N=|~OBn~P=|~QBn~RBn~SBn~TBn~UBn~VBn~WHnNF~XN^,_X>NuPCS ?Hz~~/,HNVAP-HPN:0.raA\0.rzA_C~Bd0.@><=@` ><=n><0.N^,_X> _TNINCREASE_P?Hz~/,HNVA-HPN:0.2|AC@2.4|AEAAl40RBAl1~0.2|AC@Al20pHHA~JAf>~~ 0.@A@~ 2.ACAA>40RBA>1~ ~ ~ N^,_X> _TNDECREASE_P?Hz~/,HNVA-HPN:0.2|AC@2.4|AEAAl40SBAl1~0.2|AC@Al20pHHA~p@f>~~0.@A@~2.ACAA>40SBA>1~~~N^,_X> _TNLHBTC?Hz~ /,HNVAL-HPN:?.NrAA\/?.N$rZA_CBd~!p=@`~!Bn~"0.N^,_X> _TNGIVE_BACK_?Hz~*/,HNVA"-HPN:"n?</N~+N^,_X> _XNGIVE_BACK_?Hz~3/,HNVA"-HPN:"n?</N~4N^,_X> _XNTE_HR?Hz~;/,HNVAz-HPN:"np)~"np)?Nr=@~??.~@N@d~A~B=n` ~C~C=n~D~E` ~F~F=n~G0.N^,_X> _\NNEW_OTH_NO?Hz~P/,HNVA6-HPN:"n?</ N~Q"n$Q/ NB~SN^,_X> _XNINSERT_OTH?Hz~[/,HNVA -HPN:0.2|AC@A˂"0~\JfJ~]~^0.2|AC@A˂HpN<~_0.2|AC@A˂-p~`~a`~b~b~c0.2|AC@A˂-p~d~d"n/ N )Jg~e"n/ N-i`~f"n/ NX/ N~g"n/ N-i~h~i"n/ N"~jN^,_X> _\NREMOVE_OTH?Hz~r/,HNVA-HPN:0.2|AC@A˂-p~s-n~t"n/ N f2~u0.2|AC@"n/ N~vA˂!`r~w~w~x~x"n/ N g$~y~z-n~{"n/ N-i~|`~}"n/ N$n/ N#j~~HnN~><N^,_X> _\NDELETE_NOD?Hz></,HNVAh-HPN: .JgL><><"n/ NT/ ?.N`=@><0.2|AC@An-p><-n>< .f>><><0.2|AC@"n/ NAn!><><`n><><><>< .g,><><-n><"n/ N-i><`><"n/ N$n/ N#j><><><><><0.ng><><?./.N><><HnN><><N^,_X> _\NNEW_ADD_NO?Hz></,HNVA-HPN:"n?</ N><"n$Q/ N-J><><"nET><"nE"><"nE6><"nE|J><"nEft><"nEP><"nE:><"nB><"nB><><N^,_X> _XNNEW_NODE ?Hz></,HNVA-HPN:"n?</ N><"n$Q/ N-J><><"nET><"nE"><"nE6><"nE|J><"nEft><"nEP><"nE:><"nB><"nB><><N^,_X> _XNREAD_NODE ?Hz></,HNVA-HPN:BgN><"n/ N-I><>< V0(P@e VHhL"n/ NNX><NJ@f" VHhL"n?<T/ NRNX><NJ@f*>< VHhL"n?<"/ NRNX><NJ@f*>< VHhL"n?<6/ NRNX><NJ@f*>< VHhL"n?<(J/ NRNX><NJ@f*>< VHhL"n?<(t/ NRNX><NJ@f*>< VHhL"n?</ NRNX><NJ@f*>< VHhL"n?</ NRNX><><N^,_X> _XNINITIALIZE?Hz></,HNV4A-HPN:AL01|pA=@H nZHn><><><0.H@A@rA>1><0.H2|AC@A˂B><0.H2|AC@AnB><0.H2|AC@AlBp><RnH`l><BgN><HnLHzd?< Nx><NJ@f:><><p]=@F><><0.P@e><><Hn>N></.> NN><"n>/ N?N:><nFgb><><"n>/ N?N=@F><0.F2|AC@An!>><?.FNb><-n>B><><`P><><>< ?.FN8>< "nB/ N#n>>< "n>/ N#nB>< -n>B>< ><"n>/ NT/ ?.FN=@J><0.J><nFfL><><><?<Hn:N><"n:/ N#yF><#:F><><`><><><0.J2|AC@A˂"0><Jf><><?.JN@><0.J2|AC@?<A˂HpN><0.J2|AC@A˂"p/ N">><0.J2|AC@A˂"p/ NB>< ><!`><"><"><#?.JN><$0.J2|AC@A˂-p:><%><%"n:/ N )Jg><&"n:/ N-i:`><'"n:/ N?<X/ N><("n:/ N$i/ N$>><)"n:/ N$i/ NB><*><+><,`><-><.`v></></><0Hn>N><1"n>/ N-I4><2><3"n4pB2><4"n4ET p Q><5"n4E"><6"n4E6><7"n4EfJpQ><8"n4E2tpQ><9"n4EpQ><:"n4EpQ><;"n4B><<><=#>v><>?<BN><??<Hn:N><@#:̪><A"n:/ N">><B?<JNx><C"n:/ NB><D><F><G><H><I><J><K><L><M><N><O><P><Q><R><SHnLNN^,_X>NuM5S 1A1Toronto, OntarioUniversity of TorontoDept. of Comp. Sci.John Buchanana:\stfind.datWRITE_ADDR?Hz><^/,HNVDAN-HPN:AL01|HnLHz?< N><_p=@D><`pA=@F nZFn><a><a0.F2|AC@An"0Jg><b><cBnD><d0.F2|AC@An-pH><e><e .HJg|><f><gHnL?.FN\NzX><hHnL"nH/ NT/ ?<iHnL"nH/ N"/ ?<jHnL"nH/ N6/ ?<kHnL"nH/ NJ/ ?<lHnL"nH/ Nt/ ?<mHnL"nH/ N/ ?<nHnL"nH/ N/ ?<o"nH/ N-iH><p`z><qRnF` ><r0.D@d><s><tHnL?<BN\NzX><uHnLHz6?< NXNzX><vHnLHz?<NXNzX><wHnLHz?<NXNzX><xHnLHz?<NXNzX><yHnLHz?<NXNzX><zHnLHzd?<NXNzX><{HnLHz>?<NXNzX><|><}HnLN><~HnLNN^,_X>NuM5S 1A1Toronto, OntarioUniversity of TorontoDept. of Comp. Sci.John Buchanana:\stfind.datINIT_GLOBA?Hz></,HNVA*-HPN:p =@><Bn><p=@><><><0.2|C@Ad1><0.R@=@><0.@ =@><0.R@rHH@=@><0.J@f 0.X@=@><0.|o><><p3à><p3Þ><p3Ô><ByÒ><ByÜ><p3Ú><p3Ø><p3Ö><Byâ><ByR><p3<><><pA=@ nZn&><0.2|AC@A˂BRn`><><><p3\><p'3Z><p3è><><?<Nv><><~CEìpQ~CE~C\EpQ~C0E*pQ~CDET~CE~pQ~CEĨpQ~CEpQ~ CE~ CPE&pQ~ CEPpQ~ CEzpQ~ CEŤpQ~CEpQ~CdE~CHE"pQ~CELpQ~CEvpQ~C EƠ~CE~CE~CE~NHz?<N0<??<><><Nz><><Np??<Np??<Np??<p CͶ><N^,_X>Nu Used with their permission OSS & CCD are copyrighted by Portions of this program M5S 1A1 Canada Toronto, Ontario University of Toronto Department of Comp. Sci. John Buchanan open the book. the appropriate key to With the mouse click Comments are also welcome. About $10 would be nice. send me some money. If you like it a lot then This program is shareware. as an address book. accessory which acts This program is a desk John Buchanan Program written by Street finder 1.0STRINT ?Hz~/,HNVA-HPN:0.J@jD@=@~CE~ ~ ~ 0.r HH@=@~ 0.r H=@~ 0.@0=@~ N?.? _\NHIGHLIGHT ?Hz~/,HNVA-HPN:N~?<0AN~?<0|AN~?<N~BgN~ 09\2.AR@?09Z@??<?<N\~ ?<0|AN~ N~ N^,_X> _TNDISPLAY_AD?Hz~/,HNVA-HPN:0.rAm~=|` ~p=@~0.rHH@=@~0.@@ =@~0.@d~~?<0|AN~?<N~?<0AN~BgN~09\n?~ 09Zn@??<?< _PNDARKEN ?Hz~C/,HNVA-HPN:0.rAm~D=|` ~Dp=@~E0.rHH@=@~F0.@@ =@~G?<0|AN~H?<N~I?<0AN~JBgN~K09\n?~L09Zn@??<?< _TNDISPLAY_TE?Hz~Z/,HNVA-HPN:09è@A=@~[0.2|AC@An-p~\0.2|AC@A˂-p~]Bn~_~`~` .JV0.29êSAAAVCBd(~a~b"n/ N-i~c0.R@=@~d`~e~e .JV0.29êSAAAVCBd(~f~g"n/ N-i~h0.R@=@~i`~kBn nn ~l~l0.A@A"BRn`~n~p~p .JV0.29êAAVCBdd~q~r0.rHH@?/.BgNZ~s0.rHH@A@A"!~t0.R@=@~u"n/ N-i~v`~~w~w .JV0.29êAAVCBdz~x~y0.rHH@?"n/ N/?<N~z0.rHH@A@"n/ NA"!~{"n/ N-i~|0.R@=@~}`h~~0.29ê~AAlF><=n09ê@S@=@0.nn"><><0.rHH@?N8Rn`><N^,_X>NuDRAW_SPIRA?Hz~/,HNVA$-HPN:Bn nn~~~09\@?09Z2. A??<?<N~ 09\@ ?09Z2. A??<?<N~ 09\@?09Z2. AT@?09\@ ?09Z2.RA AR@?Nh~ Rn`D~ 09\@?09Z@??<?<N~ 09\@ ?09Z@??<?<N~N^,_X>NuSET_TEXT_M?Hz></,HNVA<-HPN:0.@dBg><N`><?<N><N^,_X> _TNOUTLINE_FI?Hz~/,HNVA-HPN:Bg0AN~ Bn nnh~ ~ ~ 09\T@?09ZT@2.AA??<?<=N\~ 09\@?09ZT@2.AA??<?<=N\~ Rn`~?<0AN~Bn nnD~~~09\T@?09ZT@2.AA??<?<=N~09\@?09ZT@2.AA??<?<=N~?<0|AN:~?<N~BgN~?<0AN~?<0|AN~Bn nn~~~09\V@?09ZT@2.AA@ 2. A?~?<?<N\~09\@?09ZT@2.AA@ 2. A?~?<?<N\~Rn`p~?<N~ 09\@~?09Z2.AA@??<?< N\~!09\@?09Z2.AA@??<?< N\~"09\@?09Z2.AA@2??<?< N\~#09\@?09Z2.AA@2??<?< N\~$?<N~%?<0|AN:~&Rn`~'N^,_X>NuDRAW_CHICK?Hz></,HNVA>-HPN:=y\><?.09Z@??.09Z@+?Nh><p=@ nn><><><0.\@?09Z@)?0.@@O"ON><0.@?09Z@?0.@?09Z@+?Nh><0.@=@><Rn`l><?9\09Z@??.09Z@?Nh><?9\09Z@+??.09Z@+?Nh><N^,_X>NuCLEAR_BOOK?Hz></,HNVAz-HPN:Bg0AN><?<0AN><?<0AN><?<N><09\R@??9Z?<?<,N\><N^,_X>NuOTHER_COMM?Hz></,HNVAr-HPN:?9\09Z@?09\@?09Z@?Nh><?9\09Z@?09\@?09Z@?Nh><09\@P?09Z@?09\@P?09Z@?Nh><09\@?09Z@?09\@?09Z@?Nh><09\@?09Z@?09\@?09Z@?Nh><09\@[?09Z@?09\@[?09Z@?Nh><09\@?09Z@?09\@?09Z@?Nh><09\@?09Z@?09\@?09Z@?Nh><?9\09Z@?09\@?09Z@?Nh><?9àNL><Np??<09\@?09Z@?C IO$Op?$QN><?9ÔN><09\@?09Z@?CO$OpQN><?9ÞN>< 09\@i?09Z@?CO$OpQN>< ?9ÜN@>< 09\@?09Z@?CLO$ON>< ?9ÚN>< 09\@?09Z@?CO$OpQN><?9ÖN><09\@s?09Z@?CO$OpQN><?9ØNn><Np??<09\@?09Z@?C IO$Op?$QN><BgN><N^,_X>NuClosePrintFindInsertDelete DRAW_J_B ?Hz~/,HNVA-HPN:?<N~?<0AN~?.?.?<?<N\~0.\@??.?<?<N\~ 0.@ ??.?<?<N\~ 0.@??.?<?<N\~ 0.@??.?<?<N\~ 0.@ ?0.\@??<?<N\~ 0.@ ?0.@ ??<?<N\~0.@ ?0.@??<?<N\~0.@ ?0.@??<?<N\~0.\@?0.@??<?<N\~?.0.@??<?<N\~?.0.@??<?<N\~0.@?0.\@??<?<N\~0.@?0.@??<?<N\~0.@?0.@ ??<?<N\~0.@?0.@ ??<?<N\~0.@?0.@??<?<N\~0.@?0.@??<?<N\~?<N~0.@?0.X@?pAO"ON~0.@+?0.@?C*O$O p QN~N^,_X> _XNProductionWRITE_TITL?Hz~#/,HNVA-HPN:?<0AN~$?<N~%?9\?9Z?<?<N\~&Bg0AN~'09\Z@?09Z@ ??<?<N ~(09\@?09Z@ ??<?<N ~)?<NN~*p=@ nn^~+~+09\Z@?09Z2. A@ ?0.2|C'*AÂC IO$Op?$QNRn`~,p=@ n(n`~-~-09\@?09Z2.A A?0.2|C'*AÂC IO$Op?$QNRn`~.09\@D?09Z@?N,~/BgN~0N^,_X>NuUNNUMBER_P?Hz></,HNVA-HPN:?<0AN><?<0|AN><09\@ 2.A?09Z@??<?<N\>< ?<0|AN><!N^,_X> _TNNUMBER_PAG?Hz><+/,HNVA-HPN:?<NR><,?<N><-?9êHnN><.09\@ 2.A?09Z@!?C IO$Op?$QN></?<N><0BgN><1N^,_X> _TNDRAW_PAGE ?Hz><7/,HNVA-HPN:N><8?<Nˆ><9N><:09â@dV><;><<=N><>Nv><?NF><@N><A?9èN><B?9èN><C><D`><E><E><FN&><GN><H><JN><KN^,_X>NuINSERT_IN_?Hz~ /,HNVA-HPN:09Z~J@f~0.Cb`~~~NHyb? _TNUPDATE_NOD?Hz~$/,HNVA-HPN:09͐`~%~&~&~'"y͌/ NEbT/ ?<Np"Q~(09͒/"y͌/ NT/ "y͌/ N?N" Ag~)~*09͒"y͌/ N~+QgH~,~-?9͒/9͌N~. 9͌JfHyRHz$?< NXX~/?9͒N|~0~1"y͌/ NT/ "y͌/ N?N@3͒~209͒"y͌/ N~3QgH~4~5?9͒/9͌N~6 9͌JfHyRHz?< NXX~7?9͒N~8~9~:`X~;~;"y͌/ NEb"/ ?<Np"Q`"~<~<"y͌/ NEb6/ ?<Np"Q`~=~="y͌/ NEbJ2p "Q`~>~>"y͌/ NEbt2p "Q`~?~?"y͌/ NEb/ ?<Np"Q`^~@~@"y͌/ NEb/ ?<N""""`(~A@ @b@0;N~R&N~BN^,_X>Nublast insertblast removeMOVE_CURSO?Hz~L/,HNVA-HPN:09TrAo~M~NN~O~P0.@d~Q~RNHyb? _TNMOVE_CURSO?Hz~i/,HNVA|-HPN:09͐~jrAf*~k09N29ZyT~lPA3N`(~m~m09N29ZyTPAS@3N~n3ZT~oN^,_X>NuMOVE_CURSO?Hz~t/,HNVAN-HPN:09͐~urAf~v~w3XN`~x~x09XS@3N~yByT~zN^,_X>NuMOVE_CURSO?Hz~/,HNVAX-HPN:09T><yZl2><><09TR@3T><09NyP3N><><N^,_X>NuDRAW_CURSO?Hz></,HNVA-HPN:N><?.0AN><09\yN?09LX@yZ?><09\yN?09L@ yZ?Nh><N><N^,_X> _TNON_NR?Hz></,HNVAj-HPN:0.n\0.2.nA_C0.n\C0.2.nA_CBd><p=@` ><Bn><0.N^,_X> _O NEEMN_?Hz></,HNVA-HPN:Bn><Bn nnV><><?.?.?<0.@T@??<?<=N@d ><><"n2><p=@><Rn`><Bn nnZ><><?.?.?<0.@T@??<?<=N@d$><><"n0.X@2><p=@><Rn`><0.N^,_X> _PNSET_UP_FIE?Hz></,HNVA -HPN:p3R><#͌><0.2|C3͐><3`><0.` ><><><><p3P><p3^><"n/ NTEbp$Q><p9b3Z><09Z><rAoZ><><"n/ Np)?N3͒><?9͒N@e"n/ N3͒><><`><><"n/ N3͒><3ZT><p3\><0.rHH@@@ 3V><0.rHH@@3L><0.rAl8><><p9bPX@3N><p3X><><`6><><><p9bP@3N><3X><><?<N><`v><><><><p3P><p3^><"n/ N"Ebp$Q><p9b3Z><p3\><3ZT><0.rHH@@@3V><0.rHH@@@ 3L><0.rAl8><><p9bPV@3N><p3X><><`6><><><p9bP@3N><3X><><`H><><><><p3P><p3^><"n/ N6Ebp$Q><p9b3Z><p3\><3ZT><0.rHH@@@3V><0.rHH@@@ 3L><0.rAl:><><p9bP@3N><3X><><`6><><><p9bP@3N><3X><><`><><><><p3P><p3^><"n/ NJEb4p $Q><p9b3Z><p(3\><3ZT><0.rHH@@@#3V><0.rHH@@@3L>< 0.rAl8>< >< p9bPV@3N>< p3X>< ><`6><><><p9bP@3N><3X><><?<N><`><><><><p3P><p3^><"n/ NtEb4p $Q><p9b3Z><p(3\><3ZT><0.rHH@@@/3V><0.rHH@@@$3L><0.rAl8>< ><!p9bPV@3N><"p3X><#><$`6><%><%><&p9bP@3N><'3X><(><)?<N><*`><+><,><,><-p3P><.p3^></"n/ NEbp$Q><0p3\><1p9b3Z><23ZT><30.rHH@@@;3V><40.rHH@@@03L><50.rAl8><6><7p9bPV@3N><8p3X><9><:`6><;><;><<=3X><>><?`r><@><A><A><Bp3P><Cp3^><D"n/ NEb$$$$><Ep3͐><Fp 3\><G#͌><Hp9b3Z><I3ZT><J0.rHH@@@;3V><K0.rHH@@@03L><L0.rAl:><M><Np9bP@3N><O3X><P><Q`6><R><R><Sp9bP@3N><T3X><U><V`*><W@ @b@0;Nt8><X?<N><YN^,_X> _PNEDIT_FIELD?Hz><o/,HNVA-HPN:09R@dBgN><q0.A@A"-p><r .><sJf(><t><uByR><vBgNj><w><x`,><y><y><z><{0.2.tHHAATAA A]0.2.vHHAATAA^CBd><|><}"n/ N029èAAAf><~/.?<N2`^><><><pHyR?N\X><CEpQ><pHyR?N\X><NHn?<pHyR?N\X><NHn?<pHyR?N\X><NHn?<pHyR?N\X><AO"Op?"Q?<N~=@><ByR><><><><0.2.tHHAATAA A^0.2.vHHAAAA]CBdv><><0.rA]0.rzA^C0.rA^0.|^DCBd></.?<N4`><></.?<><><0.2.tHHAATAAA^0.2.vHHAAA$A]CBd><></.?<><><0.2.tHHAATAA$A^0.2.vHHAAA0A]CBd><></.?<><><0.2.tHHAATAA0A^0.2.vHHAAA<><0.rA]0.|^C0.rA^0.|^DCBd></.?<N`><></.?<><><N^,_X> _\Naddress][ SORRY ]of a cross referenced|the name field |[3]|You cannot edit|MOVE_CURSO?Hz></,HNVA$-HPN:09͐`><></9͌?<></9͌?<></9͌?<></9͌?<></9͌?<></9͌?<><pHyR?N\X`*><@ @b@0;NlL, ><N^,_X>NuMOVE_CURSO?Hz></,HNVA-HPN:09͐`f><><pHyR?N\X`l><><><"y͌/ N029èAAAf"></9͌?<NJ`T><><><pHyR?N\X><C@EpQ><pHyR?N\X><NHn?<pHyR?N\X><NHn?<pHyR?N\X><NHn?<pHyR?N\X><AO"Op?"Q?<N~=@><`><></9͌?<></9͌?<></9͌?<></9͌?<></9͌?<@ @b@0;NjJ><N^,_X>Nuaddress][ SORRY ]of a cross referenced|the name field |[3]|You cannot edit|DO_DELETE ?Hz~/,HNVA -HPN:p3Ò~N~N^,_X>NuDELETE_FIE?Hz~/,HNVAR-HPN:09è@A=@~09êS@@n=@~C*E0p/Q~09è@A2|AC@An-p~Bn~~ .JV0.nVCBd(~~0.R@=@~"n/ N-i~`~0.nW .JVCBd^~ ~!AO"Op?"Q?<N~rAf.~"~#?./.N~$p3Ð~%?.Nt~&N8~'~(~)`~*~*~+0.2|AC@A˂-p~,~, .JV0.nVCBd(~-~.0.R@=@~/"n/ N-i~0`~10.nW .JVCBd~2AO"Op?"Q?<N~rAfh~3~4"n/ N$Q/ N=R~5"n/ N$Q/ N?"n/ N/N~6p3Ð~7?.N^~8N"~9~:~;BgNj~ _TN[2][Are you sure|You want to delete][ YES | NO ]DO_REDRAW ?Hz><V/,HNVAf-HPN:N><WN><X?.HnHnHnHnN><Y><Z><Z><[?<N><\?.?.?.?.HnHnHnHnN@d,><]><^?.?.?.?.N><_N><`><a?.HnHnHnHnN><b><c0.nJ@fd><d?9\?9Z?<?<,N><e09R@d&><f><g?<N8><hN ><i><j`><j09Ò@d ><kN><lN><mN><nN^,_X> _O NDO_OPEN ?Hz><x/,HNVA-HPN:><y09<@d><z><{By<><|CE p Q><><><><"n/ prArA?Hy><BgBgBgBgN"_2><"n3X><"n??9\09Z@??<?<?N$><><><N^,_X> _XNSTreet finderDRAW_WAIT_?Hz~/,HNVA-HPN:09\@?09Z@?09\n?09Zn?Nh~09\n?09Zn?09\n??9ZNh~ 09èrAg~ 09\@?09Z@?09\n?09Zn@?Nh~ 09\@?09Z@?09\n?09Zn@?Nh~ 09\@?09Z@A?09\n?09Zn@@?Nh~ ~p=@ n n ~Rn`~09\@?09Z@?09\n?09Zn?Nh~09\n?09Zn?09\n??9ZNh~09èrAg~09\@?09Z@?09\n?09Zn@?Nh~09\@?09Z@?09\n?09Zn@?Nh~09\@?09Z@A?09\n?09Zn@@?Nh~~N^,_X> _XNFLIP_PAGE ?Hz~/,HNVA-HPN:?<0|AN~?<0AN~0.@e~~?<?< NN~?<?< NN~?<?< NN~ ?<|?< NN~!?<,?< NN~"?<?< NN~#?<?< NN~$?<P?< NNx~%?<(?< NNh~&?<?< NNX~'~(`~)~)~*?<?< NN<~+?<(?< NN,~,?<P?< NN~-?<?< NN ~.?<?< NN~/?<,?< NN~0?<|?< NN~1?<?< NN~2?<?< NN~3?<?< NN~4~5?<0|AN~6N^,_X> _TNDO_INSERT ?Hz~ /,HNVAh-HPN:09è@A=@~ 0.2|AC@An-p~ 0.2|AC@An"0Jf~ ~0.2|AC@AnHpN~0.2|AC@An"0~Jg2~~0.2|AC@An-p~p=@~~` ~~Bn~~`~~~~~"n/ N )Jg~"n/ N-i`~"n/ N/ Nh~"n/ N )~Jg(~ ~!"n/ N-i~"p=@~#~$` ~%~%Bn~&~'~(~)0.@d~*~+"n/ N-I"n0.2|AC2~,0.2|AC@2.4|AEAAl40RBAl1~-0.2|AC@Al20pHHA~.JAf8~/0.@A@~02.ACAA>40RBA>1~1~2~3p3Ð~4N,~5~6N^,_X>NuDO_FIND ?Hz></,HNVA-HPN:pHyR?N\X><NHz?</N><HzP?<,N"_Ep?$Q><AO"Op?"Q?<N~rAf><N^,_X>Nu Let me know which| would be better][ OK ][1][Unimplemented routine|either sort or find.|FILL_STRIN?Hz~/,HNVA|-HPN:"np)R@=@=n0.nnJ~~"nN$n/ ? _\NPRINT_COVE?Hz~%/,HNVAT-HPN: VHh6NzX~& VHh6NzX~' VHh6p?N\?<WN\p?N\NzX~( VHh6Hz ?<NXNzX~) VHh6Hz?<NXNzX~* VHh6Hz?<NXNzX~+ VHh6Hz?<NXNzX~, VHh6Hz?<NXNzX~- VHh6Hz?<NXNzX~. VHh6p?N\?<WN\p?N\NzX~/ VHh6p ?N\X~0N^,_X>Nu * ADDRESSES * * * *****************FIND_CUR2 ?Hz~7/,HNVAT-HPN: V ( V!@~8Bn~9 V (JgX~:~: V"h/ N )JV0.rA]CBd,~;~< V"h/ N V!i~=0.R@=@~>`~?0.rAl~@~A V0(2|AC@A˂"0 V!A~B0.R@=@~C~C V (JV0.rA]CBd,~D~E V"h/ N V!i~F0.R@=@~G`~H V (Jg~I V"h/ N~J V!Q`~K~K~L VB~M VBh4~N~O~PN^,_X>NuNEXT_NODES?Hz~X/,HNVA-HPN: V0(2@d~Y~Z V"h/ N )~[Jg ~\ V"h/ N~] V!i`~^~^~_ VBh2~` V0(2|AC@A˂"0 V!A~a V (Jg:~b~c V"h/ N V!Q~d V"h/ N V!i~e~f` ~f~g VB~h~i`X~j~j~k V (Jg:~l~m V"h/ N V!Q~n V"h/ N V!i~o~p` ~q~q VB~r~s V0(4@d~t~u V"h/ N )~vJg ~w V"h/ N~x V!i`~y~y~z VBh4~{ V0(2|AC@A˂"0 V!A~| V (Jg>~}~~ V"h/ N V!Q~ V"h/ N V!i><><`><>< VB><><`n><><>< V (JgD><>< V"h/ N V!Q>< V"h/ N V!i><><`><>< VB><><N^,_X>NuPRINT_ADDR?Hz></,HNVA-HPN: V (Jg>< V"h/ N-I><><"nT VEZp$Q><"n" VEp$Q><"n6 VE*p$Q><"nJ VE4p $Q><"nt VE4p $Q><"n VEbp$Q><"n VE$$$$><><`><><><C VEZ><C VE><C VE*><C VE><C VE><C VEb><C VE><>< V (Jg>< V"h/ N-I><><"nT VEp$Q><"n" VEp$Q><"n6 VE^p$Q><"nJ VE4p $Q><"nt VE.4p $Q><"n VEp$Q><"n VE$$$$><><`><><><Ch VE><CV VE><CD VE^><C2 VE><C VE.><C VE><C VE><>< VHhZ?<NH>< VHh6HyͰ?< VHh6Hz?<NX VHhZ?< VHh?<N>< VHh6Hz,?<NX VHh?< VHh6Hz?<NX VHh?< VHh*?<N`>< VHh6Hz?<NX VHh*?< VHh6Hz?<NX VHh^?< VHh6Hyͪ?< VHh?<(N>< VHh6Hz?<NX VHh?< VHh6Hz?<NX VHh?< VHh?<(N^>< VHh6Hz?<NX VHh?< VHh6Hzj?<NX VHh.?< VHhb?<N>< VHh?<N>< VHh?< N>< VHh6Hz?< NX VHhb?< VHh6 VHh?< VHh6Hz?< NX VHh?< VHh6 VHh?< VHh6NzX><N^,_X>Nu Work phone ....... Home phone ....... Name.. Name..HC_FO?Hz></,HNVAr-HPN:NHz?<N><HzV?<N"_Ep?$Q><AO"Op?"Q?<N~rAW=B><0.N^,_X>Nuof address book.][ YES | NO ][2][Proceed with printing|DO_PRINT ?Hz></,HNVZA-HPN:A601| NN@d><><Hn6Hz?<N><Hn6Hy͔?< NN><pA=@ nZnP><><><0.2|AC@An-p>< .Jg&><><p=@2><p=@4><><`^><><><0.2|AC@A˂-p><0.2|AC@A˂-p><Bn2><Bn4><><><>< NN><p=@ nn(><><>< NN>< NN><Rn`><-n><Hn6HzT?<NXHyͶ?< .Jf~><Rn`><><Hn6NN^,_X>Nu_____lst:DO_CLOSE_B?Hz></,HNVAN-HPN:p3è><Byâ><N><?<N><N4><N><N^,_X>NuDO_TURN_LE?Hz></,HNVAh-HPN:N><09êS@3ê><09ê><J@f><09è><J@f><N `><><><?<N><09èS@A@A>20SA3ê><?9èN><?9èN><09èS@3è><?9èNn><?9èNZ><N><ND><><`b><><><?<N|><?9èNn><?9èN><?9èN><?9èN><Nf><N><><N><N^,_X>NuDO_TURN_RI?Hz></,HNVAb-HPN:N><09êR@3ê><09ê29èCA><A>pf><09è><rAf><Nz`><><><BgNv><p3ê><?9èN\><?9èN><09èR@3è><?9èN><?9èN><NB><N><><``><><><BgN><?9èN><?9èN><?9èN|><?9èNh><N><NR><><N><N^,_X>NuPROCESS_MO?Hz></,HNVA-HPN:09æy\=@><09äyZ=@><><0.J@[0.|^ÄC0.J@[ÄC0.|,^ÄCBen><><0.><|l:><09Ò@dj><><?.?.HnN0@d><><?.><Nݲ><`$>< >< >< BgNj>< ByÒ>< >< ><`><><><?.?.HnNyâ@dB><><N><N0><?.?.?.Nd><N><><`F><><><BgNj><09R@d><><ByR><BgN><><>< ><!><"><#`><$><$><%ByR><&ByÒ><'0.|]yâ><(Bdv><)ByR><*BgNj><+0.|^0.|]CBd><,N`(><,0.rPA^0.|]CBd><-N`><-0.rPA]0.rA^C><.Bd0></><009R@dBgN><1Nۈ><2><3`><30.|^0.|]CBd><4N`~><40.|^0.|[]CBd><5NF`R><50.|[^0.|]CBd><6N(`&><60.|^0.|]CBdN><7><8`h><80.|oX><9><:0.rH=@><;09è><<=><>N><?ByR><@BgNj><ABgN><Bp3â><C3è><Dp3ê><EN><FN><G><H`><H09èng><I><JN><KByR><LBgNj><M09èn^?N><Np3ê><O?.N><P?.N><Q?9èN><R?9èN|><S3è><TN><UNZ><VN><W><X><Y><Z><\N^,_X>NuPROCESS_KE?Hz><c/,HNVA-HPN:09R@d><d><e09b><f|Kf2><g><hBgNH><iBgNn><j?<N2><k><l`D><m><m09b><n|fH><o><pBgN><q?<N"><rN><s?<N><tp3Ð><u><v`><w><w09b><x|Mf0><y><zBgNž><{N><|?<NŠ><}><~`><><09b><|M6f0><><BgNV><N><?<NB><><`T><><09b><|K4f0><><BgN><N><?<N><><` ><><09b| W09b|PWÄC><Bd0><><BgN><N><?<N><><`><><09b><|Sf8><><BgNl><N><ByR><N><><`b><><09b><|RfD><><BgN><N><ByÒ><ByR><BgNj><><`><><09b><|Hf0><><BgN><N@><?<N><><`><><><09b|=@><0.r A\><0.r~A_><C09Zy\]C><BdJ><><BgN<><0.?Nb><p3Ð><?<N><N"><><`><pHyR?N\X><><><`b><><><09b|=@><0.r`A^0.r{A]CBd><0.@=@><0.r@A^0.r[A]CBd><0.@=@><0.rAA\0.rZA_CBd><><09èrAf\><><N><BgN><p3â><3è><p3ê><N<><N><><`><09èng><><N><09èn^?N|><p3ê><?.N><?.N><?9èNJ><?9èN><3è><NR><N><N><><><`><><09èrAg><><09b|RWyâ><Bd:><><ByR><ByÒ><BgNj><Nt><><`2><><09b|SWyâ><Bd><N*`><><09b|sW><09b|KWÄC><09b|K4WÄCBd><N`><><09b|MW><09b|tWÄC><09b|M6WÄCBd><N`n><><09b|wW><09b|G7WÄC><09b|GWÄCBd><Nx`$><><><pHyR?N\X><><><><N^,_X>NuWAIT_LOOP ?Hz></,HNVA.-HPN:NHzz?<N><HzJ?<N><Hz ?<N><Hz?<$N"_Ep?$Q><AO"Op?"Q?<N~><rAf(><><ByÎ><HnN><><`><p3Î><><><>< ><!><"><#><$><%><&><'><(><)><*><+><,><-><.></><0><1><2><3><4><5><6N^,_X>Nu|Print the address book][ OK | END ]|lots of addresses or to|Use program to add or delete[0][ STreet Finder 1.00 EVENT_LOOP?Hz><@/,HNVA-HPN:><A><ABn><B?< Nb><CprArA?><D?<><E?<><FBg><Gp/><HBg><IBgBgBgBg><JBg><KBgBgBgBg><LHn><MHyb><NHnHn><OHyæHyä><PHnN=@><Q0.rAJ@g ><RN ><S0.rAJ@g ><TN><U0.rAJ@g><V0.`F><W><X><X><Y?9XN><Z`d><[><\><\><]?.N><^?9\?9Z?<?<,N><_`$><`><a><a><b?9\?9Z?<?<,N><c?.?.?.?.?.N^><d`><e><f><f><g3\><h0.@3Z><i?9\?9Z?<?<,N><j?.?.?.?.?.N><k`h><l><m><m><n?.N><o><p?.N><q09Ð@d:><r><sC>O$O=p<Q?<N~rAf ><tN><uByÐ><vp3<><wBgNj><xNT><y`><z><{><{><|p3<><}09Ð@d:><~><CO$O=p<Q?<N~rAf ><NT><ByÐ><N><`H><@ @b8@0;N,,,,,\,,,,,,,,,,,p><09Î@dr><N^,_X>Nu[2][Addresses have|been changed|save the changes][ YES | NO ]A#A0B1|AR01|><N3`><09`J@k@><><N><><><N><09Î@eN><N><><HyRNNNu/,HNVtN:AD-H=n=n=n=n=n=n ?<iHnHnHnxHntNN^,_ _O N/,HNVtN:AL-H=n=n?<hHnHnHnxHntN"n2"n2"n2"n 2N^,_ _ON/,HNVN:A*-H?.?<"n/ "n/ "n/ "n / N`N^,_ _ON/,HNVN:A*-H?.?<"n/ "n/ "n/ "n / NN^,_ _ON/,HNVN:A*-H?.?< "n/ "n/ "n/ "n / NN^,_ _ON/,HNVN:A*-H?.?< "n/ "n/ "n/ "n / NN^,_ _ON/,HNVN:AP-H?. N0. rAfBgBgN`(?. HnHnHnHnN?.?.NN^,_ _TN/,HNVN:A&-HBg?< HnHnHnHnN=n0.N^,_Nu/,HNVN:A-H?. ?< BgBgBgBgNNN^,_ _TN/,HNVtN:Al-H0.J@W0. J@WÄCBdBgHnHnHnHn N=n=n=n=n=n ?<eHnHnHnxHntNN^,_ _O N/,HNVtN:A&-H=n ?<fHnHnHnxHntNN^,_ _TN/,HNVN:A"-H?.?<?.?.?.?. NJN^,_ _O N/,HNVN:AH-H"n $n p*R@r"n / HnHnN?.?<?.?.BgBgNN^,_ _\N/,HNVN:AH-H"n $n p*R@r"n / HnHnN?.?<?.?.BgBgNN^,_ _\N/,HNVlN:A-H0.J@W0. J@WÄCBdBgHnHnHnHn N=n=n=n=n=n ?<dHnHnzHnrHnnN=nzl0.lrAg?.l"n/ N=nl0.N^,_ _ON/,HNVtN:A&-H=n ?<gHnHnHnxHntNN^,_ _TN/,HNVnN:A2-H=n=n ?<jHnHnzHnrHnnN=nz0.N^,_ _XN/,HNVtN:Ad-H=n&=n$=n"=n =n=n?<lHnHnHnxHntN"n2"n2"n2"n 2N^,_ _ONNu/,HNVN: .R-@"n ."<//N"2"n .r2N^,_ _O NNu/,HNVVN:=nt=n vp. |o =|X` p. =@Xp=@Z=nXV0.ZnVn$0.Z@2.ZtA 0A1RnZ`?<Bg?.X?<HnHnHnHntHn\?<NFN^,_ _ONNu/,HNV8N:An-H?<%BgBgBgHnHnHnhHnPHn8BgNF0.hrAm"n0.lR@20.hrAf"n$n0@2"n 0.pJ@V2N^,_ _PN/,HNVN:A-H?.?. N:N^,_ _XN/,HNV8N:AV-H=nP=nR=nT=n V?<BgBg?<HnHnHnhHnPHn8?<NF?.?. N:N^,_ _PN/,HNVN:A6-HHnHnNJ?.?.?.?. NZ?.?. N:N^,_ _XN/,HNVN:A-H?.?. ?.?. NN^,_ _XN/,HNV8N:AZ-H=nP=nR0.nS@=@T0.n S@=@V?< ?<Bg?<HnHnHnhHnPHn8?<NFN^,_ _PN/,HNV8N:A-H=nP=nR0.nS@=@T=nV0.nS@=@X0.n S@=@Z=n\0.n S@=@^=n`=nb?<BgBg?<HnHnHnhHnPHn8?<NFN^,_ _PN/,HNV8N:AX-H=n=n =nP=nR=nT=nV?< ?.?<?<HnHnHnhHnPHn8?<NFN^,_ _ON/,HNVN:A&-H?<?.?.?.?.?.?. NXN^,_ _O N/,HNVN:A&-H?<?.?.?.?.?.?. NN^,_ _O N/,HNV8N:AJ-H=nP=nR=nT=n V?< ?<Bg?<HnHnHnhHnPHn8?<NFN^,_ _PN/,HNVN:A -H?.?.?.?. Bg?<N,N^,_ _PN/,HNV8N:AZ-H=nP=nR0.nS@=@T0.n S@=@V?< ?< Bg?<HnHnHnhHnPHn8?<NFN^,_ _PN/,HNVN:AL-HHnHnNBgN?<N?.?.?.?. NF?.N?.NN^,_ _PNNu/,HNV8N:A~-H=nP=nR0.nS@=@T0.n S@=@V0.J@V0. J@VCBd p=@`Bn?<Bg?<?<HnHnHnhHnPHn8BgNFN^,_ _PN/,HNVN:A"-H0.n n =n`=n 0.N^,_ _XN/,HNVN:A"-H0.n m =n`=n 0.N^,_ _XN/,HNVN:A-H0."n?"n0"nQ? NNN=@0. n?"n0"n Q? NN,=@"n/ ?."$n? NNR"_2"n/ ?. $n? NN8"_2"n0.$nR2"n 0.$nR2"n0rA^"n 0rA^C=B0.N^,_ _ON/,HNVtN:A&-Hp=@?<kHnHnHnxHntNN^,_Nu/,HNVtN:A$-HBn?<kHnHnHnxHntNN^,_NuNu/,HNV=n<-n$?<HnHnHnHnN=n"n2"n2"n2"n 2"n 2"n20.N^,_ _O g8 fp@`*S@rG   e gRAQJ9g`tJ)f8a J9g| _0< HyN|#|3|Nu )bJ) g )g )g ) f J9fgHBNu|/ BgHi ?<ANA>3|NAXNu _4` _t6 Bo r aSB`2aNH? _r ar a/L?Nu _r aN _4` _t"x0HgJJjDxvCzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Ct`CtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH x"oA/ NL xNuBy(_ _/ C( g  f4t4(H / /?(?<@NA LJkn gffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHy` Hy0< LNREWRITE required prior to WRITE or PUTDisk or directory fullBy _$_"Wp )f)H/ N8L4NH/ N8Lp)`By _"WJyf8J)f )f)H/ N8L )g)J)fJgBy )g J)fBiNz`zBy _$_"WptvH/ Hya029XL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHy0<` Hy0<NBy _$_0"Wt )gJ&JRJ)f4H/ HyaP29XL )gJ)f RBBe`ưBe`N&| H/ ?< NA\Hy?< NA\LS@kQ3N Bad digit in number encounteredOverflow during READ of numberBy(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHy0<` Hy0< LNReset required prior to Read or GetAttempt to read past end-of-file Nu# _ ged 9NHy`HyN2t`t _"_0gR@| e.G$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9g0$A#`""9g$A#`"9g $A#"`"E&R"$b HyN2Jgr"QHd2S@k"QN _"_0" ged gR@ @mz @ e@E"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"#` |f"#` "#NHeap overruns stackPointer NILPointer not in heapH$ _0"_e /L$NuHyN2/B9L/|LNuH$ _0 @f0"|""p` "_J@jpELr4@ BbBS@kQ/L$NuH$ _4SBkt82$_rAdd0 @f0"|""p` "_J@jp6ADb6CG0IS@k$eQ/L$NuH$ _4k2SAk0"_p6B@bE0)CS@kQ/L$NuH$ _2$_r0 @f0"|""p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/L$NuH$ _4kF2SAk>0 @f0"|""p` "_J@jp6B@bELSBkQ/L$NuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"ye HyN2N#T#P .f -|`-| nNнPf yTNStack overruns heapH?X _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?XNu0NvDNHX|` HX| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LXNu09Nu _3NByNu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. .,6<"8"8~& < D& > Dz<<@& *@(" R*DL *  & & & & & &F@ T&$L$>.<   >  D  J <0.>:p 2 $  "   rX"R X    < $ , :"D ",*$n      :>      * *     D .  &  < <     "  "  "  "  "  X "$$$""$$$$$ (2F   & (" ( : @  @<6:  <          &     > 88  @    @  $         0      $      $      0      0       $        & l:&   "      j &   "     >*FF"6@D  n B$*  4 B 4T     $     >t< $ &<@@ : B .0J   v2,BH6\4*F<4*\b ,, ,,P.4 BZ  .B <  4  >"<  6  <"<^T 2& 8     "LJFHHH N, , L06,$  "  " $((.J.$dl" < " . ( .`\ ,F.:FFFF*@4n(>2020nD(."F<"..ZJ"4\ZBBL:\  @@(&.$@$$2$*|4$&&$$6   $T    8@F D"2 T &( 0&  >         HB@6 2J X D   ( 0"L2 T  <   , FR ( *@ B @ B V  . < th.. < tADDRSBK DOC=t iADDRSBK TOSBt oDADDBK TXT R'N Computer Address Book version 1.0 by Tom Bellucco INTRODUCTION: Computer Address Book can store up to 100 entries consisting of Name, Street Address, City & State & Zip Code, Phone number and a small note or comment. In addition, this program can be used as an address label printer. CREDITS: This program was written in Personal Pascal, from OSS. Special thanks to Kathy Scoville (President of A.C.O.R.N.) and Bob Dolan (from Artworx) for testing and suggestions. THE PROGRAM: When Computer Address Book (CAB from now on) is run, it will look for an external file on drive A named ADDBK.TXT. This is the data file that hold all the names, addresses, etc. If this file is not found, CAB will create it. All data is then read. CAB will then give you a menu of selections: [0] - End Program --> Use this option only when you are finished using CAB. It will update the external file on drive A and return to the desktop. [1] - Add to Address Book --> Pretty obvious, huh? You will be prompted for First name, Last name, Address, Phone number, and a Note/Comment. You may continuously enter names until you enter a RETURN for First name. If you make a mistake entering one of the fields, continue on. You may edit a single field after all information has been entered. When all is correct, you will be asked if you want this entry saved. THIS WILL NOT BE SAVED TO DISK AT THIS TIME! You must use option 0 or 5 to do that. You will then be asked if you want a printout of the information you just entered. If yes, it will ask if you want the phone numbers and comments printed also, and how many you want printed. Make sure your printer is ready and labels (if used) lined up. [2] - View/Edit entire book --> This function allows you to view the entire book entry by entry. After each entry is shown, you may: Hit DOWN ARROW to go to next entry Hit UP ARROW to go back an entry Hit D to delete the entry - you will be prompted. Hit E to edit the entry - you will be prompted. Hit P to print the entry - you will be prompted. Hit UNDO to return to main menu These are the ONLY keys used in this function. [3] - Print entire address book --> First, you will be prompted. If you want to continue, make sure your printer is ready and your labels (if used) are lined up. You will also be asked if you want phone numbers and/or notes printed. [4] - Search/Edit address book --> You will be prompted for the FIRST LETTER of the LAST NAME you want to search. The address book will be scanned, and each entry's last name beginning with that letter will be displayed. You will then be given the same options as when viewing the whole book, with one exception. The UP ARROW will return you to the first entry matching that letter. [5] - Save current address book --> This does the same as function 0 except you will not be sent to the desktop. The program will continue as normal. You can use this if add numerous entries and just want to make sure they get saved to disk. MISCELLANEOUS: After the program is run, all modifications to the address book is done in memory. Therefore, if you do not use function 0 to end the program, all the work you did will be lost. When entering first and last names, CAB will make the first letter of each UPPER CASE. The reason for this is so when you use function 4 to search the book for a particular letter, lower and upper case will not cause a problem. When you enter a letter to be searched, it too is changed to upper case if not entered as so. UPDATES: In the near future, look for: Option to change drives for multi-drive systems Ability to sort alphabetically A better search algorithm Unlimited storage (well, as big as a disk will allow) Etc. In the distant future, look for: Full GEM support with windows, mouse control, and drop-down menus Etc. INQUIRIES: PLEASE send all suggestions, bugs (if found!), modifications, etc. to Tom Bellucco, 52 Hamlin St., Rochester, NY 14615 or log onto my all ST Bulletin Board at (716) 458-2638 and leave me some mail about it. I'd love to hear your comments on the program! DISTRIBUTION: This version released into public domain on July 8, 1986. Please upload this program and the documentation everywhere! `A 6B o"h#A@#AD#AHBb3ALN _ONEN ?Hz~1/,HNVN@A-HPN-@~2 .YW .yWÄCBd2~3~4p=@~5HyBHzf?<N62N5TX~6~7`*~7~8Bn~9HyBHz6?<N62N5TX~:~;HyBN5TX~<0.N^,_X>NuNoYesENM ?Hz~H/,HNVN@A-HP~HHyBHz(?<N62N5TX~IHyBHz?<FN62X~JN-@~KHyBN5TX~L .`b~M~MBn`x~N~Np=@`j~O~Op=@`\~P~Pp=@`N~Q~Qp=@`@~R~Rp=@`2~S~S`N`&~T@0 @b@0;N~U0.N^,_X>Nu0-first name 1-last name 2-address 3-city,st,zip 4-phone 5-note: Edit which field?RNP ?Hz~_/,HNVN@AT-HPHyBHzP?<9N62X~`N=@~a0.|r|Af~bp=@`~bBn~c0.N^,_X>NuShould I print phone numbers along with addresses [Y/N]? ROE ?Hz~m/,HNVN@AT-HPHyBHzP?<)N62X~nN=@~o0.|r|Af~pp=@`~pBn~q0.N^,_X>NuShould I print the Notes/Comments [Y/N]? READBK ?Hz~|/,HNVN@A-HPHyBHz?<N62N5TX~}p=@~~HyCNHz?< N2R~~09CR@eh><><HyCN?<HnN:N8X><0.2|CWCADE4p$Q><0.R@=@><`><3><09rAf p3><N^,_X>Nua:addbk.txtReading address book...GETFILE ?Hz></,HNVN@A-HPBn><?.N@><HyCNHz?< N2R><N@=@><0.J@f><N\`\><><HyBN5TX><HyBHz^?<8N62N5TX><HyCHzv?< N2Z><N><><p=@><?.N@><N^,_X>NuExternal file A:ADDBK.TXT not found, creating new one...a:addbk.txtADDTOBK ?Hz></,HNVN@A-HPHyBHz?<.N62X><N=@><0.|r|Afr><><092|CWCBADE4p$Q><09R@2|CWCBADE4p$Q><09T@2|CWCBADE4p$Q><09V@2|CWCCADE4p$Q><09X@2|CWCCADE4p$Q><09Z@2|CWCC4ADE4p$Q><09\@3><HyBHz&?< N62N5TX><><N^,_X>NuData saved...Should I add this to your address book [Y/N]? DELETE ?Hz></,HNVN@A6-HPHyBHzB?<0N62X><Nv=@><0.|r|Af><><0.29]AAf09><]@3`><><0.\@=@09S@=@0.nn\><><><0.]@2|CW2.4|EWADCADE4p$Q><Rn`><09]@3><><HyBHz*?<N62N5TX><><N^,_X> _TNEntry deleted...Are you sure you want this entry deleted [Y/N]? PRINTBK ?Hz></,HNVN@A-HPHyBN5TX><HyBHzN?<*N62X><N=@><0.|r|Af><N=@><N=@><HyBHz?<(N62N5TX><HyBHz?<N62N5TX><N0-@><HyBHz^?< N62N5TX><HyBN5TX><HyCHz(?<N2Z><p=@><><0.29SAAn><><HyC0.2|CWADHp?<HyC0.R@2|CWADHp?<HyC0.T@2|CWADHp?<HyC0.V@2|CWADHp?<0.|r|Af@HyC0.X@2|CWADHp?<`><HyCN5TX><0.|r|Af@HyC0.Z@2|CWADHp?<`><HyCN5TX><HyCN5TX><0.\@=@><`><><N^,_X>NuLST:Printing...Hit any key when ready...Make sure printer is ready and lined up!Should I print the entire book now [Y/N]? PRINTOUT ?Hz>< /,HNVN@A-HPHyBHz?<-N62X><N=@><0.|r|AfH><><HyBHz?<N62X><HyARHnN9>N8X><HyBN5TX><N=@><N=@><HyBHz?<(N62N5TX><HyBHz?<N62N5TX><N6-@><HyBHz?< N62N5TX><HyCHz~?<N2Z><p=@=n0.nn@><><><HyCHn?<HyCHn`?<HyCHnF?< 0.|r|Af*><!HyCHn,?<"`><"HyCN5TX><#0.|r|Af&HyCHn?<$`><$HyCN5TX><%HyCN5TX><&Rn`><'><(N^,_X> _ONLST:Printing...Hit any key to continue...Make sure printer is ready and lined up!How many would you like? Would you like a printout of this now [Y/N]? PREDIT ?Hz><//,HNVN@A-HP0.,`><0><0CEB4p$Q`><1><1CEB4p$Q`><2><2CEB4p$Q`><3><3CEC4p$Q`d><4><4CEC4p$Q`D><5><5CEC44p$Q`$><6 @b@0;N.Nn><7N^,_X> _ONSMALL ?Hz><A/,HNVN@Ab-HP"np)?HzX?<N10@d4><B><C"np)raArAA=@><D"n0.@><E><FN^,_X> _XNGETINFO ?Hz><T/,HNVN@A&-HPHyBN5TX><UHyBHz?<!N62N5TX><VHyAR?<HyBN:N8X><WHyB?<X><YHyBN><ZHyBHzD?<N62N5TX><[HyAR?<HyBN:N8X><\HyBNf><]HyBHz?<N62N5TX><^HyAR?<HyBN:N8X><_HyBHz?<N62N5TX><`HyAR?<HyCN:N8X><aHyBHz.?<N62N5TX><bHyAR?<HyCN:N8X><cHyBHz?<"N62N5TX><dHyBHz?<N62N5TX><eHyAR?<HyC4N:N8X><fHyBN5TX><g><gHyBN5TX><hABO"O2p"QABO"O2p"QABO"O2p"QACO"O2p"QACO"O2p"QAC4O"O2p"QNf><iHyBN5TX><jHyBHzj?<N62X><kN=@><l0.|r|Afz><mN=@><nHyBHz?<N62N5TX><oHyAR?<HnN:N8X><p?.AO"O2p"QN><q`><r><sN><tABO"O2p"QABO"O2p"QABO"O2p"QACO"O2p"QACO"O2p"QAC4O"O2p"QN><uN><v><wN^,_X>NuInput Correction:Want to edit anything [Y/N]? [---+----+----+----+----]Enter note/comment [max 25 chars]:Enter Phone Number:Enter City, State, Zip:Enter Street Address:Enter LAST name:Enter FIRST name [RETURN to end]:EDIT ?Hz></,HNVN@A-HPHyBHz?<&N62X><N=@><0.|r|Af><><NZ=@><HyBHz?<N62N5TX><HyAR?<HnN:N8X><0.n2|CWCADE4p$Q><HyBHz*?<N62N5TX><><N^,_X> _TNEdit completed...Input correction:Do you want to edit this entry [Y/N]? VIEWBK ?Hz></,HNVN@A&-HPHyBN5TX><p=@><-|y><>< .aV0.y]CBd><><HyBN5TX><0.2|CWADAO"O2r"Q0.R@2|CWADAO"O2r"Q0.T@2|CWADAO"O2r"Q0.V@2|CWADAO"O2r"Q0.X@2|CWADAO"O2r"Q0.Z@2|CWADAO"O2r"QN><HyBN5TX><HyBHz?<;N62N5TX><HyBHzz?</N62X><N-@><HyBN5TX>< .Pf 0.\@=@>< .Hf.><><0.]@=@><0.rAlp=@><>< .pW .PWÄCBd><0.2|CWADAO"O2r"Q0.R@2|CWADAO"O2r"Q0.T@2|CWADAO"O2r"Q0.V@2|CWADAO"O2r"Q0.X@2|CWADAO"O2r"Q0.Z@2|CWADAO"O2r"QN>< . dW . DWÄCBd><?.N>< .eW .EWÄCBd><?.N><`D><HyBN5TX><HyBHz"?<N62N5TX><N^,_X>NuEnd Of File... E to edit, D to delete, or UNDO to exit: Enter DOWN ARROW for next, UP ARROW to go back, P to print,ENDPRG ?Hz></,HNVN@A-HPHyBN5TX><HyBHz?<N62N5TX><HyCHz?< N2Z><p=@09S@=@0.nnL><><><HyC0.2|CWADHp?<Rn`><By><N^,_X>Nua:addbk.txtClosing address book...SAVEINFO ?Hz></,HNVN@A-HPHyBN5TX><HyBHz?<N62X><HyCHz?< N2Z><p=@09S@=@0.nnb><><><HyC0.2|CWADHp?<HyB?<.N56X><Rn`><HyBHz"?<N62N5TX><N^,_X>Nu.done.a:addbk.txtSaving current information.SEARCHBK ?Hz></,HNVN@A<-HPHyBN5TX><-|y><HyBHz?<+N62X><N-@><HyBN5TX>< .?HzX?<N10@d>< .rЁ-@>< .=@><p=@><><><0.29SAAlH><><0.2|CWADCEB4p$Q><p9BͰng><0.><\@=@`><><>< .aV0.y]CBd><><HyBN5TX><0.S@2|CWADAO"O2r"Q0.2|CWADAO"O2r"Q0.R@2|CWADAO"O2r"Q0.T@2|CWADAO"O2r"Q0.V@2|CWADAO"O2r"Q0.X@2|CWADAO"O2r"QN><HyBN5TX><HyBHz?<;N62N5TX><HyBHz?</N62X><NX-@><HyBN5TX>< .Pf ><><0.\@=@><`><>< .Hf><><p=@><`l><>< .PW .pWÄCBd>< 0.S@2|CWADAO"O2r"Q0.2|CWADAO"O2r"Q0.R@2|CWADAO"O2r"Q0.T@2|CWADAO"O2r"Q0.V@2|CWADAO"O2r"Q0.X@2|CWADAO"O2r"QNj>< . dW . DWÄCBd>< 0.S@?N>< .EW .eWÄCBd>< 0.S@?Nb><`:><=y><><`><HyBN5TX><HyBHz"?<N62N5TX><N^,_X>NuEnd Of File... E to edit, D to delete, or UNDO to exit: Enter DOWN ARROW for next, UP ARROW to go back, P to print,Enter FIRST LETTER of LAST NAME to search: CREDIT ?Hz></,HNVN@A-HPHyBN5TX><HyBHzr?<,N62N5TX><HyBHz0?<"N62N5TX><HyBHz?<'N62N5TX><HyBHz?<CN62N5TX>< HyBHz4?</N62N5TX><!HyBN5TX><"N^,_X>Nu Used by permission of OSS. Portions of this product are Copyright (c) 1986, OSS and CCD. Tom Bellucco by Computer Address BookNV?.?<NMN^ _ONCLEAR ?Hz><2/,HNVN@AR-HP?<N=@><3><30.J@j(><4><5N-@><6?<N=@><7`><8N^,_X>NuSTART ?Hz><B/,HNVN@A-HPNZ><CHyBN5TX><DHyBHz~?<N62N5TX><EHyBN5TX><FHyBHz?<4N62N5TX><GHyBHz?<N62N5TX><HHyBHz?<!N62N5TX><IHyBHz`?<N62N5TX><JHyBHz$?<N62N5TX><KHyBHz?<%N62N5TX><LHyBHz?<N62X><MNb-@><N .`f><O><ON`x><P><PN`h><Q><QN`X><R><RN `H><S><SN`8><T><TN^`(><U@0 @b@0;N><VN^,_X>Nu==> [5] Save current address book to disk[4] Search/edit address book[3] Print entire address book[2] View/edit entire address book[1] Add to address book[0] End program [saves current address book to disk]Select ONE of the following:AAR0B1|AB01|ACN01|AC01|><[AT#ANp3><\N@><]N:><^ND><_><_09|r|Af ><`N`><aHyCN4HyCNN4HyBN4NS@r VR?/LNuHaS@r VT?/LNu# _0 @g "_J@jp`0"|p2 Ag $_JAjr`2$|r@g\HGe$4SBkQ4@SBpQ0"|` 4SBkQ4ASBrQ$|LJ@f pC/$I/9NuH _024SBgQ@4BAAc/LNuHy0&N@Range error during set-operationH _0246@SCBgQAn68DCCc 0AgRB`/LNuH _0@CEHS@rIVW.J?/LNuH _0@CEHS@rIVV.J?/LNuH _0@CEHS@2FA_VW.J?/LNuH _0@CEHS@2FAYVW.J?/LNuH _0@274BAAc7V`tO>/LNuH _0@"_24BAAc1V`t>/LNuH _02S@AC2YQ/LNuH _02S@AC2YQ/LNuH _02S@AC2FAYQ/LNuB9`PByA> _0g$_jp"_// HN4LJ@fP)J9f" f |` f|` f |` f|`4<G BQB) @ef *:f^&Jrt `e QG4tWJBk4G43 J9f g g`> g8 fp@`*S@rG   e gRAQJ9g`tJ)f8a J9g| _0< Hy4N@|#|3|Nu )bJ) g )g )g ) f J9fgHBNu|/ BgHi ?<ANA>3|NAXNu _4` _t6 Bo r aSB`2aNH?7N _r ar a/L?7NNu _r aN _4` _t"x0HgJJjDxvC7zp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvC7p0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtClBSCr aQSBk aQN _v` _60@d C6t`C6tClBSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH 7>"oA/ N7L 7>NuByA>(_ _/ C( g  f,t4(H / /?(?<@NA LJkffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHy8y` Hy8R0< LN@REWRITE required prior to WRITE or PUTDisk or directory fullByA> _$_"Wp )f)H/ N:L4NH/ N:Lp)`ByA> _"WJy:f8J)f )f)H/ N:L )g)J)fJgBy: )g J)fBiNz`zByA> _$_"WptvH/ Hya029XL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHy:0<` Hy:0<N@ByA> _$_0"Wt )gJ&JRJ)f4H/ HyaP29XL )gJ)f RBBe`ưBe`N&|H/ ?< NA\Hy:?< NA\LS@kQ3:N Bad digit in number encounteredOverflow during READ of numberByA>(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHyI/??<NM(PRDQNuHy?d?< NA\xvI/??<NMPRDQBgNAHy? `Hy?.`Hy?H?< NA\Hy?`?< NA\ o`>Hy>`Hy>?< NA\Hy>?< NA\ oa.Hy?`?< NA\ o /Hy?g?< NA\ _p "f/Hy??NA\ _`^"nH .gHy?`JkHy?`Hy??NA\L/ .fjXt AH ??<NAXLQ/Hy??< NA\t&<'HǏf CgJfr `t20/??<NAX$HG fHy??< NA\ _a6 gz .f >. n` n,n/Hy?t?< NA\ _`/?<$?<NAX _tv"0 :e^H ??<NAXLYCQNu===R<<< *** Bus error *** Address error - attempt to reference address *** Attempt to divide by zero *** Value out of range *** Integer overflow *** Error in Called by PROCEDURE FUNCTION MAIN PROGRAM at source line at PC function or procedure compiled w/o DEBUG _ hNVf 0(gr"OD@Hd2S@k "Q` _"yA@e Hy@rN@N# # .f -|@b`-|@b nNнf y NStack overruns heap _(N _0/Ho |@3A>JyANu _3ANu *** *** Copyright 1986, CCD and OSS, Inc.<     4H 8  ". T  ,  $t4 r8 J "z H         4  $  .   $  & f&~                < @2@ &6....."  .....   $T  $ `D( @ ,...."  ,....       6         &$     $"  ,*< * * , , 0 , " HB@6 2J X D   ( 0"L2 T BgN8>N9XON ?N7j?<LNANVpF?N'TO#i yiBB#iiNNN`N$BgN7jTON^NuNVN$BgN%JTOp!?p?N$XO/<K0p ?N@\Op&?p?N$XO/<K?p ?N@\Op#?p?N$XO/<KDp ?N@\O/<KSp ?N@\O/<Kip ?N@\O/<Kp ?N@\O/<Kp ?N@\O/<Kp ?N@\O/<Kp ?N@\O/<Kp ?N@\Op?N%JTOp?N@TO@/<Lp ?N@\O.H@1 @bH0@I PN`N`pP?Hn/<LN"O J.g/<L%p ?N@\Op.?HnN%\O-@Jg nB/<L)HnN(PON @g@HnNXO`0/<JHnN(LPOpP?Hn/<L.N4O J.gp.?HnN%\O-@Jg nB/<LRHnN(POHnNzXOHnNDXOJ@g/<LWp ?N@\O/<L{p ?N@\Op?N@TO@`v/<Lp ?N@\Op?N@TO@ .pg .Pfp?NTO`4Bg` yiJBg"N$p"?p?N$XOp?N%"TO/<Lp ?N@\OBgN%"TON?/<LHnN(O p?Hn/<LN4O HnN%rXO@J.oN?/<LHnN(O p?Hn/<LN4O HnN%rXO=@.H0.AmD/<Mp ?N@\O/<M7p ?N@\Op?N@TO@ .qg .QgN$/<MGp ?N@\ON|.Hnnp ?N@TOJf.HR.?N TO` yiJBgF/<Mjp ?N@\O/<Mp ?N@\Op?N@TO@ .yg .YfVB@N^NuNVN$BgN%JTOp!?p?N$XO/<Mp ?N@\Op"?p?N$XO/<Mp ?N@\O/<Mp ?N@\O/<Mp ?N@\O/<Np ?N@\O/<N)p ?N@\O/<N@p ?N@\O/<Nep ?N@\O/<Np ?N@\Op?N%JTOp?N@TO@/<Np ?N@\O.H@1 @bH0@J PN`N$N @g/<Np ?N@\O/<Np ?N@\ON|p?N@TO@ .ng .Nf`zN`p yiJBg/<Np ?N@\O/<O p ?N@\Op?N@TO@p@ .Fg .ff/<Op ?N@\Op@ .Dg .df/<OBp ?N@\OB. .g.H?N"TO`N`?9J/<OlHnN(O p?Hn/<OoN4O HnN%rXOJ@onHnN%rXO @lZHnN%rXO3J`DB@N^NuNVN$p!?p?N$XO/<Op ?N@\Op?p?N$XO/<Op ?N@\O/<Op ?N@\O/<Pp ?N@\O/<PUp ?N@\O/<Pp ?N@\OBgN%JTOp?N@TO@N^NuNVXBnB.B.X/<YTp?N@\ON=@p$?p?N$XOp?N%"TO/<Pp ?N@\OBgN%"TO?./<PHnXN(O p?HnX/<PN4O HnXN%rXO=@ nm noB@`?./<PHnN(O Hnp ?N@\O/<Q HnN(LPO/<Qp ?N@\OHnp ?N@\O/<Q(p ?N@\OHnHnXN(LPO/<QWHnXN(POp?N@TO@ .qg .Qfp`p?HnXpN?N@PO=@JnfB@9Yi@f*/<Yr?.N"\OJ@fRnpO?N@TO=@Jnf6B@9Yi@g(Hn/<Yrp?N O pO?N@TO=@Jng~HnHnXBgN O J@f&HnHnXN(LPO/<Q\HnXN(PO`(0.N^NuNVBnJng| y2Pl n .g/.09PPY/N(LPO/<Qa09PPY/N(PO/. 09PRyPPY/N(PO`2JyPg$SyP09PPY//.N(L`p=@0.N^NuNVBn0.Rn0@Pg nPl.H?p?N@XO`N^NuNVBnBn-yi n (B-@g n (Y f n0(@nfJfB@`L-yi/<jN XO/<jN XO/<QdN XO/<QgN XO/<QN XO?./<QHnN(O HnN XO/<QN XO/<iN XO/<iN XO n (B-@gf n&n^ n (Y f n0(@nfRn/./<QHnN(O HnN XO0.HH@J@fRn/<Q`0.Rn @l/<QN XO`/<jN XO/<iN XON^NuNVp ?N@TOJgp?N@TO@`N^NuNVH/<Q/<QN-PO-@f"/<Qp ?N@\Op?N7jTO`Bn n l6ni/.N-^XO6nj/.N-^XO6nj/.N-^XO6ni/.N-^XO6nj/.N-^XO6ni/.N-^XORn``/.N3hXOLN^NuNV~Bn0.n l N0.@~Rn` N B(~ /0<H N^NuNVBn yiJBfB@`/<R/p ?N@\O/<Rlp ?N@\Op?N@TO@ .Yg .yfd/<Rp ?N@\O yi (B-@ n (B-@g/.N'XO-n`/.N'XO yiBB#ii`pN^NuNVBn yiJBfp`$-yi n (B-@gRn`Sn0.N^NuNVJnf -yi`0.S@?NTO-@ n (B-@f/<Rp ?N@\Op?N7jTO n (B n!@B 9iⰮf#i/.N'XOB@N^NuNV nJg$ nH?N(nTO@ nR`N^NuNVBn-yi n (B-@g n0(@no n0(@=@`0.N^NuNV=|-yi n (B-@g n0(@nl n0(@=@`0.N^NuNVBnBn nJg/.p ?N@\O n Jg /. N(\XO=@/. p ?N@\ONF@ @ gxBn0n Bp?p ?N@XO=@.H |J2<`XHXW PN`Jno0.Sn0@ B/<R`2.HHApA=@2.SA0.nAnh0.SnJ@gZ0.Rn0@ p p ?p?N@XO`Jno.0.Sn0@ B/<Rp ?N@\O`0.@gp`0.@gp`p`0.@gp`r0.@gfp`dB@``p`\p`X0.S@no .o0.Rn0@ .H?p?N@XO`z0n BBgN%JTOpN^NuNV n B?./. /.N4O N^NuNVp?N%JTOp?N@TO-@BgN%JTO . Hfp`J . Pfp`6 . Dfp`" . ;fp `0.@.HN^NuNV=yJBn-yi n (B-@g" n0(@nf yi (B-@Rn`0.N^NuNVpF?N'TO-@Jfp`8 npN@ /. /.N(LPO n1n@ nB(/.N|XON^NuNV/.NXOJ@f" yi!nB#i yiBBB@`pN^NuNVH yi (B-@BGnl n (B-@gRG` .LN^NuNV yi (B-@Jg0/./.N(4POJ@f"n n0(@i@fp` n`B@N^NuNV-yi nJBfp`f/<R/.N-PO-@gt/<Rp ?N@\O/.p ?N@\O/<Rp ?N@\Op?N@TO@/.N3hXO .yg .Yf/<Rp ?N@\O/<S/.N-PO-@gV/<Sp ?N@\O/.p?p?/<JN/ O n (B-@gt/.HnN(LPO ./0<Hї /HnN(LPO nh n0(@=@/.p?pB?HnN/ O @g/.N3hXO`/.N3hXOB@N^NuNV-yi nJBgp`/<S/.N-PO-@g/.p?p?/<JN.NO /.p?pB?HnN.NO J@ofpF?N'TO n!@B n (B-@Hn/.N(LPOHn ./0<Hї /N(LPO nn n1n@`~ nBB#i/.N3hXO/./<JN(LPOB@N^NuNVJngn/<SN XOpO?p-?NXO/N XO/<S&N XO/<SZN XOpO?p-?NXO/N XO/<SbN XO`xN$pO?p-?NXO/p ?N@\O/<Sep ?N@\O/<Shp ?N@\OpO?p-?NXO/p ?N@\O/<Sp ?N@\ON^NuNVp=@BgN%JTO-yi nJBfp`*?.NTO n (B-@g ./0<Hї / n?(@/./<SHnN(OJng0.Rn @7o/<SN XO?.NTOBnJng/<SN XOHnN XO`hHnp ?N@\O`TJnfh/<Sp ?N@\Op?N@TO@`D0.Rn @o/<Sp ?N@\Op?N@TO@ .qg .QfNB@N^NuNVBnp =@BgN%JTOBgNTOJ@gB@`?.NTO-@p?p ?N$XOp2? ./0<Hї //<TN4O =@g^ nf^0.nQ@?NTO-@gD nf8p?p ?N$XO/<Tp ?N@\Op?p?N$XORn`Rn nf"0.@mn?.NTOp =@ nf.0.@?NTOJgn?.NTOp =@ nfBn?.NTOp =@ nfVBn?.NTO-@ nJBg n (B-@Rn`Sno0.Rn @m?.NTOp =@ nfp?N%"TOp??.N$XO ./0<Hї / n?(@/./<THnN(OHnp ?N@\Op4?p?N$XO/<Tp ?N@\OBgN%JTOBgN%"TOp?N@TO@p4?p?N$XO/<T2p ?N@\O .Yg .yf0.n@ ?NTOp??.N$XO/<TIp ?N@\O0.@?NTO-@gRp?p?N$XO ./0<Hї / n?(@/./<TLHnN(OHnp ?N@\O0.n@ ?NTOJfZp=@`Rp??.N$XO ./0<Hї / n?(@/./<TbHnN(OHnp ?N@\O nf: n f.Jno,Snp?p ?N$XO/<Txp ?N@\O`Sn nf n (Y f npN` npY@ 9iⰹigp??.N$XO0.n@ ?NTO-@/./<T{HnN(O n (Y f p?N%"TOHnp ?N@\OBgN%"TO n?(@/<THnN(O Hnp ?N@\ON|`xN^NuNVp =@N$BgN%JTO?.NTO-@fp`/<Tp ?N@\O/<Tp ?N@\O/<Tp ?N@\O/<Up ?N@\O/<U"p ?N@\O/<UIp ?N@\O/<Ulp ?N@\O/<Up ?N@\O/<Up ?N@\OpO?p-?NXO/p ?N@\O/<Up ?N@\OpO?p-?NXO/p ?N@\Op?0.Rn?N$XO/./<VHnN(O n (Y f p?N%"TOHnp ?N@\OBgN%"TO ./0<Hї / n?(@/<V$HnN(OHnp ?N@\O n (B-@g nmLB@N^NuNV/.HnN(LPO nh ./0<Hї /HnN(LPO n0(@=@/. /.N(LPO"n ni . /0<Hї / ./0<Hї /N(LPO n 0(@ n1@@Hn/. N(LPO n n Hn . /0<Hї /N(LPO n 1n@N^NuNVHN=@BgN%JTO?./<V2HnN(O Hnp ?N@\O/<VIp ?N@\OJngBgNTO-@BFnl:-n n (B-@0R@>nn,/./.N(4POJ@o-n: n (B-@RG`μEg/./.N!PO n (B-@0HH@J@f8?/<VdHnN(O /<Vhp ?N@\OHnp ?N@\ORF`BBgNTO-@BFnl:-n n (B-@0R@>nn*"n n0(@i@o-n: n (B-@RG`мEg/./.N!PO n (B-@0HH@J@f8?/<VnHnN(O /<Vrp ?N@\OHnp ?N@\ORF`DLN^NuNV/<Vxp ?N@\ON^NuNV/<V{p ?N@\O0.@?p?N@XO0. @?p?N@XON^NuNVJng/<V~`/<Vp ?N@\ON^NuNVJng/<V`/<Vp ?N@\ON^NuNVH *nBEBGH< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^Nu o0/BAgJfBNu NuNVH8..P b d.</N;bXO*@ gbJVf&M #V#V`( 9Vf QP&m`(yVQ L (&@)M Q@* Ѝ#V(@Q LB)KL8N^NuNVH0B .\S@,dB`Й*yV g| .gR g @є .*L(Md<  d @*`* Ѝ#V yV /0<Hї `dJg @Ѝ*@`*mVf g#VRyV09V @e SyV`N/N%XO/.N&XO*@SyV L0N^NuNVB0./N&XON^NuNVH ./0<H *@Jf8BG0GVJg$0RG0@VH?p?p?N@\O`N7L N^Nu"o o JfSfNu"o ofJfHHNu"o o fNu o"Jf S@NuNVH>.0R@0@XH@g0@`0LN^NuNVHn/<WN)PON^NuNVHn /.N)PON^NuNVHn?</.N1@O Hn HnN)POHnBgN-\ON^NuNVH0-n n (@XH> @%gJGg8/.?N-\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f( nT0=@lp=@0.D@=@H>`,Bn G0m" G9n2. 0A@0=@H>` G.fNH> G*f nT0=@H>`,Bn G0m" G9n2. 0A@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> /0<^H -@*@0 |JV2<`XHXW PN`N nT0=@Jnl0.D@=@p-p ??./ N,~PO*@`p ? nT?`p`p` n -@XJl .D-@p-p ?/./ N,O `p ? n// N,O *@X`p`p` n "(-@-AP/ ?././.?N7O`P n -@f-|JNX .-@*@JgJnm noS`* nT0@` n//.N)PO`X ./0.Hї =@lBnJnf0.SnJ@g/.?.N-\O` .d/. nRH?N-\O`Jng0.SnJ@g/.?.N-\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @J>`?Bg _JJg nR` .L N^NuNVH0*n>.IB$B0//. N@PO-@g$B0//. NAPO @J-n ` n JJg` L0N^NuNVH *nRm o / mNXO` URB@> @ f -H@f0L N^NuNVH >.*n G f-H@g/ p ?N-\OSm l/ ? mN\O` UR0L N^NuNVH *|VWd2Jg U(H@fp?//. /.N/O*`X`BL N^NuNVH0*n(n0. =@,H@g/ lNXOSnJf ,H@f JngL/ N-^XO> @g:Sn`?./ ,H?N:BPO>on`JGf,@`,0. n L0N^NuNVH0*n(n0. >,H@g / lNXOJf ,H@f&JGg/ B@?N-\O @gSG`JGg(B@`(?/ ,H?N=PO20Ag,`0.L0N^NuNVH *n>.|BnBnp=@ n R pr@H @rfBFpw@ n g,H @bfBnR n gH @bfBnJGlJnf?/.N9\O>JGl@JnfJng4?</.N8(\O>m Fg?N7TO?/.N9\O>JGmJngp?B?N9PO fp?N'TO*@ f ?N7TO`|p@Jng-B+@*+@Bm +|2+|3G `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNVH *n .*+@+|50. D@;@ m l;| +|1`+|1 L N^NuNVH *n Bm pL N^NuNVH *n ;| UR0.L N^NuNVH *nJfL-H@f.-H?N9jTO>gWf?<N'TO+@f+|5,+|6`^-H@f"JGgWf+|4f+|6 -`&+|4f+|5-H?N2TOHЭ*+@Bm L N^NuNVHp?B?.N9PO. fB@`0H@LN^NuNVH *n/ N1XO/ mNXOL N^NuNVH >.*n / N1XO/ ? mN\OL N^NuNVH *|VVeJg /N3hXOY`L N^NuNVH *n-H@fp`@/ N3XO>-H?N7TOJg-H@f /-N'XOB-0L N^NuNVH *nBm ByJ-H@fj >o.?/--H?N=PO20Ag09JH f,JGm$ -/0<Hї f -*+@`+UB@`-pL N^NuNVH *n/ N3XOJ@gp` 6W,f/<WN3XOByJ -/0<Hї ?/--H?N:BPOD@;@ @f09JH g-Bm `Jm f -@`z0- Rm m+H URB@L N^NuNVH *n 6W,f/<WN3XOBm ByJp?Hn-H?N:BPO @g J@g B@.` 09JH g-`-@pL N^NuNVH *nBm pL N^NuNVH *n / N6XOJ@gp`$ -/0<Hї S@;@ UR0.L N^NuNVH >.*n GBm ByJ-H@fF/ N6XOJ@f8p?Hn-H?N=PO @f0`09JH g-pL N^NuNVH *n Bm -/0<Hї f/ N3XOJ@f UR0. @ f/ N3XOJ@gp`0.L N^NuNVH *n-H@g / mNXO -b / N3XO`4p? H/-H?N9PO fp` +UBm B@L N^NuNVN36?.N7TON^NuNV/<WN/<W4N(PO/<Wq/<W4N(POp?N7jTON^NuNV?.pL?N@XON^NuNV nn?.N>"TO @Cg,p???.N>|XO?.p>?N@XO/N?XO`B@N^NuNVHBg/.plD Gm Gn?N>TO>`8Hn/.NmpF??N>|XO0H/N?XOLN^NuNVH?.pE?N@XO>l0H/N?XO`"?.N>"TO=@m?.?N>|XO0LN^NuNVH?.?. rF?N@\O>J@f(?.N>"TO=@m?.?. N>|XO0. `0H/N?XOLN^NuNV?.N>"TO @Cfp`B@N^NuNV?.?./. pB?N@O /N?XON^NuNVH?. /.p=?N@PO>lF Gm Gn?N>TO>`:Hn/.NmpF??N>|XO0H/N?XOLN^NuNVH ?.N>"TO @CfBF9i!H>9i HHi *@SnmSGllpQi B9i!/<i p ?N@\O>l0H`p ?p?p?N@\Opi 9i!H>9i HHi *@0Gp H: EfBG` n R RF E ff i i i!0`(/. 0.H/?.p??N@O /N?XOL N^NuNVH..Jl <`4Jf 9`(R @./pH?N@\O,g І# LN^NuNV0.H/N;bXON^NuNVH *nHH. :gB@``a  e  d03ix0r.Jitf p?N@TO?p?N@XO#it itL N^NuNVH *n "|iz M0<`RHRIQ/<ip?N@\OBFp?/.pN?N@PO>lJFff/.N;XOJ@fp?N@TO3ixmB?9ixp ?N@XOJo,09ix@aW?</<WpN?N@PORF`~/.N;XOJ@g n (\fT n \g n .f* nJ(g n (.f nJ(f p;@B@`v0H/N?XO`f9iH;@+yi/9iN?@XO+@+@+@9iHA9iHHA:9iHA9iHHA;@0L N^NuNV/. 0.H/?.p@?N@O /N?XON^NuNVH >.0V@ @bH0@J PN`*pP`&pA`"pC`JGm*yWSGmJfp`JgHL N^NuNVH >.JGm*yWSGmJfp` Jg0. L N^NuNVH >.0V@ @bJH0@J PN*yWH0Ag Jfp`&R` W?N8TO`~C`~A`~P`pL N^NuNVJl .D3Jp` .N^NuNVH .>0@HH@ </<3B0/N@PO*0@H@H@B@H@ @W ڀ/<QRF2I0@A@H@B@H@/N@POڀRF0@f0@H @cQ .>0@H6CK<@/<0@HHH@B@H@/N@PO?BgПڀ LN^NuNVH HnNE^XO*@4B2-I0-HHABH.p".Rm2-I0- @PHHAmHހ L N^Nu#iNA yiN#iNM yiN"o`CH0"/ $ANIL Nu o"`"/H0$/ ANIL Nu"o`CH0$"/ ANI L NuNVH009XRyXJ@n/<XNHXO*@ gBW(|WJg :g Xd`BJg :fpNBXO/ NBXOL0N^NuNVH *nJgR/ N%rXOXZJg .f/ N%rXOS@XYJg .f/ N%rXOS@XXJg :fJgR/ N%rXOX^Jg .f/ N%rXOS@X]Jg .f/ N%rXOS@X\Jg :fJg/ N%rXOX`Jg :fJg/ N%rXO<3XL N^NuNV/.NCXO/NCXON^NuNVNA. n W-@HnNE^XONGbJ@g229XH n WЁ-@HnNE^XO3Xi`Byi <iN^NuNVH0*|Xb n0( > @eBG0H@B@H@X|(@p  n0(> @ eBG0H@B@H@X(@p  n0(> @ e0 @0`p 0 H@@0p  n0(> @00 H@@0p: n0(> @00 H@@0p: n0> @00 H@@0p  n0( @l>0@00H@>0d@00dH@>0 @00 H@@0p B <XbL0N^NuNVH n -@lB/<Q/.NHPO=@/<Q/.NIvPO-@/</.NHPO3i/</.NIvPO-@p.0HH@J@g.0HH@J@g0HdH@J@g0HH@J@fp`B@LN^NuNV nf?. NFTOJ@gp`p`0nXHN^NuNVHJ9Xg9XXH09i԰Am9XXH09i԰Af8/<XXNH6XO>yig yilpp`n9X`H09iаAmZ`9X\H09i԰Am9X\H09i԰Af4/<X\NH6XO>yig yio`9X`HS@yinB@LN^NuNVH *n-H<f-H`L-H09iҐyiA>JFoJGo_G`^GSFn` 0yiXH0Al^G`_GRFm0L N^NuNVH8&yJ g.*[ g((nHHAfJgR`Jf -=f `BL8N^Nu"o`CH0"/ jD$jDANIJ/ j JgRJk`JjDL Nu o"`"/H8(jD$/jDFANIJjDLNu"o`CH0$jD"/ ANI g J/ j L NupJfpN∲cd⒒d҂dFN0&HCHCBCЃ&HCHCBCЃN66>`j  xL{NULL}D*O+FU+&X+Jc+d*e+Nf+Ng+No*r+s+u*x*D)>0123456789ABCDEF>H>L>P?? ?Discat - v 1.0By :Matt Leber 1. Editing Menu 2. Get catalog from disk 3. Save catalog to disk 4. Output catalog 5. Print Labels 6. Exit cataloger Selection : Please enter filename to read : .CATPlease enter filename to save to : .CAT Unable to save, check the disk Press any key to continue...Output to the [S]creen or [P]rinter : Print Labels%d Starting disk number : %d Ending disk number : Align printer and press any key to continue, [Q] to quit...Press any key to abort printing...Do you wish to exit without saving the catalog ? [Y]es, [N]o : Discat - v 1.0Editing Menu 1. Add a directory to the catalog 2. Edit catalog entries 3. Sort catalog 4. Clear catalog 5. Change starting disk number 6. Return to main menu Selection : Done. Do you wish to read another disk? [Y]es or [N]o : Sort according to [F]ilename or [D]isk number or [Q] to quit : Sorting by Filename. Please wait Sorting by Disk number. Please wait %dStarting disk number : Discat - v 1.0This program represents many, MANY hours of work. Please help me fight the high cost of software by sending $5 (Yes, only $5) to : Matt Leber 8851 SE 37th Mercer Island, WA 98040 Please see section in manual on registration for details of registration Press any key to enter Discat...Add Disk%d Number for the disk : Please label disk as disk #%dA: Place disk into drive and press any key to read or [Q] to quit... \*.*\*.*\^ Write Enable > Write Protect > Disk Number : %d ------------------------------- %12s PRINTER.CNFr No PRINTER.CNF file. Run LINSTALL.TOS first This function will erase the entire catalog from memory. Do you wish to continue? [Y]es or [N]o : YesFatal error - LIST IS CORUPT!!! Please report error   rb Do you wish to overwrite ? Yes wb Saving file... rb Filename Disk # Description Filename Disk # Description %-13s %5d %s Press a key to continue... [Q] to quit... Press any key to continue...M%-13s %5d : %-49sDELETE? [Y]es or [N]o M%-13s %5d : %-49s%-13s %5d : %-49sL%-13s %5d : UP Arrow - Moves up one line DOWN Arrow - Moves down one line CONTROL-UP - Move up a page CONTROL-DOWN - Move down a page SHIFT-UP - Go to beginning of list SHIFT-DOWN - Go to end of list - Delete file from list F10 - Returns to editing menu F1 - Add / Delete file from disk label Filename Disk # Description %-13s %5d : %sTotal Filenames : %5d Filenames Sorted : %5d%5dEYpqefBad pointer in free. WWW423 23 23 You must compile with the -f flag to include printf() floating point. ?:\*.*WCCAP????????????????????????(ހMȀv4~@\gUW?GMT-1.1.4:-1.1.10:2:60...... AAA AAA DD DD:DD:DD DDDD SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecTIMEZONE@@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @H"2,                             (            "   "            &     .   $      F< @         \     2  $&DV(0X" $ n $$( :2       . $*       6     4 & . @&   ( & & * 4                " 2(: (  >0$ l$      "BJ.  . x,>>HRBNB$(JF 6(p&&",t | 4<.&4(*\(\ TVHJ ,   ""(,    6 .L   `   4 &4@ 2B *f(X $$   $        $0d2&: " t          8.dH.ZVXR 0I|J save_lst_Dfputc_-free_'print_string_ lmalloc_&vmulIstrcpy_L(main_asctime_Cerrno_J_fgetb_f4tzdstdef_>Xbdos_@_fgetc_,5_fpinit_3_dtefg_7header_itimetotd_<@tdtotime_@?_stropen_@1tail_itimezone_Wwrite_=comp_on_i_stksize_Wbios_@elite_off_iline_edit_4atoi_r%beg_isleapyear_F_getfhtype_">st_disk_Jsbrk_;open_9read_cnf_hi_dsk__stderr_4Wclr_lst_out_list_low_dsk__a_scanp_V_cmdname_W_fp_Vlpi_8_off_i_aliasfh_>_fopen_/malloc_'locate_$fprintf_(main_menu_`settz_.Alocaltime_Cedit_menu_sort_lst_"exit_j7_setfhtype_|>dup2_9lldivHstat_XBgNn>NXON ?N(?<LNANV/<+p ?N\ON^NuNV/<+p ?N\O0.@?p?NXO0. @?p?NXON^NuNVJng/<+`/<+p ?N\ON^NuNVJng/<+`/<+p ?N\ON^NuNVHBnN/<+p ?N\O/.p ?N\O/<+p ?N\O0n Jg* n l"0.Rn0@ H?/<+Nn`/<+NnXOBn0nJg, n l$0.Rn0@H?/<+Nn\O`/<,NnXO/<,p ?N\Op?NTO@.H?N8TO@ .ef/<,p ?N\O/<,@p ?N\OBn n lB0.R@?/<,UNn\OHnN (XO6n HnNXOHHRn`/<,cp ?N\OBn n lB0.R@?/<,yNn\OHnN (XO6nHnNXOHHRn`LN^NuNVBn nm no8Np!?p?N*XO/<,p ?N\Op?p?N*XO/<,p ?N\Op?p?N*XO/<,p ?N\Op?p?N*XO/<,p ?N\Op?p?N*XO/<-p ?N\Op?p?N*XO/<--p ?N\Op?p ?N*XO/<-Ip ?N\Op?p ?N*XO/<-jp ?N\OHnN (XOHnNXO=@`0.N^NuNV/<-/<-wNPO-@f*/<-p ?N\OBn nlRn`B@`Bn n l/.0n+nH?N \O/.0n+xH?N \O/.0n+H?N \O/.0n+H?N \O/.0n+H?N \O/.0n+H?N \ORn`HpN^NuNVH/<-/<-NPO-@f&/<-p ?N\OBn nlRn`Bn n l6n+n/.N rXO6n+x/.N rXO6n+/.N rXO6n+/.N rXO6n+/.N rXO6n+/.N rXORn``/.N&XOLN^NuNVN=@ ng0.S@ @bH0@* PN`/<+x/<+n/<-NO `/<+/<+/<-`/<+/<+/<-`N`N=@ nfpNBgN(TO`\N^NuNVH *nBEBGH< @ g F fR` F-fz` F+fRH< @0m F9n2A00 A>`JEf0D@>0L N^NuNVH>.0R@0@0*H@g0@ `0LN^NuNVHn/<.rNPON^NuNVHn /.NPON^NuNVHn?</.NO Hn HnNPOHnBgN \ON^NuNVH0-n n (@XH> @%gJGg8/.?N \O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f( nT0=@lp=@0.D@=@H>`,Bn G0m" G9n2. 0A@0=@H>` G.fNH> G*f nT0=@H>`,Bn G0m" G9n2. 0A@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> /0<^H -@*@0 |*2<`XHXW PN`N nT0=@Jnl0.D@=@p-p ??./ N HPO*@`p ? nT?`p`p` n -@XJl .D-@p-p ?/./ N O `p ? n// N O *@X`p`p` n "(-@-AP/ ?././.?NBO`P n -@f-|*X .-@*@JgJnm noS`* nT0@` n//.NPO`X ./0.Hї =@lBnJnf0.SnJ@g/.?.N \O` .d/. nRH?N \O`Jng0.SnJ@g/.?.N \O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @+@>`?Bg _+@Jg nR` .L N^NuNVH0*n>.IB$B0//. NPO-@g$B0//. N^PO @+@-n ` n +@Jg` L0N^NuNVH0*n(M/<.XN rXO> @g G g`B GffB` L0N^NuNVH *nRm o / mNXO` URB@> @ f -H@f0L N^NuNVH >.*n G f-H@g/ p ?N \OSm l/ ? mN\O` UR0L N^NuNVH *|..Xd2Jg U(H@fp?//. /.NbO*`X`BL N^NuNVH *n>.|BnBnp=@ n R pr@H @rfBFpw@ n g,H @bfBnR n gH @bfBnJGlJnf?/.Nt\O>JGl@JnfJng4?</.N\O>m Fg?NTO?/.Nt\O>JGmJngp?B?NHPO fp?N(TO*@ f ?NTO`|p@Jng-B+@*+@Bm +|+|G `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNVH *n .*+@+|n0. D@;@ m l;| +|n`+|R L N^NuNVH *n Bm pL N^NuNVH *n ;| UR0.L N^NuNVH *nJfL-H@f.-H?N(TO>g.rf?<N(TO+@f+|+|`^-H@f"JGg.rf+|$+|R -`&+|$+|-H?NZTOHЭ*+@Bm L N^NuNVHp?B?.NHPO. fB@`0H@LN^NuNVH *n/ NXO/ mNXOL N^NuNVH >.*n / NXO/ ? mN\OL N^NuNVH *|.T.eJg /N&XOY`L N^NuNVH *n-H@fp`@/ NXO>-H?NTOJg-H@f /-N)XOB-0L N^NuNVH *nBm By+h-H@fj >o.?/--H?NBPO20Ag09+hH f,JGm$ -/0<Hї f -*+@`+UB@`-pL N^NuNVH *n/ NXOJ@gp` R.f/<.rNXOBy+h -/0<Hї ?/--H?NPOD@;@ @f09+hH g-Bm `Jm f -@`z0- Rm m+H URB@L N^NuNVH *n R.f/<.rNXOBm By+hp?Hn-H?NPO @g J@g B@.` 09+hH g-`-@pL N^NuNVH *nBm pL N^NuNVH *n / NXOJ@gp`$ -/0<Hї S@;@ UR0.L N^NuNVH >.*n GBm By+h-H@fF/ NXOJ@f8p?Hn-H?NBPO @f0`09+hH g-pL N^NuNVH *n Bm -/0<Hї f/ NXOJ@f UR0. @ f/ NXOJ@gp`0.L N^NuNVH *n-H@g / mNXO -b / NXO`4p? H/-H?NHPO fp` +UBm B@L N^NuNVN?.N~TON^NuNV/<./<.NPO/<./<.NPOp?N(TON^NuNV?.pL?NXON^NuNV nn?.NrTO @Cg,p???.NXO?.p>?NXO/NnXO`B@N^NuNVHBg/.plD Gm Gn?NTO>`8Hn/.NPOJ@m$Bg/.pmpF??NXO0H/NnXOLN^NuNVH?.pE?NXO>l0H/NnXO`"?.NrTO=@m?.?NXO0LN^NuNVH?.?. rF?N\O>J@f(?.NrTO=@m?.?. NXO0. `0H/NnXOLN^NuNV?.NrTO @Cfp`B@N^NuNV?.?./. pB?NO /NnXON^NuNVH?. /.p=?NPO>lF Gm Gn?NTO>`:Hn/.NPOJ@m&?. /.p=?NPO>mpF??NXO0H/NnXOLN^NuNVH ?.NrTO @CfBF90H>90HH0*@SnmSGllpQ0B90/<0p ?N\O>l0H`p ?p?p?N\Op090H>90HH0*@0Gp H: EfBG` n R RF E ff 0000`(/. 0.H/?.p??NO /NnXOL N^NuNVH *nHH. :gB@``a  e  d031*0r.J1&f p?NTO?p?NXO#1& 1&L N^NuNVH *n "|1, M0<`RHRIQ/<1Jp?N\OBFp?/.pN?NPO>lJFff/.N XOJ@fp?NTO31*mB?91*p ?NXOJo,091*@a.?</<.pN?NPORF`~/.N XOJ@g n (\fT n \g n .f* nJ(g n (.f nJ(f p;@B@`v0H/NnXO`f91_H;@+y1d/91`NXO+@+@+@91^HA91]HHA:91ZHA91YHHA;@0L N^NuNV/. 0.H/?.p@?NO /NnXON^NuNVH >.0V@ @bH0@+P PN`*pP`&pA`"pC`JGm*y.SGmJfp`JgHL N^NuNVH >.JGm*y.SGmJfp` Jg0. L N^NuNVH >.0V@ @bJH0@+\ PN*y.H0Ag Jfp`&R` .?NnTO`~C`~A`~P`pL N^NuNVJl .D3+hp` .N^NuNVH .>0@HH@ </<3B0/N0@H6CK<@/<0@HHH@B@H@/N @eBG0H@B@H@/(@p  n0(> @ eBG0H@B@H@/(@p  n0(> @ e0 @0`p 0 H@@0p  n0(> @00 H@@0p: n0(> @00 H@@0p: n0> @00 H@@0p  n0( @l>0@00H@>0d@00dH@>0 @00 H@@0p B </L0N^NuNVH n -@lB/<Q/.N)PO=@/<Q/.N*TPO-@/</.N)PO31/</.N*TPO-@p.0HH@J@g.0HH@J@g0HdH@J@g0HH@J@fp`B@LN^NuNV nf?. N%(TOJ@gp`p`0n0HN^NuNVHJ9/vg9/H091Am9/H091Af8/</N&XO>y1g y1lpp`n9/H091AmZ`9/H091Am9/H091Af4/</N&XO>y1g y1o`9/HS@y1nB@LN^NuNVH *n-H<f-H`L-H091y1A>JFoJGo_G`^GSFn` 0y10H0Al^G`_GRFm0L N^NuNVH8&y+j g.*[ g((nHHAfJgR`Jf -=f `BL8N^NuNVH8..P b d.</N)fXO*@ gbJ0f&M #0#0`( 90ΰf QP&m`(y0Q L (&@)M Q@* Ѝ#0(@Q LB)KL8N^NuNVH0B .\S@,dB`Й*y0 g| .gR g @є .*L(Md<  d @*`* Ѝ#0 y0 /0<Hї `dJg @Ѝ*@`*m0f g#0Ry0090 @e Sy0`N/N'FXO/.N'XO*@Sy0 L0N^NuNVB0./N'XON^NuNVH ./0<H *@Jf8BG0G0Jg$0RG0@0H?p?p?N\O`N~L N^NuNVH..Jl <`4Jf 9`(R @./pH?N\O,g І# LN^NuNV0.H/N)fXON^Nu"o`CH0"/ jD$jDAN*J/ j JgRJk`JjDL Nu o"`"/H8(jD$/jDFAN*JjDLNu"o`CH0$jD"/ AN* g J/ j L NupJfpN∲cd⒒d҂dFN0&HCHCBCЃ&HCHCBCЃNLj~{NULL}D O U X c d fe f g o r s Lu x D 0123456789ABCDEF^ZVEYpqef Current codes to start : %d Current codes to end : %d [Q]uit, [E]dit : Press return on all unneeded spaces... Starting codes : Code #%2d : Ending codes : Code #%2d : Printer Setup 1. Edit codes for compressed print (17 cpi) 2. Edit codes for Elite print (12 cpi) 3. Edit codes for 8 lines per inch 4. Read PRINTER.CNF file 5. Write PRINTER.CNF file 6. Exit without saving changes Selection : PRINTER.CNFw File cannot be saved, check drive... PRINTER.CNFr Cannot read PRINTER.CNF, Check drive CompressedElite8 Lines Per Inch.X.r.   You must compile with the -f flag to include printf() floating point. ?:\*.*.CCAP????????????????????????(ހMȀv4~@\gU/L?GMT-1.1.4:-1.1.10:2:60...... AAA AAA DD DD:DD:DD DDDD SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecTIMEZONE@@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @Bad pointer in free. H"2,        04       8         6       .      $  ,>>HRBNB$(JF *6(",t | 4<.&4(*\(\ TVHJ ,   ""(,    6 R   `   4 &4@ 2B *f(X $$   $        $0d2&: " t          8.l "BJ.  . 2,H.ZVXR 0*j free_)fputc_ lmalloc_'vmul*main_asctime_!errno_h+_fgetb_$tzdstdef_/bdos__fgetc__fpinit__dtefg_Btimetotd_tdtotime__stropen_timezone_R/write_Bcomp_on_n+_stksize_N/bios_elite_off_+atoi_isleapyear_(%_getfhtype_redit_element_save_sbrk_)open_tread_cnf__stderr_.gets_( _a_scanp_0_cmdname_H/_fp_.menu_lpi_8_off_+_aliasfh__fopen_bmalloc_(locate_*fprintf_settz_~localtime_n!exit_(_setfhtype_dup2_lldiv)stat_reverse_pfclose_&llremN*_fgeteof_ngemdos__fputb__fputc__stdin_X.environ_j+lrdiv)_stdout_r.cls_lrremT*gmtime_#_ctype_*0vldivsprintf_llmul*_a_first_0vlremX_isdrv_ fflush_getenv_&comp_off_x+fgetc_r dup_n_iovector_.vrdivtolower_8lrmul *vrrem^_start_tzname_V/creat_elite_on_+vlmul4_seterrno_nctime_P!_fputt_Rprintf_nlseek_Hclose_vrmul<lpi_8_on_+fopen__exit_~vdiv*finit_read__fpseek_lsbrk_f)dayspermonth_|%isatty_(cursor__finish__fginit_02MPDISCAT V1.0 The following files should be included : DC.TOS - The disk cataloger LINSTALL.TOS - Printer Installation program DISCAT.DOC - Documentation file PRINTER.CNF - Printer Configuration file README - This file When using this program, DC.TOS checks the current directory for PRINTER.CNF, and if it is not there it will tell you to install the printer using LINSTALL.TOS. Please feel free to distribute this program as long as all files are included. If you use this program to any degree, please register your copy by sending $5 (Yes, only $5) to : Matt Leber 8851 SE 37th Mercer Island, WA 98040 For details on the benifits of registration, please refer to the manual, and the section on REGISTERING YOUR COPY. Please report any bugs or any suggestions you might have to the above address or : Compuserve ID# : 73657,3646 GEnie Mailing ID : M.LEBER Thank you, Matt Leber . [ t.. [ tHEX_TO DEC\t LABELS DOCat hLABELS PASet &qLABELS PRGjt fLPATCH DOCot LPATCH PASrt )%LPATCH PRGvt l> HEXIDECIMAL TO DECIMAL CONVERSION Right hand hex digit 0 1 2 3 4 5 6 7 8 9 A B C D E F --------------------------------------------------------------------- 0 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 L 1 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 e 2 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 f 3 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 t 4 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 5 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 h 6 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 e 7 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 x 8 | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 9 | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 d A | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 i B | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 g C | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 i D | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 t E | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 F | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 DECIMAL VALUE LABELS.PRG ( Label Maker program ) by Ron Rautenberg 15 San Juan Dr Salinas, CA 93901 (408) 757-6481 LABELS allows you to create, edit, and print labels of various sizes and in various styles. It is excellent not only for creating labels but for small forms of any size, including 3 x 5 cards. It is entirely menu driven and extremely easy to use, and really requires no documentation. Once you have read the installation instructions and installed LABELS for your printer ( SEE THE FILE LPATCH.DOC ) I suggest you learn to use it by turning on your printer and running the program. The following documentation should provide answers to any questions you may have. When LABELS comes up you will have a menu of four items, Desk, Label, Style, and Size. The desk menu contains whatever desk accessories you have loaded plus a plug for this program. The remaining menu items are described below. LABEL Use this menu item to edit your label, print it or to quit the program. There are 4 selections you can make from this menu: Create Use this to input the text for a new label. You will be presented with a blank form representing your label which you can edit as desired. There are limited editing functions which you can review by clicking on the 'HELP' button at any time. Be aware that the size of the form you are editing (number of lines and length of each line) is determined by your selections from the other two menus (style and size) so you should set them first. When you are done editing, or if you want to change one of the label parameters, click the 'OK' button and you will return to the main menu. The label you have edited will be saved for you to print, modify, or throw away. Modify This option is identical to the Create option with one exception. The form will not be blank but rather will be the last label you edited. Note that if you have changed label sizes or styles the lines may be truncated to fit on your new label. Print Use this to print your label. You will be prompted for the number of copies you want. Make sure your printer is hooked up and online. If it's not, LABELS will wait for you and will prompt you. Quit To exit LABELS and return to your desktop. STYLE Use this menu item to select the style of print you want to use for your label. There are six items for you to choose from. You may select any one of the first three and any combination you like of the last three. Note that you can create your label then experiment with the style options to see which you like best. However, if you create it in Pica mode then go to Elongated ( or compressed to Pica ) then the ends of your lines may be chopped off. Compressed Choose this mode for condensed ( 17 cpi ) output. The line feed value will be 1/8". This mode is best when you need to get a lot of information on a label. Pica This is the standard print size and the default for LABELS. Elongated This is the double-wide or large text mode, useful for easy to read labels but of course you can't get as much on the label. Bold Text is printed either double-strike or emphasized depending on which control codes you provided in the installation program. This can be selected with any print size however many printers do not print compressed and bold at the same time. Selecting both will not cause a problem, you just may not get both. Italics If your printer has a built in italics character set, then you can use this to print italicized characters. Underlined All text will be printed with underlining including spaces. This should work with italics, bold and any character size. SIZE Use this menu to tell LABELS what size labels you are using. You can select from one of 3 standard sizes or select the 'other' option and tell LABELS the exact dimensions of your label. When measuring your label, the length should be the distance ( in inches ) from the top of one label to the top of the next. That way LABELS can keep the lineup of your labels consistent if you print more than one. PROGRAM labels ; { GEM program to create labels of any size - uses menu and forms to allow user to select size and font settings then edit a form } { for ATARI 520ST computer with printer } { version for GEMINI 10X printer - see control codes below } { by Ron Rautenberg Feb/Mar 1986 15 San Juan Dr Salinas, Ca 93901 408-757-6481 } { VERSION 1.1 MODIFIED 16 Mar - check for printer offline b4 printing - remove comments from Delete_Dialog to free space 17 Mar - lots of cosmetic improvements box around label works in low,med res - should work in high } CONST {$I GEMCONST.PAS} { printer control codes - modify these for your printer } { format of the strings is paramount!! - decimal codes separated by commas } { ONLY ascii values in the range 0-127 acceptable } { used to check if a print style is available - as set by LMINSTAL.PRG } MARKER = '99,99,99'; { Program LMINSTAL will modify these } { Software Reset } SW_RESET = '27,64,00'; { Normal print mode - 10 cpi should be done by SW_RESET } NORMPRT = '27,66,01'; { Elongated print - or double wide } ELONGPRT = '27,87,01'; { Condensed print } CONDPRT = '27,15,00'; { To select 8 lines per inch } EIGHTPER = '27,48,00'; { To select 6 lines per inch } SIXPER = '27,50,00'; { Turn underline mode on } UL_ON = '27,45,01'; { Turn underline mode off } UL_OFF = '27,45,00'; { Turn italics on } ITALIC_ON = '27,52,00'; { Italics off } ITALIC_OFF = '27,53,00'; { Bold or Emphasized print - you may use double strike } BOLD_ON = '27,69,00'; { To cancel Bold print } BOLD_OFF = '27,70,00'; MAGIC = '$3ABH'; { To allow install pgm to find constants } CPI_COND = 17; { chars per inch - condensed mode } CPI_NORM = 10; { normal } CPI_ELON = 5; { elongated or double wide } LPI_NORM = 6; { standard lines per inch } LPI_COND = 8; { condensed lines per inch } MAXLINES = 15; { maximum size of form } MAXCHARS = 70; DESK_TITLE = 3; TYPE {$I gemtype.pas} VAR { menu items must all be globals !!!} the_menu : Menu_Ptr; { pointer to the menu itself } lab_title, style_title, { the menu titles } siz_title, lab_make, lab_remake, lab_print, { the items under the label title } lab_quit, pri_cond, pri_norm, pri_elon, { the items under the printer title } pri_ital, pri_bold, pri_underline, siz_small, siz_large, {the items under the size title } siz_square, siz_other : integer; numlines, { number of printed lines per label } totlines, { total number of lines on a label } numchars, { number of chars per line } cpi,lpi, { chars per inch, lines per inch } print_size, { the actual user selected values } label_size: integer; label_len,label_wid : real ; bold,ital,underline : boolean; { style states - on or off } { the actual lines to print } print_line : array[1..MAXLINES] of string[255]; msg : Message_Buffer; { the message returned when menu item sel. } init_wid,init_len : str255; { initial values for in sizes } dummy,which : integer ; { *************************************************************************** } {$I gemsubs} { GEM subroutines } FUNCTION Get_Rez : integer ; { xbios call to get screen resolution } XBIOS( 4 ) ; function C_Prnos : boolean; GEMDOS ( 17 ); { *************************************************************************** } function xor(b1,b2:boolean) : boolean; { logical xor function } begin xor := (b1 or b2) and not (b1 and b2); end; { *************************************************************************** } procedure set_size; var i : integer; begin { calculate number of lines in label } totlines := round(label_len * lpi); numlines := totlines - 2; if numlines > MAXLINES then numlines := MAXLINES; numchars := round( (label_wid - 0.3) * cpi ) ; if numchars > MAXCHARS then numchars := MAXCHARS; { chop off print_lines if necessary } for i := 1 to numlines do if Length(print_line[i]) > numchars then print_line[i,0] := chr(numchars); end; { *************************************************************************** } procedure show_info; { Tell 'em about me } var msg : str255; ok : integer; begin msg := '[0][ Label Maker ver 1.1 |'; msg := concat(msg,' public domain| |'); msg := concat(msg,' by Ron Rautenberg| ][ OK ]'); ok := Do_Alert(msg,1); end; { *************************************************************************** } procedure initialize; { initialize the globals } var i : integer; begin Init_mouse; Set_mouse(M_arrow); print_size := pri_norm; label_size := siz_small; bold := false; ital := false; underline := false; init_wid := ''; { initial values for strings in size 'other' } init_len := ''; label_len := 1.0; label_wid := 3.5; lpi := LPI_NORM; cpi := CPI_NORM; set_size; for i := 1 to MAXLINES do print_line[i] := ''; end; { *************************************************************************** } function stoi( s : str255 ) : integer; { convert string s to integer } { assumes s contains only numeric digits } var val,i : integer ; begin val := 0; for i := 1 to Length( s ) do val := val * 10 + ord( s[i] ) - ord ( '0' ); stoi := val; end; { *************************************************************************** } procedure show_edit_funcs; { shows form edit functions available to user } var help_box : dialog_ptr; { the form itself } i, ok_button, { the exit button } pushed : integer; { button the user pushed } item : array[1..7] of integer; { the text lines } line : array[1..7] of string[48]; begin { initialize the lines } line[1] := ' EDIT FUNCTIONS'; line[2] := ''; line[3] := 'Esc - Erases entire line'; line[4] := 'arrows - Move up/down lines'; line[5] := 'arrows - Move left/right'; line[6] := 'Delete - Erase character right'; line[7] := 'Backspace - Erase character left'; { create the object } help_box := New_Dialog(9,0,0,38,11); { add the text lines } for i := 1 to 7 do begin item[i] := Add_DItem(help_box,G_String,None,2,i,48,1,0,0); Set_Dtext(help_box,item[i],line[i],System_font,TE_Left); end; { add an ok button } ok_button := Add_Ditem(help_box,G_Button, Selectable | Exit_Btn | Default,15,9,8,1,0,0); set_Dtext(help_box,ok_button,'OK',System_font,TE_Center); { reserve room to center the dialog } Center_dialog(help_box); { display the box } pushed := Do_Dialog(help_box,0); { erase it } End_dialog(help_box); { release the space } Delete_Dialog(help_box); end; { *************************************************************************** } function get_copies : integer; { how many copies does user want? } const PROMPT1 = ' Ensure Printer is On-line '; PROMPT2 = 'How many copies?'; var copies_box : dialog_ptr; { the form itself } prompt_item, { the prompts } print_button, { the exit buttons } abort_button, line, { the edit line } pushed : integer; { button the user pushed } num_str : str255 ; begin { create the object } copies_box := New_Dialog(6,0,0,31,10); { add the prompt } prompt_item := Add_Ditem(copies_box,g_boxtext,None, 2,1,27,2,-1,(256+4096)*BLACK+128); set_Dtext(copies_box,prompt_item,PROMPT1,System_font,TE_Center); prompt_item := Add_Ditem(copies_box,g_text,None,2,4,27,1,0,256*BLACK+128); set_Dtext(copies_box,prompt_item,PROMPT2,System_font,TE_Center); { add an ok button } print_button := Add_Ditem(copies_box,G_Button, Selectable | Exit_Btn | Default,4,8,8,1,0,0); set_Dtext(copies_box,print_button,'PRINT',System_font,TE_Center); abort_button := Add_Ditem(copies_box,G_Button, Selectable | Exit_Btn ,19,8,8,1,0,0); set_Dtext(copies_box,abort_button,'ABORT',System_font,TE_Center); { add edit lines } line := Add_Ditem(copies_box,G_Ftext,None, 2,6,26,1,0,256*Black + 128 ); set_Dedit(copies_box,line,'____','9999','1', System_font,TE_Center); { reserve room to center the dialog } Center_dialog(copies_box); { display the box } pushed := Do_Dialog(copies_box,line); { erase it } End_dialog(copies_box); if pushed = print_button then begin { find out what was entered } Get_DEdit(copies_box,line,num_str); { convert to integer and return } get_copies := stoi(num_str); end else get_copies := 0; { release the space } Delete_Dialog(copies_box); end; { *************************************************************************** } procedure send_control(code:str255); { sends printer control codes based on code string which is a string of decimal digits separated by commas } var str,num_str,control : str255; comma,number,i : integer; prt : text; begin rewrite(prt,'lst:'); control := ''; { init control string } code := concat(code,','); { tack a comma on end } str[0] := chr(1); { set length of temp string } loop comma := pos(',',code); { find position of 1st comma } exit if (comma = 0); num_str := copy(code,1,comma-1); { move digits to temp } delete(code,1,comma); { delete 1st number from string } number := stoi(num_str); { convert it to int } str[1] := chr(number); { and back to character } control := concat(control,str); { and stick on end of control str } end; { send it all to printer } if C_Prnos then write(prt,control); end; { *************************************************************************** } procedure set_printer; { sends controls to set printer to proper config } var mag : string[5]; { dummy for LMINSTALL } begin mag := MAGIC; { So LMINSTALL can find us } send_control(SW_RESET); case cpi of { chars per inch } CPI_COND : send_control(CONDPRT); CPI_NORM : send_control(NORMPRT); CPI_ELON : send_control(ELONGPRT); otherwise : ; end; case lpi of { lines per inch } LPI_NORM : send_control(SIXPER); LPI_COND : send_control(EIGHTPER); otherwise : ; end; if bold then { bold } send_control(BOLD_ON) else if BOLD_ON <> MARKER then { turn off bold in case it was on } send_control(BOLD_OFF); { only if it could have been on } if ital then { ditto italics } send_control(ITALIC_ON) else if ITALIC_ON <> MARKER then send_control(ITALIC_OFF); if underline then { ditto underline } send_control(UL_ON) else if UL_ON <> MARKER then send_control(UL_OFF); end; { *************************************************************************** } procedure print_label; { print the labels } var head,foot, { number of space lines to print } line,copy, { loop control vars } num_copies : integer; error : real; { difference between actual size of label and } { the amount of output - cummulative } printer : text ; pushed : integer; begin rewrite(printer,'lst:'); num_copies := get_copies; if num_copies > 0 then begin pushed := 1; if not C_Prnos then { if the printer isn't ready } pushed := Do_Alert('[2][ Check Printer... | ][ OK | ABORT ]',1); if (pushed = 1) and C_Prnos then begin set_printer; head := round((totlines - numlines)/2); foot := totlines - numlines - head; error := 0.0; for copy := 1 to num_copies do begin error := error+label_len - (totlines / lpi); { add to error value } for line := 1 to head do writeln(printer); { header space } { print extra header line if error > half a line } if error > (0.5 / lpi) then begin writeln(printer); error := error - ( 1.0 / lpi ); { and reduce the error } end; for line := 1 to numlines do begin { put the label lines } set_printer; { every line - some codes turned off by CR } writeln(printer,print_line[line]); end; for line := 1 to foot -1 do writeln(printer); { footer space } { a full footer only if the error > negative half a line } if error > (-0.5 / lpi) then writeln(printer) else error := error + ( 1.0 / lpi); end; { for copy } end; { if pushed } end; { if copies > 0 } end; { *************************************************************************** } procedure make_menu ; { create the menu bar } var lab_blank1, lab_blank2, pri_blank : integer; begin { reserve memory for the menu } the_menu := New_Menu(30,' About Labels ') ; { add the titles } lab_title := Add_MTitle(the_menu,' label '); style_title := Add_MTitle(the_menu,' style '); siz_title := Add_MTitle(the_menu,' size '); { add the items to } lab_make := Add_MItem(the_menu,lab_title,' create '); lab_remake := Add_MItem(the_menu,lab_title,' modify '); lab_blank1 := Add_MItem(the_menu,lab_title,'-------------'); lab_print := Add_MItem(the_menu,lab_title,' print '); lab_blank2 := Add_MItem(the_menu,lab_title,'-------------'); lab_quit := Add_MItem(the_menu,lab_title,' quit '); { add the items to } pri_cond := Add_MItem(the_menu,style_title,' compressed '); pri_norm := Add_MItem(the_menu,style_title,' pica '); pri_elon := Add_MItem(the_menu,style_title,' elongated '); pri_blank:= Add_MItem(the_menu,style_title,'---------------'); pri_bold := Add_MItem(the_menu,style_title,' bold '); pri_ital := Add_MItem(the_menu,style_title,' italics '); pri_underline := Add_Mitem(the_menu,style_title,' underlined '); { add the items to } siz_small := Add_MItem(the_menu,siz_title,' 3.5" x 1" '); siz_large := Add_MItem(the_menu,siz_title,' 4" x 1.5" '); siz_square := Add_MItem(the_menu,siz_title,' 2.75" x 2.75" '); siz_other := Add_MItem(the_menu,siz_title,' other '); { check mark the defaults } Menu_Check(the_menu,pri_norm,TRUE); Menu_Check(the_menu,siz_small,TRUE); { disable the blank lines } Menu_Disable(the_menu,lab_blank1); Menu_Disable(the_menu,lab_blank2); Menu_Disable(the_menu,pri_blank); if CONDPRT = MARKER then Menu_Disable(the_menu,pri_cond); if ELONGPRT= MARKER then Menu_Disable(the_menu,pri_elon); if BOLD_ON = MARKER then Menu_Disable(the_menu,pri_bold); if ITALIC_ON = MARKER then Menu_Disable(the_menu,pri_ital); if UL_ON = MARKER then Menu_Disable(the_menu,pri_underline); end; { *************************************************************************** } procedure get_lab_size ( var width, len : real ); { user selected for label size } const PROMPT = 'Enter label size'; var size_box : dialog_ptr; { the form itself } i, prompt_item, { the prompt } ok_button, { the exit button } help_button, { the help button } linew,linel, { the edit lines - width and length } pushed, { button the user pushed } whole,frac : integer; { whole and fractional part of number entered } str : str255 ; begin { create the object } size_box := New_Dialog(6,0,0,34,10); { add the prompt } prompt_item := Add_Ditem(size_box,g_text,None,7,1,20,1,0,256*BLACK+128); set_Dtext(size_box,prompt_item,PROMPT,System_font,TE_Center); { add an ok button } ok_button := Add_Ditem(size_box,G_Button, Selectable | Exit_Btn | Default,5,8,8,1,0,0); set_Dtext(size_box,ok_button,'OK',System_font,TE_Center); { add a help button } help_button := Add_Ditem(size_box,G_Button, Selectable | Exit_Btn ,21,8,8,1,0,0); set_Dtext(size_box,help_button,'HELP',System_font,TE_Center); { add edit lines } linel := Add_Ditem(size_box,G_Ftext,None, 7,3,20,1,0,256*Black + 128 ); set_Dedit(size_box,linel,'length : _.__ inches','999',init_len, System_font,TE_Center); linew := Add_Ditem(size_box,G_Ftext,None, 7,5,20,1,0,256*Black + 128 ); set_Dedit(size_box,linew,' width : _.__ inches','999',init_wid, System_font,TE_Center); repeat Center_dialog(size_box); { reserve room to center the dialog } pushed := Do_Dialog(size_box,linel); { display the box } End_dialog(size_box); { erase it } if pushed = help_button then begin Obj_SetState(size_box,help_button,Normal,FALSE); show_edit_funcs; end; until pushed = ok_button; { find out what was entered for width } Get_DEdit(size_box,linew,init_wid); { convert width to real } init_wid[0] := chr(3); for i := 1 to 3 do if not(init_wid[i] in ['1'..'9'] ) then init_wid[i] := '0'; str := copy(init_wid,1,1); whole := stoi(str); str := copy(init_wid,2,2); frac := stoi(str); width := whole + frac / 100 ; { find out what was entered for length } Get_DEdit(size_box,linel,init_len); { convert length to real } init_len[0] := chr(3); for i := 1 to 3 do if not(init_len[i] in ['1'..'9']) then init_len[i] := '0'; str := copy(init_len,1,1); whole := stoi(str); str := copy(init_len,2,2); frac := stoi(str); len := whole + frac / 100 ; { release the space } Delete_Dialog(size_box); end; { *************************************************************************** } procedure get_label(lines,chars,which:integer) ; { gets lines of input from user } { number of lines and length is determined by menu bar settings } const prompt = 'Design your label'; PROMPT_LEN = 30; MAX_WID_FORM = 80; { screen size } MAX_HGT_FORM = 23; MIN_WID_FORM = 36; MIN_HGT_FORM = 7; BUTTON_LEN = 8; BUTTON_HGT = 1; var label_box : dialog_ptr; { the form itself } prompt_item, { the prompt } border, { border box } ok_button,help_button, { the exit buttons } pushed, { which button the user pushed } form_wid, { width of the form } form_hgt, { height of the form } i : integer; { loop controlled var } line : array[1..MAXLINES] of integer; { the forms input lines } template,valid,init : string[MAXCHARS]; { form setup strings } begin { set up the form size } form_wid := chars + 10; if form_wid < MIN_WID_FORM then form_wid := MIN_WID_FORM else if form_wid > MAX_WID_FORM then form_wid := MAX_WID_FORM; form_hgt := lines + 8 ; if form_hgt < MIN_HGT_FORM then form_hgt := MIN_HGT_FORM else if form_hgt > MAX_HGT_FORM then form_hgt := MAX_HGT_FORM; if (lines < 1) or (chars < 1) then pushed := Do_Alert( '[3][ Label dimensions | are too small ][ OK ]',1) else if (Get_Rez = 0) and (form_wid > 40) then pushed := Do_Alert( '[3][ Label is too big | for low resolution ][ OK ]',1) else begin { create the object } label_box := New_Dialog(lines + 6,0,0, form_wid,form_hgt); { add the prompt } prompt_item := Add_Ditem(label_box,g_text,None, (form_wid-PROMPT_LEN)DIV 2,1, PROMPT_LEN,1,0,256*BLACK+128); set_Dtext(label_box,prompt_item,PROMPT,System_font,TE_Center); { add a border box for the label } border := Add_Ditem(label_box,G_Ibox,None, (form_wid-(chars+2)) div 2,3,chars+2,lines+2,1,4096*Black); { add an ok button } ok_button := Add_Ditem(label_box,G_Button, Selectable | Exit_Btn | Default,8, form_hgt-2,BUTTON_LEN,BUTTON_HGT,0,0); set_Dtext(label_box,ok_button,'OK',System_font,TE_Center); { add a help button } help_button := Add_Ditem(label_box,G_Button,Selectable | Exit_Btn, form_wid-8-BUTTON_LEN,form_hgt-2, BUTTON_LEN,BUTTON_HGT,0,0); set_Dtext(label_box,help_button,'HELP',System_font,TE_Center); { set up template and validation strings } template := '______________________________________________________________________'; valid := 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; valid[0] := chr(chars); template[0] := chr(chars); { add edit lines } for i := 1 to lines do begin line[i] := Add_Ditem(label_box,G_Ftext,None, 1,3+i,form_wid - 2,1,0, 256*Black + 128 ); if which = lab_remake then init := print_line[i] else init := ''; set_Dedit(label_box,line[i],template,valid,init, System_font,TE_Center); end; repeat { reserve room to center the dialog } Center_dialog(label_box); { display the box } pushed := Do_Dialog(label_box,line[1]); { erase it } End_dialog(label_box); { find out what was entered } for i := 1 to lines do Get_DEdit(label_box,line[i],print_line[i]); if pushed = help_button then begin Obj_SetState(label_box,help_button,Normal,FALSE); which := lab_remake; show_edit_funcs; end; until pushed = ok_button; { release the space } Delete_Dialog(label_box); end; { else begin } end; {of procedure get_label } { *************************************************************************** } { main program } BEGIN IF Init_Gem >= 0 THEN BEGIN make_menu; Draw_menu(the_menu); initialize; REPEAT { wait for message from GEM - menu selection } which := Get_Event( E_Message, 0, 0, 0, 0, false, 0, 0, 0, 0, false, 0, 0, 0, 0, msg, dummy, dummy, dummy, dummy, dummy, dummy ) ; { un-highlight it } Menu_Normal(the_menu,msg[3]); { desk } if msg[3] = DESK_TITLE then show_info { label } else if msg[3] = lab_title then begin { get labels or print 'em } if (msg[4] = lab_make) or (msg[4] = lab_remake) then get_label(numlines,numchars,msg[4]) else if msg[4] = lab_print then print_label; end { begin - lab_title } { styles } else if msg[3] = style_title then begin if msg[4] in [pri_cond..pri_elon] then begin { uncheck the old one } Menu_Check(the_menu,print_size,FALSE); print_size := msg[4]; { check the new one } Menu_Check(the_menu,print_size,TRUE); case (msg[4] - pri_cond) of 0: begin cpi := CPI_COND; lpi := LPI_COND; end; 1: begin cpi := CPI_NORM; lpi := LPI_NORM; end; 2: begin cpi := CPI_ELON; lpi := LPI_NORM; end; else: ; end; { case } set_size; end { bold, italics, and underline switches } else if msg[4] = pri_bold then begin bold := xor(bold,true); Menu_Check(the_menu,pri_bold,bold); end else if msg[4] = pri_ital then begin ital := xor(ital,true); Menu_Check(the_menu,pri_ital,ital); end else if msg[4] = pri_underline then begin underline := xor(underline,true); Menu_Check(the_menu,pri_underline,underline); end; end { begin - style_title } { size of label } else if msg[3] = siz_title then begin if msg[4] in [siz_small..siz_other] then begin Menu_Check(the_menu,label_size,FALSE); label_size := msg[4]; Menu_Check(the_menu,label_size,TRUE); case (msg[4] - siz_small) of 0:begin label_len := 1.0; label_wid := 3.5; end; 1:begin label_len := 1.5; label_wid := 4.0; end; 2:begin label_len := 2.75; label_wid := 2.75; end; 3: get_lab_size(label_wid,label_len); else : ; end; { case } set_size; end; { if } end; { begin - siz_title } UNTIL (msg[3] = lab_title) and (msg[4] = lab_quit) ; if C_Prnos then send_control(SW_RESET); Erase_menu(the_menu); Delete_menu(the_menu); Exit_Gem ; END ; END. { Thats all folks } `ar o"h#c:#c>#cB,Oc.N//Bg?<JNA BbBycFN!NV?<NNN^NuNV?<NAN^Nu/,HNVA-H0.n 2.n FAA=@0.N^,_ _XN/,HNVA-HAd]"O2"09d?NUNVNV 03d09dU@3d09drAo p3dAd]"O2"?</<NX09d?NUNVNV 03d09drFAo pF3dp=@=yd0.nn:0.@rAc0ydo0.@29dAcRn`N^,_Nu/,HNVA-HCE$p#QN^Hn?/.N2N^,_NuOKBackspace - Erase character leftDelete - Erase character rightarrows - Move left/rightarrows - Move up/down linesEsc - Erases entire line EDIT FUNCTIONS/,HNVA-H?<BgBg?<?< N1x-@/.?<Bg?<?<?<?<?<0<@@?N2,=@/.?.CTO$OpQ?<?<N7/.?<Bg?<?<?<?<Bgp@@?N2,=@/.?.CO$OpQ?<?<N7/.?<prArA??<?<?<?<BgBgN2,=@/.?.CO$OpQ?<?<N7/.?<prA??<?<?<?<BgBgN2,=@/.?.C$O$OpQ?<?<N7/.?<Bg?<?<?<?<Bgp@@?N2,=@/.?.CO$OCO$Op1O"O?<?<N3/.N6/.?.N5=@/.N6>0.nf2/.?.HnN9nAO"Op?"QN=@`Bn/.N20.N^,_Nu9999____ABORTPRINTHow many copies? Ensure Printer is On-line /,HNVFAF01|A8-HHnFHzB?<NLC4EN^Hn ?CO$OpQN` `]@ @b@0;N09d@d C,O$OpQN:`:Hz?<Hz^?<NH0@dCO$OpQN09d@d CO$OpQN`:Hz?<Hz?<NH0@dCO$OpQN09d@d CO$OpQNv`:Hzj?<Hz?<NH0@dCDO$OpQN:N^,_Nu$3ABH27,70,0027,69,0027,53,0027,52,0027,45,0027,45,0127,50,0027,48,0027,15,0027,14,0027,66,0127,64,0099,99,99/,HNV6A<01|A-HHn0.nf/.?.BgBgN>:Nz0.nf/.?.HyuN9npup=@ nn@0.rAu0?Hz0?<NL,0@e0.r0AuRn`N^Hyu?p=@=n0.nn0/.0.@A?00.@AcHpN9nRn`0.nf /.?.BgBgN>:=yd NV0.nf`/.N2N^,_ _\NXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX______________________________________________________________________HELPOK[3][ Label is too big | for low resolution ][ OK ][3][ Label dimensions | are too small ][ OK ]Design your labelAcL0B1|Ac01|AT#cHNELJ@kBN/9dN0vN?<BgBgBgp/BgBgBgBgBgBgBgBgBgBgHysHyvHyvHyvHyvHyvHyvNB3v/9d?9sN1209srAf N`F09sydfX09sydW09sydWÄCBd?9d?9d?9sN^`09sydfN`09sydf?9s?9d?9d?<NJ?<NK0@d/9d?9dBgN.3sd/9d?9d?<N.09syd`Bp3dp3d`Fp 3dp3d`2p3dp3d`` @b@0;NNܶ`09sydf2?9d?<N^3d/9d?9d?9dN.`~09sydf2?9d?<N3d/9d?9d?9dN.`>09sydf.?9d?<N3d/9d?9d?9dN.`>09sydf.?9s?9d?9d?<NJ?<NK0@d/9d?9dBgN.3sd/9d?9d?<N.09syd`?</<Ad0 ?</<`Ad0 `?</<@Ad0 ?</<Ad0 ``?</<0Ad0 ?</<0Ad0 `4HydHydN4` ` @b@0;NR~Nڶ09sydW09sydWCBdNJ@dC O$OpQN/9dN0/9dN.NEHycNOBgNANu/,HNVN`A-HBn"n0.-I"n0)n m"n$n0*R@3@"n0)n m"n$n0*R@3@"n0n m"n$n0R@2"n0.0)r AJ@f0.R@=@`f0.n m4"n0.R@$n0.p"Q0.S@=@`N^,_ _\N/,HNVN`A -H"n 0-I"n0)rAfpT@=@`"n0)R@=@/. ?.N"n 0.-I"nBi"nBi"np. 3@"n3|"np 3@"np2"np3@"np3@"nBi"nBi "nB /. ?<?.N=@/.?.CO$OpQN=@/.?.CO$OpQN=@/.?.ClO$OpQN=@/.?.C2O$OpQN=@-n .N^,_ _ON Desk Accessory 6 Desk Accessory 5 Desk Accessory 4 Desk Accessory 3 Desk Accessory 2 Desk Accessory 1 -------------------- Desk /,HNVN`A-H/. N:^N^,_ _XNNu/,HNVtN`A8-H=n0. rA=@-nx?<HnHnHnxHntNGN^,_ _PN/,HNVtN`A2-H=n p=@-nx?< HnHnHnxHntNGN^,_ _\N/,HNVtN`A0-H=n Bn-nx?< HnHnHnxHntNGN^,_ _\N/,HNVN`A*-H/.?. A O"Op?"QBgBgN7N^,_ _ON/,HNVnN`AL-H"n $n p*R@r=n"n / NH-@r?<#HnHnzHnrHnnNG0.N^,_ _\NNu/,HNVxN`p=@-n |?<HnHnHn|HnxNGN^,_ _XN/,HNVxN`Bn-n |?<HnHnHn|HnxNGN^,_ _XN/,HNVxN`=n Bn-n|?<!HnHnHn|HnxNGN^,_ _\N/,HNVxN`=n p=@-n|?<!HnHnHn|HnxNGN^,_ _\NNu/,HNVN`Aj-H0.T@=@?.N9-@/.?/.?. N(=@0.N^,_ _\N/,HNVN`AB-H/. BgHnHnHnHnN?P?<BgBgBgBg?.?.?.?.NRN^,_ _XN/,HNVtN`A&-H-n x?<6HnHnHnxHntNGN^,_ _XN/,HNVN`AR-HBn"n0.r1JAg*"n 0.R@$n2.t20.R@=@`"n 0.@N^,_ _PN/,HNVN`Az-H"n Jfp. R@?"n / NBp=@p. =@0.nn&"n $Q0.S@2.tA 0Rn`"n $Qp. rN^,_ _ON/,HNVN`Av-H"n0.-I"n0)rAW"n0)r AWÄC"n0)rAWÄCBd("n / AO"Op?"QN`"n0)rAW"n0)rAWÄC"n0)rAWÄC"n0)rAWÄCBd"n$i -J"n0)rAW"n0)rAWÄCp."ni\CBd"n0)S@@"n Jf"np.R@3@"n/ AO"Op?"QN"n0)rAW"n0)rAWÄCBd"n3n "n3n N^,_ _O N/,HNVN`AT-H"n0.-I"n0)rAW"n0)rAWÄCBd"n$i /"n / N`N^,_ _O NNu/,HNVN`0. R@?HnNBBn0. S@=@0.nn"n0.BiRn`"n0. p3@-n .N^,_ _TN/,HNVN`Bn0.rdA]"n 0.0)rAVCBd0.R@=@`0.rdAl0.R@?/. NBN^,_ _XNNu/,HNVN`A-H"n 0.-I"n3n"n3n"n3n"n3n"n3n"np2"np3@"np3@0.rAW0.rAWÄCBd0.rA=@"n0.r A3@"nBi 0.rAW0.rAWÄCBd"n3n "n3n ` "nB 0.rAg/. ?.?.N=n<-n$?<HnHnHnHnNG=n"n2"n2"n2"n 2"n 2"n20.N^,_ _OS@r VR?/LwNuHwaS@r VT?/LwNu#w _0 @g "_J@jp`0w"|wp2 Ag $_JAjr`2w$|wr@g\HwGve$4SBkQ4@SBpQ0"|v` 4SBkQ4ASBrQ$|vLwJ@f pCJl$I/9wNuHw _024SBgQ@4BAAc/LwNuHyJNFRange error during set-operationHw _0246@SCBgQAn68DCCc 0AgRB`/LwNuHw _0@CEHS@rIVW.J?/LwNuHw _0@CEHS@rIVV.J?/LwNuHw _0@CEHS@2FA_VW.J?/LwNuHw _0@CEHS@2FAYVW.J?/LwNuHw _0@274BAAc7V`tO>/LwNuHw _0@"_24BAAc1V`t>/LwNuHw _02S@AC2YQ/LwNuHw _02S@AC2YQ/LwNuHw _02S@AC2FAYQ/LwNuB9w`PwByc8 _0g$_jp"_// HwNOLwJ@fP)J9wf" f |` f|` f |` f|`4<G BQB) @ef *:f^&Jrt `e QGOtWJBk4GO.3 J9wf g g`> g8 fp@`*S@rG   e gRAQJ9wg`tJ)f8a J9wg| _0< HyO4NFt|#|3|Nu )bJ) g )g )g ) f J9wfgHBNu|/ BgHi ?<ANA>3|NAXNu _4` _t6 Bo r aSB`2aNH?Q _r ar a/L?QNu _r aN _4` _t"x0HgJJjDxvCRzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCRp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtClBSCr aQSBk aQN _v` _60@d CQAt`CQBGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LwNuBBo `Hw _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LwNuoHw _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LwNuHw _0 @&b(C[BC/)?/LwNuHy\P`Hy\,LwNF Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvP *** Floating point overflow *** *** Floating point division by zero *** c:Nu#^J _ gc>ec:d 9^JNHy^b`Hy^nNFt`t _"_0gR@| e.G^F$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9^:g0$A#^:`""9^>g$A#^>`"9^Bg $A#^B"`"Ec:&R"$b Hy^NNFJgr"QHd2S@k"QN _"_0" gc>ec:d gR@ @mz @ e@E^F"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"^B#^B` |f"^>#^>` "^:#^:NHeap overruns stackPointer NILPointer not in heapHw _0"_e /LwNuHy`NF/B9x&/|x&NuHw _0 @f0"|wwp` "_J@jpEx&r4@ BbBS@kQ/LwNuHw _4SBkt82$_rAdd0 @f0"|wwp` "_J@jp6ADb6CG0IS@k$eQ/LwNuHw _4k2SAk0"_p6B@bE0)CS@kQ/LwNuHw _2$_r0 @f0"|wwp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LwNuHw _4kF2SAk>0 @f0"|wwp` "_J@jp6B@bEx&SBkQ/LwNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"yc:e HyaDNFN#y.#y* .f -|a4`-|a4 nNнy*f yy.NStack overruns heap09c8Nu _3c6NByc8Nu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. ,h  :*  $,@J6,  60,0.0*0,T ,z*$(. Td:(:(:D( >*$".$"h             L00.,*0,<,< .F.FB"<0D6,40|6 $&,       .         0$Z(d ($&$:42,0&$*,0.4\.0DX<"$>,$8(l*lrh\,&D0T>0,8&&,&$$6   $LD"2 T &( 0&  >             $"  ,*< * * , , 0 , " HB@6 2J X D2 N z  f H F  J  <   , FR ( *@ B @ B  LPATCH.PRG (Labels patch program) by Ron Rautenberg 15 San Juan Dr Salinas, CA 93901 (408) 757-6481 This program will modify the program LABELS.PRG so that it will work with any printer. The original version of LABELS.PRG is designed to work with a Gemini 10X printer so if that is the printer you have you do not need to execute LPATCH.PRG; you may run LABELS as it is. Do not, however, throw the install program away as you may someday want to use LABELS with a new printer. When you run LPATCH, it will ask you for some control code sequences for your printer, after which it will modify the LABELS.PRG program file. BEFORE YOU START 1. Make a backup copy of all files on the disk. If anything goes wrong during the installation process you will have your backup to start over. 2. Get out your printer manual. You will need the codes your printer uses for the following: Software Reset Normal print mode - 10 cpi Elongated print - or double wide Condensed print - 17 cpi Line spacing - 8 lines per inch line spacing - 6 lines per inch Turn underline mode on Turn underline mode off Turn italics on Italics off Bold or Emphasized print - you may use double strike To cancel Bold print Don't worry if your printer does not support any of these functions. You will be able to so specify. 3. You will need to know these codes as a sequence of DECIMAL numbers. If your printer manual only provides the codes in hexidecimal form then you will have to convert them to decimal. See the file hex_to.dec 4. Since LPATCH.PRG must read the file LABELS.PRG, these two files must be on the same disk. They may be in a folder, but if so, they must be in the same folder. USING LPATCH.PRG 1. Run the LPATCH.PRG program. 2. When the 'enter codes' form is displayed, enter the codes for your printer. If your printer does not support any of the listed functions, then enter the code '99,99,99'. Note that when entering the codes, you only need to enter the digits. LPATCH will take care of the commas. For the code sequences which only require one or two numbers, you should fill out the remainder of the line with zeroes. (e.g. '27,48,00' if your printer requires 27-48). 3. If you need help in editing the form, click on the HELP button. When you are all done, click on the OK button. Thats all there is to it! 4. You can now run LABELS.PRG. See the file LABELS.DOC for information on how to use it. PROGRAM lpatch ; { patch the labels program to work with any printer } CONST {$I GEMCONST.PAS} pgmname = 'LABELS.PRG'; numcodes = 12; codelen = 8; OFF = FALSE; ON = TRUE; START_POS = $0D44; MAGIC_POS = $0D3E; TYPE {$I gemtype.pas} codearray = array[1..numcodes] of str255; pgmfile = packed file of byte; VAR infile : pgmfile; msg,inpath : str255; ok_button : integer; i,j,k,start,size : integer; found : boolean; code,entry : codearray; MAGIC : string[5]; {$I gemsubs} { *************************************************************************** } procedure show_edit_funcs; { shows form edit functions available to user } var help_box : dialog_ptr; { the form itself } i, ok_button, { the exit button } pushed : integer; { button the user pushed } item : array[1..7] of integer; { the text lines } line : array[1..7] of string[48]; begin { initialize the lines } line[1] := ' EDIT FUNCTIONS'; line[2] := ''; line[3] := 'Esc - Erases entire line'; line[4] := 'arrows - Move up/down lines'; line[5] := 'arrows - Move left/right'; line[6] := 'Delete - Erase character right'; line[7] := 'Backspace - Erase character left'; { create the object } help_box := New_Dialog(9,0,0,36,12); { add the text lines } for i := 1 to 7 do begin item[i] := Add_DItem(help_box,G_String,None,2,i,34,1,0,0); Set_Dtext(help_box,item[i],line[i],System_font,TE_Left); end; { add an ok button } ok_button := Add_Ditem(help_box,G_Button, Selectable | Exit_Btn | Default,14,9,8,2,0,0); set_Dtext(help_box,ok_button,'OK',System_font,TE_Center); { reserve room to center the dialog } Center_dialog(help_box); { display the box } pushed := Do_Dialog(help_box,0); { erase it } End_dialog(help_box); { release the space } { Delete_Dialog(help_box); } end; { *************************************************************************** } procedure get_codes; const PROMPT1 = 'Enter codes for your printer (DECIMAL)'; PROMPT2 = 'Use ''99,99,99'' if option not available'; BOX_WID = 50; { must be longer than prompt } BOX_HGT = 21; { must be at least numcodes + 9 } BTN_WID = 8; { 3 * BTN_WID <= BOX_WID - 4 } BTN_HGT = 2; BTN_MARGIN = 5; { best if 4*BTN_MARGIN + 3*BTN_WID = BOX_WID } var the_box : dialog_ptr; { name of the box } prompt_item, { name of the prompt } ok,help,quit, { the exit buttons } pushed, { which one the user exited with } i : integer; { loop variable } line : array[1..numcodes] of integer; { name of the edit lines } template,valid,init : array[1..numcodes] of string[BOX_WID]; begin Init_Mouse; { create the box } the_box := New_Dialog(numcodes + 7,0,0,BOX_WID,BOX_HGT); { add the prompts } prompt_item := Add_Ditem(the_box,g_text,None,0,1,BOX_WID,1,0, 256*BLACK+128); Set_Dtext(the_box,prompt_item,PROMPT1,System_font,TE_Center); prompt_item := Add_Ditem(the_box,g_text,None,0,2,BOX_WID,1,0, 256*BLACK+128); Set_Dtext(the_box,prompt_item,PROMPT2,System_font,TE_Center); { set up template and validation strings } template[1] := 'Software Reset.............:__,__,__'; template[2] := 'Normal print (pica-10cpi)..:__,__,__'; template[3] := 'Double wide print..........:__,__,__'; template[4] := 'Condensed print(compressed):__,__,__'; template[5] := 'line spacing 1/8"..........:__,__,__'; template[6] := 'line spacing 1/6"..........:__,__,__'; template[7] := 'Underline mode on..........:__,__,__'; template[8] := 'Underline mode off.........:__,__,__'; template[9] := 'Italic character set.......:__,__,__'; template[10] := 'Cancel italics.............:__,__,__'; template[11] := 'Bold or Emphasized print...:__,__,__'; template[12] := 'Cancel Emphasized print....:__,__,__'; init[1] := '276400'; init[2] := '276601'; init[3] := '271400'; init[4] := '271500'; init[5] := '274800'; init[6] := '275000'; init[7] := '274501'; init[8] := '274500'; init[9] := '275200'; init[10] := '275300'; init[11] := '276900'; init[12] := '277000'; for i := 1 to numcodes do begin valid[i] := '999999'; end; { add the edit lines } for i := 1 to numcodes do begin line[i] := Add_Ditem(the_box,G_Ftext,None,1,3+i,BOX_WID,1,0, 256*BLACK+128); Set_Dedit(the_box,line[i],template[i],valid[i],init[i], System_font,TE_Center); end; { add the exit buttons } ok := Add_Ditem(the_box,G_button,Selectable | Exit_Btn, BTN_MARGIN,numcodes+5,BTN_WID,BTN_HGT, 0,0); Set_Dtext(the_box,ok,'OK',System_font,TE_Center); help := Add_Ditem(the_box,G_button,Selectable | Exit_Btn, (BOX_WID-BTN_WID)DIV 2,numcodes+5,BTN_WID,BTN_HGT, 0,0); Set_Dtext(the_box,help,'HELP',System_font,TE_Center); quit := Add_Ditem(the_box,G_button,Selectable | Exit_Btn, BOX_WID-BTN_WID-BTN_MARGIN,numcodes+5,BTN_WID,BTN_HGT, 0,0); Set_Dtext(the_box,quit,'QUIT',System_font,TE_Center); repeat { center the box } Center_dialog(the_box); { display it } pushed := Do_Dialog(the_box,line[1]); { erase it } End_dialog(the_box); if pushed = quit then halt; if pushed = help then begin Obj_SetState(the_box,help,Normal,False); show_edit_funcs; end; until pushed = ok; { get the users entries } for i := 1 to numcodes do begin Get_Dedit(the_box,line[i],entry[i]); end; end; { of procedure dialog } { *************************************************************************** } procedure get_path(var path : str255); { finds and returns the default path including drive } var i,drive : integer; procedure d_getpath(var buf:str255; drv:integer); GEMDOS($47); function d_getdrv : integer ; GEMDOS($19); begin drive := d_getdrv; d_getpath(path,drive+1); i:=1; while path[i] <> chr(0) do begin i := i +1; end; path[0] := chr(i-1); if i > 1 then path := concat(path,'\'); path := concat('A:\',path); path[1] := chr(ord('A') + drive); end; { *************************************************************************** } procedure patch ( position : integer; new_val : byte ) ; { patch new_val into file infile at position - assumes f is open } { too bad file value parameters are not allowed } begin get(infile,position); infile^ := new_val; put(infile,position); end; { *************************************************************************** } BEGIN { IF Init_Gem >= 0 THEN } BEGIN MAGIC := '$3ABH'; { Introduce self } msg := '[0][ Modify LABELS.PRG? | version 1.1| ][ DO IT | ABORT ]'; ok_button := Do_Alert(msg,1); if ok_button = 2 then halt; { set path names for infile and outfile } get_path(inpath); inpath := concat(inpath,pgmname); { Is LABELS.PRG there? } Reset(infile,inpath); if eof(infile) then begin msg := '[2][ Couldn''t Open |'; msg := concat(msg,' LABELS.PRG| | ][ ABORT ]'); ok_button := Do_Alert(msg,1); close(infile); halt; end; { verify magic # } for i := 0 to 4 do begin get(infile,MAGIC_POS + i); if infile^ <> ord(MAGIC[i+1]) then begin msg := '[2][ Incompatable version |'; msg := concat(msg,' of LABELS.PRG| | ][ ABORT ]'); ok_button := Do_Alert(msg,1); close(infile); halt; end; end; { get new escape codes } get_codes; { convert entries to codes - insert commas } for i := 1 to numcodes do begin for j := 1 to 2 do insert(',',entry[i],j*3); code[numcodes-i+1] := entry[i]; end; { put new codes in file } start := START_POS; for i := 1 to numcodes do for j := 1 to codelen do begin patch(start,ord(code[i,j])); start := start + 1; end; close(infile); Exit_Gem ; END ; END. `: o"h#<#<#<,Oc.N//Bg?<JNA Bb3/.0.2|C@A?00|Ae0.2|C2ATC IO$Op?$Q?<BgN~?Rn`J~A~B/.?<~CprArA??<?< ?<?<BgBgN@=@~D/.?.0|AeC`O$O?<?<N~F~G/.N~I~J/.BgN=@~L~M/.NR~O~P~Q~RN^,_X>NuOKBackspace - Erase character leftDelete - Erase character rightarrows - Move left/rightarrows - Move up/down linesEsc - Erases entire line EDIT FUNCTIONSGET_CODES ?Hz~n/,HNVN9:AV-HPN$"~o~pp ^@?BgBg?<2?<N-@~r~s/.?<BgBg?<?<2?<Bg~tp@@?N@=@~u/.?.0|AeC O$O&p%Q?<?<N~v/.?<BgBg?<?<2?<Bg~wp@@?N@=@~x/.?.0|AeCO$O&p%Q?<?<N~z~{C8E$p#Q~|CE$p#Q~}CE$p#Q~~CE $p#Q~CPET$p#Q><CE$p#Q><CE$p#Q><CE$p#Q><C`E$$p#Q><C$EX$p#Q><CE$p#Q><CE$p#Q><CEdpQ><CpEpQ><CREpQ><C4EpQ><CE4pQ><CEhpQ><CEpQ><CEpQ><CEpQ><CE8pQ><CbElpQ><CDEpQ><p=@ n n>><><0.2|C 4CAEpQ><Rn`><><p=@ n n"><><0.2|C @//.?<Bg?<2.VA??<2?<Bg><rAA?N@" A1></.0.2|C @A?00|Ae0.2|C 4APC IO$Op?$Q0.2|C 4AC IO$Op?$Q0.2|C 4A0C IO$Op?$Q><?<?<N><Rn`><></.?<prA?><?<p Z@??<?<><BgBgN@=@></.?.0|AeCJO$O?<?<N></.?<prA?><p2Q@rH?p Z@??<?<><BgBgN@=@></.?.0|AeCO$O?<?<N></.?<prA?><p2Q@[@?p Z@??<?<><BgBgN@=@></.?.0|AeCNO$O?<?<N><><></.N><></.?.N=@><></.NR><0.nfN9X y<0.nf.></.?.0|AeBgBgN!N><N ><><0.nf\><><p=@ n nZ><></.0.2|C @A?00|Ae0.2|C @A?HpN><Rn`><N^,_X>NuQUITHELPOK999999277000276900275300275200274500274501275000274800271500271400276601276400Cancel Emphasized print....:__,__,__Bold or Emphasized print...:__,__,__Cancel italics.............:__,__,__Italic character set.......:__,__,__Underline mode off.........:__,__,__Underline mode on..........:__,__,__line spacing 1/6"..........:__,__,__line spacing 1/8"..........:__,__,__Condensed print(compressed):__,__,__Double wide print..........:__,__,__Normal print (pica-10cpi)..:__,__,__Software Reset.............:__,__,__Use '99,99,99' if option not availableEnter codes for your printer (DECIMAL)NV?./. ?<GNAN^ _ONNV?<NAN^NuGET_PATH ?Hz></,HNVN9:A-HPN=@><"n/ 0.R@?N><p=@><><"n0.Ar1JAg><0.R@=@><`><"n0.S@@><0.rAo4"nN6$n/ ?<"nN6HzJ?<N7$n/ ?<"npAn@><N^,_X> _XNA:\PATCH ?Hz></,HNVN9:AP-HPHy>0.H/N1z><C>0.A@><Hy>0.H/N1><N^,_X> _XNA<0B1|A=R01|A>BP1|><A`#<><C"EXpQ><><CE?BpAQ><A?O"Op?"Q?<N$3@><09@rAf y<><Hy>N><N6Hy>?p?$Q><><Hy>Hy>?<09>@d><CE?pQ><N6Hy??<A?O"Op?"Q?<N$3@><Hy>N0>< y<><><By@ y@n><><Hy>09@@ >H/N1z><C>p)29@RACtAX0Bg><CE?pQ>< N6Hy??< A?O"Op?"Q?<N$3@>< Hy>N0>< y< ><Ry@`><><Nd><><p3@ y @n><><p3@ y@nP><><?<,?<09@2|C @A?Hp?<p y@R@2|C @29@4|E AA?CAKEp?$Q><Ry@`6><><3 D@><p3@ y @n><><p3@ y@nd><><?9@09@2|C @29@CtAK@0?0AN<><09@R@3@>< Ry@`Ry@`n><"Hy>N0><$N*><%><&Hy>N0Hy=RN0N%~ of LABELS.PRG| | ][ ABORT ][2][ Incompatable version | LABELS.PRG| | ][ ABORT ][2][ Couldn't Open |[0][ Modify LABELS.PRG? | version 1.1| ][ DO IT | ABORT ]$3ABHLABELS.PRGNu/,HNVN9:Aj-H0.T@=@?.N-@/.?3 J9Zf g g`> g8 fp@`*S@rG   e gRAQJ9Zg`tJ)f8a J9Zg| _0< Hy0DN+|#|3|Nu )bJ) g )g )g ) f J9ZfgHBNu|/ BgHi ?<ANA>3|NAXNuBy<(_&&_kv+g|  g6 g fP?+?<>NAX?<Hk ?<=NAP7@| JkJBg?+/p0+/N9?<BNA Jk&NHy10<`Hy10<`Hy10<`Hy2 LN+#Z( //aH/9Z(N38#Z( //a,/9Z(N26RANDOM I/O attempted to deviceNegative random access record numberRandom I/O without Reset or RewriteError during random-accessBy<(_ _/ C( g  f,t4(H / /?(?<@NA LJkffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHy3!` Hy20< LN+REWRITE required prior to WRITE or PUTDisk or directory fullBy<(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHy40<` Hy40< LN+Reset required prior to Read or GetAttempt to read past end-of-file 0 @f0"|Z,Z,p` "_J@jp6B@bEZVSBkQ/LZ.NuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"y<e Hy9N+N#[^#[Z .f -|9`-|9 nNн[Zf y[^NStack overruns heapH?[b _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?[bNu0NvDNH[b|` H[b| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/L[bNu0984<.<H:@><>2x T                  0.4\.0DX<"$>,$8(l*lrh\,&D0T>0,8&&,&$$6       8@F D"2 T &( 0&  >         HB@6 b  D2 T  <   , FR ( *@ B @ B V  . | t.. | tDELIBRARTTP}t LIBRARY PRGt 1 LBR H`Y` H*oaF.|!/<?3 - ЭЭм// ??<JNA N?<NA oC" H2<g:B0< fR`"RAg"< g< fB(g< gS`B(NuNVtHN .N .N . N*.N 2J@f&.CN*.N f|lN .UN*.W/NX.[/NX>0|l .av>N@H-@>NHѮ.N -@tf.]N*N.lN*.|/xN XN @x.N*`z`RE0E/?NT _@xf./xNX<0|l .xa.x/<N*X>N@H-@>NHѮJo>/./.tNbP-@`>/./.tNbP-@>/./.tNP .g>NF>N@zf>NFJLN^NuNV./<N*XNN^Nu/<?< NAa`./(o*O `.>/(o*O `H ><(o*OaL0NuB9#By# #gn<%g< fa`a*`gP<%g<-f #`aJg LSH 0f0#aR(H3#`H@<sg<Sf~49#g$ UaT@e@SBJ9#f,9#aQ ]"Ha`DA!`A!/`/?< NAT9#avQ _a f < a\`<df@0H# #a49#ga´e@SBJ9#f9#aQ`x<lg <Lg<Df# #A! `<xf##A!0`<Xf##A! `t<cg<Cfp0`j oB -fRaDNu .g 9b 0e"Ё¼Ё`R 5eRNua Nu /"/JjDaDNuJj DaDDNucNgc "pNurpNu$BBHBR&("a,"€"$HBHB҂b Db$R`S`HB@H@40H@t20H@4Nu o"og<.fNu|.fBNu oaH<Rg<Ug <WgpNu?<//?<=NAPNu?<//?<NAXNu /2/ ` /"/4/ HH@??<?NA Nu /2/ ` /"/4/ HH@??<@NA Nu0//<!/<??<?NA <f |!NupNuH(o/BE/ /<??<?NA f\REFgD< f/ /<??<?NA f < g?<?// aL`t o>/aLNup"|!Rg  f|  R`Jg n(/<!/??<@NA Nu/<!?< NA\Nu"|! GfNu< aN< `F o2/ /gSVJk "oS Nu o"oBg$fHSgggL`JgPBNuLSNu o"og ggBNuJgBNupNu0/<Ak<[k<ak<{kpNuaJf``0/< g`?<?<NAX0/| a0/| `H(/&<"<f`?<NNTeLNu?/?9?<NN\NuaS"ofNu o"oggNuNu?<?9///<!/<??<@NA LNu//?<HNA\JkNu//?<INA\Nu/?<xa LT>Bga >T.pa`.$Bga T>/<x/<$aP>|mf|xl&>0@?a T>?Wa T`>Bga T>Bga T>0G//<$aP|xg|>a aDJ@fD>Bga dT>aJLN^NuNV./<aXaN^NuNV`x.$X3|l.$/(o*O `H ><(o*OaL0NuB9$4By$: $5gn<%g< fa`a*`gP<%g<-f $4`aJg LSH 0f0$5aR(H3$:`H@<sg<Sf~49$:g$ UaT@e@SBJ9$4f,9$5aQ ]"Ha`DA"4`A"4/`/?< NAT9$5avQ _a f < a\`<df@0H# $6a49$:ga´e@SBJ9$4f9$5aQ`x<lg <Lg<Df# $6A"4 `<xf#$6A"40`<Xf#$6A"4 `t<cg<Cfp0`j oB -fRaDNu .g 9b 0e"Ё¼Ё`R 5eRNua Nu /"/JjDaDNuJj DaDDNucNgc "pNurpNu$BBHBR&("a,"€"$HBHB҂b Db$R`S`HB@H@40H@t20H@4Nu o"og<.fNu|.fBNu oaH<Rg<Ug <WgpNu?<//?<=NAPNu?<//?<NAXNu /2/ ` /"/4/ HH@??<?NA Nu /2/ ` /"/4/ HH@??<@NA Nu0//<"4/<??<?NA <f |"4NupNuH(o/BE/ /<??<?NA f\REFgD< f/ /<??<?NA f < g?<?// aL`t o>/aLNup"|"4Rg  f|  R`Jg n(/<"4/??<@NA Nu/<"4?< NA\Nu"|"4 GfNu< aN< `F o2/ /gSVJk "oS Nu o"oBg$fHSgggL`JgPBNuLSNu o"og ggBNuJgBNupNu0/<Ak<[k<ak<{kpNuaJf``0/< g`?<?<NAX0/| a0/| `H(/&<"<f`?<NNTeLNu?/?9?<NN\NuaS"ofNu o"oggNuNu?<?9// /<"4/<??<@NA LNu//?<HNA\JkNu//?<INA\Nu/>> Meeting with boss about salary progression. Look for new job. Look for sale of STs in paper. 03-02-87 Quarterly report due. Output is in REMIND.TMP for printing - for Desktop. The funny character on the line with <> is the BELL character, which is rung if you have an event today. The following files are in REMIND.ARC: REMIND14.PRG REMIND.DAT REMIND.DOC REMIND.TMP REMIND14.PRG works great out of your AUTO folder. Put it in after BI's BICLOCK.PRG program or DATIME.PRG that is found elsewhere on this BBS. IMPORTANT - Put REMIND.DAT in your root directory if you run REMIND14.PRG out of your AUTO folder! Send me any comments - [76012,3706]. Leonard Tonge 33 Pendlebury Rd Gatley,Cheshire,SK8 4BU: 0161 428 5179: `s8Nm GEMXModula-2/ST (c) Copyright TDI Software Ltd. 1985, 1986. The team : Chris Hall, Paul Curtis, and Phil Camp .[3][Modula-2 Run Time Error : | | #][OK]NVN^NuNV?<Hy N\?<7HyN\?<2HyHN\N^Nu _b ШNYN"pNGNuNV*x ڄ=E*P-E@-M-VNh-H:. Eg :. Ef-n*.P-ENH:. Ef Nh-hN2:. Ef BBN:. E e Nh-PN-n Is8B,)n9n)n )n)n)n|.n 9s/@>,VNhYN`NsN^NuNVBn ncN:.EIBtP ndRn`I* -EI* -EI* -EI* -EI* -Ez-E=| Bn=|BnBn <I* "NB=|N=|=|=|Bn=|z-E <I* "NB=|4=|=|=|Bn=|(mI* -E <I* "NB=|Bn=|BnBn <I* "NBN pL?NAN^NuNV/-+NI|Gz+WBn:.IJ4PgRn`=ys:. E d:.I0PN(z0x8.  HDE:.IPRnz0x8. HDE:.IPRnIGzWBn:.I8.nGP@Rn:.IJ4Pg`N+_N^Nu OAbrpNGNurpNGNV-|T*.f *. drpNG-n nBBB!.B"H$!.!.@ .PPB! 4"n "N^NuNFNuF'/NNn-/=-/H"Q ,IL?/^>/^Nf,oNsNENuF'/NNn-/=-/H"Q G*- =/^Nf,oNs/NNn-/=/-/H _"h$",HL?/^>/^Nf,oNsF'SSfWWNsSf>NsSfF NsSfNqNsSf NNsNhBBB 9t*!B*H$C! `N <L?NAN`WNs*x b "T@NGNuNNuNVH|".$. &(*HDHEHABBمCمHABBBCHBHCԃԄ-A -BL>N^NuNVHx". $.bBCh8BAHA62HC6BAHA`B6HCBAHA8<㑲eRCQ-C -ALN^NuNVH".$. &(*,BHDHEHABهCهHABBBCHBHCԃԄHEJjJj-A -BLN^Nu ./,/[JjDJ[jD |XNJgDJgD/NuNVH(. ,. dF<gBEVBBGVB0G|b.f ؆dRE`kgb|HDkSEjؼdREBJfBEJEnB`|mpN-D LN^Nu |VoNNVH(. ,..HD:|glM||HF>|gXO||G|~mF H@HFB@H@2Ё"HAHFЁHD؀kSEؼdREJEk|m pNB` -D LN^NuNVH(. ,..BGg^<BEgV<✚G|HF⌈0BDHD8 H@∀HDkSEؼdREJEk|m pNB` -D LN^NuNVH . $j ļfB".$j ļfBLN^NuNVH .$ļfBJLN^NuNVH .g*2<bH@|bQAU-@LN^NuNVH .j g` BA<☒|lB`|DAlpN⨰b-@LN^NuNVpNN^NuNVpNN^NuNVpNN^NuNVpNN^NuNVpNN^NuNVpNN^NuNVpNN^NuNVpNN^NuF'pNNsF'pNNsF'pNNsF'pNNsF'pNNsF'pNNsF'pNNsNV . /2.??<NM*-E:. E b:.EIt.)PN:.E EIt^)PN^NuNV/9t:?<N B\/9t6?<N B\/9tB?<N B\/9tF?<N B\/9tJ?<N B\/9tN?<N B\/9tz?<'N B\/9tv?<&N B\/9tr?<%N B\N^NuNqNqNq O h*#s(ys#t& ( ШШ(yt&*,Ѕ.@//??<JNA (ys*,ڬ ڬڬ#t*/< ?<N B\/< ?<N B\/< ?<N B\/< ?<N B\/< &?<N B\/< 4?<N B\/<?<'N B\/<?<&N B\/<?<%N B\#HspNGNPNVB9tN^NuNVBg:. ?(nHTN\=_:.RE8.Ec :.RE=EBn:.SE?0.WoN&:.(n8.&nP@0.WlRn`T:.nb:.(ntPN^NuNVBg:.?(nHTN\=_Bg:.?(n HTN\=_:.nnd :.nd`N:.n=E:.n?0ncN*:.n(n 8.&n P@0ndSn`TBn:.SE?0.WcN*:.(n8.n&n P@0.WdRn`TN^NuNVBg:.?(n HTN\=_:. ndF=n :.n?0.WcN*:.n(n 8.&n P@0.WdRn`TN^NuNVBg:.?(nHTN\=_:.ndh:.n d^:.nnc:.nSE=EBn:.SE8.Eb :.n(n8.&nP@Rn`:.(ntPN^NuNVBg:.?(nHTN\=_Bg:.?(nHTN\=_:.nJEf(ntN:. TE8.nEd`N:. ?(nHT:.?(nHTN xO =n:.nSE?0.WcN*:.n(n8.&nP@0.WdRn`T:.n(ntPN^NuNVBn:. ?0.WcN0:.(n4P9tf =nTN^Nu0.WdRn`T:. RE=EN^NuNVBg:.?(nHTN\=_Bg:. ?(nHTN\=_JngJng`N:.nd:.SE=EN :.SE=EBn:.?0.WcN^:.(n8.&n3@4Pg4:.(n8.&n3@4Pd|TN^NuN B.TN^Nu0.WdRn`T:.nd|N^NuN":.nc B.N^NuN |N^NuNVBg:.?(nHTN\=_Bg:.?(nHTN\=_JngJng:. nnc(n8B.N^Nu:.n=EBn:. n(n8.&n3@4PgN$Rn:.nf(n8 |N^Nu`Rn :. nc(n8B.N^Nu`NVtN^NuNVytN^NuN BNVN jN^N$NVByt3t/9t?.<< B':. ?(nHTN ON^NuNVByt:.JElDE3t/9t?.<< Jnlz`z:. ?(nHTN ON^NuNV:. nm=n N^NuN =n N^NuNV(nBB./.N Xl|/.-_NB.Jnm8/./\-_N^NuNVB?< (n* /N;>\-_N^NuNVB?< N:TJgz`zEN^NuNVB?<?. N:X(n(N^NuNVB?<N:TJgz`zEN^NuNVB?<N:TJgz`zEN^NuNVB?<N:TJgz`zEN^NuNVB?<N:TJgz`zEN^NuNVB?<N:T*(n8N^NuNVB?</.N;>\-_N^NuNVB?<*N:T*(n8N^NuNVB?<+?.N:X-_N^NuNVB?<,N:T*(n8N^NuNVB?<-?.N:X-_N^NuNVB?</N:T(n(N^NuNVB?<0N:T*(n8N^NuNVB?<1/. ?.N;ZP-_N^NuNVB?<6(n * /?.N;ZP-_N^NuNVB?<9(n* /N;>\Jfz`zEN^NuNVB?<:(n* /N;>\Jfz`zEN^NuNVB?<;(n* /N;>\Jfz`zEN^NuNVB?<<(n* /?. N;ZP*(n8N^NuNVB?<=(n* /?. N;ZP*(n8N^NuNVB?<>?.N:XJfz`zE N^NuNVB?<??.(n //.N:O (n (N^NuNVB?<@?.(n //.N:O (n (N^NuNVB?<A(n* /N;>\Jfz`zEN^NuNVB?<B/.?.z. ?N;|O (n(N^NuNVJ. f*B?<C(n* /?<(n?N;|O -_N*B?<C(n* /Bg(n?N;|O *(n8N^NuNVB?<G(n * /?.N;ZP-_N^NuNVB?<H/. N;>\(n(N^NuNVB?<I/.N;>\Jfz`zE N^NuNVB?<JBg/. /.N:O Jfz`zEN^NuNV(n * /(n* /(n* /z.0?pK?* #yx*#y|*#yNA*yyx,yy|.yy*(n8N^NuNVB?<LN:TJfz`zE N^NuNVB?<N(n* /?. N;ZP*(n8N^NuNVB?<ON:T*(n8N^NuNVB?<VBg(n* /(n* /N:O -_N^NuNVJ.f&B?<WI * /?.BgN;|O -_N&B?<WI * /?.?<N;|O -_N^NuN:NVN^NQ.TMP.TMPNV:. nc=n N^NuN =n N^NuNV(n|/ HxHlNAP(_z(,f/ &nHS<NH\(_N@9|/ ?<'Hl :. ?&nHSN xO (_B,1B2z)E6Bl>B:N^NuNV(n,g`Nz:,>-EJg`N/ ?,Hn/,N@O (_*.JEl/ &nHS<NH\(_N^NuN*z:,>(.g/ &nHS<NH\(_N^Nu/ &nHSB'NH\(_*,:2c)l:2z)E6Bl>N^NuNV(n *,:2e/ &n HS<NH\(_N*,:p -E*.6g`N/ &n HSNDhX(_JgN^Nu)n6/ /.?,B'HnNAO (_-|/ ?,Hn/,N@O (_*.JEl/ &n HS<NH\(_N^Nu/ Bg*,:RE??,>NCX0(_?9_>-l&n*,:E$nPR:N^NuNV(n HTHnNE6P(n Jf((n HTHnNE6Pz.x.DE(n8N^NuNV(n *,:p -E*.6g`N/ &n HSNDhX(_JgN^Nu)n6/ /.?,B'HnNAO (_-|/ ?,Hn/,N@O (_*.JENq-l6/ /.?,B'HnNAO (_/ Bg*,:RE??,>NCX0(_?9_>-l&n*,:E PR:J.g *,:2c)l:2*,:Jf/ &n HSNDhX(_)l:6N^NuNV(n HT:. M.NFP(n Jf(n HTz:. .NFPN^NuNV(n J.g |N^NuNV(n:9y E e/ &nHS<NH\(_NN/ ?<2Hn:. ?&nHSN xO (_z0yyE/ BgHn?<2Hn/ Bg?<2HnN\0(_?:SE?N O(_Ryy/ ?<HyC?<2Hn/ Bg?<2HnN\0(_?:SE?N O(_/ &nHS?<2HnNCO (_JfV/ ?<2HnBgHlN@O (_Jll0/ &nHS<NH\(_/ B'/,NAX(_JNqN"||/ &nHSB'NH\(_N^NuNV(n,g`N/ B'?,N@lT(_Jg6/ B'?<'Hl N@\(_Jg/ &nHSB'NH\(_N/ &nHS<NH\(_/ B'/,NAX(_JNqNb/ &nHSNDhX(_Jf0/ B'?,N@lT(_Jf/ &nHS<NH\(_/ B'/,NAX(_JNqN^NuNV(n/ &nHS:.?&n HSNCO (_Jf`N/ :.?&n HSBgHlN@BO (_Jlm@|/ B?,<Hl2NAO (_/ B?,B'HnNAO (_NJ.gd|/ :.?&n HSBgHlN@O (_Jll4/ B'/,NAX(_JNq/ &nHS<NH\(_N^NuN2/ &nHS<NH\(_/ B'/,NAX(_JNqJ2fz`zEN^NuNV(n&nJf`N,f`N:9y E e/ &nHS<NH\(_Nz0yyE/ BgHn?<;Hn/ Bg?<;HnN\0(_?:SE?N O(_Ryy/ ?<HyC?<;Hn/ Bg?<;HnN\0(_?:SE?N O(_/ ?<'Hl ?<;HnNCO (_/ ?<'Hl ?<;HnN xO (_/ &nHSB'NH\(_NL/ ?<'Hl :. ?&nHSNCO (_/ ?<'Hl :. ?&nHSN xO (_N^NuNV(n HTNDhX(n -l:/ B'?,N@lT(_JNq/ ?<'Hl ?.HlN@BO (_/ /.BgB'HnNAO (_N^NuNV(n, g / &nHSBgNM|\(_N^NuNV(n, g"/ &nHS?<NM|\(_N^NuNV(n, g"/ &nHS?<NM|\(_N^NuNV(nN^NuNV(nN^NuNV(n *.p -E*.6g/ &n HSNDhX(_JgN^Nu/ /.?,B'HnNAO (_)n:/ &n HSB'NH\(_N^NuNV(n &n&:(n HTB'NH\N^NuNV(n &n&2(n HTB'NH\N^NuNV(nHTBNNPN^NuNV(nJ:f/ &nHS<NH\(_N/ &nHSB'NH\(_N^NuNV(n ,gj,g6,g/ &n HS<NH\(_N &n6@N(/ &n HS&nHSNFLP(_&n9S@N/ &n HS<NH\(_N^NuNV(n ,gr,g:,gz:,@&nN/ &n HS<NH\(_N,/ &n HS&nHSNE6P(_z&n9E@N/ &n HS<NH\(_N^NuNV(n ,g,/ &n HS?.,gz`zNGP(_N/ &n HS<NH\(_N^NuNV(n ,g,/ &n HS.,gz`zNFP(_N/ &n HS<NH\(_N^NuNCNVByyN^NR$NVp ?NA*Jgz`zEN^NuNVp?NA*(nN^NuNQNRDNV.?p?NAN^NuNRNRPNR>pN>NV#Ry#R*y#QyN^NTzNV(nHTNRX(nJf`N^NuNVJ9yg(nyB9yN4B'(yyNJg(nHT(yyNXN(nB(nyN^NuNVyN^NuNV.(yyNTN^NuNV< (yyNT< (yyNTN^NuNVBn:.n b(:.(nJ4Pg:.(n4PNSTRn`N^NuNVBn:.n b`NHyyNRX9y  fJnc`N9y g 9y fTJncJ<(yyNT<D(yyNT< (yyNT<(yyNT<D(yyNTSnND9y  b:.(nB4PN^NuN$:.(nyP9yNSTRnNN^NuNRJNVB9yN^N^Enter 'in' filename > Enter 'out' filename > pN>NVBn:.n b:.K (nJ4PgRn`=nN^NupNpN>NV:.?(nHTNS\yyBg:. ?(nHTNT\=_Bg:.?(nHTNT\=_Jncz`zyJ9yg`N:.SEK(n4P .f`N:.n8.Ee:. Ecz`zyJ9ygPBnJnc,:.K (n8.I&nP@RnRnSn`:.nb:.K(nB4PN^Nup N>NVNX?<HyTNSB\?<Hn:. ?(nHTNUO NSJ9ygFHyy?<HnB'NJO J9yfz`zyyzHyyNMXN^NupN>NVNXHyy:. ?(nHTB'NJO J9yfz`zyyzHyyNMXN^Nup N>NVNXb?<HyTNSB\?<Hn:. ?(nHTNUO NSJ9ygHHyy?<Hn<NJO J9yfz`zyyzHyyNN(XN^NupN>NVNXbHyy:. ?(nHT<NJO J9yfz`zyyzHyyNN(XN^NupN>NVJ9zg&HyyNIXJ9yfz`zyN yB9zN^NupN>NVJ9zg&HyyNIXJ9yfz`zyN yB9zN^NupN>NVJ9zgTJ9yg B9yN^NuHyy(nHTNPPJ9yf(n  f`J9yfz`zyN(nHTNRXyN^NupN>NVJ9zg`NBnHyyNXX9y  fJ9ygHyyNXX`:.n bNV?<HnNY0\J9yg:?<Hn?< <HxHnHyyN8OJ9yg *.(n8N^Nup$N>NV?<HnNY0\J9yg:?<Hn?< B'/<HnHyyN8OJ9yg *.(n8N^NupN>NVJ9zgd.  f0Hyy< NQz\J9yfHyy< NQz\NHyy.NQz\J9yfz`zyN*.  f NSN.NSTyN^NupN>NV< NZTN^NupN>NVBnyJ9yg::.n b0:.K (nJ4Pg:.K (n4PNZTRn`N^NupN>NVBg:.?(n HTNT\:._=EyJ9ygJno< NZTSn`:.?(n HTN[\N^Nup*N>NV:. JElDEH/?< Jn lz`z?<'HnHnN7ZO?<'Hn?.N[PN^Nup*N>NVz:. /?< B'?<'HnHnN7ZO?<'Hn?.N[PN^Nup,N>NVz:. /?<B'?<'HnHnN7ZOBg?<'HnNT\=_:.K'IBP:.REK'IB4P?<'Hn?.N[PN^Nup,N>NVz:. /?<B'?<'HnHnN7ZOBg?<'HnNT\=_:.K'IHP:.REK'IB4P?<'Hn?.N[PN^NuNTtpN>NVB9zB9zN^N^pN>NV.  e. ~b| N^NuN B. N^NupNpN>NVJ.e . c . f| N^NuN B. N^NupNpN>NVB'.N^(TJfB'.N^fTJg| N^NuN B. N^NupNN^pN>NVN^Ng\pN>NV*././NVX*<ڟ-E N^NupNpN>NVBn-|?Jnc>:.g$:.KEIz /4P/.N X-_:.M=ERn`-n N^NupNpN>NV(m:, E'c (mB,N((m&m:+K'I&mtP(mRlN^Nup8N>NV/-+N?<'HnNY0\yzJ9zg`NBnN_. -f|N_NB.. +fN_z0.b . 9c . .f`NZBnBnB. 0fN_`z0.bZ. 9bP:. Ed:z0x.E/N B/.N_XNVX-_RnNRnN_`. .fdN_z0.bV. 9bL:. Ed:z0x.E/N B/.N_XNVX-_RnSnN_`. ae zb_ Ef`NN_Bn. -f|N_NB.. +fN_z0.bT. 9bJz0x.E=DN_z0.b*. 9b z.8. ED0=DN_`NB9z+_N^NuJ.g :.nN :.nJ.fz`zzJ9zgpJnl*B:.DE?N_NT*/./NX-_N B?.N_NT/.N X-_J.g/. (n(N (n(NB9z+_N^Nup N>NVBn:. E8.IDI9@:. M=E Rn:.ng`Snz08.IDIt@NZTJng`N^NupN>NV/.N Xl<-NZT/.-_N< NZT*.MM(.vDDE??<NcX*.E??<NcX<'NZT*.x??<NcXN^NupN>NV/. N Xf,< NZTSn:. Ec`<0NZTN:. E b =|N]n< NZTSn:. Ec`/. N Xl<-NZT/. -_ N< NZT*. x=E:. Eel:.EMM=EB?.N_NT*/. /NX-_ =n/. /NV#A z #; z8#Bz$#:oz<#F@z(#8Qz@#L z,#6ŬzD#Zz0#57zH#tŮz4#3VzLBzPN^NmREMIND.DATREMIND.TMP REMIND for the ST Version 1.4 REMIND.TMPREMIND.TMP <<>> Output is in REMIND.TMP for printing - for Desktop.pN>NVHnN>X:.MM3|z:9|/N z:./N /NV?< HygNV\N^NupN>NVNXN^NupN>NVz-|!*<y|3|?9|?<?<HnNbO ?9|?<?<HnNbO ?9|?<?<HnNbO ?< HygNW\N[v?<+HyhN[\N[v?<(Hyh1N[\N[vN[v?<Hyh[N[\?<HnN[\9|!NZT?<HnN[\9|!NZT?<HnN[\N[vN[vN^NupN>NVzEIh{GzTzWHnNXXJ9yfN@z.E?<ZHyzTBgHn?<ZHyzTNO.  fN`N^Nu <N>NVrBgHntHntHntHntN(O=_rBnt n toN$:.tK EI9P n tlRnt`HnHnrHnvN+O ?.rN,T?.rN/NT?.rN,TN^NupN>NVIh|GzTzWBnHy{HnNPP:.KZIzTP:.RE=E.  d z.f J9{f`z8.IZIzT@N^NupN>NVNkHy{?< Hyh}B'NJO Hy{NMXBHy{/.NNPHy{HnNPPz .fzE.NZTRJ9{f`Hy{NIXN^NuNgVpN>NVB'?< HyhN@\|NhNiNjz| IhGzzWIhG{ zWIhG{^zW%z3{NkDB'?<ZHyzTBgHyzBgHy|NTO|J9|gF?<ZHyzT?<?<?<HyzNdO?<HyzHy|Hy{NO3{{NkDJ9ygBg?<ZHyzTN\: EbNB'?<ZHyzTBgHyzBgHy|NTO|J9|g`N?<ZHyzT?<?<?<HyzNdO?<HyzHy|Hy{NOBg?<ZHyzTN\3|:9|YE3|?<ZHyzT?<?9|?<ZHyzTNdO?<ZHyzTBg?<?<Hy{NdO?<Hy{Hy|Hy|NO?<ZHyzT?<?<?<Hy{NdO?<Hy{Hy|Hy| NO:9| E f:9| Ef3 |z:9| N By| N3| N3;| N3Z| N3x| N3| Nx3| Nl3| N`3| NT3| NH30| N<3O| N03m| N$N ".:FR^jvN:9| y| 3|z:9| N By|N3|N3;|N3Z|N3x|N3|N|3|Np3|Nd3|NX3|NL30|N@3O|N43m|N(N ".:FR^jvpN:9|y|3|:9|y|3|:9|y{b0:9| Ee$?<RHy{^N[\?<ZHyzTN[\:9| Ef`NxBg?<ZHyzTN\3|:9|E 3|?<ZHyzT?< ?9|?<ZHyzTNdO?<RHy{ N[\?<ZHyzTN[\Jy|f`NBg?<ZHyzTN\3|:9|E 3|?<ZHyzT?< ?9|?<ZHyzTNdO9| NZT?<RHyzN[\?<ZHyzTN[\J9|g 3{{NN[v?<:HyhN[\NiNXbNlHy|N` XN^Nu  <N*nD.X`"4         (          trv:^2D   ,F6,( ,& *   *P   *p * 0.0D   \    :nN$JF& (     0   . .   &&                                                                   XZ0 :&"$"2&"($$$$"""&&",,0*"2,&46(, .N000( N *b ,L6(" $BR("*"`0"6$& " ,.2*(0L& *"$<> :   :* ( 8<L^                   4         46$$<$<  6<$ 0(P>6 4 (&0 4 2\& (6*              $L   *               , *        .  tG..  tCMOVIES FRMt HHDBAUTO CMDt IMDISPLAYCMDt K MEDIT CMDt NMOVIES DATt PMSHEET BASt R5NMOVIES FRMt T~README DOCt URSMOVIES FRMt VTMOVIES FRMt WM = 4,L = 57,W = 80 y MOVIE LISTING BY CATEGORY n n 35,title MOVIE TITLE 5,tape TAPE# 15,category CATEGORIES 15,category1 * MOVIE DATA BASE * by Jim Luczak use movies go bott store # to rnum store 0 to cnt set console off do while cnt=0 erase set color to 0 @ 4,19 say 'V. C. R. M o v i e D a t a B a s e' set color to 2 @ 8,26 say '1' set color to 0 @ 8,28 say ' - ADD Movie Titles' set color to 2 @ 10,26 say '2' set color to 0 @ 10,28 say ' - EDIT Movie Titles' set color to 2 @ 12,26 say '3' set color to 0 @ 12,28 say ' - SORT Movie Titles' set color to 2 @ 14,26 say '4' set color to 0 @ 14,28 say ' - DISPLAY Movie Titles' set color to 2 @ 16,26 say '5' set color to 0 @ 16,28 say ' - END' set color to 2 @ 18,26 say 'Enter Choice ' set color to 0 wait to mmenu if mmenu='1' append else if mmenu='2' do medit else if mmenu='3' set color to 2 @ 20,26 say 'Sorting Movies By ' set color to 1 @ 20,45 say 'TITLE' set talk off index on title to tmovies set talk on @ 20,45 say 'TAPE I.D.' set talk off use movies index on Tape + start to nmovies set talk on @ 20,45 say 'ACTOR/ACTRESS' set talk off use movies index on title + star2 + star1 + star to smovies set talk on @ 20,45 say 'CATEGORY ' set talk off set color to 0 use movies index on category1 + category + title to cmovies set talk on else if mmenu='4' do mdisplay else if mmenu='5' store 1 to cnt endif endif endif endif endif enddo erase set console on return * MOVIE TITLE DISPLAY * by Jim Luczak store 0 to dcnt store 0 to dmenu store 0 to dprnt set console off do while dcnt=0 erase set color to 0 @ 4,19 say 'V. C. R. M o v i e D a t a B a s e' set color to 2 @ 6,30 say 'Movie Title Display' @ 8,26 say '1' set color to 0 @ 8,28 say ' - Display Titles to Screen' set color to 2 @ 10,26 say '2' set color to 0 @ 10,28 say ' - List Titles to Printer' set color to 2 @ 12,26 say '3' set color to 0 @ 12,28 say ' - Return to Main Menu' set color to 2 @ 14,26 say 'Enter Choice ' set color to 0 wait to dmenu if dmenu = '1' store 0 to dprnt store 1 to dcnt else if dmenu = '2' store 1 to dprnt store 1 to dcnt else if dmenu ='3' return endif endif endif enddo store 0 to dcnt store 0 to dmenu do while dcnt =0 set color to 0 @ 4,19 say 'V. C. R. M o v i e D a t a B a s e' set color to 2 @ 6,30 say 'Movie Title Display' @ 8,26 @ 8,26 say '1' set color to 0 @ 8,28 say ' - List Movies by Title' set color to 2 @ 10,26 @ 10,26 say '2' set color to 0 @ 10,28 say ' - List Movies by Tape I.D.' set color to 2 @ 12,26 say '3' set color to 0 @ 12,28 say ' - List Movies by Actor/Actress' set color to 2 @ 14,26 say '4 ' set color to 0 @ 14,28 say ' - List Movies by Category' set color to 2 @ 16,26 say '5' set color to 0 @ 16,28 say ' - Return To Main Menu' set color to 2 @ 18,26 say 'Enter Chioce ' set color to 0 wait to dmenu set console on if dmenu ='1' erase use movies index tmovies if dprnt=0 display all title,tape,start,category else set print on report form tmovies endif eject set print off wait erase else if dmenu ='2' erase use movies index nmovies if dprnt=0 display all tape,title,category else set print on report form nmovies endif eject set print off wait erase else if dmenu ='3' set console off set color to 2 @ 18,1 say 'Enter Actor/Actress Name ' @ 18,25 say ' ' set color to 0 accept to plr erase set console on use movies index smovies if dprnt=0 set color to 2 @ 1,5 say 'Actor/Actress --> ' @ 1,23 say plr @ 2,0 say ' ' set color to 0 display tape,title for ((star=plr) .OR. (star1=plr) .OR. (star2=plr)) else set print on report form smovies for ((star=plr) .OR. (star1=plr) .OR. (star2=plr)) endif eject set print off wait erase else if dmenu ='4' set console off set color to 2 @ 18,26 say 'Enter Category ' @ 18,41 say ' ' set color to 0 accept to cat erase set console on use movies index cmovies if dprnt=0 set color to 2 @ 1,5 say 'Movie Category --> ' @ 1,24 say cat @ 2,0 say ' ' set color to 0 display tape,title for ((category=cat) .OR. (category1=cat)) else set print on report form cmovies for ((category = cat) .OR. (category1 = cat)) endif eject set print off wait erase else if dmenu ='5' set print off store 1 to dcnt endif endif endif endif endif set console off enddo return * V.C.R. Movie Title Editor * by Jim Luczak store 0 to ecnt store 0 to enum go bott store # to rnum if # =0 return endif set console off do while ecnt=0 erase set color to 0 @ 1,19 say 'V .C .R. M o v i e D a t a B a s e' set color to 2 @ 3,31 say 'EDIT Movie Title' @ 5,14 say 'Control Q ' set color to 0 @ 5,24 say '= END Edit......Edit NOT SAVED' set color to 2 @ 6,14 say 'Control W' set color to 0 @ 6,24 say '= END Edit......Edit SAVED' set color to 2 @ 7,14 say 'Control A' set color to 0 @ 7,24 say '= Save Record...Back One Record' set color to 2 @ 8,14 say 'Control F' set color to 0 @ 8,24 say '= Save Record...Advance One Record' set color to 2 @ 9,14 say 'Control U' set color to 0 @ 9,24 say '= Toggles.......DELETE / UNDELETE Record' set color to 2 @ 13,26 say '1' set color to 0 @ 13,28 say ' - EDIT / DELETE by Record Number' set color to 2 @ 15,26 say '2' set color to 0 @ 15,28 say ' - FIND Title to EDIT / DELETE' set color to 2 @ 17,26 say '3' set color to 0 @ 17,28 say ' - Return to Main Menu' set color to 2 @ 19,26 say 'Enter Choice ' set color to 0 wait to memenu if memenu='1' set color to 2 @ 19,2 say 'Enter Record Number to EDIT ' @ 19,29 say ' ' set color to 0 input to enum if enum <= rnum ? enum go enum edit endif else if memenu='2' set color to 2 @ 19,2 say 'Enter TITLE to FIND ' @ 19,21 say ' ' set color to 0 accept to fchar use movies index tmovies find &fchar if # > 0 edit endif else if memenu='3' store 1 to ecnt endif endif endif enddo return H TITLE ( TAPE ) START , END 0 RUNTIME 4 STAR 9 STAR1 M STAR2 a CATEGORY u CATEGORY1  100 '********************* Movie Record Sheet Maker ********************** 110 '************************** By Jim Luczak **************************** 120 fullw 2:clearw 2:rez=peek(systab) 130 c0=0:c1=1:c2=2:c3=3:j=1:if rez=1 then c2=0:c3=0:j=2 140 color c2,1,1 150 poke contrl,103:poke contrl+2,1:poke contrl+6,1 160 poke intin,c1:poke ptsin,100:poke ptsin+2,100:vdisys(1) 170 poke contrl,32:poke contrl+2,0:poke contrl+6,1:poke intin,2:vdisys(1) 180 gotoxy 17/j,2 :?" V. C. R. M o v i e D a t a B a s e" 190 gotoxy 15/j,4:?"M o v i e R e c o r d S h e e t M a k e r" 200 color c0,1,1 210 gotoxy 18/j,6:?"This Program produces a Movie Data Form." 220 gotoxy 17/j,7:?"Standard 8 1/2 X 11 Paper Size is Assumed." 230 color c3,1,1 240 gotoxy 22/j,10:line input"How Many Sheets ( Q = Quit ) ",n$:n=val(n$) 250 if n$="Q" or n$="q" then color c1,1,1:clearw 2:end 260 if len(n$)=0 then 240 270 if n<1 or n>99 then goto 240 280 poke contrl,32:poke contrl+2,0:poke contrl+6,1:poke intin,2:vdisys(1) 290 color c2,1,1:gotoxy 29/j,12:?"P R I N T I N G":color c1,1,1 300 for x=1 to n:lprint:lprint:lprint 310 for y=1 to 4 320 lprint"Title"tab(40)"Title":lprint 330 lprint"Start Count"tab(40)"Start Count":lprint 340 lprint"End Count"tab(40)"End Count":lprint 350 lprint"Tape #"tab(40)"Tape #":lprint 360 lprint"Start Time"tab(40)"Start Time":lprint 370 lprint"End Time"tab(40)"End Time":lprint 380 for z=1 to 72:lprint"-";:next z:lprint:lprint 390 next y:lprint:lprint:lprint:next x 400 goto 100 M = 8,L = 57,W = 80 y MOVIE TITLES BY TAPE I.D. n n 6,tape Tape 43,title Movie Title 6,start Start 6,end End V.C.R. Movie Data Base This is a set of Command Files that can be used with H D Base or ( DB man I think ). HDBAUTO.CMD is the Main Menu file. It is named to autorun from H D Base. MSHEET.BAS is a Basic program that will Print Movie data forms. This Data Base will operate in Medium or High Resolution. M = 0,L = 57,W = 80 y MOVIE LISTING BY ACTOR/ACTRESS n n 25,title MOVIE TITLE 4,tape TAPE 15,star ACTOR/ACTRESS 15,star1 15,star2 M = 8,L = 57,W = 80 y MOVIE LISTING BY TITLE n n 6,tape Tape 8,start Start 43,title Movie Title 8,runtime Run Time #a000000 #b000000 #c???000?000<00