Archives
- October 2025
- September 2025
- August 2025
- July 2025
- June 2025
- May 2025
- April 2025
- March 2025
- February 2025
- January 2025
- December 2024
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- January 2011
- November 2010
- October 2010
- August 2010
- July 2010
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:
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.
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 (×ばつ16) of sample memory and 16 KB (×ばつ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.
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.
17 Responses to Audio Frequency Data Acquisition
For what operating systems there was drivers?
The usual suspects. Initially DOS, later Windows 3.x, OS/2 2.x, to some extent Windows 95.
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…
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.
1992/1993, IIRC.
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.
Soundblaster emulation can be done with special device drivers for DOS, OS/2 2.x and Windows.
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.
The question isn’t if it can be done, the question is how good it is. How good is it? Especially in plain DOS?
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.
Interestingly, it looks like the card could be used, at least conceptually, as a kind of secondary processor to do JPEG compression/decompression.
http://ps-2.kev009.com/ohlandl/sound/User_Guide_JPEG_API_Audio_Cards.txt
“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.”
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.
Someone on VOGONS just picked up the ISA version of this card:
http://www.vogons.org/viewtopic.php?f=62&t=57916
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.
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.
Pingback: A Sound Card Before Its Time | OS/2 Museum
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.
This site uses Akismet to reduce spam. Learn how your comment data is processed.