Atari POKEY (CO12294) Pinout — 4-Channel Sound, Keyboard, Paddle & SIO Chip

DIP-40 · Sound & Video · CO12294 / CO12294B

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

Technology NMOS
Operating Voltage +5 V +/-5% (VCC pin 17, VSS pin 1)
Audio Channels 4 independent 8-bit channels (or 2 x 16-bit channels) + polynomial noise counters on Pin 37 (AUDIO)
Keyboard Scanner 6-bit binary counter K0-K5 (Pins 18-23) + KR1 (Pin 29 Data) and KR2 (Pin 16 SHIFT/CTRL/BREAK)
Paddle Inputs 8 potentiometer discharge ADCs P0-P7 (Pins 10-15, 8, 9)
SIO Serial UART SID (Pin 24 RX), SOD (Pin 28 TX), BCLK (Pin 26), OCLK (Pin 27)

Full pin reference

Pin Name Group Direction Levels Description
1 VSS Ground Power 0 V System ground (0 V).
2 D3 Data Bus Bidirectional TTL Data bus bit 3.
3 D4 Data Bus Bidirectional TTL Data bus bit 4.
4 D5 Data Bus Bidirectional TTL Data bus bit 5.
5 D6 Data Bus Bidirectional TTL Data bus bit 6.
6 D7 Data Bus Bidirectional TTL Data bus bit 7.
7 PHI2 Clock / Timing Input TTL 1.79 MHz System Phase 2 clock input (1.79 MHz NTSC / 1.77 MHz PAL).
8 P6 (POT6) Analog Input RC ramp Paddle 6 potentiometer input.
9 P7 (POT7) Analog Input RC ramp Paddle 7 potentiometer input.
10 P4 (POT4) Analog Input RC ramp Paddle 4 potentiometer input.
11 P5 (POT5) Analog Input RC ramp Paddle 5 potentiometer input.
12 P2 (POT2) Analog Input RC ramp Paddle 2 (Joystick Port 2 Left Paddle) input.
13 P3 (POT3) Analog Input RC ramp Paddle 3 (Joystick Port 2 Right Paddle) input.
14 P0 (POT0) Analog Input RC ramp Paddle 0 (Joystick Port 1 Left Paddle) input.
15 P1 (POT1) Analog Input RC ramp Paddle 1 (Joystick Port 1 Right Paddle) input.
16 /KR2 I/O Input TTL, active low Keyboard Response 2 (reads SHIFT, CONTROL, and BREAK keys).
17 VCC Power Power +5 V +5 V main supply.
18 /K5 I/O Output TTL Keyboard scan counter bit 5 (MSB — drives CD4051 column multiplexer).
19 /K4 I/O Output TTL Keyboard scan counter bit 4.
20 /K3 I/O Output TTL Keyboard scan counter bit 3.
21 /K2 I/O Output TTL Keyboard scan counter bit 2 (drives CD4051 row multiplexer).
22 /K1 I/O Output TTL Keyboard scan counter bit 1.
23 /K0 I/O Output TTL Keyboard scan counter bit 0 (LSB).
24 SID I/O Input TTL Serial Input Data (from 13-pin SIO bus Pin 3 Data In!).
25 /KR1 I/O Input TTL, active low Keyboard Response 1 (main 64-key matrix return from CD4051 multiplexers).
26 BCLK Clock / Timing Bidirectional TTL clock Bidirectional Serial Clock (SIO Pin 1 Clock In/Out).
27 OCLK Clock / Timing Output TTL clock Serial Output Clock (SIO Pin 2 Clock Out).
28 SOD I/O Output TTL Serial Output Data (to 13-pin SIO bus Pin 5 Data Out!).
29 /IRQ Control Open-drain / open-collector Open-drain, active low Interrupt Request output to 6502C Pin 4 (Keyboard, SIO, and Timer interrupts).
30 CS0 Control Input TTL, active low Chip Select 0 (active low, mapped at $D200-$D2FF).
31 CS1 Control Input TTL, active high Chip Select 1 (active high; used on dual-POKEY stereo upgrades using A4!).
32 R/W Control Input TTL Read/Write input.
33 A3 Address Bus Input TTL Register address bit 3.
34 A2 Address Bus Input TTL Register address bit 2.
35 A1 Address Bus Input TTL Register address bit 1.
36 A0 Address Bus Input TTL Register address bit 0.
37 AUDIO Analog Output Analog audio 4-channel mixed audio output.
38 D0 Data Bus Bidirectional TTL Data bus bit 0.
39 D1 Data Bus Bidirectional TTL Data bus bit 1.
40 D2 Data Bus Bidirectional TTL Data bus bit 2.

Common uses and repair diagnostics

Designed by Doug Neubauer (who also programmed Star Raiders!), the 40-pin Atari POKEY (Potentiometer and Keyboard Integrated Circuit, part number CO12294) is one of the most versatile I/O and sound chips of the 8-bit era. In a single 40-pin DIP it packs: (1) a 4-channel square-wave + polynomial distortion audio synthesizer (combinable into two 16-bit precision channels!), (2) a 6-bit counter (K0-K5) that scans the 64-key keyboard matrix via two external CD4051 multiplexers, (3) eight 8-bit capacitor-discharge ADCs (P0-P7) for reading up to 8 Atari paddles, (4) a 17-bit polynomial random-number generator ($D20A RANDOM), and (5) the high-speed bidirectional UART driving the 13-pin Atari SIO peripheral bus!

Used in every Atari 8-bit computer (400, 800, 1200XL, 600XL, 800XL, 65XE, 130XE, XEGS), the Atari 5200, Atari 7800 cartridges (Ballblazer, Commando), and dozens of Atari arcade cabinets (Centipede, Millipede, Missile Command, Tempest, Star Wars, Major Havoc, Gauntlet, Return of the Jedi — many using Dual or Quad POKEYs!).

  • Wait before blaming POKEY for a dead keyboard! On the 800XL and 130XE, two cheap 16-pin CD4051 CMOS analog multiplexers (U18 and U19) sit between the keyboard and POKEY Pins 18-23 (/K0-/K5) and Pin 25 (/KR1). Static electricity blows the CD4051s far more often than POKEY!
  • If a 1050 disk drive or FujiNet/SDrive-MAX is ignored on the SIO port, check POKEY Pin 24 (SID) and Pin 28 (SOD) — and also check 6520 PIA Pin 19 (CB2 /COMMAND)!

Datasheets and references

Related chips

Theme Palette

Default Dark
High-contrast dark
Amber Terminal
Monochrome amber
Matrix CRT
Phosphor green
Workbench Light
Clean light mode

Audio & Display

Relay Click Sounds Web Audio API — soft mechanical clicks
CRT Scanline & Flicker Pure CSS overlay effect

System Info

Customization Panel Theme preference, audio FX, and CRT overlay settings are saved to your browser's localStorage and persist between visits. No cookies or server-side storage is used.
Keyboard Shortcuts Press Esc to close this panel. Use the header moon/sun icon to cycle themes.