MT-32 User Memory

Just bought your first old school MIDI synthesizer and can't get it to work right? Having trouble getting DOSBox or SCUMMVM to work the way you want? Perhaps we can help. Do you have some neat tips you just want to share with the world? Or maybe you just need help convincing your computer to work. Either way, use this forum for all tech support related needs that somehow relate to MIDI and/or PC Gaming.

Moderator: Quest Studios Archive moderators

Post Reply
anonymex22
Posts: 2
Joined: Wed Nov 20, 2019 7:40 pm

MT-32 User Memory

Post by anonymex22 »

Hi,

Do someone know how to work with the user memory.
I've tried to create a user timbre, written it on the user timbre 0, but when i call back the preset 0 nothing has been save, i get the power on default timbre, same thing with patch ?

Thanks in advance,
Have a good day,
Rgds,
anonymex22
Posts: 2
Joined: Wed Nov 20, 2019 7:40 pm

Re: MT-32 User Memory

Post by anonymex22 »

Hi,

Don't waste time the mt-32 rev 0 - 1 don't support the write request.

Have a good day,
Rgds,
jaffa225man
Quest Studios Veteran
Quest Studios Veteran
Posts: 164
Joined: Mon Jul 13, 2015 6:26 pm
Location: Chippewa Falls, Wisconsin

Re: MT-32 User Memory

Post by jaffa225man »

I attempted to create a patch in October, 2017 with success, and I've just finished reverse-engineering my process to share it with you.

Originally, I found a file by Tom that was very helpful, and saved it to How-To_Manage-Patch-Banks-With-The-MT-32!.txt. It started me in the right direction, so I'm linking a .7z archive including it, the DOS and windows tools, my working files and a couple screenshots for illustration: https://drive.google.com/file/d/1mAXIV8 ... sp=sharing

The first thing I did, was use Dr. T's MT-32 Editor/Librarian to create a patch in Tom's empty patch bank template. After creating, and auditioning it to my satisfaction, I clicked "patches" in Dr. T. There I picked program 27, although you can probably use any (after you change the leading "A", "B", or "R" to "M"). Next just drag the "M##:" to select your user patch name. Before closing the "Patches" window, note the "midi prog" # (not the number prefixed with the "M", but the leftmost column on the "Patches" window) you've chosen to have your user sound on, as you need to use it later to recall it in your MIDI file/sequencer. Now it should be enough to save your file and quit Dr. T.

Next, convert the .M32 file Dr T just saved to a SysEx file, using mt2syx on windows (or wine).
Finally, import the SysEx into your sequencer, and make sure whatever channel you want to play the user patch on (2-8), has a program change set to the same PC# that Dr. T had as the "midi prog" # noted earlier from the "Patches" window. If your sequencer uses hexadecimal numbering (as MIDI files do internally), 0 will correspond to Dr. T's numbering of 1, and you will need to subtract one from the number you noted. Most likely it will number from 1, just like Dr. T, and you can use its same number.

For my use, I created a separate SysEx midi file, to be played before the song, but you could just embed it all in the song file if you'd like. The SysEx generated by Dr. T is rather a lot, but I'm sure you could examine it to glean the specific few messages you'd need, if you wanted it sent quicker. It's fast enough for me to send it all, though, at about 6 seconds. Just be sure the SysEx is sent before the song starts playing the channel with your user patch (and probably before the needed program change occurs).

I did all this, trying to recreate a complete "Raptor: Call of the Shadows" soundtrack for the CM-64 with the SN-U110-07 Electric Guitar card, but noticed in June of 2018 that Tom had a reverse cymbal programmed in ecoed11.mid on channel 1 of the SC-8850, so the original Eco Quest track should have had one too. I still haven't compared them, though. Nevertheless, it provided a good learning opportunity for me, so it's probably good to have discovered that later.

Since you thought it might have been a problem with the original MT-32, I just tested that my MT-32 (old, 1.07, 10oct87) has "ReverseCym" set on part 2 (midi channel 3), and it sounds correct. That shouldn't be all that surprising, though, as this is likely very similar to how many old games did it. Not being able to support writes on the original revision MT-32s would mean games would really have had to hack it to program their sounds. I know they exploited bugs, but I doubt that such a hurdle would have allowed the synthesizer to become quite so popular. ;)

