0 'LIBRIS.200(c)1989R.HESS 2 IFPEEK(1)-171THENBEEP:ENDELSEGOSUB150:MAXFILES=2:CLEAR3500:ONERRORGOTO10:DEFSTRA-N:DEFINTP-R,U,W-Z:XM=100:XF=50:DIMM(XM),F(XF),C(XF),QT(35):H=CHR$(34):B="0:LIBFYL.DO":KEYON:CALL20318 4 SO=PEEK(64756):GOSUB144 6 IFNOTEOF(1)THENLINEINPUT#1,F:IFLEN(F)<23THEN6ELSEQ=Q+1:M(Q)=F:GOTO6 8 CLOSE:GOTO188 10 BEEP:GOSUB146:IFERR=52THENPRINT@601,"Insert "B" disk. ";:GOSUB90:RESUME 12 IFERR=18THENBEEP:PRINT"LOAD DISK!! ";:GOSUB90:RESUMEELSE18 14 CALL29402,,O:IFERR=18THENCALL5570:ONERRORGOTO10:CALL20365:PRINT@CSRLIN*40,SPACE$(30):IFQCTHENGOSUB44ELSEGOSUB40:DM=STR$(TS-T\60)ELSE18 16 GOSUB146:RESUME152 18 CLS:PRINT"Err:"ERR" Line:"ERL" ":END 20 PC=40:QC=0:T=0:R=0:S=0:V=0:RESTORE42:FORX=-1962TO-1925:READY:POKEX,Y:V=V+PEEK(X):NEXT:IFV-6001THENERROR17ELSESOUNDOFF 22 GOSUB146:PRINT@601,"anual counter entry uto time log";:GOSUB92:QC=INSTR("Mm",I):IFQCTHEN26ELSEIFINSTR("Aa",I)=0THEN22 24 GOSUB146:PRINT"Cassette size: C-__";:PRINT@621,;:LINEINPUT"";CS:TS=VAL(CS):IFTS=0THEN24ELSETS=TS\2 26 GOSUB138:ONERRORGOTO14 28 L=SPACE$(7):M="comments."+CHR$(7)+CHR$(27)+"J"+CHR$(0):GOSUB40:S=T 30 O=VARPTR(M):O=PEEK(O+1)+256*PEEK(O+2):V=VARPTR(L):V=PEEK(V+1)+256*PEEK(V+2):KO="To end":GOSUB46:CALL63574,,V:GOSUB40 32 QA=ASC(L):IFQA=156THENJ="D"ELSEIFQA=208THENJ="C"ELSEJ="B" 34 KO="DON'T!":GOSUB46:CALL5570:DF=MID$(L,2)+"."+J+"c":IFQCTHENGOSUB44:GOTO38 36 DS="00:00":DM=MID$(STR$(T\60),2):MID$(DS,3-LEN(DM))=DM:DC=MID$(STR$(TMOD60),2):MID$(DS,6-LEN(DC))=DC 38 DS=SPACE$(6-LEN(DS))+DS:R=R+1:GOSUB66:CALL20365:PRINT@PC,LEFT$(DF,6)CHR$(ASC(J)+32)CQ:PC=PC+8:GOTO30 40 T=3600*VAL(TIME$)+60*VAL(MID$(TIME$,4))+VAL(MID$(TIME$,7))-S:RETURN 42 DATA229,205,192,21,205,16,136,205,200,21,254,156,202,111,248,254,208,202,111,248,254,211,194,90,248,6,7,225,119,205,200,21,35,5,194,114,248,201 44 GOSUB146:SD=0:BEEP:PRINT"Counter reading";:INPUT"";SD:IFSD<.5ORSD>1000THEN44ELSEDS=MID$(STR$(SD-.5),2,5):RETURN 46 GOSUB146:PRINTKO" press SHIFT/BREAK.":PRINT@PC,:RETURN 48 GOSUB138:D="ZZ"+CHR$(0)+CHR$(26)+SPACE$(24)+"F":C=SPACE$(10):SF=-1878:OPEN"COM:98N1DNN"FOROUTPUTAS1 50 RESTORE64:R=0:X=0:FORY=-1936TO-1896:READZ:POKEY,Z:X=X+PEEK(Y):NEXT:IFX-4615THENERROR17 52 PRINT#1,D;CHR$(1)CHR$(158):GOTO60 54 IFQLANDRMOD3=1THENPRINT" "; 56 IFQLTHENPRINTLEFT$(DF,6)CHR$(ASC(MID$(C,8,1))+32)RIGHT$(DS,5)" ";:ELSEIFQKTHENCK=CK+LEFT$(DF,6):QT(VAL(MID$(DF,5)))=VAL(DS)ELSEGOSUB66:PRINTDF;CQ; 58 PRINT#1,D;CHR$(2)CHR$(157) 60 V=VARPTR(C):CALL-1936,,PEEK(V+1)+256*PEEK(V+2):IFASC(C)THENR=R+1:DF=LEFT$(C,9):DS=STR$(PEEK(SF+1)+256*PEEK(SF+2)):DS=SPACE$(6-LEN(DS))+DS:GOTO54 62 CLOSE:IFQKTHENRETURNELSECALL20360:PRINT@600,SPACE$(40)R"files,"1280*PEEK(SF)"bytes free: press any...":GOSUB94:GOSUB92:IFR=0ORQLTHEN96ELSE152 64 DATA205,25,133,205,25,133,14,9,205,25,133,119,35,13,194,120,248,14,16,205,25,133,13,194,131,248,33,172,248,14,4,205,25,133,119,43,13,194,143,248,201 66 CQ=" ":IFR=66THENPC=40:GOSUB140:GOSUB46 68 IFR>XFTHENR=XFELSEF(R)=DF+" "+K+DS:IFQNTHENFORX=1TOQN:IFLEFT$(C(X),9)=DFTHENF(R)=F(R)+MID$(C(X),23,39):MID$(F(R),10,1)="<":CQ="<":RETURNELSENEXT 70 RETURN 72 IFQTHENPRINT@20,"Sources cataloged: " 74 PRINT@80,;:CALL20365:FORX=XBTOXB+49:IFX<=QTHENPRINT" "LEFT$(M(X),6)" ";:NEXT 76 CALL20360:RETURN 78 RP=0:RV=0:RN=0:QD=0:W=X:N=LEFT$(M(W),6):K=N:GOSUB210:UC=0:E="Disk":IFMID$(M(W),7,1)="c"THENUC=1:E="Cass" 80 GOSUB150:PRINT@126," Source Date Free Files ":CALL20365:PRINT@207,LEFT$(M(W),20)" "ASC(MID$(M(W),21,1))-128 82 GOSUB146:PRINT@561," pdate elete ename

