次のページ 前のページ 目次へ

6. Atari m68k プラットホームでフレームバッファデバイスを使う

ここでは Atari m68k プラットホーム上でのフレームバッファオプションに ついて述べます。

6.1 Atari m68k プラットホーム上でどんなモードが利用できるか

Colours   320x200 320x480 640x200 640x400 640x480 896x608 1280x960
--------+---------------------------------------------------------
 1 bit  |                         sthigh   vga2    falh2   tthigh
 2 bits |                 stmid            vga4
 4 bits | stlow                         ttmid/vga16 falh16
 8 bits |         ttlow                   vga256

ttlow、 ttmid そして、 tthigh は TT でだけ使われ、同時に、 vga2、vga4、 vga15、vga256、falh3 と falh16 は Falcon でだけ使われます。

カーネルオプション video=xxx を使う時、そして、サブオプションがな いとき、カーネルは与えられたハードウェアで可能なモードを見つけるまで引 続きモードを検出します。

使いたいモードを自動検出しないなら、使いたいと思う特別なモードを定義し たほうがよいでしょう。たとえば、video=vga16 とすると、 4 bit 640x480 ディスプレイになります。

6.2 Atari m68k プラットホーム上の追加オプション

video=xxx パラメータで利用できるいくつかのサブオプションがあります。

6.3 Atari m68k プラットホーム上で内部サブオプションを使う

Syntax: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

このオプションは拡張した内蔵ビデオハードウェアの能力、モードを指定します。 (xres)(yres) はスクリーンの拡張した大きさを決めます。

OverScan モードが黒い枠線を必要とするなら、 internal: サブオプショ ンの3つの変数を書かなければいけません。 (xres_max) はハードウェ アが許容する最大の列の長さで、(yres_max) は、最大の列の数、 (offset) はバイトで表され、その物理的開始にスクリーンメモリの可視 部分を補います。

時々、拡張した内部ビデオハードウェアがアクティブになっていると、 "switches=*" オプションが必要になります。[注意:著者はこの件につ いてもう少し説明をしたいと思っています。カーネル添付の m68k の文書はこ の点については十分ではありませんし、彼は Atari を持っていません。多く の例もまた役立つでしょう。 ]

6.4 Atari m68k プラットホームで外部サブオプションを使う

Syntax: external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]

これはとても複雑なので、この文書ではできるだけわかりやすく説明しようと 考えていますが、どなたかがざっと目を通して、何か間違いがないかを調べて くださるなら著者は歓迎します。

このサブオプションは、外部のビデオハードウェア(おもにグラフィックボー ドのような)を使っていて、Linux でどのように使うかを定義します。カーネ ルの知っている範囲は基本的に内部ビデオハードウェアに限られるので、外部 ビデオハードウェアを使えるようにするためパラメータを与えなければなりません。 二つの制限事項があります。起動する前にモードを切替えなければいけません。 そして起動してしまうとモードを切替えることはできません。

最初の三つのパラメータははっきりしています。画面の範囲を高さ、幅、depth をピクセルで与えます。depth は、要求された水平の数値を 2^n する色数でなければいけません。たとえば、256 色のディスプレイを使いたい なら、depth として 8 を使用しなければいけません。これはハードウェアの 性能によって制限されますから、外部グラフィックハードウェアに依存します。

次に示すように、ビデオメモリがどれくらい組まれているかをカーネルに伝え る必要があります。 (org) パラメータとして文字を与えます。

しかし、モノクロモードに対しては、(org) パラメータは違った意 味を持ちます。

ビデオハードウェアについて次に重要な項目は、ビデオメモリのベースアドレ スです。先頭に 0x をつけた 60 進の数字で (scrmem) パラメータ で与えます。外部ビデオハードウェアに添付してある文書からこれを見つけな ければいけません。

次のパラメータ (scrlen) は、ビデオメモリのサイズをカーネルに伝え ます。これを指定しないと、 (xres)(yres)(depth) パ ラメータから計算されます。ここに値を書くのはどう考えてもあまり効果的で はありません。もし (vgabase) パラメータを与える必要があるなら、何 も書かないという意味で、セミコロン(;)を二つ続けて与えておきます。必要 がないなら、何も書かないでおきます。

(vgabase) パラメータはオプションです。これがないと、カーネルはビ デオハードウェアのどのような色数リストも読み/書きでませんから、Linux を起動する前に適切な色を設定しなければいけません。しかしお使いのカード が VGA 互換なら、VGA 登録を置いているアドレスでそれを指定できるので、 色照合テーブルを変更できます。この情報はお使いの外部ビデオハードウェア の文書で確認できます。clear(vgabase) を作成するため、 色の登録を読み、書きするため、カーネルは(vgabase) + 0x3c7(vgabase) +0x3c9 の間の範囲にあるアドレスを使います。 このパラメータは、60 進で与えられ、 (scrmem)と同様、先頭に 0x を置かなくてはいけません。

(vgabase) パラメータが定義されるなら、(colw) だけが意味を持っ てきます。それぞれの色登録がどれくらいの幅になるか、たとえば、単色 ((red/green/blue)ごとのビット数をカーネルに伝えます。デフォルトはいつ も 6 ビットですが、8 ビットとするのが普通です。

(coltype)(vgabase) パラメータとともに使われ、 お使いのグラフィックボードの色登録モデルをカーネルに伝えます。 現在、サポートされた型は vga and mv300 です。 vga がデフォルトです。

(xres_virtual) は物理的行長が可視長と異なっている ProMST/ET4000 カードにだけ必要です。 ProMST では、2048 を与える必要があり、ビデオボー ドの初期化に依存します。


次のページ 前のページ 目次へ