Re:Nesrocks - how I figured out contra stuff...
In FCEUX, I had the RAM open (hex editor tool), and watched as I moved the guys left and right. I noticed the 1st player X position at $334 and the 2nd player X position at $335, and I see that the furthest right they go is B0. I tried a quick search of the ROM for compares to B0 (such as c9 b0) with no luck. So I opened the debugger tool, and set a breakpoint for reads from $334, and looked at the code around those breaks for compares. Didn't see it. I thought, maybe it's because I'm not currently scrolling right, so I set an auto-hold under "input" for right button presses, and immediately hit the 'step into' on the debugger when it started scrolling, and set the $334 breakpoint again. And, after each break, I hit 'step into' a bunch of times to see why it's reading from the X position, and eventually got to this line...
DA23:BD 34 03 LDA $0334,X @ $0334 = #$B0
DA26:D9 60 DA CMP $DA60,Y @ $DA62 = #$B0 -- which is basically what I was looking for, a compare that equals B0
-I scrolled down to da62 of that bank and wrote down the #'s [b0 bd 1a ... etc]
so I went back to hex editor tool, and switched view to 'ROM file' and searched for 'b0 bd 1a', which is only found $1da72. I highlighted the 'b0' and changed it to 80, and moved the guys around, and saw that they only go to max X of 80 now. Then I used the Game Genie tool to make the codes for you.
To make this into a hack, just open the ROM with a hex editor, go to $1da72, change the b0 to 80 or 90 or whatever, and save it. Took me about 30-40 minutes.