image of READY prompt

Wang2200.org

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

# Sector 117, program filename = 'HLDA010E'
0010 REM ***** HLDA010E - REVISED 1550 08/18/76 ***** COPYRIGHT WANG LABS, 197
     6
0030 COM A,A$2,C1,G$,I0$,K1,J,J1,K,K$1,L,L1,M,M$,N$,N$(16),N1$,O,Q$64,Q1$64,Q2
     $64,B1$2,B2$2,B$(80)1,S$64,H$(2)42
   : COM R1$(16)1,R2$(80)1,R3$(10)1,R4$(10)1,S1,S2,S3,S4,S5,T,T1,T2,T3
   : COM X,P1$(81)1,C0,C$(2)40,B$1,D$,D,I,J0,G$(1)10,C,E$(1)2,P,P$(60)40
   : COM CLEAR A
   : GOTO 5960
0250 IF C>=1THEN 270
   : C=1
0270 IF C>=C0THEN 880
0280 P=C-INT((C-1)/W)*W
   : RETURN
0320 J0=1
   : PRINT HEX(01);
0340 $GIO/005,(400DA000400A,I0$)P$()<J0,W>
   : J0=J0+W
   : IF J0<=15*WTHEN 340
   : IF O=0THEN 380
   : P,C=1
0380 $GIO/005(400DA000,I0$)Q$<1,50>
0420 $GIO/005,(A000,I0$)R1$()<1,(C-1)/W+1>
0430 $GIO/005,(A000,I0$)R2$()<1,P>
   : RETURN
0470 $GIO/005,(A000,I0$)R1$()<1,(C-1)/W+1>
   : $GIO/005,(A000,I0$)P$()<C-P+1,W>
   : GOTO 430
0520 IF G$(1)=HEX(08)THEN 600
   : L=LEN(G$(1))
   : MAT COPY G$()TO P$()<C,L>
   : IF P+L>WTHEN 680
   : PRINT G$(1);
   : P=P+L
   : C=C+L
0590 RETURN
0600 IF C=1THEN 590
   : G$(1)=" "
   : C=C-1
   : MAT COPY G$()TO P$()<C,1>
   : GOSUB 250
   : GOTO 470
0680 IF G$(1)=" "THEN 790
   : MAT COPY -P$()<C-P+1,W>TO C$()
   : MAT SEARCHC$(),=B$TO E$()
   : D=VAL(STR(E$(1),2))-1
   : MAT COPY -P$()<C-P+W-D+1,L-1+P-W+D>TO -P$()<C-P+W-D+1,L-1+P-W+2*D>
   : $GIO/005,(400DA000400A,I0$)P$()<C-P+1,W>
   : C=C+D+L
   : GOSUB 250
   : GOTO 470
0790 MAT COPY P$()<C,1>TO E$()
   : PRINT E$(1);
   : C=C-P+W+1
   : P=1
   : GOSUB 270
   : $GIO/005,(A000,I0$)R1$()<1,(C-1)/W+1>
   : RETURN
0880 IF C>=C2THEN 1050
0890 IF C<15*W+1THEN 930
   : C=C-W
   : GOTO 890
0930 IF C<C1THEN 980
   : C1=C1+W
   : GOTO 930
0980 C0=C1
   : IF C0<=C2THEN 1010
   : C0=C2
1010 IF C0<=15*W+1THEN 1030
   : C0=15*W+1
1030 GOTO 280
1050 O=1
   : P=C-INT((C-1)/W)*W
   : MAT COPY P1$()<2,W>TO P$()<C,W>
   : MAT COPY P$()<2401-L1,L1>TO P$()<C-P+W+1,2400-C+P-W>
   : C1=C-P+W+L1+1
1094 H$(1)=HEX(8137823883398434853686318732883389828AA18B308C2F8CCC8D2E8E358F2
     98FC390A090CB912899E5)
   : H$(2)=HEX(91C7922B92C6932D93C4942A94C296849781970B985E98CA990C9A0A9B1AA71
     C9AE6)
   : Q$="OVERFLOW"
   : RETURN CLEAR
1110 GOSUB 320
1120 KEYIN K$,1120,1125
   : GOTO 1120
1125 IF K$<>HEX(0D)THEN 1120
   : GOTO 1272
1150 KEYIN G$(1),1170,1271
   : GOTO 1150
1170 STR(G$(1),2)=" "
   : $TRAN(STR(G$(1),1,1),H$())R
