home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / FONTMECH.PRO.S1 / FONT.MECHANIC / CAT.MENU.bas < prev    next >
BASIC Source File  |  2000-01-01  |  4KB  |  77 lines

  1. 0  REM <CTRL-M><CTRL-M>===============<CTRL-M> CAT MENU<CTRL-M> (C) 1985<CTRL-M> MARK SIMONSEN<CTRL-M> BEAGLE BROS<CTRL-M>===============<CTRL-M> 
  2. 1  IF  PEEK(103) + PEEK(104) *256 < >2049  THEN  POKE 2048,0: POKE 103,1: POKE 104,8: PRINT  CHR$(4)"RUN CAT.MENU"
  3. 2  SPEED= 255: NOTRACE : LOMEM: 9216: PRINT  CHR$(21): TEXT : NORMAL :D$ =  CHR$(4)
  4. 3  PRINT D$"BLOAD CAT.MENU.ML": PRINT D$"-TYPE.COMMAND"
  5. 4 L = 1:U = 1:T = 1:A = 1:B = 1:S = 1:O = 1:SO = 0
  6. 5  DIM CA$(255): FOR J = 820 TO 820 +40: READ V: POKE J,V: NEXT 
  7. 6  REM 
  8. 7  REM 
  9. 8  REM 
  10. 9  REM 
  11. 10  ONERR  GOTO 56
  12. 11  TEXT : HOME 
  13. 12  GOSUB 58: HOME 
  14. 13  REM 
  15. 14  REM 
  16. 15  REM 
  17. 16  REM 
  18. 17  POKE 5888 +4,F: POKE 5888 +5,SO *128: IF   NOT F  THEN  PRINT  CHR$(7)"NO FILES": END 
  19. 18  INVERSE : PRINT " CAT MENU ";: NORMAL : HTAB 41 - LEN(F$): PRINT F$;: GOSUB 34: VTAB 23: GOSUB 34: HTAB 11: INVERSE : PRINT " PRESS [H] FOR HELP ";: NORMAL : CALL 5888
  20. 19 K$ =  CHR$( PEEK(5888 +3) -128): IF K$ = "Q"  THEN  VTAB 24: HTAB 1: CALL  -868: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y"  AND A$ < >"y" GOTO 99: TEXT : HTAB 1: CALL  -868: VTAB 23: DEL 3,3: END 
  21. 20  IF K$ = "C"  THEN  TEXT : CALL 820: HOME : PRINT : PRINT D$"CAT": GOSUB 34: PRINT "ANY KEY:";: GET A$: CALL 830
  22. 21  IF K$ = "P"  THEN  TEXT : CALL 820: GOSUB 71: CALL 830: IF A$ < >""  THEN 11
  23. 22  IF K$ = "H"  THEN  TEXT : CALL 820: GOSUB 35: CALL 830
  24. 23  ON K$ = "R" GOTO 26: IF K$ = "L"  THEN 30
  25. 24  IF K$ = "1"  OR K$ = "2"  THEN  PRINT  CHR$(4)"PREFIX,D"K$: GOTO 11
  26. 25  CALL 5888 +7: GOTO 19
  27. 26 FF =  PEEK(5888 +6):N$ = CA$(FF):C$ = "-"
  28. 27  REM 
  29. 28  REM 
  30. 29  TEXT : HTAB 1: CALL  -868: VTAB 23: PRINT : PRINT D$;C$; MID$ (N$,2,15): END 
  31. 30 FF =  PEEK(5888 +6):N$ = CA$(FF):M$ =  MID$ (N$,18,3):C$ = "LOAD"
  32. 31  IF M$ = "BIN"  THEN C$ = "BLOAD"
  33. 32  IF M$ = "TXT"  THEN C$ = "TYPE"
  34. 33  TEXT : HTAB 1: CALL  -868: VTAB 23: PRINT : PRINT D$;C$; MID$ (N$,2,15): END 
  35. 34  FOR J = 1 TO 40: PRINT "-";: NEXT : RETURN 
  36. 35  HOME : HTAB 14: INVERSE : PRINT " HELP SCREEN ": NORMAL : GOSUB 34: VTAB 4: PRINT 
  37. 36  PRINT " LEFT ARROW : MOVE UP 1 LINE"
  38. 37  PRINT "   UP ARROW"
  39. 38  PRINT "RIGHT ARROW : MOVE DOWN 1 LINE"
  40. 39  PRINT " DOWN ARROW"
  41. 40  PRINT "        [<] : MOVE BACK 1 PAGE"
  42. 41  PRINT "        [>] : MOVE AHEAD 1 PAGE"
  43. 42  PRINT 
  44. 43  REM 
  45. 44  PRINT "        [S] : SORT FILES"
  46. 45  PRINT "        [R] : RUN, BRUN, OR EXEC FILE"
  47. 46  PRINT "        [L] : LOAD, BLOAD, OR TYPE FILE"
  48. 47  PRINT "        [C] : CATALOG DISK (NORMALLY)"
  49. 48  PRINT "        [P] : PREFIX CHANGE"
  50. 49  PRINT "        [1] : NEW DISK, DRIVE 1": PRINT "        [2] : NEW DISK, DRIVE 2"
  51. 50  PRINT "        [H] : HELP SCREEN"
  52. 51  PRINT "        [Q] : QUIT"
  53. 52  VTAB 23: GOSUB 34: HTAB 16: PRINT "ANY KEY:";: GET A$: RETURN 
  54. 53  DATA 169,4,133,39,169,32,133,43,208,8,169,32,133,39,169,4,133,43,160,0,132,38,132,42,162,4,177,38,145,42,200,208,249,230,39,230,43,202,208,242,96
  55. 54  REM 
  56. 55  REM 
  57. 56  CALL  -3288
  58. 57  TEXT : HOME :J =  PEEK(222): INVERSE : VTAB 9: HTAB 15: INVERSE : PRINT  CHR$(7)" ERROR # "J" ": NORMAL : VTAB 23: HTAB 8: PRINT "PRESS ANY KEY TO RESTART:";: GET A$: GOTO 11
  59. 58  PRINT D$"PREFIX": INPUT P$: PRINT D$"OPEN "P$",TDIR": PRINT D$"READ"P$: INPUT L$: INPUT L$: INPUT L$:F = 0:F$ = ""
  60. 59  INPUT L$: IF L$ = ""  THEN  INPUT L$:F$ =  LEFT$(L$,17): GOTO 70
  61. 60  IF (T)  AND  MID$ (L$,18,3) = "TXT"  THEN 65
  62. 61  IF (A)  AND  MID$ (L$,18,3) = "BAS"  THEN 65
  63. 62  IF (B)  AND  MID$ (L$,18,3) = "BIN"  THEN 65
  64. 63  IF (S)  AND  MID$ (L$,18,3) = "SYS"  THEN 65
  65. 64  IF   NOT (O)  THEN 69
  66. 65  IF (L)  AND  LEFT$(L$,1) = "*"  THEN 68
  67. 66  IF (U)  AND  LEFT$(L$,1) = " "  THEN 68
  68. 67  GOTO 69
  69. 68 F = F +1:CA$(F) =  LEFT$(L$,39)
  70. 69  IF FI <255  THEN 59
  71. 70  PRINT D$"CLOSE "P$: RETURN 
  72. 71  VTAB 14: HTAB 1: GOSUB 75: PRINT  SPC( 160): GOSUB 75: PRINT  SPC( 40): VTAB 16: POKE 34,15: POKE 35,18
  73. 72  PRINT  CHR$(4)"PREFIX": INPUT A$: VTAB 18: PRINT "<RETURN> TO ESCAPE";: VTAB 16: HTAB 1: PRINT "PREFIX:"A$;: VTAB 16: HTAB 8: CALL  -657:A$ = "": FOR I = 512 TO 767: IF  PEEK(I) < >141  THEN A$ = A$ + CHR$( PEEK(I) -128): NEXT 
  74. 73  ON A$ = "" GOTO 74: PRINT  CHR$(4)"PREFIX"A$
  75. 74  RETURN 
  76. 75  FOR I = 1 TO 40: PRINT "_";: NEXT : RETURN 
  77. 99  HTAB 1: CALL  -868: HTAB 11: INVERSE : PRINT " PRESS [H] FOR HELP ";: NORMAL : GOTO 25