Jump to content
NHL'94 Forums

SNES 94 Editing


McRae

Recommended Posts

Well SNES 94 is a little different than genesis as names can be exactly the length of bytes needed. Can't do much about graphics but I used an SNES Color editor to play with colors and change uni's etc..

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Hey guys,

Is anyone currently or ever edited the SNES nhl94.smc file before? I am wondering where the period lengths are, mainly the OT length. I did a search for the lengths in hex (012C, 0258, etc) and found some results, but nothing seemed like it. I would have to start messing around with it. Just wondering if anyone's done this to save me the trouble.

Thanks,

-Evan

Link to comment
Share on other sites

BTW, there is a SNES NHL'94 editor out there. I remember getting all excited when I found it a few years ago, till I realized it was only a SNES NHL'94 editor :)

Jeff

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Is anyone currently or ever edited the SNES nhl94.smc file before? I am wondering where the period lengths are, mainly the OT length. I did a search for the lengths in hex (012C, 0258, etc) and found some results, but nothing seemed like it. I would have to start messing around with it. Just wondering if anyone's done this to save me the trouble.

Well I got bored tonight and so I decided to look into this.

In the end, its quite simple.... though, mind you, I did it the long way :D. By that I mean I ended up working back how it was stored by reversing "action replay" codes that existed for NHL93, just like when I reversed "game genie" codes to find the period lengths for the Sega roms.

Basically the bytes you where looking for where flipped (Little Endian). Where as you would logically think to look for 0258 (for 600 seconds/10 minutes) you need to look for 5802.

So while the sega stored period lengths bytes are 012C 0258 04B0, the snes are 2C01 5802 B004

Here are a few offsets I found:

SNES NHLPH 93 Timers

37EAF - Period Lengths (find/change menu text to match)

301B0 - Overtime

SNES NHL 94 Timers

F9D2E - Period Lengths (find/change menu text to match)

FC8A2 - Overtime

The period length bytes also existed in NHL95 (and possibly all snes releases after). I used trail and error to find the overtime value. Same can be used to find the Shootout/Penalty Shoot timer ...

post-11-1129127770_thumb.jpg

Link to comment
Share on other sites

Wow, wboy.. I hope you enjoyed doing this research. Great work. I never would have known about the "action replay" codes unless I did some major research, which I don't have time for.

Mack, how much would you pay wboy for a snes editor?

Link to comment
Share on other sites

"Looks in wallet" sees nothing but moths..................ummm I would pay nothing. :)

Now an editor for another game......(hint hint wboy) ....priceless. :P

Actually I think anyone who uses it should send a little something. He's spent a lot of time on this cool editor.

Link to comment
Share on other sites

  • 3 months later...

Hi hi. (first post)

I've always loved NHL 94 and still think it's the best hockey game there is... For SNES. *dodges* I might write a presentation of myself somewhere more suiting later, now let's get on with the topic.

I got interested with editing NHL 94 when I first played Mack's version of it. And I did manage to at least change some stats. A year later I got the urge back again and wanted to do more! I haven't been able to create new players from scratch, but I have edited some player names that are the same length and so on.. I got happy when I found out how to edit the preset lines! I dug thru some tutorials for Genesis and Sega CD, and they did help a bit, at least pointed me in the right direction.. Had some email conversation with Mack who helped me to get even more on track, thanks.

The version I'm playing with now is a tweaked version of the default rom, some teams have been imported from Mack's version. And detroit ("my" team) is some kind of "best of the best", with stars from now and then.. All teams first lines have 100 in stats, and damn that did change the gameplay a lot! Awesome to play now. Much more speed and more flow, though the AI break passes more often, but that's just good. But now when I found that editor someone mentioned above I got the urge to go at it again... One thing that I don't get is why there is no "Best Line" to edit in that program.

And when I saw this: http://www.hexaddicts.com/images/nose_big.png I really wanted to figure out how/if that stuff is possible in SNES.. The "Menu Default" things... Would be neat to be able to set my default settings there! Will have to look into it. I thought I wrote down all I figured out the last time but I was wrong.. sigh.. I think I did, probably lost it.

[Edit] Ah, found my notes.. I had just did some bad commenting. Though I don't remember how you change handness on a player.. I think that was the biggest problem last time out too. Anyone have that info in handy?

Link to comment
Share on other sites

... But now when I found that editor someone mentioned above I got the urge to go at it again... One thing that I don't get is why there is no "Best Line" to edit in that program ...