1200 GOSUB 1220
   : GOTO 1150
1220 IF G$(1)>=HEX(80)THEN 1490
   : IF G$(1)=HEX(0D)THEN 1260
1240 GOSUB 520
   : RETURN
1260 GOSUB 790
   : RETURN
1271 ON VAL(G$(1))-12GOTO 1272,1277
   : K$=G$(1)
   : $TRAN(G$(),H$())R
   : IF K$=G$(1)THEN 1150
   : GOTO 1200
1272 H$(1)=HEX(8137823883398434853686318732883389828AA18B308C2F8CCC8D2E8E358F2
     98FC390A090CB912899E5)
   : H$(2)=HEX(91C7922B92C6932D93C4942A94C296849781970B985E98CA990C9A0A9B1AA71
     C9AE6)
   : Q$="EDIT"
1273 GOSUB 1274
   : GOTO 1150
1274 $GIO/005,(A000,I0$)R1$()<1,16>
   : PRINT STR(Q$,1,50);HEX(0C)
   : GOTO 420
1277 H$(1)=HEX(9A0A970B990C9B1AA71C8AA199E59AE6)
   : Q$="TEXT ENTRY"
   : GOTO 1273
1300 DEFFN'5
1310 C,P=1
1315 INIT(0A)R1$()
   : R1$(1)=HEX(01)
   : INIT(09)R2$()
   : R2$(1)=HEX(0D)
   : C$(1)=HEX(070707080809090908)
   : MAT COPY C$()TO R3$()
   : C$(1)=HEX(00020401030002040C)
   : MAT COPY C$()TO R4$()
   : SELECT PRINT 405
   : C2=1921
   : GOSUB 980
   : GOSUB 320
   : GOTO 1272
1490 K$=G$(1)
   : IF K$<HEX(8A)THEN 1590
   : IF K$=HEX(A7)THEN 1940
   : ADD(K$,77)
   : ON VAL(K$)GOTO 1660,2050,1980,1690,1740,6150,6080,6910,2900,3960,2760,281
     0,1830,7360,6280,1870,1900,1920
   : RETURN
1590 L=VAL(K$)-128
   : C=C+(VAL(R3$(L))-8)*W+VAL(R4$(L))-2
1610 GOSUB 250
   : GOSUB 420
   : RETURN
1660 C=C-P+1
   : GOTO 1610
1690 D$="."
   : MAT SEARCHP$()<C,C0>,=D$TO E$()
   : C=C+256*VAL(E$(1))+VAL(STR(E$(1),2))
   : GOTO 1610
1740 C=1
   : GOTO 1610
1830 MAT COPY P$()<C,1>TO G$()
   : OR (STR(G$(1),1,1),80)
   : GOTO 1240
1870 G$(1)="<C-RET>"
   : E$(1)=" "
   : MAT COPY E$()TO P$()<C,W-P+1>
   : GOSUB 520
   : GOTO 1260
1900 G$(1)="<TAB>"
   : GOTO 1240
1920 G$(1)="<C-TAB>"
   : GOTO 1240
1940 G$(1)="<->"
   : GOTO 1240
1980 MAT SEARCHP$()<C,C0-C+1>,=B$TO E$()
   : C=C+256*VAL(E$(1))+VAL(STR(E$(1),2))-1
   : MAT SEARCHP$()<C+1,C0-C>,<>B$TO E$()
   : C=C+256*VAL(E$(1))+VAL(STR(E$(1),2))
   : GOTO 1610
2050 MAT COPY -P$()<C-P+1,P>TO C$()
   : MAT SEARCHC$()<2,79>,<>B$TO E$()
   : IF E$(1)=A$THEN 2150
   : D=VAL(STR(E$(1),2))
   : MAT SEARCHC$()<D+1,80-D>,=B$TO E$()
   : IF E$(1)=A$THEN 2130
   : C=C-D-VAL(STR(E$(1),2))+2
   : GOTO 1610
2130 C=C-P+1
   : GOTO 1610
2150 C=C-P
   : GOTO 1610
2200 I=C-P+1
2210 D$="<"
2220 MAT COPY P$()<I,10>TO G$()
   : IF STR(G$(1),1,1)=D$THEN 2330
2240 MAT COPY P$()<I+W,10>TO G$()
   : IF STR(G$(1),1,1)=B$THEN 2620
   : IF STR(G$(1),1,1)=D$THEN 2530
