Fact-checked by Grok 2 weeks ago

POKEY

The POKEY (an acronym for and ) is a custom digital input/output developed by in the late 1970s, primarily serving as the main I/O controller in the company's 8-bit computer line. It integrates functions for matrix scanning via six output lines and two sense inputs, reading eight analog ports through 8-bit counters, I/O with configurable framing and clocking modes, three programmable 8-bit s, and an 8-bit generator derived from a 17-bit . Additionally, the chip provides eight (IRQ) sources, including events, data reception, and break detection, all manageable via software registers. A defining feature of the POKEY is its four semi-independent audio channels, each equipped with an 8-bit (configurable for 16-bit resolution by pairing channels), 4-bit volume control via an internal DAC, and distortion options including pure tones, filtered from 5-bit or 4-bit polynomials, and high-pass filtering. These channels operate at selectable clock rates—typically 1.79 MHz (), 64 kHz, or 15 kHz—enabling a range of square wave frequencies from approximately 31 Hz to 895 kHz (), which contributed to the characteristic audio in early video games. The chip's audio output, combined with its I/O versatility, made it essential for multitasking in resource-constrained systems, supporting debounced key input for up to 64 keys and measurements timed to video scan lines for analog controls like joysticks. Introduced with the and 800 computers in 1979, the POKEY became a core component across 's 8-bit ecosystem, including the XL/XE series, the game console, and select cabinets like those using the Atari System 1 architecture. Operating on a 5 V supply within 0–70 °C temperatures, it was fabricated using NMOS technology with 40 pins in a package, balancing complexity and cost for . Its enduring legacy persists in retro computing, projects, and modern recreations via FPGA implementations that replicate its precise timing and audio behaviors.

History and Development

Design and Invention

The POKEY chip was invented by engineer Doug Neubauer at Atari, Inc., with layout verification conducted on September 10, 1978, as part of the development of the Atari 8-bit family of home computers. Neubauer, who joined Atari after working at National Semiconductor, took over and finished the design of this custom VLSI integrated circuit, which combined multiple input/output functions previously handled by discrete components. The chip's name derives from its core roles in handling potentiometers (POT) for analog game controller inputs and keyboard (KEY) scanning. The primary motivation for POKEY's creation was to consolidate various peripheral interfaces and audio generation into a single chip, reducing manufacturing costs, board space, and power consumption in cost-sensitive early home computing systems. This integration addressed limitations in prior hardware, such as the simple sound circuit in the , by enabling more sophisticated multimedia capabilities within a compact design suitable for consumer products. By late 1977, engineering meetings had finalized key specifications for POKEY alongside other custom chips like ANTIC and , prioritizing efficiency for the upcoming Atari 400 and 800 models. Initial design goals centered on providing four independent audio channels for sound synthesis, support for scanning up to keys in an for input, serial I/O interfaces for peripherals like disk drives and printers, and a based on feedback shift registers shared with the audio system. These features allowed POKEY to multitask efficiently under software control from the system's 6502 processor, enhancing both interactivity and audio expressiveness without dedicated external hardware. Aspects of POKEY's integrated architecture for audio sound effects and I/O were protected by U.S. Patent 4,314,236, filed in 1979 and granted to on February 2, 1982, with inventors listed as Steven T. Mayer and Ronald E. Milner. The patent describes a system using variable clocks, digital noise generators, and amplitude-shaping controls to produce diverse effects like explosions and tones, directly aligning with POKEY's multifunctional design.

Release and Early Adoption

The POKEY chip was released in November 1979 as an integral component of 's first home computers, the Atari 400 and Atari 800, which marked the company's entry into the personal computing market. Designed by Atari engineer Doug Neubauer, the chip provided essential generation and capabilities for these systems, enabling advanced audio features and peripheral support in a compact . Early production of the POKEY was handled by American Microsystems, Inc. (AMI), utilizing a process with approximately 6-micrometer design rules typical of late-1970s fabrication. This manufacturing approach allowed to scale production for the initial run of 400 and 800 units, which began shipping shortly after the November launch. AMI's involvement ensured reliable supply for 's burgeoning home computing lineup. In 1982, the POKEY was adapted for Atari's entry into the home console market with the SuperSystem, released in November of that year, where it handled four-channel sound synthesis and controller input processing. This reuse of the computer-derived architecture facilitated quicker development and compatibility with existing software assets, though the console's design emphasized video game-specific optimizations. The POKEY's 40-pin DIP package presented design considerations for layout in the space-constrained Atari 400 and motherboards, necessitating precise routing to accommodate its extensive I/O and audio functionalities without compromising system integrity.

Applications

Atari Home Systems

The POKEY chip served as a core component in 's 8-bit home computers and consoles, providing essential sound synthesis, analog input handling for paddles and joysticks, and scanning capabilities. It was integrated into models such as the Atari 400, , 600XL, 800XL, 1200XL, XE series (including the XEGS), and the console, where it managed real-time audio generation through four semi-independent channels capable of producing square waves, , and volume-modulated tones over a wide range spanning approximately five octaves or more when configured appropriately. In these systems, POKEY digitized analog signals from up to four controller ports, converting paddle positions into 8-bit binary values for precise game input, while also scanning the matrix to detect key presses and transmit position data to the CPU. POKEY interfaced closely with the ANTIC display processor and GTIA color/luminance chip via the shared 8-bit data bus (D0-D7) and low-order address lines (A0-A3), enabling coordinated system operations. Specifically, it routed audio outputs directly to the internal speaker and TV modulator for /sound transmission, while handling analog reads from joysticks and paddles independently of ANTIC's graphics DMA and GTIA's playfield rendering. This integration allowed for seamless multitasking, such as generating sound effects during display updates without interrupting . Most home systems featured a single POKEY chip in their standard configuration, as seen in the Atari 400 and , to support basic mono audio and I/O needs. Aftermarket upgrades for models like the enable a dual-POKEY setup for stereo sound output with eight channels total, typically via soldered additions or cartridge expansions. The console similarly employed a single POKEY mapped to a dedicated page (E800-E8FF) for controller and audio functions tailored to its cartridge-based architecture. POKEY's capabilities significantly influenced software development, particularly in enabling immersive real-time audio and input handling in early titles. For instance, the 1979 game leveraged POKEY for algorithmic sound synthesis of engines, explosions, and alarms, combined with paddle controls for navigation, creating a benchmark for interactive home computing experiences on the 400 and 800.) This integration fostered a library of games and applications that exploited POKEY's timers and for dynamic effects, enhancing the platform's appeal in the early home computing market.

Arcade and Console Extensions

