Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jul 1997 01:30:53 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        multimedia@freebsd.org
Subject:   guspnp8 driver release
Message-ID:  <199707060830.BAA00724@rah.star-gate.com>

next in thread | raw e-mail | index | archive | help

GUSPNP8 7/6/97
This sound driver is for FreeBSD 3.0-current.

I am looking for volunteers to work in different aspects of the driver
if you can help please e-mail me at hasty@star-gate.com.

This is a minor sound driver release for  the GUS PnP Pro .
In addition to the gus pnp driver the following cards are also supported:

1.  SB AWE support provided by Randall Hopper<rhh@ct.picker.com>.
    For further info on the state of the AWE driver see the
    00-README-AWE-ONLY.

2.  AudioTrix Pro - the driver for quite some time has supported this
    card. To configure the card add to your  your kernel config file:

    controller     snd0
    device trix0   at isa? port 0x530 irq 9 drq 3 flags 0x1 vector adintr 
    device trixsb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
    device sb0     at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
    device opl0    at isa? port 0x388 conflicts
 
--

Bugs fixed:
1. Aborting a process with CTL-C would sometimes cause the driver to
   go in an infinite loop.

2. With the AudioTrix PRO  opening an audio device once used to not clear
   the busy device flag. Internally, I had the fix however I forgot to
   release the fix.

Before you install the sound driver, if you are not running a 
recent FreeBSD-3.0 current please delete the following  printf in 
/sys/i386/isa/isa.c:

oid isa_dmastart(int flags, caddr_t addr, u_int nbytes, int chan)
{
	vm_offset_t phys;
	int waport;
	caddr_t newaddr;

 #ifdef DIAGNOSTIC
	if (chan & ~VALID_DMA_MASK)
		panic("isa_dmastart: channel out of range");

	if ((chan < 4 && nbytes > (1<<16))
	    || (chan >= 4 && (nbytes > (1<<17) || (u_int)addr & 1)))
		panic("isa_dmastart: impossible request");

	if (dma_inuse & (1 << chan) == 0)
		printf("isa_dmastart: channel %d not acquired\n", chan);
 #endif

	if (dma_busy & (1 << chan))
		printf("isa_dmastart: channel %d busy\n", chan);
	^^^^^  ^^^^^^^
	delete that if statement.

A bit about the GUS PNP

The difference between a GUS PnP and a GUS PnP PRO is that the Pro
comes with 512kb. I went out and got a 1mb 60ns 30pin simm and installed
it on my GUS PnP. I own a GUS PnP and a GUS PnP PRO.



To unpack:
cd /
mv /sys/i386/isa/sound /sys/i386/isa/sound.old
cd /sys/i386/isa/
tar -xzf guspnp8.tar.gz 

**DO NOT RUN the configure program in /sys/i386/isa/sound**

cd /sys/i386/conf
Edit the kernel config file in /sys/i386/conf

IF YOU HAVE A GUS MAX or GUS add the option NOGUSPNP to the config file
	OPTIONS NOGUSPNP
  THEN follow the instructions for NONPNP CONFIGURATION


PNP CONFIGURATION
To configure your guspnp PRO if you have a motherboard which supports
PnP:

	controller snd0
	device gus0 at isa?  vector gusintr

NONPNP CONFIGURATION
To configure your guspnp PRO if your motherboard does NOT support
PnP:

device gus0 at isa? port  0x220 irq 11 drq 1 flags 0x3 vector gusintr


the gus pnp is fully software configurable and the above configuration
is setup for full duplex audio. The dma channel settings are:

drq 1   	--- DMA channel for playback

flags 0x3	--- DMAN channel for recording





config <kernel-file>
cd /sys/compile/<kernel-file>
make 
make install

THERE IS NO NEED TO BOOT TO DOS TO CONFIGURE YOUR GUS PNP. 
THE DRIVER HAS BUILTIN SUPPORT FOR PNP WHICH I GOT
FROM THE  GRAVIS DRIVER DEVELOPMENT KIT

Many thanks to  Brian Litzinger <brian@MediaCity.com> for
porting the sound driver 3.5 to 2.2-current. Well, that was a while
ago hence the reference to 2.2. 

	Have fun,
	Amancio





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707060830.BAA00724>