#Format : JamCracker/PRO
#Created by : M. Gemmel (1990-1991)
#
# This description is based on "jamplay.asm" written by
#M. Gemmel and Xag / Betrayal. Though, I cant say I can
#read 68k source code easily :(. Although, this was
#started on 97 ... I could grab on JamCrackerPro 1.0A
#since then !. It's far more easier now :).
# According to the doc, JamCracker and JCPro have the
#very same saving format ... until a new release by Xag,
#which never got finished/released, I guess.
#
# 08 mar 1999, Sylvain "Asle" Chipaux
# (asle@multimania.com)
####################################################################



0        [4]    "BeEp" ... ID of a JamCracker file
4        [2]    Number of sample (NOS).


{now starts the description of each sample)
{Each description is 40 bytes long)
{the following is repeated 'Number of sample' times).
{
{ 6        [31]   Sample name
{ 37       [1]    flag byte
{ 38       [4]    sample size
{ 42       [4]    sample address
{


40*NOS   [2]  Number of pattern saved (NOPS).
+6


{pattern list consists of the number of rows and the address
{
{ 40*NOS+8  [2]   number of rows (0->3Fh
{ 40*NOS+10 [4]   address
{


(40*NOS)+8  [2]   size of pattern list (SOPL)
+(6*NOPS)

(40*NOS)+8  [SOPL*2]   pattern list. each value is two bytes.
+(6*NOPS)
+2



NOW, THE PATTERN DATA. Stored as PTK :


line 00  voice0|voice1|voice2|voice3
line 01  voice0|voice1|voice2|voice3
...

 each note (voice) is (8 bytes long) and here's the description
extracted from the doc :

{The format of a step is:	XX YYY IISAAVVPVVVPPP
{
{where:    IISAAVVPVVVPPP are the note-data numbers
{
{          XX  is the step number
{          YYY is the note itself, or a blank step if there is no note
{          II  is the number of the instrument used to play this note
{          S   is the pattern play speed
{          AA  is the arpeggio info
{          VV  is the vibrato info
{          P   is the phase-shift speed
{          VVV is the volume info
{          PPP is the pitch slide/portamento info

 and here, follows it's interpretation when saved :

 period     1    (note. 0 is no note)
 instrument 1    (sample. 0 is no sample)
 speed      1    }
 arpeggio   1    }
 vibrato    1    } effects
 phase      1    }
 volume     1    }
 porta      1    }