The POKEY chip found widespread application in Atari's arcade machines during the early 1980s, providing audio generation and input handling for titles such as (1980), (1980), and (1981). In these games, POKEY delivered digitized sound effects, polyphonic tones, and for gameplay elements, often configured in multi-chip setups to expand audio channels beyond the standard four per chip. For instance, employed two POKEY chips to achieve richer sound layering, while later arcade titles like (1983), (1983), (1983), and Major Havoc (1983) utilized quad-chip configurations—either a single integrated quad-POKEY (part number 137324-1221) or four discrete chips—for up to 16 independent audio channels, enabling complex polyphonic scores and effects in vector-based environments. A specialized variant of the POKEY, designated 137430-001, was developed specifically for arcade implementations, appearing in games like (1984) and Space Duel (1982). This version supported clock rates typically ranging from 1.2 MHz to 1.79 MHz, adapted to the specific arcade system's master oscillator, similar to the 1.79 MHz standard in home systems, allowing for faster processing in demanding coin-operated setups. It also facilitated multiple instances per circuit board, with designs accommodating up to four chips in parallel for enhanced without excessive board space, as seen in the quad-POKEY arrangements. These adaptations ensured reliable performance under the variable power and environmental conditions of arcade cabinets. In the console, released in 1986, POKEY appeared as an optional -mounted component to augment the system's primary TIA (Television Interface Adaptor) audio chip, which was limited to two basic square-wave channels and simple noise generation. Titles like (1987) relied entirely on a POKEY for all music and effects, producing four-channel polyphonic audio that far exceeded TIA capabilities. Similarly, (1988) integrated POKEY for background music and melodies while reserving TIA for sound effects and percussion, creating a hybrid audio experience that compensated for the console's hardware constraints without requiring built-in modifications. Only these two official releases employed this -based POKEY approach, highlighting its role in bridging arcade-quality sound to home gaming. Technical adaptations for arcade and console extensions emphasized external clocking and to suit coin-operated and environments. In arcade boards, POKEY received an external master , often derived from the system's 1.79 MHz oscillator, enabling precise timing for audio and I/O without reliance on internal generation./arcade/atari_docs/pokey_datasheet.pdf) via the SKCTL allowed ports to with external devices, such as potentiometer-based controls in or multi-chip audio chaining in quad setups, ensuring low-latency input processing in noisy arcade settings. For the 7800, POKEYs used the console's expansion bus for with the TIA, avoiding conflicts while delivering independent audio streams. These features made POKEY versatile for commercial deployments, prioritizing robustness over the integrated simplicity of home system designs.

Modern Recreations and Replacements

In response to the reliability issues plaguing original AMI-manufactured POKEY chips, such as internal failures leading to sound distortion or complete malfunction, enthusiasts have developed revival techniques including controlled heating with stations to around 320°C for 3-4 minutes, which can reflow defective connections and restore functionality in up to 70% of cases as reported in restoration communities. Drop-in replacement chips, such as custom-fabricated CO12294 equivalents offered by Best Electronics, provide pin-compatible alternatives using modern silicon processes, ensuring long-term reliability with a 90-day and priced at approximately $30 per unit. FPGA-based recreations have emerged as versatile solutions for restoration projects; for instance, the POKEYOne, developed by David Shuman and released in 2019 with a V2 update by 2020, implements the full POKEY functionality—including four-channel audio synthesis, potentiometer reading, and serial I/O—on a Lattice iCE40 FPGA, offering drop-in compatibility for arcade and home systems at a cost of $75. These FPGA clones are integrated into contemporary retro computing hardware, such as platform's Atari 8-bit and 7800 cores, where open implementations of POKEY handle authentic sound generation and I/O timing for cartridge-based games like . As of 2025, open-source cores for POKEY, such as those in the JTFRAME framework by Jotego, enable custom builds supporting over 1,000 titles with dual-POKEY configurations for enhanced audio, distributed freely on for community modifications.

Technical Specifications

Core Features

The POKEY chip serves as a multifunctional , combining audio synthesis, input handling, and timing capabilities in a single package for 8-bit computers and related systems. At its core, it provides four independent audio channels, each supporting square wave generation, polynomial-based , and multiple modes to enable versatile sound production, including tones, , and filtered effects. These channels allow for dynamic audio output used in games and applications, with control over , , and to create complex soundscapes. In addition to audio, POKEY incorporates essential features, including an 8-bit for bidirectional data transfer at rates up to 19,200 and eight dedicated analog inputs using 8-bit s to measure RC discharge times for reading variable resistors, such as those in joysticks or paddles, yielding values from 0 to 228. It also supports scanning of a -key matrix through six output lines and two sense inputs, enabling efficient polling of up to 64 switches in a standard 8x8 grid configuration. A , driven by a 17-bit , provides 8-bit random values for applications like game logic or . For timing and event management, POKEY includes four programmable 8-bit (or paired 16-bit) countdown timers, each capable of generating interrupt requests (IRQs) upon underflow, supporting precise delays, event scheduling, and synchronization across system operations. The chip operates from a 1.79 MHz base clock derived from the system's 3.58 MHz colorburst crystal oscillator, with selectable divisions (e.g., 64 kHz or 15 kHz) for flexible resolution in audio and timer functions. Packaged in a 40-pin dual in-line (DIP) format for easy integration, it runs on a 5 V supply with a typical power consumption of around 625 mW (125 mA at 5 V). The integrated design of potentiometer and keyboard functions streamlines analog and digital input processing within the same device.

Versions and Variants

The POKEY chip was first produced in 1979 under the part number C012294 for use in Atari's 8-bit home computers, fabricated using a 5 μm NMOS process by manufacturers including American Microsystems, Inc. (AMI). The initial die measured approximately 179 by 159 mils, reflecting the technology of the era. Subsequent production involved multiple vendors, including Synertek and , to meet demand in the Atari ecosystem, with an estimated total of several million units manufactured given the over four million Atari 8-bit systems sold. AMI-fabricated versions were noted for higher failure rates compared to others. For arcade applications, a specialized variant designated 137430-001 was developed by Signetics, enabling quad-audio support in systems like those requiring multiple sound channels. Another configuration, the 137324-1221, facilitated multi-chip setups for enhanced audio in . Over time, evolved with shrinks to improve cost efficiency and density, reducing die sizes from the original dimensions while maintaining ; for example, later Synertek runs achieved 3 μm scaling. The POKEY also appeared in the console, utilizing the standard C012294 variant.

Pinout and Electrical Interfaces

