image of READY prompt

Wang2200.org

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

# Sector 176, program filename = 'HLDA010F'
0010 REM ***** HLDA010F - REVISED 1555 08/18/76 ***** COPYRIGHT WANG LABS, 197
     6
0030 COM F$(201)2,V$(1)20,I$(19)10,Y$(25)2,B1$(1)16,B2$(1)16,C1$1,C2$1,E1,E2,K
     $(4)64
   : COM S2,B1,B2,N9$5,N9,B1$2,B2$2,Q1$64,Q2$64,B$(80)1,G1$(1)10,U3,U4,U5,U6,V
     ,V0,T1$(200)1
   : COM A,A$2,C1,G$,I0$,K1,J,J1,K,K$1,L,L1,M,M$,N$,N$(16),N1$,O,Q$64,S$64
0050 COM R1$(16)1,R2$(80)1,R3$(10)1,R4$(10)1,S1,S2,S3,S4,S5,T,T1,T2,T3,H$(2)42
   : COM X,P1$(81)1,C0,C$(2)40,B$1,D$,D,I,J0,G$(2)50,C,E$(1)2,P,P$(60)40,F1,F2
   : SELECT PRINT 005(250)
   : PRINT HEX(03);TAB(15);"D O C U M E N T   A S S E M B L Y"
   : A$=HEX(0000)
   : B$=" "
   : X$="HLDA010X"
   : STR(X$,6,1)=Z$
0296 OR (STR(X$,6,1),30)
   : LIMITS T#1,X$,U3,U5,U7
   : STR(X$,8,1)="Y"
   : LIMITS T#1,X$,U4,U6,U7
   : B1$(1)=HEX(FF81FF83FF8AFF8BFF8CFF8D)
   : B2$(1)=HEX(FF81FF83FF89FF8AFF8BFF8D)
   : V$(1)=HEX(87898684858E808F8B8D90829291838A818C)
   : I$(1)="<TAB>"
   : I$(2)="<C-RET>"
   : I$(3)="<C-TAB>"
   : I$(4)="<CENTER>"
0410 I$(5)="<MEMO>"
   : I$(6)="<FORMAT>"
   : I$(7)="<->"
   : I$(8)="<S>"
   : I$(9)="<SW-READ>"
   : I$(10)="<BLK-LNK>"
   : I$(11)="<BS>"
   : I$(12)="<STOP>"
   : I$(13)="<I>"
   : I$(14)="<^>"
   : I$(15)="<REW-STOP>"
   : I$(16)="<REW-GO>"
   : I$(17)="<EOD>"
   : I$(18)="<PAGE>"
0550 K$(1)=HEX(BCBCAABCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC12BCBCBCB
     C031795BEB9B5BD15B0B1BC860C001609313F363E3935343D3C308D0DB406BC89)
0560 K$(2)=HEX(B69CA0ACADA58E8FA19487A4A99FA69985849D91A7AE9E90AF81B7BFBC3F971
     2021C202C2D250E0F21140724291F261905041D11272E1E102F0137BCBCBCBCBC)
0570 K$(3)=HEX(080A0B181A1B22233332383A3B72280212CB8BBCBCBCBCBCBCBCBCBCBCBCBCB
     C8057D5FEF9F5FD55F0F1BCC64C4056497169767E7975747D7C70CD4DF446BCC9)
0580 K$(4)=HEX(F6DCE0ECEDE5CECFE1D4C7E4E9DFE6D9C5C4DDD1E7EEDED0EFC1F7FFBC7FD7B
     CFC5C606C6D654E4F61544764695F665945445D51676E5E506F4177BCBCBCBCBC)
   : INIT(0A)R1$()
   : R1$(1)=HEX(01)
   : INIT(09)R2$()
   : R2$(1)=HEX(0D)
   : C$(1)=HEX(070707080809090908)
   : MAT COPY C$()TO R3$()
0650 C$(1)=HEX(00020401030002040C)
   : MAT COPY C$()TO R4$()
   : GOTO 6690
0700 GOSUB '34("INVALID REPLY.")
   : RETURN
0720 GOSUB '34("INVALID REPLY.  ANSWER 'Y' OR 'N'.")
   : RETURN
6690 C2=1921
   : GOTO 7401
6800 LOAD DC T#1,"HLDA010G"
7040 F1=1
7070 GOSUB '32("ENTER NAME OF DOCUMENT OR KEYWORD.",8)
7071 IF Q$="EDIT"THEN 7090
   : IF Q$="edit"THEN 7090
   : IF Q$="EDIT OFF"THEN 7090
   : IF Q$="edit off"THEN 7090
   : IF Q$="PAGE"THEN 7090
   : IF Q$="page"THEN 7090
   : IF Q$="STOP"THEN 7090
   : IF Q$="stop"THEN 7090
   : IF Q$=" "THEN 7110
   : I2=2
   : GOSUB 9090
   : IF S2>0THEN 7090
   : STR(Q$,LEN(Q$)+2)="WAS NOT FOUND."
   : GOSUB '34(Q$)
   : GOTO 7071
7090 IF U3>=U5THEN 7135
   : DATA SAVE DA T#1,(U3,U3)Q$
   : GOTO 7070
7110 DATA SAVE DA T#1,(U3,U3)END
   : X$="HLDA010X"
   : STR(X$,6,1)=Z$
   : LIMITS T#1,U3,U5,U7
   : GOTO 7230
7135 STOP "END OF DATA FILE."
7140 I1=1
   : I2=2
   : GOSUB 8530
   : GOSUB '32("DO YOU WANT REPEAT LETTERS?  (Y/N)",1)
   : F1=0