rint file records dit/view records" 84 GOSUB92:QI=ASC(I)AND95:IFQI=85THEN114ELSEIFQI=68THEN112ELSEIFQI=80THENGOSUB208:RP=1:GOTO114ELSEIFQI=69THENRV=1:GOTO114ELSEIFQI=82THENRN=1:GOTO114ELSEIFQI=27THEN96ELSE84 86 XB=XB+50:IFXB>QTHENXB=1 88 GOTO96 90 PRINT"Press any key." 92 I=INKEY$:IFI=""THEN92ELSERETURN 94 FORTC=1TO3:CALL36809:NEXT:RETURN 96 R=0:QK=0:QL=0:RN=0:RV=0:QD=0:RP=0:GOSUB150:FORX=1TOXF:F(X)="":C(X)="":NEXT:GOSUB72 97 GOSUB146:PRINT@561,"Type 1-6 chr Source ID: ______. "CHR$(152)"=Page =Rvw =Srch =Done":PRINT@585,;:K="" 98 I=INPUT$(1):P=ASC(I):IFP=27THEN174ELSEIFP=9THEN142ELSEIFP=30THEN86ELSEIFP=127THEN192ELSEIFP>31ANDP<127THENK=K+I:PRINTI;:GOTO98ELSEIFP=8THEN97ELSEIFP<>13THEN98 100 IFK<"!"THEN96ELSEK=LEFT$(K,6):K=K+SPACE$(6-LEN(K)) 102 GOSUB148:IFQ=0THEN104ELSEFORX=1TOQ:IFLEFT$(M(X),6)=KTHEN78ELSENEXT 104 IFQ=XMTHENGOSUB146:BEEP:PRINTDB" FULL! ";:GOSUB90:GOTO96 106 Q=Q+1:N=K:GOSUB210:GOSUB212 108 GOSUB146:PRINT@562,"To ADD a NEW source "H;K;H" press isk or assette, else press .":GOSUB92:IFINSTR("Dd",I)THENUC=0:E="Disk"ELSEIFINSTR("Cc",I)THENUC=1:E="Cass"ELSEIFI=CHR$(27)THENQ=Q-1:GOTO96ELSE108 110 FT=K+CHR$(100-UC)+SPACE$(16):GOSUB148:GOSUB224:IFUCTHEN20ELSE48 112 GOSUB146:BEEP:BEEP:PRINT@601,"Delete ALL records of "H;N;H"? Y/N":GOSUB92:IFINSTR("Yy",I$)=0THEN96ELSEQD=1 114 GOSUB150:GOSUB144:GOSUB146:PRINT"Searching for "H;N;H" files.":CALL20365:PRINT@80,;:GOSUB134:QN=0:R=0:QF=0:Q1=0:Q2=0:GOSUB222:IFRVTHENPRINT@40,; 116 IFEOF(1)THEN126ELSELINEINPUT#1,F 118 IFMID$(F,11,6)<>NTHENPRINT#2,F:QF=1:GOTO116 120 IFLEN(F)>22THENQN=QN+1:C(QN)=F 122 IFR"#"THENERROR52ELSERETURN 146 LINE(0,111)-(239,111):CALL20360:PRINT@560,SPACE$(80):PRINT@604,;:GOSUB94:RETURN 148 GOSUB146:PRINT"Working...":RETURN 150 CLS:CALL20360:PRINT" -LIBRIS.200- (c)1989 R.W.Hess ":RETURN 152 GOSUB146:FORX=1TOXF:C(X)="":NEXT:PRINT"Press emarks or .":GOSUB92:IFI=CHR$(13)THEN172ELSEIFINSTR("Rr",I)=0THEN152 154 IFR=0THENRETURNELSEIFRNTHEN216ELSEGOSUB94:CALL20360:PRINT@560," Remark editor: "CHR$(152)CHR$(153)" scroll =Done Type & or erases":CALL20365:X=1 156 CALL20365:PRINT@520,SPACE$(40):PRINT@520,F(X):CN=MID$(F(X),23,17) 158 PRINT@542,CN;:I=INPUT$(1):P=ASC(I) 160 IFP=27ORP=13THEN166ELSEIFP=30THENX=X-1ELSEIFP=31THENX=X+1ELSEIFP=8THENPRINT@542,SPACE$(17):IFLEN(CN)THENCN=LEFT$(CN,LEN(CN)-1):GOTO158ELSE158ELSEIFP>31ANDP<127THENCN=CN+I:CN=LEFT$(CN,17):GOTO158ELSE158 162 IFX<1THENX=RELSEIFX>RTHENX=1 164 CN="":GOTO156 166 F(X)=LEFT$(F(X),22)+CN:IFLEN(CN)THENMID$(F(X),10,1)="<":ELSEMID$(F(X),10,1)=" " 168 CQ=MID$(F(X),10,1):IFRVTHENPRINT@39+X*8,CQELSEPRINT@79+X*10,CQ 170 IFP=27THEN172ELSE156 172 Q2=0:GOSUB180:CALL20365:PRINT@520,CHR$(27);"J":GOSUB144:CLOSE:OPENBDFORAPPENDAS1:FORX=1TOR:Q2=Q2+LEN(F(X))+2:PRINT#1,F(X):NEXT:CLOSE:GOSUB222:GOTO96 174 GOSUB150:GOSUB144:CLOSE:OPENBFOROUTPUTAS1:PRINT#1,"#Source Date Free LIB":FORX=1TOQ:PRINT#1,M(X):NEXT 176 RESTORE178:FORX=-4292TO-4286:READY:POKEX,Y:NEXT:MAXFILES=1:MENU 178 DATA77,55,69,49,69,78,78 180 IFRVORRNTHENRETURNELSEIFQCANDUCTHENFM=STR$(SD):FM=SPACE$(4-LEN(FM))+FM+"HI":GOTO186 182 IFUCTHENFM=SPACE$(4-LEN(DM))+DM+"mm":GOTO186 184 FM=STR$(1280*PEEK(SF)):FM=SPACE$(6-LEN(FM))+FM 186 MID$(M(W),9,15)=LEFT$(DATE$,5)+FM+" "+MID$(BR,5,2):MID$(M(W),21,1)=CHR$(128+R):RETURN 188 IFQ=0THEN96ELSEQK=1:CK="":GOSUB48:FORX=1TOQ:N=LEFT$(M(X),6):GOSUB210:IFINSTR(CK,LEFT$(BR,6))=0THENCLS:BEEP:BEEP:PRINT"NO "BD:END 190 NEXT:QK=0:CK="":XB=1:GOTO96 192 IFQ=0THEN96ELSEGOSUB150:GOSUB146:LINEINPUT"Search String: ";FR:IFFR=""THEN96ELSEFL=FR:FS=FR:GOSUB206:FR=FL:GOSUB146:PRINT"

