From nic@wr.com.au  Sat Feb 17 13:29:25 1996
Received: from wr.com.au ([203.12.42.10]) by nic.funet.fi with SMTP id <1542-4819>; Sat, 17 Feb 1996 13:29:19 +0200
Received: by wr.com.au (5.x/SMI-SVR4-1.0)
	id AA29324; Sat, 17 Feb 1996 22:32:55 +1100
Message-Id: <9602171132.AA29324@wr.com.au>
Subject: Re: sgroup S770 soundfile format?
To:	kouhia@nic.funet.fi (Juhana K Kouhia)
Date:	Sat, 17 Feb 1996 22:32:54 +1100 (EST)
In-Reply-To: <96Feb17.124009+0200_eet.1955-4816+65@nic.funet.fi> from "Juhana K Kouhia" at Feb 17, 96 05:40:02 am
From:	nic@carrot.com.au (Nic Grant)
Return-Path: nic@carrot.com.au
X-Face: 
	 CWvY*`==&6t{gXL499VPU\Q@{>yp6Thfa6V;Qev0p\q]Oi,cV10j}<fRRPBcAdUc8Py/*Sn
	 ;Y?0LrdWh%BJ[;}tL=I:R2RjGjW91})y0f)GoK3J8`^=cz'8aW$#a=oZwt$$3{-qx-RD$oN7j_vtAr
	 J9UBE1hC-\n$hpN?&$"Px*ZiiXey9/(3nu
X-Mailer: ELM [version 2.4 PL24]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Status: R

to quote Juhana K Kouhia:
  => I would like to convert S770 soundfiles to raw format. I need a file
  => format of the soundfiles or a source code which reads the soundfiles;
  => there is no need to give a complete code.
  => Msdos or such executables are no-no. We need the conversion code to be
  => eventually in C language.

  Attached might be of use to you.

  Regards,
  Nic.


TAB=6

SYS-772 Ver.2.0 for S-750/770
Hard Disk/MO Disk/CD-ROM Format Manual

revision 1.00 May 7, 1991
Copyright 1991. (C) R&D J-1 Roland Electronics Corp.

[ 1]    Definitions
    1 block = 512 bytes
    1 cluster = 18 blocks (512 * 18 = 9216 bytes)

[ 2]    Table of area of HD/MO/CD-ROM
                                      start lock(Hex)
    -----------------------------------------------------------------
    1. ID area                                0000 -
    2. Reserved area work (work area for device check    0001 - 0003
    3. System Program area                        0004 - 0403
    4. FAT (File Allocation Table) area                0404 - 0503
    5. Directory area - Volume files                0504 - 050B
                - Performance files            050C - 052B
                - Patch files                052C - 056B
                - Partial files                056C - 066B
                - Sample files                066C - 086B
    6. Parameter area - Volume files                086C - 08AB
                - Performance files            08AC - 0AAB
                - Patch files                0AAC - 0EAB
                - Partial files                0AEC - 12AB
                - Sample files                12AC - 15AB
    7. Wave Data area                            15AC -

[ 3]    ID area                                0000 -

    Start: 0000_0000 block / lenght 0000_0001 block
    -----------------------------------------------------------------
    (block/offset)
      0000/000h:    .byte 00h,00h,00h,00h
      0000/004h:    .byte 'S770 MR25A',00h,20h
      0000/010h:    .byte '               ',FEh
      0000/020h:    .byte 'S-770 Hard Disk  Ver. X.XX     ',FEh
      0000/040h:    .byte '    Copyright   Roland         ',FEh
      0000/060h:    (reserved FFh)            (160 byte)
      0000/100h:    Hard Disk name ( Drive name ) ( 16 byte)
      0000/110h:    Hard Disk capacity        (  4 byte)
      0000/114h:    file number of volume        (  2 byte)
      0000/116h:    file number of performance    (  2 byte)
      0000/118h:    file number of patch        (  2 byte)
      0000/11Ah:    file number of partial        (  2 byte)
      0000/11Ch:    file number of sample        (  2 byte)
      0000/11E4h:    ( reserved FFh )            (226 byte)

[ 4]    Reserved area (work area for device check)        0001 - 0003

    Start: 0000_0001 block / lenght 0000_0003 block
    -----------------------------------------------------------------
    *) work area for device check ( read or write )

