NAME
gus
—
Gravis UltraSound/UltraSound MAX audio
device
SYNOPSIS
gus0 at isa? port 0x220 irq 7 drq 1 drq2 6
gus* at isapnp?
audio* at gus?
DESCRIPTION
The gus
driver provides support for the
Gravis UltraSound (GUS) and GUS MAX audio cards. Both cards have on-board
memory which is used for seamless playback of samples. They can play back 8-
or 16-bit samples at up to 44.1kHz. They can record 8-bit samples at up to
44.1kHz. The UltraSound MAX is a full-duplex sound device, and if configured
with two DRQ channels can be used for simultaneous playback and recording.
The I/O port base is jumper-selected, and may be chosen from 0x210-0x260 in
steps of 0x10. (The normal setting is 0x220.) The GUS takes 16 ports at its
base address and 8 ports at its base address + 0x100.
The IRQ is software programmed, so you may select any IRQ from the set {3,5,7,9,11,12,15}. The DRQ lines are software programmed, and may be chosen from {1,3,5,6,7}. The “drq2” field in the configuration file line specifies a second DRQ line for recording. If there is no drq2 field in the config file, the playback channel will be used for recording DMA and only half-duplex mode will be available.
The Gravis UltraSound MAX has an additional CODEC onboard which is addressed with four ports at an offset of 0x10C from the base ports (0x31C-0x36C).
SEE ALSO
REFERENCES
Gravis UltraSound Low-Level Toolkit, Revision 2.01, 20 May 1993, published by Advanced Gravis and Forte Technologies.
If you wish to use wdc(4) on the ISAPNP version of the card, and it comes up as DISABLED, Gravis has a PNPCFG.EXE program which re-enables it.
HISTORY
The gus
device driver appeared in
NetBSD 1.1.
BUGS
The full-duplex features of the GUS MAX have not been fully tested, and full-duplex on the original GUS may not be possible at all.
Only two voices on the GF1 synthesizer chip are used by this driver (for left and right channels).
Manipulating the mixer while audio samples are playing can lead to device driver confusion (and maybe even a system panic).
Manipulating the mixer device seems to create pregnant system pauses, probably due to excessive interrupt masking.
The joystick and MIDI port interfaces are not supported.