clockwise

HOW TO: Allow Goalie to Hold Puck Longer or Indefinitely

Recommended Posts

Simple hex edit that allows the keeper to hold the puck indefinitely, however he cannot pass the top of the circles without a whistle. It's used in the 2on2.org final rom to reduce stoppages.

For all you Marty Turco fans.

I should also mention that the cpu can't hold the puck forever, only works with a player controlled team.

OFFSET: 00D4C6 
VALUE: 9F6B to 6002

Share this post


Link to post
Share on other sites

I would like to apply this in snes, same thing or do i have to reverse it or something?

Share this post


Link to post
Share on other sites
I would like to apply this in snes, same thing or do i have to reverse it or something?

it's a sega CPU instruction, so won't translate to SNES.

"9F6B" is a SUB.W (subtract) instruction.

"6002" is a BRA +2 instruction, telling the CPU to move to the instruction 2 bytes away (so basically just don't do the subtraction from the time counter that controls that whistle)

Share this post


Link to post
Share on other sites

I figured out how to set the whistle time to whatever you want, as an alternative to disabling the whistle completely.

This is done by loading a countdown timer with a value different from the default.

The default value is "008C" in hex (which is equal to 140 in decimal), which means 140 frames, which is 2.33 seconds before the whistle blows. (A frame is 1/60th of a second)

Clockwise's edit gave me a place to start and work backwards from.

So, to set the value to whatever you want:

OFFSET:  1530E
ORIGINAL VALUE:  008C
NEW VALUE: whatever you want (examples below)

(note: if you do Clockwise's hack, this one won't work, because his disables the countdown)

008C = 140 frames = 2.33 seconds

00B4 = 180 frames = 3.00 s

00F0 = 240 frames = 4.00 s

012C = 300 frames = 5.00 s

0258 = 600 frames = 10.00 s

etc

Edited by smozoma

Share this post


Link to post
Share on other sites

Is that just for goalies with the puck or could you set the Icing time to a really high number and effectively turn off Icing?

Share this post


Link to post
Share on other sites
Is that just for goalies with the puck or could you set the Icing time to a really high number and effectively turn off Icing?

This would actually be a case where you would want to use the trick clockwise used, skipping to the next instruction, instead of calling the whistle function. it should be possible, but not very easy to find.

Share this post


Link to post
Share on other sites
This would actually be a case where you would want to use the trick clockwise used, skipping to the next instruction, instead of calling the whistle function. it should be possible, but not very easy to find.

That would cause so much abuse...!

(The icing removal not the rest)

Share this post


Link to post
Share on other sites

Yeah I wouldn't want to do it for regular 5on5 games, just 2on2 where icing is usually accidental.

Share this post


Link to post
Share on other sites
Yeah I wouldn't want to do it for regular 5on5 games, just 2on2 where icing is usually accidental.

Okay yeah, that would be a good idea.

But the again, could we remove the limitation of goalie movement? so he can just waive it anyway?

Share this post


Link to post
Share on other sites

"8C00" appears in the SNES ROM too many times to reasonably test through trial and error (and, hopefully, eventually, success) the ability to find the 2.33 seconds of goalie hold time in the SNES version. if anybody has any ideas, this is yet another hack I'd like to achieve in the SNES version.

Share this post


Link to post
Share on other sites

...or other Genesis games, like EA Hockey or NHL '92....

Share this post


Link to post
Share on other sites

"8C00" appears in the SNES ROM too many times to reasonably test through trial and error (and, hopefully, eventually, success) the ability to find the 2.33 seconds of goalie hold time in the SNES version. if anybody has any ideas, this is yet another hack I'd like to achieve in the SNES version.

109 or 110. That is too many times but the whole process takes couple of hours if not few minutes.

Few seconds to rewrite the value to 5802 and save the changes. Then minute or two (if using the save state less) to test it.

It will take two or three hours and if the value is at the beginning of the rom then just minutes. That is not so much time to invest in something you really want to have in your roms.

Or rewrite first ten values and see what happens. Then values 11-20. Then 21-30. And so on. You can find the right value even faster then.

Edited by DominikJagr

Share this post


Link to post
Share on other sites

My suggestion for testing: use a savestate to save a moment right before the goalie gets the puck.

Are you guys using a SNES debugger? I wouldn't be surprised if that turned up the value pretty quickly, if you used the feature where it writes out the code it's executing, and the contents of the registers. Load the save right before the goalie gets the puck, enable code tracing, let the game run until the goalie gets the puck, then inspect the traces for the value.

In Gens re-recording (debugging emu), there is a memory searcher, where you can tell it, look for values that are decreasing, or increasing.. if the SNES debugger has something like that, that would find it pretty quickly..?

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.


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

    There are no registered users currently online