Audio Frequency Data Acquisition

Readers of this blog may have noticed that besides OS/2 software, I have interested in PC sound cards. I thought I had a decent idea about the major milestones in PC sound history, but I had to perform a few adjustments after a kind reader sent me this card:

The IBM M-ACPA/A sound card

Now, the above card is obviously a Microchannel adapter; the connector looks like PCI, and it is in fact physically identical, but logically it’s completely different. It is the IBM M-ACPA/A (ACPA stands for Audio Capture/Playback Adapter).

I had heard of ACPA sound cards before, but I hadn’t known the exact specs, and I didn’t realize just how old they were. The card in the photo is from mid-1991, a contemporary of the Sound Blaster Pro, but it’s already the second generation (Revision B).

The following text is etched on the reverse side of the PCB: COPYRIGHT REXON/TECMAR INC 1991, MANUFACTURED FOR IBM. Tecmar was one of the first companies producing PC adapter cards, and in the 1990s ended up as a SCSI tape backup brand. But some of Tecmar’s earliest boards were data acquisition cards, and in fact Tecmar spun off Scientific Solutions, a company specializing in data acquisition hardware.

IBM M-ACPA, made by Tecmar

According to the Scientific Solutions (SSI) history page, IBM approached Tecmar/SSI in 1986, and the resulting ACPA sound cards were released in 1989. The cards were available in Microchannel and ISA versions. The ISA variant was marketed for IBM PS/2 systems, but there is no obvious reason why it wouldn’t work in a generic PC. Now, the interesting part is that (as the SSI page mentions) the ACPA showed up a few months before the Sound Blaster; more about that later. The ACPA was one of the very first PC sound cards. It wasn’t a clone or a knock-off, and in fact it inspired one or two newer designs.

What’s in an ACPA?

Let’s provide a brief overview of the core ACPA components and its architecture. The heart of the card is a Texas Instruments TMS320C25, a 40 MHz fixed-point DSP. There is 4 KB (2K×16) of sample memory and 16 KB (8K×16) of shared SRAM accessible by the host and the DSP.

The DSP runs the sound card and besides shuffling data handles sample rate adjustments (decimation/interpolation), compression, etc. The DSP is programmable and has been used to handle audio tasks such as MIDI playback, as well as non-audio tasks like JPEG compression and decompression assistance.

The ADC is a Crystal Semiconductor CS5126, a 16-bit converter capable up to 44.1 kHz stereo or 88.2 kHz mono sampling. The DAC is a NEC μPD6355G, a 16-bit converter capable of up to 88.2 kHz stereo playback.

On the MCA version, there’s a TI CF62357APQ chip with is a custom VLSI device, presumably providing a bus interface and probably also the sample memory, as well as a data path from the ADC and to the DAC.

The card has standard 3.5mm jacks for microphone input (with selectable gain), line input, line output, and speaker/headphone output.

An early sound card, IBM M-ACPA/A

The ACPA uses a few I/O ports, one interrupt, and maps a 16 KB region of memory. It does not use DMA at all. The ACPA can handle simultaneous recording and playback.

There is no mixer on the card, and therefore no hardware volume control. The DSP might implement software volume control.

Further reference information about the ACPA can be found here.

It is obvious that the ACPA is not compatible with the Sound Blaster, Windows Sound System, or any similar standard, because it predates all of those. It was designed to handle CD-quality simultaneous audio recording and playback, unlike the vast majority of the early 1990s sound cards.

Related Designs

IBM’s own Mwave (1993) is a fairly obvious descendant of the ACPA. It is likewise DSP based, but the Mwave DSP is significantly more powerful, with lots more memory and therefore much more advanced capabilities. The Mwave DSP can handle modem functionality, Sound Blaster emulation, wavetable synthesis, etc.

The Turtle Beach Multisound cards (1991) may well have been also inspired by ACPA. The original Multisound used a similar architecture with a DSP (Motorola 56K) and shared memory.

In the early to mid-1990s, there were several other DSP-based designs that were quite possibly inspired by the ACPA and/or Mwave. These included the AT&T VCOS/RoadRunner (AT&T DSP3210), Cardinal Technologies DSP and Adaptec AudioEdge boards (Analog Devices ADSP-2115), or Sierra Semiconductor Aria chip set (Texas Instruments TMS320C25, the same DSP the ACPA used).

