M-ACPA /A
NOTE: I have re-named the later ACPA based on empirical evidence. At this point, the "Rev D" [Expansion Bus] is before the "Rev B" [Ultimedia].

And now, back to the regularly scheduled broadcast...

[ISA] M-Audio Capture and Playback Adapter P/N 92F3378 replaces 87F9908
[MCA] M-Audio Capture and Playback Adapter/A P/N 92F3379 replaces 87F9909

@6e6c.adf  M-ACPA/A
MACPA.DGS M-ACPA Diagnostics
ACPADIAG.EXE DOS based M-ACPA Diagnostics 

Refreshed ACPA Disks (CSD 1.03 Applied) 

Bradly Parker's MWAVE stuff [and more]. Thx to Adrian


Refreshed ACPA Disks (CSD 1.03 Applied)

MACPAOPT_103 
MACPAWIN_103  Win 3.0 / Win 3.1x
MACPADDK_103

Tim N. Clarke takes a break from the labors of Sisyphus and says:

1) All README, *.DOC/*.PRT files now have .TXT extensions.
2) All packages are Win3.1x driver level v1.03 [through application of the Win3.1x CSD].
3) I've provided them as *.ZIP packages, for simplicity.



Audiocap.exe  ACPA Adapter/A Option Disk   (720K! Use FORCEDOS under NT)
     Or use Wild Bill's ZIP of the extracted files HERE

ACPA Installation and Technical Reference Manual (with POS info!)

US5043931A Wrap test system and method [audio-mute wrap]

Method and apparatus for simultaneous output of digital audio and midi Synthesized Music

IBM M-ACPA Win. driver Corrective Serv.
M-Audio Capture Drivers and APIs 1 of 2
M-Audio Capture Drivers and APIs 2 of 2
M-Audio Capture Drivers Docs
M-Audio Support files for Windows 3.1
Drivers for Audio Capture/Playback
Readme file for macpaopt.exe

User's Guide to JPEG API for Audio Cards  June 29, 1992
JPEG API Source Files - Win, OS/2, DOS

IBM M-ACPA Audio Application Programming Interface Functional Description "C"
AUDIODD.txt Audio Device Drivers for IBM Personal Computers (AUDIO DD) v 1.02

TMS320C25 Application Notes  

SPRA355 Real-Time MIDI Music Synthesis Algorithms, (ABS/OLA, SMS) for the TMS320C32 DSP
TMS320 Family Development Support Reference Guide 
TMS320C2x User's Guide  
TMS320C2x DSP Programmers Reference Card 
TMS320C25 Second-Generation Digital Signal Processors datasheet (Rev. B)  
SPRA390 TMS320 Hardware Applications  
TMS320 Second Generation Digital Signal Processors Datasheet  

TI TMS320C25 Technical Documents   [To Texas Instruments]
An Optimizing Compiler for the TMS320C25 DSP Processor 
DSP-93 Programming Guide [TMS320C25 based]

191-192  Enhancements To The Audio And Video Multimedia Adapters From IBM
190-159  M-Audio Capture And Playback Adapter/A Upgrade Kit
189-101  ACPA for PS/2, ACPA/A for PS/2, and VCA/A for PS/2

Installing the M-ACPA  under Win95 (Peter Wendt) 
IBM M-Audio Capture & Playback Adapter/A (M-ACPA) @6E6C  (William Walsh)

"Virtual device driver for M-Audio Capture and playback Adapter" DOS/Win3.1x/OS2

ACPA Source
ACPA Low Level Driver Source 1/2
More ACPA stuff (copy or different?)
@6E6C ADF sections



ACPA, ver A
   JPR4  

ACPA, ver B   
   ACPA Expansion Bus Pinout  

ACPA, ver C (Ultimedia)

Win95 Experiences (William Walsh)
SoundBlaster Support (William Walsh and Christian Holzapfel)
M-ACPA Installation Files, Peter and VDD for M-ACPA 
ACPA Construction
ACPA Source
ADF Sections


ACPA Block Diagram (Extract from US Patent 5,054,360)


Functional Diagram



The M-ACPA has audio input jacks for both microphone and line. The difference is that the microphone jack is connected to an amplifier to boost the signal. The output of most external audio devices is suitable for the line-input. A signal from an analog audio source is digitized by the analog-to-digital converter. The digitized signal is compressed to save storage and is stored in the M-ACPA shared memory. MMPM/2 reads the shared memory and stores the audio in the PS/2 memory.



ACPA  (Rev. A) 
  Thanks to William Walsh for outlining this and doing the chip ID.
Blue - Takamisawa A5W-K
U20 - Crystal CS5126
U61, 64 - Cypress CG7C185-35VC
U63 - TI TMS320C25FNL DSP
Y1 - 22.5792MHz (CS5126 external clock)
Y2 - 40.000MHz (DSP clock)

Y1 - 22.5792MHz (CS5126 external clock -- see datasheet)
U63 - TI TMS320C25FNL DSP datasheet HERE
U20 - Crystal CS5126 (16 bit stereo A/D converter, datasheet here)
Blue - Takamisawa A5W-K 5VDC 1A/30VDC DPDT relay (for muting function)

A-5W-K “A series” miniature relay 2 poles—1 to 2 a (for signal switching)  Datasheet 

Jumper JPR4
   This is the only way to jumper it. Experiment if you are curious.
 
 
 
 



ACPA Rev D  (Expansion Bus) P/N 95F1288 Made by Rexxon/Tecmar FCC ID ANOMACPAMC
J1 CD Rom Audio (see J1 below)
J2 AUX (see J2 below)
J3 Unk artifact?
JPR1 Connects Audio Gnd on MCA bus to?
JPR2 Connects digital and analog planes
JPR3 Artifact (see JPR3 below)
K1 Takamisawa A5W-K
OSC1 22.5792 / 40.000 MHz osc
P1 Line In
P2 Microphone
P3 Line Out
P4 Speakers
P5 60-pin I/O Expansion Connector 
U1, 3, 5 NS LF347M
U2, 6 NS LM386
U4 Intersil DG211CY
U8 NEC D6355G
U12 Crystal Semi CS5126-KL
U13 TI CF62357APQ
U16 TI TMS320C25FNL DSP
U17, 18 Cypress CYC185-20VC
00

U1, 3, 5 NS LF347M Quad operational amplifier (JFET) Datasheet
U2 NS LM386 Low Voltage Audio Power Amp, Mono Microphone In Datasheet  
U6 NS LM386 Low Voltage Audio Power Amp, Stereo Headphone Datasheet
U4 Intersil DG211CY SPST 4-Channel Analog Switch Datasheet
U8 NEC D6355G (uPD6355G) 16-Bit Digital-to-Analog Converter Datasheet
U12 Crystal Semi CS5126-KL 16-bit stereo A/D converter for digital audio Datasheet
U16 TI TMS320C25FNL DSP Datasheet HERE 
K1 A-5W-K “A series” miniature relay 2 poles—1 to 2 a (for signal switching)  Datasheet 
 
J1  CD Rom Audio cable
J2 AUX

JPR1
If you look at the reverse of JPR1, it links to Pin B1, Audio Ground

Major Tom bounces one off the Ionosphere:
The reason why you often want to *separate* the two return paths (grounds), is to reduce the level of digital noise in your analog signal(s) - audio in this case. The Micro Channel bus was designed with this in mind and the analog audio signal on pin B2 has its own return path - "analog" ground on pin B1.

It looks like the designers of the card were testing different ground configurations to see what will give  the best results (possibly in various different system units). The analog portion of the card is rather complex so maybe it caused more trouble than good when all of it was grounded through just that one pin. In any case, looks like the variant with interconnected grounds won, so they permanently connected them with some traces on the back side (with an option to separate them by cutting the traces, if you really wish to). Early samples likely had the ground planes connected through the jumpers, and one could simply remove/add jumpers to see what effect it has on the SNR and other
characteristics.

JPR3Artifact Leave jumpered. Why this is, I don't know. 
Peter sez- 
   Did you notice the 30-pin double row solder spots on that card? As far as I recall it was intended to add some more stuff to this card ... and this jumper seems to be an artifact from that stage of development as well. Open the jumper - and the system hooks with the ACPA installed.

23 March 2019 - After researching the TMS320 DSP, I saw the block diagram for a TMS320C50 development kit. That 60 pin artifact is for an I/O Expansion Connector [also called "External Bus"]. Remember, the ACPA is not just a simple audio card, but instead is an advanced signal processing adapter. The Audiovation is a cheaper audio card [with MWAVE technology]. I hope to find the pinout for the expansion connector...

ACPA Expansion Bus Pinout 

Major Tom did the pinout...

ACPA Expansion Bus Pinout 

Why are some through holes filled with solder, and some empty?

Major Tom 
Soldering process inconsistencies probably... My card has all positions soldered.

Major Tom breaks through the ionization:
  JMP3 and J3 look to be dealing with external clock for the ADC chip.

ACPA Rev D Markings [Expansion Bus]
Etch on back - 95F1288 Rev ___ [Three Underscores].
    NOTE: You may see a small sticker with the Revision letter over the three underscores.
Front Silkscreen "ASSEMBLY", sticker "REV D"
M-ACPA/A ADAPTER 943055 REV B COMP SIDE
M-ACPA/A ADAPTER 943055 REV B SOLDER SIDE



ACPA Rev B  (Ultimedia) P/N 95F1255 Made by Rexxon/Tecmar FCC ID ANOMACPAMC
U2, 3 National Semiconductor LM386
U12 Crystal CS5126-JL
U13 TI CF62357APQ (MCA bus interface?)
U16 TI TMS320C25FNL DSP
U17, 18 Cypress CY7C185-20VC
OSC1  22.5792 & 40.000 MHz
Q1 Takamisawa A5WK Relay
T1-7 TDK ZJYS-2 

U12 Crystal CS5126-JL (16 bit stereo A/D converter, datasheet here)
OSC1  22.5792 & 40.000 MHz (CS5126 clock and DSP clock - all in one package!)
K1 Takamisawa A5WK (in a white casing, for audio muting)
U2 NS LM386 Low Voltage Audio Power Amp, Mono Microphone In Datasheet  
U3 NS LM386 Low Voltage Audio Power Amp, Stereo Headphone Datasheet

K1 A-5W-K “A series” miniature relay 2 poles—1 to 2 a (for signal switching)  Datasheet 
   NOTE: The component ID is not visible on the C version.

U6 - DG211CY SPST 4 Channel Analog Switch (Switches ±15V Analog Signals) Datasheet 

TL084C JFET-Input Quad Operational Amp Datasheet  NOTE: No visible component IDs

T1-7 TDK ZJYS-2 (ZJYS51R5-2P) Common-Mode Choke Coils for Signal Line Datasheet 

ACPA Rev B Markings [Ultimedia]
Etch on back - 95F1255 Rev B
Front Silkscreen "ASSEMBLY", sticker "REV B"
M-ACPA/A MMFP #2 943706 REV B COMP SIDE
M-ACPA/A MMFP #2 943706 REV B SOLDER SIDE

NOTE: My SWAG is "MMFP" is Multi Media Front Panel. This unit was probably slated for the 57 / M57 / 9577.


J2 Pinout

P4 Pinout = Multimedia Port (same as Audiovation)

NOTE: Odd # pins top,  Even # pins bottom
Pin
Signal
Pin
Signal
1
Out R
10
Out L
2
Gnd
14
Key
4
Mic R
13
Mic L

Audio Mute
   Peter Wendt says:

I have the M-ACPA in various machines - one of them is a Server 85 (33MHz planar) with Kingston Turbochip 586-133 installed. Works nice.

But:
- is not Soundblaster compatible and will never be
- volume control and mixer don't work (consequently - requires SB-comp. card)
- the audio-mute is a relay, which causes a loud clicking noise in the output
- the .MID-files sound a bit odd since the instrument tables differ

   Apart from that it works pretty good and the audio quality is a lot better compared to ISA-sound card. The digitizer part (analog in) is 10X-better than on any other ISA-card due to the better signal / noise ratio of the MCA. I use one ACPA to digitize my old analog records. 



Windows 95 Experiences (set-up procedure here.)

The M-ACPA sounds pretty darn good when playing waveform audio.

   The MIDI implementation doesn't sound at all good under Windows 95. Some notes seem to be over-emphasized and others you can barely hear. Some wave sounds come through a bit strangely and others play fine. I can't explain that. This might be compression related. As with Audiovation, using 16 bit programs is your best bet for proper sound playback. Most 32 bit programs won't even see that you have the ACPA installed. I didn't try recording from any source.

   Warning: You get no volume control on the ACPA that I can see. It looks to me as though the outputs are "full on" under Windows 95. For your ears' sake, use earphones or speakers that have an inline volume control.

   MP3 files played nicely on my 9585-0XF using an old 16-bit version of Fraunhofer's MP3 decoder software and a Kingston 133MHz TurboChip CPU upgrade. To multitask I had to turn down the decoding quality a bit. You'd be hard pressed to hear the difference from ordinary computer speakers though.


Sound Blaster Support?

Pulled from William Walsh HERE

Yes, in at least some sense of the term. Christian Holzapfel turned on the unobtainium mill and cranked this out:

Yes, it is true! While sorting my floppy disks I found one named "Virtual device driver vor M-Audio Capture and playback Adapter", which came with my 9577-STG a few years ago. However, I uploaded the content to http://holz.darktech.org/stuff/macpavdd.rar so everyone can experience this. [ed. original file location is DEAD]

These are the magic files:

19.10.1992  14:15 79.808 ACPA.DLL
26.10.1992  14:31 65.747 ACPAD2.SYS
19.11.1992  13:15 67.636 ACPADD2.SYS
01.09.1992  14:06 112.468 IBMMME.DRV
23.09.1992  12:00 14.957 IBMMPC.DSP
12.01.1994  15:38 1.062 MAUDIO.TXT
12.11.1992  11:31 799 MINIDD.SYS
24.11.1992  09:49 2.243 README.DOS
24.11.1992  15:17 1.865 README.OS2
24.11.1992  09:49 3.003 README.WIN
19.11.1992  10:01 91.273 SVAUDIO.386
23.11.1992  13:11 28.921 SVAUDIO.EXE
23.11.1992  13:22 18.432 SVAUDIO.SYS
20.08.1992  10:02 3.584 VAUDIO.SYS
23.11.1992  14:44 277 WININST.BAT

It needs to be installed manually, just read the appropriate file, "README.WIN" in most cases; WININST.BAT only does half of the job, so don't care about it. The emulation only works within a Windows DOS session, so the DOS driver seems useless to me. It is designed for Windows 3.1, but it also works under Windows 98 SE, I tested them both successfully. There mustn't be any other MACPA driver installed, not even the great one with the .inf from Peter. However, after you installed this one, sound works great within Windows too, although you don't see a device in the device manager.

There are not less than 4 readme files in the package, and useful information is spread all over:

"The VDD will allow you to run most SoundBlaster and MPU-401/MT32 or LAPC applications within a Windows DOS session.  Do NOT run the SVAUDIO.EXE. The VDD will attempt to map the sounds requested by the application to the nearest M-ACPA sound.  In most cases this is quite acceptable, but in any case it will sound different."

[README.WIN / README.OS2]

"If you turn music on for SoundBlaster support and specify port 240, music comes out great."

[MAUDIO.TXT]


"(3) The M-ACPA must be set to Interrupt 5 for the SoundBlaster  emulation to have any chance of working. Otherwise, it may lock up your machine."

[MAUDIO.TXT]


So, if you configure your DOS sound application (a.k.a. "game") to Int 5, I/O 240, everything works fine. If you need to specify a DMA channel, well... I locked up my '95 on every try. The reasons for this are clear, the MACPA simply doesn't need/support a DMA channel.

I tried "DOOM" without SFX and "Skyroads" with SFX, they both work, and the music themes are recognizable, but still sound a bit strange. Why this is, I can't say.

One more thing I noticed, all the files on the disk are dated later than the ones on any MACPA option/driver package. If you run "Audiover.exe" from the M-ACPA Win driver Corrective Service disk, it tells you the installed driver only supports up to 22.050kHz, Mono, 8-bit. If this is true, I cannot say. It doesn't sound that bad, but this is just my perception.

It looks to be an unfinished, unofficial driver set, since I could not find any information about it anywhere. Finally, the README.DOS says: "Error handling is not very robust at this time. Be prepared to reboot." :-) I had no problems so far, however.

What you need is here. (ZIP format!) It should be said that this is beta quality software (if that much!) and it may do Bad Things to your system.

M-ACPA Installation Files, Peter and VDD for M-ACPA

MACPAWIN.EXE and MACPACSD.EXE

 

VDD for M-ACPA

ACPA.DRV

33.008

07.01.94

19:14

 

ACPA.DLL

79,808

10/19/1992

09:15

AUDIO.DLL

78.912

07.01.94

19:10

 

ACPAD2.SYS

65,747

10/26/1992

09:31

AUDIOVER.EXE

20.816

10.01.94

11:23

 

ACPADD2.SYS

67,636

11/19/1992

08:15

OEMSETUP.INF

2.018

30.06.92

10:05

 

IBMMME.DRV

112,468

09/01/1992

09:06

README

12.976

24.07.92

15:02

 

IBMMPC.DSP

14,957

09/23/1992

07:00

WIN.CMD

88

24.07.92

14:56

 

MAUDIO.TXT

1,062

01/12/1994

10:38

IBMAUDS.DSP

14.957

30.06.92

11:07

 

MINIDD.SYS

799

11/12/1992

06:31

IBMMPC.DSP

14.957

30.06.92

12:11

 

README.DOS

2,243

11/24/1992

04:49

IBMPCMP.DSP

7.277

30.06.92

12:07

 

README.OS2

1,865

11/24/1992

10:17

IBMPCMR.DSP

7.277

30.06.92

12:08

 

README.WIN

3,003

11/24/1992

04:49

ACPADD.SYS

55.737

30.06.92

11:46

 

SVAUDIO.386

91,273

11/19/1992

05:01

READ.ME

4.762

10.01.94

16:25

 

SVAUDIO.EXE

28,921

11/23/1992

08:11

MACPA.INF

3.979

07.06.98

14:25

 

SVAUDIO.SYS

18,432

11/23/1992

08:22

 

 

 

 

 

VAUDIO.SYS

3,584

08/20/1992

05:02

 

 

 

 

 

WININST.BAT

277

11/23/1992

09:44




ACPA Construction
Brad Parker said:
   I know Audiovation sounds really good, and specs out good to, but I'm working on an audio related project that needs to run under Linux, so the ACPA series cards are my only real choice, unless you know of a OSS compatible Audiovation driver for Linux. 

   I Looked at both the M-ACPA/A and ARPA audio stages tonite and they are functionally identical (Think you said that on your page). 

   Four small transistors near the center are for the Microphone gain stage and are probably acting as an impedance matching circuit, the two small transistors near the top act as buffers for the line in stage. 

  Three additional gain blocks are made up of the three quad operational amplifiers marked TL084C, the C being CMOS. These are low noise, hi impedance devices that use bi-fet transistor technology internally. Each TL084 contains four Op-Amp devices. Generally they sound good and  can be considered an "upgrade" part. 

   The "speaker" outputs, and I use that term loosely, are powered by two LM386 power Op-Amps. They will drive headphones, but are not known for their fidelity. They could be bypassed, yielding a second set of line outputs. I'll poke around with an oscilloscope but I think the spot where the inputs come in through the coupling capacitors, marked C35 and C36 on M-ACPA and C15 and C17 on ARPA, looks likely. 

   I just noticed that ARPA only has 3 voltage regulators, while M-ACPA has 4. The LM 317 and LM 337 imply a dual rail power supply with a positive and a negative rail on the M-ACPA, while ARPA appears single ended. This could mean that M-ACPA has more dynamic range, greater output levels and less TIM distortion than ARPA. The 317/337 pair are adjustable, so I don't know what their output voltage is, but if I designed the thing, I'd tap the +/- 12 volt and regulate it 10 or 11 volts. 

ACPA Source
Brad Parker said:
   Been looking at the IBM ACPA source very carefully, trying to figure out how it works. I have noticed many very interesting details. Here's what  I think I know:

   ACPA works a lot like Mwave, in that there is a TI DSP that it is loaded with an operating system (ACPA OS?). This indicates that Mwave followed IBM's usual evolutionary, not revolutionary model. 

   The ACPA OS runs the programs that play, record and loopback. Dave Weis ported the OS and it loads and runs the playback program he also ported. There is only 8K of memory on it, so I don't think a Soundblaster emulation like Mwave's is possible. I'm going to add record capability by porting the record program module. 

   The card doesn't use interrupts, it reads and writes directly to I/O ports, MCA superiority at work. Looks like it can be treated as a block device which means that direct DAT record/playback (ala SGI) is possible. That's a job for whoever supports the mt utility. 

   The ACPA supports just about every sample rate I can think of, including a 48K professional format that was used with M-motion and would probably work with DAT and ADAT. ACPA also supports a mono 88K rate, which would make very good quality recordings. The only major one missing is the current 96K fad. Of course we are only recording with 16 bit resolution, not 20 or 24 bit like the modern stuff. Then again, they have to down convert to put it on a 16 bit CD. I read on the Pro Audio NG that bit rate and sample rate conversion is a big pain. The consensus there is to record at the sample rate and resolution of your target media, 16 bit 44.1 Khz, or for commercial reproduction, 16 bit 48 Khz 

   I think the most interesting thing I found out is that the original IBM driver supports up to 4 ACPAs concurrently! Keeps track of the separate stereo audio streams and everything. Very nice for my purposes. Don't think OS/2 every took advantage of that. Hopefully the Linux stuff will work out that way :-) 

   If I can pull this off, I'm going to attempt a port for Audiovation. I finally got a copy of the Mwave developer's kit. It's very Win 3.XX orientated, but the Soundblaster emulator might be ported to work with Linux directly, without all the dual boot monkey business that goes on now. 



AdapterId 06e6c  "ACPA/A"

Address Selection
   Base address of M-ACPA/A. Choose one which does not conflict with any other installed board.
    <"FDC0-FDC7">, FDC8-FDCF, FDD0-FDD7, FDD8-FDDF, Disable

Interrupt Selection
   Interrupt level.  Minimize amount of interrupt sharing by assigning other boards to different levels.
    <"Interrupt 3">, 4, 5, 6, 9, 10, 11, 12

9595 Main Page