image of READY prompt

Wang2200.org

Listing of file='HLDA010C' on disk='vmedia/letter_editor.wvd.zip'

# Sector 79, program filename = 'HLDA010C'
0010 REM ***** HLDA010C - REVISED 1540 08/18/76 ***** COPYRIGHT WANG LABS, 197
     6
0030 DIM B1$(201)2,C$(201)2,D$(10,5)8,N$(16),E$(1)2,D(10,5),P$(60)40,A$(200,1)
     5
   : DIM Q$64,Q1$64,Q2$64,B1$2,B2$2,B$(80)1,A$2,G$(1)10
   : A$=HEX(0000)
0040 DEFFN'4
   : SELECT PRINT 005(64)
   : PRINT HEX(03);TAB(10);"D I S K   T A B L E   O F   C O N T E N T S"
   : GOSUB 8530
   : FOR I=1TO 4
   : DATA LOAD BA T#2,(U+I,B1$)N$()
   : MAT COPY N$()<1,250>TO A$()<250*I-249,250>
   : NEXT I
   : PRINT HEX(03);"TABLE OF CONTENTS FOR ";F$
   : PRINT
   : PRINT
   : PRINT TAB(10);"***** SORTING TABLE OF CONTENTS *****"
   : MAT SORTA$()TO B1$(),C$()
0160 GOSUB 680
   : GOSUB 1080
   : IF Q$="N"THEN 290
   : IF Q$="n"THEN 290
   : J=1
   : GOSUB '32("TURN ON THE PRINTER.  KEY RETURN (EXEC) TO CONTINUE.",1)
   : SELECT PRINT 215
   : MAT SORTA$()TO B1$(),C$()
   : GOSUB 680
   : PRINT HEX(0A);"FREE SPACE =";M;"RECORDS."
   : SELECT PRINT 005
0290 GOSUB '15
0360 K=0
0370 K=K+1
   : N=VAL(T$(N))
   : IF N>0THEN 370
   : RETURN
0430 N=VAL(C$(I))
   : N$=A$(N,1)
   : GOSUB 360
   : RETURN
0560 PRINT HEX(03);"TABLE OF CONTENTS FOR ";F$
   : PRINT
   : PRINT TAB(20);"LINE LENGTH =";S
   : X$="DOCUMENT"
   : PRINT X$;TAB(12);X$;TAB(24);X$;TAB(36);X$;TAB(48);X$
   : X$="NAME RECS."
   : PRINT X$;TAB(12);X$;TAB(24);X$;TAB(36);X$;TAB(48);X$
   : RETURN
0680 N=F
   : K=0
   : IF N=0THEN 720
   : GOSUB 360
0720 M=K
   : I=1
0740 IF A$(VAL(C$(I)),1)<>" "THEN 790
   : I=I+1
   : IF I<=200THEN 740
   : RETURN
0790 FOR L2=1TO 5
   : FOR L1=1TO 10
   : IF I>200THEN 880
   : N=VAL(C$(I))
   : D$(L1,L2)=A$(N,1)
   : GOSUB 360
   : D(L1,L2)=K
   : I=I+1
   : GOTO 900
0880 D$(L1,L2)=" "
   : D(L1,L2)=0
0900 NEXT L1
   : NEXT L2
   : GOSUB 560
   : FOR L1=1TO 10
   : FOR L2=1TO 5
   : PRINTUSING 960,D$(L1,L2),D(L1,L2);
0960 %##### ###
0970 NEXT L2
   : PRINT
   : NEXT L1
   : IF J=1THEN 1040
   : PRINT HEX(010A);"KEY RETURN (EXEC) TO RESUME."
   : GOSUB 8120
   : PRINT HEX(03);
1040 IF I<=200THEN 790
   : RETURN
1080 PRINT HEX(03);"TABLE OF CONTENTS FOR ";F$
   : PRINT
   : PRINT
   : PRINT
   : PRINT "FREE SPACE =";M;"RECORDS."
   : GOSUB '32("DO YOU WANT A PRINTED TABLE OF CONTENTS? (Y/N)",1)
1140 IF Q$="Y"THEN 1200
   : IF Q$="y"THEN 1200
   : IF Q$="N"THEN 1200
   : IF Q$="n"THEN 1200
   : GOSUB '34("INVALID REPLY.  ANSWER 'Y' OR 'N'.")
   : GOTO 1140
1200 RETURN
8050 DEFFN'32(Q1$,N)
   : GOSUB 8460
8070 PRINT HEX(010A);Q1$;HEX(0D0A)
   : INIT(2D)Q$
   : $GIO/005(40204020A000402F400D,I0$)Q$<1,N>
8120 Q$=" "
   : D=1
   : PRINT "? ";
8150 KEYIN D$,8160,8150
   : GOTO 8150
