Ŀ
  XSB16 Library  1.0  


This library lets you record and playback sounds using your SB16.
The included library uses LARGE memory model, with Borland 3.1 DOS
compiler.


Two Sound Blaster 16 access modes are implemented:

    - STANDARD mode: play OR record.

    - CONCURRENT mode: play AND record simultaneously.


To use the STANDARD mode, use the xsnd_???(), xsnd16_???() or
xsnd8_???()  functions.  This function set offers to the programmer a
high level interface to audio playback or recording, but allows him to
directly access the DMA buffers and SB interrupt. So you can perform
playback or recording eficiently, in your favourite way, without any low
level programming at all.  It's actually powerfull and easy to use!
This functions program directly the SB16, and do not use any of the
CreativeLabs drivers. Nevertheless, no automatic hardware detection is
implemented. You MUST have the BLASTER environment string correctly
set!!


To use the CONCURRENT mode, use the sb16io_???() funcion set. This
allows you to simultaneously perform recording and playback with your
Sound Blaster 16 audio card!!!!. Make sure that the BLASTER environment
string is correctly set. This mode only works if the 16 bit DMA channel
works fine in your computer (the <H> field of your BLASTER environment
string should be 5, 6 or 7). In this mode, your Sound Blaster 16 will be
able to record 8 bit samples and, at the same time, playback 16 bit
samples. Or the inverse, record 16 bit samples and playback 8 bit
samples. All the operations use DMA transfers, and the user has direct
access to DMA buffers and to Sound Blaster interrupt service function.



Ŀ
  Shareware restrictions   


This shareware library has the following working restrictions:

    - No documentation is included. Just some sample C programs where
      you can see some of the functionality.

    - It will use 7500 Hz sampling rate, no matter the value
      you try to program. SB16 produces a backgroud hiss noise
      in your speakers at such a low sampling rate.

    - In CONCURRENT mode, it will use a block size of 4096 samples, no
      matter the value you try to program. This block size is the basic
      chunk that the library records/plays. It is actually quite a large
      value, and you will get a long delay between record/playback,
      specially at 7500 Hz  :^)

    - In CONCURRENT mode, from time to time the library will return a
      registration audio message instead of the actually recorded
      signal (it's me saying 'register!').



Ŀ
   Registering   


To register, send me 30$ (US DOLARS) or 3000ptas. (SPAIN) using the
included registration form (file REGISTER.TXT). If you register, you
will get:

    - Full source code for the library, without any of the restrictions
      present in the shareware version. It uses Borland C 3.1, but is
      structured in such a way to allow easy porting to other compilers,
      as Microsoft C. The source files include also modules for DMA
      programming, DMA buffer allocation and management, interrupt
      management, I/O ports management and Sound Blaster family DSP
      programming. All this modules are self-contained and completely
      reusable for your own applications.

    - Source code and documentation for the included MIX.EXE program,
      with support also for SB and SBPro. The included MIX.EXE program
      lets you save to file and restore your SB16 mixer easily. You can
      keep all your preferred mixer configuration in files, and load
      them when you need and in a fast way.

    - Full documentation (specify english or spanish).

    - Three weeks technical support (starting at the first consult)
      if you have Internet or FidoNet network access, or two months
      if you only have snail-mail :-)

    - If you have Internet access, you'll also get freely all the updates,
      bug fixes and new releases of the complete library. Otherwise, you
      will only get one update by air-mail, when I'll consider that it
      worths.



Ŀ
  File list  


readme.txt ...... This file.
register.txt .... Registration form.
xsb16l.lib ...... The large model library. Restricted shareware version.
mix.exe ......... A program to control the SB16 mixer.

include\tdef.h ... Header file. Type definitions.
include\sb16io.h . Headir file. Use this for concurrent play&record.
include\xsnd.h ... Header file. Use this for normal sb16 interface.

samples\caution.txt .. Read before running the sample programs.
samples\*.c .......... Source code for some sample programs.
samples\*.exe ........ Compiled sample programs, using a non-restricted
                        complete library, not the shareware one.

NOTE: when using PKUNZIP to unpack this files, be sure to extract
files using -d option to get files in their correct directory!

.................................................................

For any question or request, please contact the author:

          Borja Etxebarria
          Tomas Olabarri 9-5B
          48930  Getxo  - Bizkaia

          e-mail: borja@bips.bi.ehu.es
                  jtbecgob@bi.ehu.es
          Fidonet: 2:344/3.64  


