Who is Participating?

You can use MIDIPAK driver to play midi files in Pascal. Actualy it doesnt play .mid files but .xmi files. But there is no differece you play .xmi file or .mid file. .mid files can be freely converted to .xmi file. If you are interested in it you can send me an email to girts@eddi.lv, so I could send you MIDIPAK driver, coverter and Pascal source code. It realy works, I have used it in some my Pascal and Asm programs.

Often midi-files are written for a specific set of instruments. The GM (General Midi) standard is a standard supported by most MIDI-device manufacturers, but not all of them, that describes (it may contain more, I'm not a MIDI-expert) which number belongs to which instrument. Most Roland synthesizers are GM-compliant, and most Yamaha aren't.

The MIDI-port that's on your SoundBlaster is probably just an FM synthesizer, or if you have an AWE, it's a wavetable synthesizer. I'm not sure about the wavetable, but the FM synthesizer is not GM-compliant.

If you want to play MIDI-files, you'll have to know what your MIDI-output device will be. If it's a SoundBlaster don't be GM-compliant, and the other way around.

But there's always the possibility that you have a MIDI-box connected to your SoundBlaster gameport and you've connected a GM-compliant MIDI-device.

Well XMI does differ a bit from MIDI: MIDI files can be stored in three types: type 0 and 1 (the well known MIDI-format) and type 2, XMI. XMI is short for eXtended MIDI, but I'm not sure if it really extends MIDI in a way.

By the way, I've never been able to convert a MIDI file to an XMI, because I didn't have the right utilities to do that, but it could work with the converter.