見出し画像

MSXポケットバンク#09| グラフィックス㊙️伝

しばらくMSXとは直接関係ない内容が続いていましたが、今回は最もMSXの特徴を表しているVDP(Video Display Processor, 今で言うGPU)について解説した本です。MSX本体に付属のマニュアルでは決してわからないことがこの本では満載でした。

表紙デザイン

さすがMSXを作ったアスキーが出版しているだけあってMSXを知り尽くしています。

裏表紙デザイン

VDPの解説もわかりやすいですが、実際にプログラムを動かしてみるとVDPのすごさが実感できます。

VDPのメイン機能は画面を映すことですが、MSXの画面モードは4種類あってSCREEN命令でモード(0から3)を切り替えます。0と1はテキスト表示モードで文字を表示する画面、2は高解像度グラフィック画面で絵が描ける画面、3は低解像度のグラフィックを表示する画面です。

モード0とモード1の大きな違いは文字の大きさです。1文字あたりモード0は横6ドット、縦8ドットで表示されますが、モード1は横8ドットになります。画面全体のドット数は256ドットなので、モード0だと最大で横40文字、モード1は横32文字で表示されます。

モード2は横256ドット、縦192ドットで色の制限はありますが、自由に絵が描けるモードです。モード3は横64ドット、縦48ドットという使い道がよくわからないモードでした。

プログラムを入力するには横40文字表示できるモード0が便利ではありますが、MSXのひらがなは横8ドットで作られているので、モード0だと文字が欠けてイマイチでした。

この本で勉強になったのは、最強の画面モードはモード2ではなくモード1ということです。

なぜならモード1の本質はテキストモードではなく、256種類の8ドットx8ドットパターン(しかも16色から自由に2色)を32x24個のタイルに自由に貼り付けられるという今でいうポリゴン的な使い方ができるからです。

このモードでは32x24個のタイルを書き換えるだけなので非常に高速な描画が可能です。さらにVDPのVRAMの空き領域を使った仮想メモリ機能により、瞬時に複数の画面を切り替えられます。

私はこの本で仮想メモリやポインタ機能の基本を学ぶことができ、非常にありがたい本でした。

ご覧いただきありがとうございました。