ACPA v. Sound Blaster

Comparing the digital audio capabilities of the ACPA and Sound Blaster is instructive. The cards were developed completely independently but released within a few months of each other in the second half of 1989.

The marketing and pricing of the boards was completely different. The ACPA list price was originally $565, the Sound Blaster around $250, but in both cases the prices significantly dropped within a year. The Sound Blaster was a superset of the AdLib music synthesizer, also including a game port and digital sampling and playback.

The Sound Blaster included a “DSP” or Digital Sound Chip (not a Digital Signal Processor like the TMS320C25), an 8-bit 12 MHz Intel 8051 microcontroller.

The Sound Blaster supported 8-bit monophonic recording and playback with sampling rates up to about 13 kHz. There was no simultaneous playback and recording, and glitch-free playback of streaming audio was not possible.

The ACPA supported simultaneous 16-bit stereo recording and playback, with recording up to 44.1 kHz (or twice that in mono) and playback up to 88.2 kHz, and the DSP could provide on-the-fly compression or decompression.

In other words, where digital audio was concerned, the 1989 ACPA was a bit more capable than the 1992 Sound Blaster 16. Of course none of that mattered because the Sound Blaster was the one to gain critical mass and spawn a whole industry of clones, and in the process teaching the world a thing or two about marketing mediocre hardware as a premium brand.

That is not to say the ACPA was unsuccessful. IBM sold ACPA cards from 1989 to 1995, and even at that point the ACPA’s capabilities weren’t exactly outdated. A design ahead of its time.

This entry was posted in IBM, MCA, PC hardware, PC history, PS/2, Sound, Sound Blaster. Bookmark the permalink.

