ArticleslgStudy

computer science

POKEY

POKEY is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand POKEY rather than just read about it. In short: POKEY (Pot Keyboard Integrated Circuit) is a digital I/O chip designed by Doug Neubauer at Atari, Inc. for the Atari 8-bit computers. It was first released with the Atari 400 and Atari 800 in 1979 and is included in all later models and the Atari 5200 console.

POKEY — main illustration
POKEY — illustration

Key takeaways

  • POKEY belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect POKEY to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of POKEY from memory before moving on to harder problems.

Reference excerpt

POKEY (Pot Keyboard Integrated Circuit) is a digital I/O chip designed by Doug Neubauer at Atari, Inc. for the Atari 8-bit computers. It was first released with the Atari 400 and Atari 800 in 1979 and is included in all later models and the Atari 5200 console. POKEY combines functions for reading paddle controllers (potentiometers) and computer keyboards as well as sound generation and a source for pseudorandom numbers. It produces four voices of distinctive square wave audio, either as clear tones or modified with distortion settings. Neubauer also developed the Atari 8-bit killer application Star Raiders which makes use of POKEY features. POKEY chips are used for audio in many arcade video games of the 1980s including Centipede, Missile Command, Asteroids Deluxe, and Gauntlet. Some of Atari's arcade systems use multi-core versions with 2 or 4 POKEYs in a single package for more audio channels. The Atari 7800 console allows a game cartridge to contain a POKEY, providing better sound than the system's audio chip. Three licensed games make use of this: the ports of Ballblazer, Commando, and Tiger-Heli. The LSI chip has 40 pins and is identified as C012294. It contains about 5,000 transistors. The USPTO granted U.S. Patent 4,314,236 to Atari on February 2, 1982 for an "Apparatus for producing a plurality of audio sound effects". The inventors listed are Steven T. Mayer and Ronald E. Milner.

Features Audio 4 semi-independent audio channels Channels may be configured as one of: Four 8-bit channels Two 16-bit channels One 16-bit channel and two 8-bit channels Per-channel volume, frequency, and waveform (square wave with variable duty cycle or pseudorandom noise) 15 kHz or 64 kHz frequency divider. Two channels may be driven at the CPU clock frequency. High-pass filter Keyboard scan (up to 64 keys) + 2 modifier bits (Shift, Control) + Break Potentiometer ports (8 independent ports, each with 8-bit resolution) High Resolution Timers (audio channels 1, 2, and 4 can be configured to cause timer interrupts when they cross zero) Random number generator (8 bits of a 17-bit polynomial counter can be read) Serial I/O port Eight IRQ interrupts

Versions By part number:

C012294 — Used in all Atari 8-bit computers, including the Atari XEGS, and the Atari 5200 console. The suffix on the chip refers to the manufacturer: C012294B-01 — AMI C012294-03 — Signetics C012294-19 — National Semiconductor C012294-22 — OKI Semiconductor C012294-31 — IMP 137430-001 — Part number sometimes used in Atari arcade machines for POKEY. 137324-1221 — Quad-Core POKEY used in Atari arcade machines Major Havoc, I, Robot, Firefox, and Return of the Jedi. Atari used several different manufacturers for the chip, however AMI produced most of them in 1983 onward. Early chips were manufactured on a 5 micrometer process, this was later shrunk to 3 micrometers. AMI-produced POKEYs have been reported as having a high failure rate compared with other brands of the chip; the reasons for this are unclear, but speculated to be a fault of the chip packaging or bonding wires. Some limited success in reviving nonfunctional POKEYs by heating them in an oven has been reported. There also exist modern FPGA replacements such as POKEYOne.

Pinout

Registers The Atari 8-bit computers map POKEY to the $D2xxhex page and the Atari 5200 console maps it to the $E8xxhex page. POKEY provides 29 Read/Write registers controlling Sound, Paddle input, keyboard input, serial input/output, and interrupts. Many POKEY register addresses have dual purposes performing different functions as a Read vs a Write register. Therefore, no code should read Hardware registers expecting to retrieve the previously written value. This problem is solved for some registers by Operating System "Shadow" registers implemented in regular RAM that mirror the values of hardware registers. During the Vertical Blank the Operating System copies the Shadow registers in RAM for Write registers to the corresponding hardware register, and updates Shadow values for Read registers from the hardware accordingly. Therefore, writes to hardware registers which have corresponding shadow registers will be overwritten by the value of the Shadow registers during the next vertical blank. Reading values directly from hardware at an unknown stage in the display cycle may return inconsistent results (an example: reading potentiometers). Operating System Shadow registers for Read registers would usually be the preferred source of information. Some Write hardware registers do not have corresponding Shadow registers. They can be safely written by an application without the value being overwritten during the vertical blank. If the application needs to know the last value written to the register then it is the responsibility of the application to implement its own shadow value to remember what it wrote.

In the individual register listings below the following legend applies:

Audio Pokey contains a programmable sound generator; four audio channels with separate frequency, noise and voice level controls. Each channel has an 8-bit frequency divider and an 8-bit register to select noise and volume.

AUDF1 to AUDF4 – frequency register (AUDio Frequency) AUDC1 to AUDC4 – volume and noise register (AUDio Control) AUDCTL – general register, which controls generators (AUDio ConTroL) POKEY's sound is distinctive: when the four channels are used independently, there is noticeable detuning of parts of the 12-tone equal temperament scale, due to lack of pitch accuracy. Channels may be paired for higher accuracy; in addition, multiple forms of distortion are available, allowing a thicker sound. The distortion is primarily used in music for bass parts.

Audio Channel Frequency The AUDF* registers control the frequency or pitch of the corresponding sound channels. The AUDF* values also control the POKEY hardware timers useful for code that must run in precise intervals more frequent than the vertical blank. Each AUDF* register is an 8-bit value providing a countdown timer or divisor for the pulses from the POKEY clock. So, smaller values permit more frequent output of pulses from POKEY, and larger values, less frequent. The values $0hex/0dec to $FFhex/255dec are incremented by POKEY to range from $1hex/1dec to $100hex/256dec. The actual audible sound pitch is dependent on the POKEY clock frequency and distortion values chosen. See Audio Channel Control and Audio Control.

AUDF1 $D200 Write Audio Channel 1 Frequency

… excerpt ends here. Continue reading the full article.

Illustrations

POKEY illustration
POKEY: POKEY (C012294) pin-out
POKEY (C012294) pin-out

Worked examples

Example 1 — a first encounter with POKEY

Start with the simplest possible case. Write down what POKEY claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to POKEY before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about POKEY ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of POKEY

In research
POKEY appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses POKEY in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
POKEY is common in secondary-school and first-year university syllabi. It links to neighbouring topics Atari 8-bit computers, Computer-related introductions in 1979, Input/output integrated circuits, so understanding it makes those chapters shorter.
In everyday life
Look for POKEY outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study POKEY in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what POKEY means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain POKEY out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is POKEY in simple terms?

POKEY (Pot Keyboard Integrated Circuit) is a digital I/O chip designed by Doug Neubauer at Atari, Inc. for the Atari 8-bit computers. It was first released with the Atari 400 and Atari 800 in 1979 and is included in all later models and the Atari 5200 console.

Why does POKEY matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study POKEY?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on POKEY.

Tags

  • Atari 8-bit computers
  • Computer-related introductions in 1979
  • Input/output integrated circuits
  • Integrated circuits
  • Sound chips

Keep exploring