home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib36a.dsk / MARCH.1989 / WORKS.PROCESSOR.bas < prev   
BASIC Source File  |  2023-02-26  |  3KB  |  72 lines

  1. 10  REM  **********************
  2. 20  REM  * WORKS.PROCESSOR    *
  3. 30  REM  * BY MIKE JETZER     *
  4. 40  REM  * COPYRIGHT 1989     *
  5. 50  REM  * MICROSPARC, INC.   *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80  PRINT  CHR$(21)
  9. 90 D$ =  CHR$(4)
  10. 100  PRINT D$"PREFIX": INPUT PR$: PRINT D$"PREFIX"PR$
  11. 110  ONERR  GOTO 500
  12. 120  PRINT D$"BLOAD WORKS.OBJ"
  13. 130  POKE 216,0: CALL 8192
  14. 140  GOTO 160
  15. 150  CALL 8398
  16. 160  IF  PEEK(8195) = 1  THEN 510
  17. 170  IF  CHR$( PEEK(8195) -128) = "Q"  THEN 490: REM  Quit
  18. 180  HOME : PRINT "Current prefix: "PR$
  19. 190  PRINT : PRINT "Get directory listing by:": PRINT 
  20. 200  PRINT  SPC( 9)"P - Prefix"
  21. 210  PRINT  SPC( 9)"S - Slot and drive"
  22. 220  PRINT : PRINT "Choose - ";
  23. 230  POKE  -16368,0: GET A$: IF A$ =  CHR$(27)  THEN 130
  24. 240  IF A$ < >"p"  AND A$ < >"P"  AND A$ < >"s"  AND A$ < >"S"  THEN 230
  25. 250  PRINT A$
  26. 260  IF A$ = "p"  OR A$ = "P"  THEN 360
  27. 270  PRINT : PRINT "Catalog slot - ";
  28. 280  POKE  -16368,0: GET A$: IF A$ =  CHR$(27)  THEN 180
  29. 290  IF A$ <"1"  OR A$ >"7"  THEN 280
  30. 300  PRINT A$:DIR$ = ",s" +A$
  31. 310  PRINT "       drive - ";
  32. 320  POKE  -16368,0: GET A$: IF A$ =  CHR$(27)  THEN 180
  33. 330  IF A$ <"1"  OR A$ >"2"  THEN 320
  34. 340  PRINT A$:DIR$ = DIR$ +",d" +A$
  35. 350  GOTO 390
  36. 360  PRINT : PRINT "Catalog prefix (CR = current): ":ES = 0:HT = 32:VT = 10: GOSUB 560: IF ES = 1  THEN 180
  37. 370  IF C = 0  THEN IN$ = PR$
  38. 380 DIR$ = IN$
  39. 390  HOME 
  40. 400  ONERR  GOTO 470
  41. 410  PRINT D$"cat"DIR$
  42. 420  PRINT "Set prefix to this directory? (y/n) ";
  43. 430  GET A$: IF A$ < >"Y"  AND A$ < >"y"  AND A$ < >"N"  AND A$ < >"n"  THEN 430
  44. 440  IF A$ = "Y"  OR A$ = "y"  THEN  PRINT D$"prefix"DIR$: PRINT D$"prefix": INPUT PR$
  45. 450  REM Repeat this loop
  46. 460  POKE 216,0: GOTO 130
  47. 470  PRINT "Unable to catalog/set prefix to desired disk."
  48. 480  PRINT : PRINT "Press Return to continue ";: GET A$: GOTO 130
  49. 490  HOME : END 
  50. 500  HOME : PRINT "Cannot find WORKS.OBJ on current disk.": VTAB 23: END 
  51. 510  PRINT : PRINT : PRINT "Input Pathname:";:ES = 0:HT = 16:VT = 12: GOSUB 560: IF ES = 1  OR C = 0  THEN 130
  52. 520  POKE 9511,C: FOR T = 1 TO C: POKE (9511 +T), ASC( MID$ (IN$,T,1)): NEXT 
  53. 530  PRINT : PRINT : PRINT "Output Pathname:";:ES = 0:VT = 14:HT = 17: GOSUB 560: IF ES = 1  OR C = 0  THEN 130
  54. 540  POKE 9576,C: FOR T = 1 TO C: POKE (9576 +T), ASC( MID$ (IN$,T,1)): NEXT 
  55. 550  GOTO 150
  56. 560 C = 1:IN$ = ""
  57. 570  HTAB HT: VTAB VT: PRINT " ": HTAB HT: VTAB VT: GET A$: IF A$ =  CHR$(27)  THEN ES = 1: RETURN 
  58. 580  IF A$ =  CHR$(13)  THEN C = C -1: RETURN 
  59. 590  IF A$ =  CHR$(8)  AND C < >1  THEN  GOSUB 710: GOTO 570
  60. 600  IF C = 64  THEN 570
  61. 610  IF A$ = "."  OR A$ = "/"  THEN 660
  62. 620  IF A$ > = "A"  AND A$ < = "Z"  THEN 660
  63. 630  IF A$ > = "a"  AND A$ < = "z"  THEN A$ =  CHR$( ASC(A$) -32): GOTO 660
  64. 640  IF A$ > = "0"  AND A$ < = "9"  THEN 660
  65. 650  GOTO 570
  66. 660 C = C +1: GOSUB 690: GOTO 570
  67. 670  IF HT = 1  THEN HT = 40:VT = VT -1: RETURN 
  68. 680 HT = HT -1: RETURN 
  69. 690  HTAB HT: VTAB VT: PRINT A$:IN$ = IN$ +A$: IF HT = 40  THEN HT = 1:VT = VT +1: RETURN 
  70. 700 HT = HT +1: RETURN 
  71. 710 C = C -1: IF C < >1  THEN IN$ =  LEFT$(IN$,(C -1))
  72. 720  GOSUB 670: RETURN