The POKEY chip is housed in a 40-pin (DIP), designed for integration into Atari 8-bit computer motherboards and compatible systems. It employs TTL-compatible input/output interfaces, operating on a single 5 V ±5% (4.75 V to 5.25 V), with a maximum supply current of 125 mA under full operating conditions. The chip's pins support bidirectional data exchange with the host processor, analog input handling for potentiometers, digital scanning for keyboards, , audio output, and signaling, all synchronized to the system clock. Key pins include the phase 2 clock input (φ2) on pin 7, which operates at 1.79 MHz for systems to drive internal timing and audio generation. Serial I/O is handled via dedicated pins: serial input (SID/SERIN) on pin 24, serial output (SOD/SEROUT) on pin 28, bi-directional serial clock (BCLK) on pin 26, and serial output clock (OCLK/ACLK) on pin 27, enabling asynchronous communication with peripherals like disk drives. The output (IRQ, active low) on pin 29 signals the CPU for events such as timer overflows or serial availability. Audio output is provided on a single pin (AUD) at pin 37, which delivers a mixed from the four internal channels, typically connected directly to a or speaker amplifier in systems; this open-collector output requires an external (e.g., 10 kΩ) and can source/sink currents up to approximately 50 mA per effective channel at full volume when loaded appropriately. The pinout configuration emphasizes the lower-numbered pins (1–20) for core I/O functions: pin 1 (Vss/ground), pins 2–6 and 38–40 (D3–D7, D0–D2 for the 8-bit bidirectional data bus), pin 7 (φ2 clock input), pins 8–15 (P6–P1, P0–P7 for potentiometer inputs, supporting analog-to-digital conversion via internal RC timing), pin 16 (KR2/!KS2, keyboard row sense input), and pin 17 (Vdd/+5 V supply). Pins 18–23 provide keyboard column scan outputs (K5–K0, active low), facilitating matrix scanning for up to 64 keys. The POKEY connects to the system bus via its D0–D7 data pins and A0–A3 address inputs (pins 33–36), allowing register access within a 16-byte address space. Higher pins handle control signals: pins 30–31 (CS0, !CS1 for chip select, active low), pin 32 (R/!W for read/write control), pins 24–29 as noted for serial and interrupt, and pin 37 for audio.
PinNameTypeFunction
1Vss (0 V)
2–6D3–D7I/OBidirectional data bus (upper bits)
7φ2InputPhase 2 system clock (1.79 MHz )
8–15P6, P7, P4, P5, P2, P3, P0, P1InputPotentiometer inputs (analog, RC-timed counter-based)
16!KS2/KR2InputKeyboard row sense (active low)
17Vdd+5 V supply
18–23!K5–!K0OutputKeyboard column scan outputs (active low)
24SID/SERINInputSerial input data
25!KS1/KR1InputKeyboard row sense (active low)
26BCLKI/OBi-directional serial clock
27OCLK/ACLKOutputSerial output clock
28SOD/SEROUTOutputSerial output data
29!IRQOutput (active low)
30CS0InputChip select 0 (active high)
31!CS1Input 1 (active low)
32R/!WInputRead/write control (high for read)
33–36A3–A0InputAddress inputs (4-bit)
37AUDOutputMixed audio output ()
38–40D0–D2I/OBidirectional data bus (lower bits)
Electrical characteristics ensure compatibility with logic families: input high voltage (VIH) minimum 2.0 V, input low voltage (VIL) maximum 0.8 V; output high voltage (VOH) minimum 2.4 V on data bus (with 3.2 source current) and up to 4.3 V on outputs (no load); output low voltage (VOL) maximum 0.4 V (with 3.2 sink current). Pin ranges from 7 to 15 , and is 0°C to 70°C. For the audio output, voltage levels swing from approximately 1.2 V to 4.2 V peak-to-peak depending on load and pull-up, with maximum sink current supporting up to 50 across channels at full volume to drive typical audio circuits. Timing specifications are critical for reliable interfacing, with all signals referenced to the φ2 clock rising edge. Register write cycles require a read/write setup time of 130 ns and data hold time of 10 ns; read cycles have data access delay of 50 ns and hold time of 20 ns. Potentiometer read cycles involve internal timing up to 228 φ2 cycles per , initiated by software and read via registers, with output valid delays up to 1500 ns. Serial I/O timing aligns data changes to the rising edge of the output clock, with baud rates derived from audio dividers. and chip select setup times are 130 ns, ensuring stable operation at the 1.79 MHz . Load capacitance for most outputs is specified at 30 , with the data bus tolerant up to 130 .

Functional Components

Register Map Overview

The POKEY chip's registers are memory-mapped within the of computers, occupying the address range D200 to D20F, which spans 16 consecutive bytes and is fully accessible for both reading and writing by the 6502 processor. This compact footprint allows software to interface directly with the chip's functions for audio synthesis, input handling, and peripheral control without requiring dedicated instructions. The registers are organized into several functional categories. Audio-related registers include the frequency dividers (AUDF1–AUDF4 at D200, D202, D204, D206) and control parameters (AUDC1–AUDC4 at D201, D203, D205, D207), which configure the four independent sound channels. The AUDCTL register at D208 provides overarching audio and [timer](/page/Timer) mode selections, such as clock rates and polyphonic options.[46] [Potentiometer](/page/Potentiometer) inputs are handled via reads from POT0–POT7 at D200–D207 (multiplexed with audio registers), with POTGO at D20B initiating scans and ALLPOT at D208 enabling parallel status checks for readiness.[45] [Serial communication](/page/Serial_communication) registers encompass SKREST at D20A for status resets, SEROUT/SERIN at D20D for data transmission and reception, and SKCTL at D20F for mode configuration. input is captured in KBCODE at D209, while SKSTAT at D20F (read mode of SKCTL) reports serial and keypress status. Access to these registers follows specific conventions to optimize . Even addresses (D200, D202, etc.) are used for writing frequency values to AUDF registers or reading potentiometer values from POT0, POT2, etc., while odd addresses (D201, D203, etc.) handle control writes to AUDC registers. The ALLPOT register at $D208 facilitates simultaneous reads of all potentiometer lines in parallel, signaling completion after the POTGO-triggered scan cycle. Timers derived from these registers can generate interrupts (IRQ) to the processor upon overflow, enabling precise event timing. Upon power-on, all POKEY registers default to zero, disabling features like audio output and timers until explicitly configured by software, such as setting to initialize clock modes or to enable serial and keyboard scanning. This reset state ensures a clean starting point but requires prompt programming to activate the chip's capabilities and avoid unintended behaviors like residual noise.

Audio Generation System

