First post, by Great Hierophant
See here for an overview of this subject :
A couple of years ago, I tried using an IBM Music Feature Card (as a MIDI hardware synthesizer, not an interface) with DOSBox. A modern system was running DOSBox and the Roland UM-1X midi interface was connected to the midi-in on the IBM Music Feature Card's breakout box, which was attached to a turned-on vintage PC with the IBM Music Feature Card inserted into an ISA slot. The resulting audio was totally wrong in any Sierra game I tried. At the time, I was unsure there was an issue with the card's settings (since it was being used in its default state), but after reviewing the Technical Reference, the card's default settings will allow data to be sent from an external midi source to the card and memory protection will be off.
Since that time I let the IBM Music Feature Card go. Yesterday I finally acquired a Yamaha FB-01. I connected it to my Tandy 1000 SX with a Roland MPU-401 + MIF-IPC-A inside, fired up all the Sierra SCI0 games and the sound was right. Afterward, I tried the FB-01 with DOSBox, connecting it to the USB based Roland UM-1X midi interface, and the sound was wrong.
The Yamaha FB-01 has a 16-character LED display which can alert the user to what is going on with the synthesizer module. Sierra's games transmit patches to the device, and after the game loads on my Tandy, the LED will read out :
In DOSBox, after the game loads, the LED will read out :
The Yamaha FB-01 is set up per Sierra's instructions. First the unit is turned on, then the memory protect is turned off. If the memory protect is left on (the default setting), then after the game loads, the LED will read out :
If the dump is received, then the music will play properly. If error or protected comes up, the music will be quite wrong.
So, it seems as though there is an issue with Sierra's driver's transmission of patch information over the emulated MPU-401 interface to the real Yamaha FB-01.
I have used both the official .74 and the latest SVN (9/22/11) from ykhwong and the issue is still present. Also, I used Intelligent and UART MPU-401 settings, delaysysex and cycles at 3,500, 2,500 and 1,000. The bug occurs every time.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog