MSX関連の技術情報
縦分割スクロール

MSX2以降で画面縦分割についての検証結果です。
以前から知られている技術ですが、縦スクロール即時反映である為に可能となっています。
SCREEN 5・7・8・12で動作確認しています。
※ エミュレータでは奇麗に分割できない場合があります


1:割込後にステータスレジスタ #1を読む処理が必要です。
2:縦スクロールの値加算する必要があります。
3:0038HRAMにして直接プログラムを書かないと処理が間に合いません。
4:垂直帰線との判別が必要です。(レジスタ #1 のbit0で判断できます)

VDPとの描画タイミングが合わないと8ドット単位のブレが生じます。
検証では128ドット目(中央)152・176ドット目での分割が可能でした。
※ A1ST・A1GT・A1WXで検証

恐らく全ての画面モード8ドット単位の描画が行われていると思われます。
描画速度はZ80・1クロック当たり1.5ドット。
最速命令の5クロックでは7.5ドット進みます。
調整は非常に困難だと思われます。

分割処理に掛かりっきりになる為、垂直帰線中でしか他の処理ができません。
簡易的なシューティングゲーム等が可能だと考えられますが、難しいと思います。

MSX2ではVDPウェイトの有無で処理速度に違いが出る事が知られています。
機種によってズレが生じると考えられます。

P27P59が最適な状態です。
検証用にウェイトが異なるプログラムを用意しました。
※ 数値が大きい程、ウェイトが増えます

【MSX】縦分割スクロール実験【改訂版】





戻る

ツリー表示
トップページへ