1 ONERR GOTO 2000 4 LOMEM: 16384 5 IN$ = "X": REM must be first string assigned 10 TEXT : HOME 15 PRINT "AAF Packer, v1.0" 20 PRINT : PRINT "By Andy Tefft (art100@psuvm.psu.edu)" 25 PRINT : PRINT "Freeware. Use with appropriate caution." 30 PRINT : PRINT "Notes:" 40 PRINT : PRINT "1) 'Pathname' means any valid ProDOS' 45 PRINT " full or partial pathname." 46 PRINT 50 PRINT "2) Pressing RETURN at the input/output" 55 PRINT " file prompts returns you to the menu" 60 PRINT : PRINT "3) Both input and output volumes must" 65 PRINT " be online." 70 PRINT : PRINT "4) Looks best in 40 columns." 75 PRINT : PRINT "5) You will be warned when adding lines" 76 PRINT " longer than 79 columns." 80 PRINT : PRINT "Press a key to continue" 90 GET A$ 120 FOR R = 768 TO 788: READ X: POKE R,X: NEXT : REM input-anything 130 DATA 162,0,32,117,253,160,2,138,145,105,200,169,0,145,105,200 135 DATA 169,2,145,105,96 140 D$ = CHR$ (4) 145 DIM OU$(100) 150 PRINT D$"prefix": INPUT PR$ 160 TEXT : HOME 165 PRINT "AAF Packer v1.0 Andy Tefft 11/23/90" 170 PRINT : PRINT "Prefix: "PR$ 171 PRINT "---------------------------------------" 172 POKE 34,5 175 PRINT : PRINT "Menu:" 176 POKE 32,5 180 PRINT : PRINT "P)refix": PRINT "C)atalog" 181 PRINT 185 PRINT "A)ppend to an archive" 190 PRINT "N)ew archive" 195 PRINT : PRINT "E)xit" 199 POKE 32,0 200 VTAB 18: GET C$ 210 IF C$ = "e" OR C$ = "E" THEN END 220 IF C$ < > "C" AND C$ < > "c" THEN GOTO 300 230 INPUT "Directory to catalog, return for prefix:";C$ 240 S = 1: REM section for error check 250 PRINT D$"cat"C$ 260 PRINT "Press a key to return to menu.";: GET A$ 270 HOME : GOTO 175 300 IF C$ < > "P" AND C$ < > "p" THEN 400 310 S = 2: REM for error checking 320 PRINT : INPUT "New prefix: ";C$ 325 PRINT D$"prefix"C$ 330 GOTO 150 400 IF C$ = "A" OR C$ = "a" OR C$ = "N" OR C$ = "n" THEN 410 405 HOME : GOTO 175 410 IF C$ = "N" OR C$ = "n" THEN NF = 1: REM new file 420 PRINT "Archive pathname (return for menu)": INPUT ": ";OF$ 425 IF OF$ = "" THEN HOME : GOTO 175 430 S = 3: REM section for errors 440 PRINT D$"open"OF$: PRINT D$"close"OF$ 450 IF NF THEN PRINT D$"delete"OF$ 460 INPUT "Pathname of file to add to archive? : ";I$ 465 IF I$ = "" THEN HOME : GOTO 175 470 S = 4 471 PRINT D$"verify"I$ 475 PRINT : PRINT "Filename to put in archive? (return for" 476 PRINT I$;: INPUT " : ";FF$ 477 IF FF$ = "" THEN FF$ = I$ 482 PRINT D$"open"OF$ 483 PRINT D$"append"OF$ 484 PRINT D$"write"OF$ 485 PRINT "= "FF$ 488 PRINT D$ 490 PRINT D$"open"I$ 500 PRINT D$"read"I$ 505 S = 5 510 FOR L = 1 TO 100 520 CALL 768:IN$ = MID$ (IN$,1) 525 VTAB PEEK (37) 530 IF LEN (IN$) < 80 THEN 550 540 PRINT : PRINT ">>> Warning: Line too long:" 541 PRINT : PRINT IN$ 545 PRINT 550 OU$(L) = "-" + IN$ 560 NEXT 570 PRINT D$ 580 PRINT D$"write"OF$ 590 FOR L = 1 TO 100 600 PRINT OU$(L): NEXT 610 PRINT D$ 620 GOTO 500 700 PRINT D$"write"OF$ 710 FOR LL = 1 TO L - 1 720 PRINT OU$(LL): NEXT 725 PRINT "+ End of file "FF$ 730 PRINT D$"close" 740 PRINT ">>> Finished. Hit a key for menu." 745 GET A$ 750 GOTO 150 1999 END 2000 Y = PEEK (222) 2010 PRINT 2020 IF Y = 5 AND S = 5 THEN 700 2030 IF Y = 6 AND S = 2 THEN 2100 2035 IF Y = 6 AND S = 1 THEN 2200 2040 IF Y = 6 AND S = 3 THEN 2300 2050 IF Y = 6 AND S = 4 THEN 2400 2055 PRINT D$"close" 2060 PRINT ">>> Error #"Y: END 2100 PRINT : PRINT ">>> Error: Volume/dir not found." 2105 PRINT 2110 GOTO 320 2200 PRINT : PRINT ">>> Error: Volume/dir not found." 2205 PRINT 2210 GOTO 230 2300 PRINT ">>> Error: File/directory not found." 2310 PRINT : PRINT "Insert disk if necessary, then hit" 2320 PRINT "return to continue, ? for catalog" 2330 INPUT C$: IF C$ = "" THEN 420 2340 INPUT "Pathname? (return for current prefix) : ";C$ 2350 PRINT D$"cat"C$ 2360 PRINT "Hit a key.": GET A$: PRINT : GOTO 420 2400 PRINT ">>> Error: input file not found." 2410 PRINT "Hit return to try again, ? for catalog" 2420 INPUT ": ";C$ 2430 IF C$ = "" THEN 460 2440 INPUT "Pathname? (return for current prefix) : ";C$ 2450 PRINT D$"cat"C$ 2460 PRINT "Hit a key.": GET A$: PRINT : GOTO 460