The Atari Home Pong console (1975) is a CPU-less game system built around a single custom ASIC — Atari chip 3659-1C (also designated C2566), designed by Harold Lee and Allan Alcorn, fabricated by AMI (American Microsystems Inc.). This chip implements all game logic, video generation, scoring, and sound through roughly 2,000–3,000 transistors of pure hardwired NMOS logic — no processor, no ROM, no RAM.
The commonly cited GI AY-3-8500 was a separate chip released in 1976 by General Instrument for the clone market; it powered over 200 competing consoles (Coleco Telstar, Magnavox Odyssey 300, RadioShack TV Scoreboard) but was never used in Atari-branded Pong consoles. Because the AY-3-8500 is far better documented — reverse-engineered down to the transistor level — and is architecturally equivalent to the Atari custom chip, this document covers both in detail, with clear distinctions between them.
CHAPTER 01Two chips, one architecture: Atari 3659-1C vs. GI AY-3-8500
The original Atari Home Pong (model C-100, sold by Sears as Tele-Games Pong for Christmas 1975 at $98.95) used Atari's proprietary chip 3659-1C. Approximately 150,000 units were built for the Sears launch, with ~50,000 additional Atari-branded units in 1976. The chip implemented a single game (Pong) for two players with digital on-screen scoring and a distinctive rainbow color effect achieved by deliberately offsetting the crystal oscillator to 3.679 MHz (vs. the standard 3.579 MHz NTSC colorburst), causing continuous color phase drift.
General Instrument's AY-3-8500-1 (NTSC) / AY-3-8500 (PAL), announced December 1975 and shipping early 1976, was designed by Duncan Harrower and Dave Coutts as a "Pong-in-a-chip" for the open market. Over 5 million units sold in 1976 alone. It is a 28-pin DIP (600 mil width) NMOS IC containing 2,353 switching transistors + 860 pullup transistors = ~3,213 total, with 973 electrically unique nodes across 10,327 polygons.
These numbers come from Sean Riddle's 2017 acid decap and Cole Johnson's subsequent transistor-level reverse engineering — the most authoritative primary source for internal architecture.
Both chips share the same fundamental approachLFSR-based timing counters generate the video raster, combinational logic renders game elements by comparing scan position against stored object positions, and all "physics" reduce to direction-flip registers triggered by boundary comparisons.
CHAPTER 02Complete AY-3-8500 pinout and electrical characteristics
The AY-3-8500-1 (NTSC version) is a 28-pin DIP with four separate video outputs, a dedicated sync output, analog paddle inputs, digital game-select inputs, and a master clock input. The -1 suffix designates NTSC (525-line); the unsuffixed AY-3-8500 is PAL (625-line).
| Pin | Name | Dir | Function |
|---|---|---|---|
| 1 | NC | — | No connect (used on AY-3-8550 for Horizontal Motion Select) |
| 2 | Vss | Power | Ground (0V) |
| 3 | Sound Output | Out | Square-wave audio: 976 Hz (paddle hit), 488 Hz (wall bounce), 1,953 Hz (score), each ~32 ms pulses |
| 4 | Vcc | Power | +6–7V nominal, 12V absolute max |
| 5 | Ball Angles | In | Active-low: selects 2 or 4 rebound angles |
| 6 | Ball Output | Out | Video: ball sprite |
| 7 | Ball Speed | In | Active-low: fast (~0.65 s traverse) or slow (~1.3 s traverse) |
| 8 | Manual Serve | In | Active-low: enables manual serve button; otherwise auto-serve |
| 9 | Right Player Output | Out | Video: right paddle |
| 10 | Left Player Output | Out | Video: left paddle |
| 11 | Right Bat Input | In | Analog: RC timing sets paddle vertical position |
| 12 | Left Bat Input | In | Analog: RC timing sets paddle vertical position |
| 13 | Bat Size | In | Active-low: large paddle (~24 scanlines) or small (~16 scanlines) |
| 14 | NC | — | No connect (Right Bat Horizontal on AY-3-8550) |
| 15 | NC | — | No connect (Left Bat Horizontal on AY-3-8550) |
| 16 | Sync Output | Out | Composite sync (H+V combined); low during sync pulses |
| 17 | Clock Input | In | Master clock: 2.012160 MHz ±1% |
| 18 | Rifle Game 2 | In | Active-low game select |
| 19 | Rifle Game 1 | In | Active-low game select |
| 20 | Tennis | In | Active-low game select |
| 21 | Soccer | In | Active-low game select (also called Hockey) |
| 22 | Squash | In | Active-low game select |
| 23 | Practice | In | Active-low game select (single-player) |
| 24 | Score & Field Output | Out | Video: playfield borders, center line, score digits |
| 25 | Reset Input | In | Active-low: resets game state |
| 26 | Shot Input | In | Light gun phototransistor input |
| 27 | Hit Input | In | Light gun hit detection |
| 28 | NC | — | No connect (Composite Picture Data on AY-3-8550) |
Absolute maximum ratings: Voltage on any pin −0.3V to +12V vs. Vss; operating temperature 0–40°C; storage −20–70°C. Logic output low ≤ 1.0V at 0.5 mA sink; logic output high ≥ Vcc − 2V at 0.1 mA source. Game selection is one-hot (ground one pin at a time). When no game pin is grounded, an undocumented 7th game ("Handicap" — Soccer with an extra defensive paddle for the right player) activates.
CHAPTER 03Internal architecture: game logic without a processor
The chip contains no instruction sequencer. Instead, all behavior emerges from twelve hardwired functional blocks, each built from NOR gates (the fundamental NMOS building block), SR latches, and LFSR counters.
Clock circuitry takes the external 2.012 MHz signal and generates two alternating internal clock phases at ~1.006 MHz via a capacitor-latch divider. A "linger" node — a transistor gate with no pullup — exploits gate capacitance to hold charge briefly, creating a non-overlapping two-phase clock. This is the heartbeat for all downstream logic.
Horizontal countera 7-bit LFSR with XNOR feedback from bits 0 and 6. It cycles through 128 states per scanline (128 × 500 ns = 64 µs per line). A 14-output binary decoder fires control signals at specific LFSR states, marking screen landmarks: left wall at 11 µs, center line at 31 µs, right wall at 49 µs, H-sync start at 60 µs, and H-sync end/counter reset at 64 µs.
Vertical counteran 8-bit LFSR with XNOR feedback from bits 4 and 7, advanced once per horizontal line via a divide-by-2 circuit off the horizontal reset signal. The NTSC version cycles through 262 states per field. A 10-output decoder marks vertical landmarks: top border at line 84, score region lines 88–136, goal walls at lines 164–384, bottom border at line 464, V-sync start at line 516, and V-sync end/counter reset at line 524.
Ball physics operates through pure direction registers. The ball travels in diagonal-only trajectories, encoded as two 1-bit direction registers (horizontal: left/right; vertical: up/down). With 4-angle mode enabled, the vertical speed component has two rates (steep vs. shallow), yielding 8 effective trajectories. Ball position updates once per field (60 times/second on NTSC, 50 on PAL — making PAL games measurably slower).
Collision detection is a set of combinational comparators that check the ball's position counters against wall boundaries, paddle positions, and goal zones. A match flips the appropriate direction bit. Ball speed selection (pin 7) moves the position counter by 1 or 2 units per field.
Score display consumes approximately one-eighth of the die area — the largest identifiable subsystem. Scores (0–15 per player) are stored in 4-bit counters. The digit shapes are not stored in ROM; they are generated by hardwired binary pattern testing — combinational logic that tests the current 4-bit score value against the current row/column position within the digit area, functioning as an embedded truth table. Each digit is roughly 5 pixels wide × 20 scanlines tall (NTSC). Player 1's score displays at horizontal position 24–29 µs; Player 2's at 33–38 µs.
CHAPTER 04Video generation: from master clock to NTSC signal
The AY-3-8500 generates a non-interlaced progressive-scan signal despite the "525-line" NTSC designation. Here are the exact timing specifications:
| Parameter | NTSC (AY-3-8500-1) | PAL (AY-3-8500) |
|---|---|---|
| Master clock | 2.012160 MHz | 2.012160 MHz |
| Pixel width | 500 ns | 500 ns |
| Total H pixels | 128 | 128 |
| Active H pixels | ~73 | ~73 (1977) / ~79 (1976) |
| H blanking | ~55 pixels (27.5 µs) | ~55 pixels |
| Line period | 64 µs | 64 µs |
| H-sync frequency | ~15,720 Hz | ~15,720 Hz |
| H-sync pulse | 4 µs (60–64 µs) | 4 µs |
| Total V lines | 262 | 312 |
| Active V lines | ~192 | ~232 |
| V blanking | ~70 lines | ~80 lines |
| V-sync pulse | ~256 µs (4 lines) | ~320 µs (5 lines) |
| Field rate | ~59.6 Hz | ~50 Hz |
| Effective resolution | ~73 × 192 | ~73 × 232 |
Horizontal sync generation uses an SR latchhorizontal control signal #13 (at 60 µs) sets the latch, grounding the sync output pin; signal #14 (at 64 µs) resets it and simultaneously resets the horizontal LFSR counter. The result is a clean 4 µs sync pulse repeating every 64 µs. Vertical sync works identically: vertical control signal #1 (at line ~258) sets the V-sync latch; signal #2 (at line ~262) resets it and the vertical counter, producing a ~256 µs sync pulse.
The chip produces four separate digital video outputs (ball, left paddle, right paddle, field/score) plus the sync output. These are combined externally through a resistor summing network: sync through a 510Ω resistor, a 220Ω pull-down to ground, and each video output through resistors of varying values to set grayscale levels. The resulting composite signal has 0V sync tips, ~0.3V black level, and ~0.7–1.0V white level. Different resistor values per output allow subtle luminance differences between game elements.
The composite baseband signal feeds an RF modulator (typically ASTEC or Mitsumi), a self-contained shielded metal-can module that amplitude-modulates the video onto a VHF carrier at Channel 3 (~61.25 MHz) or Channel 4 (~67.25 MHz). Output connects to the TV's antenna terminals via a TV/Game switchbox.
The divider chain summary2.012 MHz → ÷2 (internal clock ~1.006 MHz) → ÷128 (7-bit LFSR → H-sync ~15,720 Hz) → ÷262 (8-bit LFSR → V-sync ~59.6 Hz). Total division ratio: ×33,536 from master clock to field rate.
CHAPTER 05Paddle controllers: analog position through RC timing
Both the Atari custom chip and the AY-3-8500 use the same fundamental technique: a potentiometer charges a capacitor, and the time to reach a comparator threshold encodes the paddle's vertical screen position.
Original Atari arcade/Home Pong used a 5 kΩ potentiometer with a 555 timer configured as a monostable one-shot. The 555 triggers at the end of every frame (when the 256th vertical line counter fires). The monostable period, set by the pot's resistance, determines where the top of the paddle appears on screen. A 4-bit counter then counts 15 additional scanlines to define the paddle's height. Higher resistance produces a shorter delay, moving the paddle upward.
A calibration trim pot adjusted the usable range. A known design bug prevented the paddle from reaching the very top of the screen — the 555 timer couldn't reset quickly enough when its control voltage dropped below ~1.5V.
AY-3-8500 consoles use a 1 MΩ potentiometer (measured range: ~125Ω at full clockwise to ~791 kΩ at full counter-clockwise) with a 10 kΩ series resistor and external capacitor (typical values: 47–68 nF). Pins 11 and 12 are the analog bat inputs. At a reference point in each frame, the capacitor begins charging through the RC network. When the voltage crosses the chip's internal threshold, the paddle's vertical position is latched against the current vertical counter state.
The RC time constant with a 1 MΩ pot and 68 nF capacitor is τ = 68 ms at maximum resistance, though the usable paddle range is clipped to approximately 60–80% of the physical pot travel.
- Supply voltage: 6–9V (six 1.5V cells or external adapter)
- Logic levels: Output low ≤ 1.0V; output high ≥ Vcc − 2V
- Controller type on C-100: Built-in paddle knobs — potentiometers mounted directly on the PCB, with rotary knobs protruding through the console housing
- No standard connector on the C-100 (controllers hardwired). Detachable controllers first appeared on the Sears Super Pong. The DB9 (DE-9) connector standard arrived only with the Atari 2600 in 1977
- Controller jacks on Ultra Pong Doubles: 2.5 mm mono headphone jacks for four detachable paddles
CHAPTER 06Every Atari Pong variant from C-100 to C-450
Atari produced eight distinct dedicated console models between 1975 and 1977, each using proprietary custom chips — never the GI AY-3-8500. All featured built-in speakers (sound was not sent to the TV) and the rainbow color effect via the offset 3.679 MHz crystal.
| Model | Year | Designation | Chip | Games | Players | Sears Name (Model) |
|---|---|---|---|---|---|---|
| Home Pong | 1975 | C-100 | 3659-1C (C2566) | 1 | 2 | Tele-Games Pong (25796) |
| Pong Doubles | 1976 | C-160 | 3659-3 | 1 | 4 | Pong IV (99717) |
| Super Pong | 1976 | C-140 | C010073-3 | 4 | 2 | Super Pong (99736) |
| Super Pong Ten | 1976 | C-180 | C010073-01 (C2607) | 10 | 4 | — |
| Super Pong Pro-Am | 1977 | C-200 | C010073-01 | 4 (×2 difficulties) | 2 | — |
| Super Pong Pro-Am Ten | 1977 | C-202 | C010073-03 | 10 (×2 difficulties) | 1–4 | Super Pong IV (99789) |
| Ultra Pong | 1977 | C-402S | C010765 | 16 / 32 variations | 2 | Pong Sports II (99707) |
| Ultra Pong Doubles | 1977 | C-402D | C010765-11 | 16 / 32 variations | 2–4 | Pong Sports IV (99708) |
| Video Pinball | 1977 | C-380 | C011500-11 + C011512-05 + P2112 RAM | 7 | 1 | Pinball Breakaway (99704) |
| Stunt Cycle | 1977 | C-450 | GI AY-3-8760-1 | 4 | 1–2 | Motocross (99729) |
The C-100 → C-140 progression added a game-select switch and three additional game modes (Super Pong, Catch, Practice/Solitaire) while keeping the identical form factor. The C-200 Pro-Am introduced difficulty modes (Professional: faster ball, smaller paddles, steeper angles; Amateur: the opposite) and the first computer-controlled opponent for single-player mode. The C-402 Ultra Pong dramatically expanded to 16 base games across four categories — Pong, Hockey, Barrier Pong, Barrier Hockey — each in Regular, Super, Hyper, and Ultra speed variants, for 32 total game variations.
Video Pinball (C-380) was the most technically advanced, using a microcontroller with RAM rather than pure hardwired logic — representing Atari's transition toward programmable hardware. Stunt Cycle (C-450) was the only Atari-branded console to use a GI chip (AY-3-8760-1). Interestingly, the Sears version bundled both the AY-3-8760 and Atari's C010765 chip for 16 additional Pong games.
The GI AY-3-85xx chip family evolved in parallel for the clone market: AY-3-8500 (1976, 6 games, B&W) → AY-3-8550 (1976, pin-compatible, adds horizontal paddle motion) → AY-3-8600/8610 (1977, 8–10 games, new pinout, 3.58 MHz clock) → AY-3-8510/8512 (1978, compact 16-pin DIP, built-in color). Companion color chips included the AY-3-8515 (for 8500-series) and AY-3-8615 (for 8600-series).
CHAPTER 07Recreating Pong in software: no CPU means no traditional emulation
Because there is no instruction stream to decode, "emulation" of Pong hardware means one of three things: transistor-level simulation, gate/RTL-level FPGA synthesis, or functional behavioral modeling. All three have been accomplished.
Transistor-level simulation was achieved by Cole Johnson in 2018, building on Sean Riddle's 2017 acid-decap die photographs. Johnson manually traced every metal connection and transistor from microscope images, producing a complete netlist. His JavaScript simulator (inspired by the Visual 6502 project) represents each of the 3,213 transistors as a switch, modeling NMOS pullup/pulldown behavior. It is accurate to individual clock cycles but far too slow for real-time play — useful only for debugging and understanding circuit behavior.
FPGA synthesis followed via Johnson's custom tool DLAET, which converts the transistor netlist into synthesizable Verilog HDL. This required roughly 12 manual patches to handle "analog tricks" in the original silicon — charge-holding on gateless capacitor nodes, timing-dependent race conditions, and NMOS-specific pullup leakage behaviors that don't translate cleanly to modern FPGA fabric. The result runs all 6 games (plus the hidden Handicap mode) in real time on a tinyFPGA BX board.
A full MiSTer FPGA core is available at github.com/MiSTer-devel/AY-3-8500-MiSTer, with keyboard controls and multiple color palettes.
Compiled software simulation uses the pipelinetransistor netlist → DLAET → Verilog → Verilator → optimized C++. Verilator compiles the Verilog description into C++ that runs roughly 100× faster than interpreted simulation (iVerilog). Johnson estimated that 75% of AY-3-8500 clock cycles are spent simply incrementing the two LFSR counters, offering significant optimization potential. Integration with MAME has been discussed — MAME already has a netlist subsystem (by "couriersud") that handles discrete-logic arcade games at the TTL chip level, successfully emulating the original arcade Pong, Breakout, and Rebound.
For the original arcade Pong's discrete TTL circuit (66 chips + 555 timers), Stephen Edwards published a comprehensive reconstruction paper in 2012 ("Reconstructing Pong on an FPGA," Columbia University), and Paul Falstad built an interactive JavaScript circuit-level simulation at falstad.com/pong/ that models each TTL chip individually.
The key functional blocks any faithful AY-3-8500 simulation must model: (1) two-phase clock divider, (2) 7-bit horizontal LFSR + 14-output decoder, (3) 8-bit vertical LFSR + 10-output decoder, (4) H-sync and V-sync SR latches, (5) game-select decoder (6 inputs → 7 controls), (6) playfield rendering logic, (7) score counter + hardwired digit pattern generator, (8) RC-timing paddle position comparator, (9) ball position counters + direction registers + collision detection, (10) three-frequency sound generator, and (11) four-channel video output multiplexing.
The score digit generator alone — that one-eighth of the die — is the most complex block to model accurately, as it encodes all digit shapes 0–15 as a massive combinational truth table rather than a lookup table.
CHAPTER 08Conclusion
The Atari Home Pong represents a vanishing class of consumer electronics: complete digital systems with zero stored-program computation. Its architecture proves that complex interactive behavior — real-time video generation, collision physics, scoring, multi-mode game selection — can emerge from nothing more than counters, comparators, and combinational gates.
The Atari 3659-1C and GI AY-3-8500 achieved in ~3,000 transistors what would later require millions, by exploiting the tight coupling between video timing and game logic that only hardwired design allows. Every game "decision" is actually a waveform comparison happening at the speed of electron propagation through NMOS gates — there is no abstraction layer, no clock cycle wasted on instruction fetch.
The full transistor-level reverse engineering by Riddle and Johnson has made the AY-3-8500 one of the best-documented ICs of its era, with open-source FPGA cores, transistor simulators, and compiled C++ emulation paths all publicly available.
For anyone attempting hardware recreation, the MiSTer FPGA core provides a verified, cycle-accurate starting point, while the DLAET→Verilator pipeline offers a proven methodology for bringing other chips of this era — the AY-3-8550, 8600, 8610, and Atari's proprietary variants — into the same level of documented, simulatable preservation.