GENERATING A PLAYER
-------------------


Once you have finished  a  song,  perhaps  you  want  to  use  it  in  your  own
productions. After having converted a SKS file into a  BINary  file  (using  the
Song Generator, look at GENSONG.ENG), it is now possible to play the  song  with
one of the players available.

Run the file called "GP", or if you connected the right ROM, type |GP.


PLAYER GENERATOR MAIN MENU
--------------------------

After the program is loaded, a menu appears :
1) Show all files on disc
... Self explanatory.


Allows you to choose between Drive A and B.


THE PLAYERS
-----------

STarKos gives you the choice between 3 players. Why three ? Well, it all depends
on what you want to do :

- ASM Player : If you intend to use your song in a  demo,  without  the  system,
then this one is for you. This is the most  optimised  version  of  the  StarKos
players. Demomakers/Fanzmakers will be only interested  by  this  one.  The  ASM
Player  doesn't  save  any  registers,  modifies  all  of  them  (including  the
auxiliary, but not SP), so the system won't like it (strange behaviour/crash).

- BASIC Player : This one is made if you want  to  use  your  song  in  a  Basic
program, or an Asm code that still uses System. The only difference between  the
BASIC and the ASM Player is that the BASIC Player saves some registers  so  that
Basic doesn't crash after playing the song.

- INTERRUPTION Player : This one is for people who want to put a song  and  stop
thinking about calling it. Basic users are the main users of this player, but it
can also  fit  to  any  ASM  program  that  doesn't  kill  the  system  and  the
interruptions. A simple CALL and the song begins !

Please note, if you use ASM or BASIC players, that it's up to YOU  to  call  the
song at the right moments (once per VBL, twice... up  to  six  times  for  300hz
songs). I guess it's possible to get a 300hz song in Basic,  but  it's  somewhat
useless ; use INTERRUPTION Player instead).
INTERRUPTION Player automatically detects the song frequency. In every  case,  a
300hz  interruption  is  cast  (using  system  vectors),  but  only  a  few   of
interruptions are used if using a less than 300hz song.



GENERATING A PLAYER
-----------------

Once you've chosen the player you need, you will have to give the  name  of  the
saved player (STKPLBAS/STKPLASM/STKPLINT  for  example),  then  the  address  in
memory where you want it to be located. The player is then saved.


USING A SONG IN YOUR PROGRAMS
-----------------------------

It's very easy, and follows more or  less  the  same  philosophy  as  the  BSC's
Soundtrakker.

First, load the player at the address you gave in GENPLAY. In basic, this  could
be :
Memory &1fff:load"PLAYER",&2000

Then, load the song, where you compiled it in GENSONG.
load"SONG",&3000

NOTE : ALWAYS PRECISE THE ADDRESSES WHEN LOADING A SONG OR  A  PLAYER.  This  is
needed because the saved start address aren't (and can't be) right.


Starting the song varies according to the player used :

If you use the BASIC player :
---------------------------
Three CALLs are available :
CALL PLAYER,ADSONG = Initialize the song.
CALL PLAYER+3 = Play song.
CALL PLAYER+6 = Stop song.

Initializing the song MUST be done once before playing the song  for  the  first
time. DON'T FORGET the Address of your song  (ADSONG)  !  It's  needed  for  the
player to know where the song is. In our example, you would have to write :
CALL &2000,&3000 to initialize the song.
CALL &2003 to play the song
CALL &2006 to stop the song.

You can also re-initialize the song if you want it to  restart.  Note  that  the
BASIC player can also be called in any ASM program,  it's  just  slighty  slower
than the ASM player. To give ADSONG to the player when initializing, just set DE
with this value (like below).


If you use the ASM player :
-------------------------
Well, it works nearly the same way.
CALL ADPLAYER to initialize the song, with DE pointing on the song.
CALL ADPLAYER+3 to play the song
CALL ADPLAYER+6 to initialize the song.

In our example, this would do :
LD DE,&3000 ; CALL &2000 to initialize
CAll &2003 to play
CALL &2006 to stop.

Be sure that you don't need the system, or it's going to  crash.  All  registers
are corrupt, too.


If you use the INTERRUPTION player :
-----------------------------------
It's even more simple :
CALL PLAYER,ADSONG = Initialize and start the song.
CALL PLAYER+3 = Stop the song.

As well, if you use this player in an ASM program, use DE to  give  ADSONG  when
initializing, exactly like above.


That's all ! For more technical information about the players (and how to  tweak
it a bit), read PLAYERS.ENG.
