home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / GRAPHIC-ROUTINES (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  21.3 KB  |  491 lines

  1. 0 REM   FROM Q-LINK DISK # 154
  2. 5 A$="[209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209]":G$="":PRINTCHR$(8)
  3. 10 B$="[209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209]":POKE53281,0:PRINT"[147]";
  4. 15 C$="[209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209] ":POKE53280,0:PRINTCHR$(142);
  5. 20 D$="[209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209] [209]"
  6. 25 E$="[209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209] [209][209]"
  7. 30 F$="[160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209][160][209][209][209][209][209] [209][209][209]":X=0
  8. 35 PRINT"  [154]   [146]    S  P  O  T  S  O  F  T  '  S"
  9. 40 PRINT"  [154] [209]-[151] [146]   [129]-  -  -  -  -  -  -  -  -  -"
  10. 45 PRINT"  [154]   [151] [146]   [154]GRAPHICS DEMONSTRATION":PRINT"   [151]   "
  11. 50 PRINT"             [158]I)[151]NSTRUCTIONS"
  12. 55 PRINT"             [158]S)[151]TART DEMO"
  13. 60 PRINT"             [158]Q)[151]UIT"
  14. 65 PRINT"       CHOOSE AN OPTION, PLEASE";:POKE646,7:POKE198,0
  15. 70 PRINTF$+G$+A$+"";:PRINTE$+G$+B$+"";:PRINTD$+G$+C$+"";
  16. 75 PRINTC$+G$+D$+"";:PRINTB$+G$+E$+"";:PRINTA$+G$+F$+"";:GETX$:IFX$=""THEN70
  17. 80 IFX$="I"THEN120
  18. 85 IFX$="S"THEN230
  19. 90 IFX$="Q"THEN100
  20. 95 GOTO70
  21. 100 INPUT"[147]           ARE YOU SURE ? NO[157][157][157][157]";X$:X$=LEFT$(X$,1)
  22. 105 IFX$="N"THENPRINT"[145][158]          YEAH, I THOUGHT SO...":FORDL=0TO1500:NEXT:RUN
  23. 110 IFX$="Y"THENSYS65126
  24. 115 CLR:GOTO100
  25. 120 PRINTCHR$(14);"[147]       [211][208][207][212][211][207][198][212]'[211] [154][199][210][193][208][200][201][195][211][160][196][197][205][207]"
  26. 125 PRINT"[150]       [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  27. 130 PRINT"    [158][211][208][207][212][211][207][198][212]'[211] [153][199]RAPHICS [196]EMO IS A"
  28. 135 PRINT"COLLECTION OF 20 OR SO STRANGE AND ODD"
  29. 140 PRINT"[195]-64 GRAPHICS ROUTINES THAT [201] HAVE USED"
  30. 145 PRINT"OVER THE YEARS.  [211]OME OF THESE ROUTINES"
  31. 150 PRINT"ARE WRITTEN IN [194][193][211][201][195][153], SOME IN MACHINE"
  32. 155 PRINT"LANGUAGE, BUT MOST USE A COMBINATION"
  33. 160 PRINT"OF THE TWO."
  34. 165 PRINT"    [205]ANY OF THESE TRICKS WERE WRITTEN"
  35. 170 PRINT"BY ME, AND A FEW HAVE BEEN CULLED"
  36. 175 PRINT"FROM OTHER PROGRAMS. [193]LL ARE BROKEN"
  37. 180 PRINT"DOWN HERE INTO USEABLE FORM."
  38. 185 PRINT"    [212]O USE ANY OF THESE ROUTINES, JUST"
  39. 190 PRINT"COPY THE PORTION OF THIS PROGRAM THAT"
  40. 195 PRINT"CONTAINS THE SPECIFIC ROUTINE YOU WANT-"
  41. 200 PRINT"IT WILL BE IN A COLORED [210][197][205][153] STATEMENT-"
  42. 205 PRINT"AND DO WHATEVER YOU WANT WITH IT."
  43. 210 PRINT"    [201]F YOU HAVE ANY QUESTIONS, JUST "
  44. 215 PRINT"[197]-[205]AIL [211][208][207][212][153] ON [209]-[204]INK."
  45. 220 PRINT"      [158] [208]RESS <[211][208][193][195][197]> TO [195]ONTINUE "
  46. 225 POKE198,0:WAIT198,1:RUN
  47. 230 POKE53280,0:POKE53281,0:PRINTCHR$(147);
  48. 235 REM"[141][158]
  49. 240 [143] *** CBARS
  50. 245 A$[178]"   STOP       WAIT         WAIT         WAIT  OPEN       WAIT"
  51. 250 [129]J[178]1[164]4:[153]A$:[130]J:[151]646,7:[153]"   0)  BLK  1)  WHT  2)  RED  3)  CYN
  52. 255 GOSUB295;PRINT
  53. 260 A$="   [156]       [146]         [146]         [146]  [158]       [146]"
  54. 265 FORJ=1TO4:PRINTA$:NEXTJ:POKE646,7:PRINT"   4)  PRP  5)  GRN  6)  BLU  7)  YLW
  55. 270 [153]:A$[178]"   FOR       WAIT  VERIFY       WAIT  DEF       WAIT  POKE       WAIT"
  56. 275 [129]J[178]1[164]4:[153]A$:[130]J:[151]646,7:[153]"   8)  ORN  9)  BRN  10) PNK  11) GY1
  57. 280 PRINT:A$="   [152]       [146]  [153]       [146]  [154]       [146]  [155]       [146]"
  58. 285 FORJ=1TO4:PRINTA$:NEXTJ:POKE646,7:PRINT"   12) GY2  13) LGN  14) LBU  15) GY3
  59. 290 [137]320
  60. 295 [153]"  THENTAB(TAB(TAB(TAB(TAB(TAB(TAB(FN"
  61. 300 [153]"  THEN       FN"
  62. 305 [153]"  THEN       FN"
  63. 310 [153]"  THENTOTOTOTOTOTOTOFN"
  64. 315 [142]
  65. 320 [153]"    ADJUST COLOR, THEN PRESS <SPACE>":[151]198,0:[146]198,1
  66. 325 [143]"GOSUB
  67. 330 REM ***** SPLIT WIPE
  68. 335 FORJ=49152TO49259:READX:POKEJ,X:NEXT
  69. 340 DATA169,20,133,250,169,0,162,4,160,216,133,251,133,253,134,252,132
  70. 345 DATA254,162,24,160,38,177,251,200,145,251,136,177,253,200,145,253,136
  71. 350 DATA136,192,20,176,239,160,20,169,32,145,251,160,1,177,251,136,145
  72. 355 DATA251,200,177,253,136,145,253,200,200,192,21,144,239,160,19,169,32
  73. 360 DATA145,251,165,251,24,105,40,133,251,144,2,230,252,165,253,24,105
  74. 365 DATA40,133,253,144,2,230,254,202,16,181,160,10,202,208,253,136,208
  75. 370 DATA250,198,250,208,153,96
  76. 375 PRINT"[147]         S P L I T   W I P E"
  77. 380 PRINT"[158]    THIS EFFECT IS A SIMPLE MACHINE"
  78. 385 PRINT" LANGUAGE WIPE.  IT DIVIDES THE SCREEN"
  79. 390 PRINT"  INTO TWO HALVES, THEN SHUTTLES EACH"
  80. 395 PRINT"       HALF OFF OF THE SCREEN."
  81. 400 PRINT"      TO WIPE, PRESS <SPACE> NOW.[158]"
  82. 405 POKE198,0:WAIT198,1:POKE198,0:SYS49152
  83. 410 REM"[141][158]
  84. 415 [143] ******* TRIPLE WIPE
  85. 420 [153]"LOAD          T R I P L E   W I P E"
  86. 425 [153]"    THIS IS A SHORT AND SIMPLE BASIC"
  87. 430 [153]"   WIPE.  IT TAKES THREE QUICK PASSES"
  88. 435 [153]"       TO CLEAR ANY LO-RES SCREEN"
  89. 440 [129]D[178]1464[164]2023:[151]D,208:[130]
  90. 445 [153]"CONT        TO WIPE, HIT <SPACE> NOW":[151]198,0:[146]198,1:[151]198,0
  91. 450 [129]D[178]2023[164]1024[169][171]3:[151]D,96:[130]
  92. 455 [129]T[178]1025[164]2023[169]3:[151]T,96:[130]
  93. 460 [129]H[178]2022[164]1024[169][171]3:[151]H,96:[130]
  94. 465 [143]"GOSUB
  95. 470 REM ******* CIRCLE WIPE
  96. 475 PRINT"[147][158]         C I R C L E   W I P E"
  97. 480 PRINT"  [153]YES, ANOTHER WIPE.  THIS ONE CLEARS"
  98. 485 PRINT"ANY LO-RES SCREEN IN A SPIRAL PATTERN"
  99. 490 PRINT"FROM THE OUTSIDE IN."
  100. 495 FORD=1384TO2023:POKED,208:NEXT
  101. 500 PRINT"       TO WIPE, PRESS <SPACE> NOW.":POKE198,0:WAIT198,1:POKE198,0
  102. 505 A=0:B=39:C=1024:D=0:E=23:F=1063:G=2023:H=1984
  103. 510 FORN=ATOB:POKEC+N,32:NEXT:FORN=DTOE:POKEF+(40*N),32:NEXT
  104. 515 FORN=ATOB:POKEG-N,32:NEXT:FORN=DTOE:POKEH-(40*N),32:NEXT
  105. 520 A=A+1:B=B-1:C=C+40:D=D+1:E=E-1:F=F-1:G=G-40:H=H+1
  106. 525 IF A=12GOTO535
  107. 530 GOTO510
  108. 535 PRINT"":PRINTTAB(12)"  THAT'S ALL      ":FORD=0TO1500:NEXT
  109. 540 REM"[141][158]
  110. 545 [143] ******* FADE OUT & IN
  111. 550 [153]"LOADSYS        F A D E   O U T   &   I N"
  112. 555 [129]J[178]49152[164]49254:[135]X:[151]J,X:[130]
  113. 560 [131]162,0,160,0,189,33,192,153,0,216,153,0,217,153,0,218,153
  114. 565 [131]0,219,200,208,241,32,41,192,232,224,5,208,228,96,234,234,1
  115. 570 [131]15,12,11,0,4,0,0,140,39,192,142,38,192,141,40,192,162
  116. 575 [131]0,160,0,200,208,253,232,224,64,208,246,174,38,192,172,39,192
  117. 580 [131]173,40,192,96,140,39,192,142,38,192,141,40,192,162,0,160,0
  118. 585 [131]200,208,253,232,224,16,208,246,174,38,192,172,39,192,173,40,192,96
  119. 590 [150] [165]A(X)[178](40[171][195](M$))[173]2
  120. 595 M$[178]"THIS IS A ROUTINE THAT WILL FADE-IN":[141]635
  121. 600 M$[178]"ONE SCREEN OF LO-RES GRAPHICS,":[141]635
  122. 605 M$[178]"THEN FADE IT OUT FOR ANOTHER,":[141]635
  123. 610 M$[178]"ENTIRELY DIFFERENT SCREEN.":[141]635
  124. 615 M$[178]"THE FADEOUT ROUTINE IS":[141]635
  125. 620 M$[178]"MACHINE LANGUAGE;":[141]635
  126. 625 M$[178]"THE FADE-IN PART IS BASIC.":[141]635
  127. 630 [137]650
  128. 635 C$[178][199](151)[170][199](152)[170][199](155)[170][199](5)
  129. 640 [129]I[178]1[164]4:[153][163][165]A(X))[202](C$,I,1)M$[199](145)
  130. 645 [129]J[178]1[164]50:[130]J,I:[153]"":[142]
  131. 650 [129]D[178]0[164]3500:[130]:[158]49152
  132. 655 [143]"GOSUB
  133. 660 REM *******  PUSH DOWN, PULL UP
  134. 665 FORJ=49152TO49251:READX:POKEJ,X:NEXT:POKE198,0:SYS49205
  135. 670 PRINT"[147][154]   P U S H  D O W N,   P U L L   U P"
  136. 675 PRINT"[158]    PRETTY NEAT, EH?  THIS MACHINE"
  137. 680 PRINT" LANGUAGE ROUTINE CAN DROP ANY LO-RES"
  138. 685 PRINT" SCREEN, CHANGE IT AROUND WHILE IT'S"
  139. 690 PRINT"      DOWN, THEN PULL IT BACK UP"
  140. 695 PRINT"       TO DROP, PRESS <SPACE> NOW":SYS49152:WAIT198,1:POKE198,0
  141. 700 DATA169,24,133,252,120,169,0,133,251,166,251,173,18,208,208,251,173
  142. 705 DATA18,208,205,18,208,240,251,41,7,5,252,141,17,208,232,208,238
  143. 710 DATA230,251,230,251,165,251,201,207,144,221,165,252,9,27,141,17,208
  144. 715 DATA88,96,120,169,207,133,251,166,251,173,18,208,208,251,173,18,208
  145. 720 DATA205,18,208,240,251,41,7,5,252,141,17,208,232,208,238,198,251
  146. 725 DATA198,251,165,251,201,2,176,221,169,11,141,17,208,88,96
  147. 730 SYS49205:PRINT"[147]":SYS49152
  148. 735 REM"[141][158]
  149. 740 [143] ******* SPARKLE CHARACTERS
  150. 745 [129]J[178]49152[164]49211:[135]X:[151]J,X:[130]:[151]198,0:[158]49152
  151. 750 [153]"STOP   S P A R K L E   C H A R A C T E R"
  152. 755 [153]"STOP   TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO"
  153. 760 [153]"STOP  THIS PROGRAM--WHICH LOOKS BEST ON"
  154. 765 [153]"STOPA DARK SCREEN--WILL MAKE ALL THE"
  155. 770 [153]"STOPCHARACTERS ON THE SCREEN SHIMMER WITH":[153]"STOPCOLOR."
  156. 775 [153]"STOP  BE SURE TO FILL THE SCREEN WITH "
  157. 780 [153]"STOPREVERSE SPACE CHARACTERS FIRST, THEN"
  158. 785 [153]"STOPPRINT YOUR MESSAGES IN REVERSE, ALSO."
  159. 790 [153]"STOP      PRESS <SPACE> TO CONTINUE":[158]49191
  160. 795 [131]160,0,169,160,153,0,4,153,0,5,153,0,6,153,0,7,200
  161. 800 [131]208,241,160,0,169,0,153,0,216,153,0,217,153,0,218,153,0
  162. 805 [131]219,200,208,241,96,238,33,208,165,198,240,249,169,0,141,33,208
  163. 810 [131]133,198,96,141,33,208,133,198,96
  164. 815 [143]"GOSUB
  165. 820 REM ******* SPARKLE CHARACTERS 2
  166. 825 FORJ=49152TO49193:READX:POKEJ,X:NEXT:POKE53280,0:POKE53281,0:POKE198,0
  167. 830 PRINT"[147] S P A R K L E   C H A R A C T E R S   2"
  168. 835 PRINT" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  169. 840 PRINT"  THIS IS, OF COURSE, ANOTHER ROUTINE"
  170. 845 PRINT"THAT MAKES THE CHARACTERS ON THE SCREEN"
  171. 850 PRINT"SPARKLE, BUT THIS ONE WORKS BY CYCLING"
  172. 855 PRINT"COLOR ROM ITSELF."
  173. 860 PRINT"       PRESS <SPACE] TO CONTINUE"
  174. 865 SYS49152:POKE646,7:POKE198,0
  175. 870 DATA160,0,132,253,162,4,169,216,133,254,177,253,24,105,1,145,253
  176. 875 DATA136,208,246,230,254,202,208,241,173,18,208,208,251,169,128,205,18,208
  177. 880 DATA208,251,165,198,240,215,96
  178. 885 REM"[141][158]
  179. 890 [143] ******* SIDE-TO-SIDE
  180. 895 [151]53280,0:[151]53281,0:[153]"LOAD        S I D E - T O - S I D ESYS"
  181. 900 [153]"CONT   THIS IS BASIC...AS YOU CAN SEE,"
  182. 905 [153]"IT CAUSES A RATHER IRRITATING SWAYING"
  183. 910 [153]" EFFECT.  AS YOU CAN PROBABLY GUESS,"
  184. 915 [153]"THIS EFFECT CAN BE NAUSEOUS IN LARGE"
  185. 920 [153]"QUANTITIES, BUT IT WOULD BE EFFECTIVE"
  186. 925 [153]"  IF TO PUT TO USE FOR A FEW SECONDS"
  187. 930 [153]"     TO GAIN A USER'S ATTENTION."
  188. 935 [153]"  FOR AN EVEN MOREWAIT IRRITATING EFFECT,"
  189. 940 [153]"PRINT      PRESS <SPACE> TO CONTINUE"
  190. 945 [129]LR[178]0[164]7:[151]53270,([194](53270)[175]248)[170]LR:[130]LR:[129]RL[178]7[164]0[169][171]1
  191. 950 [151]53270,([194](53270)[175]248)[170]RL:[130]:[161]X$:[139]X$[178]""[167]945
  192. 955 [143]"GOSUB
  193. 960 REM ******* ROUND'N'ROUND
  194. 965 FORJ=49152TO49342:READX:POKEJ,X:NEXT
  195. 970 PRINT"[147]        R O U N D ' N ' R O U N D"
  196. 975 PRINT"  I TOLD YOU SO!  IF YOU PLAN ON USING"
  197. 980 PRINT" THIS ROUTINE, BE SURE AND ADVISE YOUR"
  198. 985 PRINT" USERS TO TAKE A COUPLE OF DOZEN EXTRA"
  199. 990 PRINT"        STRENGTH EXCEDRIN TABLETS."
  200. 995 PRINT"    AS IN THE PREVIOUS EXAMPLE, THIS"
  201. 1000 PRINT" ROUTINE IS BEST WHEN TAKEN IN EXTREME"
  202. 1005 PRINT" MODERATION. SURE CATCHES THE EYE, EH?"
  203. 1010 PRINT"[129]        PRESS <SPACE> TO CONTINUE"
  204. 1015 SYS49152:POKE198,0:WAIT198,1:SYS49155
  205. 1020 DATA76,49,192,76,112,192,1,0,1,2,3,4,5,6,7,7,7,7,7
  206. 1025 DATA6,5,4,3,2,1,0,0,0,4,5,6,7,7,7
  207. 1030 DATA7,6,5,4,3,2,1,0,0,0,0,1,2,3,4,120,169
  208. 1035 DATA88,141,20,3,169,192,141,21,3,169,1,141,26,208,169,0,141
  209. 1040 DATA18,208,173,17,208,41,119,141,17,208,173,22,208,41,247,141,22
  210. 1045 DATA208,88,96,173,25,208,41,1,240,11,169,1,141,25,208,32,150
  211. 1050 DATA192,76,49,234,104,168,104,170,104,64,120,169,128,141,26,208,169
  212. 1055 DATA49,141,20,3,169,234,141,21,3,173,22,208,41,240,9,8,141
  213. 1060 DATA22,208,173,17,208,41,240,9,11,141,17,208,88,96,174,6,192
  214. 1065 DATA173,22,208,41,248,29,7,192,141,22,208,173,17,208,41,248,29
  215. 1070 DATA28,192,141,17,208,238,6,192,173,6,192,201,21,144,5,169,0,141,6,192,96
  216. 1075 REM"[141][158]
  217. 1080 [143] ******* FAST-COLOR-CYCLER
  218. 1085 [129]J[178]49152[164]49222:[135]X:[151]J,X:[130]:[151]53281,1
  219. 1090 [153]"LOAD     F A S T  C O L O R  C Y C L E R "
  220. 1095 [153]"                                     "
  221. 1100 [153]"     THE BORDER IS CYCLING COLORS    "
  222. 1105 [153]"    NOW.  TO CYCLE THE SCREEN, PRESS "
  223. 1110 [153]"    <SPACE>. PRESS <SPACE> AGAIN, &  "
  224. 1115 [153]"      BOTH BORDER & SCREEN WILL      "
  225. 1120 [153]"     CYCLE.  PRESS <SPACE> AGAIN TO  "
  226. 1125 [153]"      GO ON TO THE NEXT ROUTINE.     "
  227. 1130 [153]"                                     ":[158]49152
  228. 1135 [131]173,32,208,141,0,193,173,33,208,141,1,193,169,0,133,198,238
  229. 1140 [131]32,208,165,198,240,249,173,0,193,141,32,208,169,0,133,198,238
  230. 1145 [131]33,208,165,198,240,249,169,0,133,198,238,32,208,238,33,208,165
  231. 1150 [131]198,240,246,173,0,193,141,32,208,173,1,193,141,33,208,169,0,133,198,96
  232. 1155 [143]"GOSUB
  233. 1160 REM ******* RANDOM SCROLL
  234. 1165 FORJ=49152TO49216:READX:POKEJ,X:NEXT
  235. 1170 POKE53281,0:POKE53280,0:PRINT"[147]        R A N D O M  S C R O L L"
  236. 1175 PRINT"  [158]THIS ONE DOESN'T NEED EXPLAINING..."
  237. 1180 PRINT"BUT IT WORKS BY RANDOMLY CYCLING COL[156]O[129]R"
  238. 1185 PRINT"[158]ROM ON A LINE-BY-LINE BASIS.  THIS"
  239. 1190 PRINT"MAY NOT BE PRACTICAL, BUT IT'S CUTE."
  240. 1195 PRINT"         PRESS <SPACE> TO STOP"
  241. 1200 FORD=1504TO2023:POKED,208:NEXT:POKE198,0:SYS49152
  242. 1205 DATA206,4,192,169,4,208,48,169,255,141,4,192,162,24,189,240,236
  243. 1210 DATA141,35,192,181,217,41,15,24,105,212,141,36,192,160,39,169,61
  244. 1215 DATA153,0,216,136,16,250,206,33,192,202,16,224,173,33,192,24,105
  245. 1220 DATA8,141,33,192,169,1,141,25,208,165,198,240,192,96
  246. 1225 REM"[141][158]
  247. 1230 [143] ******* SCRAMBLED ROM
  248. 1235 V[178]1:M$[178]"TAB(TAB(TAB(TAB( TAB(TAB( TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB( TAB(TAB(TAB(TAB(":CR[178]6:B[178][195](M$):WA[178](40[171]B)[173]2[171]1:[153]"LOAD"
  249. 1240 [151]646,7:[129]A[178]B[164]1[169][171]1:M1$[178][202](M$,A,1):[153][199](19)
  250. 1245 [139]M1$[179][177]" "[167][129]T[178]1[164]CR[171]2:[153][163]WA[170]A)M1$[199](145):[153][163]WA[170]A)" "
  251. 1250 [130]:[153][163]WA[170]A)M1$:[130]
  252. 1255 [139]V[178]1[167]V[178]0:M$[178]"HERE IS SCRAMBLED ROM!":CR[178]5:[137]1240
  253. 1260 [151]646,0:[153]"  THIS IS ANOTHER ONE OF THOSE FLASHY"
  254. 1265 [153]" ROUTINES.  THIS ONE RANDOMLY SCRAMBLES"
  255. 1270 [153]"   EACH INDIVIDUAL BYTE IN COLORWAIT ROM."
  256. 1275 [153]" NOW, WHILE I DON'T SHOW IT HERE, THIS"
  257. 1280 [153]" ROUTINE LOOKS A BIT BETTER WHEN USED"
  258. 1285 [153]"      WITH LARGER GRAPHIC IMAGES."
  259. 1290 [153]"      PRESS <SPACE> TO CONTINUE":[151]646,7
  260. 1295 [129]J[178]49152[164]49215:[135]X:[151]J,X:[130]:[151]198,0:[158]49152
  261. 1300 [131]169,255,141,14,212,141,15,212,169,128,141,18,212,162,0,173,27,212,157
  262. 1305 [131]0,216,157,0,217,157,0,218,157,0,219,232,224,0,208,236,165,198,240,230
  263. 1310 [131]173,134,2,160,0,153,0,216,153,0,217,153,0,218,153,0,219,200,208,241
  264. 1315 [131]169,0,133,198,96
  265. 1320 [143]"GOSUB
  266. 1325 REM ******* MOVING DIAMOND
  267. 1330 FORJ=49152TO49202:READX:POKEJ,X:NEXT
  268. 1335 PRINT"[147]      M [218] V I N G   D I A M [218] N D"
  269. 1340 PRINT"[154] THIS EFFECT IS MACHINE LANGUAGE AND"
  270. 1345 PRINT"BASIC.  THE BASIC LAYS THE C[129]O[158]LOR [154]ROM"
  271. 1350 PRINT"DOWN IN A SPECIFIC PATTERN, THEN THE"
  272. 1355 PRINT"MACHINE LANGUAGE TAKES OVER TO CHANGE"
  273. 1360 PRINT"C[129]O[158]LOR [154]ROM, CREATING THE ILLUSION"
  274. 1365 PRINT"OF MOTION.  I HAVE INCLUDED TWO DIFF-"
  275. 1370 PRINT"ERENT PATTERNS, BUT MAKING YOUR OWN IS"
  276. 1375 PRINT"VERY EASY.":PRINT"  PRESS <SPACE> NOW TO SEE THE FIRST"
  277. 1380 PRINT"PATTERN.  THEN, PRESS AGAIN TO SEE THE"
  278. 1385 PRINT"SECOND.  PRESS ONE MORE TIME TO GO ON"
  279. 1390 PRINT"TO THE NEXT ROUTINE.[145]":POKE198,0:WAIT198,1:POKE198,0
  280. 1395 SYS49183:G=55296:C=0:S=0
  281. 1400 S=C:FORL=0TO19:POKEG+L,S:S=S+1:NEXT
  282. 1405 G=G+40:C=C+1:IFG>55736THENG=55316:C=0:S=0:GOTO1415
  283. 1410 GOTO1400
  284. 1415 S=C:FORL=19TO0STEP-1:POKEG+L,S:S=S+1:NEXT:G=G+40:C=C+1:IFG>55756THEN1425
  285. 1420 GOTO1415
  286. 1425 G=55776:C=255:S=255
  287. 1430 S=C:FORL=19TO0STEP-1:POKEG+L,S:S=S-1:NEXT:G=G+40:C=C-1:IFG>56276THEN1440
  288. 1435 GOTO1430
  289. 1440 G=55796:C=255:S=255
  290. 1445 S=C:FORL=0TO19:POKEG+L,S:S=S-1:NEXT
  291. 1450 G=G+40:C=C-1:IFG>56295THEN1460
  292. 1455 GOTO1445
  293. 1460 GETX$:IFX$=""THENFORJ=0TO45:NEXT:SYS49152:GOTO1460
  294. 1465 X=15:POKE198,0:A=0:B=39:C=55296:D=0:E=23:F=55335:G=56295:H=56256
  295. 1470 FORN=ATOB:POKEC+N,X:NEXT:FORN=DTOE:POKEF+(40*N),X:NEXT
  296. 1475 FORN=ATOB:POKEG-N,X:NEXT:FORN=DTOE:POKEH-(40*N),X:NEXT
  297. 1480 A=A+1:B=B-1:C=C+40:D=D+1:E=E-1:F=F-1:G=G-40:H=H+1:X=X-1
  298. 1485 IF A=12GOTO1495
  299. 1490 GOTO1470
  300. 1495 GETX$:IFX$=""THENFORJ=0TO50:NEXT:SYS49152:GOTO1495
  301. 1500 DATA173,18,208,208,251,160,0,132,253,162,4,169,216,133,254,177,253
  302. 1505 DATA24,105,1,145,253,136,208,246,230,254,202,208,241,96,160,0,169
  303. 1510 DATA208,153,0,4,153,0,5,153,0,6,153,0,7,200,208,241,96
  304. 1515 REM"[141][158]
  305. 1520 [143] ******* RASTER SCROLLER
  306. 1525 [153]"LOADSTOP      R A S T E R   S C R O L L E R"
  307. 1530 [153]"STOP                                    "
  308. 1535 [153]"      THIS NIFTY INTERRUPT-DRIVEN   "
  309. 1540 [153]"     ROUTINE USES THE C-64'S RASTER "
  310. 1545 [153]"     CONTROL CAPABILITIES. YOU CAN  "
  311. 1550 [153]"      EASILY USE THIS ROUTINE WITH  "
  312. 1555 [153]"      MOST BASIC PROGRAMS TO CATCH  "
  313. 1560 [153]"      AND HOLD THE USER'S INTEREST. "
  314. 1565 [153]"                                    "
  315. 1570 [153]"                                    "
  316. 1575 [153]"       PRESS <SPACE> TO CONTINUE    "
  317. 1580 [153]"                                    "
  318. 1585 [129]J[178]49152[164]49298:[135]X:[151]J,X:[130]:[151]2,0:[151]792,0:[151]793,192
  319. 1590 [158]49196,1,11,12,15:[143] *****CHANGE THESE NUMBERS TO CHANGE THE COLORS
  320. 1595 [151]56580,100:[151]56581,1:[151]56582,0:[151]56583,0:[143] **** 56580 IS SPEED
  321. 1600 [151]56589,130:[151]56590,17:[151]56591,81:[151]198,0:[146]198,1
  322. 1605 [151]198,0:[158]49273:[151]646,7
  323. 1610 [131]72,138,72,152,72,164,2,200,192,16,208,2,160,0,132,2,185
  324. 1615 [131]28,192,141,33,208,141,33,208,76,81,254,1,3,6,14,1,3
  325. 1620 [131]6,14,1,3,6,14,1,3,6,14,32,155,183,134,251,32,155
  326. 1625 [131]183,134,252,32,155,183,134,253,32,155,183,134,254,165,251,141,28
  327. 1630 [131]192,141,32,192,141,36,192,141,40,192,165,252,141,29,192,141,33
  328. 1635 [131]192,141,37,192,141,41,192,165,253,141,30,192,141,34,192,141,38
  329. 1640 [131]192,141,42,192,165,254,141,31,192,141,35,192,141,39,192,141,43
  330. 1645 [131]192,96,120,169,71,141,24,3,169,254,141,25,3,88,169,0,141
  331. 1650 [131]32,208,141,33,208,169,147,32,210,255,96
  332. 1655 [143]"GOSUB
  333. 1660 REM ******* MESSAGE CRAWLER
  334. 1665 FORJ=49408TO49494:READX:POKEJ,X:NEXT
  335. 1670 PRINT"[147][158]     M E S S A G E   C R A W L E R"
  336. 1675 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  337. 1680 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  338. 1685 PRINT"[158]   THE BENEFITS OF THIS ROUTINE SHOULD"
  339. 1690 PRINT" BE OBVIOUS--IF THEY'RE NOT, THEN YOU"
  340. 1695 PRINT" HAVE PROBABLY NEVER WATCHED T.V."
  341. 1700 PRINT"   AS WITH MOST OF THE ROUTINES IN THIS"
  342. 1705 PRINT" DEMO, LESS IS MORE--THAT IS, USE THIS"
  343. 1710 PRINT" ONE SPARINGLY TO THRILL AND DELIGHT"
  344. 1715 PRINT" YOUR USERS."
  345. 1720 DATA120,162,192,134,252,169,0,133,251,160,199,173,18,208,201,0,208,249,140
  346. 1725 DATA22,208,173,18,208,201,0,208,249,142,22,208,136,192,191,208,231,173,1
  347. 1730 DATA220,201,239,240,21,160,40,177,251,153,0,0,136,208,248,230,251,165,251
  348. 1735 DATA201,0,208,204,76,5,193,88,169,147,32,210,255,173,22,208,9,8,141,22,208
  349. 1740 DATA173,17,208,9,8,141,17,208,96
  350. 1745 C$="THIS NIFTY LITTLE ROUTINE SCROLLS A MESSAGE ACROSS THE SCREEN..."
  351. 1750 C$=C$+"CHANGE A FEW VARIABLES TO SUIT YOUR NEEDS...THIS MESSAGE MUST BE "
  352. 1755 C$=C$+"UNDER 170 BYTES LONG....HIT SPACE[146] TO STOP...":N=10:R=4:POKE646,1
  353. 1760 REM*****N=COLOR(1-15);R=ROW (0-24)
  354. 1765 E$="                                        ":C$=E$+C$+E$:POKE209,0
  355. 1770 POKE210,192:POKE211,0:POKE213,LEN(C$):PRINTC$:C=(R*40)+55296:FORT=CTOC+39
  356. 1775 POKET,N:NEXT:S=C-54273:H=INT(S/256):POKE49456,S-H*256:POKE49457,H:T=50+8*R
  357. 1780 POKE49423,T:POKE49433,T+9:POKE49466,LEN(C$)-40:SYS49408:POKE198,0
  358. 1785 REM"[141][158]
  359. 1790 [143] ******* RASTER BACKGROUND
  360. 1795 [129]J[178]49152[164]49272:[135]X:[151]J,X:[130]:[158]49152:[158]49185
  361. 1800 [129]R[178]50000[164]50254[169]2:[151]R,0:[130]
  362. 1805 C[178]14:[129]R[178]50000[164]50254[169]14:[151]R,C:C[178]C[170]1:[139]C[178]32[167]C[178]2
  363. 1810 [130]:[158]49185:[153]"LOAD"
  364. 1815 [153]"                                   "
  365. 1820 [153]"           RASTER  BACKGROUND      "
  366. 1825 [153]"           TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(      POKE  "
  367. 1830 [153]"       THIS IS AN INTERRUPT-DRIVEN POKE  "
  368. 1835 [153]"      ROUTINE THAT USES THE C-64'S POKE  "
  369. 1840 [153]"      BUILT-IN RASTER CONTROL SYS- POKEN "
  370. 1845 [153]"      TEM.   IT WILL RUN UNDER ANY POKES "
  371. 1850 [153]"       BASIC PROGRAM THAT DOESN'T  POKE- "
  372. 1855 [153]"      RE-DIRECT THE IRQ VECTOR FOR POKEY "
  373. 1860 [153]"             IT'S OWN USE.         POKE  "
  374. 1865 [153]"       THE BACKGROUND IS EASY TO   POKE  "
  375. 1870 [153]"       CHANGE TO WHICHEVER COLOR   POKE  "
  376. 1875 [153]"      COMBINATION YOU WOULD LIKE-- POKE  "
  377. 1880 [153]"      JUST CHANGE LINES 1800-1805. POKE  "
  378. 1885 [153]"       PLEASE NOTE THAT SYS 49201  POKE- "
  379. 1890 [153]"         DISABLES THIS ROUTINE.    POKE. "
  380. 1895 [153]"                                   POKE  "
  381. 1900 [153]"POKE           DISABLES THIS ROUTINE     "
  382. 1905 [153]"POKE                                     "
  383. 1910 [153]"OPEN          PRESS <SPACE> TO QUIT":[151]198,0:[146]198,1:[158]49201
  384. 1915 [131]120,169,127,141,13,220,169,1,141,26,208,169,40,141,18,208,169,27,141
  385. 1920 [131]17,208,169,81,141,20,3,169,192,141,21,3,88,96,173,18,208,201,38,208
  386. 1925 [131]249,173,17,208,73,16,141,17,208,96,120,169,49,141,20,3,169,234,141,21
  387. 1930 [131]3,169,240,141,26,208,169,129,141,13,220,173,120,195,141,32,208,141,33
  388. 1935 [131]208,88,96,169,1,141,25,208,174,18,208,224,0,240,20,189,80,195,141,33
  389. 1940 [131]208,141,32,208,232,232,142,18,208,104,168,104,170,104,64,169,40,141,18
  390. 1945 [131]208,76,49,234
  391. 1950 [143]"GOSUB
  392. 1955 REM ******* CHARACTER EFFECTS
  393. 1960 FORJ=49152TO49296:READX:POKEJ,X:NEXT:POKE53280,0:POKE53281,0:SYS49152
  394. 1965 PRINT"[147]   C H A R A C T E R    E F F E C T S":POKE198,0
  395. 1970 PRINT" THIS NEXT GROUP OF EFFECTS IS ON A BIT"
  396. 1975 PRINT"  HIGHER PLANE THAN MOST YOU HAVE SEEN"
  397. 1980 PRINT"                SO FAR"
  398. 1985 PRINT" THIS FIRST ONE PLAYS WITH THAT PART OF"
  399. 1990 PRINT"  CHARACTER RAM WHERE THE BITS FOR THE"
  400. 1995 PRINT"          SPACE CHARACTER LIE"
  401. 2000 PRINT"       PRESS <SPACE> TO CONTINUE[145]":X=1
  402. 2005 FORJ=28928TO28935:POKEJ,X:NEXTJ:X=X*2:IFX>128THENX=1
  403. 2010 FORDL=0TO25:NEXTDL:GETX$:IFX$=""THEN2005
  404. 2015 FORJ=28928TO28935:POKEJ,0:NEXT
  405. 2020 REM *****  FIRST  DISSOLVE  *****
  406. 2025 FORJ=28672TO28888:POKEJ,0:FORDL=0TO5:NEXTDL:NEXTJ
  407. 2030 PRINT"[147]";:POKE646,7:PRINT"   THIS IS THE FIRST OF TWO DISSOLVES"
  408. 2035 PRINT" THIS ONE WORKS BY A METHOD SIMILAR TO"
  409. 2040 PRINT"          THE PREVIOUS ONE"
  410. 2045 PRINT"  THE ROUTINE FILLS CHARACTER RAM WITH"
  411. 2050 PRINT" ZEROS  CAUSING THE SCREEN TO BLANK OUT"
  412. 2055 PRINT"     THEN THE SCREEN IS UPDATED AND "
  413. 2060 PRINT"   CHARACTER ROM IS SWITCHED BACK IN"
  414. 2065 PRINT"      ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  415. 2070 PRINT"      ZYXWVUTSRQPONMLKJIHGFEDCBA"
  416. 2075 PRINT"      PRESS <SPACE> TO CONTINUE[145]"
  417. 2080 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:J=28888:G=53464
  418. 2085 POKEJ,PEEK(G):J=J-1:G=G-1:IFJ<28672THEN2095
  419. 2090 GOTO2085
  420. 2095 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
  421. 2100 POKE198,0:WAIT198,1:POKE198,0
  422. 2105 REM *****  SECOND DISSOLVE ******
  423. 2110 S=28672
  424. 2115 FORE=STO28888STEP4:POKEE,0:FORDL=0TO15:NEXTDL:NEXT
  425. 2120 S=S+1:IFS>28675THEN2130
  426. 2125 GOTO2115
  427. 2130 PRINT"[147]";:POKE646,14:PRINT"       HERE IS THE SECOND DISSOLVE"
  428. 2135 PRINT" THIS ONE WORKS ALMOST EXACTLY LIKE THE"
  429. 2140 PRINT"    LAST ONE ONLY WHEN IT ZEROES OUT "
  430. 2145 PRINT"  CHARACTER RAM IT DOES SO BY STEPS OF "
  431. 2150 PRINT"    FOUR WHICH MAKES FOR A SOMEWHAT"
  432. 2155 PRINT"            SMOOTHER WIPE"
  433. 2160 PRINT"      ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  434. 2165 PRINT"      ZYXWVUTSRQPONMLKJIHGFEDCBA"
  435. 2170 PRINT"       PRESS <SPACE> TO CONTINUE[145]":X=1
  436. 2175 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:L=28672:H=53248
  437. 2180 B=L:T=H
  438. 2185 POKEB,PEEK(T):B=B+4:T=T+4:IFB>28888THENL=L+1:H=H+1:GOTO2180
  439. 2190 IFH>53251THEN2200
  440. 2195 GOTO2185
  441. 2200 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1:POKE198,0:WAIT198,1:POKE198,0
  442. 2205 S=28672
  443. 2210 FORE=STO28888STEP4:POKEE,0:FORDL=0TO15:NEXTDL:NEXT
  444. 2215 S=S+1:IFS>28675THEN2225
  445. 2220 GOTO2210
  446. 2225 SYS49281
  447. 2230 DATA173,0,221,41,252,9,2,141,0,221,169,237,141,24,208,169,120,141,136,2
  448. 2235 DATA173,14,220,41,254,141,14,220,165,1,41,251,133,1,160,0,185,0,208,153,0
  449. 2240 DATA112,185,0,209,153,0,113,185,0,210,153,0,114,185,0,211,153,0,115,185,0
  450. 2245 DATA212,153,0,116,185,0,213,153,0,117,185,0,214,153,0,118,185,0,215,153,0
  451. 2250 DATA119,200,208,205,165,1,9,4,133,1,173,14,220,9,1,141,14,220,169,0,133,55
  452. 2255 DATA169,112,133,56,160,0,169,32,153,0,120,153,0,121,153,0,122,153,232,122
  453. 2260 DATA200,208,241,96,169,151,141,0,221,169,21,141,24,208,169,4,141,136,2,96
  454. 2265 REM"[141][158]
  455. 2270 [143] ******* SHIFTED FLASHER
  456. 2275 [153][199](14):[153]"LOAD      LENCLOSEATNCLOSE(null)CLOSERIGHT$CLOSE(null)CLOSEATNCLOSE(null)CLOSECLOSECLOSEASCCLOSE(null)CLOSEATNCLOSE(null)CLOSELEFT$CLOSEVALCLOSE(null)"
  457. 2280 [153]"      - - - - - - -   - - - - - - -"
  458. 2285 [153]"SYS  RIGHT$ DO NOT KNOW IF THERE IS ANY REALLY"
  459. 2290 [153]"(null)(null)ATNLEN(null)RIGHT$LENATN(null) APPLICATION FOR THIS ROUTINE-"
  460. 2295 [153]"AS YOU CAN SEE, IT RAPIDLY FLASHES ANY"
  461. 2300 [153]"(null)HIFTED CHARACTERS.  RIGHT$F YOU FIND A USE"
  462. 2305 [153]"FOR IT, LET ME KNOW....."
  463. 2310 [153]"      ATNAPEEKBLENCSTR$DVALEASCFCHR$GLEFT$HRIGHT$IMID$J(null)K(null)L(null)M"
  464. 2315 [153]"      (null)N(null)O(null)P(null)Q(null)R(null)S(null)T(null)U(null)V(null)W(null)X(null)Y(null)Z"
  465. 2320 [153]"PRINT       PRESS <SPACE> TO CONTINUE":[151]646,7
  466. 2325 [129]J[178]49152[164]49188:[135]X:[151]J,X:[130]:[158]49152:[153]"LOAD":[153][199](142)
  467. 2330 [131]169,0,133,198,173,17,208,9,64,141,17,208,238,34,208,162,0,232
  468. 2335 [131]208,253,165,198,240,244,169,0,133,198,173,17,208,41,223,141,17,208,96
  469. 2340 [143]"GOSUBCONT
  470. 2345 PRINT"[147]":POKE53280,0:POKE53281,0
  471. 2350 PRINT"[158]WELL, FOLKS, THAT'S ABOUT IT.  I HOPE"
  472. 2355 PRINT"THAT YOU ARE ABLE TO USE AT LEAST ONE"
  473. 2360 PRINT"OR TWO OF THESE ROUTINES IN YOUR OWN"
  474. 2365 PRINT"PROGRAMS.  WITH COMMODORE PRETTY MUCH"
  475. 2370 PRINT"ABANDONING US 64 AND 128 USERS,"
  476. 2375 PRINT"WE'RE LEFT WITH OUR OWN FERTILE"
  477. 2380 PRINT"IMAGINATIONS TO COME UP WITH NEW"
  478. 2385 PRINT"IDEAS TO KEEP OUR PROGRAMS LOOKING AT"
  479. 2390 PRINT"LEAST A LITTLE BIT NICE IN THIS ERA OF"
  480. 2395 PRINT"THE -386,-486 (112 MHZ!), AND THE AMIGA"
  481. 2400 PRINT"IF YOU HAVE ANY QUESTIONS, FEEL FREE"
  482. 2405 PRINT"TO E-MAIL SPOT[146] ON Q-LINK."
  483. 2410 PRINT"OH, AND BY THE WAY, ALSO FEEL FREE TO"
  484. 2415 PRINT"USE THIS PROGRAM HOWEVER YOU WISH."
  485. 2420 PRINT"THAT IS, UPLOAD IT WHEREVER YOU WANT."
  486. 2425 PRINT"JUST PLEASE[146] DON'T CLAIM CREDIT FOR"
  487. 2430 PRINT"THIS, OR I'LL HUNT YOU DOWN AND--WELL,"
  488. 2435 PRINT"YOU KNOW."
  489. 2440 PRINT"[153]       PRESS <SPACE> TO CONTINUE[145]":POKE646,7
  490. 2445 POKE198,0:WAIT198,1:SYS65126
  491.