[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1275] devlist0.



  こんにちは、川合です。

  今日は、今後の短期的な開発方針について説明しながら、現状を説明
いたします。

  まず、予告どおり、OSASKの高解像度対応へ向けて準備が進んでいま
す。

  高解像度に対応させるには、もちろんビデオカード別に、別々のドラ
イバを用意しなければいけません。が、今回は一部のVESA対応ビデオカ
ードに限定することで、1つのドライバで複数のビデオカードに対応す
ることにします。将来は、ビデオカード別のドライバを書き、より高速
に描画出来るようになるでしょう。

  1つのドライバとはいっても、今回のドライバは1バイトのパラメー
ターが必要で、これはビデオカードによって異なる値になると思います
。これが正しくないと、描画されません。それで、その値を設定してい
ただくことになります。今のところ、RIVA128以外のカードでの設定値
は不明です。値の探しかたのコツはベーター公開とともに説明しますが
、基本的に試行錯誤することになります。・・・そして、判明した設定
値は、報告していただいてこちらでリストを作ろうと思っています。こ
のリストがある程度できれば、後は自分のビデオカードに合った値をリ
ストで調べて、設定すればいいだけになります。

  さて、我々ベーターテスターはそれくらいの不便さは我慢出来るかも
しれませんが、他の方にはこの作業がひどく面倒に感じてしまうかもし
れません。今はたいていPnP(プラグ・アンド・プレイ)ですから。・
・・で、OSASKもPnPをサポートすることにしました。これにより、リス
トさえ充実すれば、後は自動的に設定されるようになります。

  それで、今回のdevlist0の登場です。これは、PCI/AGPのPnPをWin32
上のコンソールでやってみたプログラムです。うちにあるハードウェア
は全て認識出来ます。

  使い方は、DOSプロンプトで、引数無しで起動するとマシンにつなが
れたPCIデバイスのリストが表示されます。以下は我が家での例です。

PCI device listing.
bus dv f   vend devi rv class  subv subd
----------------------------------------
  0  0 0 : 1022 7006 25 060000 0000 0000
  0  1 0 : 1022 7007 01 060400 0000 0000
  0  7 0 : 1022 7408 01 060100 0000 0000
  0  7 1 : 1022 7409 07 01018A 0000 0000
  0  7 3 : 1022 740B 03 068000 0000 0000
  0  7 4 : 1022 740C 06 0C0310 0000 0000
  0  9 0 : 1073 0004 02 040100 1073 0004
  0 10 0 : 12D2 0018 10 030000 2A15 54A3
  0 11 0 : 1000 000F 01 010000 0000 0000

  コロンの左側の数字は全て10進数で、右側の数字は全て16進数です。
数字は、左から、PCIバス番号、デバイス番号、機能番号、ベンダーID
、デバイスID、リビジョン、クラスコード、サブシステムベンダーID、
サブシステムIDです。

  コロンの左側はM/B上のどの位置に接続されているかに対応していて
、右側はそのデバイスがなんのデバイスであるかを判定するのに必要な
すべての情報が記されています。全部で12バイトです。

  そして、各値の詳しい意味を知りたければ、devlist0を引数付きで起
動します。

>devlist0 0 7 4
Vender ID  : 0x1022   Advanced Micro Devices
Device ID  : 0x740C
Revision   : 0x06
Class code : 0x0C0310   PCI to USB open host controller rev.06
Subsystem vender ID : 0x0000   - null -
Subsystem ID        : 0x0000
Device name : AMD 756 PCI to USB open host controller

  この認識の方法は、付属のVENDER.TXT、CLASS.TXT、DEVNAME.TXTと値
を比較することで行っています。これに登録されていない値は、unknow
nと表示されます。で、もし、unknownと表示されたら、VENDER.TXTやCL
ASS.TXT、DEVNAME.TXTになんと書き足すべきなのか教えてください。以
下は例です。

[CLASS.TXT]
0c0010 OHCI i.LINK(IEEE 1394) PCI host controller

[DEVNAME.TXT]
1022 7006 25 060000 0000 0000 AMD 751 AGP host to PCI bridge rev.C5
1022 7007 01 060400 0000 0000 AMD 751 PCI to PCI bridge rev.01

  これをメールしていただければ、こちらで書き加え、1週間くらいの
間隔でまとめてアップロードし直します。

  また、どれがどれに対応するのかさっぱりわからない場合は、とりあ
えず、devlist0を引数無しで起動した結果(PCI device listing)と、
つないでいるカードを教えてください。こっちでどれがどれに対応して
いるのかを考えます。

  unknownではないけど、実際のデバイスと表示されているデバイスが
違うという場合もご連絡ください。

  メールは、僕個人宛てでもいいですし、OSASK-ML宛てでもいいです。
・・・っていうか、将来はPnP班が必要になるかかもなあ・・・。

  次の話題です。

  現在、OSASKのインストールはそんなに厄介ではありませんが、簡単
でもありません。ネックになっているのは、フォントファイルです。こ
れをどうにかできれば、必要な手順は減り、だいぶ楽になります。で、
フォントファイルをOSASK.EXEの中にosalink0で取り込む方向で検討し
ています。

  しかしもちろん、ANK16.FNTファイルはMicrosoftの著作権があるので
内包させることはできません。それで、フォントファイルを探していま
す。いくつか見つけたのですが、どうも、気に入らないんですよねえ。
もしかしたらフリーのフォントをベースにして、自分で手を加えて作っ
てしまうかもしれません。・・・で、僕がそうやってフォントを準備し
てもいいんですが、どなたか、描いてみようとおっしゃる方はいらっし
ゃらないでしょうか?もし書いていただければ、とても助かるのですが
・・・。

  希望としては、読みやすくて、癖の無い、無難なフォントです。もち
ろん、フォントファイルはosalink0で差し替えることができますが、今
回描いていただくのは標準としてデフォルトで入っているフォントです
。ですから、奇をてらったものは基本的に避けたいと思っています。・
・・オフ会で見せていただいた、Myurikaさん自作のフォントもとても
気になっています。

  必要なフォントは、0x20〜0x7eの半角キャラクターです。8x16dot。

  我こそは、という方は是非ご連絡ください。複数の方がおられたら両
方の方にお願いして、僕の気に入った方を選びたいと思います(笑)。

  まとめると、短期的な開発方針は、

・高解像度対応
・プラグ・アンド・プレイへの情報集め
・ANKフォント内包

の3点です。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/