[ 5]    System Program area                        0004 - 0403

    Start: 0000_0004 block / lenght 0000_0400 block
    -----------------------------------------------------------------
    *) You should not write this area without the S-770/S-750 !!

[ 6]    FAT (File Allocation Table) area                0404 - 0503

    Start: 0000_0404 block / lenght 0000_0100 block
    -----------------------------------------------------------------
    FAT[   0] = FFFAh        (reserved) FAT ID
    FAT[   1] = FAT remain (*1)
    FAT[   2] = next FAT or FFF8h (FAT end)
    FAT[   3] = next FAT or FFF8h (FAT end)

    FAT[FFF4] = next FAT or FFF8h (FAT end)
    FAT[FFF5] = next FAT or FFF8h (FAT end)
    FAT[FFF6] = FFF8h (FAT end)
    FAT[FFF7] = FFFFh
    FAT[FFF8] = FFFFh
    FAT[FFF9] = FFFFh
    FAT[FFFA] = FFFFh
    FAT[FFFB] = FFFFh
    FAT[FFFC] = FFFFh
    FAT[FFFD] = FFFFh
    FAT[FFFE] = FFFFh
    FAT[FFFF] = FFF?h        (*2) Format type (Ver.1.0/Ver.2.0)

    (65536 - 11) * 18 * 512 = 603,878,400 byte Max

    (*) FAT entry
    0000h            Free (Not use)
    0001h            Reserved
    0002h - FFF6h    FAT chai
    FFF7h            Error Cluster
    FFF8h - FFFFh    End Cluster
    
    (*1)    Total number of Free (Not used) Clusters.
    (*2)    In case of 'FFFFh', Ver.1.0 Format
        In case of 'FFFEh', Ver.2.0 Format, using Link pointer
        in Directory area.

