Jump to content

10

rom hacks to support 2 buttons with genesis controllers


138 replies to this topic

#101 TrekMD ONLINE  

TrekMD

    River Patroller

  • 2,083 posts
  • Location:Coral Gables, FL

Posted Thu Jul 8, 2010 5:18 AM

This is cool. I had not seen this thread before.

#102 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Thu Jul 8, 2010 7:11 AM

View PostBakasama, on Wed Jul 7, 2010 11:27 PM, said:

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.
That would require additional RAM to be able to track the missiles seperately.  IIRC it currently uses 2 bytes, so 2 more would need to be scrounged out of the disassembly.  Otherwise, pressing a fire button when the alternate missiles are already onscreen would pose a problem...you could either ignore the button or write over the variables (killing missiles in play ala Gorf).

#103 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,509 posts
  • bit shoveler
  • Location:Canada

Posted Thu Jul 8, 2010 5:27 PM

View PostNukey Shay, on Tue Jul 6, 2010 6:15 AM, said:

Can somebody check this?
(posted down here in case it doesn't work)
Your 2 button Double Dragon works for me, both on real hardware and in stella! :thumbsup:

As usual, I've updated the first post with a link to it.

#104 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Mon Jul 26, 2010 9:50 AM

Just updated the CX40 2nd Fire Button Instructions.

Changes include:
  • Increased the range of acceptable resistors (330 to 680 ohms all work fine).
  • Eliminated the need to connect pin 5 (a 2nd fire button only needs pins 7&9 on one side and pin 8 on the other side). With pin 5 not connected, an added benefit is that one does not need to hold down the 1st fire button when booting with a Harmony cartridge.

BTW, you can open any Genesis controller, disconnect pin 5 and still have both fire buttons working on the 2600 (plus eliminate the need to hold down the 1st fire button when booting up the Harmony). Of course you would need to re-connect pin 5 before attempting to use the controller again with a Sega Genesis system.

Edited by nems, Sat Aug 7, 2010 3:38 PM.


#105 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,509 posts
  • bit shoveler
  • Location:Canada

Posted Mon Jul 26, 2010 8:06 PM

View Postnems, on Mon Jul 26, 2010 9:50 AM, said:

  • Eliminated the need to connect pin 5 (a 2nd fire button only needs pins 7&9 on one side and pin 8 on the other side). With pin 5 not connected, an added benefit is that one does not need to hold down the 1st fire button when booting with a Harmony cartridge.
Not having to hold down the button for Harmony 2-button support is pure awesome!  :thumbsup:

#106 Omegamatrix OFFLINE  

Omegamatrix

    Quadrunner

  • 5,208 posts
  • Location:Canada

Posted Tue Aug 3, 2010 8:55 PM

I just desoldered Pin 5 in my controller, and it worked flawlessly. I don't play any Sega games so this will be a permanent modification too. If you have no soldering skills and don't care about the joystick, then just snip the wire and wrap black electrical tape around both ends. Also Pin 5 is clearly marked on the circuit board (which I liked). Really easy fix, thanks nems!!

#107 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,509 posts
  • bit shoveler
  • Location:Canada

Posted Wed Aug 4, 2010 12:40 PM

That's excellent news! I believe I'll neuter some pads and mark them specifically for the Atari somehow.

I've updated the FAQ in the first post to include the pin 5 info. Thanks nems!

I've also added 2 button versions of Mouse Trap and Sea Hawk to the first post as well.

During hardware-testing I noticed that I accidentally enabled the fire button during the Sea Hawk attract mode. I think I'm just going to rename it the "auto-pilot trainer mode", and call it a day. :P

#108 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Fri Aug 6, 2010 8:35 PM

Thanks for more 2-button games! When playing any of these on real hardware, it feels like the 2600 is magically upgraded.

Any chance someone could tackle Montezuma's Revenge?  :)
Keep all of the current control functionality, but add the 2nd-button to make Joe jump horizontally even from a standing still position.

I'm guessing this is quite a challenge since the program must first check which direction Joe is facing (e.g. if Joe if facing east, then a press of the 2nd fire button results in a horizontal jump to the east). A disassembly of the game can be found here.

Currently, I love this game but get sick of smashing my joystick handle trying to coordinate a horizontal jump from a standing still position. Some might think of this hack as a cheat, but IMHO it would allow for more precise and fun play, with less wear and tear on your joystick.

Edited by nems, Sat Aug 7, 2010 1:01 PM.


#109 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Sat Aug 7, 2010 3:48 AM

Actually, the challenge isn't there...because the routine checks the stick itself in the jump routine, and the program keeps track of the button AND the stick from the previous frame (each uses their own byte).  Since you have 2 buttons, each can be dedicated to a direction.  Rewriting the button routine to keep both buttons only required a few bytes, and altering the jump routine was simplified.  However, using 2 values instead of one caused Joe to jump immediately when starting...so I added a couple lines up top to force the "already pressed" value into the button cache.

Push the joystick up when pressing either button to jump in place.


Try this...This is an E0 bankswitched game (Z26 use -g3).

Attached Files


Edited by Nukey Shay, Sat Aug 7, 2010 12:10 PM.


#110 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Sat Aug 7, 2010 11:55 AM

Nukey, you are amazingly quick. I tested Montezuma's Revenge via Harmony on NTSC hardware and it works great. Only problem is that the jumping directions should be reversed. It seems most natural to mimic the button order/layout so that:

1st button (Sega B) = jump left
2nd button (Sega C) = jump right

Currently you have the jumping directions reversed (opposite order).

This game is already so much more fun to play. The precision control is freakin' amazing.

Edited by nems, Mon Aug 9, 2010 8:53 AM.


#111 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Sat Aug 7, 2010 12:11 PM

Edited

#112 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Sat Aug 7, 2010 1:06 PM

:thumbsup:  

Thank you Nukey! The game control is soooo great with two buttons. Very responsive. This is an amazing improvement!

Panama Joe is much happier too 'cause now he doesn't die nearly as often.   :grin:

Edited by nems, Sat Aug 7, 2010 3:39 PM.


#113 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Sat Aug 7, 2010 1:31 PM

Should be possible to alter the hack so that it functions both ways (depending on which button is used to start the game, putting it in a difficulty switch, or etc).  There's room for branching, and plenty of optimizations that could be done.

Did anybody ever get very far into altering the bankswitching to be conventional instead of PB's E0?  That too could easily be done if it were upped to 32k...but I don't want to add that much redundancy if it isn't needed (much rather see it in 16k).

#114 A.J. Franzman OFFLINE  

A.J. Franzman

    River Patroller

  • 4,326 posts
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Sat Aug 7, 2010 2:26 PM

Attached File  Montezuma\'s Revenge (F6 Conversion) Thomas Jentzsch.bin   16K   85 downloads
Attached File  Montezuma\'s Revenge (F6 Conversion, PAL) Thomas Jentzsch.bin   16K   85 downloads

#115 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Sat Aug 7, 2010 5:58 PM

Thanks...F6 conversions given both buttons.

Edited by Nukey Shay, Sun Aug 8, 2010 7:50 PM.


#116 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Sun Aug 8, 2010 3:02 PM

Nukey,
I tested the F6 version of Montezuma and found:
   1st Fire button results in a right horizontal jump (should be left).
   2nd Fire button is MIA.

I'm still playing the hell out of your E0 bankswitched version and it is perfect.

Edited by nems, Mon Aug 9, 2010 8:55 AM.


#117 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Sun Aug 8, 2010 7:49 PM

I missed editing the routine in another bank.  Hopefully, this is straightened out.  No way for me to check this (because Z26 doesn't support 2 buttons and Stella no longer works under Win98), so I gotta play it by ear.  Current version allows you to select which mode it's in (left difficulty A = single button, B = two buttons).

Q:
Atari's standard fire button should correspond to the RIGHT jump, correct?  I thought that was how I did the E0 version :?

Edited by Nukey Shay, Mon Aug 9, 2010 7:48 PM.


#118 nems OFFLINE  

nems

    Chopper Commander

  • 152 posts
  • Location:Gilroy, California

Posted Sun Aug 8, 2010 9:03 PM

View PostNukey Shay, on Sun Aug 8, 2010 7:49 PM, said:

Current version allows you to select which mode it's in (left difficulty A = single button, B = two buttons).
Tested and works just as you described. Excellent job. Though I have to say that once someone experiences the two button version, I doubt they will ever go back to the single button version. Having 2 button control really elevates this game.  :love:

View PostNukey Shay, on Sun Aug 8, 2010 7:49 PM, said:

Q: Atari's standard fire button should correspond to the RIGHT jump, correct?  I thought that was how I did the E0 version :?
That is how you did E0 the very first time, then I asked you to flip it (which you did). Currently both E0 and F6 are set up such that:

Atari standard button (Sega B) = jump left
2nd button (Sega C) = jump right
Either button + joystick up = jump in place

...which seems like a natural order for Sega and modded CX40 controllers.
Posted Image Posted Image
Thanks again.

Edited by nems, Mon Aug 9, 2010 9:02 AM.


#119 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,509 posts
  • bit shoveler
  • Location:Canada

Posted Mon Aug 9, 2010 1:16 PM

View PostNukey Shay, on Sun Aug 8, 2010 7:49 PM, said:

I missed editing the routine in another bank.  Hopefully, this is straightened out.  No way for me to check this (because Z26 doesn't support 2 buttons and Stella no longer works under Win98), so I gotta play it by ear.
I hacked in genesis controller support to z26...

Attached File  z26_20040523_genesis.zip   302.11K   52 downloads

...You only need to use the z26_20040523_genesis.exe binary, but I included the source as it was the easiest way to comply with the GPL.

Use the CLI switch "-)GC" for the genesis controller. Left ctrl is the Genesis-B/INPT4 button, and right shift is the Genesis-C/INPT1 button.

#120 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,782 posts
  • Location:The land of Gorch

Posted Mon Aug 9, 2010 7:18 PM

No biggie...I hacked the game to include a dual-stick mode to use left and right ;)

I also added a splash screen, since bank 4 wasn't being used for anything.

EDIT: Damn...bonus room got axed...trying this again:

Attached Files


Edited by Nukey Shay, Mon Aug 9, 2010 8:44 PM.


#121 thegoldenband OFFLINE  

thegoldenband

    River Patroller

  • 3,339 posts
  • Location:Long Island, NY

Posted Sun Nov 7, 2010 10:35 AM

Wonderful stuff in this thread!  I just finished a good game of Double Dragon (made it to Mission 3), and the two-button control scheme really helps.  Thanks so much to Nukey Shay for that.

#122 Bakasama ONLINE  

Bakasama

    Stargunner

  • 1,258 posts
  • Alcohol is Free

Posted Tue Nov 9, 2010 9:36 AM

How about this for a hack, a two button version of Dark Chambers.  In the 2600 version of Dark Chambers, you use the bombs by hitting the fire button twice quickly.

#123 psquare75 OFFLINE  

psquare75

    Dragonstomper

  • 675 posts
  • Location:Assonet, MA

Posted Fri Dec 3, 2010 9:42 AM

Wow, I hadn't seen this thread before.

Some games off the top of my head.

Enduro
Star Trek

Could IMO badly use 2 button support. Great idea!

#124 Omegamatrix OFFLINE  

Omegamatrix

    Quadrunner

  • 5,208 posts
  • Location:Canada

Posted Wed Dec 8, 2010 11:41 PM

View Postpsquare75, on Fri Dec 3, 2010 9:42 AM, said:

Star Trek


How should the controls work for this?

You have:

- thrust
- warp drive
- photons
- lasers


It's very easy to make one button for lasers, one button for photons, and then have warp drive by pressing down. Thrust would remain the same.

Or was the thrust the control problem? How should it work??

#125 psquare75 OFFLINE  

psquare75

    Dragonstomper

  • 675 posts
  • Location:Assonet, MA

Posted Thu Dec 9, 2010 7:32 AM

A button phasers
B button warp

down direction photon.
up direction impulse power.

Yes, warp is the issue.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users