The POKEY chip's audio generation system features four independent channels, each capable of producing tones, distorted waveforms, or for polyphonic sound synthesis. These channels are controlled primarily through per-channel Audio Frequency (AUDF) and Audio Control (AUDC) registers, with global configuration handled by the AUDCTL . This setup allows for flexible , ranging from simple beeps to complex effects like explosions or music, all generated digitally and output as analog signals after digital-to-analog conversion within the chip. Each channel's frequency is set via its 8-bit AUDF register, located at addresses D200 (channel 1), D202 (channel 2), D204 (channel 3), and D206 (channel 4). The register value, from 0 to 255, defines the divisor N = \text{AUDF} + 1, which determines the period of the channel's output waveform. The resulting frequency f for a channel is calculated as f = \frac{\text{CLK}}{(\text{AUDF} + 1) \times d}, where CLK is the base system clock of approximately 1.7898 MHz (NTSC) and d is a mode-dependent divisor. In normal mode, d = 28, yielding an effective CLK of about 64 kHz before division by N; in high-resolution mode (selected via AUDCTL bit 0), d = 114, reducing the effective CLK to roughly 15.7 kHz for finer low-frequency control. For higher frequencies, AUDCTL bits 5 and 6 can clock channels 1 and 3 directly from the 1.7898 MHz source, bypassing the initial division and allowing d = 1 in the formula (though the waveform toggle effectively halves the output frequency in tone modes). The 8-bit AUDC registers, at addresses D201 (channel 1), D203 (channel 2), D205 (channel 3), and D207 (), govern volume and characteristics. Bits 0–3 provide 4-bit control, scaling the channel's output from 0 (silent) to 15 (full ), with the analog output summed across channels before a final stage. Bit 4 activates volume-only mode, where the channel bypasses frequency division and directly sets the output level based on bits 0–3, useful for percussion or static tones without variation. Bits 4–7 (with bit 4 low for modes) select one of 12 types via bits 5–7, which combine a 17-bit, 5-bit, or 4-bit counter with the channel's to shape the —options include pure tones (no ), sawtooth-like ramps, square wave approximations, and various textures. For example, a pure tone uses the frequency divider directly for a 50% square wave, while modes employ shift registers clocked by the channel's output or a fixed 1.7898 MHz rate. Noise generation relies on linear feedback shift registers (LFSRs) implementing polynomial counters: a 4-bit LFSR (period 15), 5-bit LFSR (period 31), and 17-bit LFSR (period $2^{17} - 1 = 131071) for pseudo-random sequences mimicking . These are selected and combined in modes; for instance, mode 000 (binary) chains the 17-bit poly to the 5-bit poly to the N, producing filtered . The 17-bit counter can be shortened to a 9-bit version (period 511) via AUDCTL bit 7, creating repetitive "buzz" effects instead of random , which reduces computational load in software-driven . The 8-bit AUDCTL register at D208 provides system-wide audio options to enhance resolution and filtering. Bits 3 and 4 enable 16-bit [frequency](/page/Frequency) mode by pairing channels 1–2 and 3–4, where the effective N = \text{AUDF}\text{low} + 256 \times \text{AUDF}\text{high} + 1 $, providing 16-bit precision. Bits 1 and 2 activate high-pass filters: bit 1 filters channel 1 with channel 3's , and bit 2 filters channel 2 with channel 4's, allowing subtractive for sharper tones. Combined, these features support a range from about 20 Hz to over 60 kHz, though practical limits depend on mode and clock selection.

Analog Potentiometer Handling

The POKEY chip provides support for eight analog inputs, accessed via read-only registers POT0 through POT7 at memory addresses D200 to D207. These registers store 8-bit values representing the or of connected potentiometers, with a practical range of 0 to 228. A value of 0 indicates low and rapid response (quick charge or discharge), while 228 represents the maximum measurable value, typically corresponding to high in applications like paddle controllers. To initiate a reading, software writes any value to the POTGO at D20B, which resets internal [counter](/page/Counter)s to zero and starts the discharge process for all eight potentiometer lines simultaneously. This triggers an [RC](/page/Rc) (resistor-[capacitor](/page/Capacitor)) timing circuit where an internal [capacitor](/page/Capacitor) discharges through the external [potentiometer](/page/Potentiometer)'s [resistance](/page/Resistance), and a threshold detector monitors the voltage drop. The [counter](/page/Counter)s increment with each color clock cycle (approximately 0.559 μs at [NTSC](/page/NTSC)) until the voltage reaches a [threshold](/page/Threshold) (around 1.9–2.6 V from an initial 5 V), at which point the current [counter](/page/Counter) value is latched into the corresponding POT [register](/page/Register); untriggered inputs default to the maximum of 228 after the full cycle. The process completes after exactly 228 color clock cycles (approximately 127 μs), providing an effective 8-bit [resolution](/page/Resolution) for analog-to-digital conversion. The time to discharge follows the formula t = - \ln\left(\frac{V_{th}}{V_0}\right) , where R is the potentiometer [resistance](/page/Resistance), C is the [capacitance](/page/Capacitance) (typically 0.047 μF external for paddles), V_{th} is the [threshold voltage](/page/Threshold_voltage), and V_0 $ is the initial voltage; this is digitized by scaling the cycle count to the 0–228 range. Completion is monitored by polling the ALLPOT register at $D208, where bit 7 is set to 1 during the process and cleared to 0 when all readings are valid. Individual POT registers can be read at any time, but values are only stable after ALLPOT bit 7 clears to avoid invalid data. This mechanism shares the POKEY's with registers but operates independently for input handling. Applications include paddle controllers, where knob rotation translates analog resistance to values for input (e.g., 1–228 range for full travel), and light pens, which use the timing for position detection on the screen with similar precision over the 127 μs cycle.

Serial Input/Output Port

The POKEY chip incorporates an asynchronous input/output (I/O) port designed primarily for interfacing with external peripherals through Atari's I/O (SIO) bus, enabling communication with devices such as disk drives and printers. This port operates in an 8-bit asynchronous , where data transmission and reception include hardware-managed start and stop bits for framing, along with parity checking to ensure . The transmits the least significant bit (LSB) first, facilitating reliable byte-level exchanges over the SIO bus, which consists of dedicated lines for data input, output, output clock, and a bi-directional clock. An (IRQ) is generated upon completion of receive operations, allowing the system to handle incoming efficiently. Control and data handling for the are managed via specific s within the POKEY's memory-mapped I/O space. The SKREST at address D20A serves to reset the SK ([serial](/page/Serial) keyboard) signal and clear associated status latches when any value is written to it. Data transmission occurs by writing an 8-bit byte to the SEROUT [register](/page/Register) at D20D, which loads the parallel holding for serial shifting out LSB first. Conversely, the SERIN , also at D20D, allows reading of the most recently received 8-bit byte from the input [shift register](/page/Shift_register). The SKCTL [register](/page/Register) at D20F configures operational modes, with bits 0-1 selecting the baud rate divisor, bit 2 enabling IRQ generation for serial events, and bit 3 controlling SK signal processing for input handling. The port supports a standard baud rate of 19.2 kbps in normal operation, suitable for typical SIO peripherals, with configurable high-speed modes up to 38.4 kbps, 57.6 kbps, or 115.2 kbps achieved by adjusting SKCTL settings to alter clock sources. Timing for bit ization is derived from the system clock divided by 64 or 28, depending on the configuration, providing flexibility in clock generation while maintaining synchronization with the POKEY's internal timers. This setup integrates briefly with the broader IRQ system, where serial receive completion can trigger interrupts if enabled via SKCTL bit 2 and the general IRQEN .

