MATCD(4) FreeBSD/i386 カーネルインタフェースマニュアル MATCD(4)
名称
matcd − Matsushita (Panasonic) CD-ROM ドライバ |
書式
controller matcd[0-4] at isa? port [?| addr] |
/dev/[r]matcd[0-15][a|c] |
/dev/[r]matcdl[0-15][a|c] |
解説 |
matcd ドライバは、松下寿電子工業製の、または短縮して松下製の、CR-562-x 及 び CR-563-x CD-ROM ドライブを制御します。これら CD-ROM ドライブは Panasonic (松下の商標)、Creative Labs (omniCD)、Reveal などのブランドで販 売され、Tandy、AST、Packard Bell など多くのコンピュータに採用されていま す。 これらのドライブは、専用のホストインタフェースを通じて PC ISA バスに接続 します。このインタフェースはスタンドアロンの ISA カードとして存在すること もありますし、サウンドカード上に含まれていることもあります。 |
ドライバの設定
matcd ドライバは、それぞれが 4 台までのドライブをもつホストインタフェース を上限 4 つまでサポートします。オーディオ機能は全てのドライブで同時に実行 できるかもしれませんが、データ読み取り操作の対象は、どの瞬間においても 1 つのホストインタフェースに対して 1 つのドライブのみになります。 マルチホストインタフェースをサポートするためには、カーネルコンフィギュ レーションファイルのエントリを修正する必要があります。通常、このファイル はシステム上の /usr/src/sys/i386/conf/GENERIC に存在します。これをコピー してシステムの名前をつけると良いでしょう。この新しいファイルにシステムで サポートしたいデバイスを含め、逆に不要なデバイスのエントリは削除します。 このファイルには以下のようなエントリが見つかるでしょう: |
controller matcd0 at isa? port ? bio |
2 つのホストインタフェースをサポートするためには、以下のように変更します: |
controller matcd0 at isa? port ? bio |
|
controller matcd1 at isa? port ? bio |
(3 つ、あるいは 4 つまでホストインタフェースをサポートさせたい場合、同様 にエントリを追加してください。) |
ホストインタフェースが 1 つのみで 4 台までのドライブをサポートする場合、 カーネルコンフィギュレーションの修正は不要であることに注意してください。 2 つ目のインタフェースを追加するまで、1 つめのインタフェース上で必ずしも 4 台のドライブを持たなくてかまいません。
デフォルトでは、 matcd は Creative ホストアダプタ (options.h 参照) の既知 の I/O ポートテーブルを用いて CD-ROM ホストアダプタを探索します。これは非 常に柔軟ですが、 matcd がチェックした CD-ROM ホストインタフェースの I/O ポートに、システムの他のデバイスが存在するときに問題を起こします。さら に、複数の位置を検索する必要があるため、ブートプロセスに時間がかかる原因 となります。
これらの問題は、CD-ROM ホストインタフェースの位置を明示することによって解 決することができます。例えば、デフォルトのほとんどの Sound Blaster カード は I/O ポート 0x230 の位置に松下 CD-ROM ホストインタフェースを持っていま す。 (これはカード上のオーディオ機能に 0x10 を加えた I/O ポートの値で す。) システムがこのような場合、カーネルブートプロンプトにおいて、 -c オ プションを用いることによりカーネルがハードウェアを検出する位置を変更でき ます。こうしてカーネルをロードすると、それに含まれるあらゆるデバイスの設 定を変更する機会を得ることができます。例えば、 matcd アダプタ 0 に対する I/O ポートを変更するには以下のように記述すれば良いでしょう。
カーネルをリコンパイルするなら、カーネルコンフィギュレーションファイルの エントリを以下のように変更して特定のアドレスを指定することができます:
このように変更すると matcd ドライバは最初の CD-ROM ホストインタフェースの ために I/O ポート 0x230 のみを探索し、他の I/O ポートは妨げません。
カーネルコンフィギュレーションファイルの調整が完了したら、カーネルを設 定、リコンパイル、及びインストールします。そして変更した個所を有効にする ために再起動する必要があります。
サポートされているハードウェア
現在、 matcd ドライバで動作するドライブは、2 つが知られているだけです: |
松下 CR-562-x
松下 CR-563-x これらのドライブは両方とも駆動ドレイがついています。オリジナルをカスタマ イズされた製品も出回っていて、ボリュームコントロールやヘッドフォンジャッ クがついていないもの (Tandy コンピュータにみられるかもしれません) がある かも知れませんが、これも matcd ドライバで動作します。 松下 CR-522-x 及び CR-523-x CD-ROM ドライブは matcd を利用できません。 CR-522 及び CR-523 は CD キャディを必要とするので正面から識別することもで きます。 IDE インタフェースをもつドライブは、IDE ドライバを使わなければなりませ ん。 TEAC CD-55 4X CD-ROM ドライブは Creative/Panasonic インタフェースも使って いますが、TEAC のドライブは松下 CR-56x ドライブと互換ではありません。 TEAC のドライブは matcd ドライバでは利用できません。 |
Panasonic ドライブ用のホストインタフェースアダプタの出所で最も一般的なの は、SoundBlaster サウンドカードを含む Creative Labs 製品に見られます。 SoundBlaster サウンドカードには多数のモデルが存在し、ほとんどの最新のカー ドは適当なインタフェースを提供しますが、"Creative/Panasonic" インタフェー スとラベルづけられていることもあります。
以下のホストインタフェースアダプタは matcd
ドライバで動作することが知られ ています:
Creative
Sound Blaster Pro (SBPRO) (CT1330A)
Creative
Sound Blaster 16 (CT1730)
Creative
Sound Blaster 16 - 廉価版 (CT1740)
Creative
OmniCD アップグレードキットアダプタカード - スタンドアロ ン
CD (CT1810)
Creative
Sound Blaster 16 - 2 層、廉価版 (CT2230)
Creative
Sound Blaster 16 (Vibra16) - 2 層、単一チップ (CT2260)
Creative
Sound Blaster 16 Value (SB16) - 2 層、廉価版 (CT2770)
Creative
PhoneBlaster SB16 + Sierra 14.4K Voice/FAX/Data/Speakerphone
モデム(CT3100)
Reveal
(SC400)
警告: これらサウンドカードには、敢えて Panasonic/Creative インタフェース を含まないように作られているものがあるので、モデルナンバに基づいて単独責 任で買う前に、ボードをチェックしましょう。
これは完全なリストで決してはありません。 Creative Labs および他のベンダ は、 Creative/Panasonic ドライブインタフェースの新しバージョンのサウンド カードをいつもリリースするからです。
Creative Labs アダプタに加えて、Media Vision, IBM, Lasermate アダプタで、 互換性があるアダプタもまたサポートされます。しかし、これらのアダプタは広 範囲にわたるI/Oポートアドレスを使いますので、これらのアダプタの位置決めを するためにドライバの再構成が必要です。
異なったホストインタフェースの実装を行っているメーカが存在することを理解 することが重要です。MS-DOSで Creative Labs 純正のドライバを用いても、どう しても通信できないボードがあるなら、 matcd はそのホストアダプタでは動作し ないかもしれません。
サポートされた操作
matcd ドライバは、ブロックアクセス及びキャラクタアクセスをサポートしま す。パーティション "a" は、データ CD から 2048 バイトのユーザデータブロッ クを返します。パーティション "c" は、オーディオ CD を含めてあらゆるタイプ の CD から全部で 2352 バイトのフレームを返します。(パーティション "c" は cd9660 ファイルシステムや他のファイルシステムエミュレータを用いて "マウン ト" できません。) 他にサポートされているパーティションはありません。 ドライブ上のデバイスが全てクローズされるまで、ドライブトレイがロックされ たままになるということを除き、 matcdl デバイスは通常の matcd デバイスと同 様に動作します。 |
matcd は CD-ROM オーディオに関連した機能やトレイ制御の機能を含む多くの ioctl() コマンドを受理します。コマンドは以下の通りです:
DIOCGDINFO
ディスクラベルを取得します。 matcd ドライバは上述のように定義された ioctl() コマンドのみをサポートしま す。 |
関連ファイル
/dev/[r]matcd0a /dev/[r]matcdl0a
CD-ROM ディスク上の 2048 バイトブロック
データにアクセスするときに使用します。 これは モード 1
フォーム 1 フォーマット で記録されたものです。 options.h ファイルには全てのコンパイルオプションが書かれています。デフォ ルトでは ドライバは FreeBSD の current バージョンで動作するように設定され ています。 注 |
ドライブが割り込みもしくは DMA を利用することができても、 Creative/Panasonic インタフェース上でこれらを利用することはできません。 1 つ以上のパーティションがオープンしているにも関わらず、ディスクトレイが オープンしているならば、ドライブ上の全てのパーティションに対するこれ以上 の I/O は全てのパーティションがクローズするまで拒否されます。 物理ドライブ 0 として割り当てられる各々のホストインタフェース上にはドライ ブが存在していなければなりません。もしそうでない場合、ドライバはホストイ ンタフェースあるいは接続されたドライブを 1 つも見つけることができないで しょう。 第 2 のホストインタフェース開始のドライブは、論理ドライブ 4-7 (第 3 のイ ンタフェースの 8-11 と第 4 の 12-15) とみなされます。 最初のホストインタフェースにいくつのドライブが存在しているかに関わりな く、 2 番目のホストインタフェース上の最初のドライブは論理ドライブ 4 にな ります。 ホストインタフェースはカーネルコンフィギュレーションファイルに宣言された 順番か、カーネルコンフィギュレーションファイルでポートアドレスに "?" を 用いたならばそれが見つかった順番に番号を割り振られます。ホストインタ フェースの番号は常に切目なく連続しています。 |
関連項目
/usr/include/sys/cdio.h |
作者
ドライバとドキュメントは Frank Durda IV
が書きました。 |
歴史
matcd ドライバは FreeBSD 2.0.5 において登場しました。 FreeBSD 2.0.5 September 24, 1995 FreeBSD 2.0.5 |