Listing of file='609@lib1' on disk='vmedia/731-0067G.wvd.zip'
# Sector 2065, program filename = '609@lib1'
0010 REM 609@lib1, Release 01-00, (01/31/81) - Copyright Wang Laboratories, In
c.
0105 COM T5(2),C3$1,B9$
: DIM A0$(4)62,C4$8,C7$6,T2$2,D1$43
0130 DIM S5(2),S0(2),S3(2),T1$(55)60,S1$(55)2,T1(15),S6(15),U2$(12)4
: DIM S1(15),T2$(15)80,T2(5),S7(5),S2(5),S4(5),U1$(8)
: DIM T5$(5)25,S2$(50)2,S1$6,S2$1,T1$80,V0$(1)1,V2$(256)1,V1$(3)82
: DIM S0,S4,S5,S6,S7,S9,T0,T2,T3,T5,T6,T7
0170 S2=4
: S3=15
: DATA LOAD DC OPEN T#0,"609@DEVC"
: DATA LOAD DC A0$()
: SELECT #5<STR(A0$(),2,3)>
0210 DATA LOAD DC OPEN T#5,"609@ARCH"
0215 DBACKSPACE #5,BEG
: DSKIP #5,1S
: PRINT HEX(0306);
: T5(1)=1
: RESTORE LINE2380
: GOSUB '61
: FOR C=1TO 52
: DATA LOAD DC #5,A0$()
: IF STR(A0$(),2,8)<>" "THEN T1$(C)=T1$(C)&" "&STR(A0$(),2,8)
: NEXT C
0285 GOSUB '62
: ON T5+2GOTO 305,305,320
: PRINT HEX(07);
: GOTO 285
0305 COM CLEAR C
: LOAD T"609menu"
0320 DBACKSPACE #5,BEG
: DSKIP #5,T5(1)S
: DATA LOAD DC #5,A0$()
: C3$=STR(A0$(),1,1)
: C4$=STR(A0$(),2,8)
: CONVERT STR(A0$(),10,4)TO C1
: CONVERT STR(A0$(),14,4)TO C2
: IF T5(2)=2THEN 405
: IF C4$<>" "THEN 385
: GOSUB 2170
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 285
0385 IF T5(2)=1THEN 795
: ELSE GOTO 1025
0405 PRINT HEX(0306);
0410 RESTORE LINE2530
: GOSUB '61
: GOSUB 2190
: T2$(1)=B2$
: T2$(5)=C3$
: T5$(1)=C4$
: CONVERT C1TO T5$(3),(####)
: CONVERT C2TO T5$(4),(####)
: T5$(5)=STR(A0$(),18,25)
: R5$="0000"&C3$
0470 GOSUB '62
: ON T5+2GOTO 215,215,495
: PRINT HEX(07);
: GOTO 470
0495 GOSUB 2020
: IF D4=0THEN 525
: PRINT AT(23,0);B5$(2);D1$;B5$(1);HEX(07);
: GOTO 470
0525 GOSUB 1240
: IF D4=0THEN 560
: GOSUB 2210
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 470
0560 B9$=STR(U1$(),VAL(T2$,2))
: IF T5$(2)=STR(B9$,9,8)THEN 590
: GOSUB 2250
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 410
0590 C3=INT(VAL(T2$,2)/16)+SGN(MOD(VAL(T2$,2),16))
: SELECT #6<STR(U2$(C3),1,3)>
: ERRORGOTO 635
0600 LIMITS T#6,STR(B9$,,8),C6,C6,C6,C6
: ERRORGOTO 625
0605 IF C6=2THEN 655
: GOSUB 2210
0615 PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 470
0625 GOSUB 2270
: GOTO 615
0635 GOSUB 2230
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 470
0655 C7$=" "
0670 B0$="DOCUMENT."&C3$&".0000"
: GOSUB '217(1,1,B0$,B9$)
: IF R1$=HEX(03)THEN 775
: PRINT AT(22,0);" "
: RESTORE LINE2700
: GOSUB '61
: T5$(1)=C4$
0725 GOSUB '62
: ON T5+2GOTO 215,215,745
: PRINT HEX(07);
: GOTO 725
0745 IF T5(1)=1THEN 775
: GOSUB 1320
: GOTO 215
0775 GOSUB 1320
: A5$()="609@lib2RECMGR JCATSMAL"
: LOAD T<3>A5$()
0795 RESTORE LINE2530
: PRINT HEX(0306);
: GOSUB '61
: GOSUB 2290
: T2$(1)=B2$
: T2$(5)=C3$
: T5$(1)=C4$
: CONVERT C1TO T5$(3),(####)
: CONVERT C2TO T5$(4),(####)
: T5$(5)=STR(A0$(),18,25)
0845 GOSUB '62
: IF T5=0THEN 215
: GOSUB 2020
: IF D4=0THEN 895
: PRINT AT(23,0);B5$(2);D1$;B5$(1);HEX(07);
: GOTO 845
0895 GOSUB 1240
: IF D4=0THEN 925
: GOSUB 2210
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 845
0925 B9$=STR(U1$(),VAL(T2$,2))
: IF T5$(2)=STR(B9$,9,8)THEN 960
: GOSUB 2250
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: T5$(2)=" "
: GOTO 845
0960 B0$="DOCUMENT."&C3$&".0000"
: GOSUB '217(1,1,B0$,B9$)
: IF R1$=HEX(00)THEN 1000
: GOSUB 2310
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 845
1000 GOSUB 1320
: GOTO 215
1025 RESTORE LINE2930
: GOSUB '61
: GOSUB 2350
: T2$(1)=B2$
: T2$(3)=C4$
: GOSUB '62
: IF T5=0THEN 215
: GOSUB 1240
: IF D4=1THEN 1105
: B9$=STR(U1$(),VAL(T2$,2))
: IF T5$(1)=STR(B9$,9,8)THEN 1105
: GOSUB 2250
: PRINT AT(23,0);B5$(2);B2$;B5$(1);HEX(07);
: GOTO 1025
1105 RESTORE LINE2760
: PRINT HEX(0306);
: GOSUB '61
: T2$(3)=C3$
: T2$(5)=C4$
: CONVERT C1TO T2$(7),(####)
: CONVERT C2TO T2$(9),(####)
: T2$(11)=STR(A0$(),18,25)
: GOSUB '62
: IF T5=0THEN 215
: STR(A0$(),2,8)=ALL(" ")
: STR(A0$(),10,4)="0001"
: STR(A0$(),14,4)="0001"
: STR(A0$(),18,25)=ALL(" ")
: GOSUB 1350
: IF T5(1)=2OR D4=1THEN 215
: GOSUB 2330
1215 PRINT AT(23,0);B5$(2);B2$;B5$(1);
: A5$()="609@lib2RECMGR JCATSMAL"
: LOAD T<3>A5$()
1240 T6=1
: D4=0
1255 GOSUB '236(8,T6)
: IF R1$<>HEX(00)THEN 1295
: IF V1=0THEN 1295
: MAT SEARCHSTR(U1$(),,V1*16),=STR(C4$,1,8)TO T2$STEP 16
: IF T2$>HEX(0000)THEN RETURN
: IF V1<8THEN 1295
: T6=T6+8
: GOTO 1255
1295 D4=1
: RETURN
1320 STR(A0$(),1,1)=C3$
: STR(A0$(),2,8)=C4$
: CONVERT C1TO STR(A0$(),10,4),(####)
: CONVERT C2TO STR(A0$(),14,4),(####)
: STR(A0$(),18,25)=T5$(5)
1350 DBACKSPACE #5,1S
: DATA SAVE DC #5,A0$()
: RETURN
2020 D1,D2,D3,D4=0
: STR(A0$(),18,25)=T5$(5)
: C4$=T5$(1)
: IF C4$=" "THEN D1=1
: CONVERT T5$(3)TO C1
: ERRORD2=1
2070 CONVERT T5$(4)TO C2
: ERRORD3=1
2080 IF D1=0AND D2=0AND D3=0THEN RETURN
: D4=1
: IF D1=1THEN D1$="Invalid volume"
: IF D2=1THEN D1$="Invalid document ID"
: IF D3=1THEN D1$="Invalid archive ID"
: IF D1=1AND D2=1THEN D1$="Invalid volume and document ID"
: IF D1=1AND D3=1THEN D1$="Invalid volume and archive ID"
2150 IF D2=1AND D3=1THEN D1$="Invalid document ID and archive ID"
: IF D1=1AND D2=1AND D3=1THEN D1$="Invalid volume, document ID, and archive
ID"
: RETURN
2170 B2$="Library does not exist"
: RETURN
2190 B2$="C R E A T E L I B R A R Y"
: RETURN
2210 B2$="Volume not found"
: RETURN
2230 B2$="Illegal volume address"
: RETURN
2250 B2$="Invalid password"
: RETURN
2270 B2$="Disk not mounted"
: RETURN
2290 B2$="E D I T L I B R A R Y"
: RETURN
2310 B2$="Prototype does not exist - select create option to build prototype"
: RETURN
2330 B2$="Delete in progress"
: RETURN
2350 B2$="L I B R A R Y M A I N T E N A N C E"
: RETURN
2380 DATA 3,0,0,"L I B R A R Y M A I N T E N A N C E"
: DATA 4,3,0,"Please Select Library"
: DATA 4,4,7,"Press EXECUTE or CANCEL"
: DATA 3,6,0,"Lib. Vol."
: DATA 3,6,15,"Lib. Vol."
: DATA 3,6,30,"Lib. Vol."
: DATA 3,6,45,"Lib. Vol."
: DATA 3,6,71,"Option"
2460 DATA 1,-8,0,1,"A","B","C","D","E","F","G","H","I","J","K","L"
: DATA "M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
: DATA "a","b","c","d","e","f","g","h","i","j","k","l","m"
: DATA "n","o","p","q","r","s","t","u","v","w","x","y","z","\DE"
2500 DATA 1,8,71,1,"Edit","Create","Delete","\DE"
: DATA 0
2530 DATA 3,0,0," "
: DATA 4,4,0,"Fill in selections"
: DATA 4,5,0,"Press EXECUTE or CANCEL"
: DATA 4,7,29,"Library ID letter:"
: DATA 4,7,48," "
: DATA 4,9,29,"Volume name:"
: DATA 2,9,48,8," "
: DATA 4,11,29,"Volume password:"
: DATA 5,11,48,8," "
: DATA 4,13,29,"Next document ID:"
: DATA 2,13,48,4," "
2640 DATA 4,15,29,"Next archive ID:"
: DATA 2,15,48,4," "
: DATA 4,17,29,"Comment:"
: DATA 2,17,38,25," "
: DATA 0
2700 DATA 3,0,0," "
: DATA 4,19,0,"prototype already exists"
: DATA 4,20,5,"please select option"
: DATA 1,21,28,1,"Recreate prototype","Use existing prototype","\DE"
: DATA 0
2760 DATA 3,0,0," D E L E T E L I B R A R Y"
: DATA 4,6,29,"Library ID letter:"
: DATA 4,6,48," "
: DATA 4,8,29,"Volume name:"
: DATA 4,8,48," "
: DATA 4,10,29,"Next document ID:"
: DATA 4,10,48," "
: DATA 4,12,29,"Next archive ID:"
: DATA 4,12,48," "
: DATA 4,14,29,"Comment:"
: DATA 4,14,38," "
2870 DATA 4,17,0,"Please select option"
: DATA 4,18,0,"Press EXECUTE or CANCEL"
: DATA 1,19,29,1,"Delete all documents","Retain all documents","\DE"
: DATA 4,21,31,"(Delete library map only)"
: DATA 0
2930 DATA 3,0,0," "
: DATA 4,22,0,"Please enter password for volume"
: DATA 4,22,33," "
: DATA 5,22,42,8," "
: DATA 0