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