northstar91

SNES NHL94 ROM Mapping Project

Recommended Posts

Offset D50B6 and now:

98 7F = ice color.

BD 7F = center area of the lights reflection and nets / glasses seams

BA 7F = lights reflection and shades of the glass at the bottom of the rink / ice in the referee window

7B 6F = menu frame, letters (menu, team abbreviations, time, players...), part of the goal posts, face off spots, thin white lines surrounding red lines, circles and semi-circles around the goals

00 00 = do not edit, almost all black used in the arena, audience, menus

D6 5A = rink boards, upper area

AD 35 and 29 25 = do not edit

DB 5A = thin lines surrounding red lines, face off spots (four pixels)

5F 4A = red lines and circles, referee's faces

3B 35 = red lines, circles and face off spots, referee's faces

4D 6E = blue lines, star indicators, centre of the puck

DB 12 = boards (bottom area) and „walls“ behind the benches

D2 7E = blue lines, star indicators, crease, GOAL font (in the box with a scoring player and assists)

84 10 = do not edit

72 7F = blue lines, star indicators, crease


"Do not edit" values and other values behind 72 7F are values for referee's uniform, menu background, audience or for the graphics I did not spot.

If you want to alter colors of the original graphics and my description is not good enough, alter the original values to 00 00 (black color) and you will have an idea what graphics are affected by the values above.

Edited by DominikJagr

Share this post


Link to post
Share on other sites

D5156 - D5197 - center ice logos palette

Can be rewritten with the "ice color" value (see above) and get logos disabled. More details here.

Share this post


Link to post
Share on other sites

DJ rocks, for sure. this thread is awesome and it's getting better!

disabling center ice logos....for *all* teams....offset D5156....

33 67 29 25 D6 5A 29 25 F7 5E 54 21

99 0A 2D 76 BF 36 32 25 39 32 31 6F

70 36 D6 31 12 42 D7 41 EC 03 18 63

73 4E 29 25 73 4E F5 11 55 1E 29 25

6B 3D 29 35 67 11 93 62 36 1D 52 29

FC 1D 17 36 98 7F

....new values....

98 7F 98 7F 98 7F 98 7F 98 7F 98 7F

98 7F 98 7F 98 7F 98 7F 98 7F 98 7F

98 7F 98 7F 98 7F 98 7F 98 7F 98 7F

98 7F 98 7F 98 7F 98 7F 98 7F 98 7F

98 7F 98 7F 98 7F 98 7F 98 7F 98 7F

98 7F 98 7F 98 7F

....98 7F is the original ice color, when altering ice color....use your new values....

Edited by tru

Share this post


Link to post
Share on other sites

....other values behind 72 7F are values for referee's uniform, menu background...alter the original values to 00 00 (black color) and you will have an idea what graphics are affected by the values....

I'm wondering if this could be used to be rid of more logos and branding like in the menus and stats pages. could it change the referees' skin tone to something less weird? is the gameclock here? any further mapping is encouraged. is a color chart possible or are there too many palettes in play? can allstars having two portraits help make a cheatsheet for portrait color changes?

typing of portraits, I'm adding the following selfishly so I can more easily find the chart in this thread that I use the most often:

Player-to-Portrait pointer table

In the SNES version of the game, each team has 26 picture pointers allocated to it. This means each team can have up to 26 players with portraits. In the original NHL 94 ROM, only 6 players on each team (the starting lineup) actually have portraits, so their pointers point to their portraits, and the remaining pointers point to generic pictures. The exception to this is the All Star teams, which use most of their pointers, since most of the players are starting players on their normal teams.

Within each team, the pointers go in the same order as the team roster data (goalies, then forwards, then defensemen). If the team doesn't have 26 players (none do, actually), then extra pointers still point to generic pictures.

Starting at @0ecd53, there is a massive pointer table with 26 pointers for 28 teams. That's 728 pointers!

As a pointer is 4 bytes and each team has 26 pointers, this means the start of each team is separated by 104 bytes ($68 bytes).

