From the author:

Here are the remanding changes required to support the Ensoniq
Soundscape using FreeBSD 3.0-current.

Notes:

  1) ad1848_init already has code to detect if DMA_DUPLEX should
     be set so it is not necessary (and is in fact a mistake) to
     hard code setting it.  Not all soundcards (i.e. the current
     sscape driver) are capable of using DMA_DUPLEX.

  2) The other changes are hopefully self explanatory.  Feel free
     to let me know if you need additional information.

Submitted by:	john@feith.com (John Wehle)
This commit is contained in:
Mark Murray 1997-11-25 19:30:38 +00:00
parent 4d1fabf000
commit 61ca849927
7 changed files with 32 additions and 11 deletions

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.379 1997/11/04 21:11:14 steve Exp $
# $Id$
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -983,6 +983,8 @@ options NATM #native ATM
# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
# mss: Microsoft Sound System
# sscape: Ensoniq Soundscape MIDI interface
# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# uart: stand-alone 6850 UART for MIDI
# mpu: Roland MPU-401 stand-alone card
@ -1037,13 +1039,14 @@ device awe0 at isa? port 0x620
device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr
#device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr
device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr
device sscape0 at isa? port 0x330 irq 9 drq 0 vector sscapeintr
device sscape_mss0 at isa? port 0x534 irq 5 drq 1 vector sndintr
device opl0 at isa? port 0x388
device mpu0 at isa? port 0x330 irq 6 drq 0
device uart0 at isa? port 0x330 irq 5 vector "m6850intr"
# More undocumented sound devices with bogus configurations for linting.
# broken
#device sscape0 at isa? port 0x330 irq 6 drq 0
#device trix0 at isa? port 0x330 irq 6 drq 0 vector sscapeintr
# Luigi's snd code

View File

@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
# $Id: files.i386,v 1.177 1997/09/21 21:34:31 gibbs Exp $
# $Id$
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@ -210,6 +210,11 @@ i386/isa/sound/midi_synth.c optional uart device-driver
i386/isa/sound/midibuf.c optional uart device-driver
i386/isa/sound/trix.c optional trix device-driver
i386/isa/sound/sscape.c optional sscape device-driver
i386/isa/sound/ad1848.c optional sscape device-driver
i386/isa/sound/sound_timer.c optional sscape device-driver
i386/isa/sound/mpu401.c optional sscape device-driver
i386/isa/sound/midi_synth.c optional sscape device-driver
i386/isa/sound/midibuf.c optional sscape device-driver
i386/isa/sound/awe_wave.c optional awe device-driver
i386/isa/spigot.c optional spigot device-driver
i386/isa/spkr.c optional speaker device-driver

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.379 1997/11/04 21:11:14 steve Exp $
# $Id$
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -983,6 +983,8 @@ options NATM #native ATM
# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
# mss: Microsoft Sound System
# sscape: Ensoniq Soundscape MIDI interface
# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# uart: stand-alone 6850 UART for MIDI
# mpu: Roland MPU-401 stand-alone card
@ -1037,13 +1039,14 @@ device awe0 at isa? port 0x620
device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr
#device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr
device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr
device sscape0 at isa? port 0x330 irq 9 drq 0 vector sscapeintr
device sscape_mss0 at isa? port 0x534 irq 5 drq 1 vector sndintr
device opl0 at isa? port 0x388
device mpu0 at isa? port 0x330 irq 6 drq 0
device uart0 at isa? port 0x330 irq 5 vector "m6850intr"
# More undocumented sound devices with bogus configurations for linting.
# broken
#device sscape0 at isa? port 0x330 irq 6 drq 0
#device trix0 at isa? port 0x330 irq 6 drq 0 vector sscapeintr
# Luigi's snd code

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.379 1997/11/04 21:11:14 steve Exp $
# $Id$
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -983,6 +983,8 @@ options NATM #native ATM
# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
# mss: Microsoft Sound System
# sscape: Ensoniq Soundscape MIDI interface
# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# uart: stand-alone 6850 UART for MIDI
# mpu: Roland MPU-401 stand-alone card
@ -1037,13 +1039,14 @@ device awe0 at isa? port 0x620
device gus0 at isa? port 0x220 irq 12 drq 1 vector gusintr
#device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3 vector gusintr
device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr
device sscape0 at isa? port 0x330 irq 9 drq 0 vector sscapeintr
device sscape_mss0 at isa? port 0x534 irq 5 drq 1 vector sndintr
device opl0 at isa? port 0x388
device mpu0 at isa? port 0x330 irq 6 drq 0
device uart0 at isa? port 0x330 irq 5 vector "m6850intr"
# More undocumented sound devices with bogus configurations for linting.
# broken
#device sscape0 at isa? port 0x330 irq 6 drq 0
#device trix0 at isa? port 0x330 irq 6 drq 0 vector sscapeintr
# Luigi's snd code

View File

@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
# $Id: files.i386,v 1.177 1997/09/21 21:34:31 gibbs Exp $
# $Id$
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@ -210,6 +210,11 @@ i386/isa/sound/midi_synth.c optional uart device-driver
i386/isa/sound/midibuf.c optional uart device-driver
i386/isa/sound/trix.c optional trix device-driver
i386/isa/sound/sscape.c optional sscape device-driver
i386/isa/sound/ad1848.c optional sscape device-driver
i386/isa/sound/sound_timer.c optional sscape device-driver
i386/isa/sound/mpu401.c optional sscape device-driver
i386/isa/sound/midi_synth.c optional sscape device-driver
i386/isa/sound/midibuf.c optional sscape device-driver
i386/isa/sound/awe_wave.c optional awe device-driver
i386/isa/spigot.c optional spigot device-driver
i386/isa/spkr.c optional speaker device-driver

View File

@ -46,7 +46,7 @@
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
** $Id: userconfig.c,v 1.95 1997/10/12 20:23:20 phk Exp $
** $Id$
**/
/**
@ -291,6 +291,8 @@ static DEV_INFO device_info[] = {
{"mss", "Microsoft Sound System", 0, CLS_MMEDIA},
{"opl", "OPL-2/3 FM, Soundblaster, SBPro, SB16, ProAudio Spectrum",0,CLS_MMEDIA},
{"mpu", "Roland MPU401 MIDI", 0, CLS_MMEDIA},
{"sscape", "Ensoniq Soundscape MIDI interface", 0, CLS_MMEDIA},
{"sscape_mss", "Ensoniq Soundscape PCM", 0, CLS_MMEDIA},
{"uart", "6850 MIDI UART", 0, CLS_MMEDIA},
{"pca", "PC speaker PCM audio driver", FLG_FIXED, CLS_MMEDIA},
{"ctx", "Coretex-I frame grabber", 0, CLS_MMEDIA},
@ -2368,7 +2370,7 @@ visuserconfig(void)
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: userconfig.c,v 1.95 1997/10/12 20:23:20 phk Exp $
* $Id$
*/
#include "scbus.h"

View File

@ -1475,7 +1475,7 @@ ad1848_init(char *name, int io_base, int irq,
irq2dev[-irq] = devc->dev_no = my_dev;
audio_devs[my_dev]->otherside = -1 ;
audio_devs[my_dev]->flags |= DMA_AUTOMODE | DMA_DUPLEX;
audio_devs[my_dev]->flags |= DMA_AUTOMODE;
audio_devs[my_dev]->dmachan1 = dma_playback;
audio_devs[my_dev]->dmachan2 = dma_capture;
audio_devs[my_dev]->buffsize = DSP_BUFFSIZE;