[ 7]    Directory area                            0504 - 086B

    +Volume Directory.                    Volume:    128
    Start: 0000_0504 block / lenght 0000_0008 block
    -----------------------------------------------------------------
    (block/offset)
      0504/000h:    Volume -  1 Directory        ( 32 byte)
      0504/020h:    Volume -  2 Directory        ( 32 byte)
      0504/040h:    Volume -  3 Directory        ( 32 byte)
      0504/060h:    Volume -  4 Directory        ( 32 byte)
      0504/080h:    Volume -  5 Directory        ( 32 byte)
      ..            ..                    ..
      050B/1E0h:    Volume -128  Directory        ( 32 byte)

    +Performance Directory.                Performance:    512
    Start: 0000_050C block / lenght 0000_0020 block
    -----------------------------------------------------------------
    (block/offset)
      050C/000h:    Performance -  1 Directory        ( 32 byte)
      050C/020h:    Performance -  2 Directory        ( 32 byte)
      050C/040h:    Performance -  3 Directory        ( 32 byte)
      050C/060h:    Performance -  4 Directory        ( 32 byte)
      050C/080h:    Performance -  5 Directory        ( 32 byte)
      ..            ..                        ..
      052B/1E0h:    Performance -512 Directory        ( 32 byte)

    +Patch Directory.                        Patch:    1024
    Start: 0000_052C block / lenght 0000_0040 block
    -----------------------------------------------------------------
    (block/offset)
      052C/000h:    Patch -   1 Directory            ( 32 byte)
      052C/020h:    Patch -   2 Directory            ( 32 byte)
      052C/040h:    Patch -   3 Directory            ( 32 byte)
      052C/060h:    Patch -   4 Directory            ( 32 byte)
      052C/080h:    Patch -   5 Directory            ( 32 byte)
      ..            ..                        ..
      056B/1E0h:    Patch -1024 Directory            ( 32 byte)

    +Partial Directory.                    Partial:    4096
    Start: 0000_056C block / lenght 0000_0100 block
    -----------------------------------------------------------------
    (block/offset)
      056C/000h:    Partial -   1 Directory            ( 32 byte)
      056C/020h:    Partial -   2 Directory            ( 32 byte)
      056C/040h:    Partial -   3 Directory            ( 32 byte)
      056C/060h:    Partial -   4 Directory            ( 32 byte)
      056C/080h:    Partial -   5 Directory            ( 32 byte)
      ..            ..                        ..
      066B/1E0h:    Partial -4096 Directory            ( 32 byte)

    +Sample Directory.                    Sample:    8192
    Start: 0000_066C block / lenght 0000_0200 block
    -----------------------------------------------------------------
    (block/offset)
      066C/000h:    Sample -   1 Directory            ( 32 byte)
      066C/020h:    Sample -   2 Directory            ( 32 byte)
      066C/040h:    Sample -   3 Directory            ( 32 byte)
      066C/060h:    Sample -   4 Directory            ( 32 byte)
      066C/080h:    Sample -   5 Directory            ( 32 byte)
      ..            ..                        ..
      086B/1E0h:    Sample -8192 Directory            ( 32 byte)

    (*) Directory Format
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Name ( 16 byte in ASCII)                                  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    |(1)|(2)|  (5)  |  (6)  |  (7)  |    (X)    |  (3)  |  (4)  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (1) = File type.        40h = Volume
                    41h = Performance
                    42h = Patch
                    43h = Partial
                    44h = Sample

    (2) = File attribution (ignore)
        bit 0 ...        Write Protect
        bit 1 ...        Read Only
        bit 2 ...
        bit 3 ...
        bit 4 ...
        bit 5 ...
        bit 6 ...
        bit 7 ...

    (3) = FAT entry        (only Sample file)

    (4) = File capacity    (number of total clusters, only Sample)

    (5) = Forward Link pointer
        0000h        ; in case of Ver.1.0 format
        8000h + N    ; to #N file
        FFFFh        ; end of list (this file is the bottom of list)

    (6) = Backward Link pointer
        0000h        ; in case of Ver.1.0 format
        8000h + N    ; to #N file
        FFFFh        ; end of list (this file is the top of list)

    (7) = Link Number

    (8) = Program Change number    (for Volume and Performance)
        00h        ; in case of Ver.1.0 format
        80h + N    ; Program Change number = N

    (X) = Reserved 00h

    (**)    The top of the file name
        in case of '00h', this file is virginal one
        in case of 'FEh', this file was deleted

[ 8]    Parameter area                            086C - 15AB

    +Volume Parameter.                    Volume:    128
    Start: 0000_086C block / lenght 0000_0040 block
    -----------------------------------------------------------------
    (block/offset)
      086C/000h:    Volume -  1 Parameter        (256 byte)
      086C/100h:    Volume -  2 Parameter        (256 byte)
      086D/000h:    Volume -  3 Parameter        (256 byte)
      086D/100h:    Volume -  4 Parameter        (256 byte)
      086E/000h:    Volume -  5 Parameter        (256 byte)
      ..            ..                    ..
      08AB/100h:    Volume -128 Parameter        (256 byte)
     
     (*) Parameter area format for Volume

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Volume Name ( 16 byte in ASCII)                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    |(1)|(2)|  (5)  |  (6)  |  (7)  |    (X)    |  (3)  |  (4)  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
020    |                                                           |
    +                                                           +
..    | Performance List  ( 2 * 64 = 128 byte )                   |
..    | point to Performance in Disk                              |
    +                                                           +
090    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0A0    |                                                           |
    +                                                           +
..    | ( Reserved 00h )                                          |
    +                                                           +
0F0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (1) = Total number of Performance    (ignore)
    (2) = Total number of Patch        (ignore)
    (3) = Total number of Partial        (ignore)
    (4) = Total number of Sample        (ignore)

    +Performance Parameter.                Performance:    512
    Start: 0000_08AC block / lenght 0000_0200 block
    -----------------------------------------------------------------
    (block/offset)
      08AC/000h:    Performance -  1 Parameter        (512 byte)
      08AD/000h:    Performance -  2 Parameter        (512 byte)
      08AE/000h:    Performance -  3 Parameter        (512 byte)
      08AF/000h:    Performance -  4 Parameter        (512 byte)
      086E/000h:    Performance -  5 Parameter        (512 byte)
      ..            ..                        ..
      0AAB/000h:    Performance -512 Parameter        (512 byte)
     
     (*) Parameter area format for Performance

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    |                                                           |
    +                                                           +
