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 10190 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
  • Former Member
    Former Member over 10 years ago

    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 out how to get rid of the delay on the TV.

     

    To help explain this and make it easier to visualize in your mind we can pretend that the delay on the newer sets is a whole 5 seconds(I know the actual delay is under 1 second).

     

    When you see the duck, and click that clicker on the zapper, the nes game is is immediately looking for a response from the zapper.  It is as simple as that.  And in my pretend delay of 5 seconds it would have taken the 5 seconds for the black screen with white squares to show up so the zapper didn't get a hit to send a signal to the nes.  So now lets say you hooked up a microprocessor to the Zapper or made some other circuitry and hooked to the zapper so after clicking would wait that exact 5 seconds before the zapper would look for the white squares to be able to register a hit and send a signal to nes.  That still wouldn't work because like I said the game itself was looking for for that signal almost immediately there after.

     

    The only way to get around this is to modify the game itself with code.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 10 years ago in reply to Former Member

    Hello,

     

    I'm new here, but I don't quite understand why someone couldn't recalibrate the games code to make it work.  But besides that, am I the only one that wishes we could have a zapper for on rail games at home on newer tvs? I understand that refresh rates may vary, but couldn't a calibration setup be implemented into a newer game's code?  It would be really cool to play that Dead Space Wii game with a zapper rather than a wiimote with a cursor. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • william_hoffer
    william_hoffer over 10 years ago in reply to Former Member

    "someone couldn't recalibrate the games code" Have you seen game code before? Have you seen codding before?

     

    First off,how do you access the code on the chip set of the game? Next, there is probably several thousand lines of code, so how do you find the lines of code that relate to the gun lag? Once those lines are re-coded, what to do if those new lines cause errors in other parts of the program that were dependent on the original codes? Finally how do you upload the new code to the game cartridge?

     

    When the game was originally coded it was in a computer then uploaded to a server who then wrote it to the chipset and usually they wrote protected the chips so no one, including there competitors, could do just what you suggested and make clones of the game to sell.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • william_hoffer
    william_hoffer over 10 years ago in reply to Former Member

    "someone couldn't recalibrate the games code" Have you seen game code before? Have you seen codding before?

     

    First off,how do you access the code on the chip set of the game? Next, there is probably several thousand lines of code, so how do you find the lines of code that relate to the gun lag? Once those lines are re-coded, what to do if those new lines cause errors in other parts of the program that were dependent on the original codes? Finally how do you upload the new code to the game cartridge?

     

    When the game was originally coded it was in a computer then uploaded to a server who then wrote it to the chipset and usually they wrote protected the chips so no one, including there competitors, could do just what you suggested and make clones of the game to sell.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • kidiccurus
    kidiccurus over 10 years ago in reply to william_hoffer

    Actually, modifying NES games is a fairly common hobby. Using a hex editor, it is possible to make changes to certain aspects of the games code, and with a separate programming called a tile editor it is then possible to alter graphics. A rom splitter is them used to split the modified rom into files to be burned to eproms which are soldered into place inside the cartridges in place of the original ROMs. Some disassemblers are also available. If you have a good enough knowledge of assembly it may be possible for you to modify the code.

    Also write protection come from the physical nature of the ROMs used in NES carts. Because the programming is etched directly into the chip, they cannot be erased for reprogramming. This did nothing to prevent the game being copied. The ROMs had to be readable for the console to read the code it headed to run the game, and as a result the code could easily be copied with the correct equipment. In fact, cartridges containing hundreds of pirated NES games were commonly sold in countries like China, and many hobbyists still produce replica versions of rare games.

    • Cancel
    • Vote Up +1 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