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
|