2270 J=1
2280 MAT SEARCHP$()<I+J,W-J>,=D$TO E$()
   : IF E$(1)>A$THEN 2700
   : I=I+W
   : IF I<=C1THEN 2220
   : RETURN
2330 MAT COPY P$()<I,10>TO G$()
   : GOSUB 2390
   : IF K=0THEN 2240
   : GOSUB 2430
   : IF K=1THEN 2620
   : GOTO 2240
2390 K=POS(G$(1)=3E)
   : IF K=0THEN 2420
   : G$=STR(G$(1),1,K)
2420 RETURN
2430 K=1
2440 IF G$="<EOD>"THEN 2520
   : IF G$="<CENTER>"THEN 2520
   : IF G$="<MEMO>"THEN 2520
   : IF G$="<FORMAT>"THEN 2520
   : IF G$="<REW-STOP>"THEN 2520
   : IF G$="<REW-GO>"THEN 2520
   : IF G$="<PAGE>"THEN 2520
   : K=0
2520 RETURN
2530 GOSUB 2390
   : IF K=0THEN 2270
   : GOSUB 2580
   : IF K=1THEN 2620
   : GOTO 2270
2580 K=1
   : IF G$="<TAB>"THEN 2520
   : IF G$="<C-TAB>"THEN 2520
   : GOTO 2440
2620 H,I=I+W
   : MAT SEARCHP$()<I,2401-I>,<>B$TO E$()
   : IF E$(1)=A$THEN 2670
   : I=I+256*VAL(E$(1))+VAL(STR(E$(1),2))-1
   : I=INT((I-1)/W)*W+1
2670 IF I<=15*WTHEN 2690
   : I=14*W+1
2690 RETURN
2700 J=J+VAL(STR(E$(1),2))
   : MAT COPY P$()<I+J-1,10>TO G$()
   : IF STR(G$(1),1,7)="<C-RET>"THEN 2620
   : IF STR(G$(1),1,9)="<SW-READ>"THEN 2620
   : IF STR(G$(1),1,9)="<BLK-LNK>"THEN 2620
   : GOTO 2280
2760 GOSUB 2200
   : C=I
   : GOTO 1610
2810 I,I1=1
2820 GOSUB 2210
   : IF I>=CTHEN 2860
   : I1=I
   : GOTO 2820
2860 C=I1
   : GOTO 1610
2900 H$(1)=HEX(9A0A970B990C9B1AA71C8AA199E59AE6)
   : Q$="EDIT (INSERT)"
   : GOSUB 1274
   : IF O=1THEN 1150
   : MAT COPY P$()<C,W-P+1>TO P1$()<2,80>
   : P1$(1)="+"
   : MAT COPY P1$()TO P$()<C,W-P+1>
   : L1=C1-C+P-W-1
   : MAT COPY -P$()<C-P+W+1,L1>TO -P$()<C-P+W+1,2400-C+P-W>
   : C2=2401-L1-3*W
   : IF C2<15*W+1THEN 2990
   : C2=15*W+1
2990 GOSUB 980
3020 $GIO/005,(400DA000,I0$)P$()<C-P+1,W>
   : $GIO/005,(A000,I0$)R2$()<1,P>
3040 KEYIN G$(1),3060,3055
   : GOTO 3040
3055 K$=G$(1)
   : $TRAN(G$(),H$())R
   : IF K$=G$(1)THEN 3040
3060 STR(G$(1),2)=" "
   : $TRAN(G$(),H$())R
   : IF G$(1)>=HEX(80)THEN 3840
   : IF G$(1)=HEX(0D)THEN 3140
3090 GOSUB 1220
   : MAT COPY P1$()TO P$()<C,W-P+1>
   : GOTO 3020
3140 MAT COPY P1$()<2,80>TO P$()<C,80>
   : GOSUB 3280
   : MAT COPY P$()<2401-L1,L1>TO P$()<J0,2401-J0>
   : C1=J0+L1
   : J0=C-P+1
   : GOTO 3200
3200 GOSUB 3460
3210 C2=1921
   : GOSUB 980
   : GOSUB 320
   : RETURN CLEAR
3250 GOTO 1272
3280 J0=C-P+1
   : J1=J0+3*W-1
   : MAT SEARCHP$()<J0,W>,<>B$TO E$()
   : IF E$(1)<>A$THEN 3360
   : J0=J0+W
   : RETURN
