<msx-basic> screen1で、縦スクロールを実装する方法。
10 print chr$(27);"H";chr$(27);"L";
20 print "好きな文字列。。。。。。。。。。"
30 goto 10
(解説)
chr$(27)はエスケープシーケンスの始まりの約束ごと。
その次に;と一緒に文字をつけると、約束の機能を果たす。
chr$(27);"H" はカーソルをhome位置に移動させる機能。
chr$(27);"L" はカーソルの上に一行挿入する機能。
したがって、これを合体させて使うことによって、縦スクロールを実装することができるのである。
後はprintする文字をvpokeを使って好きな形に変更して、printさせれば、立派な縦スクロール・マップになるはず。ただし、当然ながら、8ドット単位のスクロールになる。
screen1で横スクロールさせる方法はまだ、わからない。もし知ってる人がいれば、ぜひ教えてください。
ちなみに、msx2+ machineからはsetscroll命令を使えば、横スクロールができるけど、連続スクロールできるのは一応画面2個分しかできない構文になっているので、3個以上分連続スクロールさせるには、工夫が要りそう。しかし、これは上記の縦スクロール法と違い、8ドット単位ではなく、1ドット単位でもスクロールができるので、非常になめらか。
<表>エスケープシーケンス