I hope that helps, and I'm sorry I didn't notice your question earlier.
Spikey
Moderator
Moderator
Posts: 142
Joined: Tue Jul 07, 2015 4:11 pm

Re: MT-32 User Memory

Post by Spikey »

I'm not sure what the Eco Quest stuff has to do with the OP, but I can say that with ECOED11 'Cetus', Tom did something he commonly did, which was to put the reverse cymbal notes into a separate non-drum channel for GM (usually channel 1)- which in MT-32 soundtracks are on the drum channel, and GM doesn't have rev cym in the drumkits.
jaffa225man
Quest Studios Veteran
Quest Studios Veteran
Posts: 164
Joined: Mon Jul 13, 2015 6:26 pm
Location: Chippewa Falls, Wisconsin

Re: MT-32 User Memory

Post by jaffa225man »

Spikey wrote: Thu Feb 13, 2020 10:54 am I'm not sure what the Eco Quest stuff has to do with the OP, but I can say that with ECOED11 'Cetus', Tom did something he commonly did, which was to put the reverse cymbal notes into a separate non-drum channel for GM (usually channel 1)- which in MT-32 soundtracks are on the drum channel, and GM doesn't have rev cym in the drumkits.
It has only to do with my use case for programming MT-32 patches. I chose Reverse Cymbal because one of the Raptor GM songs I was porting to the CM-64 uses it, but I didn't see it available. Anyway, since your post, I investigated it thoroughly, and you're right that Tom set it on channel 1, and that the MT-32 version has it in channel 10 (track 8, according to rosegarden's import). It is a programmed sound from the game though, playing on key F2, which is normally silent. I hadn't noticed it while working on Raptor, so I created my own. Also, the only cymbals normally available on the MT-32 are Crash Cymbal and Ride Cymbal. Neither really replicates a GM Reverse Cymbal (as you've said, not in the GM drumkit, but on GM's Program 120). Program 120 is exactly how it exists in Raptor's Level05.mid, which I was attempting to port: http://www.mirsoft.info/gmb/music_info. ... e=MjM1Ng==

Thanks!
Spikey
Moderator
Moderator
Posts: 142
Joined: Tue Jul 07, 2015 4:11 pm

Re: MT-32 User Memory

Post by Spikey »

The MT-32 note isn't F2 however, it's F4. It is usually silent, you're right- it's specially programmed in the EQ1 MT-32 patch bank.

Many Sierra MT-32 games use reverse cymbal on the drumkit, channel 10.
jaffa225man
Quest Studios Veteran
Quest Studios Veteran
Posts: 164
Joined: Mon Jul 13, 2015 6:26 pm
Location: Chippewa Falls, Wisconsin

Re: MT-32 User Memory

Post by jaffa225man »

Spikey wrote: Mon Feb 17, 2020 10:42 pm The MT-32 note isn't F2 however, it's F4. It is usually silent, you're right- it's specially programmed in the EQ1 MT-32 patch bank.

Many Sierra MT-32 games use reverse cymbal on the drumkit, channel 10.
Interestingly, there appears to be known discrepancies in MIDI octave numbering: https://www.midi.org/forum/830-midi-oct ... g-standard.
My Rosegarden install is definitely configured to view it as F2... No matter the program, it should always be MIDI note 53, I think. Someday I'll have to teach myself how Sierra games program new sounds into the Rhythm Part, as I was unaware of that possibility until now.

Thanks again,

Lucas
Spikey
Moderator
Moderator
Posts: 142
Joined: Tue Jul 07, 2015 4:11 pm

Re: MT-32 User Memory

Post by Spikey »

Weird! I had no idea. What do you view as the first note on the drum part?
jaffa225man
Quest Studios Veteran
Quest Studios Veteran
Posts: 164
Joined: Mon Jul 13, 2015 6:26 pm
Location: Chippewa Falls, Wisconsin

Re: MT-32 User Memory

Post by jaffa225man »

Spikey wrote: Fri Feb 21, 2020 9:09 am Weird! I had no idea. What do you view as the first note on the drum part?
Yeah, I would have thought with MIDI being a standard, MIDI octave numbering would be too. The Rosegarden drum mapping's lowest possible note is "C-2" (negative 2). It is actually MIDI note 0, according to aseqdump. Using the Rosegarden CM-64 studio file I created, I see it's lowest standard CM-64 drum patch as "Acoustic Bass Drum (1Ptl,><)" at B0, which is actually MIDI note 35.
Post Reply