Matcd CD-ROM Driver - Index

[Copyright 1994, 1995, 2002, 2003 Frank Durda IV, All Rights Reserved.
Mirroring of any material on this site in any form is expressly prohibited.
The official web site for this material is:
Contact this address for use clearances: clearance at
Comments and queries to this address: web_software_2011 at]

What is Matcd?

Matcd is a CD-ROM driver, written for FreeBSD, a derivative of BSD UNIX, originally developed at the University of California at Berkeley. Matcd originally appeared in FreeBSD 2.1.5 in 1995, and supported the then popular Matsushita CR-562 and CR-563 CD-ROM drives, which were sold under the SoundBlaster, MediaVision and several other trade names. These drives also came built into several brands of computers, including some Tandy and AST models.

The original driver is included on FreeBSD distributions up until 4.7, when it was removed because other kernel changes had occurred in an earlier FreeBSD release, which broke the driver.

The driver shown here has been updated to work with FreeBSD 5.1 It does not work with FreeBSD 5.0, and probably does not work with FreeBSD 5.2 (not yet anyway), due to near-constant changes being made to the kernel-driver interfaces within FreeBSD. Some of those changes are probably useful, some are of questionable value, considering their destructive cost in the area of compatibility.

The utility of the Matcd driver is on the decline, since the only known host adapters require an ISA slot, and ISA slots are becoming very rare in modern computers. Still, some industrial PCs and older systems can take advantage of this code, so it is being made available.

The Matcd driver was originally released in 1995 under a BSD-style copyright, which has been further simplified in the 5.1 version in 2003 (to comply with desires within the FreeBSD project to have all licensing terms be uniform). You can do just about anything with it, provided you don't claim the work as your own, and don't try to sue anybody over it. See the source code files for the exact wording of the license.

The files you need are located directly below this page.

The Driver - FreeBSD 5.1 Version

These files go in /usr/src/sys/dev/matcd/

matcd.c (C Source Code) This is the actual driver.
matcd_isa.c (C Source Code) This is a shim interface required for dynamic module loading.

The Include Files - FreeBSD 5.1 Version

These files also go in /usr/src/sys/dev/matcd/

options.h (C Source Code) This file contains the compile-time options.
matcddrv.h (C Source Code) The drive command and mask declarations.
creativeif.h (C Source Code) Declarations specific to the Creative Labs host interface.
matcd_data.h (C Source Code) Include declarations required by both source files.

Patches to get the driver built into the kernel

These files go in /usr/src/sys/conf/

NOTES.patch (Unified Patch C Source)
files.patch (Unified Patch C Source)

The Makefile

These files go in /usr/src/sys/modules/matcd/

Makefile (C Source Makefile)

The Manual Page

These files go in /usr/src/sys/man/man4/man4.i386/

matcd.4 (Troff Man Page)

Misc Materials

These items are provided for readability on the Internet, but do not go in the FreeBSD source tree.

matcd.4.ascii (Formatted Man Page, ASCII Motion/Overstrike Codes Stripped)
matcd_4.txt (Formatted Man Page, ASCII Motion/Overstrike Codes Included)
matcd.4.html (HTML Formatted Man Page)

Visit the home page and index

Valid HTML 4.01!