Z89340
Digital Wavetable Engine
1-24 P R E L I M I N A R Y DS96DSP0201
OSCILLATOR PARAMETER BLOCKS (Continued)
Effects Send Control address C
Effects Attenuation(s) bits 0-5
These six bits control the amount of signal that will be sent
to the selected Effects Channel (bits 6-7). Since the signal
will be sent to two effects output channels if the Dual Effect
Sends bit in the Control Byte is set, the Effects attenuation
splits into two 3-bit attenuation values, with bits 0-2 as the
attenuation for the channel selected by the Effects Channel, and bits 3-5 as the attenuation for the subsequent
channel.
Effects Channel bits 6-7
These two bits are used to select one of four effects output
channels. These output channels can be used internally by
the Z89340, and they can also be sent to a DAC or CODEC. If the Dual Effect Sends bit in the Control Byte is set,
the signal will be sent to two effects channels, the one selected here and the subsequent channel.
Envelope rate address D
When ATFP selects Amplitude, Filter, or Pan:
Envelope Rate bits 0-7
With Amplitude, the eight bits of Envelope Rate are an unsigned exponential representation of the slope between
the amplitudes at the two envelope segment ends. This is
the rate that defines how long it will take to reach the end
amplitude, Amplitude Next. An interrupt is generated when
the segment end is reached, at which time the host CPU
will set up the next amplitude segment, supplying a new
Amplitude Next value and Envelope rate. A similar procedure is followed when ATFP selects Filter or Pan.
When ATFP selects Tremolo:
Tremolo Rate bits 0-3
The four bits of Rate are an unsigned exponential number
that give rates ranging from 0.1 to 10 Hz.
Tremolo Depth bits 4-7
These four bits specify depths of 1.5 to 24 decibels.
Amp/Filt/Pan Next address E
When ATFP selects Amplitude:
Amplitude Next bits 0-7
Amplitude is expressed in an unsigned logarithmic unit
called a hexadecibel or “hexabel” for short. The upper four
bits of the hexabel are a base-two exponent and the lower
four bits form the mantissa. There are 256 hexabel steps
in 96 decibels, so 2.667 hexabels = 1 decibel. At the initialization of a note, set Amplitude Now and Amplitude Next
with the endpoints of an amplitude envelope segment.
Also set the Envelope Rate. For subsequent amplitude en-
velope segments, only set Amplitude Next and Envelope
Rate, because Amplitude Now always equals Amplitude
Next at the end of an envelope segment.
When ATFP selects Filter:
Filter Tuning Next bits 0-7
Filter Tuning Next works in a way similar to Amplitude
Next.At the initialization of a filter envelop segment, set Filter Tuning value and Filter Tuning Next with the endpoints
of the filter envelope segment. Also set the Envelope Rate.
When ATFP selects Pan:
Pan Angle Next bits 0-5
Pan Next works in a way similar to Amplitude Next or Filter
Tuning Next, except that there are only six bits of pan position. At the initialization of a pan segment, set Polar Pan
Angle and Pan Angle Next with the endpoints of the pan
envelope segment. Also set the Envelope Rate.
Pan Direction bit 6
A 1 indicates counterclockwise rotation, and a 0 indicates
clockwise rotation.
Pan Continuous Loop bit 7
If this bit is a 0, an interrupt is generated to let the host CPU
know that the panning has completed. If this bit is set, pan
continues around this circle indefinitely. No interrupt is
generated when Pan Angle Next is reached.
Amplitude Now address F bits 0-7
(Refer to the previous discussion on Amplitude Next.) If
ATFP amplitude envelopes are not being used, this will be
the amplitude of the oscillator—a steady or sustained amplitude segment. Amplitude Now can be changed whenever desired; however, changing Amplitude Now more than
1 hexabel will usually cause a noticeable click. Even a 1
hexabel change will sometimes cause a click. To eliminate
clicks or zipper noise, use the amplitude envelope system.
Polar Pan Control address 10
Polar Pan Angle bits 0-5
There are four main output channels. The spatial location
among them is specified with a modified polar coordinate—a value of 16 is π/2 radians, 32 is π radians, 48 is
3π/2 radians, and so on.
Polar Pan Radius bits 6-7
The radius select is a two-bit number with 2 at the edge of
the circle and 0 near the center of the circle. A radius of 3
is reserved for stereo panning when only two output channels are needed. When the radius is 3, the following special values of Pan Polar Angle are defined: