home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib32b.dsk / CLIP.ART.bas < prev    next >
BASIC Source File  |  2023-02-26  |  6KB  |  116 lines

  1. 10  REM  **************************
  2. 20  REM  **************************
  3. 30  REM  **                      **
  4. 40  REM  **  CLIP.ART            **
  5. 50  REM  **                      **
  6. 60  REM  **  Copyright (C) 1987  **
  7. 70  REM  **  by MicroSPARC, Inc. **
  8. 80  REM  **  52 Domino Drive     **
  9. 90  REM  **  Concord, MA  01742  **
  10. 100  REM **                      **
  11. 110  REM **************************
  12. 120  REM **************************
  13. 130 :
  14. 140 :
  15. 150  REM  by Robert C. Moore
  16. 160 :
  17. 170  REM  Part of Nibble Clip Art
  18. 180 :
  19. 190 :
  20. 200  HIMEM: 6144
  21. 210  POKE 49168,0:D$ =  CHR$(4):B$ = ",S6,D1":RAM =  PEEK(967):C = 0:O$ = "PRODOS":C$ = "CAT":P$ = "PATH":R$ = ",S3,D2":DOS =  PEEK(966): IF DOS  THEN O$ = "DOS3.3":C$ = "CATALOG":P$ = "FILE":R$ = ",S3,D1"
  22. 220  ONERR  GOTO 1000
  23. 230  GOSUB 900: IF C GOTO 280
  24. 240 SD$ = B$: IF RAM  THEN SD$ = R$
  25. 250  PRINT D$"BLOAD PICFILE.CREATE"SD$: PRINT D$"BLOAD UPK.OBJ"SD$
  26. 260  FOR L = 0 TO 199: IF  PEEK(49152) >127  THEN L = 199
  27. 270  NEXT : POKE 49168,0
  28. 280  GOSUB 950: ONERR  GOTO 860
  29. 290  IF C  THEN  CALL 7191: GOTO 310
  30. 300 C = 1: POKE 230,32: CALL  -3086: CALL 7168
  31. 310 V =  PEEK(6): GOSUB 830: ON V GOTO 340,380,510,590,680
  32. 320 :
  33. 330  REM  LOAD MINI-GRAPHIC
  34. 340  HTAB 12: PRINT "LOAD MINI-GRAPHIC": GOSUB 730: IF ESC GOTO 650
  35. 350  GOSUB 1150: PRINT D$"BLOAD"F$",A$9600"SD$: POKE 7,255: GOTO 650
  36. 360 :
  37. 370  REM  HI-RES SCREEN
  38. 380  HTAB 10: PRINT "HIGH-RESOLUTION SCREEN": VTAB 17: HTAB 8: PRINT "<L> LOAD NEW SCREEN": VTAB 19: HTAB 8: PRINT "<S> SAVE SCREEN IN MEMORY": VTAB 21: HTAB 8: PRINT "<E> ERASE SCREEN IN MEMORY": VTAB 23: HTAB 8
  39. 390  PRINT "<ESC> GO BACK"
  40. 400  GOSUB 1120: IF K = 155 GOTO 650
  41. 410  IF K = 197  OR K = 229  THEN  CALL  -3086: GOTO 650
  42. 420  IF K = 211  OR K = 243  THEN  GOSUB 830: HTAB 8: PRINT "SAVE HIGH-RESOLUTION SCREEN": GOSUB 730: GOTO 460
  43. 430  IF K < >204  AND K < >236 GOTO 400
  44. 440  GOSUB 830: HTAB 8: PRINT "LOAD HIGH-RESOLUTION SCREEN": GOSUB 730: IF ESC GOTO 480
  45. 450  GOSUB 1150: PRINT D$"BLOAD"F$",A$2000"SD$: GOTO 650
  46. 460  IF ESC GOTO 480
  47. 470  GOSUB 1150: PRINT D$"BSAVE"F$",A$2000,L$1FF8"SD$
  48. 480  GOSUB 830: GOTO 380
  49. 490 :
  50. 500  REM  SAVE MINI-GRAPHIC FILE
  51. 510  HTAB 10: PRINT "SAVE MINI-GRAPHIC FILE": GOSUB 730: IF ESC GOTO 650
  52. 520 D =  PEEK(215): POKE 38397,D:L = 576 *D:A = 38400 -L:Y =  INT(A/256): POKE 38399,Y:Y = A -256 *Y: POKE 38398,Y: GOSUB 1150: ONERR  GOTO 540
  53. 530  PRINT D$"DELETE"F$SD$: GOTO 550
  54. 540  CALL  -3288
  55. 550  ONERR  GOTO 860
  56. 560  PRINT D$"BSAVE"F$",A"A",L"L;SD$: GOSUB 830: GOSUB 950: CALL 7172: GOTO 310
  57. 570 :
  58. 580  REM  QUIT
  59. 590  HTAB 8: PRINT "DO YOU REALLY WANT TO QUIT?": VTAB 17: HTAB 8: PRINT "<Y> YES, GO TO MAIN MENU": VTAB 19: HTAB 8: PRINT "<N> NO, GO BACK"
  60. 600  GOSUB 1120: IF K = 155  OR K = 206  OR K = 238 GOTO 650
  61. 610  IF K = 217  OR K = 249 GOTO 1030
  62. 620  GOTO 600
  63. 630 :
  64. 640  REM  RETURN TO PICTURE
  65. 650  GOSUB 830: GOSUB 950: CALL 7191: GOTO 310
  66. 660 :
  67. 670  REM  CATALOG DISK
  68. 680  HTAB 12: PRINT "CATALOG DISK VOLUME":F$ = "": GOSUB 730: IF ESC GOTO 650
  69. 690  IF P  THEN  VTAB 21 +2 *RAM: PRINT  SPC( 79): VTAB 20 +2 *RAM: PRINT : INPUT "DIRECTORY PREFIX: ";F$
  70. 700  HOME : PRINT D$C$F$SD$: HTAB 12: PRINT "PRESS <RETURN>";: GOSUB 1120: GOTO 230
  71. 710 :
  72. 720  REM  PARTIAL MENU
  73. 730 P = 0: VTAB 17: HTAB 16: PRINT "<1> DRIVE 1": VTAB 19: HTAB 16: PRINT "<2> DRIVE 2": IF RAM  THEN  VTAB 21: HTAB 16: PRINT "<R> RAMDISK"
  74. 740  IF   NOT DOS  THEN  VTAB 18: HTAB 28: PRINT "<P> PATHNAME"
  75. 750  VTAB 21 +2 *RAM: HTAB 14: PRINT "<ESC> GO BACK":ESC = 0
  76. 760  GOSUB 1120: IF K = 177  OR K = 178  THEN  VTAB K +K -337: HTAB 16: INVERSE : PRINT "<"K -176">": NORMAL :SD$ =  LEFT$(B$,5) + CHR$(K -128): RETURN 
  77. 770  IF RAM  THEN  IF K = 210  OR K = 242  THEN SD$ = R$: VTAB 21: HTAB 16: INVERSE : PRINT "<R>": NORMAL : RETURN 
  78. 780  IF   NOT DOS  THEN  IF K = 208  OR K = 240  THEN  VTAB 18: HTAB 28: INVERSE : PRINT "<P>": NORMAL :SD$ = "":P = 1: RETURN 
  79. 790  IF K = 155  THEN ESC = 1: RETURN 
  80. 800  GOTO 760
  81. 810 :
  82. 820  REM  CLEAR COMMUNICATION WINDOW
  83. 830  VTAB 15: PRINT  SPC( 200); SPC( 199): POKE 2039,160: GOTO 920
  84. 840 :
  85. 850  REM  DISK ERROR
  86. 860  CALL 64477: CALL  -3288: IF V = 5  THEN  GOSUB 900
  87. 870  GOTO 310
  88. 880 :
  89. 890  REM  PRINT TITLE
  90. 900  TEXT : HOME : PRINT  CHR$(17); CHR$(21); CHR$(24): VTAB 1: FOR L = 0 TO 39: PRINT  CHR$(95);: NEXT : VTAB 3: HTAB 10: PRINT "NIBBLE "O$" CLIP ART": VTAB 5: HTAB 12: PRINT "BY ROBERT C. MOORE"
  91. 910  VTAB 6: FOR L = 0 TO 39: PRINT  CHR$(95);: NEXT : VTAB 9: HTAB 12: PRINT "COPYRIGHT (C) 1987": HTAB 12: PRINT "BY MICROSPARC, INC": HTAB 12: PRINT "52 DOMINO DRIVE": HTAB 12: PRINT "CONCORD, MA  01742"
  92. 920  VTAB 14: PRINT : RETURN 
  93. 930 :
  94. 940  REM  PRINT MENU
  95. 950  VTAB 22: INVERSE : PRINT "N";: NORMAL : PRINT "EGATIVE  ";: INVERSE : PRINT "L";: NORMAL : PRINT "OAD PIC  ";: INVERSE : PRINT "?";: NORMAL : PRINT "-CATALOG  ";: INVERSE : PRINT "D";: NORMAL : PRINT "RAW PIC"
  96. 960  HTAB 2: INVERSE : PRINT "M";: NORMAL : PRINT "IRROR  ";: INVERSE : PRINT "H";: NORMAL : PRINT "I-RES PIC  ";: INVERSE : PRINT "C";: NORMAL : PRINT "APTURE  ";: INVERSE : PRINT "X";: NORMAL : PRINT "-FACTOR="
  97. 970  HTAB 3: INVERSE : PRINT "F";: NORMAL : PRINT "LIP  ";: INVERSE : PRINT "S";: NORMAL : PRINT "AVE PICFILE  ";: INVERSE : PRINT "V";: NORMAL : PRINT "IEW   # PICS =";: GOTO 920
  98. 980 :
  99. 990  REM  FILE MISSING
  100. 1000  CALL 64477: CALL  -3288: HOME : VTAB 10: PRINT "DISK ERROR": FOR L = 0 TO 999: NEXT 
  101. 1010 :
  102. 1020  REM  EXIT
  103. 1030  HOME : PRINT : ONERR  GOTO 1060
  104. 1040 SD$ = B$: IF RAM  THEN SD$ = R$
  105. 1050  PRINT D$"RUN START.CLIPART"SD$
  106. 1060  CALL 64477: CALL  -3288: VTAB 12: PRINT "PLEASE PLACE THE MINI-GRAPHICS DISK": PRINT : PRINT "IN THE BOOT DRIVE AND PRESS <RETURN>."
  107. 1070  GOSUB 1120: IF K < >141  AND K < >155 GOTO 1070
  108. 1080  IF K = 141  THEN SD$ = B$: GOTO 1050
  109. 1090  GOTO 220
  110. 1100 :
  111. 1110  REM  GET KEYPRESS CODE
  112. 1120  WAIT 49152,128:K =  PEEK(49152): POKE 49168,0: RETURN 
  113. 1130 :
  114. 1140  REM  GET FILE/PATH NAME
  115. 1150  VTAB 21 +2 *RAM: PRINT  SPC( 79): VTAB 20 +2 *RAM: PRINT : PRINT P$"NAME: ";: INPUT "";F$: IF  LEFT$(F$,1) = "/"  THEN SD$ = ""
  116. 1160  RETURN