'===========================================================================
' Subject: SMOOTH VERTICAL SCROLL             Date: 04-08-96 (23:03)       
'  Author: Peter Cooper                       Code: QB, QBasic, PDS        
'  Origin: comp.lang.basic.misc             Packet: TEXT.ABC
'===========================================================================
' There may be a small amount of flicker in some speed cases.. if you adjust
' the delay% loop in 'upwholeline' you can eliminate this.. it is set for my
' machine at the mo.. mail me  peter@trenham.demon.co.uk
' DONT EXIT BEFORE ITS FINISHED. your display will look strange , Peco_

DEF SEG = &HB800

SCREEN 0
CLS
FOR a% = 1 TO 23
        LOCATE a%
        COLOR a% MOD 15 + 1
        PRINT STRING$(80, CHR$(a% + 64))
NEXT a%

FOR a% = 1 TO 23
        upwholeline
NEXT a%
DEF SEG
COLOR 15

SUB scrollup

' you should've seen this procedure about 10 mins ago.. it was a whole scroll
' routine using pokes etc when I realized all I had to do was this!

LOCATE 24
PRINT

END SUB

SUB textvert (vpos%)
OUT &H3D4, 8
OUT &H3D5, vpos%
END SUB

SUB upwholeline
FOR a% = 0 TO 15
WAIT &H3DA, 8
textvert a%
FOR delay% = 1 TO 8500: NEXT delay%  ' this is 8500 in PDS and 7800 in QBasic for me
NEXT a%
scrollup

textvert 0
END SUB
