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.
Any way you can do this for the Japanese ROM? I've been trying to apply your methods in the hopes of looking for the data that controls the X position in the Japanese version.
Unfortunately I'm just not very experienced with hex editors... I tried looking at $334 or $335 while using auto-hold but I'm not sure if that's even the right spot to begin with in this version, but if it is, it looks like it's A8. After a little tinkering around, I found these lines in the debugger:
07:DA13:9D 34 03 STA $0334,X @ $0334 = #$A8
07:DA5F:7D 34 03 ADC $0334,X @ $0334 = #$A8
Again, I could very well just be barking up the wrong tree, which is why I'm asking for help.
BTW, I'm not sure if this matters, but the ROM I'm using is patched with the MMC3 mapper as well as with an English translation.