1 LYNX IV BY WILL CORLEY 9 PENPAL 1 P 147 .PPCHRS 9 P 19 .PPLOAD 3 P 167 .PPMAIN 59 P 35 .PPSPRT 3 P 7 .PPTITL 40 P 98 .PPUTIL 7 P 21 PENPAL INDEXER 12 P 18 PENPAL DOC 67 S (ϟ< eC('ڟ"Q.7R`C{R.ߟ4|䧆LH1곍GJP3W>/fIЩ  -i/1.i02RwՍx yL.PPLOADvHAL.ML12 HALHAL BOOT=H~f~``~fff~~f`f~~fff~~f~`|<~ff~>``~ffff <``lxxlf8f~fff~ffff~fff~~ff~``~ff~~f```|`| |~ffff~fff<ff~~ff<~`~<00000<<00|06~< <<~0~~0ffffffff~`~~bf 0fF<`8`ff<  000 0 0f<~ffff~`~f~~f`~ff~~f~ff(53269,127:X6X1l)53263,SP%(X):53262,84:53269,255:198,0~*A$:A$""42+A$CR$46,A$" "XX1:40-42.53269,0:X52,110,276,336,314,47/"";:SC,2:BC,2:" RE YOU SURE [Y/N]?"'0X15:342::343:A$"N"2191RN0W051B2440M364738Z4RN015u5"";:BC,1:SC,1:3426"RITE ECORD "7" O YOU WANT TO:"8" 1. NTER A NEW RECORD.":" 2. DIT AN EXISTING RECORD."79" 3. ETURN TO THE MENU.":HN3:348:A58,66,21F:RN50061r;BC,2:SC,2:" ISK FILE FULL."<X15:342::353:52=251,68:252,192:49152:342:X1FI:N$(X)"":>ED0:N0:XNRN1:TNXN:TN$((TN),2,3):80:"";TN$?N1:81@NN1:NFI181#A62bBBC,1:SC,1:"DIT ECORD =ENU"~C342:X1FI:N$(X)"":D" ECORD NUMBER: ";:F10:LG3:356ERX(A$):76:XNRX:TNXN:393:411F251,92:252,192:49152GED1:N0:TN$((TN),2,3):80:"";TN$KHN1FI:80:"";N$(N);(SP$,LN%(N)(N$(N))):WIN1:81lJNN1:NFI181tK71LA$""52MRX1RX500RXRN" ECORD #"RX"OUT OF RANGE.":79NO341:66P783,0:781,Y%(N):782,X%(N):65520:QAA$N$(N):FL0:80R204,0XSA$:A$""A$QT$A$","A$":"A$""A$""A$IN$83TA$""A$""A$""A$CR$204,1:207,0:98UA$DE$94VA$""207,0:204,1:105WA$""W1:207,0:204,1:108XA$M$207,0:204,1:52"Y207,0:204,1:(AA$)LN%(N)FL091*Z825[FL93i\FL1:AA$A$:(SP$,LN%(N))"":80:AA$;:82]AA$AA$A$:A$;:82^AA$""82_LN%(N)(AA$)" ";:97`" ";aAA$(AA$,(AA$)1):82bLN%(N)(AA$)""6cN$(N)AA$:AA$"":80:"";N$(N);(SP$,LN%(N)(N$(N)))MdA$""A$CR$103aeA$""N1:81tfNN2:N0N0gED74h64iED107j251,68:252,192:49152:X1FI:N$(X)""::62k251,92:252,192:49152:X1FI:N$(X)""::71lED0(N$(1),1)"*"395 m416-nRN015Ho"";:BC,1:SC,1:342pSL$"RINT ECORD "qSL$" O YOU WANT TO:"r" 1. RINT ALL DATA.":" 2. RINT A REPORT OR LABELS"s" 3. ETURN TO MAIN MENU.":HN3:348:A116,138,21GtFL0:SL$" HERE ARE"RN"RECORDS IN THE FILE."ZuRN0341:21v" RINT RECORDS FROM: ";:F10:LG3:356:LR(A$)wLR1LRRN"";:118x" O: ";:F10:LG3:356:HR(A$) yHR1HRRN"";:120z211:A1131+{A3110[|LN0:4,4,7:XNLRHR:XN$((XN),2,3):411}4,"#"XN$4(XN$))N$(1)", "N$(2)", "N$(3)~4,5)N$(4)", "N$(5)", "N$(6)", "N$(7)4,5)N$(8)", "N$(9):4LNLN4:LN59LN0:4,(12) (203)62XNHR1XN:4:4:122JXNLRHR:411:XN$((XN),2,3):"#"XN$;a5)N$(1)", "N$(2)5)N$(3):5)N$(4):5)N$(5)", "N$(6)", "N$(7)5)N$(8)", "N$(9)::(653)1135(203)62XNHR1XN:353:122SL$" HERE ARE"RN"RECORDS IN THE FILE.".RN0341:21P" ETRIEVE ALL [Y/N]?":343`A$"N"143FL0:217:SNRN:X1SN:S%(X)D%(F,X)::165225:N0110FL1:217:SL$" EARCHING, PLEASE WAIT..."F4233:147240SL$""SN"MATCHES FOUND.":353$SN01102SN1165aFL0:217:" LEASE WAIT...":1,8,15:3892,8,2,"0:PP DATA FILE":389SX1SN:XNS%(SX):XN$((XN),2,3):393F154,157,1601,"P"(2)(LO)(HI)(PT%(1)):2,S1$1,"P"(2)(LO)(HI)(PT%(2)):2,S2$0S$(SX)S1$" "S2$:161Y1,"P"(2)(LO)(HI)(PT%(6)):2,S1$1,"P"(2)(LO)(HI)(PT%(5)):2,S2$S$(SX)S1$" "S2$:1611,"P"(2)(LO)(HI)(PT%(7)):2,S$(SX)S$(SX)S$(SX)("000",3(XN$))XN$SX:2:19HI(SN256):LOSNHI256:50248,LO:50249,HI:50265\X1SN:S%(X)((S$(X),3)):XSL$" OULD YOU LIKE TO PRINT:"" 1. REPORT":" 2. AILING LABELS"HN2:348:A2191211:A1182A3110SL$:" EPORT TITLE: ";:F11:LG24:356:TL$A$CLN0:PG1:4,4,7:4,TL$" /"PG:4:4pSX1SN:XNS%(SX):XN$((XN),2,3):4114,"#"XN$4(XN$))N$(1)", "N$(2);SY1(43(N$(1)N$(2))):4,".";:SYA$(N$(3),1):A$"_"A$"-"A$" "177 4,N$(3):LNLN1:4,50); 4,N$(4):LNLN1\ 4,37)N$(8)13(N$(8)))N$(5)", "N$(6)" "N$(7):LNLN1 LN55LN0:4,(12):PGPG1:4,TL$" /"PG:4:4 (203)62SXSN1 SX:4:4:168 SX1SN:XNS%(SX):XN$((XN),2,3):411!"#"XN$5)N$(1)", "N$(2)1!A$(N$(3),1):A$"_"A$"-"A$" "186?!5)N$(3)i!5)N$(4):5)N$(5)", "N$(6)", "N$(7)y!5)N$(8):!(653)1188!(203)62SXSN1!SX:353:168!211:A1203!A3110"SL$"":"UMBER OF COPIES: ";:F10:LG4:356:CP(A$)A"4,4,7:SY1CP:SX1SN:LN1:XNS%(SX):411^"4,N$(2)" "N$(1):LNLN1"A$(N$(3),1):A$"_"A$"-"A$" "198"4,N$(3):LNLN1"4,N$(4):4,N$(5)", "N$(6)" "N$(7):LNLN1"X16LN:4:X"(203)62SXSN1#SX:SY#4:4:1910#SX1SN:XNS%(SX):411I#5)""N$(2)" "N$(1)u#A$(N$(3),1):A$"_"A$"-"A$" "207#5)N$(3)#5)N$(4):5)N$(5)", "N$(6)" "N$(7):#(653)1208#(203)62SXSN1#SX:353:191$BC,1:SC,1:""SL$4$" O YOU WANT TO:":" 1. UTPUT TO SCREEN"h$" 2. UTPUT TO PRINTER":" 3. ETURN TO MENU"v$HN3:348$A1"":BC,6:SC,6$$SL$:FL219$" ORT BY:":220$" EARCH BY:" %" 1. AME":" 2. TATE / ITY":" 3. IP ODE"%FL" 4. EY"4%"":FLHN4:224=%HN3P%348:F(A$):%SL$" YPE IN UP TO TEN ENTRIES FOR SEARCH."%" RESS ON A BLANK LINE TO QUIT.":N0%NN1:N$((N),2,2)&" #"N$": ";:SI$(N)"":F11:LG32:356:SI$(N)A$&N10SI$(N)""227:&N1SI$(N)""N0:232D&NN1J&a&SN0:S11RN:FL0&ZI$KY$(S1):L3(ZI$):S21N:L(SI$(S2)):L2L3L1&S31L2:L21237&(ZI$,S3,L)SI$(S2)FL1&S3:S2:FL0239'SNSN1:S%(SN)S1:S$(SN)ZI$'S1:F'1,8,15:2,8,2,"0:PP DATA FILE":389:SN0:S11Nj'FL0:246:LLLI:FL1:246:ULLI'X1:243:S1:2:1:'XX1:SNSN1:S%(SN)D%(F,LLX)'XLLULSNSN1:'243'SI$SI$(S1):KD%(F,1):265'SI$ZI$261 (SI$ZI$250(MX1:FL0262<(SI$SI$(S1):KD%(F,RN):265M(SI$ZI$261^(SI$ZI$254r(MNRN:FL1263(MXRN:MN1(AV((MXMN)2):AVMN262(SI$SI$(S1):KD%(F,AV):265(SI$ZI$MXAV:255(SI$ZI$MNAV:255)FL0MXAV:255)FL1MNAV:255()MX1:MN08)FL0LIMXH)FL1LIMNN)) HI((K1)256):LO(K1)HI256:F266,269,272) 1,"P"(2)(LO)(HI)(PT%(1)):2,Z1$) 1,"P"(2)(LO)(HI)(PT%(2)):2,Z2$) ZI$Z1$" "Z2$:273* 1,"P"(2)(LO)(HI)(PT%(6)):2,Z1$>*1,"P"(2)(LO)(HI)(PT%(5)):2,Z2$W*ZI$Z1$" "Z2$:273*1,"P"(2)(LO)(HI)(PT%(7)):2,ZI$*(SI$,1)"?"275*SI$(SI$,(SI$)1):ZI$(ZI$,(SI$))**RN015+SL$"IEW & DIT EYS *=ELETE":FL0,+SL$;:BC,1:SC,1:342]+1,8,15:389:2,8,2,"0:PP KEY FILE,S,R":389|+2,K:K02:1:"":283+X1K:2,K$(X,1),K$(X,2)::2:1+293+" DD A KEY [Y/N]? ":343:A$"Y"297+K1287," DIT KEY [Y/N]? ":343:A$"Y"300G," ONTINUE [Y/N]? ":343:A$"Y"282T,FL021r, " LEASE WAIT... ",!1,8,15,"S0:PP KEY FILE":389:2,8,2,"0:PP KEY FILE,S,W":389,"2,K:K0292,#X1K:2,K$(X,1);CR$;K$(X,2);CR$;::FL0-$389:2:1:21-%SL$"":K0296:-&X1K:" #";((X),2,2);W-'5)K$(X,1)10)K$(X,2):c-("":-)K14" EY FILE FULL.":341:285-*KNK1:306:K$"*"K$(KN,1)""K$(KN,2)""KK1-+KK1:293:.," DIT KEY NUMBER: ";:F10:LG2:356.-KN(A$):KN1KNK300(..306B./K$"*"K1311:305V.0K$"*"K1K0a.1293:{.2K$"":D$"":FL1:SL$.3" #"((KN),2,2)5)"EY: ";:F11:LG16:356:K$A$.4K$"*"K$""310 /55)"ESCRIPTION: ";:F11:LG24:356:K$(KN,1)K$:K$(KN,2)A$/6/7KNK313H/8XKNK:Y12:K$(X,Y)K$(X1,Y)::T/9KK1:/:SL$"REATE ATA ISK ":SL$:342/;"  "/<"  : HIS PROCEDURE ERASES ALL "'0="  DATA AND CREATES A NEW DATA DISK. "X0>"  "j0?X15:342:0@" O YOU WANT TO DO THIS [Y/N]?":3440AA$"N"210BRN0W03240C4570DSL$:" LEASE INSERT DISK TO BE FORMATTED.":353<1E" ISK NAME: ";:F11:LG16:356:N1$A$:" LEASE WAIT..."R1F1,8,15,"U9":389n1G1,"N0:"N1$",00":3891H2,8,2,"0:PP DATA FILE,L,"(144):3891I1,"P"(2)(244)(1)(1):2,"END";CR$1J1,"P"(2)(1)(0)(1):2,0;CR$;1K389:2%2L2,8,2,"0:PP KEY FILE,S,W":2,0;CR$;:389:2X2M2,8,2,"0:PP DATA INDEX,S,W":2,0;CR$;:389:22N2,8,2,"0:PP KEY INDEX,S,W":2,"KEY INDEX";CR$;:389:22O1:RN0:W0:212PSL$"WAP ATA ISK ":SL$:3422QRN0W03393R457D3SSL$" NSERT NEWDISK IN THE DISK DRIVE.":353:446:21U3TT1100::g3UT11000::3VV1,65:V2,65:340:V1,64:V2,64:3W198,03XA$3YA$"Y"A$"N"A$M$3443ZA$M$213[ 4\HN$((HN),1):" OUR CHOICE [1-"HN$"]?":198,04]A$ 4^A$M$21:4_A(A$):A1AHN349@4`k4a" RESS ANY KEY TO CONTINUE.":198,0~4bA$:A$""3544c4dA$"":204,0:207,04eAA$:AA$""AA$QT$AA$","AA$":"AA$"@"3574fAA$CR$" ":204,1:5gAA$DE$(A$)0A$(A$,(A$)1):366#5hF1363A5i(AA$"0"AA$"9")357J5j364h5k(AA$" "AA$"")357z5l(A$)LG3575mA$A$AA$5nAA$;:3575oMXRN:MN1:RN05pRN13795qSI$D$(X):KD%(X,1):3805rLL$ZI$:SI$LL$MX1:3786sKD%(X,RN1):380.6tUL$ZI$:SI$UL$MXRN:379M6uNA((MXMN)2):NAMN378a6vKD%(X,NA):3806wSI$ZI$UL$ZI$:MXNA:3736xSI$ZI$MNNA:MXNA1:3736ySI$ZI$LL$ZI$:MNNA:3736zKRNMX1:D%(X,K1)D%(X,K):K6{D%(X,MX)VX:+7|HI((K1)256):LO(K1)HI256:X381,384,387T7}1,"P"(2)(LO)(HI)(PT%(1)):2,Z1$}7~1,"P"(2)(LO)(HI)(PT%(2)):2,Z2$7ZI$Z1$" "Z2$:38871,"P"(2)(LO)(HI)(PT%(6)):2,Z1$71,"P"(2)(LO)(HI)(PT%(5)):2,Z2$8ZI$Z1$" "Z2$:388*81,"P"(2)(LO)(HI)(PT%(7)):2,ZI$08R81,E,E$,T,S:E21E50E73n82:1:"";:BC,2:SC,28" ISK RROR: ";E;E$;T;S8X15:342::353:218HI((XN1)256):LO(XN1)HI256:81,"P"(2)(LO)(HI)(1):389:9X1FI:LX(N$(X))D9LX0(N$(X),1)" "N$(X)(N$(X),LX1):396\9N$(X)""N$(X)"-"c9X9393:1,8,15:2,8,2,"0:PP DATA FILE":3899X1FI191,"P"(2)(LO)(HI)(PT%(X)):2,N$(X);CR$;:X91,"P"(2)(LO)(HI)(1):KY$(XN)N$(FI)B:D$(1)N$(1)" "N$(2):D$(2)N$(6)" "N$(5):D$(3)N$(7):ED406r:1,"P"(2)(1)(0)(1):2,RN1;CR$;:RNRN1:X13:VXRN:367:X:2:1:58:X13:Y1RN:RXD%(X,Y)408:Y:YRN410:ZYRN:D%(X,Z)D%(X,Z1):Z;D%(X,RN)0:VXRX:367:X:2:1:66-;X1FI:N$(X)"":V;393:1,8,15:2,8,2,"0:PP DATA FILE"d;X1FI1;1,"P"(2)(LO)(HI)(PT%(X)):2,N$(X);:2:1:N$(FI)KY$(XN):;"";:BC,6:SC,6:342;" O YOU WISH TO DELETE RECORD [Y/N]? ":344 <A$"N"66,<" ECORD #"XN"DELETED."]<XNRN1,8,15:2,8,2,"0:PP DATA FILE":431<" ECORD #"RN"REPLACES #"XN"."<TNXN:XNRN:411:XNTN<N1FI:LX(N$(N))<LX1(N$(N),1)" "N$(N)(N$(N),LX1):424=N$(N)""N$(N)"-"=N6=393:1,8,15:2,8,2,"0:PP DATA FILE":389D=N1FI1w=1,"P"(2)(LO)(HI)(PT%(N)):2,N$(N);CR$;:N=1,"P"(2)(LO)(HI)(1):KY$(XN)N$(FI)=1,"P"(2)(1)(0)(1):2,RN1;CR$;=X13:Y1RN:XND%(X,Y)434=Y>YRN436%>ZYRN:D%(X,Z)D%(X,Z1):Z4>D%(X,RN)0W>Y1RN:RND%(X,Y)D%(X,Y)XNi>Y:X:RNRN1>X1FI:N$(X)""::2:1:66>" LEASE WAIT...":1,8,15:389>1,"S0:PP KEY INDEX":389:2,8,2,"0:PP KEY INDEX,S,W"?389:X1RN:2,KY$(X);CR$;::389:23?1,"S0:PP DATA INDEX":389Y?2,8,2,"0:PP DATA INDEX,S,W":389?X13:Y1RN:2,D%(X,Y):Y:X:2:1:?" LEASE WAIT..."?1,8,15,"I0":2,8,2,"$0":X1142:#2,A$:?N1$"":X143158:#2,A$:N1$N1$A$::23@XN0:2,8,2,"0:PP DATA FILE":389:393:394:2,RN:2^@" ISK AME: "N1$:" ECORDS:"RNs@RN0341:456@2,8,2,"0:PP DATA INDEX,S,R":389@X13:Y1RN:2,D%(X,Y):Y:X:2@2,8,2,"0:PP KEY INDEX,S,R":389AX1RN:2,KY$(X):KY$(X)KY$(X)(0)::2 A1:W0:SASL$:" OU MUST FIRST UPDATE AND CLOSE THE"rA" FILES ON THE DISK: "N1$A" AKE SURE IT IS STILL IN THE DRIVE.":353:440:,8,2,"$0":X1142:#2,A$:?N1$"":X143158:#2,A$:N1$N1$A$::23@XN0:2,8,2,"0:PP DATA FILE":389:393:394:2,RN:2^@" ISK AME: "N1$:" ECORDS:"RNs@RN0341:456@2,8,2,"0:PP DATA INDEBp88p  @~ 8888~x  8p8p <@ 0p8Ph<p88p  @~ 8888` 3333Uj3UUUUUWz^W*UjVUjjUU@@@UUUU@j@UUHbWWWWW333333333333jjzZZVV/// 333333333333^^^333333333333کoij@PZ@iUZTjoUXV^^~~ %%%ZZX`` %[oUj[333333333333UUUUWjj𫭭u5^zz׵u5555upppp] WWW]\\\\]zz^^WWWWUUUUUW|W^z]z^WW\iijjjzzz333333333333𿿿>?? // UUjjjjjjjzzzzzzzz333333333333//  .>/ jjjjjjjzzzzzzzz33333333333jU33U33ZZ/ *  PPWWUUTT?/  fCjjjZvzZUWUUUbHbsU333333333333333333UUUUUUUUUUUUUUUUUUUUꪪUUUꪪUUUUUUUUUUUU߾UUUU_ﭭUUU껪UUUUUU몺UUUꪪUUUꪮ_UUUUUUUU׾UUUU꺪UUUWꪪUUUUUU着WWWW׿33333333333333333333뿪~^^^^^ꪪꫪ33333333333333333333WUuUU]UU]uWUUUUuUWuUUWUUUUuUUUWUU]UU}u_UUUuU^^^^]WU_U]U]_UUU]]wUWUUUWUUWUUUuUUUU}UWwwW333333333333333333333333333333333333DGNNѴ3333333333333333NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDѪDDDDDD33333333DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF꾪ꪪDDDDDDDDUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVjꪺVUUUUo[VUUUUUUUUUUUUVV[啕UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUjUUUUUUUUUUUUUUUjUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUzz^W]VUUUUUUUo[VUUUUUUUVV[[啕UUUUꪪꪦVUU껺ꪪVVUUUUUUzz^^WꪪU啕VUUUꪪkjZ꺺ꪪ着着ꪪjZZWUUUUUUUUՕUUUUUUUUUUUUUUUUUUUUUUUUUUUUUꪪꪪ꺺UUUVUUUVjꪪ__VVUUUUUUUUյUUUUUUUUUUUUUUUUUUUUUUUꪯ꪿ꪾꪯꪺUꙪU着[[VVUUUUUUUUյUUUUUUUUꪪ몪ꪪ着UUUUVUUUU_jUUVj[着VVUUUUUUz^^WWWWUUUUW_ꪪ꿪ꪪ着UUUeZZkU着VUUUUUUUzz^WWUꪪUUUUUUUU啕UUUUUꪪ_UUUUUUUUUUUUUUUUUUUUUUUUUUo[[VUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVUffeeUeeeUUVVVUVUUeUeeUUVVVVUffffffUUUUUUffffUfffffUVVVVU뻻뻻YiiYYUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU       YYYYYYYYYYYYYYYYYYYYYYYYYYYYPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\PP\ᡡQQQPPQQQQQZ\PPPPPPPPPPPPPPPPPPPPPPPPPPPPP\  @A- M QaMMݠۀ[;KЁQ - ` @`@ PmPРA@9)-MPA@`I-0 AaaKI@i M M@P`Y ]`@@`@@ ]EU @啅Im٠@ P P9I M @@@@P``M M@@ `@P@0-MM@@@ @@`@@ PIYiII)AAU%EI@LLPYIJLLL I  ll I) LLL e)Y)̬̥ I , LL YY,L< LLLI L Il 73,238,74,158,208,3,238,75,158,160? 3,165,71,133,88,133,90,165,72,133 @ 89,133,91,24,165,88,109,72,158,1334A 88,165,89,109,73,158,133,89,24,165]B 90,109,74,158,133,90,165,91,109,75C 158,133,91,136,208,223,32,129,159,173D 71,158,240,163,48,161,32,240,159,162E 1,76,19,159,138,208,129,76,212,158F 96,160,0,140,71,158,177,88,141,760G 158,177,90,141,77,158,200,152,205,76YH 158,240,2,176,15,205,77,158,240,25I 144,23,169,1,141,71,158,76,239,159J 205,77,158,240,2,176,64,169,255,141K 71,158,76,239,159,140,69,158,160,1L 177,88,133,92,200,177,88,133,93,172)M 69,158,136,177,92,141,78,158,140,69RN 158,160,1,177,90,133,92,200,177,90|O 133,93,172,69,158,177,92,200,205,78P 158,208,3,76,144,159,144,180,76,175Q 159,96,160,2,177,88,72,177,90,145R 88,104,145,90,136,16,243,96,148,227141,760G 158,177,90,141,77,158,200,152,205,76YH 158,240,2,176,15,205,77,158,240,25I 144,23,169,1,141,71,158,76,239,159J 205,77,158,240,2,176,64,169,255,141K 71,158,76,239,159,140,69,158,160,1L 177,88,133,92,20 2.1 AILING IST ATABASE BY TEVE OERNER IS A DEDICATED MAILING LIST DATABASE PROGRAM FOR THE OMMODORE 64 AND 1541 DISK DRIVE. T USES AN INDEXED RELATIVE FILE FORMAT FOR RAPID, ACCURATE RECORD HANDLING. N INDEXED RELATIVE FILE STORES RECORDS IN A RELATIVE FILE ON A DATA DISK. HE INDEXES TO THAT FILE ARE ALSO STORED ON THE SAME DISK IN A SEQUENTIAL FILE FORMAT. HILE THE COMPUTER WILL TAKE CARE OF ALL THE FILE HANDLING, THERE ARE A COUPLE OF THINGS THAT YOU MUST KEEP IN MIND: 1) HE COMPUTER WILL REQUIRE CONSTANT ACCESS TO THE DATA DISK (NOT THE PROGRAM DISK, SEE BELOW). T IS IMPORTANT THAT YOU KEEP THE PROPER DATA DISK IN THE DRIVE WHILE THE PROGRAM IS RUNNING. OU MAY CHANGE DATA DISKS, BUT MUST DO SO ONLY WHEN PROMPTED BY THE PROGRAM. EE "WAP ATA ISK," BELOW. 2) HE INDEX FILES ARE CONSTANTLY UPDATED IN THE COMPUTER'S MEMORY WHILE THE PROGRAM IS RUNNING. HEN YOU WANT TO QUIT YOU MUST USE THE EXIT OPTION PROVIDED BY THE PROGRAM. HIS TELLS THE COMPUTER TO REWRITE THE INDEX FILES TO THE DISK, SO THEY WILL BE UPDATED AND READY TO USE THE NEXT TIME YOU WANT TO USE THAT DATA DISK. F YOU FAIL TO EXIT THE PROGRAM THIS WAY (FOR EXAMPLE, BY SIMPLY TURNING OFF THE POWER AT ANY POINT IN THE PROGRAM) YOU WILL LOSE ALL OF THAT NEW DATA. F THIS HAPPENS ACCIDENTALLY (THROUGH A POWER FAILURE), DON'T WORRY: ALL IS NOT LOST. EE "NDEX ECOVERY," PAGE 9. CAN STORE UP TO 500 RECORDS ON EACH DATA DISK. T USES A BINARY SEARCH ROUTINE TO HELP YOU FIND DATA, AND SORTS IT RAPIDLY WITH A MACHINE LANGUAGE SORT SUBROUTINE. EARCHES CAN BE CONDUCTED ON DATA OR USER-DEFINED KEY CODES. ATA CAN BE PRINTED TO THE SCREEN OR DIRECTED TO A PRINTER FOR REPORTS OR MAILING LABELS. HE PROGRAM IS COMPLETELY MENU DRIVEN, WITH NEARLY ALL KEYPRESS COMMANDS DISPLAYED ON THE SCREEN. CONSISTS OF SEVEN PROGRAM FILES: -- ROGRAM BOOT. . -- ASIC LOADER WITH SCREEN DISPLAY. . -- IT-MAPPED TITLE SCREEN. . -- HARACTER SET DATA. . -- PRITE DATA. . -- ACHINE LANGUAGE SUPPORT CODE. . -- AIN PROGRAM. N ADDITION, TWO MORE PROGRAM FILES SHOULD ALSO BE KEPT ON THE PROGRAM DISK: -- ASIC PROGRAM USED TO SORT INDEXES. -- HIS DOCUMENTATION, A SEQUENCIAL FILE. O LOAD THE PROGRAM, INSERT THE PROGRAM DISK IN YOUR DISK DRIVE AND TYPE: "",8,1 HE "1" IS IMPORTANT TO GET THE PROGRAM TO BOOT CORRECTLY. FTER A FEW SECONDS THE TITLE SCREEN WILL BE DISPLAYED AND THE REMAINING PROGRAM FILES WILL BE AUTOMATICALLY LOADED. HEN THE SCREEN WILL CLEAR AGAIN AND THE PROGRAM WILL PRINT: NSERT DATA DISK INTO DISK DRIVE. RESS ANY KEY WHEN READY OR ^ FOR MENU. EMOVE THE PROGRAM DISK FROM THE DRIVE AND INSERT YOUR DATA DISK, THEN PRESS ANY KEY. HE NAME OF THE DISK WILL BE DISPLAYED, ALONG WITH THE NUMBER OF RECORDS STORED ON IT. FTER A FEW SECONDS THE MAIN PROGRAM MENU WILL APPEAR. F YOU ARE USING FOR THE FIRST TIME YOU WILL NEED TO MAKE A DATA DISK. RESS "^" (THE UP-ARROW, LOCATED ABOVE THE KEY) TO GO DIRECTLY TO THE MENU, THEN SELECT THE OPTION "REATE ATA ISK." EE THE SECTION WITH THAT HEADING, BELOW, FOR DETAILS. HE PROGRAM'S MAIN MENU PRESENTS THE FOLLOWING OPTIONS: RITE ECORD RINT ECORD IEW & DIT EYS WAP ATA ISK REATE ATA ISK PDATE & XIT O SELECT AN OPTION, PRESS THE KEY UNTIL THE POINTER IS OPPOSITE THE ONE YOU WANT. HEN PRESS . HE PROGRAM WILL NOT CONTINUE FROM THIS POINT UNLESS A DATA DISK HAS BEEN PROPERLY INITIALIZED. F THAT HASN'T BEEN DONE, IT WILL RETURN TO THE ORIGINAL SCREEN ("NSERT DATA DISK INTO DISK DRIVE..."). HIS OPTION ALLOWS YOU TO PUT RECORDS IN THE FILE, AND EDIT PREVIOUSLY ENTERED RECORDS. HEN IT IS SELECTED YOU WILL SEE THE FOLLOWING MENU: O YOU WANT TO: 1. NTER A NEW RECORD. 2. DIT AN EXISTING RECORD. 3. ETURN TO THE MENU. RESS "3" IF YOU WISH TO RETURN TO THE MAIN MENU. NTERING A ECORD: O ENTER A RECORD, PRESS "1." SCREEN WILL BE PRINTED DISPLAYING THE FOLLOWING INPUT FIELDS (THE NUMBER IN PARENTHESES IS THE MAXIMUM NUMBER OF CHARACTERS ALLOWED): AST AME (16) IRST AME (24) RGANIZATION (24) TREET (30) ITY (19) TATE (2) IP (9) ELEPHONE (12) EY (16) RECORD NUMBER (ASSIGNED BY THE PROGRAM) WILL BE PRINTED IN THE UPPER RIGHT-HAND CORNER OF THE INPUT SCREEN. OU CAN NOW ENTER INFORMATION IN ANY OF THE FIELDS. FEW OF THE KEYS NOW HAVE DIFFERENT FUNCTIONS OR ARE USED FOR SPECIAL COMMANDS: : HIS KEY MOVES THE CURSOR TO THE FIRST POSITION OF THE NEXT FIELD. F THE CURSOR STARTS IN THE "EY" FIELD, IT WRAPS TO THE FIRST POSITION OF THE "AST AME" FIELD. ( ): OVES THE CURSOR TO THE FIRST POSITION OF THE PREVIOUS FIELD. F IT IS IN THE "AST AME" FIELD, IT DOES NOT WRAP TO THE "EY" FIELD. /: OVES THE CURSOR TO THE FIRST POSITION OF THE "AST AME" FIELD. /: LEARS THE INPUT SCREEN OF ALL DATA, AND MOVES THE CURSOR TO THE "AST AME" FIELD. : OVES THE CURSOR TO THE NEXT FIELD (SIMILAR TO EXCEPT IT DOES NOT REPEAT IF HELD DOWN). F7: AVES RECORD TO DISK AND ENTERS IT IN THE INDEXES. HIS PROCESS MAY TAKE SEVERAL SECONDS (UP TO A MINUTE IF THE DISK FILE IS GETTING FULL). HE DISK DRIVE WILL CLICK AND WHIRR SEVERAL TIMES; DON'T WORRY, THIS IS NORMAL. HEN THE SAVE IS COMPLETED A NEW INPUT SCREEN WILL BE DISPLAYED WITH THE NEXT AVAILABLE RECORD NUMBER. ERTAIN KEYS ARE PROHIBITED BECAUSE THEY HAVE SPECIAL MEANING FOR THE DISK DRIVE'S OPERATING SYSTEM: THE COLON, COMMA, AND QUOTE MARK. HE PROGRAM WILL NOT ALLOW YOU TO ENTER THEM. HE LEFT-ARROW KEY (LOCATED TO THE LEFT OF THE "1" KEY) HAS A SPECIAL MEANING WHEN IT IS ENTERED AS THE FIRST CHARACTER IN THE "RGANIZATION" FIELD. T TELLS THE COMPUTER TO IGNORE THAT LINE OF INFORMATION WHEN THE RECORD IS PRINTED. HIS ALLOWS YOU TO USE THAT FIELD AS A "SCRATCH PAD" TO STORE ADDITIONAL INFORMATION THAT YOU DON'T WANT PRINTED ON MAILING LABELS, ETC. FTER ENTERING DATA IN A FIELD, YOU MUST PRESS EITHER THE KEY OR THE / KEY TO ENTER THE DATA INTO THE COMPUTER'S MEMORY. HE DATA IS ENTERED WHENEVER THE CURSOR LEAVES THE FIELD. RESSING THE UP-ARROW ("^") KEY AT ANY TIME RETURNS YOU TO THE PRECEDING MENU. EEP IN MIND THAT DATA ISN'T FILED ON THE DISK UNLESS YOU PRESS THE F7 KEY FIRST. DITING A ECORD: RESS "2" TO EDIT A RECORD. PROMPT WILL THEN ASK YOU FOR THE NUMBER OF THE RECORD YOU WANT TO EDIT. YPE THE NUMBER AND PRESS . HE SCREEN WILL BE ALMOST IDENTICAL TO THE INPUT SCREEN USED FOR ENTERING RECORDS, AND THE RECORD DATA WILL BE PRINTED IN THE INPUT FIELDS. LL KEYS RETAIN THE SAME FUNCTIONS AS IN "NTERING A ECORD," ABOVE. AKE ANY CHANGES AND PRESS THE F7 KEY TO SAVE THEM ON THE DISK. HE ASTERISK KEY ("*") HAS A SPECIAL MEANING IN THIS MODE. F IT IS ENTERED AS THE FIRST CHARACTER IN THE "AST AME" FIELD, IT TELLS THE PROGRAM TO DELETE THAT RECORD FROM THE DISK WHEN THE F7 KEY IS PRESSED. PROMPT WILL THEN CHECK TO MAKE SURE YOU WANT TO DELETE THE RECORD (PRESSING "N" RETURNS YOU TO THE MENU, NO HARM DONE). AUTOMATICALLY "PACKS" THE FILE WHEN A RECORD IS DELETED TO KEEP IT FREE OF EMPTY RECORDS. HE LAST RECORD IN THE FILE IS MOVED TO TAKE THE PLACE OF THE ONE THAT IS DELETED. HIS RESERVES THE MAXIMUM AMOUNT OF SPACE FOR NEW RECORDS, BUT REMEMBER THAT IT ALSO CHANGES THE NUMBER OF THE RECORD THAT IS MOVED. EYS: HE FIELD LABELED "EYS" IS A SPECIAL ONE THAT ALLOWS YOU TO DEFINE CODES FOR SEARCHES AND SORTS. OU MAY PUT ANY COMBINATION OF CHARACTERS HERE, ALTHOUGH KEYS NEED ONLY BE ONE OR TWO CHARACTERS LONG. NY COMBINATION OF KEYS IS ALLOWABLE IN THIS FIELD; THERE IS NO NEED TO PUT A SPACE OR PUNCTUATION MARK BETWEEN THEM. OR EXAMPLE, IF YOUR FILE CONTAINS BOTH THE MEMBERS OF YOUR COMPUTER USER GROUP AND HAM RADIO CLUB, YOU COULD PUT A "C" HERE FOR THE FORMER, AND A "R" FOR THE LATTER. HANCES ARE THAT THERE ARE PERSONS IN BOTH GROUPS THAT ARE ON YOUR HRISTMAS CARD LIST. F YOU USED AN "X" AS THE KEY FOR THAT LIST, YOU MAY ENTER "CX" AND "RX" AS KEYS IN THE APPROPRIATE RECORDS. OME PERSONS MAY BELONG TO ALL THREE GROUPS. N THAT CASE, TYPING "CRX" IS PERFECTLY ACCEPTABLE. HIS OPTION ALLOWS YOU TO PRINT RECORDS TO THE SCREEN OR WITH YOUR PRINTER. T ALSO INCLUDES THE PROGRAM'S SEARCH AND SORT ROUTINES. HEN YOU SELECT THIS YOU WILL SEE THE FOLLOWING MENU: O YOU WANT TO: 1. RINT ALL DATA. 2. RINT A REPORT OR LABELS. 3. ETURN TO THE MAIN MENU. RESSING "3" RETURNS YOU TO THE MAIN PROGRAM MENU. RINT LL ATA: HIS DUMPS ALL DATA STORED IN THE FILE TO EITHER THE SCREEN OR YOUR PRINTER. OU CAN INPUT A RANGE OF VALUES TO BE PRINTED OUT; TYPE IN THE LOW AND HIGH RECORD NUMBERS WHEN PROMPTED. O PRINT ONE RECORD, JUST TYPE IN IT'S NUMBER FOR BOTH LOW AND HIGH VALUES. FTER TYPING IN THE RANGE OF RECORD NUMBERS YOU WILL BE ASKED IF YOU WANT TO DIRECT THE DATA TO THE SCREEN OR PRINTER. F IT'S DIRECTED TO THE SCREEN, THE RECORDS WILL SCROLL UNTIL ALL OF THEM HAVE ALL BEEN PRINTED. RESS EITHER ONE OF THE KEYS TO HALT THE SCROLLING TEMPORARILY; PRESSING THE / KEY FREES BOTH HANDS FOR TAKING NOTES (PRINTING RESUMES WHEN IT IS PRESSED AGAIN). ATA DIRECTED TO THE PRINTER WILL BE PAGED BUT THE PAGES WILL NOT BE NUMBERED. O ABORT PRINTING TO THE SCREEN OR THE PRINTER, PRESS "Q." OU MAY HAVE TO HOLD THE KEY DOWN FOR A SECOND OR TWO. RINT EPORT OR ABELS: HIS OPTION ALLOWS YOU TO SEARCH THE FILE FOR SPECIFIC RECORDS, SORT THEM, AND PRINT THEM OUT EITHER AS A REPORT OR AS MAILING LABELS. HE PROGRAM WILL FIRST ASK IF YOU WANT TO RETRIEVE ALL OF THE RECORDS. RESS "Y" IF YOU WANT TO SORT THE ENTIRE FILE. YPING "N" ALLOWS YOU TO CONDUCT A DETAILED SEARCH. EARCHES: OU MAY TYPE IN UP TO TEN ENTRIES (SEARCH IMAGES) FOR A SEARCH. OR ANY SINGLE SEARCH, YOU SHOULD KEEP THE ENTRIES CONFINED TO THE SAME SEARCH FIELD. ERE IS HOW THE COMPUTER SEES THE DATA IN YOUR RECORDS DURING SEARCHES AND SORTS: AST AME IRST AME TATE ITY IP ODE O, FOR EXAMPLE, IF YOUR ADDRESS IS OHN MITH, .. OX 123, ROOKLYN, , 10000, THE COMPUTER WOULD SEE IT LIKE THIS DURING SEARCHES AND SORTS: MITH OHN ROOKLYN 10000 HE FIELDS ARE REVERSED TO MAKE SURE THAT THEY ARE CORRECTLY SORTED. O, FOR EXAMPLE, OHN MITH COMES BEFORE OBERT MITH, AND LBANY, BEFORE ROOKLYN, . HEN YOU TYPE IN YOUR SEARCH IMAGES, YOU SHOULD THEREFORE FOLLOW THIS FORMAT. F YOU ARE SEARCHING THE "AME" FIELD, TYPE THE PERSON'S LAST NAME FIRST, THEN A SPACE, THEN THE FIRST NAME. OR "TATE/ITY," TYPE THE ABBREVIATION FOR THE STATE, THEN A SPACE, THEN THE CITY. HE "?" KEY HAS A SPECIAL MEANING WHEN YOU ARE TYPING IN THE SEARCH IMAGES. F IT IS TYPED AS THE LAST CHARACTER OF A SEARCH IMAGE, IT MAKES THAT ENTRY A "WILDCARD." O, FOR EXAMPLE, IF YOU WOULD LIKE TO FIND ALL OF THE PERSONS IN YOUR FILE WHOSE LAST NAME IS MITH, YOU WOULD TYPE MITH? AS A SEARCH IMAGE. F YOU WOULD LIKE TO FIND ALL OF THE PERSONS WHOSE LAST NAME BEGINS WITH "", YOU WOULD TYPE: ? IMILARLY, TO FIND ALL OF THE PEOPLE LIVING IN KLAHOMA, YOU WOULD TYPE: ? ILDCARDS AREN'T NECESSARY FOR SEARCHING THE KEY FIELD. NTRIES TYPED IN FOR A SEARCH MAY BE A MAXIMUM OF 34 CHARACTERS LONG. HEN YOU ARE DONE ENTERING THEM, PRESS ON AN EMPTY LINE TO CONTINUE. F YOU DECIDE YOU DON'T WANT TO ENTER ANYTHING FOR A SEARCH, PRESSING ON THE FIRST LINE WILL RETURN YOU TO THE MENU. FTER ENTERING THE SEARCH IMAGES, YOU WILL BE ASKED WHICH OF FOUR FIELDS YOU WISH TO SEARCH: AME, TATE/ITY, IP ODE, OR EY. RESS THE APPROPRIATE NUMBER TO START THE SEARCH, WHICH SHOULD TAKE JUST A FEW SECONDS. HE MORE RECORDS IN THE FILE, AND THE MORE SEARCH IMAGES YOU ENTERED, THE LONGER THE SEARCH WILL TAKE. ORTING: FTER A SEARCH THE PROGRAM WILL DISPLAY HOW MANY RECORDS WERE FOUND. OU WILL THEN BE GIVEN THE OPPORTUNITY TO SORT THEM ON ANY OF THREE FIELDS: AME, TATE/ITY, OR IP ODE. RINTING: HEN THE SORT IS COMPLETED, YOU MAY PRINT YOUR DATA AS A REPORT OR MAILING LABELS. ITHER WAY, YOU CAN CHOOSE TO PRINT THE INFORMATION TO THE SCREEN OR ON THE PRINTER. NFORMATION PRINTED TO THE SCREEN WILL SCROLL, AND IN THIS MODE THE AND "Q" KEYS FUNCTION AS DESCRIBED ABOVE. HEN FINISHED, THE PROGRAM WILL GIVE YOU THE OPTION TO PRINT THE SAME DATA AGAIN. HIS ALLOWS YOU TO PREVIEW IT ON THE SCREEN BEFORE SENDING IT TO THE PRINTER FOR A HARD COPY. F YOU CHOOSE TO MAKE A HARD COPY OF YOUR REPORT YOU CAN TYPE IN A TITLE UP TO 24 CHARACTERS LONG. HE TITLE WILL BE PRINTED ON EACH NUMBERED PAGE OF THE REPORT. OR MAILING LABELS, THE PROGRAM WILL ASK FOR THE NUMBER YOU WOULD LIKE TO HAVE PRINTED. T WILL ACCEPT ANY AMOUNT FROM 1 TO 9999. T IS DESIGNED TO USE STANDARD ONE INCH LABELS. & HIS OPTION PROVIDES A SIMPLE "SCRATCH PAD" FOR YOU TO TYPE IN DESCRIPTIONS OF KEY CODES. T IS INCLUDED ONLY AS A CONVENIENCE AND IN NO WAY AFFECTS THE OPERATION OF THE MAIN PROGRAM. UST FOLLOW THE PROMPTS TO INPUT THE KEY CODES AND SHORT DESCRIPTIONS. HERE IS ROOM FOR 15 KEYS. O DELETE A KEY FROM THE SCRATCH PAD, FOLLOW THE PROMPTS TO EDIT IT, THEN ENTER AN ASTERISK ("*") AS THE FIRST CHARACTER. T WILL BE DELETED WHEN YOU PRESS . SE THIS OPTION TO SWITCH TO A DIFFERENT DATA DISK. F YOU HAVE ADDED ANY NEW DATA TO THE FIRST DISK, YOU WILL HAVE TO LET THE PROGRAM UPDATE AND CLOSE THE FILES ON IT BEFORE CHANGING TO THE NEW ONE. UST FOLLOW THE PROMPTS. DISK MUST FIRST BE FORMATTED ("CREATED") BY THE PROGRAM BEFORE YOU CAN USE IT AS A DATA DISK. ELECT THIS OPTION TO DO THIS. : HIS ROUTINE PERMANENTLY ERASES ALL DATA PREVIOUSLY STORED ON A DISK. AKE SURE THAT THE DISK IN THE DRIVE IS EITHER A NEW DISK OR ONE THAT HAS DATA ON IT THAT YOU NO LONGER NEED! (OU MAY WANT TO MAKE SURE THAT YOU AREN'T ERASING YOUR PROGRAM DISK.) HE PROGRAM FIRST DOUBLE CHECKS TO MAKE SURE IF YOU WANT TO GO AHEAD WITH THIS OPTION. F YOU CHOSE IT BY MISTAKE, TYPE "N" AND YOU WILL BE RETURNED TO THE MAIN MENU. EFORE CREATING THE DATA DISK YOU WILL BE ASKED TO NAME IT. HE NAME MAY BE A MAXIMUM OF 16 CHARACTERS LONG. T WILL TAKE A FEW MINUTES TO FORMAT THE DISK AND SET UP ALL OF THE NECESSARY FILES. HEN FINISHED THE PROGRAM WILL RETURN TO THE MAIN MENU. & HEN YOU ARE FINISHED USING YOU MUST SELECT THIS OPTION TO QUIT. HEN YOU DO THE PROGRAM FIRST CHECKS TO SEE IF ANY NEW DATA WAS ADDED TO THE DISK FILE. F IT WAS THEN THE DISK INDEX FILES ARE UPDATED BEFORE THE PROGRAM AUTOMATICALLY TERMINATES ITSELF. HE INDEX FILES ARE STORED AND CONTINUALLY UPDATED IN THE COMPUTER'S MEMORY WHILE THE PROGRAM IS RUNNING. F THE PROGRAM IS ACCIDENTALLY INTERRUPTED WHILE IT IS RUNNING (SHUTTING THE COMPUTER OFF, POWER FAILURE, ETC.), THE INDEXES WILL BE LOST AND AS A RESULT YOUR DATA DISK WILL BE SCRAMBLED. HE INFORMATION STORED IN THE RECORDS (IN THE RELATIVE FILE) WILL BE CORRECT, BUT THE INDEXES (STORED IN THE SEQUENTIAL FILES) WILL NOT BE. F THIS HAPPENS, REMOVE THE DATA DISK AND FLIP THE SWITCH OF THE COMPUTER OFF, THEN BACK ON. HIS CLEARS FROM ITS MEMORY. HEN INSERT THE PROGRAM DISK AND ENTER: " ",8 HIS IS A PROGRAM THAT WILL READ THE DATA STORED IN THE RECORD FILE, THEN SORT IT TO CREATE A NEW INDEX FILE. O START IT INSERT THE SCRAMBLED DATA DISK IN THE DRIVE, THEN TYPE "" AND PRESS . EAVE THE DATA DISK IN THE DRIVE UNTIL THE PROGRAM IS COMPLETED. F COURSE, THE BEST INSURANCE IS TO MAKE A BACKUP COPY OF EACH OF YOUR DATA DISKS. OU MUST USE A DISK BACKUP PROGRAM (NOT A SIMPLE PROGRAM COPIER) TO MAKE EXTRA COPIES OF THE DATA DISKS. WILL NOT HARM UNSCRAMBLED DISKS. O IF YOU SUSPECT THAT YOUR FILES HAVE BECOME SCRAMBLED, IT WON'T HURT TO GO AHEAD AND USE IT TO RESORT THEM. : REDIT WHERE IT IS DUE: HIS PROGRAM IS BASED ON , A PROGRAM WRITTEN BY OB ICKOW. LSO, THE SORT ALGORITHM USED IS THE "UPER HELL ORT FOR THE AND 64" BY OHN ISHER, PUBLISHED IN OMPUTE!'S OMMODORE OLLECTION, OLUME NE (OMPUTE! UBLICATIONS NC., REENSBORO, ORTH AROLINA, 1984). IS IN THE PUBLIC DOMAIN, SO PLEASE FEEL FREE TO PASS IT ALONG TO A FRIEND. DDRESS ALL SUGGESTIONS, AND REPORT ANY BUGS, TO: TEVE OERNER 36 INSTON OODS ROCKPORT, 14420