home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Software / JB.1520-4.B.SFX / rays (.txt) < prev    next >
Commodore BASIC  |  1990-02-12  |  4KB  |  114 lines

  1. 1000 REM PLOTTING SHED 1987
  2. 1010 :
  3. 1020 REM  SET UP SOUND REGISTERS
  4. 1030 :
  5. 1040 : GOSUB2070:  REM SOUND ROUTINE
  6. 1050 :
  7. 1060 REM  SET UP SCREEN COLORS
  8. 1070 : POKE 53280,12                         :REM BORDER MEDIUM GRAY
  9. 1080 : POKE 53281,15                         :REM BACKGROUND LIGHT GRAY
  10. 1090 : POKE 646,11                           :REM TEXT DARK GRAY
  11. 1100 :
  12. 1110 REM  TEST IF PLOTTER PRESENT
  13. 1120 : PRINT "[147]"               :REM  POSITION CURSOR
  14. 1130 : SC$=""                              :REM  RED REVERSE VIDEO
  15. 1140 : OPEN 4,6,0                            :REM  OPEN ASCII PORT
  16. 1150 : CLOSE 4                               :REM  CLOSE PORT, ST=0 IF PRESENT
  17. 1160 : IF ST=0 THEN1310                      :REM  GO OPEN PRINTER PORTS
  18. 1170 : IF BL=0 THEN BL=1: GOSUB1980          :REM  SOUND BELL, ONCE
  19. 1180 : PRINT "[145][145][145][145][145][145]"                        :REM  CURSOR UP TO OVERLAY
  20. 1190 : PRINT TAB(8);"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
  21. 1200 : PRINT TAB(8);"[221]";SC$;"                      [146][151][221]"
  22. 1210 : PRINT TAB(8);"[221]";SC$;"  MAKE PLOTTER READY  [146][151][221]"
  23. 1220 : PRINT TAB(8);"[221]";SC$;"                      [146][151][221]"
  24. 1230 : PRINT TAB(8);"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
  25. 1240 : IF SC$="" THEN SC$="[155]": GOTO1260    :REM  ALTERNATE BETWEEN INVISIBLE
  26. 1250 : IF SC$="[155]" THEN SC$=""              :REM (LIGHT GRAY) AND RED REVERSE
  27. 1260 : GT=TI                                 :REM  SAVE TIMER VALUE
  28. 1270 : IF TI-GT<60 THEN1270                  :REM  LOOP FOR 60 JIFFIES
  29. 1280 : GOTO1140                              :REM  GO RETRY PLOTTER
  30. 1290 :
  31. 1300 REM  PLOTTER IS PRESENT                      OPEN THE PORTS
  32. 1310 : OPEN 1,6,1  :REM PLOTTING
  33. 1320 : OPEN 2,6,2  :REM PEN COLOR
  34. 1330 : OPEN 3,6,3  :REM CHARACTER SIZE
  35. 1340 : OPEN 4,6,0  :REM ASCII PORT
  36. 1350 :
  37. 1360 REM  CLEAR SCREEN DRAW BANNER
  38. 1370 :  PRINT "[147]       [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][146]"
  39. 1380 :  PRINT "       [221]    * RANDOM RAYS *    [221][146]"
  40. 1390 :  PRINT "       [221]  FOR THE 1520 PLOTTER [221][146]"
  41. 1400 :  PRINT "       [221]         FROM          [221][146]"
  42. 1410 :  PRINT "       [221]  'THE PLOTTING SHED'  [221][146]"
  43. 1420 :  PRINT "       [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][151][146]"
  44. 1430 :
  45. 1440 : PRINT"  ************ WARNING[144]! **************"
  46. 1450 : PRINT"  * THIS PROGRAM WILL RUN  FOREVER! [146] *"
  47. 1460 : PRINT"  * USE RUN/STOP KEY TO STOP         *"
  48. 1470 : PRINT"  ************************************"
  49. 1480 :
  50. 1490 REM  GET PEN COLOR SELECTION FROM THE USER
  51. 1500 : PRINT" CHOOSE PEN COLOR ([144]0 1 2 3[151])"
  52. 1510 : PRINT"        R[146]ANDOM COLOR"
  53. 1520 : PRINT"        Q[146]UIT"
  54. 1530 : INPUT" SELECTION   Q[157][157][157]";PC$
  55. 1540 : PC=ASC(PC$+" ")
  56. 1550 : IF PC=81 THENPRINT"[147]":GOTO1900        :REM END PROGRAM
  57. 1560 : IF PC=82 GOTO1640                     :REM RANDOM
  58. 1570 : IF PC<48 OR PC>51 THEN PRINT "[145]";TAB(28)"  [145]" :GOTO1500
  59. 1580 : PC=PC-48
  60. 1590 : PRINT#2,PC                            :REM CHANGE PEN TO SELECTED COLOR
  61. 1600 : GOTO1780
  62. 1610 :
  63. 1620 REM *********  RANDOM COLOR
  64. 1630 :
  65. 1640 : PRINT#1,"M",0,-240
  66. 1650 : PRINT#4
  67. 1660 : FOR A=1 TO INT(RND(1)*10)+5
  68. 1670 :   PRINT#1,"M";240,0
  69. 1680 :   X=INT(RND(1)*480)
  70. 1690 :   Y=INT(RND(1)*480)-240
  71. 1700 :   PRINT#1,"D";X,Y
  72. 1710 : NEXT
  73. 1720 : C=INT(RND(1)*4)
  74. 1730 : PRINT#2,C
  75. 1740 : GOTO1660
  76. 1750 :
  77. 1760 REM ********  COLOR BY CHOICE
  78. 1770 :
  79. 1780 : PRINT#1,"M",0,-240
  80. 1790 : PRINT#4
  81. 1800 : FOR A=1 TO INT(RND(1)*10)+5
  82. 1810 :   PRINT#1,"M";240,0
  83. 1820 :   X=INT(RND(1)*480)
  84. 1830 :   Y=INT(RND(1)*480)-240
  85. 1840 :   PRINT#1,"D";X,Y
  86. 1850 : NEXT
  87. 1860 : PRINT#2,PC
  88. 1870 : GOTO1800
  89. 1880 :
  90. 1890 REM  CLOSE FILES
  91. 1900 : CLOSE 1
  92. 1910 : CLOSE 2
  93. 1920 : CLOSE 3
  94. 1930 : CLOSE 4
  95. 1940 :
  96. 1950 END
  97. 1960 :
  98. 1970 REM  SOUND BELL SUBROUTINE
  99. 1980 : POKE SD+24,15  :REM VOICE 1 VOLUME AND FILTER SELECT
  100. 1990 : POKE SD+4,17  :REM VOICE 1 CONTROL, START ATTACK
  101. 2000 : POKE SD+4,16  :REM VOICE 1 CONTROL, START RELEASE
  102. 2010 : TB=TI
  103. 2020 : IF (TI-TB)<60 THEN2020
  104. 2030 : POKE SD+24,0  :REM VOICE 1 CONTROL, CLEAR VOLUME
  105. 2040 : RETURN
  106. 2050 :
  107. 2060 REM  SET UP SID REGISTERS FOR BELL SOUND
  108. 2070 : SD=54272                              :REM ADDRESS OF SID CHIP
  109. 2080 : POKE SD,  100                         :REM VOICE 1 FREQUENCY, LOW BYTE
  110. 2090 : POKE SD+ 1,56                         :REM VOICE 1 FREQUENCY, HIGH BYTE
  111. 2100 : POKE SD+ 5, 8                         :REM VOICE 1 ATTACK/DECAY
  112. 2110 : POKE SD+ 6,(9*16+10)                  :REM VOICE 1 SUSTAIN/RELEASE
  113. 2120 : RETURN
  114.