Subject: Re: Generic audio driver for NetBSD/i386
To: Ken Hornstein <kenh@entropic.com>
From: John Brezak <brezak@apollo.hp.com>
List: port-i386
Date: 09/14/1994 15:33:49
> >This is an update of the Generic audio driver that was posted by Havard Eidn
es
> >a while ago. Since then a few of us have hacked at the interface a bit. I've
> >coded a few sample drivers for the Cardinal DSP-16 (PSS) and generic Windows
> >Sound System. I also fixed a few problems in the sb.c driver. This update
> >is intended for those who want a look at what is going on. It is hoped that
> >we will get more soundcard drivers in the near future - expecially the
> >GUS.
> 
> John, this looks great.  
> 
> >Here are some open issues and things to think about (and discuss)
> >- -----------------------------------------------------------------
> >- - What about MIDI (Mike Long sent me a quick and dirty little driver
> >  that I might try out on the Cardinal) ?
> 
> I think there was some discussion about this before; I remember some agreemen
t
> that access to the MIDI UART could be made general, but playing MIDI files
> was still an open issue.
I'm wondering about timing issues in playing MIDI. Does anyone know what
constraints are present as far as timing in MIDI ?

> 
> >- - Can this framework be general enough for the Sparc ? Others ports with
> >  sound suport ?
> 
> I can't see any inherent reasons why other ports couldn't use the bsd_audio
> framework.
> 
> >- - More drivers needed - GUS
> 
> Ok, I am going to make a very strong effort to get the GUS stuff I have worki
ng;
> I'll try to send something out in a few weeks.
Great.

> 
> >[pss]
> >	- Driver currently only works with ad1848 SoundPort device.
> >	- Tested on Cardinal DSP-16; should work on other PSS achitecture
> >	  boards.
> >	- Hope to add MIDI support soon.
> >	- Hope to be adding custom DSP algorithm to support full-duplex audio
> >	  for MBONE applications.
> >	- enable CD interface passthru
> >	- Game port driver
> >	- Suggestions solicited on the slave driver approach. See conf/SUSSEX
> 
> It might be worthwhile to make a separate game port driver; I know the GUS ha
s
> one as well.  I was under the impression that the hardware interface was the
> same, as they all have to be accessed the same way under DOS.
> 
> I am a little confused by the slave driver stuff you did ... what exactly do
> the sp and mpu devices do?
> 
The 'sp' device is the SoundPort part (ad1848). The 'mpu' is the MIDI port. The
PSS is a controller in as such taht you need to program the ASIC bus interface
telling it what iobase/irq/dma channel is used for each feature. By making
the pss driver a "controller" it sets up the interfaces correctly and calls
on the "slaves" to do the chip/device specific functions. Using this, I can
have a generic ad1848 driver that can be shared between the pss and wss (and
possible the new GUS). Also the CD rom port should be able to use the 'mcd'
or 'aic6360' driver to control the player. Same for the game and MIDI ports.



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 John Brezak                    UUCP:     uunet!apollo.hp!brezak
 Hewlett Packard/Apollo         Internet: brezak@ch.hp.com
 300 Apollo Drive               Phone:    (508) 436-4915
 Chelmsford, Massachusetts      Fax:      (508) 436-5140