Yeah, sorry, I didn't actually test that code.
This works though:
sync on
sync rate 30
sw = screen width()
sh = screen height()
middleWidth = int((sw / 2.0) + 0.5) ` Round it properly
middleHeight = int((sh / 2.0) + 0.5) ` "
yOffset = sh - text height("|") ` Just because that is a long character
while (yOffset >= middleHeight)
cls
center text middleWidth, yOffset, "Christmas is comming up..."
center text middleWidth, yOffset + 20, "... in about eight months."
dec yOffset ` Decrease by one
sync
endwhile
` When we get here, the text has reached the middle of the screen.
wait key
end