@0ECD53 - ANA (1st: Hebert, 4th: Loney, 6th: Yake, 8th: Semenov 12th: Kasatonov, 14th: Ladouceur)

@0ECDBB - BOS

@0ECE23 - BUF

@0ECE8B - CGY

@0ECEF3 - CHI

@0ECF5B - DAL

@0ECFC3 - DET

@0ED02B - EDM

@0ED093 - FLA

@0ED0FB - HFD

@0ED163 - L.A

@0ED1CB - MTL

@0ED233 - N.J

@0ED29B - NYI

@0ED303 - NYR

@0ED36B - OTT

@0ED3D3 - PHI

@0ED43B - PIT

@0ED4A3 - QUE

@0ED50B - S.J

@0ED573 - STL

@0ED5DB - T.B

@0ED643 - TOR

@0ED6AB - VAN

@0ED713 - WSH

@0ED77B - WPG

@0ED7E3 - ASE

@0ED84B - ASW

For example, if you go to @0ecd53 in the ROM (Anaheim) (remember my offsets are headless! Add $200 if you have a header), the first pointer is $36ac9900. In data bank notation: $0099:ac36. Rom offset: @0cac36. So, Hebert's picture is stored at @0cac36....The next pointer is $4EC69900. If you skip ahead $68 bytes (104 decimal), you'll see that the same pointer appears again. This is the generic goalie picture that the backup goalies use. A few teams don't have backups (NYI, NYR, to name two).

remember to change goalie player card images if you change a team's number of goalies, as goalies look different from the rest of the players. Edited by tru

Share this post


Link to post
Share on other sites

I'm wondering if this could be used to be rid of more logos and branding like in the menus and stats pages. could it change the referees' skin tone to something less weird? is the gameclock here? any further mapping is encouraged. is a color chart possible or are there too many palettes in play?

I'm adding the following selfishly so I can more easily find the chart in this thread that I use the most often:

remember to change goalie player card images if you change a team's number of goalies.

Menu/stats logos are located somewhere else, more info already posted, here, if you mean this.

With referees' skin, gameclock and other graphics or palettes it's complicated as these palettes are used for some other graphics as well. For instance altering referees' skin automatically alters colors somewhere in the menus or at the rink etc.

I would like to see the color chart too, it would be very useful.

Share this post


Link to post
Share on other sites

somebody asked about sounds/songs and I said I'd look through the ROM for the stuff I assume is audio, wherever you find "TRAK" in the hex. you'd find such stuff at ~077FFF, ~084444 to ~086333, ~09EEEE to ~0A0000, ~0B1DDD to ~0D3CCC. I have not tested anything about this.

Share this post


Link to post
Share on other sites

IIRC I tested these TRAK locations, rewrote everything to 00, had no effect on organ music during the game.

Share this post


Link to post
Share on other sites

Great thread. 2 things that I am looking to get answers for. 1st, change penalties to 1min. 2nd, how to get the extra attacker on the ice, besides pulling the goalie. so basically 6 skaters and the goalie.

Share this post


Link to post
Share on other sites

well, I changed the second roughing penalty to five minutes in my ROMs, so trying to find that change -- near the beginning of the ROM data, I believe -- may clue you in on that issue. maybe search the original for the word "roughing" and mine for "head hit" will get you near to the change. you'd be looking for the value that is not repeated, one that is different from the others. in trying to address this years ago -- but long after I made that change -- I thought it was a simple change from "2" to "5," but that appears to be incorrect, so it must be a hex value equivalent that would need to be changed. this shouldn't be too hard, but I don't have any notes on exactly what I did. however, considering it was one of the first things I did -- or something that I did at all -- any intelligent hacker should be able to assist.

Share this post


Link to post
Share on other sites

dead SNES '94 ROM hacking community, huh?  Clockwise was nice enough to come by my profile to show his evil attitude, displaying pleasure in my absence.  the reformatting of this message board really killed it, huh?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now