The "Best Line" is represented as NLC (No Line Changes) in the editor, as for NHL94 onwards that's the menu option you need to use to access that line. 93 and earlier years effectively share NLC with SC1.

Link to comment
Share on other sites

The "Best Line" is represented as NLC (No Line Changes) in the editor, as for NHL94 onwards that's the menu option you need to use to access that line. 93 and earlier years effectively share NLC with SC1.

Yeah ok, thanks.. But I didn't see anything similar to that. And btw, what does the "R" stand for? I thought it was rating, but that didn't make sense..

tzepic8mn.th.jpg

That editor is gonna make this really smooth.. B) I'm gonna do a kind of best of the best teams, I've already started with Detroit long time ago.. Well at least best of 80's, 90's and now ;) Wonder which player will be in most teams. :)

I recalled I had got a mail from Mack with a tutorial for Sega CD... Though that site was gone now, fortunately I was able to fetch it from a cashed google site here if anyone's interested.

Last time I did this I was able to change the lines in Hex but now I didn't get it to make sense, hehe.. I think I know what it is though, I didn't think in hex. Oh well.

One thing that's been bugging me.. Do player NAMES actually have properties tied to them? It's probably all in my mind. But even when all players have 100 in all attributes, some of them play different, for example Dino Ciccarelli tends to hit the posts A LOT and Coffey feels a bit better than Lidstrom... Gah, it's driving me nuts, since it doesn't make sense, I don't really belive that it is so. So please tell me there's just a dwarf messing with my mind. :)

Link to comment
Share on other sites

Yeah ok, thanks.. But I didn't see anything similar to that. And btw, what does the "R" stand for? I thought it was rating, but that didn't make sense..

Oops.... sorry dude...

I thought you meant the NOSE editor didn't have support for editing the best lines etc. That's probably happened because in the next sentence you mentioned the possible "Menu Default" support for SNES.... my bad... :unsure:

I'll have a very quick look and see if I can find menu default's in the SNES roms for you....

Link to comment
Share on other sites

Ok I might think I know how to make players either left or right shooters..

In a hex editor, after a players name, there's first his jersey number, then seven numbers that defines stats (turn all these into sixes if you want 100 rated players) then comes the number that defines stick hand, and if I'm not misstaken, an even number defines 'left' and an odd number defines 'right'. (the six numbers after that are also stats, so turn them in to sixes as well for a 100 rated player ;) )

I tried this just now so I'm not all sure about it yet. There are to many leftys for me to create Quebec/Colorado the way I want it so I really had to change some people, and it seemed to have worked. All I did was turn a 4 into a 5. This is probably sooooo basic for you guys, but since I asked about it I just thought I'd tell ya. :)

[Edit]

Just to show you what it is I'm doing...

wwwjarikurriright00007ca.jpgwwwjarikurriright00010iq.jpgwwwjarikurriright00023oq.jpg

:P No, I'm not a Colorado/Quebec fan, I'm trying to do this to all teams... This is just an example. Btw, I'm a Detroit fan :P

I'm creating a version were all player has 100 ratings (To create a faster and much smoother game play. I.e. they can now recive all passes, no passes just bounce of their asses anymore etc. And the other teams players tend to break of passes better, over all a better game. And I also try to bring together the best players of each team, at least over the time I've know NHL, so there are some from back in the 80's, but not before that. :unsure:

Link to comment
Share on other sites

Aargh.. I'm getting a bit fed up with this now. There's something messed up with Philadelphias roster... Mack's and the default rom works fine. But after some "extensive" editing of the flyers roster, the def. lineup gets messed up. If I try to edit the LD or RD in the game, it freezes. I did however notice that 3-4 players (Mack's version) had some extra hex numbers... This got fixed using the nhl94 editor and renaming some players, but I guess it was at this point it got messed up. Gotta have to check this out more tomorrow..

Link to comment
Share on other sites

  • 3 weeks later...

Does anyone know where/how to change the overall team rating? Because that seem to make a LOT of differance on team performance. I've tried and search for a teams rating in most values... Hex, text, string etc.. Can't seem to figure it out.

I.e. Sharks rating is 56, so that would be 38 in hex, but there are soo many 38's in the rom :) Yes, I'm quite a newb at this, that's why I'm talking all weird, and I'm also Swedish.. Well, anyone have any offset where to begin looking or something else? I really have no clue on how to find it. :)