3340 MAT SEARCHP$()<J0,W>,<>B$TO E$()
   : IF E$(1)=A$THEN 3430
3360 MAT COPY -P$()<J0,W>TO C$()
   : MAT SEARCHC$(),=B$TO E$()
   : D=VAL(STR(E$(1),2))-1
   : MAT COPY -P$()<J0+W-D,J1-J0-W+1>TO -P$()<J0+W-D,J1-J0-W+D+1>
   : J0=J0+W
   : J1=J1+W
   : GOTO 3340
3430 RETURN
3460 GOSUB 2200
3470 H=H-W
3480 IF J0>=HTHEN 3770
   : MAT COPY -P$()<J0,W>TO C$()
   : MAT SEARCHC$(),<>B$TO E$()
   : M=W+3-VAL(STR(E$(1),2))
   : IF E$(1)=A$THEN 3770
   : IF M<3THEN 3630
   : MAT COPY P$()<J0+M-3,1>TO E$()
   : IF E$(1)="."THEN 3600
   : IF E$(1)="-"THEN 3620
   : GOTO 3630
3580 M=1
   : GOTO 3630
3600 M=M+1
   : GOTO 3630
3620 M=M-1
3630 L=W-M+1
   : IF L<=0THEN 3710
   : MAT COPY -P$()<J0+W,L>TO C$()
   : MAT SEARCHC$()<1,L>,=B$TO E$()
   : IF E$(1)=A$THEN 3710
   : D=L-VAL(STR(E$(1),2))+1
   : MAT COPY P$()<J0+W,D>TO P$()<J0+M-1,D>
   : MAT COPY P$()<J0+W+D,W-D>TO P$()<J0+W,W>
3710 J0=J0+W
   : MAT SEARCHP$()<J0,W>,<>B$TO E$()
   : IF E$(1)=A$THEN 3780
   : D=VAL(STR(E$(1),2))
   : MAT COPY P$()<J0+D-1,W-D+1>TO P$()<J0,W>
   : GOTO 3480
3770 RETURN
3780 MAT COPY P$()<J0+W,2401-J0-W>TO P$()<J0,2401-J0>
   : C1=C1-W
   : J0=J0-W
   : GOTO 3470
3840 ON VAL(G$(1))-152GOTO 3090,3090,3090
   : IF G$(1)=HEX(A7)THEN 3090
   : IF G$(1)<>HEX(8A)THEN 3040
   : MAT COPY -P$()<C-P+1,W>TO -P$()<C-P+1,W+W>
   : MAT COPY P1$()<2,80>TO P$()<C+W,80>
   : MAT COPY P$()<2401-L1,L1>TO P$()<C-P+W+W+1,2400-C+P-W-W>
   : C1=C-P+W+L1+1
   : C1=C1+W
   : GOTO 3210
3960 MAT COPY P$()<C,W-P+1>TO P1$()<2,80>
   : P1$(1)="-"
   : Q$="EDIT (DELETE)"
   : GOSUB 1274
4000 MAT COPY P1$()TO P$()<C,W-P+1>
   : $GIO/005,(400DA000,I0$)P$()<C-P+1,W>
   : $GIO/005,(A000,I0$)R2$()<1,P>
4030 KEYIN K$,4050,4030
   : GOTO 4030
4050 $TRAN(K$,H$())R
   : IF K$=HEX(93)THEN 4140
   : IF K$=HEX(8C)THEN 4230
   : IF K$=HEX(8A)THEN 4310
   : IF K$=HEX(8D)THEN 4400
   : IF K$=HEX(0D)THEN 4180
   : GOTO 4030
4140 MAT COPY P1$()<3,79>TO P1$()<2,80>
   : GOTO 4000
4180 MAT COPY P1$()<2,80>TO P$()<C,W-P+1>
   : J0=C-P+1
   : GOTO 3200
4230 MAT SEARCHP1$()<2,80>,<>B$TO E$()
   : I=VAL(STR(E$(1),2))
   : MAT SEARCHP1$()<I+1,80-I>,=B$TO E$()
   : J=VAL(STR(E$(1),2))
   : MAT COPY P1$()<I+J+1,80-I-J>TO P1$()<2,80>
   : GOTO 4180
4310 INIT(20)P1$()
   : IF P=1THEN 4340
   : GOTO 4180
