Why Use Hardware Envelopes?
One may think, what is any upside of hardware envelope? Well, it’s somewhat independent of tone/noise generators, and since it goes so high in frequency, it can be used melodically! This guide explains how to make best use of the AY/SAA envelope.AY-3-8910 / AY8930
Setup
In the instrument editor:Configure Waveform Macro
Add a single tick to the “Waveform” macro with only
envelope turned on. This will disable any output, but don’t worry.Setting Envelope Period
You can set the envelope period in two ways:- Manual control: Use
23xxand24xxeffects (envelope coarse and fine period) - Auto-envelope: Use
29xxauto-envelope period effect and macros
Auto-Envelope
Auto-envelope works via numerator and denominator:- Higher numerator = higher envelope pitch
- Higher denominator = lower envelope pitch
Envelope Shapes
Depending on the “Envelope” macro value, different envelope shapes can be obtained:- Shape 8: The most basic one is a sawtooth wave
- Direction: Inverts the envelope, producing the reverse sawtooth
- Alternate: Produces an interesting pseudo-triangular wave, similar to halved sine. This can also be reversed
- Hold: Disables the envelope
SAA1099
SAA envelope works a bit differently from the AY envelope:- It doesn’t have its own pitch; instead, it relies on the channel 2/5 pitch
- It has many more parameters than the AY envelope
Setup
To use the SAA1099 envelope:Configure Waveform Macro
Go to waveform macro and add a single tick set to 0 (unless you want to have a square wave mask).
Configure Envelope Macro
Set up an envelope macro. Turn on:
enabledloop- Depending on the desired shape:
cutanddirection Resolutionwill give you higher pitch range than on the AY
Examples
Here are some examples of hardware envelope usage:Demoscene-type Beat by Duccinator
Example of AY envelope in a demoscene-style track.
Philips SAA1099 Test by Duccinator
Demonstration of SAA1099 envelope capabilities.
Touhou Kaikidan: Mystic Square title theme by ZUN
Rare instance of AY envelope used for drums - it can be used to mask the noise generator output too.