..    | Performance Parameter  ( 256 byte )                       |
..    | (*) see [10] Parameter Map                                |
    +                                                           +
0F0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
100    |                                                           |
    +                                                           +
..    | Patch List  ( 2 * 32 = 64 byte )                          |
..    | point to Patch# in Disk                                   |
    +                                                           +
130    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
140    |                                                           |
    +                                                           +
..    | ( Reserved 00h )                                          |
    +                                                           +
1F0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    +Patch Parameter.                        Patch:    1024
    Start: 0000_0AAC block / lenght 0000_0400 block
    -----------------------------------------------------------------
    (block/offset)
      0AAC/000h:    Patch -    1 Parameter        (512 byte)
      0AAD/000h:    Patch -    2 Parameter        (512 byte)
      0AAE/000h:    Patch -    3 Parameter        (512 byte)
      0AAF/000h:    Patch -    4 Parameter        (512 byte)
      0A6E/000h:    Patch -    5 Parameter        (512 byte)
      ..            ..                        ..
      0EAB/000h:    Patch -1024  Parameter        (512 byte)
     
     (*) Parameter area format for Patch

    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    |                                                           |
    +                                                           +
..    | Patch Parameter  ( 256 byte )                             |
..    | (*) see [10] Parameter Map                                |
    +                                                           +
0F0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
100    |                                                           |
    +                                                           +
..    | Patch List  ( 2 * 88 = 176 byte )                         |
..    | point to Partial# in Disk                                 |
    +                                                           +
1A0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1B0    |                                                           |
    +                                                           +
..    | ( Reserved 00h )                                          |
    +                                                           +
1F0    |                                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    +Partial Parameter.                    Partial:    4096
    Start: 0000_0EAC block / lenght 0000_0400 block
    -----------------------------------------------------------------
    (block/offset)
      0EAC/000h:    Partial -    1 Parameter        (128 byte)
      0EAC/080h:    Partial -    2 Parameter        (128 byte)
      0EAC/100h:    Partial -    3 Parameter        (128 byte)
      0EAC/180h:    Partial -    4 Parameter        (128 byte)
      0EAD/000h:    Partial -    5 Parameter        (128 byte)
      ..            ..                        ..
      12AB/180h:    Partial -4096  Parameter        (128 byte)

    (*) see [10] Parameter Map

    +Sample Parameter.                    Sample:    8192
    Start: 0000_12AC block / lenght 0000_0300 block
    -----------------------------------------------------------------
    (block/offset)
      12AC/000h:    Partial -   1 Parameter        ( 48 byte)
      12AC/030h:    Partial -   2 Parameter        ( 48 byte)
      12AC/060h:    Partial -   3 Parameter        ( 48 byte)
      12AC/090h:    Partial -   4 Parameter        ( 48 byte)
      12AD/0C0h:    Partial -   5 Parameter        ( 48 byte)
      ..            ..                    ..
      15AB/1D0h:    Partial -8192 Parameter        ( 48 byte)

    (*) see [10] Parameter Map

[ 9]    Wave Data area                            15AC -

    Start: 0000_15AC block / lenght XXXX_XXXX block
    -----------------------------------------------------------------
    + 40M Hard Disk    (Total 82,755 blocks = 42,370,560 byte)
        ( 82,755 - 5,548) / 18 = 4,289 (10C1h) Cluster

    + 80M Hard Disk    (Total 156,370 blocks = 80,061,440 byte)
        (156,370 - 5,548) / 18 = 8,379 (20BBh) Cluster

    + 300M MO Disk    (Total 542,618 blocks = 277,820,416 byte)
        (542,618 - 5,548) / 18 = 29,837 (748Dh) Cluster

