
+++ This is experimental code +++

Authors: Brian Nielsen, Michael Schwendt, Åge Røbekk, Esa Pulkkinen,
         Phillip Wooller, and contributors.
 
Porting hints: The longer the sample buffer, the more time the CPU spends
on consecutively pre-calculating new sample data without feeding the audio
driver. In case of interruptions due to heavy CPU usage the audio driver
might run out of data. Filling and sending shorter buffers to the audio
driver is more likely to keep up a constant data stream. Additionally, the
OSS/Free driver for Linux provides methods to split its internal audio buffer
into fragments, which get send to the soundcard separately, but one after each
other. Hereby the driver can quickly transfer new data to the soundcard,
whenever the card finished processing previous data. Depending on the
available CPU power it is recommended to find a mean buffer size. Currently,
the buffer size is determined by the two (originally OSS/Free-specific)
parameters ``fragments'' and ``fragSizeBase'', where:
   bufferSize = fragments * 2^fragSizeBase
   or without fragmentation: bufferSize = 2^fragSizeBase

This does not necessarily apply to every audio device driver.

The variables ``encoding, precision, channels'' are intended to contain
SID-Emulator compatible audio configuration values, which can be read out
to configure the SID-Emulator.
