色ずれしながらスクロールする画面も、PC-6001シリーズの非力さを感じられて愛しくもなる......ような気がしなくもないのですが、やはり、見栄えという点において、美しさがないのは事実。
そこで、30秒ほど考えたところ、まあ、直せなくもないかということで、スクロール処理を書き直しました。
とりあえず、微妙に画面がちらつきますが、VSYNC期間に書き換えるとかそんな気の利いたことができないマシンですから目をつぶります。
大抵のマシンだとウェイトをいれてちょうどいい速度を調整するところですが、全速力でこの速度ですので、1 lineずつスムーススクロールする方法も考えてみたのですが、無理そうなので、8 line単位で妥協することにします。
なお、改良版のスクロールコードはこんな感じ。
ld b,24
scroll_up_loop:
push bc
ld de,(vram0_scr_ptr)
ld hl,320
add hl,de
ld bc,320
ldir
ld (vram0_scr_ptr),de
ld de,(vram1_scr_ptr)
ld hl,320
add hl,de
ld bc,320
ldir
ld (vram1_scr_ptr),de
pop bc
djnz scroll_up_loop
コメント