diff options
-rw-r--r-- | fm_banks/op3_files/2x2patch/2x2.cpp | 622 | ||||
-rw-r--r-- | fm_banks/op3_files/2x2patch/2x2.op3 | bin | 0 -> 4312 bytes | |||
-rw-r--r-- | fm_banks/op3_files/2x2patch/fat2.op3 | bin | 0 -> 4384 bytes | |||
-rw-r--r-- | fm_banks/op3_files/2x2patch/fat4.op3 | bin | 0 -> 4384 bytes |
4 files changed, 622 insertions, 0 deletions
diff --git a/fm_banks/op3_files/2x2patch/2x2.cpp b/fm_banks/op3_files/2x2patch/2x2.cpp new file mode 100644 index 0000000..0a6960a --- /dev/null +++ b/fm_banks/op3_files/2x2patch/2x2.cpp @@ -0,0 +1,622 @@ +#include <stdio.h> + +/* typedefs for MIDI patches */ +#define PATCH_1_4OP (0) /* use 4-operator patch */ +#define PATCH_2_2OP (1) /* use two 2-operator patches */ +#define PATCH_1_2OP (2) /* use one 2-operator patch */ + +#define NUM2VOICES 18 +#define NUM4VOICES 6 //9 +#define NUMOPS 4 +#define NUMMIDICHN 16 + +struct operStruct +{ + char bAt20; /* flags which are send to 0x20 on fm */ + char bAt40; /* flags seet to 0x40 */ + /* the note velocity & midi velocity affect total level */ + char bAt60; /* flags sent to 0x60 */ + char bAt80; /* flags sent to 0x80 */ + char bAtE0; /* flags send to 0xe0 */ +}; + +struct patchStruct +{ + operStruct op[NUMOPS]; /* operators */ + char bAtA0[2]; /* send to 0xA0, A3 */ + char bAtB0[2]; /* send to 0xB0, B3 */ + /* use in a patch, the block should be 4 to indicate + normal pitch, 3 => octave below, etc. */ + char bAtC0[2]; /* sent to 0xc0, C3 */ + char bOp; /* see PATCH_??? */ + //BYTE bDummy; /* place holder */ + char bRhythmMap; /* see RHY_CH_??? */ +}; + +patchStruct glpPatch[256] = +{ + // Melodic voices (0 - 127) + { 0x01,0x9E,0xF2,0x31,0x00,0x11,0x03,0xC2,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3E,0x00,0x02,0x00 }, + { 0x21,0x97,0xF1,0x51,0x01,0x31,0x03,0xC2,0xB3,0x00,0x01,0x4b,0xf2,0xf4,0x00,0x01,0x00,0xf2,0xf7,0x00,0x00,0x00,0x10,0x00,0x3A,0x3A,0x01,0x00 }, + { 0x13,0xc6,0xf2,0xf5,0x01,0x11,0x00,0xf1,0xf5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x02,0x00 },//{ 0x01,0x49,0xf2,0xf4,0x00,0x01,0x00,0xf2,0xf6,0x00,0x21,0x23,0xF1,0x51,0x00,0x31,0x05,0xC2,0xC3,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x81,0x12,0xf2,0xf7,0x00,0x41,0x00,0xf2,0xf7,0x00,0xA1,0x97,0xF1,0x51,0x01,0xB1,0x03,0xF2,0xC2,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x01,0x57,0xf1,0xf7,0x00,0x01,0x00,0xf2,0xf7,0x00,0x07,0xB3,0xF6,0x44,0x00,0xA1,0x0B,0xF2,0xB6,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x01,0x93,0xf1,0xf7,0x00,0x01,0x00,0xf2,0xf7,0x00,0x16,0x24,0xF5,0x43,0x02,0x91,0x00,0xF2,0x87,0x01,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x31,0x88,0xAF,0x00,0x00,0x15,0x00,0xFD,0x13,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x00,0x00,0xf2,0x1f,0x02,0x00,0x00,0xf5,0x88,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x00,0x02,0x00 }, // clavinet RIX + { 0x0c,0x5c,0xf6,0xf4,0x00,0x81,0x00,0xf3,0xf5,0x00,0x39,0xA7,0x73,0x73,0x01,0x31,0x09,0xF3,0x44,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x07,0x97,0xf3,0xf2,0x00,0x11,0x80,0xf2,0xf1,0x00,0x85,0x91,0xDC,0x85,0x01,0x01,0x0E,0xF4,0x55,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x84,0x05,0xFA,0x35,0x01,0x81,0x05,0xF8,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x32,0x00,0x02,0x00 }, + { 0x8f,0x28,0x88,0x15,0x00,0x41,0x00,0xaa,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, // clab vibraphone + { 0x18,0x23,0xf6,0xf6,0x00,0x01,0x00,0xe7,0xf7,0x00,0x95,0x52,0xFA,0x35,0x00,0x81,0x09,0xF7,0x14,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x15,0x91,0xf6,0xf6,0x00,0x01,0x00,0xf6,0xf6,0x00,0x15,0x0B,0xFE,0x66,0x00,0xC1,0x03,0xC8,0x85,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x45,0x0e,0xf2,0xf2,0x00,0x02,0x00,0xf2,0xf2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, // tubby bells tyrian { 0x45,0x59,0xd3,0xf3,0x00,0x81,0x80,0xa3,0xf3,0x00,0x07,0x21,0xF2,0x70,0x00,0xD1,0x10,0xF2,0x72,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x03,0x49,0x75,0xf5,0x01,0x81,0x80,0xb5,0xf5,0x00,0x0A,0xA7,0x94,0x56,0x01,0x11,0x05,0xF4,0x32,0x01,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x82,0x00,0xd1,0x46,0x01,0xa0,0x00,0xe1,0x4C,0x01,0x82,0x00,0xd1,0x46,0x01,0xa0,0x00,0xe1,0x4C,0x01,0x00,0x00,0x10,0x10,0x39,0x39,0x01,0x00 }, // Eol hammond organ IMS 2x2op + { 0x72,0x14,0xc7,0x58,0x00,0x30,0x00,0xc7,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x32,0x00,0x02,0x00 }, + { 0x24,0x00,0x97,0x69,0x00,0x25,0x26,0x91,0x4b,0x00,0x62,0x1b,0xa7,0x7b,0x00,0x21,0x00,0x60,0x3b,0x00,0x00,0x00,0x10,0x00,0xfb,0xfa,0x00,0x00 }, //{ 0x70,0x44,0xaa,0x18,0x00,0xb1,0x00,0x8a,0x08,0x00,0xF2,0x09,0xAF,0x06,0x01,0xF0,0x05,0xAF,0x07,0x01,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x23,0x93,0x97,0x23,0x01,0xb1,0x00,0x55,0x14,0x00,0xB2,0x09,0x9F,0x06,0x01,0xB0,0x09,0x55,0x0B,0x01,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x61,0x13,0x97,0x04,0x01,0xb1,0x80,0x55,0x04,0x00,0x01,0x53,0x90,0xFF,0x01,0x33,0x0D,0x50,0x0C,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x24,0x48,0x98,0x2a,0x01,0xb1,0x00,0x46,0x1a,0x00,0x05,0x9C,0x51,0x53,0x01,0x32,0x05,0x32,0x29,0x01,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x61,0x13,0x91,0x06,0x01,0x21,0x00,0x61,0x07,0x00,0x21,0x8F,0x41,0x03,0x02,0xF1,0x09,0x61,0x06,0x01,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x21,0x13,0x71,0x06,0x00,0xa1,0x89,0x61,0x07,0x00,0x05,0x9A,0x51,0x53,0x00,0x32,0x05,0x32,0x29,0x01,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x02,0x9c,0xf3,0x94,0x01,0x41,0x80,0xf3,0xc8,0x00,0x13,0x1F,0xFF,0x21,0x00,0x11,0x05,0xFF,0x03,0x01,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x03,0x54,0xf3,0x9a,0x01,0x11,0x00,0xf1,0xe7,0x00,0x04,0x5E,0xF5,0x71,0x02,0x11,0x07,0xF1,0x83,0x01,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x23,0x5f,0xf1,0x3a,0x00,0x21,0x00,0xf2,0xf8,0x00,0x03,0x59,0xF4,0x71,0x00,0x31,0x08,0xF1,0xA4,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x20,0x90,0xf5,0x9e,0x02,0x11,0x00,0xf4,0x5b,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3c,0x00,0x02,0x00 }, //clean guitar SIGNAL + { 0x03,0x47,0xf9,0x54,0x00,0x21,0x00,0xf6,0x3a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x02,0x00 }, + { 0xa6,0x1a,0x85,0x14,0x00,0x42,0x17,0x70,0xf4,0x00,0x02,0x19,0xd0,0xf3,0x00,0x02,0x00,0xd0,0xfb,0x00,0x00,0x00,0x10,0x00,0x3e,0x30,0x00,0x00 }, // 4op falcom guitar OR //{ 0xf3,0x0d,0xa6,0x23,0x00,0xf1,0x00,0xf1,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, //overdriven PMDIBM rusty + { 0x21,0x80,0x71,0x59,0x00,0xE4,0x00,0xE1,0x6B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x00,0x02,0x00 },//{ 0xF0,0x01,0x86,0x17,0x00,0x65,0x00,0xF0,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, + { 0x09,0xa1,0x20,0x4f,0x00,0x84,0x80,0xd1,0xf8,0x00,0xC8,0x1C,0x53,0x9F,0x01,0xE4,0x03,0xFA,0x7F,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x21,0x1e,0x94,0x06,0x00,0xa2,0x00,0xc3,0xa6,0x00,0x31,0x1F,0x51,0x11,0x01,0x01,0x00,0xC5,0x13,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + {0x2A,0x24,0xF8,0x2B,0x00,0x20,0x2D,0xF6,0x2B,0x00,0x20,0x12,0xF4,0x2B,0x00,0x20,0x00,0xF4,0x2B,0x00,0x00,0x00,0x10,0x00,0xFE,0xFE,0x00,0x00},//{ 0x31,0x12,0xf1,0x28,0x00,0x31,0x00,0xf1,0x18,0x00,0x01,0x16,0xF1,0xEF,0x00,0x01,0x0B,0xF4,0x98,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x31,0x8d,0xf1,0xe8,0x00,0x31,0x00,0xf1,0x78,0x00,0x31,0x14,0xFB,0x00,0x00,0x22,0x05,0xE4,0xD8,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x31,0x5b,0x51,0x28,0x00,0x32,0x00,0x71,0x48,0x00,0x21,0x03,0xFF,0x50,0x00,0x21,0x85,0xF4,0x98,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x11,0x0f,0xf9,0x27,0x00,0x1b,0x0f,0xf7,0x47,0x01,0x10,0x1d,0xf2,0x97,0x00,0x01,0x00,0xf3,0x59,0x01,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00 }, //4op bass miwaku { 0x31,0x12,0xf1,0x28,0x00,0x31,0x00,0xf1,0x18,0x00,0x01,0x8F,0xD5,0x21,0x00,0x31,0x04,0x83,0x66,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x3e,0x22,0xf5,0xc9,0x00,0x31,0x22,0x96,0xd9,0x00,0x30,0x19,0xd3,0xc9,0x00,0x30,0x00,0xd3,0xfa,0x00,0x00,0x00,0x10,0x00,0x38,0x30,0x00,0x00 }, // falcom bass 1 + //{ 0x21,0x8b,0xa2,0x16,0x00,0x21,0x08,0xa1,0xdf,0x00,0x31,0x10,0x93,0x7F,0x00,0x22,0x89,0xF4,0x88,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x31,0x8b,0xf4,0xe8,0x00,0x31,0x00,0xf1,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x00,0x02,0x00 }, + { 0x40,0x81,0xf2,0xf2,0x00,0x02,0x08,0xf1,0xf6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x02,0x00 }, // tyrian bass + { 0x01,0x1d,0xa0,0x64,0x00,0x03,0x00,0x71,0x75,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, // RIX violins (need +12) + { 0x31,0x16,0xdd,0x13,0x01,0x21,0x00,0x66,0x06,0x00,0x31,0x91,0x52,0x11,0x02,0xB1,0x02,0x31,0x06,0x01,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x71,0x49,0xd1,0x1c,0x01,0x31,0x00,0x61,0x0c,0x00,0x31,0x55,0x54,0x11,0x01,0x22,0x00,0x45,0x09,0x01,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x21,0x4d,0x71,0x12,0x01,0x23,0x80,0x72,0x06,0x00,0x31,0x55,0x54,0x11,0x01,0x22,0x03,0x45,0x09,0x01,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0xf1,0x40,0xf1,0x21,0x01,0xe1,0x00,0x6f,0x16,0x00,0x31,0x89,0x53,0x15,0x00,0x62,0x03,0x45,0x16,0x01,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x02,0x1a,0xf5,0x75,0x01,0x01,0x80,0x85,0x35,0x00,0x11,0x1F,0xF5,0xF0,0x01,0x11,0x03,0xF4,0xC3,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x02,0x1d,0xf5,0x75,0x01,0x01,0x80,0xf3,0xf4,0x00,0x03,0x59,0xF4,0x71,0x00,0x31,0x13,0xF1,0xA5,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x10,0x41,0xf5,0x05,0x01,0x11,0x00,0xf2,0xc3,0x00,0x00,0x0D,0xF6,0x35,0x01,0x11,0x09,0xD9,0x13,0x01,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0xe1,0x00,0x94,0x2f,0x00,0x25,0x19,0xc5,0x4f,0x00,0xe3,0x1c,0xa4,0x3f,0x00,0x21,0x00,0xa2,0x0f,0x00,0x00,0x00,0x10,0x00,0x39, 0x30, 0x00, 0x00 }, // falcom strings transcode + //{ 0xe1,0x1e,0x80,0x05,0x00,0x21,0x0d,0x60,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, // RIX? + { 0xa1,0x98,0x7f,0x03,0x01,0x21,0x00,0x3f,0x07,0x01,0xB1,0x13,0x52,0x11,0x00,0x61,0x0B,0x32,0x15,0x01,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xa1,0x93,0xc1,0x12,0x00,0x61,0x00,0x4f,0x05,0x00,0x31,0x1E,0x75,0x01,0x01,0xE1,0x00,0x54,0x14,0x01,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x21,0x18,0xc1,0x22,0x00,0x61,0x00,0x4f,0x05,0x00,0xE1,0x93,0xC0,0xD3,0x01,0xA2,0x05,0x34,0x04,0x01,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x31,0x5b,0xf4,0x15,0x00,0x72,0x83,0x8a,0x05,0x00,0x20,0x4F,0x61,0x53,0x02,0x62,0x0F,0x5F,0x05,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xa1,0x90,0x74,0x39,0x00,0x61,0x00,0x71,0x67,0x00,0x73,0x14,0x6F,0x33,0x01,0xE1,0x14,0x9F,0x0D,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xa4,0x00,0x60,0x08,0x00,0x68,0x00,0x60,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x33,0x00,0x02,0x00 }, // PMDIBM synvoice rusty + { 0x90,0x00,0x54,0x63,0x00,0x41,0x00,0xa5,0x45,0x00,0x00,0x0F,0x91,0x04,0x00,0x40,0x00,0x52,0x04,0x02,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x21,0x92,0x85,0x17,0x00,0x21,0x01,0x8f,0x09,0x00,0x21,0x1A,0x71,0x4D,0x00,0x61,0x0B,0x81,0x1E,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x21,0x94,0x75,0x17,0x00,0x21,0x05,0x8f,0x09,0x00,0xB1,0x18,0x61,0x1F,0x00,0x21,0x0D,0x92,0x1B,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x21,0x94,0x76,0x15,0x00,0x61,0x00,0x82,0x37,0x00,0x01,0x1B,0x82,0x65,0x00,0x21,0x01,0x75,0x26,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x31,0x43,0x9e,0x17,0x01,0x21,0x00,0x62,0x2c,0x01,0x33,0x19,0x41,0x1F,0x00,0x21,0x0F,0x92,0x3B,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x21,0x00,0x41,0xc5,0x00,0x01,0x3f,0x4f,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x35,0x00,0x02,0x00 }, // french horn RIX + { 0x31,0x00,0xf4,0x94,0x01,0x03,0x00,0x70,0xfd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x02,0x00 },//{ 0x31,0x1D,0x61,0x4F,0x00,0x61,0x06,0x72,0x3B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3E,0x00,0x02,0x00 }, + { 0x31,0x1A,0x62,0x0F,0x00,0x61,0x00,0xC2,0xDB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3E,0x00,0x02,0x00 }, // synth brs RIX + { 0x21,0x17,0x85,0x15,0x00,0x22,0x00,0x92,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, // synth brs puyowop + { 0x31,0x8f,0x93,0x02,0x01,0x61,0x00,0x72,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, + { 0x31,0x8e,0x93,0x03,0x01,0x61,0x00,0x72,0x09,0x00,0x01,0x8D,0x71,0x56,0x01,0xB2,0x0D,0x52,0x1C,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x21,0x19,0x71,0xae,0x00,0x22,0x00,0x81,0x9e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3c,0x00,0x02,0x00 }, // tenor sax ?? RIX + { 0x31,0x8e,0x93,0x0f,0x01,0x61,0x00,0x72,0x0f,0x00,0x01,0x10,0x71,0x53,0x01,0xB3,0x09,0x52,0x1C,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x21,0x4b,0xaa,0x16,0x01,0x21,0x00,0x8f,0x0a,0x00,0x21,0x17,0xFF,0x19,0x01,0xA4,0x09,0x90,0x08,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x31,0x90,0x7e,0x17,0x01,0x21,0x00,0x8b,0x0c,0x01,0x31,0x8D,0x8E,0x17,0x00,0xA1,0x0D,0x6B,0x0E,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x31,0x81,0x75,0x19,0x01,0x32,0x00,0x61,0x19,0x00,0x21,0x97,0xF0,0x09,0x01,0x23,0x0B,0x90,0x0A,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x32,0x90,0x9b,0x21,0x00,0x21,0x00,0x72,0x17,0x00,0x32,0x92,0xB6,0x1C,0x00,0xE1,0x82,0x66,0x1B,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0xe1,0x1f,0x85,0x5f,0x00,0xe1,0x00,0x65,0x1a,0x00,0x21,0x20,0x57,0x47,0x01,0xE1,0x80,0x55,0x09,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xe1,0x46,0x88,0x5f,0x00,0xe1,0x00,0x65,0x1a,0x00,0x21,0x19,0x8E,0x37,0x01,0xE1,0x00,0x55,0x09,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xa1,0x9c,0x75,0x1f,0x00,0x21,0x00,0x75,0x0a,0x00,0x21,0x20,0x57,0x37,0x01,0x21,0x09,0x55,0x09,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x31,0x8b,0x84,0x58,0x00,0x21,0x00,0x65,0x1a,0x00,0x22,0xA6,0x57,0x37,0x01,0xE1,0x00,0x43,0x09,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0xe1,0x4c,0x66,0x56,0x00,0xa1,0x00,0x65,0x26,0x00,0x23,0x2D,0x57,0x37,0x02,0xE1,0x80,0x45,0x09,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x62,0xcb,0x76,0x46,0x00,0xa1,0x00,0x55,0x36,0x00,0x31,0x24,0x51,0x71,0x02,0xA0,0x04,0x5F,0x08,0x02,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x62,0x99,0x57,0x07,0x00,0xa1,0x00,0x56,0x07,0x00,0x20,0x2A,0x57,0x37,0x02,0xE1,0x07,0x45,0x59,0x00,0x00,0x00,0x10,0x00,0x3b,0x3b,0x01,0x00 }, + { 0x62,0x93,0x77,0x07,0x00,0xa1,0x00,0x76,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3b,0x3b,0x02,0x00 }, + { 0x21,0x0B,0xf0,0xfF,0x06,0x20,0x3f,0x00,0x0f,0x00,0x62,0x3f,0xf2,0xf4,0x00,0x22,0x3f,0xf2,0xf4,0x06,0x00,0x00,0x10,0x00,0xf1,0x00,0x02,0x00 },//{ 0x22,0x59,0xff,0x03,0x02,0x21,0x00,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x00,0x02,0x00 }, + { 0x21,0x13,0x80,0x0f,0x00,0x21,0x00,0xf0,0x0f,0x00,0x21,0x13,0x80,0x0f,0x00,0x21,0x00,0xf0,0x0f,0x00,0x00,0x00,0x10,0x00,0x3C,0x3C,0x01,0x00 }, + //{ 0x21,0x0e,0xff,0x0f,0x01,0x21,0x00,0xff,0x0f,0x01,0xe1,0x0e,0xf1,0xe5,0x00,0xf2,0x00,0xf0,0xf4,0x00,0x00,0x00,0x10,0x00,0x30,0x3A,0x01,0x00 }, + { 0x21,0x0d,0xf1,0xeb,0x02,0x61,0x00,0xf0,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x00,0x02,0x00 },//{ 0x22,0x46,0x86,0x55,0x00,0x21,0x80,0x64,0x18,0x00,0x21,0x0C,0xFF,0x47,0x02,0xA3,0x0B,0x7F,0x09,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x21,0x45,0x66,0x12,0x00,0xa1,0x00,0x96,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x01,0x80,0x81,0x73,0x00,0xc4,0x00,0xc1,0xcd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, // charang IMS both{ 0x01,0x80,0x81,0x73,0x00,0xC4,0x00,0xC1,0xC5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, + { 0xa2,0x9e,0xdf,0x05,0x00,0x61,0x40,0x6f,0x07,0x00,0x20,0x21,0x97,0x37,0x02,0x21,0x00,0x53,0x68,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x22,0x00,0x41,0xce,0x00,0x03,0x00,0x61,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x39,0x00,0x02,0x00 }, // fifths prince of evil + { 0x21,0x16,0xf5,0x62,0x00,0x01,0x00,0xf0,0xf6,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3c,0x00,0x02,0x00 },//{ 0x21,0x8f,0xf1,0x29,0x00,0x21,0x80,0xf4,0x09,0x00,0x31,0x1F,0xF1,0x1F,0x00,0x72,0x00,0xD6,0x1B,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x77,0xa5,0x53,0x94,0x00,0xa1,0x00,0xa0,0x05,0x00,0x07,0x11,0xFF,0x05,0x01,0xE1,0x00,0xFF,0x04,0x00,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x61,0x1f,0xa8,0x11,0x00,0xb1,0x80,0x25,0x03,0x00,0xF1,0xCB,0x41,0x90,0x00,0xB1,0x07,0x22,0x03,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x21,0x14,0xff,0x00,0x00,0x21,0x00,0xf5,0x29,0x00,0x21,0x11,0xff,0x00,0x00,0x21,0x00,0x85,0x29,0x00,0x00,0x00,0x10,0x10,0x36,0x3a,0x01,0x00 }, // falcomkey2 transcribe (no release ver) + //{ 0x61,0x17,0x91,0x34,0x00,0x61,0x00,0x55,0x16,0x00,0x41,0x09,0x42,0x04,0x01,0x21,0x10,0x42,0x06,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x22,0x1f,0xf2,0x23,0x00,0x22,0x00,0x9f,0x05,0x00,0x21,0x0c,0xf2,0x23,0x00,0x22,0x00,0xef,0x08,0x00,0x00,0x00,0x10,0x10,0x3e,0x30,0x01,0x00 }, // falcomkey1 transcribe + //{ 0x71,0x5d,0x54,0x01,0x00,0x72,0x00,0x6a,0x03,0x00,0xE0,0x16,0x99,0x35,0x02,0xE1,0x07,0x4F,0x05,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x21,0x97,0x21,0x43,0x00,0xa2,0x00,0x42,0x35,0x00,0x04,0x25,0x13,0x02,0x00,0xE1,0x87,0x43,0x04,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0xa1,0x1c,0xa1,0x77,0x01,0x21,0x00,0x31,0x47,0x01,0x01,0x40,0x82,0xD3,0x01,0xE1,0x0D,0x42,0x44,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x21,0x89,0x11,0x33,0x00,0x61,0x03,0x42,0x25,0x00,0x60,0xAB,0x44,0x16,0x02,0xE1,0x01,0x50,0x04,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0xa1,0x15,0x11,0x47,0x01,0x21,0x00,0xcf,0x07,0x00,0x55,0x97,0x2A,0x02,0x00,0x12,0x86,0x42,0xF3,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x3a,0xce,0xf8,0xf6,0x00,0x51,0x00,0x86,0x02,0x00,0x26,0x1A,0xF6,0x9F,0x01,0xE1,0x00,0xF4,0x13,0x01,0x00,0x00,0x10,0x00,0x32,0x32,0x01,0x00 }, + { 0x21,0x15,0x21,0x23,0x01,0x21,0x00,0x41,0x13,0x00,0x24,0x20,0x35,0x62,0x01,0x71,0x05,0x31,0x02,0x01,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x23,0x22,0xf3,0x37,0x00,0x21,0x00,0xf2,0xf7,0x00,0x3e,0x29,0xf2,0x34,0x00,0x24,0x00,0xf2,0xf7,0x00,0x00,0x00,0x10,0x00,0x3e,0x30,0x01,0x00 }, //{ 0x06,0x5b,0x74,0x95,0x00,0x01,0x00,0xa5,0x72,0x00,0xA5,0x0A,0xF4,0xC5,0x01,0xE1,0x0A,0xF3,0xC5,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x22,0x92,0xb1,0x81,0x00,0x61,0x83,0xf2,0x26,0x00,0xE3,0x17,0xFF,0x53,0x00,0xF1,0x09,0x8F,0x03,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x41,0x4d,0xf1,0x51,0x01,0x42,0x00,0xf2,0xf5,0x00,0x20,0x4F,0x61,0x53,0x02,0xA1,0x03,0xCF,0x05,0x02,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x20,0x00,0x1d,0x23,0x00,0x2c,0x00,0xfe,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x00,0x02,0x00 }, //td2192 goblin cmf + { 0x61,0x8c,0x11,0x31,0x00,0xa1,0x80,0x1d,0x03,0x00,0x01,0x83,0x9E,0x02,0x01,0x31,0x00,0x11,0x03,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0xe1,0x12,0x50,0xf0,0x02,0xe1,0x00,0x42,0x74,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x00,0x02,0x00 }, // IMS scifi ironblood + { 0x02,0x85,0xd2,0x53,0x00,0x07,0x03,0xf2,0xf6,0x01,0x31,0x87,0xA1,0x11,0x00,0x16,0x08,0x7D,0x13,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x11,0x0c,0xa3,0x11,0x01,0x13,0x80,0xa2,0xe5,0x00,0x01,0x0C,0xA1,0xF0,0x00,0x16,0x03,0x75,0x43,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x11,0x06,0xf6,0x41,0x01,0x11,0x00,0xf2,0xe6,0x02,0x01,0x8F,0xF2,0x53,0x00,0x17,0x09,0xF3,0x52,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x93,0x91,0xd4,0x32,0x00,0x91,0x00,0xeb,0x11,0x01,0x01,0x0F,0xF4,0x51,0x00,0x21,0x10,0xF5,0x83,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x04,0x4f,0xfa,0x56,0x00,0x01,0x00,0xc2,0x05,0x00,0x02,0x1A,0xC9,0x55,0x00,0x01,0x05,0xA6,0x24,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x01,0x00 }, + { 0x21,0x49,0x7c,0x20,0x00,0x22,0x00,0x6f,0x0c,0x01,0x31,0x18,0x5E,0x17,0x00,0x21,0x08,0x7B,0x0C,0x02,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x31,0x85,0xdd,0x33,0x01,0x21,0x00,0x56,0x16,0x00,0x30,0x1C,0x51,0x03,0x02,0x21,0x01,0x54,0x07,0x01,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x20,0x04,0xda,0x05,0x02,0x21,0x81,0x8f,0x0b,0x00,0xA1,0x0C,0xFF,0x19,0x01,0x24,0x11,0x90,0x08,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x05,0x6a,0xf1,0xe5,0x00,0x03,0x80,0xc3,0xe5,0x00,0x07,0x51,0xF0,0x04,0x00,0x81,0x13,0xF0,0x04,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x07,0x15,0xec,0x26,0x00,0x01,0x00,0xf8,0x16,0x00,0x17,0x1C,0xFF,0x01,0x00,0x12,0x0B,0x7A,0x05,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x05,0x9d,0x67,0x35,0x00,0x01,0x00,0xdf,0x05,0x00,0x05,0x97,0xF7,0x73,0x01,0xF1,0x09,0xF2,0x72,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x01,0x00 }, + { 0x18,0x96,0xfa,0x28,0x00,0x12,0x00,0xf8,0xe5,0x00,0x03,0xA1,0xCA,0x76,0x00,0x02,0x09,0xA9,0x77,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x10,0x86,0xa8,0x07,0x00,0x00,0x03,0xfa,0x03,0x00,0x31,0x8B,0xF8,0x9F,0x00,0x10,0x05,0xFF,0x04,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x01,0x00 }, + { 0x11,0x41,0xf8,0x47,0x02,0x10,0x03,0xf3,0x03,0x00,0x12,0x4F,0x79,0x5F,0x00,0x10,0x00,0x65,0x84,0x01,0x00,0x00,0x10,0x00,0x34,0x34,0x01,0x00 }, + { 0x01,0x8e,0xf1,0x06,0x02,0x10,0x00,0xf3,0x02,0x00,0x31,0x90,0xF8,0xA4,0x00,0x50,0x00,0x64,0x24,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x0e,0x00,0x1f,0x00,0x00,0xc0,0x00,0x1f,0xff,0x03,0x0E,0x00,0xFF,0x01,0x00,0x01,0x0D,0x2F,0x0F,0x02,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x06,0x80,0xf8,0x24,0x00,0x03,0x88,0x56,0x84,0x02,0x05,0x80,0x74,0x07,0x02,0x03,0x0F,0xF4,0x06,0x01,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x0e,0x00,0xf8,0x00,0x00,0xd0,0x05,0x34,0x04,0x03,0x15,0x09,0xFF,0x03,0x00,0x11,0x1F,0x45,0x93,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x0e,0x00,0xf6,0x00,0x00,0xc0,0x00,0x1f,0x02,0x03,0x0E,0x00,0x20,0x00,0x00,0x0E,0x0F,0x2F,0x02,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0xd5,0x95,0x37,0xa3,0x00,0xda,0x40,0x56,0x37,0x00,0x1C,0x17,0xF4,0x59,0x00,0x06,0x0B,0x5B,0x56,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x01,0x00 }, + { 0x35,0x5c,0xb2,0x61,0x02,0x14,0x08,0xf4,0x15,0x00,0x09,0x4F,0xF2,0x60,0x00,0x14,0x19,0xF2,0x72,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x01,0x00 }, + { 0x0e,0x00,0xf6,0x00,0x00,0xd0,0x00,0x4f,0xf5,0x03,0xF0,0x00,0x1E,0x11,0x01,0xE2,0xC5,0x11,0x13,0x01,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x26,0x00,0xff,0x01,0x00,0xe4,0x00,0x12,0x16,0x01,0xEE,0x00,0xFF,0x00,0x00,0xEE,0x00,0x18,0x03,0x03,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x00,0x00,0xf3,0xf0,0x00,0x00,0x00,0xf6,0xc9,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + + // Percussion voices (128-255) + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + + { 0x00,0x09,0xf0,0xf0,0x02,0x00,0x04,0xf6,0xf6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x00,0x02,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x04,0xb8,0x47,0x00,0x00,0x00,0xd6,0x4f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x06,0x00,0xf0,0xf0,0x00,0x00,0x0d,0xf6,0xb4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3E,0x3E,0x02,0x00 }, + { 0x00,0x07,0xd8,0xff,0x00,0x00,0x00,0xf5,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x02,0x00 }, + { 0x10,0x44,0xf8,0x77,0x02,0x11,0x00,0xf3,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x02,0x00 }, + { 0x02,0x07,0xf9,0xff,0x00,0x11,0x00,0xf8,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x02,0x00 }, + { 0x00,0x00,0xfc,0x05,0x02,0x00,0x00,0xfa,0x17,0x00,0x32,0x44,0xf8,0xff,0x00,0x11,0x00,0xf5,0x7f,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x01,0x00 }, + { 0x00,0x02,0xff,0x07,0x00,0x01,0x00,0xff,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x02,0x00 }, + { 0x00,0x00,0xfc,0x05,0x02,0x00,0x00,0xfa,0x17,0x00,0x00,0x01,0xb9,0x47,0x00,0x00,0x00,0xf4,0x5a,0x00,0x00,0x00,0x10,0x00,0x3e,0x34,0x01,0x00 }, + { 0x00,0x00,0xf6,0x0c,0x00,0x00,0x00,0xf6,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x0c,0x00,0xf6,0x08,0x00,0x12,0x00,0xfb,0x47,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x02,0x00 }, + { 0x00,0x03,0xf8,0x2a,0x00,0x00,0x00,0xf6,0x45,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x0c,0x00,0xf6,0x08,0x00,0x12,0x05,0x7b,0x47,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x02,0x00 }, + { 0x00,0x03,0xf8,0x2a,0x00,0x00,0x00,0xf6,0x45,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x0c,0x00,0xf6,0x02,0x00,0x12,0x00,0xcb,0x43,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3a,0x3a,0x02,0x00 }, + { 0x00,0x03,0xf8,0x2a,0x00,0x00,0x00,0xf6,0x45,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x00,0x03,0xf8,0x2a,0x00,0x00,0x00,0xf6,0x45,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x0e,0x00,0xf6,0x00,0x00,0xd0,0x00,0x9f,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x00,0x03,0xf8,0x2a,0x00,0x00,0x00,0xf6,0x45,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x34,0x34,0x02,0x00 }, + { 0x0e,0x08,0xf8,0x42,0x00,0x07,0x4a,0xf4,0xe4,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x0e,0x00,0xf5,0x30,0x00,0xd0,0x0a,0x9f,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x0e,0x0a,0xe4,0xe4,0x03,0x07,0x5d,0xf5,0xe5,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x02,0x00 }, + { 0x02,0x03,0xb4,0x04,0x00,0x05,0x0a,0x97,0xf7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x4e,0x00,0xf6,0x00,0x00,0x9e,0x00,0x9f,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x11,0x45,0xf8,0x37,0x02,0x10,0x08,0xf3,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x38,0x38,0x02,0x00 }, + { 0x0e,0x00,0xf6,0x00,0x00,0xd0,0x00,0x9f,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x80,0x00,0xff,0x03,0x03,0x10,0x0d,0xff,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3c,0x3c,0x02,0x00 }, + { 0x0e,0x08,0xf8,0x42,0x00,0x07,0x51,0xf4,0xe4,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x06,0x0b,0xf5,0x0c,0x00,0x02,0x00,0xf5,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x02,0x00 }, + { 0x01,0x00,0xfa,0xbf,0x00,0x02,0x00,0xc8,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x37,0x37,0x02,0x00 }, + { 0x01,0x51,0xfa,0x87,0x00,0x01,0x00,0xfa,0xb7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x02,0x00 }, + { 0x01,0x54,0xfa,0x8d,0x00,0x02,0x00,0xf8,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x02,0x00 }, + { 0x01,0x59,0xfa,0x88,0x00,0x02,0x00,0xf8,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x36,0x36,0x02,0x00 }, + { 0x01,0x00,0xf9,0x0a,0x03,0x00,0x00,0xfa,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x00,0x80,0xf9,0x89,0x03,0x00,0x00,0xf6,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x03,0x80,0xf8,0x88,0x03,0x0c,0x08,0xf6,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3f,0x3f,0x02,0x00 }, + { 0x03,0x85,0xf8,0x88,0x03,0x0c,0x00,0xf6,0xb6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3f,0x3f,0x02,0x00 }, + { 0x0e,0x40,0x76,0x4f,0x00,0x00,0x08,0x77,0x18,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x0e,0x40,0xc8,0x49,0x00,0x03,0x00,0x9b,0x69,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0xd7,0xdc,0xad,0x05,0x03,0xc7,0x00,0x8d,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0xd7,0xdc,0xa8,0x04,0x03,0xc7,0x00,0x88,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x80,0x00,0xf6,0x06,0x03,0x11,0x00,0x67,0x17,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x80,0x00,0xf5,0x05,0x02,0x11,0x09,0x46,0x16,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3e,0x3e,0x02,0x00 }, + { 0x06,0x3f,0x00,0xf4,0x00,0x15,0x00,0xf7,0xf5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x31,0x31,0x02,0x00 }, + { 0x06,0x3f,0x00,0xf4,0x03,0x12,0x00,0xf7,0xf5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x30,0x30,0x02,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 } +}; + + +//typedef struct _patchStruct +//{ +// operStruct op[NUMOPS]; /* operators */ +// BYTE bAtA0[2]; /* send to 0xA0, A3 */ +// BYTE bAtB0[2]; /* send to 0xB0, B3 */ +// /* use in a patch, the block should be 4 to indicate +// normal pitch, 3 => octave below, etc. */ +// BYTE bAtC0[2]; /* sent to 0xc0, C3 */ +// BYTE bOp; /* see PATCH_??? */ +// //BYTE bDummy; /* place holder */ +// BYTE bRhythmMap; /* see RHY_CH_??? */ +//} patchStruct; + +/* +static void LoadJunglevision(const char* fn, unsigned bank, const char* prefix) +{ + FILE* fp = std::fopen(fn, "rb"); + std::fseek(fp, 0, SEEK_END); + std::vector<unsigned char> data(std::ftell(fp)); + std::rewind(fp); + std::fread(&data[0], 1, data.size(), fp); + std::fclose(fp); + + unsigned ins_count = data[0x20] + (data[0x21] << 8); + unsigned drum_count = data[0x22] + (data[0x23] << 8); + unsigned first_ins = data[0x24] + (data[0x25] << 8); + unsigned first_drum = data[0x26] + (data[0x27] << 8); + + unsigned total_ins = ins_count + drum_count; + + for ( unsigned a = 0; a < total_ins; ++a ) + { + unsigned offset = 0x28 + a * 0x18; + unsigned gmno = (a < ins_count) ? (a + first_ins) : (a + first_drum); + int midi_index = gmno < 128 ? gmno + : gmno < 128+35 ? -1 + : gmno < 128+88 ? gmno-35 + : -1; + + insdata tmp[2]; + + tmp[0].data[0] = data[offset + 2]; + tmp[0].data[1] = data[offset + 8]; + tmp[0].data[2] = data[offset + 4]; + tmp[0].data[3] = data[offset + 10]; + tmp[0].data[4] = data[offset + 5]; + tmp[0].data[5] = data[offset + 11]; + tmp[0].data[6] = data[offset + 6]; + tmp[0].data[7] = data[offset + 12]; + tmp[0].data[8] = data[offset + 3]; + tmp[0].data[9] = data[offset + 9]; + tmp[0].data[10] = data[offset + 7] & ~0x30; + tmp[0].finetune = 0; + tmp[0].diff=false; + + tmp[1].data[0] = data[offset + 2 + 11]; + tmp[1].data[1] = data[offset + 8 + 11]; + tmp[1].data[2] = data[offset + 4 + 11]; + tmp[1].data[3] = data[offset + 10 + 11]; + tmp[1].data[4] = data[offset + 5 + 11]; + tmp[1].data[5] = data[offset + 11 + 11]; + tmp[1].data[6] = data[offset + 6 + 11]; + tmp[1].data[7] = data[offset + 12 + 11]; + tmp[1].data[8] = data[offset + 3 + 11]; + tmp[1].data[9] = data[offset + 9 + 11]; + tmp[1].data[10] = data[offset + 7 + 11] & ~0x30; + tmp[1].finetune = 0; + tmp[1].diff=false; + + struct ins tmp2; + tmp2.notenum = data[offset + 1]; + tmp2.pseudo4op = false; + tmp2.fine_tune = 0.0; + + while(tmp2.notenum && tmp2.notenum < 20) + { + tmp2.notenum += 12; + tmp[0].finetune -= 12; + tmp[1].finetune -= 12; + } + + std::string name; + if(midi_index >= 0) name = std::string(1,'\377')+MidiInsName[midi_index]; + + char name2[512]; sprintf(name2, "%s%c%u", prefix, + (gmno<128?'M':'P'), gmno&127); + + if(!data[offset]) + { + size_t resno = InsertIns(tmp[0],tmp[0],tmp2, name, name2); + SetBank(bank, gmno, resno); + } + else // Double instrument + { + size_t resno = InsertIns(tmp[0],tmp[1],tmp2, name, name2); + SetBank(bank, gmno, resno); + } + } +} +*/ + +/* + + // ,-----------+--------Wave select settings + // | ,--------ч-+------ Sustain/release rates + // | | ,------ч-ч-+---- Attack/decay rates + // | | | ,----ч-ч-ч-+-- AM/VIB/EG/KSR/Multiple bits + // | | | | | | | | + // | | | | | | | | ,----+-- KSL/attenuation settings + // | | | | | | | | | | ,----- Feedback/connection bits + // | | | | | | | | | | | + { 0x00F4F201,0x00F7F201, 0x8F,0x06, 0x8, +0, false }, + +// ,------------------------AM/VIB/EG/KSR/Multiple bits +// | ,-------------------KSL/attenuation settings +// | | ,--------------Attack/decay rates +// | | | ,---------Sustain/release rates +// | | | | ,----Wave select settings +{ 0x01,0x8f,0xf2,0xf4,0x00,//OP1 + 0x01,0x06,0xf2,0xf7,0x00,//OP2 + 0x00,0x00,0x00,0x00,0x00,//OP3 + 0x00,0x00,0x00,0x00,0x00,//OP4 + + 0x00,0x00,//send to 0xA0, A3 + 0x10,0x00,//send to 0xB0, B3 + 0x38,0x00,//sent to 0xc0, C3 + 0x02, + 0x00 }, + + (i->first.data[6] << 24) Wave select settings + + (i->first.data[4] << 16) Sustain/release rates + + (i->first.data[2] << 8) Attack/decay rates + + (i->first.data[0] << 0); AM/VIB/EG/KSR/Multiple bits + (i->first.data[7] << 24) Wave select settings + + (i->first.data[5] << 16) Sustain/release rates + + (i->first.data[3] << 8) Attack/decay rates + + (i->first.data[1] << 0); AM/VIB/EG/KSR/Multiple bits + i->first.data[8], KSL/attenuation settings\n" + i->first.data[9], KSL/attenuation settings\n" + i->first.data[10], Feedback/connection bits + i->first.finetune, + i->first.diff?"true":"false"); + + + offset+ + 0 1 2 3 4 5 + 6 7 8 9 10(A) 11(B) + 12(C) 13(D) 14(E) 15(F) 16(10) 17(11) + 18(12) 19(13) 20(14)21(15)22(16) 23(17) + + 0 0 - Single, 1 - Dobule instrument + 1 NoteNum + //OP1 + 2 AM/VIB/EG/KSR/Multiple bits + 3 KSL/attenuation settings + 4 Attack/decay rates + 5 Sustain/release rates + 6 Wave select settings + + 7 Feedback/connection bits &~0x30 + //OP2 + 8 AM/VIB/EG/KSR/Multiple bits + 9 KSL/attenuation settings + 10 Attack/decay rates + 11 Sustain/release rates + 12 Wave select settings + + //OP3 + 13 AM/VIB/EG/KSR/Multiple bits + 14 KSL/attenuation settings + 15 Attack/decay rates + 16 Sustain/release rates + 17 Wave select settings + + 18 Feedback/connection bits &~0x30 + + 19 AM/VIB/EG/KSR/Multiple bits + 20 KSL/attenuation settings + 21 Attack/decay rates + 22 Sustain/release rates + 23 Wave select settings + +//in file (FAT2) +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 +0x00, 0x00, 0x01, 0x8f, 0xf2, 0xf4, 0x00, 0x08, 0x01, 0x06, 0xf2, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//in file (FAT4) +0x01, 0x00, 0x31, 0x8f, 0xf1, 0xb2, 0x80, 0x38, 0x11, 0x83, 0xf1, 0xaf, 0x80, 0x31, 0x19, 0xf1, 0xb2, 0x80, 0x31, 0x31, 0x01, 0xc1, 0xd5, 0x80, + +//HEAD 0 1 +0x00, 0x00, +//OP1 2 3 4 5 6 +0x01, 0x8f, 0xf2, 0xf4, 0x00, +//Connection Bits 7 +0x08, +//OP2 8 9 10 11 12 +0x01, 0x06, 0xf2, 0xf7, 0x00, +//OP3 13 14 15 16 17 +0x00, 0x00, 0x00, 0x00, 0x00, +//Connection Bits 18 +0x00, +//OP4 19 20 21 22 23 +0x00, 0x00, 0x00, 0x00, 0x00, + + + + tmp[0].data[0] = data[offset + 2]; + tmp[0].data[1] = data[offset + 8]; + tmp[0].data[2] = data[offset + 4]; + tmp[0].data[3] = data[offset + 10]; + tmp[0].data[4] = data[offset + 5]; + tmp[0].data[5] = data[offset + 11]; + tmp[0].data[6] = data[offset + 6]; + tmp[0].data[7] = data[offset + 12]; + tmp[0].data[8] = data[offset + 3]; + tmp[0].data[9] = data[offset + 9]; + tmp[0].data[10] = data[offset + 7] & ~0x30; + tmp[0].finetune = 0; + tmp[0].diff=false; + + tmp[1].data[0] = data[offset + 2 + 11]; + tmp[1].data[1] = data[offset + 8 + 11]; + tmp[1].data[2] = data[offset + 4 + 11]; + tmp[1].data[3] = data[offset + 10 + 11]; + tmp[1].data[4] = data[offset + 5 + 11]; + tmp[1].data[5] = data[offset + 11 + 11]; + tmp[1].data[6] = data[offset + 6 + 11]; + tmp[1].data[7] = data[offset + 12 + 11]; + tmp[1].data[8] = data[offset + 3 + 11]; + tmp[1].data[9] = data[offset + 9 + 11]; + tmp[1].data[10] = data[offset + 7 + 11] & ~0x30; + tmp[1].finetune = 0; + tmp[1].diff=false; + + + +*/ + +const char* jv_magic = "Junglevision Patch File\x1A\0\0\0\0\0\0\0\0"; + +void toLE(short num, char*res) +{ + res[0] = num&0x00FF; + res[1] = (num&0xFF00)>>8; +} + +unsigned short fromLE(char*res) +{ + return (unsigned short)(res[0]) | ((unsigned short)(res[1])<<8); +} + +int main() +{ + unsigned char inBytes[0x18]; + char beShort[2]; + + FILE* in;/* = fopen("fat2.op3", "rb"); + fseek(in, 0x28, SEEK_SET); + fread(inBytes, 1, 0x18, in); + fclose(in); + for(int i=0; i<0x18; i++) + printf("0x%02x, ", inBytes[i]); + */ + + printf("\n"); + + in = fopen("fat4.op3", "rb"); + fseek(in, 0x22, SEEK_SET); + + fread(beShort, 1, 2, in); + unsigned short drumCount = fromLE(beShort); + + printf("DRUM COUNT: %u\n", drumCount); + + fseek(in, 0x28, SEEK_SET); + for(unsigned short n=0; n<128; n++) + { + fread(inBytes, 1, 0x18, in); + for(int i=0; i<0x18; i++) + printf("0x%02x, ", inBytes[i]); + printf("\n"); + } + + printf("DRUMS: \n"); + + for(unsigned short n=0; n<drumCount; n++) + { + fread(inBytes, 1, 0x18, in); + for(int i=0; i<0x18; i++) + printf("0x%02x, ", inBytes[i]); + printf("\n"); + } + + fclose(in); + + + FILE* out = fopen("2x2.op3", "wb"); + fwrite(jv_magic, 1, 32, out); + toLE(128, beShort);//Total melodic + fwrite(beShort, 1, 2, out); + toLE(50, beShort);//Total drums + fwrite(beShort, 1, 2, out); + toLE(0, beShort);//First melodic ID + fwrite(beShort, 1, 2, out); + toLE(32, beShort);//First drum ID + fwrite(beShort, 1, 2, out); + + for(int i=0; i<128; i++) + { + fwrite((void*)&glpPatch[i], 1, 0x18, out); + } + for(int i=128+32; i<(128+32+50); i++) + { + fwrite((void*)&glpPatch[i], 1, 0x18, out); + } + + fclose(out); +} diff --git a/fm_banks/op3_files/2x2patch/2x2.op3 b/fm_banks/op3_files/2x2patch/2x2.op3 Binary files differnew file mode 100644 index 0000000..cc3cf1b --- /dev/null +++ b/fm_banks/op3_files/2x2patch/2x2.op3 diff --git a/fm_banks/op3_files/2x2patch/fat2.op3 b/fm_banks/op3_files/2x2patch/fat2.op3 Binary files differnew file mode 100644 index 0000000..9472359 --- /dev/null +++ b/fm_banks/op3_files/2x2patch/fat2.op3 diff --git a/fm_banks/op3_files/2x2patch/fat4.op3 b/fm_banks/op3_files/2x2patch/fat4.op3 Binary files differnew file mode 100644 index 0000000..c4fd513 --- /dev/null +++ b/fm_banks/op3_files/2x2patch/fat4.op3 |