
Description of funtions
All functions of the SSG are controlled by the 16 internal registers. The CPU
need only write data to the internal registers of the SSG. The SSG itself
generates the sound. Sound is generated by the following blocks:
Music generator: Square waves having a different frequency are generated
for each channel (A,B and C)
Noise generator: Pseudo-random waveforms are generated (variable frequency)
Mixer: Music and noise output are mixed for the three channels
(A,B and C)
Level control: Constant level or variable level is given for each of the
three channels (A,B and C). Constant levels are
controlled by the CPU, and variable levels by the
envelope generator.
Envelope generator: Generates various types of attenuation (single burst
attenuated and repeated attenuation)
D/A convertor: Sound is output on each of the three channels (A,B and C)
at the level determined by the level control.
The CPU can read the contents of the internal registers with no effect on
sound.
Register Array
A9 A8 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0
0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
\______________________/\_____________/
Upper addresses Lower addresses
(chip select) (register select)
Of the ten bit address, the lower addresses DA3 ~ DA0 are used to select the
16 internal registers(register array). The upper addresses are used for chip
selection. A9 and A8 is programmed to 01 while DA7 through DA4 are set to
0000. When the upper addresses match this program in the address mode, a
register address (lower four bits DA3 through DA0) is fetched from the
register address latch. When the value set is in the upper addresses is
different from the program value, the bidirectional bus formed from DA7
through DA0 is driven to high impedance. A register address which has been
fetched is retained until the next address is fetched, and is not affected
by the read, write, or inactive mode.
Register Array
B7....B0
R0 Frequency of Channel A 00000000 8 bit fine tone adjustment
R1 ----0000 4 bit rough tone adjustment
R2 Frequency of Channel B 00000000 8 bit fine tone adjustment
R3 ----0000 4 bit rough tone adjustment
R4 Frequency of Channel C 00000000 8 bit fine tone adjustment
R5 ----0000 4 bit rough tone adjustment
R6 Frequency of Noise ---00000 5 bit noise frequency
R7 I/O port and mixer iinnnttt i-I/O, n-Noise, t-Tone
settings bacbacba
R8 Level of channel A ---mllll m-Mode, l-Level
R9 Level of channel B ---mllll m-Mode, l-Level
RA Level of channel C ---mllll m-Mode, l-Level
RB Frequency of envelope 00000000 8 bit fine adjustment
RC 00000000 8 bit rough adjustment
RD Shape of envelope ----cath c-Cont, a-Att, t-Alt, h-Hold
RE Data of I/O port A 00000000 8 bit data
RF Data of I/O port B 00000000 8 bit data
Version: v005
21
Date: 22.05.2012