I seem to have embarked on another crazy research project. It was spurred by a broken Yamaha DB-50XG wavetable daughterboard. The DB-50XG was a bit dirty but not obviously damaged. It produces no output but gets warm exactly like a functioning specimen, so it shouldn’t be completely blown.
But because there’s no obvious damage, I don’t know where to start looking for defects. It could be that the MIDI IN signal doesn’t even arrive, or the digital part is damaged, or the analog part isn’t working… lots of possibilities. So I thought, if I could get the daughterboard to send some MIDI data back, I’d at least know that the MIDI processing stages work, right?
Well… after a few days of poking around, I still don’t know if it’s even theoretically possible, let alone how to do it. Let’s list the various obstacles…
The basic problem is that many waveblaster daughterboards are designed as purely output devices and can only accept MIDI input, but never produce any MIDI output. Depending on who you ask, the 26-pin waveblaster connector may or may not have a MIDI OUT pin (that’s output from the synth’s point of view). Everyone agrees that MIDI IN is on pin 4, but only some sources list pin 8 as MIDI OUT.
Creative’s documentation is one of those sources. Now, documentation is one thing, reality is another. I examined several sound cards from various manufacturers and found that sure enough, some connect pin 8 and some don’t. Creative generally does, others mostly don’t. Tracing several Sound Blaster 16 variants (e.g. a CT2890), I’m confident that pin 8 is connected on the waveblaster header, that it’s connected to a controller chip (for which there are no datasheets) or an MCU (for which there’s a datasheet but typically no firmware dump), and best of all, tends to be also connected to the MIDI IN on the game port.
So does it work? I don’t know. Because that’s where the other problem strikes. Most waveblaster daughterboards are practically undocumented, and again empirically many of them do not connect pin 8. Therefore they can’t possibly produce any MIDI traffic. Prominent members of the no-output family are Roland’s own SCB-7 (GM only, not so surprising) and SCB-55 (GM +GS, too bad). Generic cheap daughterboards inevitably don’t connect pin 8 either.
Now the Yamaha daughterboards (DB-50XG, DB-51XG, DB-60XG/XR385) all do have pin 8 connected, so they theoretically could produce MIDI data. The question is, can they really?
For the DB-51XG and DB-60XG, I could not find any documentation whatsoever. For the DB-50XG, detailed documentation exists, but does not mention any likely-looking SysEx commands that might produce MIDI data. The generic XG specs mention bulk request commands, but I was entirely unsuccessful in getting them to do anything.
In desperation, I tried a “real” synth, a Roland SC-88. And yes, it does talk—dumps can be initiated from the front panel or in response to Data Request SysEx sequences. In addition, the SC-88 constantly sends MIDI active sensing status bytes (FE) roughly every 250 milliseconds and I’m not sure that can even be turned off. So I know my software setup is basically sound and can send and receive data.
I don’t have an external Yamaha XG synth to test, and I could not convince a SW-60XG card (very similar to DB-60XG, but single board with its own MPU-401 interface) to produce anything. So I don’t know if I’m sending the wrong data to the Yamaha devices, or if they just don’t talk. There’s not much relevant information out there.
It would seem logical that if Yamaha went all the trouble of connecting the daughterboards’ MIDI OUT pins, they should be able to produce something, but either they aren’t or I’m doing something wrong.
So the question is: Does anyone know if Yamaha waveblaster daughterboards, and specifically the DB-50XG, can generate any MIDI traffic (and how), or know other daughterboards that can? If I knew of some daughterboard that’s known to work, I could at least eliminate the host sound card as a source of problems. Right now I have too many unknowns to make progress.