7190 IF Q$="Y"THEN 7040
   : IF Q$="y"THEN 7040
   : IF Q$="N"THEN 7230
   : IF Q$="n"THEN 7230
   : GOSUB 720
   : GOTO 7190
7230 PRINT HEX(03);TAB(15);"D O C U M E N T   A S S E M B L Y"
   : GOSUB '32("DO YOU WANT TO SAVE ADDRESSES?  (Y/N)",1)
   : F2=0
7280 IF Q$="Y"THEN 7320
   : IF Q$="y"THEN 7320
   : IF Q$="N"THEN 6800
   : IF Q$="n"THEN 6800
   : GOSUB 720
   : GOTO 7280
7320 F2=1
   : GOTO 6800
7401 I1=9
   : I2=3
   : Q1$="ENTER THE NAME OF THE OUTPUT VOLUME"
   : Q2$="DEFAULT NAME ="
   : STR(Q2$,16)=F$
   : N=8
   : GOSUB '34(Q2$)
   : GOSUB 8540
   : MAT COPY T$()TO T1$()
   : V=U
   : GOSUB '32("ENTER NAME OF ASSEMBLED DOCUMENT",5)
7420 N9$=Q$
   : IF Q$<>" "THEN 7560
   : GOSUB '34("A NAME MUST BE GIVEN.")
   : GOTO 7420
7560 GOSUB 9090
   : IF S2=0THEN 7580
   : GOSUB '34("DOCUMENT NAME ALREADY EXISTS.")
   : GOTO 7420
7580 N9,S1=F
   : V0=F0
   : B1=5*S1+U+1
   : B2=B1+5
   : N8=1
   : GOTO 7140
8050 DEFFN'32(Q1$,N)
   : GOSUB 8460
8070 PRINT HEX(010A);Q1$;HEX(0D0A)
   : INIT(2D)Q$
   : $GIO/005(40204020A000402F400D,I0$)Q$<1,N>
   : 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$="ENTER THE NAME OF THE INPUT VOLUME."
   : Q2$="DEFAULT NAME ="
   : STR(Q2$,16)=F$
   : N=8
   : GOSUB '34(Q2$)
8540 IF Q$=" "THEN 8700
   : IF Q$="STOP"THEN 8755
   : IF Q$="stop"THEN 8755
   : F$=Q$
8570 GOSUB 8790
   : IF I>0THEN 8610
   : GOSUB '34("VOL. NAME DOES NOT EXIST OR IS SCRATCHED.")
   : GOTO 8540
8610 GOSUB 8970
   : IF U>0THEN 8650
   : GOSUB '34("THIS VOL. IS ALREADY IN USE.")
   : GOTO 8540
8650 DATA LOAD BA T#I2,(U,B1$)N$()
   : MAT COPY N$()TO T$()
   : F=VAL(STR(N$(13),9))
   : F0=VAL(STR(N$(13),10))
   : IF W=VAL(STR(N$(13),11))THEN 8690
   : GOSUB '34("LINE LENGTH FOR VOLUME IS 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
8755 COM CLEAR F$()
   : LOAD DC T#1,"HLDA010A"
8790 B1$,B2$=A$
   : DATA LOAD BA T#I2,(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#I2,(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
8970 LIMITS T#1,"ACTIVE",U1,U2,U2
   : U=0
   : DATA LOAD BA T#6,(U1,A)N$()
   : STR(N$(VAL(Z$)),I1,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#I2,F$,U,U1,U2
9040 VERIFY T#1,(1,1)
   : RETURN
9090 T2=1
   : FOR I=1TO 4
   : DATA LOAD BA T#I2,(U+I,B1$)N$()
   : MAT SEARCHN$()<1,250>,=STR(Q$,1,5)TO E$()STEP 5
   : IF E$(1)=A$THEN 9160
   : S2=50*(I-1)+(VAL(STR(E$(1),2))+4)/5
   : RETURN
9160 NEXT I
   : S2=0
   : RETURN
9210 GOSUB '32("ENTER NAME OF LETTER OR DOCUMENT",5)
9212 IF Q$<>" "THEN 9220
   : GOSUB '34("A DOCUMENT NAME MUST BE ENTERED.")
   : GOTO 9212
9220 GOSUB 9090
   : GOSUB 8460
   : IF S2>0THEN 9490
   : PRINT HEX(010A);M$;" WAS NOT ON DISK.  IT IS NOW BEING ADDED."
   : IF F>0THEN 9270
   : STOP "DISK FULL."
9270 S2=F
   : F=VAL(T$(F))
   : T$(S2)=HEX(00)
   : INIT(20)N$()
   : E$(1)=HEX(0F)
   : MAT COPY E$()TO N$()<3*W+1,1>
   : A=5*S2+1+U
   : FOR I=1TO 5
   : DATA SAVE BA T#2,(A,A)N$()
   : MAT COPY E$()TO N$()<1,1>
   : NEXT I
   : N=INT((S2-1)/50)
   : DATA LOAD BA T#2,(N+U+1,A)N$()
   : G$(1)=Q$
   : MAT COPY G$()TO N$()<5*(S2-50*N)-4,5>
   : DATA SAVE BA T#2,(A-1,A)N$()
   : MAT COPY T$()TO N$()<1,200>
9460 BIN(STR(N$(13),9))=F
   : BIN(STR(N$(13),10))=F0
   : BIN(STR(N$(13),11))=W
   : DATA SAVE BA T#2,(U,A)N$()
9490 RETURN