0 'BIBLIO.100 1/2/88 R.W.HESS (See BIBDOC.100) V.3 rev.6/29/88 (count/dim/srch) 2 MAXFILES=3:CLEAR1600:GOSUB202:DIMA$(40):A$=INKEY$:IFA$="C"THEN32 4 DEFSTRA-B:ONERRORGOTO14 8 CLS:FR=FRE(0):GOSUB22:GOTO18 10 CLS:RN$="Cassette ":DV$="c":DS$=" 0#":GOTO152 12 CLS:RN$="Disk ":DV$="d":GOTO152 14 BEEP:CLS:IFERR=52THENPRINT@135,"No BIBFYL!":END 16 IFERR=7THENPRINT@135,"Need RAM!":ENDELSEEND 18 A=INKEY$:IFA=""THEN18 20 I=(INSTR("SADXCPRE",A)):IFITHENONIGOTO185,120,12,110,10,128,122,146ELSE18 22 GOSUB178:IFEOF(1)THEN14ELSELINEINPUT#1,O$:LINEINPUT#1,D$:IFLEFT$(O$,1)<>"#"THENERROR52ELSECLOSE:CLS:PRINT@15,"-BIBLIO-" 24 PRINT@44,"nnotate":PRINT@64,"isk update":PRINT@84,"earch":PRINT@104,"ass update" 26 PRINT@173,"-ref print":PRINT@215,"ecords":PRINT@281,"

