home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / PRO.BYTER.SHK / PRO.BYTER / CATA.LOG.bas < prev    next >
BASIC Source File  |  2000-01-01  |  5KB  |  66 lines

  1. 1  POKE 803,0: GOTO 100
  2. 2  GOSUB 63999: PRINT  CHR$(4)"SAVE/PRO.BYTER/CATA.LOG": END 
  3. 100  ONERR  GOTO 9000
  4. 110  PRINT  CHR$(4)"-QSORT"
  5. 150  CLEAR 
  6. 200 PSLOT = 1
  7. 250  DIM SUBDIR$(50),FILE$(1000):FI =  -1:COL = 39:PR = ( PEEK(800) = 123):SR = ( PEEK(801) = 123):DR =  PEEK(802):SN =  PEEK(803): IF DR <1  OR DR >2  THEN DR =  PEEK(48701)
  8. 260  IF SN <1  OR SN >7  THEN SN =  PEEK(48700)
  9. 300 L$ = " -------------------  ------  ---------------  ---------------  ------- -------"
  10. 310 T$ = " NAME           TYPE  BLOCKS  MODIFIED         CREATED          ENDFILE SUBTYPE"
  11. 400  TEXT : PRINT  CHR$(21): PRINT  CHR$(4)"PR#0": NORMAL : HOME : PRINT : INVERSE : PRINT ":          :": PRINT "  CATA.LOG  ": PRINT ":          :": NORMAL 
  12. 450  PRINT : PRINT "THIS PROGRAM WILL DISPLAY               THE FILE NAMES FROM ALL OF              THE DIRECTORIES     ---                 ON A PRODOS DISK."
  13. 500  VTAB 11: PRINT : PRINT "[P] USE PRINTER AND 80-COLUMNS?.";: POKE 50,255 -192 *(PR = 1): PRINT "YES";: NORMAL : PRINT "/";: POKE 50,255 -192 *(PR = 0): PRINT "NO ": NORMAL 
  14. 525  PRINT "[M] MERGE/SORT SUBDIRECTORIES?..";: POKE 50,255 -192 *(SR = 1): PRINT "YES";: NORMAL : PRINT "/";: POKE 50,255 -192 *(SR = 0): PRINT "NO ": NORMAL 
  15. 550  PRINT "[D] DRIVE NUMBER................";: POKE 50,255 -192 *(DR = 1): PRINT " 1 ";: NORMAL : PRINT "/";: POKE 50,255 -192 *(DR = 2): PRINT " 2 ": NORMAL 
  16. 555  PRINT "[S] SLOT NUMBER.................    ";: INVERSE : PRINT " "SN" ": NORMAL 
  17. 560  PRINT : PRINT "[B] BEGIN": PRINT "[Q] QUIT": PRINT : CALL  -868: PRINT "SELECT:";: GET A$: GOSUB 8500: PRINT A$: IF A$ = "Q"  THEN 63000
  18. 570  IF A$ = "P"  THEN PR = PR = 0: POKE 800,123 *PR: GOTO 500
  19. 575  IF A$ = "M"  THEN SR = SR = 0: POKE 801,123 *SR: GOTO 500
  20. 580  IF A$ = "D"  THEN DR = DR +(DR = 1) -(DR = 2): POKE 802,DR: GOTO 500
  21. 590  IF A$ = "S"  THEN SN = SN +1: POKE 803,SN: IF SN = 8  THEN SN = 1: POKE 803,SN
  22. 600  IF A$ < >"B"  THEN 500
  23. 750  IF SR  THEN 5000
  24. 800  IF PR  THEN  HOME : PRINT "PRESS ESC TO QUIT": PRINT "      ---"
  25. 850  IF PR  THEN COL = 79: PRINT  CHR$(21): PRINT  CHR$(4)"PR#"PSLOT
  26. 900  REM <CTRL-J><CTRL-J>UNSORTED<CTRL-J>
  27. 2000  PRINT  CHR$(4)"PREFIX,S"SN",D"DR: PRINT  CHR$(4)"PREFIX": INPUT PFX$: GOSUB 8000: PRINT " MAIN DIRECTORY:":LN = LN +1
  28. 2040  PRINT PFX$:LN = LN +1: PRINT  CHR$(4)"OPEN"PFX$",TDIR": PRINT  CHR$(4)"READ"PFX$: INPUT A$
  29. 2100  INPUT A$: IF  LEN(A$)  AND  LEFT$(A$,3) < >"BLO"  THEN  PRINT  LEFT$(A$,COL): GOSUB 8000
  30. 2110  IF   NOT  LEN(A$)  THEN  PRINT  LEFT$(L$,COL): GOSUB 8000
  31. 2120  IF  MID$ (A$,18,3) < >"DIR"  THEN 2200
  32. 2140 SUB = SUB +1:A$ =  MID$ (A$,2,15)
  33. 2160  IF  RIGHT$(A$,1) = " "  THEN A$ =  LEFT$(A$, LEN(A$) -1): GOTO 2160
  34. 2180 SUBDIR$(SUB) = PFX$ +A$ +"/"
  35. 2200  IF  LEFT$(A$,3) < >"BLO"  THEN 2100
  36. 2220  PRINT  CHR$(4)"CLOSE": IF NF <SUB  THEN NF = NF +1:PFX$ = SUBDIR$(NF): PRINT : PRINT " SUBDIRECTORY:":LN = LN +2: GOTO 2040
  37. 2260  GOTO 5250
  38. 4999  REM <CTRL-J><CTRL-J>SORTED<CTRL-J>
  39. 5000  VTAB 17: PRINT : CALL  -958: VTAB 20: PRINT "READING DIRECTORY...": PRINT  CHR$(4)"PREFIX,S"SN",D"DR: PRINT  CHR$(4)"PREFIX": INPUT PFX$:VOL$ = PFX$
  40. 5020  PRINT  CHR$(4)"OPEN"PFX$",TDIR": PRINT  CHR$(4)"READ"PFX$
  41. 5060  INPUT A$: IF  MID$ (A$,28,1) > = "0"  AND  MID$ (A$,28,1) < = "9"  THEN FI = FI +1:FILE$(FI) = A$: VTAB 21: PRINT : PRINT  LEFT$(A$,COL)
  42. 5080  IF  MID$ (A$,18,3) < >"DIR"  THEN 5160
  43. 5100 SUB = SUB +1:A$ =  MID$ (A$,2,15)
  44. 5120  IF  RIGHT$(A$,1) = " "  THEN A$ =  LEFT$(A$, LEN(A$) -1): GOTO 5120
  45. 5140 SUBDIR$(SUB) = PFX$ +A$ +"/"
  46. 5160  ON  PEEK( -16384) = 155 GOTO 5250: IF  LEFT$(A$,3) < >"BLO"  THEN 5060
  47. 5180  PRINT  CHR$(4)"CLOSE": IF NF <SUB  THEN NF = NF +1:PFX$ = SUBDIR$(NF): VTAB 20: PRINT "READING SUBDIRECTORY...": GOTO 5020
  48. 5220  POKE 953,1: CALL 950,FILE$(0): IF PR  THEN COL = 79: PRINT : PRINT  CHR$(4)"PR#"PSLOT
  49. 5240  HOME : PRINT VOL$: GOSUB 8000: PRINT  LEFT$(T$,COL): GOSUB 8000: PRINT  LEFT$(L$,COL): GOSUB 8000: FOR I = 0 TO FI: PRINT  LEFT$(FILE$(I),COL): GOSUB 8000: NEXT : PRINT  LEFT$(L$,COL): GOSUB 8000
  50. 5250  PRINT  LEFT$(A$,COL): POKE  -16368,0: PRINT  CHR$(12): PRINT  CHR$(4)"CLOSE": PRINT  CHR$(4)"PR#0": IF PR  OR   NOT SR  THEN  PRINT "ANY KEY:";: GET A$: GOSUB 8500: PRINT A$: GOTO 150
  51. 5300  PRINT "[R] TO REPEAT, OR ANY KEY:";: GET A$: GOSUB 8500: PRINT A$: ON A$ = "R" GOTO 5240: GOTO 150
  52. 7999  REM <CTRL-J><CTRL-J>PG.BREAK<CTRL-J>
  53. 8000  IF PR  THEN LN = LN +1: IF LN >55  THEN LN = 0: PRINT  CHR$(12)
  54. 8020  IF  PEEK( -16384) = 155  THEN  POKE 222,255: GOTO 9000
  55. 8040  RETURN 
  56. 8500  IF  ASC(A$) >95  THEN A$ =  CHR$( ASC(A$) -32)
  57. 8510  RETURN 
  58. 8999  REM <CTRL-J><CTRL-J>ERROR<CTRL-J>
  59. 9000  PRINT  CHR$(12): PRINT  CHR$(4)"PR#0": PRINT  CHR$(4)"CLOSE": IF  PEEK(222) = 255  THEN  RUN 
  60. 9010  PRINT  CHR$(7);: IF  PEEK(222) = 6  THEN  PRINT "QSORT MISSING FROM DISK": PRINT "-----": END 
  61. 9030  IF  PEEK(222) = 3  THEN DR = 1: POKE 802,DR: GOTO 150
  62. 9035  IF  PEEK(222) = 8  THEN  PRINT "I/O ERROR": FOR I = 1 TO 999: NEXT : GOTO 150
  63. 9037  IF  PEEK(222) = 77  THEN  PRINT "INSUFFICIENT MEMORY": GOTO 63000
  64. 9040  POKE 216,0: RESUME 
  65. 63000  VTAB 20: PRINT : CALL  -958: PRINT "TYPE " CHR$(34)"RUN" CHR$(34)" TO CONTINUE.": PRINT  CHR$(4)"PREFIX/": END 
  66. 63999  RETURN