Version 2.5                                                December 8, 1993

                      SIERRA SEMICONDUCTOR CORPORATION

               Aria Synthesizer Software Development Kit Notes


This file contains any information that didn't make it into the developer
documentation and some suggestions for application development.

 -------------------------
 Aria Development Software
 -------------------------

   (1) Included on disk are the DOS libraries and source code
       (documented in the Developer Kit in Chapter 6.1):

          ARIA.H      
          ARIA.INC
          AIM.ASM
          PCM_ISR.ASM
          ARIA.C        Low level Aria API functions
          
          PITCHES.H
          ARIAMIDI.H      
          ARIAMIDI.C    Aria Synthesizer MIDI API functions

          ARIADSP.H
          ARIADSP.C     Aria DSP application functions

                        Microsoft make files for:
          ARIA_S.MAK    Small model library
          ARIA_C.MAK    Compact model library
          ARIA_M.MAK    Medium model library
          ARIA_L.MAK    Large model library

                        
   (2) Included on disk are some sample DOS applications:

          ARIATEST.C
          ARIATEST.EXE  Tests for presence of Aria board and reports
                        base address port, IRQ number and version numbers.
                        Board capabilities are also listed.

          ARIATEST.MAK  Microsoft make file to recompile ARIATEST.EXE
         
          PLAYWAVE.C
          PLAYWAVE.EXE  Plays Microsoft .WAV format files direct from hard 
                        disk.  Specify up to 4 different sample files as 
                        command line arguments.

          PLAYWAVE.MAK  Microsoft make file to recompile PLAYWAVE.EXE

          RECWAVE.C
          RECWAVE.EXE   Records a Microsoft .WAV format file direct to
                        hard disk.  Specify a file name (.WAV) as command
                        line argument.  Will prompt for set up information.

          RECWAVE.MAK   Microsoft make file to recompile RECWAVE.EXE

          ECHOMIDI.C
          ECHOMIDI.EXE  Allows interactive playback from a MIDI keyboard.
                        Specify an Aria patch bank file as a command
                        line argument.  Use the 'P' key to change the patch,
                        <Esc> to exit.  Only recognizes MIDI channels 1 to 9
                        (melodic instruments) and MIDI channel 10 (percussion)

                        Try:      ECHOMIDI GENMIDI2.BNK

                        /P command line option will print MIDI commands in
                        hexidecimal format to the screen.

          ECHOMIDI.MAK  Microsoft make file to recompile ECHOMIDI.EXE

          PLAYMIDI.C
          PLAYMIDI.EXE  Plays a Standard MIDI File (SMF) from the DOS
                        command line.  The MIDI file must be format 0 or
                        format 1.  The syntax is:

                           PLAYMIDI midifile <bankfile> </Qqfile> </R>

                        where, midifile is the Standard MIDI File to play,
                               bankfile is an optional Aria patch bank file,
                               qfile    is an optional path to the QSound DSP
                                        application,
                               /R       is an option to active reverb

                               If no bankfile is specified, GENMIDI1.BNK
                               will be used for 512 Kbyte Sound ROM systems,
                               GENMIDI2.BNK will be used for 1 Mb Sound ROM
                               systems.  If an 'ARIABANK' environment variable
                               is set to a DOS path, the bank files will be
                               used from that directory.

          PLAYMIDI.MAK  Microsoft make file to recompile PLAYMIDI.EXE

          VOLUME.C
          VOLUME.EXE    Adjusts master volume for SD8026 (mixer chip board)
                        only.  Type:  

                          VOLUME vol   

                        where vol is a value from 0 to 63.

          VOLUME.MAK    Microsoft make file to recompile VOLUME.EXE

          CDVOL.C
          CDVOL.EXE     Adjusts CD-ROM audio volume.  The syntax is:
                        
                          CDVOL vol

                        where vol is a value from 0 to 127.

          CDVOL.MAK     Microsoft make file to recompile CDVOL.EXE

          SBVOL.C
          SBVOL.COM     Adjusts Sound Blaster synthesizer and digital 
                        audio volume.  This program will only work with
                        SD8025 boards that have installed SB196.COM and
                        above, plus all SD8026 boards.  The syntax is:

                          SBVOL synth wave

                        where synth is the Sound Blaster synth volume from 
                                    0 to 63,
                              wave  is the Sound Blaster digital audio
                                    volume from 0 to 63.

          SBVOL.MAK     Microsoft make file to recompile SBVOL.COM


   (3) In subdirectories \ARIASSDK\PATCHA and \ARIASSDK\PATCHB, the individual
       general MIDI instrument patches will be copied.  They may be edited 
       with the MAKEPAT.EXE patch editor.  The PBANK.EXE utility can then be
       used to build new patch bank files.

       Files named 000a.pat, 001a.pat, ... correspond to the general MIDI 
       instruments for the 1 Mb Sound ROM and will be in \ARIASSDK\PATCHA.

       Files named 000b.pat, 001b.pat, ... correspond to the general MIDI 
       instruments for the 1/2 Mb Sound ROM and will be in \ARIASSDK\PATCHB.


   (4) It is HIGHLY recommended that DMA not be used for Aria digital audio 
       recording or playback.  It has been found that some chip sets do not 
       correctly support the 16-bit DMA channels.  In addition, faster 386 
       and 486 machines can more efficiently transfer sample data via 
       direct I/O than by DMA (considering that the Aria system provides 
       FIFO buffers).


 -----------------------
 Updates and Corrections
 -----------------------

   API Ver. 2.5:      Fixed bug in stereo ADPCM play/record for older ROMs
                      (version 1.6).
   
   API Ver. 2.4:      Allowed for more options in the SetMixerConfig function
                      so you can specify mono or stereo mode even when the
                      monitor is disabled.

   API Ver. 2.3:      Adjustments to SetMonitorMode, SetMasterMode and
                      SetMixerVolume.

   API Ver. 2.2:      Fixed recording from external input for SD8026 boards.

   API Ver. 2.03:     1. Changed MIDI functions to work from local copy of
                         patch data instead of user's patch bank buffer.
                      2. Added support for new reverb - individual channel
                         control and wave audio reverb.
                      3. Improved performance of DSP application download
                         routine 'loadobjfile' in ARIADSP.C.
                      4. Added MIDI support for condensed patch bank format.
                      5. Added MIDI support for all 16 MIDI channels.

   API Ver. 2.02:     1. Changed some definitions declared as UINT back to
                         WORD for future 32-bit compatibility.
                      2. RDSP RIFF file format changed slightly:  'DSPH' and
                         'DSPD' identifiers are now 'dsph' and 'dspd'
                      3. Function SetWaveParameter() - two parameters changed
                         to FAR pointers.  Function GetAriaEnv() - all 
                         parameters changed to FAR pointers.
                      4. Added .MAK files

   API Ver. 2.00:     1. Added ability to download and select Aria DSP
                         applications, including reverb and QSound.
                      2. Added ability to use either patch bank version 1
                         or patch bank version 2 format in InitPatchBank ().
                      3. Added support for Sierra's SC18075 Mixer chip.
                      4. Added support for Borland Turbo C and Assembler.

   API Ver. 1.27:     1. Removed DMA example code from pcm_isr.asm.
                      2. Created PCM wave structure for digital audio
                         recording and playback.

   API Ver. 1.26:     1. Removed DMA detect from SystemInit() function.
                      2. Lengthened wait loop in SystemInit() to allow more
                         time for system to initialize.  Potential problems
                         existed on faster machines (80486 50MHz and up).
                      3. Changed DMA detect method in GetDMAChannel().

   ARIATEST Ver. 2.4: Recompiled with new API (version 2.2)

            Ver. 2.3: Added ROM version detect and part code identification.

            Ver. 2.1: Removed DMA channel detect - This is an unreliable
                       check with some non-standard chip sets.

   PLAYMIDI Ver. 1.5: Recompiled with new API (version 2.2)

            Ver. 1.4: Added 16-channel MIDI capability plus options to 
                       filter out MIDI channels and send MIDI to output port.

            Ver. 1.3: Added ability to select and control reverb and QSound,
                       as well as master volume.

   PBANK    Ver. 1.3: Added support for generating version 2 compressed 
                       patch bank files.

   PLAYWAVE Ver. 1.7: Recompiled with new API (version 2.5)

            Ver. 1.6: Recompiled with new API (version 2.2)

            Ver. 1.5: Added new constant for SIERRA ADPCM format ID and
                       fixed RIFF parsing to ignore unknown chunks.

            Ver. 1.4: Added support for playing A-Law and Mu-Law files.


   RECWAVE  Ver. 2.0: Recompiled with new API (version 2.5)

            Ver. 1.9: Fixed bug with recording mono when monitor is off.
                      Changed recording level settings from 1-32767 to 1-127.
                      
            Ver. 1.8: Changed mixer setup for SD8026 boards to use new 
                       API functions.
