AY-3-8912: Difference between revisions

From Sinclair Wiki
Jump to navigation Jump to search
m (move to Audio category)
m (Fix typo: an -> and)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Hardware]]
[[Category:Hardware]]
[[Category:Audio]]
[[Category:Audio]]
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 2000 series|Timex Sinclair 2068]], but can also be found in several peripherals, such as the Fuller Box an the Melodik interface.
The '''AY-3-8912''' is a sound generator that is built-in on the [[ZX Spectrum 128K models]] and in the [[Timex 2000 series|Timex Sinclair 2068]], but can also be found in several peripherals, such as the Fuller Box and the Melodik interface. On the 128K models it also provides external I/O connections.


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. On the 128K/+2, reading from BFFDh will return the [[floating bus]] value as normal for unattached ports, but on the +2A/+3, it will return the same as reading from FFFDh. The Melodik interface uses the same ports as the 128K.
On [[ZX Spectrum 128K models]] the 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. On the [[ZX Spectrum 128]] and [[ZX Spectrum +2]], reading from BFFDh will return the [[floating bus]] value as normal for unattached ports, but on the [[ZX Spectrum +2A/2B, +3/3B|ZX Spectrum +2A, +3, +2B, and +3B]] machines, it will return the same as reading from FFFDh. The Melodik interface uses the same ports as the Spectrum 128.


On Spectrum-based machines, the AY chip is normally clocked at half the CPU clock. Melodik, the [[Timex 2000 series|TC2068]] and the Pentagon have an AY clocked at 1.75 Mhz. The [[Timex 2000 series|TS2068]]'s AY chip is clocked at 1.764 MHz. The Timex machines use different ports to the 128K.
On Spectrum-based machines, the AY chip is normally clocked at half the CPU clock. Melodik, the [[Timex 2000 series|TC2068]] and the Pentagon have an AY clocked at 1.75 MHz. The [[Timex 2000 series|TS2068]]'s AY chip is clocked at 1.764 MHz. The Timex machines use different ports to the 128.


Various peripherals, such as the Fuller Box, use different ports to any other interface. The Fuller Box is nominally clocked at 1.75 Mhz but suffers from contention problems.
Various peripherals, such as the Fuller Box, use different ports to any other interface. The Fuller Box is nominally clocked at 1.75 MHz but suffers from contention problems.
 
== Register map ==


The AY-3-8910 has 16 registers:
The AY-3-8910 has 16 registers:


{| border=1 cellpadding=1
{| class="wikitable" style="text-align:center;"
|Register||Purpose||Width||Notes
!Register!!Purpose!!Width!!Notes
|-
|-
|0||Channel A fine pitch||'''8''' bits
|0||Channel A fine pitch||8 bits
|-
|-
|1||Channel A coarse pitch||'''4''' bits
|1||Channel A coarse pitch||4 bits
|-
|-
|2||Channel B fine pitch||'''8''' bits
|2||Channel B fine pitch||8 bits
|-
|-
|3||Channel B coarse pitch||'''4''' bits
|3||Channel B coarse pitch||4 bits
|-
|-
|4||Channel C fine pitch||'''8''' bits
|4||Channel C fine pitch||8 bits
|-
|-
|5||Channel C coarse pitch||'''4''' bits
|5||Channel C coarse pitch||4 bits
|-
|-
|6||Noise pitch||'''5''' bits
|6||Noise pitch||5 bits
|-
|-
|7||Mixer||'''8''' bits
|7||Mixer||8 bits
|-
|-
|8||Channel A volume||'''4''' bits
|8||Channel A volume||4 bits
|-
|-
|9||Channel B volume||'''4''' bits
|9||Channel B volume||4 bits
|-
|-
|10||Channel C volume||'''4''' bits
|10||Channel C volume||4 bits
|-
|-
|11||Envelope fine duration||'''8''' bits
|11||Envelope fine duration||8 bits
|-
|-
|12||Envelope coarse duration||'''8''' bits
|12||Envelope coarse duration||8 bits
|-
|-
|13||Envelope shape||'''4''' bits
|13||Envelope shape||4 bits
|-
|-
|14||I/O port A||'''8''' bits
|14||I/O port A||8 bits
|-
|-
|15||I/O port B||'''8''' bits||(not used by AY-3-8912)
|15||I/O port B||8' bits||(not used by AY-3-8912)
|}
|}
== MIDI and RS-232 ==
I/O port A of the AY chip of 128K Spectrums is connected to a pair of I/O sockets, One designated RS232/MIDI and the other Keypad or Aux. Each port contains two input pins, two output pins, and 12 volt and ground rails. Communication protocols must be implemented by [[Wikipedia:Bit banging]] the pins.


== External links ==
== External links ==

Revision as of 22:19, 17 July 2017

The AY-3-8912 is a sound generator that is built-in on the ZX Spectrum 128K models and in the Timex Sinclair 2068, but can also be found in several peripherals, such as the Fuller Box and the Melodik interface. On the 128K models it also provides external I/O connections.

On ZX Spectrum 128K models the 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. On the ZX Spectrum 128 and ZX Spectrum +2, reading from BFFDh will return the floating bus value as normal for unattached ports, but on the ZX Spectrum +2A, +3, +2B, and +3B machines, it will return the same as reading from FFFDh. The Melodik interface uses the same ports as the Spectrum 128.

On Spectrum-based machines, the AY chip is normally clocked at half the CPU clock. Melodik, the TC2068 and the Pentagon have an AY clocked at 1.75 MHz. The TS2068's AY chip is clocked at 1.764 MHz. The Timex machines use different ports to the 128.

Various peripherals, such as the Fuller Box, use different ports to any other interface. The Fuller Box is nominally clocked at 1.75 MHz but suffers from contention problems.

Register map

The AY-3-8910 has 16 registers:

Register Purpose Width Notes
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)

MIDI and RS-232

I/O port A of the AY chip of 128K Spectrums is connected to a pair of I/O sockets, One designated RS232/MIDI and the other Keypad or Aux. Each port contains two input pins, two output pins, and 12 volt and ground rails. Communication protocols must be implemented by Wikipedia:Bit banging the pins.

External links

Article license information

This article uses material from the "AY-3-8912(a)" article on the ZX Spectrum technical information wiki at Fandom (formerly Wikia) and is released under the Creative Commons Attribution-Share Alike License.