Phaser1 - ZX Spectrum beeper music engine
by Shiru 03'10
1tracker version by Shiru 07'15



Two channel engine with one channel of phasing synth with customizeable 
instruments and one channel of square tone. Also supports either 
synthesized drums, or pre-defined 'digital' (sampled) drums. 

The phasing synth consist two square tone generators, both change output 
state, producing more complex waveform. The synth controlled by three 
parameters, all of them affect the second generator only. 'Multiple' 
defines frequency of the second generator, relative to the first (0=the 
same, 1=twice of the first, etc). 'Detune' introduces difference between 
the generators, producing phasing effect. 'Phase' allows to set phase on 
start of the generator, which only occurs if 'phase reset' used (at 
start of the song, or using Reset column of the first channel). Don't 
forget to reset the phase with every change of the instrument, otherwise 
you'll get combination of settings of the previous and new instruments, 
which will produce unexpected sound. 

Although the engine does not have volume control, you can imitate PWM 
volumes on the first tone channel, using Multiple=0 Detune=0 Phase<128. 
Lower value for Phase makes the volume lower, and also affects to the 
timbre, making it thinner. 


To switch between synthesized and sampled drums, put cursor to the drums 
or speed column, then go to the instrument editor. Instrument 1 needs to 
be selected to make this option available. 


The columns are:

Sp T1 RIn T2  D
.. ...... ... .
   |    | | |
   +-ch1+ ch2

Sp : Speed, 1..99

T1,T2 : Tone channels
 Tn : Note, C-1..B-5
  R : Phase reset (use with a new note, 1 to reset)
 In : Instrument, 1..99
 
 D : Drum, 1..8
