この力技はすげえ

エピソード1のスタッフロールスクリプトを見て、なるほど、こんな技もあったのかと感心。
縦に長い画像を用意して、それをbtnに取り込む。それをbltで高速に画面に転写していく遣り方だ。

blt 0,0,640,480,0, 1,640,480:waittimer 45
blt 0,0,640,480,0, 2,640,480:waittimer 90
blt 0,0,640,480,0, 3,640,480:waittimer 136
blt 0,0,640,480,0, 4,640,480:waittimer 181
blt 0,0,640,480,0, 5,640,480:waittimer 227
blt 0,0,640,480,0, 6,640,480:waittimer 272
blt 0,0,640,480,0, 7,640,480:waittimer 318
blt 0,0,640,480,0, 8,640,480:waittimer 363
blt 0,0,640,480,0, 9,640,480:waittimer 409
blt 0,0,640,480,0, 10,640,480:waittimer 454
blt 0,0,640,480,0, 11,640,480:waittimer 500
blt 0,0,640,480,0, 12,640,480:waittimer 545
blt 0,0,640,480,0, 13,640,480:waittimer 591
blt 0,0,640,480,0, 14,640,480:waittimer 636
blt 0,0,640,480,0, 15,640,480:waittimer 682
blt 0,0,640,480,0, 16,640,480:waittimer 727
blt 0,0,640,480,0, 17,640,480:waittimer 773
blt 0,0,640,480,0, 18,640,480:waittimer 818
blt 0,0,640,480,0, 19,640,480:waittimer 863
blt 0,0,640,480,0, 20,640,480:waittimer 909
blt 0,0,640,480,0, 21,640,480:waittimer 954
blt 0,0,640,480,0, 22,640,480:waittimer 1000

これを延々と伸ばしていく。
実行すると、スタッフロールが秒速約22-23ドットの速度でスクロールしていく。
この方法の有利な点は、waittimerを使うことで、低スペックマシンでもほぼ同じ速度でのスクロールが実現できることか。表示できなかったら、どんどんコマ落としになって行く訳だ。
最後の行は、こう。

blt 0,0,640,480,0, 5520,640,480:waittimer 251000

ただまあ、これだけのスクリプトをベタ書きするよりは、やっぱりその……何らかの形でループを使いたいよね。5520行あるのが10行くらいには収まるんじゃね? まあ、途中で数字いじってスクロール速度をコントロールしたいとかそういのがあるんならわからんでもないけど。