A Sound Card Before Its Time

By Michal Necasek

A mysterious full-length sound card recently arrived at the OS/2 Museum. It was clearly manufactured by IBM in 1985, and sports a 20 MHz Texas Instrument TMS32010 DSP (the DSP is the large black DIP chip near the lower left corner, not the ceramic gold cap chip).

A curious 1985 IBM sound card

The card has a FCC ID sticker, which is usually a good way to identify hardware:

A suspicious FCC ID sticker

The FCC ID is ANO95A6450611… which apparently does not exist. However, ANO9SA6450611 does. It is hard to say whether the typo is on the IBM card or in the FCC database. Either way, it’s an IBM FCC ID… from 1988. On a card made in 1985. If we discount time travel, there must be some other explanation.

The FRU P/N 15F8511 of the card leads to the IBM SpeechViewer adapter. The SpeechViewer was announced in late 1988, which matches the FCC ID, but not the card itself.

The IBM SpeechViewer was marketed as a PS/2 option—which somehow happened to only work in the ISA-based models 25 and 30. Because of course it’s an 8-bit ISA card. Why would IBM not make it a 16-bit card in 1988? Because the design is much older, going back to an era where a PC/AT with 16-bit slots was a rare high-end system.

The IBM SpeechViewer card appears to be more or less completely undocumented and only works with IBM’s custom SpeechViewer software. The SpeechViewer was designed for language therapists and one of its main purposes was to help deaf children learning to speak. This was accomplished by speech analysis software for therapists, and voice-controlled games for the young patients.

The SpeechViewer system was developed by the IBM Scientific Center in Paris, France and its development reportedly took about 10 years. That could explain why the card was made more than three years before it was sold, but maybe there’s more to it.

The IBM Voice Communications Option

Louis Ohland noticed that there was another similar card made by IBM, the Voice Communications Option. And that was announced in October 1985. The Voice Communication Adapter (VCA) was an 8-bit ISA card, with a list price of $1,200. Unlike the SpeechViewer, the VCA had audio and telephone jacks and was meant to be connected to a telephone network.

With appropriate software, the VCA could respond to voice commands, function as a voice-controlled keyboard, record and play back digital audio, synthesize speech from text, detect and produce dialing signals, and function as a 1,200 baud modem. All that in 1985.

The feature list is not unlike that of IBM’s 1990s Mwave adapters, and there are obvious similarities. The VCA (and SpeechViewer) is a DSP connected to a DAC and ADC. The DSP runs its own software and communicates with the host system.

VCA = SV?

Just how close is the SpeechViewer (SV) to the Voice Communications Adapter (VCA)? Very, very close. They in fact share the same PCB and only the connectors on the backplate are different. It’s clearly visible here:

The analog circuitry on IBM SpeechViewer

The VCA had three phone jacks on top, and two audio jacks on the bottom (J4 and J5). The pictured SpeechViewer has no phone jacks; instead there are two audio connectors, wired to the J4 and J5 locations. A few of the components on the PCB are not populated, but the analog section of the SpeechViewer contains a lot of heavy duty circuitry that is not common on sound cards but typical on equipment connected to the telephone network.

Without comparing with a real VCA, can we be sure that the SV is really almost identical? Yes we can, because IBM did publish a technical reference for the VCA. The logic diagrams are a perfect match, including the component labels.

Now the story makes much better sense. The SpeechViewer hardware is a slightly modified Voice Communications Option, equipped with audio jacks only and no telephony connectors. IBM did have the hardware in 1985. The SpeechViewer was fairly widely tested in hospitals and clinics around the world before it was announced. It was clearly the SpeechViewer software that was under development before 1988, not hardware.

How It Works

The SpeechViewer (and Voice Communications Adapter) is, as previously mentioned, a DSP-based sound card.

IBM SpeechViewer digital section

The TMS32010 DSP could run at 20 MHz (on the SV it runs at 19.968 MHz, a frequency evenly divisible by 768). On the left-hand side are Toshiba SRAM chips, all 2KB capacity. There are eight 55ns chips for a total of 16KB data memory, and two 45ns chips for 4KB of code memory (all using 16-bit words from the DSP’s perspective). It should be understood that this was extremely fast memory at the time. The SRAM chips appeared in Toshiba’s 1983-4 catalog and were massively faster than other SRAM/DRAM chips which typically had 100-300ns or more access time, and much longer cycle time (for the SRAM chips, it’s 45/55ns access and cycle time). The SRAM no doubt significantly contributed to the original $1,200 VCA price tag.

The DSP could execute one instruction in 200ns (5 million instructions per second). That included a 16-bit × 16-bit multiply. The TMS32010 supported 16-bit fixed-point math.

The SpeechViewer sports two AMD Am6012PC 12-bit DACs. One of them is used with an AMD Am2504PC successive approximation register to function as an ADC. The SV and VCA work at 8 or 9.6 kHz sample rate with 12-bit signed samples. There is only a single audio channel, no stereo.

The card does not use any DMA, only interrupts and shared memory. The 20KB of RAM on the card can be mapped into an 8K window in the host’s address space, selecting between lower or upper half of data memory, or code memory.

There is no firmware on the SV or VCA; the DSP code must be uploaded by the host before the DSP is brought out of reset.

Successors

There is rather obvious similarity between the 1985 VCA/SV and the 1989 IBM M-ACPA. The M-ACPA uses the exact same basic architecture with a newer TI DSP and differently organized SRAM (it has 4K dedicated sample memory and 16K data/code memory). And of course the M-ACPA can do 16-bit stereo at 44.1 kHz.

Not coincidentally, the refreshed IBM SpeechViewer II package required an M-ACPA card instead of the old model.

As mentioned above, the IBM Mwave is another obvious successor of the VCA/SV and M-ACPA.

Is It a Sound Card?

No contemporary literature calls the SpeechViewer hardware a sound card, although that’s exactly what it is. The term “sound card” probably wasn’t used until about 1989.

The IBM VCA must have been one of the earliest PC audio recording and playback adapters, although it was designed primarily for telephony and the DSP gave it capabilities that went far beyond what early sound cards could do.

In 1985, PCs were severely limited by available RAM and hard disk space (if they even had a hard disk; the VCA did not require one). Hard disk recording was not very feasible and the 8088 was not very suitable for digital audio processing—that’s after all why IBM used a DSP on the cards, because the DSP had significantly higher number crunching power than even a 286.

The VCA is older than the 1987 Covox Speech Thing, which was the first widespread PC digital audio accessory. It supported 8-bit digital output only, no sampling. A completely different class of device, the Speech Thing also cost well under $100, not over $1,000 like IBM’s hardware.

What Is Missing?

So what’s missing to use the SpeechViewer as a sound card? Well… everything. The IBM-provided software, which includes the DSP firmware. The VCA/SV significantly predates modern multimedia environments, so there is no such thing as a Windows 3.1 driver for it.

The card came without any software, so there’s not much to do with it. Armed with the VCA Technical Reference it would be possible to write something, but developing the DSP firmware from scratch might be a little tricky.

VCA or SV software, anyone?