home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Demos
/
SPOT-GRAPH
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
22KB
|
490 lines
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