Pinout diagram
Used in Retro Machine Hubs
Click any system badge below to jump directly to its dedicated repair, schematic, and diagnostic Machine Hub:
Summary specifications
Full pin reference
| Pin | Name | Group | Direction | Levels | Description | Expected Signal |
|---|---|---|---|---|---|---|
| 1 | CHANNEL C | Analog | Output | Analog Audio (0–1 Vpp) | Channel C analog audio output (mixed to the Right stereo channel on the Amstrad CPC 464). | |
| 2 | TEST 1 | No Connect | Not connected | No connect | Factory test pin. Leave unconnected in circuit. | |
| 3 | VCC (+5V) | Power | Power | +5.0 V DC | Primary +5 V supply rail! Note the unusual location on Pin 3 (with GND on Pin 6). | |
| 4 | CHANNEL B | Analog | Output | Analog Audio (0–1 Vpp) | Channel B analog audio output (mixed equally into both Left and Right stereo channels on the CPC 464). | |
| 5 | CHANNEL A | Analog | Output | Analog Audio (0–1 Vpp) | Channel A analog audio output (mixed to the Left stereo channel on the Amstrad CPC 464). | |
| 6 | VSS (GND) | Ground | Power | 0 V | System ground reference (0 V) on Pin 6. | |
| 7 | IOA7 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 7. Reads CPC keyboard matrix bit 7. Descends from IOA7 (Pin 7) down to IOA0 (Pin 14). | |
| 8 | IOA6 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 6. Reads CPC keyboard matrix bit 6. | |
| 9 | IOA5 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 5. Reads CPC keyboard bit 5 and DB9 Joystick Fire 1 (Pin 7). | |
| 10 | IOA4 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 4. Reads CPC keyboard bit 4 and DB9 Joystick Fire 2 (Pin 6). | |
| 11 | IOA3 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 3. Reads CPC keyboard bit 3 and DB9 Joystick Right (Pin 4). | |
| 12 | IOA2 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 2. Reads CPC keyboard bit 2 and DB9 Joystick Left (Pin 3). | |
| 13 | IOA1 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 1. Reads CPC keyboard bit 1 and DB9 Joystick Down (Pin 2). | |
| 14 | IOA0 | I/O | Bidirectional | TTL (internal pull-up) | I/O Port A Bit 0 (LSB). Reads CPC keyboard bit 0 and DB9 Joystick Up (Pin 1). | |
| 15 | CLOCK | Clock / Timing | Input | TTL 1.0 MHz | Master sound generator clock input (1.0 MHz CCLK from Gate Array Pin 20 on the CPC 464). | |
| 16 | /RESET | Control | Input | TTL, active low | Active-low Reset input. Zeroes all 16 internal sound and I/O registers. | |
| 17 | A8 | Control | Input | TTL, active high | Active-high Chip Select pin (tied to +5V via pull-up resistor on the CPC 464). | |
| 18 | BDIR | Control | Input | TTL | Bus Direction control input (driven by 8255 PPI Port C Bit 7, Pin 10 on the CPC 464). | |
| 19 | BC2 | Control | Input | TTL | Bus Control 2 input (tied permanently HIGH to +5V on the Amstrad CPC 464). | |
| 20 | BC1 | Control | Input | TTL | Bus Control 1 input (driven by 8255 PPI Port C Bit 6, Pin 11 on the CPC 464). With BDIR selects Inactive (00), Read (01), Write (10), or Latch Address (11). | |
| 21 | DA7 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 7 (connected to 8255 PPI Port A PA7 on the CPC 464). | |
| 22 | DA6 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 6 (to 8255 PA6). | |
| 23 | DA5 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 5 (to 8255 PA5). | |
| 24 | DA4 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 4 (to 8255 PA4). | |
| 25 | DA3 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 3 (to 8255 PA3). | |
| 26 | DA2 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 2 (to 8255 PA2). | |
| 27 | DA1 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 1 (to 8255 PA1). | |
| 28 | DA0 | Data Bus | Bidirectional | TTL, 0 V / 5 V | Multiplexed Data/Address Bus Bit 0 (LSB, to 8255 PA0). |
Common uses and repair diagnostics
The General Instrument AY-3-8912 (and AY-3-8912A) is the compact 28-pin DIP version of the 40-pin AY-3-8910 Programmable Sound Generator, omitting Port B while retaining all three square-wave tone generators (Channels A, B, and C), the white-noise generator, the hardware envelope generator, and the 8-bit bidirectional parallel Port A (IOA0–IOA7 on Pins 14–7). In the Amstrad CPC 464, 664, and 6128 (IC102), the AY-3-8912 plays a critical dual role: in addition to generating stereo sound (Channel A = Left, Channel B = Center shared, Channel C = Right), its 8-bit Port A reads the keyboard matrix and DB9 joystick switches! Watch out for the non-standard power pins: VCC (+5 V) is on Pin 3 and VSS (GND) is on Pin 6.
Fitted as IC102 in the Amstrad CPC 464, CPC 664, and CPC 6128, as well as the Sinclair ZX Spectrum 128K, +2, +2A, and +3 (where IOA0–IOA7 also drive the RS-232/MIDI port). On the Amstrad CPC, the Z80A CPU never touches the AY-3-8912 directly on the main data bus; instead, the 8255 PPI (IC106) acts as a bridge, connecting 8255 Port A (PA0–PA7) to AY DA0–DA7 (Pins 28–21) and 8255 Port C Bits 7 & 6 (PC7, PC6) to AY BDIR (Pin 18) and BC1 (Pin 20).
Because the CPC keyboard and DB9 joystick lines connect directly to AY-3-8912 Pins 7–14 (IOA7–IOA0) without buffer chips, Electrostatic Discharge (ESD) or hot-plugging a Sega Mega Drive controller (which drives +5V into the port) frequently blows one or more IOA input bits — causing specific keys or joystick directions to stick or die completely while sound still plays!
- Verify +5.0 V on Pin 3 (VCC) and 0 V on Pin 6 (VSS) — do NOT probe Pins 14 and 28 expecting standard corner power!
- Scope Pin 15 (CLOCK) for a clean 1.0 MHz square wave from the Gate Array.
- If the CPC 464 internal speaker is silent, test the side 3.5mm STEREO headphone jack first (or scope Pins 1, 4, and 5 while running SOUND 1,200,100,15) — a tarnished 3.5mm jack cut-off leaf switch is 10x more common than a dead AY-3-8912.
- If specific keys or joystick directions repeat endlessly or refuse to register even with the keyboard membrane unplugged, measure DC voltage on Pins 7–14 (IOA7–IOA0): every pin should sit near +5 V via its internal pull-up. Any pin reading <1.5 V with the keyboard disconnected indicates a shorted input transistor inside the AY-3-8912.
Datasheets and references
- GI AY-3-8910 / AY-3-8912 Programmable Sound Generator Data Manual (PDF)
- CPCWiki — Amstrad CPC AY-3-8912 PSG Register & I/O Reference