=========================================================
|| The Un-official Sound Blaster AWE32 Programming Guide ||
|| ||
|| by Vince Vu a.k.a. Judge Dredd ||
|| ||
|| V.1.0 September 28, 1995 ||
=========================================================
Table of Contents
-----------------
1. Last minute notes
I. Introduction
II. Understanding the registers
III. Detection
IV. Initialization
V. Sample uploading/downloading
VI. Playing a sample
VII. The registers
VIII. Effects Engine data.
IX. Other documents you should refer to.
1. Last minute notes
-----------------------
Yes, I know most of this is poorly written. (Thoughts not carefully
organized). But if you have any questions, of misunderstandings, or
difficulties, *mail me*.
I like getting mail. It helps feed my ego ;)
BTW Don't believe any of the b.s. Creative Labs says about the effects
engine on the EMU8000 not being programmable, because it is. Please
pester them to release info on the effects engine.
Greets:
Morbius My homie.
Thor Cool Hungarian dude that wrote AWEPlay
BLR BlazeRuner, long time no see.
Darron Myrick Here's the whole enchilada.
Mathias Hjelt Now, you can tweak your AWE32 to perfection.
Maybe...
And...
All the other guys, gals, neuters, etc... not mentioned.
I. Introduction
------------------
Mail all questions, comments, etc... to jdredd@netcom.com
Well, a month overdue, but its finally here. This guide will attempt to
describe in detail how to program the EMU8000 chip on the Sound Blaster AWE32,
directly. This past summer, I spent nearly a month, figuring out how to
program the EMU8000 on a low-level. And I succeeded. This is a compilation
of all that I figured out, and please, if you use this information in any
production, program, etc..., acknowledge me.
Why am I writing down and distributing my hard-earned knowledge? Well, after
reading an AWE32 in demos thread on comp.sys.ibm.pc.demos, I realized that the
best way to improve the AWE32's status would be to release a programming
guide.
This document will not cover Sound Blaster basics, only the EMU8000 sub-system
on the SBAWE32 card. If you need info on programming the OPL3, the DAC/ADC,
or the mixer then you need to refer to a SB16 programming guide.
Umm... please refer to the register list in section VII, when reading this
document, in case you have trouble with recognizing what register 0x5400 or
something else is.
The EMU8000 Specs:
32 Oscillators of 16-Bit, 44100Hz sound.
32 Megabytes of address space. The first 4 or reserved for ROM, and the last
28 are for RAM. Internally the EMU8000 only has 24-Bit address space. So
only 16-bit samples can be used.
3 Point sample interpolation.
1 Onboard Digital Effects Processor.
2 Low Frequency Oscillators' per oscillator.
2 DAHDSR Envelope Generators' per oscillator.
1 Resonant Filter per oscillator.
32 Independant reverb send levels for each oscillator.
32 Independant chorus send levels for each oscillator.
1 SP/DIF Digital Output.
Glossary:
EG1 Envelope Generator 1 (Filter/Pitch)
EG2 Envelope Generator 2 (Volume)
LFO1 Low Frequency Oscillator 1 (Pitch/Volume/Filter)
LFO2 Low Frequency Oscillator 2 (Pitch)
FilterQ Filter Resonance
Explaination of EG's:
Delay: The time before the attack, during which the envelope's
level stays at 0.
Attack: The time during which the envelope's level fades from
0 to peak.
Hold: The time before the decay, during which the envelope's
level stays at peak.
Decay: The time during which the envelope's level fades from peak
to the sustain level.
Sustain:The level at which the envelope stays before release.
Release:The time during which the envelope's level fades from sustain
to 0.
_
/ \ __
____/ \
^ ^ ^^ ^ ^
| | || | |
| | || | - Release Time
| | || ---- Sustain Level
| | | ------- Decay Time
| | ------- Hold Time
| ----------- Attack Time
---------------- Delay Time
(*** download for full text ***)