こんばんは、川合です。 belle3aとtest043をベータリリースしました。まずはbelle3aの説明 を。 ・16bitグラフィックボックスが使えます ・32bitグラフィックボックスも使えます これだけです。今のところこれらのグラフィックボックスに許される 操作は、openとflushだけです。lineをひいたりはできません。現時点 ではしょうがないのでmt_xor.cのようにダイレクトにグラフィックボッ クスをいじってください。 32bitグラフィックボックスのサンプルがtest043a、test043bです。 16bitグラフィックボックスのサンプルがtest043c、test043dです。 16bitグラフィックボックスは1ドットが2バイトで、その中身は次の ようになっています。 bit 11-15 : red (5bit) bit 5-10 : green (6bit) bit 0- 4 : blue (5bit) 32bitグラフィックボックスは1ドットが4バイトで、その中身は次の ようになっています。 bit 16-23 : red (8bit) bit 8-15 : green (8bit) bit 0- 7 : blue (8bit) bit 24-31 : reserve (8bit) ← これは必ず0にしてください 説明はまだ終わりません。belle3aをダウンロードしてtest043もダウ ンロードしたら、まず、belle3aを起動して32bitカラーモードにしてく ださい。そして、test043a〜test043dを起動してみてください(一度に 4つ起動しなくてもいいです・・・比べたいものどうしを起動してじっ くり見比べてください)。 test043aとtest043bは32bitグラフィックボックスなので、もちろん きれいです。test043cとtest043dは16bitグラフィックボックスなので ちょっと滑らかではありませんが、でももちろんそれなりにきれいです 。この滑らかさが必要なら32bitグラフィックボックスを使ってくださ い。そうでなければ16bitグラフィックボックスをお勧めします。メモ リが節約できますから。 さて、今度は16bitカラーモードにしてください。この状態でtest043 a〜test043dを起動してみてください。まず、当然のことながらtest043 cとtest043dは変わりません。16bitグラフィックボックスが16bitカラ ーモードで表示できるのは当然のことです。 そしてさらにtest043bもtest043cやtest043dと同じ表示結果になるは ずです。32bitカラーといえども、16bitカラーモードでは16bitグラフ ィックボックスと同じような結果にならざるを得ないのです。・・・と いうのが普通なんですが、例外がありまして、test043aはこれら3つく らべてどう見てもきれいなはずです。これはグラフィックドライバ側で 勝手にタイリングをやっていまして、擬似419万色表示になっています (7-8-7相当)。本当はもうちょっと色数が少ないのですが、厳密な計 算をやるのが面倒なのでとりあえずここでは省略します。 きれいならいつもやればいいじゃないかと思うかもしれませんが、き れいにするとどうしても遅くなります(まああまり変わらないかもしれ ませんが)。だから、グラフィックボックスをオープンするときにきれ いだけどちょっと遅いか、それともきれいさが損なわれるかもしれない けど少し速いかを選べるようになっています。これについては、test04 3aとtest043bを見比べてください(test043cとtest043dを比べてもいい ですが)。 さて、今度は8bitカラーモードです。8bitカラーモードでは、タイリ ング無しだと64色で描画されます。しかしタイリングを許可すれば、擬 似4096色(4-4-4)で描画します。なお、この64個のパレットをダイレ クトカラー用に使わないで、開放することも将来的にはできます。その 場合この擬似4096色は使えません。次のVGAモードと同じになります。 最後に毎度お馴染みのVGAモードです。タイリング無しだと8色です。 タイリングありだと、擬似512色(3-3-3)で描画します。が、この辺に くると、厳密な計算が簡単にできるようになるので、計算してみます。 はい、実際は125色です。・・・なお、VGAモードでの16/32bitグラフィ ックボックスの描画はたとえタイリングをOFFにしていても、目を見張 るほど遅いです。これは、速度のことを考えないでとりあえず実装する ことを優先したからです。時間ができたら少しはチューンします。 タイリングなんてたいしたことないと思うかもしれません。しかし、 タイリングありとタイリングなしを見比べてみてください。アプリ側が なんの苦労もなくこの結果を得られるというのは、なかなか気分の良い ものです。百聞は一見にしかずなので、まずは見てみてください。 なお、アプリが指定したタイリングをしてもいい・してほしくないの 設定は、シェルでオーバーライドできるようになる予定です。だから、 アプリが何といおうとも、結局はユーザの思い通りになります。しかし アプリとしては、オーバーライドされるならどうでもいいや、なんて考 えずに、できるだけ最適と思われる設定をしてください。 次のbelle4aはVESA 2.0より下のバージョンでもなんとかして使える ような仕組みを入れる予定です。これでVESA 1.0以上なら全部OKという わけではありませんが、半分くらいは救えるんじゃないかと思っていま す。 それでは。 -- 川合 秀実(KAWAI Hidemi) OSASK計画代表 / システム設計開発担当 E-mail:kawai !Atmark! imasy.org Homepage http://www.imasy.org/~kawai/