前回の続き…
NAPLPS規格の特徴は、極力デバイスの物理解像度に依存しない仕組みを作っていたことであり、ピクセルにあたる単位をペルという抽象化された矩形にしたうえで、直線、曲線、多角形などを描画するものだった。ビットマップも描画できたが、伝送量の少なくなるベクトルデータを使用することが基本だったと思う。
newapのオーバーレイモジュールというのは、プログラム本体から呼び出される画面表示のための小さなプログラムである。いまならPhotoshopのプラグインに近い概念だと思う。これが行うべき処理はただひとつ。画面に塗りつぶした矩形を描くことなのだ。直線、曲線、多角形などは、この矩形を使ってnewnap本体が描画するのである。
この仕組みは描画速度という点では不利だと思うが、モジュールの作成は非常に簡単なのである。なにしろ四角形を描くだけなのだから。これはアセンブラで書いても全然面倒くさくないレベルの作業だ。
ついでに、モジュールには、コマンドラインオプションも渡される事になっていたので、これを利用してプログラム起動時にオプションを指定して画面モードやカラーの使い方を指示する事が出来た。MSX2の、高解像度で16色のモードを使うか、低解像度で256色のモードを使うか、さらにインターレースモードを使うかといったスイッチを仕込むことが容易に出来たのだ。
これはびっくりするほどの効果を得られた。Royさんの本体プログラムが偉いのだが、きわめて短いプログラムでさまざまなモードを駆使し、同じ画像を高解像度で表示したり、多色で表示したりできたのだ。僕にとって、MZ-80でのパックマン以来の面白いプログラムだった。
このころも僕は絵描きだったので、絵を表示するのではなく作成するプログラムにも興味はあった。NAPLPSデータを作成するお絵かきツールをBASICで書いたりしていた。名づけてNGM=Naplps Generator for MSX2。ただ、これはマウスを使って絵を描くだけではデータは完成せず、色々手動でデータを完成させる必要があったし、UIも洗練されていないものだった。
そんな時、僕はMacintoshに興味を抱く。秋葉原で見かけるMac Plus。店頭デモ機には大概MacPaintやSuperPaintがインストールされていた。いじっていると面白い。画面上端のメニューバーと、描画ツールを選ぶツールボックス、自在にスクロールできるウインドウといったものに惹かれていた。だが、いかんせんMac Plusが398000円の時代である。僕はMSX2でMacみたいなお絵かきツールを実装しようと思い立つ。
Recent Comments