Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MATCD(4)	       BSD/i386	Kernel Interfaces Manual	      MATCD(4)

     matcd -- Matsushita (Panasonic) CD-ROM driver

     device matcd[0-4] at isa? port [?|	addr]

     The matcd driver controls the CR-562-x and	CR-563-x CD-ROM	drives made by
     Matsushita-Kotobuki Electronics Industries, or Matsushita for short.
     These CD-ROM drives have been sold	under the Panasonic (which is a	trade
     name for Matsushita), Creative Labs (omniCD) and Reveal names, and	have
     been included in computers	made by	Tandy, AST, Packard Bell and many oth-

     These drives connect to the PC ISA	bus through a proprietary host inter-
     face.  This interface can exist as	a stand-alone ISA card,	or can be in-
     cluded on a sound card.

     The matcd driver supports up to four host interfaces with up to four
     drives on each interface.	Audio activity may occur on all	drives simul-
     taneously.	 Data read operations are limited to one drive per host	inter-
     face at any instant.

     To	support	multiple host interfaces, it is	necessary to modify the	en-
     tries in the kernel configuration file.  Normally your system comes with
     the file /usr/src/sys/i386/conf/GENERIC.  You should make a copy of this
     file and give it the name of your system.	You can	then edit the new file
     to	include	devices	you want the system to support and delete the device
     entries that you don't want.

     In	this file, you will find an entry like:

	   device  matcd0  at  isa?  port  ?

     To	support	two host interfaces, change the	file so	it reads:

	   device  matcd0  at  isa?  port  ?
	   device  matcd1  at  isa?  port  ?

     (If you want to support up	to three or four host interfaces, add addi-
     tional entries).

     Note that the kernel configuration	does not need to be modified to	sup-
     port up to	four drives on a single	host interface.	 It is also not	neces-
     sary to have four drives on a single interface before adding a second in-

     By	default, matcd searches	for the	CD-ROM host interface adapters by us-
     ing a table of known I/O ports on Creative	host adapters (see options.h).
     Although this is very flexible, it	can cause problems when	your system
     has other devices that are	located	at the I/O ports that matcd is check-
     ing for CD-ROM host interfaces.  In addition, checking multiple locations
     can cause the boot	process	to take	longer than it could.

     If	you are	having these problems, you can solve them by explicitly	speci-
     fying where the CD-ROM host interfaces are	located.  For example, by de-
     fault most	SoundBlaster cards have	the Matsushita CD-ROM host interface
     located at	I/O port 0x230.	 (This is 0x10 above the I/O port for the au-
     dio section of the	card.)	If this	is the case for	your system, you could
     change where the kernel looks for the hardware by using the -c option at
     the kernel	boot prompt.  This will	load the kernel	and then give you the
     opportunity to change settings for	any of the devices included the	ker-
     nel.  For example,	to change the I/O port for matcd adapter zero to
     0x340, you	would type

	   config> port	matcd0c	0x340

     If	you recompile the kernel, you can change the entry in the kernel con-
     figuration	file to	specify	a specific address by changing an entry	like

	   device  matcd0  at  isa?  port  0x230

     With this change, the matcd driver	will only look at I/O port 0x230 for
     the first CD-ROM host interface and will not disturb any other I/O	ports.

     Once you have adjusted the	kernel configuration file, it is necessary to
     configure and recompile the kernel, install it and	reboot for the changes
     to	take effect.

     At	this time, there are only two known drive models that work with	the
     matcd driver:
	   Matsushita CR-562-x
	   Matsushita CR-563-x
     Most resellers leave these	original markings on the drives	since the la-
     bel also has the FCC, VDE,	CSA and	RU certification marks.

     Both of these drive models	have motorized trays.  There is	also a custom
     version of	these drives that does not have	the volume control or head-
     phone jack	(seen on some Tandy computers),	but this drive also works with

     The Matsushita CR-522-x and CR-523-x CD-ROM drive is not usable with
     matcd.  The CR-522	and CR-523 can also be identified from the front as it
     requires a	CD-caddy.

     Drives with IDE interfaces	must use an IDE	driver.

     The TEAC CD-55 4X CD-ROM drive also uses the Creative/Panasonic interface
     but the TEAC drive	is not compatible with the Matsushita CR-56x drives.
     The TEAC drive cannot be used with	matcd.

     The most common source of host interface adapters for the Panasonic
     drives are	found in products from Creative	Labs, including	SoundBlaster
     sound cards.   There are numerous models of SoundBlaster sound cards, and
     most of the newer cards provide the appropriate interface,	sometimes la-
     beled as the "Creative/Panasonic" interface.

     The following host	interface adapters are known to	work with the matcd
	   Creative  Sound Blaster Pro (SBPRO) (CT1330A)
	   Creative  Sound Blaster 16 (CT1730)
	   Creative  Sound Blaster 16 -	cost-reduced (CT1740)
	   Creative  OmniCD upgrade kit	adapter	card - stand-alone CD (CT1810)
	   Creative  Sound Blaster 16 -	2-layer, cost-reduced  (CT2230)
	   Creative  Sound Blaster 16 (Vibra16)	- 2-layer, single-chip
	   Creative  Sound Blaster 16 Value (SB16) - 2-layer, cost-reduced
	   Creative  PhoneBlaster SB16 + Sierra	14.4K Voice/FAX/Data/Speaker-
		     phone modem combo (CT3100)
	   Reveal    (SC400)

     Caution: Some of these sound boards can be	optionally manufactured	to not
     include the Panasonic/Creative interface, so check	the board before buy-
     ing solely	based on model number.

     This is by	no means a complete list as Creative Labs and other vendors
     that produce sound	cards with an identical	Creative/Panasonic drive in-
     terface release new versions of their adapters all	the time.

     In	addition to Creative Labs adapters, adapters that are compatible with
     Media Vision, IBM and Lasermate adapters are also supported.   However,
     these adapters use	a wide range of	I/O port addresses, so the driver must
     be	reconfigured to	locate these adapters.

     It	is important to	understand that	some manufacturers have	a different
     host interface implementation.  If	you have a board that won't communi-
     cate with the drives under	MS-DOS using the genuine Creative Labs driv-
     ers, then matcd may not work with that host adapter.

     The matcd driver supports block and character access.  Partition "a" re-
     turns 2048-byte User Data blocks from data	CDs.  Partition	"c" returns
     the full 2352-byte	Frames from any	type of	CD, including audio CDs.
     (Partition	"c" cannot be "mounted"	with cd9660 or other filesystem	emula-
     tors.)  No	other partitions are supported.

     The matcdl	devices	work the same as the normal matcd devices except that
     the drive trays are locked	and remain locked until	all of the devs	on
     that drive	are closed.

     Matcd accepts numerous ioctl() commands, including	disk and functions re-
     lated to CD-ROM audio and tray control features.  The commands are:

	   DIOCGDINFO		   get disklabel.
	   DIOCGDPART		   get partition.
	   DIOCWDINFO		   set update disk.
	   DIOCSDINFO		   set disklabel.
	   CDIOCREADSUBCHANNEL	   get sub-channel information on current sta-
				   tus of disc playing.
	   CDIOCREADTOCHEADER	   reads table of contents summary.
	   CDIOCREADTOCENTRYS	   reads length	and other track	information.
	   CDIOCPLAYTRACKS	   plays audio starting	at a track/index and
				   stopping at a track/index.
	   CDIOCPLAYMSF		   plays audio starting	at a particular	time
	   CDIOCPAUSE		   pauses a playing disc.
	   CDIOCRESUME		   resumes playing a previously	paused disc.
				   Ignored if the drive	is already playing.
	   CDIOCSTOP		   stops playing a disc.
	   CDIOCEJECT		   opens the disc tray.
	   CDIOCCLOSE		   closes the disc tray.
	   CDIOCPREVENT		   blocks further attempts to open the drive
				   door	until all devices close	or a CDIOCAL-
				   LOW ioctl is	issued.
	   CDIOCALLOW		   unlocks the drive door if it	was locked.
				   This	ioctl is rejected if any locking de-
				   vices are open.
	   CDIOCGETVOL		   returns the current volume settings of the
	   CDIOCSETVOL		   sets	the volume settings of the drive.
	   CDIOCSETSTEREO	   causes the left channel audio to be sent to
				   the left channel output and the right chan-
				   nel audio is	sent to	the right channel out-
				   put.	 This is the default state.
	   CDIOCSETMUTE		   causes the audio output to be turned	off.
				   The drive continues to read the audio on
				   the disc and	that audio is discarded	until
				   the audio is	turned back on.
	   CDIOCSETLEFT		   causes the left channel audio to be sent to
				   the left and	right channel outputs.
	   CDIOCSETRIGHT	   causes the right channel audio to be	sent
				   to the left and right channel outputs.
	   CDIOCSETPATCH	   causes the audio to be routed as specified
				   in the provided bit maps.
	   CDIOCSETPITCH	   changes the playback	speed of the audio to
				   increase or decrease	(as in Karaoke).
	   CDIOCCAPABILITY	   report the capabilities of the drive	and

     The ioctl() commands defined above	are the	only ones that the matcd
     driver supports.

     /dev/[r]matcd0a /dev/[r]matcd0la  is used to access 2048-byte blocks of
				       data on a CD-ROM	disc that is recorded
				       in the Mode 1 Form 1 format.
     /dev/[r]matcd0c /dev/[r]matcd0lc  is used to access 2352-byte frames on a
				       CD-ROM disc recorded in any format.
     /usr/src/sys/i386/isa/matcd/*     Source code and compilation options for

     The file options.h	contains all of	the compilation	options.  By default,
     the driver	is configured to run on	the current version of FreeBSD.

     The Creative/Panasonic interface does not use interrupts or DMA although
     the drives	themselves are capable of using	both.

     If	the disc tray is opened	while one or more partitions are open, further
     I/O to all	partitions on the drive	will be	rejected until all partitions
     are closed.

     There must	be a drive on each host	interface that is addressed as physi-
     cal drive 0.  If this isn't the case, the driver will be unable to	find
     the host interface	or any of the connected	drives.

     Drives on a second	host interface start are considered logical drives
     4-7, 8-11 on the third interface and 12-15	on the fourth.

     The first drive on	the second host	interface is logical drive 4 regard-
     less of how many drives are present on the	first host interface.

     Host interfaces are numbered in the order they are	declared in the	kernel
     configuration file, or in the order they are found	if the kernel configu-
     ration file uses "?" for the port address.	 Host interface	numbers	are
     always contiguous.


     The driver	and documentation was written by Frank Durda IV.

     Program and Documentation are Copyright 1994, 1995, All rights reserved.

     The matcd driver appeared in FreeBSD 2.0.5.

BSD			      September	24, 1995			   BSD


Want to link to this manual page? Use this URL:

home | help