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

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

  • ttmid
  • tthigh
  • vga16
  • sthigh
  • stmid

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

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

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

  • inverse - ディスプレイを反転させます。バックグラウンドと フォアグラウンドが反転します。通常、バックは黒ですが、このサブオプション を使うと、バックを白色に設定できます。
  • font - テキストモードで使うフォントを設定します。 VGA8x8, VGA8x16, PEARL8x8 だけを選択できます。 ディスプレイの仮想サイズが 400 ピクセル以下の場合は、デフォルトは VGA8x8 のみで、その他は VGA8x16 がデフォルトになります。
  • internal - とても興味深いオプションです。 これについては次の章を見てください。
  • external - 上記と同様。
  • monitorcap - マルチ同調に対する能力を記述します。 固定同調モニターには使ってはいけません。

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) パラメータとして文字を与えます。

  • n - 通常の水平面を使う。たとえば、別のものを使ったあとで 全水平面を使う。
  • i - インターリーブした水平面を使う。たとえば、最初に 16 bits を使い、それから順番に次の水平面の 16 ビットを使います。 組み込みの Atari ビデオモードだけがこれを使用します。そして、 このモードをサポートするグラフィックカードはありません。
  • p - まとまったピクセルを使う。たとえば、連続的なビットは ピクセルに対しすべて水平値になります。 これはグラフィックカードで 256 色ディスプレイに対する最も普通のモードです。
  • t - true colour を使う。たとえば、これは実際にまとまったピ クセルであるが、他のまとまったピクセルモードを使うもののように色検索 表を要求しません。これらのモードは通常 24 ビットディスプレイで、16.8 万色を与えます。

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

  • n - use normal colours, i.e 0=white, 1=black
  • i - use inverted colours, i.e. 0=black, 1=white

ビデオハードウェアについて次に重要な項目は、ビデオメモリのベースアドレ スです。先頭に 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 を与える必要があり、ビデオボー ドの初期化に依存します。


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

[