StSoundGPL-1.2
---------------
St-Sound(YM emulator/player) a program to play ATARI music on your Amiga.
                                                             
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                           #### ##### ####                  
                          ##### ##### #####                 
                          ##### ##### #####                 
                         #####  #####  #####                
                        #####   #####   #####               
                      #######   #####   ######              
                     #######    #####    #######            
                    #######     #####     #######           
                  ########      #####      ########         
               ##########       #####        #########      
            ###########         #####         ########### 
          ###########           #####           ########### 
          #########             #####              ######## 
          #####                 #####                  #### 
                                                             
                                                             
            ##      ###########      ##       ########    ###
           ####         ###         ####      ###   ###   ###
          ######        ###        ######     ###    ###  ###
         ###  ###       ###       ###  ###    ###   ###   ###
         ###  ###       ###       ###  ###    ### ####    ###
        ###    ###      ###      ###    ###   ######      ###
        ##########      ###      ##########   ### ###     ###
       ###      ###     ###     ###      ###  ###  ###    ###
       ###      ###     ###     ###      ###  ###   ###   ###
       ###      ###     ###     ###      ###  ###    ###  ###
ST-Sound library, Copyright (C) 1995-1999 Arnaud Carré ( http://leonard.oxg.free.fr )
LZH depacking code written by Haruhiko Okumura and modified/improved by Kerwin F. Medina.
Amiga Port of 'SmallYmPlayer' by Juha Niemimäki.
improved by megacz@usa.com
---
NEWS:
     [29-09-2007] = (thanks to Wayne for his feedback!)
     - added single tasking mode(message port) to the 'SmallYmPlayer' and it is turned on
       by default, it avoids running multiple instances - this feature can be controlled
       with env. variable called 'STSOUNDONETASK'(1 - yes, 0 - no).
     - new default value for "overloopping" is now 2, 1 was still cropping the
       tune.
     - moved AHI init call before loading the tune so that you will receive
       the error message(if not okay) immediately, without loading the tune.
     - default mixing frequency is now 17640 Hz(set the same in AHI prefs
       for best quality)
     - binaries are now even smaller due to symbol stripping.
     - 'SmallYmPlayer' has lower stack requirements, 'StackSnoop' reports
        ~68 kilos, so i think that 81920 will be enough, it was 163840.
     [22-07-2007]
     - tunes were played not up to their end in 'SmallYmPlayer', fixed, plus you 
       can control "overloopping" with 'STSOUNDOVL' - by default it is 1, which means
       that there is one additional loop when function that render the sound returns
       zero, this does not quit the program immediately so 'AHI' has a chance to play
       this last buffer. 
     - found out that the build was fpu dependant, there are two builds now, default
       for 040/060 and for anything that is fpuless(000-030).
     - 'SmallYmPlayer' has now possibility to choose 'AHI' music unit, you can do
       that with 'STSOUNDAHIUNIT' - by default it is 1.
     - you can play MIX1 and YMT's on a plain 68020 - with very little cpu usage,
       i think that it can even play nicely on 68000, however you should decompress
       the tunes with 'lha' first.
 
---
LINKS:
      http://pacidemo.atarizone.com/aldn/index.html    (large archive           )
      http://www.chiptune.de/                          (big one too             )
      ftp://ftp.untergrund.net/users/bulba/VtxYmEtc.7z (some music              )
      http://fading-twilight.atari.org/                (cd isos with scene stuff)
      http://www.creamhq.de/ymrockerz/downloads.php    (sndh's as mp3's         )
---
NOTES:
      - requires 68000+/os2.04+/1 meg+ of memory/AHI/[AUDIO:]
        ;
        NO IXEMUL NEEDED!
      - to be short, i have improved whole package a bit by adding and fixing
        this and that, here and there... 
        ;
        fixed 'Ym2Wav', fixed 'SmallYmPlayer', fixed lzh decompression,
        and lots of tiny other things in the library, added 'Ym2Aiff' & 'Ym2Pipe'.
        ;
        with 'Ym2Pipe' you can listen through 'AUIDO:' or redirect
        to some 'PIPE:'.
        ;
        btw, i suspect that existing ppc version can not decompress lzh
        transparenty, so can someone try to build these sources for a ppc
        Amiga and let me know if it works?
      - this port allows to set mixing frequency through enviroment variable
        'STSOUNDFREQ', so you are not limited to 44100 Hz only, generally it
        looks like this(default frequency is 17640 Hz):
        ;
        11025 - 17640 Hz  =  should play smoothly on 68030(8 bit).
        17640 - 22050 Hz  =  plays reasonably good on 68040(8/16 bit).
        22050 - 56000 Hz  =  fast cpu required(even in 8 bits!).
      - waveform in 8 bit('STSOUND8BIT') mode can be controlled via environment 
        var 'STSOUNDSIGNED' ex.: ('set STSOUNDSIGNED 0', or 'set STSOUNDSIGNED 1'): 
        ;
        'Ym2Wav'   -  by default gives unsigned data in 8 and signed in 16 bits.
        'Ym2Aiff'  -  same as above.
        'Ym2Pipe'  -  by default gives signed data in both sample resolutions.
        
      - pcm buffer can be controlled via environment variable 'STSOUNDBUF',
        ex.: ('set STSOUNDBUF 4096'), defaults are as follows:
        ;
        'Ym2Wav'        =  32768 bytes.
        'Ym2Aiff'       =  32768 bytes.
        'Ym2Pipe'       =  4096 bytes, for quick streaming.
        'SmallYmPlayer' =  32768*2 - double buffered
      - YOU SHOULD USE WRAPPERS INSTEAD OF INVOKING PROGRAMS DIRECTLY THIS IS
        BECAUSE STACK USAGE IS REALLY HIGH!
        ;
        i was playing with 'swapstack.o' but this thing is broken, and programs
        affected by this code trash the memory and crash from time to time...
      - did you know? that '.ym's' are 'lzh's', you can decompress them using 'lha'.
      - fyi YM's 2-6 can load cpu really badly(pure emulation) while YMT's 1,2 and
        MIX1 tunes not - samples.
      - why does 'Total time' when playing MIX1 tunes is 0? hell, no idea...,
        is there a way to calculate???
      - each binary can dump information only(without playing), this can be
        done by using option '-i' - idea by Lorence Lombardo.
---
ENV VARS('setenv'-perm. or 'set'-temp.):
      - STSOUNDBUF      (1024 - 32768)  - (32768*4) + 8192 = 139264 bytes
                                          of stack needed(theoretically)!
      - STSOUNDFREQ     (4000 - 56000)  - adjust mixing frequency
      - STSOUNDOVL      (1    - 5    )  - so called "overloopping"         [+]
      - STSOUNDAHIUNIT  (0    - 3    )  - choose AHI music unit            [+]
      - STSOUNDONETASK  (0    | 1    )  - (dis)allow multiple instances    [+]
      - STSOUNDSIGNED   (0    | 1    )  - change type of 8 bit samples     [*]
      - STSOUND8BIT     (0    | 1    )  - convert from 16 bit to 8 bit  .  [*]
 [+] only in 'SmallYmPlayer'  
 [*] does not exists in 'SmallYmPlayer'
---
QUICK START(play):
      cd StSoundGPL-1.2/build/
      SmallYmPlayer //sample-music/VirtualEscape2.ym
---
QUICK START(play 'AUDIO:'):
      cd StSoundGPL-1.2/build/
      Ym2Pipe //sample-music/VirtualEscape2.ym audio:b=16/c=1/f=16000/buf=30072
---
QUICK START(play 'AUD:'):
      cd StSoundGPL-1.2/build/
      set STSOUND8BIT 1
      Ym2Pipe //sample-music/VirtualEscape2.ym aud:frequency16000/buffer20048/channel1
---
QUICK START(convert):
      cd StSoundGPL-1.2/build/
      set STSOUNDFREQ 44100
      Ym2Aiff //sample-music/VirtualEscape2.ym hd666:ym-aiffs/VirtualEscape2.aiff
---
QUICK INFO:
      cd StSoundGPL-1.2/build/
      Ym2Aiff //sample-music/VirtualEscape2.ym -i
---
INSTALLATION:
      cd StSoundGPL-1.2/build/
      copy ~(#?.a) c:
---
enjoy ym music!
megacz@usa.com
 |