1  COM C0$[11],C0,C1$[11],C1
2  COM C4,C5,F3,D1$[255],G1,G2,D0,D4,D5,D6,D7,D8,D9,A6,A7,A9,N8,N9,L2
3  COM U[20],V[60],F1$[16],C[25],C,B1,L0,L1,K4,K9,B$[255],L$[100]
4  COM H[3,11],G[3,22],H0$[4],H6,K$[7],D0$[255],G$[66]
5  COM P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,L4,Q$[5],R$[6],S$[12],S0$[7],S1$[6],Q3
7  CHAIN "$FCOPY"
8  REM (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1975
15  FILES *,*,*,$FCOPYM
20  DIM A$[255],B0$[11]
30  DIM E$[255],E0$[80]
40  DIM F$[11],F0$[6],H$[72],H1$[72]
50  DIM M$[40],M0$[9]
70  DIM M1$[3],K[3,3]
80  DIM I1$[3],K0$[255]
90  DIM N$[255],X$[20],X0$[20],X1$[20],Y$[72]
100  REM ** TASKS **
1010  GOTO K9 OF 9998,1200,1900,9998,9998,9998,2600,9998,3000,3410,3410
1012  GOTO 9998
1200  REM ** STORE **
1202  H8=K0=K6=P1
1204  FOR I=P1 TO 10
1206  H[P1,I]=P1
1208  NEXT I
1210  I1=POS(L$," ")
1212  IF I1=P0 THEN 1218
1214  L$[I1]=L$[I1+P1,LEN(L$)]
1216  GOTO 1210
1218  I=POS(L$,",")
1220  IF I#P0 THEN 1224
1222  I=LEN(L$)+P1
1224  G$[P1,11]=L$[P1,I-P1]
1226  G$[12,22]=G$[P1,11]
1245  H$="CAT-"
1250  H$[P5]=G$[P1,11]
1260  SYSTEM H1$,H$
1270  IF H1$[P1,P6]=G$[P1,P6] THEN 1300
1280  G9=84
1282  X$=G$[12,22]
1290  GOSUB 7000
1300  IF NUM(H1$[P8])=70 OR NUM(H1$[P8])=77 THEN 1330
1302  IF NUM(H1$[P8])=32 THEN 1310
1304  G9=78
1306  GOTO 1312
1310  G9=85
1312  X$=G$[12,22]
1320  GOSUB 7000
1330  GOTO K6 OF 1331,1370
1331  M7=M9=P1
1332  G[P1,P1]=P1
1334  G[P1,P2]=-P1
1340  GOSUB 9500
1370  K0$="FILE: "
1380  K0$[P7]=G$[P1,11]
1381  IF K0$[LEN(K0$)]#" " THEN 1384
1382  K0$=K0$[P1,LEN(K0$)-P1]
1383  GOTO 1381
1384  M8=P3
1385  M6=P2
1386  N6=K0=P1
1387  IF K6=P1 THEN 1389
1388  K0=P2
1389  GOSUB 7500
1390  K0$="FILE LENGTH: "
1400  CONVERT H1$[11,15] TO H[P1,P4],8777
1410  K0$[14]=H1$[11,15]
1440  K0=P2
1450  GOSUB 7500
1460  K0$="RECORD LENGTH: "
1470  CONVERT H1$[19,21] TO H[P1,P5],2777
1480  GOTO 1500
1490  H[P1,P5]=256
1500  CONVERT H[P1,P5] TO K0$[16]
1510  GOSUB 7500
1520  K0$="STATE: "
1530  K0$[P8]=H1$[P9,P9]
1540  GOSUB 7500
1542  E0$=""
1550  K0=P1
1560  GOSUB 7100
1561  N$=K0$
1562  N7=M6
1564  M6=P2
1570  K0=P2
1580  GOTO K1 OF 1582,1670
1582  IF N6#P1 THEN 1596
1584  IF N7#P3 THEN 1590
1586  M6=N7
1588  GOTO 1560
1590  E$="R"
1592  CONVERT K[H8,P2] TO E$[P2]
1594  GOSUB 1700
1596  GOTO N7 OF 1600,1626,1662,1560
1600  CONVERT K2 TO E$
1602  CONVERT E$ TO K3
1604  IF K2#K3 THEN 1614
1606  E$="N"
1608  CONVERT K2 TO E$[P2]
1610  GOSUB 1700
1612  GOTO 1666
1614  E$="D"
1616  CONVERT K2 TO E$[P2]
1618  GOSUB 1700
1620  CONVERT K2-K3 TO E$
1622  GOSUB 1700
1624  GOTO 1666
1626  IF H[P3,P3]=P3 AND POS(N$,'1)=P0 THEN 1634
1627  FOR K2=P1 TO LEN(N$)
1628  K3=NUM(N$[K2])
1630  IF K3<32 OR K3>126 THEN 1646
1632  NEXT K2
1634  E$="S"
1638  GOSUB 1700
1640  E$=N$
1642  GOSUB 1700
1644  GOTO 1666
1646  E$="C"
1648  CONVERT LEN(N$) TO E$[P2]
1650  GOSUB 1700
1652  FOR K2=P1 TO LEN(N$)
1654  CONVERT NUM(N$[K2]) TO E$
1656  GOSUB 1700
1658  NEXT K2
1660  GOTO 1666
1662  E$="E"
1664  GOSUB 1700
1666  M6=N7
1668  GOTO 1560
1670  IF E0$="" THEN 1674
1671  K0$=E0$
1672  M6=P2
1673  GOSUB 7500
1674  K0$="F"
1676  GOSUB 7500
1678  GOTO 1771
1700  REM
1702  K5=LEN(E0$)
1704  IF K5+LEN(E$) <= 79 THEN 1718
1708  E0$[K5+P1]=E$[P1,80-K5]
1709  K0$=E0$
1710  GOSUB 7500
1712  E0$=""
1714  E$=E$[81-K5,LEN(E$)]
1716  GOTO 1702
1718  E0$[K5+P1]=E$
1720  E0$[LEN(E0$)+P1]='1
1722  RETURN 
1771  IF H[M8,P3]=P8 THEN 1780
1772  X$=G$[12,22]
1774  A1=141
1776  GOSUB 4700
1780  IF I=LEN(L$)+P1 THEN 1810
1790  L$=L$[I+P1]
1795  K6=P2
1800  GOTO 1210
1810  K0$="X"
1812  M6=P2
1814  GOSUB 7500
1816  IF H[P3,P3]#P8 THEN 3500
1820  FOR I=P1 TO 20
1830  PRINT CHR$(P0);
1840  NEXT I
1850  GOTO 3500
1900  REM ** RESTORE **
1901  L$=UOS$(L$)
1902  I=POS(L$," ")
1904  IF I=P0 THEN 1910
1906  L$[I]=L$[I+P1,LEN(L$)]
1908  GOTO 1902
1910  K0=H8=P1
1912  G[P1,P1]=P1
1914  G[P1,P2]=-P1
1920  GOSUB 7100
1930  IF K1=P2 OR M6#P2 THEN 2500
1932  IF K0$[P1,P1]="X" THEN 2494
1945  I1=P0
1950  I=I1+P1
1960  I1=POS(L$[I],",")+I-P1
1970  IF I1#I-P1 THEN 1990
1980  I1=LEN(L$)+P1
1990  IF I <= I1-P1 THEN 1996
1992  G9=91
1994  GOSUB 7000
1996  FOR I2=I TO I1-P1
2000  I3=NUM(L$[I2])
2010  IF I3 >= 48 AND I3 <= 57 OR I3 >= 65 AND I3 <= 90 THEN 2024
2020  G9=82
2022  GOSUB 7000
2024  NEXT I2
2026  IF K0$[LEN(K0$)]#" " THEN 2030
2028  K0$=K0$[P1,LEN(K0$)-P1]
2030  IF L$[I,I1-P1]=K0$[P7] THEN 2082
2040  IF I1#LEN(L$)+P1 THEN 1950
2050  K0=P2
2060  GOSUB 7100
2061  IF LEN(K0$)>P2 THEN 2060
2062  IF K0$[P1,P2]#"F " THEN 2060
2064  GOTO 1920
2082  PURGE H9,K0$[P7]
2084  GOTO H9+P1 OF 2091,2088,9998,2091
2088  G9=74
2089  X$=K0$[P7]
2090  GOSUB 7000
2091  G$[45,55]=K0$[P7]
2092  G$[56,66]=K0$[P7]
2100  K0=P2
2110  GOSUB 7100
2120  CONVERT K0$[14] TO H[P3,P4],8777
2130  GOSUB 7100
2140  CONVERT K0$[16] TO H[P3,P5]
2150  CREATE H9,G$[45,55],H[P3,P4],H[P3,P5]
2160  GOTO H9+P1 OF 2190,2162,9998,2170,2170
2162  X$=G$[45,55]
2164  G9=100
2166  GOSUB 7000
2170  G9=60+H9
2180  GOSUB 7000
2190  GOSUB 7100
2200  IF K0$[P8]="L" THEN 2302
2210  IF K0$[P8]#"U" THEN 2240
2220  H$="UNR-"
2230  GOTO 2280
2240  IF K0$[P8]#"P" THEN 2270
2250  H$="PRO-"
2260  GOTO 2280
2270  H$="PRI-"
2280  H$[P5]=G$[45,55]
2290  SYSTEM H9,H$
2300  IF H9#P0 THEN 9998
2302  ASSIGN G$[45,55],P3,H9, PR 
2304  IF H9#P0 THEN 9998
2310  GOSUB 2550
2312  GOTO POS("RSCNDEF",E$[P1,P1]) OF 2316,2322,2328,2346,2352,2362,2465
2314  GOTO 9998
2316  CONVERT E$[P2] TO K2
2318  PRINT #P3,K2
2320  GOTO 2310
2322  GOSUB 2550
2324  PRINT #P3;E$
2326  GOTO 2310
2328  CONVERT E$[P2] TO K2
2330  N$=""
2332  FOR K3=P1 TO K2
2334  GOSUB 2550
2336  CONVERT E$ TO K5
2338  N$[LEN(N$)+P1]=CHR$(K5)
2340  NEXT K3
2342  PRINT #P3;N$
2344  GOTO 2310
2346  CONVERT E$[P2] TO K2
2348  PRINT #P3;K2
2350  GOTO 2310
2352  CONVERT E$[P2] TO K2
2354  GOSUB 2550
2356  CONVERT E$ TO K3
2358  PRINT #P3;K2+K3
2360  GOTO 2310
2362  PRINT #P3; END 
2364  GOTO 2310
2465  ASSIGN *,P3
2467  A1=140
2469  X$=G$[56,66]
2471  GOSUB 4700
2472  IF I1=LEN(L$)+P1 THEN 2478
2474  L$[I]=L$[I1+P1]
2476  GOTO 2490
2478  IF I=P1 THEN 3500
2480  L$[I-P1]=""
2490  GOSUB 7100
2492  IF K1=P2 OR M6#P2 THEN 2494
2493  IF K0$[P1,P1]#"X" THEN 1945
2494  G9=86
2495  X$=L$
2496  GOSUB 7000
2500  G9=81
2510  GOSUB 7000
2550  REM
2552  E$=""
2554  IF LEN(E0$)#P0 THEN 2559
2556  GOSUB 7100
2557  IF POS(E0$,'1)=P0 AND LEN(K0$) <= P2 THEN 2572
2558  E0$=K0$
2559  K5=POS(E0$,'1)
2560  IF K5#P0 THEN 2566
2562  E$[LEN(E$)+P1]=E0$
2564  GOTO 2556
2566  E$[LEN(E$)+P1]=E0$[P1,K5-P1]
2568  E0$=E0$[K5+P1,LEN(E0$)]
2570  RETURN 
2572  E$=K0$
2574  E0$=""
2576  RETURN 
2600  REM ** COMPARE **
2605  I3=P0
2610  K0=P1
2620  H8=P1
2621  GOSUB 7100
2622  I2=K1
2624  IF K1=P2 THEN 2680
2630  GOTO M6 OF 2640,2660,2670,2670
2640  I=K2
2650  GOTO 2670
2660  N$=K0$
2670  I1=M6
2680  H8=P2
2685  GOSUB 7100
2691  K0=P2
2692  IF I2#K1 THEN 2880
2694  IF K1=P2 THEN 2930
2700  IF I1#M6 THEN 2750
2710  GOTO M6 OF 2720,2740,2620,2620
2720  IF I=K2 THEN 2620
2730  GOTO 2750
2740  IF N$=K0$ THEN 2620
2750  I3=I3+P1
2760  GOTO L2 OF 2770,2870
2770  IF I3#P1 THEN 2840
2780  A1=137
2820  GOSUB 4700
2825  PRINT LIN(P1);"  FILE "G$[12,22];TAB(20);"FILE "G$[34,44];LIN(P1)
2840  CONVERT K[P1,P2] TO X$
2850  CONVERT K[P2,P2] TO X0$
2860  PRINT TAB(P6-LEN(X$));X$;TAB(24-LEN(X0$));X0$
2870  IF I3 >= L0 THEN 2880
2872  K[P1,P3]=K[P2,P3]=P2
2874  GOTO 2620
2880  A1=139
2890  CONVERT I3 TO X$
2900  GOSUB 4700
2902  GOTO SGN(I2-K1)+P2 OF 2903,2910,2905
2903  X$=G$[34,44]
2904  GOTO 2906
2905  X$=G$[12,22]
2906  G9=73
2907  GOSUB 7000
2910  G9=89
2920  GOSUB 7000
2930  A1=139
2940  CONVERT I3 TO X$
2950  GOSUB 4700
2960  GOTO 3500
3000  REM ** APPEND **
3001  H9=BRK(P0)
3002  ASSIGN G$[P1,11],P1,H9, PR 
3003  IF H9#P0 THEN 3006
3004  ASSIGN G$[23,33],P2,H9, PR 
3005  IF H9=P0 THEN 3010
3006  G9=14
3007  GOSUB 7000
3010  G$[45,55]=Q$
3012  G$[50,50]="A"
3020  CREATE H9,G$[45,55],H[P2,P4]
3030  IF H9=P0 THEN 3040
3032  G9=H9+46
3034  GOSUB 7000
3040  ASSIGN G$[45,55],P3,H9, PR 
3080  I1=P2
3090  I2=P3
3100  GOSUB 3270
3110  ASSIGN *,2
3120  PURGE H9,G$[23,33]
3140  CREATE H9,G$[23,33],H[P1,P4]+H[P2,P4]
3150  IF H9=P0 THEN 3200
3155  G9=H9+46
3160  CREATE H9,G$[23,33],H[P2,P4]
3170  ASSIGN G$[23,33],P2,H9, PR 
3172  READ #P3,P1
3174  I1=P3
3176  I2=P2
3180  GOSUB 3270
3182  ASSIGN *,P3
3184  PURGE H9,G$[45,55]
3190  GOSUB 7000
3200  ASSIGN G$[23,33],P2,H9, PR 
3202  READ #P3,P1
3204  I1=P3
3206  I2=P2
3210  GOSUB 3270
3220  I1=P1
3225  PRINT #P2,H[P2,P4]+P1
3230  GOSUB 3270
3240  ASSIGN *,P3
3250  PURGE H9,G$[45,55]
3252  GOTO H[P2,P9] OF 3254,3258,3267,3262
3254  H$="UNR-"
3256  GOTO 3264
3258  H$="PRO-"
3260  GOTO 3264
3262  H$="PRI-"
3264  H$[P5]=G$[23,33]
3266  SYSTEM H9,H$
3267  X$=G$[12,22]
3268  X0$=G$[34,44]
3269  GOTO 3500
3270  REM
3280  IF  END #I1 THEN 3400
3285  IF  END #I2 THEN 3400
3290  GOTO TYP(-I1) OF 3300,3330,3360,3370
3300  READ #I1;K2
3310  PRINT #I2;K2
3320  GOTO 3290
3330  READ #I1;K0$
3340  PRINT #I2;K0$
3350  GOTO 3290
3360  PRINT #I2; END 
3370  READ #I1,REC(I1)+P1
3380  PRINT #I2,REC(I2)+P1
3390  GOTO 3290
3400  RETURN 
3410  REM ** LENGTHEN/SHORTEN **
3411  H9=BRK(P0)
3412  ASSIGN G$[P1,11],P1,H9, PR 
3414  IF H9=P0 THEN 3420
3416  G9=14
3418  GOSUB 7000
3420  G$[45,49]=Q$
3430  G$[50,50]="A"
3432  CREATE H9,G$[45,55],H[P1,P4]
3433  IF H9=P0 THEN 3436
3434  G9=H9+46
3435  GOSUB 7000
3436  ASSIGN G$[45,55],P3,H9, PR 
3437  I1=P1
3438  I2=P3
3439  GOSUB 3270
3440  ASSIGN *,P1
3441  PURGE H9,G$[P1,11]
3442  IF K9=11 THEN 3445
3443  CREATE H9,G$[P1,11],H[P1,P4]+L1
3444  GOTO 3449
3445  IF H[P1,P4]-L1 >= P1 THEN 3448
3446  G9=76
3447  GOTO 3451
3448  CREATE H9,G$[P1,11],H[P1,P4]-L1
3449  IF H9=P0 THEN 3460
3450  G9=H9+46
3451  CREATE H9,G$[P1,11],H[P1,P4]
3452  ASSIGN G$[P1,11],P1,H9, PR 
3453  READ #P3,P1
3454  I1=P3
3455  I2=P1
3456  GOSUB 3270
3457  ASSIGN *,P3
3458  PURGE H9,G$[45,55]
3459  GOSUB 7000
3460  ASSIGN G$[P1,11],P1,H9, PR 
3461  I1=P3
3462  I2=P1
3463  READ #P3,P1
3464  GOSUB 3270
3465  ASSIGN *,P3
3466  PURGE H9,G$[45,55]
3467  GOTO H[P1,P9] OF 3468,3470,3475,3472
3468  H$="UNR-"
3469  GOTO 3473
3470  H$="PRO-"
3471  GOTO 3473
3472  H$="PRI-"
3473  H$[P5]=G$[P1,11]
3474  SYSTEM H9,H$
3475  X$=G$[12,22]
3476  GOTO 3500
3500  IF G2=P2 THEN 3530
3502  A1=K9+125
3510  B1=P0
3520  GOSUB 4700
3530  K$[C]="FCOPY"
3550  CHAIN K$,100
4000  REM
4010  GOTO A2 OF 4020,4160
4020  A2=P2
4025  FOR A4=P2 TO 128
4030  GOTO SGN(V[A4])+P2 OF 4060,4070,4040
4040  GOTO SGN(V[A4]-A)+P2 OF 4050,4080,4070
4050  A5=A4
4060  NEXT A4
4065  GOTO 9998
4070  A4=A5
4080  READ #P4,A4
4090  GOTO TYP(P4) OF 4100,4120,4140
4100  READ #P4;A5
4110  IF A5=A THEN 4160
4115  GOTO 4090
4120  READ #P4;A$
4130  GOTO 4090
4140  B6=P2
4150  RETURN 
4160  B6=P1
4165  IF TYP(P4)#P2 THEN 4200
4170  READ #P4;A$
4180  A3=P1
4190  RETURN 
4200  A3=P2
4210  RETURN 
4700  REM
4710  A=A1*10+P1
4720  A2=P1
4730  GOSUB 4000
4740  IF B6=P2 THEN 4830
4750  B4=P0
4751  X9=POS(A$,"@")
4752  IF X9=P0 THEN 4768
4753  Y$=A$
4754  IF X$="" THEN 4758
4755  A$[X9]=X$
4756  X$=""
4757  GOTO 4763
4758  IF X0$="" THEN 4762
4759  A$[X9]=X0$
4760  X0$=""
4761  GOTO 4763
4762  A$[X9]=X1$
4763  IF A$[LEN(A$)]#" " THEN 4766
4764  A$=A$[P1,LEN(A$)-P1]
4765  GOTO 4763
4766  A$[LEN(A$)+P1]=Y$[X9+P1]
4767  GOTO 4751
4768  PRINT TAB(B1);A$
4770  B4=B4+P1
4780  GOSUB 4000
4790  IF A3=P2 THEN 4830
4800  IF B4<20 THEN 4751
4810  GOSUB 7700
4820  GOTO M1 OF 4750,4830
4830  F5=P1
4840  RETURN 
5000  REM
5010  PRINT K0$
5020  RETURN 
7000  REM
7002  GOTO F3 OF 7004,7004,7028
7004  A1=G9
7006  PRINT CHR$(P7)
7008  GOSUB 4700
7010  IF F3=P1 THEN 7018
7012  A1=98
7014  GOSUB 4700
7016  GOTO 9200
7018  IF LEN(D1$)=P0 THEN 7028
7020  A1=101
7022  GOSUB 4700
7024  PRINT TAB(B1);D1$
7026  D1$=""
7028  C1=G9
7030  GOTO 9200
7050  REM
7052  GOTO G2 OF 7054,7062
7054  PRINT CHR$(P7)
7056  A1=G9
7058  GOSUB 4700
7060  GOSUB 7700
7062  RETURN 
7100  REM
7102  K1=P1
7103  GOTO K0 OF 7104,7128
7104  M9=P1
7106  M7=H8
7108  N6=P0
7110  GOSUB 9500
7112  IF H[H8,P3]=P8 THEN 7226
7113  IF H[H8,P3]=P9 THEN 7116
7114  IF  END #H8 THEN 7246
7116  GOTO H[H8,P3] OF 7148,7118,7118,7118,9998,7118,9998,7226,7262
7118  FOR H=P1 TO G[H8,P1]-P1
7120  LINPUT #H8;A$[P1,P1]
7122  NEXT H
7124  IF  END #H8 THEN 7244
7126  GOTO 7202
7128  Q7=K[H8,P2]
7130  GOTO H[H8,P3] OF 7132,7180,7180,7180,9998,7180,9998,7224,7280
7132  GOTO K[H8,P3] OF 7156,7134
7134  H0=K[H8,P1]
7136  IF K[H8,P2]<G[H8,H0+P1] OR G[H8,H0+P1]=-P1 THEN 7146
7138  IF G[H8,H0+P2]=P0 THEN 7258
7140  IF  END #H8 THEN 7246
7142  K[H8,P1]=H0+P2
7144  K[H8,P2]=G[H8,H0+P2]-P1
7146  K[H8,P2]=K[H8,P2]+P1
7148  READ #H8,K[H8,P2]
7150  IF  END #H8 THEN 7244
7152  N6=P1
7154  GOTO 7158
7156  N6=N6+P1
7158  M6=TYP(-H8)
7160  GOTO M6 OF 7162,7168,7176,7176
7162  READ #H8;K2
7164  K[H8,P3]=P1
7166  RETURN 
7168  READ #H8;K0$
7172  K[H8,P3]=P1
7173  IF G1=P2 THEN 7214
7174  RETURN 
7176  K[H8,P3]=P2
7178  RETURN 
7180  H0=K[H8,P1]
7182  IF K[H8,P2]<G[H8,H0+P1] OR G[H8,H0+P1]=-P1 THEN 7200
7184  IF G[H8,H0+P2]=P0 THEN 7258
7186  IF  END #H8 THEN 7246
7188  FOR H=G[H8,H0+P1]+P1 TO G[H8,H0+P2]-P1
7190  LINPUT #H8;A$[P1,P1]
7192  NEXT H
7194  IF  END #H8 THEN 7244
7196  K[H8,P1]=H0+P2
7198  K[H8,P2]=G[H8,H0+P2]-P1
7200  K[H8,P2]=K[H8,P2]+P1
7202  GOTO G1 OF 7204,7210
7204  LINPUT #H8;K0$
7208  RETURN 
7210  LINPUT #H8;K0$[P1,255]
7214  FOR H=255 TO P1 STEP -P1
7216  IF K0$[H,H]#" " THEN 7220
7218  NEXT H
7220  K0$=K0$[P1,H]
7222  RETURN 
7224  IF M6=P3 THEN 7258
7226  SYSTEM H,"ECHO-ON"
7227  PRINT "? ";
7228  LINPUT K0$
7229  SYSTEM H,"ECHO-OFF"
7230  N6=N6+P1
7232  IF K0$[P1,P2]#"::" THEN 7238
7234  M6=P3
7235  K[H8,P2]=P0
7236  RETURN 
7238  K[H8,P2]=N6
7242  RETURN 
7244  IF G[H8,K[H8,P1]+P1]=-P1 THEN 7252
7246  G9=73
7248  X$=G$[12,22]
7250  GOSUB 7000
7252  IF M6=P3 OR H[H8,P3]=P1 THEN 7258
7254  M6=P3
7256  RETURN 
7258  K1=P2
7260  RETURN 
7262  IF G[H8,P1]=P1 THEN 7307
7264  CONVERT H[H8,P9] TO S$[P4,P4]
7266  CONVERT G[H8,P1]-P1 TO S$[P7,P9]
7270  PRINT S$;LIN(P0);
7272  LINPUT H$
7273  PRINT '27"A"'27"A"
7274  GOSUB 8900
7275  IF H=INT(H/P2)*P2 THEN 7307
7276  X$=G$[12,22]
7277  G9=73
7278  GOSUB 7000
7280  H0=K[H8,P1]
7281  IF M6=P3 THEN 7244
7282  IF K[H8,P2]<G[H8,H0+P1] OR G[H8,H0+P1]=-P1 THEN 7304
7284  IF G[H8,H0+P2]=P0 THEN 7258
7288  FOR H1=G[H8,H0+P1]+P1 TO G[H8,H0+P2]-P1
7290  PRINT S0$;LIN(P0);
7292  LINPUT K0$
7293  PRINT '27"A"'27"A"
7294  IF K0$=CHR$(30) THEN 7330
7296  NEXT H1
7300  K[H8,P1]=H0+P2
7302  K[H8,P2]=G[H8,H0+P2]-P1
7304  K[H8,P2]=K[H8,P2]+P1
7307  PRINT S0$;LIN(P0);
7308  GOTO G1 OF 7310,7314
7310  LINPUT K0$
7312  GOTO 7324
7314  LINPUT K0$[P1,255]
7316  FOR H=255 TO P1 STEP -P1
7318  IF K0$[H,H]#" " THEN 7322
7320  NEXT H
7322  K0$=K0$[P1,H]
7324  PRINT '27"A"'27"A"
7325  IF K0$=CHR$(30) THEN 7330
7328  RETURN 
7330  M6=P3
7332  RETURN 
7500  REM
7502  GOTO K0 OF 7504,7556
7504  M9=P2
7506  Q8=P1
7507  M7=M8
7508  GOSUB 9500
7510  IF H[M8,P3]=P5 OR H[M8,P3] >= P7 THEN 7514
7512  IF  END #M8 THEN 7696
7514  GOTO H[M8,P3] OF 7516,7520,7520,9998,7608,9998,7622,7530,7540
7516  K[M8,P2]=G[M8,P1]
7518  GOTO 7580
7520  FOR H=P1 TO G[M8,P1]-P1
7522  LINPUT #M8;A$[P1,P1]
7524  NEXT H
7526  IF H[M8,P3]=P2 THEN 7586
7528  GOTO 7602
7530  IF K9>P2 AND D9=P2 THEN 7622
7532  FOR H=P1 TO 20
7534  PRINT CHR$(P0);
7536  NEXT H
7538  GOTO 7622
7540  IF G[M8,P1]=P1 THEN 7556
7542  S$[P5]="s0R"
7544  FOR H1=P1 TO G[M8,P1]-P1
7546  PRINT S$;LIN(P0);
7548  LINPUT H$
7549  PRINT '27"A"'27"A"
7550  IF H$#CHR$(30) THEN 7553
7551  X$=G$[56,66]
7552  GOTO 7277
7553  NEXT H1
7556  GOTO H[M8,P3] OF 7558,7586,7602,9998,7608,9998,7626,7624,7650
7558  IF N6#P1 OR H[H8,P3]#P1 THEN 7608
7560  Q8=P1
7562  IF REC(M8)=K[M8,P2] THEN 7576
7564  CONVERT Q7 TO X$
7566  G9=80
7568  X0$=G$[12,22]
7570  X1$=G$[56,66]
7571  Q4=P1
7572  GOSUB 7050
7574  Q8=P2
7576  K[M8,P2]=K[M8,P2]+P1
7578  IF  END #M8 THEN 7696
7580  PRINT #M8,K[M8,P2]
7582  IF  END #M8 THEN 7687
7584  GOTO 7608
7586  GOTO M6 OF 7610,7614,7587,7606
7587  IF H[H8,P3]#P1 THEN 7598
7588  CONVERT K[H8,P2] TO X$
7590  X0$=G$[12,22]
7592  X1$=G$[56,66]
7594  G9=92
7595  Q4=P1
7596  GOSUB 7050
7598  PRINT #M8; END 
7600  RETURN 
7602  GOTO M6 OF 7610,7614,7604,7606
7604  PRINT #M8;CTL(21)
7606  RETURN 
7608  GOTO M6 OF 7610,7614,7618,7620
7610  PRINT #M8;K2
7612  RETURN 
7614  PRINT #M8;K0$
7616  RETURN 
7618  PRINT #M8; END 
7620  RETURN 
7622  B3=0
7624  IF K9=P1 AND H[M8,P3]=P8 THEN 7630
7626  GOSUB 5000
7628  RETURN 
7630  GOTO M6 OF 7632,7636,7640,7646
7632  PRINT K2
7634  RETURN 
7636  PRINT K0$
7638  RETURN 
7640  FOR H=P1 TO 10
7642  PRINT CHR$(P0);
7644  NEXT H
7646  RETURN 
7650  GOTO M6 OF 7652,7654,7680,7676
7652  CONVERT K2 TO K0$
7654  IF LEN(K0$)>50 THEN 7657
7655  PRINT S1$;K0$
7656  GOTO 7666
7657  CONVERT LEN(S1$) TO R$[P3,P5]
7658  PRINT  USING R$;S1$
7659  CONVERT LEN(K0$) MAX P1 TO R$[P3,P5]
7660  PRINT  USING R$;K0$
7661  PRINT 
7666  GOSUB 8900
7668  H=NUM(H$[P5])
7670  IF H=INT(H/P4)*P4 THEN 7676
7672  G9=321
7674  GOSUB 7000
7676  RETURN 
7680  CONVERT H[M8,P9] TO S$[P4,P4]
7681  S$[P6]="5C"
7683  PRINT S$
7684  LINPUT H$
7685  PRINT '27"A"'27"A"'27"A"
7686  RETURN 
7687  Q8=P2
7688  RETURN 
7696  G9=73
7697  X$=G$[56,66]
7698  GOSUB 7000
7700  REM
7710  PRINT 
7712  GOTO Q4 OF 7720,7724
7720  PRINT "Continue? ";
7722  GOTO 7726
7724  PRINT "Will you wait? ";
7726  SYSTEM H,"ECHO-ON"
7730  LINPUT M1$[P1,P3]
7740  FOR M1=P1 TO LEN(M1$)
7750  IF M1$[M1,M1]#" " THEN 7770
7760  NEXT M1
7770  M1$=M1$[M1,LEN(M1$)]
7780  IF M1$="" THEN 7840
7790  M1$=UOS$(M1$)
7800  IF M1$[P1,P1]="Y" THEN 7840
7810  IF M1$[P1,P1]="N" THEN 7850
7820  PRINT "** TYPE 'YES' (OR JUST A CARRIAGE RETURN) OR 'NO' **"
7830  GOTO 7712
7840  PRINT 
7842  SYSTEM H,"ECHO-OFF"
7844  GOTO Q4 OF 7848,7846
7846  PRINT "Waiting..."
7848  RETURN 
7850  K$[C]="FCOPY"
7860  CHAIN K$,100
8700  REM ** MATCH **
8710  A2=P1
8720  A=A1*10+P1
8730  F5=P2
8740  GOSUB 4000
8750  IF A3=P2 THEN 8840
8760  F5=F5+P1
8770  G7=POS(A$,"@")
8800  IF N$[P1,G7-P1]#A$[P1,G7-P1] THEN 8740
8801  A$[G7]=A$[G7+P1,LEN(A$)]
8802  G7=POS(N$,"-")
8804  IF G7#P0 THEN 8810
8806  G7=LEN(N$)+P1
8810  IF N$[P1,G7-P1]=A$[P1,G7-P1] THEN 8870
8830  GOTO 8740
8840  GOSUB 7000
8860  F5=P1
8870  RETURN 
8900  REM *STATUS*
8905  S$[P5]="^"
8920  PRINT S$;LIN(P0);
8930  LINPUT H$
8932  PRINT '27"A"'27"A"
8935  IF LEN(H$)#P7 THEN 8920
8940  H=NUM(H$[LEN(H$)])
8950  IF H#INT(H/P2)*P2 THEN 8980
8960  G9=308
8970  GOSUB 7000
8980  S$[P5]="u+   p1C"
8985  H=INT(H/P2)
8990  RETURN 
9200  REM ** TERMINATE **
9360  K$[C]="FCOPY"
9370  CHAIN K$,100
9500  REM 
9502  Q5=P1
9520  B0$=G$[M7*22-21,M7*22-11]
9572  IF H[M7,P3]=P8 THEN 9800
9574  IF H[M7,P3]=P9 THEN 9962
9576  GOTO H[M7,10] OF 9590,9610
9590  ASSIGN B0$,M7,H9, PR 
9600  GOTO 9620
9610  ASSIGN B0$,M7,H9,B$, PR 
9620  GOTO M9 OF 9630,9650
9630  IF H9>2 THEN 9932
9631  IF Q5=P1 OR G2=P2 THEN 9635
9632  PRINT "File now available."
9635  H[M7,1]=2
9640  GOTO 9670
9650  IF H9#0 AND H9#8 THEN 9932
9651  IF Q5=P1 OR G2=P2 THEN 9653
9652  PRINT "File now available."
9653  H[M7,P1]=P2
9660  IF H[M7,3]=5 THEN 9780
9665  IF H[M7,3]=7 THEN 9840
9670  IF  END #M7 THEN 9770
9680  FOR H=1 TO H[M7,8]-1
9690  GOTO H[M7,3] OF 9700,9998,9730,9750,9998,9750,9998,9998
9700  ADVANCE #M7;32768.,H9
9702  IF  END #M7 THEN 9722
9710  READ #M7,REC(M7)+1
9720  GOTO 9770
9722  G9=73
9724  GOTO 9942
9730  PRINT #M7;CTL(21)
9740  GOTO 9770
9750  IF  END #M7 THEN 9760
9752  LINPUT #M7;A$[P1,P1]
9754  GOTO 9752
9760  ASSIGN B0$,M7,H9
9770  NEXT H
9780  K[M7,1]=1
9790  K[M7,2]=G[M7,1]
9800  GOTO M9 OF 9810,9830
9810  E$=""
9812  M6=2
9814  K[M7,3]=1
9820  RETURN 
9830  GOTO K9 OF 9835,9910,9910,9835,9835,9835,9910,9835,9910,9910,9910
9835  IF H[M7,P3] <= P6 OR H[M7,P3]=P8 AND K9=P1 OR H[M7,P3]=P9 THEN 9910
9840  E4=2
9850  GOTO D0 OF 9860,9880
9860  E0=72
9870  GOTO 9890
9880  E0=132
9890  IF D5=3 THEN 9920
9900  E3=D0*(D4+1)*(D5+2)*2
9910  RETURN 
9920  E3=E0-1-(D9-1)*7
9930  RETURN 
9932  IF H9=P3 THEN 9941
9933  IF H9=P2 THEN 9939
9934  GOTO Q5 OF 9935,9954
9935  GOTO H[M7,11] OF 9936,9944,9946
9936  G9=74
9937  X$=B0$
9938  GOTO 9948
9939  G9=12
9940  GOTO 9942
9941  G9=75
9942  X$=B0$
9943  GOSUB 7000
9944  G9=H[M7,P3]+312
9945  GOTO 9948
9946  G9=H[M7,P3]+307
9948  Q4=P2
9950  GOSUB 7050
9952  Q5=P2
9954  ENTER 10,H,H$
9955  IF H<P0 THEN 9520
9956  G9=83
9958  GOSUB 7000
9962  S$='27"&p u   p2C"
9964  CONVERT H[M7,P9] TO S$[P4,P4]
9965  CONVERT H[M7,8] TO S$[P6,P8]
9967  SYSTEM H,"ECHO-OFF"
9968  PRINT S$;LIN(P0);
9970  LINPUT H$
9971  PRINT '27"A"'27"A"
9972  GOSUB 8900
9974  IF H#INT(H/P2)*P2 THEN 9996
9976  GOTO M9 OF 9977,9979
9977  CONVERT H[M7,P9] TO S0$[P4,P4]
9978  GOTO 9780
9979  CONVERT H[M7,P9] TO S1$[P4,P4]
9980  H=INT(NUM(H$[P6])/P4)
9981  IF H=INT(H/P2)*P2 THEN 9780
9982  G9=320
9983  GOSUB 7000
9984  B0$=G$[M7*22-11,M7*22]
9985  G9=73
9987  GOSUB 7000
9988  G9=308
9990  GOSUB 7000
9992  G9=309
9994  GOSUB 7000
9996  G9=321
9997  GOSUB 7000
9998  PRINT "**ERROR**"
9999  END 