Interrupt and Timer Mechanisms

The POKEY chip features four independent 8-bit timers, derived from its audio channels, which serve both audio generation and general-purpose timing functions. These timers, controlled by the AUDF1–AUDF4 registers at addresses D200–D203, count down from a loaded value and generate an (IRQ) upon underflow to zero, provided the corresponding is enabled. Timers 1, 2, and 4 can trigger IRQs, while Timer 3 operates solely for audio without an associated IRQ source. The timers' clock sources are configurable via the AUDCTL register at D208: in normal mode, each tick advances every 28 system clock cycles (derived from a 64 kHz base clock), yielding a period of (AUDF_x + 1) \times 28cycles; in high-resolution mode (AUDCTL bit 0 set), the tick interval extends to 114 cycles for finer low-frequency control, resulting in a period of(AUDF_x + 1) \times 114$ cycles. Timers can operate independently or be linked in pairs for 16-bit extended range via AUDCTL bits 3 and 4: setting bit 4 links Timers 1 and 2 (using AUDF1 as low byte and AUDF2 as high byte), while bit 3 links Timers 3 and 4 similarly. In linked 16-bit mode, the underflow IRQ for the pair is generated by the high-byte timer (Timer 2 or 4), with the period adjusted to (AUDF_\text{low} + 1) \times 256 + AUDF_\text{high} + 1 ticks. All four timers start simultaneously upon writing any value to the STIMER register at $D209, which resets their counters to the AUDF values. This setup allows the timers to support diverse applications, including precise delays and synchronization, beyond their role in audio timing. POKEY provides eight maskable IRQ sources, asserted on the shared IRQ line to the 6502 processor, with fixed hardware prioritization favoring higher-bit sources (e.g., BREAK key over timers). The sources are: BREAK key (bit 7, triggered by the dedicated BREAK input or controller trigger); keyboard matrix scan complete (bit 6, on keypress detection); serial input data ready (bit 5, when a full byte arrives); serial output buffer needed (bit 4, when the output shift register empties); serial transmission finished (bit 3, on completion of output byte, unlatched); Timer 4 underflow (bit 2); Timer 2 underflow (bit 1); and Timer 1 underflow (bit 0). These are enabled or disabled via the IRQEN register at D20E (write), where a 1 in the bit enables the source and a 0 disables it while resetting the status latch. The IRQST register (same address, read) latches pending interrupts (0 indicates active), cleared by reading IRQST followed by writing 1s to the corresponding IRQEN bits; the serial transmission finished bit (3) is level-sensitive and does not latch. Masking for non-timer sources, such as serial and keyboard, is further controlled by the SKCTL register at D20F, where bits 4–6 configure serial clocking (disabling serial IRQs if set to certain values) and bit 0 toggles keyboard debounce (affecting scan IRQ timing). The IRQ vector is not directly at $D20E but handled via OS vectors starting at $0208 (e.g., $0210 for Timer 1), with POKEY implying the source via IRQST for software dispatching. A notable feature tied to the timer and serial subsystems is POKEY's pseudorandom number generator, accessible via the RANDOM register at D20A, which outputs the upper 8 bits of a 17-bit linear feedback shift register (LFSR) polynomial counter (poly17) clocked by Timer 4. If AUDCTL bit 7 is set, it switches to a 9-bit polynomial (poly9) for shorter sequences. The counter advances continuously when enabled, providing values from 0 to 255 with a period of $2^{17} - 1 = 131071 steps in poly17 mode, suitable for seeding or basic randomness in software. During serial transmission (initiated via SEROUT at D20D write), reading SERIN at the same address (D20D) mid-transmit can sample a shifted combination of the serial data and a poly17 bit for enhanced pseudorandom output, though the primary access remains RANDOM. This mechanism, while simple, proved influential for early game procedural generation due to its hardware efficiency.

Keyboard Matrix Scanning

The POKEY supports keyboard input through an 8x8 capable of detecting up to 64 keys, where the drives the rows via its six scan lines (K0 through K5, active low) and senses the columns externally using multiplexers such as the CD4051. These scan lines form a 6-bit that cycles from 00 to 3F , sequentially addressing each position in the . Scanning occurs automatically when enabled via the SKCTL (at location $D20F), with the incrementing once per line, synchronized to the system's horizontal timing signal at approximately 15.7 kHz for systems. This results in a full matrix scan approximately every 64 lines, yielding an effective scanning rate of about 245 Hz. Built-in debouncing prevents false detections from key bounce; upon detecting a low signal on the primary sense line (KR1), the current value latches into a compare , and a valid keypress is registered only if KR1 remains low when the next matches the latched value, ignoring transient highs or multiple simultaneous presses. The detected key code is stored in the KBCODE read-only register at memory location D209, providing a 6-bit value (0-63) corresponding to the matrix position of the last pressed key, or 255 (FF) if no key is pressed. If interrupt is enabled in SKCTL (bit 7 set), a valid keypress generates an IRQ, which can be queried via the IRQST register at $D20B (bits 6 and 7). Debouncing can be disabled by writing to SKCTL to force the counter equal to the latch, allowing faster but potentially noisier input. Shift key handling uses a secondary sense line (KR2) for modifier detection, separate from the main matrix to support the keyboard layout. When the scan counter reaches specific values—$3D (111101 binary) for , $3C (111100) for BREAK, or $3F (111111) for —KR2 is sampled; a low signal indicates the modifier is pressed, enabling modified key interpretations without altering the primary key code. In the Atari 8-bit computer architecture, the POKEY's keyboard scanning integrates directly with the operating system, which polls the KBCODE register during vertical blank intervals to capture input events efficiently.

Legacy and Impact

Influence on Sound Design

