GUS(4)

GUS(4) | Device Drivers Manual | GUS(4)

# NAME

`gus` — Gravis UltraSound/UltraSound MAX audio device driver

# SYNOPSIS

`gus0 at isa? port 0xPPP irq X drq Y drq2 Z`
`audio* at audiobus?`

# 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

audio(4)

# REFERENCES

Gravis UltraSound Low-Level Toolkit, Revision 2.01, 20 May 1993, published by Advanced Gravis and Forte Technologies.

# 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.

June 22, 2005 | NetBSD 11.0