I'm told that the original Duck Hunt (NES) works fine on all CRT screens, but fails to register successful hits on a plasma or LCD screen. Why is this? Is there a fix for it?
I disagree with both of the contributed answers to this question. They are right but for the wrong reasons. I believe LCDs don't work because of a technical limitation, but this talk about electron beams and "retrace lines" doesn't make sense to someone who understands the technology: a properly contrasted white box is all the light gun looks for. The photo-diode inside the gun can't tell if it's seeing white light from lit phosphors or a properly backlit LCD.
Please understand that my response is founded on my studies in computer engineering (specializing in embedded systems design) at a credible institution, where, out of many projects, I had a particularly pertinent project writing the VHDL code to drive images in frame buffers directly to the raw data pins with horizontal/vertical/blanking timing signals of an LCD display. My response is also based on knowledge of how Duck Hunt and the light gun interact. However the following is mostly based on my observation in getting Duck Hunt working on a recent-model Samsung LCD TV.
This problem is almost certainly to do with timing and image processing. Brightness may play a factor in some people's situation (early LCDs had relatively poor contrast ratios), however the pixel transition time and contrast ratio of the Samsung LCD I used were good enough to occasionally register a hit. The fact that it registered at all may be a miracle but I can assure you it has nothing to do with CRT electron beams or retracing.
Why I believe this to be a latency issue is because of a strange anomaly where, when I could finally get the title screen to register a hit, I'd either end up in the single, double-duck or double-clay pigeon mode. When I'd fire at a target there'd be a roughly 50/50 chance that the white boxes would display at all, and I could never hit a duck in the single-duck game. However in the double-duck/pigeon game, when I would see the white squares and a hit would be registered, the wrong target would get hit.
From what I understand about Duck Hunt, to allow for hits on multiple targets to be distinguished, the game would first blank the screen and show the square for "target 1" for a few milliseconds (not sure on timing), then clear that square and show the square for "target 2" for a few milliseconds. CRT TVs would have no latency in showing the image to the screen and therefore work great for Duck Hunt where the times that white squares were on the screen were timed precisely by the game. What I believe I experienced was that the light gun would see the square for "target 2" when I aimed at "target 1" because of the latency in the image processing algorithm the TV was using to up-convert the image. When I'd fire, the game thought it saw the light from "target 1", because that's the square being shown on the TV at the time, when the target I shot at on the TV was "target 2".
I have a number of tests I want to try and run to confirm if this theory is correct, but if this is the case, TV manufacturers could fix this problem by speeding up the processing of the image. So all my classic-gaming friends, all hope is not lost and as technology gets better we may once again be able to use our NES zapper with future TVs.