17 Responses to Audio Frequency Data Acquisition

  1. Fernando says:

    For what operating systems there was drivers?

  2. Michal Necasek says:

    The usual suspects. Initially DOS, later Windows 3.x, OS/2 2.x, to some extent Windows 95.

  3. techfury90 says:

    The choice of a NEC DAC amuses me slightly, because NEC’s own sound cards didn’t use their own DACs. The PC-9801-86 sound card seems to actually be using two discrete Burr-Brown PCM61s fed from a SRAM FIFO by a NEC gate array to a Yamaha I2S stereo splitter. It’s an unusually high-cost arrangement, I’d say…

  4. Michal Necasek says:

    That does sound like an overkill. When is the PC-9801-86 sound card from?

    The ’91 ACPA that I have is actually pretty highly integrated and using modern design and fabrication technologies. The original ’89 model was a bit different (no SMD yet) but I haven’t seen even a good picture of it.

  5. techfury90 says:

    1992/1993, IIRC.

  6. Andreas Kohl says:

    For OS/2 1.1/1.2 and DOS 4.0 the Audio Visual Connection Version 1 (Pgm 5601-473 P/N 70F0095) was offered by IBM. You can find more information from Announcement Letter No. ZP90-0119. Also the Option Disk includes small programming examples for DOS and OS/2.

  7. Andreas Kohl says:

    Soundblaster emulation can be done with special device drivers for DOS, OS/2 2.x and Windows.

  8. techfury90 says:

    Brief run-down of PC-98 sound cards:

    PC-9801-26 (1985)/26K (1986): Yamaha YM2203 (OPN, 3 channel 4op FM plus AY-3-8910 compatible PSG) plus two Atari style joystick ports and built in speaker. Introduced in 1985, replaced with the 26K variant in 1986, which supports higher C-Bus speeds. Also has built-in Atari-style DE9 joystick ports. Almost all PC-98 games support this card at bare minimum. Many V30/286 era systems also include the -26K onboard, including the bizarre Dterm 400/410PC PBX phone/PC-98 combo.

    PC-9801-73 (1991): YM2608 FM chip (upwards compatible extension of YM2203 with double the FM channels, one ADPCM channel, plus 6 sampled percussion sounds in on-die ROM), uPD65051 DSP, Burr-Brown PCM61P discrete DACs for 44.1/16 PCM. Short lived due to high price and rarely supported outside of -26K backwards compatibility.

    PC-9801-86 (January 1993): Cost-reduced -73 design. To reduce costs, the YM2608 ADPCM buffer RAM was deleted (can be added back with modifications), along with the DSP. Contains a YM2608 (OPNA) for FM and dual PCM61Ps for 44.1/16 PCM (driven from a SRAM FIFO using a NEC gate array). Probably the most SMD electrolytic capacitors you’ve ever seen on a sound card (there are at least 30). Mixing is done using NEC uPC1406HA analog mixer ICs. Also has 44.1/16 recording capability, although I’m not sure which piece of hardware does it. Built into many 486/early Pentium-era PC-9821 motherboards as well.

    PC-9801-118 (1995): A much maligned beast by the PC-98 community. It features a YMF288 (OPN3-L) as a cost-reduced YM2608, along with a YMF289 (OPL3-LV) for a total of 22 FM channels, and a CS4232 for PCM. The CS4232 breaks compatibility with the PCM portion of the PC-9801-86, leading to many compatibility issues with PCM samples in the tracker music used in many games. Also integrated into many consumer-spec Pentium-era PC-9821s.

    CS4232 was also found as the sole onboard sound chip on many Pentium era PC-9821s onward, even including the final PC-9821Ra43 of 1999.

    Probing the installed sound card is done by reading from I/O port A460h, which is a port NEC set aside specifically for sound hardware ID.

    Several third parties produced compatible clones of the -26K and -86 cards, as well. The only non-NEC compatible sound card I’m aware of is the C-Bus SB16, which is practically useless outside of a handful of games.

  9. Michal Necasek says:

    The question isn’t if it can be done, the question is how good it is. How good is it? Especially in plain DOS?

  10. Chris M. says:

    Reading the documentation, the emulation in DOS is “limited”, Windows and OS/2 might has slightly better results. Forget protected mode games, it clearly runs the CPU in v86 mode and uses a port trapping system to emulate a SoundBlaster. This same method was used by many other non-ISA sound devices of the period like the parallel port based PORT-Able Sound Plus, and a few PCMCIA sound cards (slots lack DMA channel access).

    Since the card lacks a FM synth, Adlib emulation likely sounds silly too.

  11. Steve K. says:

    Interestingly, it looks like the card could be used, at least conceptually, as a kind of secondary processor to do JPEG compression/decompression.

    “We are providing facilities to use the digital signal processor (DSP) on the IBM M-Audio Capture and Playback Adapter/A to do the image compression and decompression.”

  12. Michal Necasek says:

    Yes, that’s exactly what the article says 🙂 The DSP was programmable and not tied to audio processing, and IBM did release JPEG compression/decompression libraries for it.

  13. Chris M. says:

    Someone on VOGONS just picked up the ISA version of this card:

  14. Michal Necasek says:

    Cool. There’s no FM synth on the card of course, and I don’t know exactly how it works, but it’s entirely possible that the DSP runs some sort of FM synthesis algorithm. In the OPL2/OPL3 it’s all hardcoded but there’s no reason why a DSP could not do the same thing.

  15. Josh Rodd says:

    Quoting Andreas Kohl: “Soundblaster emulation can be done with special device drivers for DOS, OS/2 2.x and Windows.”

    That package is certainly an interesting example, with the SVAUDIO.EXE “emulation” drive for DOS being a full blown 386 protected mode “TSR” which then runs DOS in Virtual 8086 mode. It appears to try to trap certain memory access. It does not appear to try to trap I/O port accesses.

    I used to have the newer revision of this card plus three of the original revisions. They worked surprisingly well for simultaneous audio recording and playback with multiple channels. The last time I regularly used one of these cards was to play MP3s using WinPlay3 on a PS/2 Model P75 486 (33MHz). It was capable of playing 22.1kHz stereo.

  16. Pingback: A Sound Card Before Its Time | OS/2 Museum

  17. Louis Ohland says:

    While researching the TMS320C25, I now know what the 60-pin J5 / P5 is – it is an “‘I/O Expansion Connector”. No idea of the pinout yet, but this could be a way to talk to other ACPA or instruments, the various documents are not made more understandable by the passage of time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.