00
        SB16 SOUND CARD DRIVER

 CONTENTS:
 Index
 0CCompatibility
 P0Configuration Parameters
 MIInput Controls
 MOSignal Generation, Main Output Controls
 MSSynthesizer Channel Menus
 rhRevision History
 tmTrademarks


0C
 COMPATIBILITY:
 This driver was specifically designed for the Creative Labs
 tmSound Blaster 16 family of boards, including Sound Blaster PnP
 models, Sound Blaster 32, Sound Blaster 64, ViBRA, WavEffects,
 etc.  It is not designed for PCI models.

 The Creative Labs product line includes a wide variety of
 models (more than 50) that are nominally compatible with this
 driver.  Each has slightly different features and
 specifications, some of which are undocumented (such as data
 polarity and exact input sensitivity).  These variations are
 supported via special SB16.ADC P0configuration parameters.

 This driver includes Gdfull duplex support for the STIM3
 SGStimulus Generator module, which means that it can produce
 stimulus signals from the GDDACs while it is acquiring data from
 the GAADC.  (Alternatively, it can produce stimuli from the
 on-board A3OPL3 synthesizer.)  However, most boards allow only
 8-bit DAC outputs with 16-bit ADC inputs, or 16-bit DAC
 outputs with 8-bit ADC inputs... you can't have both the same.

 Creative Labs WavEffects and ViBRA models CT4170, CT4171, and
 CT4172 do allow both ADC and DAC bit widths to be the same,
 providing simultaneous 16-bit ADC inputs and DAC outputs.
 This feature is supported by means of special hardware that is
 automatically detected by the driver.

 This driver also allows optional PLLPT printer port use for
 ArAverager or DcDDisk remote controls, TPstimulus pulse generation,
 and TEexternal sweep triggering.

 This driver does not directly configure PnP (Plug 'n Play)
 cards.  It reads the base address of the card from the BLASTER
 environment string, which should be set by a PnP configuration
 manager such as CTCM, or via a SET BLASTER= line in your
 AUTOEXEC.BAT file.

 You can override this address via the PAA: parameter on the
 SB16.ADC line of the UfDQA.CFG file, but that doesn't
 actually change the card setting.

 The A: parameter may be needed if you are using a second sound
 card, or you use another configuration manager that doesn't
 set the BLASTER string.  You will then need to use another
 method to 0Pdetermine the base address of the card.


P0
 CONFIGURATION PARAMETERS:

    P1Parameter Overview
    PAAddress
        PaSeparate Mixer Address
        0PPnP Address Determination
    PBBits Preset (8 or 16) for ADC or DACs
    PCChannel (Input)
    PDDMA Level (8-bit), PHHigh DMA Level (16-bit) and PIIRQ
        PcClearing or Keeping Board Registers (Advanced Users)
    PGGain Calibration
        PsSample Rate Calibration (Advanced Users)
    Help PFFile Omit
    PLLPT Printer Port I/O
    iPNNvert Data Polarity
    POOutput Gain, OPL3 (CT417x only)
    Data Buffer (PQQueue) Length
    PRRange Preset, Input
    PSStimulus Source Preset, STIM3 or OPL3 Synth
    ePXXclude Bad Sample Rates


P1
 PARAMETER OVERVIEW:
 This driver allows you to specify certain parameters on the
 SB16.ADC line, which must be the second line of the UfDQA.CFG
 file.  Each parameter is given as a letter and colon, followed
 immediately by a value.  Use one or more spaces to separate
 parameters.  For example:
    SB16.ADC    A:h220  D:1  H:5  I:5
 The order of the parameters is generally not important, except
 as noted below for the PDD: and H: DMA parameters if you don't
 also use a PBB: Bits parameter.

 Daqarta will read the BLASTER environment string, if it is
 present, and use that to set the PAAddress, PIIRQ, and DMAs.  If
 the mixer chip uses a different address than the DSP, which is
 a possibility with PnP models, then the BLASTER string will
 also include an M value which Daqarta will use.  Setting an
 A:, I:, D:, or H: value on the SB16.ADC line will cause that
 value to be used in preference to the equivalent BLASTER
 value.  A special PaA:M parameter allows you to set a different
 mixer address.

 You may need to override the BLASTER settings if there is more
 than one sound card in your system, since there will be only
 one BLASTER string in the environment.  You can view the
 BLASTER string by entering SET at the DOS prompt.

 On most systems, you can probably omit all parameters and
 accept the BLASTER values when you are getting started.
 Later you can add parameters for advanced features.

 On PnP cards, the D:, H:, and I: parameters will be ignored,
 since these are read directly from the board and can only be
 changed by the 0PPnP configuration manager.  (CT417x ViBRA /
 WavEffects boards may require an H: parameter, however.)

 The configuration manager must appear in CONFIG.SYS or
 AUTOEXEC.BAT to configure the PnP card properly before Daqarta
 runs.  This actually sets the physical address of the card,
 and without it the card is invisible to your system.

 Daqarta will exit with an error message if it finds a problem
 in the SB16.ADC parameters.  Once Daqarta is running, you can
 check to see which parameters have been set by the BLASTER
 string, configuration line, or default, by checking the board
 information summary available via the ALT-H H5Plug-In Help
 system.


PA
 A: ADDRESS:
 Use this to tell Daqarta the base I/O address for your SB16
 card.

 You only need to give this parameter if the BLASTER string
 in your DOS environment is not correct.  This normally
 appears as a SET BLASTER= line in AUTOEXEC.BAT for non-PnP
 cards.  For PnP cards BLASTER is set by the CTCM configuration
 manager that may be invoked from either AUTOEXEC.BAT or from
 CONFIG.SYS.  (You can view all the strings in the environment
 by entering SET at the DOS prompt.)

 The A parameter in the BLASTER string must correspond to the
 base address of the card, whether set via jumpers on the card
 or by CTCM for a PnP card.  The most likely reason for the
 BLASTER string being wrong is that you have more than one
 sound card installed, and the single BLASTER string is for
 another card.

 If you do need to give the A: parameter here, note that all
 Daqarta parameters require a colon, and that you should use an
 'h' prefix before hexadecimal values, as in:

    SB16.ADC    A:h240

 Compare this to the BLASTER format, which would be just A240.
 The default address for SB16.ADC is hex 220, which will be
 used if there is no BLASTER string and no A: parameter.

 Daqarta checks at the address given, and if it does not find a
 valid tmSound Blaster-compatible board there it exits with
 a message giving the address it tried:

    'Sound Blaster 16/32/64 board not found at 0240h.'

 The only exception is if you set A:0 to allow 0Aviewing of this
 board H0Help system without having a board installed or properly
 configured.

 If it finds a board at the given address, Daqarta checks the
 DSP version number.  The DSP is the Digital Signal Processing
 chip that controls the sampling process, and different chips
 have different capabilities.  Different DSP version numbers
 also signify other differences between board models, such as
 which mixer or FM synthesizer chip is present.  This driver
 requires DSP version 4.00 or above, which indicates support
 for 16-bit operations.  If it is less than that, Daqarta will
 exit with a message telling you what was found and what was
 needed, as in:

   'Board found with DSP version 02.10.
    Requires Sound Blaster 16 board or equivalent,
        version 4.00 or above.'


Pa SEPARATE MIXER ADDRESS:
 Sometimes PnP cards may be 0Pconfigured with the mixer functions
 in a different address range than the base (DSP) address given
 by the PAA: parameter (or the A parameter in BLASTER).  In that
 case, the BLASTER environment will also have an M parameter
 present.  This driver normally responds to that automatically,
 but if you have more than one card there will only be a single
 BLASTER string.  If the card that you want to use with this
 driver is not the one in the string, and if it has a different
 mixer address, then besides giving the A: parameter you must
 also give an A:M parameter.

 For example, if you want to use a card with a base address of
 240h and a mixer address of 260h, you would give:

    SB16.ADC    A:h240   A:Mh260

 Note the 'h' before the value to indicate hexadecimal.  If
 you give an A: parameter but no A:M parameter, then the mixer
 address is assumed to be the same as the base address... the
 usual case.


0P PnP ADDRESS DETERMINATION:
 PnP (Plug 'n Play) models don't use jumpers to select the base
 address.  A special PnP configuration manager must be run
 first to set the address of the board, as well as the IRQ and
 DMA levels... there are no jumpers for these on the board.

 The configuration manager does this via a cumbersome process
 involving a single pair of I/O ports through which any PnP
 device in the system may be queried as to its capabilities,
 and then appropriately configured.  Prior to this, the board
 is "invisible" to your system.

 There are two aspects of the PnP configuration that are
 important here:
 ■  Configuring the board with a configuration manager.
 ■  Determining what that configuration is, in order to set
    the SB16.ADC line of UfDQA.CFG properly.  You will only
    need to do this if you have more than one sound card, and
    the PnP configuration manager does not set the BLASTER
    environment string for the one you want.

 The normal Creative installation process should have provided
 a DOS Configuration Manager called CTCM.EXE, which will have
 been inserted into your CONFIG.SYS or AUTOEXEC.BAT file.
 (DWCFGMG.SYS is an alternate PnP manager that may be used in
 CONFIG.SYS, but it uses 1700 bytes of low DOS memory whereas
 CTCM does not, and doesn't set the BLASTER string in the DOS
 environment.)

 If you have a Windows 9x system, CTCM should be in your
 C:\WINDOWS\DOSSTART.BAT file.  This is the file that is
 supposed to perform tasks similar to AUTOEXEC.BAT when you
 select 'Start ... Shut Down ... Restart in MS-DOS Mode'.

 Some newer Creative CD-ROMs don't install CTCM.EXE on a
 Windows 9x system.  Instead, each time Windows performs the
 'Restart in MS-DOS Mode', it runs CTPNP.EXE.  This will refuse
 to configure your board, reporting that your PnP configuration
 has changed and instructing you to run Windows again...
 endlessly.

 In this case you must manually install CTCM.EXE from a DOS /
 Windows 3.1 setup.  The problem is that even though there is a
 complete WIN31 installation directory present on the Creative
 CD, you can't install anything from it on a Windows 9x system!
 Creative is aware of this problem, but the best they can
 suggest for now is visiting their Website and downloading a
 700 Kbyte file called CTCMBBS.EXE which has the entire set of
 Windows 3.1 files, from which you can select CTCM.EXE.  At
 present, it's at:
    http://www.soundblaster.com/creative/patches/ctcmbbs.exe

 You might instead find a Windows 3.1 system to install your
 board in temporarily, and then just copy CTCM.EXE from that.
 Since CTCM.EXE is not board-specific, you could also use a
 copy from another system, even one with a different Creative
 PnP board.

 Each time CTCM.EXE runs, it creates a little file called
 CTPNP.CFG in the directory it's invoked from.  That would be
 the root directory if running from AUTOEXEC.BAT or CONFIG.SYS
 in a DOS system, or C:\WINDOWS if running from DOSSTART.BAT
 in Windows 9x.

 CTPNP.CFG is a plain ASCII text file that can be viewed with
 any text editor or word processor.  Look for a section that
 starts with the name of your board in brackets, such as:
    [SB16]
    Disable=0
    Csn=1
    CardId=CTL0044
    Serial=1001511f
    LogDev=0
    Port0=220
    Port1=330
    Port2=388
    Irq0=5
    Dma0=1
    Dma1=5

 The first sound card listed is evidently the one used to set
 the BLASTER string.  Enter SET at the command prompt to see
 all the environment strings.  The above card would appear as:
    BLASTER=A220 I5 D1 H5

 The environment will have only a single BLASTER line, even if
 you have more than one sound card in your system.  If the card
 you want to use is not the one on the BLASTER line, you will
 need to locate its entry in CTPNP.CFG and use the Port0 value
 to set the A: parameter.

 In the above example, Port0=220 translates to A:h220.  (Don't
 forget the colon, or the 'h'!)  All you would need is:
    SB16.ADC    A:h220
 (Actually, you would not even need to give the A: parameter in
 this example, since hex 220 is the value Daqarta assumes.)

 You can ignore the Irq0, Dma0, and Dma1 values (which would be
 I, D, and H values in the BLASTER line, or I:, D:, and H: as
 Daqarta parameters), because Daqarta reads those directly from
 the card.

 The exception is for CT417x ViBRA or WavEffects models, which
 don't use a normal High DMA H: value (5, 6, or 7) but two low
 values (0, 1, or 3) instead.  Since the board register only
 allows one low value (for D:), the low H: value must be
 supplied manually unless it is the driver default value of
 H:3.  Use the value shown as Dma1 in CTPNP.CFG.  (Or from the
 Windows Device Manager Resources list... see below.)

 ┌────────────────────────────────────────────────────────┐
 │  CAUTION:                                              │
 │  CTCM may set the BLASTER environment to the same      │
 │  value for both D and H on CT417x models, even though  │
 │  CTPNP.CFG correctly shows different values for Dma0   │
 │  and Dma1.  If you just accept the BLASTER settings    │
 │  without giving an H: parameter, Daqarta will be       │
 │  forced into ADC-only operation.                       │
 └────────────────────────────────────────────────────────┘

 Under rare circumstances, you may need to change the PnP
 settings used by CTCM in a DOS system.  Creative provides the
 CTCU Configuration Utility for this purpose, which should have
 been installed in the same directory as CTCM.  Use this with
 caution, and be sure to run the Test option to avoid conflicts
 with other hardware.

 Windows provides an easier way to change these PnP settings.
 Go to "My Computer - Control Panel - System - Device Manager"
 and click on your sound card, then on "Resources".  Make sure
 the "Use Automatic Settings" is unchecked, then scroll the
 "Basic Configuration 000x" setting until you find the one you
 want.  As you scroll to each new configuration, you will see
 the cards addresses, IRQ, and DMA channels change in the
 window.

 Windows will tell you if it finds a conflict between the new
 Basic Configuration and your current setup.  For example, it
 may tell you that the new IRQ is in use by another device.
 You may want to change the other device to resolve the
 conflict.

 Note in particular that if you remove a device (like a prior
 sound card), Windows will show that device as unavailable
 (with a yellow exclamation mark in the Device Manager list),
 and if you click on that device it will show that it is not
 in use.  But for some reason, Windows is not smart enough to
 release its resources.  Thus, when you install your new sound
 card, Windows may not allow it to use the resources you want,
 unless you go to the old device and change its resource
 allocation, or delete it completely.

 This can be a particular problem with the CT417x ViBRA models,
 because when you do the normal installation it may appear
 that everything went OK, while in fact Windows may have picked
 a Basic Configuration that only uses one DMA channel (the one
 you would set with the D: parameter) in order to avoid some
 (perceived) DMA conflict.  That's the same configuration that
 CTCM will use later when run from DOS.

 Unfortunately, CTCM always reports the H value equal to the D
 value for these models (which use two low DMA channels), and
 sets the SET BLASTER line accordingly.  It never shows the
 actual second DMA channel that it set, if any.  If none
 appeared in the Basic Configuration, then no matter what you
 tell Daqarta as the H: parameter, there will be none
 configured on the card itself.  The result is that the board
 will seem to work OK when you are simply acquiring data (which
 uses only the D: channel), but will hang when you turn on a
 STIM3A (or old STIM3) output, due to the missing second
 channel.


PB B: BITS PRESET (8 or 16) for ADC or DACs:
 This parameter allows you to specify the AbADC bits or the
 DbDAC bits (for Gdfull duplex mode) as 8 or 16.  For most
 SB16/32/64 models you can only specify one of these, since the
 other is the opposite.  The default is 16-bit ADC and 8-bit
 DACs.

 If you prefix the bits value with a 'D', you specify DAC bits
 instead of ADC, as in:
    SB16.ADC    B:D16
 In this case, since the DACs are now 16-bit, the ADC will be
 8-bit.

 CT417x ViBRA / WavEffects models allow independent control
 over ADC and DAC bits... both may be set to 16, for instance.
 The default is still 16-bit ADC and 8-bit DACs, so the above
 configuration would retain the 16-bit ADC while setting 16-bit
 DACs.  To set the ADC, either use an 'A' prefix or none:
    SB16.ADC    B:A8  B:D16
 would set 8-bit ADC and 16-bit DACs.

 ┌─────────────────────────────────────────────────────────┐
 │  Note that 'D' usage has changed from earlier versions  │
 │  of this driver.  It now refers to DAC, not Duplex.     │
 │  Full duplex mode is now assumed if the STIM3.GEN       │
 │  driver is present.                                     │
 └─────────────────────────────────────────────────────────┘

 The DAC bits selected here, either via B:Dn or by default to
 B:D8, are passed to the SGSTIM3.GEN driver when it initializes
 so it can configure itself to accomodate this data size.
 STIM3 does not allow DAC bits to change during operation, so
 for normal SB16/32/64 models that means the ADC bits can't be
 changed either... even if the DACs are not turned on in the
 STIM3 menu.  Only the CT417x ViBRA / WavEffects models allow
 ADC bits to be changed during operation, since they are
 independent from DAC bits in those models.

 If you omit the STIM3.GEN line from UfDQA.CFG, then AbADC bits can
 toggled between 8 and 16 while running, regardless of model.

 If you omit the B: parameter entirely, the (initial) ADC bits
 will be determined by the order of the PDD: and H: parameters,
 if present.  The B: parameter always overrides this.

 Note that full duplex mode requires different D: and H:
 values.  You can't use a single DMA channel for both ADC and
 DAC data, so ADC-only operation will be assumed if you set
 H: equal to D: for non-PnP models, or if 0PCTCM sets it on PnP
 models.  This allows 16-bit ADC operation over a single 8-bit
 DMA channel.  If you also imply DAC operation via B:Dn,
 Daqarta will exit with:
    'Full duplex mode requires H: value 5, 6, or 7.'

 Or, on a CT417x ViBRA / WavEffects board:
    'CT417x (ViBRA) models require H: value 0, 1, or 3.
     H: value must be different from D: value for full duplex.'

 If CTCM has set H: equal to D: on a PnP model, it may be
 possible to use the CTCU Configuration Utility to change
 the settings.  Use this with caution, since it can cause
 conflicts with other hardware.

 ┌────────────────────────────────────────────────────────┐
 │  NOTE:                                                 │
 │  CTCM may set the P1BLASTER environment to the same      │
 │  value for both D and H on CT417x models, even though  │
 │  0PCTPNP.CFG correctly shows different values for Dma0   │
 │  and Dma1.  If you just accept the BLASTER settings    │
 │  without giving an H: parameter, Daqarta will be       │
 │  forced into ADC-only operation.                       │
 └────────────────────────────────────────────────────────┘

PC
 C: CHANNEL (Input):
 This parameter allows you to change the default AsInput channel
 that will be used when you first activate this driver via the
 BiBoard option.  This parameter requires either a number or a
 letter (case-insensitive):
                     Number   OR   Letter
    Mic                C:0          C:M
    CD R               C:1          C:D
    CD L               C:2          C:C
    Line R             C:3          C:R
    Line L             C:4          C:L
 As a mnemonic for the CD selection letters, think of the C and
 D as the left and right letters in 'CD'.  The letter codes are
 the same as those for the PGG: Gain calibration parameter.

 For example, to select the Mic input as the default, you could
 use either:
     SB16.ADC    C:0
 or
     SB16.ADC    C:M

 Channel numbers are reported in the Daqarta 0ltitle line as
 "Ch0" instead of "M" or "Mic" for file compatibility between
 different boards.

 These values are also the number of up-arrow key presses you
 would enter to set a desired input via a K0Key Macro after using
 KOKeyOn, which forces the Mic input.

 The default value is the Left Line input (Line L), which is
 Ch4.

PDPHPI
 D: DMA LEVEL (8-bit), H: HIGH DMA LEVEL (16-bit), and I: IRQ:
 ┌─────────────────────────────────────────────────────────┐
 │  PnP boards are set ONLY by the 0Pconfiguration manager.  │
 │  They do not accept D:, H:, or I: parameters except in  │
 │  the case of CT417x ViBRA / WavEffects models, which    │
 │  require H: to be set manually if other than the H:3    │
 │  default.  Otherwise, they are ignored.                 │
 └─────────────────────────────────────────────────────────┘

 Non-PnP boards allow software selection of RdDMA and IRQ
 levels, which can override the jumper settings on the board.
 Many programs look for a BLASTER= environment string, which
 may have been set into your AUTOEXEC.BAT file by SBCONFIG.EXE
 when you installed your board.  They then use those DMA and
 IRQ values instead of the jumper settings.

 Daqarta will use the BLASTER environment string, but also
 allows you to use different settings, for example to avoid
 some conflict that doesn't arise when using other programs.
 Daqarta reads the old settings before changing anything, and
 restores them on Q0Quit.

 The D: parameter specifies the DMA level for 8-bit operation
 while the H: parameter is for 16-bit operation.  The driver
 will start in the mode that corresponds to whichever of these
 is given last.  For example, if you give:
    SB16.ADC1   D:1  H:5  I:5
 the driver will start in 16-bit mode.  If no DMA parameters
 are given, the default mode is also 16-bit.  However, if the
 PBB: parameter is given to preset ADC Bits, that has priority
 over the mode inferred from D: and H: order.

 Allowable values for D: are 0, 1, or 3.  The factory default
 is 1.

 Allowable values for H: are normally 5, 6, or 7.  The factory
 default is 5.  CT417x ViBRA / WavEffects models use H: values
 of 0, 1, or 3 with a default of 3.

 Note, however, that you can set the H: value to match the D:
 value.  This is used to notify the SB16.ADC driver that you
 wish to use the 8-bit DMA channel specified by the D:
 parameter for 16-bit data as well.  Two 8-bit DMA transfers
 are then used for each 16-bit data value, tying up more of the
 CPU time.  You thus should use this only if you don't have an
 available 16-bit DMA channel on your machine.

 This single-channel mode is not compatible with Gdfull duplex
 mode, which requires separate DMA channels for ADC and DAC
 data.  If you set D: and H: equal and have also used PBB:Dn
 to specify DAC bits, Daqarta will exit with
    'Full duplex mode requires H: value 5, 6, or 7.'

 Or, on a CT417x ViBRA / WavEffects board:
    'CT417x (ViBRA) models require H: value 0, 1, or 3.
     H: value must be different from D: value for full duplex.'

 Otherwise, non-duplex mode will be selected by default if
 single-channel DMA is specified.  No DACs will be visible for
 the SGSTIM3.GEN driver, so it should not be included in your
 UfDQA.CFG file in this case.

 ┌────────────────────────────────────────────────────────┐
 │  NOTE:                                                 │
 │  CTCM may set the BLASTER environment to the same      │
 │  value for both D and H on CT417x models, even though  │
 │  0PCTPNP.CFG correctly shows different values for Dma0   │
 │  and Dma1.  If you just accept the BLASTER settings    │
 │  without giving an H: parameter, Daqarta will be       │
 │  forced into ADC-only operation.                       │
 └────────────────────────────────────────────────────────┘

 The I: parameter specifies the Interrupt Request level (IRQ)
 used when servicing DMA interrupts.  The need for this
 interrupt should not be confused with Riinterrupt-driven
 sampling used for RrRTime operation on some "basic" laboratory-
 type boards, where an interrupt request is generated for each
 sample acquired.  Here the IRQ is used only in conjunction
 with DMA sampling, to signify the completion of an entire
 buffer full of data.  It does NOT require the special D!DDISK13
 driver that interrupt-driven boards may need for DiDDisk
 operation.

 Allowable values for I: are 2, 5, 7, or 10.  The factory
 default is 5.  Note that 2 and 10 use the second (AT)
 interrupt controller and hence use a second End Of Interrupt
 (EOI) command that is not needed when using 5 or 7.  Although
 the time to give this extra command is unlikely to ever be a
 problem, you might want to use 5 or 7 if there is no other
 conflict.

 IRQ 2 is really the same as IRQ 9, and Daqarta will accept
 I:9 instead of I:2.

  ┌──────────────────────────────────────────────────────────┐
  │ NOTE:  If you don't give Daqarta one or more of these    │
  │ parameters, it will read them from the board.  However,  │
  │ any program that runs before Daqarta in the same DOS     │
  │ session may change non-PnP board settings to something   │
  │ you don't intend for Daqarta.  (Unlikely, but possible.) │
  └──────────────────────────────────────────────────────────┘

 The safest course in this case is to always set D:, H:, and I:
 parameters on non-PnP boards.  If you have a SET BLASTER line
 in your AUTOEXEC.BAT file, you should start with the same
 values for D:, H:, and I: on the Daqarta ADC configuration
 line.  Note that Daqarta requires the : to be inserted between
 the letter and value.


Pc CLEARING OR KEEPING BOARD REGISTERS (Advanced Users):
 The values you enter for D:, H:, and I: are normally used only
 for the current Daqarta session.  On Q0Quitting Daqarta, the
 settings are restored to their previous values, which were
 read from the board registers at the start of the session.
 This insures that Daqarta never disturbs any other use of your
 SB16 board.

 However, even when the SB16 is not in use, it hogs those DMA
 and IRQ numbers, preventing other boards from using them.
 (Unless it is a PnP board that has not been set up by a
 0Pconfiguration manager, in which case it is invisible to the
 system.)

 To get around this conflict, this driver allows you to control
 the settings that are stored in the SB16 board registers.
 Note that using this option may cause conflicts with other
 software that uses the SB16 board, so caution is advised.

 ┌────────────────────────────────────────────────────────────┐
 │  The following instructions apply only to non-PnP boards.  │
 │  Only the configuration manager can make changes to PnP    │
 │  boards.                                                   │
 └────────────────────────────────────────────────────────────┘

 If you give any of the above D:, H:, or I: parameters with a
 C just before the value, as in:
    SB16.ADC    D:C1   H:C5   I:C7
 then when you Quit Daqarta the board registers will be Cleared
 so that the relevant DMA or IRQ numbers can be used by any
 other device.

 Of course, it is assumed here that the other device can
 perform a similar function so that when it is not in use it
 will not conflict with the SB16.  That would be the case if
 the other board was another SB16, or a laboratory-type board
 such as the DAS-16 where DMA and IRQ values are activated by
 software.

 Conversely, you can use a K instead of the C to Keep the
 relevant value when you Quit Daqarta, and it will be set
 into the board register regardless of what value may have
 been present at startup.

 In either case, the C or K only applies to the specific
 parameter it appears with.  You may mix and match as needed,
 and any parameter that has neither of these will have its
 initial value restored upon Quit.


PF
 F: HELP FILE OMIT:
 This driver normally attempts to load this associated Help
 file on start-up, and exits with an error message if it can't
 find it.  Setting F:0 on the ADC Ufconfiguration line tells the
 driver not to look for the file.  You would probably only want
 to use this option if you are really short of DOS memory,
 since loading the Help file only increases memory use by a few
 hundred bytes for its separate link stack and directory.  (The
 file itself shares the text buffer of the Main Help file.)

 Note that ALL Help files, including main, can be omitted via
 an F:0 parameter on the INIT line (first line) of the DQA.CFG
 file.  If this is present, no individual module Help will be
 loaded.

PG G: GAIN CALIBRATION:
 This parameter allows the calibration of each input channel to
 be preset to user-specified full-scale values.  Note that this
 does NOT actually change the sensitivity of the input... for
 that see the PRR: parameter to preset the input Range.
 Instead, the G: parameter allows you to compensate for
 externally-applied Gain from a preamp or attenuator, for
 example.

 It also allows correction for the differing undocumented
 sensitivities of various Sound Blaster models.

 The G: parameter is similar to the main UvUser Unit/V Factor
 control, except that here the Gain may be different for
 different inputs.  When you switch between them via the
 AsInput item of the B1Board menu, the range calibration will
 change to match.  Note, however, that all inputs are assumed
 to have the same units, which you can change via the main
 UnUser Units Name control.

 The G: parameter must be followed by a letter to indicate the
 input it applies to, followed by the sensitivity value.  For
 example,
    SB16.ADC     G:M12.34
 specifies that the Microphone input has a sensitivity of 12.34
 Volts full-scale on Range 0.  The actual Range may be preset
 via the PRR: parameter or the board menu AcRange control, and the
 sensitivity will be scaled appropriately.  See the ACCalibration
 section for details on setting the G: value for ranges other
 than 0.

 The input letter codes (case-insensitive) are:
    M   Microphone
    L   Left Line
    R   Right Line
    C   Left CD
    D   Right CD
    A   All inputs (except Microphone)
 As a mnemonic, think of the C and D letters as the left and
 right letters in 'CD'.  (These are the same letter codes that
 can be used with the PCC: Channel parameter.)

 The value that follows the input letter may be either a normal
 decimal value or may use 0E"European" notation, with the units
 prefix replacing the decimal.  The prefix character must be
 one of the Spstandard scientific prefixes recognized by Daqarta,
 which also allows 'u' instead of 'µ' and 'K' instead of 'k'.
 Otherwise, this is case-sensitive: 'm' is 'milli' and 'M' is
 'Mega', for instance.

 Neither the integer nor fraction part of the entry may exceed
 65535.  If no integer part is desired, you MUST include a
 leading 0 as a placeholder, as in 'G:M0m12345'.  If no
 fraction part is desired, it may be omitted completely.
 The following are all valid entries:
    SB16.ADC     G:m12u345   ; 12.345 microVolts on Microphone
    SB16.ADC     G:L123.45   ; 123.45 Volts on Left Line
    SB16.ADC     G:r10       ; 10 Volts on Right Line
    SB16.ADC     G:C10m      ; 10 milliVolts on Left CD
    SB16.ADC     G:d0f999    ; 0.999 femtoVolts on Right CD

 You may use separate G: parameters for as many of the inputs
 as desired.  The rest will remain at default values, which are
 21.25 mV for the Mic input and 1.712 V for all others.

 The values entered this way have no effect on which input is
 selected at startup... that's always Left Line unless set
 otherwise via the PCC: Channel parameter.

 Note that the G:An option to change All inputs (except Mic) is
 handy for compensation of undocumented sensitivity differences
 of Sound Blaster models.  The ACCalibration section describes
 how to measure the sensitivity of your particular board.

Ps
 SAMPLE RATE CALIBRATION (Advanced Users):
 This SB16 driver is calibrated to report accurate X0sample rates
 on both normal and CT417x ViBRA / WavEffects models.  If your
 board differs from this calibration by a small percentage
 (such as if your crystal reference time-base is out of spec),
 you can modify the values reported to Daqarta.

 You will need to make an accurate measurement of the actual
 sample rate for a given setting.  This requires a frequency
 counter that you trust more than the crystal on the board.
 Ideally, it should have a "period" mode to measure the
 duration of a single cycle, since this typically gives higher
 resolution with audio frequencies.

 The basic idea is to use SGSTIM3 to generate a pure sine wave
 whose frequency is locked to the sample rate.  Measuring the
 sine wave frequency then allows you to calculate the actual
 sample rate.

 Connect the Right output (Line or Spkr) to the input of the
 frequency counter, and also to the Line input for monitoring.
 If you use the Right Line Asinput, make sure it's selected on
 the B0Board menu.  Move down to the AgStimulus item in that menu
 and toggle it to StGen if it isn't already.  Set the Right
 AdOutput to -18 GadB or so initially, so the monitored level is
 not too big for the input.

 Using the X0X-axis menu (CTRL-X), set the Xfsample rate to 44100
 Hz for a normal SB16/32/64 or to 48000 Hz for a CT417x ViBRA /
 WavEffects model.  These are the reference values for the
 respective time-bases.

 Hit the R-key to go to RrRTime operation, which is needed to
 produce continuous tones.

 Use CTRL-G to bring up the main STIM3 control menu, and toggle
 Master to On.  Move down to DAC 1 (not DAC 0) and toggle that
 On as well.  You should see a default 100 Hz waveform on the
 trace.  Hit the F0F-key and you will note that it does not fall
 exactly on a spectral line... it's spread out with tf"skirts".
 Hit the X-key to XtXpand the trace for a closer view.

 Use CTRL-PgUp to go to the STIM3 Misc menu, then move down to
 the Step Hz item, which will show Off.  Hit ENTER 3 times
 until the item title changes to Step N and the item changes to
 Tone.  Now move down to the step value below and enter 2.
 This will force output frequencies to move in steps of 2
 spectral lines, assuming Np1024 point FFTs, or single lines for
 the default 512 point FFTs which we are assuming here.

 Now use CTRL-PgUp to go back to the main STIM3 control menu,
 and go to DAC 1 Adjust and hit ENTER to bring up the submenu.
 Change Freq and the spectrum will instantly lock to a single
 line.  Set Freq to 1000 Hz or so and note the spectral line
 number, not counting the 0th (DC).  For example, with a 44100
 Hz sample rate and 512 point FFT, the 12th line will be at
    (12 / 512) * 44100 =  1033.59375 Hz

 Now read the period from the counter, and take the reciprocal
 to find the true frequency.  To find the true sample rate,
 just plug back into the above relationship in reverse:
    Sample Rate = Frequency  *  (512 / 12)

 Or just use the period directly:
    Sample Rate = (512 / 12) / Period

 The sample rate step size is found by dividing the true sample
 rate by the step number, which is 248 if you had set 44100 Hz
 on a normal board, or 270 if you had set 48000 Hz on CT417x
 ViBRA / WavEffects board.  Normal (default) step sizes are
 thus 44100 / 248 = 177.8225807 or 48000 / 270 = 177.777778,
 respectively.

 All actual sample rates are multiples of this step size, from
 a factor of 28 at the lowest sample rate, to a maximum of 255.
 The CT417x models are an exception, however, in that the
 actual factors run from 28 to 254, then jump to 270 instead of
 255 to get the maximum rate of 48000 Hz.  This driver detects
 CT417x models and automatically adjusts the step size and
 handles the 48000 Hz jump.

 If your measurements indicate a need to change the step size,
 you must first multiply it by 100 to get to the resolution
 that is used internally.  Enter the value on the SB16.ADC
 configuration line using the PGG: parameter with an S prefix on
 the value, as in:
    SB16.ADC    G:s17782.25807

 The default values are 17782.25807 and 17777.7778
 respectively.  The parameter input system can only handle
 values of 65535 or less in the integer or fraction portions,
 so you can't extend the decimal places beyond these.

 Also, the step value is specifically limited to a range from
 16000 to 20000, which amounts to +/- 10% from the nominal
 value.  In reality, it is rare for a crystal-controlled system
 to be off by even 1% unless the crystal is defective.

 (Note that early versions of this driver used an equivalent
 factor of 17800.00000, so the indicated sample rates were
 about 0.10% higher than actual.)


PL
 L: LPT PRINTER PORT I/O:
 This is a powerful option that gives digital I/O capabilities
 to your SB16 board by utilizing a conventional printer port.
 If you specify L:1 on the Ufconfiguration line, for example,
 LPT1 will be used to provide optional TEexternal triggering,
 TPstimulus pulse output, ArAverager remote control, and
 DcDDisk remote control.

 The DB25 pin assignments for these (all standard mTTTL) are:
    Stimulus Pulse       OUT      2
    DDisk Remote         IN      12
    Averager Remote      IN      13
    External Trigger     IN      15

 If the LPT number is not in the range of 1 to 4, Daqarta will
 exit immediately with:
    'LPT value out of range.'

 Most computer systems come with a single standard printer
 port, and if you need more than that you will have to install
 a separate board.  All DOS systems can support ports LPT1
 through LPT3 "naturally", without special software.  The
 system BIOS keeps a record of the location of each LPT that it
 recognizes, and that record is consulted to validate the LPT
 value that you use here.  If there is no entry for the LPT
 number you give (L:3 in this example), Daqarta exits with a
 message like:
    'LPT3 not recognized by BIOS.'
    'BIOS recognizes only LPT1 to LPT2.'
 where the message will reflect actual LPT availability.

 Problems may be due to adding a new printer port board and
 getting the jumpers or switches wrong.  Most boards allow
 designation as LPT1 or LPT2.  If you need to add LPT3, be
 sure the board allows it before you buy.  Some boards allow
 LPT4 use, but not all systems support this.  For example,
 IBM PS/2 systems use the LPT4 location in the BIOS data area
 for other purposes.

 You can use the LTEST.EXE utility supplied with Daqarta to
 see the port addresses corresponding to each LPT, as read from
 the BIOS data area just like this driver does.  A typical
 display would be:
          ┌────────────────────────────┐
          │ Printer Port assignments:  │
          │    LPT1: 0378h             │
          │    LPT2: 0000h             │
          │    LPT3: 0000h             │
          │    LPT4: 9FC0h             │
          └────────────────────────────┘
 In this example, only LPT1 is installed, at address 378h.
 LPT2 and LPT3 are available, but LPT4 is clearly in use
 for something else.  LPT ports are always assigned
 consecutively by the BIOS, so this can't be a hidden port.
 It's also beyond the highest possible port address of 3FFh.

 Even if LTEST shows that the LPT4 location is available to
 install a new port, you may need to run special software
 (supplied with your port board) to make use of it... not all
 BIOSes will assign this automatically on start-up.

PN N: INVERT DATA POLARTIY:
 This parameter relates to the absolute polarity of the GAADC and
 GDDAC data.  The original SB16 boards invert both of these:
 Positive input voltages are converted by the ADC to negative
 values, and negative values are converted by the DACs to
 positive output voltages.  Certain other models don't invert,
 or only invert the DAC outputs, etc.

 To insure that the displayed trace polarity matches the true
 input polarity, and that the true output polarity matches the
 specified stimulus waveform, Daqarta must know about any
 signal inversions so it can compensate.

 The SB16.ADC driver assumes an original SB16 board, with both
 ADC and DAC inversions.  If your board is different, use the
 N: parameter to set the correct polarity.
    SB16.ADC    N:B         ;Corrects Both ADC and DAC
    SB16.ADC    N:A         ;Corrects ADC polarity only
    SB16.ADC    N:D         ;Corrects DAC polarity only
    SB16.ADC    N:M         ;Corrects Mic input polarity only

 Most boards will need N:B if they need any correction at all.
 Note that "correction" means that your board does NOT invert
 polarities like the original SB16 does, meaning the inputs
 and/or outputs will seem to be inverted since Daqarta is
 correcting for an inversion that is not actually present.

 However, at least one CT4171 ViBRA model inverts the DACs
 but not the ADC, so you will need to use N:A to correct only
 the ADC.

 Further, some models may treat the Mic input differently than
 the Line and CD inputs.  If this is the case, apply any needed
 overall correction as above, then add N:M to correct the Mic.

 Unfortunately, Creative Labs does not document which of their
 numerous SB16, SB32, and SB64 models invert data and which do
 not.  Even if they did, the model number can only be found by
 looking at the board itself, not from any software tests...
 and there are more than 50 models supported by this driver.
 So the only way to be sure is to test this for yourself.

 This is easy if you have access to a laboratory function
 generator with adjustable waveform symmetry, and a scope to
 see what the true waveform looks like:  You just create a
 skewed waveform and see if the Daqarta trace is skewed the
 same as the scope trace, or create a tone burst with a
 known initial polarity and see if the burst starts the same
 way on the Daqarta trace.  If not, use the N: parameter.

 If you don't have such equipment handy, you can improvise.
 An ordinary signal diode will rectify a sine wave to produce
 a waveform with easily-identified polarity.  (Be sure to
 use the diode orientation shown.  The bar on the diode symbol
 corresponds to the band on the actual device, which will be
 the positive output.)

                 Diode
     Sine  >──────├──────┬──────> Rectified Sine
      In                  │        to SB16 Line In
                         10k
                          │
      Gnd  >──────────────┴──────> Gnd

 You can use the SB16 to create the sine, either from the A3OPL3
 synthesizer or the SGSTIM3 Stimulus Generator.  The half-wave
 rectified sine wave thus produced will have the positive peaks
 from the original wave, but the negative portions of the sine
 will be clipped off.  However, since the SB16 inputs are
 AfAC-coupled, the waveform shown by Daqarta will still be
 approximately centered about zero.  Instead, look for the
 rounded sine wave peaks:  If they are on top, everything is
 OK.  Otherwise, you need to use the N: parameter.

 Using the optional PLLPT Pulse output is even simpler, since
 unlike DAC outputs there ARE standard polarities for printers.
 This test also allows you to check trigger alignment at the
 same time (see the PQQ: parameter section).

 Set the OPL3 Left Synth output to CbBurst mode using the default
 values for CFFreq, CdDelay, CrRise, etc.  The AoMaster Outputs must be
 On, but you are not really going to use the synth output
 itself for this test, just its timing.  Instead, connect the
 Pulse output from the LPT port to the Left Line input.  Go to
 the TCSource item in the T0Trigger control menu and set it to
 TPPulse, and leave the T+Slope set to the default Pos position.

 You should see a large positive pulse at the beginning of the
 trace.  This pulse will probably be clipped, since it is
 larger than the OTinput range of the Sound Blaster even on
 AcRange 0, but the polarity should be obvious.  If the trace
 shows a negative pulse, you need to use the N: parameter.

 If you determine from these tests that the N: parameter is
 required, use the N:B form since the ADC polarity and the
 DAC polarity will be the same.  Only if you need to produce
 inverted stimuli for some special purpose would you need to
 use the N:A form.  (You would use N:D if you want inverted
 stimuli but your ADC polarity is already correct.)

 Once the ADC polarity is correct, the true DAC polarity will
 be seen simply by connecting the board output to the input
 with STIM3 active.  The actual trace should look like the
 small Stimulus Display which is normally superimposed over the
 upper part of the waveform when the STIM3 control menu is
 visible (CTRL-G).

PO O:V OPL3 OUTPUT GAIN (CT417x only):
 CT417x ViBRA / WavEffects models have an undocumented gain
 switch that can provide a +6 GadB boost to the output.  If
 you give the O:V parameter, this gain will be applied to
 the A3OPL3 synth outputs only.  Even with this activated,
 the actual OPL3 output level on these models is still 6 dB
 lower than the AdDAC outputs.

 This has no effect upon the values reported by the Synth
 ClLevel controls, which are relative to maximum output.
 Only the actual output level is affected.

 Since this feature is undocumented by Creative Labs, there is
 no assurance that it will be present on all CT417x models,
 especially in the future.

 If you give this parameter on any other board, it will simply
 be ignored.


PQ Q: DATA BUFFER (QUEUE) LENGTH:
 Beginning with DSP version 4.13, 16-bit Sound Blasters use an
 extended internal buffer for incoming data, such that ADC
 values are reported 8 samples later than in earlier versions.
 This driver compensates for that automatically.  However, if a
 still longer buffer is used on future models, the Q: parameter
 allows you to supply the correct compensation.

 To determine if this parameter is required, you need to
 produce an input with a sharp leading edge.  The PLLPT Pulse
 output discussed in the PNN: parameter polarity test section can
 serve for this, or you can use the SGSTIM3 Stimulus Generator in
 PBfull duplex mode.

 Here is a typical DAC setup for STIM3:
    Freq = 200 Hz
    Phase = 90 degrees (start at sine peak)
    Start = 0
    Rise = 0
    Sustain = 0
    Fall = 512
    Level = 100%

 This will produce a sharp positive edge and a decaying sine
 wave.  The wave decays to zero so that there is no transient
 when it goes off, which avoids confusion with the onset.

 If the leading edge does not start at the trigger point (at
 the left end of the trace when TdTrigger Delay = 0), then you
 must determine how many samples of correction are required.
 Note that you may need to use a small T-negative trigger delay
 to be sure you are actually seeing the leading edge.

 Use the XtXpand option and L0Line0 display to see individual
 samples, and count from the trigger point to the start of the
 transient.  The trace cursor only moves among actual samples,
 so you can count the number of key hits it takes to move it
 between these points.

 This is the value that you must add to the default Q: value to
 get the proper Q: value.  The default is 8 for DSP versions
 4.13 and above, or 0 for earlier versions.  You can read the
 DSP version from the board information summary available via
 the ALT-H H5Plug-In Help system.

 CT417x ViBRA / WavEffects models are exceptions, and use a
 default of Q:0 even with DSP versions above 4.13.  Note
 that these models have a lag of about 200 microseconds on
 A3OPL3 synthesizer CbBurst or CgGap onsets, which is independent
 of the Q: setting.


PR R: RANGE PRESET, INPUT:
 This R: parameter allows you to preset the Range of the input.
 You can also change it at any time during operation via the
 AcRange control of the B1Board menu.

 Note that the R: parameter (or Range control) changes the
 actual input sensitivity like a level control, whereas the
 PGG: parameter simply changes the calibration factor so that
 different Y-axis values are shown without affecting the actual
 size of the signal.

 Ranges may be preset to any value between 0 and 13.  For
 example, set range 9 with:
    SB16.ADC     R:9

PS S: STIMULUS SOURCE PRESET, STIM3 OR OPL3 SYNTH:
 When full Gdduplex mode is available (SGSTIM3 Stimulus Generator
 is loaded and PDD: and H: DMA channels are available), then the
 AgStimulus source control in the main Board control menu can be
 toggled between Synth (the built-in A3OPL3 synthesizer) and
 StGen (the STIM3 system) to provide stimulus outputs.

 The S: parameter allows you to preset the Stimulus source.
 The default is S:0 for Synth, but if you set S:1 (or any
 non-zero value) the initial board menu will show StGen for
 this item and the Synth MOmain output controls will be
 replaced by those for the AdLeft and Right DAC Outputs, plus
 a DbDAC Bits display.


PX
 X: eXCLUDE BAD SAMPLE RATES:
 The official Creative Labs developer's kit indicates that the
 SB16 X0sample rate may be set to any integer value between 5000
 and 45000 Hz inclusive.  In reality, the true sample rates can
 be set only in 177.82258 Hz steps from 4979 to 45345.  To
 insure accuracy, this driver only sets and reports the true
 values.

 However, an apparent flaw in early DSP designs results in
 sample rates that are wildly different from the settings at
 5868, 22939, 25784, and 28629 Hz.  This driver normally does
 not allow you to set these... it selects the nearest correct
 value instead.

 For DSP versions 4.13 and above, there is no problem at these
 frequencies and this driver automatically enables them.  You
 can manually force them to be eXcluded via X:1 or enabled by
 X:0 on the Ufconfiguration line.

 Note that CT417x ViBRA / WavEffects models move in steps that
 are slightly smaller (177.77779 Hz) and have a top step of
 48000 Hz, but do not exhibit the above sample rate problem.

MI
 INPUT CONTROLS:
 AsInput Source
    AfInput Frequency Response
    FmMeasuring Input Frequency Response
    AIInput Impedance
 AcRange
    ACCalibration
    OLOverload Limits
    OTOverload Threshold Table
    OMMeasuring Overload Limits
 AmMicrophone Gain and AGC
 AbADC Bits
 AgStimulus Source Control

As
 INPUT SOURCE:
 This allows selection of the active input, which can also be
 pre-set via the PCC: parameter on the second (ADC) line of
 the Ufconfiguration file.  Daqarta refers to each input as a
 "Channel" on the main 0ltitle line:

    Mic                 Ch0
    CD R                Ch1
    CD L                Ch2
    Line R              Ch3
    Line L              Ch4

 The power-on default is 'Line L' or Ch4.  The CD and Line
 inputs are equivalent in OTsensitivity, whereas the Mic
 input is much more sensitive.

 The Line input is the upper jack on the edge connector, and
 the one below it is the Mic input.  For "tower" cases, the
 "top" of the edge connector is the end opposite the multi-pin
 MIDI connector.

 If you plug one of the standard cables that come with many
 boards into the Line input, the red phono connector is the
 Line Right input... R for Red and Right.  The remaining phono
 connector (white or black) is then the Line Left input.  If
 you plug the same cable into the Mic input instead, only the
 left phono connector is the active Mic input... the right one
 is not used.

 The CD inputs are only on the board itself... they don't
 appear on the rear panel.  These "extra" inputs are handy for
 rapid switching between different signals.  One excellent use
 is to OImonitor the direct stimulus (such as from the built-in
 A3OPL3 synthesizer) that you are using to drive your experiment.
 This allows you to verify timing, waveform, spectrum,
 rise/fall shapes, and so on.

 You can buy a CD-ROM cable for a few dollars and snip off the
 CD connector, leaving only the end that plugs in to the SB16.
 Then wire the free end to your choice of connectors mounted on
 a spare card-slot cover plate.

 There are different styles of connector that you may find on
 the board.  The original white CD connector pins are spaced on
 2mm centers, so they are not compatible with the standard 0.1
 inch connectors that are readily available (such as in your
 junk box).  Later models may have a larger black connector
 that uses the 0.1 inch spacing.

Af
 INPUT FREQUENCY RESPONSE:
 All inputs are AC-coupled, which means they do not pass DC
 levels.  Instead, they have mFhigh-pass filters with -3 GadB
 cutoffs that differ among the various models.  Early SB16s
 have a cutoff of about 40 Hz.  The sensitivity is down about 1
 dB at 100 Hz, 3 dB at 40 Hz, and 15 dB at 10 Hz.

 Later models like the SB32 have much better low frequency
 response, with -3 dB cutoffs of a few Hertz.

 All models contain automatic tAanti-alias filtering, performed
 by the DSP chip.  This results in the high frequency response
 being determined by the X0sample rate, but it is typically
 down by 0.25 dB for input signals at 90% of the maximum for
 that rate... for example 20 kHz where the maximum is 22 kHz
 when sampling at 44 kHz.


Fm MEASURING INPUT FREQUENCY RESPONSE:
 You will need a separate "known flat" sine wave oscillator,
 since the A3OPL3 synthesizer has its own CFresponse fall-off at
 low and high frequencies, as do the DAC outputs used for SGSTIM3
 stimulus generation.  Use the F2Y-log (Power Spectrum) mode to
 read GadB directly.  Set the A3Spectrum Averager to AmPeak mode, and
 set ASSweeps to Continuous (enter 1 or less).

 For best frequency resolution, you may want to measure the
 low-frequency response separately.  Use the lowest X0sample rate
 the board allows (4979 Hz), and set the Npnumber of points to
 1024.  Start with the input frequency at about 500 Hz.  Now
 slowly adjust it down to zero and a low-frequency response
 curve will appear.  If you move the frequency too quickly, you
 will get dips in the response curve.  Just go back and fill
 them in by moving more slowly... the ability to do this is one
 of the advantages of Peak mode.

 To plot the high frequency response, simply repeat the above
 frequency adjustment for the higher input frequencies.  Be
 sure to set a higher sample rate after the above tests...
 select a rate typical of your anticipated use.

 The above spectral methods are not very good for measuring the
 extended low-frequency response of some models, since even at
 the lowest sample rate the frequency resolution is 4.86 Hz.
 Instead, you may want to determine the low-frequency response
 by computation from a waveform measurement of the step
 response time constant.

 If you don't already have a laboratory-type function generator
 or other source of very slow square waves, you can use the
 TPStimulus Pulse output from an PLLPT printer port.  You should
 see an initial step transient at the trigger point, which then
 slowly decays.  Set the minimum sample rate and N = 1024 to
 see as much of this as possible.

 Set a slightly negative Tdtrigger delay, so you can see the
 waveform level just before the leading edge:  It might not be
 what you expect, since the transient from the prior pulse
 going off (or square wave going negative) may not have decayed
 completely.  Now measure the height of the peak relative to
 this baseline, then the height of another point near the right
 end of the trace, and record the time difference.

 The RC time constant of the input circuit will then be the
 time difference divided by the natural log of the ratio of
 the heights:

    RC  =  (t1 - t2) / ln(V2 / V1))

 If you are able to measure the peak as indicated, the value of
 t1 will be zero.  But often there is a little ripple on any
 transient like this, due to the anti-alias filter operation.
 You can thus measure at a nearby point... the formula works
 for any two points, but the greater the difference, the better
 the accuracy.  Note that the 0rcursor readout will show the time
 difference directly.  (Be sure to subtract the baseline from
 each height measurement before taking their ratio.)

 The -3 GadB cutoff is then given by the standard mFhigh-pass
 filter formula, using the lumped RC time constant instead
 of separate R and C values:

    f3 = 1 / (2 * pi * RC)

AI
 INPUT IMPEDANCE (Creative Labs specifications):
 Mic.........   600 ohms
 CD.......... 50000 ohms
 Line........ 47000 ohms


Ac
 RANGE:
 The value selected here controls input sensitivity, as
 indicated by the 0YY-axis if you are viewing a waveform or
 linear F0magnitude spectrum.  (The F2Y-log Power Spectrum is
 always relative to full-scale sensitivity for the range, so
 its axis doesn't change.)  Higher Range values give higher
 input sensitivity.  The exact sensitivity depends on the
 AsInput selected, as well as any PGGain parameter, so you should
 refer to the Y-axis values.

 Each Input has its own Range setting (and could likewise have
 its own Gain ACcalibration), so you can maintain different
 sensitivities appropriate for the signal connected to each
 input.  When you select a different Input, the Range that was
 previously set for that input is automatically used.

 The Range settings run from 0 to 13, with sensitivity
 increasing in approximately 2 GadB steps.  These correspond to
 the board's internal mixer ranges of 18 to 31.  Less sensitive
 mixer ranges are not allowed here, since they give dangerously
 misleading results.

 Consider that on the least-sensitive Range 0 allowed here
 (mixer range 18), a 1 Volt rmRMS input just reaches the board's
 input overload point of +/- 1.414 Volts.  But at that level it
 doesn't produce a maximal output from the Analog to Digital
 Converter (GAADC)... that would require about +/- 1.8 Volts.
 The Daqarta Y-axis is calibrated for this Full Scale value at
 unity Fmtrace magnification.

 Now suppose you could use the internal mixer range 0, which
 would attenuate all signals a further 36 dB or a factor of 63.
 Full Scale on such a range would be +/-113 Volts... guaranteed
 to smoke your board!

AC CALIBRATION:
 Note that you can use the PGG: parameter to calibrate each of
 the Asinput sources for different external Gains.  The values
 entered via the G: parameter refer only to Range 0.  If you
 want a certain calibration on another range, you must compute
 the equivalent setting on Range 0 when setting the G:
 parameter.

 The simplest way to do this is to apply a calibration signal
 of known amplitude to the desired input on the desired range.
 A sine wave of 500 to 1000 Hz is best, since you can use F0FFT
 mode to view its magnitude directly on a 0rcursor readout.
 (Very high or low frequencies run the risk of being unduly
 affected by the Affrequency response of the board.)  You can
 use the built-in A3synthesizer to generate the sine wave, and
 measure its output with an external voltmeter that is accurate
 enough to serve as the calibration reference.

 Adjust the sine CFfrequency or the X0sample rate to get minimum
 tfspectral leakage "skirts".  If you are simultaneously reading
 the sine amplitude with an external AC voltmeter, use the
 Daqarta UrRMS magnitude mode for direct comparison without
 calculations.  Most meters are calibrated to read in RMS Volts
 with a sine wave input, even if they do not use rmtrue RMS for
 correct results with complex waveforms.

 (This method only works with sine waves.  If you must use a
 different waveform, you will need to measure peak-to-peak
 or zero-to-peak values while viewing the waveform directly.
 You can use the ZaZeroP option to read zero-to-peak from a
 single cursor readout without subtraction.  Of course, you
 will also need a way to know the peak value by independent
 means.  Remember that there may be waveform changes due to the
 frequency response of the board.)

 Now divide the true (voltmeter) value by the cursor readout
 to find the factor that must be multiplied by the full-scale
 Gain value to make the cursor readout match the meter.  It
 doesn't matter what Range you used for the measurements, since
 the same factor will be automatically applied to all ranges.

 But the G: parameter must be specified for Range 0, so
 multiply by 1.79 Volts for Line or CD inputs, or by 15.45 mV
 for Mic input, and use that value as the G: parameter for the
 given input.

 As you change Range settings, the internal Range gain and the
 external Gain factor are combined appropriately to insure that
 the Daqarta Y-axis always shows the proper values.


OL
 OVERLOAD LIMITS:
 If the input signal exceeds the limits of the board input
 amplifier, distortion will be produced regardless of the
 Range setting.  The input mixer can also be overdriven at
 levels lower than this on all ranges beyond Range 0.  In
 either of these overload conditions, the top and/or bottom of
 the waveform will become flattened or "clipped" to the
 limiting value.  This produces distortion, mostly odd
 harmonics of the input fundamental frequency if the signal is
 a symmetrical waveform.

 If the signal is much larger than the mixer limit, the GAADC
 itself can be overdriven.  In this case, the distortion is
 much more spectacular, since inputs that exceed the ADC
 full-scale value will "roll over" and reappear as the opposite
 polarity.  This will totally trash your signal into spiky,
 incoherent garbage!

OT OVERLOAD THRESHOLD TABLE:
 All values in mV.  Measured on SB16 model CT1740.

        ------- CD or Line -----     -------- Microphone -----
 Range   rmRMS     0-peak     p-p       RMS      0-peak     p-p
  0     1000     1414      2828        80       113       226
  1      820     1160      2320        70        99       198
  2      657      929      1858        55        78       156
  3      515      728      1456        43        61       122
  4      410      580      1160        32        45        90
  ...
  At higher sensitivities, the distortion threshold decreases
  at approximately 2 GadB per range step.

OM MEASURING OVERLOAD LIMITS:
 The most sensitive test to determine the overload point on any
 given AsInput or AcRange is to use a low-distortion sine wave as
 the input signal.  The built-in A3OPL3 synthesizer is not really
 "low distortion", and its software ClLevel control resolution is
 only 1 GadB, but this is probably adequate for most purposes.

 Adjust the signal frequency to about 500 Hz and set the level
 for a mid-range waveform that is not obviously distorted.
 Observe the F2power spectrum and fine-tune the signal frequency
 for a single line spectrum without "tfskirts".  Start with a
 X0sample rate of around 20 kHz, but if your signal source
 doesn't allow fine adjustment you can tweak the sample rate to
 get the single line spectrum.

 Now slowly raise the signal level until you see a forest of
 lines arise from the spectrum noise floor.  This is the onset
 of distortion.  To increase your ability to determine the
 exact threshold as you raise and lower the level slightly, use
 a small amount of A0signal averaging, say 16 or 32 ASsweeps, in
 the AeExponential mode.  This will reduce the noise floor jitter
 and make the onset of distortion stand out more clearly,
 although you must adjust levels slowly to allow time for the
 exponential decay of the averaging.

 After you find the distortion threshold in this manner, it is
 quite revealing to see how much higher you must raise the
 input level before you can detect any distortion when viewing
 only the waveform display.

Am
 MICROPHONE GAIN and AGC:
 For the Mic input, the board allows a choice of either a
 normal Fixed gain stage or an Automatic Gain Control (AGC)
 stage that will seek to keep the signal at a fixed level.

 ┌────────────────────────────────────────────────────────┐
 │  NOTE:  Not all 16-bit Sound Blaster models actually   │
 │  include an AGC control, and its presence is neither   │
 │  documented nor directly detectable via software.      │
 └────────────────────────────────────────────────────────┘

 The AGC stage has a basic sensitivity that is 10 times
 greater than the Fixed stage, as long as the input signal is
 kept below the AGC action threshold.  Daqarta assumes you
 will be running at these lower levels when you activate the
 AGC option, and reports the 0YY-axis values accordingly.

  ┌───────────────────────────────────────────────────────┐
  │ CAUTION:  There is no indication when AGC threshold   │
  │ has been exceeded.  Consult the ATtable below and       │
  │ familiarize yourself with where these levels appear   │
  │ on the screen at the relevant Fmtrace magnifications.   │
  └───────────────────────────────────────────────────────┘

 The AGC action is not instantaneous.  If the level suddenly
 increases after a long period at a low level, the AGC will
 take about 15 or 20 msec to reduce the gain.  The initial part
 of the signal will thus be grossly distorted until the AGC
 catches up.  The "release" from AGC action is much slower.

 If you want to see the AGC action for yourself, connect one of
 the A3synthesizer outputs back to the Mic input.  Set up a tone
 Cbburst on that MSchannel that lasts most of the trace... say 400
 samples if you are using NpN = 512 samples.  Set the Clthumbwheel
 to maximum (assuming you have no external amplifier).

 Now adjust the ClLevel control and watch what happens.  If you
 start off at a high level and suddenly reduce it, the trace
 will reduce and then slowly grow back up to the original size.
 Keep reducing the level until you no longer see the growth
 action.  You might suppose that this is the AGC action
 threshold, but in reality the repeating tone bursts keep
 nudging the AGC so that it never really reaches maximum gain.

 Next, hit the S-key to activate the SsSingle Sweep option.  The
 trace should look almost identical.  After the sweep, the
 system will be in P0Pause mode, so there will be no tone bursts
 going to the input and the AGC will start to increase its gain
 as much as possible in a futile attempt to maintain its target
 level.  Wait about 10 seconds and take another Single Sweep.
 Now you should see the first part of the tone burst at a
 higher level, maybe even distorted, then smoothly fading down
 to the prior level.

 The action threshold is the level below which there is no
 change between a live trace and a sweep taken after many
 seconds, after the AGC has supplied all the gain that it can.

 In unusual circumstances you might consider using the AGC for
 its intended purpose, with larger signals whose levels
 fluctuate so greatly that a single fixed range would be
 inadequate.  In this case there is no effective sensitivity
 calibration... every input comes out the same!  But there is a
 way that may allow a measurement or at least an estimate of
 the true input signal level:

 If there is some low-level component of the signal that is NOT
 variable, such as background noise, it will also be affected
 by the AGC as it operates on the higher-level signal.  So if
 the "constant" background appears larger, it means more gain
 has been used to bring the overall signal to the AGC level.
 You can thus use the background as an indication of the AGC
 gain.  If you are going to set up an experiment specifically
 to use this idea, you could deliberately add a low level tone
 for this purpose.  The tone should stand out clearly on a
 spectrum display.

 Besides losing the range calibration, however, there is one
 more penalty for using AGC in its active region:  It adds a
 certain amount of distortion to your signal.  Since one
 important use of AGC might be to look at the relative
 strengths of various frequency components even if the overall
 level is changing, you must take this distortion into
 consideration.  The AGC could be changing the very components
 you are interested in!

AT AGC ACTION THRESHOLD TABLE:
 The AGC action threshold varies with input range.  All values
 are in mV.  Measurements made on SB16 model CT1740.

    Range       rmRMS        0-peak      peak-peak
    0           6.15        8.70        17.39
    1           6.15        8.70        17.39
    2           5.50        7.78        15.56
    3           4.34        6.14        12.28
    4           3.42        4.84         9.67
    5           2.72        3.85         7.69
  ...
  At higher sensitivities, the AGC threshold decreases at
  approximately 2 GadB per range step.


Ab
 ADC BITS:
 The SB16 boards allow either 8-bit or 16-bit data acquisition.
 In non-Gdduplex mode the ADC Bits control allows you to change
 this during operation.  Unless storage space for long
 DiDirect-to-Disk (DDisk) files is a real problem, the 16-bit
 mode is a better choice for most non-duplex work.

 In full duplex mode the ADC Bits control is "locked out" for
 most models.  That's because they require the ADC bits to be
 the opposite (8 or 16) of the DAC bits, and the DAC bits are
 set at start-up (via the PBB:Dn parameter or default of 8) for
 SGSTIM3 module initialization.

 Only the CT417x ViBRA / WavEffects models allow independent
 control of ADC bits and thus allow access with STIM3 present.
 In that case you will probably want to set B:D16 to use 16-bit
 DAC outputs, and set the ADC to 16-bit as well.

 But for other models the DAC outputs will be 8-bit when the
 ADC is 16-bit and vice-versa, so choice of ADC bits in full
 duplex mode is not as simple as for non-duplex operation.  For
 example, if the DACs will be used to produce auditory stimuli
 and the ADC to record physiological responses to those
 stimuli, 8-bit ADC resolution may be more than adequate for
 typical noisy electrode signals.  In this case, 16-bit DAC
 resolution might be used to insure minimal audible distortion
 in the stimuli, and natural dither in the response can allow
 more than 8-bit resolution from the ADC via waveform
 averaging.

 On the other hand, the typical distortion with 8-bit DACs is
 on the order of -48 GadB, not easily audible with continuous
 tone stimuli and probably of no consequence for the vast
 majority of "threshold response" test types.  So the 16-bit
 ADC could be used instead with a reduced input sensitivity,
 allowing increased immunity to input overloads caused by
 low-frequency ARartifacts.  The sensitivity could be reduced by
 a factor of up to 16 while still preserving 8-bit resolution.

 For dIintermodulation distortion measurements, even on
 loudspeakers or other non-biological systems, the dHharmonic
 distortion of the sources may be irrelevant and 8-bit DACs
 would be perfectly adequate if the dMproper techniques are used.

 Each type of measurement should be considered separately, and
 possibly tested with both bit configurations for optimal
 results.


Ag
 STIMULUS SOURCE:
 The default Stimulus source is Synth, which means the built-in
 A3OPL3 Synthesizer is used to generate stimuli.  When this
 option is set, the menu below the Stimulus source shows the
 MOmain output controls for the synth, and the CTRL-PgUp /
 PgDn keys are available to bring up the Left and Right
 MSSynth control menus.

 If the SGSTIM3 Stimulus Generator module is also loaded, then
 the Stimulus source may be optionally toggled to StGen for
 full duplex output from the DACs.  (If STIM3 is not present,
 then the Stimulus source option is locked to Synth.)

 When you toggle the Stimulus source to StGen (or use the PSS:1
 configuration parameter option), the lower menu is replaced
 with the StGen AdOutput level controls for the Left (DAC 0) and
 Right (DAC 1) outputs, and the CTRL-Pg keys are disabled.  In
 addition, an information display shows the DbDAC Bits (8 or 16),
 which is the opposite of the ADC bits in use for most models.

 Alternatively, whenever you activate one or both DAC outputs
 from the the STIM3 control menu (CTRL-G), then the Synth
 AoMaster Outputs control will be toggled Off and the Stimulus
 control will be forced to StGen mode automatically.

 As a safety measure, turning the DACs off from the STIM3 menu
 will NOT restore any prior Synth output... you must return to
 the SB16 Board control menu (CTRL-B) and manually toggle
 Stimulus to Synth and Master Outputs to On.  (If you have a
 need to rapidly toggle between these different stimulus
 sources, you can easily create a K0Key Macro for that purpose.)


MO
 SIGNAL GENERATION, MAIN OUTPUT CONTROLS:

 StGen (STIM3) Stimulus:
    AdLeft and Right DAC Output Levels
        SfDAC Output Frequency Response
    DbDAC Bits Display

 OPL3 Synthesizer Stimulus:
    A3Yamaha OPL3 Synthesizer
    CzOutput Loading Requirement
    AoMaster Outputs
    AxNorm / Swap
    AAOutput Switching
        AnL  R
        ALL  L
        ARR  R
        AlL
           ArR


Ad StGen DAC OUTPUT LEVELS:
 These controls only appear when the AgStimulus source is set to
 StGen for use with the SGSTIM3 Stimulus Generator.  Output Left
 corresponds to STIM3 DAC 0, and Right corresponds to DAC 1.

 ┌──────────────────────────────────────────────────────────┐
 │                                                          │
 │  NOTE that if you are using SB16 with SGSTIM3A, the        │
 │  STIM3A Output dB control takes over to allow 0.01 dB    │
 │  resolution over the entire SB16 attenuator range.       │
 │  The SB16 control is then readout-only, showing the      │
 │  portion of the total attenuation due to the SB16 alone. │
 │                                                          │
 │  If you want to keep the controls separate, use the A:2  │
 │  parameter on the STIM3A.GEN line in the UfDQA.CFG file.   │
 │                                                          │
 └──────────────────────────────────────────────────────────┘


 Both controls are in GadB below maximum output.  Note that the
 maximum output on some models may be set by a thumbwheel on
 the back of the board.  (See the Synth ClLevel section for more
 information and cautions on setting the thumbwheel.)

 All values other than zero are negative, but you don't need
 to include the minus sign when entering them directly...
 Daqarta will supply it automatically since there can be no
 values above zero.

 When adjusting the output levels with the cursor keys, the
 up-arrow gives more output, which means the GadB values become
 smaller (less negative).

 Attempting to set a value below 120 dB (84 dB for CT417x ViBRA
 / WavEffects models) changes the level display to OFF and
 gives a much greater attenuation.  The actual leakage in this
 state has not been measured.

 The resolution of the output level controls is 2.0 dB for all
 models except the CT417x ViBRA / WavEffects, which use 1.5 dB
 steps.  The step size has been found to be quite accurate.
 (Note that this resolution is not quite as good as that for
 the A3OPL3 synthesizer, which has an additional control in the
 OPL3 itself.)

 In general, you should always use these output controls and
 leave the level controls in the STIM3 DAC submenu set to 100%
 wherever possible.  That will insure that the stimulus has
 minimum distortion and maximum dynamic range.  However, if you
 need finer resolution than 2 dB, use the STIM3 controls only
 to provide the difference.

 For example, to create a stimulus with a level of -13.4 dB,
 set -12 dB here and set an equivalent -1.4 dB with the STIM3
 Level control.  That value turns out to be 85.1%, as tabulated
 in the Attenuation vs Level table in the STIM3 Help system.

 Consider using K0Key Macros to simplify setting these uneven
 values.

 The actual output level is greater from the Spkr output than
 the Line output, typically by a factor of x4 or x5.  Your card
 may have separate outputs, or there may be a pair of jumpers
 to change between Spkr and Line.  (See your manual.)

 For CT417x ViBRA / WavEffects models, note that the DAC output
 is actually about 12 dB greater than the ClSynth output for
 equivalent attenuation values.  You may be able to boost the
 synth levels by 6 dB via the POO:V parameter.

Sf DAC OUTPUT FREQUENCY RESPONSE:
 The DAC outputs have a much better frequency response than the
 CFOPL3 synthesizer.  Note, however, that the OPL3 uses a fixed
 sample rate of 49.7 kHz, while the DACs must use the same rate
 as the ADC (45.39 kHz maximum).  Just like the OPL3 outputs,
 the DACs are subject to Cmmodulation artifacts that result from
 interactions between the stimulus frequency and the sample
 rate.

 This low frequency modulation of the stimulus is worse at
 higher frequencies, but typically does not become evident (as
 observed on an external analog oscilloscope) until the
 stimulus frequency approaches about 40% of the sample rate,
 which is 80% of the full X-axis (tANyquist) frequency.

 Thus if you operate with a sample rate of 40 kHz, you will
 need to use special caution with stimulus frequencies above
 about 16 kHz.  There is also an overall DAC frequency response
 that rolls off the highest and lowest frequencies, independent
 of sample rate, but at 16 kHz the output is only reduced by
 about 1.3 GadB.  The modulation artifacts will thus usually be
 of greater concern.

 Note that you can NOT rely on Daqarta to view the modulation
 artifacts, since there are also analogous sampling artifacts
 (tAaliasing) associated with input digitization.  The
 combination of both of these makes the sampled output look
 much worse than it really is.

 Use the Line Output on your card for best response at high
 frequencies.  This may be a separate output on some models,
 while on others it is obtained by setting a pair of jumpers
 for the single output jack.


Db StGen DAC BITS DISPLAY:
 This is simply a reminder of the DAC resolution for full
 Gdduplex mode... it's not a control, and you can't move the
 cursor to this item.  The DAC Bits setting is determined at
 start-up from the SB16.ADC configuration line (either by
 default to 8 bits or via the PBB: parameter), and used in
 initializing the SGSTIM3 Stimulus Generator data formats.
 Since STIM3 does not allow the output format to change during
 operation, the DAC Bits item is for information only.

 Remember that ADC and DAC bits are always opposite for most
 models from the SB16/32/64 families:  If AbADC Bits is set to
 16 (the default), then DAC Bits will be 8 the same as if you
 had set B:D8, whereas setting ADC bits to 8 with B:8 will
 cause DAC Bits to be 16.  Conversely, setting B:D16 will force
 ADC Bits to 8.

 However, for CT417x ViBRA / WavEffects models, the ADC and DAC
 bits are independent:  Setting DAC Bits via B:D16 does not
 affect the ADC default of 16, and you can toggle ADC Bits
 between 16 and 8 during operation regardless of the DAC Bits
 setting.

A3
 YAMAHA OPL3 SYNTHESIZER:
 This SB16 driver allows use of the built-in Yamaha OPL3 stereo
 music synthesizer chip to generate signals.  This chip has
 been held in low regard as a music synthesizer, especially
 when compared to the newer "wavetable" synthesis, because
 the sounds it can produce are too limited.

 But it can produce low- to mid-frequency audio mSsine waves at
 least as good as a laboratory function generator (about 1%
 distortion or -40 GadB), suitable for many experiments.  (One
 SB16 was found to be only 0.1% or -60 dB.)  And although it
 wasn't designed to do so, it can act as a very good source of
 pulsed or continuous Cnrandom noise... which is actually very
 hard to obtain otherwise, and which can't be made at all with
 a wavetable!

Cz
 OUTPUT LOADING REQUIREMENT:
 The tmSound Blaster 16 output is AC coupled, which means that it
 has a series capacitor to block internal DC voltages.  The
 output must drive a resistive load in order to allow the
 capacitor to charge properly.

  ┌────────────────────────────────────────────────────────┐
  │ If you will be feeding the output to an external       │
  │ amplifier or other device which may have a high input  │
  │ impedance, you should provide a load of 1000 to 10000  │
  │ ohms in parallel with the SB16 output.  Failure to do  │
  │ this may result in a DC level of several Volts at the  │
  │ sound card output, and if that is amplified it could   │
  │ result in serious damage to the external amplifier     │
  │ and any attached speakers or equipment.                │
  └────────────────────────────────────────────────────────┘

Ao
 SYNTH MASTER OUTPUTS:
 This is a "master" On / Off control for both Synth output
 MSchannels.  If neither individual channel is active, this
 will have no effect.  To produce an output sound, you must set
 this to On, set the appropriate channel C0Output to On, CbBurst,
 or CgGap, and set the desired ClLevel for that channel.

 This operates the same A3OPL3 internal gating circuits used by
 the individual channels, which means that setting this to Off
 can attenuate the output signal by only about 68 GadB below that
 channel's Level setting.  If you need more attenuation, set
 the individual channel Level controls to Off as well.


Ax SYNTH NORM / SWAP:
 When this option is set to Norm, the signal generated by the
 Left channel is sent to the Left output of the board, and the
 Right goes to the Right.  Swap just sends the signals to the
 opposite outputs.  It doesn't swap the titles on the
 respective channel menus, however... They refer to the actual
 synthesizer channels, not the board outputs.

AA SYNTH OUTPUT SWITCHING:
 In the output switching options below, the L and R letters
 refer to the Left and Right synthesizer channels in Norm
 mode, but the opposite in Swap mode.

 The positions on the left or right side of the option text
 indicates which output receives the channel.  Where only one
 position is in use, only that side's output is active.

An L  R:
 When this option is selected, each synthesizer channel goes to
 a separate board output.  If the Norm/Swap option is a Norm,
 this will give the normal stereo "what you see is what you
 get" from the Left and Right channel menus.  In Swap mode,
 "what you see it the opposite of what you get".  It's still
 two different channels, just going to different outputs.

AL L  L:
 Here the Left synthesizer channel goes to BOTH outputs.
 If Swap is active, however, then the RIGHT sythesizer channel
 goes to both outputs.

AR R  R:
 The Right synthesizer goes to BOTH outputs in Norm mode, and
 the Left goes to both in Swap mode.

Al L:
 Only the Left output is active.  In Norm mode, this will
 receive the Left synthesizer channel, and in Swap mode it
 will receive the Right channel.

Ar    R:
 Only the Right output is active.  In Norm mode, this will
 receive the Right synthesizer channel, and in Swap mode it
 will receive the Left channel.

MS
 SYNTHESIZER CHANNEL MENUS:
 There are separate menus for the Left and Right synthesizer
 channels.  Use CTRL-PgUp or CTRL-PgDn to move to these menus
 from the main board menu.

    Left or Right Synth Output:
        C0Off
        C1On
        CbBurst
        CgGap
    CFFrequency
        CmOutput Modulation Artifacts
        CnNoise Output
    CdDelay
    CrRise
    CtDuration
    CfFall
    ClLevel

C0
 LEFT or RIGHT SYNTH OUTPUT:

 Off:
 The indicated synthesizer channel is disabled.  This reduces
 the signal about 68 GadB below the ClLevel setting.  Set Level to
 Off also if you need even lower output.

C1 On:
 The indicated synthesizer channel is continuously ON, at
 the Frequency and Level settings selected.  The remaining
 options, which control event timing, are ignored.

Cb Burst:
 Tone bursts are created with the selected parameters.  One
 burst is output per sweep in RsSequential mode only (RtRTime
 key option off).  This option is not available in RTime mode,
 and will disappear from the menu.  If you switch to RTime
 while Burst is active, the Off output option will be selected
 instead.  When you turn RTime off the Burst mode will again
 appear and become active.

 The level of the completely "off" portion of the burst is
 about 68 GadB below that of the completely "on" portion.

 While in Burst mode, the acquisition sweep is synchronized to
 the burst, regardless of T0Trigger Control Menu settings for
 Trigger TaMode, TCSource, T+Slope, or TlLevel.  However, Trigger
 TdDelay and TcCycle controls behave as usual.  The trigger point
 that is controlled by Trigger Delay is the onset of the first
 burst (or gap) event on either synthesizer channel, which may
 be modified by the synthesizer channel CdDelay settings.

 ┌─────────────────────────────────────────────────────────┐
 │  NOTE:  CT417x ViBRA / WavEffects models have a lag of  │
 │  about 200 microseconds between the trigger point and   │
 │  Burst or Gap onset, due to internal delays.            │
 └─────────────────────────────────────────────────────────┘

Cg Gap:
 The converse of CbBurst mode, Gap keeps the tone on continuously
 EXCEPT for the specified CtDuration.  Note that CrRise and CfFall
 still apply in the normal sense:  The tone is on, then at the
 selected CdDelay the Fall begins, and after the selected
 Duration the Rise begins to return the tone to its original
 level until the next sweep.

 As with Burst, this is only available in RsSequential mode and
 vanishes in RtRTime mode.  However, unlike Burst, if Gap is
 active when you switch to RTime the output will go to On.

 Also as with Burst, the level of the completely "off" portion
 of the gap is about 68 GadB below that of the completely "on"
 portion.

CF
 Frequency:
 Sets the tone frequency in Hertz, from 2 to 24011 Hz.  The
 synthesizer is not capable of 1 Hz resolution at higher
 frequencies, so you will notice coarser resolution there.

 The synthesizer output frequency response is given here,
 normalized to the maximum output level at 500 Hz.
 Measured values are arranged in sequence, NOT TO SCALE:

   GadB              Frequency                             dB
   0                 500                                 0
  -0.1           57       1800                          -0.1
  -0.5         24           3900                        -0.5
  -1          16              5600                      -1
  -2         11                 8100                    -2
  -3        9                     10200                 -3
  -4       7                        12100               -4
  -5      6                           13200             -5
  -6                                    15600           -6
  -7     5                                17300         -7
  -8                                        19200       -8
  -9                                          21400     -9
  -10   4                                       24000   -10

 This is the output of the sythesizer alone, as measured by
 independent means.  It does NOT include the input response
 of the SB16 board.

Cm OUTPUT MODULATION ARTIFACTS:
 The A3OPL3 synthesizer runs at its own fixed output sample rate
 of 49.7 kHz.  A consequence of this is sampling "modulation"
 that is evident at frequencies above a few thousand Hertz.
 This is not just an artifact of the difference between the
 synthesizer sample rate and the Xfacquisition rate.  It is due
 to interactions between the synthesizer sample rate and the
 output signal frequency, and is "really there"... you can see
 it with an analog oscilloscope.

 This may be of no consequence if you are only interested in
 the spectral content of the signal, say to determine threshold
 frquency responses of your subject or system under test.  You
 can check the spectrum for yourself and see if it meets your
 needs.

Cn Noise Output:
 For the LEFT synthesizer channel only, you can convert from
 tone to Noise mode by attempting to set a CFFrequency of 0.
 The Annoise has a wide bandwidth and does not have any
 apparent repeat pattern.  The non-repeating aspect is very
 important for perceptual experiments, since many other noise
 generation techniques have obvious repetition patterns that
 may compromise results.  (You can easily hear noise patterns
 lasting several seconds before repeating... they sound like
 ocean waves rolling in to the shore.)

 All the other settings apply to Noise as they apply to
 CFFrequency: CdDelay, CrRise, CtDuration, CfFall, and ClLevel can be used
 to create noise Cbbursts or Cggaps.  The Level in noise mode has
 been set so that the rmRMS value of the noise is the same as
 that of a pure tone of 500 Hz at the same Level.  The peak
 noise levels will be slightly higher.

 Note, however, that this use of noise generation is an
 undocumented function of the OPL3:  It may not work properly
 on your particular board.

 In particular, on some boards the noise is accompanied by a
 positive or negative DC offset voltage.  This DC voltage will
 be blocked by the board's output coupling capacitor and will
 thus generally cause no problems for continuous noise, but for
 bursts or gaps there will be a transient "thump" that may not
 be acceptable.

 Some boards may show this DC offset problem during a given
 session, but if you Q0Quit Daqarta and restart, the problem may
 vanish.  The presence or absence of the DC seems to be "set"
 during board initialization, and remains that way for the
 remainder of the session.  If you need to give noise bursts,
 you may thus want to OIcheck the output at the start of each
 session.

Cd
 Delay:
 This is the delay, in input samples (not time units), from the
 start of the data sweep (T0trigger point) to the start of the
 CrRise portion of a CbBurst, or the start of the CfFall portion of a
 CgGap.  The Delay value may be made negative, to allow the
 stimulus to start before the data sweep.  This has the same
 effect as positive TdTrigger delay if you are using only one
 synthesizer channel:  You see events later than the "trigger"
 point, which here would mean the start of the burst or gap.

 Because the Delay refers to the time prior to the start of the
 Rise portion of the tone burst, the position of the "on" part
 of the burst may be further delayed by the Rise time.

 Since there are MStwo synthesizer channels, it is possible to
 have a burst on one channel precede or lag the other by any
 amount up to 16000 samples.  This allows all sorts of
 "masking" experiments, where you study the response to one
 stimulus (the "probe") in the presence of another (the
 "masker").  In a "forward masking" experiment, for example,
 the probe tone burst might start just after the masker burst
 goes off.  You could study the effects of the lag between the
 two as well as the levels and frequencies of each.  You can
 also do experiments where the probe burst appears at certain
 positions in a variable-width gap in an otherwise continuous
 masker.

Cr
 Rise:
 The Rise value is the time in milliseconds for the Cbburst to
 go from 10% to 90% of its final value.  Unlike standard
 laboratory practice, however, the shape of the rise is not a
 sinusoid but an exponential.  This is a legacy of the musical
 roots of the A3OPL3 synthesizer chip.  The beginning portion of
 the burst thus stays at lower levels longer than an equivalent
 sinusoidal rise, and at longer rise times there can be a
 substantial "tail" (or should that be "nose"?) that precedes
 the 10% start of the rise.  This pre-tail is not counted in
 the rise-time value, but it nevertheless delays the onset of
 the burst, so you can't determine the 90% time by calculations
 based on the Cddelay samples and rise-time alone.

 The rise is composed of many small steps in level that
 normally happen too fast to notice.  But as the rise becomes
 slower, say 16 msec or longer, each step takes long enough
 that the overall effect becomes more like a staircase than a
 continuous curve.  Even though the steps are small in
 amplitude, you should check to see if there are any audible or
 measureable consequences for your particular experiment.

Ct
 Duration:
 This is the duration in input samples (not time units) from
 the start of the CrRise portion to the start of the CfFall portion
 of a Cbburst.  For a Cggap, it is the number of samples from the
 start of the Fall to the start of the Rise.  Duration does not
 take into account the length of the Rise or Fall portions, so
 if you set the duration too short for a long rise time, the
 burst may never reach the 100% "on" portion.  Similarly, a
 short gap duration with a long Fall time may never get all the
 way off.

Cf
 Fall:
 The Fall value is the time in milliseconds for a Cbburst to go
 from 90% to 10% of its final value.  This is an exponential
 and not a sinusoidal decay, so there can be a long tail after
 the 10% level.  Unlike CrRise, however, the level steps that are
 used to generate this are finer and less noticeable until much
 longer Fall times.  As a result of the musical origins of the
 A3OPL3 synthesizer, the range of Fall times is about 6 times
 longer than the Rise times to better approximate conventional
 musical sounds such as plucked strings.

Cl
 Level:
 The setting here is in GadB relative to the volume control
 thumbwheel setting on the back of the board, if any.  All
 values other than zero are thus negative, but you don't need
 to include the minus sign when entering them directly...
 Daqarta will supply it automatically since there can be no
 values above zero.

 When adjusting the Level with the cursor keys, the up-arrow
 gives more output, which means the dB values become smaller
 (less negative).

 The thumbwheel setting should be made so that when Level is
 set to 0 (maximum output), the board output will produce some
 maximal calibrated output from your system.  You should then
 take steps to lock the control into this position to prevent
 an accidental change of the system calibration.  A piece of
 tape covering the thumbwheel is probably the simplest
 solution.

  ┌──────────────────────────────────────────────────────┐
  │ CAUTION:  The thumbwheel is at its MAXIMUM output    │
  │ when you roll it DOWN, toward the multi-pin MIDI     │
  │ connector... not exactly intuitive!  The maximum     │
  │ possible output is about 2.95 V rmRMS, or 4.17 V peak, │
  │ or 8.34 V peak-to-peak.  This is MUCH more than the  │
  │ inputs of most audio amplifiers require to produce   │
  │ maximum output... be careful!                        │
  └──────────────────────────────────────────────────────┘

 The tmSound Blaster 16 internal mixer contains excellent level
 controls which give accurate 2 dB steps over a large range.
 (1.5 dB for CT417x ViBRA / WavEffects models.)  Similarly, the
 A3OPL3 has its own control which gives 0.75 dB steps over a
 smaller range.  By careful interplay between these, Daqarta
 provides 1 dB steps from 0 to -137 dB.  The accuracy and
 linearity of the Level setting have been verified by
 measurement to below -100 dB.

 The CT417x ViBRA / WavEffects models use 0.5 dB steps over
 a range from 0 to -91 dB.  These models have a maximum OPL3
 output level that is about 12 dB lower than their AdDAC outputs
 at equivalent dB settings.  You may wish to try using the
 POO:V OPL3 Output Gain parameter for a +6 dB boost, but
 since this uses an undocumented feature of these models there
 is no assurance of support.

 The actual output level is greater from the Spkr output than
 the Line output, typically by a factor of x4 or x5.  Your card
 may have separate outputs, or there may be a pair of jumpers
 to change between Spkr and Line.  (See your manual.)

 LEVEL = OFF:
 When Level is set below -137 GadB (-91 dB for CT417x), it
 changes to "Off".  The actual leakage output in the Off state
 has not been measured.  This Off state provides considerably
 more attenuation than provided by the Off of either the
 AoMaster Outputs or the individual channel C0Output controls (or
 both together).  Those use the OPL3 internal gating, which
 gives about -68 dB of attenuation.  This is also the
 difference between the "on" and "off" portions of an output in
 CbBurst or CgGap mode.

  ┌───────────────────────────────────────────────────────┐
  │ TIP:                                                  │
  │ Since the Level control attenuation is in addition    │
  │ to that provided by the OPL3 gating, set Level to     │
  │ Off as well as Output when you need an absolute       │
  │ minimum signal.                                       │
  └───────────────────────────────────────────────────────┘

OI CONNECTING OUTPUTS TO INPUTS:
 It is often handy to be able to monitor the synthesizer
 outputs via otherwise unused board inputs (like the CD inputs)
 so you can visualize stimulus waveforms, envelopes, and
 timing.  If you do this, you must make sure that the outputs
 are less than 1 V rmRMS to avoid OLoverdriving the inputs.

 If you really must have the output level higher to drive your
 experiment, you may want to wire fixed attenuators into the
 connections between the outputs and inputs.  Otherwise, you
 can keep the outputs to 1 V RMS and use an external power
 amplifier to get really large stimuli.

tm
 TRADEMARKS:
 Sound Blaster, Sound Blaster 16, Sound Blaster 32, Sound
 Blaster 64, ViBRA, and WavEffects are trademarks of
 Creative Technology Ltd.

rh
 REVISION HISTORY:
 11-1-01    Mixer is no longer reset on Quit, to prevent a
            loud click in the DAC outputs.  Instead, the
            outputs are simply muted.

            Fixed problems with CT417x ViBRA models caused by
            attenuator control modifications of 8-1-01 (see
            below).


 8-1-01     Added support for SGSTIM3A Output dB controls, which
            allow 0.01 dB resolution of AdDAC output levels over
            the full SB16 attenuator range.  (NOTE:  Due to an
            upload error, this driver version was never
            actually released.)


 3-1-01     Added support for STIM3A Dynamic Mode, update for
            Daqarta v2.00.


 5-22-99    Now reads P1BLASTER environment string, if present,
            to get base PAaddress (and mixer address, if
            different).

            Allows PaA:M parameter to provide mixer address for
            second PnP card that has no BLASTER string.

            Now accepts PII:9 parameter (or I9 from BLASTER),
            which is equivalent to IRQ 2.

            If no board is found on start-up, the error report
            now shows the address that was tried.

            Attenuation controls for AdDAC output levels have
            been modified to eliminate large clicks when
            changing between levels below 60 GadB (45 dB on
            CT417x ViBRA / WavEffects).  Similar clicks for
            Clsynth levels below 77 dB also eliminated.

            Bug Fix:  AgStimulus Source no longer allows
            Synth/StGen toggle unless STIM3 module is present.

            Bug Fix:  Under some conditions, after active Synth
            output was forced off by Stimulus Source toggle to
            StGen, it would not resume after toggle back to
            Synth (and toggling AoMaster Outputs back On) until
            synth channel Level was changed.

            Bug Fix:  Under some conditions, if D: and H: were
            set the same on CT417x (ViBRA / WavEffects) models,
            full duplex operation was not properly disabled
            and an erroneous DAC DMA level was reported on the
            H5ALT-H summary screen.


 11-18-98   Initial A3OPL3 Synth ClLevels now properly set to OFF,
            as indicated.  Was actually -60 GadB until first
            changed.  (Master Outputs, Left and Right C0Outputs
            were always Off as shown.)

            On Q0Quit, mixer is now reset to force all output
            levels to OFF.


 11-15-98   Adjusted data queue defaults for compatibility with
            Daqarta version 1.13.

            Attenuators calibrated in finer steps for CT417x
            ViBRA / WavEffects models:  1.5 dB for AdDACs, 0.5 GadB
            for ClOPL3 Synth outputs.  (Prior versions used steps
            of other models erroneously.)

            New POO:V Output parameter allows undocumented +6 dB
            OPL3 output boost on CT417x models.

            When TPTrigger Pulse or TfFree-run is active during
            RsSequential mode, sweeps are no longer interrupted
            by keyboard activity.  This preserves proper TcCycle
            times and stimulus output.  icIntCr option allows
            keyboard priority.

            Improved handling of infrequent TnNorm triggers
            in Sequential mode.

            Improved Trigger Pulse alignment with SGSTIM3 outputs
            for CT417x models when using stereo 16-bit DACs at
            high sample rates.  (Mono, 8-bit, or other models
            had no problems.)


 8-17-98    GdFull duplex support for CT417x ViBRA / WavEffects
            models, which allow simultaneous 16-bit ADC inputs
            and 16-bit DAC outputs.

            Bug Fix:  TEExternal Trigger mode corrupted one or
            more "random" bytes of Daqarta configuration data,
            resulting in unstable operation or possible system
            crash.

            Precision X0sample rate accuracy, with option for
            Psuser calibration.  (Prior rates were reported 0.1%
            higher than actual.)

            Changed PBB: parameter now uses B:Dn to set DbDAC Bits
            instead of full Duplex, which is automatic if SGSTIM3
            is loaded.

            PNN:M parameter now allows for Mic input with
            inverted polarity relative to Line and CD inputs.

            Main board menu now always displays AbADC Bits and
            AgStimulus source controls, active only as allowed.

            Improved stability for RsSequential mode stimulus
            generation across wider CPU speed range.

            Better automatic PDD:, H:, and I: parameter detection
            for 0PPnP models.

            Discussion of Fmlow-frequency response measurement
            via step response time constant.


 6-22-98    GdFull duplex version, requires Daqarta v1.12 or
            above.  Adds new AgStimulus and AdDAC Output controls,
            plus DbDAC Bits display.  PBB: parameter enhanced to
            allow B:Dn activation of full duplex mode.

            PGG: parameter now allows G:An form to set All gains
            except microphone to the same value, for overall
            calibration differences between models.

            PNN: parameter supports boards with different ADC
            and / or DAC data polarity.

            PQQ: parameter added to support longer data buffers
            on future models.

            PXX: parameter to eXclude bad sample rates on early
            DSP versions now defaults to off (enable all rates)
            for DSP versions 4.13 and above.

            When A3OPL3 synthesizer or SGSTIM3 Stimulus Generator
            is active during RsSequential mode, sweeps are no
            longer interrupted by keyboard activity.  This
            preserves proper TcCycle times and stimulus output.
            icIntCr option allows keyboard priority.

            Maximum OPL3 synthesizer Cloutput level reduced 2 GadB
            to match maximum full duplex DAC output level.

            Output levels (OPL3 synthesizer and DACs) now
            start at Off instead of -60 dB.

            Bug Fix:  Rapid scrolling of X0sample rate can no
            longer "roll over" to opposite limit.

            Bug Fix:  Sequential mode no longer has problems
            using certain PIIRQs with very long sweeps (due to
            long Cycle times, large T-negative Trigger Delays,
            or waits for trigger in TnNorm Trigger Mode).

            Bug Fix:  Changes made to certain main Daqarta
            (or STIM3) controls while P0Paused now take effect
            properly after unPause.

            Bug Fix:  Sequential mode sometimes showed trigger
            jitter with certain OPL3 synthesizer settings on
            slow CPUs.

            Bug Fix:  With OPL3 CbBurst or CgGap mode set but
            AoMaster Outputs Off, trigger sync now properly
            reverts to T0Trigger menu setting (Norm TlLevel, etc)
            instead of Burst / Gap sync.


 5-18-98    Allows 16-bit operation with only a single 8-bit
            PDDMA channel.

            PBB: Bits parameter allows default to 8-bit mode.

            PGG: Gain calibration parameter allows separate
            calibration factor for each input.

            PRR: Range parameter allows sensitivity preset.

            kaCursor readout averages now reset automatically
            when changing input or stimulus output settings.

            Sub-parameters now allow D:, H:, or I: parameters
            to PcClear or Keep board settings after Q0Quit
            (advanced users.)

            Bug Fix:  Order of PDH: and D: parameters now
            properly forces 8-bit mode on startup.

            Bug Fix:  PAA: parameter now works properly to
            allow changes from default 220h board Address.

            Bug Fix:  PCC: Channel parameter now properly
            switches default input, not just scales and
            labels.

            Bug Fix:  TEExternal and TPStimulus Pulse trigger
            alignment was off by 8 samples.


 8-6-97     Original Release.



 INDEX:
 AfAC Coupling, Input
 CzAC Coupling, Output
 PAAddress Parameter A:
 PaAddress Parameter, Mixer A:M
 0PAddress, PnP Determination
 AmAGC, Microphone
 ATAGC Action Threshold Table
 AfAnti-Alias Input Filtering, Automatic
 SfArtifacts, DAC Output Modulation
 CmArtifacts, OPL3 Output Modulation
 ClAttenuation, Output
 0PAUTOEXEC.BAT, CTCM PnP Configuration Manager
 PAAUTOEXEC.BAT, SET BLASTER Line


 AbBits, ADC (8/16)
 DbBits, DAC Display
 PBBits Preset Parameter B:, ADC and DAC
 P1BLASTER Environment String
 PQBuffer (Queue) Length and Q: Parameter
 CbBurst Mode, Output

 ACCalibration, Input
 CzCapacitor, Output Coupling
 PCCD Input Preset C:
 AsCD Input Source Select
 PCChannel (Input) Parameter C:
 PcClear DMA / IRQ Settings on Quit
 0CCompatibility
 P0Configuration Parameters
 ClControl, Thumbwheel
 0PCTCM Configuration Manager, PnP
 0PCTPNP.CFG File

 PBDAC Bits Control via B:Dn Parameter
 DbDAC Bits Display
 AdDAC Output Level Controls
 PNData Polarity
 CdDelay, Output
 PDDMA Parameter D: (8-bit)
 PHDMA Parameter H: (16-bit)
 PADSP Version
 PBDuplex Mode and B: Parameter
 CtDuration, Output
 0PDWCFGMG.SYS PnP Configuration Manager

 PXeXclude Bad Sample Rates, Parameter X:

 PFF: Parameter (Help File Omit)
 CfFall, Output
 AfFilter, Automatic Input Anti-Alias
 CFFrequency, Output
 AfFrequency Response, Input
 FmFrequency Response, Measuring Input
 SfFrequency Response, DAC Output
 CFFrequency Response, OPL3 Output
 PBFull Duplex Mode and B: Parameter

 PGGain Calibration Parameter G:
 AmGain, Microphone
 POGain Boost Parameter, OPL3 Output (CT417x only)
 CgGap Mode, Output

 PFHelp File Parameter F:
 PHHigh DMA Parameter H: (16-bit)

 AIImpedance, Input
 MIInput Controls
 AsInput Source
 PNInvert Data Polarity
 PIIRQ Parameter I:

 PcKeep DMA / IRQ settings on Quit

 CbLag, Burst/Gap Onset with CT417x Models
 AdLevel, DAC Output
 ClLevel, OPL3 Output
 PCLine Input Preset C:
 AsLine Input Source Select
 ClLine vs Speaker Output Levels
 AfLow Frequency Response
 PLLPT Printer Port I/O Parameter L:

 CdMasking Experiments
 AoMaster Outputs
 MSMenus, Synthesizer Channel
 AmMic Gain
 PCMic Input Preset C:
 AsMic Input Source Select
 PNMic Polarity Inversion
 PaMixer Address Parameter A:M
 SfModulation Artifacts, DAC Output
 CmModulation Artifacts, OPL3 Output

 PNN: Parameter to iNvert Data Polarity
 CnNoise Output
 AxNorm / Swap OPL3 Outputs Switch

 A3OPL3 Synthesizer Chip
 MOOutput Controls, Main
 POOutput Gain Parameter, OPL3 (CT417x only)
 AdOutput Level, DAC
 ClOutput Level, OPL3
 CzOutput Loading Requirement
 C0Output Mode, OPL3 (Off, On, Burst, Gap)
 AAOutput Switching, OPL3
 AoOutputs, OPL3 Master
 OIOutputs, Monitoring
 OLOverload Limits
 OMOverload Limits, Measuring
 OTOverload Threshold Table

 P0Parameters, Configuration
 0PPnP Address Determination
 PNPolarity, Data Input and Output

 PQQ: Parameter and Data Buffer (Queue) Length

 PRRange Preset Parameter R:
 AcRange (Sensitivity)
 AfResponse, Input Frequency
 rhRevision History
 CrRise, Output

 PsSample Rate Calibration (Advanced Users)
 PDSBCONFIG.EXE Sets BLASTER String
 AcSensitivity (Range)
 PASET BLASTER Line
 MOSignal Generation, Main Output Controls
 ClSpeaker vs Line Output Levels
 MSSynthesizer Channel Menus
 A3Synthesizer Chip, OPL3
 AsSource, Input
 FmStep Response and Low Frequency Response
 AgStimulus Source Control
 PSStimulus Source Preset Parameter S:
 AxSwap OPL3 Outputs
 AASwitching, OPL3 Output

 ClThumbwheel Control
 tmTrademarks

 0PWindows PnP Configuration

 PBViBRA / WavEffects, 16-bit Full Duplex
 PHViBRA / WavEffects, H: Parameter Required
 0PViBRA / WavEffects, PnP Parameter Determination

 PXXclude Bad Sample Rates, Parameter X:

 Copyright 1997 - 2001 by Interstellar Research.
 All rights reserved.
000CP0P1PAPa0PPBPCPDPHPIPcPFPGPsPLPNPOPQPRPSPXMIAsAfFmAIAcACOLOTOMAmATAbAgMOAdSfDbA3CzAoAxAAAnALARAlArMSC0C1CbCgCFCmCnCdCrCtCfClOItmrhABCDEFGHIKLMNOPQRSTWVX┐	ôäì{"┌AÖOaTeTiTuiEr*upéçòoá0╡C╕ⁿ└J├╞7╩û╦∙╙╫┤π?Σ∞Ω╔⌠+°┤·╤.ë▀=$&3{9┘=⌠@fD	GêH■IKLÆL6M▀M¿OêP?QiV/Yç^òa┤h@nΘruWwàÆç5êê⌐ù⌐Q½¼Y¡¢«╩«░ï░╧░B▒j▒n▓ò│√│ì╡⌡╡)╢»╢ç╕│╕╒╕j╣▓╗Z1æ,╫¥₧√