YellowAries: Well at first I wasn't aware Munt was a stand-alone synthesizer, I thought it was a pass through layer or something.. a.k.a BASSMIDI -> Munt - > Ultima 7.. so I tried using 2 sound fonts, the ChromRevA and SGM (or whatever they're called) but didn't like either of those... so I googled for an Ultima 7 Roland soundfont and found one... tried it, and it sounded pretty good...
Good to know it works now, Ultima 7 has great Roland MT-32/CM-32L support. :) The music in the ending cinematics blew me away years ago, as well as many other tunes in the game.
Just to clarify, the Roland "soundfonts" that Munt utilizes are in the (PCM) ROM files. These Chorium Rev.A:s etc. are not for Munt/MT-32 support, but they are General MIDI soundfonts.
I usually like to think the work order something like this (just my simplistic imagination how it goes, probably a bit incorrect):
- Ultima 7 game sends out MT-32 MIDI messages, which basically tell "play instrument #n with these additional parameters"
- DOSBox catches the message: "Ah, this is some kind of MIDI message, I'll send it to Windows, he should know what to do with it"
- BASSMIDI intercepts it and thinks: "Hmm, according to my settings, I should redirect all outgoing MIDI messages to Munt, hopefully he is the right guy."
- Munt softsynth driver receives it and thinks: "Ah, someone sent me a MIDI message! It must be a MT-32 MIDI message, after all why else would someone send it to me? Ok, so according to the message I should play MT-32 instrument #n with those parameters. So let's do exactly that!"
So, all the participants in the cycle are kinda in the dark about for what purpose the MIDI messages are, they just catch them and do what they are told. That's why you can also play General MIDI music through Munt, or MT-32 music with General MIDI driver, but it will usually just sound wrong, as the instrument locations and parameters are not identical between General MIDI and MT-32.