1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
.\"
.\" Copyright (c) 1994 Keith E. Walker
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software withough specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\"
.Dd December 8, 1994
.Dt MCD 4 i386
.Os FreeBSD 2.0
.Sh NAME
.Nm mcd
.Nd Mitsumi CD-ROM driver
.Sh SYNOPSIS
.Cd "device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr"
.Sh DESCRIPTION
The
.Nm 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 FX001D.
.Pp
The
.Nm mcd
driver responds to disk-specific
.Fn ioctl
commands, namely the
.Dv DIOCGDINFO ,
.Dv DIOCGPART ,
.Dv DIOCWDINFO ,
and
.Dv DIOCSDINFO ,
commands.
Other disk-specific
.Fn ioctl
commands will return an error.
.Pp
The
.Nm mcd
driver also responds to special CD-ROM
.Fn ioctl
commands. These commands
control the CD-ROM player's audio features.
The commands are:
.Pp
.Bl -tag -width CDIOCREADSUBCHANNEL -compact -offset indent
.It CDIOCREADSUBCHANNEL
get sub-channel information on current status of disc playing
.It CDIOCREADTOCHEADER
get table of contents header
.It CDIOCREADTOCENTRYS
gets all of the table of contents
.It CDIOCPLAYTRACKS
begins audio playing at location specified
.It CDIOCPLAYBLOCKS
fails with error
.Dv EINVAL
.It CDIOCPLAYMSF
begins audio playing at location specified
.It CDIOCRESUME
resumes playing a previously paused disc
.It CDIOCPAUSE
pauses a playing disc
.It CDIOCSTART
begins playing a disc
.It CDIOCSTOP
stops a previously playing disc
.It CDIOCEJECT
opens the disc tray (there is no support for a corresponding un-eject
command).
.It CDIOCRESET
stops any play and resets the Mitsumi controller board
.It CDIOCSETDEBUG
cause the kernel to print debug messages to the console about the
.Nm mcd
driver
.It CDIOCCLRDEBUG
cause the kernel to quit printing debug messages about the
.Nm mcd
driver
.El
.Pp
The
.Fn ioctl
commands defined above are the only ones that the
.Nm mcd
driver supports. There are other CD-ROM related
.Fn ioctl
commands (such as
.Dv CDIOCSETVOL
and
.Dv CDIOCSETSTERIO )
which are available
and may be supported by future versions of the driver.
.Sh FILES
.Bl -tag -width /dev/(r)mcd0a -compact
.It Pa /dev/(r)mcd0a
accesses BSD partition on the disc.
Normally, there is only
one file system on a CD-ROM disc.
.It Pa /dev/(r)mcd0c
accesses raw device.
.El
.Sh NOTES
The character-mode devices for the
.Nm mcd
driver should only be used for accessing the audio features of the
CD-ROM player as the performance on data is abysmal.
.Pp
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
aren't supported by the driver anyway.
.Sh SEE ALSO
.Pa /usr/include/sys/cdio.h
.Sh AUTHORS
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.
.Sh HISTORY
An
.Nm mcd
driver appeared in FreeBSD Release 1.0.
|