Sign in to follow this  

Adding an extra center ice logo to NHL94

Recommended Posts

This is tutorial on how to add an extra rink logo to the NHL94 rom effectively allowing you to give the last ordered team, All Stars West, their own logo instead of sharing it with All Stars East.

The offsets used in this tutorial assume you have taken an unedited NHL94 rom, opened it in NOSE and simply saved and closed it again to allow NOSE to remove the checksum routine found at the end of the ROM.

Open the (checksum removed) ROM in a hex editor. I have personally used Hex Workshop.

Go to hex offset 000FEA74 where you will find the Team Order pointers for Team Logos.

e.g. Bytes: 000EDE8A 000F2A84 000EE194 ..etc.. 000F277A 000F2D8E 000F2D8E

e.g. Teams: Anahiem, Boston, Buffalo ..etc.. Winnipeg, All Stars East, All Stars West

You'll notice the last two offset address pointers for ASE and ASW are identical as they share the same logo and essentially the same home team strip colors.

[Refer attached image asw-rl01.png]

Go to hex offset 000F2D8E, the beginning of the ASE/ASW NHL Logo data. Like the player cards (and pretty much all the graphics stored in the ROM), the tile data is preceeded with 10 bytes of header info.

For all the team logos in the ROM, the header is 00000000 00000000 0018 as none of them contain shared tiles. Hex 18 = 24 tiles (6x4 formation = 24). Each tile is 8x8 (64) pixels. As the tiles are stored in 4bpp linear format, each byte stores two pixels meaning 32 bytes are used to store 1 tile. 24 x 32 = 768. 768 + 10 = 778 bytes. So from this we've calculated the team logo data including the tile header data is 778 decimal, or 30A hex bytes in length.

With the cursor still at offset hex 000F2D8E, use the Select Block feature (under the Edit menu) to highlight the next 30A hex bytes for you.

[Refer attached image asw-rl02.png]

Copy the bytes to the clipboard.

Do a Find on the bytes 60FE, and go to the last found occurence. This is effectively the end of the ROM data.

Make note of the offset. In this example, it is 000FFAC0. It could be greater if you have to previously applied any free byte hacks to you ROM with NOSE.

As before, with the cursor at offset hex 000FFAC0 use the Select Block feature again to highlight the next 30A hex bytes for you.

[Refer attached image asw-rl03.png]

Paste the bytes from the clipboard.

Scroll down to the end of the newly pasted Team Logo data, and manually re-add 60FE after the affected/pasted bytes. The bytes 60FE is actually used as a End of Data like flag by NOSE, so it is important you put it back it

[Refer attached image asw-rl04.png]

Do a Find on the bytes 000F2D8E, and go to the last found occurence. This is Team Logo pointer for ASW.

Change this offset to the offset you made note of before. Again, in this example that means the offset 000FFAC0.

[Refer attached image asw-rl05.png]

Save and close the ROM within the hex editor.

Open the ROM in the most recent version of Tile Molester. Set the codec to 4bpp linear. Import the internal palette (this file) using the decimal offset of the ASW team. This can be easily obtain from within NOSE.

NOTE: this offset can change if you have edited the roster and shifted around free bytes in the ROM you are using.

[Refer attached image asw-rl06.png]

To go to the start of the team logo, go to the previously noted hex offset + Hex A to skip to 10 header bytes. As per this example, that means hex offset 000FFACA.

Set the tile formation to 6x4 bytes to properly display the team logo.

[Refer attached image asw-rl07.png]

Edit/replace the team logo as appropriate. In the attached example, I have keep the same logo and palette, but simply used the color replacement tool to make ASW NHL Team Logo look more like the current NHL Logo.

[Refer attached image asw-rl08.png]

Save and Close the rom within Tile Molester. Test out the results in your emulator of choice.

Then End.









  • Thanks 1

Share this post

Link to post
Share on other sites

without going into to much detail....pretty much yes...

its good to see you've learnt from the player card tutorial and seen other ways in which you can use the knowledge gained elsewhere. A+ for you! ;)

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.

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.

Sign in to follow this