Pro Audio Spectrum 16 for 2.3.99 and later
=========================================
by Thomas Molina (tmolina@home.com)
last modified 3 Mar 2001
Acknowledgement to Axel Boldt (boldt@math.ucsb.edu) for stuff taken
from Configure.help, Riccardo Facchetti for stuff from README.OSS,
and others whose names I could not find.

This documentation is relevant for the PAS16 driver (pas2_card.c and
friends) under kernel version 2.3.99 and later.  If you are
unfamiliar with configuring sound under Linux, please read the
Sound-HOWTO, linux/Documentation/sound/Introduction and other 
relevant docs first.

The following information is relevant information from README.OSS
and legacy docs for the Pro Audio Spectrum 16 (PAS16):
==================================================================

The pas2_card.c driver supports the following cards --
Pro Audio Spectrum 16 (PAS16) and compatibles:
        Pro Audio Spectrum 16
        Pro Audio Studio 16
        Logitech Sound Man 16
        NOTE! The original Pro Audio Spectrum as well as the PAS+ are not
              and will not be supported by the driver.

The sound driver configuration dialog
-------------------------------------

Sound configuration starts by making some yes/no questions. Be careful
when answering to these questions since answering y to a question may
prevent some later ones from being asked. For example don't answer y to
the question about (PAS16) if you don't really have a PAS16.  Sound
configuration may also be made modular by answering m to configuration
options presented. 

Note also that all questions may not be asked. The configuration program
may disable some questions depending on the earlier choices. It may also
select some options automatically as well.

  "ProAudioSpectrum 16 support",
        - Answer 'y'_ONLY_ if you have a Pro Audio Spectrum _16_,
          Pro Audio Studio 16 or Logitech SoundMan 16 (be sure that
          you read the above list correctly). Don't answer 'y' if you
          have some other card made by Media Vision or Logitech since they
          are not PAS16 compatible.
          NOTE! Since 3.5-beta10 you need to enable SB support (next question)
          if you want to use the SB emulation of PAS16. It's also possible to
          the emulation if you want to use a true SB card together with PAS16
          (there is another question about this that is asked later).

  "Generic OPL2/OPL3 FM synthesizer support",
        - Answer 'y' if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
	  The PAS16 has an OPL3-compatible FM chip.

With PAS16 you can use two audio device files at the same time. /dev/dsp (and
/dev/audio) is connected to the 8/16 bit native codec and the /dev/dsp1 (and
/dev/audio1) is connected to the SB emulation (8 bit mono only).


The new stuff for 2.3.99 and later
============================================================================
The following configuration options from linux/Documentation/Configure.help
are relevant to configuring the PAS16:

Sound card support
CONFIG_SOUND
  If you have a sound card in your computer, i.e. if it can say more
  than an occasional beep, say Y. Be sure to have all the information
  about your sound card and its configuration down (I/O port,
  interrupt and DMA channel), because you will be asked for it.

  You want to read the Sound-HOWTO, available from
  http://www.tldp.org/docs.html#howto . General information
  about the modular sound system is contained in the files
  Documentation/sound/Introduction. The file
  Documentation/sound/README.OSS contains some slightly outdated but
  still useful information as well.

OSS sound modules
CONFIG_SOUND_OSS
  OSS is the Open Sound System suite of sound card drivers. They make
  sound programming easier since they provide a common API. Say Y or M
  here (the module will be called sound.o) if you haven't found a
  driver for your sound card above, then pick your driver from the
  list below.

Persistent DMA buffers
CONFIG_SOUND_DMAP
  Linux can often have problems allocating DMA buffers for ISA sound
  cards on machines with more than 16MB of RAM. This is because ISA
  DMA buffers must exist below the 16MB boundary and it is quite
  possible that a large enough free block in this region cannot be
  found after the machine has been running for a while. If you say Y
  here the DMA buffers (64Kb) will be allocated at boot time and kept
  until the shutdown. This option is only useful if you said Y to
  "OSS sound modules", above. If you said M to "OSS sound modules"
  then you can get the persistent DMA buffer functionality by passing
  the command-line argument "dmabuf=1" to the sound.o module.

  Say y here for PAS16.

ProAudioSpectrum 16 support
CONFIG_SOUND_PAS
  Answer Y only if you have a Pro Audio Spectrum 16, ProAudio Studio
  16 or Logitech SoundMan 16 sound card. Don't answer Y if you have
  some other card made by Media Vision or Logitech since they are not
  PAS16 compatible.  It is not necessary to enable the  separate
  Sound Blaster support; it is included in the PAS driver.

  If you compile the driver into the kernel, you have to add
  "pas2=<io>,<irq>,<dma>,<dma2>,<sbio>,<sbirq>,<sbdma>,<sbdma2>
  to the kernel command line.

FM Synthesizer (YM3812/OPL-3) support
CONFIG_SOUND_YM3812
  Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
  Answering Y is usually a safe and recommended choice, however some
  cards may have software (TSR) FM emulation. Enabling FM support with
  these cards may cause trouble (I don't currently know of any such
  cards, however).
  Please read the file Documentation/sound/OPL3 if your card has an
  OPL3 chip.
  If you compile the driver into the kernel, you have to add
  "opl3=<io>" to the kernel command line.

  If you compile your drivers into the kernel, you MUST configure 
  OPL3 support as a module for PAS16 support to work properly.
  You can then get OPL3 functionality by issuing the command:
  insmod opl3
  In addition, you must either add the following line to 
  /etc/modules.conf:
  options opl3 io=0x388
  or else add the following line to /etc/lilo.conf:
  opl3=0x388


EXAMPLES
===================================================================
To use the PAS16 in my computer I have enabled the following sound
configuration options:

CONFIG_SOUND=y
CONFIG_SOUND_OSS=y
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_PAS=y
CONFIG_SOUND_SB=n
CONFIG_SOUND_YM3812=m

I have also included the following append line in /etc/lilo.conf:
append="pas2=0x388,10,3,-1,0x220,5,1,-1 sb=0x220,5,1,-1 opl3=0x388"

The io address of 0x388 is default configuration on the PAS16.  The
irq of 10 and dma of 3 may not match your installation.  The above 
configuration enables PAS16, 8-bit Soundblaster and OPL3
functionality.  If Soundblaster functionality is not desired, the
following line would be appropriate:
append="pas2=0x388,10,3,-1,0,-1,-1,-1 opl3=0x388"

If sound is built totally modular, the above options may be 
specified in /etc/modules.conf for pas2.o, sb.o and opl3.o 
respectively. 