4340 J0=C-P+1
   : MAT COPY P$()<J0+W,2401-J0-W>TO P$()<J0,2401-J0>
   : C1=C1-W
   : GOTO 3200
4400 D$="."
   : MAT SEARCHP1$(),=D$TO E$()
   : IF E$(1)=A$THEN 4460
   : D=VAL(STR(E$(1),2))
   : MAT COPY P1$()<D+1,80-D>TO P1$()<2,80>
   : GOTO 4180
4460 INIT(20)P1$()
   : J0=C-P+1
   : MAT SEARCHP$()<J0+W,2400-J0-W>,=D$TO E$()
   : IF E$(1)=A$THEN 4180
   : D=256*VAL(E$(1))+VAL(STR(E$(1),2))
   : E$(1)=" "
   : MAT COPY E$()TO P$()<J0+W,D>
   : L=INT(D/W)+1
   : MAT COPY P$()<J0+L*W,2401-J0-L*W>TO P$()<J0+W,2401-J0-W>
   : C1=C1-(L-1)*W
   : MAT SEARCHP$()<J0+W,W>,<>B$TO E$()
   : IF E$(1)=A$THEN 4610
4580 D=VAL(STR(E$(1),2))
   : MAT COPY P$()<J0+W+D-1,W-D+1>TO P$()<J0+W,W>
   : GOTO 4180
4610 MAT COPY P$()<J0+W+W,2401-J0-W-W>TO P$()<J0+W,2401-J0-W>
   : C1=C1-W
   : GOTO 4180
5640 DATA LOAD BA T#2,(5*S2+T2+U,A)N$()
   : T2=T2+1
   : IF T2<=5THEN 5690
   : S2=VAL(T$(S2))
   : T2=1
5690 RETURN
5720 O=0
   : IF S2=0THEN 5880
   : D$=HEX(0F)
   : S1=S2
   : T1=T2
   : J0=1
5780 IF S2=0THEN 5880
   : IF J0>12*W+1THEN 5820
   : S3=S2
   : T3=T2
5820 GOSUB 5640
   : MAT COPY N$()TO P$()<J0,2401-J0>
   : MAT SEARCHP$()<J0,2401-J0>,=D$TO E$()
   : IF E$(1)=A$THEN 5920
   : J0=J0+256*VAL(E$(1))+VAL(STR(E$(1),2))-1
   : IF J0<15*WTHEN 5780
5880 C1=J0
   : E$(1)=" "
   : MAT COPY E$()TO P$()<J0,2401-J0>
   : RETURN
5920 STOP "NO HEX(0F) CODE ON DISK."
5950 DEFFN'2
5960 SELECT PRINT 005
   : PRINT HEX(03);TAB(21);"T E X T   E D I T O R"
   : A$=HEX(0000)
   : GOSUB 8530
6010 GOSUB 9210
   : J0,T2=1
   : GOSUB 5720
   : GOTO 1310
6080 C,P=1
6085 S2=S3
   : T2=T3
6100 J0=1
   : INIT(20)P$()
   : RETURN CLEAR
6120 GOSUB 5720
   : IF C<C1THEN 6125
   : C0,C1=W*INT((C-1)/W)+W+1
6125 GOTO 1315
6150 S2=S1
   : T2=T1
   : GOTO 6100
6280 E$(1)=HEX(0F)
   : MAT COPY E$()TO P$()<C1,1>
   : J0=1
   : S4=S1
   : S5=VAL(T$(S1))
   : BIN(T$(S1))=F
6360 MAT COPY P$()<J0,3*W>TO N$()
   : MAT COPY E$()TO N$()<3*W+1,1>
   : IF J0>12*W+1THEN 6420
   : S3=S1
   : T3=T1
6420 GOSUB 6720
   : J0=J0+3*W
   : IF J0<C1THEN 6360
   : IF S2=0THEN 6520
6470 DATA LOAD BA T#2,(5*S2+T2+U,A)N$()
   : GOSUB 6720
   : T2=T2+1
   : IF T2<=5THEN 6470
6520 IF T1=1THEN 6570
   : MAT COPY E$()TO N$()
6540 DATA SAVE BA T#2,(5*S1+T1+U,A)N$()
   : T1=T1+1
   : IF T1<=5THEN 6540
6570 F=VAL(T$(S4))
   : IF S2>0THEN 6610
   : T$(S4)=HEX(00)
   : GOTO 6630
