Zap Ruder: The Zapper test ROM project

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

User avatar
thefox
Posts: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Post by thefox » Sun Oct 02, 2011 6:26 pm

tepples wrote:The addition of the tennis game doubled the project's compressed size, but it's smooth. Wii smooth.

Download Zap Ruder 0.02
Pretty cool. Too bad I have no way of testing it with the actual hardware (no zapper, no CRT).
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Oct 03, 2011 12:01 pm

ZapPing can fallback to using a controller.

User avatar
AWal
Posts: 132
Joined: Wed Oct 06, 2004 8:00 am
Location: Northern New York
Contact:

Post by AWal » Fri Oct 07, 2011 4:56 pm

Hi, Just though I'd chime in here, while browsing another thread it was mentioned that there was a lack of feedback.

I have had an opportunity to test Zap Ruder on my consoles, not only with a CRT TV, but also with a pair of first-party Zappers (one grey one orange :) ).

It was very surprising that the Zappers are apparently capable of accurate light detection at the horizontal raster level (I actually did not know this until I threw it into Nestopia). A quick test of the paddle game, and I knew for certain that I had to try this on the real thing.

The primary detection on the X axis, even at my TVs default settings (which are very very dark, so that the glow of the phosphors doesn't saturate the light...that bugs me) was able to accurately pin point the horizontal scanline without any issue. As you stated earlier the Y axis tends to be 'noisy' And I did note that...although my grey Zapper showed less noise when pointed at the screen. This might be a chip revision sort of thing...I'll have to crack them both open and nab the numbers when I have some time (and more importantly, room on the desk to do so :? ).

When I had my dev cart running, and the tests showed acceptable results, I decided to give ZapPing a go. I plugged both controllers in and tossed the grey one to a roommate that was sitting by the set at the time. The background required me to change the brighness of the set at first (probably also why nintendo decided to use a white color), but then we ended up playing that game for about an hour. The underlying concept that a device that is normally associated with pulling the trigger and hitting a flash onscreen actually being used 'alternatively' to control a paddle was definitely an interesting concept.

I do have to say, the fluidity of the 'controller' was definitely "Wii Smooth."

The only real gripes I have with the software thus far is that the test menus are particularly tricky to navigate with the Zapper; Perhaps allowing a controller to select the menu could suffice here (or possibly smaller or more seperated targets for better control). Additionally, the only other thing I noticed was that ZapPing had no real way of letting you know that you weren't targeting the set. In WarioWare Smooth Moves the microgames that required targeting using the Sensor Bar usually would have the target object flash if they could not get a stable reading (The elephant's trunk, Mario with FLUDD, etc.). Perhaps if the Zapper cannot 'read' the screen, the paddle could flash. I say this simply because you do not necessarily need to look down the sight to aim the paddle, especially in this day and age with people used to just flicking Wii Remotes around.

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Fri Oct 07, 2011 5:14 pm

Thanks for the feedback.

As for the brightness: Finding what brightnesses and hues work and don't work is one of the things the "Y COORD 1 GUN" screen is for. Try changing the hue and brightness by pressing Up, Down, Left, and Right on the Control Pad of the controller in port 1.
AWal wrote:The only real gripes I have with the software thus far is that the test menus are particularly tricky to navigate with the Zapper; Perhaps allowing a controller to select the menu could suffice here
Did you try navigating the menu with a controller in port 1? It works with my authentic NES controller, and it works with a Super NES asciiPad through a Super NES to NES adapter that another member made me.
Perhaps if the Zapper cannot 'read' the screen, the paddle could flash.
Good suggestion. That might help my grandma, who always drifts gradually to the right and ends up pointing offscreen (POINT PODGE) when she plays.

User avatar
AWal
Posts: 132
Joined: Wed Oct 06, 2004 8:00 am
Location: Northern New York
Contact:

Post by AWal » Fri Oct 07, 2011 6:59 pm

tepples wrote:As for the brightness: Finding what brightnesses and hues work and don't work is one of the things the "Y COORD 1 GUN" screen is for. Try changing the hue and brightness by pressing Up, Down, Left, and Right on the Control Pad of the controller in port 1.

Did you try navigating the menu with a controller in port 1? It works with my authentic NES controller, and it works with a Super NES asciiPad through a Super NES to NES adapter that another member made me.
Didn't think to plug an actual controller in...Much easier to work the menus with that.

User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 » Tue Oct 25, 2011 11:36 pm