[10]    Paramater Map

    + Performance Parameter                        ( 256 byte)
    -----------------------------------------------------------------

      0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Performance Name ( 16 byte in ASCII )                         |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    |                                                               |
    + Patch Sel ( Part 1-32 )                                       +
020    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
030    | MIDI Channel (*1)                                             |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
040    |                                                               |
    + Part Level (*1)                                               +
050    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
060    |                                                               |
    + Part Zone Lower                                               +
070    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
080    |                                                               |
    + Part Zone Upper                                               +
090    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0A0    |                                                               |
    + Lower Fade Width                                              +
0B0    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0C0    |                                                               |
    + Upper Fade Width                                              +
0D0    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0E0    |  (1)  |  (2)  |  (3)  |  (4)  |  (5)  |  (6)  |  (7)  |  (8)  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0F0    | Velocity Curve Type                                           |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    
    (1) = Program Change        (0=Off/1=On, bit image)
    (2) = Pitch Bend            (0=Off/1=On, bit image)
    (3) = Modulation            (0=Off/1=On, bit image)
    (4) = Hold Pedal            (0=Off/1=On, bit image)
    (5) = Bend Range            (0=Off/1=On, bit image)
    (6) = MIDI Volume            (0=Off/1=On, bit image)
    (7) = After Touch Switch    (0=Off/1=On, bit image)
    (8) = After Touch Mode        (0=Channel/1=Poly, bit image)

    (*1) MIDI Channel, Part Level
    ADRS 030h lower 4 bit = Part - 1 MIDI Channel
    ADRS 030h upper 4 bit = Part - 2 MIDI Channel
    .............................................
    ADRS 03Fh lower 4 bit = Part -31 MIDI Channel
    ADRS 03Fh upper 4 bit = Part -32 MIDI Channel

    ADRS 040h bit7 = Part - 1 MIDI Channel Off/On Switch (0=Off/1=On)
    ADRS 040h lower 7 bit = Part - 1 Level
    ADRS 041h bit7 = Part - 2 MIDI Channel Off/On Switch (0=Off/1=On)
    ADRS 041h lower 7 bit = Part - 2 Level
    ......................................

    + Patch Parameter                            ( 256 byte)
    -----------------------------------------------------------------

      0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Patch Name ( 16 byte in ASCII )                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    |(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9)|(A)|(B)|(C)|(D)|(I)|(J)|(X)|
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
020    |                                                               |
    + Partial Sel ( 88key )                                         +
030    |                                                               |
    |                                                               |
    +                               +---+---+---+---+---+---+---+---+
070    |                               | ( reserved )                  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
080    |                                                               |
    + Assign Type ( 88key )                                         +
090    |                                                               |
    |                                                               |
    +                               +---+---+---+---+---+---+---+---+
0D0    |                               | ( reserved )                  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0E0    | Bender(C)     | After Touch (F)           | Modulation (G)(X) |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0F0    | Controller (H)                | ( reserved )                  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (1) = Program Change #
    (2) = Stereo MIX Level
    (3) = Total Pan
    (4) = Patch Level
    (5) = Output Assign (8outs Mode)
    (6) = Priority
    (7) = CutOff
    (8) = Velocity Sens
    (9) = Octave Shift
    (A) = Coarse Tune
    (B) = Fine Tune
    (C) = SMT Ctrl sel
    (D) = SMT Ctrl Sens
    (E) = Bender
        0E0: = Pitch Ctrl Up
        0E1: = Pitch Ctrl Down
        0E2: = TVA Ctrl
        0E3: = TVF Ctrl
    (F) = After Touch
        0E4: = Pitch Ctrl
        0E5: = TVA Ctrl
        0E6: = TVF Ctrl
        0E7: = LFO Rate Ctrl
        0E8: = LFO Pitch Ctrl
        0E9: = LFO TVA Depth
        0EA: = LFO TVF Depth
    (G) = Modulation
        0EB: = LFO Rate Ctrl
        0EC: = LFO Pitch Ctrl
        0ED: = LFO TVA Depth
        0EE: = LFO TVF Depth
    (H) = Controller
        0F0: = Control #
        0F1: = Pitch Ctrl
        0F2: = TVA Ctrl
        0F3: = TVF Ctrl
        0F4: = LFO Rate Ctrl
        0F5: = LFO Pitch Ctrl
        0F6: = LFO TVA Depth
        0F7: = LFO TVF Depth
    (I) = Out Assign (8outs Mode)
    (J) = Analog Feel
    (X) = 00h

    + Partial Parameter                        ( 128 byte)
    -----------------------------------------------------------------

      0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Partial Name ( 16 byte in ASCII )                             |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    | Sample 1 (C)                              |(X)|(1)|(2)|(3)|(4)|
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
020    | Sample 2 (C)                              |(X)|(5)|(6)|(7)|(8)|
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
030    | Sample 3 (C)                              | (reserved)        |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
040    | Sample 4 (C)                              |                   |
    +---+---+---+---+---+---+---+---+---+---+---+                   +