6610 T$(S4)=T$(S2)
   : T$(S2)=HEX(00)
6630 BIN(T$(F0))=S5
6640 IF T$(F0)=HEX(00)THEN 6670
   : F0=VAL(T$(F0))
   : GOTO 6640
6670 GOSUB 9450
   : C,P=3*W+1
   : C0,C1=C+W
   : GOTO 6085
6720 S4=S1
   : IF S1>0THEN 6730
   : STOP "DISK OVERFLOW"
6730 DATA SAVE BA T#2,(5*S1+T1+U,A)N$()
   : T1=T1+1
   : IF T1<=5THEN 6780
   : T1=1
   : S1=VAL(T$(S1))
6780 RETURN
6910 PRINT HEX(03);"                    T E X T   E D I T O R"
   : GOSUB '32("ENTER THE CHARACTERS TO SEARCH FOR.",61)
   : L2=15
   : IF D>1THEN 7000
   : J1=C
   : GOTO 7030
7000 S9=D-1
   : J1=C
   : S$=Q$
7030 S=POS(S$=20)-1
   : Q$="EDIT"
   : IF S>0THEN 7110
   : S=1
   : GOTO 7110
7060 IF S2=0THEN 7360
   : S2=S3
   : T2=T3
   : GOSUB 5720
   : J1=0
7110 MAT SEARCHP$()<J1+1,L2*W-J1>,=STR(S$,1,S)TO E$()
   : IF E$(1)=A$THEN 7470
   : V1,V2=S
   : J1=J1+256*VAL(E$(1))+VAL(STR(E$(1),2))
   : MAT COPY P$()<J1,80>TO P1$()
7160 IF P1$(V1)<>STR(S$,V2,1)THEN 7110
   : IF P1$(V1)=B$THEN 7260
   : V1=V1+1
   : IF V1>81THEN 7110
   : V2=V2+1
   : IF V2<=S9THEN 7160
   : GOSUB 320
   : C=J1
   : GOTO 1610
7260 V1=V1+1
   : IF P1$(V1)<>B$THEN 7300
   : IF V1<=80THEN 7260
   : GOTO 7110
7300 V2=V2+1
   : IF STR(S$,V2,1)<>B$THEN 7160
   : IF V2<S9THEN 7300
   : GOTO 7110
7360 PRINT HEX(03);"                    T E X T   E D I T O R"
   : RETURN CLEAR
7370 GOSUB '32("DO YOU WANT TO START OVER? (Y/N)",1)
7390 IF Q$="Y"THEN 6010
   : IF Q$="y"THEN 6010
   : IF Q$="N"THEN 7450
   : IF Q$="n"THEN 7450
   : GOSUB 7460
   : GOTO 7390
7450 GOSUB '15
7460 GOSUB '34("INVALID REPLY.  ANSWER 'Y' OR 'N'.")
   : RETURN
7470 IF L2=12THEN 7060
   : GOSUB '32("NOT FOUND.  DO YOU WANT TO CONTINUE ON NEXT PAGES?",1)
7520 IF Q$="Y"THEN 7590
   : IF Q$="y"THEN 7590
   : IF Q$="N"THEN 7560
   : IF Q$="n"THEN 7560
   : GOSUB 7460
   : GOTO 7520
7560 C,P=1
   : Q$="EDIT"
   : GOSUB 320
   : GOTO 1610
7590 L2=12
   : Q$="EDIT"
   : GOTO 7060
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$="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
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))
   : 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 F$<>" "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
9090 T2=1
   : FOR I=1TO 4
   : DATA LOAD BA T#2,(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
   : GOSUB '32("ENTER THE NUMBER OF RECORDS TO SKIP",3)
9143 IF Q$=" "THEN 9150
   : IF NUM(Q$)=64THEN 9146
   : GOSUB '34("INVALID NUMBER.")
   : GOTO 9143
9146 CONVERT Q$TO I
9147 IF T$(S2)=HEX(00)THEN 9150
   : IF I<1THEN 9150
   : S2=VAL(T$(S2))
   : I=I-1
   : GOTO 9147
9150 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 M$=Q$
   : 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$()
9450 MAT COPY T$()TO N$()<1,200>
   : BIN(STR(N$(13),9))=F
   : BIN(STR(N$(13),10))=F0*SGN(F)
   : BIN(STR(N$(13),11))=W
   : DATA SAVE BA T#2,(U,A)N$()
9490 RETURN