The POKEY chip's four-channel architecture enabled the development of music on 8-bit systems, allowing composers to assign voices for , , , and percussion through square and noise generation. This setup facilitated layered compositions that mimicked fuller ensembles despite hardware constraints, as seen in early titles like (1979), where designer Doug Neubauer utilized POKEY's capabilities for algorithmic synthesis of engine hums, laser shots, explosions, and alarms to enhance immersive space combat audio. Similarly, the 8-bit port of (1982) employed POKEY channels to replicate icons like the "waka-waka" munching effect via rapid on square and percussive noise bursts for ghost pursuits, establishing a signature -like sound palette that influenced home computing audio norms./arcade/atari_docs/pokey_datasheet.pdf) POKEY's lack of true —due to shared clocking and limited options—spurred innovative workarounds, such as volume modulation on individual channels to simulate pseudo-effects like dynamic swells or basic sample playback, turning hardware limitations into creative staples of design. These techniques directly inspired later tools like the Raster Music Tracker (), a software sequencer developed in the early that exploited POKEY's four mono or eight channels for pattern-based , enabling demoscene artists to produce complex tracks within the chip's 4-bit volume resolution and distortion filters. By prioritizing envelope manipulation over native harmonics, POKEY encouraged a raw, digital aesthetic that prioritized rhythmic precision and timbral experimentation. The POKEY defined the gritty, electronic of 1980s Atari gaming, fostering a rivalry with Commodore's chip that highlighted competing philosophies in audio: POKEY's arcade-oriented precision versus SID's analog warmth, which spurred cross-platform innovations in sound programming. This rivalry, evident in battles and port comparisons, elevated as a , with POKEY's distinct "buzzsaw" tones becoming synonymous with 's ecosystem. In modern revivals, POKEY in tools like trackers and VST plugins has fueled 8-bit , inspiring contemporary artists in genres from to indie games to recreate its lo-fi punch for retro-futuristic soundscapes. Composers leveraged POKEY's timer mechanisms, particularly IRQ interrupts from channels 1, 2, and 4, to sequence music events precisely, synchronizing note changes, arpeggios, and effects without relying on the main CPU loop. For percussion, modes—such as counter filtering for irregular —were manipulated to craft drum-like hits, with volume gating creating sharp attacks that integrated seamlessly into melodic lines, as demonstrated in ' alert beeps and thrust sounds. These methods, rooted in POKEY's interrupt-driven architecture, optimized real-time performance on resource-limited hardware, influencing enduring practices in constrained audio programming./arcade/atari_docs/pokey_datasheet.pdf)

Hardware Reliability Issues

The original POKEY chips, particularly those manufactured by American Microsystems, Inc. (AMI) in the early 1980s, exhibit notable hardware reliability issues due to their 5 μm NMOS fabrication process. These early AMI versions are susceptible to oxide shorts, a common defect in older NMOS technology that can cause , intermittent signal loss, or complete failure of functions. In aged units from systems like the and , AMI POKEYs have been reported to have high failure rates. Process defects inherent to the 5 μm NMOS technology, combined with environmental factors such as heat buildup and capacitor leakage in Atari consoles, contribute to these failures. The Atari 400 and 800 models, with their limited ventilation, experience elevated temperatures that accelerate degradation, leading to symptoms like stuck keys in the keyboard matrix or silent audio channels. These issues are more prevalent in these early models compared to later variants with improved thermal design. Diagnostics for POKEY failures typically involve checking the PORT test in the system's self-diagnostic routine, where failures manifest as errors in rows G, H, I, or J on the Atari 400 or rows G, H on the 800, affecting potentiometer lines, audio outputs, keyboard scanning, printer interfaces, and floppy controls. Technicians can use an to probe audio pins for or write test values to the POKEY registers to verify functionality. In some cases, applying controlled heat up to 100°C can temporarily restore operation in marginally failed chips, indicating thermal-related intermittent contacts, though replacement with part number CO12294 is recommended for permanent repair. Service centers were advised to stock at least two spare POKEY chips to address these common hardware faults.

Emulation and Preservation Efforts

Emulation of the POKEY chip has been a focus for preserving the functionality of 8-bit computers, with cycle-accurate software implementations enabling precise reproduction of its behaviors on modern platforms. Altirra, a high-fidelity emulator, provides full cycle-exact of POKEY, including detailed modeling of its polynomial counters (poly4 and poly17) for sound distortion and , serial port clock timing for operations, and potentiometer RC charging curves via scanline-based counters that increment per color clock for accurate paddle input simulation. Similarly, the Atari800 emulator achieves cycle-exact POKEY register handling for sound frequency, distortion, and volume, alongside scanline-based timing and exact potentiometer scanning to replicate analog input delays. Hardware emulation through field-programmable gate arrays (FPGAs) further supports preservation by recreating POKEY logic at the gate level. FPGA platform features a Verilog-based Atari 8-bit core that incorporates a POKEY implementation with cycle-accurate timing, as verified through edge-case testing. These FPGA cores allow execution of original software without software overhead, aiding in the authentication of hardware behaviors. Preservation efforts include comprehensive ROM dumps of that rely on POKEY for audio and I/O, ensuring software artifacts remain accessible for study and play. Community-driven initiatives, such as those on AtariAge, catalog and archive these dumps to safeguard against media degradation. Open-source tools like POKEYmax, an FPGA-based POKEY implementation available on , facilitate testing by allowing users to verify emulation accuracy against original chip outputs through configurable diagnostics. Key challenges in POKEY emulation involve replicating the pseudo-random noise generated by its linear feedback shift registers (LFSRs), where inaccuracies in poly counter states can alter audio distortion patterns, as addressed in Altirra's updates to RANDOM register behavior during mode switches. Additionally, achieving low IRQ latency on modern operating systems remains difficult due to scheduling , potentially disrupting and interrupts that require sub-microsecond in the original 1.79 MHz clock domain.

