Jump to content
NHL'94 Forums

Goalie Control (Genesis)


Recommended Posts

The idea is to hack the defensive controls to swap the controller functions of A and holding B, so that pressing A would result in getting your goalie and holding B would result in performing a hook. One of the reasons to pursue this is that it is arguably more important in the game to gain quick control of your goalie than execute a quick hook.

Looking at the SNES version of 94, one of its major advantages is the quickness with which you can manually gain control of your goalie. Also, I think it would feel natural to be able to both poke check and hook with the B button.

I have some experience with hacking but only with Tecmo Super Bowl doing various edits through changing hex. I'm speculating that if we knew where in the hex the defensive controls were located, we should be able to just swap the code. However, I really have no experience in locating functions like this. I tried looking at the rom with a tracer, but I couldn't make any headway. If anyone has the know-how to be able to find something like this without a tremendous undertaking, I think it could be an exceptional hack to try out.

Just an idea.

Link to comment
Share on other sites

I asked a reknowed TSB hacker about this idea and I thought I'd post his response in case anyone is also interested in looking into this:

I have a hacking idea for NHL 94 genesis version, where on defense I want to make the A button gain goalie control and holding B do a hook. Right now it's reversed on the game so that tapping A does a hook and holding B gets the goalie.

Jstout wrote:

I haven't ever hacked a genesis game before so I'm keeping this fairly general. You'll need to read up on the genesis opcodes and how the genesis games read the joypad buttons.

From some quick search at romhacking.net:

There are two one-byte data sets:

v & 0x40: always set

v & 0x20: C

v & 0x10: B

v & 0x08: right

v & 0x04: left

v & 0x02: down

v & 0x01: up

and:

v & 0x40: always clear

v & 0x20: START

v & 0x10: A

v & 0x08: right

v & 0x04: left

v & 0x02: down

v & 0x01: up

By reading a word from 0xA10002 (for first controller) or 0xA10004 (for second), the word will have one of the above bitmasks written to both bytes. If you write a byte to 0xA10003(for 1st) or 0xA10005(for 2nd) with the 0x40 bit set, you'll get the first set, otherwise you'll get the second.

Example:

Player 1 is pressing left and the A and B buttons simultaneously. Player 2 is pressing B, C, and START. As the game, in order to probe controller 1:

- I send byte 0x00 to 0xA10003 (or word 0x0000 to 0xA10002)

- I read a word from 0xA10002, which gives me 0x1414. From the lower table, I see A and left are being pressed.

- I send byte 0x40 to 0xA10003.

- I read another word from 0xA10002. This time I get 0x5454, which from the upper table means B and left are being pressed.

Similarly, to probe controller 2:

- I send byte 0x00 to 0xA10005.

- I read from 0xA10004, and get 0x2020. So START is being pressed

- I send byte 0x40 to 0xA10005.

- I read from 0xA10004 again, get 0x7070, so B and C are being pressed.

From there in the game you'll need to trace or search around the commands for the joypad until you find where is says "if button A is pressed then go do this" and at that point you could switch the button or switch the function to go do. So it appears you need to start by searching for A10002 to A10005 in the rom.

Link to comment
Share on other sites

What about 6-button controllers? I guess you need to figure out the first idea to start with. But let's just say it works. What would stop you from assigning it (manual goalie) to one of the X, Y, Z keys? Is it that the game itself doesn't have 6 button-support or something... else...

Don't mind me, I'm just a snes player rambling... :D

Link to comment
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.

  • Who's Online   0 Members, 0 Anonymous, 69 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...