
Object : structure of Sound Machine's built-in format (versions 2.5, 3.0 & 3.1)


1. Sound Machine 2.5 format
===========================

     A. General structure
     --------------------

header
  SM25   ' SM=Sound Machine, 25=version 2.5
  x%     ' number of the format (see FORMATS.TXT)
  f%     ' the byte for the set up, see below
  o1     ' 1st init offset
  o2     ' 2nd init offset, used for digidrums
  o3     ' VBL offset, installs the music
  o4     ' 1st stop offset, to stop the music
  o5     ' 2nd stop offset, to stop the digidrums
  s1     ' if s1="*" then "r1" is > 0, if s1="." then "r1" is < 0.
  r1     ' value of the d0 register to start the music (number of music)
  s2     ' see "s1"
  r2     ' value of the d0 register to stop the music (number of music)
end of header
beginning of the music
  (...)
end of the music


     B. Structure of the byte for the set up
     ---------------------------------------

Bit of configuration --------------------------------->  7  6  5  4  3  2  1  0
Meaning of each bit :                                    |  |  |  |  |  |  |  |
                                                         |  |  |  |  |  |  |  |
- unused ------------------------------------------------/  |  |  |  |  |  |  |
- if 1 then the music works on Falcon ----------------------/  |  |  |  |  |  |
- music type : ------------------------------------------------+--/  |  |  |  |
  00 : soundchip                                                     |  |  |  |
  01 : sid-voice                                                     |  |  |  |
  10 : halftrack                                                     |  |  |  |
  11 : sid-voice + halftrack (mixed)                                 |  |  |  |
- if 1 then there are several musics in the same file ---------------/  |  |  |
- if 1 then the 'o5' offset will be used (to stop digidrums) -----------/  |  |
- if 1 then the 'o2' offset will be used (to initialize digidrums) --------/  |
- if 1 then the music can be played ------------------------------------------/


2. Sound Machine 3.0 format
===========================

     A. General structure
     --------------------

header
  SM3    ' SM = Sound Machine, 3 = version 3.0
  x%     ' number of the format (see FORMATS.TXT)
  f%     ' the byte for the set up, see below
  o1     ' 1st init offset
  o2     ' 2nd init offset, used for digidrums
  o3     ' VBL offset, installs the music
  o4     ' 1st stop offset, to stop the music
  o5     ' 2nd stop offset, to stop the digidrums
  r1     ' value of the d0 register to start the music (number of music)
  r2     ' value of the d0 register to stop the music (number of music)
end of header
beginning of the music
  (...)
end of the music


     B. Structure of the byte for the set up
     ---------------------------------------

Bit of configuration --------------------------------->  7  6  5  4  3  2  1  0
Meaning of each bit :                                    |  |  |  |  |  |  |  |
                                                         |  |  |  |  |  |  |  |
- if 1 then "r1" is > 0 ---------------------------------/  |  |  |  |  |  |  |
- if 1 then "r2" is > 0 ------------------------------------/  |  |  |  |  |  |
- music type : ------------------------------------------------+--/  |  |  |  |
  00 : soundchip                                                     |  |  |  |
  01 : sid-voice                                                     |  |  |  |
  10 : halftrack                                                     |  |  |  |
  11 : sid-voice + halftrack (mixed)                                 |  |  |  |
- if 1 then this music works on Falcon ------------------------------/  |  |  |
- if 1 then the file contains several musics ---------------------------/  |  |
- if 1 then the 'o5' offset will be used to stop digidrums ----------------/  |
- if 1 then this music will be played ----------------------------------------/


3. Sound Machine 3.1 format
===========================

     A. General structure
     --------------------

header
  Sm3    ' version of Sound Machine (SM3=3.0, Sm3=3.1)
  (the rest is identical to version 3.0)
end of header
beginning of the music
  (...)
end of the music


     B. Structure of the byte for the set up
     ---------------------------------------

     Absolutely equal to version 3.0 except for the bit 0. If this bit contains
1 then the 'o2' offset will be used to initialize digidrums.