Link to comment
Share on other sites

The overall rating appears to be stored within each team's main data group (lines, roster, team name, venue etc). You can find the hex value of the overall rating two bytes before the line configuration data for the team.

See attached image for an example.

post-11-1139580949_thumb.jpg

Link to comment
Share on other sites

Here you go, I just found the menu default data for NHL94 on SNES.

It starts at the hex offset 000E9EC2 .

More info regarding how the values are stored/canged can be found in this thread.

It's basically the same as Sega except like the storage of the timer data (see the post above), the data is stored in Little Endian (flipped bytes).

So instead of the Team default values of 000B and 000A stored on a Sega ROM, you'll see the SNES ROM stores them as 0B00 and 0A00 etc...

Not to sure what the last two bytes found at 000E9ED0 control... I'll let you find out.... maybe fighting? j/k :)

post-11-1139582880_thumb.jpg

Link to comment
Share on other sites

Oooh, awesome! Thanks a LOT wboy! :) Gonna look into this right after I've had something to eat.. Heh

Edit: Didn't notice any real changes when changing the Team Rating, at least it didn't seem like it was effecting AI teams if it was high or low... But at least it looks good now when it's 100 all the way :D Chaning the default settings was pretty easy when I knew how. Heh.

Made these notes (copy, paste and edit of what wboy posted for Genesis) :

(The first value is the default one)

Game Mode - 0000 for Regular season, 0100 for Continue Playoffs, 0200 for New Playoffs etc.

Home Team - 0B00 (Montreal, 0000 for Anaheim thru 001B for for ASW)

Away Team - 0A00 (Los Angeles)

Per. Length - 0001 - 0000 for 5 min, 0100 for 10 min, 0200 as 20 min (or as hacked)

Penalties - 0000 - Off, 0100 = On, 0200 = Off, No Offside

Line Change - 0000 - Off, 0100 = On, 0200 = Automatic

Goalies - 0000 Manual, 0001 Auto

I'm getting kind of done with my rom I think.. A couple of teams left and some finishing up. Wonder what I should do next. :D

Would be fun to try and make an editor, but I'm far from able to do something like that.. I have some knowledge in Delphi, but it's very limited and was a long time since I used it. And the only thing close to it I did was a profile-stat editor for Delta Force :)

Link to comment
Share on other sites

wboy: You wouldn't happen to know where the default values are for "Defense Ctrl" ? I tried to change some 0000's to 0100 before the place where the text "Defense Ctrl" is.. Wouldn't know any other way how to find it. :o Uhm.. Did you use some kind of disassambler or something to find those default menu settings or what? You hardly found that out by "trial and error" did you? :P

Link to comment
Share on other sites

wboy: You wouldn't happen to know where the default values are for "Defense Ctrl" ? I tried to change some 0000's to 0100 before the place where the text "Defense Ctrl" is.. Wouldn't know any other way how to find it. :o Uhm.. Did you use some kind of disassambler or something to find those default menu settings or what? You hardly found that out by "trial and error" did you? :P

I truely wish I was able to make sense of dissembled code... so believe it or not, everything I've every worked out about any of the roms has been with "trial and error" which is occasionally made a lot easier when you know a bit about how the game stores other similar information.

Re: Defense Ctrl.... I thought it could be the trailing/last 0100 of the menu data that doesn't seem to be used, but that doesn't seem to be the case.

Being a menu driven option, I thought I'd try make/search for my first ever SNES cheat code.... going on the assumption the value 0 was Off and 1 was On... and thankfully had quick success in doing so.