urge"; 28 PRINT@296,FR;:PRINT@313,"xit"; 30 G=0:P$="":GOSUB150:RETURN 32 DV$="c":CLOSE:GOSUB176:GOSUB172:GOSUB202:DS$=INPUT$(6):OPENRF$FORAPPENDAS3:S=0:OPEN"COMTMP"FORINPUTAS1:N=0 34 N=N+1:IFNOTEOF(1)THENLINEINPUT#1,A$(N):GOTO34 36 GOSUB54 38 IFLEFT$(I$,5)="Found"THENGOSUB58:DF$=RIGHT$(I$,6):GOSUB56:GOSUB54:GOSUB42:DF$=DF$+T$:GOSUB92:GOSUB210:GOTO48 40 IFLEFT$(I$,4)="Skip"THENDF$=RIGHT$(I$,6)+".Cc":DS$=" #":GOSUB92:GOSUB56:GOTO36:ELSEGOSUB56:GOTO36 42 IFLEFT$(I$,2)="Ok"THENT$=".Bc":RETURN 44 IFLEFT$(I$,3)="?DS"THENT$=".Dc":RETURN 46 IFLEFT$(I$,3)="?IO"THENT$=".?c":RETURN 48 CLS:GOSUB202:K$="LOAD"+Q$+"CAS:"+R$+"RUN"+Q$+"BIBLIO"+R$+CHR$(67)+DS$ 50 GOSUB52:END 52 FORI=1TOLEN(K$):POKE65449+2*I,ASC(MID$(K$,I,1)):POKE65450+2*I,0:NEXT:POKE65450,I:RETURN 54 FORX=(65024+S)TO(65035+S):I$=I$+CHR$(PEEK(X)):NEXT:RETURN 56 I$="":S=S+40:RETURN 58 IFRIGHT$(I$,6)="END"THENCLOSE:KILL"COMTMP.DO":RN$="Cassette":GOTO98ELSERETURN 60 CLOSE:GOSUB176:ONERRORGOTO82:F=0:FS=0 62 R=0:FS$=CHR$(17)+CHR$(28):G$="COM:98N1DNN":GOTO66 64 OPENG$FORINPUTAS1:OPENG$FOROUTPUTAS2:OPENRF$FORAPPENDAS3:RETURN 66 CLS:GOSUB64:GOSUB86:K=0:L=1:M=6:R=0:GOSUB88:GOSUB74:IFKTHEN72 68 L=2:M=5:FORI=1TO39:IFKTHEN72 70 GOSUB88:GOSUB74:NEXTI 72 CLOSE:PRINT:PRINTF" files; ";100000-FS;" bytes free.":GOSUB144:GOTO98 74 A=INPUT$(11,1):IFLEFT$(A,2)<>FS$THENBEEP:PRINT"Disk error":END 76 IFASC(MID$(A,3,1))=0THENK=1:RETURN 78 DF$=RIGHT$(A,9):DS$=" ?":A=INPUT$(20,1):DS$=STR$(ASC(MID$(A,17))*256+ASC(MID$(A,18))):FS=FS+VAL(DS$) 79 DS$=SPACE$(6-LEN(DS$))+DS$ 80 PRINTDF$+" ";:GOSUB92:RETURN 82 IFERR<>54THENPRINT"Er:"ERR"L:"ERL:END 84 CLOSE:GOSUB64:RESUME80 86 PRINT#2,CHR$(7)CHR$(0)"ZZ"CHR$(7)CHR$(0)CHR$(24)CHR$(13);:RETURN 88 FORJ=1TO9:NEXTJ:PRINT#2,CHR$(5)"ZZ"CHR$(0)CHR$(26)CHR$(1);:PRINT#2,";DIS SP/CONT"CHR$(13)CHR$(10)"ERRL1"CHR$(9); 90 PRINT#2,"CALF"CHR$(L)CHR$(M);:RETURN 92 F=F+1:N=1 94 IFA$(N)<>""THENIFDF$=LEFT$(A$(N),9)THENMID$(A$(N),14,6)=DS$:PRINT#3,A$(N):A$(N)=" ":RETURN:ELSEN=N+1:GOTO94 96 PRINT#3,DF$+" "+ID$+DS$:RETURN 98 CLS:GOSUB150:PRINT@127,"Update another "RN$"?" 100 PRINT@215," " 102 A$=INKEY$:IFA$="Y"THEN152ELSEIFA$<>"N"THEN102 104 GOSUB202:K$=RF$+R$+R$:GOSUB52:RUNM"BIBSRT":POKE65450,0:RUN 106 CLS:IF(INP(187)AND6)<>2THENCLS:BEEP:BEEP:PRINT@130,"PRINTER NOT READY!!":END 108 PRINT@134,"PAPER READY?":GOSUB144:RETURN 110 GOSUB106:C=0:LPRINT"Cross-reference printed ";DATE$:LPRINTSTRING$(78,"="):LPRINT:LPRINT"Source ID's with last update:" 112 GOSUB178:LINEINPUT#1,O$:LINEINPUT#1,D$ 114 FORZ=2TOLEN(O$)STEP4:LPRINT" "MID$(O$,Z,4);" ";MID$(D$,(Z*2)-2,8);" ";:NEXT:LPRINT:LPRINT:LPRINT"Files:" 116 IFNOTEOF(1)THENLINEINPUT#1,PT$:LPRINTUSING"\ \";LEFT$(PT$,13);:C=C+1:GOTO116 118 LPRINT:LPRINTC"files cataloged":RUN 120 CLS:GOSUB202:J$=RF$+CHR$(0):J=VARPTR(J$):GOSUB150:CALL24079,0,PEEK(J+1)+256*PEEK(J+2) 122 R=0:CLS:PRINT"Currently cataloged sources and updates:";: 124 FORZ=2TOLEN(O$)STEP4:R=R+1:PRINTMID$(O$,Z,4);:P=(Z*2)-2:PRINTMID$(D$,P,8)" ";:IFR=3THENPRINT:R=0:NEXT:ELSENEXT 126 GOSUB144:RUN 128 BEEP:GOSUB178:GOSUB180:LINEINPUT#1,O$:LINEINPUT#1,D$:BEEP:BEEP 130 P$="":CLS:PRINT"I.D.'s filed:":FORZ=2TOLEN(O$)STEP4:PRINTMID$(O$,Z,3)" ";:NEXT:PRINT 132 PRINT:CALL17001:PRINT" Remove ALL records of?";:CALL17006:LINEINPUT" ";P$ 134 IFP$=""THENRUNELSEIFLEN(P$)>3THENBEEP:GOTO130ELSEP$=SPACE$(3-LEN(P$))+P$ 136 FORZ=2TOLEN(O$)STEP4:IFMID$(O$,Z,3)=P$THEN138ELSENEXT 138 O$=LEFT$(O$,Z-1)+RIGHT$(O$,(LEN(O$)-(Z+3))):P=(Z*2)-2:D$=LEFT$(D$,P-1)+RIGHT$(D$,(LEN(D$)-(P+7))):PRINT#2,O$:PRINT#2,D$ 140 IFEOF(1)THEN142ELSELINEINPUT#1,IN$:GOSUB148:IFMID$(IN$,11,3)=P$THEN140ELSEPRINT#2,IN$:GOTO140 142 GOSUB182:RUN 144 GOSUB150:PRINT@259," ":PRINT@280," Press Spacebar to continue.";:CALL24367:CLS:RETURN 146 CLS:CLOSE:POKE63067,77:POKE63068,55:POKE63069,69:POKE63070,49:POKE63071,69:GOSUB176:BEEP:IFHIMEM=60675THENCALL60675ELSEMENU 148 D=1-D:PRINT@259,CHR$(147+D):RETURN 150 SOUND(1108+(VAL(RIGHT$(TIME$,1))/2*400)),1:RETURN 152 CLS:FORN=1TO40:A$(N)="":NEXT:PRINT@84,;:GOSUB150:PRINT"Enter ";RN$;:LINEINPUT"I.D. >";I$:IFI$=""THEN98 154 IFLEN(I$)>3THENBEEP:GOTO152ELSEI$=SPACE$(3-LEN(I$))+I$:GOSUB172:GOSUB174 156 CLS:PRINT@135,"Working...":GOSUB178:GOSUB180:LINEINPUT#1,O$:LINEINPUT#1,D$:N=1 158 FORZ=2TOLEN(O$)STEP4:IFMID$(O$,Z,3)=ID$THENPRINT#2,O$:GOTO160ELSENEXT:O$=O$+ID$+DV$ 159 D$=D$+DATE$:PRINT#2,O$:PRINT#2,D$:GOTO162 160 P=(Z*2)-2:D$=LEFT$(D$,P-1)+DATE$+RIGHT$(D$,(LEN(D$)-(P+7))):PRINT#2,D$ 162 GOSUB148:IFEOF(1)THENGOSUB182:GOTO166ELSELINEINPUT#1,U$:IFMID$(U$,11,3)=ID$THEN164ELSEPRINT#2,U$:GOTO162 164 IFLEN(U$)>19THENMID$(U$,10,1)="<":A$(N)=U$:N=N+1:GOTO162:ELSE162 166 IFDV$="d"THEN60 168 OPEN"COMTMP"FOROUTPUTAS1:N=0 170 N=N+1:IFA$(N)=""THENCLOSE:GOTO48ELSEPRINT#1,A$(N):GOTO170 172 ID$=" 3B":RETURN 174 FORL=1TO3:POKEPEEK(VARPTR(ID$)+1)+256*PEEK(VARPTR(ID$)+2)+L-1,ASC(MID$(I$,L,1)):NEXT:RETURN 176 DATE$=LEFT$(DATE$,6)+"88":RETURN 178 CLOSE1:OPENRF$FORINPUTAS1:RETURN 180 CLOSE2:OPENTP$FOROUTPUTAS2:RETURN 182 CLOSE:KILLRF$:NAMETP$ASRF$:RETURN 185 CLS:L=0:GOSUB150:GOSUB178:PRINT@125,"Search String:";:LINEINPUT" ";S$:IFS$=""THENRUN 186 GOSUB150:PRINT@205,"isplay or

rint results? 187 H$=INKEY$:IFH$="D"THENGOSUB200:GOTO195ELSEIFH$<>"P"THEN187 188 GOSUB106:GOSUB200:LINEINPUT#1,TT$:LINEINPUT#1,TT$:TT$="" 189 IFEOF(1)THEN185 190 LINEINPUT#1,I$:IFINSTR(I$,S$)THENLPRINTI$ 191 GOTO189 195 IFEOF(1)THENGOSUB144:GOTO185 196 LINEINPUT#1,I$:IFINSTR(I$,S$)THENPRINTI$:GOSUB199 197 GOTO195 199 IFCSRLIN>6THENGOSUB144:GOSUB201:RETURNELSERETURN 200 LINEINPUT#1,TT$:LINEINPUT#1,TT$:TT$="" 201 CLS:PRINT@15,"Searching...":RETURN 202 Q$=CHR$(34):R$=CHR$(13):RF$="BIBFYL.DO":TP$="TTEMP.DO":RETURN 210 CLS:GOSUB150:PRINT@126,"Tape counter reading";:LINEINPUT": ";DS$ 212 IFDS$=""THENDS$=" #":RETURN 214 DS$=SPACE$(5-LEN(DS$))+DS$+"#":RETURN