総合手引 | セクション 4 | オプション |
controller matcd[0-4] at isa? port [?| addr]
"/dev/[r]matcd[0-15][a|c]
"/dev/[r]matcdl[0-15][a|c]
これらのドライブは、専用のホストインタフェースを通じて PC ISA バスに 接続します。このインタフェースはスタンドアロンの ISA カードとして存在す ることもありますし、サウンドカード上に含まれていることもあります。
マルチホストインタフェースをサポートするためには、 カーネルコンフィギュレーションファイルのエントリを修正する必要があります。 通常、このファイルはシステム上の /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 ポートを変更するには以下のように記述すれば良い でしょう。
config> port matcd0c 0x340
カーネルをリコンパイルするなら、カーネルコンフィギュレーションファイル のエントリを以下のように変更して特定のアドレスを指定することができます:
controller matcd0 at isa? port 0x230 bio
このように変更すると matcd ドライバは最初の CD-ROM ホストインタフェースのために I/O ポート 0x230 のみを探索し、他の I/O ポートは妨げません。
カーネルコンフィギュレーションファイルの調整が完了したら、カーネルを 設定、リコンパイル、及びインストールします。そして変更した個所を 有効にするために再起動する必要があります。
松下 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 はそのホストアダプタでは動作しないかもしれません。
ドライブ上のデバイスが全てクローズされるまで、ドライブトレイがロックさ れたままになるということを除き、 matcdl デバイスは通常の matcd デバイスと同様に動作します。
matcd は CD-ROM オーディオに関連した機能やトレイ制御の機能を含む多くの ioctl() コマンドを受理します。コマンドは以下の通りです:
DIOCGDINFO | ディスクラベルを取得します。 |
DIOCGDPART | パーティションを取得します。 |
DIOCWDINFO | アップデートディスクをセットします。 |
DIOCSDINFO | ディスクラベルをセットします。 |
CDIOCREADSUBCHANNEL | 再生中のディスクの状態におけるサブチャネル情報を取得します。 |
CDIOCREADTOCHEADER | コンテンツサマリのテーブルを読み取ります。 |
CDIOCREADTOCENTRYS | 長さと他のトラック情報を読み取ります。 |
CDIOCPLAYTRACKS | あるトラック/インデックスから開始してあるトラック/インデックスで終了する オーディオを演奏します。 |
CDIOCPLAYMSF | 特定の時刻オフセットから開始するオーディオを演奏します。 |
CDIOCPAUSE | 再生中のディスクを一時停止します。 |
CDIOCRESUME | 一時停止したディスクの再生をレジュームします。ドライブが既に再生してい る場合には無視されます。 |
CDIOCSTOP | 再生中のディスクを停止します。 |
CDIOCEJECT | ディスクトレイをオープンします。 |
CDIOCCLOSE | ディスクトレイをクローズします。 |
CDIOCPREVENT | 全てのデバイスがクローズされるか CDIOCALLOW ioctl が発行されるまで、 ドライブドアをオープンしようとする操作を阻止します。 |
CDIOCALLOW | ドライブドアがロックされていれば解除します。この ioctl は何らかのロック されたデバイスがオープンしていれば拒否されます。 |
CDIOCGETVOL | ドライブにセットされたボリュームを返します。 |
CDIOCSETVOL | ドライブにセットされたボリュームをセットします。 |
CDIOCSETSTEREO | このコマンドにより左チャネルのオーディオを左チャネルの出力に送り、 右チャネルのオーディオを右チャネルの出力に送ります。 これはデフォルトの状態です。 |
CDIOCSETMUTE | このコマンドによりオーディオ出力は停止します。 ドライブはディスク上のオーディオを読み続けますが、 オーディオ出力が再会されるまでそのデータは破棄されます。 |
CDIOCSETLEFT | このコマンドにより左のチャネルのオーディオは左右のチャネルの出力に送ら れます。 |
CDIOCSETRIGHT | このコマンドにより右のチャネルのオーディオは左右のチャネルの出力に送ら れます。 |
CDIOCSETPATCH | 指定されるビットマップに従い、オーディオをルーティングします。 |
CDIOCSETPITCH | このコマンドはオーディオの再生速度を増減します (カラオケのときなど)。 |
CDIOCCAPABILITY | ドライブとドライバの性能をレポートします。 |
matcd ドライバは上述のように定義された ioctl() コマンドのみをサポートします。
/dev/[r]matcd0a /dev/[r]matcdl0a | |
CD-ROM ディスク上の 2048 バイトブロックデータにアクセスするときに使用します。 これは モード 1 フォーム 1 フォーマットで記録されたものです。 | |
/dev/[r]matcd0c /dev/[r]matcdl0c | |
CD-ROM ディスク上の 2352 バイトフレームに任意のフォーマットで記録された データにアクセスするときに使用します。 | |
/usr/src/sys/i386/isa/matcd/* | matcd 用のソースコードとコンパイラオプションです。 |
options.h ファイルには全てのコンパイルオプションが書かれています。 デフォルトでは ドライバは FreeBSD の current バージョンで動作するよう に設定されています。
ドライブが割り込みもしくは DMA を利用することができても、 Creative/Panasonic インタフェース上でこれらを利用することはできません。
1 つ以上のパーティションがオープンしているにも関わらず、 ディスクトレイがオープンしているならば、ドライブ上の全てのパーティションに対す るこれ以上の I/O は全てのパーティションがクローズするまで拒否されます。
物理ドライブ 0 として割り当てられる各々のホストインタフェース上には ドライブが存在していなければなりません。もしそうでない場合、 ドライバはホストインタフェースあるいは接続されたドライブを 1 つも 見つけることができないでしょう。
第 2 のホストインタフェース開始のドライブは、論理ドライブ 4-7 (第 3 のインタフェースの 8-11 と第 4 の 12-15) とみなされます。
最初のホストインタフェースにいくつのドライブが存在しているかに関わりなく、 2 番目のホストインタフェース上の最初のドライブは論理ドライブ 4 になり ます。
ホストインタフェースはカーネルコンフィギュレーションファイルに宣言され た順番か、カーネルコンフィギュレーションファイルでポートアドレスに "?" を用いたならばそれが見つかった順番に番号を割り振られます。 ホストインタフェースの番号は常に切目なく連続しています。
FreeBSD 2.0.5 | MATCD (4) | September 24, 1995 |
総合手引 | セクション 4 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.