This article is a brief overview of the Sound Blaster card hardware
and how it works with the Multimedia Extensions to Microsoft Windows.
The following is a list of features that the Sound Blaster card
offers. Differences between the version 1.0 and version 1.5 boards are
noted where appropriate. Differences between the versions 1.x and
version 2.0 digital signal processors (DSPs) are also noted.
- 12-Voice Stereo C/MS Music
C/MS stands for creative music synthesizer. C/MS is a low-end
synthesizer that is compatible with the Game Blaster. As the name
implies, it synthesizes music by taking a basic waveform and
manipulating it (note that this is a generalization).
This particular synthesizer uses a technique called square wave
synthesis. It is similar to a synthesizer found in an inexpensive
toy; but the Sound Blaster does not have a keyboard attached.
Instead using of keys, notes are turned on and off by writing
commands to hardware registers on the Sound Blaster board.
When C/MS is marketed as having 12 voices, reference is being made
to the number of different sounds the C/MS synthesizer can play at
the same time (commonly referred to as "polyphony").
The Sound Blaster uses two C/MS chips, each with six voices. In
this way, the first chip can be assigned to the left channel and
the second chip can be assigned to the right channel. Thus, the
Sound Blaster can produce stereo sound.
The version 1.0 Sound Blaster board was shipped with the C/MS chip
set installed. However, Creative Labs removed the chips from the
version 1.5 board and sells the C/MS chips separately. The version
1.0 box sells the Sound Blaster as the "24-Voice All-in-One Sound
Card." The version 1.5 box shortened this to "The All-in-One Sound
Card" because they removed 12 of the "voices."
To determine if the C/MS chips are in place, run TEST-SBC.EXE. If
the chips are present, the features list will list them. The
Multimedia Extensions to Windows currently does not use the C/MS
feature.
- 11-Voice FM Music (AdLib Compatible)
FM stands for frequency modulation, which is how the sound is
produced. The Sound Blaster has 11 FM-voices (11 notes polyphony),
and unlike FM-stereo radio, the sound is mono only. FM-synthesis
produces slightly better sounds than square wave synthesis, which
is what the C/MS chip set does.
The Sound Blaster's FM synthesizer is "AdLib" compatible. AdLib is
the brand name of an FM synthesizer chip set; many different
companies (including Creative Labs) clone these chips. The AdLib
driver in Multimedia Windows will work with any AdLib-compatible
synthesizer, which, of course, includes the Sound Blaster.
- 1 Digitized Voice Channel
This can be called many things: sampled sound, digitized sound, and
so forth. The Sound Blaster refers to it as a digitized voice,
which is not the same as the voices mentioned above. The Multimedia
Extensions to Windows calls this digitized sound output "waveform
output," which is confusing because all sound is comprised of
waves! Digital enthusiasts call this pulse code modulation (PCM),
which is actually a more accurate title.
Digitized sound is real sound (human voice, music, effects, and so
forth) that is sampled and digitized with a digital-to-analog
converter (DAC). This is the same type of data stored on audio
compact discs (CDs); however, CDs have a much greater resolution
both in sample rate (44.1 KHz) and sample word size (12 to 16
bits).
PCM is a simple technique of encoding analog audio in a digital
format, where the waveform amplitude is sampled periodically (at
the sampling frequency) and stored as a number. The term "8 bit"
means that the stored number can have one of 256 discrete values;
12 bit has 4096 discrete values; and 16 bit has 65535.
The Sound Blaster has one mono 8-bit DAC that can be set to a
sample rate between ~4 KHz and ~23 KHz. This does not produce very
high quality but it can be fun none the less. Incidentally, this is
where that 24th voice of the version 1.0 card came from: 12 C/MS +
11 FM + 1 DAC = 24.
The Multimedia Extensions require a minimum of 11 KHz and 22 KHz
8-bit wave output, which the Sound Blaster can do.
Another interesting thing about the Sound Blaster is that it
supports three different adaptive differential pulse code
modulation (ADPCM) decompression ratios (as well as no compression)
in hardware. Below is a list of these ratios:
- 2 to 1 data compression: 4 bit ADPCM
- 3 to 1 data compression: 2.6 bit ADPCM
- 4 to 1 data compression: 2 bit ADPCM
This may be the only justification for Creative Labs's use of the
term digital signal processor (DSP) for its programmable logic
array (PLA). Keep in mind that the greater the ratio, the greater
the degradation in sample quality.
The Multimedia Extensions to Windows does not make use of ADPCM at
this time. Also note that Multimedia Windows uses the direct memory
access (DMA) mode of the Sound Blaster for recording and playing
digitized sound.
If a board with the versions 1.x DSP is installed and Multimedia
Windows is running in enhanced mode, a periodic click is audible
when playing a wave file. This is caused by interrupt latency,
meaning that interrupts are not serviced immediately. This causes
the Sound Blaster to click because the versions 1.x DSP produce an
interrupt when the current DMA buffer is exhausted. The click is
the time it takes for the interrupt to be serviced by the Sound
Blaster driver (which is delayed by the 386 enhanced mode of
Windows).
The click is still present in standard mode, although it is much
less pronounced because the interrupt latency is less. The click is
more pronounced for pure tones.
The version 2.0 DSP solves this problem by using the auto-
initialize mode of the DMA controller (the 8237). In this mode, the
DMA controller automatically reloads the start address and count
registers with the original values. In this way, the Sound Blaster
driver can allocate a 4K DMA buffer; using the lower 2K as the
"ping" buffer and the upper 2K as the "pong" buffer.
While the DMA controller is processing the contents of the ping
buffer, the driver can update the pong; and vice versa. Therefore,
when the DMA controller auto-initializes, it will already have
valid data available. This removes the click from the output sound.
However, the 386 enhanced mode of Windows 3.0 does not support the
auto-initialize mode of the DMA controller. Therefore, Multimedia
Windows provides a virtual device driver (VxD) called VADMAD.386
(virtual auto-initialize DMA device) that attaches itself to the
virtual DMA device (VDMAD). Its purpose, as the name implies, is to
support the auto-initialize mode of the DMA controller. However,
VADMAD.386 does not fully support this mode -- it was designed only
to correct the problem with the Sound Blaster. Because Windows 3.1
supports auto-initialize DMA, do not use VADMAD with Windows 3.1.
- Voice Input (Digital Sampling) Capability
This is more commonly referred to as a digitizer. The Sound Blaster
supports an 8-bit analog-to-digital converter (ADC) with a variable
sampling rate of ~4 KHz to ~12 KHz. The Multimedia Extensions to
Windows requires a minimum sampling rate of 11 KHz. This provides
sound quality approximately equal to that of normal voice phone
lines.
The Sound Blaster has a built-in microphone jack and amplifier with
auto-gain control (AGC) for direct input (sampling) of sound. The
microphone used should be ~600 ohms; AGC range 10 mV to 100 mV.
This translates to "an inexpensive, low-end microphone."
- Built-In Stereo Power Amplifier
The Sound Blaster has a built-in amplifier that provides a maximum
output of 4 watts per channel into a 4 ohm load. This is enough to
drive an inexpensive set of headphones or some "Walkman" style
speakers.
And although the output is "stereo," the ONLY thing that is truly
stereo on the Sound Blaster is the C/MS chip set (which Multimedia
Windows does not use). All of those neat sounds played in
Multimedia Windows are mono.
- Built-in Game I/O Port
This is a standard 15-pin D-Sub PC analog joystick adapter port.
The Sound Blaster allows two joysticks to be connected through this
port with the aid of a Y-cable (sold separately). The Multimedia
Extensions to Windows can be configured to use this as two normal
two-dimensional joysticks or one three-dimensional joystick.
The only confusing part is Creative Lab's use of "I/O" for this
joystick port. Joysticks are input devices only. The only output
that this port provides is for MIDI (see part 7 below); this must
be what Creative Labs was referring to.
- Built-in MIDI Interface
MIDI stands for musical instrument digital interface. Simply put,
this is a protocol for connecting intelligent musical instruments
and computers for the purpose of controlling the instruments in
real time.
To use the MIDI interface on the Sound Blaster, the MIDI connector
box is required (sold separately). It plugs into the joystick port
and has a pass-through for the joystick (so the joystick remains
available). The MIDI connector box gives one MIDI-in and five
MIDI-out connectors.
With the version 1.x DSP, the MIDI port can be used only in
half-duplex mode (one direction at a time). The version 2.0 DSP
allows full-duplex operation, which allows playing and recording
simultaneously (with the option of other accompanying instruments).
The MCI-sequencer in Multimedia Windows allows use of the MIDI port
or the AdLib (FM) synthesizer to play MIDI data. An external
synthesizer will probably sound much better than the AdLib
synthesizer and is therefore recommended.
Additional reverence words: 3.00 soundblaster