home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / DF1.DSK / L.bas < prev    next >
BASIC Source File  |  2014-09-09  |  27KB  |  408 lines

  1. 10 TE$ = "": POKE 216,0: TEXT : SPEED= 255:D$ =  CHR$(4): PRINT D$"NOMON I,O,C": GOSUB 700: POKE 37902,255: GOTO 110
  2. 30  ONERR  GOTO 775
  3. 40  IF P1$ = "Y"  THEN  PRINT D$"OPEN DATE": PRINT D$"READ DATE": CALL 783:DA$ =  MID$ (TE$,1): PRINT CL$
  4. 50  PRINT D$"OPEN"N$".P": PRINT D$"READ"N$".P": INPUT CO,F1,LI,F2,F1$,F3,F3$,F6$,F8$,F8,MO,CT$,N,TF$,LF$: PRINT CL$: POKE 216,0: RETURN 
  5. 90  PRINT  TAB( 3)"* UNIV. DATA MANAGEMENT SYSTEM 4.0 *": PRINT  TAB( 6)"COPYRIGHT 1980 BY W.L.PASSAUER": RETURN 
  6. 110 D1 =  PEEK(864):P$ =  CHR$( PEEK(865)):P1$ =  CHR$( PEEK(866)):S$ =  STR$( PEEK(867)):I =  PEEK(868): FOR X = 869 TO I +868:N$ = N$ + CHR$( PEEK(X)): NEXT :RF$ = D$ +"READ" +N$ +",R":OF$ = D$ +"OPEN" +N$ +",L":CL$ = D$ +"CLOSE"
  7. 150  IF D1 = 1  THEN  HOME : PRINT  CHR$(7): VTAB 12: HTAB 4: PRINT "LOAD ";: INVERSE : PRINT "DATA DISK";: NORMAL : PRINT " THEN PRESS 'RTN'";: GET Z$
  8. 160  PRINT : PRINT D$"OPEN"N$".V,D"D1: PRINT D$"READ"N$".V": INPUT NC,RC,RR: DIM CL(NC +10): FOR X = 1 TO NC: INPUT CL(X): NEXT 
  9. 200 LL = (CL(NC) +NC): PRINT D$"OPEN"N$",L"LL: DIM PC(NC +5),S$(RC),H$(NC),CL%(NC),A$(NC),X4(NC)
  10. 220  FOR X = 1 TO NC:B1 = CL(X -1): PRINT D$"READ"N$",R"0",B"B1: CALL 783:H$(X) =  MID$ (TE$,1): NEXT : PRINT D$"CLOSE": FOR X = 1 TO NC:CL%(X) = CL(X) -CL(X -1) -1: NEXT : GOSUB 30
  11. 240  PRINT  CHR$(7);: IF S$ = "12"  THEN 5000
  12. 270  IF S$ = "20"  THEN 7000
  13. 280  IF S$ = "10"  THEN 9000
  14. 290  IF S$ = "19"  THEN 6000
  15. 300  PRINT D$"PR#"F8: IF F8 = 3  AND   NOT D6  THEN  PRINT :D6 = 1
  16. 301  IF CT$ < >""  THEN  PRINT CT$;
  17. 302  RETURN 
  18. 310  PRINT D$"PR#"MO: RETURN 
  19. 320  IF V$ = "V"  OR S < >0  THEN 330
  20. 322  GOSUB 300: FOR LF = LN TO LI: IF LF$ = "Y"  THEN  PRINT  CHR$(10): GOTO 327
  21. 325  PRINT 
  22. 327  NEXT : IF F3$ = "Y"  THEN PG = PG +1: PRINT  TAB( TB)"PAGE-";PG: GOSUB 310: RETURN 
  23. 330  GOSUB 310: RETURN 
  24. 340  ONERR  GOTO 360
  25. 350  PRINT : PRINT OF$LL",D"D1: FOR I = 1 TO RC:B1 = CL(C -1): PRINT RF$I",B"B1: CALL 783:S$(I) =  MID$ (TE$,1): NEXT : PRINT CL$: POKE 216,0: RETURN 
  26. 360  POKE 216,0: GOSUB 310: PRINT  CHR$(7): HOME : VTAB 12: PRINT "DISK ERROR-RECORD ";: INVERSE : PRINT I;: NORMAL : PRINT " MAY BE BAD": PRINT "PRESS 'RTN'";: GET Z$: GOTO 1010
  27. 380 CV =  PEEK(37): POKE 37,(CV -1): CALL  -958: RETURN 
  28. 390 CV =  PEEK(37): POKE 37,(CV -2): CALL  -958: RETURN 
  29. 400  FOR X = 1 TO NC: PRINT  TAB( 4)X;"- ("CL%(X)") ";: HTAB 14: PRINT H$(X): NEXT : RETURN 
  30. 410  FOR X = 1 TO 40: PRINT "-";: NEXT : RETURN 
  31. 420  HOME : VTAB 12: PRINT  TAB( 11)"> RECALLING DATA <": RETURN 
  32. 430  ONERR  GOTO 760
  33. 435 F5$ = "":W3$ = "":WR$ = "": PRINT D$"OPEN"N$".F,D"D1: PRINT D$"READ"N$".F": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT CL$: POKE 216,0: HOME :B = 1: PRINT : PRINT "FORMAT SELECT:": PRINT : FOR I = 1 TO NR: PRINT I" "R$(I): NEXT : PRINT : PRINT I" CREATE A NEW FORMAT ": PRINT 
  34. 500  INPUT "WHICH: ";Z2$:Z =  VAL(Z2$): IF Z <1  OR Z >I  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 500
  35. 510  HOME : IF Z = I  THEN B = 0: GOTO 4050
  36. 520  PRINT D$"OPEN"R$(Z)"-F,D"D1: PRINT D$" READ "R$(Z)"-F": INPUT CO,F1,LI,F2,F1$,F3,F6$,F8$,F3$,A$,F5$,W3$,W2$,H1,WR$,F7$,CP,WN$,N,TF$,V$: FOR X = 1 TO CP -1: INPUT PC(X): NEXT : PRINT : PRINT CL$
  37. 560  RETURN 
  38. 570  IF NR =  >10  THEN 1010
  39. 580  HOME : PRINT  CHR$(7);: VTAB 11: INPUT "SAVE THIS FORMAT TO DISK (Y/N) ";Z2$: IF Z2$ < >"Y"  AND Z2$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 580
  40. 590  IF Z2$ = "N"  THEN 1010
  41. 600  IF NR <1  THEN NR = 0
  42. 610  ONERR  GOTO 770
  43. 620  PRINT 
  44. 630  PRINT "ENTER NAME FOR FORMAT (28) ":L = 28: GOSUB 800:R$(NR +1) = B$: IF R$(NR +1) = ""  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 630
  45. 635  IF P$ = "Y"  THEN R$(NR +1) = R$(NR +1) +".P": GOTO 640
  46. 636 R$(NR +1) = R$(NR +1) +".M"
  47. 640 NN = NR +1: PRINT : PRINT D$"OPEN"R$(NN)"-F,D"D1: PRINT D$"WRITE"R$(NN)"-F": PRINT CO: PRINT F1: PRINT LI: PRINT F2: PRINT F1$: PRINT F3: PRINT F6$: PRINT F8$: PRINT F3$: PRINT A$: PRINT F5$: PRINT W3$: PRINT W2$: PRINT H1: PRINT WR$: PRINT F7$: PRINT CP: PRINT WN$: PRINT N: PRINT TF$: PRINT V$: FOR X = 1 TO CP -1: PRINT PC(X): NEXT : PRINT CL$: POKE 216,0
  48. 645  IF   NOT NR  THEN 660
  49. 650  FOR J = 1 TO NR: IF R$(NR +1) = R$(J)  THEN  RETURN 
  50. 655  NEXT 
  51. 660  PRINT D$"OPEN"N$".F": PRINT D$"WRITE"N$".F": PRINT NR +1: FOR J = 1 TO NR +1: PRINT R$(J): NEXT : PRINT : PRINT CL$: RETURN 
  52. 700  FOR I = 1013 TO 1022: READ PP: POKE I,PP: NEXT : RETURN : DATA 104,168,104,166,223,154,72,152,72,96
  53. 760  CALL 1013: GOTO 4050
  54. 770  CALL 1013: PRINT  CHR$(7): PRINT "BAD FORMAT NAME-TRY AGAIN": GOTO 620
  55. 775  CALL 1013: POKE 216,0: PRINT CL$: POP : GOTO 7000
  56. 780  ONERR  GOTO 795
  57. 790  PRINT D$"OPEN DATA FILES,D1": PRINT D$"READ DATA FILES": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT D$"CLOSE":R$(NR +1) = R$: PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": PRINT NR +1: FOR J = 1 TO NR +1: PRINT R$(J): NEXT : PRINT D$"CLOSE": GOTO 797
  58. 795  CALL 1013: PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": PRINT 1: PRINT R$: PRINT D$"CLOSE"
  59. 797  POKE 216,0: RETURN 
  60. 800 B$ = "": PRINT : FOR I = 1 TO L: PRINT "_";: NEXT : VTAB ( PEEK(37) +2 -(L/39.9)): HTAB 1
  61. 810  FOR I = 1 TO L +1
  62. 820  GET E$
  63. 822  IF E$ =  CHR$(10)  THEN E$ =  CHR$(92)
  64. 823  IF E$ =  CHR$(11)  THEN E$ =  CHR$(91)
  65. 824  IF E$ =  CHR$(12)  THEN E$ =  CHR$(95)
  66. 825  IF CL = 1  AND E$ =  CHR$(17)  THEN B$ = E$: RETURN 
  67. 830  IF E$ =  CHR$(21)  THEN 820
  68. 840  IF E$ =  CHR$(8)  THEN  GOSUB 890: GOTO 820
  69. 850  IF E$ =  CHR$(13)  THEN  PRINT E$;: RETURN 
  70. 860  PRINT E$;:B$ = B$ +E$: NEXT 
  71. 870  IF  RIGHT$(B$,1) < > CHR$(13)  THEN  GOSUB 940: GOTO 800
  72. 880  RETURN 
  73. 890  IF I < = 1  THEN  RETURN 
  74. 900  PRINT  CHR$(8);"_"; CHR$(8);
  75. 910 I = I -1
  76. 920  IF I =  <1  THEN I = 1:B$ = "": RETURN 
  77. 930 B$ =  LEFT$(B$, LEN(B$) -1): RETURN 
  78. 940  PRINT  CHR$(7): INVERSE : HTAB 10: PRINT "ENTRY IS TOO LONG": NORMAL : RETURN 
  79. 1010  HOME : GOSUB 90: PRINT :TA = 20 -( LEN(N$)/2): HTAB TA: INVERSE : PRINT N$: NORMAL : PRINT : PRINT  TAB( 6)"MENU SELECTION LIST (REPORT)": PRINT 
  80. 1030  PRINT "1-ENTER DATA";: HTAB 22: PRINT "12-LIST": PRINT "2-UPDATE";: HTAB 22: PRINT "13-SEARCH": PRINT "3-INSPECT/CHANGE";: HTAB 22: PRINT "14-LEVEL SEARCH"
  81. 1040  PRINT "4-DELETE A RECORD";: HTAB 22: PRINT "15-FROM/TO SEARCH": PRINT "5-REPLACE";: HTAB 22: PRINT "16-SORT": PRINT "6-TRANSFER";: HTAB 22: PRINT "17-MATH"
  82. 1050  PRINT "7-CONSTRUCT/APPEND";: HTAB 22: PRINT "18-COMPARE": PRINT "8-FILE INFORMATION";: HTAB 22: PRINT "19-INDEX": PRINT "9-DELETE A FILE";: HTAB 22: PRINT "20-PRINTER SET-UP"
  83. 1060  PRINT "10-DISK SPACE";: HTAB 22: PRINT "21-DELETE A FORMAT": PRINT "11-INITIALIZE A DISK";: HTAB 22: PRINT "22-SELECT A FILE": PRINT : HTAB 17: PRINT "0-EXIT"
  84. 1070  VTAB (22): HTAB 16: INPUT "WHICH: ";S$: IF S$ = ""  THEN  PRINT  CHR$(7): GOSUB 560: GOTO 1070
  85. 1080 S =  VAL(S$): IF S = 1  OR S = 3  OR S = 4  OR S = 8  OR S = 9  OR S = 21  OR S = 22  THEN D7$ = "REPORT": GOTO 1120
  86. 1085  IF S = 12  OR S = 19  OR S = 20  OR S = 10  THEN 1150
  87. 1087 D7$ = "UTILITY": IF S >11  THEN D7$ = "REPORT"
  88. 1090  IF  ASC(S$) = 48  THEN  PRINT  CHR$(7): HOME : VTAB 10: HTAB 7: PRINT "NICE WORKING WITH YOU....": PRINT : PRINT "PLEASE PLACE AN ";: INVERSE : PRINT "<APPLE BOOT>";: NORMAL : PRINT " DISKETTE INTO DRIVE #1 AND PRESS 'RTN'";: GET Z$: PRINT : PRINT D$"PR#6"
  89. 1100  IF S <1  OR S >22  THEN  PRINT  CHR$(7): GOSUB 380: GOTO 1070
  90. 1105  ONERR  GOTO 1290
  91. 1112  IF D1 = 2  AND S <12  THEN  PRINT  CHR$(7): HOME : VTAB 11: HTAB 2: PRINT "LOAD ";: INVERSE : PRINT "UTILITY";: NORMAL : PRINT " PROGRAM DISK INTO DRIVE #1": HTAB 12: PRINT "THEN PRESS 'RTN'";: GET Z$: PRINT 
  92. 1120  IF D1 = 1  THEN  HOME : PRINT  CHR$(7): VTAB 11: HTAB 8: PRINT "LOAD ";: INVERSE : PRINT D7$;: NORMAL : PRINT " PROGRAM DISK": HTAB 12: PRINT " THEN PRESS 'RTN'";: GET Z$
  93. 1130  POKE 867, VAL(S$): HOME : VTAB 12: HTAB 11: PRINT "< LOADING MODULE >"
  94. 1150  ON  VAL(S$) GOTO 1155,1270,1160,1160,1250,1240,1260,1160,1160,9000,1160,5000,1180,1230,1200,1190,1210,1220,6000,7000,1160,1280
  95. 1155  PRINT D$"RUN ED,D1"
  96. 1160  PRINT D$"RUN DM,D1"
  97. 1180  PRINT D$"RUN SH,D1"
  98. 1190  PRINT D$"RUN S,D1"
  99. 1200  PRINT D$"RUN FT,D1"
  100. 1210  PRINT D$"RUN M,D1"
  101. 1220  PRINT D$"RUN C,D1"
  102. 1230  PRINT D$"RUN LS,D1"
  103. 1240  PRINT D$"RUN T,D1"
  104. 1250  PRINT D$"RUN R,D1"
  105. 1260  PRINT D$"RUN CA,D1"
  106. 1270  PRINT D$"RUN U,D1"
  107. 1280  PRINT D$"RUN I,D1"
  108. 1290  HOME : PRINT  CHR$(7): VTAB 10: HTAB 7: INVERSE : PRINT "WRONG DISKETTE IN DRIVE # 1": NORMAL : PRINT : PRINT "PRESS 'RTN'";: GET Z$: GOTO 1112
  109. 2000  REM 
  110. 2010 A = 1
  111. 2020  IF W2$ = "Y"  OR WN$ = "Y"  THEN F4 = F1 +5: GOTO 2040
  112. 2030 F4 = F1
  113. 2040 F5 = 0: IF F5$ = "Y"  THEN F5 = F5 +2
  114. 2050  IF F3$ = "Y"  THEN F5 = F5 +2
  115. 2060  IF A$ = "Y"  THEN F5 = F5 +2
  116. 2070 S = 0: IF A$ = "N"  THEN 2390
  117. 2080  IF LN = F5  AND V$ < >"V"  THEN 2110
  118. 2085  IF FM  THEN 2110
  119. 2090  IF CK >0  THEN 2400
  120. 2100 CK = 1:PG = 0: HOME :TA =  INT((CO/2) -( LEN(N$)/2)):TB = (CO/2) -3
  121. 2110  PRINT : IF F5$ = "N"  THEN 2127
  122. 2120  PRINT  SPC( TA)N$;: PRINT  SPC(  INT((CO -1) -(TA + LEN(N$) + LEN(DA$))))DA$: IF LF$ = "Y"  THEN  PRINT  CHR$(10): GOTO 2130
  123. 2125  PRINT 
  124. 2127  IF V$ = "V"  THEN 2390
  125. 2130 CH = 0:CH = CH +(F4 -1):CH% = 0: FOR C1 = 1 TO H1:CH = CH +(CL%(PC(C1)) +1):CH% = CH% +CL%(PC(C1)): IF CH >CO  THEN 2880
  126. 2200  NEXT :SP =  INT((CO -F4 -1 -CH%)/H1): IF SP <1  THEN  IF H1 +CH% < = CO  THEN SP = 1
  127. 2230  IF SP < = 0  THEN 2880
  128. 2240 HC = 0: IF A$ = "N"  THEN 2390
  129. 2250  IF WR$ = "Y"  THEN H2 = CP -1: GOTO 2270
  130. 2260 H2 = H1
  131. 2270  FOR C1 = 1 TO H2: IF C1 <2  THEN  HTAB F4
  132. 2320  IF WR$ = "Y"  THEN HC = HC +1: IF HC = H1  THEN 2350
  133. 2330  IF C1 =  >H2  THEN 2350
  134. 2340  PRINT H$(PC(C1));: PRINT  SPC( CL%(PC(C1)) - LEN(H$(PC(C1))) +SP);: GOTO 2360
  135. 2350  PRINT H$(PC(C1)):HC = 0: IF C1 <H2  THEN F5 = F5 +1: IF CP < >C1  THEN  HTAB F4
  136. 2360  NEXT 
  137. 2370  FOR TI = 1 TO CO -1: PRINT "-";: NEXT : PRINT 
  138. 2390 LN = F5:HC = 0
  139. 2400  FOR C1 = A TO CP -1: IF A$(PC(C1)) = ""  THEN A$(PC(C1)) = " "
  140. 2440  IF   NOT FL  AND HC = 0  AND C1 = 1  AND  ASC(A$(PC(C1))) < >64  THEN NO = NO +1
  141. 2450  IF  ASC(A$(PC(C1))) = 64  THEN 2610
  142. 2455  IF V$ = "V"  THEN 2950
  143. 2460 HC = HC +1: IF HC > = H1  OR C1 = CP -1  THEN 2542
  144. 2470  IF A$ = "Y"  THEN 2505
  145. 2475  IF WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: GOTO 2490
  146. 2480  IF W2$ = "Y"  AND HC = 1  THEN  PRINT RS;
  147. 2490  IF HC = 1  THEN  HTAB F4
  148. 2500  PRINT A$(PC(C1));: PRINT " ";: GOTO 2610
  149. 2505  IF FL  THEN  FOR TI = 1 TO CO: PRINT "=";: NEXT :LN = LN +1:FL = 0:FK = 1: PRINT 
  150. 2510  IF F7$ = "Y"  AND C1 =  >H1  THEN 2545
  151. 2515  IF   NOT FK  AND WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: GOTO 2530
  152. 2520  IF   NOT FK  AND W2$ = "Y"  AND HC = 1  THEN  PRINT RS;
  153. 2530  IF HC = 1  THEN  HTAB F4
  154. 2535  IF A$(PC(C1)) < >" "  AND  RIGHT$(H$(PC(C1)),1) = " "  THEN 2900
  155. 2540  PRINT A$(PC(C1));:PC = CL%(PC(C1)) - LEN(A$(PC(C1))) +SP: PRINT  SPC( PC);: GOTO 2600
  156. 2542  IF A$(PC(C1)) < >" "  AND  RIGHT$(H$(PC(C1)),1) = " "  THEN 2900
  157. 2545  IF WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: GOTO 2560
  158. 2550  IF W2$ = "Y"  AND HC = 1  THEN  PRINT RS;
  159. 2560  IF HC = 1  OR (F7$ = "Y"  AND C1 =  >H1)  THEN  HTAB F4
  160. 2570  PRINT A$(PC(C1)): IF LF$ = "Y"  AND A$ = "N"  THEN  PRINT  CHR$(10)
  161. 2575 HC = 0: IF F7$ = "Y"  AND C1 =  >H1  THEN HC = C1
  162. 2580 LN = LN +1: IF LN > = LI  THEN 2730
  163. 2582  IF F2 <2  THEN 2600
  164. 2584  FOR X = 1 TO F2 -1: IF LF$ = "Y"  THEN  PRINT  CHR$(10): GOTO 2587
  165. 2586  PRINT 
  166. 2587 LN = LN +1: IF LN > = LI  THEN 2730
  167. 2588  NEXT 
  168. 2600 X = 0:X =  PEEK( -16384): POKE  -16368,0: IF X = 17  THEN  PRINT : GOSUB 310: POP : GOTO 1010
  169. 2610  NEXT C1: IF F7$ = "Y"  THEN HC = 0
  170. 2620  IF F1$ < >"F"  OR F6$ < >"R"  THEN 2640
  171. 2625  FOR X = 1 TO F3: IF LF$ = "Y"  THEN  PRINT  CHR$(10): NEXT : GOTO 2640
  172. 2627  PRINT : NEXT 
  173. 2640  IF C1 < = NC  THEN  IF A$ = "N"  AND HC > = H1  AND PC(C1) <NC  THEN  PRINT 
  174. 2700  IF W2$ = "Y"  THEN F4 = F1 -5
  175. 2710  IF C1 <CP -1  THEN  PRINT OF$LL",D"D1: HOME :A = C1 +1: GOTO 2020
  176. 2720  GOSUB 310: RETURN 
  177. 2730  IF F7$ = "N"  AND WR$ = "N"  AND C1 > = CP -1  THEN  PRINT 
  178. 2740  IF F3$ = "N"  OR V$ = "V"  THEN  PRINT : GOTO 2760
  179. 2745  IF LF$ = "Y"  THEN  PRINT  CHR$(10): GOTO 2750
  180. 2747  PRINT 
  181. 2750 PG = PG +1: PRINT  SPC( TB)"PAGE-";PG:HC = 0
  182. 2760  IF F7$ = "Y"  AND RS =  >RT  THEN  GOSUB 310:S = 1: IF W2$ = "Y"  THEN F4 = F1 -5
  183. 2770  IF F7$ = "Y"  AND RS =  >RT  THEN  RETURN 
  184. 2780  IF F1$ < >"F"  OR F3 <2  THEN 2790
  185. 2782  FOR X = 1 TO F3 -1: IF LF$ = "Y"  THEN  PRINT  CHR$(10): GOTO 2786
  186. 2784  PRINT 
  187. 2786  NEXT : IF F0  THEN  RETURN 
  188. 2790  GOSUB 310: IF C1 = CP  AND RS = RC  THEN S = 1: IF W2$ = "Y"  THEN F4 = F1 -5
  189. 2800  IF C1 = CP  AND RS = RC  THEN S = 1: RETURN 
  190. 2810  IF F1$ = "F"  AND F8$ = "C"  THEN 2850
  191. 2820  HOME : PRINT  CHR$(7): VTAB 12: PRINT "E)ND,OR 'RTN' TO CONTINUE.";: GET Z$: IF Z$ = "E"  THEN  IF W2$ = "Y"  THEN F4 = F1 -5
  192. 2830  IF Z$ = "E"  AND B = 0  THEN  GOSUB 570
  193. 2840  IF Z$ = "E"  THEN  POP : GOTO 1010
  194. 2850  IF F7$ = "Y"  THEN HC = 0
  195. 2860  HOME : PRINT : GOSUB 300: IF F8 = 3  THEN  PRINT  CHR$(12)
  196. 2865  IF F5$ = "Y"  AND F3$ = "Y"  THEN LN = 6: GOTO 2700
  197. 2870 LN = 4: IF RS <FR  OR (  NOT FL)  THEN 2700
  198. 2875  GOTO 2020
  199. 2880  HOME : PRINT  CHR$(7): VTAB 12: HTAB (5): PRINT "TOO MANY HORIZ. CHARACTERS USED !": FOR X = 1 TO 4000: NEXT : POP : GOSUB 310: GOTO 1010
  200. 2900 S1 = CL%(PC(C1)):X4 =  VAL(A$(PC(C1))):X4(PC(C1)) = X4(PC(C1)) + VAL(A$(PC(C1))):X$ = " " + STR$( INT(X4 *10 ^N +.5)):Q =  LEN(X$) -( VAL(X$) <0)
  201. 2905  IF S1 -Q =  <0  THEN  PRINT : GOSUB 310: POP : HOME : PRINT  CHR$(7);: VTAB 12: PRINT "NO.TOO LARGE TO JUSTIFY ERROR!": PRINT "PRESS 'RTN'";: GET Z$: GOTO 1010
  202. 2910  PRINT  SPC( S1 -Q *(Q >N +1) -(N +2) *(Q < = N +1) -1);: PRINT  MID$ (X$,1 +( VAL(X$) <0),(Q < = N) +(Q -N) *(Q >N));
  203. 2920  PRINT  MID$ ("0.00",1 +((N +1) <Q),1 +(N -Q +2) *(Q <N +2));
  204. 2930  IF HC > = H1  THEN  PRINT  RIGHT$(X$,N *(Q >N) +(Q -1) *(Q < = N)): GOTO 2575
  205. 2940  PRINT  RIGHT$(X$,N *(Q >N) +(Q -1) *(Q < = N));: PRINT  SPC( SP);: GOTO 2610
  206. 2950  IF WN$ < >"Y"  AND W2$ < >"Y"  THEN 2990
  207. 2975  IF WN$ = "Y"  THEN  PRINT NO".";: GOTO 2985
  208. 2980  PRINT RS;
  209. 2985  HTAB F4
  210. 2990  PRINT H$(PC(C1))" - "A$(PC(C1)): GOTO 2582
  211. 3000  REM 
  212. 3005 X = 0:X =  PEEK( -16384): POKE  -16368,0: IF X = 17  THEN  PRINT : GOSUB 310: POP : GOTO 1010
  213. 3010 A = 1
  214. 3020 S = S +1:LN = LN +1: IF S >1  THEN 3140
  215. 3040  IF A$ = "N"  OR W3$ = "V"  THEN 3140
  216. 3050  FOR C1 = 1 TO H1: IF (W2$ = "Y"  OR WN$ = "Y")  AND C1 = 1  THEN  HTAB 5
  217. 3100  PRINT H$(PC(C1));:PC = CL%(PC(C1)) - LEN(H$(PC(C1))) +1: PRINT  SPC( PC)"";: NEXT : PRINT : FOR X = 1 TO 40: PRINT "-";: NEXT 
  218. 3140  FOR C1 = A TO CP -1: IF A$(PC(C1)) = ""  THEN A$(PC(C1)) = " "
  219. 3180  IF HC = 0  AND C1 = 1  AND  ASC(A$(PC(C1))) < >64  THEN NO = NO +1
  220. 3190  IF  ASC(A$(PC(C1))) = 64  THEN 3340
  221. 3200  IF A$ = "Y"  AND W3$ = "H"  THEN 3260
  222. 3210  IF A$ = "N"  THEN 3230
  223. 3220  PRINT : PRINT H$(PC(C1));" - "
  224. 3230 HC = HC +1: IF HC =  >H1  THEN 3295
  225. 3235  IF WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: HTAB 5: GOTO 3250
  226. 3240  IF W2$ = "Y"  AND HC = 1  THEN  PRINT RS;: HTAB 5
  227. 3250  PRINT A$(PC(C1));: PRINT " ";: GOTO 3340
  228. 3260 HC = HC +1: IF HC > = H1  THEN 3295
  229. 3270  IF F7$ = "Y"  AND C1 =  >H1  THEN 3295
  230. 3275  IF WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: HTAB 5: GOTO 3290
  231. 3280  IF W2$ = "Y"  AND HC = 1  THEN  PRINT RS;: HTAB 5
  232. 3290  PRINT A$(PC(C1));:PC = CL%(PC(C1)) - LEN(A$(PC(C1))) +1: PRINT  SPC( PC)"";: GOTO 3340
  233. 3295  IF WN$ = "Y"  AND HC = 1  THEN  PRINT NO".";: HTAB 5: GOTO 3310
  234. 3300  IF W2$ = "Y"  AND HC = 1  THEN  PRINT RS;: HTAB 5
  235. 3310  PRINT A$(PC(C1)):HC = 0:CV =  PEEK(37): IF CV >18  THEN 3370
  236. 3340  NEXT C1: IF H1 <CP -1  AND (F7$ = "N"  OR F7$ = "")  THEN HC = 0: PRINT 
  237. 3360  RETURN 
  238. 3370  PRINT : PRINT :HC = 0: PRINT : PRINT CL$: IF C1 = CP  AND RS = RC  THEN  RETURN 
  239. 3390  PRINT "E)ND,OR 'RTN' TO CONT. ";: GET Z1$: IF Z1$ = "E"  AND B = 0  THEN  GOSUB 570
  240. 3410  IF Z1$ = "E"  THEN  POP : GOTO 1010
  241. 3420 S = 0: PRINT : PRINT OF$LL",D"D1: HOME :A = C1 +1: IF A =  <CP -1  THEN 3020
  242. 3430  GOTO 3360
  243. 4000  REM 
  244. 4010  HOME : PRINT  TAB( 8)"> PRINT-OUT FORMATTING <": GOSUB 410: PRINT 
  245. 4020 LN = 0:S = 0:F5$ = "":F7$ = "":HC = 0:H1 = 0:W2$ = "":W3$ = "":WR$ = "":WN$ = "":NO = 0: IF P1$ = "Y"  THEN  INPUT "ON PRINTER (Y/N) ? ";P$: VTAB 3: CALL  -958: HTAB 1: IF P$ < >"Y"  AND P$ < >"N"  THEN  PRINT  CHR$(7): GOTO 4020
  246. 4030  IF P$ = "Y"  THEN  HOME : FLASH : PRINT  CHR$(7): VTAB 12: HTAB 11: PRINT "TURN ON PRINTER !!": NORMAL : PRINT  CHR$(7)
  247. 4040 B = 0: GOTO 430
  248. 4050  POKE 216,0: IF B = 1  THEN 4370
  249. 4055  IF P$ = "Y"  THEN  HOME : INPUT "PRINT RECORDS HORIZ./VERT. (H/V)? ";V$: IF V$ < >"H"  AND V$ < >"V"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4055
  250. 4057  IF V$ = "V"  THEN 4090
  251. 4060  HOME : GOSUB 400: PRINT 
  252. 4070  INPUT "PRINT FIELD NAMES (Y/N) ? ";A$: IF A$ < >"Y"  AND A$ < >"N"  OR A$ = ""  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4070
  253. 4080  IF A$ = "N"  OR P$ = "N"  THEN 4110
  254. 4090  PRINT 
  255. 4100  INPUT "PRINT FILE TITLE (Y/N) ? ";F5$: IF F5$ < >"Y"  AND F5$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4100
  256. 4110  PRINT 
  257. 4120  IF P$ = "N"  AND A$ = "Y"  THEN  INPUT "PRINT RECORDS HORIZ./VERT. (H/V)? ";W3$: IF W3$ < >"H"  AND W3$ < >"V"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4120
  258. 4130  PRINT 
  259. 4135  INPUT "NUMBER LINES (Y/N) ? ";WN$: IF WN$ < >"Y"  AND WN$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4135
  260. 4137  IF WN$ = "Y"  THEN 4150
  261. 4139  PRINT 
  262. 4140  INPUT "PRINT RECORD NUMBERS (Y/N) ? ";W2$: IF W2$ < >"Y"  AND W2$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4140
  263. 4150  PRINT : IF W3$ = "V"  THEN 4200
  264. 4155  IF V$ = "V"  THEN H1 = 1: GOTO 4195
  265. 4160  HOME : GOSUB 400: PRINT 
  266. 4170  PRINT "PRINT HOW MANY FIELDS HORIZONTALLY": PRINT "BEFORE CARRIAGE RETURN ";: INPUT H1: IF H1 <1  OR H1 >NC +5  THEN  PRINT  CHR$(7);:CV =  PEEK(37): POKE 37,(CV -2): CALL  -958: GOTO 4170
  267. 4190  PRINT 
  268. 4195  IF V$ = "V"  THEN  HOME : GOSUB 400: PRINT 
  269. 4200  GOSUB 410: PRINT "FIELD SELECTION-ENTER '0' WHEN FINISHED": GOSUB 410: PRINT :CP = 0: FOR CP = 1 TO NC +5
  270. 4220  PRINT "PRINT WHICH FIELD #: ";: INPUT PC(CP): IF PC(CP) = 0  THEN 4260
  271. 4240  IF PC(CP) >NC  THEN  PRINT  CHR$(7): PRINT "INPUT TO HIGH!!": GOTO 4220
  272. 4250  NEXT 
  273. 4260  IF CP -1 <H1  THEN  PRINT  CHR$(7): HOME : VTAB 11: PRINT "YOU SELECTED TO PRINT "H1" FIELDS": PRINT "ACROSS, BUT ONLY CHOSE TO PRINT "CP -1: PRINT "FIELDS, PRESS 'RTN' TO TRY AGAIN. ";: GET Z$: HOME : GOTO 4170
  274. 4270  IF W3$ = "V"  THEN 4370
  275. 4280  IF CP >NC  THEN 4300
  276. 4290  IF PC(CP) = 0  AND CP = H1 +1  THEN 4370
  277. 4300  IF H1 = CP -1  THEN 4370
  278. 4305  IF V$ = "V"  THEN 4370
  279. 4310  PRINT : IF A$ = "N"  OR P$ = "N"  THEN 4340
  280. 4320  INPUT "USE WRAP AROUND OPTION (Y/N) ? ";WR$: IF WR$ < >"Y"  AND WR$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4320
  281. 4330  IF WR$ = "Y"  THEN 4370
  282. 4340  PRINT : IF A$ = "N"  AND P$ = "N"  THEN 4370
  283. 4360  IF H1 =  <CP -1  THEN  INPUT "USE UNDERNEATH FORMATTING (Y/N) ? ";F7$: IF F7$ < >"Y"  AND F7$ < >"N"  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 4360
  284. 4370  HOME : RETURN 
  285. 5000  CALL 37896: REM  
  286. 5010 D6 = 0:RT = RC:LG = 0:PG = 0:CK = 0:LN = 0: FOR X = 1 TO NC:X4(X) = 0: NEXT : HOME : PRINT  TAB( 9)"= LIST RECORDS ROUTINE =": GOSUB 410: PRINT : PRINT "FOR ";RC;" RECORDS:": PRINT : PRINT "START AT WHAT RECORD # 1";: HTAB 24: INPUT "";LG$: IF LG$ < >""  THEN  IF  ASC(LG$) = 17  THEN  TEXT : GOTO 1010
  287. 5020  IF LG$ = ""  THEN LG = 1: VTAB 6: HTAB 24: PRINT 1: PRINT : GOTO 5032
  288. 5030  PRINT :LG =  VAL(LG$): IF LG <1  OR LG >RC  THEN  PRINT  CHR$(7);: GOTO 5010
  289. 5032  PRINT "TO RECORD # "RC;: HTAB 13: INPUT "";FR$: IF FR$ = ""  THEN FR = RC: GOTO 5035
  290. 5034 FR =  VAL(FR$): IF FR <LG  OR FR >RC  THEN  PRINT  CHR$(7);: GOSUB 380: GOTO 5032
  291. 5035  GOSUB 4000
  292. 5037  ONERR  GOTO 5230
  293. 5040  PRINT OF$LL",D"D1: FOR RS = LG TO FR: IF C1 >CP  AND WR$ < >"Y"  THEN  PRINT 
  294. 5080  FOR X = 1 TO NC:B1 = CL(X -1): IF X = 1  AND F7$ = "Y"  AND C1 =  >CP -1  AND (P$ = "N"  OR P$ = "")  THEN  PRINT 
  295. 5100  PRINT RF$RS",B"B1: CALL 783:A$(X) =  MID$ (TE$,1): NEXT : IF P$ = "N"  THEN 5140
  296. 5120  GOSUB 300: GOSUB 2000: GOTO 5150
  297. 5140  GOSUB 3000
  298. 5150  NEXT : PRINT CL$: POKE 216,0: IF P$ = "N"  OR A$ = "N"  THEN 5190
  299. 5155 F0 = 0:FL = 0:FM = 0:FK = 0: IF A$ < >"Y"  OR TF$ = "N"  THEN 5180
  300. 5160  FOR XT = 1 TO NC: IF  RIGHT$(H$(XT),1) = " "  THEN A$(XT) =  STR$(X4(XT)): GOTO 5164
  301. 5162 A$(XT) = " "
  302. 5164  NEXT 
  303. 5165  FOR XT = 1 TO NC: IF  RIGHT$(H$(XT),1) < >" "  THEN 5178
  304. 5173 RT = RT +1:FL = 1: IF LN = LI -1  THEN F0 = 1:FM = 1: GOSUB 320: GOSUB 300: GOSUB 2780: GOSUB 2000:S = 0: GOSUB 320: GOTO 5180
  305. 5175  IF LN = LI  THEN  GOSUB 300:F0 = 1:FM = 1: GOSUB 300: GOSUB 2780: GOSUB 2000:S = 0: GOSUB 320: GOTO 5180
  306. 5176  IF LN = LI -2  THEN  GOSUB 300: GOSUB 2000:F0 = 1: GOTO 5180
  307. 5177  GOSUB 300: GOSUB 2000: GOTO 5180
  308. 5178  NEXT XT
  309. 5180 FL = 0:FM = 0:FK = 0: IF F0 = 0  THEN  GOSUB 320
  310. 5185 F0 = 0
  311. 5190  PRINT  CHR$(7): INVERSE : PRINT "FINISHED!";: NORMAL : PRINT " A)NOTHER COPY, 'RTN' TO MENU";: GET Z$: IF Z$ = "A"  THEN PG = 0:CK = 0:LN = 0:S = 0:NO = 0: FOR X = 1 TO NC:X4(X) = 0: NEXT : HOME : PRINT : GOTO 5040
  312. 5200  IF B = 0  THEN  GOSUB 570
  313. 5220  GOTO 1010
  314. 5230 I = RS: GOTO 360
  315. 6000  CALL 37896: REM  
  316. 6005 E = 0: HOME : PRINT  TAB( 13)"* INDEX FIELD *": GOSUB 410: VTAB 9: HTAB 11: PRINT "* LIST OCCURRENCES *": PRINT : HTAB 16: PRINT "1- FIRST": HTAB 16: PRINT "2- ALL": HTAB 16: PRINT "3- NUMBER OF": PRINT : HTAB 13: INPUT "WHICH (1-3): ";Z$
  317. 6007  IF Z$ < >""  THEN  IF Z$ =  CHR$(17)  THEN 1010
  318. 6008 A =  VAL(Z$): IF A <1  OR A >3  THEN  PRINT  CHR$(7): GOTO 6005
  319. 6010 A =  VAL(Z$): HOME : GOSUB 400: PRINT : PRINT "INDEX WHICH FIELD #: ";: INPUT C$:
  320. 6030 C =  VAL(C$): IF C <1  OR C >NC  THEN  PRINT  CHR$(7): GOTO 6010
  321. 6040  IF P1$ = "N"  THEN 6070
  322. 6050  PRINT 
  323. 6060  INPUT "ON PRINTER (Y/N) ? ";P$: IF P$ < >"Y"  AND P$ < >"N"  THEN  GOSUB 380: PRINT  CHR$(7);: GOTO 6060
  324. 6070  GOSUB 420: GOSUB 340: HOME : IF P$ = "Y"  THEN  GOSUB 300
  325. 6080 TA = 20 -(( LEN(N$) +6)/2): PRINT  TAB( TA)N$" INDEX": PRINT : PRINT H$(C);" FIELD": PRINT : FOR SR = 1 TO RC: IF S$(SR) < >""  THEN  IF  ASC(S$(SR)) = 192  THEN 6190
  326. 6090  IF A < >1  THEN 6300
  327. 6120  IF SR = 1  THEN 6170
  328. 6130  FOR IN = 1 TO SR -1: IF S$(SR) = S$(IN)  THEN 6190
  329. 6150  NEXT IN: IF P$ = "Y"  THEN 6180
  330. 6170 CV =  PEEK(37): IF CV =  >22  THEN 6210
  331. 6180  PRINT S$(SR)" ";: INVERSE : PRINT SR: NORMAL 
  332. 6190  NEXT SR
  333. 6200  GOSUB 310: PRINT  CHR$(7): INVERSE : PRINT "INDEX FINISHED!";: NORMAL : PRINT " PRESS 'RTN' TO MENU.";: GET Z$: GOTO 1010
  334. 6210  PRINT : PRINT "'R' RTN TO MENU, OR 'RTN' TO CONT.";: GET Z$: IF Z$ = "R"  THEN  GOSUB 310: GOTO 1010
  335. 6230  HOME : GOTO 6170
  336. 6300  FOR B = 1 TO RC
  337. 6305  IF B = 1  THEN 6340
  338. 6310  FOR C = 1 TO B -1
  339. 6320  IF S$(C) = S$(B)  THEN 6380
  340. 6330  NEXT C
  341. 6340  FOR D = B TO RC
  342. 6350  IF S$(D) < >S$(B)  THEN 6370
  343. 6355  IF D = B  THEN  PRINT S$(B)
  344. 6357  IF A = 3  THEN E = E +1: GOTO 6370
  345. 6360  INVERSE : PRINT D;: NORMAL : PRINT " ";
  346. 6370  NEXT D
  347. 6375  IF A = 3  THEN  INVERSE : PRINT "("E")":E = 0: NORMAL : PRINT : GOTO 6380
  348. 6377  PRINT : PRINT 
  349. 6380  NEXT B
  350. 6390  GOTO 6200
  351. 7000  REM 
  352. 7010  TEXT : HOME : PRINT  TAB( 7)"* CHANGE PRINTER SET-UP *": GOSUB 410: PRINT  TAB( 8)"ENTER <0> WHEN COMPLETED": GOSUB 410: PRINT 
  353. 7020  PRINT "1- ("CO")";: HTAB 11: PRINT "HORIZ. PRINTER SPACES (>39)": PRINT "2- ("F1 -1")";: HTAB 11: PRINT "LEFT MARGIN INDENT (<35)": PRINT "3- ("LI")";: HTAB 11: PRINT "LINES PER PAGE (>6)"
  354. 7040  PRINT "4- ("F2")";: HTAB 11: PRINT "LINE FEEDS ON CARRIAGE RETURN": PRINT "5- ("F1$")";: HTAB 11: PRINT "FORM OR SHEET FEED (F/S)": PRINT "6- ("F3")";: HTAB 11: PRINT "LINE FEEDS ON FORM FEED (>1)": PRINT "7- ("F6$")";: HTAB 11: PRINT "FORM FEED ON P)AGE/R)ECORD"
  355. 7060  PRINT "8- ("F8$")";: HTAB 11: PRINT "S)TOP ON FORM END OR C)ONTINUE";: PRINT "9- ("CT$")";: HTAB 11: PRINT "PRINTER CONTROL CHARACTERS": PRINT "10-("LF$")";: HTAB 11: PRINT "LINE FEED REQUIRED (Y/N)": PRINT "11-("F3$")";: HTAB 11: PRINT "PRINT PAGE NUMBER (Y/N)
  356. 7065  PRINT "12-("F8")";: HTAB 11: PRINT "PRINTER SLOT NUMBER (1-7)": PRINT "13-("MO")";: HTAB 11: PRINT "USE MODEM=(SLOT#1-7)/NOT=0": PRINT "14-("N")";: HTAB 11: PRINT "RT.JUSTIFY NO.FLD. (1-8)PLACES";
  357. 7066  PRINT "15-("TF$")";: HTAB 11: PRINT "TOTAL JUSTIFIED FIELDS (Y/N)"
  358. 7068  PRINT : PRINT  TAB( 16)"WHICH: ";: INPUT F4$: IF F4$ = "9"  THEN  VTAB 22: HTAB 3: FLASH : PRINT "ENTER CHARACTERS IN QUOTES ('' '')": NORMAL 
  359. 7070  POKE 33,10: IF F4$ < >""  THEN  IF  ASC(F4$) = 17  THEN  TEXT : GOTO 1010
  360. 7080  IF F4$ = "0"  THEN  TEXT : GOTO 7300
  361. 7090  IF  VAL(F4$) >0  AND  VAL(F4$) <16  THEN 7110
  362. 7100  PRINT  CHR$(7): GOSUB 380: GOTO 7000
  363. 7110  ON  VAL(F4$) GOTO 7120,7140,7160,7180,7190,7210,7260,7220,7232,7255,7240,7280,7285,7295,7298
  364. 7120  VTAB 6: HTAB 5: INPUT "";CO: IF CO <40  OR CO >600  THEN  PRINT  CHR$(7);: GOTO 7120
  365. 7130  GOTO 7000
  366. 7140  VTAB 7: HTAB 5: INPUT "";F1:F1 = F1 +1: IF F1 <1  OR F1 >35  THEN  PRINT  CHR$(7);: GOTO 7140
  367. 7150  GOTO 7000
  368. 7160  VTAB 8: HTAB 5: INPUT "";LI: IF LI <7  THEN  PRINT  CHR$(7);: GOTO 7160
  369. 7170  GOTO 7000
  370. 7180  VTAB 9: HTAB 5: INPUT "";F2: IF F2 <1  THEN  PRINT  CHR$(7);: GOTO 7180
  371. 7185  GOTO 7000
  372. 7190  VTAB 10: HTAB 5: INPUT "";F1$: IF F1$ < >"F"  AND F1$ < >"S"  THEN  PRINT  CHR$(7);: GOTO 7190
  373. 7200  GOTO 7000
  374. 7210  VTAB 11: HTAB 5: INPUT "";F3: IF F3 <2  THEN  PRINT  CHR$(7);: GOTO 7210
  375. 7215  GOTO 7000
  376. 7220  VTAB 13: HTAB 5: INPUT "";F8$: IF F8$ < >"S"  AND F8$ < >"C"  THEN  PRINT  CHR$(7): GOTO 7220
  377. 7230  GOTO 7000
  378. 7232  VTAB 14: HTAB 5: INPUT "";CT$
  379. 7234  GOTO 7000
  380. 7240  VTAB 16: HTAB 5: INPUT "";F3$: IF F3$ < >"Y"  AND F3$ < >"N"  THEN  PRINT  CHR$(7);: GOTO 7240
  381. 7250  GOTO 7000
  382. 7255  VTAB 15: HTAB 5: INPUT "";LF$: IF LF$ < >"Y"  AND LF$ < >"N"  THEN  PRINT  CHR$(7);: GOTO 7255
  383. 7257  GOTO 7000
  384. 7260  VTAB 12: HTAB 5: INPUT "";F6$: IF F6$ < >"R"  AND F6$ < >"P"  THEN  PRINT  CHR$(7);: GOTO 7260
  385. 7270  GOTO 7000
  386. 7280  VTAB 17: HTAB 5: INPUT "";F8: IF F8 <1  OR F8 >7  THEN  PRINT  CHR$(7);: GOTO 7280
  387. 7282  GOTO 7000
  388. 7285  VTAB 18: HTAB 5: INPUT "";MO: IF MO >7  THEN  PRINT  CHR$(7);: GOTO 7285
  389. 7286  PRINT D$"IN#"MO: PRINT D$"PR#"MO
  390. 7290  GOTO 7000
  391. 7295  VTAB 19: HTAB 5: INPUT "";N: IF N <1  OR N >8  THEN  PRINT  CHR$(7);: GOTO 7295
  392. 7297  GOTO 7000
  393. 7298  VTAB 20: HTAB 5: INPUT "";TF$: IF TF$ < >"Y"  AND TF$ < >"N"  THEN  PRINT  CHR$(7);: GOTO 7298
  394. 7299  GOTO 7000
  395. 7300  PRINT : PRINT D$"OPEN"N$".P,D"D1: PRINT D$"WRITE"N$".P": PRINT CO: PRINT F1: PRINT LI: PRINT F2: PRINT F1$: PRINT F3: PRINT F3$: PRINT F6$: PRINT F8$: PRINT F8: PRINT MO: PRINT CT$: PRINT N: PRINT TF$: PRINT LF$: PRINT CL$: POKE 866, ASC("Y"):P1$ = "Y": GOTO 1010
  396. 9000  ONERR  GOTO 9140
  397. 9010  HOME : PRINT  TAB( 11)"* * DISK SPACE * *": GOSUB 410: POKE 34,3: PRINT 
  398. 9020  IF  PEEK(116) >140  THEN  POKE 76,0: POKE 77,150
  399. 9030  GOTO 9120
  400. 9050  PRINT D$"OPEN"N$",D"D1: PRINT D$"CLOSE"
  401. 9060  CALL 688:SE =  PEEK(781) + PEEK(782) *256:BY = ( INT(SE/4) +1) *1024: IF SE = 0  THEN BY = 0
  402. 9065  VTAB 11: GOSUB 410: PRINT  TAB( 5)"YOU HAVE "BY" BYTES REMAINING.": GOSUB 410
  403. 9070  VTAB 16: PRINT "READ ANOTHER DISK (Y/N) ";: INPUT A$
  404. 9110  IF A$ < >"Y"  THEN  POKE 216,0: TEXT : GOTO 1010
  405. 9120  IF D1 = 1  THEN  HOME : VTAB 16: PRINT "INSERT THE DISKETTE TO BE READ INTO": PRINT "DRIVE #1 AND PRESS 'RTN' ";: INPUT A$: HOME : GOTO 9060
  406. 9130  IF D1 = 2  THEN  VTAB 16: CALL  -958: PRINT "INSERT THE DISKETTE TO BE READ INTO": PRINT "DRIVE #2 AND PRESS 'RTN' ";: INPUT A$: HOME : GOTO 9050
  407. 9140  PRINT  CHR$(7): VTAB 12: HTAB 16: FLASH : PRINT "DISK FULL": NORMAL : GOTO 9070
  408. 63000  GOTO 1010