home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Glitch Apple Disk Collection
/
2014.glitch.apple.collection.zip
/
indexed
/
AAF.DSK
/
PAAF.bas
< prev
next >
Wrap
BASIC Source File
|
2014-09-09
|
4KB
|
128 lines
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