Estrichleger: i ask myself if there is a way to have mt32 or general midi emulation in dosbox games like Phantasmagoria or SpaceQuest, Police Quest etc.?
Is there a way? D I have to use a SVN build for DosBox? Is there a faq for this?
Short answer: Yes there is a way. Several alternative ways in fact.
Long answer:
Windows already has General MIDI ("Microsoft GS Wavetable Synth" that is there already in Windows), but its instruments sound pretty poor. To hear General MIDI music in those DOS games, all you need to do is to e.g. run the install.exe, setsound.exe or something similar in the DOSbox sessions in that game's directory, which lets you choose the music source for the game. Or failing that, edit the game config file in the game directory that contains sound card information (not the DOSBox config file mind you, but the game config file). So this works for those games which have General MIDI support, but not the ones with Roland MT-32/CM-32L support.
Some GOG games already default to General MIDI music, for example Privateer, but most use the Soundblaster music because it is more fool-proof. Some games on GOG lack the sound config executable for some reason, so there you must use some special measures to enable the General MIDI (or MT-32/LAPC-1) music in the game, like editing some config file. The game subforums usually tell what to change.
To get the best possible music audio from your DOSBox/GOG DOS games.... there are a several optional ways to achieve that, but my suggested way is this:
1. Download and install BASSMIDI (freeware).
- This is needed both for General MIDI games (to replace the poor sounding default GM patches that Windows provides, and to enable advanced reverb/chorus etc. Sound Canvas effects in those games that support it), and to enable Roland MT-32 emulation for MT-32/CM-32L games (Munt emulator + Roland ROMs are needed too for this, see step #3).
2. Download "Chorium Rev A" General MIDI soundfont (google for it), and tell BASSMIDI to use that as the soundfont ("Add" in the "Soundfonts" tab). This will make all your General MIDI games sounds vastly superior, when you have selected "BASSMIDI Driver" in the BASSMIDI program (BASSMIDI utility does not need to run all the time, you just need to run it if you want to change the driver, or change the soundfont).
3. Download and install Munt (MT-32 emulator), and Roland MT-32 and/or CM-32L PCM and control ROMs (I prefer CM-32L ROMs, partly because I have a real CM-32L). After this BASSMIDI utility should show "MT-32 Synth Emulator" as a third Default MIDI Synth option that you can select as a MIDI output device.
4. Then for the DOS game itself, you have to find a way to tell it in DOSBox session that it should play music with MT-32/CM-32L or General MIDI/SCC-1/Sound Canvas, as mentioned in the beginning. You have to do this once per game.
5. Also, with many games that utilize both a MIDI device (MT-32 or General MIDI) and Soundblaster at the same time, quite often the Soundblaster digital sounds are far too loud compared to the MIDI music. New Windows versions don't seem to allow changing MIDI volume in the volume mixer for some reason. BASSMIDI has a volume option for MIDI, but as far as I can tell, it affects only General MIDI (when BASSMIDI Driver is the selected MIDI Synth), and does nothing when e.g. the MT-32 Synth Emulator is selected.
In these cases I like to add e.g. the following line in DOSBox config file, which lowers the Soundblaster audio in DOSBox, without touching the MIDI volume:
mixer master 15:15
If you feel that is too low for digital sound effects and speech, you can also use e.g. "mixer master 20:20" instead, or higher. Put that line to your DOSbox.conf file in the [autoexec] part, before you run any game. With GOG DOS games, find the appropriate conf file in the GOG game directory and add that mixer line just before the line where the game executable is run. This is my example for Strike Commander (GOG version):
In C:\GOG Games\Strike Commander\dosboxSC_single.conf I have this:
[IPX]
Enable=0
Connection=0
ipx=false
[autoexec]
# Lines in this section will be run at startup.
@ECHO OFF
mount C ".."
imgmount d -t iso -fs iso "..\SC.dat"
c:
mixer master 20:20
sccd.exe
exit
So I've added that bolded mixer line there.
After that, before you run a DOS/GOG game that supports Roland MT-32/CM-32L, run the BASSMIDI utility and select "MT-32 Synth Emulator" as the MIDI Synth and click Apply (you can exit BASSMIDI utility after that). No need to touch BASSMIDI anymore as long as you are fine with all your MIDI music played as MT-32 music.
But when you run a DOS/GOG game that supports General MIDI/Sound Canvas/SCC-1 instead, you need to reconfigure the sound output again with BASSMIDI, by selecting "BASSMIDI Driver" as the Default MIDI Synth. This will use Chorium Rev A General MIDI sound patches as you have instructed it to use.
You can optionally also choose the default "Microsoft GS Wavetable Synth" as a General MIDI device, but it sounds much poorer than Chorium Rev A.
Note that in order to change the MIDI synth output device in BASSMIDI, you must do it before you run DOSBox, I think. With GOG games this simply means changing it with BASSMIDI before running the GOG game, but if you are already inside a DOSBox session, I think you need to exit DOSBox, change the MIDI synth in BASSMIDI, and then run DOSBox again. In case that e.g. you first play some General MIDI game, but next want to play some Roland MT-32 game instead.
This all makes more sense after you have installed all that software and try it out yourself. :) I prefer this way over e.g. using a special DOSBox build (with built-in MT-32 emulation) because this then works with all your games, be it a GOG game, or a separate DOSBox game, or even Windows games in case they'd use MIDI music. And this covers both getting proper Roland MT-32 emulation, and getting better General MIDI music.