rint or iew search results.":GOSUB92:IFINSTR("Pp",I)THENGOSUB208:FP="LPT:"ELSEIFINSTR("Vv",I)THENFP="LCD:"ELSE96 194 CLOSE:GOSUB204:OPENFPFOROUTPUTAS2:FORX=1TOQ:N=LEFT$(M(X),6):GOSUB210:CLOSE1:OPENBDFORINPUTAS1 196 IFEOF(1)THEN202ELSELINEINPUT#1,F:IFMID$(F,11,6)<>NTHEN196ELSEFL=F:GOSUB206:IFINSTR(FL,FR)=0THEN196 198 PRINT#2,F:IFCSRLIN=13THENGOSUB146:PRINT"More...";:GOSUB90:CLS:GOSUB204 200 GOTO196 202 NEXT:CLOSE:GOSUB146:BEEP:PRINT"Done... ";:GOSUB90:GOTO96 204 GOSUB146:PRINT"Searching for: "H;FS;H:PRINT@0," File Source Size Remarks"SPACE$(8):CALL20365:PRINT@80,;:RETURN 206 FORZ=1TOLEN(FL):MID$(FL,Z,1)=CHR$(ASC(MID$(FL,Z))OR32):NEXT:RETURN 208 IF(INP(187)AND6)<>2THENBEEP:GOSUB146:PRINT"PRINTER NOT READY! ";:GOSUB90:GOTO96ELSERETURN 210 TC=0:FORY=1TO6:TC=TC+ASC(MID$(N,Y,1)):NEXT:BR="LIB#00.DO":AR=STR$((TCMOD35)+1):RA=LEN(AR)-1:MID$(BR,7-RA,RA)=RIGHT$(AR,RA):BD="0:"+BR:TC=0:RETURN 212 IFQT(VAL(MID$(BR,5)))>FRE(0)-500THENBEEP:GOSUB146:PRINT"USE DIFFERENT ID! ";:GOSUB90:IFRNTHEN216ELSE96 214 RETURN 216 GOSUB146:PRINT"Rename "H;N;H;:LINEINPUT" as: ";A:IFA=""ORA<"!"THEN172ELSEA=LEFT$(A,6):A=A+SPACE$(6-LEN(A)) 218 FORX=1TOQ:IFLEFT$(M(X),6)=ATHENBEEP:GOSUB146:PRINT@600,H;A;H" ALREADY EXISTS! ";:GOSUB90:GOTO216 220 NEXT:N=A:GOSUB210:GOSUB212:FT=M(W):MID$(FT,1,6)=N:MID$(FT,22,2)=MID$(BR,5,2):GOSUB228:Q=Q+1:FORX=1TOR:MID$(F(X),11,6)=N:NEXT:GOSUB224:GOTO172 222 QT(VAL(MID$(BR,5)))=Q1+Q2:RETURN 224 QS=Q:FORX=1TOQ:IFFT>M(X)THENNEXT:X=Q 226 W=X:FORY=XTOQ:M(QS)=M(QS-1):QS=QS-1:NEXT:M(W)=FT:FT="":RETURN 228 FORX=WTOQ-1:M(X)=M(X+1):NEXT:M(Q)="":Q=Q-1:RETURN