logoalt Hacker News

chonglitoday at 4:37 AM0 repliesview on HN

It draws one white rectangle per frame over each duck when you pull the trigger and checks if the Zapper can see it

Almost, but not quite. First it blanks the entire screen to solid black and uses that to calibrate the black level of the gun, then it draws a white rectangle over one duck on one frame, then a white rectangle over the other duck on the next frame.

The NES could use this information to determine where the gun was pointing by firing an interrupt at the exact moment when the zapper’s photodiode reached a threshold brightness level above black, and then only register a hit if that occurred while the game was drawing the white rectangle. I think in reality the game didn’t care that much about the timing, only that a rising edge occurred after the fully black frame but before the return to a normal colour frame.

Either way, an LCD doesn’t work because it can’t transition full black to full white within a one frame window. It sometimes works in the 2 duck mode, but it usually records a hit on the wrong duck. In any case, it requires black to white latency less than 16ms