Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- AdLib and Sound Blaster reference guide.÷+--------------------------------------------------------------+ - <b>function 6</b> : output voice. http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Function 6     : Output Voice.

Entry          : BX = 6.
                 ES:DI = Address of output buffer.
Exit           : None.

This function uses DMA to output voice. The output buffer
contains voice data as defined in Creative Voice File Format,
ES:DI points to the start of the first voice data block in the buffer.
(Skipping the HEADER BLOCK). The HEADER BLOCK in the CVFF format
should be ignored. If other voice data is used, they must be converted
to the voice data block format as defined in CVFF format specification.
Control is returned to the calling program immediately with a 0FFFFH
stored into the status word.

While the voice is being output, the calling program can perform
any other task that does not require the DMA channel 1.

The voice data must be in the CVFF format. Under this format, voice
data with different sampling rates or packing formats can be stored
together. This format also allows silence packing and marker inserting.

For more detail of "Creative Voice Format", please refer to the
"Creative Voice Format Specification".

The status word remains non-zero until the end of a buffer us reached
or until the process is terminated by the "Stop voice Process" function.
The calling program can check the status work for:

     A.    End of voice output, status work is zero, otherwise, status
           word is non-zero.


     B.    Voice output reaches a particular marker position, status
           word is updated with the marker value.

Before the voice output has ended, calling program should not invoke
another voice output or a voice input.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson