0 DEV=PEEK(186) 1 A=A+1:IFA=1THENLOAD"SCROLLCODE",DEV,1 2 A=0 5 Q$=CHR$(34) 6 L$="[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]" 10 CR=49152:OK=0 20 SYSCR+3:GOSUB2000 30 SYSCR+12:SYSCR+6,2:SYSCR+9,24 40 SYSCR,"[158][212]HIS IS AN EXAMPLE OF A SCROLLING MESSAGE... " 50 PRINT" [212]HIS PROGRAM LETS YOU PUT SCROLLING 60 [153]" MESSAGES LIKE THE ONE BELOW INTO YOUR 70 PRINT" OWN PROGRAMS. [193]LL OF THE AVAILABLE 80 [153]" OPTIONS ARE ACCESSED THROUGH SYS(null)(null)(null)" 90 [153]" COMMANDS. (null)HESE ARE DESCRIBED ON THE 100 PRINT" FOLLOWING SCREENS. [201]T IS ASSUMED THAT 110 [153]" AT THE BEGINNING OF YOUR PROGRAM, YOU 120 PRINT" SET [158][195][210] = 49152." 130 GOSUB1500 140 : 150 SYSCR,"[158][197]XAMPLE MESSAGE... " 200 PRINT" [212]HERE ARE 5 [158][211][217][211] COMMANDS AVAILABLE:" 210 PRINT" [158][211][217][211] [195][210],"Q$"[205]ESSAGE"Q$" WILL CAUSE [158][205]ESSAGE" 220 PRINT" TO SCROLL CONTINUOUSLY ACROSS THE" 230 PRINT" SCREEN. [193]NY VALID STRING EXPRESSION 240 [153]" TO 255 CHARACTERS LONG." 250 [153]" RIGHT$N ADDITION, SEVERAL CONTROL CODES 260 PRINT" CAN BE INCLUDED IN THE STRING. [212]HESE 270 [153]" ARE EXPLAINED ON THE NEXT SCREEN." 280 [141] 1500 290 [158]CR,"(null)HITE PRINTCHR$REEN CONTPEEKLUE SYS(null)(null)(null) (null)(null)WAIT (null)(null)(null) (null)ASCASC " 300 [153]" (null)OU CAN USE THE COLOUR CONTROL KEYS TO 310 PRINT" CHANGE THE TEXT COLOUR IN THE SAME WAY 320 [153]" AS WITH SYS(null)(null)RIGHT$(null)(null). (null)OU CAN ALSO USE SYS(null)(null)(null) (null)(null) 330 PRINT" AND [158][210][214][211] [207][198][198]. [201]F YOU END THE STRING 340 [153]" WITH THE SYS(null)RIGHT$ SYMBOL, THEN THE MESSAGE" 350 [153]" WILL ONLY BE DISPLAYED ONCE, OTHERWISE 360 PRINT" IT WILL REPEAT CONTINUOUSLY. 370 [141]1500 380 [158]CR,"SYS(null)HIS TYPE OF MESSAGE CAN BE QUITE EFFECTIVE..." 400 [153]" SYS(null)(null)(null) LEN(null),ADDRESS CAN BE USED WHEN A 410 PRINT" MESSAGE IS MORE THAN 255 CHARACTERS 420 [153]" LONG. SYSATNDDRESS IS THE STARTING ADDRESS 430 PRINT" IN MEMORY OF THE MESSAGE. [212]HE LAST 440 [153]" BYTE IN THE MESSAGE SHOULD BE EITHER 450 PRINT" [158]0 OR [158]255 (FOR CONTINUOUS OR ONCE OFF)." 460 PRINT" [158][211][217][211] [195][210] BY ITSELF WILL TURN BACK ON 470 [153]" A MESSAGE WHICH HAD BEEN TURNED OFF." 480 [141] 1500 490 : 500 [158]CR,"PRINT(null)EMEMBER TO ALWAYS SET SYSLEN(null) = 49152 ":[158]CR[170]6,4 510 [153]" SYS(null)(null)(null) LEN(null)+3 WILL TURN OFF ANY MESSAGE 520 PRINT" WHICH IS CURRENTLY ON." 530 PRINT" [158][211][217][211] [195][210]+6,SPEED WILL SET THE SPEED OF 540 [153]" SCROLLING FROM SYS1=SLOW TO SYS10=FAST. (null)OU 550 PRINT" CAN USE VALUES ABOVE 10 IF YOU LIKE, 560 [153]" BUT THEY WILL BE TOO FAST TO READ." 570 [153]" (null)HE MESSAGE BELOW IS NOW SCROLLING 580 PRINT" AT SPEED 4." 590 OK=1:GOSUB1500 600 SYSCR+3:SYSCR+12:SYSCR+12,24 610 PRINT"[145]"L$""L$:SYSCR+9,6:SYSCR+6,2 620 SYSCR,"[158][195]OMMODORE 64 [211]MOOTH [211]CROLL [159]BY [197]DWARD [195]ARROLL, 1986 " 630 PRINT" [158][211][217][211] [195][210]+9,[204]INE SELECTS THE LINE TO BE 640 [153]" USED FOR THE SCROLLING. SYS(null)INE CAN BE 650 PRINT" ANY NUMBER FROM [158]0 TO [158]24. [217]OU CAN 660 [153]" ONLY HAVE ONE SCROLLING MESSAGE AT A 670 PRINT" TIME, HOWEVER." 680 OK=0:GOSUB1500 690 SYSCR+3:SYSCR+12:SYSCR+12,6:SYSCR+9,24:SYSCR+6,10 700 SYSCR,"[158][212]HIS MESSAGE IS SCROLLING AT SPEED 10 " 710 PRINT" [215]HEN A MESSAGE IS SCROLLING, THE WHOLE 720 [153]" LINE BEING SCROLLED IS STORED IN A 730 PRINT" BUFFER, SO THAT THE SCROLLING MESSAGE 740 [153]" WILL NOT BE AFFECTED BY THINGS LIKE 750 PRINT" SCROLLING, OR A CLEAR SCREEN. [200]OWEVER, 760 [153]" SYS(null)(null)(null) LEN(null)+12 WILL EMPTY THE BUFFER, SO 770 PRINT" THAT THE MESSAGE WILL SCROLL ONTO AN 780 [153]" EMPTY LINE. 790 GOSUB1500 795 SYSCR+6,3 796 SYSCR,"[158][206]EARLY AT THE END NOW...(AND AT A SLIGHTLY SLOWER SPEED TOO) " 800 PRINT" [217]OU CAN ALSO [158][211][217][211] [195][210]+12,[204]INE WHERE 810 [153]" SYS(null)INE IS THE NUMBER OF A SCREEN LINE 820 PRINT" ([158]0 TO [158]24). [212]HIS WILL FILL THE LINE 830 [153]" SPECIFIED WITH SPACES. (null)OU USUALLY 840 PRINT" NEED TO DO THIS IF YOU ARE TURNING 850 [153]" OFF A MESSAGE, AND WANT TO USE THE 860 PRINT" SCREEN SPACE FOR SOMETHING ELSE." 890 GOSUB1500 900 SYSCR,"[158][207]NLY ONE MORE SCREEN TO GO NOW.... " 910 PRINT" [159][211]UMMARY OF AVAILABLE COMMANDS" 920 PRINT" [158][211][217][211] [195][210] [210]ESUME SCROLLING 930 [153]" SYS(null)(null)(null) LEN(null),STRING (null)CROLL SYSSTRING" 940 [153]" SYS(null)(null)(null) LEN(null),ADDRESS (null)CROLL FROM SYSADDRESS" 950 [153]" (null)(null)(null) LEN(null)+3 (null)URN OFF SCROLLING" 960 [153]" SYS(null)(null)(null) LEN(null)+6,SPEED (null)ET SPEED OF SCROLLING 970 PRINT" [158][211][217][211] [195][210]+9,LINE [211]ET [158]LINE FOR SCROLLING 980 [153]" SYS(null)(null)(null) LEN(null)+12 VALMPTY SCROLL BUFFER" 990 [153]" SYS(null)(null)(null) LEN(null)+12,LINE LENLEAR THE SELECTED SYSLINE" 1000 [153]" ATNS WITH MOST COMPUTER PROGRAMS, THE 1010 PRINT" BEST WAY TO FIND OUT MORE ABOUT THIS 1020 [153]" IS TO EXPERIMENT WITH IT YOURSELF." 1030 [141]1500 1040 [153] "OPEN (null)HIS PROGRAM WAS WRITTEN BY" 1050 [153]" PRINTVALDWARD LENARROLL 1060 PRINT" 17 [199]REENVILLE [210]OAD 1070 [153]" PEEKLACKROCK 1080 PRINT" [195]O. [196]UBLIN 1090 [153]" RIGHT$RELAND 1100 PRINT" [212]EL: 801249 1120 [153]" (null)OW, SEE IF YOU CAN TYPE FAST ENOUGH 1130 PRINT" TO KEEP UP WITH THE SCROLLING. [212]YPE 1140 [153]" SYS1-SYS9 FOR SPEED, SYS(null)VAL(null)(null)(null)(null) TO EXIT, AND 1150 PRINT" ANY OTHER KEYS TO TYPE.[158]" 1160 GETA$:IFA$=""THEN1160 1170 IFVAL(A$)THENSYSCR+6,VAL(A$):SYSCR," [211]PEED "+A$+" SELECTED...[255]":GOTO1160 1180 IFA$<>CHR$(13)THENSYSCR,A$+"[255]":GOTO1160 1190 GOSUB2000 1200 PRINT"[158]SYS CR,"Q$:PRINT"[145][145][145][145]":POKE198,8:FORT=631TO638:POKET,29:NEXT 1210 END 1220 : 1230 : 1500 POKE214,21:PRINT 1510 IFPEEK(197)=60THEN1510 1520 PRINT"[153] [208]RESS [158][211][208][193][195][197][153] TO CONTINUE" 1530 POKE198,0 1540 GETA$:IFA$<>" "THEN1540 1570 : 1580 : 1900 IFOK=0THENSYSCR," ":SYSCR+12 2000 POKE53280,6:POKE53281,0 2010 PRINT "[147][153] [195]OMMODORE 64 [211]MOOTH [211]CROLL" 2020 PRINT" BY [197]DWARD [195]ARROLL 1986" 2025 IF OK THEN RETURN 2030 POKE214,22:PRINT 2040 PRINTL$"" 2050 RETURN