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
    미리 일시정지한 디스크의 재생을 resume 합니다.
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 그리고 최초로 등장했습니다.