
        Analog Output Limiter v1.00
        ---------------------------
          for VSOS 3.55 or higher
         2026-04-23  VLSI Solution




The FtOLimit package limits the signal output so as not to overload the
VS1005's analog output Sigma-Delta Modulator. It is meant to be used in
conjunction with the AUODAC driver.

It has been found that in the rare case of outputting a full-scale,
high-frequency signal at full output volume setting (e.g. full-scale sine
at 19 kHz when sample rate is 44.1 kHz) may cause distortion in the output.
This driver will modify the output for the rare case of high-amplitude,
high-frequency components that would cause distortion at the output stage.

The package consists of the following program:

Name      Description
FTOLIMIT  Limit output




Starting FTOLIMIT.DL3 in config.txt and setting room size:
# Starts analog audio DAC driver for which FTOLIMIT is a patch for
AUODAC
# Starts signal limiting driver
FTOLIMIT

Note: FTOLIMIT is loaded and stays in memory.


Starting FTOLIMIT.DL3 from the VSOS Shell command line:
S:>driver +ftolimit


Unloading the FTOLIMIT.DL3 driver using the VSOS Shell:
S:>driver -ftolimit


Starting FTOLIMIT.DL3 using C code:
  // Change name as necessary
  #define LIB_NAME "ftolimit"

  u_int16 *limitLib = NULL;

  limitLib = LoadLibrary(LIB_NAME);
  if (!limitLib) {
    printf("Cannot load " LIB_NAME ".DL3 library\n");
    goto finally;
  }



Unloading the driver using C:
  finally:
  if (limitLib) {
    DropLibrary(limitLib);
    limitLib = NULL;
  }



License:
This code may be used freely in any product containing one or more ICs
by VLSI Solution.


Disclaimer:
No guarantee is given for the usability of this code.


Version History:
2026-04-23 HH v1.00 - First release for stdaudioout.
