Когда-то были времена безраздельного главенствования Денди. Эта приставка правила умами многих и многих, и даже теперь (особенно теперь!), когда мир полон протвиостояния приставок нового поколения, как то PS3 и Ms XBox 360, она вновь и вновь даёт о себе знать, вызывая в сердце приятные чувства чего-то старого, давно потерянного, но вместе с тем совсем не забытого, ибо те ощущения, которые она в своё время дарила геймерам - незабываемы по определению. У счастливчиков (я в их числе) имелся дополнительный аксессуар к данной приставке - пистолет, из которого можно было палить по персонажам специально для этого созданных игр.
Duck Hunt
Hogan's Alley
Wild Gunman
И вот, благодаря хабрецам (habr.ru) был найден ответ на один из самых животрепещущих вопросов во Вселенной: "Как работает световой пистолет?". Итак... В пистолете (который, на самом деле, называется Zapper) встроен фотодиод, а из-за длинного «дула» этот фотодиод становился узконаправленным. В момент нажатия «курка», весь экран на мгновение заливался чёрным, а спрайт мишени — белым прямоугольником. Если же мишеней было несколько (NES поддерживала до 4, но это не точно), то мишени подсвечивались по очереди (подмигивая) и приставка вычисляла попадание, используя бинарный поиск. Это одна из самых простых реализаций светового пистолета. В других приставках использовались и более сложные методы, к примеру учитывающие то, что луч (в ЭЛТ-телевизорах) освещает только одну точку в каждый момент времени. Приставка заливала экран белым в момент нажатия и отсчитывала время до засветки фотодиода. Таким образом, направление можно было вычислить более точно, а количество мишеней определялось «радиусом поражения» пистолета. Эта схема, к примеру использовалась в SNES. Первый же световой пистолет был изобретён аж в 1936 году для автомата Seeburg Ray-O-Lite, в котором кинескопа ещё не было =). Надо было тоже целиться в уток, как и в известной Dendy'вской Duck Hunt.
Seeburg Ray-O-Lite
Подробно можно прочитать в англоязычной Википедии - статьи: Light Gun NES Zapper
Материал позаимствован из поста Хабрачеловека markmariner'а