8160 IF D$=HEX(0D)THEN 8330
   : IF D$=HEX(08)THEN 8280
   : IF D$=HEX(A1)THEN 8250
   : IF D>NTHEN 8150
   : IF D$=HEX(84)THEN 8350
   : STR(Q$,D,1)=D$
8220 PRINT D$;
   : D=D+1
   : GOTO 8150
8250 PRINT HEX(0D0909);
   : D=1
   : GOTO 8150
8280 IF D=1THEN 8150
   : D=D-1
   : STR(Q$,D,1)=" "
   : PRINT HEX(082008);
   : GOTO 8150
8330 PRINT HEX(0D0A)
   : RETURN
8350 OR (STR(Q$,D,1),80)
   : D$=STR(Q$,D,1)
   : GOTO 8220
8400 DEFFN'34(Q2$)
   : GOSUB 8460
   : PRINT HEX(010A0A0A);Q2$
   : GOTO 8070
8460 PRINT HEX(010A);
   : GOSUB 8490
   : GOSUB 8490
8490 $GIO/005(400DA000400A,I$)B$()<1,W>
   : RETURN
8530 Q1$="MOUNT DISK AND ENTER VOLUME NAME."
   : Q2$="DEFAULT NAME ="
   : STR(Q2$,16)=F$
   : N=8
   : GOSUB '34(Q2$)
8540 IF Q$=" "THEN 8700
   : IF Q$="STOP"THEN 8760
   : IF Q$="stop"THEN 8760
   : F$=Q$
8570 GOSUB 8790
   : IF I>0THEN 8610
   : GOSUB '34("VOL. NAME DOES NOT EXIST OR IS SCRATCHED.")
   : GOTO 8540
8610 GOSUB 8960
   : IF U>0THEN 8650
   : GOSUB '34("THIS VOL. IS ALREADY IN USE.")
   : GOTO 8540
8645 LIMITS T#2,Q$,U,U1,U2
8650 DATA LOAD BA T#2,(U,B1$)N$()
   : MAT COPY N$()TO T$()
   : F=VAL(STR(N$(13),9))
   : F0=VAL(STR(N$(13),10))
   : S=VAL(STR(N$(13),11))
   : IF W=STHEN 8690
   : GOSUB '34("LINE LENGTH FOR VOLUME WRONG SIZE.")
   : GOTO 8540
8690 RETURN
8700 Q$=F$
   : IF Q$<>" "THEN 8570
   : GOSUB '34("A VOL. NAME MUST BE ENTERED.")
   : GOTO 8540
8750 DEFFN'15
8760 LOAD DC T#1,"HLDA010A"
8790 B1$,B2$=A$
   : DATA LOAD BA T#2,(B1$,B1$)N$()
   : I=0
   : STR(B2$,2)=STR(N$(1),2)
8830 D=9
8840 MAT SEARCHN$()<D,257-D>,=STR(Q$,1,8)TO E$()STEP 16
   : IF E$(1)>A$THEN 8890
8860 IF B1$>=B2$THEN 8920
   : DATA LOAD BA T#2,(B1$,B1$)N$()
   : GOTO 8830
8890 D=D+VAL(STR(E$(1),2))-1
   : I=(D+7)/16
   : IF STR(N$(I),1,1)=HEX(10)THEN 8920
   : I=0
   : D=D+16
   : IF D<256THEN 8840
   : GOTO 8860
8920 RETURN
8950 I=9
   : GOTO 8970
8960 I=1
8970 LIMITS T#1,"ACTIVE",U1,U2,U2
   : U=0
   : DATA LOAD BA T#6,(U1,A)N$()
   : STR(N$(VAL(Z$)),I,8)=F$
   : FOR J=1TO 4
   : IF J=VAL(Z$)THEN 9015
   : IF STR(N$(J),1,8)=F$THEN 9040
   : IF STR(N$(J),9,8)=F$THEN 9040
9015 NEXT J
   : DATA SAVE BA T#1,(U1,A)N$()
   : LIMITS T#2,F$,U,U1,U2
9040 VERIFY T#1,(1,1)
   : RETURN
9080 DEFFN'0
   : PRINT HEX(03),"FIRST FREE SPACE =";F
   : PRINT "LAST FREE SPACE =";F0
   : FOR I=0TO 150STEP 50
   : FOR J=1TO 10
   : FOR K=0TO 40STEP 10
   : PRINT I+J+K;VAL(T$(I+J+K));"   ";
   : NEXT K
   : PRINT
   : NEXT J
   : INPUT X$
   : NEXT I
   : RETURN
9160 DEFFN'1
   : SELECT PRINT 005(64)
   : FOR J=1TO 4
   : FOR I=1TO 50
   : PRINT 50*(J-1)+I;A$(50*(J-1)+I,1),
   : NEXT I
   : INPUT X
   : NEXT J
   : RETURN