The AY-3-8910/8912 is a register oriented Programmable Sound Generator (PSG). Communication between the processor and the PSG is based on the concept of memory-mapped I/O. Control commands are issued to the PSG by writing to 16 memory-mapped registers. Each of the 16 registers within the PSG is also readable so that the microprocessor can determine, as necessary, present states or stored data values. All functions of the PSG are controlled through its 16 registers which once programmed, generate and sustain thesounds, thus freeing the system processor for other tasks.
Conditioning of the Register Address Latch/Decoder and the Bidirectional Buffers to recognize the bus function required (inactive,
latch address, write data, or read data) is accomplished by the Bus
Control Decode block.
The function of each of the 16 PSG registers and the data flow of each
register’s contents are shown in context in Fig. 2 and explained in
detail in Section 3, Operation”. For reference purposes, the Register
Array details are reproduced in Fig. 3.
2.1.2 SOUND GENERATING BLOCKS
The basic blocks in the PSG which produce the programmed sounds
produce the basic square wave tone frequencies for each channel (A,B,C)
produces a frequency modulated pseudo
random pulse width square wave output.
combine the outputs of the Tone Generators
and the Noise Generator. One for each channel (A,B,C).
provides the D/A Converters with either a
fixed or variable amplitude pattern. The fixed
amplitude is under‘ direct ‘CPU control; the
variable amplitude is accomplished by using
the output of the Envelope Generator.
produces an envelope pattern which can be
used to amplitude modulate the output of
the three D/A Converters each produce up to
a 16 level output signal as determined by the
2.1.3 I/O PORTS
Two additional blocks are shown in the PSG Block Diagram which...