1.\" $NetBSD: guspnp.4,v 1.18 2014/03/18 18:20:39 riastradh Exp $ 2.\" 3.\" Copyright (c) 1999 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Kari Mettinen. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd June 22, 2005 31.Dt GUSPNP 4 32.Os 33.Sh NAME 34.Nm guspnp 35.Nd Am78C201 audio device driver 36.Sh SYNOPSIS 37.Cd "guspnp* at isapnp?" 38.Cd "audio* at audiobus?" 39.Pp 40There should be no limit caused by the driver on the number of drivers 41or cards active in the system. 42.Sh DESCRIPTION 43The 44.Nm guspnp 45driver provides support for audio subsystems using the Interwave (Am78C20x) 46family of ICs, usually the Gravis Ultrasound Plug and Play. 47Unlike the 48.Nm gus 49driver guspnp driver does not require any local memory for the IC, but uses 50the codec for both playback and recording. 51The 52.Nm guspnp 53driver can simultaneously playback and record 8- and 16-bit samples at 54frequencies from 5.51kHz to 48kHz. 55.Pp 56The 57.Nm guspnp 58driver relies on 59.Nm isapnp 60to allocate suitable resources for it. 61This version of the driver only 62uses the first logical device of the five the Interwave IC has. 63The four unused 64logical devices are the ATAPI CD-ROM device, PnP Joystick device, legacy 65soundcard emulation device (SoundBlaster) and MIDI serial device. 66Support 67for at least ATAPI CD-ROM and Joystick is being worked on. 68This version of the driver will use 1 IRQ and 2 DRQs. 69.Sh HARDWARE 70Cards supported by the 71.Nm 72driver include: 73.Pp 74.Bl -item -offset indent 75.It 76.Tn Gravis 77Ultrasound PNP, and compatibles 78.El 79.Sh SEE ALSO 80.Xr audio 4 , 81.Xr gus 4 , 82.Xr isapnp 4 83.Sh REFERENCES 84Interwave(tm) IC Am78C201/202 Programmer's Guide Rev. 2. 1996. Advanced 85Micro Devices. 86.Sh HISTORY 87The 88.Nm guspnp 89driver appeared in 90.Nx 1.3 . 91.Sh AUTHORS 92.An Kari Mettinen Aq Mt Kari.Mettinen@helsinki.fi , 93University of Helsinki. 94.Sh BUGS 95Sometimes you can cause a hiss on either left or right channel, or both. 96You can usually make it disappear by playing random data, however this 97might not be a very nice thing to your audio equipment, but it is the only 98way I have found out to be effective. 99.Pp 100Only the Codec is used in this version of the driver, therefore only 2 101channels are supported (left and right). Also sound quality is probably 102worse at lower kHz compared to playing through the synthesizer which does 103interpolation. 104.Pp 105If the implementation has a 'bad' oscillator, using frequencies 44.8kHz 106and 38.4kHz will result in incorrect playback frequency. The author has 107a GUS PnP Pro which displays this behavior. 108.Pp 109Other members of the Interwave family have not been tested and don't 110have the glue needed to make them work. Should someone need to implement it, 111not many changes in the existing code are needed. 112Output voltage control in 113register CFIG2 [7] should be set differently for some other members of the 114family. 115.Pp 116Other architectures than i386 haven't been tested. The bus_space abstraction 117has been used from the beginning, so it should work. 118