Audio over the MCA Bus
74F30 8 input NAND gate
LM386 Audio Op Amp

Audio Subsystem Block Diagram
Audio Source for Audio Over MCA
Speaker Power

Common Sound Circuits?
  On the 95 and 90, look next to the operator panel header or the power switch header and you will notice the small LM386 Audio Op Amp and a 74F30 8 input NAND gate.

Driving Linear Amp Input Node
The audio subsystem is a speaker driven by a linear amplifier.  The linear amplifier input node can be driven from the following sources: 

Tone Generator (timer 2) output Enabled using bit 1 of I/O port 0061h set to 1.  (For information about timer 2 see Programmable Timers.) 
GATE 2 is controlled by bit 0 of System Control Port B. 
CLK IN 2 is driven by a 1.193-MHz signal. 
CLK OUT 2 has two connections. One is to input port hex 0061, bit 5. CLK OUT 2 is also logically ANDed with port hex 0051, bit 1 (speaker data enable). The output of the AND gate drives the "Audio Sum Node" signal. 

System Channel, using the 'audio sum node' signal. 

Audio Subsystem Block Diagram

   Each audio driver must have a 1200-ohm source impedance, and a 7.5-kilohm or greater impedance is required for each audio receiver. Volume control is provided by the driver.  Output level is a function of the number of drivers and receivers that share the AUDIO line. 

The logic ground is connected to AUDIO GND at the amplifier. 
Placing components between pins 1 and 8 on the 74F30 sets the gain. I'd like to figure out where the signal comes from... One should be the audio connector on the MCA bus.... 

  Single channel analog audio signal . Synthesized voice or music generated on a Micro Channel adapter can be routed as a complex analog waveform directly to the amplifier and speaker inside the computer. The Micro Channel allows expansion cards on the channel to exchange and independantly process audio signals.

Audio Signal Group
   Consists of an analog voltage sum node and an audio ground.

Audio Sum Node (Signal pin B02)
   Used for communication of audio signals between devices on the bus or to the system speaker.
  Frequency range 50Hz to 10kHz, +/- 3db. Maximum analog noise level is 50mV. Analog signal amplitude is 2.5V peak-to-peak with a DC offset of 0 +/- 50 mV.

Audio Gnd (Signal Pin B01)
   Used as the audio ground return signal.

Audio Source for Audio Over MCA
Peter said:
   On MCA systems the audio signals supplied by certain cards (M-ACPA namely) is sampled on the bus on the auxiliary audio channel and fed to the onboard audio amplifier. Therefore the ACPA *does* playback sounds via system speaker even with no external speakers connected. At least OS/2 supports this feature. 

   Main problem with the faint beeps on later machines is the tiny SMD-version of the LM386M (or compatible) audio amplifier they used - along with a SMD 47µF (or similarly small) output capacitor and pretty high input resistors. That adds to a mere whisper rather than a real good beep at all. The audio amplifier is good for 0.5W output - enough to beat the crap out of these 8 Ohms "Taiwan" speakers - but the signal is dampened too much on the input side ... and the tiny output capacitor cannot transfer the required energy to the speaker.

   For the always curious: on the 95A board the audio amp sits bottom / left at position U5, close to panel and FDD connectors. I *think* the 220µF cap C26 is the output capacitor, but I haven't verified that. So the output stage should have reasonable good energy transfer. I'm going to analyze the rest of the audio amp later.
   Mod. 56s have the LM-386 towards the rear of the planar. The output cap is at the underside - a 22µF at the underside of the board if I have tracked it correctly. Bah. Way too small. The sound is not throttled ... it is *strangled* by the circuit design.
   On MCA systems the audio signals are sampled on the MCA bus and fed to the audio amplifier. Therefore a M-ACPA is capable to produce sound output via the system speaker with no external speakers connected. 

Speaker Power
Don Hills wrote:
>But on some machines the beep is rather faint.

This is for a good reason...

   Back in the days of the PC-AT, I was intrigued by a driver that played WAV files (or their precursors) over the internal speaker. I found some technical details and wrote my own, learning a lot about the PC timer chip in the process. PC-AT systems had a good speaker and plenty of drive to it, as did the first series of PS/2 systems (50/60/70/80). The M30s didn't have a speaker as such, just a tiny (1 American cent) size "squeaker". Later models had progressively more wimpy sound systems.

   I think the reason the beep started out loud and got fainter in succeeding models was that in the first machines, there was no affordable alternative for producing sounds. Games, in particular, benefited from a good speaker system, even for the limited range of effects that could be achieved. Trouble was, customer feedback said that too loud a "beep" wasn't welcome in corporate applications. So as sound cards became available for those who really wanted sound, the volume of the internal speaker dropped to a suitable level for "corporate" beeps. It was cheaper to do this than put in a volume control.

   I still have all the code (for real mode DOS) for driving internal speakers, and the sound card option for the original 10 MHz 286 PS/1 systems, and the Disney Sound Source, and the basic "resistor network on the parallel port" sound adapter. I'll make a distribution of it if anyone's interested. 

9595 Main Page