Well, here it is, February 2000, and I've decided to finally piece together an Mwave page. Lately I've been really having fun with other obsolete technology like Kodak PhotoCD, so I thought I'd spend a little time remembering all the fun I used to have with Mwave. Most of these facts are probably somewhat inaccurate due to the length of time that has elapsed. At some point I might sift through all my old Mwave mail logs and see if I can get exact dates.
It all started for me when I was working on IBM Federal System's Global Positioning System (GPS) contract fresh out of college as a subcontractor. This was in June 1990. By 1992 or so, rumors were spreading rapidly on the IBM internal forums that the new Windsurfer card had been released. I was excited because it sounded like the ultimate toy. A DSP-based card that served as an upgradeable modem and soundcard. Being interested in the potential pro-audio applications of the card, I was also hoping to be able to program for it.
Soon I discovered that IBM and Intermetrics were releasing a development kit (the MDK) for the card. I had to have one. So I bought myself a Windsurfer, participated in beta testing portions of the developers kit, and bought the MDK the moment it became available.
I was becoming rather well known on IBM's internal Mwave forum, and was really hoping to get a job offer. I came close, but was dissappointed to find out that IBM just wanted to exploit the code I had written for Mwave. Fortunately, I was a subcontractor so they couldn't touch me. The real job offers came much later (after 1994) and from the telephony side of Team Mwave. I also talked with the IBM Haifa Research Lab in Israel, and got an offer to come for an interview with the designer of the Mwave/OS. Not being too fond of travel (or terrorism), I passed on that one.
By this time, I was subcontracting on IBM's ill-fated FAA Advanced Automation System (AAS) contract just biding time before the inevitable lay off. The work wasn't too tough, so there was plenty of time left for hanging out on the internal forums and talking about Mwave. While doing so, I met quite a few people from Team Mwave and had a blast talking about all the fun I was having learning the MDK.
In 1994 I got laid off after being on AAS for 6 months. Huge cuts in the AAS program required them to drop all subcontractors. I was one of the last to find out, so I got some extra time there. This meant my contact with the inner workings of IBM (actually Loral as they were in the middle of selling Federal Systems) was over.
My next job was totally unrelated to DSP (as were the previous ones), but I was able to convince my employer to get me a Best Data ACE Mwave card for my office machine. It worked well as a 14.4 modem under Windows 3.1. I also occasionally brought in the Mwave stuff I was working on to show to everyone there. Some were impressed, including Ping who bought an Mwave card to save slots on his PC. Little did he know Mwave would instead just suck up IRQs.
The only outside information at the time was the USENET OS/2 multimedia newsgroup. Through that I believe Jeff Bryer announced his Mwave website and mailing list some time later. Since then, this has been the only good outside source of Mwave info. In its early years, a lot of development discussion was going on, but the traffic was primarily people trying to figure out how to get Mwave to work with this or that motherboard and this or that operating system. A few of the members of Team Mwave frequented the mailing list. At this time, I think only Andy Citron remains, and he left Team Mwave some time ago. IBM ran an Mwave BBS for developers only, but it really wasn't very interesting.
IBM managed to sell Mwave direct to customers, and through other vendors like Best Data and Spectrum Signal Processing. Then as momentum was picking up, IBM dropped the ball miserably. Instead of offering all the promised support and upgrades, IBM was unable to provide new drivers in a timely fashion, and would charge money for them to recoup expenses. This wouldn't have been so bad if the drivers had worked. The simple fact is that they never graduated from writing 16-bit Windows drivers to 32-bit Windows. When Windows 95 came, Mwave was doomed to failure because IBM couldn't keep up the pace. I think DirectX was the final nail in the coffin. Writing DirectX drivers was yet another thing the IBM had to do to keep the soundcard portion of Mwave viable. It didn't happen. So a lot of people got angry, and IBM quietly denied ever having heard or seen of a thing called Mwave.
I wrote a number of apps for the Mwave cards. The most important of these was a digital delay to show that Mwave could do realtime audio effects, and a VOI -> WAV converter that used the Mwave API to convert Mwave's proprietary telephone answering machine audio file format to the windows standard WAV format. Other projects were also in varying states of completion. I had a distortion task that produced clipping distortion suitable for guitar amp simulation. I designed, but never implemented a telephone answering machine program that would have been amazing. It had multiple mailboxes, and special features like playing a WAV file for you if someone REALLY important called (who knew a secret password). It also would play a different outgoing message each time, something I really wanted in an answering machine. My most ambitious unfinished project was the designing of an audio effects framework that included a drag-and-drop UI that allowed you to design signal flows for your effects, then program each of them to get a desired result. This is common-place now in the audio industry, but back then, I was way ahead of my time.
I kept working on my little Mwave apps up until April 11, 1996. I revisited Mwave briefly in August 1996 and March 1998 when I begin coding a thunking layer to allow use of the Mwave 16-bit API DLLs under Win32. I gave up shortly thereafter. The biggest issue I remember was how to do callbacks through the thunking layer. I never did get around to solving that one as lack of interest set in too quickly.
You can find my Mwave apps on my software page.
So where's Mwave now? I think Malcolm Ware from Team Mwave said that Mwave lives on as a research project in IBM. It is IBM's DSP platform, and will continue to be. It will probably be sold to other companies as a chip instead of a whole system. So IBM has decided to concentrate on the technology, which they tend to be good at, and not supporting a consumer product in the mainstream world of Microshaft Windoze, which they are pretty bad at.
A group of people on the net started to put together a Linux driver for Mwave, but gave up quickly due to not having proper documentation for the chip. I tried to help this Linux effort by bugging the Mwave folks for some programming info, but never got anywhere. Lately I've been working on scanning and OCR-ing the MDK documentation so these Linux folks can make some progress. It still seems like too much trouble to develop support for Mwave when you can just go out and buy a $20 modem and a $20 soundcard.
My latest hobby is Photography, so I've adopted Kodak PhotoCD as my current project. It is proprietary, and weird, just like Mwave. It is improperly supported, like Mwave. And I'll probably give up on it like everyone else has at some point. Just like Mwave. Then it will be time for a new adventure.
<- Back to my Mwave page.
Disclaimers: Mwave is a load of junk. Don't fall for it. The contents of this page are Copyright 2000, with all rights reserved by me, Ted Felix.Copyright ©2000, Ted Felix