AWE tech - a look under the cover
Written by Mathias C. Hjelt
V2.0 - 18 Sep 95
This page is like a second part of the
"short introduction to
the AWE hardware". It gives a more detailed description of various
things on the AWE - the EMU, the Effects Engine, the CSP, the S/PDIF output,
and more. Note that this still isn't a complete guide to the AWE, so far I've
only written about things that I guess many still don't (but should) know.
The EMU 8000
Those who have examined their AWEs closely, have probably noticed that there
is no chip labeled EMU 8000 to be found anywhere on the board. There is a small
one called EMU-8011 (CT1972), which has made some people believe that this is the
actual synth chip, but it isn't. The EMU 8000 is a much larger chip which Creative
has called CT1971. The role of the 8011 is not completely known to me, but it
seems likely that it contains the synth DAC or something like that, since the
EMU 8000 itself only has got digital outputs.
The EMU 8000 is said to be based on a chip that E-mu Systems use in their
real samplers/synths. However, since this chip very likely is nothing but one
big DSP (just like any dumb synth chip), it could be that the microcode (i.e.
the program that it runs) has been changed quite a bit to fit Creative's
requirements. For example, the chip itself could probably output data wider than
16 bits (most modern synths and samplers have more than 16 bit wide outputs, since
the internal data paths often run at 20 or more bits), but the EMU 8000 (at least
the way it is set up on the AWE), does only let out 16 bits.
Here's a block diagram of the EMU 8000. The original came from Creative
Technology, the guys who ought to know quite a lot, and it was published in
Electrical Engineering Times in the spring of '95, under the title: "Custom
audio DSP tailored for SoundBlaster cards - Creative Technology draws 150 Mips
from EMU 8000 to generate 10 emitter sounds at once".
The most interesting bit of it are the two digital inputs, especially that
about one of them being hooked up to an A/D, but it's not sure that this is
how the EMU is implemented in the AWE.
The connection between the EMU and the OPL3
When Creative designed the AWE, they obviously figured that it'd be a waste of
money and components to put in a separate DAC for the FM music, as there already
were two other DACs on the board - one for the wave audio, and one for the EMU.
To get around this, they connected the output of the OPL3 to the EMU, which not
only saved them one DAC, but also introduced features like reverb & chorus on
the FM music.
It is very likely that the OPL3 is connected to one of the digital audio input interfaces
of the EMU. As soon as FM sound is required, the EMU 8000 is set to a special state, which
makes two EMU operators read data from the input interface instead of the sample memory
interface (it looks like they're looping a 32-word are at the end of the address space,
but this is probably just how the input interface is accessed). Since these operators are
very regular EMU operators, their data is mixed with the rest of the EMU stuff, and
is thus available both at S/PDIF digital output and the synth DAC, along with the EMU
music.
Under DOS, it's possible to set up reverb and chorus effect for the FM music - the effect
levels of the passthrough operators are simply determined by the parameters that the user
passes to AWEUTIL. In theory, it should be very possible to have effects on the FM music
under Windows too - I just can't think of any explanation for why it shouldn't be - and I really
don't know why there (currently) is no support for that. Creative moves in mysterious ways,
you know.
Effects or not, the FM passthrough costs you two operators. Only 30 are left for EMU music.
As long as these two operators are reserved, the AWE makes double use out of them by letting
them refresh DRAM at the same time. Making the operators do DRAM-refreshing dummy sample memory
accesses while fetching data from the digital audio input interface is obviously possible thanks
to the flexibility of the EMU.
The Effects Engine
The Effects Engine is a DSP that is a part of the EMU 8000 synthesizer, and in
fact, it is probably the same DSP that the EMU consists of. It's perhaps just
another part of the code. In any case, as an effects processor, it is capable of
processing a stereo signal, obviously at a sampling frequency of 44.1kHz.
Creative Labs only provide algroithms (i.e. codes that the Effects Engine runs) for reverb,
chorus (both integrated into the same code, along with an equalizer) and QSound. Although it
in theory is possible to download custom algorithms to the Effects Engine, we're stuck with
the current ones until Creative or EMU releases some programming info - without any ideas of
how the Engine works or what kind of DSP code it uses, it's impossible to write new algorithms for it.
However, it's not impossible to control its operation. The Reverb & Chorus algorithm has got
parameters that can be controlled by software, and by modifying these it's possible to change
the characteristics of the reverb and chorus. When you pick one of the eight available reverb
or chorus variations in the AWE Control Panel, the driver supplies the card with parameters that
produce the requested type of effect. Currently (18 Sep 95) there are still no public programs
that would allow you to change these parameters individually and manually, but if things turn
out well, it should soon be possible to create custom effects even under Windows.
The chorus part of the algorithm is a typical delay/time-based effect. Bascially it's just a
delay which can be modulated to produce chorus/flanging/vibrato/phasing. The delay time, feedback level
and modulation depth can be controlled individually. Moreover, in addition to this basic stuff, the
chorus part can also do a number of simple reverb-like effects, let be short and metallic, but these
extra features are never used with the eight currently available chorus variations. For the real reverb,
you can change stuff like decay time, and in addition to that it can be set up to do traditional delay
effects.
In QSound mode, i.e when you've selected QSound effect type in the AWE Control Panel, there are
no (known) parameters that can be controlled directly by the user. The pan position of each sample
is either directly or indirectly used for producing the QSound effect.
The ASL - Audio Spatialization Library, available in the latest DOS API in the new ADIP - does not use
the Effects Engine to produce the simulated 3D effects. It's all done by tricking with regular EMU
operators.
The ASP / AdSP / CSP
First off, the CSP is just a new name for the chip that used to be called
ASP. The reason for this change of name is that there is another company
called ASP, and Creative wanted to avoid confusion. Some people call
it AdSP. In any case, this is Creative's Advanced (Digital) Signal
Processor that is available on SB16 ASP and the AWE 32 (not VE). Plain
SB16 and AWE32 VE cards have empty sockets for it, and the chip itself
costs something like $50.
The CSP is a 16-bit fixed-point DSP (digital signal processor) that
processes the information on the wave audio channel (both input and
output). Typical applications include real-time compression and decompression
of digital audio, speech synthesis, and other relatively simple functions.
Creative also provide algorithms for QSound on outgoing stuff.
A developer kit for making new CSP algorithms is available for those
who can afford it. However, applications using custom algorithms -
or even worse, applications using the CSP at all - are rare. Since no
other companies have compatible signal processors on their cards, no
software designers care to take advantage of this chip because so few
users can enjoy the stuff anyway (the CSP is said to be an industry standard
DSP, but what model is unknown, as well as its programming interface, so
other soundcard developers have so far avoided it totally). So before you
decide to upgrade your AWE32 VE or SB16 or whatever with a CSP, think twice.
Speech synthesis is funny for the first couple of days, but is it really
worth the price?
The DSP
The thing that some people insist on calling "DSP" is actually nothing
but the CODEC (wave audio DAC and ADC chip - COder & DECoder), so you
may say that even the original Sound Blaster 1.0 had a "DSP". The
acrynom DSP usually means Digital Signal Processor, but the only
"processing" that CL's "DSP" does is simple real-time ADPCM compression.
They call it "DSP" anyway, other companies call it CODEC. Don't mix
this with the ASP / CSP or Effects Engine.
The SIMM slots
The AWE musician's greatest joy are the two SIMM slots that are available
on the card (not VE), since these can provide the EMU 8000 with additional
sample memory, and thus, longer and better sounding instruments.
The SIMMs must be 30-pin ones, but there are no restrictions regarding
their chip configuration, so both 2, 3, 8 and 9-chip ones should work
fine (parity bit obviously not needed). An access time of 80ns or less
is recommended (the on-board 512kB DRAM, TC 514256AJ-70, is 70ns), and someone
reported that a pair of 100ns ones worked for 15 minutes or something like
that. The SIMM slots must be populated with two modules of the same type and
size, and both slots must always be filled.
Since SIMMs usually are 1MB, 4MB or 16MB, you can extend your AWE's RAM
to 2MB, 8MB or 28MB (someone reported that he had seen ads for 2MB SIMMs,
but those are very rare). One of the most frequently asked questions
regarding these SIMMs is "why only 28MB when 2 x 16 is 32?". The answer is
that the EMU 8000 only can address 32MB of memory altogether, and
a 4MB chunk of this address space is reserved for the on-board sample
ROM, so only 28MB are left for RAM. The ROM itself is, however, only 1MB.
Technically speaking, the ROM space starts at address 0, and the SIMMs (or
the on-board RAM in case no SIMMs are installed) start at $400000 (or $200000
if counting 16-bit words instead of bytes).
The SIMM memory is enabled using J7. When this jumper is moved, the on-board
512kB RAM is disabled. So when you purchased the card, you paid for 512kB
of memory which won't be used if you put in a pair of SIMMs. (To avoid this
waste of memory, Creative removed the on-board RAM from the new SB32.)
Some people love to scream about this - a total of 4.5MB is wasted when you
use two 16 MB SIMMs, oh how terrible..! You think that's reason enough for
purchasing a card with a maximum RAM limit of 1MB or 12MB instead, right?
Then go ahead and do it, and stop foaming.
S/PDIF - the digital output and the standard
The coolest thing on the AWE (next to the SIMM slots) is the digital
audio output, found on the jumper-like connector J8. On earlier AWE's (that
is, the ones without IDE interface), the connector is located between U14,
a small surface-mounted chip, and X3, the 40Mhz X-tal for the EMU stuff.
This digital signal comes right from the EMU's output interface, which means that it
contains the sound produced by the synth, the OPL and the Effects Engine - no
more and no less than that. No wave audio channel, no CSP, no noise.
We should be very happy about the fact that this output is S/PDIF compatible.
I mean, Creative could just as well have came up with a brand new standard of
their own which no other devices but their own support. But as it now is, finding
stuff that reads the AWE's digital output isn't that hard. S/PDIF stands
for Sony/Phillips Digital InterFace, a standard that is supposed to be a "consumer"
version of the professional AES/EBU (Audio Engineering Society / European Broadcast
Union) standard. Both use biphase mark encoding which produces a signal with
a bandwidth of 5..10MHz (depending on the sampling frequency). According to
the standard specifications, AES/EBU uses a 5V differential signal while S/PIF is
supposed to run as a 0.5V unbalanced signal, but the AWE's S/PDIF output is
as a matter of fact a 5V signal, which can be shoved through TTL gates and similar
stuff without problem.
A S/PDIF signal contains stereo data which usually is 16 bits wide, running at any
sampling frequency, usually 32..48kHz, along with various control codes and flags.
The AWE does of course (unfortunately) output 16-bit 44.1kHz data, which is not
copy protected (yep, a digital signal can be copy protected - if a certain flag
is enabled, you will only be able to copy an original, not a copy - in case your
receiving device follows the rules).
One curious and important thing about AWE's S/PDIF output, is that the
J8 pin is labeled "1" (i.e. the one closer upper edge of the card, at least on
non-IDE versions) is actually a ground pin, while the one that is marked as "0"
(ie the one that is closer to the huge CT1971 chip) in fact is the one that carries
the S/PDIF signal. Make sure you don't shortcut the signal to ground when putting
in a S/PDIF connector in the rear of your machine. It could be rather unhealthy.
The on-board memory
The built-in General MIDI patch set is stored in a 1MB ROM on the card.
This chip, TMS 45160DZ, is located close to the SIMMs, and seems to be
far from easy to replace without appropriate tools. It may sound stupid
to even think about replacing the ROM of a card that can be expanded to
28MB, but the catch is that it could be possible to insert a 4MB EPROM
instead of the old 1MB one since 4 megs of the EMU's address space are
reserved for the ROM anyway, and this way you could get all 32MB in use.
However, this would not be an easy operation since 2 more bits of the
address bus would have to be captured from some other chip, in order to
be able to access the memory in the 3 new megs of the ROM.
The on-board RAM is a TC 514256AJ-70, which obviously is a 512kB 70ns DRAM
chip. It looks just like the ones on regular SIMMs, and could in fact
be used as one.
The patch data that resides in these two chips (and in the SIMMs, of course)
is not compressed. The SBK-files on your harddisk could be compressed
if the drivers supported it, but as soon as they are to be sent to the
AWE, decompression would be necessary. As far as I know, there is no hardware
capable of decompressing sample data in the EMU 8000 subsystem. This is
both good and bad. Good: your samples don't run through lousy & lossy compression
algorithms that reduce sound quality. Bad: the 1MB GM ROM samples really
are only 1MB.
The MIDI (joystick) connector
In the early days, there was a lot of discussion regarding the AWE's MIDI
connector. Some claimed that the MIDI interfaces of previous Sound Blasters
wouldn't work with the AWE since the AWE uses CMOS levels instead of TTL,
while some claimed that it worked allright. However, it seems like most
MIDI interfaces work just fine with the AWE, so there should be no need
to worry about that. Making your own interface is also possible.
Note to those who it may concern: the 5V power supply pin of the
15-pin combined joystick & MIDI connector is not power-limited. The tiny
surface-mounted resistor that is supposed to limit the power breaks
(literally) when loaded to heavily.
The board
The AWE's board is multi-layered, so it is rather difficult to trace things
on it. Do-it-yourself folks, note: doing modifications that involves
cutting stuff on the top or bottom layer is risky since the middle-layer
traces can accidentally be damaged. So be really careful when doing such
stuff.