aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/mt32_GM_mapping
diff options
context:
space:
mode:
authorJordi Vilalta Prat2009-02-15 06:10:59 +0000
committerJordi Vilalta Prat2009-02-15 06:10:59 +0000
commitfa6e10e9cec163845aa29e7940c86e9c9ab8a2bc (patch)
treece87338830cc8c149e1de545246bcefe4f45da00 /engines/sci/sfx/mt32_GM_mapping
parent7c148ddf021c990fa866b7600f979aac9a5b26c9 (diff)
downloadscummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.tar.gz
scummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.tar.bz2
scummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.zip
Import the SCI engine sources from the FreeSCI Glutton branch (it doesn't compile yet)
svn-id: r38192
Diffstat (limited to 'engines/sci/sfx/mt32_GM_mapping')
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/Makefile15
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/README2
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/gm_patches.c198
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/lb2map.txt118
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/main.c157
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/mt32_timbres.c181
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/pq1map.txt135
-rw-r--r--engines/sci/sfx/mt32_GM_mapping/qfg1map.txt123
8 files changed, 929 insertions, 0 deletions
diff --git a/engines/sci/sfx/mt32_GM_mapping/Makefile b/engines/sci/sfx/mt32_GM_mapping/Makefile
new file mode 100644
index 0000000000..2d40cb25b0
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/Makefile
@@ -0,0 +1,15 @@
+CC =gcc
+CFLAGS =-O2 -Wall
+objects =main.o
+
+mtgm: $(objects)
+ $(CC) -o mtgm $(objects)
+
+main.o: main.c
+ $(CC) $(CFLAGS) -c main.c
+
+.PHONY: clean distclean
+clean:
+ rm -f mtgm $(objects)
+distclean:
+ rm -f mtgm $(objects) *~
diff --git a/engines/sci/sfx/mt32_GM_mapping/README b/engines/sci/sfx/mt32_GM_mapping/README
new file mode 100644
index 0000000000..8fa94ec4fd
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/README
@@ -0,0 +1,2 @@
+The sourcecode in this directory is not intended to be included in FreeSCI.
+
diff --git a/engines/sci/sfx/mt32_GM_mapping/gm_patches.c b/engines/sci/sfx/mt32_GM_mapping/gm_patches.c
new file mode 100644
index 0000000000..b959a87461
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/gm_patches.c
@@ -0,0 +1,198 @@
+/***************************************************************************
+ gm_patches.c Copyright (C) 2000 Rickard Lind
+
+
+ This program may be modified and copied freely according to the terms of
+ the GNU general public license (GPL), as long as the above copyright
+ notice and the licensing information contained herein are preserved.
+
+ Please refer to www.gnu.org for licensing details.
+
+ This work is provided AS IS, without warranty of any kind, expressed or
+ implied, including but not limited to the warranties of merchantibility,
+ noninfringement, and fitness for a specific purpose. The author will not
+ be held liable for any damage caused by this work or derivatives of it.
+
+ By using this source code, you agree to the licensing terms as stated
+ above.
+
+***************************************************************************/
+
+char *GM_Patch[128] = {
+/*000*/ "Acoustic Grand Piano",
+/*001*/ "Bright Acoustic Piano",
+/*002*/ "Electric Grand Piano",
+/*003*/ "Honky-tonk Piano",
+/*004*/ "Electric Piano 1",
+/*005*/ "Electric Piano 2",
+/*006*/ "Harpsichord",
+/*007*/ "Clavinet",
+/*008*/ "Celesta",
+/*009*/ "Glockenspiel",
+/*010*/ "Music Box",
+/*011*/ "Vibraphone",
+/*012*/ "Marimba",
+/*013*/ "Xylophone",
+/*014*/ "Tubular Bells",
+/*015*/ "Dulcimer",
+/*016*/ "Drawbar Organ",
+/*017*/ "Percussive Organ",
+/*018*/ "Rock Organ",
+/*019*/ "Church Organ",
+/*020*/ "Reed Organ",
+/*021*/ "Accordion",
+/*022*/ "Harmonica",
+/*023*/ "Tango Accordion",
+/*024*/ "Acoustic Guitar (nylon)",
+/*025*/ "Acoustic Guitar (steel)",
+/*026*/ "Electric Guitar (jazz)",
+/*027*/ "Electric Guitar (clean)",
+/*028*/ "Electric Guitar (muted)",
+/*029*/ "Overdriven Guitar",
+/*030*/ "Distortion Guitar",
+/*031*/ "Guitar Harmonics",
+/*032*/ "Acoustic Bass",
+/*033*/ "Electric Bass (finger)",
+/*034*/ "Electric Bass (pick)",
+/*035*/ "Fretless Bass",
+/*036*/ "Slap Bass 1",
+/*037*/ "Slap Bass 2",
+/*038*/ "Synth Bass 1",
+/*039*/ "Synth Bass 2",
+/*040*/ "Violin",
+/*041*/ "Viola",
+/*042*/ "Cello",
+/*043*/ "Contrabass",
+/*044*/ "Tremolo Strings",
+/*045*/ "Pizzicato Strings",
+/*046*/ "Orchestral Harp",
+/*047*/ "Timpani",
+/*048*/ "String Ensemble 1",
+/*049*/ "String Ensemble 2",
+/*050*/ "SynthStrings 1",
+/*051*/ "SynthStrings 2",
+/*052*/ "Choir Aahs",
+/*053*/ "Voice Oohs",
+/*054*/ "Synth Voice",
+/*055*/ "Orchestra Hit",
+/*056*/ "Trumpet",
+/*057*/ "Trombone",
+/*058*/ "Tuba",
+/*059*/ "Muted Trumpet",
+/*060*/ "French Horn",
+/*061*/ "Brass Section",
+/*062*/ "SynthBrass 1",
+/*063*/ "SynthBrass 2",
+/*064*/ "Soprano Sax",
+/*065*/ "Alto Sax",
+/*066*/ "Tenor Sax",
+/*067*/ "Baritone Sax",
+/*068*/ "Oboe",
+/*069*/ "English Horn",
+/*070*/ "Bassoon",
+/*071*/ "Clarinet",
+/*072*/ "Piccolo",
+/*073*/ "Flute",
+/*074*/ "Recorder",
+/*075*/ "Pan Flute",
+/*076*/ "Blown Bottle",
+/*077*/ "Shakuhachi",
+/*078*/ "Whistle",
+/*079*/ "Ocarina",
+/*080*/ "Lead 1 (square)",
+/*081*/ "Lead 2 (sawtooth)",
+/*082*/ "Lead 3 (calliope)",
+/*083*/ "Lead 4 (chiff)",
+/*084*/ "Lead 5 (charang)",
+/*085*/ "Lead 6 (voice)",
+/*086*/ "Lead 7 (fifths)",
+/*087*/ "Lead 8 (bass+lead)",
+/*088*/ "Pad 1 (new age)",
+/*089*/ "Pad 2 (warm)",
+/*090*/ "Pad 3 (polysynth)",
+/*091*/ "Pad 4 (choir)",
+/*092*/ "Pad 5 (bowed)",
+/*093*/ "Pad 6 (metallic)",
+/*094*/ "Pad 7 (halo)",
+/*095*/ "Pad 8 (sweep)",
+/*096*/ "FX 1 (rain)",
+/*097*/ "FX 2 (soundtrack)",
+/*098*/ "FX 3 (crystal)",
+/*099*/ "FX 4 (atmosphere)",
+/*100*/ "FX 5 (brightness)",
+/*101*/ "FX 6 (goblins)",
+/*102*/ "FX 7 (echoes)",
+/*103*/ "FX 8 (sci-fi)",
+/*104*/ "Sitar",
+/*105*/ "Banjo",
+/*106*/ "Shamisen",
+/*107*/ "Koto",
+/*108*/ "Kalimba",
+/*109*/ "Bag pipe",
+/*110*/ "Fiddle",
+/*111*/ "Shannai",
+/*112*/ "Tinkle Bell",
+/*113*/ "Agogo",
+/*114*/ "Steel Drums",
+/*115*/ "Woodblock",
+/*116*/ "Taiko Drum",
+/*117*/ "Melodic Tom",
+/*118*/ "Synth Drum",
+/*119*/ "Reverse Cymbal",
+/*120*/ "Guitar Fret Noise",
+/*121*/ "Breath Noise",
+/*122*/ "Seashore",
+/*123*/ "Bird Tweet",
+/*124*/ "Telephone Ring",
+/*125*/ "Helicopter",
+/*126*/ "Applause",
+/*127*/ "Gunshot" };
+
+char *GM_RhythmKey[47] = {
+/*035*/ "Acoustic Bass Drum",
+/*036*/ "Bass Drum 1",
+/*037*/ "Side Stick",
+/*038*/ "Acoustic Snare",
+/*039*/ "Hand Clap",
+/*040*/ "Electric Snare",
+/*041*/ "Low Floor Tom",
+/*042*/ "Closed Hi-Hat",
+/*043*/ "High Floor Tom",
+/*044*/ "Pedal Hi-Hat",
+/*045*/ "Low Tom",
+/*046*/ "Open Hi-Hat",
+/*047*/ "Low-Mid Tom",
+/*048*/ "Hi-Mid Tom",
+/*049*/ "Crash Cymbal 1",
+/*050*/ "High Tom",
+/*051*/ "Ride Cymbal 1",
+/*052*/ "Chinese Cymbal",
+/*053*/ "Ride Bell",
+/*054*/ "Tambourine",
+/*055*/ "Splash Cymbal",
+/*056*/ "Cowbell",
+/*057*/ "Crash Cymbal 2",
+/*058*/ "Vibraslap",
+/*059*/ "Ride Cymbal 2",
+/*060*/ "Hi Bongo",
+/*061*/ "Low Bongo",
+/*062*/ "Mute Hi Conga",
+/*063*/ "Open Hi Conga",
+/*064*/ "Low Conga",
+/*065*/ "High Timbale",
+/*066*/ "Low Timbale",
+/*067*/ "High Agogo",
+/*068*/ "Low Agogo",
+/*069*/ "Cabasa",
+/*070*/ "Maracas",
+/*071*/ "Short Whistle",
+/*072*/ "Long Whistle",
+/*073*/ "Short Guiro",
+/*074*/ "Long Guiro",
+/*075*/ "Claves",
+/*076*/ "Hi Wood Block",
+/*077*/ "Low Wood Block",
+/*078*/ "Mute Cuica",
+/*079*/ "Open Cuica",
+/*080*/ "Mute Triangle"
+/*081*/ "Open Triangle" };
diff --git a/engines/sci/sfx/mt32_GM_mapping/lb2map.txt b/engines/sci/sfx/mt32_GM_mapping/lb2map.txt
new file mode 100644
index 0000000000..89c60aa552
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/lb2map.txt
@@ -0,0 +1,118 @@
+ ----------------------------------------------------------------------
+ | Dagger of Amon Ra | Boop boop be doop | Wahoo! |
+--------------------------------------------------------------------------
+| ## | MT-32 Timbre | KSh FTn BR | General MIDI Patch | KSh VolA V |
+--------------------------------------------------------------------------
+| 04 | AcouPiano3 | 00 00 12 | Acoustic Grand Piano | 000 000 3 |
+| 05 | Honkytonk | 00 00 12 | Honky-tonk Piano | 000 000 3 |
+| 06 | m ClarinetMS | 00 00 12 | Clarinet | 000 -020 3 |
+| 07 | Acou Bass1 | 00 00 12 | Acoustic Bass | 000 -015 3 |
+| 08 | Trombone 2 | 00 00 12 | Tuba | 000 005 3 |
+| 09 | m StrSect1MS | 00 00 12 | String Ensemble 1 | 000 020 3 |
+| 10 | m Fantasy2MS | 00 00 12 | Pad 1 (new age) | 000 010 3 |
+| 11 | Flute 2 | 00 00 12 | Flute | 000 -020 3 |
+| 12 | Timpani | 00 00 12 | Timpani | 000 -015 1 |
+| 13 | Trumpet 1 | 00 00 12 | Trumpet | 000 030 3 |
+| 14 | m FrHorn1MS2 | 00 00 12 | French Horn | 000 000 3 |
+| 15 | m Oboe MS | 00 00 12 | Oboe | 000 -020 3 |
+| 16 | m Pizz MS | 00 00 12 | Pizzicato Strings | 000 000 3 |
+| 17 | m CymSwellMS | 00 00 12 | Reverse Cymbal | 000 000 3 |
+| 18 | Xylophone | 00 00 12 | Xylophone | 000 000 3 |
+| 19 | Bassoon | 00 00 12 | Bassoon | 000 020 3 |
+| 20 | Accordion | 00 00 12 | Accordion | 000 000 3 |
+| 21 | m BanjoLB2 | 00 00 12 | Banjo | 000 -020 3 |
+| 22 | Marimba | 00 00 12 | Marimba | 000 000 3 |
+| 23 | m WarmPadStr | 00 00 12 | String Ensemble 2 | 000 015 3 |
+| 24 | m BassPizzMS | 00 00 12 | Pizzicato Strings | -012 000 3 |
+| 25 | m WoodBlox | 00 00 12 | Woodblock | 000 000 3 |
+| 26 | Vibe 1 | 00 00 00 | Vibraphone | 000 -010 3 |
+| 27 | Sax 4 | 00 00 12 | Tenor Sax | 000 000 3 |
+| 28 | m Glock MS | 00 00 12 | Glockenspiel | 000 000 3 |
+| 29 | Koto | 00 00 12 | Koto | 000 000 3 |
+| 30 | m Taiko | 00 00 12 | Taiko Drum | 012 -010 1 |
+| 31 | Guitar 1 | 00 00 12 | Acoustic Guitar (nylon) | 000 -035 3 |
+| 32 | m Bell Tree | 00 00 12 | Glockenspiel | 000 000 3 |
+| 33 | Sitar | 00 00 12 | Sitar | 000 -010 3 |
+| 34 | Harp 1 | 00 00 12 | Orchestral Harp | 000 -025 3 |
+| 45 | m Fantasy2MS | 00 00 12 | Tubular Bells | 012 010 3 |
+| 46 | m Window | 00 00 12 | Reverse Cymbal | -048 000 3 |
+| 47 | m Snare | 00 00 00 | Woodblock | 000 000 0 |
+| 48 | m CracklesMS | 00 00 12 | Woodblock | 000 000 0 |
+| 49 | m TireSqueal | 00 00 12 | | |
+| 50 | m Gurgle | 00 00 12 | | |
+| 51 | m Toilet | 00 00 12 | | |
+| 52 | m hiss | 00 00 12 | | |
+| 53 | m IceBreakMS | 00 00 12 | | |
+| 54 | m DoorSlamMS | 00 00 12 | Woodblock | -012 000 0 |
+| 55 | m CreakyDLL1 | 00 00 12 | | |
+| 56 | m Armor MS | 00 00 12 | Agogo | 012 -020 0 |
+| 57 | m RatSqueek | 00 00 12 | Guitar Fret Noise | 012 000 3 |
+| 58 | m StoneDr MS | 00 00 12 | Reverse Cymbal | -048 000 3 |
+| 59 | m NewSplatMS | 00 00 12 | Melodic Tom | 000 000 2 |
+| 60 | m Splash MS | 00 00 12 | | |
+| 61 | m Bubbles | 00 00 12 | | |
+| 62 | m ChurchB MS | 00 00 12 | Tubular Bells | 000 000 3 |
+| 63 | m Thud MS | 00 00 12 | Taiko Drum | -012 000 2 |
+| 64 | m TYPIMG | 00 00 12 | | |
+| 65 | m Lock MS | 00 00 12 | Woodblock | 000 000 0 |
+| 66 | m Window | 00 00 12 | Reverse Cymbal | 000 000 3 |
+| 67 | m CabEngine | 00 00 12 | Tenor Sax | -060 050 3 |
+| 68 | m Ocean MS | 00 00 12 | | |
+| 69 | m Wind MS | 00 00 12 | | |
+| 70 | Telephone | 00 00 12 | Telephone Ring | 000 000 3 |
+| 71 | Bird Tweet | 00 00 12 | Bird Tweet | 000 000 3 |
+| 72 | m Explode MS | 00 00 12 | Gunshot | -012 -015 3 |
+| 73 | m SwmpBackgr | 00 00 12 | | |
+| 74 | m Toing | 00 00 12 | | |
+| 75 | m Lone Wolf | 00 00 12 | | |
+| 76 | Whistle 2 | 00 00 12 | Whistle | 000 000 3 |
+| 77 | m seagulls | 00 00 12 | Bird Tweet | 000 000 3 |
+| 78 | m Scrubin'MS | 00 00 12 | Reverse Cymbal | 000 000 3 |
+| 79 | m SqurWaveMS | 00 00 12 | Lead 1 (square) | 000 000 3 |
+| 80 | m InHale MS | 00 00 12 | Breath Noise | 000 025 3 |
+| 81 | m Arena2 MS | 00 00 12 | Applause | 000 000 3 |
+| 82 | m ArenaNoSus | 00 00 12 | Applause | 000 000 3 |
+| 92 | AcouPiano1 | 00 00 02 | | |
+| 93 | AcouPiano1 | 00 00 02 | | |
+| 94 | AcouPiano1 | 00 00 02 | | |
+| 95 | AcouPiano1 | 00 00 02 | | |
+--------------------------------------------------------------------------
+ | ## | MT-32 Timbre | OL PP | General MIDI Rhythm Key |
+ --------------------------------------------------------
+ | 35 | r Acou BD | 100 07 | Acoustic Bass Drum |
+ | 36 | r Acou BD | 100 07 | Acoustic Bass Drum |
+ | 37 | r Rim Shot | 100 06 | Side Stick |
+ | 38 | r Acou SD | 100 07 | Electric Snare |
+ | 39 | r Hand Clap | 100 08 | Hand Clap |
+ | 40 | r Acou SD | 100 06 | Electric Snare |
+ | 41 | r AcouLowTom | 100 11 | Low Floor Tom |
+ | 42 | r Clsd HiHat | 100 06 | Closed Hi-Hat |
+ | 43 | r AcouLowTom | 100 11 | High Floor Tom |
+ | 44 | r OpenHiHat2 | 100 06 | Pedal Hi-Hat |
+ | 45 | r AcouMidTom | 100 08 | Low Tom |
+ | 46 | r OpenHiHat1 | 100 06 | Open Hi-Hat |
+ | 47 | r AcouMidTom | 100 08 | Low-Mid Tom |
+ | 48 | r Acou HiTom | 100 03 | Hi-Mid Tom |
+ | 49 | r Crash Cym | 100 06 | Crash Cymbal 1 |
+ | 50 | r Acou HiTom | 100 03 | High Tom |
+ | 51 | r Ride Cym | 100 08 | Ride Cymbal 1 |
+ | 52 | m CymSwellMS | 100 07 | |
+ | 54 | r Tambourine | 100 09 | Tambourine |
+ | 55 | m ChokeCrash | 100 07 | Crash Cymbal 2 |
+ | 56 | r Cowbell | 100 07 | Cowbell |
+ | 60 | r High Bongo | 100 02 | Hi Bongo |
+ | 61 | r Low Bongo | 100 04 | Low Bongo |
+ | 62 | r Mt HiConga | 100 08 | Mute Hi Conga |
+ | 63 | r High Conga | 100 09 | Open Hi Conga |
+ | 64 | r Low Conga | 100 10 | Low Conga |
+ | 65 | r Hi Timbale | 100 07 | High Timbale |
+ | 66 | r LowTimbale | 100 05 | Low Timbale |
+ | 67 | r High Agogo | 100 02 | High Agogo |
+ | 68 | r Low Agogo | 100 02 | Low Agogo |
+ | 69 | r Cabasa | 100 09 | Cabasa |
+ | 70 | r Maracas | 100 04 | Maracas |
+ | 71 | r SmbaWhis S | 100 09 | Short Whistle |
+ | 72 | r SmbaWhis L | 100 09 | Long Whistle |
+ | 73 | r Quijada | 100 00 | |
+ | 75 | r Claves | 100 12 | Claves |
+ --------------------------------------------------------
diff --git a/engines/sci/sfx/mt32_GM_mapping/main.c b/engines/sci/sfx/mt32_GM_mapping/main.c
new file mode 100644
index 0000000000..1db2b584b4
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/main.c
@@ -0,0 +1,157 @@
+/***************************************************************************
+ main.c Copyright (C) 2000 Rickard Lind
+
+
+ This program may be modified and copied freely according to the terms of
+ the GNU general public license (GPL), as long as the above copyright
+ notice and the licensing information contained herein are preserved.
+
+ Please refer to www.gnu.org for licensing details.
+
+ This work is provided AS IS, without warranty of any kind, expressed or
+ implied, including but not limited to the warranties of merchantibility,
+ noninfringement, and fitness for a specific purpose. The author will not
+ be held liable for any damage caused by this work or derivatives of it.
+
+ By using this source code, you agree to the licensing terms as stated
+ above.
+
+***************************************************************************/
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include "mt32_timbres.c"
+#include "gm_patches.c"
+
+void analyze(unsigned char *patch001, unsigned int length001,
+ unsigned char *patch004, unsigned int length004);
+
+int main(int argc, char **argv)
+{
+ int fd1, fd2;
+ unsigned char *patch001;
+ unsigned char *patch004;
+ unsigned int length001, length004;
+
+ if (argc < 2)
+ return -1;
+
+ if ((fd1 = open(argv[1], O_RDONLY)) < 0)
+ return -1;
+ if ((fd2 = open(argv[2], O_RDONLY)) < 0) {
+ close(fd1);
+ return -1;
+ }
+
+ patch001 = (unsigned char *)sci_malloc(65536);
+ length001 = read(fd1, patch001, 65536);
+ close(fd1);
+
+ patch004 = (unsigned char *)sci_malloc(65536);
+ length004 = read(fd2, patch004, 65536);
+ close(fd2);
+
+ if (patch001[0] == 0x89 && patch001[1] == 0x00)
+ if (patch004[0] == 0x89 && patch004[1] == 0x00)
+ analyze(patch001 + 2, length001 - 2, patch004 + 2, length004 - 2);
+ else
+ analyze(patch001 + 2, length001 - 2, patch004, length004);
+ else
+ if (patch004[0] == 0x89 && patch004[1] == 0x00)
+ analyze(patch001, length001, patch004 + 2, length004 - 2);
+ else
+ analyze(patch001, length001, patch004, length004);
+
+ free(patch001);
+ free(patch004);
+
+ return 0;
+}
+
+void analyze(unsigned char *patch001, unsigned int length001,
+ unsigned char *patch004, unsigned int length004)
+{
+ int i;
+ unsigned char *mt32patch;
+ unsigned char *mt32rhythm;
+
+ printf(" ----------------------------------------------------------------------\n");
+ printf(" | %.20s | %.20s | %.20s |\n", patch001, patch001 + 20, patch001 + 40);
+ printf("--------------------------------------------------------------------------\n");
+ printf("| ## | MT-32 Timbre | KSh FTn BR | General MIDI Patch | KSh VolA V |\n");
+ printf("--------------------------------------------------------------------------\n");
+ for (i = 0; i < 96; i++) {
+ if (i < 48)
+ mt32patch = patch001 + 107 + i * 8;
+ else
+ mt32patch = patch001 + 110 + i * 8 + patch001[491] * 246;
+
+ if (!((mt32patch[0] == 0) &&
+ (mt32patch[1] == 0) &&
+ (mt32patch[2] == 0) &&
+ (mt32patch[3] == 0) &&
+ (mt32patch[4] == 0) &&
+ (mt32patch[5] == 0) &&
+ (mt32patch[6] == 0) &&
+ (mt32patch[7] == 0))) {
+ printf("| %02i |", i);
+ if (mt32patch[0] < 2)
+ if (mt32patch[0] == 0)
+ printf(" %.10s", MT32_Timbre[mt32patch[1]]);
+ else
+ printf(" %.10s", MT32_Timbre[mt32patch[1] + 64]);
+ else if (mt32patch[0] == 2)
+ printf(" m %.10s", patch001 + 492 + mt32patch[1] * 246);
+ else if (mt32patch[0] == 3)
+ printf(" r %.10s", MT32_RhythmTimbre[mt32patch[1]]);
+ printf(" | % 03i % 03i %02i | ",
+ mt32patch[2] - 24,
+ mt32patch[3] - 50,
+ mt32patch[4]);
+ if (patch004[i] != 0xFF) {
+ printf("%-23s ", GM_Patch[patch004[i]]);
+ printf("| % 04i % 04i %i |",
+ *((signed char *)(patch004) + i + 128),
+ *((signed char *)(patch004) + i + 256),
+ patch004[i + 513]);
+ } else
+ printf(" | |");
+ printf("\n");
+ }
+ }
+ printf("--------------------------------------------------------------------------\n");
+ printf(" | ## | MT-32 Timbre | OL PP | General MIDI Rhythm Key |\n");
+ printf(" --------------------------------------------------------\n");
+ for (i = 0; i < 64; i++)
+ {
+ mt32rhythm = patch001 + 880 + i * 4 + patch001[491] * 246;
+ if ((mt32rhythm[0] < 94) &&
+ !((mt32rhythm[0] == 0) &&
+ (mt32rhythm[1] == 0) &&
+ (mt32rhythm[2] == 0) &&
+ (mt32rhythm[3] == 0)) &&
+ !((mt32rhythm[0] == 1) &&
+ (mt32rhythm[1] == 1) &&
+ (mt32rhythm[2] == 1) &&
+ (mt32rhythm[3] == 1))) {
+ printf(" | %02i |", i + 24);
+ if (mt32rhythm[0] < 64)
+ printf(" m %.10s", patch001 + 492 + mt32rhythm[0] * 246);
+ else
+ printf(" r %.10s", MT32_RhythmTimbre[mt32rhythm[0] - 64]);
+ printf(" | %03i %02i | ", mt32rhythm[1], mt32rhythm[2]);
+ if (patch004[384 + i + 24] != 0xFF)
+ printf("%-23s |", GM_RhythmKey[patch004[384 + i + 24] - 35]);
+ else
+ printf(" |");
+ printf("\n");
+ }
+ }
+ printf(" --------------------------------------------------------\n");
+ return;
+}
diff --git a/engines/sci/sfx/mt32_GM_mapping/mt32_timbres.c b/engines/sci/sfx/mt32_GM_mapping/mt32_timbres.c
new file mode 100644
index 0000000000..beb5fa97e3
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/mt32_timbres.c
@@ -0,0 +1,181 @@
+/***************************************************************************
+ mt32_timbres.c Copyright (C) 2000 Rickard Lind
+
+
+ This program may be modified and copied freely according to the terms of
+ the GNU general public license (GPL), as long as the above copyright
+ notice and the licensing information contained herein are preserved.
+
+ Please refer to www.gnu.org for licensing details.
+
+ This work is provided AS IS, without warranty of any kind, expressed or
+ implied, including but not limited to the warranties of merchantibility,
+ noninfringement, and fitness for a specific purpose. The author will not
+ be held liable for any damage caused by this work or derivatives of it.
+
+ By using this source code, you agree to the licensing terms as stated
+ above.
+
+***************************************************************************/
+
+char *MT32_Timbre[128] = {
+/*000*/ "AcouPiano1",
+/*001*/ "AcouPiano2",
+/*002*/ "AcouPiano3",
+/*003*/ "ElecPiano1",
+/*004*/ "ElecPiano2",
+/*005*/ "ElecPiano3",
+/*006*/ "ElecPiano4",
+/*007*/ "Honkytonk ",
+/*008*/ "Elec Org 1",
+/*009*/ "Elec Org 2",
+/*010*/ "Elec Org 3",
+/*011*/ "Elec Org 4",
+/*012*/ "Pipe Org 1",
+/*013*/ "Pipe Org 2",
+/*014*/ "Pipe Org 3",
+/*015*/ "Accordion ",
+/*016*/ "Harpsi 1 ",
+/*017*/ "Harpsi 2 ",
+/*018*/ "Harpsi 3 ",
+/*019*/ "Clavi 1 ",
+/*020*/ "Clavi 2 ",
+/*021*/ "Clavi 3 ",
+/*022*/ "Celesta 1 ",
+/*023*/ "Celesta 2 ",
+/*024*/ "Syn Brass1",
+/*025*/ "Syn Brass2",
+/*026*/ "Syn Brass3",
+/*027*/ "Syn Brass4",
+/*028*/ "Syn Bass 1",
+/*029*/ "Syn Bass 2",
+/*030*/ "Syn Bass 3",
+/*031*/ "Syn Bass 4",
+/*032*/ "Fantasy ",
+/*033*/ "Harmo Pan ",
+/*034*/ "Chorale ",
+/*035*/ "Glasses ",
+/*036*/ "Soundtrack",
+/*037*/ "Atmosphere",
+/*038*/ "Warm Bell ",
+/*039*/ "Funny Vox ",
+/*040*/ "Echo Bell ",
+/*041*/ "Ice Rain ",
+/*042*/ "Oboe 2001 ",
+/*043*/ "Echo Pan ",
+/*044*/ "DoctorSolo",
+/*045*/ "Schooldaze",
+/*046*/ "BellSinger",
+/*047*/ "SquareWave",
+/*048*/ "Str Sect 1",
+/*049*/ "Str Sect 2",
+/*050*/ "Str Sect 3",
+/*051*/ "Pizzicato ",
+/*052*/ "Violin 1 ",
+/*053*/ "Violin 2 ",
+/*054*/ "Cello 1 ",
+/*055*/ "Cello 2 ",
+/*056*/ "Contrabass",
+/*057*/ "Harp 1 ",
+/*058*/ "Harp 2 ",
+/*059*/ "Guitar 1 ",
+/*060*/ "Guitar 2 ",
+/*061*/ "Elec Gtr 1",
+/*062*/ "Elec Gtr 2",
+/*063*/ "Sitar ",
+/*064*/ "Acou Bass1",
+/*065*/ "Acou Bass2",
+/*066*/ "Elec Bass1",
+/*067*/ "Elec Bass2",
+/*068*/ "Slap Bass1",
+/*069*/ "Slap Bass2",
+/*070*/ "Fretless 1",
+/*071*/ "Fretless 2",
+/*072*/ "Flute 1 ",
+/*073*/ "Flute 2 ",
+/*074*/ "Piccolo 1 ",
+/*075*/ "Piccolo 2 ",
+/*076*/ "Recorder ",
+/*077*/ "Panpipes ",
+/*078*/ "Sax 1 ",
+/*079*/ "Sax 2 ",
+/*080*/ "Sax 3 ",
+/*081*/ "Sax 4 ",
+/*082*/ "Clarinet 1",
+/*083*/ "Clarinet 2",
+/*084*/ "Oboe ",
+/*085*/ "Engl Horn ",
+/*086*/ "Bassoon ",
+/*087*/ "Harmonica ",
+/*088*/ "Trumpet 1 ",
+/*089*/ "Trumpet 2 ",
+/*090*/ "Trombone 1",
+/*091*/ "Trombone 2",
+/*092*/ "Fr Horn 1 ",
+/*093*/ "Fr Horn 2 ",
+/*094*/ "Tuba ",
+/*095*/ "Brs Sect 1",
+/*096*/ "Brs Sect 2",
+/*097*/ "Vibe 1 ",
+/*098*/ "Vibe 2 ",
+/*099*/ "Syn Mallet",
+/*100*/ "Wind Bell ",
+/*101*/ "Glock ",
+/*102*/ "Tube Bell ",
+/*103*/ "Xylophone ",
+/*104*/ "Marimba ",
+/*105*/ "Koto ",
+/*106*/ "Sho ",
+/*107*/ "Shakuhachi",
+/*108*/ "Whistle 1 ",
+/*109*/ "Whistle 2 ",
+/*110*/ "BottleBlow",
+/*111*/ "BreathPipe",
+/*112*/ "Timpani ",
+/*113*/ "MelodicTom",
+/*114*/ "Deep Snare",
+/*115*/ "Elec Perc1",
+/*116*/ "Elec Perc2",
+/*117*/ "Taiko ",
+/*118*/ "Taiko Rim ",
+/*119*/ "Cymbal ",
+/*120*/ "Castanets ",
+/*121*/ "Triangle ",
+/*122*/ "Orche Hit ",
+/*123*/ "Telephone ",
+/*124*/ "Bird Tweet",
+/*125*/ "OneNoteJam",
+/*126*/ "WaterBells",
+/*127*/ "JungleTune" };
+
+char *MT32_RhythmTimbre[30] = {
+/*00*/ "Acou BD ",
+/*01*/ "Acou SD ",
+/*02*/ "Acou HiTom",
+/*03*/ "AcouMidTom",
+/*04*/ "AcouLowTom",
+/*05*/ "Elec SD ",
+/*06*/ "Clsd HiHat",
+/*07*/ "OpenHiHat1",
+/*08*/ "Crash Cym ",
+/*09*/ "Ride Cym ",
+/*10*/ "Rim Shot ",
+/*11*/ "Hand Clap ",
+/*12*/ "Cowbell ",
+/*13*/ "Mt HiConga",
+/*14*/ "High Conga",
+/*15*/ "Low Conga ",
+/*16*/ "Hi Timbale",
+/*17*/ "LowTimbale",
+/*18*/ "High Bongo",
+/*19*/ "Low Bongo ",
+/*20*/ "High Agogo",
+/*21*/ "Low Agogo ",
+/*22*/ "Tambourine",
+/*23*/ "Claves ",
+/*24*/ "Maracas ",
+/*25*/ "SmbaWhis L",
+/*26*/ "SmbaWhis S",
+/*27*/ "Cabasa ",
+/*28*/ "Quijada ",
+/*29*/ "OpenHiHat2" };
diff --git a/engines/sci/sfx/mt32_GM_mapping/pq1map.txt b/engines/sci/sfx/mt32_GM_mapping/pq1map.txt
new file mode 100644
index 0000000000..b2040b54f7
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/pq1map.txt
@@ -0,0 +1,135 @@
+ ----------------------------------------------------------------------
+ | ..THE DEATH ANGEL.. | POLICE QUEST I | <THANKS FOR PLAYING> |
+--------------------------------------------------------------------------
+| ## | MT-32 Timbre | KSh FTn BR | General MIDI Patch | KSh VolA V |
+--------------------------------------------------------------------------
+| 00 | m FEEDBAK AX | 00 00 12 | Distortion Guitar | -012 065 3 |
+| 01 | m REV CYMBAL | 00 00 12 | Reverse Cymbal | 000 000 0 |
+| 02 | m ANALOG SYN | 00 00 12 | Pad 3 (polysynth) | 000 127 3 |
+| 03 | m STACKBASS | 00 00 12 | Slap Bass 2 | -012 100 3 |
+| 04 | m ORGAN B | 00 00 12 | Drawbar Organ | 000 055 3 |
+| 05 | Syn Mallet | 00 00 12 | Dulcimer | 000 000 0 |
+| 06 | m HARD RIDE | 00 00 12 | | |
+| 07 | Orche Hit | 00 00 12 | Orchestra Hit | 000 000 0 |
+| 08 | m HEFTY BASS | 00 00 12 | Electric Bass (finger) | -024 100 3 |
+| 09 | AcouPiano1 | 00 00 12 | Acoustic Grand Piano | 000 000 0 |
+| 10 | m SpaceVibes | 00 00 12 | Vibraphone | 000 000 0 |
+| 11 | m CIGARETTE | -24 00 12 | | |
+| 12 | AcouPiano1 | 00 00 12 | Acoustic Grand Piano | 000 000 0 |
+| 13 | Castanets | 00 00 12 | | |
+| 14 | AcouPiano1 | 00 00 12 | Acoustic Grand Piano | 000 000 0 |
+| 15 | m LUSH STRNG | 00 00 12 | String Ensemble 1 | 000 117 3 |
+| 16 | Fantasy | 00 00 12 | Pad 1 (new age) | 000 000 0 |
+| 17 | AcouPiano1 | 00 00 12 | Acoustic Grand Piano | 000 000 0 |
+| 18 | m BIG BANJO | 00 00 12 | FX 3 (crystal) | 000 -010 3 |
+| 19 | Soundtrack | 00 00 12 | FX 2 (soundtrack) | 000 000 0 |
+| 20 | Timpani | 00 00 12 | Timpani | 000 000 0 |
+| 21 | Fr Horn 1 | 00 00 12 | French Horn | 000 000 0 |
+| 22 | Trumpet 2 | 00 00 12 | Trumpet | 000 000 3 |
+| 23 | m SMOKING | 00 00 12 | | |
+| 24 | m F VoxStrg | 00 00 12 | String Ensemble 1 | 000 000 0 |
+| 25 | m SqurWaveMS | 00 00 12 | | |
+| 26 | m TYPIMG | 00 00 12 | | |
+| 27 | m SnglVox MS | 00 00 12 | | |
+| 28 | Str Sect 2 | 00 00 12 | String Ensemble 1 | 000 000 0 |
+| 29 | Guitar 2 | 00 00 12 | Electric Guitar (clean) | 000 000 0 |
+| 30 | Elec Gtr 2 | 00 00 12 | Electric Guitar (clean) | 000 000 0 |
+| 31 | Harmonica | 00 00 12 | Harmonica | 000 000 0 |
+| 35 | Sax 3 | 00 00 12 | Alto Sax | 000 000 0 |
+| 36 | Slap Bass1 | 00 00 12 | Slap Bass 1 | 000 000 0 |
+| 37 | Fretless 1 | 00 00 12 | Fretless Bass | 000 000 0 |
+| 38 | Acou Bass1 | 00 00 12 | Acoustic Bass | 000 000 0 |
+| 41 | r Crash Cym | 00 00 12 | | |
+| 42 | r Acou BD | 00 00 12 | | |
+| 43 | m RAP SNARE | 00 00 12 | | |
+| 44 | m BIG SNARE | 00 00 00 | | |
+| 45 | m CLOSED HAT | 00 00 12 | | |
+| 46 | m SLOSH HAT | 00 00 12 | | |
+| 47 | m Gun MS | 00 00 12 | Gunshot | 000 000 0 |
+| 48 | m IceBreakMS | 00 00 12 | | |
+| 49 | m SHOWER | 00 00 12 | | |
+| 50 | m Pft MS | 00 00 12 | | |
+| 51 | m Chicago MS | 00 00 12 | Bright Acoustic Piano | 000 030 0 |
+| 52 | m ROCK GUIT1 | 00 00 12 | Distortion Guitar | -012 127 3 |
+| 53 | m Dog MS | 00 00 12 | | |
+| 54 | m TriangleMS | 00 00 12 | | |
+| 55 | m CLICKS | 00 00 12 | Woodblock | 000 000 0 |
+| 56 | Bird Tweet | 00 00 12 | Bird Tweet | 000 000 0 |
+| 57 | AcouPiano1 | 00 00 12 | Acoustic Grand Piano | 000 000 0 |
+| 58 | m CARHORN3+4 | 00 00 12 | | |
+| 59 | m CUFFS | 00 00 12 | | |
+| 60 | m ELEC PHONE | 00 00 12 | | |
+| 61 | m KongHit | 00 00 12 | | |
+| 62 | m SCUFFLE | 00 00 12 | | |
+| 63 | m FUNK PING | 00 00 12 | Orchestral Harp | 027 -010 0 |
+| 64 | m BIG TOMS | 00 00 12 | Taiko Drum | 000 000 0 |
+| 65 | m ElecGtr MS | 00 00 12 | Electric Guitar (clean) | -012 -005 3 |
+| 66 | m Lock MS | 00 00 12 | | |
+| 67 | Fretless 1 | 00 00 02 | Fretless Bass | 000 000 0 |
+| 70 | m Armor MS | 00 00 12 | | |
+| 71 | m ElecGtr MS | 00 00 02 | Electric Guitar (clean) | 000 000 0 |
+| 77 | Telephone | 00 00 00 | Telephone Ring | 000 000 0 |
+| 78 | m StoneDr MS | 00 00 12 | | |
+| 79 | m Shuffle | 00 00 12 | | |
+| 80 | m Buzzer | 00 00 12 | | |
+| 81 | Vibe 1 | 00 00 12 | Vibraphone | 000 000 0 |
+| 82 | m ElecGtr MS | 00 00 12 | Electric Guitar (clean) | 000 000 0 |
+| 83 | r Hand Clap | 00 00 12 | | |
+| 84 | m Drip MS | 00 00 12 | | |
+| 85 | m CracklesMS | 00 00 12 | | |
+| 86 | m TireSqueal | 00 00 12 | Bag pipe | 000 025 3 |
+| 87 | m Explode MS | 00 00 12 | | |
+| 88 | m DRAWER | 00 00 12 | | |
+| 89 | m KABOOM | 00 00 12 | | |
+| 90 | m GUN/STATIC | 00 00 12 | | |
+| 91 | m TRAFFIC | 00 00 12 | Seashore | 000 000 0 |
+| 92 | m DOOR SLAM | 00 00 12 | | |
+| 93 | m CAR DOOR | 00 00 12 | | |
+| 94 | m STEPS | 00 00 12 | | |
+| 95 | m DIESEL | 00 00 12 | | |
+--------------------------------------------------------------------------
+ | ## | MT-32 Timbre | OL PP | General MIDI Rhythm Key |
+ --------------------------------------------------------
+ | 34 | r Acou SD | 100 07 | Electric Snare |
+ | 35 | r Acou BD | 100 07 | Acoustic Bass Drum |
+ | 36 | m BIG KICK | 095 07 | Bass Drum 1 |
+ | 37 | r Rim Shot | 100 06 | Side Stick |
+ | 38 | m RAP SNARE | 100 07 | Electric Snare |
+ | 39 | m SLAPSTICK | 096 08 | Hand Clap |
+ | 40 | m BIG SNARE | 100 06 | Acoustic Snare |
+ | 41 | m ACOU TOMS | 080 07 | Low Floor Tom |
+ | 42 | m CLOSED HAT | 090 06 | Closed Hi-Hat |
+ | 43 | m ACOU TOMS | 080 11 | High Floor Tom |
+ | 44 | m SLOSH HAT | 082 06 | Pedal Hi-Hat |
+ | 45 | m ACOU TOMS | 085 13 | Low Tom |
+ | 46 | m CHOKE HAT | 072 06 | Open Hi-Hat |
+ | 47 | m ACOU TOMS | 080 08 | Low-Mid Tom |
+ | 48 | m ACOU TOMS | 069 06 | Hi-Mid Tom |
+ | 49 | r Crash Cym | 095 06 | Crash Cymbal 1 |
+ | 50 | m HARD RIDE | 100 08 | Ride Cymbal 2 |
+ | 51 | m RIDE CYM | 090 08 | Ride Cymbal 1 |
+ | 52 | m CRASH CYM | 077 11 | Crash Cymbal 1 |
+ | 53 | m HEFTY BASS | 082 04 | |
+ | 54 | r Tambourine | 100 09 | Tambourine |
+ | 56 | r Cowbell | 100 07 | Cowbell |
+ | 57 | m StoneDr MS | 100 07 | |
+ | 58 | r Tambourine | 100 09 | Tambourine |
+ | 60 | r High Bongo | 100 02 | Hi Bongo |
+ | 61 | r Low Bongo | 100 04 | Low Bongo |
+ | 62 | r Mt HiConga | 100 08 | Mute Hi Conga |
+ | 63 | r High Conga | 100 09 | Open Hi Conga |
+ | 64 | r Low Conga | 100 10 | Low Conga |
+ | 65 | r Hi Timbale | 100 07 | High Timbale |
+ | 66 | r LowTimbale | 100 05 | Low Timbale |
+ | 67 | r High Agogo | 100 02 | High Agogo |
+ | 68 | r Low Agogo | 100 02 | Low Agogo |
+ | 69 | r Cabasa | 100 09 | Cabasa |
+ | 70 | r Maracas | 100 04 | Maracas |
+ | 71 | r SmbaWhis S | 100 09 | Short Whistle |
+ | 72 | r SmbaWhis L | 100 09 | Long Whistle |
+ | 73 | r Quijada | 100 10 | Short Guiro |
+ | 75 | r Claves | 100 12 | Claves |
+ | 76 | m Stir | 100 07 | Long Guiro |
+ | 77 | m Hit | 100 07 | Acoustic Snare |
+ | 78 | m Brushcym | 090 07 | Ride Cymbal 1 |
+ --------------------------------------------------------
diff --git a/engines/sci/sfx/mt32_GM_mapping/qfg1map.txt b/engines/sci/sfx/mt32_GM_mapping/qfg1map.txt
new file mode 100644
index 0000000000..c1816786b1
--- /dev/null
+++ b/engines/sci/sfx/mt32_GM_mapping/qfg1map.txt
@@ -0,0 +1,123 @@
+ ----------------------------------------------------------------------
+ | *QUEST FOR GLORY I* | So U Want 2 B A HERO | QUEST FOR GLORY I |
+--------------------------------------------------------------------------
+| ## | MT-32 Timbre | KSh FTn BR | General MIDI Patch | KSh VolA V |
+--------------------------------------------------------------------------
+| 03 | m Toms MS | 00 00 12 | Melodic Tom | 000 000 1 |
+| 04 | Trumpet 2 | 00 00 12 | Trumpet | 000 022 2 |
+| 05 | m T-Bone2 MS | 00 00 12 | Trombone | 000 065 2 |
+| 06 | m FrHorn1 MS | 00 00 12 | French Horn | 000 040 3 |
+| 07 | m StrSect1MS | 00 00 12 | String Ensemble 1 | 000 127 2 |
+| 08 | Timpani | 00 00 12 | Timpani | 000 000 2 |
+| 09 | Contrabass | 00 00 12 | Contrabass | 000 080 2 |
+| 10 | m Glock MS | 00 00 12 | Glockenspiel | 012 080 3 |
+| 11 | m Flute MS | 00 00 12 | Flute | 000 045 3 |
+| 12 | Tuba | 00 00 12 | Tuba | 000 127 3 |
+| 13 | Brs Sect 1 | 00 00 12 | Brass Section | 000 100 3 |
+| 14 | Fr Horn 1 | 00 00 12 | French Horn | 000 040 3 |
+| 15 | Pizzicato | 00 00 12 | Pizzicato Strings | 000 000 2 |
+| 17 | Acou Bass1 | -12 00 00 | Acoustic Bass | 000 050 2 |
+| 18 | Sax 2 | 00 00 00 | Alto Sax | 000 040 1 |
+| 19 | m EnglHornMS | 00 00 12 | English Horn | 012 040 3 |
+| 20 | Pipe Org 1 | 00 00 00 | Church Organ | 000 000 3 |
+| 21 | Panpipes | 00 00 12 | Pan Flute | 000 020 1 |
+| 22 | Clarinet 1 | 00 00 12 | Clarinet | 000 020 3 |
+| 23 | m BassPizzMS | 00 00 12 | Orchestral Harp | -012 050 1 |
+| 24 | m Conga MS | 00 00 12 | Taiko Drum | 000 000 1 |
+| 25 | Sitar | 00 00 12 | Sitar | 000 080 3 |
+| 26 | m Snare MS | 00 00 00 | Taiko Drum | 000 000 1 |
+| 27 | m ClarinetMS | 00 00 12 | Clarinet | 000 020 3 |
+| 28 | m Fantasy2MS | 00 00 12 | Pad 4 (choir) | 000 050 1 |
+| 29 | Guitar 1 | 00 00 12 | Acoustic Guitar (nylon) | 000 000 1 |
+| 30 | Chorale | 00 00 12 | Pad 4 (choir) | 000 020 2 |
+| 31 | Syn Bass 1 | 00 00 12 | Synth Bass 1 | 000 020 1 |
+| 32 | m GameSnd MS | 00 00 12 | Lead 1 (square) | 000 000 1 |
+| 33 | m Calliope | 00 00 12 | Drawbar Organ | 000 000 1 |
+| 34 | Whistle 1 | 00 00 12 | Whistle | 000 040 3 |
+| 47 | m SKATE2 | 00 00 24 | | |
+| 48 | m Claw MS | 00 00 12 | Synth Drum | 000 000 1 |
+| 49 | m Flames MS | 00 00 12 | Breath Noise | 000 000 1 |
+| 50 | m Swords MS | 00 00 12 | | |
+| 51 | m Armor MS | 00 00 12 | | |
+| 52 | m Splat MS | 00 00 00 | Synth Drum | 000 000 1 |
+| 53 | m Fall MS | 00 00 00 | | |
+| 54 | m Crash MS | 00 00 00 | Gunshot | 000 127 3 |
+| 55 | m Laser MS | 00 00 00 | Lead 2 (sawtooth) | 000 -040 1 |
+| 56 | m Vase MS | 00 00 00 | Gunshot | -012 000 1 |
+| 57 | m Spit MS | 00 00 12 | Woodblock | -012 000 1 |
+| 58 | m Bubbles | 00 00 12 | | |
+| 59 | m Ninga MS | 00 00 12 | Breath Noise | 000 100 1 |
+| 60 | m Flame2 MS | 00 00 12 | Breath Noise | 000 100 1 |
+| 61 | m CracklesMS | 00 00 12 | Woodblock | 000 040 1 |
+| 62 | m Gulp MS | 00 00 12 | | |
+| 63 | m KnifeStkMS | 00 00 12 | Woodblock | 000 110 1 |
+| 64 | m Pft MS | 00 00 12 | Helicopter | 000 110 1 |
+| 65 | m Poof MS | 00 00 12 | | |
+| 66 | Bird Tweet | 00 00 12 | Bird Tweet | 000 000 1 |
+| 67 | m Owl MS | 00 00 12 | Bird Tweet | -012 000 1 |
+| 68 | m Wind MS | 00 00 12 | | |
+| 69 | m Cricket | 00 00 12 | Guitar Fret Noise | 000 000 1 |
+| 70 | m SwmpBackgr | 00 00 12 | Guitar Fret Noise | 000 000 1 |
+| 71 | m FireDartMS | 00 00 00 | Seashore | 000 120 1 |
+| 72 | m LghtboltMS | 00 00 12 | Seashore | 000 120 1 |
+| 73 | m Raspbry MS | 00 00 12 | Lead 2 (sawtooth) | 000 000 1 |
+| 74 | m Explode MS | 00 00 13 | Helicopter | 000 000 1 |
+| 75 | m Lock MS | 00 00 12 | Gunshot | 080 000 1 |
+| 76 | m Buildup MS | 00 00 12 | | |
+| 77 | m Boing MS | 00 00 24 | Taiko Drum | 000 000 1 |
+| 78 | m Flames3 MS | 00 00 12 | Helicopter | 000 080 1 |
+| 79 | m Thunder MS | 00 00 12 | Helicopter | -012 100 1 |
+| 80 | m Meeps MS | 00 00 12 | SynthBrass 1 | 000 000 1 |
+| 81 | m Bells MS | 00 00 12 | Tinkle Bell | 012 080 1 |
+| 82 | m Skid MS | 00 00 12 | Helicopter | 000 000 1 |
+| 83 | m RimShot MS | 00 00 12 | Woodblock | 000 000 1 |
+| 84 | m WtrFall MS | 00 00 12 | | |
+| 85 | m DoorSlamMS | 00 00 12 | Taiko Drum | 000 000 1 |
+| 86 | m SmileFacMS | 00 00 12 | Helicopter | 000 040 1 |
+| 87 | m Tumble MS | 00 00 12 | Synth Drum | 000 040 1 |
+| 88 | m Punch MS | 00 00 12 | Synth Drum | 000 080 1 |
+| 89 | m CreakyD MS | 00 00 12 | | |
+| 90 | m CstlGateMS | 00 00 12 | Gunshot | -050 050 1 |
+| 91 | m Hammer MS | 00 00 12 | | |
+| 92 | m Horse1 MS | 00 00 12 | Woodblock | 000 000 1 |
+| 93 | m Horse2 MS | 00 00 12 | Woodblock | 000 000 1 |
+| 94 | m Kiss MS | 00 00 12 | Gunshot | 100 000 1 |
+| 95 | m StrSect1MS | 00 00 12 | String Ensemble 1 | 000 127 2 |
+--------------------------------------------------------------------------
+ | ## | MT-32 Timbre | OL PP | General MIDI Rhythm Key |
+ --------------------------------------------------------
+ | 36 | r Acou BD | 100 07 | Bass Drum 1 |
+ | 37 | r Rim Shot | 100 06 | Side Stick |
+ | 38 | r Acou SD | 100 07 | Acoustic Snare |
+ | 39 | r Hand Clap | 100 08 | Hand Clap |
+ | 40 | r Elec SD | 100 06 | Electric Snare |
+ | 41 | r AcouLowTom | 100 11 | Low Floor Tom |
+ | 42 | r Clsd HiHat | 100 06 | Closed Hi-Hat |
+ | 43 | r AcouLowTom | 100 11 | Low Floor Tom |
+ | 44 | r OpenHiHat2 | 100 06 | Open Hi-Hat |
+ | 45 | r AcouMidTom | 100 08 | Low-Mid Tom |
+ | 46 | r OpenHiHat1 | 100 06 | Open Hi-Hat |
+ | 47 | r AcouMidTom | 100 08 | Hi-Mid Tom |
+ | 48 | r Acou HiTom | 100 03 | High Tom |
+ | 49 | r Crash Cym | 100 06 | Crash Cymbal 1 |
+ | 50 | r Acou HiTom | 100 03 | High Tom |
+ | 51 | r Ride Cym | 100 08 | Ride Cymbal 1 |
+ | 52 | m CymSwellMS | 100 07 | |
+ | 54 | r Tambourine | 100 09 | Tambourine |
+ | 56 | r Cowbell | 100 07 | Cowbell |
+ | 60 | r High Bongo | 100 02 | Hi Bongo |
+ | 61 | r Low Bongo | 100 04 | Low Bongo |
+ | 62 | r Mt HiConga | 100 08 | Mute Hi Conga |
+ | 63 | r High Conga | 100 09 | Open Hi Conga |
+ | 64 | r Low Conga | 100 10 | Low Conga |
+ | 65 | r Hi Timbale | 100 07 | High Timbale |
+ | 66 | r LowTimbale | 100 05 | Low Timbale |
+ | 67 | r High Agogo | 100 02 | High Agogo |
+ | 68 | r Low Agogo | 100 02 | Low Agogo |
+ | 69 | r Cabasa | 100 09 | Cabasa |
+ | 70 | r Maracas | 100 04 | Maracas |
+ | 71 | r SmbaWhis S | 100 09 | Short Whistle |
+ | 72 | r SmbaWhis L | 100 09 | Long Whistle |
+ | 73 | r Quijada | 100 00 | Short Guiro |
+ | 75 | r Claves | 100 12 | Claves |
+ --------------------------------------------------------