Jump to content



10

rom hacks to support 2 buttons with genesis controllers


138 replies to this topic

#51 burra OFFLINE  

burra

    Combat Commando

  • 4 posts

Posted Sat Mar 27, 2010 6:28 PM

I would like to see StarMaster hacked with the second button to display the maps. I would like to do this however I don't know where to start.

#52 stephena ONLINE  

stephena

    Stargunner

  • 1,967 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sat Mar 27, 2010 7:29 PM

View PostOmegamatrix, on Sat Mar 27, 2010 1:50 PM, said:

Version 2 of Kung Fu Master. Stephena's trial version of Stella was very useful. However I could only use the punch button as I don't have a Genesis controller where I live right now. I have a usb playstation type controller, and the kick button doesn't map to it.
Oops, I forgot to mention that the second button is mapped to the same one as the P0 BoosterGrip booster button (by default, the '5' key on the keyboard). The first button is mapped to the normal fire button (Space/Left Control). And of course, for the ROM to actually use these mappings, the ROM must have the left controller set as 'Sega Genesis'.

#53 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Sun Mar 28, 2010 10:41 AM

Kung Fu master is confirmed as working great on real hardware, Omegamatrix. Exactly as your control-spec, and very playable! :thumbsup:

burra, excellent work on the PAL conversion of defender!

Both hacks have been linked from the first post!

#54 Bakasama ONLINE  

Bakasama

    Stargunner

  • 1,098 posts
  • Moldova does it again.

Posted Tue Mar 30, 2010 5:02 PM

I've thought of another game that could use a second button. Kangaroo. While the arcade game has the same controls as the 2600 game, I've always found the game harder than it should be. With second button to jump, I feel that gameplay would be a lot less annoying.

#55 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Wed Mar 31, 2010 6:39 PM

Moon Patrol has been hacked for 2 buttons and is now added to the first post!

View Postburra, on Sat Mar 27, 2010 6:28 PM, said:

I would like to see StarMaster hacked with the second button to display the maps. I would like to do this however I don't know where to start.
It definitely requires some level of VCS assembly programming skills. After that the general steps are:

1. disassemble the rom.
2. Find the area you want to target and figure out what the code does. An easy way to do that would be to search for the hardware registers involved. IIRC starmaster used the B&W/color switch for the map. That's bit 3 of the SWCHB register.
3. Add the code that reads the 2nd genesis button and does whatever it needs to do. Basically this means do a "lda INPT1" and then "bpl 2NDBUTTONCODE". This step can get complicated if there isn't any free space in the rom.
4. reassemble your modified assembly code.

In the case of starmaster, 1 and much of 2 has already been done for you. Check out the starmaster disassembly at MiniDig.

View PostBakasama, on Tue Mar 30, 2010 5:02 PM, said:

I've thought of another game that could use a second button. Kangaroo. While the arcade game has the same controls as the 2600 game, I've always found the game harder than it should be. With second button to jump, I feel that gameplay would be a lot less annoying.
I'll add kangaroo to the list, but truthfully it will probably be a while before I can get to it. If anybody wants to scoop it, feel free! :)

Edited by RevEng, Wed Mar 31, 2010 6:39 PM.


#56 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Wed Mar 31, 2010 8:57 PM

I never knew Starmaster had been disassembled. That makes things easier. Looking at the code, and playing around with the rom in an emulator, the only issue I see is that you would see the map screen only when you held down the button. That makes it hard to press the other firebutton to select an area if that would even work.


The solution is to have a bit that can be checked to see if the firebutton was pressed the previous frame. That way you could update the switches only once per firebutton press.

#57 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Fri Apr 2, 2010 5:54 PM

Starmaster, ready for testing. If anyone could test this on a 7800 too, well that'd be much appreciated. I'm trying out some new stuff, and I want to make sure I'm not sending the 7800 for a loop. It should also be Supercharger compatible if you don't have a Harmony, Krok, Cuttle, or modded FB2.


