summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-03-04 21:11:21 +0000
committerjkh <jkh@FreeBSD.org>1995-03-04 21:11:21 +0000
commitfb377011224d3ca2cc8b0c4cf7324b7a94629b31 (patch)
treee74ef7542072ec71095dbb0496791d1eac674c74 /sys/i386
parenta09fe2d23732f9ec6f4b73851ce89fae4346eb2d (diff)
downloadFreeBSD-src-fb377011224d3ca2cc8b0c4cf7324b7a94629b31.zip
FreeBSD-src-fb377011224d3ca2cc8b0c4cf7324b7a94629b31.tar.gz
Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs.
Make the sound configuration a little neater (see /sys/i386/isa/sound/Readme.freebsd) Add support for the Microsoft Sound Source. Document the sound options again. Submitted by: Sujal Patel <smpatel@wam.umd.edu> Obtained from: Voxware
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/conf/LINT29
-rw-r--r--sys/i386/conf/NOTES29
-rw-r--r--sys/i386/isa/sound/CHANGELOG2
-rw-r--r--sys/i386/isa/sound/README16
-rw-r--r--sys/i386/isa/sound/Readme.freebsd35
-rw-r--r--sys/i386/isa/sound/Readme.v30154
-rw-r--r--sys/i386/isa/sound/ad1848.c28
-rw-r--r--sys/i386/isa/sound/adlib_card.c1
-rw-r--r--sys/i386/isa/sound/audio.c1
-rw-r--r--sys/i386/isa/sound/dev_table.c1
-rw-r--r--sys/i386/isa/sound/dev_table.h6
-rw-r--r--sys/i386/isa/sound/dmabuf.c129
-rw-r--r--sys/i386/isa/sound/finetune.h1
-rw-r--r--sys/i386/isa/sound/gus_card.c7
-rw-r--r--sys/i386/isa/sound/gus_hw.h4
-rw-r--r--sys/i386/isa/sound/gus_linearvol.h3
-rw-r--r--sys/i386/isa/sound/gus_midi.c1
-rw-r--r--sys/i386/isa/sound/gus_vol.c2
-rw-r--r--sys/i386/isa/sound/gus_wave.c26
-rw-r--r--sys/i386/isa/sound/ics2101.c5
-rw-r--r--sys/i386/isa/sound/local.h97
-rw-r--r--sys/i386/isa/sound/midi_ctrl.h3
-rw-r--r--sys/i386/isa/sound/midi_synth.c1
-rw-r--r--sys/i386/isa/sound/midi_synth.h3
-rw-r--r--sys/i386/isa/sound/midibuf.c1
-rw-r--r--sys/i386/isa/sound/mpu401.c9
-rw-r--r--sys/i386/isa/sound/opl3.c27
-rw-r--r--sys/i386/isa/sound/opl3.h2
-rw-r--r--sys/i386/isa/sound/os.h2
-rw-r--r--sys/i386/isa/sound/pas.h6
-rw-r--r--sys/i386/isa/sound/pas2_card.c32
-rw-r--r--sys/i386/isa/sound/pas2_midi.c1
-rw-r--r--sys/i386/isa/sound/pas2_mixer.c40
-rw-r--r--sys/i386/isa/sound/pas2_pcm.c8
-rw-r--r--sys/i386/isa/sound/patmgr.c5
-rw-r--r--sys/i386/isa/sound/pss.c33
-rw-r--r--sys/i386/isa/sound/pss.h3
-rw-r--r--sys/i386/isa/sound/sb.h3
-rw-r--r--sys/i386/isa/sound/sb16_dsp.c13
-rw-r--r--sys/i386/isa/sound/sb16_midi.c6
-rw-r--r--sys/i386/isa/sound/sb_card.c1
-rw-r--r--sys/i386/isa/sound/sb_dsp.c14
-rw-r--r--sys/i386/isa/sound/sb_midi.c3
-rw-r--r--sys/i386/isa/sound/sb_mixer.c3
-rw-r--r--sys/i386/isa/sound/sb_mixer.h1
-rw-r--r--sys/i386/isa/sound/sequencer.c22
-rw-r--r--sys/i386/isa/sound/sound.doc87
-rw-r--r--sys/i386/isa/sound/sound_calls.h10
-rw-r--r--sys/i386/isa/sound/sound_config.h37
-rw-r--r--sys/i386/isa/sound/sound_switch.c1
-rw-r--r--sys/i386/isa/sound/sound_timer.c1
-rw-r--r--sys/i386/isa/sound/soundcard.c32
-rw-r--r--sys/i386/isa/sound/sys_timer.c1
-rw-r--r--sys/i386/isa/sound/tuning.h3
-rw-r--r--sys/i386/isa/sound/uart6850.c1
-rw-r--r--sys/i386/isa/sound/vat_audioio.h2
56 files changed, 556 insertions, 438 deletions
diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT
index 07080ab..f5fbc65 100644
--- a/sys/i386/conf/LINT
+++ b/sys/i386/conf/LINT
@@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
-# $Id: LINT,v 1.148 1995/03/01 22:27:45 dufault Exp $
+# $Id: LINT,v 1.149 1995/03/02 04:06:07 jkh Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@@ -19,7 +19,7 @@
machine "i386"
cpu "I386_CPU"
cpu "I486_CPU"
-cpu "I586_CPU" # a/k/a Pentium(tm)
+cpu "I586_CPU" # aka Pentium(tm)
#
# This is the ``identification'' of the kernel. Usually this should
@@ -321,7 +321,9 @@ controller isa0
# Options for `isa':
#
# ALLOW_CONFLICT_DRQ suppresses the DMA conflict checks. This option is
-# not known to be good for anything.
+# included so that people with sound cards that support multiple emulations
+# can setup different sound drivers on the same DMA channel. There are no
+# other known uses for this option.
#
# ALLOW_CONFLICT_IOADDR suppresses the I/O address conflict checks, so
# that the PS/2 mouse driver doesn't conflict with the console driver.
@@ -533,11 +535,26 @@ pseudo-device ispy 1
#
# Audio drivers: `snd', `pca'
#
-# snd: Voxware sound drivers for various cards (see file `sound.doc')
+# snd: Voxware sound drivers for various cards
+# see /usr/src/sys/i386/isa/sound/sound.doc for details
# pca: PCM audio through your PC speaker
#
-# Someday, Voxware configuration will be done properly.
-#
+
+options AUDIO_PAS
+options AUDIO_SB
+options AUDIO_ADLIB
+options AUDIO_GUS
+options AUDIO_MPU401
+options AUDIO_UART6850
+options AUDIO_PSS
+options AUDIO_GUS16
+options AUDIO_GUSMAX
+options AUDIO_MSS
+options AUDIO_SBPRO
+options AUDIO_SB16
+options AUDIO_YM3812
+
+device snd10 at isa? port 0x530 irq 10 drq 1 vector adintr
device snd5 at isa? port 0x330 irq 6 vector mpuintr
device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr
device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr
diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES
index 07080ab..f5fbc65 100644
--- a/sys/i386/conf/NOTES
+++ b/sys/i386/conf/NOTES
@@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
-# $Id: LINT,v 1.148 1995/03/01 22:27:45 dufault Exp $
+# $Id: LINT,v 1.149 1995/03/02 04:06:07 jkh Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@@ -19,7 +19,7 @@
machine "i386"
cpu "I386_CPU"
cpu "I486_CPU"
-cpu "I586_CPU" # a/k/a Pentium(tm)
+cpu "I586_CPU" # aka Pentium(tm)
#
# This is the ``identification'' of the kernel. Usually this should
@@ -321,7 +321,9 @@ controller isa0
# Options for `isa':
#
# ALLOW_CONFLICT_DRQ suppresses the DMA conflict checks. This option is
-# not known to be good for anything.
+# included so that people with sound cards that support multiple emulations
+# can setup different sound drivers on the same DMA channel. There are no
+# other known uses for this option.
#
# ALLOW_CONFLICT_IOADDR suppresses the I/O address conflict checks, so
# that the PS/2 mouse driver doesn't conflict with the console driver.
@@ -533,11 +535,26 @@ pseudo-device ispy 1
#
# Audio drivers: `snd', `pca'
#
-# snd: Voxware sound drivers for various cards (see file `sound.doc')
+# snd: Voxware sound drivers for various cards
+# see /usr/src/sys/i386/isa/sound/sound.doc for details
# pca: PCM audio through your PC speaker
#
-# Someday, Voxware configuration will be done properly.
-#
+
+options AUDIO_PAS
+options AUDIO_SB
+options AUDIO_ADLIB
+options AUDIO_GUS
+options AUDIO_MPU401
+options AUDIO_UART6850
+options AUDIO_PSS
+options AUDIO_GUS16
+options AUDIO_GUSMAX
+options AUDIO_MSS
+options AUDIO_SBPRO
+options AUDIO_SB16
+options AUDIO_YM3812
+
+device snd10 at isa? port 0x530 irq 10 drq 1 vector adintr
device snd5 at isa? port 0x330 irq 6 vector mpuintr
device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr
device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr
diff --git a/sys/i386/isa/sound/CHANGELOG b/sys/i386/isa/sound/CHANGELOG
index fcdbb8e..b04d7a8 100644
--- a/sys/i386/isa/sound/CHANGELOG
+++ b/sys/i386/isa/sound/CHANGELOG
@@ -52,7 +52,7 @@ Since 2.4
- MIDI recording for SB and SB Pro. (Untested).
- Some other fixes.
- SB16 MIDI and DSP drivers only initialized if SB16 actually installed.
-- Implemented better detection for OPL-3. This should be usefull if you
+- Implemented better detection for OPL-3. This should be useful if you
have an old SB Pro (the non-OPL-3 one) or a SB 2.0 clone which has a OPL-3.
- SVR4.2 support by Ian Hartas. Initial ALPHA TEST version (untested).
diff --git a/sys/i386/isa/sound/README b/sys/i386/isa/sound/README
index a4a0847..1c31ac6 100644
--- a/sys/i386/isa/sound/README
+++ b/sys/i386/isa/sound/README
@@ -38,14 +38,14 @@ Compatibility with the earlier versions
This version is backward compatible with the version 2.X. All programs
compiled with sys/soundcard.h of v2.X should work without problems.
PROGRAMS COMPILED WITH THE sys/soundcard.h OF THIS VERSION WILL NOT
-WORK WITH v2.X DRIVER. BE CAREFULL WHEN DISTRIBUTING BINARIES COMPILED
+WORK WITH v2.X DRIVER. BE CAREFUL WHEN DISTRIBUTING BINARIES COMPILED
FOR THIS VERSION.
Contributors
------------
This driver contains code by several contributors. In addition several other
-persons have given usefull suggestions. The following is a list of major
+persons have given useful suggestions. The following is a list of major
contributors. (I could have forgotten some names.)
Craig Metz 1/2 of the PAS16 Mixer and PCM support
@@ -74,7 +74,13 @@ Hannu Savolainen
hannu@voxware.pp.fi
Snail mail: Hannu Savolainen
- Pallaksentie 4 A 2
- 00970 Helsinki
+ Hiekkalaiturintie 3 A 8
+ 00980 Helsinki
Finland
-FAX: +358 0 395 1968 (usually not connected)
+FAX: +358 0 341 6272 (answers if I have my machine (mgetty) on).
+
+NOTE! I probably don't answer to Snail mail or FAX messages. Sending answer
+ to each of them is simply too expensive and time consuming. However I
+ try to reply every email message I get (within a week). If you don't
+ get response, please check how your address is written in the message
+ header. I can't answer if I don't have a valid reply address.
diff --git a/sys/i386/isa/sound/Readme.freebsd b/sys/i386/isa/sound/Readme.freebsd
new file mode 100644
index 0000000..ef389d5
--- /dev/null
+++ b/sys/i386/isa/sound/Readme.freebsd
@@ -0,0 +1,35 @@
+
+This driver was updated to VoxWare v3.0 pre-release and ad1848 support was
+enabled (since it works for me :)
+
+To configure the sound driver, some resemblene of one or more of these in your
+config file:
+
+device snd5 at isa? port 0x330 irq 6 vector mpuintr # MPU-401
+device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr # GUS
+device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr # PAS
+device snd2 at isa? port 0x220 irq 7 drq 1 vector sbintr # SB
+device snd6 at isa? port 0x220 irq 7 drq 5 vector sbintr # SB16 ?
+device snd7 at isa? port 0x300 # YM3812 ???
+device snd1 at isa? port 0x388 # ADLIB
+device snd10 at isa? port 0x530 irq 10 drq 1 vector adintr # MSS
+
+The add some of these (no need for EXCLUDE_BLAH anymore):
+
+options AUDIO_PAS
+options AUDIO_SB
+options AUDIO_ADLIB
+options AUDIO_GUS
+options AUDIO_MPU401
+options AUDIO_UART6850
+options AUDIO_PSS
+options AUDIO_GUS16
+options AUDIO_GUSMAX
+options AUDIO_MSS
+options AUDIO_SBPRO
+options AUDIO_SB16
+options AUDIO_YM3812
+
+
+
+-Sujal Patel (smpatel@wam.umd.edu)
diff --git a/sys/i386/isa/sound/Readme.v30 b/sys/i386/isa/sound/Readme.v30
new file mode 100644
index 0000000..cade461
--- /dev/null
+++ b/sys/i386/isa/sound/Readme.v30
@@ -0,0 +1,154 @@
+VoxWare v3.0
+------------
+
+This is a PROTOTYPE of the VoxWare v3.0 to be released late 94.
+
+All features of v2.5 should work as earlier. There could be some
+omissions but they are unintentional. I started this version thread
+after v2.3 so all features implemented before it are there.
+
+Even this is a prototype, there should not be any fatal bugs. The
+prototype just means that I don't have implemented all features
+completely. Mainly in the /dev/sequencer2 driver.
+For example recording from /dev/sequencer2 won't work
+with other cards than a full features MPU-401 or clones. As well the
+way how the MIDI controllers are handled will change.
+
+IMPORTANT!!!!!!!!!!!!!!!!!
+
+Don't distribute any binaries compiled with the soundcard.h of this version.
+They will not work together with older drivers.
+
+New features
+============
+
+There are now two new device interfaces. The /dev/midi## is a raw
+tty like interface to MIDI ports. There is a device file for each MIDI
+port on your system. They are named (/dev/midi00 to /dev/midiNN).
+The second addition is the /dev/sequencer2 which is higher level interface
+than the old /dev/sequencer. It's intended for writing device independent
+applications like sequencers.
+
+/dev/midi##
+-----------
+
+This interface should be useful for applications like MIDI sysex librarians.
+There are (currently) no timing features so making music could be impossible.
+
+There are as many /dev/midi## devices as there are MIDI ports in the system.
+The /dev/midi00 is connected to the first one, /dev/midi01 to the second etc.
+
+These devices work like tty devices in raw mode. Everything written to them is
+sent out to the MIDI port. There is currently an extra delay of at most
+1/100th of sec but it will be removed later.
+
+The reading algorithm is little bit more complicated. There are two different
+cases:
+
+1) There is at least one byte in the input buffer.
+
+The read returns as many bytes as it can without waiting for more bytes.
+For example when a process reads 100 bytes and there are 10 bytes in the
+buffer, the read returns just 10 bytes.
+
+2) The input buffer is empty when the process calls read.
+
+The read waits for the first byte and then continues as in case 1. By
+default it waits infinitely but there is an ioctl for setting a timeout
+for this. The ioctl(fd, SNDCTL_MIDI_PRETIME, &time) changes the timeout.
+The time is given in 1/10th of seconds (10 means one second).
+
+Other ioctl calls:
+
+ioctl(fd, SNDCTL_MIDI_MPUMODE, &mode) is available for full MPU-401
+compatible devices such as MPU-IPC-T, MQ PC Midi Card or MQX-32.
+It's not available for the so called MPU UART ports of some soundcards
+(PAS16, SB16 etc). By default the MIDI port is in UART mode after open.
+If this ioctl is called with mode=1, the interface is put to the intelligent
+(coprocessor) mode. NOTE! The MIDI port will be reset when this ioctl is called.
+It could have some strange effects if not called immediately after open. This
+call returns EINVAL if the midi port doesn't support the MPU-401 intelligent
+mode.
+
+ioctl(fd, SNDCTL_MIDI_MPUCMD, &cmdstruct) is valid only if the MIDI port
+is put to the coprocessor mode using ioctl(SNDCTL_MIDI_MPUMODE). It's used to
+send commands to a MPU-401 compatible MIDI cards. Please refer to the
+MPU-401 Technical Reference Manual (or Music Quest Technical Reference
+Manual) for descriptions of the commands.
+
+The argument of SNDCTL_MIDI_MPUCOMMAND is of type mpu_command_rec. It
+has the following fields:
+
+typedef struct {
+ unsigned char cmd;
+
+ char nr_args, nr_returns;
+ unsigned char data[30];
+ } mpu_command_rec;
+
+where:
+ cmd Contains the command number.
+ nr_args Number of arguments of the command.
+ MUST BE INITIALIZED BEFORE CALL
+ nr_returns Number of bytes returned by the command.
+ MUST BE INITIALIZED BEFORE CALL
+ data Buffer for the command arguments and returned
+ data.
+
+Be extremely careful with the nr_args and nr_returns fields. They
+must match the command. An incorrect value will put the card and
+the driver out of sync. Refer to the MPU-401/MQX-32M documentation for further
+details.
+
+
+
+/dev/sequencer2 (if you find a better name, please let me know).
+---------------
+
+This device file works much like the /dev/sequencer which has been present
+since the beginning. The main differences are the following:
+
+- /dev/sequencer makes the MIDI ports to look like the synth devices. In fact
+the result is somewhere between the MIDI specification and the synth devices of
+/dev/sequencer. Both kind of devices are accessed using the SEQ_START_NOTE()
+like macros. The voice number parameters of the API macros have been redefined
+to denote MIDI channels. This means that the driver allocates voices for
+the channels automatically (this is a responsibility/right of an application
+with /dev/sequencer). The result is that a SEQ_START_NOTE() macro has
+similar effects for a synth channel than on a MIDI port. This kind of
+solution provides better device independence than the /dev/sequencer. The
+drawback is that the new interface doesn't permit so low level access to the
+device as the /dev/sequencer does. An application developer must choose between
+these two interfaces. I think the old /dev/sequencer is better for applications
+like module players while the new one is better for making generic sequencer
+programs.
+
+- There are no separate MIDI devices with the /dev/sequencer2. The
+ioctl(SNDCTL_SEQ_NRMIDIS) returns always zero. Instead the MIDI ports are
+shown as synth devices. ioctl(SNDCTL_SEQ_NRSYNTHS) on /dev/sequencer2 will
+return sum of internal synthesizers (GUS, OPL3) and MIDI ports in the systems.
+
+- The new interface is used much like the ordinary /dev/sequencer. The
+event format is new so you have to use the API macros defined in the
+sys/soundcard.h. The interface will probably change before the final 3.0
+release but using the API macros should ensure compatibility in source level.
+The new event format is not recognized by version 2.X so don't try to
+distribute binaries compiled with soundcard.h of v3.X.
+
+- The basic API usage is similar to the current one. There are some new
+macros but the older ones should work as earlier. The most important
+incompatibility is that the /dev/sequencer2 driver allocates voices itself.
+The other one is that the application must send SEQ_START_TIMER() as it's
+first event. Otherwise the timer is not started and the application waits
+infinitely.
+
+
+There are several new features but I don't document them here. There are
+some info in the soundcard.h (near the end). I have also included some
+sample code in the directory v30. Full documentation will
+appear in the Hacker's Guide later.
+
+Don't hesitate to contact me in case you have questions or comments.
+
+Hannu Savolainen
+hannu@voxware.pp.fi
diff --git a/sys/i386/isa/sound/ad1848.c b/sys/i386/isa/sound/ad1848.c
index 4ee4dfa..ec9e93e 100644
--- a/sys/i386/isa/sound/ad1848.c
+++ b/sys/i386/isa/sound/ad1848.c
@@ -29,7 +29,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ad1848.c,v 1.2 1994/10/01 02:16:28 swallace Exp $
*/
#define DEB(x)
@@ -72,8 +71,9 @@ static char irq2dev[16] =
{-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1};
-static int ad_format_mask[2 /*devc->mode*/ ] =
+static int ad_format_mask[3 /*devc->mode*/ ] =
{
+ 0,
AFMT_U8 | AFMT_S16_LE | AFMT_MU_LAW | AFMT_A_LAW,
AFMT_U8 | AFMT_S16_LE | AFMT_MU_LAW | AFMT_A_LAW | AFMT_U16_LE | AFMT_IMA_ADPCM
};
@@ -209,7 +209,7 @@ ad1848_open (int dev, int mode)
}
if (devc->irq) /* Not managed by another driver */
- if ((err = snd_set_irq_handler (devc->irq, ad1848_interrupt)) < 0)
+ if ((err = snd_set_irq_handler (devc->irq, adintr)) < 0)
{
printk ("ad1848: IRQ in use\n");
RESTORE_INTR (flags);
@@ -254,7 +254,7 @@ static int
set_speed (ad1848_info * devc, int arg)
{
/*
- * The sampling speed is encoded in the least significant nible of I8. The
+ * The sampling speed is encoded in the least significant nibble of I8. The
* LSB selects the clock source (0=24.576 MHz, 1=16.9344 Mhz) and other
* three bits select the divisor (indirectly):
*
@@ -602,7 +602,7 @@ ad1848_prepare_for_IO (int dev, int bsize, int bcount)
ad_write (devc, 8, fs);
/*
- * Write to I8 starts resyncronization. Wait until it completes.
+ * Write to I8 starts resynchronization. Wait until it completes.
*/
timeout = 10000;
while (timeout > 0 && INB (devc->base) == 0x80)
@@ -624,7 +624,7 @@ ad1848_prepare_for_IO (int dev, int bsize, int bcount)
ad_write (devc, 28, fs);
/*
- * Write to I28 starts resyncronization. Wait until it completes.
+ * Write to I28 starts resynchronization. Wait until it completes.
*/
timeout = 10000;
while (timeout > 0 && INB (devc->base) == 0x80)
@@ -660,7 +660,7 @@ int
ad1848_detect (int io_base)
{
-#define SDDB(x) x
+#define AUDIO_DDB(x) x
unsigned char tmp;
int i;
@@ -691,7 +691,7 @@ ad1848_detect (int io_base)
if ((INB (devc->base) & 0x80) != 0x00) /* Not a AD1884 */
{
- SDDB (printk ("ad_detect_A\n"));
+ AUDIO_DDB (printk ("ad_detect_A\n"));
return 0;
}
@@ -706,7 +706,7 @@ ad1848_detect (int io_base)
if ((tmp1 = ad_read (devc, 0)) != 0xaa || (tmp2 = ad_read (devc, 1)) != 0x45)
{
- SDDB (printk ("ad_detect_B (%x/%x)\n", tmp1, tmp2));
+ AUDIO_DDB (printk ("ad_detect_B (%x/%x)\n", tmp1, tmp2));
return 0;
}
@@ -715,7 +715,7 @@ ad1848_detect (int io_base)
if ((tmp1 = ad_read (devc, 0)) != 0x45 || (tmp2 = ad_read (devc, 1)) != 0xaa)
{
- SDDB (printk ("ad_detect_C (%x/%x)\n", tmp1, tmp2));
+ AUDIO_DDB (printk ("ad_detect_C (%x/%x)\n", tmp1, tmp2));
return 0;
}
@@ -729,7 +729,7 @@ ad1848_detect (int io_base)
if ((tmp & 0x0f) != ((tmp1 = ad_read (devc, 12)) & 0x0f))
{
- SDDB (printk ("ad_detect_D (%x)\n", tmp1));
+ AUDIO_DDB (printk ("ad_detect_D (%x)\n", tmp1));
return 0;
}
@@ -750,7 +750,7 @@ ad1848_detect (int io_base)
for (i = 0; i < 16; i++)
if ((tmp1 = ad_read (devc, i)) != (tmp2 = ad_read (devc, i + 16)))
{
- SDDB (printk ("ad_detect_F(%d/%x/%x)\n", i, tmp1, tmp2));
+ AUDIO_DDB (printk ("ad_detect_F(%d/%x/%x)\n", i, tmp1, tmp2));
return 0;
}
@@ -781,7 +781,7 @@ ad1848_detect (int io_base)
ad_write (devc, 0, 0xaa);
if ((tmp1 = ad_read (devc, 16)) == 0xaa) /* Rotten bits? */
{
- SDDB (printk ("ad_detect_H(%x)\n", tmp1));
+ AUDIO_DDB (printk ("ad_detect_H(%x)\n", tmp1));
return 0;
}
@@ -865,7 +865,7 @@ ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture
}
void
-ad1848_interrupt (int irq)
+adintr (int irq)
{
unsigned char status;
ad1848_info *devc;
diff --git a/sys/i386/isa/sound/adlib_card.c b/sys/i386/isa/sound/adlib_card.c
index 36c2f5e..6365069 100644
--- a/sys/i386/isa/sound/adlib_card.c
+++ b/sys/i386/isa/sound/adlib_card.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/audio.c b/sys/i386/isa/sound/audio.c
index 0453bec..d5a4acc 100644
--- a/sys/i386/isa/sound/audio.c
+++ b/sys/i386/isa/sound/audio.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: audio.c,v 1.5 1994/08/02 07:39:44 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/dev_table.c b/sys/i386/isa/sound/dev_table.c
index f313b8c..1eb57bb 100644
--- a/sys/i386/isa/sound/dev_table.c
+++ b/sys/i386/isa/sound/dev_table.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: dev_table.c,v 1.5 1994/08/02 07:39:46 davidg Exp $
*/
#define _DEV_TABLE_C_
diff --git a/sys/i386/isa/sound/dev_table.h b/sys/i386/isa/sound/dev_table.h
index 39b4e62..12b20ba 100644
--- a/sys/i386/isa/sound/dev_table.h
+++ b/sys/i386/isa/sound/dev_table.h
@@ -26,8 +26,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: dev_table.h,v 1.8 1994/10/01 02:16:33 swallace Exp $
- */
+
+*/
#ifndef _DEV_TABLE_H_
#define _DEV_TABLE_H_
@@ -237,7 +237,7 @@ struct sound_timer_operations {
#ifndef EXCLUDE_SB
{SNDCARD_SB, "SoundBlaster", attach_sb_card, probe_sb},
#endif
-#if !defined(EXCLUDE_SB) && !defined(EXCLUDE_SB16) && !defined(EXCLUDE_SBPRO)
+#if !defined(EXCLUDE_SB) && !defined(EXCLUDE_SB16)
#ifndef EXCLUDE_AUDIO
{SNDCARD_SB16, "SoundBlaster16", sb16_dsp_init, sb16_dsp_detect},
#endif
diff --git a/sys/i386/isa/sound/dmabuf.c b/sys/i386/isa/sound/dmabuf.c
index fca7006..10ab0ba 100644
--- a/sys/i386/isa/sound/dmabuf.c
+++ b/sys/i386/isa/sound/dmabuf.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: dmabuf.c,v 1.10 1994/11/01 17:26:49 ache Exp $
*/
#include "sound_config.h"
@@ -33,19 +32,16 @@
#ifdef CONFIGURE_SOUNDCARD
#include "sound_calls.h"
-#ifdef __FreeBSD__
-extern struct selinfo selinfo[SND_NDEVS>>4];
-#endif
#if !defined(EXCLUDE_AUDIO) || !defined(EXCLUDE_GUS)
DEFINE_WAIT_QUEUES (dev_sleeper[MAX_AUDIO_DEV], dev_sleep_flag[MAX_AUDIO_DEV]);
static struct dma_buffparms dmaps[MAX_AUDIO_DEV] =
-{0}; /*
+{{0}}; /*
* Primitive way to allocate
* such a large array.
- * Needs dynamic run-time alloction.
+ * Needs dynamic run-time allocation.
*/
static void
@@ -82,7 +78,7 @@ reorganize_buffers (int dev)
sz = sr * nc * sz;
/*
- * Compute a buffer size for time not exeeding 1 second.
+ * Compute a buffer size for time not exceeding 1 second.
* Usually this algorithm gives a buffer size for 0.5 to 1.0 seconds
* of sound (using the current speed, sample size and #channels).
*/
@@ -110,8 +106,8 @@ reorganize_buffers (int dev)
else
{
/*
- * The process has specified the buffer sice with SNDCTL_DSP_SETFRAGMENT or
- * the buffer sice computation has already been done.
+ * The process has specified the buffer size with SNDCTL_DSP_SETFRAGMENT or
+ * the buffer size computation has already been done.
*/
if (dmap->fragment_size > audio_devs[dev]->buffsize)
dmap->fragment_size = audio_devs[dev]->buffsize;
@@ -298,10 +294,11 @@ DMAbuf_release (int dev, int mode)
return 0;
}
-static int
-DMAbuf_start_input(int dev)
+int
+DMAbuf_getrdbuffer (int dev, char **buf, int *len)
{
unsigned long flags;
+ int err = EIO;
struct dma_buffparms *dmap = audio_devs[dev]->dmap;
DISABLE_INTR (flags);
@@ -323,7 +320,7 @@ DMAbuf_start_input(int dev)
if (!(dmap->flags & DMA_ALLOC_DONE))
reorganize_buffers (dev);
- if (dmap->dma_mode)
+ if (!dmap->dma_mode)
{
int err;
@@ -344,32 +341,14 @@ DMAbuf_start_input(int dev)
!(dmap->flags & DMA_STARTED));
dmap->flags |= DMA_ACTIVE | DMA_STARTED;
}
- }
- RESTORE_INTR (flags);
-
- return 0;
-}
-
-int
-DMAbuf_getrdbuffer (int dev, char **buf, int *len)
-{
- unsigned long flags;
- int err = EIO;
- struct dma_buffparms *dmap = audio_devs[dev]->dmap;
-
- DISABLE_INTR (flags);
- if (!dmap->qlen)
- {
- if(err = DMAbuf_start_input(dev))
- return err;
/* Wait for the next block */
- err = EIO;
DO_SLEEP (dev_sleeper[dev], dev_sleep_flag[dev], 2 * HZ);
if (TIMED_OUT (dev_sleeper[dev], dev_sleep_flag[dev]))
{
printk ("Sound: DMA timed out - IRQ/DRQ config error?\n");
+ err = EIO;
SET_ABORT_FLAG (dev_sleeper[dev], dev_sleep_flag[dev]);
}
else
@@ -433,20 +412,6 @@ DMAbuf_ioctl (int dev, unsigned int cmd, unsigned int arg, int local)
return IOCTL_OUT (arg, dmap->fragment_size);
break;
- case SNDCTL_DSP_SETBLKSIZE:
- {
- int size = IOCTL_IN (arg);
-
- if(!(dmap->flags & DMA_ALLOC_DONE) && size)
- {
- dmap->fragment_size = size;
- return 0;
- }
- else
- return RET_ERROR (EINVAL); /* Too late to change */
- }
- break;
-
case SNDCTL_DSP_SUBDIVIDE:
{
int fact = IOCTL_IN (arg);
@@ -460,7 +425,7 @@ DMAbuf_ioctl (int dev, unsigned int cmd, unsigned int arg, int local)
}
if (dmap->subdivision != 0 ||
- dmap->fragment_size)/* Loo late to change */
+ dmap->fragment_size)/* Too late to change */
return RET_ERROR (EINVAL);
if (fact > MAX_REALTIME_FACTOR)
@@ -483,7 +448,7 @@ DMAbuf_ioctl (int dev, unsigned int cmd, unsigned int arg, int local)
return RET_ERROR (EIO);
if (dmap->subdivision != 0 ||
- dmap->fragment_size)/* Loo late to change */
+ dmap->fragment_size)/* Too late to change */
return RET_ERROR (EINVAL);
bytes = fact & 0xffff;
@@ -517,7 +482,6 @@ DMAbuf_ioctl (int dev, unsigned int cmd, unsigned int arg, int local)
return audio_devs[dev]->ioctl (dev, cmd, arg, local);
}
- /* NOTREACHED */
return RET_ERROR (EIO);
}
@@ -818,10 +782,6 @@ DMAbuf_outputintr (int dev, int event_type)
WAKE_UP (dev_sleeper[dev], dev_sleep_flag[dev]);
}
RESTORE_INTR (flags);
-#ifdef __FreeBSD__
- if(selinfo[dev].si_pid)
- selwakeup(&selinfo[dev]);
-#endif
}
void
@@ -861,10 +821,6 @@ DMAbuf_inputintr (int dev)
WAKE_UP (dev_sleeper[dev], dev_sleep_flag[dev]);
}
RESTORE_INTR (flags);
-#ifdef __FreeBSD__
- if(selinfo[dev].si_pid)
- selwakeup(&selinfo[dev]);
-#endif
}
int
@@ -904,49 +860,6 @@ DMAbuf_reset_dma (int chan)
}
/*
- * Used by unix select system call to see if data is ready.
- */
-int
-DMAbuf_output_ready(int dev)
-{
- struct dma_buffparms *dmap = audio_devs[dev]->dmap;
-
- if (!(dmap->flags & DMA_ALLOC_DONE))
- reorganize_buffers (dev);
- return space_in_queue (dev);
-}
-int
-DMAbuf_input_ready(int dev)
-{
- int h,i,r;
- struct dma_buffparms *dmap = audio_devs[dev]->dmap;
-
- r = 0;
- if(dmap->qlen)
- {
- if(dmap->fragment_size)
- {
- for(i=0; i<dmap->qlen; i++)
- {
- h = (dmap->qhead + i) % dmap->nbufs;
- r += dmap->fragment_size - dmap->counts[h];
- if(r >= dmap->fragment_size)
- break;
- }
- if(r < dmap->fragment_size)
- r = 0;
- else
- r = 1;
- }
- else
- r = 1;
- }
- else
- DMAbuf_start_input(dev);
-
- return(r);
-}
-/*
* The sound_mem_init() is called by mem_init() immediately after mem_map is
* initialized and before free_page_list is created.
*
@@ -972,24 +885,6 @@ DMAbuf_release (int dev, int mode)
}
int
-DMAbuf_start_input (int dev)
-{
- return RET_ERROR (EIO);
-}
-
-int
-DMAbuf_input_ready (int dev)
-{
- return 0;
-}
-
-int
-DMAbuf_output_ready (int dev)
-{
- return 0;
-}
-
-int
DMAbuf_getwrbuffer (int dev, char **buf, int *size)
{
return RET_ERROR (EIO);
diff --git a/sys/i386/isa/sound/finetune.h b/sys/i386/isa/sound/finetune.h
index 59e76fe..b86a0eb 100644
--- a/sys/i386/isa/sound/finetune.h
+++ b/sys/i386/isa/sound/finetune.h
@@ -23,7 +23,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
*/
unsigned short finetune_table[128] =
diff --git a/sys/i386/isa/sound/gus_card.c b/sys/i386/isa/sound/gus_card.c
index 62df65b..1e2449d 100644
--- a/sys/i386/isa/sound/gus_card.c
+++ b/sys/i386/isa/sound/gus_card.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: gus_card.c,v 1.10 1994/10/14 09:01:20 jkh Exp $
*/
#include "sound_config.h"
@@ -34,6 +33,8 @@
#include "gus_hw.h"
+void gusintr (int);
+
int gus_base, gus_irq, gus_dma;
extern int gus_wave_volume;
extern int gus_pcm_volume;
@@ -127,7 +128,7 @@ gusintr (int irq)
#ifndef EXCLUDE_GUSMAX
if (have_gus_max)
- ad1848_interrupt (irq);
+ adintr (irq);
#endif
while (1)
@@ -179,10 +180,8 @@ probe_gus_db16 (struct address_info *hw_config)
long
attach_gus_db16 (long mem_start, struct address_info *hw_config)
{
-#if !defined(EXCLUDE_GUS)
gus_pcm_volume = 100;
gus_wave_volume = 90;
-#endif
ad1848_init ("GUS 16 bit sampling", hw_config->io_base,
hw_config->irq,
diff --git a/sys/i386/isa/sound/gus_hw.h b/sys/i386/isa/sound/gus_hw.h
index b3dc32f..f97a0b8 100644
--- a/sys/i386/isa/sound/gus_hw.h
+++ b/sys/i386/isa/sound/gus_hw.h
@@ -1,6 +1,4 @@
-/*
- * $Id$
- */
+
/*
* I/O addresses
*/
diff --git a/sys/i386/isa/sound/gus_linearvol.h b/sys/i386/isa/sound/gus_linearvol.h
index 6e41f09..7ad0c30 100644
--- a/sys/i386/isa/sound/gus_linearvol.h
+++ b/sys/i386/isa/sound/gus_linearvol.h
@@ -1,6 +1,3 @@
-/*
- * $Id$
- */
static unsigned short gus_linearvol[128] = {
0x0000, 0x08ff, 0x09ff, 0x0a80, 0x0aff, 0x0b40, 0x0b80, 0x0bc0,
0x0bff, 0x0c20, 0x0c40, 0x0c60, 0x0c80, 0x0ca0, 0x0cc0, 0x0ce0,
diff --git a/sys/i386/isa/sound/gus_midi.c b/sys/i386/isa/sound/gus_midi.c
index 94a856f..87aea62 100644
--- a/sys/i386/isa/sound/gus_midi.c
+++ b/sys/i386/isa/sound/gus_midi.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: gus_midi.c,v 1.5 1994/08/02 07:39:58 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/gus_vol.c b/sys/i386/isa/sound/gus_vol.c
index 07c2c6e..055a117 100644
--- a/sys/i386/isa/sound/gus_vol.c
+++ b/sys/i386/isa/sound/gus_vol.c
@@ -2,8 +2,6 @@
* gus_vol.c - Compute volume for GUS.
*
* Greg Lee 1993.
- *
- * $Id: gus_vol.c,v 1.4 1994/08/02 07:39:59 davidg Exp $
*/
#include "sound_config.h"
#ifndef EXCLUDE_GUS
diff --git a/sys/i386/isa/sound/gus_wave.c b/sys/i386/isa/sound/gus_wave.c
index f24365b..f050725 100644
--- a/sys/i386/isa/sound/gus_wave.c
+++ b/sys/i386/isa/sound/gus_wave.c
@@ -25,20 +25,12 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: gus_wave.c,v 1.10 1994/10/01 02:16:42 swallace Exp $
*/
#include "sound_config.h"
-#ifdef __FreeBSD__
#include <machine/ultrasound.h>
-#else
-#include "ultrasound.h"
-#endif
#include "gus_hw.h"
-#undef OUTB
-#define OUTB(val, port) outb(port, val)
-
#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_GUS)
#define MAX_SAMPLE 128
@@ -789,7 +781,7 @@ gus_initialize (void)
gus_select_voice (0); /* This disables writes to IRQ/DMA reg */
- gusintr (0); /* Serve pending interrupts */
+ gusintr (0,NULL); /* Serve pending interrupts */
RESTORE_INTR (flags);
}
@@ -2546,7 +2538,7 @@ guswave_patchmgr (int dev, struct patmgr_info *rec)
*/
offs += sample_ptrs[sample]; /*
- * Begin offsess + offset to DRAM
+ * Begin offset + offset to DRAM
*/
for (n = 0; n < l; n++)
@@ -2591,7 +2583,7 @@ guswave_patchmgr (int dev, struct patmgr_info *rec)
*/
offs += sample_ptrs[sample]; /*
- * Begin offsess + offset to DRAM
+ * Begin offset + offset to DRAM
*/
for (n = 0; n < l; n++)
@@ -2944,11 +2936,7 @@ gus_wave_init (long mem_start, int irq, int dma)
}
-#ifdef __FreeBSD__
- printk ("snd4: <Gravis UltraSound %s (%dk)>", model_num, (int) gus_mem_size / 1024);
-#else /* __FreeBSD__ */
printk (" <Gravis UltraSound %s (%dk)>", model_num, (int) gus_mem_size / 1024);
-#endif /* __FreeBSD__ */
#ifndef SCO
sprintf (gus_info.name, "Gravis UltraSound %s (%dk)", model_num, (int) gus_mem_size / 1024);
@@ -2988,12 +2976,7 @@ gus_wave_init (long mem_start, int irq, int dma)
{
audio_devs[gus_devnum = num_audiodevs++] = &gus_sampling_operations;
audio_devs[gus_devnum]->dmachan = dma;
-#ifndef NO_AUTODMA
audio_devs[gus_devnum]->buffcount = 1;
-#else
- audio_devs[gus_devnum]->flags &= ~DMA_AUTOMODE;
- audio_devs[gus_devnum]->buffcount = DSP_BUFFCOUNT;
-#endif
audio_devs[gus_devnum]->buffsize = DSP_BUFFSIZE;
}
else
@@ -3069,7 +3052,6 @@ do_loop_irq (int voice)
pcm_active = 0; /* Signal to the play_next_pcm_block routine */
case LMODE_PCM:
{
- int orig_qlen = pcm_qlen;
int flag; /* 0 or 2 */
pcm_qlen--;
@@ -3085,7 +3067,7 @@ do_loop_irq (int voice)
pcm_active = 0;
}
- /*
+/*
* If the queue was full before this interrupt, the DMA transfer was
* suspended. Let it continue now.
*/
diff --git a/sys/i386/isa/sound/ics2101.c b/sys/i386/isa/sound/ics2101.c
index 899c94e..c2f1d21 100644
--- a/sys/i386/isa/sound/ics2101.c
+++ b/sys/i386/isa/sound/ics2101.c
@@ -25,17 +25,12 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ics2101.c,v 1.3 1994/08/02 07:40:05 davidg Exp $
*/
#include "sound_config.h"
#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_GUS)
-#ifdef __FreeBSD__
#include <machine/ultrasound.h>
-#else
-#include "ultrasound.h"
-#endif
#include "gus_hw.h"
#define MIX_DEVS (SOUND_MASK_MIC|SOUND_MASK_LINE| \
diff --git a/sys/i386/isa/sound/local.h b/sys/i386/isa/sound/local.h
index b7fba6d..43ca03e 100644
--- a/sys/i386/isa/sound/local.h
+++ b/sys/i386/isa/sound/local.h
@@ -1,6 +1,6 @@
/* for FreeBSD */
/*
- * $Id: local.h,v 1.10 1994/10/01 02:16:44 swallace Exp $
+ * local.h,v 1.11 1994/11/01 17:26:50 ache Exp
*/
#include "snd.h"
@@ -21,9 +21,94 @@
#endif
#define DSP_BUFFSIZE 65536
-#define SELECTED_SOUND_OPTIONS 0xffffffff
+#define SELECTED_SOUND_OPTIONS 0xffffffff
#define SOUND_VERSION_STRING "2.90-2"
-#define SOUND_CONFIG_DATE "Thu Sep 29 15:33:39 PDT 1994"
-#define SOUND_CONFIG_BY "swallace"
-#define SOUND_CONFIG_HOST "pal-r32-a07b.slip.nts.uci.edu"
-#define SOUND_CONFIG_DOMAIN ""
+#define SOUND_CONFIG_DATE "Sun Feb 5 14:38:12 EST 1995"
+#define SOUND_CONFIG_BY "smpatel"
+#define SOUND_CONFIG_HOST "xi.dorm.umd.edu"
+#define SOUND_CONFIG_DOMAIN "dorm.umd.edu"
+
+
+/* Reversed the VoxWare EXCLUDE options -Sujal Patel (smpatel@wam.umd.edu) */
+
+#ifndef EXCLUDE_PAS
+#define EXCLUDE_PAS
+#endif
+#ifndef EXCLUDE_SB
+#define EXCLUDE_SB
+#endif
+#ifndef EXCLUDE_ADLIB
+#define EXCLUDE_ADLIB
+#endif
+#ifndef EXCLUDE_GUS
+#define EXCLUDE_GUS
+#endif
+#ifndef EXCLUDE_MPU401
+#define EXCLUDE_MPU401
+#endif
+#ifndef EXCLUDE_UART6850
+#define EXCLUDE_UART6850
+#endif
+#ifndef EXCLUDE_PSS
+#define EXCLUDE_PSS
+#endif
+#ifndef EXCLUDE_GUS16
+#define EXCLUDE_GUS16
+#endif
+#ifndef EXCLUDE_GUSMAX
+#define EXCLUDE_GUSMAX
+#endif
+#ifndef EXCLUDE_MSS
+#define EXCLUDE_MSS
+#endif
+#ifndef EXCLUDE_SBPRO
+#define EXCLUDE_SBPRO
+#endif
+#ifndef EXCLUDE_SB16
+#define EXCLUDE_SB16
+#endif
+#ifndef EXCLUDE_YM3812
+#define EXCLUDE_YM3812
+#endif
+
+#ifdef AUDIO_PAS
+#undef EXCLUDE_PAS
+#endif
+#ifdef AUDIO_SB
+#undef EXCLUDE_SB
+#endif
+#ifdef AUDIO_ADLIB
+#undef EXCLUDE_ADLIB
+#endif
+#ifdef AUDIO_GUS
+#undef EXCLUDE_GUS
+#endif
+#ifdef AUDIO_MPU401
+#undef EXCLUDE_MPU401
+#endif
+#ifdef AUDIO_UART6850
+#undef EXCLUDE_UART6850
+#endif
+#ifdef AUDIO_PSS
+#undef EXCLUDE_PSS
+#endif
+#ifdef AUDIO_GUS16
+#undef EXCLUDE_GUS16
+#endif
+#ifdef AUDIO_GUSMAX
+#undef EXCLUDE_GUSMAX
+#endif
+#ifdef AUDIO_MSS
+#undef EXCLUDE_MSS
+#endif
+#ifdef AUDIO_SBPRO
+#undef EXCLUDE_SBPRO
+#undef EXCLUDE_SB
+#endif
+#ifdef AUDIO_SB16
+#undef EXCLUDE_SB16
+#undef EXCLUDE_SB
+#endif
+#ifdef AUDIO_YM3812
+#undef EXCLUDE_YM3812
+#endif
diff --git a/sys/i386/isa/sound/midi_ctrl.h b/sys/i386/isa/sound/midi_ctrl.h
index c7fdd0b..616b591 100644
--- a/sys/i386/isa/sound/midi_ctrl.h
+++ b/sys/i386/isa/sound/midi_ctrl.h
@@ -1,6 +1,3 @@
-/*
- * $Id: midi_ctrl.c,v 1.7 1994/09/27 17:58:24 davidg Exp $
- */
static unsigned char ctrl_def_values[128] =
{
0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, /* 0 to 7 */
diff --git a/sys/i386/isa/sound/midi_synth.c b/sys/i386/isa/sound/midi_synth.c
index 98f2672..fd6d8bd 100644
--- a/sys/i386/isa/sound/midi_synth.c
+++ b/sys/i386/isa/sound/midi_synth.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/midi_synth.h b/sys/i386/isa/sound/midi_synth.h
index e22bd5e..04075e2 100644
--- a/sys/i386/isa/sound/midi_synth.h
+++ b/sys/i386/isa/sound/midi_synth.h
@@ -1,6 +1,3 @@
-/*
- * $Id: $
- */
int midi_synth_ioctl (int dev,
unsigned int cmd, unsigned int arg);
int midi_synth_kill_note (int dev, int channel, int note, int velocity);
diff --git a/sys/i386/isa/sound/midibuf.c b/sys/i386/isa/sound/midibuf.c
index 74067b6..ae0ddc3 100644
--- a/sys/i386/isa/sound/midibuf.c
+++ b/sys/i386/isa/sound/midibuf.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: midibuf.c,v 1.5 1994/08/02 07:40:10 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/mpu401.c b/sys/i386/isa/sound/mpu401.c
index 3728de5..40be066 100644
--- a/sys/i386/isa/sound/mpu401.c
+++ b/sys/i386/isa/sound/mpu401.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: mpu401.c,v 1.8 1994/08/02 07:40:12 davidg Exp $
*/
#define USE_SEQ_MACROS
@@ -1049,11 +1048,7 @@ attach_mpu401 (long mem_start, struct address_info *hw_config)
MPU_CAP_CLS | MPU_CAP_2PORT;
revision_char = (devc->revision == 0x7f) ? 'M' : ' ';
-#ifdef __FreeBSD__
- printk ("snd5: <MQX-%d%c MIDI Interface>",
-#else
printk (" <MQX-%d%c MIDI Interface>",
-#endif
ports,
revision_char);
#ifndef SCO
@@ -1073,11 +1068,7 @@ attach_mpu401 (long mem_start, struct address_info *hw_config)
devc->capabilities |= MPU_CAP_SYNC | MPU_CAP_FSK;
-#ifdef __FreeBSD__
- printk ("snd5: <MPU-401 MIDI Interface %d.%d%c>",
-#else
printk (" <MPU-401 MIDI Interface %d.%d%c>",
-#endif
(devc->version & 0xf0) >> 4,
devc->version & 0x0f,
revision_char);
diff --git a/sys/i386/isa/sound/opl3.c b/sys/i386/isa/sound/opl3.c
index 00c27f2..0acd0c6 100644
--- a/sys/i386/isa/sound/opl3.c
+++ b/sys/i386/isa/sound/opl3.c
@@ -25,11 +25,12 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: opl3.c,v 1.6 1994/08/02 07:40:13 davidg Exp $
*/
/*
* Major improvements to the FM handling 30AUG92 by Rob Hooft,
+ */
+/*
* hooft@chem.ruu.nl
*/
@@ -1174,11 +1175,7 @@ opl3_init (long mem_start)
opl3_ok = 1;
if (opl3_enabled)
{
-#ifdef __FreeBSD__
- printk ("snd1: <Yamaha OPL-3 FM>");
-#else
printk (" <Yamaha OPL-3 FM>");
-#endif
fm_model = 2;
voice_alloc->max_voice = nr_voices = 18;
fm_info.nr_drums = 0;
@@ -1193,19 +1190,23 @@ opl3_init (long mem_start)
else
physical_voices[i].ioaddr = right_address;
- /* Enable OPL-3 mode */
- opl3_command (right_address, OPL3_MODE_REGISTER, OPL3_ENABLE);
- /* Select all 2-OP voices */
- opl3_command (right_address, CONNECTION_SELECT_REGISTER, 0x00);
+ opl3_command (right_address, OPL3_MODE_REGISTER, OPL3_ENABLE); /*
+ * Enable
+ * OPL-3
+ * mode
+ */
+ opl3_command (right_address, CONNECTION_SELECT_REGISTER, 0x00); /*
+ * Select
+ * all
+ * 2-OP
+ * *
+ * voices
+ */
}
else
{
-#ifdef __FreeBSD__
- printk ("snd1: <Yamaha 2-OP FM>");
-#else
printk (" <Yamaha 2-OP FM>");
-#endif
fm_model = 1;
voice_alloc->max_voice = nr_voices = 9;
fm_info.nr_drums = 0;
diff --git a/sys/i386/isa/sound/opl3.h b/sys/i386/isa/sound/opl3.h
index ea7901f..21e6122 100644
--- a/sys/i386/isa/sound/opl3.h
+++ b/sys/i386/isa/sound/opl3.h
@@ -35,7 +35,7 @@
*
* The percussive mode is implemented in the left side only.
*
- * With the above exeptions the both sides can be operated independently.
+ * With the above exceptions the both sides can be operated independently.
*
* A 4 OP voice can be created by setting the corresponding
* bit at offset 4 of the right side.
diff --git a/sys/i386/isa/sound/os.h b/sys/i386/isa/sound/os.h
index 005b3c2..d35c7f5 100644
--- a/sys/i386/isa/sound/os.h
+++ b/sys/i386/isa/sound/os.h
@@ -37,7 +37,7 @@
* before making the changes. It's possible that I have already made the
* change.
*
- * $Id: os.h,v 1.12 1994/09/27 17:58:21 davidg Exp $
+ * os.h,v 1.13 1994/10/01 02:16:53 swallace Exp
*/
/*
diff --git a/sys/i386/isa/sound/pas.h b/sys/i386/isa/sound/pas.h
index 415c2bf..585bc64 100644
--- a/sys/i386/isa/sound/pas.h
+++ b/sys/i386/isa/sound/pas.h
@@ -1,6 +1,3 @@
-/*
- * $Id: pas.h,v 1.5 1994/10/01 02:16:54 swallace Exp $
- */
/* */
/* Port addresses and bit fields for the Media Vision Pro AudioSpectrum second generation sound cards. */
/* */
@@ -83,7 +80,7 @@
#define OPERATION_MODE_1 0xEF8B /* R Control */
#define O_M_1_CDROM_TYPE 0x03 /* R CD-ROM 3=SCSI, 2=Sony, 0=no CD-ROM interface */
- #define O_M_1_FM_TYPE 0x04 /* R FM 1=sterero, 0=mono FM chip */
+ #define O_M_1_FM_TYPE 0x04 /* R FM 1=stereo, 0=mono FM chip */
#define O_M_1_PCM_TYPE 0x08 /* R PCM 1=16-bit Codec, 0=8-bit DAC */
#define OPERATION_MODE_2 0xFF8B /* R Control */
#define O_M_2_PCS_ENABLED 0x02 /* R PC speaker PC speaker emulation 1=enabled, 0=disabled */
@@ -131,7 +128,6 @@
#define F_F_PCM_RATE_COUNTER 0x40 /* R W PCM 1=enable, 0=disable sample rate counter */
#define F_F_PCM_BUFFER_COUNTER 0x80 /* R W PCM 1=enable, 0=disable sample buffer counter */
-#define CHIP_REV 0xFF88 /* R Control 0=PAS, 1=PAS+, 2=CDPC, 3=PAS16C, 4=PAS16D */
#define PAS_NONE 0
#define PAS_PLUS 1
#define PAS_CDPC 2
diff --git a/sys/i386/isa/sound/pas2_card.c b/sys/i386/isa/sound/pas2_card.c
index 96bf58d..1bfd73f 100644
--- a/sys/i386/isa/sound/pas2_card.c
+++ b/sys/i386/isa/sound/pas2_card.c
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pas2_card.c,v 1.10 1994/10/01 02:16:55 swallace Exp $
*/
#include "sound_config.h"
@@ -46,7 +45,6 @@ static int pas_intr_mask = 0;
static int pas_irq = 0;
static char pas_model;
-static unsigned char board_rev_id;
static char *pas_model_names[] =
{"", "Pro AudioSpectrum+", "CDPC", "Pro AudioSpectrum 16", "Pro AudioSpectrum 16D"};
@@ -72,23 +70,6 @@ pas_write (unsigned char data, int ioaddr)
OUTB (data, ioaddr ^ translat_code);
}
-/*
- * The Revision D cards have a problem with their MVA508 interface. The
- * kludge-o-rama fix is to make a 16-bit quantity with identical LSB and
- * MSBs out of the output byte and to do a 16-bit out to the mixer port -
- * 1.
- */
-
-void
-mix_write (unsigned char data, int ioaddr)
-{
- if (pas_model == PAS_16D) {
- outw ((ioaddr ^ translat_code) - 1, data | (data << 8));
- outb (0, 0x80);
- } else
- OUTB (data, ioaddr ^ translat_code);
-}
-
void
pas2_msg (char *foo)
{
@@ -272,8 +253,8 @@ config_pas_hw (struct address_info *hw_config)
else
pas_write (0, PRESCALE_DIVIDER);
- mix_write (P_M_MV508_ADDRESS | 5, PARALLEL_MIXER);
- mix_write (5, PARALLEL_MIXER);
+ pas_write (P_M_MV508_ADDRESS | 5, PARALLEL_MIXER);
+ pas_write (5, PARALLEL_MIXER);
#if !defined(EXCLUDE_SB_EMULATION) || !defined(EXCLUDE_SB)
@@ -367,7 +348,7 @@ detect_pas_hw (struct address_info *hw_config)
*/
return 0;
- pas_model = pas_read (CHIP_REV);
+ pas_model = O_M_1_to_card[pas_read (OPERATION_MODE_1) & 0x0f];
return pas_model;
}
@@ -380,14 +361,9 @@ attach_pas_card (long mem_start, struct address_info *hw_config)
if (detect_pas_hw (hw_config))
{
- board_rev_id = pas_read (BOARD_REV_ID);
- if (pas_model = pas_read (CHIP_REV))
+ if ((pas_model = O_M_1_to_card[pas_read (OPERATION_MODE_1) & 0x0f]))
{
-#ifdef __FreeBSD__
- printk ("snd3: <%s rev %d>", pas_model_names[(int) pas_model], board_rev_id);
-#else /* __FreeBSD__ */
printk (" <%s rev %d>", pas_model_names[(int) pas_model], pas_read (BOARD_REV_ID));
-#endif /* __FreeBSD__ */
}
if (config_pas_hw (hw_config))
diff --git a/sys/i386/isa/sound/pas2_midi.c b/sys/i386/isa/sound/pas2_midi.c
index 817e7d1..1c6bf59 100644
--- a/sys/i386/isa/sound/pas2_midi.c
+++ b/sys/i386/isa/sound/pas2_midi.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pas2_midi.c,v 1.5 1994/08/02 07:40:22 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/pas2_mixer.c b/sys/i386/isa/sound/pas2_mixer.c
index 7a4ccbd..bf0a20b 100644
--- a/sys/i386/isa/sound/pas2_mixer.c
+++ b/sys/i386/isa/sound/pas2_mixer.c
@@ -27,7 +27,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pas2_mixer.c,v 1.6 1994/08/02 07:40:24 davidg Exp $
*/
#include "sound_config.h"
@@ -107,6 +106,14 @@ mixer_output (int right_vol, int left_vol, int div, int bits,
int left = left_vol * div / 100;
int right = right_vol * div / 100;
+ /*
+ * The Revision D cards have a problem with their MVA508 interface. The
+ * kludge-o-rama fix is to make a 16-bit quantity with identical LSB and
+ * MSBs out of the output byte and to do a 16-bit out to the mixer port -
+ * 1. We don't need to do this because the call to pas_write more than
+ * compensates for the timing problems.
+ */
+
if (bits & P_M_MV508_MIXER)
{ /*
* Select input or output mixer
@@ -117,18 +124,18 @@ mixer_output (int right_vol, int left_vol, int div, int bits,
if (bits == P_M_MV508_BASS || bits == P_M_MV508_TREBLE)
{ /*
- * Bass and trebble are mono devices
+ * Bass and treble are mono devices
*/
- mix_write (P_M_MV508_ADDRESS | bits, PARALLEL_MIXER);
- mix_write (left, PARALLEL_MIXER);
+ pas_write (P_M_MV508_ADDRESS | bits, PARALLEL_MIXER);
+ pas_write (left, PARALLEL_MIXER);
right_vol = left_vol;
}
else
{
- mix_write (P_M_MV508_ADDRESS | P_M_MV508_LEFT | bits, PARALLEL_MIXER);
- mix_write (left, PARALLEL_MIXER);
- mix_write (P_M_MV508_ADDRESS | P_M_MV508_RIGHT | bits, PARALLEL_MIXER);
- mix_write (right, PARALLEL_MIXER);
+ pas_write (P_M_MV508_ADDRESS | P_M_MV508_LEFT | bits, PARALLEL_MIXER);
+ pas_write (left, PARALLEL_MIXER);
+ pas_write (P_M_MV508_ADDRESS | P_M_MV508_RIGHT | bits, PARALLEL_MIXER);
+ pas_write (right, PARALLEL_MIXER);
}
return (left_vol | (right_vol << 8));
@@ -137,8 +144,8 @@ mixer_output (int right_vol, int left_vol, int div, int bits,
void
set_mode (int new_mode)
{
- mix_write (P_M_MV508_ADDRESS | P_M_MV508_MODE, PARALLEL_MIXER);
- mix_write (new_mode, PARALLEL_MIXER);
+ pas_write (P_M_MV508_ADDRESS | P_M_MV508_MODE, PARALLEL_MIXER);
+ pas_write (new_mode, PARALLEL_MIXER);
mode_control = new_mode;
}
@@ -282,19 +289,6 @@ pas_mixer_set (int whichDev, unsigned int level)
/*****/
-static int
-getmixer (int dev, int chn)
-{
- if (chn == P_M_MV508_RIGHT)
- {
- return (levels[dev] >> 8) & 0x7f;
- }
- else
- {
- return levels[dev] & 0x7f;
- }
-}
-
static void
pas_mixer_reset (void)
{
diff --git a/sys/i386/isa/sound/pas2_pcm.c b/sys/i386/isa/sound/pas2_pcm.c
index e286215..e756431 100644
--- a/sys/i386/isa/sound/pas2_pcm.c
+++ b/sys/i386/isa/sound/pas2_pcm.c
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pas2_pcm.c,v 1.6 1994/08/02 07:40:28 davidg Exp $
*/
#include "sound_config.h"
@@ -80,7 +79,7 @@ pcm_set_speed (int arg)
tmp = pas_read (FILTER_FREQUENCY);
/*
- * Set anti-aliasing filters according to sample rate. You reall *NEED*
+ * Set anti-aliasing filters according to sample rate. You really *NEED*
* to enable this feature for all normal recording unless you want to
* experiment with aliasing effects.
* These filters apply to the selected "recording" source.
@@ -405,12 +404,7 @@ pas_pcm_init (long mem_start, struct address_info *hw_config)
{
audio_devs[my_devnum = num_audiodevs++] = &pas_pcm_operations;
audio_devs[my_devnum]->dmachan = hw_config->dma;
-#ifndef NO_AUTODMA
audio_devs[my_devnum]->buffcount = 1;
-#else
- audio_devs[my_devnum]->flags &= ~DMA_AUTOMODE;
- audio_devs[my_devnum]->buffcount = DSP_BUFFCOUNT;
-#endif
audio_devs[my_devnum]->buffsize = 2 * DSP_BUFFSIZE;
}
else
diff --git a/sys/i386/isa/sound/patmgr.c b/sys/i386/isa/sound/patmgr.c
index 43d0950..97ca465 100644
--- a/sys/i386/isa/sound/patmgr.c
+++ b/sys/i386/isa/sound/patmgr.c
@@ -1,7 +1,7 @@
/*
* sound/patmgr.c
*
- * The patch maneger interface for the /dev/sequencer
+ * The patch manager interface for the /dev/sequencer
*
* Copyright by Hannu Savolainen 1993
*
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: patmgr.c,v 1.6 1994/09/27 17:58:22 davidg Exp $
*/
#define PATMGR_C
@@ -132,7 +131,7 @@ pmgr_write (int dev, struct fileinfo *file, snd_rw_buf * buf, int count)
return RET_ERROR (EIO);
}
- COPY_FROM_USER ((caddr_t)mbox[dev], buf, 0, 4);
+ COPY_FROM_USER (mbox[dev], buf, 0, 4);
if (*(unsigned char *) mbox[dev] == SEQ_FULLSIZE)
{
diff --git a/sys/i386/isa/sound/pss.c b/sys/i386/isa/sound/pss.c
index 3d7a620..6e35d1b 100644
--- a/sys/i386/isa/sound/pss.c
+++ b/sys/i386/isa/sound/pss.c
@@ -8,7 +8,7 @@
make the pss card to emulate the SB stuff.
I have provided a simple interface to the PSS unlike the
- DOG version. to download a new algorithim just cat it to
+ DOG version. to download a new algorithm just cat it to
/dev/pss 14,9.
You really need to rebuild this with the synth.ld file
@@ -27,7 +27,7 @@
and everything will be okay.
- At first I was going to wory about applications that were using
+ At first I was going to worry about applications that were using
the sound stuff and disallow the use of /dev/pss. But for
now I figured it doesn't matter.
@@ -39,13 +39,12 @@
Probably everything else can be done via mmap
- Oh if you want to develope code for the ADSP-21xx or Program the
+ Oh if you want to develop code for the ADSP-21xx or Program the
1848 just send me mail and I will hook you up.
marc.hoffman@analog.com
- * $Id: $
- */
+ */
#include "sound_config.h"
#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_PSS)
@@ -124,7 +123,7 @@ PSS_write (int data)
{
int i, limit;
- limit = GET_TIME () + 10; /* The timeout is 0.1 secods */
+ limit = GET_TIME () + 10; /* The timeout is 0.1 seconds */
/*
* Note! the i<5000000 is an emergency exit. The dsp_command() is sometimes
* called while interrupts are disabled. This means that the timer is
@@ -159,7 +158,7 @@ pss_setaddr (int addr, int configAddr)
/*_____ pss_checkint
This function tests an interrupt number to see if
- it is availible. It takes the interrupt button
+ it is available. It takes the interrupt button
as it's argument and returns TRUE if the interrupt
is ok.
*/
@@ -216,7 +215,7 @@ pss_checkint (int intNum)
pss_outpw (pss_base + PSS_CONFIG, val);
break;
default:
- printk ("unknown interupt selected. %d\n", intNum);
+ printk ("unknown interrupt selected. %d\n", intNum);
return 0;
}
@@ -305,7 +304,7 @@ pss_setint (int intNum, int configAddress)
pss_outpw (configAddress, val);
break;
default:
- printk ("pss_setint unkown int\n");
+ printk ("pss_setint unknown int\n");
}
}
@@ -724,10 +723,10 @@ pss_download_boot (unsigned char *block, int size)
/* The following is a simple device driver for the pss.
- All I really care about is comunication to and from the pss.
+ All I really care about is communication to and from the pss.
The ability to reinitialize the <synth.ld> This will be
- default when release is choosen.
+ default when release is chosen.
SNDCTL_PSS_DOWNLOAD:
@@ -739,9 +738,9 @@ pss_download_boot (unsigned char *block, int size)
where a write operation would effectively
download a new ld.
- 14,0x09 -- /dev/psecho would open up a comunication path to the
+ 14,0x09 -- /dev/psecho would open up a communication path to the
esc614 asic. Given the ability to send
- messages to the asic and recive messages too.
+ messages to the asic and receive messages too.
All messages would get read and written in the
same manner. It would be up to the application
@@ -875,13 +874,13 @@ pss_ioctl (int dev, struct fileinfo *file,
/* This is going to be used to implement
waiting on messages sent from the DSP and to the
- DSP when comunication is used via the pss directly.
+ DSP when communication is used via the pss directly.
- We need to find out if the pss can generate a diffrent
- interupt other than the one it has been setup for.
+ We need to find out if the pss can generate a different
+ interrupt other than the one it has been setup for.
This way we can carry on a conversation with the pss
- on a seprate chanel. This would be usefull for debugging. */
+ on a separate channel. This would be useful for debugging. */
pss_select (int dev, struct fileinfo * file, int sel_type, select_table * wait)
{
diff --git a/sys/i386/isa/sound/pss.h b/sys/i386/isa/sound/pss.h
index 4676756..e020af6 100644
--- a/sys/i386/isa/sound/pss.h
+++ b/sys/i386/isa/sound/pss.h
@@ -7,9 +7,6 @@
Copyright (c) 1993 Analog Devices Inc. All rights reserved
******************************************************************************/
-/*
- * $Id: $
- */
/* Port offsets from base port for Sound Blaster DSP */
#define DSP_PORT_CMSD0 0x00 /* C/MS music voice 1-6 data port, write only */
#define DSP_PORT_CMSR0 0x01 /* C/MS music voice 1-6 register port, write only */
diff --git a/sys/i386/isa/sound/sb.h b/sys/i386/isa/sound/sb.h
index c701bc1..bb8ae12 100644
--- a/sys/i386/isa/sound/sb.h
+++ b/sys/i386/isa/sound/sb.h
@@ -1,6 +1,3 @@
-/*
- * $Id$
- */
#define DSP_RESET (sbc_base + 0x6)
#define DSP_READ (sbc_base + 0xA)
#define DSP_WRITE (sbc_base + 0xC)
diff --git a/sys/i386/isa/sound/sb16_dsp.c b/sys/i386/isa/sound/sb16_dsp.c
index a5586ef..a669cc5 100644
--- a/sys/i386/isa/sound/sb16_dsp.c
+++ b/sys/i386/isa/sound/sb16_dsp.c
@@ -27,7 +27,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sb16_dsp.c,v 1.7 1994/09/27 17:58:24 davidg Exp $
*/
#define DEB(x)
@@ -39,7 +38,7 @@
#include "sb.h"
#include "sb_mixer.h"
-#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_SB16) && !defined(EXCLUDE_SB) && !defined(EXCLUDE_AUDIO) && !defined(EXCLUDE_SBPRO)
+#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_SB16) && !defined(EXCLUDE_SB) && !defined(EXCLUDE_AUDIO)
extern int sbc_base;
@@ -79,6 +78,7 @@ static void sb16_dsp_halt (int dev);
static int dsp_set_speed (int);
static int dsp_set_stereo (int);
static void dsp_cleanup (void);
+int sb_reset_dsp (void);
static struct audio_operations sb16_dsp_operations =
{
@@ -476,22 +476,13 @@ sb16_dsp_init (long mem_start, struct address_info *hw_config)
sprintf (sb16_dsp_operations.name, "SoundBlaster 16 %d.%d", sbc_major, sbc_minor);
#endif
-#ifdef __FreeBSD__
- printk ("snd6: <%s>", sb16_dsp_operations.name);
-#else
printk (" <%s>", sb16_dsp_operations.name);
-#endif
if (num_audiodevs < MAX_AUDIO_DEV)
{
audio_devs[my_dev = num_audiodevs++] = &sb16_dsp_operations;
audio_devs[my_dev]->dmachan = hw_config->dma;
-#ifndef NO_AUTODMA
audio_devs[my_dev]->buffcount = 1;
-#else
- audio_devs[my_dev]->flags &= ~DMA_AUTOMODE;
- audio_devs[my_dev]->buffcount = DSP_BUFFCOUNT;
-#endif
audio_devs[my_dev]->buffsize = DSP_BUFFSIZE;
}
else
diff --git a/sys/i386/isa/sound/sb16_midi.c b/sys/i386/isa/sound/sb16_midi.c
index 7b23b4b..e40fe87 100644
--- a/sys/i386/isa/sound/sb16_midi.c
+++ b/sys/i386/isa/sound/sb16_midi.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sb16_midi.c,v 1.3 1994/08/02 07:40:38 davidg Exp $
*/
#include "sound_config.h"
@@ -225,11 +224,7 @@ attach_sb16midi (long mem_start, struct address_info *hw_config)
return mem_start;
}
-#ifdef __FreeBSD__
- printk ("snd7: <SoundBlaster MPU-401>");
-#else
printk (" <SoundBlaster MPU-401>");
-#endif
std_midi_synth.midi_dev = my_dev = num_midis;
midi_devs[num_midis++] = &sb16midi_operations;
@@ -287,7 +282,6 @@ int
probe_sb16midi (struct address_info *hw_config)
{
int ok = 0;
- int i;
extern int sbc_major;
if (sbc_major < 4)
diff --git a/sys/i386/isa/sound/sb_card.c b/sys/i386/isa/sound/sb_card.c
index e56ebd3..f7588e1 100644
--- a/sys/i386/isa/sound/sb_card.c
+++ b/sys/i386/isa/sound/sb_card.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/sb_dsp.c b/sys/i386/isa/sound/sb_dsp.c
index 8e5c517..8eca7d3 100644
--- a/sys/i386/isa/sound/sb_dsp.c
+++ b/sys/i386/isa/sound/sb_dsp.c
@@ -29,7 +29,6 @@
* Hunyue Yau Jan 6 1994
* Added code to support Sound Galaxy NX Pro
*
- * $Id: sb_dsp.c,v 1.21 1994/10/01 02:17:04 swallace Exp $
*/
#include "sound_config.h"
@@ -91,6 +90,7 @@ volatile int sb_intr_active = 0;
static int dsp_speed (int);
static int dsp_set_stereo (int mode);
+int sb_dsp_command (unsigned char val);
#if !defined(EXCLUDE_MIDI) || !defined(EXCLUDE_AUDIO)
@@ -105,7 +105,7 @@ sb_dsp_command (unsigned char val)
unsigned long limit;
limit = GET_TIME () + HZ / 10;/*
- * The timeout is 0.1 secods
+ * The timeout is 0.1 seconds
*/
/*
@@ -160,7 +160,7 @@ sbintr (int unit)
if (!(src & 1))
return; /*
- * Not a DSP interupt
+ * Not a DSP interrupt
*/
}
#endif
@@ -737,7 +737,7 @@ sb_dsp_detect (struct address_info *hw_config)
#ifndef EXCLUDE_AUDIO
static struct audio_operations sb_dsp_operations =
{
- "SoundBlaster ",
+ "SoundBlaster",
NOTHING_SPECIAL,
AFMT_U8, /* Just 8 bits. Poor old SB */
NULL,
@@ -803,7 +803,7 @@ sb_dsp_init (long mem_start, struct address_info *hw_config)
if (sbc_major >= 3)
{
-#ifndef SCO
+#if !defined(SCO) && !defined(EXCLUDE_AUDIO)
# ifdef __SGNXPRO__
if (mixer_type == 2)
{
@@ -823,11 +823,7 @@ sb_dsp_init (long mem_start, struct address_info *hw_config)
#endif
}
-#ifdef __FreeBSD__
- printk ("snd2: <%s>", sb_dsp_operations.name);
-#else
printk (" <%s>", sb_dsp_operations.name);
-#endif
#ifndef EXCLUDE_AUDIO
#if !defined(EXCLUDE_SB16) && !defined(EXCLUDE_SBPRO)
diff --git a/sys/i386/isa/sound/sb_midi.c b/sys/i386/isa/sound/sb_midi.c
index 6431cd7..51ebf78 100644
--- a/sys/i386/isa/sound/sb_midi.c
+++ b/sys/i386/isa/sound/sb_midi.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sb_midi.c,v 1.3 1994/08/02 07:40:43 davidg Exp $
*/
#include "sound_config.h"
@@ -43,7 +42,7 @@
* future version of this driver.
*/
-extern int sb_dsp_ok; /* Set to 1 atfer successful initialization */
+extern int sb_dsp_ok; /* Set to 1 after successful initialization */
extern int sbc_base;
extern int sb_midi_mode;
diff --git a/sys/i386/isa/sound/sb_mixer.c b/sys/i386/isa/sound/sb_mixer.c
index d9bcb1e..ef26e5b 100644
--- a/sys/i386/isa/sound/sb_mixer.c
+++ b/sys/i386/isa/sound/sb_mixer.c
@@ -30,12 +30,11 @@
* Hunyue Yau Jan 6 1994
* Added code to support the Sound Galaxy NX Pro mixer.
*
- * $Id: sb_mixer.c,v 1.3 1994/08/02 07:40:46 davidg Exp $
*/
#include "sound_config.h"
-#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_SB) && !defined(EXCLUDE_SBPRO)
+#if defined(CONFIGURE_SOUNDCARD) && !defined(EXCLUDE_SB)
#define __SB_MIXER_C__
#include "sb.h"
diff --git a/sys/i386/isa/sound/sb_mixer.h b/sys/i386/isa/sound/sb_mixer.h
index c7d5ca1..1a5fc8a 100644
--- a/sys/i386/isa/sound/sb_mixer.h
+++ b/sys/i386/isa/sound/sb_mixer.h
@@ -29,7 +29,6 @@
* Hunyue Yau Jan 6 1994
* Added defines for the Sound Galaxy NX Pro mixer.
*
- * $Id: sb_mixer.h,v 1.3 1994/08/02 07:40:48 davidg Exp $
*/
#define SBPRO_RECORDING_DEVICES (SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD)
diff --git a/sys/i386/isa/sound/sequencer.c b/sys/i386/isa/sound/sequencer.c
index 39ab789..eb55507 100644
--- a/sys/i386/isa/sound/sequencer.c
+++ b/sys/i386/isa/sound/sequencer.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sequencer.c,v 1.6 1994/08/02 07:40:49 davidg Exp $
*/
#define SEQUENCER_C
@@ -50,7 +49,7 @@ static int max_synthdev = 0;
/*
* The seq_mode gives the operating mode of the sequencer:
* 1 = level1 (the default)
- * 2 = level2 (extended capabilites)
+ * 2 = level2 (extended capabilities)
*/
#define SEQ_1 1
@@ -484,19 +483,21 @@ seq_chn_voice_event (unsigned char *event)
return;
if (seq_mode == SEQ_2)
- if (synth_devs[dev]->alloc_voice)
- voice = find_voice (dev, chn, note);
-
- if (cmd == MIDI_NOTEON && parm == 0)
{
- cmd = MIDI_NOTEOFF;
- parm = 64;
+ if (synth_devs[dev]->alloc_voice)
+ voice = find_voice (dev, chn, note);
+
+ if (cmd == MIDI_NOTEON && parm == 0)
+ {
+ cmd = MIDI_NOTEOFF;
+ parm = 64;
+ }
}
switch (cmd)
{
case MIDI_NOTEON:
- if (note > 127)
+ if (note > 127 && note != 255)
return;
if (voice == -1 && seq_mode == SEQ_2 && synth_devs[dev]->alloc_voice)
@@ -1852,7 +1853,8 @@ sequencer_init (long mem_start)
}
int
-sequencer_select (int dev, struct fileinfo *file, int sel_type, select_table * wait)
+/* sequencer_select (int dev, struct fileinfo *file, int sel_type, select_table * wait) -SMP */
+sequencer_select (int dev, struct fileinfo *file, int sel_type, void * wait)
{
return RET_ERROR (EIO);
}
diff --git a/sys/i386/isa/sound/sound.doc b/sys/i386/isa/sound/sound.doc
new file mode 100644
index 0000000..f6db243
--- /dev/null
+++ b/sys/i386/isa/sound/sound.doc
@@ -0,0 +1,87 @@
+Instructions on using audio on a FreeBSD 2.1 (or 2.0-current) system.
+See also /sys/i386/conf/LINT.
+
+You may add one or more of the following depending on what you do and don't
+want compiled into your kernel. Note: Excluding things with EXCLUDE_...
+is NOT recommended unless you really know what you're doing.
+
+ options "AUDIO_MPU401" # INCLUDE MPU401 support
+ options AUDIO_GUS # INCLUDE GUS support
+ options AUDIO_SBPRO # INCLUDE SB Pro support
+ options "AUDIO_SB16" # INCLUDE SB 16 support
+ options "AUDIO_YM3812" # INCLUDE AdLib support
+ options AUDIO_PAS # INCLUDE Pro Audio Studio support
+ options AUDIO_SB # INCLUDE SB support
+ options AUDIO_MSS # INCLUDE MSS support
+ options EXCLUDE_AUDIO # NO digital audio support
+ options EXCLUDE_SEQUENCER # NO sequencer support
+ options EXCLUDE_GUS_IODETECT # NO GUS io detection
+ options EXCLUDE_SB_EMULATION # NO PAS SB emulation support
+ options "EXCLUDE_OPL3" # NO OPL3 chip support
+ options EXCLUDE_PRO_MIDI # NO PAS MIDI support
+ options EXCLUDE_CHIP_MIDI # NO MIDI chip support
+ options EXCLUDE_MIDI # NO MIDI support whatsoever
+
+To enable sound card support, you need to uncomment and add one or more of
+the following lines to your kernel configuration file according to the
+directions below:
+
+#device snd5 at isa? port 0x330 irq 6 vector mpuintr
+#device snd4 at isa? port 0x220 irq 15 drq 6 vector gusintr
+#device snd3 at isa? port 0x388 irq 10 drq 6 vector pasintr
+#device snd2 at isa? port 0x220 irq 7 drq 1 vector sbintr
+#device snd6 at isa? port 0x220 irq 7 drq 5 vector sbintr
+#device snd10 at isa? port 0x530 irq 10 drq 1 vector adintr
+#device snd7 at isa? port 0x300
+#device snd1 at isa? port 0x388
+
+Note for PAS user: you should change snd1 line to
+#device snd1 at isa? port 0x38a
+(next stereo port) to avoid conflict with snd3
+
+ Unit numbers are:
+ 1 for Yamaha FM synth
+ 2 for SB/SB Pro DSP
+ 3 for PAS PCM and Midi
+ 4 for GUS
+ 5 for MPU-401 (there is separate driver for the SB16)
+ 6 for SB16 (DSP)
+ 7 for SB16 Midi (MPU-401 emulation)
+ 10 for Microsoft Windows Sound System (AD1846)
+
+ If you have ProAudioSpectrum, uncomment units 3, 2 and 1
+ If you have SoundBlaster 1.0 to 2.0 or SB Pro, uncomment 2 and 1.
+ If you have SoundBlaster 16, uncomment 2, 1, 6 and 7.
+ (use the same IRQ for the cards 2, 6 and 7. The DMA of the
+ card 2 is the 8 bit one and the DMA of the card 6 is the 16 bit one.
+ the port address of the card 7 is the Midi I/O address of the SB16.
+ If you have GravisUltrasound, uncomment 4
+ If you have MPU-401, uncomment 5
+
+NOTE: The MPU-401 driver may or may not work, and is unfortunately
+unverifiable since no one I know has one. If you can test this,
+please let me know! Also note that you will have to change these
+settings if your soundcard is set for a non-standard address or IRQ.
+Please check your documentation (or verify with any provided DOS utilities
+that may have come with your card) and set the IRQ or address fields
+accordingly.
+
+Also: Some systems with the OPTI chipset will require you to #define
+BROKEN_BUS_CLOCK in /sys/i386/sound/pas2_card.c. Symptoms are that
+you will hear a lot of clicking and popping sounds, like a geiger counter,
+coming out of the PAS even when is not playing anything.
+
+Also: You can configure more then one card on a single DMA using
+ALLOW_CONFLICT_DMA.
+
+Probing problems: Since the SB16 uses the same IRQ and addresses for
+the different drivers, some of the snd dirvers will not be probed because
+the kernel thinks there is a conflict. This can be worked-around by
+setting the ALLOW_CONFLICT_IOADDR or ALLOW_CONFLICT_IRQ options.
+
+Warning: Setting the ALLOW_* options will will bypass checks for ALL drivers,
+so be careful when you use them!
+
+ - Jordan Hubbard (jkh@freefall.cdrom.com)
+ - Steven Wallace (swallace@freefall.cdrom.com)
+ - Sujal Patel (smpatel@wam.umd.edu)
diff --git a/sys/i386/isa/sound/sound_calls.h b/sys/i386/isa/sound/sound_calls.h
index f67ea05..ce1ba06 100644
--- a/sys/i386/isa/sound/sound_calls.h
+++ b/sys/i386/isa/sound/sound_calls.h
@@ -1,12 +1,7 @@
/*
* DMA buffer calls
- *
- * $Id: sound_calls.h,v 1.6 1994/09/27 17:58:28 davidg Exp $
*/
-#ifndef _MACHINE_ISA_SOUND_H_
-#define _MACHINE_ISA_SOUND_H_
-
int DMAbuf_open(int dev, int mode);
int DMAbuf_release(int dev, int mode);
int DMAbuf_getwrbuffer(int dev, char **buf, int *size);
@@ -100,6 +95,7 @@ int pro_midi_write(int dev, snd_rw_buf *uio);
int pro_midi_read(int dev, snd_rw_buf *uio);
/* From soundcard.c */
+long soundcard_init(long mem_start);
void tenmicrosec(void);
void request_sound_timer (int count);
void sound_stop_timer(void);
@@ -229,7 +225,7 @@ void sound_timer_interrupt(void);
/* From ad1848.c */
void ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture);
int ad1848_detect (int io_base);
-void ad1848_interrupt (int dev);
+void adintr (int dev);
long attach_ms_sound(long mem_start, struct address_info * hw_config);
int probe_ms_sound(struct address_info *hw_config);
@@ -245,5 +241,3 @@ int pss_ioctl (int dev, struct fileinfo *file,
unsigned int cmd, unsigned int arg);
int pss_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
long pss_init(long mem_start);
-
-#endif /* _MACHINE_ISA_SOUND_H_ */
diff --git a/sys/i386/isa/sound/sound_config.h b/sys/i386/isa/sound/sound_config.h
index 1938621..11d388f 100644
--- a/sys/i386/isa/sound/sound_config.h
+++ b/sys/i386/isa/sound/sound_config.h
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sound_config.h,v 1.5 1994/08/02 07:40:53 davidg Exp $
*/
#include "local.h"
@@ -53,16 +52,10 @@
#endif
#ifdef EXCLUDE_SEQUENCER
-#ifndef EXCLUDE_MIDI
#define EXCLUDE_MIDI
-#endif
-#ifndef EXCLUDE_YM3812
#define EXCLUDE_YM3812
-#endif
-#ifndef EXCLUDE_OPL3
#define EXCLUDE_OPL3
#endif
-#endif
#ifndef SND_DEFAULT_ENABLE
#define SND_DEFAULT_ENABLE 1
@@ -123,18 +116,6 @@ If your card has nonstandard I/O address or IRQ number, change defines
#define GUS_DMA 6
#endif
-#ifndef GUS16_BASE
-#define GUS16_BASE 0x530
-#endif
-
-#ifndef GUS16_IRQ
-#define GUS16_IRQ 7
-#endif
-
-#ifndef GUS16_DMA
-#define GUS16_DMA 3
-#endif
-
#ifndef MPU_BASE
#define MPU_BASE 0x330
#endif
@@ -156,20 +137,20 @@ If your card has nonstandard I/O address or IRQ number, change defines
#define PSS_DMA 1
#endif
-#ifndef MSS_BASE
-#define MSS_BASE 0x530
+#ifndef MAX_REALTIME_FACTOR
+#define MAX_REALTIME_FACTOR 4
#endif
-#ifndef MSS_IRQ
-#define MSS_IRQ 10
+#ifndef MSS_BASE
+#define MSS_BASE 0x530
#endif
-#ifndef MSS_DMA
-#define MSS_DMA 3
+#ifndef MSS_IRQ
+#define MSS_IRQ 10
#endif
-#ifndef MAX_REALTIME_FACTOR
-#define MAX_REALTIME_FACTOR 4
+#ifndef MSS_DMA
+#define MSS_DMA 1
#endif
/************* PCM DMA buffer sizes *******************/
@@ -221,7 +202,7 @@ If your card has nonstandard I/O address or IRQ number, change defines
#define SND_DEV_DSP16 5 /* Like /dev/dsp but 16 bits/sample */
#define SND_DEV_STATUS 6 /* /dev/sndstat */
/* #7 not in use now. Was in 2.4. Free for use after v3.0. */
-#define SND_DEV_SEQ2 8 /* /dev/sequecer, level 2 interface */
+#define SND_DEV_SEQ2 8 /* /dev/sequencer, level 2 interface */
#define SND_DEV_SNDPROC 9 /* /dev/sndproc for programmable devices */
#define SND_DEV_PSS SND_DEV_SNDPROC
diff --git a/sys/i386/isa/sound/sound_switch.c b/sys/i386/isa/sound/sound_switch.c
index de35b0d..fe73aea 100644
--- a/sys/i386/isa/sound/sound_switch.c
+++ b/sys/i386/isa/sound/sound_switch.c
@@ -25,7 +25,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sound_switch.c,v 1.3 1994/08/02 07:40:55 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/sound_timer.c b/sys/i386/isa/sound/sound_timer.c
index 79a3ff1..c6544c8 100644
--- a/sys/i386/isa/sound/sound_timer.c
+++ b/sys/i386/isa/sound/sound_timer.c
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sb16_dsp.c,v 1.7 1994/09/27 17:58:24 davidg Exp $
*/
#define SEQUENCER_C
diff --git a/sys/i386/isa/sound/soundcard.c b/sys/i386/isa/sound/soundcard.c
index 213f263..891731c 100644
--- a/sys/i386/isa/sound/soundcard.c
+++ b/sys/i386/isa/sound/soundcard.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: soundcard.c,v 1.20 1994/10/01 02:17:14 swallace Exp $
+ * soundcard.c,v 1.20 1994/10/01 02:17:14 swallace Exp
*/
#include "sound_config.h"
@@ -54,7 +54,6 @@ static int soundcards_installed = 0; /* Number of installed
static int soundcard_configured = 0;
static struct fileinfo files[SND_NDEVS];
-struct selinfo selinfo[SND_NDEVS >> 4];
int sndprobe (struct isa_device *dev);
int sndattach (struct isa_device *dev);
@@ -63,7 +62,7 @@ int sndclose (dev_t dev, int flags);
int sndioctl (dev_t dev, int cmd, caddr_t arg, int mode);
int sndread (int dev, struct uio *uio);
int sndwrite (int dev, struct uio *uio);
-int sndselect (int dev, int rw, struct proc *p);
+int sndselect (int dev, int rw);
static void sound_mem_init(void);
unsigned
@@ -123,9 +122,6 @@ sndopen (dev_t dev, int flags)
else if (flags & FWRITE)
files[dev].mode = OPEN_WRITE;
- selinfo[dev >> 4].si_pid = 0;
- selinfo[dev >> 4].si_flags = 0;
-
FIX_RETURN(sound_open_sw (dev, &files[dev]));
}
@@ -148,33 +144,13 @@ sndioctl (dev_t dev, int cmd, caddr_t arg, int mode)
}
int
-sndselect (int dev, int rw, struct proc *p)
+sndselect (int dev, int rw)
{
- int r,s;
-
dev = minor (dev);
DEB (printk ("sound_ioctl(dev=%d, cmd=0x%x, arg=0x%x)\n", dev, cmd, arg));
- r = 0;
- DISABLE_INTR(s);
- switch (rw) {
- case FREAD: /* record */
- if(DMAbuf_input_ready(dev >> 4))
- r = 1;
- else
- selrecord(p, &selinfo[dev >> 4]);
- break;
- case FWRITE: /* play */
- if(DMAbuf_output_ready(dev >> 4))
- r = 1;
- else
- selrecord(p, &selinfo[dev >> 4]);
- break;
- }
- RESTORE_INTR(s);
-
- return r;
+ FIX_RETURN (0);
}
static unsigned short
diff --git a/sys/i386/isa/sound/sys_timer.c b/sys/i386/isa/sound/sys_timer.c
index 383fe3c..1000045 100644
--- a/sys/i386/isa/sound/sys_timer.c
+++ b/sys/i386/isa/sound/sys_timer.c
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: sys_timer.c,v 1.7 1994/09/27 17:58:24 davidg Exp $
*/
#define SEQUENCER_C
diff --git a/sys/i386/isa/sound/tuning.h b/sys/i386/isa/sound/tuning.h
index 23086af..858e1fe 100644
--- a/sys/i386/isa/sound/tuning.h
+++ b/sys/i386/isa/sound/tuning.h
@@ -1,6 +1,3 @@
-/*
- * $Id$
- */
#ifdef SEQUENCER_C
unsigned short semitone_tuning[24] =
diff --git a/sys/i386/isa/sound/uart6850.c b/sys/i386/isa/sound/uart6850.c
index f8e23a0..ca63135 100644
--- a/sys/i386/isa/sound/uart6850.c
+++ b/sys/i386/isa/sound/uart6850.c
@@ -26,7 +26,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: uart6850.c,v 1.7 1994/09/27 17:58:24 davidg Exp $
*/
#include "sound_config.h"
diff --git a/sys/i386/isa/sound/vat_audioio.h b/sys/i386/isa/sound/vat_audioio.h
index e419514..03cff23 100644
--- a/sys/i386/isa/sound/vat_audioio.h
+++ b/sys/i386/isa/sound/vat_audioio.h
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Header: audioio.h,v 1.3 93/07/18 14:07:07 mccanne Exp $ (LBL)
+ * /home/ncvs/src/sys/i386/isa/sound/vat_audioio.h,v 1.1 1994/12/16 04:59:18 pst Exp (LBL)
*/
#ifndef _BSD_AUDIOIO_H_
OpenPOWER on IntegriCloud