So I am trying to understand, and perhaps fix, the problems with using duck hunt on a plasma or lcd. I've done lots of googling, and I have seen a few previous threads here, but so far I've concluded that usually the responses make no fucking sense. What I'm looking for is someone who has specific knowledge about how an lcd works and why it is not compatible with duck hunt.
To summarize here is what I have read in various places.
The way duck hunt works:
1. pull the trigger
2. entire screen goes black
3. everything besides the duck remains black, duck turns white
4. photodiode in gun sensing blackness and then white means hit, only sensing darkness means miss
possible reasons for this not working on lcd:
1. timing issue, i.e. the refresh rate of the screen is off from what the game thinks it should be and so when it thinks it should be seeing light it sees black or something along those lines
2. No black screen on an lcd. The idea here being that instead of specifically changing the screen to black, with a crt the game uses the fact that the pixels will fade very quickly and then only specifically paints the duck white. Doesn't work with an lcd because the pixels don't fade.
3. brightness. Could be that the photodiode sensitivity is such that white from an lcd screen doesn't register like the white from a crt.
4. something else entirely
What I am hoping for here is that someone (say an electrical engineer with specific knowledge of tvs) can point out a specific scientific reason why the game doesn't work. And maybe some idea's on ways it could be fixed. For example, if the problem is just the photodiode sensitivity, could I just change the photodiode, or the timer for the photodiode to obtain a working sensitivity?
Posts
I think Duck Hunt actually uses a slightly more advanced technique, based on the time it takes for the horizontal and vertical refresh. Since LCDs don't draw the picture on the screen in this way, I think the only way to make it work on an LCD would be to modify the game code.
From the howstuffworks article on the subject:
LCDs use two layers of polarized glass that are rotated 90 degrees to each other that block light, with liquid crystals in between the glass that rotate 90 degrees when a current is applied to let light through. Since LCDs use a different system of refreshing, the software that reads the horizontal retrace in the NES is not compatible with the LCD.
Actually I believe the way it works is that it flashes the ducks white one at a time. I.e. duck one turns white, game decides if it is a hit or no hit, duck one turns black, duck two turns white, game deicides if it is a hit or no hit, ect...
Here is another area where I am a little hazy. I know that lcd's use liquid crystals that rotate to block light. I completely understand the concept of how this works. But as for refreshing, since lcd's are labeled as interelaced or progressive (neither of which work with duck hunt) i am guessing that they still use line by line refreshing exactly the same way a crt does. Obviously how pixels colors are made is different, but the way pixels are refreshed seems like it would be the same (i.e. one at a time, left to right, row by row for progressive screens).
Even if you guys are correct in that the dunk hunt uses the timing of the retrace line, then it seems to me that you are saying it is a timing issue. In that the lcd scanning occurs at a different rate than what the game thinks it is. So if there were some way to correct for this timing issue it should work again. Is that true?
edit- Also, if it is indeed a timing issue. Are there lcd's out there that refresh at the same rate as crt's? Is there some mechanical reason why this isn't possible? Is it possible to adjust the refresh rate of some lcd's?
As I said, you need to use an interlaced TV to play Duck Hunt.
I'm pretty sure that is incorrect. I'm not even sure a photodiode could detect the electron beam. What the zapper tells the game is when it senses light. So if it it works on the principle of turning the entire page white, and using the timing of the retrace signal, then it is infact a timing issue.
why would an lcd use a different signal. It refreshes the same way a crt does (i.e. pixel by pixel, left to right, line by line). Also for this to matter the game has to be using a signal from the tv about how quick the vertical and horizontal retrace scans are. But from what I read about duck hunt, I think it is more likely that it uses the basic paint one duck white at a time technique. Which does not depend on any sort of timing. Does anyone know for sure that this not how it works?
What you need, is a Cathode Ray Tube.
an LCD is going to refresh all the horizontal lines simultaneously be it every other line (interlaced) or all the lines (progressive).
It's not just interlacing. Even when displaying an interlaced signal, each pixel in an LCD changes at the same time. On an old CRT the electron beam has to physically sweep across the tv. The timing rate basically tells the gun whether or not to be on or off.
-Terry Pratchett
The game is programmed with interlaced TVs in mind and won't work on progressive scan TVs, either.
I mean, you yourself even told the last guy that it doesn't work with prog scan.
It's not specifically the interlacing that makes a newer set the issue. put that aside and forget about it.
it's that the "pixels" on a CRT are refreshed down the row, not all at once.
the fact that a crt has a resolution of 480i while a factor, is not the cause, any decent lcd can operate at this resolution.
I already said that.
Duck Hunt requires:
a) A CRT Television
b) The CRT Television must be operating as an interlaced screen, because the game was programmed with interlaced displays in mind
Interlaced LCDs, LCD Televisions, Progressive scan CRTs and any other video device that does not meet A or B will not work.
Is this true of all lcds? I was unaware that lcds actually refreshed all pixels on one line at once, in fact I am pretty sure I read somewhere that they do refresh pixel by pixel from left to right. I'm not saying your wrong, it's entirely possible I read that from a totally unreliable source, but I am curious if this is true for all lcds or if it is model specific.
Also no one has responded to my belief that duck hunt does not work by painting the entire screen white and timing when the photodiode senses it. If it works based on just painting the duck white, and deciding whether or not the zapper was pointed at the duck based on whether or not it sees the light, then the interlaced or progressive scanning doesn't matter, and neither would the timing.
edit- I would also like to reiterate that I would like specifics as to why progressive lcd wouldn't work. I know it doesn't work, I've tried it. What I'm wondering is if there is some way to tweak my setup that would allow it to work. Either by messing around with the zapper, and the timing circuitry, or adjusting settings on the tv, or some sort of program on my laptop that could change the timing information sent back to the game. In other words, what would need to be done to make it work. Probably it will be a lot more difficult than I want to deal with, but I would still like to know.
I'll just bow out now.
edit:
IIRC:
please excuse the crudity, I'm on my lunch at work.
the first is a CRT's refresh pattern.
the second is an interlaced LCD where line A is refreshed, then line B.
the third is a progressive scan LCD.
Right what I was saying was that it isn't the interlaced signal, a progressive scan television can still display an interlaced signal it's just faking it it's the specific design of how the tv "draws" it's pixels. An LCD instantaneously fills every pixel where as a CRT sweeps from left to right top to bottom.
::edit:: Ok apparently LCD's fill left to right, anyway we're all saying the same thing, it won't work. Think of the zapper as a clever hack that stopped working when you upgraded to the newer version of display adapter.
-Terry Pratchett
I've heard that you can aim the Zapper at a bright light and it will register as a hit, but I guess this is not what you can call "playing". I have no idea how the game determines which duck was hit if you do this.
[edit]
I've also found this link and the second answer there might be helpful.
[edit 2]
This patent might also shed some light.