head	1.3;
access;
symbols
	RELENG_4_11_0_RELEASE:1.2.12.1
	RELENG_4_11:1.2.12.1.0.10
	RELENG_4_11_BP:1.2.12.1
	RELENG_4_10_0_RELEASE:1.2.12.1
	RELENG_4_10:1.2.12.1.0.8
	RELENG_4_10_BP:1.2.12.1
	RELENG_4_9_0_RELEASE:1.2.12.1
	RELENG_4_9:1.2.12.1.0.6
	RELENG_4_9_BP:1.2.12.1
	RELENG_4_8_0_RELEASE:1.2.12.1
	RELENG_4_8:1.2.12.1.0.4
	RELENG_4_8_BP:1.2.12.1
	RELENG_4_7_0_RELEASE:1.2.12.1
	RELENG_4_7:1.2.12.1.0.2
	RELENG_4_7_BP:1.2.12.1
	RELENG_4_6_2_RELEASE:1.2
	RELENG_4_6_1_RELEASE:1.2
	RELENG_4_6_0_RELEASE:1.2
	RELENG_4_6:1.2.0.20
	RELENG_4_6_BP:1.2
	RELENG_4_5_0_RELEASE:1.2
	RELENG_4_5:1.2.0.18
	RELENG_4_5_BP:1.2
	RELENG_4_4_0_RELEASE:1.2
	RELENG_4_4:1.2.0.16
	RELENG_4_4_BP:1.2
	KSE_MILESTONE_2:1.2
	KSE_PRE_MILESTONE_2:1.2
	RELENG_4_3_0_RELEASE:1.2
	RELENG_4_3:1.2.0.14
	RELENG_4_3_BP:1.2
	RELENG_4_2_0_RELEASE:1.2
	RELENG_4_1_1_RELEASE:1.2
	PRE_SMPNG:1.2
	RELENG_4_1_0_RELEASE:1.2
	RELENG_3_5_0_RELEASE:1.2
	RELENG_4_0_0_RELEASE:1.2
	RELENG_4:1.2.0.12
	RELENG_4_BP:1.2
	RELENG_3_4_0_RELEASE:1.2
	RELENG_3_3_0_RELEASE:1.2
	RELENG_3_2_PAO:1.2.0.10
	RELENG_3_2_PAO_BP:1.2
	RELENG_3_2_0_RELEASE:1.2
	POST_VFS_BIO_NFS_PATCH:1.2
	PRE_VFS_BIO_NFS_PATCH:1.2
	POST_SMP_VMSHARE:1.2
	PRE_SMP_VMSHARE:1.2
	POST_NEWBUS:1.2
	PRE_NEWBUS:1.2
	RELENG_3_1_0_RELEASE:1.2
	RELENG_3:1.2.0.8
	RELENG_3_BP:1.2
	RELENG_2_2_8_RELEASE:1.2
	RELENG_3_0_0_RELEASE:1.2
	RELENG_2_2_7_RELEASE:1.2
	PRE_NOBDEV:1.2
	POST_DEVFS_SLICE:1.2
	PRE_DEVFS_SLICE:1.2
	RELENG_2_2_6_RELEASE:1.2
	POST_SOFTUPDATE:1.2
	PRE_SOFTUPDATE:1.2
	RELENG_2_2_5_RELEASE:1.2
	WOLLMAN_MBUF:1.2.0.6
	BP_WOLLMAN_MBUF:1.2
	RELENG_2_2_2_RELEASE:1.2
	post_smp_merge:1.2
	pre_smp_merge:1.2
	RELENG_2_2_1_RELEASE:1.2
	RELENG_2_2_0_RELEASE:1.2
	RELENG_2_1_7_RELEASE:1.1.4.1
	RELENG_2_1_6_1_RELEASE:1.1.4.1
	RELENG_2_1_6_RELEASE:1.1.4.1
	RELENG_2_2:1.2.0.4
	RELENG_2_2_BP:1.2
	RELENG_2_1_5_RELEASE:1.1.4.1
	wollman_polling:1.2.0.2
	RELENG_2_1_0_RELEASE:1.1.4.1
	RELENG_2_1_0:1.1.0.4
	RELENG_2_1_0_BP:1.1
	RELENG_2_0_5_RELEASE:1.1
	RELENG_2_0_5:1.1.0.2
	RELENG_2_0_5_BP:1.1
	RELENG_2_0_5_ALPHA:1.1;
locks; strict;
comment	@# @;


1.3
date	2002.10.04.06.06.04;	author scottl;	state dead;
branches;
next	1.2;

1.2
date	95.07.11.03.03.41;	author jkh;	state Exp;
branches
	1.2.12.1;
next	1.1;

1.1
date	95.04.09.15.50.13;	author jkh;	state Exp;
branches
	1.1.4.1;
next	;

1.1.4.1
date	95.07.26.23.34.50;	author jkh;	state Exp;
branches;
next	;

1.2.12.1
date	2002.10.05.18.31.48;	author scottl;	state dead;
branches;
next	;


desc
@@


1.3
log
@Alas, poor matcd, I knew ye well.

It doesn't work.
It cannot be made to work.
Goodbye.

X-MFC after:	ASAP
@
text
@Things to do for the matcd driver			4-Jul-95

1.	Someone wants to switch all drivers from disklabel and
	its assorted mechanisms over to disk slicing and its mechanisms,
	but I was unable to find any useful documentation on how to 
	implement the changes for a read-only, single-partition,
	removable (ie, partition can change size) device.
	So this will have to wait until after 2.1.

