                                SECTION 5
                                 Buffers

5.1  Buffer Overview

A "buffer" is a temporary storage area in your PC's
memory.  The Sounding Board's software uses buffers to
hold text that is intended for speech.  Text that
already has been spoken is likewise held in memory in a
Sounding Board buffer for replay.  And, a buffer is
used by the Sounding Board to hold entries from any
Exception Dictionary file.  These segments of reserved
memory are allocated by the Sounding Board software
when it is first loaded.  By using special command line
parameters you can vary the size of the buffers to suit
your own individual needs.  The primary reason to
consider the size of the buffers used by the Sounding
Board is so that you can make sure that no more memory
than is absolutely needed is allocated.  Even saving
just a few hundred characters of DOS RAM can be
important sometimes.

5.2  The Rewind Buffer

The amount of text that is available for replay using
the rewind feature is controlled by a buffer parameter. 
The default will hold about 300 words (2K).  If you
want to have more information than that available for
replay, then you should specify the amount to be used
when you first load SB.COM.  For example, if you wanted
to double the size of the rewind buffer, the parameter
would be used this way:

     SB /!r8

The "R" in this parameter stands for "rewind", and the
number indicates the size in multiples of 512
characters.  The arithmetic here is 8 * 512 = 4096,
then 4096 / 6 = 682.  We're dividing the total number
of characters by six as a way to convert characters to
words.  So, we can have nearly 700 words available for
replay in this example.

If you won't be using the rewind feature, then set the
rewind buffer parameter to 1, the smallest possible
allocation.  The range of this parameter is from one to
nine.  512 characters is the minimum, and 4608
characters is the maximum.  In words this translates to
a range of from approximately 80 words to approximately
700.

Note that if you do decide to change the size of the
rewind buffer, it must be done the first time the
SB.COM program is loaded each session.  Also, always
make sure that the rewind buffer is no larger than the
output buffer allocation (see the next topic).  The
default for the rewind buffer is /!r4 or 2K.

5.3  The Output Buffer

The output buffer holds the text sent to the Sounding
Board for translation and voicing.  The primary purpose
of this buffer is so that your PC can go about its
other business while the Sounding Board is translating
and speaking text.  The larger this buffer, the more
text that can be processed without holding the PC from
other duties.  When the buffer fills, and there is more
text on its way, the PC will be held while the Sounding
Board has time to process some of the text in the
buffer, making room for more.  When the buffer can hold
more, the PC is released and text again begins to be
saved in the buffer.  You'll probably find that the
default, 4K, is adequate.  If not, then use the output
buffer command line parameter to increase the size of
this buffer as needed.  For example, to increase the
buffer from 4K (the default) to 6K, specify <SB /!o6>. 
The "o" stands for "output" buffer, and the number
indicates the desired size in increments of 1K.  The
range for this parameter is from one to nine Kilobytes. 
As with all of the buffer allocations, this parameter
can only be given the first time that the SB.COM
program is loaded.

5.4  The Exception Dictionary Buffer

The last buffer to consider is the one used to store
the entries from a file of exception rules.  The
Sounding Board allocates 512 characters of storage for
dictionary entries by default.  Depending on the size
of each entry, this allocation will accommodate up to
approximately 40 entries.  The arithmetic here is 512 /
12 = 42.  We're using six characters as the average
word size, and we are doubling that to encompass the
mispronounced word and the properly pronounced
substitute.  Should you find this allocation to be too
small, use the exception dictionary buffer parameter to
increase the size of the buffer as needed.  For
example, if you wanted to triple the number of possible
entries, the command would read like this:

     SB /!e3

The "E" in this parameter stands for "exception", and
the number corresponds to some multiple of 512
characters.  The range for this parameter is zero to
forty-nine.  As with all of the buffer parameters, this
allocation can only be made the first time the SB.COM
program is loaded.

Notice that the dictionary buffer is the only buffer
you can set to 0.  This is because users who do not
wish to use an exception dictionary should not be
penalized by an unnecessary loss of valuable memory. 
Therefore if you are not using an exception dictionary,
use the command

     SB /!E0

to free up a valuable 512 characters.