質問者が自ら初心者だと書いているのについ凝ったものを作ってしまった…
とりあえず質問に対する答えとしては、
下の例の「scroll--」のように描画位置Y座標を変数に保持しておいて、
フレーム毎にその値を小さくすればOKです。
#const FONT_SIZE 10
#const MAIN_SCREEN_SX 640
#const MAIN_SCREEN_SY 480
screen 0,MAIN_SCREEN_SX,MAIN_SCREEN_SY
notesel note
noteload dir_exe+"\\doclib\\history.txt"
maxLength=0
sdim lineText,10000
repeat notemax
noteget lineText,cnt
if maxLength<strlen(lineText):maxLength=strlen(lineText)
loop
buffer 1,FONT_SIZE*maxLength/2,FONT_SIZE
font msgothic,FONT_SIZE
scroll=MAIN_SCREEN_SY
*main
gsel
redraw 0
color:boxf
scroll--
repeat notemax
if scroll+FONT_SIZE*cnt>=-FONT_SIZE && scroll+FONT_SIZE*cnt<MAIN_SCREEN_SY{
noteget lineText,cnt
lineText=strtrim(lineText,3,'\t')
gsel 1:color:boxf
hsvcolor ,,limit(cos(M_PI/2*(scroll+FONT_SIZE*cnt-MAIN_SCREEN_SY/2)/(MAIN_SCREEN_SY/2+FONT_SIZE))*255,0,255)
pos ,0
mes lineText
gsel
zoom=cos(0.01*(scroll+FONT_SIZE*cnt-MAIN_SCREEN_SY/2))*strlen(lineText)*FONT_SIZE/2
pos MAIN_SCREEN_SX/2-zoom/2,scroll+FONT_SIZE*cnt
gzoom zoom,FONT_SIZE,1,0,0,strlen(lineText)*FONT_SIZE/2,FONT_SIZE,1
}
loop
gsel
redraw
await 20
goto *main