home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / AAF.DSK / PAAF.BAS.txt < prev    next >
Text File  |  2014-09-09  |  4KB  |  130 lines

  1.  1  ONERR  GOTO 2000
  2.  4  LOMEM: 16384
  3.  5 IN$ = "X": REM  must be first string assigned
  4.  10  TEXT : HOME
  5.  15  PRINT "AAF Packer, v1.0"
  6.  20  PRINT : PRINT "By Andy Tefft (art100@psuvm.psu.edu)"
  7.  25  PRINT : PRINT "Freeware. Use with appropriate caution."
  8.  30  PRINT : PRINT "Notes:"
  9.  40  PRINT : PRINT "1) 'Pathname' means any valid ProDOS'
  10.  45  PRINT "   full or partial pathname."
  11.  46  PRINT
  12.  50  PRINT "2) Pressing RETURN at the input/output"
  13.  55  PRINT "   file prompts returns you to the menu"
  14.  60  PRINT : PRINT "3) Both input and output volumes must"
  15.  65  PRINT "   be online."
  16.  70  PRINT : PRINT "4) Looks best in 40 columns."
  17.  75  PRINT : PRINT "5) You will be warned when adding lines"
  18.  76  PRINT "   longer than 79 columns."
  19.  80  PRINT : PRINT "Press a key to continue"
  20.  90  GET A$
  21.  120  FOR R = 768 TO 788: READ X: POKE R,X: NEXT : REM input-anything
  22.  130  DATA 162,0,32,117,253,160,2,138,145,105,200,169,0,145,105,200
  23.  135  DATA  169,2,145,105,96
  24.  140 D$ =  CHR$ (4)
  25.  145  DIM OU$(100)
  26.  150  PRINT D$"prefix": INPUT PR$
  27.  160  TEXT : HOME
  28.  165  PRINT "AAF Packer v1.0   Andy Tefft   11/23/90"
  29.  170  PRINT : PRINT "Prefix: "PR$
  30.  171  PRINT "---------------------------------------"
  31.  172  POKE 34,5
  32.  175  PRINT : PRINT "Menu:"
  33.  176  POKE 32,5
  34.  180  PRINT : PRINT "P)refix": PRINT "C)atalog"
  35.  181  PRINT
  36.  185  PRINT "A)ppend to an archive"
  37.  190  PRINT "N)ew archive"
  38.  195  PRINT : PRINT "E)xit"
  39.  199  POKE 32,0
  40.  200  VTAB 18: GET C$
  41.  210  IF C$ = "e" OR C$ = "E" THEN  END
  42.  220  IF C$ <  > "C" AND C$ <  > "c" THEN  GOTO 300
  43.  230  INPUT "Directory to catalog, return for prefix:";C$
  44.  240 S = 1: REM  section for error check
  45.  250  PRINT D$"cat"C$
  46.  260  PRINT "Press a key to return to menu.";: GET A$
  47.  270  HOME : GOTO 175
  48.  300  IF C$ <  > "P" AND C$ <  > "p" THEN 400
  49.  310 S = 2: REM  for error checking
  50.  320  PRINT : INPUT "New prefix: ";C$
  51.  325  PRINT D$"prefix"C$
  52.  330  GOTO 150
  53.  400  IF C$ = "A" OR C$ = "a" OR C$ = "N" OR C$ = "n" THEN 410
  54.  405  HOME : GOTO 175
  55.  410  IF C$ = "N" OR C$ = "n" THEN NF = 1: REM  new file
  56.  420  PRINT "Archive pathname (return for menu)": INPUT ": ";OF$
  57.  425  IF OF$ = "" THEN  HOME : GOTO 175
  58.  430 S = 3: REM  section for errors
  59.  440  PRINT D$"open"OF$: PRINT D$"close"OF$
  60.  450  IF NF THEN  PRINT D$"delete"OF$
  61.  460  INPUT "Pathname of file to add to archive?     : ";I$
  62.  465  IF I$ = "" THEN  HOME : GOTO 175
  63.  470 S = 4
  64.  471  PRINT D$"verify"I$
  65.  475  PRINT : PRINT "Filename to put in archive? (return for"
  66.  476  PRINT I$;: INPUT " : ";FF$
  67.  477  IF FF$ = "" THEN FF$ = I$
  68.  482  PRINT D$"open"OF$
  69.  483  PRINT D$"append"OF$
  70.  484  PRINT D$"write"OF$
  71.  485  PRINT "= "FF$
  72.  488  PRINT D$
  73.  490  PRINT D$"open"I$
  74.  500  PRINT D$"read"I$
  75.  505 S = 5
  76.  510  FOR L = 1 TO 100
  77.  520  CALL 768:IN$ =  MID$ (IN$,1)
  78.  525  VTAB  PEEK (37)
  79.  530  IF  LEN (IN$) < 80 THEN 550
  80.  540  PRINT : PRINT ">>> Warning: Line too long:"
  81.  541  PRINT : PRINT IN$
  82.  545  PRINT
  83.  550 OU$(L) = "-" + IN$
  84.  560  NEXT
  85.  570  PRINT D$
  86.  580  PRINT D$"write"OF$
  87.  590  FOR L = 1 TO 100
  88.  600  PRINT OU$(L): NEXT
  89.  610  PRINT D$
  90.  620  GOTO 500
  91.  700  PRINT D$"write"OF$
  92.  710  FOR LL = 1 TO L - 1
  93.  720  PRINT OU$(LL): NEXT
  94.  725  PRINT "+ End of file "FF$
  95.  730  PRINT D$"close"
  96.  740  PRINT ">>> Finished. Hit a key for menu."
  97.  745  GET A$
  98.  750  GOTO 150
  99.  1999  END
  100.  2000 Y =  PEEK (222)
  101.  2010  PRINT
  102.  2020  IF Y = 5 AND S = 5 THEN 700
  103.  2030  IF Y = 6 AND S = 2 THEN 2100
  104.  2035  IF Y = 6 AND S = 1 THEN 2200
  105.  2040  IF Y = 6 AND S = 3 THEN 2300
  106.  2050  IF Y = 6 AND S = 4 THEN 2400
  107.  2055  PRINT D$"close"
  108.  2060  PRINT ">>> Error #"Y: END
  109.  2100  PRINT : PRINT ">>> Error: Volume/dir not found."
  110.  2105  PRINT
  111.  2110  GOTO 320
  112.  2200  PRINT : PRINT ">>> Error: Volume/dir not found."
  113.  2205  PRINT
  114.  2210  GOTO 230
  115.  2300  PRINT ">>> Error: File/directory not found."
  116.  2310  PRINT : PRINT "Insert disk if necessary, then hit"
  117.  2320  PRINT "return to continue, ? for catalog"
  118.  2330  INPUT C$: IF C$ = "" THEN 420
  119.  2340  INPUT "Pathname? (return for current prefix)   : ";C$
  120.  2350  PRINT D$"cat"C$
  121.  2360  PRINT "Hit a key.": GET A$: PRINT : GOTO 420
  122.  2400  PRINT ">>> Error: input file not found."
  123.  2410  PRINT "Hit return to try again, ? for catalog"
  124.  2420  INPUT ": ";C$
  125.  2430  IF C$ = "" THEN 460
  126.  2440  INPUT "Pathname? (return for current prefix)   : ";C$
  127.  2450  PRINT D$"cat"C$
  128.  2460  PRINT "Hit a key.": GET A$: PRINT : GOTO 460
  129.  
  130.