Wow this app is awesome! I just tried that and it felt like a freaking 8-bit wii controller! Didn't knew that the lightgun is able to scan movement like that! Nice!
(testing on original Famicom with pirate lightgun connected via ext port)

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon May 14, 2012 3:58 pm

Who remembers my old Axe music toy demo for DS homebrew? It's back as part of Zap Ruder 0.03.

The big thing I'm missing at the moment is how to make the CPU opponent play fair. Right now it plays nearly perfectly despite using a controller.

User avatar
infiniteneslives
Posts: 2100
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Post by infiniteneslives » Mon May 14, 2012 5:19 pm

Cool stuff!

I like the music demo, seems easy to make a catchy tune.

Yeah podge is a beast with the paddle... I couldn't get one score on him. How are you trying to keep him from perfect? Seems like once the ball is hit back and forth so many times or the ball is faster he should be more prone to failure. Or maybe even more prone to fail if his score is higher than yours.

Bananmos
Posts: 511
Joined: Wed Mar 09, 2005 9:08 am
Contact:

Post by Bananmos » Fri May 18, 2012 1:28 pm

Oh crap, this test ROM will make it all too easy for people to find the easter egg in Years Behind using emulators :wink:

User avatar
Dwedit
Posts: 4306
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Fri May 18, 2012 1:55 pm

Bananmos wrote:Oh crap, this test ROM will make it all too easy for people to find the easter egg in Years Behind using emulators :wink:
Konami code?
Didn't notice it until Code-Data logging the rest of the game, then noticing the Data count go up when typing those keystrokes.

edit: I'll assume the real secret is something else, the stripped ROM is still missing a lot of data :)
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

Bananmos
Posts: 511
Joined: Wed Mar 09, 2005 9:08 am
Contact:

Post by Bananmos » Fri May 18, 2012 3:08 pm

I tried the (x, y) code, which measures the timing of photosensor activation down to a resolution of about six cycles, on an NES. Emulators gave clean timings, but timings from my NES were very noisy, with a range of about six or seven measurement points. Really all I think I can discern is left, center, or right, definitely not enough for firing a missile at a given point on the screen, and probably not even enough to do any meaningful target rejection given that the sprite unit already limits how many targets can be on one scanline.
How about compensating noise by using some sort of oversampling? If you settle on a maximum number of frames of delay that are acceptable, then in frame N you could compare the noisy X coordinate with the noisy ones from frame N-1, N-2 etc. I'd say up to 5 frames of history (for a minimum update rate of 10Hz assuming PAL systems) would be decent enough to be playable if the goal is to enable determining the position of the target on a bright grid without having to blank the screen.

If you believe you can reliably determine if it is left, center or right as your post suggested, then that's a good start. From there you could convert the x positions to 3 bits for 8 candidate positions (0-7, 4-11 and 8-15).

You could then use three different tables for these three base positions. Each table would store a "most likely real X coordinate" for the history of noisy X coordiantes given by this index. With say four frames of history, you'd then need to index a 3+3+3+3 = 12bit table, meaning three of those tables would take 12kB. If that would give reliable results enough to indicate that this idea works, you could probably start optimizing by decreasing the size of your history. (and thereby the table sizes)

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Fri May 18, 2012 5:43 pm

Yeah, I could take the median of the past five measurements. I'll consider it for 0.04. I'll also have to play with letting the player win a few points once the ball reaches certain speeds.

User avatar
Dafydd
Posts: 114
Joined: Sun Mar 16, 2008 1:45 am
Location: Uppsala, Sweden

Re: Zap Ruder: The Zapper test ROM project

Post by Dafydd » Mon Mar 04, 2013 4:43 pm

If you ever need anyone to test PAL versions for you, I could be your guy. Y coords work great on my powerpak, X do not. The behavior appears to be very similar in FCEUX when running in PAL mode.

tepples
Posts: 21973
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Zap Ruder: The Zapper test ROM project

Post by tepples » Mon Mar 04, 2013 4:54 pm

Right now, the best practice if PAL NES is detected is to multiply returned Y coordinates by 15/16 (a shift and a subtract). But should I need to make PAL NES zapkernels, I'll keep this offer in mind.

User avatar
Dafydd
Posts: 114
Joined: Sun Mar 16, 2008 1:45 am
Location: Uppsala, Sweden

Re: Zap Ruder: The Zapper test ROM project

Post by Dafydd » Mon Mar 04, 2013 6:04 pm

... what about X coordinates, then?

Post Reply