MCD(4)

名称
mcd - Mitsumi CD-ROM ドライバ

書式
device mcd0 at isa? port 0x300 bio irq 10

解説
mcd ドライバは Mitsumi 製 CD-ROM プレイヤに対して、データとオーディオの インタフェースを提供します。 CD-ROM プレイヤは、Mitsumi 専用のコントローラ ボードの 1 つを経てISA バスに接続されていることが必要です。 サポートされているコントローラボードは LU002S, LU005S, FX001, そして一般的な FX001D です。

mcd ドライバはディスク固有の ioctl() コマンド、すなわち DIOCGDINFO, DIOCGPART, DIOCWDINFO, DIOCSDINFO, コマンドに対して応答します。 他のディスク固有の ioctl() コマンドにはエラーを返すものもあるでしょう。

mcd ドライバは、特別な CD-ROM ioctl() コマンドに対しても応答します。これらのコマンドは、CD-ROM プレイヤの オーディオ機能を制御します。 コマンドは次の通りです:

CDIOCREADSUBCHANNEL
    ディスクを再生中の現在の状態におけるサブチャネルの情報を取得します。
CDIOCREADTOCHEADER
    目次ヘッダを取得します。
CDIOCREADTOCENTRYS
    全ての目次を取得します。
CDIOCPLAYTRACKS
    指定された位置において、オーディオ再生を始めます。
CDIOCPLAYBLOCKS
    EINVAL エラーで失敗します。
CDIOCPLAYMSF
    指定された位置において、オーディオ再生を始めます。
CDIOCRESUME
    あらかじめ一時停止したディスクの再生をレジュームします。
CDIOCPAUSE
    ディスクの再生を一時停止します。
CDIOCSTART
    ディスク再生を始めます。
CDIOCSTOP
    あらかじめ再生中のディスクを停止します。
CDIOCEJECT
    ディスクトレーをオープンします (クローズするコマンドはサポートされていません)。
CDIOCRESET
    あらゆる再生を停止し、Mitsumi コントローラボードをリセットします。
CDIOCSETDEBUG
    カーネルは mcd ドライバについてのデバッグメッセージをコンソールに出力します。
CDIOCCLRDEBUG
    カーネルは mcd ドライバについてのデバッグメッセージの出力を終了します。

上記で定義した ioctl() コマンドは mcd ドライバがサポートするコマンドだけです。( CDIOCSETVOL や CDIOCSETSTERIO のような) CD-ROM 関連 ioctl() コマンドも存在しますが、そのようなコマンドは ドライバの将来のバージョンでサポートされるかも知れません。

関連ファイル
/dev/(r)mcd0a
    ディスク上の BSD パーティションにアクセスします。通常、CD-ROM ディスク 上に存在するファイルシステムは単一です。
/dev/(r)mcd0c
    raw デバイスにアクセスします。

注
mcd ドライバのキャラクタモードデバイスは、 オーディオ機能に限定してアクセスするために使うべきです。 データ機能にアクセスすると、性能がひどく悪いからです。

ドライバの現在のバージョンは、生成されたあらゆる IRQ に対して割り込み ハンドラを保持しているにもかかわらず、インタフェースボードの DMA と IRQ 機能のどちらも用いていません。 ともかく DMA 機能がサポートされるまで、ボード の生成する割り込みだけはドライバによってサポートされません。

関連項目
/usr/include/sys/cdio.h

作者
ドライバは Holger Veit (データ部分) 及び Brian Moore (オーディオ部分) が書きました。それに対する変更が Gary Clark II, Andrew A. Chernov, Jordan K. Hubbard によって提供されました。

歴史
mcd ドライバは FreeBSD 1.0 で最初に登場しました。