MCD(4) BSD Kernel Interfaces Manual MCD(4)NAMEmcd — Mitsumi CD-ROM driver
The mcd driver provides a data and audio interface to the Mitsumi-brand
CD-ROM player. The CD-ROM player must be interfaced to the ISA bus
through one of the Mitsumi proprietary controller boards. The controller
boards supported are the LU002S, LU005S, the FX001 and the quite common
The mcd driver responds to disk-specific ioctl() commands, namely the
DIOCGDINFO, DIOCGPART, DIOCWDINFO, and DIOCSDINFO, commands. Other disk-
specific ioctl() commands will return an error.
The mcd driver also responds to special CD-ROM ioctl() commands. These
commands control the CD-ROM player's audio features. The commands are:
CDIOCREADSUBCHANNEL get sub-channel information on current status
of disc playing
CDIOCREADTOCHEADER get table of contents header
CDIOCREADTOCENTRYS gets all of the table of contents
CDIOCPLAYTRACKS begins audio playing at location specified
CDIOCPLAYBLOCKS fails with error EINVAL
CDIOCPLAYMSF begins audio playing at location specified
CDIOCRESUME resumes playing a previously paused disc
CDIOCPAUSE pauses a playing disc
CDIOCSTART begins playing a disc
CDIOCSTOP stops a previously playing disc
CDIOCEJECT opens the disc tray (there is no support for a
corresponding un-eject command).
CDIOCRESET stops any play and resets the Mitsumi con‐
CDIOCSETDEBUG cause the kernel to print debug messages to
the console about the mcd driver
CDIOCCLRDEBUG cause the kernel to quit printing debug mes‐
sages about the mcd driver
The ioctl() commands defined above are the only ones that the mcd driver
supports. There are other CD-ROM related ioctl() commands (such as
CDIOCSETVOL and CDIOCSETSTERIO) which are available and may be supported
by future versions of the driver.
/dev/(r)mcd0a accesses BSD partition on the disc. Normally, there is
only one file system on a CD-ROM disc.
/dev/(r)mcd0c accesses raw device.
The character-mode devices for the mcd driver should only be used for
accessing the audio features of the CD-ROM player as the performance on
data is abysmal.
The current version of the driver uses neither the DMA or IRQ features of
the interface board, although it has an interrupt handler for any IRQ
requests that are generated. Until the DMA features are supported, the
only interrupts that the board generates are those that are not supported
by the driver anyway.
An mcd driver appeared in FreeBSD 1.0.
The driver was written by Holger Veit (data part) and Brian Moore (audio
part). Changes were provided by Gary Clark II, Andrew A. Chernov, and
Jordan K. Hubbard.
BSD December 8, 1994 BSD