Short: plays ym ATARI tunes (with source) Author: Arnaud Carré ( http://leonard.oxg.free.fr ) Uploader: megacz usa com Type: mus/play Version: 1.2-3 Replaces: mus/play/StSoundGPL.lha Requires: see notes Architecture: m68k-amigaos;generic 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