From owner-freebsd-multimedia Sun Mar 3 12:37:55 1996 Return-Path: owner-multimedia Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id MAA11987 for multimedia-outgoing; Sun, 3 Mar 1996 12:37:55 -0800 (PST) Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id MAA11982 for ; Sun, 3 Mar 1996 12:37:52 -0800 (PST) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.6.12/8.6.12) with ESMTP id MAA02571; Sun, 3 Mar 1996 12:37:01 -0800 Message-Id: <199603032037.MAA02571@rah.star-gate.com> X-Mailer: exmh version 1.6.5 12/11/95 To: Kim Culhan cc: multimedia@freebsd.org Subject: GUS PnP Info In-reply-to: Your message of "Sat, 02 Mar 1996 19:53:44 EST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 03 Mar 1996 12:37:00 -0800 From: "Amancio Hasty Jr." Sender: owner-multimedia@freebsd.org Precedence: bulk >>> Kim Culhan said: > > > On Sat, 2 Mar 1996, Amancio Hasty Jr. wrote: > > > >>> Kim Culhan said: > > > > > > > > > On Sat, 2 Mar 1996, Amancio Hasty Jr. wrote: > > > > > > > >>> Kim Culhan said: > > > > The interruptions I'm hearing sound like 'static' not the relatively lo nger > > > time constant of the 'gating' action built into the half-duplex > > > 'direction changer' which is level dependant. Is that what you were thi nking > > > of? > > > Well, I think is a lot easier to just built vat with the full duplex audio s tuff > > to find out if it eliminates the problem than to attempt to analyze the so urce > > of the problem. > > For sure. > > > Make sure that with the full duplex stuff : > > > > 1. you don't use vmix > > > > 2. For gus max only and *not* for the GUS PnP, ln -s /dev/audio1 /dev/audi o: > > lrwxr-xr-x 1 root wheel 6 Mar 2 11:14 /dev/audio -> audio1 > > I have obtained a PnP, should I go for it from the start? In gus_wave.c: long gus_wave_init (long mem_start, struct address_info *hw_config) { unsigned long flags; unsigned char val; char *model_num = "2.4"; int gus_type = 0x24; /* 2.4 */ int irq = hw_config->irq, dma = hw_config->dma, dma2 = hw_config->dma2; if (irq < 0 || irq > 15) { printf ("ERROR! Invalid IRQ#%d. GUS Disabled", irq); return mem_start; } if (dma < 0 || dma > 7) { printf ("ERROR! Invalid DMA#%d. GUS Disabled", dma); return mem_start; } gus_irq = irq; gus_dma = dma; gus_dma2 = dma2; if (gus_dma2 == -1) gus_dma2 = dma; /* * Try to identify the GUS model. * * Versions < 3.6 don't have the digital ASIC. Try to probe it first. */ flags = splhigh (); outb (gus_base + 0x0f, 0x20); val = inb (gus_base + 0x0f); splx (flags); if (val != 0xff && (val & 0x06)) /* Should be 0x02?? */ { /* * It has the digital ASIC so the card is at least v3.4. * Next try to detect the true model. */ val = inb (u_MixSelect); /* * Value 255 means pre-3.7 which don't have mixer. * Values 5 thru 9 mean v3.7 which has a ICS2101 mixer. * 10 and above is GUS MAX which has the CS4231 codec/mixer. * */ val = 166; ^^^^^^^^^ Add the above line , the GUS PnP returns back 255 as the version number and the 166 will force the driver to think that is a GUS MAX. This will not be so much of an issue when PnP support is added to FreeBSD at that time we will have more than enough information to identify and configure the GUS PnP automagically. recompile and install the new kernel. Initialize the GUS PnP in DOS and do a soft boot to freebsd >. AMD has not release yet the DOCS for the Interwave chipset which is used in the GUS PnP when they do native initialization for the GUS PnP will be added to the sound driver. If when the system comes up the GUS PnP is dead quiet you have not initialize the GUS PnP. The card when it comes up it has an annoying hiss just slide "line 1" in vmix all the way down to get rid of it. ----- Make sure that you have : lrwxr-xr-x 1 root wheel 6 Mar 3 00:57 /dev/audio -> audio0 This will access the CS4231 side of the GUS PnP . Please not that this is only for the GUS PnP because the GUS PnP has a CS4231 emulation mode which works in full-duplex. ***If you have a GUS MAX and try to use /dev/audio0 for full duplex **** ***audio operations is not going to work use /dev/audio1 (that is the*** ***GF1 side of things) *** Also, the GUS PnP does not support recording from /dev/audio1 Enjoy, Amancio