2.	Support for reading R-W subcodes while playing audio.  This would be
	useful if you have any CD+G or CD+MIDI discs, but the demand for this
	is pretty low, unless you like Karaoke.  Someone will also have to
	write a CD+G viewer for X.  The code for the driver to add this is
	pretty minor but there aren't any precedents on how to handle the
	data transfer to the application.

3.	Support for reading the ISBN and UPC labels.   The ioctl structures
	for these appear to be defined but no other driver seems to do this.

4.	Multi-session support.  There are two forms of this; what
	Philips defined and what Kodak uses.  This will be quite
	complicated and will probably require changes in the filesystem
	layer.   The drive support for Kodak multi-session is known to work.

5.	Multiple data tracks.  My vision here was to add an ioctl
	that caused a track offset to be inserted into block requests,
	effectively shifting the base to the specified track.  Very
	easy to add but not a big deal since I have only two discs
	in my collection that have multiple data tracks and I mastered
	one of them.

6.	A curses-based CD-Player app (ie, not X).  I will probably do this
	mainly for its value as a debugging tool.  It was pretty annoying
	not finding a single application that actually issued all the
	defined ioctls, let alone any new ones.

If you feel the urge to work on one or more of these remaining items,
please contact the author first at    bsdmail@@nemesis.lonestar.org
to make sure the work hasn't already been done or started.

					Frank Durda IV

@


1.2
log
@Release summary:        (detailed descriptions in Edit History in matcd.c)
Adds support for non-Sound Blaster host adapters, including those
distributed by Reveal, Lasermate, IBM, Media Vision, Crystal and others.
The driver automatically senses the correct adapter type and you can
have both in the system at the same time.
(This change should eliminate a few complaints.)

Corrected bit-masking problem that prevented use on SB Vibra-16 boards.

Declared some internal data and functions static that should have been
that way all along.

Documentation changes reflect the new hardware support and change the
appearance version to 2.0.5 (was 2.1).    Nice and tidy.   :-)


Beta testers have verified functionality on SB16, Vibra-16, Media Vision
and Reveal adapters.   -Wall still shows no warnings.

                                        Frank Durda IV
                                        uhclem%nemesis@@fw.ast.com
Submitted by:	Frank Durda IV <uhclem%nemesis@@fw.ast.com>
@
text
@@


1.2.12.1
log
@"<matcd>  Help! Help, scottl is trying to *BANG* *BANG* *BANG*"
"<CVS>    Hello?  Hello?  Are you still there?"

Approved by:	re (rwatson)
@
text
@@


1.1
log
@This is the new submission of the matcd driver.  In addition to the
new driver code, there are diffs to several other existing files
on the system and a man page.

This version of matcd implements the rest of the key ioctls related to
playing audio CDs and reading table of contents information from any
type of disc.

This update also corrects several problems detected since the original
version 1(10) was released.  These include:
1.	Jordons report on the kernel -c string problem.
2.	A problem with the driver being confused by other types of
	devices located at addresses it probes.
3.	An old CD TOC wouldn't always be cleared after a disc change.
4.	Cleaned up code so -Wall yields no warnings on 2.0 and later.
5.	A problem with drive getting out of sync with the driver when
	changing between CD-Data and CD-DA.

There have only been two reports from the field relating to problems
so either the first release isn't really being used or doesn't have
many problems.

If there are any problems with this submission, please let me know.

Submitted by:	Frank Durda IV <uhclem%nemesis@@fw.ast.com>
@
text
@d1 1
a1 1
Things to do for the matcd driver			6-Apr-95
d3 1
a3 9
1.	Just as I was finishing Edit 16, I discovered that there
	may be a way to cause a drive to go "offline", allowing the host
	to send a command to one or more other drives on the same
	interface, similar to the SCSI disconnect mechanism.  The changes
	to the driver to take advantage of this aren't huge, but will have
	to wait until after 2.1.  Too much risk of breaking something.
	Unless you have multiple drives, you won't see a difference.

2.	Someone wants to switch all drivers from disklabel and
d10 1
a10 1
3.	Support for reading R-W subcodes while playing audio.  This would be
d17 1
a17 1
4.	Support for reading the ISBN and UPC labels.   The ioctl structures
d20 1
a20 1
5.	Multi-session support.  There are two forms of this; what
d25 1
a25 1
6.	Multiple data tracks.  My vision here was to add an ioctl
d32 1
a32 1
7.	A curses-based CD-Player app (ie, not X).  I will probably do this
@


1.1.4.1
log
@Bring in changes from the HEAD.
Branch:	RELENG_2_1_0
Submitted by: Frank Durda IV <uhclem%nemesis@@fw.ast.com>
@
text
@d1 1
a1 1
Things to do for the matcd driver			4-Jul-95
d3 9
a11 1
1.	Someone wants to switch all drivers from disklabel and
d18 1
a18 1
2.	Support for reading R-W subcodes while playing audio.  This would be
d25 1
a25 1
3.	Support for reading the ISBN and UPC labels.   The ioctl structures
d28 1
a28 1
4.	Multi-session support.  There are two forms of this; what
d33 1
a33 1
5.	Multiple data tracks.  My vision here was to add an ioctl
d40 1
a40 1
6.	A curses-based CD-Player app (ie, not X).  I will probably do this
@
