As previously mentioned, the Wave Blaster II (aka WB2) documentation makes no mention of possible bidirectional MIDI communication. But while trying the Wave Blaster II control panel with various host cards out of desperation, an interesting thing happened: When attempting to go to the preset screen, I was informed that I couldn’t because “MIDI In is currently busy”.
Now that’s interesting because the MIDI implementation chart for WB2 makes absolutely no mention that the device might send anything. Then again the chart does not list system exclusive messages (SysEx) at all.
A quick look at WP2CPL.EXE with a disassembler confirmed that the control panel preset dialog only opens if the device responds to a SysEx. What does the SysEx do?
I wish I knew. What I do know is only the following. When this system exclusive message is sent
F0 18 40 00 01 07 00 F7
the Wave Blaster II responds with
F0 18 40 00 01 7F 07 00 0B 01 00 09 06 F7
(i.e. another SysEx, which is a fairly typical exchange in MIDI devices). The WB2 responds to variations of the SysEx but currently I have no sense of what the returned data means.
What’s interesting is that the WB2 also responds to some of the documented SysEx messages. That is, the input is documented, the response is not. For example,
F0 18 40 00 02 F7
is a SysEx that resets all patch parameters, and which the Wave Blaster II graces with the following response:
F0 18 40 00 02 7F 00 F7
Again, what that means is anyone’s guess.
With a known talking WB daughterboard, I can finally test the behavior of various host cards. Unsurprisingly, it is not uniform.
Let’s start with a really funny one. Sound Blaster AWE32 CT3900 (rev. 1 PCB, 4.13 DSP) fails to open the presets page in the WB2 control panel, and the DOS-based WB2MODE.EXE utility hangs when changing the device’s parameters.
Yet with my own hand-rolled MPU-401 utility, I can both send MIDI data to the daughterboard and receive responses back. Bizarre.
A rather old Sound Blaster 16 CT1740 (rev. 3 PCB, 4.04 DSP) behaves differently: There’s no response from the WB2, and the control panel preset page can’t be entered. But it does produce sound and WB2MODE.EXE does not hang either.
A newer SB16 Pro PnP CT2950 (rev. 2 PCB, 4.13 DSP) actually behaves properly. The WB2 responds, the control panel works.
A Vibra 16S PnP CT2890 (rev. 1 PCB, integrated 4.13 DSP) works without problems as well.
I also tested an old AWE32 CT2760 (rev. 1 PCB, 4.12 DSP) and found it’s behavior just as bizarre as that of the newer CT3900. My own utility works, WB2MODE.EXE hangs, and the WB2 control panel does not work.
I have not yet tried any non-Creative host cards. The current assumption is that most of them do not support bidirectional MIDI communication to WB daughterboards, but that is just an assumption.
Only later I discovered that the WB2MODE.EXE utility has an undocumented /VERSION argument. It produces the following output:
f0 18 40 0 1 7f 7 0 b 1 0 9 6 f7
Yes, that’s the exact same SysEx that the WB2 control panel wants to receive, only formatted differently. So perhaps it indicates the version of the WB2 chips and/or firmware. If anyone knows more, please share the information.