The History of Light Guns · Volume 3
The 8-Bit Boom — Zapper, Light Phaser, XG-1 and the Home-Computer Guns, 1984 to 1990
Two ways of reading a CRT that every later console gun copied: Nintendo's black frame and white box, decided in software, and Sega's and Atari's latched beam position, decided in silicon

3.1 From the arcade to the living room
By 1980 the three detection schemes — level, coded, and timed — were all published (Volume 2). What the 1970s lacked was a home machine with a fast enough, cheap enough, programmable video system to use the better two. The 8-bit consoles supplied it. Within four years Nintendo, Sega and Atari each shipped a gun, and they split cleanly into two engineering schools that every later console followed:
- Decide in software. The gun is a fast, filtered light sensor and nothing else. On a trigger pull the game redraws the screen as a test pattern and polls the sensor; the program’s knowledge of what it just drew tells it what the gun saw. Nintendo.
- Decide in silicon. The gun’s sensor output goes to a pin on the video chip that freezes the chip’s own horizontal and vertical counters at the instant the beam passes under the barrel. The game reads back an X and a Y. Sega and Atari, following the light pen.
The per-gun identification details — model numbers, connector pin-outs, bundles, variants — are in Console Light Guns and Home-Computer Light Guns. This volume is about why the two schools exist and what each one cost.
3.2 The Famicom gun and the NES Zapper
Nintendo came to the home light gun with fifteen years of light-gun products behind it: the Kōsenjū toys of 1970, the Laser Clay ranges of 1973 and the film-projection Wild Gunman of 1974 (Volume 1). The Famicom’s revolver-shaped light gun (光線銃) went on sale in Japan on 18 February 1984, according to the model-number lists, with Wild Gunman, Duck Hunt and Hogan’s Alley as its games;1 the pistol-shaped Zapper followed with the NES in North America in 1985.
The games came from Nintendo’s own arcade line too. The Vs. System cabinets ran Duck Hunt and Hogan’s Alley with a light gun of the same family — MAME’s source notes that the NES, Vs. System and PlayChoice-10 guns all use the same Sharp sensor IC (§3.4), and the NESdev wiki records that the Vs. Zapper reports its trigger and light bits through the controller’s serial protocol, with the light-sense polarity inverted relative to the home gun.23 Duck Hunt itself is recognisably Atari’s Qwak! of 1974 — the diving duck, the retrieving dog, three shots (Volume 2) — rebuilt around a far better gun.
3.3 How the Zapper decides a hit
The Zapper does not know where it is pointing. It reports two bits — trigger and light — on the controller port (bit 4 and bit 3 of $4016 or $4017, with light-sense active low: “0: detected; 1: not detected”), and the rest is software.3 The NESdev wiki, which documents the protocol from test-ROM measurements, gives the sequence a game runs after the trigger:
- During vertical blank, check that the gun is not seeing light.
- For each target in turn, draw a frame that is black except for a white or light box at that target’s position, and poll the light bit through the whole frame. If the bit goes low, that target was hit.
- Restore the normal picture.3

