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

  1. 10 A$ = "":E = 0: POKE 216,0: TEXT :D$ =  CHR$(4): PRINT D$"NOMON I,O,C": POKE 1013,76: POKE 1014,176: POKE 1015,3: POKE 37902,4: 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$: RETURN 
  3. 80  PRINT  TAB( 3)"* UNIV. DATA MANAGEMENT SYSTEM 4.0 *": PRINT  TAB( 6)"COPYRIGHT 1980 BY W.L.PASSAUER": RETURN 
  4. 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 
  5. 120 WF$ = D$ +"WRITE" +N$ +",R":RF$ = D$ +"READ" +N$ +",R":OF$ = D$ +"OPEN" +N$ +",L":O$ = D$ +"OPEN" +N$ +".V":CL$ = D$ +"CLOSE":W$ = D$ +"WRITE" +N$ +".V": 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$
  6. 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 
  7. 180 LL = (CL(NC) +NC): PRINT D$"OPEN"N$",L"LL: DIM BB(RR),A$(RR),S$(RR),S1$(50,NC),H$(NC),CL%(NC),EN$(RR): FOR X = 1 TO NC:B1 = CL(X -1): PRINT D$"READ"N$",R"0",B"B1: CALL 783:H$(X) =  MID$ (A$,1): NEXT : PRINT D$"CLOSE": FOR X = 1 TO NC:CL%(X) = CL(X) -CL(X -1) -1: NEXT : IF P1$ = "Y"  THEN  GOSUB 40
  8. 220  PRINT  CHR$(7);: IF S$ = "1"  THEN 2000
  9. 270  PRINT D$"PR#"F8: IF CT$ < >""  THEN  PRINT CT$
  10. 271  RETURN 
  11. 280  PRINT D$"PR#"MO: RETURN 
  12. 290  ONERR  GOTO 320
  13. 295  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$ (A$,1): NEXT : PRINT CL$: POKE 216,0: RETURN 
  14. 310  ONERR  GOTO 325
  15. 315  PRINT OF$LL",D"D1: FOR X = 1 TO NC:B1 = CL(X -1): PRINT RF$RS",B"B1: CALL 783:A$(X) =  MID$ (A$,1): NEXT : PRINT CL$: POKE 216,0: RETURN 
  16. 320  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 2500
  17. 325 I = RS: GOTO 320
  18. 580  FOR X = 1 TO 40: PRINT "-";: NEXT : RETURN 
  19. 750  POKE 76,0: POKE 77,150: CALL 688:SEC =  PEEK(781) + PEEK(782) *256:BY = ( INT(SEC/4) +1) *1024:BZ =  INT((BY -3072)/LL): IF BZ >RR -RC  THEN BZ = RR -RC
  20. 755  RETURN 
  21. 800 B$ = "": PRINT : FOR I1 = 1 TO L: PRINT "_";: NEXT : VTAB ( PEEK(37) +2 -(L/39.9)): HTAB 1: IF E = 2  THEN CV =  PEEK(37): PRINT A$(CL);: VTAB CV +1: HTAB 1
  22. 810  FOR I1 = 1 TO L +1
  23. 820  CALL 849:E =  PEEK(833) -128: IF E = 17  AND CL = 1  THEN B$ =  CHR$(E): RETURN 
  24. 823  IF E = 10  THEN E = 92
  25. 824  IF E = 11  THEN E = 91
  26. 825  IF E = 12  THEN E = 95
  27. 826  IF E = 27  AND I1 >1  THEN 820
  28. 827  IF E = 27  THEN B$ = A$(CL): PRINT B$: RETURN 
  29. 828  IF E1  THEN B =  LEN(A$(CL)): IF  LEN(B$) >B  THEN B =  LEN(B$)
  30. 830  IF E1  AND I1 =  <B  AND E = 21  THEN  CALL  -1036:B$ = B$ + MID$ (A$(CL),I1,1):I1 = I1 +1: GOTO 820
  31. 831  IF E = 21  THEN 820
  32. 832  IF E = 2  AND CL >1  THEN  POP : CALL  -958:A = CL -1:E1 = 1: GOTO 2060
  33. 834  IF Z1$ = ""  AND E = 18  THEN  TEXT : POP : GOTO 2020
  34. 840  IF E = 8  THEN  GOSUB 890: GOTO 820
  35. 850  IF E = 13  THEN CV =  PEEK(37) -3: CALL  -958: PRINT  CHR$(E);:E1 = 0: RETURN 
  36. 860  PRINT  CHR$(E);:B$ = B$ + CHR$(E): NEXT : IF  RIGHT$(B$,1) < > CHR$(13)  THEN  GOSUB 940: GOTO 800
  37. 880  RETURN 
  38. 890  IF I1 < = 1  THEN  RETURN 
  39. 895  IF E1  THEN  PRINT  CHR$(8);: GOTO 910
  40. 900  PRINT  CHR$(8);"_"; CHR$(8);
  41. 910 I1 = I1 -1: IF I1 =  <1  THEN I1 = 1:B$ = "": RETURN 
  42. 930 B$ =  LEFT$(B$, LEN(B$) -1): RETURN 
  43. 940  PRINT  CHR$(7): INVERSE : HTAB 10: PRINT "ENTRY IS TOO LONG": NORMAL : RETURN 
  44. 950 SK =  INT(CL%(CL)/40): FOR X = 1 TO SK: PRINT : NEXT : RETURN 
  45. 2000  REM 
  46. 2010 S = 0: GOSUB 750:R8 =  INT(15000/LL): IF R8 >50  THEN R8 = 50
  47. 2020 A = 1: HOME : PRINT  TAB( 11)"* * ENTER DATA * *": PRINT : PRINT NC" FIELDS.";: HTAB 14: PRINT "MEMORY FOR >"RR -RC"< RECORDS": IF RR -RC < = 0  THEN  TEXT : GOTO 2300
  48. 2030  IF BY <3072  THEN  TEXT : GOTO 2301
  49. 2040  GOSUB 580: PRINT  TAB( 4)">> END <CTRL-Q> / REPEAT <ESC> <<": GOSUB 580: POKE 34,7: PRINT "RECORD # "RC +1;: HTAB 16: PRINT "APPROX.DISK RECORDS= ";: IF BY <4095  THEN  FLASH : PRINT BZ: NORMAL : GOTO 2060
  50. 2050  PRINT BZ
  51. 2060  FOR CL = A TO NC:L = CL%(CL): PRINT : PRINT CL" - "H$(CL)" ("L")": GOSUB 800
  52. 2070  & A$(CL),B$: GOSUB 950: CALL 37896: IF CL = 1  AND A$(CL) < >""  THEN  IF  ASC(A$(CL)) = 17  AND S >0  THEN 2350
  53. 2130  IF CL = 1  AND A$(CL) < >""  THEN  IF  ASC(A$(CL)) = 17  THEN 2280
  54. 2140  NEXT : PRINT 
  55. 2141  TEXT : HOME : FOR X = 1 TO NC: INVERSE : PRINT X"-";: NORMAL : HTAB 5: INVERSE : PRINT H$(X);: NORMAL : PRINT " - ";: PRINT A$(X):CV =  PEEK(37): IF CV >18  THEN 2400
  56. 2142  NEXT 
  57. 2150  PRINT  TAB( 3)"(M)-TO MEMORY";: PRINT  TAB( 20)"(1-"NC")-NOT CORRECT": PRINT  TAB( 3)"(D)-TO DISK";: PRINT  TAB( 20)"(R)-RESTART": HTAB 13: INPUT "WHICH: ";Z$: IF  VAL(Z$) >0  THEN CL =  VAL(Z$): GOTO 2182
  58. 2155  IF Z$ = ""  OR Z$ = "M"  THEN BY = BY -LL:BZ =  INT((BY -3072)/LL): IF BZ >RR -RC  THEN BZ = RR -RC -1
  59. 2157  IF Z$ = "R"  THEN 2020
  60. 2160  IF Z$ = "M"  THEN 2320
  61. 2170  IF Z$ = "D"  AND S >0  THEN 2320
  62. 2180  IF Z$ = "M"  OR Z$ = "D"  OR Z$ = ""  THEN 2190
  63. 2182  IF  VAL(Z$) >0  AND  VAL(Z$) <NC +1  THEN 2315
  64. 2185  PRINT  CHR$(7);:CV =  PEEK(37): POKE 37,(CV -3): CALL  -958: GOTO 2150
  65. 2190  IF Z$ = ""  AND S >0  THEN 2320
  66. 2200 A = 1: HOME : VTAB 12: PRINT  TAB( 13)"> SAVING DATA <":RC = RC +1: PRINT : PRINT OF$LL",D"D1: PRINT O$: FOR X = 1 TO NC:B1 = CL(X -1): PRINT WF$RC",B"B1: PRINT A$(X): NEXT 
  67. 2230  PRINT W$: PRINT NC: PRINT RC: PRINT RR: FOR N1 = 1 TO NC: PRINT CL(N1): NEXT : PRINT CL$: TEXT : IF RC > = RR  THEN 2300
  68. 2235  GOSUB 750: IF BY <3072  THEN 2301
  69. 2270  PRINT  CHR$(7): GOTO 2020
  70. 2280 A$(CL) = "": TEXT : GOTO 2500
  71. 2300  HOME : PRINT  CHR$(7): VTAB 12: INVERSE : PRINT  TAB( 3)"DISK DATA WILL FILL YOUR MEMORY !!!": NORMAL : FOR TI = 1 TO 5000: NEXT : GOTO 2500
  72. 2301  HOME : PRINT  CHR$(7): VTAB 12: INVERSE : HTAB 9: PRINT "DATA DISKETTE FULL !!": NORMAL : FOR TI = 1 TO 5000: NEXT : GOTO 2500
  73. 2315  HOME : PRINT : PRINT CL"- "A$(CL): PRINT :L = CL%(CL): GOSUB 800
  74. 2317  & A$(CL),B$: GOSUB 950: GOTO 2141
  75. 2320 A = 1:S = S +1:RC = RC +1: FOR X = 1 TO NC:S1$(S,X) = A$(X): NEXT : IF S =  >R8  OR Z$ = "D"  THEN  TEXT : GOTO 2350
  76. 2335  IF RC > = RR  OR BY <3072  THEN  TEXT : GOTO 2350
  77. 2340  TEXT : GOTO 2020
  78. 2350  HOME : VTAB 12: PRINT  TAB( 13)"> SAVING DATA <": PRINT : PRINT OF$LL",D"D1: PRINT O$: FOR X1 = 1 TO S:R1 = RC -S +X1: FOR X = 1 TO NC:B1 = CL(X -1): PRINT WF$R1",B"B1:A$(X) = S1$(X1,X): PRINT A$(X): NEXT : NEXT :S = 0: GOTO 2230
  79. 2400  PRINT : PRINT "PRESS 'RTN' TO CONTINUE ";: GET Z$: HOME : GOTO 2142
  80. 2500  IF D1 = 1  THEN  HOME : PRINT  CHR$(7): VTAB 12: HTAB 4: PRINT "LOAD ";: INVERSE : PRINT "REPORT DISK";: NORMAL : PRINT " THEN PRESS 'RTN'";: GET Z$
  81. 2510  HOME : VTAB 12: HTAB 11: PRINT ">> LOADING MENU <<"
  82. 2520  PRINT D$"RUN MENU,D1"
  83. 63000  GOTO 2000