10  COM A$[72],B$[72],D$[52],F$[24],L$[72],M$[72],N$[72],O$[72],P$[72]
15  COM Q$[72],Y$[10],Z$[72]
20  COM A[10],B[6],C[6],D[6],E[6],I[64,2],L[10],M[64,2],P[6],R[6],S[6]
25  COM T[6],A,E,Q,U,D2,F0,F1,M,Q1,X,D
26  REM EDIT2K,HP 36838A,6/74, 5 PROGS:EDIT2K,EDITA,EDITB,EDITC,EDITD
30  DIM C$[72],G$[72],H$[72]
35  CHAIN "$EDIT2K"
40  FILES *,*,*,*
45  FOR I=1 TO 31 STEP 6
50  IF F$[I,I+6]="      " THEN 60
55  ASSIGN F$[I,I+6],(I-1)/6+1,X
60  NEXT I
65  GOSUB 6605
70  GOSUB D2 OF 1000,1500,1500,1500,3000
75  CHAIN "$EDITA",40
999  CHAIN "$EDIT2K",3000
1000  REM <<< ADD >>>
1005  D=H=R=0
1010  D0=A[4]
1015  D6=D7=1
1020  D9=10000
1025  D8=(A[1]-D0)* NOT E[5]+E[5]* NOT ( NOT (E[5]))
1030  IF A$[A]#"" THEN 1055
1035  MAT T=E
1040  GOSUB 6200
1045  GOSUB 7900
1050  GOTO 1105
1055  IF A$[A,A]="," THEN 1035
1060  IF A$[A,A]="H" THEN 1035
1061  IF A$[A,A]="h" THEN 1035
1065  GOSUB 7100
1075  IF T[5] >= E[5] THEN 1100
1080  GOSUB 5100
1085  D9=L[T[3]]
1090  GOSUB 5205
1095  E=0
1100  T[5]=D8
1105  GOSUB 7505
1110  B$=""
1115  IF H AND V THEN 1280
1120  GOSUB 1155
1125  GOTO 1265
1130  IF D8<D9 THEN 1155
1135  D8=D8-D0
1140  GOSUB 7205
1145  IF E THEN 1260
1150  GOSUB 7900
1155  IF  NOT Q THEN 1170
1160  PRINT '7;
1165  GOTO 1180
1170  X=D8
1175  GOSUB 7005
1180  PRINT SPA(A[2]-1);
1185  ENTER 255,X,H$
1190  IF X=-256 THEN 1185
1195  PRINT 
1200  IF H$[1,1]='25 THEN 1260
1201  IF H$[1,1]='25 THEN 1260
1205  FOR Z1=1 TO A[2]-1
1210  B$[Z1,Z1]=" "
1215  NEXT Z1
1220  IF LEN(B$)+LEN(H$) <= A[3] THEN 1235
1225  PRINT "WARNING - LINE LENGTH EXCEEDED : DATA LOST"
1235  B$[LEN(B$)+1]=H$[1,(A[3]-LEN(B$)) MIN LEN(H$) MAX 1]
1240  GOSUB 4000
1245  B$=""
1250  GOSUB 7900
1255  GOTO 1130
1260  RETURN 
1265  PRINT 
1270  IF E THEN 999
1275  IF  NOT H THEN 1285
1280  GOSUB 7705
1285  IF  NOT R AND ( NOT Q1 OR H) THEN 1300
1290  IF D8<E[5] THEN 1300
1295  PRINT "THE LAST LINE IS"D8-D0
1300  GOSUB 6215
1305  T[4]=LEN(B$) MIN A[3]
1310  T[5]=T[5]-D0
1315  MAT P=T
1320  IF P[5] <= E[5] THEN 1325
1325  IF E THEN 999
1330  MAT  PRINT #1,I[63,2];I
1335  GOSUB 6800
1340  RETURN 
1345  E=14
1350  GOTO 999
1500  REM <TEXT,USE,JOIN>
1505  GOSUB 9982
1510  B$=""
1515  I=LEN(B$)+1
1520  B$[I,I]=A$[A,A]
1525  A=A+1
1530  IF A$[A,A]="(" THEN 1545
1535  IF A$[A,A]="," THEN 1545
1540  IF A$[A,A]#" " THEN 1515
1545  GOSUB 9982
1550  IF D2=3 THEN 1575
1555  ASSIGN B$,4,X
1560  IF X<3 THEN 1575
1565  E=13
1570  GOTO 999
1575  GOSUB D2-1 OF 1700,2000,2100
1580  RETURN 
1700  REM < TEXT >
1705  M=1
1710  F0=Z1=0
1715  F1=4
1720  MAT M=ZER
1725  MAT I=ZER
1730  MAT L=ZER
1735  I[63,1]=L[7]=1
1740  I[63,2]=M[1,2]=2
1745  I[1,2]=L[8]=3
1750  GOSUB 2700
1755  D8=A[1]
1760  D9=10000
1765  D0=A[4]
1770  MAT B=CON
1775  MAT E=CON
1780  MAT T=CON
1785  MAT C=ZER
1790  MAT D=ZER
1795  B[5]=E[5]=T[5]=0
1800  T[5]=D8
1805  L$="<DUMMY LINE 0>"
1810  IF A$[A]#"" THEN 1835
1815  GOSUB 2300
1820  GOSUB 6605
1825  MAT P=E
1830  RETURN 
1835  IF A$[A,A+10]=",UNNUMBERED" THEN 1840
1837  IF A$[A,A+10]#",unnumbered" THEN 2735
1840  IF  NOT C6 THEN 1855
1845  E=15
1850  GOTO 999
1855  READ #4,1
1860  IF TYP(4)#1 THEN 2300
1865  PRINT  USING 1870;B$
1870  IMAGE #,"WARNING : THE FILE ",6A," IS NUMBERED.  DO YOU WISH TO CONTINUE"
1875  INPUT C$
1877  IF C$[1,1]="y" THEN 1885
1880  IF C$[1,1]#"Y" THEN 1895
1885  E[5]=10000
1890  GOTO 1815
1895  RETURN 
2000  REM < USE >
2005  ASSIGN B$,3,X
2010  U=1
2015  F$[13,18]=B$
2020  RETURN 
2100  REM < JOIN >
2105  Z1=1
2110  V=R=H=D=0
2115  MAT T=E
2120  D0=A[4]
2125  D8=E[5]
2130  D9=10000
2135  GOSUB 2700
2140  IF A$[A]="" THEN 2220
2145  GOSUB 7305
2150  IF E THEN 2170
2155  GOSUB 7100
2165  Z1=0
2170  E=0
2175  IF T[5] >= E[5] THEN 2200
2180  MAT C=T
2185  GOSUB 5100
2190  D9=X
2195  MAT T=C
2200  GOSUB 7405
2202  IF E THEN 999
2205  IF A$[A]="" THEN 2220
2210  E=3
2215  GOTO 999
2220  GOSUB 2300
2225  GOSUB 6605
2230  MAT P=T
2235  RETURN 
2299  REM <TEXT-JOIN TRANSFER>
2300  READ #4,1
2305  X=T1=0
2310  IF TYP(4)=1 THEN 2320
2315  T1=1
2320  IF  END #4 THEN 2620
2325  IF C6 AND T1 THEN 1845
2330  T2=D6
2335  T3=1
2340  I=1
2345  IF T1 THEN 2360
2350  READ #4;X,B$
2355  GOTO 2365
2360  READ #4;B$
2365  IF C6 THEN 2380
2370  IF T2=I THEN 2395
2375  GOTO 2385
2380  IF T2 <= X THEN 2395
2385  I=I+1
2390  GOTO 2345
2395  IF T3=2 THEN 2430
2400  D6=I
2405  T3=2
2410  T2=D7
2415  IF  END #4 THEN 2425
2420  GOTO 2365
2425  I=I-1
2430  D7=I
2435  IF T2<X THEN 2620
2440  GOTO 2455
2445  E=16
2450  GOTO 999
2455  D6=D6+1
2460  GOSUB 7205
2465  D6=D6-1
2470  IF E THEN 999
2475  IF  NOT Z1 THEN 2485
2480  D8=INT((D8+D0+.001)*100)/100
2485  READ #4,1
2490  IF D6=1 THEN 2525
2495  FOR I=1 TO D6-1
2500  IF TYP(4)#1 THEN 2515
2505  READ #4;X,B$
2510  GOTO 2520
2515  READ #4;B$
2520  NEXT I
2525  IF  END #4 THEN 2605
2530  FOR I9=D6 TO D7
2535  T[5]=0
2540  IF TYP(4)#1 THEN 2555
2545  READ #4;T[5],B$
2550  GOTO 2560
2555  READ #4;B$
2560  IF T[5]>E[5] THEN 2575
2565  T[5]=D8
2570  D8=INT((D8+D0+.001)*100)/100
2575  GOSUB 4000
2580  IF Q OR D2=2 THEN 2600
2585  X=T[5]
2590  GOSUB 7005
2595  PRINT B$
2600  NEXT I9
2605  MAT P=T
2610  IF E[5] >= T[5] THEN 2620
2615  MAT E=T
2620  RETURN 
2699  REM <TEXT-JOIN SYNTAX>
2700  C6=0
2705  C1=A
2710  D6=1
2715  D7=1.E+07
2720  IF A$[A]="" THEN 2885
2725  IF A$[A,A]="(" THEN 2745
2730  RETURN 
2735  E=3
2740  GOTO 999
2745  GOSUB 9986
2750  IF A$[A,A]="#" THEN 2765
2755  C6=1
2760  GOTO 2780
2765  GOSUB 9986
2770  GOSUB 8955
2775  GOTO 2785
2780  GOSUB 9000
2785  IF  NOT F2 OR  NOT N THEN 2735
2790  D6=N
2795  IF A$[A,A]#"/" THEN 2735
2800  GOSUB 9986
2805  IF C6 THEN 2830
2810  IF A$[A,A]#"#" THEN 2735
2815  GOSUB 9986
2820  GOSUB 8955
2825  GOTO 2835
2830  GOSUB 9000
2835  IF  NOT F2 OR  NOT N THEN 2735
2840  D7=N
2845  IF A$[A,A]=")" THEN 2860
2850  E=3
2855  GOTO 999
2860  GOSUB 9986
2865  IF D6 <= D7 THEN 2885
2870  E=4
2875  A=C1
2880  GOTO 999
2885  RETURN 
3000  REM < INSERT >
3005  D=E1=D4=F=0
3010  IF C[4] >= A[2] AND C[4] <= A[3] THEN 3025
3015  E=6
3020  GOTO 999
3025  D6=D7=1
3030  D8=C[5]
3035  D9=10000
3040  MAT T=C
3045  GOSUB 6200
3050  GOSUB 7405
3055  E=0
3060  IF T[5] >= E[5] THEN 3085
3065  GOSUB 5100
3070  D9=X
3075  GOSUB 5200
3080  T[4]=C[4]
3085  GOSUB 7505
3090  FOR J=LEN(B$)+1 TO C[4]-1
3095  B$[J,J]=" "
3100  NEXT J
3105  G$=B$[T[4]]
3110  X=C[5]
3115  GOSUB 7005
3120  PRINT B$
3125  B$[T[4]]=""
3130  PRINT TAB(T[4]-1+9*(LEN(B$)+LEN(G$)<64));"^";
3135  IF H AND V THEN 3210
3140  ENTER 255,X,C$
3145  IF X=-256 THEN 3140
3150  PRINT 
3155  IF C$[1,1]='25 THEN 3250
3160  IF C$[1,1]='25 THEN 3250
3165  IF LEN(B$)+LEN(C$) <= A[6] THEN 3205
3170  GOSUB 7205
3175  IF E THEN 3270
3180  GOSUB 6405
3185  B$=C$
3190  GOSUB 7900
3195  GOSUB 4000
3200  GOTO 3215
3205  B$[LEN(B$)+1]=C$
3210  GOSUB 6405
3215  GOSUB 7205
3220  IF E THEN 3270
3225  IF H AND V THEN 3252
3230  B$=""
3235  GOSUB 7900
3240  GOSUB 1130
3245  D8=T[5]=D8-D0
3250  IF E OR  NOT H THEN 3270
3252  PRINT 
3255  GOSUB 7900
3260  GOSUB 7705
3265  D8=T[5]=D8-D0
3267  GOTO 3271
3270  PRINT 
3271  E1=E
3273  GOSUB 5505
3275  IF LEN(B$)+LEN(G$)>A[6] THEN 3295
3280  B$[LEN(B$)+1]=G$
3285  GOSUB 6405
3290  GOTO 3325
3295  GOSUB 7900
3300  IF D8<D9 THEN 3315
3305  PRINT "WARNING : TEXT HAS BEEN LOST"
3310  GOTO 3325
3315  B$=G$
3320  GOSUB 4000
3325  E=E1
3327  IF E THEN 999
3330  RETURN 
4000  REM *** ADD A LINE ***
4005  GOSUB 6005
4010  GOSUB 6105
4015  IF L[7]<6 THEN 4070
4020  A1=A2=0
4025  IF T[3]<6 THEN 4035
4030  A2=1
4035  IF I[63,1]<62 OR T[2]<62 THEN 4045
4040  A1=1
4045  GOSUB 4195
4050  IF  NOT A2 THEN 4070
4055  GOSUB 6405
4065  RETURN 
4070  IF T[3]=L[7] AND L[7]=5 THEN 4155
4075  T1=5-T[3]
4080  Q$=P$
4085  P$=B$
4090  T1=T1-1
4095  IF  NOT T1 THEN 4160
4100  P$=O$
4105  O$=B$
4110  T1=T1-1
4115  IF  NOT T1 THEN 4160
4120  O$=N$
4125  N$=B$
4130  T1=T1-1
4135  IF  NOT T1 THEN 4160
4140  N$=M$
4145  M$=B$
4150  GOTO 4160
4155  Q$=B$
4160  T[3]=T[3]+1
4165  FOR I=L[7] TO T[3] STEP -1
4170  L[I+1]=L[I]
4175  NEXT I
4180  L[7]=L[7]+1
4185  L[T[3]]=T[5]
4190  RETURN 
4195  REM *** BLOCK SPLIT ***
4200  GOSUB 5005
4205  IF I[63,1]<62 THEN 4425
4210  IF M<64 THEN 4225
4215  E=14
4220  GOTO 999
4225  T2=T1
4230  GOSUB 5005
4235  FOR I=M TO T[1]+1 STEP -1
4240  M[I+1,1]=M[I,1]
4245  M[I+1,2]=M[I,2]
4250  NEXT I
4255  M=M+1
4260  T3=I[64,2]
4265  I[64,2]=T2
4270  IF A1 THEN 4280
4275  I[63,1]=31
4280  MAT  PRINT #1,I[63,2];I
4285  IF A1 THEN 4320
4290  FOR I=1 TO 31
4295  I[I,1]=I[I+31,1]
4300  I[I,2]=I[I+31,2]
4305  NEXT I
4310  M[T[1]+1,1]=I[1,1]
4315  M[T[1]+1,2]=T2
4320  I[64,1]=I[63,2]
4325  I[63,2]=T2
4330  I[64,2]=T3
4335  IF  NOT A1 THEN 4360
4340  I[63,1]=0
4345  M[T[1]+1,1]=T[5]
4350  M[T[1]+1,2]=T2
4355  GOTO 4365
4360  I[63,1]=31
4365  MAT  PRINT #1,I[63,2];I
4370  IF  NOT I[64,2] THEN 4385
4375  MAT  READ #1,I[64,2];I
4380  I[64,1]=T2
4385  IF  NOT A1 THEN 4405
4390  T[1]=T[1]+1
4395  T[2]=0
4400  GOTO 4420
4405  IF T[2] <= 31 THEN 4420
4410  T[2]=T[2]-31
4415  T[1]=T[1]+1
4420  GOSUB 6005
4425  FOR I=I[63,1] TO T[2]+1 STEP -1
4430  I[I+1,1]=I[I,1]
4435  I[I+1,2]=I[I,2]
4440  NEXT I
4445  I[63,1]=I[63,1]+1
4450  IF A2 THEN 4460
4455  L[7]=3
4460  T3=L[10]
4465  L[10]=T1
4470  GOSUB 6800
4480  IF  NOT A2 THEN 4500
4485  L[1]=T[5]
4490  L[7]=1
4492  T2=4
4495  GOTO 4535
4500  L[7]=6
4505  T2=T[3]
4510  T[3]=1
4515  FOR I=1 TO 3
4520  GOSUB 6300
4525  NEXT I
4530  L[7]=3
4535  I[T[2]+1,1]=L[1]
4540  I[T[2]+1,2]=T1
4545  L[9]=L[8]
4550  L[8]=T1
4555  L[10]=T3
4565  T[3]=T2
4580  IF  NOT L[10] THEN 4600
4585  T9=L[10]
4590  GOSUB 6700
4595  L[9]=T1
4600  IF T[3] <= 3 THEN 4615
4605  T[3]=T[3]-3
4610  T[2]=T[2]+1
4615  GOSUB 6105
4620  RETURN 
5000  REM *** GET FREE SPACE ***
5005  IF F0 THEN 5040
5010  IF F1 <= A[8] THEN 5025
5015  E=14
5020  GOTO 999
5025  T1=F1
5030  F1=F1+1
5035  GOTO 5085
5040  T1=F0
5045  READ #1,F0;X,X,X,X,X,X,X,X,X,X
5050  IF TYP(1)=2 THEN 5080
5055  T2=I[63,2]
5060  MAT  PRINT #1,T2;I
5065  MAT  READ #1,T1;I
5070  X=I[64,2]
5075  MAT  READ #1,T2;I
5080  F0=X
5085  RETURN 
5100  REM * GET NEXT *
5115  IF T[3]+1 <= L[7] THEN 5171
5120  IF L[10] THEN 5135
5125  E=16
5126  T[6]=0
5130  GOTO 5175
5135  T[3]=0
5140  T[2]=T[2]+1
5145  IF T[2] <= I[63,1] THEN 5165
5150  T[1]=T[1]+1
5155  GOSUB 6010
5160  T[2]=1
5165  T9=L[10]
5170  GOSUB 6700
5171  T[3]=T[3]+1
5172  T[4]=1
5175  GOSUB 6215
5185  RETURN 
5200  REM * GET LAST REC *
5205  IF  NOT L[T[3]] THEN 5260
5207  T[3]=T[3]-1
5210  IF T[3] THEN 5255
5215  T[2]=T[2]-1
5220  IF T[2] THEN 5240
5225  T[1]=T[1]-1
5230  GOSUB 6010
5235  T[2]=I[63,1]
5240  T9=L[9]
5245  GOSUB 6700
5250  T[3]=L[7]
5255  IF L[T[3]] THEN 5270
5260  E=20
5262  T[6]=0
5270  GOSUB 6215
5275  T[4]=LEN(B$)
5285  RETURN 
5500  REM * FIND POS *
5505  IF T[5] THEN 5520
5510  E=20
5515  GOTO 999
5520  T[6]=0
5525  T[1]=1
5530  T1=M
5535  T2=INT((T[1]+T1)/2)
5540  IF T2=T[1] THEN 5570
5545  IF T[5]<M[T2,1] THEN 5560
5550  T[1]=T2
5555  GOTO 5535
5560  T1=T2
5565  GOTO 5535
5570  IF T[5]<M[T1,1] THEN 5580
5575  T[1]=T1
5580  GOSUB 6000
5585  T[2]=1
5590  T1=I[63,1]
5595  T2=INT((T[2]+T1)/2)
5600  IF T2=T[2] THEN 5630
5605  IF T[5]<I[T2,1] THEN 5620
5610  T[2]=T2
5615  GOTO 5595
5620  T1=T2
5625  GOTO 5595
5630  IF T[5]<I[T1,1] THEN 5640
5635  T[2]=T1
5640  GOSUB 6100
5645  FOR I=1 TO L[7]
5647  T[3]=I
5650  IF ABS(T[5]-L[I])<.00001 THEN 5670
5655  IF T[5]<L[I] THEN 5680
5660  NEXT I
5662  GOSUB 5100
5665  GOTO 5680
5670  T[6]=1
5680  GOSUB (T[6] OR  NOT F OR E)+1 OF 5205,6215
5685  E=0
5695  RETURN 
6000  REM * GET I[] *
6005  IF M[T[1],2]=I[63,2] THEN 6020
6010  MAT  PRINT #1,I[63,2];I
6015  MAT  READ #1,M[T[1],2];I
6020  RETURN 
6100  REM * GET RECORDS *
6105  IF I[T[2],2]=L[8] THEN 6120
6110  T9=I[T[2],2]
6115  GOSUB 6700
6120  RETURN 
6200  REM * GET LINE *
6205  GOSUB 6005
6210  GOSUB 6105
6215  GOTO T[3] OF 6220,6230,6240,6250,6260,6270
6220  B$=L$
6225  GOTO 6275
6230  B$=M$
6235  GOTO 6275
6240  B$=N$
6245  GOTO 6275
6250  B$=O$
6255  GOTO 6275
6260  B$=P$
6265  GOTO 6275
6270  B$=Q$
6275  T[5]=X=L[T[3]]
6280  RETURN 
6300  REM * DELETE LINE *
6305  GOTO T[3] OF 6310,6315,6320,6325,6330,6340
6310  L$=M$
6315  M$=N$
6320  N$=O$
6325  O$=P$
6330  P$=Q$
6335  IF T[3]=L[7] THEN 6355
6340  FOR J=T[3]+1 TO L[7]
6345  L[J-1]=L[J]
6350  NEXT J
6355  L[7]=L[7]-1
6360  RETURN 
6400  REM * REPLACE LINE *
6405  GOTO T[3] OF 6410,6420,6430,6440,6450,6460
6410  L$=B$
6415  GOTO 6465
6420  M$=B$
6425  GOTO 6465
6430  N$=B$
6435  GOTO 6465
6440  O$=B$
6445  GOTO 6465
6450  P$=B$
6455  GOTO 6465
6460  Q$=B$
6465  RETURN 
6600  REM * FIND E *
6605  T[1]=M
6610  GOSUB 6005
6615  T[2]=I[63,1]
6620  GOSUB 6105
6625  T[3]=L[7]
6630  GOSUB 6215
6635  T[4]=LEN(B$)
6640  T[6]=1
6645  MAT E=T
6650  RETURN 
6700  GOSUB 6800
6705  GOSUB 6900
6710  RETURN 
6800  MAT  PRINT #1,L[8];L
6805  PRINT #1;L$,M$,N$,O$,P$,Q$
6810  RETURN 
6900  MAT  READ #1,T9;L
6905  READ #1;L$,M$,N$,O$,P$,Q$
6910  RETURN 
7000  REM * PRINT NO. *
7005  Y=INT(X)
7010  IF Y THEN 7025
7015  PRINT SPA(4);
7020  GOTO 7030
7025  PRINT  USING "#,4D";Y
7030  Y=X-INT(X)+.001
7040  GOTO ((Y*10)-INT(Y*10))>.05 OF 7070
7045  GOTO Y>.005 OF 7060
7050  PRINT SPA(5);
7055  RETURN 
7060  PRINT  USING "#,.DXXX";Y-INT(Y)
7065  RETURN 
7070  PRINT  USING "#,.DDXX";Y-INT(Y)
7075  RETURN 
7100  REM * FIND LINE *
7105  F=1
7110  GOSUB 9000
7115  IF F2 THEN 7130
7120  E=3
7125  GOTO 999
7130  IF N THEN 7145
7135  E=20
7140  GOTO 999
7145  D8=T[5]=INT((N+.001)*100)/100
7150  GOSUB 5500
7155  IF  NOT T[6] THEN 7170
7160  E=19
7165  GOTO 999
7170  E=0
7175  RETURN 
7200  REM * DELTA *
7205  X=INT((D7-D6+1.001)*100)/100*D0
7210  Y=INT((D9-D8+.001)*100)/100
7215  IF X<Y THEN 7240
7220  IF D THEN 7235
7225  D0=D0/10
7230  IF D0 >= .01 THEN 7205
7235  E=19
7240  RETURN 
7300  REM * 'TO' *
7305  IF A$[A]="" THEN 7335
7310  IF A$[A,A]="," THEN 9986
7312  IF A$[A,A+1]="to" THEN 7320
7315  IF A$[A,A+1]#"TO" THEN 7335
7320  A=A+1
7325  GOTO 9986
7330  RETURN 
7335  E=3
7340  RETURN 
7400  REM * 'BY' *
7405  D0=A[4]
7410  D=0
7415  IF A$[A]="" THEN 7475
7417  E=2
7420  IF A$[A,A]="," THEN 7435
7422  IF A$[A,A+1]="by" THEN 7430
7425  IF A$[A,A+1]#"BY" THEN 7475
7430  A=A+1
7432  E=0
7435  GOSUB 9986
7440  GOSUB 9000
7445  N=INT((N+.001)*100)/100
7450  IF N THEN 7470
7455  IF E THEN 7475
7460  E=2
7465  GOTO 999
7470  D=D0=N
7475  RETURN 
7500  REM * [,HOLD[Q][,NOW]] *
7505  H=V=0
7510  R=A[7]
7515  IF A$[A]="" THEN 7605
7520  IF A$[A,A]#"," THEN 7527
7525  GOSUB 9986
7527  IF A$[A,A+3]="hold" THEN 7535
7530  IF A$[A,A+3]#"HOLD" THEN 7610
7535  IF F$[7,12]#"      " THEN 7550
7540  E=11
7545  GOTO 999
7550  H=1
7555  A=A+4
7560  GOSUB 9982
7562  IF A$[A,A]="q" THEN 7570
7565  IF A$[A,A]#"Q" THEN 7580
7570  R=1
7575  GOSUB 9986
7580  IF A$[A]="" THEN 7605
7585  IF A$[A,A]#"," THEN 7610
7590  GOSUB 9986
7592  IF A$[A,A+2]="now" THEN 7600
7595  IF A$[A,A+2]#"NOW" THEN 7610
7600  V=1
7605  RETURN 
7610  E=2
7615  GOTO 999
7700  REM * HOLD TO EDIT *
7705  READ #2,1
7710  IF  END #2 THEN 7735
7715  D6=1
7720  FOR D7=1 TO 1.E+30
7725  READ #2;B$
7730  NEXT D7
7735  D7=D7-1
7740  IF D7 THEN 7755
7745  PRINT "THE HOLD FILE IS EMPTY"
7750  RETURN 
7755  GOSUB 7205
7760  IF E THEN 7845
7765  READ #2,1
7770  IF  END #2 THEN 7845
7775  GOTO 7785
7780  D8=T[5]=INT((D8+D0+.001)*100)/100
7785  B$=""
7790  READ #2;H$
7795  FOR Z1=1 TO A[2]-1
7800  B$[Z1,Z1]=" "
7805  NEXT Z1
7806  IF LEN(B$)+LEN(H$) <= A[3] THEN 7810
7807  PRINT "WARNING - LINE LENGTH EXCEEDED : DATA LOST"
7808  E=100
7810  B$[LEN(B$)+1]=H$[1,(A[3]-LEN(B$)) MIN LEN(H$) MAX 1]
7815  IF R AND  NOT E THEN 7835
7817  E=0
7820  X=D8
7825  GOSUB 7005
7830  PRINT B$
7835  GOSUB 4000
7840  GOTO 7780
7845  T[4]=LEN(B$)
7850  RETURN 
7900  T9=INT(((D8-INT(D8))+D0+.001)*100)/100
7905  D8=T[5]=INT(D8)+T9
7910  RETURN 
8900  REM < SIGNED INTEGER >
8905  S=-1
8910  N=0
8915  A=A+1
8920  IF A$[A-1,A-1]="-" THEN 8960
8925  IF A$[A-1,A-1]="+" THEN 8955
8930  A=A-1
8935  RETURN 
8950  REM <<< INTEGER >>>
8955  S=1
8960  GOSUB 9000
8965  N=N*S
8970  IF N=INT(N) THEN 8990
8975  E=8
8985  GOTO 999
8990  RETURN 
9000  REM <<< NUMBER >>>
9010  N=D3=F2=0
9015  P=1
9020  GOSUB 9982
9025  C4=A
9030  GOSUB 9100
9035  P=1
9040  IF A$[A,A]#"." THEN 9065
9045  A=A+1
9050  D3=N
9055  N=0
9060  GOSUB 9100
9065  N=N/P+D3
9070  GOSUB 9982
9075  IF N<10000 THEN 9095
9080  A=C4
9085  E=7
9090  GOTO 999
9095  RETURN 
9100  FOR I=1 TO 10
9105  IF A$[A,A]=Y$[I,I] THEN 9120
9110  NEXT I
9115  RETURN 
9120  N=N*10+I-1
9125  P=P*10
9130  F2=1
9135  A=A+1
9140  GOTO 9100
9980  REM <<< MOVE POINTERS >>>
9982  IF A>LEN(A$) THEN 9990
9983  IF A$[A]="" THEN 9990
9984  IF A$[A,A]#" " THEN 9990
9986  A=A+1
9988  GOTO 9982
9990  RETURN 
9999  END 
