Basically I want to make the NES Light Gun work on my LCD TV. I've done a bit of research and it seems that the zapper relies on the line by line drawing that the CRT screens did. To make it work, it seems like I'd have to get the LCD to draw the picture line by line and send the NES line draw signals just the CRT screens did.
My plan is to intercept the video signal from the NES video cable (which is a coaxial cable) and send the LCD modified video data that will make it draw line-by-line and send the NES signals when I tell the LCD to draw each line. Is this something that is possible? Can I get the LCD to draw all of the lines required for 60Hz playback and can I do it without too much delay making the NES out of sync with the video that is playing?
Also, if anyone has done anything with decoding and modifying video data from a coaxial cable before their experience or code libraries would be really helpful. If anyone has a better way to make the light gun work or advice on how to implement my idea help would be greatly appreciated.
I don't think that would work. Light guns worked by detecting the position of the electron gun's dot on the screen. Because the LCD's light source is effectively uniform, there isn't a way for for the system to detect the moving 'dot'.
I don't think it'll work either. The design presupposes that the screen only illuminates one pixel at a time. The LCD doesn't display pixels as they arrive (it accumulates them in a frame buffer) and all pixels continually display what's in the frame buffer. To get the LCD to display pixels as they arrive (and turn the other pixels off) would (a) require changes to the LCD firmware, which you have no access to, and (b) look hideous, because LCD pixels don't provide the same persistence that CRTs do.
Maybe I didn't understand how it works correctly. I was under the impression that it waited until it saw an increase in light and checked the drawing progress to determine which target it was currently drawing. Then the target that the player shot at would be the one the screen was currently drawing.
For my method I would need the LCD to refresh at 60*(screen height in px) Hz which just isn't going to happen with LCD. Not only is it easier to just buy a CRT screen but it might not even be possible to make it work on an LCD.
The geeky solution is to attach a webcam to the gun and use AR marker recognition to recognise when the screen was in view and which point on the screen was at the center of the frame, and synthesize the signal that the original NERF gun would have generated from that at the correct timing wrt the (VGA?) video stream. I don't know if it would be practical to pick up frame and line sync using an Arduino, but it may be possible using the video experimenters shield or something like that.