Compucolor.org – Virtual Media

Listing of file='SCROLL.BAS;03' on disk='vmedia/colorcue-sector.ccvf'

0 GOTO 65000
1 REM  THIS IS AN EXAMPLE OF THE SCROLL ROUTINE
2 REM  NOTE THAT THE ROUTINE RETURNS TO LINE 1 (SEE 65190)
3 REM  AT LEAST 32 BYTES OF STRING SPACE ARE NECESSARY
4 CLEAR  200
9 REM
10 REM  THE FOLLOWING VARIABLES DEFINE THE AREA ON THE SCREEN
11 REM  SEE COLORCUE VOL I.1 PAGE 2-3
12 REM
20 QX= 16:QY= 8:QH= 16:QW= 32:QC= 1:GOSUB  64000
80 PLOT  27,24,6,32,12
90 PLOT  6,6
100 FOR  LN= 1 TO  50
110 GOSUB  1000:PRINT "THIS IS LINE" LN
120 NEXT  LN
130 END
140 REM
150 REM  THIS SUBROUTINE SCROLLS UP ONE LINE
160 REM  NOTE THAT IT IS NECESSARY TO WIPE OUT THE OLD LINE
1000 ZZ= CALL (0)
1010 PLOT  3,QX,QY+ QH- 1:PRINT  SPC( QW)""
1020 PLOT  3,QX,QY+ QH- 1
1030 RETURN
1050 REM
50000 REM  LINES 64000 AND ABOVE ARE THE SCROLL PATCH
64000 GOSUB 65410
64010 QZ= 28672+ 128* QY+ QX+ QX:QA= QT+ 2:GOSUB 65400
64015 QZ= 128- QW- QW:QA= QT+ 25:GOSUB  65400
64020 POKE  QT+ 5,QH- 1:POKE  QT+ 7,QW* (QC+ 1):POKE  QT+ 19,35* (1- QC)
64030 RETURN
65000 GOSUB  65410:RESTORE  65030
65030 DATA  33,-1,-1,6,-1,14,-1,17,128,0,25,126
65040 DATA  17,128,255,25,119,35,-1,13,194,-1,-1
65050 DATA  17,-1,-1,25,5,194,-1,-1,201
65055 IF  QT> 65503 THEN  QT= QT- 32:GOTO  65080
65060 FOR  I= 1 TO  32:READ  QB
65065 IF  QB> = 0 AND  QB< >  PEEK (QT+ I) THEN  I= 32:QT= QT- 32
65070 NEXT  I
65080 RESTORE  65030
65090 FOR  I= 1 TO  32:READ  QB:POKE  QT+ I,QB- (QB< 0):NEXT  I
65100 QZ= QT+ 1:QA= 33283:GOSUB  65400
65110 QZ= QT:QA= QE:GOSUB  65400
65120 QZ= QT+ 6:QA= QT+ 30:GOSUB  65400
65130 QZ= QT+ 8:QA= QT+ 22:GOSUB  65400
65190 CLEAR  50: GOTO  1
65400 ZZ= INT (QZ/ 256):POKE  QA,QZ- 256* ZZ:POKE  QA+ 1,ZZ:RETURN
65410 QE= 32940:QT= 256* PEEK (QE+ 1)+ PEEK (QE):RETURN