Sound Chip Synth v1.02 1996 Electronic Cow

** UPDATE NOTE **
V1.01: fixes all the bugs pertaining to window handling and redraws. 
Edit window automatically opens, and the MIDI routine is much improved.
V1.02: fixes bugs in object handling (buttons and sliders)
Last modified 12th November 1996

This program is Sort-Of-Shareware (register it if you like, it only costs a 
postcard!).Please feel free to distribute this copy of Sound Chip Synth, but 
please don't:
* Feature this program on any compilations or cover-mounts without
first writing to the author at the address below
* Edit and amend the program in any way.
* Steal any bits from it...

Nasty disclaimer...
Whilst the program has been tested on a number of Ataris (Mega 
STe, STacy, Falcon, and STFM), I cannot be held responsible if Sound 
Chip Synth causes you any loss, consequential or otherwise, to your 
system. Having said that (nasty legal stuff), I have tested it with lots 
of software and hardware: Blow Up, T28e accelerator, NVDI, 
Geneva, Let 'em Fly, and Maus Window, and it works fine (having some 
difficulty with MagiC at the moment, though!)... 

System Requirements:
Any Atari with 512k RAM or more, running in a screen resolution of 
640x400 (or greater). The Falcon version should use 16 colours, but 
you can run in mono if necessary (it'll look awful...). You'll also 
need some means of hearing the sound chip (either through the 
monitor, or better, a pair of computer speakers, and a MIDI 
keyboard. The latter is not required to run the program, but some 
functions will not be available otherwise.

Operating Guide:
When the program loads, choose either New or Open... in the file 
menu to begin editing. Example patches are provided. Sounds can 
be played in three ways: using the speaker icon in the main edit 
window, by pushing [p] on the Atari keyboard, or by playing a note 
on a connected MIDI keyboard.

Main edit window:
Oscillator:
The sound chip has three square wave tone and a noise generator 
(patched into all three of the PSG's sound channels). In the 
Oscillator box of the main window, it is possible to select any 
combination of noises (the waveform picture) or tones (the sine 
wave picture), to form a composite noise. The letter in the icon 
denotes the sound channel.

Tuning:
Although the actual note of the sound is controlled using a MIDI 
keyboard, these sliders can adjust the pitch by cents, for detuning 
effects. Setting the sliders to 0 (halfway), cancels the effect.

Volume:
These sliders control the volume of the three sound channels. Thus, 
slider one controls the amplitude of tone and noise A, and so forth. 
Setting the slider to 0 has the same effect as switching off both the 
tone and noise on that channel. Setting the slider to maximum, 
forces the PSG to use the wave shape (below) for the tone's 
amplification, instead of a constant tone. When the Status button is 
switched on (more below), these settings are completely ignored.
 
Wave Shapes:
In this box you can set the shape of the waveform. This waveform is 
then used as an amplitude shaper, when a tone's volume control is 
set to maximum. Experimentation is the best example of these 
shapes.

Wave Period:
This slider alters the period (the time it takes to complete a single 
cycle of the waveform - read a physics book for more information!) 
of the selected wave shape. Smaller settings of around 5 - 25 
produce rapid changes (a setting of 0 is very weird!), whilst setting 
the slider to maximum has a much more subtle effect.

Noise Period:
This setting alters the pitch or coarseness of the noise generator. 
Setting this slider to 0 produces a fine noise, whilst 100 produces a 
deep, coarse tone.

Sound Length:
Sensibly enough, this controls the sound's total length in seconds (0-5).

Envelope Generator:
This entire function, comprising nine controls, allows you to shape 
the sound's amplitude over time, much more thoroughly than the 
wave shape can. In order to switch on the envelope generator, the 
status button must be highlighted. When it is off, the settings are 
still stored, but are ignored when playing. The sliders, AT, DT, Sus, 
and RT, control the times between the level markers, and L1, L2, L3, 
and L4, set the levels for these markers. As with the volume controls, 
setting Ln faders to maximum, invokes the wave shape, rather than 
the constant tone (very useful for odd warbles right in the middle of 
a sound). If you're not familiar with synthesis (particularly on the 
Roland D-series synths, which this design has been modelled on), then 
experiment... (L1 and T1 need to be more than 0 for it to work!)

^T -  Set Preferences:
Most of these settings will only be of use if you're using a MIDI 
controller keyboard. You can press [Esc] to cancel, or [enter]/[return] to 
confirm choices...
MIDI channel: 
Sets the MIDI channel that the sound chip responds to.

Enable Program Change:
Switching this function to on will allow you to play chords, or 
produce other tonal effects with a MIDI keyboard. When program 
change #1 is set (on the controlling device), all three of the 
channel's pitches will be affected. Prg ch #2, and only tone A is 
affected, #3 and only tone B, #4 and only tone C. Any other 
program change will have the same result as #1.

Assign Mod. Wheel:
This function allows you to control certain parameters in Sound Chip 
Synth, with a modulation wheel on a MIDI synth:
Wave Depth - alters the period of the waveform by remote control.
Noise Depth - alters the period of the noise generator (making it 
more coarse). 
Main Volume - controls all three of the channel's volume settings. 
Pushing the modulation wheel to maximum will make the PSG use 
the waveforms for amplification of the tones.

Save on Closing:
When the main edit window is closed, the patch cannot be re-edited
or saved. This function automatically calls the file selector, 
allowing you to save the patch, ready to re-edit later on. This is 
only really useful if you're using Sound Chip Synth in a 
multi-tasking environment, where you may need the window out of 
the way (or if you're clumsy with the mouse).

Load and Save Preferences: 
By saving the preferences as SYNTH.INF (in the same folder as the 
program), you can have Sound Chip Synth load each time, with 
these settings. Of course, you can save the *.INF file as anything 
else too, it just won't be loaded at start-up (you can load them, 
using Load Preferences instead...).

Saving patches - *.SYN files only take up 86 bytes of storage space, 
so lots can be saved on one disk. Use Save as... ([control]+[s]) in the 
file menu, or click on the disk icon (the one with the arrow pointing 
inwards, toward the disk), to save a file.
Loading patches - Use Open... ([control]+[o]) in the file menu, or 
click on the second disk icon (the one with the arrow poiting away 
from the disk), to open a patch. Example files are provided.
New ([control]+[n])- either re-sets the patch, or if no window is 
open, opens a window ready for editing.
Undo ([Undo]), unsurprisingly, undoes the last edit made to a patch. 
It will even undo after you've loaded a new file, or selected new.


For more information on the Yamaha YM-2419 chip, I recommend 
these books:
The Atari Compendium (now on CD-ROM!)
Atari ST Graphics & Sound (Abacus) - very old and possibly 
unavailable
68000 Programmer's Reference (Glentop)

To register your copy of Sound Chip Synth:
Send the disk you got it from (PD, or otherwise), or a disk with it on, 
alongside your pleasant postcard, and details to:
Electronic Cow, Danny McAleer,
350 Broadwater Crescent, Stevenage, Hertfordshire, SG2 8EZ.
All letters will be answered within two weeks (Postal strikes and 
privatisation pending!) Comments, and cash, are more than welcome.
Please send a disk, because I've not got barrels of money...
Registered users will be notified by post of any improvements to the 
program.

* Advert *
Now available from Electronic Cow:
Sound Chip Synth v2.09 - FM synthesiser, complete with five eight-stage 
envelope generators (including noise and wave modulation), built-in 
keyboard, and AVR sample export! Priced 10 (plus 1.50 p + p). Version 2.11 
will be available from 30th November (updates are free!).
