element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
element14's The Ben Heck Show
  • Challenges & Projects
  • element14 presents
  • element14's The Ben Heck Show
  • More
  • Cancel
element14's The Ben Heck Show
Forum An NES Zapper for modern LCD TVs?
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join element14's The Ben Heck Show to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 16 replies
  • Subscribers 37 subscribers
  • Views 9990 views
  • Users 0 members are here
Related

An NES Zapper for modern LCD TVs?

Former Member
Former Member over 11 years ago

This is a post i made previously on another thread, but i'm now posting it as its own discussion to hopefully get some response from Ben or anyone else who can figure out how to do this build.

 

Dear Ben (or anyone else with the technical skill to solve this problem),

 

For a while now I've been looking for a way to modify an NES Zapper to work on modern televisions. After a lot of research, i think i have figured out exactly why it doesn't work. Unfortunately, however, i am just a computer science student with only very basic experience in working with electronics, so i do not know how to even begin implementing a solution. I was hoping you would be able to help.

 

As you probably know, the Zapper works by having the entire screen go black save for the targets, at which point a photo diode senses whether or not it is pointing into the light. However, this is actually accomplished by a multistage process which i will outline below:

 

1) The NES redraws the screen completely black for one frame. The Zapper checks to make sure no light is detected before proceeding, preventing any accidental readings from other light sources (this is why pointing it at a light bulb doesn't work).

2) The NES redraws the screen with only target #1 illuminated for one frame. The Zapper checks for light, and the Nintendo determines if the player has hit target #1.

3) The NES redraws the screen with only target #2 illuminated for one frame. The Zapper checks for light, and the Nintendo determines if the player has hit target #2.

4) This process repeats for all targets on screen.

 

The obvious issue with modern televisions is that they tend to upscale the image, resulting in a slight delay that messes up the precise timing required for this sequence to work. Another potential issue i have read about is the nature of the photo diode itself. I have heard that Nintendo opted to use cheap photo diodes that only detect the infrared light coming from the CRT, thus preventing it from working on modern televisions, however i can not verify this.

 

I was hoping that you would be able to come up with a creative solution to this problem that even someone as inexperienced as me would be able to follow (maybe even make an episode out of it ).

 

-Andrew

 

Sources:

https://www.youtube.com/watch?v=c3tBk-LYyzo

nes monitor - Why doesn't Duck Hunt work on plasma or LCD screens? - Arqade

 

EDIT: Someone on youtube has been working on a solution to this problem, but it has been a year since they last updated so i have no idea if they ever finished it. If you have any doubt that this is possible, here is a video where he shows his working prototype: https://www.youtube.com/watch?v=8D624JADDOw

 

EDIT 2: A possible solution i have considered would be to connect to the expansion port on the bottom of the nintendo using an ENIO board to allow the gun to directly interface with the 2A03, but i have no idea how i would implement this or how it would actually work. It would probably need to tell the game to flash the targets on screen, then wait until the gun can determine whether or not it is pointing at a target before advancing to the next bit of code.

 

EDIT 3: I have recently tested an NES zapper on an old projection tv. This proves that the issue is caused by input lag and not the lcd screen itself, because it shows that the zapper CAN indeed work on a non-CRT television.

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 10 years ago +2
    Hopefully I can explain why this would be impossible by adding something to the console or by modifying the zapper in anyway. There is no way to get around the delay. The only way possible is to figure…
  • beacon_dave
    beacon_dave over 8 years ago in reply to shabaz +2
    This may be of interest, using a R-Pi, Wiimote and an Arduino... Tricking Duck Hunt to See A Modern LCD TV as CRT http://hackaday.com/2016/08/30/tricking-duck-hunt-to-see-a-modern-lcd-tv-as-crt/ https…
  • shabaz
    shabaz over 8 years ago in reply to beacon_dave +2
    Hi Dave, That's a good idea. I was thinking of non-lightgun ways to identify the position and then trick the lightgun input at the correct time, but I couldn't think of a simple solution like the Wii …
Parents
  • madlemaudit
    madlemaudit over 8 years ago

    Hi, sorry for bumping up this thread, but maybe I found a way to make lightguns work with modern screens.

     

    Considering it's a delay issue, maybe we can underclock the processor of the NES. Obviously, we don't want to slow the entire game, but just at the moment the gun is triggered.
    I think this mod  can be achieve with a couple transistors and a quartz oscillator.

     

    But, I wonder if switching the clock this way a numerous times is good for the proc, or can be a source of issues. I'm about to order a bunch of quartz to do some tests, but if the only result I can get is a dead NES, better to know before !

     

    Thanks for reading.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 8 years ago in reply to madlemaudit

    Hi,

     

    This assumes that slowing a clock will still provide a valid video signal but this isn't the case, there are timings that need to be met otherwise the monitor will display nothing. There is no convenient way to make a light gun work with no game software (e.g. source code) modification and using the video output attached to an LCD monitor that I can figure out unfortunately.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • shabaz
    shabaz over 8 years ago in reply to madlemaudit

    Hi,

     

    This assumes that slowing a clock will still provide a valid video signal but this isn't the case, there are timings that need to be met otherwise the monitor will display nothing. There is no convenient way to make a light gun work with no game software (e.g. source code) modification and using the video output attached to an LCD monitor that I can figure out unfortunately.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • madlemaudit
    madlemaudit over 8 years ago in reply to shabaz

    Thanks for the quick answer.

     

    I thought that with the whole system slowed the timings would've been automatically matched, like when the proc is overclocked, but...in reverse.
    I've overclocked my genesis at 10mhz and it work pretty fine... why can't we underclock a NES ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • beacon_dave
    beacon_dave over 8 years ago in reply to shabaz

    This may be of interest, using a R-Pi, Wiimote and an Arduino...

    Tricking Duck Hunt to See A Modern LCD TV as CRT

    http://hackaday.com/2016/08/30/tricking-duck-hunt-to-see-a-modern-lcd-tv-as-crt/

    https://www.youtube.com/watch?v=DzIPGpKo3Ag

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 8 years ago in reply to beacon_dave

    Hi Dave,

     

    That's a good idea. I was thinking of non-lightgun ways to identify the position and then trick the lightgun input at the correct time, but I couldn't think of a simple solution like the Wii 'mote. Very cool : )

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • r4builder
    r4builder over 7 years ago in reply to beacon_dave

    Slightly Sorry for the thread bump.  This has me pondering if you couldn't take it a step further and remove the zapper completely from the equation, and just use a wiimote for the games.  Instead of outputting to an LED, use a serial output to send the signal to the console itself.  It would mean extra work per system to mimic the controller, and a serial interface, but boy would that be clean.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • makerkaren
    makerkaren over 7 years ago in reply to r4builder

    Subbing in a wiimote for the zapper to play Duck hunt seems the best solution I have heard yet to be able to play the game on a modern television. However, at that point, it's so much work, and likely impossible, to make the wiimote work with the original hardware that the ideal solution is probably just to emulate the game and work the emulation to work with the wiimote. Do you agree?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube