Jump to content
RevEng

rom hacks to support 2 buttons with genesis controllers

Recommended Posts

Pitfall! on the 5200 utilizes two buttons. The 1st fire button causes a vertical jump, and the 2nd fire button causes a horizontal jump. I find that this set up allows more precise play. Could the 2600 version be hacked to match?

Edited by nems

Share this post


Link to post
Share on other sites

Yes. One way would be to use reflectHarry instead of oldJoystick to set direction for horizontal jumps. When a standing jump is done, ignore it. However, the variable fireButton currently only uses the high bit, so there is plenty of ram to keep track of both buttons (and jump direction, if you wanted).

 

 

NOTE: variable names taken from Thomas Jentzsch's disassembly

Share this post


Link to post
Share on other sites

Super Cobra, enjoy!

 

SuperCobra(2button).zip

 

 

I tried it on my Jr an it seemed okay. It's great having real hardware for a change. With the correct version of the Harmony bios you just hold down button B on your Genesis controller when the Harmony boots up, and you're good.

 

 

A word of caution though. Super Cobra uses the color/BW switch as a pause switch. I turned on my Jr and was wondering why the game was frozen, and then I realized my switch was in the B/W position!

 

 

Super Cobra uses E0 bankswitching, which makes it Krok cart incompatible.

Share this post


Link to post
Share on other sites

Here is a tutorial I put together regarding how to add the 2nd fire button to most any 2600 joystick, for use with these games.

 

Document revised to v1.6 on August 28, 2010.

CX40 w2nd Fire Button.pdf

Edited by nems
  • Like 3

Share this post


Link to post
Share on other sites

Here is a tutorial I put together regarding how to add the 2nd fire button to most any 2600 joystick, for use with these games.

That's a great piece of work!

 

 

In regard to Moon Patrol Arcade, I think it would be easy to convert as Moon Patrol was already done by RevEng. The same changes he did should apply. I think Espire8 would like it converted too. Damn good hacker he is! I'm got other things on the go, or I'd do it myself.

Share this post


Link to post
Share on other sites

Very nice nems! :thumbsup:

 

I've updated the first post to include this, and also your super cobra hack too, Omegamatrix.

 

Kinda swamped right now, but I should be able to take a whack at Moon Patrol Arcade during the coming week. Sadly, I tossed my distella files for Moon Patrol, but it won't be a lot of work to recreate.

Share this post


Link to post
Share on other sites

does the stellaadaptor work with genesis controllers to try this out?

Just tried mine, and sadly no.

 

Sadly, I tossed my distella files for Moon Patrol, but it won't be a lot of work to recreate.

This is where HOM3 is your friend.

 

I'd try taking your 2 button hack and comparing it to the original Moon Patrol rom (with HOM3). I'm willing to bet all you'd have to do is apply those changes to Espire's Moon Patrol Arcade. So just open up Moon Patrol Arcade and hack the changes directly in with HOM3. No new disassembly required! :)

Share this post


Link to post
Share on other sites

Ok, I didn't have Windows handy for HOM3, but I took the same approach with a binary diff generator. It seems to have worked out well, so I've attached it to the first post.

Share this post


Link to post
Share on other sites

Ok, I didn't have Windows handy for HOM3, but I took the same approach with a binary diff generator.

 

Do you use Linux? I'm glad it worked. I was counting on Espire8 only hacking the gfx and colors. I don't think he disassembles and shuffles things around.

 

 

Anyhow great job! I'm thinking of converting some Asteroid hacks. Namely Sadisatroids, the Vector hack, and the White Vector hack. For these I'd use a similar approach by taking your Asteroids hack to the original, and seen what has been done. I think I'll have to rough disassemble these though, at least Sadistroids as it's bound to be shifted around.

 

 

 

Also I kind of threw in the towel with Double Dragon (at least for now). I disassembled it, broke apart the buttons, but it still needs alot more work to be playable. The problem that carries over from the original is the unresponsiveness to inputs. You're hammering on the firebutton, but you don't move at all, and the next thing you know the other guy is hammering on you. Then you die. You go no control at all. And it's a huge whack of code to analysis to figure out what's stopping what, and where.

Share this post


Link to post
Share on other sites

Yes, I primarily use Linux. I usually have a Windows VM handy, but for various mundane reasons I couldn't run it at that time.

 

The alternate asteroid hacks would be great! Sadistroids is actually a build option in Thomas Jentzsch's disassembly, so it should be pretty straightforward.

Share this post


Link to post
Share on other sites

No problem! Glad to give you a reason to test out that modded cx40! :)

Share this post


Link to post
Share on other sites
I think I'll have to rough disassemble these though, at least Sadistroids as it's bound to be shifted around.

Thomas posted the disassembly for Asteroids. Sadistroids is in the file as an option.

Share this post


Link to post
Share on other sites

Thanks guys (and Thomas), this will be very helpful. I'm just working on something else at the moment, but this will now be a lot easier to do.

Share this post


Link to post
Share on other sites

Was there a 2-button hack of Track & Field? Short of buying the Atari controller actually made for Track & Field. It would be awesome to use D-pad left and A for running and B for the Action button. There may be better button mapping than what i just came up with, its just a thought. But has anyone thought about this or actually done this?

Share this post


Link to post
Share on other sites

Here is a tutorial I put together regarding how to add the 2nd fire button to most any 2600 joystick, for use with these games.

 

Hey, that's useful. It does give me some ideas on how to convert a driving controller a extra button.

Share this post


Link to post
Share on other sites

Works well in the latest Stella. I'll give it a shot tonight on real hardware!

Share this post


Link to post
Share on other sites

Thanks :)

BTW Omega...what was your idea for UP+B? I didn't alter that, it's still doing a jump kick that the C button now handles exclusively (regardless of what the stick direction is in). A back kick or flip?

Share this post


Link to post
Share on other sites

Thanks :)

BTW Omega...what was your idea for UP+B? I didn't alter that, it's still doing a jump kick that the C button now handles exclusively (regardless of what the stick direction is in). A back kick or flip?

To be honest Nukey, it's been so long I don't remember. Looking at my disassembly now it looks like I made space in one bank by putting a long string of in-line code in another. I see I had some scheme mapped out of how the joy directions should go. If you want to take a look search for "ORG $4ECE" and maybe you'll get some ideas.

 

 

Anyhow good job of Double Dragon. It kept pissing me off, and I'm glad it's done and off my hands. :D

 

 

DoubleDragon(re).zip

Share this post


Link to post
Share on other sites

I do have an idea for a two button hack, Vanguard. I'm not sure if this is practical but here it is. The idea is button B to shoot left and right and button C to shoot up and down. The controls should be global throughout the game.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...