The Sound Blaster has an FM synthesizer (an OPL2 or OPL3, depending on the version), which simply generates tones. Games must program this directly. at it doesn't understand MIDI data. (The game must convert the MIDI data to OPL command codes). DOSBox emulates the FM synthesizer, attempting to make sure it sounds like a real Sound Blaster. In dosbox.conf, this is the "sbtype" setting. You can record the OPL commands in DOSBox by pressing Ctrl-Alt-F7 (but you'll find those unusable) or the generated sound by pressing Ctrl-F6 (which creates a .WAV file).
The Sound Blaster also has an on-board MPU-401 (or compatible) chip. This does understand MIDI data, but doesn't do anything with it. It simply passes it on to a device connected to the external MIDI/joystick port (or a daughterboard connected to the card). That will in turn convert the MIDI data into sound. That is often of a much higher quality than FM synthesis. DOSBox, in its default setting, passes the MIDI data on to Windows. In DOSbox, this is the "mpu401" and "device" settings. You can record the MIDI commands by pressing Ctrl-Alt-F8. This creates a .MID file.
So: if your game uses FM synthesis (usually the "AdLib", "Sound Blaster", "Sound Blaster Pro" or "Sound Blaster 16" setting) and you get no sound, it may be DOSBox' fault.
If your game uses MIDI (usually the "Roland MT-32", "Roland LAPC-1", "Roland Sound Canvas" or "General MIDI" setting) and you get no sound, it's more likely to be Windows' settings.
DOSBox itself does not play MIDI and doesn't really do anything with it. It simply passes it on to Windows' MIDI handler. It can (and does) emulate the FM synthesis on a Sound Blaster, but that is not MIDI. If you get music on only one channel, then I think one of the following things may be happening:
- DOTT is set to OPL2 FM output (Sound Blaster) while you might be forcing an OPL3 (Sound Blaster Pro) or dual OPL2 (check the "oplmode" setting in DOSBox.conf, it should be "auto")
- DOTT may be doing something strange to DOSBox' SB mixer (never happened to me)
- DOTT is set to General MIDI output and there is something wrong with your Windows settings
- There is something wrong with your Windows settings (balance settings, driver problem etc)
My site: Ramblings on mostly tech stuff.