This is Baer’s coded target (Volume 2, §2.2) done properly. The “code” is the sequence black-then-box, the program knows exactly which frame contained which box, and the only light source in the room that can pass the test is one that is dark during frame 1 and bright during exactly the right later frame. A lamp, a window or a held-up torch fails at step 1. The cost is visible: the screen flashes black for a frame or two on every shot, and each additional target on screen adds a frame of latency to the answer.
The resolution is coarse but sufficient. The test box only has to be as big as the target; with the sensor’s optics seeing a patch of screen several boxes wide at living-room distance, the Zapper answers “duck or not”, never “where”. Games that need a position — a cursor, a target sight — cannot be built from this scheme without many test frames, which is why Nintendo’s own 16-bit gun went to the other school (Volume 4).
How long the light bit stays low tells something about the sensor. Test measurements give about 26 scanlines for pure white, 24 for light grey and 19 for dark grey, and the wiki advises polling across the whole frame because “the sensor may turn on and off in 10 to 25 scanlines”.3 At 63.5 µs a line, that is roughly 1.2 to 1.7 ms: longer than the beam takes to cross a small box, because the output is the envelope of a filtered signal (§3.4) and because the gun’s lens sees a disc of screen spanning many lines.
3.4 The filter inside the barrel
What makes the Zapper fast enough for this is one part. MAME’s source code, which emulates the sensor, identifies it: the NES, Vs. System and PlayChoice-10 guns and R.O.B. “all use a Sharp IR3T07, though the NES zapper is (always?) seen with the IR3T07A revision”.2 The NESdev wiki describes its behaviour: the photodiode’s signal passes a filter “tuned approximately to the CRT scanline frequency (~15 kHz)”, which “filters out slow light sources like bulbs”.3 An independent bench test published in 2025 drove an LED at swept frequencies into a Zapper and found it responded between roughly 13.5 and 20 kHz, bracketing the 15.734 kHz NTSC line rate.4 The part is undocumented and long out of production.
The engineering reason is worth spelling out, because it is the reason the Zapper later fails on every flat panel. A patch of CRT phosphor lit by the beam is not a single flash: the gun’s optics see a disc of screen many lines tall, and as the beam crosses that disc line after line, the light the photodiode receives is a burst of short pulses repeating at the line rate, about 15.7 kHz. A filament lamp is a constant with a slow 100 or 120 Hz ripple; a fluorescent tube is a few-hundred-hertz-wide flicker. A band-pass filter at the line rate passes the burst and rejects both. Together with the black-frame test, it makes the Zapper the first consumer gun that cannot be fooled by a lamp. It also means that if the screen does not scan, the gun does not see it — Volume 6.
3.5 Sega’s Light Phaser: letting the video chip do the timing
Sega’s Light Phaser for the Master System took the other route. Its sensor drives the controller port’s TH line, its trigger the TL line (button 1), and the console’s video display processor does the rest: SMS Power’s developer documentation states that “the HCounter is automatically latched when either controller’s TH line is active (0)”. After a trigger pull the game shows a solid bright frame and polls TH; when TH goes low it reads the current scanline for Y and the latched H counter for X.5
The documentation is candid about accuracy. The sensor “sees a circle rather than a single pixel”, so the first latch is the top-left edge of that circle rather than its centre, and “it is advisable to do some sort of averaging and extrapolation to arrive at a center position of the scanned circle”; polling can stop “after two scanlines with no response or at scanline 192”.5 This is the Baer precision-rifle method of 1979 (Volume 2, §2.8) built into a consumer video chip: vertical position from the line count, which is exact, and horizontal position from a counter latched by the sensor edge, which carries every microsecond of the sensor’s delay as a fixed offset plus jitter. The game calibrates the offset away; the jitter is the gun’s horizontal error.
The payoff is that the game gets a coordinate, not a yes or no. A sight can follow the gun, and a shot can land anywhere on screen with no test frames per target.
3.6 Atari’s XG-1: a light pen with a trigger
Atari’s XG-1 shipped with the XE Game System in 1987 and also worked with the Atari 8-bit computers and the 7800 and 2600 consoles. It is a light pen in a pistol shell. The Atari 8-bit hardware had a light-pen input from the start: the video chip latches its beam position when the pen line fires, and the operating system copies the result into memory locations LPENH (564) and LPENV (565). Antic magazine’s 1988 programming note for the gun is short: “memory locations LPENV (565) and LPENH (564) are always updated by the operating system”; “whenever the light gun is plugged into any port, that port’s joystick reading will be 14 instead of 15”; “whenever the gun’s trigger button is pressed, the joystick reading for that port goes to 15”.6
So the XG-1 is the silicon school in its oldest form. The light pen — a stylus with a photodiode, pressed against a CRT to point at menu items — had been in use on graphics terminals since the 1950s and on home computers since the late 1970s, and every video chip that supported one already had the beam-position latch a light gun needs. Making a gun was a matter of putting the photodiode behind a lens at the end of a barrel so it could see the screen from across the room.
3.7 The home computers
The light pen’s latch is why home computers had light guns before most consoles did. Machines whose video chips latched a pen position could take a gun on the same pin: the Atari 400 and 800 from 1979, the Commodore 64’s VIC-II with its light-pen registers, and others. Third parties sold guns for the ZX Spectrum and Amstrad machines as well, of which the Magnum Light Phaser in the plate above is the best known. Which pin carried the signal on each computer, and which guns and games existed, is the subject of Home-Computer Light Guns; the pen and gun front ends are drawn at block level in CRT Timing.
3.8 The arcade in the 8-bit years
The arcade carried both schools at once. Nintendo’s Vs. System cabinets used the Zapper’s method. Other makers used beam timing in dedicated hardware, and some abandoned optics altogether for guns mounted on the cabinet, whose aim could be read from the mount’s position. Taito’s Operation Wolf (1987), with its cabinet-mounted Uzi that kicked on every burst, made the machine-gun cabinet with recoil a genre; its gun is optical, and Taito America’s wiring diagram shows a sensor board and a motor behind it; the potentiometer-aimed Taito guns came after it, with Operation Thunderbolt (1988). Arcade Light Guns has the cabinet manuals.
3.9 Two schools
Table 1 — 3.9 Two schools
| Decide in software (Nintendo) | Decide in silicon (Sega, Atari, light pens) | |
|---|---|---|
| What the gun reports | One light bit and one trigger bit | A sensor edge to the video chip’s latch pin, and a trigger |
| What the game gets | ”Target n was hit” | An X and a Y |
| Screen cost per shot | One black frame plus one test frame per target | One bright frame (often) |
| Lamp rejection | Black-frame test plus the IR3T07A’s line-rate filter | Edge timing inside a known frame; filtering varies by gun |
| Horizontal accuracy limited by | Box size | Sensor-chain delay jitter, in microseconds |
| Needs from the console | Nothing special | A video chip with a beam-position latch |
| Needs from the display | A scanning beam (filter) | A scanning beam (timing) |
Both columns end in the same row. Every 8-bit light gun depends on a cathode-ray tube drawing the picture point by point, at the moment the program expects. The next generation refined the silicon school until it was very good (Volume 4); the one after that discovered it had nowhere to go (Volume 6).
3.10 What could not be verified
- The North American launch date of the NES Zapper. It is given here only as 1985; Console Light Guns carries the dated identification table.
- The Sega Light Phaser’s launch date and the internal sensor IC; SMS Power documents the interface, not the parts.
- The internal filter design of the IR3T07A. No datasheet was found; the pass band above is a third-party bench measurement.
Sources
Footnotes
-
maru-chang.com, Famicom hardware model list (English page), entry HVC-005, https://maru-chang.com/hard/hvc/english.htm, read 2026-10-19. Collector reference; the date matches other model lists. ↩
-
MAME source,
src/devices/bus/nes_ctrl/zapper_sensor.cpp(copyright holder “kmg”, BSD-3-Clause), header comment, https://github.com/mamedev/mame/blob/master/src/devices/bus/nes_ctrl/zapper_sensor.cpp, read 2026-10-19. ↩ ↩2 -
NESdev Wiki, “Zapper”, https://www.nesdev.org/wiki/Zapper, read 2026-10-19 (light-sense timings from the Zap Ruder test ROM). ↩ ↩2 ↩3 ↩4 ↩5
-
Nick Bild, “How the NES Zapper Really Works”, Hackster.io, 2025, https://www.hackster.io/nickbild/how-the-nes-zapper-really-works-79add2, read 2026-10-19. ↩
-
SMS Power!, Development: “Light Phaser”, https://www.smspower.org/Development/LightPhaser, read 2026-10-19. ↩ ↩2
-
Matthew Ratcliff, “XG-1 Light Gun Finder”, Antic Vol. 7, No. 8, December 1988, https://atarimagazines.com/v7n8/xg1light.php, read 2026-10-19. ↩
Comments (0)