The AY-3-8912 is a sound generator that is built-in on several 128 KB models of the ZX Spectrum and in the Timex Sinclair 2068, but can also be found in several peripherals, such as the Fuller Box an the Melodik interface.
The 128K's AY chip is clocked at 1.7734 MHz (to within 0.01%). Writing to port FFFDh (65533) selects a register, and reading from port FFFDh reads that register's contents. Writing to port BFFDh (49149) writes new data to the currently selected register. The Melodik interface uses the same ports as the 128K.
The TS2068's AY chip is clocked at 1.76475 MHz use different ports to the 128K.
Various peripherals, such as the Fuller Box, use differerent ports to any other interface.
The AY-3-8910 has 16 registers:
0 Channel A fine pitch 8 bits 1 Channel A coarse pitch 4 bits 2 Channel B fine pitch 8 bits 3 Channel B coarse pitch 4 bits 4 Channel C fine pitch 8 bits 5 Channel C coarse pitch 4 bits 6 Noise pitch 5 bits 7 Mixer 8 bits 8 Channel A volume 4 bits 9 Channel B volume 4 bits 10 Channel C volume 4 bits 11 Envelope fine duration 8 bits 12 Envelope coarse duration 8 bits 13 Envelope shape 4 bits 14 I/O port A 8 bits 15 I/O port B 8 bits (not used by AY-3-8912)