Attached File  Starmaster(2button).zip   18.59K   92 downloads


A little on Starmaster:
- The manual says once you start the game, don't move the difficulty switches for P0 or P1.
- While warping you can't go back to the map screen. Only when you reach your destination can you bring the map screen back up.
- Press C to get the map screen, press C again to exit (or B button).

#58 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Fri Apr 2, 2010 7:06 PM

Tested on a 7800 with my Harmony cart, and confimed as working perfect! :thumbsup:

Its pretty cool not to have to reach for the console for the map!

I updated the first post, as usual.

#59 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Fri Apr 2, 2010 7:35 PM

I'm glad it works on the 7800! I'm using the interrupt flag out of the status register as I needed 1 bit.


I'm just taking a look at Kangroo right now. I have a bit of time this long weekend. If it only needs the few changes that I think it does, then it won't be too bad. I'll just need to free 15 bytes, but we'll have to wait and see if I just jinxed myself. ;)

#60 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Sat Apr 3, 2010 9:32 PM

Well I did jinx myself...


Separating jumping from pressing up worked fine, but the problem was climbing the ladders. You'd have to press jump to climb, which seemed very unnatural to me! Kangaroo makes it own collision detection for the ladders, and it took a while to find out how and where it did that, but I think I got it now.


Attached File  Kangroo(2button).zip   31.1K   89 downloads


Okay, it should work as such. When you are touching a ladder you can press up to climb, or jump to climb. Otherwise pressing up is ignored. However, you can still move left or right by pressing the joy at a diagonal no problem. Press button B to punch, and button C to jump. Also note that you have to press the jump button well before a pit to jump it with a "Super Jump". That's also the way it is in the original.

I've only ever made it part way through the second level, and I've never even seen the third. I'm no great gamer that's for sure. :P So no guarantees on the third level people.

#61 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Sun Apr 4, 2010 3:10 PM

Omega Race. I wrote this in the assembly file, and it's worth repeating here.

; now uses Genesis controllers
; - button B, thrust
; - button C, fire
;
; Newer versions of the Stella Emulator will autodetect this as FA bankswitching.
; By default (in Stella) you can share 1 joystick for 2 players. To use two Genesis
; joysticks specifically, set the RIGHT player difficulty switch to the B (Amateur or Novice)
; position. Likewise on real hardware:
;
; RIGHT player difficutly switch
; - pushed to "A" (Pro or Expert), two joysticks are needed for a 2 player game (one in each port)
; - pushed to "B" (Amateur or Novice), one joystick is used for a 2 player game (use the left port)


Attached File  OmegaRace(2button).zip   37.43K   95 downloads

#62 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Sun Apr 4, 2010 3:31 PM

...


Edit: I didn't know Solar was already done. I'll check that first post for now on.

#63 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Sun Apr 4, 2010 9:56 PM

And along those lines, the first post has been updated! :)

Amazing progress Omegamatrix. I'm really looking forward to putting Omega Race through it's paces!

#64 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Mon Apr 5, 2010 12:57 PM

I'm not going to do anymore work on these for at least a month. I've got to start studying for finals, move, etc...


I have disassembled Double Dragon. Converting it doesn't look as easy as I hoped. I'll take a look at it off and on over the next month went I get too stressed to study.


Other then that, the list of converted games is starting to grow. It's looking good. :D What's left to do? I don't want to start something if someone else is working on it (or done already like Solaris ha ha). :)

#65 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Mon Apr 5, 2010 2:21 PM

I'm pretty squeezed for time myself, though I might try to take a second whack at Sea Hawk. The other outstanding requests are up for grabs at this point...

e1will suggested: Yar's Revenge, Mouse Trap
tkarner suggested: Radar Lock

Any other requests folks?

I agree about the collection looking solid! I'd say I spend about half of my gaming time in my "2 button" folder, on my Harmony cart. :D

#66 Jess Ragan OFFLINE  