These codes will work from the in-game/pause menu (use SNES9X's or ZSNES cheat utilities to dynamically add these codes after opening the rom):

Address 7E1C90 Value 00 = Automatic Goalie (Game Genie code = DDFB-FA78)

Address 7E1C90 Value 01 = Manual Goalie (Game Genie code = DFFB-FA78)

Address 7E1C94 Value 00 = Defense Ctrl Off (Game Genie code = DDFB-F278)

Address 7E1C94 Value 01 = Defense Ctrl On (Game Genie code = DFFB-F278)

Now supposedly these game genie codes can be converted back to a true rom address (the address above is greater than the size of the rom). I tried doing so using a game genie converter utility, but it still didn't give me a valid rom address. So the game genie code is the best I can offer you! :o

Link to comment
Share on other sites

I truely wish I was able to make sense of dissembled code... so believe it or not, everything I've every worked out about any of the roms has been with "trial and error" which is occasionally made a lot easier when you know a bit about how the game stores other similar information.

- - -

Now supposedly these game genie codes can be converted back to a true rom address (the address above is greater than the size of the rom). I tried doing so using a game genie converter utility, but it still didn't give me a valid rom address. So the game genie code is the best I can offer you! :P

Impressive! Yeah, I'm at least getting an idea of how things are working :blush: Have yet to try out those Game Genie codes though. Thanks once again!

I've done some "digging" myslef, in what each stat number represent... Dropped these conclusions:

Player stats (The individual stats of a player is directly after the player name.)

XX 123456789ABCDE

XX = Jersey # (decimal)

1 = Weight

2 = Agility

3 = Speed

4 = Off. Aware.

5 = Def. Aware.

6 = Shot Power

7 = Checking

8 = Stick hand: Uneven = Right. Even = Left.

9 = Stick Handling

A = Shot Accuracy

B = Endurance

C = ?

D = Passing

E = Aggression

Goalie stats (The individual stats of a player is directly after the player name.)

XX 123456789ABCDE

XX = Jersey # (decimal)

1 = Weight

2 = Agility

3 = Speed

4 = ?

5 = Def. Aware.

6 = Puck Cont.

7 = ? (0)

8 = Handness

9 = ? (0)

A = ? (0)

B = Stick Right

C = Stick Left

D = Glove Right

E = Glove Left

Stats are 0-6 (0 = 25, 1 = 35, 2 = 45, 3 = 55, 4 = 65, 5 = 85, 6 = 100)

Weight is 0-F (0 = 140, 1 = 148, 2 = 156, 3 = 164, 4 = 172, 5 = 180, 6 = 188, 7 = 196, 8 = 204, 9 = 212, A = 220, B = 228, C = 236, D = 244, E = 252, F = 260)

Note: 789A in the goalie stats are almost always 0000, Daren Puppa is one of the few goalies that right handed. Thereby 0100 at those positions to create a right handed goalie.

I tried to make it as clear as possible. I have this info for Sega CD, but haven't found them anywhere for SNES. Hopefully it can help someone. Would be awesome to have a simple player stats editor, might be able to create one with a little help from a firend, but I seriously doubt it, both my own ablitities and that this friend has the time for it. :)

Link to comment
Share on other sites

Xstioph, have you taken a look at the attributes/data descriptions for NHL94 (Genesis) within NOSE? You'll find they are almost, if not completely indentical. Hope the research didn't take you too long! :blush:

The main difference between the SNES and Genesis versions is the name is always padded out to two bytes (e.g. names can end with a space character to effectively make it even length). Also, I think team color info is stored differently.

The XX I believe you are referring to is the length of the players name (+2) to point the game to the jersey no/attrib data.

As for SegaCD structure, it is identical to Genesis.

The biggest reason I haven't added SNES of SEGA CD support just yet is lack of free time... combined with the occasional lack of motovation... programming these things in can take a fair bit of time... and thats not taking into account all the research of the rom structure and test to make sure hacks NOSE creates works as expected.

I may look at adding token support for SNES sooner than anticipated considering thats one thing people are asking for more than anything at the moment. No timelines though sorry.... it'll happen when I get around too it! :)

Link to comment
Share on other sites

Nah, didn't take too long, half an hour or so. Heh. After all, I knew what I was looking for and I've looked it up (half assed anyway) once before. And no I haven't looked at NOSE at all tbh, since I have hardly even played the Genesis version (well I've seen the screehshot of it of course, looks totally awesome! What more can I say? Heh).

Yeah the first XX is jersey atribute.. Didn't know that the last two was the length of the name! That puts everything in a whole new perspective! Since the begining of the first name of the first player in every team always is at the same offset, hmm... Interesting! Gotta look into this some other day.

*takes a look in hex workshop* Aha! Doh! So that's a number that tells the lenght of the player name... And it's before the name? sigh, should have been obvious. I always thought that those numbers belonged to the name before it, since there are two zeros after the length numbers. I hope I don't sound like a german riddle or something. :blush:

So, by counting together a teams total of letters, that's what is the limit for that team... God, I would kill for the source for the "NHL 94 Editor" wakka wakka... I'll end this gibberish now and head for bed. Later! :)

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.

×
×
  • Create New...