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