Version 1.12 has modifications that are peculiar to 4.1a BSD;
the driver doesn't release the its bdp's anymore in dsreset()
since that is done prior to dsreset() being called.

ds.c goes in sys/dev, dsreg.h goes in sys/h, dsc.h goes in sys/h
and in /usr/include/sys, ds.4 goes in /usr/man/man4. The line in
your config file will look similar to:

	device	ds0	at uba0 csr 0165400	vector dsintr

This version of the driver also supports multiple mass storage
devices where the sound samples are stored. One of them can be
tape although we haven't tried that yet.

I just recently added the capability of playing files that are
non-contiguous. The block numbers are stored in system buffers;
there is a potential problem in that if a sound file is very
long and has many blocks that the dsc driver could use up all
of the system buffers and hang the system. The only thing I
can think of at the moment is writing a special version of
geteblk() that doesn't sleep and returns an error if there
are no more buffers.

Note1: when we raise the processor level to 6 in the disk driver
to lock out interrupts from the dma11 we get data lates. So we
are leaving the spl5() as is, keeping our fingers crossed and
hoping that the disk's buffer queue doesn't get mangled. There
are still problems with this (Dec. 1981) and I am seeking a
solution.

Note2: dsinit is no longer used here, we now use a special minor
device to do dsc resets. Examine the code (ds.c & play) to see
how it works.

If you are on the uucp net my addresses are

	ucbvax!sdcarl!rusty
	research!sdcarl!rusty
	ihnp4!sdcarl!rusty

for the arpanet it is

	ucbvax.rusty at berkeley

If you can reach me via either network please let me know so I
can send you updated versions of the driver.

