aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fm_banks/op3_files/2x2patch/2x2.cpp622
-rw-r--r--fm_banks/op3_files/2x2patch/2x2.op3bin0 -> 4312 bytes
-rw-r--r--fm_banks/op3_files/2x2patch/fat2.op3bin0 -> 4384 bytes
-rw-r--r--fm_banks/op3_files/2x2patch/fat4.op3bin0 -> 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
new file mode 100644
index 0000000..cc3cf1b
--- /dev/null
+++ b/fm_banks/op3_files/2x2patch/2x2.op3
Binary files differ
diff --git a/fm_banks/op3_files/2x2patch/fat2.op3 b/fm_banks/op3_files/2x2patch/fat2.op3
new file mode 100644
index 0000000..9472359
--- /dev/null
+++ b/fm_banks/op3_files/2x2patch/fat2.op3
Binary files differ
diff --git a/fm_banks/op3_files/2x2patch/fat4.op3 b/fm_banks/op3_files/2x2patch/fat4.op3
new file mode 100644
index 0000000..c4fd513
--- /dev/null
+++ b/fm_banks/op3_files/2x2patch/fat4.op3
Binary files differ