From owner-freebsd-multimedia Tue Oct 8 05:37:04 1996 Return-Path: owner-multimedia Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id FAA23125 for multimedia-outgoing; Tue, 8 Oct 1996 05:37:04 -0700 (PDT) Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id FAA23118 for <multimedia@freebsd.org>; Tue, 8 Oct 1996 05:37:02 -0700 (PDT) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.7.6/8.7.3) with ESMTP id FAA00636 for <multimedia@freebsd.org>; Tue, 8 Oct 1996 05:37:00 -0700 (PDT) Message-Id: <199610081237.FAA00636@rah.star-gate.com> X-Mailer: exmh version 1.6.9 8/22/96 To: multimedia@freebsd.org Subject: GUS PnP driver release 4 Date: Tue, 08 Oct 1996 05:37:00 -0700 From: Amancio Hasty <hasty@rah.star-gate.com> Sender: owner-multimedia@freebsd.org X-Loop: FreeBSD.org Precedence: bulk This is an BETA release for the GUS PnP Pro. If you own any other soundcard or are not running *FreeBSD 2.2 don't bother using this sound driver. If you are running FreeBSD 2.1xx this driver will not compile for you The difference between a GUS PnP and a GUS PnP PRO is that the Pro comes with 512kb. I went out an got a 1mb 60ns 30pin simm and installed it on my GUS PnP. I own a GUS PnP and a GUS PnP PRO. BUGS: 1.0 The mic input level still does not work right so if you are using vat control the mic volume using vmix or mixer and use igain. For instance, mixer igain 100 set the input gain to 100 mixer igain 0 sets the input to 0 This does not fully shut the mic to fully silence the mic select another input. mixer +rec line3 or mixer +rec mix 2.0 I will release another version of vat in about a day or so after I get chance to test it further. ----- In /sys/i386/isa/isa.c convert the static define isa_dmarangecheck to a global define: static int isa_dmarangecheck __P((caddr_t va, u_int length, int chan)); --- int isa_dmarangecheck(caddr_t va, u_int length, int chan) { --- Also : #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); if (dma_busy & (1 << chan)) printf("isa_dmastart: channel %d busy\n", chan); #endif Either delete : if (dma_busy & (1 << chan)) printf("isa_dmastart: channel %d busy\n", chan); or enclosed in the DIAGNOSTIC define like I did. To unpack: cd / mv /sys/i386/isa/sound /sys/i386/isa/sound.old tar -xzf guspnp4-current.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 To configure your guspnp PRO if you have a motherboard which supports PnP: controller snd0 device gus0 at isa? vector gusintr 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 If the make fails to find include files, edit your Makefile to have: INCLUDES= -nostdinc -I- -I. -I$S -I/sys/i386/isa/sound -I/sys/sys ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ add that 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. Have fun, Amancio