home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V1D2.D64 / scrollbasic (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.8 KB  |  138 lines

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