GUS/patch format

Byte Order: Little-endian
Offset   Length   Contents
  0     22 bytes  "GF1PATCH110\0ID#000002\0" or
                  "GF1PATCH100\0ID#000002\0"
 22     60 bytes  Discription (in ASCII)
 82      1 byte   Number of instruments (To some patch makers, 0 means 1)
 83      1 byte   Voices (Always 14?)
 84      1 byte   Channels
 85      2 bytes  Waveforms
 87      2 bytes  Master volume [0..127]
 89      4 bytes  Data size
 93     36 bytes  Reserved
129      2 bytes  Instrument ID [0..0xFFFF]
131     16 bytes  Instrument name (in ASCII)
147      4 bytes  Instrument size
151      1 byte   Layers
152     40 bytes  Reserved
192      1 byte   Layer duplicate
193      1 byte   Layer
194      4 bytes  Layer size
198      1 byte   Number of samples
199     40 bytes  Reserved
[ // Samples
         7 bytes  Wave name (in ASCII)
         1 byte   Fractions
                      bit 0..3: Loop offset start fractions [0/16 .. 15/16]
                      bit 4..7: Loop offset end fractions [0/16 .. 15/16]
         4 bytes  Sample data size (s)
         4 bytes  Loop start
         4 bytes  Loop end
         2 bytes  Sample rate
         4 bytes  Low frequency
         4 bytes  High frequency
         4 bytes  Root frequency
         2 bytes  Tune (Always 1, not used anymore)
         1 byte   Panning [0:left .. 15:right]
         3 bytes  Envelope rates (on)   (stage 0,1,2)
         3 bytes  Envelope rates (off)  (stage 3,4,5)
         3 bytes  Envelope offsets (on) (stage 0,1,2)
         3 bytes  Envelope offsets (off)(stage 3,4,5)
                      stage 0: Attack
                            1: Decay
                            2: Sustain
                            3,4,5: Release
         1 byte   Tremolo sweep
         1 byte   Tremolo rate
         1 byte   Tremolo depth
         1 byte   Vibrato sweep
         1 byte   Vibrato rate
         1 byte   Vibrato depth
         1 byte   Sampling modes
                      bit 0: 16-bit (versus 8-bit)
                      bit 1: Unsigned (versus signed)
                      bit 2: Looping
                      bit 3: Pingpong
                      bit 4: Reverse
                      bit 5: Sustein
                      bit 6: Envelope
                      bit 7: Clamped release (6th point of envelope)
         2 bytes  Scale frequency
         2 bytes  Scale factor [0..2048] (1024 is normal)
        36 bytes  Reserved
        (s)bytes  Sample data
]*

Appendix:
Envelope rate table