Changes

Jump to: navigation, search

PSG

1,005 bytes added, 13 September
* Microchip AY-3-8912 [https://www.cpcwiki.eu/imgs/c/cf/AmstradCPC464_Z70375_MC0044D_GA40010_PCB_Top.jpg Source]
* Microchip AY38912/P [https://www.cpcwiki.eu/imgs/5/5e/CPC464Plus_MC0122B_2700-016P-3_PCB_Top.jpg Source]
 
<br>
== PSG Registers ==
Otherwise (when using the built-in speaker), all three channels are mixed at the same intensity. This signal appears to be also sent to the Tape output line also, so a connected Data Recorder could be used to record CPC music also.
 
<br>
== Noise Generator ==
The random number generator of the 8910 is a 17-bit shift register. The input to the shift register is bit0 XOR bit3. Bit0 is the output. This was verified on AY-3-8910 and YM2149 chips.
 
<br>
== D/A converter table ==
See [https://www.cpcwiki.eu/forum/technical-support/amstrad-cpc-volume-decibel-table/ Discussion on the forum]
 
<br>
== Block Diagram ==
*[[File:PSG Block Diagram.png]]
 
<br>
== Schematics ==
The BC2 and A8 pins are always equal to 1 as they are connected to +5V.
The /A9 pin is non-existent on the AY-3-8912 model.
 
<br>
 
== Chip Variants ==
 
The PSG chip family is composed of 3 variants: the AY-3-8910 with two 8-bit I/O ports, the AY-3-8912 with one 8-bit I/O port and the AY-3-8913 with no I/O port.
 
Yamaha produced a derivative SSG (Software-controlled Sound Generator) chip family. The main difference between the SSG and the PSG is that the internal volume control of the D/A converter has 32 levels instead of 16.
 
The SSG has also been integrated as a component inside every chip of the Yamaha OPN family.
 
The AY-3-8930 is an evolution of the AY-3-8910:
* The pulse width can be changed from square to four other duty cycles
* There are 3 independent envelope generators, 1 for each channel
* The amplitude control is more accurate (5-bit instead of 4-bit)
* The tone period setting is more accurate (16-bit instead of 12-bit)
* The noise period setting is more accurate (8-bit instead of 5-bit)
* The noise tone can be changed by applying an AND and OR mask to the output
 
<br>
== Datasheet ==
8,304
edits