References

  1. [1]
    Atari Pokey Data Sheet
    The Atari Pokey has four audio channels, six key scan lines, eight pot ports, three timers, a random number generator, serial I/O, and eight interrupt sources.
  2. [2]
    POKEY C012294 Documentation - 8BitDev.org
    Nov 8, 2015 · General Description. There are four semi-independent audio channels, each with its own frequency, noise and volume control.
  3. [3]
    Putting An Atari POKEY In Your Pocket - Hackaday
    Jun 15, 2012 · The Atari POKEY served as the main I/O chip on the venerable Atari 400/800 and XL/XE 8-bit computers. While a chip designed to get voltages ...
  4. [4]
    Atari Pokey chip replacements and possible fix
    Jan 11, 2020 · Besides audio features, the Pokey also is used to read paddle pots, RNG (random number generator), and Serial I/O access (for Atari 8-bit ...Anyone still offering a POKEY replacement?Atari PCB's that use the PokeyMore results from forums.arcade-museum.com
  5. [5]
    The Pokey Chip Story - Doug Neubauer - WordPress.com
    ... chip designer. We were painstakingly checking the hundreds of thousands ... Atari Pokey Chip Wikipedia. Doug Neubauer. The Atari Years. Blog at WordPress ...
  6. [6]
    Doug Neubauer - Dadgum Games
    After being hired at Atari, he designed the POKEY chip for the Atari 800, which was responsible for I/O and audio. (The overall original plan for the 800 ...
  7. [7]
    Pokey - Atarimax.Com
    Mar 25, 2001 · POKEY (means "POT and KEY" as in the paddles and keyboard) is a digital input/output (I/O) chip. It handles such disparate tasks as the serial I ...Missing: integration 1979<|control11|><|separator|>
  8. [8]
    Atari: The Golden Years -- A History, 1978-1981 - Game Developer
    Game historian Fulton returns with an amazingly detailed piece on Atari's 'golden years', from the rise of the Atari 2600 through Asteroids and Battlezone.Missing: motivation | Show results with:motivation
  9. [9]
    What is the history of Atari's 8-bit computers platform? - AtariMania
    Fall: Douglas G. Neubauer joined Atari (Consumer) as a chip design engineer. Fall: At Atari (Consumer), John Hayashi would be promoted to director ofMissing: invention | Show results with:invention<|control11|><|separator|>
  10. [10]
    Apparatus for producing a plurality of audio sound effects
    Apparatus for producing a plurality of audio sound effects such as shots, explosions, and airplane and car sounds, used in electronic games utilizes a ...Missing: POKEY Neubauer
  11. [11]
    Atari 400 / 800 (1979) - Retromobe
    Nov 3, 2019 · Featuring two graphics support chips (ANTIC and CTIA) plus another I/O chip that handled sound and everything else (POKEY) plus four ...
  12. [12]
    Atari 400 - The Centre for Computing History
    Atari 400 with Aftermarket Keyboard, Atari, November 1979 ; Atari 800, Atari, November 1979 ; Centipede Arcade Cabinet, Atari, 1980 ; Atari 1200XL, Atari, 1982.
  13. [13]
    File:POKEY chip on an Atari 130XE motherboard.jpg
    Oct 22, 2012 · DescriptionPOKEY chip on an Atari 130XE motherboard.jpg. English: POKEY chip manufactured by AMI at the center of the image. Date, 22 October ...
  14. [14]
    Atari 5200 - Game Console - The Centre for Computing History
    The Atari 5200 SuperSystem, commonly known as the Atari 5200, is a video game console that was introduced in November 1982 by Atari Inc.
  15. [15]
    Atari 5200 SuperSystem History - AtariMania
    Like the computers, it used the custom ANTIC and GTIA chips for graphics, and the POKEY chip for sound; the first version followed the computers in having four ...
  16. [16]
    [PDF] ATARI 400/800 | Retro
    The ATARI 800 Computer Console contains the central processor unit. (CPU) a ... The POKEY integrated circuit provides the interface between the. Keyboard ...
  17. [17]
    What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?
    POKEY (name derived from POtentiometer and KEYboard) is a digital input/output (I/O) chip. It handles such disparate tasks as the serial I/O bus (SIO),
  18. [18]
    [PDF] pokey.pdf - Visual 6502
    Mar 7, 1987 · All four frequency dividers can be clocked simultaneously from 64 KHZ or 15. KHZ by AUDCIL bit 0. Frequency dividers 1 and 3 can alternately be ...
  19. [19]
  20. [20]
    Atari Sound with POKEY - Goto 10: Retro Computing & Gaming
    Oct 16, 2023 · The Atari sound was made using the POKEY chip, which was created by Doug Neubauer (who also created Star Raiders). Strangely, POKEY actually ...Missing: invention | Show results with:invention
  21. [21]
    Atari PCB's that use the Pokey
    May 4, 2023 · Tempest has TWO POKEYs (on the mathbox AUX PCB). Jeezzzzzzz. (laughs) QUAD POKEY: Firefox, Return of the Jedi, I, Robot, and Major Havoc.Atari Pokey chip replacements and possible fixCentipede/Millipede Pokey chipsMore results from forums.arcade-museum.comMissing: configuration | Show results with:configuration
  22. [22]
  23. [23]
    Atari Pokey Differences
    Nov 16, 2016 · I was looking at a Paperboy boardset and noticed the pokeys are labeled 137430-001. I noticed other pokeys on Space Duel and others to be ...Missing: variant higher clock rates instances
  24. [24]
    Use of POKEY(s) in Atari Games Arcade Machines - AtariAge Forums
    Aug 29, 2011 · Several people have made piggy-back boards that allow you to use 4 separate pokey chips in place of the "quad pokey".. Like 1. Quote ...Missing: Centipede Missile Command Tempest configuration
  25. [25]
    What games use the Pokey Chip??? - Atari 7800 - AtariAge Forums
    Oct 21, 2002 · Ballblazer and Commando are the only two. Ballblazer uses the Pokey for all of the sound but Commando only uses it for the background music.
  26. [26]
    quick question about 7800 sound chip - Atari 7800 - AtariAge Forums
    Apr 8, 2012 · Ballblazer, released in 1987, uses the POKEY to generate all music and sound effects. Similarly, Commando, released in 1989, uses a POKEY to ...
  27. [27]
    7800 Carts with Pokey - Atari 8-Bit Computers - AtariAge Forums
    Jul 29, 2011 · Turns out after physical inspection and better google research that the only Atari 7800 Super Cart which contains a Pokey is Ballblazer.quick question about 7800 sound chip - Atari 7800 - AtariAge ForumsTesting Pokeys in 7800. Prickle? - AtariAge ForumsMore results from forums.atariage.comMissing: TIA limitations
  28. [28]
    Complete documentation of Pokey serial modes - SKCTRL
    Mar 16, 2014 · SKCTL is found in the official Atari specs, but the table listed there is, at best, "misleading" if not confusing. For example, combination 110 ...
  29. [29]
    Sound - Atari 7800 Progamming - Google Sites
    The major limitation of the TIA sound generator is it only has a 5 bit frequency divisor. This really limits the number (and accuracy) of notes it can produce.
  30. [30]
    Concerto and Pokey Chip - Atari 7800 - AtariAge Forums
    Aug 3, 2022 · Face the board chip side away so you're pointing the heat gun at the back of the board (pin side) and hover it about 1-2 inches from the pokey ...Missing: revive AMI
  31. [31]
    Custom-IC's - Best Electronics Atari
    Free delivery over $54.95Buy it now for $69.95 plus $5.96 shipping. Bests New Atari Custom made CO12294 Pokey Chip with normal 90 day Atari Warranty. $30.00 plus Max. US shipping ...
  32. [32]
    PokeyONE V2 FPGA Atari Pokey Replacement
    In stockThe PokeyONE V2 is a modern, reliable FPGA replacement for the Atari POKEY chip, which is used in classic Atari games for sound, random number generation, and ...<|control11|><|separator|>
  33. [33]
    "Rebirth of the POKEY" Recreating the Atari 8-bit Sound Chip in an ...
    Jun 4, 2019 · "Rebirth of the POKEY" Recreating the Atari 8-bit Sound Chip in an FPGA by David Shuman. 521 views · Streamed 6 years ago TECH HILL COMMONSMissing: design motivation cost reduction VLSI 1978 1979
  34. [34]
    Core Components Where Used - MiSTer FPGA Documentation
    This is a list of many recreated components used in various MiSTer FPGA cores. AMI. POKEY Sound Chip. Atari 5200 & 800 · Arcade - A Tetris · Arcade - Black ...
  35. [35]
    Kitrinx/Atari7800_MiSTer: Atari 7800 for MiSTer - GitHub
    XEGS Keyboard support via POKEY at $450 or $4000. Dual Pokey audio. YM2151 Audio using Jotego's JT51. Supports Covox. Support for XM and XBoard modules.<|control11|><|separator|>
  36. [36]
    jotego/jtcores: FPGA cores compatible with multiple arcade game ...
    There are 1050+ supported titles at the moment ( January 2025 ). The compiled versions for some FPGA platforms are in JTBIN. Most cores are released early for ...
  37. [37]
    [PDF] Atari System Reference Manual - DAVES OLD COMPUTERS
    POKEY chip functions: Keyboard reading. Serial port. Pot (game paddles) reading. Sound generation. System timers.<|control11|><|separator|>
  38. [38]
    Pokey datasheet?
    Jan 4, 2018 · General Description: There are four semi-independent audio channels, each with its own frequency, noise and volume control.Let's design some POKEY replacementsAtari Pokey DifferencesMore results from forums.arcade-museum.com
  39. [39]
    Timers - Atari Archives
    Actually, while BASIC numbers them zero through three, POKEY prefers the more normal one through four.
  40. [40]
    FREE POKEY CHIPS (almost anyway!) - Atarimax.Com
    Part # on the new POKEY is: AMI 8810MHR CO12294B-01 CO3051 (C) PHILIPPINES Ive run every piece of software i have(including AMS, POKEYPLAYER, etc..) and the ...
  41. [41]
  42. [42]
    Total number of A8 units sold worldwide = ? - Atari 8-Bit Computers
    Jun 18, 2011 · Early Atari sales were disappointing and the 400/800 only sold 2 million units total according to Jeremy Reimer's figures which were based on ...
  43. [43]
    Let's design some POKEY replacements | Page 10
    Dec 22, 2022 · And Synertek. And others. Not sure if AMI licensed the 6um ... There are a pair of 4-bit open drain DACs similar to the ones in the POKEY.
  44. [44]
    Atari C012294 POKEY - Visual 6502
    A map of stitched images is shown on the right. We've copied a datasheet from retromicro.com (http://www.retromicro.com/files/atari/8bit/pokey.pdf)<|control11|><|separator|>
  45. [45]
    What API did the POKEY module provide?
    Dec 19, 2016 · The POKEY module has a random number generator, six scan lines, eight potentiometer ports, three timers, a serial port and four audio ...Software · Registers · InterruptsMissing: 1979 | Show results with:1979
  46. [46]
    [PDF] Atari* System Reference Manual - DAVES OLD COMPUTERS
    ATR: Chapter 14 - Hardware Chips. THE POKEY CHIP. The most important jobs of the POKEY chip are reading the keyboard and operating the serial port. It also ...
  47. [47]
    Memory Map - Atari Archives
    This register is a one-byte location used to hold the eight bits which will be transmitted one bit at a time (serially) to or from the device. The computer ...
  48. [48]
    De Re Atari - Chapter 7
    Sound is generated in the ATARI computer by the POKEY chip, which also handles the serial I/O bus and the keyboard. The POKEY chip must be initialized ...
  49. [49]
    Compute!'s Third Book of Atari - 16-Bit Music
    The output frequency is determined by the formula F0 = F/(2 × (AUDF + 1)), where F is the clock frequency and AUDF the value in the audio frequency register.
  50. [50]
    None
    Below is a merged summary of POKEY's Analog Potentiometer Handling based on the Altirra Hardware Reference Manual by Avery Lee. To retain all information in a dense and comprehensive format, I’ll use a combination of text and tables where appropriate. The summary consolidates all details from the provided segments, including variations in descriptions, additional details (e.g., specific voltage or capacitance values), and URLs where mentioned.
  51. [51]
    ATR: chpt.19: Misc. Hardware Information - Atarimax.Com
    SERIAL PORT REGISTERS The POKEY chip has some registers which control the serial port. The serial port control register, SKCTL [$D20F (53775)], controls the ...
  52. [52]
    [PDF] Mapping the Atari - RetroComputers.gr
    your Atari 800. It's not visible in the 400 without taking the cover apart ... POKEY uses 53760 to 54015 ($D200 to $D2FF). PIA uses 54016 to 54271 ...
  53. [53]
    The History of Star Raiders: Taking Command - Game Developer
    Of course, the game's high-quality audio shouldn't surprise us; Neubauer himself designed the Atari's POKEY audio chip.[5] The chip was also used in some of ...<|separator|>
  54. [54]
    Chiptunes (Part I) - The Cambridge Companion to Video Game Music
    Famous examples are General Instrument's AY-3–8910 (1978), the MOS Technology 6581/8580 SID (Sound Interface Device, 1981) Atari's POKEY (Pot Keyboard ...
  55. [55]
    RMT - RASTER MUSIC TRACKER - ATARI XE/XL
    RMT is a cross-platform tool for making Atari XE/XL music on PC, supporting 4 mono/8 stereo tracks, 64 instruments, and 254 tracks with loop.Missing: influence | Show results with:influence
  56. [56]
  57. [57]
    Altirra, an 8-bit Atari computer emulator - virtualdub.org
    Altirra Hardware Reference Manual, 2024-09-21 version (local download, PDF). BASIC reference manual. This is the manual for Altirra BASIC, the BASIC ...
  58. [58]
    Features - Atari800
    Cycle-exact ANTIC and GTIA emulation, all display modes. Player/Missile Graphics, exact priority control and collision detection. Exact POKEY registers (sound ...
  59. [59]
    8-Bit Software: A Preservation Effort - Non-Originals/Cracks
    Aug 1, 2021 · This thread is for non-original software. These titles could be cracks or copies of originals.
  60. [60]
    bleroy/pokeymax - GitHub
    I'm publishing his latest iteration on PokeyMax, version 4, which is a 2-layer version with all components on the top side. This should be easier to produce at ...
  61. [61]
    POKEY serial and IRQ timing details - Atari 8-Bit Computers
    Aug 25, 2010 · It takes 5 cycles (138-142) until pokey signals the reception of a byte. Here's the logic-analyzer sample of cycles 143.Theoretical Maximal Number of Physical POKEY Chips?What is the Theoretical Maximum Number of POKEYs?More results from forums.atariage.com