[About] - [Download] - [FAQ] - [Music Files] - [Documentation]


(Hss) FXsynth datasheet:

FX Synth Data:
WaveModulation

byte
'Wav 'Len 'Fre 'Vol
$00, $FF, $06, $0F,
'LFO 'LFW 'FMa 'AMa
$09, $FF, $04, $05
Envelope

byte
'Att 'Dec 'Sus 'Rel
$F1, $F4, $F0, $0F
Sequencer Data (16 Steps)
byte optional



'Wav (Waveform)
Selects the audio waveform used in playback.
Can range from 0 to 6.
0 = Sine (0 to 500hz)
1 = Fast Sine (0 to 1,000hz)
2 = Sawtooth (0 to 500hz)
3 = Square (0 to 1,000hz)
4 = Fast Square (0 to 4,000hz)
5 = Buzz (0 to 1,333hz)
6 = Noise


'Len (Length)
Sets duration for audio to sound. (One-Shot)
$00 = Shortest duration before gating off.
...
$FE = Longest duration before gating off.
$FF = Infinite (Never gate off).


'Fre (Frequency)
Sets base frequency of audio waveform.
Can range from $00 to $FF.
$00 = Lowest frequency.
...
$FF = Highest frequency.


'Vol (Volume)
Sets master playback volume for sound.
Can range from $00 to $0F.
$00 = Mute
$01 = Very quiet
...
$08 = Half volume
...
$0F = Full volume


'LFO (Low Frequency Oscillator)
Sets speed of LFO used for modulation.
Can range from $01 to $FF.
$01 = Fastest speed
...
$FF = Slowest speed


'LFW (Low Frequency Waveform)
Selects the LFO waveform used in modulation.
Can range from 0 to 5 or be set to $FF.
$00 = Sine (0 to 8hz)
$01 = Fast Sine (0 to 16hz)
$02 = Ramp Up (0 to 8hz)
$03 = Ramp Down (0 to 8hz)
$04 = Square (0 to 32hz)
$05 = Random
$FF = Sequencer Data

'FMa (Frequency Modulation Amount)
Sets the amount of frequency modulation applied to audio from LFO.
Can range from $00 to $FF.
$00 = No modulation
$01 = Greatest amount of modulation.
...
$FF = Smallest amount of modulation.


'AMa (Amplitude Modulation Amount)
Sets the amount of amplitude modulation applied to audio from LFO.
Can range from $00 to $FF.
$00 = No modulation
$01 = Greatest amount of modulation.
...
$FF = Smallest amount of modulation.


'Att (Attack)
Sets the attack rate of the envelope.
Can range from $00 to $FF.
$00 = Never attack.
$01 = Slowest attack rate.
...
$FF = Fastest attack rate.


'Dec (Decay)
Sets the decay rate of the envelope.
Can range from $00 to $FF.
$00 = Never decay.
$01 = Slowest decay rate.
...
$FF = Fastest decay rate.


'Sus (Sustain)
Sets the sustain volume of the envelope.
Can range from $00 to $FF.
$00 = Mute
$01 = Very quiet
...
$FF = Full volume


'Rel (Release)
Sets the release rate of the envelope if sfx_keyoff() command is issued.
Can range from $00 to $FF.
$00 = Never release.
$01 = Slowest release rate.
...
$FF = Fastest release rate.


Sequence Data (optional)
Sequence Data can be used to create complex modulation patterns.
The data is stored as 16 bytes appended at the end of a FXsynth data block.
When (LFW) is set to $FF a 16 step pattern will be used for modulation instead of a waveform.
Sequence Data can be omitted from the data block if not used.