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

  1. 10 TE$ = "": POKE 216,0: TEXT :D$ =  CHR$(4): PRINT D$"NOMON I,O,C": GOSUB 700: POKE 37902,255: GOTO 100
  2. 40  PRINT D$"OPEN"N$".P,D"D1: PRINT D$"READ"N$".P": INPUT CO,F1,LI,F2,F1$,F3,F3$,F6$,F8$,F8,MO,CT$,N,TF$,LF$: PRINT CL$: IF P1$ = "Y"  THEN  PRINT D$"OPEN DATE": PRINT D$"READ DATE": CALL 783:DA$ =  MID$ (TE$,1): PRINT CL$
  3. 50  RETURN 
  4. 80  PRINT  TAB( 3)"* UNIV. DATA MANAGEMENT SYSTEM 4.0 *": PRINT  TAB( 6)"COPYRIGHT 1980 BY W.L.PASSAUER": RETURN 
  5. 100 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 
  6. 120 RF$ = D$ +"READ" +N$ +",R":OF$ = D$ +"OPEN" +N$ +",L":CL$ = D$ +"CLOSE": 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$
  7. 140  PRINT : PRINT D$"OPEN"N$".V,D"D1: PRINT D$"READ"N$".V": INPUT NC,RC,RR: DIM CL(NC): FOR X = 1 TO NC: INPUT CL(X): NEXT 
  8. 180 LL = (CL(NC) +NC): PRINT D$"OPEN"N$",L"LL",D"D1: DIM B$(40,NC),BC(RR),A$(NC),S2(NC),S$(RC),H$(NC),CL%(NC),BB(RC),SE(20),C(20,20),DT$(20,20),SL(NC),S1(NC)
  9. 190  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 40
  10. 220  PRINT  CHR$(7);: GOTO 5000
  11. 270  ONERR  GOTO 295
  12. 280  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$: RETURN 
  13. 290  ONERR  GOTO 293
  14. 292  PRINT OF$LL",D"D1: FOR I = 1 TO X1:B1 = CL(C(X3,L) -1): PRINT RF$BB(I)",B"B1: CALL 783:S$(I) =  MID$ (TE$,1): NEXT : PRINT CL$: RETURN 
  15. 293 I = BB(I)
  16. 295  POKE 216,0: PRINT  CHR$(7): HOME : VTAB 12: PRINT "DISK ERROR-RECORD ";: INVERSE : PRINT I;: NORMAL : PRINT " MAY BE BAD": PRINT "PRESS 'RTN'";: GET Z$: GOTO 8357
  17. 330  PRINT RF$BC(L)",B"B1: CALL 783:A$(X) =  MID$ (TE$,1): NEXT : PRINT CL$: RETURN 
  18. 340 CV =  PEEK(37): POKE 37,(CV -1): CALL  -958: RETURN 
  19. 345 CV =  PEEK(37): POKE 37,(CV -2): CALL  -958: RETURN 
  20. 350  FOR X = 1 TO NC: PRINT  TAB( 4)X;"- ("CL%(X)") ";: HTAB 14: PRINT H$(X): NEXT : RETURN 
  21. 360  FOR X = 1 TO 40: PRINT "-";: NEXT : RETURN 
  22. 370  VTAB 10: PRINT  TAB( 9)"> RECALLING FLD.# "C(X3,L)" <": RETURN 
  23. 380  ONERR  GOTO 400
  24. 390  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 410
  25. 400  CALL 1013: PRINT D$"OPEN DATA FILES": PRINT D$"WRITE DATA FILES": PRINT 1: PRINT R$: PRINT D$"CLOSE"
  26. 410  POKE 216,0: RETURN 
  27. 700  FOR I = 1013 TO 1022: READ PP: POKE I,PP: NEXT : RETURN : DATA 104,168,104,166,223,154,72,152,72,96
  28. 800 B$ = "": PRINT : FOR I = 1 TO L: PRINT "_";: NEXT : VTAB ( PEEK(37) +2 -(L/39.9)): HTAB 1
  29. 810  FOR I = 1 TO L +1
  30. 820  GET E$
  31. 823  IF E$ =  CHR$(10)  THEN E$ =  CHR$(92)
  32. 824  IF E$ =  CHR$(11)  THEN E$ =  CHR$(91)
  33. 825  IF E$ =  CHR$(12)  THEN E$ =  CHR$(95)
  34. 830  IF E$ =  CHR$(21)  THEN 820
  35. 840  IF E$ =  CHR$(8)  THEN  GOSUB 890: GOTO 820
  36. 850  IF E$ =  CHR$(13)  THEN  PRINT E$;: RETURN 
  37. 860  PRINT E$;:B$ = B$ +E$: NEXT 
  38. 870  IF  RIGHT$(B$,1) < > CHR$(13)  THEN  GOSUB 940: GOTO 800
  39. 880  RETURN 
  40. 890  IF I < = 1  THEN  RETURN 
  41. 900  PRINT  CHR$(8);"_"; CHR$(8);
  42. 910 I = I -1
  43. 920  IF I =  <1  THEN I = 1:B$ = "": RETURN 
  44. 930 B$ =  LEFT$(B$, LEN(B$) -1): RETURN 
  45. 940  PRINT  CHR$(7): INVERSE : HTAB 10: PRINT "ENTRY IS TOO LONG": NORMAL : RETURN 
  46. 950 SK =  INT(CL%(C(X5,Y))/40): FOR X = 1 TO SK: PRINT : NEXT : RETURN 
  47. 960  HOME : VTAB 12: PRINT  CHR$(7);: PRINT "LOAD <DISKETTE B> AN INITIALIZED 'NEW   FILE' DISKETTE INTO DRIVE #1 AND": PRINT "PRESS'RTN' ";: GET Z$: HOME : RETURN 
  48. 5000 X6 = 0:PG = 0:CK = 0:LN = 0:W9$ = "":X2 = RC:X1 = 0:SA = 1: HOME : PRINT  TAB( 10)"* TRANSFER ROUTINE *": GOSUB 360: PRINT : POKE 34,2
  49. 5020  PRINT : PRINT "PLEASE LABEL YOUR DISKETTES AS NEEDED:": PRINT : HTAB 7: PRINT "A- EXISTING FILE IN MEMORY": PRINT : HTAB 7: PRINT "B- NEW FILE": PRINT : HTAB 7: PRINT "C- APPEND TO FILE": PRINT : HTAB 11: PRINT "THEN PRESS 'RTN' ";: GET Z$: HOME 
  50. 5030  IF  ASC(Z$) = 17  THEN  TEXT : GOTO 8380
  51. 5040  HOME : VTAB 9: HTAB 14: PRINT "- TRANSFER -": PRINT : HTAB 7: PRINT "1-RECORDS MATCHING 'ENTRY/S'": HTAB 7: PRINT "2-FROM/TO RECORD NUMBERS": HTAB 7: PRINT "3-SELECTED RECORDS": PRINT : HTAB 13: INPUT "WHICH (1-3): ";E2: IF E2 >3  THEN  PRINT  CHR$(7): GOTO 50
  52. 5060  IF E2 = 1  THEN 5220
  53. 5080  IF E2 = 2  THEN 5180
  54. 5100  POKE 34,2: HOME : HTAB 8: PRINT "ENTER <0> WHEN FINISHED": GOSUB 360: POKE 34,4: FOR X6 = 1 TO RR
  55. 5120  PRINT "ENTER RECORD # "X6" (1-"RC") ";: INPUT "";BC(X6): IF BC(X6) >RC  THEN  PRINT  CHR$(7); GOSUB 340: GOTO 5120
  56. 5140  IF BC(X6) = 0  THEN X6 = X6 -1: POKE 34,2: GOTO 5220
  57. 5160  NEXT 
  58. 5180  HOME : PRINT : PRINT "TRANSFER FROM RECORD # (1-"RC") ";: INPUT "";A: IF A >RC  THEN  PRINT  CHR$(7): GOTO 5180
  59. 5200  PRINT : PRINT "TO RECORD # ("A"-"RC") ";: INPUT "";B: IF B <A  OR B >RC  THEN  PRINT  CHR$(7);: GOSUB 345: GOTO 5200
  60. 5210 E = 0: FOR X6 = A TO B:E = E +1:BC(E) = X6: NEXT :X6 = B -A +1
  61. 5220  HOME : VTAB 9: HTAB 13: PRINT "- SELECT ONE -": PRINT : HTAB 7: PRINT "1- APPEND RECORDS TO A FILE": HTAB 7: PRINT "2- CREATE A NEW FILE": PRINT : HTAB 13: INPUT "WHICH (1-2): ";E1: IF E1 >2  THEN  PRINT  CHR$(7): GOSUB 340: GOTO 5220
  62. 5221  IF E1 = 2  THEN 5240
  63. 5222  HOME : PRINT  CHR$(7): VTAB 11: PRINT "PLACE <DISKETTE C> 'APPEND TO'": PRINT "INTO DRIVE #1 AND PRESS 'RTN' ";: GET Z$
  64. 5224  ONERR  GOTO 5295
  65. 5226  HOME : PRINT : PRINT D$"OPEN DATA FILES,D1": PRINT D$"READ DATA FILES": INPUT NR: FOR J = 1 TO NR: INPUT R$(J): NEXT : PRINT CL$: PRINT : HTAB 7: PRINT "-- DATA FILES AVAILABLE --": PRINT : FOR I = 1 TO NR: PRINT I" "R$(I): NEXT : PRINT 
  66. 5228  POKE 216,0: PRINT "APPEND TO WHICH FILE: (1-"NR") ";: INPUT "";Z1$:Z =  VAL(Z1$): IF Z <1  OR Z >NR  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5228
  67. 5230  IF E1 = 1  THEN N1$ = R$(Z): GOTO 5250
  68. 5240  PRINT : PRINT "ENTER <DISKETTE B> 'NEW FILE' NAME (28) ":L = 28: GOSUB 800:N1$ = B$: IF N1$ = ""  THEN  PRINT  CHR$(7);: GOSUB 345: GOTO 5240
  69. 5250  IF E1 = 2  THEN 8000
  70. 5270  PRINT : PRINT D$"OPEN"N1$".V,D1": PRINT D$"READ"N1$".V": INPUT A1,A2,A3: DIM CM(A1),CM%(A1): FOR X = 1 TO A1: INPUT CM(X):CM%(X) = CM(X) -CM(X -1) -1: NEXT : PRINT CL$:LA = CM(A1) +A1: PRINT 
  71. 5280  POKE 216,0: IF E2 < >1  THEN 8002
  72. 5290  GOTO 8000
  73. 5295  PRINT  CHR$(7): PRINT "FILE NOT FOUND! PRESS 'RTN'";: GET Z$: GOTO 5222
  74. 5300  HOME : PRINT  TAB( 10)"WORD/S NUMBER SEARCH": GOSUB 360: PRINT : PRINT : VTAB 7: HTAB 8: PRINT "* SEARCH MATCH OPTIONS *": PRINT : HTAB 10: PRINT "1- CHARACTERS ENTERED": HTAB 10: PRINT "2- ENTIRE FIELD": PRINT 
  75. 5320  HTAB 16: INPUT "WHICH: ";W9$: IF W9$ < >""  THEN  IF  ASC(W9$) = 17  THEN 8357
  76. 5340  IF W9$ <"1"  OR W9$ >"2"  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5320
  77. 5360  IF W9$ = "2"  THEN  PRINT : GOTO 5420
  78. 5380  PRINT 
  79. 5400  INPUT "REGULAR OR INTERNAL SEARCH (R/I) ? ";Z2$: IF Z2$ < >"R"  AND Z2$ < >"I"  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5400
  80. 5420  TEXT : HOME : VTAB 7: HTAB 10: PRINT "* WRITE-OUT ITEMS *": PRINT : HTAB 9: PRINT "1- EQUAL TO ENTRY": HTAB 9: PRINT "2- NOT EQUAL TO ENTRY": PRINT 
  81. 5440  HTAB 16: INPUT "WHICH: ";Z3$: IF Z3$ <"1"  OR Z3$ >"2"  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5440
  82. 5460  FOR X5 = 1 TO 20: HOME : IF Z3$ = "1"  THEN  HTAB 3: PRINT "ENTER <0> FOR LEVELS WHEN FINISHED": GOSUB 360: HTAB 6: PRINT "SEARCH >"X5"< OF >20< POSSIBLE": GOSUB 360: GOTO 5500
  83. 5480  INVERSE : HTAB 9: PRINT "ONLY ONE SEARCH ALLOWED": NORMAL 
  84. 5500  IF NC >19  THEN 5580
  85. 5520  VTAB 6: PRINT "SEARCH HOW MANY LEVELS (0-"NC") ";: INPUT SE(X5): IF SE(X5) <0  OR SE(X5) >NC  THEN  PRINT  CHR$(7): GOTO 5520
  86. 5540  IF SE(X5) = 0  THEN X5 = X5 -1: HOME : GOTO 5780
  87. 5560  IF NC <20  THEN 5620
  88. 5580  VTAB 6: INPUT "SEARCH HOW MANY LEVELS (0-20) ? ";SE(X5): IF SE(X5) <0  OR SE(X5) >20  THEN  PRINT  CHR$(7): GOTO 5580
  89. 5600  IF SE(X5) = 0  THEN X5 = X5 -1: GOTO 5800
  90. 5620  HOME : GOSUB 350: GOSUB 360: HTAB 11: PRINT "SEARCHING "SE(X5)" LEVEL/S": GOSUB 360: FOR Y = SA TO SE(X5)
  91. 5640  PRINT "FOR LEVEL# "Y" SEARCH FIELD #: ";: INPUT C(X5,Y): IF C(X5,Y) <1  OR C(X5,Y) >NC  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5640
  92. 5660  PRINT : PRINT "SEARCH FOR ? ":L = CL%(C(X5,Y)): GOSUB 800:DT$(X5,Y) = B$: GOSUB 950: PRINT : NEXT Y: PRINT 
  93. 5680  INPUT "ALL CORRECT (Y/N) ? ";Z$: IF Z$ < >"N"  AND Z$ < >"Y"  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5680
  94. 5700  PRINT 
  95. 5720  IF Z$ = "N"  THEN  PRINT "RESTART AT LEVEL # (1-"SE(X5)"): ";: INPUT SA: IF SA <1  OR SA >SE(X5)  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 5720
  96. 5740  IF Z$ = "N"  THEN  HOME : PRINT : GOTO 5620
  97. 5760  IF Z3$ = "1"  THEN  HOME : NEXT X5
  98. 5780  IF E1 = 2  AND D1 = 2  THEN  GOSUB 960
  99. 5800  FOR X3 = 1 TO X5:X2 = RC:X1 = 0: VTAB 8: HTAB 9: PRINT "SEARCHING FOR ENTRY # "X3: FOR L = 1 TO SE(X3): GOSUB 370: IF L = 1  THEN C = C(X3,L): GOSUB 270: GOTO 5860
  100. 5820  IF X1 <1  THEN  HOME : PRINT  CHR$(7): VTAB 12: PRINT "NO MATCHES FOUND  PRESS 'RTN'";: GET Z$: GOTO 8357
  101. 5840  GOSUB 290:X2 = X1:X6 = X6 -X1:X1 = 00
  102. 5860  VTAB 12: PRINT  TAB( 9)"> SEARCHING LEVEL "L" <":PA =  LEN(DT$(X3,L)): IF PA <1  THEN PA = 1
  103. 5880  FOR RS = 1 TO X2: IF Z2$ = "I"  THEN 6300
  104. 5900  IF W9$ = "2"  THEN 6100
  105. 5920  IF Z3$ = "2"  THEN 6020
  106. 5940  IF  LEFT$(S$(RS),PA) = DT$(X3,L)  THEN X1 = X1 +1:X6 = X6 +1: GOTO 5980
  107. 5960  GOTO 6440
  108. 5980  IF L <2  THEN BB(X1) = RS:BC(X6) = RS: GOTO 6440
  109. 6000 BB(X1) = BB(RS):BC(X6) = BB(RS): GOTO 6440
  110. 6020  IF  LEFT$(S$(RS),PA) < >DT$(X3,L)  THEN X1 = X1 +1:X6 = X6 +1: GOTO 6060
  111. 6040  GOTO 6440
  112. 6060  IF L <2  THEN BB(X1) = RS:BC(X6) = RS: GOTO 6440
  113. 6080 BB(X1) = BB(RS):BC(X6) = BB(RS): GOTO 6440
  114. 6100  IF Z3$ = "2"  THEN 6200
  115. 6120  IF S$(RS) = DT$(X3,L)  THEN X1 = X1 +1:X6 = X6 +1: GOTO 6160
  116. 6140  GOTO 6440
  117. 6160  IF L <2  THEN BB(X1) = RS:BC(X6) = RS: GOTO 6440
  118. 6180 BB(X1) = BB(RS):BC(X6) = BB(RS): GOTO 6440
  119. 6200  IF S$(RS) < >DT$(X3,L)  THEN X1 = X1 +1:X6 = X6 +1: GOTO 6240
  120. 6220  GOTO 6440
  121. 6240  IF L <2  THEN BB(X1) = RS:BC(X6) = RS: GOTO 6440
  122. 6260 BB(X1) = BB(RS):BC(X6) = BB(RS): GOTO 6440
  123. 6280  GOTO 8130
  124. 6300 F =  LEN(S$(RS)): FOR X4 = 1 TO F: IF Z3$ = "2"  THEN 6400
  125. 6320  IF  MID$ (S$(RS),X4,PA) = DT$(X3,L)  THEN 6360
  126. 6340  NEXT X4: IF Z3$ = "1"  THEN 6440
  127. 6360 X1 = X1 +1:X6 = X6 +1: IF L <2  THEN BB(X1) = RS:BC(X6) = RS: GOTO 6440
  128. 6380 BB(X1) = BB(RS):BC(X6) = BB(RS): GOTO 6440
  129. 6400  IF  MID$ (S$(RS),X4,PA) = DT$(X3,L)  THEN 6440
  130. 6420  GOTO 6340
  131. 6440  NEXT RS: NEXT L
  132. 6460  NEXT X3: IF X6 <1  THEN  HOME : GOTO 8355
  133. 6480  HOME : GOTO 8130
  134. 8000  CALL 37896: TEXT : HOME : HTAB 8: PRINT "- SET-UP TRANSFER FILE -": GOSUB 360: POKE 34,2: PRINT 
  135. 8002 E = 0:C = 0:D =  -1:Z = 0: HOME : IF E1 = 2  THEN  HTAB 9: PRINT "ENTER <0> WHEN FINISHED": GOSUB 360: POKE 34,4:A1 = NC
  136. 8010  GOSUB 350: PRINT : FOR V = 1 TO A1
  137. 8020  PRINT "TRANSFER FIELD # ('RTN'=ALL/1-"NC") ";: INPUT "";S1$
  138. 8030  IF E1 = 2  OR (NC = A1  AND E1 = 1)  THEN  IF S1$ = ""  THEN  FOR V = 1 TO NC:S1$ =  STR$(V): GOTO 8060
  139. 8040  IF S1$ = "0"  THEN  PRINT : GOTO 8070
  140. 8050  IF S1$ = ""  OR  VAL(S1$) <0  OR  VAL(S1$) >NC  THEN  PRINT  CHR$(7);: GOSUB 340: GOTO 8020
  141. 8060  IF E1 = 2  THEN S1(V) =  VAL(S1$):SL(V) = SL(V -1) +(CL(S1(V)) -CL(S1(V) -1)):A$(V) = H$(S1(V)): NEXT 
  142. 8065  IF E1 = 1  THEN S2(V) =  VAL(S1$):S1(V) = S2(V): NEXT : PRINT 
  143. 8070 EN = V -1
  144. 8080  PRINT : PRINT :EM = EN:LB = SL(EM) +EM: TEXT 
  145. 8082  HOME : FOR X = 1 TO EN: PRINT  TAB( 4)X;"- ("CL%(S1(X))") ";: HTAB 14: PRINT H$(S1(X)): NEXT 
  146. 8083  PRINT : INPUT "ENTER THE LENGTH OF THE LONGEST FIELD   YOU WILL SORT OR SEARCH (>9)? ";N2: IF N2 <10  THEN  PRINT  CHR$(7): GOTO 8082
  147. 8084 N2 = N2 +12:RR =  INT(28700/N2):L1% =  INT(252960/(N2 -12)): IF L1% <RR  THEN RR = L1%
  148. 8090  IF E2 = 1  THEN 5300
  149. 8130  IF E1 = 1  THEN  IF (X6 +A2) >A3  THEN  TEXT : HOME : PRINT  CHR$(7): VTAB 12: PRINT "APPENDING TOO MANY RECORDS-PRESS 'RTN'";: GET Z$: GOTO 8357
  150. 8132 R8 =  INT(24000/LL): IF R8 >40  THEN R8 = 40
  151. 8135  IF E1 = 1  THEN 8260
  152. 8140  IF E2 < >1  THEN  GOSUB 960
  153. 8150  VTAB 12: CALL  -868: HTAB 10: PRINT "WRITING VARIABLE FILE": PRINT : PRINT D$"OPEN"N1$".V,D1": PRINT D$"WRITE"N1$".V": PRINT EM: PRINT X6: PRINT RR: FOR N1 = 1 TO EM: PRINT SL(N1): NEXT : PRINT : PRINT CL$
  154. 8160  VTAB 12: HTAB 5: PRINT "WRITING PRINTER VARIABLE FILE": PRINT : PRINT D$"OPEN"N1$".P,D1": PRINT D$"WRITE"N1$".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$
  155. 8170  HOME : HTAB 11: PRINT "TRANSFERING RECORDS": GOSUB 360: PRINT : PRINT D$"OPEN"N1$",L"LB",D1": FOR X1 = 1 TO NC:B1 = SL(X1 -1): PRINT D$"WRITE"N1$",R0,B"B1: PRINT A$(X1): NEXT : PRINT CL$:R2 = 0:R4 = 1:R5 = 0:R7 = X6:R3 = R7: VTAB 5: HTAB 5: PRINT "WE WILL BE MOVING";: HTAB 23: PRINT R7;: HTAB 28: PRINT "RECORDS"
  156. 8180  IF D1 = 1  THEN  PRINT  CHR$(7);: VTAB 20: PRINT "LOAD <DISKETTE A> 'EXISTING FILE'": INPUT "AND PRESS 'RTN'";Z$: GOSUB 345
  157. 8190 R6 = 0: IF R3 >R8  THEN R1 = R8: GOTO 8205
  158. 8200 R1 = R3
  159. 8205  ONERR  GOTO 9000
  160. 8210  VTAB 9: HTAB 11: PRINT "MOVING";: HTAB 18: PRINT R1" ";: HTAB 21: PRINT "RECORDS": PRINT OF$LL",D"D1:R5 = R5 +R1: FOR X2 = R4 TO R5:R6 = R6 +1: FOR X = 1 TO EN:B1 = CL(S1(X) -1)
  161. 8220  PRINT RF$BC(X2)",B"B1: CALL 783:B$(R6,X) =  MID$ (TE$,1): NEXT : NEXT : PRINT CL$: POKE 216,0: IF D1 = 1  THEN  PRINT  CHR$(7);: VTAB 20: PRINT "LOAD <DISKETTE B> 'NEW FILE' AND": INPUT "PRESS 'RTN'";Z$: GOSUB 345
  162. 8230  PRINT : PRINT D$"OPEN"N1$",L"LB",D1":R6 = 0: FOR X2 = R4 TO R5:R6 = R6 +1:E = E +1: FOR X1 = 1 TO EM:B1 = SL(X1 -1): PRINT D$"WRITE"N1$",R"E",B"B1: PRINT B$(R6,X1): NEXT : NEXT : PRINT CL$
  163. 8235 R2 = R2 +R1: VTAB 11: HTAB 11: PRINT R2" ";: HTAB 16: PRINT "RECORDS MOVED":R4 = R4 +R1:R3 = R7 -R2: VTAB 14: HTAB 10: PRINT R3" ";: HTAB 15: PRINT "RECORDS TO GO": IF R3 = 0  THEN 8350
  164. 8237  CALL 37896
  165. 8240  GOTO 8180
  166. 8260  HOME : VTAB 12: CALL  -868: HTAB 10: PRINT "WRITING VARIABLE FILE":X7 = X6 +A2: PRINT : PRINT D$"OPEN"N1$".V,D1": PRINT D$"WRITE"N1$".V": PRINT A1: PRINT X7: PRINT A3: FOR N1 = 1 TO EM: PRINT CM(N1): NEXT : PRINT : PRINT CL$
  167. 8270 E = A2: HOME : HTAB 11: PRINT "< APPENDING DATA >": GOSUB 360:R2 = 0:R7 = X6:R4 = 1:R5 = 0:R3 = R7: VTAB 5: HTAB 5: PRINT "WE WILL BE MOVING";: HTAB 23: PRINT R7;: HTAB 28: PRINT "RECORDS"
  168. 8280  IF D1 = 1  THEN  PRINT  CHR$(7);: VTAB 20: INPUT "LOAD <DISKETTE A> 'EXISTING FILE' AND   PRESS 'RTN'";Z$: GOSUB 345
  169. 8290 R6 = 0: IF R3 >R8  THEN R1 = R8: GOTO 8305
  170. 8300 R1 = R3
  171. 8305  ONERR  GOTO 9000
  172. 8310  VTAB 9: HTAB 11: PRINT "MOVING";: HTAB 18: PRINT R1" ";: HTAB 21: PRINT "RECORDS": PRINT OF$LL",D"D1:R5 = R5 +R1: FOR X2 = R4 TO R5:R6 = R6 +1: FOR X = 1 TO EN:B1 = CL(S2(X) -1): PRINT RF$BC(X2)",B"B1: CALL 783:B$(R6,X) =  MID$ (TE$,1,CM%(X)): NEXT : NEXT : PRINT CL$: POKE 216,0
  173. 8320  IF D1 = 1  THEN  PRINT  CHR$(7);: VTAB 20: PRINT "LOAD <DISKETTE C> 'APPEND TO' AND": INPUT "PRESS 'RTN'";Z$: GOSUB 345
  174. 8330  PRINT D$"OPEN"N1$",L"LA",D1":R6 = 0: FOR X2 = R4 TO R5:R6 = R6 +1:E = E +1: FOR X1 = 1 TO EM:B1 = CM(X1 -1): PRINT D$"WRITE"N1$",R"E",B"B1: PRINT B$(R6,X1): NEXT : NEXT : PRINT CL$
  175. 8335 R2 = R2 +R1: VTAB 12: HTAB 11: PRINT R2" ";: HTAB 16: PRINT "RECORDS MOVED":R4 = R4 +R1:R3 = R7 -R2: VTAB 14: HTAB 10: PRINT R3" ";: HTAB 15: PRINT "RECORDS TO GO": IF R3 = 0  THEN 8355
  176. 8337  CALL 37896
  177. 8340  GOTO 8280
  178. 8350 R$ = N1$: GOSUB 380
  179. 8355  HOME : VTAB 11: HTAB 11: PRINT "> TRANSFER DONE <": FOR TI = 1 TO 10: PRINT  CHR$(7);: NEXT 
  180. 8357  IF D1 = 1  THEN  TEXT : HOME : VTAB 12: PRINT  CHR$(7);: PRINT "LOAD <DISKETTE A> 'EXISTING FILE'": PRINT "AND PRESS 'RTN' ";: GET Z$
  181. 8360  IF D1 = 2  THEN  HOME : VTAB 12: PRINT  CHR$(7);: PRINT "LOAD <UTILITY DISK> INTO DRIVE# 1": PRINT "AND PRESS 'RTN' ";: GET Z$
  182. 8380  IF D1 = 1  THEN  HOME : PRINT  CHR$(7): VTAB 12: HTAB 3: PRINT "LOAD ";: INVERSE : PRINT "UTILITY DISK";: NORMAL : PRINT " THEN PRESS 'RTN'";: GET Z$
  183. 8390  TEXT : HOME : VTAB 12: HTAB 11: PRINT ">> LOADING MENU <<"
  184. 8400  PRINT D$"RUN MENU,D1"
  185. 9000  POKE 216,0: PRINT  CHR$(7): HOME : VTAB 12: PRINT "DISK ERROR-RECORD ";: INVERSE : PRINT BC(X2);: NORMAL : PRINT " MAY BE BAD": PRINT "PRESS 'RTN'";: GET Z$: GOTO 8357
  186. 63000  GOTO 5000