home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / UTIL.CITY.SHK / UTILITY.CITY / KEY-CAT.bas < prev    next >
BASIC Source File  |  2000-01-01  |  4KB  |  59 lines

  1. 10 CA$ = "CATALOG":RU$ = "RUN":EX$ = "EXEC":BR$ = "BRUN":NO$ = "NOMON"
  2. 60  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>===========================<CTRL-M>"KEY-CAT" CATALOG MENU-FIER<CTRL-M>BY BERT KERSEY<CTRL-M>(C) 1981 BEAGLE BROS.<CTRL-M>LISTS UP TO 23 FILES<CTRL-M>SELECTABLE BY ONE KEYPRESS.<CTRL-M>===========================
  3. 110 MEM = ( PEEK(978) -( PEEK(978) >127) *256) *256 +2947:AE = 174 -(157 - PEEK(978))
  4. 120 NS = 403 +93 *( PEEK(MEM +2925) = 16)
  5. 160  ONERR  GOTO 360
  6. 210  POKE MEM +1313,24: POKE MEM +1466,23
  7. 260  POKE 768,32: POKE 769,12: POKE 770,253: POKE 771,201: POKE 772,141: POKE 773,208: POKE 774,3: POKE 775,76: POKE 776,44: POKE 777,AE: POKE 778,76: POKE 779,60: POKE 780,AE: POKE 781,0
  8. 310  POKE MEM +1463,0: POKE MEM +1464,3
  9. 360 MAX$ = "W":D$ =  CHR$(4): PRINT D$;NO$"C,I,O"
  10. 410  SPEED= 255: TEXT : NORMAL : HOME : VTAB 1: PRINT : PRINT D$;CA$
  11. 460  FOR X = 1 TO 45  STEP 2: IF ( SCRN( 5,X) < >11)  THEN  NEXT X
  12. 510 LTR = 64:X = X -1: FOR V = X TO 44  STEP 2: NORMAL : VTAB V/2 +1: HTAB 1
  13. 560 LOCK$ = " ": IF  SCRN( 0,V) = 10  THEN LOCK$ = ":"
  14. 610  IF  SCRN( 1,V) = 1  THEN FILE$ = "]"
  15. 660  IF  SCRN( 1,V) = 2  THEN FILE$ = "*"
  16. 710  IF  SCRN( 1,V) = 9  THEN FILE$ = ">"
  17. 760  IF  SCRN( 1,V) = 4  THEN FILE$ =  CHR$(34)
  18. 810 LTR = LTR +1:TEST$ = N$:N$ =  CHR$(LTR)
  19. 860  IF  SCRN( 1,V) = 0  THEN FILE$ = " ":N$ = " ": IF N$ = " "  AND TEST$ < >" "  THEN MAX$ = TEST$
  20. 910  IF TEST$ = " "  AND N$ = " "  THEN VSEL = V/2 +1: GOTO 1060
  21. 960  PRINT "   ";: POKE 50,63 +192 *(LOCK$ = " "): PRINT FILE$;: NORMAL : PRINT " ";: INVERSE : PRINT N$;: NORMAL : IF N$ < >" "  THEN  HTAB 38: PRINT "."
  22. 1010  NEXT : NORMAL 
  23. 1060  IF VSEL = 0  THEN VSEL = 24
  24. 1110  VTAB VSEL: HTAB 1: PRINT  SPC( 37): HTAB 6: INVERSE : PRINT "  SELECT:";: POKE  -16368,0: GET A$: VTAB VSEL: HTAB 15: INVERSE : PRINT A$;"  ";:TSC =  SCRN( 14,2 *VSEL -2):BSC =  SCRN( 14,2 *VSEL -1): NORMAL 
  25. 1160  IF  ASC(A$) = 13  THEN 360
  26. 1170  IF A$ = "Z"  THEN  POKE 216,0: POKE MEM +1463,12: POKE MEM +1464,253: END 
  27. 1180  IF A$ = "#"  THEN  GOSUB 5000: GOTO 1060
  28. 1210  IF A$ >MAX$  OR A$ <"A"  THEN 1060
  29. 1260  FOR I = 0 TO 46  STEP 2: IF ( SCRN( 5,I) = TSC  AND  SCRN( 5,I +1) = BSC)  AND ( SCRN( 4,I +1) >9  AND  SCRN( 6,I +1) >9)  THEN 1360
  30. 1310  NEXT 
  31. 1360 SCT =  SCRN( 3,I): IF SCT = 13  OR SCT = 14  THEN T$ = RU$
  32. 1410  IF SCT = 10  THEN T$ = BR$
  33. 1460  IF SCT = 2  THEN T$ = EX$
  34. 1510  FOR J = X/2 +1 TO VSEL -1: VTAB J: HTAB 1: PRINT "       ";: NEXT : VTAB VSEL: HTAB 1: CALL  -958
  35. 1560  VTAB I/2 +1: HTAB 1: INVERSE : PRINT "       ";: HTAB 2: PRINT T$;: NORMAL 
  36. 1610 V = I: FOR H = 7 TO 37: GOSUB 1960: COLOR= TSC: PLOT H,V: COLOR= BSC -12 *(BSC = 12  OR BSC = 13) -8 *(BSC = 10  OR BSC = 11): PLOT H,V +1
  37. 1660  IF BSC < >10  OR TSC < >0  THEN SP = 0
  38. 1710  IF BSC = 10  AND TSC = 0  THEN SP = SP +1
  39. 1760  IF SP = 2  THEN 1850
  40. 1810  NEXT 
  41. 1820  POKE MEM +1313,22: POKE MEM +1466,21: POKE MEM +1463,12: POKE MEM +1464,253
  42. 1850  POKE 216,0: POKE MEM +1463,12: POKE MEM +1464,253
  43. 1860  VTAB 22: PRINT : PRINT  CHR$(4);T$
  44. 1910  END 
  45. 1960 BSC =  SCRN( H,V +1):TSC =  SCRN( H,V)
  46. 2010 N = 64: IF BSC = 13  THEN N = 80
  47. 2060  IF BSC = 10  THEN N = 32
  48. 2110  IF BSC = 11  THEN N = 48
  49. 2160  FOR X = 0 TO 15: IF  SCRN( H,V) = X  THEN T$ = T$ + CHR$(X +N): RETURN 
  50. 2210  NEXT : RETURN 
  51. 5000  RESTORE : FOR I = 896 TO 960: READ P: POKE I,P: NEXT 
  52. 5010 AE = 149 -(157 - PEEK(978)): POKE 905,AE: POKE 938,AE
  53. 5020 D =  PEEK(MEM +485):S =  PEEK(MEM +487)
  54. 5030  POKE 897,S *16: POKE 911,S *16: POKE 898,D: POKE 912,D
  55. 5040  CALL 919: REM   $397
  56. 5050 R =  PEEK(917) +256 * PEEK(918):U = NS -R
  57. 5060  VTAB 3: HTAB 35: POKE 32,37: POKE 33,3: PRINT : PRINT "---------------------------"
  58. 5070  INVERSE : VTAB 5: PRINT "   SECUSE": PRINT "   SECFRE": VTAB 5: PRINT "   <CTRL-H><CTRL-H><CTRL-H>";U: VTAB 9: PRINT "   <CTRL-H><CTRL-H><CTRL-H>";R: TEXT : NORMAL : RETURN 
  59. 5080  DATA  1,96,1,0,17,0,145,3,0,149,0,0,1,0,0,96,1,0,1,239,216,0,0,169,3,160,128,32,217,3,162,0,142,149,3,142,150,3,160,56,185,0,149,162,8,10,144,8,238,149,3,208,3,238,150,3,202,208,242,200,192,196,144,232,96