Jess Ragan

    Riding the Crazy Crane

  • 7,951 posts
  • Prepare to Joust... Buzzard Bait!
  • Location:MI

Posted Wed Apr 7, 2010 11:04 PM

Solaris would be a really good idea. I've heard people say that the game just can't be played properly without two joysticks. Maybe having that extra button handy would fix the problem.

#67 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Wed Apr 7, 2010 11:11 PM

View PostJess Ragan, on Wed Apr 7, 2010 11:04 PM, said:

Solaris would be a really good idea. I've heard people say that the game just can't be played properly without two joysticks. Maybe having that extra button handy would fix the problem.
Already done, Jess! Check the first post. :)

#68 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Tue Apr 27, 2010 7:29 AM

Yar's Revenge is now hacked for 2 button support, and added to the first post!

#69 stephena ONLINE  

stephena

    Stargunner

  • 1,967 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Tue Apr 27, 2010 1:34 PM

Just wanted to let everyone know that Stella 3.1 (and later 3.1.1) was released over the past few days, and it includes support for emulating the Sega Genesis controller. Have a look at the Stella 3.1 release thread for more information.

#70 e1will OFFLINE  

e1will

    Moonsweeper

  • 338 posts

Posted Tue Apr 27, 2010 2:28 PM

Excellent! I'll have to install the new Stella and give YR a try.

--Will

#71 Bakasama ONLINE  

Bakasama

    Stargunner

  • 1,098 posts
  • Moldova does it again.

Posted Wed Apr 28, 2010 2:33 PM

I've Stella 3.1.1 for Mac OSX and I tried playing Kangaroo and Moon Patrol and the characters just keep jumping when I play. I've tried reading the help file and I just didn't get other the other fire button is.

#72 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Wed Apr 28, 2010 2:54 PM

If you haven't already, you need to select using the genesis controller for the rom.

IIRC, the second button was mapped to 5 on the keyboard.

Edited by RevEng, Wed Apr 28, 2010 2:57 PM.


#73 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Thu Apr 29, 2010 2:43 PM

Mission Survive, NTSC and PAL versions:

Attached File  Mission Survive (2 button).zip   20.72K   70 downloads


I couldn't find a manual scan for this game anywhere. So here's what you do:


Objective:
Go as long as you can by blasting UFO's, bombs that are dropped on you, and walls that are in your way. You collect points when you destroy a UFO, nothing else.

The select switch allows you to skip to the harder levels, but normal playing will get you there anyway.


Strategy:
- If a bomb is dropping on top of you, pressing to the left will slow down your vehicle making the bomb drop in front of you instead.
- Occasionally a bomb will blast a hole in front of you. Pressing UP at the right time will allow you to jump over it. Use one button to fire up, and one button to fire to the right.



The NTSC version is faster then the PAL version. It's a fair trade-off as the PAL seems slow to me (at the beginning), and with the better controls it needs to be harder.

#74 Omegamatrix OFFLINE  

Omegamatrix

    River Patroller

  • 4,795 posts
  • Location:Oh, Canada

Posted Thu Apr 29, 2010 3:07 PM

View PostBakasama, on Wed Apr 28, 2010 2:33 PM, said:

I've Stella 3.1.1 for Mac OSX and I tried playing Kangaroo and Moon Patrol and the characters just keep jumping when I play. I've tried reading the help file and I just didn't get other the other fire button is.
To switch to a Genesis controller in Stella:

Click the rom so that's highlighted, and then go options, game properties, controller, and change P0 controller to Sega Genesis.


And of course older versions of Stella won't have a setting for the Sega Genesis controller. Since you're using version 3.1.1 you're fine.

#75 RevEng ONLINE  

RevEng

    River Patroller

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

Posted Thu Apr 29, 2010 6:03 PM

View PostOmegamatrix, on Thu Apr 29, 2010 2:43 PM, said:

Mission Survive, NTSC and PAL versions...
Dutifully added to the first post!

Neat addition to the thread. I've never played the original, but I look forward to taking this for a spin!




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users