050    | TVF (9)                                                       |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
060    | TVA (A)                                                       |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
070    | LFO Generator (B)                 | (reserved)                |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (1) = Output Assign (8outs Mode)
    (2) = Stereo MIX Level
    (3) = Partial Level
    (4) = Output Assign (6outs Mode)
    (5) = Pan
    (6) = Coarse Tune
    (7) = Fine Tune
    (8) = Breath Ctrl
    (9) = TVF
        04B: = Filter Mode            056: = Time 1
        04C: = CutOff                057: = Time 2
        04D: = Resonance                058: = Time 3
        04E: = Velocity Curve Type        059: = Time 4 (R)
        04F: = Velocity Curve Ratio        05A: = ENV TVF Depth
        050: = Time Velocity Sens        05B: = ENV Pitch Depth
        051: = CutOff Velocity Sens        05C: = TVF KF Point
        052: = Level 0,4                05D: = ENV Time KF
        053: = Level 1                05E: = ENV Depth KF
        054: = Level 2                05F: = CutOff KF
        055: = Level 3 (S)
    (A) = TVA
        060: = Velocity Curve Type        068: = Time 2
        061: = Velocity Curve Ratio        069: = Time 3
        062: = Time Velocity Sens        06A: = Time 4 (R)
        063: = Level 0,4                06B: = (reserved)
        064: = Level 1                06C: = TVA KF Point
        065: = Level 2                06D: = ENV Time KF
        066: = Level 3                06E: = (reserved)
        067: = Time 1                06F: = Level KF
    (B) = LFO Generator
        070: = Wave Form                075: = Detune
        071: = Rate                    076: = Pitch
        072: = Key sync                077: = TVF Mod Depth
        073: = Delay                078: = TVA Mod depth
        074: = Delay KF
    (C) = Sample 1 - 4
        offset 000: = Sample Sel (word)
        offset 001: = Pitch KF
        offset 002: = Sample Level
        offset 003: = Pan
        offset 004: = Coarse Tune
        offset 005: = Fine Tune
        offset 007: = SMT Velocity Lower
        offset 008: = SMT Lower Fade Width
        offset 009: = SMT Velocity Upper
        offset 00A: = SMT Upper Fade Width
    (X) = 00h
    
    + Sample Parameter                        ( 48 byte)
    -----------------------------------------------------------------

      0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000    | Sample Name ( 16 byte in ASCII )                              |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
010    | Start point   | S-Loop point  | S-Loop point  | R-Loop point  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
020    | R-Loop point  |(1)|(2)|(3)|(4)|seg top|seg len|(5)|(6)|  (7)  |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

    (1) = Loop Mode
    (2) = S-Loop Enable
    (3) = S-Loop Tune
    (4) = R-Loop Tune
    (5) = Sample Frequency / Sample Mode
    (6) = Original Key
    (7) = (ignore)

    * start/loopl/endl/loop2/end2
        offset 000: fine
        offset 000: address LSB
        offset 000: address
        offset 000: address MSB
    * seg top        0 - segment top number
    * seg len         1 - segment length


